<?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>232434</bug_id>
          
          <creation_ts>2021-10-28 05:41:34 -0700</creation_ts>
          <short_desc>Allow :is/:where after all pseudo elements</short_desc>
          <delta_ts>2021-10-29 14:43:18 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>232482</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1809642</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-28 05:41:34 -0700</bug_when>
    <thetext>The subselectors that are not legal in the context will just reduce to nothing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810021</commentid>
    <comment_count>1</comment_count>
      <attachid>442802</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-29 03:12:55 -0700</bug_when>
    <thetext>Created attachment 442802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810022</commentid>
    <comment_count>2</comment_count>
      <attachid>442803</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-29 03:18:33 -0700</bug_when>
    <thetext>Created attachment 442803
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810112</commentid>
    <comment_count>3</comment_count>
      <attachid>442827</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-10-29 09:58:02 -0700</bug_when>
    <thetext>Created attachment 442827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810253</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-29 14:42:57 -0700</bug_when>
    <thetext>Committed r285054 (243697@main): &lt;https://commits.webkit.org/243697@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442827.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810254</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-29 14:43:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/84824275&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442802</attachid>
            <date>2021-10-29 03:12:55 -0700</date>
            <delta_ts>2021-10-29 03:18:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232434-20211029131253.patch</filename>
            <type>text/plain</type>
            <size>20664</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTM1ZWUwZTk1YWYwYzg2
