<?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>225515</bug_id>
          
          <creation_ts>2021-05-07 08:50:13 -0700</creation_ts>
          <short_desc>[macOS] Set the -isSourceEditable property when presenting webpage translation popup</short_desc>
          <delta_ts>2021-05-07 13:28:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>annulen</cc>
    
    <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>japhet</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1757877</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-07 08:50:13 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757880</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-07 08:52:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/77658040&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757908</commentid>
    <comment_count>2</comment_count>
      <attachid>428008</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-07 10:26:24 -0700</bug_when>
    <thetext>Created attachment 428008
For EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757913</commentid>
    <comment_count>3</comment_count>
      <attachid>428010</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-07 10:37:01 -0700</bug_when>
    <thetext>Created attachment 428010
Fix CMake build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757931</commentid>
    <comment_count>4</comment_count>
      <attachid>428010</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-07 11:23:15 -0700</bug_when>
    <thetext>Comment on attachment 428010
Fix CMake build

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

Thanks for the review!

&gt; Source/WebCore/page/ContextMenuClient.h:38
&gt; +#if HAVE(TRANSLATION_UI_SERVICES) &amp;&amp; ENABLE(CONTEXT_MENUS)

(I just noticed that this ENABLE(CONTEXT_MENUS) is redundant, since this header is already wrapped in a ENABLE(CONTEXT_MENUS). I&apos;ll remove this before landing)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757944</commentid>
    <comment_count>5</comment_count>
      <attachid>428017</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-07 11:56:00 -0700</bug_when>
    <thetext>Created attachment 428017
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757978</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-07 13:28:10 -0700</bug_when>
    <thetext>Committed r277196 (237468@main): &lt;https://commits.webkit.org/237468@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428017.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428008</attachid>
            <date>2021-05-07 10:26:24 -0700</date>
            <delta_ts>2021-05-07 10:37:25 -0700</delta_ts>
            <desc>For EWS</desc>
            <filename>bug-225515-20210507102624.patch</filename>
            <type>text/plain</type>
            <size>36597</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI0ZjM5NmIyY2EyOWJj
