<?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>124578</bug_id>
          
          <creation_ts>2013-11-19 05:46:09 -0800</creation_ts>
          <short_desc>Remove WTF:: prefix from types in messages.in files.</short_desc>
          <delta_ts>2013-12-03 11:35:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>125142</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tamas Gergely">tgergely.u-szeged</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>galpeter</cc>
    
    <cc>glenn</cc>
    
    <cc>hyatt</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kling</cc>
    
    <cc>mitz</cc>
    
    <cc>mjs</cc>
    
    <cc>mrowe</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>952045</commentid>
    <comment_count>0</comment_count>
    <who name="Tamas Gergely">tgergely.u-szeged</who>
    <bug_when>2013-11-19 05:46:09 -0800</bug_when>
    <thetext>From the bug 123095 a comment came which describes that the all WTF:: prefixes (not only for template classes) should be removed from the messages.in files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952047</commentid>
    <comment_count>1</comment_count>
      <attachid>217292</attachid>
    <who name="Tamas Gergely">tgergely.u-szeged</who>
    <bug_when>2013-11-19 05:59:49 -0800</bug_when>
    <thetext>Created attachment 217292
Removes WTF prefix from messages.in files, 1st try.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954925</commentid>
    <comment_count>2</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-11-29 02:49:23 -0800</bug_when>
    <thetext>LGTM, but it needs a WK2 owner review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954977</commentid>
    <comment_count>3</comment_count>
      <attachid>218065</attachid>
    <who name="Tamas Gergely">tgergely.u-szeged</who>
    <bug_when>2013-11-29 07:22:09 -0800</bug_when>
    <thetext>Created attachment 218065
Removes WTF prefix from messages.in files, update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954978</commentid>
    <comment_count>4</comment_count>
      <attachid>218065</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-11-29 07:32:25 -0800</bug_when>
    <thetext>Comment on attachment 218065
Removes WTF prefix from messages.in files, update.

Attachment 218065 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/39138172</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954982</commentid>
    <comment_count>5</comment_count>
      <attachid>218065</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-11-29 07:52:33 -0800</bug_when>
    <thetext>Comment on attachment 218065
Removes WTF prefix from messages.in files, update.

Attachment 218065 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/39138175</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955265</commentid>
    <comment_count>6</comment_count>
      <attachid>218145</attachid>
    <who name="Tamas Gergely">tgergely.u-szeged</who>
    <bug_when>2013-12-02 00:25:41 -0800</bug_when>
    <thetext>Created attachment 218145
Removes WTF prefix from messages.in files, update for mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955844</commentid>
    <comment_count>7</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-03 03:28:09 -0800</bug_when>
    <thetext>cc more WK2 owner, maybe one of the have time to review this patch.
The patch looks good to me, but the r+ can be set only WK2 owner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956012</commentid>
    <comment_count>8</comment_count>
      <attachid>218145</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-03 11:35:54 -0800</bug_when>
    <thetext>Comment on attachment 218145
Removes WTF prefix from messages.in files, update for mac.

Clearing flags on attachment: 218145

Committed r160022: &lt;http://trac.webkit.org/changeset/160022&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956013</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-03 11:35:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217292</attachid>
            <date>2013-11-19 05:59:49 -0800</date>
            <delta_ts>2013-11-29 07:22:09 -0800</delta_ts>
            <desc>Removes WTF prefix from messages.in files, 1st try.</desc>
            <filename>messages_in_wtf_prefix_removal.patch</filename>
            <type>text/plain</type>
            <size>76439</size>
            <attacher name="Tamas Gergely">tgergely.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4MjU3OWNjLi5hN2MzNTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkg
QEAKKzIwMTMtMTEtMTkgIFRhbWFzIEdlcmdlbHkgIDxnZXJ0b21AaW5mLnUtc3plZ2VkLmh1Pgor
CisgICAgICAgIFJlbW92ZSBXVEY6OiBwcmVmaXggZnJvbSB0eXBlcyBpbiBtZXNzYWdlcy5pbiBm
aWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
NDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSBXVEY6OiBwcmVmaXhlcyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBtZXNzYWdlcy5pbiBmaWxlcywg
YW5kIHRoZQorICAgICAgICBtZXNzYWdlcy5weSBub3cgaGFuZGxlcyB1bnByZWZpeGVkIG5vbi10
ZW1wbGF0ZSBXVEYgY2xhc3NlcyAob25seQorICAgICAgICB0aGUgV1RGOjpTdHJpbmcgY2xhc3Mg
aXMgdXNlZCBjdXJyZW50bHkpLiBUZXN0cyBhcmUgYWxzbyB1cGRhdGVkLgorCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW46
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46Cisg
ICAgICAgICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW46
CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weToKKyAgICAgICAgKGZvcndhcmRfZGVj
bGFyYXRpb25zX2FuZF9oZWFkZXJzKToKKyAgICAgICAgKGNsYXNzX3RlbXBsYXRlX2hlYWRlcnMp
OgorICAgICAgICAoYXJndW1lbnRfY29kZXJfaGVhZGVyc19mb3JfdHlwZSk6CisgICAgICAgICog
U2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzX3VuaXR0ZXN0LnB5OgorICAgICAgICAoc3RkKToKKyAg
ICAgICAgKiBTaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvQ3VzdG9tUHJvdG9jb2xNYW5h
Z2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQ
cm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFn
ZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQubWVz
c2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHkubWVz
c2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYkljb25EYXRhYmFzZS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW46Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdl
YlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5tZXNz
YWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3Rv
cmFnZS9TdG9yYWdlQXJlYU1hcC5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkRhdGFiYXNlTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL3NvdXAvV2Vi
U291cFJlcXVlc3RNYW5hZ2VyLm1lc3NhZ2VzLmluOgorCiAyMDEzLTExLTE4ICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgTGV0J3MgdHJ5IHRoaXMgYWdh
aW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGIy
Y2UxYmUuLjdlODkwMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluCkBAIC0zNSwxMiArMzUsMTIgQEAgbWVzc2FnZXMgLT4gTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFN0YXJ0RG93bmxvYWQoYm9vbCBwcml2
YXRlQnJvd3NpbmdFbmFibGVkLCB1aW50NjRfdCBkb3dubG9hZElELCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QgcmVxdWVzdCkKICAgICBDb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQo
dWludDY0X3QgbWFpblJlc291cmNlTG9hZElkZW50aWZpZXIsIHVpbnQ2NF90IGRvd25sb2FkSUQs
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlIHJlc3BvbnNlKQogCi0gICAgQ29va2llc0ZvckRPTShib29sIHByaXZhdGVCcm93c2luZ0Vu
YWJsZWQsIFdlYkNvcmU6OlVSTCBmaXJzdFBhcnR5LCBXZWJDb3JlOjpVUkwgdXJsKSAtPiAoV1RG
OjpTdHJpbmcgcmVzdWx0KQotICAgIFNldENvb2tpZXNGcm9tRE9NKGJvb2wgcHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZCwgV2ViQ29yZTo6VVJMIGZpcnN0UGFydHksIFdlYkNvcmU6OlVSTCB1cmwsIFdU
Rjo6U3RyaW5nIGNvb2tpZVN0cmluZykKKyAgICBDb29raWVzRm9yRE9NKGJvb2wgcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCwgV2ViQ29yZTo6VVJMIGZpcnN0UGFydHksIFdlYkNvcmU6OlVSTCB1cmwp
IC0+IChTdHJpbmcgcmVzdWx0KQorICAgIFNldENvb2tpZXNGcm9tRE9NKGJvb2wgcHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCwgV2ViQ29yZTo6VVJMIGZpcnN0UGFydHksIFdlYkNvcmU6OlVSTCB1cmws
IFN0cmluZyBjb29raWVTdHJpbmcpCiAgICAgQ29va2llc0VuYWJsZWQoYm9vbCBwcml2YXRlQnJv
d3NpbmdFbmFibGVkLCBXZWJDb3JlOjpVUkwgZmlyc3RQYXJ0eSwgV2ViQ29yZTo6VVJMIHVybCkg
LT4gKGJvb2wgZW5hYmxlZCkKLSAgICBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZShib29s
IHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIFdlYkNvcmU6OlVSTCBmaXJzdFBhcnR5LCBXZWJDb3Jl
OjpVUkwgdXJsKSAtPiAoV1RGOjpTdHJpbmcgcmVzdWx0KQorICAgIENvb2tpZVJlcXVlc3RIZWFk
ZXJGaWVsZFZhbHVlKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgV2ViQ29yZTo6VVJMIGZp
cnN0UGFydHksIFdlYkNvcmU6OlVSTCB1cmwpIC0+IChTdHJpbmcgcmVzdWx0KQogICAgIEdldFJh
d0Nvb2tpZXMoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBXZWJDb3JlOjpVUkwgZmlyc3RQ
YXJ0eSwgV2ViQ29yZTo6VVJMIHVybCkgLT4gKFZlY3RvcjxXZWJDb3JlOjpDb29raWU+IGNvb2tp
ZXMpCi0gICAgRGVsZXRlQ29va2llKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgV2ViQ29y
ZTo6VVJMIHVybCwgV1RGOjpTdHJpbmcgY29va2llTmFtZSkKKyAgICBEZWxldGVDb29raWUoYm9v
bCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBXZWJDb3JlOjpVUkwgdXJsLCBTdHJpbmcgY29va2ll
TmFtZSkKIAogICAgIFJlZ2lzdGVyQmxvYlVSTChXZWJDb3JlOjpVUkwgdXJsLCBXZWJLaXQ6OkJs
b2JSZWdpc3RyYXRpb25EYXRhIGRhdGEpCiAgICAgUmVnaXN0ZXJCbG9iVVJMRnJvbVVSTChXZWJD
b3JlOjpVUkwgdXJsLCBXZWJDb3JlOjpVUkwgc3JjVVJMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBh
NWZjYmM3Li45OTdkNjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNz
YWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1
cHByZXNzaW9uRW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNI
VFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNl
cnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRp
ZmljYXRlRm9ySG9zdChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRl
LCBTdHJpbmcgaG9zdCkKICAgICAKICAgICBHZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWlu
dDY0X3QgY2FsbGJhY2tJRCkKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdp
blByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
NWM5MDg3Ni4uZGQ3NjNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vz
cy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTMzLDEw
ICszMywxMCBAQCBtZXNzYWdlcyAtPiBQbHVnaW5Db250cm9sbGVyUHJveHkgTGVnYWN5UmVjZWl2
ZXIgewogICAgIEZyYW1lRGlkRmFpbCh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgd2FzQ2FuY2Vs
bGVkKQogCiAgICAgIyBTZW50IHdoZW4gSmF2YVNjcmlwdCB0aGF0IHRoZSBwbHVnLWluIGFza2Vk
IHRvIGJlIGV2YWx1YXRlZCBoYXMgYmVlbiBldmFsdWF0ZWQuCi0gICAgRGlkRXZhbHVhdGVKYXZh
U2NyaXB0KHVpbnQ2NF90IHJlcXVlc3RJRCwgV1RGOjpTdHJpbmcgcmVzdWx0KQorICAgIERpZEV2
YWx1YXRlSmF2YVNjcmlwdCh1aW50NjRfdCByZXF1ZXN0SUQsIFN0cmluZyByZXN1bHQpCiAKICAg
ICAjIFNlbnQgd2hlbiB0aGUgcGx1Zy1pbiByZWNlaXZlcyBhIHJlc3BvbnNlIGZvciBhIHN0cmVh
bS4KLSAgICBTdHJlYW1EaWRSZWNlaXZlUmVzcG9uc2UodWludDY0X3Qgc3RyZWFtSUQsIFdURjo6
U3RyaW5nIHJlc3BvbnNlVVJMU3RyaW5nLCB1aW50MzJfdCBzdHJlYW1MZW5ndGgsIHVpbnQzMl90
IGxhc3RNb2RpZmllZFRpbWUsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCBXVEY6OlN0cmluZyBoZWFk
ZXJzKQorICAgIFN0cmVhbURpZFJlY2VpdmVSZXNwb25zZSh1aW50NjRfdCBzdHJlYW1JRCwgU3Ry
aW5nIHJlc3BvbnNlVVJMU3RyaW5nLCB1aW50MzJfdCBzdHJlYW1MZW5ndGgsIHVpbnQzMl90IGxh
c3RNb2RpZmllZFRpbWUsIFN0cmluZyBtaW1lVHlwZSwgU3RyaW5nIGhlYWRlcnMpCiAKICAgICAj
IFNlbnQgd2hlbiB0aGUgcGx1Zy1pbiByZWNlaXZlcyBkYXRhIGZvciBhIHN0cmVhbS4KICAgICBT
dHJlYW1EaWRSZWNlaXZlRGF0YSh1aW50NjRfdCBzdHJlYW1JRCwgQ29yZUlQQzo6RGF0YVJlZmVy
ZW5jZSBkYXRhKQpAQCAtNDgsNyArNDgsNyBAQCBtZXNzYWdlcyAtPiBQbHVnaW5Db250cm9sbGVy
UHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIFN0cmVhbURpZEZhaWwodWludDY0X3Qgc3RyZWFt
SUQsIGJvb2wgd2FzQ2FuY2VsbGVkKQogCiAgICAgIyBTZW50IHdoZW4gdGhlIHBsdWctaW4gcmVj
ZWl2ZXMgYSByZXNwb25zZSBmb3IgdGhlIG1hbnVhbCBzdHJlYW0uCi0gICAgTWFudWFsU3RyZWFt
RGlkUmVjZWl2ZVJlc3BvbnNlKFdURjo6U3RyaW5nIHJlc3BvbnNlVVJMU3RyaW5nLCB1aW50MzJf
dCBzdHJlYW1MZW5ndGgsIHVpbnQzMl90IGxhc3RNb2RpZmllZFRpbWUsIFdURjo6U3RyaW5nIG1p
bWVUeXBlLCBXVEY6OlN0cmluZyBoZWFkZXJzKQorICAgIE1hbnVhbFN0cmVhbURpZFJlY2VpdmVS
ZXNwb25zZShTdHJpbmcgcmVzcG9uc2VVUkxTdHJpbmcsIHVpbnQzMl90IHN0cmVhbUxlbmd0aCwg
dWludDMyX3QgbGFzdE1vZGlmaWVkVGltZSwgU3RyaW5nIG1pbWVUeXBlLCBTdHJpbmcgaGVhZGVy
cykKIAogICAgICMgU2VudCB3aGVuIHRoZSBwbHVnLWluIHJlY2VpdmVzIGRhdGEgZm9yIHRoZSBt
YW51YWwgc3RyZWFtLgogICAgIE1hbnVhbFN0cmVhbURpZFJlY2VpdmVEYXRhKENvcmVJUEM6OkRh
dGFSZWZlcmVuY2UgZGF0YSkKQEAgLTc1LDEwICs3NSwxMCBAQCBtZXNzYWdlcyAtPiBQbHVnaW5D
b250cm9sbGVyUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIEhhbmRsZUtleWJvYXJkRXZlbnQo
V2ViS2l0OjpXZWJLZXlib2FyZEV2ZW50IGtleWJvYXJkRXZlbnQpIC0+IChib29sIGhhbmRsZWQp
CiAgICAgCiAgICAgIyBTZW50IHdoZW4gYW4gZWRpdGluZyBjb21tYW5kIHNob3VsZCBiZSBwcm9j
ZXNzZWQuCi0gICAgSGFuZGxlRWRpdGluZ0NvbW1hbmQoV1RGOjpTdHJpbmcgY29tbWFuZE5hbWUs
IFdURjo6U3RyaW5nIGFyZ3VtZW50KSAtPiAoYm9vbCBoYW5kbGVkKTsKKyAgICBIYW5kbGVFZGl0
aW5nQ29tbWFuZChTdHJpbmcgY29tbWFuZE5hbWUsIFN0cmluZyBhcmd1bWVudCkgLT4gKGJvb2wg
aGFuZGxlZCk7CiAgICAgCiAgICAgIyBSZXR1cm4gd2hldGhlciBvciBub3QgYSBwbHVnaW4gd2Fu
dHMgdG8gZW5hYmxlIHRoZSBnaXZlbiBlZGl0aW5nIGNvbW1hbmQuCi0gICAgSXNFZGl0aW5nQ29t
bWFuZEVuYWJsZWQoV1RGOjpTdHJpbmcgY29tbWFuZE5hbWUpIC0+IChib29sIGVuYWJsZWQpOwor
ICAgIElzRWRpdGluZ0NvbW1hbmRFbmFibGVkKFN0cmluZyBjb21tYW5kTmFtZSkgLT4gKGJvb2wg
ZW5hYmxlZCk7CiAgICAgCiAgICAgIyBSZXR1cm4gd2hldGhlciBvciBub3QgYSBwbHVnaW4gd2Fu
dHMgdG8gaGFuZGxlIHBhZ2Ugc2NhbGUgZmFjdG9yIGl0c2VsZi4KICAgICBIYW5kbGVzUGFnZVNj
YWxlRmFjdG9yKCkgLT4gKGJvb2wgZW5hYmxlZCk7CkBAIC05Nyw3ICs5Nyw3IEBAIG1lc3NhZ2Vz
IC0+IFBsdWdpbkNvbnRyb2xsZXJQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAKICNpZiBQTEFURk9S
TShNQUMpCiAgICAgIyBTZW5kIHRoZSBjb21wbGV4IHRleHQgaW5wdXQgdG8gdGhlIHBsdWctaW4u
Ci0gICAgU2VuZENvbXBsZXhUZXh0SW5wdXQoV1RGOjpTdHJpbmcgdGV4dElucHV0KQorICAgIFNl
bmRDb21wbGV4VGV4dElucHV0KFN0cmluZyB0ZXh0SW5wdXQpCiAKICAgICAjIFNlbnQgd2hlbiB0
aGUgY29udGFpbmluZyBOU1dpbmRvdydzIGZvY3VzIGNoYW5nZXMKICAgICBXaW5kb3dGb2N1c0No
YW5nZWQoYm9vbCBoYXNGb2N1cykKQEAgLTEyNSw3ICsxMjUsNyBAQCBtZXNzYWdlcyAtPiBQbHVn
aW5Db250cm9sbGVyUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIFByaXZhdGVCcm93c2luZ1N0
YXRlQ2hhbmdlZChib29sIGlzUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKIAogICAgICMgR2V0cyB0
aGUgc3RyaW5nIHJlcHJlc2VudGF0aW5nIHRoZSBmb3JtIHZhbHVlIG9mIHRoZSBwbHVnLWluCi0g
ICAgR2V0Rm9ybVZhbHVlKCkgLT4gKGJvb2wgcmV0dXJuVmFsdWUsIFdURjo6U3RyaW5nIGZvcm1W
YWx1ZSkKKyAgICBHZXRGb3JtVmFsdWUoKSAtPiAoYm9vbCByZXR1cm5WYWx1ZSwgU3RyaW5nIGZv
cm1WYWx1ZSkKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZDExOTlkYi4uZDM4MjE1NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vz
cy5tZXNzYWdlcy5pbgpAQCAtMzcsNyArMzcsNyBAQCBtZXNzYWdlcyAtPiBQbHVnaW5Qcm9jZXNz
IExlZ2FjeVJlY2VpdmVyIHsKIAogICAgICMgQXNrcyB0aGUgcGx1Zy1pbiB0byBjbGVhciBkYXRh
IGZvciB0aGUgZ2l2ZW4gc2l0ZXMuIFRoZSBwbHVnLWluIHByb2Nlc3Mgc2VuZHMgYmFjawogICAg
ICMgYSBEaWRDbGVhclNpdGVEYXRhIG1lc3NhZ2Ugd2hlbiBkb25lLgotICAgIENsZWFyU2l0ZURh
dGEoVmVjdG9yPFdURjo6U3RyaW5nPiBzaXRlcywgdWludDY0X3QgZmxhZ3MsIHVpbnQ2NF90IG1h
eEFnZUluU2Vjb25kcywgdWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBDbGVhclNpdGVEYXRhKFZl
Y3RvcjxTdHJpbmc+IHNpdGVzLCB1aW50NjRfdCBmbGFncywgdWludDY0X3QgbWF4QWdlSW5TZWNv
bmRzLCB1aW50NjRfdCBjYWxsYmFja0lEKQogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFNldFBy
b2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9vbCBmbGFnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQyL1Njcmlw
dHMvd2Via2l0Mi9tZXNzYWdlcy5weQppbmRleCA5YWE5NzZhLi5kY2I5ZWE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKKysrIGIvU291cmNl
L1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CkBAIC0yNDEsNiArMjQxLDEwIEBA
IGRlZiBmb3J3YXJkX2RlY2xhcmF0aW9uc19hbmRfaGVhZGVycyhyZWNlaXZlcik6CiAgICAgICAg
ICciU3RyaW5nUmVmZXJlbmNlLmgiJywKICAgICBdKQogCisgICAgbm9uX3RlbXBsYXRlX3d0Zl90
eXBlcyA9IGZyb3plbnNldChbCisgICAgICAgICdTdHJpbmcnLAorICAgIF0pCisKICAgICBmb3Ig
bWVzc2FnZSBpbiByZWNlaXZlci5tZXNzYWdlczoKICAgICAgICAgaWYgbWVzc2FnZS5yZXBseV9w
YXJhbWV0ZXJzICE9IE5vbmUgYW5kIG1lc3NhZ2UuaGFzX2F0dHJpYnV0ZShERUxBWUVEX0FUVFJJ
QlVURSk6CiAgICAgICAgICAgICBoZWFkZXJzLmFkZCgnPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRl
ZC5oPicpCkBAIC0yNTYsNiArMjYwLDEwIEBAIGRlZiBmb3J3YXJkX2RlY2xhcmF0aW9uc19hbmRf
aGVhZGVycyhyZWNlaXZlcik6CiAKICAgICAgICAgc3BsaXQgPSB0eXBlLnNwbGl0KCc6OicpCiAK
KyAgICAgICAgIyBIYW5kbGUgV1RGIHR5cGVzIGV2ZW4gaWYgdGhlIFdURjo6IHByZWZpeCBpcyBu
b3QgZ2l2ZW4KKyAgICAgICAgaWYgc3BsaXRbMF0gaW4gbm9uX3RlbXBsYXRlX3d0Zl90eXBlczoK
KyAgICAgICAgICAgIHNwbGl0Lmluc2VydCgwLCAnV1RGJykKKwogICAgICAgICBpZiBsZW4oc3Bs
aXQpID09IDI6CiAgICAgICAgICAgICBuYW1lc3BhY2UgPSBzcGxpdFswXQogICAgICAgICAgICAg
aW5uZXJfdHlwZSA9IHNwbGl0WzFdCkBAIC0zODYsNyArMzk0LDcgQEAgZGVmIGFyZ3VtZW50X2Nv
ZGVyX2hlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgaGVhZGVyX2luZm9zX2FuZF90eXBlcyA9
IGNsYXNzX3RlbXBsYXRlX2hlYWRlcnModHlwZSkKIAogICAgIHNwZWNpYWxfY2FzZXMgPSB7Ci0g
ICAgICAgICdXVEY6OlN0cmluZyc6ICciQXJndW1lbnRDb2RlcnMuaCInLAorICAgICAgICAnU3Ry
aW5nJzogJyJBcmd1bWVudENvZGVycy5oIicsCiAgICAgICAgICdXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlVXNlck1lc3NhZ2VFbmNvZGVyJzogJyJJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJz
LmgiJywKICAgICAgICAgJ1dlYktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2Rlcic6ICci
V2ViQ29udGV4dFVzZXJNZXNzYWdlQ29kZXJzLmgiJywKICAgICB9CkBAIC00MTIsNyArNDIwLDcg
QEAgZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgaGVhZGVyX2luZm9zX2FuZF90eXBl
cyA9IGNsYXNzX3RlbXBsYXRlX2hlYWRlcnModHlwZSkKIAogICAgIHNwZWNpYWxfY2FzZXMgPSB7
Ci0gICAgICAgICdXVEY6OlN0cmluZyc6IFsnPHd0Zi90ZXh0L1dURlN0cmluZy5oPiddLAorICAg
ICAgICAnU3RyaW5nJzogWyc8d3RmL3RleHQvV1RGU3RyaW5nLmg+J10sCiAgICAgICAgICdXZWJD
b3JlOjpDb21wb3NpdGlvblVuZGVybGluZSc6IFsnPFdlYkNvcmUvRWRpdG9yLmg+J10sCiAgICAg
ICAgICdXZWJDb3JlOjpHcmFtbWFyRGV0YWlsJzogWyc8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVu
dC5oPiddLAogICAgICAgICAnV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbnMnOiBbJzxX
ZWJDb3JlL0dyYXBoaWNzTGF5ZXJBbmltYXRpb24uaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlc191bml0dGVzdC5weSBiL1NvdXJjZS9XZWJL
aXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlc191bml0dGVzdC5weQppbmRleCBhMGRkNDgwLi5k
ODBlMTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2Fn
ZXNfdW5pdHRlc3QucHkKKysrIGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3Nh
Z2VzX3VuaXR0ZXN0LnB5CkBAIC01MiwxNiArNTIsMTYgQEAgX21lc3NhZ2VzX2ZpbGVfY29udGVu
dHMgPSAiIiIjIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQKICNpZiBORVNURURfTUFTVEVSX0NPTkRJVElPTiB8fCBNQVNURVJfT1IgJiYgTUFTVEVSX0FO
RAogCiBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKLSAgICBMb2FkVVJMKFdU
Rjo6U3RyaW5nIHVybCkKKyAgICBMb2FkVVJMKFN0cmluZyB1cmwpCiAjaWYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKLSAgICBMb2FkU29tZXRoaW5nKFdURjo6U3RyaW5nIHVybCkKKyAgICBMb2FkU29t
ZXRoaW5nKFN0cmluZyB1cmwpCiAjaWYgTkVTVEVEX01FU1NBR0VfQ09ORElUSU9OIHx8IFNPTUVf
T1RIRVJfTUVTU0FHRV9DT05ESVRJT04KICAgICBUb3VjaEV2ZW50KFdlYktpdDo6V2ViVG91Y2hF
dmVudCBldmVudCkKICNlbmRpZgogI2lmIE5FU1RFRF9NRVNTQUdFX0NPTkRJVElPTiAmJiBTT01F
X09USEVSX01FU1NBR0VfQ09ORElUSU9OCiAgICAgQWRkRXZlbnQoV2ViS2l0OjpXZWJUb3VjaEV2
ZW50IGV2ZW50KQogI2VuZGlmCi0gICAgTG9hZFNvbWV0aGluZ0Vsc2UoV1RGOjpTdHJpbmcgdXJs
KQorICAgIExvYWRTb21ldGhpbmdFbHNlKFN0cmluZyB1cmwpCiAjZW5kaWYKICAgICBEaWRSZWNl
aXZlUG9saWN5RGVjaXNpb24odWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwg
dWludDMyX3QgcG9saWN5QWN0aW9uKQogICAgIENsb3NlKCkKQEAgLTcxLDkgKzcxLDkgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2VuZEludHMoVmVjdG9yPHVp
bnQ2NF90PiBpbnRzLCBWZWN0b3I8VmVjdG9yPHVpbnQ2NF90Pj4gaW50VmVjdG9ycykKIAogICAg
IENyZWF0ZVBsdWdpbih1aW50NjRfdCBwbHVnaW5JbnN0YW5jZUlELCBXZWJLaXQ6OlBsdWdpbjo6
UGFyYW1ldGVycyBwYXJhbWV0ZXJzKSAtPiAoYm9vbCByZXN1bHQpCi0gICAgUnVuSmF2YVNjcmlw
dEFsZXJ0KHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1lc3NhZ2UpIC0+ICgpCisgICAg
UnVuSmF2YVNjcmlwdEFsZXJ0KHVpbnQ2NF90IGZyYW1lSUQsIFN0cmluZyBtZXNzYWdlKSAtPiAo
KQogICAgIEdldFBsdWdpbnMoYm9vbCByZWZyZXNoKSAtPiAoVmVjdG9yPFdlYkNvcmU6OlBsdWdp
bkluZm8+IHBsdWdpbnMpCi0gICAgR2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oV1RGOjpTdHJp
bmcgcGx1Z2luUGF0aCkgLT4gKENvcmVJUEM6OkNvbm5lY3Rpb246OkhhbmRsZSBjb25uZWN0aW9u
SGFuZGxlKSBEZWxheWVkCisgICAgR2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oU3RyaW5nIHBs
dWdpblBhdGgpIC0+IChDb3JlSVBDOjpDb25uZWN0aW9uOjpIYW5kbGUgY29ubmVjdGlvbkhhbmRs
ZSkgRGVsYXllZAogCiAgICAgVGVzdE11bHRpcGxlQXR0cmlidXRlcygpIC0+ICgpIFdhbnRzQ29u
bmVjdGlvbiBEZWxheWVkCiAKQEAgLTExMCwxNCArMTEwLDE0IEBAIF9leHBlY3RlZF9yZXN1bHRz
ID0gewogICAgICAgICB7CiAgICAgICAgICAgICAnbmFtZSc6ICdMb2FkVVJMJywKICAgICAgICAg
ICAgICdwYXJhbWV0ZXJzJzogKAotICAgICAgICAgICAgICAgICgnV1RGOjpTdHJpbmcnLCAndXJs
JyksCisgICAgICAgICAgICAgICAgKCdTdHJpbmcnLCAndXJsJyksCiAgICAgICAgICAgICApLAog
ICAgICAgICAgICAgJ2NvbmRpdGlvbnMnOiAoTm9uZSksCiAgICAgICAgIH0sCiAgICAgICAgIHsK
ICAgICAgICAgICAgICduYW1lJzogJ0xvYWRTb21ldGhpbmcnLAogICAgICAgICAgICAgJ3BhcmFt
ZXRlcnMnOiAoCi0gICAgICAgICAgICAgICAgKCdXVEY6OlN0cmluZycsICd1cmwnKSwKKyAgICAg
ICAgICAgICAgICAoJ1N0cmluZycsICd1cmwnKSwKICAgICAgICAgICAgICksCiAgICAgICAgICAg
ICAnY29uZGl0aW9ucyc6ICgnRU5BQkxFKFRPVUNIX0VWRU5UUyknKSwKICAgICAgICAgfSwKQEAg
LTEzOCw3ICsxMzgsNyBAQCBfZXhwZWN0ZWRfcmVzdWx0cyA9IHsKICAgICAgICAgewogICAgICAg
ICAgICAgJ25hbWUnOiAnTG9hZFNvbWV0aGluZ0Vsc2UnLAogICAgICAgICAgICAgJ3BhcmFtZXRl
cnMnOiAoCi0gICAgICAgICAgICAgICAgKCdXVEY6OlN0cmluZycsICd1cmwnKSwKKyAgICAgICAg
ICAgICAgICAoJ1N0cmluZycsICd1cmwnKSwKICAgICAgICAgICAgICksCiAgICAgICAgICAgICAn
Y29uZGl0aW9ucyc6ICgnRU5BQkxFKFRPVUNIX0VWRU5UUyknKSwKICAgICAgICAgfSwKQEAgLTE5
NCw3ICsxOTQsNyBAQCBfZXhwZWN0ZWRfcmVzdWx0cyA9IHsKICAgICAgICAgICAgICduYW1lJzog
J1J1bkphdmFTY3JpcHRBbGVydCcsCiAgICAgICAgICAgICAncGFyYW1ldGVycyc6ICgKICAgICAg
ICAgICAgICAgICAoJ3VpbnQ2NF90JywgJ2ZyYW1lSUQnKSwKLSAgICAgICAgICAgICAgICAoJ1dU
Rjo6U3RyaW5nJywgJ21lc3NhZ2UnKQorICAgICAgICAgICAgICAgICgnU3RyaW5nJywgJ21lc3Nh
Z2UnKQogICAgICAgICAgICAgKSwKICAgICAgICAgICAgICdyZXBseV9wYXJhbWV0ZXJzJzogKCks
CiAgICAgICAgICAgICAnY29uZGl0aW9ucyc6IChOb25lKSwKQEAgLTIxMiw3ICsyMTIsNyBAQCBf
ZXhwZWN0ZWRfcmVzdWx0cyA9IHsKICAgICAgICAgewogICAgICAgICAgICAgJ25hbWUnOiAnR2V0
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24nLAogICAgICAgICAgICAgJ3BhcmFtZXRlcnMnOiAoCi0g
ICAgICAgICAgICAgICAgKCdXVEY6OlN0cmluZycsICdwbHVnaW5QYXRoJyksCisgICAgICAgICAg
ICAgICAgKCdTdHJpbmcnLCAncGx1Z2luUGF0aCcpLAogICAgICAgICAgICAgKSwKICAgICAgICAg
ICAgICdyZXBseV9wYXJhbWV0ZXJzJzogKAogICAgICAgICAgICAgICAgICgnQ29yZUlQQzo6Q29u
bmVjdGlvbjo6SGFuZGxlJywgJ2Nvbm5lY3Rpb25IYW5kbGUnKSwKQEAgLTM1Myw2ICszNTMsNyBA
QCBfZXhwZWN0ZWRfaGVhZGVyID0gIiIiLyoKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMg
ewogICAgIGNsYXNzIENvbm5lY3Rpb247CkBAIC0zNzksNDcgKzM4MCw0NyBAQCBzdGF0aWMgaW5s
aW5lIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lKCkKIAogY2xh
c3MgTG9hZFVSTCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdURjo6U3RyaW5n
PiBEZWNvZGVUeXBlOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxTdHJpbmc+IERlY29kZVR5cGU7
CiAKICAgICBzdGF0aWMgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIHJlY2VpdmVyTmFtZSgpIHsg
cmV0dXJuIG1lc3NhZ2VSZWNlaXZlck5hbWUoKTsgfQogICAgIHN0YXRpYyBDb3JlSVBDOjpTdHJp
bmdSZWZlcmVuY2UgbmFtZSgpIHsgcmV0dXJuIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSgiTG9h
ZFVSTCIpOyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CiAKLSAgICBl
eHBsaWNpdCBMb2FkVVJMKGNvbnN0IFdURjo6U3RyaW5nJiB1cmwpCisgICAgZXhwbGljaXQgTG9h
ZFVSTChjb25zdCBTdHJpbmcmIHVybCkKICAgICAgICAgOiBtX2FyZ3VtZW50cyh1cmwpCiAgICAg
ewogICAgIH0KIAotICAgIGNvbnN0IHN0ZDo6dHVwbGU8Y29uc3QgV1RGOjpTdHJpbmcmPiBhcmd1
bWVudHMoKSBjb25zdAorICAgIGNvbnN0IHN0ZDo6dHVwbGU8Y29uc3QgU3RyaW5nJj4gYXJndW1l
bnRzKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX2FyZ3VtZW50czsKICAgICB9CiAK
IHByaXZhdGU6Ci0gICAgc3RkOjp0dXBsZTxjb25zdCBXVEY6OlN0cmluZyY+IG1fYXJndW1lbnRz
OworICAgIHN0ZDo6dHVwbGU8Y29uc3QgU3RyaW5nJj4gbV9hcmd1bWVudHM7CiB9OwogCiAjaWYg
RU5BQkxFKFRPVUNIX0VWRU5UUykKIGNsYXNzIExvYWRTb21ldGhpbmcgewogcHVibGljOgotICAg
IHR5cGVkZWYgc3RkOjp0dXBsZTxXVEY6OlN0cmluZz4gRGVjb2RlVHlwZTsKKyAgICB0eXBlZGVm
IHN0ZDo6dHVwbGU8U3RyaW5nPiBEZWNvZGVUeXBlOwogCiAgICAgc3RhdGljIENvcmVJUEM6OlN0
cmluZ1JlZmVyZW5jZSByZWNlaXZlck5hbWUoKSB7IHJldHVybiBtZXNzYWdlUmVjZWl2ZXJOYW1l
KCk7IH0KICAgICBzdGF0aWMgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG5hbWUoKSB7IHJldHVy
biBDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UoIkxvYWRTb21ldGhpbmciKTsgfQogICAgIHN0YXRp
YyBjb25zdCBib29sIGlzU3luYyA9IGZhbHNlOwogCi0gICAgZXhwbGljaXQgTG9hZFNvbWV0aGlu
Zyhjb25zdCBXVEY6OlN0cmluZyYgdXJsKQorICAgIGV4cGxpY2l0IExvYWRTb21ldGhpbmcoY29u
c3QgU3RyaW5nJiB1cmwpCiAgICAgICAgIDogbV9hcmd1bWVudHModXJsKQogICAgIHsKICAgICB9
CiAKLSAgICBjb25zdCBzdGQ6OnR1cGxlPGNvbnN0IFdURjo6U3RyaW5nJj4gYXJndW1lbnRzKCkg
Y29uc3QKKyAgICBjb25zdCBzdGQ6OnR1cGxlPGNvbnN0IFN0cmluZyY+IGFyZ3VtZW50cygpIGNv
bnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9hcmd1bWVudHM7CiAgICAgfQogCiBwcml2YXRl
OgotICAgIHN0ZDo6dHVwbGU8Y29uc3QgV1RGOjpTdHJpbmcmPiBtX2FyZ3VtZW50czsKKyAgICBz
dGQ6OnR1cGxlPGNvbnN0IFN0cmluZyY+IG1fYXJndW1lbnRzOwogfTsKICNlbmRpZgogCkBAIC00
NzQsMjQgKzQ3NSwyNCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiBjbGFz
cyBMb2FkU29tZXRoaW5nRWxzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdU
Rjo6U3RyaW5nPiBEZWNvZGVUeXBlOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxTdHJpbmc+IERl
Y29kZVR5cGU7CiAKICAgICBzdGF0aWMgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIHJlY2VpdmVy
TmFtZSgpIHsgcmV0dXJuIG1lc3NhZ2VSZWNlaXZlck5hbWUoKTsgfQogICAgIHN0YXRpYyBDb3Jl
SVBDOjpTdHJpbmdSZWZlcmVuY2UgbmFtZSgpIHsgcmV0dXJuIENvcmVJUEM6OlN0cmluZ1JlZmVy
ZW5jZSgiTG9hZFNvbWV0aGluZ0Vsc2UiKTsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3lu
YyA9IGZhbHNlOwogCi0gICAgZXhwbGljaXQgTG9hZFNvbWV0aGluZ0Vsc2UoY29uc3QgV1RGOjpT
dHJpbmcmIHVybCkKKyAgICBleHBsaWNpdCBMb2FkU29tZXRoaW5nRWxzZShjb25zdCBTdHJpbmcm
IHVybCkKICAgICAgICAgOiBtX2FyZ3VtZW50cyh1cmwpCiAgICAgewogICAgIH0KIAotICAgIGNv
bnN0IHN0ZDo6dHVwbGU8Y29uc3QgV1RGOjpTdHJpbmcmPiBhcmd1bWVudHMoKSBjb25zdAorICAg
IGNvbnN0IHN0ZDo6dHVwbGU8Y29uc3QgU3RyaW5nJj4gYXJndW1lbnRzKCkgY29uc3QKICAgICB7
CiAgICAgICAgIHJldHVybiBtX2FyZ3VtZW50czsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgc3Rk
Ojp0dXBsZTxjb25zdCBXVEY6OlN0cmluZyY+IG1fYXJndW1lbnRzOworICAgIHN0ZDo6dHVwbGU8
Y29uc3QgU3RyaW5nJj4gbV9hcmd1bWVudHM7CiB9OwogI2VuZGlmCiAKQEAgLTYyNSwyNSArNjI2
LDI1IEBAIHByaXZhdGU6CiAKIGNsYXNzIFJ1bkphdmFTY3JpcHRBbGVydCB7CiBwdWJsaWM6Ci0g
ICAgdHlwZWRlZiBzdGQ6OnR1cGxlPHVpbnQ2NF90LCBXVEY6OlN0cmluZz4gRGVjb2RlVHlwZTsK
KyAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dWludDY0X3QsIFN0cmluZz4gRGVjb2RlVHlwZTsKIAog
ICAgIHN0YXRpYyBDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UgcmVjZWl2ZXJOYW1lKCkgeyByZXR1
cm4gbWVzc2FnZVJlY2VpdmVyTmFtZSgpOyB9CiAgICAgc3RhdGljIENvcmVJUEM6OlN0cmluZ1Jl
ZmVyZW5jZSBuYW1lKCkgeyByZXR1cm4gQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlKCJSdW5KYXZh
U2NyaXB0QWxlcnQiKTsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IHRydWU7CiAK
ICAgICB0eXBlZGVmIENvcmVJUEM6OkFyZ3VtZW50czAgUmVwbHk7Ci0gICAgUnVuSmF2YVNjcmlw
dEFsZXJ0KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlKQorICAg
IFJ1bkphdmFTY3JpcHRBbGVydCh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpCiAgICAgICAgIDogbV9hcmd1bWVudHMoZnJhbWVJRCwgbWVzc2FnZSkKICAgICB7CiAgICAg
fQogCi0gICAgY29uc3Qgc3RkOjp0dXBsZTx1aW50NjRfdCwgY29uc3QgV1RGOjpTdHJpbmcmPiBh
cmd1bWVudHMoKSBjb25zdAorICAgIGNvbnN0IHN0ZDo6dHVwbGU8dWludDY0X3QsIGNvbnN0IFN0
cmluZyY+IGFyZ3VtZW50cygpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9hcmd1bWVu
dHM7CiAgICAgfQogCiBwcml2YXRlOgotICAgIHN0ZDo6dHVwbGU8dWludDY0X3QsIGNvbnN0IFdU
Rjo6U3RyaW5nJj4gbV9hcmd1bWVudHM7CisgICAgc3RkOjp0dXBsZTx1aW50NjRfdCwgY29uc3Qg
U3RyaW5nJj4gbV9hcmd1bWVudHM7CiB9OwogCiBjbGFzcyBHZXRQbHVnaW5zIHsKQEAgLTY3MSw3
ICs2NzIsNyBAQCBwcml2YXRlOgogCiBjbGFzcyBHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbiB7
CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdURjo6U3RyaW5nPiBEZWNvZGVUeXBl
OworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxTdHJpbmc+IERlY29kZVR5cGU7CiAKICAgICBzdGF0
aWMgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIHJlY2VpdmVyTmFtZSgpIHsgcmV0dXJuIG1lc3Nh
Z2VSZWNlaXZlck5hbWUoKTsgfQogICAgIHN0YXRpYyBDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2Ug
bmFtZSgpIHsgcmV0dXJuIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSgiR2V0UGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb24iKTsgfQpAQCAtNjg5LDE4ICs2OTAsMTggQEAgcHVibGljOgogICAgIH07CiAK
ICAgICB0eXBlZGVmIENvcmVJUEM6OkFyZ3VtZW50czE8Q29yZUlQQzo6Q29ubmVjdGlvbjo6SGFu
ZGxlJj4gUmVwbHk7Ci0gICAgZXhwbGljaXQgR2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oY29u
c3QgV1RGOjpTdHJpbmcmIHBsdWdpblBhdGgpCisgICAgZXhwbGljaXQgR2V0UGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb24oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoKQogICAgICAgICA6IG1fYXJndW1l
bnRzKHBsdWdpblBhdGgpCiAgICAgewogICAgIH0KIAotICAgIGNvbnN0IHN0ZDo6dHVwbGU8Y29u
c3QgV1RGOjpTdHJpbmcmPiBhcmd1bWVudHMoKSBjb25zdAorICAgIGNvbnN0IHN0ZDo6dHVwbGU8
Y29uc3QgU3RyaW5nJj4gYXJndW1lbnRzKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBt
X2FyZ3VtZW50czsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgc3RkOjp0dXBsZTxjb25zdCBXVEY6
OlN0cmluZyY+IG1fYXJndW1lbnRzOworICAgIHN0ZDo6dHVwbGU8Y29uc3QgU3RyaW5nJj4gbV9h
cmd1bWVudHM7CiB9OwogCiBjbGFzcyBUZXN0TXVsdGlwbGVBdHRyaWJ1dGVzIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9DdXN0b21Q
cm90b2NvbE1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29y
ay9DdXN0b21Qcm90b2NvbHMvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4
IDFiYzBjYzkuLmNhNTE1NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OZXR3
b3JrL0N1c3RvbVByb3RvY29scy9DdXN0b21Qcm90b2NvbE1hbmFnZXIubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0N1c3RvbVBy
b3RvY29sTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMjgsOCArMjgsOCBAQCBtZXNzYWdlcyAtPiBD
dXN0b21Qcm90b2NvbE1hbmFnZXIgewogICAgIERpZFJlY2VpdmVSZXNwb25zZSh1aW50NjRfdCBj
dXN0b21Qcm90b2NvbElELCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCB1aW50
MzJfdCBjYWNoZVN0b3JhZ2VQb2xpY3kpCiAgICAgRGlkRmluaXNoTG9hZGluZyh1aW50NjRfdCBj
dXN0b21Qcm90b2NvbElEKQogCi0gICAgUmVnaXN0ZXJTY2hlbWUoV1RGOjpTdHJpbmcgbmFtZSkK
LSAgICBVbnJlZ2lzdGVyU2NoZW1lKFdURjo6U3RyaW5nIG5hbWUpCisgICAgUmVnaXN0ZXJTY2hl
bWUoU3RyaW5nIG5hbWUpCisgICAgVW5yZWdpc3RlclNjaGVtZShTdHJpbmcgbmFtZSkKIH0KIAog
I2VuZGlmIC8vIEVOQUJMRShDVVNUT01fUFJPVE9DT0xTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5Lm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5Lm1lc3NhZ2VzLmlu
CmluZGV4IGQ3MjU1OTkuLjczOTRjMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Eb3dubG9hZHMvRG93bmxvYWRQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkubWVzc2FnZXMuaW4KQEAgLTI4
LDcgKzI4LDcgQEAgbWVzc2FnZXMgLT4gRG93bmxvYWRQcm94eSB7CiAgICAgRGlkUmVjZWl2ZURh
dGEodWludDY0X3QgbGVuZ3RoKQogICAgIFNob3VsZERlY29kZVNvdXJjZURhdGFPZk1JTUVUeXBl
KFN0cmluZyBtaW1lVHlwZSkgLT4gKGJvb2wgcmVzdWx0KQogICAgIERlY2lkZURlc3RpbmF0aW9u
V2l0aFN1Z2dlc3RlZEZpbGVuYW1lKFN0cmluZyBmaWxlbmFtZSkgLT4gKFN0cmluZyBkZXN0aW5h
dGlvbiwgYm9vbCBhbGxvd092ZXJ3cml0ZSwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkKLSAgICBEaWRDcmVhdGVEZXN0aW5hdGlvbihXVEY6
OlN0cmluZyBwYXRoKQorICAgIERpZENyZWF0ZURlc3RpbmF0aW9uKFN0cmluZyBwYXRoKQogICAg
IERpZEZpbmlzaCgpCiAgICAgRGlkRmFpbChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBD
b3JlSVBDOjpEYXRhUmVmZXJlbmNlIHJlc3VtZURhdGEpCiAgICAgRGlkQ2FuY2VsKENvcmVJUEM6
OkRhdGFSZWZlcmVuY2UgcmVzdW1lRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCBlZjdmM2M3Li43YWQyYmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBA
IC0yNSw3ICsyNSw3IEBACiBtZXNzYWdlcyAtPiBQbHVnaW5Qcm9jZXNzUHJveHkgewogICAgIERp
ZENyZWF0ZVdlYlByb2Nlc3NDb25uZWN0aW9uKENvcmVJUEM6OkF0dGFjaG1lbnQgY29ubmVjdGlv
bklkZW50aWZpZXIsIGJvb2wgc3VwcG9ydHNBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlv
bikKIAotICAgIERpZEdldFNpdGVzV2l0aERhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBzaXRlcywg
dWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBEaWRHZXRTaXRlc1dpdGhEYXRhKFZlY3RvcjxTdHJp
bmc+IHNpdGVzLCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIERpZENsZWFyU2l0ZURhdGEodWlu
dDY0X3QgY2FsbGJhY2tJRCkKIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM2LDE2ICszNiwxNiBA
QCBtZXNzYWdlcyAtPiBQbHVnaW5Qcm9jZXNzUHJveHkgewogICAgIE9wZW5QbHVnaW5QcmVmZXJl
bmNlUGFuZSgpCiAKICAgICAjIFJldHVybnMgdHJ1ZSBpZiB0aGUgVUkgcHJvY2VzcyBsYXVuY2hl
ZCB0aGUgcHJvY2Vzcy4KLSAgICBMYXVuY2hQcm9jZXNzKFdURjo6U3RyaW5nIGxhdW5jaFBhdGgs
IFZlY3RvcjxXVEY6OlN0cmluZz4gYXJndW1lbnRzKSAtPiAoYm9vbCByZXN1bHQpCisgICAgTGF1
bmNoUHJvY2VzcyhTdHJpbmcgbGF1bmNoUGF0aCwgVmVjdG9yPFN0cmluZz4gYXJndW1lbnRzKSAt
PiAoYm9vbCByZXN1bHQpCiAKICAgICAjIFJldHVybnMgdHJ1ZSBpZiB0aGUgVUkgcHJvY2VzcyBs
YXVuY2hlZCB0aGUgYXBwbGljYXRpb24uCi0gICAgTGF1bmNoQXBwbGljYXRpb25BdFVSTChXVEY6
OlN0cmluZyB1cmwsIFZlY3RvcjxXVEY6OlN0cmluZz4gYXJndW1lbnRzKSAtPiAoYm9vbCByZXN1
bHQpCisgICAgTGF1bmNoQXBwbGljYXRpb25BdFVSTChTdHJpbmcgdXJsLCBWZWN0b3I8U3RyaW5n
PiBhcmd1bWVudHMpIC0+IChib29sIHJlc3VsdCkKIAogICAgICMgUmV0dXJucyB0cnVlIGlmIHRo
ZSBVSSBwcm9jZXNzIGRpZCBvcGVuIHRoZSBVUkwuCi0gICAgT3BlblVSTChXVEY6OlN0cmluZyB1
cmxTdHJpbmcpIC0+IChib29sIHJlc3VsdCwgaW50MzJfdCBzdGF0dXMsIFdURjo6U3RyaW5nIGxh
dW5jaGVkVVJMU3RyaW5nKQorICAgIE9wZW5VUkwoU3RyaW5nIHVybFN0cmluZykgLT4gKGJvb2wg
cmVzdWx0LCBpbnQzMl90IHN0YXR1cywgU3RyaW5nIGxhdW5jaGVkVVJMU3RyaW5nKQogICAgIAog
ICAgICMgUmV0dXJucyB0cnVlIGlmIHRoZSBVSSBwcm9jZXNzIGRpZCBvcGVuIHRoZSBmaWxlLgot
ICAgIE9wZW5GaWxlKFdURjo6U3RyaW5nIGZ1bGxQYXRoKSAtPiAoYm9vbCByZXN1bHQpCisgICAg
T3BlbkZpbGUoU3RyaW5nIGZ1bGxQYXRoKSAtPiAoYm9vbCByZXN1bHQpCiAjZW5kaWYKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFn
ZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdl
TWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCBkZDIzNGNlLi41OWI4ZjM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5t
ZXNzYWdlcy5pbgpAQCAtMjUsOSArMjUsOSBAQCBtZXNzYWdlcyAtPiBTdG9yYWdlTWFuYWdlciB7
CiAgICAgQ3JlYXRlU2Vzc2lvblN0b3JhZ2VNYXAodWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50
NjRfdCBzdG9yYWdlTmFtZXNwYWNlSUQsIFdlYktpdDo6U2VjdXJpdHlPcmlnaW5EYXRhIHNlY3Vy
aXR5T3JpZ2luRGF0YSkgV2FudHNDb25uZWN0aW9uCiAgICAgRGVzdHJveVN0b3JhZ2VNYXAodWlu
dDY0X3Qgc3RvcmFnZU1hcElEKSBXYW50c0Nvbm5lY3Rpb24KIAotICAgIEdldFZhbHVlcyh1aW50
NjRfdCBzdG9yYWdlTWFwSUQsIHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkKSAtPiAoSGFzaE1hcDxX
VEY6OlN0cmluZywgV1RGOjpTdHJpbmc+IHZhbHVlcykgV2FudHNDb25uZWN0aW9uCisgICAgR2V0
VmFsdWVzKHVpbnQ2NF90IHN0b3JhZ2VNYXBJRCwgdWludDY0X3Qgc3RvcmFnZU1hcFNlZWQpIC0+
IChIYXNoTWFwPFN0cmluZywgU3RyaW5nPiB2YWx1ZXMpIFdhbnRzQ29ubmVjdGlvbgogCi0gICAg
U2V0SXRlbSh1aW50NjRfdCBzdG9yYWdlTWFwSUQsIHVpbnQ2NF90IHNvdXJjZVN0b3JhZ2VBcmVh
SUQsIHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkLCBXVEY6OlN0cmluZyBrZXksIFdURjo6U3RyaW5n
IHZhbHVlLCBXVEY6OlN0cmluZyB1cmxTdHJpbmcpIFdhbnRzQ29ubmVjdGlvbgotICAgIFJlbW92
ZUl0ZW0odWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlE
LCB1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwgV1RGOjpTdHJpbmcga2V5LCBXVEY6OlN0cmluZyB1
cmxTdHJpbmcpIFdhbnRzQ29ubmVjdGlvbgotICAgIENsZWFyKHVpbnQ2NF90IHN0b3JhZ2VNYXBJ
RCwgdWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgdWludDY0X3Qgc3RvcmFnZU1hcFNlZWQs
IFdURjo6U3RyaW5nIHVybFN0cmluZykgV2FudHNDb25uZWN0aW9uCisgICAgU2V0SXRlbSh1aW50
NjRfdCBzdG9yYWdlTWFwSUQsIHVpbnQ2NF90IHNvdXJjZVN0b3JhZ2VBcmVhSUQsIHVpbnQ2NF90
IHN0b3JhZ2VNYXBTZWVkLCBTdHJpbmcga2V5LCBTdHJpbmcgdmFsdWUsIFN0cmluZyB1cmxTdHJp
bmcpIFdhbnRzQ29ubmVjdGlvbgorICAgIFJlbW92ZUl0ZW0odWludDY0X3Qgc3RvcmFnZU1hcElE
LCB1aW50NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlELCB1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwg
U3RyaW5nIGtleSwgU3RyaW5nIHVybFN0cmluZykgV2FudHNDb25uZWN0aW9uCisgICAgQ2xlYXIo
dWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlELCB1aW50
NjRfdCBzdG9yYWdlTWFwU2VlZCwgU3RyaW5nIHVybFN0cmluZykgV2FudHNDb25uZWN0aW9uCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCmlu
ZGV4IGQ3ZDc2OWMuLjA1NjA4OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0Lm1lc3NhZ2VzLmluCkBAIC0zMCwyOSArMzAsMjkgQEAgbWVzc2FnZXMgLT4gV2Vi
Q29udGV4dCBMZWdhY3lSZWNlaXZlciB7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFdyaXRlV2Vi
Q29udGVudFRvUGFzdGVib2FyZChXZWJDb3JlOjpQYXN0ZWJvYXJkV2ViQ29udGVudCBjb250ZW50
KQogICAgIFdyaXRlSW1hZ2VUb1Bhc3RlYm9hcmQoV2ViQ29yZTo6UGFzdGVib2FyZEltYWdlIHBh
c3RlYm9hcmRJbWFnZSkKLSAgICBXcml0ZVN0cmluZ1RvUGFzdGVib2FyZChXVEY6OlN0cmluZyBw
YXN0ZWJvYXJkVHlwZSwgV1RGOjpTdHJpbmcgdGV4dCkgCi0gICAgUmVhZFN0cmluZ0Zyb21QYXN0
ZWJvYXJkKHVpbnQ2NF90IGluZGV4LCBXVEY6OlN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFdU
Rjo6U3RyaW5nIHN0cmluZykKLSAgICBSZWFkVVJMRnJvbVBhc3RlYm9hcmQodWludDY0X3QgaW5k
ZXgsIFdURjo6U3RyaW5nIHBhc3RlYm9hcmRUeXBlKSAtPiAoV1RGOjpTdHJpbmcgc3RyaW5nKQot
ICAgIFJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZCh1aW50NjRfdCBpbmRleCwgV1RGOjpTdHJpbmcg
cGFzdGVib2FyZFR5cGUpIC0+IChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGhhbmRsZSwg
dWludDY0X3Qgc2l6ZSkKKyAgICBXcml0ZVN0cmluZ1RvUGFzdGVib2FyZChTdHJpbmcgcGFzdGVi
b2FyZFR5cGUsIFN0cmluZyB0ZXh0KSAKKyAgICBSZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQodWlu
dDY0X3QgaW5kZXgsIFN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFN0cmluZyBzdHJpbmcpCisg
ICAgUmVhZFVSTEZyb21QYXN0ZWJvYXJkKHVpbnQ2NF90IGluZGV4LCBTdHJpbmcgcGFzdGVib2Fy
ZFR5cGUpIC0+IChTdHJpbmcgc3RyaW5nKQorICAgIFJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZCh1
aW50NjRfdCBpbmRleCwgU3RyaW5nIHBhc3RlYm9hcmRUeXBlKSAtPiAoV2ViS2l0OjpTaGFyZWRN
ZW1vcnk6OkhhbmRsZSBoYW5kbGUsIHVpbnQ2NF90IHNpemUpCiAgICAgR2V0UGFzdGVib2FyZEl0
ZW1zQ291bnQoKSAtPiAodWludDY0X3QgaXRlbXNDb3VudCkKICNlbmRpZgogCiAjaWYgUExBVEZP
Uk0oTUFDKQogICAgICMgUGFzdGVib2FyZCBtZXNzYWdlcy4KLSAgICBHZXRQYXN0ZWJvYXJkVHlw
ZXMoV1RGOjpTdHJpbmcgcGFzdGVib2FyZE5hbWUpIC0+IChWZWN0b3I8V1RGOjpTdHJpbmc+IHR5
cGVzKQotICAgIEdldFBhc3RlYm9hcmRQYXRobmFtZXNGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3Rl
Ym9hcmROYW1lLCBXVEY6OlN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFZlY3RvcjxXVEY6OlN0
cmluZz4gcGF0aG5hbWVzKQotICAgIEdldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlKFdURjo6U3Ry
aW5nIHBhc3RlYm9hcmROYW1lLCBXVEY6OlN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFdURjo6
U3RyaW5nIHN0cmluZykKLSAgICBHZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlwZShXVEY6OlN0cmlu
ZyBwYXN0ZWJvYXJkTmFtZSwgV1RGOjpTdHJpbmcgcGFzdGVib2FyZFR5cGUpIC0+IChXZWJLaXQ6
OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGhhbmRsZSwgdWludDY0X3Qgc2l6ZSkKLSAgICBQYXN0ZWJv
YXJkQ29weShXVEY6OlN0cmluZyBmcm9tUGFzdGVib2FyZCwgV1RGOjpTdHJpbmcgdG9QYXN0ZWJv
YXJkKSAtPiAodWludDY0X3QgY2hhbmdlQ291bnQpCi0gICAgR2V0UGFzdGVib2FyZENoYW5nZUNv
dW50KFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lKSAtPiAodWludDY0X3QgY2hhbmdlQ291bnQp
Ci0gICAgR2V0UGFzdGVib2FyZFVuaXF1ZU5hbWUoKSAtPiAoV1RGOjpTdHJpbmcgcGFzdGVib2Fy
ZE5hbWUpCi0gICAgR2V0UGFzdGVib2FyZENvbG9yKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1l
KSAtPiAoV2ViQ29yZTo6Q29sb3IgY29sb3IpCi0gICAgR2V0UGFzdGVib2FyZFVSTChXVEY6OlN0
cmluZyBwYXN0ZWJvYXJkTmFtZSkgLT4gKFdURjo6U3RyaW5nIHVybFN0cmluZykKLSAgICBBZGRQ
YXN0ZWJvYXJkVHlwZXMoV1RGOjpTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFZlY3RvcjxXVEY6OlN0
cmluZz4gcGFzdGVib2FyZFR5cGVzKSAtPiAodWludDY0X3QgY2hhbmdlQ291bnQpCi0gICAgU2V0
UGFzdGVib2FyZFR5cGVzKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBWZWN0b3I8V1RGOjpT
dHJpbmc+IHBhc3RlYm9hcmRUeXBlcykgLT4gKHVpbnQ2NF90IGNoYW5nZUNvdW50KQotICAgIFNl
dFBhc3RlYm9hcmRQYXRobmFtZXNGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBX
VEY6OlN0cmluZyBwYXN0ZWJvYXJkVHlwZSwgVmVjdG9yPFdURjo6U3RyaW5nPiBwYXRobmFtZXMp
IC0+ICh1aW50NjRfdCBjaGFuZ2VDb3VudCkKLSAgICBTZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlw
ZShXVEY6OlN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgV1RGOjpTdHJpbmcgcGFzdGVib2FyZFR5cGUs
IFdURjo6U3RyaW5nIHN0cmluZykgLT4gKHVpbnQ2NF90IGNoYW5nZUNvdW50KQotICAgIFNldFBh
c3RlYm9hcmRCdWZmZXJGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBXVEY6OlN0
cmluZyBwYXN0ZWJvYXJkVHlwZSwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGUs
IHVpbnQ2NF90IHNpemUpIC0+ICh1aW50NjRfdCBjaGFuZ2VDb3VudCkKKyAgICBHZXRQYXN0ZWJv
YXJkVHlwZXMoU3RyaW5nIHBhc3RlYm9hcmROYW1lKSAtPiAoVmVjdG9yPFN0cmluZz4gdHlwZXMp
CisgICAgR2V0UGFzdGVib2FyZFBhdGhuYW1lc0ZvclR5cGUoU3RyaW5nIHBhc3RlYm9hcmROYW1l
LCBTdHJpbmcgcGFzdGVib2FyZFR5cGUpIC0+IChWZWN0b3I8U3RyaW5nPiBwYXRobmFtZXMpCisg
ICAgR2V0UGFzdGVib2FyZFN0cmluZ0ZvclR5cGUoU3RyaW5nIHBhc3RlYm9hcmROYW1lLCBTdHJp
bmcgcGFzdGVib2FyZFR5cGUpIC0+IChTdHJpbmcgc3RyaW5nKQorICAgIEdldFBhc3RlYm9hcmRC
dWZmZXJGb3JUeXBlKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgU3RyaW5nIHBhc3RlYm9hcmRUeXBl
KSAtPiAoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGUsIHVpbnQ2NF90IHNpemUp
CisgICAgUGFzdGVib2FyZENvcHkoU3RyaW5nIGZyb21QYXN0ZWJvYXJkLCBTdHJpbmcgdG9QYXN0
ZWJvYXJkKSAtPiAodWludDY0X3QgY2hhbmdlQ291bnQpCisgICAgR2V0UGFzdGVib2FyZENoYW5n
ZUNvdW50KFN0cmluZyBwYXN0ZWJvYXJkTmFtZSkgLT4gKHVpbnQ2NF90IGNoYW5nZUNvdW50KQor
ICAgIEdldFBhc3RlYm9hcmRVbmlxdWVOYW1lKCkgLT4gKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSkK
KyAgICBHZXRQYXN0ZWJvYXJkQ29sb3IoU3RyaW5nIHBhc3RlYm9hcmROYW1lKSAtPiAoV2ViQ29y
ZTo6Q29sb3IgY29sb3IpCisgICAgR2V0UGFzdGVib2FyZFVSTChTdHJpbmcgcGFzdGVib2FyZE5h
bWUpIC0+IChTdHJpbmcgdXJsU3RyaW5nKQorICAgIEFkZFBhc3RlYm9hcmRUeXBlcyhTdHJpbmcg
cGFzdGVib2FyZE5hbWUsIFZlY3RvcjxTdHJpbmc+IHBhc3RlYm9hcmRUeXBlcykgLT4gKHVpbnQ2
NF90IGNoYW5nZUNvdW50KQorICAgIFNldFBhc3RlYm9hcmRUeXBlcyhTdHJpbmcgcGFzdGVib2Fy
ZE5hbWUsIFZlY3RvcjxTdHJpbmc+IHBhc3RlYm9hcmRUeXBlcykgLT4gKHVpbnQ2NF90IGNoYW5n
ZUNvdW50KQorICAgIFNldFBhc3RlYm9hcmRQYXRobmFtZXNGb3JUeXBlKFN0cmluZyBwYXN0ZWJv
YXJkTmFtZSwgU3RyaW5nIHBhc3RlYm9hcmRUeXBlLCBWZWN0b3I8U3RyaW5nPiBwYXRobmFtZXMp
IC0+ICh1aW50NjRfdCBjaGFuZ2VDb3VudCkKKyAgICBTZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlw
ZShTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFN0cmluZyBwYXN0ZWJvYXJkVHlwZSwgU3RyaW5nIHN0
cmluZykgLT4gKHVpbnQ2NF90IGNoYW5nZUNvdW50KQorICAgIFNldFBhc3RlYm9hcmRCdWZmZXJG
b3JUeXBlKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgU3RyaW5nIHBhc3RlYm9hcmRUeXBlLCBXZWJL
aXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGhhbmRsZSwgdWludDY0X3Qgc2l6ZSkgLT4gKHVpbnQ2
NF90IGNoYW5nZUNvdW50KQogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oTUFDKQpAQCAtNjIsNiAr
NjIsNiBAQCBtZXNzYWdlcyAtPiBXZWJDb250ZXh0IExlZ2FjeVJlY2VpdmVyIHsKICNlbmRpZgog
CiAgICAgIyBQbHVnLWluIG1lc3NhZ2VzLgotICAgIHZvaWQgQWRkUGx1Z0luQXV0b1N0YXJ0T3Jp
Z2luSGFzaChXVEY6OlN0cmluZyBwYWdlT3JpZ2luLCB1aW50MzJfdCBoYXNoKQorICAgIHZvaWQg
QWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChTdHJpbmcgcGFnZU9yaWdpbiwgdWludDMyX3Qg
aGFzaCkKICAgICB2b2lkIFBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24odWludDMyX3Qg
aGFzaCkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVN
YW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29v
a2llTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDJhZTA1NDUuLjQ5YWM2ZGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQ
cm94eS5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNz
YWdlcyAtPiBXZWJDb29raWVNYW5hZ2VyUHJveHkgewotICAgIERpZEdldEhvc3RuYW1lc1dpdGhD
b29raWVzKFZlY3RvcjxXVEY6OlN0cmluZz4gaG9zdG5hbWVzLCB1aW50NjRfdCBjYWxsYmFja0lE
KTsKKyAgICBEaWRHZXRIb3N0bmFtZXNXaXRoQ29va2llcyhWZWN0b3I8U3RyaW5nPiBob3N0bmFt
ZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIERpZEdldEhUVFBDb29raWVBY2NlcHRQb2xp
Y3kodWludDMyX3QgcG9saWN5LCB1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICAKICAgICBDb29r
aWVzRGlkQ2hhbmdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJE
YXRhYmFzZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJEYXRhYmFzZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA1MDMyNzVmLi5iMzk5
Y2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRGF0YWJhc2VNYW5h
Z2VyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkRh
dGFiYXNlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNCw5ICsyNCw5IEBACiAKIG1lc3Nh
Z2VzIC0+IFdlYkRhdGFiYXNlTWFuYWdlclByb3h5IHsKICAgICBEaWRHZXREYXRhYmFzZXNCeU9y
aWdpbihWZWN0b3I8V2ViS2l0OjpPcmlnaW5BbmREYXRhYmFzZXM+IG9yaWdpbkFuZERhdGFiYXNl
cywgdWludDY0X3QgY2FsbGJhY2tJRCk7Ci0gICAgRGlkR2V0RGF0YWJhc2VPcmlnaW5zKFZlY3Rv
cjxXVEY6OlN0cmluZz4gb3JpZ2luSWRlbnRpZmllcnMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0g
ICAgRGlkTW9kaWZ5T3JpZ2luKFdURjo6U3RyaW5nIG9yaWdpbklkZW50aWZpZXIpCi0gICAgRGlk
TW9kaWZ5RGF0YWJhc2UoV1RGOjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllciwgV1RGOjpTdHJpbmcg
ZGF0YWJhc2VJZGVudGlmaWVyKQorICAgIERpZEdldERhdGFiYXNlT3JpZ2lucyhWZWN0b3I8U3Ry
aW5nPiBvcmlnaW5JZGVudGlmaWVycywgdWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBEaWRNb2Rp
ZnlPcmlnaW4oU3RyaW5nIG9yaWdpbklkZW50aWZpZXIpCisgICAgRGlkTW9kaWZ5RGF0YWJhc2Uo
U3RyaW5nIG9yaWdpbklkZW50aWZpZXIsIFN0cmluZyBkYXRhYmFzZUlkZW50aWZpZXIpCiB9CiAK
ICNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkljb25EYXRhYmFzZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UubWVzc2FnZXMuaW4KaW5kZXggNDAwYWRiMC4uMzhi
MzNkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25EYXRhYmFz
ZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSWNvbkRhdGFi
YXNlLm1lc3NhZ2VzLmluCkBAIC0yMSwxNiArMjEsMTYgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVz
c2FnZXMgLT4gV2ViSWNvbkRhdGFiYXNlIHsKLSAgICBSZXRhaW5JY29uRm9yUGFnZVVSTChXVEY6
OlN0cmluZyBwYWdlVVJMKQotICAgIFJlbGVhc2VJY29uRm9yUGFnZVVSTChXVEY6OlN0cmluZyBw
YWdlVVJMKQotICAgIFNldEljb25VUkxGb3JQYWdlVVJMKFdURjo6U3RyaW5nIGljb25VUkwsIFdU
Rjo6U3RyaW5nIHBhZ2VVUkwpCi0gICAgU2V0SWNvbkRhdGFGb3JJY29uVVJMKENvcmVJUEM6OkRh
dGFSZWZlcmVuY2UgaWNvbkRhdGEsIFdURjo6U3RyaW5nIGljb25VUkwpCisgICAgUmV0YWluSWNv
bkZvclBhZ2VVUkwoU3RyaW5nIHBhZ2VVUkwpCisgICAgUmVsZWFzZUljb25Gb3JQYWdlVVJMKFN0
cmluZyBwYWdlVVJMKQorICAgIFNldEljb25VUkxGb3JQYWdlVVJMKFN0cmluZyBpY29uVVJMLCBT
dHJpbmcgcGFnZVVSTCkKKyAgICBTZXRJY29uRGF0YUZvckljb25VUkwoQ29yZUlQQzo6RGF0YVJl
ZmVyZW5jZSBpY29uRGF0YSwgU3RyaW5nIGljb25VUkwpCiAgICAgCi0gICAgU3luY2hyb25vdXNJ
Y29uRGF0YUZvclBhZ2VVUkwoV1RGOjpTdHJpbmcgcGFnZVVSTCkgLT4gKENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UgaWNvbkRhdGEpCi0gICAgU3luY2hyb25vdXNJY29uVVJMRm9yUGFnZVVSTChXVEY6
OlN0cmluZyBwYWdlVVJMKSAtPiAoV1RGOjpTdHJpbmcgaWNvblVSTCkKLSAgICBTeW5jaHJvbm91
c0ljb25EYXRhS25vd25Gb3JJY29uVVJMKFdURjo6U3RyaW5nIGljb25VUkwpIC0+IChib29sIGRh
dGFLbm93bikKLSAgICBTeW5jaHJvbm91c0xvYWREZWNpc2lvbkZvckljb25VUkwoV1RGOjpTdHJp
bmcgaWNvblVSTCkgLT4gKGludCBsb2FkRGVjaXNpb24pCisgICAgU3luY2hyb25vdXNJY29uRGF0
YUZvclBhZ2VVUkwoU3RyaW5nIHBhZ2VVUkwpIC0+IChDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGlj
b25EYXRhKQorICAgIFN5bmNocm9ub3VzSWNvblVSTEZvclBhZ2VVUkwoU3RyaW5nIHBhZ2VVUkwp
IC0+IChTdHJpbmcgaWNvblVSTCkKKyAgICBTeW5jaHJvbm91c0ljb25EYXRhS25vd25Gb3JJY29u
VVJMKFN0cmluZyBpY29uVVJMKSAtPiAoYm9vbCBkYXRhS25vd24pCisgICAgU3luY2hyb25vdXNM
b2FkRGVjaXNpb25Gb3JJY29uVVJMKFN0cmluZyBpY29uVVJMKSAtPiAoaW50IGxvYWREZWNpc2lv
bikKICAgICAKLSAgICBHZXRMb2FkRGVjaXNpb25Gb3JJY29uVVJMKFdURjo6U3RyaW5nIGljb25V
UkwsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0gICAgRGlkUmVjZWl2ZUljb25Gb3JQYWdlVVJMKFdU
Rjo6U3RyaW5nIHBhZ2VVUkwpCisgICAgR2V0TG9hZERlY2lzaW9uRm9ySWNvblVSTChTdHJpbmcg
aWNvblVSTCwgdWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBEaWRSZWNlaXZlSWNvbkZvclBhZ2VV
UkwoU3RyaW5nIHBhZ2VVUkwpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOGMyYmY3Yy4uMmFkZDQyZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94
eS5tZXNzYWdlcy5pbgpAQCAtMjYsMTAgKzI2LDEwIEBAIG1lc3NhZ2VzIC0+IFdlYkluc3BlY3Rv
clByb3h5IHsKICAgICBDcmVhdGVJbnNwZWN0b3JQYWdlKCkgLT4gKHVpbnQ2NF90IGluc3BlY3Rv
clBhZ2VJRCwgV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIGluc3BlY3RvclBhZ2VQ
YXJhbWV0ZXJzKQogICAgIERpZENsb3NlKCkKICAgICBCcmluZ1RvRnJvbnQoKQotICAgIEluc3Bl
Y3RlZFVSTENoYW5nZWQoV1RGOjpTdHJpbmcgdXJsU3RyaW5nKQorICAgIEluc3BlY3RlZFVSTENo
YW5nZWQoU3RyaW5nIHVybFN0cmluZykKIAotICAgIFNhdmUoV1RGOjpTdHJpbmcgZmlsZW5hbWUs
IFdURjo6U3RyaW5nIGNvbnRlbnQsIGJvb2wgYmFzZTY0RW5jb2RlZCwgYm9vbCBmb3JjZVNhdmVB
cykKLSAgICBBcHBlbmQoV1RGOjpTdHJpbmcgZmlsZW5hbWUsIFdURjo6U3RyaW5nIGNvbnRlbnQp
CisgICAgU2F2ZShTdHJpbmcgZmlsZW5hbWUsIFN0cmluZyBjb250ZW50LCBib29sIGJhc2U2NEVu
Y29kZWQsIGJvb2wgZm9yY2VTYXZlQXMpCisgICAgQXBwZW5kKFN0cmluZyBmaWxlbmFtZSwgU3Ry
aW5nIGNvbnRlbnQpCiAKICAgICBBdHRhY2hCb3R0b20oKQogICAgIEF0dGFjaFJpZ2h0KCkKQEAg
LTQxLDcgKzQxLDcgQEAgbWVzc2FnZXMgLT4gV2ViSW5zcGVjdG9yUHJveHkgewogICAgIFNldFRv
b2xiYXJIZWlnaHQodW5zaWduZWQgaGVpZ2h0KQogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9TRVJW
RVIpCi0gICAgU2VuZE1lc3NhZ2VUb1JlbW90ZUZyb250ZW5kKFdURjo6U3RyaW5nIG1lc3NhZ2Up
CisgICAgU2VuZE1lc3NhZ2VUb1JlbW90ZUZyb250ZW5kKFN0cmluZyBtZXNzYWdlKQogI2VuZGlm
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYUNhY2hl
TWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1l
ZGlhQ2FjaGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNzkyOTA2NC4uMTNhNzJjZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2Vy
UHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlh
Q2FjaGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTIxLDUgKzIxLDUgQEAKICMgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KIAogbWVzc2FnZXMgLT4gV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eSB7Ci0gICAgRGlk
R2V0SG9zdG5hbWVzV2l0aE1lZGlhQ2FjaGUoVmVjdG9yPFdURjo6U3RyaW5nPiBob3N0bmFtZXMs
IHVpbnQ2NF90IGNhbGxiYWNrSUQpOworICAgIERpZEdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hl
KFZlY3RvcjxTdHJpbmc+IGhvc3RuYW1lcywgdWludDY0X3QgY2FsbGJhY2tJRCk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRl
eCAyZGQ1Yjk3Li4zYzZkNWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTI1LDE5ICsyNSwxOSBAQCBtZXNzYWdlcyAtPiBX
ZWJQYWdlUHJveHkgewogICAgIENyZWF0ZU5ld1BhZ2UoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QsIFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzIHdpbmRvd0ZlYXR1cmVzLCB1aW50MzJf
dCBtb2RpZmllcnMsIGludDMyX3QgbW91c2VCdXR0b24pIC0+ICh1aW50NjRfdCBuZXdQYWdlSUQs
IFdlYktpdDo6V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBuZXdQYWdlUGFyYW1ldGVycykKICAg
ICBTaG93UGFnZSgpCiAgICAgQ2xvc2VQYWdlKGJvb2wgc3RvcFJlc3BvbnNpdmVuZXNzVGltZXIp
Ci0gICAgUnVuSmF2YVNjcmlwdEFsZXJ0KHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1l
c3NhZ2UpIC0+ICgpCi0gICAgUnVuSmF2YVNjcmlwdENvbmZpcm0odWludDY0X3QgZnJhbWVJRCwg
V1RGOjpTdHJpbmcgbWVzc2FnZSkgLT4gKGJvb2wgcmVzdWx0KQotICAgIFJ1bkphdmFTY3JpcHRQ
cm9tcHQodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWVzc2FnZSwgV1RGOjpTdHJpbmcg
ZGVmYXVsdFZhbHVlKSAtPiAoV1RGOjpTdHJpbmcgcmVzdWx0KQorICAgIFJ1bkphdmFTY3JpcHRB
bGVydCh1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcgbWVzc2FnZSkgLT4gKCkKKyAgICBSdW5KYXZh
U2NyaXB0Q29uZmlybSh1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcgbWVzc2FnZSkgLT4gKGJvb2wg
cmVzdWx0KQorICAgIFJ1bkphdmFTY3JpcHRQcm9tcHQodWludDY0X3QgZnJhbWVJRCwgU3RyaW5n
IG1lc3NhZ2UsIFN0cmluZyBkZWZhdWx0VmFsdWUpIC0+IChTdHJpbmcgcmVzdWx0KQogICAgIFNo
b3VsZEludGVycnVwdEphdmFTY3JpcHQoKSAtPiAoYm9vbCBzaG91bGRJbnRlcnVwdCkKICAgICBN
b3VzZURpZE1vdmVPdmVyRWxlbWVudChXZWJLaXQ6OldlYkhpdFRlc3RSZXN1bHQ6OkRhdGEgaGl0
VGVzdFJlc3VsdERhdGEsIHVpbnQzMl90IG1vZGlmaWVycywgV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKLSAgICBVbmF2YWlsYWJsZVBs
dWdpbkJ1dHRvbkNsaWNrZWQodWludDMyX3QgcGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24sIFdU
Rjo6U3RyaW5nIG1pbWVUeXBlLCBXVEY6OlN0cmluZyBwbHVnaW5VUkxTdHJpbmcsIFdURjo6U3Ry
aW5nIHBsdWdpbnNwYWdlQXR0cmlidXRlVVJMU3RyaW5nLCBXVEY6OlN0cmluZyBmcmFtZVVSTFN0
cmluZywgV1RGOjpTdHJpbmcgcGFnZVVSTFN0cmluZykKKyAgICBVbmF2YWlsYWJsZVBsdWdpbkJ1
dHRvbkNsaWNrZWQodWludDMyX3QgcGx1Z2luVW5hdmFpbGFiaWxpdHlSZWFzb24sIFN0cmluZyBt
aW1lVHlwZSwgU3RyaW5nIHBsdWdpblVSTFN0cmluZywgU3RyaW5nIHBsdWdpbnNwYWdlQXR0cmli
dXRlVVJMU3RyaW5nLCBTdHJpbmcgZnJhbWVVUkxTdHJpbmcsIFN0cmluZyBwYWdlVVJMU3RyaW5n
KQogICAgIERpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhXZWJDb3JlOjpWaWV3cG9ydEF0dHJp
YnV0ZXMgYXR0cmlidXRlcykKICAgICBEaWRSZWNlaXZlRXZlbnQodWludDMyX3QgdHlwZSwgYm9v
bCBoYW5kbGVkKQogICAgIFN0b3BSZXNwb25zaXZlbmVzc1RpbWVyKCkKICAgICBTZXRDdXJzb3Io
V2ViQ29yZTo6Q3Vyc29yIGN1cnNvcikKICAgICBTZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92
ZXMoYm9vbCBoaWRkZW5VbnRpbE1vdXNlTW92ZXMpCi0gICAgU2V0U3RhdHVzVGV4dChXVEY6OlN0
cmluZyBzdGF0dXNUZXh0KQotICAgIFNldFRvb2xUaXAoV1RGOjpTdHJpbmcgdG9vbFRpcCkKKyAg
ICBTZXRTdGF0dXNUZXh0KFN0cmluZyBzdGF0dXNUZXh0KQorICAgIFNldFRvb2xUaXAoU3RyaW5n
IHRvb2xUaXApCiAgICAgU2V0Rm9jdXMoYm9vbCBmb2N1c2VkKQogICAgIFRha2VGb2N1cyh1aW50
MzJfdCBkaXJlY3Rpb24pCiAgICAgRm9jdXNlZEZyYW1lQ2hhbmdlZCh1aW50NjRfdCBmcmFtZUlE
KQpAQCAtNTUsNyArNTUsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIEdldFdp
bmRvd0ZyYW1lKCkgLT4gKFdlYkNvcmU6OkZsb2F0UmVjdCB3aW5kb3dGcmFtZSkKICAgICBTY3Jl
ZW5Ub1dpbmRvdyhXZWJDb3JlOjpJbnRQb2ludCBzY3JlZW5Qb2ludCkgLT4gKFdlYkNvcmU6Oklu
dFBvaW50IHdpbmRvd1BvaW50KQogICAgIFdpbmRvd1RvU2NyZWVuKFdlYkNvcmU6OkludFJlY3Qg
cmVjdCkgLT4gKFdlYkNvcmU6OkludFJlY3Qgc2NyZWVuRnJhbWUpCi0gICAgUnVuQmVmb3JlVW5s
b2FkQ29uZmlybVBhbmVsKFdURjo6U3RyaW5nIG1lc3NhZ2UsIHVpbnQ2NF90IGZyYW1lSUQpIC0+
IChib29sIHNob3VsZENsb3NlKQorICAgIFJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChTdHJp
bmcgbWVzc2FnZSwgdWludDY0X3QgZnJhbWVJRCkgLT4gKGJvb2wgc2hvdWxkQ2xvc2UpCiAgICAg
UGFnZURpZFNjcm9sbCgpCiAgICAgUnVuT3BlblBhbmVsKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNv
cmU6OkZpbGVDaG9vc2VyU2V0dGluZ3MgcGFyYW1ldGVycykKICAgICBQcmludEZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQpIC0+ICgpCkBAIC02NSw4ICs2NSw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQ
cm94eSB7CiAgICAgRGlkQ2hhbmdlU2Nyb2xsYmFyc0Zvck1haW5GcmFtZShib29sIGhhc0hvcml6
b250YWxTY3JvbGxiYXIsIGJvb2wgaGFzVmVydGljYWxTY3JvbGxiYXIpCiAgICAgRGlkQ2hhbmdl
U2Nyb2xsT2Zmc2V0UGlubmluZ0Zvck1haW5GcmFtZShib29sIHBpbm5lZFRvTGVmdFNpZGUsIGJv
b2wgcGlubmVkVG9SaWdodFNpZGUsIGJvb2wgcGlubmVkVG9Ub3BTaWRlLCBib29sIHBpbm5lZFRv
Qm90dG9tU2lkZSkKICAgICBEaWRDaGFuZ2VQYWdlQ291bnQodW5zaWduZWQgcGFnZUNvdW50KTsK
LSAgICBEaWRGYWlsVG9Jbml0aWFsaXplUGx1Z2luKFdURjo6U3RyaW5nIG1pbWVUeXBlLCBXVEY6
OlN0cmluZyBmcmFtZVVSTFN0cmluZywgV1RGOjpTdHJpbmcgcGFnZVVSTFN0cmluZykKLSAgICBE
aWRCbG9ja0luc2VjdXJlUGx1Z2luVmVyc2lvbihXVEY6OlN0cmluZyBtaW1lVHlwZSwgV1RGOjpT
dHJpbmcgcGx1Z2luVVJMU3RyaW5nLCBXVEY6OlN0cmluZyBmcmFtZVVSTFN0cmluZywgV1RGOjpT
dHJpbmcgcGFnZVVSTFN0cmluZywgYm9vbCByZXBsYWNlbWVudE9ic2N1cmVkKQorICAgIERpZEZh
aWxUb0luaXRpYWxpemVQbHVnaW4oU3RyaW5nIG1pbWVUeXBlLCBTdHJpbmcgZnJhbWVVUkxTdHJp
bmcsIFN0cmluZyBwYWdlVVJMU3RyaW5nKQorICAgIERpZEJsb2NrSW5zZWN1cmVQbHVnaW5WZXJz
aW9uKFN0cmluZyBtaW1lVHlwZSwgU3RyaW5nIHBsdWdpblVSTFN0cmluZywgU3RyaW5nIGZyYW1l
VVJMU3RyaW5nLCBTdHJpbmcgcGFnZVVSTFN0cmluZywgYm9vbCByZXBsYWNlbWVudE9ic2N1cmVk
KQogICAgIFNldENhblNob3J0Q2lyY3VpdEhvcml6b250YWxXaGVlbEV2ZW50cyhib29sIGNhblNo
b3J0Q2lyY3VpdEhvcml6b250YWxXaGVlbEV2ZW50cykKIAogI2lmIFBMQVRGT1JNKEVGTCkKQEAg
LTk4LDcgKzk4LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICAjIFBvbGljeSBt
ZXNzYWdlcwogICAgIERlY2lkZVBvbGljeUZvclJlc3BvbnNlU3luYyh1aW50NjRfdCBmcmFtZUlE
LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QgcmVxdWVzdCwgYm9vbCBjYW5TaG93TUlNRVR5cGUsIHVpbnQ2NF90IGxpc3RlbmVySUQs
IFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIC0+IChi
b29sIHJlY2VpdmVkUG9saWN5QWN0aW9uLCB1aW50NjRfdCBwb2xpY3lBY3Rpb24sIHVpbnQ2NF90
IGRvd25sb2FkSUQpIFZhcmlhZGljCiAgICAgRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlv
bih1aW50NjRfdCBmcmFtZUlELCB1aW50MzJfdCBuYXZpZ2F0aW9uVHlwZSwgdWludDMyX3QgbW9k
aWZpZXJzLCBpbnQzMl90IG1vdXNlQnV0dG9uLCB1aW50NjRfdCBvcmlnaW5hdGluZ0ZyYW1lSUQs
IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCB1aW50NjRfdCBsaXN0ZW5lcklELCBX
ZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSAtPiAoYm9v
bCByZWNlaXZlZFBvbGljeUFjdGlvbiwgdWludDY0X3QgcG9saWN5QWN0aW9uLCB1aW50NjRfdCBk
b3dubG9hZElEKSBWYXJpYWRpYwotICAgIERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbih1
aW50NjRfdCBmcmFtZUlELCB1aW50MzJfdCBuYXZpZ2F0aW9uVHlwZSwgdWludDMyX3QgbW9kaWZp
ZXJzLCBpbnQzMl90IG1vdXNlQnV0dG9uLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVz
dCwgV1RGOjpTdHJpbmcgZnJhbWVOYW1lLCB1aW50NjRfdCBsaXN0ZW5lcklELCBXZWJLaXQ6Oklu
amVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIERl
Y2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbih1aW50NjRfdCBmcmFtZUlELCB1aW50MzJfdCBu
YXZpZ2F0aW9uVHlwZSwgdWludDMyX3QgbW9kaWZpZXJzLCBpbnQzMl90IG1vdXNlQnV0dG9uLCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgU3RyaW5nIGZyYW1lTmFtZSwgdWludDY0
X3QgbGlzdGVuZXJJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1
c2VyRGF0YSkgVmFyaWFkaWMKICAgICBVbmFibGVUb0ltcGxlbWVudFBvbGljeSh1aW50NjRfdCBm
cmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSAgVmFyaWFkaWMKIAogICAgICMgUHJvZ3Jl
c3MgbWVzc2FnZXMKQEAgLTExMSw3ICsxMTEsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkg
ewogICAgIERpZENyZWF0ZVN1YmZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpCiAKICAgICAjIEZyYW1l
IGxvYWQgbWVzc2FnZXMKLSAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJ
RCwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBEaWRDb21taXRMb2Fk
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgU3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2Fk
VHlwZSwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIFdl
YktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGlj
CiAgICAgRGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVy
IHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6Oklu
amVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERp
ZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW5q
ZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCkBAIC0xMTks
MjggKzExOSwyOCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIERpZEZpcnN0TGF5
b3V0Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJN
ZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGaXJzdFZpc3VhbGx5Tm9u
RW1wdHlMYXlvdXRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZExheW91dCh1
aW50MzJfdCB0eXBlLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVz
ZXJEYXRhKSBWYXJpYWRpYwotICAgIERpZFJlY2VpdmVTZXJ2ZXJSZWRpcmVjdEZvclByb3Zpc2lv
bmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIHVybCwgV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAg
ICBEaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBTdHJpbmcgdXJsLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3Nh
Z2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZFJlbW92ZUZyYW1lRnJvbUhpZXJh
cmNoeSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VF
bmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwotICAgIERpZFN0YXJ0UHJvdmlzaW9uYWxMb2FkRm9y
RnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgdXJsLCBXVEY6OlN0cmluZyB1bnJl
YWNoYWJsZVVSTCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2Vy
RGF0YSkgVmFyaWFkaWMKLSAgICBEaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCBXVEY6OlN0cmluZyB0aXRsZSwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdl
RW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBEaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZv
ckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFN0cmluZyB1cmwsIFN0cmluZyB1bnJlYWNoYWJsZVVS
TCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFy
aWFkaWMKKyAgICBEaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBTdHJp
bmcgdGl0bGUsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRh
dGEpIFZhcmlhZGljCiAgICAgRGlkRGlzcGxheUluc2VjdXJlQ29udGVudEZvckZyYW1lKHVpbnQ2
NF90IGZyYW1lSUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNl
ckRhdGEpIFZhcmlhZGljCiAgICAgRGlkUnVuSW5zZWN1cmVDb250ZW50Rm9yRnJhbWUodWludDY0
X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2Vy
RGF0YSkgVmFyaWFkaWMKICAgICBEaWREZXRlY3RYU1NGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJp
YWRpYwotICAgIERpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZSh1aW50NjRfdCBmcmFt
ZUlELCB1aW50MzJfdCB0eXBlLCBXVEY6OlN0cmluZyB1cmwsIFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgRGlkU2FtZURvY3Vt
ZW50TmF2aWdhdGlvbkZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQzMl90IHR5cGUsIFN0
cmluZyB1cmwsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRh
dGEpIFZhcmlhZGljCiAKICAgICBGcmFtZURpZEJlY29tZUZyYW1lU2V0KHVpbnQ2NF90IGZyYW1l
SUQsIGJvb2wgdmFsdWUpCiAKICAgICAjIEZvcm1zIG1lc3NhZ2VzCi0gICAgV2lsbFN1Ym1pdEZv
cm0odWludDY0X3QgZnJhbWVJRCwgdWludDY0X3Qgc291cmNlRnJhbWVJRCwgVmVjdG9yPHN0ZDo6
cGFpcjxXVEY6OlN0cmluZywgV1RGOjpTdHJpbmc+PiB0ZXh0RmllbGRWYWx1ZXMsIHVpbnQ2NF90
IGxpc3RlbmVySUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNl
ckRhdGEpIFZhcmlhZGljCisgICAgV2lsbFN1Ym1pdEZvcm0odWludDY0X3QgZnJhbWVJRCwgdWlu
dDY0X3Qgc291cmNlRnJhbWVJRCwgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4+IHRl
eHRGaWVsZFZhbHVlcywgdWludDY0X3QgbGlzdGVuZXJJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKIAogICAgICMgQ2FsbGJhY2sg
bWVzc2FnZXMKICAgICBWb2lkQ2FsbGJhY2sodWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBEYXRh
Q2FsbGJhY2soQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSByZXN1bHREYXRhLCB1aW50NjRfdCBjYWxs
YmFja0lEKQogICAgIEltYWdlQ2FsbGJhY2soV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRs
ZSBiaXRtYXBIYW5kbGUsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0gICAgU3RyaW5nQ2FsbGJhY2so
V1RGOjpTdHJpbmcgcmVzdWx0U3RyaW5nLCB1aW50NjRfdCBjYWxsYmFja0lEKQorICAgIFN0cmlu
Z0NhbGxiYWNrKFN0cmluZyByZXN1bHRTdHJpbmcsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAg
U2NyaXB0VmFsdWVDYWxsYmFjayhDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIHJlc3VsdERhdGEsIHVp
bnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgQ29tcHV0ZWRQYWdlc0NhbGxiYWNrKFZlY3RvcjxXZWJD
b3JlOjpJbnRSZWN0PiBwYWdlUmVjdHMsIGRvdWJsZSB0b3RhbFNjYWxlRmFjdG9yRm9yUHJpbnRp
bmcsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0gICAgVmFsaWRhdGVDb21tYW5kQ2FsbGJhY2soV1RG
OjpTdHJpbmcgY29tbWFuZCwgYm9vbCBpc0VuYWJsZWQsIGludDMyX3Qgc3RhdGUsIHVpbnQ2NF90
IGNhbGxiYWNrSUQpCisgICAgVmFsaWRhdGVDb21tYW5kQ2FsbGJhY2soU3RyaW5nIGNvbW1hbmQs
IGJvb2wgaXNFbmFibGVkLCBpbnQzMl90IHN0YXRlLCB1aW50NjRfdCBjYWxsYmFja0lEKQogI2lm
IFBMQVRGT1JNKEdUSykKICAgICBQcmludEZpbmlzaGVkQ2FsbGJhY2soV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciBlcnJvciwgdWludDY0X3QgY2FsbGJhY2tJRCkKICNlbmRpZgpAQCAtMTUwLDEwICsx
NTAsMTAgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKIAogI2lmIFBMQVRGT1JNKEdUSykK
ICAgICAjIFN1cHBvcnQgZm9yIEdUSysgcGxhdGZvcm0ga2V5YmluZGluZ3MKLSAgICBHZXRFZGl0
b3JDb21tYW5kc0ZvcktleUV2ZW50KEF0b21pY1N0cmluZyBldmVudFR5cGUpIC0+IChWZWN0b3I8
V1RGOjpTdHJpbmc+IGNvbW1hbmRzTGlzdCkKKyAgICBHZXRFZGl0b3JDb21tYW5kc0ZvcktleUV2
ZW50KEF0b21pY1N0cmluZyBldmVudFR5cGUpIC0+IChWZWN0b3I8U3RyaW5nPiBjb21tYW5kc0xp
c3QpCiAKICAgICAjIFN1cHBvcnQgZm9yIGNvbm5lY3RpbmcgdGhlIEFjY2Vzc2liaWxpdHkgd29y
bGRzIG9mIHRoZSBVSSBhbmQgdGhlIFdlYiBwcm9jZXNzZXMKLSAgICBCaW5kQWNjZXNzaWJpbGl0
eVRyZWUoV1RGOjpTdHJpbmcgcGx1Z0lEKQorICAgIEJpbmRBY2Nlc3NpYmlsaXR5VHJlZShTdHJp
bmcgcGx1Z0lEKQogCiAgICAgU2V0SW5wdXRNZXRob2RTdGF0ZShib29sIGVuYWJsZWQpOwogI2Vu
ZGlmCkBAIC0xNzgsMTEgKzE3OCwxMSBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAg
IEVkaXRvclN0YXRlQ2hhbmdlZChXZWJLaXQ6OkVkaXRvclN0YXRlIGVkaXRvclN0YXRlKQogCiAg
ICAgIyBGaW5kIG1lc3NhZ2VzCi0gICAgRGlkQ291bnRTdHJpbmdNYXRjaGVzKFdURjo6U3RyaW5n
IHN0cmluZywgdWludDMyX3QgbWF0Y2hDb3VudCkKKyAgICBEaWRDb3VudFN0cmluZ01hdGNoZXMo
U3RyaW5nIHN0cmluZywgdWludDMyX3QgbWF0Y2hDb3VudCkKICAgICBTZXRGaW5kSW5kaWNhdG9y
KFdlYkNvcmU6OkZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0LCBWZWN0b3I8V2ViQ29yZTo6RmxvYXRS
ZWN0PiB0ZXh0UmVjdHMsIGZsb2F0IGNvbnRlbnRJbWFnZVNjYWxlRmFjdG9yLCBXZWJLaXQ6OlNo
YXJlYWJsZUJpdG1hcDo6SGFuZGxlIGNvbnRlbnRJbWFnZUhhbmRsZSwgYm9vbCBmYWRlT3V0LCBi
b29sIGFuaW1hdGUpCi0gICAgRGlkRmluZFN0cmluZyhXVEY6OlN0cmluZyBzdHJpbmcsIHVpbnQz
Ml90IG1hdGNoQ291bnQpCi0gICAgRGlkRmFpbFRvRmluZFN0cmluZyhXVEY6OlN0cmluZyBzdHJp
bmcpCi0gICAgRGlkRmluZFN0cmluZ01hdGNoZXMoV1RGOjpTdHJpbmcgc3RyaW5nLCBWZWN0b3I8
VmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+PiBtYXRjaGVzLCBpbnQzMl90IGZpcnN0SW5kZXhBZnRl
clNlbGVjdGlvbikKKyAgICBEaWRGaW5kU3RyaW5nKFN0cmluZyBzdHJpbmcsIHVpbnQzMl90IG1h
dGNoQ291bnQpCisgICAgRGlkRmFpbFRvRmluZFN0cmluZyhTdHJpbmcgc3RyaW5nKQorICAgIERp
ZEZpbmRTdHJpbmdNYXRjaGVzKFN0cmluZyBzdHJpbmcsIFZlY3RvcjxWZWN0b3I8V2ViQ29yZTo6
SW50UmVjdD4+IG1hdGNoZXMsIGludDMyX3QgZmlyc3RJbmRleEFmdGVyU2VsZWN0aW9uKQogICAg
IERpZEdldEltYWdlRm9yRmluZE1hdGNoKFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUg
Y29udGVudEltYWdlSGFuZGxlLCB1aW50MzJfdCBtYXRjaEluZGV4KQogCiAgICAgIyBQb3B1cE1l
bnUgbWVzc2FnZXMKQEAgLTE5OSwzMCArMTk5LDMwIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94
eSB7CiAgICAgRGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHVpbnQ2NF90IGZyYW1l
SUQsIFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGNoYWxsZW5nZSwgdWludDY0X3Qg
Y2hhbGxlbmdlSUQpCiAKICAgICAjIERhdGFiYXNlIG1lc3NhZ2VzCi0gICAgRXhjZWVkZWREYXRh
YmFzZVF1b3RhKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG9yaWdpbklkZW50aWZpZXIs
IFdURjo6U3RyaW5nIGRhdGFiYXNlTmFtZSwgV1RGOjpTdHJpbmcgZGF0YWJhc2VEaXNwbGF5TmFt
ZSwgdWludDY0X3QgY3VycmVudFF1b3RhLCB1aW50NjRfdCBjdXJyZW50T3JpZ2luVXNhZ2UsIHVp
bnQ2NF90IGN1cnJlbnREYXRhYmFzZVVzYWdlLCB1aW50NjRfdCBleHBlY3RlZFVzYWdlKSAtPiAo
dWludDY0X3QgbmV3UXVvdGEpIERlbGF5ZWQKKyAgICBFeGNlZWRlZERhdGFiYXNlUXVvdGEodWlu
dDY0X3QgZnJhbWVJRCwgU3RyaW5nIG9yaWdpbklkZW50aWZpZXIsIFN0cmluZyBkYXRhYmFzZU5h
bWUsIFN0cmluZyBkYXRhYmFzZURpc3BsYXlOYW1lLCB1aW50NjRfdCBjdXJyZW50UXVvdGEsIHVp
bnQ2NF90IGN1cnJlbnRPcmlnaW5Vc2FnZSwgdWludDY0X3QgY3VycmVudERhdGFiYXNlVXNhZ2Us
IHVpbnQ2NF90IGV4cGVjdGVkVXNhZ2UpIC0+ICh1aW50NjRfdCBuZXdRdW90YSkgRGVsYXllZAog
CiAgICAgIyBHZW9sb2NhdGlvbiBtZXNzYWdlcwotICAgIFJlcXVlc3RHZW9sb2NhdGlvblBlcm1p
c3Npb25Gb3JGcmFtZSh1aW50NjRfdCBnZW9sb2NhdGlvbklELCB1aW50NjRfdCBmcmFtZUlELCBX
VEY6OlN0cmluZyBvcmlnaW5JZGVudGlmaWVyKQorICAgIFJlcXVlc3RHZW9sb2NhdGlvblBlcm1p
c3Npb25Gb3JGcmFtZSh1aW50NjRfdCBnZW9sb2NhdGlvbklELCB1aW50NjRfdCBmcmFtZUlELCBT
dHJpbmcgb3JpZ2luSWRlbnRpZmllcikKICAgICAKICAgICAjIE5vdGlmaWNhdGlvbiBtZXNzYWdl
cwotICAgIFJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uKHVpbnQ2NF90IHJlcXVlc3RJRCwg
V1RGOjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllcikKLSAgICBTaG93Tm90aWZpY2F0aW9uKFdURjo6
U3RyaW5nIHRpdGxlLCBXVEY6OlN0cmluZyBib2R5LCBXVEY6OlN0cmluZyBpY29uVVJMLCBXVEY6
OlN0cmluZyB0YWcsIFdURjo6U3RyaW5nIGxhbmcsIFdURjo6U3RyaW5nIGRpciwgV1RGOjpTdHJp
bmcgb3JpZ2luSWRlbnRpZmllciwgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCisgICAgUmVxdWVz
dE5vdGlmaWNhdGlvblBlcm1pc3Npb24odWludDY0X3QgcmVxdWVzdElELCBTdHJpbmcgb3JpZ2lu
SWRlbnRpZmllcikKKyAgICBTaG93Tm90aWZpY2F0aW9uKFN0cmluZyB0aXRsZSwgU3RyaW5nIGJv
ZHksIFN0cmluZyBpY29uVVJMLCBTdHJpbmcgdGFnLCBTdHJpbmcgbGFuZywgU3RyaW5nIGRpciwg
U3RyaW5nIG9yaWdpbklkZW50aWZpZXIsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQogICAgIENh
bmNlbE5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCkKICAgICBDbGVhck5vdGlm
aWNhdGlvbnMoVmVjdG9yPHVpbnQ2NF90PiBub3RpZmljYXRpb25JRHMpCiAgICAgRGlkRGVzdHJv
eU5vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCkKIAogICAgICMgU3BlbGxpbmcg
YW5kIGdyYW1tYXIgbWVzc2FnZXMKICNpZiBVU0UoVU5JRklFRF9URVhUX0NIRUNLSU5HKSAgCi0g
ICAgQ2hlY2tUZXh0T2ZQYXJhZ3JhcGgoV1RGOjpTdHJpbmcgdGV4dCwgdWludDY0X3QgY2hlY2tp
bmdUeXBlcykgLT4gKFZlY3RvcjxXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQ+IHJlc3VsdHMp
CisgICAgQ2hlY2tUZXh0T2ZQYXJhZ3JhcGgoU3RyaW5nIHRleHQsIHVpbnQ2NF90IGNoZWNraW5n
VHlwZXMpIC0+IChWZWN0b3I8V2ViQ29yZTo6VGV4dENoZWNraW5nUmVzdWx0PiByZXN1bHRzKQog
I2VuZGlmCi0gICAgQ2hlY2tTcGVsbGluZ09mU3RyaW5nKFdURjo6U3RyaW5nIHRleHQpIC0+IChp
bnQzMl90IG1pc3NwZWxsaW5nTG9jYXRpb24sIGludDMyX3QgbWlzc3BlbGxpbmdMZW5ndGgpCi0g
ICAgQ2hlY2tHcmFtbWFyT2ZTdHJpbmcoV1RGOjpTdHJpbmcgdGV4dCkgLT4gKFZlY3RvcjxXZWJD
b3JlOjpHcmFtbWFyRGV0YWlsPiByZXN1bHRzLCBpbnQzMl90IGJhZEdyYW1tYXJMb2NhdGlvbiwg
aW50MzJfdCBiYWRHcmFtbWFyTGVuZ3RoKQorICAgIENoZWNrU3BlbGxpbmdPZlN0cmluZyhTdHJp
bmcgdGV4dCkgLT4gKGludDMyX3QgbWlzc3BlbGxpbmdMb2NhdGlvbiwgaW50MzJfdCBtaXNzcGVs
bGluZ0xlbmd0aCkKKyAgICBDaGVja0dyYW1tYXJPZlN0cmluZyhTdHJpbmcgdGV4dCkgLT4gKFZl
Y3RvcjxXZWJDb3JlOjpHcmFtbWFyRGV0YWlsPiByZXN1bHRzLCBpbnQzMl90IGJhZEdyYW1tYXJM
b2NhdGlvbiwgaW50MzJfdCBiYWRHcmFtbWFyTGVuZ3RoKQogICAgIFNwZWxsaW5nVUlJc1Nob3dp
bmcoKSAtPiAoYm9vbCBpc1Nob3dpbmcpCi0gICAgVXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVs
bGVkV29yZChXVEY6OlN0cmluZyBtaXNzcGVsbGVkV29yZCkKLSAgICBVcGRhdGVTcGVsbGluZ1VJ
V2l0aEdyYW1tYXJTdHJpbmcoV1RGOjpTdHJpbmcgYmFkR3JhbW1hclBocmFzZSwgV2ViQ29yZTo6
R3JhbW1hckRldGFpbCBncmFtbWFyRGV0YWlsKQotICAgIEdldEd1ZXNzZXNGb3JXb3JkKFdURjo6
U3RyaW5nIHdvcmQsIFdURjo6U3RyaW5nIGNvbnRleHQpIC0+IChWZWN0b3I8V1RGOjpTdHJpbmc+
IGd1ZXNzZXMpCi0gICAgTGVhcm5Xb3JkKFdURjo6U3RyaW5nIHdvcmQpOwotICAgIElnbm9yZVdv
cmQoV1RGOjpTdHJpbmcgd29yZCk7CisgICAgVXBkYXRlU3BlbGxpbmdVSVdpdGhNaXNzcGVsbGVk
V29yZChTdHJpbmcgbWlzc3BlbGxlZFdvcmQpCisgICAgVXBkYXRlU3BlbGxpbmdVSVdpdGhHcmFt
bWFyU3RyaW5nKFN0cmluZyBiYWRHcmFtbWFyUGhyYXNlLCBXZWJDb3JlOjpHcmFtbWFyRGV0YWls
IGdyYW1tYXJEZXRhaWwpCisgICAgR2V0R3Vlc3Nlc0ZvcldvcmQoU3RyaW5nIHdvcmQsIFN0cmlu
ZyBjb250ZXh0KSAtPiAoVmVjdG9yPFN0cmluZz4gZ3Vlc3NlcykKKyAgICBMZWFybldvcmQoU3Ry
aW5nIHdvcmQpOworICAgIElnbm9yZVdvcmQoU3RyaW5nIHdvcmQpOwogICAgIFJlcXVlc3RDaGVj
a2luZ09mU3RyaW5nKHVpbnQ2NF90IHJlcXVlc3RJRCwgV2ViQ29yZTo6VGV4dENoZWNraW5nUmVx
dWVzdERhdGEgcmVxdWVzdCkKIAogICAgICMgRHJhZyBhbmQgZHJvcCBtZXNzYWdlcwpAQCAtMjMx
LDcgKzIzMSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAjZW5kaWYKICNpZiBQTEFU
Rk9STShNQUMpICYmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgU2V0RHJhZ0ltYWdlKFdlYkNv
cmU6OkludFBvaW50IGNsaWVudFBvc2l0aW9uLCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFu
ZGxlIGRyYWdJbWFnZSwgYm9vbCBsaW5rRHJhZykKLSAgICBTZXRQcm9taXNlZERhdGEoV1RGOjpT
dHJpbmcgcGFzdGVib2FyZE5hbWUsIFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUgaW1hZ2VI
YW5kbGUsIHVpbnQ2NF90IGltYWdlU2l6ZSwgV1RGOjpTdHJpbmcgZmlsZW5hbWUsIFdURjo6U3Ry
aW5nIGV4dGVuc2lvbiwgV1RGOjpTdHJpbmcgdGl0bGUsIFdURjo6U3RyaW5nIHVybCwgV1RGOjpT
dHJpbmcgdmlzaWJsZVVSTCwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBhcmNoaXZlSGFu
ZGxlLCB1aW50NjRfdCBhcmNoaXZlU2l6ZSkKKyAgICBTZXRQcm9taXNlZERhdGEoU3RyaW5nIHBh
c3RlYm9hcmROYW1lLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGltYWdlSGFuZGxlLCB1
aW50NjRfdCBpbWFnZVNpemUsIFN0cmluZyBmaWxlbmFtZSwgU3RyaW5nIGV4dGVuc2lvbiwgU3Ry
aW5nIHRpdGxlLCBTdHJpbmcgdXJsLCBTdHJpbmcgdmlzaWJsZVVSTCwgV2ViS2l0OjpTaGFyZWRN
ZW1vcnk6OkhhbmRsZSBhcmNoaXZlSGFuZGxlLCB1aW50NjRfdCBhcmNoaXZlU2l6ZSkKICNlbmRp
ZgogI2lmIFBMQVRGT1JNKEdUSykgJiYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBTdGFydERy
YWcoV2ViQ29yZTo6RHJhZ0RhdGEgZHJhZ0RhdGEsIFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpI
YW5kbGUgZHJhZ0ltYWdlKQpAQCAtMjQzLDcgKzI0Myw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQ
cm94eSB7CiAKICAgICAjIEtleWJvYXJkIGlucHV0IHN1cHBvcnQgbWVzc2FnZXMKICAgICBJbnRl
cnByZXRRdWV1ZWRLZXlFdmVudChXZWJLaXQ6OkVkaXRvclN0YXRlIHN0YXRlKSAtPiAoYm9vbCBo
YW5kbGVkLCBWZWN0b3I8V2ViQ29yZTo6S2V5cHJlc3NDb21tYW5kPiBzYXZlZENvbW1hbmRzKQot
ICAgIEV4ZWN1dGVTYXZlZENvbW1hbmRCeVNlbGVjdG9yKFdURjo6U3RyaW5nIHNlbGVjdG9yKSAt
PiAoYm9vbCBoYW5kbGVkKQorICAgIEV4ZWN1dGVTYXZlZENvbW1hbmRCeVNlbGVjdG9yKFN0cmlu
ZyBzZWxlY3RvcikgLT4gKGJvb2wgaGFuZGxlZCkKIAogICAgICMgUmVtb3RlIGFjY2Vzc2liaWxp
dHkgbWVzc2FnZXMKICAgICBSZWdpc3RlcldlYlByb2Nlc3NBY2Nlc3NpYmlsaXR5VG9rZW4oQ29y
ZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKQpAQCAtMjU0LDE1ICsyNTQsMTUgQEAgbWVzc2FnZXMg
LT4gV2ViUGFnZVByb3h5IHsKIAogICAgICMgU3BlZWNoIG1lc3NhZ2VzCiAgICAgR2V0SXNTcGVh
a2luZygpIC0+IChib29sIGlzU3BlYWtpbmcpCi0gICAgU3BlYWsoV1RGOjpTdHJpbmcgc3RyaW5n
KQorICAgIFNwZWFrKFN0cmluZyBzdHJpbmcpCiAgICAgU3RvcFNwZWFraW5nKCkKIAogICAgIE1h
a2VGaXJzdFJlc3BvbmRlcigpCiAKICAgICAjIFNwb3RsaWdodAotICAgIFNlYXJjaFdpdGhTcG90
bGlnaHQoV1RGOjpTdHJpbmcgc3RyaW5nKQorICAgIFNlYXJjaFdpdGhTcG90bGlnaHQoU3RyaW5n
IHN0cmluZykKIAotICAgIFNlYXJjaFRoZVdlYihXVEY6OlN0cmluZyBzdHJpbmcpCisgICAgU2Vh
cmNoVGhlV2ViKFN0cmluZyBzdHJpbmcpCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKQEAg
LTI4OSwyMyArMjg5LDIzIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAjZW5kaWYKIAog
ICAgICMgU2VhcmNoIHBvcHVwIG1lbnVzCi0gICAgU2F2ZVJlY2VudFNlYXJjaGVzKFdURjo6U3Ry
aW5nIG5hbWUsIFZlY3RvcjxTdHJpbmc+IHNlYXJjaEl0ZW1zKQotICAgIExvYWRSZWNlbnRTZWFy
Y2hlcyhXVEY6OlN0cmluZyBuYW1lKSAtPiAoVmVjdG9yPFN0cmluZz4gcmVzdWx0KQorICAgIFNh
dmVSZWNlbnRTZWFyY2hlcyhTdHJpbmcgbmFtZSwgVmVjdG9yPFN0cmluZz4gc2VhcmNoSXRlbXMp
CisgICAgTG9hZFJlY2VudFNlYXJjaGVzKFN0cmluZyBuYW1lKSAtPiAoVmVjdG9yPFN0cmluZz4g
cmVzdWx0KQogCiAjaWYgVVNFKFNPVVApCiAgICAgIyBTb3VwIGN1c3RvbSBVUkkgcmVxdWVzdCBt
ZXNzYWdlcwotICAgIERpZFJlY2VpdmVVUklSZXF1ZXN0KFdURjo6U3RyaW5nIHVyaVN0cmluZywg
dWludDY0X3QgcmVxdWVzdElEKTsKKyAgICBEaWRSZWNlaXZlVVJJUmVxdWVzdChTdHJpbmcgdXJp
U3RyaW5nLCB1aW50NjRfdCByZXF1ZXN0SUQpOwogI2VuZGlmCiAKLSAgICBTYXZlUERGVG9GaWxl
SW5Eb3dubG9hZHNGb2xkZXIoV1RGOjpTdHJpbmcgc3VnZ2VzdGVkRmlsZW5hbWUsIFdURjo6U3Ry
aW5nIG9yaWdpbmF0aW5nVVJMU3RyaW5nLCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEpCisg
ICAgU2F2ZVBERlRvRmlsZUluRG93bmxvYWRzRm9sZGVyKFN0cmluZyBzdWdnZXN0ZWRGaWxlbmFt
ZSwgU3RyaW5nIG9yaWdpbmF0aW5nVVJMU3RyaW5nLCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRh
dGEpCiAKICNpZiBQTEFURk9STShNQUMpCi0gICAgU2F2ZVBERlRvVGVtcG9yYXJ5Rm9sZGVyQW5k
T3BlbldpdGhOYXRpdmVBcHBsaWNhdGlvbihXVEY6OlN0cmluZyBzdWdnZXN0ZWRGaWxlbmFtZSwg
V1RGOjpTdHJpbmcgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIENvcmVJUEM6OkRhdGFSZWZlcmVuY2Ug
ZGF0YSwgV1RGOjpTdHJpbmcgcGRmVVVJRCkKLSAgICBPcGVuUERGRnJvbVRlbXBvcmFyeUZvbGRl
cldpdGhOYXRpdmVBcHBsaWNhdGlvbihXVEY6OlN0cmluZyBwZGZVVUlEKQorICAgIFNhdmVQREZU
b1RlbXBvcmFyeUZvbGRlckFuZE9wZW5XaXRoTmF0aXZlQXBwbGljYXRpb24oU3RyaW5nIHN1Z2dl
c3RlZEZpbGVuYW1lLCBTdHJpbmcgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UgZGF0YSwgU3RyaW5nIHBkZlVVSUQpCisgICAgT3BlblBERkZyb21UZW1wb3JhcnlG
b2xkZXJXaXRoTmF0aXZlQXBwbGljYXRpb24oU3RyaW5nIHBkZlVVSUQpCiAjZW5kaWYKIAogI2lm
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIEZpbmRQbHVnaW4oV1RGOjpTdHJpbmcg
bWltZVR5cGUsIHVpbnQzMl90IHByb2Nlc3NUeXBlLCBXVEY6OlN0cmluZyB1cmxTdHJpbmcsIFdU
Rjo6U3RyaW5nIGZyYW1lVVJMU3RyaW5nLCBXVEY6OlN0cmluZyBwYWdlVVJMU3RyaW5nLCBib29s
IGFsbG93T25seUFwcGxpY2F0aW9uUGx1Z2lucykgLT4gKHVpbnQ2NF90IHBsdWdpblByb2Nlc3NU
b2tlbiwgV1RGOjpTdHJpbmcgbmV3TUlNRVR5cGUsIHVpbnQzMl90IHBsdWdpbkxvYWRQb2xpY3ks
IFdURjo6U3RyaW5nIHVuYXZhaWxhYmlsaXR5RGVzY3JpcHRpb24pCisgICAgRmluZFBsdWdpbihT
dHJpbmcgbWltZVR5cGUsIHVpbnQzMl90IHByb2Nlc3NUeXBlLCBTdHJpbmcgdXJsU3RyaW5nLCBT
dHJpbmcgZnJhbWVVUkxTdHJpbmcsIFN0cmluZyBwYWdlVVJMU3RyaW5nLCBib29sIGFsbG93T25s
eUFwcGxpY2F0aW9uUGx1Z2lucykgLT4gKHVpbnQ2NF90IHBsdWdpblByb2Nlc3NUb2tlbiwgU3Ry
aW5nIG5ld01JTUVUeXBlLCB1aW50MzJfdCBwbHVnaW5Mb2FkUG9saWN5LCBTdHJpbmcgdW5hdmFp
bGFiaWxpdHlEZXNjcmlwdGlvbikKICNlbmRpZgogCiAgICAgRGlkVXBkYXRlVmlld1N0YXRlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IGQ4ZGE4MGQuLjcxMjFiYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjQsMTEgKzI0LDEx
IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAKICAgICAj
IEhpc3RvcnkgY2xpZW50IG1lc3NhZ2VzLgogICAgIERpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25E
YXRhKHVpbnQ2NF90IHBhZ2VJRCwgV2ViS2l0OjpXZWJOYXZpZ2F0aW9uRGF0YVN0b3JlIHN0b3Jl
LCB1aW50NjRfdCBmcmFtZUlEKQotICAgIERpZFBlcmZvcm1DbGllbnRSZWRpcmVjdCh1aW50NjRf
dCBwYWdlSUQsIFdURjo6U3RyaW5nIHNvdXJjZVVSTFN0cmluZywgV1RGOjpTdHJpbmcgZGVzdGlu
YXRpb25VUkxTdHJpbmcsIHVpbnQ2NF90IGZyYW1lSUQpCi0gICAgRGlkUGVyZm9ybVNlcnZlclJl
ZGlyZWN0KHVpbnQ2NF90IHBhZ2VJRCwgV1RGOjpTdHJpbmcgc291cmNlVVJMU3RyaW5nLCBXVEY6
OlN0cmluZyBkZXN0aW5hdGlvblVSTFN0cmluZywgdWludDY0X3QgZnJhbWVJRCkKLSAgICBEaWRV
cGRhdGVIaXN0b3J5VGl0bGUodWludDY0X3QgcGFnZUlELCBXVEY6OlN0cmluZyB0aXRsZSwgV1RG
OjpTdHJpbmcgdXJsLCB1aW50NjRfdCBmcmFtZUlEKQorICAgIERpZFBlcmZvcm1DbGllbnRSZWRp
cmVjdCh1aW50NjRfdCBwYWdlSUQsIFN0cmluZyBzb3VyY2VVUkxTdHJpbmcsIFN0cmluZyBkZXN0
aW5hdGlvblVSTFN0cmluZywgdWludDY0X3QgZnJhbWVJRCkKKyAgICBEaWRQZXJmb3JtU2VydmVy
UmVkaXJlY3QodWludDY0X3QgcGFnZUlELCBTdHJpbmcgc291cmNlVVJMU3RyaW5nLCBTdHJpbmcg
ZGVzdGluYXRpb25VUkxTdHJpbmcsIHVpbnQ2NF90IGZyYW1lSUQpCisgICAgRGlkVXBkYXRlSGlz
dG9yeVRpdGxlKHVpbnQ2NF90IHBhZ2VJRCwgU3RyaW5nIHRpdGxlLCBTdHJpbmcgdXJsLCB1aW50
NjRfdCBmcmFtZUlEKQogCi0gICAgQWRkQmFja0ZvcndhcmRJdGVtKHVpbnQ2NF90IGl0ZW1JRCwg
V1RGOjpTdHJpbmcgb3JpZ2luYWxVUkwsIFdURjo6U3RyaW5nIHVybCwgV1RGOjpTdHJpbmcgdGl0
bGUsIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgYmFja0ZvcndhcmREYXRhKQorICAgIEFkZEJhY2tG
b3J3YXJkSXRlbSh1aW50NjRfdCBpdGVtSUQsIFN0cmluZyBvcmlnaW5hbFVSTCwgU3RyaW5nIHVy
bCwgU3RyaW5nIHRpdGxlLCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGJhY2tGb3J3YXJkRGF0YSkK
ICAgICBEaWREZXN0cm95RnJhbWUodWludDY0X3QgZnJhbWVJRCkgCiAKICAgICBTaG91bGRUZXJt
aW5hdGUoKSAtPiAoYm9vbCBzaG91bGRUZXJtaW5hdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2Vz
LmluCmluZGV4IDBhZTExNTUuLjY1YjNlNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmlu
CkBAIC0yNSw3ICsyNSw3IEBACiAgCiAgbWVzc2FnZXMgLT4gV2ViQ29va2llTWFuYWdlciB7CiAg
ICAgdm9pZCBHZXRIb3N0bmFtZXNXaXRoQ29va2llcyh1aW50NjRfdCBjYWxsYmFja0lEKQotICAg
IHZvaWQgRGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKFdURjo6U3RyaW5nIGhvc3RuYW1lKQorICAg
IHZvaWQgRGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKFN0cmluZyBob3N0bmFtZSkKICAgICB2b2lk
IERlbGV0ZUFsbENvb2tpZXMoKQogCiAgICAgdm9pZCBTZXRIVFRQQ29va2llQWNjZXB0UG9saWN5
KHVpbnQzMl90IHBvbGljeSkKQEAgLTM1LDYgKzM1LDYgQEAKICAgICB2b2lkIFN0b3BPYnNlcnZp
bmdDb29raWVDaGFuZ2VzKCkKIAogI2lmIFVTRShTT1VQKQotICAgIFNldENvb2tpZVBlcnNpc3Rl
bnRTdG9yYWdlKFdURjo6U3RyaW5nIHN0b3JhZ2VQYXRoLCB1aW50MzJfdCBzdG9yYWdlVHlwZSkK
KyAgICBTZXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZShTdHJpbmcgc3RvcmFnZVBhdGgsIHVpbnQz
Ml90IHN0b3JhZ2VUeXBlKQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0dlb2xvY2F0aW9uL1dlYkdlb2xvY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5h
Z2VyLm1lc3NhZ2VzLmluCmluZGV4IDg5OGQxYWUuLjcwYjM0MzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5hZ2VyLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2Vi
R2VvbG9jYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yMiw1ICsyMiw1IEBACiAKIG1lc3Nh
Z2VzIC0+IFdlYkdlb2xvY2F0aW9uTWFuYWdlciB7CiAgICAgRGlkQ2hhbmdlUG9zaXRpb24oV2Vi
S2l0OjpXZWJHZW9sb2NhdGlvblBvc2l0aW9uOjpEYXRhIHBvc2l0aW9uKTsKLSAgICBEaWRGYWls
VG9EZXRlcm1pbmVQb3NpdGlvbihXVEY6OlN0cmluZyBlcnJvck1lc3NhZ2UpOworICAgIERpZEZh
aWxUb0RldGVybWluZVBvc2l0aW9uKFN0cmluZyBlcnJvck1lc3NhZ2UpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5h
Z2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dl
Yk1lZGlhQ2FjaGVNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IDVlZWU4Y2MuLmMwY2Y4ZjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNh
Y2hlTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01l
ZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTIyLDYgKzIyLDYg
QEAKIAogbWVzc2FnZXMgLT4gV2ViTWVkaWFDYWNoZU1hbmFnZXIgewogICAgIHZvaWQgR2V0SG9z
dG5hbWVzV2l0aE1lZGlhQ2FjaGUodWludDY0X3QgY2FsbGJhY2tJRCkKLSAgICB2b2lkIENsZWFy
Q2FjaGVGb3JIb3N0bmFtZShXVEY6OlN0cmluZyBob3N0bmFtZSkKKyAgICB2b2lkIENsZWFyQ2Fj
aGVGb3JIb3N0bmFtZShTdHJpbmcgaG9zdG5hbWUpCiAgICAgdm9pZCBDbGVhckNhY2hlRm9yQWxs
SG9zdG5hbWVzKCkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIubWVz
c2FnZXMuaW4KaW5kZXggYjg4ZjI2Yy4uYTJlNjIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5v
dGlmaWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTI0LDYgKzI0LDYgQEAgbWVzc2FnZXMg
LT4gV2ViTm90aWZpY2F0aW9uTWFuYWdlciB7CiAgICAgRGlkU2hvd05vdGlmaWNhdGlvbih1aW50
NjRfdCBub3RpZmljYXRpb25JRCk7CiAgICAgRGlkQ2xpY2tOb3RpZmljYXRpb24odWludDY0X3Qg
bm90aWZpY2F0aW9uSUQpOwogICAgIERpZENsb3NlTm90aWZpY2F0aW9ucyhWZWN0b3I8dWludDY0
X3Q+IG5vdGlmaWNhdGlvbklEcyk7Ci0gICAgRGlkVXBkYXRlTm90aWZpY2F0aW9uRGVjaXNpb24o
V1RGOjpTdHJpbmcgb3JpZ2luU3RyaW5nLCBib29sIGFsbG93ZWQpOwotICAgIERpZFJlbW92ZU5v
dGlmaWNhdGlvbkRlY2lzaW9ucyhWZWN0b3I8V1RGOjpTdHJpbmc+IG9yaWdpblN0cmluZ3MpOwor
ICAgIERpZFVwZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKFN0cmluZyBvcmlnaW5TdHJpbmcsIGJv
b2wgYWxsb3dlZCk7CisgICAgRGlkUmVtb3ZlTm90aWZpY2F0aW9uRGVjaXNpb25zKFZlY3RvcjxT
dHJpbmc+IG9yaWdpblN0cmluZ3MpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLm1l
c3NhZ2VzLmluCmluZGV4IDJhNTQ4ZjAuLmRiMzc5ZmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNCw3ICsyNCw3IEBACiAKIG1lc3NhZ2VzIC0+IFBs
dWdpblByb2Nlc3NDb25uZWN0aW9uIExlZ2FjeVJlY2VpdmVyIHsKICAgICAjIFNldCBhIGdsb2Jh
bCBKYXZhU2NyaXB0IGV4Y2VwdGlvbi4KLSAgICBTZXRFeGNlcHRpb24oV1RGOjpTdHJpbmcgZXhj
ZXB0aW9uU3RyaW5nKSAtPiAoKQorICAgIFNldEV4Y2VwdGlvbihTdHJpbmcgZXhjZXB0aW9uU3Ry
aW5nKSAtPiAoKQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5tZXNzYWdlcy5pbgppbmRleCA2NTMyMDQ1Li4w
Yjg1ZTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNCwyOCArMjQsMjggQEAKIAogbWVzc2Fn
ZXMgLT4gUGx1Z2luUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgICMgQXNrcyB0aGUgd2ViIHBy
b2Nlc3MgdG8gbG9hZCBhIFVSTC4KLSAgICBMb2FkVVJMKHVpbnQ2NF90IHJlcXVlc3RJRCwgV1RG
OjpTdHJpbmcgbWV0aG9kLCBXVEY6OlN0cmluZyB1cmxTdHJpbmcsIFdURjo6U3RyaW5nIHRhcmdl
dCwgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCBoZWFkZXJGaWVsZHMsIFZlY3Rvcjx1aW50OF90PiBo
dHRwQm9keSwgYm9vbCBhbGxvd1BvcHVwcyk7CisgICAgTG9hZFVSTCh1aW50NjRfdCByZXF1ZXN0
SUQsIFN0cmluZyBtZXRob2QsIFN0cmluZyB1cmxTdHJpbmcsIFN0cmluZyB0YXJnZXQsIFdlYkNv
cmU6OkhUVFBIZWFkZXJNYXAgaGVhZGVyRmllbGRzLCBWZWN0b3I8dWludDhfdD4gaHR0cEJvZHks
IGJvb2wgYWxsb3dQb3B1cHMpOwogCiAgICAgIyBDYWxsZWQgd2hlbiB0aGUgcGx1Zy1pbiBoYXMg
cGFpbnRlZCBpbnRvIGl0cyBiYWNraW5nIHN0b3JlLiBUaGUgcGFpbnRlZCByZWN0IGlzIGluIHBs
dWctaW4gY29vcmRpbmF0ZXMuCiAgICAgVXBkYXRlKFdlYkNvcmU6OkludFJlY3QgcGFpbnRlZFJl
Y3QpCiAKICAgICAjIFJldHVybnMgYSBQQUMgc3R5bGUgc3RyaW5nIHdpdGggcHJveGllcyBmb3Ig
dGhlIGdpdmVuIFVSTC4KLSAgICBQcm94aWVzRm9yVVJMKFdURjo6U3RyaW5nIHVybFN0cmluZykg
LT4gKFdURjo6U3RyaW5nIHByb3hpZXNTdHJpbmcpCisgICAgUHJveGllc0ZvclVSTChTdHJpbmcg
dXJsU3RyaW5nKSAtPiAoU3RyaW5nIHByb3hpZXNTdHJpbmcpCiAKICAgICAjIFJldHVybnMgdGhl
IGNvb2tpZXMgZm9yIHRoZSBnaXZlbiBVUkwuCi0gICAgQ29va2llc0ZvclVSTChXVEY6OlN0cmlu
ZyB1cmxTdHJpbmcpIC0+IChXVEY6OlN0cmluZyBjb29raWVTdHJpbmcpCisgICAgQ29va2llc0Zv
clVSTChTdHJpbmcgdXJsU3RyaW5nKSAtPiAoU3RyaW5nIGNvb2tpZVN0cmluZykKIAogICAgICMg
U2V0cyB0aGUgY29va2llcyBmb3IgdGhlIGdpdmVuIFVSTC4KLSAgICBTZXRDb29raWVzRm9yVVJM
KFdURjo6U3RyaW5nIHVybFN0cmluZywgV1RGOjpTdHJpbmcgY29va2llU3RyaW5nKQorICAgIFNl
dENvb2tpZXNGb3JVUkwoU3RyaW5nIHVybFN0cmluZywgU3RyaW5nIGNvb2tpZVN0cmluZykKIAog
ICAgICMgR2V0cyB0aGUgYXV0aGVudGljYXRpb24gaW5mbyBmb3IgdGhlIGdpdmVuIHByb3RlY3Rp
b24gc3BhY2UuCi0gICAgR2V0QXV0aGVudGljYXRpb25JbmZvKFdlYkNvcmU6OlByb3RlY3Rpb25T
cGFjZSBwcm90ZWN0aW9uU3BhY2UpIC0+IChib29sIHJldHVyblZhbHVlLCBXVEY6OlN0cmluZyB1
c2VybmFtZSwgV1RGOjpTdHJpbmcgcGFzc3dvcmQpCisgICAgR2V0QXV0aGVudGljYXRpb25JbmZv
KFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSBwcm90ZWN0aW9uU3BhY2UpIC0+IChib29sIHJldHVy
blZhbHVlLCBTdHJpbmcgdXNlcm5hbWUsIFN0cmluZyBwYXNzd29yZCkKIAogICAgICMgR2V0cyBh
IHJlZmVyZW5jZSB0byB0aGUgcGx1Zy1pbiBlbGVtZW50IE5QT2JqZWN0LgogICAgIEdldFBsdWdp
bkVsZW1lbnROUE9iamVjdCgpIC0+ICh1aW50NjRfdCBwbHVnaW5FbGVtZW50TlBPYmplY3RJRCkK
IAogICAgICMgRXZhbHVhdGVzIHRoZSBnaXZlbiBKYXZhU2NyaXB0IHN0cmluZy4KLSAgICBFdmFs
dWF0ZShXZWJLaXQ6Ok5QVmFyaWFudERhdGEgbnBPYmplY3RBc1ZhcmlhbnREYXRhLCBXVEY6OlN0
cmluZyBzY3JpcHRTdHJpbmcsIGJvb2wgYWxsb3dQb3B1cHMpIC0+IChib29sIHJldHVyblZhbHVl
LCBXZWJLaXQ6Ok5QVmFyaWFudERhdGEgcmVzdWx0RGF0YSkKKyAgICBFdmFsdWF0ZShXZWJLaXQ6
Ok5QVmFyaWFudERhdGEgbnBPYmplY3RBc1ZhcmlhbnREYXRhLCBTdHJpbmcgc2NyaXB0U3RyaW5n
LCBib29sIGFsbG93UG9wdXBzKSAtPiAoYm9vbCByZXR1cm5WYWx1ZSwgV2ViS2l0OjpOUFZhcmlh
bnREYXRhIHJlc3VsdERhdGEpCiAKICAgICAjIENhbmNlbHMgdGhlIGdpdmVuIHN0cmVhbSBsb2Fk
LgogICAgIENhbmNlbFN0cmVhbUxvYWQodWludDY0X3Qgc3RyZWFtSUQpCkBAIC01NCw3ICs1NCw3
IEBAIG1lc3NhZ2VzIC0+IFBsdWdpblByb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBDYW5jZWxN
YW51YWxTdHJlYW1Mb2FkKCkKIAogICAgICMgU2V0IHRoZSBzdGF0dXMgYmFyIHRleHQuCi0gICAg
U2V0U3RhdHVzYmFyVGV4dChXVEY6OlN0cmluZyBzdGF0dXNiYXJUZXh0KQorICAgIFNldFN0YXR1
c2JhclRleHQoU3RyaW5nIHN0YXR1c2JhclRleHQpCiAKICNpZiBQTEFURk9STShNQUMpCiAgICAg
IyBDYWxsZWQgd2hlbiB0aGUgcGx1Zy1pbidzIGZvY3VzIG9yIGl0cyBjb250YWluaW5nIHdpbmRv
dyBmb2N1cyBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9T
dG9yYWdlL1N0b3JhZ2VBcmVhTWFwLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1N0b3JhZ2VBcmVhTWFwLm1lc3NhZ2VzLmluCmluZGV4IDA2ZGRlOTQuLmIx
NTkwNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU3RvcmFnZS9TdG9y
YWdlQXJlYU1hcC5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1N0
b3JhZ2UvU3RvcmFnZUFyZWFNYXAubWVzc2FnZXMuaW4KQEAgLTIyLDEwICsyMiwxMCBAQAogCiBt
ZXNzYWdlcyAtPiBTdG9yYWdlQXJlYU1hcCB7CiAgICAgRGlkR2V0VmFsdWVzKHVpbnQ2NF90IHN0
b3JhZ2VNYXBTZWVkKQotICAgIERpZFNldEl0ZW0odWludDY0X3Qgc3RvcmFnZU1hcFNlZWQsIFdU
Rjo6U3RyaW5nIGtleSwgYm9vbCBxdW90YUV4Y2VwdGlvbikKLSAgICBEaWRSZW1vdmVJdGVtKHVp
bnQ2NF90IHN0b3JhZ2VNYXBTZWVkLCBXVEY6OlN0cmluZyBrZXkpCisgICAgRGlkU2V0SXRlbSh1
aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwgU3RyaW5nIGtleSwgYm9vbCBxdW90YUV4Y2VwdGlvbikK
KyAgICBEaWRSZW1vdmVJdGVtKHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkLCBTdHJpbmcga2V5KQog
ICAgIERpZENsZWFyKHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkKQogCi0gICAgRGlzcGF0Y2hTdG9y
YWdlRXZlbnQodWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgV1RGOjpTdHJpbmcga2V5LCBX
VEY6OlN0cmluZyBvbGRWYWx1ZSwgV1RGOjpTdHJpbmcgbmV3VmFsdWUsIFdURjo6U3RyaW5nIHVy
bFN0cmluZykKKyAgICBEaXNwYXRjaFN0b3JhZ2VFdmVudCh1aW50NjRfdCBzb3VyY2VTdG9yYWdl
QXJlYUlELCBTdHJpbmcga2V5LCBTdHJpbmcgb2xkVmFsdWUsIFN0cmluZyBuZXdWYWx1ZSwgU3Ry
aW5nIHVybFN0cmluZykKICAgICBDbGVhckNhY2hlKCkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGF0YWJhc2VNYW5hZ2VyLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEYXRh
YmFzZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggYTM0NGMwMC4uYjhmOTJlMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEYXRhYmFzZU1h
bmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJEYXRhYmFzZU1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTI1LDEwICsyNSwxMCBA
QAogbWVzc2FnZXMgLT4gV2ViRGF0YWJhc2VNYW5hZ2VyIHsKICAgICB2b2lkIEdldERhdGFiYXNl
c0J5T3JpZ2luKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgdm9pZCBHZXREYXRhYmFzZU9yaWdp
bnModWludDY0X3QgY2FsbGJhY2tJRCkKLSAgICB2b2lkIERlbGV0ZURhdGFiYXNlV2l0aE5hbWVG
b3JPcmlnaW4oV1RGOjpTdHJpbmcgZGF0YWJhc2VJZGVudGlmaWVyLCBXVEY6OlN0cmluZyBvcmln
aW5JZGVudGlmaWVyKQotICAgIHZvaWQgRGVsZXRlRGF0YWJhc2VzRm9yT3JpZ2luKFdURjo6U3Ry
aW5nIG9yaWdpbklkZW50aWZpZXIpCisgICAgdm9pZCBEZWxldGVEYXRhYmFzZVdpdGhOYW1lRm9y
T3JpZ2luKFN0cmluZyBkYXRhYmFzZUlkZW50aWZpZXIsIFN0cmluZyBvcmlnaW5JZGVudGlmaWVy
KQorICAgIHZvaWQgRGVsZXRlRGF0YWJhc2VzRm9yT3JpZ2luKFN0cmluZyBvcmlnaW5JZGVudGlm
aWVyKQogICAgIHZvaWQgRGVsZXRlQWxsRGF0YWJhc2VzKCkKLSAgICB2b2lkIFNldFF1b3RhRm9y
T3JpZ2luKFdURjo6U3RyaW5nIG9yaWdpbklkZW50aWZpZXIsIHVpbnQ2NF90IHF1b3RhKQorICAg
IHZvaWQgU2V0UXVvdGFGb3JPcmlnaW4oU3RyaW5nIG9yaWdpbklkZW50aWZpZXIsIHVpbnQ2NF90
IHF1b3RhKQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3Nh
Z2VzLmluCmluZGV4IDIyZDJmYjAuLmMyM2I4NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5tZXNzYWdlcy5pbgpAQCAt
MjgsOCArMjgsOCBAQCBtZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3IgTGVnYWN5UmVjZWl2ZXIgewog
ICAgIEF0dGFjaGVkQm90dG9tKCkKICAgICBBdHRhY2hlZFJpZ2h0KCkKICAgICBEZXRhY2hlZCgp
Ci0gICAgRGlkU2F2ZShXVEY6OlN0cmluZyB1cmwpCi0gICAgRGlkQXBwZW5kKFdURjo6U3RyaW5n
IHVybCkKKyAgICBEaWRTYXZlKFN0cmluZyB1cmwpCisgICAgRGlkQXBwZW5kKFN0cmluZyB1cmwp
CiAgICAgU2hvd0NvbnNvbGUoKQogICAgIFNob3dSZXNvdXJjZXMoKQogICAgIFNob3dNYWluUmVz
b3VyY2VGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlEKQpAQCAtNDEsNyArNDEsNyBAQCBtZXNzYWdl
cyAtPiBXZWJJbnNwZWN0b3IgTGVnYWN5UmVjZWl2ZXIgewogICAgIFN0b3BQYWdlUHJvZmlsaW5n
KCkKIAogI2lmIEVOQUJMRShJTlNQRUNUT1JfU0VSVkVSKQotICAgIERpc3BhdGNoTWVzc2FnZUZy
b21SZW1vdGVGcm9udGVuZChXVEY6OlN0cmluZyBtZXNzYWdlKQorICAgIERpc3BhdGNoTWVzc2Fn
ZUZyb21SZW1vdGVGcm9udGVuZChTdHJpbmcgbWVzc2FnZSkKICAgICBSZW1vdGVGcm9udGVuZENv
bm5lY3RlZCgpCiAgICAgUmVtb3RlRnJvbnRlbmREaXNjb25uZWN0ZWQoKQogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluCmluZGV4IDcwMzYxNDUuLmUyM2NiYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC01OSwxNSArNTksMTUg
QEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgR29Ub0JhY2tGb3J3
YXJkSXRlbSh1aW50NjRfdCBiYWNrRm9yd2FyZEl0ZW1JRCkKICAgICBUcnlSZXN0b3JlU2Nyb2xs
UG9zaXRpb24oKQogCi0gICAgTG9hZFVSTChXVEY6OlN0cmluZyB1cmwsIFdlYktpdDo6U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlIHNhbmRib3hFeHRlbnNpb25IYW5kbGUsIFdlYktpdDo6V2ViQ29u
dGV4dFVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBMb2FkVVJMKFN0
cmluZyB1cmwsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNhbmRib3hFeHRlbnNp
b25IYW5kbGUsIFdlYktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkg
VmFyaWFkaWMKICAgICBMb2FkVVJMUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVx
dWVzdCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhh
bmRsZSwgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJp
YWRpYwotICAgIExvYWREYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV1RGOjpTdHJp
bmcgTUlNRVR5cGUsIFdURjo6U3RyaW5nIGVuY29kaW5nLCBXVEY6OlN0cmluZyBiYXNlVVJMLCBX
ZWJLaXQ6OldlYkNvbnRleHRVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCi0g
ICAgTG9hZEhUTUxTdHJpbmcoV1RGOjpTdHJpbmcgaHRtbFN0cmluZywgV1RGOjpTdHJpbmcgYmFz
ZVVSTCwgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJp
YWRpYwotICAgIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKFdURjo6U3RyaW5nIGh0bWxTdHJpbmcs
IFdURjo6U3RyaW5nIGJhc2VVUkwsIFdURjo6U3RyaW5nIHVucmVhY2hhYmxlVVJMLCBXZWJLaXQ6
OldlYkNvbnRleHRVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCi0gICAgTG9h
ZFBsYWluVGV4dFN0cmluZyhXVEY6OlN0cmluZyBzdHJpbmcsIFdlYktpdDo6V2ViQ29udGV4dFVz
ZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBMb2FkRGF0YShDb3JlSVBD
OjpEYXRhUmVmZXJlbmNlIGRhdGEsIFN0cmluZyBNSU1FVHlwZSwgU3RyaW5nIGVuY29kaW5nLCBT
dHJpbmcgYmFzZVVSTCwgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJE
YXRhKSBWYXJpYWRpYworICAgIExvYWRIVE1MU3RyaW5nKFN0cmluZyBodG1sU3RyaW5nLCBTdHJp
bmcgYmFzZVVSTCwgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRh
KSBWYXJpYWRpYworICAgIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKFN0cmluZyBodG1sU3RyaW5n
LCBTdHJpbmcgYmFzZVVSTCwgU3RyaW5nIHVucmVhY2hhYmxlVVJMLCBXZWJLaXQ6OldlYkNvbnRl
eHRVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgTG9hZFBsYWluVGV4
dFN0cmluZyhTdHJpbmcgc3RyaW5nLCBXZWJLaXQ6OldlYkNvbnRleHRVc2VyTWVzc2FnZUVuY29k
ZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgTG9hZFdlYkFyY2hpdmVEYXRhKENvcmVJUEM6OkRh
dGFSZWZlcmVuY2Ugd2ViQXJjaGl2ZURhdGEsIFdlYktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdl
RW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKIAotICAgIExpbmtDbGlja2VkKFdURjo6U3RyaW5n
IHVybCwgV2ViS2l0OjpXZWJNb3VzZUV2ZW50IGV2ZW50KQorICAgIExpbmtDbGlja2VkKFN0cmlu
ZyB1cmwsIFdlYktpdDo6V2ViTW91c2VFdmVudCBldmVudCkKIAogICAgIFJlbG9hZChib29sIHJl
bG9hZEZyb21PcmlnaW4sIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNhbmRib3hF
eHRlbnNpb25IYW5kbGUpCiAgICAgU3RvcExvYWRpbmcoKQpAQCAtOTAsMTMgKzkwLDEzIEBAIG1l
c3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIEdldENvbnRlbnRzQXNNSFRN
TERhdGEodWludDY0X3QgY2FsbGJhY2tJRCwgYm9vbCB1c2VCaW5hcnlFbmNvZGluZykKICNlbmRp
ZgogICAgIEdldE1haW5SZXNvdXJjZURhdGFPZkZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2
NF90IGNhbGxiYWNrSUQpCi0gICAgR2V0UmVzb3VyY2VEYXRhRnJvbUZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIFdURjo6U3RyaW5nIHJlc291cmNlVVJMLCB1aW50NjRfdCBjYWxsYmFja0lEKQorICAg
IEdldFJlc291cmNlRGF0YUZyb21GcmFtZSh1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcgcmVzb3Vy
Y2VVUkwsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgR2V0UmVuZGVyVHJlZUV4dGVybmFsUmVw
cmVzZW50YXRpb24odWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBHZXRTZWxlY3Rpb25PckNvbnRl
bnRzQXNTdHJpbmcodWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBHZXRTZWxlY3Rpb25Bc1dlYkFy
Y2hpdmVEYXRhKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgR2V0U291cmNlRm9yRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgdWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBHZXRXZWJBcmNoaXZlT2ZG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBjYWxsYmFja0lEKQotICAgIFJ1bkphdmFT
Y3JpcHRJbk1haW5GcmFtZShXVEY6OlN0cmluZyBzY3JpcHQsIHVpbnQ2NF90IGNhbGxiYWNrSUQp
CisgICAgUnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lKFN0cmluZyBzY3JpcHQsIHVpbnQ2NF90IGNh
bGxiYWNrSUQpCiAgICAgRm9yY2VSZXBhaW50KHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAKICNpZiBQ
TEFURk9STShNQUMpCkBAIC0xMDYsOCArMTA2LDggQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdh
Y3lSZWNlaXZlciB7CiAKICAgICBQcmVmZXJlbmNlc0RpZENoYW5nZShXZWJLaXQ6OldlYlByZWZl
cmVuY2VzU3RvcmUgc3RvcmUpCiAKLSAgICBTZXRVc2VyQWdlbnQoV1RGOjpTdHJpbmcgdXNlckFn
ZW50KQotICAgIFNldEN1c3RvbVRleHRFbmNvZGluZ05hbWUoV1RGOjpTdHJpbmcgZW5jb2RpbmdO
YW1lKQorICAgIFNldFVzZXJBZ2VudChTdHJpbmcgdXNlckFnZW50KQorICAgIFNldEN1c3RvbVRl
eHRFbmNvZGluZ05hbWUoU3RyaW5nIGVuY29kaW5nTmFtZSkKIAogICAgIFN1c3BlbmRBY3RpdmVE
T01PYmplY3RzQW5kQW5pbWF0aW9ucygpCiAgICAgUmVzdW1lQWN0aXZlRE9NT2JqZWN0c0FuZEFu
aW1hdGlvbnMoKQpAQCAtMTE1LDggKzExNSw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5
UmVjZWl2ZXIgewogICAgIENsb3NlKCkKICAgICBUcnlDbG9zZSgpCiAKLSAgICBWYWxpZGF0ZUNv
bW1hbmQoV1RGOjpTdHJpbmcgbmFtZSwgdWludDY0X3QgY2FsbGJhY2tJRCkKLSAgICBFeGVjdXRl
RWRpdENvbW1hbmQoV1RGOjpTdHJpbmcgbmFtZSkKKyAgICBWYWxpZGF0ZUNvbW1hbmQoU3RyaW5n
IG5hbWUsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCisgICAgRXhlY3V0ZUVkaXRDb21tYW5kKFN0cmlu
ZyBuYW1lKQogCiAgICAgRGlkUmVtb3ZlRWRpdENvbW1hbmQodWludDY0X3QgY29tbWFuZElEKQog
ICAgIFJlYXBwbHlFZGl0Q29tbWFuZCh1aW50NjRfdCBjb21tYW5kSUQpCkBAIC0xMzksMjIgKzEz
OSwyMiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRQYWdl
TGVuZ3RoKGRvdWJsZSBwYWdlTGVuZ3RoKQogICAgIFNldEdhcEJldHdlZW5QYWdlcyhkb3VibGUg
Z2FwKQogCi0gICAgUG9zdEluamVjdGVkQnVuZGxlTWVzc2FnZShXVEY6OlN0cmluZyBtZXNzYWdl
TmFtZSwgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNvZGVyIG1lc3NhZ2VCb2R5KSBW
YXJpYWRpYworICAgIFBvc3RJbmplY3RlZEJ1bmRsZU1lc3NhZ2UoU3RyaW5nIG1lc3NhZ2VOYW1l
LCBXZWJLaXQ6OldlYkNvbnRleHRVc2VyTWVzc2FnZUVuY29kZXIgbWVzc2FnZUJvZHkpIFZhcmlh
ZGljCiAKICAgICAjIEZpbmQuCi0gICAgRmluZFN0cmluZyhXVEY6OlN0cmluZyBzdHJpbmcsIHVp
bnQzMl90IGZpbmRPcHRpb25zLCB1bnNpZ25lZCBtYXhNYXRjaENvdW50KQotICAgIEZpbmRTdHJp
bmdNYXRjaGVzKFdURjo6U3RyaW5nIHN0cmluZywgdWludDMyX3QgZmluZE9wdGlvbnMsIHVuc2ln
bmVkIG1heE1hdGNoQ291bnQpCisgICAgRmluZFN0cmluZyhTdHJpbmcgc3RyaW5nLCB1aW50MzJf
dCBmaW5kT3B0aW9ucywgdW5zaWduZWQgbWF4TWF0Y2hDb3VudCkKKyAgICBGaW5kU3RyaW5nTWF0
Y2hlcyhTdHJpbmcgc3RyaW5nLCB1aW50MzJfdCBmaW5kT3B0aW9ucywgdW5zaWduZWQgbWF4TWF0
Y2hDb3VudCkKICAgICBHZXRJbWFnZUZvckZpbmRNYXRjaCh1aW50MzJfdCBtYXRjaEluZGV4KQog
ICAgIFNlbGVjdEZpbmRNYXRjaCh1aW50MzJfdCBtYXRjaEluZGV4KQogICAgIEhpZGVGaW5kVUko
KQotICAgIENvdW50U3RyaW5nTWF0Y2hlcyhXVEY6OlN0cmluZyBzdHJpbmcsIHVpbnQzMl90IGZp
bmRPcHRpb25zLCB1bnNpZ25lZCBtYXhNYXRjaENvdW50KQorICAgIENvdW50U3RyaW5nTWF0Y2hl
cyhTdHJpbmcgc3RyaW5nLCB1aW50MzJfdCBmaW5kT3B0aW9ucywgdW5zaWduZWQgbWF4TWF0Y2hD
b3VudCkKIAogICAgICMgRHJhZyBhbmQgZHJvcC4KICNpZiBQTEFURk9STShHVEspICYmIEVOQUJM
RShEUkFHX1NVUFBPUlQpCiAgICAgUGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKHVpbnQ2NF90
IGFjdGlvbiwgV2ViQ29yZTo6RHJhZ0RhdGEgZHJhZ0RhdGEpCiAjZW5kaWYKICNpZiAhUExBVEZP
Uk0oR1RLKSAmJiBFTkFCTEUoRFJBR19TVVBQT1JUKQotICAgIFBlcmZvcm1EcmFnQ29udHJvbGxl
ckFjdGlvbih1aW50NjRfdCBhY3Rpb24sIFdlYkNvcmU6OkludFBvaW50IGNsaWVudFBvc2l0aW9u
LCBXZWJDb3JlOjpJbnRQb2ludCBnbG9iYWxQb3NpdGlvbiwgdWludDY0X3QgZHJhZ2dpbmdTb3Vy
Y2VPcGVyYXRpb25NYXNrLCBXVEY6OlN0cmluZyBkcmFnU3RvcmFnZU5hbWUsIHVpbnQzMl90IGZs
YWdzLCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBzYW5kYm94RXh0ZW5zaW9uSGFu
ZGxlLCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5IHNhbmRib3hFeHRlbnNp
b25zRm9yVXBsb2FkKQorICAgIFBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbih1aW50NjRfdCBh
Y3Rpb24sIFdlYkNvcmU6OkludFBvaW50IGNsaWVudFBvc2l0aW9uLCBXZWJDb3JlOjpJbnRQb2lu
dCBnbG9iYWxQb3NpdGlvbiwgdWludDY0X3QgZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrLCBT
dHJpbmcgZHJhZ1N0b3JhZ2VOYW1lLCB1aW50MzJfdCBmbGFncywgV2ViS2l0OjpTYW5kYm94RXh0
ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgV2ViS2l0OjpTYW5kYm94RXh0
ZW5zaW9uOjpIYW5kbGVBcnJheSBzYW5kYm94RXh0ZW5zaW9uc0ZvclVwbG9hZCkKICNlbmRpZgog
I2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgRHJhZ0VuZGVkKFdlYkNvcmU6OkludFBvaW50
IGNsaWVudFBvc2l0aW9uLCBXZWJDb3JlOjpJbnRQb2ludCBnbG9iYWxQb3NpdGlvbiwgdWludDY0
X3Qgb3BlcmF0aW9uKQpAQCAtMTczLDcgKzE3Myw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVn
YWN5UmVjZWl2ZXIgewogI2VuZGlmCiAKICAgICAjIE9wZW4gcGFuZWwuCi0gICAgRGlkQ2hvb3Nl
RmlsZXNGb3JPcGVuUGFuZWwoVmVjdG9yPFdURjo6U3RyaW5nPiBmaWxlVVJMcykKKyAgICBEaWRD
aG9vc2VGaWxlc0Zvck9wZW5QYW5lbChWZWN0b3I8U3RyaW5nPiBmaWxlVVJMcykKICAgICBEaWRD
YW5jZWxGb3JPcGVuUGFuZWwoKQogI2lmIEVOQUJMRShXRUJfUFJPQ0VTU19TQU5EQk9YKQogICAg
IEV4dGVuZFNhbmRib3hGb3JGaWxlRnJvbU9wZW5QYW5lbChXZWJLaXQ6OlNhbmRib3hFeHRlbnNp
b246OkhhbmRsZSBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlKQpAQCAtMTgxLDcgKzE4MSw3IEBAIG1l
c3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogCiAgICAgIyBTcGVsbGluZyBhbmQg
Z3JhbW1hci4KICAgICBBZHZhbmNlVG9OZXh0TWlzc3BlbGxpbmcoYm9vbCBzdGFydEJlZm9yZVNl
bGVjdGlvbikKLSAgICBDaGFuZ2VTcGVsbGluZ1RvV29yZChXVEY6OlN0cmluZyB3b3JkKQorICAg
IENoYW5nZVNwZWxsaW5nVG9Xb3JkKFN0cmluZyB3b3JkKQogICAgIERpZEZpbmlzaENoZWNraW5n
VGV4dCh1aW50NjRfdCByZXF1ZXN0SUQsIFZlY3RvcjxXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1
bHQ+IHJlc3VsdCkKICAgICBEaWRDYW5jZWxDaGVja2luZ1RleHQodWludDY0X3QgcmVxdWVzdElE
KQogI2lmIFVTRShBUFBLSVQpCkBAIC0yMjksNyArMjI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFn
ZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0Q2FuUnVuTW9kYWwoYm9vbCBjYW5SdW5Nb2RhbCkK
IAogI2lmIFBMQVRGT1JNKEVGTCkKLSAgICBTZXRUaGVtZVBhdGgoV1RGOjpTdHJpbmcgdGhlbWVQ
YXRoKQorICAgIFNldFRoZW1lUGF0aChTdHJpbmcgdGhlbWVQYXRoKQogI2VuZGlmCiAKICNpZiBV
U0UoVElMRURfQkFDS0lOR19TVE9SRSkKQEAgLTIzNyw4ICsyMzcsOCBAQCBtZXNzYWdlcyAtPiBX
ZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oR1RLKQotICAg
IFNldENvbXBvc2l0aW9uKFdURjo6U3RyaW5nIHRleHQsIFZlY3RvcjxXZWJDb3JlOjpDb21wb3Np
dGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQ2
NF90IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRf
dCByZXBsYWNlbWVudFJhbmdlRW5kKQotICAgIENvbmZpcm1Db21wb3NpdGlvbihXVEY6OlN0cmlu
ZyB0ZXh0LCBpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCBpbnQ2NF90IHNlbGVjdGlvbkxlbmd0aCkK
KyAgICBTZXRDb21wb3NpdGlvbihTdHJpbmcgdGV4dCwgVmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0
aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0
X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90
IHJlcGxhY2VtZW50UmFuZ2VFbmQpCisgICAgQ29uZmlybUNvbXBvc2l0aW9uKFN0cmluZyB0ZXh0
LCBpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCBpbnQ2NF90IHNlbGVjdGlvbkxlbmd0aCkKICAgICBD
YW5jZWxDb21wb3NpdGlvbigpCiAjZW5kaWYKIApAQCAtMjUwLDE1ICsyNTAsMTUgQEAgbWVzc2Fn
ZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgVmlld0V4cG9zZWRSZWN0Q2hhbmdl
ZChXZWJDb3JlOjpGbG9hdFJlY3QgZXhwb3NlZFJlY3QsIGJvb2wgY2xpcHNUb0V4cG9zZWRSZWN0
KQogICAgIFNldE1haW5GcmFtZUlzU2Nyb2xsYWJsZShib29sIGlzU2Nyb2xsYWJsZSkKICAgICBS
ZWdpc3RlclVJUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbnMoQ29yZUlQQzo6RGF0YVJlZmVyZW5j
ZSBlbGVtZW5Ub2tlbiwgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSB3aW5kb3dUb2tlbikKLSAgICBH
ZXRTdHJpbmdTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkKCkgLT4gKFdURjo6U3RyaW5nIHN0cmluZ1Zh
bHVlKQotICAgIEdldERhdGFTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkKFdURjo6U3RyaW5nIHBhc3Rl
Ym9hcmRUeXBlKSAtPiAoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGUsIHVpbnQ2
NF90IHNpemUpCi0gICAgUmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkKFdURjo6U3RyaW5nIHBh
c3RlYm9hcmROYW1lKSAtPiAoYm9vbCByZXN1bHQpCisgICAgR2V0U3RyaW5nU2VsZWN0aW9uRm9y
UGFzdGVib2FyZCgpIC0+IChTdHJpbmcgc3RyaW5nVmFsdWUpCisgICAgR2V0RGF0YVNlbGVjdGlv
bkZvclBhc3RlYm9hcmQoU3RyaW5nIHBhc3RlYm9hcmRUeXBlKSAtPiAoV2ViS2l0OjpTaGFyZWRN
ZW1vcnk6OkhhbmRsZSBoYW5kbGUsIHVpbnQ2NF90IHNpemUpCisgICAgUmVhZFNlbGVjdGlvbkZy
b21QYXN0ZWJvYXJkKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSkgLT4gKGJvb2wgcmVzdWx0KQogCiAg
ICAgIyBUZXh0IGlucHV0LgotICAgIFNldENvbXBvc2l0aW9uKFdURjo6U3RyaW5nIHRleHQsIFZl
Y3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWludDY0X3Qg
c2VsZWN0aW9uU3RhcnQsIHVpbnQ2NF90IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVwbGFjZW1l
bnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKSAtPiAoV2ViS2l0OjpF
ZGl0b3JTdGF0ZSBuZXdTdGF0ZSkKKyAgICBTZXRDb21wb3NpdGlvbihTdHJpbmcgdGV4dCwgVmVj
dG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRfdCBz
ZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNlbWVu
dFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQpIC0+IChXZWJLaXQ6OkVk
aXRvclN0YXRlIG5ld1N0YXRlKQogICAgIENvbmZpcm1Db21wb3NpdGlvbigpIC0+IChXZWJLaXQ6
OkVkaXRvclN0YXRlIG5ld1N0YXRlKQogICAgIENhbmNlbENvbXBvc2l0aW9uKCkgLT4gKFdlYktp
dDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUpCi0gICAgSW5zZXJ0VGV4dChXVEY6OlN0cmluZyB0ZXh0
LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFu
Z2VFbmQpIC0+IChib29sIGhhbmRsZWQsIFdlYktpdDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUpCisg
ICAgSW5zZXJ0VGV4dChTdHJpbmcgdGV4dCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0
LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKSAtPiAoYm9vbCBoYW5kbGVkLCBXZWJLaXQ6
OkVkaXRvclN0YXRlIG5ld1N0YXRlKQogICAgIEdldE1hcmtlZFJhbmdlKCkgLT4gKHVpbnQ2NF90
IGxvY2F0aW9uLCB1aW50NjRfdCBsZW5ndGgpCiAgICAgR2V0U2VsZWN0ZWRSYW5nZSgpIC0+ICh1
aW50NjRfdCBsb2NhdGlvbiwgdWludDY0X3QgbGVuZ3RoKQogICAgIEdldEF0dHJpYnV0ZWRTdWJz
dHJpbmdGcm9tUmFuZ2UodWludDY0X3QgbG9jYXRpb24sIHVpbnQ2NF90IGxlbmd0aCkgLT4gKFdl
YktpdDo6QXR0cmlidXRlZFN0cmluZyByZXN1bHQpCkBAIC0yNjcsMTUgKzI2NywxNSBAQCBtZXNz
YWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBFeGVjdXRlS2V5cHJlc3NDb21t
YW5kcyhWZWN0b3I8V2ViQ29yZTo6S2V5cHJlc3NDb21tYW5kPiBzYXZlZENvbW1hbmRzKSAtPiAo
Ym9vbCBoYW5kbGVkLCBXZWJLaXQ6OkVkaXRvclN0YXRlIG5ld1N0YXRlKQogICAgIFNob3VsZERl
bGF5V2luZG93T3JkZXJpbmdFdmVudChXZWJLaXQ6OldlYk1vdXNlRXZlbnQgZXZlbnQpIC0+IChi
b29sIHJlc3VsdCkKICAgICBBY2NlcHRzRmlyc3RNb3VzZShpbnQgZXZlbnROdW1iZXIsIFdlYktp
dDo6V2ViTW91c2VFdmVudCBldmVudCkgLT4gKGJvb2wgcmVzdWx0KQotICAgIEluc2VydERpY3Rh
dGVkVGV4dChXVEY6OlN0cmluZyB0ZXh0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQs
IHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQsIFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25B
bHRlcm5hdGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzKSAtPiAoYm9vbCBoYW5kbGVkLCBXZWJL
aXQ6OkVkaXRvclN0YXRlIG5ld1N0YXRlKQorICAgIEluc2VydERpY3RhdGVkVGV4dChTdHJpbmcg
dGV4dCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVu
dFJhbmdlRW5kLCBWZWN0b3I8V2ViQ29yZTo6RGljdGF0aW9uQWx0ZXJuYXRpdmU+IGRpY3RhdGlv
bkFsdGVybmF0aXZlcykgLT4gKGJvb2wgaGFuZGxlZCwgV2ViS2l0OjpFZGl0b3JTdGF0ZSBuZXdT
dGF0ZSkKICNlbmRpZgogCiAgICAgU2V0TWluaW11bUxheW91dFNpemUoV2ViQ29yZTo6SW50U2l6
ZSBtaW5pbXVtTGF5b3V0U2l6ZSkKICAgICBTZXRBdXRvU2l6aW5nU2hvdWxkRXhwYW5kVG9WaWV3
SGVpZ2h0KGJvb2wgc2hvdWxkRXhwYW5kKQogCiAjaWYgUExBVEZPUk0oRUZMKQotICAgIENvbmZp
cm1Db21wb3NpdGlvbihXVEY6OlN0cmluZyBjb21wb3NpdGlvblN0cmluZykKLSAgICBTZXRDb21w
b3NpdGlvbihXVEY6OlN0cmluZyBjb21wb3NpdGlvblN0cmluZywgVmVjdG9yPFdlYkNvcmU6OkNv
bXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRfdCBjdXJzb3JQb3NpdGlvbikK
KyAgICBDb25maXJtQ29tcG9zaXRpb24oU3RyaW5nIGNvbXBvc2l0aW9uU3RyaW5nKQorICAgIFNl
dENvbXBvc2l0aW9uKFN0cmluZyBjb21wb3NpdGlvblN0cmluZywgVmVjdG9yPFdlYkNvcmU6OkNv
bXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRfdCBjdXJzb3JQb3NpdGlvbikK
ICAgICBDYW5jZWxDb21wb3NpdGlvbigpCiAjZW5kaWYKICNpZiBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4KaW5kZXggNTMyYjRjMi4uMDg2MDY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzUsMTcgKzM1LDE3IEBAIG1lc3Nh
Z2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgICMgR2xvYmFsIHByZWZlcmVu
Y2VzLgogICAgIFNldFNob3VsZFRyYWNrVmlzaXRlZExpbmtzKGJvb2wgc2hvdWxkVHJhY2tWaXNp
dGVkTGlua3MpCiAgICAgU2V0Q2FjaGVNb2RlbCh1aW50MzJfdCBjYWNoZU1vZGVsKQotICAgIFJl
Z2lzdGVyVVJMU2NoZW1lQXNFbXB0eURvY3VtZW50KFdURjo6U3RyaW5nIHNjaGVtZSkKLSAgICBS
ZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJlKFdURjo6U3RyaW5nIHNjaGVtZSkKLSAgICBTZXREb21h
aW5SZWxheGF0aW9uRm9yYmlkZGVuRm9yVVJMU2NoZW1lKFdURjo6U3RyaW5nIHNjaGVtZSkKLSAg
ICBSZWdpc3RlclVSTFNjaGVtZUFzTG9jYWwoV1RGOjpTdHJpbmcgc2NoZW1lKQotICAgIFJlZ2lz
dGVyVVJMU2NoZW1lQXNOb0FjY2VzcyhXVEY6OlN0cmluZyBzY2hlbWUpCi0gICAgUmVnaXN0ZXJV
UkxTY2hlbWVBc0Rpc3BsYXlJc29sYXRlZChXVEY6OlN0cmluZyBzY2hlbWUpCi0gICAgUmVnaXN0
ZXJVUkxTY2hlbWVBc0NPUlNFbmFibGVkKFdURjo6U3RyaW5nIHNjaGVtZSkKKyAgICBSZWdpc3Rl
clVSTFNjaGVtZUFzRW1wdHlEb2N1bWVudChTdHJpbmcgc2NoZW1lKQorICAgIFJlZ2lzdGVyVVJM
U2NoZW1lQXNTZWN1cmUoU3RyaW5nIHNjaGVtZSkKKyAgICBTZXREb21haW5SZWxheGF0aW9uRm9y
YmlkZGVuRm9yVVJMU2NoZW1lKFN0cmluZyBzY2hlbWUpCisgICAgUmVnaXN0ZXJVUkxTY2hlbWVB
c0xvY2FsKFN0cmluZyBzY2hlbWUpCisgICAgUmVnaXN0ZXJVUkxTY2hlbWVBc05vQWNjZXNzKFN0
cmluZyBzY2hlbWUpCisgICAgUmVnaXN0ZXJVUkxTY2hlbWVBc0Rpc3BsYXlJc29sYXRlZChTdHJp
bmcgc2NoZW1lKQorICAgIFJlZ2lzdGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChTdHJpbmcgc2No
ZW1lKQogICAgIFNldERlZmF1bHRSZXF1ZXN0VGltZW91dEludGVydmFsKGRvdWJsZSB0aW1lb3V0
SW50ZXJ2YWwpCiAgICAgU2V0QWx3YXlzVXNlc0NvbXBsZXhUZXh0Q29kZVBhdGgoYm9vbCBhbHdh
eXNVc2VDb21wbGV4VGV4dCkKICAgICBTZXRTaG91bGRVc2VGb250U21vb3RoaW5nKGJvb2wgdXNl
Rm9udFNtb290aGluZykKLSAgICBVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdlZChWZWN0b3I8
V1RGOjpTdHJpbmc+IGxhbmd1YWdlcykKKyAgICBVc2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdl
ZChWZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXMpCiAgICAgRnVsbEtleWJvYXJkQWNjZXNzTW9kZUNo
YW5nZWQoYm9vbCBmdWxsS2V5Ym9hcmRBY2Nlc3NFbmFibGVkKQogI2lmIFVTRShTT1VQKQogICAg
IFNldElnbm9yZVRMU0Vycm9ycyhib29sIGlnbm9yZVRMU0Vycm9ycykKQEAgLTU5LDcgKzU5LDcg
QEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgRGlkQWRkUGx1
Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaCh1aW50MzJfdCBoYXNoLCBkb3VibGUgZXhwaXJhdGlvblRp
bWUpCiAgICAgUmVzZXRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoZXMoSGFzaE1hcDx1aW50MzJf
dCxkb3VibGU+IGhhc2hlcykKIAotICAgIHZvaWQgU3RhcnRNZW1vcnlTYW1wbGVyKFdlYktpdDo6
U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNhbXBsZUxvZ0ZpbGVIYW5kbGUsIFdURjo6U3RyaW5n
IHNhbXBsZUxvZ0ZpbGVQYXRoLCBkb3VibGUgaW50ZXJ2YWwpOworICAgIHZvaWQgU3RhcnRNZW1v
cnlTYW1wbGVyKFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNhbXBsZUxvZ0ZpbGVI
YW5kbGUsIFN0cmluZyBzYW1wbGVMb2dGaWxlUGF0aCwgZG91YmxlIGludGVydmFsKTsKICAgICB2
b2lkIFN0b3BNZW1vcnlTYW1wbGVyKCk7CiAKICAgICAjIERvd25sb2Fkcy4gVGhpcyBzaG91bGQg
cmVhbGx5IGJlIGluIGEgRG93bmxvYWQubWVzc2FnZXMuaW4sIGJ1dCBpdCBzZWVtZWQgdW5uZWNl
c3NhcnkgdG8gY3JlYXRlIGEgbmV3IGZpbGUganVzdCBmb3IKQEAgLTg0LDYgKzg0LDYgQEAgbWVz
c2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAjZW5kaWYKIAogI2lmICFFTkFC
TEUoTkVUV09SS19QUk9DRVNTKSAmJiBVU0UoU09VUCkKLSAgICBBbGxvd1NwZWNpZmljSFRUUFND
ZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZp
Y2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKKyAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0
ZUZvckhvc3QoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgU3Ry
aW5nIGhvc3QpCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4
IGIxNTg4MDUuLjJhMDdlZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
c291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5tZXNzYWdlcy5pbgpAQCAt
MjEsOCArMjEsOCBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBXZWJTb3VwUmVxdWVz
dE1hbmFnZXIgewotICAgIFJlZ2lzdGVyVVJJU2NoZW1lKFdURjo6U3RyaW5nIHVyaVNjaGVtZSk7
Ci0gICAgRGlkSGFuZGxlVVJJUmVxdWVzdChDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIHJlcXVlc3RE
YXRhLCB1aW50NjRfdCBjb250ZW50TGVuZ3RoLCBXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDY0
X3QgcmVxdWVzdElEKTsKKyAgICBSZWdpc3RlclVSSVNjaGVtZShTdHJpbmcgdXJpU2NoZW1lKTsK
KyAgICBEaWRIYW5kbGVVUklSZXF1ZXN0KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgcmVxdWVzdERh
dGEsIHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgsIFN0cmluZyBtaW1lVHlwZSwgdWludDY0X3QgcmVx
dWVzdElEKTsKICAgICBEaWRSZWNlaXZlVVJJUmVxdWVzdERhdGEoQ29yZUlQQzo6RGF0YVJlZmVy
ZW5jZSByZXF1ZXN0RGF0YSwgdWludDY0X3QgcmVxdWVzdElEKTsKICAgICBEaWRGYWlsVVJJUmVx
dWVzdChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCB1aW50NjRfdCByZXF1ZXN0SUQpOwog
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218065</attachid>
            <date>2013-11-29 07:22:09 -0800</date>
            <delta_ts>2013-12-02 00:25:41 -0800</delta_ts>
            <desc>Removes WTF prefix from messages.in files, update.</desc>
            <filename>messages_in_wtf_prefix_removal.patch</filename>
            <type>text/plain</type>
            <size>76671</size>
            <attacher name="Tamas Gergely">tgergely.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4MjM1YmU0Li42ZTkzOWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkg
QEAKKzIwMTMtMTEtMjkgIFRhbWFzIEdlcmdlbHkgIDx0Z2VyZ2VseS51LXN6ZWdlZEBwYXJ0bmVy
LnNhbXN1bmcuY29tPgorCisgICAgICAgIFJlbW92ZSBXVEY6OiBwcmVmaXggZnJvbSB0eXBlcyBp
biBtZXNzYWdlcy5pbiBmaWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoZSBXVEY6OiBwcmVmaXhlcyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBtZXNz
YWdlcy5pbiBmaWxlcywgYW5kIHRoZQorICAgICAgICBtZXNzYWdlcy5weSBub3cgaGFuZGxlcyB1
bnByZWZpeGVkIG5vbi10ZW1wbGF0ZSBXVEYgY2xhc3NlcyAob25seQorICAgICAgICB0aGUgV1RG
OjpTdHJpbmcgY2xhc3MgaXMgdXNlZCBjdXJyZW50bHkpLiBUZXN0cyBhcmUgYWxzbyB1cGRhdGVk
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
bWVzc2FnZXMuaW46CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJv
eHkubWVzc2FnZXMuaW46CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weToKKyAgICAg
ICAgKGZvcndhcmRfZGVjbGFyYXRpb25zX2FuZF9oZWFkZXJzKToKKyAgICAgICAgKGNsYXNzX3Rl
bXBsYXRlX2hlYWRlcnMpOgorICAgICAgICAoYXJndW1lbnRfY29kZXJfaGVhZGVyc19mb3JfdHlw
ZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzX3VuaXR0ZXN0LnB5OgorICAg
ICAgICAoc3RkKToKKyAgICAgICAgKiBTaGFyZWQvTmV0d29yay9DdXN0b21Qcm90b2NvbHMvQ3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWRQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNz
L1N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNz
L1dlYkNvbnRleHQubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvb2tpZU1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRGF0YWJhc2VN
YW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYkljb25EYXRh
YmFzZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJv
eHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFdlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5hZ2Vy
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNh
Y2hlTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFdlYlByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlQXJlYU1hcC5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRhdGFiYXNlTWFuYWdlci5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLm1lc3NhZ2VzLmluOgorCiAyMDEzLTEx
LTI5ICBIdW5zZW9wIEplb25nICA8aHM4NS5qZW9uZ0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBb
RUZMXSB2aWV3cG9ydCBtdXN0IGJlIHNhbWUgd2l0aCB0aGUgc2l6ZSBvZiB3ZWJ2aWV3CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGIyY2UxYmUuLjdl
ODkwMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBA
IC0zNSwxMiArMzUsMTIgQEAgbWVzc2FnZXMgLT4gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFN0YXJ0RG93bmxvYWQoYm9vbCBwcml2YXRlQnJvd3Np
bmdFbmFibGVkLCB1aW50NjRfdCBkb3dubG9hZElELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qg
cmVxdWVzdCkKICAgICBDb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQodWludDY0X3Qg
bWFpblJlc291cmNlTG9hZElkZW50aWZpZXIsIHVpbnQ2NF90IGRvd25sb2FkSUQsIFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3Bv
bnNlKQogCi0gICAgQ29va2llc0ZvckRPTShib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIFdl
YkNvcmU6OlVSTCBmaXJzdFBhcnR5LCBXZWJDb3JlOjpVUkwgdXJsKSAtPiAoV1RGOjpTdHJpbmcg
cmVzdWx0KQotICAgIFNldENvb2tpZXNGcm9tRE9NKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCwgV2ViQ29yZTo6VVJMIGZpcnN0UGFydHksIFdlYkNvcmU6OlVSTCB1cmwsIFdURjo6U3RyaW5n
IGNvb2tpZVN0cmluZykKKyAgICBDb29raWVzRm9yRE9NKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZCwgV2ViQ29yZTo6VVJMIGZpcnN0UGFydHksIFdlYkNvcmU6OlVSTCB1cmwpIC0+IChTdHJp
bmcgcmVzdWx0KQorICAgIFNldENvb2tpZXNGcm9tRE9NKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5h
YmxlZCwgV2ViQ29yZTo6VVJMIGZpcnN0UGFydHksIFdlYkNvcmU6OlVSTCB1cmwsIFN0cmluZyBj
b29raWVTdHJpbmcpCiAgICAgQ29va2llc0VuYWJsZWQoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFi
bGVkLCBXZWJDb3JlOjpVUkwgZmlyc3RQYXJ0eSwgV2ViQ29yZTo6VVJMIHVybCkgLT4gKGJvb2wg
ZW5hYmxlZCkKLSAgICBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZShib29sIHByaXZhdGVC
cm93c2luZ0VuYWJsZWQsIFdlYkNvcmU6OlVSTCBmaXJzdFBhcnR5LCBXZWJDb3JlOjpVUkwgdXJs
KSAtPiAoV1RGOjpTdHJpbmcgcmVzdWx0KQorICAgIENvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZh
bHVlKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgV2ViQ29yZTo6VVJMIGZpcnN0UGFydHks
IFdlYkNvcmU6OlVSTCB1cmwpIC0+IChTdHJpbmcgcmVzdWx0KQogICAgIEdldFJhd0Nvb2tpZXMo
Ym9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBXZWJDb3JlOjpVUkwgZmlyc3RQYXJ0eSwgV2Vi
Q29yZTo6VVJMIHVybCkgLT4gKFZlY3RvcjxXZWJDb3JlOjpDb29raWU+IGNvb2tpZXMpCi0gICAg
RGVsZXRlQ29va2llKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgV2ViQ29yZTo6VVJMIHVy
bCwgV1RGOjpTdHJpbmcgY29va2llTmFtZSkKKyAgICBEZWxldGVDb29raWUoYm9vbCBwcml2YXRl
QnJvd3NpbmdFbmFibGVkLCBXZWJDb3JlOjpVUkwgdXJsLCBTdHJpbmcgY29va2llTmFtZSkKIAog
ICAgIFJlZ2lzdGVyQmxvYlVSTChXZWJDb3JlOjpVUkwgdXJsLCBXZWJLaXQ6OkJsb2JSZWdpc3Ry
YXRpb25EYXRhIGRhdGEpCiAgICAgUmVnaXN0ZXJCbG9iVVJMRnJvbVVSTChXZWJDb3JlOjpVUkwg
dXJsLCBXZWJDb3JlOjpVUkwgc3JjVVJMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBmOTY0YTdmLi4x
MmM3Mjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNzYWdlcyAtPiBO
ZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1cHByZXNzaW9u
RW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNIVFRQU0NlcnRp
ZmljYXRlRm9ySG9zdChXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpT
dHJpbmcgaG9zdCkKKyAgICBBbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2Vi
S2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFN0cmluZyBob3N0KQogICAgIAogICAg
IEdldE5ldHdvcmtQcm9jZXNzU3RhdGlzdGljcyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVy
UHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNv
bnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA1YzkwODc2Li5kZDc2M2UwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRy
b2xsZXJQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzMsMTAgKzMzLDEwIEBAIG1lc3NhZ2VzIC0+IFBs
dWdpbkNvbnRyb2xsZXJQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAgICAgRnJhbWVEaWRGYWlsKHVp
bnQ2NF90IHJlcXVlc3RJRCwgYm9vbCB3YXNDYW5jZWxsZWQpCiAKICAgICAjIFNlbnQgd2hlbiBK
YXZhU2NyaXB0IHRoYXQgdGhlIHBsdWctaW4gYXNrZWQgdG8gYmUgZXZhbHVhdGVkIGhhcyBiZWVu
IGV2YWx1YXRlZC4KLSAgICBEaWRFdmFsdWF0ZUphdmFTY3JpcHQodWludDY0X3QgcmVxdWVzdElE
LCBXVEY6OlN0cmluZyByZXN1bHQpCisgICAgRGlkRXZhbHVhdGVKYXZhU2NyaXB0KHVpbnQ2NF90
IHJlcXVlc3RJRCwgU3RyaW5nIHJlc3VsdCkKIAogICAgICMgU2VudCB3aGVuIHRoZSBwbHVnLWlu
IHJlY2VpdmVzIGEgcmVzcG9uc2UgZm9yIGEgc3RyZWFtLgotICAgIFN0cmVhbURpZFJlY2VpdmVS
ZXNwb25zZSh1aW50NjRfdCBzdHJlYW1JRCwgV1RGOjpTdHJpbmcgcmVzcG9uc2VVUkxTdHJpbmcs
IHVpbnQzMl90IHN0cmVhbUxlbmd0aCwgdWludDMyX3QgbGFzdE1vZGlmaWVkVGltZSwgV1RGOjpT
dHJpbmcgbWltZVR5cGUsIFdURjo6U3RyaW5nIGhlYWRlcnMpCisgICAgU3RyZWFtRGlkUmVjZWl2
ZVJlc3BvbnNlKHVpbnQ2NF90IHN0cmVhbUlELCBTdHJpbmcgcmVzcG9uc2VVUkxTdHJpbmcsIHVp
bnQzMl90IHN0cmVhbUxlbmd0aCwgdWludDMyX3QgbGFzdE1vZGlmaWVkVGltZSwgU3RyaW5nIG1p
bWVUeXBlLCBTdHJpbmcgaGVhZGVycykKIAogICAgICMgU2VudCB3aGVuIHRoZSBwbHVnLWluIHJl
Y2VpdmVzIGRhdGEgZm9yIGEgc3RyZWFtLgogICAgIFN0cmVhbURpZFJlY2VpdmVEYXRhKHVpbnQ2
NF90IHN0cmVhbUlELCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEpCkBAIC00OCw3ICs0OCw3
IEBAIG1lc3NhZ2VzIC0+IFBsdWdpbkNvbnRyb2xsZXJQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAg
ICAgU3RyZWFtRGlkRmFpbCh1aW50NjRfdCBzdHJlYW1JRCwgYm9vbCB3YXNDYW5jZWxsZWQpCiAK
ICAgICAjIFNlbnQgd2hlbiB0aGUgcGx1Zy1pbiByZWNlaXZlcyBhIHJlc3BvbnNlIGZvciB0aGUg
bWFudWFsIHN0cmVhbS4KLSAgICBNYW51YWxTdHJlYW1EaWRSZWNlaXZlUmVzcG9uc2UoV1RGOjpT
dHJpbmcgcmVzcG9uc2VVUkxTdHJpbmcsIHVpbnQzMl90IHN0cmVhbUxlbmd0aCwgdWludDMyX3Qg
bGFzdE1vZGlmaWVkVGltZSwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIFdURjo6U3RyaW5nIGhlYWRl
cnMpCisgICAgTWFudWFsU3RyZWFtRGlkUmVjZWl2ZVJlc3BvbnNlKFN0cmluZyByZXNwb25zZVVS
TFN0cmluZywgdWludDMyX3Qgc3RyZWFtTGVuZ3RoLCB1aW50MzJfdCBsYXN0TW9kaWZpZWRUaW1l
LCBTdHJpbmcgbWltZVR5cGUsIFN0cmluZyBoZWFkZXJzKQogCiAgICAgIyBTZW50IHdoZW4gdGhl
IHBsdWctaW4gcmVjZWl2ZXMgZGF0YSBmb3IgdGhlIG1hbnVhbCBzdHJlYW0uCiAgICAgTWFudWFs
U3RyZWFtRGlkUmVjZWl2ZURhdGEoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKQpAQCAtNzUs
MTAgKzc1LDEwIEBAIG1lc3NhZ2VzIC0+IFBsdWdpbkNvbnRyb2xsZXJQcm94eSBMZWdhY3lSZWNl
aXZlciB7CiAgICAgSGFuZGxlS2V5Ym9hcmRFdmVudChXZWJLaXQ6OldlYktleWJvYXJkRXZlbnQg
a2V5Ym9hcmRFdmVudCkgLT4gKGJvb2wgaGFuZGxlZCkKICAgICAKICAgICAjIFNlbnQgd2hlbiBh
biBlZGl0aW5nIGNvbW1hbmQgc2hvdWxkIGJlIHByb2Nlc3NlZC4KLSAgICBIYW5kbGVFZGl0aW5n
Q29tbWFuZChXVEY6OlN0cmluZyBjb21tYW5kTmFtZSwgV1RGOjpTdHJpbmcgYXJndW1lbnQpIC0+
IChib29sIGhhbmRsZWQpOworICAgIEhhbmRsZUVkaXRpbmdDb21tYW5kKFN0cmluZyBjb21tYW5k
TmFtZSwgU3RyaW5nIGFyZ3VtZW50KSAtPiAoYm9vbCBoYW5kbGVkKTsKICAgICAKICAgICAjIFJl
dHVybiB3aGV0aGVyIG9yIG5vdCBhIHBsdWdpbiB3YW50cyB0byBlbmFibGUgdGhlIGdpdmVuIGVk
aXRpbmcgY29tbWFuZC4KLSAgICBJc0VkaXRpbmdDb21tYW5kRW5hYmxlZChXVEY6OlN0cmluZyBj
b21tYW5kTmFtZSkgLT4gKGJvb2wgZW5hYmxlZCk7CisgICAgSXNFZGl0aW5nQ29tbWFuZEVuYWJs
ZWQoU3RyaW5nIGNvbW1hbmROYW1lKSAtPiAoYm9vbCBlbmFibGVkKTsKICAgICAKICAgICAjIFJl
dHVybiB3aGV0aGVyIG9yIG5vdCBhIHBsdWdpbiB3YW50cyB0byBoYW5kbGUgcGFnZSBzY2FsZSBm
YWN0b3IgaXRzZWxmLgogICAgIEhhbmRsZXNQYWdlU2NhbGVGYWN0b3IoKSAtPiAoYm9vbCBlbmFi
bGVkKTsKQEAgLTk3LDcgKzk3LDcgQEAgbWVzc2FnZXMgLT4gUGx1Z2luQ29udHJvbGxlclByb3h5
IExlZ2FjeVJlY2VpdmVyIHsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICAjIFNlbmQgdGhlIGNv
bXBsZXggdGV4dCBpbnB1dCB0byB0aGUgcGx1Zy1pbi4KLSAgICBTZW5kQ29tcGxleFRleHRJbnB1
dChXVEY6OlN0cmluZyB0ZXh0SW5wdXQpCisgICAgU2VuZENvbXBsZXhUZXh0SW5wdXQoU3RyaW5n
IHRleHRJbnB1dCkKIAogICAgICMgU2VudCB3aGVuIHRoZSBjb250YWluaW5nIE5TV2luZG93J3Mg
Zm9jdXMgY2hhbmdlcwogICAgIFdpbmRvd0ZvY3VzQ2hhbmdlZChib29sIGhhc0ZvY3VzKQpAQCAt
MTI1LDcgKzEyNSw3IEBAIG1lc3NhZ2VzIC0+IFBsdWdpbkNvbnRyb2xsZXJQcm94eSBMZWdhY3lS
ZWNlaXZlciB7CiAgICAgUHJpdmF0ZUJyb3dzaW5nU3RhdGVDaGFuZ2VkKGJvb2wgaXNQcml2YXRl
QnJvd3NpbmdFbmFibGVkKQogCiAgICAgIyBHZXRzIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpbmcg
dGhlIGZvcm0gdmFsdWUgb2YgdGhlIHBsdWctaW4KLSAgICBHZXRGb3JtVmFsdWUoKSAtPiAoYm9v
bCByZXR1cm5WYWx1ZSwgV1RGOjpTdHJpbmcgZm9ybVZhbHVlKQorICAgIEdldEZvcm1WYWx1ZSgp
IC0+IChib29sIHJldHVyblZhbHVlLCBTdHJpbmcgZm9ybVZhbHVlKQogfQogCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5tZXNz
YWdlcy5pbgppbmRleCBkMTE5OWRiLi5kMzgyMTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0zNyw3ICsz
Nyw3IEBAIG1lc3NhZ2VzIC0+IFBsdWdpblByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogCiAgICAg
IyBBc2tzIHRoZSBwbHVnLWluIHRvIGNsZWFyIGRhdGEgZm9yIHRoZSBnaXZlbiBzaXRlcy4gVGhl
IHBsdWctaW4gcHJvY2VzcyBzZW5kcyBiYWNrCiAgICAgIyBhIERpZENsZWFyU2l0ZURhdGEgbWVz
c2FnZSB3aGVuIGRvbmUuCi0gICAgQ2xlYXJTaXRlRGF0YShWZWN0b3I8V1RGOjpTdHJpbmc+IHNp
dGVzLCB1aW50NjRfdCBmbGFncywgdWludDY0X3QgbWF4QWdlSW5TZWNvbmRzLCB1aW50NjRfdCBj
YWxsYmFja0lEKQorICAgIENsZWFyU2l0ZURhdGEoVmVjdG9yPFN0cmluZz4gc2l0ZXMsIHVpbnQ2
NF90IGZsYWdzLCB1aW50NjRfdCBtYXhBZ2VJblNlY29uZHMsIHVpbnQ2NF90IGNhbGxiYWNrSUQp
CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgU2V0UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZChi
b29sIGZsYWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21l
c3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5Cmlu
ZGV4IGRlMmJiNjYuLmRkYzliODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMv
d2Via2l0Mi9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIv
bWVzc2FnZXMucHkKQEAgLTI0NCw2ICsyNDQsMTAgQEAgZGVmIGZvcndhcmRfZGVjbGFyYXRpb25z
X2FuZF9oZWFkZXJzKHJlY2VpdmVyKToKICAgICAgICAgJyJTdHJpbmdSZWZlcmVuY2UuaCInLAog
ICAgIF0pCiAKKyAgICBub25fdGVtcGxhdGVfd3RmX3R5cGVzID0gZnJvemVuc2V0KFsKKyAgICAg
ICAgJ1N0cmluZycsCisgICAgXSkKKwogICAgIGZvciBtZXNzYWdlIGluIHJlY2VpdmVyLm1lc3Nh
Z2VzOgogICAgICAgICBpZiBtZXNzYWdlLnJlcGx5X3BhcmFtZXRlcnMgIT0gTm9uZSBhbmQgbWVz
c2FnZS5oYXNfYXR0cmlidXRlKERFTEFZRURfQVRUUklCVVRFKToKICAgICAgICAgICAgIGhlYWRl
cnMuYWRkKCc8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+JykKQEAgLTI1OSw2ICsyNjMsMTAg
QEAgZGVmIGZvcndhcmRfZGVjbGFyYXRpb25zX2FuZF9oZWFkZXJzKHJlY2VpdmVyKToKIAogICAg
ICAgICBzcGxpdCA9IHR5cGUuc3BsaXQoJzo6JykKIAorICAgICAgICAjIEhhbmRsZSBXVEYgdHlw
ZXMgZXZlbiBpZiB0aGUgV1RGOjogcHJlZml4IGlzIG5vdCBnaXZlbgorICAgICAgICBpZiBzcGxp
dFswXSBpbiBub25fdGVtcGxhdGVfd3RmX3R5cGVzOgorICAgICAgICAgICAgc3BsaXQuaW5zZXJ0
KDAsICdXVEYnKQorCiAgICAgICAgIGlmIGxlbihzcGxpdCkgPT0gMjoKICAgICAgICAgICAgIG5h
bWVzcGFjZSA9IHNwbGl0WzBdCiAgICAgICAgICAgICBpbm5lcl90eXBlID0gc3BsaXRbMV0KQEAg
LTM4OSw3ICszOTcsNyBAQCBkZWYgYXJndW1lbnRfY29kZXJfaGVhZGVyc19mb3JfdHlwZSh0eXBl
KToKICAgICBoZWFkZXJfaW5mb3NfYW5kX3R5cGVzID0gY2xhc3NfdGVtcGxhdGVfaGVhZGVycyh0
eXBlKQogCiAgICAgc3BlY2lhbF9jYXNlcyA9IHsKLSAgICAgICAgJ1dURjo6U3RyaW5nJzogJyJB
cmd1bWVudENvZGVycy5oIicsCisgICAgICAgICdTdHJpbmcnOiAnIkFyZ3VtZW50Q29kZXJzLmgi
JywKICAgICAgICAgJ1dlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXInOiAn
IkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VDb2RlcnMuaCInLAogICAgICAgICAnV2ViS2l0OjpX
ZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNvZGVyJzogJyJXZWJDb250ZXh0VXNlck1lc3NhZ2VDb2Rl
cnMuaCInLAogICAgIH0KQEAgLTQxNSw3ICs0MjMsNyBAQCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0
eXBlKToKICAgICBoZWFkZXJfaW5mb3NfYW5kX3R5cGVzID0gY2xhc3NfdGVtcGxhdGVfaGVhZGVy
cyh0eXBlKQogCiAgICAgc3BlY2lhbF9jYXNlcyA9IHsKLSAgICAgICAgJ1dURjo6U3RyaW5nJzog
Wyc8d3RmL3RleHQvV1RGU3RyaW5nLmg+J10sCisgICAgICAgICdTdHJpbmcnOiBbJzx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5l
JzogWyc8V2ViQ29yZS9FZGl0b3IuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkdyYW1tYXJEZXRh
aWwnOiBbJzxXZWJDb3JlL1RleHRDaGVja2VyQ2xpZW50Lmg+J10sCiAgICAgICAgICdXZWJDb3Jl
OjpHcmFwaGljc0xheWVyQW5pbWF0aW9ucyc6IFsnPFdlYkNvcmUvR3JhcGhpY3NMYXllckFuaW1h
dGlvbi5oPiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21l
c3NhZ2VzX3VuaXR0ZXN0LnB5IGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3Nh
Z2VzX3VuaXR0ZXN0LnB5CmluZGV4IGEwZGQ0ODAuLmQ4MGUxNjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlc191bml0dGVzdC5weQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXNfdW5pdHRlc3QucHkKQEAgLTUyLDE2
ICs1MiwxNiBAQCBfbWVzc2FnZXNfZmlsZV9jb250ZW50cyA9ICIiIiMgQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZAogI2lmIE5FU1RFRF9NQVNURVJfQ09O
RElUSU9OIHx8IE1BU1RFUl9PUiAmJiBNQVNURVJfQU5ECiAKIG1lc3NhZ2VzIC0+IFdlYlBhZ2Ug
TGVnYWN5UmVjZWl2ZXIgewotICAgIExvYWRVUkwoV1RGOjpTdHJpbmcgdXJsKQorICAgIExvYWRV
UkwoU3RyaW5nIHVybCkKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotICAgIExvYWRTb21ldGhp
bmcoV1RGOjpTdHJpbmcgdXJsKQorICAgIExvYWRTb21ldGhpbmcoU3RyaW5nIHVybCkKICNpZiBO
RVNURURfTUVTU0FHRV9DT05ESVRJT04gfHwgU09NRV9PVEhFUl9NRVNTQUdFX0NPTkRJVElPTgog
ICAgIFRvdWNoRXZlbnQoV2ViS2l0OjpXZWJUb3VjaEV2ZW50IGV2ZW50KQogI2VuZGlmCiAjaWYg
TkVTVEVEX01FU1NBR0VfQ09ORElUSU9OICYmIFNPTUVfT1RIRVJfTUVTU0FHRV9DT05ESVRJT04K
ICAgICBBZGRFdmVudChXZWJLaXQ6OldlYlRvdWNoRXZlbnQgZXZlbnQpCiAjZW5kaWYKLSAgICBM
b2FkU29tZXRoaW5nRWxzZShXVEY6OlN0cmluZyB1cmwpCisgICAgTG9hZFNvbWV0aGluZ0Vsc2Uo
U3RyaW5nIHVybCkKICNlbmRpZgogICAgIERpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbih1aW50NjRf
dCBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCB1aW50MzJfdCBwb2xpY3lBY3Rpb24pCiAg
ICAgQ2xvc2UoKQpAQCAtNzEsOSArNzEsOSBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJl
Y2VpdmVyIHsKICAgICBTZW5kSW50cyhWZWN0b3I8dWludDY0X3Q+IGludHMsIFZlY3RvcjxWZWN0
b3I8dWludDY0X3Q+PiBpbnRWZWN0b3JzKQogCiAgICAgQ3JlYXRlUGx1Z2luKHVpbnQ2NF90IHBs
dWdpbkluc3RhbmNlSUQsIFdlYktpdDo6UGx1Z2luOjpQYXJhbWV0ZXJzIHBhcmFtZXRlcnMpIC0+
IChib29sIHJlc3VsdCkKLSAgICBSdW5KYXZhU2NyaXB0QWxlcnQodWludDY0X3QgZnJhbWVJRCwg
V1RGOjpTdHJpbmcgbWVzc2FnZSkgLT4gKCkKKyAgICBSdW5KYXZhU2NyaXB0QWxlcnQodWludDY0
X3QgZnJhbWVJRCwgU3RyaW5nIG1lc3NhZ2UpIC0+ICgpCiAgICAgR2V0UGx1Z2lucyhib29sIHJl
ZnJlc2gpIC0+IChWZWN0b3I8V2ViQ29yZTo6UGx1Z2luSW5mbz4gcGx1Z2lucykKLSAgICBHZXRQ
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihXVEY6OlN0cmluZyBwbHVnaW5QYXRoKSAtPiAoQ29yZUlQ
Qzo6Q29ubmVjdGlvbjo6SGFuZGxlIGNvbm5lY3Rpb25IYW5kbGUpIERlbGF5ZWQKKyAgICBHZXRQ
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihTdHJpbmcgcGx1Z2luUGF0aCkgLT4gKENvcmVJUEM6OkNv
bm5lY3Rpb246OkhhbmRsZSBjb25uZWN0aW9uSGFuZGxlKSBEZWxheWVkCiAKICAgICBUZXN0TXVs
dGlwbGVBdHRyaWJ1dGVzKCkgLT4gKCkgV2FudHNDb25uZWN0aW9uIERlbGF5ZWQKIApAQCAtMTEw
LDE0ICsxMTAsMTQgQEAgX2V4cGVjdGVkX3Jlc3VsdHMgPSB7CiAgICAgICAgIHsKICAgICAgICAg
ICAgICduYW1lJzogJ0xvYWRVUkwnLAogICAgICAgICAgICAgJ3BhcmFtZXRlcnMnOiAoCi0gICAg
ICAgICAgICAgICAgKCdXVEY6OlN0cmluZycsICd1cmwnKSwKKyAgICAgICAgICAgICAgICAoJ1N0
cmluZycsICd1cmwnKSwKICAgICAgICAgICAgICksCiAgICAgICAgICAgICAnY29uZGl0aW9ucyc6
IChOb25lKSwKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAgJ25hbWUnOiAnTG9h
ZFNvbWV0aGluZycsCiAgICAgICAgICAgICAncGFyYW1ldGVycyc6ICgKLSAgICAgICAgICAgICAg
ICAoJ1dURjo6U3RyaW5nJywgJ3VybCcpLAorICAgICAgICAgICAgICAgICgnU3RyaW5nJywgJ3Vy
bCcpLAogICAgICAgICAgICAgKSwKICAgICAgICAgICAgICdjb25kaXRpb25zJzogKCdFTkFCTEUo
VE9VQ0hfRVZFTlRTKScpLAogICAgICAgICB9LApAQCAtMTM4LDcgKzEzOCw3IEBAIF9leHBlY3Rl
ZF9yZXN1bHRzID0gewogICAgICAgICB7CiAgICAgICAgICAgICAnbmFtZSc6ICdMb2FkU29tZXRo
aW5nRWxzZScsCiAgICAgICAgICAgICAncGFyYW1ldGVycyc6ICgKLSAgICAgICAgICAgICAgICAo
J1dURjo6U3RyaW5nJywgJ3VybCcpLAorICAgICAgICAgICAgICAgICgnU3RyaW5nJywgJ3VybCcp
LAogICAgICAgICAgICAgKSwKICAgICAgICAgICAgICdjb25kaXRpb25zJzogKCdFTkFCTEUoVE9V
Q0hfRVZFTlRTKScpLAogICAgICAgICB9LApAQCAtMTk0LDcgKzE5NCw3IEBAIF9leHBlY3RlZF9y
ZXN1bHRzID0gewogICAgICAgICAgICAgJ25hbWUnOiAnUnVuSmF2YVNjcmlwdEFsZXJ0JywKICAg
ICAgICAgICAgICdwYXJhbWV0ZXJzJzogKAogICAgICAgICAgICAgICAgICgndWludDY0X3QnLCAn
ZnJhbWVJRCcpLAotICAgICAgICAgICAgICAgICgnV1RGOjpTdHJpbmcnLCAnbWVzc2FnZScpCisg
ICAgICAgICAgICAgICAgKCdTdHJpbmcnLCAnbWVzc2FnZScpCiAgICAgICAgICAgICApLAogICAg
ICAgICAgICAgJ3JlcGx5X3BhcmFtZXRlcnMnOiAoKSwKICAgICAgICAgICAgICdjb25kaXRpb25z
JzogKE5vbmUpLApAQCAtMjEyLDcgKzIxMiw3IEBAIF9leHBlY3RlZF9yZXN1bHRzID0gewogICAg
ICAgICB7CiAgICAgICAgICAgICAnbmFtZSc6ICdHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbics
CiAgICAgICAgICAgICAncGFyYW1ldGVycyc6ICgKLSAgICAgICAgICAgICAgICAoJ1dURjo6U3Ry
aW5nJywgJ3BsdWdpblBhdGgnKSwKKyAgICAgICAgICAgICAgICAoJ1N0cmluZycsICdwbHVnaW5Q
YXRoJyksCiAgICAgICAgICAgICApLAogICAgICAgICAgICAgJ3JlcGx5X3BhcmFtZXRlcnMnOiAo
CiAgICAgICAgICAgICAgICAgKCdDb3JlSVBDOjpDb25uZWN0aW9uOjpIYW5kbGUnLCAnY29ubmVj
dGlvbkhhbmRsZScpLApAQCAtMzUzLDYgKzM1Myw3IEBAIF9leHBlY3RlZF9oZWFkZXIgPSAiIiIv
KgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZD
b3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgogCiBuYW1lc3BhY2UgQ29yZUlQQyB7CiAgICAgY2xhc3MgQ29ubmVjdGlvbjsK
QEAgLTM3OSw0NyArMzgwLDQ3IEBAIHN0YXRpYyBpbmxpbmUgQ29yZUlQQzo6U3RyaW5nUmVmZXJl
bmNlIG1lc3NhZ2VSZWNlaXZlck5hbWUoKQogCiBjbGFzcyBMb2FkVVJMIHsKIHB1YmxpYzoKLSAg
ICB0eXBlZGVmIHN0ZDo6dHVwbGU8V1RGOjpTdHJpbmc+IERlY29kZVR5cGU7CisgICAgdHlwZWRl
ZiBzdGQ6OnR1cGxlPFN0cmluZz4gRGVjb2RlVHlwZTsKIAogICAgIHN0YXRpYyBDb3JlSVBDOjpT
dHJpbmdSZWZlcmVuY2UgcmVjZWl2ZXJOYW1lKCkgeyByZXR1cm4gbWVzc2FnZVJlY2VpdmVyTmFt
ZSgpOyB9CiAgICAgc3RhdGljIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBuYW1lKCkgeyByZXR1
cm4gQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlKCJMb2FkVVJMIik7IH0KICAgICBzdGF0aWMgY29u
c3QgYm9vbCBpc1N5bmMgPSBmYWxzZTsKIAotICAgIGV4cGxpY2l0IExvYWRVUkwoY29uc3QgV1RG
OjpTdHJpbmcmIHVybCkKKyAgICBleHBsaWNpdCBMb2FkVVJMKGNvbnN0IFN0cmluZyYgdXJsKQog
ICAgICAgICA6IG1fYXJndW1lbnRzKHVybCkKICAgICB7CiAgICAgfQogCi0gICAgY29uc3Qgc3Rk
Ojp0dXBsZTxjb25zdCBXVEY6OlN0cmluZyY+IGFyZ3VtZW50cygpIGNvbnN0CisgICAgY29uc3Qg
c3RkOjp0dXBsZTxjb25zdCBTdHJpbmcmPiBhcmd1bWVudHMoKSBjb25zdAogICAgIHsKICAgICAg
ICAgcmV0dXJuIG1fYXJndW1lbnRzOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBzdGQ6OnR1cGxl
PGNvbnN0IFdURjo6U3RyaW5nJj4gbV9hcmd1bWVudHM7CisgICAgc3RkOjp0dXBsZTxjb25zdCBT
dHJpbmcmPiBtX2FyZ3VtZW50czsKIH07CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogY2xh
c3MgTG9hZFNvbWV0aGluZyB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdURjo6
U3RyaW5nPiBEZWNvZGVUeXBlOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxTdHJpbmc+IERlY29k
ZVR5cGU7CiAKICAgICBzdGF0aWMgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIHJlY2VpdmVyTmFt
ZSgpIHsgcmV0dXJuIG1lc3NhZ2VSZWNlaXZlck5hbWUoKTsgfQogICAgIHN0YXRpYyBDb3JlSVBD
OjpTdHJpbmdSZWZlcmVuY2UgbmFtZSgpIHsgcmV0dXJuIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5j
ZSgiTG9hZFNvbWV0aGluZyIpOyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFs
c2U7CiAKLSAgICBleHBsaWNpdCBMb2FkU29tZXRoaW5nKGNvbnN0IFdURjo6U3RyaW5nJiB1cmwp
CisgICAgZXhwbGljaXQgTG9hZFNvbWV0aGluZyhjb25zdCBTdHJpbmcmIHVybCkKICAgICAgICAg
OiBtX2FyZ3VtZW50cyh1cmwpCiAgICAgewogICAgIH0KIAotICAgIGNvbnN0IHN0ZDo6dHVwbGU8
Y29uc3QgV1RGOjpTdHJpbmcmPiBhcmd1bWVudHMoKSBjb25zdAorICAgIGNvbnN0IHN0ZDo6dHVw
bGU8Y29uc3QgU3RyaW5nJj4gYXJndW1lbnRzKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVy
biBtX2FyZ3VtZW50czsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgc3RkOjp0dXBsZTxjb25zdCBX
VEY6OlN0cmluZyY+IG1fYXJndW1lbnRzOworICAgIHN0ZDo6dHVwbGU8Y29uc3QgU3RyaW5nJj4g
bV9hcmd1bWVudHM7CiB9OwogI2VuZGlmCiAKQEAgLTQ3NCwyNCArNDc1LDI0IEBAIHByaXZhdGU6
CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIGNsYXNzIExvYWRTb21ldGhpbmdFbHNlIHsKIHB1
YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8V1RGOjpTdHJpbmc+IERlY29kZVR5cGU7Cisg
ICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFN0cmluZz4gRGVjb2RlVHlwZTsKIAogICAgIHN0YXRpYyBD
b3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UgcmVjZWl2ZXJOYW1lKCkgeyByZXR1cm4gbWVzc2FnZVJl
Y2VpdmVyTmFtZSgpOyB9CiAgICAgc3RhdGljIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBuYW1l
KCkgeyByZXR1cm4gQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlKCJMb2FkU29tZXRoaW5nRWxzZSIp
OyB9CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CiAKLSAgICBleHBsaWNp
dCBMb2FkU29tZXRoaW5nRWxzZShjb25zdCBXVEY6OlN0cmluZyYgdXJsKQorICAgIGV4cGxpY2l0
IExvYWRTb21ldGhpbmdFbHNlKGNvbnN0IFN0cmluZyYgdXJsKQogICAgICAgICA6IG1fYXJndW1l
bnRzKHVybCkKICAgICB7CiAgICAgfQogCi0gICAgY29uc3Qgc3RkOjp0dXBsZTxjb25zdCBXVEY6
OlN0cmluZyY+IGFyZ3VtZW50cygpIGNvbnN0CisgICAgY29uc3Qgc3RkOjp0dXBsZTxjb25zdCBT
dHJpbmcmPiBhcmd1bWVudHMoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fYXJndW1l
bnRzOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBzdGQ6OnR1cGxlPGNvbnN0IFdURjo6U3RyaW5n
Jj4gbV9hcmd1bWVudHM7CisgICAgc3RkOjp0dXBsZTxjb25zdCBTdHJpbmcmPiBtX2FyZ3VtZW50
czsKIH07CiAjZW5kaWYKIApAQCAtNjI1LDI1ICs2MjYsMjUgQEAgcHJpdmF0ZToKIAogY2xhc3Mg
UnVuSmF2YVNjcmlwdEFsZXJ0IHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dWlu
dDY0X3QsIFdURjo6U3RyaW5nPiBEZWNvZGVUeXBlOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTx1
aW50NjRfdCwgU3RyaW5nPiBEZWNvZGVUeXBlOwogCiAgICAgc3RhdGljIENvcmVJUEM6OlN0cmlu
Z1JlZmVyZW5jZSByZWNlaXZlck5hbWUoKSB7IHJldHVybiBtZXNzYWdlUmVjZWl2ZXJOYW1lKCk7
IH0KICAgICBzdGF0aWMgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG5hbWUoKSB7IHJldHVybiBD
b3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UoIlJ1bkphdmFTY3JpcHRBbGVydCIpOyB9CiAgICAgc3Rh
dGljIGNvbnN0IGJvb2wgaXNTeW5jID0gdHJ1ZTsKIAogICAgIHR5cGVkZWYgQ29yZUlQQzo6QXJn
dW1lbnRzMCBSZXBseTsKLSAgICBSdW5KYXZhU2NyaXB0QWxlcnQodWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgV1RGOjpTdHJpbmcmIG1lc3NhZ2UpCisgICAgUnVuSmF2YVNjcmlwdEFsZXJ0KHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKICAgICAgICAgOiBtX2FyZ3VtZW50
cyhmcmFtZUlELCBtZXNzYWdlKQogICAgIHsKICAgICB9CiAKLSAgICBjb25zdCBzdGQ6OnR1cGxl
PHVpbnQ2NF90LCBjb25zdCBXVEY6OlN0cmluZyY+IGFyZ3VtZW50cygpIGNvbnN0CisgICAgY29u
c3Qgc3RkOjp0dXBsZTx1aW50NjRfdCwgY29uc3QgU3RyaW5nJj4gYXJndW1lbnRzKCkgY29uc3QK
ICAgICB7CiAgICAgICAgIHJldHVybiBtX2FyZ3VtZW50czsKICAgICB9CiAKIHByaXZhdGU6Ci0g
ICAgc3RkOjp0dXBsZTx1aW50NjRfdCwgY29uc3QgV1RGOjpTdHJpbmcmPiBtX2FyZ3VtZW50czsK
KyAgICBzdGQ6OnR1cGxlPHVpbnQ2NF90LCBjb25zdCBTdHJpbmcmPiBtX2FyZ3VtZW50czsKIH07
CiAKIGNsYXNzIEdldFBsdWdpbnMgewpAQCAtNjcxLDcgKzY3Miw3IEBAIHByaXZhdGU6CiAKIGNs
YXNzIEdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uIHsKIHB1YmxpYzoKLSAgICB0eXBlZGVmIHN0
ZDo6dHVwbGU8V1RGOjpTdHJpbmc+IERlY29kZVR5cGU7CisgICAgdHlwZWRlZiBzdGQ6OnR1cGxl
PFN0cmluZz4gRGVjb2RlVHlwZTsKIAogICAgIHN0YXRpYyBDb3JlSVBDOjpTdHJpbmdSZWZlcmVu
Y2UgcmVjZWl2ZXJOYW1lKCkgeyByZXR1cm4gbWVzc2FnZVJlY2VpdmVyTmFtZSgpOyB9CiAgICAg
c3RhdGljIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBuYW1lKCkgeyByZXR1cm4gQ29yZUlQQzo6
U3RyaW5nUmVmZXJlbmNlKCJHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbiIpOyB9CkBAIC02ODks
MTggKzY5MCwxOCBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIHR5cGVkZWYgQ29yZUlQQzo6QXJn
dW1lbnRzMTxDb3JlSVBDOjpDb25uZWN0aW9uOjpIYW5kbGUmPiBSZXBseTsKLSAgICBleHBsaWNp
dCBHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihjb25zdCBXVEY6OlN0cmluZyYgcGx1Z2luUGF0
aCkKKyAgICBleHBsaWNpdCBHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihjb25zdCBTdHJpbmcm
IHBsdWdpblBhdGgpCiAgICAgICAgIDogbV9hcmd1bWVudHMocGx1Z2luUGF0aCkKICAgICB7CiAg
ICAgfQogCi0gICAgY29uc3Qgc3RkOjp0dXBsZTxjb25zdCBXVEY6OlN0cmluZyY+IGFyZ3VtZW50
cygpIGNvbnN0CisgICAgY29uc3Qgc3RkOjp0dXBsZTxjb25zdCBTdHJpbmcmPiBhcmd1bWVudHMo
KSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fYXJndW1lbnRzOwogICAgIH0KIAogcHJp
dmF0ZToKLSAgICBzdGQ6OnR1cGxlPGNvbnN0IFdURjo6U3RyaW5nJj4gbV9hcmd1bWVudHM7Cisg
ICAgc3RkOjp0dXBsZTxjb25zdCBTdHJpbmcmPiBtX2FyZ3VtZW50czsKIH07CiAKIGNsYXNzIFRl
c3RNdWx0aXBsZUF0dHJpYnV0ZXMgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdlci5tZXNzYWdlcy5p
biBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9DdXN0b21Q
cm90b2NvbE1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggMWJjMGNjOS4uY2E1MTU2MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0N1c3Rv
bVByb3RvY29sTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
TmV0d29yay9DdXN0b21Qcm90b2NvbHMvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyLm1lc3NhZ2VzLmlu
CkBAIC0yOCw4ICsyOCw4IEBAIG1lc3NhZ2VzIC0+IEN1c3RvbVByb3RvY29sTWFuYWdlciB7CiAg
ICAgRGlkUmVjZWl2ZVJlc3BvbnNlKHVpbnQ2NF90IGN1c3RvbVByb3RvY29sSUQsIFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIHVpbnQzMl90IGNhY2hlU3RvcmFnZVBvbGljeSkK
ICAgICBEaWRGaW5pc2hMb2FkaW5nKHVpbnQ2NF90IGN1c3RvbVByb3RvY29sSUQpCiAKLSAgICBS
ZWdpc3RlclNjaGVtZShXVEY6OlN0cmluZyBuYW1lKQotICAgIFVucmVnaXN0ZXJTY2hlbWUoV1RG
OjpTdHJpbmcgbmFtZSkKKyAgICBSZWdpc3RlclNjaGVtZShTdHJpbmcgbmFtZSkKKyAgICBVbnJl
Z2lzdGVyU2NoZW1lKFN0cmluZyBuYW1lKQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKENVU1RPTV9Q
Uk9UT0NPTFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93bmxvYWRz
L0Rvd25sb2FkUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRG93
bmxvYWRzL0Rvd25sb2FkUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZDcyNTU5OS4uNzM5NGMyMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFBy
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3dubG9hZHMv
RG93bmxvYWRQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjgsNyArMjgsNyBAQCBtZXNzYWdlcyAtPiBE
b3dubG9hZFByb3h5IHsKICAgICBEaWRSZWNlaXZlRGF0YSh1aW50NjRfdCBsZW5ndGgpCiAgICAg
U2hvdWxkRGVjb2RlU291cmNlRGF0YU9mTUlNRVR5cGUoU3RyaW5nIG1pbWVUeXBlKSAtPiAoYm9v
bCByZXN1bHQpCiAgICAgRGVjaWRlRGVzdGluYXRpb25XaXRoU3VnZ2VzdGVkRmlsZW5hbWUoU3Ry
aW5nIGZpbGVuYW1lKSAtPiAoU3RyaW5nIGRlc3RpbmF0aW9uLCBib29sIGFsbG93T3ZlcndyaXRl
LCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBzYW5kYm94RXh0ZW5zaW9uSGFuZGxl
KQotICAgIERpZENyZWF0ZURlc3RpbmF0aW9uKFdURjo6U3RyaW5nIHBhdGgpCisgICAgRGlkQ3Jl
YXRlRGVzdGluYXRpb24oU3RyaW5nIHBhdGgpCiAgICAgRGlkRmluaXNoKCkKICAgICBEaWRGYWls
KFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgcmVz
dW1lRGF0YSkKICAgICBEaWRDYW5jZWwoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSByZXN1bWVEYXRh
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGVmN2YzYzcuLjdhZDJiZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQ
cm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTI1LDcgKzI1LDcgQEAKIG1lc3NhZ2Vz
IC0+IFBsdWdpblByb2Nlc3NQcm94eSB7CiAgICAgRGlkQ3JlYXRlV2ViUHJvY2Vzc0Nvbm5lY3Rp
b24oQ29yZUlQQzo6QXR0YWNobWVudCBjb25uZWN0aW9uSWRlbnRpZmllciwgYm9vbCBzdXBwb3J0
c0FzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uKQogCi0gICAgRGlkR2V0U2l0ZXNXaXRo
RGF0YShWZWN0b3I8V1RGOjpTdHJpbmc+IHNpdGVzLCB1aW50NjRfdCBjYWxsYmFja0lEKQorICAg
IERpZEdldFNpdGVzV2l0aERhdGEoVmVjdG9yPFN0cmluZz4gc2l0ZXMsIHVpbnQ2NF90IGNhbGxi
YWNrSUQpCiAgICAgRGlkQ2xlYXJTaXRlRGF0YSh1aW50NjRfdCBjYWxsYmFja0lEKQogCiAjaWYg
UExBVEZPUk0oTUFDKQpAQCAtMzYsMTYgKzM2LDE2IEBAIG1lc3NhZ2VzIC0+IFBsdWdpblByb2Nl
c3NQcm94eSB7CiAgICAgT3BlblBsdWdpblByZWZlcmVuY2VQYW5lKCkKIAogICAgICMgUmV0dXJu
cyB0cnVlIGlmIHRoZSBVSSBwcm9jZXNzIGxhdW5jaGVkIHRoZSBwcm9jZXNzLgotICAgIExhdW5j
aFByb2Nlc3MoV1RGOjpTdHJpbmcgbGF1bmNoUGF0aCwgVmVjdG9yPFdURjo6U3RyaW5nPiBhcmd1
bWVudHMpIC0+IChib29sIHJlc3VsdCkKKyAgICBMYXVuY2hQcm9jZXNzKFN0cmluZyBsYXVuY2hQ
YXRoLCBWZWN0b3I8U3RyaW5nPiBhcmd1bWVudHMpIC0+IChib29sIHJlc3VsdCkKIAogICAgICMg
UmV0dXJucyB0cnVlIGlmIHRoZSBVSSBwcm9jZXNzIGxhdW5jaGVkIHRoZSBhcHBsaWNhdGlvbi4K
LSAgICBMYXVuY2hBcHBsaWNhdGlvbkF0VVJMKFdURjo6U3RyaW5nIHVybCwgVmVjdG9yPFdURjo6
U3RyaW5nPiBhcmd1bWVudHMpIC0+IChib29sIHJlc3VsdCkKKyAgICBMYXVuY2hBcHBsaWNhdGlv
bkF0VVJMKFN0cmluZyB1cmwsIFZlY3RvcjxTdHJpbmc+IGFyZ3VtZW50cykgLT4gKGJvb2wgcmVz
dWx0KQogCiAgICAgIyBSZXR1cm5zIHRydWUgaWYgdGhlIFVJIHByb2Nlc3MgZGlkIG9wZW4gdGhl
IFVSTC4KLSAgICBPcGVuVVJMKFdURjo6U3RyaW5nIHVybFN0cmluZykgLT4gKGJvb2wgcmVzdWx0
LCBpbnQzMl90IHN0YXR1cywgV1RGOjpTdHJpbmcgbGF1bmNoZWRVUkxTdHJpbmcpCisgICAgT3Bl
blVSTChTdHJpbmcgdXJsU3RyaW5nKSAtPiAoYm9vbCByZXN1bHQsIGludDMyX3Qgc3RhdHVzLCBT
dHJpbmcgbGF1bmNoZWRVUkxTdHJpbmcpCiAgICAgCiAgICAgIyBSZXR1cm5zIHRydWUgaWYgdGhl
IFVJIHByb2Nlc3MgZGlkIG9wZW4gdGhlIGZpbGUuCi0gICAgT3BlbkZpbGUoV1RGOjpTdHJpbmcg
ZnVsbFBhdGgpIC0+IChib29sIHJlc3VsdCkKKyAgICBPcGVuRmlsZShTdHJpbmcgZnVsbFBhdGgp
IC0+IChib29sIHJlc3VsdCkKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4
IGRkMjM0Y2UuLjU5YjhmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9T
dG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yNSw5ICsyNSw5
IEBAIG1lc3NhZ2VzIC0+IFN0b3JhZ2VNYW5hZ2VyIHsKICAgICBDcmVhdGVTZXNzaW9uU3RvcmFn
ZU1hcCh1aW50NjRfdCBzdG9yYWdlTWFwSUQsIHVpbnQ2NF90IHN0b3JhZ2VOYW1lc3BhY2VJRCwg
V2ViS2l0OjpTZWN1cml0eU9yaWdpbkRhdGEgc2VjdXJpdHlPcmlnaW5EYXRhKSBXYW50c0Nvbm5l
Y3Rpb24KICAgICBEZXN0cm95U3RvcmFnZU1hcCh1aW50NjRfdCBzdG9yYWdlTWFwSUQpIFdhbnRz
Q29ubmVjdGlvbgogCi0gICAgR2V0VmFsdWVzKHVpbnQ2NF90IHN0b3JhZ2VNYXBJRCwgdWludDY0
X3Qgc3RvcmFnZU1hcFNlZWQpIC0+IChIYXNoTWFwPFdURjo6U3RyaW5nLCBXVEY6OlN0cmluZz4g
dmFsdWVzKSBXYW50c0Nvbm5lY3Rpb24KKyAgICBHZXRWYWx1ZXModWludDY0X3Qgc3RvcmFnZU1h
cElELCB1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCkgLT4gKEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+
IHZhbHVlcykgV2FudHNDb25uZWN0aW9uCiAKLSAgICBTZXRJdGVtKHVpbnQ2NF90IHN0b3JhZ2VN
YXBJRCwgdWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgdWludDY0X3Qgc3RvcmFnZU1hcFNl
ZWQsIFdURjo6U3RyaW5nIGtleSwgV1RGOjpTdHJpbmcgdmFsdWUsIFdURjo6U3RyaW5nIHVybFN0
cmluZykgV2FudHNDb25uZWN0aW9uCi0gICAgUmVtb3ZlSXRlbSh1aW50NjRfdCBzdG9yYWdlTWFw
SUQsIHVpbnQ2NF90IHNvdXJjZVN0b3JhZ2VBcmVhSUQsIHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVk
LCBXVEY6OlN0cmluZyBrZXksIFdURjo6U3RyaW5nIHVybFN0cmluZykgV2FudHNDb25uZWN0aW9u
Ci0gICAgQ2xlYXIodWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRfdCBzb3VyY2VTdG9yYWdl
QXJlYUlELCB1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwgV1RGOjpTdHJpbmcgdXJsU3RyaW5nKSBX
YW50c0Nvbm5lY3Rpb24KKyAgICBTZXRJdGVtKHVpbnQ2NF90IHN0b3JhZ2VNYXBJRCwgdWludDY0
X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgdWludDY0X3Qgc3RvcmFnZU1hcFNlZWQsIFN0cmluZyBr
ZXksIFN0cmluZyB2YWx1ZSwgU3RyaW5nIHVybFN0cmluZykgV2FudHNDb25uZWN0aW9uCisgICAg
UmVtb3ZlSXRlbSh1aW50NjRfdCBzdG9yYWdlTWFwSUQsIHVpbnQ2NF90IHNvdXJjZVN0b3JhZ2VB
cmVhSUQsIHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkLCBTdHJpbmcga2V5LCBTdHJpbmcgdXJsU3Ry
aW5nKSBXYW50c0Nvbm5lY3Rpb24KKyAgICBDbGVhcih1aW50NjRfdCBzdG9yYWdlTWFwSUQsIHVp
bnQ2NF90IHNvdXJjZVN0b3JhZ2VBcmVhSUQsIHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkLCBTdHJp
bmcgdXJsU3RyaW5nKSBXYW50c0Nvbm5lY3Rpb24KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4KaW5kZXggZDdkNzY5Yy4uMDU2MDg4YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQubWVzc2FnZXMuaW4KQEAg
LTMwLDI5ICszMCwyOSBAQCBtZXNzYWdlcyAtPiBXZWJDb250ZXh0IExlZ2FjeVJlY2VpdmVyIHsK
ICNpZiBQTEFURk9STShJT1MpCiAgICAgV3JpdGVXZWJDb250ZW50VG9QYXN0ZWJvYXJkKFdlYkNv
cmU6OlBhc3RlYm9hcmRXZWJDb250ZW50IGNvbnRlbnQpCiAgICAgV3JpdGVJbWFnZVRvUGFzdGVi
b2FyZChXZWJDb3JlOjpQYXN0ZWJvYXJkSW1hZ2UgcGFzdGVib2FyZEltYWdlKQotICAgIFdyaXRl
U3RyaW5nVG9QYXN0ZWJvYXJkKFdURjo6U3RyaW5nIHBhc3RlYm9hcmRUeXBlLCBXVEY6OlN0cmlu
ZyB0ZXh0KSAKLSAgICBSZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQodWludDY0X3QgaW5kZXgsIFdU
Rjo6U3RyaW5nIHBhc3RlYm9hcmRUeXBlKSAtPiAoV1RGOjpTdHJpbmcgc3RyaW5nKQotICAgIFJl
YWRVUkxGcm9tUGFzdGVib2FyZCh1aW50NjRfdCBpbmRleCwgV1RGOjpTdHJpbmcgcGFzdGVib2Fy
ZFR5cGUpIC0+IChXVEY6OlN0cmluZyBzdHJpbmcpCi0gICAgUmVhZEJ1ZmZlckZyb21QYXN0ZWJv
YXJkKHVpbnQ2NF90IGluZGV4LCBXVEY6OlN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFdlYktp
dDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFuZGxlLCB1aW50NjRfdCBzaXplKQorICAgIFdyaXRl
U3RyaW5nVG9QYXN0ZWJvYXJkKFN0cmluZyBwYXN0ZWJvYXJkVHlwZSwgU3RyaW5nIHRleHQpIAor
ICAgIFJlYWRTdHJpbmdGcm9tUGFzdGVib2FyZCh1aW50NjRfdCBpbmRleCwgU3RyaW5nIHBhc3Rl
Ym9hcmRUeXBlKSAtPiAoU3RyaW5nIHN0cmluZykKKyAgICBSZWFkVVJMRnJvbVBhc3RlYm9hcmQo
dWludDY0X3QgaW5kZXgsIFN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFN0cmluZyBzdHJpbmcp
CisgICAgUmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHVpbnQ2NF90IGluZGV4LCBTdHJpbmcgcGFz
dGVib2FyZFR5cGUpIC0+IChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGhhbmRsZSwgdWlu
dDY0X3Qgc2l6ZSkKICAgICBHZXRQYXN0ZWJvYXJkSXRlbXNDb3VudCgpIC0+ICh1aW50NjRfdCBp
dGVtc0NvdW50KQogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgIyBQYXN0ZWJvYXJk
IG1lc3NhZ2VzLgotICAgIEdldFBhc3RlYm9hcmRUeXBlcyhXVEY6OlN0cmluZyBwYXN0ZWJvYXJk
TmFtZSkgLT4gKFZlY3RvcjxXVEY6OlN0cmluZz4gdHlwZXMpCi0gICAgR2V0UGFzdGVib2FyZFBh
dGhuYW1lc0ZvclR5cGUoV1RGOjpTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFdURjo6U3RyaW5nIHBh
c3RlYm9hcmRUeXBlKSAtPiAoVmVjdG9yPFdURjo6U3RyaW5nPiBwYXRobmFtZXMpCi0gICAgR2V0
UGFzdGVib2FyZFN0cmluZ0ZvclR5cGUoV1RGOjpTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFdURjo6
U3RyaW5nIHBhc3RlYm9hcmRUeXBlKSAtPiAoV1RGOjpTdHJpbmcgc3RyaW5nKQotICAgIEdldFBh
c3RlYm9hcmRCdWZmZXJGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBXVEY6OlN0
cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFu
ZGxlLCB1aW50NjRfdCBzaXplKQotICAgIFBhc3RlYm9hcmRDb3B5KFdURjo6U3RyaW5nIGZyb21Q
YXN0ZWJvYXJkLCBXVEY6OlN0cmluZyB0b1Bhc3RlYm9hcmQpIC0+ICh1aW50NjRfdCBjaGFuZ2VD
b3VudCkKLSAgICBHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnQoV1RGOjpTdHJpbmcgcGFzdGVib2Fy
ZE5hbWUpIC0+ICh1aW50NjRfdCBjaGFuZ2VDb3VudCkKLSAgICBHZXRQYXN0ZWJvYXJkVW5pcXVl
TmFtZSgpIC0+IChXVEY6OlN0cmluZyBwYXN0ZWJvYXJkTmFtZSkKLSAgICBHZXRQYXN0ZWJvYXJk
Q29sb3IoV1RGOjpTdHJpbmcgcGFzdGVib2FyZE5hbWUpIC0+IChXZWJDb3JlOjpDb2xvciBjb2xv
cikKLSAgICBHZXRQYXN0ZWJvYXJkVVJMKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lKSAtPiAo
V1RGOjpTdHJpbmcgdXJsU3RyaW5nKQotICAgIEFkZFBhc3RlYm9hcmRUeXBlcyhXVEY6OlN0cmlu
ZyBwYXN0ZWJvYXJkTmFtZSwgVmVjdG9yPFdURjo6U3RyaW5nPiBwYXN0ZWJvYXJkVHlwZXMpIC0+
ICh1aW50NjRfdCBjaGFuZ2VDb3VudCkKLSAgICBTZXRQYXN0ZWJvYXJkVHlwZXMoV1RGOjpTdHJp
bmcgcGFzdGVib2FyZE5hbWUsIFZlY3RvcjxXVEY6OlN0cmluZz4gcGFzdGVib2FyZFR5cGVzKSAt
PiAodWludDY0X3QgY2hhbmdlQ291bnQpCi0gICAgU2V0UGFzdGVib2FyZFBhdGhuYW1lc0ZvclR5
cGUoV1RGOjpTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFdURjo6U3RyaW5nIHBhc3RlYm9hcmRUeXBl
LCBWZWN0b3I8V1RGOjpTdHJpbmc+IHBhdGhuYW1lcykgLT4gKHVpbnQ2NF90IGNoYW5nZUNvdW50
KQotICAgIFNldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3RlYm9hcmRO
YW1lLCBXVEY6OlN0cmluZyBwYXN0ZWJvYXJkVHlwZSwgV1RGOjpTdHJpbmcgc3RyaW5nKSAtPiAo
dWludDY0X3QgY2hhbmdlQ291bnQpCi0gICAgU2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGUoV1RG
OjpTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFdURjo6U3RyaW5nIHBhc3RlYm9hcmRUeXBlLCBXZWJL
aXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGhhbmRsZSwgdWludDY0X3Qgc2l6ZSkgLT4gKHVpbnQ2
NF90IGNoYW5nZUNvdW50KQorICAgIEdldFBhc3RlYm9hcmRUeXBlcyhTdHJpbmcgcGFzdGVib2Fy
ZE5hbWUpIC0+IChWZWN0b3I8U3RyaW5nPiB0eXBlcykKKyAgICBHZXRQYXN0ZWJvYXJkUGF0aG5h
bWVzRm9yVHlwZShTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFN0cmluZyBwYXN0ZWJvYXJkVHlwZSkg
LT4gKFZlY3RvcjxTdHJpbmc+IHBhdGhuYW1lcykKKyAgICBHZXRQYXN0ZWJvYXJkU3RyaW5nRm9y
VHlwZShTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFN0
cmluZyBzdHJpbmcpCisgICAgR2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGUoU3RyaW5nIHBhc3Rl
Ym9hcmROYW1lLCBTdHJpbmcgcGFzdGVib2FyZFR5cGUpIC0+IChXZWJLaXQ6OlNoYXJlZE1lbW9y
eTo6SGFuZGxlIGhhbmRsZSwgdWludDY0X3Qgc2l6ZSkKKyAgICBQYXN0ZWJvYXJkQ29weShTdHJp
bmcgZnJvbVBhc3RlYm9hcmQsIFN0cmluZyB0b1Bhc3RlYm9hcmQpIC0+ICh1aW50NjRfdCBjaGFu
Z2VDb3VudCkKKyAgICBHZXRQYXN0ZWJvYXJkQ2hhbmdlQ291bnQoU3RyaW5nIHBhc3RlYm9hcmRO
YW1lKSAtPiAodWludDY0X3QgY2hhbmdlQ291bnQpCisgICAgR2V0UGFzdGVib2FyZFVuaXF1ZU5h
bWUoKSAtPiAoU3RyaW5nIHBhc3RlYm9hcmROYW1lKQorICAgIEdldFBhc3RlYm9hcmRDb2xvcihT
dHJpbmcgcGFzdGVib2FyZE5hbWUpIC0+IChXZWJDb3JlOjpDb2xvciBjb2xvcikKKyAgICBHZXRQ
YXN0ZWJvYXJkVVJMKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSkgLT4gKFN0cmluZyB1cmxTdHJpbmcp
CisgICAgQWRkUGFzdGVib2FyZFR5cGVzKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgVmVjdG9yPFN0
cmluZz4gcGFzdGVib2FyZFR5cGVzKSAtPiAodWludDY0X3QgY2hhbmdlQ291bnQpCisgICAgU2V0
UGFzdGVib2FyZFR5cGVzKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgVmVjdG9yPFN0cmluZz4gcGFz
dGVib2FyZFR5cGVzKSAtPiAodWludDY0X3QgY2hhbmdlQ291bnQpCisgICAgU2V0UGFzdGVib2Fy
ZFBhdGhuYW1lc0ZvclR5cGUoU3RyaW5nIHBhc3RlYm9hcmROYW1lLCBTdHJpbmcgcGFzdGVib2Fy
ZFR5cGUsIFZlY3RvcjxTdHJpbmc+IHBhdGhuYW1lcykgLT4gKHVpbnQ2NF90IGNoYW5nZUNvdW50
KQorICAgIFNldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwg
U3RyaW5nIHBhc3RlYm9hcmRUeXBlLCBTdHJpbmcgc3RyaW5nKSAtPiAodWludDY0X3QgY2hhbmdl
Q291bnQpCisgICAgU2V0UGFzdGVib2FyZEJ1ZmZlckZvclR5cGUoU3RyaW5nIHBhc3RlYm9hcmRO
YW1lLCBTdHJpbmcgcGFzdGVib2FyZFR5cGUsIFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUg
aGFuZGxlLCB1aW50NjRfdCBzaXplKSAtPiAodWludDY0X3QgY2hhbmdlQ291bnQpCiAjZW5kaWYK
IAogI2lmICFQTEFURk9STShNQUMpCkBAIC02Miw2ICs2Miw2IEBAIG1lc3NhZ2VzIC0+IFdlYkNv
bnRleHQgTGVnYWN5UmVjZWl2ZXIgewogI2VuZGlmCiAKICAgICAjIFBsdWctaW4gbWVzc2FnZXMu
Ci0gICAgdm9pZCBBZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKFdURjo6U3RyaW5nIHBhZ2VP
cmlnaW4sIHVpbnQzMl90IGhhc2gpCisgICAgdm9pZCBBZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5I
YXNoKFN0cmluZyBwYWdlT3JpZ2luLCB1aW50MzJfdCBoYXNoKQogICAgIHZvaWQgUGx1Z0luRGlk
UmVjZWl2ZVVzZXJJbnRlcmFjdGlvbih1aW50MzJfdCBoYXNoKQogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggMmFlMDU0NS4uNDlhYzZkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yMSw3
ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IFdlYkNvb2tpZU1hbmFnZXJQ
cm94eSB7Ci0gICAgRGlkR2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoVmVjdG9yPFdURjo6U3RyaW5n
PiBob3N0bmFtZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOworICAgIERpZEdldEhvc3RuYW1lc1dp
dGhDb29raWVzKFZlY3RvcjxTdHJpbmc+IGhvc3RuYW1lcywgdWludDY0X3QgY2FsbGJhY2tJRCk7
CiAgICAgRGlkR2V0SFRUUENvb2tpZUFjY2VwdFBvbGljeSh1aW50MzJfdCBwb2xpY3ksIHVpbnQ2
NF90IGNhbGxiYWNrSUQpOwogICAgIAogICAgIENvb2tpZXNEaWRDaGFuZ2UoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkRhdGFiYXNlTWFuYWdlclByb3h5Lm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkRhdGFiYXNlTWFuYWdlclByb3h5
Lm1lc3NhZ2VzLmluCmluZGV4IDUwMzI3NWYuLmIzOTljYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJEYXRhYmFzZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTI0LDkgKzI0LDkgQEAKIAogbWVzc2FnZXMgLT4gV2ViRGF0YWJhc2VNYW5hZ2Vy
UHJveHkgewogICAgIERpZEdldERhdGFiYXNlc0J5T3JpZ2luKFZlY3RvcjxXZWJLaXQ6Ok9yaWdp
bkFuZERhdGFiYXNlcz4gb3JpZ2luQW5kRGF0YWJhc2VzLCB1aW50NjRfdCBjYWxsYmFja0lEKTsK
LSAgICBEaWRHZXREYXRhYmFzZU9yaWdpbnMoVmVjdG9yPFdURjo6U3RyaW5nPiBvcmlnaW5JZGVu
dGlmaWVycywgdWludDY0X3QgY2FsbGJhY2tJRCkKLSAgICBEaWRNb2RpZnlPcmlnaW4oV1RGOjpT
dHJpbmcgb3JpZ2luSWRlbnRpZmllcikKLSAgICBEaWRNb2RpZnlEYXRhYmFzZShXVEY6OlN0cmlu
ZyBvcmlnaW5JZGVudGlmaWVyLCBXVEY6OlN0cmluZyBkYXRhYmFzZUlkZW50aWZpZXIpCisgICAg
RGlkR2V0RGF0YWJhc2VPcmlnaW5zKFZlY3RvcjxTdHJpbmc+IG9yaWdpbklkZW50aWZpZXJzLCB1
aW50NjRfdCBjYWxsYmFja0lEKQorICAgIERpZE1vZGlmeU9yaWdpbihTdHJpbmcgb3JpZ2luSWRl
bnRpZmllcikKKyAgICBEaWRNb2RpZnlEYXRhYmFzZShTdHJpbmcgb3JpZ2luSWRlbnRpZmllciwg
U3RyaW5nIGRhdGFiYXNlSWRlbnRpZmllcikKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShTUUxfREFU
QUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSWNvbkRhdGFi
YXNlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25EYXRhYmFz
ZS5tZXNzYWdlcy5pbgppbmRleCA0MDBhZGIwLi4zOGIzM2RjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViSWNvbkRhdGFiYXNlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UubWVzc2FnZXMuaW4KQEAgLTIxLDE2
ICsyMSwxNiBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBXZWJJY29uRGF0YWJhc2Ug
ewotICAgIFJldGFpbkljb25Gb3JQYWdlVVJMKFdURjo6U3RyaW5nIHBhZ2VVUkwpCi0gICAgUmVs
ZWFzZUljb25Gb3JQYWdlVVJMKFdURjo6U3RyaW5nIHBhZ2VVUkwpCi0gICAgU2V0SWNvblVSTEZv
clBhZ2VVUkwoV1RGOjpTdHJpbmcgaWNvblVSTCwgV1RGOjpTdHJpbmcgcGFnZVVSTCkKLSAgICBT
ZXRJY29uRGF0YUZvckljb25VUkwoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBpY29uRGF0YSwgV1RG
OjpTdHJpbmcgaWNvblVSTCkKKyAgICBSZXRhaW5JY29uRm9yUGFnZVVSTChTdHJpbmcgcGFnZVVS
TCkKKyAgICBSZWxlYXNlSWNvbkZvclBhZ2VVUkwoU3RyaW5nIHBhZ2VVUkwpCisgICAgU2V0SWNv
blVSTEZvclBhZ2VVUkwoU3RyaW5nIGljb25VUkwsIFN0cmluZyBwYWdlVVJMKQorICAgIFNldElj
b25EYXRhRm9ySWNvblVSTChDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGljb25EYXRhLCBTdHJpbmcg
aWNvblVSTCkKICAgICAKLSAgICBTeW5jaHJvbm91c0ljb25EYXRhRm9yUGFnZVVSTChXVEY6OlN0
cmluZyBwYWdlVVJMKSAtPiAoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBpY29uRGF0YSkKLSAgICBT
eW5jaHJvbm91c0ljb25VUkxGb3JQYWdlVVJMKFdURjo6U3RyaW5nIHBhZ2VVUkwpIC0+IChXVEY6
OlN0cmluZyBpY29uVVJMKQotICAgIFN5bmNocm9ub3VzSWNvbkRhdGFLbm93bkZvckljb25VUkwo
V1RGOjpTdHJpbmcgaWNvblVSTCkgLT4gKGJvb2wgZGF0YUtub3duKQotICAgIFN5bmNocm9ub3Vz
TG9hZERlY2lzaW9uRm9ySWNvblVSTChXVEY6OlN0cmluZyBpY29uVVJMKSAtPiAoaW50IGxvYWRE
ZWNpc2lvbikKKyAgICBTeW5jaHJvbm91c0ljb25EYXRhRm9yUGFnZVVSTChTdHJpbmcgcGFnZVVS
TCkgLT4gKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgaWNvbkRhdGEpCisgICAgU3luY2hyb25vdXNJ
Y29uVVJMRm9yUGFnZVVSTChTdHJpbmcgcGFnZVVSTCkgLT4gKFN0cmluZyBpY29uVVJMKQorICAg
IFN5bmNocm9ub3VzSWNvbkRhdGFLbm93bkZvckljb25VUkwoU3RyaW5nIGljb25VUkwpIC0+IChi
b29sIGRhdGFLbm93bikKKyAgICBTeW5jaHJvbm91c0xvYWREZWNpc2lvbkZvckljb25VUkwoU3Ry
aW5nIGljb25VUkwpIC0+IChpbnQgbG9hZERlY2lzaW9uKQogICAgIAotICAgIEdldExvYWREZWNp
c2lvbkZvckljb25VUkwoV1RGOjpTdHJpbmcgaWNvblVSTCwgdWludDY0X3QgY2FsbGJhY2tJRCkK
LSAgICBEaWRSZWNlaXZlSWNvbkZvclBhZ2VVUkwoV1RGOjpTdHJpbmcgcGFnZVVSTCkKKyAgICBH
ZXRMb2FkRGVjaXNpb25Gb3JJY29uVVJMKFN0cmluZyBpY29uVVJMLCB1aW50NjRfdCBjYWxsYmFj
a0lEKQorICAgIERpZFJlY2VpdmVJY29uRm9yUGFnZVVSTChTdHJpbmcgcGFnZVVSTCkKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5tZXNz
YWdlcy5pbgppbmRleCA4YzJiZjdjLi4yYWRkNDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNiwxMCAr
MjYsMTAgQEAgbWVzc2FnZXMgLT4gV2ViSW5zcGVjdG9yUHJveHkgewogICAgIENyZWF0ZUluc3Bl
Y3RvclBhZ2UoKSAtPiAodWludDY0X3QgaW5zcGVjdG9yUGFnZUlELCBXZWJLaXQ6OldlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMgaW5zcGVjdG9yUGFnZVBhcmFtZXRlcnMpCiAgICAgRGlkQ2xvc2Uo
KQogICAgIEJyaW5nVG9Gcm9udCgpCi0gICAgSW5zcGVjdGVkVVJMQ2hhbmdlZChXVEY6OlN0cmlu
ZyB1cmxTdHJpbmcpCisgICAgSW5zcGVjdGVkVVJMQ2hhbmdlZChTdHJpbmcgdXJsU3RyaW5nKQog
Ci0gICAgU2F2ZShXVEY6OlN0cmluZyBmaWxlbmFtZSwgV1RGOjpTdHJpbmcgY29udGVudCwgYm9v
bCBiYXNlNjRFbmNvZGVkLCBib29sIGZvcmNlU2F2ZUFzKQotICAgIEFwcGVuZChXVEY6OlN0cmlu
ZyBmaWxlbmFtZSwgV1RGOjpTdHJpbmcgY29udGVudCkKKyAgICBTYXZlKFN0cmluZyBmaWxlbmFt
ZSwgU3RyaW5nIGNvbnRlbnQsIGJvb2wgYmFzZTY0RW5jb2RlZCwgYm9vbCBmb3JjZVNhdmVBcykK
KyAgICBBcHBlbmQoU3RyaW5nIGZpbGVuYW1lLCBTdHJpbmcgY29udGVudCkKIAogICAgIEF0dGFj
aEJvdHRvbSgpCiAgICAgQXR0YWNoUmlnaHQoKQpAQCAtNDEsNyArNDEsNyBAQCBtZXNzYWdlcyAt
PiBXZWJJbnNwZWN0b3JQcm94eSB7CiAgICAgU2V0VG9vbGJhckhlaWdodCh1bnNpZ25lZCBoZWln
aHQpCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SX1NFUlZFUikKLSAgICBTZW5kTWVzc2FnZVRvUmVt
b3RlRnJvbnRlbmQoV1RGOjpTdHJpbmcgbWVzc2FnZSkKKyAgICBTZW5kTWVzc2FnZVRvUmVtb3Rl
RnJvbnRlbmQoU3RyaW5nIG1lc3NhZ2UpCiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbgppbmRleCA3OTI5MDY0Li4xM2E3MmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5tZXNzYWdl
cy5pbgpAQCAtMjEsNSArMjEsNSBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBXZWJN
ZWRpYUNhY2hlTWFuYWdlclByb3h5IHsKLSAgICBEaWRHZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNo
ZShWZWN0b3I8V1RGOjpTdHJpbmc+IGhvc3RuYW1lcywgdWludDY0X3QgY2FsbGJhY2tJRCk7Cisg
ICAgRGlkR2V0SG9zdG5hbWVzV2l0aE1lZGlhQ2FjaGUoVmVjdG9yPFN0cmluZz4gaG9zdG5hbWVz
LCB1aW50NjRfdCBjYWxsYmFja0lEKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDg4M2JmMDUuLjE5YzVmNTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpA
QCAtMjUsMTMgKzI1LDEzIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgQ3JlYXRl
TmV3UGFnZShXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6V2luZG93
RmVhdHVyZXMgd2luZG93RmVhdHVyZXMsIHVpbnQzMl90IG1vZGlmaWVycywgaW50MzJfdCBtb3Vz
ZUJ1dHRvbikgLT4gKHVpbnQ2NF90IG5ld1BhZ2VJRCwgV2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25Q
YXJhbWV0ZXJzIG5ld1BhZ2VQYXJhbWV0ZXJzKQogICAgIFNob3dQYWdlKCkKICAgICBDbG9zZVBh
Z2UoYm9vbCBzdG9wUmVzcG9uc2l2ZW5lc3NUaW1lcikKLSAgICBSdW5KYXZhU2NyaXB0QWxlcnQo
dWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWVzc2FnZSkgLT4gKCkKLSAgICBSdW5KYXZh
U2NyaXB0Q29uZmlybSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyBtZXNzYWdlKSAtPiAo
Ym9vbCByZXN1bHQpCi0gICAgUnVuSmF2YVNjcmlwdFByb21wdCh1aW50NjRfdCBmcmFtZUlELCBX
VEY6OlN0cmluZyBtZXNzYWdlLCBXVEY6OlN0cmluZyBkZWZhdWx0VmFsdWUpIC0+IChXVEY6OlN0
cmluZyByZXN1bHQpCisgICAgUnVuSmF2YVNjcmlwdEFsZXJ0KHVpbnQ2NF90IGZyYW1lSUQsIFN0
cmluZyBtZXNzYWdlKSAtPiAoKQorICAgIFJ1bkphdmFTY3JpcHRDb25maXJtKHVpbnQ2NF90IGZy
YW1lSUQsIFN0cmluZyBtZXNzYWdlKSAtPiAoYm9vbCByZXN1bHQpCisgICAgUnVuSmF2YVNjcmlw
dFByb21wdCh1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcgbWVzc2FnZSwgU3RyaW5nIGRlZmF1bHRW
YWx1ZSkgLT4gKFN0cmluZyByZXN1bHQpCiAgICAgU2hvdWxkSW50ZXJydXB0SmF2YVNjcmlwdCgp
IC0+IChib29sIHNob3VsZEludGVydXB0KQogICAgIE1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KFdl
YktpdDo6V2ViSGl0VGVzdFJlc3VsdDo6RGF0YSBoaXRUZXN0UmVzdWx0RGF0YSwgdWludDMyX3Qg
bW9kaWZpZXJzLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJE
YXRhKSBWYXJpYWRpYwogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIFVuYXZh
aWxhYmxlUGx1Z2luQnV0dG9uQ2xpY2tlZCh1aW50MzJfdCBwbHVnaW5VbmF2YWlsYWJpbGl0eVJl
YXNvbiwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIFdURjo6U3RyaW5nIHBsdWdpblVSTFN0cmluZywg
V1RGOjpTdHJpbmcgcGx1Z2luc3BhZ2VBdHRyaWJ1dGVVUkxTdHJpbmcsIFdURjo6U3RyaW5nIGZy
YW1lVVJMU3RyaW5nLCBXVEY6OlN0cmluZyBwYWdlVVJMU3RyaW5nKQorICAgIFVuYXZhaWxhYmxl
UGx1Z2luQnV0dG9uQ2xpY2tlZCh1aW50MzJfdCBwbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNvbiwg
U3RyaW5nIG1pbWVUeXBlLCBTdHJpbmcgcGx1Z2luVVJMU3RyaW5nLCBTdHJpbmcgcGx1Z2luc3Bh
Z2VBdHRyaWJ1dGVVUkxTdHJpbmcsIFN0cmluZyBmcmFtZVVSTFN0cmluZywgU3RyaW5nIHBhZ2VV
UkxTdHJpbmcpCiAjZW5kaWYgLy8gRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgRGlk
Q2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKFdlYkNvcmU6OlZpZXdwb3J0QXR0cmlidXRlcyBhdHRy
aWJ1dGVzKQogICAgIERpZFJlY2VpdmVFdmVudCh1aW50MzJfdCB0eXBlLCBib29sIGhhbmRsZWQp
CkBAIC00MCw4ICs0MCw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU2V0Q3Vy
c29yKFdlYkNvcmU6OkN1cnNvciBjdXJzb3IpCiAgICAgU2V0Q3Vyc29ySGlkZGVuVW50aWxNb3Vz
ZU1vdmVzKGJvb2wgaGlkZGVuVW50aWxNb3VzZU1vdmVzKQogI2VuZGlmCi0gICAgU2V0U3RhdHVz
VGV4dChXVEY6OlN0cmluZyBzdGF0dXNUZXh0KQotICAgIFNldFRvb2xUaXAoV1RGOjpTdHJpbmcg
dG9vbFRpcCkKKyAgICBTZXRTdGF0dXNUZXh0KFN0cmluZyBzdGF0dXNUZXh0KQorICAgIFNldFRv
b2xUaXAoU3RyaW5nIHRvb2xUaXApCiAgICAgU2V0Rm9jdXMoYm9vbCBmb2N1c2VkKQogICAgIFRh
a2VGb2N1cyh1aW50MzJfdCBkaXJlY3Rpb24pCiAgICAgRm9jdXNlZEZyYW1lQ2hhbmdlZCh1aW50
NjRfdCBmcmFtZUlEKQpAQCAtNTksNyArNTksNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkg
ewogICAgIEdldFdpbmRvd0ZyYW1lKCkgLT4gKFdlYkNvcmU6OkZsb2F0UmVjdCB3aW5kb3dGcmFt
ZSkKICAgICBTY3JlZW5Ub1dpbmRvdyhXZWJDb3JlOjpJbnRQb2ludCBzY3JlZW5Qb2ludCkgLT4g
KFdlYkNvcmU6OkludFBvaW50IHdpbmRvd1BvaW50KQogICAgIFdpbmRvd1RvU2NyZWVuKFdlYkNv
cmU6OkludFJlY3QgcmVjdCkgLT4gKFdlYkNvcmU6OkludFJlY3Qgc2NyZWVuRnJhbWUpCi0gICAg
UnVuQmVmb3JlVW5sb2FkQ29uZmlybVBhbmVsKFdURjo6U3RyaW5nIG1lc3NhZ2UsIHVpbnQ2NF90
IGZyYW1lSUQpIC0+IChib29sIHNob3VsZENsb3NlKQorICAgIFJ1bkJlZm9yZVVubG9hZENvbmZp
cm1QYW5lbChTdHJpbmcgbWVzc2FnZSwgdWludDY0X3QgZnJhbWVJRCkgLT4gKGJvb2wgc2hvdWxk
Q2xvc2UpCiAgICAgUGFnZURpZFNjcm9sbCgpCiAgICAgUnVuT3BlblBhbmVsKHVpbnQ2NF90IGZy
YW1lSUQsIFdlYkNvcmU6OkZpbGVDaG9vc2VyU2V0dGluZ3MgcGFyYW1ldGVycykKICAgICBQcmlu
dEZyYW1lKHVpbnQ2NF90IGZyYW1lSUQpIC0+ICgpCkBAIC03MCw4ICs3MCw4IEBAIG1lc3NhZ2Vz
IC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRGlkQ2hhbmdlU2Nyb2xsT2Zmc2V0UGlubmluZ0Zvck1h
aW5GcmFtZShib29sIHBpbm5lZFRvTGVmdFNpZGUsIGJvb2wgcGlubmVkVG9SaWdodFNpZGUsIGJv
b2wgcGlubmVkVG9Ub3BTaWRlLCBib29sIHBpbm5lZFRvQm90dG9tU2lkZSkKICAgICBEaWRDaGFu
Z2VQYWdlQ291bnQodW5zaWduZWQgcGFnZUNvdW50KTsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKLSAgICBEaWRGYWlsVG9Jbml0aWFsaXplUGx1Z2luKFdURjo6U3RyaW5nIG1pbWVU
eXBlLCBXVEY6OlN0cmluZyBmcmFtZVVSTFN0cmluZywgV1RGOjpTdHJpbmcgcGFnZVVSTFN0cmlu
ZykKLSAgICBEaWRCbG9ja0luc2VjdXJlUGx1Z2luVmVyc2lvbihXVEY6OlN0cmluZyBtaW1lVHlw
ZSwgV1RGOjpTdHJpbmcgcGx1Z2luVVJMU3RyaW5nLCBXVEY6OlN0cmluZyBmcmFtZVVSTFN0cmlu
ZywgV1RGOjpTdHJpbmcgcGFnZVVSTFN0cmluZywgYm9vbCByZXBsYWNlbWVudE9ic2N1cmVkKQor
ICAgIERpZEZhaWxUb0luaXRpYWxpemVQbHVnaW4oU3RyaW5nIG1pbWVUeXBlLCBTdHJpbmcgZnJh
bWVVUkxTdHJpbmcsIFN0cmluZyBwYWdlVVJMU3RyaW5nKQorICAgIERpZEJsb2NrSW5zZWN1cmVQ
bHVnaW5WZXJzaW9uKFN0cmluZyBtaW1lVHlwZSwgU3RyaW5nIHBsdWdpblVSTFN0cmluZywgU3Ry
aW5nIGZyYW1lVVJMU3RyaW5nLCBTdHJpbmcgcGFnZVVSTFN0cmluZywgYm9vbCByZXBsYWNlbWVu
dE9ic2N1cmVkKQogI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIFNl
dENhblNob3J0Q2lyY3VpdEhvcml6b250YWxXaGVlbEV2ZW50cyhib29sIGNhblNob3J0Q2lyY3Vp
dEhvcml6b250YWxXaGVlbEV2ZW50cykKIApAQCAtMTA0LDcgKzEwNCw3IEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2VQcm94eSB7CiAgICAgIyBQb2xpY3kgbWVzc2FnZXMKICAgICBEZWNpZGVQb2xpY3lG
b3JSZXNwb25zZVN5bmModWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25z
ZSByZXNwb25zZSwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIGJvb2wgY2FuU2hv
d01JTUVUeXBlLCB1aW50NjRfdCBsaXN0ZW5lcklELCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSAtPiAoYm9vbCByZWNlaXZlZFBvbGljeUFjdGlvbiwg
dWludDY0X3QgcG9saWN5QWN0aW9uLCB1aW50NjRfdCBkb3dubG9hZElEKSBWYXJpYWRpYwogICAg
IERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24odWludDY0X3QgZnJhbWVJRCwgdWludDMy
X3QgbmF2aWdhdGlvblR5cGUsIHVpbnQzMl90IG1vZGlmaWVycywgaW50MzJfdCBtb3VzZUJ1dHRv
biwgdWludDY0X3Qgb3JpZ2luYXRpbmdGcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qg
cmVxdWVzdCwgdWludDY0X3QgbGlzdGVuZXJJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJN
ZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgLT4gKGJvb2wgcmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHVp
bnQ2NF90IHBvbGljeUFjdGlvbiwgdWludDY0X3QgZG93bmxvYWRJRCkgVmFyaWFkaWMKLSAgICBE
ZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24odWludDY0X3QgZnJhbWVJRCwgdWludDMyX3Qg
bmF2aWdhdGlvblR5cGUsIHVpbnQzMl90IG1vZGlmaWVycywgaW50MzJfdCBtb3VzZUJ1dHRvbiwg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdURjo6U3RyaW5nIGZyYW1lTmFtZSwg
dWludDY0X3QgbGlzdGVuZXJJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5j
b2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBEZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rp
b24odWludDY0X3QgZnJhbWVJRCwgdWludDMyX3QgbmF2aWdhdGlvblR5cGUsIHVpbnQzMl90IG1v
ZGlmaWVycywgaW50MzJfdCBtb3VzZUJ1dHRvbiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QsIFN0cmluZyBmcmFtZU5hbWUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYktpdDo6SW5q
ZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgVW5h
YmxlVG9JbXBsZW1lbnRQb2xpY3kodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2Vy
RGF0YSkgIFZhcmlhZGljCiAKICAgICAjIFByb2dyZXNzIG1lc3NhZ2VzCkBAIC0xMTcsNyArMTE3
LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRDcmVhdGVTdWJmcmFtZSh1
aW50NjRfdCBmcmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2FkIG1lc3NhZ2VzCi0gICAgRGlkQ29t
bWl0TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1
aW50MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZv
LCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJp
YWRpYworICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcg
bWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0
aWZpY2F0ZUluZm8sIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNl
ckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlE
LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNl
ck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxQcm92aXNpb25h
bExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVy
cm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBW
YXJpYWRpYwogICAgIERpZEZpbmlzaERvY3VtZW50TG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1l
SUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZh
cmlhZGljCkBAIC0xMjUsMjggKzEyNSwyOCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewog
ICAgIERpZEZpcnN0TGF5b3V0Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRG
aXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJL
aXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwog
ICAgIERpZExheW91dCh1aW50MzJfdCB0eXBlLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1l
c3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwotICAgIERpZFJlY2VpdmVTZXJ2ZXJSZWRp
cmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3Ry
aW5nIHVybCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0
YSkgVmFyaWFkaWMKKyAgICBEaWRSZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExv
YWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcgdXJsLCBXZWJLaXQ6OkluamVjdGVk
QnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZFJlbW92
ZUZyYW1lRnJvbUhpZXJhcmNoeSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkluamVjdGVkQnVu
ZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwotICAgIERpZFN0YXJ0UHJv
dmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgdXJsLCBX
VEY6OlN0cmluZyB1bnJlYWNoYWJsZVVSTCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNz
YWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKLSAgICBEaWRSZWNlaXZlVGl0bGVGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyB0aXRsZSwgV2ViS2l0OjpJbmplY3RlZEJ1
bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBEaWRTdGFydFBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFN0cmluZyB1cmwsIFN0cmlu
ZyB1bnJlYWNoYWJsZVVSTCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rl
ciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBEaWRSZWNlaXZlVGl0bGVGb3JGcmFtZSh1aW50NjRf
dCBmcmFtZUlELCBTdHJpbmcgdGl0bGUsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2Fn
ZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRGlzcGxheUluc2VjdXJlQ29udGVu
dEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkUnVuSW5zZWN1cmVDb250ZW50
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNz
YWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWREZXRlY3RYU1NGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVy
IHVzZXJEYXRhKSBWYXJpYWRpYwotICAgIERpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCB1aW50MzJfdCB0eXBlLCBXVEY6OlN0cmluZyB1cmwsIFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisg
ICAgRGlkU2FtZURvY3VtZW50TmF2aWdhdGlvbkZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVp
bnQzMl90IHR5cGUsIFN0cmluZyB1cmwsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2Fn
ZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAKICAgICBGcmFtZURpZEJlY29tZUZyYW1lU2V0
KHVpbnQ2NF90IGZyYW1lSUQsIGJvb2wgdmFsdWUpCiAKICAgICAjIEZvcm1zIG1lc3NhZ2VzCi0g
ICAgV2lsbFN1Ym1pdEZvcm0odWludDY0X3QgZnJhbWVJRCwgdWludDY0X3Qgc291cmNlRnJhbWVJ
RCwgVmVjdG9yPHN0ZDo6cGFpcjxXVEY6OlN0cmluZywgV1RGOjpTdHJpbmc+PiB0ZXh0RmllbGRW
YWx1ZXMsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgV2lsbFN1Ym1pdEZvcm0odWludDY0
X3QgZnJhbWVJRCwgdWludDY0X3Qgc291cmNlRnJhbWVJRCwgVmVjdG9yPHN0ZDo6cGFpcjxTdHJp
bmcsIFN0cmluZz4+IHRleHRGaWVsZFZhbHVlcywgdWludDY0X3QgbGlzdGVuZXJJRCwgV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKIAog
ICAgICMgQ2FsbGJhY2sgbWVzc2FnZXMKICAgICBWb2lkQ2FsbGJhY2sodWludDY0X3QgY2FsbGJh
Y2tJRCkKICAgICBEYXRhQ2FsbGJhY2soQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSByZXN1bHREYXRh
LCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIEltYWdlQ2FsbGJhY2soV2ViS2l0OjpTaGFyZWFi
bGVCaXRtYXA6OkhhbmRsZSBiaXRtYXBIYW5kbGUsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0gICAg
U3RyaW5nQ2FsbGJhY2soV1RGOjpTdHJpbmcgcmVzdWx0U3RyaW5nLCB1aW50NjRfdCBjYWxsYmFj
a0lEKQorICAgIFN0cmluZ0NhbGxiYWNrKFN0cmluZyByZXN1bHRTdHJpbmcsIHVpbnQ2NF90IGNh
bGxiYWNrSUQpCiAgICAgU2NyaXB0VmFsdWVDYWxsYmFjayhDb3JlSVBDOjpEYXRhUmVmZXJlbmNl
IHJlc3VsdERhdGEsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgQ29tcHV0ZWRQYWdlc0NhbGxi
YWNrKFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0PiBwYWdlUmVjdHMsIGRvdWJsZSB0b3RhbFNjYWxl
RmFjdG9yRm9yUHJpbnRpbmcsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0gICAgVmFsaWRhdGVDb21t
YW5kQ2FsbGJhY2soV1RGOjpTdHJpbmcgY29tbWFuZCwgYm9vbCBpc0VuYWJsZWQsIGludDMyX3Qg
c3RhdGUsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCisgICAgVmFsaWRhdGVDb21tYW5kQ2FsbGJhY2so
U3RyaW5nIGNvbW1hbmQsIGJvb2wgaXNFbmFibGVkLCBpbnQzMl90IHN0YXRlLCB1aW50NjRfdCBj
YWxsYmFja0lEKQogI2lmIFBMQVRGT1JNKElPUykKICAgICBHZXN0dXJlQ2FsbGJhY2soV2ViQ29y
ZTo6SW50UG9pbnQgcG9pbnQsIHVpbnQzMl90IGdlc3R1cmVUeXBlLCB1aW50MzJfdCBnZXN0dXJl
U3RhdGUsIHVpbnQzMl90IGZsYWdzLCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIFRvdWNoZXND
YWxsYmFjayhXZWJDb3JlOjpJbnRQb2ludCBwb2ludCwgdWludDMyX3QgdG91Y2hlcywgdWludDY0
X3QgY2FsbGJhY2tJRCkKQEAgLTE2MiwxMCArMTYyLDEwIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQ
cm94eSB7CiAKICNpZiBQTEFURk9STShHVEspCiAgICAgIyBTdXBwb3J0IGZvciBHVEsrIHBsYXRm
b3JtIGtleWJpbmRpbmdzCi0gICAgR2V0RWRpdG9yQ29tbWFuZHNGb3JLZXlFdmVudChBdG9taWNT
dHJpbmcgZXZlbnRUeXBlKSAtPiAoVmVjdG9yPFdURjo6U3RyaW5nPiBjb21tYW5kc0xpc3QpCisg
ICAgR2V0RWRpdG9yQ29tbWFuZHNGb3JLZXlFdmVudChBdG9taWNTdHJpbmcgZXZlbnRUeXBlKSAt
PiAoVmVjdG9yPFN0cmluZz4gY29tbWFuZHNMaXN0KQogCiAgICAgIyBTdXBwb3J0IGZvciBjb25u
ZWN0aW5nIHRoZSBBY2Nlc3NpYmlsaXR5IHdvcmxkcyBvZiB0aGUgVUkgYW5kIHRoZSBXZWIgcHJv
Y2Vzc2VzCi0gICAgQmluZEFjY2Vzc2liaWxpdHlUcmVlKFdURjo6U3RyaW5nIHBsdWdJRCkKKyAg
ICBCaW5kQWNjZXNzaWJpbGl0eVRyZWUoU3RyaW5nIHBsdWdJRCkKIAogICAgIFNldElucHV0TWV0
aG9kU3RhdGUoYm9vbCBlbmFibGVkKTsKICNlbmRpZgpAQCAtMTkwLDExICsxOTAsMTEgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBFZGl0b3JTdGF0ZUNoYW5nZWQoV2ViS2l0OjpF
ZGl0b3JTdGF0ZSBlZGl0b3JTdGF0ZSkKIAogICAgICMgRmluZCBtZXNzYWdlcwotICAgIERpZENv
dW50U3RyaW5nTWF0Y2hlcyhXVEY6OlN0cmluZyBzdHJpbmcsIHVpbnQzMl90IG1hdGNoQ291bnQp
CisgICAgRGlkQ291bnRTdHJpbmdNYXRjaGVzKFN0cmluZyBzdHJpbmcsIHVpbnQzMl90IG1hdGNo
Q291bnQpCiAgICAgU2V0RmluZEluZGljYXRvcihXZWJDb3JlOjpGbG9hdFJlY3Qgc2VsZWN0aW9u
UmVjdCwgVmVjdG9yPFdlYkNvcmU6OkZsb2F0UmVjdD4gdGV4dFJlY3RzLCBmbG9hdCBjb250ZW50
SW1hZ2VTY2FsZUZhY3RvciwgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBjb250ZW50
SW1hZ2VIYW5kbGUsIGJvb2wgZmFkZU91dCwgYm9vbCBhbmltYXRlKQotICAgIERpZEZpbmRTdHJp
bmcoV1RGOjpTdHJpbmcgc3RyaW5nLCB1aW50MzJfdCBtYXRjaENvdW50KQotICAgIERpZEZhaWxU
b0ZpbmRTdHJpbmcoV1RGOjpTdHJpbmcgc3RyaW5nKQotICAgIERpZEZpbmRTdHJpbmdNYXRjaGVz
KFdURjo6U3RyaW5nIHN0cmluZywgVmVjdG9yPFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0Pj4gbWF0
Y2hlcywgaW50MzJfdCBmaXJzdEluZGV4QWZ0ZXJTZWxlY3Rpb24pCisgICAgRGlkRmluZFN0cmlu
ZyhTdHJpbmcgc3RyaW5nLCB1aW50MzJfdCBtYXRjaENvdW50KQorICAgIERpZEZhaWxUb0ZpbmRT
dHJpbmcoU3RyaW5nIHN0cmluZykKKyAgICBEaWRGaW5kU3RyaW5nTWF0Y2hlcyhTdHJpbmcgc3Ry
aW5nLCBWZWN0b3I8VmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+PiBtYXRjaGVzLCBpbnQzMl90IGZp
cnN0SW5kZXhBZnRlclNlbGVjdGlvbikKICAgICBEaWRHZXRJbWFnZUZvckZpbmRNYXRjaChXZWJL
aXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGNvbnRlbnRJbWFnZUhhbmRsZSwgdWludDMyX3Qg
bWF0Y2hJbmRleCkKIAogICAgICMgUG9wdXBNZW51IG1lc3NhZ2VzCkBAIC0yMTEsMzAgKzIxMSwz
MCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIERpZFJlY2VpdmVBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSBjaGFsbGVuZ2UsIHVpbnQ2NF90IGNoYWxsZW5nZUlEKQogCiAgICAgIyBEYXRhYmFz
ZSBtZXNzYWdlcwotICAgIEV4Y2VlZGVkRGF0YWJhc2VRdW90YSh1aW50NjRfdCBmcmFtZUlELCBX
VEY6OlN0cmluZyBvcmlnaW5JZGVudGlmaWVyLCBXVEY6OlN0cmluZyBkYXRhYmFzZU5hbWUsIFdU
Rjo6U3RyaW5nIGRhdGFiYXNlRGlzcGxheU5hbWUsIHVpbnQ2NF90IGN1cnJlbnRRdW90YSwgdWlu
dDY0X3QgY3VycmVudE9yaWdpblVzYWdlLCB1aW50NjRfdCBjdXJyZW50RGF0YWJhc2VVc2FnZSwg
dWludDY0X3QgZXhwZWN0ZWRVc2FnZSkgLT4gKHVpbnQ2NF90IG5ld1F1b3RhKSBEZWxheWVkCisg
ICAgRXhjZWVkZWREYXRhYmFzZVF1b3RhKHVpbnQ2NF90IGZyYW1lSUQsIFN0cmluZyBvcmlnaW5J
ZGVudGlmaWVyLCBTdHJpbmcgZGF0YWJhc2VOYW1lLCBTdHJpbmcgZGF0YWJhc2VEaXNwbGF5TmFt
ZSwgdWludDY0X3QgY3VycmVudFF1b3RhLCB1aW50NjRfdCBjdXJyZW50T3JpZ2luVXNhZ2UsIHVp
bnQ2NF90IGN1cnJlbnREYXRhYmFzZVVzYWdlLCB1aW50NjRfdCBleHBlY3RlZFVzYWdlKSAtPiAo
dWludDY0X3QgbmV3UXVvdGEpIERlbGF5ZWQKIAogICAgICMgR2VvbG9jYXRpb24gbWVzc2FnZXMK
LSAgICBSZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUodWludDY0X3QgZ2VvbG9j
YXRpb25JRCwgdWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllcikK
KyAgICBSZXF1ZXN0R2VvbG9jYXRpb25QZXJtaXNzaW9uRm9yRnJhbWUodWludDY0X3QgZ2VvbG9j
YXRpb25JRCwgdWludDY0X3QgZnJhbWVJRCwgU3RyaW5nIG9yaWdpbklkZW50aWZpZXIpCiAgICAg
CiAgICAgIyBOb3RpZmljYXRpb24gbWVzc2FnZXMKLSAgICBSZXF1ZXN0Tm90aWZpY2F0aW9uUGVy
bWlzc2lvbih1aW50NjRfdCByZXF1ZXN0SUQsIFdURjo6U3RyaW5nIG9yaWdpbklkZW50aWZpZXIp
Ci0gICAgU2hvd05vdGlmaWNhdGlvbihXVEY6OlN0cmluZyB0aXRsZSwgV1RGOjpTdHJpbmcgYm9k
eSwgV1RGOjpTdHJpbmcgaWNvblVSTCwgV1RGOjpTdHJpbmcgdGFnLCBXVEY6OlN0cmluZyBsYW5n
LCBXVEY6OlN0cmluZyBkaXIsIFdURjo6U3RyaW5nIG9yaWdpbklkZW50aWZpZXIsIHVpbnQ2NF90
IG5vdGlmaWNhdGlvbklEKQorICAgIFJlcXVlc3ROb3RpZmljYXRpb25QZXJtaXNzaW9uKHVpbnQ2
NF90IHJlcXVlc3RJRCwgU3RyaW5nIG9yaWdpbklkZW50aWZpZXIpCisgICAgU2hvd05vdGlmaWNh
dGlvbihTdHJpbmcgdGl0bGUsIFN0cmluZyBib2R5LCBTdHJpbmcgaWNvblVSTCwgU3RyaW5nIHRh
ZywgU3RyaW5nIGxhbmcsIFN0cmluZyBkaXIsIFN0cmluZyBvcmlnaW5JZGVudGlmaWVyLCB1aW50
NjRfdCBub3RpZmljYXRpb25JRCkKICAgICBDYW5jZWxOb3RpZmljYXRpb24odWludDY0X3Qgbm90
aWZpY2F0aW9uSUQpCiAgICAgQ2xlYXJOb3RpZmljYXRpb25zKFZlY3Rvcjx1aW50NjRfdD4gbm90
aWZpY2F0aW9uSURzKQogICAgIERpZERlc3Ryb3lOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZp
Y2F0aW9uSUQpCiAKICAgICAjIFNwZWxsaW5nIGFuZCBncmFtbWFyIG1lc3NhZ2VzCiAjaWYgVVNF
KFVOSUZJRURfVEVYVF9DSEVDS0lORykgIAotICAgIENoZWNrVGV4dE9mUGFyYWdyYXBoKFdURjo6
U3RyaW5nIHRleHQsIHVpbnQ2NF90IGNoZWNraW5nVHlwZXMpIC0+IChWZWN0b3I8V2ViQ29yZTo6
VGV4dENoZWNraW5nUmVzdWx0PiByZXN1bHRzKQorICAgIENoZWNrVGV4dE9mUGFyYWdyYXBoKFN0
cmluZyB0ZXh0LCB1aW50NjRfdCBjaGVja2luZ1R5cGVzKSAtPiAoVmVjdG9yPFdlYkNvcmU6OlRl
eHRDaGVja2luZ1Jlc3VsdD4gcmVzdWx0cykKICNlbmRpZgotICAgIENoZWNrU3BlbGxpbmdPZlN0
cmluZyhXVEY6OlN0cmluZyB0ZXh0KSAtPiAoaW50MzJfdCBtaXNzcGVsbGluZ0xvY2F0aW9uLCBp
bnQzMl90IG1pc3NwZWxsaW5nTGVuZ3RoKQotICAgIENoZWNrR3JhbW1hck9mU3RyaW5nKFdURjo6
U3RyaW5nIHRleHQpIC0+IChWZWN0b3I8V2ViQ29yZTo6R3JhbW1hckRldGFpbD4gcmVzdWx0cywg
aW50MzJfdCBiYWRHcmFtbWFyTG9jYXRpb24sIGludDMyX3QgYmFkR3JhbW1hckxlbmd0aCkKKyAg
ICBDaGVja1NwZWxsaW5nT2ZTdHJpbmcoU3RyaW5nIHRleHQpIC0+IChpbnQzMl90IG1pc3NwZWxs
aW5nTG9jYXRpb24sIGludDMyX3QgbWlzc3BlbGxpbmdMZW5ndGgpCisgICAgQ2hlY2tHcmFtbWFy
T2ZTdHJpbmcoU3RyaW5nIHRleHQpIC0+IChWZWN0b3I8V2ViQ29yZTo6R3JhbW1hckRldGFpbD4g
cmVzdWx0cywgaW50MzJfdCBiYWRHcmFtbWFyTG9jYXRpb24sIGludDMyX3QgYmFkR3JhbW1hckxl
bmd0aCkKICAgICBTcGVsbGluZ1VJSXNTaG93aW5nKCkgLT4gKGJvb2wgaXNTaG93aW5nKQotICAg
IFVwZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQoV1RGOjpTdHJpbmcgbWlzc3BlbGxl
ZFdvcmQpCi0gICAgVXBkYXRlU3BlbGxpbmdVSVdpdGhHcmFtbWFyU3RyaW5nKFdURjo6U3RyaW5n
IGJhZEdyYW1tYXJQaHJhc2UsIFdlYkNvcmU6OkdyYW1tYXJEZXRhaWwgZ3JhbW1hckRldGFpbCkK
LSAgICBHZXRHdWVzc2VzRm9yV29yZChXVEY6OlN0cmluZyB3b3JkLCBXVEY6OlN0cmluZyBjb250
ZXh0KSAtPiAoVmVjdG9yPFdURjo6U3RyaW5nPiBndWVzc2VzKQotICAgIExlYXJuV29yZChXVEY6
OlN0cmluZyB3b3JkKTsKLSAgICBJZ25vcmVXb3JkKFdURjo6U3RyaW5nIHdvcmQpOworICAgIFVw
ZGF0ZVNwZWxsaW5nVUlXaXRoTWlzc3BlbGxlZFdvcmQoU3RyaW5nIG1pc3NwZWxsZWRXb3JkKQor
ICAgIFVwZGF0ZVNwZWxsaW5nVUlXaXRoR3JhbW1hclN0cmluZyhTdHJpbmcgYmFkR3JhbW1hclBo
cmFzZSwgV2ViQ29yZTo6R3JhbW1hckRldGFpbCBncmFtbWFyRGV0YWlsKQorICAgIEdldEd1ZXNz
ZXNGb3JXb3JkKFN0cmluZyB3b3JkLCBTdHJpbmcgY29udGV4dCkgLT4gKFZlY3RvcjxTdHJpbmc+
IGd1ZXNzZXMpCisgICAgTGVhcm5Xb3JkKFN0cmluZyB3b3JkKTsKKyAgICBJZ25vcmVXb3JkKFN0
cmluZyB3b3JkKTsKICAgICBSZXF1ZXN0Q2hlY2tpbmdPZlN0cmluZyh1aW50NjRfdCByZXF1ZXN0
SUQsIFdlYkNvcmU6OlRleHRDaGVja2luZ1JlcXVlc3REYXRhIHJlcXVlc3QpCiAKICAgICAjIERy
YWcgYW5kIGRyb3AgbWVzc2FnZXMKQEAgLTI0Myw3ICsyNDMsNyBAQCBtZXNzYWdlcyAtPiBXZWJQ
YWdlUHJveHkgewogI2VuZGlmCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoRFJBR19TVVBQ
T1JUKQogICAgIFNldERyYWdJbWFnZShXZWJDb3JlOjpJbnRQb2ludCBjbGllbnRQb3NpdGlvbiwg
V2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBkcmFnSW1hZ2UsIGJvb2wgbGlua0RyYWcp
Ci0gICAgU2V0UHJvbWlzZWREYXRhKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBXZWJLaXQ6
OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGltYWdlSGFuZGxlLCB1aW50NjRfdCBpbWFnZVNpemUsIFdU
Rjo6U3RyaW5nIGZpbGVuYW1lLCBXVEY6OlN0cmluZyBleHRlbnNpb24sIFdURjo6U3RyaW5nIHRp
dGxlLCBXVEY6OlN0cmluZyB1cmwsIFdURjo6U3RyaW5nIHZpc2libGVVUkwsIFdlYktpdDo6U2hh
cmVkTWVtb3J5OjpIYW5kbGUgYXJjaGl2ZUhhbmRsZSwgdWludDY0X3QgYXJjaGl2ZVNpemUpCisg
ICAgU2V0UHJvbWlzZWREYXRhKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgV2ViS2l0OjpTaGFyZWRN
ZW1vcnk6OkhhbmRsZSBpbWFnZUhhbmRsZSwgdWludDY0X3QgaW1hZ2VTaXplLCBTdHJpbmcgZmls
ZW5hbWUsIFN0cmluZyBleHRlbnNpb24sIFN0cmluZyB0aXRsZSwgU3RyaW5nIHVybCwgU3RyaW5n
IHZpc2libGVVUkwsIFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUgYXJjaGl2ZUhhbmRsZSwg
dWludDY0X3QgYXJjaGl2ZVNpemUpCiAjZW5kaWYKICNpZiBQTEFURk9STShHVEspICYmIEVOQUJM
RShEUkFHX1NVUFBPUlQpCiAgICAgU3RhcnREcmFnKFdlYkNvcmU6OkRyYWdEYXRhIGRyYWdEYXRh
LCBXZWJLaXQ6OlNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGRyYWdJbWFnZSkKQEAgLTI1NSw3ICsy
NTUsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogCiAgICAgIyBLZXlib2FyZCBpbnB1
dCBzdXBwb3J0IG1lc3NhZ2VzCiAgICAgSW50ZXJwcmV0UXVldWVkS2V5RXZlbnQoV2ViS2l0OjpF
ZGl0b3JTdGF0ZSBzdGF0ZSkgLT4gKGJvb2wgaGFuZGxlZCwgVmVjdG9yPFdlYkNvcmU6OktleXBy
ZXNzQ29tbWFuZD4gc2F2ZWRDb21tYW5kcykKLSAgICBFeGVjdXRlU2F2ZWRDb21tYW5kQnlTZWxl
Y3RvcihXVEY6OlN0cmluZyBzZWxlY3RvcikgLT4gKGJvb2wgaGFuZGxlZCkKKyAgICBFeGVjdXRl
U2F2ZWRDb21tYW5kQnlTZWxlY3RvcihTdHJpbmcgc2VsZWN0b3IpIC0+IChib29sIGhhbmRsZWQp
CiAKICAgICAjIFJlbW90ZSBhY2Nlc3NpYmlsaXR5IG1lc3NhZ2VzCiAgICAgUmVnaXN0ZXJXZWJQ
cm9jZXNzQWNjZXNzaWJpbGl0eVRva2VuKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKQEAg
LTI2NiwxNSArMjY2LDE1IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAKICAgICAjIFNw
ZWVjaCBtZXNzYWdlcwogICAgIEdldElzU3BlYWtpbmcoKSAtPiAoYm9vbCBpc1NwZWFraW5nKQot
ICAgIFNwZWFrKFdURjo6U3RyaW5nIHN0cmluZykKKyAgICBTcGVhayhTdHJpbmcgc3RyaW5nKQog
ICAgIFN0b3BTcGVha2luZygpCiAKICAgICBNYWtlRmlyc3RSZXNwb25kZXIoKQogCiAgICAgIyBT
cG90bGlnaHQKLSAgICBTZWFyY2hXaXRoU3BvdGxpZ2h0KFdURjo6U3RyaW5nIHN0cmluZykKKyAg
ICBTZWFyY2hXaXRoU3BvdGxpZ2h0KFN0cmluZyBzdHJpbmcpCiAKLSAgICBTZWFyY2hUaGVXZWIo
V1RGOjpTdHJpbmcgc3RyaW5nKQorICAgIFNlYXJjaFRoZVdlYihTdHJpbmcgc3RyaW5nKQogI2Vu
ZGlmCiAKICNpZiBVU0UoQVBQS0lUKQpAQCAtMzExLDIzICszMTEsMjMgQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZVByb3h5IHsKICNlbmRpZgogCiAgICAgIyBTZWFyY2ggcG9wdXAgbWVudXMKLSAgICBT
YXZlUmVjZW50U2VhcmNoZXMoV1RGOjpTdHJpbmcgbmFtZSwgVmVjdG9yPFN0cmluZz4gc2VhcmNo
SXRlbXMpCi0gICAgTG9hZFJlY2VudFNlYXJjaGVzKFdURjo6U3RyaW5nIG5hbWUpIC0+IChWZWN0
b3I8U3RyaW5nPiByZXN1bHQpCisgICAgU2F2ZVJlY2VudFNlYXJjaGVzKFN0cmluZyBuYW1lLCBW
ZWN0b3I8U3RyaW5nPiBzZWFyY2hJdGVtcykKKyAgICBMb2FkUmVjZW50U2VhcmNoZXMoU3RyaW5n
IG5hbWUpIC0+IChWZWN0b3I8U3RyaW5nPiByZXN1bHQpCiAKICNpZiBVU0UoU09VUCkKICAgICAj
IFNvdXAgY3VzdG9tIFVSSSByZXF1ZXN0IG1lc3NhZ2VzCi0gICAgRGlkUmVjZWl2ZVVSSVJlcXVl
c3QoV1RGOjpTdHJpbmcgdXJpU3RyaW5nLCB1aW50NjRfdCByZXF1ZXN0SUQpOworICAgIERpZFJl
Y2VpdmVVUklSZXF1ZXN0KFN0cmluZyB1cmlTdHJpbmcsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAj
ZW5kaWYKIAotICAgIFNhdmVQREZUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlcihXVEY6OlN0cmluZyBz
dWdnZXN0ZWRGaWxlbmFtZSwgV1RGOjpTdHJpbmcgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIENvcmVJ
UEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKKyAgICBTYXZlUERGVG9GaWxlSW5Eb3dubG9hZHNGb2xk
ZXIoU3RyaW5nIHN1Z2dlc3RlZEZpbGVuYW1lLCBTdHJpbmcgb3JpZ2luYXRpbmdVUkxTdHJpbmcs
IENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBT
YXZlUERGVG9UZW1wb3JhcnlGb2xkZXJBbmRPcGVuV2l0aE5hdGl2ZUFwcGxpY2F0aW9uKFdURjo6
U3RyaW5nIHN1Z2dlc3RlZEZpbGVuYW1lLCBXVEY6OlN0cmluZyBvcmlnaW5hdGluZ1VSTFN0cmlu
ZywgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBXVEY6OlN0cmluZyBwZGZVVUlEKQotICAg
IE9wZW5QREZGcm9tVGVtcG9yYXJ5Rm9sZGVyV2l0aE5hdGl2ZUFwcGxpY2F0aW9uKFdURjo6U3Ry
aW5nIHBkZlVVSUQpCisgICAgU2F2ZVBERlRvVGVtcG9yYXJ5Rm9sZGVyQW5kT3BlbldpdGhOYXRp
dmVBcHBsaWNhdGlvbihTdHJpbmcgc3VnZ2VzdGVkRmlsZW5hbWUsIFN0cmluZyBvcmlnaW5hdGlu
Z1VSTFN0cmluZywgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBTdHJpbmcgcGRmVVVJRCkK
KyAgICBPcGVuUERGRnJvbVRlbXBvcmFyeUZvbGRlcldpdGhOYXRpdmVBcHBsaWNhdGlvbihTdHJp
bmcgcGRmVVVJRCkKICNlbmRpZgogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0g
ICAgRmluZFBsdWdpbihXVEY6OlN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgcHJvY2Vzc1R5cGUs
IFdURjo6U3RyaW5nIHVybFN0cmluZywgV1RGOjpTdHJpbmcgZnJhbWVVUkxTdHJpbmcsIFdURjo6
U3RyaW5nIHBhZ2VVUkxTdHJpbmcsIGJvb2wgYWxsb3dPbmx5QXBwbGljYXRpb25QbHVnaW5zKSAt
PiAodWludDY0X3QgcGx1Z2luUHJvY2Vzc1Rva2VuLCBXVEY6OlN0cmluZyBuZXdNSU1FVHlwZSwg
dWludDMyX3QgcGx1Z2luTG9hZFBvbGljeSwgV1RGOjpTdHJpbmcgdW5hdmFpbGFiaWxpdHlEZXNj
cmlwdGlvbikKKyAgICBGaW5kUGx1Z2luKFN0cmluZyBtaW1lVHlwZSwgdWludDMyX3QgcHJvY2Vz
c1R5cGUsIFN0cmluZyB1cmxTdHJpbmcsIFN0cmluZyBmcmFtZVVSTFN0cmluZywgU3RyaW5nIHBh
Z2VVUkxTdHJpbmcsIGJvb2wgYWxsb3dPbmx5QXBwbGljYXRpb25QbHVnaW5zKSAtPiAodWludDY0
X3QgcGx1Z2luUHJvY2Vzc1Rva2VuLCBTdHJpbmcgbmV3TUlNRVR5cGUsIHVpbnQzMl90IHBsdWdp
bkxvYWRQb2xpY3ksIFN0cmluZyB1bmF2YWlsYWJpbGl0eURlc2NyaXB0aW9uKQogI2VuZGlmCiAK
ICAgICBEaWRVcGRhdGVWaWV3U3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggZDhkYTgwZC4uNzEyMWJjMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluCkBAIC0yNCwxMSArMjQsMTEgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vzc1Byb3h5
IExlZ2FjeVJlY2VpdmVyIHsKIAogICAgICMgSGlzdG9yeSBjbGllbnQgbWVzc2FnZXMuCiAgICAg
RGlkTmF2aWdhdGVXaXRoTmF2aWdhdGlvbkRhdGEodWludDY0X3QgcGFnZUlELCBXZWJLaXQ6Oldl
Yk5hdmlnYXRpb25EYXRhU3RvcmUgc3RvcmUsIHVpbnQ2NF90IGZyYW1lSUQpCi0gICAgRGlkUGVy
Zm9ybUNsaWVudFJlZGlyZWN0KHVpbnQ2NF90IHBhZ2VJRCwgV1RGOjpTdHJpbmcgc291cmNlVVJM
U3RyaW5nLCBXVEY6OlN0cmluZyBkZXN0aW5hdGlvblVSTFN0cmluZywgdWludDY0X3QgZnJhbWVJ
RCkKLSAgICBEaWRQZXJmb3JtU2VydmVyUmVkaXJlY3QodWludDY0X3QgcGFnZUlELCBXVEY6OlN0
cmluZyBzb3VyY2VVUkxTdHJpbmcsIFdURjo6U3RyaW5nIGRlc3RpbmF0aW9uVVJMU3RyaW5nLCB1
aW50NjRfdCBmcmFtZUlEKQotICAgIERpZFVwZGF0ZUhpc3RvcnlUaXRsZSh1aW50NjRfdCBwYWdl
SUQsIFdURjo6U3RyaW5nIHRpdGxlLCBXVEY6OlN0cmluZyB1cmwsIHVpbnQ2NF90IGZyYW1lSUQp
CisgICAgRGlkUGVyZm9ybUNsaWVudFJlZGlyZWN0KHVpbnQ2NF90IHBhZ2VJRCwgU3RyaW5nIHNv
dXJjZVVSTFN0cmluZywgU3RyaW5nIGRlc3RpbmF0aW9uVVJMU3RyaW5nLCB1aW50NjRfdCBmcmFt
ZUlEKQorICAgIERpZFBlcmZvcm1TZXJ2ZXJSZWRpcmVjdCh1aW50NjRfdCBwYWdlSUQsIFN0cmlu
ZyBzb3VyY2VVUkxTdHJpbmcsIFN0cmluZyBkZXN0aW5hdGlvblVSTFN0cmluZywgdWludDY0X3Qg
ZnJhbWVJRCkKKyAgICBEaWRVcGRhdGVIaXN0b3J5VGl0bGUodWludDY0X3QgcGFnZUlELCBTdHJp
bmcgdGl0bGUsIFN0cmluZyB1cmwsIHVpbnQ2NF90IGZyYW1lSUQpCiAKLSAgICBBZGRCYWNrRm9y
d2FyZEl0ZW0odWludDY0X3QgaXRlbUlELCBXVEY6OlN0cmluZyBvcmlnaW5hbFVSTCwgV1RGOjpT
dHJpbmcgdXJsLCBXVEY6OlN0cmluZyB0aXRsZSwgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBiYWNr
Rm9yd2FyZERhdGEpCisgICAgQWRkQmFja0ZvcndhcmRJdGVtKHVpbnQ2NF90IGl0ZW1JRCwgU3Ry
aW5nIG9yaWdpbmFsVVJMLCBTdHJpbmcgdXJsLCBTdHJpbmcgdGl0bGUsIENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UgYmFja0ZvcndhcmREYXRhKQogICAgIERpZERlc3Ryb3lGcmFtZSh1aW50NjRfdCBm
cmFtZUlEKSAKIAogICAgIFNob3VsZFRlcm1pbmF0ZSgpIC0+IChib29sIHNob3VsZFRlcm1pbmF0
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2llcy9XZWJDb29r
aWVNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVz
L1dlYkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggMGFlMTE1NS4uNjViM2U1YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFn
ZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dl
YkNvb2tpZU1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTI1LDcgKzI1LDcgQEAKICAKICBtZXNzYWdl
cyAtPiBXZWJDb29raWVNYW5hZ2VyIHsKICAgICB2b2lkIEdldEhvc3RuYW1lc1dpdGhDb29raWVz
KHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0gICAgdm9pZCBEZWxldGVDb29raWVzRm9ySG9zdG5hbWUo
V1RGOjpTdHJpbmcgaG9zdG5hbWUpCisgICAgdm9pZCBEZWxldGVDb29raWVzRm9ySG9zdG5hbWUo
U3RyaW5nIGhvc3RuYW1lKQogICAgIHZvaWQgRGVsZXRlQWxsQ29va2llcygpCiAKICAgICB2b2lk
IFNldEhUVFBDb29raWVBY2NlcHRQb2xpY3kodWludDMyX3QgcG9saWN5KQpAQCAtMzUsNiArMzUs
NiBAQAogICAgIHZvaWQgU3RvcE9ic2VydmluZ0Nvb2tpZUNoYW5nZXMoKQogCiAjaWYgVVNFKFNP
VVApCi0gICAgU2V0Q29va2llUGVyc2lzdGVudFN0b3JhZ2UoV1RGOjpTdHJpbmcgc3RvcmFnZVBh
dGgsIHVpbnQzMl90IHN0b3JhZ2VUeXBlKQorICAgIFNldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdl
KFN0cmluZyBzdG9yYWdlUGF0aCwgdWludDMyX3Qgc3RvcmFnZVR5cGUpCiAjZW5kaWYKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9j
YXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9HZW9s
b2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggYjk0NDQyOC4u
MjcxNTRmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9HZW9sb2NhdGlv
bi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9HZW9sb2NhdGlvbi9XZWJHZW9sb2NhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4K
QEAgLTIyLDcgKzIyLDcgQEAKIAogbWVzc2FnZXMgLT4gV2ViR2VvbG9jYXRpb25NYW5hZ2VyIHsK
ICAgICBEaWRDaGFuZ2VQb3NpdGlvbihXZWJLaXQ6OldlYkdlb2xvY2F0aW9uUG9zaXRpb246OkRh
dGEgcG9zaXRpb24pOwotICAgIERpZEZhaWxUb0RldGVybWluZVBvc2l0aW9uKFdURjo6U3RyaW5n
IGVycm9yTWVzc2FnZSk7CisgICAgRGlkRmFpbFRvRGV0ZXJtaW5lUG9zaXRpb24oU3RyaW5nIGVy
cm9yTWVzc2FnZSk7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFJlc2V0UGVybWlzc2lvbnMoKTsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYUNhY2hl
L1dlYk1lZGlhQ2FjaGVNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IDVl
ZWU4Y2MuLmMwY2Y4ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVk
aWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIubWVzc2FnZXMu
aW4KQEAgLTIyLDYgKzIyLDYgQEAKIAogbWVzc2FnZXMgLT4gV2ViTWVkaWFDYWNoZU1hbmFnZXIg
ewogICAgIHZvaWQgR2V0SG9zdG5hbWVzV2l0aE1lZGlhQ2FjaGUodWludDY0X3QgY2FsbGJhY2tJ
RCkKLSAgICB2b2lkIENsZWFyQ2FjaGVGb3JIb3N0bmFtZShXVEY6OlN0cmluZyBob3N0bmFtZSkK
KyAgICB2b2lkIENsZWFyQ2FjaGVGb3JIb3N0bmFtZShTdHJpbmcgaG9zdG5hbWUpCiAgICAgdm9p
ZCBDbGVhckNhY2hlRm9yQWxsSG9zdG5hbWVzKCkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlm
aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggYjg4ZjI2Yy4uYTJlNjIzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNh
dGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
b3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTI0LDYg
KzI0LDYgQEAgbWVzc2FnZXMgLT4gV2ViTm90aWZpY2F0aW9uTWFuYWdlciB7CiAgICAgRGlkU2hv
d05vdGlmaWNhdGlvbih1aW50NjRfdCBub3RpZmljYXRpb25JRCk7CiAgICAgRGlkQ2xpY2tOb3Rp
ZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOwogICAgIERpZENsb3NlTm90aWZpY2F0
aW9ucyhWZWN0b3I8dWludDY0X3Q+IG5vdGlmaWNhdGlvbklEcyk7Ci0gICAgRGlkVXBkYXRlTm90
aWZpY2F0aW9uRGVjaXNpb24oV1RGOjpTdHJpbmcgb3JpZ2luU3RyaW5nLCBib29sIGFsbG93ZWQp
OwotICAgIERpZFJlbW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyhWZWN0b3I8V1RGOjpTdHJpbmc+
IG9yaWdpblN0cmluZ3MpOworICAgIERpZFVwZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKFN0cmlu
ZyBvcmlnaW5TdHJpbmcsIGJvb2wgYWxsb3dlZCk7CisgICAgRGlkUmVtb3ZlTm90aWZpY2F0aW9u
RGVjaXNpb25zKFZlY3RvcjxTdHJpbmc+IG9yaWdpblN0cmluZ3MpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDJhNTQ4ZjAuLmRiMzc5ZmIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nv
bm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNCw3ICsyNCw3IEBA
CiAKIG1lc3NhZ2VzIC0+IFBsdWdpblByb2Nlc3NDb25uZWN0aW9uIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICAjIFNldCBhIGdsb2JhbCBKYXZhU2NyaXB0IGV4Y2VwdGlvbi4KLSAgICBTZXRFeGNlcHRp
b24oV1RGOjpTdHJpbmcgZXhjZXB0aW9uU3RyaW5nKSAtPiAoKQorICAgIFNldEV4Y2VwdGlvbihT
dHJpbmcgZXhjZXB0aW9uU3RyaW5nKSAtPiAoKQogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5tZXNzYWdlcy5p
bgppbmRleCA2NTMyMDQ1Li4wYjg1ZTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNCwyOCAr
MjQsMjggQEAKIAogbWVzc2FnZXMgLT4gUGx1Z2luUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAg
ICMgQXNrcyB0aGUgd2ViIHByb2Nlc3MgdG8gbG9hZCBhIFVSTC4KLSAgICBMb2FkVVJMKHVpbnQ2
NF90IHJlcXVlc3RJRCwgV1RGOjpTdHJpbmcgbWV0aG9kLCBXVEY6OlN0cmluZyB1cmxTdHJpbmcs
IFdURjo6U3RyaW5nIHRhcmdldCwgV2ViQ29yZTo6SFRUUEhlYWRlck1hcCBoZWFkZXJGaWVsZHMs
IFZlY3Rvcjx1aW50OF90PiBodHRwQm9keSwgYm9vbCBhbGxvd1BvcHVwcyk7CisgICAgTG9hZFVS
TCh1aW50NjRfdCByZXF1ZXN0SUQsIFN0cmluZyBtZXRob2QsIFN0cmluZyB1cmxTdHJpbmcsIFN0
cmluZyB0YXJnZXQsIFdlYkNvcmU6OkhUVFBIZWFkZXJNYXAgaGVhZGVyRmllbGRzLCBWZWN0b3I8
dWludDhfdD4gaHR0cEJvZHksIGJvb2wgYWxsb3dQb3B1cHMpOwogCiAgICAgIyBDYWxsZWQgd2hl
biB0aGUgcGx1Zy1pbiBoYXMgcGFpbnRlZCBpbnRvIGl0cyBiYWNraW5nIHN0b3JlLiBUaGUgcGFp
bnRlZCByZWN0IGlzIGluIHBsdWctaW4gY29vcmRpbmF0ZXMuCiAgICAgVXBkYXRlKFdlYkNvcmU6
OkludFJlY3QgcGFpbnRlZFJlY3QpCiAKICAgICAjIFJldHVybnMgYSBQQUMgc3R5bGUgc3RyaW5n
IHdpdGggcHJveGllcyBmb3IgdGhlIGdpdmVuIFVSTC4KLSAgICBQcm94aWVzRm9yVVJMKFdURjo6
U3RyaW5nIHVybFN0cmluZykgLT4gKFdURjo6U3RyaW5nIHByb3hpZXNTdHJpbmcpCisgICAgUHJv
eGllc0ZvclVSTChTdHJpbmcgdXJsU3RyaW5nKSAtPiAoU3RyaW5nIHByb3hpZXNTdHJpbmcpCiAK
ICAgICAjIFJldHVybnMgdGhlIGNvb2tpZXMgZm9yIHRoZSBnaXZlbiBVUkwuCi0gICAgQ29va2ll
c0ZvclVSTChXVEY6OlN0cmluZyB1cmxTdHJpbmcpIC0+IChXVEY6OlN0cmluZyBjb29raWVTdHJp
bmcpCisgICAgQ29va2llc0ZvclVSTChTdHJpbmcgdXJsU3RyaW5nKSAtPiAoU3RyaW5nIGNvb2tp
ZVN0cmluZykKIAogICAgICMgU2V0cyB0aGUgY29va2llcyBmb3IgdGhlIGdpdmVuIFVSTC4KLSAg
ICBTZXRDb29raWVzRm9yVVJMKFdURjo6U3RyaW5nIHVybFN0cmluZywgV1RGOjpTdHJpbmcgY29v
a2llU3RyaW5nKQorICAgIFNldENvb2tpZXNGb3JVUkwoU3RyaW5nIHVybFN0cmluZywgU3RyaW5n
IGNvb2tpZVN0cmluZykKIAogICAgICMgR2V0cyB0aGUgYXV0aGVudGljYXRpb24gaW5mbyBmb3Ig
dGhlIGdpdmVuIHByb3RlY3Rpb24gc3BhY2UuCi0gICAgR2V0QXV0aGVudGljYXRpb25JbmZvKFdl
YkNvcmU6OlByb3RlY3Rpb25TcGFjZSBwcm90ZWN0aW9uU3BhY2UpIC0+IChib29sIHJldHVyblZh
bHVlLCBXVEY6OlN0cmluZyB1c2VybmFtZSwgV1RGOjpTdHJpbmcgcGFzc3dvcmQpCisgICAgR2V0
QXV0aGVudGljYXRpb25JbmZvKFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSBwcm90ZWN0aW9uU3Bh
Y2UpIC0+IChib29sIHJldHVyblZhbHVlLCBTdHJpbmcgdXNlcm5hbWUsIFN0cmluZyBwYXNzd29y
ZCkKIAogICAgICMgR2V0cyBhIHJlZmVyZW5jZSB0byB0aGUgcGx1Zy1pbiBlbGVtZW50IE5QT2Jq
ZWN0LgogICAgIEdldFBsdWdpbkVsZW1lbnROUE9iamVjdCgpIC0+ICh1aW50NjRfdCBwbHVnaW5F
bGVtZW50TlBPYmplY3RJRCkKIAogICAgICMgRXZhbHVhdGVzIHRoZSBnaXZlbiBKYXZhU2NyaXB0
IHN0cmluZy4KLSAgICBFdmFsdWF0ZShXZWJLaXQ6Ok5QVmFyaWFudERhdGEgbnBPYmplY3RBc1Zh
cmlhbnREYXRhLCBXVEY6OlN0cmluZyBzY3JpcHRTdHJpbmcsIGJvb2wgYWxsb3dQb3B1cHMpIC0+
IChib29sIHJldHVyblZhbHVlLCBXZWJLaXQ6Ok5QVmFyaWFudERhdGEgcmVzdWx0RGF0YSkKKyAg
ICBFdmFsdWF0ZShXZWJLaXQ6Ok5QVmFyaWFudERhdGEgbnBPYmplY3RBc1ZhcmlhbnREYXRhLCBT
dHJpbmcgc2NyaXB0U3RyaW5nLCBib29sIGFsbG93UG9wdXBzKSAtPiAoYm9vbCByZXR1cm5WYWx1
ZSwgV2ViS2l0OjpOUFZhcmlhbnREYXRhIHJlc3VsdERhdGEpCiAKICAgICAjIENhbmNlbHMgdGhl
IGdpdmVuIHN0cmVhbSBsb2FkLgogICAgIENhbmNlbFN0cmVhbUxvYWQodWludDY0X3Qgc3RyZWFt
SUQpCkBAIC01NCw3ICs1NCw3IEBAIG1lc3NhZ2VzIC0+IFBsdWdpblByb3h5IExlZ2FjeVJlY2Vp
dmVyIHsKICAgICBDYW5jZWxNYW51YWxTdHJlYW1Mb2FkKCkKIAogICAgICMgU2V0IHRoZSBzdGF0
dXMgYmFyIHRleHQuCi0gICAgU2V0U3RhdHVzYmFyVGV4dChXVEY6OlN0cmluZyBzdGF0dXNiYXJU
ZXh0KQorICAgIFNldFN0YXR1c2JhclRleHQoU3RyaW5nIHN0YXR1c2JhclRleHQpCiAKICNpZiBQ
TEFURk9STShNQUMpCiAgICAgIyBDYWxsZWQgd2hlbiB0aGUgcGx1Zy1pbidzIGZvY3VzIG9yIGl0
cyBjb250YWluaW5nIHdpbmRvdyBmb2N1cyBjaGFuZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VBcmVhTWFwLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VBcmVhTWFwLm1lc3NhZ2VzLmlu
CmluZGV4IDA2ZGRlOTQuLmIxNTkwNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvU3RvcmFnZS9TdG9yYWdlQXJlYU1hcC5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZUFyZWFNYXAubWVzc2FnZXMuaW4KQEAgLTIy
LDEwICsyMiwxMCBAQAogCiBtZXNzYWdlcyAtPiBTdG9yYWdlQXJlYU1hcCB7CiAgICAgRGlkR2V0
VmFsdWVzKHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkKQotICAgIERpZFNldEl0ZW0odWludDY0X3Qg
c3RvcmFnZU1hcFNlZWQsIFdURjo6U3RyaW5nIGtleSwgYm9vbCBxdW90YUV4Y2VwdGlvbikKLSAg
ICBEaWRSZW1vdmVJdGVtKHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkLCBXVEY6OlN0cmluZyBrZXkp
CisgICAgRGlkU2V0SXRlbSh1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwgU3RyaW5nIGtleSwgYm9v
bCBxdW90YUV4Y2VwdGlvbikKKyAgICBEaWRSZW1vdmVJdGVtKHVpbnQ2NF90IHN0b3JhZ2VNYXBT
ZWVkLCBTdHJpbmcga2V5KQogICAgIERpZENsZWFyKHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkKQog
Ci0gICAgRGlzcGF0Y2hTdG9yYWdlRXZlbnQodWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwg
V1RGOjpTdHJpbmcga2V5LCBXVEY6OlN0cmluZyBvbGRWYWx1ZSwgV1RGOjpTdHJpbmcgbmV3VmFs
dWUsIFdURjo6U3RyaW5nIHVybFN0cmluZykKKyAgICBEaXNwYXRjaFN0b3JhZ2VFdmVudCh1aW50
NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlELCBTdHJpbmcga2V5LCBTdHJpbmcgb2xkVmFsdWUsIFN0
cmluZyBuZXdWYWx1ZSwgU3RyaW5nIHVybFN0cmluZykKICAgICBDbGVhckNhY2hlKCkKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGF0
YWJhc2VNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJEYXRhYmFzZU1hbmFnZXIubWVzc2FnZXMuaW4KaW5kZXggYTM0NGMwMC4u
YjhmOTJlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJEYXRhYmFzZU1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEYXRhYmFzZU1hbmFnZXIubWVzc2FnZXMuaW4K
QEAgLTI1LDEwICsyNSwxMCBAQAogbWVzc2FnZXMgLT4gV2ViRGF0YWJhc2VNYW5hZ2VyIHsKICAg
ICB2b2lkIEdldERhdGFiYXNlc0J5T3JpZ2luKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgdm9p
ZCBHZXREYXRhYmFzZU9yaWdpbnModWludDY0X3QgY2FsbGJhY2tJRCkKLSAgICB2b2lkIERlbGV0
ZURhdGFiYXNlV2l0aE5hbWVGb3JPcmlnaW4oV1RGOjpTdHJpbmcgZGF0YWJhc2VJZGVudGlmaWVy
LCBXVEY6OlN0cmluZyBvcmlnaW5JZGVudGlmaWVyKQotICAgIHZvaWQgRGVsZXRlRGF0YWJhc2Vz
Rm9yT3JpZ2luKFdURjo6U3RyaW5nIG9yaWdpbklkZW50aWZpZXIpCisgICAgdm9pZCBEZWxldGVE
YXRhYmFzZVdpdGhOYW1lRm9yT3JpZ2luKFN0cmluZyBkYXRhYmFzZUlkZW50aWZpZXIsIFN0cmlu
ZyBvcmlnaW5JZGVudGlmaWVyKQorICAgIHZvaWQgRGVsZXRlRGF0YWJhc2VzRm9yT3JpZ2luKFN0
cmluZyBvcmlnaW5JZGVudGlmaWVyKQogICAgIHZvaWQgRGVsZXRlQWxsRGF0YWJhc2VzKCkKLSAg
ICB2b2lkIFNldFF1b3RhRm9yT3JpZ2luKFdURjo6U3RyaW5nIG9yaWdpbklkZW50aWZpZXIsIHVp
bnQ2NF90IHF1b3RhKQorICAgIHZvaWQgU2V0UXVvdGFGb3JPcmlnaW4oU3RyaW5nIG9yaWdpbklk
ZW50aWZpZXIsIHVpbnQ2NF90IHF1b3RhKQogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRB
QkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJ
bnNwZWN0b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluCmluZGV4IDIyZDJmYjAuLmMyM2I4NmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJJbnNwZWN0b3IubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rv
ci5tZXNzYWdlcy5pbgpAQCAtMjgsOCArMjgsOCBAQCBtZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3Ig
TGVnYWN5UmVjZWl2ZXIgewogICAgIEF0dGFjaGVkQm90dG9tKCkKICAgICBBdHRhY2hlZFJpZ2h0
KCkKICAgICBEZXRhY2hlZCgpCi0gICAgRGlkU2F2ZShXVEY6OlN0cmluZyB1cmwpCi0gICAgRGlk
QXBwZW5kKFdURjo6U3RyaW5nIHVybCkKKyAgICBEaWRTYXZlKFN0cmluZyB1cmwpCisgICAgRGlk
QXBwZW5kKFN0cmluZyB1cmwpCiAgICAgU2hvd0NvbnNvbGUoKQogICAgIFNob3dSZXNvdXJjZXMo
KQogICAgIFNob3dNYWluUmVzb3VyY2VGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlEKQpAQCAtNDEs
NyArNDEsNyBAQCBtZXNzYWdlcyAtPiBXZWJJbnNwZWN0b3IgTGVnYWN5UmVjZWl2ZXIgewogICAg
IFN0b3BQYWdlUHJvZmlsaW5nKCkKIAogI2lmIEVOQUJMRShJTlNQRUNUT1JfU0VSVkVSKQotICAg
IERpc3BhdGNoTWVzc2FnZUZyb21SZW1vdGVGcm9udGVuZChXVEY6OlN0cmluZyBtZXNzYWdlKQor
ICAgIERpc3BhdGNoTWVzc2FnZUZyb21SZW1vdGVGcm9udGVuZChTdHJpbmcgbWVzc2FnZSkKICAg
ICBSZW1vdGVGcm9udGVuZENvbm5lY3RlZCgpCiAgICAgUmVtb3RlRnJvbnRlbmREaXNjb25uZWN0
ZWQoKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IGRkOTM4ZmIuLmI2Mjc3ODEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CkBAIC03MSwxNSArNzEsMTUgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7
CiAgICAgR29Ub0JhY2tGb3J3YXJkSXRlbSh1aW50NjRfdCBiYWNrRm9yd2FyZEl0ZW1JRCkKICAg
ICBUcnlSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKQogCi0gICAgTG9hZFVSTChXVEY6OlN0cmluZyB1
cmwsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNhbmRib3hFeHRlbnNpb25IYW5k
bGUsIFdlYktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFk
aWMKKyAgICBMb2FkVVJMKFN0cmluZyB1cmwsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlIHNhbmRib3hFeHRlbnNpb25IYW5kbGUsIFdlYktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdl
RW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBMb2FkVVJMUmVxdWVzdChXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUg
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNv
ZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwotICAgIExvYWREYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVu
Y2UgZGF0YSwgV1RGOjpTdHJpbmcgTUlNRVR5cGUsIFdURjo6U3RyaW5nIGVuY29kaW5nLCBXVEY6
OlN0cmluZyBiYXNlVVJMLCBXZWJLaXQ6OldlYkNvbnRleHRVc2VyTWVzc2FnZUVuY29kZXIgdXNl
ckRhdGEpIFZhcmlhZGljCi0gICAgTG9hZEhUTUxTdHJpbmcoV1RGOjpTdHJpbmcgaHRtbFN0cmlu
ZywgV1RGOjpTdHJpbmcgYmFzZVVSTCwgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNv
ZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwotICAgIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKFdURjo6
U3RyaW5nIGh0bWxTdHJpbmcsIFdURjo6U3RyaW5nIGJhc2VVUkwsIFdURjo6U3RyaW5nIHVucmVh
Y2hhYmxlVVJMLCBXZWJLaXQ6OldlYkNvbnRleHRVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEp
IFZhcmlhZGljCi0gICAgTG9hZFBsYWluVGV4dFN0cmluZyhXVEY6OlN0cmluZyBzdHJpbmcsIFdl
YktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAg
ICBMb2FkRGF0YShDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIFN0cmluZyBNSU1FVHlwZSwg
U3RyaW5nIGVuY29kaW5nLCBTdHJpbmcgYmFzZVVSTCwgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1l
c3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIExvYWRIVE1MU3RyaW5nKFN0cmlu
ZyBodG1sU3RyaW5nLCBTdHJpbmcgYmFzZVVSTCwgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1lc3Nh
Z2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5n
KFN0cmluZyBodG1sU3RyaW5nLCBTdHJpbmcgYmFzZVVSTCwgU3RyaW5nIHVucmVhY2hhYmxlVVJM
LCBXZWJLaXQ6OldlYkNvbnRleHRVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGlj
CisgICAgTG9hZFBsYWluVGV4dFN0cmluZyhTdHJpbmcgc3RyaW5nLCBXZWJLaXQ6OldlYkNvbnRl
eHRVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgTG9hZFdlYkFyY2hp
dmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2Ugd2ViQXJjaGl2ZURhdGEsIFdlYktpdDo6V2Vi
Q29udGV4dFVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKIAotICAgIExpbmtD
bGlja2VkKFdURjo6U3RyaW5nIHVybCwgV2ViS2l0OjpXZWJNb3VzZUV2ZW50IGV2ZW50KQorICAg
IExpbmtDbGlja2VkKFN0cmluZyB1cmwsIFdlYktpdDo6V2ViTW91c2VFdmVudCBldmVudCkKIAog
ICAgIFJlbG9hZChib29sIHJlbG9hZEZyb21PcmlnaW4sIFdlYktpdDo6U2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpCiAgICAgU3RvcExvYWRpbmcoKQpAQCAt
MTAyLDEzICsxMDIsMTMgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAg
ICAgR2V0Q29udGVudHNBc01IVE1MRGF0YSh1aW50NjRfdCBjYWxsYmFja0lELCBib29sIHVzZUJp
bmFyeUVuY29kaW5nKQogI2VuZGlmCiAgICAgR2V0TWFpblJlc291cmNlRGF0YU9mRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgdWludDY0X3QgY2FsbGJhY2tJRCkKLSAgICBHZXRSZXNvdXJjZURhdGFG
cm9tRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgcmVzb3VyY2VVUkwsIHVpbnQ2
NF90IGNhbGxiYWNrSUQpCisgICAgR2V0UmVzb3VyY2VEYXRhRnJvbUZyYW1lKHVpbnQ2NF90IGZy
YW1lSUQsIFN0cmluZyByZXNvdXJjZVVSTCwgdWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBHZXRS
ZW5kZXJUcmVlRXh0ZXJuYWxSZXByZXNlbnRhdGlvbih1aW50NjRfdCBjYWxsYmFja0lEKQogICAg
IEdldFNlbGVjdGlvbk9yQ29udGVudHNBc1N0cmluZyh1aW50NjRfdCBjYWxsYmFja0lEKQogICAg
IEdldFNlbGVjdGlvbkFzV2ViQXJjaGl2ZURhdGEodWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBH
ZXRTb3VyY2VGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBjYWxsYmFja0lEKQog
ICAgIEdldFdlYkFyY2hpdmVPZkZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IGNhbGxi
YWNrSUQpCi0gICAgUnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lKFdURjo6U3RyaW5nIHNjcmlwdCwg
dWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBSdW5KYXZhU2NyaXB0SW5NYWluRnJhbWUoU3RyaW5n
IHNjcmlwdCwgdWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBGb3JjZVJlcGFpbnQodWludDY0X3Qg
Y2FsbGJhY2tJRCkKIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTExOCw4ICsxMTgsOCBAQCBtZXNz
YWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKIAogICAgIFByZWZlcmVuY2VzRGlkQ2hh
bmdlKFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZSBzdG9yZSkKIAotICAgIFNldFVzZXJBZ2Vu
dChXVEY6OlN0cmluZyB1c2VyQWdlbnQpCi0gICAgU2V0Q3VzdG9tVGV4dEVuY29kaW5nTmFtZShX
VEY6OlN0cmluZyBlbmNvZGluZ05hbWUpCisgICAgU2V0VXNlckFnZW50KFN0cmluZyB1c2VyQWdl
bnQpCisgICAgU2V0Q3VzdG9tVGV4dEVuY29kaW5nTmFtZShTdHJpbmcgZW5jb2RpbmdOYW1lKQog
CiAgICAgU3VzcGVuZEFjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zKCkKICAgICBSZXN1bWVB
Y3RpdmVET01PYmplY3RzQW5kQW5pbWF0aW9ucygpCkBAIC0xMjcsOCArMTI3LDggQEAgbWVzc2Fn
ZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgQ2xvc2UoKQogICAgIFRyeUNsb3Nl
KCkKIAotICAgIFZhbGlkYXRlQ29tbWFuZChXVEY6OlN0cmluZyBuYW1lLCB1aW50NjRfdCBjYWxs
YmFja0lEKQotICAgIEV4ZWN1dGVFZGl0Q29tbWFuZChXVEY6OlN0cmluZyBuYW1lKQorICAgIFZh
bGlkYXRlQ29tbWFuZChTdHJpbmcgbmFtZSwgdWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBFeGVj
dXRlRWRpdENvbW1hbmQoU3RyaW5nIG5hbWUpCiAKICAgICBEaWRSZW1vdmVFZGl0Q29tbWFuZCh1
aW50NjRfdCBjb21tYW5kSUQpCiAgICAgUmVhcHBseUVkaXRDb21tYW5kKHVpbnQ2NF90IGNvbW1h
bmRJRCkKQEAgLTE1MSwyMiArMTUxLDIyIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVj
ZWl2ZXIgewogICAgIFNldFBhZ2VMZW5ndGgoZG91YmxlIHBhZ2VMZW5ndGgpCiAgICAgU2V0R2Fw
QmV0d2VlblBhZ2VzKGRvdWJsZSBnYXApCiAKLSAgICBQb3N0SW5qZWN0ZWRCdW5kbGVNZXNzYWdl
KFdURjo6U3RyaW5nIG1lc3NhZ2VOYW1lLCBXZWJLaXQ6OldlYkNvbnRleHRVc2VyTWVzc2FnZUVu
Y29kZXIgbWVzc2FnZUJvZHkpIFZhcmlhZGljCisgICAgUG9zdEluamVjdGVkQnVuZGxlTWVzc2Fn
ZShTdHJpbmcgbWVzc2FnZU5hbWUsIFdlYktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2Rl
ciBtZXNzYWdlQm9keSkgVmFyaWFkaWMKIAogICAgICMgRmluZC4KLSAgICBGaW5kU3RyaW5nKFdU
Rjo6U3RyaW5nIHN0cmluZywgdWludDMyX3QgZmluZE9wdGlvbnMsIHVuc2lnbmVkIG1heE1hdGNo
Q291bnQpCi0gICAgRmluZFN0cmluZ01hdGNoZXMoV1RGOjpTdHJpbmcgc3RyaW5nLCB1aW50MzJf
dCBmaW5kT3B0aW9ucywgdW5zaWduZWQgbWF4TWF0Y2hDb3VudCkKKyAgICBGaW5kU3RyaW5nKFN0
cmluZyBzdHJpbmcsIHVpbnQzMl90IGZpbmRPcHRpb25zLCB1bnNpZ25lZCBtYXhNYXRjaENvdW50
KQorICAgIEZpbmRTdHJpbmdNYXRjaGVzKFN0cmluZyBzdHJpbmcsIHVpbnQzMl90IGZpbmRPcHRp
b25zLCB1bnNpZ25lZCBtYXhNYXRjaENvdW50KQogICAgIEdldEltYWdlRm9yRmluZE1hdGNoKHVp
bnQzMl90IG1hdGNoSW5kZXgpCiAgICAgU2VsZWN0RmluZE1hdGNoKHVpbnQzMl90IG1hdGNoSW5k
ZXgpCiAgICAgSGlkZUZpbmRVSSgpCi0gICAgQ291bnRTdHJpbmdNYXRjaGVzKFdURjo6U3RyaW5n
IHN0cmluZywgdWludDMyX3QgZmluZE9wdGlvbnMsIHVuc2lnbmVkIG1heE1hdGNoQ291bnQpCisg
ICAgQ291bnRTdHJpbmdNYXRjaGVzKFN0cmluZyBzdHJpbmcsIHVpbnQzMl90IGZpbmRPcHRpb25z
LCB1bnNpZ25lZCBtYXhNYXRjaENvdW50KQogCiAgICAgIyBEcmFnIGFuZCBkcm9wLgogI2lmIFBM
QVRGT1JNKEdUSykgJiYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBQZXJmb3JtRHJhZ0NvbnRy
b2xsZXJBY3Rpb24odWludDY0X3QgYWN0aW9uLCBXZWJDb3JlOjpEcmFnRGF0YSBkcmFnRGF0YSkK
ICNlbmRpZgogI2lmICFQTEFURk9STShHVEspICYmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi0gICAg
UGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKHVpbnQ2NF90IGFjdGlvbiwgV2ViQ29yZTo6SW50
UG9pbnQgY2xpZW50UG9zaXRpb24sIFdlYkNvcmU6OkludFBvaW50IGdsb2JhbFBvc2l0aW9uLCB1
aW50NjRfdCBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2ssIFdURjo6U3RyaW5nIGRyYWdTdG9y
YWdlTmFtZSwgdWludDMyX3QgZmxhZ3MsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
IHNhbmRib3hFeHRlbnNpb25IYW5kbGUsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
QXJyYXkgc2FuZGJveEV4dGVuc2lvbnNGb3JVcGxvYWQpCisgICAgUGVyZm9ybURyYWdDb250cm9s
bGVyQWN0aW9uKHVpbnQ2NF90IGFjdGlvbiwgV2ViQ29yZTo6SW50UG9pbnQgY2xpZW50UG9zaXRp
b24sIFdlYkNvcmU6OkludFBvaW50IGdsb2JhbFBvc2l0aW9uLCB1aW50NjRfdCBkcmFnZ2luZ1Nv
dXJjZU9wZXJhdGlvbk1hc2ssIFN0cmluZyBkcmFnU3RvcmFnZU5hbWUsIHVpbnQzMl90IGZsYWdz
LCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBzYW5kYm94RXh0ZW5zaW9uSGFuZGxl
LCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5IHNhbmRib3hFeHRlbnNpb25z
Rm9yVXBsb2FkKQogI2VuZGlmCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBEcmFnRW5k
ZWQoV2ViQ29yZTo6SW50UG9pbnQgY2xpZW50UG9zaXRpb24sIFdlYkNvcmU6OkludFBvaW50IGds
b2JhbFBvc2l0aW9uLCB1aW50NjRfdCBvcGVyYXRpb24pCkBAIC0xODUsNyArMTg1LDcgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAjZW5kaWYKIAogICAgICMgT3BlbiBw
YW5lbC4KLSAgICBEaWRDaG9vc2VGaWxlc0Zvck9wZW5QYW5lbChWZWN0b3I8V1RGOjpTdHJpbmc+
IGZpbGVVUkxzKQorICAgIERpZENob29zZUZpbGVzRm9yT3BlblBhbmVsKFZlY3RvcjxTdHJpbmc+
IGZpbGVVUkxzKQogICAgIERpZENhbmNlbEZvck9wZW5QYW5lbCgpCiAjaWYgRU5BQkxFKFdFQl9Q
Uk9DRVNTX1NBTkRCT1gpCiAgICAgRXh0ZW5kU2FuZGJveEZvckZpbGVGcm9tT3BlblBhbmVsKFdl
YktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpCkBA
IC0xOTMsNyArMTkzLDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAK
ICAgICAjIFNwZWxsaW5nIGFuZCBncmFtbWFyLgogICAgIEFkdmFuY2VUb05leHRNaXNzcGVsbGlu
Zyhib29sIHN0YXJ0QmVmb3JlU2VsZWN0aW9uKQotICAgIENoYW5nZVNwZWxsaW5nVG9Xb3JkKFdU
Rjo6U3RyaW5nIHdvcmQpCisgICAgQ2hhbmdlU3BlbGxpbmdUb1dvcmQoU3RyaW5nIHdvcmQpCiAg
ICAgRGlkRmluaXNoQ2hlY2tpbmdUZXh0KHVpbnQ2NF90IHJlcXVlc3RJRCwgVmVjdG9yPFdlYkNv
cmU6OlRleHRDaGVja2luZ1Jlc3VsdD4gcmVzdWx0KQogICAgIERpZENhbmNlbENoZWNraW5nVGV4
dCh1aW50NjRfdCByZXF1ZXN0SUQpCiAjaWYgVVNFKEFQUEtJVCkKQEAgLTI0MSw3ICsyNDEsNyBA
QCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTZXRDYW5SdW5Nb2Rh
bChib29sIGNhblJ1bk1vZGFsKQogCiAjaWYgUExBVEZPUk0oRUZMKQotICAgIFNldFRoZW1lUGF0
aChXVEY6OlN0cmluZyB0aGVtZVBhdGgpCisgICAgU2V0VGhlbWVQYXRoKFN0cmluZyB0aGVtZVBh
dGgpCiAjZW5kaWYKIAogI2lmIFVTRShUSUxFRF9CQUNLSU5HX1NUT1JFKQpAQCAtMjQ5LDggKzI0
OSw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogI2VuZGlmCiAKICNp
ZiBQTEFURk9STShHVEspCi0gICAgU2V0Q29tcG9zaXRpb24oV1RGOjpTdHJpbmcgdGV4dCwgVmVj
dG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1aW50NjRfdCBz
ZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5kLCB1aW50NjRfdCByZXBsYWNlbWVu
dFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQpCi0gICAgQ29uZmlybUNv
bXBvc2l0aW9uKFdURjo6U3RyaW5nIHRleHQsIGludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIGludDY0
X3Qgc2VsZWN0aW9uTGVuZ3RoKQorICAgIFNldENvbXBvc2l0aW9uKFN0cmluZyB0ZXh0LCBWZWN0
b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2NF90IHNl
bGVjdGlvblN0YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQsIHVpbnQ2NF90IHJlcGxhY2VtZW50
UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCkKKyAgICBDb25maXJtQ29t
cG9zaXRpb24oU3RyaW5nIHRleHQsIGludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIGludDY0X3Qgc2Vs
ZWN0aW9uTGVuZ3RoKQogICAgIENhbmNlbENvbXBvc2l0aW9uKCkKICNlbmRpZgogCkBAIC0yNjIs
MTUgKzI2MiwxNSBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBW
aWV3RXhwb3NlZFJlY3RDaGFuZ2VkKFdlYkNvcmU6OkZsb2F0UmVjdCBleHBvc2VkUmVjdCwgYm9v
bCBjbGlwc1RvRXhwb3NlZFJlY3QpCiAgICAgU2V0TWFpbkZyYW1lSXNTY3JvbGxhYmxlKGJvb2wg
aXNTY3JvbGxhYmxlKQogICAgIFJlZ2lzdGVyVUlQcm9jZXNzQWNjZXNzaWJpbGl0eVRva2VucyhD
b3JlSVBDOjpEYXRhUmVmZXJlbmNlIGVsZW1lblRva2VuLCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNl
IHdpbmRvd1Rva2VuKQotICAgIEdldFN0cmluZ1NlbGVjdGlvbkZvclBhc3RlYm9hcmQoKSAtPiAo
V1RGOjpTdHJpbmcgc3RyaW5nVmFsdWUpCi0gICAgR2V0RGF0YVNlbGVjdGlvbkZvclBhc3RlYm9h
cmQoV1RGOjpTdHJpbmcgcGFzdGVib2FyZFR5cGUpIC0+IChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6
SGFuZGxlIGhhbmRsZSwgdWludDY0X3Qgc2l6ZSkKLSAgICBSZWFkU2VsZWN0aW9uRnJvbVBhc3Rl
Ym9hcmQoV1RGOjpTdHJpbmcgcGFzdGVib2FyZE5hbWUpIC0+IChib29sIHJlc3VsdCkKKyAgICBH
ZXRTdHJpbmdTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkKCkgLT4gKFN0cmluZyBzdHJpbmdWYWx1ZSkK
KyAgICBHZXREYXRhU2VsZWN0aW9uRm9yUGFzdGVib2FyZChTdHJpbmcgcGFzdGVib2FyZFR5cGUp
IC0+IChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGhhbmRsZSwgdWludDY0X3Qgc2l6ZSkK
KyAgICBSZWFkU2VsZWN0aW9uRnJvbVBhc3RlYm9hcmQoU3RyaW5nIHBhc3RlYm9hcmROYW1lKSAt
PiAoYm9vbCByZXN1bHQpCiAKICAgICAjIFRleHQgaW5wdXQuCi0gICAgU2V0Q29tcG9zaXRpb24o
V1RGOjpTdHJpbmcgdGV4dCwgVmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1
bmRlcmxpbmVzLCB1aW50NjRfdCBzZWxlY3Rpb25TdGFydCwgdWludDY0X3Qgc2VsZWN0aW9uRW5k
LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFu
Z2VFbmQpIC0+IChXZWJLaXQ6OkVkaXRvclN0YXRlIG5ld1N0YXRlKQorICAgIFNldENvbXBvc2l0
aW9uKFN0cmluZyB0ZXh0LCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVu
ZGVybGluZXMsIHVpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQs
IHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5n
ZUVuZCkgLT4gKFdlYktpdDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUpCiAgICAgQ29uZmlybUNvbXBv
c2l0aW9uKCkgLT4gKFdlYktpdDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUpCiAgICAgQ2FuY2VsQ29t
cG9zaXRpb24oKSAtPiAoV2ViS2l0OjpFZGl0b3JTdGF0ZSBuZXdTdGF0ZSkKLSAgICBJbnNlcnRU
ZXh0KFdURjo6U3RyaW5nIHRleHQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwgdWlu
dDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCkgLT4gKGJvb2wgaGFuZGxlZCwgV2ViS2l0OjpFZGl0
b3JTdGF0ZSBuZXdTdGF0ZSkKKyAgICBJbnNlcnRUZXh0KFN0cmluZyB0ZXh0LCB1aW50NjRfdCBy
ZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQpIC0+IChi
b29sIGhhbmRsZWQsIFdlYktpdDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUpCiAgICAgR2V0TWFya2Vk
UmFuZ2UoKSAtPiAodWludDY0X3QgbG9jYXRpb24sIHVpbnQ2NF90IGxlbmd0aCkKICAgICBHZXRT
ZWxlY3RlZFJhbmdlKCkgLT4gKHVpbnQ2NF90IGxvY2F0aW9uLCB1aW50NjRfdCBsZW5ndGgpCiAg
ICAgR2V0QXR0cmlidXRlZFN1YnN0cmluZ0Zyb21SYW5nZSh1aW50NjRfdCBsb2NhdGlvbiwgdWlu
dDY0X3QgbGVuZ3RoKSAtPiAoV2ViS2l0OjpBdHRyaWJ1dGVkU3RyaW5nIHJlc3VsdCkKQEAgLTI3
OSwxNSArMjc5LDE1IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAg
IEV4ZWN1dGVLZXlwcmVzc0NvbW1hbmRzKFZlY3RvcjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+
IHNhdmVkQ29tbWFuZHMpIC0+IChib29sIGhhbmRsZWQsIFdlYktpdDo6RWRpdG9yU3RhdGUgbmV3
U3RhdGUpCiAgICAgU2hvdWxkRGVsYXlXaW5kb3dPcmRlcmluZ0V2ZW50KFdlYktpdDo6V2ViTW91
c2VFdmVudCBldmVudCkgLT4gKGJvb2wgcmVzdWx0KQogICAgIEFjY2VwdHNGaXJzdE1vdXNlKGlu
dCBldmVudE51bWJlciwgV2ViS2l0OjpXZWJNb3VzZUV2ZW50IGV2ZW50KSAtPiAoYm9vbCByZXN1
bHQpCi0gICAgSW5zZXJ0RGljdGF0ZWRUZXh0KFdURjo6U3RyaW5nIHRleHQsIHVpbnQ2NF90IHJl
cGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCwgVmVjdG9y
PFdlYkNvcmU6OkRpY3RhdGlvbkFsdGVybmF0aXZlPiBkaWN0YXRpb25BbHRlcm5hdGl2ZXMpIC0+
IChib29sIGhhbmRsZWQsIFdlYktpdDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUpCisgICAgSW5zZXJ0
RGljdGF0ZWRUZXh0KFN0cmluZyB0ZXh0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQs
IHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQsIFZlY3RvcjxXZWJDb3JlOjpEaWN0YXRpb25B
bHRlcm5hdGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzKSAtPiAoYm9vbCBoYW5kbGVkLCBXZWJL
aXQ6OkVkaXRvclN0YXRlIG5ld1N0YXRlKQogI2VuZGlmCiAKICAgICBTZXRNaW5pbXVtTGF5b3V0
U2l6ZShXZWJDb3JlOjpJbnRTaXplIG1pbmltdW1MYXlvdXRTaXplKQogICAgIFNldEF1dG9TaXpp
bmdTaG91bGRFeHBhbmRUb1ZpZXdIZWlnaHQoYm9vbCBzaG91bGRFeHBhbmQpCiAKICNpZiBQTEFU
Rk9STShFRkwpCi0gICAgQ29uZmlybUNvbXBvc2l0aW9uKFdURjo6U3RyaW5nIGNvbXBvc2l0aW9u
U3RyaW5nKQotICAgIFNldENvbXBvc2l0aW9uKFdURjo6U3RyaW5nIGNvbXBvc2l0aW9uU3RyaW5n
LCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2
NF90IGN1cnNvclBvc2l0aW9uKQorICAgIENvbmZpcm1Db21wb3NpdGlvbihTdHJpbmcgY29tcG9z
aXRpb25TdHJpbmcpCisgICAgU2V0Q29tcG9zaXRpb24oU3RyaW5nIGNvbXBvc2l0aW9uU3RyaW5n
LCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2
NF90IGN1cnNvclBvc2l0aW9uKQogICAgIENhbmNlbENvbXBvc2l0aW9uKCkKICNlbmRpZgogI2lm
IFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCBhMDlmZjU2Li43ZWM0NmY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0z
NSwxNyArMzUsMTcgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAg
ICAgIyBHbG9iYWwgcHJlZmVyZW5jZXMuCiAgICAgU2V0U2hvdWxkVHJhY2tWaXNpdGVkTGlua3Mo
Ym9vbCBzaG91bGRUcmFja1Zpc2l0ZWRMaW5rcykKICAgICBTZXRDYWNoZU1vZGVsKHVpbnQzMl90
IGNhY2hlTW9kZWwpCi0gICAgUmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoV1RGOjpT
dHJpbmcgc2NoZW1lKQotICAgIFJlZ2lzdGVyVVJMU2NoZW1lQXNTZWN1cmUoV1RGOjpTdHJpbmcg
c2NoZW1lKQotICAgIFNldERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoV1RG
OjpTdHJpbmcgc2NoZW1lKQotICAgIFJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbChXVEY6OlN0cmlu
ZyBzY2hlbWUpCi0gICAgUmVnaXN0ZXJVUkxTY2hlbWVBc05vQWNjZXNzKFdURjo6U3RyaW5nIHNj
aGVtZSkKLSAgICBSZWdpc3RlclVSTFNjaGVtZUFzRGlzcGxheUlzb2xhdGVkKFdURjo6U3RyaW5n
IHNjaGVtZSkKLSAgICBSZWdpc3RlclVSTFNjaGVtZUFzQ09SU0VuYWJsZWQoV1RGOjpTdHJpbmcg
c2NoZW1lKQorICAgIFJlZ2lzdGVyVVJMU2NoZW1lQXNFbXB0eURvY3VtZW50KFN0cmluZyBzY2hl
bWUpCisgICAgUmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZShTdHJpbmcgc2NoZW1lKQorICAgIFNl
dERvbWFpblJlbGF4YXRpb25Gb3JiaWRkZW5Gb3JVUkxTY2hlbWUoU3RyaW5nIHNjaGVtZSkKKyAg
ICBSZWdpc3RlclVSTFNjaGVtZUFzTG9jYWwoU3RyaW5nIHNjaGVtZSkKKyAgICBSZWdpc3RlclVS
TFNjaGVtZUFzTm9BY2Nlc3MoU3RyaW5nIHNjaGVtZSkKKyAgICBSZWdpc3RlclVSTFNjaGVtZUFz
RGlzcGxheUlzb2xhdGVkKFN0cmluZyBzY2hlbWUpCisgICAgUmVnaXN0ZXJVUkxTY2hlbWVBc0NP
UlNFbmFibGVkKFN0cmluZyBzY2hlbWUpCiAgICAgU2V0RGVmYXVsdFJlcXVlc3RUaW1lb3V0SW50
ZXJ2YWwoZG91YmxlIHRpbWVvdXRJbnRlcnZhbCkKICAgICBTZXRBbHdheXNVc2VzQ29tcGxleFRl
eHRDb2RlUGF0aChib29sIGFsd2F5c1VzZUNvbXBsZXhUZXh0KQogICAgIFNldFNob3VsZFVzZUZv
bnRTbW9vdGhpbmcoYm9vbCB1c2VGb250U21vb3RoaW5nKQotICAgIFVzZXJQcmVmZXJyZWRMYW5n
dWFnZXNDaGFuZ2VkKFZlY3RvcjxXVEY6OlN0cmluZz4gbGFuZ3VhZ2VzKQorICAgIFVzZXJQcmVm
ZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKFZlY3RvcjxTdHJpbmc+IGxhbmd1YWdlcykKICAgICBGdWxs
S2V5Ym9hcmRBY2Nlc3NNb2RlQ2hhbmdlZChib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQp
CiAjaWYgVVNFKFNPVVApCiAgICAgU2V0SWdub3JlVExTRXJyb3JzKGJvb2wgaWdub3JlVExTRXJy
b3JzKQpAQCAtNTksNyArNTksNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2Vp
dmVyIHsKICAgICBEaWRBZGRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoKHVpbnQzMl90IGhhc2gs
IGRvdWJsZSBleHBpcmF0aW9uVGltZSkKICAgICBSZXNldFBsdWdJbkF1dG9TdGFydE9yaWdpbkhh
c2hlcyhIYXNoTWFwPHVpbnQzMl90LGRvdWJsZT4gaGFzaGVzKQogCi0gICAgdm9pZCBTdGFydE1l
bW9yeVNhbXBsZXIoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2FtcGxlTG9nRmls
ZUhhbmRsZSwgV1RGOjpTdHJpbmcgc2FtcGxlTG9nRmlsZVBhdGgsIGRvdWJsZSBpbnRlcnZhbCk7
CisgICAgdm9pZCBTdGFydE1lbW9yeVNhbXBsZXIoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpI
YW5kbGUgc2FtcGxlTG9nRmlsZUhhbmRsZSwgU3RyaW5nIHNhbXBsZUxvZ0ZpbGVQYXRoLCBkb3Vi
bGUgaW50ZXJ2YWwpOwogICAgIHZvaWQgU3RvcE1lbW9yeVNhbXBsZXIoKTsKIAogICAgICMgRG93
bmxvYWRzLiBUaGlzIHNob3VsZCByZWFsbHkgYmUgaW4gYSBEb3dubG9hZC5tZXNzYWdlcy5pbiwg
YnV0IGl0IHNlZW1lZCB1bm5lY2Vzc2FyeSB0byBjcmVhdGUgYSBuZXcgZmlsZSBqdXN0IGZvcgpA
QCAtODQsNiArODQsNiBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsK
ICNlbmRpZgogCiAjaWYgIUVOQUJMRShORVRXT1JLX1BST0NFU1MpICYmIFVTRShTT1VQKQotICAg
IEFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OkNlcnRpZmljYXRl
SW5mbyBjZXJ0aWZpY2F0ZSwgV1RGOjpTdHJpbmcgaG9zdCkKKyAgICBBbGxvd1NwZWNpZmljSFRU
UFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUs
IFN0cmluZyBob3N0KQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5tZXNzYWdlcy5pbgpp
bmRleCBiMTU4ODA1Li4yYTA3ZWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIubWVzc2FnZXMuaW4K
QEAgLTIxLDggKzIxLDggQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gV2ViU291cFJl
cXVlc3RNYW5hZ2VyIHsKLSAgICBSZWdpc3RlclVSSVNjaGVtZShXVEY6OlN0cmluZyB1cmlTY2hl
bWUpOwotICAgIERpZEhhbmRsZVVSSVJlcXVlc3QoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSByZXF1
ZXN0RGF0YSwgdWludDY0X3QgY29udGVudExlbmd0aCwgV1RGOjpTdHJpbmcgbWltZVR5cGUsIHVp
bnQ2NF90IHJlcXVlc3RJRCk7CisgICAgUmVnaXN0ZXJVUklTY2hlbWUoU3RyaW5nIHVyaVNjaGVt
ZSk7CisgICAgRGlkSGFuZGxlVVJJUmVxdWVzdChDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIHJlcXVl
c3REYXRhLCB1aW50NjRfdCBjb250ZW50TGVuZ3RoLCBTdHJpbmcgbWltZVR5cGUsIHVpbnQ2NF90
IHJlcXVlc3RJRCk7CiAgICAgRGlkUmVjZWl2ZVVSSVJlcXVlc3REYXRhKENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2UgcmVxdWVzdERhdGEsIHVpbnQ2NF90IHJlcXVlc3RJRCk7CiAgICAgRGlkRmFpbFVS
SVJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgdWludDY0X3QgcmVxdWVzdElE
KTsKIH0K
</data>
<flag name="commit-queue"
          id="241376"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218145</attachid>
            <date>2013-12-02 00:25:41 -0800</date>
            <delta_ts>2013-12-03 11:35:54 -0800</delta_ts>
            <desc>Removes WTF prefix from messages.in files, update for mac.</desc>
            <filename>messages_in_wtf_prefix_removal.patch</filename>
            <type>text/plain</type>
            <size>77705</size>
            <attacher name="Tamas Gergely">tgergely.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA4OGZhYTBiLi5iY2IzMzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTAg
QEAKKzIwMTMtMTItMDIgIFRhbWFzIEdlcmdlbHkgIDx0Z2VyZ2VseS51LXN6ZWdlZEBwYXJ0bmVy
LnNhbXN1bmcuY29tPgorCisgICAgICAgIFJlbW92ZSBXVEY6OiBwcmVmaXggZnJvbSB0eXBlcyBp
biBtZXNzYWdlcy5pbiBmaWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNDU3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoZSBXVEY6OiBwcmVmaXhlcyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBtZXNz
YWdlcy5pbiBmaWxlcywgYW5kIHRoZQorICAgICAgICBtZXNzYWdlcy5weSBub3cgaGFuZGxlcyB1
bnByZWZpeGVkIG5vbi10ZW1wbGF0ZSBXVEYgY2xhc3NlcyAob25seQorICAgICAgICB0aGUgV1RG
OjpTdHJpbmcgY2xhc3MgaXMgdXNlZCBjdXJyZW50bHkpLiBUZXN0cyBhcmUgYWxzbyB1cGRhdGVk
LgorCisgICAgICAgICogRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJ
REJDb25uZWN0aW9uLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFBsdWdpblByb2Nl
c3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFBsdWdpblBy
b2Nlc3MvUGx1Z2luUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dDIvbWVzc2FnZXMucHk6CisgICAgICAgIChmb3J3YXJkX2RlY2xhcmF0aW9uc19hbmRfaGVhZGVy
cyk6CisgICAgICAgIChjbGFzc190ZW1wbGF0ZV9oZWFkZXJzKToKKyAgICAgICAgKGFyZ3VtZW50
X2NvZGVyX2hlYWRlcnNfZm9yX3R5cGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0Mi9tZXNz
YWdlc191bml0dGVzdC5weToKKyAgICAgICAgKHN0ZCk6CisgICAgICAgICogU2hhcmVkL05ldHdv
cmsvQ3VzdG9tUHJvdG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkubWVzc2FnZXMuaW46Cisg
ICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFVJUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkRhdGFiYXNlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJJY29uRGF0YWJhc2UubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29v
a2llTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dlb2xvY2F0aW9u
L1dlYkdlb2xvY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L01lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICog
V2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXIubWVzc2FnZXMu
aW46CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZUFyZWFNYXAu
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEYXRh
YmFzZU1hbmFnZXIubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
Ykluc3BlY3Rvci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5t
ZXNzYWdlcy5pbjoKKwogMjAxMy0xMi0wMSAgQ2hhbmdTZW9rIE9oICA8Y2hhbmdzZW9rLm9oQGNv
bGxhYm9yYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBHdGsgcG9ydCBCdWlsZCBmaXggYWZ0
ZXIgcjE1OTkwMwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0lu
ZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJDb25u
ZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDQ4MzJmMzguLjkxZGJiNDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvRGF0YWJhc2VQcm9jZXNzSURC
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nl
c3MvSW5kZXhlZERCL0RhdGFiYXNlUHJvY2Vzc0lEQkNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAg
LTIzLDcgKzIzLDcgQEAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkgJiYgRU5BQkxFKERB
VEFCQVNFX1BST0NFU1MpCiAKIG1lc3NhZ2VzIC0+IERhdGFiYXNlUHJvY2Vzc0lEQkNvbm5lY3Rp
b24gTGVnYWN5UmVjZWl2ZXIgewotICAgIEVzdGFibGlzaENvbm5lY3Rpb24oV1RGOjpTdHJpbmcg
ZGF0YWJhc2VOYW1lLCBXZWJLaXQ6OlNlY3VyaXR5T3JpZ2luRGF0YSBvcGVuaW5nT3JpZ2luLCBX
ZWJLaXQ6OlNlY3VyaXR5T3JpZ2luRGF0YSBtYWluRnJhbWVPcmlnaW4pCisgICAgRXN0YWJsaXNo
Q29ubmVjdGlvbihTdHJpbmcgZGF0YWJhc2VOYW1lLCBXZWJLaXQ6OlNlY3VyaXR5T3JpZ2luRGF0
YSBvcGVuaW5nT3JpZ2luLCBXZWJLaXQ6OlNlY3VyaXR5T3JpZ2luRGF0YSBtYWluRnJhbWVPcmln
aW4pCiAgICAgR2V0T3JFc3RhYmxpc2hJREJEYXRhYmFzZU1ldGFkYXRhKHVpbnQ2NF90IHJlcXVl
c3RJRCkKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgpp
bmRleCBiMmNlMWJlLi43ZTg5MDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbgpAQCAtMzUsMTIgKzM1LDEyIEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTdGFydERvd25sb2FkKGJv
b2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgdWludDY0X3QgZG93bmxvYWRJRCwgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QpCiAgICAgQ29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rv
d25sb2FkKHVpbnQ2NF90IG1haW5SZXNvdXJjZUxvYWRJZGVudGlmaWVyLCB1aW50NjRfdCBkb3du
bG9hZElELCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSByZXNwb25zZSkKIAotICAgIENvb2tpZXNGb3JET00oYm9vbCBwcml2YXRlQnJv
d3NpbmdFbmFibGVkLCBXZWJDb3JlOjpVUkwgZmlyc3RQYXJ0eSwgV2ViQ29yZTo6VVJMIHVybCkg
LT4gKFdURjo6U3RyaW5nIHJlc3VsdCkKLSAgICBTZXRDb29raWVzRnJvbURPTShib29sIHByaXZh
dGVCcm93c2luZ0VuYWJsZWQsIFdlYkNvcmU6OlVSTCBmaXJzdFBhcnR5LCBXZWJDb3JlOjpVUkwg
dXJsLCBXVEY6OlN0cmluZyBjb29raWVTdHJpbmcpCisgICAgQ29va2llc0ZvckRPTShib29sIHBy
aXZhdGVCcm93c2luZ0VuYWJsZWQsIFdlYkNvcmU6OlVSTCBmaXJzdFBhcnR5LCBXZWJDb3JlOjpV
UkwgdXJsKSAtPiAoU3RyaW5nIHJlc3VsdCkKKyAgICBTZXRDb29raWVzRnJvbURPTShib29sIHBy
aXZhdGVCcm93c2luZ0VuYWJsZWQsIFdlYkNvcmU6OlVSTCBmaXJzdFBhcnR5LCBXZWJDb3JlOjpV
UkwgdXJsLCBTdHJpbmcgY29va2llU3RyaW5nKQogICAgIENvb2tpZXNFbmFibGVkKGJvb2wgcHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCwgV2ViQ29yZTo6VVJMIGZpcnN0UGFydHksIFdlYkNvcmU6OlVS
TCB1cmwpIC0+IChib29sIGVuYWJsZWQpCi0gICAgQ29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFs
dWUoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBXZWJDb3JlOjpVUkwgZmlyc3RQYXJ0eSwg
V2ViQ29yZTo6VVJMIHVybCkgLT4gKFdURjo6U3RyaW5nIHJlc3VsdCkKKyAgICBDb29raWVSZXF1
ZXN0SGVhZGVyRmllbGRWYWx1ZShib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIFdlYkNvcmU6
OlVSTCBmaXJzdFBhcnR5LCBXZWJDb3JlOjpVUkwgdXJsKSAtPiAoU3RyaW5nIHJlc3VsdCkKICAg
ICBHZXRSYXdDb29raWVzKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgV2ViQ29yZTo6VVJM
IGZpcnN0UGFydHksIFdlYkNvcmU6OlVSTCB1cmwpIC0+IChWZWN0b3I8V2ViQ29yZTo6Q29va2ll
PiBjb29raWVzKQotICAgIERlbGV0ZUNvb2tpZShib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQs
IFdlYkNvcmU6OlVSTCB1cmwsIFdURjo6U3RyaW5nIGNvb2tpZU5hbWUpCisgICAgRGVsZXRlQ29v
a2llKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgV2ViQ29yZTo6VVJMIHVybCwgU3RyaW5n
IGNvb2tpZU5hbWUpCiAKICAgICBSZWdpc3RlckJsb2JVUkwoV2ViQ29yZTo6VVJMIHVybCwgV2Vi
S2l0OjpCbG9iUmVnaXN0cmF0aW9uRGF0YSBkYXRhKQogICAgIFJlZ2lzdGVyQmxvYlVSTEZyb21V
UkwoV2ViQ29yZTo6VVJMIHVybCwgV2ViQ29yZTo6VVJMIHNyY1VSTCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4K
aW5kZXggZjk2NGE3Zi4uMTJjNzI3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTM5LDcgKzM5LDcg
QEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldFBy
b2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQoYm9vbCBmbGFnKQogI2VuZGlmCiAKLSAgICBBbGxvd1Nw
ZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoV2ViS2l0OjpDZXJ0aWZpY2F0ZUluZm8gY2Vy
dGlmaWNhdGUsIFdURjo6U3RyaW5nIGhvc3QpCisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlm
aWNhdGVGb3JIb3N0KFdlYktpdDo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBTdHJpbmcg
aG9zdCkKICAgICAKICAgICBHZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0X3QgY2Fs
bGJhY2tJRCkKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvUGx1Z2lu
UHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNWM5MDg3Ni4u
ZGQ3NjNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5D
b250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KQEAgLTMzLDEwICszMywxMCBA
QCBtZXNzYWdlcyAtPiBQbHVnaW5Db250cm9sbGVyUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAg
IEZyYW1lRGlkRmFpbCh1aW50NjRfdCByZXF1ZXN0SUQsIGJvb2wgd2FzQ2FuY2VsbGVkKQogCiAg
ICAgIyBTZW50IHdoZW4gSmF2YVNjcmlwdCB0aGF0IHRoZSBwbHVnLWluIGFza2VkIHRvIGJlIGV2
YWx1YXRlZCBoYXMgYmVlbiBldmFsdWF0ZWQuCi0gICAgRGlkRXZhbHVhdGVKYXZhU2NyaXB0KHVp
bnQ2NF90IHJlcXVlc3RJRCwgV1RGOjpTdHJpbmcgcmVzdWx0KQorICAgIERpZEV2YWx1YXRlSmF2
YVNjcmlwdCh1aW50NjRfdCByZXF1ZXN0SUQsIFN0cmluZyByZXN1bHQpCiAKICAgICAjIFNlbnQg
d2hlbiB0aGUgcGx1Zy1pbiByZWNlaXZlcyBhIHJlc3BvbnNlIGZvciBhIHN0cmVhbS4KLSAgICBT
dHJlYW1EaWRSZWNlaXZlUmVzcG9uc2UodWludDY0X3Qgc3RyZWFtSUQsIFdURjo6U3RyaW5nIHJl
c3BvbnNlVVJMU3RyaW5nLCB1aW50MzJfdCBzdHJlYW1MZW5ndGgsIHVpbnQzMl90IGxhc3RNb2Rp
ZmllZFRpbWUsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCBXVEY6OlN0cmluZyBoZWFkZXJzKQorICAg
IFN0cmVhbURpZFJlY2VpdmVSZXNwb25zZSh1aW50NjRfdCBzdHJlYW1JRCwgU3RyaW5nIHJlc3Bv
bnNlVVJMU3RyaW5nLCB1aW50MzJfdCBzdHJlYW1MZW5ndGgsIHVpbnQzMl90IGxhc3RNb2RpZmll
ZFRpbWUsIFN0cmluZyBtaW1lVHlwZSwgU3RyaW5nIGhlYWRlcnMpCiAKICAgICAjIFNlbnQgd2hl
biB0aGUgcGx1Zy1pbiByZWNlaXZlcyBkYXRhIGZvciBhIHN0cmVhbS4KICAgICBTdHJlYW1EaWRS
ZWNlaXZlRGF0YSh1aW50NjRfdCBzdHJlYW1JRCwgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRh
KQpAQCAtNDgsNyArNDgsNyBAQCBtZXNzYWdlcyAtPiBQbHVnaW5Db250cm9sbGVyUHJveHkgTGVn
YWN5UmVjZWl2ZXIgewogICAgIFN0cmVhbURpZEZhaWwodWludDY0X3Qgc3RyZWFtSUQsIGJvb2wg
d2FzQ2FuY2VsbGVkKQogCiAgICAgIyBTZW50IHdoZW4gdGhlIHBsdWctaW4gcmVjZWl2ZXMgYSBy
ZXNwb25zZSBmb3IgdGhlIG1hbnVhbCBzdHJlYW0uCi0gICAgTWFudWFsU3RyZWFtRGlkUmVjZWl2
ZVJlc3BvbnNlKFdURjo6U3RyaW5nIHJlc3BvbnNlVVJMU3RyaW5nLCB1aW50MzJfdCBzdHJlYW1M
ZW5ndGgsIHVpbnQzMl90IGxhc3RNb2RpZmllZFRpbWUsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCBX
VEY6OlN0cmluZyBoZWFkZXJzKQorICAgIE1hbnVhbFN0cmVhbURpZFJlY2VpdmVSZXNwb25zZShT
dHJpbmcgcmVzcG9uc2VVUkxTdHJpbmcsIHVpbnQzMl90IHN0cmVhbUxlbmd0aCwgdWludDMyX3Qg
bGFzdE1vZGlmaWVkVGltZSwgU3RyaW5nIG1pbWVUeXBlLCBTdHJpbmcgaGVhZGVycykKIAogICAg
ICMgU2VudCB3aGVuIHRoZSBwbHVnLWluIHJlY2VpdmVzIGRhdGEgZm9yIHRoZSBtYW51YWwgc3Ry
ZWFtLgogICAgIE1hbnVhbFN0cmVhbURpZFJlY2VpdmVEYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVu
Y2UgZGF0YSkKQEAgLTc1LDEwICs3NSwxMCBAQCBtZXNzYWdlcyAtPiBQbHVnaW5Db250cm9sbGVy
UHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIEhhbmRsZUtleWJvYXJkRXZlbnQoV2ViS2l0OjpX
ZWJLZXlib2FyZEV2ZW50IGtleWJvYXJkRXZlbnQpIC0+IChib29sIGhhbmRsZWQpCiAgICAgCiAg
ICAgIyBTZW50IHdoZW4gYW4gZWRpdGluZyBjb21tYW5kIHNob3VsZCBiZSBwcm9jZXNzZWQuCi0g
ICAgSGFuZGxlRWRpdGluZ0NvbW1hbmQoV1RGOjpTdHJpbmcgY29tbWFuZE5hbWUsIFdURjo6U3Ry
aW5nIGFyZ3VtZW50KSAtPiAoYm9vbCBoYW5kbGVkKTsKKyAgICBIYW5kbGVFZGl0aW5nQ29tbWFu
ZChTdHJpbmcgY29tbWFuZE5hbWUsIFN0cmluZyBhcmd1bWVudCkgLT4gKGJvb2wgaGFuZGxlZCk7
CiAgICAgCiAgICAgIyBSZXR1cm4gd2hldGhlciBvciBub3QgYSBwbHVnaW4gd2FudHMgdG8gZW5h
YmxlIHRoZSBnaXZlbiBlZGl0aW5nIGNvbW1hbmQuCi0gICAgSXNFZGl0aW5nQ29tbWFuZEVuYWJs
ZWQoV1RGOjpTdHJpbmcgY29tbWFuZE5hbWUpIC0+IChib29sIGVuYWJsZWQpOworICAgIElzRWRp
dGluZ0NvbW1hbmRFbmFibGVkKFN0cmluZyBjb21tYW5kTmFtZSkgLT4gKGJvb2wgZW5hYmxlZCk7
CiAgICAgCiAgICAgIyBSZXR1cm4gd2hldGhlciBvciBub3QgYSBwbHVnaW4gd2FudHMgdG8gaGFu
ZGxlIHBhZ2Ugc2NhbGUgZmFjdG9yIGl0c2VsZi4KICAgICBIYW5kbGVzUGFnZVNjYWxlRmFjdG9y
KCkgLT4gKGJvb2wgZW5hYmxlZCk7CkBAIC05Nyw3ICs5Nyw3IEBAIG1lc3NhZ2VzIC0+IFBsdWdp
bkNvbnRyb2xsZXJQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgIyBTZW5kIHRoZSBjb21wbGV4IHRleHQgaW5wdXQgdG8gdGhlIHBsdWctaW4uCi0gICAgU2Vu
ZENvbXBsZXhUZXh0SW5wdXQoV1RGOjpTdHJpbmcgdGV4dElucHV0KQorICAgIFNlbmRDb21wbGV4
VGV4dElucHV0KFN0cmluZyB0ZXh0SW5wdXQpCiAKICAgICAjIFNlbnQgd2hlbiB0aGUgY29udGFp
bmluZyBOU1dpbmRvdydzIGZvY3VzIGNoYW5nZXMKICAgICBXaW5kb3dGb2N1c0NoYW5nZWQoYm9v
bCBoYXNGb2N1cykKQEAgLTEyNSw3ICsxMjUsNyBAQCBtZXNzYWdlcyAtPiBQbHVnaW5Db250cm9s
bGVyUHJveHkgTGVnYWN5UmVjZWl2ZXIgewogICAgIFByaXZhdGVCcm93c2luZ1N0YXRlQ2hhbmdl
ZChib29sIGlzUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKIAogICAgICMgR2V0cyB0aGUgc3RyaW5n
IHJlcHJlc2VudGF0aW5nIHRoZSBmb3JtIHZhbHVlIG9mIHRoZSBwbHVnLWluCi0gICAgR2V0Rm9y
bVZhbHVlKCkgLT4gKGJvb2wgcmV0dXJuVmFsdWUsIFdURjo6U3RyaW5nIGZvcm1WYWx1ZSkKKyAg
ICBHZXRGb3JtVmFsdWUoKSAtPiAoYm9vbCByZXR1cm5WYWx1ZSwgU3RyaW5nIGZvcm1WYWx1ZSkK
IH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpblByb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpblByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZDExOTlkYi4uZDM4MjE1NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5tZXNzYWdl
cy5pbgpAQCAtMzcsNyArMzcsNyBAQCBtZXNzYWdlcyAtPiBQbHVnaW5Qcm9jZXNzIExlZ2FjeVJl
Y2VpdmVyIHsKIAogICAgICMgQXNrcyB0aGUgcGx1Zy1pbiB0byBjbGVhciBkYXRhIGZvciB0aGUg
Z2l2ZW4gc2l0ZXMuIFRoZSBwbHVnLWluIHByb2Nlc3Mgc2VuZHMgYmFjawogICAgICMgYSBEaWRD
bGVhclNpdGVEYXRhIG1lc3NhZ2Ugd2hlbiBkb25lLgotICAgIENsZWFyU2l0ZURhdGEoVmVjdG9y
PFdURjo6U3RyaW5nPiBzaXRlcywgdWludDY0X3QgZmxhZ3MsIHVpbnQ2NF90IG1heEFnZUluU2Vj
b25kcywgdWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBDbGVhclNpdGVEYXRhKFZlY3RvcjxTdHJp
bmc+IHNpdGVzLCB1aW50NjRfdCBmbGFncywgdWludDY0X3QgbWF4QWdlSW5TZWNvbmRzLCB1aW50
NjRfdCBjYWxsYmFja0lEKQogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIFNldFByb2Nlc3NTdXBw
cmVzc2lvbkVuYWJsZWQoYm9vbCBmbGFnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1Nj
cmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0
Mi9tZXNzYWdlcy5weQppbmRleCBkZTJiYjY2Li5kZGM5Yjg3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdDIv
U2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CkBAIC0yNDQsNiArMjQ0LDEwIEBAIGRlZiBmb3J3
YXJkX2RlY2xhcmF0aW9uc19hbmRfaGVhZGVycyhyZWNlaXZlcik6CiAgICAgICAgICciU3RyaW5n
UmVmZXJlbmNlLmgiJywKICAgICBdKQogCisgICAgbm9uX3RlbXBsYXRlX3d0Zl90eXBlcyA9IGZy
b3plbnNldChbCisgICAgICAgICdTdHJpbmcnLAorICAgIF0pCisKICAgICBmb3IgbWVzc2FnZSBp
biByZWNlaXZlci5tZXNzYWdlczoKICAgICAgICAgaWYgbWVzc2FnZS5yZXBseV9wYXJhbWV0ZXJz
ICE9IE5vbmUgYW5kIG1lc3NhZ2UuaGFzX2F0dHJpYnV0ZShERUxBWUVEX0FUVFJJQlVURSk6CiAg
ICAgICAgICAgICBoZWFkZXJzLmFkZCgnPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPicpCkBA
IC0yNTksNiArMjYzLDEwIEBAIGRlZiBmb3J3YXJkX2RlY2xhcmF0aW9uc19hbmRfaGVhZGVycyhy
ZWNlaXZlcik6CiAKICAgICAgICAgc3BsaXQgPSB0eXBlLnNwbGl0KCc6OicpCiAKKyAgICAgICAg
IyBIYW5kbGUgV1RGIHR5cGVzIGV2ZW4gaWYgdGhlIFdURjo6IHByZWZpeCBpcyBub3QgZ2l2ZW4K
KyAgICAgICAgaWYgc3BsaXRbMF0gaW4gbm9uX3RlbXBsYXRlX3d0Zl90eXBlczoKKyAgICAgICAg
ICAgIHNwbGl0Lmluc2VydCgwLCAnV1RGJykKKwogICAgICAgICBpZiBsZW4oc3BsaXQpID09IDI6
CiAgICAgICAgICAgICBuYW1lc3BhY2UgPSBzcGxpdFswXQogICAgICAgICAgICAgaW5uZXJfdHlw
ZSA9IHNwbGl0WzFdCkBAIC0zODksNyArMzk3LDcgQEAgZGVmIGFyZ3VtZW50X2NvZGVyX2hlYWRl
cnNfZm9yX3R5cGUodHlwZSk6CiAgICAgaGVhZGVyX2luZm9zX2FuZF90eXBlcyA9IGNsYXNzX3Rl
bXBsYXRlX2hlYWRlcnModHlwZSkKIAogICAgIHNwZWNpYWxfY2FzZXMgPSB7Ci0gICAgICAgICdX
VEY6OlN0cmluZyc6ICciQXJndW1lbnRDb2RlcnMuaCInLAorICAgICAgICAnU3RyaW5nJzogJyJB
cmd1bWVudENvZGVycy5oIicsCiAgICAgICAgICdXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1l
c3NhZ2VFbmNvZGVyJzogJyJJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmgiJywKICAg
ICAgICAgJ1dlYktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2Rlcic6ICciV2ViQ29udGV4
dFVzZXJNZXNzYWdlQ29kZXJzLmgiJywKICAgICB9CkBAIC00MTUsNyArNDIzLDcgQEAgZGVmIGhl
YWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgaGVhZGVyX2luZm9zX2FuZF90eXBlcyA9IGNsYXNz
X3RlbXBsYXRlX2hlYWRlcnModHlwZSkKIAogICAgIHNwZWNpYWxfY2FzZXMgPSB7Ci0gICAgICAg
ICdXVEY6OlN0cmluZyc6IFsnPHd0Zi90ZXh0L1dURlN0cmluZy5oPiddLAorICAgICAgICAnU3Ry
aW5nJzogWyc8d3RmL3RleHQvV1RGU3RyaW5nLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpDb21w
b3NpdGlvblVuZGVybGluZSc6IFsnPFdlYkNvcmUvRWRpdG9yLmg+J10sCiAgICAgICAgICdXZWJD
b3JlOjpHcmFtbWFyRGV0YWlsJzogWyc8V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5oPiddLAog
ICAgICAgICAnV2ViQ29yZTo6R3JhcGhpY3NMYXllckFuaW1hdGlvbnMnOiBbJzxXZWJDb3JlL0dy
YXBoaWNzTGF5ZXJBbmltYXRpb24uaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1Nj
cmlwdHMvd2Via2l0Mi9tZXNzYWdlc191bml0dGVzdC5weSBiL1NvdXJjZS9XZWJLaXQyL1Njcmlw
dHMvd2Via2l0Mi9tZXNzYWdlc191bml0dGVzdC5weQppbmRleCBhMGRkNDgwLi5kODBlMTY4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXNfdW5pdHRl
c3QucHkKKysrIGIvU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzX3VuaXR0
ZXN0LnB5CkBAIC01MiwxNiArNTIsMTYgQEAgX21lc3NhZ2VzX2ZpbGVfY29udGVudHMgPSAiIiIj
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQKICNpZiBO
RVNURURfTUFTVEVSX0NPTkRJVElPTiB8fCBNQVNURVJfT1IgJiYgTUFTVEVSX0FORAogCiBtZXNz
YWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKLSAgICBMb2FkVVJMKFdURjo6U3RyaW5n
IHVybCkKKyAgICBMb2FkVVJMKFN0cmluZyB1cmwpCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykK
LSAgICBMb2FkU29tZXRoaW5nKFdURjo6U3RyaW5nIHVybCkKKyAgICBMb2FkU29tZXRoaW5nKFN0
cmluZyB1cmwpCiAjaWYgTkVTVEVEX01FU1NBR0VfQ09ORElUSU9OIHx8IFNPTUVfT1RIRVJfTUVT
U0FHRV9DT05ESVRJT04KICAgICBUb3VjaEV2ZW50KFdlYktpdDo6V2ViVG91Y2hFdmVudCBldmVu
dCkKICNlbmRpZgogI2lmIE5FU1RFRF9NRVNTQUdFX0NPTkRJVElPTiAmJiBTT01FX09USEVSX01F
U1NBR0VfQ09ORElUSU9OCiAgICAgQWRkRXZlbnQoV2ViS2l0OjpXZWJUb3VjaEV2ZW50IGV2ZW50
KQogI2VuZGlmCi0gICAgTG9hZFNvbWV0aGluZ0Vsc2UoV1RGOjpTdHJpbmcgdXJsKQorICAgIExv
YWRTb21ldGhpbmdFbHNlKFN0cmluZyB1cmwpCiAjZW5kaWYKICAgICBEaWRSZWNlaXZlUG9saWN5
RGVjaXNpb24odWludDY0X3QgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgdWludDMyX3Qg
cG9saWN5QWN0aW9uKQogICAgIENsb3NlKCkKQEAgLTcxLDkgKzcxLDkgQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2VuZEludHMoVmVjdG9yPHVpbnQ2NF90PiBp
bnRzLCBWZWN0b3I8VmVjdG9yPHVpbnQ2NF90Pj4gaW50VmVjdG9ycykKIAogICAgIENyZWF0ZVBs
dWdpbih1aW50NjRfdCBwbHVnaW5JbnN0YW5jZUlELCBXZWJLaXQ6OlBsdWdpbjo6UGFyYW1ldGVy
cyBwYXJhbWV0ZXJzKSAtPiAoYm9vbCByZXN1bHQpCi0gICAgUnVuSmF2YVNjcmlwdEFsZXJ0KHVp
bnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1lc3NhZ2UpIC0+ICgpCisgICAgUnVuSmF2YVNj
cmlwdEFsZXJ0KHVpbnQ2NF90IGZyYW1lSUQsIFN0cmluZyBtZXNzYWdlKSAtPiAoKQogICAgIEdl
dFBsdWdpbnMoYm9vbCByZWZyZXNoKSAtPiAoVmVjdG9yPFdlYkNvcmU6OlBsdWdpbkluZm8+IHBs
dWdpbnMpCi0gICAgR2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oV1RGOjpTdHJpbmcgcGx1Z2lu
UGF0aCkgLT4gKENvcmVJUEM6OkNvbm5lY3Rpb246OkhhbmRsZSBjb25uZWN0aW9uSGFuZGxlKSBE
ZWxheWVkCisgICAgR2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oU3RyaW5nIHBsdWdpblBhdGgp
IC0+IChDb3JlSVBDOjpDb25uZWN0aW9uOjpIYW5kbGUgY29ubmVjdGlvbkhhbmRsZSkgRGVsYXll
ZAogCiAgICAgVGVzdE11bHRpcGxlQXR0cmlidXRlcygpIC0+ICgpIFdhbnRzQ29ubmVjdGlvbiBE
ZWxheWVkCiAKQEAgLTExMCwxNCArMTEwLDE0IEBAIF9leHBlY3RlZF9yZXN1bHRzID0gewogICAg
ICAgICB7CiAgICAgICAgICAgICAnbmFtZSc6ICdMb2FkVVJMJywKICAgICAgICAgICAgICdwYXJh
bWV0ZXJzJzogKAotICAgICAgICAgICAgICAgICgnV1RGOjpTdHJpbmcnLCAndXJsJyksCisgICAg
ICAgICAgICAgICAgKCdTdHJpbmcnLCAndXJsJyksCiAgICAgICAgICAgICApLAogICAgICAgICAg
ICAgJ2NvbmRpdGlvbnMnOiAoTm9uZSksCiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAg
ICAgICduYW1lJzogJ0xvYWRTb21ldGhpbmcnLAogICAgICAgICAgICAgJ3BhcmFtZXRlcnMnOiAo
Ci0gICAgICAgICAgICAgICAgKCdXVEY6OlN0cmluZycsICd1cmwnKSwKKyAgICAgICAgICAgICAg
ICAoJ1N0cmluZycsICd1cmwnKSwKICAgICAgICAgICAgICksCiAgICAgICAgICAgICAnY29uZGl0
aW9ucyc6ICgnRU5BQkxFKFRPVUNIX0VWRU5UUyknKSwKICAgICAgICAgfSwKQEAgLTEzOCw3ICsx
MzgsNyBAQCBfZXhwZWN0ZWRfcmVzdWx0cyA9IHsKICAgICAgICAgewogICAgICAgICAgICAgJ25h
bWUnOiAnTG9hZFNvbWV0aGluZ0Vsc2UnLAogICAgICAgICAgICAgJ3BhcmFtZXRlcnMnOiAoCi0g
ICAgICAgICAgICAgICAgKCdXVEY6OlN0cmluZycsICd1cmwnKSwKKyAgICAgICAgICAgICAgICAo
J1N0cmluZycsICd1cmwnKSwKICAgICAgICAgICAgICksCiAgICAgICAgICAgICAnY29uZGl0aW9u
cyc6ICgnRU5BQkxFKFRPVUNIX0VWRU5UUyknKSwKICAgICAgICAgfSwKQEAgLTE5NCw3ICsxOTQs
NyBAQCBfZXhwZWN0ZWRfcmVzdWx0cyA9IHsKICAgICAgICAgICAgICduYW1lJzogJ1J1bkphdmFT
Y3JpcHRBbGVydCcsCiAgICAgICAgICAgICAncGFyYW1ldGVycyc6ICgKICAgICAgICAgICAgICAg
ICAoJ3VpbnQ2NF90JywgJ2ZyYW1lSUQnKSwKLSAgICAgICAgICAgICAgICAoJ1dURjo6U3RyaW5n
JywgJ21lc3NhZ2UnKQorICAgICAgICAgICAgICAgICgnU3RyaW5nJywgJ21lc3NhZ2UnKQogICAg
ICAgICAgICAgKSwKICAgICAgICAgICAgICdyZXBseV9wYXJhbWV0ZXJzJzogKCksCiAgICAgICAg
ICAgICAnY29uZGl0aW9ucyc6IChOb25lKSwKQEAgLTIxMiw3ICsyMTIsNyBAQCBfZXhwZWN0ZWRf
cmVzdWx0cyA9IHsKICAgICAgICAgewogICAgICAgICAgICAgJ25hbWUnOiAnR2V0UGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb24nLAogICAgICAgICAgICAgJ3BhcmFtZXRlcnMnOiAoCi0gICAgICAgICAg
ICAgICAgKCdXVEY6OlN0cmluZycsICdwbHVnaW5QYXRoJyksCisgICAgICAgICAgICAgICAgKCdT
dHJpbmcnLCAncGx1Z2luUGF0aCcpLAogICAgICAgICAgICAgKSwKICAgICAgICAgICAgICdyZXBs
eV9wYXJhbWV0ZXJzJzogKAogICAgICAgICAgICAgICAgICgnQ29yZUlQQzo6Q29ubmVjdGlvbjo6
SGFuZGxlJywgJ2Nvbm5lY3Rpb25IYW5kbGUnKSwKQEAgLTM1Myw2ICszNTMsNyBAQCBfZXhwZWN0
ZWRfaGVhZGVyID0gIiIiLyoKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0
Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIENvcmVJUEMgewogICAgIGNs
YXNzIENvbm5lY3Rpb247CkBAIC0zNzksNDcgKzM4MCw0NyBAQCBzdGF0aWMgaW5saW5lIENvcmVJ
UEM6OlN0cmluZ1JlZmVyZW5jZSBtZXNzYWdlUmVjZWl2ZXJOYW1lKCkKIAogY2xhc3MgTG9hZFVS
TCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdURjo6U3RyaW5nPiBEZWNvZGVU
eXBlOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxTdHJpbmc+IERlY29kZVR5cGU7CiAKICAgICBz
dGF0aWMgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIHJlY2VpdmVyTmFtZSgpIHsgcmV0dXJuIG1l
c3NhZ2VSZWNlaXZlck5hbWUoKTsgfQogICAgIHN0YXRpYyBDb3JlSVBDOjpTdHJpbmdSZWZlcmVu
Y2UgbmFtZSgpIHsgcmV0dXJuIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSgiTG9hZFVSTCIpOyB9
CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gZmFsc2U7CiAKLSAgICBleHBsaWNpdCBM
b2FkVVJMKGNvbnN0IFdURjo6U3RyaW5nJiB1cmwpCisgICAgZXhwbGljaXQgTG9hZFVSTChjb25z
dCBTdHJpbmcmIHVybCkKICAgICAgICAgOiBtX2FyZ3VtZW50cyh1cmwpCiAgICAgewogICAgIH0K
IAotICAgIGNvbnN0IHN0ZDo6dHVwbGU8Y29uc3QgV1RGOjpTdHJpbmcmPiBhcmd1bWVudHMoKSBj
b25zdAorICAgIGNvbnN0IHN0ZDo6dHVwbGU8Y29uc3QgU3RyaW5nJj4gYXJndW1lbnRzKCkgY29u
c3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX2FyZ3VtZW50czsKICAgICB9CiAKIHByaXZhdGU6
Ci0gICAgc3RkOjp0dXBsZTxjb25zdCBXVEY6OlN0cmluZyY+IG1fYXJndW1lbnRzOworICAgIHN0
ZDo6dHVwbGU8Y29uc3QgU3RyaW5nJj4gbV9hcmd1bWVudHM7CiB9OwogCiAjaWYgRU5BQkxFKFRP
VUNIX0VWRU5UUykKIGNsYXNzIExvYWRTb21ldGhpbmcgewogcHVibGljOgotICAgIHR5cGVkZWYg
c3RkOjp0dXBsZTxXVEY6OlN0cmluZz4gRGVjb2RlVHlwZTsKKyAgICB0eXBlZGVmIHN0ZDo6dHVw
bGU8U3RyaW5nPiBEZWNvZGVUeXBlOwogCiAgICAgc3RhdGljIENvcmVJUEM6OlN0cmluZ1JlZmVy
ZW5jZSByZWNlaXZlck5hbWUoKSB7IHJldHVybiBtZXNzYWdlUmVjZWl2ZXJOYW1lKCk7IH0KICAg
ICBzdGF0aWMgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIG5hbWUoKSB7IHJldHVybiBDb3JlSVBD
OjpTdHJpbmdSZWZlcmVuY2UoIkxvYWRTb21ldGhpbmciKTsgfQogICAgIHN0YXRpYyBjb25zdCBi
b29sIGlzU3luYyA9IGZhbHNlOwogCi0gICAgZXhwbGljaXQgTG9hZFNvbWV0aGluZyhjb25zdCBX
VEY6OlN0cmluZyYgdXJsKQorICAgIGV4cGxpY2l0IExvYWRTb21ldGhpbmcoY29uc3QgU3RyaW5n
JiB1cmwpCiAgICAgICAgIDogbV9hcmd1bWVudHModXJsKQogICAgIHsKICAgICB9CiAKLSAgICBj
b25zdCBzdGQ6OnR1cGxlPGNvbnN0IFdURjo6U3RyaW5nJj4gYXJndW1lbnRzKCkgY29uc3QKKyAg
ICBjb25zdCBzdGQ6OnR1cGxlPGNvbnN0IFN0cmluZyY+IGFyZ3VtZW50cygpIGNvbnN0CiAgICAg
ewogICAgICAgICByZXR1cm4gbV9hcmd1bWVudHM7CiAgICAgfQogCiBwcml2YXRlOgotICAgIHN0
ZDo6dHVwbGU8Y29uc3QgV1RGOjpTdHJpbmcmPiBtX2FyZ3VtZW50czsKKyAgICBzdGQ6OnR1cGxl
PGNvbnN0IFN0cmluZyY+IG1fYXJndW1lbnRzOwogfTsKICNlbmRpZgogCkBAIC00NzQsMjQgKzQ3
NSwyNCBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiBjbGFzcyBMb2FkU29t
ZXRoaW5nRWxzZSB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdURjo6U3RyaW5n
PiBEZWNvZGVUeXBlOworICAgIHR5cGVkZWYgc3RkOjp0dXBsZTxTdHJpbmc+IERlY29kZVR5cGU7
CiAKICAgICBzdGF0aWMgQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlIHJlY2VpdmVyTmFtZSgpIHsg
cmV0dXJuIG1lc3NhZ2VSZWNlaXZlck5hbWUoKTsgfQogICAgIHN0YXRpYyBDb3JlSVBDOjpTdHJp
bmdSZWZlcmVuY2UgbmFtZSgpIHsgcmV0dXJuIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSgiTG9h
ZFNvbWV0aGluZ0Vsc2UiKTsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IGZhbHNl
OwogCi0gICAgZXhwbGljaXQgTG9hZFNvbWV0aGluZ0Vsc2UoY29uc3QgV1RGOjpTdHJpbmcmIHVy
bCkKKyAgICBleHBsaWNpdCBMb2FkU29tZXRoaW5nRWxzZShjb25zdCBTdHJpbmcmIHVybCkKICAg
ICAgICAgOiBtX2FyZ3VtZW50cyh1cmwpCiAgICAgewogICAgIH0KIAotICAgIGNvbnN0IHN0ZDo6
dHVwbGU8Y29uc3QgV1RGOjpTdHJpbmcmPiBhcmd1bWVudHMoKSBjb25zdAorICAgIGNvbnN0IHN0
ZDo6dHVwbGU8Y29uc3QgU3RyaW5nJj4gYXJndW1lbnRzKCkgY29uc3QKICAgICB7CiAgICAgICAg
IHJldHVybiBtX2FyZ3VtZW50czsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgc3RkOjp0dXBsZTxj
b25zdCBXVEY6OlN0cmluZyY+IG1fYXJndW1lbnRzOworICAgIHN0ZDo6dHVwbGU8Y29uc3QgU3Ry
aW5nJj4gbV9hcmd1bWVudHM7CiB9OwogI2VuZGlmCiAKQEAgLTYyNSwyNSArNjI2LDI1IEBAIHBy
aXZhdGU6CiAKIGNsYXNzIFJ1bkphdmFTY3JpcHRBbGVydCB7CiBwdWJsaWM6Ci0gICAgdHlwZWRl
ZiBzdGQ6OnR1cGxlPHVpbnQ2NF90LCBXVEY6OlN0cmluZz4gRGVjb2RlVHlwZTsKKyAgICB0eXBl
ZGVmIHN0ZDo6dHVwbGU8dWludDY0X3QsIFN0cmluZz4gRGVjb2RlVHlwZTsKIAogICAgIHN0YXRp
YyBDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UgcmVjZWl2ZXJOYW1lKCkgeyByZXR1cm4gbWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpOyB9CiAgICAgc3RhdGljIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSBu
YW1lKCkgeyByZXR1cm4gQ29yZUlQQzo6U3RyaW5nUmVmZXJlbmNlKCJSdW5KYXZhU2NyaXB0QWxl
cnQiKTsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IHRydWU7CiAKICAgICB0eXBl
ZGVmIENvcmVJUEM6OkFyZ3VtZW50czAgUmVwbHk7Ci0gICAgUnVuSmF2YVNjcmlwdEFsZXJ0KHVp
bnQ2NF90IGZyYW1lSUQsIGNvbnN0IFdURjo6U3RyaW5nJiBtZXNzYWdlKQorICAgIFJ1bkphdmFT
Y3JpcHRBbGVydCh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAg
ICAgIDogbV9hcmd1bWVudHMoZnJhbWVJRCwgbWVzc2FnZSkKICAgICB7CiAgICAgfQogCi0gICAg
Y29uc3Qgc3RkOjp0dXBsZTx1aW50NjRfdCwgY29uc3QgV1RGOjpTdHJpbmcmPiBhcmd1bWVudHMo
KSBjb25zdAorICAgIGNvbnN0IHN0ZDo6dHVwbGU8dWludDY0X3QsIGNvbnN0IFN0cmluZyY+IGFy
Z3VtZW50cygpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gbV9hcmd1bWVudHM7CiAgICAg
fQogCiBwcml2YXRlOgotICAgIHN0ZDo6dHVwbGU8dWludDY0X3QsIGNvbnN0IFdURjo6U3RyaW5n
Jj4gbV9hcmd1bWVudHM7CisgICAgc3RkOjp0dXBsZTx1aW50NjRfdCwgY29uc3QgU3RyaW5nJj4g
bV9hcmd1bWVudHM7CiB9OwogCiBjbGFzcyBHZXRQbHVnaW5zIHsKQEAgLTY3MSw3ICs2NzIsNyBA
QCBwcml2YXRlOgogCiBjbGFzcyBHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbiB7CiBwdWJsaWM6
Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPFdURjo6U3RyaW5nPiBEZWNvZGVUeXBlOworICAgIHR5
cGVkZWYgc3RkOjp0dXBsZTxTdHJpbmc+IERlY29kZVR5cGU7CiAKICAgICBzdGF0aWMgQ29yZUlQ
Qzo6U3RyaW5nUmVmZXJlbmNlIHJlY2VpdmVyTmFtZSgpIHsgcmV0dXJuIG1lc3NhZ2VSZWNlaXZl
ck5hbWUoKTsgfQogICAgIHN0YXRpYyBDb3JlSVBDOjpTdHJpbmdSZWZlcmVuY2UgbmFtZSgpIHsg
cmV0dXJuIENvcmVJUEM6OlN0cmluZ1JlZmVyZW5jZSgiR2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b24iKTsgfQpAQCAtNjg5LDE4ICs2OTAsMTggQEAgcHVibGljOgogICAgIH07CiAKICAgICB0eXBl
ZGVmIENvcmVJUEM6OkFyZ3VtZW50czE8Q29yZUlQQzo6Q29ubmVjdGlvbjo6SGFuZGxlJj4gUmVw
bHk7Ci0gICAgZXhwbGljaXQgR2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oY29uc3QgV1RGOjpT
dHJpbmcmIHBsdWdpblBhdGgpCisgICAgZXhwbGljaXQgR2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b24oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoKQogICAgICAgICA6IG1fYXJndW1lbnRzKHBsdWdp
blBhdGgpCiAgICAgewogICAgIH0KIAotICAgIGNvbnN0IHN0ZDo6dHVwbGU8Y29uc3QgV1RGOjpT
dHJpbmcmPiBhcmd1bWVudHMoKSBjb25zdAorICAgIGNvbnN0IHN0ZDo6dHVwbGU8Y29uc3QgU3Ry
aW5nJj4gYXJndW1lbnRzKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBtX2FyZ3VtZW50
czsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgc3RkOjp0dXBsZTxjb25zdCBXVEY6OlN0cmluZyY+
IG1fYXJndW1lbnRzOworICAgIHN0ZDo6dHVwbGU8Y29uc3QgU3RyaW5nJj4gbV9hcmd1bWVudHM7
CiB9OwogCiBjbGFzcyBUZXN0TXVsdGlwbGVBdHRyaWJ1dGVzIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9OZXR3b3JrL0N1c3RvbVByb3RvY29scy9DdXN0b21Qcm90b2NvbE1h
bmFnZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTmV0d29yay9DdXN0b21Q
cm90b2NvbHMvQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IDFiYzBjYzku
LmNhNTE1NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9OZXR3b3JrL0N1c3Rv
bVByb3RvY29scy9DdXN0b21Qcm90b2NvbE1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL05ldHdvcmsvQ3VzdG9tUHJvdG9jb2xzL0N1c3RvbVByb3RvY29sTWFu
YWdlci5tZXNzYWdlcy5pbgpAQCAtMjgsOCArMjgsOCBAQCBtZXNzYWdlcyAtPiBDdXN0b21Qcm90
b2NvbE1hbmFnZXIgewogICAgIERpZFJlY2VpdmVSZXNwb25zZSh1aW50NjRfdCBjdXN0b21Qcm90
b2NvbElELCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCB1aW50MzJfdCBjYWNo
ZVN0b3JhZ2VQb2xpY3kpCiAgICAgRGlkRmluaXNoTG9hZGluZyh1aW50NjRfdCBjdXN0b21Qcm90
b2NvbElEKQogCi0gICAgUmVnaXN0ZXJTY2hlbWUoV1RGOjpTdHJpbmcgbmFtZSkKLSAgICBVbnJl
Z2lzdGVyU2NoZW1lKFdURjo6U3RyaW5nIG5hbWUpCisgICAgUmVnaXN0ZXJTY2hlbWUoU3RyaW5n
IG5hbWUpCisgICAgVW5yZWdpc3RlclNjaGVtZShTdHJpbmcgbmFtZSkKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShDVVNUT01fUFJPVE9DT0xTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0Rvd25sb2Fkcy9Eb3dubG9hZFByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGQ3
MjU1OTkuLjczOTRjMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Eb3du
bG9hZHMvRG93bmxvYWRQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRG93bmxvYWRzL0Rvd25sb2FkUHJveHkubWVzc2FnZXMuaW4KQEAgLTI4LDcgKzI4LDcg
QEAgbWVzc2FnZXMgLT4gRG93bmxvYWRQcm94eSB7CiAgICAgRGlkUmVjZWl2ZURhdGEodWludDY0
X3QgbGVuZ3RoKQogICAgIFNob3VsZERlY29kZVNvdXJjZURhdGFPZk1JTUVUeXBlKFN0cmluZyBt
aW1lVHlwZSkgLT4gKGJvb2wgcmVzdWx0KQogICAgIERlY2lkZURlc3RpbmF0aW9uV2l0aFN1Z2dl
c3RlZEZpbGVuYW1lKFN0cmluZyBmaWxlbmFtZSkgLT4gKFN0cmluZyBkZXN0aW5hdGlvbiwgYm9v
bCBhbGxvd092ZXJ3cml0ZSwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJv
eEV4dGVuc2lvbkhhbmRsZSkKLSAgICBEaWRDcmVhdGVEZXN0aW5hdGlvbihXVEY6OlN0cmluZyBw
YXRoKQorICAgIERpZENyZWF0ZURlc3RpbmF0aW9uKFN0cmluZyBwYXRoKQogICAgIERpZEZpbmlz
aCgpCiAgICAgRGlkRmFpbChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCBDb3JlSVBDOjpE
YXRhUmVmZXJlbmNlIHJlc3VtZURhdGEpCiAgICAgRGlkQ2FuY2VsKENvcmVJUEM6OkRhdGFSZWZl
cmVuY2UgcmVzdW1lRGF0YSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgppbmRleCBlZjdm
M2M3Li43YWQyYmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNSw3ICsy
NSw3IEBACiBtZXNzYWdlcyAtPiBQbHVnaW5Qcm9jZXNzUHJveHkgewogICAgIERpZENyZWF0ZVdl
YlByb2Nlc3NDb25uZWN0aW9uKENvcmVJUEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbklkZW50aWZp
ZXIsIGJvb2wgc3VwcG9ydHNBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbikKIAotICAg
IERpZEdldFNpdGVzV2l0aERhdGEoVmVjdG9yPFdURjo6U3RyaW5nPiBzaXRlcywgdWludDY0X3Qg
Y2FsbGJhY2tJRCkKKyAgICBEaWRHZXRTaXRlc1dpdGhEYXRhKFZlY3RvcjxTdHJpbmc+IHNpdGVz
LCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIERpZENsZWFyU2l0ZURhdGEodWludDY0X3QgY2Fs
bGJhY2tJRCkKIAogI2lmIFBMQVRGT1JNKE1BQykKQEAgLTM2LDE2ICszNiwxNiBAQCBtZXNzYWdl
cyAtPiBQbHVnaW5Qcm9jZXNzUHJveHkgewogICAgIE9wZW5QbHVnaW5QcmVmZXJlbmNlUGFuZSgp
CiAKICAgICAjIFJldHVybnMgdHJ1ZSBpZiB0aGUgVUkgcHJvY2VzcyBsYXVuY2hlZCB0aGUgcHJv
Y2Vzcy4KLSAgICBMYXVuY2hQcm9jZXNzKFdURjo6U3RyaW5nIGxhdW5jaFBhdGgsIFZlY3RvcjxX
VEY6OlN0cmluZz4gYXJndW1lbnRzKSAtPiAoYm9vbCByZXN1bHQpCisgICAgTGF1bmNoUHJvY2Vz
cyhTdHJpbmcgbGF1bmNoUGF0aCwgVmVjdG9yPFN0cmluZz4gYXJndW1lbnRzKSAtPiAoYm9vbCBy
ZXN1bHQpCiAKICAgICAjIFJldHVybnMgdHJ1ZSBpZiB0aGUgVUkgcHJvY2VzcyBsYXVuY2hlZCB0
aGUgYXBwbGljYXRpb24uCi0gICAgTGF1bmNoQXBwbGljYXRpb25BdFVSTChXVEY6OlN0cmluZyB1
cmwsIFZlY3RvcjxXVEY6OlN0cmluZz4gYXJndW1lbnRzKSAtPiAoYm9vbCByZXN1bHQpCisgICAg
TGF1bmNoQXBwbGljYXRpb25BdFVSTChTdHJpbmcgdXJsLCBWZWN0b3I8U3RyaW5nPiBhcmd1bWVu
dHMpIC0+IChib29sIHJlc3VsdCkKIAogICAgICMgUmV0dXJucyB0cnVlIGlmIHRoZSBVSSBwcm9j
ZXNzIGRpZCBvcGVuIHRoZSBVUkwuCi0gICAgT3BlblVSTChXVEY6OlN0cmluZyB1cmxTdHJpbmcp
IC0+IChib29sIHJlc3VsdCwgaW50MzJfdCBzdGF0dXMsIFdURjo6U3RyaW5nIGxhdW5jaGVkVVJM
U3RyaW5nKQorICAgIE9wZW5VUkwoU3RyaW5nIHVybFN0cmluZykgLT4gKGJvb2wgcmVzdWx0LCBp
bnQzMl90IHN0YXR1cywgU3RyaW5nIGxhdW5jaGVkVVJMU3RyaW5nKQogICAgIAogICAgICMgUmV0
dXJucyB0cnVlIGlmIHRoZSBVSSBwcm9jZXNzIGRpZCBvcGVuIHRoZSBmaWxlLgotICAgIE9wZW5G
aWxlKFdURjo6U3RyaW5nIGZ1bGxQYXRoKSAtPiAoYm9vbCByZXN1bHQpCisgICAgT3BlbkZpbGUo
U3RyaW5nIGZ1bGxQYXRoKSAtPiAoYm9vbCByZXN1bHQpCiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZU1hbmFnZXIubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5t
ZXNzYWdlcy5pbgppbmRleCBkZDIzNGNlLi41OWI4ZjM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5p
bgpAQCAtMjUsOSArMjUsOSBAQCBtZXNzYWdlcyAtPiBTdG9yYWdlTWFuYWdlciB7CiAgICAgQ3Jl
YXRlU2Vzc2lvblN0b3JhZ2VNYXAodWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRfdCBzdG9y
YWdlTmFtZXNwYWNlSUQsIFdlYktpdDo6U2VjdXJpdHlPcmlnaW5EYXRhIHNlY3VyaXR5T3JpZ2lu
RGF0YSkgV2FudHNDb25uZWN0aW9uCiAgICAgRGVzdHJveVN0b3JhZ2VNYXAodWludDY0X3Qgc3Rv
cmFnZU1hcElEKSBXYW50c0Nvbm5lY3Rpb24KIAotICAgIEdldFZhbHVlcyh1aW50NjRfdCBzdG9y
YWdlTWFwSUQsIHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkKSAtPiAoSGFzaE1hcDxXVEY6OlN0cmlu
ZywgV1RGOjpTdHJpbmc+IHZhbHVlcykgV2FudHNDb25uZWN0aW9uCisgICAgR2V0VmFsdWVzKHVp
bnQ2NF90IHN0b3JhZ2VNYXBJRCwgdWludDY0X3Qgc3RvcmFnZU1hcFNlZWQpIC0+IChIYXNoTWFw
PFN0cmluZywgU3RyaW5nPiB2YWx1ZXMpIFdhbnRzQ29ubmVjdGlvbgogCi0gICAgU2V0SXRlbSh1
aW50NjRfdCBzdG9yYWdlTWFwSUQsIHVpbnQ2NF90IHNvdXJjZVN0b3JhZ2VBcmVhSUQsIHVpbnQ2
NF90IHN0b3JhZ2VNYXBTZWVkLCBXVEY6OlN0cmluZyBrZXksIFdURjo6U3RyaW5nIHZhbHVlLCBX
VEY6OlN0cmluZyB1cmxTdHJpbmcpIFdhbnRzQ29ubmVjdGlvbgotICAgIFJlbW92ZUl0ZW0odWlu
dDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlELCB1aW50NjRf
dCBzdG9yYWdlTWFwU2VlZCwgV1RGOjpTdHJpbmcga2V5LCBXVEY6OlN0cmluZyB1cmxTdHJpbmcp
IFdhbnRzQ29ubmVjdGlvbgotICAgIENsZWFyKHVpbnQ2NF90IHN0b3JhZ2VNYXBJRCwgdWludDY0
X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgdWludDY0X3Qgc3RvcmFnZU1hcFNlZWQsIFdURjo6U3Ry
aW5nIHVybFN0cmluZykgV2FudHNDb25uZWN0aW9uCisgICAgU2V0SXRlbSh1aW50NjRfdCBzdG9y
YWdlTWFwSUQsIHVpbnQ2NF90IHNvdXJjZVN0b3JhZ2VBcmVhSUQsIHVpbnQ2NF90IHN0b3JhZ2VN
YXBTZWVkLCBTdHJpbmcga2V5LCBTdHJpbmcgdmFsdWUsIFN0cmluZyB1cmxTdHJpbmcpIFdhbnRz
Q29ubmVjdGlvbgorICAgIFJlbW92ZUl0ZW0odWludDY0X3Qgc3RvcmFnZU1hcElELCB1aW50NjRf
dCBzb3VyY2VTdG9yYWdlQXJlYUlELCB1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwgU3RyaW5nIGtl
eSwgU3RyaW5nIHVybFN0cmluZykgV2FudHNDb25uZWN0aW9uCisgICAgQ2xlYXIodWludDY0X3Qg
c3RvcmFnZU1hcElELCB1aW50NjRfdCBzb3VyY2VTdG9yYWdlQXJlYUlELCB1aW50NjRfdCBzdG9y
YWdlTWFwU2VlZCwgU3RyaW5nIHVybFN0cmluZykgV2FudHNDb25uZWN0aW9uCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Lm1lc3NhZ2VzLmluCmluZGV4IGQ3ZDc2
OWMuLjA1NjA4OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0
Lm1lc3NhZ2VzLmluCkBAIC0zMCwyOSArMzAsMjkgQEAgbWVzc2FnZXMgLT4gV2ViQ29udGV4dCBM
ZWdhY3lSZWNlaXZlciB7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFdyaXRlV2ViQ29udGVudFRv
UGFzdGVib2FyZChXZWJDb3JlOjpQYXN0ZWJvYXJkV2ViQ29udGVudCBjb250ZW50KQogICAgIFdy
aXRlSW1hZ2VUb1Bhc3RlYm9hcmQoV2ViQ29yZTo6UGFzdGVib2FyZEltYWdlIHBhc3RlYm9hcmRJ
bWFnZSkKLSAgICBXcml0ZVN0cmluZ1RvUGFzdGVib2FyZChXVEY6OlN0cmluZyBwYXN0ZWJvYXJk
VHlwZSwgV1RGOjpTdHJpbmcgdGV4dCkgCi0gICAgUmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJkKHVp
bnQ2NF90IGluZGV4LCBXVEY6OlN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFdURjo6U3RyaW5n
IHN0cmluZykKLSAgICBSZWFkVVJMRnJvbVBhc3RlYm9hcmQodWludDY0X3QgaW5kZXgsIFdURjo6
U3RyaW5nIHBhc3RlYm9hcmRUeXBlKSAtPiAoV1RGOjpTdHJpbmcgc3RyaW5nKQotICAgIFJlYWRC
dWZmZXJGcm9tUGFzdGVib2FyZCh1aW50NjRfdCBpbmRleCwgV1RGOjpTdHJpbmcgcGFzdGVib2Fy
ZFR5cGUpIC0+IChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGhhbmRsZSwgdWludDY0X3Qg
c2l6ZSkKKyAgICBXcml0ZVN0cmluZ1RvUGFzdGVib2FyZChTdHJpbmcgcGFzdGVib2FyZFR5cGUs
IFN0cmluZyB0ZXh0KSAKKyAgICBSZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQodWludDY0X3QgaW5k
ZXgsIFN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFN0cmluZyBzdHJpbmcpCisgICAgUmVhZFVS
TEZyb21QYXN0ZWJvYXJkKHVpbnQ2NF90IGluZGV4LCBTdHJpbmcgcGFzdGVib2FyZFR5cGUpIC0+
IChTdHJpbmcgc3RyaW5nKQorICAgIFJlYWRCdWZmZXJGcm9tUGFzdGVib2FyZCh1aW50NjRfdCBp
bmRleCwgU3RyaW5nIHBhc3RlYm9hcmRUeXBlKSAtPiAoV2ViS2l0OjpTaGFyZWRNZW1vcnk6Okhh
bmRsZSBoYW5kbGUsIHVpbnQ2NF90IHNpemUpCiAgICAgR2V0UGFzdGVib2FyZEl0ZW1zQ291bnQo
KSAtPiAodWludDY0X3QgaXRlbXNDb3VudCkKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgICMgUGFzdGVib2FyZCBtZXNzYWdlcy4KLSAgICBHZXRQYXN0ZWJvYXJkVHlwZXMoV1RGOjpT
dHJpbmcgcGFzdGVib2FyZE5hbWUpIC0+IChWZWN0b3I8V1RGOjpTdHJpbmc+IHR5cGVzKQotICAg
IEdldFBhc3RlYm9hcmRQYXRobmFtZXNGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1l
LCBXVEY6OlN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFZlY3RvcjxXVEY6OlN0cmluZz4gcGF0
aG5hbWVzKQotICAgIEdldFBhc3RlYm9hcmRTdHJpbmdGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3Rl
Ym9hcmROYW1lLCBXVEY6OlN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFdURjo6U3RyaW5nIHN0
cmluZykKLSAgICBHZXRQYXN0ZWJvYXJkQnVmZmVyRm9yVHlwZShXVEY6OlN0cmluZyBwYXN0ZWJv
YXJkTmFtZSwgV1RGOjpTdHJpbmcgcGFzdGVib2FyZFR5cGUpIC0+IChXZWJLaXQ6OlNoYXJlZE1l
bW9yeTo6SGFuZGxlIGhhbmRsZSwgdWludDY0X3Qgc2l6ZSkKLSAgICBQYXN0ZWJvYXJkQ29weShX
VEY6OlN0cmluZyBmcm9tUGFzdGVib2FyZCwgV1RGOjpTdHJpbmcgdG9QYXN0ZWJvYXJkKSAtPiAo
dWludDY0X3QgY2hhbmdlQ291bnQpCi0gICAgR2V0UGFzdGVib2FyZENoYW5nZUNvdW50KFdURjo6
U3RyaW5nIHBhc3RlYm9hcmROYW1lKSAtPiAodWludDY0X3QgY2hhbmdlQ291bnQpCi0gICAgR2V0
UGFzdGVib2FyZFVuaXF1ZU5hbWUoKSAtPiAoV1RGOjpTdHJpbmcgcGFzdGVib2FyZE5hbWUpCi0g
ICAgR2V0UGFzdGVib2FyZENvbG9yKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lKSAtPiAoV2Vi
Q29yZTo6Q29sb3IgY29sb3IpCi0gICAgR2V0UGFzdGVib2FyZFVSTChXVEY6OlN0cmluZyBwYXN0
ZWJvYXJkTmFtZSkgLT4gKFdURjo6U3RyaW5nIHVybFN0cmluZykKLSAgICBBZGRQYXN0ZWJvYXJk
VHlwZXMoV1RGOjpTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFZlY3RvcjxXVEY6OlN0cmluZz4gcGFz
dGVib2FyZFR5cGVzKSAtPiAodWludDY0X3QgY2hhbmdlQ291bnQpCi0gICAgU2V0UGFzdGVib2Fy
ZFR5cGVzKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBWZWN0b3I8V1RGOjpTdHJpbmc+IHBh
c3RlYm9hcmRUeXBlcykgLT4gKHVpbnQ2NF90IGNoYW5nZUNvdW50KQotICAgIFNldFBhc3RlYm9h
cmRQYXRobmFtZXNGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBXVEY6OlN0cmlu
ZyBwYXN0ZWJvYXJkVHlwZSwgVmVjdG9yPFdURjo6U3RyaW5nPiBwYXRobmFtZXMpIC0+ICh1aW50
NjRfdCBjaGFuZ2VDb3VudCkKLSAgICBTZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZShXVEY6OlN0
cmluZyBwYXN0ZWJvYXJkTmFtZSwgV1RGOjpTdHJpbmcgcGFzdGVib2FyZFR5cGUsIFdURjo6U3Ry
aW5nIHN0cmluZykgLT4gKHVpbnQ2NF90IGNoYW5nZUNvdW50KQotICAgIFNldFBhc3RlYm9hcmRC
dWZmZXJGb3JUeXBlKFdURjo6U3RyaW5nIHBhc3RlYm9hcmROYW1lLCBXVEY6OlN0cmluZyBwYXN0
ZWJvYXJkVHlwZSwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGUsIHVpbnQ2NF90
IHNpemUpIC0+ICh1aW50NjRfdCBjaGFuZ2VDb3VudCkKKyAgICBHZXRQYXN0ZWJvYXJkVHlwZXMo
U3RyaW5nIHBhc3RlYm9hcmROYW1lKSAtPiAoVmVjdG9yPFN0cmluZz4gdHlwZXMpCisgICAgR2V0
UGFzdGVib2FyZFBhdGhuYW1lc0ZvclR5cGUoU3RyaW5nIHBhc3RlYm9hcmROYW1lLCBTdHJpbmcg
cGFzdGVib2FyZFR5cGUpIC0+IChWZWN0b3I8U3RyaW5nPiBwYXRobmFtZXMpCisgICAgR2V0UGFz
dGVib2FyZFN0cmluZ0ZvclR5cGUoU3RyaW5nIHBhc3RlYm9hcmROYW1lLCBTdHJpbmcgcGFzdGVi
b2FyZFR5cGUpIC0+IChTdHJpbmcgc3RyaW5nKQorICAgIEdldFBhc3RlYm9hcmRCdWZmZXJGb3JU
eXBlKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwgU3RyaW5nIHBhc3RlYm9hcmRUeXBlKSAtPiAoV2Vi
S2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBoYW5kbGUsIHVpbnQ2NF90IHNpemUpCisgICAgUGFz
dGVib2FyZENvcHkoU3RyaW5nIGZyb21QYXN0ZWJvYXJkLCBTdHJpbmcgdG9QYXN0ZWJvYXJkKSAt
PiAodWludDY0X3QgY2hhbmdlQ291bnQpCisgICAgR2V0UGFzdGVib2FyZENoYW5nZUNvdW50KFN0
cmluZyBwYXN0ZWJvYXJkTmFtZSkgLT4gKHVpbnQ2NF90IGNoYW5nZUNvdW50KQorICAgIEdldFBh
c3RlYm9hcmRVbmlxdWVOYW1lKCkgLT4gKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSkKKyAgICBHZXRQ
YXN0ZWJvYXJkQ29sb3IoU3RyaW5nIHBhc3RlYm9hcmROYW1lKSAtPiAoV2ViQ29yZTo6Q29sb3Ig
Y29sb3IpCisgICAgR2V0UGFzdGVib2FyZFVSTChTdHJpbmcgcGFzdGVib2FyZE5hbWUpIC0+IChT
dHJpbmcgdXJsU3RyaW5nKQorICAgIEFkZFBhc3RlYm9hcmRUeXBlcyhTdHJpbmcgcGFzdGVib2Fy
ZE5hbWUsIFZlY3RvcjxTdHJpbmc+IHBhc3RlYm9hcmRUeXBlcykgLT4gKHVpbnQ2NF90IGNoYW5n
ZUNvdW50KQorICAgIFNldFBhc3RlYm9hcmRUeXBlcyhTdHJpbmcgcGFzdGVib2FyZE5hbWUsIFZl
Y3RvcjxTdHJpbmc+IHBhc3RlYm9hcmRUeXBlcykgLT4gKHVpbnQ2NF90IGNoYW5nZUNvdW50KQor
ICAgIFNldFBhc3RlYm9hcmRQYXRobmFtZXNGb3JUeXBlKFN0cmluZyBwYXN0ZWJvYXJkTmFtZSwg
U3RyaW5nIHBhc3RlYm9hcmRUeXBlLCBWZWN0b3I8U3RyaW5nPiBwYXRobmFtZXMpIC0+ICh1aW50
NjRfdCBjaGFuZ2VDb3VudCkKKyAgICBTZXRQYXN0ZWJvYXJkU3RyaW5nRm9yVHlwZShTdHJpbmcg
cGFzdGVib2FyZE5hbWUsIFN0cmluZyBwYXN0ZWJvYXJkVHlwZSwgU3RyaW5nIHN0cmluZykgLT4g
KHVpbnQ2NF90IGNoYW5nZUNvdW50KQorICAgIFNldFBhc3RlYm9hcmRCdWZmZXJGb3JUeXBlKFN0
cmluZyBwYXN0ZWJvYXJkTmFtZSwgU3RyaW5nIHBhc3RlYm9hcmRUeXBlLCBXZWJLaXQ6OlNoYXJl
ZE1lbW9yeTo6SGFuZGxlIGhhbmRsZSwgdWludDY0X3Qgc2l6ZSkgLT4gKHVpbnQ2NF90IGNoYW5n
ZUNvdW50KQogI2VuZGlmCiAKICNpZiAhUExBVEZPUk0oTUFDKQpAQCAtNjIsNiArNjIsNiBAQCBt
ZXNzYWdlcyAtPiBXZWJDb250ZXh0IExlZ2FjeVJlY2VpdmVyIHsKICNlbmRpZgogCiAgICAgIyBQ
bHVnLWluIG1lc3NhZ2VzLgotICAgIHZvaWQgQWRkUGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaChX
VEY6OlN0cmluZyBwYWdlT3JpZ2luLCB1aW50MzJfdCBoYXNoKQorICAgIHZvaWQgQWRkUGx1Z0lu
QXV0b1N0YXJ0T3JpZ2luSGFzaChTdHJpbmcgcGFnZU9yaWdpbiwgdWludDMyX3QgaGFzaCkKICAg
ICB2b2lkIFBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24odWludDMyX3QgaGFzaCkKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29va2llTWFuYWdl
clByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDJhZTA1NDUuLjQ5YWM2ZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb29raWVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvb2tpZU1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBX
ZWJDb29raWVNYW5hZ2VyUHJveHkgewotICAgIERpZEdldEhvc3RuYW1lc1dpdGhDb29raWVzKFZl
Y3RvcjxXVEY6OlN0cmluZz4gaG9zdG5hbWVzLCB1aW50NjRfdCBjYWxsYmFja0lEKTsKKyAgICBE
aWRHZXRIb3N0bmFtZXNXaXRoQ29va2llcyhWZWN0b3I8U3RyaW5nPiBob3N0bmFtZXMsIHVpbnQ2
NF90IGNhbGxiYWNrSUQpOwogICAgIERpZEdldEhUVFBDb29raWVBY2NlcHRQb2xpY3kodWludDMy
X3QgcG9saWN5LCB1aW50NjRfdCBjYWxsYmFja0lEKTsKICAgICAKICAgICBDb29raWVzRGlkQ2hh
bmdlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJEYXRhYmFzZU1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJEYXRh
YmFzZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgppbmRleCA1MDMyNzVmLi5iMzk5Y2FiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHku
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkRhdGFiYXNlTWFu
YWdlclByb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNCw5ICsyNCw5IEBACiAKIG1lc3NhZ2VzIC0+IFdl
YkRhdGFiYXNlTWFuYWdlclByb3h5IHsKICAgICBEaWRHZXREYXRhYmFzZXNCeU9yaWdpbihWZWN0
b3I8V2ViS2l0OjpPcmlnaW5BbmREYXRhYmFzZXM+IG9yaWdpbkFuZERhdGFiYXNlcywgdWludDY0
X3QgY2FsbGJhY2tJRCk7Ci0gICAgRGlkR2V0RGF0YWJhc2VPcmlnaW5zKFZlY3RvcjxXVEY6OlN0
cmluZz4gb3JpZ2luSWRlbnRpZmllcnMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCi0gICAgRGlkTW9k
aWZ5T3JpZ2luKFdURjo6U3RyaW5nIG9yaWdpbklkZW50aWZpZXIpCi0gICAgRGlkTW9kaWZ5RGF0
YWJhc2UoV1RGOjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllciwgV1RGOjpTdHJpbmcgZGF0YWJhc2VJ
ZGVudGlmaWVyKQorICAgIERpZEdldERhdGFiYXNlT3JpZ2lucyhWZWN0b3I8U3RyaW5nPiBvcmln
aW5JZGVudGlmaWVycywgdWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBEaWRNb2RpZnlPcmlnaW4o
U3RyaW5nIG9yaWdpbklkZW50aWZpZXIpCisgICAgRGlkTW9kaWZ5RGF0YWJhc2UoU3RyaW5nIG9y
aWdpbklkZW50aWZpZXIsIFN0cmluZyBkYXRhYmFzZUlkZW50aWZpZXIpCiB9CiAKICNlbmRpZiAv
LyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkljb25EYXRhYmFzZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJJY29uRGF0YWJhc2UubWVzc2FnZXMuaW4KaW5kZXggNDAwYWRiMC4uMzhiMzNkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkljb25EYXRhYmFzZS5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSWNvbkRhdGFiYXNlLm1lc3Nh
Z2VzLmluCkBAIC0yMSwxNiArMjEsMTYgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4g
V2ViSWNvbkRhdGFiYXNlIHsKLSAgICBSZXRhaW5JY29uRm9yUGFnZVVSTChXVEY6OlN0cmluZyBw
YWdlVVJMKQotICAgIFJlbGVhc2VJY29uRm9yUGFnZVVSTChXVEY6OlN0cmluZyBwYWdlVVJMKQot
ICAgIFNldEljb25VUkxGb3JQYWdlVVJMKFdURjo6U3RyaW5nIGljb25VUkwsIFdURjo6U3RyaW5n
IHBhZ2VVUkwpCi0gICAgU2V0SWNvbkRhdGFGb3JJY29uVVJMKENvcmVJUEM6OkRhdGFSZWZlcmVu
Y2UgaWNvbkRhdGEsIFdURjo6U3RyaW5nIGljb25VUkwpCisgICAgUmV0YWluSWNvbkZvclBhZ2VV
UkwoU3RyaW5nIHBhZ2VVUkwpCisgICAgUmVsZWFzZUljb25Gb3JQYWdlVVJMKFN0cmluZyBwYWdl
VVJMKQorICAgIFNldEljb25VUkxGb3JQYWdlVVJMKFN0cmluZyBpY29uVVJMLCBTdHJpbmcgcGFn
ZVVSTCkKKyAgICBTZXRJY29uRGF0YUZvckljb25VUkwoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBp
Y29uRGF0YSwgU3RyaW5nIGljb25VUkwpCiAgICAgCi0gICAgU3luY2hyb25vdXNJY29uRGF0YUZv
clBhZ2VVUkwoV1RGOjpTdHJpbmcgcGFnZVVSTCkgLT4gKENvcmVJUEM6OkRhdGFSZWZlcmVuY2Ug
aWNvbkRhdGEpCi0gICAgU3luY2hyb25vdXNJY29uVVJMRm9yUGFnZVVSTChXVEY6OlN0cmluZyBw
YWdlVVJMKSAtPiAoV1RGOjpTdHJpbmcgaWNvblVSTCkKLSAgICBTeW5jaHJvbm91c0ljb25EYXRh
S25vd25Gb3JJY29uVVJMKFdURjo6U3RyaW5nIGljb25VUkwpIC0+IChib29sIGRhdGFLbm93bikK
LSAgICBTeW5jaHJvbm91c0xvYWREZWNpc2lvbkZvckljb25VUkwoV1RGOjpTdHJpbmcgaWNvblVS
TCkgLT4gKGludCBsb2FkRGVjaXNpb24pCisgICAgU3luY2hyb25vdXNJY29uRGF0YUZvclBhZ2VV
UkwoU3RyaW5nIHBhZ2VVUkwpIC0+IChDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGljb25EYXRhKQor
ICAgIFN5bmNocm9ub3VzSWNvblVSTEZvclBhZ2VVUkwoU3RyaW5nIHBhZ2VVUkwpIC0+IChTdHJp
bmcgaWNvblVSTCkKKyAgICBTeW5jaHJvbm91c0ljb25EYXRhS25vd25Gb3JJY29uVVJMKFN0cmlu
ZyBpY29uVVJMKSAtPiAoYm9vbCBkYXRhS25vd24pCisgICAgU3luY2hyb25vdXNMb2FkRGVjaXNp
b25Gb3JJY29uVVJMKFN0cmluZyBpY29uVVJMKSAtPiAoaW50IGxvYWREZWNpc2lvbikKICAgICAK
LSAgICBHZXRMb2FkRGVjaXNpb25Gb3JJY29uVVJMKFdURjo6U3RyaW5nIGljb25VUkwsIHVpbnQ2
NF90IGNhbGxiYWNrSUQpCi0gICAgRGlkUmVjZWl2ZUljb25Gb3JQYWdlVVJMKFdURjo6U3RyaW5n
IHBhZ2VVUkwpCisgICAgR2V0TG9hZERlY2lzaW9uRm9ySWNvblVSTChTdHJpbmcgaWNvblVSTCwg
dWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBEaWRSZWNlaXZlSWNvbkZvclBhZ2VVUkwoU3RyaW5n
IHBhZ2VVUkwpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5z
cGVjdG9yUHJveHkubWVzc2FnZXMuaW4KaW5kZXggOGMyYmY3Yy4uMmFkZDQyZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5tZXNzYWdl
cy5pbgpAQCAtMjYsMTAgKzI2LDEwIEBAIG1lc3NhZ2VzIC0+IFdlYkluc3BlY3RvclByb3h5IHsK
ICAgICBDcmVhdGVJbnNwZWN0b3JQYWdlKCkgLT4gKHVpbnQ2NF90IGluc3BlY3RvclBhZ2VJRCwg
V2ViS2l0OjpXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzIGluc3BlY3RvclBhZ2VQYXJhbWV0ZXJz
KQogICAgIERpZENsb3NlKCkKICAgICBCcmluZ1RvRnJvbnQoKQotICAgIEluc3BlY3RlZFVSTENo
YW5nZWQoV1RGOjpTdHJpbmcgdXJsU3RyaW5nKQorICAgIEluc3BlY3RlZFVSTENoYW5nZWQoU3Ry
aW5nIHVybFN0cmluZykKIAotICAgIFNhdmUoV1RGOjpTdHJpbmcgZmlsZW5hbWUsIFdURjo6U3Ry
aW5nIGNvbnRlbnQsIGJvb2wgYmFzZTY0RW5jb2RlZCwgYm9vbCBmb3JjZVNhdmVBcykKLSAgICBB
cHBlbmQoV1RGOjpTdHJpbmcgZmlsZW5hbWUsIFdURjo6U3RyaW5nIGNvbnRlbnQpCisgICAgU2F2
ZShTdHJpbmcgZmlsZW5hbWUsIFN0cmluZyBjb250ZW50LCBib29sIGJhc2U2NEVuY29kZWQsIGJv
b2wgZm9yY2VTYXZlQXMpCisgICAgQXBwZW5kKFN0cmluZyBmaWxlbmFtZSwgU3RyaW5nIGNvbnRl
bnQpCiAKICAgICBBdHRhY2hCb3R0b20oKQogICAgIEF0dGFjaFJpZ2h0KCkKQEAgLTQxLDcgKzQx
LDcgQEAgbWVzc2FnZXMgLT4gV2ViSW5zcGVjdG9yUHJveHkgewogICAgIFNldFRvb2xiYXJIZWln
aHQodW5zaWduZWQgaGVpZ2h0KQogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUl9TRVJWRVIpCi0gICAg
U2VuZE1lc3NhZ2VUb1JlbW90ZUZyb250ZW5kKFdURjo6U3RyaW5nIG1lc3NhZ2UpCisgICAgU2Vu
ZE1lc3NhZ2VUb1JlbW90ZUZyb250ZW5kKFN0cmluZyBtZXNzYWdlKQogI2VuZGlmCiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclBy
b3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVN
YW5hZ2VyUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNzkyOTA2NC4uMTNhNzJjZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5h
Z2VyUHJveHkubWVzc2FnZXMuaW4KQEAgLTIxLDUgKzIxLDUgQEAKICMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAog
bWVzc2FnZXMgLT4gV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eSB7Ci0gICAgRGlkR2V0SG9zdG5h
bWVzV2l0aE1lZGlhQ2FjaGUoVmVjdG9yPFdURjo6U3RyaW5nPiBob3N0bmFtZXMsIHVpbnQ2NF90
IGNhbGxiYWNrSUQpOworICAgIERpZEdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKFZlY3RvcjxT
dHJpbmc+IGhvc3RuYW1lcywgdWludDY0X3QgY2FsbGJhY2tJRCk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA4ODNiZjA1
Li4xOWM1ZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KQEAgLTI1LDEzICsyNSwxMyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJv
eHkgewogICAgIENyZWF0ZU5ld1BhZ2UoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Qs
IFdlYkNvcmU6OldpbmRvd0ZlYXR1cmVzIHdpbmRvd0ZlYXR1cmVzLCB1aW50MzJfdCBtb2RpZmll
cnMsIGludDMyX3QgbW91c2VCdXR0b24pIC0+ICh1aW50NjRfdCBuZXdQYWdlSUQsIFdlYktpdDo6
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyBuZXdQYWdlUGFyYW1ldGVycykKICAgICBTaG93UGFn
ZSgpCiAgICAgQ2xvc2VQYWdlKGJvb2wgc3RvcFJlc3BvbnNpdmVuZXNzVGltZXIpCi0gICAgUnVu
SmF2YVNjcmlwdEFsZXJ0KHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1lc3NhZ2UpIC0+
ICgpCi0gICAgUnVuSmF2YVNjcmlwdENvbmZpcm0odWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJp
bmcgbWVzc2FnZSkgLT4gKGJvb2wgcmVzdWx0KQotICAgIFJ1bkphdmFTY3JpcHRQcm9tcHQodWlu
dDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgbWVzc2FnZSwgV1RGOjpTdHJpbmcgZGVmYXVsdFZh
bHVlKSAtPiAoV1RGOjpTdHJpbmcgcmVzdWx0KQorICAgIFJ1bkphdmFTY3JpcHRBbGVydCh1aW50
NjRfdCBmcmFtZUlELCBTdHJpbmcgbWVzc2FnZSkgLT4gKCkKKyAgICBSdW5KYXZhU2NyaXB0Q29u
ZmlybSh1aW50NjRfdCBmcmFtZUlELCBTdHJpbmcgbWVzc2FnZSkgLT4gKGJvb2wgcmVzdWx0KQor
ICAgIFJ1bkphdmFTY3JpcHRQcm9tcHQodWludDY0X3QgZnJhbWVJRCwgU3RyaW5nIG1lc3NhZ2Us
IFN0cmluZyBkZWZhdWx0VmFsdWUpIC0+IChTdHJpbmcgcmVzdWx0KQogICAgIFNob3VsZEludGVy
cnVwdEphdmFTY3JpcHQoKSAtPiAoYm9vbCBzaG91bGRJbnRlcnVwdCkKICAgICBNb3VzZURpZE1v
dmVPdmVyRWxlbWVudChXZWJLaXQ6OldlYkhpdFRlc3RSZXN1bHQ6OkRhdGEgaGl0VGVzdFJlc3Vs
dERhdGEsIHVpbnQzMl90IG1vZGlmaWVycywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNz
YWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lO
X0FQSSkKLSAgICBVbmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQodWludDMyX3QgcGx1Z2lu
VW5hdmFpbGFiaWxpdHlSZWFzb24sIFdURjo6U3RyaW5nIG1pbWVUeXBlLCBXVEY6OlN0cmluZyBw
bHVnaW5VUkxTdHJpbmcsIFdURjo6U3RyaW5nIHBsdWdpbnNwYWdlQXR0cmlidXRlVVJMU3RyaW5n
LCBXVEY6OlN0cmluZyBmcmFtZVVSTFN0cmluZywgV1RGOjpTdHJpbmcgcGFnZVVSTFN0cmluZykK
KyAgICBVbmF2YWlsYWJsZVBsdWdpbkJ1dHRvbkNsaWNrZWQodWludDMyX3QgcGx1Z2luVW5hdmFp
bGFiaWxpdHlSZWFzb24sIFN0cmluZyBtaW1lVHlwZSwgU3RyaW5nIHBsdWdpblVSTFN0cmluZywg
U3RyaW5nIHBsdWdpbnNwYWdlQXR0cmlidXRlVVJMU3RyaW5nLCBTdHJpbmcgZnJhbWVVUkxTdHJp
bmcsIFN0cmluZyBwYWdlVVJMU3RyaW5nKQogI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVH
SU5fQVBJKQogICAgIERpZENoYW5nZVZpZXdwb3J0UHJvcGVydGllcyhXZWJDb3JlOjpWaWV3cG9y
dEF0dHJpYnV0ZXMgYXR0cmlidXRlcykKICAgICBEaWRSZWNlaXZlRXZlbnQodWludDMyX3QgdHlw
ZSwgYm9vbCBoYW5kbGVkKQpAQCAtNDAsOCArNDAsOCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJv
eHkgewogICAgIFNldEN1cnNvcihXZWJDb3JlOjpDdXJzb3IgY3Vyc29yKQogICAgIFNldEN1cnNv
ckhpZGRlblVudGlsTW91c2VNb3Zlcyhib29sIGhpZGRlblVudGlsTW91c2VNb3ZlcykKICNlbmRp
ZgotICAgIFNldFN0YXR1c1RleHQoV1RGOjpTdHJpbmcgc3RhdHVzVGV4dCkKLSAgICBTZXRUb29s
VGlwKFdURjo6U3RyaW5nIHRvb2xUaXApCisgICAgU2V0U3RhdHVzVGV4dChTdHJpbmcgc3RhdHVz
VGV4dCkKKyAgICBTZXRUb29sVGlwKFN0cmluZyB0b29sVGlwKQogICAgIFNldEZvY3VzKGJvb2wg
Zm9jdXNlZCkKICAgICBUYWtlRm9jdXModWludDMyX3QgZGlyZWN0aW9uKQogICAgIEZvY3VzZWRG
cmFtZUNoYW5nZWQodWludDY0X3QgZnJhbWVJRCkKQEAgLTU5LDcgKzU5LDcgQEAgbWVzc2FnZXMg
LT4gV2ViUGFnZVByb3h5IHsKICAgICBHZXRXaW5kb3dGcmFtZSgpIC0+IChXZWJDb3JlOjpGbG9h
dFJlY3Qgd2luZG93RnJhbWUpCiAgICAgU2NyZWVuVG9XaW5kb3coV2ViQ29yZTo6SW50UG9pbnQg
c2NyZWVuUG9pbnQpIC0+IChXZWJDb3JlOjpJbnRQb2ludCB3aW5kb3dQb2ludCkKICAgICBXaW5k
b3dUb1NjcmVlbihXZWJDb3JlOjpJbnRSZWN0IHJlY3QpIC0+IChXZWJDb3JlOjpJbnRSZWN0IHNj
cmVlbkZyYW1lKQotICAgIFJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbChXVEY6OlN0cmluZyBt
ZXNzYWdlLCB1aW50NjRfdCBmcmFtZUlEKSAtPiAoYm9vbCBzaG91bGRDbG9zZSkKKyAgICBSdW5C
ZWZvcmVVbmxvYWRDb25maXJtUGFuZWwoU3RyaW5nIG1lc3NhZ2UsIHVpbnQ2NF90IGZyYW1lSUQp
IC0+IChib29sIHNob3VsZENsb3NlKQogICAgIFBhZ2VEaWRTY3JvbGwoKQogICAgIFJ1bk9wZW5Q
YW5lbCh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpGaWxlQ2hvb3NlclNldHRpbmdzIHBhcmFt
ZXRlcnMpCiAgICAgUHJpbnRGcmFtZSh1aW50NjRfdCBmcmFtZUlEKSAtPiAoKQpAQCAtNzAsOCAr
NzAsOCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIERpZENoYW5nZVNjcm9sbE9m
ZnNldFBpbm5pbmdGb3JNYWluRnJhbWUoYm9vbCBwaW5uZWRUb0xlZnRTaWRlLCBib29sIHBpbm5l
ZFRvUmlnaHRTaWRlLCBib29sIHBpbm5lZFRvVG9wU2lkZSwgYm9vbCBwaW5uZWRUb0JvdHRvbVNp
ZGUpCiAgICAgRGlkQ2hhbmdlUGFnZUNvdW50KHVuc2lnbmVkIHBhZ2VDb3VudCk7CiAjaWYgRU5B
QkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0gICAgRGlkRmFpbFRvSW5pdGlhbGl6ZVBsdWdpbihX
VEY6OlN0cmluZyBtaW1lVHlwZSwgV1RGOjpTdHJpbmcgZnJhbWVVUkxTdHJpbmcsIFdURjo6U3Ry
aW5nIHBhZ2VVUkxTdHJpbmcpCi0gICAgRGlkQmxvY2tJbnNlY3VyZVBsdWdpblZlcnNpb24oV1RG
OjpTdHJpbmcgbWltZVR5cGUsIFdURjo6U3RyaW5nIHBsdWdpblVSTFN0cmluZywgV1RGOjpTdHJp
bmcgZnJhbWVVUkxTdHJpbmcsIFdURjo6U3RyaW5nIHBhZ2VVUkxTdHJpbmcsIGJvb2wgcmVwbGFj
ZW1lbnRPYnNjdXJlZCkKKyAgICBEaWRGYWlsVG9Jbml0aWFsaXplUGx1Z2luKFN0cmluZyBtaW1l
VHlwZSwgU3RyaW5nIGZyYW1lVVJMU3RyaW5nLCBTdHJpbmcgcGFnZVVSTFN0cmluZykKKyAgICBE
aWRCbG9ja0luc2VjdXJlUGx1Z2luVmVyc2lvbihTdHJpbmcgbWltZVR5cGUsIFN0cmluZyBwbHVn
aW5VUkxTdHJpbmcsIFN0cmluZyBmcmFtZVVSTFN0cmluZywgU3RyaW5nIHBhZ2VVUkxTdHJpbmcs
IGJvb2wgcmVwbGFjZW1lbnRPYnNjdXJlZCkKICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKICAgICBTZXRDYW5TaG9ydENpcmN1aXRIb3Jpem9udGFsV2hlZWxFdmVudHMoYm9v
bCBjYW5TaG9ydENpcmN1aXRIb3Jpem9udGFsV2hlZWxFdmVudHMpCiAKQEAgLTEwNCw3ICsxMDQs
NyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgICMgUG9saWN5IG1lc3NhZ2VzCiAg
ICAgRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5jKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6
OlJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2UsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1
ZXN0LCBib29sIGNhblNob3dNSU1FVHlwZSwgdWludDY0X3QgbGlzdGVuZXJJRCwgV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgLT4gKGJvb2wgcmVjZWl2
ZWRQb2xpY3lBY3Rpb24sIHVpbnQ2NF90IHBvbGljeUFjdGlvbiwgdWludDY0X3QgZG93bmxvYWRJ
RCkgVmFyaWFkaWMKICAgICBEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHVpbnQ2NF90
IGZyYW1lSUQsIHVpbnQzMl90IG5hdmlnYXRpb25UeXBlLCB1aW50MzJfdCBtb2RpZmllcnMsIGlu
dDMyX3QgbW91c2VCdXR0b24sIHVpbnQ2NF90IG9yaWdpbmF0aW5nRnJhbWVJRCwgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYktpdDo6SW5q
ZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIC0+IChib29sIHJlY2VpdmVk
UG9saWN5QWN0aW9uLCB1aW50NjRfdCBwb2xpY3lBY3Rpb24sIHVpbnQ2NF90IGRvd25sb2FkSUQp
IFZhcmlhZGljCi0gICAgRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKHVpbnQ2NF90IGZy
YW1lSUQsIHVpbnQzMl90IG5hdmlnYXRpb25UeXBlLCB1aW50MzJfdCBtb2RpZmllcnMsIGludDMy
X3QgbW91c2VCdXR0b24sIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBXVEY6OlN0
cmluZyBmcmFtZU5hbWUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgRGVjaWRlUG9saWN5
Rm9yTmV3V2luZG93QWN0aW9uKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQzMl90IG5hdmlnYXRpb25U
eXBlLCB1aW50MzJfdCBtb2RpZmllcnMsIGludDMyX3QgbW91c2VCdXR0b24sIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCByZXF1ZXN0LCBTdHJpbmcgZnJhbWVOYW1lLCB1aW50NjRfdCBsaXN0ZW5l
cklELCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBW
YXJpYWRpYwogICAgIFVuYWJsZVRvSW1wbGVtZW50UG9saWN5KHVpbnQ2NF90IGZyYW1lSUQsIFdl
YkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZUVuY29kZXIgdXNlckRhdGEpICBWYXJpYWRpYwogCiAgICAgIyBQcm9ncmVzcyBtZXNzYWdl
cwpAQCAtMTE3LDcgKzExNyw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRGlk
Q3JlYXRlU3ViZnJhbWUodWludDY0X3QgZnJhbWVJRCkKIAogICAgICMgRnJhbWUgbG9hZCBtZXNz
YWdlcwotICAgIERpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0
cmluZyBtaW1lVHlwZSwgdWludDMyX3QgbG9hZFR5cGUsIFdlYktpdDo6Q2VydGlmaWNhdGVJbmZv
IGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rl
ciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCwgU3RyaW5nIG1pbWVUeXBlLCB1aW50MzJfdCBsb2FkVHlwZSwgV2ViS2l0OjpDZXJ0
aWZpY2F0ZUluZm8gY2VydGlmaWNhdGVJbmZvLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1l
c3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZEZhaWxMb2FkRm9yRnJhbWUo
dWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBE
aWRGYWlsUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciBlcnJvciwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5j
b2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFt
ZSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNv
ZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwpAQCAtMTI1LDI4ICsxMjUsMjggQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZVByb3h5IHsKICAgICBEaWRGaXJzdExheW91dEZvckZyYW1lKHVpbnQ2NF90IGZyYW1l
SUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZh
cmlhZGljCiAgICAgRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0Rm9yRnJhbWUodWludDY0
X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2Vy
RGF0YSkgVmFyaWFkaWMKICAgICBEaWRMYXlvdXQodWludDMyX3QgdHlwZSwgV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKLSAgICBEaWRS
ZWNlaXZlU2VydmVyUmVkaXJlY3RGb3JQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBm
cmFtZUlELCBXVEY6OlN0cmluZyB1cmwsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2Fn
ZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgRGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0
Rm9yUHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgU3RyaW5nIHVybCwg
V2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFk
aWMKICAgICBEaWRSZW1vdmVGcmFtZUZyb21IaWVyYXJjaHkodWludDY0X3QgZnJhbWVJRCwgV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMK
LSAgICBEaWRTdGFydFByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdU
Rjo6U3RyaW5nIHVybCwgV1RGOjpTdHJpbmcgdW5yZWFjaGFibGVVUkwsIFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCi0gICAgRGlkUmVj
ZWl2ZVRpdGxlRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgdGl0bGUsIFdl
YktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGlj
CisgICAgRGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBT
dHJpbmcgdXJsLCBTdHJpbmcgdW5yZWFjaGFibGVVUkwsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVV
c2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgRGlkUmVjZWl2ZVRpdGxl
Rm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgU3RyaW5nIHRpdGxlLCBXZWJLaXQ6OkluamVjdGVk
QnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZERpc3Bs
YXlJbnNlY3VyZUNvbnRlbnRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXZWJLaXQ6OkluamVj
dGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogICAgIERpZFJ1
bkluc2VjdXJlQ29udGVudEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRGV0
ZWN0WFNTRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVz
ZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKLSAgICBEaWRTYW1lRG9jdW1lbnRO
YXZpZ2F0aW9uRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDMyX3QgdHlwZSwgV1RGOjpT
dHJpbmcgdXJsLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJE
YXRhKSBWYXJpYWRpYworICAgIERpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCB1aW50MzJfdCB0eXBlLCBTdHJpbmcgdXJsLCBXZWJLaXQ6OkluamVjdGVk
QnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogCiAgICAgRnJhbWVE
aWRCZWNvbWVGcmFtZVNldCh1aW50NjRfdCBmcmFtZUlELCBib29sIHZhbHVlKQogCiAgICAgIyBG
b3JtcyBtZXNzYWdlcwotICAgIFdpbGxTdWJtaXRGb3JtKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2
NF90IHNvdXJjZUZyYW1lSUQsIFZlY3RvcjxzdGQ6OnBhaXI8V1RGOjpTdHJpbmcsIFdURjo6U3Ry
aW5nPj4gdGV4dEZpZWxkVmFsdWVzLCB1aW50NjRfdCBsaXN0ZW5lcklELCBXZWJLaXQ6OkluamVj
dGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYworICAgIFdpbGxT
dWJtaXRGb3JtKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IHNvdXJjZUZyYW1lSUQsIFZlY3Rv
cjxzdGQ6OnBhaXI8U3RyaW5nLCBTdHJpbmc+PiB0ZXh0RmllbGRWYWx1ZXMsIHVpbnQ2NF90IGxp
c3RlbmVySUQsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRh
dGEpIFZhcmlhZGljCiAKICAgICAjIENhbGxiYWNrIG1lc3NhZ2VzCiAgICAgVm9pZENhbGxiYWNr
KHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAgICAgRGF0YUNhbGxiYWNrKENvcmVJUEM6OkRhdGFSZWZl
cmVuY2UgcmVzdWx0RGF0YSwgdWludDY0X3QgY2FsbGJhY2tJRCkKICAgICBJbWFnZUNhbGxiYWNr
KFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgYml0bWFwSGFuZGxlLCB1aW50NjRfdCBj
YWxsYmFja0lEKQotICAgIFN0cmluZ0NhbGxiYWNrKFdURjo6U3RyaW5nIHJlc3VsdFN0cmluZywg
dWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBTdHJpbmdDYWxsYmFjayhTdHJpbmcgcmVzdWx0U3Ry
aW5nLCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIFNjcmlwdFZhbHVlQ2FsbGJhY2soQ29yZUlQ
Qzo6RGF0YVJlZmVyZW5jZSByZXN1bHREYXRhLCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIENv
bXB1dGVkUGFnZXNDYWxsYmFjayhWZWN0b3I8V2ViQ29yZTo6SW50UmVjdD4gcGFnZVJlY3RzLCBk
b3VibGUgdG90YWxTY2FsZUZhY3RvckZvclByaW50aW5nLCB1aW50NjRfdCBjYWxsYmFja0lEKQot
ICAgIFZhbGlkYXRlQ29tbWFuZENhbGxiYWNrKFdURjo6U3RyaW5nIGNvbW1hbmQsIGJvb2wgaXNF
bmFibGVkLCBpbnQzMl90IHN0YXRlLCB1aW50NjRfdCBjYWxsYmFja0lEKQorICAgIFZhbGlkYXRl
Q29tbWFuZENhbGxiYWNrKFN0cmluZyBjb21tYW5kLCBib29sIGlzRW5hYmxlZCwgaW50MzJfdCBz
dGF0ZSwgdWludDY0X3QgY2FsbGJhY2tJRCkKICNpZiBQTEFURk9STShJT1MpCiAgICAgR2VzdHVy
ZUNhbGxiYWNrKFdlYkNvcmU6OkludFBvaW50IHBvaW50LCB1aW50MzJfdCBnZXN0dXJlVHlwZSwg
dWludDMyX3QgZ2VzdHVyZVN0YXRlLCB1aW50MzJfdCBmbGFncywgdWludDY0X3QgY2FsbGJhY2tJ
RCkKICAgICBUb3VjaGVzQ2FsbGJhY2soV2ViQ29yZTo6SW50UG9pbnQgcG9pbnQsIHVpbnQzMl90
IHRvdWNoZXMsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCkBAIC0xNjIsMTAgKzE2MiwxMCBAQCBtZXNz
YWdlcyAtPiBXZWJQYWdlUHJveHkgewogCiAjaWYgUExBVEZPUk0oR1RLKQogICAgICMgU3VwcG9y
dCBmb3IgR1RLKyBwbGF0Zm9ybSBrZXliaW5kaW5ncwotICAgIEdldEVkaXRvckNvbW1hbmRzRm9y
S2V5RXZlbnQoQXRvbWljU3RyaW5nIGV2ZW50VHlwZSkgLT4gKFZlY3RvcjxXVEY6OlN0cmluZz4g
Y29tbWFuZHNMaXN0KQorICAgIEdldEVkaXRvckNvbW1hbmRzRm9yS2V5RXZlbnQoQXRvbWljU3Ry
aW5nIGV2ZW50VHlwZSkgLT4gKFZlY3RvcjxTdHJpbmc+IGNvbW1hbmRzTGlzdCkKIAogICAgICMg
U3VwcG9ydCBmb3IgY29ubmVjdGluZyB0aGUgQWNjZXNzaWJpbGl0eSB3b3JsZHMgb2YgdGhlIFVJ
IGFuZCB0aGUgV2ViIHByb2Nlc3NlcwotICAgIEJpbmRBY2Nlc3NpYmlsaXR5VHJlZShXVEY6OlN0
cmluZyBwbHVnSUQpCisgICAgQmluZEFjY2Vzc2liaWxpdHlUcmVlKFN0cmluZyBwbHVnSUQpCiAK
ICAgICBTZXRJbnB1dE1ldGhvZFN0YXRlKGJvb2wgZW5hYmxlZCk7CiAjZW5kaWYKQEAgLTE5MCwx
MSArMTkwLDExIEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgRWRpdG9yU3RhdGVD
aGFuZ2VkKFdlYktpdDo6RWRpdG9yU3RhdGUgZWRpdG9yU3RhdGUpCiAKICAgICAjIEZpbmQgbWVz
c2FnZXMKLSAgICBEaWRDb3VudFN0cmluZ01hdGNoZXMoV1RGOjpTdHJpbmcgc3RyaW5nLCB1aW50
MzJfdCBtYXRjaENvdW50KQorICAgIERpZENvdW50U3RyaW5nTWF0Y2hlcyhTdHJpbmcgc3RyaW5n
LCB1aW50MzJfdCBtYXRjaENvdW50KQogICAgIFNldEZpbmRJbmRpY2F0b3IoV2ViQ29yZTo6Rmxv
YXRSZWN0IHNlbGVjdGlvblJlY3QsIFZlY3RvcjxXZWJDb3JlOjpGbG9hdFJlY3Q+IHRleHRSZWN0
cywgZmxvYXQgY29udGVudEltYWdlU2NhbGVGYWN0b3IsIFdlYktpdDo6U2hhcmVhYmxlQml0bWFw
OjpIYW5kbGUgY29udGVudEltYWdlSGFuZGxlLCBib29sIGZhZGVPdXQsIGJvb2wgYW5pbWF0ZSkK
LSAgICBEaWRGaW5kU3RyaW5nKFdURjo6U3RyaW5nIHN0cmluZywgdWludDMyX3QgbWF0Y2hDb3Vu
dCkKLSAgICBEaWRGYWlsVG9GaW5kU3RyaW5nKFdURjo6U3RyaW5nIHN0cmluZykKLSAgICBEaWRG
aW5kU3RyaW5nTWF0Y2hlcyhXVEY6OlN0cmluZyBzdHJpbmcsIFZlY3RvcjxWZWN0b3I8V2ViQ29y
ZTo6SW50UmVjdD4+IG1hdGNoZXMsIGludDMyX3QgZmlyc3RJbmRleEFmdGVyU2VsZWN0aW9uKQor
ICAgIERpZEZpbmRTdHJpbmcoU3RyaW5nIHN0cmluZywgdWludDMyX3QgbWF0Y2hDb3VudCkKKyAg
ICBEaWRGYWlsVG9GaW5kU3RyaW5nKFN0cmluZyBzdHJpbmcpCisgICAgRGlkRmluZFN0cmluZ01h
dGNoZXMoU3RyaW5nIHN0cmluZywgVmVjdG9yPFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0Pj4gbWF0
Y2hlcywgaW50MzJfdCBmaXJzdEluZGV4QWZ0ZXJTZWxlY3Rpb24pCiAgICAgRGlkR2V0SW1hZ2VG
b3JGaW5kTWF0Y2goV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBjb250ZW50SW1hZ2VI
YW5kbGUsIHVpbnQzMl90IG1hdGNoSW5kZXgpCiAKICAgICAjIFBvcHVwTWVudSBtZXNzYWdlcwpA
QCAtMjExLDMwICsyMTEsMzAgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRS
ZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UgY2hhbGxlbmdlLCB1aW50NjRfdCBjaGFsbGVuZ2VJRCkK
IAogICAgICMgRGF0YWJhc2UgbWVzc2FnZXMKLSAgICBFeGNlZWRlZERhdGFiYXNlUXVvdGEodWlu
dDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllciwgV1RGOjpTdHJpbmcg
ZGF0YWJhc2VOYW1lLCBXVEY6OlN0cmluZyBkYXRhYmFzZURpc3BsYXlOYW1lLCB1aW50NjRfdCBj
dXJyZW50UXVvdGEsIHVpbnQ2NF90IGN1cnJlbnRPcmlnaW5Vc2FnZSwgdWludDY0X3QgY3VycmVu
dERhdGFiYXNlVXNhZ2UsIHVpbnQ2NF90IGV4cGVjdGVkVXNhZ2UpIC0+ICh1aW50NjRfdCBuZXdR
dW90YSkgRGVsYXllZAorICAgIEV4Y2VlZGVkRGF0YWJhc2VRdW90YSh1aW50NjRfdCBmcmFtZUlE
LCBTdHJpbmcgb3JpZ2luSWRlbnRpZmllciwgU3RyaW5nIGRhdGFiYXNlTmFtZSwgU3RyaW5nIGRh
dGFiYXNlRGlzcGxheU5hbWUsIHVpbnQ2NF90IGN1cnJlbnRRdW90YSwgdWludDY0X3QgY3VycmVu
dE9yaWdpblVzYWdlLCB1aW50NjRfdCBjdXJyZW50RGF0YWJhc2VVc2FnZSwgdWludDY0X3QgZXhw
ZWN0ZWRVc2FnZSkgLT4gKHVpbnQ2NF90IG5ld1F1b3RhKSBEZWxheWVkCiAKICAgICAjIEdlb2xv
Y2F0aW9uIG1lc3NhZ2VzCi0gICAgUmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1l
KHVpbnQ2NF90IGdlb2xvY2F0aW9uSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG9y
aWdpbklkZW50aWZpZXIpCisgICAgUmVxdWVzdEdlb2xvY2F0aW9uUGVybWlzc2lvbkZvckZyYW1l
KHVpbnQ2NF90IGdlb2xvY2F0aW9uSUQsIHVpbnQ2NF90IGZyYW1lSUQsIFN0cmluZyBvcmlnaW5J
ZGVudGlmaWVyKQogICAgIAogICAgICMgTm90aWZpY2F0aW9uIG1lc3NhZ2VzCi0gICAgUmVxdWVz
dE5vdGlmaWNhdGlvblBlcm1pc3Npb24odWludDY0X3QgcmVxdWVzdElELCBXVEY6OlN0cmluZyBv
cmlnaW5JZGVudGlmaWVyKQotICAgIFNob3dOb3RpZmljYXRpb24oV1RGOjpTdHJpbmcgdGl0bGUs
IFdURjo6U3RyaW5nIGJvZHksIFdURjo6U3RyaW5nIGljb25VUkwsIFdURjo6U3RyaW5nIHRhZywg
V1RGOjpTdHJpbmcgbGFuZywgV1RGOjpTdHJpbmcgZGlyLCBXVEY6OlN0cmluZyBvcmlnaW5JZGVu
dGlmaWVyLCB1aW50NjRfdCBub3RpZmljYXRpb25JRCkKKyAgICBSZXF1ZXN0Tm90aWZpY2F0aW9u
UGVybWlzc2lvbih1aW50NjRfdCByZXF1ZXN0SUQsIFN0cmluZyBvcmlnaW5JZGVudGlmaWVyKQor
ICAgIFNob3dOb3RpZmljYXRpb24oU3RyaW5nIHRpdGxlLCBTdHJpbmcgYm9keSwgU3RyaW5nIGlj
b25VUkwsIFN0cmluZyB0YWcsIFN0cmluZyBsYW5nLCBTdHJpbmcgZGlyLCBTdHJpbmcgb3JpZ2lu
SWRlbnRpZmllciwgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiAgICAgQ2FuY2VsTm90aWZpY2F0
aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQogICAgIENsZWFyTm90aWZpY2F0aW9ucyhWZWN0
b3I8dWludDY0X3Q+IG5vdGlmaWNhdGlvbklEcykKICAgICBEaWREZXN0cm95Tm90aWZpY2F0aW9u
KHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQogCiAgICAgIyBTcGVsbGluZyBhbmQgZ3JhbW1hciBt
ZXNzYWdlcwogI2lmIFVTRShVTklGSUVEX1RFWFRfQ0hFQ0tJTkcpICAKLSAgICBDaGVja1RleHRP
ZlBhcmFncmFwaChXVEY6OlN0cmluZyB0ZXh0LCB1aW50NjRfdCBjaGVja2luZ1R5cGVzKSAtPiAo
VmVjdG9yPFdlYkNvcmU6OlRleHRDaGVja2luZ1Jlc3VsdD4gcmVzdWx0cykKKyAgICBDaGVja1Rl
eHRPZlBhcmFncmFwaChTdHJpbmcgdGV4dCwgdWludDY0X3QgY2hlY2tpbmdUeXBlcykgLT4gKFZl
Y3RvcjxXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXN1bHQ+IHJlc3VsdHMpCiAjZW5kaWYKLSAgICBD
aGVja1NwZWxsaW5nT2ZTdHJpbmcoV1RGOjpTdHJpbmcgdGV4dCkgLT4gKGludDMyX3QgbWlzc3Bl
bGxpbmdMb2NhdGlvbiwgaW50MzJfdCBtaXNzcGVsbGluZ0xlbmd0aCkKLSAgICBDaGVja0dyYW1t
YXJPZlN0cmluZyhXVEY6OlN0cmluZyB0ZXh0KSAtPiAoVmVjdG9yPFdlYkNvcmU6OkdyYW1tYXJE
ZXRhaWw+IHJlc3VsdHMsIGludDMyX3QgYmFkR3JhbW1hckxvY2F0aW9uLCBpbnQzMl90IGJhZEdy
YW1tYXJMZW5ndGgpCisgICAgQ2hlY2tTcGVsbGluZ09mU3RyaW5nKFN0cmluZyB0ZXh0KSAtPiAo
aW50MzJfdCBtaXNzcGVsbGluZ0xvY2F0aW9uLCBpbnQzMl90IG1pc3NwZWxsaW5nTGVuZ3RoKQor
ICAgIENoZWNrR3JhbW1hck9mU3RyaW5nKFN0cmluZyB0ZXh0KSAtPiAoVmVjdG9yPFdlYkNvcmU6
OkdyYW1tYXJEZXRhaWw+IHJlc3VsdHMsIGludDMyX3QgYmFkR3JhbW1hckxvY2F0aW9uLCBpbnQz
Ml90IGJhZEdyYW1tYXJMZW5ndGgpCiAgICAgU3BlbGxpbmdVSUlzU2hvd2luZygpIC0+IChib29s
IGlzU2hvd2luZykKLSAgICBVcGRhdGVTcGVsbGluZ1VJV2l0aE1pc3NwZWxsZWRXb3JkKFdURjo6
U3RyaW5nIG1pc3NwZWxsZWRXb3JkKQotICAgIFVwZGF0ZVNwZWxsaW5nVUlXaXRoR3JhbW1hclN0
cmluZyhXVEY6OlN0cmluZyBiYWRHcmFtbWFyUGhyYXNlLCBXZWJDb3JlOjpHcmFtbWFyRGV0YWls
IGdyYW1tYXJEZXRhaWwpCi0gICAgR2V0R3Vlc3Nlc0ZvcldvcmQoV1RGOjpTdHJpbmcgd29yZCwg
V1RGOjpTdHJpbmcgY29udGV4dCkgLT4gKFZlY3RvcjxXVEY6OlN0cmluZz4gZ3Vlc3NlcykKLSAg
ICBMZWFybldvcmQoV1RGOjpTdHJpbmcgd29yZCk7Ci0gICAgSWdub3JlV29yZChXVEY6OlN0cmlu
ZyB3b3JkKTsKKyAgICBVcGRhdGVTcGVsbGluZ1VJV2l0aE1pc3NwZWxsZWRXb3JkKFN0cmluZyBt
aXNzcGVsbGVkV29yZCkKKyAgICBVcGRhdGVTcGVsbGluZ1VJV2l0aEdyYW1tYXJTdHJpbmcoU3Ry
aW5nIGJhZEdyYW1tYXJQaHJhc2UsIFdlYkNvcmU6OkdyYW1tYXJEZXRhaWwgZ3JhbW1hckRldGFp
bCkKKyAgICBHZXRHdWVzc2VzRm9yV29yZChTdHJpbmcgd29yZCwgU3RyaW5nIGNvbnRleHQpIC0+
IChWZWN0b3I8U3RyaW5nPiBndWVzc2VzKQorICAgIExlYXJuV29yZChTdHJpbmcgd29yZCk7Cisg
ICAgSWdub3JlV29yZChTdHJpbmcgd29yZCk7CiAgICAgUmVxdWVzdENoZWNraW5nT2ZTdHJpbmco
dWludDY0X3QgcmVxdWVzdElELCBXZWJDb3JlOjpUZXh0Q2hlY2tpbmdSZXF1ZXN0RGF0YSByZXF1
ZXN0KQogCiAgICAgIyBEcmFnIGFuZCBkcm9wIG1lc3NhZ2VzCkBAIC0yNDMsNyArMjQzLDcgQEAg
bWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykgJiYg
RU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBTZXREcmFnSW1hZ2UoV2ViQ29yZTo6SW50UG9pbnQg
Y2xpZW50UG9zaXRpb24sIFdlYktpdDo6U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgZHJhZ0ltYWdl
LCBib29sIGxpbmtEcmFnKQotICAgIFNldFByb21pc2VkRGF0YShXVEY6OlN0cmluZyBwYXN0ZWJv
YXJkTmFtZSwgV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZSBpbWFnZUhhbmRsZSwgdWludDY0
X3QgaW1hZ2VTaXplLCBXVEY6OlN0cmluZyBmaWxlbmFtZSwgV1RGOjpTdHJpbmcgZXh0ZW5zaW9u
LCBXVEY6OlN0cmluZyB0aXRsZSwgV1RGOjpTdHJpbmcgdXJsLCBXVEY6OlN0cmluZyB2aXNpYmxl
VVJMLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlIGFyY2hpdmVIYW5kbGUsIHVpbnQ2NF90
IGFyY2hpdmVTaXplKQorICAgIFNldFByb21pc2VkRGF0YShTdHJpbmcgcGFzdGVib2FyZE5hbWUs
IFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUgaW1hZ2VIYW5kbGUsIHVpbnQ2NF90IGltYWdl
U2l6ZSwgU3RyaW5nIGZpbGVuYW1lLCBTdHJpbmcgZXh0ZW5zaW9uLCBTdHJpbmcgdGl0bGUsIFN0
cmluZyB1cmwsIFN0cmluZyB2aXNpYmxlVVJMLCBXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxl
IGFyY2hpdmVIYW5kbGUsIHVpbnQ2NF90IGFyY2hpdmVTaXplKQogI2VuZGlmCiAjaWYgUExBVEZP
Uk0oR1RLKSAmJiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIFN0YXJ0RHJhZyhXZWJDb3JlOjpE
cmFnRGF0YSBkcmFnRGF0YSwgV2ViS2l0OjpTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBkcmFnSW1h
Z2UpCkBAIC0yNTUsNyArMjU1LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKIAogICAg
ICMgS2V5Ym9hcmQgaW5wdXQgc3VwcG9ydCBtZXNzYWdlcwogICAgIEludGVycHJldFF1ZXVlZEtl
eUV2ZW50KFdlYktpdDo6RWRpdG9yU3RhdGUgc3RhdGUpIC0+IChib29sIGhhbmRsZWQsIFZlY3Rv
cjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+IHNhdmVkQ29tbWFuZHMpCi0gICAgRXhlY3V0ZVNh
dmVkQ29tbWFuZEJ5U2VsZWN0b3IoV1RGOjpTdHJpbmcgc2VsZWN0b3IpIC0+IChib29sIGhhbmRs
ZWQpCisgICAgRXhlY3V0ZVNhdmVkQ29tbWFuZEJ5U2VsZWN0b3IoU3RyaW5nIHNlbGVjdG9yKSAt
PiAoYm9vbCBoYW5kbGVkKQogCiAgICAgIyBSZW1vdGUgYWNjZXNzaWJpbGl0eSBtZXNzYWdlcwog
ICAgIFJlZ2lzdGVyV2ViUHJvY2Vzc0FjY2Vzc2liaWxpdHlUb2tlbihDb3JlSVBDOjpEYXRhUmVm
ZXJlbmNlIGRhdGEpCkBAIC0yNjYsMTUgKzI2NiwxNSBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJv
eHkgewogCiAgICAgIyBTcGVlY2ggbWVzc2FnZXMKICAgICBHZXRJc1NwZWFraW5nKCkgLT4gKGJv
b2wgaXNTcGVha2luZykKLSAgICBTcGVhayhXVEY6OlN0cmluZyBzdHJpbmcpCisgICAgU3BlYWso
U3RyaW5nIHN0cmluZykKICAgICBTdG9wU3BlYWtpbmcoKQogCiAgICAgTWFrZUZpcnN0UmVzcG9u
ZGVyKCkKIAogICAgICMgU3BvdGxpZ2h0Ci0gICAgU2VhcmNoV2l0aFNwb3RsaWdodChXVEY6OlN0
cmluZyBzdHJpbmcpCisgICAgU2VhcmNoV2l0aFNwb3RsaWdodChTdHJpbmcgc3RyaW5nKQogCi0g
ICAgU2VhcmNoVGhlV2ViKFdURjo6U3RyaW5nIHN0cmluZykKKyAgICBTZWFyY2hUaGVXZWIoU3Ry
aW5nIHN0cmluZykKICNlbmRpZgogCiAjaWYgVVNFKEFQUEtJVCkKQEAgLTMxMSwyMyArMzExLDIz
IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAjZW5kaWYKIAogICAgICMgU2VhcmNoIHBv
cHVwIG1lbnVzCi0gICAgU2F2ZVJlY2VudFNlYXJjaGVzKFdURjo6U3RyaW5nIG5hbWUsIFZlY3Rv
cjxTdHJpbmc+IHNlYXJjaEl0ZW1zKQotICAgIExvYWRSZWNlbnRTZWFyY2hlcyhXVEY6OlN0cmlu
ZyBuYW1lKSAtPiAoVmVjdG9yPFN0cmluZz4gcmVzdWx0KQorICAgIFNhdmVSZWNlbnRTZWFyY2hl
cyhTdHJpbmcgbmFtZSwgVmVjdG9yPFN0cmluZz4gc2VhcmNoSXRlbXMpCisgICAgTG9hZFJlY2Vu
dFNlYXJjaGVzKFN0cmluZyBuYW1lKSAtPiAoVmVjdG9yPFN0cmluZz4gcmVzdWx0KQogCiAjaWYg
VVNFKFNPVVApCiAgICAgIyBTb3VwIGN1c3RvbSBVUkkgcmVxdWVzdCBtZXNzYWdlcwotICAgIERp
ZFJlY2VpdmVVUklSZXF1ZXN0KFdURjo6U3RyaW5nIHVyaVN0cmluZywgdWludDY0X3QgcmVxdWVz
dElEKTsKKyAgICBEaWRSZWNlaXZlVVJJUmVxdWVzdChTdHJpbmcgdXJpU3RyaW5nLCB1aW50NjRf
dCByZXF1ZXN0SUQpOwogI2VuZGlmCiAKLSAgICBTYXZlUERGVG9GaWxlSW5Eb3dubG9hZHNGb2xk
ZXIoV1RGOjpTdHJpbmcgc3VnZ2VzdGVkRmlsZW5hbWUsIFdURjo6U3RyaW5nIG9yaWdpbmF0aW5n
VVJMU3RyaW5nLCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEpCisgICAgU2F2ZVBERlRvRmls
ZUluRG93bmxvYWRzRm9sZGVyKFN0cmluZyBzdWdnZXN0ZWRGaWxlbmFtZSwgU3RyaW5nIG9yaWdp
bmF0aW5nVVJMU3RyaW5nLCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEpCiAKICNpZiBQTEFU
Rk9STShNQUMpCi0gICAgU2F2ZVBERlRvVGVtcG9yYXJ5Rm9sZGVyQW5kT3BlbldpdGhOYXRpdmVB
cHBsaWNhdGlvbihXVEY6OlN0cmluZyBzdWdnZXN0ZWRGaWxlbmFtZSwgV1RGOjpTdHJpbmcgb3Jp
Z2luYXRpbmdVUkxTdHJpbmcsIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV1RGOjpTdHJp
bmcgcGRmVVVJRCkKLSAgICBPcGVuUERGRnJvbVRlbXBvcmFyeUZvbGRlcldpdGhOYXRpdmVBcHBs
aWNhdGlvbihXVEY6OlN0cmluZyBwZGZVVUlEKQorICAgIFNhdmVQREZUb1RlbXBvcmFyeUZvbGRl
ckFuZE9wZW5XaXRoTmF0aXZlQXBwbGljYXRpb24oU3RyaW5nIHN1Z2dlc3RlZEZpbGVuYW1lLCBT
dHJpbmcgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwg
U3RyaW5nIHBkZlVVSUQpCisgICAgT3BlblBERkZyb21UZW1wb3JhcnlGb2xkZXJXaXRoTmF0aXZl
QXBwbGljYXRpb24oU3RyaW5nIHBkZlVVSUQpCiAjZW5kaWYKIAogI2lmIEVOQUJMRShORVRTQ0FQ
RV9QTFVHSU5fQVBJKQotICAgIEZpbmRQbHVnaW4oV1RGOjpTdHJpbmcgbWltZVR5cGUsIHVpbnQz
Ml90IHByb2Nlc3NUeXBlLCBXVEY6OlN0cmluZyB1cmxTdHJpbmcsIFdURjo6U3RyaW5nIGZyYW1l
VVJMU3RyaW5nLCBXVEY6OlN0cmluZyBwYWdlVVJMU3RyaW5nLCBib29sIGFsbG93T25seUFwcGxp
Y2F0aW9uUGx1Z2lucykgLT4gKHVpbnQ2NF90IHBsdWdpblByb2Nlc3NUb2tlbiwgV1RGOjpTdHJp
bmcgbmV3TUlNRVR5cGUsIHVpbnQzMl90IHBsdWdpbkxvYWRQb2xpY3ksIFdURjo6U3RyaW5nIHVu
YXZhaWxhYmlsaXR5RGVzY3JpcHRpb24pCisgICAgRmluZFBsdWdpbihTdHJpbmcgbWltZVR5cGUs
IHVpbnQzMl90IHByb2Nlc3NUeXBlLCBTdHJpbmcgdXJsU3RyaW5nLCBTdHJpbmcgZnJhbWVVUkxT
dHJpbmcsIFN0cmluZyBwYWdlVVJMU3RyaW5nLCBib29sIGFsbG93T25seUFwcGxpY2F0aW9uUGx1
Z2lucykgLT4gKHVpbnQ2NF90IHBsdWdpblByb2Nlc3NUb2tlbiwgU3RyaW5nIG5ld01JTUVUeXBl
LCB1aW50MzJfdCBwbHVnaW5Mb2FkUG9saWN5LCBTdHJpbmcgdW5hdmFpbGFiaWxpdHlEZXNjcmlw
dGlvbikKICNlbmRpZgogCiAgICAgRGlkVXBkYXRlVmlld1N0YXRlKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGQ4
ZGE4MGQuLjcxMjFiYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjQsMTEgKzI0LDExIEBAIG1lc3NhZ2VzIC0+
IFdlYlByb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAKICAgICAjIEhpc3RvcnkgY2xpZW50
IG1lc3NhZ2VzLgogICAgIERpZE5hdmlnYXRlV2l0aE5hdmlnYXRpb25EYXRhKHVpbnQ2NF90IHBh
Z2VJRCwgV2ViS2l0OjpXZWJOYXZpZ2F0aW9uRGF0YVN0b3JlIHN0b3JlLCB1aW50NjRfdCBmcmFt
ZUlEKQotICAgIERpZFBlcmZvcm1DbGllbnRSZWRpcmVjdCh1aW50NjRfdCBwYWdlSUQsIFdURjo6
U3RyaW5nIHNvdXJjZVVSTFN0cmluZywgV1RGOjpTdHJpbmcgZGVzdGluYXRpb25VUkxTdHJpbmcs
IHVpbnQ2NF90IGZyYW1lSUQpCi0gICAgRGlkUGVyZm9ybVNlcnZlclJlZGlyZWN0KHVpbnQ2NF90
IHBhZ2VJRCwgV1RGOjpTdHJpbmcgc291cmNlVVJMU3RyaW5nLCBXVEY6OlN0cmluZyBkZXN0aW5h
dGlvblVSTFN0cmluZywgdWludDY0X3QgZnJhbWVJRCkKLSAgICBEaWRVcGRhdGVIaXN0b3J5VGl0
bGUodWludDY0X3QgcGFnZUlELCBXVEY6OlN0cmluZyB0aXRsZSwgV1RGOjpTdHJpbmcgdXJsLCB1
aW50NjRfdCBmcmFtZUlEKQorICAgIERpZFBlcmZvcm1DbGllbnRSZWRpcmVjdCh1aW50NjRfdCBw
YWdlSUQsIFN0cmluZyBzb3VyY2VVUkxTdHJpbmcsIFN0cmluZyBkZXN0aW5hdGlvblVSTFN0cmlu
ZywgdWludDY0X3QgZnJhbWVJRCkKKyAgICBEaWRQZXJmb3JtU2VydmVyUmVkaXJlY3QodWludDY0
X3QgcGFnZUlELCBTdHJpbmcgc291cmNlVVJMU3RyaW5nLCBTdHJpbmcgZGVzdGluYXRpb25VUkxT
dHJpbmcsIHVpbnQ2NF90IGZyYW1lSUQpCisgICAgRGlkVXBkYXRlSGlzdG9yeVRpdGxlKHVpbnQ2
NF90IHBhZ2VJRCwgU3RyaW5nIHRpdGxlLCBTdHJpbmcgdXJsLCB1aW50NjRfdCBmcmFtZUlEKQog
Ci0gICAgQWRkQmFja0ZvcndhcmRJdGVtKHVpbnQ2NF90IGl0ZW1JRCwgV1RGOjpTdHJpbmcgb3Jp
Z2luYWxVUkwsIFdURjo6U3RyaW5nIHVybCwgV1RGOjpTdHJpbmcgdGl0bGUsIENvcmVJUEM6OkRh
dGFSZWZlcmVuY2UgYmFja0ZvcndhcmREYXRhKQorICAgIEFkZEJhY2tGb3J3YXJkSXRlbSh1aW50
NjRfdCBpdGVtSUQsIFN0cmluZyBvcmlnaW5hbFVSTCwgU3RyaW5nIHVybCwgU3RyaW5nIHRpdGxl
LCBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGJhY2tGb3J3YXJkRGF0YSkKICAgICBEaWREZXN0cm95
RnJhbWUodWludDY0X3QgZnJhbWVJRCkgCiAKICAgICBTaG91bGRUZXJtaW5hdGUoKSAtPiAoYm9v
bCBzaG91bGRUZXJtaW5hdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IDBhZTEx
NTUuLjY1YjNlNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvQ29va2ll
cy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvQ29va2llcy9XZWJDb29raWVNYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yNSw3ICsyNSw3
IEBACiAgCiAgbWVzc2FnZXMgLT4gV2ViQ29va2llTWFuYWdlciB7CiAgICAgdm9pZCBHZXRIb3N0
bmFtZXNXaXRoQ29va2llcyh1aW50NjRfdCBjYWxsYmFja0lEKQotICAgIHZvaWQgRGVsZXRlQ29v
a2llc0Zvckhvc3RuYW1lKFdURjo6U3RyaW5nIGhvc3RuYW1lKQorICAgIHZvaWQgRGVsZXRlQ29v
a2llc0Zvckhvc3RuYW1lKFN0cmluZyBob3N0bmFtZSkKICAgICB2b2lkIERlbGV0ZUFsbENvb2tp
ZXMoKQogCiAgICAgdm9pZCBTZXRIVFRQQ29va2llQWNjZXB0UG9saWN5KHVpbnQzMl90IHBvbGlj
eSkKQEAgLTM1LDYgKzM1LDYgQEAKICAgICB2b2lkIFN0b3BPYnNlcnZpbmdDb29raWVDaGFuZ2Vz
KCkKIAogI2lmIFVTRShTT1VQKQotICAgIFNldENvb2tpZVBlcnNpc3RlbnRTdG9yYWdlKFdURjo6
U3RyaW5nIHN0b3JhZ2VQYXRoLCB1aW50MzJfdCBzdG9yYWdlVHlwZSkKKyAgICBTZXRDb29raWVQ
ZXJzaXN0ZW50U3RvcmFnZShTdHJpbmcgc3RvcmFnZVBhdGgsIHVpbnQzMl90IHN0b3JhZ2VUeXBl
KQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0dlb2xv
Y2F0aW9uL1dlYkdlb2xvY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmlu
CmluZGV4IGI5NDQ0MjguLjI3MTU0ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24vV2ViR2VvbG9jYXRpb25NYW5h
Z2VyLm1lc3NhZ2VzLmluCkBAIC0yMiw3ICsyMiw3IEBACiAKIG1lc3NhZ2VzIC0+IFdlYkdlb2xv
Y2F0aW9uTWFuYWdlciB7CiAgICAgRGlkQ2hhbmdlUG9zaXRpb24oV2ViS2l0OjpXZWJHZW9sb2Nh
dGlvblBvc2l0aW9uOjpEYXRhIHBvc2l0aW9uKTsKLSAgICBEaWRGYWlsVG9EZXRlcm1pbmVQb3Np
dGlvbihXVEY6OlN0cmluZyBlcnJvck1lc3NhZ2UpOworICAgIERpZEZhaWxUb0RldGVybWluZVBv
c2l0aW9uKFN0cmluZyBlcnJvck1lc3NhZ2UpOwogI2lmIFBMQVRGT1JNKElPUykKICAgICBSZXNl
dFBlcm1pc3Npb25zKCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5tZXNz
YWdlcy5pbgppbmRleCA1ZWVlOGNjLi5jMGNmOGY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVN
YW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0yMiw2ICsyMiw2IEBACiAKIG1lc3NhZ2VzIC0+IFdlYk1l
ZGlhQ2FjaGVNYW5hZ2VyIHsKICAgICB2b2lkIEdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKHVp
bnQ2NF90IGNhbGxiYWNrSUQpCi0gICAgdm9pZCBDbGVhckNhY2hlRm9ySG9zdG5hbWUoV1RGOjpT
dHJpbmcgaG9zdG5hbWUpCisgICAgdm9pZCBDbGVhckNhY2hlRm9ySG9zdG5hbWUoU3RyaW5nIGhv
c3RuYW1lKQogICAgIHZvaWQgQ2xlYXJDYWNoZUZvckFsbEhvc3RuYW1lcygpCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0
aW9uTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCmluZGV4IGI4OGYyNmMu
LmEyZTYyM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0
aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyLm1lc3Nh
Z2VzLmluCkBAIC0yNCw2ICsyNCw2IEBAIG1lc3NhZ2VzIC0+IFdlYk5vdGlmaWNhdGlvbk1hbmFn
ZXIgewogICAgIERpZFNob3dOb3RpZmljYXRpb24odWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOwog
ICAgIERpZENsaWNrTm90aWZpY2F0aW9uKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKICAgICBE
aWRDbG9zZU5vdGlmaWNhdGlvbnMoVmVjdG9yPHVpbnQ2NF90PiBub3RpZmljYXRpb25JRHMpOwot
ICAgIERpZFVwZGF0ZU5vdGlmaWNhdGlvbkRlY2lzaW9uKFdURjo6U3RyaW5nIG9yaWdpblN0cmlu
ZywgYm9vbCBhbGxvd2VkKTsKLSAgICBEaWRSZW1vdmVOb3RpZmljYXRpb25EZWNpc2lvbnMoVmVj
dG9yPFdURjo6U3RyaW5nPiBvcmlnaW5TdHJpbmdzKTsKKyAgICBEaWRVcGRhdGVOb3RpZmljYXRp
b25EZWNpc2lvbihTdHJpbmcgb3JpZ2luU3RyaW5nLCBib29sIGFsbG93ZWQpOworICAgIERpZFJl
bW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyhWZWN0b3I8U3RyaW5nPiBvcmlnaW5TdHJpbmdzKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCAyYTU0OGYw
Li5kYjM3OWZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpA
QCAtMjQsNyArMjQsNyBAQAogCiBtZXNzYWdlcyAtPiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbiBM
ZWdhY3lSZWNlaXZlciB7CiAgICAgIyBTZXQgYSBnbG9iYWwgSmF2YVNjcmlwdCBleGNlcHRpb24u
Ci0gICAgU2V0RXhjZXB0aW9uKFdURjo6U3RyaW5nIGV4Y2VwdGlvblN0cmluZykgLT4gKCkKKyAg
ICBTZXRFeGNlcHRpb24oU3RyaW5nIGV4Y2VwdGlvblN0cmluZykgLT4gKCkKIH0KIAogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJveHkubWVzc2FnZXMuaW4KaW5kZXggNjUzMjA0NS4uMGI4NWU5MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5tZXNzYWdl
cy5pbgpAQCAtMjQsMjggKzI0LDI4IEBACiAKIG1lc3NhZ2VzIC0+IFBsdWdpblByb3h5IExlZ2Fj
eVJlY2VpdmVyIHsKICAgICAjIEFza3MgdGhlIHdlYiBwcm9jZXNzIHRvIGxvYWQgYSBVUkwuCi0g
ICAgTG9hZFVSTCh1aW50NjRfdCByZXF1ZXN0SUQsIFdURjo6U3RyaW5nIG1ldGhvZCwgV1RGOjpT
dHJpbmcgdXJsU3RyaW5nLCBXVEY6OlN0cmluZyB0YXJnZXQsIFdlYkNvcmU6OkhUVFBIZWFkZXJN
YXAgaGVhZGVyRmllbGRzLCBWZWN0b3I8dWludDhfdD4gaHR0cEJvZHksIGJvb2wgYWxsb3dQb3B1
cHMpOworICAgIExvYWRVUkwodWludDY0X3QgcmVxdWVzdElELCBTdHJpbmcgbWV0aG9kLCBTdHJp
bmcgdXJsU3RyaW5nLCBTdHJpbmcgdGFyZ2V0LCBXZWJDb3JlOjpIVFRQSGVhZGVyTWFwIGhlYWRl
ckZpZWxkcywgVmVjdG9yPHVpbnQ4X3Q+IGh0dHBCb2R5LCBib29sIGFsbG93UG9wdXBzKTsKIAog
ICAgICMgQ2FsbGVkIHdoZW4gdGhlIHBsdWctaW4gaGFzIHBhaW50ZWQgaW50byBpdHMgYmFja2lu
ZyBzdG9yZS4gVGhlIHBhaW50ZWQgcmVjdCBpcyBpbiBwbHVnLWluIGNvb3JkaW5hdGVzLgogICAg
IFVwZGF0ZShXZWJDb3JlOjpJbnRSZWN0IHBhaW50ZWRSZWN0KQogCiAgICAgIyBSZXR1cm5zIGEg
UEFDIHN0eWxlIHN0cmluZyB3aXRoIHByb3hpZXMgZm9yIHRoZSBnaXZlbiBVUkwuCi0gICAgUHJv
eGllc0ZvclVSTChXVEY6OlN0cmluZyB1cmxTdHJpbmcpIC0+IChXVEY6OlN0cmluZyBwcm94aWVz
U3RyaW5nKQorICAgIFByb3hpZXNGb3JVUkwoU3RyaW5nIHVybFN0cmluZykgLT4gKFN0cmluZyBw
cm94aWVzU3RyaW5nKQogCiAgICAgIyBSZXR1cm5zIHRoZSBjb29raWVzIGZvciB0aGUgZ2l2ZW4g
VVJMLgotICAgIENvb2tpZXNGb3JVUkwoV1RGOjpTdHJpbmcgdXJsU3RyaW5nKSAtPiAoV1RGOjpT
dHJpbmcgY29va2llU3RyaW5nKQorICAgIENvb2tpZXNGb3JVUkwoU3RyaW5nIHVybFN0cmluZykg
LT4gKFN0cmluZyBjb29raWVTdHJpbmcpCiAKICAgICAjIFNldHMgdGhlIGNvb2tpZXMgZm9yIHRo
ZSBnaXZlbiBVUkwuCi0gICAgU2V0Q29va2llc0ZvclVSTChXVEY6OlN0cmluZyB1cmxTdHJpbmcs
IFdURjo6U3RyaW5nIGNvb2tpZVN0cmluZykKKyAgICBTZXRDb29raWVzRm9yVVJMKFN0cmluZyB1
cmxTdHJpbmcsIFN0cmluZyBjb29raWVTdHJpbmcpCiAKICAgICAjIEdldHMgdGhlIGF1dGhlbnRp
Y2F0aW9uIGluZm8gZm9yIHRoZSBnaXZlbiBwcm90ZWN0aW9uIHNwYWNlLgotICAgIEdldEF1dGhl
bnRpY2F0aW9uSW5mbyhXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UgcHJvdGVjdGlvblNwYWNlKSAt
PiAoYm9vbCByZXR1cm5WYWx1ZSwgV1RGOjpTdHJpbmcgdXNlcm5hbWUsIFdURjo6U3RyaW5nIHBh
c3N3b3JkKQorICAgIEdldEF1dGhlbnRpY2F0aW9uSW5mbyhXZWJDb3JlOjpQcm90ZWN0aW9uU3Bh
Y2UgcHJvdGVjdGlvblNwYWNlKSAtPiAoYm9vbCByZXR1cm5WYWx1ZSwgU3RyaW5nIHVzZXJuYW1l
LCBTdHJpbmcgcGFzc3dvcmQpCiAKICAgICAjIEdldHMgYSByZWZlcmVuY2UgdG8gdGhlIHBsdWct
aW4gZWxlbWVudCBOUE9iamVjdC4KICAgICBHZXRQbHVnaW5FbGVtZW50TlBPYmplY3QoKSAtPiAo
dWludDY0X3QgcGx1Z2luRWxlbWVudE5QT2JqZWN0SUQpCiAKICAgICAjIEV2YWx1YXRlcyB0aGUg
Z2l2ZW4gSmF2YVNjcmlwdCBzdHJpbmcuCi0gICAgRXZhbHVhdGUoV2ViS2l0OjpOUFZhcmlhbnRE
YXRhIG5wT2JqZWN0QXNWYXJpYW50RGF0YSwgV1RGOjpTdHJpbmcgc2NyaXB0U3RyaW5nLCBib29s
IGFsbG93UG9wdXBzKSAtPiAoYm9vbCByZXR1cm5WYWx1ZSwgV2ViS2l0OjpOUFZhcmlhbnREYXRh
IHJlc3VsdERhdGEpCisgICAgRXZhbHVhdGUoV2ViS2l0OjpOUFZhcmlhbnREYXRhIG5wT2JqZWN0
QXNWYXJpYW50RGF0YSwgU3RyaW5nIHNjcmlwdFN0cmluZywgYm9vbCBhbGxvd1BvcHVwcykgLT4g
KGJvb2wgcmV0dXJuVmFsdWUsIFdlYktpdDo6TlBWYXJpYW50RGF0YSByZXN1bHREYXRhKQogCiAg
ICAgIyBDYW5jZWxzIHRoZSBnaXZlbiBzdHJlYW0gbG9hZC4KICAgICBDYW5jZWxTdHJlYW1Mb2Fk
KHVpbnQ2NF90IHN0cmVhbUlEKQpAQCAtNTQsNyArNTQsNyBAQCBtZXNzYWdlcyAtPiBQbHVnaW5Q
cm94eSBMZWdhY3lSZWNlaXZlciB7CiAgICAgQ2FuY2VsTWFudWFsU3RyZWFtTG9hZCgpCiAKICAg
ICAjIFNldCB0aGUgc3RhdHVzIGJhciB0ZXh0LgotICAgIFNldFN0YXR1c2JhclRleHQoV1RGOjpT
dHJpbmcgc3RhdHVzYmFyVGV4dCkKKyAgICBTZXRTdGF0dXNiYXJUZXh0KFN0cmluZyBzdGF0dXNi
YXJUZXh0KQogCiAjaWYgUExBVEZPUk0oTUFDKQogICAgICMgQ2FsbGVkIHdoZW4gdGhlIHBsdWct
aW4ncyBmb2N1cyBvciBpdHMgY29udGFpbmluZyB3aW5kb3cgZm9jdXMgY2hhbmdlcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlQXJlYU1hcC5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU3RvcmFnZS9TdG9yYWdlQXJl
YU1hcC5tZXNzYWdlcy5pbgppbmRleCAwNmRkZTk0Li5iMTU5MDRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1N0b3JhZ2UvU3RvcmFnZUFyZWFNYXAubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9TdG9yYWdlL1N0b3JhZ2VBcmVhTWFwLm1l
c3NhZ2VzLmluCkBAIC0yMiwxMCArMjIsMTAgQEAKIAogbWVzc2FnZXMgLT4gU3RvcmFnZUFyZWFN
YXAgewogICAgIERpZEdldFZhbHVlcyh1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCkKLSAgICBEaWRT
ZXRJdGVtKHVpbnQ2NF90IHN0b3JhZ2VNYXBTZWVkLCBXVEY6OlN0cmluZyBrZXksIGJvb2wgcXVv
dGFFeGNlcHRpb24pCi0gICAgRGlkUmVtb3ZlSXRlbSh1aW50NjRfdCBzdG9yYWdlTWFwU2VlZCwg
V1RGOjpTdHJpbmcga2V5KQorICAgIERpZFNldEl0ZW0odWludDY0X3Qgc3RvcmFnZU1hcFNlZWQs
IFN0cmluZyBrZXksIGJvb2wgcXVvdGFFeGNlcHRpb24pCisgICAgRGlkUmVtb3ZlSXRlbSh1aW50
NjRfdCBzdG9yYWdlTWFwU2VlZCwgU3RyaW5nIGtleSkKICAgICBEaWRDbGVhcih1aW50NjRfdCBz
dG9yYWdlTWFwU2VlZCkKIAotICAgIERpc3BhdGNoU3RvcmFnZUV2ZW50KHVpbnQ2NF90IHNvdXJj
ZVN0b3JhZ2VBcmVhSUQsIFdURjo6U3RyaW5nIGtleSwgV1RGOjpTdHJpbmcgb2xkVmFsdWUsIFdU
Rjo6U3RyaW5nIG5ld1ZhbHVlLCBXVEY6OlN0cmluZyB1cmxTdHJpbmcpCisgICAgRGlzcGF0Y2hT
dG9yYWdlRXZlbnQodWludDY0X3Qgc291cmNlU3RvcmFnZUFyZWFJRCwgU3RyaW5nIGtleSwgU3Ry
aW5nIG9sZFZhbHVlLCBTdHJpbmcgbmV3VmFsdWUsIFN0cmluZyB1cmxTdHJpbmcpCiAgICAgQ2xl
YXJDYWNoZSgpCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkRhdGFiYXNlTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGF0YWJhc2VNYW5hZ2VyLm1lc3NhZ2VzLmlu
CmluZGV4IGEzNDRjMDAuLmI4ZjkyZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGF0YWJhc2VNYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGF0YWJhc2VNYW5h
Z2VyLm1lc3NhZ2VzLmluCkBAIC0yNSwxMCArMjUsMTAgQEAKIG1lc3NhZ2VzIC0+IFdlYkRhdGFi
YXNlTWFuYWdlciB7CiAgICAgdm9pZCBHZXREYXRhYmFzZXNCeU9yaWdpbih1aW50NjRfdCBjYWxs
YmFja0lEKQogICAgIHZvaWQgR2V0RGF0YWJhc2VPcmlnaW5zKHVpbnQ2NF90IGNhbGxiYWNrSUQp
Ci0gICAgdm9pZCBEZWxldGVEYXRhYmFzZVdpdGhOYW1lRm9yT3JpZ2luKFdURjo6U3RyaW5nIGRh
dGFiYXNlSWRlbnRpZmllciwgV1RGOjpTdHJpbmcgb3JpZ2luSWRlbnRpZmllcikKLSAgICB2b2lk
IERlbGV0ZURhdGFiYXNlc0Zvck9yaWdpbihXVEY6OlN0cmluZyBvcmlnaW5JZGVudGlmaWVyKQor
ICAgIHZvaWQgRGVsZXRlRGF0YWJhc2VXaXRoTmFtZUZvck9yaWdpbihTdHJpbmcgZGF0YWJhc2VJ
ZGVudGlmaWVyLCBTdHJpbmcgb3JpZ2luSWRlbnRpZmllcikKKyAgICB2b2lkIERlbGV0ZURhdGFi
YXNlc0Zvck9yaWdpbihTdHJpbmcgb3JpZ2luSWRlbnRpZmllcikKICAgICB2b2lkIERlbGV0ZUFs
bERhdGFiYXNlcygpCi0gICAgdm9pZCBTZXRRdW90YUZvck9yaWdpbihXVEY6OlN0cmluZyBvcmln
aW5JZGVudGlmaWVyLCB1aW50NjRfdCBxdW90YSkKKyAgICB2b2lkIFNldFF1b3RhRm9yT3JpZ2lu
KFN0cmluZyBvcmlnaW5JZGVudGlmaWVyLCB1aW50NjRfdCBxdW90YSkKIH0KIAogI2VuZGlmIC8v
IEVOQUJMRShTUUxfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkluc3BlY3Rvci5tZXNzYWdlcy5pbgppbmRleCAyMmQyZmIwLi5j
MjNiODZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
SW5zcGVjdG9yLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJJbnNwZWN0b3IubWVzc2FnZXMuaW4KQEAgLTI4LDggKzI4LDggQEAgbWVzc2FnZXMg
LT4gV2ViSW5zcGVjdG9yIExlZ2FjeVJlY2VpdmVyIHsKICAgICBBdHRhY2hlZEJvdHRvbSgpCiAg
ICAgQXR0YWNoZWRSaWdodCgpCiAgICAgRGV0YWNoZWQoKQotICAgIERpZFNhdmUoV1RGOjpTdHJp
bmcgdXJsKQotICAgIERpZEFwcGVuZChXVEY6OlN0cmluZyB1cmwpCisgICAgRGlkU2F2ZShTdHJp
bmcgdXJsKQorICAgIERpZEFwcGVuZChTdHJpbmcgdXJsKQogICAgIFNob3dDb25zb2xlKCkKICAg
ICBTaG93UmVzb3VyY2VzKCkKICAgICBTaG93TWFpblJlc291cmNlRm9yRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCkKQEAgLTQxLDcgKzQxLDcgQEAgbWVzc2FnZXMgLT4gV2ViSW5zcGVjdG9yIExlZ2Fj
eVJlY2VpdmVyIHsKICAgICBTdG9wUGFnZVByb2ZpbGluZygpCiAKICNpZiBFTkFCTEUoSU5TUEVD
VE9SX1NFUlZFUikKLSAgICBEaXNwYXRjaE1lc3NhZ2VGcm9tUmVtb3RlRnJvbnRlbmQoV1RGOjpT
dHJpbmcgbWVzc2FnZSkKKyAgICBEaXNwYXRjaE1lc3NhZ2VGcm9tUmVtb3RlRnJvbnRlbmQoU3Ry
aW5nIG1lc3NhZ2UpCiAgICAgUmVtb3RlRnJvbnRlbmRDb25uZWN0ZWQoKQogICAgIFJlbW90ZUZy
b250ZW5kRGlzY29ubmVjdGVkKCkKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA2ZDIzMTNhLi5mMDQ2
ZDJiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4KQEAgLTcxLDE2ICs3MSwxNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdl
IExlZ2FjeVJlY2VpdmVyIHsKICAgICBHb1RvQmFja0ZvcndhcmRJdGVtKHVpbnQ2NF90IGJhY2tG
b3J3YXJkSXRlbUlEKQogICAgIFRyeVJlc3RvcmVTY3JvbGxQb3NpdGlvbigpCiAKLSAgICBMb2Fk
VVJMKFdURjo6U3RyaW5nIHVybCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2Fu
ZGJveEV4dGVuc2lvbkhhbmRsZSwgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNvZGVy
IHVzZXJEYXRhKSBWYXJpYWRpYwotICAgIExvYWRVUkxJbkZyYW1lKFdURjo6U3RyaW5nIHVybCwg
dWludDY0X3QgZnJhbWVJRCkKKyAgICBMb2FkVVJMKFN0cmluZyB1cmwsIFdlYktpdDo6U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlIHNhbmRib3hFeHRlbnNpb25IYW5kbGUsIFdlYktpdDo6V2ViQ29u
dGV4dFVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKKyAgICBMb2FkVVJMSW5G
cmFtZShTdHJpbmcgdXJsLCB1aW50NjRfdCBmcmFtZUlEKQogICAgIExvYWRVUkxSZXF1ZXN0KFdl
YkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246
OkhhbmRsZSBzYW5kYm94RXh0ZW5zaW9uSGFuZGxlLCBXZWJLaXQ6OldlYkNvbnRleHRVc2VyTWVz
c2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCi0gICAgTG9hZERhdGEoQ29yZUlQQzo6RGF0
YVJlZmVyZW5jZSBkYXRhLCBXVEY6OlN0cmluZyBNSU1FVHlwZSwgV1RGOjpTdHJpbmcgZW5jb2Rp
bmcsIFdURjo6U3RyaW5nIGJhc2VVUkwsIFdlYktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdlRW5j
b2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKLSAgICBMb2FkSFRNTFN0cmluZyhXVEY6OlN0cmluZyBo
dG1sU3RyaW5nLCBXVEY6OlN0cmluZyBiYXNlVVJMLCBXZWJLaXQ6OldlYkNvbnRleHRVc2VyTWVz
c2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCi0gICAgTG9hZEFsdGVybmF0ZUhUTUxTdHJp
bmcoV1RGOjpTdHJpbmcgaHRtbFN0cmluZywgV1RGOjpTdHJpbmcgYmFzZVVSTCwgV1RGOjpTdHJp
bmcgdW5yZWFjaGFibGVVUkwsIFdlYktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2RlciB1
c2VyRGF0YSkgVmFyaWFkaWMKLSAgICBMb2FkUGxhaW5UZXh0U3RyaW5nKFdURjo6U3RyaW5nIHN0
cmluZywgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJp
YWRpYworICAgIExvYWREYXRhKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgU3RyaW5nIE1J
TUVUeXBlLCBTdHJpbmcgZW5jb2RpbmcsIFN0cmluZyBiYXNlVVJMLCBXZWJLaXQ6OldlYkNvbnRl
eHRVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgTG9hZEhUTUxTdHJp
bmcoU3RyaW5nIGh0bWxTdHJpbmcsIFN0cmluZyBiYXNlVVJMLCBXZWJLaXQ6OldlYkNvbnRleHRV
c2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCisgICAgTG9hZEFsdGVybmF0ZUhU
TUxTdHJpbmcoU3RyaW5nIGh0bWxTdHJpbmcsIFN0cmluZyBiYXNlVVJMLCBTdHJpbmcgdW5yZWFj
aGFibGVVUkwsIFdlYktpdDo6V2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkg
VmFyaWFkaWMKKyAgICBMb2FkUGxhaW5UZXh0U3RyaW5nKFN0cmluZyBzdHJpbmcsIFdlYktpdDo6
V2ViQ29udGV4dFVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBMb2Fk
V2ViQXJjaGl2ZURhdGEoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSB3ZWJBcmNoaXZlRGF0YSwgV2Vi
S2l0OjpXZWJDb250ZXh0VXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSBWYXJpYWRpYwogCi0g
ICAgTGlua0NsaWNrZWQoV1RGOjpTdHJpbmcgdXJsLCBXZWJLaXQ6OldlYk1vdXNlRXZlbnQgZXZl
bnQpCisgICAgTGlua0NsaWNrZWQoU3RyaW5nIHVybCwgV2ViS2l0OjpXZWJNb3VzZUV2ZW50IGV2
ZW50KQogCiAgICAgUmVsb2FkKGJvb2wgcmVsb2FkRnJvbU9yaWdpbiwgV2ViS2l0OjpTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkKICAgICBTdG9wTG9hZGlu
ZygpCkBAIC0xMDMsMTMgKzEwMywxMyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2Vp
dmVyIHsKICAgICBHZXRDb250ZW50c0FzTUhUTUxEYXRhKHVpbnQ2NF90IGNhbGxiYWNrSUQsIGJv
b2wgdXNlQmluYXJ5RW5jb2RpbmcpCiAjZW5kaWYKICAgICBHZXRNYWluUmVzb3VyY2VEYXRhT2ZG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCB1aW50NjRfdCBjYWxsYmFja0lEKQotICAgIEdldFJlc291
cmNlRGF0YUZyb21GcmFtZSh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyByZXNvdXJjZVVS
TCwgdWludDY0X3QgY2FsbGJhY2tJRCkKKyAgICBHZXRSZXNvdXJjZURhdGFGcm9tRnJhbWUodWlu
dDY0X3QgZnJhbWVJRCwgU3RyaW5nIHJlc291cmNlVVJMLCB1aW50NjRfdCBjYWxsYmFja0lEKQog
ICAgIEdldFJlbmRlclRyZWVFeHRlcm5hbFJlcHJlc2VudGF0aW9uKHVpbnQ2NF90IGNhbGxiYWNr
SUQpCiAgICAgR2V0U2VsZWN0aW9uT3JDb250ZW50c0FzU3RyaW5nKHVpbnQ2NF90IGNhbGxiYWNr
SUQpCiAgICAgR2V0U2VsZWN0aW9uQXNXZWJBcmNoaXZlRGF0YSh1aW50NjRfdCBjYWxsYmFja0lE
KQogICAgIEdldFNvdXJjZUZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IGNhbGxi
YWNrSUQpCiAgICAgR2V0V2ViQXJjaGl2ZU9mRnJhbWUodWludDY0X3QgZnJhbWVJRCwgdWludDY0
X3QgY2FsbGJhY2tJRCkKLSAgICBSdW5KYXZhU2NyaXB0SW5NYWluRnJhbWUoV1RGOjpTdHJpbmcg
c2NyaXB0LCB1aW50NjRfdCBjYWxsYmFja0lEKQorICAgIFJ1bkphdmFTY3JpcHRJbk1haW5GcmFt
ZShTdHJpbmcgc2NyaXB0LCB1aW50NjRfdCBjYWxsYmFja0lEKQogICAgIEZvcmNlUmVwYWludCh1
aW50NjRfdCBjYWxsYmFja0lEKQogCiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtMTE5LDggKzExOSw4
IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogCiAgICAgUHJlZmVyZW5j
ZXNEaWRDaGFuZ2UoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlIHN0b3JlKQogCi0gICAgU2V0
VXNlckFnZW50KFdURjo6U3RyaW5nIHVzZXJBZ2VudCkKLSAgICBTZXRDdXN0b21UZXh0RW5jb2Rp
bmdOYW1lKFdURjo6U3RyaW5nIGVuY29kaW5nTmFtZSkKKyAgICBTZXRVc2VyQWdlbnQoU3RyaW5n
IHVzZXJBZ2VudCkKKyAgICBTZXRDdXN0b21UZXh0RW5jb2RpbmdOYW1lKFN0cmluZyBlbmNvZGlu
Z05hbWUpCiAKICAgICBTdXNwZW5kQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKQogICAg
IFJlc3VtZUFjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zKCkKQEAgLTEyOCw4ICsxMjgsOCBA
QCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICAgICBDbG9zZSgpCiAgICAg
VHJ5Q2xvc2UoKQogCi0gICAgVmFsaWRhdGVDb21tYW5kKFdURjo6U3RyaW5nIG5hbWUsIHVpbnQ2
NF90IGNhbGxiYWNrSUQpCi0gICAgRXhlY3V0ZUVkaXRDb21tYW5kKFdURjo6U3RyaW5nIG5hbWUp
CisgICAgVmFsaWRhdGVDb21tYW5kKFN0cmluZyBuYW1lLCB1aW50NjRfdCBjYWxsYmFja0lEKQor
ICAgIEV4ZWN1dGVFZGl0Q29tbWFuZChTdHJpbmcgbmFtZSkKIAogICAgIERpZFJlbW92ZUVkaXRD
b21tYW5kKHVpbnQ2NF90IGNvbW1hbmRJRCkKICAgICBSZWFwcGx5RWRpdENvbW1hbmQodWludDY0
X3QgY29tbWFuZElEKQpAQCAtMTUyLDIyICsxNTIsMjIgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBM
ZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UGFnZUxlbmd0aChkb3VibGUgcGFnZUxlbmd0aCkKICAg
ICBTZXRHYXBCZXR3ZWVuUGFnZXMoZG91YmxlIGdhcCkKIAotICAgIFBvc3RJbmplY3RlZEJ1bmRs
ZU1lc3NhZ2UoV1RGOjpTdHJpbmcgbWVzc2FnZU5hbWUsIFdlYktpdDo6V2ViQ29udGV4dFVzZXJN
ZXNzYWdlRW5jb2RlciBtZXNzYWdlQm9keSkgVmFyaWFkaWMKKyAgICBQb3N0SW5qZWN0ZWRCdW5k
bGVNZXNzYWdlKFN0cmluZyBtZXNzYWdlTmFtZSwgV2ViS2l0OjpXZWJDb250ZXh0VXNlck1lc3Nh
Z2VFbmNvZGVyIG1lc3NhZ2VCb2R5KSBWYXJpYWRpYwogCiAgICAgIyBGaW5kLgotICAgIEZpbmRT
dHJpbmcoV1RGOjpTdHJpbmcgc3RyaW5nLCB1aW50MzJfdCBmaW5kT3B0aW9ucywgdW5zaWduZWQg
bWF4TWF0Y2hDb3VudCkKLSAgICBGaW5kU3RyaW5nTWF0Y2hlcyhXVEY6OlN0cmluZyBzdHJpbmcs
IHVpbnQzMl90IGZpbmRPcHRpb25zLCB1bnNpZ25lZCBtYXhNYXRjaENvdW50KQorICAgIEZpbmRT
dHJpbmcoU3RyaW5nIHN0cmluZywgdWludDMyX3QgZmluZE9wdGlvbnMsIHVuc2lnbmVkIG1heE1h
dGNoQ291bnQpCisgICAgRmluZFN0cmluZ01hdGNoZXMoU3RyaW5nIHN0cmluZywgdWludDMyX3Qg
ZmluZE9wdGlvbnMsIHVuc2lnbmVkIG1heE1hdGNoQ291bnQpCiAgICAgR2V0SW1hZ2VGb3JGaW5k
TWF0Y2godWludDMyX3QgbWF0Y2hJbmRleCkKICAgICBTZWxlY3RGaW5kTWF0Y2godWludDMyX3Qg
bWF0Y2hJbmRleCkKICAgICBIaWRlRmluZFVJKCkKLSAgICBDb3VudFN0cmluZ01hdGNoZXMoV1RG
OjpTdHJpbmcgc3RyaW5nLCB1aW50MzJfdCBmaW5kT3B0aW9ucywgdW5zaWduZWQgbWF4TWF0Y2hD
b3VudCkKKyAgICBDb3VudFN0cmluZ01hdGNoZXMoU3RyaW5nIHN0cmluZywgdWludDMyX3QgZmlu
ZE9wdGlvbnMsIHVuc2lnbmVkIG1heE1hdGNoQ291bnQpCiAKICAgICAjIERyYWcgYW5kIGRyb3Au
CiAjaWYgUExBVEZPUk0oR1RLKSAmJiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAgIFBlcmZvcm1E
cmFnQ29udHJvbGxlckFjdGlvbih1aW50NjRfdCBhY3Rpb24sIFdlYkNvcmU6OkRyYWdEYXRhIGRy
YWdEYXRhKQogI2VuZGlmCiAjaWYgIVBMQVRGT1JNKEdUSykgJiYgRU5BQkxFKERSQUdfU1VQUE9S
VCkKLSAgICBQZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24odWludDY0X3QgYWN0aW9uLCBXZWJD
b3JlOjpJbnRQb2ludCBjbGllbnRQb3NpdGlvbiwgV2ViQ29yZTo6SW50UG9pbnQgZ2xvYmFsUG9z
aXRpb24sIHVpbnQ2NF90IGRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaywgV1RGOjpTdHJpbmcg
ZHJhZ1N0b3JhZ2VOYW1lLCB1aW50MzJfdCBmbGFncywgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGVBcnJheSBzYW5kYm94RXh0ZW5zaW9uc0ZvclVwbG9hZCkKKyAgICBQZXJmb3JtRHJh
Z0NvbnRyb2xsZXJBY3Rpb24odWludDY0X3QgYWN0aW9uLCBXZWJDb3JlOjpJbnRQb2ludCBjbGll
bnRQb3NpdGlvbiwgV2ViQ29yZTo6SW50UG9pbnQgZ2xvYmFsUG9zaXRpb24sIHVpbnQ2NF90IGRy
YWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaywgU3RyaW5nIGRyYWdTdG9yYWdlTmFtZSwgdWludDMy
X3QgZmxhZ3MsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNhbmRib3hFeHRlbnNp
b25IYW5kbGUsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkgc2FuZGJveEV4
dGVuc2lvbnNGb3JVcGxvYWQpCiAjZW5kaWYKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogICAg
IERyYWdFbmRlZChXZWJDb3JlOjpJbnRQb2ludCBjbGllbnRQb3NpdGlvbiwgV2ViQ29yZTo6SW50
UG9pbnQgZ2xvYmFsUG9zaXRpb24sIHVpbnQ2NF90IG9wZXJhdGlvbikKQEAgLTE4Niw3ICsxODYs
NyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVyIHsKICNlbmRpZgogCiAgICAg
IyBPcGVuIHBhbmVsLgotICAgIERpZENob29zZUZpbGVzRm9yT3BlblBhbmVsKFZlY3RvcjxXVEY6
OlN0cmluZz4gZmlsZVVSTHMpCisgICAgRGlkQ2hvb3NlRmlsZXNGb3JPcGVuUGFuZWwoVmVjdG9y
PFN0cmluZz4gZmlsZVVSTHMpCiAgICAgRGlkQ2FuY2VsRm9yT3BlblBhbmVsKCkKICNpZiBFTkFC
TEUoV0VCX1BST0NFU1NfU0FOREJPWCkKICAgICBFeHRlbmRTYW5kYm94Rm9yRmlsZUZyb21PcGVu
UGFuZWwoV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhh
bmRsZSkKQEAgLTE5NCw3ICsxOTQsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2Vp
dmVyIHsKIAogICAgICMgU3BlbGxpbmcgYW5kIGdyYW1tYXIuCiAgICAgQWR2YW5jZVRvTmV4dE1p
c3NwZWxsaW5nKGJvb2wgc3RhcnRCZWZvcmVTZWxlY3Rpb24pCi0gICAgQ2hhbmdlU3BlbGxpbmdU
b1dvcmQoV1RGOjpTdHJpbmcgd29yZCkKKyAgICBDaGFuZ2VTcGVsbGluZ1RvV29yZChTdHJpbmcg
d29yZCkKICAgICBEaWRGaW5pc2hDaGVja2luZ1RleHQodWludDY0X3QgcmVxdWVzdElELCBWZWN0
b3I8V2ViQ29yZTo6VGV4dENoZWNraW5nUmVzdWx0PiByZXN1bHQpCiAgICAgRGlkQ2FuY2VsQ2hl
Y2tpbmdUZXh0KHVpbnQ2NF90IHJlcXVlc3RJRCkKICNpZiBVU0UoQVBQS0lUKQpAQCAtMjQyLDcg
KzI0Miw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIgewogICAgIFNldENh
blJ1bk1vZGFsKGJvb2wgY2FuUnVuTW9kYWwpCiAKICNpZiBQTEFURk9STShFRkwpCi0gICAgU2V0
VGhlbWVQYXRoKFdURjo6U3RyaW5nIHRoZW1lUGF0aCkKKyAgICBTZXRUaGVtZVBhdGgoU3RyaW5n
IHRoZW1lUGF0aCkKICNlbmRpZgogCiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCkBAIC0y
NTAsOCArMjUwLDggQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKEdUSykKLSAgICBTZXRDb21wb3NpdGlvbihXVEY6OlN0cmluZyB0
ZXh0LCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVuZGVybGluZXMsIHVp
bnQ2NF90IHNlbGVjdGlvblN0YXJ0LCB1aW50NjRfdCBzZWxlY3Rpb25FbmQsIHVpbnQ2NF90IHJl
cGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCkKLSAgICBD
b25maXJtQ29tcG9zaXRpb24oV1RGOjpTdHJpbmcgdGV4dCwgaW50NjRfdCBzZWxlY3Rpb25TdGFy
dCwgaW50NjRfdCBzZWxlY3Rpb25MZW5ndGgpCisgICAgU2V0Q29tcG9zaXRpb24oU3RyaW5nIHRl
eHQsIFZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5lcywgdWlu
dDY0X3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQ2NF90IHNlbGVjdGlvbkVuZCwgdWludDY0X3QgcmVw
bGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKQorICAgIENv
bmZpcm1Db21wb3NpdGlvbihTdHJpbmcgdGV4dCwgaW50NjRfdCBzZWxlY3Rpb25TdGFydCwgaW50
NjRfdCBzZWxlY3Rpb25MZW5ndGgpCiAgICAgQ2FuY2VsQ29tcG9zaXRpb24oKQogI2VuZGlmCiAK
QEAgLTI2MywxNSArMjYzLDE1IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgTGVnYWN5UmVjZWl2ZXIg
ewogICAgIFZpZXdFeHBvc2VkUmVjdENoYW5nZWQoV2ViQ29yZTo6RmxvYXRSZWN0IGV4cG9zZWRS
ZWN0LCBib29sIGNsaXBzVG9FeHBvc2VkUmVjdCkKICAgICBTZXRNYWluRnJhbWVJc1Njcm9sbGFi
bGUoYm9vbCBpc1Njcm9sbGFibGUpCiAgICAgUmVnaXN0ZXJVSVByb2Nlc3NBY2Nlc3NpYmlsaXR5
VG9rZW5zKENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZWxlbWVuVG9rZW4sIENvcmVJUEM6OkRhdGFS
ZWZlcmVuY2Ugd2luZG93VG9rZW4pCi0gICAgR2V0U3RyaW5nU2VsZWN0aW9uRm9yUGFzdGVib2Fy
ZCgpIC0+IChXVEY6OlN0cmluZyBzdHJpbmdWYWx1ZSkKLSAgICBHZXREYXRhU2VsZWN0aW9uRm9y
UGFzdGVib2FyZChXVEY6OlN0cmluZyBwYXN0ZWJvYXJkVHlwZSkgLT4gKFdlYktpdDo6U2hhcmVk
TWVtb3J5OjpIYW5kbGUgaGFuZGxlLCB1aW50NjRfdCBzaXplKQotICAgIFJlYWRTZWxlY3Rpb25G
cm9tUGFzdGVib2FyZChXVEY6OlN0cmluZyBwYXN0ZWJvYXJkTmFtZSkgLT4gKGJvb2wgcmVzdWx0
KQorICAgIEdldFN0cmluZ1NlbGVjdGlvbkZvclBhc3RlYm9hcmQoKSAtPiAoU3RyaW5nIHN0cmlu
Z1ZhbHVlKQorICAgIEdldERhdGFTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkKFN0cmluZyBwYXN0ZWJv
YXJkVHlwZSkgLT4gKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFuZGxlLCB1aW50NjRf
dCBzaXplKQorICAgIFJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChTdHJpbmcgcGFzdGVib2Fy
ZE5hbWUpIC0+IChib29sIHJlc3VsdCkKIAogICAgICMgVGV4dCBpbnB1dC4KLSAgICBTZXRDb21w
b3NpdGlvbihXVEY6OlN0cmluZyB0ZXh0LCBWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRl
cmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2NF90IHNlbGVjdGlvblN0YXJ0LCB1aW50NjRfdCBzZWxl
Y3Rpb25FbmQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFj
ZW1lbnRSYW5nZUVuZCkgLT4gKFdlYktpdDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUpCisgICAgU2V0
Q29tcG9zaXRpb24oU3RyaW5nIHRleHQsIFZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVy
bGluZT4gdW5kZXJsaW5lcywgdWludDY0X3Qgc2VsZWN0aW9uU3RhcnQsIHVpbnQ2NF90IHNlbGVj
dGlvbkVuZCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNl
bWVudFJhbmdlRW5kKSAtPiAoV2ViS2l0OjpFZGl0b3JTdGF0ZSBuZXdTdGF0ZSkKICAgICBDb25m
aXJtQ29tcG9zaXRpb24oKSAtPiAoV2ViS2l0OjpFZGl0b3JTdGF0ZSBuZXdTdGF0ZSkKICAgICBD
YW5jZWxDb21wb3NpdGlvbigpIC0+IChXZWJLaXQ6OkVkaXRvclN0YXRlIG5ld1N0YXRlKQotICAg
IEluc2VydFRleHQoV1RGOjpTdHJpbmcgdGV4dCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0
YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kKSAtPiAoYm9vbCBoYW5kbGVkLCBXZWJL
aXQ6OkVkaXRvclN0YXRlIG5ld1N0YXRlKQorICAgIEluc2VydFRleHQoU3RyaW5nIHRleHQsIHVp
bnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVu
ZCkgLT4gKGJvb2wgaGFuZGxlZCwgV2ViS2l0OjpFZGl0b3JTdGF0ZSBuZXdTdGF0ZSkKICAgICBH
ZXRNYXJrZWRSYW5nZSgpIC0+ICh1aW50NjRfdCBsb2NhdGlvbiwgdWludDY0X3QgbGVuZ3RoKQog
ICAgIEdldFNlbGVjdGVkUmFuZ2UoKSAtPiAodWludDY0X3QgbG9jYXRpb24sIHVpbnQ2NF90IGxl
bmd0aCkKICAgICBHZXRBdHRyaWJ1dGVkU3Vic3RyaW5nRnJvbVJhbmdlKHVpbnQ2NF90IGxvY2F0
aW9uLCB1aW50NjRfdCBsZW5ndGgpIC0+IChXZWJLaXQ6OkF0dHJpYnV0ZWRTdHJpbmcgcmVzdWx0
KQpAQCAtMjgwLDE1ICsyODAsMTUgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZl
ciB7CiAgICAgRXhlY3V0ZUtleXByZXNzQ29tbWFuZHMoVmVjdG9yPFdlYkNvcmU6OktleXByZXNz
Q29tbWFuZD4gc2F2ZWRDb21tYW5kcykgLT4gKGJvb2wgaGFuZGxlZCwgV2ViS2l0OjpFZGl0b3JT
dGF0ZSBuZXdTdGF0ZSkKICAgICBTaG91bGREZWxheVdpbmRvd09yZGVyaW5nRXZlbnQoV2ViS2l0
OjpXZWJNb3VzZUV2ZW50IGV2ZW50KSAtPiAoYm9vbCByZXN1bHQpCiAgICAgQWNjZXB0c0ZpcnN0
TW91c2UoaW50IGV2ZW50TnVtYmVyLCBXZWJLaXQ6OldlYk1vdXNlRXZlbnQgZXZlbnQpIC0+IChi
b29sIHJlc3VsdCkKLSAgICBJbnNlcnREaWN0YXRlZFRleHQoV1RGOjpTdHJpbmcgdGV4dCwgdWlu
dDY0X3QgcmVwbGFjZW1lbnRSYW5nZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5k
LCBWZWN0b3I8V2ViQ29yZTo6RGljdGF0aW9uQWx0ZXJuYXRpdmU+IGRpY3RhdGlvbkFsdGVybmF0
aXZlcykgLT4gKGJvb2wgaGFuZGxlZCwgV2ViS2l0OjpFZGl0b3JTdGF0ZSBuZXdTdGF0ZSkKKyAg
ICBJbnNlcnREaWN0YXRlZFRleHQoU3RyaW5nIHRleHQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFu
Z2VTdGFydCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5nZUVuZCwgVmVjdG9yPFdlYkNvcmU6OkRp
Y3RhdGlvbkFsdGVybmF0aXZlPiBkaWN0YXRpb25BbHRlcm5hdGl2ZXMpIC0+IChib29sIGhhbmRs
ZWQsIFdlYktpdDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUpCiAjZW5kaWYKIAogICAgIFNldE1pbmlt
dW1MYXlvdXRTaXplKFdlYkNvcmU6OkludFNpemUgbWluaW11bUxheW91dFNpemUpCiAgICAgU2V0
QXV0b1NpemluZ1Nob3VsZEV4cGFuZFRvVmlld0hlaWdodChib29sIHNob3VsZEV4cGFuZCkKIAog
I2lmIFBMQVRGT1JNKEVGTCkKLSAgICBDb25maXJtQ29tcG9zaXRpb24oV1RGOjpTdHJpbmcgY29t
cG9zaXRpb25TdHJpbmcpCi0gICAgU2V0Q29tcG9zaXRpb24oV1RGOjpTdHJpbmcgY29tcG9zaXRp
b25TdHJpbmcsIFZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5l
cywgdWludDY0X3QgY3Vyc29yUG9zaXRpb24pCisgICAgQ29uZmlybUNvbXBvc2l0aW9uKFN0cmlu
ZyBjb21wb3NpdGlvblN0cmluZykKKyAgICBTZXRDb21wb3NpdGlvbihTdHJpbmcgY29tcG9zaXRp
b25TdHJpbmcsIFZlY3RvcjxXZWJDb3JlOjpDb21wb3NpdGlvblVuZGVybGluZT4gdW5kZXJsaW5l
cywgdWludDY0X3QgY3Vyc29yUG9zaXRpb24pCiAgICAgQ2FuY2VsQ29tcG9zaXRpb24oKQogI2Vu
ZGlmCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGEwOWZmNTYuLjdlYzQ2ZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4KQEAgLTM1LDE3ICszNSwxNyBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExlZ2FjeVJlY2Vp
dmVyIHsKICAgICAjIEdsb2JhbCBwcmVmZXJlbmNlcy4KICAgICBTZXRTaG91bGRUcmFja1Zpc2l0
ZWRMaW5rcyhib29sIHNob3VsZFRyYWNrVmlzaXRlZExpbmtzKQogICAgIFNldENhY2hlTW9kZWwo
dWludDMyX3QgY2FjaGVNb2RlbCkKLSAgICBSZWdpc3RlclVSTFNjaGVtZUFzRW1wdHlEb2N1bWVu
dChXVEY6OlN0cmluZyBzY2hlbWUpCi0gICAgUmVnaXN0ZXJVUkxTY2hlbWVBc1NlY3VyZShXVEY6
OlN0cmluZyBzY2hlbWUpCi0gICAgU2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNj
aGVtZShXVEY6OlN0cmluZyBzY2hlbWUpCi0gICAgUmVnaXN0ZXJVUkxTY2hlbWVBc0xvY2FsKFdU
Rjo6U3RyaW5nIHNjaGVtZSkKLSAgICBSZWdpc3RlclVSTFNjaGVtZUFzTm9BY2Nlc3MoV1RGOjpT
dHJpbmcgc2NoZW1lKQotICAgIFJlZ2lzdGVyVVJMU2NoZW1lQXNEaXNwbGF5SXNvbGF0ZWQoV1RG
OjpTdHJpbmcgc2NoZW1lKQotICAgIFJlZ2lzdGVyVVJMU2NoZW1lQXNDT1JTRW5hYmxlZChXVEY6
OlN0cmluZyBzY2hlbWUpCisgICAgUmVnaXN0ZXJVUkxTY2hlbWVBc0VtcHR5RG9jdW1lbnQoU3Ry
aW5nIHNjaGVtZSkKKyAgICBSZWdpc3RlclVSTFNjaGVtZUFzU2VjdXJlKFN0cmluZyBzY2hlbWUp
CisgICAgU2V0RG9tYWluUmVsYXhhdGlvbkZvcmJpZGRlbkZvclVSTFNjaGVtZShTdHJpbmcgc2No
ZW1lKQorICAgIFJlZ2lzdGVyVVJMU2NoZW1lQXNMb2NhbChTdHJpbmcgc2NoZW1lKQorICAgIFJl
Z2lzdGVyVVJMU2NoZW1lQXNOb0FjY2VzcyhTdHJpbmcgc2NoZW1lKQorICAgIFJlZ2lzdGVyVVJM
U2NoZW1lQXNEaXNwbGF5SXNvbGF0ZWQoU3RyaW5nIHNjaGVtZSkKKyAgICBSZWdpc3RlclVSTFNj
aGVtZUFzQ09SU0VuYWJsZWQoU3RyaW5nIHNjaGVtZSkKICAgICBTZXREZWZhdWx0UmVxdWVzdFRp
bWVvdXRJbnRlcnZhbChkb3VibGUgdGltZW91dEludGVydmFsKQogICAgIFNldEFsd2F5c1VzZXND
b21wbGV4VGV4dENvZGVQYXRoKGJvb2wgYWx3YXlzVXNlQ29tcGxleFRleHQpCiAgICAgU2V0U2hv
dWxkVXNlRm9udFNtb290aGluZyhib29sIHVzZUZvbnRTbW9vdGhpbmcpCi0gICAgVXNlclByZWZl
cnJlZExhbmd1YWdlc0NoYW5nZWQoVmVjdG9yPFdURjo6U3RyaW5nPiBsYW5ndWFnZXMpCisgICAg
VXNlclByZWZlcnJlZExhbmd1YWdlc0NoYW5nZWQoVmVjdG9yPFN0cmluZz4gbGFuZ3VhZ2VzKQog
ICAgIEZ1bGxLZXlib2FyZEFjY2Vzc01vZGVDaGFuZ2VkKGJvb2wgZnVsbEtleWJvYXJkQWNjZXNz
RW5hYmxlZCkKICNpZiBVU0UoU09VUCkKICAgICBTZXRJZ25vcmVUTFNFcnJvcnMoYm9vbCBpZ25v
cmVUTFNFcnJvcnMpCkBAIC01OSw3ICs1OSw3IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVn
YWN5UmVjZWl2ZXIgewogICAgIERpZEFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2godWludDMy
X3QgaGFzaCwgZG91YmxlIGV4cGlyYXRpb25UaW1lKQogICAgIFJlc2V0UGx1Z0luQXV0b1N0YXJ0
T3JpZ2luSGFzaGVzKEhhc2hNYXA8dWludDMyX3QsZG91YmxlPiBoYXNoZXMpCiAKLSAgICB2b2lk
IFN0YXJ0TWVtb3J5U2FtcGxlcihXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBzYW1w
bGVMb2dGaWxlSGFuZGxlLCBXVEY6OlN0cmluZyBzYW1wbGVMb2dGaWxlUGF0aCwgZG91YmxlIGlu
dGVydmFsKTsKKyAgICB2b2lkIFN0YXJ0TWVtb3J5U2FtcGxlcihXZWJLaXQ6OlNhbmRib3hFeHRl
bnNpb246OkhhbmRsZSBzYW1wbGVMb2dGaWxlSGFuZGxlLCBTdHJpbmcgc2FtcGxlTG9nRmlsZVBh
dGgsIGRvdWJsZSBpbnRlcnZhbCk7CiAgICAgdm9pZCBTdG9wTWVtb3J5U2FtcGxlcigpOwogCiAg
ICAgIyBEb3dubG9hZHMuIFRoaXMgc2hvdWxkIHJlYWxseSBiZSBpbiBhIERvd25sb2FkLm1lc3Nh
Z2VzLmluLCBidXQgaXQgc2VlbWVkIHVubmVjZXNzYXJ5IHRvIGNyZWF0ZSBhIG5ldyBmaWxlIGp1
c3QgZm9yCkBAIC04NCw2ICs4NCw2IEBAIG1lc3NhZ2VzIC0+IFdlYlByb2Nlc3MgTGVnYWN5UmVj
ZWl2ZXIgewogI2VuZGlmCiAKICNpZiAhRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykgJiYgVVNFKFNP
VVApCi0gICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KFdlYktpdDo6Q2Vy
dGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlLCBXVEY6OlN0cmluZyBob3N0KQorICAgIEFsbG93U3Bl
Y2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChXZWJLaXQ6OkNlcnRpZmljYXRlSW5mbyBjZXJ0
aWZpY2F0ZSwgU3RyaW5nIGhvc3QpCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIubWVzc2FnZXMuaW4gYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL3NvdXAvV2ViU291cFJlcXVlc3RNYW5hZ2VyLm1lc3Nh
Z2VzLmluCmluZGV4IGIxNTg4MDUuLjJhMDdlZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3Mvc291cC9XZWJTb3VwUmVxdWVzdE1hbmFnZXIubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9zb3VwL1dlYlNvdXBSZXF1ZXN0TWFuYWdlci5tZXNz
YWdlcy5pbgpAQCAtMjEsOCArMjEsOCBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBX
ZWJTb3VwUmVxdWVzdE1hbmFnZXIgewotICAgIFJlZ2lzdGVyVVJJU2NoZW1lKFdURjo6U3RyaW5n
IHVyaVNjaGVtZSk7Ci0gICAgRGlkSGFuZGxlVVJJUmVxdWVzdChDb3JlSVBDOjpEYXRhUmVmZXJl
bmNlIHJlcXVlc3REYXRhLCB1aW50NjRfdCBjb250ZW50TGVuZ3RoLCBXVEY6OlN0cmluZyBtaW1l
VHlwZSwgdWludDY0X3QgcmVxdWVzdElEKTsKKyAgICBSZWdpc3RlclVSSVNjaGVtZShTdHJpbmcg
dXJpU2NoZW1lKTsKKyAgICBEaWRIYW5kbGVVUklSZXF1ZXN0KENvcmVJUEM6OkRhdGFSZWZlcmVu
Y2UgcmVxdWVzdERhdGEsIHVpbnQ2NF90IGNvbnRlbnRMZW5ndGgsIFN0cmluZyBtaW1lVHlwZSwg
dWludDY0X3QgcmVxdWVzdElEKTsKICAgICBEaWRSZWNlaXZlVVJJUmVxdWVzdERhdGEoQ29yZUlQ
Qzo6RGF0YVJlZmVyZW5jZSByZXF1ZXN0RGF0YSwgdWludDY0X3QgcmVxdWVzdElEKTsKICAgICBE
aWRGYWlsVVJJUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yLCB1aW50NjRfdCBy
ZXF1ZXN0SUQpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>