YTc5NDVmZTJmNzdjNTAwZjk4ODZmNGVmMi4uMTg1YTA4OGQzNzc2MDRmYTQ5NzU2YTA3N2E4ZGNh
ZGM1MmVjYzRjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTEwLTI5ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyA6aXMvOndoZXJl
IGFmdGVyIGFsbCBwc2V1ZG8gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMjQzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFueSBzdWJzZWxlY3RvcnMgdGhhdCBhcmUgbm90IGxlZ2FsIGlu
IHRoZSBjb250ZXh0IHdpbGwganVzdCByZWR1Y2UgdG8gbm90aGluZworICAgICAgICBUaGlzIG1h
dGNoZXMgdGhlIGJlaGF2aW9yIGluIG90aGVyIGVuZ2luZXMgYW5kIGRpc2N1c3Npb24gaW4gaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzUwOTMuCisKKyAgICAgICAg
QWxzbyBtYWtlIHBzZXVkby1lbGVtZW50cyBjb25zaXN0ZW5seSBpbGxlZ2FsIGluIGFsbCBwc2V1
ZG8tY2xhc3NlcyBhbmQgcHNldWRvLWVsZW1lbnRzLiBUaGUgbWFpbiBleGNlcHRpb24KKyAgICAg
ICAgd2FzIC13ZWJraXQtYW55LgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NTZWxlY3RvclBh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0xvZ2ljYWxDb21iaW5hdGlvblBzZXVkb0Ns
YXNzKToKKyAgICAgICAgKFdlYkNvcmU6OmlzUHNldWRvQ2xhc3NWYWxpZEFmdGVyUHNldWRvRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjppc1NpbXBsZVNlbGVjdG9yVmFsaWRBZnRlclBzZXVk
b0VsZW1lbnQpOgorCisgICAgICAgIDppcygpLCA6bm90KCksIGFuZCBzbyBvbiBhcmUgYWx3YXlz
IGxlZ2FsIGJ1dCB0aGVpciBjb250ZW50IGlzIG5lY2Vzc2FyaWx5IG5vdC4KKworICAgICAgICAo
V2ViQ29yZTo6Q1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVDb21wb3VuZFNlbGVjdG9yKToKKwor
ICAgICAgICBTZXQgdGhlIHByZWNlZGluZyBwc2V1ZG8tZWxlbWVudCBhcyBwYXJzZXIgc3RhdGUu
CisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lU2ltcGxlU2Vs
ZWN0b3IpOgorCisgICAgICAgIENoZWNrIGlmIHRoZSBwc2V1ZG8tY2xhc3Mgb3IgcHNldWRvLWVs
ZW1lbnQgaXMgdmFsaWQgaW1tZWRpYXRlbHkgYWZ0ZXIgY29uc3VtaW5nIGl0LiBUaGlzIGFsbG93
cworICAgICAgICBmb3JnaXZpbmcgc2VsZWN0b3IgbGlzdCBwYXJzaW5nIHRvIHJlY292ZXIgYW5k
IGNvbnRpbnVlLgorCisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3Vt
ZVBzZXVkbyk6CisKKyAgICAgICAgRGlzYWxsb3cgbmVzdGluZyBpbiBhbGwgY2FzZXMuCisKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpEaXNhbGxvd1BzZXVkb0VsZW1lbnRz
U2NvcGU6OkRpc2FsbG93UHNldWRvRWxlbWVudHNTY29wZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpDU1NTZWxlY3RvclBhcnNlcjo6RGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlOjp+
RGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlKTogRGVsZXRlZC4KKworICAgICAgICBKdXN0IHVz
ZSBTZXRGb3JTY29wZS4KKworICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIu
aDoKKwogMjAyMS0xMC0yOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAg
ICAgICAgU3VwcG9ydCA6OmJlZm9yZSBhbmQgOjphZnRlciBwc2V1ZG8gZWxlbWVudHMgYWZ0ZXIg
OjpzbG90dGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVj
dG9yUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJz
ZXIuY3BwCmluZGV4IDViNTYyMTc2NjQ5NWEzYWMyN2QwNzQ0NTlhMDU4MzdlOTMxZTY5NmIuLjlm
YTRiYTRjZWE5Y2VmNWQwODEyOWQwNWE5YzA3YjFiN2QxMjE4ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCkBAIC0zOSwyNCArMzksNiBA
QAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENTU1NlbGVjdG9yUGFyc2VyOjpEaXNh
bGxvd1BzZXVkb0VsZW1lbnRzU2NvcGUgewotcHVibGljOgotICAgIGV4cGxpY2l0IERpc2FsbG93
UHNldWRvRWxlbWVudHNTY29wZShDU1NTZWxlY3RvclBhcnNlciYgcGFyc2VyKQotICAgICAgICA6
IG1fcGFyc2VyKHBhcnNlcikKLSAgICAgICAgLCBtX3dhc0Rpc2FsbG93ZWQoc3RkOjpleGNoYW5n
ZShtX3BhcnNlci5tX2Rpc2FsbG93UHNldWRvRWxlbWVudHMsIHRydWUpKQotICAgIHsKLSAgICB9
Ci0KLSAgICB+RGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlKCkKLSAgICB7Ci0gICAgICAgIG1f
cGFyc2VyLm1fZGlzYWxsb3dQc2V1ZG9FbGVtZW50cyA9IG1fd2FzRGlzYWxsb3dlZDsKLSAgICB9
Ci0KLXByaXZhdGU6Ci0gICAgQ1NTU2VsZWN0b3JQYXJzZXImIG1fcGFyc2VyOwotICAgIGJvb2wg
bV93YXNEaXNhbGxvd2VkOwotfTsKLQogc3RhdGljIEF0b21TdHJpbmcgc2VyaWFsaXplQU5QbHVz
Qihjb25zdCBzdGQ6OnBhaXI8aW50LCBpbnQ+Jik7CiBzdGF0aWMgYm9vbCBjb25zdW1lQU5QbHVz
QihDU1NQYXJzZXJUb2tlblJhbmdlJiwgc3RkOjpwYWlyPGludCwgaW50PiYpOwogCkBAIC0zMzgs
MTMgKzMyMCwzMSBAQCBzdGF0aWMgYm9vbCBpc1VzZXJBY3Rpb25Qc2V1ZG9DbGFzcyhDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NUeXBlIHBzZXVkbykKICAgICB9CiB9CiAKK3N0YXRpYyBib29sIGlz
TG9naWNhbENvbWJpbmF0aW9uUHNldWRvQ2xhc3MoQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzVHlw
ZSBwc2V1ZG8pCit7CisgICAgc3dpdGNoIChwc2V1ZG8pIHsKKyAgICBjYXNlIENTU1NlbGVjdG9y
OjpQc2V1ZG9DbGFzc0lzOgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzV2hlcmU6
CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NOb3Q6CisgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NBbnk6CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NN
YXRjaGVzOgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzSGFzOgorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor
fQorCiBzdGF0aWMgYm9vbCBpc1BzZXVkb0NsYXNzVmFsaWRBZnRlclBzZXVkb0VsZW1lbnQoQ1NT
U2VsZWN0b3I6OlBzZXVkb0NsYXNzVHlwZSBwc2V1ZG9DbGFzcywgQ1NTU2VsZWN0b3I6OlBzZXVk
b0VsZW1lbnRUeXBlIGNvbXBvdW5kUHNldWRvRWxlbWVudCkKIHsKKyAgICAvLyBWYWxpZGl0eSBv
ZiB0aGVzZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZWlyIGNvbnRlbnQuCisgICAgaWYgKGlzTG9naWNh
bENvbWJpbmF0aW9uUHNldWRvQ2xhc3MocHNldWRvQ2xhc3MpKQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKwogICAgIHN3aXRjaCAoY29tcG91bmRQc2V1ZG9FbGVtZW50KSB7CiAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvRWxlbWVudFBhcnQ6CiAgICAgICAgIHJldHVybiAhaXNUcmVlU3RydWN0
dXJhbFBzZXVkb0NsYXNzKHBzZXVkb0NsYXNzKTsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1
ZG9FbGVtZW50U2xvdHRlZDoKLSAgICAgICAgLy8gRklYTUU6IEEgV1BUIGluZGljYXRlcyA6aXMv
OndoZXJlIHNob3VsZCBiZSBwYXJzZWQgYnV0IHJlZHVjZSB0byBub3RoaW5nIGFzIHRoZWlyIGNv
bnRlbnQgaXMgbm90IGxlZ2FsIGluIHRoZSBjb250ZXh0LgogICAgICAgICByZXR1cm4gZmFsc2U7
CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFJlc2l6ZXI6CiAgICAgY2FzZSBD
U1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFNjcm9sbGJhcjoKQEAgLTM3OSw4ICszNzksOCBAQCBz
dGF0aWMgYm9vbCBpc1RyZWVBYmlkaW5nUHNldWRvRWxlbWVudChDU1NTZWxlY3Rvcjo6UHNldWRv
RWxlbWVudFR5cGUgcHNldWRvRWxlbQogCiBzdGF0aWMgYm9vbCBpc1NpbXBsZVNlbGVjdG9yVmFs
aWRBZnRlclBzZXVkb0VsZW1lbnQoY29uc3QgQ1NTUGFyc2VyU2VsZWN0b3ImIHNpbXBsZVNlbGVj
dG9yLCBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFR5cGUgY29tcG91bmRQc2V1ZG9FbGVtZW50
KQogewotICAgIGlmIChjb21wb3VuZFBzZXVkb0VsZW1lbnQgPT0gQ1NTU2VsZWN0b3I6OlBzZXVk
b0VsZW1lbnRVbmtub3duKQotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBBU1NFUlQoY29tcG91
bmRQc2V1ZG9FbGVtZW50ICE9IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50VW5rbm93bik7Cisg
ICAgCiAgICAgaWYgKGNvbXBvdW5kUHNldWRvRWxlbWVudCA9PSBDU1NTZWxlY3Rvcjo6UHNldWRv
RWxlbWVudFBhcnQpIHsKICAgICAgICAgaWYgKHNpbXBsZVNlbGVjdG9yLm1hdGNoKCkgPT0gQ1NT
U2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQgJiYgc2ltcGxlU2VsZWN0b3IucHNldWRvRWxlbWVudFR5
cGUoKSAhPSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFBhcnQpCiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKQEAgLTM5MSwxMyArMzkxLDggQEAgc3RhdGljIGJvb2wgaXNTaW1wbGVTZWxlY3Rv
clZhbGlkQWZ0ZXJQc2V1ZG9FbGVtZW50KGNvbnN0IENTU1BhcnNlclNlbGVjdG9yJiBzaW0KICAg
ICB9CiAgICAgaWYgKHNpbXBsZVNlbGVjdG9yLm1hdGNoKCkgIT0gQ1NTU2VsZWN0b3I6OlBzZXVk
b0NsYXNzKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgQ1NTU2VsZWN0b3I6OlBzZXVkb0Ns
YXNzVHlwZSBwc2V1ZG8gPSBzaW1wbGVTZWxlY3Rvci5wc2V1ZG9DbGFzc1R5cGUoKTsKLSAgICBp
ZiAocHNldWRvID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc05vdCkgewotICAgICAgICBBU1NF
UlQoc2ltcGxlU2VsZWN0b3Iuc2VsZWN0b3JMaXN0KCkpOwotICAgICAgICBBU1NFUlQoc2ltcGxl
U2VsZWN0b3Iuc2VsZWN0b3JMaXN0KCktPmZpcnN0KCkpOwotICAgICAgICBwc2V1ZG8gPSBzaW1w
bGVTZWxlY3Rvci5zZWxlY3Rvckxpc3QoKS0+Zmlyc3QoKS0+cHNldWRvQ2xhc3NUeXBlKCk7Ci0g
ICAgfQotICAgIHJldHVybiBpc1BzZXVkb0NsYXNzVmFsaWRBZnRlclBzZXVkb0VsZW1lbnQocHNl
dWRvLCBjb21wb3VuZFBzZXVkb0VsZW1lbnQpOworCisgICAgcmV0dXJuIGlzUHNldWRvQ2xhc3NW
YWxpZEFmdGVyUHNldWRvRWxlbWVudChzaW1wbGVTZWxlY3Rvci5wc2V1ZG9DbGFzc1R5cGUoKSwg
Y29tcG91bmRQc2V1ZG9FbGVtZW50KTsKIH0KIAogc3RhdGljIGJvb2wgYXRFbmRJZ25vcmluZ1do
aXRlc3BhY2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSkKQEAgLTQwOCwzMCArNDAzLDI0IEBA
IHN0YXRpYyBib29sIGF0RW5kSWdub3JpbmdXaGl0ZXNwYWNlKENTU1BhcnNlclRva2VuUmFuZ2Ug
cmFuZ2UpCiAKIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQ
YXJzZXI6OmNvbnN1bWVDb21wb3VuZFNlbGVjdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdl
KQogeworICAgIEFTU0VSVCghbV9wcmVjZWRpbmdQc2V1ZG9FbGVtZW50IHx8IG1fZGlzYWxsb3dQ
c2V1ZG9FbGVtZW50cyk7CisKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+
IGNvbXBvdW5kU2VsZWN0b3I7CiAKICAgICBBdG9tU3RyaW5nIG5hbWVzcGFjZVByZWZpeDsKICAg
ICBBdG9tU3RyaW5nIGVsZW1lbnROYW1lOwotICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50
VHlwZSBjb21wb3VuZFBzZXVkb0VsZW1lbnQgPSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFVu
a25vd247CiAgICAgY29uc3QgYm9vbCBoYXNOYW1lID0gY29uc3VtZU5hbWUocmFuZ2UsIGVsZW1l
bnROYW1lLCBuYW1lc3BhY2VQcmVmaXgpOwogICAgIGlmICghaGFzTmFtZSkgewogICAgICAgICBj
b21wb3VuZFNlbGVjdG9yID0gY29uc3VtZVNpbXBsZVNlbGVjdG9yKHJhbmdlKTsKICAgICAgICAg
aWYgKCFjb21wb3VuZFNlbGVjdG9yKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
ICAgIGlmIChjb21wb3VuZFNlbGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9F
bGVtZW50KQotICAgICAgICAgICAgY29tcG91bmRQc2V1ZG9FbGVtZW50ID0gY29tcG91bmRTZWxl
Y3Rvci0+cHNldWRvRWxlbWVudFR5cGUoKTsKKyAgICAgICAgICAgIG1fcHJlY2VkaW5nUHNldWRv
RWxlbWVudCA9IGNvbXBvdW5kU2VsZWN0b3ItPnBzZXVkb0VsZW1lbnRUeXBlKCk7CiAgICAgfQog
CiAgICAgd2hpbGUgKGF1dG8gc2ltcGxlU2VsZWN0b3IgPSBjb25zdW1lU2ltcGxlU2VsZWN0b3Io
cmFuZ2UpKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTYxNzQ3Ci0gICAgICAgIC8vIFRoZSBVQVNoZWV0TW9kZSBjaGVjayBpcyBh
IHdvcmstYXJvdW5kIHRvIGFsbG93IHRoaXMgc2VsZWN0b3IgaW4gbWVkaWFDb250cm9scyhOZXcp
LmNzczoKLSAgICAgICAgLy8gdmlkZW86Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1yZWdpb24t
Y29udGFpbmVyLnNjcm9sbGluZwotICAgICAgICBpZiAobV9jb250ZXh0Lm1vZGUgIT0gVUFTaGVl
dE1vZGUgJiYgIWlzU2ltcGxlU2VsZWN0b3JWYWxpZEFmdGVyUHNldWRvRWxlbWVudCgqc2ltcGxl
U2VsZWN0b3IuZ2V0KCksIGNvbXBvdW5kUHNldWRvRWxlbWVudCkpIHsKLSAgICAgICAgICAgIG1f
ZmFpbGVkUGFyc2luZyA9IHRydWU7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAg
ICAgfQogICAgICAgICBpZiAoc2ltcGxlU2VsZWN0b3ItPm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6
OlBzZXVkb0VsZW1lbnQpCi0gICAgICAgICAgICBjb21wb3VuZFBzZXVkb0VsZW1lbnQgPSBzaW1w
bGVTZWxlY3Rvci0+cHNldWRvRWxlbWVudFR5cGUoKTsKKyAgICAgICAgICAgIG1fcHJlY2VkaW5n
UHNldWRvRWxlbWVudCA9IHNpbXBsZVNlbGVjdG9yLT5wc2V1ZG9FbGVtZW50VHlwZSgpOwogCiAg
ICAgICAgIGlmIChjb21wb3VuZFNlbGVjdG9yKQogICAgICAgICAgICAgY29tcG91bmRTZWxlY3Rv
ci0+YXBwZW5kVGFnSGlzdG9yeShDU1NTZWxlY3Rvcjo6U3Vic2VsZWN0b3IsIFdURk1vdmUoc2lt
cGxlU2VsZWN0b3IpKTsKQEAgLTQzOSw2ICs0MjgsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFy
c2VyU2VsZWN0b3I+IENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lQ29tcG91bmRTZWxlY3RvcihD
UwogICAgICAgICAgICAgY29tcG91bmRTZWxlY3RvciA9IFdURk1vdmUoc2ltcGxlU2VsZWN0b3Ip
OwogICAgIH0KIAorICAgIGlmICghbV9kaXNhbGxvd1BzZXVkb0VsZW1lbnRzKQorICAgICAgICBt
X3ByZWNlZGluZ1BzZXVkb0VsZW1lbnQgPSB7IH07CiAKICAgICAvLyBXaGlsZSBpbnNpZGUgYSBu
ZXN0ZWQgc2VsZWN0b3IgbGlrZSA6aXMoKSwgdGhlIGRlZmF1bHQgbmFtZXNwYWNlIHNoYWxsIGJl
IGlnbm9yZWQgd2hlbiBbMV06CiAgICAgLy8gKiBUaGUgY29tcG91bmQgc2VsZWN0b3IgcmVwcmVz
ZW50cyB0aGUgc3ViamVjdCBbMl0sIGFuZApAQCAtNDc2LDggKzQ2NywyMCBAQCBzdGQ6OnVuaXF1
ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lU2ltcGxl
U2VsZWN0b3IoQ1NTUAogICAgICAgICBzZWxlY3RvciA9IGNvbnN1bWVQc2V1ZG8ocmFuZ2UpOwog
ICAgIGVsc2UKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgaWYgKCFzZWxlY3RvcikKKwor
ICAgIGlmICghc2VsZWN0b3IpIHsKICAgICAgICAgbV9mYWlsZWRQYXJzaW5nID0gdHJ1ZTsKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgaWYgKG1fcHJlY2VkaW5nUHNldWRv
RWxlbWVudCkgeworICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MTc0NworICAgICAgICAvLyBUaGUgVUFTaGVldE1vZGUgY2hlY2sgaXMg
YSB3b3JrLWFyb3VuZCB0byBhbGxvdyB0aGlzIHNlbGVjdG9yIGluIG1lZGlhQ29udHJvbHMoTmV3
KS5jc3M6CisgICAgICAgIC8vIHZpZGVvOjotd2Via2l0LW1lZGlhLXRleHQtdHJhY2stcmVnaW9u
LWNvbnRhaW5lci5zY3JvbGxpbmcKKyAgICAgICAgaWYgKG1fY29udGV4dC5tb2RlICE9IFVBU2hl
ZXRNb2RlICYmICFpc1NpbXBsZVNlbGVjdG9yVmFsaWRBZnRlclBzZXVkb0VsZW1lbnQoKnNlbGVj
dG9yLCAqbV9wcmVjZWRpbmdQc2V1ZG9FbGVtZW50KSkKKyAgICAgICAgICAgIG1fZmFpbGVkUGFy
c2luZyA9IHRydWU7CisgICAgfQorCiAgICAgcmV0dXJuIHNlbGVjdG9yOwogfQogCkBAIC02NzYs
OCArNjc5LDEzIEBAIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0
b3JQYXJzZXI6OmNvbnN1bWVQc2V1ZG8oQ1NTUGFyc2VyVG9rCiAjZW5kaWYKICAgICB9CiAKLSAg
ICBpZiAoIXNlbGVjdG9yIHx8IChzZWxlY3Rvci0+bWF0Y2goKSA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvRWxlbWVudCAmJiBtX2Rpc2FsbG93UHNldWRvRWxlbWVudHMpKQorICAgIGlmICghc2VsZWN0
b3IpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgLy8gUHNldWRvLWVsZW1lbnRzIGFy
ZSBub3QgYWxsb3dlZCBpbnNpZGUgcHNldWRvLWNsYXNzZXMgb3IgcHNldWRvLWVsZW1lbnRzLgor
ICAgIGlmIChzZWxlY3Rvci0+bWF0Y2goKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudCAm
JiBtX2Rpc2FsbG93UHNldWRvRWxlbWVudHMpCiAgICAgICAgIHJldHVybiBudWxscHRyOworICAg
IFNldEZvclNjb3BlIGRpc2FsbG93UHNldWRvRWxlbWVudHNTY29wZShtX2Rpc2FsbG93UHNldWRv
RWxlbWVudHMsIHRydWUpOwogCiAgICAgaWYgKHRva2VuLnR5cGUoKSA9PSBJZGVudFRva2VuKSB7
CiAgICAgICAgIHJhbmdlLmNvbnN1bWUoKTsKQEAgLTY5MSwxMiArNjk5LDExIEBAIHN0ZDo6dW5p
cXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQc2V1
ZG8oQ1NTUGFyc2VyVG9rCiAgICAgYmxvY2suY29uc3VtZVdoaXRlc3BhY2UoKTsKICAgICBpZiAo
dG9rZW4udHlwZSgpICE9IEZ1bmN0aW9uVG9rZW4pCiAgICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgIAorCiAgICAgaWYgKHNlbGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9D
bGFzcykgewogICAgICAgICBzd2l0Y2ggKHNlbGVjdG9yLT5wc2V1ZG9DbGFzc1R5cGUoKSkgewog
ICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc05vdDogewogICAgICAgICAgICAg
U2V0Rm9yU2NvcGU8Ym9vbD4gcmVzaXN0RGVmYXVsdE5hbWVzcGFjZShtX3Jlc2lzdERlZmF1bHRO
YW1lc3BhY2UsIHRydWUpOwotICAgICAgICAgICAgRGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3Bl
IHNjb3BlKCp0aGlzKTsKICAgICAgICAgICAgIGF1dG8gc2VsZWN0b3JMaXN0ID0gbWFrZVVuaXF1
ZTxDU1NTZWxlY3Rvckxpc3Q+KCk7CiAgICAgICAgICAgICAqc2VsZWN0b3JMaXN0ID0gY29uc3Vt
ZUNvbXBsZXhTZWxlY3Rvckxpc3QoYmxvY2spOwogICAgICAgICAgICAgaWYgKCFzZWxlY3Rvckxp
c3QtPmZpcnN0KCkgfHwgIWJsb2NrLmF0RW5kKCkpCkBAIC03MjIsNyArNzI5LDYgQEAgc3RkOjp1
bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZVBz
ZXVkbyhDU1NQYXJzZXJUb2sKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgICAgICAgICAgICAgaWYgKGJsb2NrLnBlZWsoKS50eXBlKCkgIT0gV2hpdGVzcGFjZVRva2Vu
KQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgICAgICAgICBE
aXNhbGxvd1BzZXVkb0VsZW1lbnRzU2NvcGUgc2NvcGUoKnRoaXMpOwogICAgICAgICAgICAgICAg
IGJsb2NrLmNvbnN1bWVXaGl0ZXNwYWNlKCk7CiAgICAgICAgICAgICAgICAgYXV0byBzZWxlY3Rv
ckxpc3QgPSBtYWtlVW5pcXVlPENTU1NlbGVjdG9yTGlzdD4oKTsKICAgICAgICAgICAgICAgICAq
c2VsZWN0b3JMaXN0ID0gY29uc3VtZUNvbXBsZXhTZWxlY3Rvckxpc3QoYmxvY2spOwpAQCAtNzQz
LDkgKzc0OSw5IEBAIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0
b3JQYXJzZXI6OmNvbnN1bWVQc2V1ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAgIH0KICAgICAgICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NJczoKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6UHNldWRvQ2xhc3NNYXRjaGVzOgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9D
bGFzc1doZXJlOiB7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzV2hlcmU6
CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzQW55OiB7CiAgICAgICAgICAg
ICBTZXRGb3JTY29wZTxib29sPiByZXNpc3REZWZhdWx0TmFtZXNwYWNlKG1fcmVzaXN0RGVmYXVs
dE5hbWVzcGFjZSwgdHJ1ZSk7Ci0gICAgICAgICAgICBEaXNhbGxvd1BzZXVkb0VsZW1lbnRzU2Nv
cGUgc2NvcGUoKnRoaXMpOwogICAgICAgICAgICAgYXV0byBzZWxlY3Rvckxpc3QgPSBtYWtlVW5p
cXVlPENTU1NlbGVjdG9yTGlzdD4oKTsKICAgICAgICAgICAgICpzZWxlY3Rvckxpc3QgPSBjb25z
dW1lRm9yZ2l2aW5nQ29tcGxleFNlbGVjdG9yTGlzdChibG9jayk7CiAgICAgICAgICAgICBpZiAo
IWJsb2NrLmF0RW5kKCkpCkBAIC03NTMsNyArNzU5LDYgQEAgc3RkOjp1bmlxdWVfcHRyPENTU1Bh
cnNlclNlbGVjdG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZVBzZXVkbyhDU1NQYXJzZXJU
b2sKICAgICAgICAgICAgIHNlbGVjdG9yLT5zZXRTZWxlY3Rvckxpc3QoV1RGTW92ZShzZWxlY3Rv
ckxpc3QpKTsKICAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsKICAgICAgICAgfQotICAgICAg
ICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0FueToKICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvQ2xhc3NIb3N0OiB7CiAgICAgICAgICAgICBhdXRvIHNlbGVjdG9yTGlzdCA9
IG1ha2VVbmlxdWU8Q1NTU2VsZWN0b3JMaXN0PigpOwogICAgICAgICAgICAgKnNlbGVjdG9yTGlz
dCA9IGNvbnN1bWVDb21wb3VuZFNlbGVjdG9yTGlzdChibG9jayk7CkBAIC03NjMsNyArNzY4LDYg
QEAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6
Y29uc3VtZVBzZXVkbyhDU1NQYXJzZXJUb2sKICAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsK
ICAgICAgICAgfQogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0hhczogewot
ICAgICAgICAgICAgRGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlIHNjb3BlKCp0aGlzKTsKICAg
ICAgICAgICAgIGF1dG8gc2VsZWN0b3JMaXN0ID0gbWFrZVVuaXF1ZTxDU1NTZWxlY3Rvckxpc3Q+
KCk7CiAgICAgICAgICAgICAqc2VsZWN0b3JMaXN0ID0gY29uc3VtZUZvcmdpdmluZ1JlbGF0aXZl
U2VsZWN0b3JMaXN0KGJsb2NrKTsKICAgICAgICAgICAgIGlmIChzZWxlY3Rvckxpc3QtPmlzRW1w
dHkoKSB8fCAhYmxvY2suYXRFbmQoKSkKQEAgLTc5MCw3ICs3OTQsNiBAQCBzdGQ6OnVuaXF1ZV9w
dHI8Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKENT
U1BhcnNlclRvawogICAgICAgICBzd2l0Y2ggKHNlbGVjdG9yLT5wc2V1ZG9FbGVtZW50VHlwZSgp
KSB7CiAjaWYgRU5BQkxFKFZJREVPKQogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9F
bGVtZW50Q3VlOiB7Ci0gICAgICAgICAgICBEaXNhbGxvd1BzZXVkb0VsZW1lbnRzU2NvcGUgc2Nv
cGUoKnRoaXMpOwogICAgICAgICAgICAgYXV0byBzZWxlY3Rvckxpc3QgPSBtYWtlVW5pcXVlPENT
U1NlbGVjdG9yTGlzdD4oKTsKICAgICAgICAgICAgICpzZWxlY3Rvckxpc3QgPSBjb25zdW1lQ29t
cG91bmRTZWxlY3Rvckxpc3QoYmxvY2spOwogICAgICAgICAgICAgaWYgKHNlbGVjdG9yTGlzdC0+
aXNFbXB0eSgpIHx8ICFibG9jay5hdEVuZCgpKQpAQCAtODAwLDggKzgwMyw2IEBAIHN0ZDo6dW5p
cXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQc2V1
ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAgIH0KICNlbmRpZgogICAgICAgICBjYXNlIENTU1NlbGVj
dG9yOjpQc2V1ZG9FbGVtZW50SGlnaGxpZ2h0OiB7Ci0gICAgICAgICAgICBEaXNhbGxvd1BzZXVk
b0VsZW1lbnRzU2NvcGUgc2NvcGUoKnRoaXMpOwotCiAgICAgICAgICAgICBhdXRvJiBpZGVudCA9
IGJsb2NrLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7CiAgICAgICAgICAgICBpZiAoaWRl
bnQudHlwZSgpICE9IElkZW50VG9rZW4gfHwgIWJsb2NrLmF0RW5kKCkpCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CkBAIC04MjUsOCArODI2LDYgQEAgc3RkOjp1bmlxdWVfcHRyPENT
U1BhcnNlclNlbGVjdG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZVBzZXVkbyhDU1NQYXJz
ZXJUb2sKICAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsKICAgICAgICAgfQogICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50U2xvdHRlZDogewotICAgICAgICAgICAgRGlz
YWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlIHNjb3BlKCp0aGlzKTsKLQogICAgICAgICAgICAgYXV0
byBpbm5lclNlbGVjdG9yID0gY29uc3VtZUNvbXBvdW5kU2VsZWN0b3IoYmxvY2spOwogICAgICAg
ICAgICAgYmxvY2suY29uc3VtZVdoaXRlc3BhY2UoKTsKICAgICAgICAgICAgIGlmICghaW5uZXJT
ZWxlY3RvciB8fCAhYmxvY2suYXRFbmQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
Q1NTU2VsZWN0b3JQYXJzZXIuaAppbmRleCA1MTZjMTEwYmI5MDBhY2ZkZjU0OGVkZDNkNmNmZTNi
ZTQ4OWM5MGI1Li40Y2ZiYWQ2MmYzNzU1MGY2MTIxYTRiODg1MWNmOGYzNDU4YTUwYTFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5oCkBAIC05MSw2
ICs5MSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Rpc2FsbG93UHNldWRvRWxlbWVudHMgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9yZXNpc3REZWZhdWx0TmFtZXNwYWNlIHsgZmFsc2UgfTsKICAg
ICBib29sIG1faWdub3JlRGVmYXVsdE5hbWVzcGFjZSB7IGZhbHNlIH07CisgICAgc3RkOjpvcHRp
b25hbDxDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFR5cGU+IG1fcHJlY2VkaW5nUHNldWRvRWxl
bWVudDsKIH07CiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJiMWNkYzU0ZGY1M2VlZjc4ZTc3NmM4MWUyMzdjYzZkMjZk
ZDZiMGMuLjRlNWFhNjg5MDNlZGFjYWIzY2EyNWRjZDUxZjc3NzJjZjUyMTIyN2UgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAyMS0xMC0yOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5j
b20+CisKKyAgICAgICAgQWxsb3cgOmlzLzp3aGVyZSBhZnRlciBhbGwgcHNldWRvIGVsZW1lbnRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI0MzQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
c2VsZWN0b3JzL2ludmFsaWQtZnVuY3Rpb25hbC1wc2V1ZG8tY2xhc3MtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2ludmFsaWQtZnVuY3Rpb25hbC1wc2V1ZG8tY2xhc3Mu
aHRtbDoKKworICAgICAgICA6LXdlYmtpdC1hbnkoKSBub3cgbWF0Y2hlcyA6aXMoKSBhbmQgZW1w
dHkgYXJndW1lbnQgaXMgbGVnYWwuCisKIDIwMjEtMTAtMjggIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgcHNl
dWRvIGVsZW1lbnRzIGFmdGVyIDo6c2xvdHRlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggYWI4NzczN2FhMTc4NmZlMTA4OTFiMzM0MTM1NmY5NGMwNmY1NTNiZC4uYTFkYjk0MTE2
MjNhMjZjYjAwNDAxNDEwYWRjYzFmNDM3YzBhMDIzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTAtMjkgIEFudHRpIEtvaXZpc3RvICA8YW50
dGlAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IDppcy86d2hlcmUgYWZ0ZXIgYWxsIHBzZXVk
byBlbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjMyNDM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY29waW5nL3Nsb3R0ZWQtcGFyc2luZy1l
eHBlY3RlZC50eHQ6CisKIDIwMjEtMTAtMjggIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUu
Y29tPgogCiAgICAgICAgIFN1cHBvcnQgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgcHNldWRvIGVsZW1l
bnRzIGFmdGVyIDo6c2xvdHRlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3Rv
cnMvaW52YWxpZC1mdW5jdGlvbmFsLXBzZXVkby1jbGFzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L3NlbGVjdG9ycy9pbnZhbGlkLWZ1bmN0aW9uYWwtcHNldWRvLWNsYXNzLWV4cGVj
dGVkLnR4dAppbmRleCBjNjM1MzgwM2IxNjQwMmIwZjBmNWE3ZmI4NTlhMDc3Y2QyNjVjMTljLi4x
MzlkY2ZmODJhNzk4MTVmNDBjOTFmMGRjYTUyY2MzZGQxYTUxY2I3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9pbnZhbGlkLWZ1bmN0aW9uYWwtcHNldWRvLWNsYXNzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9pbnZhbGlkLWZ1bmN0
aW9uYWwtcHNldWRvLWNsYXNzLWV4cGVjdGVkLnR4dApAQCAtNyw3ICs3LDcgQEAgUEFTUyBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1hbnlcIikubGVuZ3RoIHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnIKIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOi13ZWJraXQt
YW55XFwiKS5sZW5ndGggdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5nIGRp
ZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uLgogUEFTUyBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yQWxsKCI6LXdlYmtpdC1hbnlcXFwiKS5sZW5ndGggdGhyZXcgZXhjZXB0aW9uIFN5bnRh
eEVycm9yOiBVbmV4cGVjdGVkIEVPRi4KIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
Oi13ZWJraXQtYW55XFxcXCIpLmxlbmd0aCB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRo
ZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCi1QQVNTIGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LWFueVwoIikubGVuZ3RoIHRocmV3IGV4Y2Vw
dGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBw
YXR0ZXJuLi4KK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOi13ZWJraXQtYW55XCgi
KS5sZW5ndGggZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCiBQQVNTIGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoIjotd2Via2l0LWFueVxcKCIpLmxlbmd0aCB0aHJldyBleGNlcHRpb24gU3ludGF4
RXJyb3I6IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCiBQ
QVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LWFueVxcXCgiKS5sZW5ndGgg
dGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhl
IGV4cGVjdGVkIHBhdHRlcm4uLgogUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdl
YmtpdC1hbnlcXFxcKCIpLmxlbmd0aCB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRoZSBz
dHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCkBAIC0xOCw3ICsxOCw3
IEBAIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOi13ZWJraXQtYW55XFxcXCAuZm9v
IikubGVuZ3RoIHRocmV3IGV4Y2VwdGlvbiBTCiBQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoIjotd2Via2l0LWFueVxcKCAuZm9vIikubGVuZ3RoIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KIFBB
U1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOi13ZWJraXQtYW55XFxcKCAuZm9vIikubGVu
Z3RoIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNo
IHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
Oi13ZWJraXQtYW55XFxcXCggLmZvbyIpLmxlbmd0aCB0aHJldyBleGNlcHRpb24gU3ludGF4RXJy
b3I6IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCi1QQVNT
IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LWFueVwoKSIpLmxlbmd0aCB0aHJl
dyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhw
ZWN0ZWQgcGF0dGVybi4uCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0
LWFueVwoKSIpLmxlbmd0aCBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCgiOi13ZWJraXQtYW55XFwoKSIpLmxlbmd0aCB0aHJldyBleGNlcHRp
b24gU3ludGF4RXJyb3I6IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0
dGVybi4uCiBQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LWFueVxcXCgp
IikubGVuZ3RoIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQgbm90
IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgiOi13ZWJraXQtYW55XFxcXCgpIikubGVuZ3RoIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2ludmFsaWQtZnVuY3Rpb25hbC1w
c2V1ZG8tY2xhc3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2ludmFsaWQtZnVu
Y3Rpb25hbC1wc2V1ZG8tY2xhc3MuaHRtbAppbmRleCA3ZjAyN2JjZDAyYzYxNzZlMTM4NDQxNzdl
NjExYTYzNTQ0ZDJkMjg1Li5jNGVkZjhiMWU0MTQ0YTFlMjJkMDk3ZmRiMjhkMGQ4OWY5MjMzNzhh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9pbnZhbGlkLWZ1bmN0aW9u
YWwtcHNldWRvLWNsYXNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvaW52
YWxpZC1mdW5jdGlvbmFsLXBzZXVkby1jbGFzcy5odG1sCkBAIC0zOCw4ICszOCwxMyBAQCBmdW5j
dGlvbiBpbnZhbGlkUnVsZXMoZnVuY3RvbmFsUHNldWRvQ2xhc3NOYW1lKSB7CiB9CiAKIGZ1bmN0
aW9uIHRlc3RRdWVyeVNlbGVjdG9yKGZ1bmN0b25hbFBzZXVkb0NsYXNzTmFtZSkgewotICAgIGZv
ciAodmFyIHRlc3RDYXNlIG9mIGludmFsaWRSdWxlcyhmdW5jdG9uYWxQc2V1ZG9DbGFzc05hbWUp
KQorICAgIGZvciAodmFyIHRlc3RDYXNlIG9mIGludmFsaWRSdWxlcyhmdW5jdG9uYWxQc2V1ZG9D
bGFzc05hbWUpKSB7CisgICAgICAgIGlmICh0ZXN0Q2FzZSA9PSAnOi13ZWJraXQtYW55XFwoKScg
fHwgdGVzdENhc2UgPT0gJzotd2Via2l0LWFueVxcKCcpIHsKKyAgICAgICAgICAgIHNob3VsZE5v
dFRocm93KCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCInICsgdGVzdENhc2UgKyAnIikubGVu
Z3RoJyk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQogICAgICAgICBzaG91bGRU
aHJvdygnZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiJyArIHRlc3RDYXNlICsgJyIpLmxlbmd0
aCcpOworICAgIH0KIH0KIAogZnVuY3Rpb24gdGVzdFN0eWxpbmcoZnVuY3RvbmFsUHNldWRvQ2xh
c3NOYW1lKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtc2NvcGluZy9zbG90dGVkLXBhcnNpbmctZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjb3Bp
bmcvc2xvdHRlZC1wYXJzaW5nLWV4cGVjdGVkLnR4dAppbmRleCBkZDI4NWZkNDU4YmI2MmRlNDVh
YjEzNGIxNWQxYjUwMDhmOWE4NWRkLi4yN2Q0YWI3MmM5NzBlMjE1MzdiNGI2MmJmZDA3MmFjZWRh
MzU3ZjNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3Mtc2NvcGluZy9zbG90dGVkLXBhcnNpbmctZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY29w
aW5nL3Nsb3R0ZWQtcGFyc2luZy1leHBlY3RlZC50eHQKQEAgLTE1LDEyICsxNSwxMiBAQCBQQVNT
ICI6OnNsb3R0ZWQoKikiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yCiBQQVNTICI6OnNsb3R0
ZWQoZGl2KSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKIFBBU1MgIjo6c2xvdHRlZChbYXR0
cl06aG92ZXIpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgogUEFTUyAiOjpzbG90dGVkKDpu
b3QoLmEpKSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKLUZBSUwgIjo6c2xvdHRlZCgqKTpp
cygpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvciBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2gg
dGhlIGV4cGVjdGVkIHBhdHRlcm4uCi1GQUlMICI6OnNsb3R0ZWQoKik6aXMoOmhvdmVyKSIgc2hv
dWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IgVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBl
Y3RlZCBwYXR0ZXJuLgotRkFJTCAiOjpzbG90dGVkKCopOmlzKCNpZCkiIHNob3VsZCBiZSBhIHZh
bGlkIHNlbGVjdG9yIFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVy
bi4KLUZBSUwgIjo6c2xvdHRlZCgqKTp3aGVyZSgpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3Rv
ciBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uCi1GQUlMICI6
OnNsb3R0ZWQoKik6d2hlcmUoOmhvdmVyKSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IgVGhl
IHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLgotRkFJTCAiOjpzbG90
dGVkKCopOndoZXJlKCNpZCkiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yIFRoZSBzdHJpbmcg
ZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4KK1BBU1MgIjo6c2xvdHRlZCgqKTpp
cygpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgorUEFTUyAiOjpzbG90dGVkKCopOmlzKDpo
b3ZlcikiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yCitQQVNTICI6OnNsb3R0ZWQoKik6aXMo
I2lkKSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKK1BBU1MgIjo6c2xvdHRlZCgqKTp3aGVy
ZSgpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgorUEFTUyAiOjpzbG90dGVkKCopOndoZXJl
KDpob3ZlcikiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yCitQQVNTICI6OnNsb3R0ZWQoKik6
d2hlcmUoI2lkKSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKIFBBU1MgIjo6c2xvdHRlZCgq
KTo6YmVmb3JlIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgogUEFTUyAiOjpzbG90dGVkKCop
OjphZnRlciIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKIEZBSUwgIjo6c2xvdHRlZCgqKTo6
cGxhY2Vob2xkZXIiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yIFRoZSBzdHJpbmcgZGlkIG5v
dCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442803</attachid>
            <date>2021-10-29 03:18:33 -0700</date>
            <delta_ts>2021-10-29 09:57:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232434-20211029131831.patch</filename>
            <type>text/plain</type>
            <size>20772</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTM1ZWUwZTk1YWYwYzg2
