<?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>213668</bug_id>
          
          <creation_ts>2020-06-26 16:32:03 -0700</creation_ts>
          <short_desc>Update web-platform-tests/cors from upstream</short_desc>
          <delta_ts>2020-07-16 09:09:21 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=213709</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>213927</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1666675</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-26 16:32:03 -0700</bug_when>
    <thetext>Update web-platform-tests/cors from upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666679</commentid>
    <comment_count>1</comment_count>
      <attachid>402924</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-26 16:33:26 -0700</bug_when>
    <thetext>Created attachment 402924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666757</commentid>
    <comment_count>2</comment_count>
      <attachid>402924</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-06-27 08:23:22 -0700</bug_when>
    <thetext>Comment on attachment 402924
Patch

rs=me (but please fix the failing tests).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666786</commentid>
    <comment_count>3</comment_count>
      <attachid>402960</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-06-27 10:01:22 -0700</bug_when>
    <thetext>Created attachment 402960
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666794</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-06-27 10:36:47 -0700</bug_when>
    <thetext>Committed r263626: &lt;https://trac.webkit.org/changeset/263626&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 402960.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666795</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-27 10:37:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/64845589&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402924</attachid>
            <date>2020-06-26 16:33:26 -0700</date>
            <delta_ts>2020-06-27 10:01:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213668-20200626163325.patch</filename>
            <type>text/plain</type>
            <size>53217</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNTk1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTkyYzFiYmQxZjI1ZGUxNzdmNTM5