OTkxMjI0NTE3N2JiZGIxY2Y4OTkxNTRjNS4uZjYyZjYxMzYzYjdkZWMxZWI4ZTY3YjNjODQ1ZjIw
M2NhNDI1ODc5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA1LTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0
IHRoZSAtaXNTb3VyY2VFZGl0YWJsZSBwcm9wZXJ0eSB3aGVuIHByZXNlbnRpbmcgd2VicGFnZSB0
cmFuc2xhdGlvbiBwb3B1cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI1NTE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NzY1ODA0MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXQgYC1bTFRVSVRy
YW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgaXNTb3VyY2VFZGl0YWJsZV1gIHRvIGBZRVNgIHdoZW4g
c2hvd2luZyB0aGUgY29udGV4dCBtZW51IGZvciBlZGl0YWJsZQorICAgICAgICBjb250ZW50LiBJ
bnN0ZWFkIG9mIHBsdW1iaW5nIGFub3RoZXIgYm9vbGVhbiBmbGFnIHRocm91Z2ggYENvbnRleHRN
ZW51Q2xpZW50YCBhbmQgaW50byB0aGUgY2xpZW50IGxheWVycyB0aHJvdWdoCisgICAgICAgIGBo
YW5kbGVUcmFuc2xhdGlvbigpYCwgd2Ugcm9sbCBhbGwgb2YgdGhlIHdlYnBhZ2UgdHJhbnNsYXRp
b24gY29udGV4dCBtZW51IHBhcmFtZXRlcnMgaW50byBhIHNpbmdsZSBvYmplY3QKKyAgICAgICAg
KGBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mb2ApLCBpbmNsdWRpbmcgYSBuZXcgZmxhZyBpbmRp
Y2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZSB0cmFuc2xhdGlvbiBjb250cm9sbGVyIHNob3VsZAor
ICAgICAgICBiZSBzaG93biBpbiAiZWRpdGFibGUiIG1vZGUuCisKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHA6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNsaWVudC5oOgorICAgICAgICAqIHBh
Z2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRN
ZW51Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQpOgorICAgICAgICAqIHBhZ2Uv
VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaDogQWRkZWQuCisKKyAgICAgICAgUHVsbCB0aGUg
dHJhbnNsYXRlZCB0ZXh0IHN0cmluZywgc2VsZWN0aW9uIGJvdW5kcywgbWVudSBsb2NhdGlvbiwg
YW5kIHRoZSBuZXcgbW9kZSBmbGFnIGludG8gYSBzZXBhcmF0ZSBzdHJ1Y3QuCisKKyAgICAgICAg
KFdlYkNvcmU6OlRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvOjplbmNvZGUgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm86OmRlY29kZSk6CisKIDIw
MjEtMDUtMDcgIENhcmxvcyBHYXJuYWNobyAgPGNhcmxvc2dAZ25vbWUub3JnPgogCiAgICAgICAg
IFtHVEs0XSBSZXdyaXRlIEdUSyBnZXN0dXJlIHN1cHBvcnQgdG8gd29yayBmb3IgYm90aCAzLngg
YW5kIDQueC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggN2ZhZjFlNmQxMjc3MTA2YzdiYmZlMWMyOTdmYmE0MDRiZGI3
MzFlNS4uYWM1MjU1NjM3YTUyNTgzOTMyMWU2NjcwZWQxNmZhY2EzNTM0YjBkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzMSBAQAorMjAyMS0wNS0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVo
QGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIFNldCB0aGUgLWlzU291cmNlRWRpdGFibGUg
cHJvcGVydHkgd2hlbiBwcmVzZW50aW5nIHdlYnBhZ2UgdHJhbnNsYXRpb24gcG9wdXAKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTUxNQorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNzc2NTgwNDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgU2VlIFdlYkNvcmUvQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFp
bHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlv
bik6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
SW1wbDo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNz
L1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9Q
YWdlQ2xpZW50SW1wbE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6Omhh
bmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L21hYy9XZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29udGV4dE1lbnVDbGllbnQ6OmhhbmRsZVRyYW5zbGF0aW9uKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisKIDIwMjEtMDUtMDcgIENhcmxvcyBHYXJuYWNobyAgPGNhcmxv
c2dAZ25vbWUub3JnPgogCiAgICAgICAgIFtHVEs0XSBSZXdyaXRlIEdUSyBnZXN0dXJlIHN1cHBv
cnQgdG8gd29yayBmb3IgYm90aCAzLnggYW5kIDQueC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxv
ZwppbmRleCAzMzFjZjg5YTA2NGI2YTFjZDFjMDdjN2I4NGEyODQxNDZiNGM1ZDE4Li5iNzE5MzBj
OGFlYjNjYmVkYjBkNGI2ZTQ5NDY1YTg4YTI3ZGZkMTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDUtMDcgIFdlbnNvbiBIc2llaCAgPHdlbnNv
bl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBTZXQgdGhlIC1pc1NvdXJjZUVk
aXRhYmxlIHByb3BlcnR5IHdoZW4gcHJlc2VudGluZyB3ZWJwYWdlIHRyYW5zbGF0aW9uIHBvcHVw
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU1MTUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc3NjU4MDQwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlZSBXZWJDb3JlL0NoYW5nZUxvZyBmb3IgbW9y
ZSBkZXRhaWxzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGll
bnQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5tbToK
KyAgICAgICAgKFdlYkNvbnRleHRNZW51Q2xpZW50OjpoYW5kbGVUcmFuc2xhdGlvbik6CisgICAg
ICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAgICAoLVtXZWJWaWV3IF9oYW5kbGVDb250
ZXh0TWVudVRyYW5zbGF0aW9uOl0pOgorICAgICAgICAoLVtXZWJWaWV3IF9oYW5kbGVDb250ZXh0
TWVudVRyYW5zbGF0aW9uOnNlbGVjdGlvbkJvdW5kczptZW51TG9jYXRpb246XSk6IERlbGV0ZWQu
CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaDoKKwogMjAyMS0wNS0wNCAgQWxl
eCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92
ZSB1bnVzZWQgcmVmZXJlbmNlcyB0byBQYWdlR3JvdXAgZnJvbSBXZWJLaXRMZWdhY3kKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBm
MTkzNTNjOWYxYjk1NWU1NGQzZDFhMjFkOTMzZTZjMmE0N2M2MzAzLi41MGMwYWE2NDMzMDhmMWIy
NWU0ZDlkNmNhNzBiZWFlYTEwZjVkNGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01MzM4LDYgKzUzMzgsNyBAQAogCQlGNDgy
MjMxMTFFMzg2OUI4MDA2NkZDNzkgLyogV2ViSXRlbVByb3ZpZGVyUGFzdGVib2FyZC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ4MjIzMEYxRTM4NjlC
ODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDgyMjMxMzFFMzg2RTI0MDA2NkZD
NzkgLyogQWJzdHJhY3RQYXN0ZWJvYXJkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGNDgyMjMxMjFFMzg2RTI0MDA2NkZDNzkgLyogQWJzdHJhY3RQYXN0
ZWJvYXJkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJRjQ4MjQzNEIyNjBDMzMwNjAwMjI0OTdDIC8qIEltYWdlT3ZlcmxheUNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0ODI0MzQ4MjYw
QzMyRjEwMDIyNDk3QyAvKiBJbWFnZU92ZXJsYXlDb250cm9sbGVyLmggKi87IH07CisJCUY0ODU3
MEE1MjY0NEM3NkQwMEMwNUY3MSAvKiBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mby5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ4NTcwQTQyNjQ0Qzc2
RDAwQzA1RjcxIC8qIFRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQ4QjdENTMyNUMzNDFFNjAwOUU3
NUREIC8qIEltYWdlRXh0cmFjdGlvblJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ4QjdENTIyNUMzNDFFNjAwOUU3NUREIC8qIEltYWdlRXh0
cmFjdGlvblJlc3VsdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUY0OEQyQTZDMjE1NjIzQjQwMEM2NzUyQiAvKiBGb250U2hhZG93LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDhEMkE2QTIxNTYyM0I0
MDBDNjc1MkIgLyogRm9udFNoYWRvdy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUY0OEQyQTdFMjE1NzE4MjYwMEM2NzUyQiAvKiBGb250QXR0cmli
dXRlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ4
RDJBNzEyMTU2REMwQTAwQzY3NTJCIC8qIEZvbnRBdHRyaWJ1dGVzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTE2Nzk2LDYgKzE2Nzk3LDcgQEAK
IAkJRjQ4MjQzNEEyNjBDMzJGMTAwMjI0OTdDIC8qIEltYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VPdmVybGF5Q29udHJvbGxlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0ODM4OTgzMUUxRERGMkIwMDc2QjdFQSAvKiBEdW1wRWRp
dGluZ0hpc3RvcnkuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IG5hbWUgPSBE
dW1wRWRpdGluZ0hpc3RvcnkuanM7IHBhdGggPSBTY3JpcHRzL0R1bXBFZGl0aW5nSGlzdG9yeS5q
czsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ4Mzg5ODQxRTFEREYyQjAwNzZCN0VB
IC8qIEVkaXRpbmdIaXN0b3J5VXRpbC5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlw
dDsgbmFtZSA9IEVkaXRpbmdIaXN0b3J5VXRpbC5qczsgcGF0aCA9IFNjcmlwdHMvRWRpdGluZ0hp
c3RvcnlVdGlsLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNDg1NzBBNDI2NDRD
NzZEMDBDMDVGNzEgLyogVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRjQ4QjdENTIyNUMzNDFFNjAwOUU3NUREIC8qIEltYWdlRXh0cmFjdGlvblJlc3VsdC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbWFnZUV4dHJhY3Rpb25SZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRjQ4RDJBNkEyMTU2MjNCNDAwQzY3NTJCIC8qIEZvbnRTaGFkb3cuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRm9udFNoYWRvdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGNDhEMkE3MTIxNTZEQzBBMDBDNjc1MkIgLyogRm9udEF0dHJpYnV0ZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRm9udEF0dHJpYnV0ZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIy
NTE3LDYgKzIyNTE5LDcgQEAKIAkJCQlCQzRBNTMyNDI1NjA1NTU5MDAyOEM1OTIgLyogVGV4dERp
cmVjdGlvblN1Ym1lbnVJbmNsdXNpb25CZWhhdmlvci5oICovLAogCQkJCTJENEY5NkYxMUExRUND
MjQwMDk4QkY4OCAvKiBUZXh0SW5kaWNhdG9yLmNwcCAqLywKIAkJCQkyRDRGOTZGMjFBMUVDQzI0
MDA5OEJGODggLyogVGV4dEluZGljYXRvci5oICovLAorCQkJCUY0ODU3MEE0MjY0NEM3NkQwMEMw
NUY3MSAvKiBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mby5oICovLAogCQkJCUY0RTE5NjVGMjFG
MjZFNEUwMDI4NTA3OCAvKiBVbmRvSXRlbS5jcHAgKi8sCiAJCQkJMkVDREJBRDUyMUQ4OTA2MzAw
RjAwRUNEIC8qIFVuZG9JdGVtLmggKi8sCiAJCQkJMkVDREJBRDcyMUQ4OTA2MzAwRjAwRUNEIC8q
IFVuZG9JdGVtLmlkbCAqLywKQEAgLTMxNDI2LDcgKzMxNDI5LDYgQEAKIAkJCQkzMUE3OTVDNzE4
ODhCQ0IyMDAzODJGOTAgLyogQU5HTEVJbnN0YW5jZWRBcnJheXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTQ5RTkxMkFCMEVGQUM5MDYwMDlEMENBRiAvKiBBbmltYXRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTcxRUZDRURDMjAyQjM4QTkwMEQ3QzQxMSAvKiBBbmltYXRpb25FZmZlY3QuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTQ0OUQ4NjRGMjY0MEM5QzUwMDAxMjJERSAvKiBIaWdobGlnaHRWaXNp
YmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MUUyQzQyNjIxQzkzNTI4MDAyNEY4QzggLyog
QW5pbWF0aW9uRWZmZWN0UGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxOTg0ODAxMUExRDgx
N0IwMEExMzMxOCAvKiBBbmltYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzExQUQx
MjYyMzZEODZFNTAwNkZGMzdDIC8qIEFuaW1hdGlvbkV2ZW50QmFzZS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zMjY0NSw2ICszMjY0Nyw3IEBACiAJCQkJNDQzMEQwMEIyNTc1QTgzRTAwNDZENDAxIC8q
IEhpZ2hsaWdodC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDRkFCQkQxOEMwQUY3ODAwNkY4NDUw
IC8qIEhpZ2hsaWdodERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0MzBEMDBEMjU3NUE4QTUw
MDQ2RDQwMSAvKiBIaWdobGlnaHRSZWdpc3Rlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDQ5RDg2
NEYyNjQwQzlDNTAwMDEyMkRFIC8qIEhpZ2hsaWdodFZpc2liaWxpdHkuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDOTREMTU0MEMyNzVDOEIwMDZCQzYxNyAvKiBIaXN0b3J5LmggaW4gSGVhZGVycyAq
LywKIAkJCQk5N0RDRTIwMjEwODA3Qzc1MDA1N0QzOTQgLyogSGlzdG9yeUNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxNzQxRDExMEIwNzI1OUEwMEVENDQyQyAvKiBIaXN0b3J5SXRl
bS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNDg4Myw3ICszNDg4Niw2IEBACiAJCQkJRTQ2QjQxRjkx
Q0IyNEU3MDAwOEYxMURFIC8qIFNjcmlwdERpc2FsbG93ZWRTY29wZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDk5OEFFRDIxM0ZCMjI0RDAwOTBCMUFBIC8qIFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhBNDg0NzgwRTUyNzJDNTAwQzNGRTc2IC8qIFNj
cmlwdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUU0RDg2RTZEMjY0MDM5NEMwMEI2MjQy
NSAvKiBTdHlsZVNjb3BlT3JkaW5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTNFNEUyQTgxRTNC
MTcxMDAwMjNCQjhBIC8qIFNjcmlwdEVsZW1lbnRDYWNoZWRTY3JpcHRGZXRjaGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMTFDOUQ5QjBFQjM2ODEyMDBFNDA5REIgLyogU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDExMjIzQkEyNjAyNDRGRTAwQjBBMEI2IC8q
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKQEAgLTM1
MTk5LDYgKzM1MjAxLDcgQEAKIAkJCQlFNDk0NkVBRjE1NkU2NEREMDBEMzI5N0YgLyogU3R5bGVS
dWxlSW1wb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjk0RjM3RTIzNjYxNjI2MDAzQUE1Qzcg
LyogU3R5bGVSdWxlVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ2MUQ2NUYxQkIwQzgwRDAw
Q0I1NjQ1IC8qIFN0eWxlU2NvcGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUU0RDg2RTZEMjY0MDM5
NEMwMEI2MjQyNSAvKiBTdHlsZVNjb3BlT3JkaW5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEE0
RjQ4QUExNkIwREZDMDAwRURCQjI5IC8qIFN0eWxlU2NvcGVSdWxlU2V0cy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRjQ3QTVFM0UxOTVCOEM4QTAwNDgzMTAwIC8qIFN0eWxlU2Nyb2xsU25hcFBvaW50
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUQ2MzgwMTAxQUYxNzMyMjAwMzFBMTVDIC8qIFN0eWxl
U2VsZkFsaWdubWVudERhdGEuaCBpbiBIZWFkZXJzICovLApAQCAtMzU1MzcsNiArMzU1NDAsNyBA
QAogCQkJCTQxNkU2RkU4MUJCRDEyREYwMDBBM0Y3NCAvKiBUcmFuc2Zvcm1TdHJlYW1JbnRlcm5h
bHNCdWlsdGlucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE3QjQ5MTYxNkE5QjA5NDAwMUM4ODM5
IC8qIFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlFOTExRDIwRUY4NkQ0
NzAwOUQwQ0FGIC8qIFRyYW5zbGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRjQ4NTcwQTUyNjQ0Qzc2RDAwQzA1RjcxIC8qIFRyYW5zbGF0aW9uQ29udGV4dE1lbnVJ
bmZvLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTRGRTczNzBBMjI5N0JFMDA1OEQ3QUQgLyogVHJh
dmVyc2FsLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0ZENDI5ODExODM2ODQ2MDA5M0MwMjkgLyog
VHJlZURlcHRoTGltaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0RDY0QjVEMTM0QTVCNkIwMEU1
OEZEQSAvKiBUcmVlU2NvcGUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmNwcAppbmRleCBmMWM2ZTIzYThiN2JhOWQ2MDVkYWEzMTExY2U5NzAwZGYwMzA2
MWIwLi5kOWUwMzg3Yzk2YjI4ZDM4N2FiY2I4YjE3NzNiMDEwYmIyMDY3MzVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtMTIwLDcgKzEyMCw3IEBAIGNsYXNzIEVt
cHR5Q29udGV4dE1lbnVDbGllbnQgZmluYWwgOiBwdWJsaWMgQ29udGV4dE1lbnVDbGllbnQgewog
I2VuZGlmCiAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQotICAgIHZvaWQgaGFu
ZGxlVHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFBv
aW50JikgZmluYWwgeyB9CisgICAgdm9pZCBoYW5kbGVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xh
dGlvbkNvbnRleHRNZW51SW5mbyYpIGZpbmFsIHsgfQogI2VuZGlmCiAKICNpZiBQTEFURk9STShH
VEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50LmgKaW5kZXggY2MzMDFiNmYw
OTJlMTBlOTJjZDI1NGQ5NmNiMWUyN2U1OTE5M2MyNi4uZDg3MGNiNDU2MzE0MDYxNTQ2YjUzZTY2
NDVmMjQ0OTZlNTlmOWZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0
TWVudUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQu
aApAQCAtMzUsNiArMzUsMTAgQEAgY2xhc3MgRnJhbWU7CiBjbGFzcyBJbnRQb2ludDsKIGNsYXNz
IEludFJlY3Q7CiAKKyNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKK3N0cnVjdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbzsKKyNlbmRp
ZgorCiBjbGFzcyBDb250ZXh0TWVudUNsaWVudCB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+Q29u
dGV4dE1lbnVDbGllbnQoKSA9IGRlZmF1bHQ7CkBAIC00OCw3ICs1Miw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgc3RvcFNwZWFraW5nKCkgPSAwOwogCiAjaWYgSEFWRShUUkFOU0xBVElP
Tl9VSV9TRVJWSUNFUykKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlVHJhbnNsYXRpb24oY29uc3Qg
U3RyaW5nJiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFBvaW50JikgPSAwOworICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5m
byYpID0gMDsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXggOTJlNmY0YzNiZDRmNTgwNWQx
ODUwYzFjZGM3ZjM2OTczZThiM2Q5Zi4uYzg0YzMyZTVhMjhiYmFkYjM1ZTllOGU1NWEzYzk3YmNl
MjgwOWM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2lu
Y2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAi
VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaCIKICNpbmNsdWRlICJUeXBpbmdDb21tYW5kLmgi
CiAjaW5jbHVkZSAiVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCIKICNpbmNsdWRlICJXaW5k
b3dGZWF0dXJlcy5oIgpAQCAtNTI3LDkgKzUyOCwxMiBAQCB2b2lkIENvbnRleHRNZW51Q29udHJv
bGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVBY3Rpb24gYWN0aW9uLCBj
bwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlOgogI2lmIEhBVkUoVFJBTlNM
QVRJT05fVUlfU0VSVklDRVMpCiAgICAgICAgIGlmIChhdXRvIHZpZXcgPSBtYWtlUmVmUHRyKGZy
YW1lLT52aWV3KCkpKSB7Ci0gICAgICAgICAgICBhdXRvIHNlbGVjdGlvbkJvdW5kcyA9IHZpZXct
PmNvbnRlbnRzVG9Sb290VmlldyhlbmNsb3NpbmdJbnRSZWN0KGZyYW1lLT5zZWxlY3Rpb24oKS5z
ZWxlY3Rpb25Cb3VuZHMoKSkpOwotICAgICAgICAgICAgYXV0byBsb2NhdGlvbiA9IHZpZXctPmNv
bnRlbnRzVG9Sb290VmlldyhtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLnJvdW5kZWRQb2ludElu
SW5uZXJOb2RlRnJhbWUoKSk7Ci0gICAgICAgICAgICBtX2NsaWVudC5oYW5kbGVUcmFuc2xhdGlv
bihtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLnNlbGVjdGVkVGV4dCgpLCBzZWxlY3Rpb25Cb3Vu
ZHMsIGxvY2F0aW9uKTsKKyAgICAgICAgICAgIG1fY2xpZW50LmhhbmRsZVRyYW5zbGF0aW9uKHsK
KyAgICAgICAgICAgICAgICBtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLnNlbGVjdGVkVGV4dCgp
LAorICAgICAgICAgICAgICAgIHZpZXctPmNvbnRlbnRzVG9Sb290VmlldyhlbmNsb3NpbmdJbnRS
ZWN0KGZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb25Cb3VuZHMoKSkpLAorICAgICAgICAgICAg
ICAgIHZpZXctPmNvbnRlbnRzVG9Sb290VmlldyhtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLnJv
dW5kZWRQb2ludEluSW5uZXJOb2RlRnJhbWUoKSksCisgICAgICAgICAgICAgICAgbV9jb250ZXh0
LmhpdFRlc3RSZXN1bHQoKS5pc0NvbnRlbnRFZGl0YWJsZSgpID8gVHJhbnNsYXRpb25Db250ZXh0
TWVudU1vZGU6OkVkaXRhYmxlIDogVHJhbnNsYXRpb25Db250ZXh0TWVudU1vZGU6Ok5vbkVkaXRh
YmxlLAorICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICNlbmRpZgogICAgICAgICBicmVhazsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVHJhbnNsYXRpb25Db250ZXh0TWVudUlu
Zm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jNTRhNGUxNDcxZWYzMjE5Y2NiYzY1YzBkMWQwMGNiMzc2ZGYwOWM4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9UcmFuc2xhdGlvbkNvbnRleHRNZW51
SW5mby5oCkBAIC0wLDAgKzEsOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQor
CisjaW5jbHVkZSAiSW50UG9pbnQuaCIKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSA8
d3RmL0VudW1UcmFpdHMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIFRyYW5zbGF0aW9uQ29udGV4dE1lbnVNb2Rl
IDogYm9vbCB7IE5vbkVkaXRhYmxlLCBFZGl0YWJsZSB9OworCitzdHJ1Y3QgVHJhbnNsYXRpb25D
b250ZXh0TWVudUluZm8geworICAgIFN0cmluZyB0ZXh0OworICAgIEludFJlY3Qgc2VsZWN0aW9u
Qm91bmRzSW5Sb290VmlldzsKKyAgICBJbnRQb2ludCBsb2NhdGlvbkluUm9vdFZpZXc7CisgICAg
VHJhbnNsYXRpb25Db250ZXh0TWVudU1vZGUgbW9kZSB7IFRyYW5zbGF0aW9uQ29udGV4dE1lbnVN
b2RlOjpOb25FZGl0YWJsZSB9OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBl
bmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRp
YyBPcHRpb25hbDxUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbz4gZGVjb2RlKERlY29kZXImKTsK
K307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgVHJhbnNsYXRpb25Db250ZXh0TWVu
dUluZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwg
dGV4dDsKKyAgICBlbmNvZGVyIDw8IHNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXc7CisgICAgZW5j
b2RlciA8PCBsb2NhdGlvbkluUm9vdFZpZXc7CisgICAgZW5jb2RlciA8PCBtb2RlOworfQorCit0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBPcHRpb25hbDxUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5m
bz4gVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm86OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQor
eworICAgIE9wdGlvbmFsPFN0cmluZz4gdGV4dDsKKyAgICBkZWNvZGVyID4+IHRleHQ7CisgICAg
aWYgKCF0ZXh0KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8
SW50UmVjdD4gc2VsZWN0aW9uQm91bmRzSW5Sb290VmlldzsKKyAgICBkZWNvZGVyID4+IHNlbGVj
dGlvbkJvdW5kc0luUm9vdFZpZXc7CisgICAgaWYgKCFzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3
KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9uYWw8SW50UG9pbnQ+
IGxvY2F0aW9uSW5Sb290VmlldzsKKyAgICBkZWNvZGVyID4+IGxvY2F0aW9uSW5Sb290VmlldzsK
KyAgICBpZiAoIWxvY2F0aW9uSW5Sb290VmlldykKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKworICAgIE9wdGlvbmFsPFRyYW5zbGF0aW9uQ29udGV4dE1lbnVNb2RlPiBtb2RlOworICAg
IGRlY29kZXIgPj4gbW9kZTsKKyAgICBpZiAoIW1vZGUpCisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisKKyAgICByZXR1cm4ge3sgV1RGTW92ZSgqdGV4dCksIFdURk1vdmUoKnNlbGVjdGlv
bkJvdW5kc0luUm9vdFZpZXcpLCBXVEZNb3ZlKCpsb2NhdGlvbkluUm9vdFZpZXcpLCAqbW9kZSB9
fTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2UgV1RGIHsKKwordGVt
cGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51
TW9kZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgICAgIFdlYkNvcmU6
OlRyYW5zbGF0aW9uQ29udGV4dE1lbnVNb2RlLAorICAgICAgICBXZWJDb3JlOjpUcmFuc2xhdGlv
bkNvbnRleHRNZW51TW9kZTo6Tm9uRWRpdGFibGUsCisgICAgICAgIFdlYkNvcmU6OlRyYW5zbGF0
aW9uQ29udGV4dE1lbnVNb2RlOjpFZGl0YWJsZQorICAgID47Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXVEYKKworI2VuZGlmIC8vIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJM
RShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCA4ZWRjMDg1ZWZjYmYyN2RiODk1NzQ2ZDdiZDNmNGQ3
Y2I0MWFjOGQyLi40YjVkYjIxNTMwNzg0MjYzNzgzOTM4ZGJmZmMyMjViMThlOWM2NGZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5t
bQpAQCAtNjI2LDkgKzYyNiw5IEBAIGJvb2wgV2ViUGFnZVByb3h5OjpjYW5IYW5kbGVDb250ZXh0
TWVudVRyYW5zbGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gcGFnZUNsaWVudCgpLmNhbkhhbmRs
ZUNvbnRleHRNZW51VHJhbnNsYXRpb24oKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRs
ZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBXZWJDb3Jl
OjpJbnRSZWN0JiBib3VuZHNJblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlv
bkluVmlldykKK3ZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9u
KGNvbnN0IFRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvJiBpbmZvKQogewotICAgIHJldHVybiBw
YWdlQ2xpZW50KCkuaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbih0ZXh0LCBib3VuZHNJblZp
ZXcsIGxvY2F0aW9uSW5WaWV3KTsKKyAgICByZXR1cm4gcGFnZUNsaWVudCgpLmhhbmRsZUNvbnRl
eHRNZW51VHJhbnNsYXRpb24oaW5mbyk7CiB9CiAKICNlbmRpZiAvLyBIQVZFKFRSQU5TTEFUSU9O
X1VJX1NFUlZJQ0VTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
LmgKaW5kZXggOWNjYmRiODBmM2M5YWFiZGRmYzU5Y2RhNzU0YWVjOTA0NWYyMWJlZC4uM2FkNTE0
MmNkMTc3YWFkYWU1YzM4NTMyZDU3ZmNhNDM4MGFjZDRiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCkBAIC05Niw2ICs5NiwxMCBAQCBjbGFzcyBQYWdl
Q29uZmlndXJhdGlvbjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBTaGFyZURhdGFXaXRo
UGFyc2VkVVJMOwogCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxF
KENPTlRFWFRfTUVOVVMpCitzdHJ1Y3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm87CisjZW5k
aWYKKwogI2lmIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9OKQogc3RydWN0IEltYWdlRXh0cmFjdGlv
blJlc3VsdDsKICNlbmRpZgpAQCAtNjQ4LDcgKzY1Miw3IEBAIHB1YmxpYzoKIAogI2lmIEhBVkUo
VFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAgIGJv
b2wgY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbigpIGNvbnN0OwotICAgIHZvaWQgaGFu
ZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmIGJvdW5kc0luVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG1lbnVM
b2NhdGlvbik7CisgICAgdm9pZCBoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0IFdl
YkNvcmU6OlRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvJik7CiAjZW5kaWYKIAogI2lmIEVOQUJM
RShNRURJQV9TRVNTSU9OX0NPT1JESU5BVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCBhYWNkNTU4MDRlNTJkODU2ODc0YWJmNzQ4MjkxNzM4
NTkzODU3NDRjLi4yM2E1MDQ2ODExNDEzMzUxOWYyZWQxYmRjZDgyNGNkOTJhNjViNDFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQpAQCAtMTA3LDYg
KzEwNyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Byb21pc2VkQXR0YWNobWVudEluZm8uaD4KICNp
bXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL1RleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmg+CisjaW1wb3J0IDxXZWJDb3JlL1RyYW5z
bGF0aW9uQ29udGV4dE1lbnVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkFjdGlvbkRpc2Fi
bGluZ0NBTGF5ZXJEZWxlZ2F0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlQ0FMYXllckV4
dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlRnVsbFNjcmVlblBsYWNlaG9sZGVyVmll
dy5oPgpAQCAtMTQ1LDYgKzE0NiwxMCBAQAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklD
RVMpCiAjaW1wb3J0IDxUcmFuc2xhdGlvblVJU2VydmljZXMvTFRVSVRyYW5zbGF0aW9uVmlld0Nv
bnRyb2xsZXIuaD4KIAorQGludGVyZmFjZSBMVFVJVHJhbnNsYXRpb25WaWV3Q29udHJvbGxlciAo
U3RhZ2luZ183NzY2MDY3NSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSB2b2lkKF5yZXBs
YWNlbWVudEhhbmRsZXIpKE5TQXR0cmlidXRlZFN0cmluZyAqKTsKK0BlbmQKKwogU09GVF9MSU5L
X1BSSVZBVEVfRlJBTUVXT1JLX09QVElPTkFMKFRyYW5zbGF0aW9uVUlTZXJ2aWNlcykKIFNPRlRf
TElOS19DTEFTU19PUFRJT05BTChUcmFuc2xhdGlvblVJU2VydmljZXMsIExUVUlUcmFuc2xhdGlv
blZpZXdDb250cm9sbGVyKQogI2VuZGlmCkBAIC01NTg2LDcgKzU1OTEsNyBAQCBib29sIFdlYlZp
ZXdJbXBsOjpjYW5IYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKCkgY29uc3QKICAgICByZXR1
cm4gVHJhbnNsYXRpb25VSVNlcnZpY2VzTGlicmFyeSgpICYmIFtnZXRMVFVJVHJhbnNsYXRpb25W
aWV3Q29udHJvbGxlckNsYXNzKCkgaXNBdmFpbGFibGVdOwogfQogCi12b2lkIFdlYlZpZXdJbXBs
OjpoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3Qg
SW50UmVjdCYgYm91bmRzSW5WaWV3LCBjb25zdCBJbnRQb2ludCYgbWVudUxvY2F0aW9uKQordm9p
ZCBXZWJWaWV3SW1wbDo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xh
dGlvbkNvbnRleHRNZW51SW5mbyYgaW5mbykKIHsKICAgICBpZiAoIWNhbkhhbmRsZUNvbnRleHRN
ZW51VHJhbnNsYXRpb24oKSkgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTU1
OTUsOCArNTYwMCwxNSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpoYW5kbGVDb250ZXh0TWVudVRyYW5z
bGF0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgSW50UmVjdAogCiAgICAgYXV0byB2aWV3
ID0gbV92aWV3LmdldCgpOwogICAgIGF1dG8gdHJhbnNsYXRpb25WaWV3Q29udHJvbGxlciA9IGFk
b3B0TlMoW2FsbG9jTFRVSVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXJJbnN0YW5jZSgpIGluaXRd
KTsKLSAgICBhdXRvIHRleHRUb1RyYW5zbGF0ZSA9IGFkb3B0TlMoW1tOU0F0dHJpYnV0ZWRTdHJp
bmcgYWxsb2NdIGluaXRXaXRoU3RyaW5nOnRleHRdKTsKLSAgICBbdHJhbnNsYXRpb25WaWV3Q29u
dHJvbGxlciBzZXRUZXh0OnRleHRUb1RyYW5zbGF0ZS5nZXQoKV07CisgICAgW3RyYW5zbGF0aW9u
Vmlld0NvbnRyb2xsZXIgc2V0VGV4dDphZG9wdE5TKFtbTlNBdHRyaWJ1dGVkU3RyaW5nIGFsbG9j
XSBpbml0V2l0aFN0cmluZzppbmZvLnRleHRdKS5nZXQoKV07CisgICAgaWYgKGluZm8ubW9kZSA9
PSBXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51TW9kZTo6RWRpdGFibGUgJiYgW3RyYW5z
bGF0aW9uVmlld0NvbnRyb2xsZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzZXRSZXBs
YWNlbWVudEhhbmRsZXI6KV0pIHsKKyAgICAgICAgW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIg
c2V0SXNTb3VyY2VFZGl0YWJsZTpZRVNdOworICAgICAgICBbdHJhbnNsYXRpb25WaWV3Q29udHJv
bGxlciBzZXRSZXBsYWNlbWVudEhhbmRsZXI6W3RoaXMsIHdlYWtUaGlzID0gbWFrZVdlYWtQdHIo
KnRoaXMpXShOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZykgeworICAgICAgICAgICAgaWYgKHdl
YWtUaGlzKQorICAgICAgICAgICAgICAgIGluc2VydFRleHQoc3RyaW5nLnN0cmluZyk7CisgICAg
ICAgIH1dOworICAgIH0KKwogICAgIGlmIChOU0VxdWFsU2l6ZXMoW3RyYW5zbGF0aW9uVmlld0Nv
bnRyb2xsZXIgcHJlZmVycmVkQ29udGVudFNpemVdLCBOU1plcm9TaXplKSkKICAgICAgICAgW3Ry
YW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgc2V0UHJlZmVycmVkQ29udGVudFNpemU6TlNNYWtlU2l6
ZSg0MDAsIDQwMCldOwogCkBAIC01NjA4LDE0ICs1NjIwLDE0IEBAIHZvaWQgV2ViVmlld0ltcGw6
OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBJ
bnRSZWN0CiAgICAgW3BvcG92ZXIgc2V0Q29udGVudFNpemU6W3RyYW5zbGF0aW9uVmlld0NvbnRy
b2xsZXIgcHJlZmVycmVkQ29udGVudFNpemVdXTsKIAogICAgIE5TUmVjdEVkZ2UgcHJlZmVycmVk
RWRnZTsKLSAgICBhdXRvIGFpbSA9IG1lbnVMb2NhdGlvbi54KCk7Ci0gICAgYXV0byBoaWdobGln
aHQgPSBib3VuZHNJblZpZXcuY2VudGVyKCkueCgpOworICAgIGF1dG8gYWltID0gaW5mby5sb2Nh
dGlvbkluUm9vdFZpZXcueCgpOworICAgIGF1dG8gaGlnaGxpZ2h0ID0gaW5mby5zZWxlY3Rpb25C
b3VuZHNJblJvb3RWaWV3LmNlbnRlcigpLngoKTsKICAgICBpZiAoYWltID09IGhpZ2hsaWdodCkK
ICAgICAgICAgcHJlZmVycmVkRWRnZSA9IFt2aWV3IHVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rp
b25dID09IE5TVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvblJpZ2h0VG9MZWZ0ID8gTlNSZWN0
RWRnZU1pblggOiBOU1JlY3RFZGdlTWF4WDsKICAgICBlbHNlCiAgICAgICAgIHByZWZlcnJlZEVk
Z2UgPSBhaW0gPiBoaWdobGlnaHQgPyBOU1JlY3RFZGdlTWF4WCA6IE5TUmVjdEVkZ2VNaW5YOwog
Ci0gICAgW3BvcG92ZXIgc2hvd1JlbGF0aXZlVG9SZWN0OmJvdW5kc0luVmlldyBvZlZpZXc6dmll
dy5nZXQoKSBwcmVmZXJyZWRFZGdlOnByZWZlcnJlZEVkZ2VdOworICAgIFtwb3BvdmVyIHNob3dS
ZWxhdGl2ZVRvUmVjdDppbmZvLnNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcgb2ZWaWV3OnZpZXcu
Z2V0KCkgcHJlZmVycmVkRWRnZTpwcmVmZXJyZWRFZGdlXTsKIH0KIAogI2VuZGlmIC8vIEhBVkUo
VFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IGI0MWQ4NDU2MDk3ZmZjYjY5MTBkNTkzOTkz
YzZmNzZjMmI5ZWRlMWEuLjQxN2UxMWQ0OTY2MDdhMzAwY2ZiNjVmZWQ2YzdmNGNhY2UwYzkyNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTEyNiw2ICsxMjYsMTAgQEAg
c3RydWN0IERyYWdJdGVtOwogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiBzdHJ1Y3Qg
UHJvbWlzZWRBdHRhY2htZW50SW5mbzsKICNlbmRpZgorCisjaWYgSEFWRShUUkFOU0xBVElPTl9V
SV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCitzdHJ1Y3QgVHJhbnNsYXRpb25D
b250ZXh0TWVudUluZm87CisjZW5kaWYKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC02MTcs
NyArNjIxLDcgQEAgcHVibGljOgogCiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykg
JiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAgdmlydHVhbCBib29sIGNhbkhhbmRsZUNvbnRl
eHRNZW51VHJhbnNsYXRpb24oKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUNv
bnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBib3VuZHNJblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBtZW51TG9jYXRp
b24pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihj
b25zdCBXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYpID0gMDsKICNlbmRpZgog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAyNmM5ZjczODM1
MjNlN2Q3YmU4ZDllMWExYWFhN2Y5NjU0Njk2ZGMwLi41YjQ1N2RmYjYwMzFlZjYzOWFkM2FlM2Zj
YmZmZmFlNmE2ZDg1NzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApA
QCAtMTA4LDYgKzEwOCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hlY2tpbmcuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1RleHRHcmFudWxhcml0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4
dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zbGF0aW9u
Q29udGV4dE1lbnVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydEFyZ3VtZW50cy5oPgogI2lu
Y2x1ZGUgPG1lbW9yeT4KQEAgLTE5MTEsNyArMTkxMiw3IEBAIHB1YmxpYzoKIAogI2lmIEhBVkUo
VFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQogICAgIGJv
b2wgY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbigpIGNvbnN0OwotICAgIHZvaWQgaGFu
ZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmIGJvdW5kc0luVmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0
aW9uSW5WaWV3KTsKKyAgICB2b2lkIGhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3Qg
V2ViQ29yZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mKTsKICNlbmRpZgogCiAjaWYgRU5B
QkxFKE1FRElBX1NFU1NJT05fQ09PUkRJTkFUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZjRlMDgyZmFmYmFiZTkzZTAxZWU2
ZTNkMDE5ZTAzYWI5YmYwOTVhMi4uN2Q0MTY0M2ZmOGFmNDU4N2ZmMTgwMzVlYzhlYmZmZDg0YWU0
YWU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbgpAQCAtMjI4LDcgKzIyOCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAj
ZW5kaWYKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05U
RVhUX01FTlVTKQotICAgIEhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oU3RyaW5nIHRleHQs
IFdlYkNvcmU6OkludFJlY3QgYm91bmRzSW5WaWV3LCBXZWJDb3JlOjpJbnRQb2ludCBsb2NhdGlv
bkluVmlldykKKyAgICBIYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKHN0cnVjdCBXZWJDb3Jl
OjpUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyBpbmZvKQogI2VuZGlmCiAKICNpZiBFTkFCTEUo
TUVESUFfQ09OVFJPTFNfQ09OVEVYVF9NRU5VUykgJiYgVVNFKFVJQ09OVEVYVE1FTlUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCmluZGV4IGM1
OGFkNDc4YWYyNGY0Mzk4NzJjNTE0YjE3YjM3MDYwMWU0ZTFjOTMuLjU4YmU0YTJjYWU0NTM3ZTU0
NjNiZGQxYjZiNWJlMTY4YmE2OTI3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCkBAIC0yODMsNyArMjgzLDcgQEAgcHJpdmF0ZToKIAog
I2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVT
KQogICAgIGJvb2wgY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbigpIGNvbnN0IG92ZXJy
aWRlOwotICAgIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcm
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBvdmVy
cmlkZTsKKyAgICB2b2lkIGhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgV2ViQ29y
ZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mKSBvdmVycmlkZTsKICNlbmRpZgogCiAgICAg
TlNWaWV3ICptX3ZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGxNYWMubW0KaW5kZXggNjdkZmUyMDcyNmI5ZDZiN2UwMTczODAxZGE3YjhiYWUzYTg3
ZWUyOC4uNzg4YTI3OTZkYmIxY2Y0NTllZmUxMjRjNmYwZDdkMGE2OThiN2U5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQpAQCAtMTAy
Miw5ICsxMDIyLDkgQEAgYm9vbCBQYWdlQ2xpZW50SW1wbDo6Y2FuSGFuZGxlQ29udGV4dE1lbnVU
cmFuc2xhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1faW1wbC0+Y2FuSGFuZGxlQ29udGV4dE1l
bnVUcmFuc2xhdGlvbigpOwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVDb250ZXh0
TWVudVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgSW50UmVjdCYgYm91bmRz
SW5WaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbWVudUxvY2F0aW9uKQordm9pZCBQYWdl
Q2xpZW50SW1wbDo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlv
bkNvbnRleHRNZW51SW5mbyYgaW5mbykKIHsKLSAgICBtX2ltcGwtPmhhbmRsZUNvbnRleHRNZW51
VHJhbnNsYXRpb24odGV4dCwgYm91bmRzSW5WaWV3LCBtZW51TG9jYXRpb24pOworICAgIG1faW1w
bC0+aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihpbmZvKTsKIH0KIAogI2VuZGlmIC8vIEhB
VkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRl
eHRNZW51Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ29udGV4dE1lbnVDbGllbnQuaAppbmRleCAwMzFjNTU0NmQ3ZWQ2YjRiOTFlMjU1MjY0OWM5
NTVjZDUxYzc0ZTgxLi40YTJhYTRkNmZhMGM2Y2FlOTdiYzEyYzliMjIwMjM5OThjZGQ5ZTUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29u
dGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaApAQCAtNTcsNyArNTcsNyBAQCBwcml2YXRlOgog
I2VuZGlmCiAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQotICAgIHZvaWQgaGFu
ZGxlVHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Vs
ZWN0aW9uQm91bmRzSW5Sb290VmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGxvY2F0aW9u
SW5Sb290VmlldykgZmluYWw7CisgICAgdm9pZCBoYW5kbGVUcmFuc2xhdGlvbihjb25zdCBXZWJD
b3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYpIGZpbmFsOwogI2VuZGlmCiAKICNpZiBQ
TEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvbWFjL1dlYkNvbnRleHRNZW51Q2xpZW50TWFjLm1tIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbQpp
bmRleCAwYzM0OTlkMzM5NGIxMWNiMzlkOWEzOTJjYzY5NDU0ZTQ4YTgzMTkxLi5mNTFiYjU2MDBj
YzY2OWI4ZjZhODY2NDVlN2IwMDY4NmI3MjdhNzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkNvbnRleHRNZW51Q2xpZW50TWFjLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViQ29u
dGV4dE1lbnVDbGllbnRNYWMubW0KQEAgLTM3LDYgKzM3LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUv
RnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBvcnQgPFdlYkNvcmUv
VGV4dEluZGljYXRvci5oPgorI2ltcG9ydCA8V2ViQ29yZS9UcmFuc2xhdGlvbkNvbnRleHRNZW51
SW5mby5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewpAQCAtOTYsOSArOTcsOSBAQCB2b2lkIFdlYkNvbnRleHRNZW51Q2xpZW50OjpzZWFyY2hX
aXRoU3BvdGxpZ2h0KCkKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCiAKLXZv
aWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6OmhhbmRsZVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYg
dGV4dCwgY29uc3QgSW50UmVjdCYgYm91bmRzLCBjb25zdCBJbnRQb2ludCYgbG9jYXRpb24pCit2
b2lkIFdlYkNvbnRleHRNZW51Q2xpZW50OjpoYW5kbGVUcmFuc2xhdGlvbihjb25zdCBXZWJDb3Jl
OjpUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYgaW5mbykKIHsKLSAgICBtX3BhZ2UtPnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbih0ZXh0
LCBib3VuZHMsIGxvY2F0aW9uKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oaW5mbykpOwogfQogCiAjZW5kaWYg
Ly8gSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZjJhN2I1NmJkMGQwMmVjNzdiNDk4Mjc4Yjkw
NGRmMDYzN2Y5ZDFlZi4uOTBhZThhOTdiNmNlNDkzMjU5M2I0OTJkY2IzMDE2OGM2OWIxZWVmYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI0
NCw2ICsyNDQsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU3ViZnJhbWVMb2FkZXIuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1N1YnN0aXR1dGVEYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0SXRl
cmF0b3IuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VySW5w
dXRCcmlkZ2UuaD4KQEAgLTc1NzEsOSArNzU3Miw5IEBAIHZvaWQgV2ViUGFnZTo6bGFzdE5hdmln
YXRpb25XYXNBcHBCb3VuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRp
CiAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9N
RU5VUykKIAotdm9pZCBXZWJQYWdlOjpoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0
IFN0cmluZyYgdGV4dCwgY29uc3QgSW50UmVjdCYgYm91bmRzSW5WaWV3LCBjb25zdCBJbnRQb2lu
dCYgbG9jYXRpb25JblZpZXcpCit2b2lkIFdlYlBhZ2U6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNs
YXRpb24oY29uc3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mIGluZm8pCiB7Ci0gICAgc2Vu
ZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpIYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKHRl
eHQsIGJvdW5kc0luVmlldywgbG9jYXRpb25JblZpZXcpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oaW5mbykpOwogfQogCiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBj
NmI0NzYxYjI0ZTlkYjJjZGFkMDgwOTM3NDgzOTE5ZTgxOTQ3MzY4Li5lZTQ0NzNhZGM0Yjk4MGUw
ZGI4ZDdhM2UwMzQ4N2JiMmZlODk4ZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCkBAIC0yNDcsNiArMjQ3LDEwIEBAIHN0cnVjdCBWaWV3cG9ydEFyZ3Vt
ZW50czsKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogY2xhc3MgSFRNTEF0dGFjaG1l
bnRFbGVtZW50OwogI2VuZGlmCisKKyNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAm
JiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKK3N0cnVjdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5m
bzsKKyNlbmRpZgogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTEzOTYsNyArMTQwMCw3IEBA
IHB1YmxpYzoKICNlbmRpZgogCiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYg
RU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgdm9pZCBoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0
aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2VsZWN0aW9u
Qm91bmRzSW5WaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbWVudUxvY2F0aW9uSW5WaWV3
KTsKKyAgICB2b2lkIGhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgV2ViQ29yZTo6
VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElB
X0NPTlRST0xTX0NPTlRFWFRfTUVOVVMpICYmIFVTRShVSUNPTlRFWFRNRU5VKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRl
eHRNZW51Q2xpZW50LmgKaW5kZXggYWZiYzAwNzI5MzU2Zjc3YTM5NDFlNzc2NDJmZjk4YjViOGE1
ODcxZC4uZWY1ZWZiNTU0OTg2MTA0MmZkN2NkMWI3NThmMzFhY2ZlNGJhYzNlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
b250ZXh0TWVudUNsaWVudC5oCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAj
aWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKLSAgICB2b2lkIGhhbmRsZVRyYW5zbGF0
aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNlbGVjdGlvbkJvdW5k
c0luUm9vdFZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluUm9vdFZpZXcp
IGZpbmFsOworICAgIHZvaWQgaGFuZGxlVHJhbnNsYXRpb24oY29uc3QgV2ViQ29yZTo6VHJhbnNs
YXRpb25Db250ZXh0TWVudUluZm8mKSBmaW5hbDsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1l
bnVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJD
b250ZXh0TWVudUNsaWVudC5tbQppbmRleCAwMzgyODIyYjQwMWRkNTg4YzBiYTkyYzBmODNiMWVh
ZGRlYjQ0ZDY4Li4xY2MyNzJhOTg2NWJhYzM4MGQ4OTI4Yzg4ZjkzZWE4NzczMWVlMzk1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0
TWVudUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDb250ZXh0TWVudUNsaWVudC5tbQpAQCAtMTQ5LDkgKzE0OSw5IEBAIGJvb2wgV2ViQ29u
dGV4dE1lbnVDbGllbnQ6OmNsaWVudEZsb2F0UmVjdEZvck5vZGUoTm9kZSYgbm9kZSwgRmxvYXRS
ZWN0JiByZWN0KSBjCiAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQogCi12b2lk
IFdlYkNvbnRleHRNZW51Q2xpZW50OjpoYW5kbGVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcmIHRl
eHQsIGNvbnN0IEludFJlY3QmIHNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcsIGNvbnN0IEludFBv
aW50JiBsb2NhdGlvbkluUm9vdFZpZXcpCit2b2lkIFdlYkNvbnRleHRNZW51Q2xpZW50OjpoYW5k
bGVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYgaW5mbykKIHsK
LSAgICBbbV93ZWJWaWV3IF9oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOnRleHQgc2VsZWN0
aW9uQm91bmRzOnNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcgbWVudUxvY2F0aW9uOmxvY2F0aW9u
SW5Sb290Vmlld107CisgICAgW21fd2ViVmlldyBfaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlv
bjppbmZvXTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dl
YlZpZXcubW0KaW5kZXggYmI5MTM5MmE2YjIyZmI3MjE4ZDA2NDM3MDAxN2UxOTdkMTUxZDY5Ni4u
NzI2NGJmZGNkNzJkZTEzNjk2MGEzMjM4Y2IwMDIxNmZiODkyZmY3YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjE1LDYgKzIxNSw3IEBACiAjaW1w
b3J0IDxXZWJDb3JlL1N0eWxlUHJvcGVydGllcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9UZXh0UmVz
b3VyY2VEZWNvZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1RocmVhZENoZWNrLmg+CisjaW1wb3J0
IDxXZWJDb3JlL1RyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1VUSVJlZ2lzdHJ5Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1VzZXJBZ2VudC5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuaD4KQEAgLTM1Miw2ICszNTMsMTAgQEAKICNp
ZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQogI2ltcG9ydCA8VHJhbnNsYXRpb25VSVNl
cnZpY2VzL0xUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVyLmg+CiAKK0BpbnRlcmZhY2UgTFRV
SVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgKFN0YWdpbmdfNzc2NjA2NzUpCitAcHJvcGVydHkg
KG5vbmF0b21pYywgY29weSkgdm9pZChecmVwbGFjZW1lbnRIYW5kbGVyKShOU0F0dHJpYnV0ZWRT
dHJpbmcgKik7CitAZW5kCisKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19PUFRJT05BTChU
cmFuc2xhdGlvblVJU2VydmljZXMpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoVHJhbnNsYXRp
b25VSVNlcnZpY2VzLCBMVFVJVHJhbnNsYXRpb25WaWV3Q29udHJvbGxlcikKICNlbmRpZgpAQCAt
OTYzOCw3ICs5NjQzLDcgQEAgKyAoQk9PTClfY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlv
bgogICAgIHJldHVybiBUcmFuc2xhdGlvblVJU2VydmljZXNMaWJyYXJ5KCkgJiYgW2dldExUVUlU
cmFuc2xhdGlvblZpZXdDb250cm9sbGVyQ2xhc3MoKSBpc0F2YWlsYWJsZV07CiB9CiAKLS0gKHZv
aWQpX2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb246KGNvbnN0IFN0cmluZyYpdGV4dCBzZWxl
Y3Rpb25Cb3VuZHM6KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKXNlbGVjdGlvbkJvdW5kc0luUm9v
dFZpZXcgbWVudUxvY2F0aW9uOihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpbG9jYXRpb25JblJv
b3RWaWV3CistICh2b2lkKV9oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOihjb25zdCBXZWJD
b3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYpaW5mbwogewogICAgIGlmICghV2ViVmll
dy5fY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbikgewogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKQEAgLTk2NDYsMTAgKzk2NTEsMTcgQEAgLSAodm9pZClfaGFuZGxlQ29udGV4
dE1lbnVUcmFuc2xhdGlvbjooY29uc3QgU3RyaW5nJil0ZXh0IHNlbGVjdGlvbkJvdW5kczooY29u
c3QKICAgICB9CiAKICAgICBhdXRvIHRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgPSBhZG9wdE5T
KFthbGxvY0xUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVySW5zdGFuY2UoKSBpbml0XSk7Ci0g
ICAgW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgc2V0VGV4dDphZG9wdE5TKFtbTlNBdHRyaWJ1
dGVkU3RyaW5nIGFsbG9jXSBpbml0V2l0aFN0cmluZzp0ZXh0XSkuZ2V0KCldOworICAgIFt0cmFu
c2xhdGlvblZpZXdDb250cm9sbGVyIHNldFRleHQ6YWRvcHROUyhbW05TQXR0cmlidXRlZFN0cmlu
ZyBhbGxvY10gaW5pdFdpdGhTdHJpbmc6aW5mby50ZXh0XSkuZ2V0KCldOworICAgIGlmIChpbmZv
Lm1vZGUgPT0gV2ViQ29yZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudU1vZGU6OkVkaXRhYmxlICYm
IFt0cmFuc2xhdGlvblZpZXdDb250cm9sbGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Io
c2V0UmVwbGFjZW1lbnRIYW5kbGVyOildKSB7CisgICAgICAgIFt0cmFuc2xhdGlvblZpZXdDb250
cm9sbGVyIHNldElzU291cmNlRWRpdGFibGU6WUVTXTsKKyAgICAgICAgW3RyYW5zbGF0aW9uVmll
d0NvbnRyb2xsZXIgc2V0UmVwbGFjZW1lbnRIYW5kbGVyOlt3ZWFrU2VsZiA9IFdlYWtPYmpDUHRy
PFdlYlZpZXc+KHNlbGYpXShOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZykgeworICAgICAgICAg
ICAgYXV0byBzdHJvbmdTZWxmID0gd2Vha1NlbGYuZ2V0KCk7CisgICAgICAgICAgICBbc3Ryb25n
U2VsZiBpbnNlcnRUZXh0OnN0cmluZy5zdHJpbmddOworICAgICAgICB9XTsKKyAgICB9CiAKLSAg
ICBhdXRvIGNvbnZlcnRlZFNlbGVjdGlvbkJvdW5kcyA9IFtzZWxmIF9jb252ZXJ0UmVjdEZyb21S
b290VmlldzpzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3XTsKLSAgICBhdXRvIGNvbnZlcnRlZE1l
bnVMb2NhdGlvbiA9IFtzZWxmIF9jb252ZXJ0UG9pbnRGcm9tUm9vdFZpZXc6bG9jYXRpb25JblJv
b3RWaWV3XTsKKyAgICBhdXRvIGNvbnZlcnRlZFNlbGVjdGlvbkJvdW5kcyA9IFtzZWxmIF9jb252
ZXJ0UmVjdEZyb21Sb290VmlldzppbmZvLnNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXddOworICAg
IGF1dG8gY29udmVydGVkTWVudUxvY2F0aW9uID0gW3NlbGYgX2NvbnZlcnRQb2ludEZyb21Sb290
VmlldzppbmZvLmxvY2F0aW9uSW5Sb290Vmlld107CiAKICAgICBhdXRvIHBvcG92ZXIgPSBhZG9w
dE5TKFtbTlNQb3BvdmVyIGFsbG9jXSBpbml0XSk7CiAgICAgW3BvcG92ZXIgc2V0QmVoYXZpb3I6
TlNQb3BvdmVyQmVoYXZpb3JUcmFuc2llbnRdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKaW5kZXggNTVmMDcxODIyYmM5MmIxYTlkODEz
YzNiY2ZhNDU4ZWEyZmU5Y2U0YS4uNzMzNzJhMGJkYTE1M2JmYTM3NjEwMjNjZjQ5NWQ3OTZmYTcx
OGNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3
SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXdJ
bnRlcm5hbC5oCkBAIC02NSw2ICs2NSwxMCBAQCBjbGFzcyBSZW5kZXJCb3g7CiBjbGFzcyBUZXh0
SW5kaWNhdG9yOwogc3RydWN0IERpY3RhdGlvbkFsdGVybmF0aXZlOwogc3RydWN0IERpY3Rpb25h
cnlQb3B1cEluZm87CisKKyNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKK3N0cnVjdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbzsKKyNl
bmRpZgogfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERSQUdfU1VQUE9S
VCkKQEAgLTE1OSw3ICsxNjMsNyBAQCBXZWJMYXlvdXRNaWxlc3RvbmVzIGtpdExheW91dE1pbGVz
dG9uZXMoT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4pOwogCiAjaWYgSEFWRShU
UkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiBAcHJvcGVy
dHkgKGNsYXNzLCBub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9jYW5IYW5kbGVDb250ZXh0TWVu
dVRyYW5zbGF0aW9uOwotLSAodm9pZClfaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbjooY29u
c3QgU3RyaW5nJil0ZXh0IHNlbGVjdGlvbkJvdW5kczooY29uc3QgV2ViQ29yZTo6SW50UmVjdCYp
Ym91bmRzSW5WaWV3IG1lbnVMb2NhdGlvbjooY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKW1lbnVM
b2NhdGlvbjsKKy0gKHZvaWQpX2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb246KGNvbnN0IFdl
YkNvcmU6OlRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvJilpbmZvOwogI2VuZGlmCiAKIC0gKHZv
aWQpX3dpbmRvd1Zpc2liaWxpdHlDaGFuZ2VkOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlv
bjsK
</data>
<flag name="commit-queue"
          id="448805"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428010</attachid>
            <date>2021-05-07 10:37:01 -0700</date>
            <delta_ts>2021-05-07 11:03:02 -0700</delta_ts>
            <desc>Fix CMake build</desc>
            <filename>bug-225515-20210507103700.patch</filename>
            <type>text/plain</type>
            <size>37159</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI0ZjM5NmIyY2EyOWJj