YTc5NDVmZTJmNzdjNTAwZjk4ODZmNGVmMi4uZDc3YTc2OGRjNmIyMjM4YTJmZDQ3NWM2MGI2ZWE4
ZWVlY2E2Njc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTEwLTI5ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyA6aXMvOndoZXJl
IGFmdGVyIGFsbCBwc2V1ZG8gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMjQzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFueSBzdWJzZWxlY3RvcnMgdGhhdCBhcmUgbm90IGxlZ2FsIGlu
IHRoZSBjb250ZXh0IHdpbGwganVzdCByZWR1Y2UgdG8gbm90aGluZworICAgICAgICBUaGlzIG1h
dGNoZXMgdGhlIGJlaGF2aW9yIGluIG90aGVyIGVuZ2luZXMgYW5kIGRpc2N1c3Npb24gaW4gaHR0
cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzUwOTMuCisKKyAgICAgICAg
QWxzbyBtYWtlIHBzZXVkby1lbGVtZW50cyBjb25zaXN0ZW5seSBpbGxlZ2FsIGluIGFsbCBwc2V1
ZG8tY2xhc3NlcyBhbmQgcHNldWRvLWVsZW1lbnRzLiBUaGUgbWFpbiBleGNlcHRpb24KKyAgICAg
ICAgd2FzIC13ZWJraXQtYW55LgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NTZWxlY3RvclBh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0xvZ2ljYWxDb21iaW5hdGlvblBzZXVkb0Ns
YXNzKToKKyAgICAgICAgKFdlYkNvcmU6OmlzUHNldWRvQ2xhc3NWYWxpZEFmdGVyUHNldWRvRWxl
bWVudCk6CisgICAgICAgIChXZWJDb3JlOjppc1NpbXBsZVNlbGVjdG9yVmFsaWRBZnRlclBzZXVk
b0VsZW1lbnQpOgorCisgICAgICAgIDppcygpLCA6bm90KCksIGFuZCBzbyBvbiBhcmUgYWx3YXlz
IGxlZ2FsIGJ1dCB0aGVpciBjb250ZW50IGlzIG5lY2Vzc2FyaWx5IG5vdC4KKworICAgICAgICAo
V2ViQ29yZTo6Q1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVDb21wb3VuZFNlbGVjdG9yKToKKwor
ICAgICAgICBTZXQgdGhlIHByZWNlZGluZyBwc2V1ZG8tZWxlbWVudCBhcyBwYXJzZXIgc3RhdGUu
CisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lU2ltcGxlU2Vs
ZWN0b3IpOgorCisgICAgICAgIENoZWNrIGlmIHRoZSBwc2V1ZG8tY2xhc3Mgb3IgcHNldWRvLWVs
ZW1lbnQgaXMgdmFsaWQgaW1tZWRpYXRlbHkgYWZ0ZXIgY29uc3VtaW5nIGl0LiBUaGlzIGFsbG93
cworICAgICAgICBmb3JnaXZpbmcgc2VsZWN0b3IgbGlzdCBwYXJzaW5nIHRvIHJlY292ZXIgYW5k
IGNvbnRpbnVlLgorCisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3Vt
ZVBzZXVkbyk6CisKKyAgICAgICAgRGlzYWxsb3cgbmVzdGluZyBpbiBhbGwgY2FzZXMuCisgICAg
ICAgIE1ha2UgOi13ZWJraXQtYW55IHRvIHVzZSBmb3JnaXZpbmcgcGFyc2luZyAobWF0Y2hpbmcg
OmlzKSBzbyBwc2V1ZG8tZWxlbWVudHMga2VlcCBnZXR0aW5nIGlnbm9yZWQuCisKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpEaXNhbGxvd1BzZXVkb0VsZW1lbnRzU2NvcGU6
OkRpc2FsbG93UHNldWRvRWxlbWVudHNTY29wZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NTZWxlY3RvclBhcnNlcjo6RGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlOjp+RGlzYWxs
b3dQc2V1ZG9FbGVtZW50c1Njb3BlKTogRGVsZXRlZC4KKworICAgICAgICBKdXN0IHVzZSBTZXRG
b3JTY29wZS4KKworICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuaDoKKwog
MjAyMS0xMC0yOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAg
U3VwcG9ydCA6OmJlZm9yZSBhbmQgOjphZnRlciBwc2V1ZG8gZWxlbWVudHMgYWZ0ZXIgOjpzbG90
dGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3Bw
CmluZGV4IDViNTYyMTc2NjQ5NWEzYWMyN2QwNzQ0NTlhMDU4MzdlOTMxZTY5NmIuLjlmYTRiYTRj
ZWE5Y2VmNWQwODEyOWQwNWE5YzA3YjFiN2QxMjE4ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCkBAIC0zOSwyNCArMzksNiBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENTU1NlbGVjdG9yUGFyc2VyOjpEaXNhbGxvd1Bz
ZXVkb0VsZW1lbnRzU2NvcGUgewotcHVibGljOgotICAgIGV4cGxpY2l0IERpc2FsbG93UHNldWRv
RWxlbWVudHNTY29wZShDU1NTZWxlY3RvclBhcnNlciYgcGFyc2VyKQotICAgICAgICA6IG1fcGFy
c2VyKHBhcnNlcikKLSAgICAgICAgLCBtX3dhc0Rpc2FsbG93ZWQoc3RkOjpleGNoYW5nZShtX3Bh
cnNlci5tX2Rpc2FsbG93UHNldWRvRWxlbWVudHMsIHRydWUpKQotICAgIHsKLSAgICB9Ci0KLSAg
ICB+RGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlKCkKLSAgICB7Ci0gICAgICAgIG1fcGFyc2Vy
Lm1fZGlzYWxsb3dQc2V1ZG9FbGVtZW50cyA9IG1fd2FzRGlzYWxsb3dlZDsKLSAgICB9Ci0KLXBy
aXZhdGU6Ci0gICAgQ1NTU2VsZWN0b3JQYXJzZXImIG1fcGFyc2VyOwotICAgIGJvb2wgbV93YXNE
aXNhbGxvd2VkOwotfTsKLQogc3RhdGljIEF0b21TdHJpbmcgc2VyaWFsaXplQU5QbHVzQihjb25z
dCBzdGQ6OnBhaXI8aW50LCBpbnQ+Jik7CiBzdGF0aWMgYm9vbCBjb25zdW1lQU5QbHVzQihDU1NQ
YXJzZXJUb2tlblJhbmdlJiwgc3RkOjpwYWlyPGludCwgaW50PiYpOwogCkBAIC0zMzgsMTMgKzMy
MCwzMSBAQCBzdGF0aWMgYm9vbCBpc1VzZXJBY3Rpb25Qc2V1ZG9DbGFzcyhDU1NTZWxlY3Rvcjo6
UHNldWRvQ2xhc3NUeXBlIHBzZXVkbykKICAgICB9CiB9CiAKK3N0YXRpYyBib29sIGlzTG9naWNh
bENvbWJpbmF0aW9uUHNldWRvQ2xhc3MoQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzVHlwZSBwc2V1
ZG8pCit7CisgICAgc3dpdGNoIChwc2V1ZG8pIHsKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1
ZG9DbGFzc0lzOgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzV2hlcmU6CisgICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NOb3Q6CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
UHNldWRvQ2xhc3NBbnk6CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NNYXRjaGVz
OgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzSGFzOgorICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCiBz
dGF0aWMgYm9vbCBpc1BzZXVkb0NsYXNzVmFsaWRBZnRlclBzZXVkb0VsZW1lbnQoQ1NTU2VsZWN0
b3I6OlBzZXVkb0NsYXNzVHlwZSBwc2V1ZG9DbGFzcywgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1l
bnRUeXBlIGNvbXBvdW5kUHNldWRvRWxlbWVudCkKIHsKKyAgICAvLyBWYWxpZGl0eSBvZiB0aGVz
ZSBpcyBkZXRlcm1pbmVkIGJ5IHRoZWlyIGNvbnRlbnQuCisgICAgaWYgKGlzTG9naWNhbENvbWJp
bmF0aW9uUHNldWRvQ2xhc3MocHNldWRvQ2xhc3MpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwog
ICAgIHN3aXRjaCAoY29tcG91bmRQc2V1ZG9FbGVtZW50KSB7CiAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6UHNldWRvRWxlbWVudFBhcnQ6CiAgICAgICAgIHJldHVybiAhaXNUcmVlU3RydWN0dXJhbFBz
ZXVkb0NsYXNzKHBzZXVkb0NsYXNzKTsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVt
ZW50U2xvdHRlZDoKLSAgICAgICAgLy8gRklYTUU6IEEgV1BUIGluZGljYXRlcyA6aXMvOndoZXJl
IHNob3VsZCBiZSBwYXJzZWQgYnV0IHJlZHVjZSB0byBub3RoaW5nIGFzIHRoZWlyIGNvbnRlbnQg
aXMgbm90IGxlZ2FsIGluIHRoZSBjb250ZXh0LgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFJlc2l6ZXI6CiAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvRWxlbWVudFNjcm9sbGJhcjoKQEAgLTM3OSw4ICszNzksOCBAQCBzdGF0aWMg
Ym9vbCBpc1RyZWVBYmlkaW5nUHNldWRvRWxlbWVudChDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVu
dFR5cGUgcHNldWRvRWxlbQogCiBzdGF0aWMgYm9vbCBpc1NpbXBsZVNlbGVjdG9yVmFsaWRBZnRl
clBzZXVkb0VsZW1lbnQoY29uc3QgQ1NTUGFyc2VyU2VsZWN0b3ImIHNpbXBsZVNlbGVjdG9yLCBD
U1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFR5cGUgY29tcG91bmRQc2V1ZG9FbGVtZW50KQogewot
ICAgIGlmIChjb21wb3VuZFBzZXVkb0VsZW1lbnQgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1l
bnRVbmtub3duKQotICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBBU1NFUlQoY29tcG91bmRQc2V1
ZG9FbGVtZW50ICE9IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50VW5rbm93bik7CisgICAgCiAg
ICAgaWYgKGNvbXBvdW5kUHNldWRvRWxlbWVudCA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVu
dFBhcnQpIHsKICAgICAgICAgaWYgKHNpbXBsZVNlbGVjdG9yLm1hdGNoKCkgPT0gQ1NTU2VsZWN0
b3I6OlBzZXVkb0VsZW1lbnQgJiYgc2ltcGxlU2VsZWN0b3IucHNldWRvRWxlbWVudFR5cGUoKSAh
PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFBhcnQpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKQEAgLTM5MSwxMyArMzkxLDggQEAgc3RhdGljIGJvb2wgaXNTaW1wbGVTZWxlY3RvclZhbGlk
QWZ0ZXJQc2V1ZG9FbGVtZW50KGNvbnN0IENTU1BhcnNlclNlbGVjdG9yJiBzaW0KICAgICB9CiAg
ICAgaWYgKHNpbXBsZVNlbGVjdG9yLm1hdGNoKCkgIT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNz
KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzVHlw
ZSBwc2V1ZG8gPSBzaW1wbGVTZWxlY3Rvci5wc2V1ZG9DbGFzc1R5cGUoKTsKLSAgICBpZiAocHNl
dWRvID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc05vdCkgewotICAgICAgICBBU1NFUlQoc2lt
cGxlU2VsZWN0b3Iuc2VsZWN0b3JMaXN0KCkpOwotICAgICAgICBBU1NFUlQoc2ltcGxlU2VsZWN0
b3Iuc2VsZWN0b3JMaXN0KCktPmZpcnN0KCkpOwotICAgICAgICBwc2V1ZG8gPSBzaW1wbGVTZWxl
Y3Rvci5zZWxlY3Rvckxpc3QoKS0+Zmlyc3QoKS0+cHNldWRvQ2xhc3NUeXBlKCk7Ci0gICAgfQot
ICAgIHJldHVybiBpc1BzZXVkb0NsYXNzVmFsaWRBZnRlclBzZXVkb0VsZW1lbnQocHNldWRvLCBj
b21wb3VuZFBzZXVkb0VsZW1lbnQpOworCisgICAgcmV0dXJuIGlzUHNldWRvQ2xhc3NWYWxpZEFm
dGVyUHNldWRvRWxlbWVudChzaW1wbGVTZWxlY3Rvci5wc2V1ZG9DbGFzc1R5cGUoKSwgY29tcG91
bmRQc2V1ZG9FbGVtZW50KTsKIH0KIAogc3RhdGljIGJvb2wgYXRFbmRJZ25vcmluZ1doaXRlc3Bh
Y2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSkKQEAgLTQwOCwzMCArNDAzLDI0IEBAIHN0YXRp
YyBib29sIGF0RW5kSWdub3JpbmdXaGl0ZXNwYWNlKENTU1BhcnNlclRva2VuUmFuZ2UgcmFuZ2Up
CiAKIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6
OmNvbnN1bWVDb21wb3VuZFNlbGVjdG9yKENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQogewor
ICAgIEFTU0VSVCghbV9wcmVjZWRpbmdQc2V1ZG9FbGVtZW50IHx8IG1fZGlzYWxsb3dQc2V1ZG9F
bGVtZW50cyk7CisKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+IGNvbXBv
dW5kU2VsZWN0b3I7CiAKICAgICBBdG9tU3RyaW5nIG5hbWVzcGFjZVByZWZpeDsKICAgICBBdG9t
U3RyaW5nIGVsZW1lbnROYW1lOwotICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50VHlwZSBj
b21wb3VuZFBzZXVkb0VsZW1lbnQgPSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFVua25vd247
CiAgICAgY29uc3QgYm9vbCBoYXNOYW1lID0gY29uc3VtZU5hbWUocmFuZ2UsIGVsZW1lbnROYW1l
LCBuYW1lc3BhY2VQcmVmaXgpOwogICAgIGlmICghaGFzTmFtZSkgewogICAgICAgICBjb21wb3Vu
ZFNlbGVjdG9yID0gY29uc3VtZVNpbXBsZVNlbGVjdG9yKHJhbmdlKTsKICAgICAgICAgaWYgKCFj
b21wb3VuZFNlbGVjdG9yKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgIGlm
IChjb21wb3VuZFNlbGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50
KQotICAgICAgICAgICAgY29tcG91bmRQc2V1ZG9FbGVtZW50ID0gY29tcG91bmRTZWxlY3Rvci0+
cHNldWRvRWxlbWVudFR5cGUoKTsKKyAgICAgICAgICAgIG1fcHJlY2VkaW5nUHNldWRvRWxlbWVu
dCA9IGNvbXBvdW5kU2VsZWN0b3ItPnBzZXVkb0VsZW1lbnRUeXBlKCk7CiAgICAgfQogCiAgICAg
d2hpbGUgKGF1dG8gc2ltcGxlU2VsZWN0b3IgPSBjb25zdW1lU2ltcGxlU2VsZWN0b3IocmFuZ2Up
KSB7Ci0gICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTYxNzQ3Ci0gICAgICAgIC8vIFRoZSBVQVNoZWV0TW9kZSBjaGVjayBpcyBhIHdvcmst
YXJvdW5kIHRvIGFsbG93IHRoaXMgc2VsZWN0b3IgaW4gbWVkaWFDb250cm9scyhOZXcpLmNzczoK
LSAgICAgICAgLy8gdmlkZW86Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1yZWdpb24tY29udGFp
bmVyLnNjcm9sbGluZwotICAgICAgICBpZiAobV9jb250ZXh0Lm1vZGUgIT0gVUFTaGVldE1vZGUg
JiYgIWlzU2ltcGxlU2VsZWN0b3JWYWxpZEFmdGVyUHNldWRvRWxlbWVudCgqc2ltcGxlU2VsZWN0
b3IuZ2V0KCksIGNvbXBvdW5kUHNldWRvRWxlbWVudCkpIHsKLSAgICAgICAgICAgIG1fZmFpbGVk
UGFyc2luZyA9IHRydWU7Ci0gICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgfQog
ICAgICAgICBpZiAoc2ltcGxlU2VsZWN0b3ItPm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVk
b0VsZW1lbnQpCi0gICAgICAgICAgICBjb21wb3VuZFBzZXVkb0VsZW1lbnQgPSBzaW1wbGVTZWxl
Y3Rvci0+cHNldWRvRWxlbWVudFR5cGUoKTsKKyAgICAgICAgICAgIG1fcHJlY2VkaW5nUHNldWRv
RWxlbWVudCA9IHNpbXBsZVNlbGVjdG9yLT5wc2V1ZG9FbGVtZW50VHlwZSgpOwogCiAgICAgICAg
IGlmIChjb21wb3VuZFNlbGVjdG9yKQogICAgICAgICAgICAgY29tcG91bmRTZWxlY3Rvci0+YXBw
ZW5kVGFnSGlzdG9yeShDU1NTZWxlY3Rvcjo6U3Vic2VsZWN0b3IsIFdURk1vdmUoc2ltcGxlU2Vs
ZWN0b3IpKTsKQEAgLTQzOSw2ICs0MjgsOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2Vs
ZWN0b3I+IENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lQ29tcG91bmRTZWxlY3RvcihDUwogICAg
ICAgICAgICAgY29tcG91bmRTZWxlY3RvciA9IFdURk1vdmUoc2ltcGxlU2VsZWN0b3IpOwogICAg
IH0KIAorICAgIGlmICghbV9kaXNhbGxvd1BzZXVkb0VsZW1lbnRzKQorICAgICAgICBtX3ByZWNl
ZGluZ1BzZXVkb0VsZW1lbnQgPSB7IH07CiAKICAgICAvLyBXaGlsZSBpbnNpZGUgYSBuZXN0ZWQg
c2VsZWN0b3IgbGlrZSA6aXMoKSwgdGhlIGRlZmF1bHQgbmFtZXNwYWNlIHNoYWxsIGJlIGlnbm9y
ZWQgd2hlbiBbMV06CiAgICAgLy8gKiBUaGUgY29tcG91bmQgc2VsZWN0b3IgcmVwcmVzZW50cyB0
aGUgc3ViamVjdCBbMl0sIGFuZApAQCAtNDc2LDggKzQ2NywyMCBAQCBzdGQ6OnVuaXF1ZV9wdHI8
Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lU2ltcGxlU2VsZWN0
b3IoQ1NTUAogICAgICAgICBzZWxlY3RvciA9IGNvbnN1bWVQc2V1ZG8ocmFuZ2UpOwogICAgIGVs
c2UKICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgaWYgKCFzZWxlY3RvcikKKworICAgIGlm
ICghc2VsZWN0b3IpIHsKICAgICAgICAgbV9mYWlsZWRQYXJzaW5nID0gdHJ1ZTsKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgfQorCisgICAgaWYgKG1fcHJlY2VkaW5nUHNldWRvRWxlbWVu
dCkgeworICAgICAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2MTc0NworICAgICAgICAvLyBUaGUgVUFTaGVldE1vZGUgY2hlY2sgaXMgYSB3b3Jr
LWFyb3VuZCB0byBhbGxvdyB0aGlzIHNlbGVjdG9yIGluIG1lZGlhQ29udHJvbHMoTmV3KS5jc3M6
CisgICAgICAgIC8vIHZpZGVvOjotd2Via2l0LW1lZGlhLXRleHQtdHJhY2stcmVnaW9uLWNvbnRh
aW5lci5zY3JvbGxpbmcKKyAgICAgICAgaWYgKG1fY29udGV4dC5tb2RlICE9IFVBU2hlZXRNb2Rl
ICYmICFpc1NpbXBsZVNlbGVjdG9yVmFsaWRBZnRlclBzZXVkb0VsZW1lbnQoKnNlbGVjdG9yLCAq
bV9wcmVjZWRpbmdQc2V1ZG9FbGVtZW50KSkKKyAgICAgICAgICAgIG1fZmFpbGVkUGFyc2luZyA9
IHRydWU7CisgICAgfQorCiAgICAgcmV0dXJuIHNlbGVjdG9yOwogfQogCkBAIC02NzYsOCArNjc5
LDEzIEBAIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJz
ZXI6OmNvbnN1bWVQc2V1ZG8oQ1NTUGFyc2VyVG9rCiAjZW5kaWYKICAgICB9CiAKLSAgICBpZiAo
IXNlbGVjdG9yIHx8IChzZWxlY3Rvci0+bWF0Y2goKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxl
bWVudCAmJiBtX2Rpc2FsbG93UHNldWRvRWxlbWVudHMpKQorICAgIGlmICghc2VsZWN0b3IpCisg
ICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgLy8gUHNldWRvLWVsZW1lbnRzIGFyZSBub3Qg
YWxsb3dlZCBpbnNpZGUgcHNldWRvLWNsYXNzZXMgb3IgcHNldWRvLWVsZW1lbnRzLgorICAgIGlm
IChzZWxlY3Rvci0+bWF0Y2goKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudCAmJiBtX2Rp
c2FsbG93UHNldWRvRWxlbWVudHMpCiAgICAgICAgIHJldHVybiBudWxscHRyOworICAgIFNldEZv
clNjb3BlIGRpc2FsbG93UHNldWRvRWxlbWVudHNTY29wZShtX2Rpc2FsbG93UHNldWRvRWxlbWVu
dHMsIHRydWUpOwogCiAgICAgaWYgKHRva2VuLnR5cGUoKSA9PSBJZGVudFRva2VuKSB7CiAgICAg
ICAgIHJhbmdlLmNvbnN1bWUoKTsKQEAgLTY5MSwxMiArNjk5LDExIEBAIHN0ZDo6dW5pcXVlX3B0
cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQc2V1ZG8oQ1NT
UGFyc2VyVG9rCiAgICAgYmxvY2suY29uc3VtZVdoaXRlc3BhY2UoKTsKICAgICBpZiAodG9rZW4u
dHlwZSgpICE9IEZ1bmN0aW9uVG9rZW4pCiAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgIAor
CiAgICAgaWYgKHNlbGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcykg
ewogICAgICAgICBzd2l0Y2ggKHNlbGVjdG9yLT5wc2V1ZG9DbGFzc1R5cGUoKSkgewogICAgICAg
ICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc05vdDogewogICAgICAgICAgICAgU2V0Rm9y
U2NvcGU8Ym9vbD4gcmVzaXN0RGVmYXVsdE5hbWVzcGFjZShtX3Jlc2lzdERlZmF1bHROYW1lc3Bh
Y2UsIHRydWUpOwotICAgICAgICAgICAgRGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlIHNjb3Bl
KCp0aGlzKTsKICAgICAgICAgICAgIGF1dG8gc2VsZWN0b3JMaXN0ID0gbWFrZVVuaXF1ZTxDU1NT
ZWxlY3Rvckxpc3Q+KCk7CiAgICAgICAgICAgICAqc2VsZWN0b3JMaXN0ID0gY29uc3VtZUNvbXBs
ZXhTZWxlY3Rvckxpc3QoYmxvY2spOwogICAgICAgICAgICAgaWYgKCFzZWxlY3Rvckxpc3QtPmZp
cnN0KCkgfHwgIWJsb2NrLmF0RW5kKCkpCkBAIC03MjIsNyArNzI5LDYgQEAgc3RkOjp1bmlxdWVf
cHRyPENTU1BhcnNlclNlbGVjdG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZVBzZXVkbyhD
U1NQYXJzZXJUb2sKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAg
ICAgICAgICAgaWYgKGJsb2NrLnBlZWsoKS50eXBlKCkgIT0gV2hpdGVzcGFjZVRva2VuKQogICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgICAgICAgICBEaXNhbGxv
d1BzZXVkb0VsZW1lbnRzU2NvcGUgc2NvcGUoKnRoaXMpOwogICAgICAgICAgICAgICAgIGJsb2Nr
LmNvbnN1bWVXaGl0ZXNwYWNlKCk7CiAgICAgICAgICAgICAgICAgYXV0byBzZWxlY3Rvckxpc3Qg
PSBtYWtlVW5pcXVlPENTU1NlbGVjdG9yTGlzdD4oKTsKICAgICAgICAgICAgICAgICAqc2VsZWN0
b3JMaXN0ID0gY29uc3VtZUNvbXBsZXhTZWxlY3Rvckxpc3QoYmxvY2spOwpAQCAtNzQzLDkgKzc0
OSw5IEBAIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJz
ZXI6OmNvbnN1bWVQc2V1ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAgIH0KICAgICAgICAgY2FzZSBD
U1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NJczoKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNl
dWRvQ2xhc3NNYXRjaGVzOgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1do
ZXJlOiB7CisgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzV2hlcmU6CisgICAg
ICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzQW55OiB7CiAgICAgICAgICAgICBTZXRG
b3JTY29wZTxib29sPiByZXNpc3REZWZhdWx0TmFtZXNwYWNlKG1fcmVzaXN0RGVmYXVsdE5hbWVz
cGFjZSwgdHJ1ZSk7Ci0gICAgICAgICAgICBEaXNhbGxvd1BzZXVkb0VsZW1lbnRzU2NvcGUgc2Nv
cGUoKnRoaXMpOwogICAgICAgICAgICAgYXV0byBzZWxlY3Rvckxpc3QgPSBtYWtlVW5pcXVlPENT
U1NlbGVjdG9yTGlzdD4oKTsKICAgICAgICAgICAgICpzZWxlY3Rvckxpc3QgPSBjb25zdW1lRm9y
Z2l2aW5nQ29tcGxleFNlbGVjdG9yTGlzdChibG9jayk7CiAgICAgICAgICAgICBpZiAoIWJsb2Nr
LmF0RW5kKCkpCkBAIC03NTMsNyArNzU5LDYgQEAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNl
bGVjdG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZVBzZXVkbyhDU1NQYXJzZXJUb2sKICAg
ICAgICAgICAgIHNlbGVjdG9yLT5zZXRTZWxlY3Rvckxpc3QoV1RGTW92ZShzZWxlY3Rvckxpc3Qp
KTsKICAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsKICAgICAgICAgfQotICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0FueToKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
UHNldWRvQ2xhc3NIb3N0OiB7CiAgICAgICAgICAgICBhdXRvIHNlbGVjdG9yTGlzdCA9IG1ha2VV
bmlxdWU8Q1NTU2VsZWN0b3JMaXN0PigpOwogICAgICAgICAgICAgKnNlbGVjdG9yTGlzdCA9IGNv
bnN1bWVDb21wb3VuZFNlbGVjdG9yTGlzdChibG9jayk7CkBAIC03NjMsNyArNzY4LDYgQEAgc3Rk
Ojp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3Vt
ZVBzZXVkbyhDU1NQYXJzZXJUb2sKICAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsKICAgICAg
ICAgfQogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0hhczogewotICAgICAg
ICAgICAgRGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlIHNjb3BlKCp0aGlzKTsKICAgICAgICAg
ICAgIGF1dG8gc2VsZWN0b3JMaXN0ID0gbWFrZVVuaXF1ZTxDU1NTZWxlY3Rvckxpc3Q+KCk7CiAg
ICAgICAgICAgICAqc2VsZWN0b3JMaXN0ID0gY29uc3VtZUZvcmdpdmluZ1JlbGF0aXZlU2VsZWN0
b3JMaXN0KGJsb2NrKTsKICAgICAgICAgICAgIGlmIChzZWxlY3Rvckxpc3QtPmlzRW1wdHkoKSB8
fCAhYmxvY2suYXRFbmQoKSkKQEAgLTc5MCw3ICs3OTQsNiBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q1NT
UGFyc2VyU2VsZWN0b3I+IENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKENTU1BhcnNl
clRvawogICAgICAgICBzd2l0Y2ggKHNlbGVjdG9yLT5wc2V1ZG9FbGVtZW50VHlwZSgpKSB7CiAj
aWYgRU5BQkxFKFZJREVPKQogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50
Q3VlOiB7Ci0gICAgICAgICAgICBEaXNhbGxvd1BzZXVkb0VsZW1lbnRzU2NvcGUgc2NvcGUoKnRo
aXMpOwogICAgICAgICAgICAgYXV0byBzZWxlY3Rvckxpc3QgPSBtYWtlVW5pcXVlPENTU1NlbGVj
dG9yTGlzdD4oKTsKICAgICAgICAgICAgICpzZWxlY3Rvckxpc3QgPSBjb25zdW1lQ29tcG91bmRT
ZWxlY3Rvckxpc3QoYmxvY2spOwogICAgICAgICAgICAgaWYgKHNlbGVjdG9yTGlzdC0+aXNFbXB0
eSgpIHx8ICFibG9jay5hdEVuZCgpKQpAQCAtODAwLDggKzgwMyw2IEBAIHN0ZDo6dW5pcXVlX3B0
cjxDU1NQYXJzZXJTZWxlY3Rvcj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQc2V1ZG8oQ1NT
UGFyc2VyVG9rCiAgICAgICAgIH0KICNlbmRpZgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQ
c2V1ZG9FbGVtZW50SGlnaGxpZ2h0OiB7Ci0gICAgICAgICAgICBEaXNhbGxvd1BzZXVkb0VsZW1l
bnRzU2NvcGUgc2NvcGUoKnRoaXMpOwotCiAgICAgICAgICAgICBhdXRvJiBpZGVudCA9IGJsb2Nr
LmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7CiAgICAgICAgICAgICBpZiAoaWRlbnQudHlw
ZSgpICE9IElkZW50VG9rZW4gfHwgIWJsb2NrLmF0RW5kKCkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7CkBAIC04MjUsOCArODI2LDYgQEAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNl
clNlbGVjdG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZVBzZXVkbyhDU1NQYXJzZXJUb2sK
ICAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsKICAgICAgICAgfQogICAgICAgICBjYXNlIENT
U1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50U2xvdHRlZDogewotICAgICAgICAgICAgRGlzYWxsb3dQ
c2V1ZG9FbGVtZW50c1Njb3BlIHNjb3BlKCp0aGlzKTsKLQogICAgICAgICAgICAgYXV0byBpbm5l
clNlbGVjdG9yID0gY29uc3VtZUNvbXBvdW5kU2VsZWN0b3IoYmxvY2spOwogICAgICAgICAgICAg
YmxvY2suY29uc3VtZVdoaXRlc3BhY2UoKTsKICAgICAgICAgICAgIGlmICghaW5uZXJTZWxlY3Rv
ciB8fCAhYmxvY2suYXRFbmQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJz
ZXIvQ1NTU2VsZWN0b3JQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2Vs
ZWN0b3JQYXJzZXIuaAppbmRleCA1MTZjMTEwYmI5MDBhY2ZkZjU0OGVkZDNkNmNmZTNiZTQ4OWM5
MGI1Li40Y2ZiYWQ2MmYzNzU1MGY2MTIxYTRiODg1MWNmOGYzNDU4YTUwYTFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5oCkBAIC05MSw2ICs5MSw3
IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2Rpc2FsbG93UHNldWRvRWxlbWVudHMgeyBmYWxzZSB9
OwogICAgIGJvb2wgbV9yZXNpc3REZWZhdWx0TmFtZXNwYWNlIHsgZmFsc2UgfTsKICAgICBib29s
IG1faWdub3JlRGVmYXVsdE5hbWVzcGFjZSB7IGZhbHNlIH07CisgICAgc3RkOjpvcHRpb25hbDxD
U1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFR5cGU+IG1fcHJlY2VkaW5nUHNldWRvRWxlbWVudDsK
IH07CiAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDJiMWNkYzU0ZGY1M2VlZjc4ZTc3NmM4MWUyMzdjYzZkMjZkZDZiMGMu
LjRlNWFhNjg5MDNlZGFjYWIzY2EyNWRjZDUxZjc3NzJjZjUyMTIyN2UgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMS0xMC0yOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CisK
KyAgICAgICAgQWxsb3cgOmlzLzp3aGVyZSBhZnRlciBhbGwgcHNldWRvIGVsZW1lbnRzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzI0MzQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qvc2VsZWN0
b3JzL2ludmFsaWQtZnVuY3Rpb25hbC1wc2V1ZG8tY2xhc3MtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3Qvc2VsZWN0b3JzL2ludmFsaWQtZnVuY3Rpb25hbC1wc2V1ZG8tY2xhc3MuaHRtbDoK
KworICAgICAgICA6LXdlYmtpdC1hbnkoKSBub3cgbWF0Y2hlcyA6aXMoKSBhbmQgZW1wdHkgYXJn
dW1lbnQgaXMgbGVnYWwuCisKIDIwMjEtMTAtMjggIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBw
bGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgcHNldWRvIGVs
ZW1lbnRzIGFmdGVyIDo6c2xvdHRlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
YWI4NzczN2FhMTc4NmZlMTA4OTFiMzM0MTM1NmY5NGMwNmY1NTNiZC4uYTFkYjk0MTE2MjNhMjZj
YjAwNDAxNDEwYWRjYzFmNDM3YzBhMDIzYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTAtMjkgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBw
bGUuY29tPgorCisgICAgICAgIEFsbG93IDppcy86d2hlcmUgYWZ0ZXIgYWxsIHBzZXVkbyBlbGVt
ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMy
NDM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY29waW5nL3Nsb3R0ZWQtcGFyc2luZy1leHBlY3Rl
ZC50eHQ6CisKIDIwMjEtMTAtMjggIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIFN1cHBvcnQgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgcHNldWRvIGVsZW1lbnRzIGFm
dGVyIDo6c2xvdHRlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvaW52
YWxpZC1mdW5jdGlvbmFsLXBzZXVkby1jbGFzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L3NlbGVjdG9ycy9pbnZhbGlkLWZ1bmN0aW9uYWwtcHNldWRvLWNsYXNzLWV4cGVjdGVkLnR4
dAppbmRleCBjNjM1MzgwM2IxNjQwMmIwZjBmNWE3ZmI4NTlhMDc3Y2QyNjVjMTljLi4xMzlkY2Zm
ODJhNzk4MTVmNDBjOTFmMGRjYTUyY2MzZGQxYTUxY2I3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3NlbGVjdG9ycy9pbnZhbGlkLWZ1bmN0aW9uYWwtcHNldWRvLWNsYXNzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9pbnZhbGlkLWZ1bmN0aW9uYWwt
cHNldWRvLWNsYXNzLWV4cGVjdGVkLnR4dApAQCAtNyw3ICs3LDcgQEAgUEFTUyBkb2N1bWVudC5x
dWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1hbnlcIikubGVuZ3RoIHRocmV3IGV4Y2VwdGlvbiBT
eW50YXhFcnIKIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOi13ZWJraXQtYW55XFwi
KS5sZW5ndGggdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5nIGRpZCBub3Qg
bWF0Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uLgogUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCI6LXdlYmtpdC1hbnlcXFwiKS5sZW5ndGggdGhyZXcgZXhjZXB0aW9uIFN5bnRheEVycm9y
OiBVbmV4cGVjdGVkIEVPRi4KIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOi13ZWJr
aXQtYW55XFxcXCIpLmxlbmd0aCB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRoZSBzdHJp
bmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCi1QQVNTIGRvY3VtZW50LnF1
ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LWFueVwoIikubGVuZ3RoIHRocmV3IGV4Y2VwdGlvbiBT
eW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJu
Li4KK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOi13ZWJraXQtYW55XCgiKS5sZW5n
dGggZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCiBQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoIjotd2Via2l0LWFueVxcKCIpLmxlbmd0aCB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6
IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCiBQQVNTIGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LWFueVxcXCgiKS5sZW5ndGggdGhyZXcg
ZXhjZXB0aW9uIFN5bnRheEVycm9yOiBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVj
dGVkIHBhdHRlcm4uLgogUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6LXdlYmtpdC1h
bnlcXFxcKCIpLmxlbmd0aCB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRoZSBzdHJpbmcg
ZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCkBAIC0xOCw3ICsxOCw3IEBAIFBB
U1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOi13ZWJraXQtYW55XFxcXCAuZm9vIikubGVu
Z3RoIHRocmV3IGV4Y2VwdGlvbiBTCiBQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjot
d2Via2l0LWFueVxcKCAuZm9vIikubGVuZ3RoIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjog
VGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KIFBBU1MgZG9j
dW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOi13ZWJraXQtYW55XFxcKCAuZm9vIikubGVuZ3RoIHRo
cmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBl
eHBlY3RlZCBwYXR0ZXJuLi4KIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOi13ZWJr
aXQtYW55XFxcXCggLmZvbyIpLmxlbmd0aCB0aHJldyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFRo
ZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4uCi1QQVNTIGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LWFueVwoKSIpLmxlbmd0aCB0aHJldyBleGNl
cHRpb24gU3ludGF4RXJyb3I6IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQg
cGF0dGVybi4uCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LWFueVwo
KSIpLmxlbmd0aCBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KIFBBU1MgZG9jdW1lbnQucXVlcnlT
ZWxlY3RvckFsbCgiOi13ZWJraXQtYW55XFwoKSIpLmxlbmd0aCB0aHJldyBleGNlcHRpb24gU3lu
dGF4RXJyb3I6IFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4u
CiBQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjotd2Via2l0LWFueVxcXCgpIikubGVu
Z3RoIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjogVGhlIHN0cmluZyBkaWQgbm90IG1hdGNo
IHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KIFBBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgi
Oi13ZWJraXQtYW55XFxcXCgpIikubGVuZ3RoIHRocmV3IGV4Y2VwdGlvbiBTeW50YXhFcnJvcjog
VGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLi4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2ludmFsaWQtZnVuY3Rpb25hbC1wc2V1ZG8t
Y2xhc3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2ludmFsaWQtZnVuY3Rpb25h
bC1wc2V1ZG8tY2xhc3MuaHRtbAppbmRleCA3ZjAyN2JjZDAyYzYxNzZlMTM4NDQxNzdlNjExYTYz
NTQ0ZDJkMjg1Li5jNGVkZjhiMWU0MTQ0YTFlMjJkMDk3ZmRiMjhkMGQ4OWY5MjMzNzhhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9pbnZhbGlkLWZ1bmN0aW9uYWwtcHNl
dWRvLWNsYXNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvaW52YWxpZC1m
dW5jdGlvbmFsLXBzZXVkby1jbGFzcy5odG1sCkBAIC0zOCw4ICszOCwxMyBAQCBmdW5jdGlvbiBp
bnZhbGlkUnVsZXMoZnVuY3RvbmFsUHNldWRvQ2xhc3NOYW1lKSB7CiB9CiAKIGZ1bmN0aW9uIHRl
c3RRdWVyeVNlbGVjdG9yKGZ1bmN0b25hbFBzZXVkb0NsYXNzTmFtZSkgewotICAgIGZvciAodmFy
IHRlc3RDYXNlIG9mIGludmFsaWRSdWxlcyhmdW5jdG9uYWxQc2V1ZG9DbGFzc05hbWUpKQorICAg
IGZvciAodmFyIHRlc3RDYXNlIG9mIGludmFsaWRSdWxlcyhmdW5jdG9uYWxQc2V1ZG9DbGFzc05h
bWUpKSB7CisgICAgICAgIGlmICh0ZXN0Q2FzZSA9PSAnOi13ZWJraXQtYW55XFwoKScgfHwgdGVz
dENhc2UgPT0gJzotd2Via2l0LWFueVxcKCcpIHsKKyAgICAgICAgICAgIHNob3VsZE5vdFRocm93
KCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCInICsgdGVzdENhc2UgKyAnIikubGVuZ3RoJyk7
CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQogICAgICAgICBzaG91bGRUaHJvdygn
ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiJyArIHRlc3RDYXNlICsgJyIpLmxlbmd0aCcpOwor
ICAgIH0KIH0KIAogZnVuY3Rpb24gdGVzdFN0eWxpbmcoZnVuY3RvbmFsUHNldWRvQ2xhc3NOYW1l
KSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3Mtc2NvcGluZy9zbG90dGVkLXBhcnNpbmctZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXNjb3Bpbmcvc2xv
dHRlZC1wYXJzaW5nLWV4cGVjdGVkLnR4dAppbmRleCBkZDI4NWZkNDU4YmI2MmRlNDVhYjEzNGIx
NWQxYjUwMDhmOWE4NWRkLi4yN2Q0YWI3MmM5NzBlMjE1MzdiNGI2MmJmZDA3MmFjZWRhMzU3ZjNk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3Mtc2NvcGluZy9zbG90dGVkLXBhcnNpbmctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY29waW5nL3Ns
b3R0ZWQtcGFyc2luZy1leHBlY3RlZC50eHQKQEAgLTE1LDEyICsxNSwxMiBAQCBQQVNTICI6OnNs
b3R0ZWQoKikiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yCiBQQVNTICI6OnNsb3R0ZWQoZGl2
KSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKIFBBU1MgIjo6c2xvdHRlZChbYXR0cl06aG92
ZXIpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgogUEFTUyAiOjpzbG90dGVkKDpub3QoLmEp
KSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKLUZBSUwgIjo6c2xvdHRlZCgqKTppcygpIiBz
aG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvciBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhlIGV4
cGVjdGVkIHBhdHRlcm4uCi1GQUlMICI6OnNsb3R0ZWQoKik6aXMoOmhvdmVyKSIgc2hvdWxkIGJl
IGEgdmFsaWQgc2VsZWN0b3IgVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBw
YXR0ZXJuLgotRkFJTCAiOjpzbG90dGVkKCopOmlzKCNpZCkiIHNob3VsZCBiZSBhIHZhbGlkIHNl
bGVjdG9yIFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4KLUZB
SUwgIjo6c2xvdHRlZCgqKTp3aGVyZSgpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvciBUaGUg
c3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uCi1GQUlMICI6OnNsb3R0
ZWQoKik6d2hlcmUoOmhvdmVyKSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IgVGhlIHN0cmlu
ZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLgotRkFJTCAiOjpzbG90dGVkKCop
OndoZXJlKCNpZCkiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yIFRoZSBzdHJpbmcgZGlkIG5v
dCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4KK1BBU1MgIjo6c2xvdHRlZCgqKTppcygpIiBz
aG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgorUEFTUyAiOjpzbG90dGVkKCopOmlzKDpob3Zlciki
IHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yCitQQVNTICI6OnNsb3R0ZWQoKik6aXMoI2lkKSIg
c2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKK1BBU1MgIjo6c2xvdHRlZCgqKTp3aGVyZSgpIiBz
aG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgorUEFTUyAiOjpzbG90dGVkKCopOndoZXJlKDpob3Zl
cikiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yCitQQVNTICI6OnNsb3R0ZWQoKik6d2hlcmUo
I2lkKSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKIFBBU1MgIjo6c2xvdHRlZCgqKTo6YmVm
b3JlIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgogUEFTUyAiOjpzbG90dGVkKCopOjphZnRl
ciIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKIEZBSUwgIjo6c2xvdHRlZCgqKTo6cGxhY2Vo
b2xkZXIiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yIFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRj
aCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442827</attachid>
            <date>2021-10-29 09:58:02 -0700</date>
            <delta_ts>2021-10-29 14:42:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232434-20211029195800.patch</filename>
            <type>text/plain</type>
            <size>15716</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1MDMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM1MjU2NWJhNDhlZDRi
