<?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>216519</bug_id>
          
          <creation_ts>2020-09-14 18:21:05 -0700</creation_ts>
          <short_desc>Remove runtime setting for enabling/disabling the fetch API</short_desc>
          <delta_ts>2020-09-15 14:01:16 -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>WebCore Misc.</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>
          
          <blocked>216512</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1688528</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-14 18:21:05 -0700</bug_when>
    <thetext>Remove runtime setting for enabling/disabling the fetch API. It should always be enabled at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688782</commentid>
    <comment_count>1</comment_count>
      <attachid>408840</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-15 11:44:46 -0700</bug_when>
    <thetext>Created attachment 408840
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688802</commentid>
    <comment_count>2</comment_count>
      <attachid>408840</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-09-15 12:37:33 -0700</bug_when>
    <thetext>Comment on attachment 408840
Patch

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

&gt; Source/WebKit/UIProcess/API/C/WKPreferencesRefPrivate.h:593
&gt; +// The follow are all deprecated and do nothing. They should be removed when possible.

following
WK_C_API_DEPRECATED macro is for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688820</commentid>
    <comment_count>3</comment_count>
      <attachid>408851</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-15 13:14:06 -0700</bug_when>
    <thetext>Created attachment 408851
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688823</commentid>
    <comment_count>4</comment_count>
      <attachid>408854</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-09-15 13:27:53 -0700</bug_when>
    <thetext>Created attachment 408854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688838</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-15 14:00:05 -0700</bug_when>
    <thetext>Committed r267098: &lt;https://trac.webkit.org/changeset/267098&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408854.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1688839</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-15 14:01:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/68940747&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408840</attachid>
            <date>2020-09-15 11:44:46 -0700</date>
            <delta_ts>2020-09-15 13:20:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216519-20200915114445.patch</filename>
            <type>text/plain</type>
            <size>35804</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NzA5MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA5LTE1ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5n
IGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIEFQSQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NTE5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3Ig
ZW5hYmxpbmcvZGlzYWJsaW5nIHRoZSBmZXRjaCBBUEkuIFRoZXJlIGlzIG5vCisgICAgICAgIHJl
YXNvbiBvbmUgbmVlZHMgdG8gZGlzYWJsZSBpdCBub3cgYW5kIGl0IGhhcyBiZWVuIG9uIGJ5IGRl
ZmF1bHQgZm9yCisgICAgICAgIGEgbG9uZyBlbm91Z2ggdGltZS4KKworICAgICAgICAqIE1vZHVs
ZXMvZmV0Y2gvRmV0Y2hCb2R5LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoSGVh
ZGVycy5pZGw6CisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGw6CisgICAgICAgICogTW9kdWxl
cy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsOgorICAgICAgICAqIHBh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2V0RmV0Y2hBUElFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmZldGNoQVBJRW5hYmxlZCBjb25zdCk6IERl
bGV0ZWQuCisKIDIwMjAtMDktMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIHBsdW1iaW5nIGZvciBzZXR0aW5nIHdo
ZXRoZXIgdGhlIHN0b3JhZ2UgYWNjZXNzIEFQSSBpcyBlbmFibGVkCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaWRsCShyZXZpc2lvbiAyNjcwOTApCisrKyBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI3LDcgKzI3LDYgQEAKICAqLwogCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1GZXRjaEFQ
SSwKICAgICBFeHBvc2VkPShXaW5kb3csV29ya2VyKSwKICAgICBJbnRlcmZhY2VOYW1lPUJvZHks
CiBdIGludGVyZmFjZSBtaXhpbiBGZXRjaEJvZHkgewpJbmRleDogU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlkbAkocmV2aXNpb24gMjY3MDkwKQorKysgU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEhlYWRlcnMuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yOSw3ICsyOSw2IEBACiB0eXBlZGVmIChzZXF1ZW5jZTxzZXF1ZW5jZTxCeXRlU3RyaW5n
Pj4gb3IgcmVjb3JkPEJ5dGVTdHJpbmcsIEJ5dGVTdHJpbmc+KSBIZWFkZXJzSW5pdDsKIAogWwot
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9RmV0Y2hBUEksCiAgICAgRXhwb3NlZD0oV2luZG93LFdvcmtl
ciksCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKICAgICBJbnRlcmZhY2VOYW1lPUhl
YWRlcnMsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVl
c3QuaWRsCShyZXZpc2lvbiAyNjcwOTApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoUmVxdWVzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDYgQEAgdHlwZWRl
ZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVxdQogCiBbCiAgICAgQWN0aXZlRE9NT2Jq
ZWN0LAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RmV0Y2hBUEksCiAgICAgRXhwb3NlZD0oV2luZG93
LFdvcmtlciksCiAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsLAogICAgIEludGVyZmFjZU5h
bWU9UmVxdWVzdCwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNw
b25zZS5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRj
aFJlc3BvbnNlLmlkbAkocmV2aXNpb24gMjY3MDkwKQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksNiBA
QCBkaWN0aW9uYXJ5IEZldGNoUmVzcG9uc2VJbml0IHsKIAogWwogICAgIEFjdGl2ZURPTU9iamVj
dCwKLSAgICBFbmFibGVkQXRSdW50aW1lPUZldGNoQVBJLAogICAgIEV4cG9ydE1hY3JvPVdFQkNP
UkVfRVhQT1JULAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEludGVyZmFjZU5h
bWU9UmVzcG9uc2UsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCShyZXZpc2lv
biAyNjcwOTApCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL1dpbmRvd09yV29ya2Vy
R2xvYmFsU2NvcGVGZXRjaC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDYgQEAgdHlw
ZWRlZiAoRmV0Y2hSZXF1ZXN0IG9yIFVTVlN0cmluZykgUmVxdQogCiAvLyBodHRwczovL2ZldGNo
LnNwZWMud2hhdHdnLm9yZy8jZmV0Y2gtbWV0aG9kCiBbCi0gICAgRW5hYmxlZEF0UnVudGltZT1G
ZXRjaEFQSSwKICAgICBJbXBsZW1lbnRlZEJ5PVdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRj
aAogXSBwYXJ0aWFsIGludGVyZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlIHsK
ICAgICBbTmV3T2JqZWN0XSBQcm9taXNlPEZldGNoUmVzcG9uc2U+IGZldGNoKFJlcXVlc3RJbmZv
IGlucHV0LCBvcHRpb25hbCBGZXRjaFJlcXVlc3RJbml0IGluaXQpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHJldmlzaW9uIDI2NzA5MCkK
KysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC05Myw5ICs5Myw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENhY2hlQVBJRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX2lzQ2FjaGVBUElFbmFibGVkID0gaXNFbmFibGVkOyB9
CiAgICAgYm9vbCBjYWNoZUFQSUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzQ2FjaGVBUElF
bmFibGVkOyB9CiAKLSAgICB2b2lkIHNldEZldGNoQVBJRW5hYmxlZChib29sIGlzRW5hYmxlZCkg
eyBtX2lzRmV0Y2hBUElFbmFibGVkID0gaXNFbmFibGVkOyB9Ci0gICAgYm9vbCBmZXRjaEFQSUVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzRmV0Y2hBUElFbmFibGVkOyB9Ci0KICAgICB2b2lk
IHNldFdlYlNvY2tldEVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1dlYlNvY2tldEVuYWJs
ZWQgPSBpc0VuYWJsZWQ7IH0KICAgICBib29sIHdlYlNvY2tldEVuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2lzV2ViU29ja2V0RW5hYmxlZDsgfQogCkBAIC0zMTIsNyArMzA5LDYgQEAgcHJpdmF0
ZToKICAgICBib29sIG1faXNPZmZzY3JlZW5DYW52YXNFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRp
ZgogICAgIGJvb2wgbV9pc0NhY2hlQVBJRW5hYmxlZCB7IGZhbHNlIH07Ci0gICAgYm9vbCBtX2lz
RmV0Y2hBUElFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9pc1dlYlNvY2tldEVuYWJsZWQg
eyB0cnVlIH07CiAgICAgYm9vbCBtX2ZldGNoQVBJS2VlcEFsaXZlRW5hYmxlZCB7IGZhbHNlIH07
CiAgICAgYm9vbCBtX2luc3BlY3RvckFkZGl0aW9uc0VuYWJsZWQgeyBmYWxzZSB9OwpJbmRleDog
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cJKHJldmlzaW9uIDI2NzA5MCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNDIgQEAKKzIwMjAtMDktMTUgIFNhbSBXZWluaWcgIDx3ZWlu
aWdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJs
aW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9k
aXNhYmxpbmcgdGhlIGZldGNoIEFQSS4gVGhlcmUgaXMgbm8KKyAgICAgICAgcmVhc29uIG9uZSBu
ZWVkcyB0byBkaXNhYmxlIGl0IG5vdyBhbmQgaXQgaGFzIGJlZW4gb24gYnkgZGVmYXVsdCBmb3IK
KyAgICAgICAgYSBsb25nIGVub3VnaCB0aW1lLgorCisgICAgICAgIEFsc28gY2xlYW5zIHVwIFdL
UHJlZmVyZW5jZXNSZWZQcml2YXRlLmgvV0tQcmVmZXJlbmNlcy5jcHAgdG8gbW92ZSBhbGwgdGhl
IG9ic29sZXRlCisgICAgICAgIHByZWZlcmVuY2VzIHRvIHRoZSBib3R0b20gd2l0aCBhIGNvbW1l
bnQgYWJvdXQgcmVtb3ZpbmcgdGhlbSB3aGVuIHBvc3NpYmxlLgorCisgICAgICAgICogU2hhcmVk
L1dlYlByZWZlcmVuY2VzLnlhbWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1Jlc2V0VGVzdFJ1bm5lck92ZXJyaWRl
cyk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6Cisg
ICAgICAgIChXS1ByZWZlcmVuY2VzR2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAg
IChXS1ByZWZlcmVuY2VzU2V0SWdub3JlVmlld3BvcnRTY2FsaW5nQ29uc3RyYWludHMpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldElnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRzKToK
KyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKToKKyAgICAg
ICAgKFdLUHJlZmVyZW5jZXNHZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKToKKyAgICAgICAgKFdL
UHJlZmVyZW5jZXNTZXROZXdCbG9ja0luc2lkZUlubGluZU1vZGVsRW5hYmxlZCk6CisgICAgICAg
IChXS1ByZWZlcmVuY2VzR2V0TmV3QmxvY2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc1NldExvbmdNb3VzZVByZXNzRW5hYmxlZCk6CisgICAgICAgIChX
S1ByZWZlcmVuY2VzR2V0TG9uZ01vdXNlUHJlc3NFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVy
ZW5jZXNTZXRBbnRpYWxpYXNlZEZvbnREaWxhdGlvbkVuYWJsZWQpOgorICAgICAgICAoV0tQcmVm
ZXJlbmNlc0dldEFudGlhbGlhc2VkRm9udERpbGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXS1By
ZWZlcmVuY2VzU2V0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCk6CisgICAgICAgIChX
S1ByZWZlcmVuY2VzR2V0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZCk6CisgICAgICAg
IChXS1ByZWZlcmVuY2VzU2V0QXBwbGljYXRpb25DaHJvbWVNb2RlRW5hYmxlZCk6CisgICAgICAg
IChXS1ByZWZlcmVuY2VzR2V0QXBwbGljYXRpb25DaHJvbWVNb2RlRW5hYmxlZCk6CisgICAgICAg
IChXS1ByZWZlcmVuY2VzU2V0SW5zcGVjdG9yVXNlc1dlYktpdFVzZXJJbnRlcmZhY2UpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEluc3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJmYWNlKToK
KyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRGZXRjaEFQSUVuYWJsZWQpOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc0dldEZldGNoQVBJRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmg6CisKIDIwMjAtMDktMTUgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgdW51c2VkIHBs
dW1iaW5nIGZvciBzZXR0aW5nIHdoZXRoZXIgdGhlIHN0b3JhZ2UgYWNjZXNzIEFQSSBpcyBlbmFi
bGVkCkluZGV4OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJKHJldmlz
aW9uIDI2NzA5MCkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwJ
KHdvcmtpbmcgY29weSkKQEAgLTc3NCwxMSArNzc0LDYgQEAgRW51bWVyYXRpbmdBbGxOZXR3b3Jr
SW50ZXJmYWNlc0VuYWJsZWQ6CiAgIGRlZmF1bHRWYWx1ZTogZmFsc2UKICAgd2ViY29yZUJpbmRp
bmc6IG5vbmUKIAotRmV0Y2hBUElFbmFibGVkOgotICB0eXBlOiBib29sCi0gIGRlZmF1bHRWYWx1
ZTogdHJ1ZQotICB3ZWJjb3JlQmluZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwotCiBEb3du
bG9hZEF0dHJpYnV0ZUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVmYXVsdFZhbHVlOiB0cnVl
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmNwcAkocmV2aXNpb24gMjY3MDkwKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc4LDYgKzc4LDEzIEBAIHZvaWQg
V0tQcmVmZXJlbmNlc1NldEludGVybmFsRGVidWdGZWF0dXIKICAgICB0b0ltcGwocHJlZmVyZW5j
ZXNSZWYpLT5zZXRJbnRlcm5hbERlYnVnRmVhdHVyZUVuYWJsZWRGb3JLZXkodG9XVEZTdHJpbmco
aW50ZXJuYWxEZWJ1Z0ZlYXR1cmVLZXkpLCB2YWx1ZSk7CiB9CiAKK3ZvaWQgV0tQcmVmZXJlbmNl
c1Jlc2V0VGVzdFJ1bm5lck92ZXJyaWRlcyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KQoreworICAgIC8vIEN1cnJlbnRseSB3ZSByZXNldCB0aGUgb3ZlcnJpZGVzIG9uIHRoZSB3ZWIg
cHJvY2VzcyB3aGVuIHByZWZlcmVuY2VzRGlkQ2hhbmdlKCkgaXMgY2FsbGVkLiBTaW5jZSBXVFIg
cHJlZmVyZW5jZXMKKyAgICAvLyBhcmUgdXN1YWxseSBhbHdheXMgdGhlIHNhbWUgKGluIHRoZSBV
SSBwcm9jZXNzKSwgdGhleSBhcmUgbm90IHNlbnQgdG8gd2ViIHByb2Nlc3MsIG5vdCB0cmlnZ2Vy
aW5nIHRoZSByZXNldC4KKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5mb3JjZVVwZGF0ZSgp
OworfQorCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRKYXZhU2NyaXB0RW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGphdmFTY3JpcHRFbmFibGVkKQogewogICAgIHRv
SW1wbChwcmVmZXJlbmNlc1JlZiktPnNldEphdmFTY3JpcHRFbmFibGVkKGphdmFTY3JpcHRFbmFi
bGVkKTsKQEAgLTM1OSwxNSArMzY2LDYgQEAgV0tTdHJpbmdSZWYgV0tQcmVmZXJlbmNlc0NvcHlE
ZWZhdWx0VGV4dAogICAgIHJldHVybiB0b0NvcGllZEFQSSh0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5kZWZhdWx0VGV4dEVuY29kaW5nTmFtZSgpKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBi
b29sIGVuYWJsZWQpCi17Ci19Ci0KLWJvb2wgV0tQcmVmZXJlbmNlc0dldFByaXZhdGVCcm93c2lu
Z0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKLXsKLSAgICByZXR1cm4g
ZmFsc2U7Ci19Ci0KIHZvaWQgV0tQcmVmZXJlbmNlc1NldERldmVsb3BlckV4dHJhc0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQogewogICAgIHRv
SW1wbChwcmVmZXJlbmNlc1JlZiktPnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoZW5hYmxlZCk7
CkBAIC03NTgsMTUgKzc1Niw2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldE5lZWRzU3RvcmFnZUFj
Y2Vzc0YKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+bmVlZHNTdG9yYWdlQWNj
ZXNzRnJvbUZpbGVVUkxzUXVpcmsoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0SGl4aWU3
NldlYlNvY2tldFByb3RvY29sRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIC8qZW5hYmxl
ZCovKQotewotfQotCi1ib29sIFdLUHJlZmVyZW5jZXNHZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9j
b2xFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpCi17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2
b2lkIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpCiB7CiAgICAgdG9JbXBsKHBy
ZWZlcmVuY2VzUmVmKS0+c2V0UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2soZmxh
Zyk7CkBAIC05MzcsMjggKzkyNiw2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFdlYkF1ZGlvRW5h
YmxlZChXS1AKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+d2ViQXVkaW9FbmFi
bGVkKCk7CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNlc1NldEFwcGxpY2F0aW9uQ2hyb21lTW9kZUVu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKLXsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIG9u
Y2UgV2ViS2l0IG5pZ2h0bGllcyBkb24ndCBuZWVkIHRvIHN1cHBvcnQgU2FmYXJpIDguCi19Ci0K
LWJvb2wgV0tQcmVmZXJlbmNlc0dldEFwcGxpY2F0aW9uQ2hyb21lTW9kZUVuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZikKLXsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgV2ViS2l0IG5pZ2h0bGll
cyBkb24ndCBuZWVkIHRvIHN1cHBvcnQgU2FmYXJpIDguCi0gICAgcmV0dXJuIGZhbHNlOwotfQot
Ci12b2lkIFdLUHJlZmVyZW5jZXNTZXRJbnNwZWN0b3JVc2VzV2ViS2l0VXNlckludGVyZmFjZShX
S1ByZWZlcmVuY2VzUmVmLCBib29sKQotewotICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSBXZWJL
aXQgbmlnaHRsaWVzIGRvbid0IG5lZWQgdG8gc3VwcG9ydCBTYWZhcmkgNiB0aHJ1IDcuCi19Ci0K
LWJvb2wgV0tQcmVmZXJlbmNlc0dldEluc3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJmYWNlKFdL
UHJlZmVyZW5jZXNSZWYpCi17Ci0gICAgLy8gRklYTUU6IFJlbW92ZSBvbmNlIFdlYktpdCBuaWdo
dGxpZXMgZG9uJ3QgbmVlZCB0byBzdXBwb3J0IFNhZmFyaSA2IHRocnUgNy4KLSAgICByZXR1cm4g
ZmFsc2U7Ci19Ci0KIHZvaWQgV0tQcmVmZXJlbmNlc1NldFN1cHByZXNzZXNJbmNyZW1lbnRhbFJl
bmRlcmluZyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCiB7
CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0U3VwcHJlc3Nlc0luY3JlbWVudGFsUmVu
ZGVyaW5nKGVuYWJsZWQpOwpAQCAtMTA1OSwxMyArMTAyNiw2IEBAIFdLU3RvcmFnZUJsb2NraW5n
UG9saWN5IFdLUHJlZmVyZW5jZXNHZXQKICAgICByZXR1cm4gdG9BUEkoc3RhdGljX2Nhc3Q8V2Vi
Q29yZTo6U2VjdXJpdHlPcmlnaW46OlN0b3JhZ2VCbG9ja2luZ1BvbGljeT4odG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+c3RvcmFnZUJsb2NraW5nUG9saWN5KCkpKTsKIH0KIAotdm9pZCBXS1ByZWZl
cmVuY2VzUmVzZXRUZXN0UnVubmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpCi17Ci0gICAgLy8gQ3VycmVudGx5IHdlIHJlc2V0IHRoZSBvdmVycmlkZXMgb24gdGhl
IHdlYiBwcm9jZXNzIHdoZW4gcHJlZmVyZW5jZXNEaWRDaGFuZ2UoKSBpcyBjYWxsZWQuIFNpbmNl
IFdUUiBwcmVmZXJlbmNlcwotICAgIC8vIGFyZSB1c3VhbGx5IGFsd2F5cyB0aGUgc2FtZSAoaW4g
dGhlIFVJIHByb2Nlc3MpLCB0aGV5IGFyZSBub3Qgc2VudCB0byB3ZWIgcHJvY2Vzcywgbm90IHRy
aWdnZXJpbmcgdGhlIHJlc2V0LgotICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmZvcmNlVXBk
YXRlKCk7Ci19Ci0KIHZvaWQgV0tQcmVmZXJlbmNlc1NldERpYWdub3N0aWNMb2dnaW5nRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCiB7CiAgICAg
dG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0RGlhZ25vc3RpY0xvZ2dpbmdFbmFibGVkKGVuYWJs
ZWQpOwpAQCAtMTM2OSwxNyArMTMyOSw2IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldENvbnRlbnRD
aGFuZ2VPYnNlcnYKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+Y29udGVudENo
YW5nZU9ic2VydmVyRW5hYmxlZCgpOwogfQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXROZXdCbG9j
a0luc2lkZUlubGluZU1vZGVsRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKQotewotICAg
IC8vIEZJWE1FOiBSZW1vdmUgU2FmYXJpIGNhbGwgdG8gdGhpcy4KLX0KLQotYm9vbCBXS1ByZWZl
cmVuY2VzR2V0TmV3QmxvY2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZikKLXsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIFNhZmFyaSBjYWxsIGZvciB0aGlzLgotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0RGVmZXJyZWRDU1NQYXJzZXJF
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAg
ICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXREZWZlcnJlZENTU1BhcnNlckVuYWJsZWQoZmxh
Zyk7CkBAIC0xNDQwLDE1ICsxMzg5LDYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UGVlckNvbm5l
Y3Rpb25FbmFibAogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5wZWVyQ29ubmVj
dGlvbkVuYWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0V2ViUlRDTGVnYWN5QVBJ
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKQotewotfQotCi1ib29sIFdLUHJlZmVyZW5j
ZXNHZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpCi17Ci0gICAgcmV0
dXJuIGZhbHNlOwotfQotCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRXZWJSVENNRE5TSUNFQ2FuZGlk
YXRlc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVk
KQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFdlYlJUQ01ETlNJQ0VDYW5kaWRh
dGVzRW5hYmxlZChlbmFibGVkKTsKQEAgLTE1NjksMTYgKzE1MDksNiBAQCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRIaWdobGlnaHRBUElFbmFibGVkCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNl
c1JlZiktPmhpZ2hsaWdodEFQSUVuYWJsZWQoKTsKIH0KIAotLy8gRklYTUU6IFJlbW92ZSB0aGVz
ZSB3aGVuIHBvc3NpYmxlLgotdm9pZCBXS1ByZWZlcmVuY2VzU2V0TG9uZ01vdXNlUHJlc3NFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKLXsKLX0K
LQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0TG9uZ01vdXNlUHJlc3NFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYpCi17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIFdL
UHJlZmVyZW5jZXNTZXRNaW5pbXVtWm9vbUZvbnRTaXplKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYsIGRvdWJsZSBzaXplKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNl
dE1pbmltdW1ab29tRm9udFNpemUoc2l6ZSk7CkBAIC0xNTg5LDE2ICsxNTE5LDYgQEAgZG91Ymxl
IFdLUHJlZmVyZW5jZXNHZXRNaW5pbXVtWm9vbUZvbnRTaQogICAgIHJldHVybiB0b0ltcGwocHJl
ZmVyZW5jZXNSZWYpLT5taW5pbXVtWm9vbUZvbnRTaXplKCk7CiB9CiAKLXZvaWQgV0tQcmVmZXJl
bmNlc1NldEFudGlhbGlhc2VkRm9udERpbGF0aW9uRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBi
b29sKQotewotICAgIC8vIEZlYXR1cmUgcmVtb3ZlZC4KLX0KLQotYm9vbCBXS1ByZWZlcmVuY2Vz
R2V0QW50aWFsaWFzZWRGb250RGlsYXRpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpCi17Ci0g
ICAgcmV0dXJuIGZhbHNlOyAvLyBGZWF0dXJlIHJlbW92ZWQuCi19Ci0KIHZvaWQgV0tQcmVmZXJl
bmNlc1NldFZpc2libGVEZWJ1Z092ZXJsYXlSZWdpb25zKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYsIFdLRGVidWdPdmVybGF5UmVnaW9ucyB2aXNpYmxlUmVnaW9ucykKIHsKICAgICB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRWaXNpYmxlRGVidWdPdmVybGF5UmVnaW9ucyh2aXNp
YmxlUmVnaW9ucyk7CkBAIC0xNjA5LDE3ICsxNTI5LDYgQEAgV0tEZWJ1Z092ZXJsYXlSZWdpb25z
IFdLUHJlZmVyZW5jZXNHZXRWaQogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT52
aXNpYmxlRGVidWdPdmVybGF5UmVnaW9ucygpOwogfQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRJ
Z25vcmVWaWV3cG9ydFNjYWxpbmdDb25zdHJhaW50cyhXS1ByZWZlcmVuY2VzUmVmLCBib29sKQot
ewotICAgIC8vIFRoaXMgcHJlZmVyZW5jZSBpcyBubyBsb25nZXIgc3VwcG9ydGVkLgotfQotCi1i
b29sIFdLUHJlZmVyZW5jZXNHZXRJZ25vcmVWaWV3cG9ydFNjYWxpbmdDb25zdHJhaW50cyhXS1By
ZWZlcmVuY2VzUmVmKQotewotICAgIC8vIFRoaXMgcHJlZmVyZW5jZSBpcyBubyBsb25nZXIgc3Vw
cG9ydGVkLgotICAgIHJldHVybiBmYWxzZTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0TWV0
YVJlZnJlc2hFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5h
YmxlZCkKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRIVFRQRXF1aXZFbmFibGVk
KGVuYWJsZWQpOwpAQCAtMTcyMCwxNiArMTYyOSw2IEBAIGRvdWJsZSBXS1ByZWZlcmVuY2VzR2V0
SW5hY3RpdmVNZWRpYUNhcHQKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+aW5h
Y3RpdmVNZWRpYUNhcHR1cmVTdGVhbVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXMoKTsKIH0KIAot
dm9pZCBXS1ByZWZlcmVuY2VzU2V0RmV0Y2hBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKLXsKLSAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5z
ZXRGZXRjaEFQSUVuYWJsZWQoZmxhZyk7Ci19Ci0KLWJvb2wgV0tQcmVmZXJlbmNlc0dldEZldGNo
QVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQotewotICAgIHJldHVy
biB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5mZXRjaEFQSUVuYWJsZWQoKTsKLX0KLQogdm9pZCBX
S1ByZWZlcmVuY2VzU2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoZmxhZyk7CkBAIC0yMjQ5LDMgKzIxNDgsMTAw
IEBAIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNob3VsZFVzZVNlcnZpY2VXb3IKIHsKICAgICBXZWJL
aXQ6OnRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFNob3VsZFVzZVNlcnZpY2VXb3JrZXJTaG9y
dFRpbWVvdXQoZW5hYmxlZCk7CiB9CisKKworLy8gVGhlIGZvbGxvdyBhcmUgYWxsIGRlcHJlY2F0
ZWQgYW5kIGRvIG5vdGhpbmcuIFRoZXkgc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiBwb3NzaWJsZS4K
Kwordm9pZCBXS1ByZWZlcmVuY2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmLCBib29sKQoreworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2
b2lkIFdLUHJlZmVyZW5jZXNTZXRJZ25vcmVWaWV3cG9ydFNjYWxpbmdDb25zdHJhaW50cyhXS1By
ZWZlcmVuY2VzUmVmLCBib29sKQoreworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRJZ25vcmVW
aWV3cG9ydFNjYWxpbmdDb25zdHJhaW50cyhXS1ByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVy
biBmYWxzZTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0V2ViUlRDTGVnYWN5QVBJRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKQoreworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRX
ZWJSVENMZWdhY3lBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXROZXdCbG9ja0luc2lkZUlubGluZU1vZGVs
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKQoreworfQorCitib29sIFdLUHJlZmVyZW5j
ZXNHZXROZXdCbG9ja0luc2lkZUlubGluZU1vZGVsRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKQor
eworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0TG9uZ01vdXNl
UHJlc3NFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCit7Cit9CisKK2Jvb2wgV0tQcmVm
ZXJlbmNlc0dldExvbmdNb3VzZVByZXNzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKQoreworICAg
IHJldHVybiBmYWxzZTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0QW50aWFsaWFzZWRGb250
RGlsYXRpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCit7Cit9CisKK2Jvb2wgV0tQ
cmVmZXJlbmNlc0dldEFudGlhbGlhc2VkRm9udERpbGF0aW9uRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0SGl4
aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKQorewor
fQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJl
ZmVyZW5jZXNTZXRBcHBsaWNhdGlvbkNocm9tZU1vZGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYs
IGJvb2wpCit7CisgICAgLy8gRklYTUU6IFJlbW92ZSBvbmNlIFdlYktpdCBuaWdodGxpZXMgZG9u
J3QgbmVlZCB0byBzdXBwb3J0IFNhZmFyaSA4LgorfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRB
cHBsaWNhdGlvbkNocm9tZU1vZGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpCit7CisgICAgLy8g
RklYTUU6IFJlbW92ZSBvbmNlIFdlYktpdCBuaWdodGxpZXMgZG9uJ3QgbmVlZCB0byBzdXBwb3J0
IFNhZmFyaSA4LgorICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0
SW5zcGVjdG9yVXNlc1dlYktpdFVzZXJJbnRlcmZhY2UoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkK
K3sKKyAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgV2ViS2l0IG5pZ2h0bGllcyBkb24ndCBuZWVk
IHRvIHN1cHBvcnQgU2FmYXJpIDYgdGhydSA3LgorfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRJ
bnNwZWN0b3JVc2VzV2ViS2l0VXNlckludGVyZmFjZShXS1ByZWZlcmVuY2VzUmVmKQoreworICAg
IC8vIEZJWE1FOiBSZW1vdmUgb25jZSBXZWJLaXQgbmlnaHRsaWVzIGRvbid0IG5lZWQgdG8gc3Vw
cG9ydCBTYWZhcmkgNiB0aHJ1IDcuCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJl
ZmVyZW5jZXNTZXRGZXRjaEFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3sKK30K
KworYm9vbCBXS1ByZWZlcmVuY2VzR2V0RmV0Y2hBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYp
Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUmVmUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHJldmlzaW9uIDI2
NzA5MCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQ
cml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDYgKzU0LDggQEAgV0tfRVhQT1JUIHZvaWQg
V0tQcmVmZXJlbmNlc1NldEV4cGVyaW1lbgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1Jl
c2V0QWxsSW50ZXJuYWxEZWJ1Z0ZlYXR1cmVzKFdLUHJlZmVyZW5jZXNSZWYpOwogV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldEludGVybmFsRGVidWdGZWF0dXJlRm9yS2V5KFdLUHJlZmVy
ZW5jZXNSZWYsIGJvb2wsIFdLU3RyaW5nUmVmKTsKIAorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1Jlc2V0VGVzdFJ1bm5lck92ZXJyaWRlcyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmKTsKKwogLy8gRGVmYXVsdHMgdG8gZmFsc2UuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0U3VicGl4ZWxBbnRpYWxpYXNlZExheWVyVGV4dEVuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZiwgYm9vbCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U3VicGl4ZWxBbnRpYWxp
YXNlZExheWVyVGV4dEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CkBAIC0xNjIsMTAgKzE2NCw2
IEBAIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRUb3BOYXZpZ2EKIFdLX0VYUE9SVCB2
b2lkIFdLUHJlZmVyZW5jZXNTZXROZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyayhX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29sIG5lZWRzUXVpcmspOwogV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldE5lZWRzU3RvcmFnZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJr
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwogCi0vLyBEZWZhdWx0cyB0byB0cnVlLgot
V0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKLVdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwotCiAvLyBEZWZhdWx0cyB0byBm
YWxzZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRNZWRpYVBsYXliYWNrUmVxdWly
ZXNVc2VyR2VzdHVyZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcp
OwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldE1lZGlhUGxheWJhY2tSZXF1aXJlc1Vz
ZXJHZXN0dXJlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwpAQCAtMjE0LDE0ICsy
MTIsNiBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2hvd3NUb29sCiBXS19FWFBP
UlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZl
cmVuY2VzR2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpOwogCi0vLyBEZXByZWNhdGVkLiBBbHdheXMgcmV0dXJucyBmYWxzZS4KLVdLX0VYUE9S
VCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBcHBsaWNhdGlvbkNocm9tZU1vZGVFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0QXBwbGljYXRpb25DaHJvbWVNb2RlRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKLQotLy8gRGVwcmVjYXRlZC4gQWx3YXlzIHJldHVybnMg
ZmFsc2UuCi1XS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0SW5zcGVjdG9yVXNlc1dlYktp
dFVzZXJJbnRlcmZhY2UoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFi
bGVkKTsKLVdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRJbnNwZWN0b3JVc2VzV2ViS2l0
VXNlckludGVyZmFjZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKLQogLy8gRGVm
YXVsdHMgdG8gdHJ1ZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRKYXZhRW5hYmxl
ZEZvckxvY2FsRmlsZXMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywgYm9vbCBqYXZhRW5h
YmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0SmF2YUVuYWJsZWRGb3JMb2Nh
bEZpbGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwpAQCAtMzM4LDEwICszMjgsNiBA
QCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0Q29udGVudENoCiBXS19FWFBPUlQgYm9v
bCBXS1ByZWZlcmVuY2VzR2V0Q29udGVudENoYW5nZU9ic2VydmVyRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmKTsKIAogLy8gRGVmYXVsdHMgdG8gZmFsc2UuCi1XS19FWFBPUlQgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0TmV3QmxvY2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZiwgYm9vbCk7Ci1XS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TmV3QmxvY2tJbnNpZGVJ
bmxpbmVNb2RlbEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7Ci0KLS8vIERlZmF1bHRzIHRvIGZh
bHNlLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldERlZmVycmVkQ1NTUGFyc2VyRW5h
YmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXREZWZlcnJlZENTU1BhcnNlckVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKQEAgLTM1
Myw4ICszMzksNiBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U3VicGl4ZWxDCiBX
S19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0VXNlR2lhbnRUaWxlcyhXS1ByZWZlcmVuY2Vz
UmVmLCBib29sKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRVc2VHaWFudFRpbGVz
KFdLUHJlZmVyZW5jZXNSZWYpOwogCi1XS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzUmVzZXRU
ZXN0UnVubmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwotCiAv
LyBEZWZhdWx0cyB0byBmYWxzZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRVc2VM
ZWdhY3lUZXh0QWxpZ25Qb3NpdGlvbmVkRWxlbWVudEJlaGF2aW9yKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzVXNlTGVnYWN5VGV4dEFsaWduUG9zaXRpb25lZEVsZW1lbnRCZWhhdmlvcihXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKQEAgLTM5OSwxOCArMzgzLDEwIEBAIFdLX0VYUE9SVCBi
b29sIFdLUHJlZmVyZW5jZXNHZXRHYW1lcGFkc0UKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRIaWdobGlnaHRBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYs
IGJvb2wgZW5hYmxlZCk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0SGlnaGxpZ2h0
QVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKIAotLy8gTm90IGlt
cGxlbWVudGVkLCBzaG91bGQgYmUgZGVsZXRlZCBvbmNlIHRoZXJlIGFyZSBubyBjYWxsZXJzLgot
V0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldExvbmdNb3VzZVByZXNzRW5hYmxlZChXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOwotV0tfRVhQT1JUIGJv
b2wgV0tQcmVmZXJlbmNlc0dldExvbmdNb3VzZVByZXNzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
IHByZWZlcmVuY2VzUmVmKTsKLQogLy8gRGVmYXVsdHMgdG8gMC4gU2V0dGluZyB0aGlzIHRvIDAg
ZGlzYWJsZXMgZm9udCBhdXRvc2l6aW5nIG9uIGlPUy4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRNaW5pbXVtWm9vbUZvbnRTaXplKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYsIGRvdWJsZSk7CiBXS19FWFBPUlQgZG91YmxlIFdLUHJlZmVyZW5jZXNHZXRNaW5pbXVtWm9v
bUZvbnRTaXplKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogCi0vLyBOb3QgaW1w
bGVtZW50ZWQsIHNob3VsZCBiZSBkZWxldGVkIG9uY2UgU2FmYXJpIG5vIGxvbmdlciB1c2VzIHRo
aXMgZnVuY3Rpb24uCi1XS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0QW50aWFsaWFzZWRG
b250RGlsYXRpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgZW5h
YmxlZCk7Ci1XS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0QW50aWFsaWFzZWRGb250RGls
YXRpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwotCiAvLyBEZWZhdWx0
cyB0byAwLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEphdmFTY3JpcHRSdW50aW1l
RmxhZ3MoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywgV0tKYXZhU2NyaXB0UnVudGltZUZs
YWdTZXQgamF2YXNjcmlwdFJ1bnRpbWVGbGFnU2V0KTsKIFdLX0VYUE9SVCBXS0phdmFTY3JpcHRS
dW50aW1lRmxhZ1NldCBXS1ByZWZlcmVuY2VzR2V0SmF2YVNjcmlwdFJ1bnRpbWVGbGFncyhXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzKTsKQEAgLTQ0OCwxMCArNDI0LDYgQEAgV0tfRVhQT1JU
IHZvaWQgV0tQcmVmZXJlbmNlc1NldEluYWN0aXZlTQogV0tfRVhQT1JUIGRvdWJsZSBXS1ByZWZl
cmVuY2VzR2V0SW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVhbVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0
ZXMoV0tQcmVmZXJlbmNlc1JlZik7CiAKIC8vIERlZmF1bHRzIHRvIGZhbHNlCi1XS19FWFBPUlQg
dm9pZCBXS1ByZWZlcmVuY2VzU2V0RmV0Y2hBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJv
b2wgZmxhZyk7Ci1XS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0RmV0Y2hBUElFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYpOwotCi0vLyBEZWZhdWx0cyB0byBmYWxzZQogV0tfRVhQT1JUIHZv
aWQgV0tQcmVmZXJlbmNlc1NldERvd25sb2FkQXR0cmlidXRlRW5hYmxlZChXS1ByZWZlcmVuY2Vz
UmVmLCBib29sIGZsYWcpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldERvd25sb2Fk
QXR0cmlidXRlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIApAQCAtNjE1LDYgKzU4NywyNyBA
QCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UHVuY2hPdXRXCiBXS19FWFBPUlQgdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UmVmZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UmVm
ZXJyZXJQb2xpY3lBdHRyaWJ1dGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCisKKworCisv
LyBUaGUgZm9sbG93IGFyZSBhbGwgZGVwcmVjYXRlZCBhbmQgZG8gbm90aGluZy4gVGhleSBzaG91
bGQgYmUgcmVtb3ZlZCB3aGVuIHBvc3NpYmxlLgorCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0TmV3QmxvY2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwg
Ym9vbCk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TmV3QmxvY2tJbnNpZGVJbmxp
bmVNb2RlbEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CitXS19FWFBPUlQgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0TG9uZ01vdXNlUHJlc3NFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZW5hYmxlZCk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TG9u
Z01vdXNlUHJlc3NFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEFudGlhbGlhc2VkRm9udERpbGF0aW9uRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29sIGVuYWJsZWQpOworV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldEFudGlhbGlhc2VkRm9udERpbGF0aW9uRW5hYmxlZChXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzKTsKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRBcHBsaWNhdGlvbkNocm9tZU1vZGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZW5hYmxlZCk7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0QXBw
bGljYXRpb25DaHJvbWVNb2RlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KTsKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRJbnNwZWN0b3JVc2VzV2ViS2l0VXNl
ckludGVyZmFjZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQp
OworV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEluc3BlY3RvclVzZXNXZWJLaXRVc2Vy
SW50ZXJmYWNlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworV0tfRVhQT1JUIHZv
aWQgV0tQcmVmZXJlbmNlc1NldEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKK1dLX0VYUE9SVCBib29s
IFdLUHJlZmVyZW5jZXNHZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1Nl
dEZldGNoQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sIGZsYWcpOworV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldEZldGNoQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsK
KworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZwkocmV2aXNpb24gMjY3MDkwKQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDktMTUgIFNh
bSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNl
dHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5n
IGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIEFQSS4gVGhlcmUgaXMgbm8KKyAgICAg
ICAgcmVhc29uIG9uZSBuZWVkcyB0byBkaXNhYmxlIGl0IG5vdyBhbmQgaXQgaGFzIGJlZW4gb24g
YnkgZGVmYXVsdCBmb3IKKyAgICAgICAgYSBsb25nIGVub3VnaCB0aW1lLgorCisgICAgICAgICog
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dl
YlByZWZlcmVuY2VzLm1tOgorICAgICAgICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6
CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldEZldGNoQVBJRW5hYmxlZDpdKToKKyAgICAg
ICAgKC1bV2ViUHJlZmVyZW5jZXMgZmV0Y2hBUElFbmFibGVkXSk6CisgICAgICAgICogV2ViVmll
dy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06
CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdlZDpdKToKKwogMjAyMC0wOS0x
NCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHJ1bnRp
bWUgc2V0dGluZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIFNoYWRvd0RPTQpJbmRleDogU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjcwOTApCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
ODMsNyArMTgzLDYgQEAKICNkZWZpbmUgV2ViS2l0RGlhbG9nRWxlbWVudEVuYWJsZWRQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0RGlhbG9nRWxlbWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5IgogI2RlZmlu
ZSBXZWJLaXRLZXlnZW5FbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRLZXlnZW5F
bGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdENhY2hlQVBJRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRDYWNoZUFQSUVuYWJsZWQiCi0jZGVmaW5lIFdlYktpdEZl
dGNoQVBJRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRGZXRjaEFQSUVuYWJsZWQiCiAjZGVm
aW5lIFdlYktpdFdyaXRhYmxlU3RyZWFtQVBJRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRX
cml0YWJsZVN0cmVhbUFQSUVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFJlYWRhYmxlQnl0ZVN0cmVh
bUFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0VHJhbnNmb3JtU3RyZWFtQVBJRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRUcmFuc2Zvcm1TdHJlYW1BUElFbmFibGVkIgpAQCAtMjk1LDMgKzI5NCw0IEBA
CiAvLyBiZSByZW1vdmVkIHdoZW4gaXQgaXMgY29uc2lkZXJlZCBzYWZlIHRvIGRvIHNvLgogI2Rl
ZmluZSBXZWJLaXRTaGFkb3dET01FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFNoYWRvd0RP
TUVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWRL
ZXkgQCJXZWJLaXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkIgorI2RlZmluZSBXZWJL
aXRGZXRjaEFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RmV0Y2hBUElFbmFibGVkIgpJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCShyZXZpc2lvbiAyNjcwOTApCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC02NTAsNyArNjUwLDYgQEAg
KyAodm9pZClpbml0aWFsaXplCiAgICAgICAgIEBZRVMsIFdlYktpdE1hc2tXZWJHTFN0cmluZ3NF
bmFibGVkUHJlZmVyZW5jZUtleSwKICNlbmRpZgogICAgICAgICBATk8sIFdlYktpdENhY2hlQVBJ
RW5hYmxlZFByZWZlcmVuY2VLZXksCi0gICAgICAgIEBZRVMsIFdlYktpdEZldGNoQVBJRW5hYmxl
ZFByZWZlcmVuY2VLZXksCiAKICAgICAgICAgQE5PLCBXZWJLaXRSZWFkYWJsZUJ5dGVTdHJlYW1B
UElFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgQE5PLCBXZWJLaXRXcml0YWJsZVN0cmVh
bUFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5LApAQCAtMzEwOCwxNiArMzEwNyw2IEBAIC0gKHZvaWQp
c2V0Q2FjaGVBUElFbmFibGVkOihCT09MKWZsYWcKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZs
YWcgZm9yS2V5OldlYktpdENhY2hlQVBJRW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCi0tIChC
T09MKWZldGNoQVBJRW5hYmxlZAotewotICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9yS2V5
OldlYktpdEZldGNoQVBJRW5hYmxlZFByZWZlcmVuY2VLZXldOwotfQotCi0tICh2b2lkKXNldEZl
dGNoQVBJRW5hYmxlZDooQk9PTClmbGFnCi17Ci0gICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFn
IGZvcktleTpXZWJLaXRGZXRjaEFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKLX0KLQogLSAoQk9P
TClyZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkCiB7CiAgICAgcmV0dXJuIFtzZWxmIF9ib29s
VmFsdWVGb3JLZXk6V2ViS2l0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZFByZWZlcmVuY2VL
ZXldOwpAQCAtMzcxNCw2ICszNzAzLDE2IEBAICsgKE5TU3RyaW5nICopX2NvbmNhdGVuYXRlS2V5
V2l0aElCQ3JlYXQKIC8vIFRoZSBwcmVmZXJlbmNlcyBpbiB0aGlzIGNhdGVnb3J5IGFyZSBkZXBy
ZWNhdGVkIGFuZCBoYXZlIG5vIGVmZmVjdC4gVGhleSBzaG91bGQKIC8vIGJlIHJlbW92ZWQgd2hl
biBpdCBpcyBjb25zaWRlcmVkIHNhZmUgdG8gZG8gc28uCiAKKy0gKHZvaWQpc2V0RmV0Y2hBUElF
bmFibGVkOihCT09MKWZsYWcKK3sKK30KKworLSAoQk9PTClmZXRjaEFQSUVuYWJsZWQKK3sKKyAg
ICByZXR1cm4gWUVTOworfQorCisKIC0gKHZvaWQpc2V0U2hhZG93RE9NRW5hYmxlZDooQk9PTClm
bGFnCiB7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHJldmlzaW9uIDI2NzA5MCkKKysrIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTU1Miw5ICs1NTIsNiBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChX
ZWJQcml2YXRlKQogLSAoQk9PTCljYWNoZUFQSUVuYWJsZWQ7CiAtICh2b2lkKXNldENhY2hlQVBJ
RW5hYmxlZDooQk9PTCllbmFibGVkOwogCi0tICh2b2lkKXNldEZldGNoQVBJRW5hYmxlZDooQk9P
TClmbGFnOwotLSAoQk9PTClmZXRjaEFQSUVuYWJsZWQ7Ci0KIC0gKHZvaWQpc2V0UmVhZGFibGVC
eXRlU3RyZWFtQVBJRW5hYmxlZDooQk9PTClmbGFnOwogLSAoQk9PTClyZWFkYWJsZUJ5dGVTdHJl
YW1BUElFbmFibGVkOwogCkBAIC02OTksOSArNjk2LDE0IEBAIEBpbnRlcmZhY2UgV2ViUHJlZmVy
ZW5jZXMgKFdlYlByaXZhdGUpCiAKIEBlbmQKIAorQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAo
V2ViUHJpdmF0ZURlcHJlY2F0ZWQpCisKIC8vIFRoZSBwcmVmZXJlbmNlcyBpbiB0aGlzIGNhdGVn
b3J5IGFyZSBkZXByZWNhdGVkIGFuZCBoYXZlIG5vIGVmZmVjdC4gVGhleSBzaG91bGQKIC8vIGJl
IHJlbW92ZWQgd2hlbiBpdCBpcyBjb25zaWRlcmVkIHNhZmUgdG8gZG8gc28uCi1AaW50ZXJmYWNl
IFdlYlByZWZlcmVuY2VzIChXZWJQcml2YXRlRGVwcmVjYXRlZCkKKworLSAodm9pZClzZXRGZXRj
aEFQSUVuYWJsZWQ6KEJPT0wpZmxhZzsKKy0gKEJPT0wpZmV0Y2hBUElFbmFibGVkOworCiAtICh2
b2lkKXNldFNoYWRvd0RPTUVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpc2hhZG93RE9NRW5h
YmxlZDsKIApAQCAtNzEyLDQgKzcxNCw1IEBAIEBpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdl
YlByaXZhdGVEZXAKIC0gKEJPT0wpaXNIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkOwog
CiAtICh2b2lkKXNldERpc2tJbWFnZUNhY2hlRW5hYmxlZDooQk9PTCllbmFibGVkOworCiBAZW5k
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZp
c2lvbiAyNjcwOTApCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTMzMzgsNyArMzMzOCw2IEBAIC0gKHZvaWQpX3ByZWZlcmVu
Y2VzQ2hhbmdlZDooV2ViUHJlZmVyZW4KICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldFdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWQoW3ByZWZl
cmVuY2VzIHdlYkFuaW1hdGlvbnNDU1NJbnRlZ3JhdGlvbkVuYWJsZWRdKTsKIAogICAgIFJ1bnRp
bWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0Q2FjaGVBUElFbmFibGVkKFtw
cmVmZXJlbmNlcyBjYWNoZUFQSUVuYWJsZWRdKTsKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNldEZldGNoQVBJRW5hYmxlZChbcHJlZmVyZW5jZXMgZmV0Y2hB
UElFbmFibGVkXSk7CiAKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJl
cygpLnNldFdyaXRhYmxlU3RyZWFtQVBJRW5hYmxlZChbcHJlZmVyZW5jZXMgd3JpdGFibGVTdHJl
YW1BUElFbmFibGVkXSk7CiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkKFtwcmVmZXJlbmNlcyByZWFkYWJs
ZUJ5dGVTdHJlYW1BUElFbmFibGVkXSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNjcwOTApCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAyMC0wOS0xNSAgU2FtIFdlaW5pZyAg
PHdlaW5pZ0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3Ig
ZW5hYmxpbmcvZGlzYWJsaW5nIHRoZSBmZXRjaCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjUxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJs
aW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJLiBUaGVyZSBpcyBubworICAgICAgICByZWFzb24g
b25lIG5lZWRzIHRvIGRpc2FibGUgaXQgbm93IGFuZCBpdCBoYXMgYmVlbiBvbiBieSBkZWZhdWx0
IGZvcgorICAgICAgICBhIGxvbmcgZW5vdWdoIHRpbWUuCisKKyAgICAgICAgKiBXZWJQcmVmZXJl
bmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0
aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6ZmV0Y2hBUElFbmFibGVkKToKKyAgICAg
ICAgKFdlYlByZWZlcmVuY2VzOjpzZXRGZXRjaEFQSUVuYWJsZWQpOgorICAgICAgICAqIFdlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwog
MjAyMC0wOS0xNCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIFNoYWRvd0RPTQpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24g
MjY3MDkwKQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMDksOCArMzA5LDYgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6aW5p
dGlhbGl6ZURlZmF1bHRTZQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVsdHMsIENG
U1RSKFdlYktpdEFsbG93RGlzcGxheUFuZFJ1bm5pbmdPZkluc2VjdXJlQ29udGVudFByZWZlcmVu
Y2VLZXkpLCBrQ0ZCb29sZWFuVHJ1ZSk7CiAKLSAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZh
dWx0cywgQ0ZTVFIoV2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xl
YW5GYWxzZSk7Ci0KICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2Vi
S2l0Q3VzdG9tRWxlbWVudHNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5GYWxzZSk7
CiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0V2ViQW5p
bWF0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwpAQCAtMjA1MCwx
MyArMjA0OCwxMiBAQCBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpmZXRjaEFQSUVuYWJsZWQoCiB7
CiAgICAgaWYgKCFlbmFibGVkKQogICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotICAgICplbmFi
bGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdEZldGNoQVBJRW5hYmxlZFByZWZlcmVuY2VLZXkp
OworICAgICplbmFibGVkID0gdHJ1ZTsKICAgICByZXR1cm4gU19PSzsKIH0KIAotSFJFU1VMVCBX
ZWJQcmVmZXJlbmNlczo6c2V0RmV0Y2hBUElFbmFibGVkKEJPT0wgZW5hYmxlZCkKK0hSRVNVTFQg
V2ViUHJlZmVyZW5jZXM6OnNldEZldGNoQVBJRW5hYmxlZChCT09MKQogewotICAgIHNldEJvb2xW
YWx1ZShXZWJLaXRGZXRjaEFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsKICAgICBy
ZXR1cm4gU19PSzsKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5jcHAJKHJl
dmlzaW9uIDI2NzA5MCkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01MjI5LDExICs1MjI5LDYgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3Rp
ZnlQcmVmZXJlbmNlc0NoYW5nZQogCiAgICAgLy8gRklYTUU6IEFkZCBwcmVmZXJlbmNlcyBmb3Ig
dGhlIHJ1bnRpbWUgZW5hYmxlZCBmZWF0dXJlcy4KIAotICAgIGhyID0gcHJlZnNQcml2YXRlLT5m
ZXRjaEFQSUVuYWJsZWQoJmVuYWJsZWQpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAgICAgICBy
ZXR1cm4gaHI7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRGZXRjaEFQSUVuYWJsZWQoISFlbmFibGVkKTsKLQogICAgIGhyID0gcHJlZnNQcml2YXRlLT5j
dXN0b21FbGVtZW50c0VuYWJsZWQoJmVuYWJsZWQpOwogICAgIGlmIChGQUlMRUQoaHIpKQogICAg
ICAgICByZXR1cm4gaHI7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjcwOTIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwzNiBAQAorMjAyMC0wOS0xNSAgU2FtIFdlaW5pZyAgPHdlaW5p
Z0BhcHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3IgZW5hYmxp
bmcvZGlzYWJsaW5nIHRoZSBmZXRjaCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxNjUxOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rp
c2FibGluZyB0aGUgZmV0Y2ggQVBJLiBUaGVyZSBpcyBubworICAgICAgICByZWFzb24gb25lIG5l
ZWRzIHRvIGRpc2FibGUgaXQgbm93IGFuZCBpdCBoYXMgYmVlbiBvbiBieSBkZWZhdWx0IGZvcgor
ICAgICAgICBhIGxvbmcgZW5vdWdoIHRpbWUuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9U
ZXN0UnVubmVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVl
Lm1tOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcyk6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAg
KHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorCisyMDIwLTA5LTE1ICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgcnVudGltZSBz
ZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgY3VzdG9tIGVsZW1lbnRzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1MTgKKworICAgICAgICBS
ZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcg
Zm9yIGVuYWJsaW5nL2Rpc2FibGluZyBjdXN0b20gZWxlbWVudHMuIFRoZXJlIGlzIG5vCisgICAg
ICAgIHJlYXNvbiBvbmUgbmVlZCB0byBkaXNhYmxlIGl0IG5vdywgYW5kIGl0IGhhcyBiZWVuIG9u
IGJ5IGRlZmF1bHQgZm9yCisgICAgICAgIGEgbG9uZyBlbm91Z2ggdGltZS4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKHJlc2V0V2Vi
UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZlcmVuY2VzVG9D
b25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0wOS0xNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIE1vdmUgV0tDb250ZXh0Q2xlYXJDYWNoZWRD
cmVkZW50aWFscyBTUEkgdG8gV0tXZWJzaXRlRGF0YVN0b3JlQ2xlYXJDYWNoZWRDcmVkZW50aWFs
cwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RSdW5uZXIuaAkocmV2aXNpb24gMjY3MDkwKQorKysg
VG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oCSh3b3JraW5nIGNvcHkpCkBAIC05NSw3
ICs5NSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHF1ZXVlUmVsb2FkKCk7CiAgICAgdm9pZCByZW1v
dmVBbGxWaXNpdGVkTGlua3MoKTsKICAgICB2b2lkIHNldEFjY2VwdHNFZGl0aW5nKGJvb2wpOwot
ICAgIHZvaWQgc2V0RmV0Y2hBUElFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dVbml2
ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCk7CiAgICAgdm9pZCBzZXRBbGxvd0ZpbGVBY2Nl
c3NGcm9tRmlsZVVSTHMoYm9vbCk7CiAgICAgdm9pZCBzZXROZWVkc1N0b3JhZ2VBY2Nlc3NGcm9t
RmlsZVVSTHNRdWlyayhib29sKTsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1w
UmVuZGVyVHJlZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0JKHJldmlzaW9uIDI2NzA5MCkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9EdW1wUmVuZGVyVHJlZS5tbQkod29ya2luZyBjb3B5KQpAQCAtOTM1LDggKzkzNSw2IEBA
IHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBbcHJlZmVyZW5j
ZXMgc2V0TWVkaWFTb3VyY2VFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldFNvdXJj
ZUJ1ZmZlckNoYW5nZVR5cGVFbmFibGVkOllFU107CiAKLSAgICBbcHJlZmVyZW5jZXMgc2V0Q3Vz
dG9tRWxlbWVudHNFbmFibGVkOllFU107Ci0KICAgICBbcHJlZmVyZW5jZXMgc2V0RGF0YVRyYW5z
ZmVySXRlbXNFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldEN1c3RvbVBhc3RlYm9h
cmREYXRhRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXREaWFsb2dFbGVtZW50RW5h
YmxlZDpZRVNdOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRy
ZWUuY3BwCShyZXZpc2lvbiAyNjcwOTApCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04OTcsOCArODk3LDYgQEAgc3RhdGlj
IHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdAogCiAgICAgcHJlZmVyZW5jZXMtPnNl
dEZvbnRTbW9vdGhpbmcoRm9udFNtb290aGluZ1R5cGVTdGFuZGFyZCk7CiAKLSAgICBwcmVmc1By
aXZhdGUtPnNldEZldGNoQVBJRW5hYmxlZChUUlVFKTsKLSAgICBwcmVmc1ByaXZhdGUtPnNldEN1
c3RvbUVsZW1lbnRzRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldFJlc291cmNl
VGltaW5nRW5hYmxlZChUUlVFKTsKICAgICBwcmVmc1ByaXZhdGUtPnNldFVzZXJUaW1pbmdFbmFi
bGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0RGF0YVRyYW5zZmVySXRlbXNFbmFibGVk
KFRSVUUpOwo=
</data>
<flag name="commit-queue"
          id="424361"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408851</attachid>
            <date>2020-09-15 13:14:06 -0700</date>
            <delta_ts>2020-09-15 13:27:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216519-20200915131406.patch</filename>
            <type>text/plain</type>
            <size>35337</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NzA5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA5LTE1ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5n
IGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIEFQSQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NTE5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5nIGZv
ciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIEFQSS4gVGhlcmUgaXMgbm8KKyAgICAgICAg
cmVhc29uIG9uZSBuZWVkcyB0byBkaXNhYmxlIGl0IG5vdyBhbmQgaXQgaGFzIGJlZW4gb24gYnkg
ZGVmYXVsdCBmb3IKKyAgICAgICAgYSBsb25nIGVub3VnaCB0aW1lLgorCisgICAgICAgICogTW9k
dWxlcy9mZXRjaC9GZXRjaEJvZHkuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hI
ZWFkZXJzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGw6CisgICAgICAgICog
cGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzZXRGZXRjaEFQSUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZmV0Y2hBUElFbmFibGVkIGNvbnN0KTog
RGVsZXRlZC4KKwogMjAyMC0wOS0xNSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIGN1
c3RvbSBlbGVtZW50cwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJv
ZHkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hC
b2R5LmlkbAkocmV2aXNpb24gMjY3MDk0KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaEJvZHkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAgKi8KIAog
WwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RmV0Y2hBUEksCiAgICAgRXhwb3NlZD0oV2luZG93LFdv
cmtlciksCiAgICAgSW50ZXJmYWNlTmFtZT1Cb2R5LAogXSBpbnRlcmZhY2UgbWl4aW4gRmV0Y2hC
b2R5IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVy
cy5pZGwJKHJldmlzaW9uIDI2NzA5NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hIZWFkZXJzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNiBAQAogdHlwZWRl
ZiAoc2VxdWVuY2U8c2VxdWVuY2U8Qnl0ZVN0cmluZz4+IG9yIHJlY29yZDxCeXRlU3RyaW5nLCBC
eXRlU3RyaW5nPikgSGVhZGVyc0luaXQ7CiAKIFsKLSAgICBFbmFibGVkQXRSdW50aW1lPUZldGNo
QVBJLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFtZT1IZWFkZXJzLApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAkocmV2aXNpb24gMjY3MDk0KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMiw3ICszMiw2IEBAIHR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZTdHJp
bmcpIFJlcXUKIAogWwogICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1l
PUZldGNoQVBJLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEdlbmVyYXRlSXNS
ZWFjaGFibGU9SW1wbCwKICAgICBJbnRlcmZhY2VOYW1lPVJlcXVlc3QsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwJKHJldmlzaW9uIDI2
NzA5NCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDYgQEAgZGljdGlvbmFyeSBGZXRjaFJlc3BvbnNl
SW5pdCB7CiAKIFsKICAgICBBY3RpdmVET01PYmplY3QsCi0gICAgRW5hYmxlZEF0UnVudGltZT1G
ZXRjaEFQSSwKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBFeHBvc2VkPShX
aW5kb3csV29ya2VyKSwKICAgICBJbnRlcmZhY2VOYW1lPVJlc3BvbnNlLApJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV2luZG93T3JXb3Jr
ZXJHbG9iYWxTY29wZUZldGNoLmlkbAkocmV2aXNpb24gMjY3MDk0KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBAIHR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZT
dHJpbmcpIFJlcXUKIAogLy8gaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2ZldGNoLW1l
dGhvZAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RmV0Y2hBUEksCiAgICAgSW1wbGVtZW50ZWRC
eT1XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2gKIF0gcGFydGlhbCBpbnRlcmZhY2UgbWl4
aW4gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSB7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxG
ZXRjaFJlc3BvbnNlPiBmZXRjaChSZXF1ZXN0SW5mbyBpbnB1dCwgb3B0aW9uYWwgRmV0Y2hSZXF1
ZXN0SW5pdCBpbml0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oCShyZXZpc2lvbiAyNjcwOTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAtOTMsOSArOTMsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRDYWNoZUFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9p
c0NhY2hlQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgY2FjaGVBUElFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9pc0NhY2hlQVBJRW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXRG
ZXRjaEFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0ZldGNoQVBJRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQotICAgIGJvb2wgZmV0Y2hBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9p
c0ZldGNoQVBJRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRXZWJTb2NrZXRFbmFibGVkKGJvb2wg
aXNFbmFibGVkKSB7IG1faXNXZWJTb2NrZXRFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9v
bCB3ZWJTb2NrZXRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYlNvY2tldEVuYWJsZWQ7
IH0KIApAQCAtMzEyLDcgKzMwOSw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzT2Zmc2NyZWVu
Q2FudmFzRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKICAgICBib29sIG1faXNDYWNoZUFQSUVu
YWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc0ZldGNoQVBJRW5hYmxlZCB7IHRydWUgfTsK
ICAgICBib29sIG1faXNXZWJTb2NrZXRFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9mZXRj
aEFQSUtlZXBBbGl2ZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pbnNwZWN0b3JBZGRp
dGlvbnNFbmFibGVkIHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjcwOTUpCisr
KyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDIwLTA5LTE1ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIEFQ
SQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NTE5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBSZW1v
dmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIEFQSS4g
VGhlcmUgaXMgbm8KKyAgICAgICAgcmVhc29uIG9uZSBuZWVkcyB0byBkaXNhYmxlIGl0IG5vdyBh
bmQgaXQgaGFzIGJlZW4gb24gYnkgZGVmYXVsdCBmb3IKKyAgICAgICAgYSBsb25nIGVub3VnaCB0
aW1lLgorCisgICAgICAgIEFsc28gY2xlYW5zIHVwIFdLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgv
V0tQcmVmZXJlbmNlcy5jcHAgdG8gbW92ZSBhbGwgdGhlIG9ic29sZXRlCisgICAgICAgIHByZWZl
cmVuY2VzIHRvIHRoZSBib3R0b20gd2l0aCBhIGNvbW1lbnQgYWJvdXQgcmVtb3ZpbmcgdGhlbSB3
aGVuIHBvc3NpYmxlLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1Jlc2V0VGVzdFJ1bm5lck92ZXJyaWRlcyk6CisgICAgICAgIChXS1ByZWZlcmVu
Y2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SWdub3Jl
Vmlld3BvcnRTY2FsaW5nQ29uc3RyYWludHMpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldEln
bm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRzKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNT
ZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRXZWJS
VENMZWdhY3lBUElFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXROZXdCbG9ja0lu
c2lkZUlubGluZU1vZGVsRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0TmV3Qmxv
Y2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldExv
bmdNb3VzZVByZXNzRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0TG9uZ01vdXNl
UHJlc3NFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRBbnRpYWxpYXNlZEZvbnRE
aWxhdGlvbkVuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldEFudGlhbGlhc2VkRm9u
dERpbGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SGl4aWU3NldlYlNv
Y2tldFByb3RvY29sRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0SGl4aWU3Nldl
YlNvY2tldFByb3RvY29sRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0QXBwbGlj
YXRpb25DaHJvbWVNb2RlRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0QXBwbGlj
YXRpb25DaHJvbWVNb2RlRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW5zcGVj
dG9yVXNlc1dlYktpdFVzZXJJbnRlcmZhY2UpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldElu
c3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJmYWNlKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNT
ZXRGZXRjaEFQSUVuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldEZldGNoQVBJRW5h
YmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRl
Lmg6CisKIDIwMjAtMDktMTUgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyBjdXN0b20g
ZWxlbWVudHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAko
cmV2aXNpb24gMjY3MDk1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMu
eWFtbAkod29ya2luZyBjb3B5KQpAQCAtNzc0LDExICs3NzQsNiBAQCBFbnVtZXJhdGluZ0FsbE5l
dHdvcmtJbnRlcmZhY2VzRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICB3ZWJjb3Jl
QmluZGluZzogbm9uZQogCi1GZXRjaEFQSUVuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVs
dFZhbHVlOiB0cnVlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0K
IERvd25sb2FkQXR0cmlidXRlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6
IHRydWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwCShyZXZpc2lvbiAyNjcwOTQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsMTMgQEAg
dm9pZCBXS1ByZWZlcmVuY2VzU2V0SW50ZXJuYWxEZWJ1Z0ZlYXR1cgogICAgIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPnNldEludGVybmFsRGVidWdGZWF0dXJlRW5hYmxlZEZvcktleSh0b1dURlN0
cmluZyhpbnRlcm5hbERlYnVnRmVhdHVyZUtleSksIHZhbHVlKTsKIH0KIAordm9pZCBXS1ByZWZl
cmVuY2VzUmVzZXRUZXN0UnVubmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpCit7CisgICAgLy8gQ3VycmVudGx5IHdlIHJlc2V0IHRoZSBvdmVycmlkZXMgb24gdGhl
IHdlYiBwcm9jZXNzIHdoZW4gcHJlZmVyZW5jZXNEaWRDaGFuZ2UoKSBpcyBjYWxsZWQuIFNpbmNl
IFdUUiBwcmVmZXJlbmNlcworICAgIC8vIGFyZSB1c3VhbGx5IGFsd2F5cyB0aGUgc2FtZSAoaW4g
dGhlIFVJIHByb2Nlc3MpLCB0aGV5IGFyZSBub3Qgc2VudCB0byB3ZWIgcHJvY2Vzcywgbm90IHRy
aWdnZXJpbmcgdGhlIHJlc2V0LgorICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmZvcmNlVXBk
YXRlKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldEphdmFTY3JpcHRFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgamF2YVNjcmlwdEVuYWJsZWQpCiB7CiAg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0SmF2YVNjcmlwdEVuYWJsZWQoamF2YVNjcmlw
dEVuYWJsZWQpOwpAQCAtMzU5LDE1ICszNjYsNiBAQCBXS1N0cmluZ1JlZiBXS1ByZWZlcmVuY2Vz
Q29weURlZmF1bHRUZXh0CiAgICAgcmV0dXJuIHRvQ29waWVkQVBJKHRvSW1wbChwcmVmZXJlbmNl
c1JlZiktPmRlZmF1bHRUZXh0RW5jb2RpbmdOYW1lKCkpOwogfQogCi12b2lkIFdLUHJlZmVyZW5j
ZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYsIGJvb2wgZW5hYmxlZCkKLXsKLX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQotewotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0RGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCiB7CiAg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChlbmFi
bGVkKTsKQEAgLTc1OCwxNSArNzU2LDYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TmVlZHNTdG9y
YWdlQWNjZXNzRgogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5uZWVkc1N0b3Jh
Z2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyaygpOwogfQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgLypl
bmFibGVkKi8pCi17Ci19Ci0KLWJvb2wgV0tQcmVmZXJlbmNlc0dldEhpeGllNzZXZWJTb2NrZXRQ
cm90b2NvbEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19
Ci0KIHZvaWQgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJl
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFj
ayhmbGFnKTsKQEAgLTkzNywyOCArOTI2LDYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0V2ViQXVk
aW9FbmFibGVkKFdLUAogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT53ZWJBdWRp
b0VuYWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0QXBwbGljYXRpb25DaHJvbWVN
b2RlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKQotewotICAgIC8vIEZJWE1FOiBSZW1v
dmUgb25jZSBXZWJLaXQgbmlnaHRsaWVzIGRvbid0IG5lZWQgdG8gc3VwcG9ydCBTYWZhcmkgOC4K
LX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0QXBwbGljYXRpb25DaHJvbWVNb2RlRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmKQotewotICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSBXZWJLaXQgbmln
aHRsaWVzIGRvbid0IG5lZWQgdG8gc3VwcG9ydCBTYWZhcmkgOC4KLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KLXZvaWQgV0tQcmVmZXJlbmNlc1NldEluc3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJm
YWNlKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCi17Ci0gICAgLy8gRklYTUU6IFJlbW92ZSBvbmNl
IFdlYktpdCBuaWdodGxpZXMgZG9uJ3QgbmVlZCB0byBzdXBwb3J0IFNhZmFyaSA2IHRocnUgNy4K
LX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW5zcGVjdG9yVXNlc1dlYktpdFVzZXJJbnRlcmZh
Y2UoV0tQcmVmZXJlbmNlc1JlZikKLXsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgV2ViS2l0
IG5pZ2h0bGllcyBkb24ndCBuZWVkIHRvIHN1cHBvcnQgU2FmYXJpIDYgdGhydSA3LgotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0U3VwcHJlc3Nlc0luY3JlbWVu
dGFsUmVuZGVyaW5nKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxl
ZCkKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTdXBwcmVzc2VzSW5jcmVtZW50
YWxSZW5kZXJpbmcoZW5hYmxlZCk7CkBAIC0xMDU5LDEzICsxMDI2LDYgQEAgV0tTdG9yYWdlQmxv
Y2tpbmdQb2xpY3kgV0tQcmVmZXJlbmNlc0dldAogICAgIHJldHVybiB0b0FQSShzdGF0aWNfY2Fz
dDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9saWN5Pih0b0ltcGwo
cHJlZmVyZW5jZXNSZWYpLT5zdG9yYWdlQmxvY2tpbmdQb2xpY3koKSkpOwogfQogCi12b2lkIFdL
UHJlZmVyZW5jZXNSZXNldFRlc3RSdW5uZXJPdmVycmlkZXMoV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlc1JlZikKLXsKLSAgICAvLyBDdXJyZW50bHkgd2UgcmVzZXQgdGhlIG92ZXJyaWRlcyBv
biB0aGUgd2ViIHByb2Nlc3Mgd2hlbiBwcmVmZXJlbmNlc0RpZENoYW5nZSgpIGlzIGNhbGxlZC4g
U2luY2UgV1RSIHByZWZlcmVuY2VzCi0gICAgLy8gYXJlIHVzdWFsbHkgYWx3YXlzIHRoZSBzYW1l
IChpbiB0aGUgVUkgcHJvY2VzcyksIHRoZXkgYXJlIG5vdCBzZW50IHRvIHdlYiBwcm9jZXNzLCBu
b3QgdHJpZ2dlcmluZyB0aGUgcmVzZXQuCi0gICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+Zm9y
Y2VVcGRhdGUoKTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0RGlhZ25vc3RpY0xvZ2dpbmdF
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKIHsK
ICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXREaWFnbm9zdGljTG9nZ2luZ0VuYWJsZWQo
ZW5hYmxlZCk7CkBAIC0xMzY5LDE3ICsxMzI5LDYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0Q29u
dGVudENoYW5nZU9ic2VydgogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5jb250
ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKCk7CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNlc1NldE5l
d0Jsb2NrSW5zaWRlSW5saW5lTW9kZWxFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCi17
Ci0gICAgLy8gRklYTUU6IFJlbW92ZSBTYWZhcmkgY2FsbCB0byB0aGlzLgotfQotCi1ib29sIFdL
UHJlZmVyZW5jZXNHZXROZXdCbG9ja0luc2lkZUlubGluZU1vZGVsRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmKQotewotICAgIC8vIEZJWE1FOiBSZW1vdmUgU2FmYXJpIGNhbGwgZm9yIHRoaXMuCi0g
ICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXREZWZlcnJlZENTU1Bh
cnNlckVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQog
ewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldERlZmVycmVkQ1NTUGFyc2VyRW5hYmxl
ZChmbGFnKTsKQEAgLTE0NDAsMTUgKzEzODksNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRQZWVy
Q29ubmVjdGlvbkVuYWJsCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnBlZXJD
b25uZWN0aW9uRW5hYmxlZCgpOwogfQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRXZWJSVENMZWdh
Y3lBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCi17Ci19Ci0KLWJvb2wgV0tQcmVm
ZXJlbmNlc0dldFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKLXsKLSAg
ICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZvaWQgV0tQcmVmZXJlbmNlc1NldFdlYlJUQ01ETlNJQ0VD
YW5kaWRhdGVzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVu
YWJsZWQpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0V2ViUlRDTUROU0lDRUNh
bmRpZGF0ZXNFbmFibGVkKGVuYWJsZWQpOwpAQCAtMTU2OSwxNiArMTUwOSw2IEBAIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldEhpZ2hsaWdodEFQSUVuYWJsZWQKICAgICByZXR1cm4gdG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+aGlnaGxpZ2h0QVBJRW5hYmxlZCgpOwogfQogCi0vLyBGSVhNRTogUmVtb3Zl
IHRoZXNlIHdoZW4gcG9zc2libGUuCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRMb25nTW91c2VQcmVz
c0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQot
ewotfQotCi1ib29sIFdLUHJlZmVyZW5jZXNHZXRMb25nTW91c2VQcmVzc0VuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZv
aWQgV0tQcmVmZXJlbmNlc1NldE1pbmltdW1ab29tRm9udFNpemUoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgZG91YmxlIHNpemUpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVm
KS0+c2V0TWluaW11bVpvb21Gb250U2l6ZShzaXplKTsKQEAgLTE1ODksMTYgKzE1MTksNiBAQCBk
b3VibGUgV0tQcmVmZXJlbmNlc0dldE1pbmltdW1ab29tRm9udFNpCiAgICAgcmV0dXJuIHRvSW1w
bChwcmVmZXJlbmNlc1JlZiktPm1pbmltdW1ab29tRm9udFNpemUoKTsKIH0KIAotdm9pZCBXS1By
ZWZlcmVuY2VzU2V0QW50aWFsaWFzZWRGb250RGlsYXRpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYsIGJvb2wpCi17Ci0gICAgLy8gRmVhdHVyZSByZW1vdmVkLgotfQotCi1ib29sIFdLUHJlZmVy
ZW5jZXNHZXRBbnRpYWxpYXNlZEZvbnREaWxhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikK
LXsKLSAgICByZXR1cm4gZmFsc2U7IC8vIEZlYXR1cmUgcmVtb3ZlZC4KLX0KLQogdm9pZCBXS1By
ZWZlcmVuY2VzU2V0VmlzaWJsZURlYnVnT3ZlcmxheVJlZ2lvbnMoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgV0tEZWJ1Z092ZXJsYXlSZWdpb25zIHZpc2libGVSZWdpb25zKQogewog
ICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFZpc2libGVEZWJ1Z092ZXJsYXlSZWdpb25z
KHZpc2libGVSZWdpb25zKTsKQEAgLTE2MDksMTcgKzE1MjksNiBAQCBXS0RlYnVnT3ZlcmxheVJl
Z2lvbnMgV0tQcmVmZXJlbmNlc0dldFZpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnZpc2libGVEZWJ1Z092ZXJsYXlSZWdpb25zKCk7CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNl
c1NldElnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRzKFdLUHJlZmVyZW5jZXNSZWYsIGJv
b2wpCi17Ci0gICAgLy8gVGhpcyBwcmVmZXJlbmNlIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi19
Ci0KLWJvb2wgV0tQcmVmZXJlbmNlc0dldElnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRz
KFdLUHJlZmVyZW5jZXNSZWYpCi17Ci0gICAgLy8gVGhpcyBwcmVmZXJlbmNlIGlzIG5vIGxvbmdl
ciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRNZXRhUmVmcmVzaEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9v
bCBlbmFibGVkKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldEhUVFBFcXVpdkVu
YWJsZWQoZW5hYmxlZCk7CkBAIC0xNzIwLDE2ICsxNjI5LDYgQEAgZG91YmxlIFdLUHJlZmVyZW5j
ZXNHZXRJbmFjdGl2ZU1lZGlhQ2FwdAogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5pbmFjdGl2ZU1lZGlhQ2FwdHVyZVN0ZWFtUmVwcm9tcHRJbnRlcnZhbEluTWludXRlcygpOwog
fQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRGZXRjaEFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQotewotICAgIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnNldEZldGNoQVBJRW5hYmxlZChmbGFnKTsKLX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0
RmV0Y2hBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCi17Ci0gICAg
cmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmZldGNoQVBJRW5hYmxlZCgpOwotfQotCiB2
b2lkIFdLUHJlZmVyZW5jZXNTZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNl
c1JlZiktPnNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZChmbGFnKTsKQEAgLTIyNDksMyArMjE0
OCwxMDAgQEAgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkVXNlU2VydmljZVdvcgogewogICAg
IFdlYktpdDo6dG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0U2hvdWxkVXNlU2VydmljZVdvcmtl
clNob3J0VGltZW91dChlbmFibGVkKTsKIH0KKworCisvLyBUaGUgZm9sbG93aW5nIGFyZSBhbGwg
ZGVwcmVjYXRlZCBhbmQgZG8gbm90aGluZy4gVGhleSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHBv
c3NpYmxlLgorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYsIGJvb2wpCit7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldElnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFp
bnRzKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCit7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dl
dElnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRzKFdLUHJlZmVyZW5jZXNSZWYpCit7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRXZWJSVENMZWdhY3lB
UElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCit7Cit9CisKK2Jvb2wgV0tQcmVmZXJl
bmNlc0dldFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK3sKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldE5ld0Jsb2NrSW5zaWRlSW5s
aW5lTW9kZWxFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCit7Cit9CisKK2Jvb2wgV0tQ
cmVmZXJlbmNlc0dldE5ld0Jsb2NrSW5zaWRlSW5saW5lTW9kZWxFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRM
b25nTW91c2VQcmVzc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3sKK30KKworYm9v
bCBXS1ByZWZlcmVuY2VzR2V0TG9uZ01vdXNlUHJlc3NFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYp
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRBbnRpYWxp
YXNlZEZvbnREaWxhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3sKK30KKwor
Ym9vbCBXS1ByZWZlcmVuY2VzR2V0QW50aWFsaWFzZWRGb250RGlsYXRpb25FbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJv
b2wpCit7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEhpeGllNzZXZWJTb2NrZXRQcm90b2Nv
bEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Zv
aWQgV0tQcmVmZXJlbmNlc1NldEFwcGxpY2F0aW9uQ2hyb21lTW9kZUVuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiwgYm9vbCkKK3sKKyAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgV2ViS2l0IG5pZ2h0
bGllcyBkb24ndCBuZWVkIHRvIHN1cHBvcnQgU2FmYXJpIDguCit9CisKK2Jvb2wgV0tQcmVmZXJl
bmNlc0dldEFwcGxpY2F0aW9uQ2hyb21lTW9kZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK3sK
KyAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgV2ViS2l0IG5pZ2h0bGllcyBkb24ndCBuZWVkIHRv
IHN1cHBvcnQgU2FmYXJpIDguCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRJbnNwZWN0b3JVc2VzV2ViS2l0VXNlckludGVyZmFjZShXS1ByZWZlcmVuY2VzUmVm
LCBib29sKQoreworICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSBXZWJLaXQgbmlnaHRsaWVzIGRv
bid0IG5lZWQgdG8gc3VwcG9ydCBTYWZhcmkgNiB0aHJ1IDcuCit9CisKK2Jvb2wgV0tQcmVmZXJl
bmNlc0dldEluc3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJmYWNlKFdLUHJlZmVyZW5jZXNSZWYp
Cit7CisgICAgLy8gRklYTUU6IFJlbW92ZSBvbmNlIFdlYktpdCBuaWdodGxpZXMgZG9uJ3QgbmVl
ZCB0byBzdXBwb3J0IFNhZmFyaSA2IHRocnUgNy4KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Zv
aWQgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29s
KQoreworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRGZXRjaEFQSUVuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkocmV2
aXNpb24gMjY3MDk0KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2RlZmlu
ZSBXS1ByZWZlcmVuY2VzUHJpdmF0ZV9oCiAKICNpbmNsdWRlIDxXZWJLaXQvV0tCYXNlLmg+Cisj
aW5jbHVkZSA8V2ViS2l0L1dLRGVwcmVjYXRlZC5oPgogCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4
dGVybiAiQyIgewpAQCAtNTQsNiArNTUsOCBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2Vz
U2V0RXhwZXJpbWVuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzUmVzZXRBbGxJbnRlcm5h
bERlYnVnRmVhdHVyZXMoV0tQcmVmZXJlbmNlc1JlZik7CiBXS19FWFBPUlQgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0SW50ZXJuYWxEZWJ1Z0ZlYXR1cmVGb3JLZXkoV0tQcmVmZXJlbmNlc1JlZiwgYm9v
bCwgV0tTdHJpbmdSZWYpOwogCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzUmVzZXRUZXN0
UnVubmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCiAvLyBE
ZWZhdWx0cyB0byBmYWxzZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTdWJwaXhl
bEFudGlhbGlhc2VkTGF5ZXJUZXh0RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKIFdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJwaXhlbEFudGlhbGlhc2VkTGF5ZXJUZXh0
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKQEAgLTE2MiwxMCArMTY1LDYgQEAgV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFRvcE5hdmlnYQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldE5lZWRzU3RvcmFnZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJrKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXMsIGJvb2wgbmVlZHNRdWlyayk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZl
cmVuY2VzR2V0TmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVpcmsoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlcyk7CiAKLS8vIERlZmF1bHRzIHRvIHRydWUuCi1XS19FWFBPUlQgdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOwotV0tfRVhQT1JUIGJvb2wg
V0tQcmVmZXJlbmNlc0dldEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7Ci0KIC8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQ
T1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJl
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQg
Ym9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CkBAIC0yMTQsMTQgKzIxMyw2IEBAIFdLX0VY
UE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG93c1Rvb2wKIFdLX0VYUE9SVCB2b2lkIFdLUHJl
ZmVyZW5jZXNTZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRNb2Nr
U2Nyb2xsYmFyc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKLS8v
IERlcHJlY2F0ZWQuIEFsd2F5cyByZXR1cm5zIGZhbHNlLgotV0tfRVhQT1JUIHZvaWQgV0tQcmVm
ZXJlbmNlc1NldEFwcGxpY2F0aW9uQ2hyb21lTW9kZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKLVdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRBcHBsaWNhdGlvbkNocm9tZU1vZGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYpOwotCi0vLyBEZXByZWNhdGVkLiBBbHdheXMgcmV0dXJucyBmYWxzZS4KLVdLX0VY
UE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRJbnNwZWN0b3JVc2VzV2ViS2l0VXNlckludGVyZmFj
ZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOwotV0tfRVhQ
T1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEluc3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJmYWNl
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwotCiAvLyBEZWZhdWx0cyB0byB0cnVl
LgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEphdmFFbmFibGVkRm9yTG9jYWxGaWxl
cyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29sIGphdmFFbmFibGVkKTsKIFdLX0VY
UE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRKYXZhRW5hYmxlZEZvckxvY2FsRmlsZXMoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CkBAIC0zMzgsMTAgKzMyOSw2IEBAIFdLX0VYUE9SVCB2
b2lkIFdLUHJlZmVyZW5jZXNTZXRDb250ZW50Q2gKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRDb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAv
LyBEZWZhdWx0cyB0byBmYWxzZS4KLVdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXROZXdC
bG9ja0luc2lkZUlubGluZU1vZGVsRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKLVdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXROZXdCbG9ja0luc2lkZUlubGluZU1vZGVsRW5h
YmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKLQotLy8gRGVmYXVsdHMgdG8gZmFsc2UuCiBXS19FWFBP
UlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0RGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYsIGJvb2wpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldERlZmVycmVk
Q1NTUGFyc2VyRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIApAQCAtMzUzLDggKzM0MCw2IEBA
IFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJwaXhlbEMKIFdLX0VYUE9SVCB2b2lk
IFdLUHJlZmVyZW5jZXNTZXRVc2VHaWFudFRpbGVzKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpOwog
V0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZUdpYW50VGlsZXMoV0tQcmVmZXJlbmNl
c1JlZik7CiAKLVdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNSZXNldFRlc3RSdW5uZXJPdmVy
cmlkZXMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7Ci0KIC8vIERlZmF1bHRzIHRv
IGZhbHNlLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZUxlZ2FjeVRleHRBbGln
blBvc2l0aW9uZWRFbGVtZW50QmVoYXZpb3IoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNVc2VMZWdhY3lU
ZXh0QWxpZ25Qb3NpdGlvbmVkRWxlbWVudEJlaGF2aW9yKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYpOwpAQCAtMzk5LDE4ICszODQsMTAgQEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJl
bmNlc0dldEdhbWVwYWRzRQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEhpZ2hsaWdo
dEFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVk
KTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRIaWdobGlnaHRBUElFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogCi0vLyBOb3QgaW1wbGVtZW50ZWQsIHNo
b3VsZCBiZSBkZWxldGVkIG9uY2UgdGhlcmUgYXJlIG5vIGNhbGxlcnMuCi1XS19FWFBPUlQgdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0TG9uZ01vdXNlUHJlc3NFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0TG9uZ01vdXNlUHJlc3NFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYpOwotCiAvLyBEZWZhdWx0cyB0byAwLiBTZXR0aW5nIHRoaXMgdG8gMCBkaXNhYmxlcyBmb250
IGF1dG9zaXppbmcgb24gaU9TLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE1pbmlt
dW1ab29tRm9udFNpemUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgZG91YmxlKTsK
IFdLX0VYUE9SVCBkb3VibGUgV0tQcmVmZXJlbmNlc0dldE1pbmltdW1ab29tRm9udFNpemUoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKLS8vIE5vdCBpbXBsZW1lbnRlZCwgc2hv
dWxkIGJlIGRlbGV0ZWQgb25jZSBTYWZhcmkgbm8gbG9uZ2VyIHVzZXMgdGhpcyBmdW5jdGlvbi4K
LVdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBbnRpYWxpYXNlZEZvbnREaWxhdGlvbkVu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywgYm9vbCBlbmFibGVkKTsKLVdLX0VY
UE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRBbnRpYWxpYXNlZEZvbnREaWxhdGlvbkVuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7Ci0KIC8vIERlZmF1bHRzIHRvIDAuCiBXS19F
WFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0SmF2YVNjcmlwdFJ1bnRpbWVGbGFncyhXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzLCBXS0phdmFTY3JpcHRSdW50aW1lRmxhZ1NldCBqYXZhc2Ny
aXB0UnVudGltZUZsYWdTZXQpOwogV0tfRVhQT1JUIFdLSmF2YVNjcmlwdFJ1bnRpbWVGbGFnU2V0
IFdLUHJlZmVyZW5jZXNHZXRKYXZhU2NyaXB0UnVudGltZUZsYWdzKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXMpOwpAQCAtNDQ4LDEwICs0MjUsNiBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0SW5hY3RpdmVNCiBXS19FWFBPUlQgZG91YmxlIFdLUHJlZmVyZW5jZXNHZXRJbmFj
dGl2ZU1lZGlhQ2FwdHVyZVN0ZWFtUmVwcm9tcHRJbnRlcnZhbEluTWludXRlcyhXS1ByZWZlcmVu
Y2VzUmVmKTsKIAogLy8gRGVmYXVsdHMgdG8gZmFsc2UKLVdLX0VYUE9SVCB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRGZXRjaEFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKLVdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRGZXRjaEFQSUVuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZik7Ci0KLS8vIERlZmF1bHRzIHRvIGZhbHNlCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0RG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxh
Zyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0RG93bmxvYWRBdHRyaWJ1dGVFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCkBAIC02MTUsNiArNTg4LDI0IEBAIFdLX0VYUE9SVCBi
b29sIFdLUHJlZmVyZW5jZXNHZXRQdW5jaE91dFcKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRSZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9v
bCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZWZlcnJlclBvbGljeUF0
dHJpYnV0ZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKKworLy8gVGhlIGZvbGxvd2luZyBh
cmUgYWxsIGRlcHJlY2F0ZWQgYW5kIGRvIG5vdGhpbmcuIFRoZXkgc2hvdWxkIGJlIHJlbW92ZWQg
d2hlbiBwb3NzaWJsZS4KKworV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE5ld0Jsb2Nr
SW5zaWRlSW5saW5lTW9kZWxFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpIFdLX0NfQVBJ
X0RFUFJFQ0FURUQ7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TmV3QmxvY2tJbnNp
ZGVJbmxpbmVNb2RlbEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikgV0tfQ19BUElfREVQUkVDQVRF
RDsKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRMb25nTW91c2VQcmVzc0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkgV0tfQ19BUElfREVQUkVDQVRFRDsKK1dLX0VYUE9SVCBi
b29sIFdLUHJlZmVyZW5jZXNHZXRMb25nTW91c2VQcmVzc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZikgV0tfQ19BUElfREVQUkVDQVRFRDsKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRB
bnRpYWxpYXNlZEZvbnREaWxhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkgV0tf
Q19BUElfREVQUkVDQVRFRDsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRBbnRpYWxp
YXNlZEZvbnREaWxhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikgV0tfQ19BUElfREVQUkVD
QVRFRDsKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBcHBsaWNhdGlvbkNocm9tZU1v
ZGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpIFdLX0NfQVBJX0RFUFJFQ0FURUQ7CitX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0QXBwbGljYXRpb25DaHJvbWVNb2RlRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmKSBXS19DX0FQSV9ERVBSRUNBVEVEOworV0tfRVhQT1JUIHZvaWQg
V0tQcmVmZXJlbmNlc1NldEluc3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJmYWNlKFdLUHJlZmVy
ZW5jZXNSZWYsIGJvb2wpIFdLX0NfQVBJX0RFUFJFQ0FURUQ7CitXS19FWFBPUlQgYm9vbCBXS1By
ZWZlcmVuY2VzR2V0SW5zcGVjdG9yVXNlc1dlYktpdFVzZXJJbnRlcmZhY2UoV0tQcmVmZXJlbmNl
c1JlZikgV0tfQ19BUElfREVQUkVDQVRFRDsKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wp
IFdLX0NfQVBJX0RFUFJFQ0FURUQ7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0SGl4
aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKSBXS19DX0FQSV9E
RVBSRUNBVEVEOworV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKSBXS19DX0FQSV9ERVBSRUNBVEVEOworV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldEZldGNoQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKSBX
S19DX0FQSV9ERVBSRUNBVEVEOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjY3MDk1KQorKysgU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMjAtMDktMTUgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2gg
QVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1
MTkKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFJl
bW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJ
LiBUaGVyZSBpcyBubworICAgICAgICByZWFzb24gb25lIG5lZWRzIHRvIGRpc2FibGUgaXQgbm93
IGFuZCBpdCBoYXMgYmVlbiBvbiBieSBkZWZhdWx0IGZvcgorICAgICAgICBhIGxvbmcgZW5vdWdo
IHRpbWUuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZl
cmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0RmV0Y2hB
UElFbmFibGVkOl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBmZXRjaEFQSUVuYWJsZWRd
KToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFu
Z2VkOl0pOgorCiAyMDIwLTA5LTE1ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgY3Vz
dG9tIGVsZW1lbnRzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI2NzA5NSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4Miw3ICsxODIsNiBAQAogI2RlZmluZSBXZWJLaXRE
aWFsb2dFbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXREaWFsb2dFbGVtZW50RW5h
YmxlZFByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdEtleWdlbkVsZW1lbnRFbmFibGVkUHJl
ZmVyZW5jZUtleSBAIldlYktpdEtleWdlbkVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSIKICNk
ZWZpbmUgV2ViS2l0Q2FjaGVBUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENhY2hlQVBJ
RW5hYmxlZCIKLSNkZWZpbmUgV2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdEZldGNoQVBJRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0V3JpdGFibGVTdHJlYW1BUElFbmFi
bGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdyaXRhYmxlU3RyZWFtQVBJRW5hYmxlZCIKICNkZWZp
bmUgV2ViS2l0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkIgogI2RlZmluZSBXZWJLaXRUcmFuc2Zvcm1T
dHJlYW1BUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFRyYW5zZm9ybVN0cmVhbUFQSUVu
YWJsZWQiCkBAIC0yOTUsMyArMjk0LDQgQEAKICNkZWZpbmUgV2ViS2l0U2hhZG93RE9NRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRTaGFkb3dET01FbmFibGVkIgogI2RlZmluZSBXZWJLaXRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkS2V5IEAiV2ViS2l0SGl4aWU3NldlYlNvY2tl
dFByb3RvY29sRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0Q3VzdG9tRWxlbWVudHNFbmFibGVkUHJl
ZmVyZW5jZUtleSBAIldlYktpdEN1c3RvbUVsZW1lbnRzRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0
RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEZldGNoQVBJRW5hYmxlZCIKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
cy5tbQkocmV2aXNpb24gMjY3MDk1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjQ5LDcgKzY0OSw2IEBAICsg
KHZvaWQpaW5pdGlhbGl6ZQogICAgICAgICBAWUVTLCBXZWJLaXRNYXNrV2ViR0xTdHJpbmdzRW5h
YmxlZFByZWZlcmVuY2VLZXksCiAjZW5kaWYKICAgICAgICAgQE5PLCBXZWJLaXRDYWNoZUFQSUVu
YWJsZWRQcmVmZXJlbmNlS2V5LAotICAgICAgICBAWUVTLCBXZWJLaXRGZXRjaEFQSUVuYWJsZWRQ
cmVmZXJlbmNlS2V5LAogCiAgICAgICAgIEBOTywgV2ViS2l0UmVhZGFibGVCeXRlU3RyZWFtQVBJ
RW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0V3JpdGFibGVTdHJlYW1B
UElFbmFibGVkUHJlZmVyZW5jZUtleSwKQEAgLTMwOTcsMTYgKzMwOTYsNiBAQCAtICh2b2lkKXNl
dENhY2hlQVBJRW5hYmxlZDooQk9PTClmbGFnCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFn
IGZvcktleTpXZWJLaXRDYWNoZUFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAoQk9P
TClmZXRjaEFQSUVuYWJsZWQKLXsKLSAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpX
ZWJLaXRGZXRjaEFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKLX0KLQotLSAodm9pZClzZXRGZXRj
aEFQSUVuYWJsZWQ6KEJPT0wpZmxhZwotewotICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBm
b3JLZXk6V2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleV07Ci19Ci0KIC0gKEJPT0wp
cmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZh
bHVlRm9yS2V5OldlYktpdFJlYWRhYmxlQnl0ZVN0cmVhbUFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKQEAgLTM3MDMsNiArMzY5MiwxNiBAQCArIChOU1N0cmluZyAqKV9jb25jYXRlbmF0ZUtleVdp
dGhJQkNyZWF0CiAvLyBUaGUgcHJlZmVyZW5jZXMgaW4gdGhpcyBjYXRlZ29yeSBhcmUgZGVwcmVj
YXRlZCBhbmQgaGF2ZSBubyBlZmZlY3QuIFRoZXkgc2hvdWxkCiAvLyBiZSByZW1vdmVkIHdoZW4g
aXQgaXMgY29uc2lkZXJlZCBzYWZlIHRvIGRvIHNvLgogCistICh2b2lkKXNldEZldGNoQVBJRW5h
YmxlZDooQk9PTClmbGFnCit7Cit9CisKKy0gKEJPT0wpZmV0Y2hBUElFbmFibGVkCit7CisgICAg
cmV0dXJuIFlFUzsKK30KKworCiAtICh2b2lkKXNldFNoYWRvd0RPTUVuYWJsZWQ6KEJPT0wpZmxh
ZwogewogfQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjcwOTUpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC01NDksOSArNTQ5LDYgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2Vi
UHJpdmF0ZSkKIC0gKEJPT0wpY2FjaGVBUElFbmFibGVkOwogLSAodm9pZClzZXRDYWNoZUFQSUVu
YWJsZWQ6KEJPT0wpZW5hYmxlZDsKIAotLSAodm9pZClzZXRGZXRjaEFQSUVuYWJsZWQ6KEJPT0wp
ZmxhZzsKLS0gKEJPT0wpZmV0Y2hBUElFbmFibGVkOwotCiAtICh2b2lkKXNldFJlYWRhYmxlQnl0
ZVN0cmVhbUFQSUVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpcmVhZGFibGVCeXRlU3RyZWFt
QVBJRW5hYmxlZDsKIApAQCAtNjk2LDkgKzY5MywxNCBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVu
Y2VzIChXZWJQcml2YXRlKQogCiBAZW5kCiAKK0BpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdl
YlByaXZhdGVEZXByZWNhdGVkKQorCiAvLyBUaGUgcHJlZmVyZW5jZXMgaW4gdGhpcyBjYXRlZ29y
eSBhcmUgZGVwcmVjYXRlZCBhbmQgaGF2ZSBubyBlZmZlY3QuIFRoZXkgc2hvdWxkCiAvLyBiZSBy
ZW1vdmVkIHdoZW4gaXQgaXMgY29uc2lkZXJlZCBzYWZlIHRvIGRvIHNvLgotQGludGVyZmFjZSBX
ZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZURlcHJlY2F0ZWQpCisKKy0gKHZvaWQpc2V0RmV0Y2hB
UElFbmFibGVkOihCT09MKWZsYWc7CistIChCT09MKWZldGNoQVBJRW5hYmxlZDsKKwogLSAodm9p
ZClzZXRTaGFkb3dET01FbmFibGVkOihCT09MKWZsYWc7CiAtIChCT09MKXNoYWRvd0RPTUVuYWJs
ZWQ7CiAKQEAgLTcxMiw0ICs3MTQsNSBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQ
cml2YXRlRGVwCiAtIChCT09MKWlzSGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZDsKIAog
LSAodm9pZClzZXREaXNrSW1hZ2VDYWNoZUVuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKKwogQGVuZApJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNp
b24gMjY3MDk1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0zMzM3LDcgKzMzMzcsNiBAQCAtICh2b2lkKV9wcmVmZXJlbmNl
c0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkKFtwcmVmZXJl
bmNlcyB3ZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkXSk7CiAKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChbcHJl
ZmVyZW5jZXMgY2FjaGVBUElFbmFibGVkXSk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUVuYWJsZWQoW3ByZWZlcmVuY2VzIGZldGNoQVBJ
RW5hYmxlZF0pOwogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRXcml0YWJsZVN0cmVhbUFQSUVuYWJsZWQoW3ByZWZlcmVuY2VzIHdyaXRhYmxlU3RyZWFt
QVBJRW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZChbcHJlZmVyZW5jZXMgcmVhZGFibGVC
eXRlU3RyZWFtQVBJRW5hYmxlZF0pOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwko
cmV2aXNpb24gMjY3MDk1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDktMTUgIFNhbSBXZWluaWcgIDx3
ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVu
YWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1MTkKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4
IENocmlzdGVuc2VuLgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJs
aW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJLiBUaGVyZSBpcyBubworICAgICAgICByZWFzb24g
b25lIG5lZWRzIHRvIGRpc2FibGUgaXQgbm93IGFuZCBpdCBoYXMgYmVlbiBvbiBieSBkZWZhdWx0
IGZvcgorICAgICAgICBhIGxvbmcgZW5vdWdoIHRpbWUuCisKKyAgICAgICAgKiBXZWJQcmVmZXJl
bmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0
aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6ZmV0Y2hBUElFbmFibGVkKToKKyAgICAg
ICAgKFdlYlByZWZlcmVuY2VzOjpzZXRGZXRjaEFQSUVuYWJsZWQpOgorICAgICAgICAqIFdlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwog
MjAyMC0wOS0xNSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIGN1c3RvbSBlbGVtZW50
cwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2
aXNpb24gMjY3MDk1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDksOCArMzA5LDYgQEAgdm9pZCBXZWJQcmVmZXJlbmNl
czo6aW5pdGlhbGl6ZURlZmF1bHRTZQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVs
dHMsIENGU1RSKFdlYktpdEFsbG93RGlzcGxheUFuZFJ1bm5pbmdPZkluc2VjdXJlQ29udGVudFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1ZSk7CiAKLSAgICBDRkRpY3Rpb25hcnlBZGRWYWx1
ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSksIGtD
RkJvb2xlYW5GYWxzZSk7Ci0KICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZT
VFIoV2ViS2l0Q3VzdG9tRWxlbWVudHNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5G
YWxzZSk7CiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
V2ViQW5pbWF0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwpAQCAt
MjA1MCwxMyArMjA0OCwxMiBAQCBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpmZXRjaEFQSUVuYWJs
ZWQoCiB7CiAgICAgaWYgKCFlbmFibGVkKQogICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotICAg
ICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdEZldGNoQVBJRW5hYmxlZFByZWZlcmVu
Y2VLZXkpOworICAgICplbmFibGVkID0gdHJ1ZTsKICAgICByZXR1cm4gU19PSzsKIH0KIAotSFJF
U1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0RmV0Y2hBUElFbmFibGVkKEJPT0wgZW5hYmxlZCkKK0hS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldEZldGNoQVBJRW5hYmxlZChCT09MKQogewotICAgIHNl
dEJvb2xWYWx1ZShXZWJLaXRGZXRjaEFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsK
ICAgICByZXR1cm4gU19PSzsKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Vmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5j
cHAJKHJldmlzaW9uIDI2NzA5NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjI5LDExICs1MjI5LDYgQEAgSFJFU1VMVCBXZWJWaWV3
Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogCiAgICAgLy8gRklYTUU6IEFkZCBwcmVmZXJlbmNl
cyBmb3IgdGhlIHJ1bnRpbWUgZW5hYmxlZCBmZWF0dXJlcy4KIAotICAgIGhyID0gcHJlZnNQcml2
YXRlLT5mZXRjaEFQSUVuYWJsZWQoJmVuYWJsZWQpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAg
ICAgICByZXR1cm4gaHI7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRGZXRjaEFQSUVuYWJsZWQoISFlbmFibGVkKTsKLQogICAgIGhyID0gcHJlZnNQcml2
YXRlLT5tZW51SXRlbUVsZW1lbnRFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhy
KSkKICAgICAgICAgcmV0dXJuIGhyOwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY3MDk1KQorKysgVG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjAtMDktMTUgIFNhbSBXZWluaWcg
IDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9y
IGVuYWJsaW5nL2Rpc2FibGluZyBjdXN0b20gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjUxOAorCisgICAgICAgIFJldmlld2VkIGJ5
IFRpbSBIb3J0b24uCisKKyAgICAgICAgUmVtb3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3IgZW5hYmxp
bmcvZGlzYWJsaW5nIGN1c3RvbSBlbGVtZW50cy4gVGhlcmUgaXMgbm8KKyAgICAgICAgcmVhc29u
IG9uZSBuZWVkIHRvIGRpc2FibGUgaXQgbm93LCBhbmQgaXQgaGFzIGJlZW4gb24gYnkgZGVmYXVs
dCBmb3IKKyAgICAgICAgYSBsb25nIGVub3VnaCB0aW1lLgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNl
c1RvQ29uc2lzdGVudFZhbHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRW
YWx1ZXMpOgorCisyMDIwLTA5LTE1ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhl
IGZldGNoIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE2NTE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAg
ICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZl
dGNoIEFQSS4gVGhlcmUgaXMgbm8KKyAgICAgICAgcmVhc29uIG9uZSBuZWVkcyB0byBkaXNhYmxl
IGl0IG5vdyBhbmQgaXQgaGFzIGJlZW4gb24gYnkgZGVmYXVsdCBmb3IKKyAgICAgICAgYSBsb25n
IGVub3VnaCB0aW1lLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdFJ1bm5lci5oOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAg
KHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChyZXNldFdlYlByZWZl
cmVuY2VzVG9Db25zaXN0ZW50VmFsdWVzKToKKwogMjAyMC0wOS0xNSAgU2FtIFdlaW5pZyAgPHdl
aW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3IgZW5h
YmxpbmcvZGlzYWJsaW5nIGN1c3RvbSBlbGVtZW50cwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRy
ZWUvVGVzdFJ1bm5lci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RS
dW5uZXIuaAkocmV2aXNpb24gMjY3MDk0KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdFJ1
bm5lci5oCSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5NSw2IEBAIHB1YmxpYzoKICAgICB2b2lk
IHF1ZXVlUmVsb2FkKCk7CiAgICAgdm9pZCByZW1vdmVBbGxWaXNpdGVkTGlua3MoKTsKICAgICB2
b2lkIHNldEFjY2VwdHNFZGl0aW5nKGJvb2wpOwotICAgIHZvaWQgc2V0RmV0Y2hBUElFbmFibGVk
KGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMoYm9v
bCk7CiAgICAgdm9pZCBzZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMoYm9vbCk7CiAgICAg
dm9pZCBzZXROZWVkc1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyayhib29sKTsKSW5kZXg6
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAkocmV2aXNpb24g
MjY3MDk1KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODk3LDcgKzg5Nyw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJl
ZmVyZW5jZXNUb0NvbnNpc3QKIAogICAgIHByZWZlcmVuY2VzLT5zZXRGb250U21vb3RoaW5nKEZv
bnRTbW9vdGhpbmdUeXBlU3RhbmRhcmQpOwogCi0gICAgcHJlZnNQcml2YXRlLT5zZXRGZXRjaEFQ
SUVuYWJsZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXRSZXNvdXJjZVRpbWluZ0VuYWJs
ZWQoVFJVRSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXRVc2VyVGltaW5nRW5hYmxlZChUUlVFKTsK
ICAgICBwcmVmc1ByaXZhdGUtPnNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZChUUlVFKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408854</attachid>
            <date>2020-09-15 13:27:53 -0700</date>
            <delta_ts>2020-09-15 14:00:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216519-20200915132752.patch</filename>
            <type>text/plain</type>
            <size>34714</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2NzA5NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDIwLTA5LTE1ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5n
IGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIEFQSQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NTE5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5nIGZv
ciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIEFQSS4gVGhlcmUgaXMgbm8KKyAgICAgICAg
cmVhc29uIG9uZSBuZWVkcyB0byBkaXNhYmxlIGl0IG5vdyBhbmQgaXQgaGFzIGJlZW4gb24gYnkg
ZGVmYXVsdCBmb3IKKyAgICAgICAgYSBsb25nIGVub3VnaCB0aW1lLgorCisgICAgICAgICogTW9k
dWxlcy9mZXRjaC9GZXRjaEJvZHkuaWRsOgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hI
ZWFkZXJzLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5pZGw6Cisg
ICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaFJlc3BvbnNlLmlkbDoKKyAgICAgICAgKiBNb2R1
bGVzL2ZldGNoL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVGZXRjaC5pZGw6CisgICAgICAgICog
cGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzZXRGZXRjaEFQSUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZmV0Y2hBUElFbmFibGVkIGNvbnN0KTog
RGVsZXRlZC4KKwogMjAyMC0wOS0xNSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIGN1
c3RvbSBlbGVtZW50cwpJbmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJv
ZHkuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hC
b2R5LmlkbAkocmV2aXNpb24gMjY3MDk2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaEJvZHkuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBACiAgKi8KIAog
WwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RmV0Y2hBUEksCiAgICAgRXhwb3NlZD0oV2luZG93LFdv
cmtlciksCiAgICAgSW50ZXJmYWNlTmFtZT1Cb2R5LAogXSBpbnRlcmZhY2UgbWl4aW4gRmV0Y2hC
b2R5IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hIZWFkZXJzLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoSGVhZGVy
cy5pZGwJKHJldmlzaW9uIDI2NzA5NikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gv
RmV0Y2hIZWFkZXJzLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNiBAQAogdHlwZWRl
ZiAoc2VxdWVuY2U8c2VxdWVuY2U8Qnl0ZVN0cmluZz4+IG9yIHJlY29yZDxCeXRlU3RyaW5nLCBC
eXRlU3RyaW5nPikgSGVhZGVyc0luaXQ7CiAKIFsKLSAgICBFbmFibGVkQXRSdW50aW1lPUZldGNo
QVBJLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUsCiAgICAgSW50ZXJmYWNlTmFtZT1IZWFkZXJzLApJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmlkbAkocmV2aXNpb24gMjY3MDk2KQor
KysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0zMiw3ICszMiw2IEBAIHR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZTdHJp
bmcpIFJlcXUKIAogWwogICAgIEFjdGl2ZURPTU9iamVjdCwKLSAgICBFbmFibGVkQXRSdW50aW1l
PUZldGNoQVBJLAogICAgIEV4cG9zZWQ9KFdpbmRvdyxXb3JrZXIpLAogICAgIEdlbmVyYXRlSXNS
ZWFjaGFibGU9SW1wbCwKICAgICBJbnRlcmZhY2VOYW1lPVJlcXVlc3QsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVzcG9uc2UuaWRsCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwJKHJldmlzaW9uIDI2
NzA5NikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXNwb25zZS5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDYgQEAgZGljdGlvbmFyeSBGZXRjaFJlc3BvbnNl
SW5pdCB7CiAKIFsKICAgICBBY3RpdmVET01PYmplY3QsCi0gICAgRW5hYmxlZEF0UnVudGltZT1G
ZXRjaEFQSSwKICAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBFeHBvc2VkPShX
aW5kb3csV29ya2VyKSwKICAgICBJbnRlcmZhY2VOYW1lPVJlc3BvbnNlLApJbmRleDogU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRs
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvV2luZG93T3JXb3Jr
ZXJHbG9iYWxTY29wZUZldGNoLmlkbAkocmV2aXNpb24gMjY3MDk2KQorKysgU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9mZXRjaC9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2guaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw2IEBAIHR5cGVkZWYgKEZldGNoUmVxdWVzdCBvciBVU1ZT
dHJpbmcpIFJlcXUKIAogLy8gaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2ZldGNoLW1l
dGhvZAogWwotICAgIEVuYWJsZWRBdFJ1bnRpbWU9RmV0Y2hBUEksCiAgICAgSW1wbGVtZW50ZWRC
eT1XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlRmV0Y2gKIF0gcGFydGlhbCBpbnRlcmZhY2UgbWl4
aW4gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZSB7CiAgICAgW05ld09iamVjdF0gUHJvbWlzZTxG
ZXRjaFJlc3BvbnNlPiBmZXRjaChSZXF1ZXN0SW5mbyBpbnB1dCwgb3B0aW9uYWwgRmV0Y2hSZXF1
ZXN0SW5pdCBpbml0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oCShyZXZpc2lvbiAyNjcwOTYpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1J1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaAkod29ya2luZyBjb3B5KQpAQCAtOTMsOSArOTMsNiBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRDYWNoZUFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9p
c0NhY2hlQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogICAgIGJvb2wgY2FjaGVBUElFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9pc0NhY2hlQVBJRW5hYmxlZDsgfQogCi0gICAgdm9pZCBzZXRG
ZXRjaEFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc0ZldGNoQVBJRW5hYmxlZCA9IGlz
RW5hYmxlZDsgfQotICAgIGJvb2wgZmV0Y2hBUElFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9p
c0ZldGNoQVBJRW5hYmxlZDsgfQotCiAgICAgdm9pZCBzZXRXZWJTb2NrZXRFbmFibGVkKGJvb2wg
aXNFbmFibGVkKSB7IG1faXNXZWJTb2NrZXRFbmFibGVkID0gaXNFbmFibGVkOyB9CiAgICAgYm9v
bCB3ZWJTb2NrZXRFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYlNvY2tldEVuYWJsZWQ7
IH0KIApAQCAtMzEyLDcgKzMwOSw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzT2Zmc2NyZWVu
Q2FudmFzRW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKICAgICBib29sIG1faXNDYWNoZUFQSUVu
YWJsZWQgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9pc0ZldGNoQVBJRW5hYmxlZCB7IHRydWUgfTsK
ICAgICBib29sIG1faXNXZWJTb2NrZXRFbmFibGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9mZXRj
aEFQSUtlZXBBbGl2ZUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pbnNwZWN0b3JBZGRp
dGlvbnNFbmFibGVkIHsgZmFsc2UgfTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjcwOTYpCisr
KyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDIwLTA5LTE1ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIEFQ
SQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2NTE5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBSZW1v
dmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgdGhlIGZldGNoIEFQSS4g
VGhlcmUgaXMgbm8KKyAgICAgICAgcmVhc29uIG9uZSBuZWVkcyB0byBkaXNhYmxlIGl0IG5vdyBh
bmQgaXQgaGFzIGJlZW4gb24gYnkgZGVmYXVsdCBmb3IKKyAgICAgICAgYSBsb25nIGVub3VnaCB0
aW1lLgorCisgICAgICAgIEFsc28gY2xlYW5zIHVwIFdLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgv
V0tQcmVmZXJlbmNlcy5jcHAgdG8gbW92ZSBhbGwgdGhlIG9ic29sZXRlCisgICAgICAgIHByZWZl
cmVuY2VzIHRvIHRoZSBib3R0b20gd2l0aCBhIGNvbW1lbnQgYWJvdXQgcmVtb3ZpbmcgdGhlbSB3
aGVuIHBvc3NpYmxlLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWw6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1Jlc2V0VGVzdFJ1bm5lck92ZXJyaWRlcyk6CisgICAgICAgIChXS1ByZWZlcmVu
Y2VzU2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0
UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SWdub3Jl
Vmlld3BvcnRTY2FsaW5nQ29uc3RyYWludHMpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldEln
bm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRzKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNT
ZXRXZWJSVENMZWdhY3lBUElFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRXZWJS
VENMZWdhY3lBUElFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXROZXdCbG9ja0lu
c2lkZUlubGluZU1vZGVsRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0TmV3Qmxv
Y2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldExv
bmdNb3VzZVByZXNzRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0TG9uZ01vdXNl
UHJlc3NFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRBbnRpYWxpYXNlZEZvbnRE
aWxhdGlvbkVuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldEFudGlhbGlhc2VkRm9u
dERpbGF0aW9uRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SGl4aWU3NldlYlNv
Y2tldFByb3RvY29sRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0SGl4aWU3Nldl
YlNvY2tldFByb3RvY29sRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0QXBwbGlj
YXRpb25DaHJvbWVNb2RlRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0QXBwbGlj
YXRpb25DaHJvbWVNb2RlRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW5zcGVj
dG9yVXNlc1dlYktpdFVzZXJJbnRlcmZhY2UpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldElu
c3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJmYWNlKToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNT
ZXRGZXRjaEFQSUVuYWJsZWQpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0dldEZldGNoQVBJRW5h
YmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRl
Lmg6CisKIDIwMjAtMDktMTUgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyBjdXN0b20g
ZWxlbWVudHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAko
cmV2aXNpb24gMjY3MDk2KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMu
eWFtbAkod29ya2luZyBjb3B5KQpAQCAtNzc0LDExICs3NzQsNiBAQCBFbnVtZXJhdGluZ0FsbE5l
dHdvcmtJbnRlcmZhY2VzRW5hYmxlZDoKICAgZGVmYXVsdFZhbHVlOiBmYWxzZQogICB3ZWJjb3Jl
QmluZGluZzogbm9uZQogCi1GZXRjaEFQSUVuYWJsZWQ6Ci0gIHR5cGU6IGJvb2wKLSAgZGVmYXVs
dFZhbHVlOiB0cnVlCi0gIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCi0K
IERvd25sb2FkQXR0cmlidXRlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6
IHRydWUKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwCShyZXZpc2lvbiAyNjcwOTYpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsNiArNzgsMTMgQEAg
dm9pZCBXS1ByZWZlcmVuY2VzU2V0SW50ZXJuYWxEZWJ1Z0ZlYXR1cgogICAgIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPnNldEludGVybmFsRGVidWdGZWF0dXJlRW5hYmxlZEZvcktleSh0b1dURlN0
cmluZyhpbnRlcm5hbERlYnVnRmVhdHVyZUtleSksIHZhbHVlKTsKIH0KIAordm9pZCBXS1ByZWZl
cmVuY2VzUmVzZXRUZXN0UnVubmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpCit7CisgICAgLy8gQ3VycmVudGx5IHdlIHJlc2V0IHRoZSBvdmVycmlkZXMgb24gdGhl
IHdlYiBwcm9jZXNzIHdoZW4gcHJlZmVyZW5jZXNEaWRDaGFuZ2UoKSBpcyBjYWxsZWQuIFNpbmNl
IFdUUiBwcmVmZXJlbmNlcworICAgIC8vIGFyZSB1c3VhbGx5IGFsd2F5cyB0aGUgc2FtZSAoaW4g
dGhlIFVJIHByb2Nlc3MpLCB0aGV5IGFyZSBub3Qgc2VudCB0byB3ZWIgcHJvY2Vzcywgbm90IHRy
aWdnZXJpbmcgdGhlIHJlc2V0LgorICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmZvcmNlVXBk
YXRlKCk7Cit9CisKIHZvaWQgV0tQcmVmZXJlbmNlc1NldEphdmFTY3JpcHRFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgamF2YVNjcmlwdEVuYWJsZWQpCiB7CiAg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0SmF2YVNjcmlwdEVuYWJsZWQoamF2YVNjcmlw
dEVuYWJsZWQpOwpAQCAtMzU5LDE1ICszNjYsNiBAQCBXS1N0cmluZ1JlZiBXS1ByZWZlcmVuY2Vz
Q29weURlZmF1bHRUZXh0CiAgICAgcmV0dXJuIHRvQ29waWVkQVBJKHRvSW1wbChwcmVmZXJlbmNl
c1JlZiktPmRlZmF1bHRUZXh0RW5jb2RpbmdOYW1lKCkpOwogfQogCi12b2lkIFdLUHJlZmVyZW5j
ZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYsIGJvb2wgZW5hYmxlZCkKLXsKLX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQotewotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0RGV2ZWxvcGVyRXh0cmFzRW5h
YmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCiB7CiAg
ICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZChlbmFi
bGVkKTsKQEAgLTc1OCwxNSArNzU2LDYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TmVlZHNTdG9y
YWdlQWNjZXNzRgogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5uZWVkc1N0b3Jh
Z2VBY2Nlc3NGcm9tRmlsZVVSTHNRdWlyaygpOwogfQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgLypl
bmFibGVkKi8pCi17Ci19Ci0KLWJvb2wgV0tQcmVmZXJlbmNlc0dldEhpeGllNzZXZWJTb2NrZXRQ
cm90b2NvbEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19
Ci0KIHZvaWQgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJl
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZykKIHsKICAgICB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5zZXRSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFj
ayhmbGFnKTsKQEAgLTkzNywyOCArOTI2LDYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0V2ViQXVk
aW9FbmFibGVkKFdLUAogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT53ZWJBdWRp
b0VuYWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0QXBwbGljYXRpb25DaHJvbWVN
b2RlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKQotewotICAgIC8vIEZJWE1FOiBSZW1v
dmUgb25jZSBXZWJLaXQgbmlnaHRsaWVzIGRvbid0IG5lZWQgdG8gc3VwcG9ydCBTYWZhcmkgOC4K
LX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0QXBwbGljYXRpb25DaHJvbWVNb2RlRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmKQotewotICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSBXZWJLaXQgbmln
aHRsaWVzIGRvbid0IG5lZWQgdG8gc3VwcG9ydCBTYWZhcmkgOC4KLSAgICByZXR1cm4gZmFsc2U7
Ci19Ci0KLXZvaWQgV0tQcmVmZXJlbmNlc1NldEluc3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJm
YWNlKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCi17Ci0gICAgLy8gRklYTUU6IFJlbW92ZSBvbmNl
IFdlYktpdCBuaWdodGxpZXMgZG9uJ3QgbmVlZCB0byBzdXBwb3J0IFNhZmFyaSA2IHRocnUgNy4K
LX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW5zcGVjdG9yVXNlc1dlYktpdFVzZXJJbnRlcmZh
Y2UoV0tQcmVmZXJlbmNlc1JlZikKLXsKLSAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgV2ViS2l0
IG5pZ2h0bGllcyBkb24ndCBuZWVkIHRvIHN1cHBvcnQgU2FmYXJpIDYgdGhydSA3LgotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0U3VwcHJlc3Nlc0luY3JlbWVu
dGFsUmVuZGVyaW5nKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxl
ZCkKIHsKICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRTdXBwcmVzc2VzSW5jcmVtZW50
YWxSZW5kZXJpbmcoZW5hYmxlZCk7CkBAIC0xMDU5LDEzICsxMDI2LDYgQEAgV0tTdG9yYWdlQmxv
Y2tpbmdQb2xpY3kgV0tQcmVmZXJlbmNlc0dldAogICAgIHJldHVybiB0b0FQSShzdGF0aWNfY2Fz
dDxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9saWN5Pih0b0ltcGwo
cHJlZmVyZW5jZXNSZWYpLT5zdG9yYWdlQmxvY2tpbmdQb2xpY3koKSkpOwogfQogCi12b2lkIFdL
UHJlZmVyZW5jZXNSZXNldFRlc3RSdW5uZXJPdmVycmlkZXMoV0tQcmVmZXJlbmNlc1JlZiBwcmVm
ZXJlbmNlc1JlZikKLXsKLSAgICAvLyBDdXJyZW50bHkgd2UgcmVzZXQgdGhlIG92ZXJyaWRlcyBv
biB0aGUgd2ViIHByb2Nlc3Mgd2hlbiBwcmVmZXJlbmNlc0RpZENoYW5nZSgpIGlzIGNhbGxlZC4g
U2luY2UgV1RSIHByZWZlcmVuY2VzCi0gICAgLy8gYXJlIHVzdWFsbHkgYWx3YXlzIHRoZSBzYW1l
IChpbiB0aGUgVUkgcHJvY2VzcyksIHRoZXkgYXJlIG5vdCBzZW50IHRvIHdlYiBwcm9jZXNzLCBu
b3QgdHJpZ2dlcmluZyB0aGUgcmVzZXQuCi0gICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+Zm9y
Y2VVcGRhdGUoKTsKLX0KLQogdm9pZCBXS1ByZWZlcmVuY2VzU2V0RGlhZ25vc3RpY0xvZ2dpbmdF
bmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKIHsK
ICAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXREaWFnbm9zdGljTG9nZ2luZ0VuYWJsZWQo
ZW5hYmxlZCk7CkBAIC0xMzY5LDE3ICsxMzI5LDYgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0Q29u
dGVudENoYW5nZU9ic2VydgogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5jb250
ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKCk7CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNlc1NldE5l
d0Jsb2NrSW5zaWRlSW5saW5lTW9kZWxFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCi17
Ci0gICAgLy8gRklYTUU6IFJlbW92ZSBTYWZhcmkgY2FsbCB0byB0aGlzLgotfQotCi1ib29sIFdL
UHJlZmVyZW5jZXNHZXROZXdCbG9ja0luc2lkZUlubGluZU1vZGVsRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmKQotewotICAgIC8vIEZJWE1FOiBSZW1vdmUgU2FmYXJpIGNhbGwgZm9yIHRoaXMuCi0g
ICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXREZWZlcnJlZENTU1Bh
cnNlckVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQog
ewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldERlZmVycmVkQ1NTUGFyc2VyRW5hYmxl
ZChmbGFnKTsKQEAgLTE0NDAsMTUgKzEzODksNiBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRQZWVy
Q29ubmVjdGlvbkVuYWJsCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnBlZXJD
b25uZWN0aW9uRW5hYmxlZCgpOwogfQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRXZWJSVENMZWdh
Y3lBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCi17Ci19Ci0KLWJvb2wgV0tQcmVm
ZXJlbmNlc0dldFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKLXsKLSAg
ICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZvaWQgV0tQcmVmZXJlbmNlc1NldFdlYlJUQ01ETlNJQ0VD
YW5kaWRhdGVzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVu
YWJsZWQpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0V2ViUlRDTUROU0lDRUNh
bmRpZGF0ZXNFbmFibGVkKGVuYWJsZWQpOwpAQCAtMTU2OSwxNiArMTUwOSw2IEBAIGJvb2wgV0tQ
cmVmZXJlbmNlc0dldEhpZ2hsaWdodEFQSUVuYWJsZWQKICAgICByZXR1cm4gdG9JbXBsKHByZWZl
cmVuY2VzUmVmKS0+aGlnaGxpZ2h0QVBJRW5hYmxlZCgpOwogfQogCi0vLyBGSVhNRTogUmVtb3Zl
IHRoZXNlIHdoZW4gcG9zc2libGUuCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRMb25nTW91c2VQcmVz
c0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQot
ewotfQotCi1ib29sIFdLUHJlZmVyZW5jZXNHZXRMb25nTW91c2VQcmVzc0VuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIHZv
aWQgV0tQcmVmZXJlbmNlc1NldE1pbmltdW1ab29tRm9udFNpemUoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgZG91YmxlIHNpemUpCiB7CiAgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVm
KS0+c2V0TWluaW11bVpvb21Gb250U2l6ZShzaXplKTsKQEAgLTE1ODksMTYgKzE1MTksNiBAQCBk
b3VibGUgV0tQcmVmZXJlbmNlc0dldE1pbmltdW1ab29tRm9udFNpCiAgICAgcmV0dXJuIHRvSW1w
bChwcmVmZXJlbmNlc1JlZiktPm1pbmltdW1ab29tRm9udFNpemUoKTsKIH0KIAotdm9pZCBXS1By
ZWZlcmVuY2VzU2V0QW50aWFsaWFzZWRGb250RGlsYXRpb25FbmFibGVkKFdLUHJlZmVyZW5jZXNS
ZWYsIGJvb2wpCi17Ci0gICAgLy8gRmVhdHVyZSByZW1vdmVkLgotfQotCi1ib29sIFdLUHJlZmVy
ZW5jZXNHZXRBbnRpYWxpYXNlZEZvbnREaWxhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikK
LXsKLSAgICByZXR1cm4gZmFsc2U7IC8vIEZlYXR1cmUgcmVtb3ZlZC4KLX0KLQogdm9pZCBXS1By
ZWZlcmVuY2VzU2V0VmlzaWJsZURlYnVnT3ZlcmxheVJlZ2lvbnMoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgV0tEZWJ1Z092ZXJsYXlSZWdpb25zIHZpc2libGVSZWdpb25zKQogewog
ICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFZpc2libGVEZWJ1Z092ZXJsYXlSZWdpb25z
KHZpc2libGVSZWdpb25zKTsKQEAgLTE2MDksMTcgKzE1MjksNiBAQCBXS0RlYnVnT3ZlcmxheVJl
Z2lvbnMgV0tQcmVmZXJlbmNlc0dldFZpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnZpc2libGVEZWJ1Z092ZXJsYXlSZWdpb25zKCk7CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNl
c1NldElnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRzKFdLUHJlZmVyZW5jZXNSZWYsIGJv
b2wpCi17Ci0gICAgLy8gVGhpcyBwcmVmZXJlbmNlIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi19
Ci0KLWJvb2wgV0tQcmVmZXJlbmNlc0dldElnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRz
KFdLUHJlZmVyZW5jZXNSZWYpCi17Ci0gICAgLy8gVGhpcyBwcmVmZXJlbmNlIGlzIG5vIGxvbmdl
ciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIGZhbHNlOwotfQotCiB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRNZXRhUmVmcmVzaEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9v
bCBlbmFibGVkKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldEhUVFBFcXVpdkVu
YWJsZWQoZW5hYmxlZCk7CkBAIC0xNzIwLDE2ICsxNjI5LDYgQEAgZG91YmxlIFdLUHJlZmVyZW5j
ZXNHZXRJbmFjdGl2ZU1lZGlhQ2FwdAogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5pbmFjdGl2ZU1lZGlhQ2FwdHVyZVN0ZWFtUmVwcm9tcHRJbnRlcnZhbEluTWludXRlcygpOwog
fQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRGZXRjaEFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQotewotICAgIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnNldEZldGNoQVBJRW5hYmxlZChmbGFnKTsKLX0KLQotYm9vbCBXS1ByZWZlcmVuY2VzR2V0
RmV0Y2hBUElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCi17Ci0gICAg
cmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmZldGNoQVBJRW5hYmxlZCgpOwotfQotCiB2
b2lkIFdLUHJlZmVyZW5jZXNTZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKQogewogICAgIHRvSW1wbChwcmVmZXJlbmNl
c1JlZiktPnNldERhdGFUcmFuc2Zlckl0ZW1zRW5hYmxlZChmbGFnKTsKQEAgLTIyNDksMyArMjE0
OCwxMDAgQEAgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U2hvdWxkVXNlU2VydmljZVdvcgogewogICAg
IFdlYktpdDo6dG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0U2hvdWxkVXNlU2VydmljZVdvcmtl
clNob3J0VGltZW91dChlbmFibGVkKTsKIH0KKworCisvLyBUaGUgZm9sbG93aW5nIGFyZSBhbGwg
ZGVwcmVjYXRlZCBhbmQgZG8gbm90aGluZy4gVGhleSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHBv
c3NpYmxlLgorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRQcml2YXRlQnJvd3NpbmdFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYsIGJvb2wpCit7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldElnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFp
bnRzKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCit7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dl
dElnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRzKFdLUHJlZmVyZW5jZXNSZWYpCit7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRXZWJSVENMZWdhY3lB
UElFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCit7Cit9CisKK2Jvb2wgV0tQcmVmZXJl
bmNlc0dldFdlYlJUQ0xlZ2FjeUFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK3sKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldE5ld0Jsb2NrSW5zaWRlSW5s
aW5lTW9kZWxFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpCit7Cit9CisKK2Jvb2wgV0tQ
cmVmZXJlbmNlc0dldE5ld0Jsb2NrSW5zaWRlSW5saW5lTW9kZWxFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRM
b25nTW91c2VQcmVzc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3sKK30KKworYm9v
bCBXS1ByZWZlcmVuY2VzR2V0TG9uZ01vdXNlUHJlc3NFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYp
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRBbnRpYWxp
YXNlZEZvbnREaWxhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3sKK30KKwor
Ym9vbCBXS1ByZWZlcmVuY2VzR2V0QW50aWFsaWFzZWRGb250RGlsYXRpb25FbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJv
b2wpCit7Cit9CisKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEhpeGllNzZXZWJTb2NrZXRQcm90b2Nv
bEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Zv
aWQgV0tQcmVmZXJlbmNlc1NldEFwcGxpY2F0aW9uQ2hyb21lTW9kZUVuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiwgYm9vbCkKK3sKKyAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgV2ViS2l0IG5pZ2h0
bGllcyBkb24ndCBuZWVkIHRvIHN1cHBvcnQgU2FmYXJpIDguCit9CisKK2Jvb2wgV0tQcmVmZXJl
bmNlc0dldEFwcGxpY2F0aW9uQ2hyb21lTW9kZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK3sK
KyAgICAvLyBGSVhNRTogUmVtb3ZlIG9uY2UgV2ViS2l0IG5pZ2h0bGllcyBkb24ndCBuZWVkIHRv
IHN1cHBvcnQgU2FmYXJpIDguCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRJbnNwZWN0b3JVc2VzV2ViS2l0VXNlckludGVyZmFjZShXS1ByZWZlcmVuY2VzUmVm
LCBib29sKQoreworICAgIC8vIEZJWE1FOiBSZW1vdmUgb25jZSBXZWJLaXQgbmlnaHRsaWVzIGRv
bid0IG5lZWQgdG8gc3VwcG9ydCBTYWZhcmkgNiB0aHJ1IDcuCit9CisKK2Jvb2wgV0tQcmVmZXJl
bmNlc0dldEluc3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJmYWNlKFdLUHJlZmVyZW5jZXNSZWYp
Cit7CisgICAgLy8gRklYTUU6IFJlbW92ZSBvbmNlIFdlYktpdCBuaWdodGxpZXMgZG9uJ3QgbmVl
ZCB0byBzdXBwb3J0IFNhZmFyaSA2IHRocnUgNy4KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Zv
aWQgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29s
KQoreworfQorCitib29sIFdLUHJlZmVyZW5jZXNHZXRGZXRjaEFQSUVuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAkocmV2
aXNpb24gMjY3MDk2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlc1JlZlByaXZhdGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2RlZmlu
ZSBXS1ByZWZlcmVuY2VzUHJpdmF0ZV9oCiAKICNpbmNsdWRlIDxXZWJLaXQvV0tCYXNlLmg+Cisj
aW5jbHVkZSA8V2ViS2l0L1dLRGVwcmVjYXRlZC5oPgogCiAjaWZkZWYgX19jcGx1c3BsdXMKIGV4
dGVybiAiQyIgewpAQCAtNTQsNiArNTUsOCBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2Vz
U2V0RXhwZXJpbWVuCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzUmVzZXRBbGxJbnRlcm5h
bERlYnVnRmVhdHVyZXMoV0tQcmVmZXJlbmNlc1JlZik7CiBXS19FWFBPUlQgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0SW50ZXJuYWxEZWJ1Z0ZlYXR1cmVGb3JLZXkoV0tQcmVmZXJlbmNlc1JlZiwgYm9v
bCwgV0tTdHJpbmdSZWYpOwogCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzUmVzZXRUZXN0
UnVubmVyT3ZlcnJpZGVzKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCiAvLyBE
ZWZhdWx0cyB0byBmYWxzZS4KIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTdWJwaXhl
bEFudGlhbGlhc2VkTGF5ZXJUZXh0RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKIFdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJwaXhlbEFudGlhbGlhc2VkTGF5ZXJUZXh0
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKQEAgLTE2MiwxMCArMTY1LDYgQEAgV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFRvcE5hdmlnYQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldE5lZWRzU3RvcmFnZUFjY2Vzc0Zyb21GaWxlVVJMc1F1aXJrKFdLUHJlZmVyZW5jZXNS
ZWYgcHJlZmVyZW5jZXMsIGJvb2wgbmVlZHNRdWlyayk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZl
cmVuY2VzR2V0TmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVpcmsoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlcyk7CiAKLS8vIERlZmF1bHRzIHRvIHRydWUuCi1XS19FWFBPUlQgdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOwotV0tfRVhQT1JUIGJvb2wg
V0tQcmVmZXJlbmNlc0dldEhpeGllNzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7Ci0KIC8vIERlZmF1bHRzIHRvIGZhbHNlLgogV0tfRVhQ
T1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE1lZGlhUGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJl
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxhZyk7CiBXS19FWFBPUlQg
Ym9vbCBXS1ByZWZlcmVuY2VzR2V0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1cmUoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CkBAIC0yMTQsMTQgKzIxMyw2IEBAIFdLX0VY
UE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTaG93c1Rvb2wKIFdLX0VYUE9SVCB2b2lkIFdLUHJl
ZmVyZW5jZXNTZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1JlZiwgYm9vbCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRNb2Nr
U2Nyb2xsYmFyc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKLS8v
IERlcHJlY2F0ZWQuIEFsd2F5cyByZXR1cm5zIGZhbHNlLgotV0tfRVhQT1JUIHZvaWQgV0tQcmVm
ZXJlbmNlc1NldEFwcGxpY2F0aW9uQ2hyb21lTW9kZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBw
cmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKTsKLVdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRBcHBsaWNhdGlvbkNocm9tZU1vZGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYpOwotCi0vLyBEZXByZWNhdGVkLiBBbHdheXMgcmV0dXJucyBmYWxzZS4KLVdLX0VY
UE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRJbnNwZWN0b3JVc2VzV2ViS2l0VXNlckludGVyZmFj
ZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpOwotV0tfRVhQ
T1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEluc3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJmYWNl
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwotCiAvLyBEZWZhdWx0cyB0byB0cnVl
LgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEphdmFFbmFibGVkRm9yTG9jYWxGaWxl
cyhXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzLCBib29sIGphdmFFbmFibGVkKTsKIFdLX0VY
UE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRKYXZhRW5hYmxlZEZvckxvY2FsRmlsZXMoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7CkBAIC0zMzgsMTAgKzMyOSw2IEBAIFdLX0VYUE9SVCB2
b2lkIFdLUHJlZmVyZW5jZXNTZXRDb250ZW50Q2gKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRDb250ZW50Q2hhbmdlT2JzZXJ2ZXJFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCiAv
LyBEZWZhdWx0cyB0byBmYWxzZS4KLVdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXROZXdC
bG9ja0luc2lkZUlubGluZU1vZGVsRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKTsKLVdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXROZXdCbG9ja0luc2lkZUlubGluZU1vZGVsRW5h
YmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKLQotLy8gRGVmYXVsdHMgdG8gZmFsc2UuCiBXS19FWFBP
UlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0RGVmZXJyZWRDU1NQYXJzZXJFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYsIGJvb2wpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldERlZmVycmVk
Q1NTUGFyc2VyRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKTsKIApAQCAtMzUzLDggKzM0MCw2IEBA
IFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRTdWJwaXhlbEMKIFdLX0VYUE9SVCB2b2lk
IFdLUHJlZmVyZW5jZXNTZXRVc2VHaWFudFRpbGVzKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpOwog
V0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldFVzZUdpYW50VGlsZXMoV0tQcmVmZXJlbmNl
c1JlZik7CiAKLVdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNSZXNldFRlc3RSdW5uZXJPdmVy
cmlkZXMoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7Ci0KIC8vIERlZmF1bHRzIHRv
IGZhbHNlLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFVzZUxlZ2FjeVRleHRBbGln
blBvc2l0aW9uZWRFbGVtZW50QmVoYXZpb3IoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBlbmFibGVkKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNVc2VMZWdhY3lU
ZXh0QWxpZ25Qb3NpdGlvbmVkRWxlbWVudEJlaGF2aW9yKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYpOwpAQCAtMzk5LDE4ICszODQsMTAgQEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJl
bmNlc0dldEdhbWVwYWRzRQogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEhpZ2hsaWdo
dEFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVk
KTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRIaWdobGlnaHRBUElFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOwogCi0vLyBOb3QgaW1wbGVtZW50ZWQsIHNo
b3VsZCBiZSBkZWxldGVkIG9uY2UgdGhlcmUgYXJlIG5vIGNhbGxlcnMuCi1XS19FWFBPUlQgdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0TG9uZ01vdXNlUHJlc3NFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCk7Ci1XS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVu
Y2VzR2V0TG9uZ01vdXNlUHJlc3NFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYpOwotCiAvLyBEZWZhdWx0cyB0byAwLiBTZXR0aW5nIHRoaXMgdG8gMCBkaXNhYmxlcyBmb250
IGF1dG9zaXppbmcgb24gaU9TLgogV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE1pbmlt
dW1ab29tRm9udFNpemUoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgZG91YmxlKTsK
IFdLX0VYUE9SVCBkb3VibGUgV0tQcmVmZXJlbmNlc0dldE1pbmltdW1ab29tRm9udFNpemUoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CiAKLS8vIE5vdCBpbXBsZW1lbnRlZCwgc2hv
dWxkIGJlIGRlbGV0ZWQgb25jZSBTYWZhcmkgbm8gbG9uZ2VyIHVzZXMgdGhpcyBmdW5jdGlvbi4K
LVdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBbnRpYWxpYXNlZEZvbnREaWxhdGlvbkVu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcywgYm9vbCBlbmFibGVkKTsKLVdLX0VY
UE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRBbnRpYWxpYXNlZEZvbnREaWxhdGlvbkVuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlcyk7Ci0KIC8vIERlZmF1bHRzIHRvIDAuCiBXS19F
WFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0SmF2YVNjcmlwdFJ1bnRpbWVGbGFncyhXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzLCBXS0phdmFTY3JpcHRSdW50aW1lRmxhZ1NldCBqYXZhc2Ny
aXB0UnVudGltZUZsYWdTZXQpOwogV0tfRVhQT1JUIFdLSmF2YVNjcmlwdFJ1bnRpbWVGbGFnU2V0
IFdLUHJlZmVyZW5jZXNHZXRKYXZhU2NyaXB0UnVudGltZUZsYWdzKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXMpOwpAQCAtNDQ4LDEwICs0MjUsNiBAQCBXS19FWFBPUlQgdm9pZCBXS1ByZWZl
cmVuY2VzU2V0SW5hY3RpdmVNCiBXS19FWFBPUlQgZG91YmxlIFdLUHJlZmVyZW5jZXNHZXRJbmFj
dGl2ZU1lZGlhQ2FwdHVyZVN0ZWFtUmVwcm9tcHRJbnRlcnZhbEluTWludXRlcyhXS1ByZWZlcmVu
Y2VzUmVmKTsKIAogLy8gRGVmYXVsdHMgdG8gZmFsc2UKLVdLX0VYUE9SVCB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRGZXRjaEFQSUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCBmbGFnKTsKLVdL
X0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRGZXRjaEFQSUVuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZik7Ci0KLS8vIERlZmF1bHRzIHRvIGZhbHNlCiBXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0RG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wgZmxh
Zyk7CiBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0RG93bmxvYWRBdHRyaWJ1dGVFbmFi
bGVkKFdLUHJlZmVyZW5jZXNSZWYpOwogCkBAIC02MTUsNiArNTg4LDI0IEBAIFdLX0VYUE9SVCBi
b29sIFdLUHJlZmVyZW5jZXNHZXRQdW5jaE91dFcKIFdLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5j
ZXNTZXRSZWZlcnJlclBvbGljeUF0dHJpYnV0ZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9v
bCBmbGFnKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRSZWZlcnJlclBvbGljeUF0
dHJpYnV0ZUVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZik7CiAKKworLy8gVGhlIGZvbGxvd2luZyBh
cmUgYWxsIGRlcHJlY2F0ZWQgYW5kIGRvIG5vdGhpbmcuIFRoZXkgc2hvdWxkIGJlIHJlbW92ZWQg
d2hlbiBwb3NzaWJsZS4KKworV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE5ld0Jsb2Nr
SW5zaWRlSW5saW5lTW9kZWxFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpIFdLX0NfQVBJ
X0RFUFJFQ0FURUQ7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TmV3QmxvY2tJbnNp
ZGVJbmxpbmVNb2RlbEVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikgV0tfQ19BUElfREVQUkVDQVRF
RDsKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRMb25nTW91c2VQcmVzc0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkgV0tfQ19BUElfREVQUkVDQVRFRDsKK1dLX0VYUE9SVCBi
b29sIFdLUHJlZmVyZW5jZXNHZXRMb25nTW91c2VQcmVzc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1Jl
ZikgV0tfQ19BUElfREVQUkVDQVRFRDsKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRB
bnRpYWxpYXNlZEZvbnREaWxhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkgV0tf
Q19BUElfREVQUkVDQVRFRDsKK1dLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRBbnRpYWxp
YXNlZEZvbnREaWxhdGlvbkVuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikgV0tfQ19BUElfREVQUkVD
QVRFRDsKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRBcHBsaWNhdGlvbkNocm9tZU1v
ZGVFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wpIFdLX0NfQVBJX0RFUFJFQ0FURUQ7CitX
S19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0QXBwbGljYXRpb25DaHJvbWVNb2RlRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmKSBXS19DX0FQSV9ERVBSRUNBVEVEOworV0tfRVhQT1JUIHZvaWQg
V0tQcmVmZXJlbmNlc1NldEluc3BlY3RvclVzZXNXZWJLaXRVc2VySW50ZXJmYWNlKFdLUHJlZmVy
ZW5jZXNSZWYsIGJvb2wpIFdLX0NfQVBJX0RFUFJFQ0FURUQ7CitXS19FWFBPUlQgYm9vbCBXS1By
ZWZlcmVuY2VzR2V0SW5zcGVjdG9yVXNlc1dlYktpdFVzZXJJbnRlcmZhY2UoV0tQcmVmZXJlbmNl
c1JlZikgV0tfQ19BUElfREVQUkVDQVRFRDsKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRIaXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJvb2wp
IFdLX0NfQVBJX0RFUFJFQ0FURUQ7CitXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0SGl4
aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKSBXS19DX0FQSV9E
RVBSRUNBVEVEOworV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldEZldGNoQVBJRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKSBXS19DX0FQSV9ERVBSRUNBVEVEOworV0tfRVhQT1JU
IGJvb2wgV0tQcmVmZXJlbmNlc0dldEZldGNoQVBJRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKSBX
S19DX0FQSV9ERVBSRUNBVEVEOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpJbmRl
eDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMjY3MDk2KQorKysgU291cmNl
L1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMjAtMDktMTUgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAg
IFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2gg
QVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1
MTkKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFJl
bW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJ
LiBUaGVyZSBpcyBubworICAgICAgICByZWFzb24gb25lIG5lZWRzIHRvIGRpc2FibGUgaXQgbm93
IGFuZCBpdCBoYXMgYmVlbiBvbiBieSBkZWZhdWx0IGZvcgorICAgICAgICBhIGxvbmcgZW5vdWdo
IHRpbWUuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgrW1dlYlByZWZl
cmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0RmV0Y2hB
UElFbmFibGVkOl0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBmZXRjaEFQSUVuYWJsZWRd
KToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFu
Z2VkOl0pOgorCiAyMDIwLTA5LTE1ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgcnVudGltZSBzZXR0aW5nIGZvciBlbmFibGluZy9kaXNhYmxpbmcgY3Vz
dG9tIGVsZW1lbnRzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgJKHJldmlzaW9uIDI2NzA5NikK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2
YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4Miw3ICsxODIsNiBAQAogI2RlZmluZSBXZWJLaXRE
aWFsb2dFbGVtZW50RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXREaWFsb2dFbGVtZW50RW5h
YmxlZFByZWZlcmVuY2VLZXkiCiAjZGVmaW5lIFdlYktpdEtleWdlbkVsZW1lbnRFbmFibGVkUHJl
ZmVyZW5jZUtleSBAIldlYktpdEtleWdlbkVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSIKICNk
ZWZpbmUgV2ViS2l0Q2FjaGVBUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdENhY2hlQVBJ
RW5hYmxlZCIKLSNkZWZpbmUgV2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdEZldGNoQVBJRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0V3JpdGFibGVTdHJlYW1BUElFbmFi
bGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdyaXRhYmxlU3RyZWFtQVBJRW5hYmxlZCIKICNkZWZp
bmUgV2ViS2l0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJL
aXRSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkIgogI2RlZmluZSBXZWJLaXRUcmFuc2Zvcm1T
dHJlYW1BUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFRyYW5zZm9ybVN0cmVhbUFQSUVu
YWJsZWQiCkBAIC0yOTUsMyArMjk0LDQgQEAKICNkZWZpbmUgV2ViS2l0U2hhZG93RE9NRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRTaGFkb3dET01FbmFibGVkIgogI2RlZmluZSBXZWJLaXRI
aXhpZTc2V2ViU29ja2V0UHJvdG9jb2xFbmFibGVkS2V5IEAiV2ViS2l0SGl4aWU3NldlYlNvY2tl
dFByb3RvY29sRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0Q3VzdG9tRWxlbWVudHNFbmFibGVkUHJl
ZmVyZW5jZUtleSBAIldlYktpdEN1c3RvbUVsZW1lbnRzRW5hYmxlZCIKKyNkZWZpbmUgV2ViS2l0
RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdEZldGNoQVBJRW5hYmxlZCIKSW5k
ZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
cy5tbQkocmV2aXNpb24gMjY3MDk2KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjQ5LDcgKzY0OSw2IEBAICsg
KHZvaWQpaW5pdGlhbGl6ZQogICAgICAgICBAWUVTLCBXZWJLaXRNYXNrV2ViR0xTdHJpbmdzRW5h
YmxlZFByZWZlcmVuY2VLZXksCiAjZW5kaWYKICAgICAgICAgQE5PLCBXZWJLaXRDYWNoZUFQSUVu
YWJsZWRQcmVmZXJlbmNlS2V5LAotICAgICAgICBAWUVTLCBXZWJLaXRGZXRjaEFQSUVuYWJsZWRQ
cmVmZXJlbmNlS2V5LAogCiAgICAgICAgIEBOTywgV2ViS2l0UmVhZGFibGVCeXRlU3RyZWFtQVBJ
RW5hYmxlZFByZWZlcmVuY2VLZXksCiAgICAgICAgIEBOTywgV2ViS2l0V3JpdGFibGVTdHJlYW1B
UElFbmFibGVkUHJlZmVyZW5jZUtleSwKQEAgLTMwOTcsMTYgKzMwOTYsNiBAQCAtICh2b2lkKXNl
dENhY2hlQVBJRW5hYmxlZDooQk9PTClmbGFnCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmbGFn
IGZvcktleTpXZWJLaXRDYWNoZUFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAoQk9P
TClmZXRjaEFQSUVuYWJsZWQKLXsKLSAgICByZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpX
ZWJLaXRGZXRjaEFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKLX0KLQotLSAodm9pZClzZXRGZXRj
aEFQSUVuYWJsZWQ6KEJPT0wpZmxhZwotewotICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBm
b3JLZXk6V2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleV07Ci19Ci0KIC0gKEJPT0wp
cmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZh
bHVlRm9yS2V5OldlYktpdFJlYWRhYmxlQnl0ZVN0cmVhbUFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKQEAgLTM3MDMsNiArMzY5MiwxNiBAQCArIChOU1N0cmluZyAqKV9jb25jYXRlbmF0ZUtleVdp
dGhJQkNyZWF0CiAvLyBUaGUgcHJlZmVyZW5jZXMgaW4gdGhpcyBjYXRlZ29yeSBhcmUgZGVwcmVj
YXRlZCBhbmQgaGF2ZSBubyBlZmZlY3QuIFRoZXkgc2hvdWxkCiAvLyBiZSByZW1vdmVkIHdoZW4g
aXQgaXMgY29uc2lkZXJlZCBzYWZlIHRvIGRvIHNvLgogCistICh2b2lkKXNldEZldGNoQVBJRW5h
YmxlZDooQk9PTClmbGFnCit7Cit9CisKKy0gKEJPT0wpZmV0Y2hBUElFbmFibGVkCit7CisgICAg
cmV0dXJuIFlFUzsKK30KKworCiAtICh2b2lkKXNldFNoYWRvd0RPTUVuYWJsZWQ6KEJPT0wpZmxh
ZwogewogfQpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShyZXZpc2lvbiAyNjcwOTYpCisrKyBTb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC01NDksOSArNTQ5LDYgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAoV2Vi
UHJpdmF0ZSkKIC0gKEJPT0wpY2FjaGVBUElFbmFibGVkOwogLSAodm9pZClzZXRDYWNoZUFQSUVu
YWJsZWQ6KEJPT0wpZW5hYmxlZDsKIAotLSAodm9pZClzZXRGZXRjaEFQSUVuYWJsZWQ6KEJPT0wp
ZmxhZzsKLS0gKEJPT0wpZmV0Y2hBUElFbmFibGVkOwotCiAtICh2b2lkKXNldFJlYWRhYmxlQnl0
ZVN0cmVhbUFQSUVuYWJsZWQ6KEJPT0wpZmxhZzsKIC0gKEJPT0wpcmVhZGFibGVCeXRlU3RyZWFt
QVBJRW5hYmxlZDsKIApAQCAtNjk2LDkgKzY5MywxNCBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVu
Y2VzIChXZWJQcml2YXRlKQogCiBAZW5kCiAKK0BpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdl
YlByaXZhdGVEZXByZWNhdGVkKQorCiAvLyBUaGUgcHJlZmVyZW5jZXMgaW4gdGhpcyBjYXRlZ29y
eSBhcmUgZGVwcmVjYXRlZCBhbmQgaGF2ZSBubyBlZmZlY3QuIFRoZXkgc2hvdWxkCiAvLyBiZSBy
ZW1vdmVkIHdoZW4gaXQgaXMgY29uc2lkZXJlZCBzYWZlIHRvIGRvIHNvLgotQGludGVyZmFjZSBX
ZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZURlcHJlY2F0ZWQpCisKKy0gKHZvaWQpc2V0RmV0Y2hB
UElFbmFibGVkOihCT09MKWZsYWc7CistIChCT09MKWZldGNoQVBJRW5hYmxlZDsKKwogLSAodm9p
ZClzZXRTaGFkb3dET01FbmFibGVkOihCT09MKWZsYWc7CiAtIChCT09MKXNoYWRvd0RPTUVuYWJs
ZWQ7CiAKQEAgLTcxMiw0ICs3MTQsNSBAQCBAaW50ZXJmYWNlIFdlYlByZWZlcmVuY2VzIChXZWJQ
cml2YXRlRGVwCiAtIChCT09MKWlzSGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZDsKIAog
LSAodm9pZClzZXREaXNrSW1hZ2VDYWNoZUVuYWJsZWQ6KEJPT0wpZW5hYmxlZDsKKwogQGVuZApJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNp
b24gMjY3MDk2KQorKysgU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0zMzM3LDcgKzMzMzcsNiBAQCAtICh2b2lkKV9wcmVmZXJlbmNl
c0NoYW5nZWQ6KFdlYlByZWZlcmVuCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5zZXRXZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkKFtwcmVmZXJl
bmNlcyB3ZWJBbmltYXRpb25zQ1NTSW50ZWdyYXRpb25FbmFibGVkXSk7CiAKICAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldENhY2hlQVBJRW5hYmxlZChbcHJl
ZmVyZW5jZXMgY2FjaGVBUElFbmFibGVkXSk7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5zZXRGZXRjaEFQSUVuYWJsZWQoW3ByZWZlcmVuY2VzIGZldGNoQVBJ
RW5hYmxlZF0pOwogCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRXcml0YWJsZVN0cmVhbUFQSUVuYWJsZWQoW3ByZWZlcmVuY2VzIHdyaXRhYmxlU3RyZWFt
QVBJRW5hYmxlZF0pOwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZChbcHJlZmVyZW5jZXMgcmVhZGFibGVC
eXRlU3RyZWFtQVBJRW5hYmxlZF0pOwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwko
cmV2aXNpb24gMjY3MDk2KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjAtMDktMTUgIFNhbSBXZWluaWcgIDx3
ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVu
YWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1MTkKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4
IENocmlzdGVuc2VuLgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVuYWJs
aW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJLiBUaGVyZSBpcyBubworICAgICAgICByZWFzb24g
b25lIG5lZWRzIHRvIGRpc2FibGUgaXQgbm93IGFuZCBpdCBoYXMgYmVlbiBvbiBieSBkZWZhdWx0
IGZvcgorICAgICAgICBhIGxvbmcgZW5vdWdoIHRpbWUuCisKKyAgICAgICAgKiBXZWJQcmVmZXJl
bmNlcy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6aW5pdGlhbGl6ZURlZmF1bHRTZXR0
aW5ncyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6ZmV0Y2hBUElFbmFibGVkKToKKyAgICAg
ICAgKFdlYlByZWZlcmVuY2VzOjpzZXRGZXRjaEFQSUVuYWJsZWQpOgorICAgICAgICAqIFdlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwog
MjAyMC0wOS0xNSAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVt
b3ZlIHJ1bnRpbWUgc2V0dGluZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIGN1c3RvbSBlbGVtZW50
cwpJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2
aXNpb24gMjY3MDk2KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDksOCArMzA5LDYgQEAgdm9pZCBXZWJQcmVmZXJlbmNl
czo6aW5pdGlhbGl6ZURlZmF1bHRTZQogCiAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUoZGVmYXVs
dHMsIENGU1RSKFdlYktpdEFsbG93RGlzcGxheUFuZFJ1bm5pbmdPZkluc2VjdXJlQ29udGVudFBy
ZWZlcmVuY2VLZXkpLCBrQ0ZCb29sZWFuVHJ1ZSk7CiAKLSAgICBDRkRpY3Rpb25hcnlBZGRWYWx1
ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSksIGtD
RkJvb2xlYW5GYWxzZSk7Ci0KICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZT
VFIoV2ViS2l0Q3VzdG9tRWxlbWVudHNFbmFibGVkUHJlZmVyZW5jZUtleSksIGtDRkJvb2xlYW5G
YWxzZSk7CiAKICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShkZWZhdWx0cywgQ0ZTVFIoV2ViS2l0
V2ViQW5pbWF0aW9uc0VuYWJsZWRQcmVmZXJlbmNlS2V5KSwga0NGQm9vbGVhblRydWUpOwpAQCAt
MjA1MCwxMyArMjA0OCwxMiBAQCBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpmZXRjaEFQSUVuYWJs
ZWQoCiB7CiAgICAgaWYgKCFlbmFibGVkKQogICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotICAg
ICplbmFibGVkID0gYm9vbFZhbHVlRm9yS2V5KFdlYktpdEZldGNoQVBJRW5hYmxlZFByZWZlcmVu
Y2VLZXkpOworICAgICplbmFibGVkID0gdHJ1ZTsKICAgICByZXR1cm4gU19PSzsKIH0KIAotSFJF
U1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0RmV0Y2hBUElFbmFibGVkKEJPT0wgZW5hYmxlZCkKK0hS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldEZldGNoQVBJRW5hYmxlZChCT09MKQogewotICAgIHNl
dEJvb2xWYWx1ZShXZWJLaXRGZXRjaEFQSUVuYWJsZWRQcmVmZXJlbmNlS2V5LCBlbmFibGVkKTsK
ICAgICByZXR1cm4gU19PSzsKIH0KIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2Vi
Vmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViVmlldy5j
cHAJKHJldmlzaW9uIDI2NzA5NikKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MjI5LDExICs1MjI5LDYgQEAgSFJFU1VMVCBXZWJWaWV3
Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogCiAgICAgLy8gRklYTUU6IEFkZCBwcmVmZXJlbmNl
cyBmb3IgdGhlIHJ1bnRpbWUgZW5hYmxlZCBmZWF0dXJlcy4KIAotICAgIGhyID0gcHJlZnNQcml2
YXRlLT5mZXRjaEFQSUVuYWJsZWQoJmVuYWJsZWQpOwotICAgIGlmIChGQUlMRUQoaHIpKQotICAg
ICAgICByZXR1cm4gaHI7Ci0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRGZXRjaEFQSUVuYWJsZWQoISFlbmFibGVkKTsKLQogICAgIGhyID0gcHJlZnNQcml2
YXRlLT5tZW51SXRlbUVsZW1lbnRFbmFibGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhy
KSkKICAgICAgICAgcmV0dXJuIGhyOwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjY3MDk2KQorKysgVG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjAtMDktMTUgIFNhbSBXZWluaWcg
IDx3ZWluaWdAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9y
IGVuYWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTY1MTkKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4IENocmlzdGVuc2VuLgorCisgICAgICAgIFJlbW92ZSBydW50aW1lIHNldHRpbmcgZm9yIGVu
YWJsaW5nL2Rpc2FibGluZyB0aGUgZmV0Y2ggQVBJLiBUaGVyZSBpcyBubworICAgICAgICByZWFz
b24gb25lIG5lZWRzIHRvIGRpc2FibGUgaXQgbm93IGFuZCBpdCBoYXMgYmVlbiBvbiBieSBkZWZh
dWx0IGZvcgorICAgICAgICBhIGxvbmcgZW5vdWdoIHRpbWUuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9UZXN0UnVubmVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlLm1tOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZh
bHVlcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoK
KyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorCiAyMDIw
LTA5LTE1ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBb
d2Via2l0c2NtcHldIEFkZCBDb250cmlidXRvciBvYmplY3QKSW5kZXg6IFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL1Rlc3RSdW5uZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9U
ZXN0UnVubmVyLmgJKHJldmlzaW9uIDI2NzA5NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rl
c3RSdW5uZXIuaAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsNiBAQCBwdWJsaWM6CiAgICAg
dm9pZCBxdWV1ZVJlbG9hZCgpOwogICAgIHZvaWQgcmVtb3ZlQWxsVmlzaXRlZExpbmtzKCk7CiAg
ICAgdm9pZCBzZXRBY2NlcHRzRWRpdGluZyhib29sKTsKLSAgICB2b2lkIHNldEZldGNoQVBJRW5h
YmxlZChib29sKTsKICAgICB2b2lkIHNldEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxz
KGJvb2wpOwogICAgIHZvaWQgc2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKGJvb2wpOwog
ICAgIHZvaWQgc2V0TmVlZHNTdG9yYWdlQWNjZXNzRnJvbUZpbGVVUkxzUXVpcmsoYm9vbCk7Cklu
ZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAJKHJldmlz
aW9uIDI2NzA5NikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTg5Nyw3ICs4OTcsNiBAQCBzdGF0aWMgdm9pZCByZXNldFdl
YlByZWZlcmVuY2VzVG9Db25zaXN0CiAKICAgICBwcmVmZXJlbmNlcy0+c2V0Rm9udFNtb290aGlu
ZyhGb250U21vb3RoaW5nVHlwZVN0YW5kYXJkKTsKIAotICAgIHByZWZzUHJpdmF0ZS0+c2V0RmV0
Y2hBUElFbmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0UmVzb3VyY2VUaW1pbmdF
bmFibGVkKFRSVUUpOwogICAgIHByZWZzUHJpdmF0ZS0+c2V0VXNlclRpbWluZ0VuYWJsZWQoVFJV
RSk7CiAgICAgcHJlZnNQcml2YXRlLT5zZXREYXRhVHJhbnNmZXJJdGVtc0VuYWJsZWQoVFJVRSk7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>