<?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>224025</bug_id>
          
          <creation_ts>2021-03-31 15:59:45 -0700</creation_ts>
          <short_desc>Use sendWithAsyncReply for NetworkProcess messages with async replies</short_desc>
          <delta_ts>2021-04-01 10:18:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1745842</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-31 15:59:45 -0700</bug_when>
    <thetext>Use sendWithAsyncReply for NetworkProcess messages with async replies</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745843</commentid>
    <comment_count>1</comment_count>
      <attachid>424839</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-31 16:00:50 -0700</bug_when>
    <thetext>Created attachment 424839
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745854</commentid>
    <comment_count>2</comment_count>
      <attachid>424841</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-31 16:43:09 -0700</bug_when>
    <thetext>Created attachment 424841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745859</commentid>
    <comment_count>3</comment_count>
      <attachid>424842</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-03-31 17:01:48 -0700</bug_when>
    <thetext>Created attachment 424842
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746089</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-01 10:17:32 -0700</bug_when>
    <thetext>Committed r275365: &lt;https://commits.webkit.org/r275365&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424842.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746091</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-01 10:18:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/76109462&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424839</attachid>
            <date>2021-03-31 16:00:50 -0700</date>
            <delta_ts>2021-03-31 16:43:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224025-20210331160050.patch</filename>
            <type>text/plain</type>
            <size>22046</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1Mjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNhMDI5YWI2NGRjMGU0ZWE3