ZTU3ZTZiOTQzNWFkZmRmNTAyYjEzMWIzYy4uOGQxMWQ2Yjc1ZTI0YTY5N2EyNDg1ZDNkNWEzZjAy
YzMxYmZmNjVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIxLTEwLTI5ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyA6aXMvOndoZXJl
IGFmdGVyIGFsbCBwc2V1ZG8gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMjQzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFueSBzdWJzZWxlY3RvcnMgdGhhdCBhcmUgbm90IGxlZ2FsIGlu
IHRoZSBjb250ZXh0IHdpbGwgYmUgcmVtb3ZlZCBieSB0aGUgZm9yZ2l2aW5nIHBhcnNpbmcuCisg
ICAgICAgIFRoaXMgbWF0Y2hlcyB0aGUgYmVoYXZpb3IgaW4gb3RoZXIgZW5naW5lcyBhbmQgdGhl
IGRpc2N1c3Npb24gaW4gaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVz
LzUwOTMuCisKKyAgICAgICAgVGhlIHZhbGlkaXR5IGNoZWNrIGlzIG1vdmVkIGZyb20gdGhlIGNv
bXBvdW5kIHNlbGVjdG9yIGxldmVsIHRvIHRoZSBzaW1wbGUgc2VsZWN0b3IgbGV2ZWwuIFRoaXMg
d2F5IGlmIHdlIGFyZQorICAgICAgICBpbnNpZGUgZm9yZ2l2aW5nIHNlbGVjdG9yIGxpc3QgcGFy
c2luZywgaXQgY2FuIHJlY292ZXIgYW5kIGNvbnRpbnVlLgorCisgICAgICAgICogY3NzL3BhcnNl
ci9DU1NTZWxlY3RvclBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0xvZ2ljYWxDb21i
aW5hdGlvblBzZXVkb0NsYXNzKToKKyAgICAgICAgKFdlYkNvcmU6OmlzUHNldWRvQ2xhc3NWYWxp
ZEFmdGVyUHNldWRvRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjppc1NpbXBsZVNlbGVjdG9y
VmFsaWRBZnRlclBzZXVkb0VsZW1lbnQpOgorCisgICAgICAgIDppcygpLCA6d2hlcmUoKSwgYW5k
IHNvIG9uIGFyZSBhbHdheXMgbGVnYWwgYnV0IHRoZWlyIGNvbnRlbnQgaXMgbmVjZXNzYXJpbHkg
bm90LgorCisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZUNvbXBv
dW5kU2VsZWN0b3IpOgorCisgICAgICAgIFNldCB0aGUgcHJlY2VkaW5nIHBzZXVkby1lbGVtZW50
IGFzIHBhcnNlciBzdGF0ZS4KKworICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3JQYXJzZXI6
OmNvbnN1bWVTaW1wbGVTZWxlY3Rvcik6CisKKyAgICAgICAgQ2hlY2sgaWYgdGhlIHBzZXVkby1j
bGFzcyBvciBwc2V1ZG8tZWxlbWVudCBpcyB2YWxpZCBpbW1lZGlhdGVseSBhZnRlciBjb25zdW1p
bmcgaXQuCisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNl
dWRvKToKKworICAgICAgICBEaXNhbGxvdyBuZXN0aW5nIGluIGFsbCBjYXNlcy4KKworICAgICAg
ICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3JQYXJzZXI6OkRpc2FsbG93UHNldWRvRWxlbWVudHNTY29w
ZTo6RGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNv
cmU6OkNTU1NlbGVjdG9yUGFyc2VyOjpEaXNhbGxvd1BzZXVkb0VsZW1lbnRzU2NvcGU6On5EaXNh
bGxvd1BzZXVkb0VsZW1lbnRzU2NvcGUpOiBEZWxldGVkLgorCisgICAgICAgIEp1c3QgdXNlIFNl
dEZvclNjb3BlLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5oOgor
CiAyMDIxLTEwLTI5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICBNYWtlIDotd2Via2l0LWFueSgpIGEgc3lub255bSBvZiA6aXMoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAppbmRleCBlNWQxZjdiY2MxODJk
NGUyM2NmYmM5ODYwNTA3NTcwNDE4YmUxZjJhLi41YmExMzFiNTg4NTk4ZjVhMjdiYTM4YWE2NGEw
NzM0OTQxMWFjOWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Nl
bGVjdG9yUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVj
dG9yUGFyc2VyLmNwcApAQCAtMzksMjQgKzM5LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBDU1NTZWxlY3RvclBhcnNlcjo6RGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlIHsK
LXB1YmxpYzoKLSAgICBleHBsaWNpdCBEaXNhbGxvd1BzZXVkb0VsZW1lbnRzU2NvcGUoQ1NTU2Vs
ZWN0b3JQYXJzZXImIHBhcnNlcikKLSAgICAgICAgOiBtX3BhcnNlcihwYXJzZXIpCi0gICAgICAg
ICwgbV93YXNEaXNhbGxvd2VkKHN0ZDo6ZXhjaGFuZ2UobV9wYXJzZXIubV9kaXNhbGxvd1BzZXVk
b0VsZW1lbnRzLCB0cnVlKSkKLSAgICB7Ci0gICAgfQotCi0gICAgfkRpc2FsbG93UHNldWRvRWxl
bWVudHNTY29wZSgpCi0gICAgewotICAgICAgICBtX3BhcnNlci5tX2Rpc2FsbG93UHNldWRvRWxl
bWVudHMgPSBtX3dhc0Rpc2FsbG93ZWQ7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIENTU1NlbGVj
dG9yUGFyc2VyJiBtX3BhcnNlcjsKLSAgICBib29sIG1fd2FzRGlzYWxsb3dlZDsKLX07Ci0KIHN0
YXRpYyBBdG9tU3RyaW5nIHNlcmlhbGl6ZUFOUGx1c0IoY29uc3Qgc3RkOjpwYWlyPGludCwgaW50
PiYpOwogc3RhdGljIGJvb2wgY29uc3VtZUFOUGx1c0IoQ1NTUGFyc2VyVG9rZW5SYW5nZSYsIHN0
ZDo6cGFpcjxpbnQsIGludD4mKTsKIApAQCAtMzM4LDEzICszMjAsMzEgQEAgc3RhdGljIGJvb2wg
aXNVc2VyQWN0aW9uUHNldWRvQ2xhc3MoQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzVHlwZSBwc2V1
ZG8pCiAgICAgfQogfQogCitzdGF0aWMgYm9vbCBpc0xvZ2ljYWxDb21iaW5hdGlvblBzZXVkb0Ns
YXNzKENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1R5cGUgcHNldWRvKQoreworICAgIHN3aXRjaCAo
cHNldWRvKSB7CisgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NJczoKKyAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1doZXJlOgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBz
ZXVkb0NsYXNzTm90OgorICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzQW55OgorICAg
IGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzTWF0Y2hlczoKKyAgICBjYXNlIENTU1NlbGVj
dG9yOjpQc2V1ZG9DbGFzc0hhczoKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgZGVmYXVsdDoK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKwogc3RhdGljIGJvb2wgaXNQc2V1ZG9D
bGFzc1ZhbGlkQWZ0ZXJQc2V1ZG9FbGVtZW50KENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1R5cGUg
cHNldWRvQ2xhc3MsIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50VHlwZSBjb21wb3VuZFBzZXVk
b0VsZW1lbnQpCiB7CisgICAgLy8gVmFsaWRpdHkgb2YgdGhlc2UgaXMgZGV0ZXJtaW5lZCBieSB0
aGVpciBjb250ZW50LgorICAgIGlmIChpc0xvZ2ljYWxDb21iaW5hdGlvblBzZXVkb0NsYXNzKHBz
ZXVkb0NsYXNzKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBzd2l0Y2ggKGNvbXBvdW5k
UHNldWRvRWxlbWVudCkgewogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRQYXJ0
OgogICAgICAgICByZXR1cm4gIWlzVHJlZVN0cnVjdHVyYWxQc2V1ZG9DbGFzcyhwc2V1ZG9DbGFz
cyk7CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFNsb3R0ZWQ6Ci0gICAgICAg
IC8vIEZJWE1FOiBBIFdQVCBpbmRpY2F0ZXMgOmlzLzp3aGVyZSBzaG91bGQgYmUgcGFyc2VkIGJ1
dCByZWR1Y2UgdG8gbm90aGluZyBhcyB0aGVpciBjb250ZW50IGlzIG5vdCBsZWdhbCBpbiB0aGUg
Y29udGV4dC4KICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBz
ZXVkb0VsZW1lbnRSZXNpemVyOgogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRT
Y3JvbGxiYXI6CkBAIC0zNzksOCArMzc5LDggQEAgc3RhdGljIGJvb2wgaXNUcmVlQWJpZGluZ1Bz
ZXVkb0VsZW1lbnQoQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRUeXBlIHBzZXVkb0VsZW0KIAog
c3RhdGljIGJvb2wgaXNTaW1wbGVTZWxlY3RvclZhbGlkQWZ0ZXJQc2V1ZG9FbGVtZW50KGNvbnN0
IENTU1BhcnNlclNlbGVjdG9yJiBzaW1wbGVTZWxlY3RvciwgQ1NTU2VsZWN0b3I6OlBzZXVkb0Vs
ZW1lbnRUeXBlIGNvbXBvdW5kUHNldWRvRWxlbWVudCkKIHsKLSAgICBpZiAoY29tcG91bmRQc2V1
ZG9FbGVtZW50ID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50VW5rbm93bikKLSAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgQVNTRVJUKGNvbXBvdW5kUHNldWRvRWxlbWVudCAhPSBDU1NTZWxl
Y3Rvcjo6UHNldWRvRWxlbWVudFVua25vd24pOworICAgIAogICAgIGlmIChjb21wb3VuZFBzZXVk
b0VsZW1lbnQgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRQYXJ0KSB7CiAgICAgICAgIGlm
IChzaW1wbGVTZWxlY3Rvci5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYm
IHNpbXBsZVNlbGVjdG9yLnBzZXVkb0VsZW1lbnRUeXBlKCkgIT0gQ1NTU2VsZWN0b3I6OlBzZXVk
b0VsZW1lbnRQYXJ0KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0zOTEsMTMgKzM5MSw4
IEBAIHN0YXRpYyBib29sIGlzU2ltcGxlU2VsZWN0b3JWYWxpZEFmdGVyUHNldWRvRWxlbWVudChj
b25zdCBDU1NQYXJzZXJTZWxlY3RvciYgc2ltCiAgICAgfQogICAgIGlmIChzaW1wbGVTZWxlY3Rv
ci5tYXRjaCgpICE9IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzcykKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1R5cGUgcHNldWRvID0gc2ltcGxlU2Vs
ZWN0b3IucHNldWRvQ2xhc3NUeXBlKCk7Ci0gICAgaWYgKHBzZXVkbyA9PSBDU1NTZWxlY3Rvcjo6
UHNldWRvQ2xhc3NOb3QpIHsKLSAgICAgICAgQVNTRVJUKHNpbXBsZVNlbGVjdG9yLnNlbGVjdG9y
TGlzdCgpKTsKLSAgICAgICAgQVNTRVJUKHNpbXBsZVNlbGVjdG9yLnNlbGVjdG9yTGlzdCgpLT5m
aXJzdCgpKTsKLSAgICAgICAgcHNldWRvID0gc2ltcGxlU2VsZWN0b3Iuc2VsZWN0b3JMaXN0KCkt
PmZpcnN0KCktPnBzZXVkb0NsYXNzVHlwZSgpOwotICAgIH0KLSAgICByZXR1cm4gaXNQc2V1ZG9D
bGFzc1ZhbGlkQWZ0ZXJQc2V1ZG9FbGVtZW50KHBzZXVkbywgY29tcG91bmRQc2V1ZG9FbGVtZW50
KTsKKworICAgIHJldHVybiBpc1BzZXVkb0NsYXNzVmFsaWRBZnRlclBzZXVkb0VsZW1lbnQoc2lt
cGxlU2VsZWN0b3IucHNldWRvQ2xhc3NUeXBlKCksIGNvbXBvdW5kUHNldWRvRWxlbWVudCk7CiB9
CiAKIHN0YXRpYyBib29sIGF0RW5kSWdub3JpbmdXaGl0ZXNwYWNlKENTU1BhcnNlclRva2VuUmFu
Z2UgcmFuZ2UpCkBAIC00MDgsMzAgKzQwMywyNCBAQCBzdGF0aWMgYm9vbCBhdEVuZElnbm9yaW5n
V2hpdGVzcGFjZShDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdlKQogCiBzdGQ6OnVuaXF1ZV9wdHI8
Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lQ29tcG91bmRTZWxl
Y3RvcihDU1NQYXJzZXJUb2tlblJhbmdlJiByYW5nZSkKIHsKKyAgICBBU1NFUlQoIW1fcHJlY2Vk
aW5nUHNldWRvRWxlbWVudCB8fCBtX2Rpc2FsbG93UHNldWRvRWxlbWVudHMpOworCiAgICAgc3Rk
Ojp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBjb21wb3VuZFNlbGVjdG9yOwogCiAgICAg
QXRvbVN0cmluZyBuYW1lc3BhY2VQcmVmaXg7CiAgICAgQXRvbVN0cmluZyBlbGVtZW50TmFtZTsK
LSAgICBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFR5cGUgY29tcG91bmRQc2V1ZG9FbGVtZW50
ID0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRVbmtub3duOwogICAgIGNvbnN0IGJvb2wgaGFz
TmFtZSA9IGNvbnN1bWVOYW1lKHJhbmdlLCBlbGVtZW50TmFtZSwgbmFtZXNwYWNlUHJlZml4KTsK
ICAgICBpZiAoIWhhc05hbWUpIHsKICAgICAgICAgY29tcG91bmRTZWxlY3RvciA9IGNvbnN1bWVT
aW1wbGVTZWxlY3RvcihyYW5nZSk7CiAgICAgICAgIGlmICghY29tcG91bmRTZWxlY3RvcikKICAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICBpZiAoY29tcG91bmRTZWxlY3Rvci0+
bWF0Y2goKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudCkKLSAgICAgICAgICAgIGNvbXBv
dW5kUHNldWRvRWxlbWVudCA9IGNvbXBvdW5kU2VsZWN0b3ItPnBzZXVkb0VsZW1lbnRUeXBlKCk7
CisgICAgICAgICAgICBtX3ByZWNlZGluZ1BzZXVkb0VsZW1lbnQgPSBjb21wb3VuZFNlbGVjdG9y
LT5wc2V1ZG9FbGVtZW50VHlwZSgpOwogICAgIH0KIAogICAgIHdoaWxlIChhdXRvIHNpbXBsZVNl
bGVjdG9yID0gY29uc3VtZVNpbXBsZVNlbGVjdG9yKHJhbmdlKSkgewotICAgICAgICAvLyBGSVhN
RTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTc0NwotICAgICAg
ICAvLyBUaGUgVUFTaGVldE1vZGUgY2hlY2sgaXMgYSB3b3JrLWFyb3VuZCB0byBhbGxvdyB0aGlz
IHNlbGVjdG9yIGluIG1lZGlhQ29udHJvbHMoTmV3KS5jc3M6Ci0gICAgICAgIC8vIHZpZGVvOjot
d2Via2l0LW1lZGlhLXRleHQtdHJhY2stcmVnaW9uLWNvbnRhaW5lci5zY3JvbGxpbmcKLSAgICAg
ICAgaWYgKG1fY29udGV4dC5tb2RlICE9IFVBU2hlZXRNb2RlICYmICFpc1NpbXBsZVNlbGVjdG9y
VmFsaWRBZnRlclBzZXVkb0VsZW1lbnQoKnNpbXBsZVNlbGVjdG9yLmdldCgpLCBjb21wb3VuZFBz
ZXVkb0VsZW1lbnQpKSB7Ci0gICAgICAgICAgICBtX2ZhaWxlZFBhcnNpbmcgPSB0cnVlOwotICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIH0KICAgICAgICAgaWYgKHNpbXBsZVNl
bGVjdG9yLT5tYXRjaCgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50KQotICAgICAgICAg
ICAgY29tcG91bmRQc2V1ZG9FbGVtZW50ID0gc2ltcGxlU2VsZWN0b3ItPnBzZXVkb0VsZW1lbnRU
eXBlKCk7CisgICAgICAgICAgICBtX3ByZWNlZGluZ1BzZXVkb0VsZW1lbnQgPSBzaW1wbGVTZWxl
Y3Rvci0+cHNldWRvRWxlbWVudFR5cGUoKTsKIAogICAgICAgICBpZiAoY29tcG91bmRTZWxlY3Rv
cikKICAgICAgICAgICAgIGNvbXBvdW5kU2VsZWN0b3ItPmFwcGVuZFRhZ0hpc3RvcnkoQ1NTU2Vs
ZWN0b3I6OlN1YnNlbGVjdG9yLCBXVEZNb3ZlKHNpbXBsZVNlbGVjdG9yKSk7CkBAIC00MzksNiAr
NDI4LDggQEAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBDU1NTZWxlY3RvclBh
cnNlcjo6Y29uc3VtZUNvbXBvdW5kU2VsZWN0b3IoQ1MKICAgICAgICAgICAgIGNvbXBvdW5kU2Vs
ZWN0b3IgPSBXVEZNb3ZlKHNpbXBsZVNlbGVjdG9yKTsKICAgICB9CiAKKyAgICBpZiAoIW1fZGlz
YWxsb3dQc2V1ZG9FbGVtZW50cykKKyAgICAgICAgbV9wcmVjZWRpbmdQc2V1ZG9FbGVtZW50ID0g
eyB9OwogCiAgICAgLy8gV2hpbGUgaW5zaWRlIGEgbmVzdGVkIHNlbGVjdG9yIGxpa2UgOmlzKCks
IHRoZSBkZWZhdWx0IG5hbWVzcGFjZSBzaGFsbCBiZSBpZ25vcmVkIHdoZW4gWzFdOgogICAgIC8v
ICogVGhlIGNvbXBvdW5kIHNlbGVjdG9yIHJlcHJlc2VudHMgdGhlIHN1YmplY3QgWzJdLCBhbmQK
QEAgLTQ3Niw4ICs0NjcsMjAgQEAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBD
U1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZVNpbXBsZVNlbGVjdG9yKENTU1AKICAgICAgICAgc2Vs
ZWN0b3IgPSBjb25zdW1lUHNldWRvKHJhbmdlKTsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiBu
dWxscHRyOwotICAgIGlmICghc2VsZWN0b3IpCisKKyAgICBpZiAoIXNlbGVjdG9yKSB7CiAgICAg
ICAgIG1fZmFpbGVkUGFyc2luZyA9IHRydWU7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAg
IH0KKworICAgIGlmIChtX3ByZWNlZGluZ1BzZXVkb0VsZW1lbnQpIHsKKyAgICAgICAgLy8gRklY
TUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE3NDcKKyAgICAg
ICAgLy8gVGhlIFVBU2hlZXRNb2RlIGNoZWNrIGlzIGEgd29yay1hcm91bmQgdG8gYWxsb3cgdGhp
cyBzZWxlY3RvciBpbiBtZWRpYUNvbnRyb2xzKE5ldykuY3NzOgorICAgICAgICAvLyB2aWRlbzo6
LXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLXJlZ2lvbi1jb250YWluZXIuc2Nyb2xsaW5nCisgICAg
ICAgIGlmIChtX2NvbnRleHQubW9kZSAhPSBVQVNoZWV0TW9kZSAmJiAhaXNTaW1wbGVTZWxlY3Rv
clZhbGlkQWZ0ZXJQc2V1ZG9FbGVtZW50KCpzZWxlY3RvciwgKm1fcHJlY2VkaW5nUHNldWRvRWxl
bWVudCkpCisgICAgICAgICAgICBtX2ZhaWxlZFBhcnNpbmcgPSB0cnVlOworICAgIH0KKwogICAg
IHJldHVybiBzZWxlY3RvcjsKIH0KIApAQCAtNjc2LDggKzY3OSwxMyBAQCBzdGQ6OnVuaXF1ZV9w
dHI8Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKENT
U1BhcnNlclRvawogI2VuZGlmCiAgICAgfQogCi0gICAgaWYgKCFzZWxlY3RvciB8fCAoc2VsZWN0
b3ItPm1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQgJiYgbV9kaXNhbGxvd1Bz
ZXVkb0VsZW1lbnRzKSkKKyAgICBpZiAoIXNlbGVjdG9yKQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKworICAgIC8vIFBzZXVkby1lbGVtZW50cyBhcmUgbm90IGFsbG93ZWQgaW5zaWRlIHBzZXVk
by1jbGFzc2VzIG9yIHBzZXVkby1lbGVtZW50cy4KKyAgICBpZiAoc2VsZWN0b3ItPm1hdGNoKCkg
PT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQgJiYgbV9kaXNhbGxvd1BzZXVkb0VsZW1lbnRz
KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBTZXRGb3JTY29wZSBkaXNhbGxvd1BzZXVk
b0VsZW1lbnRzU2NvcGUobV9kaXNhbGxvd1BzZXVkb0VsZW1lbnRzLCB0cnVlKTsKIAogICAgIGlm
ICh0b2tlbi50eXBlKCkgPT0gSWRlbnRUb2tlbikgewogICAgICAgICByYW5nZS5jb25zdW1lKCk7
CkBAIC02OTEsMTIgKzY5OSwxMSBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+
IENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKENTU1BhcnNlclRvawogICAgIGJsb2Nr
LmNvbnN1bWVXaGl0ZXNwYWNlKCk7CiAgICAgaWYgKHRva2VuLnR5cGUoKSAhPSBGdW5jdGlvblRv
a2VuKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAKKwogICAgIGlmIChzZWxlY3Rvci0+
bWF0Y2goKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3MpIHsKICAgICAgICAgc3dpdGNoIChz
ZWxlY3Rvci0+cHNldWRvQ2xhc3NUeXBlKCkpIHsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
UHNldWRvQ2xhc3NOb3Q6IHsKICAgICAgICAgICAgIFNldEZvclNjb3BlPGJvb2w+IHJlc2lzdERl
ZmF1bHROYW1lc3BhY2UobV9yZXNpc3REZWZhdWx0TmFtZXNwYWNlLCB0cnVlKTsKLSAgICAgICAg
ICAgIERpc2FsbG93UHNldWRvRWxlbWVudHNTY29wZSBzY29wZSgqdGhpcyk7CiAgICAgICAgICAg
ICBhdXRvIHNlbGVjdG9yTGlzdCA9IG1ha2VVbmlxdWU8Q1NTU2VsZWN0b3JMaXN0PigpOwogICAg
ICAgICAgICAgKnNlbGVjdG9yTGlzdCA9IGNvbnN1bWVDb21wbGV4U2VsZWN0b3JMaXN0KGJsb2Nr
KTsKICAgICAgICAgICAgIGlmICghc2VsZWN0b3JMaXN0LT5maXJzdCgpIHx8ICFibG9jay5hdEVu
ZCgpKQpAQCAtNzIyLDcgKzcyOSw2IEBAIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rv
cj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQc2V1ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgICAgICAgICAgICAgIGlmIChibG9jay5w
ZWVrKCkudHlwZSgpICE9IFdoaXRlc3BhY2VUb2tlbikKICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgRGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3Bl
IHNjb3BlKCp0aGlzKTsKICAgICAgICAgICAgICAgICBibG9jay5jb25zdW1lV2hpdGVzcGFjZSgp
OwogICAgICAgICAgICAgICAgIGF1dG8gc2VsZWN0b3JMaXN0ID0gbWFrZVVuaXF1ZTxDU1NTZWxl
Y3Rvckxpc3Q+KCk7CiAgICAgICAgICAgICAgICAgKnNlbGVjdG9yTGlzdCA9IGNvbnN1bWVDb21w
bGV4U2VsZWN0b3JMaXN0KGJsb2NrKTsKQEAgLTc0Niw3ICs3NTIsNiBAQCBzdGQ6OnVuaXF1ZV9w
dHI8Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKENT
U1BhcnNlclRvawogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc01hdGNoZXM6
CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzQW55OiB7CiAgICAgICAgICAg
ICBTZXRGb3JTY29wZTxib29sPiByZXNpc3REZWZhdWx0TmFtZXNwYWNlKG1fcmVzaXN0RGVmYXVs
dE5hbWVzcGFjZSwgdHJ1ZSk7Ci0gICAgICAgICAgICBEaXNhbGxvd1BzZXVkb0VsZW1lbnRzU2Nv
cGUgc2NvcGUoKnRoaXMpOwogICAgICAgICAgICAgYXV0byBzZWxlY3Rvckxpc3QgPSBtYWtlVW5p
cXVlPENTU1NlbGVjdG9yTGlzdD4oKTsKICAgICAgICAgICAgICpzZWxlY3Rvckxpc3QgPSBjb25z
dW1lRm9yZ2l2aW5nQ29tcGxleFNlbGVjdG9yTGlzdChibG9jayk7CiAgICAgICAgICAgICBpZiAo
IWJsb2NrLmF0RW5kKCkpCkBAIC03NjMsNyArNzY4LDYgQEAgc3RkOjp1bmlxdWVfcHRyPENTU1Bh
cnNlclNlbGVjdG9yPiBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZVBzZXVkbyhDU1NQYXJzZXJU
b2sKICAgICAgICAgICAgIHJldHVybiBzZWxlY3RvcjsKICAgICAgICAgfQogICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0hhczogewotICAgICAgICAgICAgRGlzYWxsb3dQc2V1
ZG9FbGVtZW50c1Njb3BlIHNjb3BlKCp0aGlzKTsKICAgICAgICAgICAgIGF1dG8gc2VsZWN0b3JM
aXN0ID0gbWFrZVVuaXF1ZTxDU1NTZWxlY3Rvckxpc3Q+KCk7CiAgICAgICAgICAgICAqc2VsZWN0
b3JMaXN0ID0gY29uc3VtZUZvcmdpdmluZ1JlbGF0aXZlU2VsZWN0b3JMaXN0KGJsb2NrKTsKICAg
ICAgICAgICAgIGlmIChzZWxlY3Rvckxpc3QtPmlzRW1wdHkoKSB8fCAhYmxvY2suYXRFbmQoKSkK
QEAgLTc5MCw3ICs3OTQsNiBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+IENT
U1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lUHNldWRvKENTU1BhcnNlclRvawogICAgICAgICBzd2l0
Y2ggKHNlbGVjdG9yLT5wc2V1ZG9FbGVtZW50VHlwZSgpKSB7CiAjaWYgRU5BQkxFKFZJREVPKQog
ICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50Q3VlOiB7Ci0gICAgICAgICAg
ICBEaXNhbGxvd1BzZXVkb0VsZW1lbnRzU2NvcGUgc2NvcGUoKnRoaXMpOwogICAgICAgICAgICAg
YXV0byBzZWxlY3Rvckxpc3QgPSBtYWtlVW5pcXVlPENTU1NlbGVjdG9yTGlzdD4oKTsKICAgICAg
ICAgICAgICpzZWxlY3Rvckxpc3QgPSBjb25zdW1lQ29tcG91bmRTZWxlY3Rvckxpc3QoYmxvY2sp
OwogICAgICAgICAgICAgaWYgKHNlbGVjdG9yTGlzdC0+aXNFbXB0eSgpIHx8ICFibG9jay5hdEVu
ZCgpKQpAQCAtODAwLDggKzgwMyw2IEBAIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rv
cj4gQ1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1bWVQc2V1ZG8oQ1NTUGFyc2VyVG9rCiAgICAgICAg
IH0KICNlbmRpZgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50SGlnaGxp
Z2h0OiB7Ci0gICAgICAgICAgICBEaXNhbGxvd1BzZXVkb0VsZW1lbnRzU2NvcGUgc2NvcGUoKnRo
aXMpOwotCiAgICAgICAgICAgICBhdXRvJiBpZGVudCA9IGJsb2NrLmNvbnN1bWVJbmNsdWRpbmdX
aGl0ZXNwYWNlKCk7CiAgICAgICAgICAgICBpZiAoaWRlbnQudHlwZSgpICE9IElkZW50VG9rZW4g
fHwgIWJsb2NrLmF0RW5kKCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC04
MjUsOCArODI2LDYgQEAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBDU1NTZWxl
Y3RvclBhcnNlcjo6Y29uc3VtZVBzZXVkbyhDU1NQYXJzZXJUb2sKICAgICAgICAgICAgIHJldHVy
biBzZWxlY3RvcjsKICAgICAgICAgfQogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9F
bGVtZW50U2xvdHRlZDogewotICAgICAgICAgICAgRGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3Bl
IHNjb3BlKCp0aGlzKTsKLQogICAgICAgICAgICAgYXV0byBpbm5lclNlbGVjdG9yID0gY29uc3Vt
ZUNvbXBvdW5kU2VsZWN0b3IoYmxvY2spOwogICAgICAgICAgICAgYmxvY2suY29uc3VtZVdoaXRl
c3BhY2UoKTsKICAgICAgICAgICAgIGlmICghaW5uZXJTZWxlY3RvciB8fCAhYmxvY2suYXRFbmQo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJz
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuaAppbmRl
eCA1MTZjMTEwYmI5MDBhY2ZkZjU0OGVkZDNkNmNmZTNiZTQ4OWM5MGI1Li40Y2ZiYWQ2MmYzNzU1
MGY2MTIxYTRiODg1MWNmOGYzNDU4YTUwYTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3Bh
cnNlci9DU1NTZWxlY3RvclBhcnNlci5oCkBAIC05MSw2ICs5MSw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBtX2Rpc2FsbG93UHNldWRvRWxlbWVudHMgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9yZXNp
c3REZWZhdWx0TmFtZXNwYWNlIHsgZmFsc2UgfTsKICAgICBib29sIG1faWdub3JlRGVmYXVsdE5h
bWVzcGFjZSB7IGZhbHNlIH07CisgICAgc3RkOjpvcHRpb25hbDxDU1NTZWxlY3Rvcjo6UHNldWRv
RWxlbWVudFR5cGU+IG1fcHJlY2VkaW5nUHNldWRvRWxlbWVudDsKIH07CiAKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYjY5MDViZjM1NjVhOWQ0MTg3YzI2MTc0NWZjZjk5MDMw
ODQ3MDU3NC4uMTVjYTFiM2EyYjY4NGYzODg1NDJkYmNiZDhiMTc3MWMzZThlMTExYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTAtMjkgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IDppcy86d2hl
cmUgYWZ0ZXIgYWxsIHBzZXVkbyBlbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNDM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY29waW5n
L3Nsb3R0ZWQtcGFyc2luZy1leHBlY3RlZC50eHQ6CisKIDIwMjEtMTAtMjkgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbIGlPUyBdIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmcvaWZyYW1lLWNoYWlucy5odG1sIGlz
IG1pc3NpbmcgaXRzIHJlc3VsdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY29waW5nL3Nsb3R0ZWQtcGFyc2luZy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3Mtc2NvcGluZy9zbG90dGVkLXBhcnNpbmctZXhwZWN0ZWQudHh0CmluZGV4IGRkMjg1ZmQ0
NThiYjYyZGU0NWFiMTM0YjE1ZDFiNTAwOGY5YTg1ZGQuLjI3ZDRhYjcyYzk3MGUyMTUzN2I0YjYy
YmZkMDcyYWNlZGEzNTdmM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1zY29waW5nL3Nsb3R0ZWQtcGFyc2luZy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXNjb3Bpbmcvc2xvdHRlZC1wYXJzaW5nLWV4cGVjdGVkLnR4dApAQCAtMTUsMTIgKzE1
LDEyIEBAIFBBU1MgIjo6c2xvdHRlZCgqKSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKIFBB
U1MgIjo6c2xvdHRlZChkaXYpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgogUEFTUyAiOjpz
bG90dGVkKFthdHRyXTpob3ZlcikiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yCiBQQVNTICI6
OnNsb3R0ZWQoOm5vdCguYSkpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgotRkFJTCAiOjpz
bG90dGVkKCopOmlzKCkiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yIFRoZSBzdHJpbmcgZGlk
IG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVybi4KLUZBSUwgIjo6c2xvdHRlZCgqKTppcyg6
aG92ZXIpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvciBUaGUgc3RyaW5nIGRpZCBub3QgbWF0
Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uCi1GQUlMICI6OnNsb3R0ZWQoKik6aXMoI2lkKSIgc2hv
dWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IgVGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBl
Y3RlZCBwYXR0ZXJuLgotRkFJTCAiOjpzbG90dGVkKCopOndoZXJlKCkiIHNob3VsZCBiZSBhIHZh
bGlkIHNlbGVjdG9yIFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgcGF0dGVy
bi4KLUZBSUwgIjo6c2xvdHRlZCgqKTp3aGVyZSg6aG92ZXIpIiBzaG91bGQgYmUgYSB2YWxpZCBz
ZWxlY3RvciBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uCi1G
QUlMICI6OnNsb3R0ZWQoKik6d2hlcmUoI2lkKSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3Ig
VGhlIHN0cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLgorUEFTUyAiOjpz
bG90dGVkKCopOmlzKCkiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yCitQQVNTICI6OnNsb3R0
ZWQoKik6aXMoOmhvdmVyKSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKK1BBU1MgIjo6c2xv
dHRlZCgqKTppcygjaWQpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgorUEFTUyAiOjpzbG90
dGVkKCopOndoZXJlKCkiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yCitQQVNTICI6OnNsb3R0
ZWQoKik6d2hlcmUoOmhvdmVyKSIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IKK1BBU1MgIjo6
c2xvdHRlZCgqKTp3aGVyZSgjaWQpIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgogUEFTUyAi
OjpzbG90dGVkKCopOjpiZWZvcmUiIHNob3VsZCBiZSBhIHZhbGlkIHNlbGVjdG9yCiBQQVNTICI6
OnNsb3R0ZWQoKik6OmFmdGVyIiBzaG91bGQgYmUgYSB2YWxpZCBzZWxlY3RvcgogRkFJTCAiOjpz
bG90dGVkKCopOjpwbGFjZWhvbGRlciIgc2hvdWxkIGJlIGEgdmFsaWQgc2VsZWN0b3IgVGhlIHN0
cmluZyBkaWQgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBwYXR0ZXJuLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>