Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gyDCb-0007Ox-GE for pgadmin-hackers@arkaria.postgresql.org; Mon, 25 Feb 2019 10:09:38 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1gyDCZ-0005JN-Si for pgadmin-hackers@arkaria.postgresql.org; Mon, 25 Feb 2019 10:09:35 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gyDCZ-0005Hl-Em for pgadmin-hackers@lists.postgresql.org; Mon, 25 Feb 2019 10:09:35 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gyDCW-0000fc-Id for pgadmin-hackers@postgresql.org; Mon, 25 Feb 2019 10:09:34 +0000 Received: by mail-ed1-x52c.google.com with SMTP id j89so7020975edb.9 for ; Mon, 25 Feb 2019 02:09:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=P58r1BD95u2weLJVnk+1bgktwdTOYq9OGv0LuthUSKc=; b=pam99b5Zh3orZaPUwSn6TzWzUPe1LiF4YS80q5vFEQxh11GUohDIJ4iA0UangnbtkH BXq4vnvNBVysu8EpFuKPa21k5R7K4nmqqEuzZW7jr9BUbFOHMKgGRGbD+ZTAZMxJ1b/I Z0m0IWrqX5vd0IU9K5aZhEqI7VcrMUEtzwHsVEp/hGtIIxCS2v/961krjih5N97GJiRW WcQdE+OlqGoHFcTr3pHghzMTIc7UVRpdcvbRxo44Ni1PgCOWhMmQGEmAgav/pj5HQMOa njUgmLzt3dT75CyZWyrsdzEeMuSVIjTGBT4mgmq08BMk8BJbwdHbIofgu5lHGM1Wst5B Pgug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=P58r1BD95u2weLJVnk+1bgktwdTOYq9OGv0LuthUSKc=; b=dYXvA2igPO/CZcNXlvLiljUQrZGhuoSLgmerzZj0B+H7ZQIiyygGEsX2AZ8TwP9dFt hXS8IPc+laM87MuGve4NU0R/iVkL9K5dbtgqeXiI6/UFoCeV0yTFa2zVlhYfyEIH3aU7 nLoD2PpwxT5w8hex8MXR1TxIxWpOo/nyoL6PQ2dItyg3aLLhoTZonYQBAXzRn73aeKWy L4Fpc20SF+p266Fv7m2eWbu6sQVDEXWI0SpgmYqNiwUIp4CTHUMX3YZXtj7tSCz2kCKf sraQBa1uPpt9MW5yqk3pgW4lzIGKAjXOMDHq+wJjMlK9fmOKrTDeNh+HarmAbanXDVA+ 447w== X-Gm-Message-State: AHQUAuZB7GdrgQrHYubuj5a6OtStMfPUBymhgEqEXUR1NWHBPJCdJZu/ FDdkuZIGECizwXnmuZ9WMRzUSLn/JmMl17rTapziTftIplo= X-Google-Smtp-Source: AHgI3IbkVmG7uS5WrCdSrI340lZVqZ/b07i+9QvbBuaS2FNa6rNRvsg+gSUxwMAVSYQi8nCb8Bd4jsFRVXjO7lG0Ng0= X-Received: by 2002:a17:906:c286:: with SMTP id r6mr12413976ejz.7.1551089369920; Mon, 25 Feb 2019 02:09:29 -0800 (PST) MIME-Version: 1.0 From: Usman Muzaffar Date: Mon, 25 Feb 2019 15:08:53 +0500 Message-ID: Subject: [pgAdmin4][RM3936] - Fixes for feature test due to changes in pgadmin4 To: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000e8ebcc0582b522d0" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000e8ebcc0582b522d0 Content-Type: multipart/alternative; boundary="000000000000e8ebc90582b522ce" --000000000000e8ebc90582b522ce Content-Type: text/plain; charset="UTF-8" Hi Hackers, Please find here attached patch for the followings i) Fixes for the query tool related test cases, the tab name convention is changed which is catered in the patch. ii) The 'dependent' tab was not showing information until it is refreshed so handled it during automation(the issue was not reproducible manually). iii) New locator file is created to store locators/xpaths. iv) Changes in pgadmin_page file related to js. Patch by : Usman & Aditya(aditya.toshniwal@enterprisedb.com) -- Thanks, Usman Muzaffar QA Team EnterpriseDB Corporation --000000000000e8ebc90582b522ce Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Please fin= d here attached patch for the followings
i) Fixes for the query t= ool related test cases, the tab name convention is changed which is catered= in the patch.
ii) The 'dependent' tab was not showing in= formation until it is refreshed so handled it during automation(the issue w= as not reproducible manually).
iii) New locator file is created t= o store locators/xpaths.
iv) Changes in pgadmin_page file related= to js.
=C2=A0

Patch by :
=C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Usman & Aditya(aditya.toshniwal@enterprisedb.com)

--
=


Thanks,

