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 1hawM6-0002NI-8c for pgadmin-hackers@arkaria.postgresql.org; Wed, 12 Jun 2019 06:03:30 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hawM4-0004jo-M7 for pgadmin-hackers@arkaria.postgresql.org; Wed, 12 Jun 2019 06:03:28 +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 1hawM4-0004gF-Az for pgadmin-hackers@lists.postgresql.org; Wed, 12 Jun 2019 06:03:28 +0000 Received: from mail-lj1-x233.google.com ([2a00:1450:4864:20::233]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hawM1-0007Rn-EM for pgadmin-hackers@postgresql.org; Wed, 12 Jun 2019 06:03:27 +0000 Received: by mail-lj1-x233.google.com with SMTP id h10so8105009ljg.0 for ; Tue, 11 Jun 2019 23:03:24 -0700 (PDT) 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=mU5A5jxLgoeDNwPKa7AV8cLGA3YZjJuNwZzy9+6MoTU=; b=ryz90roGawPjgS/nRfj1BUCvEYrbx0Q+42Rmv1gPzbc3oZaFP4yoanJX3xjvQhUBZt arjfUp+2XsnV0bwhk9CDUGUxbNLxzL/NNgbqGmroa8pBMLevXx1A56w77kk3/PRWbEDW 5YJkqon4XrCSzJ/RFzuOFCi8yKc6XBxPUxIjMavQYo2ZuUd3Igx3Hazh0AsGav4KHpkN gCL1er6ewftluyZRk/WWb8KP6H+1LzLUdib6iFbr3gvFggQQ4wuJJzGI6otvjf/+/PEl +JpZCoMwj9xzg27k6soLOE1vHkYH00aU0M50wkOFLMol7AZ2XTG7fIrFOJUw4w0CoHbz Z2aA== 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=mU5A5jxLgoeDNwPKa7AV8cLGA3YZjJuNwZzy9+6MoTU=; b=d4RYYGk+1TLj0joEOJHgi5ik4nL6O7VWuCagc+4Ryn+UY8wgajHyW1VgFFAnyfQKc+ EJDXo8RmeUv3fZ8kQQElzB26wG2xSUSy1nKHN9tUDmTsuhVN5d/mP5g+/zbb5/O+P7+b 2bTawgIWLA8aWmUr7TtJ9LNeCin/bG6XBWbEKiZUc0DlWOZ6VOhgEdZlhjn5x3FOnDYv lTbi8HVREHSbyMffMFM1uAbbR/oVC97cfZ3ajooQpVrxnk3bdxz5Ovsn5YjA4IycqP3T yhVHr9lObdZjw8H7PN4Gx41Rak15ETOiDFb7Cd+Z3ItP0v23IXzICuBFkFqRLx8AC1tZ lfgA== X-Gm-Message-State: APjAAAW+dVzSGcRWUSIEWEv+wjq78wDfC4VFt/bu0oTHHF1JX2DyVxEh 7UQJuTAvmdePy+X4BZmcbgHwYFUEn4dg7ZfeR8wPrnq3 X-Google-Smtp-Source: APXvYqxGXPMkYHZetZTa5Js/KUcdlsrWRaoS0LPCUzGwNwgeqDV+v/hx0tDSGaJq2/WgHDw7wMMY7X47aUBM2C9aafA= X-Received: by 2002:a2e:480a:: with SMTP id v10mr5099159lja.94.1560319402760; Tue, 11 Jun 2019 23:03:22 -0700 (PDT) MIME-Version: 1.0 From: Aditya Toshniwal Date: Wed, 12 Jun 2019 11:32:46 +0530 Message-ID: Subject: [pgAdmin][RM3782] Debugger title should show connection and object details To: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000bd093b058b1a2b8e" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000bd093b058b1a2b8e Content-Type: multipart/alternative; boundary="000000000000bd0938058b1a2b8c" --000000000000bd0938058b1a2b8c Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached is the patch to add more information on connection details to debugger panel title and content title similar to Query Tool and View/Edit data. Adding the object name with arguments is not a good idea for the panel title, so I have kept to connection details similar to query tool. The content title will have all the details. Kindly review. -- Thanks and Regards, Aditya Toshniwal Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" --000000000000bd0938058b1a2b8c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached is the patch to add more information = on connection details to debugger panel title and content title similar to = Query Tool and View/Edit data.
Adding the object name with arguments is not= a good=C2=A0idea for the panel title, so I have kept to connection details= similar to query tool. The content title will have all the details.
<= div>
Kindly review.

--
Thanks and Regards,
Aditya Toshniwal
Software Engine= er |=C2=A0EnterpriseDB India |=C2=A0Pune
"Don't Complain about Heat, Plant a TREE= "
--000000000000bd0938058b1a2b8c-- --000000000000bd093b058b1a2b8e Content-Type: application/octet-stream; name="RM3782.patch" Content-Disposition: attachment; filename="RM3782.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jwstunoo0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9zcWxlZGl0b3JfdXRpbHMuanMgYi93 ZWIvcGdhZG1pbi9zdGF0aWMvanMvc3FsZWRpdG9yX3V0aWxzLmpzCmluZGV4IDlkMTRhYzQ2Li41 MTAyNmY2NSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3NxbGVkaXRvcl91dGls cy5qcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvc3FsZWRpdG9yX3V0aWxzLmpzCkBAIC0x OTUsMjIgKzE5NSw2IEBAIGRlZmluZShbJ2pxdWVyeScsICdzb3VyY2VzL2dldHRleHQnLCAnc291 cmNlcy91cmxfZm9yJ10sCiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuICcxZW0nOwogICAgICAg fSwKLQotICAgICAgcmVtb3ZlU2xhc2hJblRoZVN0cmluZzogKHZhbHVlKSA9PiB7Ci0gICAgICAg IGxldCBsb2NhdGlvbkxpc3QgPSBbXTsKLSAgICAgICAgbGV0IGlkeCA9IDA7Ci0gICAgICAgIHdo aWxlICh2YWx1ZSAmJiB2YWx1ZS5pbmRleE9mKCcvJykgIT09IC0xKSB7Ci0gICAgICAgICAgbG9j YXRpb25MaXN0LnB1c2godmFsdWUuaW5kZXhPZignLycpICsgaWR4KTsKLSAgICAgICAgICB2YWx1 ZSA9IHZhbHVlLnJlcGxhY2UoJy8nLCAnJyk7Ci0gICAgICAgICAgLy8gTm8gb2Ygc2xhc2hlcyBh bHJlYWR5IHJlbW92ZWQsIHNvIHdlIG5lZWQgdG8gaW5jcmVtZW50IHRoZQotICAgICAgICAgIC8v IGluZGV4IGFjY29yZGluZ2x5IHdoZW4gYWRkaW5nIGludG8gbG9jYXRpb24gbGlzdAotICAgICAg ICAgIGlkeCsrOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiB7Ci0gICAgICAgICAgJ3NsYXNo TG9jYXRpb25zJzogbG9jYXRpb25MaXN0LmpvaW4oJywnKSwKLSAgICAgICAgICAndGl0bGUnOiBl bmNvZGVVUklDb21wb25lbnQodmFsdWUpLAotICAgICAgICB9OwotICAgICAgfSwKICAgICB9Owog ICAgIHJldHVybiBzcWxFZGl0b3JVdGlsczsKICAgfSk7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9zdGF0aWMvanMvdXRpbHMuanMgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvdXRpbHMuanMKaW5k ZXggMWM1OGE5ZWIuLjYyN2U0YmJiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMv dXRpbHMuanMKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL2pzL3V0aWxzLmpzCkBAIC04MywzICs4 MywxOSBAQCBleHBvcnQgZnVuY3Rpb24gZ2V0R0NEKGlucF9hcnIpIHsKIGV4cG9ydCBmdW5jdGlv biBnZXRNb2Qobm8sIGRpdmlzb3IpIHsKICAgcmV0dXJuICgobm8gJSBkaXZpc29yKSArIGRpdmlz b3IpICUgZGl2aXNvcjsKIH0KKworZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVNsYXNoSW5UaGVTdHJp bmcodmFsdWUpIHsKKyAgbGV0IGxvY2F0aW9uTGlzdCA9IFtdOworICBsZXQgaWR4ID0gMDsKKyAg d2hpbGUgKHZhbHVlICYmIHZhbHVlLmluZGV4T2YoJy8nKSAhPT0gLTEpIHsKKyAgICBsb2NhdGlv bkxpc3QucHVzaCh2YWx1ZS5pbmRleE9mKCcvJykgKyBpZHgpOworICAgIHZhbHVlID0gdmFsdWUu cmVwbGFjZSgnLycsICcnKTsKKyAgICAvLyBObyBvZiBzbGFzaGVzIGFscmVhZHkgcmVtb3ZlZCwg c28gd2UgbmVlZCB0byBpbmNyZW1lbnQgdGhlCisgICAgLy8gaW5kZXggYWNjb3JkaW5nbHkgd2hl biBhZGRpbmcgaW50byBsb2NhdGlvbiBsaXN0CisgICAgaWR4Kys7CisgIH0KKyAgcmV0dXJuIHsK KyAgICAnc2xhc2hMb2NhdGlvbnMnOiBsb2NhdGlvbkxpc3Quam9pbignLCcpLAorICAgICd0aXRs ZSc6IGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSksCisgIH07Cit9CmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9zdGF0aWMvc2Nzcy9fd2ViY2FiaW4ucGdhZG1pbi5zY3NzIGIvd2ViL3BnYWRtaW4v c3RhdGljL3Njc3MvX3dlYmNhYmluLnBnYWRtaW4uc2NzcwppbmRleCA1NDMzMzZkMi4uNzg2ZjRh MzcgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9zY3NzL193ZWJjYWJpbi5wZ2FkbWlu LnNjc3MKKysrIGIvd2ViL3BnYWRtaW4vc3RhdGljL3Njc3MvX3dlYmNhYmluLnBnYWRtaW4uc2Nz cwpAQCAtMjIsNiArMjIsMTIgQEAKICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJnLXRoZW1l OwogfQogCisud2NGcmFtZVRpdGxlIHsKKyAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CisgIG92 ZXJmbG93OiBoaWRkZW47CisgIHdoaXRlLXNwYWNlOiBub3dyYXA7Cit9CisKIC53Y0ZyYW1lVGl0 bGVCYXIgewogICBoZWlnaHQ6ICR0aXRsZS1oZWlnaHQ7CiAgIGJhY2tncm91bmQtY29sb3I6ICRj b2xvci1iZy10aGVtZTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL19f aW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvX19pbml0X18ucHkKaW5kZXgg YzBmNjFlOWYuLmVjZTgzMjVmIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3Jp ZC9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9fX2luaXRfXy5w eQpAQCAtMzAsNiArMzAsNyBAQCBmcm9tIHBnYWRtaW4udXRpbHMuZHJpdmVyIGltcG9ydCBnZXRf ZHJpdmVyCiBmcm9tIHBnYWRtaW4udXRpbHMuZXhjZXB0aW9uIGltcG9ydCBDb25uZWN0aW9uTG9z dCwgU1NIVHVubmVsQ29ubmVjdGlvbkxvc3QKIGZyb20gcGdhZG1pbi51dGlscy5wcmVmZXJlbmNl cyBpbXBvcnQgUHJlZmVyZW5jZXMKIGZyb20gcGdhZG1pbi5zZXR0aW5ncyBpbXBvcnQgZ2V0X3Nl dHRpbmcKK2Zyb20gcGdhZG1pbi51dGlscy5wYXRocyBpbXBvcnQgYWRkX2ZzbGFzaF9zdHJpbmcK IAogcXVlcnlfdG9vbF9jbG9zZV9zZXNzaW9uX2xvY2sgPSBMb2NrKCkKIApAQCAtMjM0LDEzICsy MzUsOCBAQCBkZWYgcGFuZWwodHJhbnNfaWQsIGlzX3F1ZXJ5X3Rvb2wsIGVkaXRvcl90aXRsZSk6 CiAKICAgICAjIElmIHRpdGxlIGhhcyBzbGFzaChlcykgaW4gaXQgdGhlbiByZXBsYWNlIGl0CiAg ICAgaWYgcmVxdWVzdC5hcmdzIGFuZCByZXF1ZXN0LmFyZ3NbJ2ZzbGFzaGVzJ10gIT0gJyc6Ci0g ICAgICAgIHRyeToKLSAgICAgICAgICAgIGZzbGFzaGVzTGlzdCA9IHJlcXVlc3QuYXJnc1snZnNs YXNoZXMnXS5zcGxpdCgnLCcpCi0gICAgICAgICAgICBmb3IgaWR4IGluIGZzbGFzaGVzTGlzdDoK LSAgICAgICAgICAgICAgICBpZHggPSBpbnQoaWR4KQotICAgICAgICAgICAgICAgIGVkaXRvcl90 aXRsZSA9IGVkaXRvcl90aXRsZVs6aWR4XSArICcvJyArIGVkaXRvcl90aXRsZVtpZHg6XQotICAg ICAgICBleGNlcHQgSW5kZXhFcnJvciBhcyBlOgotICAgICAgICAgICAgYXBwLmxvZ2dlci5leGNl cHRpb24oZSkKKyAgICAgICAgZWRpdG9yX3RpdGxlID0gYWRkX2ZzbGFzaF9zdHJpbmcoCisgICAg ICAgICAgICBlZGl0b3JfdGl0bGUsIHJlcXVlc3QuYXJnc1snZnNsYXNoZXMnXSkKIAogICAgICMg V2UgbmVlZCBjbGllbnQgT1MgaW5mb3JtYXRpb24gdG8gcmVuZGVyIGNvcnJlY3QgS2V5Ym9hcmQg c2hvcnRjdXRzCiAgICAgdXNlcl9hZ2VudCA9IFVzZXJBZ2VudChyZXF1ZXN0LmhlYWRlcnMuZ2V0 KCdVc2VyLUFnZW50JykpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9z dGF0aWMvanMvZGF0YWdyaWQuanMgYi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0aWMv anMvZGF0YWdyaWQuanMKaW5kZXggNTkxMGZjNDMuLjZmMzUyYjg3IDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvZGF0YWdyaWQuanMKKysrIGIvd2ViL3Bn YWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL2RhdGFncmlkLmpzCkBAIC0xMywxMCArMTMs MTAgQEAgZGVmaW5lKCdwZ2FkbWluLmRhdGFncmlkJywgWwogICAnc291cmNlcy9zcWxlZGl0b3Jf dXRpbHMnLCAnYmFja2JvbmUnLAogICAndG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL3Nob3dfZGF0 YScsCiAgICd0b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvc2hvd19xdWVyeV90b29sJywgJ3BnYWRt aW4uYnJvd3Nlci50b29sYmFyJywKLSAgJ3djZG9ja2VyJywKKyAgJ3NvdXJjZXMvdXRpbHMnLCAn d2Nkb2NrZXInLAogXSwgZnVuY3Rpb24oCiAgIGdldHRleHQsIHVybF9mb3IsICQsIF8sIGFsZXJ0 aWZ5LCBwZ0FkbWluLCBjb2RlbWlycm9yLCBzcWxFZGl0b3JVdGlscywKLSAgQmFja2JvbmUsIHNo b3dEYXRhLCBzaG93UXVlcnlUb29sLCB0b29sQmFyCisgIEJhY2tib25lLCBzaG93RGF0YSwgc2hv d1F1ZXJ5VG9vbCwgdG9vbEJhciwgcGdhZG1pblV0aWxzCiApIHsKICAgLy8gU29tZSBzY3JpcHRz IGRvIGV4cG9ydCB0aGVpciBvYmplY3QgaW4gdGhlIHdpbmRvdyBvbmx5LgogICAvLyBHZW5lcmFs bHkgdGhlIG9uZSwgd2hpY2ggZG8gbm8gaGF2ZSBBTUQgc3VwcG9ydC4KQEAgLTI4MCw3ICsyODAs NyBAQCBkZWZpbmUoJ3BnYWRtaW4uZGF0YWdyaWQnLCBbCiAgICAgICAgIH0KIAogICAgICAgICAv LyBPcGVuIHRoZSBwYW5lbCBpZiBmcmFtZSBpcyBpbml0aWFsaXplZAotICAgICAgICBsZXQgdGl0 aWxlRm9yVVJMT2JqID0gc3FsRWRpdG9yVXRpbHMucmVtb3ZlU2xhc2hJblRoZVN0cmluZyhncmlk X3RpdGxlKTsKKyAgICAgICAgbGV0IHRpdGlsZUZvclVSTE9iaiA9IHBnYWRtaW5VdGlscy5yZW1v dmVTbGFzaEluVGhlU3RyaW5nKGdyaWRfdGl0bGUpOwogICAgICAgICB2YXIgdXJsX3BhcmFtcyA9 IHsKICAgICAgICAgICAgICd0cmFuc19pZCc6IHRyYW5zX29iai5ncmlkVHJhbnNJZCwKICAgICAg ICAgICAgICdpc19xdWVyeV90b29sJzogdHJhbnNfb2JqLmlzX3F1ZXJ5X3Rvb2wsCmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWlu L3Rvb2xzL2RlYnVnZ2VyL19faW5pdF9fLnB5CmluZGV4IGJhYmQxZWZhLi44MDVkOWRjOCAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKKysrIGIvd2Vi L3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKQEAgLTMzLDYgKzMzLDggQEAgZnJv bSBwZ2FkbWluLnNldHRpbmdzIGltcG9ydCBnZXRfc2V0dGluZwogZnJvbSBjb25maWcgaW1wb3J0 IFBHX0RFRkFVTFRfRFJJVkVSCiBmcm9tIHBnYWRtaW4ubW9kZWwgaW1wb3J0IGRiLCBEZWJ1Z2dl ckZ1bmN0aW9uQXJndW1lbnRzCiBmcm9tIHBnYWRtaW4udG9vbHMuZGVidWdnZXIudXRpbHMuZGVi dWdnZXJfaW5zdGFuY2UgaW1wb3J0IERlYnVnZ2VySW5zdGFuY2UKK2Zyb20gcGdhZG1pbi51dGls cy5wYXRocyBpbXBvcnQgYWRkX2ZzbGFzaF9zdHJpbmcKKwogCiAjIENvbnN0YW50cwogQVNZTkNf T0sgPSAxCkBAIC01MjgsOSArNTMwLDEwIEBAIGRlZiBpbml0X2Z1bmN0aW9uKG5vZGVfdHlwZSwg c2lkLCBkaWQsIHNjaWQsIGZpZCwgdHJpZD1Ob25lKToKICAgICApCiAKIAotQGJsdWVwcmludC5y b3V0ZSgnL2RpcmVjdC88aW50OnRyYW5zX2lkPicsIG1ldGhvZHM9WydHRVQnXSwgZW5kcG9pbnQ9 J2RpcmVjdCcpCitAYmx1ZXByaW50LnJvdXRlKCcvZGlyZWN0LzxpbnQ6dHJhbnNfaWQ+LzxzdHJp bmc6cGFuZWxfdGl0bGU+JywKKyAgICAgICAgICAgICAgICAgbWV0aG9kcz1bJ0dFVCddLCBlbmRw b2ludD0nZGlyZWN0JykKIEBsb2dpbl9yZXF1aXJlZAotZGVmIGRpcmVjdF9uZXcodHJhbnNfaWQp OgorZGVmIGRpcmVjdF9uZXcodHJhbnNfaWQsIHBhbmVsX3RpdGxlKToKICAgICBkZV9pbnN0ID0g RGVidWdnZXJJbnN0YW5jZSh0cmFuc19pZCkKIAogICAgICMgUmV0dXJuIGZyb20gdGhlIGZ1bmN0 aW9uIGlmIHRyYW5zYWN0aW9uIGlkIG5vdCBmb3VuZApAQCAtNTY3LDggKzU3MCwxMiBAQCBkZWYg ZGlyZWN0X25ldyh0cmFuc19pZCk6CiAgICAgIyBXZSBuZWVkIGNsaWVudCBPUyBpbmZvcm1hdGlv biB0byByZW5kZXIgY29ycmVjdCBLZXlib2FyZCBzaG9ydGN1dHMKICAgICB1c2VyX2FnZW50ID0g VXNlckFnZW50KHJlcXVlc3QuaGVhZGVycy5nZXQoJ1VzZXItQWdlbnQnKSkKIAorICAgIGlmIHJl cXVlc3QuYXJncyBhbmQgcmVxdWVzdC5hcmdzWydmc2xhc2hlcyddICE9ICcnOgorICAgICAgICBw YW5lbF90aXRsZSA9IGFkZF9mc2xhc2hfc3RyaW5nKAorICAgICAgICAgICAgcGFuZWxfdGl0bGUs IHJlcXVlc3QuYXJnc1snZnNsYXNoZXMnXSkKKwogICAgIGZ1bmN0aW9uX2FyZ3VtZW50cyA9ICco JwotICAgIGlmICdmdW5jdGlvbkRhdGEnIGluIHNlc3Npb246CisgICAgaWYgZGVfaW5zdC5mdW5j dGlvbl9kYXRhIGlzIG5vdCBOb25lOgogICAgICAgICBpZiAnYXJnc19uYW1lJyBpbiBkZV9pbnN0 LmZ1bmN0aW9uX2RhdGEgYW5kIFwKICAgICAgICAgICAgIGRlX2luc3QuZnVuY3Rpb25fZGF0YVsn YXJnc19uYW1lJ10gaXMgbm90IE5vbmUgYW5kIFwKICAgICAgICAgICAgICAgICBkZV9pbnN0LmZ1 bmN0aW9uX2RhdGFbJ2FyZ3NfbmFtZSddICE9ICcnOgpAQCAtNTg5LDcgKzU5Niw4IEBAIGRlZiBk aXJlY3RfbmV3KHRyYW5zX2lkKToKICAgICBsYXlvdXQgPSBnZXRfc2V0dGluZygnRGVidWdnZXIv TGF5b3V0JykKIAogICAgIGZ1bmN0aW9uX25hbWVfd2l0aF9hcmd1bWVudHMgPSBcCi0gICAgICAg IGRlX2luc3QuZGVidWdnZXJfZGF0YVsnZnVuY3Rpb25fbmFtZSddICsgZnVuY3Rpb25fYXJndW1l bnRzCisgICAgICAgIGRlX2luc3QuZGVidWdnZXJfZGF0YVsnZnVuY3Rpb25fbmFtZSddICsgZnVu Y3Rpb25fYXJndW1lbnRzIFwKKyAgICAgICAgKyAnLycgKyBwYW5lbF90aXRsZQogCiAgICAgcmV0 dXJuIHJlbmRlcl90ZW1wbGF0ZSgKICAgICAgICAgImRlYnVnZ2VyL2RpcmVjdC5odG1sIiwKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3N0YXRpYy9qcy9kZWJ1Z2dlci5q cyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3N0YXRpYy9qcy9kZWJ1Z2dlci5qcwppbmRl eCBhMjE0OWJmMS4uYjA1YTA0NzkgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVn Z2VyL3N0YXRpYy9qcy9kZWJ1Z2dlci5qcworKysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dl ci9zdGF0aWMvanMvZGVidWdnZXIuanMKQEAgLTExLDExICsxMSwxMSBAQCBkZWZpbmUoWwogICAn c291cmNlcy9nZXR0ZXh0JywgJ3NvdXJjZXMvdXJsX2ZvcicsICdqcXVlcnknLCAndW5kZXJzY29y ZScsCiAgICd1bmRlcnNjb3JlLnN0cmluZycsICdhbGVydGlmeScsICdzb3VyY2VzL3BnYWRtaW4n LCAncGdhZG1pbi5icm93c2VyJywKICAgJ2JhY2tib25lJywgJ3BnYWRtaW4uYmFja2dyaWQnLCAn Y29kZW1pcnJvcicsICdwZ2FkbWluLmJhY2tmb3JtJywKLSAgJ3BnYWRtaW4udG9vbHMuZGVidWdn ZXIudWknLCAncGdhZG1pbi50b29scy5kZWJ1Z2dlci51dGlscycsCi0gICd3Y2RvY2tlcicsICdw Z2FkbWluLmJyb3dzZXIuZnJhbWUnLAorICAncGdhZG1pbi50b29scy5kZWJ1Z2dlci51aScsICdw Z2FkbWluLnRvb2xzLmRlYnVnZ2VyLnV0aWxzJywgJ3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9qcy9n ZXRfcGFuZWxfdGl0bGUnLAorICAnc291cmNlcy91dGlscycsICd3Y2RvY2tlcicsICdwZ2FkbWlu LmJyb3dzZXIuZnJhbWUnLAogXSwgZnVuY3Rpb24oCiAgIGdldHRleHQsIHVybF9mb3IsICQsIF8s IFMsIEFsZXJ0aWZ5LCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEJhY2tib25lLCBCYWNrZ3JpZCwKLSAg Q29kZU1pcnJvciwgQmFja2Zvcm0sIGdldF9mdW5jdGlvbl9hcmd1bWVudHMsIGRlYnVnZ2VyVXRp bHMKKyAgQ29kZU1pcnJvciwgQmFja2Zvcm0sIGdldF9mdW5jdGlvbl9hcmd1bWVudHMsIGRlYnVn Z2VyVXRpbHMsIHBhbmVsVGl0bGUsIHBnYWRtaW5VdGlscwogKSB7CiAgIHZhciBwZ1Rvb2xzID0g cGdBZG1pbi5Ub29scyA9IHBnQWRtaW4uVG9vbHMgfHwge30sCiAgICAgd2NEb2NrZXIgPSB3aW5k b3cud2NEb2NrZXI7CkBAIC0zNDAsNiArMzQwLDkgQEAgZGVmaW5lKFsKICAgICAgIGlmICghZCkK ICAgICAgICAgcmV0dXJuOwogCisgICAgICB2YXIgcGFuZWxfdGl0bGUgPSBwYW5lbFRpdGxlLmdl dFBhbmVsVGl0bGUocGdCcm93c2VyLCBpdGVtKSwKKyAgICAgICAgcGFuZWxfdGl0bGVfZm9yX3Vy bCA9IHBnYWRtaW5VdGlscy5yZW1vdmVTbGFzaEluVGhlU3RyaW5nKHBhbmVsX3RpdGxlKTsKKwog ICAgICAgdmFyIHRyZWVJbmZvID0gbm9kZS5nZXRUcmVlTm9kZUhpZXJhcmNoeS5hcHBseShub2Rl LCBbaV0pLAogICAgICAgICBiYXNlVXJsOwogCkBAIC00MDksOCArNDEyLDExIEBAIGRlZmluZShb CiAgICAgICAgIC5kb25lKGZ1bmN0aW9uKHJlcykgewogICAgICAgICAgIHZhciB1cmwgPSB1cmxf Zm9yKCdkZWJ1Z2dlci5kaXJlY3QnLCB7CiAgICAgICAgICAgICAndHJhbnNfaWQnOiByZXMuZGF0 YS5kZWJ1Z2dlclRyYW5zSWQsCisgICAgICAgICAgICAncGFuZWxfdGl0bGUnOiBwYW5lbF90aXRs ZV9mb3JfdXJsLnRpdGxlLAogICAgICAgICAgIH0pOwogCisgICAgICAgICAgdXJsICs9ICc/ZnNs YXNoZXM9JyArIHBhbmVsX3RpdGxlX2Zvcl91cmwuc2xhc2hMb2NhdGlvbnM7CisKICAgICAgICAg ICBpZiAoc2VsZi5wcmVmZXJlbmNlcy5kZWJ1Z2dlcl9uZXdfYnJvd3Nlcl90YWIpIHsKICAgICAg ICAgICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpOwogICAgICAgICAgIH0gZWxzZSB7CkBA IC00MjgsNiArNDM0LDcgQEAgZGVmaW5lKFsKICAgICAgICAgICAgICAgICAnZnJtX2RlYnVnZ2Vy Jywgd2NEb2NrZXIuRE9DSy5TVEFDS0VELCBkYXNoYm9hcmRQYW5lbFswXQogICAgICAgICAgICAg ICApOwogCisgICAgICAgICAgICBwYW5lbC50aXRsZSgnPHNwYW4gdGl0bGU9IkRlYnVnZ2VyIC0g JytwYW5lbF90aXRsZSsnIj4nK3BhbmVsX3RpdGxlKyc8L3NwYW4+Jyk7CiAgICAgICAgICAgICBw YW5lbC5mb2N1cygpOwogCiAgICAgICAgICAgICAvLyBQYW5lbCBDbG9zZWQgZXZlbnQKQEAgLTQ2 Niw2ICs0NzMsMTAgQEAgZGVmaW5lKFsKICAgICAgICAgc2VsZiA9IHRoaXMsCiAgICAgICAgIGlz X2VkYl9wcm9jID0gZC5fdHlwZSA9PSAnZWRicHJvYyc7CiAKKworICAgICAgdmFyIHBhbmVsX3Rp dGxlID0gcGFuZWxUaXRsZS5nZXRQYW5lbFRpdGxlKHBnQnJvd3NlciwgaXRlbSksCisgICAgICAg IHBhbmVsX3RpdGxlX2Zvcl91cmwgPSBwZ2FkbWluVXRpbHMucmVtb3ZlU2xhc2hJblRoZVN0cmlu ZyhwYW5lbF90aXRsZSk7CisKICAgICAgIGlmICghZCkKICAgICAgICAgcmV0dXJuOwogCkBAIC00 ODIsNyArNDkzLDcgQEAgZGVmaW5lKFsKICAgICAgICAgICAgIHRyYW5zX2lkID0gcmVzLmRhdGEu dHJhbnNfaWQ7CiAgICAgICAgICAgLy8gT3BlbiBBbGVydGlmeSB0aGUgZGlhbG9nIHRvIHRha2Ug dGhlIGlucHV0IGFyZ3VtZW50cyBmcm9tIHVzZXIgaWYgZnVuY3Rpb24gaGF2aW5nIGlucHV0IGFy Z3VtZW50cwogICAgICAgICAgIGlmIChkZWJ1Z19pbmZvWzBdWydyZXF1aXJlX2lucHV0J10pIHsK LSAgICAgICAgICAgIGdldF9mdW5jdGlvbl9hcmd1bWVudHMoZGVidWdfaW5mb1swXSwgMCwgaXNf ZWRiX3Byb2MsIHRyYW5zX2lkKTsKKyAgICAgICAgICAgIGdldF9mdW5jdGlvbl9hcmd1bWVudHMo ZGVidWdfaW5mb1swXSwgMCwgaXNfZWRiX3Byb2MsIHRyYW5zX2lkLCBwYW5lbF90aXRsZSk7CiAg ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAvLyBJbml0aWFsaXplIHRoZSB0YXJnZXQgYW5k IGNyZWF0ZSBhc3luY2hyb25vdXMgY29ubmVjdGlvbiBhbmQgdW5pcXVlIHRyYW5zYWN0aW9uIElE CiAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gYXJndW1lbnRzIHRvIHRoZSBmdW5jdGlvbnMg dGhlbiB3ZSBzaG91bGQgbm90IGFzayBmb3IgZm9yIGZ1bmN0aW9uIGFyZ3VtZW50cyBhbmQKQEAg LTUzMCw4ICs1NDEsMTEgQEAgZGVmaW5lKFsKIAogICAgICAgICAgICAgICAgIHZhciB1cmwgPSB1 cmxfZm9yKCdkZWJ1Z2dlci5kaXJlY3QnLCB7CiAgICAgICAgICAgICAgICAgICAndHJhbnNfaWQn OiB0cmFuc19pZCwKKyAgICAgICAgICAgICAgICAgICdwYW5lbF90aXRsZSc6IHBhbmVsX3RpdGxl X2Zvcl91cmwudGl0bGUsCiAgICAgICAgICAgICAgICAgfSk7CiAKKyAgICAgICAgICAgICAgICB1 cmwgKz0gJz9mc2xhc2hlcz0nICsgcGFuZWxfdGl0bGVfZm9yX3VybC5zbGFzaExvY2F0aW9uczsK KwogICAgICAgICAgICAgICAgIGlmIChzZWxmLnByZWZlcmVuY2VzLmRlYnVnZ2VyX25ld19icm93 c2VyX3RhYikgewogICAgICAgICAgICAgICAgICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJyk7 CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTU0OSw2ICs1NjMsNyBAQCBkZWZpbmUoWwog ICAgICAgICAgICAgICAgICAgICAgICdmcm1fZGVidWdnZXInLCB3Y0RvY2tlci5ET0NLLlNUQUNL RUQsIGRhc2hib2FyZFBhbmVsWzBdCiAgICAgICAgICAgICAgICAgICAgICk7CiAKKyAgICAgICAg ICAgICAgICAgIHBhbmVsLnRpdGxlKCc8c3BhbiB0aXRsZT0iRGVidWdnZXIgLSAnK3BhbmVsX3Rp dGxlKyciPicrcGFuZWxfdGl0bGUrJzwvc3Bhbj4nKTsKICAgICAgICAgICAgICAgICAgIHBhbmVs LmZvY3VzKCk7CiAKICAgICAgICAgICAgICAgICAgIC8vIFJlZ2lzdGVyIFBhbmVsIENsb3NlZCBl dmVudApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvc3RhdGljL2pzL2Rl YnVnZ2VyX3VpLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvc3RhdGljL2pzL2RlYnVn Z2VyX3VpLmpzCmluZGV4IGYwNWEyMmRjLi4zNzFiNzg3ZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vdG9vbHMvZGVidWdnZXIvc3RhdGljL2pzL2RlYnVnZ2VyX3VpLmpzCisrKyBiL3dlYi9wZ2Fk bWluL3Rvb2xzL2RlYnVnZ2VyL3N0YXRpYy9qcy9kZWJ1Z2dlcl91aS5qcwpAQCAtMTAsOSArMTAs OSBAQAogZGVmaW5lKFsKICAgJ3NvdXJjZXMvZ2V0dGV4dCcsICdzb3VyY2VzL3VybF9mb3InLCAn anF1ZXJ5JywgJ3VuZGVyc2NvcmUnLCAnYmFja2JvbmUnLAogICAncGdhZG1pbi5hbGVydGlmeWpz JywgJ3NvdXJjZXMvcGdhZG1pbicsICdwZ2FkbWluLmJyb3dzZXInLAotICAncGdhZG1pbi5iYWNr Z3JpZCcsICd3Y2RvY2tlcicsCisgICdwZ2FkbWluLmJhY2tncmlkJywgJ3NvdXJjZXMvdXRpbHMn LCAnd2Nkb2NrZXInLAogXSwgZnVuY3Rpb24oCi0gIGdldHRleHQsIHVybF9mb3IsICQsIF8sIEJh Y2tib25lLCBBbGVydGlmeSwgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNrZ3JpZAorICBnZXR0ZXh0 LCB1cmxfZm9yLCAkLCBfLCBCYWNrYm9uZSwgQWxlcnRpZnksIHBnQWRtaW4sIHBnQnJvd3Nlciwg QmFja2dyaWQsIHBnYWRtaW5VdGlscwogKSB7CiAKICAgdmFyIHdjRG9ja2VyID0gd2luZG93Lndj RG9ja2VyOwpAQCAtMTYzLDExICsxNjMsMTEgQEAgZGVmaW5lKFsKICAgICB9CiAgIH07CiAKLSAg dmFyIHJlcyA9IGZ1bmN0aW9uKGRlYnVnX2luZm8sIHJlc3RhcnRfZGVidWcsIGlzX2VkYl9wcm9j LCB0cmFuc19pZCkgeworICB2YXIgcmVzID0gZnVuY3Rpb24oZGVidWdfaW5mbywgcmVzdGFydF9k ZWJ1ZywgaXNfZWRiX3Byb2MsIHRyYW5zX2lkLCBwYW5lbF90aXRsZSkgewogICAgIGlmICghQWxl cnRpZnkuZGVidWdnZXJJbnB1dEFyZ3NEaWFsb2cpIHsKICAgICAgIEFsZXJ0aWZ5LmRpYWxvZygn ZGVidWdnZXJJbnB1dEFyZ3NEaWFsb2cnLCBmdW5jdGlvbiBmYWN0b3J5KCkgewogICAgICAgICBy ZXR1cm4gewotICAgICAgICAgIG1haW46IGZ1bmN0aW9uKHRpdGxlLCBkZWJ1Z19pbmZvLCByZXN0 YXJ0X2RlYnVnLCBpc19lZGJfcHJvYywgdHJhbnNfaWQpIHsKKyAgICAgICAgICBtYWluOiBmdW5j dGlvbih0aXRsZSwgZGVidWdfaW5mbywgcmVzdGFydF9kZWJ1ZywgaXNfZWRiX3Byb2MsIHRyYW5z X2lkLCBwYW5lbF90aXRsZSkgewogICAgICAgICAgICAgdGhpcy5wcmVmZXJlbmNlcyA9IHdpbmRv dy50b3AucGdBZG1pbi5Ccm93c2VyLmdldF9wcmVmZXJlbmNlc19mb3JfbW9kdWxlKCdkZWJ1Z2dl cicpOwogICAgICAgICAgICAgdGhpcy5zZXQoJ3RpdGxlJywgdGl0bGUpOwogCkBAIC0xNzYsNiAr MTc2LDcgQEAgZGVmaW5lKFsKICAgICAgICAgICAgIHRoaXMuc2V0KCdkZWJ1Z19pbmZvJywgZGVi dWdfaW5mbyk7CiAgICAgICAgICAgICB0aGlzLnNldCgncmVzdGFydF9kZWJ1ZycsIHJlc3RhcnRf ZGVidWcpOwogICAgICAgICAgICAgdGhpcy5zZXQoJ3RyYW5zX2lkJywgdHJhbnNfaWQpOworICAg ICAgICAgICAgdGhpcy5zZXQoJ3BhbmVsX3RpdGxlJywgcGFuZWxfdGl0bGUpOwogCiAgICAgICAg ICAgICAvLyBWYXJpYWJsZXMgdG8gc3RvcmUgdGhlIGRhdGEgc2VudCBmcm9tIHNxbGl0ZSBkYXRh YmFzZQogICAgICAgICAgICAgdmFyIGZ1bmNfYXJnc19kYXRhID0gdGhpcy5mdW5jX2FyZ3NfZGF0 YSA9IFtdOwpAQCAtNTgxLDYgKzU4Miw3IEBAIGRlZmluZShbCiAgICAgICAgICAgICBkZWJ1Z19p bmZvOiB1bmRlZmluZWQsCiAgICAgICAgICAgICByZXN0YXJ0X2RlYnVnOiB1bmRlZmluZWQsCiAg ICAgICAgICAgICB0cmFuc19pZDogdW5kZWZpbmVkLAorICAgICAgICAgICAgcGFuZWxfdGl0bGU6 IHVuZGVmaW5lZCwKICAgICAgICAgICB9LAogICAgICAgICAgIHNldHVwOiBmdW5jdGlvbigpIHsK ICAgICAgICAgICAgIHJldHVybiB7CkBAIC03NTIsMTIgKzc1NCwxNiBAQCBkZWZpbmUoWwogICAg ICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAuZG9uZShmdW5jdGlvbihyZXMpIHsK IAorICAgICAgICAgICAgICAgICAgICB2YXIgcGFuZWxfdGl0bGVfZm9yX3VybCA9IHBnYWRtaW5V dGlscy5yZW1vdmVTbGFzaEluVGhlU3RyaW5nKHBhbmVsX3RpdGxlKTsKICAgICAgICAgICAgICAg ICAgICAgdmFyIHVybCA9IHVybF9mb3IoCiAgICAgICAgICAgICAgICAgICAgICAgJ2RlYnVnZ2Vy LmRpcmVjdCcsIHsKICAgICAgICAgICAgICAgICAgICAgICAgICd0cmFuc19pZCc6IHJlcy5kYXRh LmRlYnVnZ2VyVHJhbnNJZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICdwYW5lbF90aXRsZSc6 IHBhbmVsX3RpdGxlX2Zvcl91cmwudGl0bGUsCiAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICApOwogCisgICAgICAgICAgICAgICAgICAgIHVybCArPSAnP2ZzbGFz aGVzPScgKyBwYW5lbF90aXRsZV9mb3JfdXJsLnNsYXNoTG9jYXRpb25zOworCiAgICAgICAgICAg ICAgICAgICAgIGlmIChzZWxmLnByZWZlcmVuY2VzLmRlYnVnZ2VyX25ld19icm93c2VyX3RhYikg ewogICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpOwogICAg ICAgICAgICAgICAgICAgICB9IGVsc2UgewpAQCAtNzczLDYgKzc3OSw3IEBAIGRlZmluZShbCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICdmcm1fZGVidWdnZXInLCB3Y0RvY2tlci5ET0NLLlNU QUNLRUQsIGRhc2hib2FyZFBhbmVsWzBdCiAgICAgICAgICAgICAgICAgICAgICAgICApOwogCisg ICAgICAgICAgICAgICAgICAgICAgcGFuZWwudGl0bGUoJzxzcGFuIHRpdGxlPSJEZWJ1Z2dlciAt ICcrIHNlbGYuc2V0dGluZygncGFuZWxfdGl0bGUnKSsnIj4nK3NlbGYuc2V0dGluZygncGFuZWxf dGl0bGUnKSsnPC9zcGFuPicpOwogICAgICAgICAgICAgICAgICAgICAgIHBhbmVsLmZvY3VzKCk7 CiAKICAgICAgICAgICAgICAgICAgICAgICAvLyBQYW5lbCBDbG9zZWQgZXZlbnQKQEAgLTk3MCw3 ICs5NzcsNyBAQCBkZWZpbmUoWwogICAgIH0KIAogICAgIEFsZXJ0aWZ5LmRlYnVnZ2VySW5wdXRB cmdzRGlhbG9nKAotICAgICAgZ2V0dGV4dCgnRGVidWdnZXInKSwgZGVidWdfaW5mbywgcmVzdGFy dF9kZWJ1ZywgaXNfZWRiX3Byb2MsIHRyYW5zX2lkCisgICAgICBnZXR0ZXh0KCdEZWJ1Z2dlcicp LCBkZWJ1Z19pbmZvLCByZXN0YXJ0X2RlYnVnLCBpc19lZGJfcHJvYywgdHJhbnNfaWQsIHBhbmVs X3RpdGxlCiAgICAgKS5yZXNpemVUbyhwZ0Jyb3dzZXIuc3RkVy5tZCxwZ0Jyb3dzZXIuc3RkSC5t ZCk7CiAKICAgfTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3V0aWxzL3BhdGhzLnB5IGIvd2Vi L3BnYWRtaW4vdXRpbHMvcGF0aHMucHkKaW5kZXggOGYxODg0NzQuLjg0YzA4Y2M1IDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi91dGlscy9wYXRocy5weQorKysgYi93ZWIvcGdhZG1pbi91dGlscy9w YXRocy5weQpAQCAtMTAyLDMgKzEwMiwxMyBAQCBkZWYgZ2V0X2Nvb2tpZV9wYXRoKCk6CiAgICAg ICAgICAgICAnL2Jyb3dzZXIvJywgJycKICAgICAgICAgKQogICAgIHJldHVybiBjb29raWVfcm9v dF9wYXRoCisKKworZGVmIGFkZF9mc2xhc2hfc3RyaW5nKF90ZXh0PU5vbmUsIF9mc2xhc2hlcz0n Jyk6CisgICAgdHJ5OgorICAgICAgICBmb3IgaWR4IGluIG1hcChpbnQsIF9mc2xhc2hlcy5zcGxp dCgnLCcpKToKKyAgICAgICAgICAgIF90ZXh0ID0gX3RleHRbOmlkeF0gKyAnLycgKyBfdGV4dFtp ZHg6XQorICAgIGV4Y2VwdCBJbmRleEVycm9yIGFzIGU6CisgICAgICAgIGN1cnJlbnRfYXBwLmxv Z2dlci5leGNlcHRpb24oZSkKKworICAgIHJldHVybiBfdGV4dApkaWZmIC0tZ2l0IGEvd2ViL3Jl Z3Jlc3Npb24vamF2YXNjcmlwdC9wZ2FkbWluX3V0aWxzX3NwZWMuanMgYi93ZWIvcmVncmVzc2lv bi9qYXZhc2NyaXB0L3BnYWRtaW5fdXRpbHNfc3BlYy5qcwppbmRleCAwMmJkNTQ3OC4uZTcxODEw NjkgMTAwNjQ0Ci0tLSBhL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvcGdhZG1pbl91dGlsc19z cGVjLmpzCisrKyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvcGdhZG1pbl91dGlsc19zcGVj LmpzCkBAIC03LDcgKzcsNyBAQAogLy8KIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAKLWltcG9ydCB7IGdldEVwb2NoLCBnZXRH Q0QsIGdldE1vZCB9IGZyb20gJ3NvdXJjZXMvdXRpbHMnOworaW1wb3J0IHsgZ2V0RXBvY2gsIGdl dEdDRCwgZ2V0TW9kLCByZW1vdmVTbGFzaEluVGhlU3RyaW5nfSBmcm9tICdzb3VyY2VzL3V0aWxz JzsKIAogZGVzY3JpYmUoJ2dldEVwb2NoJywgZnVuY3Rpb24gKCkgewogICBpdCgnc2hvdWxkIHJl dHVybiBub24gemVybycsIGZ1bmN0aW9uICgpIHsKQEAgLTUxLDMgKzUxLDU5IEBAIGRlc2NyaWJl KCdnZXRNb2QnLCBmdW5jdGlvbiAoKSB7CiAgICAgZXhwZWN0KGdldE1vZCgtNyw1KSkudG9FcXVh bCgzKTsKICAgfSk7CiB9KTsKKworZGVzY3JpYmUoJ1JlbW92ZSB0aGUgc2xhc2hlcycsIGZ1bmN0 aW9uICgpIHsKKyAgaXQoJ2l0IHdpbGwgcmVtb3ZlIHRoZSBzbGFzaGVzJywgZnVuY3Rpb24gKCkg eworICAgIGV4cGVjdCgKKyAgICAgIHJlbW92ZVNsYXNoSW5UaGVTdHJpbmcoJy8nKQorICAgICku dG9FcXVhbCh7CisgICAgICAnc2xhc2hMb2NhdGlvbnMnOiAnMCcsCisgICAgICAndGl0bGUnOiAn JywKKyAgICB9KTsKKyAgfSk7CisKKyAgaXQoJ2l0IHdpbGwgcmVtb3ZlIGlmIHNsYXNoZXMgYXJl IHByZXNlbnQnLCBmdW5jdGlvbiAoKSB7CisgICAgZXhwZWN0KAorICAgICAgcmVtb3ZlU2xhc2hJ blRoZVN0cmluZygnbXkvdGVzdCcpCisgICAgKS50b0VxdWFsKHsKKyAgICAgICdzbGFzaExvY2F0 aW9ucyc6ICcyJywKKyAgICAgICd0aXRsZSc6ICdteXRlc3QnLAorICAgIH0pOworICB9KTsKKwor ICBpdCgnaXQgd2lsbCByZW1vdmUgYWxsIHRoZSBzbGFzaGVzIGFyZSBwcmVzZW50JywgZnVuY3Rp b24gKCkgeworICAgIGV4cGVjdCgKKyAgICAgIHJlbW92ZVNsYXNoSW5UaGVTdHJpbmcoJ215L3Rl c3QvdmFsdWUnKQorICAgICkudG9FcXVhbCh7CisgICAgICAnc2xhc2hMb2NhdGlvbnMnOiAnMiw3 JywKKyAgICAgICd0aXRsZSc6ICdteXRlc3R2YWx1ZScsCisgICAgfSk7CisgIH0pOworCisgIGl0 KCdpdCB3aWxsIHJlbW92ZSBhbGwgdGhlIHNsYXNoZXMgYXJlIHByZXNlbnQnLCBmdW5jdGlvbiAo KSB7CisgICAgZXhwZWN0KAorICAgICAgcmVtb3ZlU2xhc2hJblRoZVN0cmluZygnYS9iYi9jY2Mv ZGRkZC9lZWVlZScpCisgICAgKS50b0VxdWFsKHsKKyAgICAgICdzbGFzaExvY2F0aW9ucyc6ICcx LDQsOCwxMycsCisgICAgICAndGl0bGUnOiAnYWJiY2NjZGRkZGVlZWVlJywKKyAgICB9KTsKKyAg fSk7CisKKyAgaXQoJ2l0IHdpbGwgbm90IHJlbW92ZSBpZiBzbGFzaCBpcyBub3QgcHJlc2VudCcs IGZ1bmN0aW9uICgpIHsKKyAgICBleHBlY3QoCisgICAgICByZW1vdmVTbGFzaEluVGhlU3RyaW5n KCdteXRlc3QnKQorICAgICkudG9FcXVhbCh7CisgICAgICAnc2xhc2hMb2NhdGlvbnMnOiAnJywK KyAgICAgICd0aXRsZSc6ICdteXRlc3QnLAorICAgIH0pOworICB9KTsKKworICBpdCgnaXQgd2ls bCBub3QgcmVtb3ZlIGlmIHZhbHVlIGlzIG5vdCBwcmVzZW50JywgZnVuY3Rpb24gKCkgeworICAg IGV4cGVjdCgKKyAgICAgIHJlbW92ZVNsYXNoSW5UaGVTdHJpbmcoJycpCisgICAgKS50b0VxdWFs KHsKKyAgICAgICdzbGFzaExvY2F0aW9ucyc6ICcnLAorICAgICAgJ3RpdGxlJzogJycsCisgICAg fSk7CisgIH0pOworfSk7CmRpZmYgLS1naXQgYS93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L3Nx bGVkaXRvcl91dGlsc19zcGVjLmpzIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9zcWxlZGl0 b3JfdXRpbHNfc3BlYy5qcwppbmRleCA3ODlmMzcwYy4uNjE0Y2FlYjUgMTAwNjQ0Ci0tLSBhL3dl Yi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvc3FsZWRpdG9yX3V0aWxzX3NwZWMuanMKKysrIGIvd2Vi L3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9zcWxlZGl0b3JfdXRpbHNfc3BlYy5qcwpAQCAtMzYsNjEg KzM2LDUgQEAgZGVmaW5lKFsnc291cmNlcy9zcWxlZGl0b3JfdXRpbHMnXSwKICAgICAgICAgICBl eHBlY3QoU3FsRWRpdG9yVXRpbHMuY2FsY0ZvbnRTaXplKDIpKS50b0VxdWFsKCcyZW0nKTsKICAg ICAgICAgfSk7CiAgICAgICB9KTsKLQotICAgICAgZGVzY3JpYmUoJ1JlbW92ZSB0aGUgc2xhc2hl cycsIGZ1bmN0aW9uICgpIHsKLSAgICAgICAgaXQoJ2l0IHdpbGwgcmVtb3ZlIHRoZSBzbGFzaGVz JywgZnVuY3Rpb24gKCkgewotICAgICAgICAgIGV4cGVjdCgKLSAgICAgICAgICAgIFNxbEVkaXRv clV0aWxzLnJlbW92ZVNsYXNoSW5UaGVTdHJpbmcoJy8nKQotICAgICAgICAgICkudG9FcXVhbCh7 Ci0gICAgICAgICAgICAnc2xhc2hMb2NhdGlvbnMnOiAnMCcsCi0gICAgICAgICAgICAndGl0bGUn OiAnJywKLSAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgaXQoJ2l0IHdpbGwg cmVtb3ZlIGlmIHNsYXNoZXMgYXJlIHByZXNlbnQnLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAg ZXhwZWN0KAotICAgICAgICAgICAgU3FsRWRpdG9yVXRpbHMucmVtb3ZlU2xhc2hJblRoZVN0cmlu ZygnbXkvdGVzdCcpCi0gICAgICAgICAgKS50b0VxdWFsKHsKLSAgICAgICAgICAgICdzbGFzaExv Y2F0aW9ucyc6ICcyJywKLSAgICAgICAgICAgICd0aXRsZSc6ICdteXRlc3QnLAotICAgICAgICAg IH0pOwotICAgICAgICB9KTsKLQotICAgICAgICBpdCgnaXQgd2lsbCByZW1vdmUgYWxsIHRoZSBz bGFzaGVzIGFyZSBwcmVzZW50JywgZnVuY3Rpb24gKCkgewotICAgICAgICAgIGV4cGVjdCgKLSAg ICAgICAgICAgIFNxbEVkaXRvclV0aWxzLnJlbW92ZVNsYXNoSW5UaGVTdHJpbmcoJ215L3Rlc3Qv dmFsdWUnKQotICAgICAgICAgICkudG9FcXVhbCh7Ci0gICAgICAgICAgICAnc2xhc2hMb2NhdGlv bnMnOiAnMiw3JywKLSAgICAgICAgICAgICd0aXRsZSc6ICdteXRlc3R2YWx1ZScsCi0gICAgICAg ICAgfSk7Ci0gICAgICAgIH0pOwotCi0gICAgICAgIGl0KCdpdCB3aWxsIHJlbW92ZSBhbGwgdGhl IHNsYXNoZXMgYXJlIHByZXNlbnQnLCBmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgZXhwZWN0KAot ICAgICAgICAgICAgU3FsRWRpdG9yVXRpbHMucmVtb3ZlU2xhc2hJblRoZVN0cmluZygnYS9iYi9j Y2MvZGRkZC9lZWVlZScpCi0gICAgICAgICAgKS50b0VxdWFsKHsKLSAgICAgICAgICAgICdzbGFz aExvY2F0aW9ucyc6ICcxLDQsOCwxMycsCi0gICAgICAgICAgICAndGl0bGUnOiAnYWJiY2NjZGRk ZGVlZWVlJywKLSAgICAgICAgICB9KTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgaXQoJ2l0IHdp bGwgbm90IHJlbW92ZSBpZiBzbGFzaCBpcyBub3QgcHJlc2VudCcsIGZ1bmN0aW9uICgpIHsKLSAg ICAgICAgICBleHBlY3QoCi0gICAgICAgICAgICBTcWxFZGl0b3JVdGlscy5yZW1vdmVTbGFzaElu VGhlU3RyaW5nKCdteXRlc3QnKQotICAgICAgICAgICkudG9FcXVhbCh7Ci0gICAgICAgICAgICAn c2xhc2hMb2NhdGlvbnMnOiAnJywKLSAgICAgICAgICAgICd0aXRsZSc6ICdteXRlc3QnLAotICAg ICAgICAgIH0pOwotICAgICAgICB9KTsKLQotICAgICAgICBpdCgnaXQgd2lsbCBub3QgcmVtb3Zl IGlmIHZhbHVlIGlzIG5vdCBwcmVzZW50JywgZnVuY3Rpb24gKCkgewotICAgICAgICAgIGV4cGVj dCgKLSAgICAgICAgICAgIFNxbEVkaXRvclV0aWxzLnJlbW92ZVNsYXNoSW5UaGVTdHJpbmcoJycp Ci0gICAgICAgICAgKS50b0VxdWFsKHsKLSAgICAgICAgICAgICdzbGFzaExvY2F0aW9ucyc6ICcn LAotICAgICAgICAgICAgJ3RpdGxlJzogJycsCi0gICAgICAgICAgfSk7Ci0gICAgICAgIH0pOwot ICAgICAgfSk7CiAgICAgfSk7CiAgIH0pOwo= --000000000000bd093b058b1a2b8e--