Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1apWl9-0003yH-0B for pgadmin-hackers@arkaria.postgresql.org; Mon, 11 Apr 2016 07:59:47 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1apWl7-0003US-K7 for pgadmin-hackers@arkaria.postgresql.org; Mon, 11 Apr 2016 07:59:45 +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 1aoaht-0008Sr-VD for pgadmin-hackers@postgresql.org; Fri, 08 Apr 2016 18:00:34 +0000 Received: from mail-wm0-x22c.google.com ([2a00:1450:400c:c09::22c]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1aoahp-0003rr-LQ for pgadmin-hackers@postgresql.org; Fri, 08 Apr 2016 18:00:32 +0000 Received: by mail-wm0-x22c.google.com with SMTP id 191so25700375wmq.0 for ; Fri, 08 Apr 2016 11:00:29 -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=0nq7aiChI1GG0sfJc+MPN3ba4BbKwIgQtGZhO7r4lMQ=; b=V/ECiBaDm1UOiiFQSrpSnZAHvEdE8yowXoV1xX9mRu/6qslRAT+fJJ5gyZuMuHYwZz lYegIwKfmpAe7dASZYK6B7+IpZkHOZYZNrbJNvXjDW3zQc2+xR1aTkL9TOfUnfueP5Pa pgea3O8/Lg1cIZGz9BycHwWuV0B37aPRabZYvXU356Ub13rjct4fWc1NBeHmcz+wGYdi GbbZmcFYQJ3p8mPAYt+zPKhch7JMxhdmDjbqs7Am2bNlO+24g+MUDNQkg6SRw0WFodrA taEQD6k5BZo+iIrXIvkAyWWnrO+FGhmIXcqkMshW1UJKJHDdE1megSNQwpZtdxWPbmGY 79aw== 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=0nq7aiChI1GG0sfJc+MPN3ba4BbKwIgQtGZhO7r4lMQ=; b=YveJlVRQN++wc8AiTYXsBfLQzf8Wk/g94qAQDbf5HE7iesYe8rLwNoX1UWh+oLh5LN xaTBNYqn2ItnNQzJqbxlGWYCaOy+Coa1BHiiYM3hUSUg6pRxQoPaxzCF2SJo9SZwo77U RzZ2Tlf2BmCzlz7lzgPbYIoNGL65cQo2ZG6FoS7iNpUUtQoLfh0zTFLdk8GsVGwnbgMl 4HljNYL/laHBtRrE0SlGl2+F/T4rct2okXuEm7c99147wN3Vm4FqOa52nuormdzOpxV8 EtvQ1BzQ5VEy0+I1GFp/ngVcU23t03TjtaTTnY4QlW3Ft9Yp2Of6qr0rwJldVN0L6dYb Ylpg== X-Gm-Message-State: AD7BkJICnKbIy3197Nl/0hDV5XBemaEIbzGS5BXw/mPucxHSbEyfKkvj4cNA0Yap95CzMZKPztpxeKylicgoJjSO X-Received: by 10.28.47.143 with SMTP id v137mr5308083wmv.49.1460138427433; Fri, 08 Apr 2016 11:00:27 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.53.133 with HTTP; Fri, 8 Apr 2016 10:59:57 -0700 (PDT) In-Reply-To: References: From: Surinder Kumar Date: Fri, 8 Apr 2016 23:29:57 +0530 Message-ID: Subject: Re: [pgAdmin4] [Patch]: Grant Wizard To: Dave Page Cc: Ashesh Vashi , pgadmin-hackers Content-Type: multipart/mixed; boundary=001a114246164b2189052ffcf864 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 --001a114246164b2189052ffcf864 Content-Type: multipart/related; boundary=001a114246164b2187052ffcf863 --001a114246164b2187052ffcf863 Content-Type: multipart/alternative; boundary=001a114246164b2183052ffcf862 --001a114246164b2183052ffcf862 Content-Type: text/plain; charset=UTF-8 Hi PFA patch with resolved review comments. On Fri, Apr 8, 2016 at 12:52 AM, Dave Page wrote: > Hi > > Nearly there :-). Assuming no regressions, I believe we'll be ready to > commit once the following issues are resolved: > > - The select object grid should fill the available vertical space in the > dialogue - at present there's a gap below it. > Done > > - When scrolling to the top of bottom of the select object grid, the > dialogue jumps up or down the screen a little, if the dialogue has been > resized to a larger size. > As this change is generic for all alertifyjs dialogs, I have added its style css in overrides.css. Done > > - Please allow the wizard to be opened from a Database node, in which case > objects from all schemas should be listed. This will also require support > for schemas themselves. > Done > > - When selecting privileges, each time I click on a checkbox, the row > closes. Similar grids elsewhere in the app close the row when the cell > loses focus, *however*, that is also the incorrect behaviour - the row > should only close when the row itself loses focus (and should open when it > gets focus). > I checked the row closes either when gets clicked on row or outside row, it doesn't seems to close on click on checkbox. > > - The message: > > Please select objects from the below list. > > should read: > > Please select objects from the list below. > Done > > - The message: > > Following query will be executed on the database server for the selected > objects, and privileges. Please click on Finish to complete the process. > > should read: > > The SQL below will be executed on the database server to grant the > selected privileges. Please click on Finish to complete the process. > Done > > Thanks! > > On Thu, Apr 7, 2016 at 6:10 PM, Surinder Kumar < > surinder.kumar@enterprisedb.com> wrote: > >> Hi Dave, >> >> Please find updated patch with above issue resolved. >> >> On Thu, Apr 7, 2016 at 7:47 PM, Dave Page wrote: >> >>> Hi >>> >>> On Wed, Apr 6, 2016 at 12:37 PM, Surinder Kumar < >>> surinder.kumar@enterprisedb.com> wrote: >>> >>>> Hi >>>> >>>> PFA updated patch with resolved review comments. >>>> >>>> On Tue, Apr 5, 2016 at 11:06 AM, Ashesh Vashi < >>>> ashesh.vashi@enterprisedb.com> wrote: >>>> >>>>> On Wed, Mar 30, 2016 at 5:14 PM, Surinder Kumar < >>>>> surinder.kumar@enterprisedb.com> wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> Please find updated patch. >>>>>> >>>>>> This patch has following changes: >>>>>> 1. Improved code commenting. >>>>>> 2. Properly handling memory leak issues in js code. >>>>>> >>>>> Hi Surinder, >>>>> >>>>> As discussed offline, here are the list of some of the review comments: >>>>> >>>>> * CSS should be relative to its parent element. Please make sure - >>>>> whenever you make >>>>> some changes in CSS, it should not affect the existing CSS unless >>>>> discussed. >>>>> >>>> Done >>>> >>>>> >>>>> * Change class name for 'error_msg_div' as it is common name. Please >>>>> name a class >>>>> with prefixed as the module name. >>>>> >>>> Done >>>> >>>>> >>>>> * Add comments for the blow line changed in node.ui.js file. Always >>>>> add logical >>>>> explanation for a change as a comment for any changes. >>>>> *while(p && p.length > 0) {* >>>>> >>>> Done >>>> >>>>> >>>>> * Please make sure, we wrap the code around 80 characters for better >>>>> readability. >>>>> Line length should not be greater than 80 characters. >>>>> >>>> Done >>>> >>>>> >>>>> * Put the allowed ACLs logic with server version support. We need to >>>>> be flexible >>>>> enough to accommodate possible future change in ACLs. >>>>> >>>> Done >>>> >>>>> >>>>> * Avoid using name as reference in each of the given. It will make >>>>> the search faster >>>>> in the database and less prone to character conversion issue. >>>>> i.e. >>>>> Use schema/namespace OID instead of nspname, object OID instead of >>>>> their name. >>>>> >>>> Done >>>> >>>>> >>>>> * Use separate templates for each type of objects. >>>>> >>>> Done >>>> >>>>> >>>>> * Use the existing functionalities as much as possible instead of >>>>> introducing new >>>>> one. That will make the code/results consistent across the >>>>> application. >>>>> i.e. >>>>> Use existing 'parse_priv_to_db' method, instead of creating new one. >>>>> >>>> Done >>>> >>>>> >>>>> * Please remove unnecessary suffixed white-spaces. >>>>> >>>> Done >>>> >>> >>> I get the attached error in the browser console when selecting "Grant >>> Wizard" from the menu when the current object is a schema. I've tried all >>> the normal refreshing/restarting. >>> >>> [image: Inline image 1] >>> >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > --001a114246164b2183052ffcf862 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi

PFA patch with resolved review comme= nts.

On Fri,= Apr 8, 2016 at 12:52 AM, Dave Page <dpage@pgadmin.org> wrot= e:
Hi

Nearly there :-). Assuming no regressions, I believe we'll be ready to= commit once the following issues are resolved:

- The select object grid should fill the available vertical space in the= dialogue - at present there's a gap below it.
Done=C2=A0
=

- When scrolling to the top of bottom of the selec= t object grid, the dialogue jumps up or down the screen a little, if the di= alogue has been resized to a larger size.
As this change is generic for all alertifyjs dialogs, I have added its st= yle css in overrides.css. Done
=C2=A0

- Please allow the wizar= d to be opened from a Database node, in which case objects from all schemas= should be listed. This will also require support for schemas themselves.
Done=C2=A0

- When selecting privileges= , each time I click on a checkbox, the row closes. Similar grids elsewhere = in the app close the row when the cell loses focus, *however*, that is also= the incorrect behaviour - the row should only close when the row itself lo= ses focus (and should open when it gets focus).
I checked the row closes either when gets clicked on row or outside= row, it doesn't seems to close on click on checkbox.

- The message:=

Please select objects from the below list.
<= div>
should read:

Please select obje= cts from the list below.
Done=C2=A0

-= The message:

Following query will be executed on = the database server for the selected objects, and privileges. Please click = on Finish to complete the process.

should read:

The SQL below will be executed on the database serve= r to grant the selected privileges. Please click on <b>Finish</b&g= t; to complete the process.
Done=C2=A0

Thanks!

On Thu, Apr 7, 2016 at 6:10 PM, Surinder Kumar <surinder.kumar@enterprisedb.com> wrote:
Hi Dave,

Please find updated pa= tch with above issue resolved.

On Thu, Apr 7, 2016 at 7:47 PM, Dave Pag= e <dpage@pgadmin.org> wrote:
Hi

On Wed, Apr 6, 2016 at 12:37 PM, Surinder Kumar <surinder.k= umar@enterprisedb.com> wrote:
Hi

PFA updated patch with resolve= d review comments.

On Tue, Apr 5, 2016 at 11:06 AM, Ashesh Vashi <as= hesh.vashi@enterprisedb.com> wrote:
On = Wed, Mar 30, 2016 at 5:14 PM, Surinder Kumar <surinder.kuma= r@enterprisedb.com> wrote:
Hi,

Please find updated patch.=C2=A0

This patch has following changes:=C2=A0
1. Improved code= commenting.
2. Properly handling memory leak issues in js code.<= /div>
Hi Surinder,

As discussed= offline, here are the list of some of the review comments:

* CSS should be relative to i= ts parent element. Please make sure - whenever you make
=C2=A0 some ch= anges in CSS, it should not affect the existing CSS unless discussed.
Done=C2=A0