Usman Muzaffar
QA Team
EnterpriseDB Corporation
--000000000000e8ebc90582b522ce-- --000000000000e8ebcc0582b522d0 Content-Type: application/octet-stream; name="RM3936_v1.patch" Content-Disposition: attachment; filename="RM3936_v1.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jsk6hjs60 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL2ZyYW1lLmpzIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvZnJhbWUuanMKaW5kZXggYTA2MmE2YTIuLjVlNWU3 ZGYxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9mcmFtZS5qcwor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9mcmFtZS5qcwpAQCAtNTMsNyArNTMs NyBAQCBkZWZpbmUoWwogCiAgICAgICAgICAgICBteVBhbmVsLmNsb3NlYWJsZSghIXRoYXQuaXND bG9zZWFibGUpOwogCi0gICAgICAgICAgICB2YXIgJGZyYW1lQXJlYSA9ICQoJzxkaXYgc3R5bGU9 InBvc2l0aW9uOmFic29sdXRlO3RvcDowICFpbXBvcnRhbnQ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAw JTtkaXNwbGF5OnRhYmxlIj4nKTsKKyAgICAgICAgICAgIHZhciAkZnJhbWVBcmVhID0gJCgnPGRp diBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjAgIWltcG9ydGFudDt3aWR0aDoxMDAlO2hl aWdodDoxMDAlO2Rpc3BsYXk6dGFibGU7ei1pbmRleDowOyI+Jyk7CiAgICAgICAgICAgICBteVBh bmVsLmxheW91dCgpLmFkZEl0ZW0oJGZyYW1lQXJlYSk7CiAgICAgICAgICAgICB0aGF0LnBhbmVs ID0gbXlQYW5lbDsKICAgICAgICAgICAgIHZhciBmcmFtZSA9IG5ldyB3Y0lGcmFtZSgkZnJhbWVB cmVhLCBteVBhbmVsKTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvY29w eV9zZWxlY3RlZF9xdWVyeV9yZXN1bHRzX2ZlYXR1cmVfdGVzdC5weSBiL3dlYi9wZ2FkbWluL2Zl YXR1cmVfdGVzdHMvY29weV9zZWxlY3RlZF9xdWVyeV9yZXN1bHRzX2ZlYXR1cmVfdGVzdC5weQpp bmRleCAzODIwMjBmNi4uMDgzN2I4NGEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVf dGVzdHMvY29weV9zZWxlY3RlZF9xdWVyeV9yZXN1bHRzX2ZlYXR1cmVfdGVzdC5weQorKysgYi93 ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL2NvcHlfc2VsZWN0ZWRfcXVlcnlfcmVzdWx0c19mZWF0 dXJlX3Rlc3QucHkKQEAgLTQzLDkgKzQzLDYgQEAgY2xhc3MgQ29weVNlbGVjdGVkUXVlcnlSZXN1 bHRzRmVhdHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAgICAgICAgc2VsZi5wYWdlLnRvZ2ds ZV9vcGVuX3RyZWVfaXRlbShzZWxmLnRlc3RfZGIpCiAgICAgICAgIHNlbGYucGFnZS5vcGVuX3F1 ZXJ5X3Rvb2woKQogCi0gICAgICAgIHNlbGYucGFnZS5kcml2ZXIuc3dpdGNoX3RvX2ZyYW1lKAot ICAgICAgICAgICAgc2VsZi5wYWdlLmRyaXZlci5maW5kX2VsZW1lbnRfYnlfdGFnX25hbWUoImlm cmFtZSIpKQotCiAgICAgICAgIHNlbGYucGFnZS5maWxsX2NvZGVtaXJyb3JfYXJlYV93aXRoKAog ICAgICAgICAgICAgIlNFTEVDVCAqIEZST00gJXMgT1JERVIgQlkgc29tZV9jb2x1bW4iICUgc2Vs Zi50ZXN0X3RhYmxlX25hbWUpCiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVz dHMvZmlsZV9tYW5hZ2VyX3Rlc3QucHkgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL2ZpbGVf bWFuYWdlcl90ZXN0LnB5CmluZGV4IDkwNTQ4MDc5Li4yODhkYzk4MyAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9maWxlX21hbmFnZXJfdGVzdC5weQorKysgYi93ZWIvcGdh ZG1pbi9mZWF0dXJlX3Rlc3RzL2ZpbGVfbWFuYWdlcl90ZXN0LnB5CkBAIC0xNyw2ICsxNyw3IEBA IGZyb20gc2VsZW5pdW0ud2ViZHJpdmVyLnN1cHBvcnQudWkgaW1wb3J0IFdlYkRyaXZlcldhaXQK IGZyb20gc2VsZW5pdW0ud2ViZHJpdmVyLmNvbW1vbi5ieSBpbXBvcnQgQnkKIGZyb20gc2VsZW5p dW0ud2ViZHJpdmVyLnN1cHBvcnQgaW1wb3J0IGV4cGVjdGVkX2NvbmRpdGlvbnMgYXMgRUMKIGZy b20gcmVncmVzc2lvbi5mZWF0dXJlX3V0aWxzLmJhc2VfZmVhdHVyZV90ZXN0IGltcG9ydCBCYXNl RmVhdHVyZVRlc3QKK2Zyb20gLmxvY2F0b3JzIGltcG9ydCBRdWVyeVRvb2xMb2NhdG9yc0Nzcwog CiAKIGNsYXNzIENoZWNrRmlsZU1hbmFnZXJGZWF0dXJlVGVzdChCYXNlRmVhdHVyZVRlc3QpOgpA QCAtNDEsNyArNDIsNyBAQCBjbGFzcyBDaGVja0ZpbGVNYW5hZ2VyRmVhdHVyZVRlc3QoQmFzZUZl YXR1cmVUZXN0KToKICAgICAgICAgICAgIG9zLnJlbW92ZShzZWxmLlhTU19GSUxFKQogCiAgICAg ZGVmIGFmdGVyKHNlbGYpOgotICAgICAgICBzZWxmLnBhZ2UuY2xvc2VfcXVlcnlfdG9vbCgnLnNx bCcsIEZhbHNlKQorICAgICAgICBzZWxmLnBhZ2UuY2xvc2VfcXVlcnlfdG9vbChGYWxzZSkKICAg ICAgICAgc2VsZi5wYWdlLnJlbW92ZV9zZXJ2ZXIoc2VsZi5zZXJ2ZXIpCiAKICAgICBkZWYgcnVu VGVzdChzZWxmKToKQEAgLTY0LDE0ICs2NSwxMSBAQCBjbGFzcyBDaGVja0ZpbGVNYW5hZ2VyRmVh dHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAgICAgICAgc2VsZi5wYWdlLm9wZW5fcXVlcnlf dG9vbCgpCiAKICAgICBkZWYgX2NyZWF0ZV9uZXdfZmlsZShzZWxmKToKLSAgICAgICAgc2VsZi5w YWdlLmZpbmRfYnlfaWQoImJ0bi1zYXZlIikuY2xpY2soKQotICAgICAgICBzZWxmLnBhZ2Uud2Fp dF9mb3JfcXVlcnlfdG9vbF9sb2FkaW5nX2luZGljYXRvcl90b19kaXNhcHBlYXIoKQotICAgICAg ICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoJy5jaGFuZ2VfZmlsZV90eXBlcycpCisg ICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcihRdWVyeVRvb2xMb2NhdG9yc0Nz cy5idG5fc2F2ZSkuY2xpY2soKQogICAgICAgICAjIFNldCB0aGUgWFNTIHZhbHVlIGluIGlucHV0 Ci0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJmaWxlLWlucHV0LXBhdGgiKS5jbGVhcigp Ci0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJmaWxlLWlucHV0LXBhdGgiKS5zZW5kX2tl eXMoCi0gICAgICAgICAgICBzZWxmLlhTU19GSUxFCi0gICAgICAgICkKKyAgICAgICAgcHJpbnQo J0NyZWF0ZSBmaWxlJykKKyAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKCcu Y2hhbmdlX2ZpbGVfdHlwZXMnKQorICAgICAgICBzZWxmLnBhZ2UuZmlsbF9pbnB1dF9ieV9jc3Nf c2VsZWN0b3IoIiNmaWxlLWlucHV0LXBhdGgiLCBzZWxmLlhTU19GSUxFKQogICAgICAgICAjIFNh dmUgdGhlIGZpbGUKICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX21vZGFsKCdDcmVhdGUnKQogICAg ICAgICBzZWxmLnBhZ2Uud2FpdF9mb3JfcXVlcnlfdG9vbF9sb2FkaW5nX2luZGljYXRvcl90b19k aXNhcHBlYXIoKQpAQCAtNzksMTMgKzc3LDggQEAgY2xhc3MgQ2hlY2tGaWxlTWFuYWdlckZlYXR1 cmVUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgZGVmIF9vcGVuX2ZpbGVfbWFuYWdlcl9hbmRf Y2hlY2tfeHNzX2ZpbGUoc2VsZik6CiAgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4t bG9hZC1maWxlIikuY2xpY2soKQogICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0 b3IoJy5jaGFuZ2VfZmlsZV90eXBlcycpCi0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJm aWxlLWlucHV0LXBhdGgiKS5jbGVhcigpCi0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJm aWxlLWlucHV0LXBhdGgiKS5zZW5kX2tleXMoCi0gICAgICAgICAgICAnL3RtcC8nCi0gICAgICAg ICkKLSAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfaWQoImZpbGUtaW5wdXQtcGF0aCIpLnNlbmRf a2V5cygKLSAgICAgICAgICAgIEtleXMuUkVUVVJOCi0gICAgICAgICkKKyAgICAgICAgc2VsZi5w YWdlLmZpbGxfaW5wdXRfYnlfY3NzX3NlbGVjdG9yKCIjZmlsZS1pbnB1dC1wYXRoIiwgIi90bXAv IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleV9hZnRl cl9pbnB1dD1LZXlzLlJFVFVSTikKIAogICAgICAgICBpZiBzZWxmLnBhZ2UuZHJpdmVyLmNhcGFi aWxpdGllc1snYnJvd3Nlck5hbWUnXSA9PSAnZmlyZWZveCc6CiAgICAgICAgICAgICB0YWJsZSA9 IHNlbGYucGFnZS53YWl0X2Zvcl9lbGVtZW50X3RvX3JlbG9hZCgKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2ZlYXR1cmVfdGVzdHMvbG9jYXRvcnMucHkgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rl c3RzL2xvY2F0b3JzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi4zNGFl YTg3YwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvbG9jYXRv cnMucHkKQEAgLTAsMCArMSwyMSBAQAorY2xhc3MgUXVlcnlUb29sTG9jYXRvcnNDc3M6CisgICAg YnRuX3NhdmUgPSAiI2J0bi1zYXZlIgorICAgIGJ0bl9leGVjdXRlX3F1ZXJ5ID0gIiNidG4tZmxh c2giCisgICAgYnRuX3F1ZXJ5X2Ryb3Bkb3duID0gIiNidG4tcXVlcnktZHJvcGRvd24iCisgICAg YnRuX2F1dG9fcm9sbGJhY2sgPSAiI2J0bi1hdXRvLXJvbGxiYWNrIgorICAgIGJ0bl9hdXRvX2Nv bW1pdCA9ICIjYnRuLWF1dG8tY29tbWl0IgorICAgIGJ0bl9jYW5jZWxfcXVlcnkgPSAiI2J0bi1j YW5jZWwtcXVlcnkiCisgICAgYnRuX2V4cGxhaW4gPSAiI2J0bi1leHBsYWluIgorICAgIGJ0bl9l eHBsYWluX2FuYWx5emUgPSAiI2J0bi1leHBsYWluLWFuYWx5emUiCisgICAgYnRuX2V4cGxhaW5f b3B0aW9uc19kcm9wZG93biA9ICIjYnRuLWV4cGxhaW4tb3B0aW9ucy1kcm9wZG93biIKKyAgICBi dG5fZXhwbGFpbl92ZXJib3NlID0gIiNidG4tZXhwbGFpbi12ZXJib3NlIgorICAgIGJ0bl9leHBs YWluX2Nvc3RzID0gIiNidG4tZXhwbGFpbi1jb3N0cyIKKyAgICBidG5fZXhwbGFpbl9idWZmZXJz ID0gIiNidG4tZXhwbGFpbi1idWZmZXJzIgorICAgIGJ0bl9leHBsYWluX3RpbWluZyA9ICIjYnRu LWV4cGxhaW4tdGltaW5nIgorICAgIGJ0bl9jbGVhcl9kcm9wZG93biA9ICIjYnRuLWNsZWFyLWRy b3Bkb3duIgorICAgIGJ0bl9jbGVhciA9ICIjYnRuLWNsZWFyIgorCisgICAgcXVlcnlfZWRpdG9y X3BhbmVsID0gIiNvdXRwdXQtcGFuZWwiCisgICAgcXVlcnlfaGlzdG9yeV9zZWxlY3RlZCA9ICIj cXVlcnlfbGlzdCAuc2VsZWN0ZWQiCisgICAgcXVlcnlfaGlzdG9yeV9kZXRhaWwgPSAiI3F1ZXJ5 X2RldGFpbCIKKyAgICBlZGl0b3JfcGFuZWwgPSAiI291dHB1dC1wYW5lbCIKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvcGdfdXRpbGl0aWVzX2JhY2t1cF9yZXN0b3JlX3Rl c3QucHkgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3BnX3V0aWxpdGllc19iYWNrdXBfcmVz dG9yZV90ZXN0LnB5CmluZGV4IDFjODkzOTNkLi5jOThlMmZiYSAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vZmVhdHVyZV90ZXN0cy9wZ191dGlsaXRpZXNfYmFja3VwX3Jlc3RvcmVfdGVzdC5weQor KysgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3BnX3V0aWxpdGllc19iYWNrdXBfcmVzdG9y ZV90ZXN0LnB5CkBAIC02OSw3ICs2OSw4IEBAIGNsYXNzIFBHVXRpbGl0aWVzQmFja3VwRmVhdHVy ZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAgICAgICAgc2VsZi53YWl0LnVudGlsKEVDLmVsZW1l bnRfdG9fYmVfY2xpY2thYmxlKAogICAgICAgICAgICAgKEJ5LkNTU19TRUxFQ1RPUiwgIi5maWxl IFtuYW1lPSdmaWxlJ10iKSkpLmNsaWNrKCkKIAotICAgICAgICBzZWxmLnBhZ2UuZmlsbF9pbnB1 dF9ieV9maWVsZF9uYW1lKCJmaWxlIiwgInRlc3RfYmFja3VwIikKKyAgICAgICAgc2VsZi5wYWdl LmZpbGxfaW5wdXRfYnlfZmllbGRfbmFtZSgKKyAgICAgICAgICAgICJmaWxlIiwgInRlc3RfYmFj a3VwIiwgbG9vc2VfZm9jdXM9VHJ1ZSkKIAogICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV94cGF0 aCgiLy9idXR0b25bY29udGFpbnMoQGNsYXNzLCdmYS1zYXZlJykgIgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiYW5kIGNvbnRhaW5zKC4sJ0JhY2t1cCcpXSIpLmNsaWNrKCkKQEAg LTgzLDYgKzg0LDcgQEAgY2xhc3MgUEdVdGlsaXRpZXNCYWNrdXBGZWF0dXJlVGVzdChCYXNlRmVh dHVyZVRlc3QpOgogICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCiAgICAg ICAgICAgICAiLnBnLWJnLW1vcmUtZGV0YWlscyIpLmNsaWNrKCkKIAorICAgICAgICBiYWNrdXBf ZmlsZSA9IE5vbmUKICAgICAgICAgIyBDaGVjayBmb3IgWFNTIGluIEJhY2t1cCBkZXRhaWxzCiAg ICAgICAgIGlmIHNlbGYuaXNfeHNzX2NoZWNrOgogICAgICAgICAgICAgc2VsZi5fY2hlY2tfZGV0 YWlsZWRfd2luZG93X2Zvcl94c3MoJ0JhY2t1cCcpCkBAIC05OSw3ICsxMDEsNiBAQCBjbGFzcyBQ R1V0aWxpdGllc0JhY2t1cEZlYXR1cmVUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAKICAgICAgICAg ICAgIHNlbGYuYXNzZXJ0SW4oInBnX2R1bXAiLCBzdHIoY29tbWFuZCkpCiAKLSAgICAgICAgICAg IGJhY2t1cF9maWxlID0gTm9uZQogICAgICAgICAgICAgaWYgY29tbWFuZDoKICAgICAgICAgICAg ICAgICBiYWNrdXBfZmlsZSA9IGNvbW1hbmRbaW50KGNvbW1hbmQuZmluZCgnLS1maWxlJykpICsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgODppbnQoY29tbWFuZC5maW5k KCctLWhvc3QnKSkgLSAyXQpAQCAtMTE3LDcgKzExOCw4IEBAIGNsYXNzIFBHVXRpbGl0aWVzQmFj a3VwRmVhdHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAgICAgICAgc2VsZi53YWl0LnVudGls KEVDLmVsZW1lbnRfdG9fYmVfY2xpY2thYmxlKAogICAgICAgICAgICAgKEJ5LkNTU19TRUxFQ1RP UiwgIi5maWxlIFtuYW1lPSdmaWxlJ10iKSkpLmNsaWNrKCkKIAotICAgICAgICBzZWxmLnBhZ2Uu ZmlsbF9pbnB1dF9ieV9maWVsZF9uYW1lKCJmaWxlIiwgInRlc3RfYmFja3VwIikKKyAgICAgICAg c2VsZi5wYWdlLmZpbGxfaW5wdXRfYnlfZmllbGRfbmFtZSgKKyAgICAgICAgICAgICJmaWxlIiwg InRlc3RfYmFja3VwIiwgbG9vc2VfZm9jdXM9VHJ1ZSkKIAogICAgICAgICBzZWxmLnBhZ2UuZmlu ZF9ieV94cGF0aCgiLy9idXR0b25bY29udGFpbnMoQGNsYXNzLCdmYS11cGxvYWQnKSIKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBhbmQgY29udGFpbnMoLiwnUmVzdG9yZScpXSIp LmNsaWNrKCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvcXVlcnlfdG9v bF9qb3VybmV5X3Rlc3QucHkgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3F1ZXJ5X3Rvb2xf am91cm5leV90ZXN0LnB5CmluZGV4IGQ4NjNmOGU4Li42NzBkZTY2ZiAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9xdWVyeV90b29sX2pvdXJuZXlfdGVzdC5weQorKysgYi93 ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3F1ZXJ5X3Rvb2xfam91cm5leV90ZXN0LnB5CkBAIC0x NSw2ICsxNSw3IEBAIGZyb20gc2VsZW5pdW0ud2ViZHJpdmVyLmNvbW1vbi5rZXlzIGltcG9ydCBL ZXlzCiAKIGZyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91dGls cwogZnJvbSByZWdyZXNzaW9uLmZlYXR1cmVfdXRpbHMuYmFzZV9mZWF0dXJlX3Rlc3QgaW1wb3J0 IEJhc2VGZWF0dXJlVGVzdAorZnJvbSAubG9jYXRvcnMgaW1wb3J0IFF1ZXJ5VG9vbExvY2F0b3Jz Q3NzCiAKIAogY2xhc3MgUXVlcnlUb29sSm91cm5leVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKQEAg LTczLDE2ICs3NCwxOCBAQCBjbGFzcyBRdWVyeVRvb2xKb3VybmV5VGVzdChCYXNlRmVhdHVyZVRl c3QpOgogCiAgICAgZGVmIF90ZXN0X2hpc3RvcnlfdGFiKHNlbGYpOgogICAgICAgICBzZWxmLl9f Y2xlYXJfcXVlcnlfdG9vbCgpCi0gICAgICAgIGVkaXRvcl9pbnB1dCA9IHNlbGYucGFnZS5maW5k X2J5X2lkKCJvdXRwdXQtcGFuZWwiKQorICAgICAgICBlZGl0b3JfaW5wdXQgPSBzZWxmLnBhZ2Uu ZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5x dWVyeV9lZGl0b3JfcGFuZWwpCiAgICAgICAgIHNlbGYucGFnZS5jbGlja19lbGVtZW50KGVkaXRv cl9pbnB1dCkKICAgICAgICAgc2VsZi5fZXhlY3V0ZV9xdWVyeSgiU0VMRUNUICogRlJPTSB0YWJs ZV90aGF0X2RvZXNudF9leGlzdCIpCiAKICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX3RhYigiUXVl cnkgSGlzdG9yeSIpCiAgICAgICAgIHNlbGVjdGVkX2hpc3RvcnlfZW50cnkgPSBzZWxmLnBhZ2Uu ZmluZF9ieV9jc3Nfc2VsZWN0b3IoCi0gICAgICAgICAgICAiI3F1ZXJ5X2xpc3QgLnNlbGVjdGVk IikKKyAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLnF1ZXJ5X2hpc3Rvcnlfc2VsZWN0 ZWQpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIlNFTEVDVCAqIEZST00gdGFibGVfdGhhdF9kb2Vz bnRfZXhpc3QiLAogICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkX2hpc3RvcnlfZW50cnku dGV4dCkKLSAgICAgICAgZmFpbGVkX2hpc3RvcnlfZGV0YWlsX3BhbmUgPSBzZWxmLnBhZ2UuZmlu ZF9ieV9pZCgicXVlcnlfZGV0YWlsIikKKyAgICAgICAgZmFpbGVkX2hpc3RvcnlfZGV0YWlsX3Bh bmUgPSBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICBRdWVyeVRv b2xMb2NhdG9yc0Nzcy5xdWVyeV9oaXN0b3J5X2RldGFpbCkKIAogICAgICAgICBzZWxmLmFzc2Vy dEluKAogICAgICAgICAgICAgIkVycm9yIE1lc3NhZ2UgcmVsYXRpb24gXCJ0YWJsZV90aGF0X2Rv ZXNudF9leGlzdFwiICIKQEAgLTEwOCw3ICsxMTEsOCBAQCBjbGFzcyBRdWVyeVRvb2xKb3VybmV5 VGVzdChCYXNlRmVhdHVyZVRlc3QpOgogICAgICAgICBuZXdseV9zZWxlY3RlZF9oaXN0b3J5X2Vu dHJ5ID0gc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoCiAgICAgICAgICAgICAiLy8qW0BpZD0ncXVl cnlfbGlzdCddL3VsL2xpWzJdIikKICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX2VsZW1lbnQobmV3 bHlfc2VsZWN0ZWRfaGlzdG9yeV9lbnRyeSkKLSAgICAgICAgc2VsZWN0ZWRfaGlzdG9yeV9kZXRh aWxfcGFuZSA9IHNlbGYucGFnZS5maW5kX2J5X2lkKCJxdWVyeV9kZXRhaWwiKQorICAgICAgICBz ZWxlY3RlZF9oaXN0b3J5X2RldGFpbF9wYW5lID0gc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVj dG9yKAorICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnNDc3MucXVlcnlfaGlzdG9yeV9kZXRh aWwpCiAgICAgICAgIHNlbGYuYXNzZXJ0SW4oIlNFTEVDVCAqIEZST00gdGFibGVfdGhhdF9kb2Vz bnRfZXhpc3QiLAogICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkX2hpc3RvcnlfZGV0YWls X3BhbmUuZ2V0X2F0dHJpYnV0ZSgnaW5uZXJIVE1MJykpCiAKQEAgLTExOCw3ICsxMjIsOCBAQCBj bGFzcyBRdWVyeVRvb2xKb3VybmV5VGVzdChCYXNlRmVhdHVyZVRlc3QpOgogCiAgICAgICAgIHNl bGYucGFnZS5maWxsX2NvZGVtaXJyb3JfYXJlYV93aXRoKCJTRUxFQ1QgKiBGUk9NIGhhdHMiKQog ICAgICAgICBmb3IgXyBpbiByYW5nZSgxNSk6Ci0gICAgICAgICAgICBzZWxmLnBhZ2UuZmluZF9i eV9pZCgiYnRuLWZsYXNoIikuY2xpY2soKQorICAgICAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlf Y3NzX3NlbGVjdG9yKAorICAgICAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9l eGVjdXRlX3F1ZXJ5KS5jbGljaygpCiAgICAgICAgICAgICBzZWxmLnBhZ2Uud2FpdF9mb3JfcXVl cnlfdG9vbF9sb2FkaW5nX2luZGljYXRvcl90b19kaXNhcHBlYXIoKQogCiAgICAgICAgIHNlbGYu cGFnZS5jbGlja190YWIoIlF1ZXJ5IEhpc3RvcnkiKQpAQCAtMTQwLDcgKzE0NSw4IEBAIGNsYXNz IFF1ZXJ5VG9vbEpvdXJuZXlUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgICAgIHNlbGYucGFn ZS5jbGlja19lbGVtZW50KGVkaXRvcl9pbnB1dCkKICAgICAgICAgc2VsZi5wYWdlLmZpbGxfY29k ZW1pcnJvcl9hcmVhX3dpdGgoIlNFTEVDVCAqIEZST00gaGF0cyIpCiAgICAgICAgIGZvciBfIGlu IHJhbmdlKDE1KToKLSAgICAgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tZmxhc2gi KS5jbGljaygpCisgICAgICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisg ICAgICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnNDc3MuYnRuX2V4ZWN1dGVfcXVlcnkpLmNs aWNrKCkKICAgICAgICAgICAgIHNlbGYucGFnZS53YWl0X2Zvcl9xdWVyeV90b29sX2xvYWRpbmdf aW5kaWNhdG9yX3RvX2Rpc2FwcGVhcigpCiAKICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX3RhYigi SGlzdG9yeSIpCkBAIC0xNzMsNyArMTc5LDggQEAgY2xhc3MgUXVlcnlUb29sSm91cm5leVRlc3Qo QmFzZUZlYXR1cmVUZXN0KToKIAogICAgIGRlZiBfZXhlY3V0ZV9xdWVyeShzZWxmLCBxdWVyeSk6 CiAgICAgICAgIHNlbGYucGFnZS5maWxsX2NvZGVtaXJyb3JfYXJlYV93aXRoKHF1ZXJ5KQotICAg ICAgICBzZWxmLnBhZ2UuZmluZF9ieV9pZCgiYnRuLWZsYXNoIikuY2xpY2soKQorICAgICAgICBz ZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICBRdWVyeVRvb2xMb2Nh dG9yc0Nzcy5idG5fZXhlY3V0ZV9xdWVyeSkuY2xpY2soKQogCiAgICAgZGVmIF9hc3NlcnRfY2xp Y2thYmxlKHNlbGYsIGVsZW1lbnQpOgogICAgICAgICBzZWxmLnBhZ2UuY2xpY2tfZWxlbWVudChl bGVtZW50KQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9xdWVyeV90b29s X3Rlc3RzLnB5IGIvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9xdWVyeV90b29sX3Rlc3RzLnB5 CmluZGV4IGM2ZTYwOWNjLi4zMzcyY2NmOSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vZmVhdHVy ZV90ZXN0cy9xdWVyeV90b29sX3Rlc3RzLnB5CisrKyBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVz dHMvcXVlcnlfdG9vbF90ZXN0cy5weQpAQCAtMTgsNiArMTgsNyBAQCBmcm9tIHNlbGVuaXVtLndl YmRyaXZlci5jb21tb24uYnkgaW1wb3J0IEJ5CiBmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3Rf dXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMKIGZyb20gcmVncmVzc2lvbi5mZWF0dXJlX3V0aWxzLmJh c2VfZmVhdHVyZV90ZXN0IGltcG9ydCBCYXNlRmVhdHVyZVRlc3QKIGltcG9ydCBjb25maWcKK2Zy b20gLmxvY2F0b3JzIGltcG9ydCBRdWVyeVRvb2xMb2NhdG9yc0NzcwogCiAKIGNsYXNzIFF1ZXJ5 VG9vbEZlYXR1cmVUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CkBAIC0xMTAsMjggKzExMSwzNCBAQCBj bGFzcyBRdWVyeVRvb2xGZWF0dXJlVGVzdChCYXNlRmVhdHVyZVRlc3QpOgogICAgICAgICAjIHRo aXMgd2lsbCBzZXQgZm9jdXMgdG8gY29ycmVjdCBpZnJhbWUuCiAgICAgICAgIHNlbGYucGFnZS5m aWxsX2NvZGVtaXJyb3JfYXJlYV93aXRoKCcnKQogCi0gICAgICAgIGV4cGxhaW5fb3AgPSBzZWxm LnBhZ2UuZmluZF9ieV9pZCgiYnRuLWV4cGxhaW4tb3B0aW9ucy1kcm9wZG93biIpCisgICAgICAg IGV4cGxhaW5fb3AgPSBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAg ICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhwbGFpbl9vcHRpb25zX2Ryb3Bkb3duKQogICAg ICAgICBleHBsYWluX29wLmNsaWNrKCkKIAogICAgICAgICAjIGRpc2FibGUgRXhwbGFpbiBvcHRp b25zIGFuZCBhdXRvIHJvbGxiYWNrIG9ubHkgaWYgdGhleSBhcmUgZW5hYmxlZC4KLSAgICAgICAg Zm9yIG9wIGluICgnZXhwbGFpbi12ZXJib3NlJywgJ2V4cGxhaW4tY29zdHMnLAotICAgICAgICAg ICAgICAgICAgICdleHBsYWluLWJ1ZmZlcnMnLCAnZXhwbGFpbi10aW1pbmcnKToKLSAgICAgICAg ICAgIGJ0biA9IHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4te30iLmZvcm1hdChvcCkpCisgICAg ICAgIGZvciBvcCBpbiAoUXVlcnlUb29sTG9jYXRvcnNDc3MuYnRuX2V4cGxhaW5fdmVyYm9zZSwK KyAgICAgICAgICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhwbGFpbl9jb3N0 cywKKyAgICAgICAgICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhwbGFpbl9i dWZmZXJzLAorICAgICAgICAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9leHBs YWluX3RpbWluZyk6CisgICAgICAgICAgICBidG4gPSBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2Vs ZWN0b3Iob3ApCiAgICAgICAgICAgICBjaGVjayA9IGJ0bi5maW5kX2VsZW1lbnRfYnlfdGFnX25h bWUoJ2knKQogICAgICAgICAgICAgaWYgJ3Zpc2liaWxpdHktaGlkZGVuJyBub3QgaW4gY2hlY2su Z2V0X2F0dHJpYnV0ZSgnY2xhc3MnKToKICAgICAgICAgICAgICAgICBidG4uY2xpY2soKQogCi0g ICAgICAgIHF1ZXJ5X29wID0gc2VsZi5wYWdlLmZpbmRfYnlfaWQoImJ0bi1xdWVyeS1kcm9wZG93 biIpCisgICAgICAgIHF1ZXJ5X29wID0gc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAor ICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnNDc3MuYnRuX3F1ZXJ5X2Ryb3Bkb3duKQogICAg ICAgICBxdWVyeV9vcC5jbGljaygpCiAKICAgICAgICAgIyBkaXNhYmxlIGF1dG8gcm9sbGJhY2sg b25seSBpZiB0aGV5IGFyZSBlbmFibGVkCi0gICAgICAgIGJ0biA9IHNlbGYucGFnZS5maW5kX2J5 X2lkKCJidG4tYXV0by1yb2xsYmFjayIpCisgICAgICAgIGJ0biA9IHNlbGYucGFnZS5maW5kX2J5 X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9hdXRv X3JvbGxiYWNrKQogICAgICAgICBjaGVjayA9IGJ0bi5maW5kX2VsZW1lbnRfYnlfdGFnX25hbWUo J2knKQogICAgICAgICBpZiAndmlzaWJpbGl0eS1oaWRkZW4nIG5vdCBpbiBjaGVjay5nZXRfYXR0 cmlidXRlKCdjbGFzcycpOgogICAgICAgICAgICAgYnRuLmNsaWNrKCkKIAogICAgICAgICAjIGVu YWJsZSBhdXRvY29tbWl0IG9ubHkgaWYgaXQncyBkaXNhYmxlZAotICAgICAgICBidG4gPSBzZWxm LnBhZ2UuZmluZF9ieV9pZCgiYnRuLWF1dG8tY29tbWl0IikKKyAgICAgICAgYnRuID0gc2VsZi5w YWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAorICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnND c3MuYnRuX2F1dG9fY29tbWl0KQogICAgICAgICBjaGVjayA9IGJ0bi5maW5kX2VsZW1lbnRfYnlf dGFnX25hbWUoJ2knKQogICAgICAgICBpZiAndmlzaWJpbGl0eS1oaWRkZW4nIGluIGNoZWNrLmdl dF9hdHRyaWJ1dGUoJ2NsYXNzJyk6CiAgICAgICAgICAgICBidG4uY2xpY2soKQpAQCAtMTQ1LDE0 ICsxNTIsMTQgQEAgY2xhc3MgUXVlcnlUb29sRmVhdHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToK ICAgICAgICAgc2VsZi5wYWdlLnRvZ2dsZV9vcGVuX3RyZWVfaXRlbShzZWxmLnRlc3RfZGIpCiAK ICAgICBkZWYgX2NsZWFyX3F1ZXJ5X3Rvb2woc2VsZik6Ci0gICAgICAgIHNlbGYucGFnZS5jbGlj a19lbGVtZW50KAotICAgICAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoIi8vKltAaWQ9 J2J0bi1jbGVhci1kcm9wZG93biddIikKKyAgICAgICAgc2VsZi5wYWdlLmNsaWNrX2VsZW1lbnQo c2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAorICAgICAgICAgICAgUXVlcnlUb29sTG9j YXRvcnNDc3MuYnRuX2NsZWFyX2Ryb3Bkb3duKQogICAgICAgICApCiAgICAgICAgIEFjdGlvbkNo YWlucyhzZWxmLmRyaXZlcikgXAotICAgICAgICAgICAgLm1vdmVfdG9fZWxlbWVudChzZWxmLnBh Z2UuZmluZF9ieV94cGF0aCgiLy8qW0BpZD0nYnRuLWNsZWFyJ10iKSkgXAotICAgICAgICAgICAg LnBlcmZvcm0oKQorICAgICAgICAgICAgLm1vdmVfdG9fZWxlbWVudChzZWxmLnBhZ2UuZmluZF9i eV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnNDc3MuYnRu X2NsZWFyKSkucGVyZm9ybSgpCiAgICAgICAgIHNlbGYucGFnZS5jbGlja19lbGVtZW50KAotICAg ICAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfeHBhdGgoIi8vKltAaWQ9J2J0bi1jbGVhciddIikK KyAgICAgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcihRdWVyeVRvb2xMb2Nh dG9yc0Nzcy5idG5fY2xlYXIpCiAgICAgICAgICkKICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX21v ZGFsKCdZZXMnKQogCkBAIC0xNzEsNyArMTc4LDggQEAgU0VMRUNUIGdlbmVyYXRlX3Nlcmllcygx LCB7fSkgYXMgaWQxLCAnZHVtbXknIGFzIGlkMiIiIi5mb3JtYXQoCiAgICAgICAgIHdhaXQgPSBX ZWJEcml2ZXJXYWl0KHNlbGYucGFnZS5kcml2ZXIsIDEwKQogICAgICAgICBzZWxmLnBhZ2UuZmls bF9jb2RlbWlycm9yX2FyZWFfd2l0aChxdWVyeSkKIAotICAgICAgICBzZWxmLnBhZ2UuZmluZF9i eV9pZCgiYnRuLWZsYXNoIikuY2xpY2soKQorICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nf c2VsZWN0b3IoCisgICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhlY3V0ZV9x dWVyeSkuY2xpY2soKQogCiAgICAgICAgIHdhaXQudW50aWwoRUMucHJlc2VuY2Vfb2ZfZWxlbWVu dF9sb2NhdGVkKAogICAgICAgICAgICAgKEJ5LlhQQVRILApAQCAtMTkyLDcgKzIwMCw4IEBAIFNF TEVDVCBnZW5lcmF0ZV9zZXJpZXMoMSwge30pIGFzIGlkMSwgJ2R1bW15JyBhcyBpZDIiIiIuZm9y bWF0KAogCiAgICAgICAgIHByaW50KCJPbiBkZW1hbmQgcmVzdWx0IHNldCBvbiBncmlkIHNlbGVj dCBhbGwuLi4gIiwKICAgICAgICAgICAgICAgZmlsZT1zeXMuc3RkZXJyLCBlbmQ9IiIpCi0gICAg ICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tZmxhc2giKS5jbGljaygpCisgICAgICAgIHNl bGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0 b3JzQ3NzLmJ0bl9leGVjdXRlX3F1ZXJ5KS5jbGljaygpCiAKICAgICAgICAgd2FpdC51bnRpbChF Qy5wcmVzZW5jZV9vZl9lbGVtZW50X2xvY2F0ZWQoCiAgICAgICAgICAgICAoQnkuWFBBVEgsCkBA IC0yMTAsNyArMjE5LDggQEAgU0VMRUNUIGdlbmVyYXRlX3NlcmllcygxLCB7fSkgYXMgaWQxLCAn ZHVtbXknIGFzIGlkMiIiIi5mb3JtYXQoCiAKICAgICAgICAgcHJpbnQoIk9uIGRlbWFuZCByZXN1 bHQgc2V0IG9uIGNvbHVtbiBzZWxlY3QgYWxsLi4uICIsCiAgICAgICAgICAgICAgIGZpbGU9c3lz LnN0ZGVyciwgZW5kPSIiKQotICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9pZCgiYnRuLWZsYXNo IikuY2xpY2soKQorICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAg ICAgICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhlY3V0ZV9xdWVyeSkuY2xpY2soKQog CiAgICAgICAgIHNlbGYucGFnZS53YWl0X2Zvcl9xdWVyeV90b29sX2xvYWRpbmdfaW5kaWNhdG9y X3RvX2Rpc2FwcGVhcigpCiAKQEAgLTI1MiwxNiArMjYyLDE5IEBAIFNFTEVDVCBnZW5lcmF0ZV9z ZXJpZXMoMSwgMTAwMCkgYXMgaWQgb3JkZXIgYnkgaWQgZGVzYyIiIgogCiAgICAgICAgIHNlbGYu cGFnZS5maWxsX2NvZGVtaXJyb3JfYXJlYV93aXRoKHF1ZXJ5KQogCi0gICAgICAgIGV4cGxhaW5f b3AgPSBzZWxmLnBhZ2UuZmluZF9ieV9pZCgiYnRuLWV4cGxhaW4tb3B0aW9ucy1kcm9wZG93biIp CisgICAgICAgIGV4cGxhaW5fb3AgPSBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisg ICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhwbGFpbl9vcHRpb25zX2Ryb3Bk b3duKQogICAgICAgICBleHBsYWluX29wLmNsaWNrKCkKIAogICAgICAgICAjIGRpc2FibGUgRXhw bGFpbiBvcHRpb25zIGFuZCBhdXRvIHJvbGxiYWNrIG9ubHkgaWYgdGhleSBhcmUgZW5hYmxlZC4K LSAgICAgICAgZm9yIG9wIGluICgnZXhwbGFpbi12ZXJib3NlJywgJ2V4cGxhaW4tY29zdHMnKToK LSAgICAgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4te30iLmZvcm1hdChvcCkpLmNs aWNrKCkKKyAgICAgICAgZm9yIG9wIGluIChRdWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhwbGFp bl92ZXJib3NlLAorICAgICAgICAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9l eHBsYWluX2Nvc3RzKToKKyAgICAgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3Rv cihvcCkuY2xpY2soKQogCiAgICAgICAgIGV4cGxhaW5fb3AuY2xpY2soKQogCi0gICAgICAgIHNl bGYucGFnZS5maW5kX2J5X2lkKCJidG4tZXhwbGFpbiIpLmNsaWNrKCkKKyAgICAgICAgc2VsZi5w YWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAorICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnND c3MuYnRuX2V4cGxhaW4pLmNsaWNrKCkKIAogICAgICAgICBzZWxmLnBhZ2Uud2FpdF9mb3JfcXVl cnlfdG9vbF9sb2FkaW5nX2luZGljYXRvcl90b19kaXNhcHBlYXIoKQogCkBAIC0yODUsMTYgKzI5 OCwxOSBAQCBTRUxFQ1QgZ2VuZXJhdGVfc2VyaWVzKDEsIDEwMDApIGFzIGlkIG9yZGVyIGJ5IGlk IGRlc2MiIiIKIAogICAgICAgICBzZWxmLnBhZ2UuZmlsbF9jb2RlbWlycm9yX2FyZWFfd2l0aChx dWVyeSkKIAotICAgICAgICBleHBsYWluX29wID0gc2VsZi5wYWdlLmZpbmRfYnlfaWQoImJ0bi1l eHBsYWluLW9wdGlvbnMtZHJvcGRvd24iKQorICAgICAgICBleHBsYWluX29wID0gc2VsZi5wYWdl LmZpbmRfYnlfY3NzX3NlbGVjdG9yKAorICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnNDc3Mu YnRuX2V4cGxhaW5fb3B0aW9uc19kcm9wZG93bikKICAgICAgICAgZXhwbGFpbl9vcC5jbGljaygp CiAKICAgICAgICAgIyBkaXNhYmxlIEV4cGxhaW4gb3B0aW9ucyBhbmQgYXV0byByb2xsYmFjayBv bmx5IGlmIHRoZXkgYXJlIGVuYWJsZWQuCi0gICAgICAgIGZvciBvcCBpbiAoJ2V4cGxhaW4tYnVm ZmVycycsICdleHBsYWluLXRpbWluZycpOgotICAgICAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlf aWQoImJ0bi17fSIuZm9ybWF0KG9wKSkuY2xpY2soKQorICAgICAgICBmb3Igb3AgaW4gKFF1ZXJ5 VG9vbExvY2F0b3JzQ3NzLmJ0bl9leHBsYWluX2J1ZmZlcnMsCisgICAgICAgICAgICAgICAgICAg UXVlcnlUb29sTG9jYXRvcnNDc3MuYnRuX2V4cGxhaW5fdGltaW5nKToKKyAgICAgICAgICAgIHNl bGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcihvcCkuY2xpY2soKQogCiAgICAgICAgIGV4cGxh aW5fb3AuY2xpY2soKQogCi0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tZXhwbGFp bi1hbmFseXplIikuY2xpY2soKQorICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0 b3IoCisgICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhwbGFpbl9hbmFseXpl KS5jbGljaygpCiAKICAgICAgICAgc2VsZi5wYWdlLndhaXRfZm9yX3F1ZXJ5X3Rvb2xfbG9hZGlu Z19pbmRpY2F0b3JfdG9fZGlzYXBwZWFyKCkKIApAQCAtMzI0LDE0ICszNDAsMTcgQEAgQ1JFQVRF IFRBQkxFIHB1YmxpYy57fSgpOyIiIi5mb3JtYXQodGFibGVfbmFtZSkKIAogICAgICAgICBzZWxm LnBhZ2UuZmlsbF9jb2RlbWlycm9yX2FyZWFfd2l0aChxdWVyeSkKIAotICAgICAgICBxdWVyeV9v cCA9IHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tcXVlcnktZHJvcGRvd24iKQorICAgICAgICBx dWVyeV9vcCA9IHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIFF1 ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9xdWVyeV9kcm9wZG93bikKICAgICAgICAgcXVlcnlfb3Au Y2xpY2soKQogCi0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tYXV0by1jb21taXQi KS5jbGljaygpCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAg ICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9hdXRvX2NvbW1pdCkuY2xpY2soKQogCiAg ICAgICAgIHF1ZXJ5X29wLmNsaWNrKCkKIAotICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9pZCgi YnRuLWZsYXNoIikuY2xpY2soKQorICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0 b3IoCisgICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhlY3V0ZV9xdWVyeSku Y2xpY2soKQogCiAgICAgICAgIHNlbGYucGFnZS53YWl0X2Zvcl9xdWVyeV90b29sX2xvYWRpbmdf aW5kaWNhdG9yX3RvX2Rpc2FwcGVhcigpCiAgICAgICAgIHNlbGYucGFnZS5jbGlja190YWIoJ01l c3NhZ2VzJykKQEAgLTM0Nyw3ICszNjYsOCBAQCBDUkVBVEUgVEFCTEUgcHVibGljLnt9KCk7IiIi LmZvcm1hdCh0YWJsZV9uYW1lKQogLS0gNC4gQ2hlY2sgaWYgdGFibGUgaXMgKk5PVCogY3JlYXRl ZC4KIFJPTExCQUNLOyIiIgogICAgICAgICBzZWxmLnBhZ2UuZmlsbF9jb2RlbWlycm9yX2FyZWFf d2l0aChxdWVyeSkKLSAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfaWQoImJ0bi1mbGFzaCIpLmNs aWNrKCkKKyAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAorICAgICAgICAg ICAgUXVlcnlUb29sTG9jYXRvcnNDc3MuYnRuX2V4ZWN1dGVfcXVlcnkpLmNsaWNrKCkKIAogICAg ICAgICBzZWxmLnBhZ2Uud2FpdF9mb3JfcXVlcnlfdG9vbF9sb2FkaW5nX2luZGljYXRvcl90b19k aXNhcHBlYXIoKQogICAgICAgICBzZWxmLnBhZ2UuY2xpY2tfdGFiKCdNZXNzYWdlcycpCkBAIC0z NjQsNyArMzg0LDggQEAgUk9MTEJBQ0s7IiIiCiBTRUxFQ1QgcmVsbmFtZSBGUk9NIHBnX2NsYXNz CiAgICAgV0hFUkUgcmVsa2luZCBJTiAoJ3InLCdzJywndCcpIGFuZCByZWxuYW1lc3BhY2UgPSAy MjAwOjpvaWQ7IiIiCiAgICAgICAgIHNlbGYucGFnZS5maWxsX2NvZGVtaXJyb3JfYXJlYV93aXRo KHF1ZXJ5KQotICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9pZCgiYnRuLWZsYXNoIikuY2xpY2so KQorICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICBR dWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhlY3V0ZV9xdWVyeSkuY2xpY2soKQogCiAgICAgICAg IHNlbGYucGFnZS53YWl0X2Zvcl9xdWVyeV90b29sX2xvYWRpbmdfaW5kaWNhdG9yX3RvX2Rpc2Fw cGVhcigpCiAgICAgICAgIHNlbGYucGFnZS5jbGlja190YWIoJ0RhdGEgT3V0cHV0JykKQEAgLTM5 MywxNCArNDE0LDE3IEBAIEVORDsiIiIKIAogICAgICAgICB3YWl0ID0gV2ViRHJpdmVyV2FpdChz ZWxmLnBhZ2UuZHJpdmVyLCAxMCkKIAotICAgICAgICBxdWVyeV9vcCA9IHNlbGYucGFnZS5maW5k X2J5X2lkKCJidG4tcXVlcnktZHJvcGRvd24iKQorICAgICAgICBxdWVyeV9vcCA9IHNlbGYucGFn ZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3Nz LmJ0bl9xdWVyeV9kcm9wZG93bikKICAgICAgICAgcXVlcnlfb3AuY2xpY2soKQogCi0gICAgICAg IHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tYXV0by1jb21taXQiKS5jbGljaygpCisgICAgICAg IHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIFF1ZXJ5VG9vbExv Y2F0b3JzQ3NzLmJ0bl9hdXRvX2NvbW1pdCkuY2xpY2soKQogCiAgICAgICAgIHF1ZXJ5X29wLmNs aWNrKCkKIAotICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9pZCgiYnRuLWZsYXNoIikuY2xpY2so KQorICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICBR dWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhlY3V0ZV9xdWVyeSkuY2xpY2soKQogCiAgICAgICAg IHNlbGYucGFnZS53YWl0X2Zvcl9xdWVyeV90b29sX2xvYWRpbmdfaW5kaWNhdG9yX3RvX2Rpc2Fw cGVhcigpCiAKQEAgLTQxNiw3ICs0NDAsOCBAQCBDUkVBVEUgVEFCTEUgcHVibGljLnt9KCk7IiIi LmZvcm1hdCh0YWJsZV9uYW1lKQogCiAgICAgICAgIHNlbGYucGFnZS5maWxsX2NvZGVtaXJyb3Jf YXJlYV93aXRoKHF1ZXJ5KQogCi0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tZmxh c2giKS5jbGljaygpCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAg ICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9leGVjdXRlX3F1ZXJ5KS5jbGljaygp CiAKICAgICAgICAgc2VsZi5wYWdlLndhaXRfZm9yX3F1ZXJ5X3Rvb2xfbG9hZGluZ19pbmRpY2F0 b3JfdG9fZGlzYXBwZWFyKCkKICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX3RhYignTWVzc2FnZXMn KQpAQCAtNDMzLDcgKzQ1OCw4IEBAIENSRUFURSBUQUJMRSBwdWJsaWMue30oKTsiIiIuZm9ybWF0 KHRhYmxlX25hbWUpCiAtLSA1LiBDaGVjayBpZiB0YWJsZSBpcyBjcmVhdGVkIGV2ZW50IGFmdGVy IFJPTExCQUNLLgogUk9MTEJBQ0s7IiIiCiAgICAgICAgIHNlbGYucGFnZS5maWxsX2NvZGVtaXJy b3JfYXJlYV93aXRoKHF1ZXJ5KQotICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9pZCgiYnRuLWZs YXNoIikuY2xpY2soKQorICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisg ICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhlY3V0ZV9xdWVyeSkuY2xpY2so KQogCiAgICAgICAgIHNlbGYucGFnZS53YWl0X2Zvcl9xdWVyeV90b29sX2xvYWRpbmdfaW5kaWNh dG9yX3RvX2Rpc2FwcGVhcigpCiAgICAgICAgIHNlbGYucGFnZS5jbGlja190YWIoJ01lc3NhZ2Vz JykKQEAgLTQ1MSw3ICs0NzcsOCBAQCBST0xMQkFDSzsiIiIKIFNFTEVDVCByZWxuYW1lIEZST00g cGdfY2xhc3MKICAgICBXSEVSRSByZWxraW5kIElOICgncicsJ3MnLCd0JykgYW5kIHJlbG5hbWVz cGFjZSA9IDIyMDA6Om9pZDsiIiIKICAgICAgICAgc2VsZi5wYWdlLmZpbGxfY29kZW1pcnJvcl9h cmVhX3dpdGgocXVlcnkpCi0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tZmxhc2gi KS5jbGljaygpCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAg ICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9leGVjdXRlX3F1ZXJ5KS5jbGljaygpCiAK ICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX3RhYignRGF0YSBPdXRwdXQnKQogICAgICAgICBzZWxm LnBhZ2Uud2FpdF9mb3JfcXVlcnlfdG9vbF9sb2FkaW5nX2luZGljYXRvcl90b19kaXNhcHBlYXIo KQpAQCAtNDc5LDE2ICs1MDYsMjAgQEAgRU5EOyIiIgogCiAgICAgICAgIHNlbGYucGFnZS5maWxs X2NvZGVtaXJyb3JfYXJlYV93aXRoKHF1ZXJ5KQogCi0gICAgICAgIHF1ZXJ5X29wID0gc2VsZi5w YWdlLmZpbmRfYnlfaWQoImJ0bi1xdWVyeS1kcm9wZG93biIpCisgICAgICAgIHF1ZXJ5X29wID0g c2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAorICAgICAgICAgICAgUXVlcnlUb29sTG9j YXRvcnNDc3MuYnRuX3F1ZXJ5X2Ryb3Bkb3duKQogICAgICAgICBxdWVyeV9vcC5jbGljaygpCiAK LSAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfaWQoImJ0bi1hdXRvLXJvbGxiYWNrIikuY2xpY2so KQorICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICBR dWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fYXV0b19yb2xsYmFjaykuY2xpY2soKQogCi0gICAgICAg IHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tYXV0by1jb21taXQiKS5jbGljaygpCisgICAgICAg IHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIFF1ZXJ5VG9vbExv Y2F0b3JzQ3NzLmJ0bl9hdXRvX2NvbW1pdCkuY2xpY2soKQogCiAgICAgICAgIHF1ZXJ5X29wLmNs aWNrKCkKIAotICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9pZCgiYnRuLWZsYXNoIikuY2xpY2so KQorICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICBR dWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fZXhlY3V0ZV9xdWVyeSkuY2xpY2soKQogCiAgICAgICAg IHNlbGYucGFnZS53YWl0X2Zvcl9xdWVyeV90b29sX2xvYWRpbmdfaW5kaWNhdG9yX3RvX2Rpc2Fw cGVhcigpCiAgICAgICAgIHNlbGYuX2NsZWFyX3F1ZXJ5X3Rvb2woKQpAQCAtNTA0LDcgKzUzNSw4 IEBAIENSRUFURSBUQUJMRSBwdWJsaWMue30oKTsiIiIuZm9ybWF0KHRhYmxlX25hbWUpCiAKICAg ICAgICAgc2VsZi5wYWdlLmZpbGxfY29kZW1pcnJvcl9hcmVhX3dpdGgocXVlcnkpCiAKLSAgICAg ICAgc2VsZi5wYWdlLmZpbmRfYnlfaWQoImJ0bi1mbGFzaCIpLmNsaWNrKCkKKyAgICAgICAgc2Vs Zi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKAorICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRv cnNDc3MuYnRuX2V4ZWN1dGVfcXVlcnkpLmNsaWNrKCkKIAogICAgICAgICBzZWxmLnBhZ2Uud2Fp dF9mb3JfcXVlcnlfdG9vbF9sb2FkaW5nX2luZGljYXRvcl90b19kaXNhcHBlYXIoKQogICAgICAg ICBzZWxmLnBhZ2UuY2xpY2tfdGFiKCdNZXNzYWdlcycpCkBAIC01MjIsNyArNTU0LDggQEAgQ1JF QVRFIFRBQkxFIHB1YmxpYy57fSgpOyIiIi5mb3JtYXQodGFibGVfbmFtZSkKIC0tIDYuIENoZWNr IGlmIHRhYmxlIGlzICpOT1QqIGNyZWF0ZWQgYWZ0ZXIgZW5kaW5nIHRyYW5zYWN0aW9uLgogU0VM RUNUIDEvMDsiIiIKICAgICAgICAgc2VsZi5wYWdlLmZpbGxfY29kZW1pcnJvcl9hcmVhX3dpdGgo cXVlcnkpCi0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tZmxhc2giKS5jbGljaygp CisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIFF1 ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9leGVjdXRlX3F1ZXJ5KS5jbGljaygpCiAKICAgICAgICAg c2VsZi5wYWdlLndhaXRfZm9yX3F1ZXJ5X3Rvb2xfbG9hZGluZ19pbmRpY2F0b3JfdG9fZGlzYXBw ZWFyKCkKICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX3RhYignTWVzc2FnZXMnKQpAQCAtNTQxLDcg KzU3NCw4IEBAIFNFTEVDVCAxLzA7IiIiCiBFTkQ7IiIiCiAKICAgICAgICAgc2VsZi5wYWdlLmZp bGxfY29kZW1pcnJvcl9hcmVhX3dpdGgocXVlcnkpCi0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5 X2lkKCJidG4tZmxhc2giKS5jbGljaygpCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2Nzc19z ZWxlY3RvcigKKyAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9leGVjdXRlX3F1 ZXJ5KS5jbGljaygpCiAKICAgICAgICAgc2VsZi5wYWdlLndhaXRfZm9yX3F1ZXJ5X3Rvb2xfbG9h ZGluZ19pbmRpY2F0b3JfdG9fZGlzYXBwZWFyKCkKICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX3Rh YignTWVzc2FnZXMnKQpAQCAtNTYwLDcgKzU5NCw4IEBAIEVORDsiIiIKIFNFTEVDVCByZWxuYW1l IEZST00gcGdfY2xhc3MKICAgICBXSEVSRSByZWxraW5kIElOICgncicsJ3MnLCd0JykgYW5kIHJl bG5hbWVzcGFjZSA9IDIyMDA6Om9pZDsiIiIKICAgICAgICAgc2VsZi5wYWdlLmZpbGxfY29kZW1p cnJvcl9hcmVhX3dpdGgocXVlcnkpCi0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4t Zmxhc2giKS5jbGljaygpCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigK KyAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9leGVjdXRlX3F1ZXJ5KS5jbGlj aygpCiAKICAgICAgICAgc2VsZi5wYWdlLndhaXRfZm9yX3F1ZXJ5X3Rvb2xfbG9hZGluZ19pbmRp Y2F0b3JfdG9fZGlzYXBwZWFyKCkKICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX3RhYignRGF0YSBP dXRwdXQnKQpAQCAtNTg0LDEwICs2MTksMTIgQEAgU0VMRUNUIDEsIHBnX3NsZWVwKDMwMCkiIiIK IAogICAgICAgICBzZWxmLnBhZ2UuZmlsbF9jb2RlbWlycm9yX2FyZWFfd2l0aChxdWVyeSkKIAot ICAgICAgICBxdWVyeV9vcCA9IHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tcXVlcnktZHJvcGRv d24iKQorICAgICAgICBxdWVyeV9vcCA9IHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigK KyAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9xdWVyeV9kcm9wZG93bikKICAg ICAgICAgcXVlcnlfb3AuY2xpY2soKQogCi0gICAgICAgIGF1dG9fcm9sbGJhY2tfYnRuID0gc2Vs Zi5wYWdlLmZpbmRfYnlfaWQoImJ0bi1hdXRvLXJvbGxiYWNrIikKKyAgICAgICAgYXV0b19yb2xs YmFja19idG4gPSBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICBR dWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fYXV0b19jb21taXQpCiAKICAgICAgICAgYXV0b19yb2xs YmFja19jaGVjayA9IGF1dG9fcm9sbGJhY2tfYnRuLmZpbmRfZWxlbWVudF9ieV90YWdfbmFtZSgi aSIpCiAKQEAgLTYwMCw3ICs2MzcsOCBAQCBTRUxFQ1QgMSwgcGdfc2xlZXAoMzAwKSIiIgogICAg ICAgICAgICBhdXRvX3JvbGxiYWNrX2NoZWNrLmdldF9hdHRyaWJ1dGUoJ2NsYXNzJykpOgogICAg ICAgICAgICAgYXV0b19yb2xsYmFja19idG4uY2xpY2soKQogCi0gICAgICAgIGF1dG9fY29tbWl0 X2J0biA9IHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tYXV0by1jb21taXQiKQorICAgICAgICBh dXRvX2NvbW1pdF9idG4gPSBzZWxmLnBhZ2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAg ICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5idG5fYXV0b19jb21taXQpCiAKICAgICAgICAgYXV0 b19jb21taXRfY2hlY2sgPSBhdXRvX2NvbW1pdF9idG4uZmluZF9lbGVtZW50X2J5X3RhZ19uYW1l KCJpIikKIApAQCAtNjE1LDEwICs2NTMsMTIgQEAgU0VMRUNUIDEsIHBnX3NsZWVwKDMwMCkiIiIK IAogICAgICAgICBxdWVyeV9vcC5jbGljaygpCiAKLSAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlf aWQoImJ0bi1mbGFzaCIpLmNsaWNrKCkKKyAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3Nl bGVjdG9yKAorICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnNDc3MuYnRuX2V4ZWN1dGVfcXVl cnkpLmNsaWNrKCkKIAogICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV94cGF0aCgiLy8qW0BpZD0n ZmV0Y2hpbmdfZGF0YSddIikKLSAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfaWQoImJ0bi1jYW5j ZWwtcXVlcnkiKS5jbGljaygpCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3Rv cigKKyAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9jYW5jZWxfcXVlcnkpLmNs aWNrKCkKICAgICAgICAgc2VsZi5wYWdlLndhaXRfZm9yX3F1ZXJ5X3Rvb2xfbG9hZGluZ19pbmRp Y2F0b3JfdG9fZGlzYXBwZWFyKCkKICAgICAgICAgc2VsZi5wYWdlLmNsaWNrX3RhYignTWVzc2Fn ZXMnKQogICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV94cGF0aCgKQEAgLTY0Myw3ICs2ODMsOCBA QCBTRUxFQ1QgMSwgcGdfc2xlZXAoMzAwKSIiIgogCiAgICAgICAgIHByaW50KCJcblx0TGlzdGVu IG9uIGFuIGV2ZW50Li4uICIsIGZpbGU9c3lzLnN0ZGVyciwgZW5kPSIiKQogICAgICAgICBzZWxm LnBhZ2UuZmlsbF9jb2RlbWlycm9yX2FyZWFfd2l0aCgiTElTVEVOIGZvbzsiKQotICAgICAgICBz ZWxmLnBhZ2UuZmluZF9ieV9pZCgiYnRuLWZsYXNoIikuY2xpY2soKQorICAgICAgICBzZWxmLnBh Z2UuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nz cy5idG5fZXhlY3V0ZV9xdWVyeSkuY2xpY2soKQogCiAgICAgICAgIHNlbGYucGFnZS53YWl0X2Zv cl9xdWVyeV90b29sX2xvYWRpbmdfaW5kaWNhdG9yX3RvX2Rpc2FwcGVhcigpCiAgICAgICAgIHNl bGYucGFnZS5jbGlja190YWIoJ01lc3NhZ2VzJykKQEAgLTY1Niw3ICs2OTcsOCBAQCBTRUxFQ1Qg MSwgcGdfc2xlZXAoMzAwKSIiIgogCiAgICAgICAgIHByaW50KCJcdE5vdGlmeSBldmVudCB3aXRo b3V0IGRhdGEuLi4gIiwgZmlsZT1zeXMuc3RkZXJyLCBlbmQ9IiIpCiAgICAgICAgIHNlbGYucGFn ZS5maWxsX2NvZGVtaXJyb3JfYXJlYV93aXRoKCJOT1RJRlkgZm9vOyIpCi0gICAgICAgIHNlbGYu cGFnZS5maW5kX2J5X2lkKCJidG4tZmxhc2giKS5jbGljaygpCisgICAgICAgIHNlbGYucGFnZS5m aW5kX2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0 bl9leGVjdXRlX3F1ZXJ5KS5jbGljaygpCiAKICAgICAgICAgc2VsZi5wYWdlLndhaXRfZm9yX3F1 ZXJ5X3Rvb2xfbG9hZGluZ19pbmRpY2F0b3JfdG9fZGlzYXBwZWFyKCkKICAgICAgICAgc2VsZi5w YWdlLmNsaWNrX3RhYignTm90aWZpY2F0aW9ucycpCkBAIC02NzAsNyArNzEyLDggQEAgU0VMRUNU IDEsIHBnX3NsZWVwKDMwMCkiIiIKICAgICAgICAgaWYgc2VsZi5fc3VwcG9ydGVkX3NlcnZlcl92 ZXJzaW9uKCk6CiAgICAgICAgICAgICBzZWxmLnBhZ2UuZmlsbF9jb2RlbWlycm9yX2FyZWFfd2l0 aCgiU0VMRUNUIHBnX25vdGlmeSgnZm9vJywgIgogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIidIZWxsbycpIikKLSAgICAgICAgICAgIHNlbGYucGFnZS5m aW5kX2J5X2lkKCJidG4tZmxhc2giKS5jbGljaygpCisgICAgICAgICAgICBzZWxmLnBhZ2UuZmlu ZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnNDc3Mu YnRuX2V4ZWN1dGVfcXVlcnkpLmNsaWNrKCkKIAogICAgICAgICAgICAgc2VsZi5wYWdlLndhaXRf Zm9yX3F1ZXJ5X3Rvb2xfbG9hZGluZ19pbmRpY2F0b3JfdG9fZGlzYXBwZWFyKCkKICAgICAgICAg ICAgIHNlbGYucGFnZS5jbGlja190YWIoJ05vdGlmaWNhdGlvbnMnKQpAQCAtNzA3LDIyICs3NTAs MjYgQEAgU0VMRUNUIDEsIHBnX3NsZWVwKDMwMCkiIiIKICAgICAgICAgd2FpdCA9IFdlYkRyaXZl cldhaXQoc2VsZi5wYWdlLmRyaXZlciwgMTApCiAKICAgICAgICAgc2VsZi5wYWdlLmZpbGxfY29k ZW1pcnJvcl9hcmVhX3dpdGgoIlNFVCBqaXRfYWJvdmVfY29zdD0xMDsiKQotICAgICAgICBzZWxm LnBhZ2UuZmluZF9ieV9pZCgiYnRuLWZsYXNoIikuY2xpY2soKQorICAgICAgICBzZWxmLnBhZ2Uu ZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICBRdWVyeVRvb2xMb2NhdG9yc0Nzcy5i dG5fZXhlY3V0ZV9xdWVyeSkuY2xpY2soKQogICAgICAgICBzZWxmLnBhZ2Uud2FpdF9mb3JfcXVl cnlfdG9vbF9sb2FkaW5nX2luZGljYXRvcl90b19kaXNhcHBlYXIoKQogICAgICAgICBzZWxmLl9j bGVhcl9xdWVyeV90b29sKCkKIAogICAgICAgICBzZWxmLnBhZ2UuZmlsbF9jb2RlbWlycm9yX2Fy ZWFfd2l0aCgiU0VMRUNUIGNvdW50KCopIEZST00gcGdfY2xhc3M7IikKIAotICAgICAgICBleHBs YWluX29wID0gc2VsZi5wYWdlLmZpbmRfYnlfaWQoImJ0bi1leHBsYWluLW9wdGlvbnMtZHJvcGRv d24iKQorICAgICAgICBleHBsYWluX29wID0gc2VsZi5wYWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9y KAorICAgICAgICAgICAgUXVlcnlUb29sTG9jYXRvcnNDc3MuYnRuX2V4cGxhaW5fb3B0aW9uc19k cm9wZG93bikKICAgICAgICAgZXhwbGFpbl9vcC5jbGljaygpCiAKICAgICAgICAgIyBkaXNhYmxl IEV4cGxhaW4gb3B0aW9ucyBhbmQgYXV0byByb2xsYmFjayBvbmx5IGlmIHRoZXkgYXJlIGVuYWJs ZWQuCi0gICAgICAgIGZvciBvcCBpbiAoJ2V4cGxhaW4tdmVyYm9zZScsICdleHBsYWluLWNvc3Rz JywgJ2V4cGxhaW4tYW5hbHl6ZScpOgotICAgICAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfaWQo ImJ0bi17fSIuZm9ybWF0KG9wKSkuY2xpY2soKQorICAgICAgICBmb3Igb3AgaW4gKFF1ZXJ5VG9v bExvY2F0b3JzQ3NzLmJ0bl9leHBsYWluX3ZlcmJvc2UsCisgICAgICAgICAgICAgICAgICAgUXVl cnlUb29sTG9jYXRvcnNDc3MuYnRuX2V4cGxhaW5fY29zdHMpOgorICAgICAgICAgICAgc2VsZi5w YWdlLmZpbmRfYnlfY3NzX3NlbGVjdG9yKG9wKS5jbGljaygpCiAKICAgICAgICAgZXhwbGFpbl9v cC5jbGljaygpCiAKLSAgICAgICAgc2VsZi5wYWdlLmZpbmRfYnlfaWQoImJ0bi1leHBsYWluLWFu YWx5emUiKS5jbGljaygpCisgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2Nzc19zZWxlY3RvcigK KyAgICAgICAgICAgIFF1ZXJ5VG9vbExvY2F0b3JzQ3NzLmJ0bl9leHBsYWluX2FuYWx5emUpLmNs aWNrKCkKIAogICAgICAgICBzZWxmLnBhZ2Uud2FpdF9mb3JfcXVlcnlfdG9vbF9sb2FkaW5nX2lu ZGljYXRvcl90b19kaXNhcHBlYXIoKQogICAgICAgICBzZWxmLnBhZ2UuY2xpY2tfdGFiKCdEYXRh IE91dHB1dCcpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3ZpZXdfZGF0 YV9kbWxfcXVlcmllcy5weSBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvdmlld19kYXRhX2Rt bF9xdWVyaWVzLnB5CmluZGV4IDFiZTlkY2ZhLi4zYzAwZDU3MSAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vZmVhdHVyZV90ZXN0cy92aWV3X2RhdGFfZG1sX3F1ZXJpZXMucHkKKysrIGIvd2ViL3Bn YWRtaW4vZmVhdHVyZV90ZXN0cy92aWV3X2RhdGFfZG1sX3F1ZXJpZXMucHkKQEAgLTEwOSw3ICsx MDksNyBAQCBDUkVBVEUgVEFCTEUgcHVibGljLmRlZmF1bHRzX3swfQogICAgICAgICBmb3IgY250 IGluICgxLCAyKToKICAgICAgICAgICAgIHNlbGYucGFnZS5zZWxlY3RfdHJlZV9pdGVtKCdkZWZh dWx0c197MH0nLmZvcm1hdChzdHIoY250KSkpCiAgICAgICAgICAgICAjIE9wZW4gT2JqZWN0IC0+ IFZpZXcvRWRpdCBkYXRhCi0gICAgICAgICAgICBzZWxmLl92aWV3X2RhdGFfZ3JpZCgpCisgICAg ICAgICAgICBzZWxmLl92aWV3X2RhdGFfZ3JpZCgnZGVmYXVsdHNfezB9Jy5mb3JtYXQoc3RyKGNu dCkpKQogCiAgICAgICAgICAgICBzZWxmLnBhZ2Uud2FpdF9mb3JfcXVlcnlfdG9vbF9sb2FkaW5n X2luZGljYXRvcl90b19kaXNhcHBlYXIoKQogICAgICAgICAgICAgIyBSdW4gdGVzdCB0byBpbnNl cnQgYSBuZXcgcm93IGluIHRhYmxlIHdpdGggZGVmYXVsdCB2YWx1ZXMKQEAgLTIxNCw3ICsyMTQs NyBAQCBDUkVBVEUgVEFCTEUgcHVibGljLmRlZmF1bHRzX3swfQogICAgICAgICBzZWxmLnBhZ2Uu dG9nZ2xlX29wZW5fdHJlZV9pdGVtKCdwdWJsaWMnKQogICAgICAgICBzZWxmLnBhZ2UudG9nZ2xl X29wZW5fdHJlZV9pdGVtKCdUYWJsZXMnKQogCi0gICAgZGVmIF92aWV3X2RhdGFfZ3JpZChzZWxm KToKKyAgICBkZWYgX3ZpZXdfZGF0YV9ncmlkKHNlbGYsIHRhYmxlX25hbWUpOgogICAgICAgICBz ZWxmLnBhZ2UuZHJpdmVyLmZpbmRfZWxlbWVudF9ieV9saW5rX3RleHQoIk9iamVjdCIpLmNsaWNr KCkKICAgICAgICAgQWN0aW9uQ2hhaW5zKAogICAgICAgICAgICAgc2VsZi5wYWdlLmRyaXZlcgpA QCAtMjI0LDcgKzIyNCw4IEBAIENSRUFURSBUQUJMRSBwdWJsaWMuZGVmYXVsdHNfezB9CiAgICAg ICAgIHNlbGYucGFnZS5maW5kX2J5X3BhcnRpYWxfbGlua190ZXh0KCJBbGwgUm93cyIpLmNsaWNr KCkKICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgICAjIHdhaXQgdW50aWwgZGF0YWdyaWQg ZnJhbWUgaXMgbG9hZGVkLgotICAgICAgICBzZWxmLnBhZ2UuY2xpY2tfdGFiKCdFZGl0IERhdGEg LScpCisKKyAgICAgICAgc2VsZi5wYWdlLmNsaWNrX3RhYih0YWJsZV9uYW1lKQogCiAgICAgICAg IHNlbGYud2FpdC51bnRpbCgKICAgICAgICAgICAgIEVDLnZpc2liaWxpdHlfb2ZfZWxlbWVudF9s b2NhdGVkKApAQCAtMzA5LDYgKzMxMCw3IEBAIENSRUFURSBUQUJMRSBwdWJsaWMuZGVmYXVsdHNf ezB9CiAKICAgICAgICAgICAgIGlmIChpZHggIT0gMSBhbmQgbm90IGlzX25ld19yb3cpIG9yIGlz X25ld19yb3c6CiAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZWxlbWVudC50ZXh0 LCBjb25maWdfZGF0YVtzdHIoaWR4KV1bMV0pCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRF cXVhbHMoZWxlbWVudC50ZXh0LCBjb25maWdfZGF0YVtzdHIoaWR4KV1bMV0pCiAKICAgICAgICAg IyBzY3JvbGwgYnJvd3NlciBiYWNrIHRvIHRoZSBsZWZ0CiAgICAgICAgICMgdG8gcmVzZXQgcG9z aXRpb24gc28gb3RoZXIgYXNzZXJ0aW9ucyBjYW4gc3VjY2VlZApkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vZmVhdHVyZV90ZXN0cy94c3NfY2hlY2tzX3BhbmVsc19hbmRfcXVlcnlfdG9vbF90ZXN0 LnB5IGIvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy94c3NfY2hlY2tzX3BhbmVsc19hbmRfcXVl cnlfdG9vbF90ZXN0LnB5CmluZGV4IDI3YWM4YzJjLi44MTc1YmY5ZiAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vZmVhdHVyZV90ZXN0cy94c3NfY2hlY2tzX3BhbmVsc19hbmRfcXVlcnlfdG9vbF90 ZXN0LnB5CisrKyBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMveHNzX2NoZWNrc19wYW5lbHNf YW5kX3F1ZXJ5X3Rvb2xfdGVzdC5weQpAQCAtNTIsMTMgKzUyLDIxIEBAIGNsYXNzIENoZWNrRm9y WHNzRmVhdHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0KToKICAgICAgICAgc2VsZi5fY2hlY2tfeHNz X2luX2Jyb3dzZXJfdHJlZSgpCiAgICAgICAgIHNlbGYuX2NoZWNrX3hzc19pbl9wcm9wZXJ0aWVz X3RhYigpCiAgICAgICAgIHNlbGYuX2NoZWNrX3hzc19pbl9zcWxfdGFiKCkKKworICAgICAgICAj IHNvbWV0aW1lIHRoZSB0YWIgZm9yIGRlcGVuZGVudCBkb2VzIG5vdCBzaG93IGluZm8sIHNvIHJl ZnJlc2hpbmcKKyAgICAgICAgIyB0aGUgcGFnZSBhbmQgdGhlbiBhZ2FpbiBjb2xsYXBzaW5nIHVu dGlsIHRoZSB0YWJsZSBub2RlCisgICAgICAgIHNlbGYucGFnZS5yZWZyZXNoX3BhZ2UoKQorICAg ICAgICBzZWxmLnBhZ2UudG9nZ2xlX29wZW5fc2VydmVyc19ncm91cCgpCisgICAgICAgIHNlbGYu X3RhYmxlc19ub2RlX2V4cGFuZGFibGUoKQogICAgICAgICBzZWxmLl9jaGVja194c3NfaW5fZGVw ZW5kZW50c190YWIoKQogCiAgICAgICAgICMgUXVlcnkgdG9vbAorICAgICAgICBzZWxmLnBhZ2Uu b3Blbl9xdWVyeV90b29sKCkKICAgICAgICAgc2VsZi5fY2hlY2tfeHNzX2luX3F1ZXJ5X3Rvb2wo KQogICAgICAgICBzZWxmLnBhZ2UuY2xvc2VfcXVlcnlfdG9vbCgpCiAKICAgICAgICAgIyBFeHBs YWluIG1vZHVsZQorICAgICAgICBzZWxmLnBhZ2Uub3Blbl9xdWVyeV90b29sKCkKICAgICAgICAg c2VsZi5fY2hlY2tfeHNzX2luX2V4cGxhaW5fbW9kdWxlKCkKICAgICAgICAgc2VsZi5wYWdlLmNs b3NlX3F1ZXJ5X3Rvb2woKQogCkBAIC0xMjUsNiArMTMzLDcgQEAgY2xhc3MgQ2hlY2tGb3JYc3NG ZWF0dXJlVGVzdChCYXNlRmVhdHVyZVRlc3QpOgogCiAgICAgIyBDcmVhdGUgYW55IGNvbnN0cmFp bnQgd2l0aCB4c3MgbmFtZSB0byB0ZXN0IHRoaXMKICAgICBkZWYgX2NoZWNrX3hzc19pbl9kZXBl bmRlbnRzX3RhYihzZWxmKToKKwogICAgICAgICBwcmludCgKICAgICAgICAgICAgICJcblx0Q2hl Y2tpbmcgdGhlIERlcGVuZGVudHMgdGFiIGZvciB0aGUgWFNTIiwKICAgICAgICAgICAgIGZpbGU9 c3lzLnN0ZGVyciwgZW5kPSIiCkBAIC0xNDIsMTcgKzE1MSwxMSBAQCBjbGFzcyBDaGVja0Zvclhz c0ZlYXR1cmVUZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgICAgICAgICAiRGVwZW5kZW50cyB0 YWIgKEJhY2tHcmlkKSIKICAgICAgICAgKQogCi0gICAgZGVmIF9vcGVuX3F1ZXJ5X3Rvb2woc2Vs Zik6Ci0gICAgICAgIHNlbGYucGFnZS5kcml2ZXIuZmluZF9lbGVtZW50X2J5X2xpbmtfdGV4dCgi VG9vbHMiKS5jbGljaygpCi0gICAgICAgIHNlbGYucGFnZS5maW5kX2J5X3BhcnRpYWxfbGlua190 ZXh0KCJRdWVyeSBUb29sIikuY2xpY2soKQotICAgICAgICBzZWxmLnBhZ2UuY2xpY2tfdGFiKCdR dWVyeSAtJykKLQogICAgIGRlZiBfY2hlY2tfeHNzX2luX3F1ZXJ5X3Rvb2woc2VsZik6CiAgICAg ICAgIHByaW50KAogICAgICAgICAgICAgIlxuXHRDaGVja2luZyB0aGUgU2xpY2tHcmlkIGNlbGwg Zm9yIHRoZSBYU1MiLAogICAgICAgICAgICAgZmlsZT1zeXMuc3RkZXJyLCBlbmQ9IiIKICAgICAg ICAgKQotICAgICAgICBzZWxmLl9vcGVuX3F1ZXJ5X3Rvb2woKQogICAgICAgICBzZWxmLnBhZ2Uu ZmlsbF9jb2RlbWlycm9yX2FyZWFfd2l0aCgKICAgICAgICAgICAgICJzZWxlY3QgJzxpbWcgc3Jj PVwieFwiIG9uZXJyb3I9XCJjb25zb2xlLmxvZygxKVwiPiciCiAgICAgICAgICkKQEAgLTE3OSwx NCArMTgyLDEwIEBAIGNsYXNzIENoZWNrRm9yWHNzRmVhdHVyZVRlc3QoQmFzZUZlYXR1cmVUZXN0 KToKICAgICAgICAgICAgICJcblx0Q2hlY2tpbmcgdGhlIEdyYXBoaWNhbCBFeHBsYWluIHBsYW4g Zm9yIHRoZSBYU1MgLi4uIiwKICAgICAgICAgICAgIGZpbGU9c3lzLnN0ZGVyciwgZW5kPSIiCiAg ICAgICAgICkKLSAgICAgICAgc2VsZi5fb3Blbl9xdWVyeV90b29sKCkKICAgICAgICAgc2VsZi5w YWdlLmZpbGxfY29kZW1pcnJvcl9hcmVhX3dpdGgoCiAgICAgICAgICAgICAnc2VsZWN0ICogZnJv bSAiezB9IicuZm9ybWF0KHNlbGYudGVzdF90YWJsZV9uYW1lKQogICAgICAgICApCiAKLSAgICAg ICAgcXVlcnlfb3AgPSBzZWxmLnBhZ2UuZmluZF9ieV9pZCgiYnRuLXF1ZXJ5LWRyb3Bkb3duIikK LSAgICAgICAgcXVlcnlfb3AuY2xpY2soKQotCiAgICAgICAgIHNlbGYucGFnZS5maW5kX2J5X2lk KCJidG4tZXhwbGFpbiIpLmNsaWNrKCkKICAgICAgICAgc2VsZi5wYWdlLndhaXRfZm9yX3F1ZXJ5 X3Rvb2xfbG9hZGluZ19pbmRpY2F0b3JfdG9fZGlzYXBwZWFyKCkKICAgICAgICAgc2VsZi5wYWdl LmNsaWNrX3RhYignRXhwbGFpbicpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9kYXRh Z3JpZC9zdGF0aWMvanMvZGF0YWdyaWQuanMgYi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9z dGF0aWMvanMvZGF0YWdyaWQuanMKaW5kZXggMGE3OTVmYWIuLjRlZDA3MmI2IDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvZGF0YWdyaWQuanMKKysrIGIv d2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL2RhdGFncmlkLmpzCkBAIC01NCwx NCArNTQsNyBAQCBkZWZpbmUoJ3BnYWRtaW4uZGF0YWdyaWQnLCBbCiAgICAgICAgICAgc2VsZi5w cmVmZXJlbmNlcyA9IHBnQnJvd3Nlci5nZXRfcHJlZmVyZW5jZXNfZm9yX21vZHVsZSgnc3FsZWRp dG9yJyk7CiAgICAgICAgIH0pOwogCi0gICAgICAgIHRoaXMuc3Bpbm5lcl9lbCA9Ci0gICAgICAg ICAgYDxkaXYgY2xhc3M9InBnLXNwLWNvbnRhaW5lciI+Ci0gICAgICAgICAgICAgIDxkaXYgY2xh c3M9InBnLXNwLWNvbnRlbnQiPgotICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4K LSAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtMTIgcGctc3AtaWNvbiI+PC9k aXY+Ci0gICAgICAgICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgICAgPC9kaXY+Ci0gICAg ICAgICAgPC9kaXY+YDsKKwogICAgICAgICAvLyBEZWZpbmUgbGlzdCBvZiBub2RlcyBvbiB3aGlj aCB2aWV3IGRhdGEgb3B0aW9uIGFwcGVhcnMKICAgICAgICAgdmFyIHN1cHBvcnRlZF9ub2RlcyA9 IFsKICAgICAgICAgICAgICd0YWJsZScsICd2aWV3JywgJ212aWV3JywKQEAgLTUyNSwxNyArNTE4 LDI2IEBAIGRlZmluZSgncGdhZG1pbi5kYXRhZ3JpZCcsIFsKIAogICAgICAgICAgIHZhciBvcGVu UXVlcnlUb29sVVJMID0gZnVuY3Rpb24oaikgewogICAgICAgICAgICAgLy8gYWRkIHNwaW5uZXIg ZWxlbWVudAotICAgICAgICAgICAgJChqKS5kYXRhKCdlbWJlZGRlZEZyYW1lJykuJGNvbnRhaW5l ci5hcHBlbmQocGdBZG1pbi5EYXRhR3JpZC5zcGlubmVyX2VsKTsKLSAgICAgICAgICAgIHNldFRp bWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBsZXQgJHNwaW5uZXJfZWwgPQorICAgICAg ICAgICAgICAkKGA8ZGl2IGNsYXNzPSJwZy1zcC1jb250YWluZXIiPgorICAgICAgICAgICAgICAg ICAgICA8ZGl2IGNsYXNzPSJwZy1zcC1jb250ZW50Ij4KKyAgICAgICAgICAgICAgICAgICAgICAg IDxkaXYgY2xhc3M9InJvdyI+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFz cz0iY29sLTEyIHBnLXNwLWljb24iPjwvZGl2PgorICAgICAgICAgICAgICAgICAgICAgICAgPC9k aXY+CisgICAgICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAgIDwvZGl2PmAp LmFwcGVuZFRvKCQoaikuZGF0YSgnZW1iZWRkZWRGcmFtZScpLiRjb250YWluZXIpOworCisgICAg ICAgICAgICBsZXQgaW5pdF9wb2xsZXJfaWQgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKICAg ICAgICAgICAgICAgdmFyIGZyYW1lSW5pdGlhbGl6ZWQgPSAkKGopLmRhdGEoJ2ZyYW1lSW5pdGlh bGl6ZWQnKTsKICAgICAgICAgICAgICAgaWYgKGZyYW1lSW5pdGlhbGl6ZWQpIHsKKyAgICAgICAg ICAgICAgICBjbGVhckludGVydmFsKGluaXRfcG9sbGVyX2lkKTsKICAgICAgICAgICAgICAgICB2 YXIgZnJhbWUgPSAkKGopLmRhdGEoJ2VtYmVkZGVkRnJhbWUnKTsKICAgICAgICAgICAgICAgICBp ZiAoZnJhbWUpIHsKKyAgICAgICAgICAgICAgICAgIGZyYW1lLm9uTG9hZGVkKCgpPT57CisgICAg ICAgICAgICAgICAgICAgICRzcGlubmVyX2VsLnJlbW92ZSgpOworICAgICAgICAgICAgICAgICAg fSk7CiAgICAgICAgICAgICAgICAgICBmcmFtZS5vcGVuVVJMKGJhc2VVcmwpOwotICAgICAgICAg ICAgICAgICAgZnJhbWUuJGNvbnRhaW5lci5maW5kKCcucGctc3AtY29udGFpbmVyJykuZGVsYXko MTAwMCkuaGlkZSgxKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgIH0gZWxzZSB7 Ci0gICAgICAgICAgICAgICAgb3BlblF1ZXJ5VG9vbFVSTChqKTsKICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgfSwgMTAwKTsKICAgICAgICAgICB9OwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vdXRpbHMvcm91dGUucHkgYi93ZWIvcGdhZG1pbi91dGlscy9yb3V0ZS5weQppbmRleCBlNjdm MDE5NS4uYjIwNmNiMmUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3V0aWxzL3JvdXRlLnB5Cisr KyBiL3dlYi9wZ2FkbWluL3V0aWxzL3JvdXRlLnB5CkBAIC01Myw3ICs1Myw3IEBAIGNsYXNzIFRl c3RzR2VuZXJhdG9yUmVnaXN0cnkoQUJDTWV0YSk6CiAgICAgICAgIEFCQ01ldGEuX19pbml0X18o Y2xzLCBuYW1lLCBiYXNlcywgZCkKIAogICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBsb2FkX2dl bmVyYXRvcnMoY2xzLCBwa2dfcm9vdCwgZXhjbHVkZV9wa2dzKToKKyAgICBkZWYgbG9hZF9nZW5l cmF0b3JzKGNscywgcGtnX3Jvb3QsIGV4Y2x1ZGVfcGtncywgZm9yX21vZHVsZXM9W10pOgogCiAg ICAgICAgIGNscy5yZWdpc3RyeSA9IGRpY3QoKQogCkBAIC02MSw2ICs2MSwxMyBAQCBjbGFzcyBU ZXN0c0dlbmVyYXRvclJlZ2lzdHJ5KEFCQ01ldGEpOgogCiAgICAgICAgIGFsbF9tb2R1bGVzICs9 IGZpbmRfbW9kdWxlcyhwa2dfcm9vdCwgRmFsc2UsIFRydWUpCiAKKyAgICAgICAgIyBJZiBzcGVj aWZpYyBtb2R1bGVzIGFyZSB0byBiZSB0ZXN0ZWQsIGV4Y2x1ZGUgb3RoZXJzCisgICAgICAgIGlm IGxlbihmb3JfbW9kdWxlcykgPiAwOgorICAgICAgICAgICAgYWxsX21vZHVsZXMgPSBbbW9kdWxl X25hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBtb2R1bGVfbmFtZSBpbiBhbGxf bW9kdWxlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGZtb2QgaW4gZm9yX21vZHVs ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG1vZHVsZV9uYW1lLmVuZHN3aXRoKGZt b2QpXQorCiAgICAgICAgICMgQ2hlY2sgZm9yIFNFUlZFUiBtb2RlCiAgICAgICAgIGZvciBtb2R1 bGVfbmFtZSBpbiBhbGxfbW9kdWxlczoKICAgICAgICAgICAgIHRyeToKZGlmZiAtLWdpdCBhL3dl Yi9yZWdyZXNzaW9uL1JFQURNRSBiL3dlYi9yZWdyZXNzaW9uL1JFQURNRQppbmRleCA3ZTY2OGNm ZC4uNmE2OGQzNmYgMTAwNjQ0Ci0tLSBhL3dlYi9yZWdyZXNzaW9uL1JFQURNRQorKysgYi93ZWIv cmVncmVzc2lvbi9SRUFETUUKQEAgLTE2Nyw2ICsxNjcsMTQgQEAgUHl0aG9uIFRlc3RzOgogICAg ICBFeGFtcGxlIDIpIFJ1biB0ZXN0IGZyYW1ld29yayBmb3IgJ2RhdGFiYXNlJyBub2RlCiAgICAg IHJ1biAncHl0aG9uIHJ1bnRlc3RzLnB5IC0tcGtnIGJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2 ZXJzLmRhdGFiYXNlcy50ZXN0cycKIAorLSBFeGVjdXRlIHRlc3QgZnJhbWV3b3JrIGZvciBjZXJ0 YWluIG1vZHVsZXMgb2YgYSB0ZXN0IHBrZworCisgICAgIEV4YW1wbGUgMSkgUnVuIHRlc3QgZnJh bWV3b3JrIGZvciAnc3FsZWRpdG9yJyBwYWNrYWdlIGFuZCB0ZXN0X3N0YXJ0X3J1bm5pbmdfcXVl cnkgbW9kdWxlCisgICAgIHJ1biAncHl0aG9uIHJ1bnRlc3RzLnB5IC0tcGtnIHRvb2xzLnNxbGVk aXRvciAtLW1vZHVsZXMgdGVzdF9zdGFydF9ydW5uaW5nX3F1ZXJ5JworCisgICAgIEV4YW1wbGUg MikgUnVuIHRlc3QgZnJhbWV3b3JrIGZvciAnc3FsZWRpdG9yJyBwYWNrYWdlIGFuZCB0ZXN0X3N0 YXJ0X3J1bm5pbmdfcXVlcnksdGVzdF9xdWVyeV90b29sX2ZzX3V0aWxzIG1vZHVsZXMKKyAgICAg cnVuICdweXRob24gcnVudGVzdHMucHkgLS1wa2cgdG9vbHMuc3FsZWRpdG9yIC0tbW9kdWxlcyB0 ZXN0X3N0YXJ0X3J1bm5pbmdfcXVlcnksdGVzdF9xdWVyeV90b29sX2ZzX3V0aWxzJworCiAtIEV4 Y2x1ZGUgYSBwYWNrYWdlIGFuZCBpdHMgc3VicGFja2FnZXMgd2hlbiBydW5uaW5nIHRlc3RzOgog CiAgICAgRXhhbXBsZTogZXhjbHVkZSBmZWF0dXJlIHRlc3RzIGJ1dCBydW4gYWxsIG90aGVyczoK ZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL2ZlYXR1cmVfdXRpbHMvcGdhZG1pbl9wYWdlLnB5 IGIvd2ViL3JlZ3Jlc3Npb24vZmVhdHVyZV91dGlscy9wZ2FkbWluX3BhZ2UucHkKaW5kZXggMGM4 ZjBmYTMuLjcyZmJkMzU2IDEwMDY0NAotLS0gYS93ZWIvcmVncmVzc2lvbi9mZWF0dXJlX3V0aWxz L3BnYWRtaW5fcGFnZS5weQorKysgYi93ZWIvcmVncmVzc2lvbi9mZWF0dXJlX3V0aWxzL3BnYWRt aW5fcGFnZS5weQpAQCAtMTAsNyArMTAsOCBAQAogaW1wb3J0IHRpbWUKIAogZnJvbSBzZWxlbml1 bS5jb21tb24uZXhjZXB0aW9ucyBpbXBvcnQgTm9TdWNoRWxlbWVudEV4Y2VwdGlvbiwgXAotICAg IFdlYkRyaXZlckV4Y2VwdGlvbiwgVGltZW91dEV4Y2VwdGlvbiwgTm9TdWNoV2luZG93RXhjZXB0 aW9uCisgICAgV2ViRHJpdmVyRXhjZXB0aW9uLCBUaW1lb3V0RXhjZXB0aW9uLCBOb1N1Y2hXaW5k b3dFeGNlcHRpb24sIFwKKyAgICBTdGFsZUVsZW1lbnRSZWZlcmVuY2VFeGNlcHRpb24KIGZyb20g c2VsZW5pdW0ud2ViZHJpdmVyIGltcG9ydCBBY3Rpb25DaGFpbnMKIGZyb20gc2VsZW5pdW0ud2Vi ZHJpdmVyLmNvbW1vbi5rZXlzIGltcG9ydCBLZXlzCiBmcm9tIHNlbGVuaXVtLndlYmRyaXZlci5z dXBwb3J0IGltcG9ydCBleHBlY3RlZF9jb25kaXRpb25zIGFzIEVDCkBAIC05Myw3ICs5NCw2IEBA IGNsYXNzIFBnYWRtaW5QYWdlOgogICAgICAgICBzZWxmLmVuYWJsZV9tZW51X2l0ZW0ocXVlcnlf dG9vbCwgMTApCiAKICAgICAgICAgc2VsZi5maW5kX2J5X3BhcnRpYWxfbGlua190ZXh0KCJRdWVy eSBUb29sIikuY2xpY2soKQotICAgICAgICBzZWxmLmNsaWNrX3RhYignUXVlcnkgLScpCiAKICAg ICBkZWYgZW5hYmxlX21lbnVfaXRlbShzZWxmLCBtZW51X2l0ZW0sIHdhaXRfdGltZSk6CiAgICAg ICAgIHN0YXJ0X3RpbWUgPSB0aW1lLnRpbWUoKQpAQCAtMTEwLDExICsxMTAsMTAgQEAgY2xhc3Mg UGdhZG1pblBhZ2U6CiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBhc3NlcnQgRmFsc2UsICIn VG9vbHMgLT4gUXVlcnkgVG9vbCcgbWVudSBkaWQgbm90IGVuYWJsZS4iCiAKLSAgICBkZWYgY2xv c2VfcXVlcnlfdG9vbChzZWxmLCBuYW1lPSJRdWVyeSIsIHByb21wdD1UcnVlKToKKyAgICBkZWYg Y2xvc2VfcXVlcnlfdG9vbChzZWxmLCBwcm9tcHQ9VHJ1ZSk6CiAgICAgICAgIHNlbGYuZHJpdmVy LnN3aXRjaF90by5kZWZhdWx0X2NvbnRlbnQoKQogICAgICAgICB0YWIgPSBzZWxmLmZpbmRfYnlf eHBhdGgoCi0gICAgICAgICAgICAiLy8qW2NvbnRhaW5zKEBjbGFzcywnd2NQYW5lbFRhYicpIGFu ZCAiCi0gICAgICAgICAgICAiY29udGFpbnMoLiwnIiArIG5hbWUgKyAiJyldIikKKyAgICAgICAg ICAgICIvL2RpdltAY2xhc3M9J3djUGFuZWxUYWIgd2NQYW5lbFRhYkFjdGl2ZSddIikKICAgICAg ICAgQWN0aW9uQ2hhaW5zKHNlbGYuZHJpdmVyKS5jb250ZXh0X2NsaWNrKHRhYikucGVyZm9ybSgp CiAgICAgICAgIHNlbGYuZmluZF9ieV94cGF0aCgKICAgICAgICAgICAgICIvL2xpW2NvbnRhaW5z KEBjbGFzcywgJ2NvbnRleHQtbWVudS1pdGVtJyldL3NwYW5bY29udGFpbnModGV4dCgpLCIKQEAg LTE0OSwxOCArMTQ4LDM3IEBAIGNsYXNzIFBnYWRtaW5QYWdlOgogCiAgICAgZGVmIHNlbGVjdF90 cmVlX2l0ZW0oc2VsZiwgdHJlZV9pdGVtX3RleHQpOgogICAgICAgICBpdGVtID0gc2VsZi5maW5k X2J5X3hwYXRoKAotICAgICAgICAgICAgIi8vKltAaWQ9J3RyZWUnXS8vKlsuPSciICsgdHJlZV9p dGVtX3RleHQgKwotICAgICAgICAgICAgIicgYW5kIEBjbGFzcz0nYWNpVHJlZUl0ZW0nXSIpCisg ICAgICAgICAgICAiLy8qW0BpZD0ndHJlZSddLy8qW2NvbnRhaW5zKHRleHQoKSwgJyIgKyB0cmVl X2l0ZW1fdGV4dCArICInKV0iCisgICAgICAgICAgICAiL3BhcmVudDo6c3BhbltAY2xhc3M9J2Fj aVRyZWVJdGVtJ10iKQogICAgICAgICBzZWxmLmRyaXZlci5leGVjdXRlX3NjcmlwdCgiYXJndW1l bnRzWzBdLnNjcm9sbEludG9WaWV3KCkiLCBpdGVtKQogICAgICAgICBpdGVtLmNsaWNrKCkKIAot ICAgIGRlZiB0b2dnbGVfb3Blbl90cmVlX2l0ZW0oc2VsZiwgdHJlZV9pdGVtX3RleHQpOgotICAg ICAgICBpdGVtID0gc2VsZi5maW5kX2J5X3hwYXRoKAotICAgICAgICAgICAgIi8vKltAaWQ9J3Ry ZWUnXS8vKlsuPSciICsgdHJlZV9pdGVtX3RleHQgKwotICAgICAgICAgICAgIiddLy4uLypbQGNs YXNzPSdhY2lUcmVlQnV0dG9uJ10iKQorICAgIGRlZiB0b2dnbGVfb3Blbl9zZXJ2ZXJzX2dyb3Vw KHNlbGYpOgorICAgICAgICAiIiJUaGlzIHdpbGwgb3BlbiBTZXJ2ZXJzIGdyb3VwIHRvIGRpc3Bs YXkgdW5kZXJseWluZyBub2RlcyIiIgorICAgICAgICBzZWxmLndhaXRfZm9yX3NwaW5uZXJfdG9f ZGlzYXBwZWFyKCkKKyAgICAgICAgc2VydmVyX2dyb3VwID0gc2VsZi5maW5kX2J5X3hwYXRoKAor ICAgICAgICAgICAgIi8vZGl2W0BpZD0ndHJlZSddLy9zcGFuW0BjbGFzcz0nYWNpVHJlZUl0ZW0n XSIKKyAgICAgICAgICAgICIvc3BhblsoQGNsYXNzPSdhY2lUcmVlVGV4dCcpIGFuZCBzdGFydHMt d2l0aCh0ZXh0KCksJ1NlcnZlcnMgJykgIgorICAgICAgICAgICAgIm9yIHN0YXJ0cy13aXRoKHRl eHQoKSwgJ1NlcnZlcnMnKV0iKQorICAgICAgICBBY3Rpb25DaGFpbnMoc2VsZi5kcml2ZXIpLmRv dWJsZV9jbGljayhzZXJ2ZXJfZ3JvdXApLnBlcmZvcm0oKQogCi0gICAgICAgIHNlbGYuZHJpdmVy LmV4ZWN1dGVfc2NyaXB0KCJhcmd1bWVudHNbMF0uc2Nyb2xsSW50b1ZpZXcoKSIsIGl0ZW0pCi0g ICAgICAgIGl0ZW0uY2xpY2soKQorICAgIGRlZiB0b2dnbGVfb3Blbl90cmVlX2l0ZW0oc2VsZiwg dHJlZV9pdGVtX3RleHQpOgorICAgICAgICAjICdzbGVlcCcgaGVyZSBoZWxwcyBpbiBjYXNlcyB3 aGVyZSB1bmRlcmx5aW5nIG5vZGVzIGFyZSBhdXRvIG9wZW5lZC4KKyAgICAgICAgIyBPdGhlcndp c2UsIGVuY291bnRlcmVkIHNpdHVhdGlvbnMgd2hlcmUgRmFsc2UgdmFsdWUgaXMgcmV0dXJuZWQK KyAgICAgICAgIyBldmVuIGlmIHRoZSB1bmRlcmx5aW5nIG5vZGUgdG8gYmUgY2xpY2tlZCB3YXMg T3BlbmVkLgorICAgICAgICB0aW1lLnNsZWVwKC4zKQorICAgICAgICBpdGVtX3dpdGhfdGV4dCA9 IHNlbGYuZmluZF9ieV94cGF0aCgKKyAgICAgICAgICAgICIvL2RpdltAaWQ9J3RyZWUnXS8vc3Bh bltAY2xhc3M9J2FjaVRyZWVJdGVtJ10vc3BhblsiCisgICAgICAgICAgICAiKEBjbGFzcz0nYWNp VHJlZVRleHQnKSBhbmQgdGV4dCgpPSciICsgdHJlZV9pdGVtX3RleHQgKyAiJ10iKQorCisgICAg ICAgIHNlbGYuZHJpdmVyLmV4ZWN1dGVfc2NyaXB0KCJhcmd1bWVudHNbMF0uc2Nyb2xsSW50b1Zp ZXcoKSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1fd2l0aF90ZXh0 KQorICAgICAgICBpZiBpdGVtX3dpdGhfdGV4dC5maW5kX2VsZW1lbnRfYnlfeHBhdGgoCisgICAg ICAgICAgICAiLi8vYW5jZXN0b3I6OipbQGNsYXNzPSdhY2lUcmVlTGluZSddIikuZ2V0X2F0dHJp YnV0ZSgKKyAgICAgICAgICAgICAgICAiYXJpYS1leHBhbmRlZCIpID09ICdmYWxzZSc6CisgICAg ICAgICAgICBpdGVtID0gaXRlbV93aXRoX3RleHQuZmluZF9lbGVtZW50X2J5X3hwYXRoKAorICAg ICAgICAgICAgICAgICIuLy9wYXJlbnQ6OipbQGNsYXNzPSdhY2lUcmVlSXRlbSddIikKKyAgICAg ICAgICAgIEFjdGlvbkNoYWlucyhzZWxmLmRyaXZlcikuZG91YmxlX2NsaWNrKGl0ZW0pLnBlcmZv cm0oKQogCiAgICAgZGVmIHRvZ2dsZV9vcGVuX3NlcnZlcihzZWxmLCB0cmVlX2l0ZW1fdGV4dCk6 CiAgICAgICAgIGRlZiBjaGVja19mb3JfcGFzc3dvcmRfZGlhbG9nX29yX3RyZWVfb3Blbihkcml2 ZXIpOgpAQCAtMjI0LDM4ICsyNDIsMTAzIEBAIGNsYXNzIFBnYWRtaW5QYWdlOgogICAgICAgICAg ICAgImNsaWNraW5nIHRoZSBlbGVtZW50IG5vdCB0byB0aHJvdyBhbiBleGNlcHRpb24iLCBjbGlj a19zdWNjZWVkZWQKICAgICAgICAgKQogCi0gICAgZGVmIGZpbGxfaW5wdXRfYnlfZmllbGRfbmFt ZShzZWxmLCBmaWVsZF9uYW1lLCBmaWVsZF9jb250ZW50KToKLSAgICAgICAgZmllbGQgPSBzZWxm LmZpbmRfYnlfeHBhdGgoIi8vaW5wdXRbQG5hbWU9JyIgKyBmaWVsZF9uYW1lICsgIiddIikKLSAg ICAgICAgYmFja3NwYWNlcyA9IFtLZXlzLkJBQ0tTUEFDRV0gKiBsZW4oZmllbGQuZ2V0X2F0dHJp YnV0ZSgndmFsdWUnKSkKKyAgICBkZWYganNfc2VuZF9rZXkoc2VsZiwgZmllbGQsIHNlbGVfa2V5 KToKKyAgICAgICAga2V5Y29kZSA9IE5vbmUKKworICAgICAgICBpZiBzZWxlX2tleSBpbiAoS2V5 cy5SRVRVUk4sIEtleXMuRU5URVIpOgorICAgICAgICAgICAga2V5Y29kZSA9IDEzCisgICAgICAg IGVsaWYgc2VsZV9rZXkgPT0gS2V5cy5BUlJPV19ET1dOOgorICAgICAgICAgICAga2V5Y29kZSA9 IDQwCiAKKyAgICAgICAgc2VsZi5kcml2ZXIuZXhlY3V0ZV9zY3JpcHQoCisgICAgICAgICAgICAi YXJndW1lbnRzWzBdLmRpc3BhdGNoRXZlbnQobmV3IEtleWJvYXJkRXZlbnQoJ2tleWRvd24nLCAi CisgICAgICAgICAgICAieydrZXlDb2RlJzphcmd1bWVudHNbMV0sICd3aGljaCc6YXJndW1lbnRz WzFdfSkpOyIKKyAgICAgICAgICAgICJhcmd1bWVudHNbMF0uZGlzcGF0Y2hFdmVudChuZXcgS2V5 Ym9hcmRFdmVudCgna2V5cHJlc3MnLCAiCisgICAgICAgICAgICAieydrZXlDb2RlJzphcmd1bWVu dHNbMV0sICd3aGljaCc6YXJndW1lbnRzWzFdfSkpOyIKKyAgICAgICAgICAgICJhcmd1bWVudHNb MF0uZGlzcGF0Y2hFdmVudChuZXcgS2V5Ym9hcmRFdmVudCgna2V5dXAnLCAiCisgICAgICAgICAg ICAieydrZXlDb2RlJzphcmd1bWVudHNbMV0sICd3aGljaCc6YXJndW1lbnRzWzFdfSkpOyIKKyAg ICAgICAgICAgICJhcmd1bWVudHNbMF0uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0Jykp OyIKKyAgICAgICAgICAgICJhcmd1bWVudHNbMF0uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2No YW5nZScpKTsiLAorICAgICAgICAgICAgZmllbGQsIGtleWNvZGUpCisKKyAgICBkZWYganNfbG9v c2VfZm9jdXMoc2VsZiwgZmllbGQpOgorICAgICAgICBzZWxmLmRyaXZlci5leGVjdXRlX3Njcmlw dCgKKyAgICAgICAgICAgICJhcmd1bWVudHNbMF0uZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2Js dXInKSk7IiwgZmllbGQpCisKKyAgICBkZWYgZmlsbF9pbnB1dChzZWxmLCBmaWVsZCwgZmllbGRf Y29udGVudCwgaW5wdXRfa2V5cz1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICBrZXlfYWZ0ZXJf aW5wdXQ9S2V5cy5BUlJPV19ET1dOKToKICAgICAgICAgZmllbGQuY2xpY2soKQotICAgICAgICBm aWVsZC5zZW5kX2tleXMoYmFja3NwYWNlcykKLSAgICAgICAgZmllbGQuc2VuZF9rZXlzKHN0cihm aWVsZF9jb250ZW50KSkKLSAgICAgICAgc2VsZi53YWl0X2Zvcl9pbnB1dF9maWVsZF9jb250ZW50 KGZpZWxkX25hbWUsIGZpZWxkX2NvbnRlbnQpCiAKLSAgICBkZWYgZmlsbF9jb2RlbWlycm9yX2Fy ZWFfd2l0aChzZWxmLCBmaWVsZF9jb250ZW50KToKKyAgICAgICAgIyBVc2Ugc2VuZCBrZXlzIGlm IGlucHV0X2tleXMgdHJ1ZSwgZWxzZSB1c2UgamF2YXNjcmlwdCB0byBzZXQgY29udGVudAorICAg ICAgICBpZiBpbnB1dF9rZXlzOgorICAgICAgICAgICAgYmFja3NwYWNlcyA9IFtLZXlzLkJBQ0tT UEFDRV0gKiBsZW4oZmllbGQuZ2V0X2F0dHJpYnV0ZSgndmFsdWUnKSkKKyAgICAgICAgICAgIGZp ZWxkLnNlbmRfa2V5cyhiYWNrc3BhY2VzKQorICAgICAgICAgICAgZmllbGQuc2VuZF9rZXlzKHN0 cihmaWVsZF9jb250ZW50KSkKKyAgICAgICAgICAgIHNlbGYud2FpdF9mb3JfaW5wdXRfYnlfZWxl bWVudChmaWVsZCwgZmllbGRfY29udGVudCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHNl bGYuZHJpdmVyLmV4ZWN1dGVfc2NyaXB0KCJhcmd1bWVudHNbMF0udmFsdWUgPSBhcmd1bWVudHNb MV0iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQsIGZpZWxk X2NvbnRlbnQpCisgICAgICAgICAgICAjIGtleWNvZGUgNDAgaXMgZm9yIGFycm93IGRvd24KKyAg ICAgICAgICAgIHNlbGYuanNfc2VuZF9rZXkoZmllbGQsIEtleXMuQVJST1dfRE9XTikKKworICAg ICAgICAgICAgaWYga2V5X2FmdGVyX2lucHV0OgorICAgICAgICAgICAgICAgIHNlbGYuanNfc2Vu ZF9rZXkoZmllbGQsIGtleV9hZnRlcl9pbnB1dCkKKworICAgIGRlZiBmaWxsX2lucHV0X2J5X2Zp ZWxkX25hbWUoc2VsZiwgZmllbGRfbmFtZSwgZmllbGRfY29udGVudCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlucHV0X2tleXM9RmFsc2UsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBrZXlfYWZ0ZXJfaW5wdXQ9S2V5cy5BUlJPV19ET1dOLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbG9vc2VfZm9jdXM9RmFsc2UpOgorICAgICAgICBmaWVs ZCA9IHNlbGYuZmluZF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICAiaW5wdXRbbmFtZT0n IiArIGZpZWxkX25hbWUgKyAiJ106bm90KDpkaXNhYmxlZCkiKQorICAgICAgICBzZWxmLmZpbGxf aW5wdXQoZmllbGQsIGZpZWxkX2NvbnRlbnQsIGlucHV0X2tleXM9aW5wdXRfa2V5cywKKyAgICAg ICAgICAgICAgICAgICAgICAgIGtleV9hZnRlcl9pbnB1dD1rZXlfYWZ0ZXJfaW5wdXQpCisKKyAg ICAgICAgaWYgbG9vc2VfZm9jdXM6CisgICAgICAgICAgICBzZWxmLmpzX2xvb3NlX2ZvY3VzKGZp ZWxkKQorCisgICAgZGVmIGZpbGxfaW5wdXRfYnlfY3NzX3NlbGVjdG9yKHNlbGYsIGNzc19zZWxl Y3RvciwgZmllbGRfY29udGVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW5wdXRfa2V5cz1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5 X2FmdGVyX2lucHV0PUtleXMuQVJST1dfRE9XTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbG9vc2VfZm9jdXM9RmFsc2UpOgorICAgICAgICBmaWVsZCA9IHNlbGYuZmluZF9i eV9jc3Nfc2VsZWN0b3IoY3NzX3NlbGVjdG9yKQorICAgICAgICBzZWxmLmZpbGxfaW5wdXQoZmll bGQsIGZpZWxkX2NvbnRlbnQsIGlucHV0X2tleXM9aW5wdXRfa2V5cywKKyAgICAgICAgICAgICAg ICAgICAgICAgIGtleV9hZnRlcl9pbnB1dD1rZXlfYWZ0ZXJfaW5wdXQpCisKKyAgICAgICAgaWYg bG9vc2VfZm9jdXM6CisgICAgICAgICAgICBzZWxmLmpzX2xvb3NlX2ZvY3VzKGZpZWxkKQorCisg ICAgZGVmIGZpbGxfY29kZW1pcnJvcl9hcmVhX3dpdGgoc2VsZiwgZmllbGRfY29udGVudCwgaW5w dXRfa2V5cz1GYWxzZSk6CiAgICAgICAgIGRlZiBmaW5kX2NvZGVtaXJyb3IoZHJpdmVyKToKICAg ICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBkcml2ZXIuc3dpdGNoX3RvLmRlZmF1bHRf Y29udGVudCgpCiAgICAgICAgICAgICAgICAgZHJpdmVyLnN3aXRjaF90b19mcmFtZSgKICAgICAg ICAgICAgICAgICAgICAgZHJpdmVyLmZpbmRfZWxlbWVudF9ieV90YWdfbmFtZSgiaWZyYW1lIikp Ci0gICAgICAgICAgICAgICAgZWxlbWVudCA9IGRyaXZlci5maW5kX2VsZW1lbnRfYnlfeHBhdGgo Ci0gICAgICAgICAgICAgICAgICAgICIvL3ByZVtjb250YWlucyhAY2xhc3MsJ0NvZGVNaXJyb3It bGluZScpXS8uLi8uLi8uLi8iCi0gICAgICAgICAgICAgICAgICAgICIqW2NvbnRhaW5zKEBjbGFz cywnQ29kZU1pcnJvci1jb2RlJyldIikKKyAgICAgICAgICAgICAgICBlbGVtZW50ID0gZHJpdmVy LmZpbmRfZWxlbWVudF9ieV9jc3Nfc2VsZWN0b3IoCisgICAgICAgICAgICAgICAgICAgICIjb3V0 cHV0LXBhbmVsIC5Db2RlTWlycm9yIikKICAgICAgICAgICAgICAgICBpZiBlbGVtZW50LmlzX2Rp c3BsYXllZCgpIGFuZCBlbGVtZW50LmlzX2VuYWJsZWQoKToKICAgICAgICAgICAgICAgICAgICAg cmV0dXJuIGVsZW1lbnQKICAgICAgICAgICAgIGV4Y2VwdCAoTm9TdWNoRWxlbWVudEV4Y2VwdGlv biwgV2ViRHJpdmVyRXhjZXB0aW9uKToKICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKIAor ICAgICAgICBjb2RlbWlycm9yX2VsZSA9IFdlYkRyaXZlcldhaXQoCisgICAgICAgICAgICBzZWxm LmRyaXZlciwgdGltZW91dD1zZWxmLnRpbWVvdXQsIHBvbGxfZnJlcXVlbmN5PTAuMDEpXAorICAg ICAgICAgICAgLnVudGlsKGZpbmRfY29kZW1pcnJvciwKKyAgICAgICAgICAgICAgICAgICAiVGlt ZWQgb3V0IHdhaXRpbmcgZm9yIGNvZGVtaXJyb3IgdG8gYXBwZWFyIikKKwogICAgICAgICB0aW1l LnNsZWVwKDEpCi0gICAgICAgIFdlYkRyaXZlcldhaXQoc2VsZi5kcml2ZXIsIHRpbWVvdXQ9c2Vs Zi50aW1lb3V0LCBwb2xsX2ZyZXF1ZW5jeT0wLjAxKS5cCi0gICAgICAgICAgICB1bnRpbChmaW5k X2NvZGVtaXJyb3IsICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgY29kZW1pcnJvciAiCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0byBhcHBlYXIiKS5jbGljaygpCi0gICAgICAg IHRpbWUuc2xlZXAoMSkKKyAgICAgICAgY29kZW1pcnJvcl9lbGUuY2xpY2soKQogCi0gICAgICAg IGFjdGlvbiA9IEFjdGlvbkNoYWlucyhzZWxmLmRyaXZlcikKLSAgICAgICAgYWN0aW9uLnNlbmRf a2V5cyhmaWVsZF9jb250ZW50KQotICAgICAgICBhY3Rpb24ucGVyZm9ybSgpCisgICAgICAgICMg VXNlIHNlbmQga2V5cyBpZiBpbnB1dF9rZXlzIHRydWUsIGVsc2UgdXNlIGphdmFzY3JpcHQgdG8g c2V0IGNvbnRlbnQKKyAgICAgICAgaWYgaW5wdXRfa2V5czoKKyAgICAgICAgICAgIGFjdGlvbiA9 IEFjdGlvbkNoYWlucyhzZWxmLmRyaXZlcikKKyAgICAgICAgICAgIGFjdGlvbi5zZW5kX2tleXMo ZmllbGRfY29udGVudCkKKyAgICAgICAgICAgIGFjdGlvbi5wZXJmb3JtKCkKKyAgICAgICAgZWxz ZToKKyAgICAgICAgICAgIHNlbGYuZHJpdmVyLmV4ZWN1dGVfc2NyaXB0KAorICAgICAgICAgICAg ICAgICJhcmd1bWVudHNbMF0uQ29kZU1pcnJvci5zZXRWYWx1ZShhcmd1bWVudHNbMV0pOyIKKyAg ICAgICAgICAgICAgICAiYXJndW1lbnRzWzBdLkNvZGVNaXJyb3Iuc2V0Q3Vyc29yKCIKKyAgICAg ICAgICAgICAgICAiYXJndW1lbnRzWzBdLkNvZGVNaXJyb3IubGluZUNvdW50KCksMCk7IiwKKyAg ICAgICAgICAgICAgICBjb2RlbWlycm9yX2VsZSwgZmllbGRfY29udGVudCkKIAogICAgIGRlZiBj bGlja190YWIoc2VsZiwgdGFiX25hbWUpOgogICAgICAgICBXZWJEcml2ZXJXYWl0KHNlbGYuZHJp dmVyLCAxMCkudW50aWwoRUMuZWxlbWVudF90b19iZV9jbGlja2FibGUoCkBAIC0yNjksNyArMzUy LDE1IEBAIGNsYXNzIFBnYWRtaW5QYWdlOgogCiAgICAgICAgIHNlbGYuY2xpY2tfZWxlbWVudCh0 YWIpCiAKLSAgICBkZWYgd2FpdF9mb3JfaW5wdXRfZmllbGRfY29udGVudChzZWxmLCBmaWVsZF9u YW1lLCBjb250ZW50KToKKyAgICBkZWYgd2FpdF9mb3JfaW5wdXRfYnlfZWxlbWVudChzZWxmLCBl bGVtZW50LCBjb250ZW50KToKKyAgICAgICAgZGVmIGlucHV0X2ZpZWxkX2hhc19jb250ZW50KGRy aXZlcik6CisgICAgICAgICAgICByZXR1cm4gc3RyKGNvbnRlbnQpID09IGVsZW1lbnQuZ2V0X2F0 dHJpYnV0ZSgndmFsdWUnKQorCisgICAgICAgIHJldHVybiBzZWxmLl93YWl0X2ZvcigKKyAgICAg ICAgICAgICJmaWVsZCB0byBjb250YWluICciICsgc3RyKGNvbnRlbnQpICsgIiciLCBpbnB1dF9m aWVsZF9oYXNfY29udGVudAorICAgICAgICApCisKKyAgICBkZWYgd2FpdF9mb3JfaW5wdXRfZmll bGRfY29udGVudChzZWxmLCBmaWVsZF9uYW1lLCBjb250ZW50LCB3YWl0PTEpOgogICAgICAgICBk ZWYgaW5wdXRfZmllbGRfaGFzX2NvbnRlbnQoZHJpdmVyKToKICAgICAgICAgICAgIGVsZW1lbnQg PSBkcml2ZXIuZmluZF9lbGVtZW50X2J5X3hwYXRoKAogICAgICAgICAgICAgICAgICIvL2lucHV0 W0BuYW1lPSciICsgZmllbGRfbmFtZSArICInXSIpCkBAIC0yNzcsOCArMzY4LDggQEAgY2xhc3Mg UGdhZG1pblBhZ2U6CiAgICAgICAgICAgICByZXR1cm4gc3RyKGNvbnRlbnQpID09IGVsZW1lbnQu Z2V0X2F0dHJpYnV0ZSgndmFsdWUnKQogCiAgICAgICAgIHJldHVybiBzZWxmLl93YWl0X2ZvcigK LSAgICAgICAgICAgICJmaWVsZCB0byBjb250YWluICciICsgc3RyKGNvbnRlbnQpICsgIiciLCBp bnB1dF9maWVsZF9oYXNfY29udGVudAotICAgICAgICApCisgICAgICAgICAgICAiZmllbGQgdG8g Y29udGFpbiAnIiArIHN0cihjb250ZW50KSArICInIiwgaW5wdXRfZmllbGRfaGFzX2NvbnRlbnQs CisgICAgICAgICAgICB3YWl0KQogCiAgICAgZGVmIHdhaXRfZm9yX2VsZW1lbnQoc2VsZiwgZmlu ZF9tZXRob2Rfd2l0aF9hcmdzKToKICAgICAgICAgZGVmIGVsZW1lbnRfaWZfaXRfZXhpc3RzKGRy aXZlcik6CkBAIC0yODYsNyArMzc3LDcgQEAgY2xhc3MgUGdhZG1pblBhZ2U6CiAgICAgICAgICAg ICAgICAgZWxlbWVudCA9IGZpbmRfbWV0aG9kX3dpdGhfYXJncyhkcml2ZXIpCiAgICAgICAgICAg ICAgICAgaWYgZWxlbWVudC5pc19kaXNwbGF5ZWQoKSBhbmQgZWxlbWVudC5pc19lbmFibGVkKCk6 CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgICAgICBleGNlcHQgTm9T dWNoRWxlbWVudEV4Y2VwdGlvbjoKKyAgICAgICAgICAgIGV4Y2VwdCAoTm9TdWNoRWxlbWVudEV4 Y2VwdGlvbiwgU3RhbGVFbGVtZW50UmVmZXJlbmNlRXhjZXB0aW9uKToKICAgICAgICAgICAgICAg ICByZXR1cm4gRmFsc2UKIAogICAgICAgICBzZWxmLl93YWl0X2ZvcigiZWxlbWVudCB0byBleGlz dCIsIGVsZW1lbnRfaWZfaXRfZXhpc3RzKQpAQCAtMzI5LDEwICs0MjAsMTAgQEAgY2xhc3MgUGdh ZG1pblBhZ2U6CiAgICAgZGVmIHdhaXRfZm9yX3F1ZXJ5X3Rvb2xfbG9hZGluZ19pbmRpY2F0b3Jf dG9fZGlzYXBwZWFyKHNlbGYpOgogICAgICAgICBkZWYgc3Bpbm5lcl9oYXNfZGlzYXBwZWFyZWQo ZHJpdmVyKToKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBkcml2ZXIuZmluZF9l bGVtZW50X2J5X3hwYXRoKAotICAgICAgICAgICAgICAgICAgICAiLy8qW0BpZD0nZmV0Y2hpbmdf ZGF0YScgYW5kIEBjbGFzcz0naGlkZSddIgorICAgICAgICAgICAgICAgIHNwaW5uZXIgPSBkcml2 ZXIuZmluZF9lbGVtZW50X2J5X2Nzc19zZWxlY3RvcigKKyAgICAgICAgICAgICAgICAgICAgIiNl ZGl0b3ItcGFuZWwgLnBnLXNwLWNvbnRhaW5lciIKICAgICAgICAgICAgICAgICApCi0gICAgICAg ICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgICAgICAgICAgcmV0dXJuICJkLW5vbmUiIGlu IHNwaW5uZXIuZ2V0X2F0dHJpYnV0ZSgiY2xhc3MiKQogICAgICAgICAgICAgZXhjZXB0IE5vU3Vj aEVsZW1lbnRFeGNlcHRpb246CiAgICAgICAgICAgICAgICAgIyB3YWl0IGZvciBsb2FkaW5nIGlu ZGljYXRvciBkaXNhcHBlYXIgYW5pbWF0aW9uIHRvIGNvbXBsZXRlLgogICAgICAgICAgICAgICAg IHRpbWUuc2xlZXAoMC41KQpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vcmVxdWlyZW1lbnRz LnR4dCBiL3dlYi9yZWdyZXNzaW9uL3JlcXVpcmVtZW50cy50eHQKaW5kZXggNTE5OWQzMmQuLjkw OTNhM2QwIDEwMDY0NAotLS0gYS93ZWIvcmVncmVzc2lvbi9yZXF1aXJlbWVudHMudHh0CisrKyBi L3dlYi9yZWdyZXNzaW9uL3JlcXVpcmVtZW50cy50eHQKQEAgLTE2LDcgKzE2LDcgQEAgcHl0aG9u LW1pbWVwYXJzZT09MS42LjAKIHRlc3RzY2VuYXJpb3M9PTAuNS4wCiB0ZXN0dG9vbHM9PTIuMy4w CiB0cmFjZWJhY2syPT0xLjQuMAotc2VsZW5pdW09PTMuMTEuMAorc2VsZW5pdW09PTMuMTQuMAog CiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKICMgTW9kdWxlcyBzcGVjaWZpY2FsbHkgcmVxdWlyZWQgZm9yIFB5dGhvbjMuMyBv ciBsZXNzZXIgdmVyc2lvbgpAQCAtMjUsNCArMjUsNCBAQCBtb2NrPT09Mi4wLjA7IHB5dGhvbl92 ZXJzaW9uIDwgJzMuMycKIAogIyBMZWF2ZSB0aGlzIGF0IHRoZSBlbmQgYmVjYXVzZSB0aGVyZSBp cyBhIGJ1ZyB3aGVyZSB0aGUgJy0taW5zdGFsbC1vcHRpb24nCiAjIGlzIGFwcGxpZWQgdG8gYWxs IHN1YnNlcXVlbnQgcmVxdWlyZW1lbnRzCi1jaHJvbWVkcml2ZXJfaW5zdGFsbGVyPT0wLjAuNiAt LWluc3RhbGwtb3B0aW9uPSctLWNocm9tZWRyaXZlci12ZXJzaW9uPTIuNDUnCitjaHJvbWVkcml2 ZXJfaW5zdGFsbGVyPT0wLjAuNiAtLWluc3RhbGwtb3B0aW9uPSctLWNocm9tZWRyaXZlci12ZXJz aW9uPTIuNDYnCmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lvbi9ydW50ZXN0cy5weSBiL3dlYi9y ZWdyZXNzaW9uL3J1bnRlc3RzLnB5CmluZGV4IDQ4ZDM3NDlmLi42Zjk1MzcwZiAxMDA2NDQKLS0t IGEvd2ViL3JlZ3Jlc3Npb24vcnVudGVzdHMucHkKKysrIGIvd2ViL3JlZ3Jlc3Npb24vcnVudGVz dHMucHkKQEAgLTIzMCw5ICsyMzAsMTQgQEAgZGVmIGdldF90ZXN0X21vZHVsZXMoYXJndW1lbnRz KToKICAgICBpZiBhcmd1bWVudHNbJ3BrZyddIGlzIE5vbmUgb3IgYXJndW1lbnRzWydwa2cnXSA9 PSAiYWxsIjoKICAgICAgICAgVGVzdHNHZW5lcmF0b3JSZWdpc3RyeS5sb2FkX2dlbmVyYXRvcnMo J3BnYWRtaW4nLCBleGNsdWRlX3BrZ3MpCiAgICAgZWxzZToKKyAgICAgICAgZm9yX21vZHVsZXMg PSBbXQorICAgICAgICBpZiBhcmd1bWVudHNbJ21vZHVsZXMnXSBpcyBub3QgTm9uZToKKyAgICAg ICAgICAgIGZvcl9tb2R1bGVzID0gYXJndW1lbnRzWydtb2R1bGVzJ10uc3BsaXQoJywnKQorCiAg ICAgICAgIFRlc3RzR2VuZXJhdG9yUmVnaXN0cnkubG9hZF9nZW5lcmF0b3JzKCdwZ2FkbWluLiVz JyAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3Vt ZW50c1sncGtnJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGV4Y2x1ZGVfcGtncykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZXhjbHVkZV9wa2dzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmb3JfbW9kdWxlcykKIAogICAgICMgU29ydCBtb2R1bGUgbGlzdCBzbyB0 aGF0IHRlc3Qgc3VpdGUgZXhlY3V0ZXMgdGhlIHRlc3QgY2FzZXMgc2VxdWVudGlhbGx5CiAgICAg bW9kdWxlX2xpc3QgPSBUZXN0c0dlbmVyYXRvclJlZ2lzdHJ5LnJlZ2lzdHJ5Lml0ZW1zKCkKQEAg LTI2Myw2ICsyNjgsMTAgQEAgZGVmIGFkZF9hcmd1bWVudHMoKToKICAgICAgICAgJy0tZGVmYXVs dF9icm93c2VyJywKICAgICAgICAgaGVscD0nRXhlY3V0ZXMgdGhlIGZlYXR1cmUgdGVzdCBpbiBz cGVjaWZpYyBicm93c2VyJwogICAgICkKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KAorICAgICAg ICAnLS1tb2R1bGVzJywKKyAgICAgICAgaGVscD0nRXhlY3V0ZXMgdGhlIGZlYXR1cmUgdGVzdCBm b3Igc3BlY2lmaWMgbW9kdWxlcyBpbiBwa2cnCisgICAgKQogICAgIGFyZyA9IHBhcnNlci5wYXJz ZV9hcmdzKCkKIAogICAgIHJldHVybiBhcmcK --000000000000e8ebcc0582b522d0--