YjkxMWFiOWZhYjRjMjJhODc3M2E4MGMuLjFlN2IwMjJmMjBiY2EwOWUyMDZjNzBlYjJjMDA2Y2Fh
OGQ1ZGIwOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjEtMDMtMzEgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2Ugc2VuZFdp
dGhBc3luY1JlcGx5IGZvciBOZXR3b3JrUHJvY2VzcyBtZXNzYWdlcyB3aXRoIGFzeW5jIHJlcGxp
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDAy
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
d2lsbCBwcmV2ZW50IHVzIGZyb20gaGF2aW5nIHRvIG1hbnVhbGx5IHN0b3JlIGFuZCBoYW5kbGUg
dGhlIGNhbGxiYWNrIElEcyBhbmQgb3RoZXIgdGhpbmdzLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vz
czo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpk
ZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpkZWxl
dGVXZWJzaXRlRGF0YUZvck9yaWdpbnMpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6On5OZXR3b3JrUHJv
Y2Vzc1Byb3h5KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZmV0Y2hX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRlbGV0
ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVs
ZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nl
c3NQcm94eTo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a1Byb2Nlc3NQcm94eTo6Y2xlYXJDYWxsYmFja1N0YXRlcyk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZEZldGNoV2Vic2l0ZURhdGEpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWREZWxldGVXZWJzaXRl
RGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRp
ZERlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisKIDIwMjEtMDMtMzEgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQg
ZGVwcmVjYXRpb24gbWFjcm9zLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmNwcAppbmRleCA5ZWNhYmIzOGJhMjMzZWVkZTcyYzA4ZjFmYmE5ZjgzNzIw
NWRlOTk4Li5iOThiMTRjNjY4ZjVjMmJlZjc0MTE1OTkxZWJmNWQ1MjkyY2Y4YzcxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMTQ0
MiwxMCArMTQ0MiwxMCBAQCBzdGF0aWMgdm9pZCBmZXRjaERpc2tDYWNoZUVudHJpZXMoTmV0d29y
a0NhY2hlOjpDYWNoZSogY2FjaGUsIFBBTDo6U2Vzc2lvbklEIHNlcwogICAgIH0pOwogfQogCi12
b2lkIE5ldHdvcmtQcm9jZXNzOjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgT3B0aW9u
U2V0PFdlYnNpdGVEYXRhRmV0Y2hPcHRpb24+IGZldGNoT3B0aW9ucywgQ2FsbGJhY2tJRCBjYWxs
YmFja0lEKQordm9pZCBOZXR3b3JrUHJvY2Vzczo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlw
ZXMsIE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9uPiBmZXRjaE9wdGlvbnMsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoV2Vic2l0ZURhdGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
CiAgICAgc3RydWN0IENhbGxiYWNrQWdncmVnYXRvciBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTYWZl
UmVmQ291bnRlZDxDYWxsYmFja0FnZ3JlZ2F0b3I+IHsKLSAgICAgICAgZXhwbGljaXQgQ2FsbGJh
Y2tBZ2dyZWdhdG9yKEZ1bmN0aW9uPHZvaWQgKFdlYnNpdGVEYXRhKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKKyAgICAgICAgZXhwbGljaXQgQ2FsbGJhY2tBZ2dyZWdhdG9yKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2Vic2l0ZURhdGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgICAg
ICA6IG1fY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpCiAgICAg
ICAgIHsKICAgICAgICAgfQpAQCAtMTQ1MywxNyArMTQ1MywxNSBAQCB2b2lkIE5ldHdvcmtQcm9j
ZXNzOjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0
PFdlYnNpdAogICAgICAgICB+Q2FsbGJhY2tBZ2dyZWdhdG9yKCkKICAgICAgICAgewogICAgICAg
ICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUobV9jb21wbGV0aW9uSGFuZGxlciksIHdlYnNpdGVEYXRhID0gV1RGTW92ZShtX3dlYnNpdGVE
YXRhKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIod2Vi
c2l0ZURhdGEpOworICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUod2Vi
c2l0ZURhdGEpKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9CiAKLSAgICAgICAgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXZWJzaXRlRGF0YSk+IG1fY29tcGxldGlvbkhhbmRsZXI7CisgICAg
ICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vic2l0ZURhdGEmJik+IG1fY29tcGxldGlvbkhh
bmRsZXI7CiAgICAgICAgIFdlYnNpdGVEYXRhIG1fd2Vic2l0ZURhdGE7CiAgICAgfTsKIAotICAg
IGF1dG8gY2FsbGJhY2tBZ2dyZWdhdG9yID0gYWRvcHRSZWYoKm5ldyBDYWxsYmFja0FnZ3JlZ2F0
b3IoW3RoaXMsIGNhbGxiYWNrSURdIChXZWJzaXRlRGF0YSB3ZWJzaXRlRGF0YSkgewotICAgICAg
ICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpEaWRGZXRjaFdlYnNpdGVEYXRhKGNhbGxiYWNrSUQsIHdlYnNpdGVEYXRhKSwgMCk7
Ci0gICAgfSkpOworICAgIGF1dG8gY2FsbGJhY2tBZ2dyZWdhdG9yID0gYWRvcHRSZWYoKm5ldyBD
YWxsYmFja0FnZ3JlZ2F0b3IoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpKTsKIAogICAgIGlm
ICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6Q29va2llcykpIHsK
ICAgICAgICAgaWYgKGF1dG8qIG5ldHdvcmtTdG9yYWdlU2Vzc2lvbiA9IHN0b3JhZ2VTZXNzaW9u
KHNlc3Npb25JRCkpCkBAIC0xNTU0LDcgKzE1NTIsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpm
ZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNp
dAogI2VuZGlmCiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gd2Vic2l0
ZURhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ2FsbGJhY2tJRCBjYWxsYmFja0lE
KQordm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBX
YWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CiAjaWYgUExBVEZPUk0oQ09DT0EpIHx8IFVTRShTT1VQKQogICAgIGlm
ICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6SFNUU0NhY2hlKSkK
QEAgLTE1NzIsOSArMTU3MCw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmRlbGV0ZVdlYnNpdGVE
YXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpCiAgICAgICAgIFdl
YkNvcmU6OkNyZWRlbnRpYWxTdG9yYWdlOjpjbGVhclNlc3Npb25DcmVkZW50aWFscygpOwogICAg
IH0KIAotICAgIGF1dG8gY2xlYXJUYXNrc0hhbmRsZXIgPSBXVEY6OkNhbGxiYWNrQWdncmVnYXRv
cjo6Y3JlYXRlKFt0aGlzLCBjYWxsYmFja0lEXSB7Ci0gICAgICAgIHBhcmVudFByb2Nlc3NDb25u
ZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OkRpZERlbGV0ZVdl
YnNpdGVEYXRhKGNhbGxiYWNrSUQpLCAwKTsKLSAgICB9KTsKKyAgICBhdXRvIGNsZWFyVGFza3NI
YW5kbGVyID0gV1RGOjpDYWxsYmFja0FnZ3JlZ2F0b3I6OmNyZWF0ZShXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CiAKICAgICBpZiAod2Vic2l0ZURhdGFUeXBlcy5jb250YWlucyhXZWJzaXRl
RGF0YVR5cGU6OkRPTUNhY2hlKSkKICAgICAgICAgQ2FjaGVTdG9yYWdlOjpFbmdpbmU6OmNsZWFy
QWxsQ2FjaGVzKCp0aGlzLCBzZXNzaW9uSUQsIFtjbGVhclRhc2tzSGFuZGxlcl0geyB9KTsKQEAg
LTE2NTEsNyArMTY0Nyw3IEBAIHN0YXRpYyB2b2lkIGNsZWFyRGlza0NhY2hlRW50cmllcyhOZXR3
b3JrQ2FjaGU6OkNhY2hlKiBjYWNoZSwgY29uc3QgVmVjdG9yPFNlY3VyCiAgICAgfSk7CiB9CiAK
LXZvaWQgTmV0d29ya1Byb2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNl
c3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRh
VHlwZXMsIGNvbnN0IFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+JiBvcmlnaW5EYXRhcywgY29u
c3QgVmVjdG9yPFN0cmluZz4mIGNvb2tpZUhvc3ROYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4m
IEhTVFNDYWNoZUhvc3ROYW1lcywgY29uc3QgVmVjdG9yPFJlZ2lzdHJhYmxlRG9tYWluPiYgcmVn
aXN0cmFibGVEb21haW5zLCBDYWxsYmFja0lEIGNhbGxiYWNrSUQpCit2b2lkIE5ldHdvcmtQcm9j
ZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBjb25zdCBWZWN0
b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiYgb3JpZ2luRGF0YXMsIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBjb29raWVIb3N0TmFtZXMsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBIU1RTQ2FjaGVIb3N0TmFt
ZXMsIGNvbnN0IFZlY3RvcjxSZWdpc3RyYWJsZURvbWFpbj4mIHJlZ2lzdHJhYmxlRG9tYWlucywg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlm
ICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5zKFdlYnNpdGVEYXRhVHlwZTo6Q29va2llcykpIHsK
ICAgICAgICAgaWYgKGF1dG8qIG5ldHdvcmtTdG9yYWdlU2Vzc2lvbiA9IHN0b3JhZ2VTZXNzaW9u
KHNlc3Npb25JRCkpCkBAIC0xNjgyLDkgKzE2NzgsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpk
ZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRp
bwogICAgICAgICB9CiAgICAgfQogICAgIAotICAgIGF1dG8gY2xlYXJUYXNrc0hhbmRsZXIgPSBX
VEY6OkNhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRlKFt0aGlzLCBjYWxsYmFja0lEXSB7Ci0gICAg
ICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9j
ZXNzUHJveHk6OkRpZERlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhjYWxsYmFja0lEKSwgMCk7
Ci0gICAgfSk7CisgICAgYXV0byBjbGVhclRhc2tzSGFuZGxlciA9IFdURjo6Q2FsbGJhY2tBZ2dy
ZWdhdG9yOjpjcmVhdGUoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHdl
YnNpdGVEYXRhVHlwZXMuY29udGFpbnMoV2Vic2l0ZURhdGFUeXBlOjpET01DYWNoZSkpIHsKICAg
ICAgICAgZm9yIChhdXRvJiBvcmlnaW5EYXRhIDogb3JpZ2luRGF0YXMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggZDAyNGYyZWQ1YWY2Nzkz
ODQ2NmRkODJlNTkxMDJkYWIxMTY2OTc1Ny4uZjBmMGZjYzdkMzVmMzdiOWUyYjU0NDZkM2E1M2Y2
MjMzZTg2NjQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuaApAQCAtNDIzLDkgKzQyMyw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXpl
TmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAgICAg
dm9pZCBjcmVhdGVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9u
YWw8SVBDOjpBdHRhY2htZW50PiYmLCBXZWJDb3JlOjpIVFRQQ29va2llQWNjZXB0UG9saWN5KT4m
Jik7CiAKLSAgICB2b2lkIGZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQsIE9wdGlvblNl
dDxXZWJzaXRlRGF0YVR5cGU+LCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFGZXRjaE9wdGlvbj4sIENh
bGxiYWNrSUQpOwotICAgIHZvaWQgZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQsIE9w
dGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDYWxsYmFj
a0lEKTsKLSAgICB2b2lkIGRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25J
RCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4sIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGE+JiBvcmlnaW5zLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgY29va2llSG9z
dE5hbWVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgSFNUU0NhY2hlSG9zdG5hbWVzLCBjb25zdCBW
ZWN0b3I8UmVnaXN0cmFibGVEb21haW4+JiwgQ2FsbGJhY2tJRCk7CisgICAgdm9pZCBmZXRjaFdl
YnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgT3B0
aW9uU2V0PFdlYnNpdGVEYXRhRmV0Y2hPcHRpb24+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdl
YnNpdGVEYXRhJiYpPiYmKTsKKyAgICB2b2lkIGRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lv
bklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKKyAgICB2b2lkIGRlbGV0ZVdlYnNpdGVEYXRh
Rm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4sIGNv
bnN0IFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+JiBvcmlnaW5zLCBjb25zdCBW
ZWN0b3I8U3RyaW5nPiYgY29va2llSG9zdE5hbWVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgSFNU
U0NhY2hlSG9zdG5hbWVzLCBjb25zdCBWZWN0b3I8UmVnaXN0cmFibGVEb21haW4+JiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKIAogICAgIHZvaWQgY2xlYXJDYWNoZWRDcmVkZW50aWFs
cyhQQUw6OlNlc3Npb25JRCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDlkMWVkODhlYTA0YTBmNjQ1
MzMxNDhmMDQyNDhhOTcwYTc3MjkxZWIuLjg4ZDA3N2EwMTQ1NjcwZjdmNWE1YmIyYTk2MDA1ZmVh
MTgwZDkzOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNDIsOSArNDIsOSBAQCBtZXNzYWdlcyAtPiBO
ZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgQWRkV2Vic2l0ZURhdGFTdG9yZShz
dHJ1Y3QgV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyB3ZWJzaXRlRGF0YVN0b3Jl
UGFyYW1ldGVycyk7CiAgICAgRGVzdHJveVNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
KQogCi0gICAgRmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlv
blNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgT3B0aW9uU2V0
PFdlYktpdDo6V2Vic2l0ZURhdGFGZXRjaE9wdGlvbj4gZmV0Y2hPcHRpb25zLCBXZWJLaXQ6OkNh
bGxiYWNrSUQgY2FsbGJhY2tJRCkKLSAgICBEZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURh
dGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxi
YWNrSUQpCi0gICAgRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklEIHNl
c3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5
cGVzLCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiBvcmlnaW5zLCBWZWN0b3I8
U3RyaW5nPiBjb29raWVIb3N0TmFtZXMsIFZlY3RvcjxTdHJpbmc+IEhTVFNDYWNoZUhvc3ROYW1l
cywgVmVjdG9yPFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluPiByZWdpc3RyYWJsZURvbWFpbnMs
IFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQorICAgIEZldGNoV2Vic2l0ZURhdGEoUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+
IHdlYnNpdGVEYXRhVHlwZXMsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhRmV0Y2hPcHRp
b24+IGZldGNoT3B0aW9ucykgLT4gKHN0cnVjdCBXZWJLaXQ6OldlYnNpdGVEYXRhIHdlYnNpdGVE
YXRhKSBBc3luYworICAgIERlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBX
YWxsVGltZSBtb2RpZmllZFNpbmNlKSAtPiAoKSBBc3luYworICAgIERlbGV0ZVdlYnNpdGVEYXRh
Rm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6Oldl
YnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YT4gb3JpZ2lucywgVmVjdG9yPFN0cmluZz4gY29va2llSG9zdE5hbWVzLCBWZWN0
b3I8U3RyaW5nPiBIU1RTQ2FjaGVIb3N0TmFtZXMsIFZlY3RvcjxXZWJDb3JlOjpSZWdpc3RyYWJs
ZURvbWFpbj4gcmVnaXN0cmFibGVEb21haW5zKSAtPiAoKSBBc3luYwogICAgIFJlbmFtZU9yaWdp
bkluV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBVUkwgb2xkRG9tYWluLCBV
UkwgbmV3RG9tYWluLCBPcHRpb25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVE
YXRhVHlwZXMpIC0+ICgpIEFzeW5jCiAKICAgICBEb3dubG9hZFJlcXVlc3QoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBXZWJLaXQ6OkRvd25sb2FkSUQgZG93bmxvYWRJRCwgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0IHJlcXVlc3QsIGVudW06Ym9vbCBPcHRpb25hbDxXZWJLaXQ6Ok5hdmlnYXRp
bmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluLCBTdHJpbmcg
c3VnZ2VzdGVkRmlsZW5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBiZTExOTUwNjU4YmJhMTczZTYx
MjY1NzgwMjZhMDQ2NjJmM2MyYWZhLi5lYjMzNmY2MWFjYjVkZjQ0NjgwNDkxNWMyODQwZmM2M2Y5
Y2YzZjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdv
cmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAgLTIwNyw3ICsyMDcsNiBAQCBOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpOZXR3b3JrUHJvY2Vzc1Byb3h5KCkKIAogTmV0d29ya1Byb2Nlc3NQcm94eTo6fk5l
dHdvcmtQcm9jZXNzUHJveHkoKQogewotICAgIEFTU0VSVChtX3BlbmRpbmdGZXRjaFdlYnNpdGVE
YXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSk7CiAgICAgQVNTRVJUKG1fcGVuZGluZ0RlbGV0ZVdlYnNp
dGVEYXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSk7CiAgICAgQVNTRVJUKG1fcGVuZGluZ0RlbGV0ZVdl
YnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5pc0VtcHR5KCkpOwogI2lmIEVOQUJMRShDT05U
RU5UX0VYVEVOU0lPTlMpCkBAIC0yODcsNTggKzI4NiwxOSBAQCBEb3dubG9hZFByb3h5JiBOZXR3
b3JrUHJvY2Vzc1Byb3h5OjpjcmVhdGVEb3dubG9hZFByb3h5KFdlYnNpdGVEYXRhU3RvcmUmIGRh
dGFTdAogICAgIHJldHVybiBtX2Rvd25sb2FkUHJveHlNYXAtPmNyZWF0ZURvd25sb2FkUHJveHko
ZGF0YVN0b3JlLCBwcm9jZXNzUG9vbCwgcmVzb3VyY2VSZXF1ZXN0LCBmcmFtZUluZm8sIG9yaWdp
bmF0aW5nUGFnZSk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRl
RGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+
IGRhdGFUeXBlcywgT3B0aW9uU2V0PFdlYnNpdGVEYXRhRmV0Y2hPcHRpb24+IGZldGNoT3B0aW9u
cywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAoV2Vic2l0ZURhdGEpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQordm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBP
cHRpb25TZXQ8V2Vic2l0ZURhdGFGZXRjaE9wdGlvbj4gZmV0Y2hPcHRpb25zLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFdlYnNpdGVEYXRhKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBB
U1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7Ci0KLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBDYWxsYmFj
a0lEOjpnZW5lcmF0ZUlEKCk7Ci0gICAgUkVMRUFTRV9MT0dfSUYoc2Vzc2lvbklELmlzQWx3YXlz
T25Mb2dnaW5nQWxsb3dlZCgpLCBQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gTmV0d29ya1Byb2Nl
c3NQcm94eSBpcyB0YWtpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIHRoZSBOZXR3
b3JrIHByb2Nlc3MgaXMgZmV0Y2hpbmcgV2Vic2l0ZSBkYXRhIiwgdGhpcyk7Ci0KLSAgICBtX3Bl
bmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBbdGhpcywgYWN0
aXZpdHkgPSB0aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHkoIk5ldHdvcmtQcm9jZXNzUHJv
eHk6OmZldGNoV2Vic2l0ZURhdGEiX3MpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpLCBzZXNzaW9uSURdIChXZWJzaXRlRGF0YSB3ZWJzaXRlRGF0YSkgbXV0
YWJsZSB7Ci0jaWYgUkVMRUFTRV9MT0dfRElTQUJMRUQKLSAgICAgICAgVU5VU0VEX1BBUkFNKHRo
aXMpOwotICAgICAgICBVTlVTRURfUEFSQU0oc2Vzc2lvbklEKTsKLSNlbmRpZgotICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKHdlYnNpdGVEYXRhKSk7Ci0gICAgICAgIFJFTEVBU0Vf
TE9HX0lGKHNlc3Npb25JRC5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUHJvY2Vzc1N1c3Bl
bnNpb24sICIlcCAtIE5ldHdvcmtQcm9jZXNzUHJveHkgaXMgcmVsZWFzaW5nIGEgYmFja2dyb3Vu
ZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgTmV0d29yayBwcm9jZXNzIGlzIGRvbmUgZmV0Y2hpbmcg
V2Vic2l0ZSBkYXRhIiwgdGhpcyk7Ci0gICAgfSk7Ci0KLSAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3
b3JrUHJvY2Vzczo6RmV0Y2hXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgZmV0Y2hP
cHRpb25zLCBjYWxsYmFja0lEKSwgMCk7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2Vz
OjpOZXR3b3JrUHJvY2Vzczo6RmV0Y2hXZWJzaXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywg
ZmV0Y2hPcHRpb25zKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIE5l
dHdvcmtQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBXYWxsVGltZSBtb2Rp
ZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQordm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2Fs
bFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogewotICAgIGF1dG8gY2FsbGJhY2tJRCA9IENhbGxiYWNrSUQ6OmdlbmVyYXRl
SUQoKTsKLSAgICBSRUxFQVNFX0xPR19JRihzZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dpbmdBbGxv
d2VkKCksIFByb2Nlc3NTdXNwZW5zaW9uLCAiJXAgLSBOZXR3b3JrUHJvY2Vzc1Byb3h5IGlzIHRh
a2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9uIGJlY2F1c2UgdGhlIE5ldHdvcmsgcHJvY2VzcyBp
cyBkZWxldGluZyBXZWJzaXRlIGRhdGEiLCB0aGlzKTsKLQotICAgIG1fcGVuZGluZ0RlbGV0ZVdl
YnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxsYmFja0lELCBbdGhpcywgYWN0aXZpdHkgPSB0aHJv
dHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHkoIk5ldHdvcmtQcm9jZXNzUHJveHk6OmRlbGV0ZVdl
YnNpdGVEYXRhIl9zKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSwgc2Vzc2lvbklEXSAoKSBtdXRhYmxlIHsKLSNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAot
ICAgICAgICBVTlVTRURfUEFSQU0odGhpcyk7Ci0gICAgICAgIFVOVVNFRF9QQVJBTShzZXNzaW9u
SUQpOwotI2VuZGlmCi0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIFJFTEVB
U0VfTE9HX0lGKHNlc3Npb25JRC5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUHJvY2Vzc1N1
c3BlbnNpb24sICIlcCAtIE5ldHdvcmtQcm9jZXNzUHJveHkgaXMgcmVsZWFzaW5nIGEgYmFja2dy
b3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgTmV0d29yayBwcm9jZXNzIGlzIGRvbmUgZGVsZXRp
bmcgV2Vic2l0ZSBkYXRhIiwgdGhpcyk7Ci0gICAgfSk7Ci0gICAgc2VuZChNZXNzYWdlczo6TmV0
d29ya1Byb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBtb2Rp
ZmllZFNpbmNlLCBjYWxsYmFja0lEKSwgMCk7CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3Nh
Z2VzOjpOZXR3b3JrUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlw
ZXMsIG1vZGlmaWVkU2luY2UpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZv
aWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVz
LCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhPiYgb3JpZ2lucywgY29u
c3QgVmVjdG9yPFN0cmluZz4mIGNvb2tpZUhvc3ROYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4m
IEhTVFNDYWNoZUhvc3ROYW1lcywgY29uc3QgVmVjdG9yPFJlZ2lzdHJhYmxlRG9tYWluPiYgcmVn
aXN0cmFibGVEb21haW5zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7Ci0gICAgQVNTRVJUKGNhblNlbmRNZXNzYWdlKCkpOwotCi0gICAgYXV0byBjYWxs
YmFja0lEID0gQ2FsbGJhY2tJRDo6Z2VuZXJhdGVJRCgpOwotICAgIFJFTEVBU0VfTE9HX0lGKHNl
c3Npb25JRC5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUHJvY2Vzc1N1c3BlbnNpb24sICIl
cCAtIE5ldHdvcmtQcm9jZXNzUHJveHkgaXMgdGFraW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24g
YmVjYXVzZSB0aGUgTmV0d29yayBwcm9jZXNzIGlzIGRlbGV0aW5nIFdlYnNpdGUgZGF0YSBmb3Ig
c2V2ZXJhbCBvcmlnaW5zIiwgdGhpcyk7Ci0KLSAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0
YUZvck9yaWdpbnNDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFt0aGlzLCBhY3Rpdml0eSA9IHRo
cm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eSgiTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVsZXRl
V2Vic2l0ZURhdGFGb3JPcmlnaW5zIl9zKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSwgc2Vzc2lvbklEXSAoKSBtdXRhYmxlIHsKLSNpZiBSRUxFQVNFX0xP
R19ESVNBQkxFRAotICAgICAgICBVTlVTRURfUEFSQU0odGhpcyk7Ci0gICAgICAgIFVOVVNFRF9Q
QVJBTShzZXNzaW9uSUQpOwotI2VuZGlmCi0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0g
ICAgICAgIFJFTEVBU0VfTE9HX0lGKHNlc3Npb25JRC5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQo
KSwgUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIE5ldHdvcmtQcm9jZXNzUHJveHkgaXMgcmVsZWFz
aW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgTmV0d29yayBwcm9jZXNzIGlz
IGRvbmUgZGVsZXRpbmcgV2Vic2l0ZSBkYXRhIGZvciBzZXZlcmFsIG9yaWdpbnMiLCB0aGlzKTsK
LSAgICB9KTsKLQotICAgIHNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpEZWxldGVXZWJz
aXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG9yaWdpbnMsIGNvb2tpZUhv
c3ROYW1lcywgSFNUU0NhY2hlSG9zdE5hbWVzLCByZWdpc3RyYWJsZURvbWFpbnMsIGNhbGxiYWNr
SUQpLCAwKTsKKyAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNz
OjpEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG9yaWdp
bnMsIGNvb2tpZUhvc3ROYW1lcywgSFNUU0NhY2hlSG9zdE5hbWVzLCByZWdpc3RyYWJsZURvbWFp
bnMpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nl
c3NQcm94eTo6cmVuYW1lT3JpZ2luSW5XZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQsIGNvbnN0IFVSTCYgb2xkTmFtZSwgY29uc3QgVVJMJiBuZXdOYW1lLCBPcHRpb25TZXQ8V2Vi
c2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKQEAgLTM0OCw4ICszMDgsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJv
eHk6OnJlbmFtZU9yaWdpbkluV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBj
bwogCiB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6Om5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgpCiB7
Ci0gICAgY2xlYXJDYWxsYmFja1N0YXRlcygpOwotCiAgICAgUmVmPE5ldHdvcmtQcm9jZXNzUHJv
eHk+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwogICAgIGZvciAoYXV0byogcHJvY2Vzc1Bvb2wgOiBX
ZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpCiAgICAgICAgIHByb2Nlc3NQb29sLT5u
ZXR3b3JrUHJvY2Vzc0NyYXNoZWQoKnRoaXMpOwpAQCAtMzU3LDE4ICszMTUsNiBAQCB2b2lkIE5l
dHdvcmtQcm9jZXNzUHJveHk6Om5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgpCiAgICAgICAgIHdlYnNp
dGVEYXRhU3RvcmUubmV0d29ya1Byb2Nlc3NDcmFzaGVkKCp0aGlzKTsKIH0KIAotdm9pZCBOZXR3
b3JrUHJvY2Vzc1Byb3h5OjpjbGVhckNhbGxiYWNrU3RhdGVzKCkKLXsKLSAgICB3aGlsZSAoIW1f
cGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MuaXNFbXB0eSgpKQotICAgICAgICBtX3Bl
bmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLnRha2UobV9wZW5kaW5nRmV0Y2hXZWJzaXRl
RGF0YUNhbGxiYWNrcy5iZWdpbigpLT5rZXkpKFdlYnNpdGVEYXRhIHsgfSk7Ci0KLSAgICB3aGls
ZSAoIW1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSkKLSAgICAg
ICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MudGFrZShtX3BlbmRpbmdEZWxl
dGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5iZWdpbigpLT5rZXkpKCk7Ci0KLSAgICB3aGlsZSAoIW1f
cGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5pc0VtcHR5KCkpCi0g
ICAgICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy50YWtl
KG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5iZWdpbigpLT5r
ZXkpKCk7Ci19Ci0KIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7CiAg
ICAgaWYgKGRpc3BhdGNoTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKSkKQEAgLTQ3NCwyNyAr
NDIwLDYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWROZWdvdGlhdGVNb2Rlcm5UTFMo
V2ViUGFnZVByb3h5SWRlbnRpZmllciBwYWdlSUQsIGMKICAgICAgICAgcGFnZS0+ZGlkTmVnb3Rp
YXRlTW9kZXJuVExTKGNoYWxsZW5nZSk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6
ZGlkRmV0Y2hXZWJzaXRlRGF0YShDYWxsYmFja0lEIGNhbGxiYWNrSUQsIGNvbnN0IFdlYnNpdGVE
YXRhJiB3ZWJzaXRlRGF0YSkKLXsKLSAgICBNRVNTQUdFX0NIRUNLKG1fcGVuZGluZ0ZldGNoV2Vi
c2l0ZURhdGFDYWxsYmFja3MuaXNWYWxpZEtleShjYWxsYmFja0lEKSk7Ci0gICAgYXV0byBjYWxs
YmFjayA9IG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MudGFrZShjYWxsYmFja0lE
KTsKLSAgICBjYWxsYmFjayh3ZWJzaXRlRGF0YSk7Ci19Ci0KLXZvaWQgTmV0d29ya1Byb2Nlc3NQ
cm94eTo6ZGlkRGVsZXRlV2Vic2l0ZURhdGEoQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQotewotICAg
IE1FU1NBR0VfQ0hFQ0sobV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuaXNWYWxp
ZEtleShjYWxsYmFja0lEKSk7Ci0gICAgYXV0byBjYWxsYmFjayA9IG1fcGVuZGluZ0RlbGV0ZVdl
YnNpdGVEYXRhQ2FsbGJhY2tzLnRha2UoY2FsbGJhY2tJRCk7Ci0gICAgY2FsbGJhY2soKTsKLX0K
LQotdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWREZWxldGVXZWJzaXRlRGF0YUZvck9yaWdp
bnMoQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQotewotICAgIE1FU1NBR0VfQ0hFQ0sobV9wZW5kaW5n
RGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zQ2FsbGJhY2tzLmlzVmFsaWRLZXkoY2FsbGJhY2tJ
RCkpOwotICAgIGF1dG8gY2FsbGJhY2sgPSBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9y
aWdpbnNDYWxsYmFja3MudGFrZShjYWxsYmFja0lEKTsKLSAgICBjYWxsYmFjaygpOwotfQotCiB2
b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZEZpbmlzaExhdW5jaGluZyhQcm9jZXNzTGF1bmNo
ZXIqIGxhdW5jaGVyLCBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50
aWZpZXIpCiB7CiAgICAgQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmco
bGF1bmNoZXIsIGNvbm5lY3Rpb25JZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKaW5kZXggODYxYzNhODI0
MjY4ZTEzNjdiNmE3NGZjNmE2MTRhMjFlNDRlZTI0OC4uMTE3ZmI3ZTcxNTMzZDVjNDg4MTI0Nzg1
YzNmMDY4ZDhhYjlmNmNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTI3OSw4ICsyNzksNiBAQCBwcml2YXRl
OgogICAgIHZvaWQgY29ubmVjdGlvbldpbGxPcGVuKElQQzo6Q29ubmVjdGlvbiYpIG92ZXJyaWRl
OwogICAgIHZvaWQgcHJvY2Vzc1dpbGxTaHV0RG93bihJUEM6OkNvbm5lY3Rpb24mKSBvdmVycmlk
ZTsKIAotICAgIHZvaWQgY2xlYXJDYWxsYmFja1N0YXRlcygpOwotCiAgICAgLy8gSVBDOjpDb25u
ZWN0aW9uOjpDbGllbnQKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpIG92ZXJyaWRlOwogICAgIGJvb2wgZGlkUmVjZWl2ZVN5bmNNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIFVuaXF1ZVJlZjxJUEM6OkVuY29k
ZXI+Jikgb3ZlcnJpZGU7CkBAIC0yOTMsOSArMjkxLDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShQQUw6OlNlc3Npb25JRCwgV2ViUGFnZVBy
b3h5SWRlbnRpZmllciwgY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRh
PiYsIFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiYsIGJvb2wsIHVpbnQ2NF90IGNo
YWxsZW5nZUlEKTsKICAgICB2b2lkIG5lZ290aWF0ZWRMZWdhY3lUTFMoV2ViUGFnZVByb3h5SWRl
bnRpZmllcik7CiAgICAgdm9pZCBkaWROZWdvdGlhdGVNb2Rlcm5UTFMoV2ViUGFnZVByb3h5SWRl
bnRpZmllciwgY29uc3QgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKLSAgICB2
b2lkIGRpZEZldGNoV2Vic2l0ZURhdGEoQ2FsbGJhY2tJRCwgY29uc3QgV2Vic2l0ZURhdGEmKTsK
LSAgICB2b2lkIGRpZERlbGV0ZVdlYnNpdGVEYXRhKENhbGxiYWNrSUQpOwotICAgIHZvaWQgZGlk
RGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKENhbGxiYWNrSUQpOwogICAgIHZvaWQgc2V0V2Vi
UHJvY2Vzc0hhc1VwbG9hZHMoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIsIGJvb2wpOwogICAg
IHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2UoV2ViUGFnZVByb3h5SWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCBXZWJDb3JlOjpTaG91
bGRTYW1wbGUpOwogICAgIHZvaWQgbG9nRGlhZ25vc3RpY01lc3NhZ2VXaXRoUmVzdWx0KFdlYlBh
Z2VQcm94eUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBk
ZXNjcmlwdGlvbiwgdWludDMyX3QgcmVzdWx0LCBXZWJDb3JlOjpTaG91bGRTYW1wbGUpOwpAQCAt
MzMzLDEwICszMjgsNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBwcm9jZXNzQXV0aGVudGljYXRp
b25DaGFsbGVuZ2UoUEFMOjpTZXNzaW9uSUQsIFJlZjxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVBy
b3h5PiYmKTsKIAotICAgIEhhc2hNYXA8Q2FsbGJhY2tJRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJzaXRlRGF0YSk+PiBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzOwotICAg
IEhhc2hNYXA8Q2FsbGJhY2tJRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPj4gbV9wZW5kaW5n
RGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3M7Ci0gICAgSGFzaE1hcDxDYWxsYmFja0lELCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+PiBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdp
bnNDYWxsYmFja3M7Ci0KICAgICBzdGQ6OnVuaXF1ZV9wdHI8RG93bmxvYWRQcm94eU1hcD4gbV9k
b3dubG9hZFByb3h5TWFwOwogCiAgICAgVW5pcXVlUmVmPEFQSTo6Q3VzdG9tUHJvdG9jb2xNYW5h
Z2VyQ2xpZW50PiBtX2N1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5tZXNzYWdlcy5pbgppbmRleCA1ZTYyMDVlNWZkNDFhZTM2YzcxYTM2ZjdjYzdlNGFkYjA5YWQ2
YzM3Li4yZGFkM2NiNDQ5NmM0NTJmOGNiOTg0OWNmZDQ3MjgyZjI5ZjEyOGI2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCkBAIC0yNSwxMCArMjUsNiBAQCBtZXNzYWdlcyAtPiBOZXR3
b3JrUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIE5vdFJlZkNvdW50ZWQgewogICAgIE5lZ290
aWF0ZWRMZWdhY3lUTFMoV2ViS2l0OjpXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJRCkKICAg
ICBEaWROZWdvdGlhdGVNb2Rlcm5UTFMoV2ViS2l0OjpXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBh
Z2VJRCwgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UgY2hhbGxlbmdlKQogCi0gICAg
RGlkRmV0Y2hXZWJzaXRlRGF0YShXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCwgc3RydWN0
IFdlYktpdDo6V2Vic2l0ZURhdGEgd2Vic2l0ZURhdGEpCi0gICAgRGlkRGVsZXRlV2Vic2l0ZURh
dGEoV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCi0gICAgRGlkRGVsZXRlV2Vic2l0ZURh
dGFGb3JPcmlnaW5zKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQotCiAgICAgVGVzdFBy
b2Nlc3NJbmNvbWluZ1N5bmNNZXNzYWdlc1doZW5XYWl0aW5nRm9yU3luY1JlcGx5KFdlYktpdDo6
V2ViUGFnZVByb3h5SWRlbnRpZmllciBwYWdlSUQpIC0+IChib29sIGhhbmRsZWQpIFN5bmNocm9u
b3VzCiAgICAgVGVybWluYXRlVW5yZXNwb25zaXZlU2VydmljZVdvcmtlclByb2Nlc3NlcyhXZWJD
b3JlOjpQcm9jZXNzSWRlbnRpZmllciBwcm9jZXNzSWRlbnRpZmllcikKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424841</attachid>
            <date>2021-03-31 16:43:09 -0700</date>
            <delta_ts>2021-03-31 17:05:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224025-20210331164308.patch</filename>
            <type>text/plain</type>
            <size>22063</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEyMDhjOTdlZWIyYjNlOThm
