Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aiIRh-0003nZ-AS for pgadmin-hackers@arkaria.postgresql.org; Tue, 22 Mar 2016 09:17:49 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1aiIRg-0007ye-JG for pgadmin-hackers@arkaria.postgresql.org; Tue, 22 Mar 2016 09:17:48 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1aiHT9-0003wd-MS for pgadmin-hackers@postgresql.org; Tue, 22 Mar 2016 08:15:16 +0000 Received: from mail-qk0-x233.google.com ([2607:f8b0:400d:c09::233]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1aiHT0-0003vF-NI for pgadmin-hackers@postgresql.org; Tue, 22 Mar 2016 08:15:14 +0000 Received: by mail-qk0-x233.google.com with SMTP id s68so89147208qkh.3 for ; Tue, 22 Mar 2016 01:15:06 -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=4bCQEhNwsfk88MGJO4rXtyPbbFWjxrI87TXdgKVBc1I=; b=Ubu2zWW/mVZNdtxHW6DVdSg1NqQl8EkvHGr73GSKLWNTp0tiSBLagTIX49GRCWc5Zf avY25QAoxjdBXqKiQ8bimqR4FPpQF2tErLw7aRdSUN4BESmtL8S4ZlWNkDFSuVIUA0Bz k1EJvf4U/OrsmxWAS5oWc/9MG66BSINsgpdICCyDH3YYME+AjjzGH7nOObNqLwlYb7h8 cpsOFgNMUbGu4rMQ0hH8DD3+yTNniWBaN3uybcVojj+UwatygXGDFvGnKrZfs1Sk+Tu7 s9hVgfBdwftlTDlKbFfgp4v4BDgwAoJLz03Nh8owalJxTABlIWIw9HQnXW9mqzuWCr6m b2iQ== 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=4bCQEhNwsfk88MGJO4rXtyPbbFWjxrI87TXdgKVBc1I=; b=LqfAQUrrbvQ2XXVSw8s7DSHToa02vs4qjU9PIqaRy0vs1V8z2Wb8CyK9anLBqcFClK Q0iiYsEEBVZRGwDHZBnYwJo186w5e8EQC7P8SgkKoj+lJlDEu/Pyaqd6h2M2ZsvYcQ7/ vUi3oa8BsTK0wyZrnrzTohIP6B3WT50WB5rK9eEmRzDEpP2JjBbuiICr5xgkPvIKytnh eucCFwfp1rEZ8eChnSSSCWhYoIwYIcVgc9kBuZvuDsfpXfPUkT5I2h6mnhMxhb7mjp5v YleSdf2ae9zBWtPcHfi12Oovy1AMJXo3D+nCeABPASN2V/VIHPLkZH4+th4UKurN+mkE ZcAQ== X-Gm-Message-State: AD7BkJJ5bv1m4jl/rpSZYP0CbSGmaJNfGuLSJEtDprc58lZtUj8zgPdA56uN8ClCuknPhKLXSHQVlId7OvmeNN+K X-Received: by 10.55.72.148 with SMTP id v142mr21501564qka.102.1458634505703; Tue, 22 Mar 2016 01:15:05 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.128.132 with HTTP; Tue, 22 Mar 2016 01:14:46 -0700 (PDT) In-Reply-To: References: From: Murtuza Zabuawala Date: Tue, 22 Mar 2016 13:44:46 +0530 Message-ID: Subject: Re: PATCH: Added Node Type & Catalog objects [pgAdmin4] To: Dave Page Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary=001a114a7e94924731052e9ecfcd 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 --001a114a7e94924731052e9ecfcd Content-Type: multipart/alternative; boundary=001a114a7e9492472b052e9ecfcb --001a114a7e9492472b052e9ecfcb Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Dave, We can create new external type using below method, By running all of below queries at the same time , we can not create separate external type by only using create type statement. So as per my discussion with Ashesh, We should not allow user to create external type in pgAdmin4 but only show definition in edit mode. CREATE OR REPLACE FUNCTION geometry_1_in(cstring) RETURNS geometry_1 AS '$libdir/postgis-2.2','LWGEOM_in' LANGUAGE 'c' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_1_out(geometry_1) RETURNS cstring AS '$libdir/postgis-2.2','LWGEOM_out' LANGUAGE 'c' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_1_typmod_in(cstring[]) RETURNS integer AS '$libdir/postgis-2.2','geometry_typmod_in' LANGUAGE 'c' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_1_typmod_out(integer) RETURNS cstring AS '$libdir/postgis-2.2','postgis_typmod_out' LANGUAGE 'c' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_1_analyze(internal) RETURNS bool AS '$libdir/postgis-2.2', 'gserialized_analyze_nd' LANGUAGE 'c' VOLATILE STRICT; CREATE OR REPLACE FUNCTION geometry_1_recv(internal) RETURNS geometry_1 AS '$libdir/postgis-2.2','LWGEOM_recv' LANGUAGE 'c' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION geometry_1_send(geometry_1) RETURNS bytea AS '$libdir/postgis-2.2','LWGEOM_send' LANGUAGE 'c' IMMUTABLE STRICT; CREATE TYPE public.geometry_1 (INPUT=3Dgeometry_1_in, OUTPUT=3Dgeometry_1_out, RECEIVE=3Dgeometry_1_recv, SEND=3Dgeometry_1_send, TYPMOD_IN=3Dgeometry_1_typmod_in, TYPMOD_OUT=3Dgeometry_1_typmod_out, ANALYZE=3Dgeometry_1_analyze, CATEGORY=3D'U', DEFAULT=3D'', INTERNALLENGTH=3D-1, ALIGNMENT=3Ddouble, STORAGE=3DMAIN); Please find inline comment for other two issues & updated patch attached. Regards, Murtuza On Friday 18 March 2016 10:22 PM, Dave Page wrote: Hi On Fri, Mar 18, 2016 at 7:15 AM, Murtuza Zabuawala wrote: Hi Dave, Even after installing PosGIS I=E2=80=99m not able to create new custom exte= rnal type because the SQL does not return any value (Same behaviour as is in pgAdmin3) , But I=E2=80=99m able to list all of it=E2=80=99s properties of external t= ypes same as pgAdmin3 (PFA screenshots). Hmm, I wonder if that's a pgAdmin 3 bug. Please check the CREATE TYPE docs, and make sure the queries we're using are appropriate to find suitable functions. It's possible we've messed that up. I have also attached patch for plain fields control (without lable & border) for backform. (Please apply it before testing new type patch) That looks better. I'll commit that patch. - I'm allowed to edit ENUM label names, but PostgreSQL doesn't support that. This issue still exists. This is working fine for me with same patch, labels coming from server are not editable but we can add new labels (PFA screenshot) I also noticed some weirdness with the error message display - please see the attached screenshots. The one complaining about the missing name is as I'd expect. The second one is showing the error message an additional time. Please look at that. Done (PFA patch for sub node control also, there was an issue with subnode control error handling which I've fixed it, please apply patch then test Type node) I've attached an updated patch - I cleaned up some strings and localisation tags in this version. Thanks. --001a114a7e9492472b052e9ecfcb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave,

We can create new external type using belo= w method, By running all of below queries at the same time , we can not cre= ate separate external type by only using create type statement.

So a= s per my discussion with Ashesh, We should not allow user to create externa= l type in pgAdmin4 but only show definition in edit mode.

CREATE OR REPLACE= FUNCTION geometry_1_in(cstring)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 RETURNS geo= metry_1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 AS '$libdir/postgis-2.2',= 9;LWGEOM_in'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 LANGUAGE 'c' IMMUTA= BLE STRICT;

CREATE OR REPLACE FUNCTION geometry_1_out(geometry_1)=C2=A0 =C2=A0 =C2=A0 =C2=A0 RETURNS cstring
=C2=A0 =C2=A0 =C2=A0 =C2=A0= AS '$libdir/postgis-2.2','LWGEOM_out'
=C2=A0 =C2=A0 =C2= =A0 =C2=A0 LANGUAGE 'c' IMMUTABLE STRICT;

CREATE OR REPLACE = FUNCTION geometry_1_typmod_in(cstring[])
=C2=A0 =C2=A0 =C2=A0 =C2=A0 RET= URNS integer
=C2=A0 =C2=A0 =C2=A0 =C2=A0 AS '$libdir/postgis-2.2'= ;,'geometry_typmod_in'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 LANGUAGE '= ;c' IMMUTABLE STRICT;

CREATE OR REPLACE FUNCTION geometry_1_typm= od_out(integer)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 RETURNS cstring
=C2=A0 = =C2=A0 =C2=A0 =C2=A0 AS '$libdir/postgis-2.2','postgis_typmod_o= ut'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 LANGUAGE 'c' IMMUTABLE STRIC= T;

CREATE OR REPLACE FUNCTION geometry_1_analyze(internal)
=C2=A0= =C2=A0 =C2=A0 =C2=A0 RETURNS bool
=C2=A0 =C2=A0 =C2=A0 =C2=A0 AS '$= libdir/postgis-2.2', 'gserialized_analyze_nd'
=C2=A0 =C2=A0 = =C2=A0 =C2=A0 LANGUAGE 'c' VOLATILE STRICT;

CREATE OR REPLAC= E FUNCTION geometry_1_recv(internal)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 RETURNS= geometry_1
=C2=A0 =C2=A0 =C2=A0 =C2=A0 AS '$libdir/postgis-2.2'= ,'LWGEOM_recv'
=C2=A0 =C2=A0 =C2=A0 =C2=A0 LANGUAGE 'c' = IMMUTABLE STRICT;

CREATE OR REPLACE FUNCTION geometry_1_send(geometr= y_1)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 RETURNS bytea
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 AS '$libdir/postgis-2.2','LWGEOM_send'
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 LANGUAGE 'c' IMMUTABLE STRICT;

CREATE TYPE= public.geometry_1
=C2=A0 =C2=A0(INPUT=3Dgeometry_1_in,
=C2=A0 =C2=A0= =C2=A0 =C2=A0OUTPUT=3Dgeometry_1_out,
=C2=A0 =C2=A0 =C2=A0 =C2=A0RECEIV= E=3Dgeometry_1_recv,
=C2=A0 =C2=A0 =C2=A0 =C2=A0SEND=3Dgeometry_1_send,<= br>=C2=A0 =C2=A0 =C2=A0 =C2=A0TYPMOD_IN=3Dgeometry_1_typmod_in,
=C2=A0 = =C2=A0 =C2=A0 =C2=A0TYPMOD_OUT=3Dgeometry_1_typmod_out,
=C2=A0 =C2=A0 = =C2=A0 =C2=A0ANALYZE=3Dgeometry_1_analyze,
=C2=A0 =C2=A0 =C2=A0 =C2=A0CA= TEGORY=3D'U', DEFAULT=3D'',
=C2=A0 =C2=A0 =C2=A0 =C2=A0I= NTERNALLENGTH=3D-1, ALIGNMENT=3Ddouble, STORAGE=3DMAIN);

<= br>
Please find inline comment for other two issues & updated patch = attached.


Regards,
Murtuza

On Friday 18 March 2016 10:= 22 PM, Dave Page wrote:

Hi

On Fri, Mar 18, 2016 at 7:15 AM, M= urtuza Zabuawala
<murtuza.zabuawala@enterprisedb.com> wrote:
<= br>Hi Dave,

Even after installing PosGIS I=E2=80=99m not able to cre= ate new custom external type
because the SQL does not return any value (= Same behaviour as is in pgAdmin3)
, But I=E2=80=99m able to list all of = it=E2=80=99s properties of external types same as
pgAdmin3 (PFA screensh= ots).

Hmm, I wonder if that's a pgAdmin 3 bug. Please check the = CREATE TYPE
docs, and make sure the queries we're using are appropri= ate to find
suitable functions. It's possible we've messed that = up.

I have also attached patch for plain fields control (without lab= le & border)
for backform. (Please apply it before testing new type = patch)

That looks better. I'll commit that patch.

- I'= ;m allowed to edit ENUM label names, but PostgreSQL doesn't support tha= t.

This issue still exists.

This is w= orking fine for me with same patch, labels coming from server are not edita= ble but we can add new labels (PFA screenshot)


I also not= iced some weirdness with the error message display - please
see the atta= ched screenshots. The one complaining about the missing
name is as I'= ;d expect. The second one is showing the error message an
additional tim= e. Please look at that.

Done=C2=A0(PFA patch for sub node control also, there was a= n issue with subnode control error handling which I've fixed it, please= apply patch then test Type node)

I've attached an update= d patch - I cleaned up some strings and
localisation tags in this versio= n.

Thanks.


--001a114a7e9492472b052e9ecfcb-- --001a114a7e94924731052e9ecfcd Content-Type: image/png; name="Screen Shot 2016-03-21 at 12.47.44 pm.png" Content-Disposition: attachment; filename="Screen Shot 2016-03-21 at 12.47.44 pm.png" Content-Transfer-Encoding: base64 X-Attachment-Id: f_im238lig2 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 0zTXtNb0hhnRzNks02yrWac5au5gnm5ebX7NArVwtOBZbLXomkSY5DKJP6l2 0m1LqqW3ZYFlo2WPFcMq1KrYqtnq5WTDyUmT106+OPmrtYN1lvUu6/s2KjZT bYptWm1e25rbsm2rbW/Y0ewC7BbZtdi9srew59rX2N9xoDuEOSxzaHP44ujk KHTc79jvZOiU7LTF6bazqnOk80rnSy4EFx+XRS7HXT66Orrmux5y/cvN0i3T bY/b8ykmU7hTdk3pddd3Z7nvcBd7MD2SPbZ7iD31PFmetZ6PvQy8OF67vZ55 m3lneO/1fulj7SP0Oerz3tfVd4HvaT/ML9CvzK/DX8U/1r/K/1GAfkBaQGPA YKBD4LzA00GEoJCgtUG3g7WD2cENwYNTnaYumHouhBoSHVIV8jjUPFQY2hqG hk0NWx/2INwonB/eHAEigiPWRzyMNInMjfxtGnFa5LTqaU+jbKLmR12MpkfP jt4T/S7GJ2Z1zP1Y01hRbFucYtyMuIa49/F+8evixQmTExYkXE3UTOQltiSR kuKSdicNTfefvnF63wyHGaUzbs00mVk48/IszVlZs07MVpzNmn04mZAcn7wn +TMrglXLGkoJTtmSMsj2ZW9iv+B4cTZw+rnu3HXcZ6nuqetSn6e5p61P60/3 TK9IH+D58qp4rzKCMrZlvM+MyKzLHMmKzzqQTc5Ozj7GV+Fn8s/l6OQU5nQJ LASlAnGua+7G3EFhiHB3HpI3M68lXxUeddpFpqKfRD0FHgXVBR/mxM05XKhc yC9sn2s+d8XcZ0UBRb/Mw+ex57XN15u/ZH7PAu8FOxYiC1MWti0yWFSyqG9x 4OL6JZQlmUt+L7YuXlf8dmn80tYS7ZLFJb0/Bf7UWKpQKiy9vcxt2bbl+HLe 8o4Vdis2r/haxim7Um5dXlH+eSV75ZWfbX6u/HlkVeqqjtWOq2vWENfw19xa 67m2fp3yuqJ1vevD1jdtYG4o2/B24+yNlyvsK7ZtomwSbRJXhla2bDbcvGbz 56r0qpvVPtUHtmhtWbHl/VbO1u4ar5r927S3lW/7tJ23/c6OwB1Ntca1FTuJ Owt2Pt0Vt+viL86/NOzW3F2++0sdv05cH1V/rsGpoWGP1p7VjWijqLF/74y9 nfv89rXst9y/4wDjQPlBcFB08I9fk3+9dSjkUNth58P7jxgd2XKUfrSsCWma 2zTYnN4sbkls6To29Vhbq1vr0d+sfqs7rne8+oTaidUnKSdLTo6cKjo1dFpw euBM2pnettlt988mnL1xbtq5jvMh5y9dCLhw9qL3xVOX3C8dv+x6+dgV5yvN Vx2vNrU7tB/93eH3ox2OHU3XnK61dLp0tnZN6TrZ7dl95rrf9Qs3gm9cvRl+ s+tW7K07t2fcFt/h3Hl+N+vuq3sF94bvL35AeFD2UOlhxSOtR7X/MvvXAbGj +ESPX0/74+jH93vZvS+e5D353FfylPa04pnus4bnts+P9wf0d/4x/Y++F4IX wwOlfyr/ueWl6csjf3n91T6YMNj3Svhq5PXKNxpv6t7av20bihx69C773fD7 sg8aH+o/On+8+Cn+07PhOZ9Jnyu/mH1p/Rry9cFI9siIgCVkSY8CGKxoaioA r+sAoCXCswO8x1EUZPcvaUFkd0YpgX9i2R1NWuDJpc4LgNjFAITCM0oNrEaQ qfBTcvyO8QKond14HS15qXa2slxUeIshfBgZeaMNAKkVgC/CkZHhrSMjX3ZB sXcBOJ0ru/dJChGe8bdbSaiz700h+KH8G/UKbOB1KFKdAAAACXBIWXMAABYl AAAWJQFJUiTwAAABnmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1w bWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENv cmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cu dzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRm OkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpl eGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAg IDxleGlmOlBpeGVsWERpbWVuc2lvbj4xNDQ4PC9leGlmOlBpeGVsWERpbWVu c2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjkxNDwvZXhp ZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgog ICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgqQOLp5AABAAElEQVR4AezdCWBU 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 E6Yd19tu5psGY4M/XCveN4HAsvBr9YaPSgIjjq0pMSb2812rA1M0mU4Ur9+v nXZn7PfqSj20JDSibu+M73tdXfCaG1ay/2GJ3vSaGs033xLyLrm5Or5X9MB2 WDldMSFu56mFl6HZU5zX1Vrd9tx2rXb++8B8VredUaChtrWnznVOFg3poynN fWZpfJ42He8IIIAAAggggAACCCCAQDSBYCQgWo4OSk/t01v3nVyvm/5tjyzz 6NFFW/WcmV95tnmK4tCepun1HhXvqtZba6odQRLf/KVWkNo/5snbg/5HF2rK +9v9o57qdd9fN2vCsB76+pDu6pnaqDVmSpH5m+oCvc0bUqBxgdGdgeQ2rGTq HDN8e5n/68Br1pdq7rb9mjM+TyNNHw7ur9aiVfu1KvBt4W66+FjH8PEWaszM z/T+4VzszVernzyzVXPMPAkj81NVWXFQ/16zXytC4jHvf7ZHo1LzNa4oo4XS 2R1ZYLvu/uFNGmHOxcBigkzle7erLMLQ95k/+p3OHOKOqA48ba5OfOQDveMt YIPuv/4SLT7jAk0/brR6pR/UZ+++pucWBYOy2dPO08ROPatF4ATWontv054T x3nnEj569hUm6Onue8DMrLgdpEX3/1Af/usMXfD1r6p32n6tXrpQL72zwXHI OF31rTGObVbjKTBxan9NeXJHYHToqjWlumLNHk0fmadj+mfKTGmvyiqPdu0+ oL9vMiOYHZVPnlSoof4pQdpzvR0zoZeGrvHPha1GM1p1sz40015MPzJLaWYu 9n9/tFeLy4PB3wlf6ROYEiPbDK0vMq3yPqTRU62bnt6mK0/qqSEZTdqyY7+e WxP+jAJHF+KwGmzXq8u2ac/GLO/PwVETi3RiyNQRzocl2hVPGVcQ881J+5iu +B6v89Sy6zmsn35aulV3rfHfJPDU6ufm3wdD+2Rr+ogcDelhpo5pTNcI808O 3wMV3eLXnGoeetnMUrxml24rTVf3Zu/bNWmvJ03XnT1QI6JfLpuphV0IIIAA AggggAACCCCAwKEt0GkD1BZr/5H99NuM3bpjSWUgEFJZXqMnHHM/hvLPMEGS HBMEfsH/4KPg34SZJrBVqNK/lvrmNzUHrtpkAsPmFbZk5eiuqcFoYEzzmoYU EqzX9OPoAbqlfJt+td7/B3BNrea/Hz5i1ipi+lcHaFJuK0ZcmdFds82ox/u2 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 riUxks2Yapw+nZ19Dkrynfd2Lm1yrsXcnHld4czrWGdevse4v1Kfby7VktLY daI9t/FDcjQ+r6evjWa5xhyYvRF6RyRnzhHvqX8spozr3bBVw/bOu+r47Ktx l/VfM8Wskf/9cJ5DstOX8w5tdN6huRHvUFiz7pNmviPuqhwjgAACCCCAAAII IIAAAggggAACCDRPwGZJ272pbY/tXjqghXP+FN7wX+Zq+S2X6AwncGbK2aCw KdS9u41FDdcT7z+rsc5f67dLdlQdKNGGFQv05L/+Ssudsns/eVz/dF+23r/n An+wu5vHRK982/Drn9ALN46V1669661SyY4NWvzKk3rgJVN7n5647YfK/N+5 uuSYUHjYjtvuA80lfBcaQcK7im8HN11doJnD/BHDpa99olWDR+i6USYkGr7d +h2vlr6zVNctKAvdyMrTm7eP9C/dUL1TN9z9Ny0J3Q0eZQ0frve/d7zvIVdt XKWxvy303Qvve5E+HnSybh2TGaxnD+6sLNOv7v9Ez/bN0+vXjXCClPY1sSWk n5U5AePf/E0vRssgz8jSk9eeorNz66/Wbeb15ScrNe318NTfq789QXeOMdHi Gj1+93v6+NST9djkQcoMvN/erXWBAHWSbrpijGaMy4m57k1VWbGeeGqZnjXR f7dZaPg6eeK5WjXRf+HLNxdqmvMBy1HjT9GLU/r7Lpat/EwTXgwfo7Jy9Mz0 kRrXv/68TKUDu4v1wv9+piciPr4YNobKHbrzxTLNnD5Cean+/t3//NnubfrZ oyv0lv2lgvtmHI4LCsbqvyf6PwSp6mLnHVoW9R0yXd176yWa0t//7A+s+UJn Pr9HT84q0NnmMTmLobz3QZFOPud4DYgyj1mV+/TGn/6mu1eE/7LD1PRtLXhH bFX2CCCAAAIIIIAAAggggAACCCCAAAItE2hKENe782PNCazYMfP+WVp652wn uLxWf/pgs8ZNOc7XcVg7/sRr3/VkjxO29f+v77xXnwE65byr9eTisbr3H76j eSbU+Zefa9708ZpynG+9Dl85/z/8Sa4e04bZPL00IP8UXXX7kxo99F59Z/Y8 5+I+/edv5mvCLy5VqhMob8utfsS0LUfTrL5DS0uMm3JW1OC0vzmPxk08S0+e 7kp/dZKWg0snO8m6lTH6zc3q4f8NhHPf/rbCX9Td97lRg9O+cj0zdes9E7Xs lpFRg9OmTFpmf93549Ea5W849M8Bx2nBrPFRg9P+Qh6dfNYYfTTjuFAd5+io dBvlrNWg807V81NCwWlT0Os1Y0/SrJkXaWYDwWlTNi0zR7f+63hNMidN2Pyv fnjB5PTwq1lDTtCnt4+NGZw2tXsdnaOZt1ykX58esSq5+7n1HKj7b4genDZt pB19jO7/6Whflr05j/e2YONe3zrbvnZTc3T1cPsbroieMnJ1TiA4bd6i9xZu 9xXo6StunkWaLr4wenDaFPT07K0p3ynQCwVH+eqF/aOF70hYG5wggAACCCCA AAIIIIAAAggggAACCMRFwAabzd78+fvbr8r57J6zTdY3L7pUkyf4u/n0+T9r d6CMLeur64oT11SUa//+/SovD+wPVKiqulaH0obq9kdu9Tfk/PPVBet9ffnq 26uHaiLqHlBlZZVqnLjg0Mtv063DAwU/fUNry0NxTlu9tfftIkDtCh0f0fy9 5WVONuoq3f/8Mv1xZWlYUPnsC4YoK1rrMeKKvqLBKHa0iuHXqpys3z++9pnu f+0rfVnmerDO+i82T7ho7WY9/ocl+tVr68IffsYxumG4WyFTr//zCGUHu3Cy pT9b59Rdpmec37AUuiLqmcNG6JVL3MFL23e6Jl04MBhgN0uelJVXaMOuKuWf PkrfHhRKnq8qC7j94TM9884GrS1zheOTsvTt8U6g2PmXYMXGUn25dqfTv+3D GWDdPi1dW6wv12zQQ072dIObE8idc8PQ4EcHTdmy7Tt8br968yst3equ79H5 V52lW6I+NHcvh7RpzWY98/Iyx76+662xAsfuJlpyvHWTFrmS8k8/JzdqK+PH Dgw9x/Kd+t1WfzH/qxX+r5+1uP/lVXpv7b6w9k6deKZmDXBfOpJ3xN0Oxwgg gAACCCCAAAIIIIAAAggggAACzRUw60uboLDd2wCx3cu7Ra/+3p8+nXfNN3V0 VZ1Ov3Kqv5t9L+mDDVUNdmnbCe4P1amm+qAOlFcqeUSBpgYWc9j25d/ljqj5 G/VHukN1DzlJqzWqqnQC1TU9VHBdYBxONvdXhRW+Odh52L2t2+Ag43QzFKWM U4PNbyZF19w+Sdc0oeKBtat05rOFUUuWrV2tCc9uCd1bU6x5hafpxUv9S00o s4/GO3ffCpWI21HJyi9U8KI/M9Y0+uKSEr1y77kaZpOZneDwwpcX6p+X22Ua SvXskt16/T/PUn4gQH50lsk09q9HfcUVTsZ1MHBerscf/EhPmGU2fFuxHnl3 re6dWaApg/xB7WHnD1fBu0u0wBYJ2x/Slx9+obveLgquxX3TjNHBEge2rtOZ j68PnktFemTBBt1/60Wa1N//eiSbNZGrS3Xjb/2DmPG9C53ftPjD7ktf/VTX LY+9ZrSrYV19+XC5Y6yfv7NI0xfsDxZ5dtFGjTr9ZD1/1aBAYD1N374iT48E llYJFgweVOmPj3+g2YGgr1Ts2G/TM/cUaFxgTfm845zg/RpXJDlY90gP6vS7 j3fq4sD71Wtwnq5QoeaGNZukqacdHbyyaenm4DMIXgwcrP3wE135dmicLy4v lMk2fzMY0PfosimDNfvxjb4a8X1HIkfDOQIIIIAAAggggAACCCCAAAIIIIBA QwJ27Wi7jyy7b+WftTBwcdo/DFdNTbV6nzJJp+sl3xrSc15drqt+enZYNVcC tS/47Xy20Lc3fZjNBI27OSm5FZWpOtoE2UwoabdXtYFsbFPGt0We2+vOvvZg hVKzQvGqCm+tbx1sU8TXvtNXawanTb/hKZzmSjvePGkxhltXpgfcwenAHFYu crKZqwMnSelyvp8Y/61yp25xBaf9HezXB1tCvwXxbt/gCk7bIZRp/oZoH0jM 1PTTMmwhLX15iSs4bS/X6e7H/6q1wbllaUqMTOEv3/lI01zBaX8LoQzo9Z9t s4269nVat8eVRe26Yw5d35dUzx42PzyiUL3TLH1ndHrw6oG1X4QFp+2Nlcu/ 1OzPQgty9xqcr5tCHLaYb7/pw2Wu4LS9dVBPLSq2Jxp4TIzKwRItP1i5aJMr 4Nxbl5lMc/eW0V+nH23f2Qq9/mEoGO8uVrX9q7DgtL1XumG97vowFLROG3Ss Zvh+6RHfd8T2xx4BBBBAAAEEEEAAAQQQQAABBBBAoGkCNtPY7k1QN/SnSot/ /7K/obzrdf6x3VTrZFzXdBumaZP9qc/75s/VygPuOs5xsGtzFMrONn3YfnzH NckafmZgnY5u3ZXs6ztY2ddOaCwRfRw+pOSs4bKrfCR170YGtaGrqqwJW44j xBk68iQd0pKlu0IXXEdVW7bFyIw+pEpXcm+0cLCrmRYdlmzYoZWN1Nz4VfRx m2U36m0ZGcqx2dPO8hnLS5I1flCaAgnBweKVB+p8S33YLO0Rp+Y4mcJFwfu+ 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 Sq599GkaN26o/Eux1y9urvTqP1DX/KNHHy1f5lsP+501uzVzmB2LRwP6+0dZ m2WeqvNihz1cd5ulmvTIai24ZYScv6Hg29KOztIkV5ZwqHSN3nr+k/Ds7sj3 JlS4VY7c70/9DmvCPpZo7pet3aq59Qu6rphfyoTe47TMTF18ofPHVcIefv7O x7p7azDt37mcwHfEdsoeAQQQQAABBBBAAAEEEEAAAQQQQCCqgA3k2r2zVIEm P7RE03v6Y25V+3b7l95waofKhJqqdpJ1L3v4PV1uLh2q0u7d+5U8/XEt/4Fv fdxQwahHh1VVvlf7Kmt8wW+zbrSSBur295zk0ajlIy7WValsz37V+peeDt40 4wwF3IOXE34Qio4lvCtXBweq1LJVGw5pn/lInLOt3xZqwX/F1X7Uw4Pa7l7L eOt6ffv5dSpy1nu2W+iDmodUuGa1rn78K1+2sblfXlplizW776aML7JM6YaN mjB7iT7eHusDgV5tWvOVbrh7iea65hAcpHMQ2ab/Xp3ufvQjvbY25Kc6V/Z6 nbNcyNIvdP7dy3x/xSDU3qHgXxPYtGS1fr+yTFXues5fWNhQ6Dc6sN/1QcQQ qr+poi0quPsTvbexPPTRRLn6d45Ltm/T/Q++pzvX+H+LExxDabm227m6Y7XB AvUP3M+t/t3mXKlVecRwImuvXLRVoUT2Q/rkg+2RRSLOzb9+Ffr988u0cHvo /XIXqiov0x+fd9YXXxBaD8jej8c7YttijwACCCCAAAIIIIAAAggggAACCCDQ dAETzA3/000pKYGE0MM1qqyqi7jvjwYHg9V11TroDUSIuycruVtEtDhyKE5/ h+q8qqo8oD0lxb7gtCkSbO9wnWxzkVX95Q7JW1OlA/v2aJezLEiN82HE8PGH gtMmSF0/6ztaq/G51m3jxo1hs3/55Zd9Ld9xxx3N6mHkHW81q3x7KjxqUKZG ptdpVVmSRjrJwJ9uLNMmGwhtDwNNTVHB4D7KrKhQWXq689G8Kn26Zr82HenY nHYnDc7QwV2V6nGMk8K+t1xvudeyTu2hq0f2cX7/U6ctm0u1oLSJUeEmj8uZ 15AMZdZWantyhganOPPa6MyrPdk3eS5SlrMu+MLvDPLXKN+my2aviPGMeuiZ ewo0zvf3Nmr0zOz39Ij5fYHjPWlwT/Xp6eRq19Zo47a9WtJU80S9I82YP0UR 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 QIAAAQIE+lagHwLqxvjdT8tvKzfMiE/NOj0OGdMQw4bVx6ixk2PGlVfHxPI9 3ve7P3Z6t+ffMD/OmTo5mz+6vmFsTJ1xRcy7cGql7I1f/1l5e3UsvnFZebsh Lr3pX2P6CZOiIZl3OrvunKvjiqnl07E07n64Od+xJkCAAAECBAgQIECAAAEC BAgQIECAAIF+FuiHOagb4szPz44Jj6+Nvce/PPL3pUv32RwP/89PK29X79nZ zU+9NN50SMcvURx/6ntjWhJGL06y78ald8TjF5wQY1f9IttPq2k4eVacNLbj 7b1y1g1x6WH3x+qNEeN9X2Jn4o4RIECAAAECBAgQIECAAAECBAgQIECgXwQ6 Jrh90GzD+MkxdXwSJK9aEctufTB++5vfxspHH47lK7ufZGPKyw6Nzjs5Jl57 5sRYPC+dPOQP8X8bIvZ99plK79/w+qMq29UbdQ2HxEnTD6k+ZJsAAQIECBAg QIAAAQIECBAgQIAAAQIEChDoPPvt5Y40r7orrvzA5XFPeaaPnlT/4gn7dln8 z4+m4XRpGZyuqu5myOCqnXIZKwIECBAgQIAAAQIECBAgQIAAAQIECBAYOAJ9 n+I2PxxXnp2E0+V7bjjy5HjbG0+IyQcdGPvtu3+MqnsoLjhtVizvwmT9s+k8 0R2n+EiL77FfOnt1KaRuSQ9ULy2t1XtV263R1JS8bp0suw+tj2F9L1DVtk0C BAgQIECAAAECBAgQIECAAAECBAgQyAX6/EsSmx76cSWcPnLGZ2PR5z4S0086 ISYdMj5GNSSTQO8e8Vzem07WC751f3QeNa+On3wvf4N6n9h7aFrVkEoNy37y u8p29UbTgzfFaaedln2++sA2vNJdXZltAgQIECBAgAABAgQIECBAgAABAgQI ENhmgT4PqKOuLTQ++rgXd+joim/fXPmSxKp8ua3cPdfEd1Y0te2Xt1Yvu6Xy hYgx9TUxPnkTetihR8eU8vlVi+fFXWtrL2uNuxctKR9siMMO7PzN7Nqr7BMg QIAAAQIECBAgQIAAAQIECBAgQIBA7wv0fUDdurHS63mXfTruenh1NDU3xdrV D8etcy+I8+bmk38kb1KvXRsdo+iI68+bEfO+/2CsbWqO5qa1cf+ts+NtVy6u 1DvzrONL00/XHRJvOyed9iNdVsblZ10Qtz74eNJeczStfTgWfPr9cc2y8lvT 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 mQsIECBAgAABAgQIECBAgAABAgQIECBAoDcEBNS9oagOAgQIECBAgAABAgQI ECBAgAABAgQIEOixgIC6x2QuIECAAAECBAgQIECAAAECBAgQIECAAIHeEBBQ 94aiOggQIECAAAECBAgQIECAAAECBAgQIECgxwIC6h6TuYAAAQIECBAgQIAA AQIECBAgQIAAAQIEekNAQN0biuogQIAAAQIECBAgQIAAAQIECBAgQIAAgR4L CKh7TOYCAgQIECBAgAABAgQIECBAgAABAgQIEOgNAQF1byiqgwABAgQIECBA gAABAgQIECBAgAABAgR6LCCg7jGZCwgQIECAAAECBAgQIECAAAECBAgQIECg NwQE1J0qtsb9t86PeQuWxdrWTgt0erB19f0xf+68WLZibafnHSRAgAABAgQI ECBAgAABAgQIECBAgACBNoG6ts2+3GqOZfOujx+vao6xx50d55w0vi8b66Tu Hrbf9EB84bp5sSqpaeOko2Lm5IZO6ux4aMWtNySh9sqI70Ucteic2LqrOtbj CAECBAgQIECAAAECBAgQIECAAAECBHYFgX56g3pTrFq2NJYtWxbLnny2ANce tN+6KuZf/uEsnE47OmQre7v63nkxa34STqfLmCHRT8l/qT0/CRAgQIAAAQIE CBAgQIAAAQIECBAgsAMK9FuOOmTPkk551e9UW2q/8fH7496HnorVj9wX30ym 9Wjcmt61Nsb9//PLeGrdqrhv6Tdj2cqqq57bmgqUIUCAAAECBAgQIECAAAEC BAgQIECAwK4t0E8BdWts3Ern1qbGWPvMs/F8a2vU7TEy9h/TsIW3kVujqbEx nnk2fSt7j9hrZEM01A/rpKUtt//ED78Q18xPJ/TowbLhkfjClVdW3rTuwZWK EiBAgAABAgQIECBAgAABAgQIECBAgEAi0LcBdfODccEps2J5FfXK+bPitfPT A0fG7CWfi8n15ZONK2Le7Nkxf1l5moz8moaJMfPSj8X0Y8fmR5J1U9y14Mb4 8tzFHQPi6vJb2f4eY14WYyeOjtH5693PPRbLq9+Irmq5srn73vGyiROTa/KL Ih5bvnzr3r6uVGKDAAECBAgQIECAAAECBAgQIECAAAECu65A3wbUSf7d9WwX j0VL2b111bI45+wu3kZuXBlzLzk7Hr/0pvjISWlI3RTfv3JGXLOsakqN6udX Lr9x9qKYcejWtX/IqbPiplPbKml9eEH89blz2w50tjXskJg1t7pMcyyYeUrM rcnXO7vUMQIECBAgQIAAAQIECBAgQIAAAQIECBDo6zeoh02KT82bE088uyrm zLom0ux27NSZcdFZk6Ll+bo4eGj6CFbHnKpwesqMK+Ifz3x5jIz18bv/uSU+ fN3i7DktveYDcezRC2PqsN/Ff+ThdMORceHl58cr/2rfiOY/xb2Lb0im6rgn Kz9vzvfijLnTt6L9rHi7HxtatnZCkurLNlXv2CZAgAABAgQIECBAgAABAgQI ECBAgACBbgR26+b8dp9uGD8pJk9+Vbz2yFJVe06YHJMnTY6jj54UDcn722vv uiVKEXTElPPnxNXnTI2xDfVR3zAmjk7ebF702RnlPjTGLYtXRNMT/9s2rcek t8apR49P5p2uj4ZR4+Okc66OS6eUi69cHk+1RnTXfrm0FQECBAgQIECAAAEC BAgQIECAAAECBAj0s0CfB9Sl+0neLs7n+tiYpMaVpTXuv2NZeW9KnPumSZUz +UbD0W+JcyaW9lYu+3m0jntxpBN9ZMs918SnFyyLx1c3Rl7rSVfeFosWLYyF Cy+OsZUJTLpqP6/ImgABAgQIECBAgAABAgQIECBAgAABAgT6W6AS4fZ3w6X2 NsTqP+RzSd8T5/z1GdGQnsh+5D1qjMa8yKp745E4M96UvI09N/vmxcZYOvfK 5JOWHRtHTj0+Xve6Y+OYI4+OMe3qyOuyJkCAAAECBAgQIECAAAECBAgQIECA AIGBIlBwQB0xpJ1EEkan+3kg3e5cupO+ht0Q0z+3JA5ccGN8ee7ituk+kq3l yxZkn7TkyRfeEB859ZB000KAAAECBAgQIECAAAECBAgQIECAAAECA1Cg4IC6 NTbmU3+MPTmuuuiNsUdLSwemwYP3iLqkp63PR4zLvlixPk6YPiv5vDfWrloV jzz867j/3nvje0vvqWTbS687Nya+5LY4ffywDvU5QIAAAQIECBAgQIAAAQIE CBAgQIAAAQLFCxQcUNfHQYcnc3GsSl6ZXtUcB06eHOM7MVn94F3xwKrnYtSh x0bDhlVx149+FetiREx5zQkxauwh2efYqafHzAsa466bPh6Xz8/m/4gf3/tY ElB3nNe6kyYcIkCAAAECBAgQIECAAAECBAgQIECAAIF+Fuj/gHpIdZN1cdgJ UyOWLk5ue1lcv+Cs+Nz0mkC5dUV8atblkUXOR54f//43K+Pya5ZmTDMPui2m H1L1hnRdQ5xw6hsjygH1c+2+kLEs26798jErAgQIECBAgAABAgQIECBAgAAB AgQIEOh3gd36q8WN5YZWfnNhfP/e++P++1dEY2vEqFdMi6nlc8vnnhcXzL01 Hl7dGM3NTbH64Xtj9vvPK4XTSZnpM14TY8ZPLJdOvijx3A/G/GUPxurkWxSb mhpjVVr+n66pnD/yxeMq2121XylggwABAgQIECBAgAABAgQIECBAgAABAgT6 VaD6deY+bbjyZYiNy+KaS5YlbTXEZ5csiqPrx8eFc86PZeddn7W/fMF1cW7y 6bCMPSfednRDDIs3xRUnfy2uXJp+k+LKmHflrJjXoXByYOyMOOOIZPqQ8tJl +50JJMH5tix5CL4t17qGAAECBAgQIECAAAECBAgQIECAAAECu5pAP71BXR9/ 87GrYsrYtsA44qjYe/cSd/2k0+O2mz8b044c24l/Q0ybeW0sumlGEmmnS11M /cj8uHbmtPJ+7SUNMXX6pbFw3jkxphI+b7n92hqG7jc28p5Ugu3aQh32h8ZB k8pX7dnhpAMECBAgQIAAAQIECBAgQIAAAQIECBAgUCMw6JFHHtlcfWzhwoXZ 7sUXX1x9uNvtRx99NCszevTobstuqUBrc2OsXfNstKSFBu8Ro8eMSt6a7mpp jaZkeo9nnn0+KTs49ho2POob6pMI20KAAAECBAgQIECAAAECBAgQIECAAAEC vS2wZs2arMoJEyZsVdWbN2+O9LNp06ZoaWmJp59+ut11Ay7LrRvWEGPavWnd rr81O3VJID0q+dQctkuAAAECBAgQIECAAAECBAgQIECAAAECA16gn6b4GPAO OkiAAAECBAgQIECAAAECBAgQIECAAAEC/SwgoO5ncM0RIECAAAECBAgQIECA AAECBAgQIECAQElAQG0kECBAgAABAgQIECBAgAABAgQIECBAgEAhAgLqQtg1 SoAAAQIECBAgQIAAAQIECBAgQIAAAQICamOAAAECBAgQIECAAAECBAgQIECA AAECBAoREFAXwq5RAgQIECBAgAABAgQIECBAgAABAgQIEBBQGwMECBAgQIAA AQIECBAgQIAAAQIECBAgUIiAgLoQdo0SIECAAAECBAgQIECAAAECBAgQIECA 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 ElBvb6d79/on4s9dZuTD4pjTZ8SBLxoXDSPGVk1U0rs96Hlto+Pt//TxymUP Lf5xrK3s9e5Ga/Llk18v59Av/ZvXxOFTXhMvLTdx+40/qEzTsU2t1u0TL6rM mlL1V4ttqsxFBAgQIECAAAECBAgQIECAAAECBAjsaAI7RkCdzEXd3VwkVdMP b8UzGBb7HTiyUu6T518VP39sXWW/euPA154f//71b8TCJZ+Mw7qaRqP6gqrt IYO763VV4Z5ujj0u3p6Hu+vuiyd6+Hb31jb3YGUqlJHxpqkTkssmxptOKds9 +aW4e9WW33seMrjrOUAa71sS3yiH3w2TD9vil2BubX/zcn1qnzdiTYAAAQIE CBAgQIAAAQIECBAgQIDAdgn0YYK6Xf1qf3HTqnhgxcrYK1raHy/vpRnoT75d msu40wIdDtbFcW85O+KO2aUzTy6Jj56dzDU9YlL89clT48gjJsehhx4Sf7l/ 25cPdqhiKw78YcWD8UjyJYUtXWS4rS0tMXLC4XHg8G15DCPimJMnxdf/bUXW k6rvgtyKnm1lkdaV8d+3lKdCOezsOGb/Uj+POfWtEbd9KatkweLl8cbzOp8i JS2w4uc/SwxGVxkkPW1ZG7/+wTfihkU/ScyTQuvGxfv//oSsvt760bf2vdVL 9RAgQIAAAQIECBAgQIAAAQIECBDYtQW2JRntf7E0QD639GWFvdV4/aR3xL9/ ZmN88KIvtU1TsW5F3H5L+im3MmJcnHjyW+LMM0+Lw/bv+k3grvp0++dnxe1d nSwff/MXbo9zX7ZtQXhd5SsFV8QvHl0Xhx/Ru49z7U8Xx8/K/Tzxza+utFZ/ xIlxYnwp7kzO/f6Wm+OR9x4TB3fR9M/+7aL42b91gZCF0xGHfuxf4sRy+N1F yR4f7mv7HnfIBQQIECBAgAABAgQIECBAgAABAgQIdBDYMab46NDt3jlw4JS/ j4U/uj0+d/VH482nvKrjFBPrnog7b/lMnH/Wq+OT2/BFhL3Ty62pZWQctF8P 5x/pttr18aObFpZLvSrOfF0+n0h6aEKc+Q/5W9M/idt+uqbb2jotsK509KFP TIt/+d6jnRZxkAABAgQIECBAgAABAgQIECBAgACBnVegi/deB9gNv+jd8e83 vDNGtDZHZ7Nl1A2ri/+df1589Gul6S561Pu6EXH4q6Zln3MvbY3GNU/Fkw// On5x9w/i6+kUFOXlzjnnxr7jb4tzp4zOD3W7fvPV34x3HjUymls763Xp8mHD t+3t6fTq1o1N5T4cHKO2aZqQ8uWdrZ6+J/7rt/mJn8Q3v/zl2Dc2lA8MjT8t bZtSZcnCH8W5rzorhubFq9adGiQe659dHQ/cNi8+f0vJeMkn3hdHvPTWXnuT utN2q/qVbm6PfU1VdgkQIECAAAECBAgQIECAAAECBAgQ2AaBHSOgrh8SI4YP S6aY6Hqajb2GJN+k2IOlKQmi1ye58fARB0R9pdq6aBj9ouxz+JQ3xrv+8alY fO0HYs4dpXmYv/GV78U7pryjMtVFd80NaRgZQ4cP7zS47e7a7s+viV/8MA/k m7qYnbv7Wroq8evb/6Nt6pOk0J23fKWrohG/vDHuefqMTsPlrgwaRo+OA8+7 Lg4adWGcPycNqZ+JBbf/Ok48+8iu2+nBma7a7UEVihIgQIAAAQIECBAgQIAA AQIECBAg0McCO8YUH/mLwr2EseGh/4wzzpgWf3fWtPjP35Tnmeis7mEHxLR/ vjpekZ9r2tjpG9z56Y7rrt+c7li2Z0daV90VX3+yfM2Il8W4Xp3h48lYWv7y xbSFQw87JvlMqvkkxyqzfpTC5c7vYMsGh7zi1W2XbWzb3P6tLbe7/fWrgQAB AgQIECBAgAABAgQIECBAgACB7RXYMd6g3t67rL2+bkjlyE/v/FXyJYUnVvY7 buwV+6WzcGwhx+54TV8fWRcLPv7JSiMv/fuTY1Rlb/s3Gu+7rfLljge+9Ysx 57x8vumautfdGX9/2kXx++TwQ/+2JH6fvP18YE2R7nY3NP9fpchzlS0bBAgQ IECAAAECBAgQIECAAAECBAjsCgI7xhvUvfwkhh7w4ji0XOfvF10UX73nqS5b WHvPt2NJHk6PHr6FSUY6VjFkcGXukI4nuznS1bWt61bG1y9+S3y1Mj/0pHjn X0/spraenG6Ouxe0Tecx/ZTDu754xCvi9KPy00vi1vtyqPxYRFf3USrxVCz8 3JcqhV8yYUxlu7KRTO+yLX9F2XK7ldptECBAgAABAgQIECBAgAABAgQIECBQ oMC2ZH8FdreXmh72krjgQ6+K932+9AV9X79oWvzmjFnx9tNeHRMOGBl16Zf4 rf99PLj06/Hpr32/0uhfnz6lR/NJr7hrSdz51PBoaalU0WGjJfaMo193Yoyp eRJ3ffebceBTY5JrSxe3ND0dD/9sWSy5O593ulTVaVdfG4f35vQe634ZC+4u dzP5csrjD9pSyD4sXnnWWTHnlwuzC76x4M5458umtbvH2vvIT7Y881B8Z878 eCg/ECfFWa8+oLJX2Xj6/lj6wzFRvwXE3LCaYXvsK23bIECAAAECBAgQIECA AAECBAgQIECgTwVqYtE+batSeevGXp5UulJzaaNdHly1Uz2FxMF/+/H40ANn xufveCa76FeLZkf66Wp56Tu/GB9+bWXS5a6KtTv+s699Jn7W7khnOyPjkyck AXV1upoUeyjpyycXdVY+PzYyzv3CV+PNL+sk1C0Xqbr1/KLKuqtn8MjSb2RT dqQFX/H2k6KhckXnG6NeflK8NBbGr9LTd/9H3LdmWrLftnR/H2nZkfGheZfG X3Y2Gtf9JOb8U+kPCW211m6Ni08lhtXvkW+PfW3t9gkQIECAAAECBAgQIECA AAECBAgQ6BuBziLBvmmpqtZ9J6TTRpTeBG6bDbqqQO1mfe2BLe3Xx+Cq00P3 2T8LWRuTYy95UfVMzcPjjf/8vXjxyQvjxutvjJ89WQqqqy7NNhsOOyne+4H3 x+uP6DoIrr2mR/sjXhn7bekl5arKGkaMi/Eve0W88tWviVcef0yM2tJ1Iw7Z Yr2dP4P18eu78zB4UvzNKydUtd7F5rDD44xTxsWvbnsiKfBE/PrhNfHS7lLt clXp/Rx58ltixjvOir9M5/ne5mW/ds98q6vpgf1W16kgAQIECBAgQIAAAQIE CBAgQIAAAQJbLTDokUce2VxdeuHC0nQNF198cfXhbrcfffTRrMy/rtwnW3/s xL27vWYgFdiwbk08/afV8ezzzyfdqou6PUbFvgfsG6OGbykFHkh3oC8ECBAg QIAAAQIECBAgQIAAAQIECBDoW4GP/2BN1sDs0/bbqoY2b94c6WfTpk3ZdMZP P/10u+sKeYO6XQ8GyM7QEaOTt3hHD5De6AYBAgQIECBAgAABAgQIECBAgAAB AgR2foHddv5bdIcECBAgQIAAAQIECBAgQIAAAQIECBAgMBAFBNQD8anoEwEC BAgQIECAAAECBAgQIECAAAECBHYBAQH1LvCQ3SIBAgQIECBAgAABAgQIECBA gAABAgQGooCAeiA+FX0iQIAAAQIECBAgQIAAAQIECBAgQIDALiAgoN4FHrJb JECAAAECBAgQIECAAAECBAgQIECAwEAUEFAPxKeiTwQIECBAgAABAgQIECBA gAABAgQIENgFBATUu8BDdosECBAgQIAAAQIECBAgQIAAAQIECBAYiAIC6oH4 VPSJAAECBAgQIECAAAECBAgQIECAAAECu4CAgHoXeMhukQABAgQIECBAgAAB AgQIECBAgAABAgNRQEA9EJ+KPhEgQIAAAQIECBAgQIAAAQIECBAgQGAXEBBQ 7wIP2S0SIECAAAECBAgQIECAAAECBAgQIEBgIArU9XanNrVszKr8+A/W9HbV 6iNAgAABAgQIECBAgAABAgQIECBAgACBnUjAG9Q70cN0KwQIECBAgAABAgQI ECBAgAABAgQIENiRBHrtDeoJEyZk9z27tNqRDPSVAAECBAgQIECAAAECBAgQ IECAAAECBAoQ8AZ1AeiaJECAAAECBAgQIECAAAECBAgQIECAAIEIAbVRQIAA AQIECBAgQIAAAQIECBAgQIAAAQKFCAioC2HXKAECBAgQIECAAAECBAgQIECA AAECBAgIqI0BAgQIECBAgAABAgQIECBAgAABAgQIEChEQEBdCLtGCRAgQIAA AQIECBAgQIAAAQIECBAgQEBAbQwQIECAAAECBAgQIECAAAECBAgQIECAQCEC AupC2DVKgAABAgQIECBAgAABAgQIECBAgAABAgJqY4AAAQIECBAgQIAAAQIE CBAgQIAAAQIEChEQUBfCrlECBAgQIECAAAECBAgQIECAAAECBAgQEFAbAwQI ECBAgAABAgQIECBAgAABAgQIECBQiICAuhB2jRIgQIAAAQIECBAgQIAAAQIE CBAgQICAgNoYIECAAAECBAgQIECAAAECBAgQIECAAIFCBATUhbBrlAABAgQI ECBAgAABAgQIECBAgAABAgQE1MYAAQIECBAgQIAAAQIECBAgQIAAAQIECBQi IKAuhF2jBAgQIECAAAECBAgQIECAAAECBAgQICCgNgYIECBAgAABAgQIECBA gAABAgQIECBAoBABAXUh7BolQIAAAQIECBAgQIAAAQIECBAgQIAAAQG1MUCA AAECBAgQIECAAAECBAgQIECAAAEChQgIqAth1ygBAgQIECBAgAABAgQIECBA gAABAgQICKiNAQIECBAgQIAAAQIECBAgQIAAAQIECBAoREBAXQi7RgkQIECA AAECBAgQIECAAAECBAgQIEBAQG0MECBAgAABAgQIECBAgAABAgQIECBAgEAh AgLqQtg1SoAAAQIECBAgQIAAAQIECBAgQIAAAQICamOAAAECBAgQIECAAAEC BAgQIECAAAECBAoREFAXwq5RAgQIECBAgAABAgQIECBAgAABAgQIEBBQGwME CBAgQIAAAQIECBAgQIAAAQIECBAgUIiAgLoQdo0SIECAAAECBAgQIECAAAEC BAgQIECAgIDaGCBAgAABAgQIECBAgAABAgQIECBAgACBQgQE1IWwa5QAAQIE CBAgQIAAAQIECBAgQIAAAQIEBNTGAAECBAgQIECAAAECBAgQIECAAAECBAgU IiCgLoRdowQIECBAgAABAgQIECBAgAABAgQIECAgoDYGCBAgQIAAAQIECBAg QIAAAQIECBAgQKAQAQF1IewaJUCAAAECBAgQIECAAAECBAgQIECAAAEBtTFA gAABAgQIECBAgAABAgQIECBAgAABAoUICKgLYdcoAQIECBAgQIAAAQIECBAg QIAAAQIECAiojQECBAgQIECAAAECBAgQIECAAAECBAgQKERAQF0Iu0YJECBA gAABAgQIECBAgAABAgQIECBAQEBtDBAgQIAAAQIECBAgQIAAAQIECBAgQIBA IQIC6kLYNUqAAAECBAgQIECAAAECBAgQIECAAAECAmpjgAABAgQIECBAgAAB AgQIECBAgAABAgQKERBQF8KuUQIECBAgQIAAAQIECBAgQIAAAQIECBAQUBsD BAgQIECAAAECBAgQIECAAAECBAgQIFCIgIC6EHaNEiBAgAABAgQIECBAgAAB AgQIECBAgICA2hggQIAAAQIECBAgQIAAAQIECBAgQIAAgUIEBNSFsGuUAAEC BAgQIECAAAECBAgQIECAAAECBATUxgABAgQIECBAgAABAgQIECBAgAABAgQI FCIgoC6EXaMECBAgQIAAAQIECBAgQIAAAQIECBAgIKA2BggQIECAAAECBAgQ IECAAAECBAgQIECgEAEBdSHsGiVAgAABAgQIECBAgAABAgQIECBAgAABAbUx QIAAAQIECBAgQIAAAQIECBAgQIAAAQKFCAioC2HXKAECBAgQIECAAAECBAgQ IECAAAECBAgIqI0BAgQIECBAgAABAgQIECBAgAABAgQIEChEQEBdCLtGCRAg QIAAAQIECBAgQIAAAQIECBAgQEBAbQwQIECAAAECBAgQIECAAAECBAgQIECA QCECAupC2DVKgAABAgQIECBAgAABAgQIECBAgAABAgJqY4AAAQIECBAgQIAA AQIECBAgQIAAAQIEChEQUBfCrlECBAgQIECAAAECBAgQIECAAAECBAgQEFAb AwQIECBAgAABAgQIECBAgAABAgQIECBQiICAuhB2jRIgQIAAAQIECBAgQIAA AQIECBAgQICAgNoYIECAAAECBAgQIECAAAECBAgQIECAAIFCBATUhbBrlAAB AgQIECBAgAABAgQIECBAgAABAgQE1MYAAQIECBAgQIAAAQIECBAgQIAAAQIE CBQiIKAuhF2jBAgQIECAAAECBAgQIECAAAECBAgQICCgNgYIECBAgAABAgQI ECBAgAABAgQIECBAoBABAXUh7BolQIAAAQIECBAgQIAAAQIECBAgQIAAAQG1 MUCAAAECBAgQIECAAAECBAgQIECAAAEChQgIqAth1ygBAgQIECBAgAABAgQI ECBAgAABAgQICKiNAQIECBAgQIAAAQIECBAgQIAAAQIECBAoREBAXQi7RgkQ IECAAAECBAgQIECAAAECBAgQIEBAQG0MECBAgAABAgQIECBAgAABAgQIECBA gEAhAgLqQtg1SoAAAQIECBAgQIAAAQIECBAgQIAAAQICamOAAAECBAgQIECA AAECBAgQIECAAAECBAoREFAXwq5RAgQIECBAgAABAgQIECBAgAABAgQIEBBQ GwMECBAgQIAAAQIECBAgQIAAAQIECBAgUIiAgLoQdo0SIECAAAECBAgQIECA AAECBAgQIECAgIDaGCBAgAABAgQIECBAgAABAgQIECBAgACBQgQE1IWwa5QA AQIECBAgQIAAAQIECBAgQIAAAQIEBNTGAAECBAgQIECAAAECBAgQIECAAAEC BAgUIiCgLoRdowQIECBAgAABAgQIECBAgAABAgQIECAgoDYGCBAgQIAAAQIE CBAgQIAAAQIECBAgQKAQAQF1IewaJUCAAAECBAgQIECAAAECBAgQIECAAAEB tTFAgAABAgQIECBAgAABAgQIECBAgAABAoUICKgLYdcoAQIECBAgQIAAAQIE CBAgQIAAAQIECAiojQECBAgQIECAAAECBAgQIECAAAECBAgQKERAQF0Iu0YJ ECBAgAABAgQIECBAgAABAgQIECBAQEBtDBAgQIAAAQIECBAgQIAAAQIECBAg QIBAIQIC6kLYNUqAAAECBAgQIECAAAECBAgQIECAAAECAmpjgAABAgQIECBA gAABAgQIECBAgAABAgQKERBQF8KuUQIECBAgQIAAAQIECBAgQIAAAQIECBAQ UBsDBAgQIECAAAECBAgQIECAAAECBAgQIFCIgIC6EHaNEiBAgAABAgQIECBA gAABAgQIECBAgICA2hggQIAAAQIECBAgQIAAAQIECBAgQIAAgUIEBNSFsGuU AAECBAgQIECAAAECBAgQIECAAAECBATUxgABAgQIECBAgAABAgQIECBAgAAB AgQIFCIgoC6EXaMECBAgQIAAAQIECBAgQIAAAQIECBAgIKA2BggQIECAAAEC BAgQIECAAAECBAgQIECgEAEBdSHsGiVAgAABAgQIECBAgAABAgQIECBAgAAB AbUxQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFCAioC2HXKAECBAgQIECAAAEC BAgQIECAAAECBAgIqI0BAgQIECBAgAABAgQIECBAgAABAgQIEChEQEBdCLtG CRAgQIAAAQIECBAgQIAAAQIECBAgQEBAbQwQIECAAAECBAgQIECAAAECBAgQ IECAQCECAupC2DVKgAABAgQIECBAgAABAgQIECBAgAABAgJqY4AAAQIECBAg QIAAAQIECBAgQIAAAQIEChEQUBfCrlECBAgQIECAAAECBAgQIECAAAECBAgQ EFAbAwQIECBAgAABAgQIECBAgAABAgQIECBQiICAuhB2jRIgQIAAAQIECBAg QIAAAQIECBAgQICAgNoYIECAAAECBAgQIECAAAECBAgQIECAAIFCBATUhbBr lAABAgQIECBAgAABAgQIECBAgAABAgQE1MYAAQIECBAgQIAAAQIECBAgQIAA AQIECBQiIKAuhF2jBAgQIECAAAECBAgQIECAAAECBAgQICCgNgYIECBAgAAB AgQIECBAgAABAgQIECBAoBABAXUh7BolQIAAAQIECBAgQIAAAQIECBAgQIAA AQG1MUCAAAECBAgQIECAAAECBAgQIECAAAEChQgIqAth1ygBAgQIECBAgAAB AgQIECBAgAABAgQICKiNAQIECBAgQIAAAQIECBAgQIAAAQIECBAoREBAXQi7 RgkQIECAAAECBAgQIECAAAECBAgQIEBAQG0MECBAgAABAgQIECBAgAABAgQI ECBAgEAhAgLqQtg1SoAAAQIECBAgQIAAAQIECBAgQIAAAQICamOAAAECBAgQ IECAAAECBAgQIECAAAECBAoREFAXwq5RAgQIECBAgAABAgQIECBAgAABAgQI EBBQGwMECBAgQIAAAQIECBAgQIAAAQIECBAgUIiAgLoQdo0SIECAAAECBAgQ IECAAAECBAgQIECAgIDaGCBAgAABAgQIECBAgAABAgQIECBAgACBQgQE1IWw a5QAAQIECBAgQIAAAQIECBAgQIAAAQIEBNTGAAECBAgQIECAAAECBAgQIECA AAECBAgUIiCgLoRdowQIECBAgAABAgQIECBAgAABAgQIECAgoDYGCBAgQIAA AQIECBAgQIAAAQIECBAgQKAQAQF1IewaJUCAAAECBAgQIECAAAECBAgQIECA AAEBtTFAgAABAgQIECBAgAABAgQIECBAgAABAoUICKgLYdcoAQIECBAgQIAA AQIECBAgQIAAAQIECAiojQECBAgQIECAAAECBAgQIECAAAECBAgQKERAQF0I u0YJECBAgAABAgQIECBAgAABAgQIECBAQEBtDBAgQIAAAQIECBAgQIAAAQIE CBAgQIBAIQIC6kLYNUqAAAECBAgQIECAAAECBAgQIECAAAECAmpjgAABAgQI ECBAgAABAgQIECBAgAABAgQKERBQF8KuUQIECBAgQIAAAQIECBAgQIAAAQIE CBAQUBsDBAgQIECAAAECBAgQIECAAAECBAgQIFCIgIC6EHaNEiBAgAABAgQI ECBAgAABAgQIECBAgICA2hggQIAAAQIECBAgQIAAAQIECBAgQIAAgUIEBNSF sGuUAAECBAgQIECAAAECBAgQIECAAAECBATUxgABAgQIECBAgAABAgQIECBA gAABAgQIFCIgoC6EXaMECBAgQIAAAQIECBAgQIAAAQIECBAgIKA2BggQIECA AAECBAgQIECAAAECBAgQIECgEAEBdSHsGiVAgAABAgQIECBAgAABAgQIECBA gAABAbUxQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFCAioC2HXKAECBAgQIECA AAECBAgQIECAAAECBAgIqI0BAgQIECBAgAABAgQIECBAgAABAgQIEChEQEBd CLtGCRAgQIAAAQIECBAgQIAAAQIECBAgQEBAbQwQIECAAAECBAgQIECAAAEC BAgQIECAQCECAupC2DVKgAABAgQIECBAgAABAgQIECBAgAABAgJqY4AAAQIE CBAgQIAAAQIECBAgQIAAAQIEChEQUBfCrlECBAgQIECAAAECBAgQIECAAAEC BAgQEFAbAwQIECBAgAABAgQIECBAgAABAgQIECBQiICAuhB2jRIgQIAAAQIE CBAgQIAAAQIECBAgQICAgNoYIECAAAECBAgQIECAAAECBAgQIECAAIFCBATU hbBrlAABAgQIECBAgAABAgQIECBAgAABAgQE1MYAAQIECBAgQIAAAQIECBAg QIAAAQIECBQiIKAuhF2jBAgQIECAAAECBAgQIECAAAECBAgQICCgNgYIECBA gAABAgQIECBAgAABAgQIECBAoBABAXUh7BolQIAAAQIECBAgQIAAAQIECBAg QIAAAQG1MUCAAAECBAgQIECAAAECBAgQIECAAAEChQgIqAth1ygBAgQIECBA gAABAgQIECBAgAABAgQICKiNAQIECBAgQIAAAQIECBAgQIAAAQIECBAoREBA XQi7RgkQIECAAAECBAgQIECAAAECBAgQIEBAQG0MECBAgAABAgQIECBAgAAB AgQIECBAgEAhAgLqQtg1SoAAAQIECBAgQIAAAQIECBAgQIAAAQICamOAAAEC BAgQIECAAAECBAgQIECAAAECBAoREFAXwq5RAgQIECBAgAABAgQIECBAgAAB AgQIEBBQGwMECBAgQIAAAQIECBAgQIAAAQIECBAgUIiAgLoQdo0SIECAAAEC BAgQIECAAAECBAgQIECAgIDaGCBAgAABAgQIECBAgAABAgQIECBAgACBQgQE 1IWwa5QAAQIECBAgQIAAAQIECBAgQIAAAQIEBNTGAAECBAgQIECAAAECBAgQ IECAAAECBAgUIiCgLoRdowQIECBAgAABAgQIECBAgAABAgQIECAgoDYGCBAg QIAAAQIECBAgQIAAAQIECBAgQKAQAQF1IewaJUCAAAECBAgQIECAAAECBAgQ IECAAAEBtTFAgAABAgQIECBAgAABAgQIECBAgAABAoUICKgLYdcoAQIECBAg QIAAAQIECBAgQIAAAQIECAiojQECBAgQIECAAAECBAgQIECAAAECBAgQKERA QF0Iu0YJECBAgAABAgQIECBAgAABAgQIECBAQEBtDBAgQIAAAQIECBAgQIAA AQIECBAgQIBAIQIC6kLYNUqAAAECBAgQIECAAAECBAgQIECAAAECAmpjgAAB AgQIECBAgAABAgQIECBAgAABAgQKERBQF8KuUQIECBAgQIAAAQIECBAgQIAA AQIECBAQUBsDBAgQIECAAAECBAgQIECAAAECBAgQIFCIgIC6EHaNEiBAgAAB AgQIECBAgAABAgQIECBAgICA2hggQIAAAQIECBAgQIAAAQIECBAgQIAAgUIE BNSFsGuUAAECBAgQIECAAAECBAgQIECAAAECBATUxgABAgQIECBAgAABAgQI ECBAgAABAgQIFCIgoC6EXaMECBAgQIAAAQIECBAgQIAAAQIECBAgIKA2BggQ IECAAAECBAgQIECAAAECBAgQIECgEAEBdSHsGiVAgAABAgQIECBAgAABAgQI ECBAgAABAbUxQIAAAQIECBAgQIAAAQIECBAgQIAAAQKFCAioC2HXKAECBAgQ IECAAAECBAgQIECAAAECBAgIqI0BAgQIECBAgAABAgQIECBAgAABAgQIEChE QEBdCLtGCRAgQIAAAQIECBAgQIAAAQIECBAgQEBAbQwQIECAAAECBAgQIECA AAECBAgQIECAQCECAupC2DVKgAABAgQIECBAgAABAgQIECBAgAABAgJqY4AA AQIECBAgQIAAAQIECBAgQIAAAQIEChEQUBfCrlECBAgQIECAAAECBAgQIECA AAECBAgQEFAbAwQIECBAgAABAgQIECBAgAABAgQIECBQiICAuhB2jRIgQIAA AQIECBAgQIAAAQIECBAgQICAgNoYIECAAAECBAgQIECAAAECBAgQIECAAIFC BATUhbBrlAABAgQIECBAgAABAgQIECBAgAABAgQE1MYAAQIECBAgQIAAAQIE CBAgQIAAAQIECBQiIKAuhF2jBAgQIECAAAECBAgQIECAAAECBAgQICCgNgYI ECBAgAABAgQIECBAgAABAgQIECBAoBABAXUh7BolQIAAAQIECBAgQIAAAQIE CBAgQIAAAQG1MUCAAAECBAgQIECAAAECBAgQIECAAAEChQgIqAth1ygBAgQI ECBAgAABAgQIECBAgAABAgQICKiNAQIECBAgQIAAAQIECBAgQIAAAQIECBAo REBAXQi7RgkQIECAAAECBAgQIECAAAECBAgQIEBAQG0MECBAgAABAgQIECBA gAABAgQIECBAgEAhAgLqQtg1SoAAAQIECBAgQIAAAQIECBAgQIAAAQICamOA AAECBAgQIECAAAECBAgQIECAAAECBAoREFAXwq5RAgQIECBAgAABAgQIECBA gAABAgQIEKjriuDss8/u6pTjBAgQIECAAAECBAgQIECAAAECBAgQIECgW4HN mzfHoEGDss/YsWPj3e9+d7trvEHdjsMOAQIECBAgQIAAAQIECBAgQIAAAQIE CPSFwNSpUztUK6DuQOIAAQIECBAgQIAAAQIECBAgQIAAAQIECPSmQPr29MEH H9yhSgF1BxIHCBAgQIAAAQIECBAgQIAAAQIECBAgQKA3BV772td2Wl2Xc1Bf dNFFnV7gIAECBAgQIECAAAECBAgQIECAAAECBAgQ2BqBdA7q9DNy5MhobW3t cIk3qDuQOECAAAECBAgQIECAAAECBAgQIECAAAEC/SEgoO4PZW0QIECAAAEC BAgQIECAAAECBAgQIECAQAcBAXUHEgcIECBAgAABAgQIECBAgAABAgQIECBA oD8EupyDuj8a1wYBAgQIECBAgAABAgQIEBgIAj9/ZG0svPuReOLptdGyYUMy V+YLA6Fb+tDLAoMG7RaDhw6NcfuPirOOPzhefvCoXmmhZfnyaF7yrWh+/LHY lI6fF4yfXoHdRSoZtNtusXsyLoeNPyiGnXZ6DD7yyH698yFrfx57PnFL7Pbn h2Jzy3MRmzf1a/sa2wEEBu0egwbvGS/sfWg8N+6tsXHUy3u104MeeeSRzdU1 Lly4MNs95ZRTqg/bJkCAAAECBAgQIECAAAECO53A8xta42O33BePPfH7ne7e 3FD3AgeNOzA+8daXxR5Dt+39vRean4/1114dTSt/131jShDYSoH6iX8Vwy+5 LHYbtsdWXrFtxTa3PhcjH7gsBq391bZV4KpdVmDzqJfGM0dcHYPq9twqg+6+ +P//agAAQABJREFUJFFAvVWMChEgQIAAAQIECBAgQIDAziaw/vnWeM8Xl8XG 5/6c3NqgqN9nTIza74DYc3h91O1eF4MGDUrepN6crfvl3pO2ksaStxfL75Hl 2+m6kyXvW7pOl+3tb2/X10mXt3yoH+6/tbU1mtavj7V/eiqa1q5O+rM5htTv HTe+b2oM36NnIfXmpvWx7kPnR3NSX7rsNXp0jPiLv4jBe+0du9X1//jp6fPr afnsJrfwo7fr20JTnZ7qafs9Ld9po1UHt6e+F1pbYuOf/xyNf3gq/rzmT1mt w4YPjxGfvz4G1Q+vaqUXN1ufjVE/fWe80PxMUumgGNwwNoaMHB+7D9snBu0+ uO13UeX3T/p7Jv1dVP79VNnu/PdTj3vaD//9b7FP3ba/a9//5taNsan5/2Lj M49HS+OqbBzsNmxkrD3uaxF1e22RNj2Z/veRfkaOHBnp7+HaRUBdK2KfAAEC BAgQIECAAAECBHZ6gfQfyu/58k/jmT89nbwBNjheNPGIaNhrryx6qcQteRZT OdCepTbPaH+2LcrJL+823qhtr+aCmt1u46Huynd3vrsGdvT7b3z22Xhy5QOx OQkHR+67f9z43uO2+o8R6fhZ/+EPxvqnnordkzD6L17ykhg6YmS7IdDhDwY1 YLX+7S7ehp3a9tI+5sc6q66b4dbhkh6XT4LNvA9ZZe6/LfRNQLp6/hvWPRN/ +M1vYlMS4g0/4IAY/tkvbPW47PDQujiQPpfRP393vND4WBJGD4n6ccfF7nvu W9WrZLP2gdfW1c3zHJRUkESSyc+0ovR+S9vpOl1qz2fFcpS0QL5dKt7xQO0f 8Lor320DNTdcs5t2qd2yC9//pufWRNP/uzuZCWZj7NZwUKx5+Ve6HaPpmEs/ XQXUPfvzYLsnYYcAAQIECBAgQIAAAQIECOx4Auk/kpc+sDoLp9OYZNzEybHX XsPjz82t8dyG5E3GTaV/SHcMSNrfa3f5SIcApqbCmnwj+Qd++pZZKcNq31Jp rzZ/6Wn9tXXWtldbf013ay/v0N/a63vav9r+1Da4vfWn9aWB7eDdk7flhw2O vZNn/qJDJ8cTK36ZjYV0TJx8xJitClpafvyjLJxO6yyF0yMifaN60/PPJ3P4 tpQeZHpyS0vtDecPP12nS+350tG2n9tZPg+v03W61PpWBmPen7aWS1u1/avt T2352v3urq89X3t9bXs9LD+g7j/p+6Ddd4/d6+tjaENDNqae/NWvsjE29MfL YvCrp3Y7Lmt5utpPf//t8ccfZOF0MsjK4fToiJb18UI2/3TydmtSJv1f/t9w VlfNAKn1S8uUR26leFfHSsdLFabtlJbuEuFysa1cdeh/zXX5vaXrzpYO1+/q 95867VaX/N+eydQz+2TjZv1jP87GUTqent/v9ds1Rnfr7CE4RoAAAQIECBAg QIAAAQIEdlaBNKD573sey26vfp/9Ys/6veKpZ5pjXdOG2NCSfLldcj6P7PJ1 KXpJE4q2T1pPup+us+2qdRbwpOfLx/Iy1eu07nQ/XVdvV5ep3k6bTvfzLmRf 5JgdeyE5nn7SfuTrpN6k0vRYuk4/6YX5Ot1Oq8rX6XapD6V1VjwtnxbJG6xZ Z33J6tlx7j+9l42tm+KZ9c3ZM69PplFIp3ZJl3RMlO4p2+3yR1pm43eWZOfT aT2GJVN6tP7xT9Ha2BibN25Mmshgu7w+P5G3la6zT3Kisk4LpcfL62w7rTcv m25nRdra6lBf8kWNWX3puvyljfk6vfaFch3pOtuuWqftZEu+Lu21/5mfS9fV 2+1LdbnXob9JyV32/pPn80Lyh42Wdeui5U9rYmgyptKxlS4bv/PtzCXb6YUf qXH9EwuymgbvfWDsvsfIeOG5P8YLG9YlgyIdv+kXfLb9t5/+Dsg+yY/KOt1I 6sl+n5Sff/Y8k+3sGabHyr8b0nVpu1Rv6XdU6UtEs99hydlsya5Jtir1lX4X t5VP6y7VUV13V+2lXUzLZX1OtgYl3ci203XapfRceZ1u1346XJ8cyK5P1+lG 0s98nW7v9Pefer3QkvyOS37PPf+nZCqYkcm0MAemkNl4yu4/29u2H96g3jY3 VxEgQIAAAQIECBAgQIDADiiQhxnPJP9v9OmyTzK1wx/XPRctm5LgIwsdSjFF 6dbSKQrSQCQ9kSxpcJImEuk6XfLtLKWoXJ6XTv45XwpH0nVpab8u7bWdLTVf uiYtn54vd6l0eYd68lL56eSKvE/Joazm5FB1C+3vJ73n9H7Seyy1lzaRtlta du77b0mmUPhj4+bYZ/R+0fR/T0c6JvLxkb9VnEvk6/z8838qzRO815gxsXHN mmyakLxMvq59wzS9Nj+Wl2mzTh9F+ykxuiufX5uvO1yfNNJ+/OStltc14zmv J1/XlO7xbof+uP/KM84xq61zr0imnGlduzbSsfVsMrbSsbZHYpePh/zabVnn 43dzU+lLYQePGBebnkvGchI8dv9GcfvxlI2t5AbSdbpkvwbT/fxAvl19k+mY y5d8O1/ng7V8fRYeJz9KIXJyUVIuO1UuX9puaz/zSUqk69LSvsJsL+1T+Wxt efef2CX/6/qN8pJdpptM7fHC82uSgHpcNh91Op7ysZWO421ZBNTbouYaAgQI ECBAgAABAgQIENhhBdJ/SL/QkrwpmCybdx8aLckbtWlqkQUW5ZAwPZcFGtk/ 2NO9ZMkOtEs42o4lp/NYpG2dbpX+0Z9dntX9QhZSpftp4FKpM9lN3nNNdgdl 6/R0vt11YFAqnwfQpYCruv6skraO1faw5n52xftPn/3mPYal3NmYSA26W9Iy m9JpPJJlSDItwwsbNpQuyZ5nNpCy/aym5Fh1je3q76Z8XjZf5wFmVwHQC8lb uOm5dJ0u6eNN34xO1+nSoT9539J+pEsaLOV9Kh1p/zM/11X5mvMd2ktqy+8l q7ib8nnZfL0r3f/m5PfT4D33zJjSsZYbtH8g27aX1rW5tTRmd68bGtHaVH4c yVjJhkBpPNQOh3wc5euax5eNs+xYuVv5drpOl9r60sNpXeXT6S/A8qBN1vlS OdnJ9cm5vM60eN73dF1a8otL6w79TcqlFnn5fDu3zuvOz+fV5usO9SWNZsfy 1tP+lY+lh2rrS3uVnU9PpsuOdv9JSF03pD7rejqecrfswDb8EFBvA5pLCBAg QIAAAQIECBAgQGDHFEj/EZ39Q7r81nBza5IKpKlCsmTBQ7LdFkC0D2wqSUqp eClwSC7PA4xakVI9VfW9UK4vWWftJQXSbuTX15ZPzpb7Um6wEmeUSpZ+lvud Vpj3vXw/6SotU97tEJB0uJ/qOrLrdo37b06ndcnuvXp6lFy3dCr/mY+fPIzp MKVHjp1ckJYp+efPL6+ltM7P5S3Vlt+q80lV+fXZutxm2kLaalZHupMs+XZe vsP55NrsWPkeOpxP6sj7mFVYLlcZYOnB/FhV2dwqu6bqR9afpHylP+XtvPxW nU/qy6/P1tX1lc+l95EuWX3ldbrf4f6SawfU/afTxaT9TPtV/nT1x4ms4Fb8 yOvJ/78mkr+uVJ5Z9nsoAch/HyVNVn5ndFZ16fm0+Wfls/6WSqf15HWkR/Lt dJ0utc+j9kBt+Y5XZE8rqalcYXlVvZu3kbVX05+0XH7P+fnKsbTW8vm8v2mZ 6iWrOy1TPpiVT7bz8rvC/b9Q/kNHOp7ysbWtY1RAXT26bBMgQIAAAQIECBAg QIDALiWwMQmo039Yd7Vs4VRySR5/lCKKtJ78Lc+tqm9z+fpsncYsaVhX9cZ1 Uknas0oAkp0vlWurv63vedttAUF+dalMfi/5uq2Orre2XHbnuP90DGzrks4b /P/Z+w44u4rq/+/2kt20TbLpvQBpEAiQhN6EgIIgTUURRRAUsADytyEqgqKI 0kQQUUQpKiBKByGSQEJLSEJ677ub3WT7K/v+55yZc9+8+97b3WQTfwRmwrtn 7syZU7533uXzvnd2bsBIZTCSvDrUGWKstE8l20moDqlrXSTb7kR/4IP1yZbM bbZJRfaf5ja7wlra3Ausvq2+DHIOaqu974ujLtUgNz4L2dc+lZ3JTzFhc1p3 8Ql8WH8as+hz3vtQ/m20Bc3eLok4/yWAvQJ6IRwpVT1P/brTuHADK2qbTFcJ 351ibj2pa+cndcr9zyqJJTJpenn+8v3VSDGsdVUIfGtDKB7+mssYGW0M2zYT qG3XfElKVc/ZLNfVfEf+7Dg3Z7duDCUN8lzd5/JPmL8ksch1SXiCukvw+cEe AY+AR8Aj4BHwCHgEPAIeAY+AR8AjsC8joKQd5xDmH5Q6sDwDaaS2MGHCg0SK AUv+WYIvzR4TEEyQWZbC8NNMSvJg9c8khSlhwpo1uM1oWiVHaC5KQIovu+0D qwkB4vgPyLxs8dIYzcG4Ud8sbd6ksK/nb7IxGe7yMZVxan+46ur1J20XX6lT H0spYX3bp/MnTZ8H6Ri3nqlNHKQedDsQeWEidbF9l78TbddW6vCOz3Sslamz yWJBfT5/C6XzIKFjcHdTg1a+Jh9ohWzohbAyfP8w9yKacnJPorGkJ3PT6uvD NpZcOhpv7o3JeML6xoaYkkO6fTPW7LNP4ci9zrFHceoYNqB1jS9p2dZsHjb8 DuNnvY9c/l26eaYi7gnqVDz8mUfAI+AR8Ah4BDwCHgGPgEfAI+AR8Ah8yBEQ EiHIkX5h2x/Z+ltbJXcYukxbmLFIUnbM6zLXZvldS2BYkoI0dZRKsScntkXr 7qkzTvQlTquQsc4xaT8HlIxP81S5e/5D9j/E+TO8SawE7IwHV8etZ1R2Gg1h RjPKeSDA3YwwF7alOqYl/diev47Gq231n0lfZ5J4Dk3wTPrpEWZvCfvXvFV2 xj7rZCsdjQ/7z6SfYv0DlH97eWfDI1t7qi26x7WDqWtDCF0mtHXG6q3BXsAw ngbLgL4mU+yLLSrKqQb0Ba5KMIumE1uYUGY9jYl1ubi5qK+kiVT/qqvSWMh+ VF8+f3vB9fJZyDqLYzaEPUGdDRnf7hHwCHgEPAIeAY+AR8Aj4BHwCHgEPAIf fgSYK8lRwiRTuk4fMx3yo9y0yZEO5syMTZIhdM4d7o94HctSio60crf0aZCa 4TzEhmmQcMmXxmRCMZS7uA/p26BCQo1T80cy/xAcXThVAkdlJlPt9YX1VVcl 97v1ruqnvXSRCFttC9vuzLnGpjLTmPb6wvqqq5L73XpX9TXX4KWTH7D8w/nt 1jl9p4MHFnTzUBLY2DJ3DH2EIsQxYZAkkPXmwnqmpODPD8uE5OeHZlS0zlKK 3lusDN1f0h4oSHx0jeUmRwZIX/8Khc2l6TOBnRIva6nPDPpiX/9KRSxafROv z99cz/Trz1h1vXiCuusYegseAY+AR8Aj4BHwCHgEPAIeAY+AR8AjsA8joKSK kjO6Qo6JEG3j9JimUA6Fz7XOMlMJ61s2hQZawmOP27dR2HjEC9WNN+4z2WgL 5y0tNgHNlSWXj1r+kvSuHgg7vfzpBJkh/5LzizFV9JN1Hd+R6z1tn69ye/FI v8wRG5nW7XzRsRr/no4vjMeetr+v5R/GY0+dB4SjkrlKIIcJZr4vcJu9PwR1 aUtGU9cQxZa6VkTjQHFBDvr1KEJBfi4217bKdkA5uYw8FZ5H7MvOp8KCPNIt QBFJ021mln5/eLbyHYulKanxqJ5K14YdkCJM3g7hvofyTzpJjS8Zt40/lL/g 6uCreaj8wOafTLhLNU9Qdwk+P9gj4BHwCHgEPAIeAY+AR8Aj4BHwCHgE9m0E iCwICDdLiAQEiKEEgvyUTFECJ+gwFaVOWGpx60yIGJLNrigkpSS9SSch+zpW JRMVStKJ/ZB+uF91WZqixI5LkFCPz9/is+tCkFT8QpKtJcklOgldr7A3vkps z71a2sa64T3Gpc36lLq1ry8N1LGBPdLVOZFJn+eBvniQ+8Pxamx29si8cfU1 V5Xiw4kvbE98OIe0eDkE+qi/j2L+Djx7qaroMtCWfA4IZ0Jf28S76qrkRrcO bK+PYl1Vs2jzoZFI6tUtTejboxA9S3KxvqaVhtgxenFZcmmOoa6xFfsNKhNC 2zSGj64/rVvJdvU7xsO0zjJrURukoLl2If9UN2rbSnlnAcXCkguHZd9jIOdy 0DHJltSa2691Kz9w+adG3tGZJ6g7Qsj3ewQ8Ah4Bj4BHwCPgEfAIeAQ8Ah4B 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 rj+NQVzq6liSMdprvJm2b4nQ3uPRWBvicTM/G2f/BE1v/JyI5J0Zo0xEGtD8 9h3GnLXXvTQX4waXY78DZxBnHLrpWCuxmvdRu/BxLNnYRC9hjGBrXYR8G12m cPnDRSXXNfYgH/InbezX+g6k1U/Ew/OWLXVUylB51A9wyEmfwM6IwYFHpPl3 2ky/fqc5Lq7zHDOS66aotKeO0Fz3ZP6F4z+NUUd9FmPo03vwiCAHcetiRnXF MsCXlDRnJ8zdrmZ57LXb9vxAj4BHwCPgEfAIeAQ8Ah4Bj4BHwCPgEfAI7DMI 8A9sXREYJgmYKmAyII0yUHKroyxZL6yb6dxZccckNY/51IwxYJL69q+fhVOu /b28SK+NSAJescaSC8dNtEEyfrbD9h17wQo+av75t0/FQBlpDqvenIvvPbIc Cx2OZuJ+Y/Dtzx6MCd3t3rDdxuHHX1yGkx7dKfsjMxYBXuLPkC2y7QeTqrQa WP4knPaWzbi6TvPnse3Fy6gH/WZtXUr+jAExf3FaWsnx5OTSCm9aTZw1f9LR 2Fly4XHaJg27cdgVgob9NcRiOJjI6bGfOifNW58JE3Hsr3+Dl674qllJTauh GUMex1t6bCNyeuKXviyf8OCeI0cJSf3KVy9DIhqRbh4r85txpKL1bDGH9QVL mmHVfc7HzF+cjVKxYg6R5bOw/o67Ub9oU7K1/6Hoe/mlGHj4CImZOwacfSNG vn4cbdWQSytNQ3hTXHEiKJm/5RWyXHjlOM0c8K4gHLV7ffS6qTSrzNsQpTlF 7yCU/PJo3tE77GRsOJ9w/vwQgMeKD/LLe3jzrGe7UvS7ZOes6NmY4jT/YhS0 fhMLaGy+HWYG6zH1/iFnmgD7UR9sl+oaM4/OaE7N7inJ3yPNN2xTYqNGknn0 RKiqMYYqIopNzkaZscpd+ycUzvknxh5/BXpOOJPMJdfCNs+/F4nW7Y7lBAqG HIOSg7+GvDL3bpRUYRzWPHcTNmxpIt+5GDrtQnlx64a5v8XI/vTiWJ0s5Fvq Nn7GS68RWzN1B3/NlSWXUN7xrU+j8a3XQO/6lLGiQ38VANq6Bnn9ULDf2SgZ nNxru/ywK9Cw8mndUUQdOoMTaI2aucm2cnNzUFhAUgzzQSeClTb4tliCXp6q c8uMK6DJlSfXw+bMwzPlTzoRGs/PD9hcHvkssC91FHKec6b8xRT1GYLerCA3 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 7IGcjClFWYgtoWPcZieE8Aptor+o1+yizWqPPvA3jCo/ExdM6hWMKq4YhBlH 0ydoCVd24k8/fxwP0svfJI+6pXh+/WH45BAlNspx6NEzcGh4mHNeNmh/fO7C csya+y9YrlJ6X3zufdQSQZ2MJoqXnltjSDvS0FwNfutxwW3z8PiVUwP9vqP3 x5n0SSutm/HjW+jlY6H8hf8j5fRrmmah0w3uliFpg8iRXCrrMEGEzpBp02nl dOfI6YaFC7HkG1dgwHmfxqCLvpRmPtzAJPVh37oa2275WbLLTZZf/sekkn0J YFDnNio5Nl6WQZH6emw4/wLg9/dj4Ngkg1zcdyTGzKRPoJxaaZxzPxZd/VAA eGLjw9i6+nwMHqFMbi8MO/EMDEsdlnJWPPRQHHJ5Nyx49CUU0HYiWqSmcVpp ZrvZnSPQoz7Npuqya1D22K/Rd4C1UzwAI8+4AMk10zoKqLrnOtTSwlYzh+jB wg8uxrr+f8XQ8fYhCI2V2E9MjtFa/dM/J1K+VvJm38moeVMIc5dg3TDeEr8T 7x6dqBpcSPKqZHP1uUORMjIcD+txW1v9WrQufQzNG9/GwMO/zgM7V+K0Dz75 44cG/Secgl4jDu/cONJK0EbgTW/9RvR1Sx6Jh/AK4k+7n1K02sY2rK7eX3lc fq7ex2ifbCaASYcO9DFHvUZ8Lv7obwN4BxgtFVNORd0z74lyAo+g/qn90eO0 c2UfbtYpofk7gj5pJboU9f/+rplfiUdR//KJ6HWs3oVpe40RM+STNo4aYotv RTMT21RPJHbR59PfCaYVj4+sXUx/UKDxFaNb5ShxGe3RDzvXrwjmKDea/I0U JYHJYCXnXTw4i7m7aMkP9wh4BDwCHgGPgEfAI+AR8Ah4BDwCHgGPwL6GgBAS Jmj+Ac6FZfgjHfbABIeQHM5YJU1UuvpBXfVZsg0mQlQmlQLfQRNVRNeR3BeO l8lSbmMpxKmts66URBQ33/4IPn3XHCzdRmRRuyWKpW/Pw8Vf/gtuXh4zdinW HFpf990bHsE/FhMBp4VewhWUGG2t8dp/cPQVz2Jd0MiVOBo5by4sOe+6JXhu nbPFA70g7MF1hnCSPChrlZx/9aK3ccQ1/8Jr62lD44wlilULKOavPoFHm8zK PsVB1EP+U9oy2utko82nQ3ukN+j4DIxmBjcNC98TcrqtsREbf3+vfDKopTUN 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 TPY0VtHNkH/Yxh4/dx6WdWRbY1XJ+olYM+0P/Rv5yPjcAuTQht659GGZU9Qz qLfxNh2OP97yo2HW99DjtD+h+s37kLuYXqpJ9pjIzlZSfFslbeNvIdf126h1 7Wd1t87nu1J0rEoem6nutoXtu308f3SOi63QfA2PFR2nUW2p/L/O3wltt6qe oN4t2Pwgj4BHwCPgEfAIeAQ8Ah4Bj4BHwCPgEfhwIEA/7+1Lqnhtmm5zwbm5 P/iff3slZh469v8kZfYtVEhoi4yUNo5MmQqVbhvXwyVkr738g6Gu7aAxW8VF kHSECKU2S4iqKZVsxXZlNhiKVxLWNhlsh6UYzGxKWnWsyHb0Oupy8tGMsw0R AtbpbN28Gfzhon0qxRbZZslFyCwr+TxSXSUfrmcraitbv9uuuiq5z627ulLX i9WF/F2b6ktlR/m7Y7PV1Va2frdddVVyn1t3daX+P8g/zeeebuAc7AMBStbU Na+wL53cOiHD/XzeRi9AbK5CnD6pd1Du5C+mGqEzehAV2zQbrcv+gZK8NrS0 0F7yqsLqoaL3ZpZcwvcrHspFZbge2FYFzltzFmXq0DY+DxcN3bgP92Y4Dw9g x9pGru3DRpE8mrq0LYMx6jZrtPed/DNlkb3NE9TZsfE9HgGPgEfAI+AR8Ah4 BDwCHgGPgEfAI/BhR4AICv7HxaxoS66IZXJKV7nd8MeXsXhNFSaM6Pc/ReS9 VVvx91mLhEgxhAxVOxFvpiCVGmHJZVftKRYsZbyDjzSkHZQJUimjAq2O7HU1 3sCRrXRkL6zfqXOZP+qg4xXAOqdkBI1tjxDT3XVZcuH4tc00UIvaoAa1raRq Wr6sa/WkQtfRrMxnTSpqS/WoSW1wt9attp2FPI9sYXtqg5rS4rH9On/C/tSM Ss31o5y/YrH3JF09e73Fh1tPcxqaAXqts47RmaGSDTp1vo/Q2MbXb0TxxC+Y OGxbmmsZacbq/Y+/Oykv/eswnlT3Qd5u/G49LYi9k7/cA9hXB/Fr3io/MPmn 4bR7DZ6g3j3c/CiPgEfAI+AR8Ah4BDwCHgGPgEfAI+AR+JAgwLQDFybrhDQl KYUJEK6T3NHYivuefsu022OIrkjpy3TC9IqO4X6tB/6JvNFVcqaf/Ns21Xdl e/Gqnvrkcy7qy61rW0f2lPhUKfETqaLjxUE7B43F0EykqGSQSiavpFM1xAMp Gg/qR2VH8aaONoHpWD7TukqjsfvHcDw6l5SQFcKWzHcWP41LJaPC9QAdwk3a AvzEOB06V8LxClFm5ztbUF/qX9uyWQ/b8/mb+0dXr382vPd0u8xPIX3NDKNq wJmKL51nKnmGyJYdOkPSZigN0za2oHVj30xkmsPNNWhZ8HvTL122n4ekFPaj Nth16v1a4rXbBJlhqfoppjKc/F/lb3DggCi3fTL/DGDuRpMnqHcDND/EI+AR 8Ah4BDwCHgGPgEfAI+AR8Ah4BD4cCAjF5/AhSh5ydoYeNjJTtszTKImTqT+9 zdDNloUgLsIQKErxGlt0ZvkeQ5iQdkAIhSySnvRZfcMmkY7V17RUpjGO3GFC CAy7vj6K+QdAdLLi4sVDwuftmTHXjlDOdn0zDA6uJfuy/Sp54qhN7tJ6e/ZT +jSObPPH+mtPpNhrT7GT8YVNBLnyeNup8qOQfxiPrp8TevZ6y9YRRDjrFhJs W28tGf0wOS03LfNAj6+D3jN0rN7x+Fzrcs91dGVMc3XSVvIGaNvMFU4bL/M9 +RcvnIc8DNB5HJ4hEivZymL//zJ/xifAMkt8H9j8JfiuHzxB3XUMvQWPgEfA I+AR8Ah4BDwCHgGPgEfAI+AR2FcREDJDaRhDsSj1pTyHSuE7XEKX6ikLCNMw UGW1H5Yd+GO6p534zN7ZZCPYQ1nrbDdD0WaVTD+1Y1/zVvnhzz8DZh008fXR FbJhVX2BIkstAfTUEF5hrDqdlepbSWGZbRyPayC4eNTIdSXpWEfrSoi540Td 5Kb2Q90mfp+/4BDGhs/39vXP5HNX23iLjCQhzfOUZ48lnHm60Jk7hVz7PM4d r/NOJY2U8Sy5mHZt41auJyntHFKTNqNuXDnOWZOtGElVOpV6Fv2w/SARazMc f3IDHZ8/g88wdeb6s+6eKJ6g3hMoehseAY+AR8Aj4BHwCHgEPAIeAY+AR8Aj sG8ioL/Cg+gdtkP66Ce6JTTSCL1wf2DDVvTXvWFmyEwq4ScEJRNEShCG7HW8 Yo6IFCEZDaFi6ASuW4fiP3lqGAdqDPKhPvFp4xXxUc/fxeL/t3c+L5YdVRyv 1z8yk0k6ZoI/SHACEiIYdSK6CG40G8WASnTpQpcuBZcuXATMIouAov4HrgIi bvSfEFQkC0MQEhPJZtSZZEz/eN3W91R976tb773u1z8mpLs/Fe4751adOlX1 qdM3vHPv3Lea7gRuj7vgbHh27tzPsms+8jTGU0xVy4ivrB/qz3uvPtYtqx+L Of+5wWuUjcexdJvnE36W+F7UP+yP8TE3vzyW65a6aedj3bLrZF9ej3Yy6qqd 123pNtuH2RLfanM/y+r2AxVlrm2MznSvw7KfWCSn8/Un3gPdN+bzcn0r1zw1 a52u03l//VvN3+x62dvbt2T4j8/Z30ecjj7cNltznuVg4XVbDg1V6cfv2/v5 XNT19+s+6TkJ6pOSox8EIAABCEAAAhCAAAQgAAEIXAgCepdplEj25gRFk+CI pEJd5fw7T3Nypr4HdSEIJ6csZbRIX1SXTZ0YsVTf0JfYzydMsnXYFg/6PGw9 sW7ZX9b1a39OUMTUZablmswx2irPYO+6aC7tTqjZxyC9F43/oS0rB/Kb20LW htH4ff9q7/2N2HCd/OUjYqT6khj589zVR23Zv5NwUaE6K5JH2Lsv6y88W3Sh L9n3ObvTVCh+hl3z7pf5jM+0t7r+5Jit9nNPIM91UHzkybXrWKTXOtvW8CrB ZJ9aY7bTqf1ZDxnV5WlwXQdLcediMT6T+/F6ZtG/mj3r1/XLrCvyUwgS1KeA R1cIQAACEIAABCAAAQhAAAIQON8ESpKtrMG6pIqTbZZKnNgm2pUwqXU6L3qR s/aapIz2cUJSw7iP7MuITqPo3LrkzFZ9VPr+novbw1/Y1vV04/X2XttlXX+h erzPYFa7iLJ3TFWTvEFRp43SuT6yXrevxFJUzdrto5gWW+9Hn9D12G5fGBC6 +VIDop+P51ZGn83d89McWr0fT22ui/lW+8Ef6z/1/ovrvSyxf3WTrUtGiQ3O Wm0voovfXGn7MM9dq3mNjUOuf9W14yXlHziMWJWMEs6rVWnS1Hx9sz5Mt87F 7XH9Cz/F31H2rH/8/7PYSKGrG1rE/P4H4jP4IEF9BhBxAQEIQAACEIAABCAA AQhAAALnk0B5Aqx+A8/fxEuyxef+dj5LcGiVTogs08ftpW+xtZ+2Ti1tmbX1 CZaj3jntcS1br9bbNuuWykRcxvXvDwkxU1pdOjkXPXJmLM5rhsz6yKZzfchu RybOPtTNeuuv7T/c7XCGThsr3RtsfUm7fVl2Uz16Ptmv57hsvr3Pdizrlpr7 Uf4GWzk+Yn1HtduXZT/XI+ezwnx7n+1Y1nvZ9znb83wDo77DXviUUQ8pteoO n37c1XCXpKf6ai9Ln7LCOpzzn3lgD1pG6u1L7SGfHTidegz16uc7rLX2i3Vn PWS2Z/0zZuLXF3E6zbWz90eCuifCOQQgAAEIQAACEIAABCAAAQhcaAJ6EnWy tp5fzzHN37DzkfVSxhmOkuDwP2ifJTuU9Iiib+jOYqjCuuQq5cj+Tq+UEffz j5fpn5VLqqh2P2dZSqsqsuY5yMD6qvOJ5z2joz7iLKcIh1qNU5hE8+nHO3K+ 4xHv2foVA7koJpa+bqIuOezyvNfW1uJH8PRDeOtah0vDOhJsuT6SrFn2T0C7 yyAX7VfjL/ZTxq7r+Pl1M35lTYzXvIKm/9E+tbtumMMhypz/mEoTf+rruTVt rL9cD467//uVpWJNfc+qyNdkkq9/B9N8+dvPl7+14tqXrUaG6vPxn2O5GKin 2zvdoWAZza2tKpoiuxii2lj3yvU2iQj5cvkL43jDhA1K7+zRFXIUXmIU2w5v pVCTfLXmsvQcswzV53a1zL7tKze1n2U025dOunIe1+9XfKx67eyWPDolQT3C wQkEIAABCEAAAhCAAAQgAAEIXAYCH9l6IP3nv7fTwXQvEpOL1uw8hKVsWn0u YZezJ65b5K88EVifCq2+nMQc7NtsRpspGcYeJwRH88mZF78XVf6sS56kuJdl 8Tnz5LVKRts5Xb9iQEUxsWrZfPjhtH3rVtpTgnrdNzjGvc3N0nvthO3YuqbS 8v7bvm9XbkttQ47LsVJltDX9F403Grvr3/v3WKP5uE8/uQXn7me5aD5ttxiv mX/bJr2fX58B7PsvGu88rX9aWSvWzrzc/9GU7r6TptNpTlCXHYrrRaY8XC8m lXjIknCNBHENwCpm8ZjdxJSLu/Dj9zzH/mlvdY2o6+r7u83J+Ni/xl7BP/af z3NdHS78lvkVz8Vf86OKdW2zW25jqqy/3I48zv5P98rNvXQ1x9MpS71Nckov dIcABCAAAQhAAAIQgAAEIAABCJwjAt/58hMx24P9vZykzl+yc+YjEidVSu+P bFRsIiWjZItcFOnEiGXrS77jCHOnZdS16rW97VPGzs9HxzwklQTW+EUWXf1n 81QeSfaSJadUdNnYzrIdK3dSx+hrWcad+Q77Opb9XYT17+e9VwyoOCbi5IiP K998PiyURNQRhHOyepDSVW+ZdZXCMdS5D7dFP/XtDu+NZBzF4eCn739a+5ix 5pBHaHWP39aFDes/s/2fZpa6+aFy5Vsl1uLkjD5u3/heeNI4eoq6xMpM6jpT 4s8ydjvqPIXy95+vNUoS61qYY8VykT9FUXv9KlEVkaPOQ1sZu1znWvv2mtZe 6/x3Unys7k9zjDnUv6cYS/Eea/e6LVm/9t3XmKLvJ8WPiuMpTk74QYL6hODo BgEIQAACEIAABCAAAQhAAALnj4CeqtPxtc8/mh7a2ooF7O9tRyIxkhVRM0ty lLpyXr6cK4Gx+Ijnz3KbZHkWbSZzj1HdonaNpf88ZnmSTf3KfxpXmscP+1xn +5h69K9afbfyQZY6wr7K0kd2qnex3vqc6Rdt/ZE83ns/Fv/QQ1sRE44PE+ml 29effTbdV59s3c5Jbr0qI0rsR9/LTYXvsH/ZNpiqj/tZ5i6Fd5GtPni3be0f 3rPuHZNdGbH2OKa9n4wPTnl94dcynJexYu6t7zpcL9o1eN2WrL/uVOaoV3ts 13hSjK1/9dm4Zin2Tlscv+9+/Otpoqeoc9nZzTfp6nWhjOAI6qRvjknWJK5l SSQrVuvfQXiua1oakV17xFCuk8xHzKXKyH9nP5YRebnNcpF9W2efrez950HL mMN8Nb/mYP2FR+agG3vbO+XG3uT+j6WIp/r/1tj6E3yQoD4BNLpAAAIQgAAE IAABCEAAAhCAwPkloCSN3uv60g+eSRubm3khOSmUE5X7ezv5i3dO1ihBotJK 6ZGrsKztQ11OlYRNka0+JEVan61e+w12gx8lguRPT/HN9N7O561NSRSVvnXi GjEXTbiUYqMhqv9c7bqw0DxUhvlZl2z1fBLznMkP6/pjrTn5F3tdk9MbG5vp pe8/EzGxShLQ8XP1hZ+l9YifFAnFnexXTxQ6flrZ6plclLZOen+0TKXXTkXm z75/bx/tC/x6nKPsNZDHGAZtFLcN/jr747bbj2U/vxjaHJqxltnH+Odk/brB odjZUeIvSxXF1tUXXlw5LqPTCh+O37du/ipNNu6LHts5Sb27O41XfgQ31Zq1 ZKt7jLYubMo1Sknrcqif6xS/9tPpS/z7WjRcn3ydsv/wJ1bFX7FvrpexBLXX EhnprEvmI+yrbMey+WjN7Vpt0NZdgvUrLvS0/W5+rcdOfbXHZP1KeuvmL88k Rpe+g3oISINHQgACEIAABCAAAQhAAAIQgAAELhCBraub6dc//Ep68Xevpn+8 +XZKSk6n8lTYBVomSzmEwKduPJZ+8vxT6YEcC21ZJSey9sCD6f6Xf5GmP385 3X3t72kvJ3CInpYi+kkJXHvy02n9Rz9Oa9eujVysEpejDoedbG6lN774m/TY ay+ktVt/TXvTHL/1lcKHdaMNAiKw/8jN9PaTP803Usbv7l8Wo6pvj/5m4OT1 11/XrYahvPLKK6E/99xzQ12rLBuotUGHAAQgAAEIQAACEIAABCAAAQh8WAno e62eWIynFvMTi/qhsD+/cTv9/k9vpn++cyvtbudXfugpPcqFIzCZrKXNK1fS Jz/xSPr2l26kLzz+UPzIoX7oUE/V6+gTJz2ERfGTXv1b2vvjH9Lum2+kqeKn PgXb9+UcAosITHLcree43LzxeNr4Rs7HPfW5Y8flIr+L6hbF7/13/pKu/+u3 af3O6+lg925+vJhM9SJ2l7pusp4mm9fSdOuJ9O9Hv5v+t/X0sWJUcafj+vXr aW9vL661Lc+lT1AP709qrbMuZxQIQAACEIAABCAAAQhAAAIQgMBFIOB/7q5E 5dM3nho94XUR1scaxgS03+3RJ6SdRBn3Wn7m+NlXQvEzn01rNQlD7mQ5M1rm CbQxmQN07kbJceNyfoTFNY5fJRvvPniT699iTNRmAm2MOm4kXY6KUbf75rCu vW05MkHdX1T789YZOgQgAAEIQAACEIAABCAAAQhA4LwQ8BdmSX3Rbr/vtl+8 z8t6mOfxCHjPHQfLHtRb5tX9iJ9lhKg/CYHTxuWqYxK/q5LCridwkhh1vOnp aR0bG+OU9PisGVH/xMmdVS2dAgEIQAACEIAABCAAAQhAAAIQuEgE/L23lRdp faxlnoDzG0pIK9Ei6bp568Nr2rixfngPWiGwmIBj8CzicvEI87WO2VbOW1ED gULgNDHqGNvZ2YnXal29enWEdWmCend3Ny7QvoPoSViOvHACAQhAAAIQgAAE IAABCEAAAhC4AAT4znsBNnGFJSgxfS8K8XMvqF4en/cqLlclSPyuSury2p00 RhVbOt5///1IUG9tbY0gzv1I4qiVEwhAAAIQgAAEIAABCEAAAhCAAAQgAAEI QAACEIDACQk4Qa0HofWKj/4J6vEbqU84CN0gAAEIQAACEIAABCAAAQhAAAIQ gAAEIAABCEAAAsclQIL6uMSwhwAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAA gTMhQIL6TDDiBAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABI5LgAT1cYlh DwEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAmdCgAT1mWDECQQgAAEIQAAC EIAABCAAAQhAAAIQgAAEIAABCByXAAnq4xLDHgIQgAAEIAABCEAAAhCAAAQg AAEIQAACEIAABFYmMJlMwtay7UiCuqWBDgEIQAACEIAABCAAAQhAAAIQgAAE IAABCEAAAh8YgY3r16+nu3fvpvfeey/dvn07jjt37qR333036re3t9Pu7m6a Tqfp4OAgjg9sdgwEAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC55aAcsrt k9PW19bWko4Nr8zJ51bu7+8nHa6TToEABCAAAQhAAAIQgAAEIAABCEAAAhCA AAQgAAEIrEJAuWUVSSWnlWNWYlrnoa/iBBsIQAACEIAABCAAAQhAAAIQgAAE IAABCEAAAhCAwEkIOEmtvn6C2vrwBLUa+sOPWbveme2TTII+EIAABCAAAQhA AAIQgAAEIAABCEAAAhCAAAQgcDkJKMfsp6jbfPOGTyydlLZcX1+PR62FTQ7a bPflRMmqIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAYBUCfT7ZeWhJ5aD/ D4QtaYCVxK4+AAAAAElFTkSuQmCC --001a114a7e94924731052e9ecfcd Content-Type: application/octet-stream; name="fixed_sub_node_error_issue_v1.patch" Content-Disposition: attachment; filename="fixed_sub_node_error_issue_v1.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_im3541lv3 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3N0YXRpYy9jc3Mvb3ZlcnJpZGVz LmNzcyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9jc3Mvb3ZlcnJpZGVzLmNzcwpp bmRleCA0ZGNmZjMzLi43NzBlYWM0IDEwMDc1NQotLS0gYS93ZWIvcGdhZG1p bi9zdGF0aWMvY3NzL292ZXJyaWRlcy5jc3MKKysrIGIvd2ViL3BnYWRtaW4v c3RhdGljL2Nzcy9vdmVycmlkZXMuY3NzCkBAIC02NjIsNiArNjYyLDEwIEBA IHRhYmxlLmJhY2tncmlkIHRyLm5ldyB7CiAgICAgbWFyZ2luLXJpZ2h0OiAw cHg7CiB9CiAKKy5zdWJub2RlLWVycm9yIC5oZWxwLWJsb2NrIHsKKyAgICBj b2xvcjogI2E5NDQ0MjsKK30KKwogLnNlbGVjdDItY29udGFpbmVyLS1kZWZh dWx0IC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9f ZmllbGQgewogICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmUgcmVw ZWF0IHNjcm9sbCAwJSAwJTsKICAgICBib3JkZXI6IG1lZGl1bSBub25lOwpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL2JhY2tmb3JtLnBn YWRtaW4uanMgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2Zvcm0ucGdh ZG1pbi5qcwppbmRleCA2NmQ4ZGFiLi5jYWJmZDUzIDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2Zvcm0ucGdhZG1pbi5qcworKysg Yi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvYmFja2Zvcm0ucGdhZG1pbi5qcwpA QCAtMTAzOSw2ICsxMDM5LDExIEBACiAKICAgICAgIHJldHVybiAkZGlhbG9n OwogICAgIH0sCisgICAgY2xlYXJJbnZhbGlkOiBmdW5jdGlvbigpIHsKKyAg ICAgIHRoaXMuJGVsLnJlbW92ZUNsYXNzKCJzdWJub2RlLWVycm9yIik7Cisg ICAgICB0aGlzLiRlbC5maW5kKCIucGdhZG1pbi1jb250cm9sLWVycm9yLW1l c3NhZ2UiKS5yZW1vdmUoKTsKKyAgICAgIHJldHVybiB0aGlzOworICAgIH0s CiAgICAgdXBkYXRlSW52YWxpZDogZnVuY3Rpb24oKSB7CiAgICAgICB2YXIg c2VsZiA9IHRoaXMsCiAgICAgICBlcnJvck1vZGVsID0gdGhpcy5tb2RlbC5l cnJvck1vZGVsOwpAQCAtMTA1Miw3ICsxMDU3LDcgQEAKIAogICAgICAgICBp ZiAoXy5pc0VtcHR5KGVycm9yKSkgcmV0dXJuOwogCi0gICAgICAgIHNlbGYu JGVsLmFkZENsYXNzKEJhY2tmb3JtLmVycm9yQ2xhc3NOYW1lKS5hcHBlbmQo CisgICAgICAgIHNlbGYuJGVsLmFkZENsYXNzKCJzdWJub2RlLWVycm9yIiku YXBwZW5kKAogICAgICAgICAgICQoIjxkaXY+PC9kaXY+IikuYWRkQ2xhc3Mo J3BnYWRtaW4tY29udHJvbC1lcnJvci1tZXNzYWdlIGNvbC14cy1vZmZzZXQt NCBjb2wteHMtOCBoZWxwLWJsb2NrJykudGV4dChlcnJvcikKICAgICAgICAg ICApOwogICAgICAgfSk7CkBAIC0xMTA4LDEwICsxMTEzLDE1IEBACiAKICAg ICAgIGlmIChfLmlzRW1wdHkoZXJyb3IpKSByZXR1cm47CiAKLSAgICAgIHNl bGYuJGVsLmFkZENsYXNzKEJhY2tmb3JtLmVycm9yQ2xhc3NOYW1lKS5hcHBl bmQoCisgICAgICBzZWxmLiRlbC5hZGRDbGFzcygnc3Vibm9kZS1lcnJvcicp LmFwcGVuZCgKICAgICAgICAgJCgiPGRpdj48L2Rpdj4iKS5hZGRDbGFzcygn cGdhZG1pbi1jb250cm9sLWVycm9yLW1lc3NhZ2UgY29sLXhzLW9mZnNldC00 IGNvbC14cy04IGhlbHAtYmxvY2snKS50ZXh0KGVycm9yKQogICAgICAgICAp OwogICAgIH0sCisgICAgY2xlYXJJbnZhbGlkOiBmdW5jdGlvbigpIHsKKyAg ICAgIHRoaXMuJGVsLnJlbW92ZUNsYXNzKCdzdWJub2RlLWVycm9yJyk7Cisg ICAgICB0aGlzLiRlbC5maW5kKCIucGdhZG1pbi1jb250cm9sLWVycm9yLW1l c3NhZ2UiKS5yZW1vdmUoKTsKKyAgICAgIHJldHVybiB0aGlzOworICAgIH0s CiAgICAgc2hvd0dyaWRDb250cm9sOiBmdW5jdGlvbihkYXRhKSB7CiAgICAg ICB2YXIgZ3JpZEhlYWRlciA9IFsiPGRpdiBjbGFzcz0nc3Vibm9kZS1oZWFk ZXInPiIsCiAgICAgICAgICAgIiAgPGxhYmVsIGNsYXNzPSdjb250cm9sLWxh YmVsIGNvbC1zbS00Jz4iICsgZGF0YS5sYWJlbCArICI8L2xhYmVsPiIgLAo= --001a114a7e94924731052e9ecfcd Content-Type: application/octet-stream; name="types_node_v5.patch" Content-Disposition: attachment; filename="types_node_v5.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_im3549so4 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL19faW5pdF9fLnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvX19pbml0X18ucHkKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmE0NmJiMAotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL19faW5pdF9fLnB5CkBA IC0wLDAgKzEsMTIxMCBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9w bWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIg dGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKworIiIiIEltcGxlbWVudHMgVHlwZSBOb2RlICIiIgor CitpbXBvcnQganNvbgorZnJvbSBmbGFzayBpbXBvcnQgcmVuZGVyX3RlbXBs YXRlLCBtYWtlX3Jlc3BvbnNlLCByZXF1ZXN0LCBqc29uaWZ5Citmcm9tIGZs YXNrLmV4dC5iYWJlbCBpbXBvcnQgZ2V0dGV4dAorZnJvbSBwZ2FkbWluLnV0 aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgXAorICAgIG1h a2VfcmVzcG9uc2UgYXMgYWpheF9yZXNwb25zZSwgaW50ZXJuYWxfc2VydmVy X2Vycm9yCitmcm9tIHBnYWRtaW4uYnJvd3Nlci51dGlscyBpbXBvcnQgUEdD aGlsZE5vZGVWaWV3Citmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3Jv dXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudXRpbHMgXAorICAgIGlt cG9ydCBTY2hlbWFDaGlsZE1vZHVsZQoraW1wb3J0IHBnYWRtaW4uYnJvd3Nl ci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzIGFzIGRhdGFiYXNl Citmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMu dXRpbHMgaW1wb3J0IHBhcnNlX3ByaXZfZnJvbV9kYiwgXAorICAgIHBhcnNl X3ByaXZfdG9fZGIKK2Zyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBw cmVjb25kaXRpb25fcmVxdWlyZWQKK2Zyb20gcGdhZG1pbi51dGlscy5kcml2 ZXIgaW1wb3J0IGdldF9kcml2ZXIKK2Zyb20gY29uZmlnIGltcG9ydCBQR19E RUZBVUxUX0RSSVZFUgorZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHdyYXBzCisK KworY2xhc3MgVHlwZU1vZHVsZShTY2hlbWFDaGlsZE1vZHVsZSk6CisgICAg IiIiCisgICAgIGNsYXNzIFR5cGVNb2R1bGUoU2NoZW1hQ2hpbGRNb2R1bGUp CisKKyAgICAgICAgQSBtb2R1bGUgY2xhc3MgZm9yIFR5cGUgbm9kZSBkZXJp dmVkIGZyb20gU2NoZW1hQ2hpbGRNb2R1bGUKKworICAgIE1ldGhvZHM6Cisg ICAgLS0tLS0tLQorICAgICogX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQor ICAgICAgLSBNZXRob2QgaXMgdXNlZCB0byBpbml0aWFsaXplIHRoZSBUeXBl IGFuZCBpdCdzIGJhc2UgbW9kdWxlLgorCisgICAgKiBnZXRfbm9kZXMoZ2lk LCBzaWQsIGRpZCwgc2NpZCwgdGlkKQorICAgICAgLSBNZXRob2QgaXMgdXNl ZCB0byBnZW5lcmF0ZSB0aGUgYnJvd3NlciBjb2xsZWN0aW9uIG5vZGUuCisK KyAgICAqIG5vZGVfaW5vZGUoKQorICAgICAgLSBNZXRob2QgaXMgb3ZlcnJp ZGRlbiBmcm9tIGl0cyBiYXNlIGNsYXNzIHRvIG1ha2UgdGhlIG5vZGUgYXMg bGVhZiBub2RlLgorCisgICAgKiBzY3JpcHRfbG9hZCgpCisgICAgICAtIExv YWQgdGhlIG1vZHVsZSBzY3JpcHQgZm9yIHR5cGUsIHdoZW4gYW55IG9mIHRo ZSBzZXJ2ZXIgbm9kZSBpcworICAgICAgICBpbml0aWFsaXplZC4KKyAgICAi IiIKKworICAgIE5PREVfVFlQRSA9ICd0eXBlJworICAgIENPTExFQ1RJT05f TEFCRUwgPSBnZXR0ZXh0KCJUeXBlcyIpCisKKyAgICBkZWYgX19pbml0X18o c2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgIiIiCisgICAgICAg IE1ldGhvZCBpcyB1c2VkIHRvIGluaXRpYWxpemUgdGhlIFR5cGVNb2R1bGUg YW5kIGl0J3MgYmFzZSBtb2R1bGUuCisKKyAgICAgICAgQXJnczoKKyAgICAg ICAgICAgICphcmdzOgorICAgICAgICAgICAgKiprd2FyZ3M6CisgICAgICAg ICIiIgorICAgICAgICBzdXBlcihUeXBlTW9kdWxlLCBzZWxmKS5fX2luaXRf XygqYXJncywgKiprd2FyZ3MpCisgICAgICAgIHNlbGYubWluX3ZlciA9IE5v bmUKKyAgICAgICAgc2VsZi5tYXhfdmVyID0gTm9uZQorCisgICAgZGVmIGdl dF9ub2RlcyhzZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkKToKKyAgICAgICAg IiIiCisgICAgICAgIEdlbmVyYXRlIHRoZSBjb2xsZWN0aW9uIG5vZGUKKyAg ICAgICAgIiIiCisgICAgICAgIHlpZWxkIHNlbGYuZ2VuZXJhdGVfYnJvd3Nl cl9jb2xsZWN0aW9uX25vZGUoc2NpZCkKKworICAgIEBwcm9wZXJ0eQorICAg IGRlZiBzY3JpcHRfbG9hZChzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAg IExvYWQgdGhlIG1vZHVsZSBzY3JpcHQgZm9yIGRhdGFiYXNlLCB3aGVuIGFu eSBvZiB0aGUgZGF0YWJhc2Ugbm9kZSBpcworICAgICAgICBpbml0aWFsaXpl ZC4KKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBkYXRhYmFzZS5EYXRh YmFzZU1vZHVsZS5OT0RFX1RZUEUKKworICAgIEBwcm9wZXJ0eQorICAgIGRl ZiBub2RlX2lub2RlKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgTG9h ZCB0aGUgbW9kdWxlIG5vZGUgYXMgYSBsZWFmIG5vZGUKKyAgICAgICAgIiIi CisgICAgICAgIHJldHVybiBGYWxzZQorCitibHVlcHJpbnQgPSBUeXBlTW9k dWxlKF9fbmFtZV9fKQorCisKK2NsYXNzIFR5cGVWaWV3KFBHQ2hpbGROb2Rl Vmlldyk6CisgICAgIiIiCisgICAgVGhpcyBjbGFzcyBpcyByZXNwb25zaWJs ZSBmb3IgZ2VuZXJhdGluZyByb3V0ZXMgZm9yIFR5cGUgbm9kZQorCisgICAg TWV0aG9kczoKKyAgICAtLS0tLS0tCisgICAgKiBfX2luaXRfXygqKmt3YXJn cykKKyAgICAgIC0gTWV0aG9kIGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUg VHlwZVZpZXcgYW5kIGl0J3MgYmFzZSB2aWV3LgorCisgICAgKiBjaGVja19w cmVjb25kaXRpb24oKQorICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgYmVo YXZlIGFzIGEgZGVjb3JhdG9yIHdoaWNoIHdpbGwgY2hlY2tzCisgICAgICAg IGRhdGFiYXNlIGNvbm5lY3Rpb24gYmVmb3JlIHJ1bm5pbmcgdmlldywgaXQg d2lsbCBhbHNvIGF0dGFjaGVzCisgICAgICAgIG1hbmFnZXIsY29ubiAmIHRl bXBsYXRlX3BhdGggcHJvcGVydGllcyB0byBzZWxmCisKKyAgICAqIGxpc3Qo KQorICAgICAgLSBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gbGlzdCBhbGwg dGhlIFR5cGUgbm9kZXMgd2l0aGluIHRoYXQKKyAgICAgIGNvbGxlY3Rpb24u CisKKyAgICAqIG5vZGVzKCkKKyAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxs IHVzZWQgdG8gY3JlYXRlIGFsbCB0aGUgY2hpbGQgbm9kZSB3aXRoaW4gdGhh dAorICAgICAgICBjb2xsZWN0aW9uLCBIZXJlIGl0IHdpbGwgY3JlYXRlIGFs bCB0aGUgVHlwZSBub2RlLgorCisgICAgKiBwcm9wZXJ0aWVzKGdpZCwgc2lk LCBkaWQsIHNjaWQsIHRpZCkKKyAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxs IHNob3cgdGhlIHByb3BlcnRpZXMgb2YgdGhlIHNlbGVjdGVkIFR5cGUgbm9k ZQorCisgICAgKiBjcmVhdGUoZ2lkLCBzaWQsIGRpZCwgc2NpZCkKKyAgICAg IC0gVGhpcyBmdW5jdGlvbiB3aWxsIGNyZWF0ZSB0aGUgbmV3IFR5cGUgb2Jq ZWN0CisKKyAgICAqIHVwZGF0ZShnaWQsIHNpZCwgZGlkLCBzY2lkLCB0aWQp CisgICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgdGhlIGRhdGEg Zm9yIHRoZSBzZWxlY3RlZCBUeXBlIG5vZGUKKworICAgICogZGVsZXRlKHNl bGYsIGdpZCwgc2lkLCBzY2lkLCB0aWQpOgorICAgICAgLSBUaGlzIGZ1bmN0 aW9uIHdpbGwgZHJvcCB0aGUgVHlwZSBvYmplY3QKKworICAgICogbXNxbChn aWQsIHNpZCwgZGlkLCBzY2lkLCB0aWQpCisgICAgICAtIFRoaXMgZnVuY3Rp b24gaXMgdXNlZCB0byByZXR1cm4gbW9kaWZpZWQgU1FMIGZvciB0aGUgc2Vs ZWN0ZWQKKyAgICAgICAgVHlwZSBub2RlCisKKyAgICAqIGdldF9zcWwoZGF0 YSwgc2NpZCwgdGlkKQorICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2Vu ZXJhdGUgc3FsIGZyb20gbW9kZWwgZGF0YQorCisgICAgKiBzcWwoZ2lkLCBz aWQsIGRpZCwgc2NpZCk6CisgICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCBn ZW5lcmF0ZSBzcWwgdG8gc2hvdyBpdCBpbiBzcWwgcGFuZSBmb3IgdGhlCisg ICAgICAgIHNlbGVjdGVkIFR5cGUgbm9kZS4KKworICAgICogZGVwZW5kZW5j eShnaWQsIHNpZCwgZGlkLCBzY2lkLCB0aWQpOgorICAgICAgLSBUaGlzIGZ1 bmN0aW9uIHdpbGwgZ2VuZXJhdGUgZGVwZW5kZW5jeSBsaXN0IHNob3cgaXQg aW4gZGVwZW5kZW5jeQorICAgICAgICBwYW5lIGZvciB0aGUgc2VsZWN0ZWQg VHlwZSBub2RlLgorCisgICAgKiBkZXBlbmRlbnQoZ2lkLCBzaWQsIGRpZCwg c2NpZCwgdGlkKToKKyAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIGdlbmVy YXRlIGRlcGVuZGVudCBsaXN0IHRvIHNob3cgaXQgaW4gZGVwZW5kZW50Cisg ICAgICAgIHBhbmUgZm9yIHRoZSBzZWxlY3RlZCBUeXBlIG5vZGUuCisKKyAg ICAqIGFkZGl0aW9uYWxfcHJvcGVydGllcyhjb3B5X2RpY3QsIHRpZCk6Cisg ICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgYWRkaXRpb25hbCBwcm9w ZXJ0aWVzIGluIHJlc3BvbnNlCisKKyAgICAqIGdldF9jb2xsYXRpb25zKGdp ZCwgc2lkLCBkaWQsIHNjaWQsIHRpZCk6CisgICAgICAtIFRoaXMgZnVuY3Rp b24gd2lsbCByZXR1cm4gbGlzdCBvZiBjb2xsYXRpb24gaW4gYWpheCByZXNw b25zZQorCisgICAgKiBnZXRfdHlwZXMoZ2lkLCBzaWQsIGRpZCwgc2NpZCwg dGlkKToKKyAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBsaXN0 IG9mIHR5cGVzIGluIGFqYXggcmVzcG9uc2UKKworICAgICogZ2V0X3N1YnR5 cGVzKGdpZCwgc2lkLCBkaWQsIHNjaWQsIHRpZCk6CisgICAgICAtIFRoaXMg ZnVuY3Rpb24gd2lsbCByZXR1cm4gbGlzdCBvZiBzdWJ0eXBlcyBpbiBhamF4 IHJlc3BvbnNlCisKKyAgICAqIGdldF9zdWJ0eXBlX29wY2xhc3MoZ2lkLCBz aWQsIGRpZCwgc2NpZCwgdGlkKToKKyAgICAgIC0gVGhpcyBmdW5jdGlvbiB3 aWxsIHJldHVybiBsaXN0IG9mIHN1YnR5cGUgb3BjbGFzcyBpbiBhamF4IHJl c3BvbnNlCisKKyAgICAqIGdldF9zdWJ0eXBlX2RpZmYoZ2lkLCBzaWQsIGRp ZCwgc2NpZCwgdGlkKToKKyAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHJl dHVybiBsaXN0IG9mIHN1YnR5cGUgZGlmZiBmdW5jdGlvbnMKKyAgICAgICAg aW4gYWpheCByZXNwb25zZQorCisgICAgKiBnZXRfY2Fub25pY2FsKGdpZCwg c2lkLCBkaWQsIHNjaWQsIHRpZCk6CisgICAgICAtIFRoaXMgZnVuY3Rpb24g d2lsbCByZXR1cm4gbGlzdCBvZiBjYW5vbmljYWwgZnVuY3Rpb25zCisgICAg ICAgIGluIGFqYXggcmVzcG9uc2UKKworICAgICogZ2V0X2V4dGVybmFsX2Z1 bmN0aW9uc19saXN0KGdpZCwgc2lkLCBkaWQsIHNjaWQsIHRpZCk6CisgICAg ICAtIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gbGlzdCBvZiBleHRlcm5h bCBmdW5jdGlvbnMKKyAgICAgICAgaW4gYWpheCByZXNwb25zZQorICAgICIi IgorCisgICAgbm9kZV90eXBlID0gYmx1ZXByaW50Lm5vZGVfdHlwZQorCisg ICAgcGFyZW50X2lkcyA9IFsKKyAgICAgICAgICAgIHsndHlwZSc6ICdpbnQn LCAnaWQnOiAnZ2lkJ30sCisgICAgICAgICAgICB7J3R5cGUnOiAnaW50Jywg J2lkJzogJ3NpZCd9LAorICAgICAgICAgICAgeyd0eXBlJzogJ2ludCcsICdp ZCc6ICdkaWQnfSwKKyAgICAgICAgICAgIHsndHlwZSc6ICdpbnQnLCAnaWQn OiAnc2NpZCd9CisgICAgICAgICAgICBdCisgICAgaWRzID0gWworICAgICAg ICAgICAgeyd0eXBlJzogJ2ludCcsICdpZCc6ICd0aWQnfQorICAgICAgICAg ICAgXQorCisgICAgb3BlcmF0aW9ucyA9IGRpY3QoeworICAgICAgICAnb2Jq JzogWworICAgICAgICAgICAgeydnZXQnOiAncHJvcGVydGllcycsICdkZWxl dGUnOiAnZGVsZXRlJywgJ3B1dCc6ICd1cGRhdGUnfSwKKyAgICAgICAgICAg IHsnZ2V0JzogJ2xpc3QnLCAncG9zdCc6ICdjcmVhdGUnfQorICAgICAgICBd LAorICAgICAgICAnZGVsZXRlJzogW3snZGVsZXRlJzogJ2RlbGV0ZSd9XSwK KyAgICAgICAgJ2NoaWxkcmVuJzogW3snZ2V0JzogJ2NoaWxkcmVuJ31dLAor ICAgICAgICAnbm9kZXMnOiBbeydnZXQnOiAnbm9kZSd9LCB7J2dldCc6ICdu b2Rlcyd9XSwKKyAgICAgICAgJ3NxbCc6IFt7J2dldCc6ICdzcWwnfV0sCisg ICAgICAgICdtc3FsJzogW3snZ2V0JzogJ21zcWwnfSwgeydnZXQnOiAnbXNx bCd9XSwKKyAgICAgICAgJ3N0YXRzJzogW3snZ2V0JzogJ3N0YXRpc3RpY3Mn fV0sCisgICAgICAgICdkZXBlbmRlbmN5JzogW3snZ2V0JzogJ2RlcGVuZGVu Y2llcyd9XSwKKyAgICAgICAgJ2RlcGVuZGVudCc6IFt7J2dldCc6ICdkZXBl bmRlbnRzJ31dLAorICAgICAgICAnbW9kdWxlLmpzJzogW3t9LCB7fSwgeydn ZXQnOiAnbW9kdWxlX2pzJ31dLAorICAgICAgICAnZ2V0X3R5cGVzJzogW3sn Z2V0JzogJ2dldF90eXBlcyd9LCB7J2dldCc6ICdnZXRfdHlwZXMnfV0sCisg ICAgICAgICdnZXRfc3R5cGVzJzogW3snZ2V0JzogJ2dldF9zdWJ0eXBlcyd9 LCB7J2dldCc6ICdnZXRfc3VidHlwZXMnfV0sCisgICAgICAgICdnZXRfc3Vi b3BjbGFzcyc6IFt7J2dldCc6ICdnZXRfc3VidHlwZV9vcGNsYXNzJ30sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICB7J2dldCc6ICdnZXRfc3VidHlw ZV9vcGNsYXNzJ31dLAorICAgICAgICAnZ2V0X3N0eXBlZGlmZic6IFt7J2dl dCc6ICdnZXRfc3VidHlwZV9kaWZmJ30sIHsnZ2V0JzogJ2dldF9zdWJ0eXBl X2RpZmYnfV0sCisgICAgICAgICdnZXRfY2Fub25pY2FsJzogW3snZ2V0Jzog J2dldF9jYW5vbmljYWwnfSwgeydnZXQnOiAnZ2V0X2Nhbm9uaWNhbCd9XSwK KyAgICAgICAgJ2dldF9jb2xsYXRpb25zJzogW3snZ2V0JzogJ2dldF9jb2xs YXRpb25zJ30sIHsnZ2V0JzogJ2dldF9jb2xsYXRpb25zJ31dLAorICAgICAg ICAnZ2V0X2V4dGVybmFsX2Z1bmN0aW9ucyc6IFt7J2dldCc6ICdnZXRfZXh0 ZXJuYWxfZnVuY3Rpb25zX2xpc3QnfSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgeydnZXQnOiAnZ2V0X2V4dGVybmFsX2Z1bmN0aW9u c19saXN0J31dCisgICAgfSkKKworICAgIGRlZiBjaGVja19wcmVjb25kaXRp b24oZik6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdp bGwgYmVoYXZlIGFzIGEgZGVjb3JhdG9yIHdoaWNoIHdpbGwgY2hlY2tzCisg ICAgICAgIGRhdGFiYXNlIGNvbm5lY3Rpb24gYmVmb3JlIHJ1bm5pbmcgdmll dywgaXQgd2lsbCBhbHNvIGF0dGFjaGVzCisgICAgICAgIG1hbmFnZXIsY29u biAmIHRlbXBsYXRlX3BhdGggcHJvcGVydGllcyB0byBzZWxmCisgICAgICAg ICIiIgorICAgICAgICBAd3JhcHMoZikKKyAgICAgICAgZGVmIHdyYXAoKmFy Z3MsICoqa3dhcmdzKToKKyAgICAgICAgICAgICMgSGVyZSBhcmdzWzBdIHdp bGwgaG9sZCBzZWxmICYga3dhcmdzIHdpbGwgaG9sZCBnaWQsc2lkLGRpZAor ICAgICAgICAgICAgc2VsZiA9IGFyZ3NbMF0KKyAgICAgICAgICAgIHNlbGYu bWFuYWdlciA9IGdldF9kcml2ZXIoUEdfREVGQVVMVF9EUklWRVIpLmNvbm5l Y3Rpb25fbWFuYWdlcihrd2FyZ3NbJ3NpZCddKQorICAgICAgICAgICAgc2Vs Zi5jb25uID0gc2VsZi5tYW5hZ2VyLmNvbm5lY3Rpb24oZGlkPWt3YXJnc1sn ZGlkJ10pCisKKyAgICAgICAgICAgICMgV2UgbmVlZCBkYXRsYXN0c3lzb2lk IHRvIGNoZWNrIGlmIGN1cnJlbnQgdHlwZSBpcyBzeXN0ZW0gdHlwZQorICAg ICAgICAgICAgc2VsZi5kYXRsYXN0c3lzb2lkID0gc2VsZi5tYW5hZ2VyLmRi X2luZm9ba3dhcmdzWydkaWQnXV1bJ2RhdGxhc3RzeXNvaWQnXQorCisgICAg ICAgICAgICAjIElmIERCIG5vdCBjb25uZWN0ZWQgdGhlbiByZXR1cm4gZXJy b3IgdG8gYnJvd3NlcgorICAgICAgICAgICAgaWYgbm90IHNlbGYuY29ubi5j b25uZWN0ZWQoKToKKyAgICAgICAgICAgICAgICByZXR1cm4gcHJlY29uZGl0 aW9uX3JlcXVpcmVkKAorICAgICAgICAgICAgICAgICAgICBnZXR0ZXh0KAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb25uZWN0aW9uIHRvIHRo ZSBzZXJ2ZXIgaGFzIGJlZW4gbG9zdCEiCisgICAgICAgICAgICAgICAgICAg ICkKKyAgICAgICAgICAgICAgICApCisKKyAgICAgICAgICAgICMgRGVjbGFy ZSBhbGxvd3MgYWNsIG9uIHR5cGUKKyAgICAgICAgICAgIHNlbGYuYWNsID0g WydVJ10KKworICAgICAgICAgICAgIyB3ZSB3aWxsIHNldCB0ZW1wbGF0ZSBw YXRoIGZvciBzcWwgc2NyaXB0cworICAgICAgICAgICAgc2VsZi50ZW1wbGF0 ZV9wYXRoID0gJ3R5cGUvc3FsLzkuMV9wbHVzJworCisgICAgICAgICAgICBy ZXR1cm4gZigqYXJncywgKiprd2FyZ3MpCisKKyAgICAgICAgcmV0dXJuIHdy YXAKKworICAgIEBjaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYgbGlzdChz ZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkKToKKyAgICAgICAgIiIiCisgICAg ICAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBsaXN0IGFsbCB0aGUgdHlw ZSBub2RlcyB3aXRoaW4gdGhhdCBjb2xsZWN0aW9uLgorCisgICAgICAgIEFy Z3M6CisgICAgICAgICAgICBnaWQ6IFNlcnZlciBncm91cCBJRAorICAgICAg ICAgICAgc2lkOiBTZXJ2ZXIgSUQKKyAgICAgICAgICAgIGRpZDogRGF0YWJh c2UgSUQKKyAgICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJRAorICAgICAgICAg ICAgdGlkOiBUeXBlIElECisKKyAgICAgICAgUmV0dXJuczoKKyAgICAgICAg ICAgIEpTT04gb2YgYXZhaWxhYmxlIHR5cGUgbm9kZXMKKyAgICAgICAgIiIi CisKKyAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtz ZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNjaWQ9c2NpZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRhdGxhc3RzeXNvaWQ9c2VsZi5kYXRs YXN0c3lzb2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hv d19zeXN0ZW1fb2JqZWN0cz1zZWxmLmJsdWVwcmludC5zaG93X3N5c3RlbV9v YmplY3RzKQorCisgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4 ZWN1dGVfZGljdChTUUwpCisKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAg ICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jt c2c9cmVzKQorICAgICAgICByZXR1cm4gYWpheF9yZXNwb25zZSgKKyAgICAg ICAgICAgICAgICByZXNwb25zZT1yZXNbJ3Jvd3MnXSwKKyAgICAgICAgICAg ICAgICBzdGF0dXM9MjAwCisgICAgICAgICAgICAgICAgKQorCisgICAgQGNo ZWNrX3ByZWNvbmRpdGlvbgorICAgIGRlZiBub2RlcyhzZWxmLCBnaWQsIHNp ZCwgZGlkLCBzY2lkKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVu Y3Rpb24gd2lsbCB1c2VkIHRvIGNyZWF0ZSBhbGwgdGhlIGNoaWxkIG5vZGUg d2l0aGluIHRoYXQgY29sbGVjdGlvbi4KKyAgICAgICAgSGVyZSBpdCB3aWxs IGNyZWF0ZSBhbGwgdGhlIHR5cGUgbm9kZS4KKworICAgICAgICBBcmdzOgor ICAgICAgICAgICAgZ2lkOiBTZXJ2ZXIgR3JvdXAgSUQKKyAgICAgICAgICAg IHNpZDogU2VydmVyIElECisgICAgICAgICAgICBkaWQ6IERhdGFiYXNlIElE CisgICAgICAgICAgICBzY2lkOiBTY2hlbWEgSUQKKyAgICAgICAgICAgIHRp ZDogVHlwZSBJRAorCisgICAgICAgIFJldHVybnM6CisgICAgICAgICAgICBK U09OIG9mIGF2YWlsYWJsZSB0eXBlIGNoaWxkIG5vZGVzCisgICAgICAgICIi IgorCisgICAgICAgIHJlcyA9IFtdCisgICAgICAgIFNRTCA9IHJlbmRlcl90 ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdub2Rlcy5zcWwn XSksIHNjaWQ9c2NpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNob3dfc3lzdGVtX29iamVjdHM9c2VsZi5ibHVlcHJpbnQuc2hvd19zeXN0 ZW1fb2JqZWN0cykKKyAgICAgICAgc3RhdHVzLCByc2V0ID0gc2VsZi5jb25u LmV4ZWN1dGVfMmRhcnJheShTUUwpCisgICAgICAgIGlmIG5vdCBzdGF0dXM6 CisgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVy cm9ybXNnPXJzZXQpCisKKyAgICAgICAgZm9yIHJvdyBpbiByc2V0Wydyb3dz J106CisgICAgICAgICAgICByZXMuYXBwZW5kKAorICAgICAgICAgICAgICAg ICAgICBzZWxmLmJsdWVwcmludC5nZW5lcmF0ZV9icm93c2VyX25vZGUoCisg ICAgICAgICAgICAgICAgICAgICAgICByb3dbJ29pZCddLAorICAgICAgICAg ICAgICAgICAgICAgICAgc2NpZCwKKyAgICAgICAgICAgICAgICAgICAgICAg IHJvd1snbmFtZSddLAorICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj0i aWNvbi10eXBlIgorICAgICAgICAgICAgICAgICAgICApKQorCisgICAgICAg IHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICAgICAg ZGF0YT1yZXMsCisgICAgICAgICAgICAgICAgc3RhdHVzPTIwMAorICAgICAg ICAgICAgICAgICkKKworICAgIGRlZiBhZGRpdGlvbmFsX3Byb3BlcnRpZXMo c2VsZiwgY29weV9kaWN0LCB0aWQpOgorICAgICAgICAiIiIKKyAgICAgICAg V2Ugd2lsbCB1c2UgdGhpcyBmdW5jdGlvbiB0byBhZGQgYWRkaXRpb25hbCBw cm9wZXJ0aWVzIGFjY29yZGluZyB0byB0eXBlCisKKyAgICAgICAgUmV0dXJu czoKKyAgICAgICAgICAgIGFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgdHlw ZSBsaWtlIHJhbmdlL2NvbXBvc2l0ZS9lbnVtCisKKyAgICAgICAgIiIiCisg ICAgICAgICMgRmV0Y2hpbmcgdHlwZSBvZiB0eXBlCisgICAgICAgIG9mX3R5 cGUgPSBjb3B5X2RpY3RbJ3R5cHR5cGUnXQorICAgICAgICByZXMgPSBkaWN0 KCkKKyAgICAgICAgIyBJZiB0eXBlIGlzIG9mIENvbXBvc2l0ZSB0aGVuIHdl IG5lZWQgdG8gYWRkIG1lbWJlcnMgbGlzdCBpbiBvdXIgb3V0cHV0CisgICAg ICAgIGlmIG9mX3R5cGUgPT0gJ2MnOgorICAgICAgICAgICAgU1FMID0gcmVu ZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdh ZGRpdGlvbmFsX3Byb3BlcnRpZXMuc3FsJ10pLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHR5cGU9J2MnLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHR5cHJlbGlkPWNvcHlfZGljdFsndHlwcmVs aWQnXSkKKyAgICAgICAgICAgIHN0YXR1cywgcnNldCA9IHNlbGYuY29ubi5l eGVjdXRlXzJkYXJyYXkoU1FMKQorICAgICAgICAgICAgaWYgbm90IHN0YXR1 czoKKyAgICAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vy cm9yKGVycm9ybXNnPXJlcykKKworICAgICAgICAgICAgIyBUbyBkaXNwbGF5 IGluIHByb3BlcnRpZXMKKyAgICAgICAgICAgIHByb3BlcnRpZXNfbGlzdCA9 IFtdCisgICAgICAgICAgICAjIFRvIGRpc3BsYXkgaW4gY29tcG9zaXRlIGNv bGxlY3Rpb24gZ3JpZAorICAgICAgICAgICAgY29tcG9zaXRlX2xzdCA9IFtd CisKKyAgICAgICAgICAgIGZvciByb3cgaW4gcnNldFsncm93cyddOgorICAg ICAgICAgICAgICAgIHR5cGVsaXN0ID0gJyAnLmpvaW4oW3Jvd1snYXR0bmFt ZSddLCByb3dbJ3R5cG5hbWUnXV0pCisgICAgICAgICAgICAgICAgaWYgbm90 IHJvd1snY29sbG5hbWUnXSBvciAocm93Wydjb2xsbmFtZSddID09ICdkZWZh dWx0JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGFuZCByb3dbJ2NvbGxuc3BuYW1lJ10gPT0gJ3BnX2NhdGFsb2cnKToK KyAgICAgICAgICAgICAgICAgICAgZnVsbF9jb2xsYXRlID0gJycKKyAgICAg ICAgICAgICAgICAgICAgY29sbGF0ZSA9ICcnCisgICAgICAgICAgICAgICAg ZWxzZToKKyAgICAgICAgICAgICAgICAgICAgZnVsbF9jb2xsYXRlID0gZ2V0 X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikucXRJZGVudCgKKyAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYuY29ubiwgcm93Wydjb2xsbnNwbmFtZSdd LCByb3dbJ2NvbGxuYW1lJ10pCisgICAgICAgICAgICAgICAgICAgIGNvbGxh dGUgPSAnIENPTExBVEUgJyArIGZ1bGxfY29sbGF0ZQorICAgICAgICAgICAg ICAgIHR5cGVsaXN0ICs9IGNvbGxhdGUKKyAgICAgICAgICAgICAgICBwcm9w ZXJ0aWVzX2xpc3QuYXBwZW5kKHR5cGVsaXN0KQorCisgICAgICAgICAgICAg ICAgIyBCZWxvdyBsb2dpYyB3aWxsIGFsbG93IHVzIHRvIHNwbGl0IGxlbmd0 aCwgcHJlY2lzaW9uIGZyb20gdHlwZSBuYW1lIGZvciBncmlkCisgICAgICAg ICAgICAgICAgaW1wb3J0IHJlCisgICAgICAgICAgICAgICAgbWF0Y2hPYmog PSByZS5tYXRjaCggcicoLiopXCgoLio/KSwoLio/KVwpJywgcm93Wyd0eXBu YW1lJ10pCisgICAgICAgICAgICAgICAgaWYgbWF0Y2hPYmo6CisgICAgICAg ICAgICAgICAgICAgIHRfbmFtZSA9IG1hdGNoT2JqLmdyb3VwKDEpCisgICAg ICAgICAgICAgICAgICAgIHRfbGVuID0gbWF0Y2hPYmouZ3JvdXAoMikKKyAg ICAgICAgICAgICAgICAgICAgdF9wcmVjID0gbWF0Y2hPYmouZ3JvdXAoMykK KyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICB0 X25hbWUgPSByb3dbJ3R5cG5hbWUnXQorICAgICAgICAgICAgICAgICAgICB0 X2xlbiA9IE5vbmUKKyAgICAgICAgICAgICAgICAgICAgdF9wcmVjID0gTm9u ZQorCisgICAgICAgICAgICAgICAgY29tcG9zaXRlX2xzdC5hcHBlbmQoewor ICAgICAgICAgICAgICAgICAgICAnYXR0bnVtJzpyb3dbJ2F0dG51bSddLCAn bWVtYmVyX25hbWUnOiByb3dbJ2F0dG5hbWUnXSwgJ3R5cGUnOiB0X25hbWUs ICdjb2xsYXRpb24nOiBmdWxsX2NvbGxhdGUsCisgICAgICAgICAgICAgICAg ICAgICd0bGVuZ3RoJzogdF9sZW4sICdwcmVjaXNpb24nOiB0X3ByZWMgfSkK KworICAgICAgICAgICAgIyBBZGRpbmcgYm90aCByZXN1bHRzCisgICAgICAg ICAgICByZXNbJ21lbWJlcl9saXN0J10gPSAnLCAnLmpvaW4ocHJvcGVydGll c19saXN0KQorICAgICAgICAgICAgcmVzWydjb21wb3NpdGUnXSA9IGNvbXBv c2l0ZV9sc3QKKworICAgICAgICAjIElmIHR5cGUgaXMgb2YgRU5VTSB0aGVu IHdlIG5lZWQgdG8gYWRkIGxhYmVscyBpbiBvdXIgb3V0cHV0CisgICAgICAg IGlmIG9mX3R5cGUgPT0gJ2UnOgorICAgICAgICAgICAgU1FMID0gcmVuZGVy X3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhZGRp dGlvbmFsX3Byb3BlcnRpZXMuc3FsJ10pLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHR5cGU9J2UnLCB0aWQ9dGlkKQorICAgICAgICAg ICAgc3RhdHVzLCByc2V0ID0gc2VsZi5jb25uLmV4ZWN1dGVfMmRhcnJheShT UUwpCisgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAg ICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVz KQorICAgICAgICAgICAgIyBUbyBkaXNwbGF5IGluIHByb3BlcnRpZXMKKyAg ICAgICAgICAgIHByb3BlcnRpZXNfbGlzdCA9IFtdCisgICAgICAgICAgICAj IFRvIGRpc3BsYXkgaW4gZW51bSBncmlkCisgICAgICAgICAgICBlbnVtX2xp c3QgPSBbXQorICAgICAgICAgICAgZm9yIHJvdyBpbiByc2V0Wydyb3dzJ106 CisgICAgICAgICAgICAgICAgcHJvcGVydGllc19saXN0LmFwcGVuZChyb3db J2VudW1sYWJlbCddKQorICAgICAgICAgICAgICAgIGVudW1fbGlzdC5hcHBl bmQoeydsYWJlbCc6IHJvd1snZW51bWxhYmVsJ119KQorCisgICAgICAgICAg ICAjIEFkZGluZyBib3RoIHJlc3VsdHMgaW4gb3VwdXQKKyAgICAgICAgICAg IHJlc1snZW51bV9saXN0J10gPSAnLCAnLmpvaW4ocHJvcGVydGllc19saXN0 KQorICAgICAgICAgICAgcmVzWydlbnVtJ10gPSBlbnVtX2xpc3QKKworICAg ICAgICAjIElmIHR5cGUgaXMgb2YgUmFuZ2UgdGhlbiB3ZSBuZWVkIHRvIGFk ZCBjb2xsYXRpb24sc3VidHlwZSBldGMgaW4gb3VyIG91dHB1dAorICAgICAg ICBpZiBvZl90eXBlID09ICdyJzoKKyAgICAgICAgICAgIFNRTCA9IHJlbmRl cl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRk aXRpb25hbF9wcm9wZXJ0aWVzLnNxbCddKSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB0eXBlPSdyJywgdGlkPXRpZCkKKyAgICAgICAg ICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwp CisgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAg IHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQor ICAgICAgICAgICAgcmFuZ2VfZGljdCA9IGRpY3QocmVzWydyb3dzJ11bMF0p CisgICAgICAgICAgICByZXMudXBkYXRlKHJhbmdlX2RpY3QpCisKKyAgICAg ICAgIyBSZXR1cm5pbmcgb25seSBhZGRpdGlvbmFsIHByb3BlcnRpZXMgb25s eQorICAgICAgICByZXR1cm4gcmVzCisKKyAgICBAY2hlY2tfcHJlY29uZGl0 aW9uCisgICAgZGVmIHByb3BlcnRpZXMoc2VsZiwgZ2lkLCBzaWQsIGRpZCwg c2NpZCwgdGlkKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rp b24gd2lsbCBzaG93IHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzZWxlY3RlZCB0 eXBlIG5vZGUuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGdpZDog U2VydmVyIEdyb3VwIElECisgICAgICAgICAgICBzaWQ6IFNlcnZlciBJRAor ICAgICAgICAgICAgZGlkOiAgRGF0YWJhc2UgSUQKKyAgICAgICAgICAgIHNj aWQ6IFNjaGVtYSBJRAorICAgICAgICAgICAgc2NpZDogU2NoZW1hIElECisg ICAgICAgICAgICB0aWQ6IFR5cGUgSUQKKworICAgICAgICBSZXR1cm5zOgor ICAgICAgICAgICAgSlNPTiBvZiBzZWxlY3RlZCB0eXBlIG5vZGUKKyAgICAg ICAgIiIiCisKKyAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5q b2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMuc3FsJ10pLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NpZD1zY2lkLCB0aWQ9dGlk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0bGFzdHN5c29p ZD1zZWxmLmRhdGxhc3RzeXNvaWQsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzaG93X3N5c3RlbV9vYmplY3RzPXNlbGYuYmx1ZXByaW50LnNo b3dfc3lzdGVtX29iamVjdHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICkKKyAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0 ZV9kaWN0KFNRTCkKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAg ICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVz KQorCisgICAgICAgICMgTWFraW5nIGNvcHkgb2Ygb3V0cHV0IGZvciBmdXR1 cmUgdXNlCisgICAgICAgIGNvcHlfZGljdCA9IGRpY3QocmVzWydyb3dzJ11b MF0pCisKKyAgICAgICAgIyBXZSBuZWVkIHRvIHBhcnNlICYgY29udmVydCBB Q0wgY29taW5nIGZyb20gZGF0YWJhc2UgdG8ganNvbiBmb3JtYXQKKyAgICAg ICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBs YXRlX3BhdGgsICdhY2wuc3FsJ10pLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2NpZD1zY2lkLCB0aWQ9dGlkKQorICAgICAgICBzdGF0dXMs IGFjbCA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3QoU1FMKQorICAgICAgICBp ZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3Nl cnZlcl9lcnJvcihlcnJvcm1zZz1hY2wpCisKKyAgICAgICAgIyBXZSB3aWxs IHNldCBnZXQgcHJpdmlsZWdlcyBmcm9tIGFjbCBzcWwgc28gd2UgZG9uJ3Qg bmVlZAorICAgICAgICAjIGl0IGZyb20gcHJvcGVydGllcyBzcWwKKyAgICAg ICAgY29weV9kaWN0Wyd0eXBhY2wnXSA9IFtdCisKKworICAgICAgICBmb3Ig cm93IGluIGFjbFsncm93cyddOgorICAgICAgICAgICAgcHJpdiA9IHBhcnNl X3ByaXZfZnJvbV9kYihyb3cpCisgICAgICAgICAgICBpZiByb3dbJ2RlZnR5 cGUnXSBpbiBjb3B5X2RpY3Q6CisgICAgICAgICAgICAgICAgY29weV9kaWN0 W3Jvd1snZGVmdHlwZSddXS5hcHBlbmQocHJpdikKKyAgICAgICAgICAgIGVs c2U6CisgICAgICAgICAgICAgICAgY29weV9kaWN0W3Jvd1snZGVmdHlwZSdd XSA9IFtwcml2XQorCisgICAgICAgICMgQ2FsbGluZyBmdW5jdGlvbiB0byBj aGVjayBhbmQgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIGlmIGF2YWlsYWJsZQor ICAgICAgICBjb3B5X2RpY3QudXBkYXRlKHNlbGYuYWRkaXRpb25hbF9wcm9w ZXJ0aWVzKGNvcHlfZGljdCwgdGlkKSkKKworICAgICAgICByZXR1cm4gYWph eF9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICByZXNwb25zZT1jb3B5X2Rp Y3QsCisgICAgICAgICAgICAgICAgc3RhdHVzPTIwMAorICAgICAgICAgICAg ICAgICkKKworICAgIEBjaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYgZ2V0 X2NvbGxhdGlvbnMoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgdGlkPU5v bmUpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxs IHJldHVybiBsaXN0IG9mIGNvbGxhdGlvbiBhdmFpbGFibGUKKyAgICAgICAg YXMgQUpBWCByZXNwb25zZS4KKyAgICAgICAgIiIiCisgICAgICAgIHJlcyA9 IFt7J2xhYmVsJzogJycsICd2YWx1ZSc6ICcnfV0KKyAgICAgICAgdHJ5Ogor ICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtz ZWxmLnRlbXBsYXRlX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdnZXRfY29sbGF0aW9ucy5zcWwnXSkpCisg ICAgICAgICAgICBzdGF0dXMsIHJzZXQgPSBzZWxmLmNvbm4uZXhlY3V0ZV8y ZGFycmF5KFNRTCkKKyAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAg ICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJv cm1zZz1yZXMpCisKKyAgICAgICAgICAgIGZvciByb3cgaW4gcnNldFsncm93 cyddOgorICAgICAgICAgICAgICAgIHJlcy5hcHBlbmQoCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeydsYWJlbCc6IHJvd1snY29sbGF0aW9uJ10s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZSc6IHJvd1sn Y29sbGF0aW9uJ119CisgICAgICAgICAgICAgICAgICAgICAgICApCisgICAg ICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAg ICAgICAgICAgICBkYXRhPXJlcywKKyAgICAgICAgICAgICAgICAgICAgc3Rh dHVzPTIwMAorICAgICAgICAgICAgICAgICAgICApCisKKyAgICAgICAgZXhj ZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgcmV0dXJuIGludGVy bmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIoZSkpCisKKyAgICBAY2hl Y2tfcHJlY29uZGl0aW9uCisgICAgZGVmIGdldF90eXBlcyhzZWxmLCBnaWQs IHNpZCwgZGlkLCBzY2lkLCB0aWQ9Tm9uZSk6CisgICAgICAgICIiIgorICAg ICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGxpc3Qgb2YgdHlwZXMg YXZhaWxhYmxlCisgICAgICAgIGFzIEFKQVggcmVzcG9uc2UuCisgICAgICAg ICIiIgorICAgICAgICByZXMgPSBbXQorICAgICAgICB0cnk6CisgICAgICAg ICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVt cGxhdGVfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ2dldF90eXBlcy5zcWwnXSkpCisgICAgICAgICAgICBz dGF0dXMsIHJzZXQgPSBzZWxmLmNvbm4uZXhlY3V0ZV8yZGFycmF5KFNRTCkK KyAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAg cmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisK KyAgICAgICAgICAgIGZvciByb3cgaW4gcnNldFsncm93cyddOgorICAgICAg ICAgICAgICAgICMgQXR0YWNoaW5nIHByb3BlcnRpZXMgZm9yIHByZWNlc3Np b24KKyAgICAgICAgICAgICAgICAjICYgbGVuZ3RoIHZhbGlkYXRpb24gZm9y IGN1cnJlbnQgdHlwZQorICAgICAgICAgICAgICAgIHByZWNpc2lvbiA9IEZh bHNlCisgICAgICAgICAgICAgICAgbGVuZ3RoID0gRmFsc2UKKyAgICAgICAg ICAgICAgICBtaW5fdmFsID0gMAorICAgICAgICAgICAgICAgIG1heF92YWwg PSAwCisKKyAgICAgICAgICAgICAgICAjIENoZWNrIGFnYWluc3QgUEdPSUQg Zm9yIHNwZWNpZmljIHR5cGUKKyAgICAgICAgICAgICAgICBpZiByb3dbJ2Vs ZW1vaWQnXToKKyAgICAgICAgICAgICAgICAgICAgaWYgcm93WydlbGVtb2lk J10gaW4gKDE1NjAsIDE1NjEsIDE1NjIsIDE1NjMsIDEwNDIsIDEwNDMsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDE0 LCAxMDE1KToKKyAgICAgICAgICAgICAgICAgICAgICAgIHR5cGV2YWwgPSAn TCcKKyAgICAgICAgICAgICAgICAgICAgZWxpZiByb3dbJ2VsZW1vaWQnXSBp biAoMTA4MywgMTExNCwgMTExNSwgMTE4MywgMTE4NCwgMTE4NSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTE4Niwg MTE4NywgMTI2NiwgMTI3MCk6CisgICAgICAgICAgICAgICAgICAgICAgICB0 eXBldmFsID0gJ0QnCisgICAgICAgICAgICAgICAgICAgIGVsaWYgcm93Wydl bGVtb2lkJ10gaW4gKDEyMzEsIDE3MDApOgorICAgICAgICAgICAgICAgICAg ICAgICAgdHlwZXZhbCA9ICdQJworICAgICAgICAgICAgICAgICAgICBlbHNl OgorICAgICAgICAgICAgICAgICAgICAgICAgdHlwZXZhbCA9ICcgJworCisg ICAgICAgICAgICAgICAgIyBMb2dpYyB0byBzZXQgcHJlY2lzaW9uICYgbGVu Z3RoL21pbi9tYXggdmFsdWVzCisgICAgICAgICAgICAgICAgaWYgdHlwZXZh bCA9PSAnUCc6CisgICAgICAgICAgICAgICAgICAgIHByZWNpc2lvbiA9IFRy dWUKKworICAgICAgICAgICAgICAgIGlmIHByZWNpc2lvbiBvciB0eXBldmFs IGluICgnTCcsICdEJyk6CisgICAgICAgICAgICAgICAgICAgIGxlbmd0aCA9 IFRydWUKKyAgICAgICAgICAgICAgICAgICAgbWluX3ZhbCA9IDAgaWYgdHlw ZXZhbCA9PSAnRCcgZWxzZSAxCisgICAgICAgICAgICAgICAgICAgIGlmIHBy ZWNpc2lvbjoKKyAgICAgICAgICAgICAgICAgICAgICAgIG1heF92YWwgPSAx MDAwCisgICAgICAgICAgICAgICAgICAgIGVsaWYgbWluX3ZhbDoKKyAgICAg ICAgICAgICAgICAgICAgICAgICMgTWF4IG9mIGludGVnZXIgdmFsdWUKKyAg ICAgICAgICAgICAgICAgICAgICAgIG1heF92YWwgPSAyMTQ3NDgzNjQ3Cisg ICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAg ICAgICBtYXhfdmFsID0gMTAKKworICAgICAgICAgICAgICAgIHJlcy5hcHBl bmQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeydsYWJlbCc6IHJv d1sndHlwbmFtZSddLCAndmFsdWUnOiByb3dbJ3R5cG5hbWUnXSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ3R5cHZhbCc6IHR5cGV2YWwsICdw cmVjaXNpb24nOiBwcmVjaXNpb24sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdsZW5ndGgnOiBsZW5ndGgsICdtaW5fdmFsJzogbWluX3ZhbCwg J21heF92YWwnOiBtYXhfdmFsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICkKKworICAgICAgICAg ICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAg ICAgICAgZGF0YT1yZXMsCisgICAgICAgICAgICAgICAgICAgIHN0YXR1cz0y MDAKKyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICBleGNlcHQgRXhj ZXB0aW9uIGFzIGU6CisgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2Vy dmVyX2Vycm9yKGVycm9ybXNnPXN0cihlKSkKKworICAgIEBjaGVja19wcmVj b25kaXRpb24KKyAgICBkZWYgZ2V0X3N1YnR5cGVzKHNlbGYsIGdpZCwgc2lk LCBkaWQsIHNjaWQsIHRpZD1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAg IFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gbGlzdCBvZiBzdWJ0eXBlcyBh dmFpbGFibGUKKyAgICAgICAgYXMgQUpBWCByZXNwb25zZS4KKyAgICAgICAg IiIiCisgICAgICAgIHJlcyA9IFt7J2xhYmVsJzogJycsICd2YWx1ZSc6ICcn fV0KKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgU1FMID0gcmVuZGVyX3Rl bXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnZXRfc3Vi dHlwZXMuc3FsJ10pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN1YnR5cGU9VHJ1ZSkKKyAgICAgICAgICAgIHN0YXR1cywgcnNldCA9 IHNlbGYuY29ubi5leGVjdXRlXzJkYXJyYXkoU1FMKQorICAgICAgICAgICAg aWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgICAgICByZXR1cm4gaW50ZXJu YWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKKworICAgICAgICAgICAg Zm9yIHJvdyBpbiByc2V0Wydyb3dzJ106CisgICAgICAgICAgICAgICAgcmVz LmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J2xhYmVs Jzogcm93WydzdHlwZSddLCAndmFsdWUnOiByb3dbJ3N0eXBlJ10sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICdpc19jb2xsYXRlJzogcm93Wydp c19jb2xsYXRlJ119CisgICAgICAgICAgICAgICAgICAgICAgICApCisKKyAg ICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAg ICAgICAgICAgICAgIGRhdGE9cmVzLAorICAgICAgICAgICAgICAgICAgICBz dGF0dXM9MjAwCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgZXhj ZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgcmV0dXJuIGludGVy bmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIoZSkpCisKKyAgICBAY2hl Y2tfcHJlY29uZGl0aW9uCisgICAgZGVmIGdldF9zdWJ0eXBlX29wY2xhc3Mo c2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgdGlkPU5vbmUpOgorICAgICAg ICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBsaXN0 IG9mIHN1YnR5cGUgb3BjbGFzcyBhdmFpbGFibGUKKyAgICAgICAgYXMgQUpB WCByZXNwb25zZS4KKyAgICAgICAgIiIiCisgICAgICAgIHJlcyA9IFt7J2xh YmVsJzogJycsICd2YWx1ZSc6ICcnfV0KKyAgICAgICAgZGF0YSA9IHJlcXVl c3QuYXJncworCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIFNRTCA9IHJl bmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn Z2V0X3N1YnR5cGVzLnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdWJ0eXBlX29wY2xhc3M9VHJ1ZSwgZGF0YT1kYXRhKQor ICAgICAgICAgICAgaWYgU1FMOgorICAgICAgICAgICAgICAgIHN0YXR1cywg cnNldCA9IHNlbGYuY29ubi5leGVjdXRlXzJkYXJyYXkoU1FMKQorICAgICAg ICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAgICAg IHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQor CisgICAgICAgICAgICAgICAgZm9yIHJvdyBpbiByc2V0Wydyb3dzJ106Cisg ICAgICAgICAgICAgICAgICAgIHJlcy5hcHBlbmQoCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsnbGFiZWwnOiByb3dbJ29wY25hbWUnXSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZSc6IHJv d1snb3BjbmFtZSddfSkKKworICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNv bl9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICAgICAgZGF0YT1yZXMsCisg ICAgICAgICAgICAgICAgICAgIHN0YXR1cz0yMDAKKyAgICAgICAgICAgICAg ICAgICAgKQorCisgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAg ICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jt c2c9c3RyKGUpKQorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgorICAgIGRl ZiBnZXRfc3VidHlwZV9kaWZmKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQs IHRpZD1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rp b24gd2lsbCByZXR1cm4gbGlzdCBvZiBzdWJ0eXBlcyBkaWZmIGZ1bmN0aW9u cyBhdmFpbGFibGUKKyAgICAgICAgYXMgQUpBWCByZXNwb25zZS4KKyAgICAg ICAgIiIiCisgICAgICAgIHJlcyA9IFt7J2xhYmVsJzogJycsICd2YWx1ZSc6 ICcnfV0KKyAgICAgICAgZGF0YSA9IHJlcXVlc3QuYXJncworCisgICAgICAg IHRyeToKKyAgICAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIu am9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2V0X3N1YnR5cGVzLnNxbCdd KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfb3Bj aW50eXBlPVRydWUsIGRhdGE9ZGF0YSkKKyAgICAgICAgICAgIGlmIFNRTDoK KyAgICAgICAgICAgICAgICBzdGF0dXMsIG9wY2ludHlwZSA9IHNlbGYuY29u bi5leGVjdXRlX3NjYWxhcihTUUwpCisgICAgICAgICAgICAgICAgaWYgbm90 IHN0YXR1czoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFs X3NlcnZlcl9lcnJvcihlcnJvcm1zZz1vcGNpbnR5cGUpCisgICAgICAgICAg ICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRl bXBsYXRlX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnZ2V0X3N1YnR5cGVzLnNxbCddKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BjaW50eXBlPW9w Y2ludHlwZSwgY29ubj1zZWxmLmNvbm4pCisgICAgICAgICAgICAgICAgc3Rh dHVzLCByc2V0ID0gc2VsZi5jb25uLmV4ZWN1dGVfMmRhcnJheShTUUwpCisg ICAgICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1y ZXMpCisKKyAgICAgICAgICAgICAgICBmb3Igcm93IGluIHJzZXRbJ3Jvd3Mn XToKKyAgICAgICAgICAgICAgICAgICAgcmVzLmFwcGVuZCgKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgeydsYWJlbCc6IHJvd1snc3R5cGRp ZmYnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1 ZSc6IHJvd1snc3R5cGRpZmYnXX0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICApCisKKyAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9u c2UoCisgICAgICAgICAgICAgICAgICAgIGRhdGE9cmVzLAorICAgICAgICAg ICAgICAgICAgICBzdGF0dXM9MjAwCisgICAgICAgICAgICAgICAgICAgICkK KworICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAg ICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXN0cihl KSkKKworICAgIEBjaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYgZ2V0X2Nh bm9uaWNhbChzZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkLCB0aWQ9Tm9uZSk6 CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0 dXJuIGxpc3Qgb2YgY2Fub25pY2FsIGZ1bmN0aW9ucyBhdmFpbGFibGUKKyAg ICAgICAgYXMgQUpBWCByZXNwb25zZS4KKyAgICAgICAgIiIiCisgICAgICAg IHJlcyA9IFt7J2xhYmVsJzogJycsICd2YWx1ZSc6ICcnfV0KKyAgICAgICAg ZGF0YSA9IHJlcXVlc3QuYXJncworICAgICAgICBjYW5vbmljYWwgPSBUcnVl CisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgIyBXZSB3YW50IHRvIHNl bmQgZGF0YSBvbmx5IGlmIGluIHdlIGFyZSBpbiBlZGl0IG1vZGUKKyAgICAg ICAgICAgICMgZWxzZSB3ZSB3aWxsIGRpc2FibGUgdGhlIGNvbWJvYm94Cisg ICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3Nl bGYudGVtcGxhdGVfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ2dldF9zdWJ0eXBlcy5zcWwnXSksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0b2lkPVRydWUsIGRh dGE9ZGF0YSkKKyAgICAgICAgICAgIGlmIFNRTDoKKyAgICAgICAgICAgICAg ICBzdGF0dXMsIG9pZCA9IHNlbGYuY29ubi5leGVjdXRlX3NjYWxhcihTUUwp CisgICAgICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAg ICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1z Zz1vaWQpCisgICAgICAgICAgICAgICAgIyBJZiBvaWQgaXMgTm9uZSB0aGVu IGRvIG5vdCBydW4gU1FMCisgICAgICAgICAgICAgICAgaWYgb2lkIGlzIE5v bmU6CisgICAgICAgICAgICAgICAgICAgIGNhbm9uaWNhbCA9IEZhbHNlCisK KyAgICAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihb c2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnZ2V0X3N1YnR5cGVzLnNxbCddKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5vbmljYWw9Y2Fu b25pY2FsLCBjb25uPXNlbGYuY29ubiwgb2lkPW9pZCkKKyAgICAgICAgICAg IGlmIFNRTDoKKyAgICAgICAgICAgICAgICBzdGF0dXMsIHJzZXQgPSBzZWxm LmNvbm4uZXhlY3V0ZV8yZGFycmF5KFNRTCkKKyAgICAgICAgICAgICAgICBp ZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW50 ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKKworICAgICAgICAg ICAgICAgIGZvciByb3cgaW4gcnNldFsncm93cyddOgorICAgICAgICAgICAg ICAgICAgICByZXMuYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7J2xhYmVsJzogcm93WydjYW5vbmljYWwnXSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICd2YWx1ZSc6IHJvd1snY2Fub25p Y2FsJ119KQorCisgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3Bv bnNlKAorICAgICAgICAgICAgICAgICAgICBkYXRhPXJlcywKKyAgICAgICAg ICAgICAgICAgICAgc3RhdHVzPTIwMAorICAgICAgICAgICAgICAgICAgICAp CisKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAg ICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIo ZSkpCisKKworICAgIEBjaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYgZ2V0 X2V4dGVybmFsX2Z1bmN0aW9uc19saXN0KHNlbGYsIGdpZCwgc2lkLCBkaWQs IHNjaWQsIHRpZD1Ob25lKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMg ZnVuY3Rpb24gd2lsbCByZXR1cm4gbGlzdCBvZiBleHRlcm5hbCBmdW5jdGlv bnMgYXZhaWxhYmxlCisgICAgICAgIGFzIEFKQVggcmVzcG9uc2UuCisgICAg ICAgICIiIgorICAgICAgICByZXMgPSBbeydsYWJlbCc6ICcnLCAndmFsdWUn OiAnJywgJ2NidHlwZSc6ICdhbGwnfV0KKworICAgICAgICB0cnk6CisgICAg ICAgICAgICAjIFRoZSBTUUwgZ2VuZXJhdGVkIGJlbG93IHdpbGwgcG9wdWxh dGUgSW5wdXQvT3V0cHV0L1NlbmQvCisgICAgICAgICAgICAjIFJlY2VpdmUv QW5hbHl6ZS9UeXBNb2RlSU4vVHlwTW9kT1VUIGNvbWJvIGJveAorICAgICAg ICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRl bXBsYXRlX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdnZXRfZXh0ZXJuYWxfZnVuY3Rpb25zLnNxbCddKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRmdW5jPVRy dWUpCisgICAgICAgICAgICBpZiBTUUw6CisgICAgICAgICAgICAgICAgc3Rh dHVzLCByc2V0ID0gc2VsZi5jb25uLmV4ZWN1dGVfMmRhcnJheShTUUwpCisg ICAgICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1y ZXMpCisKKyAgICAgICAgICAgICAgICBmb3Igcm93IGluIHJzZXRbJ3Jvd3Mn XToKKyAgICAgICAgICAgICAgICAgICAgcmVzLmFwcGVuZCgKKyAgICAgICAg ICAgICAgICAgICAgICAgIHsnbGFiZWwnOiByb3dbJ2Z1bmMnXSwgJ3ZhbHVl Jzogcm93WydmdW5jJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgJ2Ni dHlwZSc6ICdhbGwnfSkKKworICAgICAgICAgICAgIyBUaGUgU1FMIGdlbmVy YXRlZCBiZWxvdyB3aWxsIHBvcHVsYXRlIFR5cE1vZGVJTiBjb21ibyBib3gK KyAgICAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihb c2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnZ2V0X2V4dGVybmFsX2Z1bmN0aW9ucy5z cWwnXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlw ZW1vZGluPVRydWUpCisgICAgICAgICAgICBpZiBTUUw6CisgICAgICAgICAg ICAgICAgc3RhdHVzLCByc2V0ID0gc2VsZi5jb25uLmV4ZWN1dGVfMmRhcnJh eShTUUwpCisgICAgICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihl cnJvcm1zZz1yZXMpCisKKyAgICAgICAgICAgICAgICBmb3Igcm93IGluIHJz ZXRbJ3Jvd3MnXToKKyAgICAgICAgICAgICAgICAgICAgcmVzLmFwcGVuZCgK KyAgICAgICAgICAgICAgICAgICAgICAgIHsnbGFiZWwnOiByb3dbJ2Z1bmMn XSwgJ3ZhbHVlJzogcm93WydmdW5jJ10sCisgICAgICAgICAgICAgICAgICAg ICAgICAgJ2NidHlwZSc6ICd0eXBtb2Rpbid9KQorCisgICAgICAgICAgICAj IFRoZSBTUUwgZ2VuZXJhdGVkIGJlbG93IHdpbGwgcG9wdWxhdGUgVHlwTW9k ZUlOIGNvbWJvIGJveAorICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBs YXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnZXRfZXh0ZXJu YWxfZnVuY3Rpb25zLnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0eXBlbW9kb3V0PVRydWUpCisgICAgICAgICAgICBpZiBT UUw6CisgICAgICAgICAgICAgICAgc3RhdHVzLCByc2V0ID0gc2VsZi5jb25u LmV4ZWN1dGVfMmRhcnJheShTUUwpCisgICAgICAgICAgICAgICAgaWYgbm90 IHN0YXR1czoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFs X3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisKKyAgICAgICAgICAgICAg ICBmb3Igcm93IGluIHJzZXRbJ3Jvd3MnXToKKyAgICAgICAgICAgICAgICAg ICAgcmVzLmFwcGVuZCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHsnbGFi ZWwnOiByb3dbJ2Z1bmMnXSwgJ3ZhbHVlJzogcm93WydmdW5jJ10sCisgICAg ICAgICAgICAgICAgICAgICAgICAgJ2NidHlwZSc6ICd0eXBtb2RvdXQnfSkK KworICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAg ICAgICAgICAgICAgICBkYXRhPXJlcywKKyAgICAgICAgICAgICAgICBzdGF0 dXM9MjAwCisgICAgICAgICAgICApCisKKyAgICAgICAgZXhjZXB0IEV4Y2Vw dGlvbiBhcyBlOgorICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZl cl9lcnJvcihlcnJvcm1zZz1zdHIoZSkpCisKKworICAgIEBjaGVja19wcmVj b25kaXRpb24KKyAgICBkZWYgY3JlYXRlKHNlbGYsIGdpZCwgc2lkLCBkaWQs IHNjaWQpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3 aWxsIGNyZWF0ZXMgbmV3IHRoZSB0eXBlIG9iamVjdAorCisgICAgICAgICBB cmdzOgorICAgICAgICAgICBnaWQ6IFNlcnZlciBHcm91cCBJRAorICAgICAg ICAgICBzaWQ6IFNlcnZlciBJRAorICAgICAgICAgICBkaWQ6IERhdGFiYXNl IElECisgICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJRAorICAgICAgICAgICB0 aWQ6IFR5cGUgSUQKKyAgICAgICAgIiIiCisgICAgICAgIGRhdGEgPSByZXF1 ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcyhyZXF1 ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIHJlcXVpcmVkX2FyZ3MgPSB7 CisgICAgICAgICAgICAnbmFtZSc6ICdOYW1lJywKKyAgICAgICAgICAgICd0 eXB0eXBlJzogJ1R5cGUnCisgICAgICAgIH0KKworICAgICAgICBmb3IgYXJn IGluIHJlcXVpcmVkX2FyZ3M6CisgICAgICAgICAgICBpZiBhcmcgbm90IGlu IGRhdGE6CisgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNw b25zZSgKKyAgICAgICAgICAgICAgICAgICAgc3RhdHVzPTQxMCwKKyAgICAg ICAgICAgICAgICAgICAgc3VjY2Vzcz0wLAorICAgICAgICAgICAgICAgICAg ICBlcnJvcm1zZz1nZXR0ZXh0KAorICAgICAgICAgICAgICAgICAgICAgICAg IkNvdWxkbid0IGZpbmQgdGhlIHJlcXVpcmVkIHBhcmFtZXRlciAoJXMpLiIg JQorICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRfYXJnc1thcmdd CisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApCisg ICAgICAgICAgICAjIEFkZGl0aW9uYWwgY2hlY2tzIGdvZXMgaGVyZQorICAg ICAgICAgICAgIyBJZiB0eXBlIGlzIGNvbXBvc2l0ZSB0aGVuIGNoZWNrIGlm IGl0IGhhcyB0d28gbWVtYmVycworICAgICAgICAgICAgaWYgZGF0YSBhbmQg ZGF0YVthcmddID09ICdjJzoKKyAgICAgICAgICAgICAgICBpZiBsZW4oZGF0 YVsnY29tcG9zaXRlJ10pIDwgMjoKKyAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICAgICAg ICAgIHN0YXR1cz00MTAsCisgICAgICAgICAgICAgICAgICAgICAgICBzdWNj ZXNzPTAsCisgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcm1zZz1nZXR0 ZXh0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICdDb21wb3NpdGUg dHlwZXMgcmVxdWlyZXMgYXQgbGVhc3QgdHdvIG1lbWJlcnMnCisgICAgICAg ICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICkKKyAg ICAgICAgICAgICMgSWYgdHlwZSBpcyBlbnVtIHRoZW4gY2hlY2sgaWYgaXQg aGFzIG1pbmltdW0gb25lIGxhYmVsCisgICAgICAgICAgICBpZiBkYXRhIGFu ZCBkYXRhW2FyZ10gPT0gJ2UnOgorICAgICAgICAgICAgICAgIGlmIGxlbihk YXRhWydlbnVtJ10pIDwgMToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu IG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICAgICAgICAg IHN0YXR1cz00MTAsCisgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNz PTAsCisgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcm1zZz1nZXR0ZXh0 KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICdFbnVtZXJhdGlvbiB0 eXBlcyByZXF1aXJlcyBhdCBsZWFzdCBvbmUgbGFiZWwnCisgICAgICAgICAg ICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAg ICAgICAgICMgSWYgdHlwZSBpcyByYW5nZSB0aGVuIGNoZWNrIGlmIHN1YnR5 cGUgaXMgZGVmaW5lZCBvciBub3QKKyAgICAgICAgICAgIGlmIGRhdGEgYW5k IGRhdGFbYXJnXSA9PSAncic6CisgICAgICAgICAgICAgICAgaWYgZGF0YVsn dHlwbmFtZSddIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAgIHJldHVy biBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICAgICAgICAgICAg ICBzdGF0dXM9NDEwLAorICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vz cz0wLAorICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3Jtc2c9Z2V0dGV4 dCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnU3VidHlwZSBtdXN0 IGJlIGRlZmluZWQgZm9yIHJhbmdlIHR5cGVzJworICAgICAgICAgICAgICAg ICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAg ICAjIElmIHR5cGUgaXMgZXh0ZXJuYWwgdGhlbiBjaGVjayBpZiBpbnB1dC9v dXRwdXQKKyAgICAgICAgICAgICMgY29udmVyc2lvbiBmdW5jdGlvbiBpcyBk ZWZpbmVkCisgICAgICAgICAgICBpZiBkYXRhIGFuZCBkYXRhW2FyZ10gPT0g J2InOgorICAgICAgICAgICAgICAgIGlmIGRhdGFbJ3R5cGlucHV0J10gaXMg Tm9uZSBvciBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRh dGFbJ3R5cG91dHB1dCddIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgICAg IHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICAgICAg ICAgICAgICBzdGF0dXM9NDEwLAorICAgICAgICAgICAgICAgICAgICAgICAg c3VjY2Vzcz0wLAorICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3Jtc2c9 Z2V0dGV4dCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXh0ZXJu YWwgdHlwZXMgcmVxdWlyZSBib3RoIElucHV0ICYgXAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE91dHB1dCBjb252ZXJzaW9uIGZ1bmN0aW9uLicK KyAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAg ICAgKQorCisgICAgICAgICMgVG8gZm9ybWF0IHByaXZpbGVnZXMgY29taW5n IGZyb20gY2xpZW50CisgICAgICAgIGlmICd0eXBhY2wnIGluIGRhdGEgYW5k IGRhdGFbJ3R5cGFjbCddIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgZGF0 YVsndHlwYWNsJ10gPSBwYXJzZV9wcml2X3RvX2RiKGRhdGFbJ3R5cGFjbCdd LCBzZWxmLmFjbCkKKworICAgICAgICBkYXRhID0gc2VsZi5fY29udmVydF9m b3Jfc3FsKGRhdGEpCisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgU1FM ID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3Bh dGgsICdjcmVhdGUuc3FsJ10pLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRhdGE9ZGF0YSwgY29ubj1zZWxmLmNvbm4pCisgICAgICAg ICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX3NjYWxhcihT UUwpCisgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAg ICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVz KQorCisgICAgICAgICAgICAjIHdlIG5lZWQgb2lkIHRvIHRvIGFkZCBvYmpl Y3QgaW4gdHJlZSBhdCBicm93c2VyCisgICAgICAgICAgICBTUUwgPSByZW5k ZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dl dF9vaWQuc3FsJ10pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNjaWQ9c2NpZCwgZGF0YT1kYXRhKQorICAgICAgICAgICAgc3RhdHVz LCB0aWQgPSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoU1FMKQorICAgICAg ICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgICAgICByZXR1cm4g aW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXRpZCkKKworICAgICAg ICAgICAgcmV0dXJuIGpzb25pZnkoCisgICAgICAgICAgICAgICAgbm9kZT1z ZWxmLmJsdWVwcmludC5nZW5lcmF0ZV9icm93c2VyX25vZGUoCisgICAgICAg ICAgICAgICAgICAgIHRpZCwKKyAgICAgICAgICAgICAgICAgICAgc2NpZCwK KyAgICAgICAgICAgICAgICAgICAgZGF0YVsnbmFtZSddLAorICAgICAgICAg ICAgICAgICAgICBpY29uPSJpY29uLXR5cGUiCisgICAgICAgICAgICAgICAg KQorICAgICAgICAgICAgKQorICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFz IGU6CisgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9y KGVycm9ybXNnPXN0cihlKSkKKworICAgIEBjaGVja19wcmVjb25kaXRpb24K KyAgICBkZWYgdXBkYXRlKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQsIHRp ZCk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwg dXBkYXRlcyBleGlzdGluZyB0aGUgdHlwZSBvYmplY3QKKworICAgICAgICAg QXJnczoKKyAgICAgICAgICAgZ2lkOiBTZXJ2ZXIgR3JvdXAgSUQKKyAgICAg ICAgICAgc2lkOiBTZXJ2ZXIgSUQKKyAgICAgICAgICAgZGlkOiBEYXRhYmFz ZSBJRAorICAgICAgICAgICBzY2lkOiBTY2hlbWEgSUQKKyAgICAgICAgICAg dGlkOiBUeXBlIElECisgICAgICAgICIiIgorCisgICAgICAgIGRhdGEgPSBy ZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2Fkcyhy ZXF1ZXN0LmRhdGEuZGVjb2RlKCkpCisgICAgICAgIHRyeToKKyAgICAgICAg ICAgIFNRTCA9IHNlbGYuZ2V0X3NxbChnaWQsIHNpZCwgZGF0YSwgc2NpZCwg dGlkKQorICAgICAgICAgICAgaWYgU1FMIGFuZCBTUUwuc3RyaXAoJ1xuJykg YW5kIFNRTC5zdHJpcCgnICcpOgorICAgICAgICAgICAgICAgIHN0YXR1cywg cmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfc2NhbGFyKFNRTCkKKyAgICAgICAg ICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKKwor ICAgICAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisg ICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M9MSwKKyAgICAgICAgICAgICAg ICAgICAgaW5mbz0iVHlwZSB1cGRhdGVkIiwKKyAgICAgICAgICAgICAgICAg ICAgZGF0YT17CisgICAgICAgICAgICAgICAgICAgICAgICAnaWQnOiB0aWQs CisgICAgICAgICAgICAgICAgICAgICAgICAnc2NpZCc6IHNjaWQsCisgICAg ICAgICAgICAgICAgICAgICAgICAnc2lkJzogc2lkLAorICAgICAgICAgICAg ICAgICAgICAgICAgJ2dpZCc6IGdpZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICdkaWQnOiBkaWQKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg ICAgICAgICAgICkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg ICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAg ICAgICAgc3VjY2Vzcz0xLAorICAgICAgICAgICAgICAgICAgICBpbmZvPSJO b3RoaW5nIHRvIHVwZGF0ZSIsCisgICAgICAgICAgICAgICAgICAgIGRhdGE9 eworICAgICAgICAgICAgICAgICAgICAgICAgJ2lkJzogdGlkLAorICAgICAg ICAgICAgICAgICAgICAgICAgJ3NjaWQnOiBzY2lkLAorICAgICAgICAgICAg ICAgICAgICAgICAgJ3NpZCc6IHNpZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICdnaWQnOiBnaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAnZGlk JzogZGlkCisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg ICApCisKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAg ICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1z dHIoZSkpCisKKworICAgIEBjaGVja19wcmVjb25kaXRpb24KKyAgICBkZWYg ZGVsZXRlKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQsIHRpZCk6CisgICAg ICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgdXBkYXRlcyBl eGlzdGluZyB0aGUgdHlwZSBvYmplY3QKKworICAgICAgICAgQXJnczoKKyAg ICAgICAgICAgZ2lkOiBTZXJ2ZXIgR3JvdXAgSUQKKyAgICAgICAgICAgc2lk OiBTZXJ2ZXIgSUQKKyAgICAgICAgICAgZGlkOiBEYXRhYmFzZSBJRAorICAg ICAgICAgICBzY2lkOiBTY2hlbWEgSUQKKyAgICAgICAgICAgdGlkOiBUeXBl IElECisgICAgICAgICIiIgorCisgICAgICAgICMgQmVsb3cgd2lsbCBkZWNp ZGUgaWYgaXQncyBzaW1wbGUgZHJvcCBvciBkcm9wIHdpdGggY2FzY2FkZSBj YWxsCisgICAgICAgIGlmIHNlbGYuY21kID09ICdkZWxldGUnOgorICAgICAg ICAgICAgIyBUaGlzIGlzIGEgY2FzY2FkZSBvcGVyYXRpb24KKyAgICAgICAg ICAgIGNhc2NhZGUgPSBUcnVlCisgICAgICAgIGVsc2U6CisgICAgICAgICAg ICBjYXNjYWRlID0gRmFsc2UKKworICAgICAgICB0cnk6CisKKyAgICAgICAg ICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1w bGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAncHJvcGVydGllcy5zcWwnXSksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2NpZD1zY2lkLCB0aWQ9dGlkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGxhc3RzeXNvaWQ9 c2VsZi5kYXRsYXN0c3lzb2lkLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNob3dfc3lzdGVtX29iamVjdHM9c2VsZi5ibHVlcHJpbnQu c2hvd19zeXN0ZW1fb2JqZWN0cworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICkKKyAgICAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5j b25uLmV4ZWN1dGVfZGljdChTUUwpCisgICAgICAgICAgICBpZiBub3Qgc3Rh dHVzOgorICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJf ZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisgICAgICAgICAgICAjIE1ha2luZyBj b3B5IG9mIG91dHB1dCBmb3IgZnV0dXJlIHVzZQorICAgICAgICAgICAgZGF0 YSA9IGRpY3QocmVzWydyb3dzJ11bMF0pCisKKyAgICAgICAgICAgIFNRTCA9 IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRo LCAnZGVsZXRlLnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkYXRhPWRhdGEsIGNhc2NhZGU9Y2FzY2FkZSwgY29ubj1zZWxm LmNvbm4pCisgICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5l eGVjdXRlX3NjYWxhcihTUUwpCisgICAgICAgICAgICBpZiBub3Qgc3RhdHVz OgorICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJy b3IoZXJyb3Jtc2c9cmVzKQorCisgICAgICAgICAgICByZXR1cm4gbWFrZV9q c29uX3Jlc3BvbnNlKAorICAgICAgICAgICAgICAgIHN1Y2Nlc3M9MSwKKyAg ICAgICAgICAgICAgICBpbmZvPWdldHRleHQoIlR5cGUgZHJvcHBlZCIpLAor ICAgICAgICAgICAgICAgIGRhdGE9eworICAgICAgICAgICAgICAgICAgICAn aWQnOiB0aWQsCisgICAgICAgICAgICAgICAgICAgICdzY2lkJzogc2NpZAor ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICkKKworICAgICAgICBl eGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICByZXR1cm4gaW50 ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXN0cihlKSkKKworCisgICAg QGNoZWNrX3ByZWNvbmRpdGlvbgorICAgIGRlZiBtc3FsKHNlbGYsIGdpZCwg c2lkLCBkaWQsIHNjaWQsIHRpZD1Ob25lKToKKyAgICAgICAgIiIiCisgICAg ICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBnZW5lcmF0ZXMgbW9kaWZpZWQgc3Fs IGZvciB0eXBlIG9iamVjdAorCisgICAgICAgICBBcmdzOgorICAgICAgICAg ICBnaWQ6IFNlcnZlciBHcm91cCBJRAorICAgICAgICAgICBzaWQ6IFNlcnZl ciBJRAorICAgICAgICAgICBkaWQ6IERhdGFiYXNlIElECisgICAgICAgICAg IHNjaWQ6IFNjaGVtYSBJRAorICAgICAgICAgICB0aWQ6IFR5cGUgSUQKKyAg ICAgICAgIiIiCisgICAgICAgIHJlcSA9IHJlcXVlc3QuYXJncworICAgICAg ICBkYXRhID0gZGljdCgpCisKKyAgICAgICAgIyBjb252ZXJ0aW5nIG5lc3Rl ZCByZXF1ZXN0IGRhdGEgaW4gcHJvcGVyIGpzb24gZm9ybWF0CisgICAgICAg IGZvciBrZXksdmFsIGluIHJlcS5pdGVtcygpOgorICAgICAgICAgICAgaWYg a2V5IGluIFsnY29tcG9zaXRlJywgJ2VudW0nLCAnc2VjbGFiZWxzJywgJ3R5 cGFjbCddOgorICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IGpzb24ubG9h ZHModmFsKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBk YXRhW2tleV0gPSB2YWwKKworICAgICAgICB0cnk6CisgICAgICAgICAgICBT UUwgPSBzZWxmLmdldF9zcWwoZ2lkLCBzaWQsIGRhdGEsIHNjaWQsIHRpZCkK KworICAgICAgICAgICAgaWYgU1FMIGFuZCBTUUwuc3RyaXAoJ1xuJykgYW5k IFNRTC5zdHJpcCgnICcpOgorICAgICAgICAgICAgICAgIHJldHVybiBtYWtl X2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRh PVNRTCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz0yMDAKKyAg ICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgZXhjZXB0IEV4Y2Vw dGlvbiBhcyBlOgorICAgICAgICAgICAgaW50ZXJuYWxfc2VydmVyX2Vycm9y KGVycm9ybXNnPXN0cihlKSkKKworICAgIGRlZiBfY29udmVydF9mb3Jfc3Fs KHNlbGYsIGRhdGEpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5j dGlvbiB3aWxsIGNvbnZlcnQgY29tYm9ib3ggdmFsdWVzIGludG8KKyAgICAg ICAgcmVhZGFibGUgZm9ybWF0IGZvciBzcWwgJiBtc3FsIGZ1bmN0aW9uCisg ICAgICAgICIiIgorICAgICAgICAjIENvbnZlcnQgY29tYm9ib3ggdmFsdWUg aW50byByZWFkYWJsZSBmb3JtYXQKKworICAgICAgICBpZiAndHlwc3RvcmFn ZScgaW4gZGF0YSBhbmQgZGF0YVsndHlwc3RvcmFnZSddIGlzIG5vdCBOb25l OgorICAgICAgICAgICAgaWYgZGF0YVsndHlwc3RvcmFnZSddID09ICdwJzoK KyAgICAgICAgICAgICAgICBkYXRhWyd0eXBzdG9yYWdlJ10gPSAnUExBSU4n CisgICAgICAgICAgICBlbGlmIGRhdGFbJ3R5cHN0b3JhZ2UnXSA9PSAnZSc6 CisgICAgICAgICAgICAgICAgZGF0YVsndHlwc3RvcmFnZSddID0gJ0VYVEVS TkFMJworICAgICAgICAgICAgZWxpZiBkYXRhWyd0eXBzdG9yYWdlJ10gPT0g J20nOgorICAgICAgICAgICAgICAgIGRhdGFbJ3R5cHN0b3JhZ2UnXSA9ICdN QUlOJworICAgICAgICAgICAgZWxpZiBkYXRhWyd0eXBzdG9yYWdlJ10gPT0g J3gnOgorICAgICAgICAgICAgICAgIGRhdGFbJ3R5cHN0b3JhZ2UnXSA9ICdF WFRFTkRFRCcKKworICAgICAgICBpZiAndHlwYWxpZ24nIGluIGRhdGEgYW5k IGRhdGFbJ3R5cGFsaWduJ10gaXMgbm90IE5vbmU6CisgICAgICAgICAgICBp ZiBkYXRhWyd0eXBhbGlnbiddID09ICdjJzoKKyAgICAgICAgICAgICAgICBk YXRhWyd0eXBhbGlnbiddID0gJ2NoYXInCisgICAgICAgICAgICBlbGlmIGRh dGFbJ3R5cGFsaWduJ10gPT0gJ3MnOgorICAgICAgICAgICAgICAgIGRhdGFb J3R5cGFsaWduJ10gPSAnaW50MicKKyAgICAgICAgICAgIGVsaWYgZGF0YVsn dHlwYWxpZ24nXSA9PSAnaSc6CisgICAgICAgICAgICAgICAgZGF0YVsndHlw YWxpZ24nXSA9ICdpbnQ0JworICAgICAgICAgICAgZWxpZiBkYXRhWyd0eXBh bGlnbiddID09ICdkJzoKKyAgICAgICAgICAgICAgICBkYXRhWyd0eXBhbGln biddID0gJ2RvdWJsZScKKworICAgICAgICByZXR1cm4gZGF0YQorCisgICAg ZGVmIGdldF9zcWwoc2VsZiwgZ2lkLCBzaWQsIGRhdGEsIHNjaWQsIHRpZD1O b25lKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24gd2ls bCBnZW5yYXRlIHNxbCBmcm9tIG1vZGVsIGRhdGEKKyAgICAgICAgIiIiCisg ICAgICAgIGlmIHRpZCBpcyBub3QgTm9uZToKKworICAgICAgICAgICAgZm9y IGtleSBpbiBbJ3R5cGFjbCddOgorICAgICAgICAgICAgICAgIGlmIGtleSBp biBkYXRhIGFuZCBkYXRhW2tleV0gaXMgbm90IE5vbmU6CisgICAgICAgICAg ICAgICAgICAgIGlmICdhZGRlZCcgaW4gZGF0YVtrZXldOgorICAgICAgICAg ICAgICAgICAgICAgIGRhdGFba2V5XVsnYWRkZWQnXSA9IHBhcnNlX3ByaXZf dG9fZGIoZGF0YVtrZXldWydhZGRlZCddLCBzZWxmLmFjbCkKKyAgICAgICAg ICAgICAgICAgICAgaWYgJ2NoYW5nZWQnIGluIGRhdGFba2V5XToKKyAgICAg ICAgICAgICAgICAgICAgICBkYXRhW2tleV1bJ2NoYW5nZWQnXSA9IHBhcnNl X3ByaXZfdG9fZGIoZGF0YVtrZXldWydjaGFuZ2VkJ10sIHNlbGYuYWNsKQor ICAgICAgICAgICAgICAgICAgICBpZiAnZGVsZXRlZCcgaW4gZGF0YVtrZXld OgorICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XVsnZGVsZXRlZCdd ID0gcGFyc2VfcHJpdl90b19kYihkYXRhW2tleV1bJ2RlbGV0ZWQnXSwgc2Vs Zi5hY2wpCisKKyAgICAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgi LyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJvcGVydGllcy5zcWwn XSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NpZD1z Y2lkLCB0aWQ9dGlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRhdGxhc3RzeXNvaWQ9c2VsZi5kYXRsYXN0c3lzb2lkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfc3lzdGVtX29iamVj dHM9c2VsZi5ibHVlcHJpbnQuc2hvd19zeXN0ZW1fb2JqZWN0cworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgIHN0 YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCisgICAg ICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgIHJldHVy biBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisgICAg ICAgICAgICAjIE1ha2luZyBjb3B5IG9mIG91dHB1dCBmb3IgZnV0dXJlIHVz ZQorICAgICAgICAgICAgb2xkX2RhdGEgPSBkaWN0KHJlc1sncm93cyddWzBd KQorCisgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpv aW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ2FjbC5zcWwnXSksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NpZD1zY2lkLCB0aWQ9dGlk KQorICAgICAgICAgICAgc3RhdHVzLCBhY2wgPSBzZWxmLmNvbm4uZXhlY3V0 ZV9kaWN0KFNRTCkKKyAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAg ICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJv cm1zZz1hY2wpCisKKyAgICAgICAgICAgICMgV2Ugd2lsbCBzZXQgZ2V0IHBy aXZpbGVnZXMgZnJvbSBhY2wgc3FsIHNvIHdlIGRvbid0IG5lZWQKKyAgICAg ICAgICAgICMgaXQgZnJvbSBwcm9wZXJ0aWVzIHNxbAorICAgICAgICAgICAg b2xkX2RhdGFbJ3R5cGFjbCddID0gW10KKworICAgICAgICAgICAgZm9yIHJv dyBpbiBhY2xbJ3Jvd3MnXToKKyAgICAgICAgICAgICAgICBwcml2ID0gcGFy c2VfcHJpdl9mcm9tX2RiKHJvdykKKyAgICAgICAgICAgICAgICBpZiByb3db J2RlZnR5cGUnXSBpbiBvbGRfZGF0YToKKyAgICAgICAgICAgICAgICAgICAg b2xkX2RhdGFbcm93WydkZWZ0eXBlJ11dLmFwcGVuZChwcml2KQorICAgICAg ICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIG9sZF9kYXRh W3Jvd1snZGVmdHlwZSddXSA9IFtwcml2XQorCisgICAgICAgICAgICAjIENh bGxpbmcgZnVuY3Rpb24gdG8gY2hlY2sgYW5kIGFkZGl0aW9uYWwgcHJvcGVy dGllcyBpZiBhdmFpbGFibGUKKyAgICAgICAgICAgIG9sZF9kYXRhLnVwZGF0 ZShzZWxmLmFkZGl0aW9uYWxfcHJvcGVydGllcyhvbGRfZGF0YSwgdGlkKSkK KyAgICAgICAgICAgIG9sZF9kYXRhID0gc2VsZi5fY29udmVydF9mb3Jfc3Fs KG9sZF9kYXRhKQorCisgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxh dGUoCisgICAgICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVf cGF0aCwgJ3VwZGF0ZS5zcWwnXSksCisgICAgICAgICAgICAgICAgZGF0YT1k YXRhLCBvX2RhdGE9b2xkX2RhdGEsIGNvbm49c2VsZi5jb25uCisgICAgICAg ICAgICAgICAgKQorICAgICAgICBlbHNlOgorICAgICAgICAgICAgcmVxdWly ZWRfYXJncyA9IFsKKyAgICAgICAgICAgICAgICAnbmFtZScsCisgICAgICAg ICAgICAgICAgJ3R5cHR5cGUnCisgICAgICAgICAgICBdCisKKyAgICAgICAg ICAgIGZvciBhcmcgaW4gcmVxdWlyZWRfYXJnczoKKyAgICAgICAgICAgICAg ICBpZiBhcmcgbm90IGluIGRhdGE6CisgICAgICAgICAgICAgICAgICAgIHJl dHVybiAiIC0tZGVmaW5pdGlvbiBpbmNvbXBsZXRlIgorCisgICAgICAgICAg ICAjIFByaXZpbGVnZXMKKyAgICAgICAgICAgIGlmICd0eXBhY2wnIGluIGRh dGEgYW5kIGRhdGFbJ3R5cGFjbCddIGlzIG5vdCBOb25lOgorICAgICAgICAg ICAgICAgIGRhdGFbJ3R5cGFjbCddID0gcGFyc2VfcHJpdl90b19kYihkYXRh Wyd0eXBhY2wnXSwgc2VsZi5hY2wpCisgICAgICAgICAgICBkYXRhID0gc2Vs Zi5fY29udmVydF9mb3Jfc3FsKGRhdGEpCisgICAgICAgICAgICBTUUwgPSBy ZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J2NyZWF0ZS5zcWwnXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGF0YT1kYXRhLCBjb25uPXNlbGYuY29ubikKKworICAgICAgICBy ZXR1cm4gU1FMCisKKworICAgIEBjaGVja19wcmVjb25kaXRpb24KKyAgICBk ZWYgc3FsKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQsIHRpZCk6CisgICAg ICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGVz IHJldmVyc2UgZW5naW5lZXJlZCBzcWwgZm9yIHR5cGUgb2JqZWN0CisKKyAg ICAgICAgIEFyZ3M6CisgICAgICAgICAgIGdpZDogU2VydmVyIEdyb3VwIElE CisgICAgICAgICAgIHNpZDogU2VydmVyIElECisgICAgICAgICAgIGRpZDog RGF0YWJhc2UgSUQKKyAgICAgICAgICAgc2NpZDogU2NoZW1hIElECisgICAg ICAgICAgIHRpZDogVHlwZSBJRAorICAgICAgICAiIiIKKyAgICAgICAgU1FM ID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3Bh dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J3Byb3BlcnRpZXMuc3FsJ10pLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2NpZD1zY2lkLCB0aWQ9dGlkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZGF0bGFzdHN5c29pZD1zZWxmLmRhdGxhc3RzeXNvaWQs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3N5c3RlbV9v YmplY3RzPXNlbGYuYmx1ZXByaW50LnNob3dfc3lzdGVtX29iamVjdHMKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgc3RhdHVz LCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KFNRTCkKKyAgICAgICAg aWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9z ZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisgICAgICAgICMgTWFraW5n IGNvcHkgb2Ygb3V0cHV0IGZvciBmdXR1cmUgdXNlCisgICAgICAgIGRhdGEg PSBkaWN0KHJlc1sncm93cyddWzBdKQorCisgICAgICAgIFNRTCA9IHJlbmRl cl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAnYWNs LnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaWQ9 c2NpZCwgdGlkPXRpZCkKKyAgICAgICAgc3RhdHVzLCBhY2wgPSBzZWxmLmNv bm4uZXhlY3V0ZV9kaWN0KFNRTCkKKyAgICAgICAgaWYgbm90IHN0YXR1czoK KyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJy b3Jtc2c9YWNsKQorCisgICAgICAgICMgV2Ugd2lsbCBzZXQgZ2V0IHByaXZp bGVnZXMgZnJvbSBhY2wgc3FsIHNvIHdlIGRvbid0IG5lZWQKKyAgICAgICAg IyBpdCBmcm9tIHByb3BlcnRpZXMgc3FsCisgICAgICAgIGRhdGFbJ3R5cGFj bCddID0gW10KKworICAgICAgICBmb3Igcm93IGluIGFjbFsncm93cyddOgor ICAgICAgICAgICAgcHJpdiA9IHBhcnNlX3ByaXZfZnJvbV9kYihyb3cpCisg ICAgICAgICAgICBpZiByb3dbJ2RlZnR5cGUnXSBpbiBkYXRhOgorICAgICAg ICAgICAgICAgIGRhdGFbcm93WydkZWZ0eXBlJ11dLmFwcGVuZChwcml2KQor ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBkYXRhW3Jvd1sn ZGVmdHlwZSddXSA9IFtwcml2XQorCisgICAgICAgICMgUHJpdmlsZWdlcwor ICAgICAgICBpZiAndHlwYWNsJyBpbiBkYXRhIGFuZCBkYXRhWyd0eXBhY2wn XSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGRhdGFbJ25zcGFjbCddID0g cGFyc2VfcHJpdl90b19kYihkYXRhWyd0eXBhY2wnXSwgc2VsZi5hY2wpCisK KyAgICAgICAgIyBDYWxsaW5nIGZ1bmN0aW9uIHRvIGNoZWNrIGFuZCBhZGRp dGlvbmFsIHByb3BlcnRpZXMgaWYgYXZhaWxhYmxlCisgICAgICAgIGRhdGEu dXBkYXRlKHNlbGYuYWRkaXRpb25hbF9wcm9wZXJ0aWVzKGRhdGEsIHRpZCkp CisKKyAgICAgICAgIyBXZSBkbyBub3Qgd2FudCB0byBkaXNwbGF5IHRhYmxl IHdoaWNoIGhhcyAnLScgdmFsdWUKKyAgICAgICAgIyBzZXR0aW5nIHRoZW0g dG8gTm9uZSBzbyB0aGF0IGppbmphIGF2b2lkIGRpc3BsYXlpbmcgdGhlbQor ICAgICAgICBmb3IgayBpbiBkYXRhOgorICAgICAgICAgICAgaWYgZGF0YVtr XSA9PSAnLSc6CisgICAgICAgICAgICAgICAgZGF0YVtrXSA9IE5vbmUKKwor ICAgICAgICBTUUwgPSBzZWxmLmdldF9zcWwoZ2lkLCBzaWQsIGRhdGEsIHNj aWQsIHRpZD1Ob25lKQorCisgICAgICAgICMgV2UgYXJlIGFwcGVuZGluZyBo ZWFkZXJzIGhlcmUgZm9yIHNxbCBwYW5lbAorICAgICAgICBzcWxfaGVhZGVy ID0gIi0tIFR5cGU6IHswfVxuXG4tLSAiLmZvcm1hdChkYXRhWyduYW1lJ10p CisgICAgICAgIHNxbF9oZWFkZXIgKz0gcmVuZGVyX3RlbXBsYXRlKCIvIi5q b2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVsZXRlLnNxbCddKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1k YXRhLCBjb25uPXNlbGYuY29ubikKKyAgICAgICAgU1FMID0gc3FsX2hlYWRl ciArICdcblxuJyArIFNRTAorCisgICAgICAgIHJldHVybiBhamF4X3Jlc3Bv bnNlKHJlc3BvbnNlPVNRTCkKKworICAgIEBjaGVja19wcmVjb25kaXRpb24K KyAgICBkZWYgZGVwZW5kZW50cyhzZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lk LCB0aWQpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiBn ZXQgdGhlIGRlcGVuZGVudHMgYW5kIHJldHVybiBhamF4IHJlc3BvbnNlCisg ICAgICAgIGZvciB0aGUgdHlwZSBub2RlLgorCisgICAgICAgIEFyZ3M6Cisg ICAgICAgICAgICBnaWQ6IFNlcnZlciBHcm91cCBJRAorICAgICAgICAgICAg c2lkOiBTZXJ2ZXIgSUQKKyAgICAgICAgICAgIGRpZDogRGF0YWJhc2UgSUQK KyAgICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJRAorICAgICAgICAgICAgdGlk OiBUeXBlIElECisgICAgICAgICIiIgorICAgICAgICBkZXBlbmRlbnRzX3Jl c3VsdCA9IHNlbGYuZ2V0X2RlcGVuZGVudHMoCisgICAgICAgICAgICBzZWxm LmNvbm4sIHRpZAorICAgICAgICApCisKKyAgICAgICAgcmV0dXJuIGFqYXhf cmVzcG9uc2UoCisgICAgICAgICAgICAgICAgcmVzcG9uc2U9ZGVwZW5kZW50 c19yZXN1bHQsCisgICAgICAgICAgICAgICAgc3RhdHVzPTIwMAorICAgICAg ICAgICAgICAgICkKKworICAgIEBjaGVja19wcmVjb25kaXRpb24KKyAgICBk ZWYgZGVwZW5kZW5jaWVzKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQsIHRp ZCk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIGdldCB0 aGUgZGVwZW5kZW5jaWVzIGFuZCByZXR1cm4gYWpheCByZXNwb25zZQorICAg ICAgICBmb3IgdGhlIHR5cGUgbm9kZS4KKworICAgICAgICBBcmdzOgorICAg ICAgICAgICAgZ2lkOiBTZXJ2ZXIgR3JvdXAgSUQKKyAgICAgICAgICAgIHNp ZDogU2VydmVyIElECisgICAgICAgICAgICBkaWQ6IERhdGFiYXNlIElECisg ICAgICAgICAgICBzY2lkOiBTY2hlbWEgSUQKKyAgICAgICAgICAgIHRpZDog VHlwZSBJRAorICAgICAgICAiIiIKKyAgICAgICAgZGVwZW5kZW5jaWVzX3Jl c3VsdCA9IHNlbGYuZ2V0X2RlcGVuZGVuY2llcygKKyAgICAgICAgICAgIHNl bGYuY29ubiwgdGlkCisgICAgICAgICkKKworICAgICAgICByZXR1cm4gYWph eF9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICByZXNwb25zZT1kZXBlbmRl bmNpZXNfcmVzdWx0LAorICAgICAgICAgICAgICAgIHN0YXR1cz0yMDAKKyAg ICAgICAgICAgICAgICApCisKK1R5cGVWaWV3LnJlZ2lzdGVyX25vZGVfdmll dyhibHVlcHJpbnQpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvc3RhdGljL2ltZy9jb2xs LXR5cGUucG5nIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvc3RhdGljL2ltZy9j b2xsLXR5cGUucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiMDIwZDdk OTlmODQ0MzkwNDZkMjg4NjE1ZTg2NWVlMWZiZGI4MTUKR0lUIGJpbmFyeSBw YXRjaApsaXRlcmFsIDMyOQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwXjB3 QiE3Mz8kIyllRlBGdjNHZk1WMT0zTmNYST1hTT5mSGFRVEBROTEKemBoUzFS e35PRXhVITM7O01FbX4obUgmNjx7b2xOMy1jREpkST53Uzl6aEROM1hFKU0t OUxAcmQkWUxQdjBtZzE4Cnp2K2FQNDcqN3wrNVJVNyVYUU8hPTQwemxnb153 byRFVSFNeSMzaihrcyp9TFQ5ZFVyXm5GVip4YDxMZkVYTFUmewp6TlRfUVop e3AxMWpyOEJSSmYqSjl0MXEkRCVYNkZLKHF9dUlrNGBPVl8mdit0QVpGKTxj fl8pIXxOTXtWPWUjV1gKek4jSjl2RzArfj42NCF7NWwqRSEkdEtfMG9Bak0j MFV9JklnWHJ5YWs3LUQyI1dueWUpVnliT21ZR3EoQkAxNVElCnE2Yi1yZ0RW YkBONURmO0ZVPTJYa0NSUFMhNURsbE1ocHF1P1ZETlBIYjZNdzwmOyRVWiQ4 Kk8zCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90eXBlcy9zdGF0aWMvaW1nL3R5cGUucG5nIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdHlwZXMvc3RhdGljL2ltZy90eXBlLnBuZwpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwLi42YzE2NzY0ZTdkMDhjNTY5MjJhOTdhMmYwYzZjYzA2 NDU1Yzg2YTU2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzMjUKemNtZUFT QE4/KG9sSHlgdVZCcSFpYTB2cF4wd0IhNzM/JCMpZUZQRnY1QVg/YjE9OH4j OUVtelQ+KVFXVT1sKHhFCnpgdjJqc3xGX3J0emRZfiVuRjtAb0h2UWpReyhw UGt8SU1rKTBAKjtOajNxJlMhMystMVpsblBAb0NPfHsjWCNCdgp6ak5NTFYr V3tHJm8tVTNkOU1fVyo0ek1fUklWfDh2KFU0fHQ2cjhafDVmaDdfTHRCPUgw MUttSlI7SSVRbVhzQ0sKem5IXy09N2EzVzY5b25BeEQ5bTY8JHltJE88bSVB JkVsPVNGT1VqRW1qN2BvNCs5RGZuQEdfajxCZmFyflotKSFlCnowQFZgTmg/ MTFWbDJvaFlxRXNOb1V9UnV1cGxmS1BZaFZ+K1dNRX10WS1NN3FaRDQ5O1VA LTVVLVlPSWd4JW54WAprWF9YS1MyOXt0QUstREh6MjQpWnFyPjJMbDBjdjNJ Ym9GeXQ9YWtSezAxaDUmcXlQV18KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90 eXBlL2pzL3R5cGUuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0 ZXMvdHlwZS9qcy90eXBlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmU3MjExZjIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlwZS9qcy90eXBlLmpzCkBAIC0w LDAgKzEsODY0IEBACitkZWZpbmUoCisgICAgICAgIFsnanF1ZXJ5JywgJ3Vu ZGVyc2NvcmUnLCAndW5kZXJzY29yZS5zdHJpbmcnLCAncGdhZG1pbicsCisg ICAgICAgICAncGdhZG1pbi5icm93c2VyJywgJ2FsZXJ0aWZ5JywgJ2JhY2tn cmlkJywgJ3BnYWRtaW4uYmFja2dyaWQnLAorICAgICAgICAgICdwZ2FkbWlu LmJyb3dzZXIuY29sbGVjdGlvbiddLAorZnVuY3Rpb24oJCwgXywgUywgcGdB ZG1pbiwgcGdCcm93c2VyLCBhbGVydGlmeSwgQmFja2dyaWQpIHsKKworICBp ZiAoIXBnQnJvd3Nlci5Ob2Rlc1snY29sbC10eXBlJ10pIHsKKyAgICB2YXIg ZGF0YWJhc2VzID0gcGdBZG1pbi5Ccm93c2VyLk5vZGVzWydjb2xsLXR5cGUn XSA9CisgICAgICBwZ0FkbWluLkJyb3dzZXIuQ29sbGVjdGlvbi5leHRlbmQo eworICAgICAgICBub2RlOiAndHlwZScsCisgICAgICAgIGxhYmVsOiAne3sg XygnVHlwZXMnKSB9fScsCisgICAgICAgIHR5cGU6ICdjb2xsLXR5cGUnLAor ICAgICAgICBjb2x1bW5zOiBbJ25hbWUnLCAndHlwZW93bmVyJywgJ2Rlc2Ny aXB0aW9uJ10KKyAgICAgIH0pOworICB9OworCisgIC8vIFN3aXRjaCBvcHRp b25zIHRvIHNhdmUgc3BhY2UgaW4gbW9kZWwncyBmaWVsZAorICB2YXIgc3dp dGNoT3B0aW9ucyA9IHsKKyAgICAnb25UZXh0JzogJ1llcycsICdvZmZUZXh0 JzogJ05vJywKKyAgICAnb25Db2xvcic6ICdzdWNjZXNzJywgJ29mZkNvbG9y JzogJ3ByaW1hcnknLAorICAgICdzaXplJzogJ3NtYWxsJworICB9OworCisg IC8vIFNlY3VyaXR5IGxhYmVsIG1vZGVsIGRlY2xhcmF0aW9uCisgIHZhciBT ZWN1cml0eU1vZGVsID0gQmFja2Zvcm0uU2VjdXJpdHlNb2RlbCA9IHBnQWRt aW4uQnJvd3Nlci5Ob2RlLk1vZGVsLmV4dGVuZCh7CisgICAgZGVmYXVsdHM6 IHsKKyAgICAgIHByb3ZpZGVyOiB1bmRlZmluZWQsCisgICAgICBzZWN1cml0 eV9sYWJlbDogdW5kZWZpbmVkCisgICAgfSwKKyAgICBzY2hlbWE6IFt7Cisg ICAgICBpZDogJ3Byb3ZpZGVyJywgbGFiZWw6ICd7eyBfKCdQcm92aWRlcicp IH19JywKKyAgICAgIHR5cGU6ICd0ZXh0JywgZGlzYWJsZWQ6IGZhbHNlLCBj ZWxsSGVhZGVyQ2xhc3Nlczond2lkdGhfcGVyY2VudF81MCcKKyAgICB9LHsK KyAgICAgIGlkOiAnc2VjdXJpdHlfbGFiZWwnLCBsYWJlbDogJ3t7IF8oJ1Nl Y3VyaXR5IExhYmVsJykgfX0nLAorICAgICAgdHlwZTogJ3RleHQnLCBkaXNh YmxlZDogZmFsc2UsIGNlbGxIZWFkZXJDbGFzc2VzOid3aWR0aF9wZXJjZW50 XzUwJworICAgIH1dLAorICAgIHZhbGlkYXRlOiBmdW5jdGlvbigpIHsKKyAg ICAgIHZhciBlcnIgPSB7fSwKKyAgICAgICAgICBlcnJtc2cgPSBudWxsLAor ICAgICAgICAgIGRhdGEgPSB0aGlzLnRvSlNPTigpOworCisgICAgICBpZiAo Xy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnc2VjdXJpdHlfbGFiZWwnKSkgfHwK KyAgICAgICAgXy5pc051bGwodGhpcy5nZXQoJ3NlY3VyaXR5X2xhYmVsJykp IHx8CisgICAgICAgIFN0cmluZyh0aGlzLmdldCgnc2VjdXJpdHlfbGFiZWwn KSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgeworICAgICAg ICAgICAgZXJybXNnID0gJ3t7IF8oJ1BsZWFzZSBwcm92aWRlIHRoZSB2YWx1 ZSBmb3Igc2VjdXJpdHkgbGFiZWwuJykgfX0nOworICAgICAgICAgICAgdGhp cy5lcnJvck1vZGVsLnNldCgnc2VjdXJpdHlfbGFiZWwnLCBlcnJtc2cpOwor ICAgICAgICAgICAgcmV0dXJuIGVycm1zZzsKKyAgICAgICAgICB9IGVsc2Ug eworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnVuc2V0KCdzZWN1cml0 eV9sYWJlbCcpOworICAgICAgICAgIH0KKyAgICAgIHJldHVybiBudWxsOwor ICAgIH0KKyAgfSk7CisKKyAgLy8gQ29tcG9zaXRlIHR5cGUgbW9kZWwgZGVj bGFyYXRpb24KKyAgdmFyIENvbXBvc2l0ZU1vZGVsID0gQmFja2Zvcm0uQ29t cG9zaXRlTW9kZWwgPSBwZ0FkbWluLkJyb3dzZXIuTm9kZS5Nb2RlbC5leHRl bmQoeworICAgIGlkQXR0cmlidXRlOiAnYXR0bnVtJywKKyAgICBkZWZhdWx0 czogeworICAgICAgYXR0bnVtOiB1bmRlZmluZWQsCisgICAgICBtZW1iZXJf bmFtZTogdW5kZWZpbmVkLAorICAgICAgdHlwZTogdW5kZWZpbmVkLAorICAg ICAgdGxlbmd0aDogdW5kZWZpbmVkLAorICAgICAgaXNfdGxlbmd0aDogZmFs c2UsCisgICAgICBwcmVjaXNpb246IHVuZGVmaW5lZCwKKyAgICAgIGlzX3By ZWNpc2lvbjogZmFsc2UsCisgICAgICBjb2xsYXRpb246IHVuZGVmaW5lZCwK KyAgICAgIG1pbl92YWw6IHVuZGVmaW5lZCwKKyAgICAgIG1heF92YWw6IHVu ZGVmaW5lZCwKKyAgICB9LAorICAgIHR5cGVfb3B0aW9uczogdW5kZWZpbmVk LAorICAgIHN1YnR5cGVzOiB1bmRlZmluZWQsCisgICAgc2NoZW1hOiBbewor ICAgICAgaWQ6ICdtZW1iZXJfbmFtZScsIGxhYmVsOiAne3sgXygnTWVtYmVy IE5hbWUnKSB9fScsCisgICAgICB0eXBlOiAndGV4dCcsICBkaXNhYmxlZDog ZmFsc2UsIGVkaXRhYmxlOiBmYWxzZQorICAgIH0seworICAgICAgaWQ6ICd0 eXBlJywgbGFiZWw6ICd7eyBfKCdUeXBlJykgfX0nLCBjb250cm9sOiAnbm9k ZS1hamF4LW9wdGlvbnMnLAorICAgICAgdHlwZTogJ3RleHQnLCB1cmw6ICdn ZXRfdHlwZXMnLCBkaXNhYmxlZDogZmFsc2UsIG5vZGU6ICd0eXBlJywKKyAg ICAgIGVkaXRhYmxlOiBmYWxzZSwKKyAgICAgIHRyYW5zZm9ybTogZnVuY3Rp b24oZCl7CisgICAgICAgIHRoaXMubW9kZWwudHlwZV9vcHRpb25zID0gIGQ7 CisgICAgICAgIHJldHVybiBkOworICAgICAgfQorICAgIH0seworICAgICAg aWQ6ICd0bGVuZ3RoJywgbGFiZWw6ICd7eyBfKCdMZW5ndGgnKSB9fScsIGRl cHM6IFsndHlwZSddLCB0eXBlOiAndGV4dCcsCisgICAgICBlZGl0YWJsZTog ZmFsc2UsCisgICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkgeworICAgICAg ICAvLyBXZSB3aWxsIHN0b3JlIHR5cGUgZnJvbSBzZWxlY3RlZCBmcm9tIGNv bWJvYm94CisgICAgICAgIHZhciBvZl90eXBlID0gbS5nZXQoJ3R5cGUnKTsK KyAgICAgICAgaWYobS50eXBlX29wdGlvbnMpIHsKKyAgICAgICAgICAvLyBp dGVyYXRpbmcgb3ZlciBhbGwgdGhlIHR5cGVzCisgICAgICAgICAgXy5lYWNo KG0udHlwZV9vcHRpb25zLCBmdW5jdGlvbihvKSB7CisgICAgICAgICAgICAv LyBpZiB0eXBlIGZyb20gc2VsZWN0ZWQgZnJvbSBjb21ib2JveCBtYXRjaGVz IGluIG9wdGlvbnMKKyAgICAgICAgICAgIGlmICggb2ZfdHlwZSA9PSBvLnZh bHVlICkgeworICAgICAgICAgICAgICAgIC8vIGlmIGxlbmd0aCBpcyBhbGxv d2VkIGZvciBzZWxlY3RlZCB0eXBlCisgICAgICAgICAgICAgICAgaWYoby5s ZW5ndGgpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg Ly8gc2V0IHRoZSB2YWx1ZXMgaW4gbW9kZWwKKyAgICAgICAgICAgICAgICAg IG0uc2V0KCdpc190bGVuZ3RoJywgdHJ1ZSwge3NpbGVudDogdHJ1ZX0pOwor ICAgICAgICAgICAgICAgICAgbS5zZXQoJ21pbl92YWwnLCBvLm1pbl92YWws IHtzaWxlbnQ6IHRydWV9KTsKKyAgICAgICAgICAgICAgICAgIG0uc2V0KCdt YXhfdmFsJywgby5tYXhfdmFsLCB7c2lsZW50OiB0cnVlfSk7CisgICAgICAg ICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgIH0pOworICAg ICAgICB9CisgICAgICAgIHJldHVybiAhbS5nZXQoJ2lzX3RsZW5ndGgnKTsK KyAgICAgIH0KKyAgICB9LHsKKyAgICAgIGlkOiAncHJlY2lzaW9uJywgbGFi ZWw6ICd7eyBfKCdQcmVjaXNpb24nKSB9fScsIGRlcHM6IFsndHlwZSddLAor ICAgICAgdHlwZTogJ3RleHQnLCBlZGl0YWJsZTogZmFsc2UsCisgICAgICBk aXNhYmxlZDogZnVuY3Rpb24obSkgeworICAgICAgICAvLyBXZSB3aWxsIHN0 b3JlIHR5cGUgZnJvbSBzZWxlY3RlZCBmcm9tIGNvbWJvYm94CisgICAgICAg IHZhciBvZl90eXBlID0gbS5nZXQoJ3R5cGUnKTsKKyAgICAgICAgaWYobS50 eXBlX29wdGlvbnMpIHsKKyAgICAgICAgICAvLyBpdGVyYXRpbmcgb3ZlciBh bGwgdGhlIHR5cGVzCisgICAgICAgICAgXy5lYWNoKG0udHlwZV9vcHRpb25z LCBmdW5jdGlvbihvKSB7CisgICAgICAgICAgICAvLyBpZiB0eXBlIGZyb20g c2VsZWN0ZWQgZnJvbSBjb21ib2JveCBtYXRjaGVzIGluIG9wdGlvbnMKKyAg ICAgICAgICAgIGlmICggb2ZfdHlwZSA9PSBvLnZhbHVlICkgeworICAgICAg ICAgICAgICAgIC8vIGlmIHByZWNlc3Npb24gaXMgYWxsb3dlZCBmb3Igc2Vs ZWN0ZWQgdHlwZQorICAgICAgICAgICAgICAgIGlmKG8ucHJlY2lzaW9uKQor ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIC8vIHNldCB0 aGUgdmFsdWVzIGluIG1vZGVsCisgICAgICAgICAgICAgICAgICBtLnNldCgn aXNfcHJlY2lzaW9uJywgdHJ1ZSwge3NpbGVudDogdHJ1ZX0pOworICAgICAg ICAgICAgICAgICAgbS5zZXQoJ21pbl92YWwnLCBvLm1pbl92YWwsIHtzaWxl bnQ6IHRydWV9KTsKKyAgICAgICAgICAgICAgICAgIG0uc2V0KCdtYXhfdmFs Jywgby5tYXhfdmFsLCB7c2lsZW50OiB0cnVlfSk7CisgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgIH0pOworICAgICAgICB9 CisgICAgICAgIHJldHVybiAhbS5nZXQoJ2lzX3ByZWNpc2lvbicpOworICAg ICAgfQorICAgIH0seworICAgICAgaWQ6ICdjb2xsYXRpb24nLCBsYWJlbDog J3t7IF8oJ0NvbGxhdGlvbicpIH19JywKKyAgICAgIGNvbnRyb2w6ICdub2Rl LWFqYXgtb3B0aW9ucycsIGVkaXRhYmxlOiBmYWxzZSwKKyAgICAgIHR5cGU6 ICd0ZXh0JywgZGlzYWJsZWQ6IGZhbHNlLCB1cmw6ICdnZXRfY29sbGF0aW9u cycsIG5vZGU6ICd0eXBlJworICAgIH1dLAorICAgIHZhbGlkYXRlOiBmdW5j dGlvbigpIHsKKyAgICAgIHZhciBlcnIgPSB7fSwKKyAgICAgICAgICBlcnJt c2cgPSBudWxsLAorICAgICAgICAgIGNoYW5nZWRBdHRycyA9IHRoaXMuc2Vz c0F0dHJzOworICAgICAgLy8gQ2xlYXJpbmcgcHJldmlvdXMgZXJyb3JzIGZp cnN0LgorICAgICAgdGhpcy5lcnJvck1vZGVsLmNsZWFyKCk7CisgICAgICAv LyBWYWxpZGF0aW9uIGZvciBtZW1iZXIgbmFtZQorICAgICAgaWYgKCBfLmhh cyhjaGFuZ2VkQXR0cnMsICdtZW1iZXJfbmFtZScpICYmIF8uaXNVbmRlZmlu ZWQodGhpcy5nZXQoJ21lbWJlcl9uYW1lJykpIHx8CisgICAgICAgIF8uaXNO dWxsKHRoaXMuZ2V0KCdtZW1iZXJfbmFtZScpKSB8fAorICAgICAgICBTdHJp bmcodGhpcy5nZXQoJ21lbWJlcl9uYW1lJykpLnJlcGxhY2UoL15ccyt8XHMr JC9nLCAnJykgPT0gJycpIHsKKyAgICAgICAgICBlcnJtc2cgPSAne3sgXygn UGxlYXNlIHNwZWNpZnkgdGhlIHZhbHVlIGZvciBtZW1iZXIgbmFtZS4nKSB9 fSc7CisgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnbWVtYmVyX25h bWUnLCBlcnJtc2cpCisgICAgICAgICAgcmV0dXJuIGVycm1zZzsKKyAgICAg IH0KKyAgICAgIC8vIFZhbGlkYXRpb24gZm9yIExlbmd0aCBmaWVsZAorICAg ICAgZWxzZSBpZiAoXy5oYXMoY2hhbmdlZEF0dHJzLCAndGxlbmd0aCcpICYm IHRoaXMuZ2V0KCdpc190bGVuZ3RoJykKKyAgICAgICAgJiYgIV8uaXNVbmRl ZmluZWQodGhpcy5nZXQoJ3RsZW5ndGgnKSkpIHsKKyAgICAgICAgaWYgKHRo aXMuZ2V0KCd0bGVuZ3RoJykgPCB0aGlzLmdldCgnbWluX3ZhbCcpKQorICAg ICAgICAgIGVycm1zZyA9ICd7eyBfKCdMZW5ndGggc2hvdWxkIG5vdCBiZSBs ZXNzIHRoYW4gJykgfX0nICArIHRoaXMuZ2V0KCdtaW5fdmFsJyk7CisgICAg ICAgIGlmICh0aGlzLmdldCgndGxlbmd0aCcpID4gdGhpcy5nZXQoJ21heF92 YWwnKSApCisgICAgICAgICAgZXJybXNnID0gJ3t7IF8oJ0xlbmd0aCBzaG91 bGQgbm90IGJlIGdyZWF0ZXIgdGhhbiAnKSB9fScgKyB0aGlzLmdldCgnbWF4 X3ZhbCcpOworICAgICAgICAvLyBJZiB3ZSBoYXZlIGFueSBlcnJvciBzZXQg dGhlbiB0aHJvdyBpdCB0byB1c2VyCisgICAgICAgIGlmKGVycm1zZykgewor ICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3RsZW5ndGgnLCBlcnJt c2cpCisgICAgICAgICAgcmV0dXJuIGVycm1zZzsKKyAgICAgICAgfQorICAg ICAgfQorICAgICAgLy8gVmFsaWRhdGlvbiBmb3IgcHJlY2lzaW9uIGZpZWxk CisgICAgICBlbHNlIGlmIChfLmhhcyhjaGFuZ2VkQXR0cnMsICdwcmVjaXNp b24nKSAmJiB0aGlzLmdldCgnaXNfcHJlY2lzaW9uJykKKyAgICAgICAgJiYg IV8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ3ByZWNpc2lvbicpKSkgeworICAg ICAgICBpZiAodGhpcy5nZXQoJ3ByZWNpc2lvbicpIDwgdGhpcy5nZXQoJ21p bl92YWwnKSkKKyAgICAgICAgICBlcnJtc2cgPSAne3sgXygnUHJlY2lzaW9u IHNob3VsZCBub3QgYmUgbGVzcyB0aGFuICcpIH19JyArIHRoaXMuZ2V0KCdt aW5fdmFsJyk7CisgICAgICAgIGlmICh0aGlzLmdldCgncHJlY2lzaW9uJykg PiB0aGlzLmdldCgnbWF4X3ZhbCcpKQorICAgICAgICAgIGVycm1zZyA9ICd7 eyBfKCdQcmVjaXNpb24gc2hvdWxkIG5vdCBiZSBncmVhdGVyIHRoYW4gJykg fX0nICsgdGhpcy5nZXQoJ21heF92YWwnKTsKKyAgICAgICAgLy8gSWYgd2Ug aGF2ZSBhbnkgZXJyb3Igc2V0IHRoZW4gdGhyb3cgaXQgdG8gdXNlcgorICAg ICAgICBpZihlcnJtc2cpIHsKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwu c2V0KCdwcmVjaXNpb24nLCBlcnJtc2cpCisgICAgICAgICAgcmV0dXJuIGVy cm1zZzsKKyAgICAgICAgfQorICAgICAgfQorICAgICAgcmV0dXJuIG51bGw7 CisgICAgfQorICB9KTsKKworICB2YXIgRW51bU1vZGVsID0gQmFja2Zvcm0u RW51bU1vZGVsID0gcGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5k KHsKKyAgICBkZWZhdWx0czogeworICAgICAgbGFiZWw6IHVuZGVmaW5lZCwK KyAgICB9LAorICAgIHNjaGVtYTogW3sKKyAgICAgIGlkOiAnbGFiZWwnLCBs YWJlbDogJ3t7IF8oJ0xhYmVsJykgfX0nLHR5cGU6ICd0ZXh0JywgZGlzYWJs ZWQ6IGZhbHNlLAorICAgICAgY2VsbEhlYWRlckNsYXNzZXM6ICd3aWR0aF9w ZXJjZW50Xzk5JywgZWRpdGFibGU6IGZ1bmN0aW9uKG0pIHsKKyAgICAgICAg cmV0dXJuIF8uaXNVbmRlZmluZWQobS5nZXQoJ2xhYmVsJykpOworICAgICAg fQorICAgIH1dLAorICAgIHZhbGlkYXRlOiBmdW5jdGlvbigpIHsKKyAgICAg IHZhciBlcnIgPSB7fSwKKyAgICAgICAgICBlcnJtc2cgPSBudWxsOworCisg ICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnbGFiZWwnKSB8fAor ICAgICAgICBfLmlzTnVsbCh0aGlzLmdldCgnbGFiZWwnKSkgfHwKKyAgICAg ICAgU3RyaW5nKHRoaXMuZ2V0KCdsYWJlbCcpKS5yZXBsYWNlKC9eXHMrfFxz KyQvZywgJycpID09ICcnKSkgeworICAgICAgICAgIGVycm1zZyA9ICd7eyBf KCdQbGVhc2Ugc3BlY2lmeSB0aGUgdmFsdWUgZm9yIGxhYmVsLicpIH19JzsK KyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdsYWJlbCcsIGVycm1z ZykKKyAgICAgICAgICByZXR1cm4gZXJybXNnOworICAgICAgfSBlbHNlIHsK KyAgICAgICAgdGhpcy5lcnJvck1vZGVsLnVuc2V0KCdsYWJlbCcpOworICAg ICAgfQorICAgICAgcmV0dXJuIG51bGw7CisgICAgfQorICB9KTsKKworICBp ZiAoIXBnQnJvd3Nlci5Ob2Rlc1sndHlwZSddKSB7CisgICAgcGdBZG1pbi5C cm93c2VyLk5vZGVzWyd0eXBlJ10gPSBwZ0Jyb3dzZXIuTm9kZS5leHRlbmQo eworICAgICAgdHlwZTogJ3R5cGUnLAorICAgICAgbGFiZWw6ICd7eyBfKCdU eXBlJykgfX0nLAorICAgICAgY29sbGVjdGlvbl90eXBlOiAnY29sbC10eXBl JywKKyAgICAgIGhhc1NRTDogdHJ1ZSwKKyAgICAgIGhhc0RlcGVuZHM6IHRy dWUsCisgICAgICBwYXJlbnRfdHlwZTogWydzY2hlbWEnLCAnY2F0YWxvZydd LAorICAgICAgSW5pdDogZnVuY3Rpb24oKSB7CisgICAgICAgIC8qIEF2b2lk IG11bGl0cGxlIHJlZ2lzdHJhdGlvbiBvZiBtZW51cyAqLworICAgICAgICBp ZiAodGhpcy5pbml0aWFsaXplZCkKKyAgICAgICAgICAgIHJldHVybjsKKwor ICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTsKKworICAgICAgICBw Z0Jyb3dzZXIuYWRkX21lbnVzKFt7CisgICAgICAgICAgbmFtZTogJ2NyZWF0 ZV90eXBlX29uX2NvbGwnLCBub2RlOiAnY29sbC10eXBlJywgbW9kdWxlOiB0 aGlzLAorICAgICAgICAgIGFwcGxpZXM6IFsnb2JqZWN0JywgJ2NvbnRleHQn XSwgY2FsbGJhY2s6ICdzaG93X29ial9wcm9wZXJ0aWVzJywKKyAgICAgICAg ICBjYXRlZ29yeTogJ2NyZWF0ZScsIHByaW9yaXR5OiA0LCBsYWJlbDogJ3t7 IF8oJ1R5cGUuLi4nKSB9fScsCisgICAgICAgICAgaWNvbjogJ3djVGFiSWNv biBpY29uLXR5cGUnLCBkYXRhOiB7YWN0aW9uOiAnY3JlYXRlJywgY2hlY2s6 IHRydWV9LAorICAgICAgICAgIGVuYWJsZTogJ2NhbkNyZWF0ZScKKyAgICAg ICAgfSx7CisgICAgICAgICAgbmFtZTogJ2NyZWF0ZV90eXBlJywgbm9kZTog J3R5cGUnLCBtb2R1bGU6IHRoaXMsCisgICAgICAgICAgYXBwbGllczogWydv YmplY3QnLCAnY29udGV4dCddLCBjYWxsYmFjazogJ3Nob3dfb2JqX3Byb3Bl cnRpZXMnLAorICAgICAgICAgIGNhdGVnb3J5OiAnY3JlYXRlJywgcHJpb3Jp dHk6IDQsIGxhYmVsOiAne3sgXygnVHlwZS4uLicpIH19JywKKyAgICAgICAg ICBpY29uOiAnd2NUYWJJY29uIGljb24tdHlwZScsIGRhdGE6IHthY3Rpb246 ICdjcmVhdGUnLCBjaGVjazogdHJ1ZX0sCisgICAgICAgICAgZW5hYmxlOiAn Y2FuQ3JlYXRlJworICAgICAgICB9LHsKKyAgICAgICAgICBuYW1lOiAnY3Jl YXRlX3R5cGUnLCBub2RlOiAnc2NoZW1hJywgbW9kdWxlOiB0aGlzLAorICAg ICAgICAgIGFwcGxpZXM6IFsnb2JqZWN0JywgJ2NvbnRleHQnXSwgY2FsbGJh Y2s6ICdzaG93X29ial9wcm9wZXJ0aWVzJywKKyAgICAgICAgICBjYXRlZ29y eTogJ2NyZWF0ZScsIHByaW9yaXR5OiA0LCBsYWJlbDogJ3t7IF8oJ1R5cGUu Li4nKSB9fScsCisgICAgICAgICAgaWNvbjogJ3djVGFiSWNvbiBpY29uLXR5 cGUnLCBkYXRhOiB7YWN0aW9uOiAnY3JlYXRlJywgY2hlY2s6IGZhbHNlfSwK KyAgICAgICAgICBlbmFibGU6ICdjYW5DcmVhdGUnCisgICAgICAgIH0KKyAg ICAgICAgXSk7CisKKyAgICAgIH0sCisgICAgICBjYW5Ecm9wOiBwZ0Jyb3dz ZXIuTm9kZXNbJ3NjaGVtYSddLmNhbkNoaWxkRHJvcCwKKyAgICAgIGNhbkRy b3BDYXNjYWRlOiBwZ0Jyb3dzZXIuTm9kZXNbJ3NjaGVtYSddLmNhbkNoaWxk RHJvcCwKKyAgICAgIGV4dF9mdW5jczogdW5kZWZpbmVkLAorICAgICAgbW9k ZWw6IHBnQWRtaW4uQnJvd3Nlci5Ob2RlLk1vZGVsLmV4dGVuZCh7CisgICAg ICAgIGRlZmF1bHRzOiB7CisgICAgICAgICAgbmFtZTogdW5kZWZpbmVkLAor ICAgICAgICAgIG9pZDogdW5kZWZpbmVkLAorICAgICAgICAgIGlzX3N5c190 eXBlOiBmYWxzZSwKKyAgICAgICAgICB0eXB0eXBlOiB1bmRlZmluZWQKKyAg ICAgICB9LAorCisgICAgICAgIC8vIERlZmF1bHQgdmFsdWVzIQorICAgICAg ICBpbml0aWFsaXplOiBmdW5jdGlvbihhdHRycywgYXJncykgeworICAgICAg ICAgIHZhciBpc05ldyA9IChfLnNpemUoYXR0cnMpID09PSAwKTsKKworICAg ICAgICAgIGlmIChpc05ldykgeworICAgICAgICAgICAgdmFyIHVzZXJJbmZv ID0gcGdCcm93c2VyLnNlcnZlckluZm9bYXJncy5ub2RlX2luZm8uc2VydmVy Ll9pZF0udXNlcjsKKyAgICAgICAgICAgIHZhciBzY2hlbWFJbmZvID0gYXJn cy5ub2RlX2luZm8uc2NoZW1hOworCisgICAgICAgICAgICB0aGlzLnNldCh7 J3R5cGVvd25lcic6IHVzZXJJbmZvLm5hbWV9LCB7c2lsZW50OiB0cnVlfSk7 CisgICAgICAgICAgICB0aGlzLnNldCh7J3NjaGVtYSc6IHNjaGVtYUluZm8u bGFiZWx9LCB7c2lsZW50OiB0cnVlfSk7CisgICAgICAgICAgfQorICAgICAg ICAgIHBnQWRtaW4uQnJvd3Nlci5Ob2RlLk1vZGVsLnByb3RvdHlwZS5pbml0 aWFsaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICAgIH0sCisK KyAgICAgICAgc2NoZW1hOiBbeworICAgICAgICAgIGlkOiAnbmFtZScsIGxh YmVsOiAne3sgXygnTmFtZScpIH19JywgY2VsbDogJ3N0cmluZycsCisgICAg ICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3Jl YXRlJywgJ2VkaXQnXSwKKyAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1h JworICAgICAgICB9LHsKKyAgICAgICAgICBpZDogJ29pZCcsIGxhYmVsOid7 eyBfKCdPSUQnKSB9fScsIGNlbGw6ICdzdHJpbmcnLAorICAgICAgICAgIHR5 cGU6ICd0ZXh0JyAsIG1vZGU6IFsncHJvcGVydGllcyddLCBkaXNhYmxlZDog dHJ1ZQorICAgICAgICB9LHsKKyAgICAgICAgICBpZDogJ3R5cGVvd25lcics IGxhYmVsOid7eyBfKCdPd25lcicpIH19JywgY2VsbDogJ3N0cmluZycsCisg ICAgICAgICAgY29udHJvbDogJ25vZGUtbGlzdC1ieS1uYW1lJywKKyAgICAg ICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVh dGUnLCAnZWRpdCddLCBub2RlOiAncm9sZScsCisgICAgICAgICAgZGlzYWJs ZWQ6ICdpblNjaGVtYScKKyAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICdz Y2hlbWEnLCBsYWJlbDone3sgXygnU2NoZW1hJykgfX0nLCBjZWxsOiAnc3Ry aW5nJywKKyAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsnY3JlYXRl JywgJ2VkaXQnXSwgbm9kZTogJ3NjaGVtYScsCisgICAgICAgICAgZGlzYWJs ZWQ6ICdpblNjaGVtYScsIGZpbHRlcjogZnVuY3Rpb24oZCkgeworICAgICAg ICAgICAgLy8gSWYgc2NoZW1hIG5hbWUgc3RhcnQgd2l0aCBwZ18qIHRoZW4g d2UgbmVlZCB0byBleGNsdWRlIHRoZW0KKyAgICAgICAgICAgIGlmKGQgJiYg ZC5sYWJlbC5tYXRjaCgvXnBnXy8pKQorICAgICAgICAgICAgeworICAgICAg ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAg ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICB9LAorICAgICAgICAgIGNv bnRyb2w6IEJhY2tmb3JtLk5vZGVMaXN0QnlOYW1lQ29udHJvbC5leHRlbmQo eworICAgICAgICAgICAgcmVuZGVyOiBmdW5jdGlvbigpeworICAgICAgICAg ICAgLy8gSW5pdGlhbGl6ZSBwYXJlbnQncyByZW5kZXIgbWV0aG9kCisgICAg ICAgICAgICBCYWNrZm9ybS5Ob2RlTGlzdEJ5TmFtZUNvbnRyb2wucHJvdG90 eXBlLnJlbmRlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworCisgICAgICAg ICAgICAvLyBTZXQgc2NoZW1hIGRlZmF1bHQgdmFsdWUgdG8gaXRzIHBhcmVu dCBTY2hlbWEKKyAgICAgICAgICAgIGlmKHRoaXMubW9kZWwuaXNOZXcoKSl7 CisgICAgICAgICAgICB0aGlzLm1vZGVsLnNldCh7J3NjaGVtYSc6IHRoaXMu bW9kZWwubm9kZV9pbmZvLnNjaGVtYS5sYWJlbH0pOworICAgICAgICAgICAg fQorICAgICAgICAgICAgcmV0dXJuIHRoaXM7CisgICAgICAgICAgICB9Cisg ICAgICAgICAgfSkKKyAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICd0eXB0 eXBlJywgbGFiZWw6J3t7IF8oJ1R5cGUnKSB9fScsCisgICAgICAgICAgbW9k ZTogWydjcmVhdGUnLCdlZGl0J10sIGRpc2FibGVkOiAnaW5TY2hlbWFXaXRo TW9kZWxDaGVjaycsCisgICAgICAgICAgZ3JvdXA6ICd7eyBfKCdEZWZpbml0 aW9uJykgfX0nLAorICAgICAgICAgIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUn XSwKKyAgICAgICAgICBzZWxlY3QyOiB7IHdpZHRoOiAiNTAlIiB9LAorICAg ICAgICAgIG9wdGlvbnM6IGZ1bmN0aW9uKCkgeworICAgICAgICAgICBpZigh dGhpcy5tb2RlbC5pc05ldygpKSB7CisgICAgICAgICAgICAgIHJldHVybiBb CisgICAgICAgICAgICAgICAge2xhYmVsOiAiQ29tcG9zaXRlIiwgdmFsdWU6 ICJjIn0sCisgICAgICAgICAgICAgICAge2xhYmVsOiAiRW51bWVyYXRpb24i LCB2YWx1ZTogImUifSwKKyAgICAgICAgICAgICAgICB7bGFiZWw6ICJFeHRl cm5hbCIsIHZhbHVlOiAiYiJ9LAorICAgICAgICAgICAgICAgIHtsYWJlbDog IlJhbmdlIiwgdmFsdWU6ICJyIn0sCisgICAgICAgICAgICAgIF0KKyAgICAg ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHJldHVybiBbCisgICAg ICAgICAgICAgICAge2xhYmVsOiAiQ29tcG9zaXRlIiwgdmFsdWU6ICJjIn0s CisgICAgICAgICAgICAgICAge2xhYmVsOiAiRW51bWVyYXRpb24iLCB2YWx1 ZTogImUifSwKKyAgICAgICAgICAgICAgICB7bGFiZWw6ICJSYW5nZSIsIHZh bHVlOiAiciJ9LAorICAgICAgICAgICAgICBdCisKKyAgICAgICAgICAgfQor ICAgICAgICAgIH0sCisgICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYVdp dGhNb2RlbENoZWNrJywKKyAgICAgICAgICAvLyBJZiBjcmVhdGUgbW9kZSB0 aGVuIGJ5IGRlZmF1bHQgb3BlbiBjb21wb3NpdGUgdHlwZQorICAgICAgICAg IGNvbnRyb2w6IEJhY2tmb3JtLlNlbGVjdDJDb250cm9sLmV4dGVuZCh7Cisg ICAgICAgICAgICByZW5kZXI6IGZ1bmN0aW9uKCl7CisgICAgICAgICAgICAg IC8vIEluaXRpYWxpemUgcGFyZW50J3MgcmVuZGVyIG1ldGhvZAorICAgICAg ICAgICAgICBCYWNrZm9ybS5TZWxlY3QyQ29udHJvbC5wcm90b3R5cGUucmVu ZGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICAgICAgICAgIGlm KHRoaXMubW9kZWwuaXNOZXcoKSkgeworICAgICAgICAgICAgICAgIHRoaXMu bW9kZWwuc2V0KHsndHlwdHlwZSc6ICdjJ30pOworICAgICAgICAgICAgICB9 CisgICAgICAgICAgICAgIHJldHVybiB0aGlzOworICAgICAgICAgICAgfQor ICAgICAgICAgIH0pCisgICAgICAgIH0seworICAgICAgICAgIGlkOiAnY29t cG9zaXRlJywgbGFiZWw6ICd7eyBfKCdDb21wb3NpdGUgVHlwZScpIH19JywK KyAgICAgICAgICBtb2RlbDogQ29tcG9zaXRlTW9kZWwsIGVkaXRhYmxlOiB0 cnVlLCB0eXBlOiAnY29sbGVjdGlvbicsCisgICAgICAgICAgZ3JvdXA6ICd7 eyBfKCdEZWZpbml0aW9uJykgfX0nLCBtb2RlOiBbJ2VkaXQnLCAnY3JlYXRl J10sCisgICAgICAgICAgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlv bicsIHVuaXF1ZUNvbCA6IFsnbWVtYmVyX25hbWUnXSwKKyAgICAgICAgICBj YW5BZGQ6IHRydWUsIGNhbkVkaXQ6IHRydWUsIGNhbkRlbGV0ZTogdHJ1ZSwg ZGlzYWJsZWQ6ICdpblNjaGVtYScsCisgICAgICAgICAgZGVwczogWyd0eXB0 eXBlJ10sIGRlcHM6IFsndHlwdHlwZSddLAorICAgICAgICAgIHZpc2libGU6 IGZ1bmN0aW9uKG0pIHsKKyAgICAgICAgICAgaWYgKG0uZ2V0KCd0eXB0eXBl JykgPT09ICdjJykgeworICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg ICAgICAgICB9CisgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg ICB9CisgICAgICAgIH0seworICAgICAgICAgIGlkOiAnZW51bScsIGxhYmVs OiAne3sgXygnRW51bWVyYXRpb24gVHlwZScpIH19JywKKyAgICAgICAgICBt b2RlbDogRW51bU1vZGVsLCBlZGl0YWJsZTogdHJ1ZSwgdHlwZTogJ2NvbGxl Y3Rpb24nLAorICAgICAgICAgIGdyb3VwOiAne3sgXygnRGVmaW5pdGlvbicp IH19JywgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLAorICAgICAgICAgIGNh bkFkZDogdHJ1ZSwgY2FuRWRpdDogZmFsc2UsIGNhbkRlbGV0ZTogZnVuY3Rp b24obSkgeworICAgICAgICAgICAgICAvLyBXZSB3aWxsIGRpc2FibGUgaXQg aWYgaXQncyBpbiAnZWRpdCcgbW9kZQorICAgICAgICAgICAgICBpZiAobS5p c05ldygpKSB7CisgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg ICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgIHJldHVy biBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9LAorICAgICAg ICAgIGRpc2FibGVkOiAnaW5TY2hlbWEnLCBkZXBzOiBbJ3R5cHR5cGUnXSwK KyAgICAgICAgICBjb250cm9sOiAndW5pcXVlLWNvbC1jb2xsZWN0aW9uJywg dW5pcXVlQ29sIDogWydsYWJlbCddLAorICAgICAgICAgIHZpc2libGU6IGZ1 bmN0aW9uKG0pIHsKKyAgICAgICAgICAgcmV0dXJuIG0uZ2V0KCd0eXB0eXBl JykgPT09ICdlJzsKKyAgICAgICAgICB9CisgICAgICAgIH0seworICAgICAg ICAgIC8vIFdlIHdpbGwgZGlzYWJsZSByYW5nZSB0eXBlIGNvbnRyb2wgaW4g ZWRpdCBtb2RlCisgICAgICAgICAgdHlwZTogJ25lc3RlZCcsIGNvbnRyb2w6 ICdwbGFpbi1maWVsZHNldCcsIGdyb3VwOiAne3sgXygnRGVmaW5pdGlvbicp IH19JywKKyAgICAgICAgICBtb2RlOiBbJ2VkaXQnLCAnY3JlYXRlJ10sCisg ICAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24obSkgeworICAgICAgICAgICAg cmV0dXJuIG0uZ2V0KCd0eXB0eXBlJykgPT09ICdyJzsKKyAgICAgICAgICB9 LCBkZXBzOiBbJ3R5cHR5cGUnXSwgbGFiZWw6ICd7eyBfKCcnKSB9fScsCisg ICAgICAgICAgc2NoZW1hOlt7CisgICAgICAgICAgICBpZDogJ3R5cG5hbWUn LCBsYWJlbDone3sgXygnU3ViLXR5cGUnKSB9fScsIGNlbGw6ICdzdHJpbmcn LAorICAgICAgICAgICAgY29udHJvbDogJ25vZGUtYWpheC1vcHRpb25zJywK KyAgICAgICAgICAgIHNlbGVjdDI6IHsgYWxsb3dDbGVhcjogdHJ1ZSwgcGxh Y2Vob2xkZXI6ICIiLCB3aWR0aDogIjEwMCUiIH0sCisgICAgICAgICAgICB1 cmw6ICdnZXRfc3R5cGVzJywgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3Bl cnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwKKyAgICAgICAgICAgIGdyb3Vw OiAne3sgXygnUmFuZ2UgVHlwZScpIH19JywgZGlzYWJsZWQ6ICdpblNjaGVt YVdpdGhNb2RlbENoZWNrJywKKyAgICAgICAgICAgIHRyYW5zZm9ybTogZnVu Y3Rpb24oZCl7CisgICAgICAgICAgICAgIHRoaXMubW9kZWwuc3VidHlwZXMg PSAgZDsKKyAgICAgICAgICAgICAgcmV0dXJuIGQ7CisgICAgICAgICAgICB9 CisgICAgICAgICAgfSx7CisgICAgICAgICAgICAgIGlkOiAnb3BjbmFtZScs IGxhYmVsOid7eyBfKCdTdWItdHlwZSBvcGVyYXRvciBjbGFzcycpIH19Jywg Y2VsbDogJ3N0cmluZycsCisgICAgICAgICAgICAgIG1vZGU6IFsncHJvcGVy dGllcycsICdjcmVhdGUnLCAnZWRpdCddLCBncm91cDogJ3t7IF8oJ1Jhbmdl IFR5cGUnKSB9fScsCisgICAgICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hl bWFXaXRoTW9kZWxDaGVjaycsIGRlcHM6IFsndHlwbmFtZSddLAorICAgICAg ICAgICAgICBjb250cm9sOiAnc2VsZWN0Jywgb3B0aW9uczogZnVuY3Rpb24o KSB7CisgICAgICAgICAgICAgICAgdmFyIGxfdHlwbmFtZSA9IHRoaXMubW9k ZWwuZ2V0KCd0eXBuYW1lJyksCisgICAgICAgICAgICAgICAgICBzZWxmID0g dGhpcywKKyAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IFtdOworICAgICAg ICAgICAgICAgIGlmKCFfLmlzVW5kZWZpbmVkKGxfdHlwbmFtZSkgJiYgbF90 eXBuYW1lICE9ICcnKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICAgIHZhciBub2RlID0gdGhpcy5maWVsZC5nZXQoJ3NjaGVtYV9ub2Rl JyksCisgICAgICAgICAgICAgICAgICBfdXJsID0gbm9kZS5nZW5lcmF0ZV91 cmwuYXBwbHkoCisgICAgICAgICAgICAgICAgICAgIG5vZGUsIFsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBudWxsLCAnZ2V0X3N1Ym9wY2xhc3Mn LCB0aGlzLmZpZWxkLmdldCgnbm9kZV9kYXRhJyksIGZhbHNlLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGQuZ2V0KCdub2RlX2lu Zm8nKQorICAgICAgICAgICAgICAgICAgICBdKTsKKyAgICAgICAgICAgICAg ICAgICQuYWpheCh7CisgICAgICAgICAgICAgICAgICAgIGFzeW5jOiBmYWxz ZSwKKyAgICAgICAgICAgICAgICAgICAgdXJsOiBfdXJsLAorICAgICAgICAg ICAgICAgICAgICBjYWNoZTogZmFsc2UsCisgICAgICAgICAgICAgICAgICAg IGRhdGE6IHsndHlwbmFtZScgOiBsX3R5cG5hbWV9LAorICAgICAgICAgICAg ICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHsKKyAgICAgICAgICAg ICAgICAgICAgICByZXN1bHQgPSByZXMuZGF0YTsKKyAgICAgICAgICAgICAg ICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9u KCkgeworICAgICAgICAgICAgICAgICAgICAgIHNlbGYubW9kZWwudHJpZ2dl cigncGdhZG1pbjp2aWV3OmZldGNoOmVycm9yJywgc2VsZi5tb2RlbCwgc2Vs Zi5maWVsZCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg ICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAvLworICAgICAgICAg ICAgICAgIH0KKyAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAg ICAgICAgICAgICB9CisgICAgICAgICAgICB9LHsKKyAgICAgICAgICAgICAg aWQ6ICdjb2xsbmFtZScsIGxhYmVsOid7eyBfKCdDb2xsYXRpb24nKSB9fScs IGNlbGw6ICdzdHJpbmcnLAorICAgICAgICAgICAgICB0eXBlOiAndGV4dCcs IG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLAorICAg ICAgICAgICAgICBncm91cDogJ3t7IF8oJ1JhbmdlIFR5cGUnKSB9fScsCisg ICAgICAgICAgICAgIGRlcHM6IFsndHlwbmFtZSddLCBjb250cm9sOiAnbm9k ZS1hamF4LW9wdGlvbnMnLCB1cmw6ICdnZXRfY29sbGF0aW9ucycsCisgICAg ICAgICAgICAgIHNlbGVjdDI6IHsgYWxsb3dDbGVhcjogdHJ1ZSwgcGxhY2Vo b2xkZXI6ICIiLCB3aWR0aDogIjEwMCUiIH0sCisgICAgICAgICAgICAgIGRp c2FibGVkOiBmdW5jdGlvbihtKSB7CisgICAgICAgICAgICAgICAgaWYodGhp cy5ub2RlX2luZm8gJiYgICdjYXRhbG9nJyBpbiB0aGlzLm5vZGVfaW5mbykK KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICByZXR1cm4g dHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAv LyBEaXNiYWxlIGluIGVkaXQgbW9kZQorICAgICAgICAgICAgICAgIGlmICgh bS5pc05ldygpKSB7CisgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAvLyBUbyBj aGVjayBpZiBjb2xsYXRpb24gaXMgYWxsb3dlZD8KKyAgICAgICAgICAgICAg ICB2YXIgb2Zfc3VidHlwZSA9IG0uZ2V0KCd0eXBuYW1lJyksCisgICAgICAg ICAgICAgICAgICBpc19jb2xsYXRlID0gdW5kZWZpbmVkOworICAgICAgICAg ICAgICAgIGlmKCFfLmlzVW5kZWZpbmVkKG9mX3N1YnR5cGUpKSB7CisgICAg ICAgICAgICAgICAgICAvLyBpdGVyYXRpbmcgb3ZlciBhbGwgdGhlIHR5cGVz CisgICAgICAgICAgICAgICAgICBfLmVhY2gobS5zdWJ0eXBlcywgZnVuY3Rp b24ocykgeworICAgICAgICAgICAgICAgICAgICAvLyBpZiBzdWJ0eXBlIGZy b20gc2VsZWN0ZWQgZnJvbSBjb21ib2JveCBtYXRjaGVzCisgICAgICAgICAg ICAgICAgICAgIGlmICggb2Zfc3VidHlwZSA9PT0gcy5sYWJlbCApIHsKKyAg ICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIGNvbGxhdGlvbiBpcyBhbGxv d2VkIGZvciBzZWxlY3RlZCBzdWJ0eXBlCisgICAgICAgICAgICAgICAgICAg ICAgICAvLyB0aGVuIGVuYWJsZSBpdCBlbHNlIGRpc2FibGUgaXQKKyAgICAg ICAgICAgICAgICAgICAgICAgIGlzX2NvbGxhdGUgPSBzLmlzX2NvbGxhdGU7 CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgIH0p OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAvLyBJZiBp c19jb2xsYXRlIGlzIHRydWUgdGhlbiBkbyBub3QgZGlzYWJsZQorICAgICAg ICAgICAgICAgIHJldHVybiBpc19jb2xsYXRlID8gZmFsc2UgOiB0cnVlOwor ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LHsKKyAgICAgICAgICAg ICAgaWQ6ICdybmdjYW5vbmljYWwnLCBsYWJlbDone3sgXygnQ2Fub25pY2Fs IGZ1bmN0aW9uJykgfX0nLCBjZWxsOiAnc3RyaW5nJywKKyAgICAgICAgICAg ICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRl JywgJ2VkaXQnXSwKKyAgICAgICAgICAgICAgZ3JvdXA6ICd7eyBfKCdSYW5n ZSBUeXBlJykgfX0nLAorICAgICAgICAgICAgICBkaXNhYmxlZDogJ2luU2No ZW1hV2l0aE1vZGVsQ2hlY2snLCBkZXBzOiBbJ25hbWUnLCAndHlwbmFtZSdd LAorICAgICAgICAgICAgICBjb250cm9sOiAnc2VsZWN0Jywgb3B0aW9uczog ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgdmFyIG5hbWUgPSB0aGlz Lm1vZGVsLmdldCgnbmFtZScpLAorICAgICAgICAgICAgICAgICBzZWxmID0g dGhpcywKKyAgICAgICAgICAgICAgICAgcmVzdWx0ID0gW107CisKKyAgICAg ICAgICAgICAgICBpZighXy5pc1VuZGVmaW5lZChuYW1lKSAmJiBuYW1lICE9 ICcnKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIHZh ciBub2RlID0gdGhpcy5maWVsZC5nZXQoJ3NjaGVtYV9ub2RlJyksCisgICAg ICAgICAgICAgICAgICBfdXJsID0gbm9kZS5nZW5lcmF0ZV91cmwuYXBwbHko CisgICAgICAgICAgICAgICAgICAgIG5vZGUsIFsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBudWxsLCAnZ2V0X2Nhbm9uaWNhbCcsIHRoaXMuZmll bGQuZ2V0KCdub2RlX2RhdGEnKSwgZmFsc2UsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGhpcy5maWVsZC5nZXQoJ25vZGVfaW5mbycpCisgICAg ICAgICAgICAgICAgICAgIF0pOworICAgICAgICAgICAgICAgICAgJC5hamF4 KHsKKyAgICAgICAgICAgICAgICAgICAgYXN5bmM6IGZhbHNlLAorICAgICAg ICAgICAgICAgICAgICB1cmw6IF91cmwsCisgICAgICAgICAgICAgICAgICAg IGNhY2hlOiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgZGF0YTogeyJu YW1lIiA6IG5hbWV9LAorICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBm dW5jdGlvbihyZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgICByZXN1bHQg PSByZXMuZGF0YTsKKyAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAg ICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg ICAgICAgICAgIHNlbGYubW9kZWwudHJpZ2dlcigncGdhZG1pbjp2aWV3OmZl dGNoOmVycm9yJywKKyAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1vZGVs LCBzZWxmLmZpZWxkKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAg ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg ICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgICAgICB9CisgICAgICAg ICAgICB9LHsKKyAgICAgICAgICAgICAgaWQ6ICdybmdzdWJkaWZmJywgbGFi ZWw6J3t7IF8oJ1N1Yi10eXBlIGRpZmYgZnVuY3Rpb24nKSB9fScsIGNlbGw6 ICdzdHJpbmcnLAorICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6 IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLAorICAgICAgICAg ICAgICBncm91cDogJ3t7IF8oJ1JhbmdlIFR5cGUnKSB9fScsCisgICAgICAg ICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWFXaXRoTW9kZWxDaGVjaycsIGRl cHM6IFsnb3BjbmFtZSddLAorICAgICAgICAgICAgICBjb250cm9sOiAnc2Vs ZWN0Jywgb3B0aW9uczogZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg dmFyIGxfdHlwbmFtZSA9IHRoaXMubW9kZWwuZ2V0KCd0eXBuYW1lJyksCisg ICAgICAgICAgICAgICAgICBsX29wY25hbWUgPSB0aGlzLm1vZGVsLmdldCgn b3BjbmFtZScpLAorICAgICAgICAgICAgICAgICAgc2VsZiA9IHRoaXMsCisg ICAgICAgICAgICAgICAgICByZXN1bHQgPSBbXTsKKworICAgICAgICAgICAg ICAgIGlmKCFfLmlzVW5kZWZpbmVkKGxfdHlwbmFtZSkgJiYgbF90eXBuYW1l ICE9ICcnICYmCisgICAgICAgICAgICAgICAgIV8uaXNVbmRlZmluZWQobF9v cGNuYW1lKSAmJiBsX29wY25hbWUgIT0gJycpIHsKKyAgICAgICAgICAgICAg ICAgIHZhciBub2RlID0gdGhpcy5maWVsZC5nZXQoJ3NjaGVtYV9ub2RlJyks CisgICAgICAgICAgICAgICAgICBfdXJsID0gbm9kZS5nZW5lcmF0ZV91cmwu YXBwbHkoCisgICAgICAgICAgICAgICAgICAgIG5vZGUsIFsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBudWxsLCAnZ2V0X3N0eXBlZGlmZicsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWVsZC5nZXQoJ25v ZGVfZGF0YScpLCBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0aGlzLmZpZWxkLmdldCgnbm9kZV9pbmZvJykKKyAgICAgICAgICAgICAg ICAgICAgXSk7CisgICAgICAgICAgICAgICAgICAkLmFqYXgoeworICAgICAg ICAgICAgICAgICAgICBhc3luYzogZmFsc2UsCisgICAgICAgICAgICAgICAg ICAgIHVybDogX3VybCwKKyAgICAgICAgICAgICAgICAgICAgY2FjaGU6IGZh bHNlLAorICAgICAgICAgICAgICAgICAgICBkYXRhOiB7J3R5cG5hbWUnIDog bF90eXBuYW1lLCAnb3BjbmFtZSc6IGxfb3BjbmFtZX0sCisgICAgICAgICAg ICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykgeworICAgICAgICAg ICAgICAgICAgICAgIHJlc3VsdCA9IHJlcy5kYXRhOworICAgICAgICAgICAg ICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rp b24oKSB7CisgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tb2RlbC50cmln Z2VyKCdwZ2FkbWluOnZpZXc6ZmV0Y2g6ZXJyb3InLAorICAgICAgICAgICAg ICAgICAgICAgIHNlbGYubW9kZWwsIHNlbGYuZmllbGQpOworICAgICAgICAg ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAg ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAg ICAgICAgICAgIH0KKyAgICAgICAgICB9XQorICAgICAgICB9LHsKKyAgICAg ICAgICB0eXBlOiAnbmVzdGVkJywgY29udHJvbDogJ3RhYicsIGdyb3VwOiAn e3sgXygnRGVmaW5pdGlvbicpIH19JywKKyAgICAgICAgICBsYWJlbDogJ3t7 IF8oJ0V4dGVybmFsIFR5cGUnKSB9fScsIGRlcHM6IFsndHlwdHlwZSddLAor ICAgICAgICAgIG1vZGU6IFsnZWRpdCddLAorICAgICAgICAgIHZpc2libGU6 IGZ1bmN0aW9uKG0pIHsKKyAgICAgICAgICAgIHJldHVybiBtLmdldCgndHlw dHlwZScpID09PSAnYic7CisgICAgICAgICAgfSwKKyAgICAgICAgICBzY2hl bWE6W3sKKyAgICAgICAgICAgIGlkOiAndHlwaW5wdXQnLCBsYWJlbDone3sg XygnSW5wdXQgZnVuY3Rpb24nKSB9fScsCisgICAgICAgICAgICBjZWxsOiAn c3RyaW5nJyx0eXBlOiAndGV4dCcsCisgICAgICAgICAgICBtb2RlOiBbJ3By b3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwgZ3JvdXA6ICdSZXF1aXJl ZCcsCisgICAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hV2l0aE1vZGVs Q2hlY2snLAorICAgICAgICAgICAgY29udHJvbDogJ25vZGUtYWpheC1vcHRp b25zJywgdXJsOiAnZ2V0X2V4dGVybmFsX2Z1bmN0aW9ucycsCisgICAgICAg ICAgICB0cmFuc2Zvcm06ICdleHRlcm5hbF9mdW5jX2NvbWJvJywKKyAgICAg ICAgICAgIHNlbGVjdDI6IHsgYWxsb3dDbGVhcjogdHJ1ZSwgcGxhY2Vob2xk ZXI6ICIiLCB3aWR0aDogIjEwMCUiIH0KKyAgICAgICAgICB9LHsKKyAgICAg ICAgICAgIGlkOiAndHlwb3V0cHV0JywgbGFiZWw6J3t7IF8oJ091dHB1dCBm dW5jdGlvbicpIH19JywKKyAgICAgICAgICAgIGNlbGw6ICdzdHJpbmcnLAor ICAgICAgICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMn LCAnY3JlYXRlJywgJ2VkaXQnXSwKKyAgICAgICAgICAgIGdyb3VwOiAnUmVx dWlyZWQnLAorICAgICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhN b2RlbENoZWNrJworICAgICAgICAgICAgLGNvbnRyb2w6ICdub2RlLWFqYXgt b3B0aW9ucycsIHVybDogJ2dldF9leHRlcm5hbF9mdW5jdGlvbnMnLAorICAg ICAgICAgICAgdHJhbnNmb3JtOiAnZXh0ZXJuYWxfZnVuY19jb21ibycsCisg ICAgICAgICAgICBzZWxlY3QyOiB7IGFsbG93Q2xlYXI6IHRydWUsIHBsYWNl aG9sZGVyOiAiIiwgd2lkdGg6ICIxMDAlIiB9CisgICAgICAgICAgfSx7Cisg ICAgICAgICAgICBpZDogJ3R5cHJlY2VpdmUnLCBsYWJlbDone3sgXygnUmVj ZWl2ZSBmdW5jdGlvbicpIH19JywKKyAgICAgICAgICAgIGNlbGw6ICdzdHJp bmcnLCB0eXBlOiAndGV4dCcsIGdyb3VwOiAnT3B0aW9uYWwtMScsCisgICAg ICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQn XSwKKyAgICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWFXaXRoTW9kZWxD aGVjaycKKyAgICAgICAgICAgICxjb250cm9sOiAnbm9kZS1hamF4LW9wdGlv bnMnLCB1cmw6ICdnZXRfZXh0ZXJuYWxfZnVuY3Rpb25zJywKKyAgICAgICAg ICAgIHRyYW5zZm9ybTogJ2V4dGVybmFsX2Z1bmNfY29tYm8nLAorICAgICAg ICAgICAgc2VsZWN0MjogeyBhbGxvd0NsZWFyOiB0cnVlLCBwbGFjZWhvbGRl cjogIiIsIHdpZHRoOiAiMTAwJSIgfQorICAgICAgICAgIH0seworICAgICAg ICAgICAgaWQ6ICd0eXBzZW5kJywgbGFiZWw6J3t7IF8oJ1NlbmQgZnVuY3Rp b24nKSB9fScsCisgICAgICAgICAgICBjZWxsOiAnc3RyaW5nJywgZ3JvdXA6 ICdPcHRpb25hbC0xJywKKyAgICAgICAgICAgIHR5cGU6ICd0ZXh0JywgbW9k ZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCisgICAgICAg ICAgICBkaXNhYmxlZDogJ2luU2NoZW1hV2l0aE1vZGVsQ2hlY2snCisgICAg ICAgICAgICAsY29udHJvbDogJ25vZGUtYWpheC1vcHRpb25zJywgdXJsOiAn Z2V0X2V4dGVybmFsX2Z1bmN0aW9ucycsCisgICAgICAgICAgICB0cmFuc2Zv cm06ICdleHRlcm5hbF9mdW5jX2NvbWJvJywKKyAgICAgICAgICAgIHNlbGVj dDI6IHsgYWxsb3dDbGVhcjogdHJ1ZSwgcGxhY2Vob2xkZXI6ICIiLCB3aWR0 aDogIjEwMCUiIH0KKyAgICAgICAgICB9LHsKKyAgICAgICAgICAgIGlkOiAn dHlwbW9kaW4nLCBsYWJlbDone3sgXygnVHlwbW9kIGluIGZ1bmN0aW9uJykg fX0nLAorICAgICAgICAgICAgY2VsbDogJ3N0cmluZycsIHR5cGU6ICd0ZXh0 JywKKyAgICAgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUn LCAnZWRpdCddLCBncm91cDogJ09wdGlvbmFsLTEnLAorICAgICAgICAgICAg ZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhNb2RlbENoZWNrJywKKyAgICAgICAg ICAgIGNvbnRyb2w6ICdub2RlLWFqYXgtb3B0aW9ucycsIHVybDogJ2dldF9l eHRlcm5hbF9mdW5jdGlvbnMnLAorICAgICAgICAgICAgc2VsZWN0MjogeyBh bGxvd0NsZWFyOiB0cnVlLCBwbGFjZWhvbGRlcjogIiIsIHdpZHRoOiAiMTAw JSIgfSwKKyAgICAgICAgICAgIHRyYW5zZm9ybTogZnVuY3Rpb24oZCkgewor ICAgICAgICAgICAgICB2YXIgcmVzdWx0ID0gW3tsYWJlbCA6IiIsIHZhbHVl IDogIiJ9XTsKKyAgICAgICAgICAgICAgXy5lYWNoKGQsIGZ1bmN0aW9uKGl0 ZW0pIHsKKyAgICAgICAgICAgICAgLy8gaWYgdHlwZSBmcm9tIHNlbGVjdGVk IGZyb20gY29tYm9ib3ggbWF0Y2hlcyBpbiBvcHRpb25zCisgICAgICAgICAg ICAgIGlmICggaXRlbS5jYnR5cGUgPT09ICd0eXBtb2RpbicgfHwgaXRlbS5j YnR5cGUgPT09ICdhbGwnKSB7CisgICAgICAgICAgICAgICAgcmVzdWx0LnB1 c2goaXRlbSk7CisgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9KTsK KyAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICAgICAgfQor ICAgICAgICAgIH0seworICAgICAgICAgICAgaWQ6ICd0eXBtb2RvdXQnLCBs YWJlbDone3sgXygnVHlwbW9kIG91dCBmdW5jdGlvbicpIH19JywKKyAgICAg ICAgICAgIGNlbGw6ICdzdHJpbmcnLCBncm91cDogJ09wdGlvbmFsLTEnLAor ICAgICAgICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMn LCAnY3JlYXRlJywgJ2VkaXQnXSwKKyAgICAgICAgICAgIGRpc2FibGVkOiAn aW5TY2hlbWFXaXRoTW9kZWxDaGVjaycsCisgICAgICAgICAgICBjb250cm9s OiAnbm9kZS1hamF4LW9wdGlvbnMnLCB1cmw6ICdnZXRfZXh0ZXJuYWxfZnVu Y3Rpb25zJywKKyAgICAgICAgICAgIHNlbGVjdDI6IHsgYWxsb3dDbGVhcjog dHJ1ZSwgcGxhY2Vob2xkZXI6ICIiLCB3aWR0aDogIjEwMCUiIH0sCisgICAg ICAgICAgICB0cmFuc2Zvcm06IGZ1bmN0aW9uKGQpIHsKKyAgICAgICAgICAg ICAgdmFyIHJlc3VsdCA9IFt7bGFiZWwgOiIiLCB2YWx1ZSA6ICIifV07Cisg ICAgICAgICAgICAgIF8uZWFjaChkLCBmdW5jdGlvbihpdGVtKSB7CisgICAg ICAgICAgICAgIC8vIGlmIHR5cGUgZnJvbSBzZWxlY3RlZCBmcm9tIGNvbWJv Ym94IG1hdGNoZXMgaW4gb3B0aW9ucworICAgICAgICAgICAgICBpZiAoIGl0 ZW0uY2J0eXBlID09PSAndHlwbW9kb3V0JyB8fCBpdGVtLmNidHlwZSA9PT0g J2FsbCcpIHsKKyAgICAgICAgICAgICAgICByZXN1bHQucHVzaChpdGVtKTsK KyAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0pOworICAgICAgICAg ICAgIHJldHVybiByZXN1bHQ7CisgICAgICAgICAgICB9CisgICAgICAgICAg fSx7CisgICAgICAgICAgICBpZDogJ3R5cGxlbicsIGxhYmVsOid7eyBfKCdJ bnRlcm5hbCBsZW5ndGgnKSB9fScsCisgICAgICAgICAgICBjZWxsOiAnaW50 ZWdlcicsIGdyb3VwOiAnT3B0aW9uYWwtMScsCisgICAgICAgICAgICB0eXBl OiAnaW50JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0 J10sCisgICAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hV2l0aE1vZGVs Q2hlY2snCisgICAgICAgICAgfSx7CisgICAgICAgICAgICBpZDogJ3Zhcmlh YmxlJywgbGFiZWw6J3t7IF8oJ1ZhcmlhYmxlPycpIH19JywgY2VsbDogJ3N3 aXRjaCcsCisgICAgICAgICAgICBncm91cDogJ09wdGlvbmFsLTEnLCB0eXBl OiAnc3dpdGNoJywKKyAgICAgICAgICAgIG1vZGU6IFsnY3JlYXRlJywnZWRp dCddLCBvcHRpb25zOiBzd2l0Y2hPcHRpb25zLAorICAgICAgICAgICAgZGlz YWJsZWQ6ICdpblNjaGVtYVdpdGhNb2RlbENoZWNrJworICAgICAgICAgIH0s eworICAgICAgICAgICAgaWQ6ICd0eXBkZWZhdWx0JywgbGFiZWw6J3t7IF8o J0RlZmF1bHQ/JykgfX0nLAorICAgICAgICAgICAgY2VsbDogJ3N0cmluZycs IGdyb3VwOiAnT3B0aW9uYWwtMScsCisgICAgICAgICAgICB0eXBlOiAndGV4 dCcsIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCdlZGl0J10sCisg ICAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hV2l0aE1vZGVsQ2hlY2sn CisgICAgICAgICAgfSx7CisgICAgICAgICAgICBpZDogJ3R5cGFuYWx5emUn LCBsYWJlbDone3sgXygnQW5hbHl6ZSBmdW5jdGlvbicpIH19JywKKyAgICAg ICAgICAgIGNlbGw6ICdzdHJpbmcnLCBncm91cDogJ09wdGlvbmFsLTEnLAor ICAgICAgICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMn LCAnY3JlYXRlJywnZWRpdCddLAorICAgICAgICAgICAgZGlzYWJsZWQ6ICdp blNjaGVtYVdpdGhNb2RlbENoZWNrJworICAgICAgICAgICAgLGNvbnRyb2w6 ICdub2RlLWFqYXgtb3B0aW9ucycsIHVybDogJ2dldF9leHRlcm5hbF9mdW5j dGlvbnMnLAorICAgICAgICAgICAgdHJhbnNmb3JtOiAnZXh0ZXJuYWxfZnVu Y19jb21ibycsCisgICAgICAgICAgICBzZWxlY3QyOiB7IGFsbG93Q2xlYXI6 IHRydWUsIHBsYWNlaG9sZGVyOiAiIiwgd2lkdGg6ICIxMDAlIiB9CisgICAg ICAgICAgfSx7CisgICAgICAgICAgICBpZDogJ3R5cGNhdGVnb3J5JywgbGFi ZWw6J3t7IF8oJ0NhdGVnb3J5IHR5cGUnKSB9fScsCisgICAgICAgICAgICBj ZWxsOiAnc3RyaW5nJywgZ3JvdXA6ICdPcHRpb25hbC0xJywKKyAgICAgICAg ICAgIHR5cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0 ZScsJ2VkaXQnXSwKKyAgICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWFX aXRoTW9kZWxDaGVjaycsIGNvbnRyb2w6ICdzZWxlY3QyJywKKyAgICAgICAg ICAgIHNlbGVjdDI6IHsgYWxsb3dDbGVhcjogdHJ1ZSwgcGxhY2Vob2xkZXI6 ICIiLCB3aWR0aDogIjEwMCUiIH0sCisgICAgICAgICAgICBvcHRpb25zOiBb CisgICAgICAgICAgICAgIHtsYWJlbCA6IiIsIHZhbHVlIDogIiJ9LAorICAg ICAgICAgICAgICB7bGFiZWwgOiJBcnJheSB0eXBlcyIsIHZhbHVlIDogIkEi fSwKKyAgICAgICAgICAgICAge2xhYmVsIDoiQm9vbGVhbiB0eXBlcyIsIHZh bHVlIDogIkIifSwKKyAgICAgICAgICAgICAge2xhYmVsIDoiQ29tcG9zaXRl IHR5cGVzIiwgdmFsdWUgOiAiQyJ9LAorICAgICAgICAgICAgICB7bGFiZWwg OiJEYXRlL3RpbWUgdHlwZXMiLCB2YWx1ZSA6ICJEIn0sCisgICAgICAgICAg ICAgIHtsYWJlbCA6IkVudW0gdHlwZXMiLCB2YWx1ZSA6ICJFIn0sCisgICAg ICAgICAgICAgIHtsYWJlbCA6Ikdlb21ldHJpYyB0eXBlcyIsIHZhbHVlIDog IkcifSwKKyAgICAgICAgICAgICAge2xhYmVsIDoiTmV0d29yayBhZGRyZXNz IHR5cGVzIiwgdmFsdWUgOiAiSSJ9LAorICAgICAgICAgICAgICB7bGFiZWwg OiJOdW1lcmljIHR5cGVzIiwgdmFsdWUgOiAiTiJ9LAorICAgICAgICAgICAg ICB7bGFiZWwgOiJQc2V1ZG8tdHlwZXMiLCB2YWx1ZSA6ICJQIn0sCisgICAg ICAgICAgICAgIHtsYWJlbCA6IlN0cmluZyB0eXBlcyIsIHZhbHVlIDogIlMi fSwKKyAgICAgICAgICAgICAge2xhYmVsIDoiVGltZXNwYW4gdHlwZXMiLCB2 YWx1ZSA6ICJUIn0sCisgICAgICAgICAgICAgIHtsYWJlbCA6IlVzZXItZGVm aW5lZCB0eXBlcyIsIHZhbHVlIDogIlUifSwKKyAgICAgICAgICAgICAge2xh YmVsIDoiQml0LXN0cmluZyB0eXBlcyIsIHZhbHVlIDogIlYifSwKKyAgICAg ICAgICAgICAge2xhYmVsIDoidW5rbm93biB0eXBlIiwgdmFsdWUgOiAiWCJ9 CisgICAgICAgICAgICBdCisgICAgICAgICAgfSx7CisgICAgICAgICAgICBp ZDogJ3R5cGlzcHJlZmVycmVkJywgbGFiZWw6J3t7IF8oJ1ByZWZlcnJlZD8n KSB9fScsIGNlbGw6ICdzd2l0Y2gnLAorICAgICAgICAgICAgdHlwZTogJ3N3 aXRjaCcsIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCdlZGl0J10s CisgICAgICAgICAgICBvcHRpb25zOiBzd2l0Y2hPcHRpb25zLCBkaXNhYmxl ZDogJ2luU2NoZW1hV2l0aE1vZGVsQ2hlY2snLAorICAgICAgICAgICAgZ3Jv dXA6ICdPcHRpb25hbC0xJworICAgICAgICAgIH0seworICAgICAgICAgICAg aWQ6ICdlbGVtZW50JywgbGFiZWw6J3t7IF8oJ0VsZW1lbnQgdHlwZScpIH19 JywgY2VsbDogJ3N0cmluZycsCisgICAgICAgICAgICBjb250cm9sOiAnbm9k ZS1hamF4LW9wdGlvbnMnLCBncm91cDogJ09wdGlvbmFsLTInLAorICAgICAg ICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3Jl YXRlJywgJ2VkaXQnXSwKKyAgICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hl bWFXaXRoTW9kZWxDaGVjaycsIHVybDogJ2dldF90eXBlcycKKyAgICAgICAg ICB9LHsKKyAgICAgICAgICAgIGlkOiAndHlwZGVsaW0nLCBsYWJlbDone3sg XygnRGVsaW1pdGVyJykgfX0nLCBjZWxsOiAnc3RyaW5nJywKKyAgICAgICAg ICAgIHR5cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0 ZScsICdlZGl0J10sCisgICAgICAgICAgICBncm91cDogJ09wdGlvbmFsLTIn LCBkaXNhYmxlZDogJ2luU2NoZW1hV2l0aE1vZGVsQ2hlY2snCisgICAgICAg ICAgfSx7CisgICAgICAgICAgICBpZDogJ3R5cGFsaWduJywgbGFiZWw6J3t7 IF8oJ0FsaWdubWVudCB0eXBlJykgfX0nLAorICAgICAgICAgICAgY2VsbDog J3N0cmluZycsIGdyb3VwOiAnT3B0aW9uYWwtMicsCisgICAgICAgICAgICB0 eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAn ZWRpdCddLAorICAgICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhN b2RlbENoZWNrJywgY29udHJvbDogJ3NlbGVjdDInLAorICAgICAgICAgICAg c2VsZWN0MjogeyBhbGxvd0NsZWFyOiB0cnVlLCBwbGFjZWhvbGRlcjogIiIs IHdpZHRoOiAiMTAwJSIgfSwKKyAgICAgICAgICAgIG9wdGlvbnM6IFsKKyAg ICAgICAgICAgICAge2xhYmVsIDoiIiwgdmFsdWUgOiAiIn0sCisgICAgICAg ICAgICAgIHtsYWJlbDogImNoYXIiLCB2YWx1ZTogImMifSwKKyAgICAgICAg ICAgICAge2xhYmVsOiAiaW50MiIsIHZhbHVlOiAicyJ9LAorICAgICAgICAg ICAgICB7bGFiZWw6ICJpbnQ0IiwgdmFsdWU6ICJpIn0sCisgICAgICAgICAg ICAgIHtsYWJlbDogImRvdWJsZSIsIHZhbHVlOiAiZCJ9LAorICAgICAgICAg ICAgXQorICAgICAgICAgIH0seworICAgICAgICAgICAgaWQ6ICd0eXBzdG9y YWdlJywgbGFiZWw6J3t7IF8oJ1N0b3JhZ2UgdHlwZScpIH19JywKKyAgICAg ICAgICAgIHR5cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2Ny ZWF0ZScsICdlZGl0J10sCisgICAgICAgICAgICBncm91cDogJ09wdGlvbmFs LTInLCBjZWxsOiAnc3RyaW5nJywKKyAgICAgICAgICAgIGRpc2FibGVkOiAn aW5TY2hlbWFXaXRoTW9kZWxDaGVjaycsIGNvbnRyb2w6ICdzZWxlY3QyJywK KyAgICAgICAgICAgIHNlbGVjdDI6IHsgYWxsb3dDbGVhcjogdHJ1ZSwgcGxh Y2Vob2xkZXI6ICIiLCB3aWR0aDogIjEwMCUiIH0sCisgICAgICAgICAgICBv cHRpb25zOiBbCisgICAgICAgICAgICAgIHtsYWJlbCA6IiIsIHZhbHVlIDog IiJ9LAorICAgICAgICAgICAgICB7bGFiZWw6ICJQTEFJTiIsIHZhbHVlOiAi cCJ9LAorICAgICAgICAgICAgICB7bGFiZWw6ICJFWFRFUk5BTCIsIHZhbHVl OiAiZSJ9LAorICAgICAgICAgICAgICB7bGFiZWw6ICJNQUlOIiwgdmFsdWU6 ICJtIn0sCisgICAgICAgICAgICAgIHtsYWJlbDogIkVYVEVOREVEIiwgdmFs dWU6ICJ4In0sCisgICAgICAgICAgICAgXQorICAgICAgICAgIH0seworICAg ICAgICAgICAgaWQ6ICd0eXBieXZhbCcsIGxhYmVsOid7eyBfKCdQYXNzZWQg YnkgdmFsdWU/JykgfX0nLAorICAgICAgICAgICAgY2VsbDogJ3N3aXRjaCcs IG9wdGlvbnM6IHN3aXRjaE9wdGlvbnMsCisgICAgICAgICAgICB0eXBlOiAn c3dpdGNoJywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0 J10sCisgICAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hV2l0aE1vZGVs Q2hlY2snLCBncm91cDogJ09wdGlvbmFsLTInLAorICAgICAgICAgIH0sewor ICAgICAgICAgICAgaWQ6ICdpc19jb2xsYXRhYmxlJywgbGFiZWw6J3t7IF8o J0NvbGxhdGFibGU/JykgfX0nLAorICAgICAgICAgICAgY2VsbDogJ3N3aXRj aCcsICBtaW5fdmVyc2lvbjogOTAxMDAsIGdyb3VwOiAnT3B0aW9uYWwtMics CisgICAgICAgICAgICB0eXBlOiAnc3dpdGNoJywgbW9kZTogWydwcm9wZXJ0 aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCisgICAgICAgICAgICBvcHRpb25z OiBzd2l0Y2hPcHRpb25zLCBkaXNhYmxlZDogJ2luU2NoZW1hV2l0aE1vZGVs Q2hlY2snCisgICAgICAgICAgLy8gRW5kIG9mIGV4dGVuc2lvbiB0YWIKKyAg ICAgICAgfV0KKyAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICdhbGlhcycs IGxhYmVsOid7eyBfKCdBbGlhcycpIH19JywgY2VsbDogJ3N0cmluZycsCisg ICAgICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwK KyAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hJworICAgICAgICB9LHsK KyAgICAgICAgICBpZDogJ3R5cGVfYWNsJywgbGFiZWw6J3t7IF8oJ1ByaXZp bGVnZXMnKSB9fScsIGNlbGw6ICdzdHJpbmcnLAorICAgICAgICAgIHR5cGU6 ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJ10sIGdyb3VwOiAne3sgXygn U2VjdXJpdHknKSB9fScsCisgICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVt YScKKyAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICdtZW1iZXJfbGlzdCcs IGxhYmVsOid7eyBfKCdNZW1iZXJzJykgfX0nLCBjZWxsOiAnc3RyaW5nJywK KyAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGllcydd LCBncm91cDogJ3t7IF8oJ0RlZmluaXRpb24nKSB9fScsCisgICAgICAgICAg ZGlzYWJsZWQ6ICdpblNjaGVtYScsIHZpc2libGU6IGZ1bmN0aW9uKG0pIHsK KyAgICAgICAgICAgIGlmKG0uZ2V0KCd0eXB0eXBlJykgPT09ICdjJykgewor ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAg ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICB9CisgICAgICAg IH0seworICAgICAgICAgIGlkOiAnZW51bV9saXN0JywgbGFiZWw6J3t7IF8o J0xhYmVscycpIH19JywgY2VsbDogJ3N0cmluZycsCisgICAgICAgICAgdHlw ZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwgZ3JvdXA6ICd7eyBf KCdEZWZpbml0aW9uJykgfX0nLAorICAgICAgICAgIGRpc2FibGVkOiAnaW5T Y2hlbWEnLCB2aXNpYmxlOiBmdW5jdGlvbihtKSB7CisgICAgICAgICAgICBp ZihtLmdldCgndHlwdHlwZScpID09PSAnZScpIHsKKyAgICAgICAgICAgICAg cmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1 cm4gZmFsc2U7CisgICAgICAgICAgfQorICAgICAgICB9LHsKKyAgICAgICAg ICBpZDogJ2lzX3N5c190eXBlJywgbGFiZWw6J3t7IF8oJ1N5c3RlbSB0eXBl PycpIH19JywgY2VsbDogJ3N3aXRjaCcsCisgICAgICAgICAgdHlwZTogJ3N3 aXRjaCcsIG1vZGU6IFsncHJvcGVydGllcyddLCBvcHRpb25zOiBzd2l0Y2hP cHRpb25zLAorICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWEnCisgICAg ICAgIH0seworICAgICAgICAgIGlkOiAnZGVzY3JpcHRpb24nLCBsYWJlbDon e3sgXygnQ29tbWVudCcpIH19JywgY2VsbDogJ3N0cmluZycsCisgICAgICAg ICAgdHlwZTogJ211bHRpbGluZScsIG1vZGU6IFsncHJvcGVydGllcycsICdj cmVhdGUnLCAnZWRpdCddLAorICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hl bWEnCisgICAgICAgIH0seworICAgICAgICAgIGlkOiAndHlwYWNsJywgbGFi ZWw6ICdQcml2aWxlZ2VzJywgdHlwZTogJ2NvbGxlY3Rpb24nLAorICAgICAg ICAgIGdyb3VwOiAne3sgXygnU2VjdXJpdHknKSB9fScsIGNvbnRyb2w6ICd1 bmlxdWUtY29sLWNvbGxlY3Rpb24nLAorICAgICAgICAgIG1vZGVsOiBwZ0Fk bWluLkJyb3dzZXIuTm9kZS5Qcml2aWxlZ2VSb2xlTW9kZWwuZXh0ZW5kKHtw cml2aWxlZ2VzOiBbJ1UnXX0pLAorICAgICAgICAgIG1vZGU6IFsnZWRpdCcs ICdjcmVhdGUnXSwgY2FuQWRkOiB0cnVlLCBjYW5EZWxldGU6IHRydWUsCisg ICAgICAgICAgdW5pcXVlQ29sIDogWydncmFudGVlJ10KKyAgICAgICAgfSx7 CisgICAgICAgICAgaWQ6ICdzZWNsYWJlbHMnLCBsYWJlbDogJ3t7IF8oJ1Nl Y3VyaXR5IExhYmVscycpIH19JywKKyAgICAgICAgICBtb2RlbDogU2VjdXJp dHlNb2RlbCwgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAnY29sbGVjdGlvbics CisgICAgICAgICAgZ3JvdXA6ICd7eyBfKCdTZWN1cml0eScpIH19JywgbW9k ZTogWydlZGl0JywgJ2NyZWF0ZSddLAorICAgICAgICAgIG1pbl92ZXJzaW9u OiA5MDEwMCwgY2FuQWRkOiB0cnVlLAorICAgICAgICAgIGNhbkVkaXQ6IGZh bHNlLCBjYW5EZWxldGU6IHRydWUsIGNvbnRyb2w6ICd1bmlxdWUtY29sLWNv bGxlY3Rpb24nCisgICAgICAgIH1dLAorICAgICAgICB2YWxpZGF0ZTogZnVu Y3Rpb24oKSB7CisgICAgICAgIC8vIFZhbGlkYXRpb24gY29kZSBmb3IgcmVx dWlyZWQgZmllbGRzCisgICAgICAgICAgdmFyIGNoYW5nZWRBdHRycyA9IHRo aXMuc2Vzc0F0dHJzLAorICAgICAgICAgICAgICBtc2cgPSB1bmRlZmluZWQ7 CisKKyAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuY2xlYXIoKTsKKworICAg ICAgICAgIGlmIChfLmhhcyhjaGFuZ2VkQXR0cnMsICduYW1lJykgJiYKKyAg ICAgICAgICAgICAgICAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnbmFtZScp KQorICAgICAgICAgICAgICB8fCBTdHJpbmcodGhpcy5nZXQoJ25hbWUnKSku cmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykpIHsKKyAgICAgICAg ICAgIG1zZyA9ICd7eyBfKCdOYW1lIGNhbiBub3QgYmUgZW1wdHkhJykgfX0n OworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnbmFtZScsIG1z Zyk7CisgICAgICAgICAgfSBlbHNlIGlmIChfLmhhcyhjaGFuZ2VkQXR0cnMs ICdzY2hlbWEnKSAmJgorICAgICAgICAgICAgICAgIChfLmlzVW5kZWZpbmVk KHRoaXMuZ2V0KCdzY2hlbWEnKSkKKyAgICAgICAgICAgICAgfHwgU3RyaW5n KHRoaXMuZ2V0KCdzY2hlbWEnKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcn KSA9PSAnJykpIHsKKyAgICAgICAgICAgIG1zZyA9ICd7eyBfKCdTY2hlbWEg Y2FuIG5vdCBiZSBlbXB0eSEnKSB9fSc7CisgICAgICAgICAgICB0aGlzLmVy cm9yTW9kZWwuc2V0KCdzY2hlbWEnLCBtc2cpOworICAgICAgICAgIH0gZWxz ZSBpZiAoXy5oYXMoY2hhbmdlZEF0dHJzLCAndHlwdHlwZScpICYmCisgICAg ICAgICAgICAgICAgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ3R5cHR5cGUn KSkKKyAgICAgICAgICAgICAgfHwgU3RyaW5nKHRoaXMuZ2V0KCduYW1lJykp LnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpKSB7CisgICAgICAg ICAgICBtc2cgPSAne3sgXygnVHlwZSBjYW4gbm90IGJlIGVtcHR5IScpIH19 JzsKKyAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3R5cHR5cGUn LCBtc2cpOworICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5nZXQoJ3R5cHR5 cGUnKSA9PSAncicgJiYKKyAgICAgICAgICAgICAgICBfLmhhcyhjaGFuZ2Vk QXR0cnMsICd0eXBuYW1lJykKKyAgICAgICAgICAgICAgJiYgKF8uaXNVbmRl ZmluZWQodGhpcy5nZXQoJ3R5cG5hbWUnKSkKKyAgICAgICAgICAgICAgfHwg U3RyaW5nKHRoaXMuZ2V0KCd0eXBuYW1lJykpLnJlcGxhY2UoL15ccyt8XHMr JC9nLCAnJykgPT0gJycpKSB7CisgICAgICAgICAgICBtc2cgPSAne3sgXygn U3VidHlwZSBOYW1lIGNhbiBub3QgYmUgZW1wdHkhJykgfX0nOworICAgICAg ICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgndHlwbmFtZScsIG1zZyk7Cisg ICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmdldCgndHlwdHlwZScpID09ICd4 JyAmJgorICAgICAgICAgICAgICAgIF8uaGFzKGNoYW5nZWRBdHRycywgJ3R5 cGlucHV0JykKKyAgICAgICAgICAgICAgJiYgKF8uaXNVbmRlZmluZWQodGhp cy5nZXQoJ3R5cGlucHV0JykpCisgICAgICAgICAgICAgIHx8IFN0cmluZyh0 aGlzLmdldCgndHlwaW5wdXQnKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcn KSA9PSAnJykpIHsKKyAgICAgICAgICAgIG1zZyA9ICd7eyBfKCdJbnB1dCBm dW5jdGlvbiBjYW4gbm90IGJlIGVtcHR5IScpIH19JzsKKyAgICAgICAgICAg IHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3R5cGlucHV0JywgbXNnKTsKKyAgICAg ICAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0KCd0eXB0eXBlJykgPT0gJ3gnICYm CisgICAgICAgICAgICAgICAgXy5oYXMoY2hhbmdlZEF0dHJzLCAndHlwb3V0 cHV0JykKKyAgICAgICAgICAgICAgJiYgKF8uaXNVbmRlZmluZWQodGhpcy5n ZXQoJ3R5cG91dHB1dCcpKQorICAgICAgICAgICAgICB8fCBTdHJpbmcodGhp cy5nZXQoJ3R5cG91dHB1dCcpKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycp ID09ICcnKSkgeworICAgICAgICAgICAgbXNnID0gJ3t7IF8oJ091dHB1dCBm dW5jdGlvbiBjYW4gbm90IGJlIGVtcHR5IScpIH19JzsKKyAgICAgICAgICAg IHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3R5cG91dHB1dCcsIG1zZyk7CisgICAg ICAgICAgfQorICAgICAgICAgIHJldHVybiBudWxsOworICAgICAgICB9LAor ICAgICAgICAvLyBXZSB3aWxsIGRpc2FibGUgZXZlcnl0aGluZyBpZiB3ZSBh cmUgdW5kZXIgY2F0YWxvZyBub2RlCisgICAgICAgIGluU2NoZW1hOiBmdW5j dGlvbigpIHsKKyAgICAgICAgICBpZih0aGlzLm5vZGVfaW5mbyAmJiAgJ2Nh dGFsb2cnIGluIHRoaXMubm9kZV9pbmZvKQorICAgICAgICAgIHsKKyAgICAg ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgIH0KKyAgICAgICAgICBy ZXR1cm4gZmFsc2U7CisgICAgICAgIH0sCisgICAgICAgIC8vIFdlIHdpbGwg Y2hlY2sgaWYgd2UgYXJlIHVuZGVyIHNjaGVtYSBub2RlICYgaW4gJ2NyZWF0 ZScgbW9kZQorICAgICAgICBpblNjaGVtYVdpdGhNb2RlbENoZWNrOiBmdW5j dGlvbihtKSB7CisgICAgICAgICAgaWYodGhpcy5ub2RlX2luZm8gJiYgICdz Y2hlbWEnIGluIHRoaXMubm9kZV9pbmZvKQorICAgICAgICAgIHsKKyAgICAg ICAgICAgIC8vIFdlIHdpbGwgZGlzYmFsZSBjb250cm9sIGlmIGl0J3MgaW4g J2VkaXQnIG1vZGUKKyAgICAgICAgICAgIGlmIChtLmlzTmV3KCkpIHsKKyAg ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfSBlbHNl IHsKKyAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9 CisKKyAgICAgICAgICB9CisgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg ICAgIH0sCisgICAgICAgIC8vIFdlIHdhbnQgdG8gZW5hYmxlIG9ubHkgaW4g ZWRpdCBtb2RlCisgICAgICAgIGluU2NoZW1hV2l0aEVkaXRNb2RlOiBmdW5j dGlvbihtKSB7CisgICAgICAgICAgaWYodGhpcy5ub2RlX2luZm8gJiYgICdz Y2hlbWEnIGluIHRoaXMubm9kZV9pbmZvKQorICAgICAgICAgIHsKKyAgICAg ICAgICAgIC8vIFdlIHdpbGwgZGlzYmFsZSBjb250cm9sIGlmIGl0J3MgaW4g J2VkaXQnIG1vZGUKKyAgICAgICAgICAgIGlmIChtLmlzTmV3KCkpIHsKKyAg ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9IGVsc2Ug eworICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9 CisKKyAgICAgICAgICB9CisgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg ICAgIH0sCisgICAgICAgIC8vIEZ1bmN0aW9uIHdpbGwgaGVscCB1cyB0byBm aWxsIGNvbWJvYm94CisgICAgICAgIGV4dGVybmFsX2Z1bmNfY29tYm86IGZ1 bmN0aW9uKGQpIHsKKyAgICAgICAgICAgdmFyIHJlc3VsdCA9IFtdOworICAg ICAgICAgICBfLmVhY2goZCwgZnVuY3Rpb24oaXRlbSkgeworICAgICAgICAg ICAgIC8vIGlmIHR5cGUgZnJvbSBzZWxlY3RlZCBmcm9tIGNvbWJvYm94IG1h dGNoZXMgaW4gb3B0aW9ucworICAgICAgICAgICAgIGlmICggaXRlbS5jYnR5 cGUgPT0gJ2FsbCcgKSB7CisgICAgICAgICAgICAgICByZXN1bHQucHVzaChp dGVtKTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgIH0pOworICAgICAg ICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICB9KSwKKyAg ICAgIGNhbkNyZWF0ZTogZnVuY3Rpb24oaXRlbURhdGEsIGl0ZW0sIGRhdGEp IHsKKyAgICAgICAgICAvL0lmIGNoZWNrIGlzIGZhbHNlIHRoZW4gLCB3ZSB3 aWxsIGFsbG93IGNyZWF0ZSBtZW51CisgICAgICAgICAgaWYgKGRhdGEgJiYg ZGF0YS5jaGVjayA9PSBmYWxzZSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl OworCisgICAgICAgICAgdmFyIHQgPSBwZ0Jyb3dzZXIudHJlZSwgaSA9IGl0 ZW0sIGQgPSBpdGVtRGF0YTsKKyAgICAgICAgICAvLyBUbyBpdGVyYXRlIG92 ZXIgdHJlZSB0byBjaGVjayBwYXJlbnQgbm9kZQorICAgICAgICAgIHdoaWxl IChpKSB7CisgICAgICAgICAgICAvLyBJZiBpdCBpcyBzY2hlbWEgdGhlbiBh bGxvdyB1c2VyIHRvIGNyZWF0ZSB0YWJsZQorICAgICAgICAgICAgaWYgKF8u aW5kZXhPZihbJ3NjaGVtYSddLCBkLl90eXBlKSA+IC0xKQorICAgICAgICAg ICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICAgICAgaWYgKCdjb2xsLXR5 cGUnID09IGQuX3R5cGUpIHsKKyAgICAgICAgICAgICAgLy9DaGVjayBpZiB3 ZSBhcmUgbm90IGNoaWxkIG9mIGNhdGFsb2cKKyAgICAgICAgICAgICAgcHJl dl9pID0gdC5oYXNQYXJlbnQoaSkgPyB0LnBhcmVudChpKSA6IG51bGw7Cisg ICAgICAgICAgICAgIHByZXZfZCA9IHByZXZfaSA/IHQuaXRlbURhdGEocHJl dl9pKSA6IG51bGw7CisgICAgICAgICAgICAgIGlmKCBwcmV2X2QuX3R5cGUg PT0gJ2NhdGFsb2cnKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl OworICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJl dHVybiB0cnVlOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9Cisg ICAgICAgICAgICBpID0gdC5oYXNQYXJlbnQoaSkgPyB0LnBhcmVudChpKSA6 IG51bGw7CisgICAgICAgICAgICBkID0gaSA/IHQuaXRlbURhdGEoaSkgOiBu dWxsOworICAgICAgICAgIH0KKyAgICAgICAgICAvLyBieSBkZWZhdWx0IHdl IGRvIG5vdCB3YW50IHRvIGFsbG93IGNyZWF0ZSBtZW51CisgICAgICAgICAg cmV0dXJuIHRydWU7CisgICAgICB9CisgIH0pOworICB9CisgIHJldHVybiBw Z0Jyb3dzZXIuTm9kZXNbJ3R5cGUnXTsKK30pOwpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVz L3RlbXBsYXRlcy90eXBlL3NxbC85LjFfcGx1cy9hY2wuc3FsIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVzL3R5cGUvc3FsLzkuMV9wbHVzL2Fj bC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBl YWIyNQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVz L3RlbXBsYXRlcy90eXBlL3NxbC85LjFfcGx1cy9hY2wuc3FsCkBAIC0wLDAg KzEsMjYgQEAKK1NFTEVDVCAndHlwYWNsJyBhcyBkZWZ0eXBlLCBDT0FMRVND RShndC5yb2xuYW1lLCAncHVibGljJykgZ3JhbnRlZSwgZy5yb2xuYW1lIGdy YW50b3IsIGFycmF5X2FnZyhwcml2aWxlZ2VfdHlwZSkgYXMgcHJpdmlsZWdl cywgYXJyYXlfYWdnKGlzX2dyYW50YWJsZSkgYXMgZ3JhbnRhYmxlCitGUk9N CisgICAgKFNFTEVDVAorICAgICAgICBkLmdyYW50ZWUsIGQuZ3JhbnRvciwg ZC5pc19ncmFudGFibGUsCisgICAgICAgIENBU0UgZC5wcml2aWxlZ2VfdHlw ZQorICAgICAgICBXSEVOICdVU0FHRScgVEhFTiAnVScKKyAgICAgICAgRUxT RSAnVU5LTk9XTicKKyAgICAgICAgRU5EIEFTIHByaXZpbGVnZV90eXBlCisg ICAgRlJPTQorICAgICAgICAoU0VMRUNUIHQudHlwYWNsCisgICAgICAgICAg ICBGUk9NIHBnX3R5cGUgdAorICAgICAgICAgICAgTEVGVCBPVVRFUiBKT0lO IHBnX3R5cGUgZSBPTiBlLm9pZD10LnR5cGVsZW0KKyAgICAgICAgICAgIExF RlQgT1VURVIgSk9JTiBwZ19jbGFzcyBjdCBPTiBjdC5vaWQ9dC50eXByZWxp ZCBBTkQgY3QucmVsa2luZCA8PiAnYycKKyAgICAgICAgICAgIExFRlQgT1VU RVIgSk9JTiBwZ19kZXNjcmlwdGlvbiBkZXMgT04gKGRlcy5vYmpvaWQ9dC5v aWQgQU5EIGRlcy5jbGFzc29pZD0ncGdfdHlwZSc6OnJlZ2NsYXNzKQorICAg ICAgICAgICAgV0hFUkUgdC50eXB0eXBlICE9ICdkJyBBTkQgdC50eXBuYW1l IE5PVCBMSUtFIEUnXFxfJScgQU5EIHQudHlwbmFtZXNwYWNlID0ge3tzY2lk fX06Om9pZAorICAgICAgICAgICAgeyUgaWYgdGlkICV9CisgICAgICAgICAg ICBBTkQgdC5vaWQgPSB7e3RpZH19OjpvaWQKKyAgICAgICAgICAgIHslIGVu ZGlmICV9CisgICAgICAgICkgYWNsLAorICAgICAgICAoU0VMRUNUIChkKS5n cmFudGVlIEFTIGdyYW50ZWUsIChkKS5ncmFudG9yIEFTIGdyYW50b3IsIChk KS5pc19ncmFudGFibGUKKyAgICAgICAgICAgIEFTIGlzX2dyYW50YWJsZSwg KGQpLnByaXZpbGVnZV90eXBlIEFTIHByaXZpbGVnZV90eXBlIEZST00gKFNF TEVDVAorICAgICAgICAgICAgYWNsZXhwbG9kZSh0LnR5cGFjbCkgYXMgZCBG Uk9NIHBnX3R5cGUgdCBXSEVSRSB0Lm9pZCA9IHt7dGlkfX06Om9pZCkgYSkg ZAorICAgICAgICApIGQKKyAgICBMRUZUIEpPSU4gcGdfY2F0YWxvZy5wZ19y b2xlcyBnIE9OIChkLmdyYW50b3IgPSBnLm9pZCkKKyAgICBMRUZUIEpPSU4g cGdfY2F0YWxvZy5wZ19yb2xlcyBndCBPTiAoZC5ncmFudGVlID0gZ3Qub2lk KQorR1JPVVAgQlkgZy5yb2xuYW1lLCBndC5yb2xuYW1lClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dHlwZXMvdGVtcGxhdGVzL3R5cGUvc3FsLzkuMV9wbHVzL2FkZGl0aW9uYWxf cHJvcGVydGllcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0 ZXMvdHlwZS9zcWwvOS4xX3BsdXMvYWRkaXRpb25hbF9wcm9wZXJ0aWVzLnNx bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzJmNmJi Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVt cGxhdGVzL3R5cGUvc3FsLzkuMV9wbHVzL2FkZGl0aW9uYWxfcHJvcGVydGll cy5zcWwKQEAgLTAsMCArMSwzNSBAQAoreyMgVGhlIFNRTCBnaXZlbiBiZWxv dyB3aWxsIGZldGNoIGNvbXBvc2l0ZSB0eXBlI30KK3slIGlmIHR5cGUgPT0g J2MnICV9CitTRUxFQ1QgYXR0bnVtLCBhdHRuYW1lLCBmb3JtYXRfdHlwZSh0 Lm9pZCxOVUxMKSBBUyB0eXBuYW1lLCBhdHRuZGltcywgYXR0dHlwbW9kLCBu c3AubnNwbmFtZSwKKyAgICAoU0VMRUNUIENPVU5UKDEpIGZyb20gcGdfdHlw ZSB0MiBXSEVSRSB0Mi50eXBuYW1lPXQudHlwbmFtZSkgPiAxIEFTIGlzZHVw LAorICAgIGNvbGxuYW1lLCBuc3BjLm5zcG5hbWUgYXMgY29sbG5zcG5hbWUs IGF0dC5hdHRyZWxpZAorRlJPTSBwZ19hdHRyaWJ1dGUgYXR0CisgICAgSk9J TiBwZ190eXBlIHQgT04gdC5vaWQ9YXR0dHlwaWQKKyAgICBKT0lOIHBnX25h bWVzcGFjZSBuc3AgT04gdC50eXBuYW1lc3BhY2U9bnNwLm9pZAorICAgIExF RlQgT1VURVIgSk9JTiBwZ190eXBlIGIgT04gdC50eXBlbGVtPWIub2lkCisg ICAgTEVGVCBPVVRFUiBKT0lOIHBnX2NvbGxhdGlvbiBjIE9OIGF0dC5hdHRj b2xsYXRpb249Yy5vaWQKKyAgICBMRUZUIE9VVEVSIEpPSU4gcGdfbmFtZXNw YWNlIG5zcGMgT04gYy5jb2xsbmFtZXNwYWNlPW5zcGMub2lkCisgICAgV0hF UkUgYXR0LmF0dHJlbGlkID0ge3t0eXByZWxpZH19OjpvaWQKKyAgICBPUkRF UiBieSBhdHRudW07Cit7JSBlbmRpZiAlfQorCit7IyBUaGUgU1FMIGdpdmVu IGJlbG93IHdpbGwgZmV0Y2ggZW51bSB0eXBlI30KK3slIGlmIHR5cGUgPT0g J2UnICV9CitTRUxFQ1QgZW51bWxhYmVsCitGUk9NIHBnX2VudW0KKyAgICBX SEVSRSBlbnVtdHlwaWQ9e3t0aWR9fTo6b2lkCisgICAgT1JERVIgYnkgZW51 bXNvcnRvcmRlcgoreyUgZW5kaWYgJX0KKworeyMgVGhlIFNRTCBnaXZlbiBi ZWxvdyB3aWxsIGZldGNoIHJhbmdlIHR5cGUjfQoreyUgaWYgdHlwZSA9PSAn cicgJX0KK1NFTEVDVCBybmdzdWJ0eXBlLCBzdC50eXBuYW1lLAorICAgIHJu Z2NvbGxhdGlvbiwgY29sLmNvbGxuYW1lLAorICAgIHJuZ3N1Ym9wYywgb3Bj Lm9wY25hbWUsCisgICAgcm5nY2Fub25pY2FsLCBybmdzdWJkaWZmCitGUk9N IHBnX3JhbmdlCisgICAgTEVGVCBKT0lOIHBnX3R5cGUgc3QgT04gc3Qub2lk PXJuZ3N1YnR5cGUKKyAgICBMRUZUIEpPSU4gcGdfY29sbGF0aW9uIGNvbCBP TiBjb2wub2lkPXJuZ2NvbGxhdGlvbgorICAgIExFRlQgSk9JTiBwZ19vcGNs YXNzIG9wYyBPTiBvcGMub2lkPXJuZ3N1Ym9wYworICAgIFdIRVJFIHJuZ3R5 cGlkPXt7dGlkfX06Om9pZDsKK3slIGVuZGlmICV9CmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlwZS9zcWwvOS4xX3Bs dXMvY3JlYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRl cy90eXBlL3NxbC85LjFfcGx1cy9jcmVhdGUuc3FsCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1Mjc0YjYKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlwZS9zcWwv OS4xX3BsdXMvY3JlYXRlLnNxbApAQCAtMCwwICsxLDc5IEBACit7JSBpbXBv cnQgJ21hY3Jvcy9zY2hlbWFzL3NlY3VyaXR5Lm1hY3JvcycgYXMgU0VDTEFC TEUgJX0KK3slIGltcG9ydCAnbWFjcm9zL3NjaGVtYXMvcHJpdmlsZWdlLm1h Y3JvcycgYXMgUFJJVklMRUdFICV9Cit7IyMjICBDb21wb3NpdGUgVHlwZSAj IyN9Cit7JSBpZiBkYXRhIGFuZCBkYXRhLnR5cHR5cGUgPT0gJ2MnICV9CitD UkVBVEUgVFlQRSB7JSBpZiBkYXRhLnNjaGVtYSAlfXt7IGNvbm58cXRJZGVu dChkYXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fXslIGVsc2UgJX17eyBjb25u fHF0SWRlbnQoZGF0YS5uYW1lKSB9fXslIGVuZGlmICV9IEFTCisgICAgKHsl IGlmIGRhdGEuY29tcG9zaXRlICV9eyUgZm9yIGQgaW4gZGF0YS5jb21wb3Np dGUgJX17JSBpZiBsb29wLmluZGV4ICE9IDEgJX0sIHslIGVuZGlmICV9e3sg Y29ubnxxdElkZW50KGQubWVtYmVyX25hbWUpIH19IHt7IGQudHlwZSB9fXsl IGlmIGQuaXNfdGxlbmd0aCBhbmQgZC50bGVuZ3RoICV9KHt7ZC50bGVuZ3Ro fX17JSBpZiBkLmlzX3ByZWNpc2lvbiBhbmQgZC5wcmVjaXNpb24gJX0se3tk LnByZWNpc2lvbn19eyUgZW5kaWYgJX0peyUgZW5kaWYgJX17JSBpZiBkLmNv bGxhdGlvbiAlfSBDT0xMQVRFIHt7ZC5jb2xsYXRpb259fXslIGVuZGlmICV9 eyUgZW5kZm9yICV9eyUgZW5kaWYgJX0pOworeyUgZW5kaWYgJX0KK3sjIyMg IEVudW0gVHlwZSAjIyN9Cit7JSBpZiBkYXRhIGFuZCBkYXRhLnR5cHR5cGUg PT0gJ2UnICV9CitDUkVBVEUgVFlQRSB7JSBpZiBkYXRhLnNjaGVtYSAlfXt7 IGNvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fXslIGVs c2UgJX17eyBjb25ufHF0SWRlbnQoZGF0YS5uYW1lKSB9fXslIGVuZGlmICV9 IEFTIEVOVU0KKyAgICAoeyUgZm9yIGUgaW4gZGF0YS5lbnVtICV9eyUgaWYg bG9vcC5pbmRleCAhPSAxICV9LCB7JSBlbmRpZiAlfXt7IGUubGFiZWx8cXRM aXRlcmFsIH19eyUgZW5kZm9yICV9KTsKK3slIGVuZGlmICV9Cit7IyMjICBS YW5nZSBUeXBlICMjI30KK3slIGlmIGRhdGEgYW5kIGRhdGEudHlwdHlwZSA9 PSAncicgJX0KK0NSRUFURSBUWVBFIHslIGlmIGRhdGEuc2NoZW1hICV9e3sg Y29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBkYXRhLm5hbWUpIH19eyUgZWxz ZSAlfXt7IGNvbm58cXRJZGVudChkYXRhLm5hbWUpIH19eyUgZW5kaWYgJX0g QVMgUkFOR0UKKyAgICAoCisgICAgIHslIGlmIGRhdGEudHlwbmFtZSAlfVNV QlRZUEU9e3sgY29ubnxxdFR5cGVJZGVudChkYXRhLnR5cG5hbWUpIH19eyUg ZW5kaWYgJX17JSBpZiBkYXRhLmNvbGxuYW1lICV9LAorICAgICBDT0xMQVRJ T04gPSB7eyBkYXRhLmNvbGxuYW1lIH19eyUgZW5kaWYgJX17JSBpZiBkYXRh Lm9wY25hbWUgICV9LAorICAgICBTVUJUWVBFX09QQ0xBU1MgPSB7eyBkYXRh Lm9wY25hbWUgfX17JSBlbmRpZiAlfXslIGlmIGRhdGEucm5nY2Fub25pY2Fs ICV9LAorICAgICBDQU5PTklDQUwgPSB7eyBkYXRhLnJuZ2Nhbm9uaWNhbCB9 fXslIGVuZGlmICV9eyUgaWYgZGF0YS5ybmdzdWJkaWZmICV9LAorICAgICBT VUJUWVBFX0RJRkYgPSB7eyBkYXRhLnJuZ3N1YmRpZmYgfX17JSBlbmRpZiAl fQorCisgICAgKTsKK3slIGVuZGlmICV9Cit7IyMjICBFeHRlcm5hbCBUeXBl ICMjI30KK3slIGlmIGRhdGEgYW5kIGRhdGEudHlwdHlwZSA9PSAnYicgJX0K K0NSRUFURSBUWVBFIHslIGlmIGRhdGEuc2NoZW1hICV9e3sgY29ubnxxdElk ZW50KGRhdGEuc2NoZW1hLCBkYXRhLm5hbWUpIH19eyUgZWxzZSAlfXt7IGNv bm58cXRJZGVudChkYXRhLm5hbWUpIH19eyUgZW5kaWYgJX0KKworICAgICgK KyAgICAgeyUgaWYgZGF0YS50eXBpbnB1dCAlfUlOUFVUID0ge3tkYXRhLnR5 cGlucHV0fX17JSBlbmRpZiAlfXslIGlmIGRhdGEudHlwb3V0cHV0ICV9LAor ICAgICBPVVRQVVQgPSB7eyBkYXRhLnR5cG91dHB1dCB9fXslIGVuZGlmICV9 eyUgaWYgZGF0YS50eXByZWNlaXZlICV9LAorICAgICBSRUNFSVZFID0ge3tk YXRhLnR5cHJlY2VpdmV9fXslIGVuZGlmICV9eyUgaWYgZGF0YS50eXBzZW5k ICV9LAorICAgICBTRU5EID0ge3tkYXRhLnR5cHNlbmR9fXslIGVuZGlmICV9 eyUgaWYgZGF0YS50eXBtb2RpbiAlfSwKKyAgICAgVFlQTU9EX0lOID0ge3tk YXRhLnR5cG1vZGlufX17JSBlbmRpZiAlfXslIGlmIGRhdGEudHlwbW9kb3V0 ICV9LAorICAgICBUWVBNT0RfT1VUID0ge3tkYXRhLnR5cG1vZG91dH19eyUg ZW5kaWYgJX17JSBpZiBkYXRhLnR5cGFuYWx5emUgJX0sCisgICAgIEFOQUxZ WkUgPSB7e2RhdGEudHlwYW5hbHl6ZX19eyUgZW5kaWYgJX17JSBpZiBkYXRh LnR5cGxlbiAlfSwKKyAgICAgSU5URVJOQUxMRU5HVEggPSB7e2RhdGEudHlw bGVufX17JSBlbmRpZiAlfXslIGlmIGRhdGEudHlwYnl2YWwgJX0sCisgICAg IFBBU1NFREJZVkFMVUV7JSBlbmRpZiAlfXslIGlmIGRhdGEudHlwYWxpZ24g JX0sCisgICAgIEFMSUdOTUVOVCA9ICB7e2RhdGEudHlwYWxpZ259fXslIGVu ZGlmICV9eyUgaWYgZGF0YS50eXBzdG9yYWdlICV9LAorICAgICBTVE9SQUdF ID0gIHt7ZGF0YS50eXBzdG9yYWdlfX17JSBlbmRpZiAlfXslIGlmIGRhdGEu dHlwY2F0ZWdvcnkgJX0sCisgICAgIENBVEVHT1JZID0ge3tkYXRhLnR5cGNh dGVnb3J5fHF0TGl0ZXJhbH19eyUgZW5kaWYgJX17JSBpZiBkYXRhLnR5cGlz cHJlZmVycmVkICV9LAorICAgICBQUkVGRVJSRUQgPSAge3tkYXRhLnR5cGlz cHJlZmVycmVkfX17JSBlbmRpZiAlfXslIGlmIGRhdGEudHlwZGVmYXVsdCAl fSwKKyAgICAgREVGQVVMVCA9IHt7ZGF0YS50eXBkZWZhdWx0fHF0TGl0ZXJh bH19eyUgZW5kaWYgJX17JSBpZiBkYXRhLmVsZW1lbnQgJX0sCisgICAgIEVM RU1FTlQgPSB7e2RhdGEuZWxlbWVudH19eyUgZW5kaWYgJX17JSBpZiBkYXRh LnR5cGRlbGltICV9LAorICAgICBERUxJTUlURVIgPSB7e2RhdGEudHlwZGVs aW18cXRMaXRlcmFsfX17JSBlbmRpZiAlfXslIGlmIGRhdGEuaXNfY29sbGF0 YWJsZSAlfSwKKyAgICAgQ09MTEFUQUJMRSA9IHt7ZGF0YS5pc19jb2xsYXRh YmxlfX17JSBlbmRpZiAlfQorCisgICAgKTsKK3slIGVuZGlmICV9Cit7IyMj ICBUeXBlIE93bmVyICMjI30KK3slIGlmIGRhdGEgYW5kIGRhdGEudHlwZW93 bmVyICV9CisKK0FMVEVSIFRZUEUgeyUgaWYgZGF0YS5zY2hlbWEgJX17eyBj b25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRhdGEubmFtZSkgfX17JSBlbHNl ICV9e3sgY29ubnxxdElkZW50KGRhdGEubmFtZSkgfX17JSBlbmRpZiAlfQor CisgICAgT1dORVIgVE8ge3tkYXRhLnR5cGVvd25lcn19OworeyUgZW5kaWYg JX0KK3sjIyMgIFR5cGUgQ29tbWVudHMgIyMjfQoreyUgaWYgZGF0YSBhbmQg ZGF0YS5kZXNjcmlwdGlvbiAlfQorCitDT01NRU5UIE9OIFRZUEUgeyUgaWYg ZGF0YS5zY2hlbWEgJX17eyBjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEsIGRh dGEubmFtZSkgfX17JSBlbHNlICV9e3sgY29ubnxxdElkZW50KGRhdGEubmFt ZSkgfX17JSBlbmRpZiAlfQorCisgICAgSVMge3tkYXRhLmRlc2NyaXB0aW9u fHF0TGl0ZXJhbH19OworeyUgZW5kaWYgJX0KK3sjIyMgIEFDTCAjIyN9Cit7 JSBpZiBkYXRhLnR5cGFjbCAlfQorCit7JSBmb3IgcHJpdiBpbiBkYXRhLnR5 cGFjbCAlfQore3sgUFJJVklMRUdFLlNFVChjb25uLCAnVFlQRScsIHByaXYu Z3JhbnRlZSwgZGF0YS5uYW1lLCBwcml2LndpdGhvdXRfZ3JhbnQsIHByaXYu d2l0aF9ncmFudCwgZGF0YS5zY2hlbWEpIH19Cit7JSBlbmRmb3IgJX0KK3sl IGVuZGlmICV9Cit7IyMjICBTZWN1cml0eSBMYWJsZXMgIyMjfQoreyUgaWYg ZGF0YS5zZWNsYWJlbHMgJX0KKworeyUgZm9yIHIgaW4gZGF0YS5zZWNsYWJl bHMgJX0KK3slIGlmIHIucHJvdmlkZXIgYW5kIHIuc2VjdXJpdHlfbGFiZWwg JX0KK3t7IFNFQ0xBQkxFLlNFVChjb25uLCAnVFlQRScsIGRhdGEubmFtZSwg ci5wcm92aWRlciwgci5zZWN1cml0eV9sYWJlbCwgZGF0YS5zY2hlbWEpIH19 Cit7JSBlbmRpZiAlfQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAlfQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVzL3R5cGUv c3FsLzkuMV9wbHVzL2RlbGV0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBl cy90ZW1wbGF0ZXMvdHlwZS9zcWwvOS4xX3BsdXMvZGVsZXRlLnNxbApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjU4ODI3Ci0tLSAv ZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVz L3R5cGUvc3FsLzkuMV9wbHVzL2RlbGV0ZS5zcWwKQEAgLTAsMCArMSBAQAor RFJPUCBUWVBFIHt7IGNvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS5u YW1lKSB9fXslIGlmIGNhc2NhZGUlfSBDQVNDQURFeyUgZW5kaWYgJX07Clwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVzL3R5cGUvc3FsLzkuMV9wbHVzL2dl dF9jb2xsYXRpb25zLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBs YXRlcy90eXBlL3NxbC85LjFfcGx1cy9nZXRfY29sbGF0aW9ucy5zcWwKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIwMTY5YgotLS0g L2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRl cy90eXBlL3NxbC85LjFfcGx1cy9nZXRfY29sbGF0aW9ucy5zcWwKQEAgLTAs MCArMSw3IEBACitTRUxFQ1QgLS1uc3BuYW1lLCBjb2xsbmFtZSwKKyAgICBD QVNFIFdIRU4gbGVuZ3RoKG5zcG5hbWUpID4gMCBBTkQgbGVuZ3RoKGNvbGxu YW1lKSA+IDAgIFRIRU4KKyAgICAgICAgY29uY2F0KHF1b3RlX2lkZW50KG5z cG5hbWUpLCAnLicsIHF1b3RlX2lkZW50KGNvbGxuYW1lKSkKKyAgICBFTFNF ICcnIEVORCBBUyBjb2xsYXRpb24KK0ZST00gcGdfY29sbGF0aW9uIGMsIHBn X25hbWVzcGFjZSBuCitXSEVSRSBjLmNvbGxuYW1lc3BhY2U9bi5vaWQKK09S REVSIEJZIG5zcG5hbWUsIGNvbGxuYW1lOwpcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3Rl bXBsYXRlcy90eXBlL3NxbC85LjFfcGx1cy9nZXRfZXh0ZXJuYWxfZnVuY3Rp b25zLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBl L3NxbC85LjFfcGx1cy9nZXRfZXh0ZXJuYWxfZnVuY3Rpb25zLnNxbApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjY0OGEyCi0tLSAv ZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVz L3R5cGUvc3FsLzkuMV9wbHVzL2dldF9leHRlcm5hbF9mdW5jdGlvbnMuc3Fs CkBAIC0wLDAgKzEsNDAgQEAKK3sjIyMgSW5wdXQvT3V0cHV0L1NlbmQvUmVj ZWl2ZS9BbmFseXplIGZ1bmN0aW9uIGxpc3QgYWxzbyBhcHBlbmQgaW50byBU eXBNb2RlSU4vVHlwTW9kT1VUICMjI30KK3slIGlmIGV4dGZ1bmMgJX0KK1NF TEVDVCBwcm9uYW1lLCBuc3BuYW1lLAorICAgIENBU0UgV0hFTiBsZW5ndGgo bnNwbmFtZSkgPiAwIEFORCBsZW5ndGgocHJvbmFtZSkgPiAwICBUSEVOCisg ICAgICAgIGNvbmNhdChxdW90ZV9pZGVudChuc3BuYW1lKSwgJy4nLCBxdW90 ZV9pZGVudChwcm9uYW1lKSkKKyAgICBFTFNFICcnIEVORCBBUyBmdW5jCitG Uk9NICgKKyAgICBTRUxFQ1QgcHJvbmFtZSwgbnNwbmFtZSwgbWF4KHByb2Fy Z3R5cGVzWzBdKSBBUyBhcmcwLCBtYXgocHJvYXJndHlwZXNbMV0pIEFTIGFy ZzEKK0ZST00gcGdfcHJvYyBwCisgICAgSk9JTiBwZ19uYW1lc3BhY2UgbiBP TiBuLm9pZD1wcm9uYW1lc3BhY2UKK0dST1VQIEJZIHByb25hbWUsIG5zcG5h bWUKK0hBVklORyBjb3VudChwcm9uYW1lKSA9IDEgICApIEFTIHVuaXF1ZWZ1 bmMKK1dIRVJFIGFyZzAgPD4gMCBBTkQgYXJnMSBJUyBOVUxMOworeyUgZW5k aWYgJX0KK3sjIyMgVHlwbW9kSU4gbGlzdCAjIyN9Cit7JSBpZiB0eXBlbW9k aW4gJX0KK1NFTEVDVCBwcm9uYW1lLCBuc3BuYW1lLAorICAgIENBU0UgV0hF TiBsZW5ndGgobnNwbmFtZSkgPiAwIEFORCBsZW5ndGgocHJvbmFtZSkgPiAw ICBUSEVOCisgICAgICAgIGNvbmNhdChxdW90ZV9pZGVudChuc3BuYW1lKSwg Jy4nLCBxdW90ZV9pZGVudChwcm9uYW1lKSkKKyAgICBFTFNFICcnIEVORCBB UyBmdW5jCitGUk9NIHBnX3Byb2MgcAorICAgIEpPSU4gcGdfbmFtZXNwYWNl IG4gT04gbi5vaWQ9cHJvbmFtZXNwYWNlCitXSEVSRSBwcm9yZXR0eXBlPShT RUxFQ1Qgb2lkIEZST00gcGdfdHlwZSBXSEVSRSB0eXBuYW1lPSdpbnQ0JykK KyAgICBBTkQgcHJvYXJndHlwZXNbMF09KFNFTEVDVCBvaWQgRlJPTSBwZ190 eXBlIFdIRVJFIHR5cG5hbWU9J19jc3RyaW5nJykKKyAgICBBTkQgcHJvYXJn dHlwZXNbMV0gSVMgTlVMTAorT1JERVIgQlkgbnNwbmFtZSwgcHJvbmFtZTsK K3slIGVuZGlmICV9Cit7IyMjIFR5cG1vZE9VVCBsaXN0ICMjI30KK3slIGlm IHR5cGVtb2RvdXQgJX0KK1NFTEVDVCBwcm9uYW1lLCBuc3BuYW1lLAorICAg IENBU0UgV0hFTiBsZW5ndGgobnNwbmFtZSkgPiAwIEFORCBsZW5ndGgocHJv bmFtZSkgPiAwICBUSEVOCisgICAgICAgIGNvbmNhdChxdW90ZV9pZGVudChu c3BuYW1lKSwgJy4nLCBxdW90ZV9pZGVudChwcm9uYW1lKSkKKyAgICBFTFNF ICcnIEVORCBBUyBmdW5jCitGUk9NIHBnX3Byb2MgcAorICAgIEpPSU4gcGdf bmFtZXNwYWNlIG4gT04gbi5vaWQ9cHJvbmFtZXNwYWNlCitXSEVSRSBwcm9y ZXR0eXBlPShTRUxFQ1Qgb2lkIEZST00gcGdfdHlwZSBXSEVSRSB0eXBuYW1l PSdjc3RyaW5nJykKKyAgICBBTkQgcHJvYXJndHlwZXNbMF09KFNFTEVDVCBv aWQgRlJPTSBwZ190eXBlIFdIRVJFIHR5cG5hbWU9J2ludDQnKQorICAgIEFO RCBwcm9hcmd0eXBlc1sxXSBJUyBOVUxMCitPUkRFUiBCWSBuc3BuYW1lLCBw cm9uYW1lOworeyUgZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL3NxbC85LjFfcGx1cy9nZXRfb2lk LnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL3Nx bC85LjFfcGx1cy9nZXRfb2lkLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi4xNGY3OTUwCi0tLSAvZGV2L251bGwKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVzL3R5cGUvc3FsLzkuMV9wbHVz L2dldF9vaWQuc3FsCkBAIC0wLDAgKzEsMTEgQEAKK3sjIEJlbG93IHdpbGwg cHJvdmlkZSBvaWQgZm9yIG5ld2x5IGNyZWF0ZWQgdHlwZSAjfQorU0VMRUNU IHQub2lkCitGUk9NIHBnX3R5cGUgdAorICAgIExFRlQgT1VURVIgSk9JTiBw Z190eXBlIGUgT04gZS5vaWQ9dC50eXBlbGVtCisgICAgTEVGVCBPVVRFUiBK T0lOIHBnX2NsYXNzIGN0IE9OIGN0Lm9pZD10LnR5cHJlbGlkIEFORCBjdC5y ZWxraW5kIDw+ICdjJworICAgIExFRlQgT1VURVIgSk9JTiBwZ19kZXNjcmlw dGlvbiBkZXMgT04gKGRlcy5vYmpvaWQ9dC5vaWQgQU5EIGRlcy5jbGFzc29p ZD0ncGdfdHlwZSc6OnJlZ2NsYXNzKQorV0hFUkUgdC50eXB0eXBlICE9ICdk JyBBTkQgdC50eXBuYW1lIE5PVCBMSUtFIEUnXFxfJScgQU5EIHQudHlwbmFt ZXNwYWNlID0ge3tzY2lkfX06Om9pZAoreyUgaWYgZGF0YSAlfQorICAgIEFO RCB0LnR5cG5hbWUgPSB7e2RhdGEubmFtZXxxdExpdGVyYWx9fQoreyUgZW5k aWYgJX0KK09SREVSIEJZIHQudHlwbmFtZTsKXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90 ZW1wbGF0ZXMvdHlwZS9zcWwvOS4xX3BsdXMvZ2V0X3N1YnR5cGVzLnNxbCBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL3NxbC85LjFf cGx1cy9nZXRfc3VidHlwZXMuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjc1MjcxZmUKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlwZS9zcWwvOS4xX3BsdXMv Z2V0X3N1YnR5cGVzLnNxbApAQCAtMCwwICsxLDU2IEBACit7IyMjIFRvIGZp bGwgc3VidHlwZSBjb21ib2JveCAjIyN9Cit7JSBpZiBzdWJ0eXBlICV9CitT RUxFQ1QgRElTVElOQ1QgdHlwLnR5cG5hbWUgQVMgc3R5cGUsCisgICAgKENB U0UgV0hFTiB0eXAudHlwY29sbGF0aW9uID4gMCBUSEVOIHRydWUgRUxTRSBm YWxzZSBFTkQpIEFTIGlzX2NvbGxhdGUKK0ZST00gcGdfb3BjbGFzcyBvcGMK KyAgICBKT0lOIHBnX3R5cGUgdHlwIE9OIG9wYy5vcGNpbnR5cGUgPSB0eXAu b2lkCitXSEVSRSBvcGMub3BjbWV0aG9kID0gNDAzCitPUkRFUiBCWSAxCit7 JSBlbmRpZiAlfQoreyMjIyBUbyBmaWxsIHN1YnR5cGUgb3BjbGFzcyBjb21i b2JveCAjIyN9Cit7JSBpZiBzdWJ0eXBlX29wY2xhc3MgYW5kIGRhdGEgYW5k IGRhdGEudHlwbmFtZSAlfQorU0VMRUNUIG9wYy5vcGNuYW1lCitGUk9NIHBn X29wY2xhc3Mgb3BjCisgICAgSk9JTiBwZ190eXBlIHR5cCBPTiBvcGMub3Bj aW50eXBlPXR5cC5vaWQKKyAgICBBTkQgdHlwLnR5cG5hbWUgPSB7eyBkYXRh LnR5cG5hbWV8cXRMaXRlcmFsIH19CitXSEVSRSBvcGMub3BjbWV0aG9kID0g NDAzCitPUkRFUiBCWSBvcGNuYW1lOworeyUgZW5kaWYgJX0KK3sjIyMgVG8g ZmV0Y2ggb3BjaW50dHlwZSBmcm9tIHN1YnR5cGUgb3BjbGFzcyAjIyN9Cit7 JSBpZiBnZXRfb3BjaW50eXBlIGFuZCBkYXRhIGFuZCBkYXRhLnR5cG5hbWUg YW5kIGRhdGEub3BjbmFtZSAlfQorU0VMRUNUIG9wYy5vcGNpbnR5cGUKK0ZS T00gcGdfb3BjbGFzcyBvcGMKKyAgICBKT0lOIHBnX3R5cGUgdHlwIE9OIG9w Yy5vcGNpbnR5cGU9dHlwLm9pZAorICAgIEFORCB0eXAudHlwbmFtZSA9IHt7 IGRhdGEudHlwbmFtZXxxdExpdGVyYWwgfX0KK1dIRVJFIG9wYy5vcGNtZXRo b2QgPSA0MDMKKyAgICBBTkQgb3BjLm9wY25hbWUgPSB7eyBkYXRhLm9wY25h bWV8cXRMaXRlcmFsIH19CitPUkRFUiBCWSBvcGNuYW1lOworeyUgZW5kaWYg JX0KK3sjIyMgVG8gZmlsbCBzdWJ0eXBlIGRpZmYgZnVuY3Rpb24gY29tYm9i b3ggIyMjfQoreyUgaWYgb3BjaW50eXBlICV9CitTRUxFQ1QgcHJvbmFtZSwg bnNwbmFtZSwKKyAgICBDQVNFIFdIRU4gbGVuZ3RoKG5zcG5hbWUpID4gMCBB TkQgbGVuZ3RoKHByb25hbWUpID4gMCAgVEhFTgorICAgICAgICBjb25jYXQo cXVvdGVfaWRlbnQobnNwbmFtZSksICcuJywgcXVvdGVfaWRlbnQocHJvbmFt ZSkpCisgICAgRUxTRSAnJyBFTkQgQVMgc3R5cGRpZmYKK0ZST00gcGdfcHJv YworICAgIEpPSU4gcGdfbmFtZXNwYWNlIG4gT04gbi5vaWQ9cHJvbmFtZXNw YWNlCitXSEVSRSBwcm9yZXR0eXBlID0gNzAxCisgICAgQU5EIHByb2FyZ3R5 cGVzID0gJ3t7b3BjaW50eXBlfX0ge3tvcGNpbnR5cGV9fScKK09SREVSIEJZ IHByb25hbWU7Cit7JSBlbmRpZiAlfQoreyMjIyBUbyBmaWxsIGNhbm9uaWNh bCBjb21ib2JveCAjIyN9Cit7JSBpZiBnZXRvaWQgJX0KK1NFTEVDVCBvaWQg RlJPTSBwZ190eXBlCitXSEVSRSB0eXBuYW1lID0ge3sgZGF0YS5uYW1lfHF0 TGl0ZXJhbCB9fQoreyUgZW5kaWYgJX0KK3slIGlmIGNhbm9uaWNhbCBhbmQg b2lkICV9CitTRUxFQ1QgcHJvbmFtZSwgbnNwbmFtZSwKKyAgICBDQVNFIFdI RU4gbGVuZ3RoKG5zcG5hbWUpID4gMCBBTkQgbGVuZ3RoKHByb25hbWUpID4g MCAgVEhFTgorICAgICAgICBjb25jYXQocXVvdGVfaWRlbnQobnNwbmFtZSks ICcuJywgcXVvdGVfaWRlbnQocHJvbmFtZSkpCisgICAgRUxTRSAnJyBFTkQg QVMgY2Fub25pY2FsCitGUk9NIHBnX3Byb2MKKyAgICBKT0lOIHBnX25hbWVz cGFjZSBuIE9OIG4ub2lkPXByb25hbWVzcGFjZQorV0hFUkUgcHJvcmV0dHlw ZT0ge3sgb2lkIH19CisgICAgQU5EIHByb2FyZ3R5cGVzID0gJ3t7IG9pZCB9 fScKK09SREVSIEJZIHByb25hbWU7Cit7JSBlbmRpZiAlfQpcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3R5cGVzL3RlbXBsYXRlcy90eXBlL3NxbC85LjFfcGx1cy9nZXRfdHlwZXMu c3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVzL3R5cGUvc3Fs LzkuMV9wbHVzL2dldF90eXBlcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uYTVkMzUyZAotLS0gL2Rldi9udWxsCisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL3NxbC85LjFfcGx1 cy9nZXRfdHlwZXMuc3FsCkBAIC0wLDAgKzEsMTAgQEAKK1NFTEVDVCAqIEZS T00KKyAgICAoU0VMRUNUIGZvcm1hdF90eXBlKHQub2lkLE5VTEwpIEFTIHR5 cG5hbWUsCisgICAgQ0FTRSBXSEVOIHR5cGVsZW0gPiAwIFRIRU4gdHlwZWxl bSBFTFNFIHQub2lkIEVORCBBUyBlbGVtb2lkLAorICAgIHR5cGxlbiwgdHlw dHlwZSwgdC5vaWQsIG5zcG5hbWUsCisgICAgKFNFTEVDVCBDT1VOVCgxKSBG Uk9NIHBnX3R5cGUgdDIgV0hFUkUgdDIudHlwbmFtZSA9IHQudHlwbmFtZSkg PiAxIEFTIGlzZHVwCitGUk9NIHBnX3R5cGUgdAorICAgSk9JTiBwZ19uYW1l c3BhY2UgbnNwIE9OIHR5cG5hbWVzcGFjZT1uc3Aub2lkCitXSEVSRSAoTk9U ICh0eXBuYW1lID0gJ3Vua25vd24nIEFORCBuc3BuYW1lID0gJ3BnX2NhdGFs b2cnKSkgQU5EIHR5cGlzZGVmaW5lZCBBTkQgdHlwdHlwZSBJTiAoJ2InLCAn YycsICdkJywgJ2UnLCAncicpQU5EIE5PVCBFWElTVFMgKHNlbGVjdCAxIGZy b20gcGdfY2xhc3Mgd2hlcmUgcmVsbmFtZXNwYWNlPXR5cG5hbWVzcGFjZSBh bmQgcmVsbmFtZSA9IHR5cG5hbWUgYW5kIHJlbGtpbmQgIT0gJ2MnKSBBTkQg KHR5cG5hbWUgbm90IGxpa2UgJ18lJyBPUiBOT1QgRVhJU1RTIChzZWxlY3Qg MSBmcm9tIHBnX2NsYXNzIHdoZXJlIHJlbG5hbWVzcGFjZT10eXBuYW1lc3Bh Y2UgYW5kIHJlbG5hbWUgPSBzdWJzdHJpbmcodHlwbmFtZSBmcm9tIDIpOjpu YW1lIGFuZCByZWxraW5kICE9ICdjJykpICBBTkQgbnNwLm5zcG5hbWUgIT0g J2luZm9ybWF0aW9uX3NjaGVtYScKKyAgICApIEFTIGR1bW15CitPUkRFUiBC WSBuc3BuYW1lIDw+ICdwZ19jYXRhbG9nJywgbnNwbmFtZSA8PiAncHVibGlj JywgbnNwbmFtZSwgMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBl L3NxbC85LjFfcGx1cy9ub2Rlcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBl cy90ZW1wbGF0ZXMvdHlwZS9zcWwvOS4xX3BsdXMvbm9kZXMuc3FsCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhYmNiMTkKLS0tIC9k ZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMv dHlwZS9zcWwvOS4xX3BsdXMvbm9kZXMuc3FsCkBAIC0wLDAgKzEsMTAgQEAK K1NFTEVDVCB0Lm9pZCwgdC50eXBuYW1lIEFTIG5hbWUKK0ZST00gcGdfdHlw ZSB0CisgICAgTEVGVCBPVVRFUiBKT0lOIHBnX3R5cGUgZSBPTiBlLm9pZD10 LnR5cGVsZW0KKyAgICBMRUZUIE9VVEVSIEpPSU4gcGdfY2xhc3MgY3QgT04g Y3Qub2lkPXQudHlwcmVsaWQgQU5EIGN0LnJlbGtpbmQgPD4gJ2MnCisgICAg TEVGVCBPVVRFUiBKT0lOIHBnX25hbWVzcGFjZSBuc3AgT04gbnNwLm9pZCA9 IHQudHlwbmFtZXNwYWNlCitXSEVSRSB0LnR5cHR5cGUgIT0gJ2QnIEFORCB0 LnR5cG5hbWUgTk9UIExJS0UgRSdcXF8lJyBBTkQgdC50eXBuYW1lc3BhY2Ug PSB7e3NjaWR9fTo6b2lkCit7JSBpZiBub3Qgc2hvd19zeXN0ZW1fb2JqZWN0 cyAlfQorICAgIEFORCBjdC5vaWQgaXMgTlVMTAoreyUgZW5kaWYgJX0KK09S REVSIEJZIHQudHlwbmFtZTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMv dHlwZS9zcWwvOS4xX3BsdXMvcHJvcGVydGllcy5zcWwgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlwZS9zcWwvOS4xX3BsdXMvcHJvcGVy dGllcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u ZGUyNjFhNQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5 cGVzL3RlbXBsYXRlcy90eXBlL3NxbC85LjFfcGx1cy9wcm9wZXJ0aWVzLnNx bApAQCAtMCwwICsxLDI0IEBACitTRUxFQ1QgdC5vaWQsIHQudHlwbmFtZSBB UyBuYW1lLAorICAgIChDQVNFIFdIRU4gQ0FTVChjb2FsZXNjZSh0LnR5cGNv bGxhdGlvbiwgJzAnKSBBUyBpbnRlZ2VyKSA9IDEwMCBUSEVOIHRydWUgRWxT RSBmYWxzZSBFTkQpIEFTIGlzX2NvbGxhdGFibGUsCisgICAgdC50eXBhY2wg QVMgdHlwZV9hY2wsCisgICAgdC4qLCBmb3JtYXRfdHlwZSh0Lm9pZCwgbnVs bCkgQVMgYWxpYXMsCisgICAgcGdfZ2V0X3VzZXJieWlkKHQudHlwb3duZXIp IGFzIHR5cGVvd25lciwgZS50eXBuYW1lIGFzIGVsZW1lbnQsCisgICAgZGVz Y3JpcHRpb24sIGN0Lm9pZCBBUyB0YWJvaWQsCisgICAgbnNwLm5zcG5hbWUg QVMgc2NoZW1hLAorICAgIC0tTWluaW11bVZlcnNpb24gOS4xIFNUQVJUCisg ICAgKFNFTEVDVCBhcnJheV9hZ2cocHJvdmlkZXIgfHwgJz0nIHx8IGxhYmVs KSBGUk9NIHBnX3Noc2VjbGFiZWwgc2wxIFdIRVJFIHNsMS5vYmpvaWQ9dC5v aWQpIEFTIHNlY2xhYmVscywKKyAgICAtLSBFTkQKKyAgICAoQ0FTRSBXSEVO ICh0Lm9pZCA8PSB7eyBkYXRsYXN0c3lzb2lkfX06Om9pZCBPUiBjdC5vaWQg IT0gMCkgVEhFTiB0cnVlIEVsU0UgZmFsc2UgRU5EKSBBUyBpc19zeXNfdHlw ZQorRlJPTSBwZ190eXBlIHQKKyAgICBMRUZUIE9VVEVSIEpPSU4gcGdfdHlw ZSBlIE9OIGUub2lkPXQudHlwZWxlbQorICAgIExFRlQgT1VURVIgSk9JTiBw Z19jbGFzcyBjdCBPTiBjdC5vaWQ9dC50eXByZWxpZCBBTkQgY3QucmVsa2lu ZCA8PiAnYycKKyAgICBMRUZUIE9VVEVSIEpPSU4gcGdfZGVzY3JpcHRpb24g ZGVzIE9OIChkZXMub2Jqb2lkPXQub2lkIEFORCBkZXMuY2xhc3NvaWQ9J3Bn X3R5cGUnOjpyZWdjbGFzcykKKyAgICBMRUZUIE9VVEVSIEpPSU4gcGdfbmFt ZXNwYWNlIG5zcCBPTiBuc3Aub2lkID0gdC50eXBuYW1lc3BhY2UKK1dIRVJF IHQudHlwdHlwZSAhPSAnZCcgQU5EIHQudHlwbmFtZSBOT1QgTElLRSBFJ1xc XyUnIEFORCB0LnR5cG5hbWVzcGFjZSA9IHt7c2NpZH19OjpvaWQKK3slIGlm IHRpZCAlfQorICAgIEFORCB0Lm9pZCA9IHt7dGlkfX06Om9pZAoreyUgZW5k aWYgJX0KK3slIGlmIG5vdCBzaG93X3N5c3RlbV9vYmplY3RzICV9CisgICAg QU5EIGN0Lm9pZCBpcyBOVUxMCit7JSBlbmRpZiAlfQorT1JERVIgQlkgdC50 eXBuYW1lOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL3NxbC85 LjFfcGx1cy91cGRhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVt cGxhdGVzL3R5cGUvc3FsLzkuMV9wbHVzL3VwZGF0ZS5zcWwKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTcwYjAzYQotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBl L3NxbC85LjFfcGx1cy91cGRhdGUuc3FsCkBAIC0wLDAgKzEsMTM5IEBACit7 JSBpbXBvcnQgJ21hY3Jvcy9zY2hlbWFzL3NlY3VyaXR5Lm1hY3JvcycgYXMg U0VDTEFCTEUgJX0KK3slIGltcG9ydCAnbWFjcm9zL3NjaGVtYXMvcHJpdmls ZWdlLm1hY3JvcycgYXMgUFJJVklMRUdFICV9Cit7JSBpZiBkYXRhICV9Cit7 Iz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09I30KK3sj IEJlbG93IHdpbGwgY2hhbmdlIG9iamVjdCBvd25lciAjfQoreyUgaWYgZGF0 YS50eXBlb3duZXIgYW5kIGRhdGEudHlwZW93bmVyICE9IG9fZGF0YS50eXBl b3duZXIgJX0KK0FMVEVSIFRZUEUge3sgY29ubnxxdElkZW50KG9fZGF0YS5z Y2hlbWEsIG9fZGF0YS5uYW1lKSB9fQorICAgIE9XTkVSIFRPIHt7IGRhdGEu dHlwZW93bmVyIH19OworCit7JSBlbmRpZiAlfQoreyM9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PSN9Cit7IyBCZWxvdyB3aWxsIGNo YW5nZSBvYmplY3RzIGNvbW1lbnQgICN9Cit7JSBpZiBkYXRhLmRlc2NyaXB0 aW9uIGFuZCBkYXRhLmRlc2NyaXB0aW9uICE9IG9fZGF0YS5kZXNjcmlwdGlv biAlfQorQ09NTUVOVCBPTiBUWVBFIHt7IGNvbm58cXRJZGVudChvX2RhdGEu c2NoZW1hLCBvX2RhdGEubmFtZSkgfX0KKyAgICBJUyB7eyBkYXRhLmRlc2Ny aXB0aW9ufHF0TGl0ZXJhbCB9fTsKKworeyUgZW5kaWYgJX0KK3sjPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0jfQoreyMjIyBUaGUg c3FsIGdpdmVuIGJlbG93IHdpbGwgdXBkYXRlIGNvbXBvc2l0ZSB0eXBlICMj I30KK3slIGlmIGRhdGEuY29tcG9zaXRlIGFuZCBkYXRhLmNvbXBvc2l0ZXxs ZW5ndGggPiAwICV9Cit7JSBzZXQgY29tcG9zaXRlID0gZGF0YS5jb21wb3Np dGUgJX0KK3slIGlmICdkZWxldGVkJyBpbiBjb21wb3NpdGUgYW5kIGNvbXBv c2l0ZS5kZWxldGVkfGxlbmd0aCA+IDAgJX0KK3slIGZvciByIGluIGNvbXBv c2l0ZS5kZWxldGVkICV9CitBTFRFUiBUWVBFIHt7IGNvbm58cXRJZGVudChv X2RhdGEuc2NoZW1hLCBvX2RhdGEubmFtZSkgfX0KKyAgICBEUk9QIEFUVFJJ QlVURSB7e2Nvbm58cXRJZGVudChyLm1lbWJlcl9uYW1lKX19OworeyUgZW5k Zm9yICV9Cit7JSBlbmRpZiAlfQoreyUgaWYgJ2FkZGVkJyBpbiBjb21wb3Np dGUgYW5kIGNvbXBvc2l0ZS5hZGRlZHxsZW5ndGggPiAwICV9Cit7JSBmb3Ig ciBpbiBjb21wb3NpdGUuYWRkZWQgJX0KK0FMVEVSIFRZUEUge3sgY29ubnxx dElkZW50KG9fZGF0YS5zY2hlbWEsIG9fZGF0YS5uYW1lKSB9fQorICAgIEFE RCBBVFRSSUJVVEUge3tjb25ufHF0SWRlbnQoci5tZW1iZXJfbmFtZSl9fSB7 e2Nvbm58cXRUeXBlSWRlbnQoci50eXBlKX19eyUgaWYgci5pc190bGVuZ3Ro IGFuZCByLnRsZW5ndGggJX0KKyh7e3IudGxlbmd0aH19eyUgaWYgci5pc19w cmVjaXNpb24gYW5kIHIucHJlY2lzaW9uICV9LHt7ci5wcmVjaXNpb259fXsl IGVuZGlmICV9KXslIGVuZGlmICV9eyUgaWYgci5jb2xsYXRpb24gJX0KKyBD T0xMQVRFIHt7ci5jb2xsYXRpb259fXslIGVuZGlmICV9OworeyUgZW5kZm9y ICV9Cit7JSBlbmRpZiAlfQoreyUgaWYgJ2NoYW5nZWQnIGluIGNvbXBvc2l0 ZSBhbmQgY29tcG9zaXRlLmNoYW5nZWR8bGVuZ3RoID4gMCAlfQoreyUgZm9y IHIgaW4gY29tcG9zaXRlLmNoYW5nZWQgJX0KK3slIGZvciBvIGluIG9fZGF0 YS5jb21wb3NpdGUgJX0KK3slIGlmIG8uYXR0bnVtID09IHIuYXR0bnVtIGFu ZCByLm1lbWJlcl9uYW1lIGFuZCBvLm1lbWJlcl9uYW1lICE9IHIubWVtYmVy X25hbWUgJX0KK0FMVEVSIFRZUEUge3sgY29ubnxxdElkZW50KG9fZGF0YS5z Y2hlbWEsIG9fZGF0YS5uYW1lKSB9fQorICAgIFJFTkFNRSBBVFRSSUJVVEUg e3tvLm1lbWJlcl9uYW1lfX0gVE8ge3tyLm1lbWJlcl9uYW1lfX07Cit7JSBp ZiByLnR5cGUgYW5kIG8udHlwZSAhPSByLnR5cGUgJX0KK0FMVEVSIFRZUEUg e3sgY29ubnxxdElkZW50KG9fZGF0YS5zY2hlbWEsIG9fZGF0YS5uYW1lKSB9 fQorICAgICAgICBBTFRFUiBBVFRSSUJVVEUge3tjb25ufHF0SWRlbnQoci5t ZW1iZXJfbmFtZSl9fSBTRVQgREFUQSBUWVBFIHt7Y29ubnxxdFR5cGVJZGVu dChyLnR5cGUpfX17JSBpZiByLmlzX3RsZW5ndGggYW5kIHIudGxlbmd0aCAl fQorKHt7ci50bGVuZ3RofX17JSBpZiByLmlzX3ByZWNpc2lvbiBhbmQgci5w cmVjaXNpb24gJX0se3tyLnByZWNpc2lvbn19eyUgZW5kaWYgJX0peyUgZW5k aWYgJX17JSBpZiByLmNvbGxhdGlvbiAlfQorIENPTExBVEUge3tyLmNvbGxh dGlvbn19eyUgZW5kaWYgJX07Cit7JSBlbHNlICV9CitBTFRFUiBUWVBFIHt7 IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBvX2RhdGEubmFtZSkgfX0K KyAgICAgICAgQUxURVIgQVRUUklCVVRFIHt7Y29ubnxxdElkZW50KHIubWVt YmVyX25hbWUpfX0gU0VUIERBVEEgVFlQRSB7e2Nvbm58cXRUeXBlSWRlbnQo by50eXBlKX19eyUgaWYgby5pc190bGVuZ3RoIGFuZCBvLnRsZW5ndGggJX0K Kyh7e28udGxlbmd0aH19eyUgaWYgby5pc19wcmVjaXNpb24gYW5kIG8ucHJl Y2lzaW9uICV9LHt7by5wcmVjaXNpb259fXslIGVuZGlmICV9KXslIGVuZGlm ICV9eyUgaWYgby5jb2xsYXRpb24gJX0KKyBDT0xMQVRFIHt7ci5jb2xsYXRp b259fXslIGVuZGlmICV9OworeyUgZW5kaWYlfQoreyUgZW5kaWYlfQoreyUg ZW5kZm9yICV9Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9Cit7JSBlbmRp ZiAlfQoreyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PSN9Cit7IyMjIFRoZSBzcWwgZ2l2ZW4gYmVsb3cgd2lsbCB1cGRhdGUgZW51 bSB0eXBlICMjI30KK3slIGlmIGRhdGEuZW51bSBhbmQgZGF0YS5lbnVtfGxl bmd0aCA+IDAgJX0KK3slIHNldCBlbnVtID0gZGF0YS5lbnVtICV9Cit7JSBz ZXQgb19lbnVtX2xlbiA9IG9fZGF0YS5lbnVtfGxlbmd0aCAlfQoreyMgV2Ug bmVlZCBhY3R1YWwgbGlzdCBpbmRleCBmcm9tIGxlbmd0aCAjfQoreyUgc2V0 IG9fZW51bV9sZW4gPSBvX2VudW1fbGVuIC0gMSAlfQoreyUgaWYgJ2FkZGVk JyBpbiBlbnVtIGFuZCBlbnVtLmFkZGVkfGxlbmd0aCA+IDAgJX0KK3slIGZv ciByIGluIGVudW0uYWRkZWQgJX0KK3slIHNldCBjX2lkeCA9IGxvb3AuaW5k ZXggJX0KK3slIGlmIGNfaWR4ID09IDEgJX0KK3sjIGlmIGZpcnN0IG5ldyBl bGVtZW50IHRoZW4gYWRkIGl0IGFmdGVyIG9sZCBkYXRhIGVudW0gbGlzdCN9 CitBTFRFUiBUWVBFIHt7IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBv X2RhdGEubmFtZSkgfX0KKyAgICBBREQgVkFMVUUge3tyLmxhYmVsfHF0TGl0 ZXJhbH19IEFGVEVSIHt7b19kYXRhLmVudW1bb19lbnVtX2xlbl0ubGFiZWx8 cXRMaXRlcmFsIH19OworeyUgZWxzZSAlfQoreyMgaWYgZmlyc3QgbmV3IGVs ZW1lbnQgdGhlbiBhZGQgaXQgYWZ0ZXIgbmV3IGRhdGEgZW51bSBsaXN0I30K K3slIHNldCBwX2lkeCA9IGxvb3AuaW5kZXggLSAyICV9CitBTFRFUiBUWVBF IHt7IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBvX2RhdGEubmFtZSkg fX0KKyAgICBBREQgVkFMVUUge3tyLmxhYmVsfHF0TGl0ZXJhbH19IEFGVEVS IHt7ZW51bS5hZGRlZFtwX2lkeF0ubGFiZWx8cXRMaXRlcmFsfX07Cit7JSBl bmRpZiAlfQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAlfQorCit7JSBlbmRp ZiAlfQoreyM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PSN9Cit7IyBUaGUgU1FMIGdlbmVyYXRlZCBiZWxvdyB3aWxsIGNoYW5nZSBT ZWN1cml0eSBMYWJlbCAjfQoreyUgaWYgZGF0YS5zZWNsYWJlbHMgYW5kIGRh dGEuc2VjbGFiZWxzfGxlbmd0aCA+IDAgJX0KK3slIHNldCBzZWNsYWJlbHMg PSBkYXRhLnNlY2xhYmVscyAlfQoreyUgaWYgJ2RlbGV0ZWQnIGluIHNlY2xh YmVscyBhbmQgc2VjbGFiZWxzLmRlbGV0ZWR8bGVuZ3RoID4gMCAlfQoreyUg Zm9yIHIgaW4gc2VjbGFiZWxzLmRlbGV0ZWQgJX0KK3t7IFNFQ0xBQkxFLlVO U0VUKGNvbm4sICdUWVBFJywgb19kYXRhLm5hbWUsIHIucHJvdmlkZXIsIG9f ZGF0YS5zY2hlbWEpIH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9Cit7 JSBpZiAnYWRkZWQnIGluIHNlY2xhYmVscyBhbmQgc2VjbGFiZWxzLmFkZGVk fGxlbmd0aCA+IDAgJX0KK3slIGZvciByIGluIHNlY2xhYmVscy5hZGRlZCAl fQore3sgU0VDTEFCTEUuU0VUKGNvbm4sICdUWVBFJywgb19kYXRhLm5hbWUs IHIucHJvdmlkZXIsIHIuc2VjdXJpdHlfbGFiZWwsIG9fZGF0YS5zY2hlbWEp IH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9Cit7JSBpZiAnY2hhbmdl ZCcgaW4gc2VjbGFiZWxzIGFuZCBzZWNsYWJlbHMuY2hhbmdlZHxsZW5ndGgg PiAwICV9Cit7JSBmb3IgciBpbiBzZWNsYWJlbHMuY2hhbmdlZCAlfQore3sg U0VDTEFCTEUuU0VUKGNvbm4sICdUWVBFJywgb19kYXRhLm5hbWUsIHIucHJv dmlkZXIsIHIuc2VjdXJpdHlfbGFiZWwsIG9fZGF0YS5zY2hlbWEpIH19Cit7 JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9CisKK3slIGVuZGlmICV9Cit7Iz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09I30KK3sjIENo YW5nZSB0aGUgcHJpdmlsZWdlcyAjfQoreyUgaWYgZGF0YS50eXBhY2wgYW5k IGRhdGEudHlwYWNsfGxlbmd0aCA+IDAgJX0KK3slIGlmICdkZWxldGVkJyBp biBkYXRhLnR5cGFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0YS50eXBhY2wu ZGVsZXRlZCAlfQore3sgUFJJVklMRUdFLlVOU0VUQUxMKGNvbm4sICdUWVBF JywgcHJpdi5ncmFudGVlLCBvX2RhdGEubmFtZSwgb19kYXRhLnNjaGVtYSkg fX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGlmICdjaGFuZ2Vk JyBpbiBkYXRhLnR5cGFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0YS50eXBh Y2wuY2hhbmdlZCAlfQore3sgUFJJVklMRUdFLlVOU0VUQUxMKGNvbm4sICdU WVBFJywgcHJpdi5ncmFudGVlLCBvX2RhdGEubmFtZSwgb19kYXRhLnNjaGVt YSkgfX0KK3t7IFBSSVZJTEVHRS5TRVQoY29ubiwgJ1RZUEUnLCBwcml2Lmdy YW50ZWUsIG5hbWUsIHByaXYud2l0aG91dF9ncmFudCwgcHJpdi53aXRoX2dy YW50LCBvX2RhdGEuc2NoZW1hKSB9fQoreyUgZW5kZm9yICV9Cit7JSBlbmRp ZiAlfQoreyUgaWYgJ2FkZGVkJyBpbiBkYXRhLnR5cGFjbCAlfQoreyUgZm9y IHByaXYgaW4gZGF0YS50eXBhY2wuYWRkZWQgJX0KK3t7IFBSSVZJTEVHRS5T RVQoY29ubiwgJ1RZUEUnLCBwcml2LmdyYW50ZWUsIG5hbWUsIHByaXYud2l0 aG91dF9ncmFudCwgcHJpdi53aXRoX2dyYW50LCBvX2RhdGEuc2NoZW1hKSB9 fQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0KK3sj PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0jfQoreyMg QmVsb3cgd2lsbCBjaGFuZ2Ugb2JqZWN0IG5hbWUgI30KK3slIGlmIGRhdGEu bmFtZSBhbmQgZGF0YS5uYW1lICE9IG9fZGF0YS5uYW1lICV9CitBTFRFUiBU WVBFIHt7IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBvX2RhdGEubmFt ZSkgfX0KKyAgICBSRU5BTUUgVE8ge3sgY29ubnxxdElkZW50KGRhdGEubmFt ZSkgfX07CisKK3slIGVuZGlmICV9Cit7Iz09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09I30KK3sjIEJlbG93IHdpbGwgY2hhbmdlIHRo ZSBzY2hlbWEgZm9yIG9iamVjdCAjfQoreyMgd2l0aCBleHRyYSBpZiBjb25k aXRpb24gd2Ugd2lsbCBhbHNvIG1ha2Ugc3VyZSB0aGF0IG9iamVjdCBoYXMg Y29ycmVjdCBuYW1lICN9Cit7JSBpZiBkYXRhLnNjaGVtYSBhbmQgZGF0YS5z Y2hlbWEgIT0gb19kYXRhLnNjaGVtYSAlfQorQUxURVIgVFlQRSB7JSBpZiBk YXRhLm5hbWUgIT0gb19kYXRhLm5hbWUgJX17eyBjb25ufHF0SWRlbnQob19k YXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fQoreyUgZWxzZSAlfXt7IGNvbm58 cXRJZGVudChvX2RhdGEuc2NoZW1hLCBvX2RhdGEubmFtZSkgfX17JSBlbmRp ZiAlfQorICAgIFNFVCBTQ0hFTUEge3sgY29ubnxxdElkZW50KGRhdGEuc2No ZW1hKSB9fTsKKworeyUgZW5kaWYgJX0KK3slIGVuZGlmICV9ClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvdHlwZXMvdGVtcGxhdGVzL3R5cGUvc3FsL3Bvc3RncmVzX2luYnVpdF90 eXBlcy50eHQgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1wbGF0ZXMvdHlw ZS9zcWwvcG9zdGdyZXNfaW5idWl0X3R5cGVzLnR4dApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzEwMzdmCi0tLSAvZGV2L251bGwK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVzL3R5cGUvc3Fs L3Bvc3RncmVzX2luYnVpdF90eXBlcy50eHQKQEAgLTAsMCArMSw1MyBAQAor IiIiCitIZXJlIGlzIHRoZSBsaXN0IG9mIFBvc3RncmVzIGluYnVpbHQgdHlw ZXMgJiB0aGVpciBPSUQncworV2Ugd2lsbCB1c2UgdGhlc2UgdHlwZXMgdG8g Y2hlY2sgZm9yIHZhbGlkYXRpb25zCisKKyMjICBQR09JRF9UWVBFX1NFUklB TCAgICAgICAgICAgICAgICAgICAtNDJMCisjIyAgUEdPSURfVFlQRV9TRVJJ QUw4ICAgICAgICAgICAgICAgICAgLTQzTAorIyMgIFBHT0lEX1RZUEVfU0VS SUFMMiAgICAgICAgICAgICAgICAgIC00NEwKKyMjICBQR09JRF9UWVBFX0JP T0wgICAgICAgICAgICAgICAgICAgICAxNkwKKyMjICBQR09JRF9UWVBFX0JZ VEVBICAgICAgICAgICAgICAgICAgICAxN0wKKyMjICBQR09JRF9UWVBFX0NI QVIgICAgICAgICAgICAgICAgICAgICAxOEwKKyMjICBQR09JRF9UWVBFX05B TUUgICAgICAgICAgICAgICAgICAgICAxOUwKKyMjICBQR09JRF9UWVBFX0lO VDggICAgICAgICAgICAgICAgICAgICAyMEwKKyMjICBQR09JRF9UWVBFX0lO VDIgICAgICAgICAgICAgICAgICAgICAyMUwKKyMjICBQR09JRF9UWVBFX0lO VDQgICAgICAgICAgICAgICAgICAgICAyM0wKKyMjICBQR09JRF9UWVBFX1RF WFQgICAgICAgICAgICAgICAgICAgICAyNUwKKyMjICBQR09JRF9UWVBFX09J RCAgICAgICAgICAgICAgICAgICAgICAyNkwKKyMjICBQR09JRF9UWVBFX1RJ RCAgICAgICAgICAgICAgICAgICAgICAyN0wKKyMjICBQR09JRF9UWVBFX1hJ RCAgICAgICAgICAgICAgICAgICAgICAyOEwKKyMjICBQR09JRF9UWVBFX0NJ RCAgICAgICAgICAgICAgICAgICAgICAyOUwKKyMjICBQR09JRF9UWVBFX0ZM T0FUNCAgICAgICAgICAgICAgICAgICA3MDBMCisjIyAgUEdPSURfVFlQRV9G TE9BVDggICAgICAgICAgICAgICAgICAgNzAxTAorIyMgIFBHT0lEX1RZUEVf TU9ORVkgICAgICAgICAgICAgICAgICAgIDc5MEwKKyMjICBQR09JRF9UWVBF X0NIQVJfQVJSQVkgICAgICAgICAgICAgICAxMDAyTAorIyMgIFBHT0lEX1RZ UEVfVEVYVF9BUlJBWSAgICAgICAgICAgICAgIDEwMDlMCisjIyAgUEdPSURf VFlQRV9CUENIQVJfQVJSQVkgICAgICAgICAgICAgMTAxNEwKKyMjICBQR09J RF9UWVBFX1ZBUkNIQVJfQVJSQVkgICAgICAgICAgICAxMDE1TAorIyMgIFBH T0lEX1RZUEVfQlBDSEFSICAgICAgICAgICAgICAgICAgIDEwNDJMCisjIyAg UEdPSURfVFlQRV9WQVJDSEFSICAgICAgICAgICAgICAgICAgMTA0M0wKKyMj ICBQR09JRF9UWVBFX0RBVEUgICAgICAgICAgICAgICAgICAgICAxMDgyTAor IyMgIFBHT0lEX1RZUEVfVElNRSAgICAgICAgICAgICAgICAgICAgIDEwODNM CisjIyAgUEdPSURfVFlQRV9USU1FU1RBTVAgICAgICAgICAgICAgICAgMTEx NEwKKyMjICBQR09JRF9UWVBFX1RJTUVTVEFNUF9BUlJBWSAgICAgICAgICAx MTE1TAorIyMgIFBHT0lEX1RZUEVfVElNRV9BUlJBWSAgICAgICAgICAgICAg IDExODNMCisjIyAgUEdPSURfVFlQRV9USU1FU1RBTVBUWiAgICAgICAgICAg ICAgMTE4NEwKKyMjICBQR09JRF9UWVBFX1RJTUVTVEFNUFRaX0FSUkFZICAg ICAgICAxMTg1TAorIyMgIFBHT0lEX1RZUEVfSU5URVJWQUwgICAgICAgICAg ICAgICAgIDExODZMCisjIyAgUEdPSURfVFlQRV9JTlRFUlZBTF9BUlJBWSAg ICAgICAgICAgMTE4N0wKKyMjICBQR09JRF9UWVBFX05VTUVSSUNfQVJSQVkg ICAgICAgICAgICAxMjMxTAorIyMgIFBHT0lEX1RZUEVfVElNRVRaICAgICAg ICAgICAgICAgICAgIDEyNjZMCisjIyAgUEdPSURfVFlQRV9USU1FVFpfQVJS QVkgICAgICAgICAgICAgMTI3MEwKKyMjICBQR09JRF9UWVBFX0JJVCAgICAg ICAgICAgICAgICAgICAgICAxNTYwTAorIyMgIFBHT0lEX1RZUEVfQklUX0FS UkFZICAgICAgICAgICAgICAgIDE1NjFMCisjIyAgUEdPSURfVFlQRV9WQVJC SVQgICAgICAgICAgICAgICAgICAgMTU2MkwKKyMjICBQR09JRF9UWVBFX1ZB UkJJVF9BUlJBWSAgICAgICAgICAgICAxNTYzTAorIyMgIFBHT0lEX1RZUEVf TlVNRVJJQyAgICAgICAgICAgICAgICAgIDE3MDBMCisjIyAgUEdPSURfVFlQ RV9DU1RSSU5HICAgICAgICAgICAgICAgICAgMjI3NUwKKyMjICBQR09JRF9U WVBFX0FOWSAgICAgICAgICAgICAgICAgICAgICAyMjc2TAorIyMgIFBHT0lE X1RZUEVfVk9JRCAgICAgICAgICAgICAgICAgICAgIDIyNzhMCisjIyAgUEdP SURfVFlQRV9UUklHR0VSICAgICAgICAgICAgICAgICAgMjI3OUwKKyMjICBQ R09JRF9UWVBFX0xBTkdVQUdFX0hBTkRMRVIgICAgICAgICAyMjgwTAorIyMg IFBHT0lEX1RZUEVfSU5URVJOQUwgICAgICAgICAgICAgICAgIDIyODFMCisj IyAgUEdPSURfVFlQRV9IQU5ETEVSICAgICAgICAgICAgICAgICAgMzExNUwK KyIiIgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK --001a114a7e94924731052e9ecfcd 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 --001a114a7e94924731052e9ecfcd--