Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lWb0K-0005bx-AH for pgadmin-hackers@arkaria.postgresql.org; Wed, 14 Apr 2021 08:36:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lWb0I-0000Ew-VT for pgadmin-hackers@arkaria.postgresql.org; Wed, 14 Apr 2021 08:36:06 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lWb0I-0000Ep-H4 for pgadmin-hackers@lists.postgresql.org; Wed, 14 Apr 2021 08:36:06 +0000 Received: from mail-lf1-x12b.google.com ([2a00:1450:4864:20::12b]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1lWb0D-0004cC-6G for pgadmin-hackers@postgresql.org; Wed, 14 Apr 2021 08:36:04 +0000 Received: by mail-lf1-x12b.google.com with SMTP id n8so31910944lfh.1 for ; Wed, 14 Apr 2021 01:36:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=WTKhlGlU56lXa6l84ynevmLhqmnSUi310fCBVRK8/Ng=; b=smjmctgX9j4GYp7jet/9MQ7pz43viwmSIEoEZhWV3azbrnHAfeXeFnax0qAeqHZifU 1v2n5w/1751vDDDvjRcvh5QoLMpHo49F8bWnfgUSCq7VoInJISrD3NLvPrWCjSS3QELy I/kDqcnSXhfyBoxs4iax0we/08AnmMxtMwtUdp+NRIQcldBV8eDly41yd3mVnL1/v0Xe euLegxaquhYV7f0laJaGhwV610qxA4lQzp3IigQB68TSD8HB4lLxYMCSKKlMwJRTh+pB hsgGNYzb63+gB8NHymhuyKCO8M9JP65Xv3wSio22egWfegxOJyYGg437D9ybrf2brTHT 2iJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=WTKhlGlU56lXa6l84ynevmLhqmnSUi310fCBVRK8/Ng=; b=X1TWKehu2WGbTVvAFSw1ABGRFgR7swKuGMQcK2YaovTxxj7RrukBD6YpPANhQEYz3D L088zE3q61uJQUHI9h9/H2GGmPatvlWtVgws3mZ+8UP0ticoIpKuX11127n4YMIvhyLU Im30M7+RDq/2JQ+Fw30xQserjIGHxtc/Oj9MGLenVndJtFeab1aGFYEeq+BMPRZOhxTI R4UvuX5UeSRuoPvB48A7Hapn0Ij2Gqngx8b1ZtbKJS+XMK4xYIYkbKhx4aUnYrAlejRN Dzw5EjVyQlHBXFIy+gpqw/RxywnkCKu33/0alXi9HXBhXuHZr8jJrzR9zbp5rJUSyxP+ 9wmQ== X-Gm-Message-State: AOAM531wI5SxirrWJZ2glghdlbWSnjEsjPAsjzSrPwf5HLzTf0fDLi4O UhAn6tNSmyfgZeiZuVmmh14bDXUASkOP5EWfFQRQt8dTp04bgzyvOw1/UXyRRX91YASTn0Ns6yo Za2tgmIxb9eJW0wazqz0vfc2yXTFFuAFjbmx93uWUKT1PoqvDiFUxRvFKO+Gux4GlkuGDn1UECk o35x3omxQJBBIKLebhHOIiHRYKQ5qI+ie5b7RxbWCRw2aJ8x3nxRlfkMGGAXcLMCs= X-Google-Smtp-Source: ABdhPJy361hTowhavHiiMZcWEj+jxLGBzVbMwiX9WR/SMs5LG38WQx5daRF4bXJDp/+0oDSYREO8dcxHacobm6XhN3U= X-Received: by 2002:a05:6512:455:: with SMTP id y21mr3449261lfk.220.1618389359631; Wed, 14 Apr 2021 01:35:59 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Khushboo Vashi Date: Wed, 14 Apr 2021 01:35:48 -0700 Message-ID: Subject: Re: [pgAdmin4][Patch] - RM 6158 - Logging into PostgreSQL servers with Kerberos Authentication To: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000e3c31205bfeaa239" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000e3c31205bfeaa239 Content-Type: multipart/alternative; boundary="000000000000e3c31005bfeaa237" --000000000000e3c31005bfeaa237 Content-Type: text/plain; charset="UTF-8" Hi, Please find the attached patch with some minor improvements. Thanks, Khushboo On Wed, Apr 7, 2021 at 11:50 PM Khushboo Vashi < khushboo.vashi@enterprisedb.com> wrote: > Hi, > > Please find the attached patch for RM 6158: Support Kerberos > Authentication - Phase 2. > This patch includes the support for logging into PostgreSQL servers with > Kerberos authentication. > > Thanks, > Khushboo > > --000000000000e3c31005bfeaa237 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

Please find the attached= patch with some minor improvements.

Thanks,
=
Khushboo

On Wed, Apr 7, 2021 at 11:50 PM Khushboo Vashi <<= a href=3D"mailto:khushboo.vashi@enterprisedb.com">khushboo.vashi@enterprise= db.com> wrote:
Hi,

Please find the attached=C2= =A0patch for RM 6158: Support Kerberos Authentication - Phase 2.
= This patch includes the support for logging into PostgreSQL servers with Ke= rberos authentication.

Thanks,
Khushboo<= /div>

--000000000000e3c31005bfeaa237-- --000000000000e3c31205bfeaa239 Content-Type: text/x-patch; charset="US-ASCII"; name="RM_6158_v1.patch" Content-Disposition: attachment; filename="RM_6158_v1.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_knh77mk10 ZGlmZiAtLWdpdCBhL3dlYi9jb25maWcucHkgYi93ZWIvY29uZmlnLnB5CmluZGV4IDNlMTlhMjg1 OC4uZTk2ZDYwYzY1IDEwMDY0NAotLS0gYS93ZWIvY29uZmlnLnB5CisrKyBiL3dlYi9jb25maWcu cHkKQEAgLTYzNCw2ICs2MzQsOSBAQCBLUkJfS1ROQU1FID0gJzxLUkI1X0tFWVRBQl9GSUxFPicK IAogS1JCX0FVVE9fQ1JFQVRFX1VTRVIgPSBUcnVlCiAKK0tFUkJFUk9TX0NDQUNIRV9ESVIgPSBv cy5wYXRoLmpvaW4oREFUQV9ESVIsICdrcmJjY2FjaGUnKQorCisKICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CiAjIExvY2FsIGNvbmZpZyBzZXR0aW5ncwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZGlmZiAtLWdpdCBh L3dlYi9taWdyYXRpb25zL3ZlcnNpb25zL2NjZTIwMDZmYTEwN18ucHkgYi93ZWIvbWlncmF0aW9u cy92ZXJzaW9ucy9jY2UyMDA2ZmExMDdfLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMC4uMGNkM2Q3ZGExCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL21pZ3JhdGlvbnMvdmVy c2lvbnMvY2NlMjAwNmZhMTA3Xy5weQpAQCAtMCwwICsxLDI4IEBACisKKyIiImVtcHR5IG1lc3Nh Z2UKKworUmV2aXNpb24gSUQ6IGNjZTIwMDZmYTEwNworUmV2aXNlczogYTM5YmQwMTViNjQ0CitD cmVhdGUgRGF0ZTogMjAyMS0wMy0xNSAwMDowMjo0MC4xMDAyNTIKKworIiIiCitmcm9tIGFsZW1i aWMgaW1wb3J0IG9wCitpbXBvcnQgc3FsYWxjaGVteSBhcyBzYQorZnJvbSBwZ2FkbWluLm1vZGVs IGltcG9ydCBkYgorCisjIHJldmlzaW9uIGlkZW50aWZpZXJzLCB1c2VkIGJ5IEFsZW1iaWMuCity ZXZpc2lvbiA9ICdjY2UyMDA2ZmExMDcnCitkb3duX3JldmlzaW9uID0gJ2EzOWJkMDE1YjY0NCcK K2JyYW5jaF9sYWJlbHMgPSBOb25lCitkZXBlbmRzX29uID0gTm9uZQorCisKK2RlZiB1cGdyYWRl KCk6CisgICAgZGIuZW5naW5lLmV4ZWN1dGUoCisgICAgICAgICdBTFRFUiBUQUJMRSBzZXJ2ZXIg QUREIENPTFVNTiBrZXJiZXJvc19jb25uIElOVEVHRVIgREVGQVVMVCAwJworICAgICkKKworCitk ZWYgZG93bmdyYWRlKCk6CisgICAgIyBwZ0FkbWluIG9ubHkgdXBncmFkZXMsIGRvd25ncmFkZSBu b3QgaW1wbGVtZW50ZWQuCisgICAgcGFzcwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYXV0aGVu dGljYXRlL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYXV0aGVudGljYXRlL19faW5pdF9fLnB5 CmluZGV4IDkxNjZjMmZmZC4uM2JjNjQ0ODNlIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9hdXRo ZW50aWNhdGUvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYXV0aGVudGljYXRlL19faW5p dF9fLnB5CkBAIC0xMywxMCArMTMsMTMgQEAgaW1wb3J0IGZsYXNrCiBpbXBvcnQgcGlja2xlCiBm cm9tIGZsYXNrIGltcG9ydCBjdXJyZW50X2FwcCwgZmxhc2gsIFJlc3BvbnNlLCByZXF1ZXN0LCB1 cmxfZm9yLFwKICAgICByZW5kZXJfdGVtcGxhdGUKLWZyb20gZmxhc2tfc2VjdXJpdHkgaW1wb3J0 IGN1cnJlbnRfdXNlcgorZnJvbSBmbGFza19iYWJlbGV4IGltcG9ydCBnZXR0ZXh0Citmcm9tIGZs YXNrX3NlY3VyaXR5IGltcG9ydCBjdXJyZW50X3VzZXIsIGxvZ2luX3JlcXVpcmVkCiBmcm9tIGZs YXNrX3NlY3VyaXR5LnZpZXdzIGltcG9ydCBfc2VjdXJpdHksIF9jdHgKIGZyb20gZmxhc2tfc2Vj dXJpdHkudXRpbHMgaW1wb3J0IGNvbmZpZ192YWx1ZSwgZ2V0X3Bvc3RfbG9nb3V0X3JlZGlyZWN0 LCBcCiAgICAgZ2V0X3Bvc3RfbG9naW5fcmVkaXJlY3QsIGxvZ291dF91c2VyCitmcm9tIHBnYWRt aW4udXRpbHMuYWpheCBpbXBvcnQgbWFrZV9qc29uX3Jlc3BvbnNlLCBpbnRlcm5hbF9zZXJ2ZXJf ZXJyb3IKK2ltcG9ydCBvcwogCiBmcm9tIGZsYXNrIGltcG9ydCBzZXNzaW9uCiAKQEAgLTM0LDcg KzM3LDkgQEAgY2xhc3MgQXV0aGVudGljYXRlTW9kdWxlKFBnQWRtaW5Nb2R1bGUpOgogICAgIGRl ZiBnZXRfZXhwb3NlZF91cmxfZW5kcG9pbnRzKHNlbGYpOgogICAgICAgICByZXR1cm4gWydhdXRo ZW50aWNhdGUubG9naW4nLAogICAgICAgICAgICAgICAgICdhdXRoZW50aWNhdGUua2VyYmVyb3Nf bG9naW4nLAotICAgICAgICAgICAgICAgICdhdXRoZW50aWNhdGUua2VyYmVyb3NfbG9nb3V0J10K KyAgICAgICAgICAgICAgICAnYXV0aGVudGljYXRlLmtlcmJlcm9zX2xvZ291dCcsCisgICAgICAg ICAgICAgICAgJ2F1dGhlbnRpY2F0ZS5rZXJiZXJvc191cGRhdGVfdGlja2V0JywKKyAgICAgICAg ICAgICAgICAnYXV0aGVudGljYXRlLmtlcmJlcm9zX3ZhbGlkYXRlX3RpY2tldCddCiAKIAogYmx1 ZXByaW50ID0gQXV0aGVudGljYXRlTW9kdWxlKE1PRFVMRV9OQU1FLCBfX25hbWVfXywgc3RhdGlj X3VybF9wYXRoPScnKQpAQCAtNTUsNiArNjAsMTIgQEAgZGVmIGtlcmJlcm9zX2xvZ2luKCk6CiBA cGdDU1JGUHJvdGVjdC5leGVtcHQKIGRlZiBrZXJiZXJvc19sb2dvdXQoKToKICAgICBsb2dvdXRf dXNlcigpCisgICAgaWYgJ0tSQjVDQ05BTUUnIGluIHNlc3Npb246CisgICAgICAgICMgUmVtb3Zl IHRoZSBjcmVkZW50aWFsIGNhY2hlCisgICAgICAgIGNhY2hlX2ZpbGVfcGF0aCA9IHNlc3Npb25b J0tSQjVDQ05BTUUnXS5zcGxpdCgiOiIpWzFdCisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGNh Y2hlX2ZpbGVfcGF0aCk6CisgICAgICAgICAgICBvcy5yZW1vdmUoY2FjaGVfZmlsZV9wYXRoKQor CiAgICAgcmV0dXJuIFJlc3BvbnNlKHJlbmRlcl90ZW1wbGF0ZSgiYnJvd3Nlci9rZXJiZXJvc19s b2dvdXQuaHRtbCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2dpbl91 cmw9dXJsX2Zvcignc2VjdXJpdHkubG9naW4nKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICkpCkBAIC0xNzMsMTEgKzE4NCwxMyBAQCBjbGFzcyBBdXRoU291cmNlTWFuYWdl cigpOgogICAgICAgICAgICAgIyBPUiBXaGVuIGtlcmJlcm9zIGF1dGhlbnRpY2F0aW9uIGZhaWxl ZCB3aGlsZSBhY2Nlc3NpbmcgcGdhZG1pbiwKICAgICAgICAgICAgICMgd2UgbmVlZCB0byBicmVh ayB0aGUgbG9vcCBhcyBubyBuZWVkIHRvIGF1dGhlbnRpY2F0ZSBmdXJ0aGVyCiAgICAgICAgICAg ICAjIGV2ZW4gaWYgdGhlIGF1dGhlbnRpY2F0aW9uIHNvdXJjZXMgc2V0IHRvIG11bHRpcGxlCi0g ICAgICAgICAgICBpZiBub3Qgc3RhdHVzIGFuZCAoaGFzYXR0cihtc2csICdzdGF0dXMnKSBhbmQK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cuc3RhdHVzID09ICc0MDEgVU5BVVRI T1JJWkVEJykgb3IgXAotICAgICAgICAgICAgICAgIChzb3VyY2UuZ2V0X3NvdXJjZV9uYW1lKCkg PT0gS0VSQkVST1MgYW5kCi0gICAgICAgICAgICAgICAgIHJlcXVlc3QubWV0aG9kID09ICdHRVQn KToKLSAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAg ICAgICAgICAgICAgICBpZiAoaGFzYXR0cihtc2csICdzdGF0dXMnKSBhbmQKKyAgICAgICAgICAg ICAgICAgICAgbXNnLnN0YXR1cyA9PSAnNDAxIFVOQVVUSE9SSVpFRCcpIG9yXAorICAgICAgICAg ICAgICAgICAgICAgICAgKHNvdXJjZS5nZXRfc291cmNlX25hbWUoKSA9PQorICAgICAgICAgICAg ICAgICAgICAgICAgIEtFUkJFUk9TIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVl c3QubWV0aG9kID09ICdHRVQnKToKKyAgICAgICAgICAgICAgICAgICAgYnJlYWsKIAogICAgICAg ICAgICAgaWYgc3RhdHVzOgogICAgICAgICAgICAgICAgIHNlbGYuc2V0X3NvdXJjZShzb3VyY2Up CkBAIC0yMjQsMyArMjM3LDU4IEBAIGRlZiBpbml0X2FwcChhcHApOgogICAgIEF1dGhTb3VyY2VS ZWdpc3RyeS5sb2FkX2F1dGhfc291cmNlcygpCiAKICAgICByZXR1cm4gYXV0aF9zb3VyY2VzCisK KworQGJsdWVwcmludC5yb3V0ZSgiL2tlcmJlcm9zL3VwZGF0ZV90aWNrZXQiLAorICAgICAgICAg ICAgICAgICBlbmRwb2ludD0ia2VyYmVyb3NfdXBkYXRlX3RpY2tldCIsIG1ldGhvZHM9WyJHRVQi XSkKK0BwZ0NTUkZQcm90ZWN0LmV4ZW1wdAorQGxvZ2luX3JlcXVpcmVkCitkZWYga2VyYmVyb3Nf dXBkYXRlX3RpY2tldCgpOgorICAgICIiIgorICAgIFVwZGF0ZSB0aGUga2VyYmVyb3MgdGlja2V0 LgorICAgICIiIgorICAgIGZyb20gd2Vya3pldWcuZGF0YXN0cnVjdHVyZXMgaW1wb3J0IEhlYWRl cnMKKyAgICBoZWFkZXJzID0gSGVhZGVycygpCisKKyAgICBhdXRob3JpemF0aW9uID0gcmVxdWVz dC5oZWFkZXJzLmdldCgiQXV0aG9yaXphdGlvbiIsIE5vbmUpCisKKyAgICBpZiBhdXRob3JpemF0 aW9uIGlzIE5vbmU6CisgICAgICAgICMgU2VuZCB0aGUgTmVnb3RpYXRlIGhlYWRlciB0byB0aGUg Y2xpZW50CisgICAgICAgICMgaWYgS2VyYmVyb3MgdGlja2V0IGlzIG5vdCBmb3VuZC4KKyAgICAg ICAgaGVhZGVycy5hZGQoJ1dXVy1BdXRoZW50aWNhdGUnLCAnTmVnb3RpYXRlJykKKyAgICAgICAg cmV0dXJuIFJlc3BvbnNlKCJVbmF1dGhvcmlzZWQiLCA0MDEsIGhlYWRlcnMpCisgICAgZWxzZToK KyAgICAgICAgc291cmNlID0gZ2V0X2F1dGhfc291cmNlcyhLRVJCRVJPUykKKyAgICAgICAgYXV0 aF9oZWFkZXIgPSBhdXRob3JpemF0aW9uLnNwbGl0KCkKKyAgICAgICAgaW5fdG9rZW4gPSBhdXRo X2hlYWRlclsxXQorCisgICAgICAgICMgVmFsaWRhdGUgdGhlIEtlcmJlcm9zIHRpY2tldAorICAg ICAgICBzdGF0dXMsIGNvbnRleHQgPSBzb3VyY2UubmVnb3RpYXRlX3N0YXJ0KGluX3Rva2VuKQor ICAgICAgICBpZiBzdGF0dXM6CisgICAgICAgICAgICByZXR1cm4gUmVzcG9uc2UoIlRpY2tldCB1 cGRhdGVkIHN1Y2Nlc3NmdWxseS4iKQorCisgICAgICAgIHJldHVybiBSZXNwb25zZShjb250ZXh0 LCA1MDApCisKKworQGJsdWVwcmludC5yb3V0ZSgiL2tlcmJlcm9zL3ZhbGlkYXRlX3RpY2tldCIs CisgICAgICAgICAgICAgICAgIGVuZHBvaW50PSJrZXJiZXJvc192YWxpZGF0ZV90aWNrZXQiLCBt ZXRob2RzPVsiR0VUIl0pCitAcGdDU1JGUHJvdGVjdC5leGVtcHQKK0Bsb2dpbl9yZXF1aXJlZAor ZGVmIGtlcmJlcm9zX3ZhbGlkYXRlX3RpY2tldCgpOgorICAgICIiIgorICAgIFJldHVybiB0aGUg a2VyYmVyb3MgdGlja2V0IGxpZmV0aW1lIGxlZnQgYWZ0ZXIgZ2V0dGluZyB0aGUKKyAgICB0aWNr ZXQgZnJvbSB0aGUgY3JlZGVudGlhbCBjYWNoZQorICAgICIiIgorICAgIGltcG9ydCBnc3NhcGkK KworICAgIHRyeToKKyAgICAgICAgZGVsX2NyZWRzID0gZ3NzYXBpLkNyZWRlbnRpYWxzKHN0b3Jl PXsnY2NhY2hlJzogc2Vzc2lvblsnS1JCNUNDTkFNRSddfSkKKyAgICAgICAgY3JlZHMgPSBkZWxf Y3JlZHMuYWNxdWlyZShzdG9yZT17J2NjYWNoZSc6IHNlc3Npb25bJ0tSQjVDQ05BTUUnXX0pCisg ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICBjdXJyZW50X2FwcC5sb2dnZXIuZXhj ZXB0aW9uKGUpCisgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9 c3RyKGUpKQorCisgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgZGF0YT17 J3RpY2tldF9saWZldGltZSc6IGNyZWRzLmxpZmV0aW1lfSwKKyAgICAgICAgc3RhdHVzPTIwMAor ICAgICkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2F1dGhlbnRpY2F0ZS9rZXJiZXJvcy5weSBi L3dlYi9wZ2FkbWluL2F1dGhlbnRpY2F0ZS9rZXJiZXJvcy5weQppbmRleCA1N2FhMWUwZjAuLjJm OGZkMGQ2ZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYXV0aGVudGljYXRlL2tlcmJlcm9zLnB5 CisrKyBiL3dlYi9wZ2FkbWluL2F1dGhlbnRpY2F0ZS9rZXJiZXJvcy5weQpAQCAtMTAsNyArMTAs NyBAQAogIiIiQSBibHVlcHJpbnQgbW9kdWxlIGltcGxlbWVudGluZyB0aGUgU3BuZWdvL0tlcmJl cm9zIGF1dGhlbnRpY2F0aW9uLiIiIgogCiBpbXBvcnQgYmFzZTY0Ci1mcm9tIG9zIGltcG9ydCBl bnZpcm9uCitmcm9tIG9zIGltcG9ydCBlbnZpcm9uLCBwYXRoCiAKIGZyb20gd2Vya3pldWcuZGF0 YXN0cnVjdHVyZXMgaW1wb3J0IEhlYWRlcnMKIGZyb20gZmxhc2tfYmFiZWxleCBpbXBvcnQgZ2V0 dGV4dApAQCAtMTI4LDE5ICsxMjgsMzcgQEAgY2xhc3MgS2VyYmVyb3NBdXRoZW50aWNhdGlvbihC YXNlQXV0aGVudGljYXRpb24pOgogICAgICAgICBpZiBvdXRfdG9rZW4gYW5kIG5vdCBjb250ZXh0 LmNvbXBsZXRlOgogICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBvdXRfdG9rZW4KICAgICAgICAg aWYgY29udGV4dC5jb21wbGV0ZToKKyAgICAgICAgICAgIGRlbGVnX2NyZWRzID0gY29udGV4dC5k ZWxlZ2F0ZWRfY3JlZHMKKyAgICAgICAgICAgIGlmIG5vdCBoYXNhdHRyKGRlbGVnX2NyZWRzLCAn bmFtZScpOgorICAgICAgICAgICAgICAgIGVycm9yX21zZyA9IGdldHRleHQoJ0RlbGVnYXRlZCBj cmVkZW50aWFscyBub3Qgc3VwcGxpZWQuJykKKyAgICAgICAgICAgICAgICBjdXJyZW50X2FwcC5s b2dnZXIuZXJyb3IoZXJyb3JfbXNnKQorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZSwgRXhj ZXB0aW9uKGVycm9yX21zZykKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBjYWNo ZV9maWxlX3BhdGggPSBwYXRoLmpvaW4oCisgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5LRVJC RVJPU19DQ0FDSEVfRElSLCAncGdhZG1pbl9jYWNoZV97MH0nLmZvcm1hdCgKKyAgICAgICAgICAg ICAgICAgICAgICAgIGRlbGVnX2NyZWRzLm5hbWUpCisgICAgICAgICAgICAgICAgKQorICAgICAg ICAgICAgICAgIENDQUNIRSA9ICdGSUxFOnswfScuZm9ybWF0KGNhY2hlX2ZpbGVfcGF0aCkKKyAg ICAgICAgICAgICAgICBzdG9yZSA9IHsnY2NhY2hlJzogQ0NBQ0hFfQorICAgICAgICAgICAgICAg IGRlbGVnX2NyZWRzLnN0b3JlKHN0b3JlLCBvdmVyd3JpdGU9VHJ1ZSwgc2V0X2RlZmF1bHQ9VHJ1 ZSkKKyAgICAgICAgICAgICAgICBzZXNzaW9uWydLUkI1Q0NOQU1FJ10gPSBDQ0FDSEUKKyAgICAg ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICBjdXJyZW50X2Fw cC5sb2dnZXIuZXhjZXB0aW9uKGUpCisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBlCisK ICAgICAgICAgICAgIHJldHVybiBUcnVlLCBjb250ZXh0CiAgICAgICAgIGVsc2U6CiAgICAgICAg ICAgICByZXR1cm4gRmFsc2UsIE5vbmUKIAogICAgIGRlZiBuZWdvdGlhdGVfZW5kKHNlbGYsIGNv bnRleHQpOgotICAgICAgICAjIEZyZWUgZ3NzX2NyZWRfaWRfdAorICAgICAgICAjIEZyZWUgRGVs ZWdhdGVkIENyZWRlbnRpYWxzCiAgICAgICAgIGRlbF9jcmVkcyA9IGdldGF0dHIoY29udGV4dCwg J2RlbGVnYXRlZF9jcmVkcycsIE5vbmUpCiAgICAgICAgIGlmIGRlbF9jcmVkczoKICAgICAgICAg ICAgIGRlbGVnX2NyZWRzID0gY29udGV4dC5kZWxlZ2F0ZWRfY3JlZHMKICAgICAgICAgICAgIGRl bChkZWxlZ19jcmVkcykKIAogICAgIGRlZiBfX2F1dG9fY3JlYXRlX3VzZXIoc2VsZiwgdXNlcm5h bWUpOgotICAgICAgICAiIiJBZGQgdGhlIGxkYXAgdXNlciB0byB0aGUgaW50ZXJuYWwgU1FMaXRl IGRhdGFiYXNlLiIiIgorICAgICAgICAiIiJBZGQgdGhlIGtlcmJlcm9zIHVzZXIgdG8gdGhlIGlu dGVybmFsIFNRTGl0ZSBkYXRhYmFzZS4iIiIKICAgICAgICAgdXNlcm5hbWUgPSBzdHIodXNlcm5h bWUpCiAgICAgICAgIGlmIGNvbmZpZy5LUkJfQVVUT19DUkVBVEVfVVNFUjoKICAgICAgICAgICAg IHVzZXIgPSBVc2VyLnF1ZXJ5LmZpbHRlcl9ieSgKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2F1 dGhlbnRpY2F0ZS9zdGF0aWMvanMva2VyYmVyb3MuanMgYi93ZWIvcGdhZG1pbi9hdXRoZW50aWNh dGUvc3RhdGljL2pzL2tlcmJlcm9zLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uZGZmZTFkNGRjCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYXV0aGVudGlj YXRlL3N0YXRpYy9qcy9rZXJiZXJvcy5qcwpAQCAtMCwwICsxLDU1IEBACitpbXBvcnQgdXJsX2Zv ciBmcm9tICdzb3VyY2VzL3VybF9mb3InOworCitmdW5jdGlvbiBmZXRjaF90aWNrZXQoKSB7Cisg IC8vIEZldGNoIHRoZSBLZXJiZXJvcyBVcGRhdGVkIHRpY2tldCB0aHJvdWdoIFNQTkVHTworICBy ZXR1cm4gZmV0Y2godXJsX2ZvcignYXV0aGVudGljYXRlLmtlcmJlcm9zX3VwZGF0ZV90aWNrZXQn KQorICApCisgICAgLnRoZW4oZnVuY3Rpb24ocmVzcG9uc2UpeworICAgICAgaWYgKHJlc3BvbnNl LnN0YXR1cyA+PSAyMDAgJiYgcmVzcG9uc2Uuc3RhdHVzIDwgMzAwKSB7CisgICAgICAgIHJldHVy biBQcm9taXNlLnJlc29sdmUocmVzcG9uc2UpOworICAgICAgfSBlbHNlIHsKKyAgICAgICAgcmV0 dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcihyZXNwb25zZS5zdGF0dXNUZXh0KSk7CisgICAg ICB9CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIGZldGNoX3RpY2tldF9saWZldGltZSAoKSB7Cisg IC8vIEZldGNoIHRoZSBLZXJiZXJvcyB0aWNrZXQgbGlmZXRpbWUgbGVmdAorCisgIHJldHVybiBm ZXRjaCh1cmxfZm9yKCdhdXRoZW50aWNhdGUua2VyYmVyb3NfdmFsaWRhdGVfdGlja2V0JykKKyAg KQorICAgIC50aGVuKAorICAgICAgZnVuY3Rpb24ocmVzcG9uc2UpeworICAgICAgICBpZiAocmVz cG9uc2Uuc3RhdHVzID49IDIwMCAmJiByZXNwb25zZS5zdGF0dXMgPCAzMDApIHsKKyAgICAgICAg ICByZXR1cm4gcmVzcG9uc2UuanNvbigpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIHJl dHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IocmVzcG9uc2Uuc3RhdHVzVGV4dCkpOworICAg ICAgICB9CisgICAgICB9CisgICAgKQorICAgIC50aGVuKGZ1bmN0aW9uKHJlc3BvbnNlKXsKKyAg ICAgIGxldCB0aWNrZXRfbGlmZXRpbWUgPSByZXNwb25zZS5kYXRhLnRpY2tldF9saWZldGltZTsK KyAgICAgIGlmICh0aWNrZXRfbGlmZXRpbWUgPiAwKSB7CisgICAgICAgIHJldHVybiBQcm9taXNl LnJlc29sdmUodGlja2V0X2xpZmV0aW1lKTsKKyAgICAgIH0gZWxzZSB7CisgICAgICAgIHJldHVy biBQcm9taXNlLnJlamVjdCgpOworICAgICAgfQorICAgIH0pOworCit9CisKK2Z1bmN0aW9uIHZh bGlkYXRlX2tlcmJlcm9zX3RpY2tldCgpIHsKKyAgLy8gUGluZyBwZ0FkbWluIHNlcnZlciBldmVy eSAxMCBzZWNvbmRzCisgIC8vIHRvIGZldGNoIHRoZSBLZXJiZXJvcyB0aWNrZXQgbGlmZXRpbWUg bGVmdAorICByZXR1cm4gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7CisgICAgbGV0IG5ld1Byb21p c2UgPSBmZXRjaF90aWNrZXRfbGlmZXRpbWUoKTsKKyAgICBuZXdQcm9taXNlLnRoZW4oCisgICAg ICBmdW5jdGlvbigpIHsKKyAgICAgICAgcmV0dXJuOworICAgICAgfSwKKyAgICAgIGZldGNoX3Rp Y2tldAorICAgICk7CisgIH0sIDEwMDAwKTsKK30KKworZXhwb3J0IHtmZXRjaF90aWNrZXQsIHZh bGlkYXRlX2tlcmJlcm9zX3RpY2tldCwgZmV0Y2hfdGlja2V0X2xpZmV0aW1lfTsKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL19faW5pdF9fLnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvX19pbml0X18ucHkK aW5kZXggYmMwYmQ0NjExLi5hN2U1Mjg4ZTUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL19faW5pdF9fLnB5CkBAIC0yNTMsNyArMjUzLDgg QEAgY2xhc3MgU2VydmVyTW9kdWxlKHNnLlNlcnZlckdyb3VwUGx1Z2luTW9kdWxlKToKICAgICAg ICAgICAgICAgICBlcnJtc2c9ZXJybXNnLAogICAgICAgICAgICAgICAgIHVzZXJfaWQ9c2VydmVy LnVzZXJfaWQsCiAgICAgICAgICAgICAgICAgdXNlcl9uYW1lPXNlcnZlci51c2VybmFtZSwKLSAg ICAgICAgICAgICAgICBzaGFyZWQ9c2VydmVyLnNoYXJlZAorICAgICAgICAgICAgICAgIHNoYXJl ZD1zZXJ2ZXIuc2hhcmVkLAorICAgICAgICAgICAgICAgIGlzX2tlcmJlcm9zX2Nvbm49Ym9vbChz ZXJ2ZXIua2VyYmVyb3NfY29ubiksCiAgICAgICAgICAgICApCiAKICAgICBAcHJvcGVydHkKQEAg LTU0Niw3ICs1NDcsOCBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAgICAg ICAgICAgICAgICAgICAgIGlmIHNlcnZlci50dW5uZWxfcGFzc3dvcmQgaXMgbm90IE5vbmUgZWxz ZSBGYWxzZSwKICAgICAgICAgICAgICAgICAgICAgZXJybXNnPWVycm1zZywKICAgICAgICAgICAg ICAgICAgICAgdXNlcl9uYW1lPXNlcnZlci51c2VybmFtZSwKLSAgICAgICAgICAgICAgICAgICAg c2hhcmVkPXNlcnZlci5zaGFyZWQKKyAgICAgICAgICAgICAgICAgICAgc2hhcmVkPXNlcnZlci5z aGFyZWQsCisgICAgICAgICAgICAgICAgICAgIGlzX2tlcmJlcm9zX2Nvbm49Ym9vbChzZXJ2ZXIu a2VyYmVyb3NfY29ubikKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAKQEAgLTYx Myw3ICs2MTUsOCBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAg ICAgICAgICAgaWYgc2VydmVyLnR1bm5lbF9wYXNzd29yZCBpcyBub3QgTm9uZSBlbHNlIEZhbHNl LAogICAgICAgICAgICAgICAgIGVycm1zZz1lcnJtc2csCiAgICAgICAgICAgICAgICAgc2hhcmVk PXNlcnZlci5zaGFyZWQsCi0gICAgICAgICAgICAgICAgdXNlcl9uYW1lPXNlcnZlci51c2VybmFt ZQorICAgICAgICAgICAgICAgIHVzZXJfbmFtZT1zZXJ2ZXIudXNlcm5hbWUsCisgICAgICAgICAg ICAgICAgaXNfa2VyYmVyb3NfY29ubj1ib29sKHNlcnZlci5rZXJiZXJvc19jb25uKQogICAgICAg ICAgICAgKSwKICAgICAgICAgKQogCkBAIC03MTksNyArNzIyLDggQEAgY2xhc3MgU2VydmVyTm9k ZShQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgJ3R1bm5lbF91c2VybmFtZSc6ICd0dW5u ZWxfdXNlcm5hbWUnLAogICAgICAgICAgICAgJ3R1bm5lbF9hdXRoZW50aWNhdGlvbic6ICd0dW5u ZWxfYXV0aGVudGljYXRpb24nLAogICAgICAgICAgICAgJ3R1bm5lbF9pZGVudGl0eV9maWxlJzog J3R1bm5lbF9pZGVudGl0eV9maWxlJywKLSAgICAgICAgICAgICdzaGFyZWQnOiAnc2hhcmVkJwor ICAgICAgICAgICAgJ3NoYXJlZCc6ICdzaGFyZWQnLAorICAgICAgICAgICAgJ2tlcmJlcm9zX2Nv bm4nOiAna2VyYmVyb3NfY29ubicsCiAgICAgICAgIH0KIAogICAgICAgICBkaXNwX2xibCA9IHsK QEAgLTk4Myw3ICs5ODcsOCBAQCBjbGFzcyBTZXJ2ZXJOb2RlKFBHQ2hpbGROb2RlVmlldyk6CiAg ICAgICAgICAgICAndHVubmVsX3VzZXJuYW1lJzogdHVubmVsX3VzZXJuYW1lLAogICAgICAgICAg ICAgJ3R1bm5lbF9pZGVudGl0eV9maWxlJzogc2VydmVyLnR1bm5lbF9pZGVudGl0eV9maWxlCiAg ICAgICAgICAgICBpZiBzZXJ2ZXIudHVubmVsX2lkZW50aXR5X2ZpbGUgZWxzZSBOb25lLAotICAg ICAgICAgICAgJ3R1bm5lbF9hdXRoZW50aWNhdGlvbic6IHR1bm5lbF9hdXRoZW50aWNhdGlvbgor ICAgICAgICAgICAgJ3R1bm5lbF9hdXRoZW50aWNhdGlvbic6IHR1bm5lbF9hdXRoZW50aWNhdGlv biwKKyAgICAgICAgICAgICdrZXJiZXJvc19jb25uJzogYm9vbChzZXJ2ZXIua2VyYmVyb3NfY29u biksCiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gYWpheF9yZXNwb25zZShyZXNwb25zZSkK QEAgLTEwNzAsNyArMTA3NSw4IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3KToK ICAgICAgICAgICAgICAgICB0dW5uZWxfYXV0aGVudGljYXRpb249ZGF0YS5nZXQoJ3R1bm5lbF9h dXRoZW50aWNhdGlvbicsIDApLAogICAgICAgICAgICAgICAgIHR1bm5lbF9pZGVudGl0eV9maWxl PWRhdGEuZ2V0KCd0dW5uZWxfaWRlbnRpdHlfZmlsZScsIE5vbmUpLAogICAgICAgICAgICAgICAg IHNoYXJlZD1kYXRhLmdldCgnc2hhcmVkJywgTm9uZSksCi0gICAgICAgICAgICAgICAgcGFzc2Zp bGU9ZGF0YS5nZXQoJ3Bhc3NmaWxlJywgTm9uZSkKKyAgICAgICAgICAgICAgICBwYXNzZmlsZT1k YXRhLmdldCgncGFzc2ZpbGUnLCBOb25lKSwKKyAgICAgICAgICAgICAgICBrZXJiZXJvc19jb25u PTEgaWYgZGF0YS5nZXQoJ2tlcmJlcm9zX2Nvbm4nLCBGYWxzZSkgZWxzZSAwLAogICAgICAgICAg ICAgKQogICAgICAgICAgICAgZGIuc2Vzc2lvbi5hZGQoc2VydmVyKQogICAgICAgICAgICAgZGIu c2Vzc2lvbi5jb21taXQoKQpAQCAtMTE1Miw3ICsxMTU4LDggQEAgY2xhc3MgU2VydmVyTm9kZShQ R0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgICAgICBlbHNlICdwZycsCiAgICAgICAg ICAgICAgICAgICAgIHZlcnNpb249bWFuYWdlci52ZXJzaW9uCiAgICAgICAgICAgICAgICAgICAg IGlmIG1hbmFnZXIgYW5kIG1hbmFnZXIudmVyc2lvbgotICAgICAgICAgICAgICAgICAgICBlbHNl IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgZWxzZSBOb25lLAorICAgICAgICAgICAgICAgICAg ICBpc19rZXJiZXJvc19jb25uPWJvb2woc2VydmVyLmtlcmJlcm9zX2Nvbm4pLAogICAgICAgICAg ICAgICAgICkKICAgICAgICAgICAgICkKIApAQCAtMTM0Niw3ICsxMzUzLDcgQEAgY2xhc3MgU2Vy dmVyTm9kZShQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRp b24gYXMgZToKICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9hcHAubG9nZ2VyLmV4Y2VwdGlv bihlKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVy cm9ybXNnPXN0cihlKSkKLSAgICAgICAgaWYgJ3Bhc3N3b3JkJyBub3QgaW4gZGF0YToKKyAgICAg ICAgaWYgJ3Bhc3N3b3JkJyBub3QgaW4gZGF0YSBhbmQgc2VydmVyLmtlcmJlcm9zX2Nvbm4gaXMg RmFsc2U6CiAgICAgICAgICAgICBjb25uX3Bhc3N3ZCA9IGdldGF0dHIoY29ubiwgJ3Bhc3N3b3Jk JywgTm9uZSkKICAgICAgICAgICAgIGlmIGNvbm5fcGFzc3dkIGlzIE5vbmUgYW5kIG5vdCBzZXJ2 ZXIuc2F2ZV9wYXNzd29yZCBhbmQgXAogICAgICAgICAgICAgICAgICAgICBzZXJ2ZXIucGFzc2Zp bGUgaXMgTm9uZSBhbmQgc2VydmVyLnNlcnZpY2UgaXMgTm9uZToKQEAgLTEzNTUsNyArMTM2Miw3 IEBAIGNsYXNzIFNlcnZlck5vZGUoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICBw YXNzZmlsZSA9IHNlcnZlci5wYXNzZmlsZQogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAg ICAgICBwYXNzd29yZCA9IGNvbm5fcGFzc3dkIG9yIHNlcnZlci5wYXNzd29yZAotICAgICAgICBl bHNlOgorICAgICAgICBlbGlmIHNlcnZlci5rZXJiZXJvc19jb25uIGlzIEZhbHNlOgogICAgICAg ICAgICAgcGFzc3dvcmQgPSBkYXRhWydwYXNzd29yZCddIGlmICdwYXNzd29yZCcgaW4gZGF0YSBl bHNlIE5vbmUKICAgICAgICAgICAgIHNhdmVfcGFzc3dvcmQgPSBkYXRhWydzYXZlX3Bhc3N3b3Jk J11cCiAgICAgICAgICAgICAgICAgaWYgJ3NhdmVfcGFzc3dvcmQnIGluIGRhdGEgZWxzZSBGYWxz ZQpAQCAtMTM5OCw2ICsxNDA1LDkgQEAgY2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9kZVZpZXcp OgogICAgICAgICAgICAgICAgICJDb3VsZCBub3QgY29ubmVjdCB0byBzZXJ2ZXIoI3swfSkgLSAn ezF9Jy5cbkVycm9yOiB7Mn0iCiAgICAgICAgICAgICAgICAgLmZvcm1hdChzZXJ2ZXIuaWQsIHNl cnZlci5uYW1lLCBlcnJtc2cpCiAgICAgICAgICAgICApCisgICAgICAgICAgICBpZiBlcnJtc2cu ZmluZCgnVGlja2V0IGV4cGlyZWQnKSAhPSAtMToKKyAgICAgICAgICAgICAgICByZXR1cm4gaW50 ZXJuYWxfc2VydmVyX2Vycm9yKGVycm1zZykKKwogICAgICAgICAgICAgcmV0dXJuIHNlbGYuZ2V0 X3Jlc3BvbnNlX2Zvcl9wYXNzd29yZChzZXJ2ZXIsIDQwMSwgVHJ1ZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJ1ZSwgZXJybXNnKQogICAgICAg ICBlbHNlOgpAQCAtMTQ2NSw2ICsxNDc1LDcgQEAgY2xhc3MgU2VydmVyTm9kZShQR0NoaWxkTm9k ZVZpZXcpOgogICAgICAgICAgICAgICAgICAgICAnaXNfcGFzc3dvcmRfc2F2ZWQnOiBib29sKHNl cnZlci5zYXZlX3Bhc3N3b3JkKSwKICAgICAgICAgICAgICAgICAgICAgJ2lzX3R1bm5lbF9wYXNz d29yZF9zYXZlZCc6IFRydWUKICAgICAgICAgICAgICAgICAgICAgaWYgc2VydmVyLnR1bm5lbF9w YXNzd29yZCBpcyBub3QgTm9uZSBlbHNlIEZhbHNlLAorICAgICAgICAgICAgICAgICAgICAnaXNf a2VyYmVyb3NfY29ubic6IGJvb2woc2VydmVyLmtlcmJlcm9zX2Nvbm4pLAogICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICkKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL19faW5pdF9fLnB5CmluZGV4 IDYwYWYxZGU0Mi4uNGIxZDczMDhkIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL19faW5pdF9fLnB5CkBA IC00OTAsNiArNDkwLDcgQEAgY2xhc3MgRGF0YWJhc2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAg ICAgICAgICAgICAgICAgICAgICAgICBkaWQsIGVycm1zZwogICAgICAgICAgICAgICAgICAgICAp CiAgICAgICAgICAgICAgICAgKQorCiAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3Nl cnZlcl9lcnJvcihlcnJtc2cpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgIGN1 cnJlbnRfYXBwLmxvZ2dlci5pbmZvKApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3N0YXRpYy9qcy9kYXRhYmFzZS5qcyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdGF0aWMv anMvZGF0YWJhc2UuanMKaW5kZXggYzUzZjA0NDI5Li4wMWFiODljNTAgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zdGF0aWMv anMvZGF0YWJhc2UuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3N0YXRpYy9qcy9kYXRhYmFzZS5qcwpAQCAtMTAsOSArMTAsMTAgQEAK IGRlZmluZSgncGdhZG1pbi5ub2RlLmRhdGFiYXNlJywgWwogICAnc291cmNlcy9nZXR0ZXh0Jywg J3NvdXJjZXMvdXJsX2ZvcicsICdqcXVlcnknLCAndW5kZXJzY29yZScsCiAgICdzb3VyY2VzL3V0 aWxzJywgJ3NvdXJjZXMvcGdhZG1pbicsICdwZ2FkbWluLmJyb3dzZXIudXRpbHMnLAotICAncGdh ZG1pbi5hbGVydGlmeWpzJywgJ3BnYWRtaW4uYmFja2Zvcm0nLCAncGdhZG1pbi5icm93c2VyLmNv bGxlY3Rpb24nLAorICAncGdhZG1pbi5hbGVydGlmeWpzJywgJ3BnYWRtaW4uYmFja2Zvcm0nLAor ICAncGdhZG1pbi5hdXRoZW50aWNhdGUua2VyYmVyb3MnLCAncGdhZG1pbi5icm93c2VyLmNvbGxl Y3Rpb24nLAogICAncGdhZG1pbi5icm93c2VyLnNlcnZlci5wcml2aWxlZ2UnLCAncGdhZG1pbi5i cm93c2VyLnNlcnZlci52YXJpYWJsZScsCi1dLCBmdW5jdGlvbihnZXR0ZXh0LCB1cmxfZm9yLCAk LCBfLCBwZ2FkbWluVXRpbHMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQWxlcnRpZnksIEJhY2tmb3Jt KSB7CitdLCBmdW5jdGlvbihnZXR0ZXh0LCB1cmxfZm9yLCAkLCBfLCBwZ2FkbWluVXRpbHMsIHBn QWRtaW4sIHBnQnJvd3NlciwgQWxlcnRpZnksIEJhY2tmb3JtLCBLZXJiZXJvcykgewogCiAgIGlm ICghcGdCcm93c2VyLk5vZGVzWydjb2xsLWRhdGFiYXNlJ10pIHsKICAgICBwZ0Jyb3dzZXIuTm9k ZXNbJ2NvbGwtZGF0YWJhc2UnXSA9CkBAIC01NTYsMjQgKzU1NywzOSBAQCBkZWZpbmUoJ3BnYWRt aW4ubm9kZS5kYXRhYmFzZScsIFsKICAgICAgICAgICBvbkZhaWx1cmUgPSBmdW5jdGlvbigKICAg ICAgICAgICAgIHhociwgc3RhdHVzLCBlcnJvciwgX21vZGVsLCBfZGF0YSwgX3RyZWUsIF9pdGVt LCBfc3RhdHVzCiAgICAgICAgICAgKSB7Ci0gICAgICAgICAgICBpZiAoIV9zdGF0dXMpIHsKLSAg ICAgICAgICAgICAgdHJlZS5zZXRJbm9kZShfaXRlbSk7Ci0gICAgICAgICAgICAgIHRyZWUuYWRk SWNvbihfaXRlbSwge2ljb246ICdpY29uLWRhdGFiYXNlLW5vdC1jb25uZWN0ZWQnfSk7Ci0gICAg ICAgICAgICB9Ci0KLSAgICAgICAgICAgIEFsZXJ0aWZ5LnBnTm90aWZpZXIoJ2Vycm9yJywgeGhy LCBlcnJvciwgZnVuY3Rpb24obXNnKSB7Ci0gICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rp b24oKSB7Ci0gICAgICAgICAgICAgICAgaWYgKG1zZyA9PSAnQ1JZUFRLRVlfU0VUJykgeworICAg ICAgICAgICAgaWYgKHhoci5zdGF0dXMgIT0gMjAwICYmIHhoci5yZXNwb25zZVRleHQuc2VhcmNo KCdUaWNrZXQgZXhwaXJlZCcpICE9PSAtMSkgeworICAgICAgICAgICAgICB0cmVlLmFkZEljb24o X2l0ZW0sIHtpY29uOiAnaWNvbi1zZXJ2ZXItY29ubmVjdGluZyd9KTsKKyAgICAgICAgICAgICAg bGV0IGZldGNoVGlja2V0ID0gS2VyYmVyb3MuZmV0Y2hfdGlja2V0KCk7CisgICAgICAgICAgICAg IGZldGNoVGlja2V0LnRoZW4oCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7CiAgICAgICAg ICAgICAgICAgICBjb25uZWN0X3RvX2RhdGFiYXNlKF9tb2RlbCwgX2RhdGEsIF90cmVlLCBfaXRl bSwgX3dhc0Nvbm5lY3RlZCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg ICAgICAgIEFsZXJ0aWZ5LmRsZ1NlcnZlclBhc3MoCi0gICAgICAgICAgICAgICAgICAgIGdldHRl eHQoJ0Nvbm5lY3QgdG8gZGF0YWJhc2UnKSwKLSAgICAgICAgICAgICAgICAgICAgbXNnLCBfbW9k ZWwsIF9kYXRhLCBfdHJlZSwgX2l0ZW0sIF9zdGF0dXMsCi0gICAgICAgICAgICAgICAgICAgIG9u U3VjY2Vzcywgb25GYWlsdXJlLCBvbkNhbmNlbAotICAgICAgICAgICAgICAgICAgKS5yZXNpemVU bygpOworICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgZnVuY3Rpb24oZXJyb3Ip IHsKKyAgICAgICAgICAgICAgICAgIHRyZWUuc2V0SW5vZGUoX2l0ZW0pOworICAgICAgICAgICAg ICAgICAgdHJlZS5hZGRJY29uKF9pdGVtLCB7aWNvbjogJ2ljb24tZGF0YWJhc2Utbm90LWNvbm5l Y3RlZCd9KTsKKyAgICAgICAgICAgICAgICAgIEFsZXJ0aWZ5LnBnTm90aWZpZXIoZXJyb3IsIHho ciwgZ2V0dGV4dCgnQ29ubmVjdCAgdG8gZGF0YWJhc2UuJykpOwogICAgICAgICAgICAgICAgIH0K LSAgICAgICAgICAgICAgfSwgMTAwKTsKLSAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAp OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgaWYgKCFfc3RhdHVzKSB7Cisg ICAgICAgICAgICAgICAgdHJlZS5zZXRJbm9kZShfaXRlbSk7CisgICAgICAgICAgICAgICAgdHJl ZS5hZGRJY29uKF9pdGVtLCB7aWNvbjogJ2ljb24tZGF0YWJhc2Utbm90LWNvbm5lY3RlZCd9KTsK KyAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgIEFsZXJ0aWZ5LnBnTm90aWZpZXIoJ2Vy cm9yJywgeGhyLCBlcnJvciwgZnVuY3Rpb24obXNnKSB7CisgICAgICAgICAgICAgICAgc2V0VGlt ZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgIGlmIChtc2cgPT0gJ0NSWVBUS0VZ X1NFVCcpIHsKKyAgICAgICAgICAgICAgICAgICAgY29ubmVjdF90b19kYXRhYmFzZShfbW9kZWws IF9kYXRhLCBfdHJlZSwgX2l0ZW0sIF93YXNDb25uZWN0ZWQpOworICAgICAgICAgICAgICAgICAg fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgQWxlcnRpZnkuZGxnU2VydmVyUGFzcygKKyAg ICAgICAgICAgICAgICAgICAgICBnZXR0ZXh0KCdDb25uZWN0IHRvIGRhdGFiYXNlJyksCisgICAg ICAgICAgICAgICAgICAgICAgbXNnLCBfbW9kZWwsIF9kYXRhLCBfdHJlZSwgX2l0ZW0sIF9zdGF0 dXMsCisgICAgICAgICAgICAgICAgICAgICAgb25TdWNjZXNzLCBvbkZhaWx1cmUsIG9uQ2FuY2Vs CisgICAgICAgICAgICAgICAgICAgICkucmVzaXplVG8oKTsKKyAgICAgICAgICAgICAgICAgIH0K KyAgICAgICAgICAgICAgICB9LCAxMDApOworICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg IH0KICAgICAgICAgICB9LAogICAgICAgICAgIG9uU3VjY2VzcyA9IGZ1bmN0aW9uKAogICAgICAg ICAgICAgcmVzLCBtb2RlbCwgX2RhdGEsIF90cmVlLCBfaXRlbSwgX2Nvbm5lY3RlZApAQCAtNjQw LDYgKzY1Niw3IEBAIGRlZmluZSgncGdhZG1pbi5ub2RlLmRhdGFiYXNlJywgWwogICAgICAgICAg IGlmICh4aHIuc3RhdHVzID09PSA0MTApIHsKICAgICAgICAgICAgIGVycm9yID0gZ2V0dGV4dCgn RXJyb3I6IE9iamVjdCBub3QgZm91bmQgLSAlcy4nLCBlcnJvcik7CiAgICAgICAgICAgfQorCiAg ICAgICAgICAgcmV0dXJuIG9uRmFpbHVyZSgKICAgICAgICAgICAgIHhociwgc3RhdHVzLCBlcnJv ciwgb2JqLCBkYXRhLCB0cmVlLCBpdGVtLCB3YXNDb25uZWN0ZWQKICAgICAgICAgICApOwpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvc3RhdGlj L2pzL3NlcnZlci5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L3N0YXRpYy9qcy9zZXJ2ZXIuanMKaW5kZXggYWI5NWQ2ZDg5Li5kZWVlNDM0YmQgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3N0YXRpYy9qcy9z ZXJ2ZXIuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv c3RhdGljL2pzL3NlcnZlci5qcwpAQCAtMTMsMTEgKzEzLDEyIEBAIGRlZmluZSgncGdhZG1pbi5u b2RlLnNlcnZlcicsIFsKICAgJ3BnYWRtaW4uc2VydmVyLnN1cHBvcnRlZF9zZXJ2ZXJzJywgJ3Bn YWRtaW4udXNlcl9tYW5hZ2VtZW50LmN1cnJlbnRfdXNlcicsCiAgICdwZ2FkbWluLmFsZXJ0aWZ5 anMnLCAncGdhZG1pbi5iYWNrZm9ybScsCiAgICdzb3VyY2VzL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL21vZGVsX3ZhbGlkYXRpb24nLAorICAncGdhZG1pbi5hdXRoZW50aWNhdGUua2Vy YmVyb3MnLAogICAncGdhZG1pbi5icm93c2VyLnNlcnZlci5wcml2aWxlZ2UnLAogXSwgZnVuY3Rp b24oCiAgIGdldHRleHQsIHVybF9mb3IsICQsIF8sIEJhY2tib25lLCBwZ0FkbWluLCBwZ0Jyb3dz ZXIsCiAgIHN1cHBvcnRlZF9zZXJ2ZXJzLCBjdXJyZW50X3VzZXIsIEFsZXJ0aWZ5LCBCYWNrZm9y bSwKLSAgbW9kZWxWYWxpZGF0aW9uCisgIG1vZGVsVmFsaWRhdGlvbiwgS2VyYmVyb3MKICkgewog CiAgIGlmICghcGdCcm93c2VyLk5vZGVzWydzZXJ2ZXInXSkgewpAQCAtOTA0LDIwICs5MDUsMzIg QEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuc2VydmVyJywgWwogICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICB9LAogICAgICAgICAgIH0pLAorICAgICAgICB9LHsKKyAgICAgICAgICBpZDogJ2tl cmJlcm9zX2Nvbm4nLCBsYWJlbDogZ2V0dGV4dCgnS2VyYmVyb3MgYXV0aGVudGljYXRpb24/Jyks IHR5cGU6ICdzd2l0Y2gnLAorICAgICAgICAgIGdyb3VwOiBnZXR0ZXh0KCdDb25uZWN0aW9uJyks ICdvcHRpb25zJzogeworICAgICAgICAgICAgJ29uVGV4dCc6ICBnZXR0ZXh0KCdUcnVlJyksICdv ZmZUZXh0JzogIGdldHRleHQoJ0ZhbHNlJyksICdzaXplJzogJ21pbmknLAorICAgICAgICAgIH0s CiAgICAgICAgIH0sewogICAgICAgICAgIGlkOiAncGFzc3dvcmQnLCBsYWJlbDogZ2V0dGV4dCgn UGFzc3dvcmQnKSwgdHlwZTogJ3Bhc3N3b3JkJywgbWF4bGVuZ3RoOiBudWxsLAotICAgICAgICAg IGdyb3VwOiBnZXR0ZXh0KCdDb25uZWN0aW9uJyksIGNvbnRyb2w6ICdpbnB1dCcsIG1vZGU6IFsn Y3JlYXRlJ10sIGRlcHM6IFsnY29ubmVjdF9ub3cnXSwKKyAgICAgICAgICBncm91cDogZ2V0dGV4 dCgnQ29ubmVjdGlvbicpLCBjb250cm9sOiAnaW5wdXQnLCBtb2RlOiBbJ2NyZWF0ZSddLAorICAg ICAgICAgIGRlcHM6IFsnY29ubmVjdF9ub3cnLCAna2VyYmVyb3NfY29ubiddLAogICAgICAgICAg IHZpc2libGU6IGZ1bmN0aW9uKG1vZGVsKSB7CiAgICAgICAgICAgICByZXR1cm4gbW9kZWwuZ2V0 KCdjb25uZWN0X25vdycpICYmIG1vZGVsLmlzTmV3KCk7CiAgICAgICAgICAgfSwKKyAgICAgICAg ICBkaXNhYmxlZDogZnVuY3Rpb24obW9kZWwpIHsKKyAgICAgICAgICAgIGlmIChtb2RlbC5nZXQo J2tlcmJlcm9zX2Nvbm4nKSkKKyAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICAgICAg ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICB9LAogICAgICAgICB9LHsKICAgICAgICAgICBp ZDogJ3NhdmVfcGFzc3dvcmQnLCBjb250cm9sTGFiZWw6IGdldHRleHQoJ1NhdmUgcGFzc3dvcmQ/ JyksCiAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94JywgZ3JvdXA6IGdldHRleHQoJ0Nvbm5lY3Rp b24nKSwgbW9kZTogWydjcmVhdGUnXSwKLSAgICAgICAgICBkZXBzOiBbJ2Nvbm5lY3Rfbm93J10s IHZpc2libGU6IGZ1bmN0aW9uKG1vZGVsKSB7CisgICAgICAgICAgZGVwczogWydjb25uZWN0X25v dycsICdrZXJiZXJvc19jb25uJ10sIHZpc2libGU6IGZ1bmN0aW9uKG1vZGVsKSB7CiAgICAgICAg ICAgICByZXR1cm4gbW9kZWwuZ2V0KCdjb25uZWN0X25vdycpICYmIG1vZGVsLmlzTmV3KCk7CiAg ICAgICAgICAgfSwKLSAgICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg ICBpZiAoIWN1cnJlbnRfdXNlci5hbGxvd19zYXZlX3Bhc3N3b3JkKQorICAgICAgICAgIGRpc2Fi bGVkOiBmdW5jdGlvbihtb2RlbCkgeworICAgICAgICAgICAgaWYgKCFjdXJyZW50X3VzZXIuYWxs b3dfc2F2ZV9wYXNzd29yZCB8fCBtb2RlbC5nZXQoJ2tlcmJlcm9zX2Nvbm4nKSkKICAgICAgICAg ICAgICAgcmV0dXJuIHRydWU7CiAKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEyNzks MTkgKzEyOTIsMzIgQEAgZGVmaW5lKCdwZ2FkbWluLm5vZGUuc2VydmVyJywgWwogICAgICAgICAg ICAgfQogCiAgICAgICAgICAgfQotCi0gICAgICAgICAgQWxlcnRpZnkucGdOb3RpZmllcignZXJy b3InLCB4aHIsIGVycm9yLCBmdW5jdGlvbihtc2cpIHsKLSAgICAgICAgICAgIHNldFRpbWVvdXQo ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgIGlmIChtc2cgPT0gJ0NSWVBUS0VZX1NFVCcpIHsK KyAgICAgICAgICBpZiAoX2RhdGEuaXNfa2VyYmVyb3NfY29ubiA9PT0gdHJ1ZSB8fCAoeGhyLnN0 YXR1cyAhPSAyMDAgJiYgeGhyLnJlc3BvbnNlVGV4dC5zZWFyY2goJ1RpY2tldCBleHBpcmVkJykg IT09IC0xKSkgeworICAgICAgICAgICAgdHJlZS5hZGRJY29uKF9pdGVtLCB7aWNvbjogJ2ljb24t c2VydmVyLWNvbm5lY3RpbmcnfSk7CisgICAgICAgICAgICBsZXQgZmV0Y2hUaWNrZXQgPSBLZXJi ZXJvcy5mZXRjaF90aWNrZXQoKTsKKyAgICAgICAgICAgIGZldGNoVGlja2V0LnRoZW4oCisgICAg ICAgICAgICAgIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgIGNvbm5lY3RfdG9fc2VydmVy KF9ub2RlLCBfZGF0YSwgX3RyZWUsIF9pdGVtLCBfd2FzQ29ubmVjdGVkKTsKLSAgICAgICAgICAg ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBBbGVydGlmeS5kbGdTZXJ2ZXJQYXNzKAotICAg ICAgICAgICAgICAgICAgZ2V0dGV4dCgnQ29ubmVjdCB0byBTZXJ2ZXInKSwKLSAgICAgICAgICAg ICAgICAgIG1zZywgX25vZGUsIF9kYXRhLCBfdHJlZSwgX2l0ZW0sIF93YXNDb25uZWN0ZWQKLSAg ICAgICAgICAgICAgICApLnJlc2l6ZVRvKCk7CisgICAgICAgICAgICAgIH0sCisgICAgICAgICAg ICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHRyZWUuYWRkSWNvbihfaXRlbSwge2lj b246ICdpY29uLXNlcnZlci1ub3QtY29ubmVjdGVkJ30pOworICAgICAgICAgICAgICAgIEFsZXJ0 aWZ5LnBnTm90aWZpZXIoJ0Nvbm5lY3Rpb24gZXJyb3InLCB4aHIsIGdldHRleHQoJ0Nvbm5lY3Qg dG8gc2VydmVyLicpKTsKICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSwgMTAwKTsKLSAg ICAgICAgICB9KTsKKyAgICAgICAgICAgICk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg ICAgIEFsZXJ0aWZ5LnBnTm90aWZpZXIoJ2Vycm9yJywgeGhyLCBlcnJvciwgZnVuY3Rpb24obXNn KSB7CisgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAg ICAgaWYgKG1zZyA9PSAnQ1JZUFRLRVlfU0VUJykgeworICAgICAgICAgICAgICAgICAgY29ubmVj dF90b19zZXJ2ZXIoX25vZGUsIF9kYXRhLCBfdHJlZSwgX2l0ZW0sIF93YXNDb25uZWN0ZWQpOwor ICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICBBbGVydGlmeS5kbGdT ZXJ2ZXJQYXNzKAorICAgICAgICAgICAgICAgICAgICBnZXR0ZXh0KCdDb25uZWN0IHRvIFNlcnZl cicpLAorICAgICAgICAgICAgICAgICAgICBtc2csIF9ub2RlLCBfZGF0YSwgX3RyZWUsIF9pdGVt LCBfd2FzQ29ubmVjdGVkCisgICAgICAgICAgICAgICAgICApLnJlc2l6ZVRvKCk7CisgICAgICAg ICAgICAgICAgfQorICAgICAgICAgICAgICB9LCAxMDApOworICAgICAgICAgICAgfSk7CisgICAg ICAgICAgfQogICAgICAgICB9LAogICAgICAgICBvblN1Y2Nlc3MgPSBmdW5jdGlvbihyZXMsIG5v ZGUsIF9kYXRhLCBfdHJlZSwgX2l0ZW0sIF93YXNDb25uZWN0ZWQpIHsKICAgICAgICAgICBpZiAo cmVzICYmIHJlcy5kYXRhKSB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRp Yy9qcy9icm93c2VyLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvYnJvd3Nlci5q cwppbmRleCA0ZmZiNWVlNWEuLmJmNDRhYTZmNCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zdGF0aWMvanMvYnJvd3Nlci5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRp Yy9qcy9icm93c2VyLmpzCkBAIC0xMiwxOSArMTIsMjIgQEAgZGVmaW5lKCdwZ2FkbWluLmJyb3dz ZXInLCBbCiAgICdzb3VyY2VzL2dldHRleHQnLCAnc291cmNlcy91cmxfZm9yJywgJ3JlcXVpcmUn LCAnanF1ZXJ5JywgJ3VuZGVyc2NvcmUnLAogICAnYm9vdHN0cmFwJywgJ3NvdXJjZXMvcGdhZG1p bicsICdwZ2FkbWluLmFsZXJ0aWZ5anMnLCAnYnVuZGxlZF9jb2RlbWlycm9yJywKICAgJ3NvdXJj ZXMvY2hlY2tfbm9kZV92aXNpYmlsaXR5JywgJy4vdG9vbGJhcicsICdwZ2FkbWluLmhlbHAnLAot ICAnc291cmNlcy9jc3JmJywgJ3NvdXJjZXMvdXRpbHMnLCAnc291cmNlcy93aW5kb3cnLCAncGdh ZG1pbi5icm93c2VyLnV0aWxzJywKLSAgJ3djZG9ja2VyJywgJ2pxdWVyeS5jb250ZXh0bWVudScs ICdqcXVlcnkuYWNpcGx1Z2luJywgJ2pxdWVyeS5hY2l0cmVlJywKKyAgJ3NvdXJjZXMvY3NyZics ICdzb3VyY2VzL3V0aWxzJywgJ3NvdXJjZXMvd2luZG93JywgJ3BnYWRtaW4uYXV0aGVudGljYXRl LmtlcmJlcm9zJywKKyAgJ3BnYWRtaW4uYnJvd3Nlci51dGlscycsICd3Y2RvY2tlcicsICdqcXVl cnkuY29udGV4dG1lbnUnLCAnanF1ZXJ5LmFjaXBsdWdpbicsCisgICdqcXVlcnkuYWNpdHJlZScs CiAgICdwZ2FkbWluLmJyb3dzZXIucHJlZmVyZW5jZXMnLCAncGdhZG1pbi5icm93c2VyLm1lc3Nh Z2VzJywKICAgJ3BnYWRtaW4uYnJvd3Nlci5tZW51JywgJ3BnYWRtaW4uYnJvd3Nlci5wYW5lbCcs ICdwZ2FkbWluLmJyb3dzZXIubGF5b3V0JywKICAgJ3BnYWRtaW4uYnJvd3Nlci5ydW50aW1lJywg J3BnYWRtaW4uYnJvd3Nlci5lcnJvcicsICdwZ2FkbWluLmJyb3dzZXIuZnJhbWUnLAogICAncGdh ZG1pbi5icm93c2VyLm5vZGUnLCAncGdhZG1pbi5icm93c2VyLmNvbGxlY3Rpb24nLCAncGdhZG1p bi5icm93c2VyLmFjdGl2aXR5JywKICAgJ3NvdXJjZXMvY29kZW1pcnJvci9hZGRvbi9mb2xkL3Bn YWRtaW4tc3FsZm9sZGNvZGUnLAotICAncGdhZG1pbi5icm93c2VyLmtleWJvYXJkJywgJ3NvdXJj ZXMvdHJlZS9wZ2FkbWluX3RyZWVfc2F2ZV9zdGF0ZScsJ2pxdWVyeS5hY2lzb3J0YWJsZScsICdq cXVlcnkuYWNpZnJhZ21lbnQnLAorICAncGdhZG1pbi5icm93c2VyLmtleWJvYXJkJywgJ3NvdXJj ZXMvdHJlZS9wZ2FkbWluX3RyZWVfc2F2ZV9zdGF0ZScsJ2pxdWVyeS5hY2lzb3J0YWJsZScsCisg ICdqcXVlcnkuYWNpZnJhZ21lbnQnLAogXSwgZnVuY3Rpb24oCiAgIHRyZWUsCiAgIGdldHRleHQs IHVybF9mb3IsIHJlcXVpcmUsICQsIF8sCiAgIEJvb3RzdHJhcCwgcGdBZG1pbiwgQWxlcnRpZnks IGNvZGVtaXJyb3IsCi0gIGNoZWNrTm9kZVZpc2liaWxpdHksIHRvb2xCYXIsIGhlbHAsIGNzcmZU b2tlbiwgcGdhZG1pblV0aWxzLCBwZ1dpbmRvdworICBjaGVja05vZGVWaXNpYmlsaXR5LCB0b29s QmFyLCBoZWxwLCBjc3JmVG9rZW4sIHBnYWRtaW5VdGlscywgcGdXaW5kb3csCisgIEtlcmJlcm9z CiApIHsKICAgd2luZG93LmpRdWVyeSA9IHdpbmRvdy4kID0gJDsKICAgLy8gU29tZSBzY3JpcHRz IGRvIGV4cG9ydCB0aGVpciBvYmplY3QgaW4gdGhlIHdpbmRvdyBvbmx5LgpAQCAtMzgsNiArNDEs OCBAQCBkZWZpbmUoJ3BnYWRtaW4uYnJvd3NlcicsIFsKIAogICBjc3JmVG9rZW4uc2V0UEdDU1JG VG9rZW4ocGdBZG1pbi5jc3JmX3Rva2VuX2hlYWRlciwgcGdBZG1pbi5jc3JmX3Rva2VuKTsKIAor ICBLZXJiZXJvcy52YWxpZGF0ZV9rZXJiZXJvc190aWNrZXQoKTsKKwogICB2YXIgcGFuZWxFdmVu dHMgPSB7fTsKICAgcGFuZWxFdmVudHNbd2NEb2NrZXIuRVZFTlQuVklTSUJJTElUWV9DSEFOR0VE XSA9IGZ1bmN0aW9uKCkgewogICAgIGlmICh0aGlzLmlzVmlzaWJsZSgpKSB7CmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3Rfa2VyYmVyb3Nfd2l0aF9tb2NraW5nLnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0cy90ZXN0X2tlcmJlcm9zX3dpdGhfbW9ja2luZy5w eQppbmRleCBmMzFlOTgzZmYuLjZiNjFkYzFkMCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv d3Nlci90ZXN0cy90ZXN0X2tlcmJlcm9zX3dpdGhfbW9ja2luZy5weQorKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3Rlc3RzL3Rlc3Rfa2VyYmVyb3Nfd2l0aF9tb2NraW5nLnB5CkBAIC0xMiw2ICsx Miw3IEBAIGZyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IK IGZyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91dGlscyBhcyB1 dGlscwogZnJvbSBwZ2FkbWluLmF1dGhlbnRpY2F0ZS5yZWdpc3RyeSBpbXBvcnQgQXV0aFNvdXJj ZVJlZ2lzdHJ5CiBmcm9tIHVuaXR0ZXN0Lm1vY2sgaW1wb3J0IHBhdGNoLCBNYWdpY01vY2sKK2Zy b20gd2Vya3pldWcuZGF0YXN0cnVjdHVyZXMgaW1wb3J0IEhlYWRlcnMKIAogCiBjbGFzcyBLZXJi ZXJvc0xvZ2luTW9ja1Rlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKQEAgLTMwLDYgKzMxLDEx IEBAIGNsYXNzIEtlcmJlcm9zTG9naW5Nb2NrVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgog ICAgICAgICAgICAgYXV0aF9zb3VyY2U9WydrZXJiZXJvcyddLAogICAgICAgICAgICAgYXV0b19j cmVhdGVfdXNlcj1UcnVlLAogICAgICAgICAgICAgZmxhZz0yCisgICAgICAgICkpLAorICAgICAg ICAoJ1NwbmVnby9LZXJiZXJvcyBVcGRhdGUgVGlja2V0JywgZGljdCgKKyAgICAgICAgICAgIGF1 dGhfc291cmNlPVsna2VyYmVyb3MnXSwKKyAgICAgICAgICAgIGF1dG9fY3JlYXRlX3VzZXI9VHJ1 ZSwKKyAgICAgICAgICAgIGZsYWc9MwogICAgICAgICApKQogICAgIF0KIApAQCAtNTQsOCArNjAs MTMgQEAgY2xhc3MgS2VyYmVyb3NMb2dpbk1vY2tUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6 CiAgICAgICAgICAgICAgICAgc2VsZi5za2lwVGVzdCgKICAgICAgICAgICAgICAgICAgICAgIkNh biBub3QgcnVuIEtlcmJlcm9zIEF1dGhlbnRpY2F0aW9uIGluIHRoZSBEZXNrdG9wIG1vZGUuIgog ICAgICAgICAgICAgICAgICkKLQogICAgICAgICAgICAgc2VsZi50ZXN0X2F1dGhvcml6ZWQoKQor ICAgICAgICBlbGlmIHNlbGYuZmxhZyA9PSAzOgorICAgICAgICAgICAgaWYgYXBwX2NvbmZpZy5T RVJWRVJfTU9ERSBpcyBGYWxzZToKKyAgICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KAorICAg ICAgICAgICAgICAgICAgICAiQ2FuIG5vdCBydW4gS2VyYmVyb3MgQXV0aGVudGljYXRpb24gaW4g dGhlIERlc2t0b3AgbW9kZS4iCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgc2VsZi50 ZXN0X3VwZGF0ZV90aWNrZXQoKQogCiAgICAgZGVmIHRlc3RfdW5hdXRob3JpemVkKHNlbGYpOgog ICAgICAgICAiIiIKQEAgLTczLDEzICs4NCw3IEBAIGNsYXNzIEtlcmJlcm9zTG9naW5Nb2NrVGVz dENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICBwYXNzZWQgb24gdG8gdGhlIHJvdXRl ZCBtZXRob2QuCiAgICAgICAgICIiIgogCi0gICAgICAgIGNsYXNzIGRlbENyYWRzOgotICAgICAg ICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgotICAgICAgICAgICAgICAgIHNlbGYuaW5pdGlhdG9y X25hbWUgPSAndXNlckBQR0FETUlOLk9SRycKLSAgICAgICAgZGVsX2NyYWRzID0gZGVsQ3JhZHMo KQotCi0gICAgICAgIEF1dGhTb3VyY2VSZWdpc3RyeS5yZWdpc3RyeVsna2VyYmVyb3MnXS5uZWdv dGlhdGVfc3RhcnQgPSBNYWdpY01vY2soCi0gICAgICAgICAgICByZXR1cm5fdmFsdWU9W1RydWUs IGRlbF9jcmFkc10pCisgICAgICAgIGRlbF9jcmFkcyA9IHNlbGYubW9ja19uZWdvdGlhdGVfc3Rh cnQoKQogICAgICAgICByZXMgPSBzZWxmLnRlc3Rlci5sb2dpbihOb25lLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOb25lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBUcnVlLApAQCAtODksNiArOTQsMzMgQEAgY2xhc3MgS2VyYmVyb3NMb2dpbk1vY2tUZXN0Q2Fz ZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgIHJlc3BkYXRhID0gJ0dyYXZhdGFyIGltYWdl IGZvciAlcycgJSBkZWxfY3JhZHMuaW5pdGlhdG9yX25hbWUKICAgICAgICAgc2VsZi5hc3NlcnRU cnVlKHJlc3BkYXRhIGluIHJlcy5kYXRhLmRlY29kZSgndXRmOCcpKQogCisgICAgZGVmIG1vY2tf bmVnb3RpYXRlX3N0YXJ0KHNlbGYpOgorICAgICAgICBjbGFzcyBkZWxDcmFkczoKKyAgICAgICAg ICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgICAgICAgICBzZWxmLmluaXRpYXRvcl9u YW1lID0gJ3VzZXJAUEdBRE1JTi5PUkcnCisKKyAgICAgICAgZGVsX2NyYWRzID0gZGVsQ3JhZHMo KQorCisgICAgICAgIEF1dGhTb3VyY2VSZWdpc3RyeS5yZWdpc3RyeVsna2VyYmVyb3MnXS5uZWdv dGlhdGVfc3RhcnQgPSBNYWdpY01vY2soCisgICAgICAgICAgICByZXR1cm5fdmFsdWU9W1RydWUs IGRlbF9jcmFkc10pCisgICAgICAgIHJldHVybiBkZWxfY3JhZHMKKworICAgIGRlZiB0ZXN0X3Vw ZGF0ZV90aWNrZXQoc2VsZik6CisgICAgICAgICMgUmVzcG9uc2UgaGVhZGVyIHNob3VsZCBpbmNs dWRlIHRoZSBOZWdvdGlhdGUgaGVhZGVyIGluIHRoZSBmaXJzdCBjYWxsCisgICAgICAgIHJlc3Bv bnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvYXV0aGVudGljYXRlL2tlcmJlcm9zL3VwZGF0ZV90aWNr ZXQnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3BvbnNlLnN0YXR1c19jb2RlLCA0MDEp CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzcG9uc2UuaGVhZGVycy5nZXQoJ3d3dy1hdXRo ZW50aWNhdGUnKSwgJ05lZ290aWF0ZScpCisKKyAgICAgICAgIyBXaGVuIHdlIHNlbmQgdGhlIEtl cmJlcm9zIFRpY2tldCwgaXQgc2hvdWxkIHJldHVybiAgc3VjY2VzcworICAgICAgICBkZWxfY3Jh ZHMgPSBzZWxmLm1vY2tfbmVnb3RpYXRlX3N0YXJ0KCkKKworICAgICAgICBrcmJfdG9rZW4gPSBI ZWFkZXJzKHt9KQorICAgICAgICBrcmJfdG9rZW5bJ0F1dGhvcml6YXRpb24nXSA9ICdOZWdvdGlh dGUgQ1RPS0VOJworCisgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvYXV0aGVu dGljYXRlL2tlcmJlcm9zL3VwZGF0ZV90aWNrZXQnLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBoZWFkZXJzPWtyYl90b2tlbikKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChy ZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAg ICAgICBzZWxmLmFwcC5QR0FETUlOX0VYVEVSTkFMX0FVVEhfU09VUkNFID0gJ2xkYXAnCiAKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL21pc2MvYmdwcm9jZXNzL3Byb2Nlc3Nlcy5weSBiL3dlYi9w Z2FkbWluL21pc2MvYmdwcm9jZXNzL3Byb2Nlc3Nlcy5weQppbmRleCBlZjZjZmMzZjIuLjI1ZTBh MmE5ZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vbWlzYy9iZ3Byb2Nlc3MvcHJvY2Vzc2VzLnB5 CisrKyBiL3dlYi9wZ2FkbWluL21pc2MvYmdwcm9jZXNzL3Byb2Nlc3Nlcy5weQpAQCAtMjQsMTAg KzI0LDExIEBAIGltcG9ydCBsb2dnaW5nCiBmcm9tIHBnYWRtaW4udXRpbHMgaW1wb3J0IHVfZW5j b2RlLCBmaWxlX3F1b3RlLCBmc19lbmNvZGluZywgXAogICAgIGdldF9jb21wbGV0ZV9maWxlX3Bh dGgsIGdldF9zdG9yYWdlX2RpcmVjdG9yeSwgSVNfV0lOCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5z ZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMudXRpbHMgaW1wb3J0IGRvZXNfc2VydmVyX2V4aXN0cworZnJv bSBwZ2FkbWluLnV0aWxzLmNvbnN0YW50cyBpbXBvcnQgS0VSQkVST1MKIAogaW1wb3J0IHB5dHoK IGZyb20gZGF0ZXV0aWwgaW1wb3J0IHBhcnNlcgotZnJvbSBmbGFzayBpbXBvcnQgY3VycmVudF9h cHAKK2Zyb20gZmxhc2sgaW1wb3J0IGN1cnJlbnRfYXBwLCBzZXNzaW9uCiBmcm9tIGZsYXNrX2Jh YmVsZXggaW1wb3J0IGdldHRleHQgYXMgXwogZnJvbSBmbGFza19zZWN1cml0eSBpbXBvcnQgY3Vy cmVudF91c2VyCiAKQEAgLTI3OCwxMyArMjc5LDE2IEBAIGNsYXNzIEJhdGNoUHJvY2VzcyhvYmpl Y3QpOgogICAgICAgICBlbnZbJ1BST0NJRCddID0gc2VsZi5pZAogICAgICAgICBlbnZbJ09VVERJ UiddID0gc2VsZi5sb2dfZGlyCiAgICAgICAgIGVudlsnUEdBX0JHUF9GT1JFR1JPVU5EJ10gPSAi MSIKKyAgICAgICAgaWYgY29uZmlnLlNFUlZFUl9NT0RFIGFuZCBzZXNzaW9uIGFuZCBcCisgICAg ICAgICAgICAgICAgc2Vzc2lvblsnX2F1dGhfc291cmNlX21hbmFnZXJfb2JqJ11bJ2N1cnJlbnRf c291cmNlJ10gPT0gXAorICAgICAgICAgICAgICAgIEtFUkJFUk9TOgorICAgICAgICAgICAgZW52 WydLUkI1Q0NOQU1FJ10gPSBzZXNzaW9uWydLUkI1Q0NOQU1FJ10KIAogICAgICAgICBpZiBzZWxm LmVudjoKICAgICAgICAgICAgIGVudi51cGRhdGUoc2VsZi5lbnYpCiAKICAgICAgICAgaWYgY2Ig aXMgbm90IE5vbmU6CiAgICAgICAgICAgICBjYihlbnYpCi0KICAgICAgICAgaWYgb3MubmFtZSA9 PSAnbnQnOgogICAgICAgICAgICAgREVUQUNIRURfUFJPQ0VTUyA9IDB4MDAwMDAwMDgKICAgICAg ICAgICAgIGZyb20gc3VicHJvY2VzcyBpbXBvcnQgQ1JFQVRFX05FV19QUk9DRVNTX0dST1VQCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9tb2RlbC9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL21v ZGVsL19faW5pdF9fLnB5CmluZGV4IGQxZjQ5ODE4MS4uZGZhY2Y2MzIyIDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9tb2RlbC9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9tb2RlbC9fX2lu aXRfXy5weQpAQCAtMjksNyArMjksNyBAQCBmcm9tIGZsYXNrX3NxbGFsY2hlbXkgaW1wb3J0IFNR TEFsY2hlbXkKICMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLVNDSEVNQV9WRVJTSU9OID0gMjcKK1ND SEVNQV9WRVJTSU9OID0gMjgKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMKQEAgLTE4NCw2ICsxODQs NyBAQCBjbGFzcyBTZXJ2ZXIoZGIuTW9kZWwpOgogICAgIHR1bm5lbF9pZGVudGl0eV9maWxlID0g ZGIuQ29sdW1uKGRiLlN0cmluZyg2NCksIG51bGxhYmxlPVRydWUpCiAgICAgdHVubmVsX3Bhc3N3 b3JkID0gZGIuQ29sdW1uKGRiLlN0cmluZyg2NCksIG51bGxhYmxlPVRydWUpCiAgICAgc2hhcmVk ID0gZGIuQ29sdW1uKGRiLkJvb2xlYW4oKSwgbnVsbGFibGU9RmFsc2UpCisgICAga2VyYmVyb3Nf Y29ubiA9IGRiLkNvbHVtbihkYi5Cb29sZWFuKCksIG51bGxhYmxlPUZhbHNlKQogCiAgICAgQHBy b3BlcnR5CiAgICAgZGVmIHNlcmlhbGl6ZShzZWxmKToKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L3NldHVwL2RhdGFfZGlyZWN0b3J5LnB5IGIvd2ViL3BnYWRtaW4vc2V0dXAvZGF0YV9kaXJlY3Rv cnkucHkKaW5kZXggMjMzNWIwNzkwLi43YTM2NTRiNzcgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L3NldHVwL2RhdGFfZGlyZWN0b3J5LnB5CisrKyBiL3dlYi9wZ2FkbWluL3NldHVwL2RhdGFfZGly ZWN0b3J5LnB5CkBAIC0xMDQsMyArMTA0LDE5IEBAIGRlZiBjcmVhdGVfYXBwX2RhdGFfZGlyZWN0 b3J5KGNvbmZpZyk6CiAgICAgICAgICAgICAgICAgZ2V0cGFzcy5nZXR1c2VyKCksCiAgICAgICAg ICAgICAgICAgY29uZmlnLkFQUF9WRVJTSU9OKSkKICAgICAgICAgZXhpdCgxKQorCisgICAgIyBD cmVhdGUgS2VyYmVyb3MgQ3JlZGVudGlhbCBDYWNoZSBkaXJlY3RvcnkgKGlmIG5vdCBwcmVzZW50 KS4KKyAgICB0cnk6CisgICAgICAgIF9jcmVhdGVfZGlyZWN0b3J5X2lmX25vdF9leGlzdHMoY29u ZmlnLktFUkJFUk9TX0NDQUNIRV9ESVIpCisgICAgZXhjZXB0IFBlcm1pc3Npb25FcnJvciBhcyBl OgorICAgICAgICBwcmludChGQUlMRURfQ1JFQVRFX0RJUi5mb3JtYXQoY29uZmlnLktFUkJFUk9T X0NDQUNIRV9ESVIsIGUpKQorICAgICAgICBwcmludCgKKyAgICAgICAgICAgICJISU5UICAgOiBD cmVhdGUgdGhlIGRpcmVjdG9yeSB7fSwgZW5zdXJlIGl0IGlzIHdyaXRhYmxlIGJ5XG4iCisgICAg ICAgICAgICAiICAgICAgICAgJ3t9JywgYW5kIHRyeSBhZ2Fpbiwgb3IsIGNyZWF0ZSBhIGNvbmZp Z19sb2NhbC5weSBmaWxlXG4iCisgICAgICAgICAgICAiICAgICAgICAgYW5kIG92ZXJyaWRlIHRo ZSBLRVJCRVJPU19DQ0FDSEVfRElSIHNldHRpbmcgcGVyXG4iCisgICAgICAgICAgICAiICAgICAg ICAgaHR0cHM6Ly93d3cucGdhZG1pbi5vcmcvZG9jcy9wZ2FkbWluNC97fS9jb25maWdfcHkuaHRt bCIuCisgICAgICAgICAgICBmb3JtYXQoCisgICAgICAgICAgICAgICAgY29uZmlnLktFUkJFUk9T X0NDQUNIRV9ESVIsCisgICAgICAgICAgICAgICAgZ2V0cGFzcy5nZXR1c2VyKCksCisgICAgICAg ICAgICAgICAgY29uZmlnLkFQUF9WRVJTSU9OKSkKKyAgICAgICAgZXhpdCgxKQpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vdG9vbHMvYmFja3VwL3N0YXRpYy9qcy9iYWNrdXBfZGlhbG9nX3dyYXBw ZXIuanMgYi93ZWIvcGdhZG1pbi90b29scy9iYWNrdXAvc3RhdGljL2pzL2JhY2t1cF9kaWFsb2df d3JhcHBlci5qcwppbmRleCA0Zjg5ZTViYjcuLjVlNGRiMjBhOSAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vdG9vbHMvYmFja3VwL3N0YXRpYy9qcy9iYWNrdXBfZGlhbG9nX3dyYXBwZXIuanMKKysr IGIvd2ViL3BnYWRtaW4vdG9vbHMvYmFja3VwL3N0YXRpYy9qcy9iYWNrdXBfZGlhbG9nX3dyYXBw ZXIuanMKQEAgLTEzLDYgKzEzLDcgQEAgaW1wb3J0IGdldHRleHQgZnJvbSAnLi4vLi4vLi4vLi4v c3RhdGljL2pzL2dldHRleHQnOwogaW1wb3J0IHVybF9mb3IgZnJvbSAnLi4vLi4vLi4vLi4vc3Rh dGljL2pzL3VybF9mb3InOwogaW1wb3J0IF8gZnJvbSAndW5kZXJzY29yZSc7CiBpbXBvcnQge0Rp YWxvZ1dyYXBwZXJ9IGZyb20gJy4uLy4uLy4uLy4uL3N0YXRpYy9qcy9hbGVydGlmeS9kaWFsb2df d3JhcHBlcic7CitpbXBvcnQge2ZldGNoX3RpY2tldF9saWZldGltZX0gZnJvbSAgJy4uLy4uLy4u Ly4uL2F1dGhlbnRpY2F0ZS9zdGF0aWMvanMva2VyYmVyb3MnOwogCiBleHBvcnQgY2xhc3MgQmFj a3VwRGlhbG9nV3JhcHBlciBleHRlbmRzIERpYWxvZ1dyYXBwZXIgewogICBjb25zdHJ1Y3Rvcihk aWFsb2dDb250YWluZXJTZWxlY3RvciwgZGlhbG9nVGl0bGUsIHR5cGVPZkRpYWxvZywKQEAgLTE2 NSwxMCArMTY2LDI5IEBAIGV4cG9ydCBjbGFzcyBCYWNrdXBEaWFsb2dXcmFwcGVyIGV4dGVuZHMg RGlhbG9nV3JhcHBlciB7CiAgICAgICApOwogCiAgICAgICB0aGlzLnNldEV4dHJhUGFyYW1ldGVy cyhzZWxlY3RlZFRyZWVOb2RlLCB0cmVlSW5mbyk7CisgICAgICBsZXQgYmFja3VwRGF0ZSA9IHRo aXMudmlldy5tb2RlbC50b0pTT04oKTsKKworICAgICAgaWYoYmFja3VwRGF0ZS50eXBlID09ICdn bG9iYWxzJyB8fCBiYWNrdXBEYXRlLnR5cGUgPT0gJ3NlcnZlcicpIHsKKyAgICAgICAgbGV0IG5l d1Byb21pc2UgPSBmZXRjaF90aWNrZXRfbGlmZXRpbWUoKTsKKyAgICAgICAgbmV3UHJvbWlzZS50 aGVuKAorICAgICAgICAgIGZ1bmN0aW9uKGxpZmV0aW1lKSB7CisgICAgICAgICAgICBpZiAobGlm ZXRpbWUgPCAxODAwICYmIGxpZmV0aW1lICA+IDApIHsKKyAgICAgICAgICAgICAgZGlhbG9nLmFs ZXJ0aWZ5Lndhcm5pbmcoCisgICAgICAgICAgICAgICAgJ1lvdSBoYXZlICcrIChNYXRoLnJvdW5k KHBhcnNlSW50KGxpZmV0aW1lKS82MCkpLnRvU3RyaW5nKCkgKycgbWludXRlcyBsZWZ0IG9uIHlv dXIgdGlja2V0IC0gaWYgdGhlIGR1bXAgdGFrZXMgbG9uZ2VyIHRoYW4gdGhhdCwgaXQgbWF5IGZh aWwuIicKKyAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9LAorICAg ICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZGlhbG9nLmFsZXJ0aWZ5Lndhcm5pbmco CisgICAgICAgICAgICAgIGdldHRleHQoJ1BsZWFzZSByZW5ldyB5b3VyIGtlcmJlcm9zIHRpY2tl dCwgaXQgaGFzIGJlZW4gZXhwaXJlZC4nKQorICAgICAgICAgICAgKTsKKyAgICAgICAgICB9Cisg ICAgICAgICk7CisgICAgICB9CiAKICAgICAgIGF4aW9zLnBvc3QoCiAgICAgICAgIGJhc2VVcmws Ci0gICAgICAgIHRoaXMudmlldy5tb2RlbC50b0pTT04oKQorICAgICAgICBiYWNrdXBEYXRlCiAg ICAgICApLnRoZW4oZnVuY3Rpb24gKHJlcykgewogICAgICAgICBpZiAocmVzLmRhdGEuc3VjY2Vz cykgewogICAgICAgICAgIGRpYWxvZy5hbGVydGlmeS5zdWNjZXNzKGdldHRleHQoJ0JhY2t1cCBq b2IgY3JlYXRlZC4nKSwgNSk7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dl ci9zdGF0aWMvanMvZGVidWdnZXIuanMgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci9zdGF0 aWMvanMvZGVidWdnZXIuanMKaW5kZXggZjMxYTBmYzAwLi40NjBhMjAwYmIgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3N0YXRpYy9qcy9kZWJ1Z2dlci5qcworKysgYi93 ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci9zdGF0aWMvanMvZGVidWdnZXIuanMKQEAgLTEzLDEx ICsxMywxMSBAQCBkZWZpbmUoWwogICAnYmFja2JvbmUnLCAncGdhZG1pbi5iYWNrZ3JpZCcsICdj b2RlbWlycm9yJywgJ3BnYWRtaW4uYmFja2Zvcm0nLAogICAncGdhZG1pbi50b29scy5kZWJ1Z2dl ci51aScsICdwZ2FkbWluLnRvb2xzLmRlYnVnZ2VyLnV0aWxzJywKICAgJ3Rvb2xzL2RhdGFncmlk L3N0YXRpYy9qcy9zaG93X3F1ZXJ5X3Rvb2wnLCAnc291cmNlcy91dGlscycsCi0gICd3Y2RvY2tl cicsICdwZ2FkbWluLmJyb3dzZXIuZnJhbWUnLAorICAncGdhZG1pbi5hdXRoZW50aWNhdGUua2Vy YmVyb3MnLCAnd2Nkb2NrZXInLCAncGdhZG1pbi5icm93c2VyLmZyYW1lJywKIF0sIGZ1bmN0aW9u KAogICBnZXR0ZXh0LCB1cmxfZm9yLCAkLCBfLCBBbGVydGlmeSwgcGdBZG1pbiwgcGdCcm93c2Vy LCBCYWNrYm9uZSwgQmFja2dyaWQsCiAgIENvZGVNaXJyb3IsIEJhY2tmb3JtLCBnZXRfZnVuY3Rp b25fYXJndW1lbnRzLCBkZWJ1Z2dlclV0aWxzLCBzaG93UXVlcnlUb29sLAotICBwZ2FkbWluVXRp bHMsCisgIHBnYWRtaW5VdGlscywgS2VyYmVyb3MKICkgewogICB2YXIgcGdUb29scyA9IHBnQWRt aW4uVG9vbHMgPSBwZ0FkbWluLlRvb2xzIHx8IHt9LAogICAgIHdjRG9ja2VyID0gd2luZG93Lndj RG9ja2VyOwpAQCAtNDcyLDggKzQ3MiwyMCBAQCBkZWZpbmUoWwogICAgICAgICAuZmFpbChmdW5j dGlvbih4aHIpIHsKICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgdmFyIGVyciA9IEpTT04u cGFyc2UoeGhyLnJlc3BvbnNlVGV4dCk7Ci0gICAgICAgICAgICBpZiAoZXJyLnN1Y2Nlc3MgPT0g MCkgewotICAgICAgICAgICAgICBBbGVydGlmeS5hbGVydChnZXR0ZXh0KCdEZWJ1Z2dlciBFcnJv cicpLCBlcnIuZXJyb3Jtc2cpOworICAgICAgICAgICAgaWYgKGVyci5lcnJvcm1zZy5zZWFyY2go J1RpY2tldCBleHBpcmVkJykgIT09IC0xKSB7CisgICAgICAgICAgICAgIGxldCBmZXRjaFRpY2tl dCA9IEtlcmJlcm9zLmZldGNoX3RpY2tldCgpOworICAgICAgICAgICAgICBmZXRjaFRpY2tldC50 aGVuKAorICAgICAgICAgICAgICAgIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgc2Vs Zi5zdGFydF9nbG9iYWxfZGVidWdnZXIoKTsKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAg ICAgICAgIGZ1bmN0aW9uKGVycm9yKSB7CisgICAgICAgICAgICAgICAgICBBbGVydGlmeS5hbGVy dChnZXR0ZXh0KCdEZWJ1Z2dlciBFcnJvcicpLCBlcnJvcik7CisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgICApOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgaWYg KGVyci5zdWNjZXNzID09IDApIHsKKyAgICAgICAgICAgICAgICBBbGVydGlmeS5hbGVydChnZXR0 ZXh0KCdEZWJ1Z2dlciBFcnJvcicpLCBlcnIuZXJyb3Jtc2cpOworICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICB9CiAgICAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgICAgY29uc29s ZS53YXJuKGUuc3RhY2sgfHwgZSk7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9zcWxl ZGl0b3Ivc3RhdGljL2pzL3NxbGVkaXRvci5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL3NxbGVkaXRv ci9zdGF0aWMvanMvc3FsZWRpdG9yLmpzCmluZGV4IGI1NTAzMjU1Yy4uNjMxZTlkMGRhIDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pzL3NxbGVkaXRvci5q cworKysgYi93ZWIvcGdhZG1pbi90b29scy9zcWxlZGl0b3Ivc3RhdGljL2pzL3NxbGVkaXRvci5q cwpAQCAtNTEsNiArNTEsNyBAQCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9vbCcsIFsKICAgJ3NvdXJj ZXMvd2luZG93JywKICAgJ3NvdXJjZXMvaXNfbmF0aXZlJywKICAgJ3NvdXJjZXMvc3FsZWRpdG9y L21hY3JvJywKKyAgJ3BnYWRtaW4uYXV0aGVudGljYXRlLmtlcmJlcm9zJywKICAgJ3NvdXJjZXMv Li4vYnVuZGxlL3NsaWNrZ3JpZCcsCiAgICdwZ2FkbWluLmZpbGVfbWFuYWdlcicsCiAgICdzbGlj ay5wZ2FkbWluLmZvcm1hdHRlcnMnLApAQCAtNjUsNyArNjYsNyBAQCBkZWZpbmUoJ3Rvb2xzLnF1 ZXJ5dG9vbCcsIFsKICAgR2VvbWV0cnlWaWV3ZXIsIGhpc3RvcnlDb2xsLCBxdWVyeUhpc3QsIHF1 ZXJ5U291cmNlcywKICAga2V5Ym9hcmRTaG9ydGN1dHMsIHF1ZXJ5VG9vbEFjdGlvbnMsIHF1ZXJ5 VG9vbE5vdGlmaWNhdGlvbnMsIERhdGFncmlkLAogICBtb2RpZnlBbmltYXRpb24sIGNhbGN1bGF0 ZVF1ZXJ5UnVuVGltZSwgY2FsbFJlbmRlckFmdGVyUG9sbCwgcXVlcnlUb29sUHJlZiwgcXVlcnlU eG5TdGF0dXMsIGNzcmZUb2tlbiwgcGFuZWxUaXRsZUZ1bmMsCi0gIHBnV2luZG93LCBpc05hdGl2 ZSwgTWFjcm9IYW5kbGVyKSB7CisgIHBnV2luZG93LCBpc05hdGl2ZSwgTWFjcm9IYW5kbGVyLCBL ZXJiZXJvcykgewogICAvKiBSZXR1cm4gYmFjaywgdGhpcyBoYXMgYmVlbiBjYWxsZWQgbW9yZSB0 aGFuIG9uY2UgKi8KICAgaWYgKHBnQWRtaW4uU3FsRWRpdG9yKQogICAgIHJldHVybiBwZ0FkbWlu LlNxbEVkaXRvcjsKQEAgLTI0NDEsOSArMjQ0MiwyMyBAQCBkZWZpbmUoJ3Rvb2xzLnF1ZXJ5dG9v bCcsIFsKICAgICAgICAgICAgICAgcGdCcm93c2VyLnJlcG9ydF9lcnJvcihnZXR0ZXh0KCdFcnJv ciBmZXRjaGluZyByb3dzIC0gJXMuJywgeGhyLnN0YXR1c1RleHQpLCB4aHIucmVzcG9uc2VKU09O LmVycm9ybXNnLCB1bmRlZmluZWQsIHNlbGYuY2xvc2UuYmluZChzZWxmKSk7CiAgICAgICAgICAg ICB9CiAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHBnQnJvd3Nlci5FdmVudHMudHJp Z2dlcigKLSAgICAgICAgICAgICAgJ3BnYWRtaW46cXVlcnlfdG9vbDpjb25uZWN0ZWRfZmFpbDon ICsgc2VsZi50cmFuc0lkLCB4aHIsIGVycm9yCi0gICAgICAgICAgICApOworICAgICAgICAgICAg aWYgKHhoci5yZXNwb25zZVRleHQuc2VhcmNoKCdUaWNrZXQgZXhwaXJlZCcpICE9PSAtMSkgewor ICAgICAgICAgICAgICBsZXQgZmV0Y2hUaWNrZXQgPSBLZXJiZXJvcy5mZXRjaF90aWNrZXQoKTsK KyAgICAgICAgICAgICAgZmV0Y2hUaWNrZXQudGhlbigKKyAgICAgICAgICAgICAgICBmdW5jdGlv bigpIHsKKyAgICAgICAgICAgICAgICAgIHNlbGYuaW5pdFRyYW5zYWN0aW9uKCk7CisgICAgICAg ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICBmdW5jdGlvbihlcnJvcikgeworICAgICAgICAg ICAgICAgICAgcGdCcm93c2VyLkV2ZW50cy50cmlnZ2VyKAorICAgICAgICAgICAgICAgICAgICAn cGdhZG1pbjpxdWVyeV90b29sOmNvbm5lY3RlZF9mYWlsOicgKyBzZWxmLnRyYW5zSWQsIHhociwg ZXJyb3IKKyAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg ICAgICApOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgcGdCcm93c2VyLkV2 ZW50cy50cmlnZ2VyKAorICAgICAgICAgICAgICAgICdwZ2FkbWluOnF1ZXJ5X3Rvb2w6Y29ubmVj dGVkX2ZhaWw6JyArIHNlbGYudHJhbnNJZCwgeGhyLCBlcnJvcgorICAgICAgICAgICAgICApOwor ICAgICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAgICAgfSk7CiAgICAgICB9LApkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vdXRpbHMvZHJpdmVyL3BzeWNvcGcyL2Nvbm5lY3Rpb24ucHkgYi93 ZWIvcGdhZG1pbi91dGlscy9kcml2ZXIvcHN5Y29wZzIvY29ubmVjdGlvbi5weQppbmRleCBkZTk1 NDczMjIuLjQzZjZlNmRlMCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdXRpbHMvZHJpdmVyL3Bz eWNvcGcyL2Nvbm5lY3Rpb24ucHkKKysrIGIvd2ViL3BnYWRtaW4vdXRpbHMvZHJpdmVyL3BzeWNv cGcyL2Nvbm5lY3Rpb24ucHkKQEAgLTE4LDExICsxOCwxMyBAQCBpbXBvcnQgc2VsZWN0CiBpbXBv cnQgZGF0ZXRpbWUKIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IGRlcXVlCiBpbXBvcnQgcHN5Y29w ZzIKLWZyb20gZmxhc2sgaW1wb3J0IGcsIGN1cnJlbnRfYXBwCitpbXBvcnQgdGhyZWFkaW5nCitm cm9tIGZsYXNrIGltcG9ydCBnLCBjdXJyZW50X2FwcCwgc2Vzc2lvbgogZnJvbSBmbGFza19iYWJl bGV4IGltcG9ydCBnZXR0ZXh0CiBmcm9tIGZsYXNrX3NlY3VyaXR5IGltcG9ydCBjdXJyZW50X3Vz ZXIKIGZyb20gcGdhZG1pbi51dGlscy5jcnlwdG8gaW1wb3J0IGRlY3J5cHQsIGVuY3J5cHQKIGZy b20gcHN5Y29wZzIuZXh0ZW5zaW9ucyBpbXBvcnQgZW5jb2RpbmdzCitmcm9tIG9zIGltcG9ydCBl bnZpcm9uCiAKIGltcG9ydCBjb25maWcKIGZyb20gcGdhZG1pbi5tb2RlbCBpbXBvcnQgVXNlcgpA QCAtMzgsNiArNDAsOSBAQCBmcm9tIC5lbmNvZGluZyBpbXBvcnQgZ2V0X2VuY29kaW5nLCBjb25m aWd1cmVfZHJpdmVyX2VuY29kaW5ncwogZnJvbSBwZ2FkbWluLnV0aWxzIGltcG9ydCBjc3YKIGZy b20gcGdhZG1pbi51dGlscy5tYXN0ZXJfcGFzc3dvcmQgaW1wb3J0IGdldF9jcnlwdF9rZXkKIGZy b20gaW8gaW1wb3J0IFN0cmluZ0lPCitmcm9tIHBnYWRtaW4udXRpbHMuY29uc3RhbnRzIGltcG9y dCBLRVJCRVJPUworCitsb2NrID0gdGhyZWFkaW5nLkxvY2soKQogCiBfID0gZ2V0dGV4dAogCkBA IC0zMTMsNiArMzE4LDEyIEBAIGNsYXNzIENvbm5lY3Rpb24oQmFzZUNvbm5lY3Rpb24pOgogICAg ICAgICAgICAgb3MuZW52aXJvblsnUEdBUFBOQU1FJ10gPSAnezB9IC0gezF9Jy5mb3JtYXQoCiAg ICAgICAgICAgICAgICAgY29uZmlnLkFQUF9OQU1FLCBjb25uX2lkKQogCisgICAgICAgICAgICBp ZiBjb25maWcuU0VSVkVSX01PREUgYW5kIFwKKyAgICAgICAgICAgICAgICAgICAgc2Vzc2lvblsn X2F1dGhfc291cmNlX21hbmFnZXJfb2JqJ11bJ2N1cnJlbnRfc291cmNlJ10gPT0gXAorICAgICAg ICAgICAgICAgICAgICBLRVJCRVJPUyBhbmQgJ0tSQjVDQ05BTUUnIGluIHNlc3Npb246CisgICAg ICAgICAgICAgICAgbG9jay5hY3F1aXJlKCkKKyAgICAgICAgICAgICAgICBlbnZpcm9uWydLUkI1 Q0NOQU1FJ10gPSBzZXNzaW9uWydLUkI1Q0NOQU1FJ10KKwogICAgICAgICAgICAgcGdfY29ubiA9 IHBzeWNvcGcyLmNvbm5lY3QoCiAgICAgICAgICAgICAgICAgaG9zdD1tYW5hZ2VyLmxvY2FsX2Jp bmRfaG9zdCBpZiBtYW5hZ2VyLnVzZV9zc2hfdHVubmVsCiAgICAgICAgICAgICAgICAgZWxzZSBt YW5hZ2VyLmhvc3QsCkBAIC0zNDAsNyArMzUxLDEzIEBAIGNsYXNzIENvbm5lY3Rpb24oQmFzZUNv bm5lY3Rpb24pOgogICAgICAgICAgICAgaWYgc2VsZi5hc3luY18gPT0gMToKICAgICAgICAgICAg ICAgICBzZWxmLl93YWl0KHBnX2Nvbm4pCiAKKyAgICAgICAgICAgIGlmIGNvbmZpZy5TRVJWRVJf TU9ERSBhbmQgXAorICAgICAgICAgICAgICAgICAgICBzZXNzaW9uWydfYXV0aF9zb3VyY2VfbWFu YWdlcl9vYmonXVsnY3VycmVudF9zb3VyY2UnXSA9PSBcCisgICAgICAgICAgICAgICAgICAgIEtF UkJFUk9TOgorICAgICAgICAgICAgICAgIGVudmlyb25bJ0tSQjVDQ05BTUUnXSA9ICcnCisKICAg ICAgICAgZXhjZXB0IHBzeWNvcGcyLkVycm9yIGFzIGU6CisgICAgICAgICAgICBlbnZpcm9uWydL UkI1Q0NOQU1FJ10gPSAnJwogICAgICAgICAgICAgbWFuYWdlci5zdG9wX3NzaF90dW5uZWwoKQog ICAgICAgICAgICAgaWYgZS5wZ2Vycm9yOgogICAgICAgICAgICAgICAgIG1zZyA9IGUucGdlcnJv cgpAQCAtMzU4LDYgKzM3NSwxMSBAQCBjbGFzcyBDb25uZWN0aW9uKEJhc2VDb25uZWN0aW9uKToK ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAgICAgICAgICAgICByZXR1cm4gRmFs c2UsIG1zZworICAgICAgICBmaW5hbGx5OgorICAgICAgICAgICAgaWYgY29uZmlnLlNFUlZFUl9N T0RFIGFuZCBcCisgICAgICAgICAgICAgICAgICAgIHNlc3Npb25bJ19hdXRoX3NvdXJjZV9tYW5h Z2VyX29iaiddWydjdXJyZW50X3NvdXJjZSddID09IFwKKyAgICAgICAgICAgICAgICAgICAgS0VS QkVST1MgYW5kIGxvY2subG9ja2VkKCk6CisgICAgICAgICAgICAgICAgbG9jay5yZWxlYXNlKCkK IAogICAgICAgICAjIE92ZXJ3cml0ZSBjb25uZWN0aW9uIG5vdGljZSBhdHRyIHRvIHN1cHBvcnQK ICAgICAgICAgIyBtb3JlIHRoYW4gNTAgbm90aWNlcyBhdCBhIHRpbWUKQEAgLTE0MzUsNyArMTQ1 Nyw2IEBAIEZhaWxlZCB0byByZXNldCB0aGUgY29ubmVjdGlvbiB0byB0aGUgc2VydmVyIGR1ZSB0 byBmb2xsb3dpbmcgZXJyb3I6CiAgICAgICAgIEFyZ3M6CiAgICAgICAgICAgICBjb25uOiBjb25u ZWN0aW9uIG9iamVjdAogICAgICAgICAiIiIKLQogICAgICAgICB3aGlsZSBUcnVlOgogICAgICAg ICAgICAgc3RhdGUgPSBjb25uLnBvbGwoKQogICAgICAgICAgICAgaWYgc3RhdGUgPT0gcHN5Y29w ZzIuZXh0ZW5zaW9ucy5QT0xMX09LOgpkaWZmIC0tZ2l0IGEvd2ViL3dlYnBhY2suc2hpbS5qcyBi L3dlYi93ZWJwYWNrLnNoaW0uanMKaW5kZXggOTZkNWIyN2Y2Li4wMGRhYTEyZWMgMTAwNjQ0Ci0t LSBhL3dlYi93ZWJwYWNrLnNoaW0uanMKKysrIGIvd2ViL3dlYnBhY2suc2hpbS5qcwpAQCAtMTc0 LDYgKzE3NCw3IEBAIHZhciB3ZWJwYWNrU2hpbUNvbmZpZyA9IHsKICAgICAncGdhZG1pbi5iYWNr Z3JpZCc6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3BnYWRtaW4vc3RhdGljL2pzL2JhY2tncmlk LnBnYWRtaW4nKSwKIAogICAgICdwZ2FkbWluLmFib3V0JzogcGF0aC5qb2luKF9fZGlybmFtZSwg Jy4vcGdhZG1pbi9hYm91dC9zdGF0aWMvanMvYWJvdXQnKSwKKyAgICAncGdhZG1pbi5hdXRoZW50 aWNhdGUua2VyYmVyb3MnOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL2F1dGhlbnRp Y2F0ZS9zdGF0aWMvanMva2VyYmVyb3MnKSwKICAgICAncGdhZG1pbi5icm93c2VyJzogcGF0aC5q b2luKF9fZGlybmFtZSwgJy4vcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9icm93c2VyJyksCiAg ICAgJ3BnYWRtaW4uYnJvd3Nlci5iZ3Byb2Nlc3MnOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9w Z2FkbWluL21pc2MvYmdwcm9jZXNzL3N0YXRpYy9qcy9iZ3Byb2Nlc3MnKSwKICAgICAncGdhZG1p bi5icm93c2VyLmNvbGxlY3Rpb24nOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL2Jy b3dzZXIvc3RhdGljL2pzL2NvbGxlY3Rpb24nKSwK --000000000000e3c31205bfeaa239--