<?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>200592</bug_id>
          
          <creation_ts>2019-08-09 15:18:55 -0700</creation_ts>
          <short_desc>Re-sync web-platform-tests/dom/events from upstream</short_desc>
          <delta_ts>2019-08-13 17:30:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>200066</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1560072</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-08-09 15:18:55 -0700</bug_when>
    <thetext>Re-sync web-platform-tests/dom/events from upstream</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560074</commentid>
    <comment_count>1</comment_count>
      <attachid>375966</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-08-09 15:25:58 -0700</bug_when>
    <thetext>Created attachment 375966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560100</commentid>
    <comment_count>2</comment_count>
      <attachid>375974</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-08-09 16:03:12 -0700</bug_when>
    <thetext>Created attachment 375974
Patch

Adjust TestExpectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561010</commentid>
    <comment_count>3</comment_count>
      <attachid>375974</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-13 17:29:26 -0700</bug_when>
    <thetext>Comment on attachment 375974
Patch

Clearing flags on attachment: 375974

Committed r248647: &lt;https://trac.webkit.org/changeset/248647&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561011</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-13 17:29:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1561012</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-13 17:30:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/54281781&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375966</attachid>
            <date>2019-08-09 15:25:58 -0700</date>
            <delta_ts>2019-08-09 16:03:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200592-20190810012556.patch</filename>
            <type>text/plain</type>
            <size>50389</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI0ODQ0NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA4LTA5ICBBbGV4ZXkgU2h2YXlrYSAg
PHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBSZS1zeW5jIHdlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDU5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlLXN5bmMgd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMgZnJvbSB1cHN0cmVhbSAxZTZmZWYwOWVhZTMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWRp
c3BhdGNoRXZlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHRlc3RzLW9wdGlvbnMuanNvbjoK
KwogMjAxOS0wOC0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogcmVuYW1lIGBxdWVyeU9iamVjdHNgIHRvIGBxdWVyeUluc3RhbmNl
c2AgZm9yIGNsYXJpdHkKSW5kZXg6IExheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24JKHJldmlzaW9uIDI0ODQ0
NSkKKysrIExheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgkod29ya2luZyBjb3B5KQpAQCAt
NDkxLDYgKzQ5MSw5IEBACiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tLXZpZXcvc2Nyb2xsLWJlaGF2aW9yLXN1YmZyYW1lLXdpbmRvdy5odG1sIjogWwogICAg
ICAgICAic2xvdyIKICAgICBdLAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtb24tZGlzYWJsZWQtZWxlbWVudHMuaHRtbCI6IFsK
KyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY2hhcmFjdGVyU2V0LW5vcm1hbGl6YXRpb24uaHRtbCI6
IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwkocmV2aXNpb24gMjQ4NDg1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA4LTA5ICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBSZS1zeW5jIHdlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDU5MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlLXN5bmMgd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMgZnJvbSB1cHN0cmVhbSAxZTZmZWYwOWVhZTMuCisKKyAgICAgICAgKiByZXNv
dXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uOgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzLyo6IFVwZGF0ZWQuCisKIDIwMTktMDgtMDggIFJvYiBCdWlzICA8cmJ1
aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBJbXBvcnQgbGF6eSBsb2FkaW5nIFdQVCB0ZXN0cwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRp
b25zLmpzb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNl
cy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHJldmlzaW9uIDI0ODQ0NSkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4cGVjdGF0aW9ucy5qc29uCSh3b3Jr
aW5nIGNvcHkpCkBAIC05Miw2ICs5Miw4IEBACiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMiOiAiaW1wb3J0IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvdjAiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZG9tIjogImlt
cG9ydCIsIAorICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cyI6ICJpbXBvcnQiLCAK
KyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2Nyb2xsaW5nIjogInNraXAiLCAK
ICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50
LW5hbWVzcGFjZS10ZXN0cy9lbXB0eS5odG1sIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ub2Rlcy9Eb2N1bWVudC1jcmVhdGVFbGVtZW50LW5hbWVzcGFjZS10ZXN0cy9l
bXB0eS5zdmciOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0Rv
Y3VtZW50LWNyZWF0ZUVsZW1lbnQtbmFtZXNwYWNlLXRlc3RzL2VtcHR5LnhodG1sIjogInNraXAi
LCAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9FdmVudC1kZWZhdWx0UHJldmVudGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRl
ZmF1bHRQcmV2ZW50ZWQuaHRtbAkocmV2aXNpb24gMjQ4NDQ1KQorKysgTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRlZmF1bHRQcmV2
ZW50ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQCB0ZXN0KGZ1bmN0aW9u
KCkgewogICBhc3NlcnRfZXF1YWxzKGV2LmRlZmF1bHRQcmV2ZW50ZWQsIHRydWUsICJkZWZhdWx0
UHJldmVudGVkIik7CiB9LCAicHJldmVudERlZmF1bHQoKSBzaG91bGQgY2hhbmdlIGRlZmF1bHRQ
cmV2ZW50ZWQgaWYgY2FuY2VsYWJsZSBpcyB0cnVlLiIpOwogdGVzdChmdW5jdGlvbigpIHsKKyAg
ZXYuaW5pdEV2ZW50KCJmb28iLCB0cnVlLCB0cnVlKTsKICAgYXNzZXJ0X2VxdWFscyhldi5jYW5j
ZWxhYmxlLCB0cnVlLCAiY2FuY2VsYWJsZSAoYmVmb3JlKSIpOwogICBldi5yZXR1cm5WYWx1ZSA9
IGZhbHNlOwogICBhc3NlcnRfZXF1YWxzKGV2LmNhbmNlbGFibGUsIHRydWUsICJjYW5jZWxhYmxl
IChhZnRlcikiKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1jbGljay5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9F
dmVudC1kaXNwYXRjaC1jbGljay5odG1sCShyZXZpc2lvbiAyNDg0NDUpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0
Y2gtY2xpY2suaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNzQsMTcgKzc0LDE3IEBAIGFzeW5jX3Rl
c3QoZnVuY3Rpb24odCkgewogICB0LmRvbmUoKQogfSwgInBpY2sgdGhlIGZpcnN0IHdpdGggYWN0
aXZhdGlvbiBiZWhhdmlvciA8aW5wdXQgdHlwZT1jaGVja2JveD4iKQogCi12YXIgZ2xvYmFsQ291
bnRlciA9IDAgLy8gc29ycnkKIGFzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeyAvLyBhcyBhYm92ZSB3
aXRoIDxhPgotICB2YXIgaSA9IDAKKyAgd2luZG93LmhyZWZDb21wbGV0ZSA9IHQuc3RlcF9mdW5j
KGZ1bmN0aW9uKGEpIHsKKyAgICBhc3NlcnRfZXF1YWxzKGEsICdjaGlsZCcpOworICAgIHQuZG9u
ZSgpOworICB9KTsKICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikKLSAg
bGluay5ocmVmID0gImphdmFzY3JpcHQ6KGZ1bmN0aW9uKCl7Z2xvYmFsQ291bnRlci0tfSkoKSIg
Ly8gbXVzdCBub3QgYmUgdHJpZ2dlcmVkCisgIGxpbmsuaHJlZiA9ICJqYXZhc2NyaXB0OmhyZWZD
b21wbGV0ZSgnbGluaycpIiAvLyBtdXN0IG5vdCBiZSB0cmlnZ2VyZWQKICAgZHVtcC5hcHBlbmRD
aGlsZChsaW5rKQogICB2YXIgY2hpbGQgPSBsaW5rLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImEiKSkKLSAgY2hpbGQuaHJlZiA9ICJqYXZhc2NyaXB0OihmdW5jdGlvbigpe2ds
b2JhbENvdW50ZXIrK30pKCkiCisgIGNoaWxkLmhyZWYgPSAiamF2YXNjcmlwdDpocmVmQ29tcGxl
dGUoJ2NoaWxkJykiCiAgIGNoaWxkLmRpc3BhdGNoRXZlbnQobmV3IE1vdXNlRXZlbnQoImNsaWNr
Iiwge2J1YmJsZXM6dHJ1ZX0pKQotICBhc3NlcnRfZXF1YWxzKGdsb2JhbENvdW50ZXIsIDEpCi0g
IHQuZG9uZSgpCiB9LCAicGljayB0aGUgZmlyc3Qgd2l0aCBhY3RpdmF0aW9uIGJlaGF2aW9yIDxh
IGhyZWY+IikKIAogYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7CkluZGV4OiBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gt
aGFuZGxlcnMtY2hhbmdlZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNo
LWhhbmRsZXJzLWNoYW5nZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDg0NDUpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQt
ZGlzcGF0Y2gtaGFuZGxlcnMtY2hhbmdlZC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwzIEBACiAKLUZBSUwgIERpc3BhdGNoIGFkZGl0aW9uYWwgZXZlbnRzIGluc2lkZSBh
biBldmVudCBsaXN0ZW5lciAgYXNzZXJ0X2FycmF5X2VxdWFsczogYWN0dWFsX3RhcmdldHMgbGVu
Z3RocyBkaWZmZXIsIGV4cGVjdGVkIDE2IGdvdCAxNworUEFTUyAgRGlzcGF0Y2ggYWRkaXRpb25h
bCBldmVudHMgaW5zaWRlIGFuIGV2ZW50IGxpc3RlbmVyICAKIApJbmRleDogTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNo
LWhhbmRsZXJzLWNoYW5nZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtaGFuZGxl
cnMtY2hhbmdlZC5odG1sCShyZXZpc2lvbiAyNDg0NDUpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtaGFuZGxl
cnMtY2hhbmdlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMCw3ICsyMCw3IEBACiA8L3RhYmxl
PgogCiA8c2NyaXB0PgotYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKK3Rlc3QoZnVuY3Rpb24oKSB7
CiAgIHZhciBldmVudF90eXBlID0gImJhciI7CiAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGFyZ2V0Iik7CiAgIHZhciBwYXJlbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicGFyZW50Iik7CkBAIC0zOSw2ICszOSw3IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7
CiAgICAgcGFyZW50LAogICAgIHRhcmdldCwKICAgICB0YXJnZXQsCisgICAgdGFyZ2V0LCAvLyBU
aGUgYWRkaXRpb25hbCBsaXN0ZW5lciBmb3IgdGFyZ2V0IHJ1bnMgYXMgd2UgY29weSBpdHMgbGlz
dGVuZXJzIHR3aWNlCiAgICAgcGFyZW50LAogICAgIHRib2R5LAogICAgIHRhYmxlLApAQCAtNDcs
NyArNDgsNyBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKCkgewogICAgIGRvY3VtZW50LAogICAgIHdp
bmRvdwogICBdOwotICB2YXIgZXhwZWN0ZWRfbGlzdGVuZXJzID0gWzAsMCwwLDAsMCwwLDAsMCwx
LDEsMSwxLDEsMSwxLDFdOworICB2YXIgZXhwZWN0ZWRfbGlzdGVuZXJzID0gWzAsMCwwLDAsMCww
LDAsMCwxLDMsMSwxLDEsMSwxLDEsMV07CiAKICAgdmFyIGFjdHVhbF90YXJnZXRzID0gW10sIGFj
dHVhbF9saXN0ZW5lcnMgPSBbXTsKICAgdmFyIHRlc3RfZXZlbnRfZnVuY3Rpb24gPSBmdW5jdGlv
bihpKSB7CkBAIC04Niw3ICs4Nyw1IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CiAKICAgYXNz
ZXJ0X2FycmF5X2VxdWFscyhhY3R1YWxfdGFyZ2V0cywgZXhwZWN0ZWRfdGFyZ2V0cywgImFjdHVh
bF90YXJnZXRzIik7CiAgIGFzc2VydF9hcnJheV9lcXVhbHMoYWN0dWFsX2xpc3RlbmVycywgZXhw
ZWN0ZWRfbGlzdGVuZXJzLCAiYWN0dWFsX2xpc3RlbmVycyIpOwotCi0gIHRoaXMuZG9uZSgpOwog
fSk7CiA8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1saXN0ZW5lci1vcmRlci53aW5kb3ct
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1saXN0ZW5lci1vcmRlci53
aW5kb3ctZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1saXN0ZW5l
ci1vcmRlci53aW5kb3ctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBA
QAorCitQQVNTIFVudGl0bGVkIAorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtbGlzdGVuZXItb3JkZXIu
d2luZG93Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLWxpc3RlbmVyLW9yZGVyLndp
bmRvdy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1saXN0ZW5lci1vcmRlci53
aW5kb3cuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBp
cyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1w
bGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlz
cGF0Y2gtbGlzdGVuZXItb3JkZXIud2luZG93LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRj
aC1saXN0ZW5lci1vcmRlci53aW5kb3cuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNo
LWxpc3RlbmVyLW9yZGVyLndpbmRvdy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIwIEBA
Cit0ZXN0KHQgPT4geworICBjb25zdCBob3N0UGFyZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic2VjdGlvbiIpLAorICAgICAgICBob3N0ID0gaG9zdFBhcmVudC5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSksCisgICAgICAgIHNoYWRvd1Jvb3QgPSBob3N0LmF0
dGFjaFNoYWRvdyh7IG1vZGU6ICJjbG9zZWQiIH0pLAorICAgICAgICB0YXJnZXRQYXJlbnQgPSBz
aGFkb3dSb290LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKSksCisgICAg
ICAgIHRhcmdldCA9IHRhcmdldFBhcmVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzcGFuIikpLAorICAgICAgICBwYXRoID0gW2hvc3RQYXJlbnQsIGhvc3QsIHNoYWRvd1Jv
b3QsIHRhcmdldFBhcmVudCwgdGFyZ2V0XSwKKyAgICAgICAgZXhwZWN0ZWQgPSBbXSwKKyAgICAg
ICAgcmVzdWx0ID0gW107CisgIHBhdGguZm9yRWFjaCgobm9kZSwgaW5kZXgpID0+IHsKKyAgICBl
eHBlY3RlZC5zcGxpY2UoaW5kZXgsIDAsICJjYXB0dXJpbmcgIiArIG5vZGUubm9kZU5hbWUpOwor
ICAgIGV4cGVjdGVkLnNwbGljZShpbmRleCArIDEsIDAsICJidWJibGluZyAiICsgbm9kZS5ub2Rl
TmFtZSk7CisgIH0pOworICBwYXRoLmZvckVhY2gobm9kZSA9PiB7CisgICAgbm9kZS5hZGRFdmVu
dExpc3RlbmVyKCJ0ZXN0IiwgKCkgPT4geyByZXN1bHQucHVzaCgiYnViYmxpbmcgIiArIG5vZGUu
bm9kZU5hbWUpIH0pOworICAgIG5vZGUuYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsICgpID0+IHsg
cmVzdWx0LnB1c2goImNhcHR1cmluZyAiICsgbm9kZS5ub2RlTmFtZSkgfSwgdHJ1ZSk7CisgIH0p
OworICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ3Rlc3QnLCB7IGRldGFp
bDoge30sIGJ1YmJsZXM6IHRydWUsIGNvbXBvc2VkOiB0cnVlIH0pKTsKKyAgYXNzZXJ0X2FycmF5
X2VxdWFscyhyZXN1bHQsIGV4cGVjdGVkKTsKK30pOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLW9uLWRp
c2FibGVkLWVsZW1lbnRzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gt
b24tZGlzYWJsZWQtZWxlbWVudHMtZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1k
aXNwYXRjaC1vbi1kaXNhYmxlZC1lbGVtZW50cy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxNCBAQAorIAorCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9
IG51bGwKKworUEFTUyBDYW4gZGlzcGF0Y2ggdW50cnVzdGVkICdjbGljaycgRXZlbnRzIGF0IGRp
c2FibGVkIEhUTUwgZWxlbWVudHMuIAorUEFTUyBDYW4gZGlzcGF0Y2ggdW50cnVzdGVkIEV2ZW50
cyBhdCBkaXNhYmxlZCBIVE1MIGVsZW1lbnRzLiAKK1BBU1MgQ2FuIGRpc3BhdGNoIEN1c3RvbUV2
ZW50cyBhdCBkaXNhYmxlZCBIVE1MIGVsZW1lbnRzLiAKK1BBU1MgQ2FsbGluZyBjbGljaygpIG9u
IGRpc2FibGVkIGVsZW1lbnRzIG11c3Qgbm90IGRpc3BhdGNoIGV2ZW50cy4gCitQQVNTIENTUyBU
cmFuc2l0aW9ucyB0cmFuc2l0aW9ucnVuLCB0cmFuc2l0aW9uc3RhcnQsIHRyYW5zaXRpb25lbmQg
ZXZlbnRzIGZpcmUgb24gZGlzYWJsZWQgZm9ybSBlbGVtZW50cyAKK1BBU1MgQ1NTIFRyYW5zaXRp
b25zIHRyYW5zaXRpb25jYW5jZWwgZXZlbnQgZmlyZXMgb24gZGlzYWJsZWQgZm9ybSBlbGVtZW50
cyAKK1RJTUVPVVQgQ1NTIEFuaW1hdGlvbiBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uaXRlcmF0
aW9uLCBhbmltYXRpb25lbmQgZmlyZSBvbiBkaXNhYmxlZCBmb3JtIGVsZW1lbnRzIFRlc3QgdGlt
ZWQgb3V0CitOT1RSVU4gQ1NTIEFuaW1hdGlvbidzIGFuaW1hdGlvbmNhbmNlbCBldmVudCBmaXJl
cyBvbiBkaXNhYmxlZCBmb3JtIGVsZW1lbnRzIAorTk9UUlVOIFJlYWwgY2xpY2tzIG9uIGRpc2Fi
bGVkIGVsZW1lbnRzIG11c3Qgbm90IGRpc3BhdGNoIGV2ZW50cy4gCisKSW5kZXg6IExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNw
YXRjaC1vbi1kaXNhYmxlZC1lbGVtZW50cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRj
aC1vbi1kaXNhYmxlZC1lbGVtZW50cy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRj
aC1vbi1kaXNhYmxlZC1lbGVtZW50cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjUx
IEBACis8IWRvY3R5cGUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0ZjgiPgorPG1ldGEgbmFtZT0i
dGltZW91dCIgY29udGVudD0ibG9uZyI+Cis8dGl0bGU+RXZlbnRzIG11c3QgZGlzcGF0Y2ggb24g
ZGlzYWJsZWQgZWxlbWVudHM8L3RpdGxlPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhh
cm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3Ny
ZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGRyaXZlci5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5q
cyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgIEBrZXlmcmFtZXMgZmFkZSB7CisgICAgMCUgeworICAg
ICAgb3BhY2l0eTogMTsKKyAgICB9CisgICAgMTAwJSB7CisgICAgICBvcGFjaXR5OiAwOworICAg
IH0KKyAgfQorPC9zdHlsZT4KKzxib2R5PgorPHNjcmlwdD4KKy8vIEhUTUwgZWxlbWVudHMgdGhh
dCBjYW4gYmUgZGlzYWJsZWQKK2NvbnN0IGZvcm1FbGVtZW50cyA9IFsiYnV0dG9uIiwgImZpZWxk
c2V0IiwgImlucHV0IiwgInNlbGVjdCIsICJ0ZXh0YXJlYSJdOworCit0ZXN0KCgpID0+IHsKKyAg
Zm9yIChjb25zdCBsb2NhbE5hbWUgb2YgZm9ybUVsZW1lbnRzKSB7CisgICAgY29uc3QgZWxlbSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobG9jYWxOYW1lKTsKKyAgICBlbGVtLmRpc2FibGVkID0g
dHJ1ZTsKKyAgICAvLyBwYXNzIGJlY29tZXMgdHJ1ZSBpZiB0aGUgZXZlbnQgaXMgY2FsbGVkIGFu
ZCBpdCdzIHRoZSByaWdodCB0eXBlLgorICAgIGxldCBwYXNzID0gZmFsc2U7CisgICAgY29uc3Qg
bGlzdGVuZXIgPSAoeyB0eXBlIH0pID0+IHsKKyAgICAgIHBhc3MgPSB0eXBlID09PSAiY2xpY2si
OworICAgIH07CisgICAgZWxlbS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIGxpc3RlbmVyLCB7
IG9uY2U6IHRydWUgfSk7CisgICAgZWxlbS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiY2xpY2si
KSk7CisgICAgYXNzZXJ0X3RydWUoCisgICAgICBwYXNzLAorICAgICAgYFVudHJ1c3RlZCAiY2xp
Y2siIEV2ZW50IGRpZG4ndCBkaXNwYXRjaCBvbiAke2VsZW0uY29uc3RydWN0b3IubmFtZX0uYAor
ICAgICk7CisgIH0KK30sICJDYW4gZGlzcGF0Y2ggdW50cnVzdGVkICdjbGljaycgRXZlbnRzIGF0
IGRpc2FibGVkIEhUTUwgZWxlbWVudHMuIik7CisKK3Rlc3QoKCkgPT4geworICBmb3IgKGNvbnN0
IGxvY2FsTmFtZSBvZiBmb3JtRWxlbWVudHMpIHsKKyAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudChsb2NhbE5hbWUpOworICAgIGVsZW0uZGlzYWJsZWQgPSB0cnVlOworICAg
IC8vIHBhc3MgYmVjb21lcyB0cnVlIGlmIHRoZSBldmVudCBpcyBjYWxsZWQgYW5kIGl0J3MgdGhl
IHJpZ2h0IHR5cGUuCisgICAgbGV0IHBhc3MgPSBmYWxzZTsKKyAgICBjb25zdCBsaXN0ZW5lciA9
ICh7IHR5cGUgfSkgPT4geworICAgICAgcGFzcyA9IHR5cGUgPT09ICJwYXNzIjsKKyAgICB9Owor
ICAgIGVsZW0uYWRkRXZlbnRMaXN0ZW5lcigicGFzcyIsIGxpc3RlbmVyLCB7IG9uY2U6IHRydWUg
fSk7CisgICAgZWxlbS5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgicGFzcyIpKTsKKyAgICBhc3Nl
cnRfdHJ1ZSgKKyAgICAgIHBhc3MsCisgICAgICBgVW50cnVzdGVkICJwYXNzIiBFdmVudCBkaWRu
J3QgZGlzcGF0Y2ggb24gJHtlbGVtLmNvbnN0cnVjdG9yLm5hbWV9YAorICAgICk7CisgIH0KK30s
ICJDYW4gZGlzcGF0Y2ggdW50cnVzdGVkIEV2ZW50cyBhdCBkaXNhYmxlZCBIVE1MIGVsZW1lbnRz
LiIpOworCit0ZXN0KCgpID0+IHsKKyAgZm9yIChjb25zdCBsb2NhbE5hbWUgb2YgZm9ybUVsZW1l
bnRzKSB7CisgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobG9jYWxOYW1l
KTsKKyAgICBlbGVtLmRpc2FibGVkID0gdHJ1ZTsKKyAgICAvLyBwYXNzIGJlY29tZXMgdHJ1ZSBp
ZiB0aGUgZXZlbnQgaXMgY2FsbGVkIGFuZCBpdCdzIHRoZSByaWdodCB0eXBlLgorICAgIGxldCBw
YXNzID0gZmFsc2U7CisgICAgY29uc3QgbGlzdGVuZXIgPSAoeyB0eXBlIH0pID0+IHsKKyAgICAg
IHBhc3MgPSB0eXBlID09PSAiY3VzdG9tLXBhc3MiOworICAgIH07CisgICAgZWxlbS5hZGRFdmVu
dExpc3RlbmVyKCJjdXN0b20tcGFzcyIsIGxpc3RlbmVyLCB7IG9uY2U6IHRydWUgfSk7CisgICAg
ZWxlbS5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3VzdG9tLXBhc3MiKSk7CisgICAg
YXNzZXJ0X3RydWUoCisgICAgICBwYXNzLAorICAgICAgYEN1c3RvbUV2ZW50ICJjdXN0b20tcGFz
cyIgZGlkbid0IGRpc3BhdGNoIG9uICR7ZWxlbS5jb25zdHJ1Y3Rvci5uYW1lfWAKKyAgICApOwor
ICB9Cit9LCAiQ2FuIGRpc3BhdGNoIEN1c3RvbUV2ZW50cyBhdCBkaXNhYmxlZCBIVE1MIGVsZW1l
bnRzLiIpOworCit0ZXN0KCgpID0+IHsKKyAgZm9yIChjb25zdCBsb2NhbE5hbWUgb2YgZm9ybUVs
ZW1lbnRzKSB7CisgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobG9jYWxO
YW1lKTsKKworICAgIC8vIEVsZW1lbnQgaXMgZGlzYWJsZWQuLi4gc28gdGhpcyBjbGljaygpIE1V
U1QgTk9UIGZpcmUgYW4gZXZlbnQuCisgICAgZWxlbS5kaXNhYmxlZCA9IHRydWU7CisgICAgbGV0
IHBhc3MgPSB0cnVlOworICAgIGVsZW0ub25jbGljayA9IGUgPT4geworICAgICAgcGFzcyA9IGZh
bHNlOworICAgIH07CisgICAgZWxlbS5jbGljaygpOworICAgIGFzc2VydF90cnVlKAorICAgICAg
cGFzcywKKyAgICAgIGAuY2xpY2soKSBtdXN0IG5vdCBkaXNwYXRjaCAiY2xpY2siIGV2ZW50IG9u
IGRpc2FibGVkICR7CisgICAgICAgIGVsZW0uY29uc3RydWN0b3IubmFtZQorICAgICAgfS5gCisg
ICAgKTsKKworICAgIC8vIEVsZW1lbnQgaXMgKHJlKWVuYWJsZWQuLi4gc28gdGhpcyBjbGljaygp
IGZpcmVzIGFuIGV2ZW50LgorICAgIGVsZW0uZGlzYWJsZWQgPSBmYWxzZTsKKyAgICBwYXNzID0g
ZmFsc2U7CisgICAgZWxlbS5vbmNsaWNrID0gZSA9PiB7CisgICAgICBwYXNzID0gdHJ1ZTsKKyAg
ICB9OworICAgIGVsZW0uY2xpY2soKTsKKyAgICBhc3NlcnRfdHJ1ZSgKKyAgICAgIHBhc3MsCisg
ICAgICBgLmNsaWNrKCkgbXVzdCBkaXNwYXRjaCAiY2xpY2siIGV2ZW50IG9uIGVuYWJsZWQgJHsK
KyAgICAgICAgZWxlbS5jb25zdHJ1Y3Rvci5uYW1lCisgICAgICB9LmAKKyAgICApOworICB9Cit9
LCAiQ2FsbGluZyBjbGljaygpIG9uIGRpc2FibGVkIGVsZW1lbnRzIG11c3Qgbm90IGRpc3BhdGNo
IGV2ZW50cy4iKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgLy8gRm9yIGVhY2gg
Zm9ybSBlbGVtZW50IHR5cGUsIHNldCB1cCB0cmFuc2l0aW9uIGV2ZW50IGhhbmRsZXJzLgorICBm
b3IgKGNvbnN0IGxvY2FsTmFtZSBvZiBmb3JtRWxlbWVudHMpIHsKKyAgICBjb25zdCBlbGVtID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChsb2NhbE5hbWUpOworICAgIGVsZW0uZGlzYWJsZWQgPSB0
cnVlOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbSk7CisgICAgY29uc3QgZXZl
bnRQcm9taXNlcyA9IFsKKyAgICAgICJ0cmFuc2l0aW9ucnVuIiwKKyAgICAgICJ0cmFuc2l0aW9u
c3RhcnQiLAorICAgICAgInRyYW5zaXRpb25lbmQiLAorICAgIF0ubWFwKGV2ZW50VHlwZSA9PiB7
CisgICAgICByZXR1cm4gbmV3IFByb21pc2UociA9PiB7CisgICAgICAgIGVsZW0uYWRkRXZlbnRM
aXN0ZW5lcihldmVudFR5cGUsIHIpOworICAgICAgfSk7CisgICAgfSk7CisgICAgLy8gRmx1c2hp
bmcgc3R5bGUgdHJpZ2dlcnMgdHJhbnNpdGlvbi4KKyAgICBnZXRDb21wdXRlZFN0eWxlKGVsZW0p
Lm9wYWNpdHk7CisgICAgZWxlbS5zdHlsZS50cmFuc2l0aW9uID0gIm9wYWNpdHkgLjFzIjsKKyAg
ICBlbGVtLnN0eWxlLm9wYWNpdHkgPSAwOworICAgIGdldENvbXB1dGVkU3R5bGUoZWxlbSkub3Bh
Y2l0eTsKKyAgICAvLyBBbGwgdGhlIGV2ZW50cyBmaXJlLi4uCisgICAgYXdhaXQgUHJvbWlzZS5h
bGwoZXZlbnRQcm9taXNlcyk7CisgICAgZWxlbS5yZW1vdmUoKTsKKyAgfQorfSwgIkNTUyBUcmFu
c2l0aW9ucyB0cmFuc2l0aW9ucnVuLCB0cmFuc2l0aW9uc3RhcnQsIHRyYW5zaXRpb25lbmQgZXZl
bnRzIGZpcmUgb24gZGlzYWJsZWQgZm9ybSBlbGVtZW50cyIpOworCitwcm9taXNlX3Rlc3QoYXN5
bmMgKCkgPT4geworICAvLyBGb3IgZWFjaCBmb3JtIGVsZW1lbnQgdHlwZSwgc2V0IHVwIHRyYW5z
aXRpb24gZXZlbnQgaGFuZGxlcnMuCisgIGZvciAoY29uc3QgbG9jYWxOYW1lIG9mIGZvcm1FbGVt
ZW50cykgeworICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGxvY2FsTmFt
ZSk7CisgICAgZWxlbS5kaXNhYmxlZCA9IHRydWU7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChlbGVtKTsKKyAgICBnZXRDb21wdXRlZFN0eWxlKGVsZW0pLm9wYWNpdHk7CisgICAgZWxl
bS5zdHlsZS50cmFuc2l0aW9uID0gIm9wYWNpdHkgMTAwcyI7CisgICAgLy8gV2UgdXNlIG9udHJh
bnNpdGlvbnN0YXJ0IHRvIGNhbmNlbCB0aGUgZXZlbnQuCisgICAgZWxlbS5vbnRyYW5zaXRpb25z
dGFydCA9ICgpID0+IHsKKyAgICAgIGVsZW0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICB9
OworICAgIGNvbnN0IHByb21pc2VUb0NhbmNlbCA9IG5ldyBQcm9taXNlKHIgPT4geworICAgICAg
ZWxlbS5vbnRyYW5zaXRpb25jYW5jZWwgPSByOworICAgIH0pOworICAgIC8vIEZsdXNoaW5nIHN0
eWxlIHRyaWdnZXJzIHRoZSB0cmFuc2l0aW9uLgorICAgIGVsZW0uc3R5bGUub3BhY2l0eSA9IDA7
CisgICAgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtKS5vcGFjaXR5OworICAgIGF3YWl0IHByb21pc2VU
b0NhbmNlbDsKKyAgICAvLyBBbmQgd2UgYXJlIGRvbmUgd2l0aCB0aGlzIGVsZW1lbnQuCisgICAg
ZWxlbS5yZW1vdmUoKTsKKyAgfQorfSwgIkNTUyBUcmFuc2l0aW9ucyB0cmFuc2l0aW9uY2FuY2Vs
IGV2ZW50IGZpcmVzIG9uIGRpc2FibGVkIGZvcm0gZWxlbWVudHMiKTsKKworcHJvbWlzZV90ZXN0
KGFzeW5jICgpID0+IHsKKyAgLy8gRm9yIGVhY2ggZm9ybSBlbGVtZW50IHR5cGUsIHNldCB1cCB0
cmFuc2l0aW9uIGV2ZW50IGhhbmRsZXJzLgorICBmb3IgKGNvbnN0IGxvY2FsTmFtZSBvZiBmb3Jt
RWxlbWVudHMpIHsKKyAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChsb2Nh
bE5hbWUpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbSk7CisgICAgZWxlbS5k
aXNhYmxlZCA9IHRydWU7CisgICAgY29uc3QgYW5pbWF0aW9uU3RhcnRQcm9taXNlID0gbmV3IFBy
b21pc2UociA9PiB7CisgICAgICBlbGVtLmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbnN0YXJ0
IiwgKCkgPT4geworICAgICAgICAvLyBTZWVrIHRvIHRoZSBzZWNvbmQgaXRlcmF0aW9uIHRvIHRy
aWdnZXIgdGhlIGFuaW1hdGlvbml0ZXJhdGlvbiBldmVudAorICAgICAgICBlbGVtLnN0eWxlLmFu
aW1hdGlvbkRlbGF5ID0gIi0xMDBzIgorICAgICAgICByKCk7CisgICAgICB9KTsKKyAgICB9KTsK
KyAgICBjb25zdCBhbmltYXRpb25JdGVyYXRpb25Qcm9taXNlID0gbmV3IFByb21pc2UociA9PiB7
CisgICAgICBlbGVtLmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbml0ZXJhdGlvbiIsICgpPT57
CisgICAgICAgIGVsZW0uc3R5bGUuYW5pbWF0aW9uRGVsYXkgPSAiLTIwMHMiCisgICAgICAgIHIo
KTsKKyAgICAgIH0pOworICAgIH0pOworICAgIGNvbnN0IGFuaW1hdGlvbkVuZFByb21pc2UgPSBu
ZXcgUHJvbWlzZShyID0+IHsKKyAgICAgIGVsZW0uYWRkRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9u
ZW5kIiwgcik7CisgICAgfSk7CisgICAgZWxlbS5zdHlsZS5hbmltYXRpb24gPSAiZmFkZSAxMDBz
IDIiOworICAgIGVsZW0uY2xhc3NMaXN0LmFkZCgiYW5pbWF0ZSIpOworICAgIC8vIEFsbCB0aGUg
ZXZlbnRzIGZpcmUuLi4KKyAgICBhd2FpdCBQcm9taXNlLmFsbChbCisgICAgICBhbmltYXRpb25T
dGFydFByb21pc2UsCisgICAgICBhbmltYXRpb25JdGVyYXRpb25Qcm9taXNlLAorICAgICAgYW5p
bWF0aW9uRW5kUHJvbWlzZSwKKyAgICBdKTsKKyAgICBlbGVtLnJlbW92ZSgpOworICB9Cit9LCAi
Q1NTIEFuaW1hdGlvbiBhbmltYXRpb25zdGFydCwgYW5pbWF0aW9uaXRlcmF0aW9uLCBhbmltYXRp
b25lbmQgZmlyZSBvbiBkaXNhYmxlZCBmb3JtIGVsZW1lbnRzIik7CisKK3Byb21pc2VfdGVzdChh
c3luYyAoKSA9PiB7CisgIC8vIEZvciBlYWNoIGZvcm0gZWxlbWVudCB0eXBlLCBzZXQgdXAgdHJh
bnNpdGlvbiBldmVudCBoYW5kbGVycy4KKyAgZm9yIChjb25zdCBsb2NhbE5hbWUgb2YgZm9ybUVs
ZW1lbnRzKSB7CisgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobG9jYWxO
YW1lKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW0pOworICAgIGVsZW0uZGlz
YWJsZWQgPSB0cnVlOworCisgICAgY29uc3QgcHJvbWlzZVRvQ2FuY2VsID0gbmV3IFByb21pc2Uo
ciA9PiB7CisgICAgICBlbGVtLmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmNhbmNlbCIsIHIp
OworICAgIH0pOworCisgICAgZWxlbS5hZGRFdmVudExpc3RlbmVyKCJhbmltYXRpb25zdGFydCIs
ICgpID0+IHsKKyAgICAgIC8vIENhbmNlbCB0aGUgYW5pbWF0aW9uIGJ5IGhpZGluZyBpdC4KKyAg
ICAgIGVsZW0uc3R5bGUuZGlzcGxheSA9ICJub25lIjsKKyAgICB9KTsKKworICAgIC8vIFRyaWdn
ZXIgdGhlIGFuaW1hdGlvbgorICAgIGVsZW0uc3R5bGUuYW5pbWF0aW9uID0gImZhZGUgMTAwcyI7
CisgICAgZWxlbS5jbGFzc0xpc3QuYWRkKCJhbmltYXRlIik7CisgICAgYXdhaXQgcHJvbWlzZVRv
Q2FuY2VsOworICAgIC8vIEFuZCB3ZSBhcmUgZG9uZSB3aXRoIHRoaXMgZWxlbWVudC4KKyAgICBl
bGVtLnJlbW92ZSgpOworICB9Cit9LCAiQ1NTIEFuaW1hdGlvbidzIGFuaW1hdGlvbmNhbmNlbCBl
dmVudCBmaXJlcyBvbiBkaXNhYmxlZCBmb3JtIGVsZW1lbnRzIik7CisKK3Byb21pc2VfdGVzdChh
c3luYyAoKSA9PiB7CisgIGZvciAoY29uc3QgbG9jYWxOYW1lIG9mIGZvcm1FbGVtZW50cykgewor
ICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGxvY2FsTmFtZSk7CisgICAg
ZWxlbS5kaXNhYmxlZCA9IHRydWU7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVt
KTsKKyAgICAvLyBFbGVtZW50IGlzIGRpc2FibGVkLCBzbyBjbGlja2luZyBtdXN0IG5vdCBmaXJl
IGV2ZW50cworICAgIGxldCBwYXNzID0gdHJ1ZTsKKyAgICBlbGVtLm9uY2xpY2sgPSBlID0+IHsK
KyAgICAgIHBhc3MgPSBmYWxzZTsKKyAgICB9OworICAgIC8vIERpc2FibGVkIGVsZW1lbnRzIGFy
ZSBub3QgY2xpY2thYmxlLgorICAgIGF3YWl0IHRlc3RfZHJpdmVyLmNsaWNrKGVsZW0pOworICAg
IGFzc2VydF90cnVlKAorICAgICAgcGFzcywKKyAgICAgIGAke2VsZW0uY29uc3RydWN0b3IubmFt
ZX0gaXMgZGlzYWJsZWQsIHNvIG9uY2xpY2sgbXVzdCBub3QgZmlyZS5gCisgICAgKTsKKyAgICAv
LyBFbGVtZW50IGlzIChyZSllbmFibGVkLi4uIHNvIHRoaXMgY2xpY2soKSB3aWxsIGZpcmUgYW4g
ZXZlbnQuCisgICAgcGFzcyA9IGZhbHNlOworICAgIGVsZW0uZGlzYWJsZWQgPSBmYWxzZTsKKyAg
ICBlbGVtLm9uY2xpY2sgPSAoKSA9PiB7CisgICAgICBwYXNzID0gdHJ1ZTsKKyAgICB9OworICAg
IGF3YWl0IHRlc3RfZHJpdmVyLmNsaWNrKGVsZW0pOworICAgIGFzc2VydF90cnVlKAorICAgICAg
cGFzcywKKyAgICAgIGAke2VsZW0uY29uc3RydWN0b3IubmFtZX0gaXMgZW5hYmxlZCwgc28gb25j
bGljayBtdXN0IGZpcmUuYAorICAgICk7CisgICAgZWxlbS5yZW1vdmUoKTsKKyAgfQorfSwgIlJl
YWwgY2xpY2tzIG9uIGRpc2FibGVkIGVsZW1lbnRzIG11c3Qgbm90IGRpc3BhdGNoIGV2ZW50cy4i
KTsKKzwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWlzVHJ1c3RlZC5hbnktZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9FdmVudC1pc1RydXN0ZWQuYW55LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
RXZlbnQtaXNUcnVzdGVkLmFueS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSw3IEBACisKK0ZBSUwgVW50aXRsZWQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgZnVuY3Rpb24g
ImZ1bmN0aW9uIGlzVHJ1c3RlZCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IiBidXQgZ290IGZ1
bmN0aW9uICJmdW5jdGlvbiBpc1RydXN0ZWQoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIKKwpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL0V2ZW50LWlzVHJ1c3RlZC5hbnkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtaXNUcnVzdGVk
LmFueS5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1pc1RydXN0ZWQuYW55Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdl
YktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWlzVHJ1c3RlZC5hbnkuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0V2ZW50LWlzVHJ1c3RlZC5hbnkuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWlz
VHJ1c3RlZC5hbnkuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMSBAQAordGVzdChmdW5j
dGlvbigpIHsKKyAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihu
ZXcgRXZlbnQoIngiKSwgImlzVHJ1c3RlZCIpOworICBhc3NlcnRfbm90X2VxdWFscyhkZXNjMSwg
dW5kZWZpbmVkKTsKKyAgYXNzZXJ0X2VxdWFscyh0eXBlb2YgZGVzYzEuZ2V0LCAiZnVuY3Rpb24i
KTsKKworICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5ldyBF
dmVudCgieCIpLCAiaXNUcnVzdGVkIik7CisgIGFzc2VydF9ub3RfZXF1YWxzKGRlc2MyLCB1bmRl
ZmluZWQpOworICBhc3NlcnRfZXF1YWxzKHR5cGVvZiBkZXNjMi5nZXQsICJmdW5jdGlvbiIpOwor
CisgIGFzc2VydF9lcXVhbHMoZGVzYzEuZ2V0LCBkZXNjMi5nZXQpOworfSk7CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQt
aXNUcnVzdGVkLmFueS53b3JrZXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1pc1Ry
dXN0ZWQuYW55Lndvcmtlci1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWlzVHJ1
c3RlZC5hbnkud29ya2VyLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcg
QEAKKworRkFJTCBVbnRpdGxlZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBmdW5jdGlvbiAiZnVu
Y3Rpb24gaXNUcnVzdGVkKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgZnVuY3Rp
b24gImZ1bmN0aW9uIGlzVHJ1c3RlZCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgorCkluZGV4
OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
RXZlbnQtaXNUcnVzdGVkLmFueS53b3JrZXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtaXNUcnVz
dGVkLmFueS53b3JrZXIuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtaXNUcnVzdGVkLmFueS53
b3JrZXIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBp
cyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1w
bGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtdGlt
ZXN0YW1wLXNhZmUtcmVzb2x1dGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXRp
bWVzdGFtcC1zYWZlLXJlc29sdXRpb24tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyNDg0NDUpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
RXZlbnQtdGltZXN0YW1wLXNhZmUtcmVzb2x1dGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwzIEBACiAKLVBBU1MgRXZlbnQgdGltZXN0YW1wIHNob3VsZCBub3QgaGF2
ZSBhIHJlc29sdXRpb24gYmV0dGVyIHRoYXQgNSBtaWNyb3NlY29uZHMgCitQQVNTIEV2ZW50IHRp
bWVzdGFtcCBzaG91bGQgbm90IGhhdmUgYSByZXNvbHV0aW9uIGJldHRlciB0aGFuIDUgbWljcm9z
ZWNvbmRzIAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvRXZlbnQtdGltZXN0YW1wLXNhZmUtcmVzb2x1dGlvbi5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9FdmVudC10aW1lc3RhbXAtc2FmZS1yZXNvbHV0aW9uLmh0bWwJKHJldmlzaW9uIDI0
ODQ0NSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9FdmVudC10aW1lc3RhbXAtc2FmZS1yZXNvbHV0aW9uLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTQ1LDUgKzQ1LDUgQEAgdGVzdChmdW5jdGlvbigpIHsKIAogICBjb25zdCBtaW5SZXNv
bHV0aW9uID0gZXN0aW1hdGVNaW5pbXVtUmVzb2x1dGlvbihzYW1wbGVzKTsKICAgYXNzZXJ0X2dy
ZWF0ZXJfdGhhbl9lcXVhbChtaW5SZXNvbHV0aW9uLCA1KTsKLX0sICdFdmVudCB0aW1lc3RhbXAg
c2hvdWxkIG5vdCBoYXZlIGEgcmVzb2x1dGlvbiBiZXR0ZXIgdGhhdCA1IG1pY3Jvc2Vjb25kcycp
OworfSwgJ0V2ZW50IHRpbWVzdGFtcCBzaG91bGQgbm90IGhhdmUgYSByZXNvbHV0aW9uIGJldHRl
ciB0aGFuIDUgbWljcm9zZWNvbmRzJyk7CiA8L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvRXZlbnRMaXN0ZW5lci1hZGRFdmVudExpc3RlbmVyLnN1Yi53aW5kb3ctZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudExpc3RlbmVyLWFkZEV2ZW50TGlzdGVuZXIuc3Vi
LndpbmRvdy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50TGlzdGVuZXItYWRkRXZl
bnRMaXN0ZW5lci5zdWIud2luZG93LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDMgQEAKKworUEFTUyBFdmVudExpc3RlbmVyLmFkZEV2ZW50TGlzdGVuZXIgZG9lc24ndCB0
aHJvdyB3aGVuIGEgY3Jvc3Mgb3JpZ2luIG9iamVjdCBpcyBwYXNzZWQgaW4uIAorCkluZGV4OiBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZl
bnRMaXN0ZW5lci1hZGRFdmVudExpc3RlbmVyLnN1Yi53aW5kb3cuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
RXZlbnRMaXN0ZW5lci1hZGRFdmVudExpc3RlbmVyLnN1Yi53aW5kb3cuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvRXZlbnRMaXN0ZW5lci1hZGRFdmVudExpc3RlbmVyLnN1Yi53aW5kb3cuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3Ig
V2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRMaXN0ZW5lci1hZGRFdmVudExp
c3RlbmVyLnN1Yi53aW5kb3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50TGlzdGVuZXItYWRkRXZlbnRM
aXN0ZW5lci5zdWIud2luZG93LmpzCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudExpc3RlbmVyLWFkZEV2
ZW50TGlzdGVuZXIuc3ViLndpbmRvdy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkgQEAK
K2FzeW5jX3Rlc3QoZnVuY3Rpb24odCkgeworICBsZXQgY3Jvc3NPcmlnaW5GcmFtZSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICBjcm9zc09yaWdpbkZyYW1lLnNyYyA9ICdo
dHRwczovL3t7aG9zdHNbYWx0XVtdfX06e3twb3J0c1todHRwc11bMF19fS9jb21tb24vYmxhbmsu
aHRtbCc7CisgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY3Jvc3NPcmlnaW5GcmFtZSk7Cisg
IGNyb3NzT3JpZ2luRnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHQuc3RlcF9mdW5jX2Rv
bmUoZnVuY3Rpb24oKSB7CisgICAgbGV0IGNyb3NzT3JpZ2luV2luZG93ID0gY3Jvc3NPcmlnaW5G
cmFtZS5jb250ZW50V2luZG93OworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycs
IGNyb3NzT3JpZ2luV2luZG93KTsKKyAgfSkpOworfSwgIkV2ZW50TGlzdGVuZXIuYWRkRXZlbnRM
aXN0ZW5lciBkb2Vzbid0IHRocm93IHdoZW4gYSBjcm9zcyBvcmlnaW4gb2JqZWN0IGlzIHBhc3Nl
ZCBpbi4iKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9FdmVudExpc3RlbmVyLWhhbmRsZUV2ZW50LWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvRXZlbnRMaXN0ZW5lci1oYW5kbGVFdmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDI0ODQ0NSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9FdmVudExpc3RlbmVyLWhhbmRsZUV2ZW50LWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDkgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSA0NjogW29iamVj
dCBPYmplY3RdCiAKLVBBU1MgRXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQoKSAKK1BBU1MgY2Fs
bHMgYGhhbmRsZUV2ZW50YCBtZXRob2Qgb2YgYEV2ZW50TGlzdGVuZXJgIAorUEFTUyByZXRocm93
cyBlcnJvcnMgd2hlbiBnZXR0aW5nIGBoYW5kbGVFdmVudGAgCitQQVNTIHBlcmZvcm1zIGBHZXRg
IGV2ZXJ5IHRpbWUgZXZlbnQgaXMgZGlzcGF0Y2hlZCAKK1BBU1MgZG9lc24ndCBjYWxsIGBoYW5k
bGVFdmVudGAgbWV0aG9kIG9uIGNhbGxhYmxlIGBFdmVudExpc3RlbmVyYCAKK0ZBSUwgdGhyb3dz
IGlmIGBoYW5kbGVFdmVudGAgaXMgZmFsc3kgYW5kIG5vdCBjYWxsYWJsZSBhc3NlcnRfdHJ1ZTog
ZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgdGhyb3dzIGlmIGBoYW5kbGVFdmVudGAgaXMg
dGhydXRoeSBhbmQgbm90IGNhbGxhYmxlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvRXZlbnRMaXN0ZW5lci1oYW5kbGVFdmVudC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9F
dmVudExpc3RlbmVyLWhhbmRsZUV2ZW50Lmh0bWwJKHJldmlzaW9uIDI0ODQ0NSkKKysrIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudExp
c3RlbmVyLWhhbmRsZUV2ZW50Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTMsNDAgKzMsMTIzIEBA
CiA8dGl0bGU+RXZlbnRMaXN0ZW5lcjo6aGFuZGxlRXZlbnQoKTwvdGl0bGU+CiA8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8bGluayByZWw9ImhlbHAi
IGhyZWY9Imh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jY2FsbGJhY2tkZWYtZXZlbnRsaXN0
ZW5lciI+CiA8ZGl2IGlkPWxvZz48L2Rpdj4KLTx0YWJsZSBpZD0idGFibGUiIGJvcmRlcj0iMSIg
c3R5bGU9ImRpc3BsYXk6IG5vbmUiPgotICAgIDx0Ym9keSBpZD0idGFibGUtYm9keSI+Ci0gICAg
PHRyIGlkPSJ0YWJsZS1yb3ciPgotICAgICAgICA8dGQgaWQ9InRhYmxlLWNlbGwiPlNoYWR5IEdy
b3ZlPC90ZD4KLSAgICAgICAgPHRkPkFlb2xpYW48L3RkPgotICAgIDwvdHI+Ci0gICAgPHRyIGlk
PSJwYXJlbnQiPgotICAgICAgICA8dGQgaWQ9InRhcmdldCI+T3ZlciB0aGUgcml2ZXIsIENoYXJs
aWU8L3RkPgotICAgICAgICA8dGQ+RG9yaWFuPC90ZD4KLSAgICA8L3RyPgotICAgIDwvdGJvZHk+
Ci08L3RhYmxlPgogPHNjcmlwdD4KLXRlc3QoZnVuY3Rpb24odCkgewotICAgIHZhciBldmVudCA9
ICJmb28iOwotICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0
Iik7CitzZXR1cCh7IGFsbG93X3VuY2F1Z2h0X2V4Y2VwdGlvbjogdHJ1ZSB9KTsKIAotICAgIHZh
ciBldmVudF9saXN0ZW5lciA9IHsKLSAgICAgICAgImhhbmRsZUV2ZW50IjogZnVuY3Rpb24oZXZ0
KSB7Cit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgdHlwZSA9ICJmb28iOworICAgIHZhciB0
YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICB2YXIgZXZlbnRMaXN0
ZW5lciA9IHsKKyAgICAgICAgaGFuZGxlRXZlbnQ6IGZ1bmN0aW9uKGV2dCkgewogICAgICAgICAg
ICAgdmFyIHRoYXQgPSB0aGlzOwogICAgICAgICAgICAgdC5zdGVwKGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZ0LnR5cGUsIGV2ZW50KTsKKyAgICAgICAgICAg
ICAgICBhc3NlcnRfZXF1YWxzKGV2dC50eXBlLCB0eXBlKTsKICAgICAgICAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKGV2dC50YXJnZXQsIHRhcmdldCk7CiAgICAgICAgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhldnQuc3JjRWxlbWVudCwgdGFyZ2V0KTsKLSAgICAgICAgICAgICAgICBhc3NlcnRfZXF1
YWxzKHRoYXQsIGV2ZW50X2xpc3RlbmVyKTsKKyAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHRoYXQsIGV2ZW50TGlzdGVuZXIpOwogICAgICAgICAgICAgfSk7Ci0gICAgICAgIH0KKyAgICAg
ICAgfSwKKyAgICB9OworCisgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgZXZlbnRM
aXN0ZW5lcik7CisgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KHR5cGUpKTsKK30s
ICJjYWxscyBgaGFuZGxlRXZlbnRgIG1ldGhvZCBvZiBgRXZlbnRMaXN0ZW5lcmAiKTsKKwordGVz
dChmdW5jdGlvbih0KSB7CisgICAgdmFyIHR5cGUgPSAiZm9vIjsKKyAgICB2YXIgdGFyZ2V0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgdmFyIHRocm93bkVycm9yID0geyBu
YW1lOiAidGVzdCIgfTsKKyAgICB2YXIgdW5jYXVnaHRFcnJvcjsKKyAgICB2YXIgZXJyb3JIYW5k
bGVyID0gZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgdW5jYXVnaHRFcnJvciA9IGV2ZW50LmVy
cm9yOworICAgIH07CisKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBlcnJv
ckhhbmRsZXIpOworICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgIHdpbmRv
dy5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsIGVycm9ySGFuZGxlcik7CisgICAgfSk7CisK
KyAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCB7CisgICAgICAgIGdldCBoYW5kbGVF
dmVudCgpIHsKKyAgICAgICAgICAgIHRocm93IHRocm93bkVycm9yOworICAgICAgICB9LAorICAg
IH0pOworCisgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KHR5cGUpKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHRocm93bkVycm9yLCB1bmNhdWdodEVycm9yKTsKK30sICJyZXRocm93cyBl
cnJvcnMgd2hlbiBnZXR0aW5nIGBoYW5kbGVFdmVudGAiKTsKKwordGVzdChmdW5jdGlvbih0KSB7
CisgICAgdmFyIHR5cGUgPSAiZm9vIjsKKyAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CisgICAgdmFyIGNhbGxzID0gMDsKKworICAgIHRhcmdldC5hZGRFdmVu
dExpc3RlbmVyKHR5cGUsIHsKKyAgICAgICAgZ2V0IGhhbmRsZUV2ZW50KCkgeworICAgICAgICAg
ICAgY2FsbHMrKzsKKyAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHt9OworICAgICAgICB9
LAorICAgIH0pOworCisgICAgYXNzZXJ0X2VxdWFscyhjYWxscywgMCk7CisgICAgdGFyZ2V0LmRp
c3BhdGNoRXZlbnQobmV3IEV2ZW50KHR5cGUpKTsKKyAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChu
ZXcgRXZlbnQodHlwZSkpOworICAgIGFzc2VydF9lcXVhbHMoY2FsbHMsIDIpOworfSwgInBlcmZv
cm1zIGBHZXRgIGV2ZXJ5IHRpbWUgZXZlbnQgaXMgZGlzcGF0Y2hlZCIpOworCit0ZXN0KGZ1bmN0
aW9uKHQpIHsKKyAgICB2YXIgdHlwZSA9ICJmb28iOworICAgIHZhciB0YXJnZXQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICB2YXIgY2FsbHMgPSAwOworICAgIHZhciBldmVu
dExpc3RlbmVyID0gZnVuY3Rpb24oKSB7IGNhbGxzKys7IH07CisgICAgZXZlbnRMaXN0ZW5lci5o
YW5kbGVFdmVudCA9IHQudW5yZWFjaGVkX2Z1bmMoImBoYW5kbGVFdmVudGAgbWV0aG9kIHNob3Vs
ZCBub3QgYmUgY2FsbGVkIG9uIGZ1bmN0aW9ucyIpOworCisgICAgdGFyZ2V0LmFkZEV2ZW50TGlz
dGVuZXIodHlwZSwgZXZlbnRMaXN0ZW5lcik7CisgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3
IEV2ZW50KHR5cGUpKTsKKyAgICBhc3NlcnRfZXF1YWxzKGNhbGxzLCAxKTsKK30sICJkb2Vzbid0
IGNhbGwgYGhhbmRsZUV2ZW50YCBtZXRob2Qgb24gY2FsbGFibGUgYEV2ZW50TGlzdGVuZXJgIik7
CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciB0eXBlID0gImZvbyI7CisgICAgdmFyIHRh
cmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIHZhciB1bmNhdWdodEVy
cm9yOworICAgIHZhciBlcnJvckhhbmRsZXIgPSBmdW5jdGlvbihldmVudCkgeworICAgICAgICB1
bmNhdWdodEVycm9yID0gZXZlbnQuZXJyb3I7CiAgICAgfTsKIAotICAgIHZhciBldnQgPSBkb2N1
bWVudC5jcmVhdGVFdmVudCgiRXZlbnQiKTsKLSAgICBldnQuaW5pdEV2ZW50KGV2ZW50LCB0cnVl
LCB0cnVlKTsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBlcnJvckhhbmRs
ZXIpOworICAgIHQuYWRkX2NsZWFudXAoZnVuY3Rpb24oKSB7CisgICAgICAgIHdpbmRvdy5yZW1v
dmVFdmVudExpc3RlbmVyKCJlcnJvciIsIGVycm9ySGFuZGxlcik7CisgICAgfSk7CisKKyAgICB0
YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCB7CisgICAgICAgIGhhbmRsZUV2ZW50OiBudWxs
LAorICAgIH0pOworCisgICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KHR5cGUpKTsK
KyAgICBhc3NlcnRfdHJ1ZSh1bmNhdWdodEVycm9yIGluc3RhbmNlb2YgVHlwZUVycm9yKTsKK30s
ICJ0aHJvd3MgaWYgYGhhbmRsZUV2ZW50YCBpcyBmYWxzeSBhbmQgbm90IGNhbGxhYmxlIik7CisK
K3Rlc3QoZnVuY3Rpb24odCkgeworICAgIHZhciB0eXBlID0gImZvbyI7CisgICAgdmFyIHRhcmdl
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIHZhciB1bmNhdWdodEVycm9y
OworICAgIHZhciBlcnJvckhhbmRsZXIgPSBmdW5jdGlvbihldmVudCkgeworICAgICAgICB1bmNh
dWdodEVycm9yID0gZXZlbnQuZXJyb3I7CisgICAgfTsKKworICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJlcnJvciIsIGVycm9ySGFuZGxlcik7CisgICAgdC5hZGRfY2xlYW51cChmdW5jdGlv
bigpIHsKKyAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIiwgZXJyb3JI
YW5kbGVyKTsKKyAgICB9KTsKKworICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKHR5cGUsIHsK
KyAgICAgICAgaGFuZGxlRXZlbnQ6IDEsCisgICAgfSk7CiAKLSAgICB0YXJnZXQuYWRkRXZlbnRM
aXN0ZW5lcihldmVudCwgZXZlbnRfbGlzdGVuZXIsIHRydWUpOwotICAgIHRhcmdldC5kaXNwYXRj
aEV2ZW50KGV2dCk7Ci19KTsKKyAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQodHlw
ZSkpOworICAgIGFzc2VydF90cnVlKHVuY2F1Z2h0RXJyb3IgaW5zdGFuY2VvZiBUeXBlRXJyb3Ip
OworfSwgInRocm93cyBpZiBgaGFuZGxlRXZlbnRgIGlzIHRocnV0aHkgYW5kIG5vdCBjYWxsYWJs
ZSIpOwogPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRMaXN0ZW5lci1pbmN1bWJlbnQtZ2xvYmFsLXN1YnN1
YmZyYW1lLnN1Yi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudExpc3RlbmVyLWluY3VtYmVudC1nbG9i
YWwtc3Vic3ViZnJhbWUuc3ViLmh0bWwJKHJldmlzaW9uIDI0ODQ0NSkKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudExpc3RlbmVy
LWluY3VtYmVudC1nbG9iYWwtc3Vic3ViZnJhbWUuc3ViLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTExLDcgKzExLDcgQEAKICAgICAgIHBhcmVudC5wb3N0TWVzc2FnZSgKICAgICAgICAgewogICAg
ICAgICAgIGFjdHVhbDogZS5vcmlnaW4sCi0gICAgICAgICAgZXhwZWN0ZWQ6ICJ7e2xvY2F0aW9u
W3NjaGVtZV19fTovL3t7ZG9tYWluc1t3d3cxXX19Ont7cG9ydHNbaHR0cF1bMF19fSIsCisgICAg
ICAgICAgZXhwZWN0ZWQ6IHBhcmVudC5sb2NhdGlvbi5vcmlnaW4sCiAgICAgICAgICAgcmVhc29u
OiAiSW5jdW1iZW50IHNob3VsZCBoYXZlIGJlZW4gdGhlIGNhbGxlciBvZiBhZGRFdmVudExpc3Rl
bmVyKCkiCiAgICAgICAgIH0sCiAgICAgICAgICIqIikKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1kaXNwYXRj
aEV2ZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtZGlzcGF0Y2hFdmVu
dC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODQ0NSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1kaXNwYXRjaEV2
ZW50LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjUsNSArMjUsNSBAQCBQQVNTIElm
IHRoZSBldmVudCdzIGluaXRpYWxpemVkIGZsYWcgaXMgCiBQQVNTIElmIHRoZSBldmVudCdzIGRp
c3BhdGNoIGZsYWcgaXMgc2V0LCBhbiBJbnZhbGlkU3RhdGVFcnJvciBtdXN0IGJlIHRocm93bi4g
CiBQQVNTIEV4Y2VwdGlvbnMgZnJvbSBldmVudCBsaXN0ZW5lcnMgbXVzdCBub3QgYmUgcHJvcGFn
YXRlZC4gCiBQQVNTIEV2ZW50IGxpc3RlbmVycyBhZGRlZCBkdXJpbmcgZGlzcGF0Y2ggc2hvdWxk
IGJlIGNhbGxlZCAKLUZBSUwgRXZlbnQgbGlzdGVuZXJzIHNob3VsZCBiZSBjYWxsZWQgaW4gb3Jk
ZXIgb2YgYWRkaXRpb24gYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgMSwgZXhwZWN0ZWQg
MiBidXQgZ290IDMKK1BBU1MgQ2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVycyBzaG91bGQgYmUgY2Fs
bGVkIGJlZm9yZSBub24tY2FwdHVyaW5nIG9uZXMgCiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1kaXNwYXRj
aEV2ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWRpc3BhdGNoRXZlbnQuaHRtbAko
cmV2aXNpb24gMjQ4NDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWRpc3BhdGNoRXZlbnQuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtOTgsNyArOTgsNyBAQCBhc3luY190ZXN0KGZ1bmN0aW9uKCkgewogICAgIHJl
c3VsdHMucHVzaCgzKQogICB9KSwgdHJ1ZSkKICAgYi5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgi
eCIpKQotICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc3VsdHMsIFsxLCAyLCAzXSkKKyAgYXNzZXJ0
X2FycmF5X2VxdWFscyhyZXN1bHRzLCBbMSwgMywgMl0pCiAgIHRoaXMuZG9uZSgpCi19LCAiRXZl
bnQgbGlzdGVuZXJzIHNob3VsZCBiZSBjYWxsZWQgaW4gb3JkZXIgb2YgYWRkaXRpb24iKQorfSwg
IkNhcHR1cmluZyBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgbm9uLWNh
cHR1cmluZyBvbmVzIikKIDwvc2NyaXB0PgpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2RvY3VtZW50LWxldmVsLXRvdWNobW92ZS1l
dmVudC1saXN0ZW5lci1wYXNzaXZlLWJ5LWRlZmF1bHQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9kb2N1bWVudC1sZXZlbC10b3VjaG1vdmUtZXZlbnQtbGlzdGVuZXItcGFzc2l2ZS1ieS1kZWZh
dWx0LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZG9jdW1lbnQtbGV2ZWwtdG91Y2htb3Zl
LWV2ZW50LWxpc3RlbmVyLXBhc3NpdmUtYnktZGVmYXVsdC1leHBlY3RlZC50eHQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzIEBACisKK0ZBSUwgVG91Y2htb3ZlIGV2ZW50cyBhcmUgbm9uLWNh
bmNlbGFibGUgc2luY2UgdGhlIGV2ZW50IGxpc3RlbmVyIGlzIHRyZWF0ZWQgYXMgcGFzc2l2ZS4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6ICJDb25kaXRpb24g
ZGlkIG5vdCBiZWNvbWUgdHJ1ZSBhZnRlciA1MDAgZnJhbWVzIgorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZG9jdW1lbnQtbGV2
ZWwtdG91Y2htb3ZlLWV2ZW50LWxpc3RlbmVyLXBhc3NpdmUtYnktZGVmYXVsdC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9kb2N1bWVudC1sZXZlbC10b3VjaG1vdmUtZXZlbnQtbGlzdGVuZXItcGFzc2l2ZS1i
eS1kZWZhdWx0Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2RvY3VtZW50LWxldmVsLXRvdWNobW92ZS1l
dmVudC1saXN0ZW5lci1wYXNzaXZlLWJ5LWRlZmF1bHQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDczIEBACis8IURPQ1RZUEUgaHRtbD4KKzx0aXRsZT5EZWZhdWx0IHBhc3NpdmUgZG9j
dW1lbnQgbGV2ZWwgdG91Y2htb3ZlIGV2ZW50IGxpc3RlbmVyIHRlc3Q8L3RpdGxlPgorPGxpbmsg
cmVsPSJoZWxwIiBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vV0lDRy9pbnRlcnZlbnRpb25zL2lz
c3Vlcy8zNSI+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItYWN0aW9ucy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcyI+PC9zY3JpcHQ+Cis8
Ym9keSBvbmxvYWQ9cnVuVGVzdCgpPgorPGRpdiBpZD0idG91Y2hEaXYiPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8c3R5bGU+CisjdG91Y2hEaXYgeworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAw
cHg7Cit9Cis8L3N0eWxlPgorPHNjcmlwdD4KK3ZhciB0b3VjaF9kaXYgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidG91Y2hEaXYiKTsKK3ZhciBjYW5jZWxhYmxlID0gdHJ1ZTsKK3ZhciB0b3Vj
aF9tb3ZlX2Fycml2ZWQgPSBmYWxzZTsKK2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNo
bW92ZSIsIGZ1bmN0aW9uIChldmVudCkgeworICAgIGNhbmNlbGFibGUgPSBldmVudC5jYW5jZWxh
YmxlOworICAgIHRvdWNoX21vdmVfYXJyaXZlZCA9IHRydWU7CisgICAgZXZlbnQucHJldmVudERl
ZmF1bHQoKTsKK30pOworCitmdW5jdGlvbiB3YWl0Rm9yKGNvbmRpdGlvbikgeworICBjb25zdCBN
QVhfRlJBTUUgPSA1MDA7CisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9
PiB7CisgICAgZnVuY3Rpb24gdGljayhmcmFtZXMpIHsKKyAgICAgIC8vIFdlIHJlcXVlc3RBbmlt
YXRpb25GcmFtZSBlaXRoZXIgZm9yIDUwMCBmcmFtZXMgb3IgdW50aWwgY29uZGl0aW9uIGlzCisg
ICAgICAvLyBtZXQuCisgICAgICBpZiAoZnJhbWVzID49IE1BWF9GUkFNRSkKKyAgICAgICAgcmVq
ZWN0KCJDb25kaXRpb24gZGlkIG5vdCBiZWNvbWUgdHJ1ZSBhZnRlciA1MDAgZnJhbWVzIik7Cisg
ICAgICBlbHNlIGlmIChjb25kaXRpb24oKSkKKyAgICAgICAgcmVzb2x2ZSgpOworICAgICAgZWxz
ZQorICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGljay5iaW5kKHRoaXMsIGZyYW1lcyAr
IDEpKTsKKyAgICB9CisgICAgdGljaygwKTsKKyAgfSk7Cit9CisKK2Z1bmN0aW9uIHdhaXRGb3JD
b21wb3NpdG9yQ29tbWl0KCkgeworICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsK
KyAgICAvLyByQUYgdHdpY2UuCisgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9
PiB7CisgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlc29sdmUpOworICAgIH0p
OworICB9KTsKK30KKworZnVuY3Rpb24gaW5qZWN0SW5wdXQoKSB7CisgIG5ldyB0ZXN0X2RyaXZl
ci5BY3Rpb25zKCkKKyAgICAuYWRkUG9pbnRlcigidG91Y2hfcG9pbnRlciIsICJ0b3VjaCIpCisg
ICAgLnBvaW50ZXJNb3ZlKDAsIDAsIHtvcmlnaW46IHRvdWNoX2Rpdn0pCisgICAgLnBvaW50ZXJE
b3duKCkKKyAgICAucG9pbnRlck1vdmUoMzAsIDMwKQorICAgIC5wb2ludGVyVXAoKQorICAgIC5z
ZW5kKCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKSB7CisgIHByb21pc2VfdGVzdCAoYXN5bmMg
KCkgPT4geworICAgIGF3YWl0IHdhaXRGb3JDb21wb3NpdG9yQ29tbWl0KCk7CisgICAgaW5qZWN0
SW5wdXQoKTsKKyAgICBhd2FpdCB3YWl0Rm9yKCgpPT4geyByZXR1cm4gdG91Y2hfbW92ZV9hcnJp
dmVkOyB9KTsKKyAgICBhc3NlcnRfZmFsc2UoY2FuY2VsYWJsZSk7CisgIH0sICJUb3VjaG1vdmUg
ZXZlbnRzIGFyZSBub24tY2FuY2VsYWJsZSBzaW5jZSB0aGUgZXZlbnQgbGlzdGVuZXIgaXMgdHJl
YXRlZCBhcyBwYXNzaXZlLiIpOworfQorPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZ2xvYmFsLWV4dHJh
LndpbmRvdy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2V2ZW50LWdsb2JhbC1leHRyYS53aW5k
b3ctZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9ldmVudC1nbG9iYWwtZXh0cmEud2luZG93
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKKworRkFJTCB3aW5k
b3cuZXZlbnQgZm9yIGNvbnN0cnVjdG9ycyBmcm9tIGFub3RoZXIgZ2xvYmFsOiBFdmVudFRhcmdl
dCBmdW5jdGlvbiBpcyBub3QgYSBjb25zdHJ1Y3RvciAoZXZhbHVhdGluZyAnbmV3IG90aGVyV2lu
ZG93W2NvbnN0cnVjdG9yTmFtZV0oKScpCitGQUlMIHdpbmRvdy5ldmVudCBmb3IgY29uc3RydWN0
b3JzIGZyb20gYW5vdGhlciBnbG9iYWw6IFhNTEh0dHBSZXF1ZXN0IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChvYmplY3QpIG9iamVjdCAiW29i
amVjdCBFdmVudF0iCitQQVNTIHdpbmRvdy5ldmVudCBhbmQgZWxlbWVudCBmcm9tIGFub3RoZXIg
ZG9jdW1lbnQgCitGQUlMIHdpbmRvdy5ldmVudCBhbmQgbW92aW5nIGFuIGVsZW1lbnQgcG9zdC1k
aXNwYXRjaCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBvYmplY3QgIltvYmplY3Qg
RXZlbnRdIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorRkFJTCB3aW5kb3cuZXZlbnQg
c2hvdWxkIG5vdCBiZSBhZmZlY3RlZCBieSBub2RlcyBtb3ZpbmcgcG9zdC1kaXNwYXRjaCBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAodW5kZWZpbmVkKSB1bmRlZmluZWQgYnV0IGdvdCAob2JqZWN0
KSBvYmplY3QgIltvYmplY3QgRXZlbnRdIgorRkFJTCBMaXN0ZW5lciBmcm9tIGEgZGlmZmVyZW50
IGdsb2JhbCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBvYmplY3QgIltvYmplY3Qg
RXZlbnRdIiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZ2xvYmFs
LWV4dHJhLndpbmRvdy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9ldmVudC1nbG9iYWwtZXh0cmEud2luZG93
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2V2ZW50LWdsb2JhbC1leHRyYS53aW5kb3cuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3Ig
V2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZ2xvYmFsLWV4dHJhLndpbmRv
dy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZ2xvYmFsLWV4dHJhLndpbmRvdy5qcwkocmV2aXNpb24g
MjQ4NDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL2V2ZW50LWdsb2JhbC1leHRyYS53aW5kb3cuanMJKHdvcmtpbmcgY29weSkKQEAg
LTU2LDE2ICs1NiwxNiBAQCB0ZXN0KHQgPT4gewogICAgIGFzc2VydF9lcXVhbHMoY291bnRlcisr
LCAzKTsKICAgfSkpOwogICBjaGlsZC5hZGRFdmVudExpc3RlbmVyKCJoaSIsIHQuc3RlcF9mdW5j
KGUgPT4gewotICAgIGFzc2VydF9lcXVhbHMod2luZG93LmV2ZW50LCBlKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKHdpbmRvdy5ldmVudCwgdW5kZWZpbmVkKTsKICAgICBhc3NlcnRfZXF1YWxzKGNvdW50
ZXIrKywgMik7CiAgIH0pKTsKICAgZnVydGhlckNoaWxkLmFkZEV2ZW50TGlzdGVuZXIoImhpIiwg
dC5zdGVwX2Z1bmMoZSA9PiB7CiAgICAgaG9zdC5hcHBlbmRDaGlsZChjaGlsZCk7Ci0gICAgYXNz
ZXJ0X2VxdWFscyh3aW5kb3cuZXZlbnQsIGUpOworICAgIGFzc2VydF9lcXVhbHMod2luZG93LmV2
ZW50LCB1bmRlZmluZWQpOwogICAgIGFzc2VydF9lcXVhbHMoY291bnRlcisrLCAwKTsKICAgfSkp
OwogICBmdXJ0aGVyQ2hpbGQuYWRkRXZlbnRMaXN0ZW5lcigiaGkiLCB0LnN0ZXBfZnVuYyhlID0+
IHsKLSAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5ldmVudCwgZSk7CisgICAgYXNzZXJ0X2VxdWFs
cyh3aW5kb3cuZXZlbnQsIHVuZGVmaW5lZCk7CiAgICAgYXNzZXJ0X2VxdWFscyhjb3VudGVyKyss
IDEpOwogICB9KSk7CiAgIGZ1cnRoZXJDaGlsZC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgiaGki
LCB7IGNvbXBvc2VkOiB0cnVlLCBidWJibGVzOiB0cnVlIH0pKTsKQEAgLTc1LDcgKzc1LDcgQEAg
dGVzdCh0ID0+IHsKIGFzeW5jX3Rlc3QodCA9PiB7CiAgIGNvbnN0IGZyYW1lID0gZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKSk7CiAgIGZy
YW1lLnNyYyA9ICJyZXNvdXJjZXMvZXZlbnQtZ2xvYmFsLWV4dHJhLWZyYW1lLmh0bWwiOwotICBm
cmFtZS5vbmxvYWQgPSB0LnN0ZXBfZnVuY19kb25lKCgpID0+IHsKKyAgZnJhbWUub25sb2FkID0g
dC5zdGVwX2Z1bmNfZG9uZSgobG9hZF9ldmVudCkgPT4gewogICAgIGNvbnN0IGV2ZW50ID0gbmV3
IEV2ZW50KCJoaSIpOwogICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImhpIiwgZnJhbWUu
Y29udGVudFdpbmRvdy5saXN0ZW5lcik7IC8vIGxpc3RlbmVyIGludGVudGlvbmFsbHkgbm90IHdy
YXBwZWQgaW4gdC5zdGVwX2Z1bmMKICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJoaSIs
IHQuc3RlcF9mdW5jKGUgPT4gewpAQCAtODUsNiArODUsNiBAQCBhc3luY190ZXN0KHQgPT4gewog
ICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoZXZlbnQpOwogICAgIGFzc2VydF9lcXVhbHMoZnJh
bWVTdGF0ZS5ldmVudCwgZXZlbnQpOwogICAgIGFzc2VydF9lcXVhbHMoZnJhbWVTdGF0ZS53aW5k
b3dFdmVudCwgZXZlbnQpOwotICAgIGFzc2VydF9lcXVhbHMoZnJhbWVTdGF0ZS5wYXJlbnRFdmVu
dCwgdW5kZWZpbmVkKTsKKyAgICBhc3NlcnRfZXF1YWxzKGZyYW1lU3RhdGUucGFyZW50RXZlbnQs
IGxvYWRfZXZlbnQpOwogICB9KTsKIH0sICJMaXN0ZW5lciBmcm9tIGEgZGlmZmVyZW50IGdsb2Jh
bCIpOwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL2xlZ2FjeS1wcmUtYWN0aXZhdGlvbi1iZWhhdmlvci53aW5kb3ctZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9sZWdhY3ktcHJlLWFjdGl2YXRpb24tYmVoYXZpb3Iud2luZG93LWV4
cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvbGVnYWN5LXByZS1hY3RpdmF0aW9uLWJlaGF2aW9y
LndpbmRvdy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BB
U1MgVXNlIE5PTkUgcGhhc2UgZHVyaW5nIGxlZ2FjeS1wcmUtYWN0aXZhdGlvbiBiZWhhdmlvciAK
KwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
ZXZlbnRzL2xlZ2FjeS1wcmUtYWN0aXZhdGlvbi1iZWhhdmlvci53aW5kb3cuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvbGVnYWN5LXByZS1hY3RpdmF0aW9uLWJlaGF2aW9yLndpbmRvdy5odG1sCShub25leGlz
dGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9sZWdhY3ktcHJlLWFjdGl2YXRpb24tYmVoYXZpb3Iud2luZG93Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdl
YktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVtcGxhdGVkIHRlc3QgLS0+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2xlZ2FjeS1wcmUtYWN0aXZhdGlvbi1iZWhh
dmlvci53aW5kb3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2xlZ2FjeS1wcmUtYWN0aXZhdGlvbi1iZWhhdmlv
ci53aW5kb3cuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2xlZ2FjeS1wcmUtYWN0aXZhdGlvbi1iZWhhdmlv
ci53aW5kb3cuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMCBAQAordGVzdCh0ID0+IHsK
KyAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2lucHV0JykpOworICBpbnB1dC50eXBlID0gInJhZGlvIjsKKyAgdC5hZGRfY2xl
YW51cCgoKSA9PiBpbnB1dC5yZW1vdmUoKSk7CisgIGNvbnN0IGNsaWNrRXZlbnQgPSBuZXcgTW91
c2VFdmVudCgnY2xpY2snLCB7IGJ1dHRvbjogMCwgd2hpY2g6IDEgfSk7CisgIGlucHV0LmFkZEV2
ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHQuc3RlcF9mdW5jKCgpID0+IHsKKyAgICBhc3NlcnRfZXF1
YWxzKGNsaWNrRXZlbnQuZXZlbnRQaGFzZSwgRXZlbnQuTk9ORSk7CisgIH0pKTsKKyAgaW5wdXQu
ZGlzcGF0Y2hFdmVudChjbGlja0V2ZW50KTsKK30sICJVc2UgTk9ORSBwaGFzZSBkdXJpbmcgbGVn
YWN5LXByZS1hY3RpdmF0aW9uIGJlaGF2aW9yIik7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvcmVsYXRlZFRhcmdldC53aW5kb3ct
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9yZWxhdGVkVGFyZ2V0LndpbmRvdy1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL3JlbGF0ZWRUYXJnZXQud2luZG93LWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDggQEAKKworRkFJTCBSZXNldCBpZiB0YXJnZXQgcG9pbnRl
ZCB0byBhIHNoYWRvdyB0cmVlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBE
b2N1bWVudEZyYWdtZW50IG5vZGUgd2l0aCAxIGNoaWxkCitGQUlMIFJldGFyZ2V0IGEgc2hhZG93
LXRyZWUgcmVsYXRlZFRhcmdldCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUg
PGRpdj48cD48L3A+PC9kaXY+IGJ1dCBnb3QgRG9jdW1lbnRGcmFnbWVudCBub2RlIHdpdGggMSBj
aGlsZAorRkFJTCBSZXNldCBpZiB0YXJnZXQgcG9pbnRlZCB0byBhIHNoYWRvdyB0cmVlIHByZS1k
aXNwYXRjaCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2Rl
IDxkaXY+PC9kaXY+CitQQVNTIFJldGFyZ2V0IGEgc2hhZG93LXRyZWUgcmVsYXRlZFRhcmdldCwg
cGFydCAyIAorRkFJTCBSZXNldCB0YXJnZXRzIG9uIGVhcmx5IHJldHVybiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxkaXY+PHA+PC9wPjwvZGl2Pgor
RkFJTCBSZXNldCB0YXJnZXRzIGJlZm9yZSBhY3RpdmF0aW9uIGJlaGF2aW9yIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUgPGlucHV0IHR5cGU9ImNoZWNr
Ym94Ij48L2lucHV0PgorCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvcmVsYXRlZFRhcmdldC53aW5kb3cuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvcmVsYXRlZFRhcmdldC53aW5kb3cuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvcmVsYXRlZFRhcmdl
dC53aW5kb3cuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmls
ZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0
ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2hhZG93
LXJlbGF0ZWRUYXJnZXQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zaGFkb3ctcmVsYXRlZFRh
cmdldC1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3NoYWRvdy1yZWxhdGVkVGFyZ2V0LWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUgQEAKKworCitGQUlMIHJlbGF0
ZWRUYXJnZXQgc2hvdWxkIG5vdCBsZWFrIGF0IGNhcHR1cmluZyBwaGFzZSwgYXQgd2luZG93IG9i
amVjdC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBub2RlIDxkaXYgaWQ9Imhvc3Qi
PjwvZGl2PiBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5wdXQgaWQ9InNoYWRvd0lucHV0Ij48L2lu
cHV0PgorUEFTUyByZWxhdGVkVGFyZ2V0IHNob3VsZCBub3QgbGVhayBhdCB0YXJnZXQuIAorCklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvc2hhZG93LXJlbGF0ZWRUYXJnZXQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2hhZG93LXJlbGF0ZWRU
YXJnZXQuaHRtbAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvc2hhZG93LXJlbGF0ZWRUYXJnZXQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzwhLS0KKyAgVGhpcyB0ZXN0
IGlzIGFkb3B0ZWQgZnJvbSBPbGxpIFBldHRheSdzIHRlc3QgY2FzZSBhdAorICBodHRwOi8vbW96
aWxsYS5wZXR0YXkuZmkvc2hhZG93X2ZvY3VzLmh0bWwKKy0tPgorPGRpdiBpZD0iaG9zdCI+PC9k
aXY+Cis8aW5wdXQgaWQ9ImxpZ2h0SW5wdXQiPgorPHNjcmlwdD4KK2NvbnN0IHJvb3QgPSBob3N0
LmF0dGFjaFNoYWRvdyh7IG1vZGU6ICJjbG9zZWQiIH0pOworcm9vdC5pbm5lckhUTUwgPSAiPGlu
cHV0IGlkPSdzaGFkb3dJbnB1dCc+IjsKKworYXN5bmNfdGVzdCgodGVzdCkgPT4geworICByb290
LmdldEVsZW1lbnRCeUlkKCJzaGFkb3dJbnB1dCIpLmZvY3VzKCk7CisgIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCJmb2N1cyIsIHRlc3Quc3RlcF9mdW5jX2RvbmUoKGUpID0+IHsKKyAgICBhc3Nl
cnRfZXF1YWxzKGUucmVsYXRlZFRhcmdldCwgaG9zdCk7CisgIH0sICJyZWxhdGVkVGFyZ2V0IHNo
b3VsZCBiZSBwb2ludGluZyB0byBzaGFkb3cgaG9zdC4iKSwgdHJ1ZSk7CisgIGxpZ2h0SW5wdXQu
Zm9jdXMoKTsKK30sICJyZWxhdGVkVGFyZ2V0IHNob3VsZCBub3QgbGVhayBhdCBjYXB0dXJpbmcg
cGhhc2UsIGF0IHdpbmRvdyBvYmplY3QuIik7CisKK2FzeW5jX3Rlc3QoKHRlc3QpID0+IHsKKyAg
cm9vdC5nZXRFbGVtZW50QnlJZCgic2hhZG93SW5wdXQiKS5mb2N1cygpOworICBsaWdodElucHV0
LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwgdGVzdC5zdGVwX2Z1bmNfZG9uZSgoZSkgPT4gewor
ICAgIGFzc2VydF9lcXVhbHMoZS5yZWxhdGVkVGFyZ2V0LCBob3N0KTsKKyAgfSwgInJlbGF0ZWRU
YXJnZXQgc2hvdWxkIGJlIHBvaW50aW5nIHRvIHNoYWRvdyBob3N0LiIpLCB0cnVlKTsKKyAgbGln
aHRJbnB1dC5mb2N1cygpOworfSwgInJlbGF0ZWRUYXJnZXQgc2hvdWxkIG5vdCBsZWFrIGF0IHRh
cmdldC4iKTsKKworPC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvdzNjLWltcG9ydC5sb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3cz
Yy1pbXBvcnQubG9nCShyZXZpc2lvbiAyNDg0NDUpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvdzNjLWltcG9ydC5sb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTI4LDkgKzI4LDExIEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLWNs
aWNrLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtZGV0YWNoZWQtY2xpY2suaHRtbAogL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRj
aC1oYW5kbGVycy1jaGFuZ2VkLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtbGlzdGVuZXItb3JkZXIud2lu
ZG93LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
ZXZlbnRzL0V2ZW50LWRpc3BhdGNoLW11bHRpcGxlLWNhbmNlbEJ1YmJsZS5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRp
c3BhdGNoLW11bHRpcGxlLXN0b3BQcm9wYWdhdGlvbi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLW9taXR0
ZWQtY2FwdHVyZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLW9uLWRpc2FibGVkLWVsZW1lbnRzLmh0bWwK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
RXZlbnQtZGlzcGF0Y2gtb3JkZXIuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1vdGhlci1kb2N1bWVudC5o
dG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL0V2ZW50LWRpc3BhdGNoLXByb3BhZ2F0aW9uLXN0b3BwZWQuaHRtbApAQCAtNDEsNiArNDMs
NyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC10aHJvd2luZy5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWlu
aXQtd2hpbGUtZGlzcGF0Y2hpbmcuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1pbml0RXZlbnQuaHRtbAorL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1pc1Ry
dXN0ZWQuYW55LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vZXZlbnRzL0V2ZW50LXByb3BhZ2F0aW9uLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtcmV0dXJuVmFsdWUuaHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9FdmVudC1zdWJjbGFzc2VzLWNvbnN0cnVjdG9ycy5odG1sCkBAIC00OCw2ICs1MSw3IEBAIExp
c3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vZXZlbnRzL0V2ZW50LXRpbWVzdGFtcC1zYWZlLXJlc29sdXRpb24uaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC10
eXBlLWVtcHR5Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvRXZlbnQtdHlwZS5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50TGlzdGVuZXItYWRkRXZlbnRMaXN0
ZW5lci5zdWIud2luZG93LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50TGlzdGVuZXItaGFuZGxlRXZlbnQuaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudExp
c3RlbmVyLWluY3VtYmVudC1nbG9iYWwtMS5zdWIuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudExpc3RlbmVyLWluY3VtYmVu
dC1nbG9iYWwtMi5zdWIuaHRtbApAQCAtNjEsOCArNjUsMTEgQEAgTGlzdCBvZiBmaWxlczoKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZl
bnRUYXJnZXQtZGlzcGF0Y2hFdmVudC1yZXR1cm52YWx1ZS5odG1sCiAvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWRpc3Bh
dGNoRXZlbnQuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1yZW1vdmVFdmVudExpc3RlbmVyLmh0bWwKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZG9jdW1l
bnQtbGV2ZWwtdG91Y2htb3ZlLWV2ZW50LWxpc3RlbmVyLXBhc3NpdmUtYnktZGVmYXVsdC5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L2V2ZW50LWRpc2FibGVkLWR5bmFtaWMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9ldmVudC1nbG9iYWwtZXh0cmEud2luZG93Lmpz
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L2V2ZW50LWdsb2JhbC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL2V2ZW50LWdsb2JhbC53b3JrZXIuanMKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvbGVnYWN5LXByZS1hY3Rp
dmF0aW9uLWJlaGF2aW9yLndpbmRvdy5qcwogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9yZWxhdGVkVGFyZ2V0LndpbmRvdy5qcworL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zaGFkb3ct
cmVsYXRlZFRhcmdldC5odG1sCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWRpc3BhdGNo
RXZlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQt
ZGlzcGF0Y2hFdmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODQ0NSkKKysrIExheW91dFRl
c3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvRXZlbnRUYXJnZXQtZGlzcGF0Y2hFdmVudC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTI1LDUgKzI1LDUgQEAgUEFTUyBJZiB0aGUgZXZlbnQncyBpbml0aWFsaXplZCBmbGFnIGlz
IAogUEFTUyBJZiB0aGUgZXZlbnQncyBkaXNwYXRjaCBmbGFnIGlzIHNldCwgYW4gSW52YWxpZFN0
YXRlRXJyb3IgbXVzdCBiZSB0aHJvd24uIAogUEFTUyBFeGNlcHRpb25zIGZyb20gZXZlbnQgbGlz
dGVuZXJzIG11c3Qgbm90IGJlIHByb3BhZ2F0ZWQuIAogUEFTUyBFdmVudCBsaXN0ZW5lcnMgYWRk
ZWQgZHVyaW5nIGRpc3BhdGNoIHNob3VsZCBiZSBjYWxsZWQgCi1GQUlMIEV2ZW50IGxpc3RlbmVy
cyBzaG91bGQgYmUgY2FsbGVkIGluIG9yZGVyIG9mIGFkZGl0aW9uIGFzc2VydF9hcnJheV9lcXVh
bHM6IHByb3BlcnR5IDEsIGV4cGVjdGVkIDIgYnV0IGdvdCAzCitQQVNTIENhcHR1cmluZyBldmVu
dCBsaXN0ZW5lcnMgc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgbm9uLWNhcHR1cmluZyBvbmVzIAog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375974</attachid>
            <date>2019-08-09 16:03:12 -0700</date>
            <delta_ts>2019-08-13 17:29:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200592-20190810020310.patch</filename>
            <type>text/plain</type>
            <size>51712</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDI0ODQ0NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE5LTA4LTA5ICBBbGV4ZXkgU2h2YXlrYSAg
PHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBSZS1zeW5jIHdlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzIGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMDU5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlLXN5bmMgd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMgZnJvbSB1cHN0cmVhbSAxZTZmZWYwOWVhZTMuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
RXZlbnRUYXJnZXQtZGlzcGF0Y2hFdmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogdGVzdHMt
b3B0aW9ucy5qc29uOgorCiAyMDE5LTA4LTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW5hbWUgYHF1ZXJ5T2JqZWN0c2AgdG8g
YHF1ZXJ5SW5zdGFuY2VzYCBmb3IgY2xhcml0eQpJbmRleDogTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCShyZXZp
c2lvbiAyNDg0NDUpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCSh3b3JraW5nIGNv
cHkpCkBAIC02NTQsNiArNjU0LDcgQEAgZmFzdC93ZWItc2hhcmUgWyBTa2lwIF0KIGZhc3QvYW5p
bWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWluLXR3by1wYWdlcy5odG1sIFsgU2tpcCBd
CiAKICMgT25seSBzdXBwb3J0ZWQgb24gaU9TCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvZG9jdW1lbnQtbGV2ZWwtdG91Y2htb3ZlLWV2ZW50LWxpc3RlbmVyLXBh
c3NpdmUtYnktZGVmYXVsdC5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3BvaW50ZXJldmVudHMgWyBTa2lwIF0KIHBvaW50ZXJldmVudHMgWyBTa2lwIF0KIApJ
bmRleDogTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgkocmV2aXNpb24gMjQ4NDQ1KQorKysgTGF5b3V0VGVz
dHMvdGVzdHMtb3B0aW9ucy5qc29uCSh3b3JraW5nIGNvcHkpCkBAIC00OTEsNiArNDkxLDkgQEAK
ICAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3Jv
bGwtYmVoYXZpb3Itc3ViZnJhbWUtd2luZG93Lmh0bWwiOiBbCiAgICAgICAgICJzbG93IgogICAg
IF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVu
dC1kaXNwYXRjaC1vbi1kaXNhYmxlZC1lbGVtZW50cy5odG1sIjogWworICAgICAgICAic2xvdyIK
KyAgICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9E
b2N1bWVudC1jaGFyYWN0ZXJTZXQtbm9ybWFsaXphdGlvbi5odG1sIjogWwogICAgICAgICAic2xv
dyIKICAgICBdLApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCShyZXZpc2lvbiAy
NDg0ODUpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDgtMDkgIEFsZXhleSBTaHZheWthICA8c2h2YWlr
YWxlc2hAZ21haWwuY29tPgorCisgICAgICAgIFJlLXN5bmMgd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMgZnJvbSB1cHN0cmVhbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAwNTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cyBmcm9t
IHVwc3RyZWFtIDFlNmZlZjA5ZWFlMy4KKworICAgICAgICAqIHJlc291cmNlcy9pbXBvcnQtZXhw
ZWN0YXRpb25zLmpzb246CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
KjogVXBkYXRlZC4KKwogMjAxOS0wOC0wOCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIEltcG9ydCBsYXp5IGxvYWRpbmcgV1BUIHRlc3RzCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3RhdGlvbnMuanNvbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL2ltcG9ydC1leHBlY3Rh
dGlvbnMuanNvbgkocmV2aXNpb24gMjQ4NDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0YXRpb25zLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTky
LDYgKzkyLDggQEAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cyI6ICJp
bXBvcnQiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy92MCI6ICJz
a2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9kb20iOiAiaW1wb3J0IiwgCisgICAgIndl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzIjogImltcG9ydCIsIAorICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9zY3JvbGxpbmciOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtbmFtZXNwYWNlLXRlc3Rz
L2VtcHR5Lmh0bWwiOiAic2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVz
L0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQtbmFtZXNwYWNlLXRlc3RzL2VtcHR5LnN2ZyI6ICJza2lw
IiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvRG9jdW1lbnQtY3JlYXRlRWxl
bWVudC1uYW1lc3BhY2UtdGVzdHMvZW1wdHkueGh0bWwiOiAic2tpcCIsIApJbmRleDogTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRl
ZmF1bHRQcmV2ZW50ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGVmYXVsdFByZXZlbnRlZC5o
dG1sCShyZXZpc2lvbiAyNDg0NDUpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGVmYXVsdFByZXZlbnRlZC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCw2ICs0MCw3IEBAIHRlc3QoZnVuY3Rpb24oKSB7CiAgIGFzc2VydF9l
cXVhbHMoZXYuZGVmYXVsdFByZXZlbnRlZCwgdHJ1ZSwgImRlZmF1bHRQcmV2ZW50ZWQiKTsKIH0s
ICJwcmV2ZW50RGVmYXVsdCgpIHNob3VsZCBjaGFuZ2UgZGVmYXVsdFByZXZlbnRlZCBpZiBjYW5j
ZWxhYmxlIGlzIHRydWUuIik7CiB0ZXN0KGZ1bmN0aW9uKCkgeworICBldi5pbml0RXZlbnQoImZv
byIsIHRydWUsIHRydWUpOwogICBhc3NlcnRfZXF1YWxzKGV2LmNhbmNlbGFibGUsIHRydWUsICJj
YW5jZWxhYmxlIChiZWZvcmUpIik7CiAgIGV2LnJldHVyblZhbHVlID0gZmFsc2U7CiAgIGFzc2Vy
dF9lcXVhbHMoZXYuY2FuY2VsYWJsZSwgdHJ1ZSwgImNhbmNlbGFibGUgKGFmdGVyKSIpOwpJbmRl
eDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L0V2ZW50LWRpc3BhdGNoLWNsaWNrLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLWNs
aWNrLmh0bWwJKHJldmlzaW9uIDI0ODQ0NSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1jbGljay5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC03NCwxNyArNzQsMTcgQEAgYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7
CiAgIHQuZG9uZSgpCiB9LCAicGljayB0aGUgZmlyc3Qgd2l0aCBhY3RpdmF0aW9uIGJlaGF2aW9y
IDxpbnB1dCB0eXBlPWNoZWNrYm94PiIpCiAKLXZhciBnbG9iYWxDb3VudGVyID0gMCAvLyBzb3Jy
eQogYXN5bmNfdGVzdChmdW5jdGlvbih0KSB7IC8vIGFzIGFib3ZlIHdpdGggPGE+Ci0gIHZhciBp
ID0gMAorICB3aW5kb3cuaHJlZkNvbXBsZXRlID0gdC5zdGVwX2Z1bmMoZnVuY3Rpb24oYSkgewor
ICAgIGFzc2VydF9lcXVhbHMoYSwgJ2NoaWxkJyk7CisgICAgdC5kb25lKCk7CisgIH0pOwogICB2
YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKQotICBsaW5rLmhyZWYgPSAiamF2
YXNjcmlwdDooZnVuY3Rpb24oKXtnbG9iYWxDb3VudGVyLS19KSgpIiAvLyBtdXN0IG5vdCBiZSB0
cmlnZ2VyZWQKKyAgbGluay5ocmVmID0gImphdmFzY3JpcHQ6aHJlZkNvbXBsZXRlKCdsaW5rJyki
IC8vIG11c3Qgbm90IGJlIHRyaWdnZXJlZAogICBkdW1wLmFwcGVuZENoaWxkKGxpbmspCiAgIHZh
ciBjaGlsZCA9IGxpbmsuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpKQot
ICBjaGlsZC5ocmVmID0gImphdmFzY3JpcHQ6KGZ1bmN0aW9uKCl7Z2xvYmFsQ291bnRlcisrfSko
KSIKKyAgY2hpbGQuaHJlZiA9ICJqYXZhc2NyaXB0OmhyZWZDb21wbGV0ZSgnY2hpbGQnKSIKICAg
Y2hpbGQuZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVudCgiY2xpY2siLCB7YnViYmxlczp0cnVl
fSkpCi0gIGFzc2VydF9lcXVhbHMoZ2xvYmFsQ291bnRlciwgMSkKLSAgdC5kb25lKCkKIH0sICJw
aWNrIHRoZSBmaXJzdCB3aXRoIGFjdGl2YXRpb24gYmVoYXZpb3IgPGEgaHJlZj4iKQogCiBhc3lu
Y190ZXN0KGZ1bmN0aW9uKHQpIHsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1oYW5kbGVycy1jaGFuZ2Vk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtaGFuZGxlcnMtY2hhbmdl
ZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODQ0NSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1oYW5kbGVy
cy1jaGFuZ2VkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMgQEAKIAot
RkFJTCAgRGlzcGF0Y2ggYWRkaXRpb25hbCBldmVudHMgaW5zaWRlIGFuIGV2ZW50IGxpc3RlbmVy
ICBhc3NlcnRfYXJyYXlfZXF1YWxzOiBhY3R1YWxfdGFyZ2V0cyBsZW5ndGhzIGRpZmZlciwgZXhw
ZWN0ZWQgMTYgZ290IDE3CitQQVNTICBEaXNwYXRjaCBhZGRpdGlvbmFsIGV2ZW50cyBpbnNpZGUg
YW4gZXZlbnQgbGlzdGVuZXIgIAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtaGFuZGxlcnMtY2hhbmdl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1oYW5kbGVycy1jaGFuZ2VkLmh0bWwJ
KHJldmlzaW9uIDI0ODQ0NSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1oYW5kbGVycy1jaGFuZ2VkLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIDwvdGFibGU+CiAKIDxzY3JpcHQ+Ci1h
c3luY190ZXN0KGZ1bmN0aW9uKCkgewordGVzdChmdW5jdGlvbigpIHsKICAgdmFyIGV2ZW50X3R5
cGUgPSAiYmFyIjsKICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJn
ZXQiKTsKICAgdmFyIHBhcmVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQiKTsK
QEAgLTM5LDYgKzM5LDcgQEAgYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKICAgICBwYXJlbnQsCiAg
ICAgdGFyZ2V0LAogICAgIHRhcmdldCwKKyAgICB0YXJnZXQsIC8vIFRoZSBhZGRpdGlvbmFsIGxp
c3RlbmVyIGZvciB0YXJnZXQgcnVucyBhcyB3ZSBjb3B5IGl0cyBsaXN0ZW5lcnMgdHdpY2UKICAg
ICBwYXJlbnQsCiAgICAgdGJvZHksCiAgICAgdGFibGUsCkBAIC00Nyw3ICs0OCw3IEBAIGFzeW5j
X3Rlc3QoZnVuY3Rpb24oKSB7CiAgICAgZG9jdW1lbnQsCiAgICAgd2luZG93CiAgIF07Ci0gIHZh
ciBleHBlY3RlZF9saXN0ZW5lcnMgPSBbMCwwLDAsMCwwLDAsMCwwLDEsMSwxLDEsMSwxLDEsMV07
CisgIHZhciBleHBlY3RlZF9saXN0ZW5lcnMgPSBbMCwwLDAsMCwwLDAsMCwwLDEsMywxLDEsMSwx
LDEsMSwxXTsKIAogICB2YXIgYWN0dWFsX3RhcmdldHMgPSBbXSwgYWN0dWFsX2xpc3RlbmVycyA9
IFtdOwogICB2YXIgdGVzdF9ldmVudF9mdW5jdGlvbiA9IGZ1bmN0aW9uKGkpIHsKQEAgLTg2LDcg
Kzg3LDUgQEAgYXN5bmNfdGVzdChmdW5jdGlvbigpIHsKIAogICBhc3NlcnRfYXJyYXlfZXF1YWxz
KGFjdHVhbF90YXJnZXRzLCBleHBlY3RlZF90YXJnZXRzLCAiYWN0dWFsX3RhcmdldHMiKTsKICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhhY3R1YWxfbGlzdGVuZXJzLCBleHBlY3RlZF9saXN0ZW5lcnMs
ICJhY3R1YWxfbGlzdGVuZXJzIik7Ci0KLSAgdGhpcy5kb25lKCk7CiB9KTsKIDwvc2NyaXB0PgpJ
bmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL0V2ZW50LWRpc3BhdGNoLWxpc3RlbmVyLW9yZGVyLndpbmRvdy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLWxpc3RlbmVyLW9yZGVyLndpbmRvdy1leHBlY3RlZC50
eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLWxpc3RlbmVyLW9yZGVyLndpbmRvdy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgVW50aXRs
ZWQgCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1saXN0ZW5lci1vcmRlci53aW5kb3cuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtbGlzdGVuZXItb3JkZXIud2luZG93Lmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLWxpc3RlbmVyLW9yZGVyLndpbmRvdy5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBX
ZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1saXN0ZW5lci1v
cmRlci53aW5kb3cuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLWxpc3RlbmVyLW9yZGVy
LndpbmRvdy5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtbGlzdGVuZXItb3JkZXIu
d2luZG93LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKK3Rlc3QodCA9PiB7Cisg
IGNvbnN0IGhvc3RQYXJlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzZWN0aW9uIiksCisg
ICAgICAgIGhvc3QgPSBob3N0UGFyZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpKSwKKyAgICAgICAgc2hhZG93Um9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHsgbW9k
ZTogImNsb3NlZCIgfSksCisgICAgICAgIHRhcmdldFBhcmVudCA9IHNoYWRvd1Jvb3QuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpKSwKKyAgICAgICAgdGFyZ2V0ID0gdGFy
Z2V0UGFyZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSksCisg
ICAgICAgIHBhdGggPSBbaG9zdFBhcmVudCwgaG9zdCwgc2hhZG93Um9vdCwgdGFyZ2V0UGFyZW50
LCB0YXJnZXRdLAorICAgICAgICBleHBlY3RlZCA9IFtdLAorICAgICAgICByZXN1bHQgPSBbXTsK
KyAgcGF0aC5mb3JFYWNoKChub2RlLCBpbmRleCkgPT4geworICAgIGV4cGVjdGVkLnNwbGljZShp
bmRleCwgMCwgImNhcHR1cmluZyAiICsgbm9kZS5ub2RlTmFtZSk7CisgICAgZXhwZWN0ZWQuc3Bs
aWNlKGluZGV4ICsgMSwgMCwgImJ1YmJsaW5nICIgKyBub2RlLm5vZGVOYW1lKTsKKyAgfSk7Cisg
IHBhdGguZm9yRWFjaChub2RlID0+IHsKKyAgICBub2RlLmFkZEV2ZW50TGlzdGVuZXIoInRlc3Qi
LCAoKSA9PiB7IHJlc3VsdC5wdXNoKCJidWJibGluZyAiICsgbm9kZS5ub2RlTmFtZSkgfSk7Cisg
ICAgbm9kZS5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IiwgKCkgPT4geyByZXN1bHQucHVzaCgiY2Fw
dHVyaW5nICIgKyBub2RlLm5vZGVOYW1lKSB9LCB0cnVlKTsKKyAgfSk7CisgIHRhcmdldC5kaXNw
YXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgndGVzdCcsIHsgZGV0YWlsOiB7fSwgYnViYmxlczog
dHJ1ZSwgY29tcG9zZWQ6IHRydWUgfSkpOworICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJlc3VsdCwg
ZXhwZWN0ZWQpOworfSk7CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtb24tZGlzYWJsZWQtZWxlbWVudHMt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1vbi1kaXNhYmxlZC1lbGVt
ZW50cy1leHBlY3RlZC50eHQJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLW9uLWRpc2Fi
bGVkLWVsZW1lbnRzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDE0IEBA
CisgCisKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBtZXNzYWdlID0gbnVsbAorCitQQVNTIENh
biBkaXNwYXRjaCB1bnRydXN0ZWQgJ2NsaWNrJyBFdmVudHMgYXQgZGlzYWJsZWQgSFRNTCBlbGVt
ZW50cy4gCitQQVNTIENhbiBkaXNwYXRjaCB1bnRydXN0ZWQgRXZlbnRzIGF0IGRpc2FibGVkIEhU
TUwgZWxlbWVudHMuIAorUEFTUyBDYW4gZGlzcGF0Y2ggQ3VzdG9tRXZlbnRzIGF0IGRpc2FibGVk
IEhUTUwgZWxlbWVudHMuIAorUEFTUyBDYWxsaW5nIGNsaWNrKCkgb24gZGlzYWJsZWQgZWxlbWVu
dHMgbXVzdCBub3QgZGlzcGF0Y2ggZXZlbnRzLiAKK1BBU1MgQ1NTIFRyYW5zaXRpb25zIHRyYW5z
aXRpb25ydW4sIHRyYW5zaXRpb25zdGFydCwgdHJhbnNpdGlvbmVuZCBldmVudHMgZmlyZSBvbiBk
aXNhYmxlZCBmb3JtIGVsZW1lbnRzIAorUEFTUyBDU1MgVHJhbnNpdGlvbnMgdHJhbnNpdGlvbmNh
bmNlbCBldmVudCBmaXJlcyBvbiBkaXNhYmxlZCBmb3JtIGVsZW1lbnRzIAorVElNRU9VVCBDU1Mg
QW5pbWF0aW9uIGFuaW1hdGlvbnN0YXJ0LCBhbmltYXRpb25pdGVyYXRpb24sIGFuaW1hdGlvbmVu
ZCBmaXJlIG9uIGRpc2FibGVkIGZvcm0gZWxlbWVudHMgVGVzdCB0aW1lZCBvdXQKK05PVFJVTiBD
U1MgQW5pbWF0aW9uJ3MgYW5pbWF0aW9uY2FuY2VsIGV2ZW50IGZpcmVzIG9uIGRpc2FibGVkIGZv
cm0gZWxlbWVudHMgCitOT1RSVU4gUmVhbCBjbGlja3Mgb24gZGlzYWJsZWQgZWxlbWVudHMgbXVz
dCBub3QgZGlzcGF0Y2ggZXZlbnRzLiAKKwpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLW9uLWRpc2FibGVk
LWVsZW1lbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLW9uLWRpc2FibGVkLWVs
ZW1lbnRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLW9uLWRpc2FibGVkLWVs
ZW1lbnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyNTEgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPG1ldGEgY2hhcnNldD0idXRmOCI+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50
PSJsb25nIj4KKzx0aXRsZT5FdmVudHMgbXVzdCBkaXNwYXRjaCBvbiBkaXNhYmxlZCBlbGVtZW50
czwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0ZHJpdmVyLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKzxz
dHlsZT4KKyAgQGtleWZyYW1lcyBmYWRlIHsKKyAgICAwJSB7CisgICAgICBvcGFjaXR5OiAxOwor
ICAgIH0KKyAgICAxMDAlIHsKKyAgICAgIG9wYWNpdHk6IDA7CisgICAgfQorICB9Cis8L3N0eWxl
PgorPGJvZHk+Cis8c2NyaXB0PgorLy8gSFRNTCBlbGVtZW50cyB0aGF0IGNhbiBiZSBkaXNhYmxl
ZAorY29uc3QgZm9ybUVsZW1lbnRzID0gWyJidXR0b24iLCAiZmllbGRzZXQiLCAiaW5wdXQiLCAi
c2VsZWN0IiwgInRleHRhcmVhIl07CisKK3Rlc3QoKCkgPT4geworICBmb3IgKGNvbnN0IGxvY2Fs
TmFtZSBvZiBmb3JtRWxlbWVudHMpIHsKKyAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudChsb2NhbE5hbWUpOworICAgIGVsZW0uZGlzYWJsZWQgPSB0cnVlOworICAgIC8vIHBh
c3MgYmVjb21lcyB0cnVlIGlmIHRoZSBldmVudCBpcyBjYWxsZWQgYW5kIGl0J3MgdGhlIHJpZ2h0
IHR5cGUuCisgICAgbGV0IHBhc3MgPSBmYWxzZTsKKyAgICBjb25zdCBsaXN0ZW5lciA9ICh7IHR5
cGUgfSkgPT4geworICAgICAgcGFzcyA9IHR5cGUgPT09ICJjbGljayI7CisgICAgfTsKKyAgICBl
bGVtLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgbGlzdGVuZXIsIHsgb25jZTogdHJ1ZSB9KTsK
KyAgICBlbGVtLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJjbGljayIpKTsKKyAgICBhc3NlcnRf
dHJ1ZSgKKyAgICAgIHBhc3MsCisgICAgICBgVW50cnVzdGVkICJjbGljayIgRXZlbnQgZGlkbid0
IGRpc3BhdGNoIG9uICR7ZWxlbS5jb25zdHJ1Y3Rvci5uYW1lfS5gCisgICAgKTsKKyAgfQorfSwg
IkNhbiBkaXNwYXRjaCB1bnRydXN0ZWQgJ2NsaWNrJyBFdmVudHMgYXQgZGlzYWJsZWQgSFRNTCBl
bGVtZW50cy4iKTsKKwordGVzdCgoKSA9PiB7CisgIGZvciAoY29uc3QgbG9jYWxOYW1lIG9mIGZv
cm1FbGVtZW50cykgeworICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGxv
Y2FsTmFtZSk7CisgICAgZWxlbS5kaXNhYmxlZCA9IHRydWU7CisgICAgLy8gcGFzcyBiZWNvbWVz
IHRydWUgaWYgdGhlIGV2ZW50IGlzIGNhbGxlZCBhbmQgaXQncyB0aGUgcmlnaHQgdHlwZS4KKyAg
ICBsZXQgcGFzcyA9IGZhbHNlOworICAgIGNvbnN0IGxpc3RlbmVyID0gKHsgdHlwZSB9KSA9PiB7
CisgICAgICBwYXNzID0gdHlwZSA9PT0gInBhc3MiOworICAgIH07CisgICAgZWxlbS5hZGRFdmVu
dExpc3RlbmVyKCJwYXNzIiwgbGlzdGVuZXIsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICBlbGVtLmRp
c3BhdGNoRXZlbnQobmV3IEV2ZW50KCJwYXNzIikpOworICAgIGFzc2VydF90cnVlKAorICAgICAg
cGFzcywKKyAgICAgIGBVbnRydXN0ZWQgInBhc3MiIEV2ZW50IGRpZG4ndCBkaXNwYXRjaCBvbiAk
e2VsZW0uY29uc3RydWN0b3IubmFtZX1gCisgICAgKTsKKyAgfQorfSwgIkNhbiBkaXNwYXRjaCB1
bnRydXN0ZWQgRXZlbnRzIGF0IGRpc2FibGVkIEhUTUwgZWxlbWVudHMuIik7CisKK3Rlc3QoKCkg
PT4geworICBmb3IgKGNvbnN0IGxvY2FsTmFtZSBvZiBmb3JtRWxlbWVudHMpIHsKKyAgICBjb25z
dCBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChsb2NhbE5hbWUpOworICAgIGVsZW0uZGlz
YWJsZWQgPSB0cnVlOworICAgIC8vIHBhc3MgYmVjb21lcyB0cnVlIGlmIHRoZSBldmVudCBpcyBj
YWxsZWQgYW5kIGl0J3MgdGhlIHJpZ2h0IHR5cGUuCisgICAgbGV0IHBhc3MgPSBmYWxzZTsKKyAg
ICBjb25zdCBsaXN0ZW5lciA9ICh7IHR5cGUgfSkgPT4geworICAgICAgcGFzcyA9IHR5cGUgPT09
ICJjdXN0b20tcGFzcyI7CisgICAgfTsKKyAgICBlbGVtLmFkZEV2ZW50TGlzdGVuZXIoImN1c3Rv
bS1wYXNzIiwgbGlzdGVuZXIsIHsgb25jZTogdHJ1ZSB9KTsKKyAgICBlbGVtLmRpc3BhdGNoRXZl
bnQobmV3IEN1c3RvbUV2ZW50KCJjdXN0b20tcGFzcyIpKTsKKyAgICBhc3NlcnRfdHJ1ZSgKKyAg
ICAgIHBhc3MsCisgICAgICBgQ3VzdG9tRXZlbnQgImN1c3RvbS1wYXNzIiBkaWRuJ3QgZGlzcGF0
Y2ggb24gJHtlbGVtLmNvbnN0cnVjdG9yLm5hbWV9YAorICAgICk7CisgIH0KK30sICJDYW4gZGlz
cGF0Y2ggQ3VzdG9tRXZlbnRzIGF0IGRpc2FibGVkIEhUTUwgZWxlbWVudHMuIik7CisKK3Rlc3Qo
KCkgPT4geworICBmb3IgKGNvbnN0IGxvY2FsTmFtZSBvZiBmb3JtRWxlbWVudHMpIHsKKyAgICBj
b25zdCBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChsb2NhbE5hbWUpOworCisgICAgLy8g
RWxlbWVudCBpcyBkaXNhYmxlZC4uLiBzbyB0aGlzIGNsaWNrKCkgTVVTVCBOT1QgZmlyZSBhbiBl
dmVudC4KKyAgICBlbGVtLmRpc2FibGVkID0gdHJ1ZTsKKyAgICBsZXQgcGFzcyA9IHRydWU7Cisg
ICAgZWxlbS5vbmNsaWNrID0gZSA9PiB7CisgICAgICBwYXNzID0gZmFsc2U7CisgICAgfTsKKyAg
ICBlbGVtLmNsaWNrKCk7CisgICAgYXNzZXJ0X3RydWUoCisgICAgICBwYXNzLAorICAgICAgYC5j
bGljaygpIG11c3Qgbm90IGRpc3BhdGNoICJjbGljayIgZXZlbnQgb24gZGlzYWJsZWQgJHsKKyAg
ICAgICAgZWxlbS5jb25zdHJ1Y3Rvci5uYW1lCisgICAgICB9LmAKKyAgICApOworCisgICAgLy8g
RWxlbWVudCBpcyAocmUpZW5hYmxlZC4uLiBzbyB0aGlzIGNsaWNrKCkgZmlyZXMgYW4gZXZlbnQu
CisgICAgZWxlbS5kaXNhYmxlZCA9IGZhbHNlOworICAgIHBhc3MgPSBmYWxzZTsKKyAgICBlbGVt
Lm9uY2xpY2sgPSBlID0+IHsKKyAgICAgIHBhc3MgPSB0cnVlOworICAgIH07CisgICAgZWxlbS5j
bGljaygpOworICAgIGFzc2VydF90cnVlKAorICAgICAgcGFzcywKKyAgICAgIGAuY2xpY2soKSBt
dXN0IGRpc3BhdGNoICJjbGljayIgZXZlbnQgb24gZW5hYmxlZCAkeworICAgICAgICBlbGVtLmNv
bnN0cnVjdG9yLm5hbWUKKyAgICAgIH0uYAorICAgICk7CisgIH0KK30sICJDYWxsaW5nIGNsaWNr
KCkgb24gZGlzYWJsZWQgZWxlbWVudHMgbXVzdCBub3QgZGlzcGF0Y2ggZXZlbnRzLiIpOworCitw
cm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAvLyBGb3IgZWFjaCBmb3JtIGVsZW1lbnQgdHlw
ZSwgc2V0IHVwIHRyYW5zaXRpb24gZXZlbnQgaGFuZGxlcnMuCisgIGZvciAoY29uc3QgbG9jYWxO
YW1lIG9mIGZvcm1FbGVtZW50cykgeworICAgIGNvbnN0IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KGxvY2FsTmFtZSk7CisgICAgZWxlbS5kaXNhYmxlZCA9IHRydWU7CisgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChlbGVtKTsKKyAgICBjb25zdCBldmVudFByb21pc2VzID0gWwor
ICAgICAgInRyYW5zaXRpb25ydW4iLAorICAgICAgInRyYW5zaXRpb25zdGFydCIsCisgICAgICAi
dHJhbnNpdGlvbmVuZCIsCisgICAgXS5tYXAoZXZlbnRUeXBlID0+IHsKKyAgICAgIHJldHVybiBu
ZXcgUHJvbWlzZShyID0+IHsKKyAgICAgICAgZWxlbS5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlw
ZSwgcik7CisgICAgICB9KTsKKyAgICB9KTsKKyAgICAvLyBGbHVzaGluZyBzdHlsZSB0cmlnZ2Vy
cyB0cmFuc2l0aW9uLgorICAgIGdldENvbXB1dGVkU3R5bGUoZWxlbSkub3BhY2l0eTsKKyAgICBl
bGVtLnN0eWxlLnRyYW5zaXRpb24gPSAib3BhY2l0eSAuMXMiOworICAgIGVsZW0uc3R5bGUub3Bh
Y2l0eSA9IDA7CisgICAgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtKS5vcGFjaXR5OworICAgIC8vIEFs
bCB0aGUgZXZlbnRzIGZpcmUuLi4KKyAgICBhd2FpdCBQcm9taXNlLmFsbChldmVudFByb21pc2Vz
KTsKKyAgICBlbGVtLnJlbW92ZSgpOworICB9Cit9LCAiQ1NTIFRyYW5zaXRpb25zIHRyYW5zaXRp
b25ydW4sIHRyYW5zaXRpb25zdGFydCwgdHJhbnNpdGlvbmVuZCBldmVudHMgZmlyZSBvbiBkaXNh
YmxlZCBmb3JtIGVsZW1lbnRzIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgIC8v
IEZvciBlYWNoIGZvcm0gZWxlbWVudCB0eXBlLCBzZXQgdXAgdHJhbnNpdGlvbiBldmVudCBoYW5k
bGVycy4KKyAgZm9yIChjb25zdCBsb2NhbE5hbWUgb2YgZm9ybUVsZW1lbnRzKSB7CisgICAgY29u
c3QgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobG9jYWxOYW1lKTsKKyAgICBlbGVtLmRp
c2FibGVkID0gdHJ1ZTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW0pOworICAg
IGdldENvbXB1dGVkU3R5bGUoZWxlbSkub3BhY2l0eTsKKyAgICBlbGVtLnN0eWxlLnRyYW5zaXRp
b24gPSAib3BhY2l0eSAxMDBzIjsKKyAgICAvLyBXZSB1c2Ugb250cmFuc2l0aW9uc3RhcnQgdG8g
Y2FuY2VsIHRoZSBldmVudC4KKyAgICBlbGVtLm9udHJhbnNpdGlvbnN0YXJ0ID0gKCkgPT4gewor
ICAgICAgZWxlbS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOworICAgIH07CisgICAgY29uc3QgcHJv
bWlzZVRvQ2FuY2VsID0gbmV3IFByb21pc2UociA9PiB7CisgICAgICBlbGVtLm9udHJhbnNpdGlv
bmNhbmNlbCA9IHI7CisgICAgfSk7CisgICAgLy8gRmx1c2hpbmcgc3R5bGUgdHJpZ2dlcnMgdGhl
IHRyYW5zaXRpb24uCisgICAgZWxlbS5zdHlsZS5vcGFjaXR5ID0gMDsKKyAgICBnZXRDb21wdXRl
ZFN0eWxlKGVsZW0pLm9wYWNpdHk7CisgICAgYXdhaXQgcHJvbWlzZVRvQ2FuY2VsOworICAgIC8v
IEFuZCB3ZSBhcmUgZG9uZSB3aXRoIHRoaXMgZWxlbWVudC4KKyAgICBlbGVtLnJlbW92ZSgpOwor
ICB9Cit9LCAiQ1NTIFRyYW5zaXRpb25zIHRyYW5zaXRpb25jYW5jZWwgZXZlbnQgZmlyZXMgb24g
ZGlzYWJsZWQgZm9ybSBlbGVtZW50cyIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4gewor
ICAvLyBGb3IgZWFjaCBmb3JtIGVsZW1lbnQgdHlwZSwgc2V0IHVwIHRyYW5zaXRpb24gZXZlbnQg
aGFuZGxlcnMuCisgIGZvciAoY29uc3QgbG9jYWxOYW1lIG9mIGZvcm1FbGVtZW50cykgeworICAg
IGNvbnN0IGVsZW0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGxvY2FsTmFtZSk7CisgICAgZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtKTsKKyAgICBlbGVtLmRpc2FibGVkID0gdHJ1ZTsK
KyAgICBjb25zdCBhbmltYXRpb25TdGFydFByb21pc2UgPSBuZXcgUHJvbWlzZShyID0+IHsKKyAg
ICAgIGVsZW0uYWRkRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uc3RhcnQiLCAoKSA9PiB7CisgICAg
ICAgIC8vIFNlZWsgdG8gdGhlIHNlY29uZCBpdGVyYXRpb24gdG8gdHJpZ2dlciB0aGUgYW5pbWF0
aW9uaXRlcmF0aW9uIGV2ZW50CisgICAgICAgIGVsZW0uc3R5bGUuYW5pbWF0aW9uRGVsYXkgPSAi
LTEwMHMiCisgICAgICAgIHIoKTsKKyAgICAgIH0pOworICAgIH0pOworICAgIGNvbnN0IGFuaW1h
dGlvbkl0ZXJhdGlvblByb21pc2UgPSBuZXcgUHJvbWlzZShyID0+IHsKKyAgICAgIGVsZW0uYWRk
RXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uaXRlcmF0aW9uIiwgKCk9PnsKKyAgICAgICAgZWxlbS5z
dHlsZS5hbmltYXRpb25EZWxheSA9ICItMjAwcyIKKyAgICAgICAgcigpOworICAgICAgfSk7Cisg
ICAgfSk7CisgICAgY29uc3QgYW5pbWF0aW9uRW5kUHJvbWlzZSA9IG5ldyBQcm9taXNlKHIgPT4g
eworICAgICAgZWxlbS5hZGRFdmVudExpc3RlbmVyKCJhbmltYXRpb25lbmQiLCByKTsKKyAgICB9
KTsKKyAgICBlbGVtLnN0eWxlLmFuaW1hdGlvbiA9ICJmYWRlIDEwMHMgMiI7CisgICAgZWxlbS5j
bGFzc0xpc3QuYWRkKCJhbmltYXRlIik7CisgICAgLy8gQWxsIHRoZSBldmVudHMgZmlyZS4uLgor
ICAgIGF3YWl0IFByb21pc2UuYWxsKFsKKyAgICAgIGFuaW1hdGlvblN0YXJ0UHJvbWlzZSwKKyAg
ICAgIGFuaW1hdGlvbkl0ZXJhdGlvblByb21pc2UsCisgICAgICBhbmltYXRpb25FbmRQcm9taXNl
LAorICAgIF0pOworICAgIGVsZW0ucmVtb3ZlKCk7CisgIH0KK30sICJDU1MgQW5pbWF0aW9uIGFu
aW1hdGlvbnN0YXJ0LCBhbmltYXRpb25pdGVyYXRpb24sIGFuaW1hdGlvbmVuZCBmaXJlIG9uIGRp
c2FibGVkIGZvcm0gZWxlbWVudHMiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAg
Ly8gRm9yIGVhY2ggZm9ybSBlbGVtZW50IHR5cGUsIHNldCB1cCB0cmFuc2l0aW9uIGV2ZW50IGhh
bmRsZXJzLgorICBmb3IgKGNvbnN0IGxvY2FsTmFtZSBvZiBmb3JtRWxlbWVudHMpIHsKKyAgICBj
b25zdCBlbGVtID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChsb2NhbE5hbWUpOworICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbSk7CisgICAgZWxlbS5kaXNhYmxlZCA9IHRydWU7CisK
KyAgICBjb25zdCBwcm9taXNlVG9DYW5jZWwgPSBuZXcgUHJvbWlzZShyID0+IHsKKyAgICAgIGVs
ZW0uYWRkRXZlbnRMaXN0ZW5lcigiYW5pbWF0aW9uY2FuY2VsIiwgcik7CisgICAgfSk7CisKKyAg
ICBlbGVtLmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbnN0YXJ0IiwgKCkgPT4geworICAgICAg
Ly8gQ2FuY2VsIHRoZSBhbmltYXRpb24gYnkgaGlkaW5nIGl0LgorICAgICAgZWxlbS5zdHlsZS5k
aXNwbGF5ID0gIm5vbmUiOworICAgIH0pOworCisgICAgLy8gVHJpZ2dlciB0aGUgYW5pbWF0aW9u
CisgICAgZWxlbS5zdHlsZS5hbmltYXRpb24gPSAiZmFkZSAxMDBzIjsKKyAgICBlbGVtLmNsYXNz
TGlzdC5hZGQoImFuaW1hdGUiKTsKKyAgICBhd2FpdCBwcm9taXNlVG9DYW5jZWw7CisgICAgLy8g
QW5kIHdlIGFyZSBkb25lIHdpdGggdGhpcyBlbGVtZW50LgorICAgIGVsZW0ucmVtb3ZlKCk7Cisg
IH0KK30sICJDU1MgQW5pbWF0aW9uJ3MgYW5pbWF0aW9uY2FuY2VsIGV2ZW50IGZpcmVzIG9uIGRp
c2FibGVkIGZvcm0gZWxlbWVudHMiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAg
Zm9yIChjb25zdCBsb2NhbE5hbWUgb2YgZm9ybUVsZW1lbnRzKSB7CisgICAgY29uc3QgZWxlbSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobG9jYWxOYW1lKTsKKyAgICBlbGVtLmRpc2FibGVkID0g
dHJ1ZTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW0pOworICAgIC8vIEVsZW1l
bnQgaXMgZGlzYWJsZWQsIHNvIGNsaWNraW5nIG11c3Qgbm90IGZpcmUgZXZlbnRzCisgICAgbGV0
IHBhc3MgPSB0cnVlOworICAgIGVsZW0ub25jbGljayA9IGUgPT4geworICAgICAgcGFzcyA9IGZh
bHNlOworICAgIH07CisgICAgLy8gRGlzYWJsZWQgZWxlbWVudHMgYXJlIG5vdCBjbGlja2FibGUu
CisgICAgYXdhaXQgdGVzdF9kcml2ZXIuY2xpY2soZWxlbSk7CisgICAgYXNzZXJ0X3RydWUoCisg
ICAgICBwYXNzLAorICAgICAgYCR7ZWxlbS5jb25zdHJ1Y3Rvci5uYW1lfSBpcyBkaXNhYmxlZCwg
c28gb25jbGljayBtdXN0IG5vdCBmaXJlLmAKKyAgICApOworICAgIC8vIEVsZW1lbnQgaXMgKHJl
KWVuYWJsZWQuLi4gc28gdGhpcyBjbGljaygpIHdpbGwgZmlyZSBhbiBldmVudC4KKyAgICBwYXNz
ID0gZmFsc2U7CisgICAgZWxlbS5kaXNhYmxlZCA9IGZhbHNlOworICAgIGVsZW0ub25jbGljayA9
ICgpID0+IHsKKyAgICAgIHBhc3MgPSB0cnVlOworICAgIH07CisgICAgYXdhaXQgdGVzdF9kcml2
ZXIuY2xpY2soZWxlbSk7CisgICAgYXNzZXJ0X3RydWUoCisgICAgICBwYXNzLAorICAgICAgYCR7
ZWxlbS5jb25zdHJ1Y3Rvci5uYW1lfSBpcyBlbmFibGVkLCBzbyBvbmNsaWNrIG11c3QgZmlyZS5g
CisgICAgKTsKKyAgICBlbGVtLnJlbW92ZSgpOworICB9Cit9LCAiUmVhbCBjbGlja3Mgb24gZGlz
YWJsZWQgZWxlbWVudHMgbXVzdCBub3QgZGlzcGF0Y2ggZXZlbnRzLiIpOworPC9zY3JpcHQ+Cklu
ZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvRXZlbnQtaXNUcnVzdGVkLmFueS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWlz
VHJ1c3RlZC5hbnktZXhwZWN0ZWQudHh0CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1pc1RydXN0ZWQu
YW55LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcgQEAKKworRkFJTCBV
bnRpdGxlZCBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBmdW5jdGlvbiAiZnVuY3Rpb24gaXNUcnVz
dGVkKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGJ1dCBnb3QgZnVuY3Rpb24gImZ1bmN0aW9u
IGlzVHJ1c3RlZCgpIHsKKyAgICBbbmF0aXZlIGNvZGVdCit9IgorCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtaXNUcnVz
dGVkLmFueS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1pc1RydXN0ZWQuYW55Lmh0bWwJKG5vbmV4
aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0V2ZW50LWlzVHJ1c3RlZC5hbnkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFz
dHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvRXZlbnQtaXNUcnVzdGVkLmFueS5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQt
aXNUcnVzdGVkLmFueS5qcwkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtaXNUcnVzdGVkLmFueS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDExIEBACit0ZXN0KGZ1bmN0aW9uKCkgeworICB2YXIg
ZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5ldyBFdmVudCgieCIpLCAi
aXNUcnVzdGVkIik7CisgIGFzc2VydF9ub3RfZXF1YWxzKGRlc2MxLCB1bmRlZmluZWQpOworICBh
c3NlcnRfZXF1YWxzKHR5cGVvZiBkZXNjMS5nZXQsICJmdW5jdGlvbiIpOworCisgIHZhciBkZXNj
MiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobmV3IEV2ZW50KCJ4IiksICJpc1Ry
dXN0ZWQiKTsKKyAgYXNzZXJ0X25vdF9lcXVhbHMoZGVzYzIsIHVuZGVmaW5lZCk7CisgIGFzc2Vy
dF9lcXVhbHModHlwZW9mIGRlc2MyLmdldCwgImZ1bmN0aW9uIik7CisKKyAgYXNzZXJ0X2VxdWFs
cyhkZXNjMS5nZXQsIGRlc2MyLmdldCk7Cit9KTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1pc1RydXN0ZWQuYW55Lndv
cmtlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWlzVHJ1c3RlZC5hbnkud29ya2Vy
LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtaXNUcnVzdGVkLmFueS53b3JrZXIt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNyBAQAorCitGQUlMIFVudGl0
bGVkIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIGZ1bmN0aW9uICJmdW5jdGlvbiBpc1RydXN0ZWQo
KSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgYnV0IGdvdCBmdW5jdGlvbiAiZnVuY3Rpb24gaXNU
cnVzdGVkKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iCisKSW5kZXg6IExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1pc1RydXN0ZWQu
YW55Lndvcmtlci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1pc1RydXN0ZWQuYW55Lndvcmtlci5o
dG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1pc1RydXN0ZWQuYW55Lndvcmtlci5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBX
ZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC10aW1lc3RhbXAtc2FmZS1yZXNv
bHV0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtdGltZXN0YW1wLXNhZmUtcmVz
b2x1dGlvbi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODQ0NSkKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC10aW1lc3RhbXAt
c2FmZS1yZXNvbHV0aW9uLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMg
QEAKIAotUEFTUyBFdmVudCB0aW1lc3RhbXAgc2hvdWxkIG5vdCBoYXZlIGEgcmVzb2x1dGlvbiBi
ZXR0ZXIgdGhhdCA1IG1pY3Jvc2Vjb25kcyAKK1BBU1MgRXZlbnQgdGltZXN0YW1wIHNob3VsZCBu
b3QgaGF2ZSBhIHJlc29sdXRpb24gYmV0dGVyIHRoYW4gNSBtaWNyb3NlY29uZHMgCiAKSW5kZXg6
IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9F
dmVudC10aW1lc3RhbXAtc2FmZS1yZXNvbHV0aW9uLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXRp
bWVzdGFtcC1zYWZlLXJlc29sdXRpb24uaHRtbAkocmV2aXNpb24gMjQ4NDQ1KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXRp
bWVzdGFtcC1zYWZlLXJlc29sdXRpb24uaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDUsNSArNDUs
NSBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogCiAgIGNvbnN0IG1pblJlc29sdXRpb24gPSBlc3RpbWF0
ZU1pbmltdW1SZXNvbHV0aW9uKHNhbXBsZXMpOwogICBhc3NlcnRfZ3JlYXRlcl90aGFuX2VxdWFs
KG1pblJlc29sdXRpb24sIDUpOwotfSwgJ0V2ZW50IHRpbWVzdGFtcCBzaG91bGQgbm90IGhhdmUg
YSByZXNvbHV0aW9uIGJldHRlciB0aGF0IDUgbWljcm9zZWNvbmRzJyk7Cit9LCAnRXZlbnQgdGlt
ZXN0YW1wIHNob3VsZCBub3QgaGF2ZSBhIHJlc29sdXRpb24gYmV0dGVyIHRoYW4gNSBtaWNyb3Nl
Y29uZHMnKTsKIDwvc2NyaXB0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVu
dExpc3RlbmVyLWFkZEV2ZW50TGlzdGVuZXIuc3ViLndpbmRvdy1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
ZXZlbnRzL0V2ZW50TGlzdGVuZXItYWRkRXZlbnRMaXN0ZW5lci5zdWIud2luZG93LWV4cGVjdGVk
LnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRMaXN0ZW5lci1hZGRFdmVudExpc3RlbmVyLnN1Yi53
aW5kb3ctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMyBAQAorCitQQVNT
IEV2ZW50TGlzdGVuZXIuYWRkRXZlbnRMaXN0ZW5lciBkb2Vzbid0IHRocm93IHdoZW4gYSBjcm9z
cyBvcmlnaW4gb2JqZWN0IGlzIHBhc3NlZCBpbi4gCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudExpc3RlbmVyLWFkZEV2
ZW50TGlzdGVuZXIuc3ViLndpbmRvdy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudExpc3RlbmVyLWFk
ZEV2ZW50TGlzdGVuZXIuc3ViLndpbmRvdy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudExpc3Rl
bmVyLWFkZEV2ZW50TGlzdGVuZXIuc3ViLndpbmRvdy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZy
YXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9FdmVudExpc3RlbmVyLWFkZEV2ZW50TGlzdGVuZXIuc3ViLndpbmRv
dy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvRXZlbnRMaXN0ZW5lci1hZGRFdmVudExpc3RlbmVyLnN1Yi53aW5k
b3cuanMJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50TGlzdGVuZXItYWRkRXZlbnRMaXN0ZW5lci5zdWIu
d2luZG93LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorYXN5bmNfdGVzdChmdW5j
dGlvbih0KSB7CisgIGxldCBjcm9zc09yaWdpbkZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaWZyYW1lJyk7CisgIGNyb3NzT3JpZ2luRnJhbWUuc3JjID0gJ2h0dHBzOi8ve3tob3N0c1th
bHRdW119fTp7e3BvcnRzW2h0dHBzXVswXX19L2NvbW1vbi9ibGFuay5odG1sJzsKKyAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChjcm9zc09yaWdpbkZyYW1lKTsKKyAgY3Jvc3NPcmlnaW5GcmFt
ZS5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgdC5zdGVwX2Z1bmNfZG9uZShmdW5jdGlvbigpIHsK
KyAgICBsZXQgY3Jvc3NPcmlnaW5XaW5kb3cgPSBjcm9zc09yaWdpbkZyYW1lLmNvbnRlbnRXaW5k
b3c7CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgY3Jvc3NPcmlnaW5XaW5k
b3cpOworICB9KSk7Cit9LCAiRXZlbnRMaXN0ZW5lci5hZGRFdmVudExpc3RlbmVyIGRvZXNuJ3Qg
dGhyb3cgd2hlbiBhIGNyb3NzIG9yaWdpbiBvYmplY3QgaXMgcGFzc2VkIGluLiIpOwpJbmRleDog
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2
ZW50TGlzdGVuZXItaGFuZGxlRXZlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudExp
c3RlbmVyLWhhbmRsZUV2ZW50LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjQ4NDQ1KQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50
TGlzdGVuZXItaGFuZGxlRXZlbnQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsOSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ2OiBbb2JqZWN0IE9iamVjdF0KIAotUEFT
UyBFdmVudExpc3RlbmVyOjpoYW5kbGVFdmVudCgpIAorUEFTUyBjYWxscyBgaGFuZGxlRXZlbnRg
IG1ldGhvZCBvZiBgRXZlbnRMaXN0ZW5lcmAgCitQQVNTIHJldGhyb3dzIGVycm9ycyB3aGVuIGdl
dHRpbmcgYGhhbmRsZUV2ZW50YCAKK1BBU1MgcGVyZm9ybXMgYEdldGAgZXZlcnkgdGltZSBldmVu
dCBpcyBkaXNwYXRjaGVkIAorUEFTUyBkb2Vzbid0IGNhbGwgYGhhbmRsZUV2ZW50YCBtZXRob2Qg
b24gY2FsbGFibGUgYEV2ZW50TGlzdGVuZXJgIAorRkFJTCB0aHJvd3MgaWYgYGhhbmRsZUV2ZW50
YCBpcyBmYWxzeSBhbmQgbm90IGNhbGxhYmxlIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCB0aHJvd3MgaWYgYGhhbmRsZUV2ZW50YCBpcyB0aHJ1dGh5IGFuZCBub3Qg
Y2FsbGFibGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiAKSW5kZXg6IExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVu
dExpc3RlbmVyLWhhbmRsZUV2ZW50Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50TGlzdGVuZXItaGFu
ZGxlRXZlbnQuaHRtbAkocmV2aXNpb24gMjQ4NDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50TGlzdGVuZXItaGFuZGxlRXZl
bnQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMyw0MCArMywxMjMgQEAKIDx0aXRsZT5FdmVudExp
c3RlbmVyOjpoYW5kbGVFdmVudCgpPC90aXRsZT4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly9k
b20uc3BlYy53aGF0d2cub3JnLyNjYWxsYmFja2RlZi1ldmVudGxpc3RlbmVyIj4KIDxkaXYgaWQ9
bG9nPjwvZGl2PgotPHRhYmxlIGlkPSJ0YWJsZSIgYm9yZGVyPSIxIiBzdHlsZT0iZGlzcGxheTog
bm9uZSI+Ci0gICAgPHRib2R5IGlkPSJ0YWJsZS1ib2R5Ij4KLSAgICA8dHIgaWQ9InRhYmxlLXJv
dyI+Ci0gICAgICAgIDx0ZCBpZD0idGFibGUtY2VsbCI+U2hhZHkgR3JvdmU8L3RkPgotICAgICAg
ICA8dGQ+QWVvbGlhbjwvdGQ+Ci0gICAgPC90cj4KLSAgICA8dHIgaWQ9InBhcmVudCI+Ci0gICAg
ICAgIDx0ZCBpZD0idGFyZ2V0Ij5PdmVyIHRoZSByaXZlciwgQ2hhcmxpZTwvdGQ+Ci0gICAgICAg
IDx0ZD5Eb3JpYW48L3RkPgotICAgIDwvdHI+Ci0gICAgPC90Ym9keT4KLTwvdGFibGU+CiA8c2Ny
aXB0PgotdGVzdChmdW5jdGlvbih0KSB7Ci0gICAgdmFyIGV2ZW50ID0gImZvbyI7Ci0gICAgdmFy
IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKK3NldHVwKHsgYWxs
b3dfdW5jYXVnaHRfZXhjZXB0aW9uOiB0cnVlIH0pOwogCi0gICAgdmFyIGV2ZW50X2xpc3RlbmVy
ID0gewotICAgICAgICAiaGFuZGxlRXZlbnQiOiBmdW5jdGlvbihldnQpIHsKK3Rlc3QoZnVuY3Rp
b24odCkgeworICAgIHZhciB0eXBlID0gImZvbyI7CisgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIHZhciBldmVudExpc3RlbmVyID0geworICAgICAg
ICBoYW5kbGVFdmVudDogZnVuY3Rpb24oZXZ0KSB7CiAgICAgICAgICAgICB2YXIgdGhhdCA9IHRo
aXM7CiAgICAgICAgICAgICB0LnN0ZXAoZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgYXNz
ZXJ0X2VxdWFscyhldnQudHlwZSwgZXZlbnQpOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVh
bHMoZXZ0LnR5cGUsIHR5cGUpOwogICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZ0LnRh
cmdldCwgdGFyZ2V0KTsKICAgICAgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2dC5zcmNFbGVt
ZW50LCB0YXJnZXQpOwotICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHModGhhdCwgZXZlbnRf
bGlzdGVuZXIpOworICAgICAgICAgICAgICAgIGFzc2VydF9lcXVhbHModGhhdCwgZXZlbnRMaXN0
ZW5lcik7CiAgICAgICAgICAgICB9KTsKLSAgICAgICAgfQorICAgICAgICB9LAorICAgIH07CisK
KyAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBldmVudExpc3RlbmVyKTsKKyAgICB0
YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQodHlwZSkpOworfSwgImNhbGxzIGBoYW5kbGVF
dmVudGAgbWV0aG9kIG9mIGBFdmVudExpc3RlbmVyYCIpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsK
KyAgICB2YXIgdHlwZSA9ICJmb28iOworICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICB2YXIgdGhyb3duRXJyb3IgPSB7IG5hbWU6ICJ0ZXN0IiB9Owor
ICAgIHZhciB1bmNhdWdodEVycm9yOworICAgIHZhciBlcnJvckhhbmRsZXIgPSBmdW5jdGlvbihl
dmVudCkgeworICAgICAgICB1bmNhdWdodEVycm9yID0gZXZlbnQuZXJyb3I7CisgICAgfTsKKwor
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsIGVycm9ySGFuZGxlcik7CisgICAg
dC5hZGRfY2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlz
dGVuZXIoImVycm9yIiwgZXJyb3JIYW5kbGVyKTsKKyAgICB9KTsKKworICAgIHRhcmdldC5hZGRF
dmVudExpc3RlbmVyKHR5cGUsIHsKKyAgICAgICAgZ2V0IGhhbmRsZUV2ZW50KCkgeworICAgICAg
ICAgICAgdGhyb3cgdGhyb3duRXJyb3I7CisgICAgICAgIH0sCisgICAgfSk7CisKKyAgICB0YXJn
ZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQodHlwZSkpOworICAgIGFzc2VydF9lcXVhbHModGhy
b3duRXJyb3IsIHVuY2F1Z2h0RXJyb3IpOworfSwgInJldGhyb3dzIGVycm9ycyB3aGVuIGdldHRp
bmcgYGhhbmRsZUV2ZW50YCIpOworCit0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICB2YXIgdHlwZSA9
ICJmb28iOworICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
KyAgICB2YXIgY2FsbHMgPSAwOworCisgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwg
eworICAgICAgICBnZXQgaGFuZGxlRXZlbnQoKSB7CisgICAgICAgICAgICBjYWxscysrOworICAg
ICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge307CisgICAgICAgIH0sCisgICAgfSk7CisKKyAg
ICBhc3NlcnRfZXF1YWxzKGNhbGxzLCAwKTsKKyAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcg
RXZlbnQodHlwZSkpOworICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCh0eXBlKSk7
CisgICAgYXNzZXJ0X2VxdWFscyhjYWxscywgMik7Cit9LCAicGVyZm9ybXMgYEdldGAgZXZlcnkg
dGltZSBldmVudCBpcyBkaXNwYXRjaGVkIik7CisKK3Rlc3QoZnVuY3Rpb24odCkgeworICAgIHZh
ciB0eXBlID0gImZvbyI7CisgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOworICAgIHZhciBjYWxscyA9IDA7CisgICAgdmFyIGV2ZW50TGlzdGVuZXIgPSBmdW5j
dGlvbigpIHsgY2FsbHMrKzsgfTsKKyAgICBldmVudExpc3RlbmVyLmhhbmRsZUV2ZW50ID0gdC51
bnJlYWNoZWRfZnVuYygiYGhhbmRsZUV2ZW50YCBtZXRob2Qgc2hvdWxkIG5vdCBiZSBjYWxsZWQg
b24gZnVuY3Rpb25zIik7CisKKyAgICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBldmVu
dExpc3RlbmVyKTsKKyAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQodHlwZSkpOwor
ICAgIGFzc2VydF9lcXVhbHMoY2FsbHMsIDEpOworfSwgImRvZXNuJ3QgY2FsbCBgaGFuZGxlRXZl
bnRgIG1ldGhvZCBvbiBjYWxsYWJsZSBgRXZlbnRMaXN0ZW5lcmAiKTsKKwordGVzdChmdW5jdGlv
bih0KSB7CisgICAgdmFyIHR5cGUgPSAiZm9vIjsKKyAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgdmFyIHVuY2F1Z2h0RXJyb3I7CisgICAgdmFyIGVy
cm9ySGFuZGxlciA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgIHVuY2F1Z2h0RXJyb3IgPSBl
dmVudC5lcnJvcjsKICAgICB9OwogCi0gICAgdmFyIGV2dCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50
KCJFdmVudCIpOwotICAgIGV2dC5pbml0RXZlbnQoZXZlbnQsIHRydWUsIHRydWUpOworICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsIGVycm9ySGFuZGxlcik7CisgICAgdC5hZGRf
Y2xlYW51cChmdW5jdGlvbigpIHsKKyAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIo
ImVycm9yIiwgZXJyb3JIYW5kbGVyKTsKKyAgICB9KTsKKworICAgIHRhcmdldC5hZGRFdmVudExp
c3RlbmVyKHR5cGUsIHsKKyAgICAgICAgaGFuZGxlRXZlbnQ6IG51bGwsCisgICAgfSk7CisKKyAg
ICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQodHlwZSkpOworICAgIGFzc2VydF90cnVl
KHVuY2F1Z2h0RXJyb3IgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOworfSwgInRocm93cyBpZiBgaGFu
ZGxlRXZlbnRgIGlzIGZhbHN5IGFuZCBub3QgY2FsbGFibGUiKTsKKwordGVzdChmdW5jdGlvbih0
KSB7CisgICAgdmFyIHR5cGUgPSAiZm9vIjsKKyAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7CisgICAgdmFyIHVuY2F1Z2h0RXJyb3I7CisgICAgdmFyIGVycm9y
SGFuZGxlciA9IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgIHVuY2F1Z2h0RXJyb3IgPSBldmVu
dC5lcnJvcjsKKyAgICB9OworCisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwg
ZXJyb3JIYW5kbGVyKTsKKyAgICB0LmFkZF9jbGVhbnVwKGZ1bmN0aW9uKCkgeworICAgICAgICB3
aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCBlcnJvckhhbmRsZXIpOworICAgIH0p
OworCisgICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgeworICAgICAgICBoYW5kbGVF
dmVudDogMSwKKyAgICB9KTsKIAotICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBl
dmVudF9saXN0ZW5lciwgdHJ1ZSk7Ci0gICAgdGFyZ2V0LmRpc3BhdGNoRXZlbnQoZXZ0KTsKLX0p
OworICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCh0eXBlKSk7CisgICAgYXNzZXJ0
X3RydWUodW5jYXVnaHRFcnJvciBpbnN0YW5jZW9mIFR5cGVFcnJvcik7Cit9LCAidGhyb3dzIGlm
IGBoYW5kbGVFdmVudGAgaXMgdGhydXRoeSBhbmQgbm90IGNhbGxhYmxlIik7CiA8L3NjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9FdmVudExpc3RlbmVyLWluY3VtYmVudC1nbG9iYWwtc3Vic3ViZnJhbWUuc3ViLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vZXZlbnRzL0V2ZW50TGlzdGVuZXItaW5jdW1iZW50LWdsb2JhbC1zdWJzdWJmcmFtZS5z
dWIuaHRtbAkocmV2aXNpb24gMjQ4NDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50TGlzdGVuZXItaW5jdW1iZW50LWdsb2Jh
bC1zdWJzdWJmcmFtZS5zdWIuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMTEsNyArMTEsNyBAQAog
ICAgICAgcGFyZW50LnBvc3RNZXNzYWdlKAogICAgICAgICB7CiAgICAgICAgICAgYWN0dWFsOiBl
Lm9yaWdpbiwKLSAgICAgICAgICBleHBlY3RlZDogInt7bG9jYXRpb25bc2NoZW1lXX19Oi8ve3tk
b21haW5zW3d3dzFdfX06e3twb3J0c1todHRwXVswXX19IiwKKyAgICAgICAgICBleHBlY3RlZDog
cGFyZW50LmxvY2F0aW9uLm9yaWdpbiwKICAgICAgICAgICByZWFzb246ICJJbmN1bWJlbnQgc2hv
dWxkIGhhdmUgYmVlbiB0aGUgY2FsbGVyIG9mIGFkZEV2ZW50TGlzdGVuZXIoKSIKICAgICAgICAg
fSwKICAgICAgICAgIioiKQpJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWRpc3BhdGNoRXZlbnQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1kaXNwYXRjaEV2ZW50LWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjQ4NDQ1KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWRpc3BhdGNoRXZlbnQtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0yNSw1ICsyNSw1IEBAIFBBU1MgSWYgdGhlIGV2ZW50J3MgaW5p
dGlhbGl6ZWQgZmxhZyBpcyAKIFBBU1MgSWYgdGhlIGV2ZW50J3MgZGlzcGF0Y2ggZmxhZyBpcyBz
ZXQsIGFuIEludmFsaWRTdGF0ZUVycm9yIG11c3QgYmUgdGhyb3duLiAKIFBBU1MgRXhjZXB0aW9u
cyBmcm9tIGV2ZW50IGxpc3RlbmVycyBtdXN0IG5vdCBiZSBwcm9wYWdhdGVkLiAKIFBBU1MgRXZl
bnQgbGlzdGVuZXJzIGFkZGVkIGR1cmluZyBkaXNwYXRjaCBzaG91bGQgYmUgY2FsbGVkIAotRkFJ
TCBFdmVudCBsaXN0ZW5lcnMgc2hvdWxkIGJlIGNhbGxlZCBpbiBvcmRlciBvZiBhZGRpdGlvbiBh
c3NlcnRfYXJyYXlfZXF1YWxzOiBwcm9wZXJ0eSAxLCBleHBlY3RlZCAyIGJ1dCBnb3QgMworUEFT
UyBDYXB0dXJpbmcgZXZlbnQgbGlzdGVuZXJzIHNob3VsZCBiZSBjYWxsZWQgYmVmb3JlIG5vbi1j
YXB0dXJpbmcgb25lcyAKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFyZ2V0LWRpc3BhdGNoRXZlbnQuaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ldmVudHMvRXZlbnRUYXJnZXQtZGlzcGF0Y2hFdmVudC5odG1sCShyZXZpc2lvbiAyNDg0NDUp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvRXZlbnRUYXJnZXQtZGlzcGF0Y2hFdmVudC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC05OCw3
ICs5OCw3IEBAIGFzeW5jX3Rlc3QoZnVuY3Rpb24oKSB7CiAgICAgcmVzdWx0cy5wdXNoKDMpCiAg
IH0pLCB0cnVlKQogICBiLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJ4IikpCi0gIGFzc2VydF9h
cnJheV9lcXVhbHMocmVzdWx0cywgWzEsIDIsIDNdKQorICBhc3NlcnRfYXJyYXlfZXF1YWxzKHJl
c3VsdHMsIFsxLCAzLCAyXSkKICAgdGhpcy5kb25lKCkKLX0sICJFdmVudCBsaXN0ZW5lcnMgc2hv
dWxkIGJlIGNhbGxlZCBpbiBvcmRlciBvZiBhZGRpdGlvbiIpCit9LCAiQ2FwdHVyaW5nIGV2ZW50
IGxpc3RlbmVycyBzaG91bGQgYmUgY2FsbGVkIGJlZm9yZSBub24tY2FwdHVyaW5nIG9uZXMiKQog
PC9zY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvZG9jdW1lbnQtbGV2ZWwtdG91Y2htb3ZlLWV2ZW50LWxpc3RlbmVyLXBh
c3NpdmUtYnktZGVmYXVsdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2RvY3VtZW50LWxldmVs
LXRvdWNobW92ZS1ldmVudC1saXN0ZW5lci1wYXNzaXZlLWJ5LWRlZmF1bHQtZXhwZWN0ZWQudHh0
CShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9kb2N1bWVudC1sZXZlbC10b3VjaG1vdmUtZXZlbnQtbGlzdGVuZXIt
cGFzc2l2ZS1ieS1kZWZhdWx0LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx
LDMgQEAKKworRkFJTCBUb3VjaG1vdmUgZXZlbnRzIGFyZSBub24tY2FuY2VsYWJsZSBzaW5jZSB0
aGUgZXZlbnQgbGlzdGVuZXIgaXMgdHJlYXRlZCBhcyBwYXNzaXZlLiBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogIkNvbmRpdGlvbiBkaWQgbm90IGJlY29tZSB0
cnVlIGFmdGVyIDUwMCBmcmFtZXMiCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9kb2N1bWVudC1sZXZlbC10b3VjaG1vdmUtZXZl
bnQtbGlzdGVuZXItcGFzc2l2ZS1ieS1kZWZhdWx0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2RvY3VtZW50
LWxldmVsLXRvdWNobW92ZS1ldmVudC1saXN0ZW5lci1wYXNzaXZlLWJ5LWRlZmF1bHQuaHRtbAko
bm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvZG9jdW1lbnQtbGV2ZWwtdG91Y2htb3ZlLWV2ZW50LWxpc3RlbmVyLXBh
c3NpdmUtYnktZGVmYXVsdC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzMgQEAKKzwh
RE9DVFlQRSBodG1sPgorPHRpdGxlPkRlZmF1bHQgcGFzc2l2ZSBkb2N1bWVudCBsZXZlbCB0b3Vj
aG1vdmUgZXZlbnQgbGlzdGVuZXIgdGVzdDwvdGl0bGU+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9
Imh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL2ludGVydmVudGlvbnMvaXNzdWVzLzM1Ij4KKzxzY3Jp
cHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvdGVzdGRyaXZlci1hY3Rpb25zLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVz
b3VyY2VzL3Rlc3Rkcml2ZXItdmVuZG9yLmpzIj48L3NjcmlwdD4KKzxib2R5IG9ubG9hZD1ydW5U
ZXN0KCk+Cis8ZGl2IGlkPSJ0b3VjaERpdiI+Cis8L2Rpdj4KKzwvYm9keT4KKzxzdHlsZT4KKyN0
b3VjaERpdiB7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKK30KKzwvc3R5bGU+
Cis8c2NyaXB0PgordmFyIHRvdWNoX2RpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0b3Vj
aERpdiIpOwordmFyIGNhbmNlbGFibGUgPSB0cnVlOwordmFyIHRvdWNoX21vdmVfYXJyaXZlZCA9
IGZhbHNlOworZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIiwgZnVuY3Rpb24g
KGV2ZW50KSB7CisgICAgY2FuY2VsYWJsZSA9IGV2ZW50LmNhbmNlbGFibGU7CisgICAgdG91Y2hf
bW92ZV9hcnJpdmVkID0gdHJ1ZTsKKyAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworfSk7CisK
K2Z1bmN0aW9uIHdhaXRGb3IoY29uZGl0aW9uKSB7CisgIGNvbnN0IE1BWF9GUkFNRSA9IDUwMDsK
KyAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICBmdW5jdGlv
biB0aWNrKGZyYW1lcykgeworICAgICAgLy8gV2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGVpdGhl
ciBmb3IgNTAwIGZyYW1lcyBvciB1bnRpbCBjb25kaXRpb24gaXMKKyAgICAgIC8vIG1ldC4KKyAg
ICAgIGlmIChmcmFtZXMgPj0gTUFYX0ZSQU1FKQorICAgICAgICByZWplY3QoIkNvbmRpdGlvbiBk
aWQgbm90IGJlY29tZSB0cnVlIGFmdGVyIDUwMCBmcmFtZXMiKTsKKyAgICAgIGVsc2UgaWYgKGNv
bmRpdGlvbigpKQorICAgICAgICByZXNvbHZlKCk7CisgICAgICBlbHNlCisgICAgICAgIHJlcXVl
c3RBbmltYXRpb25GcmFtZSh0aWNrLmJpbmQodGhpcywgZnJhbWVzICsgMSkpOworICAgIH0KKyAg
ICB0aWNrKDApOworICB9KTsKK30KKworZnVuY3Rpb24gd2FpdEZvckNvbXBvc2l0b3JDb21taXQo
KSB7CisgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4geworICAgIC8vIHJBRiB0d2lj
ZS4KKyAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgICAgIHdpbmRv
dy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVzb2x2ZSk7CisgICAgfSk7CisgIH0pOworfQorCitm
dW5jdGlvbiBpbmplY3RJbnB1dCgpIHsKKyAgbmV3IHRlc3RfZHJpdmVyLkFjdGlvbnMoKQorICAg
IC5hZGRQb2ludGVyKCJ0b3VjaF9wb2ludGVyIiwgInRvdWNoIikKKyAgICAucG9pbnRlck1vdmUo
MCwgMCwge29yaWdpbjogdG91Y2hfZGl2fSkKKyAgICAucG9pbnRlckRvd24oKQorICAgIC5wb2lu
dGVyTW92ZSgzMCwgMzApCisgICAgLnBvaW50ZXJVcCgpCisgICAgLnNlbmQoKTsKK30KKworZnVu
Y3Rpb24gcnVuVGVzdCgpIHsKKyAgcHJvbWlzZV90ZXN0IChhc3luYyAoKSA9PiB7CisgICAgYXdh
aXQgd2FpdEZvckNvbXBvc2l0b3JDb21taXQoKTsKKyAgICBpbmplY3RJbnB1dCgpOworICAgIGF3
YWl0IHdhaXRGb3IoKCk9PiB7IHJldHVybiB0b3VjaF9tb3ZlX2Fycml2ZWQ7IH0pOworICAgIGFz
c2VydF9mYWxzZShjYW5jZWxhYmxlKTsKKyAgfSwgIlRvdWNobW92ZSBldmVudHMgYXJlIG5vbi1j
YW5jZWxhYmxlIHNpbmNlIHRoZSBldmVudCBsaXN0ZW5lciBpcyB0cmVhdGVkIGFzIHBhc3NpdmUu
Iik7Cit9Cis8L3NjcmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9ldmVudC1nbG9iYWwtZXh0cmEud2luZG93LWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZ2xvYmFsLWV4dHJhLndpbmRvdy1leHBlY3RlZC50eHQJ
KG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL2V2ZW50LWdsb2JhbC1leHRyYS53aW5kb3ctZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOCBAQAorCitGQUlMIHdpbmRvdy5ldmVudCBmb3IgY29u
c3RydWN0b3JzIGZyb20gYW5vdGhlciBnbG9iYWw6IEV2ZW50VGFyZ2V0IGZ1bmN0aW9uIGlzIG5v
dCBhIGNvbnN0cnVjdG9yIChldmFsdWF0aW5nICduZXcgb3RoZXJXaW5kb3dbY29uc3RydWN0b3JO
YW1lXSgpJykKK0ZBSUwgd2luZG93LmV2ZW50IGZvciBjb25zdHJ1Y3RvcnMgZnJvbSBhbm90aGVy
IGdsb2JhbDogWE1MSHR0cFJlcXVlc3QgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHVuZGVmaW5l
ZCkgdW5kZWZpbmVkIGJ1dCBnb3QgKG9iamVjdCkgb2JqZWN0ICJbb2JqZWN0IEV2ZW50XSIKK1BB
U1Mgd2luZG93LmV2ZW50IGFuZCBlbGVtZW50IGZyb20gYW5vdGhlciBkb2N1bWVudCAKK0ZBSUwg
d2luZG93LmV2ZW50IGFuZCBtb3ZpbmcgYW4gZWxlbWVudCBwb3N0LWRpc3BhdGNoIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIG9iamVjdCAiW29iamVjdCBFdmVudF0iIGJ1dCBnb3Qg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkCitGQUlMIHdpbmRvdy5ldmVudCBzaG91bGQgbm90IGJlIGFm
ZmVjdGVkIGJ5IG5vZGVzIG1vdmluZyBwb3N0LWRpc3BhdGNoIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICh1bmRlZmluZWQpIHVuZGVmaW5lZCBidXQgZ290IChvYmplY3QpIG9iamVjdCAiW29iamVj
dCBFdmVudF0iCitGQUlMIExpc3RlbmVyIGZyb20gYSBkaWZmZXJlbnQgZ2xvYmFsIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIG9iamVjdCAiW29iamVjdCBFdmVudF0iIGJ1dCBnb3Qg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkCisKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9ldmVudC1nbG9iYWwtZXh0cmEud2luZG93Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vZXZlbnRzL2V2ZW50LWdsb2JhbC1leHRyYS53aW5kb3cuaHRtbAkobm9uZXhpc3Rl
bnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9l
dmVudHMvZXZlbnQtZ2xvYmFsLWV4dHJhLndpbmRvdy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZy
YXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9ldmVudC1nbG9iYWwtZXh0cmEud2luZG93LmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50
cy9ldmVudC1nbG9iYWwtZXh0cmEud2luZG93LmpzCShyZXZpc2lvbiAyNDg0NDUpCisrKyBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZXZlbnQt
Z2xvYmFsLWV4dHJhLndpbmRvdy5qcwkod29ya2luZyBjb3B5KQpAQCAtNTYsMTYgKzU2LDE2IEBA
IHRlc3QodCA9PiB7CiAgICAgYXNzZXJ0X2VxdWFscyhjb3VudGVyKyssIDMpOwogICB9KSk7CiAg
IGNoaWxkLmFkZEV2ZW50TGlzdGVuZXIoImhpIiwgdC5zdGVwX2Z1bmMoZSA9PiB7Ci0gICAgYXNz
ZXJ0X2VxdWFscyh3aW5kb3cuZXZlbnQsIGUpOworICAgIGFzc2VydF9lcXVhbHMod2luZG93LmV2
ZW50LCB1bmRlZmluZWQpOwogICAgIGFzc2VydF9lcXVhbHMoY291bnRlcisrLCAyKTsKICAgfSkp
OwogICBmdXJ0aGVyQ2hpbGQuYWRkRXZlbnRMaXN0ZW5lcigiaGkiLCB0LnN0ZXBfZnVuYyhlID0+
IHsKICAgICBob3N0LmFwcGVuZENoaWxkKGNoaWxkKTsKLSAgICBhc3NlcnRfZXF1YWxzKHdpbmRv
dy5ldmVudCwgZSk7CisgICAgYXNzZXJ0X2VxdWFscyh3aW5kb3cuZXZlbnQsIHVuZGVmaW5lZCk7
CiAgICAgYXNzZXJ0X2VxdWFscyhjb3VudGVyKyssIDApOwogICB9KSk7CiAgIGZ1cnRoZXJDaGls
ZC5hZGRFdmVudExpc3RlbmVyKCJoaSIsIHQuc3RlcF9mdW5jKGUgPT4gewotICAgIGFzc2VydF9l
cXVhbHMod2luZG93LmV2ZW50LCBlKTsKKyAgICBhc3NlcnRfZXF1YWxzKHdpbmRvdy5ldmVudCwg
dW5kZWZpbmVkKTsKICAgICBhc3NlcnRfZXF1YWxzKGNvdW50ZXIrKywgMSk7CiAgIH0pKTsKICAg
ZnVydGhlckNoaWxkLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJoaSIsIHsgY29tcG9zZWQ6IHRy
dWUsIGJ1YmJsZXM6IHRydWUgfSkpOwpAQCAtNzUsNyArNzUsNyBAQCB0ZXN0KHQgPT4gewogYXN5
bmNfdGVzdCh0ID0+IHsKICAgY29uc3QgZnJhbWUgPSBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpKTsKICAgZnJhbWUuc3JjID0gInJlc291
cmNlcy9ldmVudC1nbG9iYWwtZXh0cmEtZnJhbWUuaHRtbCI7Ci0gIGZyYW1lLm9ubG9hZCA9IHQu
c3RlcF9mdW5jX2RvbmUoKCkgPT4geworICBmcmFtZS5vbmxvYWQgPSB0LnN0ZXBfZnVuY19kb25l
KChsb2FkX2V2ZW50KSA9PiB7CiAgICAgY29uc3QgZXZlbnQgPSBuZXcgRXZlbnQoImhpIik7CiAg
ICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiaGkiLCBmcmFtZS5jb250ZW50V2luZG93Lmxp
c3RlbmVyKTsgLy8gbGlzdGVuZXIgaW50ZW50aW9uYWxseSBub3Qgd3JhcHBlZCBpbiB0LnN0ZXBf
ZnVuYwogICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImhpIiwgdC5zdGVwX2Z1bmMoZSA9
PiB7CkBAIC04NSw2ICs4NSw2IEBAIGFzeW5jX3Rlc3QodCA9PiB7CiAgICAgZG9jdW1lbnQuZGlz
cGF0Y2hFdmVudChldmVudCk7CiAgICAgYXNzZXJ0X2VxdWFscyhmcmFtZVN0YXRlLmV2ZW50LCBl
dmVudCk7CiAgICAgYXNzZXJ0X2VxdWFscyhmcmFtZVN0YXRlLndpbmRvd0V2ZW50LCBldmVudCk7
Ci0gICAgYXNzZXJ0X2VxdWFscyhmcmFtZVN0YXRlLnBhcmVudEV2ZW50LCB1bmRlZmluZWQpOwor
ICAgIGFzc2VydF9lcXVhbHMoZnJhbWVTdGF0ZS5wYXJlbnRFdmVudCwgbG9hZF9ldmVudCk7CiAg
IH0pOwogfSwgIkxpc3RlbmVyIGZyb20gYSBkaWZmZXJlbnQgZ2xvYmFsIik7CkluZGV4OiBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvbGVnYWN5
LXByZS1hY3RpdmF0aW9uLWJlaGF2aW9yLndpbmRvdy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRz
L2xlZ2FjeS1wcmUtYWN0aXZhdGlvbi1iZWhhdmlvci53aW5kb3ctZXhwZWN0ZWQudHh0CShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9sZWdhY3ktcHJlLWFjdGl2YXRpb24tYmVoYXZpb3Iud2luZG93LWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMgQEAKKworUEFTUyBVc2UgTk9ORSBwaGFz
ZSBkdXJpbmcgbGVnYWN5LXByZS1hY3RpdmF0aW9uIGJlaGF2aW9yIAorCkluZGV4OiBMYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvbGVnYWN5LXBy
ZS1hY3RpdmF0aW9uLWJlaGF2aW9yLndpbmRvdy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9sZWdhY3ktcHJl
LWFjdGl2YXRpb24tYmVoYXZpb3Iud2luZG93Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL2xlZ2FjeS1w
cmUtYWN0aXZhdGlvbi1iZWhhdmlvci53aW5kb3cuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFz
dHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvbGVnYWN5LXByZS1hY3RpdmF0aW9uLWJlaGF2aW9yLndpbmRvdy5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvbGVnYWN5LXByZS1hY3RpdmF0aW9uLWJlaGF2aW9yLndpbmRvdy5qcwkobm9u
ZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ldmVudHMvbGVnYWN5LXByZS1hY3RpdmF0aW9uLWJlaGF2aW9yLndpbmRvdy5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACit0ZXN0KHQgPT4geworICBjb25zdCBpbnB1dCA9
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQn
KSk7CisgIGlucHV0LnR5cGUgPSAicmFkaW8iOworICB0LmFkZF9jbGVhbnVwKCgpID0+IGlucHV0
LnJlbW92ZSgpKTsKKyAgY29uc3QgY2xpY2tFdmVudCA9IG5ldyBNb3VzZUV2ZW50KCdjbGljaycs
IHsgYnV0dG9uOiAwLCB3aGljaDogMSB9KTsKKyAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignY2hh
bmdlJywgdC5zdGVwX2Z1bmMoKCkgPT4geworICAgIGFzc2VydF9lcXVhbHMoY2xpY2tFdmVudC5l
dmVudFBoYXNlLCBFdmVudC5OT05FKTsKKyAgfSkpOworICBpbnB1dC5kaXNwYXRjaEV2ZW50KGNs
aWNrRXZlbnQpOworfSwgIlVzZSBOT05FIHBoYXNlIGR1cmluZyBsZWdhY3ktcHJlLWFjdGl2YXRp
b24gYmVoYXZpb3IiKTsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9yZWxhdGVkVGFyZ2V0LndpbmRvdy1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3JlbGF0ZWRUYXJnZXQud2luZG93LWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQp
CisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvcmVsYXRlZFRhcmdldC53aW5kb3ctZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsOCBAQAorCitGQUlMIFJlc2V0IGlmIHRhcmdldCBwb2ludGVkIHRvIGEgc2hhZG93IHRy
ZWUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgbnVsbCBidXQgZ290IERvY3VtZW50RnJhZ21lbnQg
bm9kZSB3aXRoIDEgY2hpbGQKK0ZBSUwgUmV0YXJnZXQgYSBzaGFkb3ctdHJlZSByZWxhdGVkVGFy
Z2V0IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIEVsZW1lbnQgbm9kZSA8ZGl2PjxwPjwvcD48L2Rp
dj4gYnV0IGdvdCBEb2N1bWVudEZyYWdtZW50IG5vZGUgd2l0aCAxIGNoaWxkCitGQUlMIFJlc2V0
IGlmIHRhcmdldCBwb2ludGVkIHRvIGEgc2hhZG93IHRyZWUgcHJlLWRpc3BhdGNoIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUgPGRpdj48L2Rpdj4KK1BB
U1MgUmV0YXJnZXQgYSBzaGFkb3ctdHJlZSByZWxhdGVkVGFyZ2V0LCBwYXJ0IDIgCitGQUlMIFJl
c2V0IHRhcmdldHMgb24gZWFybHkgcmV0dXJuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG51bGwg
YnV0IGdvdCBFbGVtZW50IG5vZGUgPGRpdj48cD48L3A+PC9kaXY+CitGQUlMIFJlc2V0IHRhcmdl
dHMgYmVmb3JlIGFjdGl2YXRpb24gYmVoYXZpb3IgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgbnVs
bCBidXQgZ290IEVsZW1lbnQgbm9kZSA8aW5wdXQgdHlwZT0iY2hlY2tib3giPjwvaW5wdXQ+CisK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2
ZW50cy9yZWxhdGVkVGFyZ2V0LndpbmRvdy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9yZWxhdGVkVGFyZ2V0
LndpbmRvdy5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9yZWxhdGVkVGFyZ2V0LndpbmRvdy5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZv
ciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0t
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zaGFkb3ctcmVsYXRlZFRhcmdldC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3NoYWRvdy1yZWxhdGVkVGFyZ2V0LWV4cGVjdGVkLnR4
dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ldmVudHMvc2hhZG93LXJlbGF0ZWRUYXJnZXQtZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0wLDAgKzEsNSBAQAorCisKK0ZBSUwgcmVsYXRlZFRhcmdldCBzaG91bGQg
bm90IGxlYWsgYXQgY2FwdHVyaW5nIHBoYXNlLCBhdCB3aW5kb3cgb2JqZWN0LiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPGRpdiBpZD0iaG9zdCI+PC9kaXY+IGJ1dCBnb3Qg
RWxlbWVudCBub2RlIDxpbnB1dCBpZD0ic2hhZG93SW5wdXQiPjwvaW5wdXQ+CitQQVNTIHJlbGF0
ZWRUYXJnZXQgc2hvdWxkIG5vdCBsZWFrIGF0IHRhcmdldC4gCisKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zaGFkb3ctcmVsYXRl
ZFRhcmdldC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9zaGFkb3ctcmVsYXRlZFRhcmdldC5odG1sCShub25l
eGlzdGVudCkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy9zaGFkb3ctcmVsYXRlZFRhcmdldC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPCEtLQorICBUaGlzIHRlc3QgaXMgYWRvcHRlZCBmcm9t
IE9sbGkgUGV0dGF5J3MgdGVzdCBjYXNlIGF0CisgIGh0dHA6Ly9tb3ppbGxhLnBldHRheS5maS9z
aGFkb3dfZm9jdXMuaHRtbAorLS0+Cis8ZGl2IGlkPSJob3N0Ij48L2Rpdj4KKzxpbnB1dCBpZD0i
bGlnaHRJbnB1dCI+Cis8c2NyaXB0PgorY29uc3Qgcm9vdCA9IGhvc3QuYXR0YWNoU2hhZG93KHsg
bW9kZTogImNsb3NlZCIgfSk7Cityb290LmlubmVySFRNTCA9ICI8aW5wdXQgaWQ9J3NoYWRvd0lu
cHV0Jz4iOworCithc3luY190ZXN0KCh0ZXN0KSA9PiB7CisgIHJvb3QuZ2V0RWxlbWVudEJ5SWQo
InNoYWRvd0lucHV0IikuZm9jdXMoKTsKKyAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZvY3Vz
IiwgdGVzdC5zdGVwX2Z1bmNfZG9uZSgoZSkgPT4geworICAgIGFzc2VydF9lcXVhbHMoZS5yZWxh
dGVkVGFyZ2V0LCBob3N0KTsKKyAgfSwgInJlbGF0ZWRUYXJnZXQgc2hvdWxkIGJlIHBvaW50aW5n
IHRvIHNoYWRvdyBob3N0LiIpLCB0cnVlKTsKKyAgbGlnaHRJbnB1dC5mb2N1cygpOworfSwgInJl
bGF0ZWRUYXJnZXQgc2hvdWxkIG5vdCBsZWFrIGF0IGNhcHR1cmluZyBwaGFzZSwgYXQgd2luZG93
IG9iamVjdC4iKTsKKworYXN5bmNfdGVzdCgodGVzdCkgPT4geworICByb290LmdldEVsZW1lbnRC
eUlkKCJzaGFkb3dJbnB1dCIpLmZvY3VzKCk7CisgIGxpZ2h0SW5wdXQuYWRkRXZlbnRMaXN0ZW5l
cigiZm9jdXMiLCB0ZXN0LnN0ZXBfZnVuY19kb25lKChlKSA9PiB7CisgICAgYXNzZXJ0X2VxdWFs
cyhlLnJlbGF0ZWRUYXJnZXQsIGhvc3QpOworICB9LCAicmVsYXRlZFRhcmdldCBzaG91bGQgYmUg
cG9pbnRpbmcgdG8gc2hhZG93IGhvc3QuIiksIHRydWUpOworICBsaWdodElucHV0LmZvY3VzKCk7
Cit9LCAicmVsYXRlZFRhcmdldCBzaG91bGQgbm90IGxlYWsgYXQgdGFyZ2V0LiIpOworCis8L3Nj
cmlwdD4KSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL2V2ZW50cy93M2MtaW1wb3J0LmxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvdzNjLWltcG9ydC5sb2cJKHJl
dmlzaW9uIDI0ODQ0NSkKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy93M2MtaW1wb3J0LmxvZwkod29ya2luZyBjb3B5KQpAQCAtMjgsOSAr
MjgsMTEgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtY2xpY2suaHRtbAogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1k
aXNwYXRjaC1kZXRhY2hlZC1jbGljay5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLWhhbmRsZXJzLWNoYW5n
ZWQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L2V2ZW50cy9FdmVudC1kaXNwYXRjaC1saXN0ZW5lci1vcmRlci53aW5kb3cuanMKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlz
cGF0Y2gtbXVsdGlwbGUtY2FuY2VsQnViYmxlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtbXVsdGlwbGUt
c3RvcFByb3BhZ2F0aW9uLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0Y2gtb21pdHRlZC1jYXB0dXJlLmh0bWwK
Ky9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
RXZlbnQtZGlzcGF0Y2gtb24tZGlzYWJsZWQtZWxlbWVudHMuaHRtbAogL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1kaXNwYXRjaC1v
cmRlci5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0V2ZW50LWRpc3BhdGNoLW90aGVyLWRvY3VtZW50Lmh0bWwKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtZGlzcGF0
Y2gtcHJvcGFnYXRpb24tc3RvcHBlZC5odG1sCkBAIC00MSw2ICs0Myw3IEBAIExpc3Qgb2YgZmls
ZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZl
bnRzL0V2ZW50LWRpc3BhdGNoLXRocm93aW5nLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnQtaW5pdC13aGlsZS1kaXNwYXRj
aGluZy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL0V2ZW50LWluaXRFdmVudC5odG1sCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LWlzVHJ1c3RlZC5hbnkuanMKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZl
bnQtcHJvcGFnYXRpb24uaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudC1yZXR1cm5WYWx1ZS5odG1sCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXN1YmNsYXNz
ZXMtY29uc3RydWN0b3JzLmh0bWwKQEAgLTQ4LDYgKzUxLDcgQEAgTGlzdCBvZiBmaWxlczoKIC9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZl
bnQtdGltZXN0YW1wLXNhZmUtcmVzb2x1dGlvbi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50LXR5cGUtZW1wdHkuaHRtbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9F
dmVudC10eXBlLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvRXZlbnRMaXN0ZW5lci1hZGRFdmVudExpc3RlbmVyLnN1Yi53aW5kb3cu
anMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvRXZlbnRMaXN0ZW5lci1oYW5kbGVFdmVudC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50TGlzdGVuZXItaW5jdW1iZW50
LWdsb2JhbC0xLnN1Yi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50TGlzdGVuZXItaW5jdW1iZW50LWdsb2JhbC0yLnN1Yi5o
dG1sCkBAIC02MSw4ICs2NSwxMSBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9FdmVudFRhcmdldC1kaXNwYXRj
aEV2ZW50LXJldHVybnZhbHVlLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtZGlzcGF0Y2hFdmVudC5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2
ZW50VGFyZ2V0LXJlbW92ZUV2ZW50TGlzdGVuZXIuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9kb2N1bWVudC1sZXZlbC10b3VjaG1v
dmUtZXZlbnQtbGlzdGVuZXItcGFzc2l2ZS1ieS1kZWZhdWx0Lmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZGlzYWJsZWQt
ZHluYW1pYy5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vZXZlbnRzL2V2ZW50LWdsb2JhbC1leHRyYS53aW5kb3cuanMKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMvZXZlbnQtZ2xvYmFsLmh0
bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVu
dHMvZXZlbnQtZ2xvYmFsLndvcmtlci5qcworL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL2V2ZW50cy9sZWdhY3ktcHJlLWFjdGl2YXRpb24tYmVoYXZpb3Iu
d2luZG93LmpzCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vZXZlbnRzL3JlbGF0ZWRUYXJnZXQud2luZG93LmpzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL3NoYWRvdy1yZWxhdGVkVGFyZ2V0Lmh0
bWwKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCShyZXZp
c2lvbiAyNDg0NDUpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9u
cwkod29ya2luZyBjb3B5KQpAQCAtMjEsNiArMjEsOCBAQCBmYXN0L3pvb21pbmcvaW9zIFsgUGFz
cyBdCiBodHRwL3Rlc3RzL3ByZWxvYWQvdmlld3BvcnQgWyBQYXNzIF0KIGh0dHAvdGVzdHMvZ3pp
cC1jb250ZW50LWVuY29kaW5nIFsgUGFzcyBdCiAKK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL2V2ZW50cy9kb2N1bWVudC1sZXZlbC10b3VjaG1vdmUtZXZlbnQtbGlzdGVuZXIt
cGFzc2l2ZS1ieS1kZWZhdWx0Lmh0bWwgWyBQYXNzIF0KKwogIy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLwogIyBFbmQgcGxhdGZvcm0tc3BlY2lmaWMgZGlyZWN0b3JpZXMuCiAjLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3MvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vZXZlbnRzL0V2ZW50VGFy
Z2V0LWRpc3BhdGNoRXZlbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ldmVudHMv
RXZlbnRUYXJnZXQtZGlzcGF0Y2hFdmVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI0ODQ0NSkK
KysrIExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ldmVudHMvRXZlbnRUYXJnZXQtZGlzcGF0Y2hFdmVudC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTI1LDUgKzI1LDUgQEAgUEFTUyBJZiB0aGUgZXZlbnQncyBpbml0aWFs
aXplZCBmbGFnIGlzIAogUEFTUyBJZiB0aGUgZXZlbnQncyBkaXNwYXRjaCBmbGFnIGlzIHNldCwg
YW4gSW52YWxpZFN0YXRlRXJyb3IgbXVzdCBiZSB0aHJvd24uIAogUEFTUyBFeGNlcHRpb25zIGZy
b20gZXZlbnQgbGlzdGVuZXJzIG11c3Qgbm90IGJlIHByb3BhZ2F0ZWQuIAogUEFTUyBFdmVudCBs
aXN0ZW5lcnMgYWRkZWQgZHVyaW5nIGRpc3BhdGNoIHNob3VsZCBiZSBjYWxsZWQgCi1GQUlMIEV2
ZW50IGxpc3RlbmVycyBzaG91bGQgYmUgY2FsbGVkIGluIG9yZGVyIG9mIGFkZGl0aW9uIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IHByb3BlcnR5IDEsIGV4cGVjdGVkIDIgYnV0IGdvdCAzCitQQVNTIENh
cHR1cmluZyBldmVudCBsaXN0ZW5lcnMgc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgbm9uLWNhcHR1
cmluZyBvbmVzIAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>