OTkxMjI0NTE3N2JiZGIxY2Y4OTkxNTRjNS4uMzg0ZDczYjdjMjU0Y2IyOWEzNzBkYjc0ZjMzZTg2
YzY4NjdlZTE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA1LTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0
IHRoZSAtaXNTb3VyY2VFZGl0YWJsZSBwcm9wZXJ0eSB3aGVuIHByZXNlbnRpbmcgd2VicGFnZSB0
cmFuc2xhdGlvbiBwb3B1cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI1NTE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NzY1ODA0MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZXQgYC1bTFRVSVRy
YW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgaXNTb3VyY2VFZGl0YWJsZV1gIHRvIGBZRVNgIHdoZW4g
c2hvd2luZyB0aGUgY29udGV4dCBtZW51IGZvciBlZGl0YWJsZQorICAgICAgICBjb250ZW50LiBJ
bnN0ZWFkIG9mIHBsdW1iaW5nIGFub3RoZXIgYm9vbGVhbiBmbGFnIHRocm91Z2ggYENvbnRleHRN
ZW51Q2xpZW50YCBhbmQgaW50byB0aGUgY2xpZW50IGxheWVycyB0aHJvdWdoCisgICAgICAgIGBo
YW5kbGVUcmFuc2xhdGlvbigpYCwgd2Ugcm9sbCBhbGwgb2YgdGhlIHdlYnBhZ2UgdHJhbnNsYXRp
b24gY29udGV4dCBtZW51IHBhcmFtZXRlcnMgaW50byBhIHNpbmdsZSBvYmplY3QKKyAgICAgICAg
KGBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mb2ApLCBpbmNsdWRpbmcgYSBuZXcgZmxhZyBpbmRp
Y2F0aW5nIHdoZXRoZXIgb3Igbm90IHRoZSB0cmFuc2xhdGlvbiBjb250cm9sbGVyIHNob3VsZAor
ICAgICAgICBiZSBzaG93biBpbiAiZWRpdGFibGUiIG1vZGUuCisKKyAgICAgICAgKiBIZWFkZXJz
LmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAg
ICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKiBwYWdlL0NvbnRleHRN
ZW51Q2xpZW50Lmg6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUl0ZW1T
ZWxlY3RlZCk6CisgICAgICAgICogcGFnZS9UcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mby5oOiBB
ZGRlZC4KKworICAgICAgICBQdWxsIHRoZSB0cmFuc2xhdGVkIHRleHQgc3RyaW5nLCBzZWxlY3Rp
b24gYm91bmRzLCBtZW51IGxvY2F0aW9uLCBhbmQgdGhlIG5ldyBtb2RlIGZsYWcgaW50byBhIHNl
cGFyYXRlIHN0cnVjdC4KKworICAgICAgICAoV2ViQ29yZTo6VHJhbnNsYXRpb25Db250ZXh0TWVu
dUluZm86OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRl
eHRNZW51SW5mbzo6ZGVjb2RlKToKKwogMjAyMS0wNS0wNyAgQ2FybG9zIEdhcm5hY2hvICA8Y2Fy
bG9zZ0Bnbm9tZS5vcmc+CiAKICAgICAgICAgW0dUSzRdIFJld3JpdGUgR1RLIGdlc3R1cmUgc3Vw
cG9ydCB0byB3b3JrIGZvciBib3RoIDMueCBhbmQgNC54LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3ZmFmMWU2ZDEy
NzcxMDZjN2JiZmUxYzI5N2ZiYTQwNGJkYjczMWU1Li5hYzUyNTU2MzdhNTI1ODM5MzIxZTY2NzBl
ZDE2ZmFjYTM1MzRiMGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIxLTA1LTA3ICBX
ZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10g
U2V0IHRoZSAtaXNTb3VyY2VFZGl0YWJsZSBwcm9wZXJ0eSB3aGVuIHByZXNlbnRpbmcgd2VicGFn
ZSB0cmFuc2xhdGlvbiBwb3B1cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI1NTE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NzY1ODA0MD4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTZWUgV2ViQ29y
ZS9DaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWlscy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9XZWJQYWdlUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpo
YW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
V2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0
aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tOgorICAgICAgICAo
V2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbik6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkNvbnRleHRNZW51
Q2xpZW50TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0TWVudUNsaWVudDo6aGFu
ZGxlVHJhbnNsYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlv
bik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKwogMjAyMS0wNS0w
NyAgQ2FybG9zIEdhcm5hY2hvICA8Y2FybG9zZ0Bnbm9tZS5vcmc+CiAKICAgICAgICAgW0dUSzRd
IFJld3JpdGUgR1RLIGdlc3R1cmUgc3VwcG9ydCB0byB3b3JrIGZvciBib3RoIDMueCBhbmQgNC54
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDMzMWNmODlhMDY0YjZhMWNkMWMwN2M3
Yjg0YTI4NDE0NmI0YzVkMTguLmI3MTkzMGM4YWViM2NiZWRiMGQ0YjZlNDk0NjVhODhhMjdkZmQx
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0w
NS0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBb
bWFjT1NdIFNldCB0aGUgLWlzU291cmNlRWRpdGFibGUgcHJvcGVydHkgd2hlbiBwcmVzZW50aW5n
IHdlYnBhZ2UgdHJhbnNsYXRpb24gcG9wdXAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNTUxNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzc2NTgw
NDA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2Vl
IFdlYkNvcmUvQ2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkNvbnRleHRNZW51Q2xpZW50Lm1tOgorICAgICAgICAoV2ViQ29udGV4dE1lbnVDbGllbnQ6
OmhhbmRsZVRyYW5zbGF0aW9uKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAg
ICAgICgtW1dlYlZpZXcgX2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb246XSk6CisgICAgICAg
ICgtW1dlYlZpZXcgX2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb246c2VsZWN0aW9uQm91bmRz
Om1lbnVMb2NhdGlvbjpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdJbnRl
cm5hbC5oOgorCiAyMDIxLTA1LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHVudXNlZCByZWZlcmVuY2VzIHRvIFBhZ2VHcm91
cCBmcm9tIFdlYktpdExlZ2FjeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZWUzZjQ2YWM4YmQ5N2Yy
MzAzZDgwODU4MjI5MzZhMTIwYmQzMmY0ZC4uOThlODU3OTM5NDc5ZWJkMzNmMDNlMzMwMjU0YTE0
YmVhOGNhZmNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC05NDUsNiArOTQ1LDcgQEAgc2V0KFdl
YkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBhZ2UvU3VzcGVuZGFibGVUaW1l
ci5oCiAgICAgcGFnZS9UZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yLmgKICAg
ICBwYWdlL1RleHRJbmRpY2F0b3IuaAorICAgIHBhZ2UvVHJhbnNsYXRpb25Db250ZXh0TWVudUlu
Zm8uaAogICAgIHBhZ2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmgKICAgICBwYWdlL1VzZXJDb250
ZW50UHJvdmlkZXIuaAogICAgIHBhZ2UvVXNlckNvbnRlbnRUeXBlcy5oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjE5MzUzYzlm
MWI5NTVlNTRkM2QxYTIxZDkzM2U2YzJhNDdjNjMwMy4uNTBjMGFhNjQzMzA4ZjFiMjVlNGQ5ZDZj
YTcwYmVhZWExMGY1ZDRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTMzOCw2ICs1MzM4LDcgQEAKIAkJRjQ4MjIzMTExRTM4
NjlCODAwNjZGQzc5IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0ODIyMzBGMUUzODY5QjgwMDY2RkM3
OSAvKiBXZWJJdGVtUHJvdmlkZXJQYXN0ZWJvYXJkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRjQ4MjIzMTMxRTM4NkUyNDAwNjZGQzc5IC8qIEFi
c3RyYWN0UGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRjQ4MjIzMTIxRTM4NkUyNDAwNjZGQzc5IC8qIEFic3RyYWN0UGFzdGVib2FyZC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0ODI0
MzRCMjYwQzMzMDYwMDIyNDk3QyAvKiBJbWFnZU92ZXJsYXlDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDgyNDM0ODI2MEMzMkYxMDAy
MjQ5N0MgLyogSW1hZ2VPdmVybGF5Q29udHJvbGxlci5oICovOyB9OworCQlGNDg1NzBBNTI2NDRD
NzZEMDBDMDVGNzEgLyogVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0ODU3MEE0MjY0NEM3NkQwMEMwNUY3
MSAvKiBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0OEI3RDUzMjVDMzQxRTYwMDlFNzVERCAvKiBJ
bWFnZUV4dHJhY3Rpb25SZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEY0OEI3RDUyMjVDMzQxRTYwMDlFNzVERCAvKiBJbWFnZUV4dHJhY3Rpb25S
ZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlGNDhEMkE2QzIxNTYyM0I0MDBDNjc1MkIgLyogRm9udFNoYWRvdy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ4RDJBNkEyMTU2MjNCNDAwQzY3NTJC
IC8qIEZvbnRTaGFkb3cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlGNDhEMkE3RTIxNTcxODI2MDBDNjc1MkIgLyogRm9udEF0dHJpYnV0ZXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0OEQyQTcxMjE1
NkRDMEEwMEM2NzUyQiAvKiBGb250QXR0cmlidXRlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xNjc5Niw2ICsxNjc5Nyw3IEBACiAJCUY0ODI0
MzRBMjYwQzMyRjEwMDIyNDk3QyAvKiBJbWFnZU92ZXJsYXlDb250cm9sbGVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEltYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGNDgzODk4MzFFMURERjJCMDA3NkI3RUEgLyogRHVtcEVkaXRpbmdIaXN0
b3J5LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBuYW1lID0gRHVtcEVkaXRp
bmdIaXN0b3J5LmpzOyBwYXRoID0gU2NyaXB0cy9EdW1wRWRpdGluZ0hpc3RvcnkuanM7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0ODM4OTg0MUUxRERGMkIwMDc2QjdFQSAvKiBFZGl0
aW5nSGlzdG9yeVV0aWwuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IG5hbWUg
PSBFZGl0aW5nSGlzdG9yeVV0aWwuanM7IHBhdGggPSBTY3JpcHRzL0VkaXRpbmdIaXN0b3J5VXRp
bC5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ4NTcwQTQyNjQ0Qzc2RDAwQzA1
RjcxIC8qIFRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRyYW5z
bGF0aW9uQ29udGV4dE1lbnVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0
OEI3RDUyMjVDMzQxRTYwMDlFNzVERCAvKiBJbWFnZUV4dHJhY3Rpb25SZXN1bHQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW1hZ2VFeHRyYWN0aW9uUmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUY0OEQyQTZBMjE1NjIzQjQwMEM2NzUyQiAvKiBGb250U2hhZG93LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZvbnRTaGFkb3cuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ4RDJB
NzEyMTU2REMwQTAwQzY3NTJCIC8qIEZvbnRBdHRyaWJ1dGVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZv
bnRBdHRyaWJ1dGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjUxNyw2ICsy
MjUxOSw3IEBACiAJCQkJQkM0QTUzMjQyNTYwNTU1OTAwMjhDNTkyIC8qIFRleHREaXJlY3Rpb25T
dWJtZW51SW5jbHVzaW9uQmVoYXZpb3IuaCAqLywKIAkJCQkyRDRGOTZGMTFBMUVDQzI0MDA5OEJG
ODggLyogVGV4dEluZGljYXRvci5jcHAgKi8sCiAJCQkJMkQ0Rjk2RjIxQTFFQ0MyNDAwOThCRjg4
IC8qIFRleHRJbmRpY2F0b3IuaCAqLywKKwkJCQlGNDg1NzBBNDI2NDRDNzZEMDBDMDVGNzEgLyog
VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaCAqLywKIAkJCQlGNEUxOTY1RjIxRjI2RTRFMDAy
ODUwNzggLyogVW5kb0l0ZW0uY3BwICovLAogCQkJCTJFQ0RCQUQ1MjFEODkwNjMwMEYwMEVDRCAv
KiBVbmRvSXRlbS5oICovLAogCQkJCTJFQ0RCQUQ3MjFEODkwNjMwMEYwMEVDRCAvKiBVbmRvSXRl
bS5pZGwgKi8sCkBAIC0zMTQyNiw3ICszMTQyOSw2IEBACiAJCQkJMzFBNzk1QzcxODg4QkNCMjAw
MzgyRjkwIC8qIEFOR0xFSW5zdGFuY2VkQXJyYXlzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5
MTJBQjBFRkFDOTA2MDA5RDBDQUYgLyogQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
MUVGQ0VEQzIwMkIzOEE5MDBEN0M0MTEgLyogQW5pbWF0aW9uRWZmZWN0LmggaW4gSGVhZGVycyAq
LywKLQkJCQk0NDlEODY0RjI2NDBDOUM1MDAwMTIyREUgLyogSGlnaGxpZ2h0VmlzaWJpbGl0eS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNzFFMkM0MjYyMUM5MzUyODAwMjRGOEM4IC8qIEFuaW1hdGlv
bkVmZmVjdFBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTk4NDgwMTFBMUQ4MTdCMDBBMTMz
MTggLyogQW5pbWF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxMUFEMTI2MjM2RDg2
RTUwMDZGRjM3QyAvKiBBbmltYXRpb25FdmVudEJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMzI2
NDUsNiArMzI2NDcsNyBAQAogCQkJCTQ0MzBEMDBCMjU3NUE4M0UwMDQ2RDQwMSAvKiBIaWdobGln
aHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQ0ZBQkJEMThDMEFGNzgwMDZGODQ1MCAvKiBIaWdo
bGlnaHREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NDMwRDAwRDI1NzVBOEE1MDA0NkQ0MDEg
LyogSGlnaGxpZ2h0UmVnaXN0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0OUQ4NjRGMjY0MEM5
QzUwMDAxMjJERSAvKiBIaWdobGlnaHRWaXNpYmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQlC
Qzk0RDE1NDBDMjc1QzhCMDA2QkM2MTcgLyogSGlzdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTdEQ0UyMDIxMDgwN0M3NTAwNTdEMzk0IC8qIEhpc3RvcnlDb250cm9sbGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTc0MUQxMTBCMDcyNTlBMDBFRDQ0MkMgLyogSGlzdG9yeUl0ZW0uaCBpbiBI
ZWFkZXJzICovLApAQCAtMzQ4ODMsNyArMzQ4ODYsNiBAQAogCQkJCUU0NkI0MUY5MUNCMjRFNzAw
MDhGMTFERSAvKiBTY3JpcHREaXNhbGxvd2VkU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5
OThBRUQyMTNGQjIyNEQwMDkwQjFBQSAvKiBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTA4QTQ4NDc4MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKLQkJCQlFNEQ4NkU2RDI2NDAzOTRDMDBCNjI0MjUgLyogU3R5
bGVTY29wZU9yZGluYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzRTRFMkE4MUUzQjE3MTAwMDIz
QkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTExQzlEOUIwRUIzNjgxMjAwRTQwOURCIC8qIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxMTIyM0JBMjYwMjQ0RkUwMEIwQTBCNiAvKiBTY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTE5OSw2ICsz
NTIwMSw3IEBACiAJCQkJRTQ5NDZFQUYxNTZFNjRERDAwRDMyOTdGIC8qIFN0eWxlUnVsZUltcG9y
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY5NEYzN0UyMzY2MTYyNjAwM0FBNUM3IC8qIFN0eWxl
UnVsZVR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0NjFENjVGMUJCMEM4MEQwMENCNTY0NSAv
KiBTdHlsZVNjb3BlLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEQ4NkU2RDI2NDAzOTRDMDBCNjI0
MjUgLyogU3R5bGVTY29wZU9yZGluYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBNEY0OEFBMTZC
MERGQzAwMEVEQkIyOSAvKiBTdHlsZVNjb3BlUnVsZVNldHMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUY0N0E1RTNFMTk1QjhDOEEwMDQ4MzEwMCAvKiBTdHlsZVNjcm9sbFNuYXBQb2ludHMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTlENjM4MDEwMUFGMTczMjIwMDMxQTE1QyAvKiBTdHlsZVNlbGZBbGln
bm1lbnREYXRhLmggaW4gSGVhZGVycyAqLywKQEAgLTM1NTM3LDYgKzM1NTQwLDcgQEAKIAkJCQk0
MTZFNkZFODFCQkQxMkRGMDAwQTNGNzQgLyogVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRp
bnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxN0I0OTE2MTZBOUIwOTQwMDFDODgzOSAvKiBUcmFu
c2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUQyMEVGODZENDcwMDlEMENB
RiAvKiBUcmFuc2xhdGVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUY0
ODU3MEE1MjY0NEM3NkQwMEMwNUY3MSAvKiBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mby5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODU0RkU3MzcwQTIyOTdCRTAwNThEN0FEIC8qIFRyYXZlcnNhbC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMzdGRDQyOTgxMTgzNjg0NjAwOTNDMDI5IC8qIFRyZWVEZXB0
aExpbWl0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxNEQ2NEI1RDEzNEE1QjZCMDBFNThGREEgLyog
VHJlZVNjb3BlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5jcHAKaW5kZXggZjFjNmUyM2E4YjdiYTlkNjA1ZGFhMzExMWNlOTcwMGRmMDMwNjFiMC4uZDll
MDM4N2M5NmIyOGQzODdhYmNiOGIxNzczYjAxMGJiMjA2NzM1ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTEyMCw3ICsxMjAsNyBAQCBjbGFzcyBFbXB0eUNvbnRl
eHRNZW51Q2xpZW50IGZpbmFsIDogcHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKICNlbmRpZgog
CiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKLSAgICB2b2lkIGhhbmRsZVRyYW5z
bGF0aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRQb2ludCYpIGZp
bmFsIHsgfQorICAgIHZvaWQgaGFuZGxlVHJhbnNsYXRpb24oY29uc3QgVHJhbnNsYXRpb25Db250
ZXh0TWVudUluZm8mKSBmaW5hbCB7IH0KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oR1RLKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oCmluZGV4IGNjMzAxYjZmMDkyZTEwZTky
Y2QyNTRkOTZjYjFlMjdlNTkxOTNjMjYuLmQ4NzBjYjQ1NjMxNDA2MTU0NmI1M2U2NjQ1ZjI0NDk2
ZTU5ZjlmZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50LmgKQEAgLTM1
LDYgKzM1LDEwIEBAIGNsYXNzIEZyYW1lOwogY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRSZWN0
OwogCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRf
TUVOVVMpCitzdHJ1Y3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm87CisjZW5kaWYKKwogY2xh
c3MgQ29udGV4dE1lbnVDbGllbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgfkNvbnRleHRNZW51
Q2xpZW50KCkgPSBkZWZhdWx0OwpAQCAtNDgsNyArNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHN0b3BTcGVha2luZygpID0gMDsKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VS
VklDRVMpCi0gICAgdmlydHVhbCB2b2lkIGhhbmRsZVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYs
IGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRQb2ludCYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
aGFuZGxlVHJhbnNsYXRpb24oY29uc3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mKSA9IDA7
CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDkyZTZmNGMzYmQ0ZjU4MDVkMTg1MGMxY2Rj
N2YzNjk3M2U4YjNkOWYuLmM4NGMzMmU1YTI4YmJhZGIzNWU5ZThlNTVhM2M5N2JjZTI4MDljNzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKQEAg
LTYzLDYgKzYzLDcgQEAKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2luY2x1ZGUgIlRyYW5zbGF0
aW9uQ29udGV4dE1lbnVJbmZvLmgiCiAjaW5jbHVkZSAiVHlwaW5nQ29tbWFuZC5oIgogI2luY2x1
ZGUgIlVzZXJUeXBpbmdHZXN0dXJlSW5kaWNhdG9yLmgiCiAjaW5jbHVkZSAiV2luZG93RmVhdHVy
ZXMuaCIKQEAgLTUyNyw5ICs1MjgsMTIgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNv
bnRleHRNZW51SXRlbVNlbGVjdGVkKENvbnRleHRNZW51QWN0aW9uIGFjdGlvbiwgY28KICAgICBj
YXNlIENvbnRleHRNZW51SXRlbVRhZ1RyYW5zbGF0ZToKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJ
X1NFUlZJQ0VTKQogICAgICAgICBpZiAoYXV0byB2aWV3ID0gbWFrZVJlZlB0cihmcmFtZS0+dmll
dygpKSkgewotICAgICAgICAgICAgYXV0byBzZWxlY3Rpb25Cb3VuZHMgPSB2aWV3LT5jb250ZW50
c1RvUm9vdFZpZXcoZW5jbG9zaW5nSW50UmVjdChmcmFtZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9u
Qm91bmRzKCkpKTsKLSAgICAgICAgICAgIGF1dG8gbG9jYXRpb24gPSB2aWV3LT5jb250ZW50c1Rv
Um9vdFZpZXcobV9jb250ZXh0LmhpdFRlc3RSZXN1bHQoKS5yb3VuZGVkUG9pbnRJbklubmVyTm9k
ZUZyYW1lKCkpOwotICAgICAgICAgICAgbV9jbGllbnQuaGFuZGxlVHJhbnNsYXRpb24obV9jb250
ZXh0LmhpdFRlc3RSZXN1bHQoKS5zZWxlY3RlZFRleHQoKSwgc2VsZWN0aW9uQm91bmRzLCBsb2Nh
dGlvbik7CisgICAgICAgICAgICBtX2NsaWVudC5oYW5kbGVUcmFuc2xhdGlvbih7CisgICAgICAg
ICAgICAgICAgbV9jb250ZXh0LmhpdFRlc3RSZXN1bHQoKS5zZWxlY3RlZFRleHQoKSwKKyAgICAg
ICAgICAgICAgICB2aWV3LT5jb250ZW50c1RvUm9vdFZpZXcoZW5jbG9zaW5nSW50UmVjdChmcmFt
ZS0+c2VsZWN0aW9uKCkuc2VsZWN0aW9uQm91bmRzKCkpKSwKKyAgICAgICAgICAgICAgICB2aWV3
LT5jb250ZW50c1RvUm9vdFZpZXcobV9jb250ZXh0LmhpdFRlc3RSZXN1bHQoKS5yb3VuZGVkUG9p
bnRJbklubmVyTm9kZUZyYW1lKCkpLAorICAgICAgICAgICAgICAgIG1fY29udGV4dC5oaXRUZXN0
UmVzdWx0KCkuaXNDb250ZW50RWRpdGFibGUoKSA/IFRyYW5zbGF0aW9uQ29udGV4dE1lbnVNb2Rl
OjpFZGl0YWJsZSA6IFRyYW5zbGF0aW9uQ29udGV4dE1lbnVNb2RlOjpOb25FZGl0YWJsZSwKKyAg
ICAgICAgICAgIH0pOwogICAgICAgICB9CiAjZW5kaWYKICAgICAgICAgYnJlYWs7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1RyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1RyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzU0YTRlMTQ3MWVmMzIxOWNjYmM2NWMwZDFkMDBjYjM3NmRmMDljOAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaApA
QCAtMCwwICsxLDk2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBIQVZFKFRS
QU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKKworI2luY2x1
ZGUgIkludFBvaW50LmgiCisjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgPHd0Zi9FbnVt
VHJhaXRzLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworZW51bSBjbGFzcyBUcmFuc2xhdGlvbkNvbnRleHRNZW51TW9kZSA6IGJvb2wg
eyBOb25FZGl0YWJsZSwgRWRpdGFibGUgfTsKKworc3RydWN0IFRyYW5zbGF0aW9uQ29udGV4dE1l
bnVJbmZvIHsKKyAgICBTdHJpbmcgdGV4dDsKKyAgICBJbnRSZWN0IHNlbGVjdGlvbkJvdW5kc0lu
Um9vdFZpZXc7CisgICAgSW50UG9pbnQgbG9jYXRpb25JblJvb3RWaWV3OworICAgIFRyYW5zbGF0
aW9uQ29udGV4dE1lbnVNb2RlIG1vZGUgeyBUcmFuc2xhdGlvbkNvbnRleHRNZW51TW9kZTo6Tm9u
RWRpdGFibGUgfTsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVu
Y29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9u
YWw8VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8+IGRlY29kZShEZWNvZGVyJik7Cit9OworCit0
ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIFRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvOjpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHRleHQ7Cisg
ICAgZW5jb2RlciA8PCBzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3OworICAgIGVuY29kZXIgPDwg
bG9jYXRpb25JblJvb3RWaWV3OworICAgIGVuY29kZXIgPDwgbW9kZTsKK30KKwordGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gT3B0aW9uYWw8VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8+IFRyYW5z
bGF0aW9uQ29udGV4dE1lbnVJbmZvOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBP
cHRpb25hbDxTdHJpbmc+IHRleHQ7CisgICAgZGVjb2RlciA+PiB0ZXh0OworICAgIGlmICghdGV4
dCkKKyAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPEludFJlY3Q+
IHNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXc7CisgICAgZGVjb2RlciA+PiBzZWxlY3Rpb25Cb3Vu
ZHNJblJvb3RWaWV3OworICAgIGlmICghc2VsZWN0aW9uQm91bmRzSW5Sb290VmlldykKKyAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPEludFBvaW50PiBsb2NhdGlv
bkluUm9vdFZpZXc7CisgICAgZGVjb2RlciA+PiBsb2NhdGlvbkluUm9vdFZpZXc7CisgICAgaWYg
KCFsb2NhdGlvbkluUm9vdFZpZXcpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICBPcHRpb25hbDxUcmFuc2xhdGlvbkNvbnRleHRNZW51TW9kZT4gbW9kZTsKKyAgICBkZWNvZGVy
ID4+IG1vZGU7CisgICAgaWYgKCFtb2RlKQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0Owor
CisgICAgcmV0dXJuIHt7IFdURk1vdmUoKnRleHQpLCBXVEZNb3ZlKCpzZWxlY3Rpb25Cb3VuZHNJ
blJvb3RWaWV3KSwgV1RGTW92ZSgqbG9jYXRpb25JblJvb3RWaWV3KSwgKm1vZGUgfX07Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4g
c3RydWN0IEVudW1UcmFpdHM8V2ViQ29yZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudU1vZGU+IHsK
KyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBXZWJDb3JlOjpUcmFuc2xh
dGlvbkNvbnRleHRNZW51TW9kZSwKKyAgICAgICAgV2ViQ29yZTo6VHJhbnNsYXRpb25Db250ZXh0
TWVudU1vZGU6Ok5vbkVkaXRhYmxlLAorICAgICAgICBXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRl
eHRNZW51TW9kZTo6RWRpdGFibGUKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCisK
KyNlbmRpZiAvLyBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBh
Z2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVBy
b3h5Q29jb2EubW0KaW5kZXggOGVkYzA4NWVmY2JmMjdkYjg5NTc0NmQ3YmQzZjRkN2NiNDFhYzhk
Mi4uNGI1ZGIyMTUzMDc4NDI2Mzc4MzkzOGRiZmZjMjI1YjE4ZTljNjRmYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTYy
Niw5ICs2MjYsOSBAQCBib29sIFdlYlBhZ2VQcm94eTo6Y2FuSGFuZGxlQ29udGV4dE1lbnVUcmFu
c2xhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIHBhZ2VDbGllbnQoKS5jYW5IYW5kbGVDb250ZXh0
TWVudVRyYW5zbGF0aW9uKCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVDb250ZXh0
TWVudVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYgYm91bmRzSW5WaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblZpZXcp
Cit2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBU
cmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYgaW5mbykKIHsKLSAgICByZXR1cm4gcGFnZUNsaWVu
dCgpLmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24odGV4dCwgYm91bmRzSW5WaWV3LCBsb2Nh
dGlvbkluVmlldyk7CisgICAgcmV0dXJuIHBhZ2VDbGllbnQoKS5oYW5kbGVDb250ZXh0TWVudVRy
YW5zbGF0aW9uKGluZm8pOwogfQogCiAjZW5kaWYgLy8gSEFWRShUUkFOU0xBVElPTl9VSV9TRVJW
SUNFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJ
bXBsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCmluZGV4
IDljY2JkYjgwZjNjOWFhYmRkZmM1OWNkYTc1NGFlYzkwNDVmMjFiZWQuLjNhZDUxNDJjZDE3N2Fh
ZGFlNWMzODUzMmQ1N2ZjYTQzODBhY2Q0YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwuaApAQCAtOTYsNiArOTYsMTAgQEAgY2xhc3MgUGFnZUNvbmZpZ3Vy
YXRpb247CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgU2hhcmVEYXRhV2l0aFBhcnNlZFVS
TDsKIAorI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhU
X01FTlVTKQorc3RydWN0IFRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvOworI2VuZGlmCisKICNp
ZiBFTkFCTEUoSU1BR0VfRVhUUkFDVElPTikKIHN0cnVjdCBJbWFnZUV4dHJhY3Rpb25SZXN1bHQ7
CiAjZW5kaWYKQEAgLTY0OCw3ICs2NTIsNyBAQCBwdWJsaWM6CiAKICNpZiBIQVZFKFRSQU5TTEFU
SU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICBib29sIGNhbkhh
bmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oKSBjb25zdDsKLSAgICB2b2lkIGhhbmRsZUNvbnRl
eHRNZW51VHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiBib3VuZHNJblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBtZW51TG9jYXRpb24p
OworICAgIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBXZWJDb3JlOjpU
cmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFf
U0VTU0lPTl9DT09SRElOQVRPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW0KaW5kZXggYWFjZDU1ODA0ZTUyZDg1Njg3NGFiZjc0ODI5MTczODU5Mzg1NzQ0
Yy4uMjNhNTA0NjgxMTQxMzM1MTlmMmVkMWJkY2Q4MjRjZDkyYTY1YjQxZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTEwNyw2ICsxMDcsNyBA
QAogI2ltcG9ydCA8V2ViQ29yZS9Qcm9taXNlZEF0dGFjaG1lbnRJbmZvLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1RleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9UZXh0
VW5kb0luc2VydGlvbk1hcmt1cE1hYy5oPgorI2ltcG9ydCA8V2ViQ29yZS9UcmFuc2xhdGlvbkNv
bnRleHRNZW51SW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJBY3Rpb25EaXNhYmxpbmdDQUxh
eWVyRGVsZWdhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUNBTGF5ZXJFeHRyYXMuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZUZ1bGxTY3JlZW5QbGFjZWhvbGRlclZpZXcuaD4KQEAg
LTE0NSw2ICsxNDYsMTAgQEAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQogI2lt
cG9ydCA8VHJhbnNsYXRpb25VSVNlcnZpY2VzL0xUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVy
Lmg+CiAKK0BpbnRlcmZhY2UgTFRVSVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgKFN0YWdpbmdf
Nzc2NjA2NzUpCitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgdm9pZChecmVwbGFjZW1lbnRI
YW5kbGVyKShOU0F0dHJpYnV0ZWRTdHJpbmcgKik7CitAZW5kCisKIFNPRlRfTElOS19QUklWQVRF
X0ZSQU1FV09SS19PUFRJT05BTChUcmFuc2xhdGlvblVJU2VydmljZXMpCiBTT0ZUX0xJTktfQ0xB
U1NfT1BUSU9OQUwoVHJhbnNsYXRpb25VSVNlcnZpY2VzLCBMVFVJVHJhbnNsYXRpb25WaWV3Q29u
dHJvbGxlcikKICNlbmRpZgpAQCAtNTU4Niw3ICs1NTkxLDcgQEAgYm9vbCBXZWJWaWV3SW1wbDo6
Y2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIFRyYW5z
bGF0aW9uVUlTZXJ2aWNlc0xpYnJhcnkoKSAmJiBbZ2V0TFRVSVRyYW5zbGF0aW9uVmlld0NvbnRy
b2xsZXJDbGFzcygpIGlzQXZhaWxhYmxlXTsKIH0KIAotdm9pZCBXZWJWaWV3SW1wbDo6aGFuZGxl
Q29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IEludFJlY3Qm
IGJvdW5kc0luVmlldywgY29uc3QgSW50UG9pbnQmIG1lbnVMb2NhdGlvbikKK3ZvaWQgV2ViVmll
d0ltcGw6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgVHJhbnNsYXRpb25Db250
ZXh0TWVudUluZm8mIGluZm8pCiB7CiAgICAgaWYgKCFjYW5IYW5kbGVDb250ZXh0TWVudVRyYW5z
bGF0aW9uKCkpIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC01NTk1LDggKzU2
MDAsMTUgQEAgdm9pZCBXZWJWaWV3SW1wbDo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihj
b25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IEludFJlY3QKIAogICAgIGF1dG8gdmlldyA9IG1fdmll
dy5nZXQoKTsKICAgICBhdXRvIHRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgPSBhZG9wdE5TKFth
bGxvY0xUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVySW5zdGFuY2UoKSBpbml0XSk7Ci0gICAg
YXV0byB0ZXh0VG9UcmFuc2xhdGUgPSBhZG9wdE5TKFtbTlNBdHRyaWJ1dGVkU3RyaW5nIGFsbG9j
XSBpbml0V2l0aFN0cmluZzp0ZXh0XSk7Ci0gICAgW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIg
c2V0VGV4dDp0ZXh0VG9UcmFuc2xhdGUuZ2V0KCldOworICAgIFt0cmFuc2xhdGlvblZpZXdDb250
cm9sbGVyIHNldFRleHQ6YWRvcHROUyhbW05TQXR0cmlidXRlZFN0cmluZyBhbGxvY10gaW5pdFdp
dGhTdHJpbmc6aW5mby50ZXh0XSkuZ2V0KCldOworICAgIGlmIChpbmZvLm1vZGUgPT0gV2ViQ29y
ZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudU1vZGU6OkVkaXRhYmxlICYmIFt0cmFuc2xhdGlvblZp
ZXdDb250cm9sbGVyIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2V0UmVwbGFjZW1lbnRI
YW5kbGVyOildKSB7CisgICAgICAgIFt0cmFuc2xhdGlvblZpZXdDb250cm9sbGVyIHNldElzU291
cmNlRWRpdGFibGU6WUVTXTsKKyAgICAgICAgW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgc2V0
UmVwbGFjZW1lbnRIYW5kbGVyOlt0aGlzLCB3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0o
TlNBdHRyaWJ1dGVkU3RyaW5nICpzdHJpbmcpIHsKKyAgICAgICAgICAgIGlmICh3ZWFrVGhpcykK
KyAgICAgICAgICAgICAgICBpbnNlcnRUZXh0KHN0cmluZy5zdHJpbmcpOworICAgICAgICB9XTsK
KyAgICB9CisKICAgICBpZiAoTlNFcXVhbFNpemVzKFt0cmFuc2xhdGlvblZpZXdDb250cm9sbGVy
IHByZWZlcnJlZENvbnRlbnRTaXplXSwgTlNaZXJvU2l6ZSkpCiAgICAgICAgIFt0cmFuc2xhdGlv
blZpZXdDb250cm9sbGVyIHNldFByZWZlcnJlZENvbnRlbnRTaXplOk5TTWFrZVNpemUoNDAwLCA0
MDApXTsKIApAQCAtNTYwOCwxNCArNTYyMCwxNCBAQCB2b2lkIFdlYlZpZXdJbXBsOjpoYW5kbGVD
b250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgSW50UmVjdAog
ICAgIFtwb3BvdmVyIHNldENvbnRlbnRTaXplOlt0cmFuc2xhdGlvblZpZXdDb250cm9sbGVyIHBy
ZWZlcnJlZENvbnRlbnRTaXplXV07CiAKICAgICBOU1JlY3RFZGdlIHByZWZlcnJlZEVkZ2U7Ci0g
ICAgYXV0byBhaW0gPSBtZW51TG9jYXRpb24ueCgpOwotICAgIGF1dG8gaGlnaGxpZ2h0ID0gYm91
bmRzSW5WaWV3LmNlbnRlcigpLngoKTsKKyAgICBhdXRvIGFpbSA9IGluZm8ubG9jYXRpb25JblJv
b3RWaWV3LngoKTsKKyAgICBhdXRvIGhpZ2hsaWdodCA9IGluZm8uc2VsZWN0aW9uQm91bmRzSW5S
b290Vmlldy5jZW50ZXIoKS54KCk7CiAgICAgaWYgKGFpbSA9PSBoaWdobGlnaHQpCiAgICAgICAg
IHByZWZlcnJlZEVkZ2UgPSBbdmlldyB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uXSA9PSBO
U1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25SaWdodFRvTGVmdCA/IE5TUmVjdEVkZ2VNaW5Y
IDogTlNSZWN0RWRnZU1heFg7CiAgICAgZWxzZQogICAgICAgICBwcmVmZXJyZWRFZGdlID0gYWlt
ID4gaGlnaGxpZ2h0ID8gTlNSZWN0RWRnZU1heFggOiBOU1JlY3RFZGdlTWluWDsKIAotICAgIFtw
b3BvdmVyIHNob3dSZWxhdGl2ZVRvUmVjdDpib3VuZHNJblZpZXcgb2ZWaWV3OnZpZXcuZ2V0KCkg
cHJlZmVycmVkRWRnZTpwcmVmZXJyZWRFZGdlXTsKKyAgICBbcG9wb3ZlciBzaG93UmVsYXRpdmVU
b1JlY3Q6aW5mby5zZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3IG9mVmlldzp2aWV3LmdldCgpIHBy
ZWZlcnJlZEVkZ2U6cHJlZmVycmVkRWRnZV07CiB9CiAKICNlbmRpZiAvLyBIQVZFKFRSQU5TTEFU
SU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaAppbmRleCBiNDFkODQ1NjA5N2ZmY2I2OTEwZDU5Mzk5M2M2Zjc2YzJi
OWVkZTFhLi40MTdlMTFkNDk2NjA3YTMwMGNmYjY1ZmVkNmM3ZjRjYWNlMGM5MjZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0xMjYsNiArMTI2LDEwIEBAIHN0cnVjdCBE
cmFnSXRlbTsKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogc3RydWN0IFByb21pc2Vk
QXR0YWNobWVudEluZm87CiAjZW5kaWYKKworI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklD
RVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQorc3RydWN0IFRyYW5zbGF0aW9uQ29udGV4dE1l
bnVJbmZvOworI2VuZGlmCiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNjE3LDcgKzYyMSw3
IEBAIHB1YmxpYzoKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJM
RShDT05URVhUX01FTlVTKQogICAgIHZpcnR1YWwgYm9vbCBjYW5IYW5kbGVDb250ZXh0TWVudVRy
YW5zbGF0aW9uKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVDb250ZXh0TWVu
dVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYg
Ym91bmRzSW5WaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbWVudUxvY2F0aW9uKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgV2Vi
Q29yZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mKSA9IDA7CiAjZW5kaWYKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMjZjOWY3MzgzNTIzZTdkN2Jl
OGQ5ZTFhMWFhYTdmOTY1NDY5NmRjMC4uNWI0NTdkZmI2MDMxZWY2MzlhZDNhZTNmY2JmZmZhZTZh
NmQ4NTcwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEwOCw2
ICsxMDgsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dENoZWNraW5nLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9UZXh0R3JhbnVsYXJpdHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RleHRNYW5pcHVs
YXRpb25Db250cm9sbGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9UcmFuc2xhdGlvbkNvbnRleHRN
ZW51SW5mby5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckludGVyZmFjZUxheW91dERpcmVjdGlv
bi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRBcmd1bWVudHMuaD4KICNpbmNsdWRlIDxt
ZW1vcnk+CkBAIC0xOTExLDcgKzE5MTIsNyBAQCBwdWJsaWM6CiAKICNpZiBIQVZFKFRSQU5TTEFU
SU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICBib29sIGNhbkhh
bmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oKSBjb25zdDsKLSAgICB2b2lkIGhhbmRsZUNvbnRl
eHRNZW51VHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25zdCBXZWJDb3JlOjpJbnRS
ZWN0JiBib3VuZHNJblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluVmll
dyk7CisgICAgdm9pZCBoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0IFdlYkNvcmU6
OlRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvJik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJ
QV9TRVNTSU9OX0NPT1JESU5BVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGY0ZTA4MmZhZmJhYmU5M2UwMWVlNmUzZDAxOWUw
M2FiOWJmMDk1YTIuLjdkNDE2NDNmZjhhZjQ1ODdmZjE4MDM1ZWM4ZWJmZmQ4NGFlNGFlNDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
QEAgLTIyOCw3ICsyMjgsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAK
ICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5V
UykKLSAgICBIYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKFN0cmluZyB0ZXh0LCBXZWJDb3Jl
OjpJbnRSZWN0IGJvdW5kc0luVmlldywgV2ViQ29yZTo6SW50UG9pbnQgbG9jYXRpb25JblZpZXcp
CisgICAgSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihzdHJ1Y3QgV2ViQ29yZTo6VHJhbnNs
YXRpb25Db250ZXh0TWVudUluZm8gaW5mbykKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX0NP
TlRST0xTX0NPTlRFWFRfTUVOVVMpICYmIFVTRShVSUNPTlRFWFRNRU5VKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAppbmRleCBjNThhZDQ3OGFm
MjRmNDM5ODcyYzUxNGIxN2IzNzA2MDFlNGUxYzkzLi41OGJlNGEyY2FlNDUzN2U1NDYzYmRkMWI2
YjViZTE2OGJhNjkyNzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFn
ZUNsaWVudEltcGxNYWMuaApAQCAtMjgzLDcgKzI4Myw3IEBAIHByaXZhdGU6CiAKICNpZiBIQVZF
KFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICBi
b29sIGNhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oKSBjb25zdCBvdmVycmlkZTsKLSAg
ICB2b2lkIGhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiwgY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jikgb3ZlcnJpZGU7Cisg
ICAgdm9pZCBoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0IFdlYkNvcmU6OlRyYW5z
bGF0aW9uQ29udGV4dE1lbnVJbmZvJikgb3ZlcnJpZGU7CiAjZW5kaWYKIAogICAgIE5TVmlldyAq
bV92aWV3OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
TWFjLm1tCmluZGV4IDY3ZGZlMjA3MjZiOWQ2YjdlMDE3MzgwMWRhN2I4YmFlM2E4N2VlMjguLjc4
OGEyNzk2ZGJiMWNmNDU5ZWZlMTI0YzZmMGQ3ZDBhNjk4YjdlOWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KQEAgLTEwMjIsOSArMTAy
Miw5IEBAIGJvb2wgUGFnZUNsaWVudEltcGw6OmNhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRp
b24oKSBjb25zdAogICAgIHJldHVybiBtX2ltcGwtPmNhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNs
YXRpb24oKTsKIH0KIAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6aGFuZGxlQ29udGV4dE1lbnVUcmFu
c2xhdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IEludFJlY3QmIGJvdW5kc0luVmlldywg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG1lbnVMb2NhdGlvbikKK3ZvaWQgUGFnZUNsaWVudElt
cGw6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgVHJhbnNsYXRpb25Db250ZXh0
TWVudUluZm8mIGluZm8pCiB7Ci0gICAgbV9pbXBsLT5oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0
aW9uKHRleHQsIGJvdW5kc0luVmlldywgbWVudUxvY2F0aW9uKTsKKyAgICBtX2ltcGwtPmhhbmRs
ZUNvbnRleHRNZW51VHJhbnNsYXRpb24oaW5mbyk7CiB9CiAKICNlbmRpZiAvLyBIQVZFKFRSQU5T
TEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNs
aWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRl
eHRNZW51Q2xpZW50LmgKaW5kZXggMDMxYzU1NDZkN2VkNmI0YjkxZTI1NTI2NDljOTU1Y2Q1MWM3
NGU4MS4uNGEyYWE0ZDZmYTBjNmNhZTk3YmMxMmM5YjIyMDIzOTk4Y2RkOWU1MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNvbnRleHRNZW51Q2xpZW50LmgKQEAgLTU3LDcgKzU3LDcgQEAgcHJpdmF0ZToKICNlbmRpZgog
CiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKLSAgICB2b2lkIGhhbmRsZVRyYW5z
bGF0aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNlbGVjdGlvbkJv
dW5kc0luUm9vdFZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlvbkluUm9vdFZp
ZXcpIGZpbmFsOworICAgIHZvaWQgaGFuZGxlVHJhbnNsYXRpb24oY29uc3QgV2ViQ29yZTo6VHJh
bnNsYXRpb25Db250ZXh0TWVudUluZm8mKSBmaW5hbDsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
R1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L21hYy9XZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViQ29udGV4dE1lbnVDbGllbnRNYWMubW0KaW5kZXggMGMz
NDk5ZDMzOTRiMTFjYjM5ZDlhMzkyY2M2OTQ1NGU0OGE4MzE5MS4uZjUxYmI1NjAwY2M2NjliOGY2
YTg2NjQ1ZTdiMDA2ODZiNzI3YTczZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkNvbnRleHRNZW51
Q2xpZW50TWFjLm1tCkBAIC0zNyw2ICszNyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lVmll
dy5oPgogI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1RleHRJbmRp
Y2F0b3IuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaD4K
ICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAg
LTk2LDkgKzk3LDkgQEAgdm9pZCBXZWJDb250ZXh0TWVudUNsaWVudDo6c2VhcmNoV2l0aFNwb3Rs
aWdodCgpCiAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQogCi12b2lkIFdlYkNv
bnRleHRNZW51Q2xpZW50OjpoYW5kbGVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcmIHRleHQsIGNv
bnN0IEludFJlY3QmIGJvdW5kcywgY29uc3QgSW50UG9pbnQmIGxvY2F0aW9uKQordm9pZCBXZWJD
b250ZXh0TWVudUNsaWVudDo6aGFuZGxlVHJhbnNsYXRpb24oY29uc3QgV2ViQ29yZTo6VHJhbnNs
YXRpb25Db250ZXh0TWVudUluZm8mIGluZm8pCiB7Ci0gICAgbV9wYWdlLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6OkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24odGV4dCwgYm91bmRz
LCBsb2NhdGlvbikpOworICAgIG1fcGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpI
YW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGluZm8pKTsKIH0KIAogI2VuZGlmIC8vIEhBVkUo
VFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IGYyYTdiNTZiZDBkMDJlYzc3YjQ5ODI3OGI5MDRkZjA2Mzdm
OWQxZWYuLjkwYWU4YTk3YjZjZTQ5MzI1OTNiNDkyZGNiMzAxNjhjNjliMWVlZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNDQsNiArMjQ0
LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1N1YmZyYW1lTG9hZGVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9TdWJzdGl0dXRlRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dEl0ZXJhdG9yLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9UcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mby5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9V
c2VyR2VzdHVyZUluZGljYXRvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlcklucHV0QnJpZGdl
Lmg+CkBAIC03NTcxLDkgKzc1NzIsOSBAQCB2b2lkIFdlYlBhZ2U6Omxhc3ROYXZpZ2F0aW9uV2Fz
QXBwQm91bmQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aQogCiAjaWYg
SEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAK
LXZvaWQgV2ViUGFnZTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcm
IHRleHQsIGNvbnN0IEludFJlY3QmIGJvdW5kc0luVmlldywgY29uc3QgSW50UG9pbnQmIGxvY2F0
aW9uSW5WaWV3KQordm9pZCBXZWJQYWdlOjpoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNv
bnN0IFRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvJiBpbmZvKQogewotICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbih0ZXh0LCBib3Vu
ZHNJblZpZXcsIGxvY2F0aW9uSW5WaWV3KSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpIYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGluZm8pKTsKIH0KIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYzZiNDc2MWIy
NGU5ZGIyY2RhZDA4MDkzNzQ4MzkxOWU4MTk0NzM2OC4uZWU0NDczYWRjNGI5ODBlMGRiOGQ3YTNl
MDM0ODdiYjJmZTg5OGZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaApAQCAtMjQ3LDYgKzI0NywxMCBAQCBzdHJ1Y3QgVmlld3BvcnRBcmd1bWVudHM7CiAj
aWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIGNsYXNzIEhUTUxBdHRhY2htZW50RWxlbWVu
dDsKICNlbmRpZgorCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxF
KENPTlRFWFRfTUVOVVMpCitzdHJ1Y3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm87CisjZW5k
aWYKIH0KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC0xMzk2LDcgKzE0MDAsNyBAQCBwdWJsaWM6
CiAjZW5kaWYKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShD
T05URVhUX01FTlVTKQotICAgIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25z
dCBTdHJpbmcmIHRleHQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNlbGVjdGlvbkJvdW5kc0lu
VmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG1lbnVMb2NhdGlvbkluVmlldyk7CisgICAg
dm9pZCBoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0IFdlYkNvcmU6OlRyYW5zbGF0
aW9uQ29udGV4dE1lbnVJbmZvJik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9DT05UUk9M
U19DT05URVhUX01FTlVTKSAmJiBVU0UoVUlDT05URVhUTUVOVSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNs
aWVudC5oCmluZGV4IGFmYmMwMDcyOTM1NmY3N2EzOTQxZTc3NjQyZmY5OGI1YjhhNTg3MWQuLmVm
NWVmYjU1NDk4NjEwNDJmZDdjZDFiNzU4ZjMxYWNmZTRiYWMzZTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1l
bnVDbGllbnQuaApAQCAtNjgsNyArNjgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lmIEhBVkUo
VFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCi0gICAgdm9pZCBoYW5kbGVUcmFuc2xhdGlvbihjb25z
dCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzZWxlY3Rpb25Cb3VuZHNJblJvb3RW
aWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbG9jYXRpb25JblJvb3RWaWV3KSBmaW5hbDsK
KyAgICB2b2lkIGhhbmRsZVRyYW5zbGF0aW9uKGNvbnN0IFdlYkNvcmU6OlRyYW5zbGF0aW9uQ29u
dGV4dE1lbnVJbmZvJikgZmluYWw7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50
Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1l
bnVDbGllbnQubW0KaW5kZXggMDM4MjgyMmI0MDFkZDU4OGMwYmE5MmMwZjgzYjFlYWRkZWI0NGQ2
OC4uMWNjMjcyYTk4NjViYWMzODBkODkyOGM4OGY5M2VhODc3MzFlZTM5NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGll
bnQubW0KKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ29u
dGV4dE1lbnVDbGllbnQubW0KQEAgLTE0OSw5ICsxNDksOSBAQCBib29sIFdlYkNvbnRleHRNZW51
Q2xpZW50OjpjbGllbnRGbG9hdFJlY3RGb3JOb2RlKE5vZGUmIG5vZGUsIEZsb2F0UmVjdCYgcmVj
dCkgYwogCiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKIAotdm9pZCBXZWJDb250
ZXh0TWVudUNsaWVudDo6aGFuZGxlVHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25z
dCBJbnRSZWN0JiBzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3LCBjb25zdCBJbnRQb2ludCYgbG9j
YXRpb25JblJvb3RWaWV3KQordm9pZCBXZWJDb250ZXh0TWVudUNsaWVudDo6aGFuZGxlVHJhbnNs
YXRpb24oY29uc3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mIGluZm8pCiB7Ci0gICAgW21f
d2ViVmlldyBfaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbjp0ZXh0IHNlbGVjdGlvbkJvdW5k
czpzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3IG1lbnVMb2NhdGlvbjpsb2NhdGlvbkluUm9vdFZp
ZXddOworICAgIFttX3dlYlZpZXcgX2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb246aW5mb107
CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CmluZGV4IGJiOTEzOTJhNmIyMmZiNzIxOGQwNjQzNzAwMTdlMTk3ZDE1MWQ2OTYuLjcyNjRiZmRj
ZDcyZGUxMzY5NjBhMzIzOGNiMDAyMTZmYjg5MmZmN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTIxNSw2ICsyMTUsNyBAQAogI2ltcG9ydCA8V2Vi
Q29yZS9TdHlsZVByb3BlcnRpZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvVGV4dFJlc291cmNlRGVj
b2Rlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9UaHJlYWRDaGVjay5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9UcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mby5oPgogI2ltcG9ydCA8V2ViQ29yZS9VVElSZWdp
c3RyeS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Vc2VyQWdlbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUv
VXNlckNvbnRlbnRDb250cm9sbGVyLmg+CkBAIC0zNTIsNiArMzUzLDEwIEBACiAjaWYgSEFWRShU
UkFOU0xBVElPTl9VSV9TRVJWSUNFUykKICNpbXBvcnQgPFRyYW5zbGF0aW9uVUlTZXJ2aWNlcy9M
VFVJVHJhbnNsYXRpb25WaWV3Q29udHJvbGxlci5oPgogCitAaW50ZXJmYWNlIExUVUlUcmFuc2xh
dGlvblZpZXdDb250cm9sbGVyIChTdGFnaW5nXzc3NjYwNjc1KQorQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIHZvaWQoXnJlcGxhY2VtZW50SGFuZGxlcikoTlNBdHRyaWJ1dGVkU3RyaW5nICop
OworQGVuZAorCiBTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9OQUwoVHJhbnNsYXRp
b25VSVNlcnZpY2VzKQogU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKFRyYW5zbGF0aW9uVUlTZXJ2
aWNlcywgTFRVSVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIpCiAjZW5kaWYKQEAgLTk2MzgsNyAr
OTY0Myw3IEBAICsgKEJPT0wpX2NhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24KICAgICBy
ZXR1cm4gVHJhbnNsYXRpb25VSVNlcnZpY2VzTGlicmFyeSgpICYmIFtnZXRMVFVJVHJhbnNsYXRp
b25WaWV3Q29udHJvbGxlckNsYXNzKCkgaXNBdmFpbGFibGVdOwogfQogCi0tICh2b2lkKV9oYW5k
bGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOihjb25zdCBTdHJpbmcmKXRleHQgc2VsZWN0aW9uQm91
bmRzOihjb25zdCBXZWJDb3JlOjpJbnRSZWN0JilzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3IG1l
bnVMb2NhdGlvbjooY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKWxvY2F0aW9uSW5Sb290Vmlldwor
LSAodm9pZClfaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbjooY29uc3QgV2ViQ29yZTo6VHJh
bnNsYXRpb25Db250ZXh0TWVudUluZm8mKWluZm8KIHsKICAgICBpZiAoIVdlYlZpZXcuX2Nhbkhh
bmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24pIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CkBAIC05NjQ2LDEwICs5NjUxLDE3IEBAIC0gKHZvaWQpX2hhbmRsZUNvbnRleHRNZW51VHJh
bnNsYXRpb246KGNvbnN0IFN0cmluZyYpdGV4dCBzZWxlY3Rpb25Cb3VuZHM6KGNvbnN0CiAgICAg
fQogCiAgICAgYXV0byB0cmFuc2xhdGlvblZpZXdDb250cm9sbGVyID0gYWRvcHROUyhbYWxsb2NM
VFVJVHJhbnNsYXRpb25WaWV3Q29udHJvbGxlckluc3RhbmNlKCkgaW5pdF0pOwotICAgIFt0cmFu
c2xhdGlvblZpZXdDb250cm9sbGVyIHNldFRleHQ6YWRvcHROUyhbW05TQXR0cmlidXRlZFN0cmlu
ZyBhbGxvY10gaW5pdFdpdGhTdHJpbmc6dGV4dF0pLmdldCgpXTsKKyAgICBbdHJhbnNsYXRpb25W
aWV3Q29udHJvbGxlciBzZXRUZXh0OmFkb3B0TlMoW1tOU0F0dHJpYnV0ZWRTdHJpbmcgYWxsb2Nd
IGluaXRXaXRoU3RyaW5nOmluZm8udGV4dF0pLmdldCgpXTsKKyAgICBpZiAoaW5mby5tb2RlID09
IFdlYkNvcmU6OlRyYW5zbGF0aW9uQ29udGV4dE1lbnVNb2RlOjpFZGl0YWJsZSAmJiBbdHJhbnNs
YXRpb25WaWV3Q29udHJvbGxlciByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNldFJlcGxh
Y2VtZW50SGFuZGxlcjopXSkgeworICAgICAgICBbdHJhbnNsYXRpb25WaWV3Q29udHJvbGxlciBz
ZXRJc1NvdXJjZUVkaXRhYmxlOllFU107CisgICAgICAgIFt0cmFuc2xhdGlvblZpZXdDb250cm9s
bGVyIHNldFJlcGxhY2VtZW50SGFuZGxlcjpbd2Vha1NlbGYgPSBXZWFrT2JqQ1B0cjxXZWJWaWV3
PihzZWxmKV0oTlNBdHRyaWJ1dGVkU3RyaW5nICpzdHJpbmcpIHsKKyAgICAgICAgICAgIGF1dG8g
c3Ryb25nU2VsZiA9IHdlYWtTZWxmLmdldCgpOworICAgICAgICAgICAgW3N0cm9uZ1NlbGYgaW5z
ZXJ0VGV4dDpzdHJpbmcuc3RyaW5nXTsKKyAgICAgICAgfV07CisgICAgfQogCi0gICAgYXV0byBj
b252ZXJ0ZWRTZWxlY3Rpb25Cb3VuZHMgPSBbc2VsZiBfY29udmVydFJlY3RGcm9tUm9vdFZpZXc6
c2VsZWN0aW9uQm91bmRzSW5Sb290Vmlld107Ci0gICAgYXV0byBjb252ZXJ0ZWRNZW51TG9jYXRp
b24gPSBbc2VsZiBfY29udmVydFBvaW50RnJvbVJvb3RWaWV3OmxvY2F0aW9uSW5Sb290Vmlld107
CisgICAgYXV0byBjb252ZXJ0ZWRTZWxlY3Rpb25Cb3VuZHMgPSBbc2VsZiBfY29udmVydFJlY3RG
cm9tUm9vdFZpZXc6aW5mby5zZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3XTsKKyAgICBhdXRvIGNv
bnZlcnRlZE1lbnVMb2NhdGlvbiA9IFtzZWxmIF9jb252ZXJ0UG9pbnRGcm9tUm9vdFZpZXc6aW5m
by5sb2NhdGlvbkluUm9vdFZpZXddOwogCiAgICAgYXV0byBwb3BvdmVyID0gYWRvcHROUyhbW05T
UG9wb3ZlciBhbGxvY10gaW5pdF0pOwogICAgIFtwb3BvdmVyIHNldEJlaGF2aW9yOk5TUG9wb3Zl
ckJlaGF2aW9yVHJhbnNpZW50XTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXdJbnRlcm5hbC5oCmluZGV4IDU1ZjA3MTgyMmJjOTJiMWE5ZDgxM2MzYmNmYTQ1
OGVhMmZlOWNlNGEuLjczMzcyYTBiZGExNTNiZmEzNzYxMDIzY2Y0OTVkNzk2ZmE3MThjYzEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFs
LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwu
aApAQCAtNjUsNiArNjUsMTAgQEAgY2xhc3MgUmVuZGVyQm94OwogY2xhc3MgVGV4dEluZGljYXRv
cjsKIHN0cnVjdCBEaWN0YXRpb25BbHRlcm5hdGl2ZTsKIHN0cnVjdCBEaWN0aW9uYXJ5UG9wdXBJ
bmZvOworCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRF
WFRfTUVOVVMpCitzdHJ1Y3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm87CisjZW5kaWYKIH0K
IAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEVOQUJMRShEUkFHX1NVUFBPUlQpCkBAIC0x
NTksNyArMTYzLDcgQEAgV2ViTGF5b3V0TWlsZXN0b25lcyBraXRMYXlvdXRNaWxlc3RvbmVzKE9w
dGlvblNldDxXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmU+KTsKIAogI2lmIEhBVkUoVFJBTlNMQVRJ
T05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQogQHByb3BlcnR5IChjbGFz
cywgbm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xh
dGlvbjsKLS0gKHZvaWQpX2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb246KGNvbnN0IFN0cmlu
ZyYpdGV4dCBzZWxlY3Rpb25Cb3VuZHM6KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKWJvdW5kc0lu
VmlldyBtZW51TG9jYXRpb246KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiltZW51TG9jYXRpb247
CistICh2b2lkKV9oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOihjb25zdCBXZWJDb3JlOjpU
cmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYpaW5mbzsKICNlbmRpZgogCiAtICh2b2lkKV93aW5k
b3dWaXNpYmlsaXR5Q2hhbmdlZDooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb247Cg==
</data>
<flag name="review"
          id="448804"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428017</attachid>
            <date>2021-05-07 11:56:00 -0700</date>
            <delta_ts>2021-05-07 13:28:12 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225515-20210507115600.patch</filename>
            <type>text/plain</type>
            <size>37122</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MTcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI0ZjM5NmIyY2EyOWJj