MmZhNDBjYTAwMGY1MjY5ZTFiZGVjNjQuLjNjYTJiZmRjZDVhYjdkZTRlOTUwOTMyMjQzN2Y3MzY1
MzQxYWMzOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjEtMDMtMzEgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2Ugc2VuZFdp
dGhBc3luY1JlcGx5IGZvciBOZXR3b3JrUHJvY2VzcyBtZXNzYWdlcyB3aXRoIGFzeW5jIHJlcGxp
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDAy
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
d2lsbCBwcmV2ZW50IHVzIGZyb20gaGF2aW5nIHRvIG1hbnVhbGx5IHN0b3JlIGFuZCBoYW5kbGUg
dGhlIGNhbGxiYWNrIElEcyBhbmQgb3RoZXIgdGhpbmdzLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vz
czo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpk
ZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpkZWxl
dGVXZWJzaXRlRGF0YUZvck9yaWdpbnMpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6On5OZXR3b3JrUHJv
Y2Vzc1Byb3h5KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZmV0Y2hX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRlbGV0
ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVs
ZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nl
c3NQcm94eTo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a1Byb2Nlc3NQcm94eTo6Y2xlYXJDYWxsYmFja1N0YXRlcyk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZEZldGNoV2Vic2l0ZURhdGEpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWREZWxldGVXZWJzaXRl
RGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRp
ZERlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisKIDIwMjEtMDMtMzEgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBUaGUg
TmV0d29ya1Byb2Nlc3MgZmFpbHMgdG8gcmVsYXVuY2ggYWZ0ZXIgaXQgY3Jhc2hlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCBhMGFh
MDBhNjFjMTFhNjAwMzRkMjAwODIzZjExYjJkYTVkMTg4YTMyLi5kMDVjZWJhMDI2MTc5NmY3NGVm
ZGZjN2I5ZTZiMzJmZWU4NTUxNTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMTQ0MiwxMCArMTQ0MiwxMCBAQCBzdGF0aWMgdm9p
ZCBmZXRjaERpc2tDYWNoZUVudHJpZXMoTmV0d29ya0NhY2hlOjpDYWNoZSogY2FjaGUsIFBBTDo6
U2Vzc2lvbklEIHNlcwogICAgIH0pOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjpmZXRjaFdl
YnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRh
VHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgT3B0aW9uU2V0PFdlYnNpdGVEYXRhRmV0Y2hPcHRpb24+
IGZldGNoT3B0aW9ucywgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9pZCBOZXR3b3JrUHJvY2Vz
czo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxX
ZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIE9wdGlvblNldDxXZWJzaXRlRGF0YUZl
dGNoT3B0aW9uPiBmZXRjaE9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vic2l0ZURh
dGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgc3RydWN0IENhbGxiYWNrQWdncmVn
YXRvciBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxDYWxsYmFja0FnZ3JlZ2F0
b3I+IHsKLSAgICAgICAgZXhwbGljaXQgQ2FsbGJhY2tBZ2dyZWdhdG9yKEZ1bmN0aW9uPHZvaWQg
KFdlYnNpdGVEYXRhKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgZXhwbGljaXQgQ2Fs
bGJhY2tBZ2dyZWdhdG9yKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vic2l0ZURhdGEmJik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgICAgICA6IG1fY29tcGxldGlvbkhhbmRsZXIoV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpCiAgICAgICAgIHsKICAgICAgICAgfQpAQCAtMTQ1Mywx
NyArMTQ1MywxNSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdAogICAgICAgICB+Q2FsbGJhY2tB
Z2dyZWdhdG9yKCkKICAgICAgICAgewogICAgICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3Bh
dGNoKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUobV9jb21wbGV0aW9uSGFuZGxlciksIHdl
YnNpdGVEYXRhID0gV1RGTW92ZShtX3dlYnNpdGVEYXRhKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIod2Vic2l0ZURhdGEpOworICAgICAgICAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUod2Vic2l0ZURhdGEpKTsKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9CiAKLSAgICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJzaXRlRGF0
YSk+IG1fY29tcGxldGlvbkhhbmRsZXI7CisgICAgICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
V2Vic2l0ZURhdGEmJik+IG1fY29tcGxldGlvbkhhbmRsZXI7CiAgICAgICAgIFdlYnNpdGVEYXRh
IG1fd2Vic2l0ZURhdGE7CiAgICAgfTsKIAotICAgIGF1dG8gY2FsbGJhY2tBZ2dyZWdhdG9yID0g
YWRvcHRSZWYoKm5ldyBDYWxsYmFja0FnZ3JlZ2F0b3IoW3RoaXMsIGNhbGxiYWNrSURdIChXZWJz
aXRlRGF0YSB3ZWJzaXRlRGF0YSkgewotICAgICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigp
LT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpEaWRGZXRjaFdlYnNpdGVEYXRh
KGNhbGxiYWNrSUQsIHdlYnNpdGVEYXRhKSwgMCk7Ci0gICAgfSkpOworICAgIGF1dG8gY2FsbGJh
Y2tBZ2dyZWdhdG9yID0gYWRvcHRSZWYoKm5ldyBDYWxsYmFja0FnZ3JlZ2F0b3IoV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpKTsKIAogICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5z
KFdlYnNpdGVEYXRhVHlwZTo6Q29va2llcykpIHsKICAgICAgICAgaWYgKGF1dG8qIG5ldHdvcmtT
dG9yYWdlU2Vzc2lvbiA9IHN0b3JhZ2VTZXNzaW9uKHNlc3Npb25JRCkpCkBAIC0xNTU0LDcgKzE1
NTIsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lv
bklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdAogI2VuZGlmCiB9CiAKLXZvaWQgTmV0d29y
a1Byb2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0
aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZp
ZWRTaW5jZSwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGVs
ZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0
ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAjaWYgUExBVEZP
Uk0oQ09DT0EpIHx8IFVTRShTT1VQKQogICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5z
KFdlYnNpdGVEYXRhVHlwZTo6SFNUU0NhY2hlKSkKQEAgLTE1NzIsOSArMTU3MCw3IEBAIHZvaWQg
TmV0d29ya1Byb2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgT3B0aW9uU2V0PFdlYnNpCiAgICAgICAgIFdlYkNvcmU6OkNyZWRlbnRpYWxTdG9yYWdlOjpj
bGVhclNlc3Npb25DcmVkZW50aWFscygpOwogICAgIH0KIAotICAgIGF1dG8gY2xlYXJUYXNrc0hh
bmRsZXIgPSBXVEY6OkNhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRlKFt0aGlzLCBjYWxsYmFja0lE
XSB7Ci0gICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5l
dHdvcmtQcm9jZXNzUHJveHk6OkRpZERlbGV0ZVdlYnNpdGVEYXRhKGNhbGxiYWNrSUQpLCAwKTsK
LSAgICB9KTsKKyAgICBhdXRvIGNsZWFyVGFza3NIYW5kbGVyID0gV1RGOjpDYWxsYmFja0FnZ3Jl
Z2F0b3I6OmNyZWF0ZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAod2Vi
c2l0ZURhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6OkRPTUNhY2hlKSkKICAgICAg
ICAgQ2FjaGVTdG9yYWdlOjpFbmdpbmU6OmNsZWFyQWxsQ2FjaGVzKCp0aGlzLCBzZXNzaW9uSUQs
IFtjbGVhclRhc2tzSGFuZGxlcl0geyB9KTsKQEAgLTE2NTEsNyArMTY0Nyw3IEBAIHN0YXRpYyB2
b2lkIGNsZWFyRGlza0NhY2hlRW50cmllcyhOZXR3b3JrQ2FjaGU6OkNhY2hlKiBjYWNoZSwgY29u
c3QgVmVjdG9yPFNlY3VyCiAgICAgfSk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OmRlbGV0
ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNl
dDxXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIGNvbnN0IFZlY3RvcjxTZWN1cml0
eU9yaWdpbkRhdGE+JiBvcmlnaW5EYXRhcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIGNvb2tpZUhv
c3ROYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIEhTVFNDYWNoZUhvc3ROYW1lcywgY29uc3Qg
VmVjdG9yPFJlZ2lzdHJhYmxlRG9tYWluPiYgcmVnaXN0cmFibGVEb21haW5zLCBDYWxsYmFja0lE
IGNhbGxiYWNrSUQpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvck9y
aWdpbnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBl
PiB3ZWJzaXRlRGF0YVR5cGVzLCBjb25zdCBWZWN0b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiYgb3Jp
Z2luRGF0YXMsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBjb29raWVIb3N0TmFtZXMsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBIU1RTQ2FjaGVIb3N0TmFtZXMsIGNvbnN0IFZlY3RvcjxSZWdpc3RyYWJs
ZURvbWFpbj4mIHJlZ2lzdHJhYmxlRG9tYWlucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5z
KFdlYnNpdGVEYXRhVHlwZTo6Q29va2llcykpIHsKICAgICAgICAgaWYgKGF1dG8qIG5ldHdvcmtT
dG9yYWdlU2Vzc2lvbiA9IHN0b3JhZ2VTZXNzaW9uKHNlc3Npb25JRCkpCkBAIC0xNjgyLDkgKzE2
NzgsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpbwogICAgICAgICB9CiAgICAgfQogICAgIAot
ICAgIGF1dG8gY2xlYXJUYXNrc0hhbmRsZXIgPSBXVEY6OkNhbGxiYWNrQWdncmVnYXRvcjo6Y3Jl
YXRlKFt0aGlzLCBjYWxsYmFja0lEXSB7Ci0gICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9u
KCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OkRpZERlbGV0ZVdlYnNpdGVE
YXRhRm9yT3JpZ2lucyhjYWxsYmFja0lEKSwgMCk7Ci0gICAgfSk7CisgICAgYXV0byBjbGVhclRh
c2tzSGFuZGxlciA9IFdURjo6Q2FsbGJhY2tBZ2dyZWdhdG9yOjpjcmVhdGUoV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHdlYnNpdGVEYXRhVHlwZXMuY29udGFpbnMoV2Vi
c2l0ZURhdGFUeXBlOjpET01DYWNoZSkpIHsKICAgICAgICAgZm9yIChhdXRvJiBvcmlnaW5EYXRh
IDogb3JpZ2luRGF0YXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmgKaW5kZXggZDAyNGYyZWQ1YWY2NzkzODQ2NmRkODJlNTkxMDJkYWIxMTY2OTc1Ny4u
ZjBmMGZjYzdkMzVmMzdiOWUyYjU0NDZkM2E1M2Y2MjMzZTg2NjQ2MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtNDIzLDkgKzQyMyw5IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCBjcmVhdGVOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmLCBXZWJD
b3JlOjpIVFRQQ29va2llQWNjZXB0UG9saWN5KT4mJik7CiAKLSAgICB2b2lkIGZldGNoV2Vic2l0
ZURhdGEoUEFMOjpTZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBPcHRpb25T
ZXQ8V2Vic2l0ZURhdGFGZXRjaE9wdGlvbj4sIENhbGxiYWNrSUQpOwotICAgIHZvaWQgZGVsZXRl
V2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBX
YWxsVGltZSBtb2RpZmllZFNpbmNlLCBDYWxsYmFja0lEKTsKLSAgICB2b2lkIGRlbGV0ZVdlYnNp
dGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlw
ZT4sIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+JiBvcmlnaW5zLCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgY29va2llSG9zdE5hbWVzLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgSFNUU0NhY2hlSG9zdG5hbWVzLCBjb25zdCBWZWN0b3I8UmVnaXN0cmFibGVEb21haW4+Jiwg
Q2FsbGJhY2tJRCk7CisgICAgdm9pZCBmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklELCBP
cHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhRmV0Y2hPcHRp
b24+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYnNpdGVEYXRhJiYpPiYmKTsKKyAgICB2b2lk
IGRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFU
eXBlPiwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKKyAgICB2b2lkIGRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCwg
T3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4sIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbkRhdGE+JiBvcmlnaW5zLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgY29va2llSG9zdE5h
bWVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgSFNUU0NhY2hlSG9zdG5hbWVzLCBjb25zdCBWZWN0
b3I8UmVnaXN0cmFibGVEb21haW4+JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKIAog
ICAgIHZvaWQgY2xlYXJDYWNoZWRDcmVkZW50aWFscyhQQUw6OlNlc3Npb25JRCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3Nh
Z2VzLmluCmluZGV4IDlkMWVkODhlYTA0YTBmNjQ1MzMxNDhmMDQyNDhhOTcwYTc3MjkxZWIuLjg4
ZDA3N2EwMTQ1NjcwZjdmNWE1YmIyYTk2MDA1ZmVhMTgwZDkzOGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpA
QCAtNDIsOSArNDIsOSBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZl
ciB7CiAgICAgQWRkV2Vic2l0ZURhdGFTdG9yZShzdHJ1Y3QgV2ViS2l0OjpXZWJzaXRlRGF0YVN0
b3JlUGFyYW1ldGVycyB3ZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyk7CiAgICAgRGVzdHJveVNl
c3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogCi0gICAgRmV0Y2hXZWJzaXRlRGF0YShQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlw
ZT4gd2Vic2l0ZURhdGFUeXBlcywgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFGZXRjaE9w
dGlvbj4gZmV0Y2hPcHRpb25zLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKLSAgICBE
ZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJL
aXQ6OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRT
aW5jZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCi0gICAgRGVsZXRlV2Vic2l0ZURh
dGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6
V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW5EYXRhPiBvcmlnaW5zLCBWZWN0b3I8U3RyaW5nPiBjb29raWVIb3N0TmFtZXMsIFZl
Y3RvcjxTdHJpbmc+IEhTVFNDYWNoZUhvc3ROYW1lcywgVmVjdG9yPFdlYkNvcmU6OlJlZ2lzdHJh
YmxlRG9tYWluPiByZWdpc3RyYWJsZURvbWFpbnMsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQorICAgIEZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRp
b25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIE9wdGlvblNl
dDxXZWJLaXQ6OldlYnNpdGVEYXRhRmV0Y2hPcHRpb24+IGZldGNoT3B0aW9ucykgLT4gKHN0cnVj
dCBXZWJLaXQ6OldlYnNpdGVEYXRhIHdlYnNpdGVEYXRhKSBBc3luYworICAgIERlbGV0ZVdlYnNp
dGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0
ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlKSAtPiAo
KSBBc3luYworICAgIERlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFU
eXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gb3JpZ2lucywgVmVjdG9y
PFN0cmluZz4gY29va2llSG9zdE5hbWVzLCBWZWN0b3I8U3RyaW5nPiBIU1RTQ2FjaGVIb3N0TmFt
ZXMsIFZlY3RvcjxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4gcmVnaXN0cmFibGVEb21haW5z
KSAtPiAoKSBBc3luYwogICAgIFJlbmFtZU9yaWdpbkluV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBVUkwgb2xkRG9tYWluLCBVUkwgbmV3RG9tYWluLCBPcHRpb25TZXQ8V2Vi
S2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMpIC0+ICgpIEFzeW5jCiAKICAg
ICBEb3dubG9hZFJlcXVlc3QoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJLaXQ6OkRvd25s
b2FkSUQgZG93bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIGVudW06
Ym9vbCBPcHRpb25hbDxXZWJLaXQ6Ok5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmln
YXRpbmdUb0FwcEJvdW5kRG9tYWluLCBTdHJpbmcgc3VnZ2VzdGVkRmlsZW5hbWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmNwcAppbmRleCA2OTJmNzMyNGM1ZjZiZDg5MWYwYTNjYWZmNTM4YzQ0Mzg2NzY5NGVjLi5hNzc4
OTg0ZWY2YTJiNzM3ZDcxOTFlOTQ5Y2MyNzBlZDU4MjE1OGIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAg
LTIwNyw3ICsyMDcsNiBAQCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpOZXR3b3JrUHJvY2Vzc1Byb3h5
KCkKIAogTmV0d29ya1Byb2Nlc3NQcm94eTo6fk5ldHdvcmtQcm9jZXNzUHJveHkoKQogewotICAg
IEFTU0VSVChtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSk7CiAg
ICAgQVNTRVJUKG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSk7
CiAgICAgQVNTRVJUKG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNr
cy5pc0VtcHR5KCkpOwogI2lmIEVOQUJMRShDT05URU5UX0VYVEVOU0lPTlMpCkBAIC0yODcsNTgg
KzI4NiwxOSBAQCBEb3dubG9hZFByb3h5JiBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpjcmVhdGVEb3du
bG9hZFByb3h5KFdlYnNpdGVEYXRhU3RvcmUmIGRhdGFTdAogICAgIHJldHVybiBtX2Rvd25sb2Fk
UHJveHlNYXAtPmNyZWF0ZURvd25sb2FkUHJveHkoZGF0YVN0b3JlLCBwcm9jZXNzUG9vbCwgcmVz
b3VyY2VSZXF1ZXN0LCBmcmFtZUluZm8sIG9yaWdpbmF0aW5nUGFnZSk7CiB9CiAKLXZvaWQgTmV0
d29ya1Byb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgT3B0aW9uU2V0PFdlYnNp
dGVEYXRhRmV0Y2hPcHRpb24+IGZldGNoT3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCAo
V2Vic2l0ZURhdGEpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBOZXR3b3JrUHJvY2Vzc1By
b3h5OjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0
PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFGZXRjaE9w
dGlvbj4gZmV0Y2hPcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYnNpdGVEYXRhKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2UoKSk7Ci0K
LSAgICBhdXRvIGNhbGxiYWNrSUQgPSBDYWxsYmFja0lEOjpnZW5lcmF0ZUlEKCk7Ci0gICAgUkVM
RUFTRV9MT0dfSUYoc2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBQcm9jZXNz
U3VzcGVuc2lvbiwgIiVwIC0gTmV0d29ya1Byb2Nlc3NQcm94eSBpcyB0YWtpbmcgYSBiYWNrZ3Jv
dW5kIGFzc2VydGlvbiBiZWNhdXNlIHRoZSBOZXR3b3JrIHByb2Nlc3MgaXMgZmV0Y2hpbmcgV2Vi
c2l0ZSBkYXRhIiwgdGhpcyk7Ci0KLSAgICBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJh
Y2tzLmFkZChjYWxsYmFja0lELCBbdGhpcywgYWN0aXZpdHkgPSB0aHJvdHRsZXIoKS5iYWNrZ3Jv
dW5kQWN0aXZpdHkoIk5ldHdvcmtQcm9jZXNzUHJveHk6OmZldGNoV2Vic2l0ZURhdGEiX3MpLCBj
b21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBzZXNzaW9uSURd
IChXZWJzaXRlRGF0YSB3ZWJzaXRlRGF0YSkgbXV0YWJsZSB7Ci0jaWYgUkVMRUFTRV9MT0dfRElT
QUJMRUQKLSAgICAgICAgVU5VU0VEX1BBUkFNKHRoaXMpOwotICAgICAgICBVTlVTRURfUEFSQU0o
c2Vzc2lvbklEKTsKLSNlbmRpZgotICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKHdl
YnNpdGVEYXRhKSk7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0lGKHNlc3Npb25JRC5pc0Fsd2F5c09u
TG9nZ2luZ0FsbG93ZWQoKSwgUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIE5ldHdvcmtQcm9jZXNz
UHJveHkgaXMgcmVsZWFzaW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgTmV0
d29yayBwcm9jZXNzIGlzIGRvbmUgZmV0Y2hpbmcgV2Vic2l0ZSBkYXRhIiwgdGhpcyk7Ci0gICAg
fSk7Ci0KLSAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6RmV0Y2hXZWJzaXRlRGF0
YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgZmV0Y2hPcHRpb25zLCBjYWxsYmFja0lEKSwgMCk7Cisg
ICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6RmV0Y2hXZWJz
aXRlRGF0YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgZmV0Y2hPcHRpb25zKSwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRlbGV0ZVdl
YnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRh
VHlwZT4gZGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5
OjpkZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxX
ZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGF1dG8gY2Fs
bGJhY2tJRCA9IENhbGxiYWNrSUQ6OmdlbmVyYXRlSUQoKTsKLSAgICBSRUxFQVNFX0xPR19JRihz
ZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIFByb2Nlc3NTdXNwZW5zaW9uLCAi
JXAgLSBOZXR3b3JrUHJvY2Vzc1Byb3h5IGlzIHRha2luZyBhIGJhY2tncm91bmQgYXNzZXJ0aW9u
IGJlY2F1c2UgdGhlIE5ldHdvcmsgcHJvY2VzcyBpcyBkZWxldGluZyBXZWJzaXRlIGRhdGEiLCB0
aGlzKTsKLQotICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmFkZChjYWxs
YmFja0lELCBbdGhpcywgYWN0aXZpdHkgPSB0aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHko
Ik5ldHdvcmtQcm9jZXNzUHJveHk6OmRlbGV0ZVdlYnNpdGVEYXRhIl9zKSwgY29tcGxldGlvbkhh
bmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgc2Vzc2lvbklEXSAoKSBtdXRhYmxl
IHsKLSNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgICAgICBVTlVTRURfUEFSQU0odGhpcyk7
Ci0gICAgICAgIFVOVVNFRF9QQVJBTShzZXNzaW9uSUQpOwotI2VuZGlmCi0gICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0lGKHNlc3Npb25JRC5pc0Fsd2F5
c09uTG9nZ2luZ0FsbG93ZWQoKSwgUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIE5ldHdvcmtQcm9j
ZXNzUHJveHkgaXMgcmVsZWFzaW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUg
TmV0d29yayBwcm9jZXNzIGlzIGRvbmUgZGVsZXRpbmcgV2Vic2l0ZSBkYXRhIiwgdGhpcyk7Ci0g
ICAgfSk7Ci0gICAgc2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkRlbGV0ZVdlYnNpdGVE
YXRhKHNlc3Npb25JRCwgZGF0YVR5cGVzLCBtb2RpZmllZFNpbmNlLCBjYWxsYmFja0lEKSwgMCk7
CisgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6RGVsZXRl
V2Vic2l0ZURhdGEoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG1vZGlmaWVkU2luY2UpLCBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVs
ZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9u
U2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhPiYgb3JpZ2lucywgY29uc3QgVmVjdG9yPFN0cmluZz4mIGNvb2tpZUhv
c3ROYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIEhTVFNDYWNoZUhvc3ROYW1lcywgY29uc3Qg
VmVjdG9yPFJlZ2lzdHJhYmxlRG9tYWluPiYgcmVnaXN0cmFibGVEb21haW5zLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgQVNTRVJUKGNhblNl
bmRNZXNzYWdlKCkpOwotCi0gICAgYXV0byBjYWxsYmFja0lEID0gQ2FsbGJhY2tJRDo6Z2VuZXJh
dGVJRCgpOwotICAgIFJFTEVBU0VfTE9HX0lGKHNlc3Npb25JRC5pc0Fsd2F5c09uTG9nZ2luZ0Fs
bG93ZWQoKSwgUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIE5ldHdvcmtQcm9jZXNzUHJveHkgaXMg
dGFraW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0aGUgTmV0d29yayBwcm9jZXNz
IGlzIGRlbGV0aW5nIFdlYnNpdGUgZGF0YSBmb3Igc2V2ZXJhbCBvcmlnaW5zIiwgdGhpcyk7Ci0K
LSAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnNDYWxsYmFja3MuYWRkKGNh
bGxiYWNrSUQsIFt0aGlzLCBhY3Rpdml0eSA9IHRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0
eSgiTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zIl9zKSwg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgc2Vzc2lvbklE
XSAoKSBtdXRhYmxlIHsKLSNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAotICAgICAgICBVTlVTRURf
UEFSQU0odGhpcyk7Ci0gICAgICAgIFVOVVNFRF9QQVJBTShzZXNzaW9uSUQpOwotI2VuZGlmCi0g
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0lGKHNlc3Np
b25JRC5pc0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAt
IE5ldHdvcmtQcm9jZXNzUHJveHkgaXMgcmVsZWFzaW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24g
YmVjYXVzZSB0aGUgTmV0d29yayBwcm9jZXNzIGlzIGRvbmUgZGVsZXRpbmcgV2Vic2l0ZSBkYXRh
IGZvciBzZXZlcmFsIG9yaWdpbnMiLCB0aGlzKTsKLSAgICB9KTsKLQotICAgIHNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lvbklE
LCBkYXRhVHlwZXMsIG9yaWdpbnMsIGNvb2tpZUhvc3ROYW1lcywgSFNUU0NhY2hlSG9zdE5hbWVz
LCByZWdpc3RyYWJsZURvbWFpbnMsIGNhbGxiYWNrSUQpLCAwKTsKKyAgICBzZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdp
bnMoc2Vzc2lvbklELCBkYXRhVHlwZXMsIG9yaWdpbnMsIGNvb2tpZUhvc3ROYW1lcywgSFNUU0Nh
Y2hlSG9zdE5hbWVzLCByZWdpc3RyYWJsZURvbWFpbnMpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6cmVuYW1lT3JpZ2luSW5XZWJz
aXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIGNvbnN0IFVSTCYgb2xkTmFtZSwgY29u
c3QgVVJMJiBuZXdOYW1lLCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRhVHlwZXMsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKQEAgLTM1MSw4ICsz
MTEsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6Om5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgp
CiAgICAgaWYgKGRlZmF1bHRQcm9jZXNzKCkgPT0gdGhpcykKICAgICAgICAgZGVmYXVsdFByb2Nl
c3MoKSA9IG51bGxwdHI7CiAKLSAgICBjbGVhckNhbGxiYWNrU3RhdGVzKCk7Ci0KICAgICBSZWY8
TmV0d29ya1Byb2Nlc3NQcm94eT4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CiAgICAgZm9yIChhdXRv
KiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9vbHMoKSkKICAgICAg
ICAgcHJvY2Vzc1Bvb2wtPm5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgqdGhpcyk7CkBAIC0zNjAsMTgg
KzMxOCw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6bmV0d29ya1Byb2Nlc3NDcmFzaGVk
KCkKICAgICAgICAgd2Vic2l0ZURhdGFTdG9yZS5uZXR3b3JrUHJvY2Vzc0NyYXNoZWQoKnRoaXMp
OwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmNsZWFyQ2FsbGJhY2tTdGF0ZXMoKQot
ewotICAgIHdoaWxlICghbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5pc0VtcHR5
KCkpCi0gICAgICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MudGFrZShtX3Bl
bmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmJlZ2luKCktPmtleSkoV2Vic2l0ZURhdGEg
eyB9KTsKLQotICAgIHdoaWxlICghbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3Mu
aXNFbXB0eSgpKQotICAgICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy50
YWtlKG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmJlZ2luKCktPmtleSkoKTsK
LQotICAgIHdoaWxlICghbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zQ2FsbGJh
Y2tzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmln
aW5zQ2FsbGJhY2tzLnRha2UobV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zQ2Fs
bGJhY2tzLmJlZ2luKCktPmtleSkoKTsKLX0KLQogdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5Ojpk
aWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjb2Rl
ciYgZGVjb2RlcikKIHsKICAgICBpZiAoZGlzcGF0Y2hNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29k
ZXIpKQpAQCAtNDc3LDI3ICs0MjMsNiBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZE5l
Z290aWF0ZU1vZGVyblRMUyhXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJRCwgYwogICAgICAg
ICBwYWdlLT5kaWROZWdvdGlhdGVNb2Rlcm5UTFMoY2hhbGxlbmdlKTsKIH0KIAotdm9pZCBOZXR3
b3JrUHJvY2Vzc1Byb3h5OjpkaWRGZXRjaFdlYnNpdGVEYXRhKENhbGxiYWNrSUQgY2FsbGJhY2tJ
RCwgY29uc3QgV2Vic2l0ZURhdGEmIHdlYnNpdGVEYXRhKQotewotICAgIE1FU1NBR0VfQ0hFQ0so
bV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy5pc1ZhbGlkS2V5KGNhbGxiYWNrSUQp
KTsKLSAgICBhdXRvIGNhbGxiYWNrID0gbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNr
cy50YWtlKGNhbGxiYWNrSUQpOwotICAgIGNhbGxiYWNrKHdlYnNpdGVEYXRhKTsKLX0KLQotdm9p
ZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWREZWxldGVXZWJzaXRlRGF0YShDYWxsYmFja0lEIGNh
bGxiYWNrSUQpCi17Ci0gICAgTUVTU0FHRV9DSEVDSyhtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0
YUNhbGxiYWNrcy5pc1ZhbGlkS2V5KGNhbGxiYWNrSUQpKTsKLSAgICBhdXRvIGNhbGxiYWNrID0g
bV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MudGFrZShjYWxsYmFja0lEKTsKLSAg
ICBjYWxsYmFjaygpOwotfQotCi12b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZERlbGV0ZVdl
YnNpdGVEYXRhRm9yT3JpZ2lucyhDYWxsYmFja0lEIGNhbGxiYWNrSUQpCi17Ci0gICAgTUVTU0FH
RV9DSEVDSyhtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnNDYWxsYmFja3MuaXNW
YWxpZEtleShjYWxsYmFja0lEKSk7Ci0gICAgYXV0byBjYWxsYmFjayA9IG1fcGVuZGluZ0RlbGV0
ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy50YWtlKGNhbGxiYWNrSUQpOwotICAgIGNh
bGxiYWNrKCk7Ci19Ci0KIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1bmNo
aW5nKFByb2Nlc3NMYXVuY2hlciogbGF1bmNoZXIsIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmll
ciBjb25uZWN0aW9uSWRlbnRpZmllcikKIHsKICAgICBBdXhpbGlhcnlQcm9jZXNzUHJveHk6OmRp
ZEZpbmlzaExhdW5jaGluZyhsYXVuY2hlciwgY29ubmVjdGlvbklkZW50aWZpZXIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
aAppbmRleCA4NjFjM2E4MjQyNjhlMTM2N2I2YTc0ZmM2YTYxNGEyMWU0NGVlMjQ4Li4xMTdmYjdl
NzE1MzNkNWM0ODgxMjQ3ODVjM2YwNjhkOGFiOWY2Y2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaApAQCAtMjc5LDgg
KzI3OSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb25uZWN0aW9uV2lsbE9wZW4oSVBDOjpDb25u
ZWN0aW9uJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwcm9jZXNzV2lsbFNodXREb3duKElQQzo6Q29u
bmVjdGlvbiYpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBjbGVhckNhbGxiYWNrU3RhdGVzKCk7Ci0K
ICAgICAvLyBJUEM6OkNvbm5lY3Rpb246OkNsaWVudAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgb3ZlcnJpZGU7CiAgICAgYm9vbCBk
aWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgVW5p
cXVlUmVmPElQQzo6RW5jb2Rlcj4mKSBvdmVycmlkZTsKQEAgLTI5Myw5ICsyOTEsNiBAQCBwcml2
YXRlOgogICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFBBTDo6U2Vz
c2lvbklELCBXZWJQYWdlUHJveHlJZGVudGlmaWVyLCBjb25zdCBPcHRpb25hbDxXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGE+JiwgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmJiwg
Ym9vbCwgdWludDY0X3QgY2hhbGxlbmdlSUQpOwogICAgIHZvaWQgbmVnb3RpYXRlZExlZ2FjeVRM
UyhXZWJQYWdlUHJveHlJZGVudGlmaWVyKTsKICAgICB2b2lkIGRpZE5lZ290aWF0ZU1vZGVyblRM
UyhXZWJQYWdlUHJveHlJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSYpOwotICAgIHZvaWQgZGlkRmV0Y2hXZWJzaXRlRGF0YShDYWxsYmFja0lELCBjb25z
dCBXZWJzaXRlRGF0YSYpOwotICAgIHZvaWQgZGlkRGVsZXRlV2Vic2l0ZURhdGEoQ2FsbGJhY2tJ
RCk7Ci0gICAgdm9pZCBkaWREZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoQ2FsbGJhY2tJRCk7
CiAgICAgdm9pZCBzZXRXZWJQcm9jZXNzSGFzVXBsb2FkcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRp
ZmllciwgYm9vbCk7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2FnZShXZWJQYWdlUHJveHlJ
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRp
b24sIFdlYkNvcmU6OlNob3VsZFNhbXBsZSk7CiAgICAgdm9pZCBsb2dEaWFnbm9zdGljTWVzc2Fn
ZVdpdGhSZXN1bHQoV2ViUGFnZVByb3h5SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBjb25zdCBTdHJpbmcmIGRlc2NyaXB0aW9uLCB1aW50MzJfdCByZXN1bHQsIFdlYkNvcmU6OlNo
b3VsZFNhbXBsZSk7CkBAIC0zMzMsMTAgKzMyOCw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHBy
b2Nlc3NBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShQQUw6OlNlc3Npb25JRCwgUmVmPEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlUHJveHk+JiYpOwogCi0gICAgSGFzaE1hcDxDYWxsYmFja0lELCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYnNpdGVEYXRhKT4+IG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURh
dGFDYWxsYmFja3M7Ci0gICAgSGFzaE1hcDxDYWxsYmFja0lELCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+PiBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrczsKLSAgICBIYXNoTWFw
PENhbGxiYWNrSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4+IG1fcGVuZGluZ0RlbGV0ZVdl
YnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrczsKLQogICAgIHN0ZDo6dW5pcXVlX3B0cjxEb3du
bG9hZFByb3h5TWFwPiBtX2Rvd25sb2FkUHJveHlNYXA7CiAKICAgICBVbmlxdWVSZWY8QVBJOjpD
dXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ+IG1fY3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDVlNjIwNWU1ZmQ0MWFlMzZjNzFh
MzZmN2NjN2U0YWRiMDlhZDZjMzcuLjJkYWQzY2I0NDk2YzQ1MmY4Y2I5ODQ5Y2ZkNDcyODJmMjlm
MTI4YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTI1LDEwICsyNSw2IEBA
IG1lc3NhZ2VzIC0+IE5ldHdvcmtQcm9jZXNzUHJveHkgTGVnYWN5UmVjZWl2ZXIgTm90UmVmQ291
bnRlZCB7CiAgICAgTmVnb3RpYXRlZExlZ2FjeVRMUyhXZWJLaXQ6OldlYlBhZ2VQcm94eUlkZW50
aWZpZXIgcGFnZUlEKQogICAgIERpZE5lZ290aWF0ZU1vZGVyblRMUyhXZWJLaXQ6OldlYlBhZ2VQ
cm94eUlkZW50aWZpZXIgcGFnZUlELCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBj
aGFsbGVuZ2UpCiAKLSAgICBEaWRGZXRjaFdlYnNpdGVEYXRhKFdlYktpdDo6Q2FsbGJhY2tJRCBj
YWxsYmFja0lELCBzdHJ1Y3QgV2ViS2l0OjpXZWJzaXRlRGF0YSB3ZWJzaXRlRGF0YSkKLSAgICBE
aWREZWxldGVXZWJzaXRlRGF0YShXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKLSAgICBE
aWREZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNr
SUQpCi0KICAgICBUZXN0UHJvY2Vzc0luY29taW5nU3luY01lc3NhZ2VzV2hlbldhaXRpbmdGb3JT
eW5jUmVwbHkoV2ViS2l0OjpXZWJQYWdlUHJveHlJZGVudGlmaWVyIHBhZ2VJRCkgLT4gKGJvb2wg
aGFuZGxlZCkgU3luY2hyb25vdXMKICAgICBUZXJtaW5hdGVVbnJlc3BvbnNpdmVTZXJ2aWNlV29y
a2VyUHJvY2Vzc2VzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIHByb2Nlc3NJZGVudGlmaWVy
KQogCg==
</data>
<flag name="commit-queue"
          id="444613"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424842</attachid>
            <date>2021-03-31 17:01:48 -0700</date>
            <delta_ts>2021-04-01 10:17:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224025-20210331170147.patch</filename>
            <type>text/plain</type>
            <size>22167</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDEyMDhjOTdlZWIyYjNlOThm
