<?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>218267</bug_id>
          
          <creation_ts>2020-10-27 17:23:22 -0700</creation_ts>
          <short_desc>[Testing] Remove requirement of adding new SPI for each preference that needs testing</short_desc>
          <delta_ts>2020-10-28 08:58:20 -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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>annulen</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1702161</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-27 17:23:22 -0700</bug_when>
    <thetext>[Testing] Remove requirement of adding new SPI for each preference that needs testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702165</commentid>
    <comment_count>1</comment_count>
      <attachid>412485</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-27 17:33:41 -0700</bug_when>
    <thetext>Created attachment 412485
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702184</commentid>
    <comment_count>2</comment_count>
      <attachid>412491</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-27 18:28:19 -0700</bug_when>
    <thetext>Created attachment 412491
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702187</commentid>
    <comment_count>3</comment_count>
      <attachid>412492</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-27 18:31:35 -0700</bug_when>
    <thetext>Created attachment 412492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702189</commentid>
    <comment_count>4</comment_count>
      <attachid>412494</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-27 18:33:01 -0700</bug_when>
    <thetext>Created attachment 412494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702194</commentid>
    <comment_count>5</comment_count>
      <attachid>412496</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-27 18:38:50 -0700</bug_when>
    <thetext>Created attachment 412496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702205</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-27 19:33:05 -0700</bug_when>
    <thetext>Darin, you have reviewed most of this before for https://bugs.webkit.org/show_bug.cgi?id=217880. This is just breaking that change up a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702323</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-28 08:57:40 -0700</bug_when>
    <thetext>Committed r269105: &lt;https://trac.webkit.org/changeset/269105&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412496.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702324</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-28 08:58:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/70765829&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412485</attachid>
            <date>2020-10-27 17:33:41 -0700</date>
            <delta_ts>2020-10-27 18:50:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218267-20201027173340.patch</filename>
            <type>text/plain</type>
            <size>26130</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTA4MikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIwIEBACisyMDIwLTEwLTI3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFkZGluZyBuZXcgU1BJIGZvciBl
YWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgyNjcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvc2UgYSBzZXQgb2Ygc2V0dGVycyB0byBmb3Ig
RHVtcFJlbmRlclRyZWUgdG8gdXNlIHdoZW4gc2V0dGluZyBwcmVmZXJlbmNlcworICAgICAgICBi
eSBzdHJpbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyBfc2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVl
OmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFVJbnQzMlByZWZlcmVu
Y2VGb3JUZXN0aW5nV2l0aFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgX3NldERvdWJsZVByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOmZvcktleTpdKToKKyAg
ICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFN0cmluZ1ByZWZlcmVuY2VGb3JUZXN0aW5nV2l0
aFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oOgorCiAyMDIwLTEwLTI3ICBUZXRzdWhhcnUgT2h6ZWtpICA8dGV0c3VoYXJ1Lm9oemVraUBn
bWFpbC5jb20+CiAKICAgICAgICAgTWFrZSBXZWJDb3JlOjpGb2N1c0RpcmVjdGlvbiB0byBlbnVt
IGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDI2ODk4MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2NjAsMjYg
KzE2NjAsNiBAQCArICh2b2lkKV9zZXRJQkNyZWF0b3JJRDooTlNTdHJpbmcgKilzdHJpCiAgICAg
W29sZCByZWxlYXNlXTsKIH0KIAotKyAodm9pZClfc3dpdGNoTmV0d29ya0xvYWRlclRvTmV3VGVz
dGluZ1Nlc3Npb24KLXsKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFdlYlRocmVhZExv
Y2soKTsKLSNlbmRpZgotICAgIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcDo6c3dpdGNoVG9OZXdU
ZXN0aW5nU2Vzc2lvbigpOwotfQotCi0rICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9u
Ci17Ci0gICAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24o
KS5kZWxldGVBbGxDb29raWVzKCk7Ci19Ci0KLSsgKHZvaWQpX3NldEN1cnJlbnROZXR3b3JrTG9h
ZGVyU2Vzc2lvbkNvb2tpZUFjY2VwdFBvbGljeTooTlNIVFRQQ29va2llQWNjZXB0UG9saWN5KXBv
bGljeQotewotICAgIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPiBjb29raWVTdG9y
YWdlID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5j
b29raWVTdG9yYWdlKCk7Ci0gICAgQVNTRVJUKGNvb2tpZVN0b3JhZ2UpOyAvLyBXaWxsIGZhaWwg
d2hlbiBOZXR3b3JrU3RvcmFnZVNlc3Npb25NYXA6OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24o
KSB3YXMgbm90IGNhbGxlZCBiZWZvcmVoYW5kLgotICAgIENGSFRUUENvb2tpZVN0b3JhZ2VTZXRD
b29raWVBY2NlcHRQb2xpY3koY29va2llU3RvcmFnZS5nZXQoKSwgcG9saWN5KTsKLX0KLQogLSAo
Qk9PTClpc0RPTVBhc3RlQWxsb3dlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdERPTVBhc3RlQWxsb3dlZFByZWZlcmVuY2VLZXldOwpAQCAtMTk1NiwxMSArMTkz
Niw2IEBAIC0gKHZvaWQpd2lsbEFkZFRvV2ViVmlldwogICAgICsrX3ByaXZhdGUtPm51bVdlYlZp
ZXdzOwogfQogCi0tICh2b2lkKV9zZXRQcmVmZXJlbmNlRm9yVGVzdFdpdGhWYWx1ZTooTlNTdHJp
bmcgKil2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5Ci17Ci0gICAgW3NlbGYgX3NldFN0cmlu
Z1ZhbHVlOnZhbHVlIGZvcktleTprZXldOwotfQotCiAtICh2b2lkKXNldEZ1bGxTY3JlZW5FbmFi
bGVkOihCT09MKWZsYWcKIHsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5Oldl
YktpdEZ1bGxTY3JlZW5FbmFibGVkUHJlZmVyZW5jZUtleV07CkBAIC0zMDAzLDYgKzI5NzgsNTAg
QEAgLSAodm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JGZWF0dQogCiBAZW5kCiAKK0Bp
bXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZVRlc3RpbmcpCisKKysgKHZv
aWQpX3N3aXRjaE5ldHdvcmtMb2FkZXJUb05ld1Rlc3RpbmdTZXNzaW9uCit7CisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyAgICBXZWJUaHJlYWRMb2NrKCk7CisjZW5kaWYKKyAgICBOZXR3b3Jr
U3RvcmFnZVNlc3Npb25NYXA6OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24oKTsKK30KKworKyAo
dm9pZClfc2V0Q3VycmVudE5ldHdvcmtMb2FkZXJTZXNzaW9uQ29va2llQWNjZXB0UG9saWN5OihO
U0hUVFBDb29raWVBY2NlcHRQb2xpY3kpcG9saWN5Cit7CisgICAgYXV0byBjb29raWVTdG9yYWdl
ID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5jb29r
aWVTdG9yYWdlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoY29va2llU3RvcmFnZSk7IC8vIFdpbGwg
ZmFpbCB3aGVuIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcDo6c3dpdGNoVG9OZXdUZXN0aW5nU2Vz
c2lvbigpIHdhcyBub3QgY2FsbGVkIGJlZm9yZWhhbmQuCisgICAgQ0ZIVFRQQ29va2llU3RvcmFn
ZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCBwb2xpY3kpOworfQor
CisrICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9uCit7CisgICAgTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5kZWxldGVBbGxDb29raWVzKCk7
Cit9CisKKy0gKHZvaWQpX3NldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTooQk9P
TCl2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5Cit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1
ZTp2YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworLSAodm9pZClfc2V0VUludDMyUHJlZmVyZW5jZUZv
clRlc3RpbmdXaXRoVmFsdWU6KHVpbnQzMl90KXZhbHVlIGZvcktleTooTlNTdHJpbmcgKilrZXkK
K3sKKyAgICBbc2VsZiBfc2V0SW50ZWdlclZhbHVlOnZhbHVlIGZvcktleTprZXldOworfQorCist
ICh2b2lkKV9zZXREb3VibGVQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTooZG91YmxlKXZh
bHVlIGZvcktleTooTlNTdHJpbmcgKilrZXkKK3sKKyAgICBbc2VsZiBfc2V0RmxvYXRWYWx1ZTp2
YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworLSAodm9pZClfc2V0U3RyaW5nUHJlZmVyZW5jZUZvclRl
c3RpbmdXaXRoVmFsdWU6KE5TU3RyaW5nICopdmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKWtleQor
eworICAgIFtzZWxmIF9zZXRTdHJpbmdWYWx1ZTp2YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworQGVu
ZAorCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVQcmVmZXJlbmNl
c0NvbnZlcnRlZFRvV2ViRmVhdHVyZSkKIAogLSAoQk9PTCl1c2VyR2VzdHVyZVByb21pc2VQcm9w
YWdhdGlvbkVuYWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMjY4OTgzKQorKysg
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtODksMTMgKzg5LDYgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNl
cyAoV2ViUHJpdmF0ZSkKICsgKHZvaWQpX3NldEluaXRpYWxEZWZhdWx0VGV4dEVuY29kaW5nVG9T
eXN0ZW1FbmNvZGluZzsKICsgKHZvaWQpX3NldElCQ3JlYXRvcklEOihOU1N0cmluZyAqKXN0cmlu
ZzsKIAotLy8gRm9yIER1bXBSZW5kZXJUcmVlIHVzZSBvbmx5LgotKyAodm9pZClfc3dpdGNoTmV0
d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb247Ci0rICh2b2lkKV9zZXRDdXJyZW50TmV0d29y
a0xvYWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFjY2VwdFBvbGlj
eSljb29raWVBY2NlcHRQb2xpY3k7Ci0rICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9u
OwotLy8gVXNlZCB0byBzZXQgcHJlZmVyZW5jZSBzcGVjaWZpZWQgaW4gdGhlIHRlc3QgdmlhIExh
eW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSguLikuCi0tICh2b2lkKV9zZXRQ
cmVmZXJlbmNlRm9yVGVzdFdpdGhWYWx1ZTooTlNTdHJpbmcgKil2YWx1ZSBmb3JLZXk6KE5TU3Ry
aW5nICopa2V5OwotCiArICh2b2lkKXNldFdlYktpdExpbmtUaW1lVmVyc2lvbjooaW50KXZlcnNp
b247CiAKIC8vIEZvciBXZWJWaWV3J3MgdXNlIG9ubHkuCkBAIC0zMDksNiArMzAyLDE3IEBAIEBp
bnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVGZWEKIC0gKHZvaWQpX3NldEVuYWJs
ZWQ6KEJPT0wpdmFsdWUgZm9yRmVhdHVyZTooV2ViRmVhdHVyZSAqKWZlYXR1cmU7CiBAZW5kCiAK
K0BpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVUZXN0aW5nKQorKyAodm9pZClf
c3dpdGNoTmV0d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb247CisrICh2b2lkKV9zZXRDdXJy
ZW50TmV0d29ya0xvYWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSljb29raWVBY2NlcHRQb2xpY3k7CisrICh2b2lkKV9jbGVhck5ldHdvcmtMb2Fk
ZXJTZXNzaW9uOworCistICh2b2lkKV9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFs
dWU6KEJPT0wpdmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKWtleTsKKy0gKHZvaWQpX3NldFVJbnQz
MlByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOih1aW50MzJfdCl2YWx1ZSBmb3JLZXk6KE5T
U3RyaW5nICopa2V5OworLSAodm9pZClfc2V0RG91YmxlUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRo
VmFsdWU6KGRvdWJsZSl2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5OworLSAodm9pZClfc2V0
U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFsdWU6KE5TU3RyaW5nICopdmFsdWUgZm9y
S2V5OihOU1N0cmluZyAqKWtleTsKK0BlbmQKKwogLy8gRklYTUU6IElmIHRoZXNlIGFyZSBub3Qg
dXNlZCBhbnl3aGVyZSwgd2Ugc2hvdWxkIHJlbW92ZSB0aGVtIGFuZCBvbmx5IHVzZSBXZWJGZWF0
dXJlIG1lY2hhbmlzbSBmb3IgdGhlIHByZWZlcmVuY2UuCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVu
Y2VzIChXZWJQcml2YXRlUHJlZmVyZW5jZXNDb252ZXJ0ZWRUb1dlYkZlYXR1cmUpCiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCB1c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQ7
CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzNyBAQAorMjAyMC0xMC0yNyAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgW1Rlc3RpbmddIFJlbW92ZSByZXF1aXJlbWVudCBvZiBhZGRpbmcgbmV3IFNQSSBm
b3IgZWFjaCBwcmVmZXJlbmNlIHRoYXQgbmVlZHMgdGVzdGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MjY3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlcyB0aGUgcmVxdWlyZW1lbnQgZm9y
IFdlYktpdExlZ2FjeSAobWFjT1MpLCB3aGljaCBoYXMgYWxyZWFkeSBiZWVuIGxpZnRlZCBmb3IK
KyAgICAgICAgbW9kZXJuIFdlYktpdCwgdGhhdCB0ZXN0aW5nIG5ldyBwcmVmZXJlbmNlcyByZXF1
aXJlcyBuZXcgV2ViUHJlZmVyZW5jZXMgU1BJLiBJbnN0ZWFkLAorICAgICAgICBuZXcgdGVzdGlu
ZyBzcGVjaWZpYyBTUEkgKFtXZWJQcmVmZXJlbmNlcyBfc2V0KlByZWZlcmVuY2VGb3JUZXN0aW5n
V2l0aFZhbHVlOmZvcktleTpdKQorICAgICAgICBhcmUgdXNlZCB0byBhbGxvdyBzdHJpbmcgYmFz
ZWQgc2V0dGluZy4KKyAgICAgICAgCisgICAgICAgIFRvIG1ha2UgdGhpcyB3b3JrIHdpdGggdGhl
IHNoYXJlZCBXZWJQcmVmZXJlbmNlcyoueWFtbCBuYW1lcywgYSBoZWxwZXIgaXMgZ2VuZXJhdGVk
IHRvCisgICAgICAgIG1hcCBmcm9tIHRoZSBzaGFyZWQgbmFtZSB0byB0aGUgV2ViS2l0TGVnYWN5
IHNwZWNpZmljIG5hbWUuCisKKyAgICAgICAgVGhpcyBzdGlsbCBkb2Vzbid0IHF1aXRlIHRha2Ug
dXMgYWxsIHRoZSB3YXkgdG8gc3VwcG9ydGluZyBhbnkgV2ViUHJlZmVyZW5jZXMqLnlhbWwgbmFt
ZQorICAgICAgICBpbiB0ZXN0IGhlYWRlcnMsIGFzIGlzIHN1cHBvcnRlZCBpbiBXZWJLaXRUZXN0
UnVubmVyLCBhcyB3ZSBzdGlsbCBuZWVkIGEgdmlhYmxlIG1lY2hhbmlzbQorICAgICAgICB0byBm
dWxseSByZXNldCBXZWJQcmVmZXJlbmNlcyBiZXR3ZWVuIHRlc3RzLiBSaWdodCBub3csIGVhY2gg
cHJlZmVyZW5jZSBtdXN0IGJlIHNldCBvbgorICAgICAgICBlYWNoIHRlc3QgcnVuLCByZXF1aXJp
bmcgdGhlIGNvbXBsZXRlIHNldCBvZiBwcmVmZXJlbmNlcyB0byBiZSBrbm93biB1cCBmcm9udC4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvVGVzdE9wdGlv
bnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNwcC5lcmI6IEFkZGVkLgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdE9w
dGlvbnM6OnN1cHBvcnRlZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0
aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06Cisg
ICAgICAgIChUZXN0UnVubmVyOjpvdmVycmlkZVByZWZlcmVuY2UpOgorCiAyMDIwLTEwLTI3ICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBEdW1wUmVuZGVyVHJlZSBz
cGFtcyBzdGRlcnIgd2l0aCBDRk5ldHdvcmsgd2FybmluZ3MgYWJvdXQgbnVsbCBkaXNrY2FjaGUg
cGF0aApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI2OTA4
MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC00MCw2ICs0MCw3IEBAIGxpc3QoQVBQRU5EIER1bXBSZW5kZXJUcmVlX1BSSVZBVEVfSU5D
TFUKICkKIAogc2V0KER1bXBSZW5kZXJUcmVlX1dFQl9QUkVGRVJFTkNFU19URU1QTEFURVMKKyAg
ICAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0
T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgogICAgICR7RHVt
cFJlbmRlclRyZWVfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rlc3RPcHRpb25z
R2VuZXJhdGVkS2V5cy5oLmVyYgogKQogCkBAIC01MywxMiArNTQsMTMgQEAgc2V0KER1bXBSZW5k
ZXJUcmVlX1dFQl9QUkVGRVJFTkNFUwogc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7RHVt
cFJlbmRlclRyZWVfV0VCX1BSRUZFUkVOQ0VTfSBQUk9QRVJUSUVTIEdFTkVSQVRFRCBUUlVFKQog
CiBhZGRfY3VzdG9tX2NvbW1hbmQoCi0gICAgT1VUUFVUICR7RHVtcFJlbmRlclRyZWVfREVSSVZF
RF9TT1VSQ0VTX0RJUn0vVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmgKKyAgICBPVVRQVVQgJHtE
dW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9UZXN0T3B0aW9uc0dlbmVyYXRlZFdl
YktpdExlZ2FjeUtleU1hcHBpbmcuY3BwICR7RHVtcFJlbmRlclRyZWVfREVSSVZFRF9TT1VSQ0VT
X0RJUn0vVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmgKICAgICBERVBFTkRTICR7RHVtcFJlbmRl
clRyZWVfV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFU30gJHtEdW1wUmVuZGVyVHJlZV9XRUJfUFJF
RkVSRU5DRVN9IFdURl9Db3B5UHJlZmVyZW5jZXMKLSAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRB
QkxFfSAke1dURl9TQ1JJUFRTX0RJUn0vR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAtLWZyb250ZW5k
IFdlYktpdExlZ2FjeSAtLWJhc2UgJHtXVEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgLS1kZWJ1ZyAke1dURl9TQ1JJUFRTX0RJUn0vUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNEZWJ1Zy55YW1sIC0tZXhwZXJpbWVudGFsICR7V1RGX1NDUklQVFNfRElSfS9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIC0taW50ZXJuYWwgJHtX
VEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbCAt
LW91dHB1dERpciAiJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfSIgLS10ZW1w
bGF0ZSAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaC5lcmIKKyAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRB
QkxFfSAke1dURl9TQ1JJUFRTX0RJUn0vR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAtLWZyb250ZW5k
IFdlYktpdExlZ2FjeSAtLWJhc2UgJHtXVEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgLS1kZWJ1ZyAke1dURl9TQ1JJUFRTX0RJUn0vUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNEZWJ1Zy55YW1sIC0tZXhwZXJpbWVudGFsICR7V1RGX1NDUklQVFNfRElSfS9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIC0taW50ZXJuYWwgJHtX
VEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbCAt
LW91dHB1dERpciAiJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfSIgLS10ZW1w
bGF0ZSAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYiAtLXRlbXBs
YXRlICR7RHVtcFJlbmRlclRyZWVfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rl
c3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oLmVyYgogICAgIFZFUkJBVElNKQogCiBsaXN0KEFQUEVO
RCBEdW1wUmVuZGVyVHJlZV9TT1VSQ0VTCisgICAgJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NP
VVJDRVNfRElSfS9UZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3Bw
CiAgICAgJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9UZXN0T3B0aW9uc0dl
bmVyYXRlZEtleXMuaAogKQogCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2OTA4MikKKysrIFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHdvcmtp
bmcgY29weSkKQEAgLTcsNiArNyw3IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwv
aW5jbHVkZS8KICQoUFJPSkVDVF9ESVIpLy4uL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250
ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL0JpbmRp
bmdzL0NvZGVHZW5lcmF0b3JEdW1wUmVuZGVyVHJlZS5wbQogJChQUk9KRUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMubWFrZQorJChQUk9KRUNUX0RJUikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRl
cy9UZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgogJChQ
Uk9KRUNUX0RJUikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0T3B0aW9uc0dlbmVy
YXRlZEtleXMuaC5lcmIKICQoUFJPSkVDVF9ESVIpL1NjcmlwdHMvZ2VuZXJhdGUtZGVyaXZlZC1z
b3VyY2VzLnNoCiAkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvQ29kZUdlbmVyYXRvci5w
bQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQgKzEsNSBAQAogIyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGJ5IHRoZSBnZW5lcmF0ZS14Y2Zp
bGVsaXN0cyBzY3JpcHQuCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvRHVt
cFJlbmRlclRyZWUvSlNVSVNjcmlwdENvbnRyb2xsZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvRHVtcFJlbmRlclRyZWUvSlNVSVNjcmlwdENvbnRyb2xsZXIuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0R1bXBSZW5kZXJUcmVlL1Rlc3RP
cHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9uc0dlbmVyYXRl
ZEtleXMuaApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMubWFrZQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291cmNlcy5tYWtlCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291cmNlcy5t
YWtlCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBAIFdFQl9QUkVGRVJFTkNFUyA9IFwK
ICMKIAogV0VCX1BSRUZFUkVOQ0VTX0dFTkVSQVRFRF9GSUxFUyA9IFwKKyAgICBUZXN0T3B0aW9u
c0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwIFwKICAgICBUZXN0T3B0aW9uc0dl
bmVyYXRlZEtleXMuaCBcCiAjCiAKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5j
cHAJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsMjAgQEAKIAogbmFtZXNwYWNlIFdUUiB7
CiAKK2NvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgVGVzdE9wdGlvbnM6OnN1cHBvcnRl
ZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKQoreworICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhp
cyBvbmNlIHRoZXJlIGlzIGEgdmlhYmxlIG1lY2hhbmlzbSBmb3IgcmVzZXRpbmcgV2ViUHJlZmVy
ZW5jZXMgYmV0d2VlbiB0ZXN0cywKKyAgICAvLyBhdCB3aGljaCBwb2ludCwgd2Ugd2lsbCBub3Qg
bmVlZCB0byBtYW51YWxseSByZXNldCBldmVyeSBzdXBwb3J0ZWQgcHJlZmVyZW5jZSBmb3IgZWFj
aCB0ZXN0LgorCisgICAgc3RhdGljIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBzdXBwb3J0ZWQg
PSBbXSB7CisgICAgICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBrZXlzOworICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIFtrZXksIHZhbHVlXSA9IGRlZmF1bHRzKCkuYm9vbFdlYlByZWZlcmVu
Y2VGZWF0dXJlcygpKQorICAgICAgICAgICAga2V5cy5wdXNoX2JhY2soa2V5KTsKKyAgICAgICAg
cmV0dXJuIGtleXM7CisgICAgfSgpOworICAgIHJldHVybiBzdXBwb3J0ZWQ7Cit9CisKIGNvbnN0
IFRlc3RGZWF0dXJlcyYgVGVzdE9wdGlvbnM6OmRlZmF1bHRzKCkKIHsKICAgICBzdGF0aWMgVGVz
dEZlYXR1cmVzIGZlYXR1cmVzOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlv
bnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCSh3
b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgY29uc3QgYXV0byYg
dWludDMyV2ViUHJlZmVyZW5jZUZlYXR1cmVzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlcy51
aW50MzJXZWJQcmVmZXJlbmNlRmVhdHVyZXM7IH0KICAgICBjb25zdCBhdXRvJiBzdHJpbmdXZWJQ
cmVmZXJlbmNlRmVhdHVyZXMoKSBjb25zdCB7IHJldHVybiBtX2ZlYXR1cmVzLnN0cmluZ1dlYlBy
ZWZlcmVuY2VGZWF0dXJlczsgfQogCisgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgdGhl
cmUgaXMgYSB2aWFibGUgbWVjaGFuaXNtIGZvciByZXNldGluZyBXZWJQcmVmZXJlbmNlcyBiZXR3
ZWVuIHRlc3RzLAorICAgIC8vIGF0IHdoaWNoIHBvaW50LCB3ZSB3aWxsIG5vdCBuZWVkIHRvIG1h
bnVhbGx5IHJlc2V0IGV2ZXJ5IHN1cHBvcnRlZCBwcmVmZXJlbmNlIGZvciBlYWNoIHRlc3QuCisg
ICAgc3RhdGljIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgc3VwcG9ydGVkQm9vbFdl
YlByZWZlcmVuY2VGZWF0dXJlcygpOworCiAgICAgc3RhdGljIHN0ZDo6c3RyaW5nIHRvV2ViS2l0
TGVnYWN5UHJlZmVyZW5jZUtleShjb25zdCBzdGQ6OnN0cmluZyYpOwogCiBwcml2YXRlOgpJbmRl
eDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJl
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9E
dW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDksNiArMTA5LDcgQEAKIAkJNURCOUFDOUUwRjcyMkMzNjAwNjg0
NjQxIC8qIFdlYktpdFdlaWdodFdhdGNoZXI3MDAudHRmIGluIENvcHkgRm9udCBGaWxlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzVGMDk3NzBEQUMzQ0I2MDBDOEI0RTUg
LyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjcwMC50dGYgKi87IH07CiAJCTVEQjlBQzlGMEY3MjJDMzYw
MDY4NDY0MSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyODAwLnR0ZiBpbiBDb3B5IEZvbnQgRmlsZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzc1RjA5NzgwREFDM0NCNjAwQzhC
NEU1IC8qIFdlYktpdFdlaWdodFdhdGNoZXI4MDAudHRmICovOyB9OwogCQk1REI5QUNBMDBGNzIy
QzM2MDA2ODQ2NDEgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGYgaW4gQ29weSBGb250IEZp
bGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3NUYwOTc5MERBQzNDQjYw
MEM4QjRFNSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyOTAwLnR0ZiAqLzsgfTsKKwkJN0M5ODkzREYy
NTQzM0Y4RTAwMzU0RUJDIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFw
cGluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
Qzk4OTNERTI1NDMzQzg3MDAzNTRFQkMgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdh
Y3lLZXlNYXBwaW5nLmNwcCAqLzsgfTsKIAkJN0NGRjlCQkYyNTMzQkIyNDAwMDgwMDlGIC8qIFRl
c3RGZWF0dXJlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3Q0ZGOUJCRTI1MzNCQjI0MDAwODAwOUYgLyogVGVzdEZlYXR1cmVzLmNwcCAqLzsgfTsK
IAkJN0NGRjlCQzIyNTMzQkMxNjAwMDgwMDlGIC8qIFRlc3RDb21tYW5kLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRkY5QkMxMjUzM0JDMTYwMDA4
MDA5RiAvKiBUZXN0Q29tbWFuZC5jcHAgKi87IH07CiAJCTgwMDQ1QUVFMTQ3NzE4RTcwMDgyOTBB
OCAvKiBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlci5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgwMDQ1QUVDMTQ3NzE4RTcwMDgyOTBBOCAv
KiBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlci5tbSAqLzsgfTsKQEAgLTMzMyw3ICsz
MzQsOCBAQAogCQk3QzQ0Njk3RjI1Mzc3QTAyMDAyNDI5MEEgLyogVGVzdE9wdGlvbnNHZW5lcmF0
ZWRLZXlzLmguZXJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFRlc3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oLmVyYjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0NDY5ODAyNTM3N0EwMjAwMjQyOTBBIC8qIGNoZWNr
LXhjZmlsZWxpc3RzLnNoICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5zY3JpcHQuc2g7IHBhdGggPSAiY2hlY2steGNmaWxlbGlzdHMuc2giOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzQ0Njk4MTI1Mzc3QTAyMDAyNDI5MEEgLyog
Z2VuZXJhdGUtZGVyaXZlZC1zb3VyY2VzLnNoICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQuc2g7IHBhdGggPSAiZ2VuZXJhdGUtZGVy
aXZlZC1zb3VyY2VzLnNoIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0M0NDY5ODUy
NTM3N0U1MjAwMjQyOTBBIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBUZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaDsgcGF0aCA9IFRlc3RPcHRpb25zR2VuZXJh
dGVkS2V5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzQ0Njk4NTI1Mzc3RTUy
MDAyNDI5MEEgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRl
c3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3
Qzk4OTNERTI1NDMzQzg3MDAzNTRFQkMgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdh
Y3lLZXlNYXBwaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRlc3RPcHRpb25zR2VuZXJhdGVk
V2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdDQkJDMzIyMURERkNGOUEwMDc4NkI5RCAvKiBUZXN0T3B0aW9ucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBUZXN0T3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3Q0ZGOUJCRDI1MzNCQjI0MDAwODAwOUYgLyogVGVzdEZlYXR1cmVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFRlc3RGZWF0dXJlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
Q0ZGOUJCRTI1MzNCQjI0MDAwODAwOUYgLyogVGVzdEZlYXR1cmVzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFRlc3RGZWF0dXJlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03
NzgsNiArNzgwLDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJ
N0M0NDY5ODUyNTM3N0U1MjAwMjQyOTBBIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oICov
LAorCQkJCTdDOTg5M0RFMjU0MzNDODcwMDM1NEVCQyAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZFdl
YktpdExlZ2FjeUtleU1hcHBpbmcuY3BwICovLAogCQkJKTsKIAkJCW5hbWUgPSAiRGVyaXZlZCBT
b3VyY2VzIjsKIAkJCXBhdGggPSBEZXJpdmVkU291cmNlcy9EdW1wUmVuZGVyVHJlZTsKQEAgLTEy
OTEsNiArMTI5NCw3IEBACiAJCQkJN0NGRjlCQzIyNTMzQkMxNjAwMDgwMDlGIC8qIFRlc3RDb21t
YW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDRkY5QkJGMjUzM0JCMjQwMDA4MDA5RiAvKiBU
ZXN0RmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTMwQTIxRjgyMDUxRDhDNDAwMDhG
RjQyIC8qIFRlc3RPcHRpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDOTg5M0RGMjU0MzNG
OEUwMDM1NEVCQyAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwMTMxREEwQzk3NzIwMTAwODczMTdEIC8qIFRlc3RS
dW5uZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNBMThCMjQwQzlCMDE0QjAwMTE0MzY5IC8q
IFRlc3RSdW5uZXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNEQ0MjM2MTFERDUwNDgyMDA2
NzgyOTAgLyogVGV4dElucHV0Q29udHJvbGxlcklPUy5tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBU
b29scy9EdW1wUmVuZGVyVHJlZS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rlc3RPcHRp
b25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHAuZXJiCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvVGVzdE9w
dGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNwcC5lcmIJKG5vbmV4aXN0ZW50
KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACisvKgorICogPCU9IEB3YXJuaW5nICU+CisgKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRlc3RPcHRpb25zLmgiCisKK25h
bWVzcGFjZSBXVFIgeworCitzdGQ6OnN0cmluZyBUZXN0T3B0aW9uczo6dG9XZWJLaXRMZWdhY3lQ
cmVmZXJlbmNlS2V5KGNvbnN0IHN0ZDo6c3RyaW5nJiB3ZWJQcmVmZXJlbmNlc0tleSkKK3sKKyAg
ICBzdGF0aWMgc3RkOjp1bm9yZGVyZWRfbWFwPHN0ZDo6c3RyaW5nLCBzdGQ6OnN0cmluZz4gbm9u
U3RhbmRhcmRLZXlzID0geworPCUtIGZvciBAcHJlZiBpbiBAZXhwb3NlZFByZWZlcmVuY2VzLnNl
bGVjdCB7IHxwfCBwLm9wdHNbIndlYktpdExlZ2FjeVByZWZlcmVuY2VLZXkiXSB9IGRvIC0lPgor
ICAgICAgICB7ICI8JT0gQHByZWYubmFtZSAlPiIsICI8JT0gQHByZWYucHJlZmVyZW5jZUtleSAl
PiIgfSwgXAorPCUtIGVuZCAtJT4KKyAgICB9OworCisgICAgYXV0byBpdCA9IG5vblN0YW5kYXJk
S2V5cy5maW5kKHdlYlByZWZlcmVuY2VzS2V5KTsKKyAgICBpZiAoaXQgIT0gbm9uU3RhbmRhcmRL
ZXlzLmVuZCgpKQorICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsKKworICAgIHJldHVybiAiV2Vi
S2l0IiArIHdlYlByZWZlcmVuY2VzS2V5OworfQorCit9CkluZGV4OiBUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEz
MCw2ICsxMzAsMTEgQEAgZXh0ZXJuICJDIiB7CiAjaW1wb3J0IDxtYWNoLW8vZ2V0c2VjdC5oPgog
fQogCitzdGF0aWMgUmV0YWluUHRyPE5TU3RyaW5nPiB0b05TKGNvbnN0IHN0ZDo6c3RyaW5nJiBz
dHJpbmcpCit7CisgICAgcmV0dXJuIGFkb3B0TlMoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhV
VEY4U3RyaW5nOnN0cmluZy5jX3N0cigpXSk7Cit9CisKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKIEBpbnRlcmZhY2UgRHVtcFJlbmRlclRyZWVBcHBsaWNhdGlvbiA6IE5TQXBwbGljYXRpb24K
IEBlbmQKQEAgLTk2OSw0MSArOTc0LDIxIEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5j
ZXNUb0NvbnNpc3QKICAgICBbV2ViUHJlZmVyZW5jZXMgX3NldEN1cnJlbnROZXR3b3JrTG9hZGVy
U2Vzc2lvbkNvb2tpZUFjY2VwdFBvbGljeTpOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJv
bU1haW5Eb2N1bWVudERvbWFpbl07CiB9CiAKLXN0YXRpYyBib29sIGJvb2xXZWJQcmVmZXJlbmNl
RmVhdHVyZVZhbHVlKHN0ZDo6c3RyaW5nIGtleSwgYm9vbCBkZWZhdWx0VmFsdWUsIGNvbnN0IFdU
Ujo6VGVzdE9wdGlvbnMmIG9wdGlvbnMpCitzdGF0aWMgYm9vbCBib29sV2ViUHJlZmVyZW5jZUZl
YXR1cmVWYWx1ZShzdGQ6OnN0cmluZyBrZXksIGNvbnN0IFdUUjo6VGVzdE9wdGlvbnMmIG9wdGlv
bnMpCiB7CiAgICAgYXV0byBpdCA9IG9wdGlvbnMuYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlcygp
LmZpbmQoa2V5KTsKLSAgICBpZiAoaXQgIT0gb3B0aW9ucy5ib29sV2ViUHJlZmVyZW5jZUZlYXR1
cmVzKCkuZW5kKCkpCi0gICAgICAgIHJldHVybiBpdC0+c2Vjb25kOwotICAgIHJldHVybiBkZWZh
dWx0VmFsdWU7CisgICAgQVNTRVJUKGl0ICE9IG9wdGlvbnMuYm9vbFdlYlByZWZlcmVuY2VGZWF0
dXJlcygpLmVuZCgpKTsKKyAgICByZXR1cm4gaXQtPnNlY29uZDsKIH0KIAogc3RhdGljIHZvaWQg
c2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyhXZWJQcmVmZXJlbmNlcyAqcHJlZmVyZW5j
ZXMsIGNvbnN0IFdUUjo6VGVzdE9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgcHJlZmVyZW5jZXMu
cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCA9IG9wdGlvbnMudXNlRXBoZW1lcmFsU2Vzc2lvbigpOwog
Ci0gICAgcHJlZmVyZW5jZXMuYXR0YWNobWVudEVsZW1lbnRFbmFibGVkID0gYm9vbFdlYlByZWZl
cmVuY2VGZWF0dXJlVmFsdWUoIkF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCIsIGZhbHNlLCBvcHRp
b25zKTsKLSAgICBwcmVmZXJlbmNlcy5hY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkID0gYm9vbFdl
YlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQiLCBmYWxz
ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMubWVudUl0ZW1FbGVtZW50RW5hYmxlZCA9IGJv
b2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJNZW51SXRlbUVsZW1lbnRFbmFibGVkIiwgZmFs
c2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmtleWdlbkVsZW1lbnRFbmFibGVkID0gYm9v
bFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIktleWdlbkVsZW1lbnRFbmFibGVkIiwgZmFsc2Us
IG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLm1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkID0g
Ym9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIk1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVk
IiwgdHJ1ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuaW5zcGVjdG9yQWRkaXRpb25zRW5h
YmxlZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJJbnNwZWN0b3JBZGRpdGlvbnNF
bmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmFsbG93Q3Jvc3NPcmln
aW5TdWJyZXNvdXJjZXNUb0Fza0ZvckNyZWRlbnRpYWxzID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0
dXJlVmFsdWUoIkFsbG93Q3Jvc3NPcmlnaW5TdWJyZXNvdXJjZXNUb0Fza0ZvckNyZWRlbnRpYWxz
IiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmNvbG9yRmlsdGVyRW5hYmxlZCA9
IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJDb2xvckZpbHRlckVuYWJsZWQiLCBmYWxz
ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuc2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRh
cmllc0VuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiU2VsZWN0aW9uQWNy
b3NzU2hhZG93Qm91bmRhcmllc0VuYWJsZWQiLCB0cnVlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJl
bmNlcy53ZWJHUFVFbmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIldlYkdQ
VUVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuQ1NTTG9naWNhbEVu
YWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ1NTTG9naWNhbEVuYWJsZWQi
LCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMubGluZUhlaWdodFVuaXRzRW5hYmxl
ZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJMaW5lSGVpZ2h0VW5pdHNFbmFibGVk
IiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmFkQ2xpY2tBdHRyaWJ1dGlvbkVu
YWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQWRDbGlja0F0dHJpYnV0aW9u
RW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5yZXNpemVPYnNlcnZl
ckVuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiUmVzaXplT2JzZXJ2ZXJF
bmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLkNTU09NVmlld1Ntb290
aFNjcm9sbGluZ0VuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ1NTT01W
aWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJl
bmNlcy5jb3JlTWF0aE1MRW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJD
b3JlTWF0aE1MRW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5yZXF1
ZXN0SWRsZUNhbGxiYWNrRW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJS
ZXF1ZXN0SWRsZUNhbGxiYWNrRW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJl
bmNlcy5hc3luY0NsaXBib2FyZEFQSUVuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVW
YWx1ZSgiQXN5bmNDbGlwYm9hcmRBUElFbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHBy
ZWZlcmVuY2VzLnVzZXNQYWdlQ2FjaGUgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgi
VXNlc0JhY2tGb3J3YXJkQ2FjaGUiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMu
bGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQgPSBib29sV2ViUHJlZmVy
ZW5jZUZlYXR1cmVWYWx1ZSgiTGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJs
ZWQiLCB0cnVlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5hc3BlY3RSYXRpb09mSW1nRnJv
bVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJB
c3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCIsIGZhbHNlLCBvcHRpb25z
KTsKLSAgICBwcmVmZXJlbmNlcy5hbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzID0gYm9vbFdl
YlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMiLCB0
cnVlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5jb250YWN0UGlja2VyQVBJRW5hYmxlZCA9
IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJDb250YWN0UGlja2VyQVBJRW5hYmxlZCIs
IGZhbHNlLCBvcHRpb25zKTsKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSB0aGVyZSBp
cyBhIHZpYWJsZSBtZWNoYW5pc20gZm9yIHJlc2V0aW5nIFdlYlByZWZlcmVuY2VzIGJldHdlZW4g
dGVzdHMsCisgICAgLy8gYXQgd2hpY2ggcG9pbnQsIHdlIHdpbGwgbm90IG5lZWQgdG8gbWFudWFs
bHkgcmVzZXQgZXZlcnkgc3VwcG9ydGVkIHByZWZlcmVuY2UgZm9yIGVhY2ggdGVzdC4KKyAgICBm
b3IgKGF1dG8mIGtleSA9IG9wdGlvbnMuc3VwcG9ydGVkQm9vbFdlYlByZWZlcmVuY2VGZWF0dXJl
cygpKQorICAgICAgICBbcHJlZmVyZW5jZXMgX3NldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZ1dp
dGhWYWx1ZTpib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZShrZXksIG9wdGlvbnMpIGZvcktl
eTp0b05TKFdUUjo6VGVzdE9wdGlvbnM6OnRvV2ViS2l0TGVnYWN5UHJlZmVyZW5jZUtleShrZXkp
KS5nZXQoKV07CiB9CiAKIC8vIENhbGxlZCBvbmNlIG9uIER1bXBSZW5kZXJUcmVlIHN0YXJ0dXAu
CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQkocmV2aXNp
b24gMjY5MDgyKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTYwOSw3ICs2MDksNyBAQCB2b2lkIFRlc3RSdW5uZXI6Om92ZXJy
aWRlUHJlZmVyZW5jZShKU1N0CiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiB2YWx1ZUNGID0g
YWRvcHRDRihKU1N0cmluZ0NvcHlDRlN0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCB2YWx1ZSkp
OwogICAgIE5TU3RyaW5nICp2YWx1ZU5TID0gKF9fYnJpZGdlIE5TU3RyaW5nICopdmFsdWVDRi5n
ZXQoKTsKIAotICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gX3NldFByZWZl
cmVuY2VGb3JUZXN0V2l0aFZhbHVlOnZhbHVlTlMgZm9yS2V5OmtleU5TXTsKKyAgICBbW1ttYWlu
RnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIF9zZXRTdHJpbmdQcmVmZXJlbmNlRm9yVGVzdGlu
Z1dpdGhWYWx1ZTp2YWx1ZU5TIGZvcktleTprZXlOU107CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6
cmVtb3ZlQWxsVmlzaXRlZExpbmtzKCkK
</data>
<flag name="commit-queue"
          id="428967"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412491</attachid>
            <date>2020-10-27 18:28:19 -0700</date>
            <delta_ts>2020-10-27 18:42:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218267-20201027182818.patch</filename>
            <type>text/plain</type>
            <size>26130</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTA4MikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIwIEBACisyMDIwLTEwLTI3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFkZGluZyBuZXcgU1BJIGZvciBl
YWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgyNjcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvc2UgYSBzZXQgb2Ygc2V0dGVycyB0byBmb3Ig
RHVtcFJlbmRlclRyZWUgdG8gdXNlIHdoZW4gc2V0dGluZyBwcmVmZXJlbmNlcworICAgICAgICBi
eSBzdHJpbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyBfc2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVl
OmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFVJbnQzMlByZWZlcmVu
Y2VGb3JUZXN0aW5nV2l0aFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgX3NldERvdWJsZVByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOmZvcktleTpdKToKKyAg
ICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFN0cmluZ1ByZWZlcmVuY2VGb3JUZXN0aW5nV2l0
aFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oOgorCiAyMDIwLTEwLTI3ICBUZXRzdWhhcnUgT2h6ZWtpICA8dGV0c3VoYXJ1Lm9oemVraUBn
bWFpbC5jb20+CiAKICAgICAgICAgTWFrZSBXZWJDb3JlOjpGb2N1c0RpcmVjdGlvbiB0byBlbnVt
IGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDI2ODk4MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2NjAsMjYg
KzE2NjAsNiBAQCArICh2b2lkKV9zZXRJQkNyZWF0b3JJRDooTlNTdHJpbmcgKilzdHJpCiAgICAg
W29sZCByZWxlYXNlXTsKIH0KIAotKyAodm9pZClfc3dpdGNoTmV0d29ya0xvYWRlclRvTmV3VGVz
dGluZ1Nlc3Npb24KLXsKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFdlYlRocmVhZExv
Y2soKTsKLSNlbmRpZgotICAgIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcDo6c3dpdGNoVG9OZXdU
ZXN0aW5nU2Vzc2lvbigpOwotfQotCi0rICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9u
Ci17Ci0gICAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24o
KS5kZWxldGVBbGxDb29raWVzKCk7Ci19Ci0KLSsgKHZvaWQpX3NldEN1cnJlbnROZXR3b3JrTG9h
ZGVyU2Vzc2lvbkNvb2tpZUFjY2VwdFBvbGljeTooTlNIVFRQQ29va2llQWNjZXB0UG9saWN5KXBv
bGljeQotewotICAgIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPiBjb29raWVTdG9y
YWdlID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5j
b29raWVTdG9yYWdlKCk7Ci0gICAgQVNTRVJUKGNvb2tpZVN0b3JhZ2UpOyAvLyBXaWxsIGZhaWwg
d2hlbiBOZXR3b3JrU3RvcmFnZVNlc3Npb25NYXA6OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24o
KSB3YXMgbm90IGNhbGxlZCBiZWZvcmVoYW5kLgotICAgIENGSFRUUENvb2tpZVN0b3JhZ2VTZXRD
b29raWVBY2NlcHRQb2xpY3koY29va2llU3RvcmFnZS5nZXQoKSwgcG9saWN5KTsKLX0KLQogLSAo
Qk9PTClpc0RPTVBhc3RlQWxsb3dlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdERPTVBhc3RlQWxsb3dlZFByZWZlcmVuY2VLZXldOwpAQCAtMTk1NiwxMSArMTkz
Niw2IEBAIC0gKHZvaWQpd2lsbEFkZFRvV2ViVmlldwogICAgICsrX3ByaXZhdGUtPm51bVdlYlZp
ZXdzOwogfQogCi0tICh2b2lkKV9zZXRQcmVmZXJlbmNlRm9yVGVzdFdpdGhWYWx1ZTooTlNTdHJp
bmcgKil2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5Ci17Ci0gICAgW3NlbGYgX3NldFN0cmlu
Z1ZhbHVlOnZhbHVlIGZvcktleTprZXldOwotfQotCiAtICh2b2lkKXNldEZ1bGxTY3JlZW5FbmFi
bGVkOihCT09MKWZsYWcKIHsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5Oldl
YktpdEZ1bGxTY3JlZW5FbmFibGVkUHJlZmVyZW5jZUtleV07CkBAIC0zMDAzLDYgKzI5NzgsNTAg
QEAgLSAodm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JGZWF0dQogCiBAZW5kCiAKK0Bp
bXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZVRlc3RpbmcpCisKKysgKHZv
aWQpX3N3aXRjaE5ldHdvcmtMb2FkZXJUb05ld1Rlc3RpbmdTZXNzaW9uCit7CisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyAgICBXZWJUaHJlYWRMb2NrKCk7CisjZW5kaWYKKyAgICBOZXR3b3Jr
U3RvcmFnZVNlc3Npb25NYXA6OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24oKTsKK30KKworKyAo
dm9pZClfc2V0Q3VycmVudE5ldHdvcmtMb2FkZXJTZXNzaW9uQ29va2llQWNjZXB0UG9saWN5OihO
U0hUVFBDb29raWVBY2NlcHRQb2xpY3kpcG9saWN5Cit7CisgICAgYXV0byBjb29raWVTdG9yYWdl
ID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5jb29r
aWVTdG9yYWdlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoY29va2llU3RvcmFnZSk7IC8vIFdpbGwg
ZmFpbCB3aGVuIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcDo6c3dpdGNoVG9OZXdUZXN0aW5nU2Vz
c2lvbigpIHdhcyBub3QgY2FsbGVkIGJlZm9yZWhhbmQuCisgICAgQ0ZIVFRQQ29va2llU3RvcmFn
ZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCBwb2xpY3kpOworfQor
CisrICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9uCit7CisgICAgTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5kZWxldGVBbGxDb29raWVzKCk7
Cit9CisKKy0gKHZvaWQpX3NldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTooQk9P
TCl2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5Cit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1
ZTp2YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworLSAodm9pZClfc2V0VUludDMyUHJlZmVyZW5jZUZv
clRlc3RpbmdXaXRoVmFsdWU6KHVpbnQzMl90KXZhbHVlIGZvcktleTooTlNTdHJpbmcgKilrZXkK
K3sKKyAgICBbc2VsZiBfc2V0SW50ZWdlclZhbHVlOnZhbHVlIGZvcktleTprZXldOworfQorCist
ICh2b2lkKV9zZXREb3VibGVQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTooZG91YmxlKXZh
bHVlIGZvcktleTooTlNTdHJpbmcgKilrZXkKK3sKKyAgICBbc2VsZiBfc2V0RmxvYXRWYWx1ZTp2
YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworLSAodm9pZClfc2V0U3RyaW5nUHJlZmVyZW5jZUZvclRl
c3RpbmdXaXRoVmFsdWU6KE5TU3RyaW5nICopdmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKWtleQor
eworICAgIFtzZWxmIF9zZXRTdHJpbmdWYWx1ZTp2YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworQGVu
ZAorCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVQcmVmZXJlbmNl
c0NvbnZlcnRlZFRvV2ViRmVhdHVyZSkKIAogLSAoQk9PTCl1c2VyR2VzdHVyZVByb21pc2VQcm9w
YWdhdGlvbkVuYWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMjY4OTgzKQorKysg
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtODksMTMgKzg5LDYgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNl
cyAoV2ViUHJpdmF0ZSkKICsgKHZvaWQpX3NldEluaXRpYWxEZWZhdWx0VGV4dEVuY29kaW5nVG9T
eXN0ZW1FbmNvZGluZzsKICsgKHZvaWQpX3NldElCQ3JlYXRvcklEOihOU1N0cmluZyAqKXN0cmlu
ZzsKIAotLy8gRm9yIER1bXBSZW5kZXJUcmVlIHVzZSBvbmx5LgotKyAodm9pZClfc3dpdGNoTmV0
d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb247Ci0rICh2b2lkKV9zZXRDdXJyZW50TmV0d29y
a0xvYWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFjY2VwdFBvbGlj
eSljb29raWVBY2NlcHRQb2xpY3k7Ci0rICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9u
OwotLy8gVXNlZCB0byBzZXQgcHJlZmVyZW5jZSBzcGVjaWZpZWQgaW4gdGhlIHRlc3QgdmlhIExh
eW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSguLikuCi0tICh2b2lkKV9zZXRQ
cmVmZXJlbmNlRm9yVGVzdFdpdGhWYWx1ZTooTlNTdHJpbmcgKil2YWx1ZSBmb3JLZXk6KE5TU3Ry
aW5nICopa2V5OwotCiArICh2b2lkKXNldFdlYktpdExpbmtUaW1lVmVyc2lvbjooaW50KXZlcnNp
b247CiAKIC8vIEZvciBXZWJWaWV3J3MgdXNlIG9ubHkuCkBAIC0zMDksNiArMzAyLDE3IEBAIEBp
bnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVGZWEKIC0gKHZvaWQpX3NldEVuYWJs
ZWQ6KEJPT0wpdmFsdWUgZm9yRmVhdHVyZTooV2ViRmVhdHVyZSAqKWZlYXR1cmU7CiBAZW5kCiAK
K0BpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVUZXN0aW5nKQorKyAodm9pZClf
c3dpdGNoTmV0d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb247CisrICh2b2lkKV9zZXRDdXJy
ZW50TmV0d29ya0xvYWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSljb29raWVBY2NlcHRQb2xpY3k7CisrICh2b2lkKV9jbGVhck5ldHdvcmtMb2Fk
ZXJTZXNzaW9uOworCistICh2b2lkKV9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFs
dWU6KEJPT0wpdmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKWtleTsKKy0gKHZvaWQpX3NldFVJbnQz
MlByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOih1aW50MzJfdCl2YWx1ZSBmb3JLZXk6KE5T
U3RyaW5nICopa2V5OworLSAodm9pZClfc2V0RG91YmxlUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRo
VmFsdWU6KGRvdWJsZSl2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5OworLSAodm9pZClfc2V0
U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFsdWU6KE5TU3RyaW5nICopdmFsdWUgZm9y
S2V5OihOU1N0cmluZyAqKWtleTsKK0BlbmQKKwogLy8gRklYTUU6IElmIHRoZXNlIGFyZSBub3Qg
dXNlZCBhbnl3aGVyZSwgd2Ugc2hvdWxkIHJlbW92ZSB0aGVtIGFuZCBvbmx5IHVzZSBXZWJGZWF0
dXJlIG1lY2hhbmlzbSBmb3IgdGhlIHByZWZlcmVuY2UuCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVu
Y2VzIChXZWJQcml2YXRlUHJlZmVyZW5jZXNDb252ZXJ0ZWRUb1dlYkZlYXR1cmUpCiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCB1c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQ7
CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzNyBAQAorMjAyMC0xMC0yNyAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgW1Rlc3RpbmddIFJlbW92ZSByZXF1aXJlbWVudCBvZiBhZGRpbmcgbmV3IFNQSSBm
b3IgZWFjaCBwcmVmZXJlbmNlIHRoYXQgbmVlZHMgdGVzdGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MjY3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlcyB0aGUgcmVxdWlyZW1lbnQgZm9y
IFdlYktpdExlZ2FjeSAobWFjT1MpLCB3aGljaCBoYXMgYWxyZWFkeSBiZWVuIGxpZnRlZCBmb3IK
KyAgICAgICAgbW9kZXJuIFdlYktpdCwgdGhhdCB0ZXN0aW5nIG5ldyBwcmVmZXJlbmNlcyByZXF1
aXJlcyBuZXcgV2ViUHJlZmVyZW5jZXMgU1BJLiBJbnN0ZWFkLAorICAgICAgICBuZXcgdGVzdGlu
ZyBzcGVjaWZpYyBTUEkgKFtXZWJQcmVmZXJlbmNlcyBfc2V0KlByZWZlcmVuY2VGb3JUZXN0aW5n
V2l0aFZhbHVlOmZvcktleTpdKQorICAgICAgICBhcmUgdXNlZCB0byBhbGxvdyBzdHJpbmcgYmFz
ZWQgc2V0dGluZy4KKyAgICAgICAgCisgICAgICAgIFRvIG1ha2UgdGhpcyB3b3JrIHdpdGggdGhl
IHNoYXJlZCBXZWJQcmVmZXJlbmNlcyoueWFtbCBuYW1lcywgYSBoZWxwZXIgaXMgZ2VuZXJhdGVk
IHRvCisgICAgICAgIG1hcCBmcm9tIHRoZSBzaGFyZWQgbmFtZSB0byB0aGUgV2ViS2l0TGVnYWN5
IHNwZWNpZmljIG5hbWUuCisKKyAgICAgICAgVGhpcyBzdGlsbCBkb2Vzbid0IHF1aXRlIHRha2Ug
dXMgYWxsIHRoZSB3YXkgdG8gc3VwcG9ydGluZyBhbnkgV2ViUHJlZmVyZW5jZXMqLnlhbWwgbmFt
ZQorICAgICAgICBpbiB0ZXN0IGhlYWRlcnMsIGFzIGlzIHN1cHBvcnRlZCBpbiBXZWJLaXRUZXN0
UnVubmVyLCBhcyB3ZSBzdGlsbCBuZWVkIGEgdmlhYmxlIG1lY2hhbmlzbQorICAgICAgICB0byBm
dWxseSByZXNldCBXZWJQcmVmZXJlbmNlcyBiZXR3ZWVuIHRlc3RzLiBSaWdodCBub3csIGVhY2gg
cHJlZmVyZW5jZSBtdXN0IGJlIHNldCBvbgorICAgICAgICBlYWNoIHRlc3QgcnVuLCByZXF1aXJp
bmcgdGhlIGNvbXBsZXRlIHNldCBvZiBwcmVmZXJlbmNlcyB0byBiZSBrbm93biB1cCBmcm9udC4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvVGVzdE9wdGlv
bnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNwcC5lcmI6IEFkZGVkLgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdE9w
dGlvbnM6OnN1cHBvcnRlZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0
aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06Cisg
ICAgICAgIChUZXN0UnVubmVyOjpvdmVycmlkZVByZWZlcmVuY2UpOgorCiAyMDIwLTEwLTI3ICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBEdW1wUmVuZGVyVHJlZSBz
cGFtcyBzdGRlcnIgd2l0aCBDRk5ldHdvcmsgd2FybmluZ3MgYWJvdXQgbnVsbCBkaXNrY2FjaGUg
cGF0aApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI2OTA4
MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC00MCw2ICs0MCw3IEBAIGxpc3QoQVBQRU5EIER1bXBSZW5kZXJUcmVlX1BSSVZBVEVfSU5D
TFUKICkKIAogc2V0KER1bXBSZW5kZXJUcmVlX1dFQl9QUkVGRVJFTkNFU19URU1QTEFURVMKKyAg
ICAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0
T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgogICAgICR7RHVt
cFJlbmRlclRyZWVfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rlc3RPcHRpb25z
R2VuZXJhdGVkS2V5cy5oLmVyYgogKQogCkBAIC01MywxMiArNTQsMTMgQEAgc2V0KER1bXBSZW5k
ZXJUcmVlX1dFQl9QUkVGRVJFTkNFUwogc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7RHVt
cFJlbmRlclRyZWVfV0VCX1BSRUZFUkVOQ0VTfSBQUk9QRVJUSUVTIEdFTkVSQVRFRCBUUlVFKQog
CiBhZGRfY3VzdG9tX2NvbW1hbmQoCi0gICAgT1VUUFVUICR7RHVtcFJlbmRlclRyZWVfREVSSVZF
RF9TT1VSQ0VTX0RJUn0vVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmgKKyAgICBPVVRQVVQgJHtE
dW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9UZXN0T3B0aW9uc0dlbmVyYXRlZFdl
YktpdExlZ2FjeUtleU1hcHBpbmcuY3BwICR7RHVtcFJlbmRlclRyZWVfREVSSVZFRF9TT1VSQ0VT
X0RJUn0vVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmgKICAgICBERVBFTkRTICR7RHVtcFJlbmRl
clRyZWVfV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFU30gJHtEdW1wUmVuZGVyVHJlZV9XRUJfUFJF
RkVSRU5DRVN9IFdURl9Db3B5UHJlZmVyZW5jZXMKLSAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRB
QkxFfSAke1dURl9TQ1JJUFRTX0RJUn0vR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAtLWZyb250ZW5k
IFdlYktpdExlZ2FjeSAtLWJhc2UgJHtXVEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgLS1kZWJ1ZyAke1dURl9TQ1JJUFRTX0RJUn0vUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNEZWJ1Zy55YW1sIC0tZXhwZXJpbWVudGFsICR7V1RGX1NDUklQVFNfRElSfS9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIC0taW50ZXJuYWwgJHtX
VEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbCAt
LW91dHB1dERpciAiJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfSIgLS10ZW1w
bGF0ZSAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaC5lcmIKKyAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRB
QkxFfSAke1dURl9TQ1JJUFRTX0RJUn0vR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAtLWZyb250ZW5k
IFdlYktpdExlZ2FjeSAtLWJhc2UgJHtXVEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgLS1kZWJ1ZyAke1dURl9TQ1JJUFRTX0RJUn0vUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNEZWJ1Zy55YW1sIC0tZXhwZXJpbWVudGFsICR7V1RGX1NDUklQVFNfRElSfS9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIC0taW50ZXJuYWwgJHtX
VEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbCAt
LW91dHB1dERpciAiJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfSIgLS10ZW1w
bGF0ZSAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYiAtLXRlbXBs
YXRlICR7RHVtcFJlbmRlclRyZWVfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rl
c3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oLmVyYgogICAgIFZFUkJBVElNKQogCiBsaXN0KEFQUEVO
RCBEdW1wUmVuZGVyVHJlZV9TT1VSQ0VTCisgICAgJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NP
VVJDRVNfRElSfS9UZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3Bw
CiAgICAgJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9UZXN0T3B0aW9uc0dl
bmVyYXRlZEtleXMuaAogKQogCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2OTA4MikKKysrIFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHdvcmtp
bmcgY29weSkKQEAgLTcsNiArNyw3IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwv
aW5jbHVkZS8KICQoUFJPSkVDVF9ESVIpLy4uL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250
ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL0JpbmRp
bmdzL0NvZGVHZW5lcmF0b3JEdW1wUmVuZGVyVHJlZS5wbQogJChQUk9KRUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMubWFrZQorJChQUk9KRUNUX0RJUikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRl
cy9UZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgogJChQ
Uk9KRUNUX0RJUikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0T3B0aW9uc0dlbmVy
YXRlZEtleXMuaC5lcmIKICQoUFJPSkVDVF9ESVIpL1NjcmlwdHMvZ2VuZXJhdGUtZGVyaXZlZC1z
b3VyY2VzLnNoCiAkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvQ29kZUdlbmVyYXRvci5w
bQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQgKzEsNSBAQAogIyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGJ5IHRoZSBnZW5lcmF0ZS14Y2Zp
bGVsaXN0cyBzY3JpcHQuCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvRHVt
cFJlbmRlclRyZWUvSlNVSVNjcmlwdENvbnRyb2xsZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvRHVtcFJlbmRlclRyZWUvSlNVSVNjcmlwdENvbnRyb2xsZXIuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0R1bXBSZW5kZXJUcmVlL1Rlc3RP
cHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9uc0dlbmVyYXRl
ZEtleXMuaApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMubWFrZQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291cmNlcy5tYWtlCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291cmNlcy5t
YWtlCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBAIFdFQl9QUkVGRVJFTkNFUyA9IFwK
ICMKIAogV0VCX1BSRUZFUkVOQ0VTX0dFTkVSQVRFRF9GSUxFUyA9IFwKKyAgICBUZXN0T3B0aW9u
c0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwIFwKICAgICBUZXN0T3B0aW9uc0dl
bmVyYXRlZEtleXMuaCBcCiAjCiAKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5j
cHAJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsMjAgQEAKIAogbmFtZXNwYWNlIFdUUiB7
CiAKK2NvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgVGVzdE9wdGlvbnM6OnN1cHBvcnRl
ZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKQoreworICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhp
cyBvbmNlIHRoZXJlIGlzIGEgdmlhYmxlIG1lY2hhbmlzbSBmb3IgcmVzZXRpbmcgV2ViUHJlZmVy
ZW5jZXMgYmV0d2VlbiB0ZXN0cywKKyAgICAvLyBhdCB3aGljaCBwb2ludCwgd2Ugd2lsbCBub3Qg
bmVlZCB0byBtYW51YWxseSByZXNldCBldmVyeSBzdXBwb3J0ZWQgcHJlZmVyZW5jZSBmb3IgZWFj
aCB0ZXN0LgorCisgICAgc3RhdGljIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBzdXBwb3J0ZWQg
PSBbXSB7CisgICAgICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBrZXlzOworICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIFtrZXksIHZhbHVlXSA6IGRlZmF1bHRzKCkuYm9vbFdlYlByZWZlcmVu
Y2VGZWF0dXJlcygpKQorICAgICAgICAgICAga2V5cy5wdXNoX2JhY2soa2V5KTsKKyAgICAgICAg
cmV0dXJuIGtleXM7CisgICAgfSgpOworICAgIHJldHVybiBzdXBwb3J0ZWQ7Cit9CisKIGNvbnN0
IFRlc3RGZWF0dXJlcyYgVGVzdE9wdGlvbnM6OmRlZmF1bHRzKCkKIHsKICAgICBzdGF0aWMgVGVz
dEZlYXR1cmVzIGZlYXR1cmVzOwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlv
bnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5oCSh3
b3JraW5nIGNvcHkpCkBAIC01Niw2ICs1NiwxMCBAQCBwdWJsaWM6CiAgICAgY29uc3QgYXV0byYg
dWludDMyV2ViUHJlZmVyZW5jZUZlYXR1cmVzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlcy51
aW50MzJXZWJQcmVmZXJlbmNlRmVhdHVyZXM7IH0KICAgICBjb25zdCBhdXRvJiBzdHJpbmdXZWJQ
cmVmZXJlbmNlRmVhdHVyZXMoKSBjb25zdCB7IHJldHVybiBtX2ZlYXR1cmVzLnN0cmluZ1dlYlBy
ZWZlcmVuY2VGZWF0dXJlczsgfQogCisgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgdGhl
cmUgaXMgYSB2aWFibGUgbWVjaGFuaXNtIGZvciByZXNldGluZyBXZWJQcmVmZXJlbmNlcyBiZXR3
ZWVuIHRlc3RzLAorICAgIC8vIGF0IHdoaWNoIHBvaW50LCB3ZSB3aWxsIG5vdCBuZWVkIHRvIG1h
bnVhbGx5IHJlc2V0IGV2ZXJ5IHN1cHBvcnRlZCBwcmVmZXJlbmNlIGZvciBlYWNoIHRlc3QuCisg
ICAgc3RhdGljIGNvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgc3VwcG9ydGVkQm9vbFdl
YlByZWZlcmVuY2VGZWF0dXJlcygpOworCiAgICAgc3RhdGljIHN0ZDo6c3RyaW5nIHRvV2ViS2l0
TGVnYWN5UHJlZmVyZW5jZUtleShjb25zdCBzdGQ6OnN0cmluZyYpOwogCiBwcml2YXRlOgpJbmRl
eDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJl
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9E
dW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDksNiArMTA5LDcgQEAKIAkJNURCOUFDOUUwRjcyMkMzNjAwNjg0
NjQxIC8qIFdlYktpdFdlaWdodFdhdGNoZXI3MDAudHRmIGluIENvcHkgRm9udCBGaWxlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzVGMDk3NzBEQUMzQ0I2MDBDOEI0RTUg
LyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjcwMC50dGYgKi87IH07CiAJCTVEQjlBQzlGMEY3MjJDMzYw
MDY4NDY0MSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyODAwLnR0ZiBpbiBDb3B5IEZvbnQgRmlsZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzc1RjA5NzgwREFDM0NCNjAwQzhC
NEU1IC8qIFdlYktpdFdlaWdodFdhdGNoZXI4MDAudHRmICovOyB9OwogCQk1REI5QUNBMDBGNzIy
QzM2MDA2ODQ2NDEgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGYgaW4gQ29weSBGb250IEZp
bGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3NUYwOTc5MERBQzNDQjYw
MEM4QjRFNSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyOTAwLnR0ZiAqLzsgfTsKKwkJN0M5ODkzREYy
NTQzM0Y4RTAwMzU0RUJDIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFw
cGluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
Qzk4OTNERTI1NDMzQzg3MDAzNTRFQkMgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdh
Y3lLZXlNYXBwaW5nLmNwcCAqLzsgfTsKIAkJN0NGRjlCQkYyNTMzQkIyNDAwMDgwMDlGIC8qIFRl
c3RGZWF0dXJlcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3Q0ZGOUJCRTI1MzNCQjI0MDAwODAwOUYgLyogVGVzdEZlYXR1cmVzLmNwcCAqLzsgfTsK
IAkJN0NGRjlCQzIyNTMzQkMxNjAwMDgwMDlGIC8qIFRlc3RDb21tYW5kLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDRkY5QkMxMjUzM0JDMTYwMDA4
MDA5RiAvKiBUZXN0Q29tbWFuZC5jcHAgKi87IH07CiAJCTgwMDQ1QUVFMTQ3NzE4RTcwMDgyOTBB
OCAvKiBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlci5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgwMDQ1QUVDMTQ3NzE4RTcwMDgyOTBBOCAv
KiBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlci5tbSAqLzsgfTsKQEAgLTMzMyw3ICsz
MzQsOCBAQAogCQk3QzQ0Njk3RjI1Mzc3QTAyMDAyNDI5MEEgLyogVGVzdE9wdGlvbnNHZW5lcmF0
ZWRLZXlzLmguZXJiICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFRlc3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oLmVyYjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0NDY5ODAyNTM3N0EwMjAwMjQyOTBBIC8qIGNoZWNr
LXhjZmlsZWxpc3RzLnNoICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5zY3JpcHQuc2g7IHBhdGggPSAiY2hlY2steGNmaWxlbGlzdHMuc2giOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzQ0Njk4MTI1Mzc3QTAyMDAyNDI5MEEgLyog
Z2VuZXJhdGUtZGVyaXZlZC1zb3VyY2VzLnNoICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5zY3JpcHQuc2g7IHBhdGggPSAiZ2VuZXJhdGUtZGVy
aXZlZC1zb3VyY2VzLnNoIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0M0NDY5ODUy
NTM3N0U1MjAwMjQyOTBBIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBUZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaDsgcGF0aCA9IFRlc3RPcHRpb25zR2VuZXJh
dGVkS2V5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzQ0Njk4NTI1Mzc3RTUy
MDAyNDI5MEEgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRl
c3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3
Qzk4OTNERTI1NDMzQzg3MDAzNTRFQkMgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdh
Y3lLZXlNYXBwaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRlc3RPcHRpb25zR2VuZXJhdGVk
V2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdDQkJDMzIyMURERkNGOUEwMDc4NkI5RCAvKiBUZXN0T3B0aW9ucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBUZXN0T3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3Q0ZGOUJCRDI1MzNCQjI0MDAwODAwOUYgLyogVGVzdEZlYXR1cmVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFRlc3RGZWF0dXJlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
Q0ZGOUJCRTI1MzNCQjI0MDAwODAwOUYgLyogVGVzdEZlYXR1cmVzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFRlc3RGZWF0dXJlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03
NzgsNiArNzgwLDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJ
N0M0NDY5ODUyNTM3N0U1MjAwMjQyOTBBIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oICov
LAorCQkJCTdDOTg5M0RFMjU0MzNDODcwMDM1NEVCQyAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZFdl
YktpdExlZ2FjeUtleU1hcHBpbmcuY3BwICovLAogCQkJKTsKIAkJCW5hbWUgPSAiRGVyaXZlZCBT
b3VyY2VzIjsKIAkJCXBhdGggPSBEZXJpdmVkU291cmNlcy9EdW1wUmVuZGVyVHJlZTsKQEAgLTEy
OTEsNiArMTI5NCw3IEBACiAJCQkJN0NGRjlCQzIyNTMzQkMxNjAwMDgwMDlGIC8qIFRlc3RDb21t
YW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDRkY5QkJGMjUzM0JCMjQwMDA4MDA5RiAvKiBU
ZXN0RmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTMwQTIxRjgyMDUxRDhDNDAwMDhG
RjQyIC8qIFRlc3RPcHRpb25zLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTdDOTg5M0RGMjU0MzNG
OEUwMDM1NEVCQyAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwMTMxREEwQzk3NzIwMTAwODczMTdEIC8qIFRlc3RS
dW5uZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNBMThCMjQwQzlCMDE0QjAwMTE0MzY5IC8q
IFRlc3RSdW5uZXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNEQ0MjM2MTFERDUwNDgyMDA2
NzgyOTAgLyogVGV4dElucHV0Q29udHJvbGxlcklPUy5tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBU
b29scy9EdW1wUmVuZGVyVHJlZS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rlc3RPcHRp
b25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHAuZXJiCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvVGVzdE9w
dGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNwcC5lcmIJKG5vbmV4aXN0ZW50
KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDQ4IEBACisvKgorICogPCU9IEB3YXJuaW5nICU+CisgKgorICog
Q29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlRlc3RPcHRpb25zLmgiCisKK25h
bWVzcGFjZSBXVFIgeworCitzdGQ6OnN0cmluZyBUZXN0T3B0aW9uczo6dG9XZWJLaXRMZWdhY3lQ
cmVmZXJlbmNlS2V5KGNvbnN0IHN0ZDo6c3RyaW5nJiB3ZWJQcmVmZXJlbmNlc0tleSkKK3sKKyAg
ICBzdGF0aWMgc3RkOjp1bm9yZGVyZWRfbWFwPHN0ZDo6c3RyaW5nLCBzdGQ6OnN0cmluZz4gbm9u
U3RhbmRhcmRLZXlzID0geworPCUtIGZvciBAcHJlZiBpbiBAZXhwb3NlZFByZWZlcmVuY2VzLnNl
bGVjdCB7IHxwfCBwLm9wdHNbIndlYktpdExlZ2FjeVByZWZlcmVuY2VLZXkiXSB9IGRvIC0lPgor
ICAgICAgICB7ICI8JT0gQHByZWYubmFtZSAlPiIsICI8JT0gQHByZWYucHJlZmVyZW5jZUtleSAl
PiIgfSwgXAorPCUtIGVuZCAtJT4KKyAgICB9OworCisgICAgYXV0byBpdCA9IG5vblN0YW5kYXJk
S2V5cy5maW5kKHdlYlByZWZlcmVuY2VzS2V5KTsKKyAgICBpZiAoaXQgIT0gbm9uU3RhbmRhcmRL
ZXlzLmVuZCgpKQorICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsKKworICAgIHJldHVybiAiV2Vi
S2l0IiArIHdlYlByZWZlcmVuY2VzS2V5OworfQorCit9CkluZGV4OiBUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCShyZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTEz
MCw2ICsxMzAsMTEgQEAgZXh0ZXJuICJDIiB7CiAjaW1wb3J0IDxtYWNoLW8vZ2V0c2VjdC5oPgog
fQogCitzdGF0aWMgUmV0YWluUHRyPE5TU3RyaW5nPiB0b05TKGNvbnN0IHN0ZDo6c3RyaW5nJiBz
dHJpbmcpCit7CisgICAgcmV0dXJuIGFkb3B0TlMoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhV
VEY4U3RyaW5nOnN0cmluZy5jX3N0cigpXSk7Cit9CisKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKIEBpbnRlcmZhY2UgRHVtcFJlbmRlclRyZWVBcHBsaWNhdGlvbiA6IE5TQXBwbGljYXRpb24K
IEBlbmQKQEAgLTk2OSw0MSArOTc0LDIxIEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5j
ZXNUb0NvbnNpc3QKICAgICBbV2ViUHJlZmVyZW5jZXMgX3NldEN1cnJlbnROZXR3b3JrTG9hZGVy
U2Vzc2lvbkNvb2tpZUFjY2VwdFBvbGljeTpOU0hUVFBDb29raWVBY2NlcHRQb2xpY3lPbmx5RnJv
bU1haW5Eb2N1bWVudERvbWFpbl07CiB9CiAKLXN0YXRpYyBib29sIGJvb2xXZWJQcmVmZXJlbmNl
RmVhdHVyZVZhbHVlKHN0ZDo6c3RyaW5nIGtleSwgYm9vbCBkZWZhdWx0VmFsdWUsIGNvbnN0IFdU
Ujo6VGVzdE9wdGlvbnMmIG9wdGlvbnMpCitzdGF0aWMgYm9vbCBib29sV2ViUHJlZmVyZW5jZUZl
YXR1cmVWYWx1ZShzdGQ6OnN0cmluZyBrZXksIGNvbnN0IFdUUjo6VGVzdE9wdGlvbnMmIG9wdGlv
bnMpCiB7CiAgICAgYXV0byBpdCA9IG9wdGlvbnMuYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlcygp
LmZpbmQoa2V5KTsKLSAgICBpZiAoaXQgIT0gb3B0aW9ucy5ib29sV2ViUHJlZmVyZW5jZUZlYXR1
cmVzKCkuZW5kKCkpCi0gICAgICAgIHJldHVybiBpdC0+c2Vjb25kOwotICAgIHJldHVybiBkZWZh
dWx0VmFsdWU7CisgICAgQVNTRVJUKGl0ICE9IG9wdGlvbnMuYm9vbFdlYlByZWZlcmVuY2VGZWF0
dXJlcygpLmVuZCgpKTsKKyAgICByZXR1cm4gaXQtPnNlY29uZDsKIH0KIAogc3RhdGljIHZvaWQg
c2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyhXZWJQcmVmZXJlbmNlcyAqcHJlZmVyZW5j
ZXMsIGNvbnN0IFdUUjo6VGVzdE9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgcHJlZmVyZW5jZXMu
cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCA9IG9wdGlvbnMudXNlRXBoZW1lcmFsU2Vzc2lvbigpOwog
Ci0gICAgcHJlZmVyZW5jZXMuYXR0YWNobWVudEVsZW1lbnRFbmFibGVkID0gYm9vbFdlYlByZWZl
cmVuY2VGZWF0dXJlVmFsdWUoIkF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCIsIGZhbHNlLCBvcHRp
b25zKTsKLSAgICBwcmVmZXJlbmNlcy5hY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkID0gYm9vbFdl
YlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQiLCBmYWxz
ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMubWVudUl0ZW1FbGVtZW50RW5hYmxlZCA9IGJv
b2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJNZW51SXRlbUVsZW1lbnRFbmFibGVkIiwgZmFs
c2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmtleWdlbkVsZW1lbnRFbmFibGVkID0gYm9v
bFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIktleWdlbkVsZW1lbnRFbmFibGVkIiwgZmFsc2Us
IG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLm1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkID0g
Ym9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIk1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVk
IiwgdHJ1ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuaW5zcGVjdG9yQWRkaXRpb25zRW5h
YmxlZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJJbnNwZWN0b3JBZGRpdGlvbnNF
bmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmFsbG93Q3Jvc3NPcmln
aW5TdWJyZXNvdXJjZXNUb0Fza0ZvckNyZWRlbnRpYWxzID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0
dXJlVmFsdWUoIkFsbG93Q3Jvc3NPcmlnaW5TdWJyZXNvdXJjZXNUb0Fza0ZvckNyZWRlbnRpYWxz
IiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmNvbG9yRmlsdGVyRW5hYmxlZCA9
IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJDb2xvckZpbHRlckVuYWJsZWQiLCBmYWxz
ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuc2VsZWN0aW9uQWNyb3NzU2hhZG93Qm91bmRh
cmllc0VuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiU2VsZWN0aW9uQWNy
b3NzU2hhZG93Qm91bmRhcmllc0VuYWJsZWQiLCB0cnVlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJl
bmNlcy53ZWJHUFVFbmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIldlYkdQ
VUVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuQ1NTTG9naWNhbEVu
YWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ1NTTG9naWNhbEVuYWJsZWQi
LCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMubGluZUhlaWdodFVuaXRzRW5hYmxl
ZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJMaW5lSGVpZ2h0VW5pdHNFbmFibGVk
IiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmFkQ2xpY2tBdHRyaWJ1dGlvbkVu
YWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQWRDbGlja0F0dHJpYnV0aW9u
RW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5yZXNpemVPYnNlcnZl
ckVuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiUmVzaXplT2JzZXJ2ZXJF
bmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLkNTU09NVmlld1Ntb290
aFNjcm9sbGluZ0VuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ1NTT01W
aWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJl
bmNlcy5jb3JlTWF0aE1MRW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJD
b3JlTWF0aE1MRW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5yZXF1
ZXN0SWRsZUNhbGxiYWNrRW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJS
ZXF1ZXN0SWRsZUNhbGxiYWNrRW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJl
bmNlcy5hc3luY0NsaXBib2FyZEFQSUVuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVW
YWx1ZSgiQXN5bmNDbGlwYm9hcmRBUElFbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHBy
ZWZlcmVuY2VzLnVzZXNQYWdlQ2FjaGUgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgi
VXNlc0JhY2tGb3J3YXJkQ2FjaGUiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMu
bGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJsZWQgPSBib29sV2ViUHJlZmVy
ZW5jZUZlYXR1cmVWYWx1ZSgiTGF5b3V0Rm9ybWF0dGluZ0NvbnRleHRJbnRlZ3JhdGlvbkVuYWJs
ZWQiLCB0cnVlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5hc3BlY3RSYXRpb09mSW1nRnJv
bVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJB
c3BlY3RSYXRpb09mSW1nRnJvbVdpZHRoQW5kSGVpZ2h0RW5hYmxlZCIsIGZhbHNlLCBvcHRpb25z
KTsKLSAgICBwcmVmZXJlbmNlcy5hbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzID0gYm9vbFdl
YlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMiLCB0
cnVlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5jb250YWN0UGlja2VyQVBJRW5hYmxlZCA9
IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJDb250YWN0UGlja2VyQVBJRW5hYmxlZCIs
IGZhbHNlLCBvcHRpb25zKTsKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSB0aGVyZSBp
cyBhIHZpYWJsZSBtZWNoYW5pc20gZm9yIHJlc2V0aW5nIFdlYlByZWZlcmVuY2VzIGJldHdlZW4g
dGVzdHMsCisgICAgLy8gYXQgd2hpY2ggcG9pbnQsIHdlIHdpbGwgbm90IG5lZWQgdG8gbWFudWFs
bHkgcmVzZXQgZXZlcnkgc3VwcG9ydGVkIHByZWZlcmVuY2UgZm9yIGVhY2ggdGVzdC4KKyAgICBm
b3IgKGF1dG8mIGtleSA9IG9wdGlvbnMuc3VwcG9ydGVkQm9vbFdlYlByZWZlcmVuY2VGZWF0dXJl
cygpKQorICAgICAgICBbcHJlZmVyZW5jZXMgX3NldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZ1dp
dGhWYWx1ZTpib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZShrZXksIG9wdGlvbnMpIGZvcktl
eTp0b05TKFdUUjo6VGVzdE9wdGlvbnM6OnRvV2ViS2l0TGVnYWN5UHJlZmVyZW5jZUtleShrZXkp
KS5nZXQoKV07CiB9CiAKIC8vIENhbGxlZCBvbmNlIG9uIER1bXBSZW5kZXJUcmVlIHN0YXJ0dXAu
CkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbQkocmV2aXNp
b24gMjY5MDgyKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTYwOSw3ICs2MDksNyBAQCB2b2lkIFRlc3RSdW5uZXI6Om92ZXJy
aWRlUHJlZmVyZW5jZShKU1N0CiAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiB2YWx1ZUNGID0g
YWRvcHRDRihKU1N0cmluZ0NvcHlDRlN0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCB2YWx1ZSkp
OwogICAgIE5TU3RyaW5nICp2YWx1ZU5TID0gKF9fYnJpZGdlIE5TU3RyaW5nICopdmFsdWVDRi5n
ZXQoKTsKIAotICAgIFtbW21haW5GcmFtZSB3ZWJWaWV3XSBwcmVmZXJlbmNlc10gX3NldFByZWZl
cmVuY2VGb3JUZXN0V2l0aFZhbHVlOnZhbHVlTlMgZm9yS2V5OmtleU5TXTsKKyAgICBbW1ttYWlu
RnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIF9zZXRTdHJpbmdQcmVmZXJlbmNlRm9yVGVzdGlu
Z1dpdGhWYWx1ZTp2YWx1ZU5TIGZvcktleTprZXlOU107CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6
cmVtb3ZlQWxsVmlzaXRlZExpbmtzKCkK
</data>
<flag name="commit-queue"
          id="428966"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412492</attachid>
            <date>2020-10-27 18:31:35 -0700</date>
            <delta_ts>2020-10-27 18:32:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218267-20201027183135.patch</filename>
            <type>text/plain</type>
            <size>29315</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTA4MikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIwIEBACisyMDIwLTEwLTI3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFkZGluZyBuZXcgU1BJIGZvciBl
YWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgyNjcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvc2UgYSBzZXQgb2Ygc2V0dGVycyB0byBmb3Ig
RHVtcFJlbmRlclRyZWUgdG8gdXNlIHdoZW4gc2V0dGluZyBwcmVmZXJlbmNlcworICAgICAgICBi
eSBzdHJpbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyBfc2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVl
OmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFVJbnQzMlByZWZlcmVu
Y2VGb3JUZXN0aW5nV2l0aFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgX3NldERvdWJsZVByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOmZvcktleTpdKToKKyAg
ICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFN0cmluZ1ByZWZlcmVuY2VGb3JUZXN0aW5nV2l0
aFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oOgorCiAyMDIwLTEwLTI3ICBUZXRzdWhhcnUgT2h6ZWtpICA8dGV0c3VoYXJ1Lm9oemVraUBn
bWFpbC5jb20+CiAKICAgICAgICAgTWFrZSBXZWJDb3JlOjpGb2N1c0RpcmVjdGlvbiB0byBlbnVt
IGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDI2ODk4MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2NjAsMjYg
KzE2NjAsNiBAQCArICh2b2lkKV9zZXRJQkNyZWF0b3JJRDooTlNTdHJpbmcgKilzdHJpCiAgICAg
W29sZCByZWxlYXNlXTsKIH0KIAotKyAodm9pZClfc3dpdGNoTmV0d29ya0xvYWRlclRvTmV3VGVz
dGluZ1Nlc3Npb24KLXsKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFdlYlRocmVhZExv
Y2soKTsKLSNlbmRpZgotICAgIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcDo6c3dpdGNoVG9OZXdU
ZXN0aW5nU2Vzc2lvbigpOwotfQotCi0rICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9u
Ci17Ci0gICAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24o
KS5kZWxldGVBbGxDb29raWVzKCk7Ci19Ci0KLSsgKHZvaWQpX3NldEN1cnJlbnROZXR3b3JrTG9h
ZGVyU2Vzc2lvbkNvb2tpZUFjY2VwdFBvbGljeTooTlNIVFRQQ29va2llQWNjZXB0UG9saWN5KXBv
bGljeQotewotICAgIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPiBjb29raWVTdG9y
YWdlID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5j
b29raWVTdG9yYWdlKCk7Ci0gICAgQVNTRVJUKGNvb2tpZVN0b3JhZ2UpOyAvLyBXaWxsIGZhaWwg
d2hlbiBOZXR3b3JrU3RvcmFnZVNlc3Npb25NYXA6OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24o
KSB3YXMgbm90IGNhbGxlZCBiZWZvcmVoYW5kLgotICAgIENGSFRUUENvb2tpZVN0b3JhZ2VTZXRD
b29raWVBY2NlcHRQb2xpY3koY29va2llU3RvcmFnZS5nZXQoKSwgcG9saWN5KTsKLX0KLQogLSAo
Qk9PTClpc0RPTVBhc3RlQWxsb3dlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdERPTVBhc3RlQWxsb3dlZFByZWZlcmVuY2VLZXldOwpAQCAtMTk1NiwxMSArMTkz
Niw2IEBAIC0gKHZvaWQpd2lsbEFkZFRvV2ViVmlldwogICAgICsrX3ByaXZhdGUtPm51bVdlYlZp
ZXdzOwogfQogCi0tICh2b2lkKV9zZXRQcmVmZXJlbmNlRm9yVGVzdFdpdGhWYWx1ZTooTlNTdHJp
bmcgKil2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5Ci17Ci0gICAgW3NlbGYgX3NldFN0cmlu
Z1ZhbHVlOnZhbHVlIGZvcktleTprZXldOwotfQotCiAtICh2b2lkKXNldEZ1bGxTY3JlZW5FbmFi
bGVkOihCT09MKWZsYWcKIHsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5Oldl
YktpdEZ1bGxTY3JlZW5FbmFibGVkUHJlZmVyZW5jZUtleV07CkBAIC0zMDAzLDYgKzI5NzgsNTAg
QEAgLSAodm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JGZWF0dQogCiBAZW5kCiAKK0Bp
bXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZVRlc3RpbmcpCisKKysgKHZv
aWQpX3N3aXRjaE5ldHdvcmtMb2FkZXJUb05ld1Rlc3RpbmdTZXNzaW9uCit7CisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyAgICBXZWJUaHJlYWRMb2NrKCk7CisjZW5kaWYKKyAgICBOZXR3b3Jr
U3RvcmFnZVNlc3Npb25NYXA6OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24oKTsKK30KKworKyAo
dm9pZClfc2V0Q3VycmVudE5ldHdvcmtMb2FkZXJTZXNzaW9uQ29va2llQWNjZXB0UG9saWN5OihO
U0hUVFBDb29raWVBY2NlcHRQb2xpY3kpcG9saWN5Cit7CisgICAgYXV0byBjb29raWVTdG9yYWdl
ID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5jb29r
aWVTdG9yYWdlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoY29va2llU3RvcmFnZSk7IC8vIFdpbGwg
ZmFpbCB3aGVuIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcDo6c3dpdGNoVG9OZXdUZXN0aW5nU2Vz
c2lvbigpIHdhcyBub3QgY2FsbGVkIGJlZm9yZWhhbmQuCisgICAgQ0ZIVFRQQ29va2llU3RvcmFn
ZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCBwb2xpY3kpOworfQor
CisrICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9uCit7CisgICAgTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5kZWxldGVBbGxDb29raWVzKCk7
Cit9CisKKy0gKHZvaWQpX3NldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTooQk9P
TCl2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5Cit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1
ZTp2YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworLSAodm9pZClfc2V0VUludDMyUHJlZmVyZW5jZUZv
clRlc3RpbmdXaXRoVmFsdWU6KHVpbnQzMl90KXZhbHVlIGZvcktleTooTlNTdHJpbmcgKilrZXkK
K3sKKyAgICBbc2VsZiBfc2V0SW50ZWdlclZhbHVlOnZhbHVlIGZvcktleTprZXldOworfQorCist
ICh2b2lkKV9zZXREb3VibGVQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTooZG91YmxlKXZh
bHVlIGZvcktleTooTlNTdHJpbmcgKilrZXkKK3sKKyAgICBbc2VsZiBfc2V0RmxvYXRWYWx1ZTp2
YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworLSAodm9pZClfc2V0U3RyaW5nUHJlZmVyZW5jZUZvclRl
c3RpbmdXaXRoVmFsdWU6KE5TU3RyaW5nICopdmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKWtleQor
eworICAgIFtzZWxmIF9zZXRTdHJpbmdWYWx1ZTp2YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworQGVu
ZAorCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVQcmVmZXJlbmNl
c0NvbnZlcnRlZFRvV2ViRmVhdHVyZSkKIAogLSAoQk9PTCl1c2VyR2VzdHVyZVByb21pc2VQcm9w
YWdhdGlvbkVuYWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMjY4OTgzKQorKysg
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtODksMTMgKzg5LDYgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNl
cyAoV2ViUHJpdmF0ZSkKICsgKHZvaWQpX3NldEluaXRpYWxEZWZhdWx0VGV4dEVuY29kaW5nVG9T
eXN0ZW1FbmNvZGluZzsKICsgKHZvaWQpX3NldElCQ3JlYXRvcklEOihOU1N0cmluZyAqKXN0cmlu
ZzsKIAotLy8gRm9yIER1bXBSZW5kZXJUcmVlIHVzZSBvbmx5LgotKyAodm9pZClfc3dpdGNoTmV0
d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb247Ci0rICh2b2lkKV9zZXRDdXJyZW50TmV0d29y
a0xvYWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFjY2VwdFBvbGlj
eSljb29raWVBY2NlcHRQb2xpY3k7Ci0rICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9u
OwotLy8gVXNlZCB0byBzZXQgcHJlZmVyZW5jZSBzcGVjaWZpZWQgaW4gdGhlIHRlc3QgdmlhIExh
eW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSguLikuCi0tICh2b2lkKV9zZXRQ
cmVmZXJlbmNlRm9yVGVzdFdpdGhWYWx1ZTooTlNTdHJpbmcgKil2YWx1ZSBmb3JLZXk6KE5TU3Ry
aW5nICopa2V5OwotCiArICh2b2lkKXNldFdlYktpdExpbmtUaW1lVmVyc2lvbjooaW50KXZlcnNp
b247CiAKIC8vIEZvciBXZWJWaWV3J3MgdXNlIG9ubHkuCkBAIC0zMDksNiArMzAyLDE3IEBAIEBp
bnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVGZWEKIC0gKHZvaWQpX3NldEVuYWJs
ZWQ6KEJPT0wpdmFsdWUgZm9yRmVhdHVyZTooV2ViRmVhdHVyZSAqKWZlYXR1cmU7CiBAZW5kCiAK
K0BpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVUZXN0aW5nKQorKyAodm9pZClf
c3dpdGNoTmV0d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb247CisrICh2b2lkKV9zZXRDdXJy
ZW50TmV0d29ya0xvYWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSljb29raWVBY2NlcHRQb2xpY3k7CisrICh2b2lkKV9jbGVhck5ldHdvcmtMb2Fk
ZXJTZXNzaW9uOworCistICh2b2lkKV9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFs
dWU6KEJPT0wpdmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKWtleTsKKy0gKHZvaWQpX3NldFVJbnQz
MlByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOih1aW50MzJfdCl2YWx1ZSBmb3JLZXk6KE5T
U3RyaW5nICopa2V5OworLSAodm9pZClfc2V0RG91YmxlUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRo
VmFsdWU6KGRvdWJsZSl2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5OworLSAodm9pZClfc2V0
U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFsdWU6KE5TU3RyaW5nICopdmFsdWUgZm9y
S2V5OihOU1N0cmluZyAqKWtleTsKK0BlbmQKKwogLy8gRklYTUU6IElmIHRoZXNlIGFyZSBub3Qg
dXNlZCBhbnl3aGVyZSwgd2Ugc2hvdWxkIHJlbW92ZSB0aGVtIGFuZCBvbmx5IHVzZSBXZWJGZWF0
dXJlIG1lY2hhbmlzbSBmb3IgdGhlIHByZWZlcmVuY2UuCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVu
Y2VzIChXZWJQcml2YXRlUHJlZmVyZW5jZXNDb252ZXJ0ZWRUb1dlYkZlYXR1cmUpCiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCB1c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQ7
CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzNyBAQAorMjAyMC0xMC0yNyAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgW1Rlc3RpbmddIFJlbW92ZSByZXF1aXJlbWVudCBvZiBhZGRpbmcgbmV3IFNQSSBm
b3IgZWFjaCBwcmVmZXJlbmNlIHRoYXQgbmVlZHMgdGVzdGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MjY3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlcyB0aGUgcmVxdWlyZW1lbnQgZm9y
IFdlYktpdExlZ2FjeSAobWFjT1MpLCB3aGljaCBoYXMgYWxyZWFkeSBiZWVuIGxpZnRlZCBmb3IK
KyAgICAgICAgbW9kZXJuIFdlYktpdCwgdGhhdCB0ZXN0aW5nIG5ldyBwcmVmZXJlbmNlcyByZXF1
aXJlcyBuZXcgV2ViUHJlZmVyZW5jZXMgU1BJLiBJbnN0ZWFkLAorICAgICAgICBuZXcgdGVzdGlu
ZyBzcGVjaWZpYyBTUEkgKFtXZWJQcmVmZXJlbmNlcyBfc2V0KlByZWZlcmVuY2VGb3JUZXN0aW5n
V2l0aFZhbHVlOmZvcktleTpdKQorICAgICAgICBhcmUgdXNlZCB0byBhbGxvdyBzdHJpbmcgYmFz
ZWQgc2V0dGluZy4KKyAgICAgICAgCisgICAgICAgIFRvIG1ha2UgdGhpcyB3b3JrIHdpdGggdGhl
IHNoYXJlZCBXZWJQcmVmZXJlbmNlcyoueWFtbCBuYW1lcywgYSBoZWxwZXIgaXMgZ2VuZXJhdGVk
IHRvCisgICAgICAgIG1hcCBmcm9tIHRoZSBzaGFyZWQgbmFtZSB0byB0aGUgV2ViS2l0TGVnYWN5
IHNwZWNpZmljIG5hbWUuCisKKyAgICAgICAgVGhpcyBzdGlsbCBkb2Vzbid0IHF1aXRlIHRha2Ug
dXMgYWxsIHRoZSB3YXkgdG8gc3VwcG9ydGluZyBhbnkgV2ViUHJlZmVyZW5jZXMqLnlhbWwgbmFt
ZQorICAgICAgICBpbiB0ZXN0IGhlYWRlcnMsIGFzIGlzIHN1cHBvcnRlZCBpbiBXZWJLaXRUZXN0
UnVubmVyLCBhcyB3ZSBzdGlsbCBuZWVkIGEgdmlhYmxlIG1lY2hhbmlzbQorICAgICAgICB0byBm
dWxseSByZXNldCBXZWJQcmVmZXJlbmNlcyBiZXR3ZWVuIHRlc3RzLiBSaWdodCBub3csIGVhY2gg
cHJlZmVyZW5jZSBtdXN0IGJlIHNldCBvbgorICAgICAgICBlYWNoIHRlc3QgcnVuLCByZXF1aXJp
bmcgdGhlIGNvbXBsZXRlIHNldCBvZiBwcmVmZXJlbmNlcyB0byBiZSBrbm93biB1cCBmcm9udC4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvVGVzdE9wdGlv
bnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNwcC5lcmI6IEFkZGVkLgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdE9w
dGlvbnM6OnN1cHBvcnRlZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0
aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06Cisg
ICAgICAgIChUZXN0UnVubmVyOjpvdmVycmlkZVByZWZlcmVuY2UpOgorCiAyMDIwLTEwLTI3ICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBEdW1wUmVuZGVyVHJlZSBz
cGFtcyBzdGRlcnIgd2l0aCBDRk5ldHdvcmsgd2FybmluZ3MgYWJvdXQgbnVsbCBkaXNrY2FjaGUg
cGF0aApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI2OTA4
MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC00MCw2ICs0MCw3IEBAIGxpc3QoQVBQRU5EIER1bXBSZW5kZXJUcmVlX1BSSVZBVEVfSU5D
TFUKICkKIAogc2V0KER1bXBSZW5kZXJUcmVlX1dFQl9QUkVGRVJFTkNFU19URU1QTEFURVMKKyAg
ICAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0
T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgogICAgICR7RHVt
cFJlbmRlclRyZWVfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rlc3RPcHRpb25z
R2VuZXJhdGVkS2V5cy5oLmVyYgogKQogCkBAIC01MywxMiArNTQsMTMgQEAgc2V0KER1bXBSZW5k
ZXJUcmVlX1dFQl9QUkVGRVJFTkNFUwogc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7RHVt
cFJlbmRlclRyZWVfV0VCX1BSRUZFUkVOQ0VTfSBQUk9QRVJUSUVTIEdFTkVSQVRFRCBUUlVFKQog
CiBhZGRfY3VzdG9tX2NvbW1hbmQoCi0gICAgT1VUUFVUICR7RHVtcFJlbmRlclRyZWVfREVSSVZF
RF9TT1VSQ0VTX0RJUn0vVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmgKKyAgICBPVVRQVVQgJHtE
dW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9UZXN0T3B0aW9uc0dlbmVyYXRlZFdl
YktpdExlZ2FjeUtleU1hcHBpbmcuY3BwICR7RHVtcFJlbmRlclRyZWVfREVSSVZFRF9TT1VSQ0VT
X0RJUn0vVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmgKICAgICBERVBFTkRTICR7RHVtcFJlbmRl
clRyZWVfV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFU30gJHtEdW1wUmVuZGVyVHJlZV9XRUJfUFJF
RkVSRU5DRVN9IFdURl9Db3B5UHJlZmVyZW5jZXMKLSAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRB
QkxFfSAke1dURl9TQ1JJUFRTX0RJUn0vR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAtLWZyb250ZW5k
IFdlYktpdExlZ2FjeSAtLWJhc2UgJHtXVEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgLS1kZWJ1ZyAke1dURl9TQ1JJUFRTX0RJUn0vUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNEZWJ1Zy55YW1sIC0tZXhwZXJpbWVudGFsICR7V1RGX1NDUklQVFNfRElSfS9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIC0taW50ZXJuYWwgJHtX
VEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbCAt
LW91dHB1dERpciAiJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfSIgLS10ZW1w
bGF0ZSAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaC5lcmIKKyAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRB
QkxFfSAke1dURl9TQ1JJUFRTX0RJUn0vR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAtLWZyb250ZW5k
IFdlYktpdExlZ2FjeSAtLWJhc2UgJHtXVEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgLS1kZWJ1ZyAke1dURl9TQ1JJUFRTX0RJUn0vUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNEZWJ1Zy55YW1sIC0tZXhwZXJpbWVudGFsICR7V1RGX1NDUklQVFNfRElSfS9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIC0taW50ZXJuYWwgJHtX
VEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbCAt
LW91dHB1dERpciAiJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfSIgLS10ZW1w
bGF0ZSAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYiAtLXRlbXBs
YXRlICR7RHVtcFJlbmRlclRyZWVfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rl
c3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oLmVyYgogICAgIFZFUkJBVElNKQogCiBsaXN0KEFQUEVO
RCBEdW1wUmVuZGVyVHJlZV9TT1VSQ0VTCisgICAgJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NP
VVJDRVNfRElSfS9UZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3Bw
CiAgICAgJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9UZXN0T3B0aW9uc0dl
bmVyYXRlZEtleXMuaAogKQogCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2OTA4MikKKysrIFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHdvcmtp
bmcgY29weSkKQEAgLTcsNiArNyw3IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwv
aW5jbHVkZS8KICQoUFJPSkVDVF9ESVIpLy4uL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250
ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL0JpbmRp
bmdzL0NvZGVHZW5lcmF0b3JEdW1wUmVuZGVyVHJlZS5wbQogJChQUk9KRUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMubWFrZQorJChQUk9KRUNUX0RJUikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRl
cy9UZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgogJChQ
Uk9KRUNUX0RJUikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0T3B0aW9uc0dlbmVy
YXRlZEtleXMuaC5lcmIKICQoUFJPSkVDVF9ESVIpL1NjcmlwdHMvZ2VuZXJhdGUtZGVyaXZlZC1z
b3VyY2VzLnNoCiAkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvQ29kZUdlbmVyYXRvci5w
bQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQgKzEsNSBAQAogIyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGJ5IHRoZSBnZW5lcmF0ZS14Y2Zp
bGVsaXN0cyBzY3JpcHQuCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvRHVt
cFJlbmRlclRyZWUvSlNVSVNjcmlwdENvbnRyb2xsZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvRHVtcFJlbmRlclRyZWUvSlNVSVNjcmlwdENvbnRyb2xsZXIuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0R1bXBSZW5kZXJUcmVlL1Rlc3RP
cHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9uc0dlbmVyYXRl
ZEtleXMuaApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMubWFrZQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291cmNlcy5tYWtlCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291cmNlcy5t
YWtlCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBAIFdFQl9QUkVGRVJFTkNFUyA9IFwK
ICMKIAogV0VCX1BSRUZFUkVOQ0VTX0dFTkVSQVRFRF9GSUxFUyA9IFwKKyAgICBUZXN0T3B0aW9u
c0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwIFwKICAgICBUZXN0T3B0aW9uc0dl
bmVyYXRlZEtleXMuaCBcCiAjCiAKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5j
cHAJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsMjAgQEAKIAogbmFtZXNwYWNlIFdUUiB7
CiAKK2NvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgVGVzdE9wdGlvbnM6OnN1cHBvcnRl
ZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKQoreworICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhp
cyBvbmNlIHRoZXJlIGlzIGEgdmlhYmxlIG1lY2hhbmlzbSBmb3IgcmVzZXRpbmcgV2ViUHJlZmVy
ZW5jZXMgYmV0d2VlbiB0ZXN0cywKKyAgICAvLyBhdCB3aGljaCBwb2ludCwgd2Ugd2lsbCBub3Qg
bmVlZCB0byBtYW51YWxseSByZXNldCBldmVyeSBzdXBwb3J0ZWQgcHJlZmVyZW5jZSBmb3IgZWFj
aCB0ZXN0LgorCisgICAgc3RhdGljIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBzdXBwb3J0ZWQg
PSBbXSB7CisgICAgICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBrZXlzOworICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIFtrZXksIHZhbHVlXSA6IGRlZmF1bHRzKCkuYm9vbFdlYlByZWZlcmVu
Y2VGZWF0dXJlcykKKyAgICAgICAgICAgIGtleXMucHVzaF9iYWNrKGtleSk7CisgICAgICAgIHJl
dHVybiBrZXlzOworICAgIH0oKTsKKyAgICByZXR1cm4gc3VwcG9ydGVkOworfQorCiBjb25zdCBU
ZXN0RmVhdHVyZXMmIFRlc3RPcHRpb25zOjpkZWZhdWx0cygpCiB7CiAgICAgc3RhdGljIFRlc3RG
ZWF0dXJlcyBmZWF0dXJlczsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAkocmV2
aXNpb24gMjY5MDgyKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAkod29y
a2luZyBjb3B5KQpAQCAtNTYsNiArNTYsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IGF1dG8mIHVp
bnQzMldlYlByZWZlcmVuY2VGZWF0dXJlcygpIGNvbnN0IHsgcmV0dXJuIG1fZmVhdHVyZXMudWlu
dDMyV2ViUHJlZmVyZW5jZUZlYXR1cmVzOyB9CiAgICAgY29uc3QgYXV0byYgc3RyaW5nV2ViUHJl
ZmVyZW5jZUZlYXR1cmVzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlcy5zdHJpbmdXZWJQcmVm
ZXJlbmNlRmVhdHVyZXM7IH0KIAorICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIHRoZXJl
IGlzIGEgdmlhYmxlIG1lY2hhbmlzbSBmb3IgcmVzZXRpbmcgV2ViUHJlZmVyZW5jZXMgYmV0d2Vl
biB0ZXN0cywKKyAgICAvLyBhdCB3aGljaCBwb2ludCwgd2Ugd2lsbCBub3QgbmVlZCB0byBtYW51
YWxseSByZXNldCBldmVyeSBzdXBwb3J0ZWQgcHJlZmVyZW5jZSBmb3IgZWFjaCB0ZXN0LgorICAg
IHN0YXRpYyBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4mIHN1cHBvcnRlZEJvb2xXZWJQ
cmVmZXJlbmNlRmVhdHVyZXMoKTsKKwogICAgIHN0YXRpYyBzdGQ6OnN0cmluZyB0b1dlYktpdExl
Z2FjeVByZWZlcmVuY2VLZXkoY29uc3Qgc3RkOjpzdHJpbmcmKTsKIAogcHJpdmF0ZToKSW5kZXg6
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY5MDgyKQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMTA5LDYgKzEwOSw3IEBACiAJCTVEQjlBQzlFMEY3MjJDMzYwMDY4NDY0
MSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyNzAwLnR0ZiBpbiBDb3B5IEZvbnQgRmlsZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzc1RjA5NzcwREFDM0NCNjAwQzhCNEU1IC8q
IFdlYktpdFdlaWdodFdhdGNoZXI3MDAudHRmICovOyB9OwogCQk1REI5QUM5RjBGNzIyQzM2MDA2
ODQ2NDEgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjgwMC50dGYgaW4gQ29weSBGb250IEZpbGVzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3NUYwOTc4MERBQzNDQjYwMEM4QjRF
NSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyODAwLnR0ZiAqLzsgfTsKIAkJNURCOUFDQTAwRjcyMkMz
NjAwNjg0NjQxIC8qIFdlYktpdFdlaWdodFdhdGNoZXI5MDAudHRmIGluIENvcHkgRm9udCBGaWxl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzVGMDk3OTBEQUMzQ0I2MDBD
OEI0RTUgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGYgKi87IH07CisJCTdDOTg5M0RGMjU0
MzNGOEUwMDM1NEVCQyAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBp
bmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5
ODkzREUyNTQzM0M4NzAwMzU0RUJDIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5
S2V5TWFwcGluZy5jcHAgKi87IH07CiAJCTdDRkY5QkJGMjUzM0JCMjQwMDA4MDA5RiAvKiBUZXN0
RmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0NGRjlCQkUyNTMzQkIyNDAwMDgwMDlGIC8qIFRlc3RGZWF0dXJlcy5jcHAgKi87IH07CiAJ
CTdDRkY5QkMyMjUzM0JDMTYwMDA4MDA5RiAvKiBUZXN0Q29tbWFuZC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0ZGOUJDMTI1MzNCQzE2MDAwODAw
OUYgLyogVGVzdENvbW1hbmQuY3BwICovOyB9OwogCQk4MDA0NUFFRTE0NzcxOEU3MDA4MjkwQTgg
LyogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXIubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MDA0NUFFQzE0NzcxOEU3MDA4MjkwQTggLyog
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXIubW0gKi87IH07CkBAIC0zMzMsNyArMzM0
LDggQEAKIAkJN0M0NDY5N0YyNTM3N0EwMjAwMjQyOTBBIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVk
S2V5cy5oLmVyYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBUZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaC5lcmI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNDQ2OTgwMjUzNzdBMDIwMDI0MjkwQSAvKiBjaGVjay14
Y2ZpbGVsaXN0cy5zaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuc2NyaXB0LnNoOyBwYXRoID0gImNoZWNrLXhjZmlsZWxpc3RzLnNoIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0NDY5ODEyNTM3N0EwMjAwMjQyOTBBIC8qIGdl
bmVyYXRlLWRlcml2ZWQtc291cmNlcy5zaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnNoOyBwYXRoID0gImdlbmVyYXRlLWRlcml2
ZWQtc291cmNlcy5zaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDNDQ2OTg1MjUz
NzdFNTIwMDI0MjkwQSAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmg7IHBhdGggPSBUZXN0T3B0aW9uc0dlbmVyYXRl
ZEtleXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M0NDY5ODUyNTM3N0U1MjAw
MjQyOTBBIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXN0
T3B0aW9uc0dlbmVyYXRlZEtleXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5
ODkzREUyNTQzM0M4NzAwMzU0RUJDIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5
S2V5TWFwcGluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXN0T3B0aW9uc0dlbmVyYXRlZFdl
YktpdExlZ2FjeUtleU1hcHBpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
Q0JCQzMyMjFEREZDRjlBMDA3ODZCOUQgLyogVGVzdE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVGVzdE9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0NGRjlCQkQyNTMzQkIyNDAwMDgwMDlGIC8qIFRlc3RGZWF0dXJlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUZXN0RmVhdHVyZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NG
RjlCQkUyNTMzQkIyNDAwMDgwMDlGIC8qIFRlc3RGZWF0dXJlcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUZXN0RmVhdHVyZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzc4
LDYgKzc4MCw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTdD
NDQ2OTg1MjUzNzdFNTIwMDI0MjkwQSAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaCAqLywK
KwkJCQk3Qzk4OTNERTI1NDMzQzg3MDAzNTRFQkMgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRXZWJL
aXRMZWdhY3lLZXlNYXBwaW5nLmNwcCAqLywKIAkJCSk7CiAJCQluYW1lID0gIkRlcml2ZWQgU291
cmNlcyI7CiAJCQlwYXRoID0gRGVyaXZlZFNvdXJjZXMvRHVtcFJlbmRlclRyZWU7CkBAIC0xMjkx
LDYgKzEyOTQsNyBAQAogCQkJCTdDRkY5QkMyMjUzM0JDMTYwMDA4MDA5RiAvKiBUZXN0Q29tbWFu
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0ZGOUJCRjI1MzNCQjI0MDAwODAwOUYgLyogVGVz
dEZlYXR1cmVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzMEEyMUY4MjA1MUQ4QzQwMDA4RkY0
MiAvKiBUZXN0T3B0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3Qzk4OTNERjI1NDMzRjhF
MDAzNTRFQkMgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDMDEzMURBMEM5NzcyMDEwMDg3MzE3RCAvKiBUZXN0UnVu
bmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQTE4QjI0MEM5QjAxNEIwMDExNDM2OSAvKiBU
ZXN0UnVubmVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjRENDIzNjExREQ1MDQ4MjAwNjc4
MjkwIC8qIFRleHRJbnB1dENvbnRyb2xsZXJJT1MubSBpbiBTb3VyY2VzICovLApJbmRleDogVG9v
bHMvRHVtcFJlbmRlclRyZWUvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0T3B0aW9u
c0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9EdW1wUmVuZGVyVHJlZS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rlc3RPcHRp
b25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHAuZXJiCShub25leGlzdGVudCkK
KysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvVGVz
dE9wdGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNwcC5lcmIJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIDwlPSBAd2FybmluZyAlPgorICoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUZXN0T3B0aW9ucy5oIgorCituYW1l
c3BhY2UgV1RSIHsKKworc3RkOjpzdHJpbmcgVGVzdE9wdGlvbnM6OnRvV2ViS2l0TGVnYWN5UHJl
ZmVyZW5jZUtleShjb25zdCBzdGQ6OnN0cmluZyYgd2ViUHJlZmVyZW5jZXNLZXkpCit7CisgICAg
c3RhdGljIHN0ZDo6dW5vcmRlcmVkX21hcDxzdGQ6OnN0cmluZywgc3RkOjpzdHJpbmc+IG5vblN0
YW5kYXJkS2V5cyA9IHsKKzwlLSBmb3IgQHByZWYgaW4gQGV4cG9zZWRQcmVmZXJlbmNlcy5zZWxl
Y3QgeyB8cHwgcC5vcHRzWyJ3ZWJLaXRMZWdhY3lQcmVmZXJlbmNlS2V5Il0gfSBkbyAtJT4KKyAg
ICAgICAgeyAiPCU9IEBwcmVmLm5hbWUgJT4iLCAiPCU9IEBwcmVmLnByZWZlcmVuY2VLZXkgJT4i
IH0sIFwKKzwlLSBlbmQgLSU+CisgICAgfTsKKworICAgIGF1dG8gaXQgPSBub25TdGFuZGFyZEtl
eXMuZmluZCh3ZWJQcmVmZXJlbmNlc0tleSk7CisgICAgaWYgKGl0ICE9IG5vblN0YW5kYXJkS2V5
cy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CisKKyAgICByZXR1cm4gIldlYktp
dCIgKyB3ZWJQcmVmZXJlbmNlc0tleTsKK30KKworfQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjY5MDgyKQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAs
NiArMTMwLDExIEBAIGV4dGVybiAiQyIgewogI2ltcG9ydCA8bWFjaC1vL2dldHNlY3QuaD4KIH0K
IAorc3RhdGljIFJldGFpblB0cjxOU1N0cmluZz4gdG9OUyhjb25zdCBzdGQ6OnN0cmluZyYgc3Ry
aW5nKQoreworICAgIHJldHVybiBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoVVRG
OFN0cmluZzpzdHJpbmcuY19zdHIoKV0pOworfQorCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
CiBAaW50ZXJmYWNlIER1bXBSZW5kZXJUcmVlQXBwbGljYXRpb24gOiBOU0FwcGxpY2F0aW9uCiBA
ZW5kCkBAIC05NjksNDEgKzk3NCwyMSBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2Vz
VG9Db25zaXN0CiAgICAgW1dlYlByZWZlcmVuY2VzIF9zZXRDdXJyZW50TmV0d29ya0xvYWRlclNl
c3Npb25Db29raWVBY2NlcHRQb2xpY3k6TlNIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21N
YWluRG9jdW1lbnREb21haW5dOwogfQogCi1zdGF0aWMgYm9vbCBib29sV2ViUHJlZmVyZW5jZUZl
YXR1cmVWYWx1ZShzdGQ6OnN0cmluZyBrZXksIGJvb2wgZGVmYXVsdFZhbHVlLCBjb25zdCBXVFI6
OlRlc3RPcHRpb25zJiBvcHRpb25zKQorc3RhdGljIGJvb2wgYm9vbFdlYlByZWZlcmVuY2VGZWF0
dXJlVmFsdWUoc3RkOjpzdHJpbmcga2V5LCBjb25zdCBXVFI6OlRlc3RPcHRpb25zJiBvcHRpb25z
KQogewogICAgIGF1dG8gaXQgPSBvcHRpb25zLmJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKS5m
aW5kKGtleSk7Ci0gICAgaWYgKGl0ICE9IG9wdGlvbnMuYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJl
cygpLmVuZCgpKQotICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsKLSAgICByZXR1cm4gZGVmYXVs
dFZhbHVlOworICAgIEFTU0VSVChpdCAhPSBvcHRpb25zLmJvb2xXZWJQcmVmZXJlbmNlRmVhdHVy
ZXMoKS5lbmQoKSk7CisgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CiB9CiAKIHN0YXRpYyB2b2lkIHNl
dFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2Vz
LCBjb25zdCBXVFI6OlRlc3RPcHRpb25zJiBvcHRpb25zKQogewogICAgIHByZWZlcmVuY2VzLnBy
aXZhdGVCcm93c2luZ0VuYWJsZWQgPSBvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24oKTsKIAot
ICAgIHByZWZlcmVuY2VzLmF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJl
bmNlRmVhdHVyZVZhbHVlKCJBdHRhY2htZW50RWxlbWVudEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9u
cyk7Ci0gICAgcHJlZmVyZW5jZXMuYWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCA9IGJvb2xXZWJQ
cmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkIiwgZmFsc2Us
IG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLm1lbnVJdGVtRWxlbWVudEVuYWJsZWQgPSBib29s
V2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiTWVudUl0ZW1FbGVtZW50RW5hYmxlZCIsIGZhbHNl
LCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5rZXlnZW5FbGVtZW50RW5hYmxlZCA9IGJvb2xX
ZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJLZXlnZW5FbGVtZW50RW5hYmxlZCIsIGZhbHNlLCBv
cHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5tb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCA9IGJv
b2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIs
IHRydWUsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmluc3BlY3RvckFkZGl0aW9uc0VuYWJs
ZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiSW5zcGVjdG9yQWRkaXRpb25zRW5h
YmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5hbGxvd0Nyb3NzT3JpZ2lu
U3VicmVzb3VyY2VzVG9Bc2tGb3JDcmVkZW50aWFscyA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVy
ZVZhbHVlKCJBbGxvd0Nyb3NzT3JpZ2luU3VicmVzb3VyY2VzVG9Bc2tGb3JDcmVkZW50aWFscyIs
IGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5jb2xvckZpbHRlckVuYWJsZWQgPSBi
b29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ29sb3JGaWx0ZXJFbmFibGVkIiwgZmFsc2Us
IG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLnNlbGVjdGlvbkFjcm9zc1NoYWRvd0JvdW5kYXJp
ZXNFbmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlNlbGVjdGlvbkFjcm9z
c1NoYWRvd0JvdW5kYXJpZXNFbmFibGVkIiwgdHJ1ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5j
ZXMud2ViR1BVRW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJXZWJHUFVF
bmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLkNTU0xvZ2ljYWxFbmFi
bGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkNTU0xvZ2ljYWxFbmFibGVkIiwg
ZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmxpbmVIZWlnaHRVbml0c0VuYWJsZWQg
PSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiTGluZUhlaWdodFVuaXRzRW5hYmxlZCIs
IGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5hZENsaWNrQXR0cmlidXRpb25FbmFi
bGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkFkQ2xpY2tBdHRyaWJ1dGlvbkVu
YWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMucmVzaXplT2JzZXJ2ZXJF
bmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlJlc2l6ZU9ic2VydmVyRW5h
YmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5DU1NPTVZpZXdTbW9vdGhT
Y3JvbGxpbmdFbmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkNTU09NVmll
d1Ntb290aFNjcm9sbGluZ0VuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5j
ZXMuY29yZU1hdGhNTEVuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ29y
ZU1hdGhNTEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMucmVxdWVz
dElkbGVDYWxsYmFja0VuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiUmVx
dWVzdElkbGVDYWxsYmFja0VuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5j
ZXMuYXN5bmNDbGlwYm9hcmRBUElFbmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFs
dWUoIkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVm
ZXJlbmNlcy51c2VzUGFnZUNhY2hlID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlVz
ZXNCYWNrRm9yd2FyZENhY2hlIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmxh
eW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkID0gYm9vbFdlYlByZWZlcmVu
Y2VGZWF0dXJlVmFsdWUoIkxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVk
IiwgdHJ1ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuYXNwZWN0UmF0aW9PZkltZ0Zyb21X
aWR0aEFuZEhlaWdodEVuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQXNw
ZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7
Ci0gICAgcHJlZmVyZW5jZXMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyA9IGJvb2xXZWJQ
cmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJBbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzIiwgdHJ1
ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuY29udGFjdFBpY2tlckFQSUVuYWJsZWQgPSBi
b29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ29udGFjdFBpY2tlckFQSUVuYWJsZWQiLCBm
YWxzZSwgb3B0aW9ucyk7CisgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgdGhlcmUgaXMg
YSB2aWFibGUgbWVjaGFuaXNtIGZvciByZXNldGluZyBXZWJQcmVmZXJlbmNlcyBiZXR3ZWVuIHRl
c3RzLAorICAgIC8vIGF0IHdoaWNoIHBvaW50LCB3ZSB3aWxsIG5vdCBuZWVkIHRvIG1hbnVhbGx5
IHJlc2V0IGV2ZXJ5IHN1cHBvcnRlZCBwcmVmZXJlbmNlIGZvciBlYWNoIHRlc3QuCisgICAgZm9y
IChhdXRvJiBrZXkgPSBvcHRpb25zLnN1cHBvcnRlZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMo
KSkKKyAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRo
VmFsdWU6Ym9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoa2V5LCBvcHRpb25zKSBmb3JLZXk6
dG9OUyhXVFI6OlRlc3RPcHRpb25zOjp0b1dlYktpdExlZ2FjeVByZWZlcmVuY2VLZXkoa2V5KSku
Z2V0KCldOwogfQogCiAvLyBDYWxsZWQgb25jZSBvbiBEdW1wUmVuZGVyVHJlZSBzdGFydHVwLgpJ
bmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0JKHJldmlzaW9u
IDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC02MDksNyArNjA5LDcgQEAgdm9pZCBUZXN0UnVubmVyOjpvdmVycmlk
ZVByZWZlcmVuY2UoSlNTdAogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gdmFsdWVDRiA9IGFk
b3B0Q0YoSlNTdHJpbmdDb3B5Q0ZTdHJpbmcoa0NGQWxsb2NhdG9yRGVmYXVsdCwgdmFsdWUpKTsK
ICAgICBOU1N0cmluZyAqdmFsdWVOUyA9IChfX2JyaWRnZSBOU1N0cmluZyAqKXZhbHVlQ0YuZ2V0
KCk7CiAKLSAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIF9zZXRQcmVmZXJl
bmNlRm9yVGVzdFdpdGhWYWx1ZTp2YWx1ZU5TIGZvcktleTprZXlOU107CisgICAgW1tbbWFpbkZy
YW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBfc2V0U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmdX
aXRoVmFsdWU6dmFsdWVOUyBmb3JLZXk6a2V5TlNdOwogfQogCiB2b2lkIFRlc3RSdW5uZXI6OnJl
bW92ZUFsbFZpc2l0ZWRMaW5rcygpCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAkocmV2aXNpb24gMjY5
MDgyKQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5OCw3ICs0OTgsNiBAQCB2b2lkIEluamVjdGVk
QnVuZGxlOjpiZWdpblRlc3RpbmcoV0tEaWN0CiAgICAgV0tCdW5kbGVTZXRBdXRob3JBbmRVc2Vy
U3R5bGVzRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwogICAgIFdLQnVuZGxl
U2V0RnJhbWVGbGF0dGVuaW5nRW5hYmxlZChtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIGZhbHNlKTsK
ICAgICBXS0J1bmRsZVNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUobV9idW5kbGUsIG1fcGFnZUdy
b3VwLCA5KTsKLSAgICBXS0J1bmRsZVNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChtX2J1bmRs
ZSwgbV9wYWdlR3JvdXAsIGZhbHNlKTsKICAgICBXS0J1bmRsZVNldEFsbG93RmlsZUFjY2Vzc0Zy
b21GaWxlVVJMcyhtX2J1bmRsZSwgbV9wYWdlR3JvdXAsIHRydWUpOwogICAgIFdLQnVuZGxlU2V0
UG9wdXBCbG9ja2luZ0VuYWJsZWQobV9idW5kbGUsIG1fcGFnZUdyb3VwLCBmYWxzZSk7CiAgICAg
V0tCdW5kbGVTZXRBbGxvd1N0b3JhZ2VBY2Nlc3NGcm9tRmlsZVVSTFMobV9idW5kbGUsIG1fcGFn
ZUdyb3VwLCBmYWxzZSk7CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1Rlc3RSdW5uZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTg5OSwxMiArODk5LDYgQEAgdm9pZCBUZXN0UnVubmVyOjpzZXRVc2VyU3R5bGVT
aGVldExvY2F0aQogICAgICAgICBzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQodHJ1ZSk7CiB9CiAK
LXZvaWQgVGVzdFJ1bm5lcjo6c2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wgZW5hYmxl
ZCkKLXsKLSAgICBhdXRvJiBpbmplY3RlZEJ1bmRsZSA9IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0
b24oKTsKLSAgICBXS0J1bmRsZVNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChpbmplY3RlZEJ1
bmRsZS5idW5kbGUoKSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCksIGVuYWJsZWQpOwotfQot
CiB2b2lkIFRlc3RSdW5uZXI6OnNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhib29sIGVu
YWJsZWQpCiB7CiAgICAgV0tCdW5kbGVTZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMoSW5q
ZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLmJ1bmRsZSgpLCBwYWdlKCksIGVuYWJsZWQpOwpJbmRl
eDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmgJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNyArMTIwLDYgQEAg
cHVibGljOgogICAgIHZvaWQgcmVtb3ZlT3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoSlNTdHJp
bmdSZWYgc291cmNlT3JpZ2luLCBKU1N0cmluZ1JlZiBkZXN0aW5hdGlvblByb3RvY29sLCBKU1N0
cmluZ1JlZiBkZXN0aW5hdGlvbkhvc3QsIGJvb2wgYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMp
OwogICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0
VXNlclN0eWxlU2hlZXRMb2NhdGlvbihKU1N0cmluZ1JlZik7Ci0gICAgdm9pZCBzZXRTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRUYWJLZXlDeWNsZXNUaHJvdWdo
RWxlbWVudHMoYm9vbCk7CiAgICAgdm9pZCBzZXRTZXJpYWxpemVIVFRQTG9hZHMoKTsKICAgICB2
b2lkIGRpc3BhdGNoUGVuZGluZ0xvYWRSZXF1ZXN0cygpOwpJbmRleDogVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RS
dW5uZXIuaWRsCShyZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC05
Miw3ICs5Miw2IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKICAgICB1bmRlZmluZWQgcmVtb3Zl
T3JpZ2luQWNjZXNzQWxsb3dMaXN0RW50cnkoRE9NU3RyaW5nIHNvdXJjZU9yaWdpbiwgRE9NU3Ry
aW5nIGRlc3RpbmF0aW9uUHJvdG9jb2wsIERPTVN0cmluZyBkZXN0aW5hdGlvbkhvc3QsIGJvb2xl
YW4gYWxsb3dEZXN0aW5hdGlvblN1YmRvbWFpbnMpOwogICAgIHVuZGVmaW5lZCBzZXRVc2VyU3R5
bGVTaGVldEVuYWJsZWQoYm9vbGVhbiB2YWx1ZSk7CiAgICAgdW5kZWZpbmVkIHNldFVzZXJTdHls
ZVNoZWV0TG9jYXRpb24oRE9NU3RyaW5nIGxvY2F0aW9uKTsKLSAgICB1bmRlZmluZWQgc2V0U3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2xlYW4gdmFsdWUpOwogICAgIHVuZGVmaW5lZCBzZXRU
YWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMoYm9vbGVhbiBlbmFibGVkKTsKICAgICB1bmRlZmlu
ZWQgc2V0U2VyaWFsaXplSFRUUExvYWRzKCk7CiAgICAgdW5kZWZpbmVkIGRpc3BhdGNoUGVuZGlu
Z0xvYWRSZXF1ZXN0cygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412494</attachid>
            <date>2020-10-27 18:33:01 -0700</date>
            <delta_ts>2020-10-27 18:54:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218267-20201027183300.patch</filename>
            <type>text/plain</type>
            <size>26128</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTA4MikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIwIEBACisyMDIwLTEwLTI3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFkZGluZyBuZXcgU1BJIGZvciBl
YWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgyNjcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvc2UgYSBzZXQgb2Ygc2V0dGVycyB0byBmb3Ig
RHVtcFJlbmRlclRyZWUgdG8gdXNlIHdoZW4gc2V0dGluZyBwcmVmZXJlbmNlcworICAgICAgICBi
eSBzdHJpbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyBfc2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVl
OmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFVJbnQzMlByZWZlcmVu
Y2VGb3JUZXN0aW5nV2l0aFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgX3NldERvdWJsZVByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOmZvcktleTpdKToKKyAg
ICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFN0cmluZ1ByZWZlcmVuY2VGb3JUZXN0aW5nV2l0
aFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oOgorCiAyMDIwLTEwLTI3ICBUZXRzdWhhcnUgT2h6ZWtpICA8dGV0c3VoYXJ1Lm9oemVraUBn
bWFpbC5jb20+CiAKICAgICAgICAgTWFrZSBXZWJDb3JlOjpGb2N1c0RpcmVjdGlvbiB0byBlbnVt
IGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDI2ODk4MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2NjAsMjYg
KzE2NjAsNiBAQCArICh2b2lkKV9zZXRJQkNyZWF0b3JJRDooTlNTdHJpbmcgKilzdHJpCiAgICAg
W29sZCByZWxlYXNlXTsKIH0KIAotKyAodm9pZClfc3dpdGNoTmV0d29ya0xvYWRlclRvTmV3VGVz
dGluZ1Nlc3Npb24KLXsKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFdlYlRocmVhZExv
Y2soKTsKLSNlbmRpZgotICAgIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcDo6c3dpdGNoVG9OZXdU
ZXN0aW5nU2Vzc2lvbigpOwotfQotCi0rICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9u
Ci17Ci0gICAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24o
KS5kZWxldGVBbGxDb29raWVzKCk7Ci19Ci0KLSsgKHZvaWQpX3NldEN1cnJlbnROZXR3b3JrTG9h
ZGVyU2Vzc2lvbkNvb2tpZUFjY2VwdFBvbGljeTooTlNIVFRQQ29va2llQWNjZXB0UG9saWN5KXBv
bGljeQotewotICAgIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPiBjb29raWVTdG9y
YWdlID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5j
b29raWVTdG9yYWdlKCk7Ci0gICAgQVNTRVJUKGNvb2tpZVN0b3JhZ2UpOyAvLyBXaWxsIGZhaWwg
d2hlbiBOZXR3b3JrU3RvcmFnZVNlc3Npb25NYXA6OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24o
KSB3YXMgbm90IGNhbGxlZCBiZWZvcmVoYW5kLgotICAgIENGSFRUUENvb2tpZVN0b3JhZ2VTZXRD
b29raWVBY2NlcHRQb2xpY3koY29va2llU3RvcmFnZS5nZXQoKSwgcG9saWN5KTsKLX0KLQogLSAo
Qk9PTClpc0RPTVBhc3RlQWxsb3dlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdERPTVBhc3RlQWxsb3dlZFByZWZlcmVuY2VLZXldOwpAQCAtMTk1NiwxMSArMTkz
Niw2IEBAIC0gKHZvaWQpd2lsbEFkZFRvV2ViVmlldwogICAgICsrX3ByaXZhdGUtPm51bVdlYlZp
ZXdzOwogfQogCi0tICh2b2lkKV9zZXRQcmVmZXJlbmNlRm9yVGVzdFdpdGhWYWx1ZTooTlNTdHJp
bmcgKil2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5Ci17Ci0gICAgW3NlbGYgX3NldFN0cmlu
Z1ZhbHVlOnZhbHVlIGZvcktleTprZXldOwotfQotCiAtICh2b2lkKXNldEZ1bGxTY3JlZW5FbmFi
bGVkOihCT09MKWZsYWcKIHsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5Oldl
YktpdEZ1bGxTY3JlZW5FbmFibGVkUHJlZmVyZW5jZUtleV07CkBAIC0zMDAzLDYgKzI5NzgsNTAg
QEAgLSAodm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JGZWF0dQogCiBAZW5kCiAKK0Bp
bXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZVRlc3RpbmcpCisKKysgKHZv
aWQpX3N3aXRjaE5ldHdvcmtMb2FkZXJUb05ld1Rlc3RpbmdTZXNzaW9uCit7CisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyAgICBXZWJUaHJlYWRMb2NrKCk7CisjZW5kaWYKKyAgICBOZXR3b3Jr
U3RvcmFnZVNlc3Npb25NYXA6OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24oKTsKK30KKworKyAo
dm9pZClfc2V0Q3VycmVudE5ldHdvcmtMb2FkZXJTZXNzaW9uQ29va2llQWNjZXB0UG9saWN5OihO
U0hUVFBDb29raWVBY2NlcHRQb2xpY3kpcG9saWN5Cit7CisgICAgYXV0byBjb29raWVTdG9yYWdl
ID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5jb29r
aWVTdG9yYWdlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoY29va2llU3RvcmFnZSk7IC8vIFdpbGwg
ZmFpbCB3aGVuIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcDo6c3dpdGNoVG9OZXdUZXN0aW5nU2Vz
c2lvbigpIHdhcyBub3QgY2FsbGVkIGJlZm9yZWhhbmQuCisgICAgQ0ZIVFRQQ29va2llU3RvcmFn
ZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCBwb2xpY3kpOworfQor
CisrICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9uCit7CisgICAgTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5kZWxldGVBbGxDb29raWVzKCk7
Cit9CisKKy0gKHZvaWQpX3NldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTooQk9P
TCl2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5Cit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1
ZTp2YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworLSAodm9pZClfc2V0VUludDMyUHJlZmVyZW5jZUZv
clRlc3RpbmdXaXRoVmFsdWU6KHVpbnQzMl90KXZhbHVlIGZvcktleTooTlNTdHJpbmcgKilrZXkK
K3sKKyAgICBbc2VsZiBfc2V0SW50ZWdlclZhbHVlOnZhbHVlIGZvcktleTprZXldOworfQorCist
ICh2b2lkKV9zZXREb3VibGVQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTooZG91YmxlKXZh
bHVlIGZvcktleTooTlNTdHJpbmcgKilrZXkKK3sKKyAgICBbc2VsZiBfc2V0RmxvYXRWYWx1ZTp2
YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworLSAodm9pZClfc2V0U3RyaW5nUHJlZmVyZW5jZUZvclRl
c3RpbmdXaXRoVmFsdWU6KE5TU3RyaW5nICopdmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKWtleQor
eworICAgIFtzZWxmIF9zZXRTdHJpbmdWYWx1ZTp2YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworQGVu
ZAorCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVQcmVmZXJlbmNl
c0NvbnZlcnRlZFRvV2ViRmVhdHVyZSkKIAogLSAoQk9PTCl1c2VyR2VzdHVyZVByb21pc2VQcm9w
YWdhdGlvbkVuYWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMjY4OTgzKQorKysg
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtODksMTMgKzg5LDYgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNl
cyAoV2ViUHJpdmF0ZSkKICsgKHZvaWQpX3NldEluaXRpYWxEZWZhdWx0VGV4dEVuY29kaW5nVG9T
eXN0ZW1FbmNvZGluZzsKICsgKHZvaWQpX3NldElCQ3JlYXRvcklEOihOU1N0cmluZyAqKXN0cmlu
ZzsKIAotLy8gRm9yIER1bXBSZW5kZXJUcmVlIHVzZSBvbmx5LgotKyAodm9pZClfc3dpdGNoTmV0
d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb247Ci0rICh2b2lkKV9zZXRDdXJyZW50TmV0d29y
a0xvYWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFjY2VwdFBvbGlj
eSljb29raWVBY2NlcHRQb2xpY3k7Ci0rICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9u
OwotLy8gVXNlZCB0byBzZXQgcHJlZmVyZW5jZSBzcGVjaWZpZWQgaW4gdGhlIHRlc3QgdmlhIExh
eW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSguLikuCi0tICh2b2lkKV9zZXRQ
cmVmZXJlbmNlRm9yVGVzdFdpdGhWYWx1ZTooTlNTdHJpbmcgKil2YWx1ZSBmb3JLZXk6KE5TU3Ry
aW5nICopa2V5OwotCiArICh2b2lkKXNldFdlYktpdExpbmtUaW1lVmVyc2lvbjooaW50KXZlcnNp
b247CiAKIC8vIEZvciBXZWJWaWV3J3MgdXNlIG9ubHkuCkBAIC0zMDksNiArMzAyLDE3IEBAIEBp
bnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVGZWEKIC0gKHZvaWQpX3NldEVuYWJs
ZWQ6KEJPT0wpdmFsdWUgZm9yRmVhdHVyZTooV2ViRmVhdHVyZSAqKWZlYXR1cmU7CiBAZW5kCiAK
K0BpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVUZXN0aW5nKQorKyAodm9pZClf
c3dpdGNoTmV0d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb247CisrICh2b2lkKV9zZXRDdXJy
ZW50TmV0d29ya0xvYWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSljb29raWVBY2NlcHRQb2xpY3k7CisrICh2b2lkKV9jbGVhck5ldHdvcmtMb2Fk
ZXJTZXNzaW9uOworCistICh2b2lkKV9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFs
dWU6KEJPT0wpdmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKWtleTsKKy0gKHZvaWQpX3NldFVJbnQz
MlByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOih1aW50MzJfdCl2YWx1ZSBmb3JLZXk6KE5T
U3RyaW5nICopa2V5OworLSAodm9pZClfc2V0RG91YmxlUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRo
VmFsdWU6KGRvdWJsZSl2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5OworLSAodm9pZClfc2V0
U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFsdWU6KE5TU3RyaW5nICopdmFsdWUgZm9y
S2V5OihOU1N0cmluZyAqKWtleTsKK0BlbmQKKwogLy8gRklYTUU6IElmIHRoZXNlIGFyZSBub3Qg
dXNlZCBhbnl3aGVyZSwgd2Ugc2hvdWxkIHJlbW92ZSB0aGVtIGFuZCBvbmx5IHVzZSBXZWJGZWF0
dXJlIG1lY2hhbmlzbSBmb3IgdGhlIHByZWZlcmVuY2UuCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVu
Y2VzIChXZWJQcml2YXRlUHJlZmVyZW5jZXNDb252ZXJ0ZWRUb1dlYkZlYXR1cmUpCiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCB1c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQ7
CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzNyBAQAorMjAyMC0xMC0yNyAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgW1Rlc3RpbmddIFJlbW92ZSByZXF1aXJlbWVudCBvZiBhZGRpbmcgbmV3IFNQSSBm
b3IgZWFjaCBwcmVmZXJlbmNlIHRoYXQgbmVlZHMgdGVzdGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MjY3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlcyB0aGUgcmVxdWlyZW1lbnQgZm9y
IFdlYktpdExlZ2FjeSAobWFjT1MpLCB3aGljaCBoYXMgYWxyZWFkeSBiZWVuIGxpZnRlZCBmb3IK
KyAgICAgICAgbW9kZXJuIFdlYktpdCwgdGhhdCB0ZXN0aW5nIG5ldyBwcmVmZXJlbmNlcyByZXF1
aXJlcyBuZXcgV2ViUHJlZmVyZW5jZXMgU1BJLiBJbnN0ZWFkLAorICAgICAgICBuZXcgdGVzdGlu
ZyBzcGVjaWZpYyBTUEkgKFtXZWJQcmVmZXJlbmNlcyBfc2V0KlByZWZlcmVuY2VGb3JUZXN0aW5n
V2l0aFZhbHVlOmZvcktleTpdKQorICAgICAgICBhcmUgdXNlZCB0byBhbGxvdyBzdHJpbmcgYmFz
ZWQgc2V0dGluZy4KKyAgICAgICAgCisgICAgICAgIFRvIG1ha2UgdGhpcyB3b3JrIHdpdGggdGhl
IHNoYXJlZCBXZWJQcmVmZXJlbmNlcyoueWFtbCBuYW1lcywgYSBoZWxwZXIgaXMgZ2VuZXJhdGVk
IHRvCisgICAgICAgIG1hcCBmcm9tIHRoZSBzaGFyZWQgbmFtZSB0byB0aGUgV2ViS2l0TGVnYWN5
IHNwZWNpZmljIG5hbWUuCisKKyAgICAgICAgVGhpcyBzdGlsbCBkb2Vzbid0IHF1aXRlIHRha2Ug
dXMgYWxsIHRoZSB3YXkgdG8gc3VwcG9ydGluZyBhbnkgV2ViUHJlZmVyZW5jZXMqLnlhbWwgbmFt
ZQorICAgICAgICBpbiB0ZXN0IGhlYWRlcnMsIGFzIGlzIHN1cHBvcnRlZCBpbiBXZWJLaXRUZXN0
UnVubmVyLCBhcyB3ZSBzdGlsbCBuZWVkIGEgdmlhYmxlIG1lY2hhbmlzbQorICAgICAgICB0byBm
dWxseSByZXNldCBXZWJQcmVmZXJlbmNlcyBiZXR3ZWVuIHRlc3RzLiBSaWdodCBub3csIGVhY2gg
cHJlZmVyZW5jZSBtdXN0IGJlIHNldCBvbgorICAgICAgICBlYWNoIHRlc3QgcnVuLCByZXF1aXJp
bmcgdGhlIGNvbXBsZXRlIHNldCBvZiBwcmVmZXJlbmNlcyB0byBiZSBrbm93biB1cCBmcm9udC4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvVGVzdE9wdGlv
bnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNwcC5lcmI6IEFkZGVkLgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdE9w
dGlvbnM6OnN1cHBvcnRlZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0
aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06Cisg
ICAgICAgIChUZXN0UnVubmVyOjpvdmVycmlkZVByZWZlcmVuY2UpOgorCiAyMDIwLTEwLTI3ICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBEdW1wUmVuZGVyVHJlZSBz
cGFtcyBzdGRlcnIgd2l0aCBDRk5ldHdvcmsgd2FybmluZ3MgYWJvdXQgbnVsbCBkaXNrY2FjaGUg
cGF0aApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI2OTA4
MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC00MCw2ICs0MCw3IEBAIGxpc3QoQVBQRU5EIER1bXBSZW5kZXJUcmVlX1BSSVZBVEVfSU5D
TFUKICkKIAogc2V0KER1bXBSZW5kZXJUcmVlX1dFQl9QUkVGRVJFTkNFU19URU1QTEFURVMKKyAg
ICAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0
T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgogICAgICR7RHVt
cFJlbmRlclRyZWVfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rlc3RPcHRpb25z
R2VuZXJhdGVkS2V5cy5oLmVyYgogKQogCkBAIC01MywxMiArNTQsMTMgQEAgc2V0KER1bXBSZW5k
ZXJUcmVlX1dFQl9QUkVGRVJFTkNFUwogc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7RHVt
cFJlbmRlclRyZWVfV0VCX1BSRUZFUkVOQ0VTfSBQUk9QRVJUSUVTIEdFTkVSQVRFRCBUUlVFKQog
CiBhZGRfY3VzdG9tX2NvbW1hbmQoCi0gICAgT1VUUFVUICR7RHVtcFJlbmRlclRyZWVfREVSSVZF
RF9TT1VSQ0VTX0RJUn0vVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmgKKyAgICBPVVRQVVQgJHtE
dW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9UZXN0T3B0aW9uc0dlbmVyYXRlZFdl
YktpdExlZ2FjeUtleU1hcHBpbmcuY3BwICR7RHVtcFJlbmRlclRyZWVfREVSSVZFRF9TT1VSQ0VT
X0RJUn0vVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmgKICAgICBERVBFTkRTICR7RHVtcFJlbmRl
clRyZWVfV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFU30gJHtEdW1wUmVuZGVyVHJlZV9XRUJfUFJF
RkVSRU5DRVN9IFdURl9Db3B5UHJlZmVyZW5jZXMKLSAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRB
QkxFfSAke1dURl9TQ1JJUFRTX0RJUn0vR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAtLWZyb250ZW5k
IFdlYktpdExlZ2FjeSAtLWJhc2UgJHtXVEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgLS1kZWJ1ZyAke1dURl9TQ1JJUFRTX0RJUn0vUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNEZWJ1Zy55YW1sIC0tZXhwZXJpbWVudGFsICR7V1RGX1NDUklQVFNfRElSfS9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIC0taW50ZXJuYWwgJHtX
VEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbCAt
LW91dHB1dERpciAiJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfSIgLS10ZW1w
bGF0ZSAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaC5lcmIKKyAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRB
QkxFfSAke1dURl9TQ1JJUFRTX0RJUn0vR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAtLWZyb250ZW5k
IFdlYktpdExlZ2FjeSAtLWJhc2UgJHtXVEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgLS1kZWJ1ZyAke1dURl9TQ1JJUFRTX0RJUn0vUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNEZWJ1Zy55YW1sIC0tZXhwZXJpbWVudGFsICR7V1RGX1NDUklQVFNfRElSfS9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIC0taW50ZXJuYWwgJHtX
VEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbCAt
LW91dHB1dERpciAiJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfSIgLS10ZW1w
bGF0ZSAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYiAtLXRlbXBs
YXRlICR7RHVtcFJlbmRlclRyZWVfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rl
c3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oLmVyYgogICAgIFZFUkJBVElNKQogCiBsaXN0KEFQUEVO
RCBEdW1wUmVuZGVyVHJlZV9TT1VSQ0VTCisgICAgJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NP
VVJDRVNfRElSfS9UZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3Bw
CiAgICAgJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9UZXN0T3B0aW9uc0dl
bmVyYXRlZEtleXMuaAogKQogCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2OTA4MikKKysrIFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHdvcmtp
bmcgY29weSkKQEAgLTcsNiArNyw3IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwv
aW5jbHVkZS8KICQoUFJPSkVDVF9ESVIpLy4uL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250
ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL0JpbmRp
bmdzL0NvZGVHZW5lcmF0b3JEdW1wUmVuZGVyVHJlZS5wbQogJChQUk9KRUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMubWFrZQorJChQUk9KRUNUX0RJUikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRl
cy9UZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgogJChQ
Uk9KRUNUX0RJUikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0T3B0aW9uc0dlbmVy
YXRlZEtleXMuaC5lcmIKICQoUFJPSkVDVF9ESVIpL1NjcmlwdHMvZ2VuZXJhdGUtZGVyaXZlZC1z
b3VyY2VzLnNoCiAkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvQ29kZUdlbmVyYXRvci5w
bQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQgKzEsNSBAQAogIyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGJ5IHRoZSBnZW5lcmF0ZS14Y2Zp
bGVsaXN0cyBzY3JpcHQuCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvRHVt
cFJlbmRlclRyZWUvSlNVSVNjcmlwdENvbnRyb2xsZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvRHVtcFJlbmRlclRyZWUvSlNVSVNjcmlwdENvbnRyb2xsZXIuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0R1bXBSZW5kZXJUcmVlL1Rlc3RP
cHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9uc0dlbmVyYXRl
ZEtleXMuaApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMubWFrZQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291cmNlcy5tYWtlCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291cmNlcy5t
YWtlCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBAIFdFQl9QUkVGRVJFTkNFUyA9IFwK
ICMKIAogV0VCX1BSRUZFUkVOQ0VTX0dFTkVSQVRFRF9GSUxFUyA9IFwKKyAgICBUZXN0T3B0aW9u
c0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwIFwKICAgICBUZXN0T3B0aW9uc0dl
bmVyYXRlZEtleXMuaCBcCiAjCiAKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5j
cHAJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsMjAgQEAKIAogbmFtZXNwYWNlIFdUUiB7
CiAKK2NvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgVGVzdE9wdGlvbnM6OnN1cHBvcnRl
ZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKQoreworICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhp
cyBvbmNlIHRoZXJlIGlzIGEgdmlhYmxlIG1lY2hhbmlzbSBmb3IgcmVzZXRpbmcgV2ViUHJlZmVy
ZW5jZXMgYmV0d2VlbiB0ZXN0cywKKyAgICAvLyBhdCB3aGljaCBwb2ludCwgd2Ugd2lsbCBub3Qg
bmVlZCB0byBtYW51YWxseSByZXNldCBldmVyeSBzdXBwb3J0ZWQgcHJlZmVyZW5jZSBmb3IgZWFj
aCB0ZXN0LgorCisgICAgc3RhdGljIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBzdXBwb3J0ZWQg
PSBbXSB7CisgICAgICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBrZXlzOworICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIFtrZXksIHZhbHVlXSA6IGRlZmF1bHRzKCkuYm9vbFdlYlByZWZlcmVu
Y2VGZWF0dXJlcykKKyAgICAgICAgICAgIGtleXMucHVzaF9iYWNrKGtleSk7CisgICAgICAgIHJl
dHVybiBrZXlzOworICAgIH0oKTsKKyAgICByZXR1cm4gc3VwcG9ydGVkOworfQorCiBjb25zdCBU
ZXN0RmVhdHVyZXMmIFRlc3RPcHRpb25zOjpkZWZhdWx0cygpCiB7CiAgICAgc3RhdGljIFRlc3RG
ZWF0dXJlcyBmZWF0dXJlczsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAkocmV2
aXNpb24gMjY5MDgyKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAkod29y
a2luZyBjb3B5KQpAQCAtNTYsNiArNTYsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IGF1dG8mIHVp
bnQzMldlYlByZWZlcmVuY2VGZWF0dXJlcygpIGNvbnN0IHsgcmV0dXJuIG1fZmVhdHVyZXMudWlu
dDMyV2ViUHJlZmVyZW5jZUZlYXR1cmVzOyB9CiAgICAgY29uc3QgYXV0byYgc3RyaW5nV2ViUHJl
ZmVyZW5jZUZlYXR1cmVzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlcy5zdHJpbmdXZWJQcmVm
ZXJlbmNlRmVhdHVyZXM7IH0KIAorICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIHRoZXJl
IGlzIGEgdmlhYmxlIG1lY2hhbmlzbSBmb3IgcmVzZXRpbmcgV2ViUHJlZmVyZW5jZXMgYmV0d2Vl
biB0ZXN0cywKKyAgICAvLyBhdCB3aGljaCBwb2ludCwgd2Ugd2lsbCBub3QgbmVlZCB0byBtYW51
YWxseSByZXNldCBldmVyeSBzdXBwb3J0ZWQgcHJlZmVyZW5jZSBmb3IgZWFjaCB0ZXN0LgorICAg
IHN0YXRpYyBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4mIHN1cHBvcnRlZEJvb2xXZWJQ
cmVmZXJlbmNlRmVhdHVyZXMoKTsKKwogICAgIHN0YXRpYyBzdGQ6OnN0cmluZyB0b1dlYktpdExl
Z2FjeVByZWZlcmVuY2VLZXkoY29uc3Qgc3RkOjpzdHJpbmcmKTsKIAogcHJpdmF0ZToKSW5kZXg6
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY5MDgyKQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMTA5LDYgKzEwOSw3IEBACiAJCTVEQjlBQzlFMEY3MjJDMzYwMDY4NDY0
MSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyNzAwLnR0ZiBpbiBDb3B5IEZvbnQgRmlsZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzc1RjA5NzcwREFDM0NCNjAwQzhCNEU1IC8q
IFdlYktpdFdlaWdodFdhdGNoZXI3MDAudHRmICovOyB9OwogCQk1REI5QUM5RjBGNzIyQzM2MDA2
ODQ2NDEgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjgwMC50dGYgaW4gQ29weSBGb250IEZpbGVzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3NUYwOTc4MERBQzNDQjYwMEM4QjRF
NSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyODAwLnR0ZiAqLzsgfTsKIAkJNURCOUFDQTAwRjcyMkMz
NjAwNjg0NjQxIC8qIFdlYktpdFdlaWdodFdhdGNoZXI5MDAudHRmIGluIENvcHkgRm9udCBGaWxl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzVGMDk3OTBEQUMzQ0I2MDBD
OEI0RTUgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGYgKi87IH07CisJCTdDOTg5M0RGMjU0
MzNGOEUwMDM1NEVCQyAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBp
bmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5
ODkzREUyNTQzM0M4NzAwMzU0RUJDIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5
S2V5TWFwcGluZy5jcHAgKi87IH07CiAJCTdDRkY5QkJGMjUzM0JCMjQwMDA4MDA5RiAvKiBUZXN0
RmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0NGRjlCQkUyNTMzQkIyNDAwMDgwMDlGIC8qIFRlc3RGZWF0dXJlcy5jcHAgKi87IH07CiAJ
CTdDRkY5QkMyMjUzM0JDMTYwMDA4MDA5RiAvKiBUZXN0Q29tbWFuZC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0ZGOUJDMTI1MzNCQzE2MDAwODAw
OUYgLyogVGVzdENvbW1hbmQuY3BwICovOyB9OwogCQk4MDA0NUFFRTE0NzcxOEU3MDA4MjkwQTgg
LyogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXIubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MDA0NUFFQzE0NzcxOEU3MDA4MjkwQTggLyog
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXIubW0gKi87IH07CkBAIC0zMzMsNyArMzM0
LDggQEAKIAkJN0M0NDY5N0YyNTM3N0EwMjAwMjQyOTBBIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVk
S2V5cy5oLmVyYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBUZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaC5lcmI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNDQ2OTgwMjUzNzdBMDIwMDI0MjkwQSAvKiBjaGVjay14
Y2ZpbGVsaXN0cy5zaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuc2NyaXB0LnNoOyBwYXRoID0gImNoZWNrLXhjZmlsZWxpc3RzLnNoIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0NDY5ODEyNTM3N0EwMjAwMjQyOTBBIC8qIGdl
bmVyYXRlLWRlcml2ZWQtc291cmNlcy5zaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnNoOyBwYXRoID0gImdlbmVyYXRlLWRlcml2
ZWQtc291cmNlcy5zaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDNDQ2OTg1MjUz
NzdFNTIwMDI0MjkwQSAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmg7IHBhdGggPSBUZXN0T3B0aW9uc0dlbmVyYXRl
ZEtleXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M0NDY5ODUyNTM3N0U1MjAw
MjQyOTBBIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXN0
T3B0aW9uc0dlbmVyYXRlZEtleXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5
ODkzREUyNTQzM0M4NzAwMzU0RUJDIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5
S2V5TWFwcGluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXN0T3B0aW9uc0dlbmVyYXRlZFdl
YktpdExlZ2FjeUtleU1hcHBpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
Q0JCQzMyMjFEREZDRjlBMDA3ODZCOUQgLyogVGVzdE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVGVzdE9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0NGRjlCQkQyNTMzQkIyNDAwMDgwMDlGIC8qIFRlc3RGZWF0dXJlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUZXN0RmVhdHVyZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NG
RjlCQkUyNTMzQkIyNDAwMDgwMDlGIC8qIFRlc3RGZWF0dXJlcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUZXN0RmVhdHVyZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzc4
LDYgKzc4MCw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTdD
NDQ2OTg1MjUzNzdFNTIwMDI0MjkwQSAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaCAqLywK
KwkJCQk3Qzk4OTNERTI1NDMzQzg3MDAzNTRFQkMgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRXZWJL
aXRMZWdhY3lLZXlNYXBwaW5nLmNwcCAqLywKIAkJCSk7CiAJCQluYW1lID0gIkRlcml2ZWQgU291
cmNlcyI7CiAJCQlwYXRoID0gRGVyaXZlZFNvdXJjZXMvRHVtcFJlbmRlclRyZWU7CkBAIC0xMjkx
LDYgKzEyOTQsNyBAQAogCQkJCTdDRkY5QkMyMjUzM0JDMTYwMDA4MDA5RiAvKiBUZXN0Q29tbWFu
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0ZGOUJCRjI1MzNCQjI0MDAwODAwOUYgLyogVGVz
dEZlYXR1cmVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzMEEyMUY4MjA1MUQ4QzQwMDA4RkY0
MiAvKiBUZXN0T3B0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3Qzk4OTNERjI1NDMzRjhF
MDAzNTRFQkMgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDMDEzMURBMEM5NzcyMDEwMDg3MzE3RCAvKiBUZXN0UnVu
bmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQTE4QjI0MEM5QjAxNEIwMDExNDM2OSAvKiBU
ZXN0UnVubmVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjRENDIzNjExREQ1MDQ4MjAwNjc4
MjkwIC8qIFRleHRJbnB1dENvbnRyb2xsZXJJT1MubSBpbiBTb3VyY2VzICovLApJbmRleDogVG9v
bHMvRHVtcFJlbmRlclRyZWUvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0T3B0aW9u
c0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9EdW1wUmVuZGVyVHJlZS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rlc3RPcHRp
b25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHAuZXJiCShub25leGlzdGVudCkK
KysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvVGVz
dE9wdGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNwcC5lcmIJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIDwlPSBAd2FybmluZyAlPgorICoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUZXN0T3B0aW9ucy5oIgorCituYW1l
c3BhY2UgV1RSIHsKKworc3RkOjpzdHJpbmcgVGVzdE9wdGlvbnM6OnRvV2ViS2l0TGVnYWN5UHJl
ZmVyZW5jZUtleShjb25zdCBzdGQ6OnN0cmluZyYgd2ViUHJlZmVyZW5jZXNLZXkpCit7CisgICAg
c3RhdGljIHN0ZDo6dW5vcmRlcmVkX21hcDxzdGQ6OnN0cmluZywgc3RkOjpzdHJpbmc+IG5vblN0
YW5kYXJkS2V5cyA9IHsKKzwlLSBmb3IgQHByZWYgaW4gQGV4cG9zZWRQcmVmZXJlbmNlcy5zZWxl
Y3QgeyB8cHwgcC5vcHRzWyJ3ZWJLaXRMZWdhY3lQcmVmZXJlbmNlS2V5Il0gfSBkbyAtJT4KKyAg
ICAgICAgeyAiPCU9IEBwcmVmLm5hbWUgJT4iLCAiPCU9IEBwcmVmLnByZWZlcmVuY2VLZXkgJT4i
IH0sIFwKKzwlLSBlbmQgLSU+CisgICAgfTsKKworICAgIGF1dG8gaXQgPSBub25TdGFuZGFyZEtl
eXMuZmluZCh3ZWJQcmVmZXJlbmNlc0tleSk7CisgICAgaWYgKGl0ICE9IG5vblN0YW5kYXJkS2V5
cy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CisKKyAgICByZXR1cm4gIldlYktp
dCIgKyB3ZWJQcmVmZXJlbmNlc0tleTsKK30KKworfQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjY5MDgyKQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAs
NiArMTMwLDExIEBAIGV4dGVybiAiQyIgewogI2ltcG9ydCA8bWFjaC1vL2dldHNlY3QuaD4KIH0K
IAorc3RhdGljIFJldGFpblB0cjxOU1N0cmluZz4gdG9OUyhjb25zdCBzdGQ6OnN0cmluZyYgc3Ry
aW5nKQoreworICAgIHJldHVybiBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoVVRG
OFN0cmluZzpzdHJpbmcuY19zdHIoKV0pOworfQorCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
CiBAaW50ZXJmYWNlIER1bXBSZW5kZXJUcmVlQXBwbGljYXRpb24gOiBOU0FwcGxpY2F0aW9uCiBA
ZW5kCkBAIC05NjksNDEgKzk3NCwyMSBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2Vz
VG9Db25zaXN0CiAgICAgW1dlYlByZWZlcmVuY2VzIF9zZXRDdXJyZW50TmV0d29ya0xvYWRlclNl
c3Npb25Db29raWVBY2NlcHRQb2xpY3k6TlNIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21N
YWluRG9jdW1lbnREb21haW5dOwogfQogCi1zdGF0aWMgYm9vbCBib29sV2ViUHJlZmVyZW5jZUZl
YXR1cmVWYWx1ZShzdGQ6OnN0cmluZyBrZXksIGJvb2wgZGVmYXVsdFZhbHVlLCBjb25zdCBXVFI6
OlRlc3RPcHRpb25zJiBvcHRpb25zKQorc3RhdGljIGJvb2wgYm9vbFdlYlByZWZlcmVuY2VGZWF0
dXJlVmFsdWUoc3RkOjpzdHJpbmcga2V5LCBjb25zdCBXVFI6OlRlc3RPcHRpb25zJiBvcHRpb25z
KQogewogICAgIGF1dG8gaXQgPSBvcHRpb25zLmJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKS5m
aW5kKGtleSk7Ci0gICAgaWYgKGl0ICE9IG9wdGlvbnMuYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJl
cygpLmVuZCgpKQotICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsKLSAgICByZXR1cm4gZGVmYXVs
dFZhbHVlOworICAgIEFTU0VSVChpdCAhPSBvcHRpb25zLmJvb2xXZWJQcmVmZXJlbmNlRmVhdHVy
ZXMoKS5lbmQoKSk7CisgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CiB9CiAKIHN0YXRpYyB2b2lkIHNl
dFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2Vz
LCBjb25zdCBXVFI6OlRlc3RPcHRpb25zJiBvcHRpb25zKQogewogICAgIHByZWZlcmVuY2VzLnBy
aXZhdGVCcm93c2luZ0VuYWJsZWQgPSBvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24oKTsKIAot
ICAgIHByZWZlcmVuY2VzLmF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJl
bmNlRmVhdHVyZVZhbHVlKCJBdHRhY2htZW50RWxlbWVudEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9u
cyk7Ci0gICAgcHJlZmVyZW5jZXMuYWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCA9IGJvb2xXZWJQ
cmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkIiwgZmFsc2Us
IG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLm1lbnVJdGVtRWxlbWVudEVuYWJsZWQgPSBib29s
V2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiTWVudUl0ZW1FbGVtZW50RW5hYmxlZCIsIGZhbHNl
LCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5rZXlnZW5FbGVtZW50RW5hYmxlZCA9IGJvb2xX
ZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJLZXlnZW5FbGVtZW50RW5hYmxlZCIsIGZhbHNlLCBv
cHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5tb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCA9IGJv
b2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIs
IHRydWUsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmluc3BlY3RvckFkZGl0aW9uc0VuYWJs
ZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiSW5zcGVjdG9yQWRkaXRpb25zRW5h
YmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5hbGxvd0Nyb3NzT3JpZ2lu
U3VicmVzb3VyY2VzVG9Bc2tGb3JDcmVkZW50aWFscyA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVy
ZVZhbHVlKCJBbGxvd0Nyb3NzT3JpZ2luU3VicmVzb3VyY2VzVG9Bc2tGb3JDcmVkZW50aWFscyIs
IGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5jb2xvckZpbHRlckVuYWJsZWQgPSBi
b29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ29sb3JGaWx0ZXJFbmFibGVkIiwgZmFsc2Us
IG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLnNlbGVjdGlvbkFjcm9zc1NoYWRvd0JvdW5kYXJp
ZXNFbmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlNlbGVjdGlvbkFjcm9z
c1NoYWRvd0JvdW5kYXJpZXNFbmFibGVkIiwgdHJ1ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5j
ZXMud2ViR1BVRW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJXZWJHUFVF
bmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLkNTU0xvZ2ljYWxFbmFi
bGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkNTU0xvZ2ljYWxFbmFibGVkIiwg
ZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmxpbmVIZWlnaHRVbml0c0VuYWJsZWQg
PSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiTGluZUhlaWdodFVuaXRzRW5hYmxlZCIs
IGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5hZENsaWNrQXR0cmlidXRpb25FbmFi
bGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkFkQ2xpY2tBdHRyaWJ1dGlvbkVu
YWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMucmVzaXplT2JzZXJ2ZXJF
bmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlJlc2l6ZU9ic2VydmVyRW5h
YmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5DU1NPTVZpZXdTbW9vdGhT
Y3JvbGxpbmdFbmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkNTU09NVmll
d1Ntb290aFNjcm9sbGluZ0VuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5j
ZXMuY29yZU1hdGhNTEVuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ29y
ZU1hdGhNTEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMucmVxdWVz
dElkbGVDYWxsYmFja0VuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiUmVx
dWVzdElkbGVDYWxsYmFja0VuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5j
ZXMuYXN5bmNDbGlwYm9hcmRBUElFbmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFs
dWUoIkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVm
ZXJlbmNlcy51c2VzUGFnZUNhY2hlID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlVz
ZXNCYWNrRm9yd2FyZENhY2hlIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmxh
eW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkID0gYm9vbFdlYlByZWZlcmVu
Y2VGZWF0dXJlVmFsdWUoIkxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVk
IiwgdHJ1ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuYXNwZWN0UmF0aW9PZkltZ0Zyb21X
aWR0aEFuZEhlaWdodEVuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQXNw
ZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7
Ci0gICAgcHJlZmVyZW5jZXMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyA9IGJvb2xXZWJQ
cmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJBbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzIiwgdHJ1
ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuY29udGFjdFBpY2tlckFQSUVuYWJsZWQgPSBi
b29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ29udGFjdFBpY2tlckFQSUVuYWJsZWQiLCBm
YWxzZSwgb3B0aW9ucyk7CisgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgdGhlcmUgaXMg
YSB2aWFibGUgbWVjaGFuaXNtIGZvciByZXNldGluZyBXZWJQcmVmZXJlbmNlcyBiZXR3ZWVuIHRl
c3RzLAorICAgIC8vIGF0IHdoaWNoIHBvaW50LCB3ZSB3aWxsIG5vdCBuZWVkIHRvIG1hbnVhbGx5
IHJlc2V0IGV2ZXJ5IHN1cHBvcnRlZCBwcmVmZXJlbmNlIGZvciBlYWNoIHRlc3QuCisgICAgZm9y
IChhdXRvJiBrZXkgPSBvcHRpb25zLnN1cHBvcnRlZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMo
KSkKKyAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRo
VmFsdWU6Ym9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoa2V5LCBvcHRpb25zKSBmb3JLZXk6
dG9OUyhXVFI6OlRlc3RPcHRpb25zOjp0b1dlYktpdExlZ2FjeVByZWZlcmVuY2VLZXkoa2V5KSku
Z2V0KCldOwogfQogCiAvLyBDYWxsZWQgb25jZSBvbiBEdW1wUmVuZGVyVHJlZSBzdGFydHVwLgpJ
bmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0JKHJldmlzaW9u
IDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC02MDksNyArNjA5LDcgQEAgdm9pZCBUZXN0UnVubmVyOjpvdmVycmlk
ZVByZWZlcmVuY2UoSlNTdAogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gdmFsdWVDRiA9IGFk
b3B0Q0YoSlNTdHJpbmdDb3B5Q0ZTdHJpbmcoa0NGQWxsb2NhdG9yRGVmYXVsdCwgdmFsdWUpKTsK
ICAgICBOU1N0cmluZyAqdmFsdWVOUyA9IChfX2JyaWRnZSBOU1N0cmluZyAqKXZhbHVlQ0YuZ2V0
KCk7CiAKLSAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIF9zZXRQcmVmZXJl
bmNlRm9yVGVzdFdpdGhWYWx1ZTp2YWx1ZU5TIGZvcktleTprZXlOU107CisgICAgW1tbbWFpbkZy
YW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBfc2V0U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmdX
aXRoVmFsdWU6dmFsdWVOUyBmb3JLZXk6a2V5TlNdOwogfQogCiB2b2lkIFRlc3RSdW5uZXI6OnJl
bW92ZUFsbFZpc2l0ZWRMaW5rcygpCg==
</data>
<flag name="commit-queue"
          id="428968"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412496</attachid>
            <date>2020-10-27 18:38:50 -0700</date>
            <delta_ts>2020-10-28 08:57:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218267-20201027183850.patch</filename>
            <type>text/plain</type>
            <size>26134</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTA4MikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIwIEBACisyMDIwLTEwLTI3ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFkZGluZyBuZXcgU1BJIGZvciBl
YWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgyNjcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHBvc2UgYSBzZXQgb2Ygc2V0dGVycyB0byBmb3Ig
RHVtcFJlbmRlclRyZWUgdG8gdXNlIHdoZW4gc2V0dGluZyBwcmVmZXJlbmNlcworICAgICAgICBi
eSBzdHJpbmcuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoLVtXZWJQcmVmZXJlbmNlcyBfc2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVl
OmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFVJbnQzMlByZWZlcmVu
Y2VGb3JUZXN0aW5nV2l0aFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgX3NldERvdWJsZVByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOmZvcktleTpdKToKKyAg
ICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgX3NldFN0cmluZ1ByZWZlcmVuY2VGb3JUZXN0aW5nV2l0
aFZhbHVlOmZvcktleTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0
ZS5oOgorCiAyMDIwLTEwLTI3ICBUZXRzdWhhcnUgT2h6ZWtpICA8dGV0c3VoYXJ1Lm9oemVraUBn
bWFpbC5jb20+CiAKICAgICAgICAgTWFrZSBXZWJDb3JlOjpGb2N1c0RpcmVjdGlvbiB0byBlbnVt
IGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0JKHJldmlzaW9uIDI2ODk4MykKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2NjAsMjYg
KzE2NjAsNiBAQCArICh2b2lkKV9zZXRJQkNyZWF0b3JJRDooTlNTdHJpbmcgKilzdHJpCiAgICAg
W29sZCByZWxlYXNlXTsKIH0KIAotKyAodm9pZClfc3dpdGNoTmV0d29ya0xvYWRlclRvTmV3VGVz
dGluZ1Nlc3Npb24KLXsKLSNpZiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIFdlYlRocmVhZExv
Y2soKTsKLSNlbmRpZgotICAgIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcDo6c3dpdGNoVG9OZXdU
ZXN0aW5nU2Vzc2lvbigpOwotfQotCi0rICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9u
Ci17Ci0gICAgTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24o
KS5kZWxldGVBbGxDb29raWVzKCk7Ci19Ci0KLSsgKHZvaWQpX3NldEN1cnJlbnROZXR3b3JrTG9h
ZGVyU2Vzc2lvbkNvb2tpZUFjY2VwdFBvbGljeTooTlNIVFRQQ29va2llQWNjZXB0UG9saWN5KXBv
bGljeQotewotICAgIFJldGFpblB0cjxDRkhUVFBDb29raWVTdG9yYWdlUmVmPiBjb29raWVTdG9y
YWdlID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5j
b29raWVTdG9yYWdlKCk7Ci0gICAgQVNTRVJUKGNvb2tpZVN0b3JhZ2UpOyAvLyBXaWxsIGZhaWwg
d2hlbiBOZXR3b3JrU3RvcmFnZVNlc3Npb25NYXA6OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24o
KSB3YXMgbm90IGNhbGxlZCBiZWZvcmVoYW5kLgotICAgIENGSFRUUENvb2tpZVN0b3JhZ2VTZXRD
b29raWVBY2NlcHRQb2xpY3koY29va2llU3RvcmFnZS5nZXQoKSwgcG9saWN5KTsKLX0KLQogLSAo
Qk9PTClpc0RPTVBhc3RlQWxsb3dlZAogewogICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdERPTVBhc3RlQWxsb3dlZFByZWZlcmVuY2VLZXldOwpAQCAtMTk1NiwxMSArMTkz
Niw2IEBAIC0gKHZvaWQpd2lsbEFkZFRvV2ViVmlldwogICAgICsrX3ByaXZhdGUtPm51bVdlYlZp
ZXdzOwogfQogCi0tICh2b2lkKV9zZXRQcmVmZXJlbmNlRm9yVGVzdFdpdGhWYWx1ZTooTlNTdHJp
bmcgKil2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5Ci17Ci0gICAgW3NlbGYgX3NldFN0cmlu
Z1ZhbHVlOnZhbHVlIGZvcktleTprZXldOwotfQotCiAtICh2b2lkKXNldEZ1bGxTY3JlZW5FbmFi
bGVkOihCT09MKWZsYWcKIHsKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5Oldl
YktpdEZ1bGxTY3JlZW5FbmFibGVkUHJlZmVyZW5jZUtleV07CkBAIC0zMDAzLDYgKzI5NzgsNTAg
QEAgLSAodm9pZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JGZWF0dQogCiBAZW5kCiAKK0Bp
bXBsZW1lbnRhdGlvbiBXZWJQcmVmZXJlbmNlcyAoV2ViUHJpdmF0ZVRlc3RpbmcpCisKKysgKHZv
aWQpX3N3aXRjaE5ldHdvcmtMb2FkZXJUb05ld1Rlc3RpbmdTZXNzaW9uCit7CisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKyAgICBXZWJUaHJlYWRMb2NrKCk7CisjZW5kaWYKKyAgICBOZXR3b3Jr
U3RvcmFnZVNlc3Npb25NYXA6OnN3aXRjaFRvTmV3VGVzdGluZ1Nlc3Npb24oKTsKK30KKworKyAo
dm9pZClfc2V0Q3VycmVudE5ldHdvcmtMb2FkZXJTZXNzaW9uQ29va2llQWNjZXB0UG9saWN5OihO
U0hUVFBDb29raWVBY2NlcHRQb2xpY3kpcG9saWN5Cit7CisgICAgYXV0byBjb29raWVTdG9yYWdl
ID0gTmV0d29ya1N0b3JhZ2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5jb29r
aWVTdG9yYWdlKCk7CisgICAgUkVMRUFTRV9BU1NFUlQoY29va2llU3RvcmFnZSk7IC8vIFdpbGwg
ZmFpbCB3aGVuIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbk1hcDo6c3dpdGNoVG9OZXdUZXN0aW5nU2Vz
c2lvbigpIHdhcyBub3QgY2FsbGVkIGJlZm9yZWhhbmQuCisgICAgQ0ZIVFRQQ29va2llU3RvcmFn
ZVNldENvb2tpZUFjY2VwdFBvbGljeShjb29raWVTdG9yYWdlLmdldCgpLCBwb2xpY3kpOworfQor
CisrICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9uCit7CisgICAgTmV0d29ya1N0b3Jh
Z2VTZXNzaW9uTWFwOjpkZWZhdWx0U3RvcmFnZVNlc3Npb24oKS5kZWxldGVBbGxDb29raWVzKCk7
Cit9CisKKy0gKHZvaWQpX3NldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTooQk9P
TCl2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5Cit7CisgICAgW3NlbGYgX3NldEJvb2xWYWx1
ZTp2YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworLSAodm9pZClfc2V0VUludDMyUHJlZmVyZW5jZUZv
clRlc3RpbmdXaXRoVmFsdWU6KHVpbnQzMl90KXZhbHVlIGZvcktleTooTlNTdHJpbmcgKilrZXkK
K3sKKyAgICBbc2VsZiBfc2V0SW50ZWdlclZhbHVlOnZhbHVlIGZvcktleTprZXldOworfQorCist
ICh2b2lkKV9zZXREb3VibGVQcmVmZXJlbmNlRm9yVGVzdGluZ1dpdGhWYWx1ZTooZG91YmxlKXZh
bHVlIGZvcktleTooTlNTdHJpbmcgKilrZXkKK3sKKyAgICBbc2VsZiBfc2V0RmxvYXRWYWx1ZTp2
YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworLSAodm9pZClfc2V0U3RyaW5nUHJlZmVyZW5jZUZvclRl
c3RpbmdXaXRoVmFsdWU6KE5TU3RyaW5nICopdmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKWtleQor
eworICAgIFtzZWxmIF9zZXRTdHJpbmdWYWx1ZTp2YWx1ZSBmb3JLZXk6a2V5XTsKK30KKworQGVu
ZAorCiBAaW1wbGVtZW50YXRpb24gV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVQcmVmZXJlbmNl
c0NvbnZlcnRlZFRvV2ViRmVhdHVyZSkKIAogLSAoQk9PTCl1c2VyR2VzdHVyZVByb21pc2VQcm9w
YWdhdGlvbkVuYWJsZWQKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAkocmV2aXNpb24gMjY4OTgzKQorKysg
U291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtODksMTMgKzg5LDYgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNl
cyAoV2ViUHJpdmF0ZSkKICsgKHZvaWQpX3NldEluaXRpYWxEZWZhdWx0VGV4dEVuY29kaW5nVG9T
eXN0ZW1FbmNvZGluZzsKICsgKHZvaWQpX3NldElCQ3JlYXRvcklEOihOU1N0cmluZyAqKXN0cmlu
ZzsKIAotLy8gRm9yIER1bXBSZW5kZXJUcmVlIHVzZSBvbmx5LgotKyAodm9pZClfc3dpdGNoTmV0
d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb247Ci0rICh2b2lkKV9zZXRDdXJyZW50TmV0d29y
a0xvYWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFjY2VwdFBvbGlj
eSljb29raWVBY2NlcHRQb2xpY3k7Ci0rICh2b2lkKV9jbGVhck5ldHdvcmtMb2FkZXJTZXNzaW9u
OwotLy8gVXNlZCB0byBzZXQgcHJlZmVyZW5jZSBzcGVjaWZpZWQgaW4gdGhlIHRlc3QgdmlhIExh
eW91dFRlc3RDb250cm9sbGVyLm92ZXJyaWRlUHJlZmVyZW5jZSguLikuCi0tICh2b2lkKV9zZXRQ
cmVmZXJlbmNlRm9yVGVzdFdpdGhWYWx1ZTooTlNTdHJpbmcgKil2YWx1ZSBmb3JLZXk6KE5TU3Ry
aW5nICopa2V5OwotCiArICh2b2lkKXNldFdlYktpdExpbmtUaW1lVmVyc2lvbjooaW50KXZlcnNp
b247CiAKIC8vIEZvciBXZWJWaWV3J3MgdXNlIG9ubHkuCkBAIC0zMDksNiArMzAyLDE3IEBAIEBp
bnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVGZWEKIC0gKHZvaWQpX3NldEVuYWJs
ZWQ6KEJPT0wpdmFsdWUgZm9yRmVhdHVyZTooV2ViRmVhdHVyZSAqKWZlYXR1cmU7CiBAZW5kCiAK
K0BpbnRlcmZhY2UgV2ViUHJlZmVyZW5jZXMgKFdlYlByaXZhdGVUZXN0aW5nKQorKyAodm9pZClf
c3dpdGNoTmV0d29ya0xvYWRlclRvTmV3VGVzdGluZ1Nlc3Npb247CisrICh2b2lkKV9zZXRDdXJy
ZW50TmV0d29ya0xvYWRlclNlc3Npb25Db29raWVBY2NlcHRQb2xpY3k6KE5TSFRUUENvb2tpZUFj
Y2VwdFBvbGljeSljb29raWVBY2NlcHRQb2xpY3k7CisrICh2b2lkKV9jbGVhck5ldHdvcmtMb2Fk
ZXJTZXNzaW9uOworCistICh2b2lkKV9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFs
dWU6KEJPT0wpdmFsdWUgZm9yS2V5OihOU1N0cmluZyAqKWtleTsKKy0gKHZvaWQpX3NldFVJbnQz
MlByZWZlcmVuY2VGb3JUZXN0aW5nV2l0aFZhbHVlOih1aW50MzJfdCl2YWx1ZSBmb3JLZXk6KE5T
U3RyaW5nICopa2V5OworLSAodm9pZClfc2V0RG91YmxlUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRo
VmFsdWU6KGRvdWJsZSl2YWx1ZSBmb3JLZXk6KE5TU3RyaW5nICopa2V5OworLSAodm9pZClfc2V0
U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmdXaXRoVmFsdWU6KE5TU3RyaW5nICopdmFsdWUgZm9y
S2V5OihOU1N0cmluZyAqKWtleTsKK0BlbmQKKwogLy8gRklYTUU6IElmIHRoZXNlIGFyZSBub3Qg
dXNlZCBhbnl3aGVyZSwgd2Ugc2hvdWxkIHJlbW92ZSB0aGVtIGFuZCBvbmx5IHVzZSBXZWJGZWF0
dXJlIG1lY2hhbmlzbSBmb3IgdGhlIHByZWZlcmVuY2UuCiBAaW50ZXJmYWNlIFdlYlByZWZlcmVu
Y2VzIChXZWJQcml2YXRlUHJlZmVyZW5jZXNDb252ZXJ0ZWRUb1dlYkZlYXR1cmUpCiBAcHJvcGVy
dHkgKG5vbmF0b21pYykgQk9PTCB1c2VyR2VzdHVyZVByb21pc2VQcm9wYWdhdGlvbkVuYWJsZWQ7
CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzNyBAQAorMjAyMC0xMC0yNyAgU2FtIFdlaW5pZyAgPHdlaW5pZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgW1Rlc3RpbmddIFJlbW92ZSByZXF1aXJlbWVudCBvZiBhZGRpbmcgbmV3IFNQSSBm
b3IgZWFjaCBwcmVmZXJlbmNlIHRoYXQgbmVlZHMgdGVzdGluZworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MjY3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlcyB0aGUgcmVxdWlyZW1lbnQgZm9y
IFdlYktpdExlZ2FjeSAobWFjT1MpLCB3aGljaCBoYXMgYWxyZWFkeSBiZWVuIGxpZnRlZCBmb3IK
KyAgICAgICAgbW9kZXJuIFdlYktpdCwgdGhhdCB0ZXN0aW5nIG5ldyBwcmVmZXJlbmNlcyByZXF1
aXJlcyBuZXcgV2ViUHJlZmVyZW5jZXMgU1BJLiBJbnN0ZWFkLAorICAgICAgICBuZXcgdGVzdGlu
ZyBzcGVjaWZpYyBTUEkgKFtXZWJQcmVmZXJlbmNlcyBfc2V0KlByZWZlcmVuY2VGb3JUZXN0aW5n
V2l0aFZhbHVlOmZvcktleTpdKQorICAgICAgICBhcmUgdXNlZCB0byBhbGxvdyBzdHJpbmcgYmFz
ZWQgc2V0dGluZy4KKyAgICAgICAgCisgICAgICAgIFRvIG1ha2UgdGhpcyB3b3JrIHdpdGggdGhl
IHNoYXJlZCBXZWJQcmVmZXJlbmNlcyoueWFtbCBuYW1lcywgYSBoZWxwZXIgaXMgZ2VuZXJhdGVk
IHRvCisgICAgICAgIG1hcCBmcm9tIHRoZSBzaGFyZWQgbmFtZSB0byB0aGUgV2ViS2l0TGVnYWN5
IHNwZWNpZmljIG5hbWUuCisKKyAgICAgICAgVGhpcyBzdGlsbCBkb2Vzbid0IHF1aXRlIHRha2Ug
dXMgYWxsIHRoZSB3YXkgdG8gc3VwcG9ydGluZyBhbnkgV2ViUHJlZmVyZW5jZXMqLnlhbWwgbmFt
ZQorICAgICAgICBpbiB0ZXN0IGhlYWRlcnMsIGFzIGlzIHN1cHBvcnRlZCBpbiBXZWJLaXRUZXN0
UnVubmVyLCBhcyB3ZSBzdGlsbCBuZWVkIGEgdmlhYmxlIG1lY2hhbmlzbQorICAgICAgICB0byBm
dWxseSByZXNldCBXZWJQcmVmZXJlbmNlcyBiZXR3ZWVuIHRlc3RzLiBSaWdodCBub3csIGVhY2gg
cHJlZmVyZW5jZSBtdXN0IGJlIHNldCBvbgorICAgICAgICBlYWNoIHRlc3QgcnVuLCByZXF1aXJp
bmcgdGhlIGNvbXBsZXRlIHNldCBvZiBwcmVmZXJlbmNlcyB0byBiZSBrbm93biB1cCBmcm9udC4K
KworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0OgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvVGVzdE9wdGlv
bnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNwcC5lcmI6IEFkZGVkLgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdE9w
dGlvbnM6OnN1cHBvcnRlZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25zLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0
aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW06Cisg
ICAgICAgIChUZXN0UnVubmVyOjpvdmVycmlkZVByZWZlcmVuY2UpOgorCiAyMDIwLTEwLTI3ICBT
YW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBEdW1wUmVuZGVyVHJlZSBz
cGFtcyBzdGRlcnIgd2l0aCBDRk5ldHdvcmsgd2FybmluZ3MgYWJvdXQgbnVsbCBkaXNrY2FjaGUg
cGF0aApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDI2OTA4
MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC00MCw2ICs0MCw3IEBAIGxpc3QoQVBQRU5EIER1bXBSZW5kZXJUcmVlX1BSSVZBVEVfSU5D
TFUKICkKIAogc2V0KER1bXBSZW5kZXJUcmVlX1dFQl9QUkVGRVJFTkNFU19URU1QTEFURVMKKyAg
ICAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0
T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgogICAgICR7RHVt
cFJlbmRlclRyZWVfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rlc3RPcHRpb25z
R2VuZXJhdGVkS2V5cy5oLmVyYgogKQogCkBAIC01MywxMiArNTQsMTMgQEAgc2V0KER1bXBSZW5k
ZXJUcmVlX1dFQl9QUkVGRVJFTkNFUwogc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0aWVzKCR7RHVt
cFJlbmRlclRyZWVfV0VCX1BSRUZFUkVOQ0VTfSBQUk9QRVJUSUVTIEdFTkVSQVRFRCBUUlVFKQog
CiBhZGRfY3VzdG9tX2NvbW1hbmQoCi0gICAgT1VUUFVUICR7RHVtcFJlbmRlclRyZWVfREVSSVZF
RF9TT1VSQ0VTX0RJUn0vVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmgKKyAgICBPVVRQVVQgJHtE
dW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9UZXN0T3B0aW9uc0dlbmVyYXRlZFdl
YktpdExlZ2FjeUtleU1hcHBpbmcuY3BwICR7RHVtcFJlbmRlclRyZWVfREVSSVZFRF9TT1VSQ0VT
X0RJUn0vVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmgKICAgICBERVBFTkRTICR7RHVtcFJlbmRl
clRyZWVfV0VCX1BSRUZFUkVOQ0VTX1RFTVBMQVRFU30gJHtEdW1wUmVuZGVyVHJlZV9XRUJfUFJF
RkVSRU5DRVN9IFdURl9Db3B5UHJlZmVyZW5jZXMKLSAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRB
QkxFfSAke1dURl9TQ1JJUFRTX0RJUn0vR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAtLWZyb250ZW5k
IFdlYktpdExlZ2FjeSAtLWJhc2UgJHtXVEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgLS1kZWJ1ZyAke1dURl9TQ1JJUFRTX0RJUn0vUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNEZWJ1Zy55YW1sIC0tZXhwZXJpbWVudGFsICR7V1RGX1NDUklQVFNfRElSfS9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIC0taW50ZXJuYWwgJHtX
VEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbCAt
LW91dHB1dERpciAiJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfSIgLS10ZW1w
bGF0ZSAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaC5lcmIKKyAgICBDT01NQU5EICR7UlVCWV9FWEVDVVRB
QkxFfSAke1dURl9TQ1JJUFRTX0RJUn0vR2VuZXJhdGVQcmVmZXJlbmNlcy5yYiAtLWZyb250ZW5k
IFdlYktpdExlZ2FjeSAtLWJhc2UgJHtXVEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzLnlhbWwgLS1kZWJ1ZyAke1dURl9TQ1JJUFRTX0RJUn0vUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNEZWJ1Zy55YW1sIC0tZXhwZXJpbWVudGFsICR7V1RGX1NDUklQVFNfRElSfS9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIC0taW50ZXJuYWwgJHtX
VEZfU0NSSVBUU19ESVJ9L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50ZXJuYWwueWFtbCAt
LW91dHB1dERpciAiJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfSIgLS10ZW1w
bGF0ZSAke0R1bXBSZW5kZXJUcmVlX0RJUn0vU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9U
ZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYiAtLXRlbXBs
YXRlICR7RHVtcFJlbmRlclRyZWVfRElSfS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rl
c3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oLmVyYgogICAgIFZFUkJBVElNKQogCiBsaXN0KEFQUEVO
RCBEdW1wUmVuZGVyVHJlZV9TT1VSQ0VTCisgICAgJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NP
VVJDRVNfRElSfS9UZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3Bw
CiAgICAgJHtEdW1wUmVuZGVyVHJlZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9UZXN0T3B0aW9uc0dl
bmVyYXRlZEtleXMuaAogKQogCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2OTA4MikKKysrIFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHdvcmtp
bmcgY29weSkKQEAgLTcsNiArNyw3IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwv
aW5jbHVkZS8KICQoUFJPSkVDVF9ESVIpLy4uL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250
ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKICQoUFJPSkVDVF9ESVIpL0JpbmRp
bmdzL0NvZGVHZW5lcmF0b3JEdW1wUmVuZGVyVHJlZS5wbQogJChQUk9KRUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMubWFrZQorJChQUk9KRUNUX0RJUikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRl
cy9UZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgogJChQ
Uk9KRUNUX0RJUikvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0T3B0aW9uc0dlbmVy
YXRlZEtleXMuaC5lcmIKICQoUFJPSkVDVF9ESVIpL1NjcmlwdHMvZ2VuZXJhdGUtZGVyaXZlZC1z
b3VyY2VzLnNoCiAkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvQ29kZUdlbmVyYXRvci5w
bQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC0x
LDQgKzEsNSBAQAogIyBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGJ5IHRoZSBnZW5lcmF0ZS14Y2Zp
bGVsaXN0cyBzY3JpcHQuCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvRHVt
cFJlbmRlclRyZWUvSlNVSVNjcmlwdENvbnRyb2xsZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvRHVtcFJlbmRlclRyZWUvSlNVSVNjcmlwdENvbnRyb2xsZXIuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0R1bXBSZW5kZXJUcmVlL1Rlc3RP
cHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9uc0dlbmVyYXRl
ZEtleXMuaApJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvRGVyaXZlZFNvdXJjZXMubWFrZQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291cmNlcy5tYWtlCShy
ZXZpc2lvbiAyNjkwODIpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9EZXJpdmVkU291cmNlcy5t
YWtlCSh3b3JraW5nIGNvcHkpCkBAIC02NCw2ICs2NCw3IEBAIFdFQl9QUkVGRVJFTkNFUyA9IFwK
ICMKIAogV0VCX1BSRUZFUkVOQ0VTX0dFTkVSQVRFRF9GSUxFUyA9IFwKKyAgICBUZXN0T3B0aW9u
c0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwIFwKICAgICBUZXN0T3B0aW9uc0dl
bmVyYXRlZEtleXMuaCBcCiAjCiAKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9UZXN0T3B0aW9ucy5j
cHAJKHJldmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsMjAgQEAKIAogbmFtZXNwYWNlIFdUUiB7
CiAKK2NvbnN0IHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiYgVGVzdE9wdGlvbnM6OnN1cHBvcnRl
ZEJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKQoreworICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhp
cyBvbmNlIHRoZXJlIGlzIGEgdmlhYmxlIG1lY2hhbmlzbSBmb3IgcmVzZXRpbmcgV2ViUHJlZmVy
ZW5jZXMgYmV0d2VlbiB0ZXN0cywKKyAgICAvLyBhdCB3aGljaCBwb2ludCwgd2Ugd2lsbCBub3Qg
bmVlZCB0byBtYW51YWxseSByZXNldCBldmVyeSBzdXBwb3J0ZWQgcHJlZmVyZW5jZSBmb3IgZWFj
aCB0ZXN0LgorCisgICAgc3RhdGljIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBzdXBwb3J0ZWQg
PSBbXSB7CisgICAgICAgIHN0ZDo6dmVjdG9yPHN0ZDo6c3RyaW5nPiBrZXlzOworICAgICAgICBm
b3IgKGNvbnN0IGF1dG8mIFtrZXksIHZhbHVlXSA6IGRlZmF1bHRzKCkuYm9vbFdlYlByZWZlcmVu
Y2VGZWF0dXJlcykKKyAgICAgICAgICAgIGtleXMucHVzaF9iYWNrKGtleSk7CisgICAgICAgIHJl
dHVybiBrZXlzOworICAgIH0oKTsKKyAgICByZXR1cm4gc3VwcG9ydGVkOworfQorCiBjb25zdCBU
ZXN0RmVhdHVyZXMmIFRlc3RPcHRpb25zOjpkZWZhdWx0cygpCiB7CiAgICAgc3RhdGljIFRlc3RG
ZWF0dXJlcyBmZWF0dXJlczsKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3RPcHRpb25z
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAkocmV2
aXNpb24gMjY5MDgyKQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvVGVzdE9wdGlvbnMuaAkod29y
a2luZyBjb3B5KQpAQCAtNTYsNiArNTYsMTAgQEAgcHVibGljOgogICAgIGNvbnN0IGF1dG8mIHVp
bnQzMldlYlByZWZlcmVuY2VGZWF0dXJlcygpIGNvbnN0IHsgcmV0dXJuIG1fZmVhdHVyZXMudWlu
dDMyV2ViUHJlZmVyZW5jZUZlYXR1cmVzOyB9CiAgICAgY29uc3QgYXV0byYgc3RyaW5nV2ViUHJl
ZmVyZW5jZUZlYXR1cmVzKCkgY29uc3QgeyByZXR1cm4gbV9mZWF0dXJlcy5zdHJpbmdXZWJQcmVm
ZXJlbmNlRmVhdHVyZXM7IH0KIAorICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIHRoZXJl
IGlzIGEgdmlhYmxlIG1lY2hhbmlzbSBmb3IgcmVzZXRpbmcgV2ViUHJlZmVyZW5jZXMgYmV0d2Vl
biB0ZXN0cywKKyAgICAvLyBhdCB3aGljaCBwb2ludCwgd2Ugd2lsbCBub3QgbmVlZCB0byBtYW51
YWxseSByZXNldCBldmVyeSBzdXBwb3J0ZWQgcHJlZmVyZW5jZSBmb3IgZWFjaCB0ZXN0LgorICAg
IHN0YXRpYyBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4mIHN1cHBvcnRlZEJvb2xXZWJQ
cmVmZXJlbmNlRmVhdHVyZXMoKTsKKwogICAgIHN0YXRpYyBzdGQ6OnN0cmluZyB0b1dlYktpdExl
Z2FjeVByZWZlcmVuY2VLZXkoY29uc3Qgc3RkOjpzdHJpbmcmKTsKIAogcHJpdmF0ZToKSW5kZXg6
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjY5MDgyKQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29y
a2luZyBjb3B5KQpAQCAtMTA5LDYgKzEwOSw3IEBACiAJCTVEQjlBQzlFMEY3MjJDMzYwMDY4NDY0
MSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyNzAwLnR0ZiBpbiBDb3B5IEZvbnQgRmlsZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzc1RjA5NzcwREFDM0NCNjAwQzhCNEU1IC8q
IFdlYktpdFdlaWdodFdhdGNoZXI3MDAudHRmICovOyB9OwogCQk1REI5QUM5RjBGNzIyQzM2MDA2
ODQ2NDEgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjgwMC50dGYgaW4gQ29weSBGb250IEZpbGVzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3NUYwOTc4MERBQzNDQjYwMEM4QjRF
NSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyODAwLnR0ZiAqLzsgfTsKIAkJNURCOUFDQTAwRjcyMkMz
NjAwNjg0NjQxIC8qIFdlYktpdFdlaWdodFdhdGNoZXI5MDAudHRmIGluIENvcHkgRm9udCBGaWxl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzVGMDk3OTBEQUMzQ0I2MDBD
OEI0RTUgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGYgKi87IH07CisJCTdDOTg5M0RGMjU0
MzNGOEUwMDM1NEVCQyAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBp
bmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M5
ODkzREUyNTQzM0M4NzAwMzU0RUJDIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5
S2V5TWFwcGluZy5jcHAgKi87IH07CiAJCTdDRkY5QkJGMjUzM0JCMjQwMDA4MDA5RiAvKiBUZXN0
RmVhdHVyZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0NGRjlCQkUyNTMzQkIyNDAwMDgwMDlGIC8qIFRlc3RGZWF0dXJlcy5jcHAgKi87IH07CiAJ
CTdDRkY5QkMyMjUzM0JDMTYwMDA4MDA5RiAvKiBUZXN0Q29tbWFuZC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3Q0ZGOUJDMTI1MzNCQzE2MDAwODAw
OUYgLyogVGVzdENvbW1hbmQuY3BwICovOyB9OwogCQk4MDA0NUFFRTE0NzcxOEU3MDA4MjkwQTgg
LyogQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXIubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4MDA0NUFFQzE0NzcxOEU3MDA4MjkwQTggLyog
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXIubW0gKi87IH07CkBAIC0zMzMsNyArMzM0
LDggQEAKIAkJN0M0NDY5N0YyNTM3N0EwMjAwMjQyOTBBIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVk
S2V5cy5oLmVyYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBUZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaC5lcmI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNDQ2OTgwMjUzNzdBMDIwMDI0MjkwQSAvKiBjaGVjay14
Y2ZpbGVsaXN0cy5zaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuc2NyaXB0LnNoOyBwYXRoID0gImNoZWNrLXhjZmlsZWxpc3RzLnNoIjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0NDY5ODEyNTM3N0EwMjAwMjQyOTBBIC8qIGdl
bmVyYXRlLWRlcml2ZWQtc291cmNlcy5zaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnNoOyBwYXRoID0gImdlbmVyYXRlLWRlcml2
ZWQtc291cmNlcy5zaCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDNDQ2OTg1MjUz
NzdFNTIwMDI0MjkwQSAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gVGVzdE9wdGlvbnNHZW5lcmF0ZWRLZXlzLmg7IHBhdGggPSBUZXN0T3B0aW9uc0dlbmVyYXRl
ZEtleXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M0NDY5ODUyNTM3N0U1MjAw
MjQyOTBBIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkS2V5cy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXN0
T3B0aW9uc0dlbmVyYXRlZEtleXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M5
ODkzREUyNTQzM0M4NzAwMzU0RUJDIC8qIFRlc3RPcHRpb25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5
S2V5TWFwcGluZy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXN0T3B0aW9uc0dlbmVyYXRlZFdl
YktpdExlZ2FjeUtleU1hcHBpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
Q0JCQzMyMjFEREZDRjlBMDA3ODZCOUQgLyogVGVzdE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gVGVzdE9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0NGRjlCQkQyNTMzQkIyNDAwMDgwMDlGIC8qIFRlc3RGZWF0dXJlcy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUZXN0RmVhdHVyZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0NG
RjlCQkUyNTMzQkIyNDAwMDgwMDlGIC8qIFRlc3RGZWF0dXJlcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBUZXN0RmVhdHVyZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNzc4
LDYgKzc4MCw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTdD
NDQ2OTg1MjUzNzdFNTIwMDI0MjkwQSAvKiBUZXN0T3B0aW9uc0dlbmVyYXRlZEtleXMuaCAqLywK
KwkJCQk3Qzk4OTNERTI1NDMzQzg3MDAzNTRFQkMgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRXZWJL
aXRMZWdhY3lLZXlNYXBwaW5nLmNwcCAqLywKIAkJCSk7CiAJCQluYW1lID0gIkRlcml2ZWQgU291
cmNlcyI7CiAJCQlwYXRoID0gRGVyaXZlZFNvdXJjZXMvRHVtcFJlbmRlclRyZWU7CkBAIC0xMjkx
LDYgKzEyOTQsNyBAQAogCQkJCTdDRkY5QkMyMjUzM0JDMTYwMDA4MDA5RiAvKiBUZXN0Q29tbWFu
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0ZGOUJCRjI1MzNCQjI0MDAwODAwOUYgLyogVGVz
dEZlYXR1cmVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEzMEEyMUY4MjA1MUQ4QzQwMDA4RkY0
MiAvKiBUZXN0T3B0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3Qzk4OTNERjI1NDMzRjhF
MDAzNTRFQkMgLyogVGVzdE9wdGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDMDEzMURBMEM5NzcyMDEwMDg3MzE3RCAvKiBUZXN0UnVu
bmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQTE4QjI0MEM5QjAxNEIwMDExNDM2OSAvKiBU
ZXN0UnVubmVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRjRENDIzNjExREQ1MDQ4MjAwNjc4
MjkwIC8qIFRleHRJbnB1dENvbnRyb2xsZXJJT1MubSBpbiBTb3VyY2VzICovLApJbmRleDogVG9v
bHMvRHVtcFJlbmRlclRyZWUvU2NyaXB0cy9QcmVmZXJlbmNlc1RlbXBsYXRlcy9UZXN0T3B0aW9u
c0dlbmVyYXRlZFdlYktpdExlZ2FjeUtleU1hcHBpbmcuY3BwLmVyYgo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9EdW1wUmVuZGVyVHJlZS9TY3JpcHRzL1ByZWZlcmVuY2VzVGVtcGxhdGVzL1Rlc3RPcHRp
b25zR2VuZXJhdGVkV2ViS2l0TGVnYWN5S2V5TWFwcGluZy5jcHAuZXJiCShub25leGlzdGVudCkK
KysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1NjcmlwdHMvUHJlZmVyZW5jZXNUZW1wbGF0ZXMvVGVz
dE9wdGlvbnNHZW5lcmF0ZWRXZWJLaXRMZWdhY3lLZXlNYXBwaW5nLmNwcC5lcmIJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIDwlPSBAd2FybmluZyAlPgorICoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJUZXN0T3B0aW9ucy5oIgorCituYW1l
c3BhY2UgV1RSIHsKKworc3RkOjpzdHJpbmcgVGVzdE9wdGlvbnM6OnRvV2ViS2l0TGVnYWN5UHJl
ZmVyZW5jZUtleShjb25zdCBzdGQ6OnN0cmluZyYgd2ViUHJlZmVyZW5jZXNLZXkpCit7CisgICAg
c3RhdGljIHN0ZDo6dW5vcmRlcmVkX21hcDxzdGQ6OnN0cmluZywgc3RkOjpzdHJpbmc+IG5vblN0
YW5kYXJkS2V5cyA9IHsKKzwlLSBmb3IgQHByZWYgaW4gQGV4cG9zZWRQcmVmZXJlbmNlcy5zZWxl
Y3QgeyB8cHwgcC5vcHRzWyJ3ZWJLaXRMZWdhY3lQcmVmZXJlbmNlS2V5Il0gfSBkbyAtJT4KKyAg
ICAgICAgeyAiPCU9IEBwcmVmLm5hbWUgJT4iLCAiPCU9IEBwcmVmLnByZWZlcmVuY2VLZXkgJT4i
IH0sIFwKKzwlLSBlbmQgLSU+CisgICAgfTsKKworICAgIGF1dG8gaXQgPSBub25TdGFuZGFyZEtl
eXMuZmluZCh3ZWJQcmVmZXJlbmNlc0tleSk7CisgICAgaWYgKGl0ICE9IG5vblN0YW5kYXJkS2V5
cy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CisKKyAgICByZXR1cm4gIldlYktp
dCIgKyB3ZWJQcmVmZXJlbmNlc0tleTsKK30KKworfQpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMjY5MDgyKQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAs
NiArMTMwLDExIEBAIGV4dGVybiAiQyIgewogI2ltcG9ydCA8bWFjaC1vL2dldHNlY3QuaD4KIH0K
IAorc3RhdGljIFJldGFpblB0cjxOU1N0cmluZz4gdG9OUyhjb25zdCBzdGQ6OnN0cmluZyYgc3Ry
aW5nKQoreworICAgIHJldHVybiBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoVVRG
OFN0cmluZzpzdHJpbmcuY19zdHIoKV0pOworfQorCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkp
CiBAaW50ZXJmYWNlIER1bXBSZW5kZXJUcmVlQXBwbGljYXRpb24gOiBOU0FwcGxpY2F0aW9uCiBA
ZW5kCkBAIC05NjksNDEgKzk3NCwyMSBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlByZWZlcmVuY2Vz
VG9Db25zaXN0CiAgICAgW1dlYlByZWZlcmVuY2VzIF9zZXRDdXJyZW50TmV0d29ya0xvYWRlclNl
c3Npb25Db29raWVBY2NlcHRQb2xpY3k6TlNIVFRQQ29va2llQWNjZXB0UG9saWN5T25seUZyb21N
YWluRG9jdW1lbnREb21haW5dOwogfQogCi1zdGF0aWMgYm9vbCBib29sV2ViUHJlZmVyZW5jZUZl
YXR1cmVWYWx1ZShzdGQ6OnN0cmluZyBrZXksIGJvb2wgZGVmYXVsdFZhbHVlLCBjb25zdCBXVFI6
OlRlc3RPcHRpb25zJiBvcHRpb25zKQorc3RhdGljIGJvb2wgYm9vbFdlYlByZWZlcmVuY2VGZWF0
dXJlVmFsdWUoc3RkOjpzdHJpbmcga2V5LCBjb25zdCBXVFI6OlRlc3RPcHRpb25zJiBvcHRpb25z
KQogewogICAgIGF1dG8gaXQgPSBvcHRpb25zLmJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKS5m
aW5kKGtleSk7Ci0gICAgaWYgKGl0ICE9IG9wdGlvbnMuYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJl
cygpLmVuZCgpKQotICAgICAgICByZXR1cm4gaXQtPnNlY29uZDsKLSAgICByZXR1cm4gZGVmYXVs
dFZhbHVlOworICAgIEFTU0VSVChpdCAhPSBvcHRpb25zLmJvb2xXZWJQcmVmZXJlbmNlRmVhdHVy
ZXMoKS5lbmQoKSk7CisgICAgcmV0dXJuIGl0LT5zZWNvbmQ7CiB9CiAKIHN0YXRpYyB2b2lkIHNl
dFdlYlByZWZlcmVuY2VzRm9yVGVzdE9wdGlvbnMoV2ViUHJlZmVyZW5jZXMgKnByZWZlcmVuY2Vz
LCBjb25zdCBXVFI6OlRlc3RPcHRpb25zJiBvcHRpb25zKQogewogICAgIHByZWZlcmVuY2VzLnBy
aXZhdGVCcm93c2luZ0VuYWJsZWQgPSBvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24oKTsKIAot
ICAgIHByZWZlcmVuY2VzLmF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJl
bmNlRmVhdHVyZVZhbHVlKCJBdHRhY2htZW50RWxlbWVudEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9u
cyk7Ci0gICAgcHJlZmVyZW5jZXMuYWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCA9IGJvb2xXZWJQ
cmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkIiwgZmFsc2Us
IG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLm1lbnVJdGVtRWxlbWVudEVuYWJsZWQgPSBib29s
V2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiTWVudUl0ZW1FbGVtZW50RW5hYmxlZCIsIGZhbHNl
LCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5rZXlnZW5FbGVtZW50RW5hYmxlZCA9IGJvb2xX
ZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJLZXlnZW5FbGVtZW50RW5hYmxlZCIsIGZhbHNlLCBv
cHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5tb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCA9IGJv
b2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIs
IHRydWUsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmluc3BlY3RvckFkZGl0aW9uc0VuYWJs
ZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiSW5zcGVjdG9yQWRkaXRpb25zRW5h
YmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5hbGxvd0Nyb3NzT3JpZ2lu
U3VicmVzb3VyY2VzVG9Bc2tGb3JDcmVkZW50aWFscyA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVy
ZVZhbHVlKCJBbGxvd0Nyb3NzT3JpZ2luU3VicmVzb3VyY2VzVG9Bc2tGb3JDcmVkZW50aWFscyIs
IGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5jb2xvckZpbHRlckVuYWJsZWQgPSBi
b29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ29sb3JGaWx0ZXJFbmFibGVkIiwgZmFsc2Us
IG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLnNlbGVjdGlvbkFjcm9zc1NoYWRvd0JvdW5kYXJp
ZXNFbmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlNlbGVjdGlvbkFjcm9z
c1NoYWRvd0JvdW5kYXJpZXNFbmFibGVkIiwgdHJ1ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5j
ZXMud2ViR1BVRW5hYmxlZCA9IGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJXZWJHUFVF
bmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLkNTU0xvZ2ljYWxFbmFi
bGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkNTU0xvZ2ljYWxFbmFibGVkIiwg
ZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmxpbmVIZWlnaHRVbml0c0VuYWJsZWQg
PSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiTGluZUhlaWdodFVuaXRzRW5hYmxlZCIs
IGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5hZENsaWNrQXR0cmlidXRpb25FbmFi
bGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkFkQ2xpY2tBdHRyaWJ1dGlvbkVu
YWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMucmVzaXplT2JzZXJ2ZXJF
bmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlJlc2l6ZU9ic2VydmVyRW5h
YmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVmZXJlbmNlcy5DU1NPTVZpZXdTbW9vdGhT
Y3JvbGxpbmdFbmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkNTU09NVmll
d1Ntb290aFNjcm9sbGluZ0VuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5j
ZXMuY29yZU1hdGhNTEVuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ29y
ZU1hdGhNTEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMucmVxdWVz
dElkbGVDYWxsYmFja0VuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiUmVx
dWVzdElkbGVDYWxsYmFja0VuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5j
ZXMuYXN5bmNDbGlwYm9hcmRBUElFbmFibGVkID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFs
dWUoIkFzeW5jQ2xpcGJvYXJkQVBJRW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKTsKLSAgICBwcmVm
ZXJlbmNlcy51c2VzUGFnZUNhY2hlID0gYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlVz
ZXNCYWNrRm9yd2FyZENhY2hlIiwgZmFsc2UsIG9wdGlvbnMpOwotICAgIHByZWZlcmVuY2VzLmxh
eW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVkID0gYm9vbFdlYlByZWZlcmVu
Y2VGZWF0dXJlVmFsdWUoIkxheW91dEZvcm1hdHRpbmdDb250ZXh0SW50ZWdyYXRpb25FbmFibGVk
IiwgdHJ1ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuYXNwZWN0UmF0aW9PZkltZ0Zyb21X
aWR0aEFuZEhlaWdodEVuYWJsZWQgPSBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQXNw
ZWN0UmF0aW9PZkltZ0Zyb21XaWR0aEFuZEhlaWdodEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucyk7
Ci0gICAgcHJlZmVyZW5jZXMuYWxsb3dUb3BOYXZpZ2F0aW9uVG9EYXRhVVJMcyA9IGJvb2xXZWJQ
cmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJBbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzIiwgdHJ1
ZSwgb3B0aW9ucyk7Ci0gICAgcHJlZmVyZW5jZXMuY29udGFjdFBpY2tlckFQSUVuYWJsZWQgPSBi
b29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ29udGFjdFBpY2tlckFQSUVuYWJsZWQiLCBm
YWxzZSwgb3B0aW9ucyk7CisgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgdGhlcmUgaXMg
YSB2aWFibGUgbWVjaGFuaXNtIGZvciByZXNldGluZyBXZWJQcmVmZXJlbmNlcyBiZXR3ZWVuIHRl
c3RzLAorICAgIC8vIGF0IHdoaWNoIHBvaW50LCB3ZSB3aWxsIG5vdCBuZWVkIHRvIG1hbnVhbGx5
IHJlc2V0IGV2ZXJ5IHN1cHBvcnRlZCBwcmVmZXJlbmNlIGZvciBlYWNoIHRlc3QuCisgICAgZm9y
IChjb25zdCBhdXRvJiBrZXkgOiBvcHRpb25zLnN1cHBvcnRlZEJvb2xXZWJQcmVmZXJlbmNlRmVh
dHVyZXMoKSkKKyAgICAgICAgW3ByZWZlcmVuY2VzIF9zZXRCb29sUHJlZmVyZW5jZUZvclRlc3Rp
bmdXaXRoVmFsdWU6Ym9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoa2V5LCBvcHRpb25zKSBm
b3JLZXk6dG9OUyhXVFI6OlRlc3RPcHRpb25zOjp0b1dlYktpdExlZ2FjeVByZWZlcmVuY2VLZXko
a2V5KSkuZ2V0KCldOwogfQogCiAvLyBDYWxsZWQgb25jZSBvbiBEdW1wUmVuZGVyVHJlZSBzdGFy
dHVwLgpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0JKHJl
dmlzaW9uIDI2OTA4MikKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFj
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC02MDksNyArNjA5LDcgQEAgdm9pZCBUZXN0UnVubmVyOjpv
dmVycmlkZVByZWZlcmVuY2UoSlNTdAogICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gdmFsdWVD
RiA9IGFkb3B0Q0YoSlNTdHJpbmdDb3B5Q0ZTdHJpbmcoa0NGQWxsb2NhdG9yRGVmYXVsdCwgdmFs
dWUpKTsKICAgICBOU1N0cmluZyAqdmFsdWVOUyA9IChfX2JyaWRnZSBOU1N0cmluZyAqKXZhbHVl
Q0YuZ2V0KCk7CiAKLSAgICBbW1ttYWluRnJhbWUgd2ViVmlld10gcHJlZmVyZW5jZXNdIF9zZXRQ
cmVmZXJlbmNlRm9yVGVzdFdpdGhWYWx1ZTp2YWx1ZU5TIGZvcktleTprZXlOU107CisgICAgW1tb
bWFpbkZyYW1lIHdlYlZpZXddIHByZWZlcmVuY2VzXSBfc2V0U3RyaW5nUHJlZmVyZW5jZUZvclRl
c3RpbmdXaXRoVmFsdWU6dmFsdWVOUyBmb3JLZXk6a2V5TlNdOwogfQogCiB2b2lkIFRlc3RSdW5u
ZXI6OnJlbW92ZUFsbFZpc2l0ZWRMaW5rcygpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>