OTkxMjI0NTE3N2JiZGIxY2Y4OTkxNTRjNS4uZjJiZGJmNjU4YzFjZjRkOWNjMWVjZGQwYjQwNDVl
MmM5NzUxMTJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIxLTA1LTA3ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gU2V0
IHRoZSAtaXNTb3VyY2VFZGl0YWJsZSBwcm9wZXJ0eSB3aGVuIHByZXNlbnRpbmcgd2VicGFnZSB0
cmFuc2xhdGlvbiBwb3B1cAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjI1NTE1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NzY1ODA0MD4KKworICAg
ICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIFNldCBgLVtMVFVJVHJhbnNs
YXRpb25WaWV3Q29udHJvbGxlciBpc1NvdXJjZUVkaXRhYmxlXWAgdG8gYFlFU2Agd2hlbiBzaG93
aW5nIHRoZSBjb250ZXh0IG1lbnUgZm9yIGVkaXRhYmxlCisgICAgICAgIGNvbnRlbnQuIEluc3Rl
YWQgb2YgcGx1bWJpbmcgYW5vdGhlciBib29sZWFuIGZsYWcgdGhyb3VnaCBgQ29udGV4dE1lbnVD
bGllbnRgIGFuZCBpbnRvIHRoZSBjbGllbnQgbGF5ZXJzIHRocm91Z2gKKyAgICAgICAgYGhhbmRs
ZVRyYW5zbGF0aW9uKClgLCB3ZSByb2xsIGFsbCBvZiB0aGUgd2VicGFnZSB0cmFuc2xhdGlvbiBj
b250ZXh0IG1lbnUgcGFyYW1ldGVycyBpbnRvIGEgc2luZ2xlIG9iamVjdAorICAgICAgICAoYFRy
YW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvYCksIGluY2x1ZGluZyBhIG5ldyBmbGFnIGluZGljYXRp
bmcgd2hldGhlciBvciBub3QgdGhlIHRyYW5zbGF0aW9uIGNvbnRyb2xsZXIgc2hvdWxkCisgICAg
ICAgIGJlIHNob3duIGluICJlZGl0YWJsZSIgbW9kZS4KKworICAgICAgICAqIEhlYWRlcnMuY21h
a2U6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVD
bGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNvbnRleHRNZW51SXRlbVNlbGVj
dGVkKToKKyAgICAgICAgKiBwYWdlL1RyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvLmg6IEFkZGVk
LgorCisgICAgICAgIFB1bGwgdGhlIHRyYW5zbGF0ZWQgdGV4dCBzdHJpbmcsIHNlbGVjdGlvbiBi
b3VuZHMsIG1lbnUgbG9jYXRpb24sIGFuZCB0aGUgbmV3IG1vZGUgZmxhZyBpbnRvIGEgc2VwYXJh
dGUgc3RydWN0LgorCisgICAgICAgIChXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5m
bzo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zbGF0aW9uQ29udGV4dE1l
bnVJbmZvOjpkZWNvZGUpOgorCiAyMDIxLTA1LTA3ICBDYXJsb3MgR2FybmFjaG8gIDxjYXJsb3Nn
QGdub21lLm9yZz4KIAogICAgICAgICBbR1RLNF0gUmV3cml0ZSBHVEsgZ2VzdHVyZSBzdXBwb3J0
IHRvIHdvcmsgZm9yIGJvdGggMy54IGFuZCA0LnguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdmYWYxZTZkMTI3NzEw
NmM3YmJmZTFjMjk3ZmJhNDA0YmRiNzMxZTUuLjNlNzczZjY5OThkOGUwOGNjMmNhZDY1OTYwYzFh
Y2I4YzRmYzk4MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjEtMDUtMDcgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBTZXQg
dGhlIC1pc1NvdXJjZUVkaXRhYmxlIHByb3BlcnR5IHdoZW4gcHJlc2VudGluZyB3ZWJwYWdlIHRy
YW5zbGF0aW9uIHBvcHVwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjU1MTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc3NjU4MDQwPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgU2VlIFdlYkNvcmUvQ2hhbmdl
TG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlQ29u
dGV4dE1lbnVUcmFuc2xhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJ
bXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbik6Cisg
ICAgICAgICogVUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6
UGFnZUNsaWVudEltcGw6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJDb250ZXh0TWVudUNsaWVudE1h
Yy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnVDbGllbnQ6OmhhbmRsZVRyYW5z
bGF0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24pOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisKIDIwMjEtMDUtMDcgIENhcmxv
cyBHYXJuYWNobyAgPGNhcmxvc2dAZ25vbWUub3JnPgogCiAgICAgICAgIFtHVEs0XSBSZXdyaXRl
IEdUSyBnZXN0dXJlIHN1cHBvcnQgdG8gd29yayBmb3IgYm90aCAzLnggYW5kIDQueC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCAzMzFjZjg5YTA2NGI2YTFjZDFjMDdjN2I4NGEyODQx
NDZiNGM1ZDE4Li5iYmNkMjIzNjViMmJkOGEwYjgyOWY3ODc0YzFkNmZmNTU4YjIxNjdiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDUtMDcgIFdl
bnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBT
ZXQgdGhlIC1pc1NvdXJjZUVkaXRhYmxlIHByb3BlcnR5IHdoZW4gcHJlc2VudGluZyB3ZWJwYWdl
IHRyYW5zbGF0aW9uIHBvcHVwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjU1MTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc3NjU4MDQwPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgU2VlIFdlYkNvcmUvQ2hh
bmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJD
b250ZXh0TWVudUNsaWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRN
ZW51Q2xpZW50Lm1tOgorICAgICAgICAoV2ViQ29udGV4dE1lbnVDbGllbnQ6OmhhbmRsZVRyYW5z
bGF0aW9uKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgtW1dlYlZp
ZXcgX2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb246XSk6CisgICAgICAgICgtW1dlYlZpZXcg
X2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb246c2VsZWN0aW9uQm91bmRzOm1lbnVMb2NhdGlv
bjpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXdJbnRlcm5hbC5oOgorCiAy
MDIxLTA1LTA0ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmVtb3ZlIHVudXNlZCByZWZlcmVuY2VzIHRvIFBhZ2VHcm91cCBmcm9tIFdlYktp
dExlZ2FjeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJj
ZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZWUzZjQ2YWM4YmQ5N2YyMzAzZDgwODU4MjI5
MzZhMTIwYmQzMmY0ZC4uOThlODU3OTM5NDc5ZWJkMzNmMDNlMzMwMjU0YTE0YmVhOGNhZmNmZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9IZWFkZXJzLmNtYWtlCkBAIC05NDUsNiArOTQ1LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFU
RV9GUkFNRVdPUktfSEVBREVSUwogICAgIHBhZ2UvU3VzcGVuZGFibGVUaW1lci5oCiAgICAgcGFn
ZS9UZXh0RGlyZWN0aW9uU3VibWVudUluY2x1c2lvbkJlaGF2aW9yLmgKICAgICBwYWdlL1RleHRJ
bmRpY2F0b3IuaAorICAgIHBhZ2UvVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaAogICAgIHBh
Z2UvVXNlckNvbnRlbnRDb250cm9sbGVyLmgKICAgICBwYWdlL1VzZXJDb250ZW50UHJvdmlkZXIu
aAogICAgIHBhZ2UvVXNlckNvbnRlbnRUeXBlcy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjE5MzUzYzlmMWI5NTVlNTRkM2Qx
YTIxZDkzM2U2YzJhNDdjNjMwMy4uNTBjMGFhNjQzMzA4ZjFiMjVlNGQ5ZDZjYTcwYmVhZWExMGY1
ZDRmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNTMzOCw2ICs1MzM4LDcgQEAKIAkJRjQ4MjIzMTExRTM4NjlCODAwNjZGQzc5
IC8qIFdlYkl0ZW1Qcm92aWRlclBhc3RlYm9hcmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0ODIyMzBGMUUzODY5QjgwMDY2RkM3OSAvKiBXZWJJdGVt
UHJvdmlkZXJQYXN0ZWJvYXJkLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJRjQ4MjIzMTMxRTM4NkUyNDAwNjZGQzc5IC8qIEFic3RyYWN0UGFzdGVi
b2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ4
MjIzMTIxRTM4NkUyNDAwNjZGQzc5IC8qIEFic3RyYWN0UGFzdGVib2FyZC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0ODI0MzRCMjYwQzMzMDYw
MDIyNDk3QyAvKiBJbWFnZU92ZXJsYXlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDgyNDM0ODI2MEMzMkYxMDAyMjQ5N0MgLyogSW1h
Z2VPdmVybGF5Q29udHJvbGxlci5oICovOyB9OworCQlGNDg1NzBBNTI2NDRDNzZEMDBDMDVGNzEg
LyogVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0ODU3MEE0MjY0NEM3NkQwMEMwNUY3MSAvKiBUcmFuc2xh
dGlvbkNvbnRleHRNZW51SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUY0OEI3RDUzMjVDMzQxRTYwMDlFNzVERCAvKiBJbWFnZUV4dHJhY3Rp
b25SZXN1bHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY0OEI3RDUyMjVDMzQxRTYwMDlFNzVERCAvKiBJbWFnZUV4dHJhY3Rpb25SZXN1bHQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGNDhEMkE2QzIx
NTYyM0I0MDBDNjc1MkIgLyogRm9udFNoYWRvdy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ4RDJBNkEyMTU2MjNCNDAwQzY3NTJCIC8qIEZvbnRTaGFk
b3cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlG
NDhEMkE3RTIxNTcxODI2MDBDNjc1MkIgLyogRm9udEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0OEQyQTcxMjE1NkRDMEEwMEM2NzUy
QiAvKiBGb250QXR0cmlidXRlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CkBAIC0xNjc5Niw2ICsxNjc5Nyw3IEBACiAJCUY0ODI0MzRBMjYwQzMyRjEw
MDIyNDk3QyAvKiBJbWFnZU92ZXJsYXlDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEltYWdlT3ZlcmxheUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlGNDgzODk4MzFFMURERjJCMDA3NkI3RUEgLyogRHVtcEVkaXRpbmdIaXN0b3J5LmpzICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBuYW1lID0gRHVtcEVkaXRpbmdIaXN0b3J5Lmpz
OyBwYXRoID0gU2NyaXB0cy9EdW1wRWRpdGluZ0hpc3RvcnkuanM7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUY0ODM4OTg0MUUxRERGMkIwMDc2QjdFQSAvKiBFZGl0aW5nSGlzdG9yeVV0
aWwuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IG5hbWUgPSBFZGl0aW5nSGlz
dG9yeVV0aWwuanM7IHBhdGggPSBTY3JpcHRzL0VkaXRpbmdIaXN0b3J5VXRpbC5qczsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRjQ4NTcwQTQyNjQ0Qzc2RDAwQzA1RjcxIC8qIFRyYW5z
bGF0aW9uQ29udGV4dE1lbnVJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRyYW5zbGF0aW9uQ29udGV4
dE1lbnVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0OEI3RDUyMjVDMzQx
RTYwMDlFNzVERCAvKiBJbWFnZUV4dHJhY3Rpb25SZXN1bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1h
Z2VFeHRyYWN0aW9uUmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0OEQy
QTZBMjE1NjIzQjQwMEM2NzUyQiAvKiBGb250U2hhZG93LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRT
aGFkb3cuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ4RDJBNzEyMTU2REMwQTAw
QzY3NTJCIC8qIEZvbnRBdHRyaWJ1dGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRBdHRyaWJ1dGVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjUxNyw2ICsyMjUxOSw3IEBACiAJ
CQkJQkM0QTUzMjQyNTYwNTU1OTAwMjhDNTkyIC8qIFRleHREaXJlY3Rpb25TdWJtZW51SW5jbHVz
aW9uQmVoYXZpb3IuaCAqLywKIAkJCQkyRDRGOTZGMTFBMUVDQzI0MDA5OEJGODggLyogVGV4dElu
ZGljYXRvci5jcHAgKi8sCiAJCQkJMkQ0Rjk2RjIxQTFFQ0MyNDAwOThCRjg4IC8qIFRleHRJbmRp
Y2F0b3IuaCAqLywKKwkJCQlGNDg1NzBBNDI2NDRDNzZEMDBDMDVGNzEgLyogVHJhbnNsYXRpb25D
b250ZXh0TWVudUluZm8uaCAqLywKIAkJCQlGNEUxOTY1RjIxRjI2RTRFMDAyODUwNzggLyogVW5k
b0l0ZW0uY3BwICovLAogCQkJCTJFQ0RCQUQ1MjFEODkwNjMwMEYwMEVDRCAvKiBVbmRvSXRlbS5o
ICovLAogCQkJCTJFQ0RCQUQ3MjFEODkwNjMwMEYwMEVDRCAvKiBVbmRvSXRlbS5pZGwgKi8sCkBA
IC0zMTQyNiw3ICszMTQyOSw2IEBACiAJCQkJMzFBNzk1QzcxODg4QkNCMjAwMzgyRjkwIC8qIEFO
R0xFSW5zdGFuY2VkQXJyYXlzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBQjBFRkFDOTA2
MDA5RDBDQUYgLyogQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk3MUVGQ0VEQzIwMkIz
OEE5MDBEN0M0MTEgLyogQW5pbWF0aW9uRWZmZWN0LmggaW4gSGVhZGVycyAqLywKLQkJCQk0NDlE
ODY0RjI2NDBDOUM1MDAwMTIyREUgLyogSGlnaGxpZ2h0VmlzaWJpbGl0eS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNzFFMkM0MjYyMUM5MzUyODAwMjRGOEM4IC8qIEFuaW1hdGlvbkVmZmVjdFBoYXNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTk4NDgwMTFBMUQ4MTdCMDBBMTMzMTggLyogQW5pbWF0
aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxMUFEMTI2MjM2RDg2RTUwMDZGRjM3QyAv
KiBBbmltYXRpb25FdmVudEJhc2UuaCBpbiBIZWFkZXJzICovLApAQCAtMzI2NDUsNiArMzI2NDcs
NyBAQAogCQkJCTQ0MzBEMDBCMjU3NUE4M0UwMDQ2RDQwMSAvKiBIaWdobGlnaHQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNEQ0ZBQkJEMThDMEFGNzgwMDZGODQ1MCAvKiBIaWdobGlnaHREYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0NDMwRDAwRDI1NzVBOEE1MDA0NkQ0MDEgLyogSGlnaGxpZ2h0
UmVnaXN0ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0OUQ4NjRGMjY0MEM5QzUwMDAxMjJERSAv
KiBIaWdobGlnaHRWaXNpYmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzk0RDE1NDBDMjc1
QzhCMDA2QkM2MTcgLyogSGlzdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdEQ0UyMDIxMDgw
N0M3NTAwNTdEMzk0IC8qIEhpc3RvcnlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTc0MUQxMTBCMDcyNTlBMDBFRDQ0MkMgLyogSGlzdG9yeUl0ZW0uaCBpbiBIZWFkZXJzICovLApA
QCAtMzQ4ODMsNyArMzQ4ODYsNiBAQAogCQkJCUU0NkI0MUY5MUNCMjRFNzAwMDhGMTFERSAvKiBT
Y3JpcHREaXNhbGxvd2VkU2NvcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5OThBRUQyMTNGQjIy
NEQwMDkwQjFBQSAvKiBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTA4QTQ4NDc4MEU1MjcyQzUwMEMzRkU3NiAvKiBTY3JpcHRFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKLQkJCQlFNEQ4NkU2RDI2NDAzOTRDMDBCNjI0MjUgLyogU3R5bGVTY29wZU9yZGlu
YWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUUzRTRFMkE4MUUzQjE3MTAwMDIzQkI4QSAvKiBTY3Jp
cHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTExQzlE
OUIwRUIzNjgxMjAwRTQwOURCIC8qIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTQxMTIyM0JBMjYwMjQ0RkUwMEIwQTBCNiAvKiBTY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTE5OSw2ICszNTIwMSw3IEBACiAJ
CQkJRTQ5NDZFQUYxNTZFNjRERDAwRDMyOTdGIC8qIFN0eWxlUnVsZUltcG9ydC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY5NEYzN0UyMzY2MTYyNjAwM0FBNUM3IC8qIFN0eWxlUnVsZVR5cGUuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0NjFENjVGMUJCMEM4MEQwMENCNTY0NSAvKiBTdHlsZVNjb3Bl
LmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEQ4NkU2RDI2NDAzOTRDMDBCNjI0MjUgLyogU3R5bGVT
Y29wZU9yZGluYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBNEY0OEFBMTZCMERGQzAwMEVEQkIy
OSAvKiBTdHlsZVNjb3BlUnVsZVNldHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUY0N0E1RTNFMTk1
QjhDOEEwMDQ4MzEwMCAvKiBTdHlsZVNjcm9sbFNuYXBQb2ludHMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTlENjM4MDEwMUFGMTczMjIwMDMxQTE1QyAvKiBTdHlsZVNlbGZBbGlnbm1lbnREYXRhLmgg
aW4gSGVhZGVycyAqLywKQEAgLTM1NTM3LDYgKzM1NTQwLDcgQEAKIAkJCQk0MTZFNkZFODFCQkQx
MkRGMDAwQTNGNzQgLyogVHJhbnNmb3JtU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxN0I0OTE2MTZBOUIwOTQwMDFDODgzOSAvKiBUcmFuc2l0aW9uRXZlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQ5RTkxMUQyMEVGODZENDcwMDlEMENBRiAvKiBUcmFuc2xh
dGVUcmFuc2Zvcm1PcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUY0ODU3MEE1MjY0NEM3
NkQwMEMwNUY3MSAvKiBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mby5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODU0RkU3MzcwQTIyOTdCRTAwNThEN0FEIC8qIFRyYXZlcnNhbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzdGRDQyOTgxMTgzNjg0NjAwOTNDMDI5IC8qIFRyZWVEZXB0aExpbWl0LmggaW4g
SGVhZGVycyAqLywKIAkJCQkxNEQ2NEI1RDEzNEE1QjZCMDBFNThGREEgLyogVHJlZVNjb3BlLmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNs
aWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXgg
ZjFjNmUyM2E4YjdiYTlkNjA1ZGFhMzExMWNlOTcwMGRmMDMwNjFiMC4uZDllMDM4N2M5NmIyOGQz
ODdhYmNiOGIxNzczYjAxMGJiMjA2NzM1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5jcHAKQEAgLTEyMCw3ICsxMjAsNyBAQCBjbGFzcyBFbXB0eUNvbnRleHRNZW51Q2xpZW50
IGZpbmFsIDogcHVibGljIENvbnRleHRNZW51Q2xpZW50IHsKICNlbmRpZgogCiAjaWYgSEFWRShU
UkFOU0xBVElPTl9VSV9TRVJWSUNFUykKLSAgICB2b2lkIGhhbmRsZVRyYW5zbGF0aW9uKGNvbnN0
IFN0cmluZyYsIGNvbnN0IEludFJlY3QmLCBjb25zdCBJbnRQb2ludCYpIGZpbmFsIHsgfQorICAg
IHZvaWQgaGFuZGxlVHJhbnNsYXRpb24oY29uc3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8m
KSBmaW5hbCB7IH0KICNlbmRpZgogCiAjaWYgUExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db250ZXh0TWVudUNsaWVudC5oCmluZGV4IGNjMzAxYjZmMDkyZTEwZTkyY2QyNTRkOTZjYjFl
MjdlNTkxOTNjMjYuLjJhOTA1M2FmYmI4MjA2MzM4YTBmMGUzMmU5M2Y2YjgzZjZmMDk1MmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q2xpZW50LmgKQEAgLTM1LDYgKzM1LDEwIEBA
IGNsYXNzIEZyYW1lOwogY2xhc3MgSW50UG9pbnQ7CiBjbGFzcyBJbnRSZWN0OwogCisjaWYgSEFW
RShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKK3N0cnVjdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51
SW5mbzsKKyNlbmRpZgorCiBjbGFzcyBDb250ZXh0TWVudUNsaWVudCB7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+Q29udGV4dE1lbnVDbGllbnQoKSA9IGRlZmF1bHQ7CkBAIC00OCw3ICs1Miw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFNwZWFraW5nKCkgPSAwOwogCiAjaWYgSEFW
RShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlVHJhbnNs
YXRpb24oY29uc3QgU3RyaW5nJiwgY29uc3QgSW50UmVjdCYsIGNvbnN0IEludFBvaW50JikgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlvbkNv
bnRleHRNZW51SW5mbyYpID0gMDsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXggOTJlNmY0
YzNiZDRmNTgwNWQxODUwYzFjZGM3ZjM2OTczZThiM2Q5Zi4uYzg0YzMyZTVhMjhiYmFkYjM1ZTll
OGU1NWEzYzk3YmNlMjgwOWM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcApAQCAtNjMsNiArNjMsNyBAQAogI2luY2x1ZGUgIlJlc291cmNlUmVx
dWVzdC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgi
CisjaW5jbHVkZSAiVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8uaCIKICNpbmNsdWRlICJUeXBp
bmdDb21tYW5kLmgiCiAjaW5jbHVkZSAiVXNlclR5cGluZ0dlc3R1cmVJbmRpY2F0b3IuaCIKICNp
bmNsdWRlICJXaW5kb3dGZWF0dXJlcy5oIgpAQCAtNTI3LDkgKzUyOCwxMiBAQCB2b2lkIENvbnRl
eHRNZW51Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJdGVtU2VsZWN0ZWQoQ29udGV4dE1lbnVBY3Rp
b24gYWN0aW9uLCBjbwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVHJhbnNsYXRlOgogI2lm
IEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpCiAgICAgICAgIGlmIChhdXRvIHZpZXcgPSBt
YWtlUmVmUHRyKGZyYW1lLT52aWV3KCkpKSB7Ci0gICAgICAgICAgICBhdXRvIHNlbGVjdGlvbkJv
dW5kcyA9IHZpZXctPmNvbnRlbnRzVG9Sb290VmlldyhlbmNsb3NpbmdJbnRSZWN0KGZyYW1lLT5z
ZWxlY3Rpb24oKS5zZWxlY3Rpb25Cb3VuZHMoKSkpOwotICAgICAgICAgICAgYXV0byBsb2NhdGlv
biA9IHZpZXctPmNvbnRlbnRzVG9Sb290VmlldyhtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLnJv
dW5kZWRQb2ludEluSW5uZXJOb2RlRnJhbWUoKSk7Ci0gICAgICAgICAgICBtX2NsaWVudC5oYW5k
bGVUcmFuc2xhdGlvbihtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLnNlbGVjdGVkVGV4dCgpLCBz
ZWxlY3Rpb25Cb3VuZHMsIGxvY2F0aW9uKTsKKyAgICAgICAgICAgIG1fY2xpZW50LmhhbmRsZVRy
YW5zbGF0aW9uKHsKKyAgICAgICAgICAgICAgICBtX2NvbnRleHQuaGl0VGVzdFJlc3VsdCgpLnNl
bGVjdGVkVGV4dCgpLAorICAgICAgICAgICAgICAgIHZpZXctPmNvbnRlbnRzVG9Sb290Vmlldyhl
bmNsb3NpbmdJbnRSZWN0KGZyYW1lLT5zZWxlY3Rpb24oKS5zZWxlY3Rpb25Cb3VuZHMoKSkpLAor
ICAgICAgICAgICAgICAgIHZpZXctPmNvbnRlbnRzVG9Sb290VmlldyhtX2NvbnRleHQuaGl0VGVz
dFJlc3VsdCgpLnJvdW5kZWRQb2ludEluSW5uZXJOb2RlRnJhbWUoKSksCisgICAgICAgICAgICAg
ICAgbV9jb250ZXh0LmhpdFRlc3RSZXN1bHQoKS5pc0NvbnRlbnRFZGl0YWJsZSgpID8gVHJhbnNs
YXRpb25Db250ZXh0TWVudU1vZGU6OkVkaXRhYmxlIDogVHJhbnNsYXRpb25Db250ZXh0TWVudU1v
ZGU6Ok5vbkVkaXRhYmxlLAorICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KICNlbmRpZgogICAg
ICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVHJhbnNsYXRpb25D
b250ZXh0TWVudUluZm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvVHJhbnNsYXRpb25Db250ZXh0
TWVudUluZm8uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTRhNGUxNDcxZWYzMjE5Y2NiYzY1YzBkMWQwMGNiMzc2
ZGYwOWM4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9UcmFuc2xhdGlv
bkNvbnRleHRNZW51SW5mby5oCkBAIC0wLDAgKzEsOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05U
RVhUX01FTlVTKQorCisjaW5jbHVkZSAiSW50UG9pbnQuaCIKKyNpbmNsdWRlICJJbnRSZWN0Lmgi
CisjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIFRyYW5zbGF0aW9uQ29u
dGV4dE1lbnVNb2RlIDogYm9vbCB7IE5vbkVkaXRhYmxlLCBFZGl0YWJsZSB9OworCitzdHJ1Y3Qg
VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8geworICAgIFN0cmluZyB0ZXh0OworICAgIEludFJl
Y3Qgc2VsZWN0aW9uQm91bmRzSW5Sb290VmlldzsKKyAgICBJbnRQb2ludCBsb2NhdGlvbkluUm9v
dFZpZXc7CisgICAgVHJhbnNsYXRpb25Db250ZXh0TWVudU1vZGUgbW9kZSB7IFRyYW5zbGF0aW9u
Q29udGV4dE1lbnVNb2RlOjpOb25FZGl0YWJsZSB9OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBPcHRpb25hbDxUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbz4gZGVjb2Rl
KERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgVHJhbnNsYXRp
b25Db250ZXh0TWVudUluZm86OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAg
IGVuY29kZXIgPDwgdGV4dDsKKyAgICBlbmNvZGVyIDw8IHNlbGVjdGlvbkJvdW5kc0luUm9vdFZp
ZXc7CisgICAgZW5jb2RlciA8PCBsb2NhdGlvbkluUm9vdFZpZXc7CisgICAgZW5jb2RlciA8PCBt
b2RlOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBPcHRpb25hbDxUcmFuc2xhdGlvbkNv
bnRleHRNZW51SW5mbz4gVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm86OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyKQoreworICAgIE9wdGlvbmFsPFN0cmluZz4gdGV4dDsKKyAgICBkZWNvZGVyID4+
IHRleHQ7CisgICAgaWYgKCF0ZXh0KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisg
ICAgT3B0aW9uYWw8SW50UmVjdD4gc2VsZWN0aW9uQm91bmRzSW5Sb290VmlldzsKKyAgICBkZWNv
ZGVyID4+IHNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXc7CisgICAgaWYgKCFzZWxlY3Rpb25Cb3Vu
ZHNJblJvb3RWaWV3KQorICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgT3B0aW9u
YWw8SW50UG9pbnQ+IGxvY2F0aW9uSW5Sb290VmlldzsKKyAgICBkZWNvZGVyID4+IGxvY2F0aW9u
SW5Sb290VmlldzsKKyAgICBpZiAoIWxvY2F0aW9uSW5Sb290VmlldykKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKworICAgIE9wdGlvbmFsPFRyYW5zbGF0aW9uQ29udGV4dE1lbnVNb2Rl
PiBtb2RlOworICAgIGRlY29kZXIgPj4gbW9kZTsKKyAgICBpZiAoIW1vZGUpCisgICAgICAgIHJl
dHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICByZXR1cm4ge3sgV1RGTW92ZSgqdGV4dCksIFdURk1v
dmUoKnNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcpLCBXVEZNb3ZlKCpsb2NhdGlvbkluUm9vdFZp
ZXcpLCAqbW9kZSB9fTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCituYW1lc3BhY2Ug
V1RGIHsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpUcmFuc2xhdGlv
bkNvbnRleHRNZW51TW9kZT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAg
ICAgIFdlYkNvcmU6OlRyYW5zbGF0aW9uQ29udGV4dE1lbnVNb2RlLAorICAgICAgICBXZWJDb3Jl
OjpUcmFuc2xhdGlvbkNvbnRleHRNZW51TW9kZTo6Tm9uRWRpdGFibGUsCisgICAgICAgIFdlYkNv
cmU6OlRyYW5zbGF0aW9uQ29udGV4dE1lbnVNb2RlOjpFZGl0YWJsZQorICAgID47Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXVEYKKworI2VuZGlmIC8vIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklD
RVMpICYmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQppbmRleCA4ZWRjMDg1ZWZjYmYyN2RiODk1
NzQ2ZDdiZDNmNGQ3Y2I0MWFjOGQyLi40YjVkYjIxNTMwNzg0MjYzNzgzOTM4ZGJmZmMyMjViMThl
OWM2NGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdl
UHJveHlDb2NvYS5tbQpAQCAtNjI2LDkgKzYyNiw5IEBAIGJvb2wgV2ViUGFnZVByb3h5OjpjYW5I
YW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKCkgY29uc3QKICAgICByZXR1cm4gcGFnZUNsaWVu
dCgpLmNhbkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oKTsKIH0KIAotdm9pZCBXZWJQYWdl
UHJveHk6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiBib3VuZHNJblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBv
aW50JiBsb2NhdGlvbkluVmlldykKK3ZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVDb250ZXh0TWVu
dVRyYW5zbGF0aW9uKGNvbnN0IFRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvJiBpbmZvKQogewot
ICAgIHJldHVybiBwYWdlQ2xpZW50KCkuaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbih0ZXh0
LCBib3VuZHNJblZpZXcsIGxvY2F0aW9uSW5WaWV3KTsKKyAgICByZXR1cm4gcGFnZUNsaWVudCgp
LmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oaW5mbyk7CiB9CiAKICNlbmRpZiAvLyBIQVZF
KFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlZpZXdJbXBsLmgKaW5kZXggOWNjYmRiODBmM2M5YWFiZGRmYzU5Y2RhNzU0YWVjOTA0NWYy
MWJlZC4uM2FkNTE0MmNkMTc3YWFkYWU1YzM4NTMyZDU3ZmNhNDM4MGFjZDRiNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCkBAIC05Niw2ICs5NiwxMCBA
QCBjbGFzcyBQYWdlQ29uZmlndXJhdGlvbjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBT
aGFyZURhdGFXaXRoUGFyc2VkVVJMOwogCisjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNF
UykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCitzdHJ1Y3QgVHJhbnNsYXRpb25Db250ZXh0TWVu
dUluZm87CisjZW5kaWYKKwogI2lmIEVOQUJMRShJTUFHRV9FWFRSQUNUSU9OKQogc3RydWN0IElt
YWdlRXh0cmFjdGlvblJlc3VsdDsKICNlbmRpZgpAQCAtNjQ4LDcgKzY1Miw3IEBAIHB1YmxpYzoK
IAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01F
TlVTKQogICAgIGJvb2wgY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbigpIGNvbnN0Owot
ICAgIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcmIHRleHQs
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGJvdW5kc0luVmlldywgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIG1lbnVMb2NhdGlvbik7CisgICAgdm9pZCBoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0
aW9uKGNvbnN0IFdlYkNvcmU6OlRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvJik7CiAjZW5kaWYK
IAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OX0NPT1JESU5BVE9SKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCBhYWNkNTU4MDRlNTJkODU2ODc0
YWJmNzQ4MjkxNzM4NTkzODU3NDRjLi4yM2E1MDQ2ODExNDEzMzUxOWYyZWQxYmRjZDgyNGNkOTJh
NjViNDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5t
bQpAQCAtMTA3LDYgKzEwNyw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Byb21pc2VkQXR0YWNobWVu
dEluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1RleHRVbmRvSW5zZXJ0aW9uTWFya3VwTWFjLmg+CisjaW1wb3J0IDxX
ZWJDb3JlL1RyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dl
YkFjdGlvbkRpc2FibGluZ0NBTGF5ZXJEZWxlZ2F0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJD
b3JlQ0FMYXllckV4dHJhcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlRnVsbFNjcmVlblBs
YWNlaG9sZGVyVmlldy5oPgpAQCAtMTQ1LDYgKzE0NiwxMCBAQAogI2lmIEhBVkUoVFJBTlNMQVRJ
T05fVUlfU0VSVklDRVMpCiAjaW1wb3J0IDxUcmFuc2xhdGlvblVJU2VydmljZXMvTFRVSVRyYW5z
bGF0aW9uVmlld0NvbnRyb2xsZXIuaD4KIAorQGludGVyZmFjZSBMVFVJVHJhbnNsYXRpb25WaWV3
Q29udHJvbGxlciAoU3RhZ2luZ183NzY2MDY3NSkKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5
KSB2b2lkKF5yZXBsYWNlbWVudEhhbmRsZXIpKE5TQXR0cmlidXRlZFN0cmluZyAqKTsKK0BlbmQK
KwogU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLX09QVElPTkFMKFRyYW5zbGF0aW9uVUlTZXJ2
aWNlcykKIFNPRlRfTElOS19DTEFTU19PUFRJT05BTChUcmFuc2xhdGlvblVJU2VydmljZXMsIExU
VUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVyKQogI2VuZGlmCkBAIC01NTg2LDcgKzU1OTEsNyBA
QCBib29sIFdlYlZpZXdJbXBsOjpjYW5IYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKCkgY29u
c3QKICAgICByZXR1cm4gVHJhbnNsYXRpb25VSVNlcnZpY2VzTGlicmFyeSgpICYmIFtnZXRMVFVJ
VHJhbnNsYXRpb25WaWV3Q29udHJvbGxlckNsYXNzKCkgaXNBdmFpbGFibGVdOwogfQogCi12b2lk
IFdlYlZpZXdJbXBsOjpoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYg
dGV4dCwgY29uc3QgSW50UmVjdCYgYm91bmRzSW5WaWV3LCBjb25zdCBJbnRQb2ludCYgbWVudUxv
Y2F0aW9uKQordm9pZCBXZWJWaWV3SW1wbDo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihj
b25zdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYgaW5mbykKIHsKICAgICBpZiAoIWNhbkhh
bmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oKSkgewogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKQEAgLTU1OTUsOCArNTYwMCwxNSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpoYW5kbGVDb250
ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgSW50UmVjdAogCiAg
ICAgYXV0byB2aWV3ID0gbV92aWV3LmdldCgpOwogICAgIGF1dG8gdHJhbnNsYXRpb25WaWV3Q29u
dHJvbGxlciA9IGFkb3B0TlMoW2FsbG9jTFRVSVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXJJbnN0
YW5jZSgpIGluaXRdKTsKLSAgICBhdXRvIHRleHRUb1RyYW5zbGF0ZSA9IGFkb3B0TlMoW1tOU0F0
dHJpYnV0ZWRTdHJpbmcgYWxsb2NdIGluaXRXaXRoU3RyaW5nOnRleHRdKTsKLSAgICBbdHJhbnNs
YXRpb25WaWV3Q29udHJvbGxlciBzZXRUZXh0OnRleHRUb1RyYW5zbGF0ZS5nZXQoKV07CisgICAg
W3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgc2V0VGV4dDphZG9wdE5TKFtbTlNBdHRyaWJ1dGVk
U3RyaW5nIGFsbG9jXSBpbml0V2l0aFN0cmluZzppbmZvLnRleHRdKS5nZXQoKV07CisgICAgaWYg
KGluZm8ubW9kZSA9PSBXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51TW9kZTo6RWRpdGFi
bGUgJiYgW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxl
Y3RvcihzZXRSZXBsYWNlbWVudEhhbmRsZXI6KV0pIHsKKyAgICAgICAgW3RyYW5zbGF0aW9uVmll
d0NvbnRyb2xsZXIgc2V0SXNTb3VyY2VFZGl0YWJsZTpZRVNdOworICAgICAgICBbdHJhbnNsYXRp
b25WaWV3Q29udHJvbGxlciBzZXRSZXBsYWNlbWVudEhhbmRsZXI6W3RoaXMsIHdlYWtUaGlzID0g
bWFrZVdlYWtQdHIoKnRoaXMpXShOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZykgeworICAgICAg
ICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIGluc2VydFRleHQoc3RyaW5nLnN0
cmluZyk7CisgICAgICAgIH1dOworICAgIH0KKwogICAgIGlmIChOU0VxdWFsU2l6ZXMoW3RyYW5z
bGF0aW9uVmlld0NvbnRyb2xsZXIgcHJlZmVycmVkQ29udGVudFNpemVdLCBOU1plcm9TaXplKSkK
ICAgICAgICAgW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgc2V0UHJlZmVycmVkQ29udGVudFNp
emU6TlNNYWtlU2l6ZSg0MDAsIDQwMCldOwogCkBAIC01NjA4LDE0ICs1NjIwLDE0IEBAIHZvaWQg
V2ViVmlld0ltcGw6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiB0
ZXh0LCBjb25zdCBJbnRSZWN0CiAgICAgW3BvcG92ZXIgc2V0Q29udGVudFNpemU6W3RyYW5zbGF0
aW9uVmlld0NvbnRyb2xsZXIgcHJlZmVycmVkQ29udGVudFNpemVdXTsKIAogICAgIE5TUmVjdEVk
Z2UgcHJlZmVycmVkRWRnZTsKLSAgICBhdXRvIGFpbSA9IG1lbnVMb2NhdGlvbi54KCk7Ci0gICAg
YXV0byBoaWdobGlnaHQgPSBib3VuZHNJblZpZXcuY2VudGVyKCkueCgpOworICAgIGF1dG8gYWlt
ID0gaW5mby5sb2NhdGlvbkluUm9vdFZpZXcueCgpOworICAgIGF1dG8gaGlnaGxpZ2h0ID0gaW5m
by5zZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3LmNlbnRlcigpLngoKTsKICAgICBpZiAoYWltID09
IGhpZ2hsaWdodCkKICAgICAgICAgcHJlZmVycmVkRWRnZSA9IFt2aWV3IHVzZXJJbnRlcmZhY2VM
YXlvdXREaXJlY3Rpb25dID09IE5TVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvblJpZ2h0VG9M
ZWZ0ID8gTlNSZWN0RWRnZU1pblggOiBOU1JlY3RFZGdlTWF4WDsKICAgICBlbHNlCiAgICAgICAg
IHByZWZlcnJlZEVkZ2UgPSBhaW0gPiBoaWdobGlnaHQgPyBOU1JlY3RFZGdlTWF4WCA6IE5TUmVj
dEVkZ2VNaW5YOwogCi0gICAgW3BvcG92ZXIgc2hvd1JlbGF0aXZlVG9SZWN0OmJvdW5kc0luVmll
dyBvZlZpZXc6dmlldy5nZXQoKSBwcmVmZXJyZWRFZGdlOnByZWZlcnJlZEVkZ2VdOworICAgIFtw
b3BvdmVyIHNob3dSZWxhdGl2ZVRvUmVjdDppbmZvLnNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcg
b2ZWaWV3OnZpZXcuZ2V0KCkgcHJlZmVycmVkRWRnZTpwcmVmZXJyZWRFZGdlXTsKIH0KIAogI2Vu
ZGlmIC8vIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01F
TlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IGI0MWQ4NDU2MDk3ZmZj
YjY5MTBkNTkzOTkzYzZmNzZjMmI5ZWRlMWEuLjQxN2UxMWQ0OTY2MDdhMzAwY2ZiNjVmZWQ2Yzdm
NGNhY2UwYzkyNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTEyNiw2
ICsxMjYsMTAgQEAgc3RydWN0IERyYWdJdGVtOwogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1F
TlQpCiBzdHJ1Y3QgUHJvbWlzZWRBdHRhY2htZW50SW5mbzsKICNlbmRpZgorCisjaWYgSEFWRShU
UkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCitzdHJ1Y3Qg
VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm87CisjZW5kaWYKIH0KIAogbmFtZXNwYWNlIFdlYktp
dCB7CkBAIC02MTcsNyArNjIxLDcgQEAgcHVibGljOgogCiAjaWYgSEFWRShUUkFOU0xBVElPTl9V
SV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAgdmlydHVhbCBib29sIGNh
bkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCB2
b2lkIGhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiB0ZXh0LCBjb25z
dCBXZWJDb3JlOjpJbnRSZWN0JiBib3VuZHNJblZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBtZW51TG9jYXRpb24pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVU
cmFuc2xhdGlvbihjb25zdCBXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYpID0g
MDsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRl
eCAyNmM5ZjczODM1MjNlN2Q3YmU4ZDllMWExYWFhN2Y5NjU0Njk2ZGMwLi41YjQ1N2RmYjYwMzFl
ZjYzOWFkM2FlM2ZjYmZmZmFlNmE2ZDg1NzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaApAQCAtMTA4LDYgKzEwOCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0Q2hl
Y2tpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RleHRHcmFudWxhcml0eS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvVGV4dE1hbmlwdWxhdGlvbkNvbnRyb2xsZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1RyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VySW50
ZXJmYWNlTGF5b3V0RGlyZWN0aW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9WaWV3cG9ydEFyZ3Vt
ZW50cy5oPgogI2luY2x1ZGUgPG1lbW9yeT4KQEAgLTE5MTEsNyArMTkxMiw3IEBAIHB1YmxpYzoK
IAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhUX01F
TlVTKQogICAgIGJvb2wgY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbigpIGNvbnN0Owot
ICAgIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBTdHJpbmcmIHRleHQs
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGJvdW5kc0luVmlldywgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIGxvY2F0aW9uSW5WaWV3KTsKKyAgICB2b2lkIGhhbmRsZUNvbnRleHRNZW51VHJhbnNs
YXRpb24oY29uc3QgV2ViQ29yZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mKTsKICNlbmRp
ZgogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT05fQ09PUkRJTkFUT1IpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZjRlMDgyZmFm
YmFiZTkzZTAxZWU2ZTNkMDE5ZTAzYWI5YmYwOTVhMi4uN2Q0MTY0M2ZmOGFmNDU4N2ZmMTgwMzVl
YzhlYmZmZDg0YWU0YWU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjI4LDcgKzIyOCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBh
Z2VQcm94eSB7CiAjZW5kaWYKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYm
IEVOQUJMRShDT05URVhUX01FTlVTKQotICAgIEhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24o
U3RyaW5nIHRleHQsIFdlYkNvcmU6OkludFJlY3QgYm91bmRzSW5WaWV3LCBXZWJDb3JlOjpJbnRQ
b2ludCBsb2NhdGlvbkluVmlldykKKyAgICBIYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKHN0
cnVjdCBXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyBpbmZvKQogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfQ09OVEVYVF9NRU5VUykgJiYgVVNFKFVJQ09OVEVY
VE1FTlUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVu
dEltcGxNYWMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1h
Yy5oCmluZGV4IGM1OGFkNDc4YWYyNGY0Mzk4NzJjNTE0YjE3YjM3MDYwMWU0ZTFjOTMuLjU4YmU0
YTJjYWU0NTM3ZTU0NjNiZGQxYjZiNWJlMTY4YmE2OTI3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oCkBAIC0yODMsNyArMjgzLDcgQEAg
cHJpdmF0ZToKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShD
T05URVhUX01FTlVTKQogICAgIGJvb2wgY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbigp
IGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQgaGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihj
b25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmKSBvdmVycmlkZTsKKyAgICB2b2lkIGhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24o
Y29uc3QgV2ViQ29yZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mKSBvdmVycmlkZTsKICNl
bmRpZgogCiAgICAgTlNWaWV3ICptX3ZpZXc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KaW5kZXggNjdkZmUyMDcyNmI5ZDZiN2UwMTczODAx
ZGE3YjhiYWUzYTg3ZWUyOC4uNzg4YTI3OTZkYmIxY2Y0NTllZmUxMjRjNmYwZDdkMGE2OThiN2U5
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBs
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1h
Yy5tbQpAQCAtMTAyMiw5ICsxMDIyLDkgQEAgYm9vbCBQYWdlQ2xpZW50SW1wbDo6Y2FuSGFuZGxl
Q29udGV4dE1lbnVUcmFuc2xhdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIG1faW1wbC0+Y2FuSGFu
ZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbigpOwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBsOjpo
YW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgSW50
UmVjdCYgYm91bmRzSW5WaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbWVudUxvY2F0aW9u
KQordm9pZCBQYWdlQ2xpZW50SW1wbDo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25z
dCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYgaW5mbykKIHsKLSAgICBtX2ltcGwtPmhhbmRs
ZUNvbnRleHRNZW51VHJhbnNsYXRpb24odGV4dCwgYm91bmRzSW5WaWV3LCBtZW51TG9jYXRpb24p
OworICAgIG1faW1wbC0+aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihpbmZvKTsKIH0KIAog
I2VuZGlmIC8vIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VSVklDRVMpICYmIEVOQUJMRShDT05URVhU
X01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaAppbmRleCAwMzFjNTU0NmQ3ZWQ2YjRi
OTFlMjU1MjY0OWM5NTVjZDUxYzc0ZTgxLi40YTJhYTRkNmZhMGM2Y2FlOTdiYzEyYzliMjIwMjM5
OThjZGQ5ZTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaApAQCAtNTcsNyArNTcsNyBA
QCBwcml2YXRlOgogI2VuZGlmCiAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQot
ICAgIHZvaWQgaGFuZGxlVHJhbnNsYXRpb24oY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYgc2VsZWN0aW9uQm91bmRzSW5Sb290VmlldywgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIGxvY2F0aW9uSW5Sb290VmlldykgZmluYWw7CisgICAgdm9pZCBoYW5kbGVUcmFuc2xhdGlv
bihjb25zdCBXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYpIGZpbmFsOwogI2Vu
ZGlmCiAKICNpZiBQTEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkNvbnRleHRNZW51Q2xpZW50TWFjLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJDb250ZXh0TWVudUNs
aWVudE1hYy5tbQppbmRleCAwYzM0OTlkMzM5NGIxMWNiMzlkOWEzOTJjYzY5NDU0ZTQ4YTgzMTkx
Li5mNTFiYjU2MDBjYzY2OWI4ZjZhODY2NDVlN2IwMDY4NmI3MjdhNzNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkNvbnRleHRNZW51
Q2xpZW50TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9tYWMvV2ViQ29udGV4dE1lbnVDbGllbnRNYWMubW0KQEAgLTM3LDYgKzM3LDcgQEAKICNpbXBv
cnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BhZ2UuaD4KICNpbXBv
cnQgPFdlYkNvcmUvVGV4dEluZGljYXRvci5oPgorI2ltcG9ydCA8V2ViQ29yZS9UcmFuc2xhdGlv
bkNvbnRleHRNZW51SW5mby5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5h
bWVzcGFjZSBXZWJLaXQgewpAQCAtOTYsOSArOTcsOSBAQCB2b2lkIFdlYkNvbnRleHRNZW51Q2xp
ZW50OjpzZWFyY2hXaXRoU3BvdGxpZ2h0KCkKIAogI2lmIEhBVkUoVFJBTlNMQVRJT05fVUlfU0VS
VklDRVMpCiAKLXZvaWQgV2ViQ29udGV4dE1lbnVDbGllbnQ6OmhhbmRsZVRyYW5zbGF0aW9uKGNv
bnN0IFN0cmluZyYgdGV4dCwgY29uc3QgSW50UmVjdCYgYm91bmRzLCBjb25zdCBJbnRQb2ludCYg
bG9jYXRpb24pCit2b2lkIFdlYkNvbnRleHRNZW51Q2xpZW50OjpoYW5kbGVUcmFuc2xhdGlvbihj
b25zdCBXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYgaW5mbykKIHsKLSAgICBt
X3BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQ29udGV4dE1lbnVUcmFu
c2xhdGlvbih0ZXh0LCBib3VuZHMsIGxvY2F0aW9uKSk7CisgICAgbV9wYWdlLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oaW5mbykpOwog
fQogCiAjZW5kaWYgLy8gSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZjJhN2I1NmJkMGQwMmVj
NzdiNDk4Mjc4YjkwNGRmMDYzN2Y5ZDFlZi4uOTBhZThhOTdiNmNlNDkzMjU5M2I0OTJkY2IzMDE2
OGM2OWIxZWVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKQEAgLTI0NCw2ICsyNDQsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU3ViZnJhbWVMb2Fk
ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1N1YnN0aXR1dGVEYXRhLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9UZXh0SXRlcmF0b3IuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zbGF0aW9uQ29udGV4
dE1lbnVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyQ29udGVudFVSTFBhdHRlcm4uaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJHZXN0dXJlSW5kaWNhdG9yLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9Vc2VySW5wdXRCcmlkZ2UuaD4KQEAgLTc1NzEsOSArNzU3Miw5IEBAIHZvaWQgV2ViUGFn
ZTo6bGFzdE5hdmlnYXRpb25XYXNBcHBCb3VuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wp
PiYmIGNvbXBsZXRpCiAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKSAmJiBFTkFC
TEUoQ09OVEVYVF9NRU5VUykKIAotdm9pZCBXZWJQYWdlOjpoYW5kbGVDb250ZXh0TWVudVRyYW5z
bGF0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgSW50UmVjdCYgYm91bmRzSW5WaWV3LCBj
b25zdCBJbnRQb2ludCYgbG9jYXRpb25JblZpZXcpCit2b2lkIFdlYlBhZ2U6OmhhbmRsZUNvbnRl
eHRNZW51VHJhbnNsYXRpb24oY29uc3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mIGluZm8p
CiB7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpIYW5kbGVDb250ZXh0TWVudVRy
YW5zbGF0aW9uKHRleHQsIGJvdW5kc0luVmlldywgbG9jYXRpb25JblZpZXcpKTsKKyAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oaW5m
bykpOwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAppbmRleCBjNmI0NzYxYjI0ZTlkYjJjZGFkMDgwOTM3NDgzOTE5ZTgxOTQ3MzY4Li5lZTQ0
NzNhZGM0Yjk4MGUwZGI4ZDdhM2UwMzQ4N2JiMmZlODk4ZmJjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0yNDcsNiArMjQ3LDEwIEBAIHN0cnVjdCBW
aWV3cG9ydEFyZ3VtZW50czsKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogY2xhc3Mg
SFRNTEF0dGFjaG1lbnRFbGVtZW50OwogI2VuZGlmCisKKyNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJ
X1NFUlZJQ0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKK3N0cnVjdCBUcmFuc2xhdGlvbkNv
bnRleHRNZW51SW5mbzsKKyNlbmRpZgogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTEzOTYs
NyArMTQwMCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9T
RVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCi0gICAgdm9pZCBoYW5kbGVDb250ZXh0
TWVudVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYgdGV4dCwgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYgc2VsZWN0aW9uQm91bmRzSW5WaWV3LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbWVudUxv
Y2F0aW9uSW5WaWV3KTsKKyAgICB2b2lkIGhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29u
c3QgV2ViQ29yZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mKTsKICNlbmRpZgogCiAjaWYg
RU5BQkxFKE1FRElBX0NPTlRST0xTX0NPTlRFWFRfTUVOVVMpICYmIFVTRShVSUNPTlRFWFRNRU5V
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q29udGV4dE1lbnVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmgKaW5kZXggYWZiYzAwNzI5MzU2Zjc3YTM5NDFlNzc2
NDJmZjk4YjViOGE1ODcxZC4uZWY1ZWZiNTU0OTg2MTA0MmZkN2NkMWI3NThmMzFhY2ZlNGJhYzNl
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q29udGV4dE1lbnVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoK
ICNlbmRpZgogCiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykKLSAgICB2b2lkIGhh
bmRsZVRyYW5zbGF0aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNl
bGVjdGlvbkJvdW5kc0luUm9vdFZpZXcsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBsb2NhdGlv
bkluUm9vdFZpZXcpIGZpbmFsOworICAgIHZvaWQgaGFuZGxlVHJhbnNsYXRpb24oY29uc3QgV2Vi
Q29yZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mKSBmaW5hbDsKICNlbmRpZgogCiBwcml2
YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViQ29udGV4dE1lbnVDbGllbnQubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5tbQppbmRleCAwMzgyODIyYjQwMWRkNTg4YzBi
YTkyYzBmODNiMWVhZGRlYjQ0ZDY4Li4xY2MyNzJhOTg2NWJhYzM4MGQ4OTI4Yzg4ZjkzZWE4Nzcz
MWVlMzk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJDb250ZXh0TWVudUNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5tbQpAQCAtMTQ5LDkgKzE0OSw5IEBA
IGJvb2wgV2ViQ29udGV4dE1lbnVDbGllbnQ6OmNsaWVudEZsb2F0UmVjdEZvck5vZGUoTm9kZSYg
bm9kZSwgRmxvYXRSZWN0JiByZWN0KSBjCiAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJ
Q0VTKQogCi12b2lkIFdlYkNvbnRleHRNZW51Q2xpZW50OjpoYW5kbGVUcmFuc2xhdGlvbihjb25z
dCBTdHJpbmcmIHRleHQsIGNvbnN0IEludFJlY3QmIHNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcs
IGNvbnN0IEludFBvaW50JiBsb2NhdGlvbkluUm9vdFZpZXcpCit2b2lkIFdlYkNvbnRleHRNZW51
Q2xpZW50OjpoYW5kbGVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5m
byYgaW5mbykKIHsKLSAgICBbbV93ZWJWaWV3IF9oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9u
OnRleHQgc2VsZWN0aW9uQm91bmRzOnNlbGVjdGlvbkJvdW5kc0luUm9vdFZpZXcgbWVudUxvY2F0
aW9uOmxvY2F0aW9uSW5Sb290Vmlld107CisgICAgW21fd2ViVmlldyBfaGFuZGxlQ29udGV4dE1l
bnVUcmFuc2xhdGlvbjppbmZvXTsKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggYmI5MTM5MmE2YjIyZmI3MjE4ZDA2NDM3MDAxN2Ux
OTdkMTUxZDY5Ni4uNzI2NGJmZGNkNzJkZTEzNjk2MGEzMjM4Y2IwMDIxNmZiODkyZmY3YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMjE1LDYgKzIx
NSw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1N0eWxlUHJvcGVydGllcy5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9UZXh0UmVzb3VyY2VEZWNvZGVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1RocmVhZENoZWNr
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1RyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1VUSVJlZ2lzdHJ5Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1VzZXJBZ2VudC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9Vc2VyQ29udGVudENvbnRyb2xsZXIuaD4KQEAgLTM1Miw2ICsz
NTMsMTAgQEAKICNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQogI2ltcG9ydCA8VHJh
bnNsYXRpb25VSVNlcnZpY2VzL0xUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVyLmg+CiAKK0Bp
bnRlcmZhY2UgTFRVSVRyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgKFN0YWdpbmdfNzc2NjA2NzUp
CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgdm9pZChecmVwbGFjZW1lbnRIYW5kbGVyKShO
U0F0dHJpYnV0ZWRTdHJpbmcgKik7CitAZW5kCisKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09S
S19PUFRJT05BTChUcmFuc2xhdGlvblVJU2VydmljZXMpCiBTT0ZUX0xJTktfQ0xBU1NfT1BUSU9O
QUwoVHJhbnNsYXRpb25VSVNlcnZpY2VzLCBMVFVJVHJhbnNsYXRpb25WaWV3Q29udHJvbGxlcikK
ICNlbmRpZgpAQCAtOTYzOCw3ICs5NjQzLDcgQEAgKyAoQk9PTClfY2FuSGFuZGxlQ29udGV4dE1l
bnVUcmFuc2xhdGlvbgogICAgIHJldHVybiBUcmFuc2xhdGlvblVJU2VydmljZXNMaWJyYXJ5KCkg
JiYgW2dldExUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVyQ2xhc3MoKSBpc0F2YWlsYWJsZV07
CiB9CiAKLS0gKHZvaWQpX2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb246KGNvbnN0IFN0cmlu
ZyYpdGV4dCBzZWxlY3Rpb25Cb3VuZHM6KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKXNlbGVjdGlv
bkJvdW5kc0luUm9vdFZpZXcgbWVudUxvY2F0aW9uOihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYp
bG9jYXRpb25JblJvb3RWaWV3CistICh2b2lkKV9oYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9u
Oihjb25zdCBXZWJDb3JlOjpUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYpaW5mbwogewogICAg
IGlmICghV2ViVmlldy5fY2FuSGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbikgewogICAgICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTk2NDYsMTAgKzk2NTEsMTcgQEAgLSAodm9pZClf
aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbjooY29uc3QgU3RyaW5nJil0ZXh0IHNlbGVjdGlv
bkJvdW5kczooY29uc3QKICAgICB9CiAKICAgICBhdXRvIHRyYW5zbGF0aW9uVmlld0NvbnRyb2xs
ZXIgPSBhZG9wdE5TKFthbGxvY0xUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVySW5zdGFuY2Uo
KSBpbml0XSk7Ci0gICAgW3RyYW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgc2V0VGV4dDphZG9wdE5T
KFtbTlNBdHRyaWJ1dGVkU3RyaW5nIGFsbG9jXSBpbml0V2l0aFN0cmluZzp0ZXh0XSkuZ2V0KCld
OworICAgIFt0cmFuc2xhdGlvblZpZXdDb250cm9sbGVyIHNldFRleHQ6YWRvcHROUyhbW05TQXR0
cmlidXRlZFN0cmluZyBhbGxvY10gaW5pdFdpdGhTdHJpbmc6aW5mby50ZXh0XSkuZ2V0KCldOwor
ICAgIGlmIChpbmZvLm1vZGUgPT0gV2ViQ29yZTo6VHJhbnNsYXRpb25Db250ZXh0TWVudU1vZGU6
OkVkaXRhYmxlICYmIFt0cmFuc2xhdGlvblZpZXdDb250cm9sbGVyIHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3Ioc2V0UmVwbGFjZW1lbnRIYW5kbGVyOildKSB7CisgICAgICAgIFt0cmFuc2xh
dGlvblZpZXdDb250cm9sbGVyIHNldElzU291cmNlRWRpdGFibGU6WUVTXTsKKyAgICAgICAgW3Ry
YW5zbGF0aW9uVmlld0NvbnRyb2xsZXIgc2V0UmVwbGFjZW1lbnRIYW5kbGVyOlt3ZWFrU2VsZiA9
IFdlYWtPYmpDUHRyPFdlYlZpZXc+KHNlbGYpXShOU0F0dHJpYnV0ZWRTdHJpbmcgKnN0cmluZykg
eworICAgICAgICAgICAgYXV0byBzdHJvbmdTZWxmID0gd2Vha1NlbGYuZ2V0KCk7CisgICAgICAg
ICAgICBbc3Ryb25nU2VsZiBpbnNlcnRUZXh0OnN0cmluZy5zdHJpbmddOworICAgICAgICB9XTsK
KyAgICB9CiAKLSAgICBhdXRvIGNvbnZlcnRlZFNlbGVjdGlvbkJvdW5kcyA9IFtzZWxmIF9jb252
ZXJ0UmVjdEZyb21Sb290VmlldzpzZWxlY3Rpb25Cb3VuZHNJblJvb3RWaWV3XTsKLSAgICBhdXRv
IGNvbnZlcnRlZE1lbnVMb2NhdGlvbiA9IFtzZWxmIF9jb252ZXJ0UG9pbnRGcm9tUm9vdFZpZXc6
bG9jYXRpb25JblJvb3RWaWV3XTsKKyAgICBhdXRvIGNvbnZlcnRlZFNlbGVjdGlvbkJvdW5kcyA9
IFtzZWxmIF9jb252ZXJ0UmVjdEZyb21Sb290VmlldzppbmZvLnNlbGVjdGlvbkJvdW5kc0luUm9v
dFZpZXddOworICAgIGF1dG8gY29udmVydGVkTWVudUxvY2F0aW9uID0gW3NlbGYgX2NvbnZlcnRQ
b2ludEZyb21Sb290VmlldzppbmZvLmxvY2F0aW9uSW5Sb290Vmlld107CiAKICAgICBhdXRvIHBv
cG92ZXIgPSBhZG9wdE5TKFtbTlNQb3BvdmVyIGFsbG9jXSBpbml0XSk7CiAgICAgW3BvcG92ZXIg
c2V0QmVoYXZpb3I6TlNQb3BvdmVyQmVoYXZpb3JUcmFuc2llbnRdOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3SW50ZXJuYWwuaCBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlld0ludGVybmFsLmgKaW5kZXggNTVmMDcxODIy
YmM5MmIxYTlkODEzYzNiY2ZhNDU4ZWEyZmU5Y2U0YS4uNzMzNzJhMGJkYTE1M2JmYTM3NjEwMjNj
ZjQ5NWQ3OTZmYTcxOGNjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXdJbnRlcm5hbC5oCkBAIC02NSw2ICs2NSwxMCBAQCBjbGFzcyBSZW5kZXJCb3g7
CiBjbGFzcyBUZXh0SW5kaWNhdG9yOwogc3RydWN0IERpY3RhdGlvbkFsdGVybmF0aXZlOwogc3Ry
dWN0IERpY3Rpb25hcnlQb3B1cEluZm87CisKKyNpZiBIQVZFKFRSQU5TTEFUSU9OX1VJX1NFUlZJ
Q0VTKSAmJiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKK3N0cnVjdCBUcmFuc2xhdGlvbkNvbnRleHRN
ZW51SW5mbzsKKyNlbmRpZgogfQogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgRU5BQkxF
KERSQUdfU1VQUE9SVCkKQEAgLTE1OSw3ICsxNjMsNyBAQCBXZWJMYXlvdXRNaWxlc3RvbmVzIGtp
dExheW91dE1pbGVzdG9uZXMoT3B0aW9uU2V0PFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZT4pOwog
CiAjaWYgSEFWRShUUkFOU0xBVElPTl9VSV9TRVJWSUNFUykgJiYgRU5BQkxFKENPTlRFWFRfTUVO
VVMpCiBAcHJvcGVydHkgKGNsYXNzLCBub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9jYW5IYW5k
bGVDb250ZXh0TWVudVRyYW5zbGF0aW9uOwotLSAodm9pZClfaGFuZGxlQ29udGV4dE1lbnVUcmFu
c2xhdGlvbjooY29uc3QgU3RyaW5nJil0ZXh0IHNlbGVjdGlvbkJvdW5kczooY29uc3QgV2ViQ29y
ZTo6SW50UmVjdCYpYm91bmRzSW5WaWV3IG1lbnVMb2NhdGlvbjooY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmKW1lbnVMb2NhdGlvbjsKKy0gKHZvaWQpX2hhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRp
b246KGNvbnN0IFdlYkNvcmU6OlRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvJilpbmZvOwogI2Vu
ZGlmCiAKIC0gKHZvaWQpX3dpbmRvd1Zpc2liaWxpdHlDaGFuZ2VkOihOU05vdGlmaWNhdGlvbiAq
KW5vdGlmaWNhdGlvbjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>