OTk1ZDIyODQ1MzAwNjBiZmM2MC4uZDY0NGJjZDM0YTk5MDc2MGYzYzBmNDRlZDIwYTFiZDY3M2Q1
NTA1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA2LTI2ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cy9jb3Jz
IGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMzY2OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMvY29ycyBmcm9tIHVwc3RyZWFtIGIwNzZj
MzA1YTI1NmU3LgorCisgICAgICAgICogdGVzdHMtb3B0aW9ucy5qc29uOgorCiAyMDIwLTA2LTI2
ICBLYXJsIFJhY2tsZXIgIDxyYWNrbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgZXhw
ZWN0YXRpb24gZm9yIGltcG9ydGVkL3czYy9jYW52YXMvMmQubGluZS5jYXAucm91bmQuaHRtbCBh
cyB0aGV5IGFyZSBwYXNzaW5nLiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDU3
MzFmNjc2Y2FiMGNiYzY3ZTcxZmJmMTA2N2JiNGNhMWRiZmI0OGQuLjcwYmRhYThlNjU0YTRmZDk1
MDg4NmY4NjM2NTBhMTRkNzk1OWYzOWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDIwLTA2LTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CisKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzIGZyb20gdXBzdHJl
YW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMzY2
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0
ZSB3ZWItcGxhdGZvcm0tdGVzdHMvY29ycyBmcm9tIHVwc3RyZWFtIGIwNzZjMzA1YTI1NmU3Lgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvKjogVXBkYXRlZC4KKwogMjAyMC0w
Ni0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSB3
ZWItcGxhdGZvcm0tdGVzdHMvYmVhY29uIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy8zMDQuaHRtIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzLzMwNC5odG0KaW5k
ZXggZjkzY2QyZDcyMjVhOGY4YzI0ZTllODZlY2RiMzQ3YzE3NTIwZWI5My4uMTJjNDRiMGU3Yzk3
NzlmZmY3NzVkMGI3NDNlZjExYjY5MWJjODY3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzLzMwNC5odG0KKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzLzMwNC5odG0KQEAgLTEsNiAr
MSw3IEBACiA8IURPQ1RZUEUgaHRtbD4KIDxtZXRhIGNoYXJzZXQ9dXRmLTg+CiA8dGl0bGU+Q09S
UyAtIDMwNCBSZXNwb25zZXM8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0i
bG9uZyI+CiA8bWV0YSBuYW1lPWF1dGhvciB0aXRsZT0iTWFyayBOb3R0aW5naGFtIiBocmVmPSJt
YWlsdG86bW5vdEBtbm90Lm5ldCI+CiAKIDxzY3JpcHQgc3JjPS9yZXNvdXJjZXMvdGVzdGhhcm5l
c3MuanM+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvcnMvTUVUQS55bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvTUVUQS55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDhkYzczNzA0Zjkz
YTkwYmUwNjFmMGQ1ZTAxYjk1OTM4NDkyY2MwNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9NRVRBLnltbApAQCAtMCww
ICsxLDcgQEAKK3NwZWM6IGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNodHRwLWNvcnMt
cHJvdG9jb2wKK3N1Z2dlc3RlZF9yZXZpZXdlcnM6CisgIC0genF6aGFuZworICAtIG9kaW5obwor
ICAtIGhpbGxicmFkCisgIC0gamRtCisgIC0gYW5uZXZrCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvT1dORVJTIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL09XTkVSUwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYjE2YjA1MmQ4ZTJlMDZiMDg5ZDA0NDE5YzExMTA4MmRmNWU4
YmQwOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvT1dORVJTCisrKyAv
ZGV2L251bGwKQEAgLTEsNSArMCwwIEBACi1AenF6aGFuZwotQG9kaW5obwotQGhpbGxicmFkCi1A
amRtCi1AYW5uZXZrCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvcnMvY2xpZW50LWhpbnQtcmVxdWVzdC1oZWFkZXJzLTIudGVudGF0aXZl
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29ycy9jbGllbnQtaGludC1yZXF1ZXN0LWhlYWRlcnMtMi50ZW50YXRpdmUtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ5ZjIwOTkzMDA2N2FmNmEyMTNiZWIyZTIyYmM4N2Y3NWIyZTE3ZGEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2NvcnMvY2xpZW50LWhpbnQtcmVxdWVzdC1oZWFkZXJzLTIudGVudGF0aXZlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK1JlcXVlc3QgaGVhZGVycworCisKK0ZBSUwgQ2xpZW50
IGhpbnQgaGVhZGVycyBhcmUgc2ltcGxlIGhlYWRlcnMgIEEgbmV0d29yayBlcnJvciBvY2N1cnJl
ZC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb3JzL2NsaWVudC1oaW50LXJlcXVlc3QtaGVhZGVycy0yLnRlbnRhdGl2ZS5odG0gYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvY2xpZW50LWhp
bnQtcmVxdWVzdC1oZWFkZXJzLTIudGVudGF0aXZlLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZWMyMTdjODM0
N2M2OWE1OGIzZDA3M2NkNzUyZmVhMGRlMjI1OWNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2NsaWVudC1oaW50LXJl
cXVlc3QtaGVhZGVycy0yLnRlbnRhdGl2ZS5odG0KQEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkNPUlMgYW5kIENsaWVudCBIaW50
cywgcG90ZW50aWFsbHk8L3RpdGxlPgorCis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXN1cHBvcnQuanM/cGlwZT1zdWI+PC9zY3JpcHQ+
CisKKzxoMT5SZXF1ZXN0IGhlYWRlcnM8L2gxPgorPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0
PgorCit0ZXN0KGZ1bmN0aW9uKCkgeworICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVl
c3QoKQorICAgIGNsaWVudC5vcGVuKCdHRVQnLCBDUk9TU0RPTUFJTiArICdyZXNvdXJjZXMvY29y
cy1tYWtlaGVhZGVyLnB5P2hlYWRlcnM9eC1wcmludCwnLCBmYWxzZSkKKyAgICBjbGllbnQuc2V0
UmVxdWVzdEhlYWRlcigneC1wcmludCcsICd1bmljb3JuJykKKyAgICBjbGllbnQuc2V0UmVxdWVz
dEhlYWRlcignY29udGVudC10eXBlJywgJ3RleHQvcGxhaW4nKQorICAgIGNsaWVudC5zZXRSZXF1
ZXN0SGVhZGVyKCdhY2NlcHQnLCAndGVzdCcpCisgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIo
J2FjY2VwdC1sYW5ndWFnZScsICdubicpCisgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoJ2Nv
bnRlbnQtbGFuZ3VhZ2UnLCAnbm4nKQorICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCdzYXZl
LWRhdGEnLCAnb24nKQorICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCdkZXZpY2UtbWVtb3J5
JywgJzEuMCcpCisgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoJ2RwcicsICcyLjAnKQorICAg
IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCd3aWR0aCcsICczNScpCisgICAgY2xpZW50LnNldFJl
cXVlc3RIZWFkZXIoJ3ZpZXdwb3J0LXdpZHRoJywgJzQyJykKKyAgICBjbGllbnQuc2VuZChudWxs
KQorCisgICAgY29uc3QgcmVzID0gSlNPTi5wYXJzZShjbGllbnQucmVzcG9uc2UpCisgICAgYXNz
ZXJ0X2VxdWFscyhyZXNbJ3gtcHJpbnQnXSwgJ3VuaWNvcm4nKQorICAgIGFzc2VydF9lcXVhbHMo
cmVzWydjb250ZW50LXR5cGUnXSwgJ3RleHQvcGxhaW4nKQorICAgIGFzc2VydF9lcXVhbHMocmVz
WydhY2NlcHQnXSwgJ3Rlc3QnKQorICAgIGFzc2VydF9lcXVhbHMocmVzWydhY2NlcHQtbGFuZ3Vh
Z2UnXSwgJ25uJykKKyAgICBhc3NlcnRfZXF1YWxzKHJlc1snY29udGVudC1sYW5ndWFnZSddLCAn
bm4nKQorICAgIGFzc2VydF9lcXVhbHMocmVzWydzYXZlLWRhdGEnXSwgJ29uJykKKyAgICBhc3Nl
cnRfZXF1YWxzKHJlc1snZGV2aWNlLW1lbW9yeSddLCAnMS4wJykKKyAgICBhc3NlcnRfZXF1YWxz
KHJlc1snZHByJ10sICcyLjAnKQorICAgIGFzc2VydF9lcXVhbHMocmVzWyd3aWR0aCddLCAnMzUn
KQorICAgIGFzc2VydF9lcXVhbHMocmVzWyd2aWV3cG9ydC13aWR0aCddLCAnNDInKQorfSwgJ0Ns
aWVudCBoaW50IGhlYWRlcnMgYXJlIHNpbXBsZSBoZWFkZXJzJykKKworPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMv
Y2xpZW50LWhpbnQtcmVxdWVzdC1oZWFkZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jbGllbnQtaGludC1yZXF1ZXN0LWhl
YWRlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDUwZTNlN2IxZjMyYTI0MTYyODI1NjdmOGM2NDM2Yzk2
YzE3Mzg2NWMuLjYyOWZiNjU5MTVhMzkxYzg0NjdiOWYxZjc4ZWQzYWZjNjczYWJkOGEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9j
bGllbnQtaGludC1yZXF1ZXN0LWhlYWRlcnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jbGllbnQtaGludC1yZXF1ZXN0
LWhlYWRlcnMtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNiBAQAogUmVxdWVzdCBoZWFkZXJzCiAK
IAotRkFJTCBDbGllbnQgaGludCBoZWFkZXJzIGFyZSBzaW1wbGUgaGVhZGVycyAgQSBuZXR3b3Jr
IGVycm9yIG9jY3VycmVkLgogUEFTUyBVbnNwZWNpZmllZCByZXF1ZXN0IGhlYWRlcnMgYXJlIGRp
c2FsbG93ZWQgCiBQQVNTIFVuZXh0cmFjdGFibGUgZGV2aWNlLW1lbW9yeSBjbGllbnQgaGludCBo
ZWFkZXIgaXMgZGlzYWxsb3dlZCAKIFBBU1MgVW5leHRyYWN0YWJsZSBEUFIgY2xpZW50IGhpbnQg
aGVhZGVyIGlzIGRpc2FsbG93ZWQgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvY2xpZW50LWhpbnQtcmVxdWVzdC1oZWFkZXJzLmh0
bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jbGll
bnQtaGludC1yZXF1ZXN0LWhlYWRlcnMuaHRtCmluZGV4IGVlNmM3ZWE3ZTg2ZjAzMmUzZGE5NmU5
OTc0N2M3NDNhMTZiYTQ0ZTIuLjE3ZmJkM2RhYTNmOTc5ZTkzZWVhNDNlYjQzNDdmZDNkMzYyNGM4
MDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29ycy9jbGllbnQtaGludC1yZXF1ZXN0LWhlYWRlcnMuaHRtCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jbGllbnQtaGludC1yZXF1ZXN0
LWhlYWRlcnMuaHRtCkBAIC0xLDYgKzEsNiBAQAogPCFET0NUWVBFIGh0bWw+CiA8bWV0YSBjaGFy
c2V0PXV0Zi04PgotPHRpdGxlPkNPUlMgLSBjbGllbnQgaGludCByZXF1ZXN0IGhlYWRlcnMgLSBB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzPC90aXRsZT4KKzx0aXRsZT5DT1JTIGFuZCBDbGll
bnQgSGludHM8L3RpdGxlPgogCiA8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KQEAgLTEwLDY4ICsxMCw0MCBAQAogPGRpdiBpZD1sb2c+PC9kaXY+CiA8c2NyaXB0
PgogCi10ZXN0KGZ1bmN0aW9uKCkgewotICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVl
c3QoKQotICAgIGNsaWVudC5vcGVuKCdHRVQnLCBDUk9TU0RPTUFJTiArICdyZXNvdXJjZXMvY29y
cy1tYWtlaGVhZGVyLnB5P2hlYWRlcnM9eC1wcmludCwnLCBmYWxzZSkKLSAgICBjbGllbnQuc2V0
UmVxdWVzdEhlYWRlcigneC1wcmludCcsICd1bmljb3JuJykKLSAgICBjbGllbnQuc2V0UmVxdWVz
dEhlYWRlcignY29udGVudC10eXBlJywgJ3RleHQvcGxhaW4nKQotICAgIGNsaWVudC5zZXRSZXF1
ZXN0SGVhZGVyKCdhY2NlcHQnLCAndGVzdCcpCi0gICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIo
J2FjY2VwdC1sYW5ndWFnZScsICdubicpCi0gICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoJ2Nv
bnRlbnQtbGFuZ3VhZ2UnLCAnbm4nKQotICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCdzYXZl
LWRhdGEnLCAnb24nKQotICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCdkZXZpY2UtbWVtb3J5
JywgJzEuMCcpCi0gICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoJ2RwcicsICcyLjAnKQotICAg
IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCd3aWR0aCcsICczNScpCi0gICAgY2xpZW50LnNldFJl
cXVlc3RIZWFkZXIoJ3ZpZXdwb3J0LXdpZHRoJywgJzQyJykKLSAgICBjbGllbnQuc2VuZChudWxs
KQotCi0gICAgY29uc3QgcmVzID0gSlNPTi5wYXJzZShjbGllbnQucmVzcG9uc2UpCi0gICAgYXNz
ZXJ0X2VxdWFscyhyZXNbJ3gtcHJpbnQnXSwgJ3VuaWNvcm4nKQotICAgIGFzc2VydF9lcXVhbHMo
cmVzWydjb250ZW50LXR5cGUnXSwgJ3RleHQvcGxhaW4nKQotICAgIGFzc2VydF9lcXVhbHMocmVz
WydhY2NlcHQnXSwgJ3Rlc3QnKQotICAgIGFzc2VydF9lcXVhbHMocmVzWydhY2NlcHQtbGFuZ3Vh
Z2UnXSwgJ25uJykKLSAgICBhc3NlcnRfZXF1YWxzKHJlc1snY29udGVudC1sYW5ndWFnZSddLCAn
bm4nKQotICAgIGFzc2VydF9lcXVhbHMocmVzWydzYXZlLWRhdGEnXSwgJ29uJykKLSAgICBhc3Nl
cnRfZXF1YWxzKHJlc1snZGV2aWNlLW1lbW9yeSddLCAnMS4wJykKLSAgICBhc3NlcnRfZXF1YWxz
KHJlc1snZHByJ10sICcyLjAnKQotICAgIGFzc2VydF9lcXVhbHMocmVzWyd3aWR0aCddLCAnMzUn
KQotICAgIGFzc2VydF9lcXVhbHMocmVzWyd2aWV3cG9ydC13aWR0aCddLCAnNDInKQotfSwgJ0Ns
aWVudCBoaW50IGhlYWRlcnMgYXJlIHNpbXBsZSBoZWFkZXJzJykKLQogdGVzdChmdW5jdGlvbigp
IHsKICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgICBjbGllbnQub3Bl
bignR0VUJywgQ1JPU1NET01BSU4gKyAncmVzb3VyY2VzL2NvcnMtbWFrZWhlYWRlci5weT9oZWFk
ZXJzPXgtcHJpbnQnLCBmYWxzZSkKICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigneC1wcmlu
dCcsICd1bmljb3JuJykKICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigneS1wcmludCcsICd1
bmljb3JuJykKLSAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsg
Y2xpZW50LnNlbmQobnVsbCkgfSkKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9y
IiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCiB9LCAnVW5zcGVjaWZpZWQgcmVx
dWVzdCBoZWFkZXJzIGFyZSBkaXNhbGxvd2VkJykKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICB2
YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgICBjbGllbnQub3BlbignR0VUJywg
Q1JPU1NET01BSU4gKyAncmVzb3VyY2VzL2NvcnMtbWFrZWhlYWRlci5weT9oZWFkZXJzPXgtcHJp
bnQnLCBmYWxzZSkKICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcignZGV2aWNlLW1lbW9yeScs
ICcnKQotICAgIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGll
bnQuc2VuZChudWxsKSB9KQorICAgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3b3JrRXJyb3IiLCBm
dW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSkKIH0sICdVbmV4dHJhY3RhYmxlIGRldmlj
ZS1tZW1vcnkgY2xpZW50IGhpbnQgaGVhZGVyIGlzIGRpc2FsbG93ZWQnKQogCiB0ZXN0KGZ1bmN0
aW9uKCkgewogICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgIGNsaWVu
dC5vcGVuKCdHRVQnLCBDUk9TU0RPTUFJTiArICdyZXNvdXJjZXMvY29ycy1tYWtlaGVhZGVyLnB5
P2hlYWRlcnM9eC1wcmludCcsIGZhbHNlKQogICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCdk
cHInLCAnJykKLSAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsg
Y2xpZW50LnNlbmQobnVsbCkgfSkKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9y
IiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCiB9LCAnVW5leHRyYWN0YWJsZSBE
UFIgY2xpZW50IGhpbnQgaGVhZGVyIGlzIGRpc2FsbG93ZWQnKQogCiB0ZXN0KGZ1bmN0aW9uKCkg
ewogICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgIGNsaWVudC5vcGVu
KCdHRVQnLCBDUk9TU0RPTUFJTiArICdyZXNvdXJjZXMvY29ycy1tYWtlaGVhZGVyLnB5P2hlYWRl
cnM9eC1wcmludCcsIGZhbHNlKQogICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCd3aWR0aCcs
ICcnKQotICAgIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGll
bnQuc2VuZChudWxsKSB9KQorICAgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3b3JrRXJyb3IiLCBm
dW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSkKIH0sICdVbmV4dHJhY3RhYmxlIHdpZHRo
IGNsaWVudCBoaW50IGhlYWRlciBpcyBkaXNhbGxvd2VkJykKIAogdGVzdChmdW5jdGlvbigpIHsK
ICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKICAgICBjbGllbnQub3Blbign
R0VUJywgQ1JPU1NET01BSU4gKyAncmVzb3VyY2VzL2NvcnMtbWFrZWhlYWRlci5weT9oZWFkZXJz
PXgtcHJpbnQnLCBmYWxzZSkKICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigndmlld3BvcnQt
d2lkdGgnLCAnJykKLSAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigp
IHsgY2xpZW50LnNlbmQobnVsbCkgfSkKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vy
cm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCiB9LCAnVW5leHRyYWN0YWJs
ZSB2aWV3cG9ydC13aWR0aCBjbGllbnQgaGludCBoZWFkZXIgaXMgZGlzYWxsb3dlZCcpCiAKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb3JzL2NvcnMtc2FmZWxpc3RlZC1yZXF1ZXN0LWhlYWRlci5hbnkuanMgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvY29ycy1zYWZlbGlz
dGVkLXJlcXVlc3QtaGVhZGVyLmFueS5qcwppbmRleCBkN2JiNWU3MGI4ZTczOWRiZGQ1N2IwYmY2
MWQ1MGRkNjJkNGQzNzY1Li5kMDkyN2QzMDJmZTYyYWMxMmEwYmQzZDg5ZjAwMTVlMmJhZTBkYTA0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvcnMvY29ycy1zYWZlbGlzdGVkLXJlcXVlc3QtaGVhZGVyLmFueS5qcworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvY29ycy1zYWZlbGlzdGVk
LXJlcXVlc3QtaGVhZGVyLmFueS5qcwpAQCAtMTEsNyArMTEsNyBAQCBmdW5jdGlvbiBzYWZlbGlz
dChoZWFkZXJzLCBleHBlY3RQcmVmbGlnaHQgPSBmYWxzZSkgewogICAgICAgICAgIGNoZWNrVVJM
ID0gInJlc291cmNlcy9wcmVmbGlnaHQucHk/Y2hlY2smdG9rZW49IiArIHV1aWQsCiAgICAgICAg
ICAgcmVxdWVzdCA9ICgpID0+IGZldGNoKHVybCwgeyBtZXRob2Q6ICJQT1NUIiwgaGVhZGVycywg
Ym9keTogImRhdGEiIH0pOwogICAgIGlmIChleHBlY3RQcmVmbGlnaHQpIHsKLSAgICAgIGF3YWl0
IHByb21pc2VfcmVqZWN0cyh0LCBUeXBlRXJyb3IoKSwgcmVxdWVzdCgpKTsKKyAgICAgIGF3YWl0
IHByb21pc2VfcmVqZWN0c19qcyh0LCBUeXBlRXJyb3IsIHJlcXVlc3QoKSk7CiAgICAgfSBlbHNl
IHsKICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgcmVxdWVzdCgpOwogICAgICAgYXNzZXJ0
X2VxdWFscyhyZXNwb25zZS5oZWFkZXJzLmdldCgiY29udGVudC10eXBlIiksICJ0ZXh0L3BsYWlu
Iik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2NvcnMvY3JlZGVudGlhbHMtZmxhZy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvY3JlZGVudGlhbHMtZmxhZy1leHBlY3Rl
ZC50eHQKaW5kZXggYjk1MDJjMDM1ZDFlZDliMTk0YjE5ODAyZmJiN2ZkYzZjMTA1ZjViYy4uOTk5
ZGE5NmEwZTRjZjRjMTg3MjdiNzdjYWUzYjVjYTc3NTg0MDg4MyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2NyZWRlbnRpYWxzLWZs
YWctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY29ycy9jcmVkZW50aWFscy1mbGFnLWV4cGVjdGVkLnR4dApAQCAtOCw3ICs4LDEy
IEBAIEZBSUwgRG9uJ3Qgb2JleSBTZXQtQ29va2llIHdoZW4gd2l0aENyZWRlbnRpYWxzPWZhbHNl
IGFzc2VydF9lcXVhbHM6IHRoaXJkIGV4cGVjCiBQQVNTIEFjY2Vzcy1Db250cm9sLUFsbG93LUNy
ZWRlbnRpYWxzOiBUUlVFIHNob3VsZCBiZSBkaXNhbGxvd2VkIChhc3luYykgCiBQQVNTIEFjY2Vz
cy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzOiBUcnVlIHNob3VsZCBiZSBkaXNhbGxvd2VkIChh
c3luYykgCiBQQVNTIEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzOiAidHJ1ZSIgc2hv
dWxkIGJlIGRpc2FsbG93ZWQgKGFzeW5jKSAKK1BBU1MgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3Jl
ZGVudGlhbHM6ICd0cnVlJyBzaG91bGQgYmUgZGlzYWxsb3dlZCAoYXN5bmMpIAogUEFTUyBBY2Nl
c3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsczogZmFsc2Ugc2hvdWxkIGJlIGRpc2FsbG93ZWQg
KGFzeW5jKSAKIFBBU1MgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM6IDEgc2hvdWxk
IGJlIGRpc2FsbG93ZWQgKGFzeW5jKSAKIFBBU1MgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVu
dGlhbHM6IDAgc2hvdWxkIGJlIGRpc2FsbG93ZWQgKGFzeW5jKSAKK1BBU1MgQWNjZXNzLUNvbnRy
b2wtQWxsb3ctQ3JlZGVudGlhbHM6ICx0cnVlIHNob3VsZCBiZSBkaXNhbGxvd2VkIChhc3luYykg
CitQQVNTIEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzOiB0cnVlLCBzaG91bGQgYmUg
ZGlzYWxsb3dlZCAoYXN5bmMpIAorUEFTUyBBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFs
czogdHJ1ZSUwQiBzaG91bGQgYmUgZGlzYWxsb3dlZCAoYXN5bmMpIAorUEFTUyBBY2Nlc3MtQ29u
dHJvbC1BbGxvdy1DcmVkZW50aWFsczogdHJ1ZSUwQyBzaG91bGQgYmUgZGlzYWxsb3dlZCAoYXN5
bmMpIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2NvcnMvY3JlZGVudGlhbHMtZmxhZy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvY3JlZGVudGlhbHMtZmxhZy5odG0KaW5kZXggYmFj
ZDQzYzRlZDU5ZjFkZjg0ZGY3NDZjMjkwNjU4YWRkNWYwMjU4Mi4uNDVhNzE0MzY4NTYwOTM2NDM5
ODg5ODU1YzM2NDUzNDYzMjk1YWU1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2NyZWRlbnRpYWxzLWZsYWcuaHRtCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jcmVkZW50aWFs
cy1mbGFnLmh0bQpAQCAtMTIyLDggKzEyMiwxMyBAQCBmdW5jdGlvbiB0ZXN0X3Jlc3BvbnNlX2hl
YWRlcihhbGxvdykgewogdGVzdF9yZXNwb25zZV9oZWFkZXIoJ1RSVUUnKQogdGVzdF9yZXNwb25z
ZV9oZWFkZXIoJ1RydWUnKQogdGVzdF9yZXNwb25zZV9oZWFkZXIoJyJ0cnVlIicpCit0ZXN0X3Jl
c3BvbnNlX2hlYWRlcigiJ3RydWUnIik7CiB0ZXN0X3Jlc3BvbnNlX2hlYWRlcignZmFsc2UnKQog
dGVzdF9yZXNwb25zZV9oZWFkZXIoJzEnKQogdGVzdF9yZXNwb25zZV9oZWFkZXIoJzAnKQordGVz
dF9yZXNwb25zZV9oZWFkZXIoJyx0cnVlJyk7Cit0ZXN0X3Jlc3BvbnNlX2hlYWRlcigndHJ1ZSwn
KTsKK3Rlc3RfcmVzcG9uc2VfaGVhZGVyKCd0cnVlJTBCJyk7Cit0ZXN0X3Jlc3BvbnNlX2hlYWRl
cigndHJ1ZSUwQycpOwogCiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9vcmlnaW4tZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL29yaWdpbi1leHBl
Y3RlZC50eHQKaW5kZXggYmQ1NWM4ZWVmMGYxNjU5M2Q4ZDIxMDdmYjVjMDJkMDVlYjc5MWViYS4u
NzRlOGY2NGJlMDk0NGUwNmFjMDhkM2M1YzY2NzE3ODIxOWY1OTVlZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL29yaWdpbi1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jb3JzL29yaWdpbi1leHBlY3RlZC50eHQKQEAgLTMwLDggKzMwLDE0IEBAIFBBU1MgRGlzYWxs
b3cgb3JpZ2luOiBIVFRQOi8vTE9DQUxIT1NUOjg4MDAKIFBBU1MgRGlzYWxsb3cgb3JpZ2luOiBI
VFRQOi8vbG9jYWxob3N0Ojg4MDAgCiBQQVNTIERpc2FsbG93IG9yaWdpbjogLSAKIFBBU1MgRGlz
YWxsb3cgb3JpZ2luOiAqKiAKK1BBU1MgRGlzYWxsb3cgb3JpZ2luOiAsKiAKK1BBU1MgRGlzYWxs
b3cgb3JpZ2luOiAqLCAKIFBBU1MgRGlzYWxsb3cgb3JpZ2luOiBcMCogCitQQVNTIERpc2FsbG93
IG9yaWdpbjogCyogCitQQVNTIERpc2FsbG93IG9yaWdpbjogDCogCiBQQVNTIERpc2FsbG93IG9y
aWdpbjogKlwwIAorUEFTUyBEaXNhbGxvdyBvcmlnaW46ICoLIAorUEFTUyBEaXNhbGxvdyBvcmln
aW46ICoMIAogUEFTUyBEaXNhbGxvdyBvcmlnaW46ICcqJyAKIFBBU1MgRGlzYWxsb3cgb3JpZ2lu
OiAiKiIgCiBQQVNTIERpc2FsbG93IG9yaWdpbjogKiAqIApAQCAtNTIsNyArNTgsNyBAQCBQQVNT
IERpc2FsbG93IG9yaWdpbjogaHR0cDovLzEyNy4wLjAuMTo4ODAwL2NvcnMvCiBQQVNTIERpc2Fs
bG93IG9yaWdpbjogbG9jYWxob3N0Ojg4MDAgCiBQQVNTIERpc2FsbG93IG9yaWdpbjogLmxvY2Fs
aG9zdDo4ODAwIAogUEFTUyBEaXNhbGxvdyBvcmlnaW46ICoubG9jYWxob3N0Ojg4MDAgCi1GQUlM
IERpc2FsbG93IG9yaWdpbjogaHR0cDovL2xvY2FsaG9zdDo4ODAwIGFzc2VydF90aHJvd3M6IHNl
bmQgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgY2xpZW50LnNlbmQoKSB9IiBkaWQgbm90IHRocm93
CitGQUlMIERpc2FsbG93IG9yaWdpbjogaHR0cDovL2xvY2FsaG9zdDo4ODAwIGFzc2VydF90aHJv
d3NfZG9tOiBzZW5kIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IGNsaWVudC5zZW5kKCkgfSIgZGlk
IG5vdCB0aHJvdwogUEFTUyBEaXNhbGxvdyBvcmlnaW46IGh0dHA6Ly8ubG9jYWxob3N0Ojg4MDAg
CiBQQVNTIERpc2FsbG93IG9yaWdpbjogaHR0cDovLyoubG9jYWxob3N0Ojg4MDAgCiBQQVNTIERp
c2FsbG93IG11bHRpcGxlIGhlYWRlcnMgKCwgKikgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvb3JpZ2luLmh0bSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9vcmlnaW4uaHRtCmluZGV4
IGEwNGEyOWViNDk3Zjc2NWFjZjczZTg2NWFjOTJhNjM2NmQxOTgyZjkuLjNkNDYwMDI5MzNiYjNj
ZTZlMjFkYThjZjZhNGNiY2QwNmQ1MDYwMmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9vcmlnaW4uaHRtCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9vcmlnaW4uaHRtCkBAIC0x
LDYgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8bWV0YSBjaGFyc2V0PXV0Zi04PgogPHRpdGxl
PkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiBoYW5kbGluZzwvdGl0bGU+Cis8bWV0YSBuYW1l
PSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxsaW5rIHJlbD1oZWxwIGhyZWY9aHR0cHM6Ly9m
ZXRjaC5zcGVjLndoYXR3Zy5vcmcvPgogPG1ldGEgbmFtZT1hdXRob3IgdGl0bGU9Ik9kaW4gSMO4
cnRoZSBPbWRhbCIgaHJlZj0ibWFpbHRvOm9kaWhvQG9wZXJhLmNvbSI+CiAKQEAgLTQ3LDcgKzQ4
LDcgQEAgZnVuY3Rpb24gc2hvdWxkRmFpbChvcmlnaW4pIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICArICcvcmVzb3VyY2VzL2NvcnMtbWFrZWhlYWRlci5weT9vcmlnaW49JwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICsgZW5jb2RlVVJJQ29tcG9uZW50KG9yaWdpbiksCiAgICAg
ICAgICAgICAgICAgICAgIGZhbHNlKQotICAgICAgICBhc3NlcnRfdGhyb3dzKCJOZXR3b3JrRXJy
b3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQoKSB9LCAnc2VuZCcpCisgICAgICAgIGFzc2Vy
dF90aHJvd3NfZG9tKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQoKSB9
LCAnc2VuZCcpCiAgICAgfSwgJ0Rpc2FsbG93IG9yaWdpbjogJyArIG9yaWdpbi5yZXBsYWNlKC9c
MC9nLCAiXFwwIikpOwogfQogCkBAIC03MSw4ICs3MiwxNCBAQCBzaG91bGRGYWlsKChsb2NhdGlv
bi5wcm90b2NvbCArICIvLyIgKyBsb2NhdGlvbi5ob3N0KS50b1VwcGVyQ2FzZSgpKQogc2hvdWxk
RmFpbChsb2NhdGlvbi5wcm90b2NvbC50b1VwcGVyQ2FzZSgpICsgIi8vIiArIGxvY2F0aW9uLmhv
c3QpCiBzaG91bGRGYWlsKCItIikKIHNob3VsZEZhaWwoIioqIikKK3Nob3VsZEZhaWwoIiwqIik7
CitzaG91bGRGYWlsKCIqLCIpOwogc2hvdWxkRmFpbCgiXDAqIikKK3Nob3VsZEZhaWwoIlx1MDAw
QioiKTsKK3Nob3VsZEZhaWwoIlx1MDAwQyoiKTsKIHNob3VsZEZhaWwoIipcMCIpCitzaG91bGRG
YWlsKCIqXHUwMDBCIik7CitzaG91bGRGYWlsKCIqXHUwMDBDIik7CiBzaG91bGRGYWlsKCInKici
KQogc2hvdWxkRmFpbCgnIioiJykKIHNob3VsZEZhaWwoIiogKiIpCkBAIC0xMDUsNyArMTEyLDcg
QEAgZnVuY3Rpb24gZG91YmxlT3JpZ2luKG9yaWdpbiwgb3JpZ2luMikgewogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICsgZW5jb2RlVVJJQ29tcG9uZW50KG9yaWdpbikKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICArICcmb3JpZ2luMj0nICsgZW5jb2RlVVJJQ29tcG9uZW50KG9yaWdp
bjIpLAogICAgICAgICAgICAgICAgICAgICBmYWxzZSkKLSAgICAgICAgYXNzZXJ0X3Rocm93cygi
TmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKCkgfSwgJ3NlbmQnKQorICAg
ICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVu
dC5zZW5kKCkgfSwgJ3NlbmQnKQogICAgIH0sICdEaXNhbGxvdyBtdWx0aXBsZSBoZWFkZXJzICgn
ICsgb3JpZ2luICsgJywgJyArIG9yaWdpbjIgKyAnKScpOwogfQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcHJlZmxpZ2h0LWNh
Y2hlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29ycy9wcmVmbGlnaHQtY2FjaGUtZXhwZWN0ZWQudHh0CmluZGV4IDA2NjE5NGEyN2U0
YTYzODMxMTk5OTc5NTNlZDA5MGI2ODE5YTE3YjQuLjE1YzM4ODAzOWM4NWM2ZTc4M2E0NmY1OGUx
YzUxZmY3ZTdmNzE3Y2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29ycy9wcmVmbGlnaHQtY2FjaGUtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9wcmVmbGlnaHQt
Y2FjaGUtZXhwZWN0ZWQudHh0CkBAIC0zLDYgKzMsNyBAQCBQcmVmbGlnaHQgY2FjaGUKIAogUEFT
UyBUZXN0IHByZWZsaWdodCAKIFBBU1MgcHJlZmxpZ2h0IGZvciB4LXByaW50IHNob3VsZCBiZSBj
YWNoZWQgCitQQVNTIGFnZSA9IGJsYW5rLCBzaG91bGQgYmUgY2FjaGVkIAogUEFTUyBhZ2UgPSAw
LCBzaG91bGQgbm90IGJlIGNhY2hlZCAKIEZBSUwgYWdlID0gLTEsIHNob3VsZCBub3QgYmUgY2Fj
aGVkIGFzc2VydF9lcXVhbHM6IGRpZCBwcmVmbGlnaHQgZXhwZWN0ZWQgIjEiIGJ1dCBnb3QgIjAi
CiBQQVNTIHByZWZsaWdodCBmaXJzdCByZXF1ZXN0LCBzZWNvbmQgZnJvbSBjYWNoZSwgd2FpdCwg
dGhpcmQgc2hvdWxkIHByZWZsaWdodCBhZ2FpbiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9wcmVmbGlnaHQtY2FjaGUuaHRtIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3ByZWZsaWdo
dC1jYWNoZS5odG0KaW5kZXggNzJlMGZlZGI4YmVlOGU0MjAxZDRhMmJmNzZkY2I0OTI0ZDY3ZDc5
OS4uYjNkZTY2M2ViYzFkMzI0MDljOGVkMzc2YTM4NzNiMmEyYjY3NWViNSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3ByZWZsaWdo
dC1jYWNoZS5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb3JzL3ByZWZsaWdodC1jYWNoZS5odG0KQEAgLTEsNiArMSw3IEBACiA8IURPQ1RZUEUg
aHRtbD4KIDxtZXRhIGNoYXJzZXQ9dXRmLTg+CiA8dGl0bGU+Q09SUyAtIHByZWZsaWdodCBjYWNo
ZTwvdGl0bGU+Cis8bWV0YSBuYW1lPSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxtZXRhIG5h
bWU9YXV0aG9yIHRpdGxlPSJPZGluIEjDuHJ0aGUgT21kYWwiIGhyZWY9Im1haWx0bzpvZGlob0Bv
cGVyYS5jb20iPgogCiA8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzPjwvc2Ny
aXB0PgpAQCAtNTksNiArNjAsMTUgQEAgdGVzdChmdW5jdGlvbigpIHsKIH0sCiAncHJlZmxpZ2h0
IGZvciB4LXByaW50IHNob3VsZCBiZSBjYWNoZWQnKQogCit0ZXN0KGZ1bmN0aW9uKCkgeworICAg
IHZhciB0aW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCkKKyAgICB2YXIgY2xpZW50ID0gbmV3IFhN
TEh0dHBSZXF1ZXN0KCkKKworICAgIHZhciBpZCA9IGRpZF9wcmVmbGlnaHQodHJ1ZSwgY2xpZW50
LCB7ZXh0cmE6J21heF9hZ2U9J30pCisgICAgZGlkX3ByZWZsaWdodChmYWxzZSwgY2xpZW50LCB7
ZXh0cmE6J21heF9hZ2U9JywgdG9rZW46IGlkfSkKK30sCisnYWdlID0gYmxhbmssIHNob3VsZCBi
ZSBjYWNoZWQnKQorCiB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIHZhciB0aW1lID0gbmV3IERhdGUo
KS5nZXRUaW1lKCkKICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCkKQEAgLTc4
LDcgKzg4LDcgQEAgdGVzdChmdW5jdGlvbigpIHsKICdhZ2UgPSAtMSwgc2hvdWxkIG5vdCBiZSBj
YWNoZWQnKTsKIAogKGZ1bmN0aW9uKCkgewotICAgIHZhciB0ZXN0ID0gYXN5bmNfdGVzdCgicHJl
ZmxpZ2h0IGZpcnN0IHJlcXVlc3QsIHNlY29uZCBmcm9tIGNhY2hlLCB3YWl0LCB0aGlyZCBzaG91
bGQgcHJlZmxpZ2h0IGFnYWluIiwgeyB0aW1lb3V0OiA2MDAwIH0pLAorICAgIHZhciB0ZXN0ID0g
YXN5bmNfdGVzdCgicHJlZmxpZ2h0IGZpcnN0IHJlcXVlc3QsIHNlY29uZCBmcm9tIGNhY2hlLCB3
YWl0LCB0aGlyZCBzaG91bGQgcHJlZmxpZ2h0IGFnYWluIiksCiAgICAgICAgIHRpbWUgPSBuZXcg
RGF0ZSgpLmdldFRpbWUoKSwKICAgICAgICAgZG90aGluZyA9IGZ1bmN0aW9uICh1cmwsIG1zZywg
c2V0X3JlcXVlc3QsIGZ1bmMpIHsKICAgICAgICAgICAgIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVx
dWVzdCgpLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb3JzL3JlcXVlc3QtaGVhZGVycy5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVxdWVzdC1oZWFkZXJzLmh0bQppbmRleCAyODlm
NDAyMTkxZWJiZDdkNDdkNzBlMTNhNThmMzBiOGRiNjI1MjBmLi43NjM0ZWNhOWZjOGJmMWE3MTRi
ZmIzNTVjN2U0MmIzOGI1MTFkODA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVxdWVzdC1oZWFkZXJzLmh0bQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVxdWVzdC1oZWFk
ZXJzLmh0bQpAQCAtNDgsNyArNDgsNyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIGNsaWVudC5v
cGVuKCdHRVQnLCBDUk9TU0RPTUFJTiArICdyZXNvdXJjZXMvY29ycy1tYWtlaGVhZGVyLnB5P2hl
YWRlcnM9eC1wcmludCcsIGZhbHNlKQogICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCd4LXBy
aW50JywgJ3VuaWNvcm4nKQogICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCd5LXByaW50Jywg
J3VuaWNvcm4nKQotICAgIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkg
eyBjbGllbnQuc2VuZChudWxsKSB9KQorICAgIGFzc2VydF90aHJvd3NfZG9tKCJOZXR3b3JrRXJy
b3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSkKIH0sICdVbnNwZWNpZmllZCBy
ZXF1ZXN0IGhlYWRlcnMgYXJlIGRpc2FsbG93ZWQnKQogCiB0ZXN0KGZ1bmN0aW9uKCkgewpAQCAt
NjUsNyArNjUsNyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewogCiB0ZXN0KGZ1bmN0aW9uKCkgewogICAg
IHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQotICAgIGFzc2VydF90aHJvd3MoJ0lO
VkFMSURfU1RBVEVfRVJSJywgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCd4
LXByaW50JywgJ3VuaWNvcm4nKSB9KQorICAgIGFzc2VydF90aHJvd3NfZG9tKCdJTlZBTElEX1NU
QVRFX0VSUicsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigneC1wcmludCcs
ICd1bmljb3JuJykgfSkKIH0sCiAnSU5WQUxJRF9TVEFURV9FUlIgb24gc2V0UmVxdWVzdEhlYWRl
ciBiZWZvcmUgb3BlbigpJykKIApAQCAtNzMsNyArNzMsNyBAQCB0ZXN0KGZ1bmN0aW9uKCkgewog
ICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgIGNsaWVudC5vcGVuKCdH
RVQnLCBDUk9TU0RPTUFJTiArICdyZXNvdXJjZXMvY29ycy1tYWtlaGVhZGVyLnB5P2hlYWRlcnM9
LHktbG9sLHgtUHJpTlQsJTIwLCwsWS1QUklOVCcsIGZhbHNlKQogICAgIGNsaWVudC5zZW5kKCkK
LSAgICBhc3NlcnRfdGhyb3dzKCdJTlZBTElEX1NUQVRFX0VSUicsIGZ1bmN0aW9uKCkgeyBjbGll
bnQuc2V0UmVxdWVzdEhlYWRlcigneC1wcmludCcsICd1bmljb3JuJykgfSkKKyAgICBhc3NlcnRf
dGhyb3dzX2RvbSgnSU5WQUxJRF9TVEFURV9FUlInLCBmdW5jdGlvbigpIHsgY2xpZW50LnNldFJl
cXVlc3RIZWFkZXIoJ3gtcHJpbnQnLCAndW5pY29ybicpIH0pCiB9LAogJ0lOVkFMSURfU1RBVEVf
RVJSIG9uIHNldFJlcXVlc3RIZWFkZXIgYWZ0ZXIgc2VuZCgpJykKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy8z
MDQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMv
cmVzb3VyY2VzLzMwNC5weQppbmRleCAyZmM4M2I5YWVhMzg3OTMyMGE3NmQ3ZGY0NGVjYThmMTZm
MDUwYmIyLi44ZmRmMjlhMzEzMjAzZDkxOWU3NzUzYzgxMTRjNWVlOWIyODIzODJkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVz
b3VyY2VzLzMwNC5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2NvcnMvcmVzb3VyY2VzLzMwNC5weQpAQCAtMSw2MiArMSw2MiBAQAogIyEvdXNyL2Jp
bi9lbnYgcHl0aG9uCiAKICMgQSBoZWFkZXIgdXNlZCB0byBjb3JyZWxhdGUgcmVxdWVzdHMgYW5k
IHJlc3BvbnNlcwotc3RhdGVfaGVhZGVyID0gImNvbnRlbnQtbGFuZ3VhZ2UiCitzdGF0ZV9oZWFk
ZXIgPSBiImNvbnRlbnQtbGFuZ3VhZ2UiCiAKICMgU3RhdGljIEVUYWcgdG8gdXNlIChhbmQgZXhw
ZWN0KQotZXRhZyA9ICJhYmNkZWYiCitldGFnID0gYiJhYmNkZWYiCiAKIGRlZiBlcnJvcihtc2cp
OgotICAgIHJldHVybiAoMjk5LCAiQ2xpZW50IEVycm9yIiksIFsKLSAgICAgICAgKCdjb250ZW50
LXR5cGUnLCAndGV4dC9wbGFpbicpLAotICAgICAgICAoJ2FjY2Vzcy1jb250cm9sLWFsbG93LW9y
aWdpbicsICIqIiksCi0gICAgICAgICgnYWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnMnLCBz
dGF0ZV9oZWFkZXIpLAotICAgICAgICAoJ2NhY2hlLWNvbnRyb2wnLCAnbm8tc3RvcmUnKQorICAg
IHJldHVybiAoMjk5LCB1IkNsaWVudCBFcnJvciIpLCBbCisgICAgICAgIChiJ2NvbnRlbnQtdHlw
ZScsIGIndGV4dC9wbGFpbicpLAorICAgICAgICAoYidhY2Nlc3MtY29udHJvbC1hbGxvdy1vcmln
aW4nLCBiIioiKSwKKyAgICAgICAgKGInYWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnMnLCBz
dGF0ZV9oZWFkZXIpLAorICAgICAgICAoYidjYWNoZS1jb250cm9sJywgYiduby1zdG9yZScpCiAg
ICAgXSwgbXNnCiAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICBoZWFkZXJzID0g
W10KIAotICAgIGlubSA9IHJlcXVlc3QuaGVhZGVycy5nZXQoJ2lmLW5vbmUtbWF0Y2gnLCBOb25l
KQorICAgIGlubSA9IHJlcXVlc3QuaGVhZGVycy5nZXQoYidpZi1ub25lLW1hdGNoJywgTm9uZSkK
ICAgICByYXdfcmVxX251bSA9IHJlcXVlc3QuaGVhZGVycy5nZXQoc3RhdGVfaGVhZGVyLCBOb25l
KQogICAgIGlmIHJhd19yZXFfbnVtID09IE5vbmU6Ci0gICAgICAgIHJldHVybiBlcnJvcigibm8g
cmVxX251bSBoZWFkZXIgaW4gcmVxdWVzdCIpCisgICAgICAgIHJldHVybiBlcnJvcih1Im5vIHJl
cV9udW0gaGVhZGVyIGluIHJlcXVlc3QiKQogICAgIGVsc2U6CiAgICAgICAgIHJlcV9udW0gPSBp
bnQocmF3X3JlcV9udW0pCiAgICAgICAgIGlmIHJlcV9udW0gPiA4OgotICAgICAgICAgICAgcmV0
dXJuIGVycm9yKCJyZXFfbnVtICVzIG91dCBvZiByYW5nZSIgJSByZXFfbnVtKQorICAgICAgICAg
ICAgcmV0dXJuIGVycm9yKHUicmVxX251bSAlcyBvdXQgb2YgcmFuZ2UiICUgcmVxX251bSkKIAot
ICAgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMiLCBzdGF0
ZV9oZWFkZXIpKQorICAgIGhlYWRlcnMuYXBwZW5kKChiIkFjY2Vzcy1Db250cm9sLUV4cG9zZS1I
ZWFkZXJzIiwgc3RhdGVfaGVhZGVyKSkKICAgICBoZWFkZXJzLmFwcGVuZCgoc3RhdGVfaGVhZGVy
LCByZXFfbnVtKSkKLSAgICBoZWFkZXJzLmFwcGVuZCgoIkEiLCByZXFfbnVtKSkKLSAgICBoZWFk
ZXJzLmFwcGVuZCgoIkIiLCByZXFfbnVtKSkKKyAgICBoZWFkZXJzLmFwcGVuZCgoYiJBIiwgcmVx
X251bSkpCisgICAgaGVhZGVycy5hcHBlbmQoKGIiQiIsIHJlcV9udW0pKQogCiAgICAgaWYgcmVx
X251bSAlIDI6ICAjIG9kZCByZXF1ZXN0cyBhcmUgdGhlIGZpcnN0IGluIGEgdGVzdCBwYWlyCiAg
ICAgICAgIGlmIGlubToKICAgICAgICAgICAgICMgd2hhdCBhcmUgeW91IGRvaW5nIGhlcmU/IFRo
aXMgc2hvdWxkIGJlIGEgZnJlc2ggcmVxdWVzdC4KLSAgICAgICAgICAgIHJldHVybiBlcnJvcigi
SWYtTm9uZS1NYXRjaCBvbiBmaXJzdCByZXF1ZXN0IikKKyAgICAgICAgICAgIHJldHVybiBlcnJv
cih1IklmLU5vbmUtTWF0Y2ggb24gZmlyc3QgcmVxdWVzdCIpCiAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICBzdGF0dXMgPSAyMDAsICJPSyIKLSAgICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgIioiKSkKLSAgICAgICAgICAgIGhlYWRlcnMu
YXBwZW5kKCgiQ29udGVudC1UeXBlIiwgInRleHQvcGxhaW4iKSkKLSAgICAgICAgICAgIGhlYWRl
cnMuYXBwZW5kKCgiQ2FjaGUtQ29udHJvbCIsICJwcml2YXRlLCBtYXgtYWdlPTMsIG11c3QtcmV2
YWxpZGF0ZSIpKQotICAgICAgICAgICAgaGVhZGVycy5hcHBlbmQoKCJFVGFnIiwgZXRhZykpCi0g
ICAgICAgICAgICByZXR1cm4gc3RhdHVzLCBoZWFkZXJzLCAiU3VjY2VzcyIKKyAgICAgICAgICAg
IHN0YXR1cyA9IDIwMCwgdSJPSyIKKyAgICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKChiIkFjY2Vz
cy1Db250cm9sLUFsbG93LU9yaWdpbiIsIGIiKiIpKQorICAgICAgICAgICAgaGVhZGVycy5hcHBl
bmQoKGIiQ29udGVudC1UeXBlIiwgYiJ0ZXh0L3BsYWluIikpCisgICAgICAgICAgICBoZWFkZXJz
LmFwcGVuZCgoYiJDYWNoZS1Db250cm9sIiwgYiJwcml2YXRlLCBtYXgtYWdlPTMsIG11c3QtcmV2
YWxpZGF0ZSIpKQorICAgICAgICAgICAgaGVhZGVycy5hcHBlbmQoKGIiRVRhZyIsIGV0YWcpKQor
ICAgICAgICAgICAgcmV0dXJuIHN0YXR1cywgaGVhZGVycywgdSJTdWNjZXNzIgogICAgIGVsc2U6
ICAjIGV2ZW4gcmVxdWVzdHMgYXJlIHRoZSBzZWNvbmQgaW4gYSBwYWlyLCBhbmQgc2hvdWxkIGhh
dmUgYSBnb29kIElOTS4KICAgICAgICAgaWYgaW5tICE9IGV0YWc6CiAgICAgICAgICAgICAjIEJh
ZCBicm93c2VyLgogICAgICAgICAgICAgaWYgaW5tID09IE5vbmU6Ci0gICAgICAgICAgICAgICAg
cmV0dXJuIGVycm9yKCJJZi1Ob25lLU1hdGNoIG1pc3NpbmciKQorICAgICAgICAgICAgICAgIHJl
dHVybiBlcnJvcih1IklmLU5vbmUtTWF0Y2ggbWlzc2luZyIpCiAgICAgICAgICAgICBlbHNlOgot
ICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcigiSWYtTm9uZS1NYXRjaCAnJXMnIG1pc21hdGNo
ZXMiKQorICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcih1IklmLU5vbmUtTWF0Y2ggJyVzJyBt
aXNtYXRjaGVzIikKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGlmIHJlcV9udW0gPT0gMjoK
ICAgICAgICAgICAgICAgICBwYXNzICAjIGJhc2ljLCB2YW5pbGxhIGNoZWNrCiAgICAgICAgICAg
ICBlbGlmIHJlcV9udW0gPT0gNDoKLSAgICAgICAgICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkFj
Y2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzIiwgImEsIGIiKSkKKyAgICAgICAgICAgICAgICBo
ZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1FeHBvc2UtSGVhZGVycyIsIGIiYSwgYiIp
KQogICAgICAgICAgICAgZWxpZiByZXFfbnVtID09IDY6Ci0gICAgICAgICAgICAgICAgaGVhZGVy
cy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1FeHBvc2UtSGVhZGVycyIsICJhIikpCisgICAgICAg
ICAgICAgICAgaGVhZGVycy5hcHBlbmQoKGIiQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMi
LCBiImEiKSkKICAgICAgICAgICAgIGVsaWYgcmVxX251bSA9PSA4OgotICAgICAgICAgICAgICAg
IGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgIm90aGVyLm9y
aWdpbi5leGFtcGxlOjgwIikpCi0gICAgICAgICAgICBzdGF0dXMgPSAzMDQsICJOb3QgTW9kaWZp
ZWQiCi0gICAgICAgICAgICByZXR1cm4gc3RhdHVzLCBoZWFkZXJzLCAiIgorICAgICAgICAgICAg
ICAgIGhlYWRlcnMuYXBwZW5kKChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIGIib3Ro
ZXIub3JpZ2luLmV4YW1wbGU6ODAiKSkKKyAgICAgICAgICAgIHN0YXR1cyA9IDMwNCwgdSJOb3Qg
TW9kaWZpZWQiCisgICAgICAgICAgICByZXR1cm4gc3RhdHVzLCBoZWFkZXJzLCB1IiIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9y
ZXNvdXJjZXMvY2FjaGUtMzA0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9jYWNoZS0zMDQucHkKaW5kZXggN2FjZGZkNjk3Njgy
MDBkZjEwOTgxYmIzMWM5NzYzNDgwMGM3NzQ0MS4uNDFjZDE2ZDlhMmQ1YzAxNjg3M2MwZGU1NTk3
OGZmZDkxYWE3M2Y3NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9jYWNoZS0zMDQucHkKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9jYWNoZS0z
MDQucHkKQEAgLTEsMTAgKzEsMTAgQEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAg
ICBtYXRjaCA9IHJlcXVlc3QuaGVhZGVycy5nZXQoIklmLU5vbmUtTWF0Y2giLCBOb25lKQotICAg
IGlmIG1hdGNoIGlzIG5vdCBOb25lIGFuZCBtYXRjaCA9PSAibXliZXN0c2NyaXB0LXYxIjoKLSAg
ICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gKDMwNCwgIllFUCIpCi0gICAgICAgIHJldHVybiAiIgot
ICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAi
KiIpCi0gICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkNhY2hlLUNvbnRyb2wiLCAibXVzdC1yZXZh
bGlkYXRlIikKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiRVRhZyIsICJteWJlc3RzY3JpcHQt
djEiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJDb250ZW50LVR5cGUiLCAidGV4dC9qYXZh
c2NyaXB0IikKLSAgICByZXR1cm4gImZ1bmN0aW9uIGhlcCgpIHsgfSIKKyAgICBtYXRjaCA9IHJl
cXVlc3QuaGVhZGVycy5nZXQoYiJJZi1Ob25lLU1hdGNoIiwgTm9uZSkKKyAgICBpZiBtYXRjaCBp
cyBub3QgTm9uZSBhbmQgbWF0Y2ggPT0gYiJteWJlc3RzY3JpcHQtdjEiOgorICAgICAgICByZXNw
b25zZS5zdGF0dXMgPSAoMzA0LCB1IllFUCIpCisgICAgICAgIHJldHVybiB1IiIKKyAgICByZXNw
b25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIGIiKiIpCisg
ICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJDYWNoZS1Db250cm9sIiwgYiJtdXN0LXJldmFsaWRh
dGUiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiRVRhZyIsIGIibXliZXN0c2NyaXB0LXYx
IikKKyAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIGIidGV4dC9qYXZh
c2NyaXB0IikKKyAgICByZXR1cm4gdSJmdW5jdGlvbiBoZXAoKSB7IH0iCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2Vz
L2NoZWNrYW5kcmVtb3ZlLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb3JzL3Jlc291cmNlcy9jaGVja2FuZHJlbW92ZS5weQppbmRleCBmNzEzZDk5MGFm
Y2RkYjBjZjAwMDQ5OWM2YjlhMmUzN2IxNzQ4MWQwLi41Y2Q3ODY4MTk5ZjMyZTNjOGUzNTI5MTcy
Nzg1MjY3YTFhZDZlZTNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL2NoZWNrYW5kcmVtb3ZlLnB5CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMv
Y2hlY2thbmRyZW1vdmUucHkKQEAgLTEsNiArMSw2IEBACiBkZWYgbWFpbihyZXF1ZXN0LCByZXNw
b25zZSk6Ci0gICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iKQorICAgIHRva2Vu
ID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJ0b2tlbiIpCiAgICAgaWYgcmVxdWVzdC5zZXJ2ZXIuc3Rh
c2gucmVtb3ZlKHRva2VuKSBpcyBub3QgTm9uZToKLSAgICAgICAgcmV0dXJuICIxIgorICAgICAg
ICByZXR1cm4gdSIxIgogICAgIGVsc2U6Ci0gICAgICAgIHJldHVybiAiMCIKKyAgICAgICAgcmV0
dXJuIHUiMCIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvY29ycy1jb29raWUucHkgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL2NvcnMtY29va2llLnB5
CmluZGV4IDA2MTU2M2U0ZjIwNzhjNDRmOWFhZDNhM2U4ZDg3YjQ1M2IxYWYxZmIuLmVlNDI0OTRh
ZDA1M2U5NDYyZTZiZmUxOTgyZjc3ZTBjODQ0MmU5ODQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvY29ycy1jb29r
aWUucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b3JzL3Jlc291cmNlcy9jb3JzLWNvb2tpZS5weQpAQCAtMSwyMSArMSwyMSBAQAogCiBkZWYgbWFp
bihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgb3JpZ2luID0gcmVxdWVzdC5HRVQuZmlyc3QoIm9y
aWdpbiIsIHJlcXVlc3QuaGVhZGVyc1sib3JpZ2luIl0pCi0gICAgY3JlZGVudGlhbHMgPSByZXF1
ZXN0LkdFVC5maXJzdCgiY3JlZGVudGlhbHMiLCAidHJ1ZSIpCisgICAgb3JpZ2luID0gcmVxdWVz
dC5HRVQuZmlyc3QoYiJvcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnNbYiJvcmlnaW4iXSkKKyAgICBj
cmVkZW50aWFscyA9IHJlcXVlc3QuR0VULmZpcnN0KGIiY3JlZGVudGlhbHMiLCBiInRydWUiKQog
Ci0gICAgaGVhZGVycyA9IFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIildCi0gICAgaWYg
b3JpZ2luICE9ICdub25lJzoKLSAgICAgICAgaGVhZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4iLCBvcmlnaW4pKQotICAgIGlmIGNyZWRlbnRpYWxzICE9ICdub25lJzoK
LSAgICAgICAgaGVhZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFs
cyIsIGNyZWRlbnRpYWxzKSkKKyAgICBoZWFkZXJzID0gWyhiIkNvbnRlbnQtVHlwZSIsIGIidGV4
dC9wbGFpbiIpXQorICAgIGlmIG9yaWdpbiAhPSBiJ25vbmUnOgorICAgICAgICBoZWFkZXJzLmFw
cGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBvcmlnaW4pKQorICAgIGlmIGNy
ZWRlbnRpYWxzICE9IGInbm9uZSc6CisgICAgICAgIGhlYWRlcnMuYXBwZW5kKChiIkFjY2Vzcy1D
b250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgY3JlZGVudGlhbHMpKQogCi0gICAgaWRlbnQgPSBy
ZXF1ZXN0LkdFVC5maXJzdCgnaWRlbnQnLCAndGVzdCcpCisgICAgaWRlbnQgPSByZXF1ZXN0LkdF
VC5maXJzdChiJ2lkZW50JywgYid0ZXN0JykKIAogICAgIGlmIGlkZW50IGluIHJlcXVlc3QuY29v
a2llczoKICAgICAgICAgYm9keSA9IHJlcXVlc3QuY29va2llc1tpZGVudF0udmFsdWUKICAgICAg
ICAgcmVzcG9uc2UuZGVsZXRlX2Nvb2tpZShpZGVudCkKICAgICBlbHNlOgotICAgICAgICByZXNw
b25zZS5zZXRfY29va2llKGlkZW50LCAiQ09PS0lFIikKLSAgICAgICAgYm9keSA9ICJOT19DT09L
SUUiCisgICAgICAgIHJlc3BvbnNlLnNldF9jb29raWUoaWRlbnQsIGIiQ09PS0lFIikKKyAgICAg
ICAgYm9keSA9IHUiTk9fQ09PS0lFIgogCiAgICAgcmV0dXJuIGhlYWRlcnMsIGJvZHkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9y
ZXNvdXJjZXMvY29ycy1tYWtlaGVhZGVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9jb3JzLW1ha2VoZWFkZXIucHkKaW5kZXgg
ZWFiMzVlZWRmYzlhZmJiZjM4OTZjMzFjNDczZmI1NjQ2OGUyZWFhOC4uOGQ2ZGI3NGU0NmQ1NzYy
NGE5ZTg2MjIzZTdiYmRhYmZkMWQxMGNmOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9jb3JzLW1ha2VoZWFkZXIu
cHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3Jz
L3Jlc291cmNlcy9jb3JzLW1ha2VoZWFkZXIucHkKQEAgLTEsNjcgKzEsNjkgQEAKIGltcG9ydCBq
c29uCiAKK2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZGVjb2RlCisKIGRl
ZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBvcmlnaW4gPSByZXF1ZXN0LkdFVC5maXJz
dCgib3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgnb3JpZ2luJykpCisgICAgb3JpZ2luID0g
cmVxdWVzdC5HRVQuZmlyc3QoYiJvcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnMuZ2V0KGInb3JpZ2lu
JykpCiAKLSAgICBpZiAiY2hlY2siIGluIHJlcXVlc3QuR0VUOgotICAgICAgICB0b2tlbiA9IHJl
cXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIpCisgICAgaWYgYiJjaGVjayIgaW4gcmVxdWVzdC5HRVQ6
CisgICAgICAgIHRva2VuID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJ0b2tlbiIpCiAgICAgICAgIHZh
bHVlID0gcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gudGFrZSh0b2tlbikKICAgICAgICAgaWYgdmFsdWUg
aXMgbm90IE5vbmU6Ci0gICAgICAgICAgICBpZiByZXF1ZXN0LkdFVC5maXJzdCgiY2hlY2siLCBO
b25lKSA9PSAia2VlcCI6CisgICAgICAgICAgICBpZiByZXF1ZXN0LkdFVC5maXJzdChiImNoZWNr
IiwgTm9uZSkgPT0gYiJrZWVwIjoKICAgICAgICAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFz
aC5wdXQodG9rZW4sIHZhbHVlKQotICAgICAgICAgICAgYm9keSA9ICIxIgorICAgICAgICAgICAg
Ym9keSA9IHUiMSIKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgIGJvZHkgPSAiMCIKLSAgICAg
ICAgcmV0dXJuIFsoIkNvbnRlbnQtVHlwZSIsICJ0ZXh0L3BsYWluIildLCBib2R5CisgICAgICAg
ICAgICBib2R5ID0gdSIwIgorICAgICAgICByZXR1cm4gWyhiIkNvbnRlbnQtVHlwZSIsIGIidGV4
dC9wbGFpbiIpXSwgYm9keQogCiAKLSAgICBpZiBvcmlnaW4gIT0gJ25vbmUnOgotICAgICAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgb3JpZ2lu
KQotICAgIGlmICdvcmlnaW4yJyBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVh
ZGVycy5hcHBlbmQoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuR0VULmZp
cnN0KCdvcmlnaW4yJykpCisgICAgaWYgb3JpZ2luICE9IGInbm9uZSc6CisgICAgICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgb3JpZ2luKQor
ICAgIGlmIGInb3JpZ2luMicgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRl
cnMuYXBwZW5kKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5HRVQuZmly
c3QoYidvcmlnaW4yJykpCiAKICAgICAjUHJlZmxpZ2h0Ci0gICAgaWYgJ2hlYWRlcnMnIGluIHJl
cXVlc3QuR0VUOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wt
QWxsb3ctSGVhZGVycyIsIHJlcXVlc3QuR0VULmZpcnN0KCdoZWFkZXJzJykpCi0gICAgaWYgJ2Ny
ZWRlbnRpYWxzJyBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
IkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIiwgcmVxdWVzdC5HRVQuZmlyc3QoJ2Ny
ZWRlbnRpYWxzJykpCi0gICAgaWYgJ21ldGhvZHMnIGluIHJlcXVlc3QuR0VUOgotICAgICAgICBy
ZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIHJlcXVl
c3QuR0VULmZpcnN0KCdtZXRob2RzJykpCisgICAgaWYgYidoZWFkZXJzJyBpbiByZXF1ZXN0LkdF
VDoKKyAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1I
ZWFkZXJzIiwgcmVxdWVzdC5HRVQuZmlyc3QoYidoZWFkZXJzJykpCisgICAgaWYgYidjcmVkZW50
aWFscycgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCByZXF1ZXN0LkdFVC5maXJzdChiJ2NyZWRl
bnRpYWxzJykpCisgICAgaWYgYidtZXRob2RzJyBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgcmVxdWVz
dC5HRVQuZmlyc3QoYidtZXRob2RzJykpCiAKLSAgICBjb2RlX3JhdyA9IHJlcXVlc3QuR0VULmZp
cnN0KCdjb2RlJywgTm9uZSkKKyAgICBjb2RlX3JhdyA9IHJlcXVlc3QuR0VULmZpcnN0KGInY29k
ZScsIE5vbmUpCiAgICAgaWYgY29kZV9yYXc6CiAgICAgICAgIGNvZGUgPSBpbnQoY29kZV9yYXcp
CiAgICAgZWxzZToKICAgICAgICAgY29kZSA9IE5vbmUKLSAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9
PSAnT1BUSU9OUyc6CisgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSdPUFRJT05TJzoKICAgICAg
ICAgI092ZXJyaWRlIHRoZSByZXNwb25zZSBjb2RlIGlmIHdlJ3JlIGluIGEgcHJlZmxpZ2h0IGFu
ZCBpdCdzIGFza2VkCi0gICAgICAgIGlmICdwcmVmbGlnaHQnIGluIHJlcXVlc3QuR0VUOgotICAg
ICAgICAgICAgY29kZSA9IGludChyZXF1ZXN0LkdFVC5maXJzdCgncHJlZmxpZ2h0JykpCisgICAg
ICAgIGlmIGIncHJlZmxpZ2h0JyBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgICAgIGNvZGUgPSBp
bnQocmVxdWVzdC5HRVQuZmlyc3QoYidwcmVmbGlnaHQnKSkKIAogICAgICAgICAjTG9nIHRoYXQg
dGhlIHByZWZsaWdodCBhY3R1YWxseSBoYXBwZW5lZCBpZiB3ZSBoYXZlIGFuIGlkZW50Ci0gICAg
ICAgIGlmICd0b2tlbicgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgICAgICByZXF1ZXN0LnNlcnZl
ci5zdGFzaC5wdXQocmVxdWVzdC5HRVRbJ3Rva2VuJ10sIFRydWUpCisgICAgICAgIGlmIGIndG9r
ZW4nIGluIHJlcXVlc3QuR0VUOgorICAgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0
KHJlcXVlc3QuR0VUW2IndG9rZW4nXSwgVHJ1ZSkKIAotICAgIGlmICdsb2NhdGlvbicgaW4gcmVx
dWVzdC5HRVQ6CisgICAgaWYgYidsb2NhdGlvbicgaW4gcmVxdWVzdC5HRVQ6CiAgICAgICAgIGlm
IGNvZGUgaXMgTm9uZToKICAgICAgICAgICAgIGNvZGUgPSAzMDIKIAogICAgICAgICBpZiBjb2Rl
ID49IDMwMCBhbmQgY29kZSA8IDQwMDoKLSAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0
KCJMb2NhdGlvbiIsIHJlcXVlc3QuR0VULmZpcnN0KCdsb2NhdGlvbicpKQorICAgICAgICAgICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoYiJMb2NhdGlvbiIsIHJlcXVlc3QuR0VULmZpcnN0KGInbG9j
YXRpb24nKSkKIAogICAgIGhlYWRlcnMgPSB7fQotICAgIGZvciBuYW1lLCB2YWx1ZXMgaW4gcmVx
dWVzdC5oZWFkZXJzLml0ZXJpdGVtcygpOgorICAgIGZvciBuYW1lLCB2YWx1ZXMgaW4gcmVxdWVz
dC5oZWFkZXJzLml0ZW1zKCk6CiAgICAgICAgIGlmIGxlbih2YWx1ZXMpID09IDE6Ci0gICAgICAg
ICAgICBoZWFkZXJzW25hbWVdID0gdmFsdWVzWzBdCisgICAgICAgICAgICBoZWFkZXJzW2lzb21v
cnBoaWNfZGVjb2RlKG5hbWUpXSA9IGlzb21vcnBoaWNfZGVjb2RlKHZhbHVlc1swXSkKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgICNJIGhhdmUgbm8gaWRlYSwgcmVhbGx5CiAgICAgICAgICAg
ICBoZWFkZXJzW25hbWVdID0gdmFsdWVzCiAKLSAgICBoZWFkZXJzWydnZXRfdmFsdWUnXSA9IHJl
cXVlc3QuR0VULmZpcnN0KCdnZXRfdmFsdWUnLCAnJykKKyAgICBoZWFkZXJzW3UnZ2V0X3ZhbHVl
J10gPSBpc29tb3JwaGljX2RlY29kZShyZXF1ZXN0LkdFVC5maXJzdChiJ2dldF92YWx1ZScsIGIn
JykpCiAKICAgICBib2R5ID0ganNvbi5kdW1wcyhoZWFkZXJzKQogCiAgICAgaWYgY29kZToKLSAg
ICAgICAgcmV0dXJuIChjb2RlLCAiU3RhdHVzVGV4dCIpLCBbXSwgYm9keQorICAgICAgICByZXR1
cm4gKGNvZGUsIHUiU3RhdHVzVGV4dCIpLCBbXSwgYm9keQogICAgIGVsc2U6CiAgICAgICAgIHJl
dHVybiBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL2V4cG9zZS1oZWFkZXJzLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9leHBvc2UtaGVh
ZGVycy5weQppbmRleCBjMzUwYjNiODdiZTY0ZWU0MGU0ZDliZDAzM2NhYWU3ZjNmMjk5NTNkLi5l
OWRlNDAxY2YyYTVmYjg4ZWZhNzc5MDVjOTVjZWY1YWE0NzQ5NDlkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL2V4
cG9zZS1oZWFkZXJzLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvZXhwb3NlLWhlYWRlcnMucHkKQEAgLTEsMTAgKzEsMTAg
QEAKIGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKICAgICByZXNwb25zZS5hZGRfcmVxdWly
ZWRfaGVhZGVycyA9IEZhbHNlCi0gICAgb3V0cHV0ID0gICJIVFRQLzEuMSAyMjEgQUxMIFlPVVIg
QkFTRSBCRUxPTkcgVE8gSDFcclxuIgotICAgIG91dHB1dCArPSAiQWNjZXNzLUNvbnRyb2wtQWxs
b3ctT3JpZ2luOiAqXHJcbiIKLSAgICBvdXRwdXQgKz0gIkJCLTg6IGhleVxyXG4iCi0gICAgb3V0
cHV0ICs9ICJDb250ZW50LUxhbmd1YWdlOiBta2F5XHJcbiIKLSAgICBvdXRwdXQgKz0gcmVxdWVz
dC5HRVQuZmlyc3QoImV4cG9zZSIpICsgIlxyXG4iCi0gICAgb3V0cHV0ICs9ICJcclxuIgorICAg
IG91dHB1dCA9ICBiIkhUVFAvMS4xIDIyMSBBTEwgWU9VUiBCQVNFIEJFTE9ORyBUTyBIMVxyXG4i
CisgICAgb3V0cHV0ICs9IGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiAqXHJcbiIKKyAg
ICBvdXRwdXQgKz0gYiJCQi04OiBoZXlcclxuIgorICAgIG91dHB1dCArPSBiIkNvbnRlbnQtTGFu
Z3VhZ2U6IG1rYXlcclxuIgorICAgIG91dHB1dCArPSByZXF1ZXN0LkdFVC5maXJzdChiImV4cG9z
ZSIpICsgYiJcclxuIgorICAgIG91dHB1dCArPSBiIlxyXG4iCiAgICAgcmVzcG9uc2Uud3JpdGVy
LndyaXRlKG91dHB1dCkKICAgICByZXNwb25zZS5jbG9zZV9jb25uZWN0aW9uID0gVHJ1ZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3Jz
L3Jlc291cmNlcy9wcmVmbGlnaHQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL3ByZWZsaWdodC5weQppbmRleCA5NzhlOTdjNWQx
ZTljYWJlZjI2ZjFhY2I4MzFiNzk5NDI5YWQxZTcwLi5kOGJjZTI2ZDI4MGExMmEzMGJiODNkOWUy
NWY5MTA4YTljZDg2NjI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL3ByZWZsaWdodC5weQorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL3ByZWZs
aWdodC5weQpAQCAtMSwzNSArMSwzNSBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgot
ICAgIGhlYWRlcnMgPSBbKCJDb250ZW50LVR5cGUiLCAidGV4dC9wbGFpbiIpXQorICAgIGhlYWRl
cnMgPSBbKGIiQ29udGVudC1UeXBlIiwgYiJ0ZXh0L3BsYWluIildCiAKLSAgICBpZiAiY2hlY2si
IGluIHJlcXVlc3QuR0VUOgotICAgICAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tl
biIpCisgICAgaWYgYiJjaGVjayIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHRva2VuID0gcmVx
dWVzdC5HRVQuZmlyc3QoYiJ0b2tlbiIpCiAgICAgICAgIHZhbHVlID0gcmVxdWVzdC5zZXJ2ZXIu
c3Rhc2gudGFrZSh0b2tlbikKICAgICAgICAgaWYgdmFsdWUgPT0gTm9uZToKLSAgICAgICAgICAg
IGJvZHkgPSAiMCIKKyAgICAgICAgICAgIGJvZHkgPSB1IjAiCiAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICBpZiByZXF1ZXN0LkdFVC5maXJzdCgiY2hlY2siLCBOb25lKSA9PSAia2VlcCI6Cisg
ICAgICAgICAgICBpZiByZXF1ZXN0LkdFVC5maXJzdChiImNoZWNrIiwgTm9uZSkgPT0gYiJrZWVw
IjoKICAgICAgICAgICAgICAgICByZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQodG9rZW4sIHZhbHVl
KQotICAgICAgICAgICAgYm9keSA9ICIxIgorICAgICAgICAgICAgYm9keSA9IHUiMSIKIAogICAg
ICAgICByZXR1cm4gaGVhZGVycywgYm9keQogCi0gICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIk9Q
VElPTlMiOgotICAgICAgICBpZiBub3QgIkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtTWV0aG9kIiBp
biByZXF1ZXN0LmhlYWRlcnM6Ci0gICAgICAgICAgICByZXNwb25zZS5zZXRfZXJyb3IoNDAwLCAi
Tm8gQWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2QgaGVhZGVyIikKLSAgICAgICAgICAgIHJl
dHVybiAiRVJST1I6IE5vIGFjY2Vzcy1jb250cm9sLXJlcXVlc3QtbWV0aG9kIGluIHByZWZsaWdo
dCEiCisgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIjoKKyAgICAgICAgaWYgbm90
IGIiQWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2QiIGluIHJlcXVlc3QuaGVhZGVyczoKKyAg
ICAgICAgICAgIHJlc3BvbnNlLnNldF9lcnJvcig0MDAsIHUiTm8gQWNjZXNzLUNvbnRyb2wtUmVx
dWVzdC1NZXRob2QgaGVhZGVyIikKKyAgICAgICAgICAgIHJldHVybiB1IkVSUk9SOiBObyBhY2Nl
c3MtY29udHJvbC1yZXF1ZXN0LW1ldGhvZCBpbiBwcmVmbGlnaHQhIgogCi0gICAgICAgIGhlYWRl
cnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICByZXF1ZXN0LmhlYWRlcnNbJ0FjY2Vzcy1Db250cm9sLVJlcXVlc3QtTWV0aG9k
J10pKQorICAgICAgICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRo
b2RzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuaGVhZGVyc1tiJ0FjY2Vzcy1D
b250cm9sLVJlcXVlc3QtTWV0aG9kJ10pKQogCi0gICAgICAgIGlmICJtYXhfYWdlIiBpbiByZXF1
ZXN0LkdFVDoKLSAgICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtTWF4
LUFnZSIsIHJlcXVlc3QuR0VUWydtYXhfYWdlJ10pKQorICAgICAgICBpZiBiIm1heF9hZ2UiIGlu
IHJlcXVlc3QuR0VUOgorICAgICAgICAgICAgaGVhZGVycy5hcHBlbmQoKGIiQWNjZXNzLUNvbnRy
b2wtTWF4LUFnZSIsIHJlcXVlc3QuR0VUW2InbWF4X2FnZSddKSkKIAotICAgICAgICBpZiAidG9r
ZW4iIGluIHJlcXVlc3QuR0VUOgotICAgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0
KHJlcXVlc3QuR0VULmZpcnN0KCJ0b2tlbiIpLCAxKQorICAgICAgICBpZiBiInRva2VuIiBpbiBy
ZXF1ZXN0LkdFVDoKKyAgICAgICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dChyZXF1ZXN0
LkdFVC5maXJzdChiInRva2VuIiksIDEpCiAKLSAgICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbiIsICIqIikpCi0gICAgaGVhZGVycy5hcHBlbmQoKCJBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1IZWFkZXJzIiwgIngtcHJpbnQiKSkKKyAgICBoZWFkZXJzLmFwcGVuZCgo
YiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBiIioiKSkKKyAgICBoZWFkZXJzLmFwcGVu
ZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIiwgYiJ4LXByaW50IikpCiAKLSAgICBi
b2R5ID0gcmVxdWVzdC5oZWFkZXJzLmdldCgieC1wcmludCIsICJOTyIpCisgICAgYm9keSA9IHJl
cXVlc3QuaGVhZGVycy5nZXQoYiJ4LXByaW50IiwgYiJOTyIpCiAKICAgICByZXR1cm4gaGVhZGVy
cywgYm9keQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb3JzL3Jlc291cmNlcy9zdGF0dXMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL3N0YXR1cy5weQppbmRleCA5Njk1
MGRhZTRmZDM5Mzc1Y2E2ODJiZDM3NDBmYmFmNmU2OTE5MjJhLi41ZDM3ZTdhMDM4Mjc3MTIxY2Qw
Y2U0NGI5YzE2MWU0YzkzNjBlNDI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL3N0YXR1cy5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL3N0
YXR1cy5weQpAQCAtMSwzNyArMSwzOSBAQAorZnJvbSB3cHRzZXJ2ZS51dGlscyBpbXBvcnQgaXNv
bW9ycGhpY19lbmNvZGUKKwogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHJlc3Bv
bnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0Lmhl
YWRlcnMuZ2V0KCJvcmlnaW4iKSkKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNv
bnRyb2wtRXhwb3NlLUhlYWRlcnMiLCAiWC1SZXF1ZXN0LU1ldGhvZCIpCisgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LmhlYWRl
cnMuZ2V0KGIib3JpZ2luIikpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29u
dHJvbC1FeHBvc2UtSGVhZGVycyIsIGIiWC1SZXF1ZXN0LU1ldGhvZCIpCiAKLSAgICBpZiByZXF1
ZXN0Lm1ldGhvZCA9PSAnT1BUSU9OUyc6Ci0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJB
Y2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgICJHRVQsIENISUNLRU4sIEhFQUQsIFBPU1Qs
IFBVVCIpCisgICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gdSdPUFRJT05TJzoKKyAgICAgICAgcmVz
cG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzIiwgIGIiR0VU
LCBDSElDS0VOLCBIRUFELCBQT1NULCBQVVQiKQogCi0gICAgaWYgJ2hlYWRlcnMnIGluIHJlcXVl
c3QuR0VUOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxs
b3ctSGVhZGVycyIsICByZXF1ZXN0LkdFVC5maXJzdCgnaGVhZGVycycpKQorICAgIGlmIGInaGVh
ZGVycycgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsICByZXF1ZXN0LkdFVC5maXJzdChiJ2hlYWRlcnMn
KSkKIAotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJYLVJlcXVlc3QtTWV0aG9kIiwgcmVxdWVz
dC5tZXRob2QpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJYLVJlcXVlc3QtTWV0aG9kIiwg
aXNvbW9ycGhpY19lbmNvZGUocmVxdWVzdC5tZXRob2QpKQogCi0gICAgcmVzcG9uc2UuaGVhZGVy
cy5zZXQoIlgtQS1DLVJlcXVlc3QtTWV0aG9kIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgiQWNjZXNz
LUNvbnRyb2wtUmVxdWVzdC1NZXRob2QiLCAiIikpCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQo
YiJYLUEtQy1SZXF1ZXN0LU1ldGhvZCIsIHJlcXVlc3QuaGVhZGVycy5nZXQoYiJBY2Nlc3MtQ29u
dHJvbC1SZXF1ZXN0LU1ldGhvZCIsIGIiIikpCiAKIAogICAgICNUaGlzIHNob3VsZCByZWFzb25h
Ymx5IHdvcmsgZm9yIG1vc3QgcmVzcG9uc2UgY29kZXMuCiAgICAgdHJ5OgotICAgICAgICBjb2Rl
ID0gaW50KHJlcXVlc3QuR0VULmZpcnN0KCJjb2RlIiwgMjAwKSkKKyAgICAgICAgY29kZSA9IGlu
dChyZXF1ZXN0LkdFVC5maXJzdChiImNvZGUiLCAyMDApKQogICAgIGV4Y2VwdCBWYWx1ZUVycm9y
OgogICAgICAgICBjb2RlID0gMjAwCiAKLSAgICB0ZXh0ID0gcmVxdWVzdC5HRVQuZmlyc3QoInRl
eHQiLCAiT01HIikKKyAgICB0ZXh0ID0gcmVxdWVzdC5HRVQuZmlyc3QoYiJ0ZXh0IiwgYiJPTUci
KQogCi0gICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gIk9QVElPTlMiIGFuZCAicHJlZmxpZ2h0IiBp
biByZXF1ZXN0LkdFVDoKKyAgICBpZiByZXF1ZXN0Lm1ldGhvZCA9PSB1Ik9QVElPTlMiIGFuZCBi
InByZWZsaWdodCIgaW4gcmVxdWVzdC5HRVQ6CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIGNv
ZGUgPSBpbnQocmVxdWVzdC5HRVQuZmlyc3QoJ3ByZWZsaWdodCcpKQorICAgICAgICAgICAgY29k
ZSA9IGludChyZXF1ZXN0LkdFVC5maXJzdChiJ3ByZWZsaWdodCcpKQogICAgICAgICBleGNlcHQg
S2V5RXJyb3I6CiAgICAgICAgICAgICBwYXNzCiAKICAgICBzdGF0dXMgPSBjb2RlLCB0ZXh0CiAK
LSAgICBpZiAidHlwZSIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KCJDb250ZW50LVR5cGUiLCByZXF1ZXN0LkdFVC5maXJzdCgndHlwZScpKQorICAgIGlmIGIi
dHlwZSIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQ29u
dGVudC1UeXBlIiwgcmVxdWVzdC5HRVQuZmlyc3QoYid0eXBlJykpCiAKLSAgICBib2R5ID0gcmVx
dWVzdC5HRVQuZmlyc3QoJ2NvbnRlbnQnLCAiIikKKyAgICBib2R5ID0gcmVxdWVzdC5HRVQuZmly
c3QoYidjb250ZW50JywgYiIiKQogCiAgICAgcmV0dXJuIHN0YXR1cywgW10sIGJvZHkKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9y
ZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nCmluZGV4IGYzOTVjOTMw
YzI5OGZiMWY4MzgzNjE1ZmZiZTg3ZjA3YWJmMmQ0N2QuLmZjODhkYjViNDNhNTJmZGEwMzI0NzE0
NmU5YmQ1Mzk3ZTAxMWI5ZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy93
M2MtaW1wb3J0LmxvZwpAQCAtMSw3ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9y
eSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0
aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJl
cXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMKKwlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAog
CiBUaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0
byByZWltcG9ydAogCkBAIC0xNSwxMiArMTUsMTMgQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBM
aXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29ycy9yZXNvdXJjZXMvMzA0LnB5Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1leHBvc2UtaGVhZGVy
cy1wYXJzaW5nLTIuYXNpcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29ycy9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnMtcGFyc2lu
Zy5hc2lzCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3Jz
L3Jlc291cmNlcy9hY2Nlc3MtY29udHJvbC1leHBvc2UtaGVhZGVycy5qc29uCisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9jYWNoZS0z
MDQucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMv
cmVzb3VyY2VzL2NoZWNrYW5kcmVtb3ZlLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9jb3JzLWNvb2tpZS5weQogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvY29ycy1o
ZWFkZXJzLmFzaXMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvcnMvcmVzb3VyY2VzL2NvcnMtbWFrZWhlYWRlci5weQorL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvZXhwb3NlLWhlYWRlcnMucHkK
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3Vy
Y2VzL2ltYWdlLXRhaW50aW5nLWNoZWNrZXIuc3ViLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL3ByZWZsaWdodC5weQogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMv
cmVtb3RlLXhocmVyLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zaW1wbGUtcmVxdWVzdHMtY2gudGVudGF0aXZlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29y
cy9zaW1wbGUtcmVxdWVzdHMtY2gudGVudGF0aXZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
ZmNiOTM4ZjNmMTlhMTQzNTRjZTcyYjIyNWFlMjlmZWE2Y2Y5YWU4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3NpbXBs
ZS1yZXF1ZXN0cy1jaC50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorU2lt
cGxlIHJlcXVlc3RzCisKK1NpbXBsZSByZXF1ZXN0cyBzaG91bGRuJ3QgdHJpZ2dlciBwcmVmbGln
aHQKKworCitGQUlMIE5vIHByZWZsaWdodCBHRVQgYW5kIHsic2F2ZS1kYXRhIjoib24iLCJkZXZp
Y2UtbWVtb3J5IjoiMi4wIiwiZHByIjoiMy4wIiwid2lkdGgiOiIxMjAwIiwidmlld3BvcnQtd2lk
dGgiOiIxMzAwIn0gIEEgbmV0d29yayBlcnJvciBvY2N1cnJlZC4KK0ZBSUwgTm8gcHJlZmxpZ2h0
IEhFQUQgYW5kIHsic2F2ZS1kYXRhIjoib24iLCJkZXZpY2UtbWVtb3J5IjoiMi4wIiwiZHByIjoi
My4wIiwid2lkdGgiOiIxMjAwIiwidmlld3BvcnQtd2lkdGgiOiIxMzAwIn0gIEEgbmV0d29yayBl
cnJvciBvY2N1cnJlZC4KK0ZBSUwgTm8gcHJlZmxpZ2h0IFBPU1QgYW5kIHsic2F2ZS1kYXRhIjoi
b24iLCJkZXZpY2UtbWVtb3J5IjoiMi4wIiwiZHByIjoiMy4wIiwid2lkdGgiOiIxMjAwIiwidmll
d3BvcnQtd2lkdGgiOiIxMzAwIn0gIEEgbmV0d29yayBlcnJvciBvY2N1cnJlZC4KKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Np
bXBsZS1yZXF1ZXN0cy1jaC50ZW50YXRpdmUuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3NpbXBsZS1yZXF1ZXN0cy1jaC50ZW50YXRpdmUuaHRt
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY5OTU1YWM4NmE0YzU4MzMwNjJjN2E1ZTBiMWY5MGEyMmY3ZjFjYWQKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2NvcnMvc2ltcGxlLXJlcXVlc3RzLWNoLnRlbnRhdGl2ZS5odG0KQEAgLTAsMCArMSw1NyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PXV0Zi04PgorPHRpdGxlPkNPUlMgLSBz
aW1wbGUgcmVxdWVzdHM8L3RpdGxlPgorPG1ldGEgbmFtZT1hdXRob3IgdGl0bGU9Ik9kaW4gSMO4
cnRoZSBPbWRhbCIgaHJlZj0ibWFpbHRvOm9kaWhvQG9wZXJhLmNvbSI+CisKKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9c3VwcG9ydC5q
cz9waXBlPXN1Yj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPS9jb21tb24vdXRpbHMuanM+PC9zY3Jp
cHQ+CisKKzxoMT5TaW1wbGUgcmVxdWVzdHM8L2gxPgorPHA+U2ltcGxlIHJlcXVlc3RzIHNob3Vs
ZG4ndCB0cmlnZ2VyIHByZWZsaWdodDwvcD4KKworPGRpdiBpZD1sb2c+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgdGVzdF9jID0gMDsKKworZnVuY3Rpb24gY2hlY2tfc2ltcGxlKG1ldGhvZCwgaGVh
ZGVycykKK3sKKyAgICB0ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICB2YXIgY2xpZW50ID0gbmV3
IFhNTEh0dHBSZXF1ZXN0KCkKKyAgICAgICAgdmFyIHV1aWRfdG9rZW4gPSB0b2tlbigpOworICAg
ICAgICBjbGllbnQub3BlbihtZXRob2QsIENST1NTRE9NQUlOICsgJ3Jlc291cmNlcy9wcmVmbGln
aHQucHk/dG9rZW49JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgdXVpZF90b2tlbiwg
ZmFsc2UpCisgICAgICAgIGZvciAoaGVhZCBpbiBoZWFkZXJzKQorICAgICAgICAgICAgY2xpZW50
LnNldFJlcXVlc3RIZWFkZXIoaGVhZCwgaGVhZGVyc1toZWFkXSkKKyAgICAgICAgY2xpZW50LnNl
bmQoImRhdGEiKQorICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5nZXRSZXNwb25zZUhlYWRl
cignY29udGVudC10eXBlJyksICJ0ZXh0L3BsYWluIikKKyAgICAgICAgaWYgKG1ldGhvZCA9PSAn
SEVBRCcpCisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZSwgJycsICdy
ZXNwb25zZScpCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50
LnJlc3BvbnNlLCAnTk8nLCAncmVzcG9uc2UnKQorCisgICAgICAgIGNsaWVudC5vcGVuKCdHRVQn
LCAncmVzb3VyY2VzL3ByZWZsaWdodC5weT9jaGVjayZ0b2tlbj0nCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICsgdXVpZF90b2tlbiwgZmFsc2UpCisgICAgICAgIGNsaWVudC5zZW5kKCJkYXRh
IikKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhjbGllbnQucmVzcG9uc2UsICIwIiwgIkZvdW5kIHBy
ZWZsaWdodCBsb2ciKQorICAgIH0sCisgICAgJ05vIHByZWZsaWdodCAnICsgbWV0aG9kICsgJyBh
bmQgJyArIEpTT04uc3RyaW5naWZ5KGhlYWRlcnMpKQorfQorCitmdW5jdGlvbiBjaGVja19zaW1w
bGVfaGVhZGVycyhoZWFkZXJzKSB7CisgICAgY2hlY2tfc2ltcGxlKCdHRVQnLCBoZWFkZXJzKQor
ICAgIGNoZWNrX3NpbXBsZSgnSEVBRCcsIGhlYWRlcnMpCisgICAgY2hlY2tfc2ltcGxlKCdQT1NU
JywgaGVhZGVycykKK30KKworY2hlY2tfc2ltcGxlX2hlYWRlcnMoeworICAgICAgICAgICAgICAg
ICAgICAgICAgJ3NhdmUtZGF0YSc6ICdvbicsCisgICAgICAgICAgICAgICAgICAgICAgICAnZGV2
aWNlLW1lbW9yeSc6ICcyLjAnLAorICAgICAgICAgICAgICAgICAgICAgICAgJ2Rwcic6ICczLjAn
LAorICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzEyMDAnLAorICAgICAgICAgICAg
ICAgICAgICAgICAgJ3ZpZXdwb3J0LXdpZHRoJzogJzEzMDAnCisgICAgICAgICAgICAgICAgICAg
ICB9KQorCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zaW1wbGUtcmVxdWVzdHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3NpbXBsZS1yZXF1
ZXN0cy1leHBlY3RlZC50eHQKaW5kZXggMjNjZWE5YjVmNDAxYWFmZDU0MTViNWZlZDdjZmZlM2E0
OTcxNGMwMy4uYWZhMTVlNTNmNTdjY2ZlZDEyZTg5MmRlMjljYWRlN2RiMGMwMTBkYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Np
bXBsZS1yZXF1ZXN0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3NpbXBsZS1yZXF1ZXN0cy1leHBlY3RlZC50eHQKQEAg
LTI0LDEwICsyNCw3IEBAIFBBU1MgTm8gcHJlZmxpZ2h0IFBPU1QgYW5kIHsiY29udGVudC10eXBl
IjoidGV4dC9wbGFpbiJ9CiBQQVNTIE5vIHByZWZsaWdodCBHRVQgYW5kIHsiYWNjZXB0IjoidGVz
dCIsImFjY2VwdC1sYW5ndWFnZSI6InRlc3QiLCJjb250ZW50LWxhbmd1YWdlIjoidGVzdCIsImNv
bnRlbnQtdHlwZSI6InRleHQvcGxhaW47IHBhcmFtZXRlcj13aGF0ZXZlciJ9IAogUEFTUyBObyBw
cmVmbGlnaHQgSEVBRCBhbmQgeyJhY2NlcHQiOiJ0ZXN0IiwiYWNjZXB0LWxhbmd1YWdlIjoidGVz
dCIsImNvbnRlbnQtbGFuZ3VhZ2UiOiJ0ZXN0IiwiY29udGVudC10eXBlIjoidGV4dC9wbGFpbjsg
cGFyYW1ldGVyPXdoYXRldmVyIn0gCiBQQVNTIE5vIHByZWZsaWdodCBQT1NUIGFuZCB7ImFjY2Vw
dCI6InRlc3QiLCJhY2NlcHQtbGFuZ3VhZ2UiOiJ0ZXN0IiwiY29udGVudC1sYW5ndWFnZSI6InRl
c3QiLCJjb250ZW50LXR5cGUiOiJ0ZXh0L3BsYWluOyBwYXJhbWV0ZXI9d2hhdGV2ZXIifSAKLUZB
SUwgTm8gcHJlZmxpZ2h0IEdFVCBhbmQgeyJzYXZlLWRhdGEiOiJvbiIsImRldmljZS1tZW1vcnki
OiIyLjAiLCJkcHIiOiIzLjAiLCJ3aWR0aCI6IjEyMDAiLCJ2aWV3cG9ydC13aWR0aCI6IjEzMDAi
fSAgQSBuZXR3b3JrIGVycm9yIG9jY3VycmVkLgotRkFJTCBObyBwcmVmbGlnaHQgSEVBRCBhbmQg
eyJzYXZlLWRhdGEiOiJvbiIsImRldmljZS1tZW1vcnkiOiIyLjAiLCJkcHIiOiIzLjAiLCJ3aWR0
aCI6IjEyMDAiLCJ2aWV3cG9ydC13aWR0aCI6IjEzMDAifSAgQSBuZXR3b3JrIGVycm9yIG9jY3Vy
cmVkLgotRkFJTCBObyBwcmVmbGlnaHQgUE9TVCBhbmQgeyJzYXZlLWRhdGEiOiJvbiIsImRldmlj
ZS1tZW1vcnkiOiIyLjAiLCJkcHIiOiIzLjAiLCJ3aWR0aCI6IjEyMDAiLCJ2aWV3cG9ydC13aWR0
aCI6IjEzMDAifSAgQSBuZXR3b3JrIGVycm9yIG9jY3VycmVkLgogUEFTUyBObyBwcmVmbGlnaHQg
R2V0IGFuZCB7ImNvbnRlbnQtdHlwZSI6InRleHQvcGxhaW47IHBhcmFtZXRlcj1leHRyYV9ib251
cyJ9IAogUEFTUyBObyBwcmVmbGlnaHQgcG9zdCBhbmQgeyJjb250ZW50LXR5cGUiOiJ0ZXh0L3Bs
YWluIn0gCi1GQUlMIENoZWNrIHNpbXBsZSBoZWFkZXJzIChhc3luYykgYXNzZXJ0X3VucmVhY2hl
ZDogb25lcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2hlY2sgc2ltcGxlIGhl
YWRlcnMgKGFzeW5jKSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3NpbXBsZS1yZXF1ZXN0cy5odG0gYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc2ltcGxlLXJlcXVlc3RzLmh0bQpp
bmRleCA3N2VkOGVlMjJlNzBkMTI0NzFjOTg3OGNhYmE5MzI1ZWMwYzZhMDI2Li4xODVlOWE3NWUz
OWY4MWIxNDA1NTIzN2FiNWY1NDdjZmI1NzkzMWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc2ltcGxlLXJlcXVlc3RzLmh0bQor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc2lt
cGxlLXJlcXVlc3RzLmh0bQpAQCAtNjEsMTQgKzYxLDYgQEAgY2hlY2tfc2ltcGxlX2hlYWRlcnMo
ewogICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICd0ZXh0L3BsYWluOyBw
YXJhbWV0ZXI9d2hhdGV2ZXInCiAgICAgICAgICAgICAgICAgICAgICB9KQogCi1jaGVja19zaW1w
bGVfaGVhZGVycyh7Ci0gICAgICAgICAgICAgICAgICAgICAgICAnc2F2ZS1kYXRhJzogJ29uJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtbWVtb3J5JzogJzIuMCcsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAnZHByJzogJzMuMCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAn
d2lkdGgnOiAnMTIwMCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAndmlld3BvcnQtd2lkdGgn
OiAnMTMwMCcKLSAgICAgICAgICAgICAgICAgICAgIH0pCi0KIGNoZWNrX3NpbXBsZSgnR2V0Jywg
eydjb250ZW50LXR5cGUnOiAndGV4dC9wbGFpbjsgcGFyYW1ldGVyPWV4dHJhX2JvbnVzJ30pCiBj
aGVja19zaW1wbGUoJ3Bvc3QnLCB7J2NvbnRlbnQtdHlwZSc6ICd0ZXh0L3BsYWluJ30pCiAKQEAg
LTgzLDkgKzc1LDkgQEAgc2ltcGxlX2FzeW5jLnN0ZXAoZnVuY3Rpb24gKCl7CiAgICAgICAgICAg
ICAgICAgICAgICAgICArIHV1aWRfdG9rZW4sIHRydWUpCiAKICAgICBjbGllbnQuc2V0UmVxdWVz
dEhlYWRlcignQWNjZXB0JywgJ2pld2VscnknKQotICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVy
KCdhY2NlcHQtbGFuZ3VhZ2UnLCAnbm5fTk8sbm4sZW4nKQorICAgIGNsaWVudC5zZXRSZXF1ZXN0
SGVhZGVyKCdhY2NlcHQtbGFuZ3VhZ2UnLCAnbm4tTk8sbm4sZW4nKQogICAgIGNsaWVudC5zZXRS
ZXF1ZXN0SGVhZGVyKCdjb250ZW50LXR5cGUnLCAndGV4dC9wbGFpbjsgcGFyYW1ldGVyPWV4dHJh
JykKLSAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcignY29udGVudC1MYW5ndWFnZScsICdubl9O
TycpCisgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoJ2NvbnRlbnQtTGFuZ3VhZ2UnLCAnbm4t
Tk8nKQogCiAgICAgY2xpZW50Lm9ubG9hZCA9IHNpbXBsZV9hc3luYy5zdGVwX2Z1bmMoZnVuY3Rp
b24oKSB7CiAgICAgICAgIGFzc2VydF9lcXVhbHMoY2xpZW50LmdldFJlc3BvbnNlSGVhZGVyKCdj
b250ZW50LXR5cGUnKSwgInRleHQvcGxhaW4iLCAnY29udGVudC10eXBlIHJlc3BvbnNlIGhlYWRl
cicpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2NvcnMvc3RhdHVzLWFzeW5jLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29ycy9zdGF0dXMtYXN5bmMuaHRtCmluZGV4IDM1NzNlZTg4Zjk4Zjlh
NzM4YmZmMGFmM2MzNzE1ZTFmMDk5N2U4MTcuLjViY2ZhMGNmN2MyNTU0YWU2NjE0ZDAxMzhhMWIz
MmEyYzZjMzYxODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY29ycy9zdGF0dXMtYXN5bmMuaHRtCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zdGF0dXMtYXN5bmMuaHRtCkBAIC0xNCw3
ICsxNCw3IEBACiA8c2NyaXB0PgogCiBmdW5jdGlvbiBzdGF0dXNSZXF1ZXN0KG1ldGhvZCwgY29k
ZSwgdGV4dCwgY29udGVudCwgdHlwZSkgewotICAgIGFzeW5jX3Rlc3QoIlN0YXR1cyBvbiAiICsg
bWV0aG9kICsgIiAiICsgY29kZSwgeyB0aW1lb3V0OiAxNTAwMCB9KQorICAgIGFzeW5jX3Rlc3Qo
IlN0YXR1cyBvbiAiICsgbWV0aG9kICsgIiAiICsgY29kZSkKICAgICAuc3RlcChmdW5jdGlvbigp
IHsKICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCiAgICAgICAgIGNs
aWVudC5vcGVuKG1ldGhvZCwgQ1JPU1NET01BSU4gKyAicmVzb3VyY2VzL3N0YXR1cy5weT9jb2Rl
PSIKQEAgLTYwLDcgKzYwLDcgQEAgZnVuY3Rpb24gc3RhdHVzUmVxdWVzdEZhaWwobWV0aG9kLCBj
b2RlLCBleHBlY3RfY29kZSwgbm9uc2ltcGxlKSB7CiAgICAgaWYgKGV4cGVjdF9jb2RlID09PSB1
bmRlZmluZWQpCiAgICAgICAgIGV4cGVjdF9jb2RlID0gY29kZQogCi0gICAgYXN5bmNfdGVzdCgi
U3RhdHVzIG9uICIgKyBtZXRob2QgKyAiICIgKyBjb2RlICsgKG5vbnNpbXBsZT8nIChub25zaW1w
bGUpJzonJyksIHsgdGltZW91dDogMTUwMDAgfSkKKyAgICBhc3luY190ZXN0KCJTdGF0dXMgb24g
IiArIG1ldGhvZCArICIgIiArIGNvZGUgKyAobm9uc2ltcGxlPycgKG5vbnNpbXBsZSknOicnKSkK
ICAgICAuc3RlcChmdW5jdGlvbigpIHsKICAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRw
UmVxdWVzdCgpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY29ycy9zdXBwb3J0LmpzIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3N1cHBvcnQuanMKaW5kZXggNDFkNzI5MDViOGZlNmNlYjQx
ZTQ4NzA3ZmVlNzgzZTFhNzE4YmJmZS4uOWY3ZmZiZjk4NjFhNTAzNjlkMmMxZGExYmE0YTFmZWRk
MDU0MGEyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb3JzL3N1cHBvcnQuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3N1cHBvcnQuanMKQEAgLTEsMTYgKzEsMyBAQAotLy8gRm9y
IGlnbm9yaW5nIGV4Y2VwdGlvbiBuYW1lcyAoanVzdCBmb3IgdGVzdGluZykKLS8qCi1fcmVhbF9h
c3NlcnRfdGhyb3dzID0gYXNzZXJ0X3Rocm93czsKLWZ1bmN0aW9uIGFzc2VydF90aHJvd3MoZCwg
ZnVuYywgZGVzYykgewotICAgIHRyeSB7Ci0gICAgICAgIGZ1bmMoKTsKLSAgICB9IGNhdGNoKGUp
IHsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIGFzc2VydF91bnJlYWNoZWQoIkRp
ZG4ndCB0aHJvdyEiKTsKLX0KLSovCi0KIGZ1bmN0aW9uIGRpcm5hbWUocGF0aCkgewogICAgIHJl
dHVybiBwYXRoLnJlcGxhY2UoL1wvW15cL10qJC8sICcvJykKIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy93M2MtaW1wb3J0Lmxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy93M2Mt
aW1wb3J0LmxvZwppbmRleCBlODkxNmVmMWVjYjBkOGZlMDczYzVkMjQ2NWUwMjg4NTUzYzdlMDVj
Li42YzUxNjNmMjY0N2NkYWZlZGQ1ZDVkZWFmN2M4M2Y4YzBhZGIxNmUzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvdzNjLWltcG9y
dC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b3JzL3czYy1pbXBvcnQubG9nCkBAIC0xLDcgKzEsNyBAQAogVGhlIHRlc3RzIGluIHRoaXMgZGly
ZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCiBEbyBOT1QgbW9k
aWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KIEluc3RlYWQsIGNyZWF0ZSBhIHB1
bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cworCWh0dHBzOi8vZ2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMv
d3B0CiAKIFRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2Vi
S2l0IHRvIHJlaW1wb3J0CiAKQEAgLTE1LDEyICsxNSwxMyBAQCBOb25lCiAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb3JzLzMwNC5odG0KLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2NvcnMvT1dORVJTCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb3JzL01FVEEueW1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL1JFQURNRS5tZAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9hY2Nlc3MtY29udHJvbC1leHBvc2UtaGVhZGVycy1wYXJz
aW5nLndpbmRvdy5qcwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29ycy9hbGxvdy1oZWFkZXJzLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29ycy9iYXNpYy5odG0KKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvY2xpZW50LWhpbnQtcmVxdWVzdC1oZWFkZXJzLTIudGVu
dGF0aXZlLmh0bQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29ycy9jbGllbnQtaGludC1yZXF1ZXN0LWhlYWRlcnMuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2NvcnMtc2FmZWxpc3RlZC1yZXF1ZXN0LWhl
YWRlci5hbnkuanMKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvcnMvY3JlZGVudGlhbHMtZmxhZy5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvcnMvaW1hZ2UtdGFpbnRpbmctaW4tY3Jvc3Mtb3JpZ2luLWlmcmFt
ZS5zdWIuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29ycy9sYXRlLXVwbG9hZC1ldmVudHMuaHRtCkBAIC0zNCw2ICszNSw4IEBAIExpc3Qgb2YgZmls
ZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jl
bW90ZS1vcmlnaW4uaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb3JzL3JlcXVlc3QtaGVhZGVycy5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzcG9uc2UtaGVhZGVycy5odG0KKy9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc2NyaXB0LTMwNC5odG1sCisv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3NpbXBsZS1y
ZXF1ZXN0cy1jaC50ZW50YXRpdmUuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL3NpbXBsZS1yZXF1ZXN0cy5odG0KIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc3RhdHVzLWFzeW5jLmh0bQogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zdGF0dXMtcHJlZmxp
Z2h0Lmh0bQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uIGIvTGF5
b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29uCmluZGV4IDE2NTdjY2Q2NjAyNmNiODU1M2NlYjM5
ODM2YjQ2YWFiNThhNTg3NGUuLjhhMDYxOTNjM2Q1ZTQ3ZGNlY2U4MWQxM2NmZWNjYzlmZDZiNzRj
YTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbgorKysgYi9MYXlv
dXRUZXN0cy90ZXN0cy1vcHRpb25zLmpzb24KQEAgLTYwNSw2ICs2MDUsMTUgQEAKICAgICAiaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zdHls
ZS1zcmMvc3R5bGUtc3JjLW11bHRpcGxlLXBvbGljaWVzLW11bHRpcGxlLWhhc2hpbmctYWxnb3Jp
dGhtcy5odG1sIjogWwogICAgICAgICAic2xvdyIKICAgICBdLAorICAgICJpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvMzA0Lmh0bSI6IFsKKyAgICAgICAgInNsb3ciCisgICAg
XSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL29yaWdpbi5odG0i
OiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY29ycy9wcmVmbGlnaHQtY2FjaGUuaHRtIjogWworICAgICAgICAic2xvdyIKKyAg
ICBdLAogICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc3RhdHVzLWFz
eW5jLmh0bSI6IFsKICAgICAgICAgInNsb3ciCiAgICAgXSwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402960</attachid>
            <date>2020-06-27 10:01:22 -0700</date>
            <delta_ts>2020-06-27 10:36:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213668-20200627100121.patch</filename>
            <type>text/plain</type>
            <size>53590</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNjI0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzRjMDM5MDg5OGVlNWI0YWUyZmJi
