Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bUwOn-00084t-FQ for pgadmin-hackers@arkaria.postgresql.org; Wed, 03 Aug 2016 13:39:53 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bUwOn-0001ht-2G for pgadmin-hackers@arkaria.postgresql.org; Wed, 03 Aug 2016 13:39:53 +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_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bUwOV-0000q5-Kn for pgadmin-hackers@postgresql.org; Wed, 03 Aug 2016 13:39:35 +0000 Received: from mail-oi0-x236.google.com ([2607:f8b0:4003:c06::236]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bUwOM-0003iG-C1 for pgadmin-hackers@postgresql.org; Wed, 03 Aug 2016 13:39:35 +0000 Received: by mail-oi0-x236.google.com with SMTP id f189so5985711oig.3 for ; Wed, 03 Aug 2016 06:39:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=VdMQo2Gdbvwj5yNWhy4nUf0x82Os8zU4x5wGAYmMaQk=; b=mZP1XmrvS1ExnH8kiXKuA2yviBBod74DVeFjE4w5zLDhCOWz7Yw3Vu2IWjxyJQ/FXm tYGdHXk6VcxF/vnJDQFCafX3zYIsnyA+n1p01NHehfYhUx+NSH1KcxnL4Xk/n068tZUl fjJff1sE5cgpIRtE4DXU9Fp/BLJe+nHKzl7EBBy3ZMTzwPz3Lw17ezvWHKexAYkixFj+ /UL3GoDB8mIacVur8sY9M34hG9b+qGWnatRbNNt9Ns1cOOFHfG54cyBAPQVV9gRYR4Qo wohMn2KzWIcysZc22WBRgCbQwizxa3taaTq/u2n5/dJkQbZSzI81zCvypWKxsXf82PO/ pCuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=VdMQo2Gdbvwj5yNWhy4nUf0x82Os8zU4x5wGAYmMaQk=; b=J11LAF2BOuTtfcag5PUMiOW172fvbyp8/PjfFSaaCu/qRD6MOvh7SEI7hRFJtoIQ7R jZwikUDLSa+szRzjycChJTkrXICuWq46tmMGH0ArU1R6lgzyKcIX0072546jSJeut0rK UqDCc/zeEWgz759iM0MNjrhydeygKYJUOCeKJBNt9nMsKQm2e65lRQVrsIZPSUbtKnaq ibEagbSrD9fuz8YbZTLjGodRLNhyhM2qMauRdMW+skix1cuKygx2Tj68xAzd0E6OVJO0 DkUes/k7vOq96WD9T6tsNlyLGwtdn8qXSpWupRZCkMtvvt2Fi7G1cYA4pLFo98JPlMIi GnFw== X-Gm-Message-State: AEkoouv9er5JcuRXpG7fJj52WBGmMgocyizuyso69MIngVnmiQcs8OSMZgIeMH+GZjgbU9ttAqziAdLg4Tl61pJw X-Received: by 10.157.12.72 with SMTP id 66mr43245174otr.72.1470231564503; Wed, 03 Aug 2016 06:39:24 -0700 (PDT) MIME-Version: 1.0 Received: by 10.157.5.99 with HTTP; Wed, 3 Aug 2016 06:39:22 -0700 (PDT) In-Reply-To: References: From: Harshal Dhumal Date: Wed, 3 Aug 2016 19:09:22 +0530 Message-ID: Subject: Re: Patch for RM1500 other issues [pgAdmin4] To: Dave Page Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary=94eb2c11e7ca240f1105392af6e3 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --94eb2c11e7ca240f1105392af6e3 Content-Type: multipart/alternative; boundary=94eb2c11e7ca240f0b05392af6e1 --94eb2c11e7ca240f0b05392af6e1 Content-Type: text/plain; charset=UTF-8 Hi Dave, Please find attached updated patch. I missed to change table __init__.py file that why you got the error sorry for that. Also patch has changes for both RM1500 and simplejson issue as both require changes in same file. Please discard old patch of RM1500 and simplejson. -- *Harshal Dhumal* *Software Engineer* EnterpriseDB India: http://www.enterprisedb.com The Enterprise PostgreSQL Company On Wed, Aug 3, 2016 at 6:30 PM, Dave Page wrote: > Hi > > On Wed, Aug 3, 2016 at 12:43 PM, Harshal Dhumal > wrote: > > Hi Dave, > > > > This because on python 2.X simplejson throws KeyError instead of > TypeError > > if any error occurs while loading json data from given object. Now I have > > handled that exception as well in attached patch. > > > > I'm sending this as separate patch instead part of RM1500. > > I still see the same error, with both patches applied. I've restarted > the app server and cleared the browser cache and reloaded etc. > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > --94eb2c11e7ca240f0b05392af6e1 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave,

Please find attached updat= ed patch. I missed to change table __init__.py file that why you got the er= ror sorry for that. Also patch has changes for both RM1500 and simplejson i= ssue as both require changes in same file. Please discard old patch of RM15= 00 and simplejson.



--=C2= =A0
Harshal Dhumal
Software Engineer

EnterpriseDB India:=C2=A0ht= tp://www.enterprisedb.com
The Enterpr= ise PostgreSQL Company
=

On Wed, Aug 3, 2016 at 6:30 PM, Dave Page <= dpage@pgadmin.org> wrote:
H= i

On Wed, Aug 3, 2016 at 12:43 PM, Harshal Dhumal
<harshal.dhumal@enter= prisedb.com> wrote:
> Hi Dave,
>
> This because on python 2.X simplejson throws KeyError instead of TypeE= rror
> if any error occurs while loading json data from given object. Now I h= ave
> handled that exception as well in attached patch.
>
> I'm sending this as separate patch instead part of RM1500.

I still see the same error, with both patches applied. I've rest= arted
the app server and cleared the browser cache and reloaded etc.


--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

--94eb2c11e7ca240f0b05392af6e1-- --94eb2c11e7ca240f1105392af6e3 Content-Type: text/x-patch; charset=US-ASCII; name="RM1500_with_simplejson_exception_handle_python_2.X.patch" Content-Disposition: attachment; filename="RM1500_with_simplejson_exception_handle_python_2.X.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_irexqv890 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9fX2luaXRfXy5w eSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9fX2luaXRfXy5weQppbmRleCAw MjA1N2JmLi44YmRhNDkwIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L19faW5pdF9fLnB5CkBAIC0xODcsOSArMTg3LDkgQEAgY2xhc3MgVGFibGVW aWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIsIFZhY3V1bVNl dHRpbmdzKToKICAgICAgIC0gSXQgd2lsbCByZXR1cm4gZm9ybWF0dGVkIG91 dHB1dCBvZiBxdWVyeSByZXN1bHQKICAgICAgICAgYXMgcGVyIGNsaWVudCBt b2RlbCBmb3JtYXQgZm9yIGluZGV4IGNvbnN0cmFpbnQgbm9kZQogCi0gICAg KiBfY2x0eXBlX2Zvcm1hdHRlcihzZWxmLCB0eXBlKToKKyAgICAqIF9jbHR5 cGVfZm9ybWF0dGVyKHR5cGUpOiAoc3RhdGljbWV0aG9kKQogICAgICAgLSBX ZSBuZWVkIHRvIHJlbW92ZSBbXSBmcm9tIHR5cGUgYW5kIGFwcGVuZCBpdAot ICAgICAgICBhZnRlciBsZW5ndGgvcHJlY2lzaW9uIHNvIHdlIHdpbGwgc2V0 IGZsYWcgZm9yCisgICAgICAgIGFmdGVyIGxlbmd0aC9wcmVjaXNpb24gc28g d2Ugd2lsbCBzZW5kIGZsYWcgZm9yCiAgICAgICAgIHNxbCB0ZW1wbGF0ZQog CiAgICAgKiBfcGFyc2VfZm9ybWF0X2NvbHVtbnMoc2VsZiwgZGF0YSwgbW9k ZT1Ob25lKToKQEAgLTYyNywxNyArNjI3LDE2IEBAIGNsYXNzIFRhYmxlVmll dyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0 aW5ncyk6CiAgICAgICAgICAgICAgICAgICAgIGNvbHVtblsnaXNkdXAnXSwg Y29sdW1uWydhdHRuZGltcyddLCBjb2x1bW5bJ2F0dHR5cG1vZCddCiAgICAg ICAgICAgICAgICAgKQogCi0gICAgICAgICAgICAgICAgaW1wb3J0IHJlCiAg ICAgICAgICAgICAgICAgIyBJZiB3ZSBoYXZlIGxlbmd0aCAmIHByZWNpc2lv biBib3RoCiAgICAgICAgICAgICAgICAgbWF0Y2hPYmogPSByZS5zZWFyY2go cicoXGQrKSwoXGQrKScsIGZ1bGx0eXBlKQogICAgICAgICAgICAgICAgIGlm IG1hdGNoT2JqOgotICAgICAgICAgICAgICAgICAgICBjb2x1bW5bJ2F0dGxl biddID0gbWF0Y2hPYmouZ3JvdXAoMSkKLSAgICAgICAgICAgICAgICAgICAg Y29sdW1uWydhdHRwcmVjaXNpb24nXSA9IG1hdGNoT2JqLmdyb3VwKDIpCisg ICAgICAgICAgICAgICAgICAgIGNvbHVtblsnYXR0bGVuJ10gPSBpbnQobWF0 Y2hPYmouZ3JvdXAoMSkpCisgICAgICAgICAgICAgICAgICAgIGNvbHVtblsn YXR0cHJlY2lzaW9uJ10gPSBpbnQobWF0Y2hPYmouZ3JvdXAoMikpCiAgICAg ICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgIyBJZiB3 ZSBoYXZlIGxlbmd0aCBvbmx5CiAgICAgICAgICAgICAgICAgICAgIG1hdGNo T2JqID0gcmUuc2VhcmNoKHInKFxkKyknLCBmdWxsdHlwZSkKICAgICAgICAg ICAgICAgICAgICAgaWYgbWF0Y2hPYmo6Ci0gICAgICAgICAgICAgICAgICAg ICAgICBjb2x1bW5bJ2F0dGxlbiddID0gbWF0Y2hPYmouZ3JvdXAoMSkKKyAg ICAgICAgICAgICAgICAgICAgICAgIGNvbHVtblsnYXR0bGVuJ10gPSBpbnQo bWF0Y2hPYmouZ3JvdXAoMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICBj b2x1bW5bJ2F0dHByZWNpc2lvbiddID0gTm9uZQogICAgICAgICAgICAgICAg ICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uWydh dHRsZW4nXSA9IE5vbmUKQEAgLTEwNDUsNyArMTA0NCw2IEBAIGNsYXNzIFRh YmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1 dW1TZXR0aW5ncyk6CiAgICAgICAgICMgRmlsdGVyIGluaGVyaXRlZCBjb2x1 bW5zIGZyb20gYWxsIGNvbHVtbnMKICAgICAgICAgaWYgJ2NvbHVtbnMnIGlu IGRhdGEgYW5kIGxlbihkYXRhWydjb2x1bW5zJ10pID4gMCBcCiAgICAgICAg ICAgICAgICAgYW5kIGxlbihhbGxfY29sdW1ucykgPiAwOgotICAgICAgICAg ICAgY29sdW1ucyA9IFtdCiAgICAgICAgICAgICBmb3Igcm93IGluIGRhdGFb J2NvbHVtbnMnXToKICAgICAgICAgICAgICAgICBmb3IgaSwgY29sIGluIGVu dW1lcmF0ZShhbGxfY29sdW1ucyk6CiAgICAgICAgICAgICAgICAgICAgICMg SWYgYm90aCBuYW1lIGFyZSBzYW1lIHRoZW4gcmVtb3ZlIGl0CkBAIC0xMjcx LDI0ICsxMjY5LDIyIEBAIGNsYXNzIFRhYmxlVmlldyhQR0NoaWxkTm9kZVZp ZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0aW5ncyk6CiAgICAgICAg IGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgIHJldHVybiBp bnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKQogCi0gICAg ZGVmIF9jbHR5cGVfZm9ybWF0dGVyKHNlbGYsIHR5cGUpOgorICAgIEBzdGF0 aWNtZXRob2QKKyAgICBkZWYgX2NsdHlwZV9mb3JtYXR0ZXIoZGF0YV90eXBl KToKICAgICAgICAgIiIiCiAKICAgICAgICAgQXJnczoKLSAgICAgICAgICAg IGRhdGE6IFR5cGUgc3RyaW5nCisgICAgICAgICAgICBkYXRhX3R5cGU6IFR5 cGUgc3RyaW5nCiAKICAgICAgICAgUmV0dXJuczoKICAgICAgICAgICAgIFdl IG5lZWQgdG8gcmVtb3ZlIFtdIGZyb20gdHlwZSBhbmQgYXBwZW5kIGl0Ci0g ICAgICAgICAgICBhZnRlciBsZW5ndGgvcHJlY2lzaW9uIHNvIHdlIHdpbGwg c2V0IGZsYWcgZm9yCisgICAgICAgICAgICBhZnRlciBsZW5ndGgvcHJlY2lz aW9uIHNvIHdlIHdpbGwgc2VuZCBmbGFnIGZvcgogICAgICAgICAgICAgc3Fs IHRlbXBsYXRlCiAgICAgICAgICIiIgotICAgICAgICBpZiAnW10nIGluIHR5 cGU6Ci0gICAgICAgICAgICB0eXBlID0gdHlwZS5yZXBsYWNlKCdbXScsICcn KQotICAgICAgICAgICAgc2VsZi5oYXNTcXJCcmFja2V0ID0gVHJ1ZQorICAg ICAgICBpZiAnW10nIGluIGRhdGFfdHlwZToKKyAgICAgICAgICAgIHJldHVy biBkYXRhX3R5cGVbOi0yXSwgVHJ1ZQogICAgICAgICBlbHNlOgotICAgICAg ICAgICAgc2VsZi5oYXNTcXJCcmFja2V0ID0gRmFsc2UKLQotICAgICAgICBy ZXR1cm4gdHlwZQorICAgICAgICAgICAgcmV0dXJuIGRhdGFfdHlwZSwgRmFs c2UKIAogICAgIGRlZiBfcGFyc2VfZm9ybWF0X2NvbHVtbnMoc2VsZiwgZGF0 YSwgbW9kZT1Ob25lKToKICAgICAgICAgIiIiCkBAIC0xMzEzLDkgKzEzMDks OSBAQCBjbGFzcyBUYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlw ZVJlYWRlciwgVmFjdXVtU2V0dGluZ3MpOgogICAgICAgICAgICAgICAgICAg ICAgICAgaWYgJ2F0dGFjbCcgaW4gYzoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjWydhdHRhY2wnXSA9IHBhcnNlX3ByaXZfdG9fZGIoY1snYXR0 YWNsJ10sIHNlbGYuY29sdW1uX2FjbCkKIAotICAgICAgICAgICAgICAgICAg ICAgICAgIyBjaGVjayB0eXBlIGZvciAnW10nIGluIGl0Ci0gICAgICAgICAg ICAgICAgICAgICAgICBjWydjbHR5cGUnXSA9IHNlbGYuX2NsdHlwZV9mb3Jt YXR0ZXIoY1snY2x0eXBlJ10pCi0gICAgICAgICAgICAgICAgICAgICAgICBj WydoYXNTcXJCcmFja2V0J10gPSBzZWxmLmhhc1NxckJyYWNrZXQKKyAgICAg ICAgICAgICAgICAgICAgICAgIGlmICdjbHR5cGUnIGluIGM6CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIyBjaGVjayB0eXBlIGZvciAnW10nIGlu IGl0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY1snY2x0eXBlJ10s IGNbJ2hhc1NxckJyYWNrZXQnXSA9IHNlbGYuX2NsdHlwZV9mb3JtYXR0ZXIo Y1snY2x0eXBlJ10pCiAKICAgICAgICAgICAgICAgICAgICAgZGF0YVsnY29s dW1ucyddW2FjdGlvbl0gPSBmaW5hbF9jb2x1bW5zCiAgICAgICAgIGVsc2U6 CkBAIC0xMzMzLDkgKzEzMjksOSBAQCBjbGFzcyBUYWJsZVZpZXcoUEdDaGls ZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGluZ3MpOgog ICAgICAgICAgICAgICAgIGlmICdhdHRhY2wnIGluIGM6CiAgICAgICAgICAg ICAgICAgICAgIGNbJ2F0dGFjbCddID0gcGFyc2VfcHJpdl90b19kYihjWydh dHRhY2wnXSwgc2VsZi5jb2x1bW5fYWNsKQogCi0gICAgICAgICAgICAgICAg IyBjaGVjayB0eXBlIGZvciAnW10nIGluIGl0Ci0gICAgICAgICAgICAgICAg Y1snY2x0eXBlJ10gPSBzZWxmLl9jbHR5cGVfZm9ybWF0dGVyKGNbJ2NsdHlw ZSddKQotICAgICAgICAgICAgICAgIGNbJ2hhc1NxckJyYWNrZXQnXSA9IHNl bGYuaGFzU3FyQnJhY2tldAorICAgICAgICAgICAgICAgIGlmICdjbHR5cGUn IGluIGM6CisgICAgICAgICAgICAgICAgICAgICMgY2hlY2sgdHlwZSBmb3Ig J1tdJyBpbiBpdAorICAgICAgICAgICAgICAgICAgICBjWydjbHR5cGUnXSwg Y1snaGFzU3FyQnJhY2tldCddID0gc2VsZi5fY2x0eXBlX2Zvcm1hdHRlcihj WydjbHR5cGUnXSkKIAogICAgICAgICAgICAgZGF0YVsnY29sdW1ucyddID0g ZmluYWxfY29sdW1ucwogCkBAIC0xMzU5LDcgKzEzNTUsNyBAQCBjbGFzcyBU YWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFj dXVtU2V0dGluZ3MpOgogICAgICAgICBmb3IgaywgdiBpbiBkYXRhLml0ZW1z KCk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgZGF0YVtr XSA9IGpzb24ubG9hZHModiwgZW5jb2Rpbmc9J3V0Zi04JykKLSAgICAgICAg ICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgVHlwZUVycm9yKToKKyAgICAgICAg ICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgVHlwZUVycm9yLCBLZXlFcnJvcik6 CiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKIAogICAgICAgICByZXF1 aXJlZF9hcmdzID0gWwpAQCAtMTQ0OCw3ICsxNDQ0LDcgQEAgY2xhc3MgVGFi bGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIsIFZhY3V1 bVNldHRpbmdzKToKICAgICAgICAgZm9yIGssIHYgaW4gZGF0YS5pdGVtcygp OgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGRhdGFba10g PSBqc29uLmxvYWRzKHYsIGVuY29kaW5nPSd1dGYtOCcpCi0gICAgICAgICAg ICBleGNlcHQgKFZhbHVlRXJyb3IsIFR5cGVFcnJvcik6CisgICAgICAgICAg ICBleGNlcHQgKFZhbHVlRXJyb3IsIFR5cGVFcnJvciwgS2V5RXJyb3IpOgog ICAgICAgICAgICAgICAgIGRhdGFba10gPSB2CiAKICAgICAgICAgdHJ5OgpA QCAtMTY4OCw3ICsxNjg0LDcgQEAgY2xhc3MgVGFibGVWaWV3KFBHQ2hpbGRO b2RlVmlldywgRGF0YVR5cGVSZWFkZXIsIFZhY3V1bVNldHRpbmdzKToKICAg ICAgICAgZm9yIGssIHYgaW4gcmVxdWVzdC5hcmdzLml0ZW1zKCk6CiAgICAg ICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24u bG9hZHModiwgZW5jb2Rpbmc9J3V0Zi04JykKLSAgICAgICAgICAgIGV4Y2Vw dCAoVmFsdWVFcnJvciwgVHlwZUVycm9yKToKKyAgICAgICAgICAgIGV4Y2Vw dCAoVmFsdWVFcnJvciwgVHlwZUVycm9yLCBLZXlFcnJvcik6CiAgICAgICAg ICAgICAgICAgZGF0YVtrXSA9IHYKIAogICAgICAgICB0cnk6CkBAIC0xODQz LDE5ICsxODM5LDIwIEBAIGNsYXNzIFRhYmxlVmlldyhQR0NoaWxkTm9kZVZp ZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0aW5ncyk6CiAgICAgICAg ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gJ1xuXG4nLmpvaW4oc3FsKQogCi0gICAgICAgICAgICAgICAgICAg IGNvbHMgPSBbXQotICAgICAgICAgICAgICAgICAgICBmb3IgY29sIGluIGNb J2NvbHVtbnMnXToKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbHMuYXBw ZW5kKGNvbFsnbG9jYWxfY29sdW1uJ10pCisgICAgICAgICAgICAgICAgICAg IGlmICdjb2x1bW5zJyBpbiBjOgorICAgICAgICAgICAgICAgICAgICAgICAg Y29scyA9IFtdCisgICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29sIGlu IGNbJ2NvbHVtbnMnXToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b2xzLmFwcGVuZChjb2xbJ2xvY2FsX2NvbHVtbiddKQogCi0gICAgICAgICAg ICAgICAgICAgIGNvdmVyaW5naW5kZXggPSBzZWxmLnNlYXJjaF9jb3Zlcmlu Z2luZGV4KHRpZCwgY29scykKKyAgICAgICAgICAgICAgICAgICAgICAgIGNv dmVyaW5naW5kZXggPSBzZWxmLnNlYXJjaF9jb3ZlcmluZ2luZGV4KHRpZCwg Y29scykKIAotICAgICAgICAgICAgICAgICAgICBpZiBjb3ZlcmluZ2luZGV4 IGlzIE5vbmUgYW5kICdhdXRvaW5kZXgnIGluIGMgYW5kIGNbJ2F1dG9pbmRl eCddIGFuZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdjb3Zl cmluZ2luZGV4JyBpbiBjIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNbJ2NvdmVyaW5naW5kZXgnXSAhPSAnJyk6Ci0gICAg ICAgICAgICAgICAgICAgICAgICBzcWwuYXBwZW5kKHJlbmRlcl90ZW1wbGF0 ZSgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLyIuam9pbihbc2Vs Zi5mb3JlaWduX2tleV90ZW1wbGF0ZV9wYXRoLCAnY3JlYXRlX2luZGV4LnNx bCddKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWMsIGNv bm49c2VsZi5jb25uKS5zdHJpcCgnXG4nKQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgICBp ZiBjb3ZlcmluZ2luZGV4IGlzIE5vbmUgYW5kICdhdXRvaW5kZXgnIGluIGMg YW5kIGNbJ2F1dG9pbmRleCddIGFuZCBcCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgnY292ZXJpbmdpbmRleCcgaW4gYyBhbmQKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY1snY292ZXJp bmdpbmRleCddICE9ICcnKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzcWwuYXBwZW5kKHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYuZm9yZWlnbl9rZXlf dGVtcGxhdGVfcGF0aCwgJ2NyZWF0ZV9pbmRleC5zcWwnXSksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9YywgY29ubj1zZWxmLmNv bm4pLnN0cmlwKCdcbicpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICApCiAKICAgICAgICAgICAgIGlmICdhZGRlZCcgaW4gY29u c3RyYWludDoKICAgICAgICAgICAgICAgICBmb3IgYyBpbiBjb25zdHJhaW50 WydhZGRlZCddOgpAQCAtMjE2Myw5ICsyMTYwLDQ2IEBAIGNsYXNzIFRhYmxl VmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1T ZXR0aW5ncyk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCiAgICAgICAg ICAgICAgICAgICAgICAgICBvbGRfZGF0YSA9IHJlc1sncm93cyddWzBdCiAK LSAgICAgICAgICAgICAgICAgICAgICAgIG9sZF9kYXRhWydjbHR5cGUnXSA9 IHNlbGYuX2NsdHlwZV9mb3JtYXR0ZXIob2xkX2RhdGFbJ2NsdHlwZSddKQot ICAgICAgICAgICAgICAgICAgICAgICAgb2xkX2RhdGFbJ2hhc1NxckJyYWNr ZXQnXSA9IHNlbGYuaGFzU3FyQnJhY2tldAorICAgICAgICAgICAgICAgICAg ICAgICAgb2xkX2RhdGFbJ2NsdHlwZSddLCBvbGRfZGF0YVsnaGFzU3FyQnJh Y2tldCddID0gc2VsZi5fY2x0eXBlX2Zvcm1hdHRlcihvbGRfZGF0YVsnY2x0 eXBlJ10pCisKKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGx0eXBlID0g c2VsZi5nZXRfZnVsbF90eXBlKAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG9sZF9kYXRhWyd0eXBuc3BuYW1lJ10sIG9sZF9kYXRhWyd0eXBuYW1l J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkX2RhdGFbJ2lz ZHVwJ10sIG9sZF9kYXRhWydhdHRuZGltcyddLCBvbGRfZGF0YVsnYXR0dHlw bW9kJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICkKIAorICAgICAgICAg ICAgICAgICAgICAgICAgIyBJZiB3ZSBoYXZlIGxlbmd0aCAmIHByZWNpc2lv biBib3RoCisgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaE9iaiA9IHJl LnNlYXJjaChyJyhcZCspLChcZCspJywgZnVsbHR5cGUpCisgICAgICAgICAg ICAgICAgICAgICAgICBpZiBtYXRjaE9iajoKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBvbGRfZGF0YVsnYXR0bGVuJ10gPSBpbnQobWF0Y2hPYmou Z3JvdXAoMSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkX2Rh dGFbJ2F0dHByZWNpc2lvbiddID0gaW50KG1hdGNoT2JqLmdyb3VwKDIpKQor ICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjIElmIHdlIGhhdmUgbGVuZ3RoIG9ubHkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtYXRjaE9iaiA9IHJlLnNlYXJjaChy JyhcZCspJywgZnVsbHR5cGUpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWYgbWF0Y2hPYmo6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG9sZF9kYXRhWydhdHRsZW4nXSA9IGludChtYXRjaE9iai5ncm91cCgx KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2xkX2RhdGFb J2F0dHByZWNpc2lvbiddID0gTm9uZQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9sZF9kYXRhWydhdHRsZW4nXSA9IE5vbmUKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgb2xkX2RhdGFbJ2F0dHByZWNpc2lvbiddID0gTm9u ZQorCisgICAgICAgICAgICAgICAgICAgICAgICAjIE1hbnVhbCBEYXRhIHR5 cGUgZm9ybWF0dGluZworICAgICAgICAgICAgICAgICAgICAgICAgIyBJZiBk YXRhIHR5cGUgaGFzICgpIHdpdGggdGhlbSB0aGVuIHdlIG5lZWQgdG8gcmVt b3ZlIHRoZW0KKyAgICAgICAgICAgICAgICAgICAgICAgICMgZWcgYml0KDEp IGJlY2F1c2Ugd2UgbmVlZCB0byBtYXRjaCB0aGUgbmFtZSB3aXRoIGNvbWJv Ym94CisgICAgICAgICAgICAgICAgICAgICAgICBpc0FycmF5ID0gRmFsc2UK KyAgICAgICAgICAgICAgICAgICAgICAgIGlmIG9sZF9kYXRhWydjbHR5cGUn XS5lbmRzd2l0aCgnW10nKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpc0FycmF5ID0gVHJ1ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9sZF9kYXRhWydjbHR5cGUnXSA9IG9sZF9kYXRhWydjbHR5cGUnXS5yc3Ry aXAoJ1tdJykKKworICAgICAgICAgICAgICAgICAgICAgICAgaWR4ID0gb2xk X2RhdGFbJ2NsdHlwZSddLmZpbmQoJygnKQorICAgICAgICAgICAgICAgICAg ICAgICAgaWYgaWR4IGFuZCBvbGRfZGF0YVsnY2x0eXBlJ10uZW5kc3dpdGgo JyknKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbGRfZGF0YVsn Y2x0eXBlJ10gPSBvbGRfZGF0YVsnY2x0eXBlJ11bOmlkeF0KKworICAgICAg ICAgICAgICAgICAgICAgICAgaWYgaXNBcnJheToKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvbGRfZGF0YVsnY2x0eXBlJ10gKz0gIltdIgorCisg ICAgICAgICAgICAgICAgICAgICAgICBpZiBvbGRfZGF0YVsndHlwbnNwbmFt ZSddICE9ICdwZ19jYXRhbG9nJzoKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvbGRfZGF0YVsnY2x0eXBlJ10gPSBzZWxmLnF0SWRlbnQoc2VsZi5j b25uLCBvbGRfZGF0YVsndHlwbnNwbmFtZSddKSBcCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgJy4nICsgb2xk X2RhdGFbJ2NsdHlwZSddCiAgICAgICAgICAgICAgICAgICAgICAgICAjIFNx bCBmb3IgYWx0ZXIgY29sdW1uCiAgICAgICAgICAgICAgICAgICAgICAgICBp ZiAnaW5oZXJpdGVkZnJvbScgbm90IGluIGM6CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29sdW1uX3NxbCArPSByZW5kZXJfdGVtcGxhdGUoIi8i LmpvaW4oCkBAIC0yMjU5LDcgKzIyOTMsOCBAQCBjbGFzcyBUYWJsZVZpZXco UEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGlu Z3MpOgogCiAgICAgICAgIHJldHVybiBTUUwKIAotICAgIGRlZiB2YWxpZGF0 ZV9jb25zdHJhaW5zKHNlbGYsIGtleSwgZGF0YSk6CisgICAgQHN0YXRpY21l dGhvZAorICAgIGRlZiB2YWxpZGF0ZV9jb25zdHJhaW5zKGtleSwgZGF0YSk6 CiAKICAgICAgICAgaWYga2V5ID09ICdwcmltYXJ5X2tleScgb3Iga2V5ID09 ICd1bmlxdWVfY29uc3RyYWludCc6CiAgICAgICAgICAgICBpZiAnY29sdW1u cycgaW4gZGF0YSBhbmQgbGVuKGRhdGFbJ2NvbHVtbnMnXSkgPiAwOgpAQCAt MjI2NywxNSArMjMwMiwxNyBAQCBjbGFzcyBUYWJsZVZpZXcoUEdDaGlsZE5v ZGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGluZ3MpOgogICAg ICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UK ICAgICAgICAgZWxpZiBrZXkgPT0gJ2ZvcmVpZ25fa2V5JzoKLSAgICAgICAg ICAgIGZvciBhcmcgaW4gWydjb2x1bW5zJ106Ci0gICAgICAgICAgICAgICAg aWYgYXJnIG5vdCBpbiBkYXRhOgorICAgICAgICAgICAgaWYgJ29pZCcgbm90 IGluIGRhdGE6CisgICAgICAgICAgICAgICAgZm9yIGFyZyBpbiBbJ2NvbHVt bnMnXToKKyAgICAgICAgICAgICAgICAgICAgaWYgYXJnIG5vdCBpbiBkYXRh OgorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAg ICAgICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShkYXRhW2FyZ10sIGxp c3QpIGFuZCBsZW4oZGF0YVthcmddKSA8IDE6CisgICAgICAgICAgICAgICAg ICAgICAgICByZXR1cm4gRmFsc2UKKworICAgICAgICAgICAgICAgIGlmICdh dXRvaW5kZXgnIGluIGRhdGEgYW5kIGRhdGFbJ2F1dG9pbmRleCddIGFuZCBc CisgICAgICAgICAgICAgICAgICAgICAgICAoJ2NvdmVyaW5naW5kZXgnIG5v dCBpbiBkYXRhIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRhdGFbJ2NvdmVyaW5naW5kZXgnXSA9PSAn Jyk6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAg ICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShkYXRhW2FyZ10sIGxpc3QpIGFu ZCBsZW4oZGF0YVthcmddKSA8IDE6Ci0gICAgICAgICAgICAgICAgICAgIHJl dHVybiBGYWxzZQotCi0gICAgICAgICAgICBpZiBkYXRhWydhdXRvaW5kZXgn XSBhbmQgKCdjb3ZlcmluZ2luZGV4JyBub3QgaW4gZGF0YSBvcgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFb J2NvdmVyaW5naW5kZXgnXSA9PSAnJyk6Ci0gICAgICAgICAgICAgICAgcmV0 dXJuIEZhbHNlCiAKICAgICAgICAgICAgIHJldHVybiBUcnVlCiAKQEAgLTI0 MDYsOCArMjQ0Myw4IEBAIGNsYXNzIFRhYmxlVmlldyhQR0NoaWxkTm9kZVZp ZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0aW5ncyk6CiAgICAgICAg ICAgICAgICAgICAgIGNbJ2F0dGFjbCddID0gcGFyc2VfcHJpdl90b19kYihj WydhdHRhY2wnXSwgc2VsZi5jb2x1bW5fYWNsKQogCiAgICAgICAgICAgICAg ICAgIyBjaGVjayB0eXBlIGZvciAnW10nIGluIGl0Ci0gICAgICAgICAgICAg ICAgY1snY2x0eXBlJ10gPSBzZWxmLl9jbHR5cGVfZm9ybWF0dGVyKGNbJ2Ns dHlwZSddKQotICAgICAgICAgICAgICAgIGNbJ2hhc1NxckJyYWNrZXQnXSA9 IHNlbGYuaGFzU3FyQnJhY2tldAorICAgICAgICAgICAgICAgIGlmICdjbHR5 cGUnIGluIGM6CisgICAgICAgICAgICAgICAgICAgIGNbJ2NsdHlwZSddLCBj WydoYXNTcXJCcmFja2V0J10gPSBzZWxmLl9jbHR5cGVfZm9ybWF0dGVyKGNb J2NsdHlwZSddKQogCiAgICAgICAgIHNxbF9oZWFkZXIgPSB1Ii0tIFRhYmxl OiB7MH1cblxuLS0gIi5mb3JtYXQoc2VsZi5xdElkZW50KHNlbGYuY29ubiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkYXRhWydzY2hlbWEnXSwKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW4vX19pbml0X18ucHkg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1uL19faW5pdF9fLnB5Cmlu ZGV4IGI2Nzc4M2MuLmVmNWNiZTQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3RhYmxlcy9jb2x1bW4vX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL2NvbHVtbi9fX2luaXRfXy5weQpAQCAtNTE1LDcgKzUx NSw3IEBAIGNsYXNzIENvbHVtbnNWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0 YVR5cGVSZWFkZXIpOgogICAgICAgICBmb3IgaywgdiBpbiBkYXRhLml0ZW1z KCk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgZGF0YVtr XSA9IGpzb24ubG9hZHModiwgZW5jb2Rpbmc9J3V0Zi04JykKLSAgICAgICAg ICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgVHlwZUVycm9yKToKKyAgICAgICAg ICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgVHlwZUVycm9yLCBLZXlFcnJvcik6 CiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKIAogICAgICAgICByZXF1 aXJlZF9hcmdzID0gewpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL2NvbHVtbi90ZW1wbGF0ZXMvY29sdW1uL2pzL2NvbHVtbi5qcyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW4vdGVtcGxhdGVzL2NvbHVtbi9q cy9jb2x1bW4uanMKaW5kZXggZDdmZTVhNC4uMDcyYWRhZiAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbHVtbi90ZW1wbGF0ZXMvY29s dW1uL2pzL2NvbHVtbi5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv Y29sdW1uL3RlbXBsYXRlcy9jb2x1bW4vanMvY29sdW1uLmpzCkBAIC01Nywx NyArNTcsMjkgQEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93 c2VyLCBCYWNrZm9ybSwgYWxlcnRpZnkpIHsKICAgICAgIH0sCiAgICAgICBk ZXBlbmRlbnRDaGFuZ2VkOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgIHRoaXMu JGVsLmVtcHR5KCk7Ci0gICAgICAgIHZhciBtb2RlbCA9IHRoaXMubW9kZWw7 Ci0gICAgICAgIHZhciBjb2x1bW4gPSB0aGlzLmNvbHVtbjsKLSAgICAgICAg ZWRpdGFibGUgPSB0aGlzLmNvbHVtbi5nZXQoImVkaXRhYmxlIik7CisgICAg ICAgIHZhciBtb2RlbCA9IHRoaXMubW9kZWwsCisgICAgICAgICAgICBjb2x1 bW4gPSB0aGlzLmNvbHVtbiwKKyAgICAgICAgICAgIGVkaXRhYmxlID0gdGhp cy5jb2x1bW4uZ2V0KCJlZGl0YWJsZSIpLAorICAgICAgICAgICAgaXNfZWRp dGFibGUgPSBfLmlzRnVuY3Rpb24oZWRpdGFibGUpID8gISFlZGl0YWJsZS5h cHBseShjb2x1bW4sIFttb2RlbF0pIDogISFlZGl0YWJsZTsKIAotICAgICAg ICBpc19lZGl0YWJsZSA9IF8uaXNGdW5jdGlvbihlZGl0YWJsZSkgPyAhIWVk aXRhYmxlLmFwcGx5KGNvbHVtbiwgW21vZGVsXSkgOiAhIWVkaXRhYmxlOwog ICAgICAgICBpZiAoaXNfZWRpdGFibGUpeyB0aGlzLiRlbC5hZGRDbGFzcygi ZWRpdGFibGUiKTsgfQogICAgICAgICBlbHNlIHsgdGhpcy4kZWwucmVtb3Zl Q2xhc3MoImVkaXRhYmxlIik7IH0KIAogICAgICAgICB0aGlzLmRlbGVnYXRl RXZlbnRzKCk7CiAgICAgICAgIHJldHVybiB0aGlzOwogICAgICAgfSwKKyAg ICAgIHJlbmRlcjogZnVuY3Rpb24oKSB7CisgICAgICAgIEJhY2tncmlkLk51 bWJlckNlbGwucHJvdG90eXBlLnJlbmRlci5hcHBseSh0aGlzLCBhcmd1bWVu dHMpOworCisgICAgICAgIHZhciBtb2RlbCA9IHRoaXMubW9kZWwsCisgICAg ICAgICAgICBjb2x1bW4gPSB0aGlzLmNvbHVtbiwKKyAgICAgICAgICAgIGVk aXRhYmxlID0gdGhpcy5jb2x1bW4uZ2V0KCJlZGl0YWJsZSIpLAorICAgICAg ICAgICAgaXNfZWRpdGFibGUgPSBfLmlzRnVuY3Rpb24oZWRpdGFibGUpID8g ISFlZGl0YWJsZS5hcHBseShjb2x1bW4sIFttb2RlbF0pIDogISFlZGl0YWJs ZTsKKworICAgICAgICBpZiAoaXNfZWRpdGFibGUpeyB0aGlzLiRlbC5hZGRD bGFzcygiZWRpdGFibGUiKTsgfQorICAgICAgICBlbHNlIHsgdGhpcy4kZWwu cmVtb3ZlQ2xhc3MoImVkaXRhYmxlIik7IH0KKyAgICAgICAgcmV0dXJuIHRo aXM7CisgICAgICB9LAogICAgICAgcmVtb3ZlOiBCYWNrZ3JpZC5FeHRlbnNp b24uRGVwZW5kZW50Q2VsbC5wcm90b3R5cGUucmVtb3ZlCiAgICAgfSk7CiAK QEAgLTE0MCw2ICsxNTIsOCBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWlu LCBwZ0Jyb3dzZXIsIEJhY2tmb3JtLCBhbGVydGlmeSkgewogICAgICAgICBd KTsKICAgICAgIH0sCiAgICAgICBtb2RlbDogcGdCcm93c2VyLk5vZGUuTW9k ZWwuZXh0ZW5kKHsKKyAgICAgICAgaWRBdHRyaWJ1dGU6ICdhdHRudW0nLAor CiAgICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgbmFtZTogdW5kZWZp bmVkLAogICAgICAgICAgIGF0dG93bmVyOiB1bmRlZmluZWQsCkBAIC0xNTYs NyArMTcwLDkgQEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93 c2VyLCBCYWNrZm9ybSwgYWxlcnRpZnkpIHsKICAgICAgICAgICBpc19wcmlt YXJ5X2tleTogZmFsc2UsCiAgICAgICAgICAgaW5oZXJpdGVkZnJvbTogdW5k ZWZpbmVkLAogICAgICAgICAgIGF0dHN0YXR0YXJnZXQ6dW5kZWZpbmVkLAot ICAgICAgICAgIGF0dG5vdG51bGw6IGZhbHNlCisgICAgICAgICAgYXR0bm90 bnVsbDogZmFsc2UsCisgICAgICAgICAgYXR0bGVuOiBudWxsLAorICAgICAg ICAgIGF0dHByZWNpc2lvbjogbnVsbAogICAgICAgICB9LAogICAgICAgICBz Y2hlbWE6IFt7CiAgICAgICAgICAgaWQ6ICduYW1lJywgbGFiZWw6ICd7eyBf KCdOYW1lJykgfX0nLCBjZWxsOiAnc3RyaW5nJywKQEAgLTMyMiwxNiArMzM4 LDIxIEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3Nlciwg QmFja2Zvcm0sIGFsZXJ0aWZ5KSB7CiAgICAgICAgICAgICAgaWYoIV8uaXNV bmRlZmluZWQobS5nZXQoJ2luaGVyaXRlZGZyb20nKSkpIHsKICAgICAgICAg ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgfQorCisgICAg ICAgICAgICAgaWYgKCFtLmRhdGF0eXBlcykgeworICAgICAgICAgICAgICAv LyBkYXRhdHlwZXMgbm90IGxvYWRlZCwgbWF5IGJlIHRoaXMgY2FsbCBpcyBm cm9tIENhbGxCeU5lZWQgZnJvbSBiYWNrZ3JpZCBjZWxsIGluaXRpYWxpemUu CisgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICB2YXIgb2ZfdHlwZSA9IG0uZ2V0KCdjbHR5cGUnKSwK ICAgICAgICAgICAgICAgIGZsYWcgPSBmYWxzZTsKLSAgICAgICAgICAgICAg Xy5lYWNoKG0uZGF0YXR5cGVzLCBmdW5jdGlvbihvKSB7Ci0gICAgICAgICAg ICAgICAgaWYgKCBvZl90eXBlID09IG8udmFsdWUgKSB7Ci0gICAgICAgICAg ICAgICAgICAgIGlmKG8ubGVuZ3RoKQotICAgICAgICAgICAgICAgICAgICB7 Ci0gICAgICAgICAgICAgICAgICAgICAgbS5zZXQoJ21pbl92YWwnLCBvLm1p bl92YWwsIHtzaWxlbnQ6IHRydWV9KTsKLSAgICAgICAgICAgICAgICAgICAg ICBtLnNldCgnbWF4X3ZhbCcsIG8ubWF4X3ZhbCwge3NpbGVudDogdHJ1ZX0p OwotICAgICAgICAgICAgICAgICAgICAgIGZsYWcgPSB0cnVlOwotICAgICAg ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgIF8uZWFjaChtLmRh dGF0eXBlcywgZnVuY3Rpb24obykgeworICAgICAgICAgICAgICAgaWYgKCBv Zl90eXBlID09IG8udmFsdWUgKSB7CisgICAgICAgICAgICAgICAgIGlmKG8u bGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgICAgbS5zZXQoJ21pbl92YWwn LCBvLm1pbl92YWwsIHtzaWxlbnQ6IHRydWV9KTsKKyAgICAgICAgICAgICAg ICAgICBtLnNldCgnbWF4X3ZhbCcsIG8ubWF4X3ZhbCwge3NpbGVudDogdHJ1 ZX0pOworICAgICAgICAgICAgICAgICAgIGZsYWcgPSB0cnVlOworICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICB9KTsKIApAQCAtMzUxLDEyICszNzIsMTEgQEAgZnVuY3Rpb24oJCwgXywg UywgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNrZm9ybSwgYWxlcnRpZnkpIHsK ICAgICAgICAgICAgICAgIGZsYWcgPSB0cnVlOwogICAgICAgICAgICAgICBf LmVhY2gobS5kYXRhdHlwZXMsIGZ1bmN0aW9uKG8pIHsKICAgICAgICAgICAg ICAgICBpZiAoIG9mX3R5cGUgPT0gby52YWx1ZSApIHsKLSAgICAgICAgICAg ICAgICAgICAgaWYoby5wcmVjaXNpb24pCi0gICAgICAgICAgICAgICAgICAg IHsKLSAgICAgICAgICAgICAgICAgICAgICBtLnNldCgnbWluX3ZhbCcsIG8u bWluX3ZhbCwge3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAgICAgICAgICAg ICAgIG0uc2V0KCdtYXhfdmFsJywgby5tYXhfdmFsLCB7c2lsZW50OiB0cnVl fSk7Ci0gICAgICAgICAgICAgICAgICAgICAgZmxhZyA9IGZhbHNlOwotICAg ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICBpZihvLnBy ZWNpc2lvbikgeworICAgICAgICAgICAgICAgICAgICBtLnNldCgnbWluX3Zh bCcsIG8ubWluX3ZhbCwge3NpbGVudDogdHJ1ZX0pOworICAgICAgICAgICAg ICAgICAgICBtLnNldCgnbWF4X3ZhbCcsIG8ubWF4X3ZhbCwge3NpbGVudDog dHJ1ZX0pOworICAgICAgICAgICAgICAgICAgICBmbGFnID0gZmFsc2U7Cisg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICB9KTsKIApAQCAtMzczLDE2ICszOTMsMjAgQEAgZnVuY3Rpb24o JCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNrZm9ybSwgYWxlcnRp ZnkpIHsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAg ICAgICAgfQogCisgICAgICAgICAgICAgaWYgKCFtLmRhdGF0eXBlcykgewor ICAgICAgICAgICAgICAvLyBkYXRhdHlwZXMgbm90IGxvYWRlZCB5ZXQsIG1h eSBiZSB0aGlzIGNhbGwgaXMgZnJvbSBDYWxsQnlOZWVkIGZyb20gYmFja2dy aWQgY2VsbCBpbml0aWFsaXplLgorICAgICAgICAgICAgICByZXR1cm4gdHJ1 ZTsKKyAgICAgICAgICAgICB9CisKICAgICAgICAgICAgICB2YXIgb2ZfdHlw ZSA9IG0uZ2V0KCdjbHR5cGUnKSwKICAgICAgICAgICAgICAgIGZsYWcgPSBm YWxzZTsKICAgICAgICAgICAgICAgXy5lYWNoKG0uZGF0YXR5cGVzLCBmdW5j dGlvbihvKSB7CiAgICAgICAgICAgICAgICAgaWYgKCBvZl90eXBlID09IG8u dmFsdWUgKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmKG8ucHJlY2lzaW9u KQotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAg ICAgbS5zZXQoJ21pbl92YWwnLCBvLm1pbl92YWwsIHtzaWxlbnQ6IHRydWV9 KTsKLSAgICAgICAgICAgICAgICAgICAgICBtLnNldCgnbWF4X3ZhbCcsIG8u bWF4X3ZhbCwge3NpbGVudDogdHJ1ZX0pOwotICAgICAgICAgICAgICAgICAg ICAgIGZsYWcgPSB0cnVlOwotICAgICAgICAgICAgICAgICAgICB9CisgICAg ICAgICAgICAgICAgICBpZihvLnByZWNpc2lvbikgeworICAgICAgICAgICAg ICAgICAgICBtLnNldCgnbWluX3ZhbCcsIG8ubWluX3ZhbCwge3NpbGVudDog dHJ1ZX0pOworICAgICAgICAgICAgICAgICAgICBtLnNldCgnbWF4X3ZhbCcs IG8ubWF4X3ZhbCwge3NpbGVudDogdHJ1ZX0pOworICAgICAgICAgICAgICAg ICAgICBmbGFnID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgIH0pOwogCkBAIC00MDEsMjIg KzQyNSwyMiBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dz ZXIsIEJhY2tmb3JtLCBhbGVydGlmeSkgewogICAgICAgICAgIGRlcHM6IFsn Y2x0eXBlJ10sIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7CiAgICAgICAgICAg ICAgdmFyIG9mX3R5cGUgPSBtLmdldCgnY2x0eXBlJyksCiAgICAgICAgICAg ICAgICBmbGFnID0gdHJ1ZTsKLSAgICAgICAgICAgICAgXy5lYWNoKG0uZGF0 YXR5cGVzLCBmdW5jdGlvbihvKSB7CisgICAgICAgICAgICAgXy5lYWNoKG0u ZGF0YXR5cGVzLCBmdW5jdGlvbihvKSB7CiAgICAgICAgICAgICAgICAgaWYg KCBvZl90eXBlID09IG8udmFsdWUgKSB7CiAgICAgICAgICAgICAgICAgICAg IGlmKG8uaXNfY29sbGF0YWJsZSkKICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgIGZsYWcgPSBmYWxzZTsKICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg ICAgfSk7Ci0gICAgICAgICAgICAgIGlmIChmbGFnKSB7CisgICAgICAgICAg ICAgfSk7CisgICAgICAgICAgICAgaWYgKGZsYWcpIHsKICAgICAgICAgICAg ICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgICAg ICBpZihtLmdldCgnY29sbHNwY25hbWUnKSAmJiBtLmdldCgnY29sbHNwY25h bWUnKSAhPT0gJycpIHsKICAgICAgICAgICAgICAgICAgICAgbS5zZXQoJ2Nv bGxzcGNuYW1lJywgIiIpOwogICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgIH0sIDEwKTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAg ICAgICByZXR1cm4gZmxhZzsKKyAgICAgICAgICAgICB9CisgICAgICAgICAg ICAgcmV0dXJuIGZsYWc7CiAgICAgICAgICAgfQogICAgICAgICB9LHsKICAg ICAgICAgICBpZDogJ2RlZnZhbCcsIGxhYmVsOid7eyBfKCdEZWZhdWx0IFZh bHVlJykgfX0nLCBjZWxsOiAnc3RyaW5nJywKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9jaGVja19jb25zdHJhaW50 L19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFp bnRzL2NoZWNrX2NvbnN0cmFpbnQvX19pbml0X18ucHkKaW5kZXggOGYwYTgx NS4uMzQwNWRlZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L2NvbnN0cmFpbnRzL2NoZWNrX2NvbnN0cmFpbnQvX19pbml0X18ucHkKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2NoZWNrX2Nv bnN0cmFpbnQvX19pbml0X18ucHkKQEAgLTQwMyw3ICs0MDMsNyBAQCBjbGFz cyBDaGVja0NvbnN0cmFpbnRWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAg ICAgIGZvciBrLCB2IGluIGRhdGEuaXRlbXMoKToKICAgICAgICAgICAgIHRy eToKICAgICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2LCBl bmNvZGluZz0ndXRmLTgnKQotICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVy cm9yLCBUeXBlRXJyb3IpOgorICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVy cm9yLCBUeXBlRXJyb3IsIEtleUVycm9yKToKICAgICAgICAgICAgICAgICBk YXRhW2tdID0gdgogCiAgICAgICAgIGZvciBhcmcgaW4gcmVxdWlyZWRfYXJn czoKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJh aW50cy9jaGVja19jb25zdHJhaW50L3RlbXBsYXRlcy9jaGVja19jb25zdHJh aW50L2pzL2NoZWNrX2NvbnN0cmFpbnQuanMgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvY29uc3RyYWludHMvY2hlY2tfY29uc3RyYWludC90ZW1wbGF0ZXMv Y2hlY2tfY29uc3RyYWludC9qcy9jaGVja19jb25zdHJhaW50LmpzCmluZGV4 IGNiMzNhMWEuLjkzODliYzkgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3RhYmxlcy9jb25zdHJhaW50cy9jaGVja19jb25zdHJhaW50L3RlbXBsYXRl cy9jaGVja19jb25zdHJhaW50L2pzL2NoZWNrX2NvbnN0cmFpbnQuanMKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2NoZWNrX2Nv bnN0cmFpbnQvdGVtcGxhdGVzL2NoZWNrX2NvbnN0cmFpbnQvanMvY2hlY2tf Y29uc3RyYWludC5qcwpAQCAtOTAsNiArOTAsOCBAQCBmdW5jdGlvbigkLCBf LCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEFsZXJ0aWZ5KSB7CiAgICAgICB9 LAogICAgICAgY2FuRHJvcDogcGdCcm93c2VyLk5vZGVzWydzY2hlbWEnXS5j YW5DaGlsZERyb3AsCiAgICAgICBtb2RlbDogcGdBZG1pbi5Ccm93c2VyLk5v ZGUuTW9kZWwuZXh0ZW5kKHsKKyAgICAgICAgaWRBdHRyaWJ1dGU6ICdvaWQn LAorCiAgICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgbmFtZTogdW5k ZWZpbmVkLAogICAgICAgICAgIG9pZDogdW5kZWZpbmVkLApkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2V4Y2x1c2lv bl9jb25zdHJhaW50L19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL2NvbnN0cmFpbnRzL2V4Y2x1c2lvbl9jb25zdHJhaW50L19faW5pdF9f LnB5CmluZGV4IDdhNjM5NmQuLjI2MTE1ZjcgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9leGNsdXNpb25fY29uc3Ry YWludC9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv Y29uc3RyYWludHMvZXhjbHVzaW9uX2NvbnN0cmFpbnQvX19pbml0X18ucHkK QEAgLTQ0OCw3ICs0NDgsNyBAQCBjbGFzcyBFeGNsdXNpb25Db25zdHJhaW50 VmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBmb3IgaywgdiBpbiBk YXRhLml0ZW1zKCk6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAg ICAgZGF0YVtrXSA9IGpzb24ubG9hZHModiwgZW5jb2Rpbmc9J3V0Zi04JykK LSAgICAgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgVHlwZUVycm9yKToK KyAgICAgICAgICAgIGV4Y2VwdCAoVmFsdWVFcnJvciwgVHlwZUVycm9yLCBL ZXlFcnJvcik6CiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKIAogICAg ICAgICBmb3IgYXJnIGluIHJlcXVpcmVkX2FyZ3M6CmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvZXhjbHVzaW9uX2Nv bnN0cmFpbnQvdGVtcGxhdGVzL2V4Y2x1c2lvbl9jb25zdHJhaW50L2pzL2V4 Y2x1c2lvbl9jb25zdHJhaW50LmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L2NvbnN0cmFpbnRzL2V4Y2x1c2lvbl9jb25zdHJhaW50L3RlbXBsYXRlcy9l eGNsdXNpb25fY29uc3RyYWludC9qcy9leGNsdXNpb25fY29uc3RyYWludC5q cwppbmRleCA5MjMyNjc3Li5hYmRkNjIzIDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvZXhjbHVzaW9uX2NvbnN0cmFp bnQvdGVtcGxhdGVzL2V4Y2x1c2lvbl9jb25zdHJhaW50L2pzL2V4Y2x1c2lv bl9jb25zdHJhaW50LmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9j b25zdHJhaW50cy9leGNsdXNpb25fY29uc3RyYWludC90ZW1wbGF0ZXMvZXhj bHVzaW9uX2NvbnN0cmFpbnQvanMvZXhjbHVzaW9uX2NvbnN0cmFpbnQuanMK QEAgLTYzOSw2ICs2MzksOCBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWlu LCBwZ0Jyb3dzZXIsIEFsZXJ0aWZ5KSB7CiAgICAgICB9LAogICAgICAgLy8g RGVmaW5lIHRoZSBtb2RlbCBmb3IgZXhjbHVzaW9uIGNvbnN0cmFpbnQgbm9k ZQogICAgICAgbW9kZWw6IHBnQWRtaW4uQnJvd3Nlci5Ob2RlLk1vZGVsLmV4 dGVuZCh7CisgICAgICAgIGlkQXR0cmlidXRlOiAnb2lkJywKKwogICAgICAg ICBkZWZhdWx0czogewogICAgICAgICAgIG5hbWU6IHVuZGVmaW5lZCwKICAg ICAgICAgICBvaWQ6IHVuZGVmaW5lZCwKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9mb3JlaWduX2tleS9fX2luaXRf Xy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9mb3Jl aWduX2tleS9fX2luaXRfXy5weQppbmRleCBiNmQ5OTZiLi45YTJlZTA2IDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMv Zm9yZWlnbl9rZXkvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL2NvbnN0cmFpbnRzL2ZvcmVpZ25fa2V5L19faW5pdF9fLnB5CkBA IC00NzEsNyArNDcxLDcgQEAgY2xhc3MgRm9yZWlnbktleUNvbnN0cmFpbnRW aWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgIGZvciBrLCB2IGluIGRh dGEuaXRlbXMoKToKICAgICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAg ICBkYXRhW2tdID0ganNvbi5sb2Fkcyh2LCBlbmNvZGluZz0ndXRmLTgnKQot ICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBUeXBlRXJyb3IpOgor ICAgICAgICAgICAgZXhjZXB0IChWYWx1ZUVycm9yLCBUeXBlRXJyb3IsIEtl eUVycm9yKToKICAgICAgICAgICAgICAgICBkYXRhW2tdID0gdgogCiAgICAg ICAgIGZvciBhcmcgaW4gcmVxdWlyZWRfYXJnczoKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9mb3JlaWduX2tleS90 ZW1wbGF0ZXMvZm9yZWlnbl9rZXkvanMvZm9yZWlnbl9rZXkuanMgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvZm9yZWlnbl9rZXkvdGVt cGxhdGVzL2ZvcmVpZ25fa2V5L2pzL2ZvcmVpZ25fa2V5LmpzCmluZGV4IGNh ZTJlZmEuLjlkYTYxZjkgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Rh Ymxlcy9jb25zdHJhaW50cy9mb3JlaWduX2tleS90ZW1wbGF0ZXMvZm9yZWln bl9rZXkvanMvZm9yZWlnbl9rZXkuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL2NvbnN0cmFpbnRzL2ZvcmVpZ25fa2V5L3RlbXBsYXRlcy9mb3Jl aWduX2tleS9qcy9mb3JlaWduX2tleS5qcwpAQCAtNjcyLDYgKzY3Miw4IEBA IGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQWxlcnRp ZnkpIHsKICAgICAgIH0sCiAgICAgICAvLyBEZWZpbmUgdGhlIG1vZGVsIGZv ciBmb3JlaWduIGtleSBub2RlCiAgICAgICBtb2RlbDogcGdBZG1pbi5Ccm93 c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKKyAgICAgICAgaWRBdHRyaWJ1dGU6 ICdvaWQnLAorCiAgICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgbmFt ZTogdW5kZWZpbmVkLAogICAgICAgICAgIG9pZDogdW5kZWZpbmVkLApkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2lu ZGV4X2NvbnN0cmFpbnQvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvY29uc3RyYWludHMvaW5kZXhfY29uc3RyYWludC9fX2luaXRfXy5w eQppbmRleCAzN2ZiOGYyLi5lY2RiZDhiIDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvaW5kZXhfY29uc3RyYWludC9f X2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3Ry YWludHMvaW5kZXhfY29uc3RyYWludC9fX2luaXRfXy5weQpAQCAtNDUxLDcg KzQ1MSw3IEBAIGNsYXNzIEluZGV4Q29uc3RyYWludFZpZXcoUEdDaGlsZE5v ZGVWaWV3KToKICAgICAgICAgZm9yIGssIHYgaW4gZGF0YS5pdGVtcygpOgog ICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGRhdGFba10gPSBq c29uLmxvYWRzKHYsIGVuY29kaW5nPSd1dGYtOCcpCi0gICAgICAgICAgICBl eGNlcHQgKFZhbHVlRXJyb3IsIFR5cGVFcnJvcik6CisgICAgICAgICAgICBl eGNlcHQgKFZhbHVlRXJyb3IsIFR5cGVFcnJvciwgS2V5RXJyb3IpOgogICAg ICAgICAgICAgICAgIGRhdGFba10gPSB2CiAKICAgICAgICAgZm9yIGFyZyBp biByZXF1aXJlZF9hcmdzOgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL2NvbnN0cmFpbnRzL2luZGV4X2NvbnN0cmFpbnQvdGVtcGxhdGVz L2luZGV4X2NvbnN0cmFpbnQvanMvaW5kZXhfY29uc3RyYWludC5qcyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9pbmRleF9jb25zdHJh aW50L3RlbXBsYXRlcy9pbmRleF9jb25zdHJhaW50L2pzL2luZGV4X2NvbnN0 cmFpbnQuanMKaW5kZXggNzNhNTYzYi4uN2RiNjhkNSAxMDA2NDQKLS0tIGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2luZGV4X2NvbnN0 cmFpbnQvdGVtcGxhdGVzL2luZGV4X2NvbnN0cmFpbnQvanMvaW5kZXhfY29u c3RyYWludC5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3Ry YWludHMvaW5kZXhfY29uc3RyYWludC90ZW1wbGF0ZXMvaW5kZXhfY29uc3Ry YWludC9qcy9pbmRleF9jb25zdHJhaW50LmpzCkBAIC03OSw2ICs3OSw4IEBA IGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgYWxlcnRp ZnkpIHsKIAogICAgICAgLy8gRGVmaW5lIHRoZSBtb2RlbCBmb3IgaW5kZXgg Y29uc3RyYWludCBub2RlCiAgICAgICBtb2RlbDogcGdBZG1pbi5Ccm93c2Vy Lk5vZGUuTW9kZWwuZXh0ZW5kKHsKKyAgICAgICAgaWRBdHRyaWJ1dGU6ICdv aWQnLAorCiAgICAgICAgIGRlZmF1bHRzOiB7CiAgICAgICAgICAgbmFtZTog dW5kZWZpbmVkLAogICAgICAgICAgIG9pZDogdW5kZWZpbmVkLApkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2luZGV4ZXMvX19pbml0X18u cHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvaW5kZXhlcy9fX2luaXRfXy5w eQppbmRleCBmYTY3OTQ3Li5kNzljOTQ2IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90YWJsZXMvaW5kZXhlcy9fX2luaXRfXy5weQorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90YWJsZXMvaW5kZXhlcy9fX2luaXRfXy5weQpAQCAtNTI4 LDcgKzUyOCw3IEBAIGNsYXNzIEluZGV4ZXNWaWV3KFBHQ2hpbGROb2RlVmll dyk6CiAgICAgICAgIGZvciBrLCB2IGluIGRhdGEuaXRlbXMoKToKICAgICAg ICAgICAgIHRyeToKICAgICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5s b2Fkcyh2LCBlbmNvZGluZz0ndXRmLTgnKQotICAgICAgICAgICAgZXhjZXB0 IChWYWx1ZUVycm9yLCBUeXBlRXJyb3IpOgorICAgICAgICAgICAgZXhjZXB0 IChWYWx1ZUVycm9yLCBUeXBlRXJyb3IsIEtleUVycm9yKToKICAgICAgICAg ICAgICAgICBkYXRhW2tdID0gdgogCiAgICAgICAgIHJlcXVpcmVkX2FyZ3Mg PSB7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvaW5kZXhl cy90ZW1wbGF0ZXMvaW5kZXgvanMvaW5kZXguanMgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90YWJsZXMvaW5kZXhlcy90ZW1wbGF0ZXMvaW5kZXgvanMvaW5kZXguanMK aW5kZXggMzI4MzU4Mi4uOGZmODM1OSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL2luZGV4ZXMvdGVtcGxhdGVzL2luZGV4L2pzL2luZGV4 LmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9pbmRleGVzL3RlbXBs YXRlcy9pbmRleC9qcy9pbmRleC5qcwpAQCAtMjM4LDggKzIzOCwxMSBAQCBm dW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEJhY2tmb3Jt LCBhbGVydGlmeSkgewogICAgICAgY2FuRHJvcDogcGdCcm93c2VyLk5vZGVz WydzY2hlbWEnXS5jYW5DaGlsZERyb3AsCiAgICAgICBjYW5Ecm9wQ2FzY2Fk ZTogcGdCcm93c2VyLk5vZGVzWydzY2hlbWEnXS5jYW5DaGlsZERyb3AsCiAg ICAgICBtb2RlbDogcGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5k KHsKKyAgICAgICAgaWRBdHRyaWJ1dGU6ICdvaWQnLAorCiAgICAgICAgIGRl ZmF1bHRzOiB7CiAgICAgICAgICAgbmFtZTogdW5kZWZpbmVkLAorICAgICAg ICAgIG9pZDogdW5kZWZpbmVkLAogICAgICAgICAgIG5zcG5hbWU6IHVuZGVm aW5lZCwKICAgICAgICAgICB0YWJuYW1lOiB1bmRlZmluZWQsCiAgICAgICAg ICAgc3BjbmFtZTogJ3BnX2RlZmF1bHQnLApkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy9jb2x1bW4vc3FsLzkuMV9wbHVz L3VwZGF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVz L2NvbHVtbi9zcWwvOS4xX3BsdXMvdXBkYXRlLnNxbAppbmRleCAyYjFkNWI5 Li40NTRmOTY0IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv dGVtcGxhdGVzL2NvbHVtbi9zcWwvOS4xX3BsdXMvdXBkYXRlLnNxbAorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVtbi9zcWwv OS4xX3BsdXMvdXBkYXRlLnNxbApAQCAtMiw3ICsyLDcgQEAKIHslIGltcG9y dCAnY29sdW1uL21hY3Jvcy9wcml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxF R0UgJX0KIHslIGltcG9ydCAnbWFjcm9zL3ZhcmlhYmxlLm1hY3JvcycgYXMg VkFSSUFCTEUgJX0KIHsjIyMgIFJlbmFtZSBjb2x1bW4gbmFtZSAjIyN9Ci17 JSBpZiBkYXRhLm5hbWUgIT0gb19kYXRhLm5hbWUgJX0KK3slIGlmIGRhdGEu bmFtZSBhbmQgZGF0YS5uYW1lICE9IG9fZGF0YS5uYW1lICV9CiBBTFRFUiBU QUJMRSB7e2Nvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSl9 fQogICAgIFJFTkFNRSB7e2Nvbm58cXRJZGVudChvX2RhdGEubmFtZSl9fSBU TyB7e2Nvbm58cXRJZGVudChkYXRhLm5hbWUpfX07CiAKQEAgLTEwLDggKzEw LDggQEAgQUxURVIgVEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEs IGRhdGEudGFibGUpfX0KIHsjIyMgIEFsdGVyIGNvbHVtbiB0eXBlIGFuZCBj b2xsYXRpb24gIyMjfQogeyUgaWYgKGRhdGEuY2x0eXBlIGFuZCBkYXRhLmNs dHlwZSAhPSBvX2RhdGEuY2x0eXBlKSBvciAoZGF0YS5hdHRsZW4gYW5kIGRh dGEuYXR0bGVuICE9IG9fZGF0YS5hdHRsZW4pIG9yIChkYXRhLmF0dHByZWNp c2lvbiBhbmQgZGF0YS5hdHRwcmVjaXNpb24gIT0gb19kYXRhLmF0dHByZWNp c2lvbikgJX0KIEFMVEVSIFRBQkxFIHt7Y29ubnxxdElkZW50KGRhdGEuc2No ZW1hLCBkYXRhLnRhYmxlKX19Ci0gICAgQUxURVIgQ09MVU1OIHt7Y29ubnxx dElkZW50KGRhdGEubmFtZSl9fSBUWVBFIHslIGlmIGRhdGEuY2x0eXBlICV9 e3tjb25ufHF0VHlwZUlkZW50KGRhdGEuY2x0eXBlKX19IHslIGVsc2UgJX17 e29fZGF0YS5jbHR5cGV9fSB7JSBlbmRpZiAlfXslIGlmIGRhdGEuYXR0bGVu ICV9Ci0oe3tkYXRhLmF0dGxlbn19eyUgaWYgZGF0YS5hdHRwcmVjaXNpb24l fSwge3tkYXRhLmF0dHByZWNpc2lvbn19eyUgZW5kaWYgJX0peyUgZW5kaWYg JX17JSBpZiBkYXRhLmhhc1NxckJyYWNrZXQgJX0KKyAgICBBTFRFUiBDT0xV TU4geyUgaWYgZGF0YS5uYW1lICV9e3tjb25ufHF0VHlwZUlkZW50KGRhdGEu bmFtZSl9fXslIGVsc2UgJX17e2Nvbm58cXRUeXBlSWRlbnQob19kYXRhLm5h bWUpfX17JSBlbmRpZiAlfSBUWVBFIHslIGlmIGRhdGEuY2x0eXBlICV9e3tj b25ufHF0VHlwZUlkZW50KGRhdGEuY2x0eXBlKX19IHslIGVsc2UgJX17e2Nv bm58cXRUeXBlSWRlbnQob19kYXRhLmNsdHlwZSl9fSB7JSBlbmRpZiAlfQor eyUgaWYgZGF0YS5hdHRsZW4gJX0oe3tkYXRhLmF0dGxlbn19eyUgZWxpZiBu b3QgZGF0YS5jbHR5cGUgJX0oe3tvX2RhdGEuYXR0bGVufX17JSBlbmRpZiAl fXslIGlmIGRhdGEuYXR0cHJlY2lzaW9uJX0sIHt7ZGF0YS5hdHRwcmVjaXNp b259fSl7JSBlbGlmIG5vdCBkYXRhLmNsdHlwZSAlfSwge3tvX2RhdGEuYXR0 cHJlY2lzaW9ufX0peyUgZWxpZiBkYXRhLmF0dGxlbiAlfSl7JSBlbmRpZiAl fXslIGlmIGRhdGEuaGFzU3FyQnJhY2tldCAlfQogW117JSBlbmRpZiAlfXsl IGlmIGRhdGEuY29sbHNwY25hbWUgYW5kIGRhdGEuY29sbHNwY25hbWUgIT0g b19kYXRhLmNvbGxzcGNuYW1lICV9CiAgQ09MTEFURSB7e2RhdGEuY29sbHNw Y25hbWV9fXslIGVuZGlmICV9OwogCkBAIC0xOSwzMSArMTksMzUgQEAgQUxU RVIgVEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEudGFi bGUpfX0KIHsjIyMgIEFsdGVyIGNvbHVtbiBkZWZhdWx0IHZhbHVlICMjI30K IHslIGlmIGRhdGEuZGVmdmFsIGFuZCBkYXRhLmRlZnZhbCAhPSBvX2RhdGEu ZGVmdmFsICV9CiBBTFRFUiBUQUJMRSB7e2Nvbm58cXRJZGVudChkYXRhLnNj aGVtYSwgZGF0YS50YWJsZSl9fQotICAgIEFMVEVSIENPTFVNTiB7e2Nvbm58 cXRJZGVudChkYXRhLm5hbWUpfX0gU0VUIERFRkFVTFQge3tkYXRhLmRlZnZh bH19OworICAgIEFMVEVSIENPTFVNTiB7JSBpZiBkYXRhLm5hbWUgJX17e2Nv bm58cXRUeXBlSWRlbnQoZGF0YS5uYW1lKX19eyUgZWxzZSAlfXt7Y29ubnxx dFR5cGVJZGVudChvX2RhdGEubmFtZSl9fXslIGVuZGlmICV9IFNFVCBERUZB VUxUIHt7ZGF0YS5kZWZ2YWx9fTsKIAogeyUgZW5kaWYgJX0KIHsjIyMgIEFs dGVyIGNvbHVtbiBub3QgbnVsbCB2YWx1ZSAjIyN9CiB7JSBpZiAnYXR0bm90 bnVsbCcgaW4gZGF0YSBhbmQgZGF0YS5hdHRub3RudWxsICE9IG9fZGF0YS5h dHRub3RudWxsICV9CiBBTFRFUiBUQUJMRSB7e2Nvbm58cXRJZGVudChkYXRh LnNjaGVtYSwgZGF0YS50YWJsZSl9fQotICAgIEFMVEVSIENPTFVNTiB7e2Nv bm58cXRJZGVudChkYXRhLm5hbWUpfX0geyUgaWYgZGF0YS5hdHRub3RudWxs ICV9U0VUeyUgZWxzZSAlfURST1B7JSBlbmRpZiAlfSBOT1QgTlVMTDsKKyAg ICBBTFRFUiBDT0xVTU4geyUgaWYgZGF0YS5uYW1lICV9e3tjb25ufHF0VHlw ZUlkZW50KGRhdGEubmFtZSl9fXslIGVsc2UgJX17e2Nvbm58cXRUeXBlSWRl bnQob19kYXRhLm5hbWUpfX17JSBlbmRpZiAlfSB7JSBpZiBkYXRhLmF0dG5v dG51bGwgJX1TRVR7JSBlbHNlICV9RFJPUHslIGVuZGlmICV9IE5PVCBOVUxM OwogCiB7JSBlbmRpZiAlfQogeyMjIyAgQWx0ZXIgY29sdW1uIHN0YXRpc3Rp Y3MgdmFsdWUgIyMjfQogeyUgaWYgZGF0YS5hdHRzdGF0dGFyZ2V0IGFuZCBk YXRhLmF0dHN0YXR0YXJnZXQgIT0gb19kYXRhLmF0dHN0YXR0YXJnZXQgJX0K IEFMVEVSIFRBQkxFIHt7Y29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBkYXRh LnRhYmxlKX19Ci0gICAgQUxURVIgQ09MVU1OIHt7Y29ubnxxdElkZW50KGRh dGEubmFtZSl9fSBTRVQgU1RBVElTVElDUyB7e2RhdGEuYXR0c3RhdHRhcmdl dH19OworICAgIEFMVEVSIENPTFVNTiB7JSBpZiBkYXRhLm5hbWUgJX17e2Nv bm58cXRUeXBlSWRlbnQoZGF0YS5uYW1lKX19eyUgZWxzZSAlfXt7Y29ubnxx dFR5cGVJZGVudChvX2RhdGEubmFtZSl9fXslIGVuZGlmICV9IFNFVCBTVEFU SVNUSUNTIHt7ZGF0YS5hdHRzdGF0dGFyZ2V0fX07CiAKIHslIGVuZGlmICV9 CiB7IyMjICBBbHRlciBjb2x1bW4gc3RvcmFnZSB2YWx1ZSAjIyN9CiB7JSBp ZiBkYXRhLmF0dHN0b3JhZ2UgYW5kIGRhdGEuYXR0c3RvcmFnZSAhPSBvX2Rh dGEuYXR0c3RvcmFnZSAlfQogQUxURVIgVEFCTEUge3tjb25ufHF0SWRlbnQo ZGF0YS5zY2hlbWEsIGRhdGEudGFibGUpfX0KLSAgICBBTFRFUiBDT0xVTU4g e3tjb25ufHF0SWRlbnQoZGF0YS5uYW1lKX19IFNFVCBTVE9SQUdFIHslaWYg ZGF0YS5hdHRzdG9yYWdlID09ICdwJyAlfQorICAgIEFMVEVSIENPTFVNTiB7 JSBpZiBkYXRhLm5hbWUgJX17e2Nvbm58cXRUeXBlSWRlbnQoZGF0YS5uYW1l KX19eyUgZWxzZSAlfXt7Y29ubnxxdFR5cGVJZGVudChvX2RhdGEubmFtZSl9 fXslIGVuZGlmICV9IFNFVCBTVE9SQUdFIHslaWYgZGF0YS5hdHRzdG9yYWdl ID09ICdwJyAlfQogUExBSU57JSBlbGlmIGRhdGEuYXR0c3RvcmFnZSA9PSAn bSclfU1BSU57JSBlbGlmIGRhdGEuYXR0c3RvcmFnZSA9PSAnZSclfQogRVhU RVJOQUx7JSBlbGlmIGRhdGEuYXR0c3RvcmFnZSA9PSAneCclfUVYVEVOREVE eyUgZW5kaWYgJX07CiAKIHslIGVuZGlmICV9CiB7JSBpZiBkYXRhLmRlc2Ny aXB0aW9uIGlzIGRlZmluZWQgJX0KK3slIGlmIGRhdGEubmFtZSAlfQogQ09N TUVOVCBPTiBDT0xVTU4ge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRh dGEudGFibGUsIGRhdGEubmFtZSl9fQoreyUgZWxzZSAlfQorQ09NTUVOVCBP TiBDT0xVTU4ge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEudGFi bGUsIG9fZGF0YS5uYW1lKX19Cit7JSBlbmRpZiAlfQogICAgIElTIHt7ZGF0 YS5kZXNjcmlwdGlvbnxxdExpdGVyYWx9fTsKIAogeyUgZW5kaWYgJX0KQEAg LTUyLDE1ICs1NiwyNyBAQCBDT01NRU5UIE9OIENPTFVNTiB7e2Nvbm58cXRJ ZGVudChkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSwgZGF0YS5uYW1lKX19CiB7 JSBzZXQgdmFyaWFibGVzID0gZGF0YS5hdHRvcHRpb25zICV9CiB7JSBpZiAn ZGVsZXRlZCcgaW4gdmFyaWFibGVzIGFuZCB2YXJpYWJsZXMuZGVsZXRlZHxs ZW5ndGggPiAwICV9CiBBTFRFUiBUQUJMRSB7e2Nvbm58cXRJZGVudChkYXRh LnNjaGVtYSwgZGF0YS50YWJsZSl9fQoreyUgaWYgZGF0YS5uYW1lICV9CiAg ICAge3sgVkFSSUFCTEUuVU5TRVQoY29ubiwgJ0NPTFVNTicsIGRhdGEubmFt ZSwgdmFyaWFibGVzLmRlbGV0ZWQpIH19Cit7JSBlbHNlICV9CisgICAge3sg VkFSSUFCTEUuVU5TRVQoY29ubiwgJ0NPTFVNTicsIG9fZGF0YS5uYW1lLCB2 YXJpYWJsZXMuZGVsZXRlZCkgfX0KK3slIGVuZGlmICV9CiB7JSBlbmRpZiAl fQogeyUgaWYgJ2FkZGVkJyBpbiB2YXJpYWJsZXMgYW5kIHZhcmlhYmxlcy5h ZGRlZHxsZW5ndGggPiAwICV9CiBBTFRFUiBUQUJMRSB7e2Nvbm58cXRJZGVu dChkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSl9fQoreyUgaWYgZGF0YS5uYW1l ICV9CiAgICAge3sgVkFSSUFCTEUuU0VUKGNvbm4sICdDT0xVTU4nLCBkYXRh Lm5hbWUsIHZhcmlhYmxlcy5hZGRlZCkgfX0KK3slIGVsc2UgJX0KKyAgICB7 eyBWQVJJQUJMRS5TRVQoY29ubiwgJ0NPTFVNTicsIG9fZGF0YS5uYW1lLCB2 YXJpYWJsZXMuYWRkZWQpIH19Cit7JSBlbmRpZiAlfQogeyUgZW5kaWYgJX0K IHslIGlmICdjaGFuZ2VkJyBpbiB2YXJpYWJsZXMgYW5kIHZhcmlhYmxlcy5j aGFuZ2VkfGxlbmd0aCA+IDAgJX0KIEFMVEVSIFRBQkxFIHt7Y29ubnxxdElk ZW50KGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlKX19Cit7JSBpZiBkYXRhLm5h bWUgJX0KICAgICB7eyBWQVJJQUJMRS5TRVQoY29ubiwgJ0NPTFVNTicsIGRh dGEubmFtZSwgdmFyaWFibGVzLmNoYW5nZWQpIH19Cit7JSBlbHNlICV9Cisg ICAge3sgVkFSSUFCTEUuU0VUKGNvbm4sICdDT0xVTU4nLCBvX2RhdGEubmFt ZSwgdmFyaWFibGVzLmNoYW5nZWQpIH19Cit7JSBlbmRpZiAlfQogeyUgZW5k aWYgJX0KIAogeyUgZW5kaWYgJX0KQEAgLTY5LDE4ICs4NSwzMSBAQCBBTFRF UiBUQUJMRSB7e2Nvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS50YWJs ZSl9fQogeyUgaWYgZGF0YS5hdHRhY2wgJX0KIHslIGlmICdkZWxldGVkJyBp biBkYXRhLmF0dGFjbCAlfQogeyUgZm9yIHByaXYgaW4gZGF0YS5hdHRhY2wu ZGVsZXRlZCAlfQoreyUgaWYgZGF0YS5uYW1lICV9CiB7eyBQUklWSUxFR0Uu UkVTRVRBTEwoY29ubiwgZGF0YS5zY2hlbWEsIGRhdGEudGFibGUsIGRhdGEu bmFtZSwgcHJpdi5ncmFudGVlKSB9fQoreyUgZWxzZSAlfQore3sgUFJJVklM RUdFLlJFU0VUQUxMKGNvbm4sIGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBv X2RhdGEubmFtZSwgcHJpdi5ncmFudGVlKSB9fQoreyUgZW5kaWYgJX0KIHsl IGVuZGZvciAlfQogeyUgZW5kaWYgJX0KIHslIGlmICdjaGFuZ2VkJyBpbiBk YXRhLmF0dGFjbCAlfQogeyUgZm9yIHByaXYgaW4gZGF0YS5hdHRhY2wuY2hh bmdlZCAlfQoreyUgaWYgZGF0YS5uYW1lICV9CiB7eyBQUklWSUxFR0UuUkVT RVRBTEwoY29ubiwgZGF0YS5zY2hlbWEsIGRhdGEudGFibGUsIGRhdGEubmFt ZSwgcHJpdi5ncmFudGVlKSB9fQoge3sgUFJJVklMRUdFLkFQUExZKGNvbm4s IGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBkYXRhLm5hbWUsIHByaXYuZ3Jh bnRlZSwgcHJpdi53aXRob3V0X2dyYW50LCBwcml2LndpdGhfZ3JhbnQpIH19 Cit7JSBlbHNlICV9Cit7eyBQUklWSUxFR0UuUkVTRVRBTEwoY29ubiwgZGF0 YS5zY2hlbWEsIGRhdGEudGFibGUsIG9fZGF0YS5uYW1lLCBwcml2LmdyYW50 ZWUpIH19Cit7eyBQUklWSUxFR0UuQVBQTFkoY29ubiwgZGF0YS5zY2hlbWEs IGRhdGEudGFibGUsIG9fZGF0YS5uYW1lLCBwcml2LmdyYW50ZWUsIHByaXYu d2l0aG91dF9ncmFudCwgcHJpdi53aXRoX2dyYW50KSB9fQoreyUgZW5kaWYg JX0KIHslIGVuZGZvciAlfQogeyUgZW5kaWYgJX0KIHslIGlmICdhZGRlZCcg aW4gZGF0YS5hdHRhY2wgJX0KIHslIGZvciBwcml2IGluIGRhdGEuYXR0YWNs LmFkZGVkICV9Cit7JSBpZiBkYXRhLm5hbWUgJX0KIHt7IFBSSVZJTEVHRS5B UFBMWShjb25uLCBkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSwgZGF0YS5uYW1l LCBwcml2LmdyYW50ZWUsIHByaXYud2l0aG91dF9ncmFudCwgcHJpdi53aXRo X2dyYW50KSB9fQoreyUgZWxzZSAlfQore3sgUFJJVklMRUdFLkFQUExZKGNv bm4sIGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBvX2RhdGEubmFtZSwgcHJp di5ncmFudGVlLCBwcml2LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9ncmFu dCkgfX0KK3slIGVuZGlmICV9CiB7JSBlbmRmb3IgJX0KIHslIGVuZGlmICV9 CiB7JSBlbmRpZiAlfQpAQCAtOTAsMTggKzExOSwzMCBAQCBBTFRFUiBUQUJM RSB7e2Nvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSl9fQog eyUgc2V0IHNlY2xhYmVscyA9IGRhdGEuc2VjbGFiZWxzICV9CiB7JSBpZiAn ZGVsZXRlZCcgaW4gc2VjbGFiZWxzIGFuZCBzZWNsYWJlbHMuZGVsZXRlZHxs ZW5ndGggPiAwICV9CiB7JSBmb3IgciBpbiBzZWNsYWJlbHMuZGVsZXRlZCAl fQoreyUgaWYgZGF0YS5uYW1lICV9CiB7eyBTRUNMQUJFTC5EUk9QKGNvbm4s ICdDT0xVTU4nLCBkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSwgZGF0YS5uYW1l LCByLnByb3ZpZGVyKSB9fQoreyUgZWxzZSAlfQore3sgU0VDTEFCRUwuRFJP UChjb25uLCAnQ09MVU1OJywgZGF0YS5zY2hlbWEsIGRhdGEudGFibGUsIG9f ZGF0YS5uYW1lLCByLnByb3ZpZGVyKSB9fQoreyUgZW5kaWYgJX0KIHslIGVu ZGZvciAlfQogeyUgZW5kaWYgJX0KIHslIGlmICdhZGRlZCcgaW4gc2VjbGFi ZWxzIGFuZCBzZWNsYWJlbHMuYWRkZWR8bGVuZ3RoID4gMCAlfQogeyUgZm9y IHIgaW4gc2VjbGFiZWxzLmFkZGVkICV9Cit7JSBpZiBkYXRhLm5hbWUgJX0K IHt7IFNFQ0xBQkVMLkFQUExZKGNvbm4sICdDT0xVTU4nLGRhdGEuc2NoZW1h LCBkYXRhLnRhYmxlLCBkYXRhLm5hbWUsIHIucHJvdmlkZXIsIHIubGFiZWwp IH19Cit7JSBlbHNlICV9Cit7eyBTRUNMQUJFTC5BUFBMWShjb25uLCAnQ09M VU1OJyxkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSwgb19kYXRhLm5hbWUsIHIu cHJvdmlkZXIsIHIubGFiZWwpIH19Cit7JSBlbmRpZiAlfQogeyUgZW5kZm9y ICV9CiB7JSBlbmRpZiAlfQogeyUgaWYgJ2NoYW5nZWQnIGluIHNlY2xhYmVs cyBhbmQgc2VjbGFiZWxzLmNoYW5nZWR8bGVuZ3RoID4gMCAlfQogeyUgZm9y IHIgaW4gc2VjbGFiZWxzLmNoYW5nZWQgJX0KK3slIGlmIGRhdGEubmFtZSAl fQoge3sgU0VDTEFCRUwuQVBQTFkoY29ubiwgJ0NPTFVNTicsZGF0YS5zY2hl bWEsIGRhdGEudGFibGUsIGRhdGEubmFtZSwgci5wcm92aWRlciwgci5sYWJl bCkgfX0KK3slIGVsc2UgJX0KK3t7IFNFQ0xBQkVMLkFQUExZKGNvbm4sICdD T0xVTU4nLGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBvX2RhdGEubmFtZSwg ci5wcm92aWRlciwgci5sYWJlbCkgfX0KK3slIGVuZGlmICV9CiB7JSBlbmRm b3IgJX0KIHslIGVuZGlmICV9CiAKLXslIGVuZGlmICV9Cit7JSBlbmRpZiAl fQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29sdW1uL3NxbC85LjJf cGx1cy91cGRhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBs YXRlcy9jb2x1bW4vc3FsLzkuMl9wbHVzL3VwZGF0ZS5zcWwKaW5kZXggNTQ0 NTgwNS4uNzdlZjhlYSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL3RlbXBsYXRlcy9jb2x1bW4vc3FsLzkuMl9wbHVzL3VwZGF0ZS5zcWwK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy9jb2x1bW4v c3FsLzkuMl9wbHVzL3VwZGF0ZS5zcWwKQEAgLTIsNyArMiw3IEBACiB7JSBp bXBvcnQgJ2NvbHVtbi9tYWNyb3MvcHJpdmlsZWdlLm1hY3JvcycgYXMgUFJJ VklMRUdFICV9CiB7JSBpbXBvcnQgJ21hY3Jvcy92YXJpYWJsZS5tYWNyb3Mn IGFzIFZBUklBQkxFICV9CiB7IyMjICBSZW5hbWUgY29sdW1uIG5hbWUgIyMj fQoteyUgaWYgZGF0YS5uYW1lICE9IG9fZGF0YS5uYW1lICV9Cit7JSBpZiBk YXRhLm5hbWUgYW5kIGRhdGEubmFtZSAhPSBvX2RhdGEubmFtZSAlfQogQUxU RVIgVEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEudGFi bGUpfX0KICAgICBSRU5BTUUge3tjb25ufHF0SWRlbnQob19kYXRhLm5hbWUp fX0gVE8ge3tjb25ufHF0SWRlbnQoZGF0YS5uYW1lKX19OwogCkBAIC0xMCw0 MCArMTAsNDMgQEAgQUxURVIgVEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YS5z Y2hlbWEsIGRhdGEudGFibGUpfX0KIHsjIyMgIEFsdGVyIGNvbHVtbiB0eXBl IGFuZCBjb2xsYXRpb24gIyMjfQogeyUgaWYgKGRhdGEuY2x0eXBlIGFuZCBk YXRhLmNsdHlwZSAhPSBvX2RhdGEuY2x0eXBlKSBvciAoZGF0YS5hdHRsZW4g YW5kIGRhdGEuYXR0bGVuICE9IG9fZGF0YS5hdHRsZW4pIG9yIChkYXRhLmF0 dHByZWNpc2lvbiBhbmQgZGF0YS5hdHRwcmVjaXNpb24gIT0gb19kYXRhLmF0 dHByZWNpc2lvbikgJX0KIEFMVEVSIFRBQkxFIHt7Y29ubnxxdElkZW50KGRh dGEuc2NoZW1hLCBkYXRhLnRhYmxlKX19Ci0gICAgQUxURVIgQ09MVU1OIHt7 Y29ubnxxdElkZW50KGRhdGEubmFtZSl9fSBUWVBFIHslIGlmIGRhdGEuY2x0 eXBlICV9e3tjb25ufHF0VHlwZUlkZW50KGRhdGEuY2x0eXBlKX19IHslIGVs c2UgJX17e29fZGF0YS5jbHR5cGV9fSB7JSBlbmRpZiAlfXslIGlmIGRhdGEu YXR0bGVuICV9Ci0oe3tkYXRhLmF0dGxlbn19eyUgaWYgZGF0YS5hdHRwcmVj aXNpb24lfSwge3tkYXRhLmF0dHByZWNpc2lvbn19eyUgZW5kaWYgJX0peyUg ZW5kaWYgJX17JSBpZiBkYXRhLmhhc1NxckJyYWNrZXQgJX0KKyAgICBBTFRF UiBDT0xVTU4geyUgaWYgZGF0YS5uYW1lICV9e3tjb25ufHF0VHlwZUlkZW50 KGRhdGEubmFtZSl9fXslIGVsc2UgJX17e2Nvbm58cXRUeXBlSWRlbnQob19k YXRhLm5hbWUpfX17JSBlbmRpZiAlfSBUWVBFIHslIGlmIGRhdGEuY2x0eXBl ICV9e3tjb25ufHF0VHlwZUlkZW50KGRhdGEuY2x0eXBlKX19IHslIGVsc2Ug JX17e2Nvbm58cXRUeXBlSWRlbnQob19kYXRhLmNsdHlwZSl9fSB7JSBlbmRp ZiAlfQoreyUgaWYgZGF0YS5hdHRsZW4gJX0oe3tkYXRhLmF0dGxlbn19eyUg ZWxpZiBub3QgZGF0YS5jbHR5cGUgJX0oe3tvX2RhdGEuYXR0bGVufX17JSBl bmRpZiAlfXslIGlmIGRhdGEuYXR0cHJlY2lzaW9uJX0sIHt7ZGF0YS5hdHRw cmVjaXNpb259fSl7JSBlbGlmIG5vdCBkYXRhLmNsdHlwZSAlfSwge3tvX2Rh dGEuYXR0cHJlY2lzaW9ufX0peyUgZWxpZiBkYXRhLmF0dGxlbiAlfSl7JSBl bmRpZiAlfXslIGlmIGRhdGEuaGFzU3FyQnJhY2tldCAlfQogW117JSBlbmRp ZiAlfXslIGlmIGRhdGEuY29sbHNwY25hbWUgYW5kIGRhdGEuY29sbHNwY25h bWUgIT0gb19kYXRhLmNvbGxzcGNuYW1lICV9CiAgQ09MTEFURSB7e2RhdGEu Y29sbHNwY25hbWV9fXslIGVuZGlmICV9OwotCiB7JSBlbmRpZiAlfQogeyMj IyAgQWx0ZXIgY29sdW1uIGRlZmF1bHQgdmFsdWUgIyMjfQogeyUgaWYgZGF0 YS5kZWZ2YWwgYW5kIGRhdGEuZGVmdmFsICE9IG9fZGF0YS5kZWZ2YWwgJX0K IEFMVEVSIFRBQkxFIHt7Y29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBkYXRh LnRhYmxlKX19Ci0gICAgQUxURVIgQ09MVU1OIHt7Y29ubnxxdElkZW50KGRh dGEubmFtZSl9fSBTRVQgREVGQVVMVCB7e2RhdGEuZGVmdmFsfX07CisgICAg QUxURVIgQ09MVU1OIHslIGlmIGRhdGEubmFtZSAlfXt7Y29ubnxxdFR5cGVJ ZGVudChkYXRhLm5hbWUpfX17JSBlbHNlICV9e3tjb25ufHF0VHlwZUlkZW50 KG9fZGF0YS5uYW1lKX19eyUgZW5kaWYgJX0gU0VUIERFRkFVTFQge3tkYXRh LmRlZnZhbH19OwogCiB7JSBlbmRpZiAlfQogeyMjIyAgQWx0ZXIgY29sdW1u IG5vdCBudWxsIHZhbHVlICMjI30KIHslIGlmICdhdHRub3RudWxsJyBpbiBk YXRhIGFuZCBkYXRhLmF0dG5vdG51bGwgIT0gb19kYXRhLmF0dG5vdG51bGwg JX0KIEFMVEVSIFRBQkxFIHt7Y29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBk YXRhLnRhYmxlKX19Ci0gICAgQUxURVIgQ09MVU1OIHt7Y29ubnxxdElkZW50 KGRhdGEubmFtZSl9fSB7JSBpZiBkYXRhLmF0dG5vdG51bGwgJX1TRVR7JSBl bHNlICV9RFJPUHslIGVuZGlmICV9IE5PVCBOVUxMOworICAgIEFMVEVSIENP TFVNTiB7JSBpZiBkYXRhLm5hbWUgJX17e2Nvbm58cXRUeXBlSWRlbnQoZGF0 YS5uYW1lKX19eyUgZWxzZSAlfXt7Y29ubnxxdFR5cGVJZGVudChvX2RhdGEu bmFtZSl9fXslIGVuZGlmICV9IHslIGlmIGRhdGEuYXR0bm90bnVsbCAlfVNF VHslIGVsc2UgJX1EUk9QeyUgZW5kaWYgJX0gTk9UIE5VTEw7CiAKIHslIGVu ZGlmICV9CiB7IyMjICBBbHRlciBjb2x1bW4gc3RhdGlzdGljcyB2YWx1ZSAj IyN9CiB7JSBpZiBkYXRhLmF0dHN0YXR0YXJnZXQgYW5kIGRhdGEuYXR0c3Rh dHRhcmdldCAhPSBvX2RhdGEuYXR0c3RhdHRhcmdldCAlfQogQUxURVIgVEFC TEUge3tjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEudGFibGUpfX0K LSAgICBBTFRFUiBDT0xVTU4ge3tjb25ufHF0SWRlbnQoZGF0YS5uYW1lKX19 IFNFVCBTVEFUSVNUSUNTIHt7ZGF0YS5hdHRzdGF0dGFyZ2V0fX07CisgICAg QUxURVIgQ09MVU1OIHslIGlmIGRhdGEubmFtZSAlfXt7Y29ubnxxdFR5cGVJ ZGVudChkYXRhLm5hbWUpfX17JSBlbHNlICV9e3tjb25ufHF0VHlwZUlkZW50 KG9fZGF0YS5uYW1lKX19eyUgZW5kaWYgJX0gU0VUIFNUQVRJU1RJQ1Mge3tk YXRhLmF0dHN0YXR0YXJnZXR9fTsKIAogeyUgZW5kaWYgJX0KIHsjIyMgIEFs dGVyIGNvbHVtbiBzdG9yYWdlIHZhbHVlICMjI30KIHslIGlmIGRhdGEuYXR0 c3RvcmFnZSBhbmQgZGF0YS5hdHRzdG9yYWdlICE9IG9fZGF0YS5hdHRzdG9y YWdlICV9CiBBTFRFUiBUQUJMRSB7e2Nvbm58cXRJZGVudChkYXRhLnNjaGVt YSwgZGF0YS50YWJsZSl9fQotICAgIEFMVEVSIENPTFVNTiB7e2Nvbm58cXRJ ZGVudChkYXRhLm5hbWUpfX0gU0VUIFNUT1JBR0UgeyVpZiBkYXRhLmF0dHN0 b3JhZ2UgPT0gJ3AnICV9CisgICAgQUxURVIgQ09MVU1OIHslIGlmIGRhdGEu bmFtZSAlfXt7Y29ubnxxdFR5cGVJZGVudChkYXRhLm5hbWUpfX17JSBlbHNl ICV9e3tjb25ufHF0VHlwZUlkZW50KG9fZGF0YS5uYW1lKX19eyUgZW5kaWYg JX0gU0VUIFNUT1JBR0UgeyVpZiBkYXRhLmF0dHN0b3JhZ2UgPT0gJ3AnICV9 CiBQTEFJTnslIGVsaWYgZGF0YS5hdHRzdG9yYWdlID09ICdtJyV9TUFJTnsl IGVsaWYgZGF0YS5hdHRzdG9yYWdlID09ICdlJyV9CiBFWFRFUk5BTHslIGVs aWYgZGF0YS5hdHRzdG9yYWdlID09ICd4JyV9RVhURU5ERUR7JSBlbmRpZiAl fTsKIAogeyUgZW5kaWYgJX0KIHslIGlmIGRhdGEuZGVzY3JpcHRpb24gaXMg ZGVmaW5lZCAlfQoreyUgaWYgZGF0YS5uYW1lICV9CiBDT01NRU5UIE9OIENP TFVNTiB7e2Nvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSwg ZGF0YS5uYW1lKX19Cit7JSBlbHNlICV9CitDT01NRU5UIE9OIENPTFVNTiB7 e2Nvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSwgb19kYXRh Lm5hbWUpfX0KK3slIGVuZGlmICV9CiAgICAgSVMge3tkYXRhLmRlc2NyaXB0 aW9ufHF0TGl0ZXJhbH19OwogCiB7JSBlbmRpZiAlfQpAQCAtNTIsMTUgKzU1 LDI3IEBAIENPTU1FTlQgT04gQ09MVU1OIHt7Y29ubnxxdElkZW50KGRhdGEu c2NoZW1hLCBkYXRhLnRhYmxlLCBkYXRhLm5hbWUpfX0KIHslIHNldCB2YXJp YWJsZXMgPSBkYXRhLmF0dG9wdGlvbnMgJX0KIHslIGlmICdkZWxldGVkJyBp biB2YXJpYWJsZXMgYW5kIHZhcmlhYmxlcy5kZWxldGVkfGxlbmd0aCA+IDAg JX0KIEFMVEVSIFRBQkxFIHt7Y29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBk YXRhLnRhYmxlKX19Cit7JSBpZiBkYXRhLm5hbWUgJX0KICAgICB7eyBWQVJJ QUJMRS5VTlNFVChjb25uLCAnQ09MVU1OJywgZGF0YS5uYW1lLCB2YXJpYWJs ZXMuZGVsZXRlZCkgfX0KK3slIGVsc2UgJX0KKyAgICB7eyBWQVJJQUJMRS5V TlNFVChjb25uLCAnQ09MVU1OJywgb19kYXRhLm5hbWUsIHZhcmlhYmxlcy5k ZWxldGVkKSB9fQoreyUgZW5kaWYgJX0KIHslIGVuZGlmICV9CiB7JSBpZiAn YWRkZWQnIGluIHZhcmlhYmxlcyBhbmQgdmFyaWFibGVzLmFkZGVkfGxlbmd0 aCA+IDAgJX0KIEFMVEVSIFRBQkxFIHt7Y29ubnxxdElkZW50KGRhdGEuc2No ZW1hLCBkYXRhLnRhYmxlKX19Cit7JSBpZiBkYXRhLm5hbWUgJX0KICAgICB7 eyBWQVJJQUJMRS5TRVQoY29ubiwgJ0NPTFVNTicsIGRhdGEubmFtZSwgdmFy aWFibGVzLmFkZGVkKSB9fQoreyUgZWxzZSAlfQorICAgIHt7IFZBUklBQkxF LlNFVChjb25uLCAnQ09MVU1OJywgb19kYXRhLm5hbWUsIHZhcmlhYmxlcy5h ZGRlZCkgfX0KK3slIGVuZGlmICV9CiB7JSBlbmRpZiAlfQogeyUgaWYgJ2No YW5nZWQnIGluIHZhcmlhYmxlcyBhbmQgdmFyaWFibGVzLmNoYW5nZWR8bGVu Z3RoID4gMCAlfQogQUxURVIgVEFCTEUge3tjb25ufHF0SWRlbnQoZGF0YS5z Y2hlbWEsIGRhdGEudGFibGUpfX0KK3slIGlmIGRhdGEubmFtZSAlfQogICAg IHt7IFZBUklBQkxFLlNFVChjb25uLCAnQ09MVU1OJywgZGF0YS5uYW1lLCB2 YXJpYWJsZXMuY2hhbmdlZCkgfX0KK3slIGVsc2UgJX0KKyAgICB7eyBWQVJJ QUJMRS5TRVQoY29ubiwgJ0NPTFVNTicsIG9fZGF0YS5uYW1lLCB2YXJpYWJs ZXMuY2hhbmdlZCkgfX0KK3slIGVuZGlmICV9CiB7JSBlbmRpZiAlfQogeyUg ZW5kaWYgJX0KIHsjIyMgVXBkYXRlIGNvbHVtbiBwcml2aWxlZ2VzICMjI30K QEAgLTY4LDE4ICs4MywzMSBAQCBBTFRFUiBUQUJMRSB7e2Nvbm58cXRJZGVu dChkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSl9fQogeyUgaWYgZGF0YS5hdHRh Y2wgJX0KIHslIGlmICdkZWxldGVkJyBpbiBkYXRhLmF0dGFjbCAlfQogeyUg Zm9yIHByaXYgaW4gZGF0YS5hdHRhY2wuZGVsZXRlZCAlfQote3sgUFJJVklM RUdFLlJFU0VUQUxMKGNvbm4sIGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBk YXRhLm5hbWUsIHByaXYuZ3JhbnRlZSkgfX0KK3slIGlmIGRhdGEubmFtZSAl fQorICAgIHt7IFBSSVZJTEVHRS5SRVNFVEFMTChjb25uLCBkYXRhLnNjaGVt YSwgZGF0YS50YWJsZSwgZGF0YS5uYW1lLCBwcml2LmdyYW50ZWUpIH19Cit7 JSBlbHNlICV9CisgICAge3sgUFJJVklMRUdFLlJFU0VUQUxMKGNvbm4sIGRh dGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBvX2RhdGEubmFtZSwgcHJpdi5ncmFu dGVlKSB9fQoreyUgZW5kaWYgJX0KIHslIGVuZGZvciAlfQogeyUgZW5kaWYg JX0KIHslIGlmICdjaGFuZ2VkJyBpbiBkYXRhLmF0dGFjbCAlfQogeyUgZm9y IHByaXYgaW4gZGF0YS5hdHRhY2wuY2hhbmdlZCAlfQote3sgUFJJVklMRUdF LlJFU0VUQUxMKGNvbm4sIGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBkYXRh Lm5hbWUsIHByaXYuZ3JhbnRlZSkgfX0KLXt7IFBSSVZJTEVHRS5BUFBMWShj b25uLCBkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSwgZGF0YS5uYW1lLCBwcml2 LmdyYW50ZWUsIHByaXYud2l0aG91dF9ncmFudCwgcHJpdi53aXRoX2dyYW50 KSB9fQoreyUgaWYgZGF0YS5uYW1lICV9CisgICAge3sgUFJJVklMRUdFLlJF U0VUQUxMKGNvbm4sIGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBkYXRhLm5h bWUsIHByaXYuZ3JhbnRlZSkgfX0KKyAgICB7eyBQUklWSUxFR0UuQVBQTFko Y29ubiwgZGF0YS5zY2hlbWEsIGRhdGEudGFibGUsIGRhdGEubmFtZSwgcHJp di5ncmFudGVlLCBwcml2LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9ncmFu dCkgfX0KK3slIGVsc2UgJX0KKyAgICB7eyBQUklWSUxFR0UuUkVTRVRBTEwo Y29ubiwgZGF0YS5zY2hlbWEsIGRhdGEudGFibGUsIG9fZGF0YS5uYW1lLCBw cml2LmdyYW50ZWUpIH19CisgICAge3sgUFJJVklMRUdFLkFQUExZKGNvbm4s IGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBvX2RhdGEubmFtZSwgcHJpdi5n cmFudGVlLCBwcml2LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9ncmFudCkg fX0KK3slIGVuZGlmICV9CiB7JSBlbmRmb3IgJX0KIHslIGVuZGlmICV9CiB7 JSBpZiAnYWRkZWQnIGluIGRhdGEuYXR0YWNsICV9CiB7JSBmb3IgcHJpdiBp biBkYXRhLmF0dGFjbC5hZGRlZCAlfQote3sgUFJJVklMRUdFLkFQUExZKGNv bm4sIGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBkYXRhLm5hbWUsIHByaXYu Z3JhbnRlZSwgcHJpdi53aXRob3V0X2dyYW50LCBwcml2LndpdGhfZ3JhbnQp IH19Cit7JSBpZiBkYXRhLm5hbWUgJX0KKyAgICB7eyBQUklWSUxFR0UuQVBQ TFkoY29ubiwgZGF0YS5zY2hlbWEsIGRhdGEudGFibGUsIGRhdGEubmFtZSwg cHJpdi5ncmFudGVlLCBwcml2LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9n cmFudCkgfX0KK3slIGVsc2UgJX0KKyAgICB7eyBQUklWSUxFR0UuQVBQTFko Y29ubiwgZGF0YS5zY2hlbWEsIGRhdGEudGFibGUsIG9fZGF0YS5uYW1lLCBw cml2LmdyYW50ZWUsIHByaXYud2l0aG91dF9ncmFudCwgcHJpdi53aXRoX2dy YW50KSB9fQoreyUgZW5kaWYgJX0KIHslIGVuZGZvciAlfQogeyUgZW5kaWYg JX0KIHslIGVuZGlmICV9CkBAIC04OSwxNyArMTE3LDI5IEBAIEFMVEVSIFRB QkxFIHt7Y29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlKX19 CiB7JSBzZXQgc2VjbGFiZWxzID0gZGF0YS5zZWNsYWJlbHMgJX0KIHslIGlm ICdkZWxldGVkJyBpbiBzZWNsYWJlbHMgYW5kIHNlY2xhYmVscy5kZWxldGVk fGxlbmd0aCA+IDAgJX0KIHslIGZvciByIGluIHNlY2xhYmVscy5kZWxldGVk ICV9Cit7JSBpZiBkYXRhLm5hbWUgJX0KIHt7IFNFQ0xBQkVMLkRST1AoY29u biwgJ0NPTFVNTicsIGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBkYXRhLm5h bWUsIHIucHJvdmlkZXIpIH19Cit7JSBlbHNlICV9Cit7eyBTRUNMQUJFTC5E Uk9QKGNvbm4sICdDT0xVTU4nLCBkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSwg b19kYXRhLm5hbWUsIHIucHJvdmlkZXIpIH19Cit7JSBlbmRpZiAlfQogeyUg ZW5kZm9yICV9CiB7JSBlbmRpZiAlfQogeyUgaWYgJ2FkZGVkJyBpbiBzZWNs YWJlbHMgYW5kIHNlY2xhYmVscy5hZGRlZHxsZW5ndGggPiAwICV9CiB7JSBm b3IgciBpbiBzZWNsYWJlbHMuYWRkZWQgJX0KK3slIGlmIGRhdGEubmFtZSAl fQoge3sgU0VDTEFCRUwuQVBQTFkoY29ubiwgJ0NPTFVNTicsZGF0YS5zY2hl bWEsIGRhdGEudGFibGUsIGRhdGEubmFtZSwgci5wcm92aWRlciwgci5sYWJl bCkgfX0KK3slIGVsc2UgJX0KK3t7IFNFQ0xBQkVMLkFQUExZKGNvbm4sICdD T0xVTU4nLGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlLCBvX2RhdGEubmFtZSwg ci5wcm92aWRlciwgci5sYWJlbCkgfX0KK3slIGVuZGlmICV9CiB7JSBlbmRm b3IgJX0KIHslIGVuZGlmICV9CiB7JSBpZiAnY2hhbmdlZCcgaW4gc2VjbGFi ZWxzIGFuZCBzZWNsYWJlbHMuY2hhbmdlZHxsZW5ndGggPiAwICV9CiB7JSBm b3IgciBpbiBzZWNsYWJlbHMuY2hhbmdlZCAlfQoreyUgaWYgZGF0YS5uYW1l ICV9CiB7eyBTRUNMQUJFTC5BUFBMWShjb25uLCAnQ09MVU1OJyxkYXRhLnNj aGVtYSwgZGF0YS50YWJsZSwgZGF0YS5uYW1lLCByLnByb3ZpZGVyLCByLmxh YmVsKSB9fQoteyUgZW5kZm9yICV9Cit7JSBlbHNlICV9Cit7eyBTRUNMQUJF TC5BUFBMWShjb25uLCAnQ09MVU1OJyxkYXRhLnNjaGVtYSwgZGF0YS50YWJs ZSwgb19kYXRhLm5hbWUsIHIucHJvdmlkZXIsIHIubGFiZWwpIH19CiB7JSBl bmRpZiAlfQoreyUgZW5kZm9yICV9CiB7JSBlbmRpZiAlfQoreyUgZW5kaWYg JX0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvdHJpZ2dlcnMvX19pbml0X18ucHkgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvdHJpZ2dlcnMvX19pbml0X18ucHkKaW5k ZXggYTYzOWRmMC4uYjNlNGVlYyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvdGFibGVzL3RyaWdnZXJzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3RhYmxlcy90cmlnZ2Vycy9fX2luaXRfXy5weQpAQCAtNTQzLDcg KzU0Myw3IEBAIGNsYXNzIFRyaWdnZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6 CiAgICAgICAgIGZvciBrLCB2IGluIGRhdGEuaXRlbXMoKToKICAgICAgICAg ICAgIHRyeToKICAgICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5sb2Fk cyh2LCBlbmNvZGluZz0ndXRmLTgnKQotICAgICAgICAgICAgZXhjZXB0IChW YWx1ZUVycm9yLCBUeXBlRXJyb3IpOgorICAgICAgICAgICAgZXhjZXB0IChW YWx1ZUVycm9yLCBUeXBlRXJyb3IsIEtleUVycm9yKToKICAgICAgICAgICAg ICAgICBkYXRhW2tdID0gdgogCiAgICAgICAgIHJlcXVpcmVkX2FyZ3MgPSB7 CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9k YXRhbW9kZWwuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy9k YXRhbW9kZWwuanMKaW5kZXggN2IzNzljZS4uN2QzMjZmOSAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvZGF0YW1vZGVsLmpz CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL2RhdGFtb2Rl bC5qcwpAQCAtMTA2NSw4ICsxMDY1LDEwIEBAIGZ1bmN0aW9uKF8sIHBnQWRt aW4sICQsIEJhY2tib25lKSB7CiAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg ICAgICAgIH0KIAotICAgICAgICBzZWxmLnNlc3NBdHRyc1snY2hhbmdlZCdd LnB1c2gob2JqKTsKLSAgICAgICAgKHNlbGYuaGFuZGxlciB8fCBzZWxmKS50 cmlnZ2VyKCdwZ2FkbWluLXNlc3Npb246Y2hhbmdlZCcsIHNlbGYsIG9iaik7 CisgICAgICAgIGlmIChvYmouc2Vzc0NoYW5nZWQoKSkgeworICAgICAgICAg IHNlbGYuc2Vzc0F0dHJzWydjaGFuZ2VkJ10ucHVzaChvYmopOworICAgICAg ICAgIChzZWxmLmhhbmRsZXIgfHwgc2VsZikudHJpZ2dlcigncGdhZG1pbi1z ZXNzaW9uOmNoYW5nZWQnLCBzZWxmLCBvYmopOworICAgICAgICB9CiAKICAg ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICB9LAo= --94eb2c11e7ca240f1105392af6e3 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --94eb2c11e7ca240f1105392af6e3--