<?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>118149</bug_id>
          
          <creation_ts>2013-06-27 14:34:37 -0700</creation_ts>
          <short_desc>Sync up w3c import script with changes in Blink</short_desc>
          <delta_ts>2013-06-27 15:44:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bem Jones-Bey">bjonesbe</reporter>
          <assigned_to name="Bem Jones-Bey">bjonesbe</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>glenn</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>904353</commentid>
    <comment_count>0</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-06-27 14:34:37 -0700</bug_when>
    <thetext>Sync up w3c import script with changes in Blink</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904354</commentid>
    <comment_count>1</comment_count>
      <attachid>205637</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-06-27 14:36:37 -0700</bug_when>
    <thetext>Created attachment 205637
Patch

Port changes for w3c import script from Blink to WebKit: Blink revisions 150827, 151126, 151128, 151130, 151343, 151345, 152037, 152159</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904365</commentid>
    <comment_count>2</comment_count>
      <attachid>205637</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-27 15:44:03 -0700</bug_when>
    <thetext>Comment on attachment 205637
Patch

Clearing flags on attachment: 205637

Committed r152133: &lt;http://trac.webkit.org/changeset/152133&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904366</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-27 15:44:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205637</attachid>
            <date>2013-06-27 14:36:37 -0700</date>
            <delta_ts>2013-06-27 15:44:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118149-20130627143438.patch</filename>
            <type>text/plain</type>
            <size>40899</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMTAwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTJlMTc1NGYwYTBhNzI1ZmEyMGQ5OTU5ODRkODZiZmNh