* Change class name for 'error_msg_div'=C2=A0as= it is common name. Please name a class
=C2=A0 with prefixed as the mo= dule name.=C2=A0
Done=C2=A0
=
* Add comments for the blow l= ine=C2=A0changed in node.ui.js file. Alway= s add logical
=C2=A0 explanation for a change as a comment for = any changes.
while(p && p.length > 0) {
=
Done=C2=A0

* Please make sure, we wrap the code around 80 characters for be= tter readability.
=C2=A0 Line length should not be greater than 80 cha= racters.
Done= =C2=A0

* Put the allowed ACLs logic with se= rver version support. We need to be flexible
=C2=A0 enough to accommod= ate possible future change in ACLs.
Done=C2=A0

* Avoid us= ing name as reference in each of the given.=C2=A0It will make the search faster
=C2=A0 in the database an= d less prone to character conversion issue.
=C2=A0 i.e.
=C2=A0 Us= e schema/namespace OID instead of nspname, object OID instead of their name= .
Done

* Use separate templates for each type of objects= .
Done=C2=A0

* Use the existing functionalities as much a= s possible instead of introducing new
=C2=A0 one. That will make the c= ode/results consistent across the application.
=C2=A0 i.e.
=C2=A0= Use existing 'parse_priv_to_db' method, instead of creating new on= e.
Done=C2=A0<= /div>

* Please remove unnecessary suffixed white-= spaces.
Done= =C2=A0

= I get the attached error in the browser console when selecting "Grant = Wizard" from the menu when the current object is a schema. I've tr= ied all the normal refreshing/restarting.

3D"Inline=C2=A0


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

EnterpriseDB = UK: http://www.en= terprisedb.com
The Enterprise PostgreSQL Company




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

Enterpri= seDB UK: http://w= ww.enterprisedb.com
The Enterprise PostgreSQL Company

--001a114246164b2183052ffcf862-- --001a114246164b2187052ffcf863 Content-Type: image/png; name="Screen Shot 2016-04-07 at 15.15.21.png" Content-Disposition: inline; filename="Screen Shot 2016-04-07 at 15.15.21.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_153f11540f049ed5 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 LHhdcGcILWRVyLGQj6FuoSWhj8L0wkRhHeHS4cvD68InIjwiSiPEkSaR6yNv RSlF8aJaovHR4dE10ePLPJftXja83Gp5wfK+FborslfcWKm0MmXlhVXSq9ir TsdgYyJijsV8ZQeyq9jjsazYfbFjHHfOHs4rrgt3F3c0zjGuNO5FvGN8afxI gmPCzoTRROfEssTXPHdeBe9tkk/SwaSJ5MDko8lTKREpjamE1JjUc3w5fjL/ SppqWnZar8BQUCAQr7ZfvXv1mNBPWJMOpa9Ib8mgo2anS6Qn+kE0mOmUWZn5 KSs863S2bDY/u2uNwZqta17keOX8vBazlrO2Y536uk3rBte7rj+8AdoQu6Fj o+bG/I3Dud65tZtIm5I3/ZZnmlea92FzxObWfJX83PyhH7x/qC+QKhAW9G9x 2HLwR8yPvB+7t1ps3bv1eyG38GaRaVFZ0ddiTvHNn8x+Kv9palv8tu4S65ID 23Hb+dv7djjvqC2VLc0pHdoZsLNpF3NX4a4Pu1ftvlFmWXZwD2mPaI+43L+8 Za/W3u17v1YkVtyvdKts3Ke8b+u+if3c/XcOuBxoOKhysOjgl0O8QwOHvQ83 VelUlVXjqjOrnx8JP9L5s+3PdTVKNUU1347yj4prg2uv1NnU1R1TPlZSD9eL 6kePLz/ec8LjREuDUcPhRkZj0UlwUnTy5S8xv/Sd8jvVcdr2dMMZ7TP7ztLO FjZBTWuaxpoTm8UtUS2953zPdbQ6tJ791fjXo+fVz1dekL9Q0kZqy2+buphz cbxd0P76UsKloY5VHY8uR16+d2Xple6rflevX/O6drnTtfPidcfr52/Y3zh3 0/Zm8y3rW01dVl1nf7P67Wy3dXfTbZvbLT12Pa29i3vb7jjfuXTX4+61e6x7 t+4vud/bF9Y30L+8XzzAHRh5kPLg7cPMh5OPch9jHxc+kXlS9lT5adXv+r83 iq3FFwY9BruehTx7NMQZevVH+h9fh/OfU5+XvVB7UTdiPnJ+1Gu05+Wyl8Ov BK8mXxf8TfZv+97ovTnzp8ufXWORY8NvhW+n3hW/V3x/9IPlh47xoPGnH1M/ Tk4UflL8VPvZ9nPnl4gvLyazvuK/ln/T/9b63e/746nUqSkBW8iesQIImnB8 PADvUJ9AjQKA1gMASWrWI88ENOvrZwj8J5710TOBOpfqdgBCcwHwR8e96KiD prQLAEFohroA2MJCkv+I9HgL81ktcjNqTcqmpt6j3hCvD8C3/qmpyeapqW81 aLMPAWj/OOvNp0MG9f+H1praWIV0d9zOBf8SfwdXVAZhD0MBbwAAAZ5pVFh0 WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRv YmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJk ZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIy LXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6 YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFk b2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1l bnNpb24+MTAyNTwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxl eGlmOlBpeGVsWURpbWVuc2lvbj40NDU8L2V4aWY6UGl4ZWxZRGltZW5zaW9u PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6 eG1wbWV0YT4KEkI1MAAAQABJREFUeAHsXQm8DtUbfuba9y1rliJUQlJJhJKS /iQhS5aKFpIkRSut2rVQUWlFKlRIKPuWJUtSSpQ9lOxZvvm/z5l77jffd2fu ItvN+/q538yZM2fOPOec97zbOeO427e7UFIEFAFFQBFQBBQBRUARUAQUAUVA EVAEFIH/NAKb9+1Dwn/6DfXlFAFFQBFQBBQBRUARUAQUAUVAEVAEFAFFIAkB NQIkQaEHioAioAgoAoqAIqAIKAKKgCKgCCgCisB/GwE1Avy321ffThFQBBQB RUARUAQUAUVAEUg/An//DUQi6b8vo92xfTvg6urojNZsWt9/h0Cmvr179/UX 4R46hH2/r8HWYR9g09NP48+hQ/HnF5/hwI4dyFz4FGTOmxdwHP8th3988CAw diywdCmQLx/AsnftAr77DlizBvj9d+9/jhzAggXAunXAli3Ar78Cq1cDuXMD OXMGPn/mvHnYs3cvTilUKNn1f/75Bwfl2ZkzZ465FpYekykdJ+s3bsSff/2F /Hw3H8Wn75R3/vHnn1Ewf35kypTJ5Pxj61Z8Kzj89MsvKFq4MLJlzYodO3di 8fLl2LhpEzZu3gzmYXqO7Nl9pcceusLUps2ejVW//YYyJUsiISFlu0968/Np q6Wddu/ejbx58sQ+PO5sz549WPrDD+D7r5P/uaRdbd2JweTp0/G3TDinFi9u 7kwp/9r16/HNzJnm/QsIbvHEe1dKPylyyinxl47KOZ/nyLhIDd/UHk78h40a hbJlyiCrtO3RoJSewX7IPmjbJa3P3ydri5577TVMlb7G9mNfjic+97tly0yb WJxS6jvpzR/f5hzjfJ8sWbIge+IYWbFyJdZIf90gY2jLtm3YJuOTfYT3crwt XLIEeXLlSurLm/74A7yH+Xl8SsGCSWM0aNz639k/zlmX+YsXY4H8z+0r358/ Lccz5s7F4Pffx7oNG1Dl7LNNnyNOQ0eMwOdffSUyjIvTS5c2RbFNPvjkk6R8 aSk/KA/LPJw++dvatZg2Zw7OPOOMpGK3CubjJk/GdhnnpUqUMPVPungUD4L6 Ah+XnvSwPsJy2K8XSN8pXqQIsmXLxiRD7N/fzJiBXcIfixctmvS+Qensl/MW LcIK6bNFZN7yj8GwvhaUzvZKiefzOcSf81LYnJJd3mHZihX4XeZc9v0DBw4k zWO8Z8KUKVgtcwr5FMcysQnj7Rw3k6ZNwxaZr8gb7NgnQKzr9z/+iKwyRvm+ 7Nec8/hMzm/8b+fFoHJSyu+1QPK/YW3OnJQBlsgc6x/nxIrvu17qVEzmYvIT UtgcFNQXwtqW7z9HZBvynrwiz9g5NCx/kFzAugTlt9iyX1JmKCH9j7w9rM2J f1DbsnziwjZcJXKZlUeYfjgUxvNtfW1fYNlsq69l/PwgPJj45KHMJxQkLzA9 qE3+EuVu7sKFWPz992C/LuCTx8jbp8yahUMi93Ie4Bwelj9s/IflD2oT1jGs zXktqO8wPUUSWRDCM1CsmCebS5/C+PHATz8B5L3xMp+ML/z5JyBzWaokYx01 awK33ALpPIDIbzLYATu/85z6AOVw4RH49FNA+hsqVPCKlvkKwicg8h5EZjNy /f794c+W9oa0lZHvhU+B//lefDbfc/hwr+5ly3rPZdnCI8y78L15L/UF4cfm Pr47dQrWU/o/hKcZXKhH8NyPzaBBgPAqnHlmqrCcSBnYnzj/c963cs6JVD9b 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 KX89CVyiaJOG9F3ZsXc/kiVJjMlhg5CfvjfWaBMmkymjhiwZXRnNW0TKezsN aVIDY4bbokLq48UF3aNGXR8fTSn+PBXGIlJOWXGd/RvfL8BGR+QA28Xo9kLP TgDddqgSoqn9Pt1sFPJuRAN8PRWoW0PDqdM6en2iY+hnxj+Hwo+b5PR2u47w 0XusOHsSb+We6nIZz0FQp6kdP0+3wf8RhgjmFZRNIwOEszXmdYECdvYdBFKm ANigYQoz2bNBQ/48TsMAH+PICjbKbNpGvH0Ng4pN0ylSCmSQMeYMINuhEo4Q 4FQOjlxgY4r5+RhH5VUICAEhIASEgBAQAkLgZSBAj8SxV1j5z5QuLS7S02hC mifg7PmLOGsJSWfDAYv1kTZtqhQILV8G9ylnvmSRgkiaOLGqwxEFqVMmR3z/ ALVvvlQsXVzlMJcoXBBpU6UkQ4PjaZcqsMeehT39pnhrn8eSnpRs9p4nTkiJ ug7hflkJ50gEU/gxm6MAgik64M6duyjzRhGkSp4UXDcNPblrLldknBWXDAqm sKJuFVa0OJKCowxYWHmvE1oJhfPlVhzKkibAitmq9Zsw8adfMISiJHTy9LOR wBTmbPI0y/jdz9Evj80msb9WNLLtQkBTBrrD4ceRnzRE/i7lzRGkonNcqrnt sFGJI2wSJzLuYvbcW8X8ypnvfCwoG1A9lBTm+xrIlkd568YZHAmQLYuG+PGt vwhA5WAdlWrrKFMCINuYUo4jyUPepoW1J0OhtSrUrkeNPQpuUBLg+jPiqWq0 ZRxSHzeuBj9LKD+zqNrAjv69NbxR2PV0T/W5Bp9jFbrNsXOdTUVHtOmiGxEB 5MVn4Z+HvJTq4C403Qqx0NCsEVConB0hwRp+mQd066ChaSONDBMashay481K GgYM18F22CGjdGzepqNdVx0/TrGpz8S9XdkXAkJACAgBISAEhIAQeDEELD6i FzOAJ+mVFYkc5L7a6Jhg7MSZMyhACoYKvaWnX44SYNlM3v445AJkRfgyuafY 42963v3YnegQT0osGxcqliqBpl16oV3TRlGKMCsmfUaOQZMPepNn0vC6R9c+ zwGwbss2fPPZUDRs30158Llbf3rKT5cqFSnm5G5zCHv7V5P7MhUp8zxOVvw5 QoDF0wSCrIjzfAY8Do5y2H3wkKMlw1BRo1UHTJ0xK6osOT2lczQAR1Zw+0nJ KMEswynaoHPLZhQlkBm3KMqC50BgYQPB5p27aRI0Q8PhFAS+fnexeyhzryP7 ry+BdVu3o3yJoug2KAycWjP8q0mPhMHKPXuzt+0wvm9rNzi9yzoZwyhIRcmG LUY526TOnDNC0zmfnYJjyPjl7MaTEp+IDAy1q5FRoqSOru0NJZiVePZmW/+5 LVPYoOBJunxoR9WGD0/aZ9Z3v0U8lbMhoXB5moRvqvMe4/M699bRorGGWjRW q3iqbz1u3aapT8DZUx3baFj0iw1jxjtXGuBJ/LTENJ8K5febwjZVjgRg4cwN 3uafIrZ7UoaSklu3dEpVAv2u6pjyhYbBH2loTuNMk1oDR1mkT2vUk1chIASE gBAQAkJACAiBl4NArDYCMMIO7zTG9FnzUKnJu+gbNgYDu3dWCm0lyrX/bNI3 you/dvNWUgTiUmhqHHw1+BPUf/8DtPmwP4pUbxA16R635Wd1u3GBQ2pVDqaw 4vjKg2mW8XsA1eccelO8tc85+72H/Q8j+/VS3s+OzRuriff4PA71b1yrGqq1 fF/l3fOcAxyW37NdK5Ss2xhtKXe/QuOWlD/tiDrwEAPMinx5yskvXb8J2n88 CP7xnO5DNojwtbNhwRROdeBUhDdqNlSztPf7bCylO+gILlEMXQYMxXu9P8Hn NImbeW1sNBjVtyfKN2qOtzv1QK9ho1R9bs8aHRDgYWxmn/L+ehPIQS72JbSW HEfvzJsyDklp2vrF/zdRpbU8igxPrMcK8Fut7Og70E6GM+OMqiFA17463qxn VzPUczmHn8+cpqFoBR1vv0tmAlJqDx52KrUB/s5ta7/1axkpAgXzWUs9b/+2 mNIM0tlx6B8gaWY7pn7nbJOjDNJRxhIbL0zpO1BH7uJ28JJ5vsnsUUvteStn Q0VgoDFngdkGZQZhPBkFeGI+vqYMee1Ry+95qm+eZx0Hl3G+f5zkdjRpraN4 iJ0m+3NNF+A6HEFhyrqNRv2iwTT3SkE7pn1lU4w5lYKXDaxY045EGXU1/0LC hEbKRmZK5+D/PDmBjOnJqxKeVQAAQABJREFU0OkMlDKblXchIASEgBAQAkJA CAiBF0hA0yMinE+wL3AgMe160Odfq7z8ogVcn9YvXLqMFj36kRGgE0pQrjwL h73zvAHx3WJz2YvNHnVWWq1KrLcx8Iz84bRWVudWzbxVcSn/r+27nGzZ4YkA eVI+a7qB5fBDmxz2H0jX6m3iQvcTPKUzcDTBzVuRKr3Cvb43nu71ZF8IeCLA E1I27dobYX17IFvGDEpT5mgUd+k3SEf9WhqKFXEeYY/57dsAz/XJuf59uxuK qllONrqHhOcH8FT+UEUqmL+IlrMLp/kCaMLAV0l4UsQDZEDo3tH1upgle/Qd AUbRXjIzvnlTR4IElIjk2gyVUwSADxtQo21CDgoBISAEhIAQEAJCQAi8JATO 0YNgrDECcLh7nxGj1eR3344ZoTzZ7hxZabbr9qjcd/fj/3Wflfmw8VOwmDyY vKQZT+YnIgSEwOMT4OUwV27YhPNktGPjXINqocpoNWgkLTU3wkirefzW5cyX kUBnmtRx3Cg368HLOFAZkxAQAkJACAgBISAEXgMCscoIwB5qzpvnMPbnKXco 2ZVz/WMSMfA8xyV9CYFXjQB7nDnn3DF/pdfLM/PSvVb4jwcoWOiRff7HJl+K 6uztFw/9S/FRyCCEgBAQAkJACAgBIfDSEIhVRoCXhpoMRAgIASEgBISAEBAC QkAICAEhIASEQCwkwEaAWD8xYCzkLkMWAkJACAgBISAEhIAQEAJCQAgIASHw QgiIEeCFYJdOhYAQEAJCQAgIASEgBISAEBACQkAIPH8CYgR4/sylRyEgBISA EBACQkAICAEhIASEgBAQAi+EQKwzAvDM4nsP0ZpXFjkcfgwz5i/CgSNHLaUv bpNXFViw/E90+HgQDh6hdcceU25TvsbEH34GT4poCi8ZuPjP1ap9Xg3hVZB1 W7Y/EadXgYFcg5PAilXA7r0v98ql168DO3YD92J4C56hpQ0PHHJeo7nlrdw8 bn0/esxYypAWK4Hd+ZNgrfLQNq3KiFnzHyr+zwXc96nTzs+EJ1Ncv0nHz3N0 bNvh2hxP3MhLE85ZAPD1iQgBISAEhIAQEAJCQAi8XARinREgZbJkSBAYGEVx 574DaNnzI6RJkRwdPxmCTTt2RR17URvhJ09hISnqn33UC9ky0XrojylxaSWE jGlTR63Nbacn/zZ9BuDoiVO4cDkCjTp2pxUTaEr1WC5sxIlgrUrklSbAxrGf 5i1Eow7dUaNVe2xw1x4dV586pY6XeTXOad/T+DLYUb66HTduRv+RsULcsaeO tLnsePs9nQx6Rn1v5d5aYwNCcA1eIUXDsj911G3mbMvbOVyeKCGQPq1TeY+u rqdjFy4CBcvqyFbIjp/nOmucPA0sWgZa5hHoP0zH11OMPvi6QuvasWELG0h0 rFr3+H07e5MtISAEhIAQEAJCQAgIgadJINYYAXipPvaKs9Ifx8dHMWCl4qtv f8LnA/qiQukSmDh0AMZN/4G8ZHZV78Tpf1W9s+cvRCkcrDSzItJjcJhar5zb YOH2l635C7v2H0TvYZ9hzpIVuHwlAnN+X67a4zoR16677HOZVcwIgB/nLlDe +5m/Lca/586Dy//4a6Mag9m22a/1fOv2tl17MOWnX9Va6ubyhOGk/J/49ww6 NG+Cd9+qh/j+fsqDbkYH8HVzu0tXryPlxNBOrly9hpETptL1jsQhduc5hDnu O3wE03+Zg49GjcX5i5fUeSYzrvbn+k2w7pvnWt850oGvaei4ibgcEaEORUbe wo/EmNv94pvvce3GjahT+NiE72fio5GfK948Xl4v/sTpMxg77Tv1z5+FyKtH gD9fll8nfI4F34zHxB9/dvlusHf5y4mGZzlOHNd15WfO1tHzYx1/rgE2bTXY /E32PvZ0s5w9B/y10amIfvuTjve76VixSh1WL9z+4mW68uB36qXj13k66BbH L3N1um+Meu77zrOdW/lya7gUbkOaVM4yb1us9LdtqWHvRuN6NMdleSv31k6u HMDJvTY0qA0M60/t7ddBt3a0wp54vkb6mXCR7TsBvv6PBuvYs8+ppPO1T5im 4/gJZxmfOPcHDT9Mdv08smc1xlGzqobJY+lzm2QYJTg6ILSihsEfaXi7voYm DV3PcxmI7AgBISAEhIAQEAJCQAi8EAK2F9LrY3QaN04cVK9UHsdJCeZ/Ux6Q 4ps1Qzq1G48WGD9Hyiw/0G/fs48UZiMW9VLEVawmzYEVzo9JMY0bNw4G9+xC YfVrsGLdBnXug/sPMOTLiVhEHvyOLZogYWB8FXEwZeYsnGN3GMnytetxlTzW NptnbKysv1EgH0oULoi0qVIitFwZJE2USJ3L6QqLV61Bz7atMGXGr9j/T/Sp C1kzZkDJIgUx6IvxZIQwHspv372DN6lNHx+j/wxp0+BGZKQyYIwjY4ipyEz/ dS554e6DFe7GnXuianBZ9O3YBl0+HYZTZ0hbImHl/d1eHyEocyY0qv6muq74 /v6Y9vNsdZxTEVixT+IYvyp0ezlCGhhHJvRo0xK1K1dE/XZdaZ33+7hy7RpS JkuKPh1ao3DeXMpIwAYKPsbjSZ86Jbq1boFbt++oa4sTxxdf0/jfqlmVym5j 9qKlbj3JbmwnwIa4QxTx0bh2dYyePB3v9xuovrunz56PujS6fVGnOhB+gpV7 pyI6Y5aOvzYBvbpoGDLKjjXrjWNbtjsV1ouXnAp/DzIWcFujh2qYu1BXoenc CSveXT7UVVnPzpqKNkhAQUX/G6dHha0vWaGDfi6iom+iBmfZKPEGEOBvKYhm k8dRuADoN8NVGfZWHk1TUYfIrqjEXbmPquDYKFUMylDBHntT6GNAo5Z2DPhQ Q8smGm5GOsfFhhSOWiB7XJRQgBWyZo7addlgowEbWQaPAsIG2uh3iVIGyO56 6TJQsaYdqYLsoEwfESEgBISAEBACQkAICIGXjIBnbfYlGyQPhxXsjKT0ZqJ/ U+6Qa+8kGQRY+WdJnjQxUiRNorbjUSi9r68RMeBLT6fxSPGPvHUL6ykE+Sp5 9H9bvpIe5P2wlTzuLPyQ7kPKfaeWTZElQ3pULlsKrJy2b/Y2llKEACux38+e j5ohwaq+t5c0pPxnTpeWlOeEyJQ+LQLJmMDC4/+gVTOkTpkC771Vn7zmpGlE I0kSJ0JOevpmZdqUYxSDG+jQPri9ArlzKsMGH09iiZ9O4TjnFCXkRpBCvvfg YWXsYOPFsVMUx0ui0XbzerVRtnhRFM6XB0FZMpPxogA2knuVPfE7Kf44lBgk cIxfneT2sm33XjovE0VUbMYeqn/3/j1w5EG61KnUZ/XrwiUqdeE6xUyzgeLI 8ZPwoc+kRkgFpEyeDHXerKQMGrdu3cbA7p2U4eStGlVxjrUIkVeKwCWKEmlY vQp27N2PZEkSY3LYIOTPGeQSCcAXnCmjhiwZXS993iJS3ttpSJMaGDPcFhVS Hy8u6B416vr4aErx5wCYRUsND//s33Tw13ejI3KAbXe+vkDPToZiWyVEU/t9 utkotN2IBvh6KlC3hqby33t9omPoZ8Y/h7yPI283/Qw8ljiClx4611v5QxUd BTwHQZ2mFJo/3Qay2UUrzCsom0a/bc5qzOvCJWDfQYB+isAGDVNY2d+zQUP+ PE7DgHnM0zuH/rOxZtM2+hx8DcMMt3/wH2DJbBs2rrCh8Xv2GM+b4KkPKRMC QkAICAEhIASEgBB4+gTokTj2Civ/mUjhvnj5CnnuA3H2/EWcpUgAU1hRZrE+ 0qZNlQKh5cvgPnnK2dOeNHFiVYcjClKnTE4h9gFq33ypWLq4ymE2vfvJkzqV cva0swS4uQWNx2GzBePdzy8efH0M3PfoSd40UPBRDpfnSAc/hzHDPJPHZHNc A5dlJ6/9copcMFMJVpHynT2zoTH5+bnF/FJ9HgdHAQSXKo47d+6izBtFkCq5 MX4eQ6G8ubnZKIlDY6hftTIZSv6m1IC/0Prt+lHHeHJCNqL483WwJkXCqRV1 QiuRESG34lmWNApW8FZRGsHEn37BEIq20CmKgY0EpvDnZX4uZhm/+zvcmq/C HAfW65Jtk4CmDHSHw48jP8W283cgb46gqO+yWcv9nY1H/H1PnMi4i9lzbxXz 9jDf+VhQNqB6KOWk39dAdiyYdjSOBMiWRUP8+NZfBKBysI5KtXWUKQGQTUsp x5HkIW/TwtqTYXCwKtSuR409CsxRQhkuTyTXrukUsaTBelszi6oN7OjfmyKO Crs276k+1+BzrEK3J3aus6noiDZddCMioKnBg39+8lKqgyfxdN0cJdCmhYZm jYBC5ewICTYiC6qGGJEYZAOlzw24fgNw2GY9NS1lQkAICAEhIASEgBAQAs+Z gMVH9Jx7fgrdsSKRg9xXGx0TjJ04cwYFSMFQobf09MtRAiybydsfhxRXVrTZ A88e/6w0YR97/P3YnegQq8JtlrFxoWKpEmjapRfaNW0UpcCyYtJn5Bg0+aC3 yv836//XdzYk1GjVAVNnzHrkqUnpiXrzzt24TWH0D0ijOUXxu0kp4oCvh6+V y1hR373/kGorkGbtWk1u0FTkdefrTUOuP1OB5wpWQ4TZec2QCmr+AI4iyJrR 6ZI9cuw4yjdqruZaMOsmpyd7jgbgCA1uP2nChIpPOEUbdG7ZTEUX3KJoDZ5L gYUNBDz+GzcNTcmIEDC0FNOwYbYt768egXVbt6N8iaLoNihMpdYM/2rSIy+S lXv2Zm/bYXxP1m5wev91Mu9RcIkSnoiOvdAUAIQz5yiqx4eMZllZ6Qfd485u PCmzicjAULsaGSVK6uja3lCCWYnnPHzrP7dlChsUPEmXD+2o2vDhSfvM+u5K uadyNiQULk+T7U11avB8XufeOlo01lCLxmoVT/Wtx63bPN0GZ091bKNh0S82 jBnvXGmAM5S0xDSfym5nv+a57hEQbGvlSAAWzujgbbYNFswH7NprlEdG6jTX CBn4HrZPGhXkVQgIASEgBISAEBACQuCFEIjVkQBMrMM7jVH//Q8wlSa4u0lP w0u/n6oU0UplSqJO2874ecES8vYnRDHK1WdP91eDP1H18+fMoRTYb8eMUGH1 3JYnbzqX16ocrOYKYA+mVQLITWcN17ce8+Tt9nScDRZsiGCF3V1YubdbtAYO 8+/V7j2Urt9UVe1EcxcEZcmsPKX1yINfun4TFM2fN6oZDsvv2a4VStZtTLn5 ebD38D9Y/H+TkNiROuBpjDyXARtWmtWtGTX3ADfo44hbts6HwCkTW3buwRs1 G5KhIbkyBIwd0A/BJYqhQfuuKs2A0yhMRmw0GNW3pzImcB88jvFDP1XjtY7F uh11MbIRqwnkIBd7v7AxeKdeLcybMg7HTp6i7+LEh6JoPF0kT6wXUtuOooV0 UIAKPu1jKMFVQ4yZ67/5QUeK5Jry5LMhYOY0DUUr2FGhrDHp3461Ggrmdyj3 /qzguirR3Gf9WsB3Mw0l1tMYrGW/LdYpJN9QlJNmtmPKlxw1YLTJUQbpKGPJ GpnQd6COkWON+r7JdGxdZaNrAbyVs6EiMNCYs8DslzJ6MJ6MAhsLAq066khP ivyuv2xgz76n+uZ51nFwGef7Zy1oR+MGZASgFIjlc20u6QJchyMoTKEpOtQq CGZu/9gJuup33UagXjM7KJgKPNHgyoU2ZYQplJ/mIaA0BF5R4Ow5HRM/f3Ta gtmXvAsBISAEhIAQEAJCQAg8HwKaHhFhPJ0+n/6euJdBn3+t8vKLklJvlQuU R96iRz+VW16iEM3ERcKh5TxvAM8+bxX2OrPHPICSamOicC76YxXCKR+/M+X0 P085TZ5+XvZwzqQvXRRyztnnmft5joLvxo6kNANye5JwWkGC+PEfuqa7d++p Sfnc0xY8XQunCdRu0xk/fTGKFAxjUkNP9axlntIiOH3g5q1IlaZhrcvb3j4X 93qy/2oR4Ikkm3btjbC+PZCNJr5kTZmjSNyl3yCdlHINxYo4j7DHnBVSnuuT c/37djcUVbOcvvYPCc8P4Kn8oYpUMH+Rjn/Cab4AmjDwVZLfl+s4QAaE7h1d r4tZsuee/x9XmP3NmzoSJNBcjB7cHkcnsHHCms7wuP3IeUJACAgBISAEhIAQ EAJPj8A5ehCMNUYAXr6vz4jRyEkxuey954n/3IWVXbtufyi33r1eTPfZWBA2 fgoWr1yrljQzPegxPf9x6/HM/K16faxm8P9iYD8KoS7msakrlNoQU0XdYwNu hcdpau+6FD3xYfvWaFKnhttR2RUCT06AJ4FcuWETzpPRjo1zDaqFkrJow6CR wMAR9ifvQFp46Qh0pkkdx41yNUK8dIOUAQkBISAEhIAQEAJC4DUhEKuMAOxZ vv/gvkfl/1l+Xux157kEYhIx8DTHwf1yCL7p5X+abUfXFi/jZ503ILq6ckwI PE0C7Fnm3HK3+TEf6sLMP3/owGMWULDQI/t8zKZf6Gns7RdP/Av9CKRzISAE hIAQEAJCQAi8dARilRHgpaMnAxICQkAICAEhIASEgBAQAkJACAgBIRCLCLAR IFavDhCLWMtQhYAQEAJCQAgIASEgBISAEBACQkAIvHACYgR44R+BDEAICAEh IASEgBAQAkJACAgBISAEhMDzISBGgOfDWXoRAkJACAgBISAEhIAQEAJCQAgI ASHwwgnEGiPAuQsXsXPfAWzdtQe81JgpvIxer6GjMOTLCbjBa4I9gfBqAN/P +e2J23mCIcipQkAIvCAC46fqoAU3HlvCjwOLluqYswC4EvFwM3yc/61yhpY8 PHDIWiLbQkAICAEhIASEgBAQAkLg2RKINUaAVRs3o12/T3Hw6DG0pffRk6cr MqlTpED/rh3wDxkG7t2jqcWfQHgFgFTJkz1BC3KqEBAC3giwke2neQvRqEN3 1GjVHhu27fBW9YWUB2XTEMf38bueOdswIlyJ0JGrmN3FEEA2TGQtaMes+brq gFc46NhTR9pcdrz9ng5eGUFECAgBISAEhIAQEAJCQAg8DwJP8Mj7PIbn7EOD hvfeqo9mdWuiQdXKqNT0PbRt2ggJAwON/wSBzsq0xVEDSRIlRMZ0aXH2/AWE nzyNUkUL4dqNGxj/3Uz4xY2DQnlyIWvmjMiYNg0uXr6CeUtXKCNAHFoSkIWV lj/Xb0IArbM1Z8lyOr8w6lUJee7LBarByIsQiOUExk77Tt1fv074HHa7He/2 +hh5c2ZX9y8rxXMX6jj1L5A/j4b9B3VkywJUf1NTV71yLTBjlo43CgOtm2u0 fCbw9y7g1i0dy1cC/v5A1/aaWuqPvfHBZTTQT4OqkyQxQLe5V6FgIvxEbadN DVoe0+iPK0dGAtO+13H0mI6C+W1o2hCIG9do5s81UFED9WqCfg+Msn49nOeu WgfsO6CjTEmNfkeAwaN0tH9PQwCNk4WV/rYtNXRuCzRp42zDOCqvQkAICAEh IASEgBAQAkLg2RGINZEAjMD09J+7eFkRiePj3Yaxfc8+nPiXYm1JLlGM7+pN W5Xi0bJHPxTIFYQaIcHoPmQkLly8pOqwol+pdElMmTGLHv5vqTJ+mTF/ERav WoOebVvRsV+x/5+jUcdkQwgIgZgRYEPcofBjaFy7uorieb/fQNwgLfv02fOq gTt3gIFhOiqU1RBa146SxTQsWAKwceDXeRxir2P0UA1k10O/QYY3nZXsdzvp aNNCw01S2GfMZsMd8PVU4O49Y1xbtus4fsKo722k3Ga9mhq+mgLVjllv9Fc6 kiUFPu1rQ8b0/PtjHOE+Rn1hR/9hdvpNMWsb7xzcwBEBnA5QMJ9hFFiyQkf5 0kDVEOA2XSdLvHhA4QKAzeY0HBhH5FUICAEhIASEgBAQAkJACDxbArHGCBA3 XlxM+3m2CiOu27YzBnzQgbx/fl7pxCOXna8vuQtJfMltGI88/7doTURfMhxU CS6HoCyZUffNENx3PMUHkIsuCz3pZ8qQTp1jvnCKwAetmiF1yhQqEuHykyQN m43KuxB4zQhciohAw+pVsGPvfiQj1/zksEHInzNIReaYKPLl1lAgL1CnhoZC +Q1vOQXoYNEyIGkSKEMA2+zmLzbC59lAMGGMDRTsg+Zvazh7zlD206RyKv30 swFHYI/ZzUPvHEWQJROQM7vzPK6UMAGwYQvIUAhULAfEj2+cyp7/KV9o+G2G TUUkWBu8RPbJI+GIMg5cvarj8/E6GtTW8MBOkQqOSALzHI5oEBECQkAICAEh IASEgBAQAs+TgHdX+vMcRQz64iiAd+rVQtf3mpP3zKb+H3UaK/AsVl9bgkDH kzyVp06ZXIX8q0peXvz84inDAR++R65A07DgpboUCwEh4JGAhhSkyR+mmfHy 58qhUmry5ghyuf/Ym8+3bKli7CFnI4BOSjYnAumoXc2GxIkMT3/DOkY6AHfj 78eKuxblpTe7dtz6DxkAOMSfJSDAeDdf2bvvLp3aalixSsfEb3TMW6Rjx1ob EpBhgCVDeuuvilHGr29W4n8Nk6brWEhpCbfvaNi5R8fw0Tr+WK1j30GoNIdq oZ7Pd7YkW0JACAgBISAEhIAQEAJC4NkQiDWRADp57A3vvq9HA8AFcsHd5phi U+ip/uS/Z9TeZlpRII6vL+KSS/DYqdM4e+GCSg1Y9MdqxPHgirP5xBos5tXK uxB46Qms27od5UsURbdBYVi+dj2GfzXJ45itIfaszLPyf/6CMUdA9qykwDvy 6vlkd+Wd69+4qSnvPR+bv5gjAZwKd5cP7ajaMGYT8UVG6qhaWcPoYRqCstEs /oedw/1wgI7WnZ3pAByVwFEAphw4pCM+GRrqVAc2/WFDq6ZAaEVNRSxwqoMp 5oSA7tdhHpd3ISAEhIAQEAJCQAgIASHwtAnEGm1XI9dgfOvTv4UEe/w7Nm+M 6jTjeLdBI8iDaEelMiXx2aRv1EzkazdvhR/F4fKEf6P69UTNdzugSZdeSELa hZkOsGzNX3irYw9s3rEL7fp+io9GjVXtWLpRm2Z0gXu57AsBIeCdQA6Kt19C s/vFo2T4eVPGISkl4i/+v4nIzVq9QwL8Xd3xrNDz/6B+GsZNJg97PTuyFbLj F5ojwBQ+bgpHD7B0bE2h/W/Y0Zhm3T9Dk/5Z68SPryFdGtcyPsdah/dZho8B igbbUb2RjvSUcsA5/KZwbv+FS87O2QhQqTZNIFhWh5bYriYNZKXfnJQwfToN OYM0pKHJB7mMpe9AHbmL27GLIgV8k9nxki2WYAxSXoWAEBACQkAICAEhIARe OQKaHkHrWb2icp/cbHcoOiC+JfaXDQQ+5Onnmf9Z2e/XqS2yZszwihKQyxIC Lw+BI7SMZ9OuvRHWtwey8T1HmjevzBFTuXnTmFCPgnoeKbdobk+eCyAmdbkx jj4oX13HgpmG4m52wMFF7K23/ISYhzy+e0s38FhZCoWAEBACQkAICAEhIASE wHMmcI7myXuljQCeeM5b9gcmfD8T8UhDqFS6BLq2bkG6iNOj5+kcKRMCQuDp ELh16zZWbtiE8xQ7z8a5BtVCVXrPoJG0OsAIt6n2n06XsaYVNljcuxhrgrNi DVcZqBAQAkJACAgBISAEhICTwGtpBODLv3P3Lh7cf0DePUtysZOLbAkBIfAa EeBQfvb287J9IkJACAgBISAEhIAQEAJC4FUmwEaAGATWvnoIeIJBuC3V9epd pVyREBACMSHAHviYpg3EpD2pIwSEgBAQAkJACAgBISAEXmYCEnv6Mn86MjYh IASEgBAQAkJACAgBISAEhIAQEAJPkYAYAZ4iTGlKCAgBISAEhIAQEAJCQAgI ASEgBITAy0wg1hkBeFb/azduvMxMZWzREIiMvIX7nIQtIgSEgBAQAkJACAgB ISAEhIAQEALPnUCsMwLMmLcQf23Z/txBvUwdsiLNKxz0HvYZbvC6aU9ReAlF bt+TnD57Dov/XO3pUIzLDh87jmHjJsW4vlQUAs+LwPipOiKuPn5v4ceBRUt1 zFkAXIkw2rl2Tcf6TTo2bQU2bwO273QeM3vi8/hfRAgIASEgBISAEBACQkAI PA8CscoIcJtmMvyejAAhZUo9DzYvbR/zl/+JRAkCMbB7J7XM2tMc6KkzZ1Gn bWdaN/3h5dr8aPr0xIkSPlF3+XPlwK6Dh3Dh0qUnakdOjn0EOIrnJ7p/G3Xo jhqt2mPDth0v1UUEZdMQ5wmmSp052zAiXInQkauYXRkCIm9pWLUO2LJdx+q/ dBQNtuPGDT3qui9cBLIWtGPWfGdZ1EHZEAJCQAgIASEgBISAEBACz4CAz8C+ fQc+g3afSZM79x3AA7uO4JLFoto/SUrrD3MXYN7SP3CdvOJBmTPTuuMauO7x 0//iB3LLbd21B4Xz5Yavjw9u37mDKTNmYcb8RUqhTZ86FVg5+XP9JpyjJ/Iv p3+PG+QJz5UtC3kFr+H3lWuRk7Y1TUPEtevkCV+DpIkTYcnqtVhCT/c2Hxum UXtpU6ZAsqRJvLa/bM1fSJ0iGeLSygQ8tru0TGGihAlw9vwFfPHND1i2dj0t U/YAWTOmV31FXaBlg5c2/G7WfKzauAX37t/DmQuXkD1TBrXO+pJVa5EtU0ZV 2+zLZrPR+Nfg2KnT+Prbn5A8SWKkTZVS1WFv/9SZszF3yXJiaqd+M2DX/oP4 Yd4C7Dt8BD507sEj4cibI7uqv3T1Ouw+eBgZ06ZBquTJoka1Y+9+jJr4DQ5Q 3fw5gxA3Thx1TRv/3oX1pOTNXPC7Kuc14VmY44N793H0+Enkz50zqh3ZePUJ jJ32HQLpezCk1wdoUrs6+o/+kgx6JcGrdXCGyOzfdCz7E7h5U1Me9UuXAVbM Weg2xIgxOs6cAwrl1+g7D9BXDOHHdNDto7zsbxTW1Cz/7I1Pm1qje82oQ7c8 3eve+VKACyZ/q9PvA5A3l9EG146MBCZ+o4OV+7PnNeShryv9hCihnwHVP9m0 6DttlJUrpaFAXg1FCmrYtRegWxN5qL1ypTUUL6ohXRoNrPS3aqapc+hnB30H 6ap+ujRQdYyW5FUICAEhIASEgBAQAkJACDwbAjfpwTtWRQKwUpo9Mz1ZW4QV 91KFC+CjTm1x+ux5zCGlloXr9hk+Gi0a1MYtiiCYvWipUvZ7D/8fEgXGR892 rTDw86+x/5+jqj4bBRavWoOebVuRkeBXVc5K+pSZs5RxgCstJ0X96vXryhjA 28UL5kevoZ+hbpUQzCPvPBsTvLU//de5uEfKL8v2Pftw4t+zytveru+nqFW5 Ajq3aII4pGFwG96EFezK5UohHynmBXLlRMVSxcHeeTYOjCMl3zzV7Ovu3XsI mzCNrv8O2jRphI79h+D6jZsqJ79x555InzolurVuoY7bybiSKX06lC5SCP7x /FCxdAmUKVZEKe2suOclBZ8VODYwmHLk2Al0+XQ4urVpgawZ0qHHkJFkyLDj 2vUbKlWhUJ5cKFe8qCq3RhYUzJsb51jDE3ltCLCx61D4MTQm5X/05Ol4v99A MrZFqnuWIbCiPjBMR4WyGkLr2lGymIYFS6CMA7/O4xB7HaOHamQ4A/qR4syy 74COdzvpaNNCw01S2GfMhroHvp4K0FdfCXvgj5/wfk9xJW6zXk0NX00hAwS1 Y8ror3Qy7AGf9rWBbHN0/xpH+D4b9YUd/YfZ6R42axvvHNzARgNOByiYz2Ed cFSZNF1Hu5ZOo8GSFTrKlwaqhoCMh67tyJ4QEAJCQAgIASEgBISAEHhWBGKV EYDdZ1lIUbVK0fx5lTIx+/flynN/7qIRZn6fvOocLs+e77dqVFVKZ+StW9i9 /xAa0n46igB4v9lbWPTHKtUcK7oftGqG1OTRf++t+rhMycHsSW/f7G0sJcWX ldjvZ89HzZBgVb9w3jzKS16hVDHky5lDKfasYHtrPwVrEw5hz6cvux1J4sSN gz0HDsFOmkUFUry5T2/CY2RPfOoUyZGB3nnb17HAeRIyWJhi9qVDR2D8ANSg MefOnhXFCxVQBoAj5IX3of5rhFRASvLq13mzEnk4bUhMbeTIkhlxKCY6U7p0 qn3ukyVDmtTITRER1vFt+nsnuhAzHkfVCuUoguAoGQCuU6/AW7WqEZcgVKSo Df4sTAMFt8URGSKvF4FLERFoWL0KOHIkGUWkTA4bpCJErJN85svNnnSgTg2N vP0ggxJw+Qrl2S8DKMhGGQL49p6/WFfHOHpgwhgb0qUFmr+t4ew5/uYBaVIZ 77wdj6IByHYWrfj7A1kyATmzO8/jE/iW2rAFyntfsRwQP77RDN8SU77Q8NsM W1RkgNkB27bI/viQcYCn7mBDBkcEsFy9quPz8Toa1KbIGLumxmm2Ie9CQAgI ASEgBISAEBACQuBZEvCucT7LXh+z7Tj0NL+V42wtMpI83TspjL1CyeKk5JLm YBF/fz+1x0qoKcmSJlYh/Lwfj9ozlVw/v3iknBoJwffI5Wcq6RVLF8eM3xbj 4NFjyqCQPKmhzPP8BKxgZ89M2gOJzaEse2tfVXK8mIo7K9T/97/hSpHvOnAE Phg4XHnSrXW9bdt1Vxekn59xre7105BRg4KP3YtJyU8bde3Wg1ZW1nLedlWR jKOcBmEK8zDFj2OxSTjVwGRjHuPJDK2RAWa5vL/KBDSkIE0+/ORp8LwQfN/l zRHkEvnCXni+jciupsL9HzzQlZKt0TevdjUNZSncvkqIhjWLncq3v5/xrTS9 9CZBx+34kAGAQ/z5312sRirzWKe2Gmq8aaQEZC9sB9m3oiRDeg1kE3tIyJ6G j3tpqFMdWEhpCaasWa+jcQMNbHBgmbuIUpb2AMNH6xg3yY4hn+n4fbmzvlFL XoWAEBACQkAICAEhIASEwNMnEKuMABx+v//I0SjFgUPnd+zbj3fq1qJQ9rQU Yn/GiAd2cHIPrWcPPIeqn6HQZBZOGciWOaOjtue3hIGBFHZfAk279EK7po1c FGdWHO6T9mG3P1Ce/Ojav3XrNi5euaLGziH1Zug/z1/AXvMfvxil5i7geQ3+ q3D+/km6dp5TwIx2MNvgfXdhT+zmnbtpZQFDG+IIBpNVmlROpd79PDYl8JwG piSn6IaFf65Wu1eJK7fnT8YUd+EoB6uspdUdiubLYy2S7deAwLqt21G+RFF0 GxSmUmuGfzXJ41VbQ+xZmed8/vMXdKV0U0ALAhyKNJ/s9tVSRoQbNKcA597z sfmLORKAv7mGdPnQjqoNjUgCs8zbe2SkjqqVNYweptHcBMCBw86aHw7Q0bqz Mx2AoxKsGS4HDuk0aadRn8cx6gsdTRs6x8FGgk1/2NCqKRBaUVORDJwCISIE hIAQEAJCQAgIASEgBJ41AcP1/ax7eUrtZ0ibWuUQX7x8GSmSJVMK+buN6iH0 ndZqUjzOa6/CSbYOMb38vMvb7IH/38e9Ufu9jsqrz6kCnSmc3ZNYz61VORiL SNllD6Yp8SgXn8XXEWscQC4+b+1zW61onG917AFOX7hAMc5cdocSoeu27aJS EzhE//2mb6mQfLOP6N6t4+Ox1KtaGaXrN1HtW8/jcblLcvLIjurbE+UbNUeO rJlVn+OHfkpeV03l/ZcsUhBVW7RFMTK6DOn5AeVC36X5BIZSvnSkSpNYSpMQ Du/THZUofYENGvXadcEx8vCOHzoAZkSCdXzWMXAEBadXdGzexH1Ysv8KE8hB 8fb9wsbgnXq1MG/KOPq+nMLi/5uIAItGH+DPxiKnIky3iFLqB/XT0Lg1KHze rkLtP+qpoXVzox7XMcXMpOlIdXO+Ycdb9TQ1kaC1Tvz4PEGf0a55Hr9b65jl w8fQPCAr7UiVUgPZGEFTj0QJ5/BfuOTsnI0AlWobxq5de/Qo5Z5PoKkzcJ6M EmzAMIXscOB/vl7KmqE6umPfrCHvQkAICAEhIASEgBAQAkLg2RDQ9AhazyoW Cc+sf5QUiHpVKkeNmr3sHB5vzkAfdcDLBk+Yd/vuHbCXPybC8wZwGLM3g4F7 G97a53Fyvr2ZDmCexysWsPAkf08inF+dgBKXrQp4dO1x6D8bImLKzVtb3C9P WhiT8a+jKACOTnizfBlvzUn5K0qAJ5Js2rU3wvr2QDZajYI1b55PIqbCQTJ8 izimwYj2NA6AYftcTOpyQxx9UL66jgUzNRdlnG9NziZyLG4RbZ980Ew1iGn9 RzYoFYSAEBACQkAICAEhIASEwFMkcI6csrHOCPAUr/+RTXGIfNj4KVhM65Mt +GZ8jL30j2xYKgiB15QAG8JWbtiE8xQ7z8anBtVC1WSTg0bS6gAjXOe5eN0Q scHi3sVYlaH1un1Ecr1CQAgIASEgBISAEIj1BMQIEIOPkJffYy93TL3rMWhS qggBIfASEeBQfvb2P2Egzkt0RTIUISAEhIAQEAJCQAgIASHgmQAbAWLVnACe L+PZlvJkfyJCQAi8ugTYAx/TtIFXl4JcmRAQAkJACAgBISAEhMDrQkBiT1+X T1quUwgIASEgBISAEBACQkAICAEhIAReewJiBHjtvwICQAgIASEgBISAEBAC QkAICAEhIAReFwJiBHhdPmm5TiEgBISAEBACQkAICAEhIASEgBB47QnEOiMA zyy+99Bhlw/ucPgxzJi/CAeOHHUpf1V3btI6ZLxywX8Rrv/9nN9wg9dZc8jp s+ew+M/V5u5TfX/wwE7LpdE6bTEQXjbw4JHwGNSUKq8DgRWrgN17/9v3+3lz uX4d2LGbZvO/F7Oez5wFDhx6uK638odrAkePAfMX6aDFStSShp7quJfRqoyY Nd+99PH2d+3RcSXCeS5PqPj7ch1zFgB8HaZ4KqefGmzaavzT7R5jbmab8i4E hIAQEAJCQAgIASHw9AjEOiNAymTJkCAwMIrAzn0H0LLnR0iTIjk6fjIEm3bs ijr2Km6wch36ThtE8kLo/1HW0FP4vXv05O4QP5oOPXGihObuU30/RVpBnbad SVl59LJvbMSJYK1K5JUmwIaon+YtRKMO3VGjVXts2LbD4/WmTqkjYQKPh16K wmnf0/gy2FG+up2MatEPiRXijj11pM1lx9vv6WoVAj7DW7m31tiAEFzDjvsP NCz7U0fdZs62vJ3D5Xx7p0/75AaV1et0FCyr4x+HnZXHH1rXjg1bWKHXsYqO s3grX/IHMPorO7b+rWPtBh137qjq8iIEhIAQEAJCQAgIASHwAgjEmtUBeKm+ 6b/MRcLA+KhYqrhCxUrFV9/+hM8H9EWJQgWQNlVKDP5yAop9Hobd9NSchJ6A M6ZLi7PnLyD85GmUKlqIHqIf4JcFv2Prrj2oFVoRFUoWV8v/cfurN25BajIm sMe8VNHCqFDiDayisrpVQtRa5hHXruPPvzZG7Xv6vDy1f4ncZxu2/Y2alSuq vi5evoKd+w8ipExJXLl6DZN/+gXnLlxC+3feRo6smelB+j6Wrl6HOLQ04ZJV a9Gsbk0ULZBPXcdPFPHAa61P+elXtc56kzrVERg/vqehqLIj5Aqc+OPPKFWk EHxshs2HuXH7lyKuokCuHC7nslHlh7kLFOf61d5E3hzZVb9/792PY6f+xcXL l9GpZVMkTZxYefrnLvuDIjP+QarkyfDuW/XovEBwG7N+X4ZrN27QZzYHAf7+ eLtWNcWQowO+nT0fJ/89gwr0OYaWK62u48TpM1FKYYfmjSGrMrh8LK/Ezthp 36nvya8TPlfGoXd7fYy8ObOr7wxfICuGk6brSnENrai5XPPM2TrYg1yjikbf F4BuTfxN9r4kiYHMGQH2NB8J11GmpKYU0R9/0bF+M9CorobKFYymuP0/VpNC nkbDlG91VCgLOqZh+Upd1dOoS/Z0W/ddBuHYyZdbw6VwDaVCH23g4qUH27bU 0Lkt0KQN6P43GvFW7qk/LuPb9ORe4/6tV1NDUBE7rl7TkDSJtzOgPPQXL+ko UdS1zvadABsy2EDQtCGQL48xKL525lw9FMiU0cn/2jUd4yYbvMzxr9+kgz+j j3o663Ev3so16OjXw4bCBVzHIntCQAgIASEgBISAEBACz59ArIkEiEsKcfVK 5XGclEf+N+UBeZqzZkinduORZ/vcxUsUKg9s37MPJ/41YlRZ2V1NXnBWfj8e NRZx48bB4J5dKBR+DVas26DOfXD/AYZ8ORGLKDy+Y4smSgnmiIMpM2eRgn5R 1Vm+dj2uksfa5lCmzTGY797aT5QgEF/+34+IIIWf5bflK0n5v6qU6Made6Jq cFn07dgGXT4dhlNnzuHu3XsImzANt27fQZsmjdCx/xBcJ5djksSJlOHAx8em FOjK5UqBvfne5Apd99ude6BN44YUPREff+/bD43GrtGTfN6cQQgMCMCyNX9F nX7h0iV0HjAMvd9/D41rV6dog9vq2LXrN/ARcStP2kRwyWJoSJ5cjki4cu0a UiZLij4dWqNw3lzoPewzpdxlSp8Opcno4B/PDxVLl0CZYkVUn2zc4OtNnzol urVuoa7PbtfJ2OGLr8mY81bNqlR2G7MXLY0ak2y8GgTYEHeIIj74ezV68nS8 328gblBay+mz56MukL/KZNNC+Ang2Amn93rGLB1/bQJ6ddEwZJQda9Ybx7Zs 13HcUY+VXU4jYOnxsQ5ua/RQDXMX6ipknctZ8e7yoa7KenbWVLQB3Zr43zg9 Kpx9yQqd7lOnss7nuQsbIAL83Us97/M4WPG12VyVZW/lnltxLT3nQObv51ru vleqGJAmFbBomfMIfQxo1NKOAR9qaNlEw81I57jYkMJRC2SPc5GwscDQT2xk iCBV3vGxkD0Qly4DFWvakSrIrgw0fJK3ch0aipS3Q0tsx4gxMYticBmE7AgB ISAEhIAQEAJCQAg8NQKxxgjAimvGtGmQif5NuUOuPfYos/LPkjxpYqRwuMbY k+zr66PKfX18yLMcR4XQr6cQ5Kvk0WdFPICeojkigIUf0tlTzl7uLBnSo3LZ Uko5bd/sbSwlRZnD2r8nD3bNkGBV39MLh+h7ap89+qz8bN29V7Uzb+kKhJQu SQr/WUSQIr334GFljGDjwrFTp8lnppN3PwA1qK/c2bOiOEU5sALN15STIgUC A+Ija6YMapy+0Sxw/i898TerWws5s2VRxoNUlEqhO8LzM6RJjdxUbjVo+PrG ISX8lppbIQXVLVYwn7pMfu6v+2YIRQUEoWyxoirC4hoZQ9KlTqU+k18XLsHR E6eUoYKVhMQUy50jS2bFL1O6dKoOf35Hjp+ED30mNUIqICVFDtR5sxLYoMGR DQO7d1KRHG/VqIpzrF2IvFIELkVEoGH1KthBESXJyH0/OWwQ8pMhiqNFrMIe 6Czk2bfKvEWkvLfTQF9ZjBluiwqpjxcX9B0zavr4aErx5ykvFi01ctdn/8b3 EbBxq1GHbi/6TQB6dgLoNkKVEE3t9+lmI0WZ7jr67n49lb7rNTScOq2j1yc6 hn5m/PcfRt7wSTrdv9aRxXybfoI8irdyj5WpkOcgqNPUjp+n20ABNtEK8wrK ptE97qzGvCjoCPsOAilTGBEV5lFmsmeDhvyOyAAu56gBTs3gSAQ2jpi8+f3g P8CS2TZsXGFD4/fsamzeymtWAa6fonv9rE0ZCn6ew78qIkJACAgBISAEhIAQ EAIvgkCsSQfwBIeV/0wU7s/h9RyGfvb8RZylSABTWPFkcfq6QIpmCoSWL4P7 lBtfskhBFdbOdTiiIHXK5IjvH8C7UVKxdHGVw1yicEGlpCZPmjTqmDnxXYDF Leit/cplSmHE15ORjZR3TlvgXPzzpOxyFEAwhcXfuXMXZd4oQuHSSdVY0tAT uuYycqNbHufd+/fAkQvuwgoVR0xYowPikuHAFFa8reL+GM7pE7MmfEEGifX4 +LMv0YHSE5pSKgJLcvL4szBTHj/LqvWbMJFSGYZQVIVOHv2VGzarcn7htAhP wp+X+blYj/s73JrezrPWle3YSEBTBrrD4ceRnzRK/g6wUYmjZ6ITPsx1Eicy 7mL23FvFcYtTe87SoGxQIe337msgWx4cX11lPMiWhdIJ4lsq02mVg3VUqk2p BCWALJkM5TiSPORtWjjb5C1WcK0KtetRY4+CG5RQkM0TCYfgx42rwc/i7WcW VRvY0b+3hjcKuzbvqT7X4HOswukTO9fZVHREmy66ERHQ1ODBttS8lOpglQHD dZVyMGSUjs3bdLTrquPHKTYVQVA1xIi4SJ+WDH+JSMknew5HFngqt/70dG6r Yf5it4FZO5VtISAEhIAQEAJCQAgIgWdKwOIjeqb9PJPGWZHgHPqNjgnGTpw5 o3LcVegtPf1ylADLZvL2xyEXICvIl8mdxR5/05Pux+5Eh9ismoSjjI0LFUuV QNMuvdCuaaMoBZYVkz4jx6DJB71VaDxXj679DGlTKw//J599gRYN66h22Nu/ mtyUnE/P42HF3/Tse5v4z5+0gnSpUpGSTTNzWYQNEjVadcDUGbOiSv3IAMDh /hy6z9EPuw/S7GIW4cd9q5GA0xDSU/wwpyBMGzkY03+dq87lSAr29rOCfp1c rdsoooENDeEUtdC5ZTMEZcmMWxSVwXMmmJKGjC3uwh7gzTt302RqhqbEKQ6m Emi+u58j+68OgXVbt6uUkm6DwsCpNcO/mvTIi+Nbkr3Z23YYSuPaDU5vNIeY U3CJEp6gjpV0tnmdOUdRPT4ABdGAgl3ou+rsxpMSn4gMDLWrkVGipI6u7Q0l mJV49n5b/7ktU7zYuCjdwI6qDR8OdzfruyvlnsrZkFC4vE5RCU5Fmc/r3FtH i8YaatFYreKpvvW4dZumPgFnT3Vso2HRLzaMGe9caYAn/eNw/Z27nf1O+ULD 4I80NKd+06TWwFETrPRzkNCuvUbLkZE6yP4KtuN5K7euKsATG/K8DiJCQAgI ASEgBISAEBACL4ZArI4EYGQd3mmM+u9/gKk0AR0vnbf0+6lKwa5Ek+7x7PQ/ L1hC3v6EKEYT63FY/leDP1H18+fMoZTZb8eMQIHcORV9P6vbzfJ51KocrOYK YA+mVQKoPufEmxJd+xx2X5smBuRc/8J5cqtTOJy+Z7tWKFm3MeXU58Hew/9g 8f9NIoOFj5pMz2zX+s7tNKZJ9qq1fB/ZM2fCpBEDkShBApXOwAYNNiyYwoaF 8sWLonT9JshMefqco89ym/LuO/YfqnixUWQpTT44vE93JKAJBusSszeI1d97 92HCsIEqXJ/PuRF5E83I4HHo6DEM7tGZQpH9EFyiGBq074rC+fKoNAcrC55v gCMtqrZoS2kF+Sla4ANK10iCUX17onyj5sp4w2kD44d+ys1HGVfct9VBeYn1 BHKQi71f2Bi8U68W5k0Zh2MnT9F3fSKsUTTeLpIn1gupbUfRQjpW/wV82sdQ gquGkNJJM9Z/84OOFMk15clnQ8DMaRqKVrCrif9+matjx1oNBfMb5wT4s4Lr qkRzv/VrAd/NNJRYb+Mwy38jL3adpoainDSzHVO+5KgBo02OMkiXhr/PZm2g 70AdI8ca9X2T6di6ykbX4r2cDRWBgcacBWYrlDGE8WQU2FgQaNVRB93O2PWX TU2M6Km+eZ51HFzG+f5ZC9rRuAEZASgFYvlc20PRDRxBYQqnFJiSh34mM6Yn ZZ/SEArlp/kG6BjzP3tOx8TPjfQEb+W9+tMSpT/ruE52wmqhGn6a6uzDbF/e hYAQEAJCQAgIASEgBJ4PAU2PiDCeTp9Pf0/cy6DPv1Z5+TxbvlUuUGh9ix79 VG45rxTAwp5rnjcgvltsLnud2dPOs9Z7Ck23tsvbi/5YpVYX6Nyqmfshj/v/ tX32wHPOf0wUIo8dPqKQ0wRYKbfm/0d3ym1ixt5/Myrh4JFw/Emh/7x6Aa+i YE034CiDm7cio2Z4j65d85i3z8U8Lu+vJgFeqaJp194I69sD2TJmUJoyz/Ph Lv0G6aSUa6D5JKOEPeZkuwLP9cm5/n27G0qkWe5pgQyeH8BTeVSjlo35i2j5 u3CaL4AmDHyV5PflOg6QAaF7R9frYpY8PwL/P4lwFAIbIdztp57KuYwjGmL6 mTzJuORcISAEhIAQEAJCQAgIAc8EztGDYKwxAnBYe58Ro9Ukd+y950ny3IWV abtud1FS3ev8l31W5sPGT8HilWux4JvxasK7/3L+q1KXlwBk/t3btHxVLkmu 4wUR4EkgV27YpObDYONcg2qhyjg1aCQwcMRjzrr3gq5Fun0yAmzIGfGpq3Hi yVqUs4WAEBACQkAICAEhIAQeRSBWGQHY48x58J6U/0dd6JMcZ8835/rHJGLg SfqRc4XA606AvfoUEKNm+Y+OBdd5Ug+2tX0KfHlkn9b6sWWbvf3uHvrYMnYZ pxAQAkJACAgBISAEhMCzIRCrjADPBoG0KgSEgBAQAkJACAgBISAEhIAQEAJC 4PUgwEaAWL06wOvxMclVCgEhIASEgBAQAkJACAgBISAEhIAQeDoExAjwdDhK K0JACAgBISAEhIAQEAJCQAgIASEgBF56AmIEeOk/IhmgEBACQkAICAEhIASE gBAQAkJACAiBp0Mg1hsBTp89h15DR2HIlxNwg9cEewzhJet27T+Irbv2gJcx i6lERt5SS/vFtL57PV6K75uf54AnPXxawisafD/nN8WCt6f89Cs+Gvm5mpH9 afUh7QiBZ0lgxSpg996Xe+VSXu9+x27g3r2YkThDSxseOPRwXW/lD9cEjh4D eClDWqwE9hj+ZPDP2az5nlr772W79ui4EmGcx5Mprt+k4+c5OrbtcLblrZzP 48+V6/N1iAgBISAEhIAQEAJCQAi8OAKx3giQOkUK9O/aAf/Q0+69ezRt+GPI HXpybdt3APYdPoK+pDB3+XRYjBTzNn36g5fPe1x5QMaH31fRE/1TljWbtioW vKJBs7o1UatyRezYe+Ap9yLNCYH/RoCNUj/NW4hGHbqjRqv22GDVHi1NpU6p I2ECS8FLtjntexpfBjvKV7eTsS36wfFKBh176kiby46339Ppd8Wo763cW2ts QAiuwSukaFj2p466zZxteTuHyxMlBNKnfXKDyup1OgqW1fHPUaO3k6eBRcuA +AFA/2E6vp5i9OGtfM1fOvbu1xEnjobQunZs/Tu6UcsxISAEhIAQEAJCQAgI gWdJwPdZNv60216zaQvmLFmBgrlzokWDuvDxsan/hIGBpDQEPtSde/3LERFY TW2cOH0GZYoVwRJyqTWpXR3p0qRC3hxBeKdeLTSvXxvdB4fhz/UbEVquNCnP +5WifpPWN69VuQJKFCoAXjbwx7kLcfLMORrPcqzdsh216VjGdGk91n9oYJaC RDTuVRs3Y9Efq5TCXrRAPrCytISMA+u371DLE7ZsWBcZ06ZRUQdLV6+jB+k4 6jgr+FyfhSMYJv74M0oVKQQfm9O2ExDgj6SJE1l6NDYPHgnH1JmzSElIgI7N G1OdxA/VkQIh8DQJjJ32HVIlT4ZfJ3xOnmw73u31MfLmzA6+f1nYizxpuq4U 19CKruvHz5ytg24z1KiiKcWzxBvA37uAJPS1zZwRoIAgHAnXUaakppYZ/PEX Hes3A43qaqBbUwm3/8dqUsjTaJjyrY4KZUHHNCxfqat6ZDNTnm7rvnGm62u+ 3BouhWsoFfpodzwr/W1baujcFmjSBrTUqNGWt3LXnpx7uXIAJ/ca93W9mhqC ithx9ZqGpEmcddy35iwALl7SUaKo65HtOwE2ZLCBoGlDIF8eY1DsrWfO1UOB TBmd/K9d0zFussHLHH/2rMCw/kadQvl1hNTR0f49Dd7K69Rwtgeaj3bhUh1v FLaWuY5R9oSAEBACQkAICAEhIASeHQGntvjs+ngqLc9dugIL/1iNIT0/QKIE CTBo7NfRtuup/uWIq1i+dj2KF8xPKQSfoW6VEMxb/qdqJ/LWLVK++SFdQ3DJ Yti574BSxk/+ewaNyVDQvXULhI2fgkMUyxqXlPDK5UohCSnQRfLlRfWK5ZA0 USKv9b0NlJX1oydPkTcxEm2aNELH/kNwnVyLbGS4dShZnjcAAAoaSURBVOcu Pmj1jjJMtOjWF7fICHH37j2ETZiGW7fvuNS/Qtf1duceaNO4IRIExsff+/ZD sxgC3Ptng0GbPgPQo01LMl5URP12XZ8orcG9fdkXAu4Ezp6/gEPhx9S9NHry dLzfbyBuREbi9NnzUVXjxQPqVAfCTwDHTji91zNm6fhrE9Cri4Yho+xYs944 tmW7juOOeqzscrg5S4+PdXBbo4dqmLtQx+/LjfqseHf5UFdlPTtrKtqAbYf/ G6eDw/JZlqzQQbdTlLJulLq+sgGCbGsxEh5H4QKk9tpcFV5v5TFp9JwDmb9f 9LVLFQPIvqk89mZN+hjQqKUdAz7U0LKJhpuRznGxIYWjFshG6iJhY4Ghn9iQ K4emfiPNg2aI/+BRQNhANsgaR7yVhx+nsZDyP/Ebioqo5+zXbE/ehYAQEAJC QAgIASEgBJ4PgVhhBGDP+Iq1G5CEXFcLVqzExStXwCHv3nLpo6tfOG8e8vpn RwV6Qs6XMwe279mn2rGZLi7ifv/+A/jRUzobBN4MLoudNF/AUvLMs/HhyrVr qjxDmtRIlSI50qdOiawZMyCQlG9v9b19lA/IGxovblzUCAlGbnKhFacog/sU J8x9l+NIBfL6b6C4WRtFPPD8ATr9BVL8rXv9f+nJvlndWsiZLQtCypREqmTJ oEeTNLxt914EZclE8wRsxh6KM757/x6uXL3mbZhSLgSemMAlisJpWL2KipRJ Ru77yWGDkD9nEK7duOHSNnugs5Bn3yrzFpHy3k4D3XIYM9wWFVIfLy4oKsao 6eOjKcWfpwVhRZMV0dm/8f0CbNxq1GG7mC/FPvXsBGTNDFQJ0dR+n242UpTp 7iJbwddTgbrktT51WkevT3QM/cz455D3cZP0GOfiW8fP26aCHNNy93rmPs9B UKepHT9Pt8H/EYYI5hWUTSMDhHm2wevCJWDfQSBlCoANGqYwkz0bNOR3RAZw OUcNcGoGRyKwccTkzcc4pYGNNZu2Ubmv02jjrfzGDR1sCNhPqQ38OYgIASEg BISAEBACQkAIvBgCseZRjBXsqqSQc/g66cKo+2aISgXwhs1TfVZ0b9++rRTp 7JkzqVNN5d/OGoBD2IjAwgp53bZd0PXdd1CMwu7PXqSnZ4vcJE+mVR5VnycS ZOEQfVPS0JO4Rn9WYa9pnbadMWHoAGVo+J2MAaZ4qs/H4pIxwZSUFHIdnfBE iHVCK6Fwvty4T/MolCVNgBUzESHw7AhoSEGx64dJC8xPGiXfn5yCY95r3vrl W5HrJE5k3CPuWT+m7c5853aCskGFtN+7r6FsKSBZUqN1jgTIloXSCeK73m+V g3VUqk2pBCUAso0p5TiSPORtWriOihVgq0LtetTYM38SAgI8HY15GYfgx42r wc/i7WcWVRvY0b+3RqH0rm15qs81+Byr8G2+c51NRUe06aIbEQFNDR4cnZCX Uh2sMmC4rlIOhozSsXmbjnZddfw4xaYYkw2UGNG8I42AQuXsCAnWlGHCW3n+ vGRgyAuVhjGY2vt+kmtf1n5lWwgIASEgBISAEBACQuDZEbD4iJ5dJ0+j5YTk 0rtI7j32umfNlAH+1qdj6uDCpcvKW272FV19fjC+Ty41u/0BrMo/n8sK+Lj/ +xFVgsuosHxW7EPLlQEr35t27IKvQwtgJaZ8iWIqbN/sk8P4vdVnRabPyDFo 8kFvlwgGTkNwF/aa1qsSiiL0xMzh/UdOnIyq4qm+HxkAlq35S7V79dp17D5I rjaLsNIfQREMpiQnZYyjAXieAWaZNGFCpZSZx+VdCDwLAuu2bqd7pii6DQpT aTnDv5r0yG5YuWdv9rYdhjZLAUFR3midjGfHHbfGhi1GOdvCzpzTlOed89Mp OIYia5zdeFLiE5GBoXY1MkqU1NG1vaGYshLP3m/rP7dlChsUPEmXD+2o2vDh SfvM+u5KuadyNiQULk+T7U11avB8XufeOlo01lCLxmoVT/Wtx63b9BOFDOko 7L+NhkW/2DBmvHOlAZ70T0tsx87dzn6nfKFh8EcamlO/aVJr4KiJ9Gl5rgEj EoDb5owO9v6zd99b+YWLzlGcOAX6/Xbuy5YQEAJCQAgIASEgBITA8yUQK4wA rHD369QO036erWYWL9ewOTjn3xQ+zpPbVacZx7sNGkHKve61fjx2d5H4OuJa AyimlnPzL5GB4Y2aDZUH/vMBfShcPjPl/fqjEoXXV23RFk269MK/5y64KMul ihTEhyP+h2ot38eeg4cfWT+ADBcpTbekGgXnFjujAhxFyJI+PdaTwlSvXRe0 pdx9q3iqz4p8+eJFUbp+E7T/eBD847k+YWdJnw5n6Smcr4/HWZnco5yGwPs8 S3u/z8YqZtZ+ZFsIPE0COcjFzhNx8v03b8o4mkMjIRb/30SVBvOoftTEeqQA v9XKjr4D7VEKZNUQoGtfHW/Ws9N8ALoq59t65jQNRSvoePtdMhOQUnvwsFOp DfB3blv7rV/LSBEomM9a6nn7t8WUZpDOjkP/AEkz2zH1O2ebHGWQLo3rnAJ9 B+rIXdwOXmLPN5k9akk9b+VsqAgMNOYsMEdAty3Gk1HgS0pJ4GvKkNcetVyf p/rmeWxEsQrn+8dJbkeT1jqKh9gxeaxrugDX5QgKUzilgCde5P88OYGM6UmB p5+sdRuNdooG25G1oB3TvrIp44y38iGUVsHjThVkx/vdOQLB7EHehYAQEAJC QAgIASEgBJ43AU2PiHA+wT7v3h+jPw7BZwXWN4ZJpf+1vqch8WR9/uROjGmf /7W+pz65jNvhOQDYyBET4fzqQHJh2jy5Oz004Ck9wUM1KRICT4UAT0jZtGtv hPXtgWwU0UNfbBWN4t54v0E66tfSQNNiRAl7zCmTB/+eNXL9+3Y37gmzPD7l /rsLzw/gqdy9Hu/PX0TL34XTfAE0YeCrJDwp4gEyIHTv6HpdzJJ/QmP4M+oR CbO/eVNHggSU0GRp3ls5r87AEQMx/Uw8diqFQkAICAEhIASEgBAQAk9E4Bw9 CMY6I8ATXbGcLASEwAslwKtcrNywCecpfSc+GawaVAtVRqtBI4GBI+wvdGzS +fMlwIacEZ9arAfPt3vpTQgIASEgBISAEBACryUBMQK8lh+7XLQQeDkJsAeZ PcWOjB2vgzTzz71W+I8H2EP9qD7/Y5MvRXX29rtNnfJSjEsGIQSEgBAQAkJA CAgBIfDiCLARgAJCRYSAEBACL54AL6PnbSk96+ieJITd2o65/SoaAPjaxABg fsLyLgSEgBAQAkJACAgBIWAlECsmBrQOWLaFgBAQAkJACAgBISAEhIAQEAJC QAgIgccjIEaAx+MmZwkBISAEhIAQEAJCQAgIASEgBISAEIh1BMQIEOs+Mhmw EBACQkAICAEhIASEgBAQAkJACAiBxyPgizO0cLSIEBACQkAICAEhIASEgBAQ AkJACAgBIfBqE0iSBP8PWUK4wBpj0dAAAAAASUVORK5CYII= --001a114246164b2187052ffcf863-- --001a114246164b2189052ffcf864 Content-Type: application/octet-stream; name="grant_wizard_v9.patch" Content-Disposition: attachment; filename="grant_wizard_v9.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ims0ovrs0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2Nzcy93 aXphcmQuY3NzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvY3NzL3dp emFyZC5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u MGJlNDhkYwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc3RhdGljL2Nzcy93aXphcmQuY3NzCkBAIC0wLDAgKzEsMTQzIEBACisv KiogQ1NTIGZvciBXaXphcmQgKiovCisucGdhZG1pbl9ncmFudF93aXphcmRf Ym9keSAuYWpzLWNvbnRlbnQgeworICBwYWRkaW5nLXRvcDogMHB4ICFpbXBv cnRhbnQ7Cit9CisKKy53aXphcmQtaGVhZGVyIHsKKyAgYmFja2dyb3VuZDog IzQyOGJjYTsKKyAgcGFkZGluZy1sZWZ0OiAxNXB4OworICBwYWRkaW5nLWJv dHRvbTogN3B4OworICBjb2xvcjogI2ZmZjsKKyAgZm9udC1zaXplOiAxOHB4 OworICBoZWlnaHQ6IDc2cHg7CisgIGxpbmUtaGVpZ2h0OiA3NnB4OworICBi b3JkZXItcmFkaXVzOiA2cHggNnB4IDAgMDsKK30KKworLndpemFyZC1oZWFk ZXIgaDMgeworICBmb250LXNpemU6IDE4cHg7CisgIGRpc3BsYXk6IGlubGlu ZS1ibG9jazsKK30KKworLndpemFyZF9kbGcgeworICBmbG9hdDogbGVmdDsK KyAgaGVpZ2h0OiAxMDAlOworICB3aWR0aDogMTAwJTsKK30KKworLmdyYW50 X3dpemFyZF9jb250YWluZXIgeworICBwb3NpdGlvbjogcmVsYXRpdmU7Cisg IG92ZXJmbG93OiBoaWRkZW47CisgIHdpZHRoOiAxMDAlOworICBoZWlnaHQ6 IDEwMCU7Cit9CisKKy5ncmFudF93aXphcmRfY29udGFpbmVyIC5wZ2FkbWlu LXdpemFyZCB7CisgIHdpZHRoOiAxMDAlOworICBoZWlnaHQ6IDEwMCU7Cit9 CisKKy5ncmFudF93aXphcmRfY29udGFpbmVyIC53aXphcmQtY29udGVudCB7 CisgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgcGFkZGluZzogMDsKKyAgaGVp Z2h0OiA3OCU7Cit9CisKKy5ncmFudF93aXphcmRfY29udGFpbmVyIC53aXph cmQtcmlnaHQtcGFuZWwgeworICBvdmVyZmxvdy15OiBhdXRvOworICBoZWln aHQ6IDEwMCU7CisgIHRvcDogMDsKKyAgcmlnaHQ6IDA7CisgIHBvc2l0aW9u OiBhYnNvbHV0ZTsKKyAgYm90dG9tOiAwOworfQorCisuZ3JhbnRfd2l6YXJk X2NvbnRhaW5lciAud2l6YXJkLWxlZnQtcGFuZWwgeworICBwb3NpdGlvbjog YWJzb2x1dGU7CisgIHRvcDogMDsKKyAgZGlzcGxheTogZmxleDsKKyAgYm90 dG9tOiAwOworICBsZWZ0OiAwOworICBhbGlnbi1pdGVtczogY2VudGVyOwor ICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKKyAgcmlnaHQ6IDA7Cit9CisK Ky5ncmFudF93aXphcmRfY29udGFpbmVyIC53aXphcmQtbGVmdC1wYW5lbCBp bWcgeworICB3aWR0aDogMTQwcHg7Cit9CisKKy5ncmFudF93aXphcmRfY29u dGFpbmVyIC53aXphcmQtcmlnaHQtcGFuZWxfY29udGVudCB7CisgIGhlaWdo dDogNjAlOworfQorCisuZ3JhbnRfd2l6YXJkX2NvbnRhaW5lciB7CisgIGhl aWdodDogMTAwJTsKK30KKworLyogV2l6YXJkIEZvb3RlciBDU1MgKi8KKy5n cmFudF93aXphcmRfY29udGFpbmVyIC5mb290ZXIgeworICBwb3NpdGlvbjog YWJzb2x1dGU7CisgIGJhY2tncm91bmQ6ICNmZmY7CisgIGJvcmRlci10b3A6 IDFweCBzb2xpZCAjY2NjOworICBib3R0b206IDBweDsKKyAgaGVpZ2h0OiA2 MnB4OworICByaWdodDogMHB4OworICBwYWRkaW5nLXRvcDogMjJweDsKKyAg Ym9yZGVyLXJhZGl1czogMCAwIDZweCA2cHg7CisgIHotaW5kZXg6IDEwOwor fQorCisvKiBXaXphcmQgQnV0dG9uIENTUyAqLworLmdyYW50X3dpemFyZF9j b250YWluZXIgLndpemFyZC1idXR0b25zIHsKKyAgZmxvYXQ6IHJpZ2h0Owor fQorCisuZ3JhbnRfd2l6YXJkX2NvbnRhaW5lciAud2l6YXJkLWJ1dHRvbnMg YnV0dG9uIHsKKyAgZmxvYXQ6IGxlZnQ7CisgIHBhZGRpbmc6IDdweCAxNS4y cHg7CisgIGZvbnQtc2l6ZTogMTRweDsKKyAgbWFyZ2luOiAwcHggNXB4IDAg MCAhaW1wb3J0YW50OworfQorCisuZ3JhbnRfd2l6YXJkX2NvbnRhaW5lciAu d2l6YXJkLWJ1dHRvbnMgYnV0dG9uLndpemFyZC1uZXh0IGkuZmEgeworICBw YWRkaW5nLWxlZnQ6IDVweDsKK30KKworLmdyYW50X3dpemFyZF9jb250YWlu ZXIgLndpemFyZC1idXR0b25zIGJ1dHRvbi53aXphcmQtYmFjayBpLmZhLAor LmdyYW50X3dpemFyZF9jb250YWluZXIgLndpemFyZC1idXR0b25zIGJ1dHRv bi53aXphcmQtY2FuY2VsIGkuZmEgeworICBwYWRkaW5nLXJpZ2h0OiA1cHg7 Cit9CisKKy5ncmFudF93aXphcmRfY29udGFpbmVyIC53aXphcmQtYnV0dG9u cyAud2l6YXJkLWZpbmlzaCB7CisgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0 YW50OworfQorCisvKiBXaXphcmQgU3RhdHVzIGJhciBDU1MgKi8KKy5ncmFu dF93aXphcmRfY29udGFpbmVyIC53aXphcmQtZGVzY3JpcHRpb24geworICBw YWRkaW5nOiAxLjdlbSAwLjFlbTsKK30KKworLyogRXJyb3IgbWVzc2FnZSBj c3MgKi8KKy5ncmFudF93aXphcmRfY29udGFpbmVyIC5lcnJvcl9tc2dfZGl2 IHsKKyAgZGlzcGxheTogYmxvY2s7CisgIHBvc2l0aW9uOiBhYnNvbHV0ZTsK KyAgYm90dG9tOiA1NXB4OworICBiYWNrZ3JvdW5kOiAjZmZmOworfQorCisu Z3JhbnRfd2l6YXJkX2NvbnRhaW5lciAuZXJyb3JfbXNnX2RpdiBwIHsKKyAg YmFja2dyb3VuZDogI2ZmZjsKKyAgY29sb3I6ICNiOTJjMjg7Cit9CisKKy8q IEluIHdpemFyZCBzZWxlY3QyIGRyb3Bkb3duIGRvZXNuJ3QKKyAqIHBvcHVw IGJlY2F1c2Ugei1pbmRleCBvZiBhbGVydGlmeQorICogd2l6YXJkIGlzIGdy ZWF0ZXIgdGhhbiB0aGUgei1pbmRleAorICogb2Ygc2VsZWN0MiBkcm9wZG93 bi4gVG8gbWFrZSBzZWxlY3QyCisgKiB2aXNpYmxlLCBzZXQgei1pbmRleCBv ZiBzZWxlY3QyCisgKiBoaWdoZXIgdmFsdWUgdGhhbiB3aXphcmQncworICov Cisuc2VsZWN0Mi1jb250YWluZXItLW9wZW4geworICB6LWluZGV4OiAxMDAw MDsKK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGlj L2pzL25vZGUudWkuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9q cy9ub2RlLnVpLmpzCmluZGV4IDRkNjllMWYuLmRlM2Y1NzcgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGljL2pzL25vZGUudWkuanMK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zdGF0aWMvanMvbm9kZS51aS5q cwpAQCAtMjc5LDcgKzI3OSw4IEBAIGZ1bmN0aW9uKCQsIF8sIHBnQWRtaW4s IEJhY2tib25lLCBCYWNrZm9ybSwgQWxlcnRpZnksIE5vZGUpIHsKICAgICAg ICAgcmV0dXJuIGZhbHNlOwogICAgICAgfTsKIAotICAgICAgd2hpbGUocCkg eworICAgICAgLy8gY2hlY2sgaWYgcCBpcyBub3QgZW1wdHkKKyAgICAgIHdo aWxlKHAgJiYgcC5sZW5ndGggPiAwKSB7CiAgICAgICAgIHRvcCA9IHAuZ2V0 KDApLm9mZnNldFRvcCArIHAuaGVpZ2h0KCk7CiAgICAgICAgIHAgPSBwLnBh cmVudCgpOwogICAgICAgICBpZiAoaGFzU2Nyb2xsYmFyKHApKSB7CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy93aXphcmQu anMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3N0YXRpYy9qcy93aXphcmQuanMK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzgzYTMxMgot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc3RhdGlj L2pzL3dpemFyZC5qcwpAQCAtMCwwICsxLDIzMyBAQAorZGVmaW5lKAorICAg IFsndW5kZXJzY29yZScsICdiYWNrYm9uZScsICdwZ2FkbWluJywgJ3BnYWRt aW4uYnJvd3NlciddLAorZnVuY3Rpb24oXywgQmFja2JvbmUsIHBnQWRtaW4s IHBnQnJvd3NlcikgeworCisgIHBnQnJvd3NlciA9IHBnQnJvd3NlciB8fCBw Z0FkbWluLkJyb3dzZXIgfHwge307CisKKyAgLyogV2l6YXJkIGluZGl2aWR1 YWwgUGFnZSBNb2RlbCAqLworICB2YXIgV2l6YXJkUGFnZSA9IHBnQnJvd3Nl ci5XaXphcmRQYWdlID0gQmFja2JvbmUuTW9kZWwuZXh0ZW5kKHsKKyAgICBk ZWZhdWx0czogeworICAgICAgaWQ6IHVuZGVmaW5lZCwgLyogSWQgKi8KKyAg ICAgIHBhZ2VfdGl0bGU6IHVuZGVmaW5lZCwgLyogUGFnZSBUaXRsZSAqLwor ICAgICAgdmlldzogdW5kZWZpbmVkLCAvKiBBIEJhY2tib25lIFZpZXcgKi8K KyAgICAgIGh0bWw6IHVuZGVmaW5lZCwgLyogSFRNTCB0YWdzIHRvIGJlIHJl bmRlcmVkICovCisgICAgICBpbWFnZTogdW5kZWZpbmVkLCAvKiBMZWZ0IGhh bmQgc2lkZSBpbWFnZSAqLworICAgICAgZGlzYWJsZV9wcmV2OiBmYWxzZSwg LyogIFByZXZpb3VzIEJ1dHRvbiBGbGFnICovCisgICAgICBkaXNhYmxlX25l eHQ6IGZhbHNlLCAvKiAgTmV4dCBCdXR0b24gRmxhZyAqLworICAgICAgZGlz YWJsZV9jYW5jZWw6IGZhbHNlLCAvKiBDYW5jZWwgQnV0dG9uIEZsYWcgKi8K KyAgICAgIHNob3dfcHJvZ3Jlc3NfYmFyOiAnJywKKyAgICAgIC8qIENhbGxi YWNrIGZvciBPbkxvYWQgKi8KKyAgICAgIG9uTG9hZDogZnVuY3Rpb24oKSB7 CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgfSwKKyAgICAgIC8qIENh bGxiYWNrIGZvciBiZWZvcmUgTmV4dCAqLworICAgICAgYmVmb3JlTmV4dDog ZnVuY3Rpb24oKSB7CisgICAgICAgIHJldHVybiB0cnVlOworICAgICAgfSwK KyAgICAgIG9uTmV4dDogZnVuY3Rpb24oKXt9LAorICAgICAgb25CZWZvcmU6 IGZ1bmN0aW9uKCkge30sCisgICAgICAvKiBDYWxsYmFjayBmb3IgYmVmb3Jl IFByZXZpb3VzICovCisgICAgICBiZWZvcmVQcmV2OiBmdW5jdGlvbigpIHsK KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICB9CisgICAgfQorICB9KTsK KworICB2YXIgV2l6YXJkID0gcGdCcm93c2VyLldpemFyZCA9IEJhY2tib25l LlZpZXcuZXh0ZW5kKHsKKyAgICBvcHRpb25zOiB7CisgICAgICB0aXRsZTog J1dpemFyZCcsIC8qIE1haW4gV2l6YXJkIFRpdGxlICovCisgICAgICBpbWFn ZTogJ2xlZnRfcGFuZWwucG5nJywgLyogVE9ETzo6IFdlIGNhbiB1c2UgZGVm YXVsdCBpbWFnZSBoZXJlICovCisgICAgICBjdXJyX3BhZ2U6IDAsIC8qIEN1 cnJlbnQgUGFnZSB0byBMb2FkICovCisgICAgICBkaXNhYmxlX25leHQ6IGZh bHNlLAorICAgICAgZGlzYWJsZV9wcmV2OiBmYWxzZSwKKyAgICAgIGRpc2Fi bGVfZmluaXNoOiBmYWxzZSwKKyAgICAgIGRpc2FibGVfY2FuY2VsOiBmYWxz ZSwKKyAgICAgIGhlaWdodDogNDAwLAorICAgICAgd2lkdGg6IDY1MCwKKyAg ICAgIHNob3dfbGVmdF9wYW5lbDogdHJ1ZQorICAgIH0sCisgICAgdG1wbDog Xy50ZW1wbGF0ZSgKKyAgICAgICAiICAgIDxkaXYgY2xhc3M9J3BnYWRtaW4t d2l6YXJkJyBzdHlsZT0naGVpZ2h0OiA8JT0gdGhpcy5vcHRpb25zLmhlaWdo dCAlPnB4OyIKKyAgICAgICArICIgICAgd2lkdGg6IDwlPSB0aGlzLm9wdGlv bnMud2lkdGggJT5weCc+IgorICAgICAgICsgIiAgICAgIDxkaXYgY2xhc3M9 J3dpemFyZC1oZWFkZXIgd2l6YXJkLWJhZGdlJz4iCisgICAgICAgKyAiICAg ICAgICA8ZGl2IGNsYXNzPSdyb3cnPiIKKyAgICAgICArICIgICAgICAgICAg PGRpdiBjbGFzcz0nY29sLXNtLTknPiIKKyAgICAgICArICIgICAgICAgICAg ICAgIDxoMz48c3BhbiBpZD0nbWFpbi10aXRsZSc+PCU9IHRoaXMub3B0aW9u cy50aXRsZSAlPjwvc3Bhbj4gLSIKKyAgICAgICArICIgICAgICAgICAgICAg IDxzcGFuIGlkPSdzdGVwLXRpdGxlJz48JT0gcGFnZV90aXRsZSAlPjwvc3Bh bj48L2gzPiIKKyAgICAgICArICIgICAgICAgICAgPC9kaXY+IgorICAgICAg ICsgIiAgICAgICAgPC9kaXY+IgorICAgICAgICsgIiAgICAgIDwvZGl2PiIK KyAgICAgICArICIgICAgICA8ZGl2IGNsYXNzPSd3aXphcmQtY29udGVudCBj b2wtc20tMTInPiIKKyAgICAgICArICIgICAgICAgIDwlIGlmKHRoaXMub3B0 aW9ucy5zaG93X2xlZnRfcGFuZWwpIHsgJT4iCisgICAgICAgKyAiICAgICAg ICAgIDxkaXYgY2xhc3M9J2NvbC1zbS0zIHdpemFyZC1sZWZ0LXBhbmVsJz4i CisgICAgICAgKyAiICAgICAgICAgICAgICA8aW1nIHNyYz0nPCU9IHRoaXMu b3B0aW9ucy5pbWFnZSAlPic+PC9kaXY+IgorICAgICAgICsgIiAgICAgICAg PCUgfSAlPiIKKyAgICAgICArICIgICAgICAgIDxkaXYgY2xhc3M9J2NvbC1z bS08JSBpZih0aGlzLm9wdGlvbnMuc2hvd19sZWZ0X3BhbmVsKXsgJT45PCUg fSIKKyAgICAgICArICIgICAgICAgICAgZWxzZSB7ICU+MTI8JSB9ICU+IHdp emFyZC1yaWdodC1wYW5lbCc+IgorICAgICAgICsgIiAgICAgICAgICA8JSBp ZiggdHlwZW9mIHNob3dfZGVzY3JpcHRpb24gIT0gICd1bmRlZmluZWQnKXsg JT4iCisgICAgICAgKyAiICAgICAgICAgICAgPGRpdiBjbGFzcz0nd2l6YXJk LWRlc2NyaXB0aW9uJz4iCisgICAgICAgKyAiICAgICAgICAgICAgICA8JT0g c2hvd19kZXNjcmlwdGlvbiAlPiIKKyAgICAgICArICIgICAgICAgICAgICA8 L2Rpdj4iCisgICAgICAgKyAiICAgICAgICAgIDwlIH0gJT4iCisgICAgICAg KyAiICAgICAgICAgIDxkaXYgY2xhc3M9J3dpemFyZC1yaWdodC1wYW5lbF9j b250ZW50Jz4iCisgICAgICAgKyAiICAgICAgICAgIDwvZGl2PiIKKyAgICAg ICArICIgICAgICAgIDwvZGl2PiIKKyAgICAgICArICIgICAgICA8L2Rpdj4i CisgICAgICAgKyAiICAgICAgPGRpdiBjbGFzcz0nY29sLXNtLTEyIGVycm9y X21zZ19kaXYnPiIKKyAgICAgICArICIgICAgICAgPHA+PC9wPiIKKyAgICAg ICArICIgICAgICA8L2Rpdj4iCisgICAgICAgKyAiICAgICAgPGRpdiBjbGFz cz0nZm9vdGVyIGNvbC1zbS0xMic+IgorICAgICAgICsgIiAgICAgICAgPGRp diBjbGFzcz0ncm93Jz4iCisgICAgICAgKyAiICAgICAgICAgIDxkaXYgY2xh c3M9J2NvbC1zbS00IHdpemFyZC1wcm9ncmVzcy1iYXInPiIKKyAgICAgICAr ICIgICAgICAgICAgICAgPHA+PCUgaWYoc2hvd19wcm9ncmVzc19iYXIpeyAl PjwlPSBzaG93X3Byb2dyZXNzX2JhciAlPjwlIH0gJT48L3A+IgorICAgICAg ICsgIiAgICAgICAgICA8L2Rpdj4iCisgICAgICAgKyAiICAgICAgICAgIDxk aXYgY2xhc3M9J2NvbC1zbS04Jz4iCisgICAgICAgKyAiICAgICAgICAgICAg PGRpdiBjbGFzcz0nd2l6YXJkLWJ1dHRvbnMnPiIKKyAgICAgICArICIgICAg ICAgICAgICAgIDxidXR0b24gY2xhc3M9J2J0biBidG4tcHJpbWFyeSB3aXph cmQtYmFjaycgPCU9dGhpcy5vcHRpb25zLmRpc2FibGVfcHJldiA/ICdkaXNh YmxlZCcgOiAnJyU+PiIKKyAgICAgICArICIgICAgICAgICAgICAgICAgPGkg Y2xhc3M9J2ZhIGZhLWJhY2t3YXJkJz48L2k+QmFjazwvYnV0dG9uPiIKKyAg ICAgICArICIgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9J2J0biBidG4t cHJpbWFyeSB3aXphcmQtbmV4dCcgPCU9dGhpcy5vcHRpb25zLmRpc2FibGVf bmV4dCA/ICdkaXNhYmxlZCcgOiAnJyU+Pk5leHQiCisgICAgICAgKyAiICAg ICAgICAgICAgICAgIDxpIGNsYXNzPSdmYSBmYS1mb3J3YXJkJz48L2k+PC9i dXR0b24+IgorICAgICAgICsgIiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFz cz0nYnRuIGJ0bi1kYW5nZXIgd2l6YXJkLWNhbmNlbCcgPCU9dGhpcy5vcHRp b25zLmRpc2FibGVfY2FuY2VsID8gJ2Rpc2FibGVkJyA6ICcnJT4+IgorICAg ICAgICsgIiAgICAgICAgICAgICAgICA8aSBjbGFzcz0nZmEgZmEtbGcgZmEt Y2xvc2UnPjwvaT5DYW5jZWw8L2J1dHRvbj4iCisgICAgICAgKyAiICAgICAg ICAgICAgICA8YnV0dG9uIGNsYXNzPSdidG4gYnRuLXByaW1hcnkgd2l6YXJk LWZpbmlzaCcgPCU9dGhpcy5vcHRpb25zLmRpc2FibGVfZmluaXNoID8gJ2Rp c2FibGVkJyA6ICcnJT4+IgorICAgICAgICsgIiAgICAgICAgICAgICAgICBG aW5pc2g8L2J1dHRvbj4iCisgICAgICAgKyAiICAgICAgICAgICAgPC9kaXY+ IgorICAgICAgICsgIiAgICAgICAgICA8L2Rpdj4iCisgICAgICAgKyAiICAg ICAgICA8L2Rpdj4iCisgICAgICAgKyAiICAgICAgPC9kaXY+IgorICAgICAg ICsgIiAgICA8L2Rpdj4iKSwKKyAgICBldmVudHM6IHsKKyAgICAgICJjbGlj ayBidXR0b24ud2l6YXJkLW5leHQiIDogIm5leHRQYWdlIiwKKyAgICAgICJj bGljayBidXR0b24ud2l6YXJkLWJhY2siIDogInByZXZQYWdlIiwKKyAgICAg ICJjbGljayBidXR0b24ud2l6YXJkLWNhbmNlbCIgOiAib25DYW5jZWwiLAor ICAgICAgImNsaWNrIGJ1dHRvbi53aXphcmQtZmluaXNoIiA6ICJmaW5pc2hX aXphcmQiLAorICAgIH0sCisgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24ob3B0 aW9ucykgeworICAgICAgdGhpcy5vcHRpb25zID0gXy5leHRlbmQoe30sIHRo aXMub3B0aW9ucywgb3B0aW9ucy5vcHRpb25zKTsKKyAgICAgIHRoaXMuY3Vy clBhZ2UgPSB0aGlzLmNvbGxlY3Rpb24uYXQodGhpcy5vcHRpb25zLmN1cnJf cGFnZSkudG9KU09OKCk7CisgICAgfSwKKyAgICByZW5kZXI6IGZ1bmN0aW9u KCkgeworICAgICAgdmFyIGRhdGEgPSB0aGlzLmN1cnJQYWdlOworCisgICAg ICAvKiBDaGVjayBTdGF0dXMgb2YgdGhlIGJ1dHRvbnMgKi8KKyAgICAgIHRo aXMub3B0aW9ucy5kaXNhYmxlX25leHQgPSAodGhpcy5vcHRpb25zLmRpc2Fi bGVfbmV4dCA/IHRydWUgOiB0aGlzLmV2YWxBU0Z1bmModGhpcy5jdXJyUGFn ZS5kaXNhYmxlX25leHQpKTsKKyAgICAgIHRoaXMub3B0aW9ucy5kaXNhYmxl X3ByZXYgPSAodGhpcy5vcHRpb25zLmRpc2FibGVfcHJldiA/IHRydWUgOiB0 aGlzLmV2YWxBU0Z1bmModGhpcy5jdXJyUGFnZS5kaXNhYmxlX3ByZXYpKTsK KyAgICAgIHRoaXMub3B0aW9ucy5kaXNhYmxlX2NhbmNlbCA9ICh0aGlzLmN1 cnJQYWdlLmNhbkNhbmNlbCA/IHRydWUgOiB0aGlzLmV2YWxBU0Z1bmModGhp cy5jdXJyUGFnZS5kaXNhYmxlX2NhbmNlbCkpOworCisgICAgICB0aGF0ID0g dGhpczsKKworICAgICAgLyogSFRNTCBDb250ZW50ICovCisgICAgICBpZiAo ZGF0YS5odG1sKSB7IGRhdGEuY29udGVudCA9IGRhdGEuaHRtbDsgfQorICAg ICAgLyogQmFja2JvbmUgVmlldyAqLworICAgICAgZWxzZSBpZiAoZGF0YS52 aWV3KSB7IGRhdGEuY29udGVudCA9IGRhdGEudmlldy5yZW5kZXIoKS5lbDt9 CisKKyAgICAgICQodGhpcy5lbCkuaHRtbCh0aGlzLnRtcGwoZGF0YSkpOwor ICAgICAgJCh0aGlzLmVsKS5maW5kKCIud2l6YXJkLXJpZ2h0LXBhbmVsX2Nv bnRlbnQiKS5odG1sKGRhdGEuY29udGVudCk7CisKKyAgICAgIC8qIE9uTG9h ZCBDYWxsYmFjayAqLworICAgICAgdGhpcy5vbkxvYWQoKTsKKworICAgICAg cmV0dXJuIHRoaXM7CisgICAgfSwKKyAgICBuZXh0UGFnZTogZnVuY3Rpb24o KSB7CisgICAgICB0aGlzLm9wdGlvbnMuY3Vycl9wYWdlLmVsID0gdGhpcy4k ZWw7CisgICAgICBpZiAoIXRoaXMuYmVmb3JlTmV4dCgpKSB7IHJldHVybiBm YWxzZTsgfQorCisgICAgICBwYWdlX2lkID0gdGhpcy5vbk5leHQoKTsKKwor ICAgICAgaWYgKHBhZ2VfaWQgKSB7CisgICAgICAgIHRoaXMuY3VyclBhZ2Ug PSB0aGlzLmNvbGxlY3Rpb24uZ2V0KHBhZ2VfaWQpLnRvSlNPTigpOworICAg ICAgICB0aGlzLm9wdGlvbnMuY3Vycl9wYWdlID0gdGhpcy5jb2xsZWN0aW9u LmluZGV4T2YodGhpcy5jb2xsZWN0aW9uLmdldChwYWdlX2lkKSk7CisgICAg ICB9CisgICAgICBlbHNlIGlmICh0aGlzLm9wdGlvbnMuY3Vycl9wYWdlIDwg KHRoaXMuY29sbGVjdGlvbi5sZW5ndGgtMSkpIHsKKyAgICAgICAgdGhpcy5v cHRpb25zLmN1cnJfcGFnZSA9IHRoaXMub3B0aW9ucy5jdXJyX3BhZ2UgKyAx OworICAgICAgICB0aGlzLmN1cnJQYWdlID0gdGhpcy5jb2xsZWN0aW9uLmF0 KHRoaXMub3B0aW9ucy5jdXJyX3BhZ2UpLnRvSlNPTigpOworICAgICAgfQor CisgICAgICB0aGlzLmVuYWJsZURpc2FibGVOZXh0KCk7CisgICAgICB0aGlz LmVuYWJsZURpc2FibGVQcmV2KCk7CisKKyAgICAgIHJldHVybiB0aGlzLnJl bmRlcigpOworICAgIH0sCisgICAgcHJldlBhZ2U6IGZ1bmN0aW9uKCkgewor ICAgICAgaWYgKCF0aGlzLmJlZm9yZVByZXYoKSkgeyByZXR1cm4gZmFsc2U7 IH0KKworICAgICAgcGFnZV9pZCA9IHRoaXMub25QcmV2KCk7CisKKyAgICAg IGlmIChwYWdlX2lkKXsKKyAgICAgICAgdGhpcy5jdXJyUGFnZSA9IHRoaXMu Y29sbGVjdGlvbi5nZXQocGFnZV9pZCkudG9KU09OKCk7CisgICAgICAgIHRo aXMub3B0aW9ucy5jdXJyX3BhZ2UgPSB0aGlzLmNvbGxlY3Rpb24uaW5kZXhP Zih0aGlzLmNvbGxlY3Rpb24uZ2V0KHBhZ2VfaWQpKTsKKyAgICAgIH0KKyAg ICAgIGVsc2UgaWYgKHRoaXMub3B0aW9ucy5jdXJyX3BhZ2UgPiAwKSB7Cisg ICAgICAgIHRoaXMub3B0aW9ucy5jdXJyX3BhZ2UgPSB0aGlzLm9wdGlvbnMu Y3Vycl9wYWdlIC0gMTsKKyAgICAgICAgdGhpcy5jdXJyUGFnZSA9IHRoaXMu Y29sbGVjdGlvbi5hdCh0aGlzLm9wdGlvbnMuY3Vycl9wYWdlKS50b0pTT04o KTsKKyAgICAgIH0KKworICAgICAgdGhpcy5lbmFibGVEaXNhYmxlTmV4dCgp OworICAgICAgdGhpcy5lbmFibGVEaXNhYmxlUHJldigpOworCisgICAgICBy ZXR1cm4gdGhpcy5yZW5kZXIoKTsKKyAgICB9LAorICAgIGZpbmlzaFdpemFy ZDogZnVuY3Rpb24oKSB7CisgICAgICB0aGlzLm9uRmluaXNoKCk7CisgICAg ICB0aGlzLnJlbW92ZSgpOyAvLyBSZW1vdmUgdmlldyBmcm9tIERPTQorICAg ICAgdGhpcy51bmJpbmQoKTsgLy8gVW5iaW5kIGFsbCBsb2NhbCBldmVudCBi aW5kaW5ncworICAgICAgZGVsZXRlIHRoaXMuJGVsOyAvLyBEZWxldGUgdGhl IGpRdWVyeSB3cmFwcGVkIG9iamVjdCB2YXJpYWJsZQorICAgICAgZGVsZXRl IHRoaXMuZWw7IC8vIERlbGV0ZSB0aGUgdmFyaWFibGUgcmVmZXJlbmNlIHRv IHRoaXMgbm9kZQorICAgICAgcmV0dXJuIHRydWU7CisgICAgfSwKKyAgICBl bmFibGVEaXNhYmxlTmV4dDogZnVuY3Rpb24oZGlzYWJsZSkgeworICAgICAg ICBpZiAodHlwZW9mKGRpc2FibGUpICE9ICd1bmRlZmluZWQnKSB7CisgICAg ICAgICAgdGhpcy5vcHRpb25zLmRpc2FibGVfbmV4dCA9IGRpc2FibGU7Cisg ICAgICAgIH0KKyAgICAgICAgZWxzZSBpZiAodGhpcy5vcHRpb25zLmN1cnJf cGFnZSA+PSAodGhpcy5jb2xsZWN0aW9uLmxlbmd0aC0xKSkgeworICAgICAg ICAgIHRoaXMub3B0aW9ucy5kaXNhYmxlX25leHQgPSB0cnVlOworICAgICAg ICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgIHRoaXMub3B0aW9ucy5k aXNhYmxlX25leHQgPSBmYWxzZTsKKyAgICAgICAgfQorICAgIH0sCisgICAg ZW5hYmxlRGlzYWJsZVByZXY6IGZ1bmN0aW9uKGRpc2FibGUpIHsKKyAgICAg ICAgaWYgKHR5cGVvZihkaXNhYmxlKSAhPSAndW5kZWZpbmVkJykgeworICAg ICAgICAgIHRoaXMub3B0aW9ucy5kaXNhYmxlX3ByZXYgPSBkaXNhYmxlOwor ICAgICAgICB9CisgICAgICAgIGVsc2UgaWYgKHRoaXMub3B0aW9ucy5jdXJy X3BhZ2UgPD0gMCkgeworICAgICAgICAgIHRoaXMub3B0aW9ucy5kaXNhYmxl X3ByZXYgPSB0cnVlOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAg ICAgICAgIHRoaXMub3B0aW9ucy5kaXNhYmxlX3ByZXYgPSBmYWxzZTsKKyAg ICAgICAgfQorICAgIH0sCisgICAgYmVmb3JlTmV4dDogZnVuY3Rpb24oKXsK KyAgICAgIHJldHVybiB0aGlzLmV2YWxBU0Z1bmModGhpcy5jdXJyUGFnZS5i ZWZvcmVOZXh0KTsKKyAgICB9LAorICAgIGJlZm9yZVByZXY6IGZ1bmN0aW9u KCl7CisgICAgICByZXR1cm4gdGhpcy5ldmFsQVNGdW5jKHRoaXMuY3VyclBh Z2UuYmVmb3JlUHJldik7CisgICAgfSwKKyAgICBvblByZXY6IGZ1bmN0aW9u KCl7CisgICAgICByZXR1cm4gdGhpcy5ldmFsQVNGdW5jKHRoaXMuY3VyclBh Z2Uub25QcmV2KTsKKyAgICB9LAorICAgIG9uTmV4dDogZnVuY3Rpb24oKXsK KyAgICAgIHJldHVybiB0aGlzLmV2YWxBU0Z1bmModGhpcy5jdXJyUGFnZS5v bk5leHQpOworICAgIH0sCisgICAgb25Mb2FkOiBmdW5jdGlvbigpIHsKKyAg ICAgIHJldHVybiB0aGlzLmV2YWxBU0Z1bmModGhpcy5jdXJyUGFnZS5vbkxv YWQpOworICAgIH0sCisgICAgb25GaW5pc2g6IGZ1bmN0aW9uKCkgeworICAg ICAgcmV0dXJuIHRydWU7CisgICAgfSwKKyAgICBvbkNhbmNlbDogZnVuY3Rp b24oKSB7CisgICAgICB0aGlzLiRlbC5yZW1vdmUoKTsKKyAgICAgIHJldHVy biB0cnVlOworICAgIH0sCisgICAgZXZhbEFTRnVuYzogZnVuY3Rpb24oZnVu YywgY3R4KSB7CisgICAgICB2YXIgc2VsZiA9IHRoaXM7CisgICAgICBjdHgg PSBjdHggfHwgc2VsZi5jdXJyUGFnZTsKKworICAgICAgcmV0dXJuIChfLmlz RnVuY3Rpb24oZnVuYykgPyBmdW5jLmFwcGx5KGN0eCwgW3NlbGZdKSA6IGZ1 bmMpOworICAgIH0KKyAgfSk7CisKKyAgcmV0dXJuIHBnQnJvd3NlcjsKKwor fSk7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvY3NzL292ZXJy aWRlcy5jc3MgYi93ZWIvcGdhZG1pbi9zdGF0aWMvY3NzL292ZXJyaWRlcy5j c3MKaW5kZXggMmZjYWFlMi4uZjFkZTZhNSAxMDA3NTUKLS0tIGEvd2ViL3Bn YWRtaW4vc3RhdGljL2Nzcy9vdmVycmlkZXMuY3NzCisrKyBiL3dlYi9wZ2Fk bWluL3N0YXRpYy9jc3Mvb3ZlcnJpZGVzLmNzcwpAQCAtNDUsNiArNDUsMTAg QEAgYm9keSB7CiAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1h Z2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQW9BQUFB S0NBWUFBQUNOTXMrOUFBQUFDWEJJV1hNQUFBcnJBQUFLNndHQ2l3MWFBQUFB VkVsRVFWUVkwNVdRdVEwQU1RZ0VCOGxOMEg5dmRobmo0QjdaSndmY0pranNJ bUJDcGFJR01NWVFJRE5qTmJlK1N1OWQxYnNlZTV5TTArQWJYTVBma0hyZFdO S3YxWlZuMm9KaXc1T1o4ZUFCaUNyd0NXOFF3UklvZjVxQUFBQUFBRWxGVGtT dVFtQ0MpICFpbXBvcnRhbnQ7CiB9CiAKKy5hbGVydGlmeSAuYWpzLW1vZGFs IHsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworfQorCiAvKiBpRnJhbWVzIHNo b3VsZCBoYXZlIG5vIGJvcmRlciAqLwogaWZyYW1lIHsKICAgICBib3JkZXIt d2lkdGg6IDA7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9ncmFu dF93aXphcmQvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi90b29scy9ncmFu dF93aXphcmQvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZjUzYjk3OQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC9fX2luaXRfXy5weQpAQCAtMCww ICsxLDQ2MSBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMK KyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmln aHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBU ZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBv c3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKKworIiIiSW1wbGVtZW50cyBHcmFudCBXaXphcmQiIiIKKworaW1w b3J0IHNpbXBsZWpzb24gYXMganNvbgorZnJvbSBmbGFzayBpbXBvcnQgcmVu ZGVyX3RlbXBsYXRlLCByZXF1ZXN0LCBjdXJyZW50X2FwcAorZnJvbSBmbGFz ay5leHQuYmFiZWwgaW1wb3J0IGdldHRleHQKK2Zyb20gcGdhZG1pbi51dGls cy5hamF4IGltcG9ydCBtYWtlX3Jlc3BvbnNlIGFzIGFqYXhfcmVzcG9uc2Us IFwKKyAgICBtYWtlX2pzb25fcmVzcG9uc2UsIGludGVybmFsX3NlcnZlcl9l cnJvcgorZnJvbSBwZ2FkbWluLnV0aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2Ry aXZlcgorZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJVkVSCitm cm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMudXRp bHMgaW1wb3J0IHBhcnNlX3ByaXZfdG9fZGIKK2Zyb20gcGdhZG1pbi51dGls cyBpbXBvcnQgUGdBZG1pbk1vZHVsZQorZnJvbSBmbGFzayBpbXBvcnQgUmVz cG9uc2UsIHVybF9mb3IKK2Zyb20gZmxhc2suZXh0LnNlY3VyaXR5IGltcG9y dCBsb2dpbl9yZXF1aXJlZAorZnJvbSB1cmxsaWIgaW1wb3J0IHVucXVvdGUK K2Zyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBwcmVjb25kaXRpb25f cmVxdWlyZWQKK2Zyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcworZnJvbSBw Z2FkbWluLnV0aWxzLnByZWZlcmVuY2VzIGltcG9ydCBQcmVmZXJlbmNlcwor CisjIHNldCB0ZW1wbGF0ZSBwYXRoIGZvciBzcWwgc2NyaXB0cworTU9EVUxF X05BTUUgPSAnZ3JhbnRfd2l6YXJkJworc2VydmVyX2luZm8gPSB7fQorCisK K2NsYXNzIEdyYW50V2l6YXJkTW9kdWxlKFBnQWRtaW5Nb2R1bGUpOgorICAg ICIiIgorICAgIGNsYXNzIEdyYW50V2l6YXJkTW9kdWxlKE9iamVjdCk6CisK KyAgICAgICAgSXQgaXMgYSB3aXphcmQgd2hpY2ggaW5oZXJpdHMgUGdBZG1p bk1vZHVsZQorICAgICAgICBjbGFzcyBhbmQgZGVmaW5lIG1ldGhvZHMgdG8g bG9hZCBpdHMgb3duCisgICAgICAgIGphdmFzY3JpcHQgZmlsZS4KKworICAg IExBQkVMID0gZ2V0dGV4dCgnQnJvd3NlcicpCisgICAgIiIiCisgICAgZGVm IGdldF9vd25fc3R5bGVzaGVldHMoc2VsZik6CisgICAgICAgICIiIgorICAg ICAgICBSZXR1cm5zOgorICAgICAgICAgICAgbGlzdDogdGhlIHN0eWxlc2hl ZXRzIHVzZWQgYnkgdGhpcyBtb2R1bGUuCisgICAgICAgICIiIgorICAgICAg ICBzdHlsZXNoZWV0cyA9IFsKKyAgICAgICAgICAgIHVybF9mb3IoJ2Jyb3dz ZXIuc3RhdGljJywgZmlsZW5hbWU9J2Nzcy93aXphcmQuY3NzJyksCisgICAg ICAgICAgICB1cmxfZm9yKCdncmFudF93aXphcmQuc3RhdGljJywgZmlsZW5h bWU9J2Nzcy9ncmFudF93aXphcmQuY3NzJykKKyAgICAgICAgICAgIF0KKyAg ICAgICAgcmV0dXJuIHN0eWxlc2hlZXRzCisKKyAgICBkZWYgZ2V0X293bl9q YXZhc2NyaXB0cyhzZWxmKToKKyAgICAgICAgIiIiIgorICAgICAgICBSZXR1 cm5zOgorICAgICAgICAgICAgbGlzdDoganMgZmlsZXMgdXNlZCBieSB0aGlz IG1vZHVsZQorICAgICAgICAiIiIKKyAgICAgICAgc2NyaXB0cyA9IFtdCisg ICAgICAgIHNjcmlwdHMuYXBwZW5kKHsKKyAgICAgICAgICAgICduYW1lJzog J3BnYWRtaW4udG9vbHMuZ3JhbnRfd2l6YXJkJywKKyAgICAgICAgICAgICdw YXRoJzogdXJsX2ZvcignZ3JhbnRfd2l6YXJkLmluZGV4JykgKyAnZ3JhbnRf d2l6YXJkJywKKyAgICAgICAgICAgICd3aGVuJzogTm9uZQorICAgICAgICB9 KQorICAgICAgICBzY3JpcHRzLmFwcGVuZCh7CisgICAgICAgICAgICAnbmFt ZSc6ICdwZ2FkbWluLmJyb3dzZXIud2l6YXJkJywKKyAgICAgICAgICAgICdw YXRoJzogdXJsX2ZvcignYnJvd3Nlci5zdGF0aWMnLCBmaWxlbmFtZT0nanMv d2l6YXJkJyksCisgICAgICAgICAgICAnd2hlbic6IE5vbmUKKyAgICAgICAg fSkKKyAgICAgICAgcmV0dXJuIHNjcmlwdHMKKworICAgIGRlZiBzaG93X3N5 c3RlbV9vYmplY3RzKHNlbGYpOgorICAgICAgICAiIiIKKyAgICAgICAgcmV0 dXJuIHN5c3RlbSBwcmVmZXJlbmNlIG9iamVjdHMKKyAgICAgICAgIiIiCisg ICAgICAgIHJldHVybiBzZWxmLnByZWZfc2hvd19zeXN0ZW1fb2JqZWN0cwor CisgICAgZGVmIHJlZ2lzdGVyX3ByZWZlcmVuY2VzKHNlbGYpOgorICAgICAg ICAiIiIKKyAgICAgICAgR2V0IHNob3dfc3lzdGVtX29iamVjdHMgcHJlZmVy ZW5jZQorICAgICAgICAiIiIKKyAgICAgICAgc2VsZi5icm93c2VyX3ByZWZl cmVuY2UgPSBQcmVmZXJlbmNlcy5tb2R1bGUoJ2Jyb3dzZXInKQorICAgICAg ICBzZWxmLnByZWZfc2hvd19zeXN0ZW1fb2JqZWN0cyA9IHNlbGYuYnJvd3Nl cl9wcmVmZXJlbmNlLnByZWZlcmVuY2UoCisgICAgICAgICAgICAgICAgJ3No b3dfc3lzdGVtX29iamVjdHMnCisgICAgICAgICAgICAgICAgKQorCisjIENy ZWF0ZSBibHVlcHJpbnQgZm9yIEdyYW50V2l6YXJkTW9kdWxlIGNsYXNzCiti bHVlcHJpbnQgPSBHcmFudFdpemFyZE1vZHVsZSgKKyAgICBNT0RVTEVfTkFN RSwgX19uYW1lX18sIHN0YXRpY191cmxfcGF0aD0nJykKKworCitkZWYgY2hl Y2tfcHJlY29uZGl0aW9uKGYpOgorICAgICIiIgorICAgIFRoaXMgZnVuY3Rp b24gd2lsbCBiZWhhdmUgYXMgYSBkZWNvcmF0b3Igd2hpY2ggd2lsbCBjaGVj a3MKKyAgICBkYXRhYmFzZSBjb25uZWN0aW9uIGJlZm9yZSBydW5uaW5nIHZp ZXcsIGl0IHdpbGwgYWxzbyBhdHRhY2hlcworICAgIG1hbmFnZXIsY29ubiAm IHRlbXBsYXRlX3BhdGggcHJvcGVydGllcyB0byBpbnN0YW5jZSBvZiB0aGUg bWV0aG9kLgorCisgICAgQXNzdW1wdGlvbnM6CisgICAgICAgIFRoaXMgZnVu Y3Rpb24gd2lsbCBhbHdheXMgYmUgdXNlZCBhcyBkZWNvcmF0b3Igb2YgYSBj bGFzcyBtZXRob2QuCisgICAgIiIiCisgICAgQHdyYXBzKGYpCisgICAgZGVm IHdyYXAoKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgIyBIZXJlIGFyZ3Nb MF0gd2lsbCBob2xkIHNlbGYgJiBrd2FyZ3Mgd2lsbCBob2xkIGdpZCxzaWQs ZGlkCisKKyAgICAgICAgc2VydmVyX2luZm8uY2xlYXIoKQorICAgICAgICBz ZXJ2ZXJfaW5mb1snbWFuYWdlciddID0gZ2V0X2RyaXZlcigKKyAgICAgICAg ICAgIFBHX0RFRkFVTFRfRFJJVkVSKS5jb25uZWN0aW9uX21hbmFnZXIoCisg ICAgICAgICAgICAgICAga3dhcmdzWydzaWQnXQorICAgICAgICApCisgICAg ICAgIHNlcnZlcl9pbmZvWydjb25uJ10gPSBzZXJ2ZXJfaW5mb1snbWFuYWdl ciddLmNvbm5lY3Rpb24oCisgICAgICAgICAgICBkaWQ9a3dhcmdzWydkaWQn XQorICAgICAgICApCisgICAgICAgICMgSWYgREIgbm90IGNvbm5lY3RlZCB0 aGVuIHJldHVybiBlcnJvciB0byBicm93c2VyCisgICAgICAgIGlmIG5vdCBz ZXJ2ZXJfaW5mb1snY29ubiddLmNvbm5lY3RlZCgpOgorICAgICAgICAgICAg cmV0dXJuIHByZWNvbmRpdGlvbl9yZXF1aXJlZCgKKyAgICAgICAgICAgICAg ICBnZXR0ZXh0KCJDb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIgaGFzIGJlZW4g bG9zdCEiKQorICAgICAgICAgICAgKQorCisgICAgICAgICMgU2V0IHRlbXBs YXRlIHBhdGggZm9yIHNxbCBzY3JpcHRzCisgICAgICAgIHNlcnZlcl9pbmZv WydzZXJ2ZXJfdHlwZSddID0gc2VydmVyX2luZm9bJ21hbmFnZXInXS5zZXJ2 ZXJfdHlwZQorICAgICAgICBzZXJ2ZXJfaW5mb1sndmVyc2lvbiddID0gc2Vy dmVyX2luZm9bJ21hbmFnZXInXS52ZXJzaW9uCisgICAgICAgIGlmIHNlcnZl cl9pbmZvWydzZXJ2ZXJfdHlwZSddID09ICdwZyc6CisgICAgICAgICAgICBz ZXJ2ZXJfaW5mb1sndGVtcGxhdGVfcGF0aCddID0gJ2dyYW50X3dpemFyZC9w Zy85LjFfcGx1cycKKyAgICAgICAgZWxpZiBzZXJ2ZXJfaW5mb1snc2VydmVy X3R5cGUnXSA9PSAncHBhcyc6CisgICAgICAgICAgICBzZXJ2ZXJfaW5mb1sn dGVtcGxhdGVfcGF0aCddID0gJ2dyYW50X3dpemFyZC9wcGFzLzkuMV9wbHVz JworCisgICAgICAgIHJldHVybiBmKCphcmdzLCAqKmt3YXJncykKKworICAg IHJldHVybiB3cmFwCisKKworQGJsdWVwcmludC5yb3V0ZSgiLyIpCitAbG9n aW5fcmVxdWlyZWQKK2RlZiBpbmRleCgpOgorICAgIHBhc3MKKworCitAYmx1 ZXByaW50LnJvdXRlKCIvZ3JhbnRfd2l6YXJkLmpzIikKK0Bsb2dpbl9yZXF1 aXJlZAorZGVmIHNjcmlwdCgpOgorICAgICIiInJlbmRlciBvd24gamF2YXNj cmlwdCIiIgorICAgIHJldHVybiBSZXNwb25zZShyZXNwb25zZT1yZW5kZXJf dGVtcGxhdGUoCisgICAgICAgICAgICAgICAgImdyYW50X3dpemFyZC9qcy9n cmFudF93aXphcmQuanMiLCBfPWdldHRleHQpLAorICAgICAgICAgICAgICAg IHN0YXR1cz0yMDAsCisgICAgICAgICAgICAgICAgbWltZXR5cGU9ImFwcGxp Y2F0aW9uL2phdmFzY3JpcHQiKQorCisKK0BibHVlcHJpbnQucm91dGUoCisg ICAgJy9hY2wvPGludDpnaWQ+LzxpbnQ6c2lkPi88aW50OmRpZD4vJywgbWV0 aG9kcz0oJ0dFVCcsICdQT1NUJykpCitAbG9naW5fcmVxdWlyZWQKK0BjaGVj a19wcmVjb25kaXRpb24KK2RlZiBhY2xfbGlzdChnaWQsIHNpZCwgZGlkKToK KyAgICAiIiJyZW5kZXIgbGlzdCBvZiBhY2xzIiIiCisgICAgc2VydmVyX3By b3AgPSBzZXJ2ZXJfaW5mbworICAgIHJldHVybiBSZXNwb25zZShyZXNwb25z ZT1yZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAgICAgc2VydmVyX3By b3BbJ3RlbXBsYXRlX3BhdGgnXSsiL2FjbC5qc29uIiwgXz1nZXR0ZXh0KSwK KyAgICAgICAgICAgICAgICBzdGF0dXM9MjAwLAorICAgICAgICAgICAgICAg IG1pbWV0eXBlPSJhcHBsaWNhdGlvbi9qc29uIikKKworCitAYmx1ZXByaW50 LnJvdXRlKAorICAgICcvcHJvcGVydGllcy88aW50OmdpZD4vPGludDpzaWQ+ LzxpbnQ6ZGlkPicKKyAgICAnLzxpbnQ6bm9kZV9pZD4vPG5vZGVfdHlwZT4v JywKKyAgICBtZXRob2RzPSgnR0VUJywgJ1BPU1QnKSkKK0Bsb2dpbl9yZXF1 aXJlZAorQGNoZWNrX3ByZWNvbmRpdGlvbgorZGVmIHByb3BlcnRpZXMoZ2lk LCBzaWQsIGRpZCwgbm9kZV9pZCwgbm9kZV90eXBlKToKKyAgICAiIiJJdCBm ZXRjaGVzIHRoZSBwcm9wZXJ0aWVzIG9mIG9iamVjdCB0eXBlcworICAgICAg IGFuZCByZW5kZXIgaW50byBzZWxlY3Rpb24gcGFnZSBvZiB3aXphcmQKKyAg ICAiIiIKKworICAgICMgdW5xdW90ZSBlbmNvZGVkIHVybCBwYXJhbWV0ZXIK KyAgICBub2RlX3R5cGUgPSB1bnF1b3RlKG5vZGVfdHlwZSkKKworICAgIHNl cnZlcl9wcm9wID0gc2VydmVyX2luZm8KKworICAgIHJlc19kYXRhID0gW10K KyAgICBtYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUiku Y29ubmVjdGlvbl9tYW5hZ2VyKHNpZCkKKyAgICBjb25uID0gbWFuYWdlci5j b25uZWN0aW9uKGRpZD1kaWQpCisKKyAgICBub2RlX3R5cGVzID0gW10KKyAg ICBuc3BuYW1lID0gJycKKyAgICBzaG93X3N5c29iaiA9IGJsdWVwcmludC5z aG93X3N5c3RlbV9vYmplY3RzKCkuZ2V0KCkKKyAgICBpZiBub2RlX3R5cGUg PT0gJ2RhdGFiYXNlJzoKKworICAgICAgICAjIEZldGNoIGxpc3Qgb2Ygc2No ZW1hcworICAgICAgICAjIEdldCBzeXNfb2JqX3ZhbHVlcyBhbmQgZ2V0IGxp c3Qgb2Ygc2NoZW1hcworICAgICAgICBudHlwZSA9ICdzY2hlbWEnCisgICAg ICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbigKKyAgICAgICAg ICAgIFtzZXJ2ZXJfcHJvcFsndGVtcGxhdGVfcGF0aCddLCAnL3NxbC9nZXRf c2NoZW1hcy5zcWwnXSksCisgICAgICAgICAgICBzaG93X3N5c29iaj1zaG93 X3N5c29iaikKKyAgICAgICAgc3RhdHVzLCByZXMgPSBjb25uLmV4ZWN1dGVf ZGljdChTUUwpCisKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAg ICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVz KQorICAgICAgICBub2RlX3R5cGVzID0gcmVzWydyb3dzJ10KKyAgICBlbHNl OgorICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oCisg ICAgICAgICAgICBbc2VydmVyX3Byb3BbJ3RlbXBsYXRlX3BhdGgnXSwgJy9z cWwvZ2V0X3NjaGVtYXMuc3FsJ10pLAorICAgICAgICAgICAgICBuc3BpZD1u b2RlX2lkLCBzaG93X3N5c29iaj1GYWxzZSkKKyAgICAgICAgc3RhdHVzLCBy ZXMgPSBjb25uLmV4ZWN1dGVfZGljdChTUUwpCisKKyAgICAgICAgaWYgbm90 IHN0YXR1czoKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJf ZXJyb3IoZXJyb3Jtc2c9cmVzKQorICAgICAgICBub2RlX3R5cGVzID0gcmVz Wydyb3dzJ10KKyAgICAgICAgbnR5cGUgPSBub2RlX3R5cGUKKyAgICAgICAg bnNwbmFtZSA9IG5vZGVfdHlwZXNbMF1bJ25hbWUnXQorCisgICAgZm9yIHJv dyBpbiBub2RlX3R5cGVzOgorICAgICAgICBpZiAnb2lkJyBpbiByb3c6Cisg ICAgICAgICAgICBub2RlX2lkID0gcm93WydvaWQnXQorICAgICAgICAgICAg bnNwbmFtZSA9IHJvd1snbmFtZSddCisKKyAgICAgICAgIyBGZXRjaCBmdW5j dGlvbnMgYWdhaW5zdCBzY2hlbWEKKyAgICAgICAgaWYgbnR5cGUgaW4gWydz Y2hlbWEnLCAnZnVuY3Rpb24nXToKKyAgICAgICAgICAgIFNRTCA9IHJlbmRl cl90ZW1wbGF0ZSgiLyIuam9pbigKKyAgICAgICAgICAgICAgICBbc2VydmVy X3Byb3BbJ3RlbXBsYXRlX3BhdGgnXSwgJy9zcWwvZnVuY3Rpb24uc3FsJ10p LAorICAgICAgICAgICAgICAgIG5vZGVfaWQ9bm9kZV9pZCwgbnNwbmFtZT1u c3BuYW1lLCB0eXBlPSdmdW5jdGlvbicpCisKKyAgICAgICAgICAgIHN0YXR1 cywgcmVzID0gY29ubi5leGVjdXRlX2RpY3QoU1FMKQorCisgICAgICAgICAg ICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgIHJldHVybiBpbnRl cm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisgICAgICAgICAg ICByZXNfZGF0YS5leHRlbmQocmVzWydyb3dzJ10pCisKKyAgICAgICAgIyBG ZXRjaCB0cmlnZ2VyIGZ1bmN0aW9ucworICAgICAgICBpZiBudHlwZSBpbiBb J3NjaGVtYScsICd0cmlnZ2VyX2Z1bmN0aW9uJ106CisgICAgICAgICAgICBT UUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oCisgICAgICAgICAgICAg ICAgW3NlcnZlcl9wcm9wWyd0ZW1wbGF0ZV9wYXRoJ10sICcvc3FsL2Z1bmN0 aW9uLnNxbCddKSwKKyAgICAgICAgICAgICAgICBub2RlX2lkPW5vZGVfaWQs IG5zcG5hbWU9bnNwbmFtZSwgdHlwZT0ndHJpZ2dlcl9mdW5jdGlvbicpCisg ICAgICAgICAgICBzdGF0dXMsIHJlcyA9IGNvbm4uZXhlY3V0ZV9kaWN0KFNR TCkKKworICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAg ICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJl cykKKworICAgICAgICAgICAgcmVzX2RhdGEuZXh0ZW5kKHJlc1sncm93cydd KQorCisgICAgICAgICMgRmV0Y2ggU2VxdWVuY2VzIGFnYWluc3Qgc2NoZW1h CisgICAgICAgIGlmIG50eXBlIGluIFsnc2NoZW1hJywgJ3NlcXVlbmNlJ106 CisgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o CisgICAgICAgICAgICAgICAgW3NlcnZlcl9wcm9wWyd0ZW1wbGF0ZV9wYXRo J10sICcvc3FsL3NlcXVlbmNlLnNxbCddKSwKKyAgICAgICAgICAgICAgICBu b2RlX2lkPW5vZGVfaWQsIG5zcG5hbWU9bnNwbmFtZSkKKworICAgICAgICAg ICAgc3RhdHVzLCByZXMgPSBjb25uLmV4ZWN1dGVfZGljdChTUUwpCisgICAg ICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgIHJldHVy biBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorICAgICAg ICAgICAgcmVzX2RhdGEuZXh0ZW5kKHJlc1sncm93cyddKQorCisgICAgICAg ICMgRmV0Y2ggVGFibGVzIGFnYWluc3Qgc2NoZW1hCisgICAgICAgIGlmIG50 eXBlIGluIFsnc2NoZW1hJywgJ3RhYmxlJ106CisgICAgICAgICAgICBTUUwg PSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oCisgICAgICAgICAgICAgICAg W3NlcnZlcl9wcm9wWyd0ZW1wbGF0ZV9wYXRoJ10sICcvc3FsL3RhYmxlLnNx bCddKSwKKyAgICAgICAgICAgICAgICBub2RlX2lkPW5vZGVfaWQsIG5zcG5h bWU9bnNwbmFtZSkKKworICAgICAgICAgICAgc3RhdHVzLCByZXMgPSBjb25u LmV4ZWN1dGVfZGljdChTUUwpCisgICAgICAgICAgICBpZiBub3Qgc3RhdHVz OgorICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJy b3IoZXJyb3Jtc2c9cmVzKQorCisgICAgICAgICAgICByZXNfZGF0YS5leHRl bmQocmVzWydyb3dzJ10pCisKKyAgICAgICAgIyBGZXRjaCBWaWV3cyBhZ2Fp bnN0IHNjaGVtYQorICAgICAgICBpZiBudHlwZSBpbiBbJ3NjaGVtYScsICd2 aWV3J106CisgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8i LmpvaW4oCisgICAgICAgICAgICAgICAgW3NlcnZlcl9wcm9wWyd0ZW1wbGF0 ZV9wYXRoJ10sICcvc3FsL3ZpZXcuc3FsJ10pLAorICAgICAgICAgICAgICAg IG5vZGVfaWQ9bm9kZV9pZCwgbnNwbmFtZT1uc3BuYW1lKQorCisgICAgICAg ICAgICBzdGF0dXMsIHJlcyA9IGNvbm4uZXhlY3V0ZV9kaWN0KFNRTCkKKyAg ICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAgcmV0 dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisKKyAg ICAgICAgICAgIHJlc19kYXRhLmV4dGVuZChyZXNbJ3Jvd3MnXSkKKworICAg IHJldHVybiBhamF4X3Jlc3BvbnNlKAorICAgICAgICAgICAgcmVzcG9uc2U9 cmVzX2RhdGEsCisgICAgICAgICAgICBzdGF0dXM9MjAwCisgICAgICAgICAg ICApCisKKworQGJsdWVwcmludC5yb3V0ZSgKKyAgICAnL21zcWwvPGludDpn aWQ+LzxpbnQ6c2lkPi88aW50OmRpZD4vJywKKyAgICBtZXRob2RzPSgnR0VU JywgJ1BPU1QnKSkKK0Bsb2dpbl9yZXF1aXJlZAorQGNoZWNrX3ByZWNvbmRp dGlvbgorZGVmIG1zcWwoZ2lkLCBzaWQsIGRpZCk6CisgICAgIiIiCisgICAg VGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBtb2RpZmllZCBTUUwKKyAgICAi IiIKKworICAgIHNlcnZlcl9wcm9wID0gc2VydmVyX2luZm8KKyAgICBkYXRh ID0ge30KKyAgICBmb3IgaywgdiBpbiByZXF1ZXN0LmFyZ3MuaXRlbXMoKToK KyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZGF0YVtrXSA9IGpzb24ubG9h ZHModikKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAgICAg ICBkYXRhW2tdID0gdgorCisgICAgIyBGb3JtIGRiIGNvbm5lY3Rpb24KKyAg ICBtYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikuY29u bmVjdGlvbl9tYW5hZ2VyKHNpZCkKKyAgICBjb25uID0gbWFuYWdlci5jb25u ZWN0aW9uKGRpZD1kaWQpCisKKyAgICBhY2xzID0gW10KKyAgICB0cnk6Cisg ICAgICAgIGFjbHMgPSByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAi LyIuam9pbihbc2VydmVyX3Byb3BbJ3RlbXBsYXRlX3BhdGgnXSwgJy9hY2wu anNvbiddKQorICAgICAgICAgICAgKQorICAgICAgICBhY2xzID0ganNvbi5s b2FkcyhhY2xzKQorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAg ICAgY3VycmVudF9hcHAubG9nZ2VyLmV4Y2VwdGlvbihlKQorCisgICAgdHJ5 OgorCisgICAgICAgICMgUGFyc2UgcHJpdmlsZWdlcworICAgICAgICBkYXRh Wydwcml2J10gPSB7fQorICAgICAgICBpZiAnYWNsJyBpbiBkYXRhOgorICAg ICAgICAgICAgIyBHZXQgZnVuY3Rpb24gYWNscworICAgICAgICAgICAgZGF0 YVsncHJpdiddWydmdW5jdGlvbiddID0gcGFyc2VfcHJpdl90b19kYigKKyAg ICAgICAgICAgICAgICBkYXRhWydhY2wnXSwKKyAgICAgICAgICAgICAgICBh Y2xzWydmdW5jdGlvbiddWydhY2wnXSkKKworICAgICAgICAgICAgZGF0YVsn cHJpdiddWydzZXF1ZW5jZSddID0gcGFyc2VfcHJpdl90b19kYigKKyAgICAg ICAgICAgICAgICBkYXRhWydhY2wnXSwKKyAgICAgICAgICAgICAgICBhY2xz WydzZXF1ZW5jZSddWydhY2wnXSkKKworICAgICAgICAgICAgZGF0YVsncHJp diddWyd0YWJsZSddID0gcGFyc2VfcHJpdl90b19kYigKKyAgICAgICAgICAg ICAgICBkYXRhWydhY2wnXSwKKyAgICAgICAgICAgICAgICBhY2xzWyd0YWJs ZSddWydhY2wnXSkKKworICAgICAgICAjIFBhc3MgZGF0YWJhc2Ugb2JqZWN0 cyBhbmQgZ2V0IFNRTCBmb3IgcHJpdmlsZWdlcworICAgICAgICBTUUxfZGF0 YSA9ICcnCisgICAgICAgIGRhdGFfZnVuYyA9IHt9CisgICAgICAgIGRhdGFf ZnVuY1snb2JqZWN0cyddID0gZGF0YVsnb2JqZWN0cyddCisgICAgICAgIGRh dGFfZnVuY1sncHJpdiddID0gZGF0YVsncHJpdiddWydmdW5jdGlvbiddCisg ICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICAg Ii8iLmpvaW4oW3NlcnZlcl9wcm9wWyd0ZW1wbGF0ZV9wYXRoJ10sCisgICAg ICAgICAgICAgICAgICAgICAgICAnL3NxbC9ncmFudF9mdW5jdGlvbi5zcWwn XSksCisgICAgICAgICAgICAgIGRhdGE9ZGF0YV9mdW5jLCBjb25uPWNvbm4p CisgICAgICAgIGlmIFNRTCBhbmQgU1FMLnN0cmlwKCdcbicpICE9ICcnOgor ICAgICAgICAgICAgU1FMX2RhdGEgKz0gU1FMCisKKyAgICAgICAgZGF0YV9z ZXEgPSB7fQorICAgICAgICBkYXRhX3NlcVsnb2JqZWN0cyddID0gZGF0YVsn b2JqZWN0cyddCisgICAgICAgIGRhdGFfc2VxWydwcml2J10gPSBkYXRhWydw cml2J11bJ3NlcXVlbmNlJ10KKyAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBs YXRlKAorICAgICAgICAgICAgICAiLyIuam9pbihbc2VydmVyX3Byb3BbJ3Rl bXBsYXRlX3BhdGgnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICcvc3Fs L2dyYW50X3NlcXVlbmNlLnNxbCddKSwKKyAgICAgICAgICAgICAgZGF0YT1k YXRhX3NlcSwgY29ubj1jb25uKQorICAgICAgICBpZiBTUUwgYW5kIFNRTC5z dHJpcCgnXG4nKSAhPSAnJzoKKyAgICAgICAgICAgIFNRTF9kYXRhICs9IFNR TAorCisgICAgICAgIGRhdGFfdGFibGUgPSB7fQorICAgICAgICBkYXRhX3Rh YmxlWydvYmplY3RzJ10gPSBkYXRhWydvYmplY3RzJ10KKyAgICAgICAgZGF0 YV90YWJsZVsncHJpdiddID0gZGF0YVsncHJpdiddWyd0YWJsZSddCisgICAg ICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICAgIi8i LmpvaW4oW3NlcnZlcl9wcm9wWyd0ZW1wbGF0ZV9wYXRoJ10sICcvc3FsL2dy YW50X3RhYmxlLnNxbCddKSwKKyAgICAgICAgICAgICAgZGF0YT1kYXRhX3Rh YmxlLCBjb25uPWNvbm4pCisgICAgICAgIGlmIFNRTCBhbmQgU1FMLnN0cmlw KCdcbicpICE9ICcnOgorICAgICAgICAgICAgU1FMX2RhdGEgKz0gU1FMCisK KyAgICAgICAgcmVzID0geydkYXRhJzogU1FMX2RhdGF9CisKKyAgICAgICAg cmV0dXJuIGFqYXhfcmVzcG9uc2UoCisgICAgICAgICAgICByZXNwb25zZT1y ZXMsCisgICAgICAgICAgICBzdGF0dXM9MjAwCisgICAgICAgICAgICApCisK KyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgIHJldHVybiBt YWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICBzdGF0dXM9NDEwLAor ICAgICAgICAgICAgc3VjY2Vzcz0wLAorICAgICAgICAgICAgZXJyb3Jtc2c9 ZS5tZXNzYWdlCisgICAgICAgICkKKworCitAYmx1ZXByaW50LnJvdXRlKAor ICAgICcvc2F2ZS88aW50OmdpZD4vPGludDpzaWQ+LzxpbnQ6ZGlkPi8nLAor ICAgIG1ldGhvZHM9KCdHRVQnLCAnUE9TVCcpKQorQGxvZ2luX3JlcXVpcmVk CitAY2hlY2tfcHJlY29uZGl0aW9uCitkZWYgc2F2ZShnaWQsIHNpZCwgZGlk KToKKyAgICAiIiIKKyAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgYXBwbHkgdGhl IHByaXZpbGVnZXMgdG8gdGhlIHNlbGVjdGVkCisgICAgRGF0YWJhc2UgT2Jq ZWN0cworICAgICIiIgorICAgIHNlcnZlcl9wcm9wID0gc2VydmVyX2luZm8K KyAgICBkYXRhID0gcmVxdWVzdC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNl IGpzb24ubG9hZHMocmVxdWVzdC5kYXRhLmRlY29kZSgpKQorCisgICAgIyBG b3JtIGRiIGNvbm5lY3Rpb24gYW5kIHdlIHVzZSBjb25uIHRvIGV4ZWN1dGUg c3FsCisgICAgbWFuYWdlciA9IGdldF9kcml2ZXIoUEdfREVGQVVMVF9EUklW RVIpLmNvbm5lY3Rpb25fbWFuYWdlcihzaWQpCisgICAgY29ubiA9IG1hbmFn ZXIuY29ubmVjdGlvbihkaWQ9ZGlkKQorCisgICAgYWNscyA9IFtdCisgICAg dHJ5OgorICAgICAgICBhY2xzID0gcmVuZGVyX3RlbXBsYXRlKAorICAgICAg ICAgICAgICAiLyIuam9pbihbc2VydmVyX3Byb3BbJ3RlbXBsYXRlX3BhdGgn XSwgJ2FjbC5qc29uJ10pLAorICAgICAgICAgICAgKQorICAgICAgICBhY2xz ID0ganNvbi5sb2FkcyhhY2xzKQorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMg ZToKKyAgICAgICAgY3VycmVudF9hcHAubG9nZ2VyLmV4Y2VwdGlvbihlKQor CisgICAgdHJ5OgorCisgICAgICAgICMgUGFyc2UgcHJpdmlsZWdlcworICAg ICAgICBkYXRhWydwcml2J10gPSB7fQorICAgICAgICBpZiAnYWNsJyBpbiBk YXRhOgorICAgICAgICAgICAgIyBHZXQgZnVuY3Rpb24gYWNscworICAgICAg ICAgICAgZGF0YVsncHJpdiddWydmdW5jdGlvbiddID0gcGFyc2VfcHJpdl90 b19kYigKKyAgICAgICAgICAgICAgICBkYXRhWydhY2wnXSwKKyAgICAgICAg ICAgICAgICBhY2xzWydmdW5jdGlvbiddWydhY2wnXSkKKworICAgICAgICAg ICAgZGF0YVsncHJpdiddWydzZXF1ZW5jZSddID0gcGFyc2VfcHJpdl90b19k YigKKyAgICAgICAgICAgICAgICBkYXRhWydhY2wnXSwKKyAgICAgICAgICAg ICAgICBhY2xzWydzZXF1ZW5jZSddWydhY2wnXSkKKworICAgICAgICAgICAg ZGF0YVsncHJpdiddWyd0YWJsZSddID0gcGFyc2VfcHJpdl90b19kYigKKyAg ICAgICAgICAgICAgICBkYXRhWydhY2wnXSwKKyAgICAgICAgICAgICAgICBh Y2xzWyd0YWJsZSddWydhY2wnXSkKKworICAgICAgICAjIFBhc3MgZGF0YWJh c2Ugb2JqZWN0cyBhbmQgZ2V0IFNRTCBmb3IgcHJpdmlsZWdlcworICAgICAg ICAjIFBhc3MgZGF0YWJhc2Ugb2JqZWN0cyBhbmQgZ2V0IFNRTCBmb3IgcHJp dmlsZWdlcworICAgICAgICBTUUxfZGF0YSA9ICcnCisgICAgICAgIGRhdGFf ZnVuYyA9IHt9CisgICAgICAgIGRhdGFfZnVuY1snb2JqZWN0cyddID0gZGF0 YVsnb2JqZWN0cyddCisgICAgICAgIGRhdGFfZnVuY1sncHJpdiddID0gZGF0 YVsncHJpdiddWydmdW5jdGlvbiddCisgICAgICAgIFNRTCA9IHJlbmRlcl90 ZW1wbGF0ZSgKKyAgICAgICAgICAgICAgIi8iLmpvaW4oW3NlcnZlcl9wcm9w Wyd0ZW1wbGF0ZV9wYXRoJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAn L3NxbC9ncmFudF9mdW5jdGlvbi5zcWwnXSksCisgICAgICAgICAgICAgIGRh dGE9ZGF0YV9mdW5jLCBjb25uPWNvbm4pCisgICAgICAgIGlmIFNRTCBhbmQg U1FMLnN0cmlwKCdcbicpICE9ICcnOgorICAgICAgICAgICAgU1FMX2RhdGEg Kz0gU1FMCisKKyAgICAgICAgZGF0YV9zZXEgPSB7fQorICAgICAgICBkYXRh X3NlcVsnb2JqZWN0cyddID0gZGF0YVsnb2JqZWN0cyddCisgICAgICAgIGRh dGFfc2VxWydwcml2J10gPSBkYXRhWydwcml2J11bJ3NlcXVlbmNlJ10KKyAg ICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgICAi LyIuam9pbihbc2VydmVyX3Byb3BbJ3RlbXBsYXRlX3BhdGgnXSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICcvc3FsL2dyYW50X3NlcXVlbmNlLnNxbCdd KSwKKyAgICAgICAgICAgICAgZGF0YT1kYXRhX3NlcSwgY29ubj1jb25uKQor ICAgICAgICBpZiBTUUwgYW5kIFNRTC5zdHJpcCgnXG4nKSAhPSAnJzoKKyAg ICAgICAgICAgIFNRTF9kYXRhICs9IFNRTAorCisgICAgICAgIGRhdGFfdGFi bGUgPSB7fQorICAgICAgICBkYXRhX3RhYmxlWydvYmplY3RzJ10gPSBkYXRh WydvYmplY3RzJ10KKyAgICAgICAgZGF0YV90YWJsZVsncHJpdiddID0gZGF0 YVsncHJpdiddWyd0YWJsZSddCisgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1w bGF0ZSgKKyAgICAgICAgICAgICAgIi8iLmpvaW4oW3NlcnZlcl9wcm9wWyd0 ZW1wbGF0ZV9wYXRoJ10sICcvc3FsL2dyYW50X3RhYmxlLnNxbCddKSwKKyAg ICAgICAgICAgICAgZGF0YT1kYXRhX3RhYmxlLCBjb25uPWNvbm4pCisgICAg ICAgIGlmIFNRTCBhbmQgU1FMLnN0cmlwKCdcbicpICE9ICcnOgorICAgICAg ICAgICAgU1FMX2RhdGEgKz0gU1FMCisKKyAgICAgICAgc3RhdHVzLCByZXMg PSBjb25uLmV4ZWN1dGVfZGljdChTUUxfZGF0YSkKKyAgICAgICAgaWYgbm90 IHN0YXR1czoKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJf ZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisgICAgICAgIHJldHVybiBtYWtlX2pz b25fcmVzcG9uc2UoCisgICAgICAgICAgICBzdWNjZXNzPTEsCisgICAgICAg ICAgICBpbmZvPSJQcml2aWxlZ2VzIGFwcGxpZWQiCisgICAgICAgICkKKwor ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgcmV0dXJuIGlu dGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1lLm1lc3NhZ2UpCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQvc3RhdGlj L2Nzcy9ncmFudF93aXphcmQuY3NzIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3Jh bnRfd2l6YXJkL3N0YXRpYy9jc3MvZ3JhbnRfd2l6YXJkLmNzcwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODI0MGU5Ci0tLSAvZGV2 L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3N0 YXRpYy9jc3MvZ3JhbnRfd2l6YXJkLmNzcwpAQCAtMCwwICsxLDEwOSBAQAor LyoqIEdyYW50IFdpemFyZCBDU1MgKiovCisKKy8qKgorICBDU1MgdG8gbWFr ZSBkYiBvYmplY3QgdHlwZSB0YWJsZQorICBmaXhlZCBzbyB0aGF0IHRib2R5 IGNvbnRlbnQgbWF5CisgIHNjcm9sbAorICovCisKKy5kYl9vYmplY3RzX2Nv bnRhaW5lciAgeworICBoZWlnaHQ6IDEwMCU7Cit9CisKKy5vYmplY3RfdHlw ZV90YWJsZSB7CisgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgaGVpZ2h0 OiAxMDAlOworICBib3JkZXI6IDAgIWltcG9ydGFudDsKK30KKworLm9iamVj dF90eXBlX3RhYmxlIHRoZWFkIHRyIHsKKyAgcG9zaXRpb246IHJlbGF0aXZl OworICBkaXNwbGF5OiBibG9jazsKKyAgd2lkdGg6IDEwMCU7Cit9CisKKy5v YmplY3RfdHlwZV90YWJsZSB0Ym9keSB7CisgIGRpc3BsYXk6IGJsb2NrOwor ICBvdmVyZmxvdzogc2Nyb2xsOworICBib3JkZXI6IDFweCBzb2xpZCAjZGRk OworICB3aWR0aDogMTAwJTsKKyAgbWluLWhlaWdodDogMTAwJTsKKyAgbWF4 LWhlaWdodDogNjYlOworICBoZWlnaHQ6IDY2JTsKK30KKworLm9iamVjdF90 eXBlX3RhYmxlIHRib2R5IHRyIHsKKyAgZGlzcGxheTogdGFibGU7CisgIG1h eC13aWR0aDogMTAwJTsKKyAgd2lkdGg6IDEwMCU7Cit9CisKKy5vYmplY3Rf dHlwZV90YWJsZSB0Ym9keSB0ciB0ZCB7CisgIGJhY2tncm91bmQtcG9zaXRp b246IDRweCA0cHg7CisgIGJvcmRlci1yYWRpdXM6IDA7Cit9CisKKy5vYmpl Y3RfdHlwZV90YWJsZSB0Ym9keSB0ciB0ZDpudGgtY2hpbGQoMSksCisub2Jq ZWN0X3R5cGVfdGFibGUgdGhlYWQgdHIgdGg6bnRoLWNoaWxkKDEpIHsKKyAg d2lkdGg6IDI4cHg7CisgIG1pbi13aWR0aDogMjhweDsKK30KKworLm9iamVj dF90eXBlX3RhYmxlIHRib2R5IHRyIHRkOm50aC1jaGlsZCgyKSB7CisgIHdp ZHRoOiAxNjFweDsKKyAgbWluLXdpZHRoOiAxNjFweDsKKyAgbWF4LXdpZHRo OiAxNjFweDsKK30KKworLm9iamVjdF90eXBlX3RhYmxlIHRoZWFkIHRyIHRo Om50aC1jaGlsZCgyKSB7CisgIHdpZHRoOiAxNjFweDsKKyAgbWluLXdpZHRo OiAxNjFweDsKKyAgbWF4LXdpZHRoOiAxNjFweDsKK30KKworLm9iamVjdF90 eXBlX3RhYmxlIHRib2R5IHRyIHRkOm50aC1jaGlsZCgzKSB7CisgIHdpZHRo OiAxMDlweDsKKyAgbWluLXdpZHRoOiAxMDlweDsKKyAgbWF4LXdpZHRoOiAx MDlweDsKK30KKworLm9iamVjdF90eXBlX3RhYmxlIHRoZWFkIHRyIHRoOm50 aC1jaGlsZCgzKSB7CisgIHdpZHRoOiAxMDlweDsKKyAgbWluLXdpZHRoOiAx MDlweDsKKyAgbWF4LXdpZHRoOiAxMDlweDsKK30KKworLm9iamVjdF90eXBl X3RhYmxlIHRoZWFkIHRyIHRoOm50aC1jaGlsZCg0KSB7CisgIHdpZHRoOiAx MDAlOworfQorCisub2JqZWN0X3R5cGVfdGFibGUgdGJvZHkgdHIgdGQ6bnRo LWNoaWxkKDQpIHsKKyAgd2lkdGg6IDEwMCU7CisgIG1heC13aWR0aDogMTAw JTsKK30KKworLyoqIE92ZXJyaWRlIEJhY2tncmlkIGZpbHRlciBDU1MgKiov CisuZGJfb2JqZWN0c19jb250YWluZXIgLmJhY2tncmlkLWZpbHRlci5mb3Jt LXNlYXJjaCB7CisgIGZsb2F0OiBsZWZ0OworICBtYXJnaW46IDBweCA1cHgg NXB4IDA7Cit9CisKKy8qKiBDdXN0b20gc3R5bGluZyBmb3IgQ29kZW1pcnJv ciBmaWVsZCAqKi8KKy53aXphcmQtcmlnaHQtcGFuZWxfY29udGVudCB7Cisg IGJvcmRlcjogMXB4IHNvbGlkZSAjY2NjOworfQorCisud2l6YXJkLXJpZ2h0 LXBhbmVsX2NvbnRlbnQgLkNvZGVNaXJyb3IgeworICBib3JkZXI6IDFweCBz b2xpZCAjY2NjOworICBoZWlnaHQ6IDI4NXB4ICFpbXBvcnRhbnQ7CisgIG1p bi1oZWlnaHQ6IDI4NXB4ICFpbXBvcnRhbnQ7Cit9CisKKy53aXphcmQtcmln aHQtcGFuZWxfY29udGVudCAuQ29kZU1pcnJvci1saW5lbnVtYmVyIHsKKyAg YmFja2dyb3VuZDogI0Y3RjdGNzsKKyAgYm9yZGVyLXJpZ2h0OiAxcHggc29s aWQgI0RERERERDsKK30KKworLndpemFyZC1yaWdodC1wYW5lbF9jb250ZW50 IC5Db2RlTWlycm9yLWd1dHRlcnMgeworICBtaW4taGVpZ2h0OiAyODVweCAh aW1wb3J0YW50OworfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMv Z3JhbnRfd2l6YXJkL3RlbXBsYXRlcy9ncmFudF93aXphcmQvanMvZ3JhbnRf d2l6YXJkLmpzIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3Rl bXBsYXRlcy9ncmFudF93aXphcmQvanMvZ3JhbnRfd2l6YXJkLmpzCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhY2IxNjIKLS0tIC9k ZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQv dGVtcGxhdGVzL2dyYW50X3dpemFyZC9qcy9ncmFudF93aXphcmQuanMKQEAg LTAsMCArMSwxMTAxIEBACitkZWZpbmUoWworICAgICAgJ2pxdWVyeScsICd1 bmRlcnNjb3JlJywgJ3VuZGVyc2NvcmUuc3RyaW5nJywgJ2FsZXJ0aWZ5JywK KyAgICAgICdwZ2FkbWluLmJyb3dzZXInLCAnYmFja2JvbmUnLCAnYmFja2dy aWQnLCAncGdhZG1pbi5icm93c2VyLm5vZGUnLAorICAgICAgJ2JhY2tncmlk LnNlbGVjdC5hbGwnLCAnYmFja2dyaWQuZmlsdGVyJywgJ3BnYWRtaW4uYnJv d3Nlci5zZXJ2ZXIucHJpdmlsZWdlJywKKyAgICAgICdwZ2FkbWluLmJyb3dz ZXIud2l6YXJkJywKKyAgICAgIF0sCisKKyAgLy8gVGhpcyBkZWZpbmVzIEdy YW50IFdpemFyZCBkaWFsb2cKKyAgZnVuY3Rpb24oJCwgXywgUywgYWxlcnRp ZnksIHBnQnJvd3NlciwgQmFja2JvbmUsIEJhY2tncmlkLCBwZ05vZGUpIHsK KworICAgIC8vIGlmIG1vZHVsZSBpcyBhbHJlYWR5IGluaXRpYWxpemVkLCBy ZWZlciB0byB0aGF0LgorICAgIGlmIChwZ0Jyb3dzZXIuR3JhbnRXaXphcmQp IHsKKyAgICAgIHJldHVybiBwZ0Jyb3dzZXIuR3JhbnRXaXphcmQ7CisgICAg fQorCisgICAgLyoqCisgICAgICBJdCBpcyBzdWIgbW9kZWwgZm9yIGZpZWxk ICJPYmplY3RzIi4gSXQgaGFzIGZpZWxkcworICAgICAgZm9yIGRhdGFiYXNl IG9iamVjdCB0eXBlcyBzdWNoIGFzIFNjaGVtYXMsIFZpZXdzIGFuZAorICAg ICAgU2VxdWVuY2UgZXRjLgorICAgICovCisgICAgdmFyIERhdGFiYXNlT2Jq ZWN0TW9kZWwgPSBwZ05vZGUuTW9kZWwuZXh0ZW5kKHsKKyAgICAgIGRlZmF1 bHRzOiB7CisgICAgICAgIHNlbGVjdGVkOiBmYWxzZSwKKyAgICAgICAgaWNv bjogJ2ljb24tdW5rbm93bicsCisgICAgICAgIG5hbWU6IHVuZGVmaW5lZCwK KyAgICAgICAgbmFtZV93aXRoX2FyZ3M6IHVuZGVmaW5lZCwKKyAgICAgICAg bnNwbmFtZTogdW5kZWZpbmVkLAorICAgICAgICBwcm9hcmdzOiB1bmRlZmlu ZWQsCisgICAgICAgIG9iamVjdF90eXBlOiB1bmRlZmluZWQsCisgICAgICAg IG9iamVjdF9pZDogdW5kZWZpbmVkCisgICAgICB9LAorICAgICAgaWRBdHRy aWJ1dGU6ICdvYmplY3RfaWQnLCAvLyB0byB1bmlxdWVseSBpZGVudGlmeSBh IG1vZGVsIG9iamVjdAorICAgICAgdG9KU09OOiBmdW5jdGlvbihvYmopIHsK KyAgICAgICAgdmFyIGQgPSBwZ05vZGUuTW9kZWwucHJvdG90eXBlLnRvSlNP Ti5hcHBseSh0aGlzKTsKKyAgICAgICAgZGVsZXRlIGQuaWNvbjsKKyAgICAg ICAgcmV0dXJuIGQ7CisgICAgICB9LAorICAgICAgcGFyc2U6IGZ1bmN0aW9u KHJlcykgeworCisgICAgICAgIC8vIENyZWF0ZSB1bmlxdWUgb2JqZWN0IGlk CisgICAgICAgIHJlcy5vYmplY3RfaWQgPSByZXMubmFtZV93aXRoX2FyZ3M7 CisKKyAgICAgICAgLy8gY3JlYXRlIG5hbWUgd2l0aCBhcmdzIGlmIGl0cyBv YmplY3QgaXMgZnVuY3Rpb24KKyAgICAgICAgaWYoIV8uaXNVbmRlZmluZWQo cmVzLm9iamVjdF90eXBlKSAmJiAocmVzLm9iamVjdF90eXBlID09ICdGdW5j dGlvbicgfHwKKyAgICAgICAgICByZXMub2JqZWN0X3R5cGUgPT0gJ1RyaWdn ZXIgRnVuY3Rpb24nKSkKKyAgICAgICAgICByZXMubmFtZV93aXRoX2FyZ3Mg PSByZXMubmFtZSsnKCcrKHR5cGVvZihyZXMucHJvYXJncykgIT0gJ3VuZGVm aW5lZCcgPyByZXMucHJvYXJncyA6ICcnKSsnKSc7CisgICAgICAgIGVsc2UK KyAgICAgICAgICByZXMubmFtZV93aXRoX2FyZ3MgPSByZXMubmFtZTsKKwor ICAgICAgICByZXR1cm4gcmVzOworICAgICAgfSwKKworICAgICAgdmFsaWRh dGU6IGZ1bmN0aW9uKCkgeworCisgICAgICAgIC8qCisgICAgICAgICogVHJp Z2dlcnMgZXJyb3IgbWVzc2FnZXMgZm9yIG9iamVjdCB0eXBlcyAic2VsZWN0 ZWQiCisgICAgICAgICogaWYgaXQgaXMgZW1wdHkvdW5kZWZpbmVkL251bGwK KyAgICAgICAgKi8KKyAgICAgICAgdmFyIGVyciA9IHt9LAorICAgICAgICAg IGVycm1zZywKKyAgICAgICAgICBub2RlID0gdGhpcy5nZXQoJ29iamVjdHMn KS50b0pTT04oKTsKKyAgICAgICAgaWYgKF8uaXNFbXB0eShub2RlKSkgewor ICAgICAgICAgIGVyclsnc2VsZWN0ZWQnXSA9ICd7eyBfKCJQbGVhc2Ugc2Vs ZWN0IGFueSBkYXRhYmFzZSBvYmplY3QgdHlwZSIpIH19JzsKKyAgICAgICAg ICBlcnJtc2cgPSBlcnJtc2cgfHwgZXJyWydzZWxlY3RlZCddOworICAgICAg ICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3NlbGVjdGVkJywgZXJybXNnKTsK KyAgICAgICAgICByZXR1cm4gZXJybXNnOworICAgICAgICB9IGVsc2Ugewor ICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC51bnNldCgnc2VsZWN0ZWQnKTsK KyAgICAgICAgfQorICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgIH0KKyAg ICB9KTsKKworICAgIC8vIERlZmluZSBjb2x1bW5zIGZvciB0aGUgRGIgT2Jq ZWN0IFR5cGVzIGdyaWQKKyAgICB2YXIgY29sdW1ucyA9IFt7CisgICAgICBu YW1lOiAic2VsZWN0ZWQiLAorCisgICAgICAvKgorICAgICAgT3ZlcnJpZGUg cmVuZGVyIG1ldGhvZCBvZiBCYWNrZ3JpZC5FeHRlbnNpb24uU2VsZWN0Um93 Q2VsbAorICAgICAgY2xhc3MuIEl0IGhhcyBhbiBpc3N1ZTogSXQgZG9lc24n dCBtYXJrIHJvd3MgY2hlY2tlZCBpZiB3ZSBtb3ZlIHRvIG5leHQKKyAgICAg IHBhZ2UgYW5kIHRoZW4gZ28gYmFjayB0byBwcmV2aW91cyBwYWdlLiBidXQg aXQgbXVzdCBzaG93LgorICAgICAgc28gd2UgaGFuZGxlIHRoaXMgY2FzZSBi eSBvdmVycmlkaW5nIHRoZSByZW5kZXIgbWV0aG9kLgorICAgICAgKi8KKyAg ICAgIGNlbGw6IEJhY2tncmlkLkV4dGVuc2lvbi5TZWxlY3RSb3dDZWxsLmV4 dGVuZCh7CisgICAgICAgIHJlbmRlcjogZnVuY3Rpb24oKSB7CisKKyAgICAg ICAgICAvLyBVc2UgdGhlIEJhY2tmb3JtIENvbnRyb2wncyByZW5kZXIgZnVu Y3Rpb24KKyAgICAgICAgICBCYWNrZ3JpZC5FeHRlbnNpb24uU2VsZWN0Um93 Q2VsbC5wcm90b3R5cGUucmVuZGVyLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7 CisKKyAgICAgICAgICB2YXIgY29sID0gdGhpcy5jb2x1bW4uZ2V0KCduYW1l Jyk7CisgICAgICAgICAgaWYgKHRoaXMubW9kZWwgJiYgdGhpcy5tb2RlbC5o YXMoY29sKSkgeworICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwuZ2V0KGNv bCkpIHsKKyAgICAgICAgICAgICAgdGhpcy5jaGVja2JveCgpLnByb3AoImNo ZWNrZWQiLCB0cnVlKTsKKyAgICAgICAgICAgICAgdGhpcy4kZWwucGFyZW50 KCkudG9nZ2xlQ2xhc3MoInNlbGVjdGVkIiwgdHJ1ZSk7CisgICAgICAgICAg ICAgIHRoaXMubW9kZWwudHJpZ2dlcigiYmFja2dyaWQ6c2VsZWN0ZWQiLCB0 aGlzLm1vZGVsLCB0cnVlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9 CisgICAgICAgICAgcmV0dXJuIHRoaXM7CisgICAgICAgIH0KKyAgICAgIH0p LAorCisgICAgICBoZWFkZXJDZWxsOiAic2VsZWN0LWFsbCIsCisKKyAgICB9 LHsKKyAgICAgIG5hbWU6ICJvYmplY3RfdHlwZSIsCisgICAgICBsYWJlbDog Ik9iamVjdCBUeXBlIiwKKyAgICAgIGVkaXRhYmxlOiBmYWxzZSwKKyAgICAg IGNlbGw6IEJhY2tncmlkLkNlbGwuZXh0ZW5kKHsKKyAgICAgICAgcmVuZGVy OiBmdW5jdGlvbigpIHsKKworICAgICAgICAgIC8vIE92ZXJyaWRlIHJlbmRl ciB0byBhZGQgaWNvbiB0byBEYiBPYmplY3QgY29sdW1uCisgICAgICAgICAg QmFja2dyaWQuQ2VsbC5wcm90b3R5cGUucmVuZGVyLmFwcGx5KHRoaXMsIGFy Z3VtZW50cyk7CisgICAgICAgICAgdGhpcy4kZWwuYWRkQ2xhc3ModGhpcy5t b2RlbC5nZXQoJ2ljb24nKSkuY3NzKHsicGFkZGluZy1sZWZ0IjogIjI0cHgi fSk7CisKKyAgICAgICAgICByZXR1cm4gdGhpczsKKyAgICAgICAgfQorICAg ICAgfSkKKyAgICB9LHsKKyAgICAgIG5hbWU6ICJuc3BuYW1lIiwKKyAgICAg IGxhYmVsOiAiU2NoZW1hIiwKKyAgICAgIGNlbGw6ICJzdHJpbmciLAorICAg ICAgZWRpdGFibGU6IGZhbHNlCisgICAgfSx7CisgICAgICBuYW1lOiAibmFt ZV93aXRoX2FyZ3MiLAorICAgICAgbGFiZWw6ICJOYW1lIiwKKyAgICAgIGNl bGw6ICJzdHJpbmciLAorICAgICAgZWRpdGFibGU6IGZhbHNlCisgICAgfV07 CisKKyAgICAvLyBDcmVhdGUgYW4gT2JqZWN0IEdyYW50V2l6YXJkIG9mIHBn QnJvd3NlciBjbGFzcworICAgIHBnQnJvd3Nlci5HcmFudFdpemFyZCAgPSB7 CisgICAgICBpbml0OiBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKHRoaXMu aW5pdGlhbGl6ZWQpCisgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRo aXMuaW5pdGlhbGl6ZWQgPSB0cnVlOworCisgICAgICAgIC8vIERlZmluZSBs aXN0IG9mIG5vZGVzIG9uIHdoaWNoIGdyYW50IHdpemFyZCBjb250ZXh0IG1l bnUgb3B0aW9uIGFwcGVhcnMKKyAgICAgICAgdmFyIHN1cHBvcnRlZF9ub2Rl cyA9IFsKKyAgICAgICAgICAgICAgJ3NjaGVtYScsICdjb2xsLWZ1bmN0aW9u JywgJ2NvbGwtc2VxdWVuY2UnLAorICAgICAgICAgICAgICAnY29sbC10YWJs ZScsICdjb2xsLXZpZXcnLAorICAgICAgICAgICAgICAnY29sbC1tYXRlcmlh bGl6ZWRfdmlldycsICdkYXRhYmFzZScKKyAgICAgICAgICAgIF0sCisKKyAg ICAgICAgICAgIC8qKgorICAgICAgICAgICAgICBFbmFibGUvZGlzYWJsZSBn cmFudHdpemFyZCBtZW51IGluIHRvb2xzIGJhc2VkCisgICAgICAgICAgICAg IG9uIG5vZGUgc2VsZWN0ZWQKKyAgICAgICAgICAgICAgaWYgc2VsZWN0ZWQg bm9kZSBpcyBwcmVzZW50IGluIHN1cHBvcnRlZF9ub2RlcywKKyAgICAgICAg ICAgICAgbWVudSB3aWxsIGJlIGVuYWJsZWQgb3RoZXJ3aXNlIGRpc2FibGVk LgorICAgICAgICAgICAgICBBbHNvLCBoaWRlIGl0IGZvciBzeXN0ZW0gdmll dyBpbiBjYXRhbG9ncworICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIG1l bnVfZW5hYmxlZCA9IGZ1bmN0aW9uKGl0ZW1EYXRhLCBpdGVtLCBkYXRhKSB7 CisgICAgICAgICAgICAgIHZhciB0ID0gcGdCcm93c2VyLnRyZWUsIGkgPSBp dGVtLCBkID0gaXRlbURhdGE7CisgICAgICAgICAgICAgIHZhciBwYXJlbnRf aXRlbSA9IHQuaGFzUGFyZW50KGkpID8gdC5wYXJlbnQoaSk6IG51bGwsCisg ICAgICAgICAgICAgICAgICBwYXJlbnRfZGF0YSA9IHBhcmVudF9pdGVtID8g dC5pdGVtRGF0YShwYXJlbnRfaXRlbSkgOiBudWxsOworICAgICAgICAgICAg ICBpZighXy5pc1VuZGVmaW5lZChkKSAmJiAhXy5pc051bGwoZCkgJiYgIV8u aXNOdWxsKHBhcmVudF9kYXRhKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g KChfLmluZGV4T2Yoc3VwcG9ydGVkX25vZGVzLCBkLl90eXBlKSAhPT0gLTEg JiYgcGFyZW50X2RhdGEuX3R5cGUgIT0gJ2NhdGFsb2cnKSA/IHRydWU6IGZh bHNlKTsKKyAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJl dHVybiBmYWxzZTsKKyAgICAgICAgICAgIH07CisKKyAgICAgICAgLy8gRGVm aW5lIHRoZSBub2RlcyBvbiB3aGljaCB0aGUgbWVudXMgdG8gYmUgYXBwZWFy CisgICAgICAgIHZhciBtZW51cyA9IFt7CisgICAgICAgICAgbmFtZTogJ2dy YW50X3dpemFyZF9zY2hlbWEnLCBtb2R1bGU6IHRoaXMsCisgICAgICAgICAg YXBwbGllczogWyd0b29scyddLCBjYWxsYmFjazogJ3N0YXJ0X2dyYW50X3dp emFyZCcsCisgICAgICAgICAgcHJpb3JpdHk6IDEwLCBsYWJlbDogJ3t7Xygi R3JhbnQgV2l6YXJkLi4uIikgfX0nLAorICAgICAgICAgIGljb246ICd3Y1Rh Ykljb24nLCBlbmFibGU6IG1lbnVfZW5hYmxlZAorICAgICAgICB9XTsKKwor ICAgICAgICAvLyBBZGQgc3VwcG9ydGVkIG1lbnVzIGludG8gdGhlIG1lbnVz IGxpc3QKKyAgICAgICAgZm9yICh2YXIgaWR4ID0gMDsgaWR4IDwgc3VwcG9y dGVkX25vZGVzLmxlbmd0aDsgaWR4KyspIHsKKyAgICAgICAgICBtZW51cy5w dXNoKHsKKyAgICAgICAgICAgIG5hbWU6ICdncmFudF93aXphcmRfc2NoZW1h X2NvbnRleHRfJyArIHN1cHBvcnRlZF9ub2Rlc1tpZHhdLAorICAgICAgICAg ICAgbm9kZTogc3VwcG9ydGVkX25vZGVzW2lkeF0sIG1vZHVsZTogdGhpcywK KyAgICAgICAgICAgIGFwcGxpZXM6IFsnY29udGV4dCddLCBjYWxsYmFjazog J3N0YXJ0X2dyYW50X3dpemFyZCcsCisgICAgICAgICAgICBwcmlvcml0eTog MTAsIGxhYmVsOiAne3tfKCJHcmFudCBXaXphcmQuLi4iKSB9fScsCisgICAg ICAgICAgICBpY29uOiAnd2NUYWJJY29uJywgZW5hYmxlOiBtZW51X2VuYWJs ZWQKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgICAgIHBnQWRt aW4uQnJvd3Nlci5hZGRfbWVudXMobWVudXMpOworCisgICAgICAgIHJldHVy biB0aGlzOworICAgICAgfSwKKworICAgICAgLy8gQ2FsbGJhY2sgdG8gZHJh dyBXaXphcmQgRGlhbG9nCisgICAgICBzdGFydF9ncmFudF93aXphcmQ6IGZ1 bmN0aW9uKGFjdGlvbiwgaXRlbSkgeworCisgICAgICAgIC8vIERlY2xhcmUg V2l6YXJkIGRpYWxvZworICAgICAgICBpZiAoIWFsZXJ0aWZ5LndpemFyZERp YWxvZykgeworICAgICAgICAgIGFsZXJ0aWZ5LmRpYWxvZygnd2l6YXJkRGlh bG9nJywgZnVuY3Rpb24gZmFjdG9yeSgpIHsKKworICAgICAgICAgICAgLy8g R2VuZXJhdGUgd2l6YXJkIG1haW4gY29udGFpbmVyCisgICAgICAgICAgICB2 YXIgJGNvbnRhaW5lciA9ICQoIjxkaXYgY2xhc3M9J3dpemFyZF9kbGcnPjwv ZGl2PiIpOworCisgICAgICAgICAgICByZXR1cm4geworICAgICAgICAgICAg ICBtYWluOiBmdW5jdGlvbih0aXRsZSkgeworICAgICAgICAgICAgICAgIHRo aXMuc2V0KCd0aXRsZScsIHRpdGxlKTsKKyAgICAgICAgICAgICAgfSwKKyAg ICAgICAgICAgICAgc2V0dXA6ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAg ICAgcmV0dXJuIHsKKworICAgICAgICAgICAgICAgICAgLy8gU2V0IG9wdGlv bnMgZm9yIGRpYWxvZworICAgICAgICAgICAgICAgICAgb3B0aW9uczogewor ICAgICAgICAgICAgICAgICAgICBmcmFtZWxlc3M6IHRydWUsCisgICAgICAg ICAgICAgICAgICAgIHJlc2l6YWJsZTogdHJ1ZSwKKyAgICAgICAgICAgICAg ICAgICAgYXV0b1Jlc2V0OiBmYWxzZSwKKyAgICAgICAgICAgICAgICAgICAg bWF4aW1pemFibGU6IGZhbHNlLAorICAgICAgICAgICAgICAgICAgICBjbG9z YWJsZUJ5RGltbWVyOiBmYWxzZQorICAgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgIH0sCisgICAgICAgICAg ICAgIGhvb2tzOnsKKyAgICAgICAgICAgICAgICBvbnNob3c6IGZ1bmN0aW9u KCkgeworCisgICAgICAgICAgICAgICAgICAvLyBTZXQgZGltZW5zaW9ucyBm b3Igd2l6YXJkCisgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRzLmRp YWxvZy5zdHlsZS53aWR0aCA9ICcxMDAlJzsKKyAgICAgICAgICAgICAgICAg IHRoaXMuZWxlbWVudHMuZGlhbG9nLnN0eWxlLmhlaWdodCA9ICc2OCUnOwor CisgICAgICAgICAgICAgICAgICAvLyBBZGQgcGdhZG1pbl9ncmFudF93aXph cmRfYm9keSBjbGFzcyB0byBkaWFsb2cKKyAgICAgICAgICAgICAgICAgICQo dGhpcy5lbGVtZW50cy5ib2R5KS5hZGRDbGFzcygncGdhZG1pbl9ncmFudF93 aXphcmRfYm9keScpOworICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAg ICAgIH0sCisKKyAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAg UmV0dXJucyBhIFBhZ2luYXRvciBDbGFzcyBPYmplY3Qgd2hpY2ggaXMgYWdh aW4gdG8gYmUgcmVuZGVyZWQKKworICAgICAgICAgICAgICAgIEBjbGFzcyB7 QmFja2dyaWQuRXh0ZW5zaW9uLlBhZ2luYXRvcn0KKyAgICAgICAgICAgICAg ICBAcGFyYW0ge0JhY2tib25lLkNvbGxlY3Rpb259IGNvbGwgLSBmcm9tIHdo aWNoIGRhdGEgaXMgZmV0Y2hlZAorICAgICAgICAgICAgICAgIEByZXR1cm4g e09iamVjdH0gcGFnaW5hdG9yCisgICAgICAgICAgICAgICovCisgICAgICAg ICAgICAgIERiUGFnaW5hdG9yOiBmdW5jdGlvbihjb2xsKXsKKyAgICAgICAg ICAgICAgICB2YXIgcGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3IgPSBuZXcg QmFja2dyaWQuRXh0ZW5zaW9uLlBhZ2luYXRvcih7CisgICAgICAgICAgICAg ICAgICBjb2xsZWN0aW9uOiBjb2xsLAorICAgICAgICAgICAgICAgICAgd2lu ZG93U2l6ZTogOAorICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg ICAgIHJldHVybiBwYWdpbmF0b3I7CisgICAgICAgICAgICAgIH0sCisKKyAg ICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgQ3JlYXRlIG5ldyBG aWx0ZXIgd2hpY2ggd2lsbCBmaWx0ZXIgdGhlCisgICAgICAgICAgICAgICAg cmVuZGVyZWQgZ3JpZCBmb3IgU2VsZWN0IFR5cGUgVGFidWxhciBEYXRhCisg ICAgICAgICAgICAgICAgQHBhcmFtIHtCYWNrYm9uZS5QYWdlYWJsZUNvbGxl Y3Rpb259IGNvbGwKKyAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAg RGJPYmplY3RGaWx0ZXI6IGZ1bmN0aW9uKGNvbGwpeworICAgICAgICAgICAg ICAgIHZhciBjbGllbnRTaWRlRmlsdGVyID0gdGhpcy5jbGllbnRTaWRlRmls dGVyID0gbmV3IEJhY2tncmlkLkV4dGVuc2lvbi5DbGllbnRTaWRlRmlsdGVy KHsKKyAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IGNvbGwsCisgICAg ICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogXygnU2VhcmNoIGJ5IG9iamVj dCB0eXBlIG9yIG5hbWUnKSwKKworICAgICAgICAgICAgICAgICAgLy8gVGhl IG1vZGVsIGZpZWxkcyB0byBzZWFyY2ggZm9yIG1hdGNoZXMKKyAgICAgICAg ICAgICAgICAgIGZpZWxkczogWydvYmplY3RfdHlwZScsICduYW1lJ10sCisK KyAgICAgICAgICAgICAgICAgIC8vIEhvdyBsb25nIHRvIHdhaXQgYWZ0ZXIg dHlwaW5nIGhhcyBzdG9wcGVkIGJlZm9yZSBzZWFyY2hpbmcgY2FuIHN0YXJ0 CisgICAgICAgICAgICAgICAgICB3YWl0OiAxNTAKKyAgICAgICAgICAgICAg ICB9KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gY2xpZW50U2lkZUZpbHRl cjsKKyAgICAgICAgICAgICAgfSwKKworICAgICAgICAgICAgICAvL0VuYWJs ZSBEaXNhYmxlIE5leHQgYnV0dG9uIG9mIFByaXZpbGVnZVBhZ2UKKyAgICAg ICAgICAgICAgdXBkYXRlQnV0dG9uczogZnVuY3Rpb24obW9kaWZpZWQpewor ICAgICAgICAgICAgICAgIGlmKCFtb2RpZmllZCkKKyAgICAgICAgICAgICAg ICAgICQoJy53aXphcmQtbmV4dCcpLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7 CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgJCgn LndpemFyZC1uZXh0JykucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSk7CisgICAg ICAgICAgICAgIH0sCisKKyAgICAgICAgICAgICAgLyoqCisgICAgICAgICAg ICAgICAgQ2FsbGJhY2sgY2FsbGVkIHdoZW4gYW4gZXJyb3JNb2RlbCBpcyBz ZXQKKyAgICAgICAgICAgICAgICB3aXRoIGludmFsaWQgdmFsdWUgYW5kIGVy cm9ybXNnIGlzIHNldCBpbnRvCisgICAgICAgICAgICAgICAgc3RhdHVzIGJh ciBlbGVtZW50IGFuZCBuZXh0IGJ1dHRvbiBpcyBkaXNhYmxlZAorICAgICAg ICAgICAgICAqLworICAgICAgICAgICAgICBvblNlc3Npb25JbnZhbGlkOiBm dW5jdGlvbihtc2cpIHsKKyAgICAgICAgICAgICAgICAkKCcuZXJyb3JfbXNn X2RpdiBwJykuaHRtbChtc2cpLnJlbW92ZUNsYXNzKCJoaWRlIik7CisKKyAg ICAgICAgICAgICAgICAvLyBFbmFibGUgZGlzYWJsZSBOZXh0IGJ1dHRvbgor ICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQnV0dG9ucyhmYWxzZSk7Cisg ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAgIH0s CisKKyAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgQ2FsbGJh Y2sgY2FsbGVkIHdoZW4gYW55dGhpbmcgaXMgc2V0IGludG8gbW9kZWwKKyAg ICAgICAgICAgICAgICB0aHVzIGhpZGUgZXJyb3IgbXNnIGVsZW1lbnQgYW5k IGVuYWJsZSBuZXh0IGJ1dHRvbgorICAgICAgICAgICAgICAgIHN0YXR1cyBi YXIgZWxlbWVudCBhbmQgbmV4dCBidXR0b24gaXMgZGlzYWJsZWQKKyAgICAg ICAgICAgICAgKi8KKyAgICAgICAgICAgICAgb25TZXNzaW9uVmFsaWRhdGVk OiBmdW5jdGlvbihzZXNzSGFzQ2hhbmdlZCkgeworICAgICAgICAgICAgICAg ICQoJy5lcnJvcl9tc2dfZGl2IHAnKS5lbXB0eSgpLmFkZENsYXNzKCJoaWRl Iik7CisKKyAgICAgICAgICAgICAgICAvLyBFbmFibGUgZGlzYWJsZSBOZXh0 IGJ1dHRvbgorICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQnV0dG9ucyhz ZXNzSGFzQ2hhbmdlZCk7CisgICAgICAgICAgICAgIH0sCisKKyAgICAgICAg ICAgICAgLyoqCisgICAgICAgICAgICAgICAgUmVtb3ZlL0RlbGV0ZSBvYmpl Y3RzLCBhdHRyaWJ1dGVzCisgICAgICAgICAgICAgICAgaW4gd2l6YXJkIG9u IHdpemFyZCBjbG9zZSBvciBmaW5pc2gKKyAgICAgICAgICAgICAgICB0byBy ZWNsYWltIG1lbW9yeQorICAgICAgICAgICAgICAqLworICAgICAgICAgICAg ICByZWxlYXNlT2JqZWN0czogZnVuY3Rpb24oKXsKKyAgICAgICAgICAgICAg ICB2YXIgc2VsZiA9IHRoaXM7CisKKyAgICAgICAgICAgICAgICBpZighXy5p c1VuZGVmaW5lZChzZWxmLmRiT2JqZWN0RmlsdGVyKSkgeworICAgICAgICAg ICAgICAgICAgc2VsZi5kYk9iamVjdEZpbHRlci5yZW1vdmUoKTsKKyAgICAg ICAgICAgICAgICAgIHNlbGYuZGJPYmplY3RGaWx0ZXIgPSB1bmRlZmluZWQ7 CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYoIV8u aXNVbmRlZmluZWQoc2VsZi5jbGllbnRTaWRlRmlsdGVyKSkgeworICAgICAg ICAgICAgICAgICAgc2VsZi5jbGllbnRTaWRlRmlsdGVyLnJlbW92ZSgpOwor ICAgICAgICAgICAgICAgICAgc2VsZi5jbGllbnRTaWRlRmlsdGVyID0gdW5k ZWZpbmVkOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg IC8vIGNsZWFyIG9iamVjdCBwcml2IGFycmF5CisgICAgICAgICAgICAgICAg aWYoIV8uaXNOdWxsKHNlbGYub2JqX3ByaXYpICYmCisgICAgICAgICAgICAg ICAgICAhXy5pc1VuZGVmaW5lZChzZWxmLm9ial9wcml2KSkgeworICAgICAg ICAgICAgICAgICAgc2VsZi5vYmpfcHJpdiA9IFtdOworICAgICAgICAgICAg ICAgICAgZGVsZXRlIHNlbGYub2JqX3ByaXY7CisgICAgICAgICAgICAgICAg fQorCisgICAgICAgICAgICAgICAgLy8gRGVsZXRlIFdpemFyZCBQYWdlcywg Y2xlYXIgbW9kZWwgYW5kIGNsZWFudXAgdmlldworICAgICAgICAgICAgICAg IGlmKCFfLmlzVW5kZWZpbmVkKHNlbGYuZGJPYmplY3RUeXBlUGFnZSkgJiYK KyAgICAgICAgICAgICAgICAgICFfLmlzTnVsbChzZWxmLmRiT2JqZWN0VHlw ZVBhZ2UpKSB7CisgICAgICAgICAgICAgICAgICBpZighXy5pc1VuZGVmaW5l ZChzZWxmLmRiT2JqZWN0VHlwZVBhZ2UuZ2V0KCdtb2RlbCcpKSAmJgorICAg ICAgICAgICAgICAgICAgICAhXy5pc051bGwoc2VsZi5kYk9iamVjdFR5cGVQ YWdlLmdldCgnbW9kZWwnKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgc2Vs Zi5kYk9iamVjdFR5cGVQYWdlLmdldCgnbW9kZWwnKS5jbGVhcigpOworICAg ICAgICAgICAgICAgICAgICBzZWxmLmRiT2JqZWN0VHlwZVBhZ2UuZ2V0KCd2 aWV3JykuY2xlYW51cCgpOworICAgICAgICAgICAgICAgICAgICBzZWxmLmRi T2JqZWN0VHlwZVBhZ2UgPSB1bmRlZmluZWQ7CisgICAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYo IV8uaXNVbmRlZmluZWQoc2VsZi5wcml2aWxlZ2VQYWdlKSAmJgorICAgICAg ICAgICAgICAgICAgIV8uaXNOdWxsKHNlbGYucHJpdmlsZWdlUGFnZSkpIHsK KyAgICAgICAgICAgICAgICAgIGlmKCFfLmlzVW5kZWZpbmVkKHNlbGYucHJp dmlsZWdlUGFnZS5nZXQoJ21vZGVsJykpICYmCisgICAgICAgICAgICAgICAg ICAgICFfLmlzTnVsbChzZWxmLnByaXZpbGVnZVBhZ2UuZ2V0KCdtb2RlbCcp KSkgeworICAgICAgICAgICAgICAgICAgICBzZWxmLnByaXZpbGVnZVBhZ2Uu Z2V0KCdtb2RlbCcpLmNsZWFyKCk7CisgICAgICAgICAgICAgICAgICAgIHNl bGYucHJpdmlsZWdlUGFnZS5nZXQoJ3ZpZXcnKS5jbGVhbnVwKCk7CisgICAg ICAgICAgICAgICAgICAgIHNlbGYucHJpdmlsZWdlUGFnZSA9IHVuZGVmaW5l ZDsKKyAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisK KyAgICAgICAgICAgICAgICBpZighXy5pc1VuZGVmaW5lZChzZWxmLnJldmll d1NRTFBhZ2UpICYmCisgICAgICAgICAgICAgICAgICAhXy5pc051bGwoc2Vs Zi5yZXZpZXdTUUxQYWdlKSkgeworICAgICAgICAgICAgICAgICAgaWYoIV8u aXNVbmRlZmluZWQoc2VsZi5yZXZpZXdTUUxQYWdlLmdldCgnbW9kZWwnKSkg JiYKKyAgICAgICAgICAgICAgICAgICAgIV8uaXNOdWxsKHNlbGYucmV2aWV3 U1FMUGFnZS5nZXQoJ21vZGVsJykpKSB7CisgICAgICAgICAgICAgICAgICAg IHNlbGYucmV2aWV3U1FMUGFnZS5nZXQoJ21vZGVsJykuY2xlYXIoKTsKKyAg ICAgICAgICAgICAgICAgICAgc2VsZi5yZXZpZXdTUUxQYWdlID0gdW5kZWZp bmVkOworICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0K KworICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBTcWwgY29udHJvbAorICAg ICAgICAgICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChzZWxmLnNxbENvbnRy b2wpKSB7CisgICAgICAgICAgICAgICAgICBzZWxmLnNxbENvbnRyb2wucmVt b3ZlKCk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg Ly8gQ2xlYXIgcHJpdk1vZGVsCisgICAgICAgICAgICAgICAgaWYoIV8uaXNO dWxsKHNlbGYucHJpdk1vZGVsKSAmJgorICAgICAgICAgICAgICAgICAgIV8u aXNVbmRlZmluZWQoc2VsZi5wcml2TW9kZWwpKSB7CisgICAgICAgICAgICAg ICAgICBzZWxmLnByaXZNb2RlbC5jbGVhcigpOworICAgICAgICAgICAgICAg IH0KKworICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBjb2xsZWN0aW9uIGNv bnRhaW5pbmcgZGIgb2JqZWN0IGRhdGEKKyAgICAgICAgICAgICAgICBpZigh Xy5pc051bGwoc2VsZi5jb2xsKSAmJgorICAgICAgICAgICAgICAgICAgIV8u aXNVbmRlZmluZWQoc2VsZi5jb2xsKSkgeworICAgICAgICAgICAgICAgICAg c2VsZi5jb2xsLnJlc2V0KCk7CisgICAgICAgICAgICAgICAgICBzZWxmLmNv bGwgPSB1bmRlZmluZWQ7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAg ICAgICAgIC8vIERlbGV0ZSBXaXphcmQKKyAgICAgICAgICAgICAgICBpZigh Xy5pc051bGwoc2VsZi53aXphcmQpICYmCisgICAgICAgICAgICAgICAgICAh Xy5pc1VuZGVmaW5lZChzZWxmLndpemFyZCkpIHsKKyAgICAgICAgICAgICAg ICAgIHNlbGYud2l6YXJkLmNvbGxlY3Rpb24ucmVzZXQoKTsKKyAgICAgICAg ICAgICAgICAgIHNlbGYud2l6YXJkLmN1cnJfcGFnZSA9IHVuZGVmaW5lZDsK KyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgfSwKKworICAg ICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAgICBFdmVyeSB0aW1lIGEg d2l6YXJkIGlzIG9wZW5lZCwgdGhpcyBmdW5jdGlvbgorICAgICAgICAgICAg ICAgIGlzIGNhbGxlZCBldmVyeXRpbWUuIEl0IGhhcyBXaXphcmQgUGFnZXMg d2hpY2gKKyAgICAgICAgICAgICAgICBhcmUgcmVuZGVyZWQgYnkgdGhlIFdp emFyZCBDbGFzczoKKworICAgICAgICAgICAgICAgIEBjbGFzcyB7cGdCcm93 c2VyLldpemFyZFBhZ2V9IGRiT2JqZWN0VHlwZTEgLSBUaGlzIHBhZ2UKKyAg ICAgICAgICAgICAgICBAZXh0ZW5kcyB7QmFja2JvbmUuTW9kZWx9CisgICAg ICAgICAgICAgICAgcmVuZGVycyBhIGdyaWQgb2YgRGF0YWJhc2UgT2JqZWN0 IFR5cGVzIHN1Y2ggYXMKKyAgICAgICAgICAgICAgICAgIFNjaGVtYXMsIFZp ZXdzIGFuZCBTZXF1ZW5jZXMgZXRjLgorCisgICAgICAgICAgICAgICAgQGNs YXNzIHtwZ0Jyb3dzZXIuV2l6YXJkUGFnZX0gV2l6YXJkUGFnZTIgLSBUaGlz IHBhZ2UKKyAgICAgICAgICAgICAgICBAZXh0ZW5kcyB7QmFja2JvbmUuTW9k ZWx9CisgICAgICAgICAgICAgICAgYWRkcyBQcml2aWxlZ2UgQ29udHJvbCB3 aGljaCBwcm92aWRlcyBncmFudCBwcml2aWxlZ2VzCisgICAgICAgICAgICAg ICAgc3VjaCBhcyAiQ3JlYXRlLCBJbnNlcnQsIERlbGV0ZSwgVXBkYXRlIiBz byBvbiB0aGUKKyAgICAgICAgICAgICAgICBkYXRhYmFzZSBvYmplY3RzIHNl bGVjdGVkIG9uIFdpemFyZCBQYWdlcy4KKworICAgICAgICAgICAgICAgIEBj bGFzcyB7cGdCcm93c2VyLldpemFyZFBhZ2V9IFdpemFyZFBhZ2UzIC0gVGhp cyBwYWdlCisgICAgICAgICAgICAgICAgZGlzcGxheXMgdGhlIGdlbmVyYXRl ZCBHUkFOVCBTUUwgcXVlcnkgZm9yIHRoZSBEYgorICAgICAgICAgICAgICAg IG9iamVjdHMgc2VsZWN0ZWQgd2l0aCB0aGUgc3BlY2lmaWMgcHJpdmlsZWdl cyBhZGRlZCB0byBpdC4KKyAgICAgICAgICAgICAgICBAZXh0ZW5kcyB7QmFj a2JvbmUuTW9kZWx9CisKKyAgICAgICAgICAgICAgICBAY2xhc3Mge0JhY2ti b25lLkNvbGxlY3Rpb259IFdpemFyZENvbGxlY3Rpb24gLSBJdCBpcyB0aGUK KyAgICAgICAgICAgICAgICBjb2xsZWN0aW9uIG9mIHdpemFyZCBwYWdlcwor CisgICAgICAgICAgICAgICAgQGNsYXNzIHtwZ0Jyb3dzZXIuV2l6YXJkfSB3 aXphcmQgLSBJdHMgdGFzayBpczoKKyAgICAgICAgICAgICAgICAtIENyZWF0 ZSBhIFdpemFyZAorICAgICAgICAgICAgICAgIC0gQWRkIEJ1dHRvbnMsIENh bGxiYWNrcyB0byBpdC4KKyAgICAgICAgICAgICAgICAtIFJlbmRlciBXaXph cmRQYWdlcworICAgICAgICAgICAgICAgIEBleHRlbmRzIHtCYWNrYm9uZS5W aWV3fQorCisgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgIGJ1aWxk OiBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRz LmNvbnRlbnQuYXBwZW5kQ2hpbGQoJGNvbnRhaW5lci5nZXQoMCkpOworICAg ICAgICAgICAgICB9LAorCisgICAgICAgICAgICAgIC8vUmV0dXJucyBsaXN0 IG9mIEFjbHMgZGVmaW5lZCBmb3Igbm9kZXMKKyAgICAgICAgICAgICAgZ2V0 X2pzb25fZGF0YTogZnVuY3Rpb24oZ2lkLCBzaWQsIGRpZCkgeworICAgICAg ICAgICAgICAgIHZhciB1cmwgPSAie3sgdXJsX2ZvcignZ3JhbnRfd2l6YXJk LmluZGV4JykgfX0iICsgImFjbC8iICsKKyAgICAgICAgICAgICAgICAgICAg UygnJXMvJXMvJXMvJykuc3ByaW50ZigKKyAgICAgICAgICAgICAgICAgICAg ICAgIGVuY29kZVVSSShnaWQpLCBlbmNvZGVVUkkoc2lkKSwgZW5jb2RlVVJJ KGRpZCkpLnZhbHVlKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuICQuYWph eCh7CisgICAgICAgICAgICAgICAgICBhc3luYzogZmFsc2UsCisgICAgICAg ICAgICAgICAgICB1cmw6IHVybCwKKyAgICAgICAgICAgICAgICAgIGRhdGFU eXBlOiAnanNvbnAnCisgICAgICAgICAgICAgICAgfSk7CisKKyAgICAgICAg ICAgICAgfSwKKyAgICAgICAgICAgICAgcHJlcGFyZTpmdW5jdGlvbigpIHsK KworICAgICAgICAgICAgICAgICRjb250YWluZXIuZW1wdHkoKS5hcHBlbmQo IjxkaXYgY2xhc3M9J2dyYW50X3dpemFyZF9jb250YWluZXInPjwvZGl2PiIp OworCisgICAgICAgICAgICAgICAgLy8gRGVmaW5lIGVsIGZvciB3aXphcmQg dmlldworICAgICAgICAgICAgICAgIHZhciBlbCA9ICQoJy5ncmFudF93aXph cmRfY29udGFpbmVyJyk7CisKKyAgICAgICAgICAgICAgICAvLyBFeHRyYWN0 IHRoZSBkYXRhIGZyb20gdGhlIHNlbGVjdGVkIHRyZWUgbm9kZQorICAgICAg ICAgICAgICAgIHZhciB0ID0gcGdCcm93c2VyLnRyZWUsCisgICAgICAgICAg ICAgICAgICAgIGkgPSB0LnNlbGVjdGVkKCksCisgICAgICAgICAgICAgICAg ICAgIGQgPSB0aGlzLmQgPSBpICYmIGkubGVuZ3RoID09IDEgPyB0Lml0ZW1E YXRhKGkpIDogdW5kZWZpbmVkLAorICAgICAgICAgICAgICAgICAgICBpbmZv ID0gdGhpcy5pbmZvID0gcGdCcm93c2VyLk5vZGUuZ2V0VHJlZU5vZGVIaWVy YXJjaHkoaSksCisgICAgICAgICAgICAgICAgICAgIGljb24gPSBkLmljb247 CisKKyAgICAgICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAgICAgIEdl bmVyYXRlIGEgVVJMIHVzaW5nOgorICAgICAgICAgICAgICAgICAgZ2lkLCBk aWQsIHNpZChzZXJ2ZXIgaWQpLCBub2RlX2lkKG5vZGUgaWQpLAorICAgICAg ICAgICAgICAgICAgbm9kZV8obm9kZSBuYW1lKSwgbm9kZV90eXBlKG5vZGUg dHlwZSkKKyAgICAgICAgICAgICAgICAgIGFuZCBwYXNzIGl0IHRvIGNvbGxl Y3Rpb24gd2hpY2ggd2lsbCBmZXRjaCBPYmplY3QgVHlwZSBwcm9wZXJ0aWVz LgorICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgdmFyIGdp ZCA9IGluZm9bJ3NlcnZlci1ncm91cCddLl9pZCwKKyAgICAgICAgICAgICAg ICAgICAgc2lkID0gaW5mby5zZXJ2ZXIuX2lkLAorICAgICAgICAgICAgICAg ICAgICBkaWQgPSBpbmZvLmRhdGFiYXNlLl9pZCwKKyAgICAgICAgICAgICAg ICAgICAgbm9kZV9pZCA9IGQuX2lkLAorCisgICAgICAgICAgICAgICAgICAg IC8qKgorICAgICAgICAgICAgICAgICAgICAgIGdldCBub2RlIG5hbWUgb25s eS4gdXNlZCBpbiBtYXBwaW5nIHdpdGggb2JqZWN0IHR5cGVzIGRlZmluZWQK KyAgICAgICAgICAgICAgICAgICAgICBpbiBhbGxvd2VkX2FjbC5qc29uCisg ICAgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBu b2RlX3R5cGUgPSBkLl90eXBlLnJlcGxhY2UoJ2NvbGwtJywgJycpLnJlcGxh Y2UoJ21hdGVyaWFsaXplZF8nLCAnJyksCisgICAgICAgICAgICAgICAgICAg IG5vZGVfbGFiZWwgPSBkLmxhYmVsOworCisgICAgICAgICAgICAgICAgLy8g RmV0Y2ggcHJpdmlsZWdlcyBzcGVjaWZpYyB0byBub2RlcworICAgICAgICAg ICAgICAgIHZhciBqc29uX2RhdGEgPSB0aGlzLmdldF9qc29uX2RhdGEoZ2lk LCBzaWQsIGRpZCk7CisgICAgICAgICAgICAgICAgdmFyIHByaXZEaWN0ID0g SlNPTi5wYXJzZShqc29uX2RhdGEucmVzcG9uc2VUZXh0KTsKKworICAgICAg ICAgICAgICAgIC8vIENvbGxlY3Rpb24gdXJsIHRvIGZldGNoIGRhdGFiYXNl IG9iamVjdCB0eXBlcyBmb3Igb2JqZWN0cyBmaWVsZAorICAgICAgICAgICAg ICAgIHZhciBiYXNlVXJsID0gInt7IHVybF9mb3IoJ2dyYW50X3dpemFyZC5p bmRleCcpIH19IiArICJwcm9wZXJ0aWVzLyIgKworICAgICAgICAgICAgICAg ICAgICBTKCclcy8lcy8lcy8lcy8lcy8nKS5zcHJpbnRmKAorICAgICAgICAg ICAgICAgICAgICAgICAgZW5jb2RlVVJJKGdpZCksIGVuY29kZVVSSShzaWQp LCBlbmNvZGVVUkkoZGlkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGVu Y29kZVVSSShub2RlX2lkKSwgZW5jb2RlVVJJKG5vZGVfdHlwZSkpLnZhbHVl KCk7CisKKyAgICAgICAgICAgICAgICAgICAgLy8gTW9kZWwncyBzYXZlIHVy bAorICAgICAgICAgICAgICAgICAgICBzYXZlVXJsID0gInt7IHVybF9mb3Io J2dyYW50X3dpemFyZC5pbmRleCcpIH19IiArICJzYXZlLyIgKworICAgICAg ICAgICAgICAgICAgICAgICAgUygnJXMvJXMvJXMvJykuc3ByaW50ZigKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVVUkkoZ2lkKSwgZW5j b2RlVVJJKHNpZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5j b2RlVVJJKGRpZCkpLnZhbHVlKCksCisKKyAgICAgICAgICAgICAgICAgICAg Ly8gZ2VuZXJhdGUgZW5jb2RlZCB1cmwgYmFzZWQgb24gd2l6YXJkIHR5cGUK KyAgICAgICAgICAgICAgICAgICAgbXNxbF91cmwgPSB0aGlzLm1zcWxfdXJs ID0gIi9ncmFudF93aXphcmQvbXNxbC8iKworICAgICAgICAgICAgICAgICAg ICAgIFMoJyVzLyVzLyVzLycpLnNwcmludGYoCisgICAgICAgICAgICAgICAg ICAgICAgICAgIGVuY29kZVVSSShnaWQpLCBlbmNvZGVVUkkoc2lkKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlVVJJKGRpZCkpLnZhbHVl KCksCisKKyAgICAgICAgICAgICAgICAgICAgQ29sbCA9IEJhY2tib25lLkNv bGxlY3Rpb24uZXh0ZW5kKHsKKyAgICAgICAgICAgICAgICAgICAgICBtb2Rl bDogRGF0YWJhc2VPYmplY3RNb2RlbCwKKyAgICAgICAgICAgICAgICAgICAg ICB1cmw6IGJhc2VVcmwKKyAgICAgICAgICAgICAgICAgICAgfSksCisKKyAg ICAgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGluc3RhbmNlcyBvZiBjb2xs ZWN0aW9uIGFuZCBmaWx0ZXIKKyAgICAgICAgICAgICAgICAgICAgY29sbCA9 IHRoaXMuY29sbCA9IG5ldyBDb2xsKCksCisKKyAgICAgICAgICAgICAgICAg ICAgY29sbC5jb21wYXJhdG9yID0gZnVuY3Rpb24obW9kZWwpIHsKKyAgICAg ICAgICAgICAgICAgICAgICByZXR1cm4gbW9kZWwuZ2V0KCdvYmplY3RfdHlw ZScpOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAg ICAgICAgY29sbC5zb3J0KCk7CisgICAgICAgICAgICAgICAgICAgIGRiT2Jq ZWN0RmlsdGVyID0gdGhpcy5kYk9iamVjdEZpbHRlciA9IHRoaXMuRGJPYmpl Y3RGaWx0ZXIoY29sbCk7CisKKyAgICAgICAgICAgICAgICAvKioKKyAgICAg ICAgICAgICAgICAgIHByaXZBcnJheSBob2xkcyBvYmplY3RzIHNlbGVjdGVk IHdoaWNoIGZ1cnRoZXIgaGVscHMKKyAgICAgICAgICAgICAgICAgIGluIGNy ZWF0aW5nIHByaXZpbGVnZXMgTW9kZWwKKyAgICAgICAgICAgICAgICAqLwor ICAgICAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKKyAgICAgICAgICAg ICAgICBzZWxmLnByaXZBcnJheSA9IFtdOworCisgICAgICAgICAgICAgICAg LyoqCisgICAgICAgICAgICAgICAgICBPdmVycmlkZSBiYWNrZ3JpZCBsaXN0 ZW5lciAiYmFja2dyaWQ6c2VsZWN0ZWQiIHRvCisgICAgICAgICAgICAgICAg ICBBZGQvUmVtb3ZlIG1vZGVsIHRvL2Zyb20gb2JqZWN0cyBjb2xsZWN0aW9u CisgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBjb2xsLm9u KCdiYWNrZ3JpZDpzZWxlY3RlZCcsIGZ1bmN0aW9uKG1vZGVsLCBzZWxlY3Rl ZCkgeworICAgICAgICAgICAgICAgICAgbW9kZWwuc2V0KCdzZWxlY3RlZCcs IHNlbGVjdGVkKTsKKworICAgICAgICAgICAgICAgICAgdmFyIG9iamVjdF90 eXBlID0gbW9kZWwuZ2V0KCdvYmplY3RfdHlwZScpOworICAgICAgICAgICAg ICAgICAgc3dpdGNoIChvYmplY3RfdHlwZSkKKyAgICAgICAgICAgICAgICAg IHsKKyAgICAgICAgICAgICAgICAgICAgY2FzZSAnRnVuY3Rpb24nOgorICAg ICAgICAgICAgICAgICAgICAgIG9iamVjdF90eXBlID0gJ2Z1bmN0aW9uJzsK KyAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg ICAgICAgY2FzZSAnVHJpZ2dlciBGdW5jdGlvbic6CisgICAgICAgICAgICAg ICAgICAgICAgb2JqZWN0X3R5cGUgPSAnZnVuY3Rpb24nOworICAgICAgICAg ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBjYXNl ICdUYWJsZSc6CisgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0X3R5cGUg PSAndGFibGUnOworICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAg ICAgICAgICAgICAgICAgICBjYXNlICdTZXF1ZW5jZSc6CisgICAgICAgICAg ICAgICAgICAgICAgb2JqZWN0X3R5cGUgPSAnc2VxdWVuY2UnOworICAgICAg ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICBj YXNlICdWaWV3JzoKKyAgICAgICAgICAgICAgICAgICAgICBvYmplY3RfdHlw ZSA9ICd0YWJsZSc7CisgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg ICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgIC8qKgor ICAgICAgICAgICAgICAgICAgICBpZiBhIHJvdyAoY2hlY2tib3gpIGlzIGNo ZWNrZWQsIGFkZCB0aGF0IG1vZGVsCisgICAgICAgICAgICAgICAgICAgIGlu dG8gY29sbGVjdGlvbiwgd2hlbiB1bmNoZWNrZWQgcmVtb3ZlIGl0IGZyb20K KyAgICAgICAgICAgICAgICAgICAgbW9kZWwuCisKKyAgICAgICAgICAgICAg ICAgICAgQWxzbyBwdXNoL3BvcCBvYmplY3QgdHlwZSBpbi9mcm9tIHByaXZB cnJheQorICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAg IGlmKHNlbGVjdGVkKSB7CisgICAgICAgICAgICAgICAgICAgIGlmKF8uaW5k ZXhPZihzZWxmLnByaXZBcnJheSwgb2JqZWN0X3R5cGUpID09IC0xKQorICAg ICAgICAgICAgICAgICAgICAgIHNlbGYucHJpdkFycmF5LnB1c2gob2JqZWN0 X3R5cGUpOworICAgICAgICAgICAgICAgICAgICBuZXdNb2RlbC5nZXQoJ29i amVjdHMnKS5hZGQobW9kZWwsIHsgc2lsZW50OiB0cnVlIH0pOworICAgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAg ICAgICAgICAgICAgICAgIHZhciBpZHggPSBzZWxmLnByaXZBcnJheS5pbmRl eE9mKG9iamVjdF90eXBlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYoaWR4 ICE9LTEpCisgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wcml2QXJyYXku c3BsaWNlKGlkeCwgMSk7CisgICAgICAgICAgICAgICAgICAgIG5ld01vZGVs LmdldCgnb2JqZWN0cycpLnJlbW92ZShtb2RlbCk7CisgICAgICAgICAgICAg ICAgICB9CisKKyAgICAgICAgICAgICAgICAgIC8vIHZhbGlkYXRlIG1vZGVs IG9uIGNoZWNrYm94IGNoZWNrL3VuY2hlY2sKKyAgICAgICAgICAgICAgICAg IHZhciBtc2cgPSAgbW9kZWwudmFsaWRhdGUuY2FsbChuZXdNb2RlbCk7CisK KyAgICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAgICAgICAgICBJ ZiBubyBvYmplY3QgdHlwZSBpcyBzZWxlY3RlZCwgc2V0IGVycm9yIG1zZwor ICAgICAgICAgICAgICAgICAgICBhbmQgZGlzYWJsZSBuZXh0IGJ1dHRvbiwg ZWxzZSBlbmFibGUgbmV4dCBidXR0b24KKyAgICAgICAgICAgICAgICAgICov CisgICAgICAgICAgICAgICAgICBpZihtc2cpCisgICAgICAgICAgICAgICAg ICAgIHNlbGYub25TZXNzaW9uSW52YWxpZC5jYWxsKHNlbGYsIG1zZyk7Cisg ICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHNl bGYub25TZXNzaW9uVmFsaWRhdGVkLmNhbGwoc2VsZiwgdHJ1ZSk7CisgICAg ICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgICAgICAvKioKKyAgICAg ICAgICAgICAgICAgIEl0IGlzIHRoZSBtYWluIG1vZGVsIHdpdGggc2NoZW1h IGRlZmluZWQKKyAgICAgICAgICAgICAgICAgIEV2ZXJ5IHRpbWUgYSBuZXcg d2l6YXJkIGlzIG9wZW5lZCwKKyAgICAgICAgICAgICAgICAgIGEgbmV3IG1v ZGVsIHNob3VsZCBjcmVhdGUuCisgICAgICAgICAgICAgICAgKi8KKyAgICAg ICAgICAgICAgICB2YXIgR3JhbnRXaXphcmRNb2RlbCA9IHBnTm9kZS5Nb2Rl bC5leHRlbmQoeworICAgICAgICAgICAgICAgICAgZGVmYXVsdHM6IHsKKyAg ICAgICAgICAgICAgICAgICAgb2JqZWN0czogdW5kZWZpbmVkLAorICAgICAg ICAgICAgICAgICAgICBhY2w6IHVuZGVmaW5lZAorICAgICAgICAgICAgICAg ICAgfSwKKyAgICAgICAgICAgICAgICAgIHNjaGVtYTogWworICAgICAgICAg ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgaWQ6ICdvYmpl Y3RzJywgbGFiZWw6ICd7eyBfKCJPYmplY3RzIikgfX0nLCBtb2RlbDogRGF0 YWJhc2VPYmplY3RNb2RlbCwKKyAgICAgICAgICAgICAgICAgICAgICB0eXBl OiAnY29sbGVjdGlvbicsIGdyb3VwOiAnT2JqZWN0cycKKyAgICAgICAgICAg ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgICAgICAgIGlkOiAnYWNsJywgbGFiZWw6ICd7eyBfKCJQcml2aWxl Z2VzIikgfX0nLAorICAgICAgICAgICAgICAgICAgICAgIG1vZGVsOiBwZ0Fk bWluLkJyb3dzZXIuTm9kZS5Qcml2aWxlZ2VSb2xlTW9kZWwsCisgICAgICAg ICAgICAgICAgICAgICAgdHlwZTogJ2NvbGxlY3Rpb24nLCBjYW5BZGQ6IHRy dWUsCisgICAgICAgICAgICAgICAgICAgICAgY2FuRGVsZXRlOiB0cnVlLCBj b250cm9sOiAndW5pcXVlLWNvbC1jb2xsZWN0aW9uJworICAgICAgICAgICAg ICAgICAgICB9CisgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAg ICAgICAgdXJsUm9vdDogc2F2ZVVybAorICAgICAgICAgICAgICAgIH0pOwor CisgICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgICBDcmVh dGUgaW5zdGFuY2Ugb2YgR3JhbnRXaXphcmQgTW9kZWwsIHByb3ZpZGUgdXJs Um9vdAorICAgICAgICAgICAgICAgICAgbm9kZV9pbmZvIG9iamVjdCwgR2Vu ZXJhdGUgZmllbGRzIG9iamVjdHMKKyAgICAgICAgICAgICAgICAqLworICAg ICAgICAgICAgICAgIHZhciBuZXdNb2RlbCA9IG5ldyBHcmFudFdpemFyZE1v ZGVsKHt9LCB7IG5vZGVfaW5mbzogaW5mbyB9KTsKKworICAgICAgICAgICAg ICAgIC8qKgorICAgICAgICAgICAgICAgICAgRmV0Y2ggZGF0YSBmcm9tIHNl cnZlciBhbmQgc2V0IGludG8gZ3JpZAorICAgICAgICAgICAgICAgICAgYW5k IHNob3cvaGlkZSBwcm9ncmVzcyBiYXIKKyAgICAgICAgICAgICAgICAqLwor ICAgICAgICAgICAgICAgICQoJy53aXphcmQtcHJvZ3Jlc3MtYmFyIHAnKS5z aG93KCk7CisKKyAgICAgICAgICAgICAgICBjb2xsLmZldGNoKHsKKyAgICAg ICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGNvbGxlY3Rpb24sIGRh dGEpIHsKKyAgICAgICAgICAgICAgICAgICAgJCgnLndpemFyZC1wcm9ncmVz cy1iYXIgcCcpLmh0bWwoJycpOworICAgICAgICAgICAgICAgICAgfSwKKyAg ICAgICAgICAgICAgICAgIHJlc2V0OiB0cnVlCisgICAgICAgICAgICAgICAg fSwgdGhpcyk7CisKKyAgICAgICAgICAgICAgICAvLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vCisgICAgICAgICAgICAgICAgLy8gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvLworICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgV2l6YXJk IFBhZ2UgZm9yIERiIE9iamVjdCBUeXBlICAgICAgICAgICAgICAgICAgICAg ICAgLy8KKyAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8vCisgICAgICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v LworCisgICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgICBD cmVhdGUgd2l6YXJkIHBhZ2UuIEl0IHJlbmRlcnMgYSBncmlkIG9mCisgICAg ICAgICAgICAgICAgICBEYXRhYmFzZSBPYmplY3QgVHlwZXMgc3VjaCBhcwor ICAgICAgICAgICAgICAgICAgU2NoZW1hcywgVmlld3MgYW5kIFNlcXVlbmNl cyBldGMuCisgICAgICAgICAgICAgICAgICBTZXQgZGVmYXVsdCB2YWx1ZXMK KyAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgIHZhciBkYk9i amVjdFR5cGVQYWdlID0gc2VsZi5kYk9iamVjdFR5cGVQYWdlID0gbmV3IHBn QnJvd3Nlci5XaXphcmRQYWdlKHsKKyAgICAgICAgICAgICAgICAgIGlkOiAx LAorICAgICAgICAgICAgICAgICAgcGFnZV90aXRsZTogXygnT2JqZWN0IFNl bGVjdGlvbiAoc3RlcCAxIG9mIDMpJyksCisgICAgICAgICAgICAgICAgICBk aXNhYmxlX3ByZXY6IHRydWUsCisgICAgICAgICAgICAgICAgICBkaXNhYmxl X25leHQ6IHRydWUsCisgICAgICAgICAgICAgICAgICBzaG93X2Rlc2NyaXB0 aW9uOiBfKCdQbGVhc2Ugc2VsZWN0IG9iamVjdHMgZnJvbSB0aGUgbGlzdCBi ZWxvdy4nKSwKKyAgICAgICAgICAgICAgICAgIHNob3dfcHJvZ3Jlc3NfYmFy OiBfKCdQbGVhc2Ugd2FpdCB3aGlsZSBmZXRjaGluZyByZWNvcmRzLi4uJyks CisgICAgICAgICAgICAgICAgICBtb2RlbDogbmV3TW9kZWwsCisgICAgICAg ICAgICAgICAgICB2aWV3OiBuZXcgKGZ1bmN0aW9uKCkgeworCisgICAgICAg ICAgICAgICAgICAgIC8vIFNldCBwYWdlIEluc3RhbmNlCisgICAgICAgICAg ICAgICAgICAgIHZhciBwYWdlVmlldyA9IHRoaXM7CisKKyAgICAgICAgICAg ICAgICAgICAgXy5leHRlbmQocGFnZVZpZXcsIHsKKworICAgICAgICAgICAg ICAgICAgICAgIC8vIFJlbW92ZSBncmlkIGlmIGl0IGlzIGJlZm9yZSByZW5k ZXIKKyAgICAgICAgICAgICAgICAgICAgICBjbGVhbnVwOiBmdW5jdGlvbigp IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmdyaWQpIHsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkLnJlbW92ZSgp OworICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5ncmlk OworICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWQgPSBudWxs OworICAgICAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg ICAgICAgICAgICAvLyBSZW1vdmUgZ3JpZCBlbGVtZW50IGlmIGV4aXN0cwor ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZWwpIHsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgJCh0aGlzLmVsKS5yZW1vdmUoKTsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuZWw7CisgICAg ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAg fSwKKworICAgICAgICAgICAgICAgICAgICAgIC8vIERlbGV0ZSBncmlkIGJl Zm9yZSByZW5kZXIKKyAgICAgICAgICAgICAgICAgICAgICBncmlkOiBudWxs LAorCisgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyOiBmdW5jdGlvbigp IHsKKworICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGEgZ3Jp ZCBjb250YWluZXIKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBncmlk Qm9keSA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCc8ZGl2 IGNsYXNzPSJkYl9vYmplY3RzX2NvbnRhaW5lciI+PC9kaXY+Jyk7CisKKyAg ICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBncmlkIGlmIGV4aXRz IGJlZm9yZSByZW5kZXIKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0 aGlzLmdyaWQpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5j bGVhbnVwKCk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAg ICAgICAgICAgICAgICAgICAgIC8vIEluaXRpYWxpemUgYSBuZXcgR3JpZCBp bnN0YW5jZQorICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5ncmlkID0g bmV3IEJhY2tncmlkLkdyaWQoeworICAgICAgICAgICAgICAgICAgICAgICAg ICBjb2x1bW5zOiBfLmNsb25lKGNvbHVtbnMpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICBjb2xsZWN0aW9uOiBjb2xsLAorICAgICAgICAgICAgICAg ICAgICAgICAgICBjbGFzc05hbWU6ICJiYWNrZ3JpZCB0YWJsZS1ib3JkZXJl ZCBvYmplY3RfdHlwZV90YWJsZSIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgfSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbmRlciBz ZWxlY3Rpb24gVHlwZSBncmlkIGFuZCBwYWdpbmF0b3IKKyAgICAgICAgICAg ICAgICAgICAgICAgIGdyaWRCb2R5LmFwcGVuZCggdGhpcy5ncmlkLnJlbmRl cigpLiRlbCk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbmRl ciBTZWFyY2ggRmlsdGVyCisgICAgICAgICAgICAgICAgICAgICAgICBncmlk Qm9keS5wcmVwZW5kKAorICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm LmNsaWVudFNpZGVGaWx0ZXIucmVuZGVyKCkuZWwpOworCisgICAgICAgICAg ICAgICAgICAgICAgICAvLyBBc3NpZ24gZ3JpZEJvZHkgY29udGVudCB0byBw YWdlIGVsZW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWwg PSBncmlkQm9keTsKKworICAgICAgICAgICAgICAgICAgICAgICAgLyoqCisg ICAgICAgICAgICAgICAgICAgICAgICAgIEZldGNoIHNlbGVjdGVkIG1vZGVs cyBmcm9tIGNvbGxlY3Rpb24gYW5kCisgICAgICAgICAgICAgICAgICAgICAg ICAgIG1ha2Ugcm93cyBjaGVja2VkIGluIGdyaWQKKyAgICAgICAgICAgICAg ICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICBuZXdNb2Rl bC5nZXQoJ29iamVjdHMnKS5lYWNoKGZ1bmN0aW9uKG0pIHsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgdmFyIG1vZGVsID0gY29sbC5nZXQobS5nZXQo J29iamVjdF9pZCcpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaWYg KG1vZGVsKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sbC50 cmlnZ2VyKCdiYWNrZ3JpZDpzZWxlY3RlZCcsIG1vZGVsLCB0cnVlKTsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg ICAgICAgfSk7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlZnJl c2ggZ3JpZCB0byByZSByZW5kZXIgcm93cy4KKyAgICAgICAgICAgICAgICAg ICAgICAgIGNvbGwudHJpZ2dlcignYmFja2dyaWQ6cmVmcmVzaCcpOworCisg ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpczsKKyAgICAgICAg ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0pOworICAg ICAgICAgICAgICAgICAgfSksCisKKyAgICAgICAgICAgICAgICAgIGJlZm9y ZU5leHQ6IGZ1bmN0aW9uKG9iail7CisgICAgICAgICAgICAgICAgICAgIHZh ciBzZWxmID0gdGhpczsKKyAgICAgICAgICAgICAgICAgICAgb2JqLm9wdGlv bnMuZGlzYWJsZV9uZXh0ID0gdHJ1ZTsKKworICAgICAgICAgICAgICAgICAg ICAvKioKKyAgICAgICAgICAgICAgICAgICAgICBFbmFibGUvRGlzYWJsZSBu ZXh0IGJ1dHRvbiBvZiBwcml2aWxlZ2VQYWdlIGlmIG9iamVjdHMKKyAgICAg ICAgICAgICAgICAgICAgICBhcmUgcHJlc2VudCBpbiBtb2RlbAorICAgICAg ICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBpZighXy5p c051bGwobmV3TW9kZWwuZ2V0KCdhY2wnKSkgJiYKKyAgICAgICAgICAgICAg ICAgICAgICAhXy5pc1VuZGVmaW5lZChuZXdNb2RlbC5nZXQoJ2FjbCcpKSkg eworICAgICAgICAgICAgICAgICAgICAgIGlmKG5ld01vZGVsLmdldCgnYWNs JykubGVuZ3RoID4gMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIG9iai5j b2xsZWN0aW9uLmF0KDEpLnNldCgnZGlzYWJsZV9uZXh0JywgZmFsc2UpOwor ICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAg ICAvLyBDbGVhbiB0aGUgdmlldworICAgICAgICAgICAgICAgICAgICBpZiAo c2VsZi52aWV3KSB7CisgICAgICAgICAgICAgICAgICAgICAgc2VsZi52aWV3 LmNsZWFudXAoKTsKKyAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgc2Vs Zi52aWV3OworICAgICAgICAgICAgICAgICAgICAgIHNlbGYudmlldyA9IG51 bGw7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAg ICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAgICAgICB9LAorCisgICAg ICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgICAgICAvLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vCisgICAgICAgICAgICAgICAgLy8gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvLworICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAg V2l6YXJkIFBhZ2UgZm9yIFByaXZpbGVnZSBDb250cm9sICAgICAgICAgICAg ICAgICAgICAgLy8KKyAgICAgICAgICAgICAgICAvLyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8vCisgICAgICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLworCisgICAgICAgICAgICAgICAgLy8gV2l6YXJkIGZvciBQcml2 ZWxlZ2UgY29udHJvbAorICAgICAgICAgICAgICAgIHZhciBwcml2aWxlZ2VQ YWdlID0gc2VsZi5wcml2aWxlZ2VQYWdlID0gbmV3IHBnQnJvd3Nlci5XaXph cmRQYWdlKHsKKyAgICAgICAgICAgICAgICAgIGlkOiAyLAorICAgICAgICAg ICAgICAgICAgcGFnZV90aXRsZTogXygnUHJpdmlsZWdlcyBTZWxlY3Rpb24g KHN0ZXAgMiBvZiAzKScpLAorICAgICAgICAgICAgICAgICAgc2hvd19kZXNj cmlwdGlvbjogXygnUGxlYXNlIHNlbGVjdCBwcml2aWxlZ2VzIGZvciB0aGUg c2VsZWN0ZWQgb2JqZWN0cy4nKSwKKyAgICAgICAgICAgICAgICAgIGRpc2Fi bGVfbmV4dDogdHJ1ZSwKKyAgICAgICAgICAgICAgICAgIG1vZGVsOiBuZXdN b2RlbCwKKworICAgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGEgdmlldyBm dW5jdGlvbiBvYmplY3QKKyAgICAgICAgICAgICAgICAgIHZpZXc6IG5ldyAo ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIHZhciBwYWdlVmll dyA9IHRoaXM7CisgICAgICAgICAgICAgICAgICAgICAgXy5leHRlbmQocGFn ZVZpZXcsIHsKKworICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVuZGVy IFByaXZlbGVnZSBjb250cm9sIHRvIGdlbmVyYXRlIGl0cyBodG1sIG1hcmt1 cAorICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyOiBmdW5jdGlvbigp IHsKKworICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgb2JqX3ByaXYg PSBbXTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5wcml2QXJy YXkgPSBfLnVuaXEoc2VsZi5wcml2QXJyYXkpOworICAgICAgICAgICAgICAg ICAgICAgICAgICBfLmVhY2goc2VsZi5wcml2QXJyYXksIGZ1bmN0aW9uKHBy aXYpeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYub2JqX3By aXYgPSBvYmpfcHJpdiA9IF8udW5pb24ob2JqX3ByaXYgLCBwcml2RGljdFtw cml2XS5hY2wpOworICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKwor ICAgICAgICAgICAgICAgICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBEZWZpbmUgUHJpdk1vZGVsIGFuZCBpdHMgaW5zdGFu Y2UuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmlsZWdlcyBh cnJheSBpcyBnZW5lcmF0ZWQgYmFzZWQgb24KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0aGUgdHlwZSBvZiBub2RlcyBzZWxlY3RlZC4KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAg ICAgICAgIHZhciBwcml2TW9kZWwgPSBzZWxmLnByaXZNb2RlbDsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgdmFyIFByaXZNb2RlbCA9IHBnTm9kZS5N b2RlbC5leHRlbmQoeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRl ZmF1bHRzOiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2w6 IHVuZGVmaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1hOiBbCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGlkOiAnYWNsJywgbGFiZWw6ICd7eyBfKCJQcml2aWxl Z2VzIikgfX0nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt b2RlbDogcGdBZG1pbi5Ccm93c2VyLk5vZGUuUHJpdmlsZWdlUm9sZU1vZGVs LmV4dGVuZCh7CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyBwcml2aWxlZ2VzIGFyZSBzZWxlY3RlZCBiYXNlZCBvbiBub2RlIGNs aWNrZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcml2 aWxlZ2VzOiBvYmpfcHJpdgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9KSwgdW5pcXVlQ29sIDogWydncmFudGVlJywgJ2dyYW50b3InXSwg ZWRpdGFibGU6IHRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHR5cGU6ICdjb2xsZWN0aW9uJywgY2FuQWRkOiB0cnVlLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5EZWxldGU6IHRydWUsIGNv bnRyb2w6ICd1bmlxdWUtY29sLWNvbGxlY3Rpb24nCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXQorICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKworICAgICAg ICAgICAgICAgICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBXaGVuIHByaXZlbGVnZSBjb250cm9sIGlzIHJlLXJlbmRlcmVk LCBpbiBvcmRlciB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl bmRlciBwcml2aWxlZ2VzIGJhc2VkIG9uIG9iamVjdCB0eXBlIHNlbGVjdGVk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBwcml2aWxl Z2VzIGZyb20gcHJpdk1vZGVsIHdoaWNoIGFyZSBub3cgbm90CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcHJlc2VudCBpbiBvYmplY3QgcHJpdmls ZWdlcyBhcnJheShvYmplY3RfcHJpdikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBkYXRh ID0ge307CisgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcml2TW9k ZWwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gcHJp dk1vZGVsLnRvSlNPTigpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg IHZhciByb2xlUHJpdnMgPSBkYXRhWydhY2wnXTsKKworICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGZvciAodmFyIGlkeCBpbiByb2xlUHJpdnMpIHsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByb2xlUHJpdiA9 IChyb2xlUHJpdnNbaWR4XSlbJ3ByaXZpbGVnZXMnXSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZW1vdmVJZHggPSBbXSwgajsKKwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChqIGluIHJvbGVQ cml2KSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBw ID0gcm9sZVByaXZbal07CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlmIChfLmluZGV4T2Yob2JqX3ByaXYsIHBbJ3ByaXZpbGVnZV90eXBl J10pID09IC0xKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVtb3ZlSWR4LnB1c2goaik7CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChqIGluIHJl bW92ZUlkeCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy b2xlUHJpdi5zcGxpY2UoaiwgMSk7CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgLy8gSW5zdGFudGlhdGUgcHJpdk1vZGVsCisgICAgICAgICAg ICAgICAgICAgICAgICAgIHByaXZNb2RlbCA9IHNlbGYucHJpdk1vZGVsID0g bmV3IFByaXZNb2RlbChkYXRhLCB7IG5vZGVfaW5mbzogc2VsZi5pbmZvIH0p OworCisgICAgICAgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAg ICAgICAgICAgICAgICAgIFRvIHRyYWNrIGNoYW5nZXMgaW50byBtb2RlbCwg c3RhcnQgbmV3IHNlc3Npb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAg YW5kIEFkZCBldmVudCBsaXN0ZW5lciBmb3IgcHJpdmlsZWdlcyBjb250cm9s CisgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlbGYucHJpdk1vZGVsLnN0YXJ0TmV3U2Vzc2lvbigp OworICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnByaXZNb2RlbC5v bigncGdhZG1pbi1zZXNzaW9uOnZhbGlkJywgc2VsZi5vblNlc3Npb25WYWxp ZGF0ZWQuYmluZChzZWxmKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYucHJpdk1vZGVsLm9uKCdwZ2FkbWluLXNlc3Npb246aW52YWxpZCcs IHNlbGYub25TZXNzaW9uSW52YWxpZC5iaW5kKHNlbGYpKTsKKworICAgICAg ICAgICAgICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZSBGaWVsZCBPYmplY3Qgd2hpY2ggaGFzIHByb3BlcnRpZXMg bGlrZQorICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlX2RhdGEsIG5v ZGVfaW5mbyB3aGljaCBpcyByZXF1aXJlZCBmb3IgcmVuZGVyaW5nCisgICAg ICAgICAgICAgICAgICAgICAgICAgIFByaXZpbGVnZSBjb250cm9sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAg ICAgICAgIHZhciBmaWVsZHMgPSBCYWNrZm9ybS5nZW5lcmF0ZVZpZXdTY2hl bWEoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmluZm8s IHNlbGYucHJpdk1vZGVsLCAnY3JlYXRlJywgc2VsZi5kLl90eXBlLCBzZWxm LmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAg ICAgICAgICAgICAgICAgICAgIHZhciBwcml2aWxlZ2VzRmllbGQgPSBuZXcg QmFja2Zvcm0uRmllbGQoZmllbGRzWzBdLmZpZWxkc1swXSk7CisKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcml2Q29udHJvbCA9IG5ldyAo cHJpdmlsZWdlc0ZpZWxkLmdldCgnY29udHJvbCcpKSAoeworICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZpZWxkOiBwcml2aWxlZ2VzRmllbGQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWw6IHNlbGYucHJpdk1v ZGVsCisgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOworCisgICAgICAg ICAgICAgICAgICAgICAgICAgIHJldHVybiB7ZWw6IHRoaXMucHJpdkNvbnRy b2wucmVuZGVyKCkuJGVsfTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0s CisKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgcHJp dmlsZWdlIGNvbnRyb2wKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFu dXA6IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgICBp ZiAodGhpcy5wcml2Q29udHJvbCkgeworICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHRoaXMucHJpdkNvbnRyb2wucmVtb3ZlKCk7CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMucHJpdkNvbnRyb2w7Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wcml2Q29udHJvbCA9 IG51bGw7CisgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICB9KTsK KyAgICAgICAgICAgICAgICAgIH0pLAorCisgICAgICAgICAgICAgICAgICBi ZWZvcmVQcmV2OiBmdW5jdGlvbih3aXphcmRPYmopIHsKKworICAgICAgICAg ICAgICAgICAgICAvLyBSZW1vdmUgdGhlIHByaXZpbGVnZSBjb250cm9sCisg ICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZpZXcpIHsKKyAgICAgICAg ICAgICAgICAgICAgICB0aGlzLnZpZXcuY2xlYW51cCgpOworICAgICAgICAg ICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnZpZXc7CisgICAgICAgICAgICAg ICAgICAgICAgdGhpcy52aWV3ID0gbnVsbDsKKyAgICAgICAgICAgICAgICAg ICAgfQorCisgICAgICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAg ICAgICAgICAgIEVuYWJsZS9EaXNhYmxlIG5leHQgYnV0dG9uIG9mIERiT2Jq ZWN0VHlwZSBwYWdlIGlmIG9iamVjdHMKKyAgICAgICAgICAgICAgICAgICAg ICBhcmUgcHJlc2VudCBpbiBtb2RlbAorICAgICAgICAgICAgICAgICAgICAg Ki8KKyAgICAgICAgICAgICAgICAgICAgdmFyIG9iamVjdHNNb2RlbCA9IG5l d01vZGVsLmdldCgnb2JqZWN0cycpOworCisgICAgICAgICAgICAgICAgICAg IGlmKCFfLmlzVW5kZWZpbmVkKG9iamVjdHNNb2RlbCkgJiYgIV8uaXNFbXB0 eShvYmplY3RzTW9kZWwpICYmCisgICAgICAgICAgICAgICAgICAgICAgICBv YmplY3RzTW9kZWwubGVuZ3RoID4gMCkgeworICAgICAgICAgICAgICAgICAg ICAgIHdpemFyZE9iai5jb2xsZWN0aW9uLmF0KDApLnNldCgnZGlzYWJsZV9u ZXh0JywgZmFsc2UpOworCisgICAgICAgICAgICAgICAgICAgICAgLy8gRG9u J3Qgc2hvdyBwcm9ncmVzcyBiYXIKKyAgICAgICAgICAgICAgICAgICAgICB3 aXphcmRPYmouY29sbGVjdGlvbi5hdCgwKS5zZXQoJ3Nob3dfcHJvZ3Jlc3Nf YmFyJywgJycpOworICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg ICAgICAgICAgICAgLyoqCisgICAgICAgICAgICAgICAgICAgICAgV2UncmUg cmUtcmVuZGVyaW5nIHRoZSBjb250cm9scyBhcyB0aGV5IGFyZSBkZWxldGVk CisgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlIGhlYWRpbmcgdG8gbmV4 dCBwYWdlCisgICAgICAgICAgICAgICAgICAgICAgUmVmcmVzaCBCYWNrZ3Jp ZCB0byByZS1yZW5kZXIgdGhlIGVsZW1lbnRzIHNlbGVjdGVkCisgICAgICAg ICAgICAgICAgICAgICAgcmUtcmVuZGVyIEZpbHRlcgorICAgICAgICAgICAg ICAgICAgICAqLworICAgICAgICAgICAgICAgICAgICBuZXdNb2RlbC50cmln Z2VyKCJiYWNrZ3JpZDpyZWZyZXNoIiwgbmV3TW9kZWwsIGZhbHNlKTsKKyAg ICAgICAgICAgICAgICAgICAgc2VsZi5jbGllbnRTaWRlRmlsdGVyLnJlbmRl cigpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg ICAgICAgICAgICAgIH0sCisKKyAgICAgICAgICAgICAgICAgIGJlZm9yZU5l eHQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfSwKKworICAgICAgICAg ICAgICAgICAgb25OZXh0OiBmdW5jdGlvbihvYmopeworCisgICAgICAgICAg ICAgICAgICAgIC8vIEFzc2lnbiBhY2xzIG9mIHByaXZNb2RlbCB0byBtYWlu IG1vZGVsIG5ld01vZGVsCisgICAgICAgICAgICAgICAgICAgIGlmICghXy5p c1VuZGVmaW5lZChzZWxmLnByaXZNb2RlbCkpIHsKKyAgICAgICAgICAgICAg ICAgICAgICBuZXdNb2RlbC5zZXQoeydhY2wnOiBzZWxmLnByaXZNb2RlbC5n ZXQoJ2FjbCcpfSk7CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAg ICAgICAgICAgICAgICAvLyBSZW1vdmUgdGhlIHByaXZpbGVnZSBjb250cm9s CisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnZpZXcpIHsKKyAgICAg ICAgICAgICAgICAgICAgICB0aGlzLnZpZXcuY2xlYW51cCgpOworICAgICAg ICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnZpZXc7CisgICAgICAgICAg ICAgICAgICAgICAgdGhpcy52aWV3ID0gbnVsbDsKKyAgICAgICAgICAgICAg ICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBmaW5p c2ggYnV0dG9uCisgICAgICAgICAgICAgICAgICAgIHNlbGYud2l6YXJkLm9w dGlvbnMuZGlzYWJsZV9maW5pc2ggPSBmYWxzZTsKKworICAgICAgICAgICAg ICAgICAgICAvKioKKyAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VycyB0 byBnZXQgU1FMIHF1ZXJpZXMgZGF0YSB0byByZW5kZXIKKyAgICAgICAgICAg ICAgICAgICAgICBpbnRvIHRoZSByZXZpZXdTUUxQYWdlCisgICAgICAgICAg ICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgIG5ld01vZGVsLnRy aWdnZXIoJ3BnYWRtaW4td2l6YXJkOm5leHRwYWdlOnNxbCcsIHsnbm9kZV90 eXBlJzogbm9kZV90eXBlIH0pOworICAgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgIH0pOworCisKKyAgICAgICAgICAgICAgICAvLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vCisgICAgICAgICAgICAgICAgLy8gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvLworICAgICAgICAgICAgICAgIC8vICAgICAgICAg ICAgUmV2aWV3IFNRTCBRdWVyeSBQYWdlICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8KKyAgICAgICAgICAgICAgICAvLyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8vCisgICAgICAgICAgICAgICAgLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLworCisgICAgICAgICAgICAgICAgLy9DcmVhdGUgU3FsRmll bGQgT2JqZWN0CisgICAgICAgICAgICAgICAgdmFyIHNxbEZpZWxkID0gbmV3 IEJhY2tmb3JtLkZpZWxkKAorICAgICAgICAgICAgICAgICAgICB7CisgICAg ICAgICAgICAgICAgICAgICAgaWQ6ICdzcWx0YWInLAorICAgICAgICAgICAg ICAgICAgICAgIGxhYmVsOiBfKCdTcWwgVGFiJyksCisKKyAgICAgICAgICAg ICAgICAgICAgICAvKioKKyAgICAgICAgICAgICAgICAgICAgICAgIEV4dGVu ZCAnU3FsVGFiQ29udHJvbCcgdG8gZGVmaW5lIG5ldworICAgICAgICAgICAg ICAgICAgICAgICAgZnVuY3Rpb24gJ29uV2l6YXJkTmV4dFBhZ2VDaGFuZ2Un CisgICAgICAgICAgICAgICAgICAgICAgICB3aGljaCBnZXRzIHRyaWdnZXJl ZCBvbiBuZXh0IGJ1dHRvbgorICAgICAgICAgICAgICAgICAgICAgICAgY2xp Y2sgdG8gZmV0Y2ggZ2VuZXJhdGVkIFNRTCBxdWVyeQorICAgICAgICAgICAg ICAgICAgICAgICAgZm9yIHRoZSBzZWxlY3RlZCBkYiBvYmplY3RzLgorICAg ICAgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAg Y29udHJvbDogQmFja2Zvcm0uU3FsVGFiQ29udHJvbC5leHRlbmQoeworICAg ICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oKSB7 CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSW5pdGlhbGl6ZSBw YXJlbnQgY2xhc3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQmFja2Zv cm0uU3FsVGFiQ29udHJvbC5wcm90b3R5cGUuaW5pdGlhbGl6ZS5hcHBseSh0 aGlzLCBhcmd1bWVudHMpOworCisgICAgICAgICAgICAgICAgICAgICAgICAg IHRoaXMubXNxbF91cmwgPSBzZWxmLm1zcWxfdXJsOworCisgICAgICAgICAg ICAgICAgICAgICAgICAgIC8vIGRlZmluZSB0cmlnZ2VyIGV2ZW50cyBmb3Ig cHJldiBhbmQgbmV4dCBwYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAg IHRoaXMubW9kZWwub24oJ3BnYWRtaW4td2l6YXJkOm5leHRwYWdlOnNxbCcs IHRoaXMub25XaXphcmROZXh0UGFnZUNoYW5nZSwgdGhpcyk7CisgICAgICAg ICAgICAgICAgICAgICAgICAgIHRoaXMubW9kZWwub24oJ3BnYWRtaW4td2l6 YXJkOnByZXZwYWdlOnNxbCcsIHRoaXMub25XaXphcmRQcmV2UGFnZUNoYW5n ZSwgdGhpcyk7CisgICAgICAgICAgICAgICAgICAgICAgICB9LAorCisgICAg ICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIG1ldGhvZCBmZXRjaGVzIHRo ZSBtb2RpZmllZCBTUUwgZm9yIHRoZSB3aXphcmQKKyAgICAgICAgICAgICAg ICAgICAgICAgIG9uV2l6YXJkTmV4dFBhZ2VDaGFuZ2U6IGZ1bmN0aW9uKCl7 CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlz OworCisgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZldGNoZXMgbW9k aWZpZWQgU1FMCisgICAgICAgICAgICAgICAgICAgICAgICAgICQuYWpheCh7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB0aGlzLm1zcWxf dXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdHRVQn LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlOiBmYWxzZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBzZWxmLm1vZGVs LnRvSlNPTih0cnVlLCAnR0VUJyksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGF0YVR5cGU6ICJqc29uIiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250ZW50VHlwZTogImFwcGxpY2F0aW9uL2pzb24iCisgICAg ICAgICAgICAgICAgICAgICAgICAgIH0pLmRvbmUoZnVuY3Rpb24ocmVzKSB7 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zcWxUYWIuY2xl YXJIaXN0b3J5KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5zcWxUYWIuc2V0VmFsdWUocmVzLmRhdGEpOworICAgICAgICAgICAgICAg ICAgICAgICAgICB9KS5mYWlsKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYubW9kZWwudHJpZ2dlcigncGdhZG1pbi12 aWV3Om1zcWw6ZXJyb3InKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg fSkuYWx3YXlzKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYubW9kZWwudHJpZ2dlcigncGdhZG1pbi12aWV3Om1zcWw6 ZmV0Y2hlZCcpOworICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKKyAg ICAgICAgICAgICAgICAgICAgICAgIH0sCisKKyAgICAgICAgICAgICAgICAg ICAgICAgIHJlbW92ZTogZnVuY3Rpb24oKSB7CisKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gQ2xlYXIgaHRtbCBkb20gZWxlbWVudHMgb2YgQ29k ZU1pcnJvciBzcWwgdGFiCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNl bGYuc3FsQ29udHJvbC51bmJpbmQoKTsgLy8gVW5iaW5kIGFsbCBsb2NhbCBl dmVudCBiaW5kaW5ncworICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIg Y21FbGVtID0gc2VsZi5zcWxDb250cm9sLnNxbFRhYi5nZXRXcmFwcGVyRWxl bWVudCgpOworICAgICAgICAgICAgICAgICAgICAgICAgICBjbUVsZW0ucmVt b3ZlKCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc3FsQ29u dHJvbC5zcWxUYWIgPSB1bmRlZmluZWQ7CisgICAgICAgICAgICAgICAgICAg ICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICB9KQorICAgICAgICAg ICAgICAgICAgICB9KSwKKworICAgICAgICAgICAgICAgICAgLyoqCisgICAg ICAgICAgICAgICAgICAgIENyZWF0ZSBzcWxGaWVsZCB2aWV3IGluc3RhbmNl CisgICAgICAgICAgICAgICAgICAgIHRvIHJlbmRlciBpdCBpbnRvIHdpemFy ZCBwYWdlCisgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAg ICAgc3FsQ29udHJvbCA9IHNlbGYuc3FsQ29udHJvbCA9IG5ldyAoc3FsRmll bGQuZ2V0KCdjb250cm9sJykpKHsKKyAgICAgICAgICAgICAgICAgICAgZmll bGQ6IHNxbEZpZWxkLAorICAgICAgICAgICAgICAgICAgICBtb2RlbDogbmV3 TW9kZWwKKyAgICAgICAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICAg ICAgLy8gV2l6YXJkIGZvciBTUUwgdGFiIGNvbnRyb2wKKyAgICAgICAgICAg ICAgICB2YXIgcmV2aWV3U1FMUGFnZSA9IHNlbGYucmV2aWV3U1FMUGFnZSA9 IG5ldyBwZ0Jyb3dzZXIuV2l6YXJkUGFnZSh7CisgICAgICAgICAgICAgICAg ICBpZDogMywKKyAgICAgICAgICAgICAgICAgIHBhZ2VfdGl0bGU6IF8oJ0Zp bmFsIChSZXZpZXcgU2VsZWN0aW9uKSAoc3RlcCAzIG9mIDMpJyksCisgICAg ICAgICAgICAgICAgICBzaG93X2Rlc2NyaXB0aW9uOiBfKCdUaGUgU1FMIGJl bG93IHdpbGwgYmUgZXhlY3V0ZWQgb24gdGhlICcgKworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnZGF0YWJhc2Ugc2VydmVyIHRvIGdyYW50 IHRoZSBzZWxlY3RlZCBwcml2aWxlZ2VzLiAnICsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ1BsZWFzZSBjbGljayBvbiA8Yj5GaW5pc2g8 L2I+IHRvIGNvbXBsZXRlIHRoZSBwcm9jZXNzLiAnKSwKKyAgICAgICAgICAg ICAgICAgIG1vZGVsOiBuZXdNb2RlbCwKKyAgICAgICAgICAgICAgICAgIHZp ZXc6IG5ldyhmdW5jdGlvbigpIHsKKworICAgICAgICAgICAgICAgICAgICAv LyBSZW5kZXIgU3FsVGFiIGNvbnRyb2wgdG8gZ2VuZXJhdGUgaXRzIGh0bWwg bWFya3VwCisgICAgICAgICAgICAgICAgICAgIHZhciBzcWxUYWJIdG1sID0g c3FsQ29udHJvbC5yZW5kZXIoKS4kZWw7CisgICAgICAgICAgICAgICAgICAg IHRoaXMucmVuZGVyID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg ICAgICAgICByZXR1cm4geyBlbDogc3FsVGFiSHRtbCB9OworICAgICAgICAg ICAgICAgICAgICB9OworICAgICAgICAgICAgICAgICAgfSksCisKKyAgICAg ICAgICAgICAgICAgIGJlZm9yZVByZXY6IGZ1bmN0aW9uKHdpemFyZE9iaikg eworCisgICAgICAgICAgICAgICAgICAgIC8qKgorICAgICAgICAgICAgICAg ICAgICAgIEVuYWJsZSBuZXh0IGJ1dHRvbiBpZiBwcml2aWxlZ2UKKyAgICAg ICAgICAgICAgICAgICAgICBtb2RlbCBpcyBub3QgZW1wdHkgZWxzZSBkaXNh YmxlCisgICAgICAgICAgICAgICAgICAgICAgbmV4dCBidXR0b24KKyAgICAg ICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgIHZhciBh Y2xNb2RlbCA9IG5ld01vZGVsLmdldCgnYWNsJyk7CisKKyAgICAgICAgICAg ICAgICAgICAgaWYoIV8uaXNVbmRlZmluZWQod2l6YXJkT2JqLmNvbGxlY3Rp b24pICYmCisgICAgICAgICAgICAgICAgICAgICAgd2l6YXJkT2JqLmNvbGxl Y3Rpb24ubW9kZWxzLmxlbmd0aCA+IDApIHsKKyAgICAgICAgICAgICAgICAg ICAgICBpZighXy5pc1VuZGVmaW5lZChhY2xNb2RlbCkgJiYgIV8uaXNFbXB0 eShhY2xNb2RlbCkgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYWNs TW9kZWwubGVuZ3RoID4gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAg d2l6YXJkT2JqLmNvbGxlY3Rpb24uYXQoMSkuc2V0KCdkaXNhYmxlX25leHQn LCBmYWxzZSk7CisgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg ICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAg d2l6YXJkT2JqLmNvbGxlY3Rpb24uYXQoMSkuc2V0KCdkaXNhYmxlX25leHQn LCB0cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB9 KTsKKworCisgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIFdpemFyZCBDb2xs ZWN0aW9uIG9mIFdpemFyZCBQYWdlcworICAgICAgICAgICAgICAgIHZhciBX aXphcmRDb2xsZWN0aW9uID0gQmFja2JvbmUuQ29sbGVjdGlvbi5leHRlbmQo eworICAgICAgICAgICAgICAgICAgbW9kZWw6IHBnQnJvd3Nlci5XaXphcmRQ YWdlCisgICAgICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgICAgICAv LyBJdCBob2xkcyBhbGwgdGhlIHdpemFyZCBwYWdlcyB0byBiZSByZW5kZXJl ZAorICAgICAgICAgICAgICAgIHRoaXMud2l6YXJkQ29sbGVjdGlvbiA9IG5l dyBXaXphcmRDb2xsZWN0aW9uKAorICAgICAgICAgICAgICAgICAgW2RiT2Jq ZWN0VHlwZVBhZ2UsIHByaXZpbGVnZVBhZ2UsIHJldmlld1NRTFBhZ2VdCisg ICAgICAgICAgICAgICAgKTsKKworICAgICAgICAgICAgICAgIC8qKgorICAg ICAgICAgICAgICAgICAgQ3JlYXRlIHdpemFyZCB3aGljaCBoYXMgZm9sbG93 aW5nIG9wZXJhdGlvbnM6CisgICAgICAgICAgICAgICAgICAtIHJlbmRlcnMg d2l6YXJkIHBhZ2VzCisgICAgICAgICAgICAgICAgICAtIGRlZmluZXMgdGhl IGZpcnN0IHBhZ2UgdG8gcmVuZGVyIGluIHdpemFyZAorICAgICAgICAgICAg ICAgICAgLSBTYXZlIHRoZSBtb2RlbCBvbiBmaW5pc2hidXR0b24KKyAgICAg ICAgICAgICAgICAgIC0gUmVtb3ZlIHdpemFyZCBvbiBjYW5jZWwgYnV0dG9u CisgICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgIHNlbGYu d2l6YXJkID0gbmV3IChwZ0Jyb3dzZXIuV2l6YXJkLmV4dGVuZCh7CisgICAg ICAgICAgICAgICAgICBvcHRpb25zOiB7CisgICAgICAgICAgICAgICAgICAg IHRpdGxlOiBfKCdHcmFudCBXaXphcmQnKSwgLyogTWFpbiBXaXphcmQgVGl0 bGUgKi8KKyAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcnLAorICAgICAg ICAgICAgICAgICAgICBoZWlnaHQ6ICcnLAorICAgICAgICAgICAgICAgICAg ICBjdXJyX3BhZ2U6IDAsCisgICAgICAgICAgICAgICAgICAgIHNob3dfbGVm dF9wYW5lbDogZmFsc2UsCisgICAgICAgICAgICAgICAgICAgIGRpc2FibGVf ZmluaXNoOiB0cnVlCisgICAgICAgICAgICAgICAgICB9LAorCisgICAgICAg ICAgICAgICAgICAvLyBDYWxsYmFjayBmb3IgZmluaXNoIGJ1dHRvbgorICAg ICAgICAgICAgICAgICAgb25GaW5pc2g6IGZ1bmN0aW9uKCkgeworICAgICAg ICAgICAgICAgICAgICB2YXIgbSA9IG5ld01vZGVsLAorICAgICAgICAgICAg ICAgICAgICAgICAgZCA9IG0udG9KU09OKCdHRVQnKTsKKworICAgICAgICAg ICAgICAgICAgICAvLyBTYXZlIG1vZGVsCisgICAgICAgICAgICAgICAgICAg IGlmIChkICYmICFfLmlzRW1wdHkoZCkgJiYgIV8uaXNVbmRlZmluZWQoZC5v YmplY3RzKSkgeworICAgICAgICAgICAgICAgICAgICAgIG0uc2F2ZSh7fSwg eworICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IGQsCisgICAgICAg ICAgICAgICAgICAgICAgICB2YWxpZGF0ZTogZmFsc2UsCisgICAgICAgICAg ICAgICAgICAgICAgICBjYWNoZTogZmFsc2UsCisgICAgICAgICAgICAgICAg ICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHsKKworICAgICAgICAg ICAgICAgICAgICAgICAgICAvLyBSZWxlYXNlIHdpemFyZCBvYmplY3RzCisg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmVsZWFzZU9iamVjdHMo KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSgpOwor ICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAg ICAgICAgIGVycm9yOiBmdW5jdGlvbihtLCBqcXhocikgeworICAgICAgICAg ICAgICAgICAgICAgICAgICBhbGVydGlmeS5wZ05vdGlmaWVyKAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJlcnJvciIsIGpxeGhyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFMoCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAie3sgXygnRXJyb3IgZHVyaW5nIHNhdmluZyBwcm9wZXJ0 aWVzIC0gJSVzIScpIH19IgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKS5zcHJpbnRmKGpxeGhyLnN0YXR1c1RleHQpLnZhbHVlKCkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICApOworCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gUmVsZWFzZSB3aXphcmQgb2JqZWN0cworICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYucmVsZWFzZU9iamVjdHMoKTsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNsb3NlKCk7Cisg ICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg ICAgfSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg ICAgIH0sCisKKyAgICAgICAgICAgICAgICAgIC8vIENhbGxiYWNrIGZvciBj YW5jZWwgYnV0dG9uCisgICAgICAgICAgICAgICAgICBvbkNhbmNlbDogZnVu Y3Rpb24oKSB7CisKKyAgICAgICAgICAgICAgICAgICAgLy8gUmVsZWFzZSB3 aXphcmQgb2JqZWN0cworICAgICAgICAgICAgICAgICAgICBzZWxmLnJlbGVh c2VPYmplY3RzKCk7CisgICAgICAgICAgICAgICAgICAgIHNlbGYuY2xvc2Uo KTsKKyAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9KSkg KHsKKyAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHRoaXMud2l6YXJk Q29sbGVjdGlvbiwKKyAgICAgICAgICAgICAgICAgIGVsOiBlbCwKKyAgICAg ICAgICAgICAgICAgIG1vZGVsOiBuZXdNb2RlbAorICAgICAgICAgICAgICAg IH0pOworCisgICAgICAgICAgICAgICAgLy8gUmVuZGVyIHdpemFyZAorICAg ICAgICAgICAgICAgIHNlbGYud2l6YXJkLnJlbmRlcigpOworICAgICAgICAg ICAgICB9CisgICAgICAgICAgICB9OworICAgICAgICAgIH0pOworICAgICAg ICB9CisKKyAgICAgICAgLy8gQ2FsbCBHcmFudCBXaXphcmQgRGlhbG9nCisg ICAgICAgIGFsZXJ0aWZ5LndpemFyZERpYWxvZyh0cnVlKTsKKyAgICAgIH0K KyAgICB9OworCisgICAgcmV0dXJuIHBnQnJvd3Nlci5HcmFudFdpemFyZDsK KyAgfSk7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9ncmFudF93 aXphcmQvdGVtcGxhdGVzL2dyYW50X3dpemFyZC9wZy85LjFfcGx1cy9hY2wu anNvbiBiL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0 ZXMvZ3JhbnRfd2l6YXJkL3BnLzkuMV9wbHVzL2FjbC5qc29uCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMjFmMTQKLS0tIC9kZXYv bnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQvdGVt cGxhdGVzL2dyYW50X3dpemFyZC9wZy85LjFfcGx1cy9hY2wuanNvbgpAQCAt MCwwICsxLDMwIEBACit7IyBMaXN0IG9mIGFsbG93ZWQgcHJpdmlsZWdlcyBv ZiBTY2hlbWEsIHRhYmxlIHNlcXVlbmNlLCBmdW5jdGlvbiBhbmQgdmlldyAj fQoreyMKKyAgICBGb3JtYXQgZm9yIGFsbG93ZWQgcHJpdmlsZWdlcyBhcmU6 CisgICAgIm5vZGVfbmFtZSI6IHsKKyAgICAgICAgInR5cGUiOiAibmFtZSIs CisgICAgICAgICJhY2wiOiBbLi4uXQorICAgIH0KKyN9Cit7CisgICAgInNj aGVtYSI6IHsKKyAgICAgICAgInR5cGUiOiAiU0NIRU1BIiwKKyAgICAgICAg ImFjbCI6IFsiYSIsICJyIiwgInciLCAiZCIsICJEIiwgIngiLCAidCIsICJV IiwgIlgiXQorICAgIH0sCisgICAgInRhYmxlIjogeworICAgICAgICAidHlw ZSI6ICJUQUJMRSIsCisgICAgICAgICJhY2wiOiBbImEiLCAidyIsICJkIiwg IkQiLCAieCIsICJ0Il0KKyAgICB9LAorICAgICJ2aWV3IjogeworICAgICAg ICAidHlwZSI6ICJWSUVXIiwKKyAgICAgICAgImFjbCI6IFsiYSIsICJ3Iiwg ImQiLCAiRCIsICJ4IiwgInQiXQorICAgIH0sCisgICAgInNlcXVlbmNlIjog eworICAgICAgICAidHlwZSI6ICJTRVFVRU5DRSIsCisgICAgICAgICJhY2wi OiBbInciLCAiVSJdCisgICAgfSwKKyAgICAiZnVuY3Rpb24iOiB7CisgICAg ICAgICJ0eXBlIjogIkZVTkNUSU9OIiwKKyAgICAgICAgImFjbCI6IFsiWCJd CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZ3Jh bnRfd2l6YXJkL3RlbXBsYXRlcy9ncmFudF93aXphcmQvcGcvOS4xX3BsdXMv c3FsL2Z1bmN0aW9uLnNxbCBiL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dp emFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6YXJkL3BnLzkuMV9wbHVzL3NxbC9m dW5jdGlvbi5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uN2ZhZDIyNQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rv b2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6YXJkL3BnLzku MV9wbHVzL3NxbC9mdW5jdGlvbi5zcWwKQEAgLTAsMCArMSwyMyBAQAoreyMg PT09PT0gRmV0Y2ggbGlzdCBvZiBEYXRhYmFzZSBvYmplY3QgdHlwZXMoRnVu Y3Rpb25zKSA9PT09PT0gI30KK3slIGlmIHR5cGUgYW5kIG5vZGVfaWQgYW5k IG5zcG5hbWUgJX0KK3slIHNldCBmdW5jX3R5cGUgPSAnVHJpZ2dlciBGdW5j dGlvbicgaWYgdHlwZSA9PSAndHJpZ2dlcl9mdW5jdGlvbicgZWxzZSAnRnVu Y3Rpb24nICV9CitTRUxFQ1QKKyAgICBwci5vaWQsCisgICAgcGdfZ2V0X2Z1 bmN0aW9uX2lkZW50aXR5X2FyZ3VtZW50cyhwci5vaWQpIEFTIHByb2FyZ3Ms CisgICAgeyMgcHIucHJvbmFtZSB8fCAnKCcgfHwgcGdfZ2V0X2Z1bmN0aW9u X2lkZW50aXR5X2FyZ3VtZW50cyhwci5vaWQpIHx8ICcpJyBBUyBuYW1lLCN9 CisgICAgcHIucHJvbmFtZSBBUyBuYW1lLAorICAgICd7eyBuc3BuYW1lIH19 JyBBUyBuc3BuYW1lLAorICAgICd7eyBmdW5jX3R5cGUgfX0nIEFTIG9iamVj dF90eXBlLAorICAgICd7eyAiaWNvbi1mdW5jdGlvbiIgaWYgdHlwZSAhPSAi dHJpZ2dlcl9mdW5jdGlvbiIgZWxzZSAiaWNvbi10cmlnZ2VyX2Z1bmN0aW9u IiB9fScgQVMgaWNvbgorRlJPTQorICAgIHBnX3Byb2MgcHIKK0pPSU4gcGdf dHlwZSB0eXAgT04gdHlwLm9pZD1wcm9yZXR0eXBlCitKT0lOIHBnX25hbWVz cGFjZSB0eXBucyBPTiB0eXBucy5vaWQ9dHlwLnR5cG5hbWVzcGFjZQorSk9J TiBwZ19sYW5ndWFnZSBsbmcgT04gbG5nLm9pZD1wcm9sYW5nCitMRUZUIE9V VEVSIEpPSU4gcGdfZGVzY3JpcHRpb24gZGVzIE9OIChkZXMub2Jqb2lkPXBy Lm9pZCBBTkQgZGVzLmNsYXNzb2lkPSdwZ19wcm9jJzo6cmVnY2xhc3MpCitX SEVSRQorICAgIHByb2lzYWdnID0gRkFMU0UgQU5EIHByb25hbWVzcGFjZSA9 IHt7IG5vZGVfaWQgfX06Om9pZAorICAgIEFORCB0eXBuYW1lIHt7ICdOT1Qn IGlmIHR5cGUgIT0gJ3RyaWdnZXJfZnVuY3Rpb24nIGVsc2UgJycgfX0gSU4g KCd0cmlnZ2VyJywgJ2V2ZW50X3RyaWdnZXInKQorT1JERVIgQlkKKyAgICBw cm9uYW1lCit7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v dG9vbHMvZ3JhbnRfd2l6YXJkL3RlbXBsYXRlcy9ncmFudF93aXphcmQvcGcv OS4xX3BsdXMvc3FsL2dldF9zY2hlbWFzLnNxbCBiL3dlYi9wZ2FkbWluL3Rv b2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6YXJkL3BnLzku MV9wbHVzL3NxbC9nZXRfc2NoZW1hcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNGY2ZmQ1YQotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3Jh bnRfd2l6YXJkL3BnLzkuMV9wbHVzL3NxbC9nZXRfc2NoZW1hcy5zcWwKQEAg LTAsMCArMSwxOSBAQAoreyMgPT09PT0gRmV0Y2ggbGlzdCBvZiBhbGwgc2No ZW1hcyA9PT09PSAjfQoreyUgaW1wb3J0ICdjYXRhbG9nL3BnL21hY3Jvcy9j YXRhbG9ncy5zcWwnIGFzIENBVEFMT0dTICV9CitTRUxFQ1QKKyAgICBuc3Au b2lkLAorICAgIG5zcC5uc3BuYW1lIGFzIG5hbWUKK0ZST00KKyAgICBwZ19u YW1lc3BhY2UgbnNwCitXSEVSRQorICAgIHslIGlmIG5zcGlkICV9CisgICAg bnNwLm9pZD17e25zcGlkfX06OmludCBBTkQKKyAgICB7JSBlbHNlICV9Cisg ICAgeyUgaWYgbm90IHNob3dfc3lzb2JqICV9CisgICAgbnNwbmFtZSBOT1Qg TElLRSBFJ3BnXF8lJyBBTkQKKyAgICB7JSBlbmRpZiAlfQorICAgIHslIGVu ZGlmICV9CisgICAgTk9UICgKK3t7IENBVEFMT0dTLkxJU1QoJ25zcCcpIH19 CisgICAgKQorT1JERVIgQlkgbnNwbmFtZTsKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6 YXJkL3BnLzkuMV9wbHVzL3NxbC9ncmFudF9mdW5jdGlvbi5zcWwgYi93ZWIv cGdhZG1pbi90b29scy9ncmFudF93aXphcmQvdGVtcGxhdGVzL2dyYW50X3dp emFyZC9wZy85LjFfcGx1cy9zcWwvZ3JhbnRfZnVuY3Rpb24uc3FsCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlYTY4YWYKLS0tIC9k ZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQv dGVtcGxhdGVzL2dyYW50X3dpemFyZC9wZy85LjFfcGx1cy9zcWwvZ3JhbnRf ZnVuY3Rpb24uc3FsCkBAIC0wLDAgKzEsMTAgQEAKK3sjID09PT09IEdyYW50 IFBlcm1pc3Npb25zIG9uIERhdGFiYXNlIE9iamVjdHMgU2VsZWN0ZWQgPT09 PSAjfQoreyUgaW1wb3J0ICdtYWNyb3MvZnVuY3Rpb25zL3ByaXZpbGVnZS5t YWNyb3MnIGFzIFBSSVZJTEVHRV9GVU5DVElPTiAlfQoreyUgZm9yIG9iaiBp biBkYXRhLm9iamVjdHMgLSV9Cit7JSBmb3IgcHJpdiBpbiBkYXRhLnByaXYg LSV9Cit7IyA9PT09PSBpZiBvYmplY3RfdHlwZSBpcyBGdW5jdGlvbiB0aGVu IGFwcGx5IGZ1bmN0aW9uIG1hcmNyb3MgPT09PT0gI30KK3slIGlmIChvYmou b2JqZWN0X3R5cGUgPT0gJ0Z1bmN0aW9uJyBvciBvYmoub2JqZWN0X3R5cGUg PT0gJ1RyaWdnZXIgRnVuY3Rpb24nKSAlfQore3sgUFJJVklMRUdFX0ZVTkNU SU9OLlNFVChjb25uLCAnRlVOQ1RJT04nLCBwcml2WydncmFudGVlJ10sIG9i ai5uYW1lLCBwcml2Wyd3aXRob3V0X2dyYW50J10sIHByaXZbJ3dpdGhfZ3Jh bnQnXSwgb2JqLm5zcG5hbWUsIG9iai5wcm9hcmdzKX19Cit7JSBlbmRpZiAt JX0KK3slIGVuZGZvciAtJX0KK3slIGVuZGZvciAtJX0KZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3Jh bnRfd2l6YXJkL3BnLzkuMV9wbHVzL3NxbC9ncmFudF9zZXF1ZW5jZS5zcWwg Yi93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQvdGVtcGxhdGVzL2dy YW50X3dpemFyZC9wZy85LjFfcGx1cy9zcWwvZ3JhbnRfc2VxdWVuY2Uuc3Fs Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlMjVkMTcK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9ncmFudF93 aXphcmQvdGVtcGxhdGVzL2dyYW50X3dpemFyZC9wZy85LjFfcGx1cy9zcWwv Z3JhbnRfc2VxdWVuY2Uuc3FsCkBAIC0wLDAgKzEsOSBAQAoreyMgPT09PT0g R3JhbnQgUGVybWlzc2lvbnMgb24gRGF0YWJhc2UgT2JqZWN0cyBTZWxlY3Rl ZCA9PT09ICN9Cit7JSBpbXBvcnQgJ21hY3Jvcy9zY2hlbWFzL3ByaXZpbGVn ZS5tYWNyb3MnIGFzIFBSSVZJTEVHRSAlfQoreyUgZm9yIG9iaiBpbiBkYXRh Lm9iamVjdHMgLSV9Cit7JSBmb3IgcHJpdiBpbiBkYXRhLnByaXYgLSV9Cit7 JSBpZiBvYmoub2JqZWN0X3R5cGUgPT0gJ1NlcXVlbmNlJyAlfQore3sgUFJJ VklMRUdFLlNFVChjb25uLCAnU0VRVUVOQ0UnLCBwcml2WydncmFudGVlJ10s IG9iai5uYW1lLCBwcml2Wyd3aXRob3V0X2dyYW50J10sIHByaXZbJ3dpdGhf Z3JhbnQnXSwgb2JqLm5zcG5hbWUgKSB9fQoreyUgZW5kaWYgJX0KK3slIGVu ZGZvciAtJX0KK3slIGVuZGZvciAtJX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6YXJk L3BnLzkuMV9wbHVzL3NxbC9ncmFudF90YWJsZS5zcWwgYi93ZWIvcGdhZG1p bi90b29scy9ncmFudF93aXphcmQvdGVtcGxhdGVzL2dyYW50X3dpemFyZC9w Zy85LjFfcGx1cy9zcWwvZ3JhbnRfdGFibGUuc3FsCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3NGI4NmUKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQvdGVtcGxhdGVz L2dyYW50X3dpemFyZC9wZy85LjFfcGx1cy9zcWwvZ3JhbnRfdGFibGUuc3Fs CkBAIC0wLDAgKzEsOSBAQAoreyMgPT09PT0gR3JhbnQgUGVybWlzc2lvbnMg b24gRGF0YWJhc2UgT2JqZWN0cyBTZWxlY3RlZCA9PT09ICN9Cit7JSBpbXBv cnQgJ21hY3Jvcy9zY2hlbWFzL3ByaXZpbGVnZS5tYWNyb3MnIGFzIFBSSVZJ TEVHRSAlfQoreyUgZm9yIG9iaiBpbiBkYXRhLm9iamVjdHMgLSV9Cit7JSBm b3IgcHJpdiBpbiBkYXRhLnByaXYgLSV9Cit7JSBpZiBvYmoub2JqZWN0X3R5 cGUgPT0gJ1RhYmxlJyBvciBvYmoub2JqZWN0X3R5cGUgPT0gJ1ZpZXcnICV9 Cit7eyBQUklWSUxFR0UuU0VUKGNvbm4sICdUQUJMRScsIHByaXZbJ2dyYW50 ZWUnXSwgb2JqLm5hbWUsIHByaXZbJ3dpdGhvdXRfZ3JhbnQnXSwgcHJpdlsn d2l0aF9ncmFudCddLCBvYmoubnNwbmFtZSApIH19Cit7JSBlbmRpZiAlfQor eyUgZW5kZm9yIC0lfQoreyUgZW5kZm9yIC0lfQpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3RlbXBsYXRlcy9ncmFudF93 aXphcmQvcGcvOS4xX3BsdXMvc3FsL3NlcXVlbmNlLnNxbCBiL3dlYi9wZ2Fk bWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6YXJk L3BnLzkuMV9wbHVzL3NxbC9zZXF1ZW5jZS5zcWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uMjk1MGRmMQotLS0gL2Rldi9udWxsCisr KyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMv Z3JhbnRfd2l6YXJkL3BnLzkuMV9wbHVzL3NxbC9zZXF1ZW5jZS5zcWwKQEAg LTAsMCArMSwxNSBAQAoreyMgPT09PT0gRmV0Y2ggbGlzdCBvZiBEYXRhYmFz ZSBvYmplY3QgdHlwZXMoU2VxdWVuY2UpID09PT09ICN9Cit7JSBpZiBub2Rl X2lkLCBuc3BuYW1lICV9CitTRUxFQ1QKKyAgICBjbC5yZWxuYW1lIEFTIG5h bWUsCisgICAgJ1NlcXVlbmNlJyBBUyBvYmplY3RfdHlwZSwKKyAgICAnaWNv bi1zZXF1ZW5jZScgQVMgaWNvbiwKKyAgICAne3sgbnNwbmFtZSB9fScgQVMg bnNwbmFtZQorRlJPTQorICAgIHBnX2NsYXNzIGNsCitMRUZUIE9VVEVSIEpP SU4gcGdfZGVzY3JpcHRpb24gZGVzIE9OIChkZXMub2Jqb2lkPWNsLm9pZCBB TkQgZGVzLmNsYXNzb2lkPSdwZ19jbGFzcyc6OnJlZ2NsYXNzKQorV0hFUkUK KyAgICByZWxraW5kID0gJ1MnIEFORCByZWxuYW1lc3BhY2UgID0ge3sgbm9k ZV9pZCB9fTo6b2lkCitPUkRFUiBCWQorICAgIGNsLnJlbG5hbWUKK3slIGVu ZGlmICV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9ncmFudF93 aXphcmQvdGVtcGxhdGVzL2dyYW50X3dpemFyZC9wZy85LjFfcGx1cy9zcWwv dGFibGUuc3FsIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3Rl bXBsYXRlcy9ncmFudF93aXphcmQvcGcvOS4xX3BsdXMvc3FsL3RhYmxlLnNx bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjY3YzQ5 Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRf d2l6YXJkL3RlbXBsYXRlcy9ncmFudF93aXphcmQvcGcvOS4xX3BsdXMvc3Fs L3RhYmxlLnNxbApAQCAtMCwwICsxLDE5IEBACit7IyA9PT09PSBGZXRjaCBs aXN0IG9mIERhdGFiYXNlIG9iamVjdCB0eXBlcyhUYWJsZXMpID09PT09ICN9 Cit7JSBpZiBub2RlX2lkIGFuZCBuc3BuYW1lICV9CitTRUxFQ1QKKyAgICBy ZWwucmVsbmFtZSBBUyBuYW1lLAorICAgICdUYWJsZScgQVMgb2JqZWN0X3R5 cGUsCisgICAgJ2ljb24tdGFibGUnIEFTIGljb24sCisgICAgJ3t7IG5zcG5h bWUgfX0nIEFTIG5zcG5hbWUKK0ZST00KKyAgICBwZ19jbGFzcyByZWwKK0xF RlQgT1VURVIgSk9JTiBwZ190YWJsZXNwYWNlIHNwYyBPTiBzcGMub2lkPXJl bC5yZWx0YWJsZXNwYWNlCitMRUZUIE9VVEVSIEpPSU4gcGdfZGVzY3JpcHRp b24gZGVzIE9OIChkZXMub2Jqb2lkPXJlbC5vaWQgQU5EIGRlcy5vYmpzdWJp ZD0wIEFORCBkZXMuY2xhc3NvaWQ9J3BnX2NsYXNzJzo6cmVnY2xhc3MpCitM RUZUIE9VVEVSIEpPSU4gcGdfY29uc3RyYWludCBjb24gT04gY29uLmNvbnJl bGlkPXJlbC5vaWQgQU5EIGNvbi5jb250eXBlPSdwJworTEVGVCBPVVRFUiBK T0lOIHBnX2NsYXNzIHRzdCBPTiB0c3Qub2lkID0gcmVsLnJlbHRvYXN0cmVs aWQKK0xFRlQgSk9JTiBwZ190eXBlIHR5cCBPTiByZWwucmVsb2Z0eXBlPXR5 cC5vaWQKK1dIRVJFCisgICAgcmVsLnJlbGtpbmQgSU4gKCdyJywncycsJ3Qn KSBBTkQgcmVsLnJlbG5hbWVzcGFjZSA9IHt7IG5vZGVfaWQgfX06Om9pZAor T1JERVIgQlkKKyAgICByZWwucmVsbmFtZQoreyUgZW5kaWYgJX0KZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0 ZXMvZ3JhbnRfd2l6YXJkL3BnLzkuMV9wbHVzL3NxbC92aWV3LnNxbCBiL3dl Yi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRf d2l6YXJkL3BnLzkuMV9wbHVzL3NxbC92aWV3LnNxbApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWI3N2NjCi0tLSAvZGV2L251bGwK KysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3RlbXBsYXRl cy9ncmFudF93aXphcmQvcGcvOS4xX3BsdXMvc3FsL3ZpZXcuc3FsCkBAIC0w LDAgKzEsMjggQEAKK3sjID09PT09IEZldGNoIGxpc3Qgb2YgRGF0YWJhc2Ug b2JqZWN0IHR5cGVzKFZpZXcpID09PT09ICN9Cit7JSBpZiBub2RlX2lkICV9 CitTRUxFQ1QKKyAgICBjLnJlbG5hbWUgQVMgbmFtZSwKKyAgICAnVmlldycg QVMgb2JqZWN0X3R5cGUsCisgICAgJ2ljb24tdmlldycgQVMgaWNvbiwKKyAg ICAne3sgbnNwbmFtZSB9fScgQVMgbnNwbmFtZQorRlJPTQorICAgIHBnX2Ns YXNzIGMKK0xFRlQgT1VURVIgSk9JTiBwZ190YWJsZXNwYWNlIHNwYyBPTiBz cGMub2lkPWMucmVsdGFibGVzcGFjZQorTEVGVCBPVVRFUiBKT0lOIHBnX2Rl c2NyaXB0aW9uIGRlcyBPTiAoZGVzLm9iam9pZD1jLm9pZCBhbmQgZGVzLm9i anN1YmlkPTAgQU5EIGRlcy5jbGFzc29pZD0ncGdfY2xhc3MnOjpyZWdjbGFz cykKK0xFRlQgT1VURVIgSk9JTiBwZ19jbGFzcyB0c3QgT04gdHN0Lm9pZCA9 IGMucmVsdG9hc3RyZWxpZAorV0hFUkUKKyAgICAoKGMucmVsaGFzcnVsZXMg QU5EIChFWElTVFMgKAorICAgICAgU0VMRUNUCisgICAgICAgICAgci5ydWxl bmFtZQorICAgICAgRlJPTQorICAgICAgICAgIHBnX3Jld3JpdGUgcgorICAg ICAgV0hFUkUKKyAgICAgICAgICAoKHIuZXZfY2xhc3MgPSBjLm9pZCkKKyAg ICAgICAgICBBTkQgKGJwY2hhcihyLmV2X3R5cGUpID0gJzEnOjpicGNoYXIp KQorICAgICAgKSkKKyAgICAgKSBPUiAoYy5yZWxraW5kID0gJ3YnOjpjaGFy KQorICAgICkKKyAgICBBTkQgYy5yZWxuYW1lc3BhY2UgPSB7eyBub2RlX2lk IH19OjpvaWQKK09SREVSIEJZCisgICAgYy5yZWxuYW1lCit7JSBlbmRpZiAl fQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJk L3RlbXBsYXRlcy9ncmFudF93aXphcmQvcHBhcy85LjFfcGx1cy9hY2wuanNv biBiL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMv Z3JhbnRfd2l6YXJkL3BwYXMvOS4xX3BsdXMvYWNsLmpzb24KbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQyMWYxNAotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1w bGF0ZXMvZ3JhbnRfd2l6YXJkL3BwYXMvOS4xX3BsdXMvYWNsLmpzb24KQEAg LTAsMCArMSwzMCBAQAoreyMgTGlzdCBvZiBhbGxvd2VkIHByaXZpbGVnZXMg b2YgU2NoZW1hLCB0YWJsZSBzZXF1ZW5jZSwgZnVuY3Rpb24gYW5kIHZpZXcg I30KK3sjCisgICAgRm9ybWF0IGZvciBhbGxvd2VkIHByaXZpbGVnZXMgYXJl OgorICAgICJub2RlX25hbWUiOiB7CisgICAgICAgICJ0eXBlIjogIm5hbWUi LAorICAgICAgICAiYWNsIjogWy4uLl0KKyAgICB9CisjfQoreworICAgICJz Y2hlbWEiOiB7CisgICAgICAgICJ0eXBlIjogIlNDSEVNQSIsCisgICAgICAg ICJhY2wiOiBbImEiLCAiciIsICJ3IiwgImQiLCAiRCIsICJ4IiwgInQiLCAi VSIsICJYIl0KKyAgICB9LAorICAgICJ0YWJsZSI6IHsKKyAgICAgICAgInR5 cGUiOiAiVEFCTEUiLAorICAgICAgICAiYWNsIjogWyJhIiwgInciLCAiZCIs ICJEIiwgIngiLCAidCJdCisgICAgfSwKKyAgICAidmlldyI6IHsKKyAgICAg ICAgInR5cGUiOiAiVklFVyIsCisgICAgICAgICJhY2wiOiBbImEiLCAidyIs ICJkIiwgIkQiLCAieCIsICJ0Il0KKyAgICB9LAorICAgICJzZXF1ZW5jZSI6 IHsKKyAgICAgICAgInR5cGUiOiAiU0VRVUVOQ0UiLAorICAgICAgICAiYWNs IjogWyJ3IiwgIlUiXQorICAgIH0sCisgICAgImZ1bmN0aW9uIjogeworICAg ICAgICAidHlwZSI6ICJGVU5DVElPTiIsCisgICAgICAgICJhY2wiOiBbIlgi XQorICAgIH0KK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2dy YW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6YXJkL3BwYXMvOS4xX3Bs dXMvc3FsL2Z1bmN0aW9uLnNxbCBiL3dlYi9wZ2FkbWluL3Rvb2xzL2dyYW50 X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6YXJkL3BwYXMvOS4xX3BsdXMv c3FsL2Z1bmN0aW9uLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi43ZmFkMjI1Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRt aW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3RlbXBsYXRlcy9ncmFudF93aXphcmQv cHBhcy85LjFfcGx1cy9zcWwvZnVuY3Rpb24uc3FsCkBAIC0wLDAgKzEsMjMg QEAKK3sjID09PT09IEZldGNoIGxpc3Qgb2YgRGF0YWJhc2Ugb2JqZWN0IHR5 cGVzKEZ1bmN0aW9ucykgPT09PT09ICN9Cit7JSBpZiB0eXBlIGFuZCBub2Rl X2lkIGFuZCBuc3BuYW1lICV9Cit7JSBzZXQgZnVuY190eXBlID0gJ1RyaWdn ZXIgRnVuY3Rpb24nIGlmIHR5cGUgPT0gJ3RyaWdnZXJfZnVuY3Rpb24nIGVs c2UgJ0Z1bmN0aW9uJyAlfQorU0VMRUNUCisgICAgcHIub2lkLAorICAgIHBn X2dldF9mdW5jdGlvbl9pZGVudGl0eV9hcmd1bWVudHMocHIub2lkKSBBUyBw cm9hcmdzLAorICAgIHsjIHByLnByb25hbWUgfHwgJygnIHx8IHBnX2dldF9m dW5jdGlvbl9pZGVudGl0eV9hcmd1bWVudHMocHIub2lkKSB8fCAnKScgQVMg bmFtZSwjfQorICAgIHByLnByb25hbWUgQVMgbmFtZSwKKyAgICAne3sgbnNw bmFtZSB9fScgQVMgbnNwbmFtZSwKKyAgICAne3sgZnVuY190eXBlIH19JyBB UyBvYmplY3RfdHlwZSwKKyAgICAne3sgImljb24tZnVuY3Rpb24iIGlmIHR5 cGUgIT0gInRyaWdnZXJfZnVuY3Rpb24iIGVsc2UgImljb24tdHJpZ2dlcl9m dW5jdGlvbiIgfX0nIEFTIGljb24KK0ZST00KKyAgICBwZ19wcm9jIHByCitK T0lOIHBnX3R5cGUgdHlwIE9OIHR5cC5vaWQ9cHJvcmV0dHlwZQorSk9JTiBw Z19uYW1lc3BhY2UgdHlwbnMgT04gdHlwbnMub2lkPXR5cC50eXBuYW1lc3Bh Y2UKK0pPSU4gcGdfbGFuZ3VhZ2UgbG5nIE9OIGxuZy5vaWQ9cHJvbGFuZwor TEVGVCBPVVRFUiBKT0lOIHBnX2Rlc2NyaXB0aW9uIGRlcyBPTiAoZGVzLm9i am9pZD1wci5vaWQgQU5EIGRlcy5jbGFzc29pZD0ncGdfcHJvYyc6OnJlZ2Ns YXNzKQorV0hFUkUKKyAgICBwcm9pc2FnZyA9IEZBTFNFIEFORCBwcm9uYW1l c3BhY2UgPSB7eyBub2RlX2lkIH19OjpvaWQKKyAgICBBTkQgdHlwbmFtZSB7 eyAnTk9UJyBpZiB0eXBlICE9ICd0cmlnZ2VyX2Z1bmN0aW9uJyBlbHNlICcn IH19IElOICgndHJpZ2dlcicsICdldmVudF90cmlnZ2VyJykKK09SREVSIEJZ CisgICAgcHJvbmFtZQoreyUgZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6 YXJkL3BwYXMvOS4xX3BsdXMvc3FsL2dldF9zY2hlbWFzLnNxbCBiL3dlYi9w Z2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6 YXJkL3BwYXMvOS4xX3BsdXMvc3FsL2dldF9zY2hlbWFzLnNxbApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjZmZDVhCi0tLSAvZGV2 L251bGwKKysrIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3Rl bXBsYXRlcy9ncmFudF93aXphcmQvcHBhcy85LjFfcGx1cy9zcWwvZ2V0X3Nj aGVtYXMuc3FsCkBAIC0wLDAgKzEsMTkgQEAKK3sjID09PT09IEZldGNoIGxp c3Qgb2YgYWxsIHNjaGVtYXMgPT09PT0gI30KK3slIGltcG9ydCAnY2F0YWxv Zy9wZy9tYWNyb3MvY2F0YWxvZ3Muc3FsJyBhcyBDQVRBTE9HUyAlfQorU0VM RUNUCisgICAgbnNwLm9pZCwKKyAgICBuc3AubnNwbmFtZSBhcyBuYW1lCitG Uk9NCisgICAgcGdfbmFtZXNwYWNlIG5zcAorV0hFUkUKKyAgICB7JSBpZiBu c3BpZCAlfQorICAgIG5zcC5vaWQ9e3tuc3BpZH19OjppbnQgQU5ECisgICAg eyUgZWxzZSAlfQorICAgIHslIGlmIG5vdCBzaG93X3N5c29iaiAlfQorICAg IG5zcG5hbWUgTk9UIExJS0UgRSdwZ1xfJScgQU5ECisgICAgeyUgZW5kaWYg JX0KKyAgICB7JSBlbmRpZiAlfQorICAgIE5PVCAoCit7eyBDQVRBTE9HUy5M SVNUKCduc3AnKSB9fQorICAgICkKK09SREVSIEJZIG5zcG5hbWU7CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQvdGVtcGxh dGVzL2dyYW50X3dpemFyZC9wcGFzLzkuMV9wbHVzL3NxbC9ncmFudF9mdW5j dGlvbi5zcWwgYi93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQvdGVt cGxhdGVzL2dyYW50X3dpemFyZC9wcGFzLzkuMV9wbHVzL3NxbC9ncmFudF9m dW5jdGlvbi5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uYWVhNjhhZgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL3Rv b2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6YXJkL3BwYXMv OS4xX3BsdXMvc3FsL2dyYW50X2Z1bmN0aW9uLnNxbApAQCAtMCwwICsxLDEw IEBACit7IyA9PT09PSBHcmFudCBQZXJtaXNzaW9ucyBvbiBEYXRhYmFzZSBP YmplY3RzIFNlbGVjdGVkID09PT0gI30KK3slIGltcG9ydCAnbWFjcm9zL2Z1 bmN0aW9ucy9wcml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxFR0VfRlVOQ1RJ T04gJX0KK3slIGZvciBvYmogaW4gZGF0YS5vYmplY3RzIC0lfQoreyUgZm9y IHByaXYgaW4gZGF0YS5wcml2IC0lfQoreyMgPT09PT0gaWYgb2JqZWN0X3R5 cGUgaXMgRnVuY3Rpb24gdGhlbiBhcHBseSBmdW5jdGlvbiBtYXJjcm9zID09 PT09ICN9Cit7JSBpZiAob2JqLm9iamVjdF90eXBlID09ICdGdW5jdGlvbicg b3Igb2JqLm9iamVjdF90eXBlID09ICdUcmlnZ2VyIEZ1bmN0aW9uJykgJX0K K3t7IFBSSVZJTEVHRV9GVU5DVElPTi5TRVQoY29ubiwgJ0ZVTkNUSU9OJywg cHJpdlsnZ3JhbnRlZSddLCBvYmoubmFtZSwgcHJpdlsnd2l0aG91dF9ncmFu dCddLCBwcml2Wyd3aXRoX2dyYW50J10sIG9iai5uc3BuYW1lLCBvYmoucHJv YXJncyl9fQoreyUgZW5kaWYgLSV9Cit7JSBlbmRmb3IgLSV9Cit7JSBlbmRm b3IgLSV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9ncmFudF93 aXphcmQvdGVtcGxhdGVzL2dyYW50X3dpemFyZC9wcGFzLzkuMV9wbHVzL3Nx bC9ncmFudF9zZXF1ZW5jZS5zcWwgYi93ZWIvcGdhZG1pbi90b29scy9ncmFu dF93aXphcmQvdGVtcGxhdGVzL2dyYW50X3dpemFyZC9wcGFzLzkuMV9wbHVz L3NxbC9ncmFudF9zZXF1ZW5jZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uOGUyNWQxNwotLS0gL2Rldi9udWxsCisrKyBiL3dl Yi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRf d2l6YXJkL3BwYXMvOS4xX3BsdXMvc3FsL2dyYW50X3NlcXVlbmNlLnNxbApA QCAtMCwwICsxLDkgQEAKK3sjID09PT09IEdyYW50IFBlcm1pc3Npb25zIG9u IERhdGFiYXNlIE9iamVjdHMgU2VsZWN0ZWQgPT09PSAjfQoreyUgaW1wb3J0 ICdtYWNyb3Mvc2NoZW1hcy9wcml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxF R0UgJX0KK3slIGZvciBvYmogaW4gZGF0YS5vYmplY3RzIC0lfQoreyUgZm9y IHByaXYgaW4gZGF0YS5wcml2IC0lfQoreyUgaWYgb2JqLm9iamVjdF90eXBl ID09ICdTZXF1ZW5jZScgJX0KK3t7IFBSSVZJTEVHRS5TRVQoY29ubiwgJ1NF UVVFTkNFJywgcHJpdlsnZ3JhbnRlZSddLCBvYmoubmFtZSwgcHJpdlsnd2l0 aG91dF9ncmFudCddLCBwcml2Wyd3aXRoX2dyYW50J10sIG9iai5uc3BuYW1l ICkgfX0KK3slIGVuZGlmICV9Cit7JSBlbmRmb3IgLSV9Cit7JSBlbmRmb3Ig LSV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXph cmQvdGVtcGxhdGVzL2dyYW50X3dpemFyZC9wcGFzLzkuMV9wbHVzL3NxbC9n cmFudF90YWJsZS5zcWwgYi93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXph cmQvdGVtcGxhdGVzL2dyYW50X3dpemFyZC9wcGFzLzkuMV9wbHVzL3NxbC9n cmFudF90YWJsZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uYzc0Yjg2ZQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6YXJkL3Bw YXMvOS4xX3BsdXMvc3FsL2dyYW50X3RhYmxlLnNxbApAQCAtMCwwICsxLDkg QEAKK3sjID09PT09IEdyYW50IFBlcm1pc3Npb25zIG9uIERhdGFiYXNlIE9i amVjdHMgU2VsZWN0ZWQgPT09PSAjfQoreyUgaW1wb3J0ICdtYWNyb3Mvc2No ZW1hcy9wcml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxFR0UgJX0KK3slIGZv ciBvYmogaW4gZGF0YS5vYmplY3RzIC0lfQoreyUgZm9yIHByaXYgaW4gZGF0 YS5wcml2IC0lfQoreyUgaWYgb2JqLm9iamVjdF90eXBlID09ICdUYWJsZScg b3Igb2JqLm9iamVjdF90eXBlID09ICdWaWV3JyAlfQore3sgUFJJVklMRUdF LlNFVChjb25uLCAnVEFCTEUnLCBwcml2WydncmFudGVlJ10sIG9iai5uYW1l LCBwcml2Wyd3aXRob3V0X2dyYW50J10sIHByaXZbJ3dpdGhfZ3JhbnQnXSwg b2JqLm5zcG5hbWUgKSB9fQoreyUgZW5kaWYgJX0KK3slIGVuZGZvciAtJX0K K3slIGVuZGZvciAtJX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xz L2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6YXJkL3BwYXMvOS4x X3BsdXMvc3FsL3NlcXVlbmNlLnNxbCBiL3dlYi9wZ2FkbWluL3Rvb2xzL2dy YW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRfd2l6YXJkL3BwYXMvOS4xX3Bs dXMvc3FsL3NlcXVlbmNlLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi4yOTUwZGYxCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3Bn YWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3RlbXBsYXRlcy9ncmFudF93aXph cmQvcHBhcy85LjFfcGx1cy9zcWwvc2VxdWVuY2Uuc3FsCkBAIC0wLDAgKzEs MTUgQEAKK3sjID09PT09IEZldGNoIGxpc3Qgb2YgRGF0YWJhc2Ugb2JqZWN0 IHR5cGVzKFNlcXVlbmNlKSA9PT09PSAjfQoreyUgaWYgbm9kZV9pZCwgbnNw bmFtZSAlfQorU0VMRUNUCisgICAgY2wucmVsbmFtZSBBUyBuYW1lLAorICAg ICdTZXF1ZW5jZScgQVMgb2JqZWN0X3R5cGUsCisgICAgJ2ljb24tc2VxdWVu Y2UnIEFTIGljb24sCisgICAgJ3t7IG5zcG5hbWUgfX0nIEFTIG5zcG5hbWUK K0ZST00KKyAgICBwZ19jbGFzcyBjbAorTEVGVCBPVVRFUiBKT0lOIHBnX2Rl c2NyaXB0aW9uIGRlcyBPTiAoZGVzLm9iam9pZD1jbC5vaWQgQU5EIGRlcy5j bGFzc29pZD0ncGdfY2xhc3MnOjpyZWdjbGFzcykKK1dIRVJFCisgICAgcmVs a2luZCA9ICdTJyBBTkQgcmVsbmFtZXNwYWNlICA9IHt7IG5vZGVfaWQgfX06 Om9pZAorT1JERVIgQlkKKyAgICBjbC5yZWxuYW1lCit7JSBlbmRpZiAlfQpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3Rl bXBsYXRlcy9ncmFudF93aXphcmQvcHBhcy85LjFfcGx1cy9zcWwvdGFibGUu c3FsIGIvd2ViL3BnYWRtaW4vdG9vbHMvZ3JhbnRfd2l6YXJkL3RlbXBsYXRl cy9ncmFudF93aXphcmQvcHBhcy85LjFfcGx1cy9zcWwvdGFibGUuc3FsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmNjdjNDkKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXph cmQvdGVtcGxhdGVzL2dyYW50X3dpemFyZC9wcGFzLzkuMV9wbHVzL3NxbC90 YWJsZS5zcWwKQEAgLTAsMCArMSwxOSBAQAoreyMgPT09PT0gRmV0Y2ggbGlz dCBvZiBEYXRhYmFzZSBvYmplY3QgdHlwZXMoVGFibGVzKSA9PT09PSAjfQor eyUgaWYgbm9kZV9pZCBhbmQgbnNwbmFtZSAlfQorU0VMRUNUCisgICAgcmVs LnJlbG5hbWUgQVMgbmFtZSwKKyAgICAnVGFibGUnIEFTIG9iamVjdF90eXBl LAorICAgICdpY29uLXRhYmxlJyBBUyBpY29uLAorICAgICd7eyBuc3BuYW1l IH19JyBBUyBuc3BuYW1lCitGUk9NCisgICAgcGdfY2xhc3MgcmVsCitMRUZU IE9VVEVSIEpPSU4gcGdfdGFibGVzcGFjZSBzcGMgT04gc3BjLm9pZD1yZWwu cmVsdGFibGVzcGFjZQorTEVGVCBPVVRFUiBKT0lOIHBnX2Rlc2NyaXB0aW9u IGRlcyBPTiAoZGVzLm9iam9pZD1yZWwub2lkIEFORCBkZXMub2Jqc3ViaWQ9 MCBBTkQgZGVzLmNsYXNzb2lkPSdwZ19jbGFzcyc6OnJlZ2NsYXNzKQorTEVG VCBPVVRFUiBKT0lOIHBnX2NvbnN0cmFpbnQgY29uIE9OIGNvbi5jb25yZWxp ZD1yZWwub2lkIEFORCBjb24uY29udHlwZT0ncCcKK0xFRlQgT1VURVIgSk9J TiBwZ19jbGFzcyB0c3QgT04gdHN0Lm9pZCA9IHJlbC5yZWx0b2FzdHJlbGlk CitMRUZUIEpPSU4gcGdfdHlwZSB0eXAgT04gcmVsLnJlbG9mdHlwZT10eXAu b2lkCitXSEVSRQorICAgIHJlbC5yZWxraW5kIElOICgncicsJ3MnLCd0Jykg QU5EIHJlbC5yZWxuYW1lc3BhY2UgPSB7eyBub2RlX2lkIH19OjpvaWQKK09S REVSIEJZCisgICAgcmVsLnJlbG5hbWUKK3slIGVuZGlmICV9CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQvdGVtcGxhdGVz L2dyYW50X3dpemFyZC9wcGFzLzkuMV9wbHVzL3NxbC92aWV3LnNxbCBiL3dl Yi9wZ2FkbWluL3Rvb2xzL2dyYW50X3dpemFyZC90ZW1wbGF0ZXMvZ3JhbnRf d2l6YXJkL3BwYXMvOS4xX3BsdXMvc3FsL3ZpZXcuc3FsCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhYjc3Y2MKLS0tIC9kZXYvbnVs bAorKysgYi93ZWIvcGdhZG1pbi90b29scy9ncmFudF93aXphcmQvdGVtcGxh dGVzL2dyYW50X3dpemFyZC9wcGFzLzkuMV9wbHVzL3NxbC92aWV3LnNxbApA QCAtMCwwICsxLDI4IEBACit7IyA9PT09PSBGZXRjaCBsaXN0IG9mIERhdGFi YXNlIG9iamVjdCB0eXBlcyhWaWV3KSA9PT09PSAjfQoreyUgaWYgbm9kZV9p ZCAlfQorU0VMRUNUCisgICAgYy5yZWxuYW1lIEFTIG5hbWUsCisgICAgJ1Zp ZXcnIEFTIG9iamVjdF90eXBlLAorICAgICdpY29uLXZpZXcnIEFTIGljb24s CisgICAgJ3t7IG5zcG5hbWUgfX0nIEFTIG5zcG5hbWUKK0ZST00KKyAgICBw Z19jbGFzcyBjCitMRUZUIE9VVEVSIEpPSU4gcGdfdGFibGVzcGFjZSBzcGMg T04gc3BjLm9pZD1jLnJlbHRhYmxlc3BhY2UKK0xFRlQgT1VURVIgSk9JTiBw Z19kZXNjcmlwdGlvbiBkZXMgT04gKGRlcy5vYmpvaWQ9Yy5vaWQgYW5kIGRl cy5vYmpzdWJpZD0wIEFORCBkZXMuY2xhc3NvaWQ9J3BnX2NsYXNzJzo6cmVn Y2xhc3MpCitMRUZUIE9VVEVSIEpPSU4gcGdfY2xhc3MgdHN0IE9OIHRzdC5v aWQgPSBjLnJlbHRvYXN0cmVsaWQKK1dIRVJFCisgICAgKChjLnJlbGhhc3J1 bGVzIEFORCAoRVhJU1RTICgKKyAgICAgIFNFTEVDVAorICAgICAgICAgIHIu cnVsZW5hbWUKKyAgICAgIEZST00KKyAgICAgICAgICBwZ19yZXdyaXRlIHIK KyAgICAgIFdIRVJFCisgICAgICAgICAgKChyLmV2X2NsYXNzID0gYy5vaWQp CisgICAgICAgICAgQU5EIChicGNoYXIoci5ldl90eXBlKSA9ICcxJzo6YnBj aGFyKSkKKyAgICAgICkpCisgICAgICkgT1IgKGMucmVsa2luZCA9ICd2Jzo6 Y2hhcikKKyAgICApCisgICAgQU5EIGMucmVsbmFtZXNwYWNlID0ge3sgbm9k ZV9pZCB9fTo6b2lkCitPUkRFUiBCWQorICAgIGMucmVsbmFtZQoreyUgZW5k aWYgJX0K --001a114246164b2189052ffcf864 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 --001a114246164b2189052ffcf864--