MDg3NGRiZGY4OGI3NTQzZDNlMi4uZGEwNzYxOWZmN2YwNDI3NjMzZmVkMGJmMDUyM2RlZGY0NDlh
YjIwNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA2LTI2ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cy9jb3Jz
IGZyb20gdXBzdHJlYW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxMzY2OAorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAg
ICAgVXBkYXRlIHdlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzIGZyb20gdXBzdHJlYW0gYjA3NmMzMDVh
MjU2ZTcuCisKKyAgICAgICAgKiB0ZXN0cy1vcHRpb25zLmpzb246CisKIDIwMjAtMDYtMjYgIERp
ZWdvIFBpbm8gR2FyY2lhICA8ZHBpbm9AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVW5y
ZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4gVXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zIGFmdGVyIHIy
NjM2MDkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA1MzU3ZDk4NTljN2RjNGMw
Yzc3MWU2NzAyZjNjNTFmYjdmMGI5ZmFmLi43NTYwZjliMzRmOGM0ZTFlOTI4MmFiOTdjNmNlNDVi
ZTMwOTE0YTgwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAyMC0wNi0yNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVzdHMvY29ycyBmcm9tIHVwc3RyZWFtCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTM2NjgKKworICAgICAgICBS
ZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIFVwZGF0ZSB3ZWItcGxhdGZvcm0tdGVz
dHMvY29ycyBmcm9tIHVwc3RyZWFtIGIwNzZjMzA1YTI1NmU3LgorCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2NvcnMvKjogVXBkYXRlZC4KKwogMjAyMC0wNi0yNyAgUm9iIEJ1aXMgIDxy
YnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlcXVpcmUgPGZvcm0+IHRvIGJlIGNvbm5lY3Rl
ZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jb3JzLzMwNC5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2NvcnMvMzA0Lmh0bQppbmRleCBmOTNjZDJkNzIyNWE4ZjhjMjRlOWU4NmVjZGIzNDdjMTc1
MjBlYjkzLi4xMmM0NGIwZTdjOTc3OWZmZjc3NWQwYjc0M2VmMTFiNjkxYmM4NjcyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvMzA0
Lmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
cnMvMzA0Lmh0bQpAQCAtMSw2ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1sPgogPG1ldGEgY2hhcnNl
dD11dGYtOD4KIDx0aXRsZT5DT1JTIC0gMzA0IFJlc3BvbnNlczwvdGl0bGU+Cis8bWV0YSBuYW1l
PSJ0aW1lb3V0IiBjb250ZW50PSJsb25nIj4KIDxtZXRhIG5hbWU9YXV0aG9yIHRpdGxlPSJNYXJr
IE5vdHRpbmdoYW0iIGhyZWY9Im1haWx0bzptbm90QG1ub3QubmV0Ij4KIAogPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9NRVRBLnltbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9NRVRBLnltbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wOGRjNzM3MDRmOTNhOTBiZTA2MWYwZDVlMDFiOTU5Mzg0OTJjYzA1Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b3JzL01FVEEueW1sCkBAIC0wLDAgKzEsNyBAQAorc3BlYzogaHR0cHM6Ly9mZXRjaC5zcGVjLndo
YXR3Zy5vcmcvI2h0dHAtY29ycy1wcm90b2NvbAorc3VnZ2VzdGVkX3Jldmlld2VyczoKKyAgLSB6
cXpoYW5nCisgIC0gb2RpbmhvCisgIC0gaGlsbGJyYWQKKyAgLSBqZG0KKyAgLSBhbm5ldmsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29y
cy9PV05FUlMgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
cnMvT1dORVJTCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTZiMDUyZDhlMmUwNmIw
ODlkMDQ0MTljMTExMDgyZGY1ZThiZDA4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29ycy9PV05FUlMKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLUB6cXpoYW5nCi1A
b2RpbmhvCi1AaGlsbGJyYWQKLUBqZG0KLUBhbm5ldmsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jbGllbnQtaGludC1yZXF1ZXN0
LWhlYWRlcnMtMi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2NsaWVudC1oaW50LXJlcXVlc3QtaGVhZGVycy0y
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDlmMjA5OTMwMDY3YWY2YTIxM2Jl
YjJlMjJiYzg3Zjc1YjJlMTdkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jbGllbnQtaGludC1yZXF1ZXN0LWhlYWRl
cnMtMi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorUmVxdWVzdCBoZWFk
ZXJzCisKKworRkFJTCBDbGllbnQgaGludCBoZWFkZXJzIGFyZSBzaW1wbGUgaGVhZGVycyAgQSBu
ZXR3b3JrIGVycm9yIG9jY3VycmVkLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvY2xpZW50LWhpbnQtcmVxdWVzdC1oZWFkZXJz
LTIudGVudGF0aXZlLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29ycy9jbGllbnQtaGludC1yZXF1ZXN0LWhlYWRlcnMtMi50ZW50YXRpdmUuaHRtCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjRlYzIxN2M4MzQ3YzY5YTU4YjNkMDczY2Q3NTJmZWEwZGUyMjU5Y2YKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvcnMvY2xpZW50LWhpbnQtcmVxdWVzdC1oZWFkZXJzLTIudGVudGF0aXZlLmh0bQpAQCAtMCww
ICsxLDQxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9dXRmLTg+Cis8dGl0bGU+
Q09SUyBhbmQgQ2xpZW50IEhpbnRzLCBwb3RlbnRpYWxseTwvdGl0bGU+CisKKzxzY3JpcHQgc3Jj
PS9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9c3VwcG9ydC5q
cz9waXBlPXN1Yj48L3NjcmlwdD4KKworPGgxPlJlcXVlc3QgaGVhZGVyczwvaDE+Cis8ZGl2IGlk
PWxvZz48L2Rpdj4KKzxzY3JpcHQ+CisKK3Rlc3QoZnVuY3Rpb24oKSB7CisgICAgdmFyIGNsaWVu
dCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCisgICAgY2xpZW50Lm9wZW4oJ0dFVCcsIENST1NTRE9N
QUlOICsgJ3Jlc291cmNlcy9jb3JzLW1ha2VoZWFkZXIucHk/aGVhZGVycz14LXByaW50LCcsIGZh
bHNlKQorICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCd4LXByaW50JywgJ3VuaWNvcm4nKQor
ICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCdjb250ZW50LXR5cGUnLCAndGV4dC9wbGFpbicp
CisgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoJ2FjY2VwdCcsICd0ZXN0JykKKyAgICBjbGll
bnQuc2V0UmVxdWVzdEhlYWRlcignYWNjZXB0LWxhbmd1YWdlJywgJ25uJykKKyAgICBjbGllbnQu
c2V0UmVxdWVzdEhlYWRlcignY29udGVudC1sYW5ndWFnZScsICdubicpCisgICAgY2xpZW50LnNl
dFJlcXVlc3RIZWFkZXIoJ3NhdmUtZGF0YScsICdvbicpCisgICAgY2xpZW50LnNldFJlcXVlc3RI
ZWFkZXIoJ2RldmljZS1tZW1vcnknLCAnMS4wJykKKyAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRl
cignZHByJywgJzIuMCcpCisgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoJ3dpZHRoJywgJzM1
JykKKyAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigndmlld3BvcnQtd2lkdGgnLCAnNDInKQor
ICAgIGNsaWVudC5zZW5kKG51bGwpCisKKyAgICBjb25zdCByZXMgPSBKU09OLnBhcnNlKGNsaWVu
dC5yZXNwb25zZSkKKyAgICBhc3NlcnRfZXF1YWxzKHJlc1sneC1wcmludCddLCAndW5pY29ybicp
CisgICAgYXNzZXJ0X2VxdWFscyhyZXNbJ2NvbnRlbnQtdHlwZSddLCAndGV4dC9wbGFpbicpCisg
ICAgYXNzZXJ0X2VxdWFscyhyZXNbJ2FjY2VwdCddLCAndGVzdCcpCisgICAgYXNzZXJ0X2VxdWFs
cyhyZXNbJ2FjY2VwdC1sYW5ndWFnZSddLCAnbm4nKQorICAgIGFzc2VydF9lcXVhbHMocmVzWydj
b250ZW50LWxhbmd1YWdlJ10sICdubicpCisgICAgYXNzZXJ0X2VxdWFscyhyZXNbJ3NhdmUtZGF0
YSddLCAnb24nKQorICAgIGFzc2VydF9lcXVhbHMocmVzWydkZXZpY2UtbWVtb3J5J10sICcxLjAn
KQorICAgIGFzc2VydF9lcXVhbHMocmVzWydkcHInXSwgJzIuMCcpCisgICAgYXNzZXJ0X2VxdWFs
cyhyZXNbJ3dpZHRoJ10sICczNScpCisgICAgYXNzZXJ0X2VxdWFscyhyZXNbJ3ZpZXdwb3J0LXdp
ZHRoJ10sICc0MicpCit9LCAnQ2xpZW50IGhpbnQgaGVhZGVycyBhcmUgc2ltcGxlIGhlYWRlcnMn
KQorCis8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29ycy9jbGllbnQtaGludC1yZXF1ZXN0LWhlYWRlcnMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2Ns
aWVudC1oaW50LXJlcXVlc3QtaGVhZGVycy1leHBlY3RlZC50eHQKaW5kZXggNTBlM2U3YjFmMzJh
MjQxNjI4MjU2N2Y4YzY0MzZjOTZjMTczODY1Yy4uNjI5ZmI2NTkxNWEzOTFjODQ2N2I5ZjFmNzhl
ZDNhZmM2NzNhYmQ4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL2NsaWVudC1oaW50LXJlcXVlc3QtaGVhZGVycy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3Jz
L2NsaWVudC1oaW50LXJlcXVlc3QtaGVhZGVycy1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw2IEBA
CiBSZXF1ZXN0IGhlYWRlcnMKIAogCi1GQUlMIENsaWVudCBoaW50IGhlYWRlcnMgYXJlIHNpbXBs
ZSBoZWFkZXJzICBBIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWQuCiBQQVNTIFVuc3BlY2lmaWVkIHJl
cXVlc3QgaGVhZGVycyBhcmUgZGlzYWxsb3dlZCAKIFBBU1MgVW5leHRyYWN0YWJsZSBkZXZpY2Ut
bWVtb3J5IGNsaWVudCBoaW50IGhlYWRlciBpcyBkaXNhbGxvd2VkIAogUEFTUyBVbmV4dHJhY3Rh
YmxlIERQUiBjbGllbnQgaGludCBoZWFkZXIgaXMgZGlzYWxsb3dlZCAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jbGllbnQtaGlu
dC1yZXF1ZXN0LWhlYWRlcnMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb3JzL2NsaWVudC1oaW50LXJlcXVlc3QtaGVhZGVycy5odG0KaW5kZXggZWU2
YzdlYTdlODZmMDMyZTNkYTk2ZTk5NzQ3Yzc0M2ExNmJhNDRlMi4uMTdmYmQzZGFhM2Y5NzllOTNl
ZWE0M2ViNDM0N2ZkM2QzNjI0YzgwNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2NsaWVudC1oaW50LXJlcXVlc3QtaGVhZGVycy5o
dG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3Jz
L2NsaWVudC1oaW50LXJlcXVlc3QtaGVhZGVycy5odG0KQEAgLTEsNiArMSw2IEBACiA8IURPQ1RZ
UEUgaHRtbD4KIDxtZXRhIGNoYXJzZXQ9dXRmLTg+Ci08dGl0bGU+Q09SUyAtIGNsaWVudCBoaW50
IHJlcXVlc3QgaGVhZGVycyAtIEFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnM8L3RpdGxlPgor
PHRpdGxlPkNPUlMgYW5kIENsaWVudCBIaW50czwvdGl0bGU+CiAKIDxzY3JpcHQgc3JjPS9yZXNv
dXJjZXMvdGVzdGhhcm5lc3MuanM+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzPjwvc2NyaXB0PgpAQCAtMTAsNjggKzEwLDQwIEBACiA8ZGl2IGlk
PWxvZz48L2Rpdj4KIDxzY3JpcHQ+CiAKLXRlc3QoZnVuY3Rpb24oKSB7Ci0gICAgdmFyIGNsaWVu
dCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCi0gICAgY2xpZW50Lm9wZW4oJ0dFVCcsIENST1NTRE9N
QUlOICsgJ3Jlc291cmNlcy9jb3JzLW1ha2VoZWFkZXIucHk/aGVhZGVycz14LXByaW50LCcsIGZh
bHNlKQotICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCd4LXByaW50JywgJ3VuaWNvcm4nKQot
ICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCdjb250ZW50LXR5cGUnLCAndGV4dC9wbGFpbicp
Ci0gICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoJ2FjY2VwdCcsICd0ZXN0JykKLSAgICBjbGll
bnQuc2V0UmVxdWVzdEhlYWRlcignYWNjZXB0LWxhbmd1YWdlJywgJ25uJykKLSAgICBjbGllbnQu
c2V0UmVxdWVzdEhlYWRlcignY29udGVudC1sYW5ndWFnZScsICdubicpCi0gICAgY2xpZW50LnNl
dFJlcXVlc3RIZWFkZXIoJ3NhdmUtZGF0YScsICdvbicpCi0gICAgY2xpZW50LnNldFJlcXVlc3RI
ZWFkZXIoJ2RldmljZS1tZW1vcnknLCAnMS4wJykKLSAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRl
cignZHByJywgJzIuMCcpCi0gICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoJ3dpZHRoJywgJzM1
JykKLSAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigndmlld3BvcnQtd2lkdGgnLCAnNDInKQot
ICAgIGNsaWVudC5zZW5kKG51bGwpCi0KLSAgICBjb25zdCByZXMgPSBKU09OLnBhcnNlKGNsaWVu
dC5yZXNwb25zZSkKLSAgICBhc3NlcnRfZXF1YWxzKHJlc1sneC1wcmludCddLCAndW5pY29ybicp
Ci0gICAgYXNzZXJ0X2VxdWFscyhyZXNbJ2NvbnRlbnQtdHlwZSddLCAndGV4dC9wbGFpbicpCi0g
ICAgYXNzZXJ0X2VxdWFscyhyZXNbJ2FjY2VwdCddLCAndGVzdCcpCi0gICAgYXNzZXJ0X2VxdWFs
cyhyZXNbJ2FjY2VwdC1sYW5ndWFnZSddLCAnbm4nKQotICAgIGFzc2VydF9lcXVhbHMocmVzWydj
b250ZW50LWxhbmd1YWdlJ10sICdubicpCi0gICAgYXNzZXJ0X2VxdWFscyhyZXNbJ3NhdmUtZGF0
YSddLCAnb24nKQotICAgIGFzc2VydF9lcXVhbHMocmVzWydkZXZpY2UtbWVtb3J5J10sICcxLjAn
KQotICAgIGFzc2VydF9lcXVhbHMocmVzWydkcHInXSwgJzIuMCcpCi0gICAgYXNzZXJ0X2VxdWFs
cyhyZXNbJ3dpZHRoJ10sICczNScpCi0gICAgYXNzZXJ0X2VxdWFscyhyZXNbJ3ZpZXdwb3J0LXdp
ZHRoJ10sICc0MicpCi19LCAnQ2xpZW50IGhpbnQgaGVhZGVycyBhcmUgc2ltcGxlIGhlYWRlcnMn
KQotCiB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVl
c3QoKQogICAgIGNsaWVudC5vcGVuKCdHRVQnLCBDUk9TU0RPTUFJTiArICdyZXNvdXJjZXMvY29y
cy1tYWtlaGVhZGVyLnB5P2hlYWRlcnM9eC1wcmludCcsIGZhbHNlKQogICAgIGNsaWVudC5zZXRS
ZXF1ZXN0SGVhZGVyKCd4LXByaW50JywgJ3VuaWNvcm4nKQogICAgIGNsaWVudC5zZXRSZXF1ZXN0
SGVhZGVyKCd5LXByaW50JywgJ3VuaWNvcm4nKQotICAgIGFzc2VydF90aHJvd3MoIk5ldHdvcmtF
cnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9KQorICAgIGFzc2VydF90aHJv
d3NfZG9tKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSkK
IH0sICdVbnNwZWNpZmllZCByZXF1ZXN0IGhlYWRlcnMgYXJlIGRpc2FsbG93ZWQnKQogCiB0ZXN0
KGZ1bmN0aW9uKCkgewogICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogICAg
IGNsaWVudC5vcGVuKCdHRVQnLCBDUk9TU0RPTUFJTiArICdyZXNvdXJjZXMvY29ycy1tYWtlaGVh
ZGVyLnB5P2hlYWRlcnM9eC1wcmludCcsIGZhbHNlKQogICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVh
ZGVyKCdkZXZpY2UtbWVtb3J5JywgJycpCi0gICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9y
IiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCisgICAgYXNzZXJ0X3Rocm93c19k
b20oIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9KQogfSwg
J1VuZXh0cmFjdGFibGUgZGV2aWNlLW1lbW9yeSBjbGllbnQgaGludCBoZWFkZXIgaXMgZGlzYWxs
b3dlZCcpCiAKIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRw
UmVxdWVzdCgpCiAgICAgY2xpZW50Lm9wZW4oJ0dFVCcsIENST1NTRE9NQUlOICsgJ3Jlc291cmNl
cy9jb3JzLW1ha2VoZWFkZXIucHk/aGVhZGVycz14LXByaW50JywgZmFsc2UpCiAgICAgY2xpZW50
LnNldFJlcXVlc3RIZWFkZXIoJ2RwcicsICcnKQotICAgIGFzc2VydF90aHJvd3MoIk5ldHdvcmtF
cnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9KQorICAgIGFzc2VydF90aHJv
d3NfZG9tKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSkK
IH0sICdVbmV4dHJhY3RhYmxlIERQUiBjbGllbnQgaGludCBoZWFkZXIgaXMgZGlzYWxsb3dlZCcp
CiAKIHRlc3QoZnVuY3Rpb24oKSB7CiAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVz
dCgpCiAgICAgY2xpZW50Lm9wZW4oJ0dFVCcsIENST1NTRE9NQUlOICsgJ3Jlc291cmNlcy9jb3Jz
LW1ha2VoZWFkZXIucHk/aGVhZGVycz14LXByaW50JywgZmFsc2UpCiAgICAgY2xpZW50LnNldFJl
cXVlc3RIZWFkZXIoJ3dpZHRoJywgJycpCi0gICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9y
IiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKG51bGwpIH0pCisgICAgYXNzZXJ0X3Rocm93c19k
b20oIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9KQogfSwg
J1VuZXh0cmFjdGFibGUgd2lkdGggY2xpZW50IGhpbnQgaGVhZGVyIGlzIGRpc2FsbG93ZWQnKQog
CiB0ZXN0KGZ1bmN0aW9uKCkgewogICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3Qo
KQogICAgIGNsaWVudC5vcGVuKCdHRVQnLCBDUk9TU0RPTUFJTiArICdyZXNvdXJjZXMvY29ycy1t
YWtlaGVhZGVyLnB5P2hlYWRlcnM9eC1wcmludCcsIGZhbHNlKQogICAgIGNsaWVudC5zZXRSZXF1
ZXN0SGVhZGVyKCd2aWV3cG9ydC13aWR0aCcsICcnKQotICAgIGFzc2VydF90aHJvd3MoIk5ldHdv
cmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZChudWxsKSB9KQorICAgIGFzc2VydF90
aHJvd3NfZG9tKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkg
fSkKIH0sICdVbmV4dHJhY3RhYmxlIHZpZXdwb3J0LXdpZHRoIGNsaWVudCBoaW50IGhlYWRlciBp
cyBkaXNhbGxvd2VkJykKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvY29ycy1zYWZlbGlzdGVkLXJlcXVlc3Qt
aGVhZGVyLmFueS5qcyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29ycy9jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXIuYW55LmpzCmluZGV4IGQ3YmI1
ZTcwYjhlNzM5ZGJkZDU3YjBiZjYxZDUwZGQ2MmQ0ZDM3NjUuLmQwOTI3ZDMwMmZlNjJhYzEyYTBi
ZDNkODlmMDAxNWUyYmFlMGRhMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXIu
YW55LmpzCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29ycy9jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXIuYW55LmpzCkBAIC0xMSw3ICsxMSw3
IEBAIGZ1bmN0aW9uIHNhZmVsaXN0KGhlYWRlcnMsIGV4cGVjdFByZWZsaWdodCA9IGZhbHNlKSB7
CiAgICAgICAgICAgY2hlY2tVUkwgPSAicmVzb3VyY2VzL3ByZWZsaWdodC5weT9jaGVjayZ0b2tl
bj0iICsgdXVpZCwKICAgICAgICAgICByZXF1ZXN0ID0gKCkgPT4gZmV0Y2godXJsLCB7IG1ldGhv
ZDogIlBPU1QiLCBoZWFkZXJzLCBib2R5OiAiZGF0YSIgfSk7CiAgICAgaWYgKGV4cGVjdFByZWZs
aWdodCkgewotICAgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzKHQsIFR5cGVFcnJvcigpLCByZXF1
ZXN0KCkpOworICAgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzX2pzKHQsIFR5cGVFcnJvciwgcmVx
dWVzdCgpKTsKICAgICB9IGVsc2UgewogICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXF1
ZXN0KCk7CiAgICAgICBhc3NlcnRfZXF1YWxzKHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCJjb250ZW50
LXR5cGUiKSwgInRleHQvcGxhaW4iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jcmVkZW50aWFscy1mbGFnLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jcmVk
ZW50aWFscy1mbGFnLWV4cGVjdGVkLnR4dAppbmRleCBiOTUwMmMwMzVkMWVkOWIxOTRiMTk4MDJm
YmI3ZmRjNmMxMDVmNWJjLi45NjdlZDllYWU2MjBiNmVmNzcwMDU0OGY5MGIzMWRiODg1NWZhMzg1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvcnMvY3JlZGVudGlhbHMtZmxhZy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2NyZWRlbnRpYWxzLWZsYWctZXhwZWN0
ZWQudHh0CkBAIC04LDcgKzgsMTIgQEAgRkFJTCBEb24ndCBvYmV5IFNldC1Db29raWUgd2hlbiB3
aXRoQ3JlZGVudGlhbHM9ZmFsc2UgYXNzZXJ0X2VxdWFsczogdGhpcmQgZXhwZWMKIFBBU1MgQWNj
ZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM6IFRSVUUgc2hvdWxkIGJlIGRpc2FsbG93ZWQg
KGFzeW5jKSAKIFBBU1MgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHM6IFRydWUgc2hv
dWxkIGJlIGRpc2FsbG93ZWQgKGFzeW5jKSAKIFBBU1MgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3Jl
ZGVudGlhbHM6ICJ0cnVlIiBzaG91bGQgYmUgZGlzYWxsb3dlZCAoYXN5bmMpIAorUEFTUyBBY2Nl
c3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsczogJ3RydWUnIHNob3VsZCBiZSBkaXNhbGxvd2Vk
IChhc3luYykgCiBQQVNTIEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzOiBmYWxzZSBz
aG91bGQgYmUgZGlzYWxsb3dlZCAoYXN5bmMpIAogUEFTUyBBY2Nlc3MtQ29udHJvbC1BbGxvdy1D
cmVkZW50aWFsczogMSBzaG91bGQgYmUgZGlzYWxsb3dlZCAoYXN5bmMpIAogUEFTUyBBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1DcmVkZW50aWFsczogMCBzaG91bGQgYmUgZGlzYWxsb3dlZCAoYXN5bmMp
IAorUEFTUyBBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsczogLHRydWUgc2hvdWxkIGJl
IGRpc2FsbG93ZWQgKGFzeW5jKSAKK1BBU1MgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlh
bHM6IHRydWUsIHNob3VsZCBiZSBkaXNhbGxvd2VkIChhc3luYykgCitGQUlMIEFjY2Vzcy1Db250
cm9sLUFsbG93LUNyZWRlbnRpYWxzOiB0cnVlJTBCIHNob3VsZCBiZSBkaXNhbGxvd2VkIChhc3lu
YykgYXNzZXJ0X3VucmVhY2hlZDogb25sb2FkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJ
TCBBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsczogdHJ1ZSUwQyBzaG91bGQgYmUgZGlz
YWxsb3dlZCAoYXN5bmMpIGFzc2VydF91bnJlYWNoZWQ6IG9ubG9hZCBSZWFjaGVkIHVucmVhY2hh
YmxlIGNvZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb3JzL2NyZWRlbnRpYWxzLWZsYWcuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2NyZWRlbnRpYWxzLWZsYWcuaHRtCmluZGV4
IGJhY2Q0M2M0ZWQ1OWYxZGY4NGRmNzQ2YzI5MDY1OGFkZDVmMDI1ODIuLjQ1YTcxNDM2ODU2MDkz
NjQzOTg4OTg1NWMzNjQ1MzQ2MzI5NWFlNTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9jcmVkZW50aWFscy1mbGFnLmh0bQorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvY3JlZGVu
dGlhbHMtZmxhZy5odG0KQEAgLTEyMiw4ICsxMjIsMTMgQEAgZnVuY3Rpb24gdGVzdF9yZXNwb25z
ZV9oZWFkZXIoYWxsb3cpIHsKIHRlc3RfcmVzcG9uc2VfaGVhZGVyKCdUUlVFJykKIHRlc3RfcmVz
cG9uc2VfaGVhZGVyKCdUcnVlJykKIHRlc3RfcmVzcG9uc2VfaGVhZGVyKCcidHJ1ZSInKQordGVz
dF9yZXNwb25zZV9oZWFkZXIoIid0cnVlJyIpOwogdGVzdF9yZXNwb25zZV9oZWFkZXIoJ2ZhbHNl
JykKIHRlc3RfcmVzcG9uc2VfaGVhZGVyKCcxJykKIHRlc3RfcmVzcG9uc2VfaGVhZGVyKCcwJykK
K3Rlc3RfcmVzcG9uc2VfaGVhZGVyKCcsdHJ1ZScpOwordGVzdF9yZXNwb25zZV9oZWFkZXIoJ3Ry
dWUsJyk7Cit0ZXN0X3Jlc3BvbnNlX2hlYWRlcigndHJ1ZSUwQicpOwordGVzdF9yZXNwb25zZV9o
ZWFkZXIoJ3RydWUlMEMnKTsKIAogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvb3JpZ2luLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9vcmlnaW4t
ZXhwZWN0ZWQudHh0CmluZGV4IGJkNTVjOGVlZjBmMTY1OTNkOGQyMTA3ZmI1YzAyZDA1ZWI3OTFl
YmEuLmIzYmQxMjVlMjY5MzJjZjY5YmYyMDE1YWUwOTMwMDAzOTM5ZmM5MTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9vcmlnaW4t
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29ycy9vcmlnaW4tZXhwZWN0ZWQudHh0CkBAIC0zMCw4ICszMCwxNCBAQCBQQVNTIERp
c2FsbG93IG9yaWdpbjogSFRUUDovL0xPQ0FMSE9TVDo4ODAwCiBQQVNTIERpc2FsbG93IG9yaWdp
bjogSFRUUDovL2xvY2FsaG9zdDo4ODAwIAogUEFTUyBEaXNhbGxvdyBvcmlnaW46IC0gCiBQQVNT
IERpc2FsbG93IG9yaWdpbjogKiogCitQQVNTIERpc2FsbG93IG9yaWdpbjogLCogCitQQVNTIERp
c2FsbG93IG9yaWdpbjogKiwgCiBQQVNTIERpc2FsbG93IG9yaWdpbjogXDAqIAorRkFJTCBEaXNh
bGxvdyBvcmlnaW46IAsqIGFzc2VydF90aHJvd3NfZG9tOiBzZW5kIGZ1bmN0aW9uICJmdW5jdGlv
biAoKSB7IGNsaWVudC5zZW5kKCkgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBEaXNhbGxvdyBvcmln
aW46IAwqIGFzc2VydF90aHJvd3NfZG9tOiBzZW5kIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IGNs
aWVudC5zZW5kKCkgfSIgZGlkIG5vdCB0aHJvdwogUEFTUyBEaXNhbGxvdyBvcmlnaW46ICpcMCAK
K0ZBSUwgRGlzYWxsb3cgb3JpZ2luOiAqCyBhc3NlcnRfdGhyb3dzX2RvbTogc2VuZCBmdW5jdGlv
biAiZnVuY3Rpb24gKCkgeyBjbGllbnQuc2VuZCgpIH0iIGRpZCBub3QgdGhyb3cKK0ZBSUwgRGlz
YWxsb3cgb3JpZ2luOiAqDCBhc3NlcnRfdGhyb3dzX2RvbTogc2VuZCBmdW5jdGlvbiAiZnVuY3Rp
b24gKCkgeyBjbGllbnQuc2VuZCgpIH0iIGRpZCBub3QgdGhyb3cKIFBBU1MgRGlzYWxsb3cgb3Jp
Z2luOiAnKicgCiBQQVNTIERpc2FsbG93IG9yaWdpbjogIioiIAogUEFTUyBEaXNhbGxvdyBvcmln
aW46ICogKiAKQEAgLTUyLDcgKzU4LDcgQEAgUEFTUyBEaXNhbGxvdyBvcmlnaW46IGh0dHA6Ly8x
MjcuMC4wLjE6ODgwMC9jb3JzLwogUEFTUyBEaXNhbGxvdyBvcmlnaW46IGxvY2FsaG9zdDo4ODAw
IAogUEFTUyBEaXNhbGxvdyBvcmlnaW46IC5sb2NhbGhvc3Q6ODgwMCAKIFBBU1MgRGlzYWxsb3cg
b3JpZ2luOiAqLmxvY2FsaG9zdDo4ODAwIAotRkFJTCBEaXNhbGxvdyBvcmlnaW46IGh0dHA6Ly9s
b2NhbGhvc3Q6ODgwMCBhc3NlcnRfdGhyb3dzOiBzZW5kIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7
IGNsaWVudC5zZW5kKCkgfSIgZGlkIG5vdCB0aHJvdworRkFJTCBEaXNhbGxvdyBvcmlnaW46IGh0
dHA6Ly9sb2NhbGhvc3Q6ODgwMCBhc3NlcnRfdGhyb3dzX2RvbTogc2VuZCBmdW5jdGlvbiAiZnVu
Y3Rpb24gKCkgeyBjbGllbnQuc2VuZCgpIH0iIGRpZCBub3QgdGhyb3cKIFBBU1MgRGlzYWxsb3cg
b3JpZ2luOiBodHRwOi8vLmxvY2FsaG9zdDo4ODAwIAogUEFTUyBEaXNhbGxvdyBvcmlnaW46IGh0
dHA6Ly8qLmxvY2FsaG9zdDo4ODAwIAogUEFTUyBEaXNhbGxvdyBtdWx0aXBsZSBoZWFkZXJzICgs
ICopIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb3JzL29yaWdpbi5odG0gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2NvcnMvb3JpZ2luLmh0bQppbmRleCBhMDRhMjllYjQ5N2Y3NjVhY2Y3M2U4NjVh
YzkyYTYzNjZkMTk4MmY5Li4zZDQ2MDAyOTMzYmIzY2U2ZTIxZGE4Y2Y2YTRjYmNkMDZkNTA2MDJm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvcnMvb3JpZ2luLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2NvcnMvb3JpZ2luLmh0bQpAQCAtMSw2ICsxLDcgQEAKIDwhRE9DVFlQRSBodG1s
PgogPG1ldGEgY2hhcnNldD11dGYtOD4KIDx0aXRsZT5BY2Nlc3MtQ29udHJvbC1BbGxvdy1Pcmln
aW4gaGFuZGxpbmc8L3RpdGxlPgorPG1ldGEgbmFtZT0idGltZW91dCIgY29udGVudD0ibG9uZyI+
CiA8bGluayByZWw9aGVscCBocmVmPWh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLz4KIDxt
ZXRhIG5hbWU9YXV0aG9yIHRpdGxlPSJPZGluIEjDuHJ0aGUgT21kYWwiIGhyZWY9Im1haWx0bzpv
ZGlob0BvcGVyYS5jb20iPgogCkBAIC00Nyw3ICs0OCw3IEBAIGZ1bmN0aW9uIHNob3VsZEZhaWwo
b3JpZ2luKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAnL3Jlc291cmNlcy9jb3Jz
LW1ha2VoZWFkZXIucHk/b3JpZ2luPScKICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIGVu
Y29kZVVSSUNvbXBvbmVudChvcmlnaW4pLAogICAgICAgICAgICAgICAgICAgICBmYWxzZSkKLSAg
ICAgICAgYXNzZXJ0X3Rocm93cygiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5z
ZW5kKCkgfSwgJ3NlbmQnKQorICAgICAgICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9y
IiwgZnVuY3Rpb24oKSB7IGNsaWVudC5zZW5kKCkgfSwgJ3NlbmQnKQogICAgIH0sICdEaXNhbGxv
dyBvcmlnaW46ICcgKyBvcmlnaW4ucmVwbGFjZSgvXDAvZywgIlxcMCIpKTsKIH0KIApAQCAtNzEs
OCArNzIsMTQgQEAgc2hvdWxkRmFpbCgobG9jYXRpb24ucHJvdG9jb2wgKyAiLy8iICsgbG9jYXRp
b24uaG9zdCkudG9VcHBlckNhc2UoKSkKIHNob3VsZEZhaWwobG9jYXRpb24ucHJvdG9jb2wudG9V
cHBlckNhc2UoKSArICIvLyIgKyBsb2NhdGlvbi5ob3N0KQogc2hvdWxkRmFpbCgiLSIpCiBzaG91
bGRGYWlsKCIqKiIpCitzaG91bGRGYWlsKCIsKiIpOworc2hvdWxkRmFpbCgiKiwiKTsKIHNob3Vs
ZEZhaWwoIlwwKiIpCitzaG91bGRGYWlsKCJcdTAwMEIqIik7CitzaG91bGRGYWlsKCJcdTAwMEMq
Iik7CiBzaG91bGRGYWlsKCIqXDAiKQorc2hvdWxkRmFpbCgiKlx1MDAwQiIpOworc2hvdWxkRmFp
bCgiKlx1MDAwQyIpOwogc2hvdWxkRmFpbCgiJyonIikKIHNob3VsZEZhaWwoJyIqIicpCiBzaG91
bGRGYWlsKCIqICoiKQpAQCAtMTA1LDcgKzExMiw3IEBAIGZ1bmN0aW9uIGRvdWJsZU9yaWdpbihv
cmlnaW4sIG9yaWdpbjIpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIGVuY29kZVVS
SUNvbXBvbmVudChvcmlnaW4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAnJm9yaWdp
bjI9JyArIGVuY29kZVVSSUNvbXBvbmVudChvcmlnaW4yKSwKICAgICAgICAgICAgICAgICAgICAg
ZmFsc2UpCi0gICAgICAgIGFzc2VydF90aHJvd3MoIk5ldHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkg
eyBjbGllbnQuc2VuZCgpIH0sICdzZW5kJykKKyAgICAgICAgYXNzZXJ0X3Rocm93c19kb20oIk5l
dHdvcmtFcnJvciIsIGZ1bmN0aW9uKCkgeyBjbGllbnQuc2VuZCgpIH0sICdzZW5kJykKICAgICB9
LCAnRGlzYWxsb3cgbXVsdGlwbGUgaGVhZGVycyAoJyArIG9yaWdpbiArICcsICcgKyBvcmlnaW4y
ICsgJyknKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL3ByZWZsaWdodC1jYWNoZS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcHJlZmxpZ2h0LWNhY2hl
LWV4cGVjdGVkLnR4dAppbmRleCAwNjYxOTRhMjdlNGE2MzgzMTE5OTk3OTUzZWQwOTBiNjgxOWEx
N2I0Li4xNWMzODgwMzljODVjNmU3ODNhNDZmNThlMWM1MWZmN2U3ZjcxN2NhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcHJlZmxp
Z2h0LWNhY2hlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvcnMvcHJlZmxpZ2h0LWNhY2hlLWV4cGVjdGVkLnR4dApAQCAtMyw2
ICszLDcgQEAgUHJlZmxpZ2h0IGNhY2hlCiAKIFBBU1MgVGVzdCBwcmVmbGlnaHQgCiBQQVNTIHBy
ZWZsaWdodCBmb3IgeC1wcmludCBzaG91bGQgYmUgY2FjaGVkIAorUEFTUyBhZ2UgPSBibGFuaywg
c2hvdWxkIGJlIGNhY2hlZCAKIFBBU1MgYWdlID0gMCwgc2hvdWxkIG5vdCBiZSBjYWNoZWQgCiBG
QUlMIGFnZSA9IC0xLCBzaG91bGQgbm90IGJlIGNhY2hlZCBhc3NlcnRfZXF1YWxzOiBkaWQgcHJl
ZmxpZ2h0IGV4cGVjdGVkICIxIiBidXQgZ290ICIwIgogUEFTUyBwcmVmbGlnaHQgZmlyc3QgcmVx
dWVzdCwgc2Vjb25kIGZyb20gY2FjaGUsIHdhaXQsIHRoaXJkIHNob3VsZCBwcmVmbGlnaHQgYWdh
aW4gCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2NvcnMvcHJlZmxpZ2h0LWNhY2hlLmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9wcmVmbGlnaHQtY2FjaGUuaHRtCmluZGV4IDcyZTBmZWRi
OGJlZThlNDIwMWQ0YTJiZjc2ZGNiNDkyNGQ2N2Q3OTkuLmIzZGU2NjNlYmMxZDMyNDA5YzhlZDM3
NmEzODczYjJhMmI2NzVlYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9wcmVmbGlnaHQtY2FjaGUuaHRtCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9wcmVmbGlnaHQtY2FjaGUu
aHRtCkBAIC0xLDYgKzEsNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8bWV0YSBjaGFyc2V0PXV0Zi04
PgogPHRpdGxlPkNPUlMgLSBwcmVmbGlnaHQgY2FjaGU8L3RpdGxlPgorPG1ldGEgbmFtZT0idGlt
ZW91dCIgY29udGVudD0ibG9uZyI+CiA8bWV0YSBuYW1lPWF1dGhvciB0aXRsZT0iT2RpbiBIw7hy
dGhlIE9tZGFsIiBocmVmPSJtYWlsdG86b2RpaG9Ab3BlcmEuY29tIj4KIAogPHNjcmlwdCBzcmM9
L3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcz48L3NjcmlwdD4KQEAgLTU5LDYgKzYwLDE1IEBAIHRl
c3QoZnVuY3Rpb24oKSB7CiB9LAogJ3ByZWZsaWdodCBmb3IgeC1wcmludCBzaG91bGQgYmUgY2Fj
aGVkJykKIAordGVzdChmdW5jdGlvbigpIHsKKyAgICB2YXIgdGltZSA9IG5ldyBEYXRlKCkuZ2V0
VGltZSgpCisgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCisKKyAgICB2YXIg
aWQgPSBkaWRfcHJlZmxpZ2h0KHRydWUsIGNsaWVudCwge2V4dHJhOidtYXhfYWdlPSd9KQorICAg
IGRpZF9wcmVmbGlnaHQoZmFsc2UsIGNsaWVudCwge2V4dHJhOidtYXhfYWdlPScsIHRva2VuOiBp
ZH0pCit9LAorJ2FnZSA9IGJsYW5rLCBzaG91bGQgYmUgY2FjaGVkJykKKwogdGVzdChmdW5jdGlv
bigpIHsKICAgICB2YXIgdGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpCiAgICAgdmFyIGNsaWVu
dCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCkBAIC03OCw3ICs4OCw3IEBAIHRlc3QoZnVuY3Rpb24o
KSB7CiAnYWdlID0gLTEsIHNob3VsZCBub3QgYmUgY2FjaGVkJyk7CiAKIChmdW5jdGlvbigpIHsK
LSAgICB2YXIgdGVzdCA9IGFzeW5jX3Rlc3QoInByZWZsaWdodCBmaXJzdCByZXF1ZXN0LCBzZWNv
bmQgZnJvbSBjYWNoZSwgd2FpdCwgdGhpcmQgc2hvdWxkIHByZWZsaWdodCBhZ2FpbiIsIHsgdGlt
ZW91dDogNjAwMCB9KSwKKyAgICB2YXIgdGVzdCA9IGFzeW5jX3Rlc3QoInByZWZsaWdodCBmaXJz
dCByZXF1ZXN0LCBzZWNvbmQgZnJvbSBjYWNoZSwgd2FpdCwgdGhpcmQgc2hvdWxkIHByZWZsaWdo
dCBhZ2FpbiIpLAogICAgICAgICB0aW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCksCiAgICAgICAg
IGRvdGhpbmcgPSBmdW5jdGlvbiAodXJsLCBtc2csIHNldF9yZXF1ZXN0LCBmdW5jKSB7CiAgICAg
ICAgICAgICBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKSwKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXF1ZXN0LWhlYWRl
cnMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3Jz
L3JlcXVlc3QtaGVhZGVycy5odG0KaW5kZXggMjg5ZjQwMjE5MWViYmQ3ZDQ3ZDcwZTEzYTU4ZjMw
YjhkYjYyNTIwZi4uNzYzNGVjYTlmYzhiZjFhNzE0YmZiMzU1YzdlNDJiMzhiNTExZDgwOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3Jz
L3JlcXVlc3QtaGVhZGVycy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL3JlcXVlc3QtaGVhZGVycy5odG0KQEAgLTQ4LDcgKzQ4LDcgQEAg
dGVzdChmdW5jdGlvbigpIHsKICAgICBjbGllbnQub3BlbignR0VUJywgQ1JPU1NET01BSU4gKyAn
cmVzb3VyY2VzL2NvcnMtbWFrZWhlYWRlci5weT9oZWFkZXJzPXgtcHJpbnQnLCBmYWxzZSkKICAg
ICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigneC1wcmludCcsICd1bmljb3JuJykKICAgICBjbGll
bnQuc2V0UmVxdWVzdEhlYWRlcigneS1wcmludCcsICd1bmljb3JuJykKLSAgICBhc3NlcnRfdGhy
b3dzKCJOZXR3b3JrRXJyb3IiLCBmdW5jdGlvbigpIHsgY2xpZW50LnNlbmQobnVsbCkgfSkKKyAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgiTmV0d29ya0Vycm9yIiwgZnVuY3Rpb24oKSB7IGNsaWVudC5z
ZW5kKG51bGwpIH0pCiB9LCAnVW5zcGVjaWZpZWQgcmVxdWVzdCBoZWFkZXJzIGFyZSBkaXNhbGxv
d2VkJykKIAogdGVzdChmdW5jdGlvbigpIHsKQEAgLTY1LDcgKzY1LDcgQEAgdGVzdChmdW5jdGlv
bigpIHsKIAogdGVzdChmdW5jdGlvbigpIHsKICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0dHBS
ZXF1ZXN0KCkKLSAgICBhc3NlcnRfdGhyb3dzKCdJTlZBTElEX1NUQVRFX0VSUicsIGZ1bmN0aW9u
KCkgeyBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcigneC1wcmludCcsICd1bmljb3JuJykgfSkKKyAg
ICBhc3NlcnRfdGhyb3dzX2RvbSgnSU5WQUxJRF9TVEFURV9FUlInLCBmdW5jdGlvbigpIHsgY2xp
ZW50LnNldFJlcXVlc3RIZWFkZXIoJ3gtcHJpbnQnLCAndW5pY29ybicpIH0pCiB9LAogJ0lOVkFM
SURfU1RBVEVfRVJSIG9uIHNldFJlcXVlc3RIZWFkZXIgYmVmb3JlIG9wZW4oKScpCiAKQEAgLTcz
LDcgKzczLDcgQEAgdGVzdChmdW5jdGlvbigpIHsKICAgICB2YXIgY2xpZW50ID0gbmV3IFhNTEh0
dHBSZXF1ZXN0KCkKICAgICBjbGllbnQub3BlbignR0VUJywgQ1JPU1NET01BSU4gKyAncmVzb3Vy
Y2VzL2NvcnMtbWFrZWhlYWRlci5weT9oZWFkZXJzPSx5LWxvbCx4LVByaU5ULCUyMCwsLFktUFJJ
TlQnLCBmYWxzZSkKICAgICBjbGllbnQuc2VuZCgpCi0gICAgYXNzZXJ0X3Rocm93cygnSU5WQUxJ
RF9TVEFURV9FUlInLCBmdW5jdGlvbigpIHsgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoJ3gtcHJp
bnQnLCAndW5pY29ybicpIH0pCisgICAgYXNzZXJ0X3Rocm93c19kb20oJ0lOVkFMSURfU1RBVEVf
RVJSJywgZnVuY3Rpb24oKSB7IGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKCd4LXByaW50JywgJ3Vu
aWNvcm4nKSB9KQogfSwKICdJTlZBTElEX1NUQVRFX0VSUiBvbiBzZXRSZXF1ZXN0SGVhZGVyIGFm
dGVyIHNlbmQoKScpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvMzA0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy8zMDQucHkKaW5kZXggMmZj
ODNiOWFlYTM4NzkzMjBhNzZkN2RmNDRlY2E4ZjE2ZjA1MGJiMi4uOGZkZjI5YTMxMzIwM2Q5MTll
Nzc1M2M4MTE0YzVlZTliMjgyMzgyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy8zMDQucHkKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy8zMDQu
cHkKQEAgLTEsNjIgKzEsNjIgQEAKICMhL3Vzci9iaW4vZW52IHB5dGhvbgogCiAjIEEgaGVhZGVy
IHVzZWQgdG8gY29ycmVsYXRlIHJlcXVlc3RzIGFuZCByZXNwb25zZXMKLXN0YXRlX2hlYWRlciA9
ICJjb250ZW50LWxhbmd1YWdlIgorc3RhdGVfaGVhZGVyID0gYiJjb250ZW50LWxhbmd1YWdlIgog
CiAjIFN0YXRpYyBFVGFnIHRvIHVzZSAoYW5kIGV4cGVjdCkKLWV0YWcgPSAiYWJjZGVmIgorZXRh
ZyA9IGIiYWJjZGVmIgogCiBkZWYgZXJyb3IobXNnKToKLSAgICByZXR1cm4gKDI5OSwgIkNsaWVu
dCBFcnJvciIpLCBbCi0gICAgICAgICgnY29udGVudC10eXBlJywgJ3RleHQvcGxhaW4nKSwKLSAg
ICAgICAgKCdhY2Nlc3MtY29udHJvbC1hbGxvdy1vcmlnaW4nLCAiKiIpLAotICAgICAgICAoJ2Fj
Y2Vzcy1jb250cm9sLWV4cG9zZS1oZWFkZXJzJywgc3RhdGVfaGVhZGVyKSwKLSAgICAgICAgKCdj
YWNoZS1jb250cm9sJywgJ25vLXN0b3JlJykKKyAgICByZXR1cm4gKDI5OSwgdSJDbGllbnQgRXJy
b3IiKSwgWworICAgICAgICAoYidjb250ZW50LXR5cGUnLCBiJ3RleHQvcGxhaW4nKSwKKyAgICAg
ICAgKGInYWNjZXNzLWNvbnRyb2wtYWxsb3ctb3JpZ2luJywgYiIqIiksCisgICAgICAgIChiJ2Fj
Y2Vzcy1jb250cm9sLWV4cG9zZS1oZWFkZXJzJywgc3RhdGVfaGVhZGVyKSwKKyAgICAgICAgKGIn
Y2FjaGUtY29udHJvbCcsIGInbm8tc3RvcmUnKQogICAgIF0sIG1zZwogCiBkZWYgbWFpbihyZXF1
ZXN0LCByZXNwb25zZSk6CiAgICAgaGVhZGVycyA9IFtdCiAKLSAgICBpbm0gPSByZXF1ZXN0Lmhl
YWRlcnMuZ2V0KCdpZi1ub25lLW1hdGNoJywgTm9uZSkKKyAgICBpbm0gPSByZXF1ZXN0LmhlYWRl
cnMuZ2V0KGInaWYtbm9uZS1tYXRjaCcsIE5vbmUpCiAgICAgcmF3X3JlcV9udW0gPSByZXF1ZXN0
LmhlYWRlcnMuZ2V0KHN0YXRlX2hlYWRlciwgTm9uZSkKICAgICBpZiByYXdfcmVxX251bSA9PSBO
b25lOgotICAgICAgICByZXR1cm4gZXJyb3IoIm5vIHJlcV9udW0gaGVhZGVyIGluIHJlcXVlc3Qi
KQorICAgICAgICByZXR1cm4gZXJyb3IodSJubyByZXFfbnVtIGhlYWRlciBpbiByZXF1ZXN0IikK
ICAgICBlbHNlOgogICAgICAgICByZXFfbnVtID0gaW50KHJhd19yZXFfbnVtKQogICAgICAgICBp
ZiByZXFfbnVtID4gODoKLSAgICAgICAgICAgIHJldHVybiBlcnJvcigicmVxX251bSAlcyBvdXQg
b2YgcmFuZ2UiICUgcmVxX251bSkKKyAgICAgICAgICAgIHJldHVybiBlcnJvcih1InJlcV9udW0g
JXMgb3V0IG9mIHJhbmdlIiAlIHJlcV9udW0pCiAKLSAgICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vz
cy1Db250cm9sLUV4cG9zZS1IZWFkZXJzIiwgc3RhdGVfaGVhZGVyKSkKKyAgICBoZWFkZXJzLmFw
cGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1FeHBvc2UtSGVhZGVycyIsIHN0YXRlX2hlYWRlcikpCiAg
ICAgaGVhZGVycy5hcHBlbmQoKHN0YXRlX2hlYWRlciwgcmVxX251bSkpCi0gICAgaGVhZGVycy5h
cHBlbmQoKCJBIiwgcmVxX251bSkpCi0gICAgaGVhZGVycy5hcHBlbmQoKCJCIiwgcmVxX251bSkp
CisgICAgaGVhZGVycy5hcHBlbmQoKGIiQSIsIHJlcV9udW0pKQorICAgIGhlYWRlcnMuYXBwZW5k
KChiIkIiLCByZXFfbnVtKSkKIAogICAgIGlmIHJlcV9udW0gJSAyOiAgIyBvZGQgcmVxdWVzdHMg
YXJlIHRoZSBmaXJzdCBpbiBhIHRlc3QgcGFpcgogICAgICAgICBpZiBpbm06CiAgICAgICAgICAg
ICAjIHdoYXQgYXJlIHlvdSBkb2luZyBoZXJlPyBUaGlzIHNob3VsZCBiZSBhIGZyZXNoIHJlcXVl
c3QuCi0gICAgICAgICAgICByZXR1cm4gZXJyb3IoIklmLU5vbmUtTWF0Y2ggb24gZmlyc3QgcmVx
dWVzdCIpCisgICAgICAgICAgICByZXR1cm4gZXJyb3IodSJJZi1Ob25lLU1hdGNoIG9uIGZpcnN0
IHJlcXVlc3QiKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc3RhdHVzID0gMjAwLCAiT0si
Ci0gICAgICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdp
biIsICIqIikpCi0gICAgICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkNvbnRlbnQtVHlwZSIsICJ0
ZXh0L3BsYWluIikpCi0gICAgICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkNhY2hlLUNvbnRyb2wi
LCAicHJpdmF0ZSwgbWF4LWFnZT0zLCBtdXN0LXJldmFsaWRhdGUiKSkKLSAgICAgICAgICAgIGhl
YWRlcnMuYXBwZW5kKCgiRVRhZyIsIGV0YWcpKQotICAgICAgICAgICAgcmV0dXJuIHN0YXR1cywg
aGVhZGVycywgIlN1Y2Nlc3MiCisgICAgICAgICAgICBzdGF0dXMgPSAyMDAsIHUiT0siCisgICAg
ICAgICAgICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBi
IioiKSkKKyAgICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKChiIkNvbnRlbnQtVHlwZSIsIGIidGV4
dC9wbGFpbiIpKQorICAgICAgICAgICAgaGVhZGVycy5hcHBlbmQoKGIiQ2FjaGUtQ29udHJvbCIs
IGIicHJpdmF0ZSwgbWF4LWFnZT0zLCBtdXN0LXJldmFsaWRhdGUiKSkKKyAgICAgICAgICAgIGhl
YWRlcnMuYXBwZW5kKChiIkVUYWciLCBldGFnKSkKKyAgICAgICAgICAgIHJldHVybiBzdGF0dXMs
IGhlYWRlcnMsIHUiU3VjY2VzcyIKICAgICBlbHNlOiAgIyBldmVuIHJlcXVlc3RzIGFyZSB0aGUg
c2Vjb25kIGluIGEgcGFpciwgYW5kIHNob3VsZCBoYXZlIGEgZ29vZCBJTk0uCiAgICAgICAgIGlm
IGlubSAhPSBldGFnOgogICAgICAgICAgICAgIyBCYWQgYnJvd3Nlci4KICAgICAgICAgICAgIGlm
IGlubSA9PSBOb25lOgotICAgICAgICAgICAgICAgIHJldHVybiBlcnJvcigiSWYtTm9uZS1NYXRj
aCBtaXNzaW5nIikKKyAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3IodSJJZi1Ob25lLU1hdGNo
IG1pc3NpbmciKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gZXJy
b3IoIklmLU5vbmUtTWF0Y2ggJyVzJyBtaXNtYXRjaGVzIikKKyAgICAgICAgICAgICAgICByZXR1
cm4gZXJyb3IodSJJZi1Ob25lLU1hdGNoICclcycgbWlzbWF0Y2hlcyIpCiAgICAgICAgIGVsc2U6
CiAgICAgICAgICAgICBpZiByZXFfbnVtID09IDI6CiAgICAgICAgICAgICAgICAgcGFzcyAgIyBi
YXNpYywgdmFuaWxsYSBjaGVjawogICAgICAgICAgICAgZWxpZiByZXFfbnVtID09IDQ6Ci0gICAg
ICAgICAgICAgICAgaGVhZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1FeHBvc2UtSGVhZGVy
cyIsICJhLCBiIikpCisgICAgICAgICAgICAgICAgaGVhZGVycy5hcHBlbmQoKGIiQWNjZXNzLUNv
bnRyb2wtRXhwb3NlLUhlYWRlcnMiLCBiImEsIGIiKSkKICAgICAgICAgICAgIGVsaWYgcmVxX251
bSA9PSA2OgotICAgICAgICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wt
RXhwb3NlLUhlYWRlcnMiLCAiYSIpKQorICAgICAgICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKChi
IkFjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzIiwgYiJhIikpCiAgICAgICAgICAgICBlbGlm
IHJlcV9udW0gPT0gODoKLSAgICAgICAgICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbiIsICJvdGhlci5vcmlnaW4uZXhhbXBsZTo4MCIpKQotICAgICAg
ICAgICAgc3RhdHVzID0gMzA0LCAiTm90IE1vZGlmaWVkIgotICAgICAgICAgICAgcmV0dXJuIHN0
YXR1cywgaGVhZGVycywgIiIKKyAgICAgICAgICAgICAgICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nl
c3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCBiIm90aGVyLm9yaWdpbi5leGFtcGxlOjgwIikpCisg
ICAgICAgICAgICBzdGF0dXMgPSAzMDQsIHUiTm90IE1vZGlmaWVkIgorICAgICAgICAgICAgcmV0
dXJuIHN0YXR1cywgaGVhZGVycywgdSIiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL2NhY2hlLTMwNC5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMv
Y2FjaGUtMzA0LnB5CmluZGV4IDdhY2RmZDY5NzY4MjAwZGYxMDk4MWJiMzFjOTc2MzQ4MDBjNzc0
NDEuLjQxY2QxNmQ5YTJkNWMwMTY4NzNjMGRlNTU5NzhmZmQ5MWFhNzNmNzYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJj
ZXMvY2FjaGUtMzA0LnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvY2FjaGUtMzA0LnB5CkBAIC0xLDEwICsxLDEwIEBACiBk
ZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6Ci0gICAgbWF0Y2ggPSByZXF1ZXN0LmhlYWRlcnMu
Z2V0KCJJZi1Ob25lLU1hdGNoIiwgTm9uZSkKLSAgICBpZiBtYXRjaCBpcyBub3QgTm9uZSBhbmQg
bWF0Y2ggPT0gIm15YmVzdHNjcmlwdC12MSI6Ci0gICAgICAgIHJlc3BvbnNlLnN0YXR1cyA9ICgz
MDQsICJZRVAiKQotICAgICAgICByZXR1cm4gIiIKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgIioiKQotICAgIHJlc3BvbnNlLmhlYWRlcnMu
c2V0KCJDYWNoZS1Db250cm9sIiwgIm11c3QtcmV2YWxpZGF0ZSIpCi0gICAgcmVzcG9uc2UuaGVh
ZGVycy5zZXQoIkVUYWciLCAibXliZXN0c2NyaXB0LXYxIikKLSAgICByZXNwb25zZS5oZWFkZXJz
LnNldCgiQ29udGVudC1UeXBlIiwgInRleHQvamF2YXNjcmlwdCIpCi0gICAgcmV0dXJuICJmdW5j
dGlvbiBoZXAoKSB7IH0iCisgICAgbWF0Y2ggPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiSWYtTm9u
ZS1NYXRjaCIsIE5vbmUpCisgICAgaWYgbWF0Y2ggaXMgbm90IE5vbmUgYW5kIG1hdGNoID09IGIi
bXliZXN0c2NyaXB0LXYxIjoKKyAgICAgICAgcmVzcG9uc2Uuc3RhdHVzID0gKDMwNCwgdSJZRVAi
KQorICAgICAgICByZXR1cm4gdSIiCisgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoYiJBY2Nlc3Mt
Q29udHJvbC1BbGxvdy1PcmlnaW4iLCBiIioiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIi
Q2FjaGUtQ29udHJvbCIsIGIibXVzdC1yZXZhbGlkYXRlIikKKyAgICByZXNwb25zZS5oZWFkZXJz
LnNldChiIkVUYWciLCBiIm15YmVzdHNjcmlwdC12MSIpCisgICAgcmVzcG9uc2UuaGVhZGVycy5z
ZXQoYiJDb250ZW50LVR5cGUiLCBiInRleHQvamF2YXNjcmlwdCIpCisgICAgcmV0dXJuIHUiZnVu
Y3Rpb24gaGVwKCkgeyB9IgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9jaGVja2FuZHJlbW92ZS5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvY2hl
Y2thbmRyZW1vdmUucHkKaW5kZXggZjcxM2Q5OTBhZmNkZGIwY2YwMDA0OTljNmI5YTJlMzdiMTc0
ODFkMC4uNWNkNzg2ODE5OWYzMmUzYzhlMzUyOTE3Mjc4NTI2N2ExYWQ2ZWUzZCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291
cmNlcy9jaGVja2FuZHJlbW92ZS5weQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL2NoZWNrYW5kcmVtb3ZlLnB5CkBAIC0xLDYg
KzEsNiBAQAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAgIHRva2VuID0gcmVxdWVz
dC5HRVQuZmlyc3QoInRva2VuIikKKyAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KGIidG9r
ZW4iKQogICAgIGlmIHJlcXVlc3Quc2VydmVyLnN0YXNoLnJlbW92ZSh0b2tlbikgaXMgbm90IE5v
bmU6Ci0gICAgICAgIHJldHVybiAiMSIKKyAgICAgICAgcmV0dXJuIHUiMSIKICAgICBlbHNlOgot
ICAgICAgICByZXR1cm4gIjAiCisgICAgICAgIHJldHVybiB1IjAiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL2Nv
cnMtY29va2llLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jb3JzL3Jlc291cmNlcy9jb3JzLWNvb2tpZS5weQppbmRleCAwNjE1NjNlNGYyMDc4YzQ0Zjlh
YWQzYTNlOGQ4N2I0NTNiMWFmMWZiLi5lZTQyNDk0YWQwNTNlOTQ2MmU2YmZlMTk4MmY3N2UwYzg0
NDJlOTg0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2NvcnMvcmVzb3VyY2VzL2NvcnMtY29va2llLnB5CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvY29ycy1jb29raWUu
cHkKQEAgLTEsMjEgKzEsMjEgQEAKIAogZGVmIG1haW4ocmVxdWVzdCwgcmVzcG9uc2UpOgotICAg
IG9yaWdpbiA9IHJlcXVlc3QuR0VULmZpcnN0KCJvcmlnaW4iLCByZXF1ZXN0LmhlYWRlcnNbIm9y
aWdpbiJdKQotICAgIGNyZWRlbnRpYWxzID0gcmVxdWVzdC5HRVQuZmlyc3QoImNyZWRlbnRpYWxz
IiwgInRydWUiKQorICAgIG9yaWdpbiA9IHJlcXVlc3QuR0VULmZpcnN0KGIib3JpZ2luIiwgcmVx
dWVzdC5oZWFkZXJzW2Iib3JpZ2luIl0pCisgICAgY3JlZGVudGlhbHMgPSByZXF1ZXN0LkdFVC5m
aXJzdChiImNyZWRlbnRpYWxzIiwgYiJ0cnVlIikKIAotICAgIGhlYWRlcnMgPSBbKCJDb250ZW50
LVR5cGUiLCAidGV4dC9wbGFpbiIpXQotICAgIGlmIG9yaWdpbiAhPSAnbm9uZSc6Ci0gICAgICAg
IGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luIiwgb3JpZ2luKSkK
LSAgICBpZiBjcmVkZW50aWFscyAhPSAnbm9uZSc6Ci0gICAgICAgIGhlYWRlcnMuYXBwZW5kKCgi
QWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMiLCBjcmVkZW50aWFscykpCisgICAgaGVh
ZGVycyA9IFsoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKV0KKyAgICBpZiBvcmlnaW4g
IT0gYidub25lJzoKKyAgICAgICAgaGVhZGVycy5hcHBlbmQoKGIiQWNjZXNzLUNvbnRyb2wtQWxs
b3ctT3JpZ2luIiwgb3JpZ2luKSkKKyAgICBpZiBjcmVkZW50aWFscyAhPSBiJ25vbmUnOgorICAg
ICAgICBoZWFkZXJzLmFwcGVuZCgoYiJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFscyIs
IGNyZWRlbnRpYWxzKSkKIAotICAgIGlkZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoJ2lkZW50Jywg
J3Rlc3QnKQorICAgIGlkZW50ID0gcmVxdWVzdC5HRVQuZmlyc3QoYidpZGVudCcsIGIndGVzdCcp
CiAKICAgICBpZiBpZGVudCBpbiByZXF1ZXN0LmNvb2tpZXM6CiAgICAgICAgIGJvZHkgPSByZXF1
ZXN0LmNvb2tpZXNbaWRlbnRdLnZhbHVlCiAgICAgICAgIHJlc3BvbnNlLmRlbGV0ZV9jb29raWUo
aWRlbnQpCiAgICAgZWxzZToKLSAgICAgICAgcmVzcG9uc2Uuc2V0X2Nvb2tpZShpZGVudCwgIkNP
T0tJRSIpCi0gICAgICAgIGJvZHkgPSAiTk9fQ09PS0lFIgorICAgICAgICByZXNwb25zZS5zZXRf
Y29va2llKGlkZW50LCBiIkNPT0tJRSIpCisgICAgICAgIGJvZHkgPSB1Ik5PX0NPT0tJRSIKIAog
ICAgIHJldHVybiBoZWFkZXJzLCBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL2NvcnMtbWFrZWhlYWRlci5w
eSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNv
dXJjZXMvY29ycy1tYWtlaGVhZGVyLnB5CmluZGV4IGVhYjM1ZWVkZmM5YWZiYmYzODk2YzMxYzQ3
M2ZiNTY0NjhlMmVhYTguLjhkNmRiNzRlNDZkNTc2MjRhOWU4NjIyM2U3YmJkYWJmZDFkMTBjZjkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29ycy9yZXNvdXJjZXMvY29ycy1tYWtlaGVhZGVyLnB5CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvY29ycy1tYWtlaGVhZGVy
LnB5CkBAIC0xLDY3ICsxLDY5IEBACiBpbXBvcnQganNvbgogCitmcm9tIHdwdHNlcnZlLnV0aWxz
IGltcG9ydCBpc29tb3JwaGljX2RlY29kZQorCiBkZWYgbWFpbihyZXF1ZXN0LCByZXNwb25zZSk6
Ci0gICAgb3JpZ2luID0gcmVxdWVzdC5HRVQuZmlyc3QoIm9yaWdpbiIsIHJlcXVlc3QuaGVhZGVy
cy5nZXQoJ29yaWdpbicpKQorICAgIG9yaWdpbiA9IHJlcXVlc3QuR0VULmZpcnN0KGIib3JpZ2lu
IiwgcmVxdWVzdC5oZWFkZXJzLmdldChiJ29yaWdpbicpKQogCi0gICAgaWYgImNoZWNrIiBpbiBy
ZXF1ZXN0LkdFVDoKLSAgICAgICAgdG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iKQor
ICAgIGlmIGIiY2hlY2siIGluIHJlcXVlc3QuR0VUOgorICAgICAgICB0b2tlbiA9IHJlcXVlc3Qu
R0VULmZpcnN0KGIidG9rZW4iKQogICAgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNo
LnRha2UodG9rZW4pCiAgICAgICAgIGlmIHZhbHVlIGlzIG5vdCBOb25lOgotICAgICAgICAgICAg
aWYgcmVxdWVzdC5HRVQuZmlyc3QoImNoZWNrIiwgTm9uZSkgPT0gImtlZXAiOgorICAgICAgICAg
ICAgaWYgcmVxdWVzdC5HRVQuZmlyc3QoYiJjaGVjayIsIE5vbmUpID09IGIia2VlcCI6CiAgICAg
ICAgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCB2YWx1ZSkKLSAgICAg
ICAgICAgIGJvZHkgPSAiMSIKKyAgICAgICAgICAgIGJvZHkgPSB1IjEiCiAgICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICBib2R5ID0gIjAiCi0gICAgICAgIHJldHVybiBbKCJDb250ZW50LVR5cGUi
LCAidGV4dC9wbGFpbiIpXSwgYm9keQorICAgICAgICAgICAgYm9keSA9IHUiMCIKKyAgICAgICAg
cmV0dXJuIFsoYiJDb250ZW50LVR5cGUiLCBiInRleHQvcGxhaW4iKV0sIGJvZHkKIAogCi0gICAg
aWYgb3JpZ2luICE9ICdub25lJzoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vz
cy1Db250cm9sLUFsbG93LU9yaWdpbiIsIG9yaWdpbikKLSAgICBpZiAnb3JpZ2luMicgaW4gcmVx
dWVzdC5HRVQ6Ci0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuYXBwZW5kKCJBY2Nlc3MtQ29udHJv
bC1BbGxvdy1PcmlnaW4iLCByZXF1ZXN0LkdFVC5maXJzdCgnb3JpZ2luMicpKQorICAgIGlmIG9y
aWdpbiAhPSBiJ25vbmUnOgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbiIsIG9yaWdpbikKKyAgICBpZiBiJ29yaWdpbjInIGluIHJlcXVl
c3QuR0VUOgorICAgICAgICByZXNwb25zZS5oZWFkZXJzLmFwcGVuZChiIkFjY2Vzcy1Db250cm9s
LUFsbG93LU9yaWdpbiIsIHJlcXVlc3QuR0VULmZpcnN0KGInb3JpZ2luMicpKQogCiAgICAgI1By
ZWZsaWdodAotICAgIGlmICdoZWFkZXJzJyBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9u
c2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCByZXF1ZXN0LkdF
VC5maXJzdCgnaGVhZGVycycpKQotICAgIGlmICdjcmVkZW50aWFscycgaW4gcmVxdWVzdC5HRVQ6
Ci0gICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVk
ZW50aWFscyIsIHJlcXVlc3QuR0VULmZpcnN0KCdjcmVkZW50aWFscycpKQotICAgIGlmICdtZXRo
b2RzJyBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vz
cy1Db250cm9sLUFsbG93LU1ldGhvZHMiLCByZXF1ZXN0LkdFVC5maXJzdCgnbWV0aG9kcycpKQor
ICAgIGlmIGInaGVhZGVycycgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRl
cnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsIHJlcXVlc3QuR0VULmZpcnN0
KGInaGVhZGVycycpKQorICAgIGlmIGInY3JlZGVudGlhbHMnIGluIHJlcXVlc3QuR0VUOgorICAg
ICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRp
YWxzIiwgcmVxdWVzdC5HRVQuZmlyc3QoYidjcmVkZW50aWFscycpKQorICAgIGlmIGInbWV0aG9k
cycgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsIHJlcXVlc3QuR0VULmZpcnN0KGInbWV0aG9kcycpKQog
Ci0gICAgY29kZV9yYXcgPSByZXF1ZXN0LkdFVC5maXJzdCgnY29kZScsIE5vbmUpCisgICAgY29k
ZV9yYXcgPSByZXF1ZXN0LkdFVC5maXJzdChiJ2NvZGUnLCBOb25lKQogICAgIGlmIGNvZGVfcmF3
OgogICAgICAgICBjb2RlID0gaW50KGNvZGVfcmF3KQogICAgIGVsc2U6CiAgICAgICAgIGNvZGUg
PSBOb25lCi0gICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gJ09QVElPTlMnOgorICAgIGlmIHJlcXVl
c3QubWV0aG9kID09IHUnT1BUSU9OUyc6CiAgICAgICAgICNPdmVycmlkZSB0aGUgcmVzcG9uc2Ug
Y29kZSBpZiB3ZSdyZSBpbiBhIHByZWZsaWdodCBhbmQgaXQncyBhc2tlZAotICAgICAgICBpZiAn
cHJlZmxpZ2h0JyBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgICAgIGNvZGUgPSBpbnQocmVxdWVz
dC5HRVQuZmlyc3QoJ3ByZWZsaWdodCcpKQorICAgICAgICBpZiBiJ3ByZWZsaWdodCcgaW4gcmVx
dWVzdC5HRVQ6CisgICAgICAgICAgICBjb2RlID0gaW50KHJlcXVlc3QuR0VULmZpcnN0KGIncHJl
ZmxpZ2h0JykpCiAKICAgICAgICAgI0xvZyB0aGF0IHRoZSBwcmVmbGlnaHQgYWN0dWFsbHkgaGFw
cGVuZWQgaWYgd2UgaGF2ZSBhbiBpZGVudAotICAgICAgICBpZiAndG9rZW4nIGluIHJlcXVlc3Qu
R0VUOgotICAgICAgICAgICAgcmVxdWVzdC5zZXJ2ZXIuc3Rhc2gucHV0KHJlcXVlc3QuR0VUWyd0
b2tlbiddLCBUcnVlKQorICAgICAgICBpZiBiJ3Rva2VuJyBpbiByZXF1ZXN0LkdFVDoKKyAgICAg
ICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dChyZXF1ZXN0LkdFVFtiJ3Rva2VuJ10sIFRy
dWUpCiAKLSAgICBpZiAnbG9jYXRpb24nIGluIHJlcXVlc3QuR0VUOgorICAgIGlmIGInbG9jYXRp
b24nIGluIHJlcXVlc3QuR0VUOgogICAgICAgICBpZiBjb2RlIGlzIE5vbmU6CiAgICAgICAgICAg
ICBjb2RlID0gMzAyCiAKICAgICAgICAgaWYgY29kZSA+PSAzMDAgYW5kIGNvZGUgPCA0MDA6Ci0g
ICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiTG9jYXRpb24iLCByZXF1ZXN0LkdFVC5m
aXJzdCgnbG9jYXRpb24nKSkKKyAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiTG9j
YXRpb24iLCByZXF1ZXN0LkdFVC5maXJzdChiJ2xvY2F0aW9uJykpCiAKICAgICBoZWFkZXJzID0g
e30KLSAgICBmb3IgbmFtZSwgdmFsdWVzIGluIHJlcXVlc3QuaGVhZGVycy5pdGVyaXRlbXMoKToK
KyAgICBmb3IgbmFtZSwgdmFsdWVzIGluIHJlcXVlc3QuaGVhZGVycy5pdGVtcygpOgogICAgICAg
ICBpZiBsZW4odmFsdWVzKSA9PSAxOgotICAgICAgICAgICAgaGVhZGVyc1tuYW1lXSA9IHZhbHVl
c1swXQorICAgICAgICAgICAgaGVhZGVyc1tpc29tb3JwaGljX2RlY29kZShuYW1lKV0gPSBpc29t
b3JwaGljX2RlY29kZSh2YWx1ZXNbMF0pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAjSSBo
YXZlIG5vIGlkZWEsIHJlYWxseQogICAgICAgICAgICAgaGVhZGVyc1tuYW1lXSA9IHZhbHVlcwog
Ci0gICAgaGVhZGVyc1snZ2V0X3ZhbHVlJ10gPSByZXF1ZXN0LkdFVC5maXJzdCgnZ2V0X3ZhbHVl
JywgJycpCisgICAgaGVhZGVyc1t1J2dldF92YWx1ZSddID0gaXNvbW9ycGhpY19kZWNvZGUocmVx
dWVzdC5HRVQuZmlyc3QoYidnZXRfdmFsdWUnLCBiJycpKQogCiAgICAgYm9keSA9IGpzb24uZHVt
cHMoaGVhZGVycykKIAogICAgIGlmIGNvZGU6Ci0gICAgICAgIHJldHVybiAoY29kZSwgIlN0YXR1
c1RleHQiKSwgW10sIGJvZHkKKyAgICAgICAgcmV0dXJuIChjb2RlLCB1IlN0YXR1c1RleHQiKSwg
W10sIGJvZHkKICAgICBlbHNlOgogICAgICAgICByZXR1cm4gYm9keQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9l
eHBvc2UtaGVhZGVycy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29ycy9yZXNvdXJjZXMvZXhwb3NlLWhlYWRlcnMucHkKaW5kZXggYzM1MGIzYjg3YmU2
NGVlNDBlNGQ5YmQwMzNjYWFlN2YzZjI5OTUzZC4uZTlkZTQwMWNmMmE1ZmI4OGVmYTc3OTA1Yzk1
Y2VmNWFhNDc0OTQ5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9leHBvc2UtaGVhZGVycy5weQorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL2V4
cG9zZS1oZWFkZXJzLnB5CkBAIC0xLDEwICsxLDEwIEBACiBkZWYgbWFpbihyZXF1ZXN0LCByZXNw
b25zZSk6CiAgICAgcmVzcG9uc2UuYWRkX3JlcXVpcmVkX2hlYWRlcnMgPSBGYWxzZQotICAgIG91
dHB1dCA9ICAiSFRUUC8xLjEgMjIxIEFMTCBZT1VSIEJBU0UgQkVMT05HIFRPIEgxXHJcbiIKLSAg
ICBvdXRwdXQgKz0gIkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogKlxyXG4iCi0gICAgb3V0
cHV0ICs9ICJCQi04OiBoZXlcclxuIgotICAgIG91dHB1dCArPSAiQ29udGVudC1MYW5ndWFnZTog
bWtheVxyXG4iCi0gICAgb3V0cHV0ICs9IHJlcXVlc3QuR0VULmZpcnN0KCJleHBvc2UiKSArICJc
clxuIgotICAgIG91dHB1dCArPSAiXHJcbiIKKyAgICBvdXRwdXQgPSAgYiJIVFRQLzEuMSAyMjEg
QUxMIFlPVVIgQkFTRSBCRUxPTkcgVE8gSDFcclxuIgorICAgIG91dHB1dCArPSBiIkFjY2Vzcy1D
b250cm9sLUFsbG93LU9yaWdpbjogKlxyXG4iCisgICAgb3V0cHV0ICs9IGIiQkItODogaGV5XHJc
biIKKyAgICBvdXRwdXQgKz0gYiJDb250ZW50LUxhbmd1YWdlOiBta2F5XHJcbiIKKyAgICBvdXRw
dXQgKz0gcmVxdWVzdC5HRVQuZmlyc3QoYiJleHBvc2UiKSArIGIiXHJcbiIKKyAgICBvdXRwdXQg
Kz0gYiJcclxuIgogICAgIHJlc3BvbnNlLndyaXRlci53cml0ZShvdXRwdXQpCiAgICAgcmVzcG9u
c2UuY2xvc2VfY29ubmVjdGlvbiA9IFRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvcHJlZmxpZ2h0LnB5IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNl
cy9wcmVmbGlnaHQucHkKaW5kZXggOTc4ZTk3YzVkMWU5Y2FiZWYyNmYxYWNiODMxYjc5OTQyOWFk
MWU3MC4uZDhiY2UyNmQyODBhMTJhMzBiYjgzZDllMjVmOTEwOGE5Y2Q4NjYyNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291
cmNlcy9wcmVmbGlnaHQucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9wcmVmbGlnaHQucHkKQEAgLTEsMzUgKzEsMzUgQEAK
IGRlZiBtYWluKHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICBoZWFkZXJzID0gWygiQ29udGVudC1U
eXBlIiwgInRleHQvcGxhaW4iKV0KKyAgICBoZWFkZXJzID0gWyhiIkNvbnRlbnQtVHlwZSIsIGIi
dGV4dC9wbGFpbiIpXQogCi0gICAgaWYgImNoZWNrIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAg
dG9rZW4gPSByZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4iKQorICAgIGlmIGIiY2hlY2siIGluIHJl
cXVlc3QuR0VUOgorICAgICAgICB0b2tlbiA9IHJlcXVlc3QuR0VULmZpcnN0KGIidG9rZW4iKQog
ICAgICAgICB2YWx1ZSA9IHJlcXVlc3Quc2VydmVyLnN0YXNoLnRha2UodG9rZW4pCiAgICAgICAg
IGlmIHZhbHVlID09IE5vbmU6Ci0gICAgICAgICAgICBib2R5ID0gIjAiCisgICAgICAgICAgICBi
b2R5ID0gdSIwIgogICAgICAgICBlbHNlOgotICAgICAgICAgICAgaWYgcmVxdWVzdC5HRVQuZmly
c3QoImNoZWNrIiwgTm9uZSkgPT0gImtlZXAiOgorICAgICAgICAgICAgaWYgcmVxdWVzdC5HRVQu
Zmlyc3QoYiJjaGVjayIsIE5vbmUpID09IGIia2VlcCI6CiAgICAgICAgICAgICAgICAgcmVxdWVz
dC5zZXJ2ZXIuc3Rhc2gucHV0KHRva2VuLCB2YWx1ZSkKLSAgICAgICAgICAgIGJvZHkgPSAiMSIK
KyAgICAgICAgICAgIGJvZHkgPSB1IjEiCiAKICAgICAgICAgcmV0dXJuIGhlYWRlcnMsIGJvZHkK
IAotICAgIGlmIHJlcXVlc3QubWV0aG9kID09ICJPUFRJT05TIjoKLSAgICAgICAgaWYgbm90ICJB
Y2Nlc3MtQ29udHJvbC1SZXF1ZXN0LU1ldGhvZCIgaW4gcmVxdWVzdC5oZWFkZXJzOgotICAgICAg
ICAgICAgcmVzcG9uc2Uuc2V0X2Vycm9yKDQwMCwgIk5vIEFjY2Vzcy1Db250cm9sLVJlcXVlc3Qt
TWV0aG9kIGhlYWRlciIpCi0gICAgICAgICAgICByZXR1cm4gIkVSUk9SOiBObyBhY2Nlc3MtY29u
dHJvbC1yZXF1ZXN0LW1ldGhvZCBpbiBwcmVmbGlnaHQhIgorICAgIGlmIHJlcXVlc3QubWV0aG9k
ID09IHUiT1BUSU9OUyI6CisgICAgICAgIGlmIG5vdCBiIkFjY2Vzcy1Db250cm9sLVJlcXVlc3Qt
TWV0aG9kIiBpbiByZXF1ZXN0LmhlYWRlcnM6CisgICAgICAgICAgICByZXNwb25zZS5zZXRfZXJy
b3IoNDAwLCB1Ik5vIEFjY2Vzcy1Db250cm9sLVJlcXVlc3QtTWV0aG9kIGhlYWRlciIpCisgICAg
ICAgICAgICByZXR1cm4gdSJFUlJPUjogTm8gYWNjZXNzLWNvbnRyb2wtcmVxdWVzdC1tZXRob2Qg
aW4gcHJlZmxpZ2h0ISIKIAotICAgICAgICBoZWFkZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9s
LUFsbG93LU1ldGhvZHMiLAotICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5oZWFkZXJz
WydBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LU1ldGhvZCddKSkKKyAgICAgICAgaGVhZGVycy5hcHBl
bmQoKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsCisgICAgICAgICAgICAgICAgICAg
ICAgICByZXF1ZXN0LmhlYWRlcnNbYidBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LU1ldGhvZCddKSkK
IAotICAgICAgICBpZiAibWF4X2FnZSIgaW4gcmVxdWVzdC5HRVQ6Ci0gICAgICAgICAgICBoZWFk
ZXJzLmFwcGVuZCgoIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCByZXF1ZXN0LkdFVFsnbWF4X2Fn
ZSddKSkKKyAgICAgICAgaWYgYiJtYXhfYWdlIiBpbiByZXF1ZXN0LkdFVDoKKyAgICAgICAgICAg
IGhlYWRlcnMuYXBwZW5kKChiIkFjY2Vzcy1Db250cm9sLU1heC1BZ2UiLCByZXF1ZXN0LkdFVFti
J21heF9hZ2UnXSkpCiAKLSAgICAgICAgaWYgInRva2VuIiBpbiByZXF1ZXN0LkdFVDoKLSAgICAg
ICAgICAgIHJlcXVlc3Quc2VydmVyLnN0YXNoLnB1dChyZXF1ZXN0LkdFVC5maXJzdCgidG9rZW4i
KSwgMSkKKyAgICAgICAgaWYgYiJ0b2tlbiIgaW4gcmVxdWVzdC5HRVQ6CisgICAgICAgICAgICBy
ZXF1ZXN0LnNlcnZlci5zdGFzaC5wdXQocmVxdWVzdC5HRVQuZmlyc3QoYiJ0b2tlbiIpLCAxKQog
Ci0gICAgaGVhZGVycy5hcHBlbmQoKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iLCAiKiIp
KQotICAgIGhlYWRlcnMuYXBwZW5kKCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycyIsICJ4
LXByaW50IikpCisgICAgaGVhZGVycy5hcHBlbmQoKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3Jp
Z2luIiwgYiIqIikpCisgICAgaGVhZGVycy5hcHBlbmQoKGIiQWNjZXNzLUNvbnRyb2wtQWxsb3ct
SGVhZGVycyIsIGIieC1wcmludCIpKQogCi0gICAgYm9keSA9IHJlcXVlc3QuaGVhZGVycy5nZXQo
IngtcHJpbnQiLCAiTk8iKQorICAgIGJvZHkgPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KGIieC1wcmlu
dCIsIGIiTk8iKQogCiAgICAgcmV0dXJuIGhlYWRlcnMsIGJvZHkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvc3Rh
dHVzLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3Jz
L3Jlc291cmNlcy9zdGF0dXMucHkKaW5kZXggOTY5NTBkYWU0ZmQzOTM3NWNhNjgyYmQzNzQwZmJh
ZjZlNjkxOTIyYS4uNWQzN2U3YTAzODI3NzEyMWNkMGNlNDRiOWMxNjFlNGM5MzYwZTQyOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3Jz
L3Jlc291cmNlcy9zdGF0dXMucHkKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9zdGF0dXMucHkKQEAgLTEsMzcgKzEsMzkgQEAK
K2Zyb20gd3B0c2VydmUudXRpbHMgaW1wb3J0IGlzb21vcnBoaWNfZW5jb2RlCisKIGRlZiBtYWlu
KHJlcXVlc3QsIHJlc3BvbnNlKToKLSAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNv
bnRyb2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldCgib3JpZ2luIikpCi0gICAg
cmVzcG9uc2UuaGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzIiwgIlgt
UmVxdWVzdC1NZXRob2QiKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRy
b2wtQWxsb3ctT3JpZ2luIiwgcmVxdWVzdC5oZWFkZXJzLmdldChiIm9yaWdpbiIpKQorICAgIHJl
c3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMiLCBiIlgt
UmVxdWVzdC1NZXRob2QiKQogCi0gICAgaWYgcmVxdWVzdC5tZXRob2QgPT0gJ09QVElPTlMnOgot
ICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9k
cyIsICAiR0VULCBDSElDS0VOLCBIRUFELCBQT1NULCBQVVQiKQorICAgIGlmIHJlcXVlc3QubWV0
aG9kID09IHUnT1BUSU9OUyc6CisgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiQWNjZXNz
LUNvbnRyb2wtQWxsb3ctTWV0aG9kcyIsICBiIkdFVCwgQ0hJQ0tFTiwgSEVBRCwgUE9TVCwgUFVU
IikKIAotICAgIGlmICdoZWFkZXJzJyBpbiByZXF1ZXN0LkdFVDoKLSAgICAgICAgcmVzcG9uc2Uu
aGVhZGVycy5zZXQoIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMiLCAgcmVxdWVzdC5HRVQu
Zmlyc3QoJ2hlYWRlcnMnKSkKKyAgICBpZiBiJ2hlYWRlcnMnIGluIHJlcXVlc3QuR0VUOgorICAg
ICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMi
LCAgcmVxdWVzdC5HRVQuZmlyc3QoYidoZWFkZXJzJykpCiAKLSAgICByZXNwb25zZS5oZWFkZXJz
LnNldCgiWC1SZXF1ZXN0LU1ldGhvZCIsIHJlcXVlc3QubWV0aG9kKQorICAgIHJlc3BvbnNlLmhl
YWRlcnMuc2V0KGIiWC1SZXF1ZXN0LU1ldGhvZCIsIGlzb21vcnBoaWNfZW5jb2RlKHJlcXVlc3Qu
bWV0aG9kKSkKIAotICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KCJYLUEtQy1SZXF1ZXN0LU1ldGhv
ZCIsIHJlcXVlc3QuaGVhZGVycy5nZXQoIkFjY2Vzcy1Db250cm9sLVJlcXVlc3QtTWV0aG9kIiwg
IiIpKQorICAgIHJlc3BvbnNlLmhlYWRlcnMuc2V0KGIiWC1BLUMtUmVxdWVzdC1NZXRob2QiLCBy
ZXF1ZXN0LmhlYWRlcnMuZ2V0KGIiQWNjZXNzLUNvbnRyb2wtUmVxdWVzdC1NZXRob2QiLCBiIiIp
KQogCiAKICAgICAjVGhpcyBzaG91bGQgcmVhc29uYWJseSB3b3JrIGZvciBtb3N0IHJlc3BvbnNl
IGNvZGVzLgogICAgIHRyeToKLSAgICAgICAgY29kZSA9IGludChyZXF1ZXN0LkdFVC5maXJzdCgi
Y29kZSIsIDIwMCkpCisgICAgICAgIGNvZGUgPSBpbnQocmVxdWVzdC5HRVQuZmlyc3QoYiJjb2Rl
IiwgMjAwKSkKICAgICBleGNlcHQgVmFsdWVFcnJvcjoKICAgICAgICAgY29kZSA9IDIwMAogCi0g
ICAgdGV4dCA9IHJlcXVlc3QuR0VULmZpcnN0KCJ0ZXh0IiwgIk9NRyIpCisgICAgdGV4dCA9IHJl
cXVlc3QuR0VULmZpcnN0KGIidGV4dCIsIGIiT01HIikKIAotICAgIGlmIHJlcXVlc3QubWV0aG9k
ID09ICJPUFRJT05TIiBhbmQgInByZWZsaWdodCIgaW4gcmVxdWVzdC5HRVQ6CisgICAgaWYgcmVx
dWVzdC5tZXRob2QgPT0gdSJPUFRJT05TIiBhbmQgYiJwcmVmbGlnaHQiIGluIHJlcXVlc3QuR0VU
OgogICAgICAgICB0cnk6Ci0gICAgICAgICAgICBjb2RlID0gaW50KHJlcXVlc3QuR0VULmZpcnN0
KCdwcmVmbGlnaHQnKSkKKyAgICAgICAgICAgIGNvZGUgPSBpbnQocmVxdWVzdC5HRVQuZmlyc3Qo
YidwcmVmbGlnaHQnKSkKICAgICAgICAgZXhjZXB0IEtleUVycm9yOgogICAgICAgICAgICAgcGFz
cwogCiAgICAgc3RhdHVzID0gY29kZSwgdGV4dAogCi0gICAgaWYgInR5cGUiIGluIHJlcXVlc3Qu
R0VUOgotICAgICAgICByZXNwb25zZS5oZWFkZXJzLnNldCgiQ29udGVudC1UeXBlIiwgcmVxdWVz
dC5HRVQuZmlyc3QoJ3R5cGUnKSkKKyAgICBpZiBiInR5cGUiIGluIHJlcXVlc3QuR0VUOgorICAg
ICAgICByZXNwb25zZS5oZWFkZXJzLnNldChiIkNvbnRlbnQtVHlwZSIsIHJlcXVlc3QuR0VULmZp
cnN0KGIndHlwZScpKQogCi0gICAgYm9keSA9IHJlcXVlc3QuR0VULmZpcnN0KCdjb250ZW50Jywg
IiIpCisgICAgYm9keSA9IHJlcXVlc3QuR0VULmZpcnN0KGInY29udGVudCcsIGIiIikKIAogICAg
IHJldHVybiBzdGF0dXMsIFtdLCBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNl
cy93M2MtaW1wb3J0LmxvZwppbmRleCBmMzk1YzkzMGMyOThmYjFmODM4MzYxNWZmYmU4N2YwN2Fi
ZjJkNDdkLi5mYzg4ZGI1YjQzYTUyZmRhMDMyNDcxNDZlOWJkNTM5N2UwMTFiOWUzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVz
b3VyY2VzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvdzNjLWltcG9ydC5sb2cKQEAgLTEsNyArMSw3
IEBACiBUaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBX
M0MgcmVwb3NpdG9yeS4KIERvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2Vi
S2l0LgogSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgot
CWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCisJaHR0cHM6Ly9naXRo
dWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKIAogVGhlbiBydW4gdGhlIFRvb2xzL1Njcmlw
dHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKIApAQCAtMTUsMTIgKzE1
LDEzIEBAIE5vbmUKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzLzMwNC5weQot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJj
ZXMvYWNjZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnMtcGFyc2luZy0yLmFzaXMKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL2FjY2Vz
cy1jb250cm9sLWV4cG9zZS1oZWFkZXJzLXBhcnNpbmcuYXNpcworL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvYWNjZXNzLWNvbnRyb2wt
ZXhwb3NlLWhlYWRlcnMuanNvbgorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY29ycy9yZXNvdXJjZXMvY2FjaGUtMzA0LnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9jaGVja2FuZHJlbW92ZS5w
eQogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXNv
dXJjZXMvY29ycy1jb29raWUucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL2NvcnMtaGVhZGVycy5hc2lzCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9jb3JzLW1ha2Vo
ZWFkZXIucHkKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
cnMvcmVzb3VyY2VzL2V4cG9zZS1oZWFkZXJzLnB5CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jlc291cmNlcy9pbWFnZS10YWludGluZy1jaGVja2Vy
LnN1Yi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
b3JzL3Jlc291cmNlcy9wcmVmbGlnaHQucHkKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvcnMvcmVzb3VyY2VzL3JlbW90ZS14aHJlci5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc2lt
cGxlLXJlcXVlc3RzLWNoLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc2ltcGxlLXJlcXVlc3RzLWNoLnRlbnRh
dGl2ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmZjYjkzOGYzZjE5YTE0MzU0Y2U3MmIyMjVh
ZTI5ZmVhNmNmOWFlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zaW1wbGUtcmVxdWVzdHMtY2gudGVudGF0aXZlLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK1NpbXBsZSByZXF1ZXN0cworCitTaW1wbGUgcmVx
dWVzdHMgc2hvdWxkbid0IHRyaWdnZXIgcHJlZmxpZ2h0CisKKworRkFJTCBObyBwcmVmbGlnaHQg
R0VUIGFuZCB7InNhdmUtZGF0YSI6Im9uIiwiZGV2aWNlLW1lbW9yeSI6IjIuMCIsImRwciI6IjMu
MCIsIndpZHRoIjoiMTIwMCIsInZpZXdwb3J0LXdpZHRoIjoiMTMwMCJ9ICBBIG5ldHdvcmsgZXJy
b3Igb2NjdXJyZWQuCitGQUlMIE5vIHByZWZsaWdodCBIRUFEIGFuZCB7InNhdmUtZGF0YSI6Im9u
IiwiZGV2aWNlLW1lbW9yeSI6IjIuMCIsImRwciI6IjMuMCIsIndpZHRoIjoiMTIwMCIsInZpZXdw
b3J0LXdpZHRoIjoiMTMwMCJ9ICBBIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWQuCitGQUlMIE5vIHBy
ZWZsaWdodCBQT1NUIGFuZCB7InNhdmUtZGF0YSI6Im9uIiwiZGV2aWNlLW1lbW9yeSI6IjIuMCIs
ImRwciI6IjMuMCIsIndpZHRoIjoiMTIwMCIsInZpZXdwb3J0LXdpZHRoIjoiMTMwMCJ9ICBBIG5l
dHdvcmsgZXJyb3Igb2NjdXJyZWQuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zaW1wbGUtcmVxdWVzdHMtY2gudGVudGF0aXZl
Lmh0bSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9z
aW1wbGUtcmVxdWVzdHMtY2gudGVudGF0aXZlLmh0bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOTk1NWFjODZhNGM1
ODMzMDYyYzdhNWUwYjFmOTBhMjJmN2YxY2FkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3NpbXBsZS1yZXF1ZXN0cy1j
aC50ZW50YXRpdmUuaHRtCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEg
Y2hhcnNldD11dGYtOD4KKzx0aXRsZT5DT1JTIC0gc2ltcGxlIHJlcXVlc3RzPC90aXRsZT4KKzxt
ZXRhIG5hbWU9YXV0aG9yIHRpdGxlPSJPZGluIEjDuHJ0aGUgT21kYWwiIGhyZWY9Im1haWx0bzpv
ZGlob0BvcGVyYS5jb20iPgorCis8c2NyaXB0IHNyYz0vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpz
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcz48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPXN1cHBvcnQuanM/cGlwZT1zdWI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0vY29tbW9uL3V0aWxzLmpzPjwvc2NyaXB0PgorCis8aDE+U2ltcGxlIHJlcXVlc3Rz
PC9oMT4KKzxwPlNpbXBsZSByZXF1ZXN0cyBzaG91bGRuJ3QgdHJpZ2dlciBwcmVmbGlnaHQ8L3A+
CisKKzxkaXYgaWQ9bG9nPjwvZGl2PgorPHNjcmlwdD4KKwordmFyIHRlc3RfYyA9IDA7CisKK2Z1
bmN0aW9uIGNoZWNrX3NpbXBsZShtZXRob2QsIGhlYWRlcnMpCit7CisgICAgdGVzdChmdW5jdGlv
bigpIHsKKyAgICAgICAgdmFyIGNsaWVudCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpCisgICAgICAg
IHZhciB1dWlkX3Rva2VuID0gdG9rZW4oKTsKKyAgICAgICAgY2xpZW50Lm9wZW4obWV0aG9kLCBD
Uk9TU0RPTUFJTiArICdyZXNvdXJjZXMvcHJlZmxpZ2h0LnB5P3Rva2VuPScKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICArIHV1aWRfdG9rZW4sIGZhbHNlKQorICAgICAgICBmb3IgKGhlYWQg
aW4gaGVhZGVycykKKyAgICAgICAgICAgIGNsaWVudC5zZXRSZXF1ZXN0SGVhZGVyKGhlYWQsIGhl
YWRlcnNbaGVhZF0pCisgICAgICAgIGNsaWVudC5zZW5kKCJkYXRhIikKKyAgICAgICAgYXNzZXJ0
X2VxdWFscyhjbGllbnQuZ2V0UmVzcG9uc2VIZWFkZXIoJ2NvbnRlbnQtdHlwZScpLCAidGV4dC9w
bGFpbiIpCisgICAgICAgIGlmIChtZXRob2QgPT0gJ0hFQUQnKQorICAgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhjbGllbnQucmVzcG9uc2UsICcnLCAncmVzcG9uc2UnKQorICAgICAgICBlbHNlCisg
ICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGNsaWVudC5yZXNwb25zZSwgJ05PJywgJ3Jlc3BvbnNl
JykKKworICAgICAgICBjbGllbnQub3BlbignR0VUJywgJ3Jlc291cmNlcy9wcmVmbGlnaHQucHk/
Y2hlY2smdG9rZW49JworICAgICAgICAgICAgICAgICAgICAgICAgICArIHV1aWRfdG9rZW4sIGZh
bHNlKQorICAgICAgICBjbGllbnQuc2VuZCgiZGF0YSIpCisgICAgICAgIGFzc2VydF9lcXVhbHMo
Y2xpZW50LnJlc3BvbnNlLCAiMCIsICJGb3VuZCBwcmVmbGlnaHQgbG9nIikKKyAgICB9LAorICAg
ICdObyBwcmVmbGlnaHQgJyArIG1ldGhvZCArICcgYW5kICcgKyBKU09OLnN0cmluZ2lmeShoZWFk
ZXJzKSkKK30KKworZnVuY3Rpb24gY2hlY2tfc2ltcGxlX2hlYWRlcnMoaGVhZGVycykgeworICAg
IGNoZWNrX3NpbXBsZSgnR0VUJywgaGVhZGVycykKKyAgICBjaGVja19zaW1wbGUoJ0hFQUQnLCBo
ZWFkZXJzKQorICAgIGNoZWNrX3NpbXBsZSgnUE9TVCcsIGhlYWRlcnMpCit9CisKK2NoZWNrX3Np
bXBsZV9oZWFkZXJzKHsKKyAgICAgICAgICAgICAgICAgICAgICAgICdzYXZlLWRhdGEnOiAnb24n
LAorICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS1tZW1vcnknOiAnMi4wJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICdkcHInOiAnMy4wJywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICd3aWR0aCc6ICcxMjAwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICd2aWV3cG9ydC13aWR0
aCc6ICcxMzAwJworICAgICAgICAgICAgICAgICAgICAgfSkKKworPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc2lt
cGxlLXJlcXVlc3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29ycy9zaW1wbGUtcmVxdWVzdHMtZXhwZWN0ZWQudHh0CmluZGV4IDIz
Y2VhOWI1ZjQwMWFhZmQ1NDE1YjVmZWQ3Y2ZmZTNhNDk3MTRjMDMuLmFmYTE1ZTUzZjU3Y2NmZWQx
MmU4OTJkZTI5Y2FkZTdkYjBjMDEwZGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zaW1wbGUtcmVxdWVzdHMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9z
aW1wbGUtcmVxdWVzdHMtZXhwZWN0ZWQudHh0CkBAIC0yNCwxMCArMjQsNyBAQCBQQVNTIE5vIHBy
ZWZsaWdodCBQT1NUIGFuZCB7ImNvbnRlbnQtdHlwZSI6InRleHQvcGxhaW4ifQogUEFTUyBObyBw
cmVmbGlnaHQgR0VUIGFuZCB7ImFjY2VwdCI6InRlc3QiLCJhY2NlcHQtbGFuZ3VhZ2UiOiJ0ZXN0
IiwiY29udGVudC1sYW5ndWFnZSI6InRlc3QiLCJjb250ZW50LXR5cGUiOiJ0ZXh0L3BsYWluOyBw
YXJhbWV0ZXI9d2hhdGV2ZXIifSAKIFBBU1MgTm8gcHJlZmxpZ2h0IEhFQUQgYW5kIHsiYWNjZXB0
IjoidGVzdCIsImFjY2VwdC1sYW5ndWFnZSI6InRlc3QiLCJjb250ZW50LWxhbmd1YWdlIjoidGVz
dCIsImNvbnRlbnQtdHlwZSI6InRleHQvcGxhaW47IHBhcmFtZXRlcj13aGF0ZXZlciJ9IAogUEFT
UyBObyBwcmVmbGlnaHQgUE9TVCBhbmQgeyJhY2NlcHQiOiJ0ZXN0IiwiYWNjZXB0LWxhbmd1YWdl
IjoidGVzdCIsImNvbnRlbnQtbGFuZ3VhZ2UiOiJ0ZXN0IiwiY29udGVudC10eXBlIjoidGV4dC9w
bGFpbjsgcGFyYW1ldGVyPXdoYXRldmVyIn0gCi1GQUlMIE5vIHByZWZsaWdodCBHRVQgYW5kIHsi
c2F2ZS1kYXRhIjoib24iLCJkZXZpY2UtbWVtb3J5IjoiMi4wIiwiZHByIjoiMy4wIiwid2lkdGgi
OiIxMjAwIiwidmlld3BvcnQtd2lkdGgiOiIxMzAwIn0gIEEgbmV0d29yayBlcnJvciBvY2N1cnJl
ZC4KLUZBSUwgTm8gcHJlZmxpZ2h0IEhFQUQgYW5kIHsic2F2ZS1kYXRhIjoib24iLCJkZXZpY2Ut
bWVtb3J5IjoiMi4wIiwiZHByIjoiMy4wIiwid2lkdGgiOiIxMjAwIiwidmlld3BvcnQtd2lkdGgi
OiIxMzAwIn0gIEEgbmV0d29yayBlcnJvciBvY2N1cnJlZC4KLUZBSUwgTm8gcHJlZmxpZ2h0IFBP
U1QgYW5kIHsic2F2ZS1kYXRhIjoib24iLCJkZXZpY2UtbWVtb3J5IjoiMi4wIiwiZHByIjoiMy4w
Iiwid2lkdGgiOiIxMjAwIiwidmlld3BvcnQtd2lkdGgiOiIxMzAwIn0gIEEgbmV0d29yayBlcnJv
ciBvY2N1cnJlZC4KIFBBU1MgTm8gcHJlZmxpZ2h0IEdldCBhbmQgeyJjb250ZW50LXR5cGUiOiJ0
ZXh0L3BsYWluOyBwYXJhbWV0ZXI9ZXh0cmFfYm9udXMifSAKIFBBU1MgTm8gcHJlZmxpZ2h0IHBv
c3QgYW5kIHsiY29udGVudC10eXBlIjoidGV4dC9wbGFpbiJ9IAotRkFJTCBDaGVjayBzaW1wbGUg
aGVhZGVycyAoYXN5bmMpIGFzc2VydF91bnJlYWNoZWQ6IG9uZXJyb3IgUmVhY2hlZCB1bnJlYWNo
YWJsZSBjb2RlCitQQVNTIENoZWNrIHNpbXBsZSBoZWFkZXJzIChhc3luYykgCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zaW1w
bGUtcmVxdWVzdHMuaHRtIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb3JzL3NpbXBsZS1yZXF1ZXN0cy5odG0KaW5kZXggNzdlZDhlZTIyZTcwZDEyNDcxYzk4
NzhjYWJhOTMyNWVjMGM2YTAyNi4uMTg1ZTlhNzVlMzlmODFiMTQwNTUyMzdhYjVmNTQ3Y2ZiNTc5
MzFlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb3JzL3NpbXBsZS1yZXF1ZXN0cy5odG0KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3NpbXBsZS1yZXF1ZXN0cy5odG0KQEAgLTYxLDE0
ICs2MSw2IEBAIGNoZWNrX3NpbXBsZV9oZWFkZXJzKHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICdjb250ZW50LXR5cGUnOiAndGV4dC9wbGFpbjsgcGFyYW1ldGVyPXdoYXRldmVyJwogICAgICAg
ICAgICAgICAgICAgICAgfSkKIAotY2hlY2tfc2ltcGxlX2hlYWRlcnMoewotICAgICAgICAgICAg
ICAgICAgICAgICAgJ3NhdmUtZGF0YSc6ICdvbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAn
ZGV2aWNlLW1lbW9yeSc6ICcyLjAnLAotICAgICAgICAgICAgICAgICAgICAgICAgJ2Rwcic6ICcz
LjAnLAotICAgICAgICAgICAgICAgICAgICAgICAgJ3dpZHRoJzogJzEyMDAnLAotICAgICAgICAg
ICAgICAgICAgICAgICAgJ3ZpZXdwb3J0LXdpZHRoJzogJzEzMDAnCi0gICAgICAgICAgICAgICAg
ICAgICB9KQotCiBjaGVja19zaW1wbGUoJ0dldCcsIHsnY29udGVudC10eXBlJzogJ3RleHQvcGxh
aW47IHBhcmFtZXRlcj1leHRyYV9ib251cyd9KQogY2hlY2tfc2ltcGxlKCdwb3N0Jywgeydjb250
ZW50LXR5cGUnOiAndGV4dC9wbGFpbid9KQogCkBAIC04Myw5ICs3NSw5IEBAIHNpbXBsZV9hc3lu
Yy5zdGVwKGZ1bmN0aW9uICgpewogICAgICAgICAgICAgICAgICAgICAgICAgKyB1dWlkX3Rva2Vu
LCB0cnVlKQogCiAgICAgY2xpZW50LnNldFJlcXVlc3RIZWFkZXIoJ0FjY2VwdCcsICdqZXdlbHJ5
JykKLSAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcignYWNjZXB0LWxhbmd1YWdlJywgJ25uX05P
LG5uLGVuJykKKyAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcignYWNjZXB0LWxhbmd1YWdlJywg
J25uLU5PLG5uLGVuJykKICAgICBjbGllbnQuc2V0UmVxdWVzdEhlYWRlcignY29udGVudC10eXBl
JywgJ3RleHQvcGxhaW47IHBhcmFtZXRlcj1leHRyYScpCi0gICAgY2xpZW50LnNldFJlcXVlc3RI
ZWFkZXIoJ2NvbnRlbnQtTGFuZ3VhZ2UnLCAnbm5fTk8nKQorICAgIGNsaWVudC5zZXRSZXF1ZXN0
SGVhZGVyKCdjb250ZW50LUxhbmd1YWdlJywgJ25uLU5PJykKIAogICAgIGNsaWVudC5vbmxvYWQg
PSBzaW1wbGVfYXN5bmMuc3RlcF9mdW5jKGZ1bmN0aW9uKCkgewogICAgICAgICBhc3NlcnRfZXF1
YWxzKGNsaWVudC5nZXRSZXNwb25zZUhlYWRlcignY29udGVudC10eXBlJyksICJ0ZXh0L3BsYWlu
IiwgJ2NvbnRlbnQtdHlwZSByZXNwb25zZSBoZWFkZXInKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3N0YXR1cy1hc3luYy5odG0g
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc3RhdHVz
LWFzeW5jLmh0bQppbmRleCAzNTczZWU4OGY5OGY5YTczOGJmZjBhZjNjMzcxNWUxZjA5OTdlODE3
Li41YmNmYTBjZjdjMjU1NGFlNjYxNGQwMTM4YTFiMzJhMmM2YzM2MTgyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc3RhdHVzLWFz
eW5jLmh0bQorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvcnMvc3RhdHVzLWFzeW5jLmh0bQpAQCAtMTQsNyArMTQsNyBAQAogPHNjcmlwdD4KIAogZnVu
Y3Rpb24gc3RhdHVzUmVxdWVzdChtZXRob2QsIGNvZGUsIHRleHQsIGNvbnRlbnQsIHR5cGUpIHsK
LSAgICBhc3luY190ZXN0KCJTdGF0dXMgb24gIiArIG1ldGhvZCArICIgIiArIGNvZGUsIHsgdGlt
ZW91dDogMTUwMDAgfSkKKyAgICBhc3luY190ZXN0KCJTdGF0dXMgb24gIiArIG1ldGhvZCArICIg
IiArIGNvZGUpCiAgICAgLnN0ZXAoZnVuY3Rpb24oKSB7CiAgICAgICAgIHZhciBjbGllbnQgPSBu
ZXcgWE1MSHR0cFJlcXVlc3QoKQogICAgICAgICBjbGllbnQub3BlbihtZXRob2QsIENST1NTRE9N
QUlOICsgInJlc291cmNlcy9zdGF0dXMucHk/Y29kZT0iCkBAIC02MCw3ICs2MCw3IEBAIGZ1bmN0
aW9uIHN0YXR1c1JlcXVlc3RGYWlsKG1ldGhvZCwgY29kZSwgZXhwZWN0X2NvZGUsIG5vbnNpbXBs
ZSkgewogICAgIGlmIChleHBlY3RfY29kZSA9PT0gdW5kZWZpbmVkKQogICAgICAgICBleHBlY3Rf
Y29kZSA9IGNvZGUKIAotICAgIGFzeW5jX3Rlc3QoIlN0YXR1cyBvbiAiICsgbWV0aG9kICsgIiAi
ICsgY29kZSArIChub25zaW1wbGU/JyAobm9uc2ltcGxlKSc6JycpLCB7IHRpbWVvdXQ6IDE1MDAw
IH0pCisgICAgYXN5bmNfdGVzdCgiU3RhdHVzIG9uICIgKyBtZXRob2QgKyAiICIgKyBjb2RlICsg
KG5vbnNpbXBsZT8nIChub25zaW1wbGUpJzonJykpCiAgICAgLnN0ZXAoZnVuY3Rpb24oKSB7CiAg
ICAgICAgIHZhciBjbGllbnQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvc3VwcG9ydC5q
cyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zdXBw
b3J0LmpzCmluZGV4IDQxZDcyOTA1YjhmZTZjZWI0MWU0ODcwN2ZlZTc4M2UxYTcxOGJiZmUuLjlm
N2ZmYmY5ODYxYTUwMzY5ZDJjMWRhMWJhNGExZmVkZDA1NDBhMjIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zdXBwb3J0LmpzCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zdXBw
b3J0LmpzCkBAIC0xLDE2ICsxLDMgQEAKLS8vIEZvciBpZ25vcmluZyBleGNlcHRpb24gbmFtZXMg
KGp1c3QgZm9yIHRlc3RpbmcpCi0vKgotX3JlYWxfYXNzZXJ0X3Rocm93cyA9IGFzc2VydF90aHJv
d3M7Ci1mdW5jdGlvbiBhc3NlcnRfdGhyb3dzKGQsIGZ1bmMsIGRlc2MpIHsKLSAgICB0cnkgewot
ICAgICAgICBmdW5jKCk7Ci0gICAgfSBjYXRjaChlKSB7Ci0gICAgICAgIHJldHVybiB0cnVlOwot
ICAgIH0KLSAgICBhc3NlcnRfdW5yZWFjaGVkKCJEaWRuJ3QgdGhyb3chIik7Ci19Ci0qLwotCiBm
dW5jdGlvbiBkaXJuYW1lKHBhdGgpIHsKICAgICByZXR1cm4gcGF0aC5yZXBsYWNlKC9cL1teXC9d
KiQvLCAnLycpCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvcnMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvdzNjLWltcG9ydC5sb2cKaW5kZXggZTg5MTZlZjFl
Y2IwZDhmZTA3M2M1ZDI0NjVlMDI4ODU1M2M3ZTA1Yy4uNmM1MTYzZjI2NDdjZGFmZWRkNWQ1ZGVh
ZjdjODNmOGMwYWRiMTZlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy93M2MtaW1wb3J0LmxvZwpAQCAtMSw3
ICsxLDcgQEAKIFRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgogRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCiBJbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKKwlodHRwczov
L2dpdGh1Yi5jb20vd2ViLXBsYXRmb3JtLXRlc3RzL3dwdAogCiBUaGVuIHJ1biB0aGUgVG9vbHMv
U2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAogCkBAIC0xNSwx
MiArMTUsMTMgQEAgTm9uZQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBMaXN0IG9mIGZpbGVzOgogL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy8zMDQuaHRtCi0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL09XTkVSUworL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9NRVRBLnltbAog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9SRUFETUUu
bWQKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvYWNj
ZXNzLWNvbnRyb2wtZXhwb3NlLWhlYWRlcnMtcGFyc2luZy53aW5kb3cuanMKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvYWxsb3ctaGVhZGVycy5odG0K
IC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvYmFzaWMu
aHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2Ns
aWVudC1oaW50LXJlcXVlc3QtaGVhZGVycy0yLnRlbnRhdGl2ZS5odG0KIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvY2xpZW50LWhpbnQtcmVxdWVzdC1o
ZWFkZXJzLmh0bQorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29ycy9jb3JzLXNhZmVsaXN0ZWQtcmVxdWVzdC1oZWFkZXIuYW55LmpzCiAvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2NyZWRlbnRpYWxzLWZsYWcuaHRt
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL2ltYWdl
LXRhaW50aW5nLWluLWNyb3NzLW9yaWdpbi1pZnJhbWUuc3ViLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvbGF0ZS11cGxvYWQtZXZlbnRzLmh0
bQpAQCAtMzQsNiArMzUsOCBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZW1vdGUtb3JpZ2luLmh0bQogL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9yZXF1ZXN0LWhlYWRlcnMu
aHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3Jl
c3BvbnNlLWhlYWRlcnMuaHRtCisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jb3JzL3NjcmlwdC0zMDQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zaW1wbGUtcmVxdWVzdHMtY2gudGVudGF0aXZlLmh0bQog
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29ycy9zaW1wbGUt
cmVxdWVzdHMuaHRtCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jb3JzL3N0YXR1cy1hc3luYy5odG0KIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvcnMvc3RhdHVzLXByZWZsaWdodC5odG0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNvbiBiL0xheW91dFRlc3RzL3Rlc3RzLW9wdGlvbnMuanNv
bgppbmRleCA3OTkxZmI1MjE0NmQ4NGI5N2ExYjg3ZjlmMTJkZWQzNzA2NTg2MzUzLi4yNDY1YWNj
OGNjZWFjMDg4MjM5NTBkZjIwYTFmYmJkMGM2ZGE0ZTEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy90ZXN0cy1vcHRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvdGVzdHMtb3B0aW9ucy5qc29u
CkBAIC02MDgsNiArNjA4LDE1IEBACiAgICAgImltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc3R5bGUtc3JjL3N0eWxlLXNyYy1tdWx0aXBsZS1w
b2xpY2llcy1tdWx0aXBsZS1oYXNoaW5nLWFsZ29yaXRobXMuaHRtbCI6IFsKICAgICAgICAgInNs
b3ciCiAgICAgXSwKKyAgICAiaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb3JzLzMw
NC5odG0iOiBbCisgICAgICAgICJzbG93IgorICAgIF0sCisgICAgImltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29ycy9vcmlnaW4uaHRtIjogWworICAgICAgICAic2xvdyIKKyAgICBd
LAorICAgICJpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvcnMvcHJlZmxpZ2h0LWNh
Y2hlLmh0bSI6IFsKKyAgICAgICAgInNsb3ciCisgICAgXSwKICAgICAiaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jb3JzL3N0YXR1cy1hc3luYy5odG0iOiBbCiAgICAgICAgICJzbG93
IgogICAgIF0sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>