MDc1ZDljYS4uMmRmYzFkYjhlM2VhOGE2MzZhMDI2ZDYxODM4NDJhMGEwNmQ2NDg0MSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4
IEBACisyMDEzLTA2LTI3ICBCZW0gSm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisg
ICAgICAgIFN5bmMgdXAgdzNjIGltcG9ydCBzY3JpcHQgd2l0aCBjaGFuZ2VzIGluIEJsaW5rCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTgxNDkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEg
cG9ydCBvZiB0aGUgZm9sbG93aW5nIGJsaW5rIGNoYW5nZXM6CisKKyAgICAgICAgaHR0cHM6Ly9j
b2RlcmV2aWV3LmNocm9taXVtLm9yZy8xNTM2NjAwNAorICAgICAgICBodHRwczovL2Nocm9taXVt
Y29kZXJldmlldy5hcHBzcG90LmNvbS8xNTU5MjAwNQorICAgICAgICBodHRwczovL2NvZGVyZXZp
ZXcuY2hyb21pdW0ub3JnLzE2MDIxMDA2CisgICAgICAgIGh0dHBzOi8vY29kZXJldmlldy5jaHJv
bWl1bS5vcmcvMTU1OTAwMDQKKyAgICAgICAgaHR0cHM6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9y
Zy8xNTkwMTAwOAorICAgICAgICBodHRwczovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzE2MTcx
MDA5CisgICAgICAgIGh0dHBzOi8vY29kZXJldmlldy5jaHJvbWl1bS5vcmcvMTY0NjUwMDcKKyAg
ICAgICAgaHR0cHM6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy8xNTk4MTAxMworCisgICAgICAg
ICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXRfdW5pdHRlc3QucHk6
CisgICAgICAgIChzZXRVcCk6CisgICAgICAgICh0ZXN0X2NvbW1pdF9tZXNzYWdlX2Zvcl90aGlz
X2NvbW1pdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHk6CisgICAg
ICAgIChQb3J0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weToKKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2NvbnZlcnRlci5weToKKyAgICAgICAg
KFczQ1Rlc3RDb252ZXJ0ZXIuX19pbml0X18pOgorICAgICAgICAoVzNDVGVzdENvbnZlcnRlci5y
ZWFkX3dlYmtpdF9wcmVmaXhlZF9jc3NfcHJvcGVydHlfbGlzdCk6CisgICAgICAgIChXM0NUZXN0
Q29udmVydGVyLmNvbnZlcnRfZm9yX3dlYmtpdCk6CisgICAgICAgIChXM0NUZXN0Q29udmVydGVy
LmNvbnZlcnRfY3NzKToKKyAgICAgICAgKFczQ1Rlc3RDb252ZXJ0ZXIuY29udmVydF9odG1sKToK
KyAgICAgICAgKFczQ1Rlc3RDb252ZXJ0ZXIuY29udmVydF90ZXN0aGFybmVzc19wYXRocyk6Cisg
ICAgICAgIChXM0NUZXN0Q29udmVydGVyLmNvbnZlcnRfcHJlZml4ZWRfcHJvcGVydGllcyk6Cisg
ICAgICAgIChXM0NUZXN0Q29udmVydGVyLmFkZF93ZWJraXRfcHJlZml4X3RvX3VucHJlZml4ZWRf
cHJvcGVydGllcyk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9jb252ZXJ0
ZXJfdW5pdHRlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9pbXBv
cnRlci5weToKKyAgICAgICAgKG1haW4pOgorICAgICAgICAoY29uZmlndXJlX2xvZ2dpbmcpOgor
ICAgICAgICAoY29uZmlndXJlX2xvZ2dpbmcuTG9nSGFuZGxlcik6CisgICAgICAgIChjb25maWd1
cmVfbG9nZ2luZy5Mb2dIYW5kbGVyLmZvcm1hdCk6CisgICAgICAgIChwYXJzZV9hcmdzKToKKyAg
ICAgICAgKFRlc3RJbXBvcnRlci5fX2luaXRfXyk6CisgICAgICAgIChUZXN0SW1wb3J0ZXIuZmlu
ZF9pbXBvcnRhYmxlX3Rlc3RzKToKKyAgICAgICAgKFRlc3RJbXBvcnRlci5pbXBvcnRfdGVzdHMp
OgorICAgICAgICAoVGVzdEltcG9ydGVyLnNldHVwX2Rlc3RpbmF0aW9uX2RpcmVjdG9yeSk6Cisg
ICAgICAgIChUZXN0SW1wb3J0ZXIucmVtb3ZlX2RlbGV0ZWRfZmlsZXMpOgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfaW1wb3J0ZXJfdW5pdHRlc3QucHk6CisgICAgICAgIChU
ZXN0SW1wb3J0ZXJUZXN0LnRlc3RfaW1wb3J0X2Rpcl93aXRoX25vX3Rlc3RzX2FuZF9ub19oZyk6
CisgICAgICAgIChUZXN0SW1wb3J0ZXJUZXN0LnRlc3RfaW1wb3J0X2Rpcl93aXRoX25vX3Rlc3Rz
KToKKyAgICAgICAgKFRlc3RJbXBvcnRlclRlc3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvdzNjL3Rlc3RfcGFyc2VyLnB5OgorICAgICAgICAoVGVzdFBhcnNlci5sb2FkX2ZpbGUpOgor
ICAgICAgICAoVGVzdFBhcnNlci5hbmFseXplX3Rlc3QpOgorICAgICAgICAoVGVzdFBhcnNlci5z
dXBwb3J0X2ZpbGVzKToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X3BhcnNl
cl91bml0dGVzdC5weToKKwogMjAxMy0wNi0yNyAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6
QHNpc2Euc2Ftc3VuZy5jb20+CiAKICAgICAgICAgUmVtb3ZlIFtOb0ludGVyZmFjZU9iamVjdF0g
ZnJvbSBXb3JrZXJHbG9iYWxTY29wZQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vY2hlY2tvdXQvY2hlY2tvdXRfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dF91bml0dGVzdC5weQppbmRleCBiN2FlYWQ5
NzIyMzEwMGIzMDljZjk5YjY2NmMzNmJmOTRhNTk3ZGFkLi41ODc3OThlNzcwNjgwZTg1ODFhYTY5
NGZiYTMyMzU4ZTU2ZmI2MTllIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9jaGVja291dC9jaGVja291dF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2NvbW1vbi9jaGVja291dC9jaGVja291dF91bml0dGVzdC5weQpAQCAtMzYsNiArMzYs
NyBAQCBmcm9tIC5jaGVja291dCBpbXBvcnQgQ2hlY2tvdXQKIGZyb20gLmNoYW5nZWxvZyBpbXBv
cnQgQ2hhbmdlTG9nRW50cnkKIGZyb20gLnNjbSBpbXBvcnQgQ29tbWl0TWVzc2FnZSwgU0NNRGV0
ZWN0b3IKIGZyb20gLnNjbS5zY21fbW9jayBpbXBvcnQgTW9ja1NDTQorZnJvbSB3ZWJraXRweS5j
b21tb24ud2Via2l0X2ZpbmRlciBpbXBvcnQgV2ViS2l0RmluZGVyCiBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUsIFNjcmlwdEVycm9yCiBmcm9t
IHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5c3RlbSBpbXBvcnQgRmlsZVN5c3RlbSAgIyBG
SVhNRTogVGhpcyBzaG91bGQgbm90IGJlIG5lZWRlZC4KIGZyb20gd2Via2l0cHkuY29tbW9uLnN5
c3RlbS5maWxlc3lzdGVtX21vY2sgaW1wb3J0IE1vY2tGaWxlU3lzdGVtCkBAIC0xMDIsNiArMTAz
LDcgQEAgU2Vjb25kIHBhcnQgb2YgdGhpcyBjb21wbGljYXRlZCBjaGFuZ2UgYnkgbWUsIFRvciBB
cm5lIFZlc3RiXHUwMGY4IQogICAgICAgICBzZWxmLnRlbXBfZGlyID0gc3RyKHNlbGYuZmlsZXN5
c3RlbS5ta2R0ZW1wKHN1ZmZpeD0iY2hhbmdlbG9ncyIpKQogICAgICAgICBzZWxmLm9sZF9jd2Qg
PSBzZWxmLmZpbGVzeXN0ZW0uZ2V0Y3dkKCkKICAgICAgICAgc2VsZi5maWxlc3lzdGVtLmNoZGly
KHNlbGYudGVtcF9kaXIpCisgICAgICAgIHNlbGYud2Via2l0X2Jhc2UgPSBXZWJLaXRGaW5kZXIo
c2VsZi5maWxlc3lzdGVtKS53ZWJraXRfYmFzZSgpCiAKICAgICAgICAgIyBUcmljayBjb21taXQt
bG9nLWVkaXRvciBpbnRvIHRoaW5raW5nIHdlJ3JlIGluIGEgU3VidmVyc2lvbiB3b3JraW5nIGNv
cHkgc28gaXQgd29uJ3QKICAgICAgICAgIyBjb21wbGFpbiBhYm91dCBub3QgYmVpbmcgYWJsZSB0
byBmaWd1cmUgb3V0IHdoYXQgU0NNIGlzIGluIHVzZS4KQEAgLTEzMCw3ICsxMzIsNyBAQCBTZWNv
bmQgcGFydCBvZiB0aGlzIGNvbXBsaWNhdGVkIGNoYW5nZSBieSBtZSwgVG9yIEFybmUgVmVzdGJc
dTAwZjghCiAgICAgICAgICAgICByZXR1cm4gZXhlY3V0aXZlLnJ1bl9jb21tYW5kKCphcmdzLCAq
Kmt3YXJncykKIAogICAgICAgICBkZXRlY3RvciA9IFNDTURldGVjdG9yKHNlbGYuZmlsZXN5c3Rl
bSwgZXhlY3V0aXZlKQotICAgICAgICByZWFsX3NjbSA9IGRldGVjdG9yLmRldGVjdF9zY21fc3lz
dGVtKHNlbGYub2xkX2N3ZCkKKyAgICAgICAgcmVhbF9zY20gPSBkZXRlY3Rvci5kZXRlY3Rfc2Nt
X3N5c3RlbShzZWxmLndlYmtpdF9iYXNlKQogCiAgICAgICAgIG1vY2tfc2NtID0gTW9ja1NDTSgp
CiAgICAgICAgIG1vY2tfc2NtLnJ1biA9IG1vY2tfcnVuCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9i
YXNlLnB5CmluZGV4IDcyMDBhN2JmOTQyMWJhMjEzZjA2ZWQ2YjMxMDI3YTU1ZWMwNWQ5YjYuLmM2
ODU5N2YyYTRiYWM2YTA4ZThlNjgzNjA3OTE4NjU1ZmI3NmM4NjMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC9iYXNlLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9iYXNlLnB5CkBAIC02MDYsOCArNjA2LDggQEAgY2xhc3MgUG9ydChvYmplY3QpOgog
ICAgICAgICByZXR1cm4gW3NlbGYucmVsYXRpdmVfdGVzdF9maWxlbmFtZShmKSBmb3IgZiBpbiBm
aWxlc10KIAogICAgICMgV2hlbiBjb2xsZWN0aW5nIHRlc3QgY2FzZXMsIHdlIGluY2x1ZGUgYW55
IGZpbGUgd2l0aCB0aGVzZSBleHRlbnNpb25zLgotICAgIF9zdXBwb3J0ZWRfdGVzdF9leHRlbnNp
b25zID0gc2V0KFsnLmh0bWwnLCAnLnNodG1sJywgJy54bWwnLCAnLnhodG1sJywgJy5wbCcsICcu
aHRtJywgJy5waHAnLCAnLnN2ZycsICcubWh0J10pCi0gICAgX3N1cHBvcnRlZF9yZWZlcmVuY2Vf
ZXh0ZW5zaW9ucyA9IHNldChbJy5odG1sJywgJy54bWwnLCAnLnhodG1sJywgJy5odG0nLCAnLnN2
ZyddKQorICAgIF9zdXBwb3J0ZWRfdGVzdF9leHRlbnNpb25zID0gc2V0KFsnLmh0bWwnLCAnLnNo
dG1sJywgJy54bWwnLCAnLnhodG1sJywgJy5wbCcsICcuaHRtJywgJy5waHAnLCAnLnN2ZycsICcu
bWh0JywgJy54aHQnXSkKKyAgICBfc3VwcG9ydGVkX3JlZmVyZW5jZV9leHRlbnNpb25zID0gc2V0
KFsnLmh0bWwnLCAnLnhtbCcsICcueGh0bWwnLCAnLmh0bScsICcuc3ZnJywgJy54aHQnXSkKIAog
ICAgIEBzdGF0aWNtZXRob2QKICAgICAjIElmIGFueSBjaGFuZ2VzIGFyZSBtYWRlIGhlcmUgYmUg
c3VyZSB0byB1cGRhdGUgdGhlIGlzVXNlZEluUmVmdGVzdCBtZXRob2QgaW4gb2xkLXJ1bi13ZWJr
aXQtdGVzdHMgYXMgd2VsbC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9y
dC90ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHkKaW5kZXggN2Fk
MzE4ZGJmYzIyOWFlZjM3YjE0YTEzZWQ3YTAwMGFhMTk2MDlkNS4uNzZmZWEzYmExODI4NTNmNGQ1
YmFkZjU0MjQ4YTdhMmQ1MWE4NDU1NyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3Rlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHkK
QEAgLTEwMCw3ICsxMDAsNyBAQCBjbGFzcyBUZXN0TGlzdChvYmplY3QpOgogIwogIyBUaGVzZSBu
dW1iZXJzIG1heSBuZWVkIHRvIGJlIHVwZGF0ZWQgd2hlbmV2ZXIgd2UgYWRkIG9yIGRlbGV0ZSB0
ZXN0cy4KICMKLVRPVEFMX1RFU1RTID0gMTA0CitUT1RBTF9URVNUUyA9IDEwNgogVE9UQUxfU0tJ
UFMgPSAyOAogVE9UQUxfUkVUUklFUyA9IDE0CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdzNjL3Rlc3RfY29udmVydGVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93
M2MvdGVzdF9jb252ZXJ0ZXIucHkKaW5kZXggYmNjYjJiZTRkMDQxZjZhODE1N2EwMWY1MTczNjE0
NzVlNWUxYTEyZS4uMmU5YmZjYjlhMzVmYjYyZTNhZjNjNjZmYjE4ZjY5YzY1ODQ3YzllYSAxMDA2
NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9jb252ZXJ0ZXIucHkKKysr
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9jb252ZXJ0ZXIucHkKQEAgLTI3LDE5
ICsyNywyOCBAQAogIyBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YKICMgU1VDSCBEQU1BR0UuCiAKK2ltcG9ydCBsb2dnaW5nCiBp
bXBvcnQgcmUKIAogZnJvbSB3ZWJraXRweS5jb21tb24uaG9zdCBpbXBvcnQgSG9zdAorZnJvbSB3
ZWJraXRweS5jb21tb24ud2Via2l0X2ZpbmRlciBpbXBvcnQgV2ViS2l0RmluZGVyCiBmcm9tIHdl
YmtpdHB5LnRoaXJkcGFydHkuQmVhdXRpZnVsU291cCBpbXBvcnQgQmVhdXRpZnVsU291cCwgVGFn
CiAKIAorX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQorCisKIGNsYXNzIFczQ1Rl
c3RDb252ZXJ0ZXIob2JqZWN0KToKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAgICAg
c2VsZi5faG9zdCA9IEhvc3QoKQogICAgICAgICBzZWxmLl9maWxlc3lzdGVtID0gc2VsZi5faG9z
dC5maWxlc3lzdGVtCi0gICAgICAgIHNlbGYuX2hvc3QuaW5pdGlhbGl6ZV9zY20oKQotICAgICAg
ICBzZWxmLl93ZWJraXRfcm9vdCA9IHNlbGYuX2hvc3Quc2NtKCkuY2hlY2tvdXRfcm9vdAorICAg
ICAgICBzZWxmLl93ZWJraXRfcm9vdCA9IFdlYktpdEZpbmRlcihzZWxmLl9maWxlc3lzdGVtKS53
ZWJraXRfYmFzZSgpCisKKyAgICAgICAgIyBUaGVzZSBzZXR0aW5ncyBtaWdodCB2YXJ5IGJldHdl
ZW4gV2ViS2l0IGFuZCBCbGluaworICAgICAgICBzZWxmLl9jc3NfcHJvcGVydHlfZmlsZSA9IHNl
bGYucGF0aF9mcm9tX3dlYmtpdF9yb290KCdTb3VyY2UnLCAnV2ViQ29yZScsICdjc3MnLCAnQ1NT
UHJvcGVydHlOYW1lcy5pbicpCisgICAgICAgIHNlbGYuX2Nzc19wcm9wZXJ0eV9zcGxpdF9zdHJp
bmcgPSAnPScKKwogICAgICAgICBzZWxmLnByZWZpeGVkX3Byb3BlcnRpZXMgPSBzZWxmLnJlYWRf
d2Via2l0X3ByZWZpeGVkX2Nzc19wcm9wZXJ0eV9saXN0KCkKIAogICAgIGRlZiBwYXRoX2Zyb21f
d2Via2l0X3Jvb3Qoc2VsZiwgKmNvbXBzKToKQEAgLTQ4LDE0ICs1NywxNCBAQCBjbGFzcyBXM0NU
ZXN0Q29udmVydGVyKG9iamVjdCk6CiAgICAgZGVmIHJlYWRfd2Via2l0X3ByZWZpeGVkX2Nzc19w
cm9wZXJ0eV9saXN0KHNlbGYpOgogICAgICAgICBwcmVmaXhlZF9wcm9wZXJ0aWVzID0gW10KIAot
ICAgICAgICBjb250ZW50cyA9IHNlbGYuX2ZpbGVzeXN0ZW0ucmVhZF90ZXh0X2ZpbGUoc2VsZi5w
YXRoX2Zyb21fd2Via2l0X3Jvb3QoJ1NvdXJjZScsICdXZWJDb3JlJywgJ2NzcycsICdDU1NQcm9w
ZXJ0eU5hbWVzLmluJykpCisgICAgICAgIGNvbnRlbnRzID0gc2VsZi5fZmlsZXN5c3RlbS5yZWFk
X3RleHRfZmlsZShzZWxmLl9jc3NfcHJvcGVydHlfZmlsZSkKICAgICAgICAgZm9yIGxpbmUgaW4g
Y29udGVudHMuc3BsaXRsaW5lcygpOgogICAgICAgICAgICAgIyBGaW5kIGxpbmVzIHN0YXJ0aW5n
IHdpdGggdGhlIC13ZWJraXQtIHByZWZpeC4KICAgICAgICAgICAgIG1hdGNoID0gcmUubWF0Y2go
Jy13ZWJraXQtW1x3fC1dKicsIGxpbmUpCiAgICAgICAgICAgICBpZiBtYXRjaDoKICAgICAgICAg
ICAgICAgICAjIElnbm9yZSBsaW5lcyB3aGVyZSBib3RoIHRoZSBwcmVmaXhlZCBhbmQgbm9uLXBy
ZWZpeGVkIHByb3BlcnR5CiAgICAgICAgICAgICAgICAgIyBhcmUgc3VwcG9ydGVkIC0gZGVub3Rl
ZCBieSAtd2Via2l0LXNvbWUtcHJvcGVydHkgPSBzb21lLXByb3BlcnR5LgotICAgICAgICAgICAg
ICAgIGZpZWxkcyA9IGxpbmUuc3BsaXQoJz0nKQorICAgICAgICAgICAgICAgIGZpZWxkcyA9IGxp
bmUuc3BsaXQoc2VsZi5fY3NzX3Byb3BlcnR5X3NwbGl0X3N0cmluZykKICAgICAgICAgICAgICAg
ICBpZiBsZW4oZmllbGRzKSA9PSAyIGFuZCBmaWVsZHNbMV0uc3RyaXAoKSBpbiBmaWVsZHNbMF0u
c3RyaXAoKToKICAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgICAgICBw
cmVmaXhlZF9wcm9wZXJ0aWVzLmFwcGVuZChtYXRjaC5ncm91cCgwKSkKQEAgLTY2LDIxICs3NSwy
MSBAQCBjbGFzcyBXM0NUZXN0Q29udmVydGVyKG9iamVjdCk6CiAgICAgICAgICIiIiBDb252ZXJ0
cyBhIGZpbGUncyB8Y29udGVudHN8IHNvIGl0IHdpbGwgZnVuY3Rpb24gY29ycmVjdGx5IGluIGl0
cyB8bmV3X3BhdGh8IGluIFdlYmtpdC4KIAogICAgICAgICBSZXR1cm5zIHRoZSBsaXN0IG9mIG1v
ZGlmaWVkIHByb3BlcnRpZXMgYW5kIHRoZSBtb2RpZmllZCB0ZXh0IGlmIHRoZSBmaWxlIHdhcyBt
b2RpZmVkLCBOb25lIG90aGVyd2lzZS4iIiIKLSAgICAgICAgY29udGVudHMgPSBzZWxmLl9maWxl
c3lzdGVtLnJlYWRfdGV4dF9maWxlKGZpbGVuYW1lKQorICAgICAgICBjb250ZW50cyA9IHNlbGYu
X2ZpbGVzeXN0ZW0ucmVhZF9iaW5hcnlfZmlsZShmaWxlbmFtZSkKICAgICAgICAgaWYgZmlsZW5h
bWUuZW5kc3dpdGgoJy5jc3MnKToKLSAgICAgICAgICAgIHJldHVybiBzZWxmLmNvbnZlcnRfY3Nz
KGNvbnRlbnRzKQotICAgICAgICByZXR1cm4gc2VsZi5jb252ZXJ0X2h0bWwobmV3X3BhdGgsIGNv
bnRlbnRzKQorICAgICAgICAgICAgcmV0dXJuIHNlbGYuY29udmVydF9jc3MoY29udGVudHMsIGZp
bGVuYW1lKQorICAgICAgICByZXR1cm4gc2VsZi5jb252ZXJ0X2h0bWwobmV3X3BhdGgsIGNvbnRl
bnRzLCBmaWxlbmFtZSkKIAotICAgIGRlZiBjb252ZXJ0X2NzcyhzZWxmLCBjb250ZW50cyk6Ci0g
ICAgICAgIHJldHVybiBzZWxmLmFkZF93ZWJraXRfcHJlZml4X3RvX3VucHJlZml4ZWRfcHJvcGVy
dGllcyhjb250ZW50cykKKyAgICBkZWYgY29udmVydF9jc3Moc2VsZiwgY29udGVudHMsIGZpbGVu
YW1lKToKKyAgICAgICAgcmV0dXJuIHNlbGYuYWRkX3dlYmtpdF9wcmVmaXhfdG9fdW5wcmVmaXhl
ZF9wcm9wZXJ0aWVzKGNvbnRlbnRzLCBmaWxlbmFtZSkKIAotICAgIGRlZiBjb252ZXJ0X2h0bWwo
c2VsZiwgbmV3X3BhdGgsIGNvbnRlbnRzKToKKyAgICBkZWYgY29udmVydF9odG1sKHNlbGYsIG5l
d19wYXRoLCBjb250ZW50cywgZmlsZW5hbWUpOgogICAgICAgICBkb2MgPSBCZWF1dGlmdWxTb3Vw
KGNvbnRlbnRzKQotICAgICAgICBkaWRfbW9kaWZ5X3BhdGhzID0gc2VsZi5jb252ZXJ0X3Rlc3Ro
YXJuZXNzX3BhdGhzKGRvYywgbmV3X3BhdGgpCi0gICAgICAgIGNvbnZlcnRlZF9wcm9wZXJ0aWVz
X2FuZF9jb250ZW50ID0gc2VsZi5jb252ZXJ0X3ByZWZpeGVkX3Byb3BlcnRpZXMoZG9jKQorICAg
ICAgICBkaWRfbW9kaWZ5X3BhdGhzID0gc2VsZi5jb252ZXJ0X3Rlc3RoYXJuZXNzX3BhdGhzKGRv
YywgbmV3X3BhdGgsIGZpbGVuYW1lKQorICAgICAgICBjb252ZXJ0ZWRfcHJvcGVydGllc19hbmRf
Y29udGVudCA9IHNlbGYuY29udmVydF9wcmVmaXhlZF9wcm9wZXJ0aWVzKGRvYywgZmlsZW5hbWUp
CiAgICAgICAgIHJldHVybiBjb252ZXJ0ZWRfcHJvcGVydGllc19hbmRfY29udGVudCBpZiAoZGlk
X21vZGlmeV9wYXRocyBvciBjb252ZXJ0ZWRfcHJvcGVydGllc19hbmRfY29udGVudFswXSkgZWxz
ZSBOb25lCiAKLSAgICBkZWYgY29udmVydF90ZXN0aGFybmVzc19wYXRocyhzZWxmLCBkb2MsIG5l
d19wYXRoKToKKyAgICBkZWYgY29udmVydF90ZXN0aGFybmVzc19wYXRocyhzZWxmLCBkb2MsIG5l
d19wYXRoLCBmaWxlbmFtZSk6CiAgICAgICAgICIiIiBVcGRhdGUgbGlua3MgdG8gdGVzdGhhcm5l
c3MuanMgaW4gdGhlIEJlYXV0aWZ1bFNvdXAgfGRvY3wgdG8gcG9pbnQgdG8gdGhlIGNvcHkgaW4g
fG5ld19wYXRofC4KIAogICAgICAgICBSZXR1cm5zIHdoZXRoZXIgdGhlIGRvY3VtZW50IHdhcyBt
b2RpZmllZC4iIiIKQEAgLTk4LDEwICsxMDcsMTcgQEAgY2xhc3MgVzNDVGVzdENvbnZlcnRlcihv
YmplY3QpOgogICAgICAgICByZXNvdXJjZXNfcmVscGF0aCA9IHNlbGYuX2ZpbGVzeXN0ZW0ucmVs
cGF0aChyZXNvdXJjZXNfcGF0aCwgbmV3X3BhdGgpCiAKICAgICAgICAgZm9yIHRhZyBpbiB0ZXN0
aGFybmVzc190YWdzOgorICAgICAgICAgICAgIyBGSVhNRTogV2UgbmVlZCB0byBoYW5kbGUgaW1n
LCBhdWRpbywgdmlkZW8gdGFncyBhbHNvLgogICAgICAgICAgICAgYXR0ciA9ICdzcmMnCiAgICAg
ICAgICAgICBpZiB0YWcubmFtZSAhPSAnc2NyaXB0JzoKICAgICAgICAgICAgICAgICBhdHRyID0g
J2hyZWYnCiAKKyAgICAgICAgICAgIGlmIG5vdCBhdHRyIGluIHRhZy5hdHRyTWFwOgorICAgICAg
ICAgICAgICAgICMgRklYTUU6IEZpZ3VyZSBvdXQgd2hhdCB0byBkbyB3LyBpbnZhbGlkIHRhZ3Mu
IEZvciBub3csIHdlIHJldHVybiBGYWxzZQorICAgICAgICAgICAgICAgICMgYW5kIGxlYXZlIHRo
ZSBkb2N1bWVudCB1bm1vZGlmaWVkLCB3aGljaCBtZWFucyB0aGF0IGl0J2xsIHByb2JhYmx5IGZh
aWwgdG8gcnVuLgorICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IoIk1pc3NpbmcgYW4gYXR0ciBp
biAlcyIgJSBmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKwogICAgICAg
ICAgICAgb2xkX3BhdGggPSB0YWdbYXR0cl0KICAgICAgICAgICAgIG5ld190YWcgPSBUYWcoZG9j
LCB0YWcubmFtZSwgdGFnLmF0dHJzKQogICAgICAgICAgICAgbmV3X3RhZ1thdHRyXSA9IHJlLnN1
YihwYXR0ZXJuLCByZXNvdXJjZXNfcmVscGF0aCArICcvdGVzdGhhcm5lc3MnLCBvbGRfcGF0aCkK
QEAgLTExMCw3ICsxMjYsNyBAQCBjbGFzcyBXM0NUZXN0Q29udmVydGVyKG9iamVjdCk6CiAKICAg
ICAgICAgcmV0dXJuIFRydWUKIAotICAgIGRlZiBjb252ZXJ0X3ByZWZpeGVkX3Byb3BlcnRpZXMo
c2VsZiwgZG9jKToKKyAgICBkZWYgY29udmVydF9wcmVmaXhlZF9wcm9wZXJ0aWVzKHNlbGYsIGRv
YywgZmlsZW5hbWUpOgogICAgICAgICAiIiIgU2VhcmNoZXMgYSBCZWF1dGlmdWxTb3VwIHxkb2N8
IGZvciBhbnkgQ1NTIHByb3BlcnRpZXMgcmVxdWlyaW5nIHRoZSAtd2Via2l0LSBwcmVmaXggYW5k
IGNvbnZlcnRzIHRoZW0uCiAKICAgICAgICAgUmV0dXJucyB0aGUgbGlzdCBvZiBjb252ZXJ0ZWQg
cHJvcGVydGllcyBhbmQgdGhlIG1vZGlmaWVkIGRvY3VtZW50IGFzIGEgc3RyaW5nICIiIgpAQCAt
MTMzLDcgKzE0OSw3IEBAIGNsYXNzIFczQ1Rlc3RDb252ZXJ0ZXIob2JqZWN0KToKICAgICAgICAg
ICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgc3R5bGVfdGV4dCA9IHRhZ1snc3R5bGUnXQogCi0g
ICAgICAgICAgICB1cGRhdGVkX3N0eWxlX3RleHQgPSBzZWxmLmFkZF93ZWJraXRfcHJlZml4X3Rv
X3VucHJlZml4ZWRfcHJvcGVydGllcyhzdHlsZV90ZXh0KQorICAgICAgICAgICAgdXBkYXRlZF9z
dHlsZV90ZXh0ID0gc2VsZi5hZGRfd2Via2l0X3ByZWZpeF90b191bnByZWZpeGVkX3Byb3BlcnRp
ZXMoc3R5bGVfdGV4dCwgZmlsZW5hbWUpCiAKICAgICAgICAgICAgICMgUmV3cml0ZSB0YWcgb25s
eSBpZiBjaGFuZ2VzIHdlcmUgbWFkZS4KICAgICAgICAgICAgIGlmIHVwZGF0ZWRfc3R5bGVfdGV4
dFswXToKQEAgLTE0Niw3ICsxNjIsNyBAQCBjbGFzcyBXM0NUZXN0Q29udmVydGVyKG9iamVjdCk6
CiAKICAgICAgICAgcmV0dXJuIChjb252ZXJ0ZWRfcHJvcGVydGllcywgZG9jLnByZXR0aWZ5KCkp
CiAKLSAgICBkZWYgYWRkX3dlYmtpdF9wcmVmaXhfdG9fdW5wcmVmaXhlZF9wcm9wZXJ0aWVzKHNl
bGYsIHRleHQpOgorICAgIGRlZiBhZGRfd2Via2l0X3ByZWZpeF90b191bnByZWZpeGVkX3Byb3Bl
cnRpZXMoc2VsZiwgdGV4dCwgZmlsZW5hbWUpOgogICAgICAgICAiIiIgU2VhcmNoZXMgfHRleHR8
IGZvciBpbnN0YW5jZXMgb2YgcHJvcGVydGllcyByZXF1aXJpbmcgdGhlIC13ZWJraXQtIHByZWZp
eCBhbmQgYWRkcyB0aGUgcHJlZml4IHRvIHRoZW0uCiAKICAgICAgICAgUmV0dXJucyB0aGUgbGlz
dCBvZiBjb252ZXJ0ZWQgcHJvcGVydGllcyBhbmQgdGhlIG1vZGlmaWVkIHRleHQuIiIiCkBAIC0x
NTQsNiArMTcwLDggQEAgY2xhc3MgVzNDVGVzdENvbnZlcnRlcihvYmplY3QpOgogICAgICAgICBj
b252ZXJ0ZWRfcHJvcGVydGllcyA9IFtdCiAKICAgICAgICAgZm9yIHByZWZpeGVkX3Byb3BlcnR5
IGluIHNlbGYucHJlZml4ZWRfcHJvcGVydGllczoKKyAgICAgICAgICAgICMgRklYTUU6IGFkZCBp
biBib3RoIHRoZSBwcmVmaXhlZCBhbmQgdW5wcmVmaXhlZCB2ZXJzaW9ucywgcmF0aGVyIHRoYW4g
anVzdCByZXBsYWNpbmcgdGhlbT8KKyAgICAgICAgICAgICMgVGhhdCBtaWdodCBhbGxvdyB0aGUg
aW1wb3J0ZWQgdGVzdCB0byB3b3JrIGluIG90aGVyIGJyb3dzZXJzIG1vcmUgZWFzaWx5LgogCiAg
ICAgICAgICAgICB1bnByZWZpeGVkX3Byb3BlcnR5ID0gcHJlZml4ZWRfcHJvcGVydHkucmVwbGFj
ZSgnLXdlYmtpdC0nLCAnJykKIApAQCAtMTYyLDExICsxODAsMTEgQEAgY2xhc3MgVzNDVGVzdENv
bnZlcnRlcihvYmplY3QpOgogICAgICAgICAgICAgIyBvciBhdCB0aGUgYmVnaW5uaW5nIG9mIHRo
ZSBzdHJpbmcgKGZvciBpbmxpbmUgc3R5bGUgYXR0cmlidXRlKQogICAgICAgICAgICAgcGF0dGVy
biA9ICcoW1xze118XiknICsgdW5wcmVmaXhlZF9wcm9wZXJ0eSArICcoXHMrOnw6KScKICAgICAg
ICAgICAgIGlmIHJlLnNlYXJjaChwYXR0ZXJuLCB0ZXh0KToKLSAgICAgICAgICAgICAgICBwcmlu
dCAnY29udmVydGluZyAlcyAtPiAlcycgJSAodW5wcmVmaXhlZF9wcm9wZXJ0eSwgcHJlZml4ZWRf
cHJvcGVydHkpCisgICAgICAgICAgICAgICAgX2xvZy5pbmZvKCdjb252ZXJ0aW5nICVzIC0+ICVz
JyAlICh1bnByZWZpeGVkX3Byb3BlcnR5LCBwcmVmaXhlZF9wcm9wZXJ0eSkpCiAgICAgICAgICAg
ICAgICAgY29udmVydGVkX3Byb3BlcnRpZXMuYXBwZW5kKHByZWZpeGVkX3Byb3BlcnR5KQogICAg
ICAgICAgICAgICAgIHRleHQgPSByZS5zdWIocGF0dGVybiwgcHJlZml4ZWRfcHJvcGVydHkgKyAn
OicsIHRleHQpCiAKLSAgICAgICAgIyBGSVhNRTogSGFuZGxlIHRoZSBKUyB2ZXJzaW9ucyBvZiB0
aGVzZSBwcm9wZXJ0aWVzLCB0b28uCisgICAgICAgICMgRklYTUU6IEhhbmRsZSB0aGUgSlMgdmVy
c2lvbnMgb2YgdGhlc2UgcHJvcGVydGllcyBhbmQgR2V0Q29tcHV0ZWRTdHlsZSwgdG9vLgogICAg
ICAgICByZXR1cm4gKGNvbnZlcnRlZF9wcm9wZXJ0aWVzLCB0ZXh0KQogCiAgICAgZGVmIHJlcGxh
Y2VfdGFnKHNlbGYsIG9sZF90YWcsIG5ld190YWcpOgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS93M2MvdGVzdF9jb252ZXJ0ZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3czYy90ZXN0X2NvbnZlcnRlcl91bml0dGVzdC5weQppbmRleCAxMWUyNGQ4MmZj
YjZhODdmYjAwODEyM2UxNjcyOWE2YzkwOTk4NmZjLi5mZjEwNGFiZDUwNTE2YTljZGRjNzE5OTU1
YmUxOTY0YzNlNmQ4YWQ5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90
ZXN0X2NvbnZlcnRlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3cz
Yy90ZXN0X2NvbnZlcnRlcl91bml0dGVzdC5weQpAQCAtMzYsNiArMzYsOCBAQCBmcm9tIHdlYmtp
dHB5LnRoaXJkcGFydHkuQmVhdXRpZnVsU291cCBpbXBvcnQgQmVhdXRpZnVsU291cAogZnJvbSB3
ZWJraXRweS53M2MudGVzdF9jb252ZXJ0ZXIgaW1wb3J0IFczQ1Rlc3RDb252ZXJ0ZXIKIAogCitE
VU1NWV9GSUxFTkFNRSA9ICdkdW1teS5odG1sJworCiBjbGFzcyBXM0NUZXN0Q29udmVydGVyVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgZmFrZV9kaXJfcGF0aChzZWxmLCBjb252
ZXJ0ZXIsIGRpcm5hbWUpOgpAQCAtNzcsNyArNzksNyBAQCBDT05URU5UIE9GIFRFU1QKICAgICAg
ICAgb2MgPSBPdXRwdXRDYXB0dXJlKCkKICAgICAgICAgb2MuY2FwdHVyZV9vdXRwdXQoKQogICAg
ICAgICB0cnk6Ci0gICAgICAgICAgICBjb252ZXJ0ZWQgPSBjb252ZXJ0ZXIuY29udmVydF9odG1s
KCcvbm90aGluZy90by9jb252ZXJ0JywgdGVzdF9odG1sKQorICAgICAgICAgICAgY29udmVydGVk
ID0gY29udmVydGVyLmNvbnZlcnRfaHRtbCgnL25vdGhpbmcvdG8vY29udmVydCcsIHRlc3RfaHRt
bCwgRFVNTVlfRklMRU5BTUUpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBvYy5yZXN0
b3JlX291dHB1dCgpCiAKQEAgLTk0LDcgKzk2LDcgQEAgQ09OVEVOVCBPRiBURVNUCiAgICAgICAg
IGNvbnZlcnRlciA9IFczQ1Rlc3RDb252ZXJ0ZXIoKQogICAgICAgICBmYWtlX2Rpcl9wYXRoID0g
c2VsZi5mYWtlX2Rpcl9wYXRoKGNvbnZlcnRlciwgImhhcm5lc3Nvbmx5IikKIAotICAgICAgICBj
b252ZXJ0ZWQgPSBjb252ZXJ0ZXIuY29udmVydF9odG1sKGZha2VfZGlyX3BhdGgsIHRlc3RfaHRt
bCkKKyAgICAgICAgY29udmVydGVkID0gY29udmVydGVyLmNvbnZlcnRfaHRtbChmYWtlX2Rpcl9w
YXRoLCB0ZXN0X2h0bWwsIERVTU1ZX0ZJTEVOQU1FKQogCiAgICAgICAgIHNlbGYudmVyaWZ5X2Nv
bnZlcnNpb25faGFwcGVuZWQoY29udmVydGVkKQogICAgICAgICBzZWxmLnZlcmlmeV90ZXN0X2hh
cm5lc3NfcGF0aHMoY29udmVydGVyLCBjb252ZXJ0ZWRbMV0sIGZha2VfZGlyX3BhdGgsIDEsIDEp
CkBAIC0xMjUsNyArMTI3LDcgQEAgQ09OVEVOVCBPRiBURVNUCiAgICAgICAgIG9jID0gT3V0cHV0
Q2FwdHVyZSgpCiAgICAgICAgIG9jLmNhcHR1cmVfb3V0cHV0KCkKICAgICAgICAgdHJ5OgotICAg
ICAgICAgICAgY29udmVydGVkID0gY29udmVydGVyLmNvbnZlcnRfaHRtbChmYWtlX2Rpcl9wYXRo
LCB0ZXN0X2NvbnRlbnRbMV0pCisgICAgICAgICAgICBjb252ZXJ0ZWQgPSBjb252ZXJ0ZXIuY29u
dmVydF9odG1sKGZha2VfZGlyX3BhdGgsIHRlc3RfY29udGVudFsxXSwgRFVNTVlfRklMRU5BTUUp
CiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBvYy5yZXN0b3JlX291dHB1dCgpCiAKQEAg
LTE2MCw3ICsxNjIsNyBAQCBDT05URU5UIE9GIFRFU1QKICAgICAgICAgb2MuY2FwdHVyZV9vdXRw
dXQoKQogICAgICAgICB0cnk6CiAgICAgICAgICAgICB0ZXN0X2NvbnRlbnQgPSBzZWxmLmdlbmVy
YXRlX3Rlc3RfY29udGVudChjb252ZXJ0ZXIucHJlZml4ZWRfcHJvcGVydGllcywgMiwgdGVzdF9o
dG1sKQotICAgICAgICAgICAgY29udmVydGVkID0gY29udmVydGVyLmNvbnZlcnRfaHRtbChmYWtl
X2Rpcl9wYXRoLCB0ZXN0X2NvbnRlbnRbMV0pCisgICAgICAgICAgICBjb252ZXJ0ZWQgPSBjb252
ZXJ0ZXIuY29udmVydF9odG1sKGZha2VfZGlyX3BhdGgsIHRlc3RfY29udGVudFsxXSwgRFVNTVlf
RklMRU5BTUUpCiAgICAgICAgIGZpbmFsbHk6CiAgICAgICAgICAgICBvYy5yZXN0b3JlX291dHB1
dCgpCiAKQEAgLTE4NSw3ICsxODcsNyBAQCBDT05URU5UIE9GIFRFU1QKICAgICAgICAgb2MgPSBP
dXRwdXRDYXB0dXJlKCkKICAgICAgICAgb2MuY2FwdHVyZV9vdXRwdXQoKQogICAgICAgICB0cnk6
Ci0gICAgICAgICAgICBjb252ZXJ0ZWQgPSBjb252ZXJ0ZXIuY29udmVydF90ZXN0aGFybmVzc19w
YXRocyhkb2MsIGZha2VfZGlyX3BhdGgpCisgICAgICAgICAgICBjb252ZXJ0ZWQgPSBjb252ZXJ0
ZXIuY29udmVydF90ZXN0aGFybmVzc19wYXRocyhkb2MsIGZha2VfZGlyX3BhdGgsIERVTU1ZX0ZJ
TEVOQU1FKQogICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgb2MucmVzdG9yZV9vdXRwdXQo
KQogCkBAIC0yNjIsNyArMjY0LDcgQEAgQ09OVEVOVCBPRiBURVNUCiAgICAgICAgIG9jID0gT3V0
cHV0Q2FwdHVyZSgpCiAgICAgICAgIG9jLmNhcHR1cmVfb3V0cHV0KCkKICAgICAgICAgdHJ5Ogot
ICAgICAgICAgICAgY29udmVydGVkID0gY29udmVydGVyLmNvbnZlcnRfcHJlZml4ZWRfcHJvcGVy
dGllcyhCZWF1dGlmdWxTb3VwKHRlc3RfY29udGVudFsxXSkpCisgICAgICAgICAgICBjb252ZXJ0
ZWQgPSBjb252ZXJ0ZXIuY29udmVydF9wcmVmaXhlZF9wcm9wZXJ0aWVzKEJlYXV0aWZ1bFNvdXAo
dGVzdF9jb250ZW50WzFdKSwgRFVNTVlfRklMRU5BTUUpCiAgICAgICAgIGZpbmFsbHk6CiAgICAg
ICAgICAgICBvYy5yZXN0b3JlX291dHB1dCgpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdzNjL3Rlc3RfaW1wb3J0ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3cz
Yy90ZXN0X2ltcG9ydGVyLnB5CmluZGV4IDAzZmRiZTU5NDU2MTNhY2VkYWMzNDUzZTZmYjBlYzYx
MjkyMTFiZjguLjExOWJkN2Q5Mjg2MmMxZTUxOWNhMGE0YjNlOWNlNTJmYTljZmE2MjggMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfaW1wb3J0ZXIucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9pbXBvcnRlci5weQpAQCAtNjUsMTQgKzY1
LDEzIEBACiAgICAgICBUaGlzIGNhbiBhbHNvIGJlIG92ZXJyaWRkZW4gYnkgYSAtbiBvciAtLW5v
LW92ZXJ3cml0ZSBmbGFnCiAKICAgICAtIEFsbCBmaWxlcyBhcmUgY29udmVydGVkIHRvIHdvcmsg
aW4gV2ViS2l0OgotICAgICAgICAgMS4gLnhodCBleHRlbnNpb25zIGFyZSBjaGFuZ2VkIHRvIC54
aHRtbCB0byBtYWtlIG5ldy1ydW4td2Via2l0LXRlc3RzIGhhcHB5Ci0gICAgICAgICAyLiBQYXRo
cyB0byB0ZXN0aGFybmVzcy5qcyBmaWxlcyBhcmUgbW9kaWZpZWQgcG9pbnQgdG8gV2Via2l0J3Mg
Y29weSBvZiB0aGVtIGluCisgICAgICAgICAxLiBQYXRocyB0byB0ZXN0aGFybmVzcy5qcyBmaWxl
cyBhcmUgbW9kaWZpZWQgcG9pbnQgdG8gV2Via2l0J3MgY29weSBvZiB0aGVtIGluCiAgICAgICAg
ICAgICBMYXlvdXRUZXN0cy9yZXNvdXJjZXMsIHVzaW5nIHRoZSBjb3JyZWN0IHJlbGF0aXZlIHBh
dGggZnJvbSB0aGUgbmV3IGxvY2F0aW9uCi0gICAgICAgICAzLiBBbGwgQ1NTIHByb3BlcnRpZXMg
cmVxdWlyaW5nIHRoZSAtd2Via2l0LXZlbmRvciBwcmVmaXggYXJlIHByZWZpeGVkIC0gdGhpcyBj
dXJyZW50CisgICAgICAgICAyLiBBbGwgQ1NTIHByb3BlcnRpZXMgcmVxdWlyaW5nIHRoZSAtd2Vi
a2l0LXZlbmRvciBwcmVmaXggYXJlIHByZWZpeGVkIC0gdGhpcyBjdXJyZW50CiAgICAgICAgICAg
ICBsaXN0IG9mIHdoYXQgbmVlZHMgcHJlZml4ZXMgaXMgcmVhZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L0NTUy9DU1NQcm9wZXJ0aWVzLmluCi0gICAgICAgICA0LiBFYWNoIHJlZnRlc3QgaGFzIGl0cyBv
d24gY29weSBvZiBpdHMgcmVmZXJlbmNlIGZpbGUgZm9sbG93aW5nIHRoZSBuYW1pbmcgY29udmVu
dGlvbnMKKyAgICAgICAgIDMuIEVhY2ggcmVmdGVzdCBoYXMgaXRzIG93biBjb3B5IG9mIGl0cyBy
ZWZlcmVuY2UgZmlsZSBmb2xsb3dpbmcgdGhlIG5hbWluZyBjb252ZW50aW9ucwogICAgICAgICAg
ICAgbmV3LXJ1bi13ZWJraXQtdGVzdHMgZXhwZWN0cwotICAgICAgICAgNS4gSWYgYSBhIHJlZmVy
ZW5jZSBmaWxlcyBsaXZlcyBvdXRzaWRlIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIHRlc3QgdGhhdCB1
c2VzIGl0LCBpdCBpcyBjaGVja2VkCisgICAgICAgICA0LiBJZiBhIHJlZmVyZW5jZSBmaWxlcyBs
aXZlcyBvdXRzaWRlIHRoZSBkaXJlY3Rvcnkgb2YgdGhlIHRlc3QgdGhhdCB1c2VzIGl0LCBpdCBp
cyBjaGVja2VkCiAgICAgICAgICAgICBmb3IgcGF0aHMgdG8gc3VwcG9ydCBmaWxlcyBhcyBpdCB3
aWxsIGJlIGltcG9ydGVkIGludG8gYSBkaWZmZXJlbnQgcmVsYXRpdmUgcG9zaXRpb24gdG8gdGhl
CiAgICAgICAgICAgICB0ZXN0IGZpbGUgKGluIHRoZSBzYW1lIGRpcmVjdG9yeSkKIApAQCAtOTAs
NiArODksNyBAQAogIyBGSVhNRTogQ2hhbmdlIHRoaXMgZmlsZSB0byB1c2UgdGhlIEhvc3QgYWJz
dHJhY3Rpb25zIHJhdGhlciB0aGF0IG9zLCBzeXMsIHNodXRpbHMsIGV0Yy4KIAogaW1wb3J0IGRh
dGV0aW1lCitpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG1pbWV0eXBlcwogaW1wb3J0IG9wdHBhcnNl
CiBpbXBvcnQgb3MKQEAgLTk3LDYgKzk3LDcgQEAgaW1wb3J0IHNodXRpbAogaW1wb3J0IHN5cwog
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5ob3N0IGltcG9ydCBIb3N0Citmcm9tIHdlYmtpdHB5LmNv
bW1vbi53ZWJraXRfZmluZGVyIGltcG9ydCBXZWJLaXRGaW5kZXIKIGZyb20gd2Via2l0cHkuY29t
bW9uLnN5c3RlbS5leGVjdXRpdmUgaW1wb3J0IFNjcmlwdEVycm9yCiBmcm9tIHdlYmtpdHB5Lncz
Yy50ZXN0X3BhcnNlciBpbXBvcnQgVGVzdFBhcnNlcgogZnJvbSB3ZWJraXRweS53M2MudGVzdF9j
b252ZXJ0ZXIgaW1wb3J0IFczQ1Rlc3RDb252ZXJ0ZXIKQEAgLTEwOSw2MiArMTEwLDgxIEBAIFRF
U1RfU1RBVFVTX1NVQk1JVFRFRCA9ICdzdWJtaXR0ZWQnCiBDSEFOR0VTRVRfTk9UX0FWQUlMQUJM
RSA9ICdOb3QgQXZhaWxhYmxlJwogCiAKK19sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVf
XykKKworCiBkZWYgbWFpbihfYXJndiwgX3N0ZG91dCwgX3N0ZGVycik6CiAgICAgb3B0aW9ucywg
YXJncyA9IHBhcnNlX2FyZ3MoKQotICAgIGltcG9ydF9kaXIgPSB2YWxpZGF0ZV9pbXBvcnRfZGly
ZWN0b3J5KGFyZ3NbMF0pCi0gICAgdGVzdF9pbXBvcnRlciA9IFRlc3RJbXBvcnRlcihIb3N0KCks
IGltcG9ydF9kaXIsIG9wdGlvbnMpCisgICAgaW1wb3J0X2RpciA9IGFyZ3NbMF0KKyAgICBpZiBs
ZW4oYXJncykgPT0gMToKKyAgICAgICAgcmVwb19kaXIgPSBvcy5wYXRoLmRpcm5hbWUoaW1wb3J0
X2RpcikKKyAgICBlbHNlOgorICAgICAgICByZXBvX2RpciA9IGFyZ3NbMV0KKworICAgIGlmIG5v
dCBvcy5wYXRoLmV4aXN0cyhpbXBvcnRfZGlyKToKKyAgICAgICAgc3lzLmV4aXQoJ1NvdXJjZSBk
aXJlY3RvcnkgJXMgbm90IGZvdW5kIScgJSBpbXBvcnRfZGlyKQorCisgICAgaWYgbm90IG9zLnBh
dGguZXhpc3RzKHJlcG9fZGlyKToKKyAgICAgICAgc3lzLmV4aXQoJ1JlcG9zaXRvcnkgZGlyZWN0
b3J5ICVzIG5vdCBmb3VuZCEnICUgcmVwb19kaXIpCisgICAgaWYgbm90IHJlcG9fZGlyIGluIGlt
cG9ydF9kaXI6CisgICAgICAgIHN5cy5leGl0KCdSZXBvc2l0b3J5IGRpcmVjdG9yeSAlcyBtdXN0
IGJlIGEgcGFyZW50IG9mICVzJyAlIChyZXBvX2RpciwgaW1wb3J0X2RpcikpCisKKyAgICBjb25m
aWd1cmVfbG9nZ2luZygpCisKKyAgICB0ZXN0X2ltcG9ydGVyID0gVGVzdEltcG9ydGVyKEhvc3Qo
KSwgaW1wb3J0X2RpciwgcmVwb19kaXIsIG9wdGlvbnMpCiAgICAgdGVzdF9pbXBvcnRlci5kb19p
bXBvcnQoKQogCiAKK2RlZiBjb25maWd1cmVfbG9nZ2luZygpOgorICAgIGNsYXNzIExvZ0hhbmRs
ZXIobG9nZ2luZy5TdHJlYW1IYW5kbGVyKToKKworICAgICAgICBkZWYgZm9ybWF0KHNlbGYsIHJl
Y29yZCk6CisgICAgICAgICAgICBpZiByZWNvcmQubGV2ZWxubyA+IGxvZ2dpbmcuSU5GTzoKKyAg
ICAgICAgICAgICAgICByZXR1cm4gIiVzOiAlcyIgJSAocmVjb3JkLmxldmVsbmFtZSwgcmVjb3Jk
LmdldE1lc3NhZ2UoKSkKKyAgICAgICAgICAgIHJldHVybiByZWNvcmQuZ2V0TWVzc2FnZSgpCisK
KyAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcigpCisgICAgbG9nZ2VyLnNldExldmVsKGxv
Z2dpbmcuSU5GTykKKyAgICBoYW5kbGVyID0gTG9nSGFuZGxlcigpCisgICAgaGFuZGxlci5zZXRM
ZXZlbChsb2dnaW5nLklORk8pCisgICAgbG9nZ2VyLmFkZEhhbmRsZXIoaGFuZGxlcikKKyAgICBy
ZXR1cm4gaGFuZGxlcgorCisKIGRlZiBwYXJzZV9hcmdzKCk6Ci0gICAgcGFyc2VyID0gb3B0cGFy
c2UuT3B0aW9uUGFyc2VyKHVzYWdlPSd1c2FnZTogJXByb2cgW29wdGlvbnNdIHczY190ZXN0X2Rp
cmVjdG9yeScpCisgICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKHVzYWdlPSd1c2Fn
ZTogJXByb2cgW29wdGlvbnNdIHczY190ZXN0X2RpcmVjdG9yeSBbcmVwb19kaXJlY3RvcnldJykK
ICAgICBwYXJzZXIuYWRkX29wdGlvbignLW4nLCAnLS1uby1vdmVyd3JpdGUnLCBkZXN0PSdvdmVy
d3JpdGUnLCBhY3Rpb249J3N0b3JlX2ZhbHNlJywgZGVmYXVsdD1UcnVlLAogICAgICAgICBoZWxw
PSdGbGFnIHRvIHByZXZlbnQgZHVwbGljYXRlIHRlc3QgZmlsZXMgZnJvbSBvdmVyd3JpdGluZyBl
eGlzdGluZyB0ZXN0cy4gQnkgZGVmYXVsdCwgdGhleSB3aWxsIGJlIG92ZXJ3cml0dGVuJykKICAg
ICBwYXJzZXIuYWRkX29wdGlvbignLWEnLCAnLS1hbGwnLCBhY3Rpb249J3N0b3JlX3RydWUnLCBk
ZWZhdWx0PUZhbHNlLAogICAgICAgICBoZWxwPSdJbXBvcnQgYWxsIHRlc3RzIGluY2x1ZGluZyBy
ZWZ0ZXN0cywgSlMgdGVzdHMsIGFuZCBtYW51YWwvcGl4ZWwgdGVzdHMuIEJ5IGRlZmF1bHQsIG9u
bHkgcmVmdGVzdHMgYW5kIEpTIHRlc3RzIGFyZSBpbXBvcnRlZCcpCiAKICAgICBvcHRpb25zLCBh
cmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotICAgIGlmIGxlbihhcmdzKSAhPSAxOgorICAgIGlm
IGxlbihhcmdzKSBub3QgaW4gKDEsIDIpOgogICAgICAgICBwYXJzZXIuZXJyb3IoJ0luY29ycmVj
dCBudW1iZXIgb2YgYXJndW1lbnRzJykKICAgICByZXR1cm4gb3B0aW9ucywgYXJncwogCiAKLWRl
ZiB2YWxpZGF0ZV9pbXBvcnRfZGlyZWN0b3J5KGltcG9ydF9kaXIpOgotICAgIGlmIG5vdCBvcy5w
YXRoLmV4aXN0cyhpbXBvcnRfZGlyKToKLSAgICAgICAgc3lzLmV4aXQoJ1NvdXJjZSBkaXJlY3Rv
cnkgJXMgbm90IGZvdW5kIScgJSBpbXBvcnRfZGlyKQotCi0gICAgIyBNYWtlIHN1cmUgdGhlIHRl
c3RzIGFyZSBvZmZpY2lhbGx5IHN1Ym1pdHRlZCB0byB0aGUgVzNDLCBlaXRoZXIgYXBwcm92ZWQg
b3IKLSAgICAjIHN1Ym1pdHRlZCBmb2xsb3dpbmcgdGhlaXIgZGlyZWN0b3J5IG5hbWluZyBjb252
ZW50aW9ucwotICAgIGlmIGltcG9ydF9kaXIuZmluZCgnYXBwcm92ZWQnKSA9PSAtMSBhbmQgaW1w
b3J0X2Rpci5maW5kKCdzdWJtaXR0ZWQnKSA9PSAtMToKLSAgICAgICAgIyBJZiBub3QgcG9pbnRl
ZCBkaXJlY3RseSB0byB0aGUgYXBwcm92ZWQgZGlyZWN0b3J5IG9yIHRvIGFueSBzdWJtaXR0ZWQK
LSAgICAgICAgIyBkaXJlY3RvcnksIGNoZWNrIGZvciBhIHN1Ym1pdHRlZCBzdWJkaXJlY3Rvcnkg
YW5kIGdvIHdpdGggdGhhdAotICAgICAgICBpbXBvcnRfZGlyID0gb3MucGF0aC5qb2luKGltcG9y
dF9kaXIsICdzdWJtaXR0ZWQnKQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0
aC5qb2luKGltcG9ydF9kaXIpKToKLSAgICAgICAgICAgIHN5cy5leGl0KCdVbmFibGUgdG8gaW1w
b3J0IHRlc3RzIHRoYXQgYXJlblwndCBhcHByb3ZlZCBvciBzdWJtaXR0ZWQgdG8gdGhlIFczQycp
Ci0KLSAgICByZXR1cm4gaW1wb3J0X2RpcgotCi0KIGNsYXNzIFRlc3RJbXBvcnRlcihvYmplY3Qp
OgogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3QsIHNvdXJjZV9kaXJlY3RvcnksIG9wdGlv
bnMpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBob3N0LCBzb3VyY2VfZGlyZWN0b3J5LCByZXBv
X2Rpciwgb3B0aW9ucyk6CiAgICAgICAgIHNlbGYuaG9zdCA9IGhvc3QKICAgICAgICAgc2VsZi5z
b3VyY2VfZGlyZWN0b3J5ID0gc291cmNlX2RpcmVjdG9yeQogICAgICAgICBzZWxmLm9wdGlvbnMg
PSBvcHRpb25zCiAKICAgICAgICAgc2VsZi5maWxlc3lzdGVtID0gc2VsZi5ob3N0LmZpbGVzeXN0
ZW0KLSAgICAgICAgc2VsZi5fd2Via2l0X3Jvb3QgPSBfX2ZpbGVfXy5zcGxpdChzZWxmLmZpbGVz
eXN0ZW0uc2VwICsgJ1Rvb2xzJylbMF0KIAotICAgICAgICBzZWxmLmRlc3RpbmF0aW9uX2RpcmVj
dG9yeSA9IHNlbGYucGF0aF9mcm9tX3dlYmtpdF9yb290KCJMYXlvdXRUZXN0cyIsICJjc3N3ZyIp
CisgICAgICAgIHdlYmtpdF9maW5kZXIgPSBXZWJLaXRGaW5kZXIoc2VsZi5maWxlc3lzdGVtKQor
ICAgICAgICBzZWxmLl93ZWJraXRfcm9vdCA9IHdlYmtpdF9maW5kZXIud2Via2l0X2Jhc2UoKQor
ICAgICAgICBzZWxmLnJlcG9fZGlyID0gcmVwb19kaXIKKyAgICAgICAgc3ViZGlycyA9IG9zLnBh
dGguZGlybmFtZShvcy5wYXRoLnJlbHBhdGgoc291cmNlX2RpcmVjdG9yeSwgcmVwb19kaXIpKQor
CisgICAgICAgIHNlbGYuZGVzdGluYXRpb25fZGlyZWN0b3J5ID0gd2Via2l0X2ZpbmRlci5wYXRo
X2Zyb21fd2Via2l0X2Jhc2UoIkxheW91dFRlc3RzIiwgJ3czYycsICpzdWJkaXJzKQogCiAgICAg
ICAgIHNlbGYuY2hhbmdlc2V0ID0gQ0hBTkdFU0VUX05PVF9BVkFJTEFCTEUKICAgICAgICAgc2Vs
Zi50ZXN0X3N0YXR1cyA9IFRFU1RfU1RBVFVTX1VOS05PV04KIAogICAgICAgICBzZWxmLmltcG9y
dF9saXN0ID0gW10KIAotICAgIGRlZiBwYXRoX2Zyb21fd2Via2l0X3Jvb3Qoc2VsZiwgKmNvbXBz
KToKLSAgICAgICAgcmV0dXJuIHNlbGYuZmlsZXN5c3RlbS5hYnNwYXRoKHNlbGYuZmlsZXN5c3Rl
bS5qb2luKHNlbGYuX3dlYmtpdF9yb290LCAqY29tcHMpKQotCiAgICAgZGVmIGRvX2ltcG9ydChz
ZWxmKToKICAgICAgICAgc2VsZi5maW5kX2ltcG9ydGFibGVfdGVzdHMoc2VsZi5zb3VyY2VfZGly
ZWN0b3J5KQogICAgICAgICBzZWxmLmxvYWRfY2hhbmdlc2V0KCkKQEAgLTE4MCwyMiArMjAwLDE4
IEBAIGNsYXNzIFRlc3RJbXBvcnRlcihvYmplY3QpOgogICAgIGRlZiBmaW5kX2ltcG9ydGFibGVf
dGVzdHMoc2VsZiwgZGlyZWN0b3J5KToKICAgICAgICAgIyBGSVhNRTogdXNlIGZpbGVzeXN0ZW0K
ICAgICAgICAgZm9yIHJvb3QsIGRpcnMsIGZpbGVzIGluIG9zLndhbGsoZGlyZWN0b3J5KToKLSAg
ICAgICAgICAgIHByaW50ICdTY2FubmluZyAnICsgcm9vdCArICcuLi4nCisgICAgICAgICAgICBf
bG9nLmluZm8oJ1NjYW5uaW5nICcgKyByb290ICsgJy4uLicpCiAgICAgICAgICAgICB0b3RhbF90
ZXN0cyA9IDAKICAgICAgICAgICAgIHJlZnRlc3RzID0gMAogICAgICAgICAgICAganN0ZXN0cyA9
IDAKIAotICAgICAgICAgICAgIyBJZ25vcmUgYW55IHJlcG8gc3R1ZmYKLSAgICAgICAgICAgIGlm
ICcuZ2l0JyBpbiBkaXJzOgotICAgICAgICAgICAgICAgIGRpcnMucmVtb3ZlKCcuZ2l0JykKLSAg
ICAgICAgICAgIGlmICcuaGcnIGluIGRpcnM6Ci0gICAgICAgICAgICAgICAgZGlycy5yZW1vdmUo
Jy5oZycpCi0KLSAgICAgICAgICAgICMgYXJjaGl2ZSBhbmQgZGF0YSBkaXJzIGFyZSBpbnRlcm5h
bCBjc3N3ZyB0aGluZ3MgdGhhdCBsaXZlIGluIGV2ZXJ5IGFwcHJvdmVkIGRpcmVjdG9yeQotICAg
ICAgICAgICAgaWYgJ2RhdGEnIGluIGRpcnM6Ci0gICAgICAgICAgICAgICAgZGlycy5yZW1vdmUo
J2RhdGEnKQotICAgICAgICAgICAgaWYgJ2FyY2hpdmUnIGluIGRpcnM6Ci0gICAgICAgICAgICAg
ICAgZGlycy5yZW1vdmUoJ2FyY2hpdmUnKQorICAgICAgICAgICAgIyAiYXJjaGl2ZSIgYW5kICJk
YXRhIiBkaXJzIGFyZSBpbnRlcm5hbCBjc3N3ZyB0aGluZ3MgdGhhdCBsaXZlIGluIGV2ZXJ5IGFw
cHJvdmVkIGRpcmVjdG9yeS4KKyAgICAgICAgICAgICMgRklYTUU6IHNraXAgJ2luY29taW5nJyB0
ZXN0cyBmb3Igbm93LCBidXQgd2Ugc2hvdWxkIHJld29yayB0aGUgJ3Rlc3Rfc3RhdHVzJyBjb25j
ZXB0IGFuZAorICAgICAgICAgICAgIyBzdXBwb3J0IHJlYWRpbmcgdGhlbSBhcyB3ZWxsLgorICAg
ICAgICAgICAgRElSU19UT19TS0lQID0gKCcuZ2l0JywgJy5oZycsICdkYXRhJywgJ2FyY2hpdmUn
LCAnaW5jb21pbmcnKQorICAgICAgICAgICAgZm9yIGQgaW4gRElSU19UT19TS0lQOgorICAgICAg
ICAgICAgICAgIGlmIGQgaW4gZGlyczoKKyAgICAgICAgICAgICAgICAgICAgZGlycy5yZW1vdmUo
ZCkKIAogICAgICAgICAgICAgY29weV9saXN0ID0gW10KIApAQCAtMjU4LDIyICsyNzQsMTkgQEAg
Y2xhc3MgVGVzdEltcG9ydGVyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgaWYgJ3N1cHBvcnQn
IGluIGRpcnM6CiAgICAgICAgICAgICAgICAgICAgIGRpcnMucmVtb3ZlKCdzdXBwb3J0JykKIAot
ICAgICAgICAgICAgICAgIGlmIGNvcHlfbGlzdDoKLSAgICAgICAgICAgICAgICAgICAgIyBPbmx5
IGFkZCB0aGlzIGRpcmVjdG9yeSB0byB0aGUgbGlzdCBpZiB0aGVyZSdzIHNvbWV0aGluZyB0byBp
bXBvcnQKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5pbXBvcnRfbGlzdC5hcHBlbmQoeydkaXJu
YW1lJzogcm9vdCwgJ2NvcHlfbGlzdCc6IGNvcHlfbGlzdCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICdyZWZ0ZXN0cyc6IHJlZnRlc3RzLCAnanN0ZXN0cyc6IGpzdGVzdHMsICd0b3RhbF90ZXN0
cyc6IHRvdGFsX3Rlc3RzfSkKKyAgICAgICAgICAgIGlmIGNvcHlfbGlzdDoKKyAgICAgICAgICAg
ICAgICAjIE9ubHkgYWRkIHRoaXMgZGlyZWN0b3J5IHRvIHRoZSBsaXN0IGlmIHRoZXJlJ3Mgc29t
ZXRoaW5nIHRvIGltcG9ydAorICAgICAgICAgICAgICAgIHNlbGYuaW1wb3J0X2xpc3QuYXBwZW5k
KHsnZGlybmFtZSc6IHJvb3QsICdjb3B5X2xpc3QnOiBjb3B5X2xpc3QsCisgICAgICAgICAgICAg
ICAgICAgICdyZWZ0ZXN0cyc6IHJlZnRlc3RzLCAnanN0ZXN0cyc6IGpzdGVzdHMsICd0b3RhbF90
ZXN0cyc6IHRvdGFsX3Rlc3RzfSkKIAogICAgIGRlZiBpbXBvcnRfdGVzdHMoc2VsZik6Ci0gICAg
ICAgIGlmIHNlbGYuaW1wb3J0X2xpc3Q6Ci0gICAgICAgICAgICBzZWxmLnNldHVwX2Rlc3RpbmF0
aW9uX2RpcmVjdG9yeSgpCi0KICAgICAgICAgY29udmVydGVyID0gVzNDVGVzdENvbnZlcnRlcigp
CiAgICAgICAgIHRvdGFsX2ltcG9ydGVkX3Rlc3RzID0gMAogICAgICAgICB0b3RhbF9pbXBvcnRl
ZF9yZWZ0ZXN0cyA9IDAKICAgICAgICAgdG90YWxfaW1wb3J0ZWRfanN0ZXN0cyA9IDAKKyAgICAg
ICAgdG90YWxfcHJlZml4ZWRfcHJvcGVydGllcyA9IHt9CiAKICAgICAgICAgZm9yIGRpcl90b19j
b3B5IGluIHNlbGYuaW1wb3J0X2xpc3Q6Ci0KICAgICAgICAgICAgIHRvdGFsX2ltcG9ydGVkX3Rl
c3RzICs9IGRpcl90b19jb3B5Wyd0b3RhbF90ZXN0cyddCiAgICAgICAgICAgICB0b3RhbF9pbXBv
cnRlZF9yZWZ0ZXN0cyArPSBkaXJfdG9fY29weVsncmVmdGVzdHMnXQogICAgICAgICAgICAgdG90
YWxfaW1wb3J0ZWRfanN0ZXN0cyArPSBkaXJfdG9fY29weVsnanN0ZXN0cyddCkBAIC0yODMsMTUg
KzI5NiwxMSBAQCBjbGFzcyBUZXN0SW1wb3J0ZXIob2JqZWN0KToKICAgICAgICAgICAgIGlmIG5v
dCBkaXJfdG9fY29weVsnY29weV9saXN0J106CiAgICAgICAgICAgICAgICAgY29udGludWUKIAot
ICAgICAgICAgICAgIyBCdWlsZCB0aGUgc3VicGF0aCBzdGFydGluZyB3aXRoIHRoZSBhcHByb3Zl
ZC9zdWJtaXR0ZWQgZGlyZWN0b3J5CiAgICAgICAgICAgICBvcmlnX3BhdGggPSBkaXJfdG9fY29w
eVsnZGlybmFtZSddCi0gICAgICAgICAgICBzdGFydCA9IG9yaWdfcGF0aC5maW5kKHNlbGYudGVz
dF9zdGF0dXMpCi0gICAgICAgICAgICBuZXdfc3VicGF0aCA9IG9yaWdfcGF0aFtzdGFydDpsZW4o
b3JpZ19wYXRoKV0KIAotICAgICAgICAgICAgIyBBcHBlbmQgdGhlIG5ldyBzdWJwYXRoIHRvIHRo
ZSBkZXN0aW5hdGlvbl9kaXJlY3RvcnkKLSAgICAgICAgICAgIG5ld19wYXRoID0gb3MucGF0aC5q
b2luKHNlbGYuZGVzdGluYXRpb25fZGlyZWN0b3J5LCBuZXdfc3VicGF0aCkKKyAgICAgICAgICAg
IHN1YnBhdGggPSBvcy5wYXRoLnJlbHBhdGgob3JpZ19wYXRoLCBzZWxmLnJlcG9fZGlyKQorICAg
ICAgICAgICAgbmV3X3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5kZXN0aW5hdGlvbl9kaXJlY3Rv
cnksIHN1YnBhdGgpCiAKLSAgICAgICAgICAgICMgQ3JlYXRlIHRoZSBkZXN0aW5hdGlvbiBzdWJk
aXJlY3RvcmllcyBpZiBub3QgdGhlcmUKICAgICAgICAgICAgIGlmIG5vdChvcy5wYXRoLmV4aXN0
cyhuZXdfcGF0aCkpOgogICAgICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG5ld19wYXRoKQogCkBA
IC0zMDEsNDEgKzMxMCw0NCBAQCBjbGFzcyBUZXN0SW1wb3J0ZXIob2JqZWN0KToKICAgICAgICAg
ICAgICAgICAjIEZJWE1FOiBTcGxpdCB0aGlzIGJsb2NrIGludG8gYSBzZXBhcmF0ZSBmdW5jdGlv
bi4KICAgICAgICAgICAgICAgICBvcmlnX2ZpbGVwYXRoID0gb3MucGF0aC5ub3JtcGF0aChmaWxl
X3RvX2NvcHlbJ3NyYyddKQogCi0gICAgICAgICAgICAgICAgYXNzZXJ0KG5vdCBvcy5wYXRoLmlz
ZGlyKG9yaWdfZmlsZXBhdGgpKQorICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIob3Jp
Z19maWxlcGF0aCk6CisgICAgICAgICAgICAgICAgICAgICMgRklYTUU6IEZpZ3VyZSBvdXQgd2hh
dCBpcyB0cmlnZ2VyaW5nIHRoaXMgYW5kIHdoYXQgdG8gZG8gYWJvdXQgaXQuCisgICAgICAgICAg
ICAgICAgICAgIF9sb2cuZXJyb3IoJyVzIHJlZmVycyB0byBhIGRpcmVjdG9yeScgJSBvcmlnX2Zp
bGVwYXRoKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogCiAgICAgICAgICAgICAgICAg
aWYgbm90KG9zLnBhdGguZXhpc3RzKG9yaWdfZmlsZXBhdGgpKToKLSAgICAgICAgICAgICAgICAg
ICAgcHJpbnQgJ1dhcm5pbmc6ICcgKyBvcmlnX2ZpbGVwYXRoICsgJyBub3QgZm91bmQuIFBvc3Np
YmxlIGVycm9yIGluIHRoZSB0ZXN0LicKKyAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJuaW5n
KCclcyBub3QgZm91bmQuIFBvc3NpYmxlIGVycm9yIGluIHRoZSB0ZXN0LicsIG9yaWdfZmlsZXBh
dGgpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAKICAgICAgICAgICAgICAgICBuZXdf
ZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4obmV3X3BhdGgsIGZpbGVfdG9fY29weVsnZGVzdCddKQog
Ci0gICAgICAgICAgICAgICAgIyBGSVhNRTogd2Ugc2hvdWxkIGp1c3Qgc3VwcG9ydCAnLnhodCcg
ZGlyZWN0bHkuCi0gICAgICAgICAgICAgICAgbmV3X2ZpbGVwYXRoID0gbmV3X2ZpbGVwYXRoLnJl
cGxhY2UoJy54aHQnLCAnLnhodG1sJykKLQogICAgICAgICAgICAgICAgIGlmIG5vdChvcy5wYXRo
LmV4aXN0cyhvcy5wYXRoLmRpcm5hbWUobmV3X2ZpbGVwYXRoKSkpOgogICAgICAgICAgICAgICAg
ICAgICBvcy5tYWtlZGlycyhvcy5wYXRoLmRpcm5hbWUobmV3X2ZpbGVwYXRoKSkKIAogICAgICAg
ICAgICAgICAgIGlmIG5vdCBzZWxmLm9wdGlvbnMub3ZlcndyaXRlIGFuZCBvcy5wYXRoLmV4aXN0
cyhuZXdfZmlsZXBhdGgpOgotICAgICAgICAgICAgICAgICAgICBwcmludCAnU2tpcHBpbmcgaW1w
b3J0IG9mIGV4aXN0aW5nIGZpbGUgJyArIG5ld19maWxlcGF0aAorICAgICAgICAgICAgICAgICAg
ICBfbG9nLmluZm8oJ1NraXBwaW5nIGltcG9ydCBvZiBleGlzdGluZyBmaWxlICcgKyBuZXdfZmls
ZXBhdGgpCiAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgIyBGSVhN
RTogTWF5YmUgZG9pbmcgYSBmaWxlIGRpZmYgaXMgaW4gb3JkZXIgaGVyZSBmb3IgZXhpc3Rpbmcg
ZmlsZXM/CiAgICAgICAgICAgICAgICAgICAgICMgSW4gb3RoZXIgd29yZHMsIHRoZXJlJ3Mgbm8g
c2Vuc2UgaW4gb3ZlcndyaXRpbmcgaWRlbnRpY2FsIGZpbGVzLCBidXQKICAgICAgICAgICAgICAg
ICAgICAgIyB0aGVyZSdzIG5vIGhhcm0gaW4gY29weWluZyB0aGUgaWRlbnRpY2FsIHRoaW5nLgot
ICAgICAgICAgICAgICAgICAgICBwcmludCAnSW1wb3J0aW5nOicsIG9yaWdfZmlsZXBhdGgKLSAg
ICAgICAgICAgICAgICAgICAgcHJpbnQgJyAgICAgICBBczonLCBuZXdfZmlsZXBhdGgKKyAgICAg
ICAgICAgICAgICAgICAgX2xvZy5pbmZvKCdJbXBvcnRpbmc6ICVzJywgb3JpZ19maWxlcGF0aCkK
KyAgICAgICAgICAgICAgICAgICAgX2xvZy5pbmZvKCcgICAgICAgQXM6ICVzJywgbmV3X2ZpbGVw
YXRoKQogCiAgICAgICAgICAgICAgICAgIyBPbmx5IGh0bWwsIHhtbCwgb3IgY3NzIHNob3VsZCBi
ZSBjb252ZXJ0ZWQKICAgICAgICAgICAgICAgICAjIEZJWE1FOiBFdmVudHVhbGx5LCBzbyBzaG91
bGQganMgd2hlbiBzdXBwb3J0IGlzIGFkZGVkIGZvciB0aGlzIHR5cGUgb2YgY29udmVyc2lvbgog
ICAgICAgICAgICAgICAgIG1pbWV0eXBlID0gbWltZXR5cGVzLmd1ZXNzX3R5cGUob3JpZ19maWxl
cGF0aCkKICAgICAgICAgICAgICAgICBpZiAnaHRtbCcgaW4gc3RyKG1pbWV0eXBlWzBdKSBvciAn
eG1sJyBpbiBzdHIobWltZXR5cGVbMF0pICBvciAnY3NzJyBpbiBzdHIobWltZXR5cGVbMF0pOgot
CiAgICAgICAgICAgICAgICAgICAgIGNvbnZlcnRlZF9maWxlID0gY29udmVydGVyLmNvbnZlcnRf
Zm9yX3dlYmtpdChuZXdfcGF0aCwgZmlsZW5hbWU9b3JpZ19maWxlcGF0aCkKIAogICAgICAgICAg
ICAgICAgICAgICBpZiBub3QgY29udmVydGVkX2ZpbGU6CiAgICAgICAgICAgICAgICAgICAgICAg
ICBzaHV0aWwuY29weWZpbGUob3JpZ19maWxlcGF0aCwgbmV3X2ZpbGVwYXRoKSAgIyBUaGUgZmls
ZSB3YXMgdW5tb2RpZmllZC4KICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGZvciBwcmVmaXhlZF9wcm9wZXJ0eSBpbiBjb252ZXJ0ZWRfZmlsZVswXToK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9wcmVmaXhlZF9wcm9wZXJ0aWVzLnNl
dGRlZmF1bHQocHJlZml4ZWRfcHJvcGVydHksIDApCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdG90YWxfcHJlZml4ZWRfcHJvcGVydGllc1twcmVmaXhlZF9wcm9wZXJ0eV0gKz0gMQorCiAg
ICAgICAgICAgICAgICAgICAgICAgICBwcmVmaXhlZF9wcm9wZXJ0aWVzLmV4dGVuZChzZXQoY29u
dmVydGVkX2ZpbGVbMF0pIC0gc2V0KHByZWZpeGVkX3Byb3BlcnRpZXMpKQotICAgICAgICAgICAg
ICAgICAgICAgICAgb3V0ZmlsZSA9IG9wZW4obmV3X2ZpbGVwYXRoLCAndycpCisgICAgICAgICAg
ICAgICAgICAgICAgICBvdXRmaWxlID0gb3BlbihuZXdfZmlsZXBhdGgsICd3YicpCiAgICAgICAg
ICAgICAgICAgICAgICAgICBvdXRmaWxlLndyaXRlKGNvbnZlcnRlZF9maWxlWzFdKQogICAgICAg
ICAgICAgICAgICAgICAgICAgb3V0ZmlsZS5jbG9zZSgpCiAgICAgICAgICAgICAgICAgZWxzZToK
QEAgLTM0NiwxMiArMzU4LDE2IEBAIGNsYXNzIFRlc3RJbXBvcnRlcihvYmplY3QpOgogICAgICAg
ICAgICAgc2VsZi5yZW1vdmVfZGVsZXRlZF9maWxlcyhuZXdfcGF0aCwgY29waWVkX2ZpbGVzKQog
ICAgICAgICAgICAgc2VsZi53cml0ZV9pbXBvcnRfbG9nKG5ld19wYXRoLCBjb3BpZWRfZmlsZXMs
IHByZWZpeGVkX3Byb3BlcnRpZXMpCiAKLSAgICAgICAgcHJpbnQgJ0ltcG9ydCBjb21wbGV0ZScK
KyAgICAgICAgX2xvZy5pbmZvKCdJbXBvcnQgY29tcGxldGUnKQogCi0gICAgICAgIHByaW50ICdJ
TVBPUlRFRCAnICsgc3RyKHRvdGFsX2ltcG9ydGVkX3Rlc3RzKSArICcgVE9UQUwgVEVTVFMnCi0g
ICAgICAgIHByaW50ICdJbXBvcnRlZCAnICsgc3RyKHRvdGFsX2ltcG9ydGVkX3JlZnRlc3RzKSAr
ICcgcmVmdGVzdHMnCi0gICAgICAgIHByaW50ICdJbXBvcnRlZCAnICsgc3RyKHRvdGFsX2ltcG9y
dGVkX2pzdGVzdHMpICsgJyBKUyB0ZXN0cycKLSAgICAgICAgcHJpbnQgJ0ltcG9ydGVkICcgKyBz
dHIodG90YWxfaW1wb3J0ZWRfdGVzdHMgLSB0b3RhbF9pbXBvcnRlZF9qc3Rlc3RzIC0gdG90YWxf
aW1wb3J0ZWRfcmVmdGVzdHMpICsgJyBwaXhlbC9tYW51YWwgdGVzdHMnCisgICAgICAgIF9sb2cu
aW5mbygnSU1QT1JURUQgJWQgVE9UQUwgVEVTVFMnLCB0b3RhbF9pbXBvcnRlZF90ZXN0cykKKyAg
ICAgICAgX2xvZy5pbmZvKCdJbXBvcnRlZCAlZCByZWZ0ZXN0cycsIHRvdGFsX2ltcG9ydGVkX3Jl
ZnRlc3RzKQorICAgICAgICBfbG9nLmluZm8oJ0ltcG9ydGVkICVkIEpTIHRlc3RzJywgdG90YWxf
aW1wb3J0ZWRfanN0ZXN0cykKKyAgICAgICAgX2xvZy5pbmZvKCdJbXBvcnRlZCAlZCBwaXhlbC9t
YW51YWwgdGVzdHMnLCB0b3RhbF9pbXBvcnRlZF90ZXN0cyAtIHRvdGFsX2ltcG9ydGVkX2pzdGVz
dHMgLSB0b3RhbF9pbXBvcnRlZF9yZWZ0ZXN0cykKKyAgICAgICAgX2xvZy5pbmZvKCcnKQorICAg
ICAgICBfbG9nLmluZm8oJ1Byb3BlcnRpZXMgbmVlZGluZyBwcmVmaXhlcyAoYnkgY291bnQpOicp
CisgICAgICAgIGZvciBwcmVmaXhlZF9wcm9wZXJ0eSBpbiBzb3J0ZWQodG90YWxfcHJlZml4ZWRf
cHJvcGVydGllcywga2V5PWxhbWJkYSBwOiB0b3RhbF9wcmVmaXhlZF9wcm9wZXJ0aWVzW3BdKToK
KyAgICAgICAgICAgIF9sb2cuaW5mbygnICAlczogJXMnLCBwcmVmaXhlZF9wcm9wZXJ0eSwgdG90
YWxfcHJlZml4ZWRfcHJvcGVydGllc1twcmVmaXhlZF9wcm9wZXJ0eV0pCiAKICAgICBkZWYgc2V0
dXBfZGVzdGluYXRpb25fZGlyZWN0b3J5KHNlbGYpOgogICAgICAgICAiIiIgQ3JlYXRlcyBhIGRl
c3RpbmF0aW9uIGRpcmVjdG9yeSB0aGF0IG1pcnJvcnMgdGhhdCBvZiB0aGUgc291cmNlIGFwcHJv
dmVkIG9yIHN1Ym1pdHRlZCBkaXJlY3RvcnkgIiIiCkBAIC0zNTksMTQgKzM3NSwxNCBAQCBjbGFz
cyBUZXN0SW1wb3J0ZXIob2JqZWN0KToKICAgICAgICAgc2VsZi51cGRhdGVfdGVzdF9zdGF0dXMo
KQogCiAgICAgICAgIHN0YXJ0ID0gc2VsZi5zb3VyY2VfZGlyZWN0b3J5LmZpbmQoc2VsZi50ZXN0
X3N0YXR1cykKLSAgICAgICAgbmV3X3N1YnBhdGggPSBzZWxmLnNvdXJjZV9kaXJlY3Rvcnlbc3Rh
cnQ6bGVuKHNlbGYuc291cmNlX2RpcmVjdG9yeSldCisgICAgICAgIG5ld19zdWJwYXRoID0gc2Vs
Zi5zb3VyY2VfZGlyZWN0b3J5W2xlbihzZWxmLnJlcG9fZGlyKTpdCiAKICAgICAgICAgZGVzdGlu
YXRpb25fZGlyZWN0b3J5ID0gb3MucGF0aC5qb2luKHNlbGYuZGVzdGluYXRpb25fZGlyZWN0b3J5
LCBuZXdfc3VicGF0aCkKIAogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZGVzdGluYXRp
b25fZGlyZWN0b3J5KToKICAgICAgICAgICAgIG9zLm1ha2VkaXJzKGRlc3RpbmF0aW9uX2RpcmVj
dG9yeSkKIAotICAgICAgICBwcmludCAnVGVzdHMgd2lsbCBiZSBpbXBvcnRlZCBpbnRvOiAnICsg
ZGVzdGluYXRpb25fZGlyZWN0b3J5CisgICAgICAgIF9sb2cuaW5mbygnVGVzdHMgd2lsbCBiZSBp
bXBvcnRlZCBpbnRvOiAlcycsIGRlc3RpbmF0aW9uX2RpcmVjdG9yeSkKIAogICAgIGRlZiB1cGRh
dGVfdGVzdF9zdGF0dXMoc2VsZik6CiAgICAgICAgICIiIiBTZXRzIHRoZSB0ZXN0IHN0YXR1cyB0
byBlaXRoZXIgJ2FwcHJvdmVkJyBvciAnc3VibWl0dGVkJyAiIiIKQEAgLTM5OCw3ICs0MTQsNyBA
QCBjbGFzcyBUZXN0SW1wb3J0ZXIob2JqZWN0KToKIAogICAgICAgICBkZWxldGVkX2ZpbGVzID0g
c2V0KHByZXZpb3VzX2ZpbGVfbGlzdCkgLSBzZXQobmV3X2ZpbGVfbGlzdCkKICAgICAgICAgZm9y
IGRlbGV0ZWRfZmlsZSBpbiBkZWxldGVkX2ZpbGVzOgotICAgICAgICAgICAgcHJpbnQgJ0RlbGV0
aW5nIGZpbGUgcmVtb3ZlZCBmcm9tIHRoZSBXM0MgcmVwbzonICsgZGVsZXRlZF9maWxlCisgICAg
ICAgICAgICBfbG9nLmluZm8oJ0RlbGV0aW5nIGZpbGUgcmVtb3ZlZCBmcm9tIHRoZSBXM0MgcmVw
bzogJXMnLCBkZWxldGVkX2ZpbGUpCiAgICAgICAgICAgICBkZWxldGVkX2ZpbGUgPSBvcy5wYXRo
LmpvaW4oc2VsZi5fd2Via2l0X3Jvb3QsIGRlbGV0ZWRfZmlsZSkKICAgICAgICAgICAgIG9zLnJl
bW92ZShkZWxldGVkX2ZpbGUpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dzNjL3Rlc3RfaW1wb3J0ZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3cz
Yy90ZXN0X2ltcG9ydGVyX3VuaXR0ZXN0LnB5CmluZGV4IDA4ZWE3MmQ3OWJjNzYxYzIxYTlhMTU3
OTczNzhhN2M1NWVhZWY3MmMuLjkxMDM2MjNkYzc5ZGViMGMzYTM1ODUxZmZjNzZjN2RlMzYzZmUx
MjUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfaW1wb3J0ZXJf
dW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9pbXBvcnRl
cl91bml0dGVzdC5weQpAQCAtMzIsMjIgKzMyLDI5IEBAIGltcG9ydCBzaHV0aWwKIGltcG9ydCB0
ZW1wZmlsZQogaW1wb3J0IHVuaXR0ZXN0MiBhcyB1bml0dGVzdAogCi1mcm9tIHdlYmtpdHB5LmNv
bW1vbi5ob3N0IGltcG9ydCBIb3N0Citmcm9tIHdlYmtpdHB5LmNvbW1vbi5ob3N0X21vY2sgaW1w
b3J0IE1vY2tIb3N0Citmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5c3RlbV9tb2Nr
IGltcG9ydCBNb2NrRmlsZVN5c3RlbQogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmV4ZWN1
dGl2ZV9tb2NrIGltcG9ydCBNb2NrRXhlY3V0aXZlMiwgU2NyaXB0RXJyb3IKIGZyb20gd2Via2l0
cHkuY29tbW9uLnN5c3RlbS5vdXRwdXRjYXB0dXJlIGltcG9ydCBPdXRwdXRDYXB0dXJlCiBmcm9t
IHdlYmtpdHB5LnczYy50ZXN0X2ltcG9ydGVyIGltcG9ydCBUZXN0SW1wb3J0ZXIKIAogCitGQUtF
X1NPVVJDRV9ESVIgPSAnL2JsaW5rL3czYycKK0ZBS0VfUkVQT19ESVIgPSAnL2JsaW5rJworCitG
QUtFX0ZJTEVTID0geworICAgICcvYmxpbmsvdzNjL2VtcHR5X2Rpci9SRUFETUUudHh0JzogJycs
CisgICAgJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3czYy9SRUFETUUudHh0JzogJycsCit9
CisKIGNsYXNzIFRlc3RJbXBvcnRlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogCiAgICAgZGVm
IHRlc3RfaW1wb3J0X2Rpcl93aXRoX25vX3Rlc3RzX2FuZF9ub19oZyhzZWxmKToKLSAgICAgICAg
IyBGSVhNRTogVXNlIE1vY2tIb3N0cyBpbnN0ZWFkLgotICAgICAgICBob3N0ID0gSG9zdCgpCisg
ICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCiAgICAgICAgIGhvc3QuZXhlY3V0aXZlID0gTW9ja0V4
ZWN1dGl2ZTIoZXhjZXB0aW9uPU9TRXJyb3IoKSkKKyAgICAgICAgaG9zdC5maWxlc3lzdGVtID0g
TW9ja0ZpbGVTeXN0ZW0oZmlsZXM9RkFLRV9GSUxFUykKIAotICAgICAgICBpbXBvcnRlciA9IFRl
c3RJbXBvcnRlcihob3N0LCBOb25lLCBvcHRwYXJzZS5WYWx1ZXMoeyJvdmVyd3JpdGUiOiBGYWxz
ZX0pKQotICAgICAgICBpbXBvcnRlci5zb3VyY2VfZGlyZWN0b3J5ID0gaW1wb3J0ZXIucGF0aF9m
cm9tX3dlYmtpdF9yb290KCJUb29scyIsICJTY3JpcHRzIiwgIndlYmtpdHB5IiwgInczYyIpCi0g
ICAgICAgIGltcG9ydGVyLmRlc3RpbmF0aW9uX2RpcmVjdG9yeSA9IHRlbXBmaWxlLm1rZHRlbXAo
cHJlZml4PSdjc3N3ZycpCisgICAgICAgIGltcG9ydGVyID0gVGVzdEltcG9ydGVyKGhvc3QsIEZB
S0VfU09VUkNFX0RJUiwgRkFLRV9SRVBPX0RJUiwgb3B0cGFyc2UuVmFsdWVzKHsib3ZlcndyaXRl
IjogRmFsc2V9KSkKIAogICAgICAgICBvYyA9IE91dHB1dENhcHR1cmUoKQogICAgICAgICBvYy5j
YXB0dXJlX291dHB1dCgpCkBAIC01NSwyMyArNjIsMTggQEAgY2xhc3MgVGVzdEltcG9ydGVyVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICBpbXBvcnRlci5kb19pbXBvcnQoKQog
ICAgICAgICBmaW5hbGx5OgogICAgICAgICAgICAgb2MucmVzdG9yZV9vdXRwdXQoKQotICAgICAg
ICAgICAgc2h1dGlsLnJtdHJlZShpbXBvcnRlci5kZXN0aW5hdGlvbl9kaXJlY3RvcnksIGlnbm9y
ZV9lcnJvcnM9VHJ1ZSkKIAogICAgIGRlZiB0ZXN0X2ltcG9ydF9kaXJfd2l0aF9ub190ZXN0cyhz
ZWxmKToKLSAgICAgICAgIyBGSVhNRTogVXNlIE1vY2tIb3N0cyBpbnN0ZWFkLgotICAgICAgICBo
b3N0ID0gSG9zdCgpCisgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCiAgICAgICAgIGhvc3QuZXhl
Y3V0aXZlID0gTW9ja0V4ZWN1dGl2ZTIoZXhjZXB0aW9uPVNjcmlwdEVycm9yKCJhYm9ydDogbm8g
cmVwb3NpdG9yeSBmb3VuZCBpbiAnL1ZvbHVtZXMvU291cmNlL3NyYy93ay9Ub29scy9TY3JpcHRz
L3dlYmtpdHB5L3czYycgKC5oZyBub3QgZm91bmQpISIpKQorICAgICAgICBob3N0LmZpbGVzeXN0
ZW0gPSBNb2NrRmlsZVN5c3RlbShmaWxlcz1GQUtFX0ZJTEVTKQogCi0gICAgICAgIGltcG9ydGVy
ID0gVGVzdEltcG9ydGVyKGhvc3QsIE5vbmUsIG9wdHBhcnNlLlZhbHVlcyh7Im92ZXJ3cml0ZSI6
IEZhbHNlfSkpCi0gICAgICAgIGltcG9ydGVyLnNvdXJjZV9kaXJlY3RvcnkgPSBpbXBvcnRlci5w
YXRoX2Zyb21fd2Via2l0X3Jvb3QoIlRvb2xzIiwgIlNjcmlwdHMiLCAid2Via2l0cHkiLCAidzNj
IikKLSAgICAgICAgaW1wb3J0ZXIuZGVzdGluYXRpb25fZGlyZWN0b3J5ID0gdGVtcGZpbGUubWtk
dGVtcChwcmVmaXg9J2Nzc3dnJykKLQorICAgICAgICBpbXBvcnRlciA9IFRlc3RJbXBvcnRlciho
b3N0LCBGQUtFX1NPVVJDRV9ESVIsIEZBS0VfUkVQT19ESVIsIG9wdHBhcnNlLlZhbHVlcyh7Im92
ZXJ3cml0ZSI6IEZhbHNlfSkpCiAgICAgICAgIG9jID0gT3V0cHV0Q2FwdHVyZSgpCiAgICAgICAg
IG9jLmNhcHR1cmVfb3V0cHV0KCkKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgaW1wb3J0ZXIu
ZG9faW1wb3J0KCkKICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgIG9jLnJlc3RvcmVfb3V0
cHV0KCkKLSAgICAgICAgICAgIHNodXRpbC5ybXRyZWUoaW1wb3J0ZXIuZGVzdGluYXRpb25fZGly
ZWN0b3J5LCBpZ25vcmVfZXJyb3JzPVRydWUpCiAKLSAgICAjIEZJWE1FOiBOZWVkIG1vcmUgdGVz
dHMsIGJ1dCBuZWVkIHRvIGFkZCBhIG1vY2sgZmlsZXN5c3RlbSB3LyBzYW1wbGUgZGF0YS4KKyAg
ICAjIEZJWE1FOiBOZWVkcyBtb3JlIHRlc3RzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS93M2MvdGVzdF9wYXJzZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90
ZXN0X3BhcnNlci5weQppbmRleCBiZGIyNGRmZDY1NmRhMWRiZTExYmVkZDhhZGNiZTQ5NzQzNjMz
MzEzLi5iYjY2ZmRhZTYzYjdmMjViMDZhYWI2ODY2YWYzZDFlZjA5ZmZhODcwIDEwMDY0NAotLS0g
YS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X3BhcnNlci5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X3BhcnNlci5weQpAQCAtMjcsMTIgKzI3LDE2IEBACiAj
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRgogIyBTVUNIIERBTUFHRS4KIAoraW1wb3J0IGxvZ2dpbmcKIGltcG9ydCByZQogCiBm
cm9tIHdlYmtpdHB5LmNvbW1vbi5ob3N0IGltcG9ydCBIb3N0CiBmcm9tIHdlYmtpdHB5LnRoaXJk
cGFydHkuQmVhdXRpZnVsU291cCBpbXBvcnQgQmVhdXRpZnVsU291cCBhcyBQYXJzZXIKIAogCitf
bG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCisKKwogY2xhc3MgVGVzdFBhcnNlcihv
YmplY3QpOgogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG9wdGlvbnMsIGZpbGVuYW1lKToKQEAg
LTQ2LDkgKzUwLDE3IEBAIGNsYXNzIFRlc3RQYXJzZXIob2JqZWN0KToKICAgICAgICAgc2VsZi5s
b2FkX2ZpbGUoZmlsZW5hbWUpCiAKICAgICBkZWYgbG9hZF9maWxlKHNlbGYsIGZpbGVuYW1lKToK
LSAgICAgICAgaWYgc2VsZi5maWxlc3lzdGVtLmV4aXN0cyhmaWxlbmFtZSk6Ci0gICAgICAgICAg
ICBzZWxmLnRlc3RfZG9jID0gUGFyc2VyKHNlbGYuZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZShm
aWxlbmFtZSkpCisgICAgICAgIGlmIHNlbGYuZmlsZXN5c3RlbS5pc2ZpbGUoZmlsZW5hbWUpOgor
ICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHNlbGYudGVzdF9kb2MgPSBQYXJzZXIo
c2VsZi5maWxlc3lzdGVtLnJlYWRfYmluYXJ5X2ZpbGUoZmlsZW5hbWUpKQorICAgICAgICAgICAg
ZXhjZXB0OgorICAgICAgICAgICAgICAgICMgRklYTUU6IEZpZ3VyZSBvdXQgd2hhdCB0byBkbyBp
ZiB3ZSBjYW4ndCBwYXJzZSB0aGUgZmlsZS4KKyAgICAgICAgICAgICAgICBfbG9nLmVycm9yKCJG
YWlsZWQgdG8gcGFyc2UgJXMiLCBmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICBzZWxmLnRlc3Rf
ZG9jIGlzIE5vbmUKICAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIHNlbGYuZmlsZXN5c3Rl
bS5pc2RpcihmaWxlbmFtZSk6CisgICAgICAgICAgICAgICAgIyBGSVhNRTogRmlndXJlIG91dCB3
aGF0IGlzIHRyaWdnZXJpbmcgdGhpcyBhbmQgd2hhdCB0byBkbyBhYm91dCBpdC4KKyAgICAgICAg
ICAgICAgICBfbG9nLmVycm9yKCJUcnlpbmcgdG8gbG9hZCAlcywgd2hpY2ggaXMgYSBkaXJlY3Rv
cnkiLCBmaWxlbmFtZSkKICAgICAgICAgICAgIHNlbGYudGVzdF9kb2MgPSBOb25lCiAgICAgICAg
IHNlbGYucmVmX2RvYyA9IE5vbmUKIApAQCAtNzEsOSArODMsMTcgQEAgY2xhc3MgVGVzdFBhcnNl
cihvYmplY3QpOgogICAgICAgICBtYXRjaGVzID0gc2VsZi5yZWZlcmVuY2VfbGlua3Nfb2ZfdHlw
ZSgnbWF0Y2gnKSArIHNlbGYucmVmZXJlbmNlX2xpbmtzX29mX3R5cGUoJ21pc21hdGNoJykKICAg
ICAgICAgaWYgbWF0Y2hlczoKICAgICAgICAgICAgIGlmIGxlbihtYXRjaGVzKSA+IDE6Ci0gICAg
ICAgICAgICAgICAgcHJpbnQgJ1dhcm5pbmc6IFdlYmtpdCBkb2VzIG5vdCBzdXBwb3J0IG11bHRp
cGxlIHJlZmVyZW5jZXMuIEltcG9ydGluZyB0aGUgZmlyc3QgcmVmIGRlZmluZWQgaW4gJyArIHNl
bGYuZmlsZXN5c3RlbS5iYXNlbmFtZShzZWxmLmZpbGVuYW1lKQorICAgICAgICAgICAgICAgICMg
RklYTUU6IElzIHRoaXMgYWN0dWFsbHkgdHJ1ZT8gV2Ugc2hvdWxkIGZpeCB0aGlzLgorICAgICAg
ICAgICAgICAgIF9sb2cud2FybmluZygnTXVsdGlwbGUgcmVmZXJlbmNlcyBhcmUgbm90IHN1cHBv
cnRlZC4gSW1wb3J0aW5nIHRoZSBmaXJzdCByZWYgZGVmaW5lZCBpbiAlcycsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNlbGYuZmlsZXN5c3RlbS5iYXNlbmFtZShzZWxmLmZpbGVuYW1l
KSkKKworICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIHJlZl9maWxlID0gc2VsZi5m
aWxlc3lzdGVtLmpvaW4oc2VsZi5maWxlc3lzdGVtLmRpcm5hbWUoc2VsZi5maWxlbmFtZSksIG1h
dGNoZXNbMF1bJ2hyZWYnXSkKKyAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvciBhcyBlOgorICAg
ICAgICAgICAgICAgICMgRklYTUU6IEZpZ3VyZSBvdXQgd2hhdCB0byBkbyB3LyBpbnZhbGlkIHRl
c3QgZmlsZXMuCisgICAgICAgICAgICAgICAgX2xvZy5lcnJvcignJXMgaGFzIGEgcmVmZXJlbmNl
IGxpbmsgYnV0IGlzIG1pc3NpbmcgdGhlICJocmVmIicsIHNlbGYuZmlsZXN5c3RlbSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gTm9uZQogCi0gICAgICAgICAgICByZWZfZmlsZSA9IHNlbGYuZmls
ZXN5c3RlbS5qb2luKHNlbGYuZmlsZXN5c3RlbS5kaXJuYW1lKHNlbGYuZmlsZW5hbWUpLCBtYXRj
aGVzWzBdWydocmVmJ10pCiAgICAgICAgICAgICBpZiBzZWxmLnJlZl9kb2MgaXMgTm9uZToKICAg
ICAgICAgICAgICAgICBzZWxmLnJlZl9kb2MgPSBzZWxmLmxvYWRfZmlsZShyZWZfZmlsZSkKIApA
QCAtOTIsNyArMTEyLDcgQEAgY2xhc3MgVGVzdFBhcnNlcihvYmplY3QpOgogICAgICAgICAgICAg
IyBzdXBwb3J0IGZpbGVzLgogICAgICAgICAgICAgIwogICAgICAgICAgICAgIyAqQnV0KiwgdGhl
cmUgaXMgZXhhY3RseSBvbmUgY2FzZSBpbiB0aGUgZW50aXJlIGNzczIuMSBzdWl0ZSB3aGVyZQot
ICAgICAgICAgICAgIyBhdCB0ZXN0IGRlcGVuZHMgb24gYSBmaWxlIHRoYXQgbGl2ZXMgaW4gYSBk
aWZmZXJlbnQgZGlyZWN0b3J5LAorICAgICAgICAgICAgIyBhIHRlc3QgZGVwZW5kcyBvbiBhIGZp
bGUgdGhhdCBsaXZlcyBpbiBhIGRpZmZlcmVudCBkaXJlY3RvcnksCiAgICAgICAgICAgICAjIHdo
aWNoIGRlcGVuZHMgb24gYW5vdGhlciBmaWxlIHRoYXQgbGl2ZXMgb3V0c2lkZSBvZiBpdHMKICAg
ICAgICAgICAgICMgZGlyZWN0b3J5LiBUaGlzIGNvZGUgY292ZXJzIHRoYXQgY2FzZSA6KQogICAg
ICAgICAgICAgaWYgbWF0Y2hlc1swXVsnaHJlZiddLnN0YXJ0c3dpdGgoJy4uJyk6CkBAIC0xMjcs
OCArMTQ3LDggQEAgY2xhc3MgVGVzdFBhcnNlcihvYmplY3QpOgogICAgICAgICB1cmxzID0gW10K
ICAgICAgICAgZm9yIHVybCBpbiBkb2MuZmluZEFsbCh0ZXh0PXVybF9wYXR0ZXJuKToKICAgICAg
ICAgICAgIHVybCA9IHJlLnNlYXJjaCh1cmxfcGF0dGVybiwgdXJsKQotICAgICAgICAgICAgdXJs
ID0gcmUuc3ViKCd1cmxcKFtcJ1wiXScsICcnLCB1cmwuZ3JvdXAoMCkpCi0gICAgICAgICAgICB1
cmwgPSByZS5zdWIoJ1tcJ1wiXVwpJywgJycsIHVybCkKKyAgICAgICAgICAgIHVybCA9IHJlLnN1
YigndXJsXChbXCdcIl0/JywgJycsIHVybC5ncm91cCgwKSkKKyAgICAgICAgICAgIHVybCA9IHJl
LnN1YignW1wnXCJdP1wpJywgJycsIHVybCkKICAgICAgICAgICAgIHVybHMuYXBwZW5kKHVybCkK
IAogICAgICAgICBzcmNfcGF0aHMgPSBbc3JjX3RhZ1snc3JjJ10gZm9yIHNyY190YWcgaW4gZWxl
bWVudHNfd2l0aF9zcmNfYXR0cmlidXRlc10KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdzNjL3Rlc3RfcGFyc2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS93M2MvdGVzdF9wYXJzZXJfdW5pdHRlc3QucHkKaW5kZXggM2I2OTcyNjdjNjhhM2Q1MmIxMmE5
MzYxY2FhNDE3YWE0M2NiZmY4OS4uN2ZiMGM1YjA0YTc0YmIwMWJjY2ZkNDBhYTJkNmZlOWNmMTZk
MWRmNyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9wYXJzZXJf
dW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9wYXJzZXJf
dW5pdHRlc3QucHkKQEAgLTY5LDcgKzY5LDcgQEAgY2xhc3MgVGVzdFBhcnNlclRlc3QodW5pdHRl
c3QuVGVzdENhc2UpOgogICAgICAgICAgICAgcGFyc2VyID0gVGVzdFBhcnNlcihvcHRpb25zLCB0
ZXN0X3BhdGggKyAnc29tZWZpbGUuaHRtbCcpCiAgICAgICAgICAgICB0ZXN0X2luZm8gPSBwYXJz
ZXIuYW5hbHl6ZV90ZXN0KHRlc3RfY29udGVudHM9dGVzdF9odG1sKQogICAgICAgICBmaW5hbGx5
OgotICAgICAgICAgICAgb3V0cHV0LCBfLCBfID0gb2MucmVzdG9yZV9vdXRwdXQoKQorICAgICAg
ICAgICAgXywgXywgbG9ncyA9IG9jLnJlc3RvcmVfb3V0cHV0KCkKIAogICAgICAgICBzZWxmLmFz
c2VydE5vdEVxdWFsKHRlc3RfaW5mbywgTm9uZSwgJ2RpZCBub3QgZmluZCBhIHRlc3QnKQogICAg
ICAgICBzZWxmLmFzc2VydFRydWUoJ3Rlc3QnIGluIHRlc3RfaW5mby5rZXlzKCksICdkaWQgbm90
IGZpbmQgYSB0ZXN0IGZpbGUnKQpAQCAtNzgsNyArNzgsNyBAQCBjbGFzcyBUZXN0UGFyc2VyVGVz
dCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ3JlZnN1cHBv
cnQnIGluIHRlc3RfaW5mby5rZXlzKCksICd0aGVyZSBzaG91bGQgYmUgbm8gcmVmc3VwcG9ydCBm
aWxlcyBmb3IgdGhpcyB0ZXN0JykKICAgICAgICAgc2VsZi5hc3NlcnRGYWxzZSgnanN0ZXN0JyBp
biB0ZXN0X2luZm8ua2V5cygpLCAndGVzdCBzaG91bGQgbm90IGhhdmUgYmVlbiBhbmFseXplZCBh
cyBhIGpzdGVzdCcpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG91dHB1dC5zdGFydHN3aXRo
KCdXYXJuaW5nJyksICdubyB3YXJuaW5nIGFib3V0IG11bHRpcGxlIG1hdGNoZXMnKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGxvZ3MsICdNdWx0aXBsZSByZWZlcmVuY2VzIGFyZSBub3Qgc3Vw
cG9ydGVkLiBJbXBvcnRpbmcgdGhlIGZpcnN0IHJlZiBkZWZpbmVkIGluIHNvbWVmaWxlLmh0bWxc
bicpCiAKICAgICBkZWYgdGVzdF9hbmFseXplX3Rlc3RfcmVmdGVzdF9tYXRjaF9hbmRfbWlzbWF0
Y2goc2VsZik6CiAgICAgICAgIHRlc3RfaHRtbCA9ICIiIjxoZWFkPgpAQCAtOTUsNyArOTUsNyBA
QCBjbGFzcyBUZXN0UGFyc2VyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAgICAgICAgICAgICBw
YXJzZXIgPSBUZXN0UGFyc2VyKG9wdGlvbnMsIHRlc3RfcGF0aCArICdzb21lZmlsZS5odG1sJykK
ICAgICAgICAgICAgIHRlc3RfaW5mbyA9IHBhcnNlci5hbmFseXplX3Rlc3QodGVzdF9jb250ZW50
cz10ZXN0X2h0bWwpCiAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICBvdXRwdXQsIF8sIF8g
PSBvYy5yZXN0b3JlX291dHB1dCgpCisgICAgICAgICAgICBfLCBfLCBsb2dzID0gb2MucmVzdG9y
ZV9vdXRwdXQoKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0Tm90RXF1YWwodGVzdF9pbmZvLCBOb25l
LCAnZGlkIG5vdCBmaW5kIGEgdGVzdCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgndGVzdCcg
aW4gdGVzdF9pbmZvLmtleXMoKSwgJ2RpZCBub3QgZmluZCBhIHRlc3QgZmlsZScpCkBAIC0xMDQs
OCArMTA0LDcgQEAgY2xhc3MgVGVzdFBhcnNlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICBzZWxmLmFzc2VydEZhbHNlKCdyZWZzdXBwb3J0JyBpbiB0ZXN0X2luZm8ua2V5cygpLCAn
dGhlcmUgc2hvdWxkIGJlIG5vIHJlZnN1cHBvcnQgZmlsZXMgZm9yIHRoaXMgdGVzdCcpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RmFsc2UoJ2pzdGVzdCcgaW4gdGVzdF9pbmZvLmtleXMoKSwgJ3Rlc3Qg
c2hvdWxkIG5vdCBoYXZlIGJlZW4gYW5hbHl6ZWQgYXMgYSBqc3Rlc3QnKQogCi0gICAgICAgIHdh
cm5pbmdzID0gb3V0cHV0LnNwbGl0bGluZXMoKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyh3
YXJuaW5ncywgWyJXYXJuaW5nOiBXZWJraXQgZG9lcyBub3Qgc3VwcG9ydCBtdWx0aXBsZSByZWZl
cmVuY2VzLiBJbXBvcnRpbmcgdGhlIGZpcnN0IHJlZiBkZWZpbmVkIGluIHNvbWVmaWxlLmh0bWwi
XSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChsb2dzLCAnTXVsdGlwbGUgcmVmZXJlbmNlcyBh
cmUgbm90IHN1cHBvcnRlZC4gSW1wb3J0aW5nIHRoZSBmaXJzdCByZWYgZGVmaW5lZCBpbiBzb21l
ZmlsZS5odG1sXG4nKQogCiAgICAgZGVmIHRlc3RfYW5hbHl6ZV90ZXN0X3JlZnRlc3Rfd2l0aF9y
ZWZfc3VwcG9ydF9GaWxlcyhzZWxmKToKICAgICAgICAgIiIiIFRlc3RzIGFuYWx5emVfdGVzdCgp
IHVzaW5nIGEgcmVmdGVzdCB0aGF0IGhhcyByZWZlcnMgdG8gYSByZWZlcmVuY2UgZmlsZSBvdXRz
aWRlIG9mIHRoZSB0ZXN0cyBkaXJlY3RvcnkgYW5kIHRoZSByZWZlcmVuY2UgZmlsZSBoYXMgcGF0
aHMgdG8gb3RoZXIgc3VwcG9ydCBmaWxlcyAiIiIK
</data>

          </attachment>
      

    </bug>

</bugzilla>