Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cZcYO-00054O-70 for pgadmin-hackers@arkaria.postgresql.org; Fri, 03 Feb 2017 12:01:24 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1cZcYN-00073G-QL for pgadmin-hackers@arkaria.postgresql.org; Fri, 03 Feb 2017 12:01:23 +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 1cZcYM-000738-5p for pgadmin-hackers@postgresql.org; Fri, 03 Feb 2017 12:01:22 +0000 Received: from mail-lf0-x22c.google.com ([2a00:1450:4010:c07::22c]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1cZcYH-0002kz-3a for pgadmin-hackers@postgresql.org; Fri, 03 Feb 2017 12:01:20 +0000 Received: by mail-lf0-x22c.google.com with SMTP id z134so8870799lff.3 for ; Fri, 03 Feb 2017 04:01:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=M7mOfTTtZiM38g29MVSQYnGRnJhzknVjdZ2O8ewDuaA=; b=uLl1onA8TDGhmm3IyVOLXuD3qAEa4ekWA3mtHUhiShmbRBQQ/WPR5nL7qiGZ1Rjs/B WGpJerCbtPz+iaYJ5eMf3DDz3lfqhJqqDvoDplecGqYGC8dAp7Msiu9ZRcZQ/vXgRLMD ADTwt4b7xStAotbKcLDhpv7zOavfrAWUr2MBE9uo2zggnmdi9BYqvuqQQtfSOlBcrTIE nj051HXt6m/Y5n0CtoG00C0C7dDBcOGlVxvzh7qSuXLyJfVGP/gnZ35rJBAQaLIRe5sT 2WkGsge0/XEJHybrespSRxROgj2j/tAA5OOytpK/RpXmMKVu031AwzIyC9Xxf9eEtorL gR5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=M7mOfTTtZiM38g29MVSQYnGRnJhzknVjdZ2O8ewDuaA=; b=n9I8w/KmNHbR66ncysaZzsKoEdXXbVrtsin52LFpNmk6KXA2/99PusaLS5uiYwDSsW oeLXCFOqkacOmS4Um0L8IYoc2M3gFDWhWiCh2nxR9ockftCHjaW1+S59AwQlUcSiEZ3g 9lCWkDaKV1KfnbGiNlPFADHhzi/MbmHfeiokMBF3XtJNw0cRpw+y8Bjst/Y6MF+/ujaa +BquWjRW3caJZ2U27tm0eK+VvUW05QoKdH1XQyzxGkO5kiYKuSEij8tWL7OoLOITjw/1 uHMu0fyLUlVMVgi2g5ZcT9mxLrw5aT0f3gnoyLPos7UoxPspI6wGxUwIVXKXQKQhbdHb pbKA== X-Gm-Message-State: AIkVDXICERt0msOaw8qWuaFDmGNmgqGERl558JRcXfmoLBR3gXSIsm6WWb8xx4xJlBsJxjSdSs5X1btGOG/AWAdE X-Received: by 10.25.92.145 with SMTP id u17mr4056647lfi.160.1486123274799; Fri, 03 Feb 2017 04:01:14 -0800 (PST) MIME-Version: 1.0 Received: by 10.25.41.201 with HTTP; Fri, 3 Feb 2017 04:01:13 -0800 (PST) From: Khushboo Vashi Date: Fri, 3 Feb 2017 17:31:13 +0530 Message-ID: Subject: [pgAdmin4][Patch]: RM 2089 - PARALLEL SAFE support for functions missing To: pgadmin-hackers Content-Type: multipart/mixed; boundary=94eb2c0e79eee33a4d05479f09d5 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 --94eb2c0e79eee33a4d05479f09d5 Content-Type: multipart/alternative; boundary=94eb2c0e79eee33a4805479f09d3 --94eb2c0e79eee33a4805479f09d3 Content-Type: text/plain; charset=UTF-8 Hi, Please find the attached patch to fix RM 2089 : PARALLEL SAFE support for functions missing. Fix: Incorporated the PARALLEL SAFE support for the functions and procedures for PostgreSQL 9.6. Thanks, Khushboo --94eb2c0e79eee33a4805479f09d3 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

Please find the attached patch to f= ix RM 2089 : PARALLEL SAFE support for functions missing.

Fix: Incorporated the =C2=A0PARALLEL SAFE support for the functions= and procedures for PostgreSQL 9.6.

Thanks,
<= div>Khushboo

--94eb2c0e79eee33a4805479f09d3-- --94eb2c0e79eee33a4d05479f09d5 Content-Type: text/x-patch; charset=US-ASCII; name="RM_2089.patch" Content-Disposition: attachment; filename="RM_2089.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iyprc2530 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9fX2luaXRf Xy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy9fX2luaXRfXy5weQpp bmRleCA1NTFmOGJiLi5lODAyNzViIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mdW5jdGlvbnMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZnVuY3Rpb25zL19faW5pdF9fLnB5CkBAIC0xMDc1LDYgKzEwNzUsNyBA QCBjbGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlw ZVJlYWRlcik6CiAgICAgICAgICIiIgogCiAgICAgICAgIHZvbF9kaWN0ID0g eyd2JzogJ1ZPTEFUSUxFJywgJ3MnOiAnU1RBQkxFJywgJ2knOiAnSU1NVVRB QkxFJ30KKyAgICAgICAgcGFyYWxsZWxfZGljdCA9IHsndSc6ICdVTlNBRkUn LCAncyc6ICdTQUZFJywgJ3InOiAnUkVTVFJJQ1RFRCd9CiAKICAgICAgICAg IyBHZXQgU2NoZW1hIE5hbWUgZnJvbSBpdHMgT0lELgogICAgICAgICBpZiAn cHJvbmFtZXNwYWNlJyBpbiBkYXRhOgpAQCAtMTA4Myw2ICsxMDg0LDkgQEAg Y2xhc3MgRnVuY3Rpb25WaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVS ZWFkZXIpOgogICAgICAgICBpZiAncHJvdm9sYXRpbGUnIGluIGRhdGE6CiAg ICAgICAgICAgICBkYXRhWydwcm92b2xhdGlsZSddID0gdm9sX2RpY3RbZGF0 YVsncHJvdm9sYXRpbGUnXV0KIAorICAgICAgICBpZiAncHJvcGFyYWxsZWwn IGluIGRhdGE6CisgICAgICAgICAgICBkYXRhWydwcm9wYXJhbGxlbCddID0g cGFyYWxsZWxfZGljdFtkYXRhWydwcm9wYXJhbGxlbCddXQorCiAgICAgICAg IGlmIGZuaWQgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAjIEVkaXQgTW9k ZQogCkBAIC0xMDk2LDExICsxMTAwLDE1IEBAIGNsYXNzIEZ1bmN0aW9uVmll dyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAg ICAgIGlmICdwcm92b2xhdGlsZScgaW4gb2xkX2RhdGE6CiAgICAgICAgICAg ICAgICAgb2xkX2RhdGFbJ3Byb3ZvbGF0aWxlJ10gPSB2b2xfZGljdFtvbGRf ZGF0YVsncHJvdm9sYXRpbGUnXV0KIAorICAgICAgICAgICAgaWYgJ3Byb3Bh cmFsbGVsJyBpbiBvbGRfZGF0YToKKyAgICAgICAgICAgICAgICBvbGRfZGF0 YVsncHJvcGFyYWxsZWwnXSA9IHBhcmFsbGVsX2RpY3Rbb2xkX2RhdGFbJ3By b3BhcmFsbGVsJ11dCisKICAgICAgICAgICAgICMgSWYgYW55IG9mIHRoZSBi ZWxvdyBhcmd1bWVudCBpcyBjaGFuZ2VkLAogICAgICAgICAgICAgIyB0aGVu IENSRUFURSBPUiBSRVBMQUNFIFNRTCBzdGF0ZW1lbnQgc2hvdWxkIGJlIGNh bGxlZAogICAgICAgICAgICAgZnVuX2NoYW5nZV9hcmdzID0gWydsYW5uYW1l JywgJ3Byb3NyYycsICdwcm9iaW4nLCAncHJvc3JjX2MnLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdwcm92b2xhdGlsZScsICdwcm9pc3N0 cmljdCcsICdwcm9zZWNkZWYnLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdwcm9jb3N0JywgJ3Byb2xlYWtwcm9vZicsICdhcmd1bWVudHMn XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wYXJhbGxl bCcsICdwcm9jb3N0JywgJ3Byb2xlYWtwcm9vZicsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ2FyZ3VtZW50cyddCiAKICAgICAgICAgICAg IGRhdGFbJ2NoYW5nZV9mdW5jJ10gPSBGYWxzZQogICAgICAgICAgICAgZm9y IGFyZyBpbiBmdW5fY2hhbmdlX2FyZ3M6CmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1bmN0aW9uL2pzL2Z1bmN0 aW9ucy5qcyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMv ZnVuY3Rpb24vanMvZnVuY3Rpb25zLmpzCmluZGV4IDg2ZmFmOGUuLmRhYzQy OTQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1w bGF0ZXMvZnVuY3Rpb24vanMvZnVuY3Rpb25zLmpzCisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvZnVuY3Rpb24vanMvZnVuY3Rp b25zLmpzCkBAIC0xNTcsNiArMTU3LDcgQEAgZnVuY3Rpb24oJCwgXywgUywg cGdBZG1pbiwgcGdCcm93c2VyLCBhbGVydGlmeSkgewogICAgICAgICAgIHBy b2lzc3RyaWN0OiB1bmRlZmluZWQsCiAgICAgICAgICAgcHJvc2VjZGVmOiB1 bmRlZmluZWQsIC8qIFNlY3VyaXR5IG9mIGRlZmluZXIgKi8KICAgICAgICAg ICBwcm9pc3dpbmRvdzogdW5kZWZpbmVkLCAvKiBXaW5kb3cgRnVuY3Rpb24g PyAqLworICAgICAgICAgIHByb3BhcmFsbGVsOiB1bmRlZmluZWQsIC8qIFBh cmFsbGVsIG1vZGUgKi8KICAgICAgICAgICBwcm9jb3N0OiB1bmRlZmluZWQs IC8qIEVzdGltYXRlZCBleGVjdXRpb24gQ29zdCAqLwogICAgICAgICAgIHBy b3Jvd3M6IHVuZGVmaW5lZCwgLyogRXN0aW1hdGVkIG51bWJlciBvZiByb3dz ICovCiAgICAgICAgICAgcHJvbGVha3Byb29mOiB1bmRlZmluZWQsCkBAIC0y NzcsNiArMjc4LDE0IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBn QnJvd3NlciwgYWxlcnRpZnkpIHsKICAgICAgICAgICAgZ3JvdXA6ICd7eyBf KCdPcHRpb25zJykgfX0nLCBjZWxsOidib29sZWFuJywgdHlwZTogJ3N3aXRj aCcsCiAgICAgICAgICAgICBkaXNhYmxlZDogJ2lzRGlzYWJsZWQnLCB2aXNp YmxlOiAnaXNWaXNpYmxlJwogICAgICAgICB9LHsKKyAgICAgICAgICBpZDog J3Byb3BhcmFsbGVsJywgbGFiZWw6ICd7eyBfKCdQYXJhbGxlbCcpIH19Jywg Y2VsbDogJ3N0cmluZycsCisgICAgICAgICAgY29udHJvbDogJ25vZGUtYWph eC1vcHRpb25zJywgdHlwZTogJ3RleHQnLCBncm91cDogJ3t7IF8oJ09wdGlv bnMnKSB9fScsCisgICAgICAgICAgb3B0aW9uczpbCisgICAgICAgICAgICB7 J2xhYmVsJzogJ3t7IF8oJ1VOU0FGRScpIH19JywgJ3ZhbHVlJzogJ3UnfSwK KyAgICAgICAgICAgIHsnbGFiZWwnOiAne3sgXygnUkVTVFJJQ1RFRCcpIH19 JywgJ3ZhbHVlJzogJ3InfSwKKyAgICAgICAgICAgIHsnbGFiZWwnOiAne3sg XygnU0FGRScpIH19JywgJ3ZhbHVlJzogJ3MnfSwKKyAgICAgICAgICBdLCBk aXNhYmxlZDogJ2lzRGlzYWJsZWQnLCBtaW5fdmVyc2lvbjogOTA2MDAKKyAg ICAgICAgfSx7CiAgICAgICAgICAgaWQ6ICdwcm9jb3N0JywgbGFiZWw6ICd7 eyBfKCdFc3RpbWF0ZWQgY29zdCcpIH19JywgZ3JvdXA6ICd7eyBfKCdPcHRp b25zJykgfX0nLAogICAgICAgICAgIGNlbGw6J3N0cmluZycsIHR5cGU6ICd0 ZXh0JywgZGlzYWJsZWQ6ICdpc0Rpc2FibGVkJwogICAgICAgICB9LHsKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMv ZnVuY3Rpb24vcGcvc3FsLzkuNl9wbHVzL2NyZWF0ZS5zcWwgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1bmN0aW9uL3BnL3NxbC85 LjZfcGx1cy9jcmVhdGUuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjY0YmM2YjIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1bmN0aW9uL3BnL3NxbC85 LjZfcGx1cy9jcmVhdGUuc3FsCkBAIC0wLDAgKzEsNjUgQEAKK3slIGltcG9y dCAnbWFjcm9zL2Z1bmN0aW9ucy9zZWN1cml0eS5tYWNyb3MnIGFzIFNFQ0xB QkVMICV9Cit7JSBpbXBvcnQgJ21hY3Jvcy9mdW5jdGlvbnMvcHJpdmlsZWdl Lm1hY3JvcycgYXMgUFJJVklMRUdFICV9Cit7JSBpbXBvcnQgJ21hY3Jvcy9m dW5jdGlvbnMvdmFyaWFibGUubWFjcm9zJyBhcyBWQVJJQUJMRSAlfQoreyUg c2V0IGlzX2NvbHVtbnMgPSBbXSAlfQoreyUgaWYgZGF0YSAlfQoreyUgaWYg cXVlcnlfZm9yID09ICdzcWxfcGFuZWwnIGFuZCBmdW5jX2RlZiBpcyBkZWZp bmVkICV9CitDUkVBVEV7JSBpZiBxdWVyeV90eXBlIGlzIGRlZmluZWQgJX17 eycgT1IgUkVQTEFDRSd9fXslIGVuZGlmICV9IEZVTkNUSU9OIHt7ZnVuY19k ZWZ9fQoreyUgZWxzZSAlfQorQ1JFQVRFeyUgaWYgcXVlcnlfdHlwZSBpcyBk ZWZpbmVkICV9e3snIE9SIFJFUExBQ0UnfX17JSBlbmRpZiAlfSBGVU5DVElP TiB7eyBjb25ufHF0SWRlbnQoZGF0YS5wcm9uYW1lc3BhY2UsIGRhdGEubmFt ZSkgfX0oeyUgaWYgZGF0YS5hcmdzICV9Cit7JSBmb3IgcCBpbiBkYXRhLmFy Z3MgJX17JSBpZiBwLmFyZ21vZGUgJX17e3AuYXJnbW9kZX19IHslIGVuZGlm ICV9eyUgaWYgcC5hcmduYW1lICV9e3sgY29ubnxxdElkZW50KHAuYXJnbmFt ZSkgfX0geyUgZW5kaWYgJX17JSBpZiBwLmFyZ3R5cGUgJX17eyBjb25ufHF0 VHlwZUlkZW50KHAuYXJndHlwZSkgfX17JSBlbmRpZiAlfXslIGlmIHAuYXJn ZGVmdmFsICV9IERFRkFVTFQge3twLmFyZ2RlZnZhbH19eyUgZW5kaWYgJX0K K3slIGlmIG5vdCBsb29wLmxhc3QgJX0sIHslIGVuZGlmICV9Cit7JSBlbmRm b3IgJX0KK3slIGVuZGlmIC0lfQorKQoreyUgZW5kaWYgJX0KKyAgICBSRVRV Uk5TeyUgaWYgZGF0YS5wcm9yZXRzZXQgYW5kIGRhdGEucHJvcmV0dHlwZW5h bWUuc3RhcnRzd2l0aCgnU0VUT0YgJykgJX0ge3sgZGF0YS5wcm9yZXR0eXBl bmFtZSB9fSB7JSBlbGlmIGRhdGEucHJvcmV0c2V0ICV9IFNFVE9GIHt7IGNv bm58cXRUeXBlSWRlbnQoZGF0YS5wcm9yZXR0eXBlbmFtZSkgfX17JSBlbHNl ICV9IHt7IGNvbm58cXRUeXBlSWRlbnQoZGF0YS5wcm9yZXR0eXBlbmFtZSkg fX17JSBlbmRpZiAlfQorCisgICAgTEFOR1VBR0Uge3sgZGF0YS5sYW5uYW1l fHF0TGl0ZXJhbCB9fQoreyUgaWYgZGF0YS5wcm9jb3N0ICV9CisgICAgQ09T VCB7e2RhdGEucHJvY29zdH19Cit7JSBlbmRpZiAlfQorICAgIHslIGlmIGRh dGEucHJvdm9sYXRpbGUgJX17JSBpZiBkYXRhLnByb3ZvbGF0aWxlID09ICdp JyAlfUlNTVVUQUJMRXslIGVsaWYgZGF0YS5wcm92b2xhdGlsZSA9PSAncycg JX1TVEFCTEV7JSBlbHNlICV9Vk9MQVRJTEV7JSBlbmRpZiAlfSB7JSBlbmRp ZiAlfXslIGlmIGRhdGEucHJvbGVha3Byb29mICV9TEVBS1BST09GIHslIGVs c2UgJX1OT1QgTEVBS1BST09GIHslIGVuZGlmICV9Cit7JSBpZiBkYXRhLnBy b2lzc3RyaWN0ICV9U1RSSUNUIHslIGVuZGlmICV9Cit7JSBpZiBkYXRhLnBy b3NlY2RlZiAlfVNFQ1VSSVRZIERFRklORVIgeyUgZW5kaWYgJX0KK3slIGlm IGRhdGEucHJvaXN3aW5kb3cgJX1XSU5ET1cgeyUgZW5kaWYgJX0KKworICAg IHslIGlmIGRhdGEucHJvcGFyYWxsZWwgJX1QQVJBTExFTCB7JSBpZiBkYXRh LnByb3BhcmFsbGVsID09ICdyJyAlfVJFU1RSSUNURUR7JSBlbGlmIGRhdGEu cHJvcGFyYWxsZWwgPT0gJ3MnICV9U0FGRXslIGVsc2UgJX1VTlNBRkV7JSBl bmRpZiAlfXslIGVuZGlmICV9Cit7JSBpZiBkYXRhLnByb3Jvd3MgJX0KKwor ICAgIFJPV1Mge3tkYXRhLnByb3Jvd3N9fXslIGVuZGlmIC0lfXslIGlmIGRh dGEudmFyaWFibGVzICV9eyUgZm9yIHYgaW4gZGF0YS52YXJpYWJsZXMgJX0K KworICAgIFNFVCB7eyBjb25ufHF0SWRlbnQodi5uYW1lKSB9fT17eyB2LnZh bHVlfHF0TGl0ZXJhbCB9fXslIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KKwor QVMgeyUgaWYgZGF0YS5sYW5uYW1lID09ICdjJyAlfQore3sgZGF0YS5wcm9i aW58cXRMaXRlcmFsIH19LCB7eyBkYXRhLnByb3NyY19jfHF0TGl0ZXJhbCB9 fQoreyUgZWxzZSAlfQorJGZ1bmN0aW9uJAore3sgZGF0YS5wcm9zcmMgfX0K KyRmdW5jdGlvbiR7JSBlbmRpZiAtJX07Cit7JSBpZiBkYXRhLmZ1bmNvd25l ciAlfQorCitBTFRFUiBGVU5DVElPTiB7eyBjb25ufHF0SWRlbnQoZGF0YS5w cm9uYW1lc3BhY2UsIGRhdGEubmFtZSkgfX0oe3tkYXRhLmZ1bmNfYXJnc193 aXRob3V0fX0pCisgICAgT1dORVIgVE8ge3sgY29ubnxxdElkZW50KGRhdGEu ZnVuY293bmVyKSB9fTsKK3slIGVuZGlmIC0lfQoreyUgaWYgZGF0YS5hY2wg JX0KK3slIGZvciBwIGluIGRhdGEuYWNsICV9CisKK3t7IFBSSVZJTEVHRS5T RVQoY29ubiwgIkZVTkNUSU9OIiwgcC5ncmFudGVlLCBkYXRhLm5hbWUsIHAu d2l0aG91dF9ncmFudCwgcC53aXRoX2dyYW50LCBkYXRhLnByb25hbWVzcGFj ZSwgZGF0YS5mdW5jX2FyZ3Nfd2l0aG91dCl9fQoreyUgZW5kZm9yICV9eyUg ZW5kaWYgJX0KK3slIGlmIGRhdGEuZGVzY3JpcHRpb24gJX0KKworQ09NTUVO VCBPTiBGVU5DVElPTiB7eyBjb25ufHF0SWRlbnQoZGF0YS5wcm9uYW1lc3Bh Y2UsIGRhdGEubmFtZSkgfX0oe3tkYXRhLmZ1bmNfYXJnc193aXRob3V0fX0p CisgICAgSVMge3sgZGF0YS5kZXNjcmlwdGlvbnxxdExpdGVyYWwgIH19Owor eyUgZW5kaWYgLSV9Cit7JSBpZiBkYXRhLnNlY2xhYmVscyAlfQoreyUgZm9y IHIgaW4gZGF0YS5zZWNsYWJlbHMgJX0KK3slIGlmIHIubGFiZWwgYW5kIHIu cHJvdmlkZXIgJX0KKwore3sgU0VDTEFCRUwuU0VUKGNvbm4sICdGVU5DVElP TicsIGRhdGEubmFtZSwgci5wcm92aWRlciwgci5sYWJlbCwgZGF0YS5wcm9u YW1lc3BhY2UsIGRhdGEuZnVuY19hcmdzX3dpdGhvdXQpIH19Cit7JSBlbmRp ZiAlfQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAtJX0KKworeyUgZW5kaWYg JX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1w bGF0ZXMvZnVuY3Rpb24vcGcvc3FsLzkuNl9wbHVzL3Byb3BlcnRpZXMuc3Fs IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3RlbXBsYXRlcy9mdW5jdGlv bi9wZy9zcWwvOS42X3BsdXMvcHJvcGVydGllcy5zcWwKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVmNWM1ZAotLS0gL2Rldi9udWxs CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvZnVu Y3Rpb24vcGcvc3FsLzkuNl9wbHVzL3Byb3BlcnRpZXMuc3FsCkBAIC0wLDAg KzEsMzIgQEAKK1NFTEVDVAorICAgIHByLm9pZCwgcHIueG1pbiwgcHIuKiwg cHIucHJvc3JjIEFTIHByb3NyY19jLAorICAgIHByLnByb25hbWUgQVMgbmFt ZSwgcGdfZ2V0X2Z1bmN0aW9uX3Jlc3VsdChwci5vaWQpIEFTIHByb3JldHR5 cGVuYW1lLAorICAgIHR5cG5zLm5zcG5hbWUgQVMgdHlwbnNwLCBsYW5uYW1l LCBwcm9hcmduYW1lcywgb2lkdmVjdG9ydHlwZXMocHJvYXJndHlwZXMpIEFT IHByb2FyZ3R5cGVuYW1lcywKKyAgICBwZ19nZXRfZXhwcihwcm9hcmdkZWZh dWx0cywgJ3BnX2NhdGFsb2cucGdfY2xhc3MnOjpyZWdjbGFzcykgQVMgcHJv YXJnZGVmYXVsdHZhbHMsCisgICAgcHJvbmFyZ2RlZmF1bHRzLCBwcm9jb25m aWcsIHBnX2dldF91c2VyYnlpZChwcm9vd25lcikgQVMgZnVuY293bmVyLCBk ZXNjcmlwdGlvbiwKKyAgICAoU0VMRUNUCisgICAgICAgIGFycmF5X2FnZyhw cm92aWRlciB8fCAnPScgfHwgbGFiZWwpCisgICAgRlJPTQorICAgICAgICBw Z19zZWNsYWJlbCBzbDEKKyAgICBXSEVSRQorICAgICAgICBzbDEub2Jqb2lk PXByLm9pZCkgQVMgc2VjbGFiZWxzCitGUk9NCisgICAgcGdfcHJvYyBwcgor Sk9JTgorICAgIHBnX3R5cGUgdHlwIE9OIHR5cC5vaWQ9cHJvcmV0dHlwZQor Sk9JTgorICAgIHBnX25hbWVzcGFjZSB0eXBucyBPTiB0eXBucy5vaWQ9dHlw LnR5cG5hbWVzcGFjZQorSk9JTgorICAgIHBnX2xhbmd1YWdlIGxuZyBPTiBs bmcub2lkPXByb2xhbmcKK0xFRlQgT1VURVIgSk9JTgorICAgIHBnX2Rlc2Ny aXB0aW9uIGRlcyBPTiAoZGVzLm9iam9pZD1wci5vaWQgQU5EIGRlcy5jbGFz c29pZD0ncGdfcHJvYyc6OnJlZ2NsYXNzKQorV0hFUkUKKyAgICBwcm9pc2Fn ZyA9IEZBTFNFCit7JSBpZiBmbmlkICV9CisgICAgQU5EIHByLm9pZCA9IHt7 Zm5pZH19OjpvaWQKK3slIGVsc2UgJX0KKyAgICBBTkQgcHJvbmFtZXNwYWNl ID0ge3tzY2lkfX06Om9pZAoreyUgZW5kaWYgJX0KKyAgICBBTkQgdHlwbmFt ZSBOT1QgSU4gKCd0cmlnZ2VyJywgJ2V2ZW50X3RyaWdnZXInKQorT1JERVIg QlkKKyAgICBwcm9uYW1lOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv ZnVuY3Rpb25zL3RlbXBsYXRlcy9mdW5jdGlvbi9wZy9zcWwvOS42X3BsdXMv dXBkYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0 ZXMvZnVuY3Rpb24vcGcvc3FsLzkuNl9wbHVzL3VwZGF0ZS5zcWwKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE5ZjQ0ZgotLS0gL2Rl di9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0 ZXMvZnVuY3Rpb24vcGcvc3FsLzkuNl9wbHVzL3VwZGF0ZS5zcWwKQEAgLTAs MCArMSwxMTYgQEAKK3slIGltcG9ydCAnbWFjcm9zL2Z1bmN0aW9ucy9zZWN1 cml0eS5tYWNyb3MnIGFzIFNFQ0xBQkVMICV9Cit7JSBpbXBvcnQgJ21hY3Jv cy9mdW5jdGlvbnMvcHJpdmlsZWdlLm1hY3JvcycgYXMgUFJJVklMRUdFICV9 Cit7JSBpbXBvcnQgJ21hY3Jvcy9mdW5jdGlvbnMvdmFyaWFibGUubWFjcm9z JyBhcyBWQVJJQUJMRSAlfXslIGlmIGRhdGEgJX0KK3slIHNldCBuYW1lID0g b19kYXRhLm5hbWUgJX0KK3slIGlmIGRhdGEubmFtZSAlfQoreyUgaWYgZGF0 YS5uYW1lICE9IG9fZGF0YS5uYW1lICV9CitBTFRFUiBGVU5DVElPTiB7eyBj b25ufHF0SWRlbnQob19kYXRhLnByb25hbWVzcGFjZSwgb19kYXRhLm5hbWUp IH19KHt7CitvX2RhdGEucHJvYXJndHlwZW5hbWVzIH19KQorICAgIFJFTkFN RSBUTyB7eyBjb25ufHF0SWRlbnQoZGF0YS5uYW1lKSB9fTsKK3slIHNldCBu YW1lID0gZGF0YS5uYW1lICV9Cit7JSBlbmRpZiAlfQoreyUgZW5kaWYgLSV9 Cit7JSBpZiBkYXRhLmNoYW5nZV9mdW5jICAlfQorCitDUkVBVEUgT1IgUkVQ TEFDRSBGVU5DVElPTiB7eyBjb25ufHF0SWRlbnQob19kYXRhLnByb25hbWVz cGFjZSwgbmFtZSkgfX0oeyUgaWYgZGF0YS5hcmd1bWVudHMgJX0KK3slIGZv ciBwIGluIGRhdGEuYXJndW1lbnRzICV9eyUgaWYgcC5hcmdtb2RlICV9e3tw LmFyZ21vZGV9fSB7JSBlbmRpZiAlfXslIGlmIHAuYXJnbmFtZSAlfXt7IGNv bm58cXRJZGVudChwLmFyZ25hbWUpIH19IHslIGVuZGlmICV9eyUgaWYgcC5h cmd0eXBlICV9e3sgY29ubnxxdFR5cGVJZGVudChwLmFyZ3R5cGUpIH19eyUg ZW5kaWYgJX17JSBpZiBwLmFyZ2RlZnZhbCAlfSBERUZBVUxUIHt7cC5hcmdk ZWZ2YWx9fXslIGVuZGlmICV9Cit7JSBpZiBub3QgbG9vcC5sYXN0ICV9LHsl IGVuZGlmICV9Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmIC0lfQorKQorICAg IFJFVFVSTlMge3sgb19kYXRhLnByb3JldHR5cGVuYW1lIH19Cit7JSBpZiAn bGFubmFtZScgaW4gZGF0YSAlfQorICAgIExBTkdVQUdFIHt7IGRhdGEubGFu bmFtZXxxdExpdGVyYWwgfX0geyUgZWxzZSAlfQorICAgIExBTkdVQUdFIHt7 IG9fZGF0YS5sYW5uYW1lfHF0TGl0ZXJhbCB9fQorICAgIHslIGVuZGlmICV9 eyUgaWYgJ3Byb3ZvbGF0aWxlJyBpbiBkYXRhIGFuZCBkYXRhLnByb3ZvbGF0 aWxlICV9e3sgZGF0YS5wcm92b2xhdGlsZSB9fSB7JSBlbGlmICdwcm92b2xh dGlsZScgbm90IGluIGRhdGEgYW5kIG9fZGF0YS5wcm92b2xhdGlsZSAlfXt7 IG9fZGF0YS5wcm92b2xhdGlsZSB9fXslIGVuZGlmICV9Cit7JSBpZiAoJ3By b2xlYWtwcm9vZicgaW4gZGF0YSBhbmQgZGF0YS5wcm9sZWFrcHJvb2YpIG9y ICgncHJvbGVha3Byb29mJyBub3QgaW4gZGF0YSBhbmQgb19kYXRhLnByb2xl YWtwcm9vZikgJX1MRUFLUFJPT0Z7JSBlbGlmICdwcm9sZWFrcHJvb2YnIGlu IGRhdGEgYW5kIG5vdCBkYXRhLnByb2xlYWtwcm9vZiAlfU5PVCBMRUFLUFJP T0Z7JSBlbmRpZiAlfQoreyUgaWYgKCdwcm9pc3N0cmljdCcgaW4gZGF0YSBh bmQgZGF0YS5wcm9pc3N0cmljdCkgb3IgKCdwcm9pc3N0cmljdCcgbm90IGlu IGRhdGEgYW5kIG9fZGF0YS5wcm9pc3N0cmljdCkgJX0gU1RSSUNUeyUgZW5k aWYgJX0KK3slIGlmICgncHJvc2VjZGVmJyBpbiBkYXRhIGFuZCBkYXRhLnBy b3NlY2RlZikgb3IgKCdwcm9zZWNkZWYnIG5vdCBpbiBkYXRhIGFuZCBvX2Rh dGEucHJvc2VjZGVmKSAlfSBTRUNVUklUWSBERUZJTkVSeyUgZW5kaWYgJX0K K3slIGlmICgncHJvaXN3aW5kb3cnIGluIGRhdGEgYW5kIGRhdGEucHJvaXN3 aW5kb3cpIG9yICgncHJvaXN3aW5kb3cnIG5vdCBpbiBkYXRhIGFuZCBvX2Rh dGEucHJvaXN3aW5kb3cpICV9IFdJTkRPV3slIGVuZGlmICV9CisKKyAgICB7 JSBpZiAncHJvcGFyYWxsZWwnIGluIGRhdGEgYW5kIGRhdGEucHJvcGFyYWxs ZWwgJX1QQVJBTExFTCB7eyBkYXRhLnByb3BhcmFsbGVsIH19eyUgZWxpZiAn cHJvcGFyYWxsZWwnIG5vdCBpbiBkYXRhIGFuZCBvX2RhdGEucHJvcGFyYWxs ZWwgJX1QQVJBTExFTCB7eyBvX2RhdGEucHJvcGFyYWxsZWwgfX17JSBlbmRp ZiAlfQorCisgICAgeyUgaWYgZGF0YS5wcm9jb3N0ICV9Q09TVCB7e2RhdGEu cHJvY29zdH19eyUgZWxpZiBvX2RhdGEucHJvY29zdCAlfUNPU1Qge3tvX2Rh dGEucHJvY29zdH19eyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb3Jvd3MgJX0K KworICAgIFJPV1Mge3tkYXRhLnByb3Jvd3N9fXslIGVsaWYgb19kYXRhLnBy b3Jvd3MgJX1ST1dTIHt7b19kYXRhLnByb3Jvd3N9fSB7JWVuZGlmIC0lfXsl IGlmIGRhdGEubWVyZ2VkX3ZhcmlhYmxlcyAlfXslIGZvciB2IGluIGRhdGEu bWVyZ2VkX3ZhcmlhYmxlcyAlfQorCisgICAgU0VUIHt7IGNvbm58cXRJZGVu dCh2Lm5hbWUpIH19PXt7IHYudmFsdWV8cXRMaXRlcmFsIH19eyUgZW5kZm9y IC0lfQorICAgIHslIGVuZGlmICV9CisKK0FTIHslIGlmICdwcm9iaW4nIGlu IGRhdGEgb3IgJ3Byb3NyY19jJyBpbiBkYXRhICV9Cit7JSBpZiAncHJvYmlu JyBpbiBkYXRhICV9e3sgZGF0YS5wcm9iaW58cXRMaXRlcmFsIH19eyUgZWxz ZSAlfXt7IG9fZGF0YS5wcm9iaW58cXRMaXRlcmFsIH19eyUgZW5kaWYgJX0s IHslIGlmICdwcm9zcmNfYycgaW4gZGF0YSAlfXt7IGRhdGEucHJvc3JjX2N8 cXRMaXRlcmFsIH19eyUgZWxzZSAlfXt7IG9fZGF0YS5wcm9zcmNfY3xxdExp dGVyYWwgfX17JSBlbmRpZiAlfXslIGVsaWYgJ3Byb3NyYycgaW4gZGF0YSAl fQorJGZ1bmN0aW9uJHt7IGRhdGEucHJvc3JjIH19JGZ1bmN0aW9uJHslIGVs aWYgb19kYXRhLmxhbm5hbWUgPT0gJ2MnICV9Cit7eyBvX2RhdGEucHJvYmlu fHF0TGl0ZXJhbCB9fSwge3sgb19kYXRhLnByb3NyY19jfHF0TGl0ZXJhbCB9 fXslIGVsc2UgJX0KKyRmdW5jdGlvbiR7eyBvX2RhdGEucHJvc3JjIH19JGZ1 bmN0aW9uJHslIGVuZGlmIC0lfTsKK3slIGVuZGlmIC0lfQoreyUgaWYgZGF0 YS5mdW5jb3duZXIgJX0KKworQUxURVIgRlVOQ1RJT04ge3sgY29ubnxxdElk ZW50KG9fZGF0YS5wcm9uYW1lc3BhY2UsIG5hbWUpIH19KHt7b19kYXRhLnBy b2FyZ3R5cGVuYW1lcyB9fSkKKyAgICBPV05FUiBUTyB7eyBjb25ufHF0SWRl bnQoZGF0YS5mdW5jb3duZXIpIH19OworeyUgZW5kaWYgLSV9Cit7IyBUaGUg U1FMIGdlbmVyYXRlZCBiZWxvdyB3aWxsIGNoYW5nZSBwcml2aWxlZGdlcyAj fQoreyUgaWYgZGF0YS5hY2wgJX0KK3slIGlmICdkZWxldGVkJyBpbiBkYXRh LmFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0YS5hY2wuZGVsZXRlZCAlfQor Cit7eyBQUklWSUxFR0UuVU5TRVRBTEwoY29ubiwgJ0ZVTkNUSU9OJywgcHJp di5ncmFudGVlLCBuYW1lLCBvX2RhdGEucHJvbmFtZXNwYWNlLCBvX2RhdGEu cHJvYXJndHlwZW5hbWVzKSB9fQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAt JX0KK3slIGlmICdjaGFuZ2VkJyBpbiBkYXRhLmRhdGFjbCAlfQoreyUgZm9y IHByaXYgaW4gZGF0YS5hY2wuY2hhbmdlZCAlfQorCit7eyBQUklWSUxFR0Uu VU5TRVRBTEwoY29ubiwgJ0ZVTkNUSU9OJywgcHJpdi5ncmFudGVlLCBuYW1l LCBvX2RhdGEucHJvbmFtZXNwYWNlLCBvX2RhdGEucHJvYXJndHlwZW5hbWVz KSB9fQorCit7eyBQUklWSUxFR0UuU0VUKGNvbm4sICdGVU5DVElPTicsIHBy aXYuZ3JhbnRlZSwgbmFtZSwgcHJpdi53aXRob3V0X2dyYW50LCBwcml2Lndp dGhfZ3JhbnQsIG9fZGF0YS5wcm9uYW1lc3BhY2UsIG9fZGF0YS5wcm9hcmd0 eXBlbmFtZXMpIH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmIC0lfQoreyUg aWYgJ2FkZGVkJyBpbiBkYXRhLmFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0 YS5hY2wuYWRkZWQgJX0KKwore3sgUFJJVklMRUdFLlNFVChjb25uLCAnRlVO Q1RJT04nLCBwcml2LmdyYW50ZWUsIG5hbWUsIHByaXYud2l0aG91dF9ncmFu dCwgcHJpdi53aXRoX2dyYW50LCBvX2RhdGEucHJvbmFtZXNwYWNlLCBvX2Rh dGEucHJvYXJndHlwZW5hbWVzKSB9fQoreyUgZW5kZm9yICV9eyUgZW5kaWYg LSV9Cit7JSBlbmRpZiAtJX0KK3slIGlmIGRhdGEuY2hhbmdlX2Z1bmMgPT0g RmFsc2UgJX0KK3slIGlmIGRhdGEudmFyaWFibGVzICV9Cit7JSBpZiAnZGVs ZXRlZCcgaW4gZGF0YS52YXJpYWJsZXMgYW5kIGRhdGEudmFyaWFibGVzLmRl bGV0ZWR8bGVuZ3RoID4gMCAlfQorCit7eyBWQVJJQUJMRS5VTlNFVChjb25u LCAnRlVOQ1RJT04nLCBuYW1lLCBkYXRhLnZhcmlhYmxlcy5kZWxldGVkLCBv X2RhdGEucHJvbmFtZXNwYWNlLCBvX2RhdGEucHJvYXJndHlwZW5hbWVzKSB9 fQoreyUgZW5kaWYgLSV9Cit7JSBpZiAnbWVyZ2VkX3ZhcmlhYmxlcycgaW4g ZGF0YSBhbmQgZGF0YS5tZXJnZWRfdmFyaWFibGVzfGxlbmd0aCA+IDAgJX0K Kwore3sgVkFSSUFCTEUuU0VUKGNvbm4sICdGVU5DVElPTicsIG5hbWUsIGRh dGEubWVyZ2VkX3ZhcmlhYmxlcywgb19kYXRhLnByb25hbWVzcGFjZSwgb19k YXRhLnByb2FyZ3R5cGVuYW1lcykgfX0KK3slIGVuZGlmIC0lfQoreyUgZW5k aWYgLSV9Cit7JSBlbmRpZiAtJX0KK3slIHNldCBzZWNsYWJlbHMgPSBkYXRh LnNlY2xhYmVscyAlfQoreyUgaWYgJ2RlbGV0ZWQnIGluIHNlY2xhYmVscyBh bmQgc2VjbGFiZWxzLmRlbGV0ZWR8bGVuZ3RoID4gMCAlfQoreyUgZm9yIHIg aW4gc2VjbGFiZWxzLmRlbGV0ZWQgJX0KKwore3sgU0VDTEFCRUwuVU5TRVQo Y29ubiwgJ0ZVTkNUSU9OJywgbmFtZSwgci5wcm92aWRlciwgb19kYXRhLnBy b25hbWVzcGFjZSwgb19kYXRhLnByb2FyZ3R5cGVuYW1lcykgfX0KK3slIGVu ZGZvciAlfQoreyUgZW5kaWYgLSV9Cit7JSBpZiAnYWRkZWQnIGluIHNlY2xh YmVscyBhbmQgc2VjbGFiZWxzLmFkZGVkfGxlbmd0aCA+IDAgJX0KK3slIGZv ciByIGluIHNlY2xhYmVscy5hZGRlZCAlfQorCit7eyBTRUNMQUJFTC5TRVQo Y29ubiwgJ0ZVTkNUSU9OJywgbmFtZSwgci5wcm92aWRlciwgci5sYWJlbCwg b19kYXRhLnByb25hbWVzcGFjZSwgb19kYXRhLnByb2FyZ3R5cGVuYW1lcykg fX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgLSV9Cit7JSBpZiAnY2hhbmdl ZCcgaW4gc2VjbGFiZWxzIGFuZCBzZWNsYWJlbHMuY2hhbmdlZHxsZW5ndGgg PiAwICV9Cit7JSBmb3IgciBpbiBzZWNsYWJlbHMuY2hhbmdlZCAlfQorCit7 eyBTRUNMQUJFTC5TRVQoY29ubiwgJ0ZVTkNUSU9OJywgbmFtZSwgci5wcm92 aWRlciwgci5sYWJlbCwgb19kYXRhLnByb25hbWVzcGFjZSwgb19kYXRhLnBy b2FyZ3R5cGVuYW1lcykgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgLSV9 Cit7JSBpZiBkYXRhLmRlc2NyaXB0aW9uIGlzIGRlZmluZWQgYW5kIGRhdGEu ZGVzY3JpcHRpb24gIT0gb19kYXRhLmRlc2NyaXB0aW9uJX0KKworQ09NTUVO VCBPTiBGVU5DVElPTiB7eyBjb25ufHF0SWRlbnQob19kYXRhLnByb25hbWVz cGFjZSwgbmFtZSkgfX0oe3tvX2RhdGEucHJvYXJndHlwZW5hbWVzIH19KQor ICAgIElTIHt7IGRhdGEuZGVzY3JpcHRpb258cXRMaXRlcmFsIH19OworeyUg ZW5kaWYgLSV9CisKK3slIGlmIGRhdGEucHJvbmFtZXNwYWNlICV9CisKK0FM VEVSIEZVTkNUSU9OIHt7IGNvbm58cXRJZGVudChvX2RhdGEucHJvbmFtZXNw YWNlLCBuYW1lKSB9fSh7e29fZGF0YS5wcm9hcmd0eXBlbmFtZXMgfX0pCisg ICAgU0VUIFNDSEVNQSB7eyBjb25ufHF0SWRlbnQoZGF0YS5wcm9uYW1lc3Bh Y2UpIH19OworeyUgZW5kaWYgLSV9CisKK3slIGVuZGlmICV9CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1bmN0 aW9uL3BwYXMvc3FsLzkuNl9wbHVzL2NyZWF0ZS5zcWwgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1bmN0aW9uL3BwYXMvc3FsLzku Nl9wbHVzL2NyZWF0ZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uZWEzNGIxMAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvZnVuY3Rpb24vcHBhcy9zcWwv OS42X3BsdXMvY3JlYXRlLnNxbApAQCAtMCwwICsxLDY0IEBACit7JSBpbXBv cnQgJ21hY3Jvcy9mdW5jdGlvbnMvc2VjdXJpdHkubWFjcm9zJyBhcyBTRUNM QUJFTCAlfQoreyUgaW1wb3J0ICdtYWNyb3MvZnVuY3Rpb25zL3ByaXZpbGVn ZS5tYWNyb3MnIGFzIFBSSVZJTEVHRSAlfQoreyUgaW1wb3J0ICdtYWNyb3Mv ZnVuY3Rpb25zL3ZhcmlhYmxlLm1hY3JvcycgYXMgVkFSSUFCTEUgJX0KK3sl IHNldCBpc19jb2x1bW5zID0gW10gJX0KK3slIGlmIGRhdGEgJX0KK3slIGlm IHF1ZXJ5X2ZvciA9PSAnc3FsX3BhbmVsJyBhbmQgZnVuY19kZWYgaXMgZGVm aW5lZCAlfQorQ1JFQVRFeyUgaWYgcXVlcnlfdHlwZSBpcyBkZWZpbmVkICV9 e3snIE9SIFJFUExBQ0UnfX17JSBlbmRpZiAlfSBGVU5DVElPTiB7e2Z1bmNf ZGVmfX0KK3slIGVsc2UgJX0KK0NSRUFURXslIGlmIHF1ZXJ5X3R5cGUgaXMg ZGVmaW5lZCAlfXt7JyBPUiBSRVBMQUNFJ319eyUgZW5kaWYgJX0gRlVOQ1RJ T04ge3sgY29ubnxxdElkZW50KGRhdGEucHJvbmFtZXNwYWNlLCBkYXRhLm5h bWUpIH19KHslIGlmIGRhdGEuYXJncyAlfQoreyUgZm9yIHAgaW4gZGF0YS5h cmdzICV9eyUgaWYgcC5hcmdtb2RlICV9e3twLmFyZ21vZGV9fSB7JSBlbmRp ZiAlfXslIGlmIHAuYXJnbmFtZSAlfXt7IGNvbm58cXRJZGVudChwLmFyZ25h bWUpIH19IHslIGVuZGlmICV9eyUgaWYgcC5hcmd0eXBlICV9e3sgY29ubnxx dFR5cGVJZGVudChwLmFyZ3R5cGUpIH19eyUgZW5kaWYgJX17JSBpZiBwLmFy Z2RlZnZhbCAlfSBERUZBVUxUIHt7cC5hcmdkZWZ2YWx9fXslIGVuZGlmICV9 Cit7JSBpZiBub3QgbG9vcC5sYXN0ICV9LHslIGVuZGlmICV9Cit7JSBlbmRm b3IgJX0KK3slIGVuZGlmIC0lfQorICAgICkKK3slIGVuZGlmIC0lfQorICAg IFJFVFVSTlN7JSBpZiBkYXRhLnByb3JldHNldCBhbmQgZGF0YS5wcm9yZXR0 eXBlbmFtZS5zdGFydHN3aXRoKCdTRVRPRiAnKSAlfSB7eyBkYXRhLnByb3Jl dHR5cGVuYW1lIH19IHslIGVsaWYgZGF0YS5wcm9yZXRzZXQgJX0gU0VUT0Yg e3sgY29ubnxxdFR5cGVJZGVudChkYXRhLnByb3JldHR5cGVuYW1lKSB9fXsl IGVsc2UgJX0ge3sgY29ubnxxdFR5cGVJZGVudChkYXRhLnByb3JldHR5cGVu YW1lKSB9fXslIGVuZGlmICV9CisKKyAgICBMQU5HVUFHRSB7eyBkYXRhLmxh bm5hbWV8cXRMaXRlcmFsIH19CisgICAgeyUgaWYgZGF0YS5wcm92b2xhdGls ZSAlfXslIGlmIGRhdGEucHJvdm9sYXRpbGUgPT0gJ2knICV9SU1NVVRBQkxF eyUgZWxpZiBkYXRhLnByb3ZvbGF0aWxlID09ICdzJyAlfVNUQUJMRXslIGVs c2UgJX1WT0xBVElMRXslIGVuZGlmICV9IHslIGVuZGlmICV9eyUgaWYgZGF0 YS5wcm9sZWFrcHJvb2YgJX1MRUFLUFJPT0YgeyUgZWxzZSAlfU5PVCBMRUFL UFJPT0YgeyUgZW5kaWYgJX0KK3slIGlmIGRhdGEucHJvaXNzdHJpY3QgJX1T VFJJQ1QgeyUgZW5kaWYgJX0KK3slIGlmIGRhdGEucHJvc2VjZGVmICV9U0VD VVJJVFkgREVGSU5FUiB7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5wcm9pc3dp bmRvdyAlfVdJTkRPV3slIGVuZGlmICV9CisKKyAgICB7JSBpZiBkYXRhLnBy b3BhcmFsbGVsICV9UEFSQUxMRUwgeyUgaWYgZGF0YS5wcm9wYXJhbGxlbCA9 PSAncicgJX1SRVNUUklDVEVEeyUgZWxpZiBkYXRhLnByb3BhcmFsbGVsID09 ICdzJyAlfVNBRkV7JSBlbHNlICV9VU5TQUZFeyUgZW5kaWYgJX17JSBlbmRp ZiAlfQoreyUgaWYgZGF0YS5wcm9jb3N0ICV9CisKKyAgICBDT1NUIHt7ZGF0 YS5wcm9jb3N0fX17JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvcm93cyAlfQor CisgICAgUk9XUyB7e2RhdGEucHJvcm93c319eyUgZW5kaWYgLSV9eyUgaWYg ZGF0YS52YXJpYWJsZXMgJX17JSBmb3IgdiBpbiBkYXRhLnZhcmlhYmxlcyAl fQorCisgICAgU0VUIHt7IGNvbm58cXRJZGVudCh2Lm5hbWUpIH19PXt7IHYu dmFsdWV8cXRMaXRlcmFsIH19eyUgZW5kZm9yICV9Cit7JSBlbmRpZiAlfQor CitBUyB7JSBpZiBkYXRhLmxhbm5hbWUgPT0gJ2MnICV9Cit7eyBkYXRhLnBy b2JpbnxxdExpdGVyYWwgfX0sIHt7IGRhdGEucHJvc3JjX2N8cXRMaXRlcmFs IH19Cit7JSBlbHNlICV9CiskZnVuY3Rpb24kCit7eyBkYXRhLnByb3NyYyB9 fQorJGZ1bmN0aW9uJHslIGVuZGlmIC0lfTsKK3slIGlmIGRhdGEuZnVuY293 bmVyICV9CisKK0FMVEVSIEZVTkNUSU9OIHt7IGNvbm58cXRJZGVudChkYXRh LnByb25hbWVzcGFjZSwgZGF0YS5uYW1lKSB9fSh7e2RhdGEuZnVuY19hcmdz X3dpdGhvdXR9fSkKKyAgICBPV05FUiBUTyB7eyBjb25ufHF0SWRlbnQoZGF0 YS5mdW5jb3duZXIpIH19OworeyUgZW5kaWYgLSV9Cit7JSBpZiBkYXRhLmFj bCAlfQoreyUgZm9yIHAgaW4gZGF0YS5hY2wgJX0KKwore3sgUFJJVklMRUdF LlNFVChjb25uLCAiRlVOQ1RJT04iLCBwLmdyYW50ZWUsIGRhdGEubmFtZSwg cC53aXRob3V0X2dyYW50LCBwLndpdGhfZ3JhbnQsIGRhdGEucHJvbmFtZXNw YWNlLCBkYXRhLmZ1bmNfYXJnc193aXRob3V0KX19Cit7JSBlbmRmb3IgJX17 JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5kZXNjcmlwdGlvbiAlfQorCitDT01N RU5UIE9OIEZVTkNUSU9OIHt7IGNvbm58cXRJZGVudChkYXRhLnByb25hbWVz cGFjZSwgZGF0YS5uYW1lKSB9fSh7e2RhdGEuZnVuY19hcmdzX3dpdGhvdXR9 fSkKKyAgICBJUyB7eyBkYXRhLmRlc2NyaXB0aW9ufHF0TGl0ZXJhbCAgfX07 Cit7JSBlbmRpZiAtJX0KK3slIGlmIGRhdGEuc2VjbGFiZWxzICV9Cit7JSBm b3IgciBpbiBkYXRhLnNlY2xhYmVscyAlfQoreyUgaWYgci5sYWJlbCBhbmQg ci5wcm92aWRlciAlfQorCit7eyBTRUNMQUJFTC5TRVQoY29ubiwgJ0ZVTkNU SU9OJywgZGF0YS5uYW1lLCByLnByb3ZpZGVyLCByLmxhYmVsLCBkYXRhLnBy b25hbWVzcGFjZSwgZGF0YS5mdW5jX2FyZ3Nfd2l0aG91dCkgfX0KK3slIGVu ZGlmICV9Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmIC0lfQorCit7JSBlbmRp ZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rl bXBsYXRlcy9mdW5jdGlvbi9wcGFzL3NxbC85LjZfcGx1cy9wcm9wZXJ0aWVz LnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvZnVu Y3Rpb24vcHBhcy9zcWwvOS42X3BsdXMvcHJvcGVydGllcy5zcWwKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY2YWUwMgotLS0gL2Rl di9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0 ZXMvZnVuY3Rpb24vcHBhcy9zcWwvOS42X3BsdXMvcHJvcGVydGllcy5zcWwK QEAgLTAsMCArMSwzMiBAQAorU0VMRUNUCisgICAgcHIub2lkLCBwci54bWlu LCBwci4qLCBwci5wcm9zcmMgQVMgcHJvc3JjX2MsCisgICAgcHIucHJvbmFt ZSBBUyBuYW1lLCBwZ19nZXRfZnVuY3Rpb25fcmVzdWx0KHByLm9pZCkgQVMg cHJvcmV0dHlwZW5hbWUsCisgICAgdHlwbnMubnNwbmFtZSBBUyB0eXBuc3As IGxhbm5hbWUsIHByb2FyZ25hbWVzLCBvaWR2ZWN0b3J0eXBlcyhwcm9hcmd0 eXBlcykgQVMgcHJvYXJndHlwZW5hbWVzLAorICAgIHBnX2dldF9leHByKHBy b2FyZ2RlZmF1bHRzLCAncGdfY2F0YWxvZy5wZ19jbGFzcyc6OnJlZ2NsYXNz KSBBUyBwcm9hcmdkZWZhdWx0dmFscywKKyAgICBwcm9uYXJnZGVmYXVsdHMs IHByb2NvbmZpZywgcGdfZ2V0X3VzZXJieWlkKHByb293bmVyKSBBUyBmdW5j b3duZXIsIGRlc2NyaXB0aW9uLAorICAgIChTRUxFQ1QKKyAgICAgICAgYXJy YXlfYWdnKHByb3ZpZGVyIHx8ICc9JyB8fCBsYWJlbCkKKyAgICBGUk9NCisg ICAgICAgIHBnX3NlY2xhYmVsIHNsMQorICAgIFdIRVJFCisgICAgICAgIHNs MS5vYmpvaWQ9cHIub2lkKSBBUyBzZWNsYWJlbHMKK0ZST00KKyAgICBwZ19w cm9jIHByCitKT0lOCisgICAgcGdfdHlwZSB0eXAgT04gdHlwLm9pZD1wcm9y ZXR0eXBlCitKT0lOCisgICAgcGdfbmFtZXNwYWNlIHR5cG5zIE9OIHR5cG5z Lm9pZD10eXAudHlwbmFtZXNwYWNlCitKT0lOCisgICAgcGdfbGFuZ3VhZ2Ug bG5nIE9OIGxuZy5vaWQ9cHJvbGFuZworTEVGVCBPVVRFUiBKT0lOCisgICAg cGdfZGVzY3JpcHRpb24gZGVzIE9OIChkZXMub2Jqb2lkPXByLm9pZCBBTkQg ZGVzLmNsYXNzb2lkPSdwZ19wcm9jJzo6cmVnY2xhc3MpCitXSEVSRQorICAg IHByb2lzYWdnID0gRkFMU0UKKyAgICBBTkQgdHlwbmFtZSBOT1QgSU4gKCd0 cmlnZ2VyJywgJ2V2ZW50X3RyaWdnZXInKQoreyUgaWYgZm5pZCAlfQorICAg IEFORCBwci5vaWQgPSB7e2ZuaWR9fTo6b2lkCit7JSBlbHNlICV9CisgICAg QU5EIHByb25hbWVzcGFjZSA9IHt7c2NpZH19OjpvaWQKK3slIGVuZGlmICV9 CitPUkRFUiBCWQorICAgIHByb25hbWU7CmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9mdW5jdGlvbnMvdGVtcGxhdGVzL2Z1bmN0aW9uL3BwYXMvc3Fs LzkuNl9wbHVzL3VwZGF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlv bnMvdGVtcGxhdGVzL2Z1bmN0aW9uL3BwYXMvc3FsLzkuNl9wbHVzL3VwZGF0 ZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDll Yjk0ZQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0 aW9ucy90ZW1wbGF0ZXMvZnVuY3Rpb24vcHBhcy9zcWwvOS42X3BsdXMvdXBk YXRlLnNxbApAQCAtMCwwICsxLDExNiBAQAoreyUgaW1wb3J0ICdtYWNyb3Mv ZnVuY3Rpb25zL3NlY3VyaXR5Lm1hY3JvcycgYXMgU0VDTEFCRUwgJX0KK3sl IGltcG9ydCAnbWFjcm9zL2Z1bmN0aW9ucy9wcml2aWxlZ2UubWFjcm9zJyBh cyBQUklWSUxFR0UgJX0KK3slIGltcG9ydCAnbWFjcm9zL2Z1bmN0aW9ucy92 YXJpYWJsZS5tYWNyb3MnIGFzIFZBUklBQkxFICV9eyUgaWYgZGF0YSAlfQor eyUgc2V0IG5hbWUgPSBvX2RhdGEubmFtZSAlfQoreyUgaWYgZGF0YS5uYW1l ICV9Cit7JSBpZiBkYXRhLm5hbWUgIT0gb19kYXRhLm5hbWUgJX0KK0FMVEVS IEZVTkNUSU9OIHt7IGNvbm58cXRJZGVudChvX2RhdGEucHJvbmFtZXNwYWNl LCBvX2RhdGEubmFtZSkgfX0oe3sKK29fZGF0YS5wcm9hcmd0eXBlbmFtZXMg fX0pCisgICAgUkVOQU1FIFRPIHt7IGNvbm58cXRJZGVudChkYXRhLm5hbWUp IH19OworeyUgc2V0IG5hbWUgPSBkYXRhLm5hbWUgJX0KK3slIGVuZGlmICV9 Cit7JSBlbmRpZiAtJX0KK3slIGlmIGRhdGEuY2hhbmdlX2Z1bmMgICV9CisK K0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHt7IGNvbm58cXRJZGVudChv X2RhdGEucHJvbmFtZXNwYWNlLCBuYW1lKSB9fSh7JSBpZiBkYXRhLmFyZ3Vt ZW50cyAlfQoreyUgZm9yIHAgaW4gZGF0YS5hcmd1bWVudHMgJX17JSBpZiBw LmFyZ21vZGUgJX17e3AuYXJnbW9kZX19IHslIGVuZGlmICV9eyUgaWYgcC5h cmduYW1lICV9e3sgY29ubnxxdElkZW50KHAuYXJnbmFtZSkgfX0geyUgZW5k aWYgJX17JSBpZiBwLmFyZ3R5cGUgJX17eyBjb25ufHF0VHlwZUlkZW50KHAu YXJndHlwZSkgfX17JSBlbmRpZiAlfXslIGlmIHAuYXJnZGVmdmFsICV9IERF RkFVTFQge3twLmFyZ2RlZnZhbH19eyUgZW5kaWYgJX0KK3slIGlmIG5vdCBs b29wLmxhc3QgJX0seyUgZW5kaWYgJX0KK3slIGVuZGZvciAlfQoreyUgZW5k aWYgLSV9CispCisgICAgUkVUVVJOUyB7eyBvX2RhdGEucHJvcmV0dHlwZW5h bWUgfX0KK3slIGlmICdsYW5uYW1lJyBpbiBkYXRhICV9CisgICAgTEFOR1VB R0Uge3sgZGF0YS5sYW5uYW1lfHF0TGl0ZXJhbCB9fSB7JSBlbHNlICV9Cisg ICAgTEFOR1VBR0Uge3sgb19kYXRhLmxhbm5hbWV8cXRMaXRlcmFsIH19Cisg ICAgeyUgZW5kaWYgJX17JSBpZiAncHJvdm9sYXRpbGUnIGluIGRhdGEgYW5k IGRhdGEucHJvdm9sYXRpbGUgJX17eyBkYXRhLnByb3ZvbGF0aWxlIH19IHsl IGVsaWYgJ3Byb3ZvbGF0aWxlJyBub3QgaW4gZGF0YSBhbmQgb19kYXRhLnBy b3ZvbGF0aWxlICV9e3sgb19kYXRhLnByb3ZvbGF0aWxlIH19eyUgZW5kaWYg JX0KK3slIGlmICgncHJvbGVha3Byb29mJyBpbiBkYXRhIGFuZCBkYXRhLnBy b2xlYWtwcm9vZikgb3IgKCdwcm9sZWFrcHJvb2YnIG5vdCBpbiBkYXRhIGFu ZCBvX2RhdGEucHJvbGVha3Byb29mKSAlfSBMRUFLUFJPT0Z7JSBlbGlmICdw cm9sZWFrcHJvb2YnIGluIGRhdGEgYW5kIG5vdCBkYXRhLnByb2xlYWtwcm9v ZiAlfSBOT1QgTEVBS1BST09GeyUgZW5kaWYgJX0KK3slIGlmICgncHJvaXNz dHJpY3QnIGluIGRhdGEgYW5kIGRhdGEucHJvaXNzdHJpY3QpIG9yICgncHJv aXNzdHJpY3QnIG5vdCBpbiBkYXRhIGFuZCBvX2RhdGEucHJvaXNzdHJpY3Qp ICV9IFNUUklDVHslIGVuZGlmICV9Cit7JSBpZiAoJ3Byb3NlY2RlZicgaW4g ZGF0YSBhbmQgZGF0YS5wcm9zZWNkZWYpIG9yICgncHJvc2VjZGVmJyBub3Qg aW4gZGF0YSBhbmQgb19kYXRhLnByb3NlY2RlZikgJX0gU0VDVVJJVFkgREVG SU5FUnslIGVuZGlmICV9Cit7JSBpZiAoJ3Byb2lzd2luZG93JyBpbiBkYXRh IGFuZCBkYXRhLnByb2lzd2luZG93KSBvciAoJ3Byb2lzd2luZG93JyBub3Qg aW4gZGF0YSBhbmQgb19kYXRhLnByb2lzd2luZG93KSAlfSBXSU5ET1d7JSBl bmRpZiAlfQorCisgICAgeyUgaWYgJ3Byb3BhcmFsbGVsJyBpbiBkYXRhIGFu ZCBkYXRhLnByb3BhcmFsbGVsICV9UEFSQUxMRUwge3sgZGF0YS5wcm9wYXJh bGxlbCB9fXslIGVsaWYgJ3Byb3BhcmFsbGVsJyBub3QgaW4gZGF0YSBhbmQg b19kYXRhLnByb3BhcmFsbGVsICV9UEFSQUxMRUwge3sgb19kYXRhLnByb3Bh cmFsbGVsIH19eyUgZW5kaWYgJX0KKworICAgIHslIGlmIGRhdGEucHJvY29z dCAlfUNPU1Qge3tkYXRhLnByb2Nvc3R9fXslIGVsaWYgb19kYXRhLnByb2Nv c3QgJX1DT1NUIHt7b19kYXRhLnByb2Nvc3R9fXslIGVuZGlmICV9eyUgaWYg ZGF0YS5wcm9yb3dzICV9CisKKyAgICBST1dTIHt7ZGF0YS5wcm9yb3dzfX17 JSBlbGlmIG9fZGF0YS5wcm9yb3dzICV9Uk9XUyB7e29fZGF0YS5wcm9yb3dz fX0geyVlbmRpZiAtJX17JSBpZiBkYXRhLm1lcmdlZF92YXJpYWJsZXMgJX17 JSBmb3IgdiBpbiBkYXRhLm1lcmdlZF92YXJpYWJsZXMgJX0KKworICAgIFNF VCB7eyBjb25ufHF0SWRlbnQodi5uYW1lKSB9fT17eyB2LnZhbHVlfHF0TGl0 ZXJhbCB9fXslIGVuZGZvciAtJX0KKyAgICB7JSBlbmRpZiAlfQorCitBUyB7 JSBpZiAncHJvYmluJyBpbiBkYXRhIG9yICdwcm9zcmNfYycgaW4gZGF0YSAl fQoreyUgaWYgJ3Byb2JpbicgaW4gZGF0YSAlfXt7IGRhdGEucHJvYmlufHF0 TGl0ZXJhbCB9fXslIGVsc2UgJX17eyBvX2RhdGEucHJvYmlufHF0TGl0ZXJh bCB9fXslIGVuZGlmICV9LCB7JSBpZiAncHJvc3JjX2MnIGluIGRhdGEgJX17 eyBkYXRhLnByb3NyY19jfHF0TGl0ZXJhbCB9fXslIGVsc2UgJX17eyBvX2Rh dGEucHJvc3JjX2N8cXRMaXRlcmFsIH19eyUgZW5kaWYgJX17JSBlbGlmICdw cm9zcmMnIGluIGRhdGEgJX0KKyRmdW5jdGlvbiR7eyBkYXRhLnByb3NyYyB9 fSRmdW5jdGlvbiR7JSBlbGlmIG9fZGF0YS5sYW5uYW1lID09ICdjJyAlfQor e3sgb19kYXRhLnByb2JpbnxxdExpdGVyYWwgfX0sIHt7IG9fZGF0YS5wcm9z cmNfY3xxdExpdGVyYWwgfX17JSBlbHNlICV9CiskZnVuY3Rpb24ke3sgb19k YXRhLnByb3NyYyB9fSRmdW5jdGlvbiR7JSBlbmRpZiAtJX07Cit7JSBlbmRp ZiAtJX0KK3slIGlmIGRhdGEuZnVuY293bmVyICV9CisKK0FMVEVSIEZVTkNU SU9OIHt7IGNvbm58cXRJZGVudChvX2RhdGEucHJvbmFtZXNwYWNlLCBuYW1l KSB9fSh7e29fZGF0YS5wcm9hcmd0eXBlbmFtZXMgfX0pCisgICAgT1dORVIg VE8ge3sgY29ubnxxdElkZW50KGRhdGEuZnVuY293bmVyKSB9fTsKK3slIGVu ZGlmIC0lfQoreyMgVGhlIFNRTCBnZW5lcmF0ZWQgYmVsb3cgd2lsbCBjaGFu Z2UgcHJpdmlsZWRnZXMgI30KK3slIGlmIGRhdGEuYWNsICV9Cit7JSBpZiAn ZGVsZXRlZCcgaW4gZGF0YS5hY2wgJX0KK3slIGZvciBwcml2IGluIGRhdGEu YWNsLmRlbGV0ZWQgJX0KKwore3sgUFJJVklMRUdFLlVOU0VUQUxMKGNvbm4s ICdGVU5DVElPTicsIHByaXYuZ3JhbnRlZSwgbmFtZSwgb19kYXRhLnByb25h bWVzcGFjZSwgb19kYXRhLnByb2FyZ3R5cGVuYW1lcykgfX0KK3slIGVuZGZv ciAlfQoreyUgZW5kaWYgLSV9Cit7JSBpZiAnY2hhbmdlZCcgaW4gZGF0YS5k YXRhY2wgJX0KK3slIGZvciBwcml2IGluIGRhdGEuYWNsLmNoYW5nZWQgJX0K Kwore3sgUFJJVklMRUdFLlVOU0VUQUxMKGNvbm4sICdGVU5DVElPTicsIHBy aXYuZ3JhbnRlZSwgbmFtZSwgb19kYXRhLnByb25hbWVzcGFjZSwgb19kYXRh LnByb2FyZ3R5cGVuYW1lcykgfX0KKwore3sgUFJJVklMRUdFLlNFVChjb25u LCAnRlVOQ1RJT04nLCBwcml2LmdyYW50ZWUsIG5hbWUsIHByaXYud2l0aG91 dF9ncmFudCwgcHJpdi53aXRoX2dyYW50LCBvX2RhdGEucHJvbmFtZXNwYWNl LCBvX2RhdGEucHJvYXJndHlwZW5hbWVzKSB9fQoreyUgZW5kZm9yICV9Cit7 JSBlbmRpZiAtJX0KK3slIGlmICdhZGRlZCcgaW4gZGF0YS5hY2wgJX0KK3sl IGZvciBwcml2IGluIGRhdGEuYWNsLmFkZGVkICV9CisKK3t7IFBSSVZJTEVH RS5TRVQoY29ubiwgJ0ZVTkNUSU9OJywgcHJpdi5ncmFudGVlLCBuYW1lLCBw cml2LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9ncmFudCwgb19kYXRhLnBy b25hbWVzcGFjZSwgb19kYXRhLnByb2FyZ3R5cGVuYW1lcykgfX0KK3slIGVu ZGZvciAlfXslIGVuZGlmIC0lfQoreyUgZW5kaWYgLSV9Cit7JSBpZiBkYXRh LmNoYW5nZV9mdW5jID09IEZhbHNlICV9Cit7JSBpZiBkYXRhLnZhcmlhYmxl cyAlfQoreyUgaWYgJ2RlbGV0ZWQnIGluIGRhdGEudmFyaWFibGVzIGFuZCBk YXRhLnZhcmlhYmxlcy5kZWxldGVkfGxlbmd0aCA+IDAgJX0KKwore3sgVkFS SUFCTEUuVU5TRVQoY29ubiwgJ0ZVTkNUSU9OJywgbmFtZSwgZGF0YS52YXJp YWJsZXMuZGVsZXRlZCwgb19kYXRhLnByb25hbWVzcGFjZSwgb19kYXRhLnBy b2FyZ3R5cGVuYW1lcykgfX0KK3slIGVuZGlmIC0lfQoreyUgaWYgJ21lcmdl ZF92YXJpYWJsZXMnIGluIGRhdGEgYW5kIGRhdGEubWVyZ2VkX3ZhcmlhYmxl c3xsZW5ndGggPiAwICV9CisKK3t7IFZBUklBQkxFLlNFVChjb25uLCAnRlVO Q1RJT04nLCBuYW1lLCBkYXRhLm1lcmdlZF92YXJpYWJsZXMsIG9fZGF0YS5w cm9uYW1lc3BhY2UsIG9fZGF0YS5wcm9hcmd0eXBlbmFtZXMpIH19Cit7JSBl bmRpZiAtJX0KK3slIGVuZGlmIC0lfQoreyUgZW5kaWYgLSV9Cit7JSBzZXQg c2VjbGFiZWxzID0gZGF0YS5zZWNsYWJlbHMgJX0KK3slIGlmICdkZWxldGVk JyBpbiBzZWNsYWJlbHMgYW5kIHNlY2xhYmVscy5kZWxldGVkfGxlbmd0aCA+ IDAgJX0KK3slIGZvciByIGluIHNlY2xhYmVscy5kZWxldGVkICV9CisKK3t7 IFNFQ0xBQkVMLlVOU0VUKGNvbm4sICdGVU5DVElPTicsIG5hbWUsIHIucHJv dmlkZXIsIG9fZGF0YS5wcm9uYW1lc3BhY2UsIG9fZGF0YS5wcm9hcmd0eXBl bmFtZXMpIH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmIC0lfQoreyUgaWYg J2FkZGVkJyBpbiBzZWNsYWJlbHMgYW5kIHNlY2xhYmVscy5hZGRlZHxsZW5n dGggPiAwICV9Cit7JSBmb3IgciBpbiBzZWNsYWJlbHMuYWRkZWQgJX0KKwor e3sgU0VDTEFCRUwuU0VUKGNvbm4sICdGVU5DVElPTicsIG5hbWUsIHIucHJv dmlkZXIsIHIubGFiZWwsIG9fZGF0YS5wcm9uYW1lc3BhY2UsIG9fZGF0YS5w cm9hcmd0eXBlbmFtZXMpIH19Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmIC0l fQoreyUgaWYgJ2NoYW5nZWQnIGluIHNlY2xhYmVscyBhbmQgc2VjbGFiZWxz LmNoYW5nZWR8bGVuZ3RoID4gMCAlfQoreyUgZm9yIHIgaW4gc2VjbGFiZWxz LmNoYW5nZWQgJX0KKwore3sgU0VDTEFCRUwuU0VUKGNvbm4sICdGVU5DVElP TicsIG5hbWUsIHIucHJvdmlkZXIsIHIubGFiZWwsIG9fZGF0YS5wcm9uYW1l c3BhY2UsIG9fZGF0YS5wcm9hcmd0eXBlbmFtZXMpIH19Cit7JSBlbmRmb3Ig JX0KK3slIGVuZGlmIC0lfQoreyUgaWYgZGF0YS5kZXNjcmlwdGlvbiBpcyBk ZWZpbmVkIGFuZCBkYXRhLmRlc2NyaXB0aW9uICE9IG9fZGF0YS5kZXNjcmlw dGlvbiV9CisKK0NPTU1FTlQgT04gRlVOQ1RJT04ge3sgY29ubnxxdElkZW50 KG9fZGF0YS5wcm9uYW1lc3BhY2UsIG5hbWUpIH19KHt7b19kYXRhLnByb2Fy Z3R5cGVuYW1lcyB9fSkKKyAgICBJUyB7eyBkYXRhLmRlc2NyaXB0aW9ufHF0 TGl0ZXJhbCB9fTsKK3slIGVuZGlmIC0lfQorCit7JSBpZiBkYXRhLnByb25h bWVzcGFjZSAlfQorCitBTFRFUiBGVU5DVElPTiB7eyBjb25ufHF0SWRlbnQo b19kYXRhLnByb25hbWVzcGFjZSwgbmFtZSkgfX0oe3tvX2RhdGEucHJvYXJn dHlwZW5hbWVzIH19KQorICAgIFNFVCBTQ0hFTUEge3sgY29ubnxxdElkZW50 KGRhdGEucHJvbmFtZXNwYWNlKSB9fTsKK3slIGVuZGlmIC0lfQorCit7JSBl bmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25z L3RlbXBsYXRlcy9wcm9jZWR1cmUvcHBhcy9zcWwvOS42X3BsdXMvY3JlYXRl LnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMvcHJv Y2VkdXJlL3BwYXMvc3FsLzkuNl9wbHVzL2NyZWF0ZS5zcWwKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjJkNzc4ZQotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1wbGF0ZXMv cHJvY2VkdXJlL3BwYXMvc3FsLzkuNl9wbHVzL2NyZWF0ZS5zcWwKQEAgLTAs MCArMSw1MCBAQAoreyUgaW1wb3J0ICdtYWNyb3MvZnVuY3Rpb25zL3NlY3Vy aXR5Lm1hY3JvcycgYXMgU0VDTEFCRUwgJX0KK3slIGltcG9ydCAnbWFjcm9z L2Z1bmN0aW9ucy9wcml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxFR0UgJX0K K3slIGltcG9ydCAnbWFjcm9zL2Z1bmN0aW9ucy92YXJpYWJsZS5tYWNyb3Mn IGFzIFZBUklBQkxFICV9Cit7JSBzZXQgaXNfY29sdW1ucyA9IFtdICV9Cit7 JSBpZiBkYXRhICV9Cit7JSBpZiBxdWVyeV9mb3IgPT0gJ3NxbF9wYW5lbCcg YW5kIGZ1bmNfZGVmIGlzIGRlZmluZWQgJX0KK0NSRUFURSBPUiBSRVBMQUNF ICBQUk9DRURVUkUge3tmdW5jX2RlZn19Cit7JSBlbHNlICV9CitDUkVBVEUg T1IgUkVQTEFDRSBQUk9DRURVUkUge3sgY29ubnxxdElkZW50KGRhdGEucHJv bmFtZXNwYWNlLCBkYXRhLm5hbWUpIH19eyUgaWYgZGF0YS5hcmdzIGlzIGRl ZmluZWQgJX0KKyh7JSBmb3IgcCBpbiBkYXRhLmFyZ3MgJX17JSBpZiBwLmFy Z21vZGUgJX17e3AuYXJnbW9kZX19IHslIGVuZGlmICV9eyUgaWYgcC5hcmdu YW1lICV9e3sgY29ubnxxdElkZW50KHAuYXJnbmFtZSl9fSB7JSBlbmRpZiAl fXslIGlmIHAuYXJndHlwZSAlfXt7IGNvbm58cXRUeXBlSWRlbnQocC5hcmd0 eXBlKSB9fXslIGVuZGlmICV9eyUgaWYgcC5hcmdkZWZ2YWwgJX0gREVGQVVM VCB7e3AuYXJnZGVmdmFsfX17JSBlbmRpZiAlfQoreyUgaWYgbm90IGxvb3Au bGFzdCAlfSwgeyUgZW5kaWYgJX0KK3slIGVuZGZvciAtJX0KKyl7JSBlbmRp ZiAlfQoreyUgZW5kaWYgJX0KK3slIGlmIHF1ZXJ5X3R5cGUgIT0gJ2NyZWF0 ZScgJX0KKworICAgIHt7IGRhdGEucHJvdm9sYXRpbGUgfX17JSBpZiBkYXRh LnByb2xlYWtwcm9vZiAlfSBMRUFLUFJPT0YgeyUgZWxpZiBub3QgZGF0YS5w cm9sZWFrcHJvb2YgJX0gTk9UIExFQUtQUk9PRiB7JSBlbmRpZiAlfQoreyUg aWYgZGF0YS5wcm9pc3N0cmljdCAlfVNUUklDVCB7JSBlbmRpZiAlfQoreyUg aWYgZGF0YS5wcm9zZWNkZWYgJX1TRUNVUklUWSBERUZJTkVSIHslIGVuZGlm ICV9Cit7JSBpZiBkYXRhLnByb3BhcmFsbGVsICV9UEFSQUxMRUwgeyUgaWYg ZGF0YS5wcm9wYXJhbGxlbCA9PSAncicgJX1SRVNUUklDVEVEeyUgZWxpZiBk YXRhLnByb3BhcmFsbGVsID09ICdzJyAlfVNBRkV7JSBlbHNlICV9VU5TQUZF eyUgZW5kaWYgJX17JSBlbmRpZiAlfXslIGlmIGRhdGEucHJvY29zdCAlfQor CisgICAgQ09TVCB7e2RhdGEucHJvY29zdH19eyUgZW5kaWYgJX17JSBpZiBk YXRhLnByb3Jvd3MgJX0KKworICAgIFJPV1Mge3tkYXRhLnByb3Jvd3N9fXsl IGVuZGlmIC0lfXslIGlmIGRhdGEudmFyaWFibGVzICV9eyUgZm9yIHYgaW4g ZGF0YS52YXJpYWJsZXMgJX0KKworICAgIFNFVCB7eyBjb25ufHF0SWRlbnQo di5uYW1lKSB9fT17eyB2LnZhbHVlfHF0TGl0ZXJhbCB9fXslIGVuZGZvciAt JX0KK3slIGVuZGlmICV9eyUgZW5kaWYgJX0KKworQVMKK3t7IGRhdGEucHJv c3JjIH19OworeyUgaWYgZGF0YS5hY2wgYW5kIG5vdCBpc19zcWwgJX0KK3sl IGZvciBwIGluIGRhdGEuYWNsICV9CisKK3t7IFBSSVZJTEVHRS5TRVQoY29u biwgIlBST0NFRFVSRSIsIHAuZ3JhbnRlZSwgZGF0YS5uYW1lLCBwLndpdGhv dXRfZ3JhbnQsIHAud2l0aF9ncmFudCwgZGF0YS5wcm9uYW1lc3BhY2UsIGRh dGEuZnVuY19hcmdzX3dpdGhvdXQpfX0KK3slIGVuZGZvciAlfXslIGVuZGlm ICV9Cit7JSBpZiBkYXRhLmRlc2NyaXB0aW9uICV9CisKK0NPTU1FTlQgT04g UFJPQ0VEVVJFIHt7IGNvbm58cXRJZGVudChkYXRhLnByb25hbWVzcGFjZSwg ZGF0YS5uYW1lKSB9fQorICAgIElTIHt7IGRhdGEuZGVzY3JpcHRpb258cXRM aXRlcmFsICB9fTsKK3slIGVuZGlmIC0lfQoreyUgaWYgZGF0YS5zZWNsYWJl bHMgJX0KK3slIGZvciByIGluIGRhdGEuc2VjbGFiZWxzICV9Cit7JSBpZiBy LmxhYmVsIGFuZCByLnByb3ZpZGVyICV9CisKK3t7IFNFQ0xBQkVMLlNFVChj b25uLCAnUFJPQ0VEVVJFJywgZGF0YS5uYW1lLCByLnByb3ZpZGVyLCByLmxh YmVsLCBkYXRhLnByb25hbWVzcGFjZSwgZGF0YS5mdW5jX2FyZ3Nfd2l0aG91 dCkgfX0KK3slIGVuZGlmICV9Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmIC0l fQorCit7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv ZnVuY3Rpb25zL3RlbXBsYXRlcy9wcm9jZWR1cmUvcHBhcy9zcWwvOS42X3Bs dXMvdXBkYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZW1w bGF0ZXMvcHJvY2VkdXJlL3BwYXMvc3FsLzkuNl9wbHVzL3VwZGF0ZS5zcWwK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQyNDY3OAot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90 ZW1wbGF0ZXMvcHJvY2VkdXJlL3BwYXMvc3FsLzkuNl9wbHVzL3VwZGF0ZS5z cWwKQEAgLTAsMCArMSwxMDQgQEAKK3slIGltcG9ydCAnbWFjcm9zL2Z1bmN0 aW9ucy9zZWN1cml0eS5tYWNyb3MnIGFzIFNFQ0xBQkVMICV9Cit7JSBpbXBv cnQgJ21hY3Jvcy9mdW5jdGlvbnMvcHJpdmlsZWdlLm1hY3JvcycgYXMgUFJJ VklMRUdFICV9Cit7JSBpbXBvcnQgJ21hY3Jvcy9mdW5jdGlvbnMvdmFyaWFi bGUubWFjcm9zJyBhcyBWQVJJQUJMRSAlfXslIGlmIGRhdGEgJX0KK3slIHNl dCBuYW1lID0gb19kYXRhLm5hbWUgJX0KK3slIGlmIGRhdGEubmFtZSAlfQor eyUgaWYgZGF0YS5uYW1lICE9IG9fZGF0YS5uYW1lICV9CitBTFRFUiBQUk9D RURVUkUge3sgY29ubnxxdElkZW50KG9fZGF0YS5wcm9uYW1lc3BhY2UsIG9f ZGF0YS5uYW1lKSB9fQorICAgIFJFTkFNRSBUTyB7eyBjb25ufHF0SWRlbnQo ZGF0YS5uYW1lKSB9fTsKK3slIHNldCBuYW1lID0gZGF0YS5uYW1lICV9Cit7 JSBlbmRpZiAlfQoreyUgZW5kaWYgLSV9Cit7JSBpZiBkYXRhLmNoYW5nZV9m dW5jICAlfQorQ1JFQVRFIE9SIFJFUExBQ0UgUFJPQ0VEVVJFIHt7IGNvbm58 cXRJZGVudChvX2RhdGEucHJvbmFtZXNwYWNlLCBuYW1lKSB9fXslIGlmIGRh dGEuYXJndW1lbnRzICV9KHslIGZvciBwIGluIGRhdGEuYXJndW1lbnRzICV9 eyUgaWYgcC5hcmdtb2RlICV9e3twLmFyZ21vZGV9fSB7JSBlbmRpZiAlfXsl IGlmIHAuYXJnbmFtZSAlfXt7IGNvbm58cXRJZGVudChwLmFyZ25hbWUpIH19 IHslIGVuZGlmICV9eyUgaWYgcC5hcmd0eXBlICV9e3sgY29ubnxxdFR5cGVJ ZGVudChwLmFyZ3R5cGUpIH19eyUgZW5kaWYgJX17JSBpZiBwLmFyZ2RlZnZh bCAlfSBERUZBVUxUIHt7cC5hcmdkZWZ2YWx9fXslIGVuZGlmICV9Cit7JSBp ZiBub3QgbG9vcC5sYXN0ICV9LCB7JSBlbmRpZiAlfQoreyUgZW5kZm9yICV9 CispCit7JSBlbmRpZiAlfQorICAgIHslIGlmICgncHJvbGVha3Byb29mJyBp biBkYXRhIGFuZCBkYXRhLnByb2xlYWtwcm9vZikgb3IgKCdwcm9sZWFrcHJv b2YnIG5vdCBpbiBkYXRhIGFuZCBvX2RhdGEucHJvbGVha3Byb29mKSAlfUxF QUtQUk9PRnslIGVsc2UgJX1OT1QgTEVBS1BST09GeyUgZW5kaWYgJX0KK3sl IGlmICgncHJvaXNzdHJpY3QnIGluIGRhdGEgYW5kIGRhdGEucHJvaXNzdHJp Y3QpIG9yICgncHJvaXNzdHJpY3QnIG5vdCBpbiBkYXRhIGFuZCBvX2RhdGEu cHJvaXNzdHJpY3QpICV9IFNUUklDVHslIGVuZGlmICV9Cit7JSBpZiAoJ3By b3NlY2RlZicgaW4gZGF0YSBhbmQgZGF0YS5wcm9zZWNkZWYpIG9yICgncHJv c2VjZGVmJyBub3QgaW4gZGF0YSBhbmQgb19kYXRhLnByb3NlY2RlZikgJX0g U0VDVVJJVFkgREVGSU5FUnslIGVuZGlmICV9CisKKyAgICB7JSBpZiAncHJv cGFyYWxsZWwnIGluIGRhdGEgYW5kIGRhdGEucHJvcGFyYWxsZWwgJX1QQVJB TExFTCB7eyBkYXRhLnByb3BhcmFsbGVsIH19eyUgZWxpZiAncHJvcGFyYWxs ZWwnIG5vdCBpbiBkYXRhIGFuZCBvX2RhdGEucHJvcGFyYWxsZWwgJX1QQVJB TExFTCB7eyBvX2RhdGEucHJvcGFyYWxsZWwgfX17JSBlbmRpZiAlfQorCisg ICAgeyUgaWYgZGF0YS5wcm9jb3N0ICV9Q09TVCB7e2RhdGEucHJvY29zdH19 eyUgZWxpZiBvX2RhdGEucHJvY29zdCAlfUNPU1Qge3tvX2RhdGEucHJvY29z dH19eyUgZW5kaWYgJX17JSBpZiBkYXRhLnByb3Jvd3MgJX0KKworICAgIFJP V1Mge3tkYXRhLnByb3Jvd3N9fXslIGVsaWYgb19kYXRhLnByb3Jvd3MgJX1S T1dTIHt7b19kYXRhLnByb3Jvd3N9fXslIGVuZGlmIC0lfXslIGlmIGRhdGEu bWVyZ2VkX3ZhcmlhYmxlcyAlfXslIGZvciB2IGluIGRhdGEubWVyZ2VkX3Zh cmlhYmxlcyAlfQorCisgICAgU0VUIHt7IGNvbm58cXRJZGVudCh2Lm5hbWUp IH19PXt7IHYudmFsdWV8cXRMaXRlcmFsIH19eyUgZW5kZm9yIC0lfQoreyUg ZW5kaWYgJX0KKworQVMKK3slIGlmIGRhdGEucHJvc3JjICV9e3sgZGF0YS5w cm9zcmMgfX17JSBlbHNlICV9e3sgb19kYXRhLnByb3NyYyB9fXslIGVuZGlm IC0lfTsKK3slIGVuZGlmIC0lfQoreyUgaWYgZGF0YS5mdW5jb3duZXIgJX0K KworQUxURVIgUFJPQ0VEVVJFIHt7IGNvbm58cXRJZGVudChvX2RhdGEucHJv bmFtZXNwYWNlLCBuYW1lKSB9fXslIGlmIG9fZGF0YS5wcm9hcmd0eXBlbmFt ZXMgJX0oe3sgb19kYXRhLnByb2FyZ3R5cGVuYW1lcyB9fSl7JSBlbmRpZiAl fQorICAgIE9XTkVSIFRPIHt7IGRhdGEuZnVuY293bmVyIH19OworeyUgZW5k aWYgLSV9Cit7IyBUaGUgU1FMIGdlbmVyYXRlZCBiZWxvdyB3aWxsIGNoYW5n ZSBwcml2aWxlZGdlcyAjfQoreyUgaWYgZGF0YS5hY2wgJX0KK3slIGlmICdk ZWxldGVkJyBpbiBkYXRhLmFjbCAlfQoreyUgZm9yIHByaXYgaW4gZGF0YS5h Y2wuZGVsZXRlZCAlfQorCit7eyBQUklWSUxFR0UuVU5TRVRBTEwoY29ubiwg J1BST0NFRFVSRScsIHByaXYuZ3JhbnRlZSwgbmFtZSwgb19kYXRhLnByb25h bWVzcGFjZSwgb19kYXRhLnByb2FyZ3R5cGVuYW1lcykgfX0KK3slIGVuZGZv ciAlfQoreyUgZW5kaWYgLSV9Cit7JSBpZiAnY2hhbmdlZCcgaW4gZGF0YS5k YXRhY2wgJX0KK3slIGZvciBwcml2IGluIGRhdGEuYWNsLmNoYW5nZWQgJX0K Kwore3sgUFJJVklMRUdFLlVOU0VUQUxMKGNvbm4sICdQUk9DRURVUkUnLCBw cml2LmdyYW50ZWUsIG5hbWUsIG9fZGF0YS5wcm9uYW1lc3BhY2UsIG9fZGF0 YS5wcm9hcmd0eXBlbmFtZXMpIH19CisKK3t7IFBSSVZJTEVHRS5TRVQoY29u biwgJ1BST0NFRFVSRScsIHByaXYuZ3JhbnRlZSwgbmFtZSwgcHJpdi53aXRo b3V0X2dyYW50LCBwcml2LndpdGhfZ3JhbnQsIG9fZGF0YS5wcm9uYW1lc3Bh Y2UsIG9fZGF0YS5wcm9hcmd0eXBlbmFtZXMpIH19Cit7JSBlbmRmb3IgJX0K K3slIGVuZGlmIC0lfQoreyUgaWYgJ2FkZGVkJyBpbiBkYXRhLmFjbCAlfQor eyUgZm9yIHByaXYgaW4gZGF0YS5hY2wuYWRkZWQgJX0KKwore3sgUFJJVklM RUdFLlNFVChjb25uLCAnUFJPQ0VEVVJFJywgcHJpdi5ncmFudGVlLCBuYW1l LCBwcml2LndpdGhvdXRfZ3JhbnQsIHByaXYud2l0aF9ncmFudCwgb19kYXRh LnByb25hbWVzcGFjZSwgb19kYXRhLnByb2FyZ3R5cGVuYW1lcykgfX0KK3sl IGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGVuZGlmIC0lfQoreyUgaWYg ZGF0YS5jaGFuZ2VfZnVuYyA9PSBGYWxzZSAlfQoreyUgaWYgZGF0YS52YXJp YWJsZXMgJX0KK3slIGlmICdkZWxldGVkJyBpbiBkYXRhLnZhcmlhYmxlcyBh bmQgZGF0YS52YXJpYWJsZXMuZGVsZXRlZHxsZW5ndGggPiAwICV9CisKK3t7 IFZBUklBQkxFLlVOU0VUKGNvbm4sICdQUk9DRURVUkUnLCBuYW1lLCBkYXRh LnZhcmlhYmxlcy5kZWxldGVkLCBvX2RhdGEucHJvbmFtZXNwYWNlLCBvX2Rh dGEucHJvYXJndHlwZW5hbWVzKSB9fQoreyUgZW5kaWYgLSV9Cit7JSBpZiAn bWVyZ2VkX3ZhcmlhYmxlcycgaW4gZGF0YSBhbmQgZGF0YS5tZXJnZWRfdmFy aWFibGVzfGxlbmd0aCA+IDAgJX0KKwore3sgVkFSSUFCTEUuU0VUKGNvbm4s ICdQUk9DRURVUkUnLCBuYW1lLCBkYXRhLm1lcmdlZF92YXJpYWJsZXMsIG9f ZGF0YS5wcm9uYW1lc3BhY2UsIG9fZGF0YS5wcm9hcmd0eXBlbmFtZXMpIH19 Cit7JSBlbmRpZiAtJX0KK3slIGVuZGlmIC0lfQoreyUgZW5kaWYgLSV9Cit7 JSBzZXQgc2VjbGFiZWxzID0gZGF0YS5zZWNsYWJlbHMgJX0KK3slIGlmICdk ZWxldGVkJyBpbiBzZWNsYWJlbHMgYW5kIHNlY2xhYmVscy5kZWxldGVkfGxl bmd0aCA+IDAgJX0KK3slIGZvciByIGluIHNlY2xhYmVscy5kZWxldGVkICV9 CisKK3t7IFNFQ0xBQkVMLlVOU0VUKGNvbm4sICdQUk9DRURVUkUnLCBuYW1l LCByLnByb3ZpZGVyLCBvX2RhdGEucHJvbmFtZXNwYWNlLCBvX2RhdGEucHJv YXJndHlwZW5hbWVzKSB9fQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAtJX0K K3slIGlmICdhZGRlZCcgaW4gc2VjbGFiZWxzIGFuZCBzZWNsYWJlbHMuYWRk ZWR8bGVuZ3RoID4gMCAlfQoreyUgZm9yIHIgaW4gc2VjbGFiZWxzLmFkZGVk ICV9CisKK3t7IFNFQ0xBQkVMLlNFVChjb25uLCAnUFJPQ0VEVVJFJywgbmFt ZSwgci5wcm92aWRlciwgci5sYWJlbCwgb19kYXRhLnByb25hbWVzcGFjZSwg b19kYXRhLnByb2FyZ3R5cGVuYW1lcykgfX0KK3slIGVuZGZvciAlfQoreyUg ZW5kaWYgLSV9Cit7JSBpZiAnY2hhbmdlZCcgaW4gc2VjbGFiZWxzIGFuZCBz ZWNsYWJlbHMuY2hhbmdlZHxsZW5ndGggPiAwICV9Cit7JSBmb3IgciBpbiBz ZWNsYWJlbHMuY2hhbmdlZCAlfQorCit7eyBTRUNMQUJFTC5TRVQoY29ubiwg J1BST0NFRFVSRScsIG5hbWUsIHIucHJvdmlkZXIsIHIubGFiZWwsIG9fZGF0 YS5wcm9uYW1lc3BhY2UsIG9fZGF0YS5wcm9hcmd0eXBlbmFtZXMpIH19Cit7 JSBlbmRmb3IgJX0KK3slIGVuZGlmIC0lfQoreyUgaWYgZGF0YS5kZXNjcmlw dGlvbiBpcyBkZWZpbmVkIGFuZCBkYXRhLmRlc2NyaXB0aW9uICE9IG9fZGF0 YS5kZXNjcmlwdGlvbiV9CisKK0NPTU1FTlQgT04gUFJPQ0VEVVJFIHt7IGNv bm58cXRJZGVudChvX2RhdGEucHJvbmFtZXNwYWNlLCBuYW1lKSB9fQorICAg IElTIHt7IGRhdGEuZGVzY3JpcHRpb258cXRMaXRlcmFsIH19OworeyUgZW5k aWYgLSV9Cit7JSBpZiBkYXRhLnByb25hbWVzcGFjZSAlfQorCitBTFRFUiBQ Uk9DRURVUkUge3sgY29ubnxxdElkZW50KG9fZGF0YS5wcm9uYW1lc3BhY2Us IG5hbWUpIH19CisgICAgU0VUIFNDSEVNQSB7eyBjb25ufHF0SWRlbnQoZGF0 YS5wcm9uYW1lc3BhY2UpIH19OworeyUgZW5kaWYgLSV9CisKK3slIGVuZGlm ICV9Cg== --94eb2c0e79eee33a4d05479f09d5 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 --94eb2c0e79eee33a4d05479f09d5--