Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b2y7q-0000lJ-BP for pgadmin-hackers@arkaria.postgresql.org; Wed, 18 May 2016 09:50:46 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1b2y7p-0002oU-K6 for pgadmin-hackers@arkaria.postgresql.org; Wed, 18 May 2016 09:50:45 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b2y7a-0002aV-Q1 for pgadmin-hackers@postgresql.org; Wed, 18 May 2016 09:50:30 +0000 Received: from mail-qk0-x229.google.com ([2607:f8b0:400d:c09::229]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1b2y7U-0001yi-Tc for pgadmin-hackers@postgresql.org; Wed, 18 May 2016 09:50:29 +0000 Received: by mail-qk0-x229.google.com with SMTP id n63so23671137qkf.0 for ; Wed, 18 May 2016 02:50:24 -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=X0FTvkeM/ooK7/18j6csQq7z5xqPGX00u6iYtFZKH3w=; b=j8eAZ7KVttDvxr1WLo3ZYmsBojAmZBFOC0jY7uj4pwFjzCN4PPPlL42BNBE73pyhiL /tV+zB/2+y3URKjwtuOZU+tn2HdM9D2eNQOJx5zFDA+gpSKhgISmmZOijLMD5/SSBK2O DpynGqFgxJUE+pJvvSS9hK+Y/Umug5YsiSjHExaPfS+ls7OBql54uBK+cYc1LZwy/m/M li8H7zHvmjIvsbOKviPM6yelxYMlPqDFL/D4x/je9krjFRFCT/7xUQC9pdgkk/+vtMLb qw5iaOgNUmeEXEmBk1WBJ9BbwHgkxxk+w/hycYfMrDW2cfOo5qU30RaDztjaWtSgjHti dHJQ== 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=X0FTvkeM/ooK7/18j6csQq7z5xqPGX00u6iYtFZKH3w=; b=mE53WSPaNBIO5cXym6ZoF1guGTX7mw/bOW+sT+yip+xbcEKl8vWpv2yx6aPa4lNph9 B38LM6q9RWBY0JKRduLiX8Gagat5WQvZNTHQmK2PmJODtT1ytNBf4OIJgLoR1qvYXaHj /ix5bE8yAMwE6EcBN3vWHqPF0ag/DM8uUUCuG/zhEU0XQcbTpBX0u3gI5ozKFtD5geZu fDLPB5ekknTuVJHDWDcnkKVw4fQzp4TgFMCxBcIcBdPyA/LLx83WdupDU238jGjKLGzc Xjprbg/C62gkxrX0NHEDkl24IcI2ZnCGPMsNSI9yxjszCm/V+h70BOg6YNhm6ISCcgwp dVGg== X-Gm-Message-State: AOPr4FWgRrarYakZdngxIWHhJAOo4BsKcr/Dmgx9zlQyENR2JCgj2kUoYvunlpqp89lruJGVds+r+Bpp4YlIrlz5 X-Received: by 10.55.143.129 with SMTP id r123mr6558114qkd.170.1463565022526; Wed, 18 May 2016 02:50:22 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.207.202 with HTTP; Wed, 18 May 2016 02:50:02 -0700 (PDT) In-Reply-To: References: From: Murtuza Zabuawala Date: Wed, 18 May 2016 15:20:02 +0530 Message-ID: Subject: Re: [PATCH] Tables node (pgAdmin4) To: Harshal Dhumal Cc: pgadmin-hackers , Sanket Mehta Content-Type: multipart/mixed; boundary=94eb2c083bc046528b05331ac9a6 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 --94eb2c083bc046528b05331ac9a6 Content-Type: multipart/alternative; boundary=94eb2c083bc046528505331ac9a4 --94eb2c083bc046528505331ac9a4 Content-Type: text/plain; charset=UTF-8 Hi, PFA table add-on patch version 8.2 -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company On Wed, May 18, 2016 at 2:42 PM, Harshal Dhumal < harshal.dhumal@enterprisedb.com> wrote: > Hi, > > PFA patch for table node (version 8.1). apply this patch on version 7 > patch. Not all issue are fixed in this patch. Murtuza will be sending > version 8.2 witch will have resolution for remaining issues. Apply version > 8.2 patch on version 8.1 > > -- > *Harshal Dhumal* > *Software Engineer * > > > > EenterpriseDB > > On Tue, May 17, 2016 at 10:12 PM, Sanket Mehta < > sanket.mehta@enterprisedb.com> wrote: > >> Hi Harshal, >> >> >> Below are my review comments: >> >> I got below warning when I tried to apply the patch for table node as >> mentioned below: >> >> Table creation: >> >> - Trailing white spaces warnings >> >> $ git apply >> /projects/patches/pgadmin4/Table/table_14_May_V6.patch >> >> /projects/patches/pgadmin4/Table/table_14_May_V6.patch:6008: trailing >> whitespace. >> return false; >> >> /projects/patches/pgadmin4/Table/table_14_May_V6.patch:6016: trailing >> whitespace. >> return false; >> warning: 2 lines add whitespace errors. >> > > Fixed (These were introduced due to rules node.) > > >> >> - In Table creation dialog, while adding a new primary key, it does >> not allow to change the tablespace to empty. (which is not the case in case >> of tablespace in table) >> >> Fixed > >> >> - In Table creation dialog, while adding a new column, data type and >> name field must be mandatory. otherwise while clicking on save it gives >> below error >> >> File >> "/projects/pgadmin4/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/__init__.py", >> line 1319, in _parse_format_columns >> c['cltype'] = self._cltype_formatter(c['cltype']) >> KeyError: 'cltype >> > Fixed > > >> >> - In Table creation dialog, While adding a new column, in primary >> check box is needed to click twice in order to check it. Ideally it should >> be checked by only one click. >> >> This is Backgrid behaviour. > >> >> - In Table creation dialog, While adding a new column, primary key >> should not be allowed to added unless user has provided name and data type >> for at least one column. >> >> Fixed > >> >> - currently if user has clicked on add column button and immediately >> click on add primary key button, it will add a row in primary key data grid >> >> Fixed > >> >> - When delete table/drop cascade is apply on any table, i got a >> javascript error as mentioned below >> >> node.js:94 Uncaught TypeError: self.canDrop.apply is not >> a function >> > Already fixed in other commit. > > >> >> - Once the above error generated, every time user tries to open a >> context menu by right clicking on any existing table, that same error comes >> >> Already fixed in other commit. > >> >> - In table creation dialog, if table is inherited from another table, >> if a new primary key is added manually there, the create sql will not have >> an entry for primary key >> >> Fixed > >> >> - In table creation dialog, if primary key check box is checked while >> adding the row, a new row is added in primary key datagrid but unchecking >> the primary key checkbox from column datagrid, does not removes that row >> from primary key data grid. >> >> Fixed. > >> >> - In AutoVacuum tab, if user provides any invalid value to any >> parameter, then a error message should be prompted, only background color >> change would not tell user to change the value. >> >> Expected behaviour. > >> >> - In table creation dialog, security label are not being added. >> javascript error is coming as mentioned below: >> {"success": 0, "info": "", "result": null, "data": null, >> "errormsg": "can't adapt type 'Undefined'"} >> >> Fixed > >> >> - In Table creation dialog, while adding foreign key, in action tab. >> if user click on 'x' button in "on update" or "on delete" select2 control, >> it gives error "Uncaught SyntaxError: Unexpected end of input" >> >> Fixed > >> >> - In Table creation dialog, while adding a check constraint, >> "validated" button does not work properly >> >> Fixed. > >> >> - After successfully creation of table, "table name cannot be empty" >> error is not getting cleared. >> >> Not reproducible. > >> >> - In Table creation dialog, if user has added an empty column without >> entering its name or type and trying to add check constraint, it will add >> an empty constraint >> >> Expected behaviour (Columns are not mandatory for check constrains) > >> >> - In Table creation dialog, while adding an exclude constraint, for >> "character varying" column type, no operators are being listed >> >> There are no operators for character varying data type. > >> >> - In Table creation dialog, while adding an exclude constraint, below >> mentioned error comes if user removes operator class by clicking 'x' on >> that control Uncaught TypeError: Cannot read property 'id' of undefined >> >> TODO > >> >> - In Table creation dialog, SQL is not getting generated for exclude >> constraint >> >> Fixed > >> >> - In Table creation dialog, schema should be prefixed with table name >> in "of type" control >> >> Fixed > >> >> - In Table creation dialog, while adding privileges, it always shows >> default privileges even if user has selected different privileges. (This >> works fine once user edit the privileges in edit table mode and shows only >> those privileges which user selects). Ashesh, please confirm the behaviour. >> >> Privileges are set correctly. Only it shows in incorrect order. > > >> Table edit mode: >> >> - If in edit mode, any constraint is already having any comment, then >> remove it. It will not create the SQL for the same. >> >> > Fixed > >> >> - Changing Schema will give server error >> >> This is generic issue for each node. > > >> Column Creation: >> >> - Save button is enabled by default >> - Data type validation is not provided. Save button is enabled just >> after providing column name >> - Length field limitation is not provided. (i.e. for numeric type, >> length should be allowed greater than 1000) >> >> *Fixed* > Exclusion constraint creation: >> >> - Access method should not be allowed to be empty. (currently by >> clicking 'x' will remove the selection in it) >> >> Access method is optional. > > >> Index creation: >> >> - No error message for name field when empty >> - No error message when column name is not provided while adding a >> column in index >> - While adding a column if no name is provided, "None" appears in SQL >> tab which will give error on OK button click >> - when comment is provided while creation, it gives error saying >> index does not exists. because schema name is not added before it. >> >> *Fixed* > Rule creation: >> >> - Name is empty error does not come till user enters something in >> definition tab >> - DO INSTEAD button does not make any difference to SQL (it works in >> edit mode) >> >> *Surinder will send patch* > Rule edit mode: >> >> - Add comment in edit mode, check the SQL in sql tab. Now come back >> to general tab and removes comment and check the sql tab again. >> SQL for comment is still there with empty string as comment >> >> *Surinder will send patch* > Trigger Creation: >> >> - SQL is not proper when creating a trigger. "()" should be appended >> to function name in SQL. >> It gives error while creating a trigger >> - "+" sign is visible in browser tree in front of trigger. either On >> expanding trigger, it should show the trigger function name or that "+" >> sign should not appear >> >> *Fixed* > Trigger edit node: >> > >> - On removing comment, nothing happens. No sql is being created. >> Comment is still there in properties. >> >> *Fixed* > >> Regards, >> Sanket Mehta >> Sr Software engineer >> Enterprisedb >> > > > > -- > Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgadmin-hackers > > --94eb2c083bc046528505331ac9a4 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

PFA table add-on patch version 8.2<= /div>

--
Regards,=
Murtuza Zabuawala
<= span style=3D"color:rgb(136,136,136)">EnterpriseDB:=C2=A0http://www.enterprisedb.com
The Enterprise Postg= reSQL Company


On Wed, May 18, 2016 at 2:42 PM, Harshal Dhu= mal <harshal.dhumal@enterprisedb.com> wrote:
Hi,

PFA patch for tab= le node (version 8.1). apply this patch on version 7 patch. Not all issue a= re fixed in this patch. Murtuza will be sending version 8.2 witch will have= resolution for remaining issues. Apply version 8.2 patch on version 8.1
--=C2=A0
Harshal Dhumal
Software Engineer=C2=A0



On Tue, May 17, 2016 at 10:12 PM, Sanket Meh= ta <sanket.mehta@enterprisedb.com> wrote:
Hi Harshal,


Below are my review comments:

=C2=A0I got below = warning when I tried to apply the patch for table node as mentioned below:<= /div>

Table creation:
  • =C2=A0Trail= ing white spaces warnings=C2=A0
=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 $ git apply /projects/patc= hes/pgadmin4/Table/table_14_May_V6.patch
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 /projects/patches/pgadmin4/Ta= ble/table_14_May_V6.patch:6008: trailing whitespace.
=C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 return false;=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/projects/patches/pgadmin4/Tab= le/table_14_May_V6.patch:6016: trailing whitespace.
=C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 return false;=C2=A0
=C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0warning: 2 lines add whitespace e= rrors.

Fixed (These were introduced = due to rules node.)
=C2=A0
  • In Table creation dialog, while adding a new primary key,= it does not allow to change the tablespace to empty. (which is not the cas= e in case of tablespace in table)
Fi= xed=C2=A0
  • In Table crea= tion dialog, while adding a new column, data type and name field must be ma= ndatory. otherwise while clicking on save it gives below error
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 File= "/projects/pgadmin4/web/pgadmin/browser/server_groups/servers/databas= es/schemas/tables/__init__.py", line 1319, in _parse_format_columns
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0c['cltype'] =3D self._cltype_formatter(c['cltype'])
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= KeyError: 'cltype
Fixed
=C2= =A0
  • In Table creation d= ialog, While adding a new column, in primary check box is needed to click t= wice in order to check it. Ideally it should be checked by only one click.<= br>
This is Backgrid behaviour.
  • In Table creation dialog, W= hile adding a new column, primary key should not be allowed to added unless= user has provided name and data type for at least one column.
=C2=A0Fixed
  • currently if user has clicked on add column button = and immediately click on add primary key button, it will add a row in prima= ry key data grid
Fixed=C2=A0
  • When delete table/drop cas= cade is apply on any table, i got a javascript error as mentioned below
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0no= de.js:94 Uncaught TypeError: self.canDrop.apply is not a function
Already fixed in other commit.
=C2=A0
  • Once the above error gen= erated, every time user tries to open a context menu by right clicking on a= ny existing table, that same error comes=C2=A0
Already fixed in other commit.
  • In table creation dialog, if table is inherited from ano= ther table, if a new primary key is added manually there, the create sql wi= ll not have an entry for primary key
Fixed=C2=A0
  • In table c= reation dialog, if primary key check box is checked while adding the row, a= new row is added in primary key datagrid but unchecking the primary key ch= eckbox from column datagrid, does not removes that row from primary key dat= a grid.
Fixed.=C2=A0
  • In AutoVacuum tab, if user provide= s any invalid value to any parameter, then a error message should be prompt= ed, only background color change would not tell user to change the value.
Expected =C2=A0behaviour.
  • In table creation dialog, security= label are not being added. javascript error is coming as mentioned below:<= br>=C2=A0=C2=A0{"= ;success": 0, "info": "", "result": null= , "data": null, "errormsg": "can't adapt type = 'Undefined'"}
= =C2=A0Fixed
  • In Table creation dialog,= while adding foreign key, in action tab. if user click on 'x' but= ton in "on update" or "on delete" select2 control, it g= ives error "Uncaught SyntaxError: Unexpected end of input"=
Fixed
  • In Table creation dialog, while adding a check constra= int, "validated" button does not work properly
  • =
Fixed.=C2=A0
  • After successfully creation of table, "table name cannot be= empty" error is not getting cleared.
Not reproducible.=C2=A0
  • In Table creation dialog, if user has added an empty column wit= hout entering its name or type and trying to add check constraint, it will = add an empty constraint
=C2=A0Expected =C2=A0behaviour (Columns are not mandatory for check const= rains)
  • In Table creation dialog, whil= e adding an exclude constraint, for "character varying" column ty= pe, no operators are being listed
=C2=A0There are no operators for=C2=A0character varying data type.
  • In Table creation dialog, while adding an exclu= de constraint, below mentioned error comes if user removes operator class b= y clicking 'x' on that control Uncaught TypeError: Cannot read property 'id' of unde= fined
=C2=A0TODO
=
  • In Table creation dialog, SQL is not getti= ng generated for exclude constraint
Fixed
  • In Table creation= dialog, schema should be prefixed with table name in "of type" c= ontrol
=C2=A0Fixed
  • In Table creation dialog, while adding p= rivileges, it always shows default privileges even if user has selected dif= ferent privileges. (This works fine once user edit the privileges in edit t= able mode and shows only those privileges which user selects).=20 Ashesh, please confirm the behaviour.
= Privileges are set correctly. Only it shows in incorrect order.
<= /div>
=C2=A0
Table edit mode:=
  • If in edit mode, any constraint is already having any comment, = then remove it. It will not create the SQL for the same.
  • =

Fixed=C2=A0
  • <= span style=3D"white-space:pre-wrap">Changing Schema will give server error<= /span>
This is generic = issue for each node.
=C2=A0
Co= lumn Creation:
  • Save button is enabled by default
  • = Data type validation is not provided. Save button is enabled just after pro= viding column name
  • Length field limitation is not provided. (i.e. f= or numeric type, length should be allowed greater than 1000)<= /li>
=
=
Fixed=C2=A0
Exclusion constraint creation:
  • = Access method should not be allowed to be empty. (currently by clicking = 9;x' will remove the selection in it)
Access method is optional.
=C2=A0
Index creation:
  • No error message for name field when empty
  • No error message wh= en column name is not provided while adding a column in index
  • While= adding a column if no name is provided, "None" appears in SQL ta= b which will give error on OK button click
  • when comment is provided= while creation, it gives error saying index does not exists. because schem= a name is not added before it.
  • Fixed=C2=A0
    Rule crea= tion:
    • Name is empty error does not come till = user enters something in definition tab
    • DO INSTEAD button does not = make any difference to SQL (it works in edit mode)
    Surinder = will send patch=C2=A0
    Rule edit mode:
    • Add comment in e= dit mode, check the SQL in sql tab. Now come back to general tab and remove= s comment and check the sql tab again.
      SQL for comment is still there wi= th empty string as comment
    Surinder will send patch=C2= =A0
    =
    Trig= ger Creation:
    • SQL is not proper when creating a tri= gger. "()" should be appended to function name in SQL.
      It give= s error while creating a trigger
    • "+" sign is visible in b= rowser tree in front of trigger. =C2=A0either On expanding trigger, it shou= ld show the trigger function name or that "+" sign should not app= ear
    Fixed=C2=A0
    <= div>
    =
    Trigger edit node:
    • On removing comment, nothin= g happens. No sql is being created. Comment is still there in properties.= =C2=A0
    Fixed=C2=A0

    Regards,
    Sank= et Mehta
    Sr Software engineer
    Enterprisedb
    <= /div>



    --
    Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
    To make changes to your subscription:
    http://www.postgresql.org/mailpref/pgadmin-hackers=


    --94eb2c083bc046528505331ac9a4-- --94eb2c083bc046528b05331ac9a6 Content-Type: application/octet-stream; name="table_v8.2.patch" Content-Disposition: attachment; filename="table_v8.2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iocosdgy1 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW4vX19p bml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1uL19faW5p dF9fLnB5CmluZGV4IDQ5ZDJjN2IuLjViY2I0NTYgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW4vX19pbml0X18ucHkKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbHVtbi9fX2luaXRfXy5weQpAQCAt MzY5LDcgKzM2OSw3IEBAIGNsYXNzIENvbHVtbnNWaWV3KFBHQ2hpbGROb2Rl VmlldywgRGF0YVR5cGVSZWFkZXIpOgogICAgICAgICAgICAgc2VjbGFiZWxz ID0gW10KICAgICAgICAgICAgIGZvciBzZWNsYmxzIGluIGRhdGFbJ3NlY2xh YmVscyddOgogICAgICAgICAgICAgICAgIGssIHYgPSBzZWNsYmxzLnNwbGl0 KCc9JykKLSAgICAgICAgICAgICAgICBzZWNsYWJlbHMuYXBwZW5kKHsncHJv dmlkZXInOiBrLCAnc2VjdXJpdHlfbGFiZWwnOiB2fSkKKyAgICAgICAgICAg ICAgICBzZWNsYWJlbHMuYXBwZW5kKHsncHJvdmlkZXInOiBrLCAnbGFiZWwn OiB2fSkKIAogICAgICAgICAgICAgZGF0YVsnc2VjbGFiZWxzJ10gPSBzZWNs YWJlbHMKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2Nv bHVtbi90ZW1wbGF0ZXMvY29sdW1uL2pzL2NvbHVtbi5qcyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3RhYmxlcy9jb2x1bW4vdGVtcGxhdGVzL2NvbHVtbi9qcy9jb2x1 bW4uanMKaW5kZXggMTU3MTZjOC4uNjg4YWMyNCAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGFibGVzL2NvbHVtbi90ZW1wbGF0ZXMvY29sdW1uL2pz L2NvbHVtbi5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1u L3RlbXBsYXRlcy9jb2x1bW4vanMvY29sdW1uLmpzCkBAIC04OSwxNyArODks MjEgQEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBC YWNrZm9ybSwgYWxlcnRpZnkpIHsKICAgICAgICAgICB2YXIgdCA9IHBnQnJv d3Nlci50cmVlLCBpID0gaXRlbSwgZCA9IGl0ZW1EYXRhLCBwYXJlbnRzID0g W107CiAgICAgICAgICAgLy8gVG8gaXRlcmF0ZSBvdmVyIHRyZWUgdG8gY2hl Y2sgcGFyZW50IG5vZGUKICAgICAgICAgICB3aGlsZSAoaSkgewotICAgICAg ICAgICAgLy8gSWYgaXQgaXMgc2NoZW1hIHRoZW4gYWxsb3cgdXNlciB0byBj cmVhdGUgdGFibGUKLSAgICAgICAgICAgIGlmIChfLmluZGV4T2YoWyd2aWV3 JywgJ212aWV3J10sIGQuX3R5cGUpID4gLTEpIHsKLSAgICAgICAgICAgICAg cmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQogICAgICAgICAgICAgcGFy ZW50cy5wdXNoKGQuX3R5cGUpOwogICAgICAgICAgICAgaSA9IHQuaGFzUGFy ZW50KGkpID8gdC5wYXJlbnQoaSkgOiBudWxsOwogICAgICAgICAgICAgZCA9 IGkgPyB0Lml0ZW1EYXRhKGkpIDogbnVsbDsKICAgICAgICAgICB9Ci0gICAg ICAgIH0KLSAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgcmV0dXJuIHRydWU7 CisKKyAgICAgICAgICAvLyBDaGVjayBpZiBtZW51IGlzIGFsbG93ZWQgPwor ICAgICAgICAgIGlmKF8uaW5kZXhPZihwYXJlbnRzLCAnY2F0YWxvZycpID4g LTEgfHwKKyAgICAgICAgICAgICBfLmluZGV4T2YocGFyZW50cywgJ3ZpZXcn KSA+IC0xIHx8CisgICAgICAgICAgICAgXy5pbmRleE9mKHBhcmVudHMsICdt dmlldycpID4gLTEpIHsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg ICAgICAgICB9IGVsc2UgaWYoXy5pbmRleE9mKHBhcmVudHMsICd0YWJsZScp ID4gLTEpIHsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAg IH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICByZXR1cm4gZmFsc2U7 CiAgICAgICAgIH0KICAgICAgIH0sCiAgICAgICBoYXNEZXBlbmRzOiB0cnVl LApAQCAtNDA2LDY0ICs0MTAsNzMgQEAgZnVuY3Rpb24oJCwgXywgUywgcGdB ZG1pbiwgcGdCcm93c2VyLCBCYWNrZm9ybSwgYWxlcnRpZnkpIHsKICAgICAg ICAgICBjYW5EZWxldGU6IHRydWUKICAgICAgICAgfSx7CiAgICAgICAgICAg aWQ6ICdzZWNsYWJlbHMnLCBsYWJlbDogJ3t7IF8oJ1NlY3VyaXR5IExhYmVs cycpIH19JywKLSAgICAgICAgICBtb2RlbDogQmFja2Zvcm0uU2VjdXJpdHlN b2RlbCwgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAnY29sbGVjdGlvbicsCisg ICAgICAgICAgbW9kZWw6IHBnQWRtaW4uQnJvd3Nlci5TZWN1cml0eU1vZGVs LAorICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwgdHlwZTogJ2NvbGxlY3Rp b24nLAogICAgICAgICAgIGdyb3VwOiAne3sgXygnU2VjdXJpdHknKSB9fScs IG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKLSAgICAgICAgICBtaW5fdmVy c2lvbjogOTAyMDAsIGNhbkFkZDogdHJ1ZSwKKyAgICAgICAgICBtaW5fdmVy c2lvbjogOTAxMDAsIGNhbkFkZDogdHJ1ZSwKICAgICAgICAgICBjYW5FZGl0 OiBmYWxzZSwgY2FuRGVsZXRlOiB0cnVlLCBjb250cm9sOiAndW5pcXVlLWNv bC1jb2xsZWN0aW9uJwogICAgICAgICB9CiAgICAgICAgIF0sCi0gICAgICAg IHZhbGlkYXRlOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdmFsaWRhdGU6IGZ1 bmN0aW9uKGtleXMpIHsKICAgICAgICAgICB2YXIgZXJyID0ge30sCiAgICAg ICAgICAgICAgIGNoYW5nZWRBdHRycyA9IHRoaXMuY2hhbmdlZCwKICAgICAg ICAgICAgICAgbXNnID0gdW5kZWZpbmVkOwotICAgICAgICAgIHRoaXMuZXJy b3JNb2RlbC5jbGVhcigpOwogCi0gICAgICAgICAgaWYgKF8uaGFzKGNoYW5n ZWRBdHRycyx0aGlzLmdldCgnbmFtZScpKQotICAgICAgICAgICAgICAgICAg ICAmJiBfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCduYW1lJykpCisgICAgICAg ICAgLy8gTm90aGluZyB0byB2YWxpZGF0ZQorICAgICAgICAgIGlmIChrZXlz Lmxlbmd0aCA9PSAwKSB7CisgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwu Y2xlYXIoKTsKKyAgICAgICAgICAgIHJldHVybiBudWxsOworICAgICAgICAg IH0gZWxzZSB7CisgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuY2xlYXIo KTsKKyAgICAgICAgICB9CisKKyAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5l ZCh0aGlzLmdldCgnbmFtZScpKQogICAgICAgICAgICAgICB8fCBTdHJpbmco dGhpcy5nZXQoJ25hbWUnKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9 PSAnJykgewogICAgICAgICAgICAgbXNnID0gJ3t7IF8oJ0NvbHVtbiBuYW1l IGNhbiBub3QgYmUgZW1wdHkuJykgfX0nOwogICAgICAgICAgICAgdGhpcy5l cnJvck1vZGVsLnNldCgnbmFtZScsIG1zZyk7CiAgICAgICAgICAgICByZXR1 cm4gbXNnOwotICAgICAgICAgIH0gZWxzZSBpZiAoXy5oYXMoY2hhbmdlZEF0 dHJzLHRoaXMuZ2V0KCdhdHRvd25lcicpKQotICAgICAgICAgICAgICAgICAg ICAgICAgJiYgXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnYXR0b3duZXInKSkK LSAgICAgICAgICAgICAgfHwgU3RyaW5nKHRoaXMuZ2V0KCdhdHRvd25lcicp KS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7Ci0gICAgICAg ICAgICBtc2cgPSAne3sgXygnU2NoZW1hIGNhbiBub3QgYmUgZW1wdHkuJykg fX0nOwotICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnYXR0b3du ZXInLCBtc2cpOwotICAgICAgICAgICAgcmV0dXJuIG1zZzsKLSAgICAgICAg ICB9IGVsc2UgaWYgKF8uaGFzKGNoYW5nZWRBdHRycyx0aGlzLmdldCgnYXR0 b3duZXInKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICYmIF8uaXNVbmRl ZmluZWQodGhpcy5nZXQoJ2F0dG93bmVyJykpCi0gICAgICAgICAgICAgIHx8 IFN0cmluZyh0aGlzLmdldCgnYXR0b3duZXInKSkucmVwbGFjZSgvXlxzK3xc cyskL2csICcnKSA9PSAnJykgewotICAgICAgICAgICAgbXNnID0gJ3t7IF8o J093bmVyIGNhbiBub3QgYmUgZW1wdHkuJykgfX0nOwotICAgICAgICAgICAg dGhpcy5lcnJvck1vZGVsLnNldCgnYXR0b3duZXInLCBtc2cpOworICAgICAg ICAgIH0KKworICAgICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0 KCdjbHR5cGUnKSkKKyAgICAgICAgICAgICAgfHwgU3RyaW5nKHRoaXMuZ2V0 KCdjbHR5cGUnKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykg eworICAgICAgICAgICAgbXNnID0gJ3t7IF8oJ0NvbHVtbiB0eXBlIGNhbiBu b3QgYmUgZW1wdHkuJykgfX0nOworICAgICAgICAgICAgdGhpcy5lcnJvck1v ZGVsLnNldCgnY2x0eXBlJywgbXNnKTsKICAgICAgICAgICAgIHJldHVybiBt c2c7Ci0gICAgICAgICAgfSBlbHNlIGlmIChfLmhhcyhjaGFuZ2VkQXR0cnMs dGhpcy5nZXQoJ2F0dGxlbicpKQotICAgICAgICAgICAgICAgICAgICAgICAg JiYgXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnYXR0bGVuJykpCi0gICAgICAg ICAgICAgIHx8IFN0cmluZyh0aGlzLmdldCgnYXR0bGVuJykpLnJlcGxhY2Uo L15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKKyAgICAgICAgICB9CisKKyAg ICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ2NsdHlwZScp KQorICAgICAgICAgICAgICAgICYmICFfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0 KCdhdHRsZW4nKSkKKyAgICAgICAgICAgICAgICAmJiAhXy5pc051bGwodGhp cy5nZXQoJ2F0dGxlbicpKQorICAgICAgICAgICAgICAgICYmIHRoaXMuZ2V0 KCdhdHRsZW4nKSAhPT0gJycpIHsKICAgICAgICAgICAgIC8vIFZhbGlkYXRp b24gZm9yIExlbmd0aCBmaWVsZAogICAgICAgICAgICAgaWYgKHRoaXMuZ2V0 KCdhdHRsZW4nKSA8IHRoaXMuZ2V0KCdtaW5fdmFsJykpCi0gICAgICAgICAg ICAgIG1zZyA9IF8oIkxlbmd0aCBzaG91bGQgbm90IGJlIGxlc3MgdGhhbiAi ICsgdGhpcy5nZXQoJ21pbl92YWwnKSkKKyAgICAgICAgICAgICAgbXNnID0g J3t7IF8oJ0xlbmd0aCBzaG91bGQgbm90IGJlIGxlc3MgdGhhbjogJykgfX0n ICsgdGhpcy5nZXQoJ21pbl92YWwnKTsKICAgICAgICAgICAgIGlmICh0aGlz LmdldCgnYXR0bGVuJykgPiB0aGlzLmdldCgnbWF4X3ZhbCcpKQotICAgICAg ICAgICAgICBtc2cgPSBfKCJMZW5ndGggc2hvdWxkIG5vdCBiZSBncmVhdGVy IHRoYW4gIiArIHRoaXMuZ2V0KCdtYXhfdmFsJykpCisgICAgICAgICAgICAg IG1zZyA9ICd7eyBfKCdMZW5ndGggc2hvdWxkIG5vdCBiZSBncmVhdGVyIHRo YW46ICcpIH19JyArIHRoaXMuZ2V0KCdtYXhfdmFsJyk7CiAgICAgICAgICAg ICAvLyBJZiB3ZSBoYXZlIGFueSBlcnJvciBzZXQgdGhlbiB0aHJvdyBpdCB0 byB1c2VyCiAgICAgICAgICAgICBpZihtc2cpIHsKICAgICAgICAgICAgICAg dGhpcy5lcnJvck1vZGVsLnNldCgnYXR0bGVuJywgbXNnKQogICAgICAgICAg ICAgICByZXR1cm4gbXNnOwogICAgICAgICAgICAgfQotICAgICAgICAgICB9 IGVsc2UgaWYgKF8uaGFzKGNoYW5nZWRBdHRycyx0aGlzLmdldCgnYXR0cHJl Y2lzaW9uJykpCi0gICAgICAgICAgICAgICAgICAgICAgICAmJiBfLmlzVW5k ZWZpbmVkKHRoaXMuZ2V0KCdhdHRwcmVjaXNpb24nKSkKLSAgICAgICAgICAg ICAgfHwgU3RyaW5nKHRoaXMuZ2V0KCdhdHRwcmVjaXNpb24nKSkucmVwbGFj ZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgeworICAgICAgICAgIH0KKwor ICAgICAgICAgIGlmICghXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnY2x0eXBl JykpCisgICAgICAgICAgICAgICAgJiYgIV8uaXNVbmRlZmluZWQodGhpcy5n ZXQoJ2F0dHByZWNpc2lvbicpKQorICAgICAgICAgICAgICAgICYmICFfLmlz TnVsbCh0aGlzLmdldCgnYXR0cHJlY2lzaW9uJykpCisgICAgICAgICAgICAg ICAgJiYgdGhpcy5nZXQoJ2F0dHByZWNpc2lvbicpICE9PSAnJykgewogICAg ICAgICAgICAgLy8gVmFsaWRhdGlvbiBmb3IgcHJlY2lzaW9uIGZpZWxkCiAg ICAgICAgICAgICBpZiAodGhpcy5nZXQoJ2F0dHByZWNpc2lvbicpIDwgdGhp cy5nZXQoJ21pbl92YWwnKSkKLSAgICAgICAgICAgICAgbXNnID0gXygiUHJl Y2lzaW9uIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuICIgKyB0aGlzLmdldCgn bWluX3ZhbCcpKQorICAgICAgICAgICAgICBtc2cgPSAne3sgXygnUHJlY2lz aW9uIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuOiAnKSB9fScgKyB0aGlzLmdl dCgnbWluX3ZhbCcpOwogICAgICAgICAgICAgaWYgKHRoaXMuZ2V0KCdhdHRw cmVjaXNpb24nKSA+IHRoaXMuZ2V0KCdtYXhfdmFsJykpCi0gICAgICAgICAg ICAgIG1zZyA9IF8oIlByZWNpc2lvbiBzaG91bGQgbm90IGJlIGdyZWF0ZXIg dGhhbiAiICsgdGhpcy5nZXQoJ21heF92YWwnKSkKKyAgICAgICAgICAgICAg bXNnID0gJ3t7IF8oJ1ByZWNpc2lvbiBzaG91bGQgbm90IGJlIGdyZWF0ZXIg dGhhbjogJykgfX0nICsgdGhpcy5nZXQoJ21heF92YWwnKTsKICAgICAgICAg ICAgIC8vIElmIHdlIGhhdmUgYW55IGVycm9yIHNldCB0aGVuIHRocm93IGl0 IHRvIHVzZXIKICAgICAgICAgICAgIGlmKG1zZykgewogICAgICAgICAgICAg ICB0aGlzLmVycm9yTW9kZWwuc2V0KCdhdHRwcmVjaXNpb24nLCBtc2cpCiAg ICAgICAgICAgICAgIHJldHVybiBtc2c7CiAgICAgICAgICAgICB9Ci0gICAg ICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAgICAgfQorICAgICAgICAg IH0KKworICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICB9LAogICAg ICAgICBpc0luaGVydGVkQ29sdW1uOiBmdW5jdGlvbigpIHsKICAgICAgICAg fSwKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9pbmRleGVz L3RlbXBsYXRlcy9pbmRleC9qcy9pbmRleC5qcyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3RhYmxlcy9pbmRleGVzL3RlbXBsYXRlcy9pbmRleC9qcy9pbmRleC5qcwpp bmRleCA5Njg4MmQ3Li41NmNjMGRmIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy90YWJsZXMvaW5kZXhlcy90ZW1wbGF0ZXMvaW5kZXgvanMvaW5kZXgu anMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2luZGV4ZXMvdGVtcGxh dGVzL2luZGV4L2pzL2luZGV4LmpzCkBAIC03NSw2ICs3NSwxNiBAQCBmdW5j dGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEJhY2tmb3JtLCBh bGVydGlmeSkgewogICAgICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAg ICAgXSwKKyAgICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uKCkgeworICAgICAg ICAgIHRoaXMuZXJyb3JNb2RlbC5jbGVhcigpOworCisgICAgICAgICAgaWYg KF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ2NvbG5hbWUnKSkKKyAgICAgICAg ICAgICAgfHwgU3RyaW5nKHRoaXMuZ2V0KCdjb2xuYW1lJykpLnJlcGxhY2Uo L15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKKyAgICAgICAgICAgIG1zZyA9 ICd7eyBfKCdDb2x1bW4gTmFtZSBjYW4gbm90IGJlIGVtcHR5LicpIH19JzsK KyAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ2NvbG5hbWUnLCBt c2cpOworICAgICAgICAgICAgcmV0dXJuIG1zZzsKKyAgICAgICAgICB9Cisg ICAgICAgIH0sCiAgICAgICAgIC8vIFdlIHdpbGwgY2hlY2sgaWYgd2UgYXJl IHVuZGVyIHNjaGVtYSBub2RlCiAgICAgICAgIGluU2NoZW1hOiBmdW5jdGlv bigpIHsKICAgICAgICAgICBpZih0aGlzLm5vZGVfaW5mbyAmJiAgJ2NhdGFs b2cnIGluIHRoaXMubm9kZV9pbmZvKSB7CkBAIC0xNjUsNyArMTc1LDggQEAg ZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNrZm9y bSwgYWxlcnRpZnkpIHsKICAgICAgICAgICBuYW1lOiB1bmRlZmluZWQsCiAg ICAgICAgICAgbnNwbmFtZTogdW5kZWZpbmVkLAogICAgICAgICAgIHRhYm5h bWU6IHVuZGVmaW5lZCwKLSAgICAgICAgICBzcGNuYW1lOiB1bmRlZmluZWQK KyAgICAgICAgICBzcGNuYW1lOiAncGdfZGVmYXVsdCcsCisgICAgICAgICAg YW1uYW1lOiAnYnRyZWUnCiAgICAgICAgIH0sCiAgICAgICAgIHNjaGVtYTog W3sKICAgICAgICAgICBpZDogJ25hbWUnLCBsYWJlbDogJ3t7IF8oJ05hbWUn KSB9fScsIGNlbGw6ICdzdHJpbmcnLApAQCAtMTc2LDYgKzE4Nyw3IEBAIGZ1 bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQmFja2Zvcm0s IGFsZXJ0aWZ5KSB7CiAgICAgICAgIH0sewogICAgICAgICAgIGlkOiAnc3Bj bmFtZScsIGxhYmVsOid7eyBfKCdUYWJsZXNwYWNlJykgfX0nLCBjZWxsOiAn c3RyaW5nJywKICAgICAgICAgICBjb250cm9sOiAnbm9kZS1saXN0LWJ5LW5h bWUnLCBub2RlOiAndGFibGVzcGFjZScsCisgICAgICAgICAgc2VsZWN0Mjog eydhbGxvd0NsZWFyJzogdHJ1ZX0sCiAgICAgICAgICAgdHlwZTogJ3RleHQn LCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRlJywgJ2VkaXQnXSwKICAg ICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hJywgZmlsdGVyOiBmdW5jdGlv bihkKSB7CiAgICAgICAgICAgICAvLyBJZiB0YWJsZXNwYWNlIG5hbWUgaXMg bm90ICJwZ19nbG9iYWwiIHRoZW4gd2UgbmVlZCB0byBleGNsdWRlIHRoZW0K QEAgLTE4OSw3ICsyMDEsNyBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWlu LCBwZ0Jyb3dzZXIsIEJhY2tmb3JtLCBhbGVydGlmeSkgewogICAgICAgICAg IGlkOiAnYW1uYW1lJywgbGFiZWw6J3t7IF8oJ0FjY2VzcyBNZXRob2QnKSB9 fScsIGNlbGw6ICdzdHJpbmcnLAogICAgICAgICAgIHR5cGU6ICd0ZXh0Jywg bW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCiAgICAg ICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhNb2RlbENoZWNrJywgdXJs OiAnZ2V0X2FjY2Vzc19tZXRob2RzJywKLSAgICAgICAgICBncm91cDogJ3t7 IF8oJ0RlZmluaXRpb24nKSB9fScsCisgICAgICAgICAgZ3JvdXA6ICd7eyBf KCdEZWZpbml0aW9uJykgfX0nLCBzZWxlY3QyOiB7J2FsbG93Q2xlYXInOiB0 cnVlfSwKICAgICAgICAgICBjb250cm9sOiBCYWNrZm9ybS5Ob2RlQWpheE9w dGlvbnNDb250cm9sLmV4dGVuZCh7CiAgICAgICAgICAgICAvLyBXaGVuIGFj Y2VzcyBtZXRob2QgY2hhbmdlcyB3ZSBuZWVkIHRvIGNsZWFyIGNvbHVtbnMg Y29sbGVjdGlvbgogICAgICAgICAgICAgb25DaGFuZ2U6IGZ1bmN0aW9uKCkg ewpAQCAtMTk5LDcgKzIxMSw3IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRt aW4sIHBnQnJvd3NlciwgQmFja2Zvcm0sIGFsZXJ0aWZ5KSB7CiAgICAgICAg ICAgICAgIGN1cnJlbnRfYW0gPSBzZWxmLm1vZGVsLmdldCgnYW1uYW1lJyks CiAgICAgICAgICAgICAgIC8vIHByZXZpb3VzIGFjY2VzcyBtZXRob2QKICAg ICAgICAgICAgICAgcHJldmlvdXNfYW0gPSBzZWxmLm1vZGVsLnByZXZpb3Vz KCdhbW5hbWUnKTsKLSAgICAgICAgICAgICAgaWYgKGN1cnJlbnRfYW0gIT0g cHJldmlvdXNfYW0pIHsKKyAgICAgICAgICAgICAgaWYgKGN1cnJlbnRfYW0g IT0gcHJldmlvdXNfYW0gJiYgc2VsZi5tb2RlbC5nZXQoJ2NvbHVtbnMnKS5s ZW5ndGggIT09IDApIHsKICAgICAgICAgICAgICAgICB2YXIgbXNnID0gJ3t7 IF8oJ0NoYW5naW5nIGFjY2VzcyBtZXRob2Qgd2lsbCBjbGVhciBjb2x1bW5z IGNvbGxlY3Rpb24nKSB9fSc7CiAgICAgICAgICAgICAgICAgYWxlcnRpZnku Y29uZmlybShtc2csIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICAgICAgICAg ICAgIC8vIFVzZXIgY2xpY2tzIE9rLCBsZXRzIGNsZWFyIGNvbGxlY3Rpb24K QEAgLTI4MywxOSArMjk1LDUwIEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRt aW4sIHBnQnJvd3NlciwgQmFja2Zvcm0sIGFsZXJ0aWZ5KSB7CiAgICAgICAg ICAgZGlzYWJsZWQ6ICdpblNjaGVtYScKICAgICAgICAgfQogICAgICAgICBd LAotICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24oKSB7CisgICAgICAgIHZh bGlkYXRlOiBmdW5jdGlvbihrZXlzKSB7CiAgICAgICAgICAgdmFyIGVyciA9 IHt9LAogICAgICAgICAgICAgICBjaGFuZ2VkQXR0cnMgPSB0aGlzLmNoYW5n ZWQsCiAgICAgICAgICAgICAgIG1zZyA9IHVuZGVmaW5lZDsKLSAgICAgICAg ICB0aGlzLmVycm9yTW9kZWwuY2xlYXIoKTsKIAotICAgICAgICAgIGlmIChf LmhhcyhjaGFuZ2VkQXR0cnMsdGhpcy5nZXQoJ25hbWUnKSkKLSAgICAgICAg ICAgICAgICAgICAgJiYgXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnbmFtZScp KQorICAgICAgICAgIC8vIE5vdGhpbmcgdG8gdmFsaWRhdGUKKyAgICAgICAg ICBpZiAoa2V5cy5sZW5ndGggPT0gMCkgeworICAgICAgICAgICAgdGhpcy5l cnJvck1vZGVsLmNsZWFyKCk7CisgICAgICAgICAgICByZXR1cm4gbnVsbDsK KyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGhpcy5lcnJvck1v ZGVsLmNsZWFyKCk7CisgICAgICAgICAgfQorCisgICAgICAgICAgaWYgKF8u aXNVbmRlZmluZWQodGhpcy5nZXQoJ25hbWUnKSkKICAgICAgICAgICAgICAg fHwgU3RyaW5nKHRoaXMuZ2V0KCduYW1lJykpLnJlcGxhY2UoL15ccyt8XHMr JC9nLCAnJykgPT0gJycpIHsKICAgICAgICAgICAgIG1zZyA9ICd7eyBfKCdO YW1lIGNhbiBub3QgYmUgZW1wdHkuJykgfX0nOwogICAgICAgICAgICAgdGhp cy5lcnJvck1vZGVsLnNldCgnbmFtZScsIG1zZyk7CiAgICAgICAgICAgICBy ZXR1cm4gbXNnOwogICAgICAgICAgIH0KKyAgICAgICAgICBpZiAoXy5pc1Vu ZGVmaW5lZCh0aGlzLmdldCgnc3BjbmFtZScpKQorICAgICAgICAgICAgICB8 fCBTdHJpbmcodGhpcy5nZXQoJ3NwY25hbWUnKSkucmVwbGFjZSgvXlxzK3xc cyskL2csICcnKSA9PSAnJykgeworICAgICAgICAgICAgbXNnID0gJ3t7IF8o J1RhYmxlc3BhY2UgY2FuIG5vdCBiZSBlbXB0eS4nKSB9fSc7CisgICAgICAg ICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdzcGNuYW1lJywgbXNnKTsKKyAg ICAgICAgICAgIHJldHVybiBtc2c7CisgICAgICAgICAgfQorICAgICAgICAg IGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdhbW5hbWUnKSkKKyAgICAg ICAgICAgICAgfHwgU3RyaW5nKHRoaXMuZ2V0KCdhbW5hbWUnKSkucmVwbGFj ZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgeworICAgICAgICAgICAgbXNn ID0gJ3t7IF8oJ0FjY2VzcyBtZXRob2QgY2FuIG5vdCBiZSBlbXB0eS4nKSB9 fSc7CisgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdhbW5hbWUn LCBtc2cpOworICAgICAgICAgICAgcmV0dXJuIG1zZzsKKyAgICAgICAgICB9 CisgICAgICAgICAgLy8gQ2hlY2tzIGlmIGFsbCBjb2x1bW5zIGhhcyBuYW1l cworICAgICAgICAgIHZhciBjb2xzID0gdGhpcy5nZXQoJ2NvbHVtbnMnKTsK KyAgICAgICAgICBpZihjb2xzICYmIGNvbHMubGVuZ3RoID4gMCkgeworICAg ICAgICAgICAgIGlmKCFfLmV2ZXJ5KGNvbHMucGx1Y2soJ2NvbG5hbWUnKSkp IHsKKyAgICAgICAgICAgICAgIG1zZyA9ICd7eyBfKCdZb3UgbXVzdCBzcGVj aWZ5IGNvbHVtbiBuYW1lLicpIH19JzsKKyAgICAgICAgICAgICAgIHRoaXMu ZXJyb3JNb2RlbC5zZXQoJ2NvbHVtbnMnLCBtc2cpOworICAgICAgICAgICAg ICAgcmV0dXJuIG1zZzsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgfSBl bHNlIGlmKGNvbHMpeworICAgICAgICAgICAgICAgbXNnID0gJ3t7IF8oJ1lv dSBtdXN0IHNwZWNpZnkgYXQgbGVhc3Qgb25lIGNvbHVtbi4nKSB9fSc7Cisg ICAgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdjb2x1bW5zJywg bXNnKTsKKyAgICAgICAgICAgICAgIHJldHVybiBtc2c7CisgICAgICAgICAg fQogICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICB9LAogICAgICAg ICAvLyBXZSB3aWxsIGNoZWNrIGlmIHdlIGFyZSB1bmRlciBzY2hlbWEgbm9k ZSAmIGluICdjcmVhdGUnIG1vZGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3RhYmxlcy90ZW1wbGF0ZXMvaW5kZXgvc3FsLzkuMV9wbHVzL2FsdGVy LnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvaW5kZXgv c3FsLzkuMV9wbHVzL2FsdGVyLnNxbAppbmRleCAyMDk4ZGRjLi42OGE0NDQ0 IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVz L2luZGV4L3NxbC85LjFfcGx1cy9hbHRlci5zcWwKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL3RlbXBsYXRlcy9pbmRleC9zcWwvOS4xX3BsdXMvYWx0 ZXIuc3FsCkBAIC01LDcgKzUsNyBAQCBBTFRFUiBUQUJMRSB7e2Nvbm58cXRJ ZGVudChkYXRhLnNjaGVtYSwgZGF0YS50YWJsZSl9fQogICAgIENMVVNURVIg T04ge3tjb25ufHF0SWRlbnQoZGF0YS5uYW1lKX19OwogeyUgZW5kaWYgJX0K IHsjIyBDaGFuZ2VzIGRlc2NyaXB0aW9uICMjfQoteyUgaWYgZGF0YS5kZXNj cmlwdGlvbiAlfQoreyUgaWYgZGF0YS5kZXNjcmlwdGlvbiBpcyBkZWZpbmVk ICV9CiAKLUNPTU1FTlQgT04gSU5ERVgge3tjb25ufHF0SWRlbnQoZGF0YS5u YW1lKX19CitDT01NRU5UIE9OIElOREVYIHt7Y29ubnxxdElkZW50KGRhdGEu c2NoZW1hLCBkYXRhLm5hbWUpfX0KICAgICBJUyB7e2RhdGEuZGVzY3JpcHRp b258cXRMaXRlcmFsfX07eyUgZW5kaWYgJX0KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv dGVtcGxhdGVzL2luZGV4L3NxbC85LjFfcGx1cy91cGRhdGUuc3FsIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy9pbmRleC9zcWwvOS4xX3Bs dXMvdXBkYXRlLnNxbAppbmRleCBjYjg1ODNiLi5mMmFjZDZjIDEwMDY0NAot LS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2luZGV4L3Nx bC85LjFfcGx1cy91cGRhdGUuc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Rh Ymxlcy90ZW1wbGF0ZXMvaW5kZXgvc3FsLzkuMV9wbHVzL3VwZGF0ZS5zcWwK QEAgLTE0LDExICsxNCwxMSBAQCBBTFRFUiBJTkRFWCB7e2Nvbm58cXRJZGVu dChkYXRhLnNjaGVtYSwgZGF0YS5uYW1lKX19CiAgICAgU0VUIFRBQkxFU1BB Q0Uge3tjb25ufHF0SWRlbnQoZGF0YS5zcGNuYW1lKX19OwogeyUgZW5kaWYg JX0KIHsjIyBBbHRlciBpbmRleCB0byB1c2UgY2x1c3RlciB0eXBlICMjfQot eyUgaWYgZGF0YS5pbmRpc2NsdXN0ZXJlZCBhbmQgb19kYXRhLmluZGlzY2x1 c3RlcmVkICE9IGRhdGEuaW5kaXNjbHVzdGVyZWQgJX0KK3slIGlmIGRhdGEu aW5kaXNjbHVzdGVyZWQgaXMgZGVmaW5lZCBhbmQgb19kYXRhLmluZGlzY2x1 c3RlcmVkICE9IGRhdGEuaW5kaXNjbHVzdGVyZWQgJX0KIEFMVEVSIFRBQkxF IHt7Y29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBkYXRhLnRhYmxlKX19CiAg ICAgQ0xVU1RFUiBPTiB7e2Nvbm58cXRJZGVudChkYXRhLm5hbWUpfX07CiB7 JSBlbmRpZiAlfQogeyMjIENoYW5nZXMgZGVzY3JpcHRpb24gIyN9Ci17JSBp ZiBkYXRhLmRlc2NyaXB0aW9uIGFuZCBvX2RhdGEuZGVzY3JpcHRpb24gIT0g ZGF0YS5kZXNjcmlwdGlvbiAlfQoreyUgaWYgZGF0YS5kZXNjcmlwdGlvbiBp cyBkZWZpbmVkIGFuZCBvX2RhdGEuZGVzY3JpcHRpb24gIT0gZGF0YS5kZXNj cmlwdGlvbiAlfQogQ09NTUVOVCBPTiBJTkRFWCB7e2Nvbm58cXRJZGVudChk YXRhLnNjaGVtYSwgZGF0YS5uYW1lKX19CiAgICAgSVMge3tkYXRhLmRlc2Ny aXB0aW9ufHF0TGl0ZXJhbH19O3slIGVuZGlmICV9ClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQo= --94eb2c083bc046528b05331ac9a6 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 --94eb2c083bc046528b05331ac9a6--