MmZhNDBjYTAwMGY1MjY5ZTFiZGVjNjQuLjNjYTJiZmRjZDVhYjdkZTRlOTUwOTMyMjQzN2Y3MzY1
MzQxYWMzOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMjEtMDMtMzEgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2Ugc2VuZFdp
dGhBc3luY1JlcGx5IGZvciBOZXR3b3JrUHJvY2VzcyBtZXNzYWdlcyB3aXRoIGFzeW5jIHJlcGxp
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDAy
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
d2lsbCBwcmV2ZW50IHVzIGZyb20gaGF2aW5nIHRvIG1hbnVhbGx5IHN0b3JlIGFuZCBoYW5kbGUg
dGhlIGNhbGxiYWNrIElEcyBhbmQgb3RoZXIgdGhpbmdzLgorCisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vz
czo6ZmV0Y2hXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpk
ZWxldGVXZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpkZWxl
dGVXZWJzaXRlRGF0YUZvck9yaWdpbnMpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVz
c2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6On5OZXR3b3JrUHJv
Y2Vzc1Byb3h5KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZmV0Y2hX
ZWJzaXRlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRlbGV0
ZVdlYnNpdGVEYXRhKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVs
ZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nl
c3NQcm94eTo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a1Byb2Nlc3NQcm94eTo6Y2xlYXJDYWxsYmFja1N0YXRlcyk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZEZldGNoV2Vic2l0ZURhdGEpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWREZWxldGVXZWJzaXRl
RGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OmRp
ZERlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW46CisKIDIwMjEtMDMtMzEgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OOiBUaGUg
TmV0d29ya1Byb2Nlc3MgZmFpbHMgdG8gcmVsYXVuY2ggYWZ0ZXIgaXQgY3Jhc2hlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCBhMGFh
MDBhNjFjMTFhNjAwMzRkMjAwODIzZjExYjJkYTVkMTg4YTMyLi5kMDVjZWJhMDI2MTc5NmY3NGVm
ZGZjN2I5ZTZiMzJmZWU4NTUxNTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMTQ0MiwxMCArMTQ0MiwxMCBAQCBzdGF0aWMgdm9p
ZCBmZXRjaERpc2tDYWNoZUVudHJpZXMoTmV0d29ya0NhY2hlOjpDYWNoZSogY2FjaGUsIFBBTDo6
U2Vzc2lvbklEIHNlcwogICAgIH0pOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjpmZXRjaFdl
YnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRh
VHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgT3B0aW9uU2V0PFdlYnNpdGVEYXRhRmV0Y2hPcHRpb24+
IGZldGNoT3B0aW9ucywgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9pZCBOZXR3b3JrUHJvY2Vz
czo6ZmV0Y2hXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxX
ZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIE9wdGlvblNldDxXZWJzaXRlRGF0YUZl
dGNoT3B0aW9uPiBmZXRjaE9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vic2l0ZURh
dGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgc3RydWN0IENhbGxiYWNrQWdncmVn
YXRvciBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxDYWxsYmFja0FnZ3JlZ2F0
b3I+IHsKLSAgICAgICAgZXhwbGljaXQgQ2FsbGJhY2tBZ2dyZWdhdG9yKEZ1bmN0aW9uPHZvaWQg
KFdlYnNpdGVEYXRhKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgZXhwbGljaXQgQ2Fs
bGJhY2tBZ2dyZWdhdG9yKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vic2l0ZURhdGEmJik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgICAgICA6IG1fY29tcGxldGlvbkhhbmRsZXIoV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpCiAgICAgICAgIHsKICAgICAgICAgfQpAQCAtMTQ1Mywx
NyArMTQ1MywxNSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdAogICAgICAgICB+Q2FsbGJhY2tB
Z2dyZWdhdG9yKCkKICAgICAgICAgewogICAgICAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3Bh
dGNoKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUobV9jb21wbGV0aW9uSGFuZGxlciksIHdl
YnNpdGVEYXRhID0gV1RGTW92ZShtX3dlYnNpdGVEYXRhKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIod2Vic2l0ZURhdGEpOworICAgICAgICAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUod2Vic2l0ZURhdGEpKTsKICAgICAgICAgICAgIH0p
OwogICAgICAgICB9CiAKLSAgICAgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJzaXRlRGF0
YSk+IG1fY29tcGxldGlvbkhhbmRsZXI7CisgICAgICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
V2Vic2l0ZURhdGEmJik+IG1fY29tcGxldGlvbkhhbmRsZXI7CiAgICAgICAgIFdlYnNpdGVEYXRh
IG1fd2Vic2l0ZURhdGE7CiAgICAgfTsKIAotICAgIGF1dG8gY2FsbGJhY2tBZ2dyZWdhdG9yID0g
YWRvcHRSZWYoKm5ldyBDYWxsYmFja0FnZ3JlZ2F0b3IoW3RoaXMsIGNhbGxiYWNrSURdIChXZWJz
aXRlRGF0YSB3ZWJzaXRlRGF0YSkgewotICAgICAgICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigp
LT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpEaWRGZXRjaFdlYnNpdGVEYXRh
KGNhbGxiYWNrSUQsIHdlYnNpdGVEYXRhKSwgMCk7Ci0gICAgfSkpOworICAgIGF1dG8gY2FsbGJh
Y2tBZ2dyZWdhdG9yID0gYWRvcHRSZWYoKm5ldyBDYWxsYmFja0FnZ3JlZ2F0b3IoV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcikpKTsKIAogICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5z
KFdlYnNpdGVEYXRhVHlwZTo6Q29va2llcykpIHsKICAgICAgICAgaWYgKGF1dG8qIG5ldHdvcmtT
dG9yYWdlU2Vzc2lvbiA9IHN0b3JhZ2VTZXNzaW9uKHNlc3Npb25JRCkpCkBAIC0xNTU0LDcgKzE1
NTIsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lv
bklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdAogI2VuZGlmCiB9CiAKLXZvaWQgTmV0d29y
a1Byb2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0
aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZp
ZWRTaW5jZSwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9pZCBOZXR3b3JrUHJvY2Vzczo6ZGVs
ZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0
ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAjaWYgUExBVEZP
Uk0oQ09DT0EpIHx8IFVTRShTT1VQKQogICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5z
KFdlYnNpdGVEYXRhVHlwZTo6SFNUU0NhY2hlKSkKQEAgLTE1NzIsOSArMTU3MCw3IEBAIHZvaWQg
TmV0d29ya1Byb2Nlc3M6OmRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCwgT3B0aW9uU2V0PFdlYnNpCiAgICAgICAgIFdlYkNvcmU6OkNyZWRlbnRpYWxTdG9yYWdlOjpj
bGVhclNlc3Npb25DcmVkZW50aWFscygpOwogICAgIH0KIAotICAgIGF1dG8gY2xlYXJUYXNrc0hh
bmRsZXIgPSBXVEY6OkNhbGxiYWNrQWdncmVnYXRvcjo6Y3JlYXRlKFt0aGlzLCBjYWxsYmFja0lE
XSB7Ci0gICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5l
dHdvcmtQcm9jZXNzUHJveHk6OkRpZERlbGV0ZVdlYnNpdGVEYXRhKGNhbGxiYWNrSUQpLCAwKTsK
LSAgICB9KTsKKyAgICBhdXRvIGNsZWFyVGFza3NIYW5kbGVyID0gV1RGOjpDYWxsYmFja0FnZ3Jl
Z2F0b3I6OmNyZWF0ZShXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAKICAgICBpZiAod2Vi
c2l0ZURhdGFUeXBlcy5jb250YWlucyhXZWJzaXRlRGF0YVR5cGU6OkRPTUNhY2hlKSkKICAgICAg
ICAgQ2FjaGVTdG9yYWdlOjpFbmdpbmU6OmNsZWFyQWxsQ2FjaGVzKCp0aGlzLCBzZXNzaW9uSUQs
IFtjbGVhclRhc2tzSGFuZGxlcl0geyB9KTsKQEAgLTE2NTEsNyArMTY0Nyw3IEBAIHN0YXRpYyB2
b2lkIGNsZWFyRGlza0NhY2hlRW50cmllcyhOZXR3b3JrQ2FjaGU6OkNhY2hlKiBjYWNoZSwgY29u
c3QgVmVjdG9yPFNlY3VyCiAgICAgfSk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3M6OmRlbGV0
ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNl
dDxXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIGNvbnN0IFZlY3RvcjxTZWN1cml0
eU9yaWdpbkRhdGE+JiBvcmlnaW5EYXRhcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIGNvb2tpZUhv
c3ROYW1lcywgY29uc3QgVmVjdG9yPFN0cmluZz4mIEhTVFNDYWNoZUhvc3ROYW1lcywgY29uc3Qg
VmVjdG9yPFJlZ2lzdHJhYmxlRG9tYWluPiYgcmVnaXN0cmFibGVEb21haW5zLCBDYWxsYmFja0lE
IGNhbGxiYWNrSUQpCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvck9y
aWdpbnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBl
PiB3ZWJzaXRlRGF0YVR5cGVzLCBjb25zdCBWZWN0b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiYgb3Jp
Z2luRGF0YXMsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBjb29raWVIb3N0TmFtZXMsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBIU1RTQ2FjaGVIb3N0TmFtZXMsIGNvbnN0IFZlY3RvcjxSZWdpc3RyYWJs
ZURvbWFpbj4mIHJlZ2lzdHJhYmxlRG9tYWlucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmICh3ZWJzaXRlRGF0YVR5cGVzLmNvbnRhaW5z
KFdlYnNpdGVEYXRhVHlwZTo6Q29va2llcykpIHsKICAgICAgICAgaWYgKGF1dG8qIG5ldHdvcmtT
dG9yYWdlU2Vzc2lvbiA9IHN0b3JhZ2VTZXNzaW9uKHNlc3Npb25JRCkpCkBAIC0xNjgyLDkgKzE2
NzgsNyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpbwogICAgICAgICB9CiAgICAgfQogICAgIAot
ICAgIGF1dG8gY2xlYXJUYXNrc0hhbmRsZXIgPSBXVEY6OkNhbGxiYWNrQWdncmVnYXRvcjo6Y3Jl
YXRlKFt0aGlzLCBjYWxsYmFja0lEXSB7Ci0gICAgICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9u
KCktPnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OkRpZERlbGV0ZVdlYnNpdGVE
YXRhRm9yT3JpZ2lucyhjYWxsYmFja0lEKSwgMCk7Ci0gICAgfSk7CisgICAgYXV0byBjbGVhclRh
c2tzSGFuZGxlciA9IFdURjo6Q2FsbGJhY2tBZ2dyZWdhdG9yOjpjcmVhdGUoV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogCiAgICAgaWYgKHdlYnNpdGVEYXRhVHlwZXMuY29udGFpbnMoV2Vi
c2l0ZURhdGFUeXBlOjpET01DYWNoZSkpIHsKICAgICAgICAgZm9yIChhdXRvJiBvcmlnaW5EYXRh
IDogb3JpZ2luRGF0YXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmgKaW5kZXggZDAyNGYyZWQ1YWY2NzkzODQ2NmRkODJlNTkxMDJkYWIxMTY2OTc1Ny4u
ZjBmMGZjYzdkMzVmMzdiOWUyYjU0NDZkM2E1M2Y2MjMzZTg2NjQ2MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtNDIzLDkgKzQyMyw5IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoTmV0d29ya1Byb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmJik7CiAgICAgdm9pZCBjcmVhdGVOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciwgUEFMOjpTZXNzaW9uSUQs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmLCBXZWJD
b3JlOjpIVFRQQ29va2llQWNjZXB0UG9saWN5KT4mJik7CiAKLSAgICB2b2lkIGZldGNoV2Vic2l0
ZURhdGEoUEFMOjpTZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBPcHRpb25T
ZXQ8V2Vic2l0ZURhdGFGZXRjaE9wdGlvbj4sIENhbGxiYWNrSUQpOwotICAgIHZvaWQgZGVsZXRl
V2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBX
YWxsVGltZSBtb2RpZmllZFNpbmNlLCBDYWxsYmFja0lEKTsKLSAgICB2b2lkIGRlbGV0ZVdlYnNp
dGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlw
ZT4sIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGE+JiBvcmlnaW5zLCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgY29va2llSG9zdE5hbWVzLCBjb25zdCBWZWN0b3I8U3RyaW5n
PiYgSFNUU0NhY2hlSG9zdG5hbWVzLCBjb25zdCBWZWN0b3I8UmVnaXN0cmFibGVEb21haW4+Jiwg
Q2FsbGJhY2tJRCk7CisgICAgdm9pZCBmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklELCBP
cHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiwgT3B0aW9uU2V0PFdlYnNpdGVEYXRhRmV0Y2hPcHRp
b24+LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYnNpdGVEYXRhJiYpPiYmKTsKKyAgICB2b2lk
IGRlbGV0ZVdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFU
eXBlPiwgV2FsbFRpbWUgbW9kaWZpZWRTaW5jZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
KTsKKyAgICB2b2lkIGRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCwg
T3B0aW9uU2V0PFdlYnNpdGVEYXRhVHlwZT4sIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0
eU9yaWdpbkRhdGE+JiBvcmlnaW5zLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgY29va2llSG9zdE5h
bWVzLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgSFNUU0NhY2hlSG9zdG5hbWVzLCBjb25zdCBWZWN0
b3I8UmVnaXN0cmFibGVEb21haW4+JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKIAog
ICAgIHZvaWQgY2xlYXJDYWNoZWRDcmVkZW50aWFscyhQQUw6OlNlc3Npb25JRCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3Nh
Z2VzLmluCmluZGV4IDlkMWVkODhlYTA0YTBmNjQ1MzMxNDhmMDQyNDhhOTcwYTc3MjkxZWIuLjg4
ZDA3N2EwMTQ1NjcwZjdmNWE1YmIyYTk2MDA1ZmVhMTgwZDkzOGYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpA
QCAtNDIsOSArNDIsOSBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZl
ciB7CiAgICAgQWRkV2Vic2l0ZURhdGFTdG9yZShzdHJ1Y3QgV2ViS2l0OjpXZWJzaXRlRGF0YVN0
b3JlUGFyYW1ldGVycyB3ZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyk7CiAgICAgRGVzdHJveVNl
c3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklEKQogCi0gICAgRmV0Y2hXZWJzaXRlRGF0YShQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlw
ZT4gd2Vic2l0ZURhdGFUeXBlcywgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZURhdGFGZXRjaE9w
dGlvbj4gZmV0Y2hPcHRpb25zLCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKLSAgICBE
ZWxldGVXZWJzaXRlRGF0YShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE9wdGlvblNldDxXZWJL
aXQ6OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFUeXBlcywgV2FsbFRpbWUgbW9kaWZpZWRT
aW5jZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQpCi0gICAgRGVsZXRlV2Vic2l0ZURh
dGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6
V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW5EYXRhPiBvcmlnaW5zLCBWZWN0b3I8U3RyaW5nPiBjb29raWVIb3N0TmFtZXMsIFZl
Y3RvcjxTdHJpbmc+IEhTVFNDYWNoZUhvc3ROYW1lcywgVmVjdG9yPFdlYkNvcmU6OlJlZ2lzdHJh
YmxlRG9tYWluPiByZWdpc3RyYWJsZURvbWFpbnMsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFj
a0lEKQorICAgIEZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRp
b25TZXQ8V2ViS2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIE9wdGlvblNl
dDxXZWJLaXQ6OldlYnNpdGVEYXRhRmV0Y2hPcHRpb24+IGZldGNoT3B0aW9ucykgLT4gKHN0cnVj
dCBXZWJLaXQ6OldlYnNpdGVEYXRhIHdlYnNpdGVEYXRhKSBBc3luYworICAgIERlbGV0ZVdlYnNp
dGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0
ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlKSAtPiAo
KSBBc3luYworICAgIERlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVEYXRhVHlwZT4gd2Vic2l0ZURhdGFU
eXBlcywgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gb3JpZ2lucywgVmVjdG9y
PFN0cmluZz4gY29va2llSG9zdE5hbWVzLCBWZWN0b3I8U3RyaW5nPiBIU1RTQ2FjaGVIb3N0TmFt
ZXMsIFZlY3RvcjxXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbj4gcmVnaXN0cmFibGVEb21haW5z
KSAtPiAoKSBBc3luYwogICAgIFJlbmFtZU9yaWdpbkluV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBVUkwgb2xkRG9tYWluLCBVUkwgbmV3RG9tYWluLCBPcHRpb25TZXQ8V2Vi
S2l0OjpXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMpIC0+ICgpIEFzeW5jCiAKICAg
ICBEb3dubG9hZFJlcXVlc3QoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJLaXQ6OkRvd25s
b2FkSUQgZG93bmxvYWRJRCwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIGVudW06
Ym9vbCBPcHRpb25hbDxXZWJLaXQ6Ok5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPiBpc05hdmln
YXRpbmdUb0FwcEJvdW5kRG9tYWluLCBTdHJpbmcgc3VnZ2VzdGVkRmlsZW5hbWUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmNwcAppbmRleCA2OTJmNzMyNGM1ZjZiZDg5MWYwYTNjYWZmNTM4YzQ0Mzg2NzY5NGVjLi44MTY3
M2IwOWU0NTM0ZTMxNTQzNTQ4ZTc3YzU4NDIxYmM0MmFkMTk3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAg
LTIwNyw5ICsyMDcsNiBAQCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpOZXR3b3JrUHJvY2Vzc1Byb3h5
KCkKIAogTmV0d29ya1Byb2Nlc3NQcm94eTo6fk5ldHdvcmtQcm9jZXNzUHJveHkoKQogewotICAg
IEFTU0VSVChtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSk7Ci0g
ICAgQVNTRVJUKG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSk7
Ci0gICAgQVNTRVJUKG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNr
cy5pc0VtcHR5KCkpOwogI2lmIEVOQUJMRShDT05URU5UX0VYVEVOU0lPTlMpCiAgICAgZm9yIChh
dXRvKiBwcm94eSA6IG1fd2ViVXNlckNvbnRlbnRDb250cm9sbGVyUHJveGllcykKICAgICAgICAg
cHJveHktPnJlbW92ZU5ldHdvcmtQcm9jZXNzKCp0aGlzKTsKQEAgLTI4Nyw1OCArMjg0LDE5IEBA
IERvd25sb2FkUHJveHkmIE5ldHdvcmtQcm9jZXNzUHJveHk6OmNyZWF0ZURvd25sb2FkUHJveHko
V2Vic2l0ZURhdGFTdG9yZSYgZGF0YVN0CiAgICAgcmV0dXJuIG1fZG93bmxvYWRQcm94eU1hcC0+
Y3JlYXRlRG93bmxvYWRQcm94eShkYXRhU3RvcmUsIHByb2Nlc3NQb29sLCByZXNvdXJjZVJlcXVl
c3QsIGZyYW1lSW5mbywgb3JpZ2luYXRpbmdQYWdlKTsKIH0KIAotdm9pZCBOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpmZXRjaFdlYnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9u
U2V0PFdlYnNpdGVEYXRhVHlwZT4gZGF0YVR5cGVzLCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFGZXRj
aE9wdGlvbj4gZmV0Y2hPcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkIChXZWJzaXRlRGF0
YSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmZldGNo
V2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURh
dGFUeXBlPiBkYXRhVHlwZXMsIE9wdGlvblNldDxXZWJzaXRlRGF0YUZldGNoT3B0aW9uPiBmZXRj
aE9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2Vic2l0ZURhdGEpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogewotICAgIEFTU0VSVChjYW5TZW5kTWVzc2FnZSgpKTsKLQotICAgIGF1dG8g
Y2FsbGJhY2tJRCA9IENhbGxiYWNrSUQ6OmdlbmVyYXRlSUQoKTsKLSAgICBSRUxFQVNFX0xPR19J
RihzZXNzaW9uSUQuaXNBbHdheXNPbkxvZ2dpbmdBbGxvd2VkKCksIFByb2Nlc3NTdXNwZW5zaW9u
LCAiJXAgLSBOZXR3b3JrUHJvY2Vzc1Byb3h5IGlzIHRha2luZyBhIGJhY2tncm91bmQgYXNzZXJ0
aW9uIGJlY2F1c2UgdGhlIE5ldHdvcmsgcHJvY2VzcyBpcyBmZXRjaGluZyBXZWJzaXRlIGRhdGEi
LCB0aGlzKTsKLQotICAgIG1fcGVuZGluZ0ZldGNoV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNh
bGxiYWNrSUQsIFt0aGlzLCBhY3Rpdml0eSA9IHRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0
eSgiTmV0d29ya1Byb2Nlc3NQcm94eTo6ZmV0Y2hXZWJzaXRlRGF0YSJfcyksIGNvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIHNlc3Npb25JRF0gKFdlYnNpdGVE
YXRhIHdlYnNpdGVEYXRhKSBtdXRhYmxlIHsKLSNpZiBSRUxFQVNFX0xPR19ESVNBQkxFRAotICAg
ICAgICBVTlVTRURfUEFSQU0odGhpcyk7Ci0gICAgICAgIFVOVVNFRF9QQVJBTShzZXNzaW9uSUQp
OwotI2VuZGlmCi0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUod2Vic2l0ZURhdGEp
KTsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUYoc2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5nQWxs
b3dlZCgpLCBQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gTmV0d29ya1Byb2Nlc3NQcm94eSBpcyBy
ZWxlYXNpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIHRoZSBOZXR3b3JrIHByb2Nl
c3MgaXMgZG9uZSBmZXRjaGluZyBXZWJzaXRlIGRhdGEiLCB0aGlzKTsKLSAgICB9KTsKLQotICAg
IHNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpGZXRjaFdlYnNpdGVEYXRhKHNlc3Npb25J
RCwgZGF0YVR5cGVzLCBmZXRjaE9wdGlvbnMsIGNhbGxiYWNrSUQpLCAwKTsKKyAgICBzZW5kV2l0
aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpGZXRjaFdlYnNpdGVEYXRhKHNl
c3Npb25JRCwgZGF0YVR5cGVzLCBmZXRjaE9wdGlvbnMpLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiBkYXRh
VHlwZXMsIFdhbGxUaW1lIG1vZGlmaWVkU2luY2UsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQgKCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRlbGV0ZVdl
YnNpdGVEYXRhKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgT3B0aW9uU2V0PFdlYnNpdGVEYXRh
VHlwZT4gZGF0YVR5cGVzLCBXYWxsVGltZSBtb2RpZmllZFNpbmNlLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgYXV0byBjYWxsYmFja0lEID0g
Q2FsbGJhY2tJRDo6Z2VuZXJhdGVJRCgpOwotICAgIFJFTEVBU0VfTE9HX0lGKHNlc3Npb25JRC5p
c0Fsd2F5c09uTG9nZ2luZ0FsbG93ZWQoKSwgUHJvY2Vzc1N1c3BlbnNpb24sICIlcCAtIE5ldHdv
cmtQcm9jZXNzUHJveHkgaXMgdGFraW5nIGEgYmFja2dyb3VuZCBhc3NlcnRpb24gYmVjYXVzZSB0
aGUgTmV0d29yayBwcm9jZXNzIGlzIGRlbGV0aW5nIFdlYnNpdGUgZGF0YSIsIHRoaXMpOwotCi0g
ICAgbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYWRkKGNhbGxiYWNrSUQsIFt0
aGlzLCBhY3Rpdml0eSA9IHRocm90dGxlcigpLmJhY2tncm91bmRBY3Rpdml0eSgiTmV0d29ya1By
b2Nlc3NQcm94eTo6ZGVsZXRlV2Vic2l0ZURhdGEiX3MpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBzZXNzaW9uSURdICgpIG11dGFibGUgewotI2lmIFJF
TEVBU0VfTE9HX0RJU0FCTEVECi0gICAgICAgIFVOVVNFRF9QQVJBTSh0aGlzKTsKLSAgICAgICAg
VU5VU0VEX1BBUkFNKHNlc3Npb25JRCk7Ci0jZW5kaWYKLSAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIoKTsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUYoc2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5n
QWxsb3dlZCgpLCBQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gTmV0d29ya1Byb2Nlc3NQcm94eSBp
cyByZWxlYXNpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIHRoZSBOZXR3b3JrIHBy
b2Nlc3MgaXMgZG9uZSBkZWxldGluZyBXZWJzaXRlIGRhdGEiLCB0aGlzKTsKLSAgICB9KTsKLSAg
ICBzZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6RGVsZXRlV2Vic2l0ZURhdGEoc2Vzc2lv
bklELCBkYXRhVHlwZXMsIG1vZGlmaWVkU2luY2UsIGNhbGxiYWNrSUQpLCAwKTsKKyAgICBzZW5k
V2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0
YShzZXNzaW9uSUQsIGRhdGFUeXBlcywgbW9kaWZpZWRTaW5jZSksIFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpKTsKIH0KIAogdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRl
RGF0YUZvck9yaWdpbnMoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0
ZURhdGFUeXBlPiBkYXRhVHlwZXMsIGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTZWN1cml0eU9yaWdp
bkRhdGE+JiBvcmlnaW5zLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgY29va2llSG9zdE5hbWVzLCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgSFNUU0NhY2hlSG9zdE5hbWVzLCBjb25zdCBWZWN0b3I8UmVn
aXN0cmFibGVEb21haW4+JiByZWdpc3RyYWJsZURvbWFpbnMsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBBU1NFUlQoY2FuU2VuZE1lc3NhZ2Uo
KSk7Ci0KLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBDYWxsYmFja0lEOjpnZW5lcmF0ZUlEKCk7Ci0g
ICAgUkVMRUFTRV9MT0dfSUYoc2Vzc2lvbklELmlzQWx3YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBQ
cm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gTmV0d29ya1Byb2Nlc3NQcm94eSBpcyB0YWtpbmcgYSBi
YWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIHRoZSBOZXR3b3JrIHByb2Nlc3MgaXMgZGVsZXRp
bmcgV2Vic2l0ZSBkYXRhIGZvciBzZXZlcmFsIG9yaWdpbnMiLCB0aGlzKTsKLQotICAgIG1fcGVu
ZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5hZGQoY2FsbGJhY2tJRCwg
W3RoaXMsIGFjdGl2aXR5ID0gdGhyb3R0bGVyKCkuYmFja2dyb3VuZEFjdGl2aXR5KCJOZXR3b3Jr
UHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMiX3MpLCBjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBzZXNzaW9uSURdICgpIG11dGFi
bGUgewotI2lmIFJFTEVBU0VfTE9HX0RJU0FCTEVECi0gICAgICAgIFVOVVNFRF9QQVJBTSh0aGlz
KTsKLSAgICAgICAgVU5VU0VEX1BBUkFNKHNlc3Npb25JRCk7Ci0jZW5kaWYKLSAgICAgICAgY29t
cGxldGlvbkhhbmRsZXIoKTsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUYoc2Vzc2lvbklELmlzQWx3
YXlzT25Mb2dnaW5nQWxsb3dlZCgpLCBQcm9jZXNzU3VzcGVuc2lvbiwgIiVwIC0gTmV0d29ya1By
b2Nlc3NQcm94eSBpcyByZWxlYXNpbmcgYSBiYWNrZ3JvdW5kIGFzc2VydGlvbiBiZWNhdXNlIHRo
ZSBOZXR3b3JrIHByb2Nlc3MgaXMgZG9uZSBkZWxldGluZyBXZWJzaXRlIGRhdGEgZm9yIHNldmVy
YWwgb3JpZ2lucyIsIHRoaXMpOwotICAgIH0pOwotCi0gICAgc2VuZChNZXNzYWdlczo6TmV0d29y
a1Byb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9uSUQsIGRhdGFUeXBl
cywgb3JpZ2lucywgY29va2llSG9zdE5hbWVzLCBIU1RTQ2FjaGVIb3N0TmFtZXMsIHJlZ2lzdHJh
YmxlRG9tYWlucywgY2FsbGJhY2tJRCksIDApOworICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNz
YWdlczo6TmV0d29ya1Byb2Nlc3M6OkRlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhzZXNzaW9u
SUQsIGRhdGFUeXBlcywgb3JpZ2lucywgY29va2llSG9zdE5hbWVzLCBIU1RTQ2FjaGVIb3N0TmFt
ZXMsIHJlZ2lzdHJhYmxlRG9tYWlucyksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0K
IAogdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZW5hbWVPcmlnaW5JbldlYnNpdGVEYXRhKFBB
TDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgVVJMJiBvbGROYW1lLCBjb25zdCBVUkwmIG5l
d05hbWUsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IGRhdGFUeXBlcywgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpAQCAtMzUxLDggKzMwOSw2IEBAIHZv
aWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6bmV0d29ya1Byb2Nlc3NDcmFzaGVkKCkKICAgICBpZiAo
ZGVmYXVsdFByb2Nlc3MoKSA9PSB0aGlzKQogICAgICAgICBkZWZhdWx0UHJvY2VzcygpID0gbnVs
bHB0cjsKIAotICAgIGNsZWFyQ2FsbGJhY2tTdGF0ZXMoKTsKLQogICAgIFJlZjxOZXR3b3JrUHJv
Y2Vzc1Byb3h5PiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKICAgICBmb3IgKGF1dG8qIHByb2Nlc3NQ
b29sIDogV2ViUHJvY2Vzc1Bvb2w6OmFsbFByb2Nlc3NQb29scygpKQogICAgICAgICBwcm9jZXNz
UG9vbC0+bmV0d29ya1Byb2Nlc3NDcmFzaGVkKCp0aGlzKTsKQEAgLTM2MCwxOCArMzE2LDYgQEAg
dm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpuZXR3b3JrUHJvY2Vzc0NyYXNoZWQoKQogICAgICAg
ICB3ZWJzaXRlRGF0YVN0b3JlLm5ldHdvcmtQcm9jZXNzQ3Jhc2hlZCgqdGhpcyk7CiB9CiAKLXZv
aWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6Y2xlYXJDYWxsYmFja1N0YXRlcygpCi17Ci0gICAgd2hp
bGUgKCFtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmlzRW1wdHkoKSkKLSAgICAg
ICAgbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrcy50YWtlKG1fcGVuZGluZ0ZldGNo
V2Vic2l0ZURhdGFDYWxsYmFja3MuYmVnaW4oKS0+a2V5KShXZWJzaXRlRGF0YSB7IH0pOwotCi0g
ICAgd2hpbGUgKCFtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy5pc0VtcHR5KCkp
Ci0gICAgICAgIG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzLnRha2UobV9wZW5k
aW5nRGVsZXRlV2Vic2l0ZURhdGFDYWxsYmFja3MuYmVnaW4oKS0+a2V5KSgpOwotCi0gICAgd2hp
bGUgKCFtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnNDYWxsYmFja3MuaXNFbXB0
eSgpKQotICAgICAgICBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnNDYWxsYmFj
a3MudGFrZShtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnNDYWxsYmFja3MuYmVn
aW4oKS0+a2V5KSgpOwotfQotCiB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZFJlY2VpdmVN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVy
KQogewogICAgIGlmIChkaXNwYXRjaE1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2RlcikpCkBAIC00
NzcsMjcgKzQyMSw2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkTmVnb3RpYXRlTW9k
ZXJuVExTKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlELCBjCiAgICAgICAgIHBhZ2UtPmRp
ZE5lZ290aWF0ZU1vZGVyblRMUyhjaGFsbGVuZ2UpOwogfQogCi12b2lkIE5ldHdvcmtQcm9jZXNz
UHJveHk6OmRpZEZldGNoV2Vic2l0ZURhdGEoQ2FsbGJhY2tJRCBjYWxsYmFja0lELCBjb25zdCBX
ZWJzaXRlRGF0YSYgd2Vic2l0ZURhdGEpCi17Ci0gICAgTUVTU0FHRV9DSEVDSyhtX3BlbmRpbmdG
ZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLmlzVmFsaWRLZXkoY2FsbGJhY2tJRCkpOwotICAgIGF1
dG8gY2FsbGJhY2sgPSBtX3BlbmRpbmdGZXRjaFdlYnNpdGVEYXRhQ2FsbGJhY2tzLnRha2UoY2Fs
bGJhY2tJRCk7Ci0gICAgY2FsbGJhY2sod2Vic2l0ZURhdGEpOwotfQotCi12b2lkIE5ldHdvcmtQ
cm9jZXNzUHJveHk6OmRpZERlbGV0ZVdlYnNpdGVEYXRhKENhbGxiYWNrSUQgY2FsbGJhY2tJRCkK
LXsKLSAgICBNRVNTQUdFX0NIRUNLKG1fcGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tz
LmlzVmFsaWRLZXkoY2FsbGJhY2tJRCkpOwotICAgIGF1dG8gY2FsbGJhY2sgPSBtX3BlbmRpbmdE
ZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrcy50YWtlKGNhbGxiYWNrSUQpOwotICAgIGNhbGxiYWNr
KCk7Ci19Ci0KLXZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZGlkRGVsZXRlV2Vic2l0ZURhdGFG
b3JPcmlnaW5zKENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKLXsKLSAgICBNRVNTQUdFX0NIRUNLKG1f
cGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2luc0NhbGxiYWNrcy5pc1ZhbGlkS2V5KGNh
bGxiYWNrSUQpKTsKLSAgICBhdXRvIGNhbGxiYWNrID0gbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURh
dGFGb3JPcmlnaW5zQ2FsbGJhY2tzLnRha2UoY2FsbGJhY2tJRCk7Ci0gICAgY2FsbGJhY2soKTsK
LX0KLQogdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRGaW5pc2hMYXVuY2hpbmcoUHJvY2Vz
c0xhdW5jaGVyKiBsYXVuY2hlciwgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIGNvbm5lY3Rp
b25JZGVudGlmaWVyKQogewogICAgIEF1eGlsaWFyeVByb2Nlc3NQcm94eTo6ZGlkRmluaXNoTGF1
bmNoaW5nKGxhdW5jaGVyLCBjb25uZWN0aW9uSWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCmluZGV4IDg2
MWMzYTgyNDI2OGUxMzY3YjZhNzRmYzZhNjE0YTIxZTQ0ZWUyNDguLjExN2ZiN2U3MTUzM2Q1YzQ4
ODEyNDc4NWMzZjA2OGQ4YWI5ZjZjZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCkBAIC0yNzksOCArMjc5LDYgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGNvbm5lY3Rpb25XaWxsT3BlbihJUEM6OkNvbm5lY3Rpb24mKSBv
dmVycmlkZTsKICAgICB2b2lkIHByb2Nlc3NXaWxsU2h1dERvd24oSVBDOjpDb25uZWN0aW9uJikg
b3ZlcnJpZGU7CiAKLSAgICB2b2lkIGNsZWFyQ2FsbGJhY2tTdGF0ZXMoKTsKLQogICAgIC8vIElQ
Qzo6Q29ubmVjdGlvbjo6Q2xpZW50CiAgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBvdmVycmlkZTsKICAgICBib29sIGRpZFJlY2VpdmVT
eW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBVbmlxdWVSZWY8SVBD
OjpFbmNvZGVyPiYpIG92ZXJyaWRlOwpAQCAtMjkzLDkgKzI5MSw2IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoUEFMOjpTZXNzaW9uSUQsIFdl
YlBhZ2VQcm94eUlkZW50aWZpZXIsIGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luRGF0YT4mLCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYmLCBib29sLCB1aW50
NjRfdCBjaGFsbGVuZ2VJRCk7CiAgICAgdm9pZCBuZWdvdGlhdGVkTGVnYWN5VExTKFdlYlBhZ2VQ
cm94eUlkZW50aWZpZXIpOwogICAgIHZvaWQgZGlkTmVnb3RpYXRlTW9kZXJuVExTKFdlYlBhZ2VQ
cm94eUlkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7
Ci0gICAgdm9pZCBkaWRGZXRjaFdlYnNpdGVEYXRhKENhbGxiYWNrSUQsIGNvbnN0IFdlYnNpdGVE
YXRhJik7Ci0gICAgdm9pZCBkaWREZWxldGVXZWJzaXRlRGF0YShDYWxsYmFja0lEKTsKLSAgICB2
b2lkIGRpZERlbGV0ZVdlYnNpdGVEYXRhRm9yT3JpZ2lucyhDYWxsYmFja0lEKTsKICAgICB2b2lk
IHNldFdlYlByb2Nlc3NIYXNVcGxvYWRzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyLCBib29s
KTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlKFdlYlBhZ2VQcm94eUlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbiwgV2ViQ29y
ZTo6U2hvdWxkU2FtcGxlKTsKICAgICB2b2lkIGxvZ0RpYWdub3N0aWNNZXNzYWdlV2l0aFJlc3Vs
dChXZWJQYWdlUHJveHlJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0
cmluZyYgZGVzY3JpcHRpb24sIHVpbnQzMl90IHJlc3VsdCwgV2ViQ29yZTo6U2hvdWxkU2FtcGxl
KTsKQEAgLTMzMywxMCArMzI4LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcHJvY2Vzc0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKFBBTDo6U2Vzc2lvbklELCBSZWY8QXV0aGVudGljYXRpb25DaGFs
bGVuZ2VQcm94eT4mJik7CiAKLSAgICBIYXNoTWFwPENhbGxiYWNrSUQsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoV2Vic2l0ZURhdGEpPj4gbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNr
czsKLSAgICBIYXNoTWFwPENhbGxiYWNrSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4+IG1f
cGVuZGluZ0RlbGV0ZVdlYnNpdGVEYXRhQ2FsbGJhY2tzOwotICAgIEhhc2hNYXA8Q2FsbGJhY2tJ
RCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPj4gbV9wZW5kaW5nRGVsZXRlV2Vic2l0ZURhdGFG
b3JPcmlnaW5zQ2FsbGJhY2tzOwotCiAgICAgc3RkOjp1bmlxdWVfcHRyPERvd25sb2FkUHJveHlN
YXA+IG1fZG93bmxvYWRQcm94eU1hcDsKIAogICAgIFVuaXF1ZVJlZjxBUEk6OkN1c3RvbVByb3Rv
Y29sTWFuYWdlckNsaWVudD4gbV9jdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNWU2MjA1ZTVmZDQxYWUzNmM3MWEzNmY3Y2M3ZTRh
ZGIwOWFkNmMzNy4uMmRhZDNjYjQ0OTZjNDUyZjhjYjk4NDljZmQ0NzI4MmYyOWYxMjhiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtMjUsMTAgKzI1LDYgQEAgbWVzc2FnZXMg
LT4gTmV0d29ya1Byb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXZlciBOb3RSZWZDb3VudGVkIHsKICAg
ICBOZWdvdGlhdGVkTGVnYWN5VExTKFdlYktpdDo6V2ViUGFnZVByb3h5SWRlbnRpZmllciBwYWdl
SUQpCiAgICAgRGlkTmVnb3RpYXRlTW9kZXJuVExTKFdlYktpdDo6V2ViUGFnZVByb3h5SWRlbnRp
ZmllciBwYWdlSUQsIFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGNoYWxsZW5nZSkK
IAotICAgIERpZEZldGNoV2Vic2l0ZURhdGEoV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQs
IHN0cnVjdCBXZWJLaXQ6OldlYnNpdGVEYXRhIHdlYnNpdGVEYXRhKQotICAgIERpZERlbGV0ZVdl
YnNpdGVEYXRhKFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQotICAgIERpZERlbGV0ZVdl
YnNpdGVEYXRhRm9yT3JpZ2lucyhXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKLQogICAg
IFRlc3RQcm9jZXNzSW5jb21pbmdTeW5jTWVzc2FnZXNXaGVuV2FpdGluZ0ZvclN5bmNSZXBseShX
ZWJLaXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlEKSAtPiAoYm9vbCBoYW5kbGVkKSBT
eW5jaHJvbm91cwogICAgIFRlcm1pbmF0ZVVucmVzcG9uc2l2ZVNlcnZpY2VXb3JrZXJQcm9jZXNz
ZXMoV2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXIgcHJvY2Vzc0lkZW50aWZpZXIpCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>