Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bpAux-0006Kz-6m for pgadmin-hackers@arkaria.postgresql.org; Wed, 28 Sep 2016 09:12:43 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bpAuw-0000w2-MV for pgadmin-hackers@arkaria.postgresql.org; Wed, 28 Sep 2016 09:12:42 +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 1bpAug-0000h1-6y for pgadmin-hackers@postgresql.org; Wed, 28 Sep 2016 09:12:26 +0000 Received: from mail-qk0-x232.google.com ([2607:f8b0:400d:c09::232]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bpAuc-0006nW-Vu for pgadmin-hackers@postgresql.org; Wed, 28 Sep 2016 09:12:24 +0000 Received: by mail-qk0-x232.google.com with SMTP id j129so33050332qkd.1 for ; Wed, 28 Sep 2016 02:12:22 -0700 (PDT) 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:cc; bh=yzYQ+xyiIXZUb4u23U4J/DoZfj4VQyJ2htZNe+cdNe4=; b=YXpAelq7S4LhHiRVKctkru1zF1RKa9iCMfG1ifGj/xE5VH3Dl/zASHrqcGUbzV263x hw3EPoTQGUg2FOMowFivFWlQJHrtEyaeoy76pulxYBzgF4IO01yhS9D0h2Uep1Vmekoa VpbLgKq6ZfHZLP2TWJp2K/9Sbb0XR4SmtjS3V4riGFhup1CkbggccdMT9mHwaELHTW8U 0lIlZ2mEZ3DPRM/Y+ypbFvENuUgOm+Cy3M/NiknPBz8jTU4hlZpWHl4v/2s3zFzmACx3 l29Nf28pe7t04WH0VNXc7oPlJS4G+kQzmJf4hvwMNmwR4Jp+hXC8sWARMvbhRl2F1LtL waGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=yzYQ+xyiIXZUb4u23U4J/DoZfj4VQyJ2htZNe+cdNe4=; b=l1zJJA9eIr/S9WanqxZkCrNc1d/6s+U7LIIzWdx6c4MIxTHh/2jhe3t4JFLx7JUD8I yvk8Ygo49ZAaU9a7Qa5+3hrGZib7AguLBvhaM/o31k9J3hxmjIIGxkV4hRD+1iy+7KNh 8O2f4f78HQQyU/35V+svCFb19Zj/MjM6zQNqJb6VrumsW8syO1GT1iai8W2d6ydZ4ZA9 /O1qSu1dWB0pfA1yW7O5UxPb05qhJEf7ec086NviCGI6tsE2rv2uNRolyz6WghxZX0rc Oum0YCcOU0b6LVeOLwG9JXk0SKIcuqhjsSqhr+2mCXHk31mk4v57t4bVvtdqXv75a5Py Wiqg== X-Gm-Message-State: AA6/9Rk/TQjIo8aEnzMwiEf83tSJvCPXCc8ewLVRfzDJiNKFCmnjJMuPBAgqZDHN2EFSl5YTfGUyqPkcKaxB2yKj X-Received: by 10.55.143.134 with SMTP id r128mr33229110qkd.161.1475053941979; Wed, 28 Sep 2016 02:12:21 -0700 (PDT) MIME-Version: 1.0 Received: by 10.200.41.114 with HTTP; Wed, 28 Sep 2016 02:12:21 -0700 (PDT) From: Navnath Gadakh Date: Wed, 28 Sep 2016 14:42:21 +0530 Message-ID: Subject: pgAdmin IV: schemas API test cases To: Dave Page Cc: pgadmin-hackers , Kanchan Mohitey Content-Type: multipart/mixed; boundary=94eb2c0834543cc56e053d8dc22d 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 --94eb2c0834543cc56e053d8dc22d Content-Type: multipart/alternative; boundary=94eb2c0834543cc56a053d8dc22b --94eb2c0834543cc56a053d8dc22b Content-Type: text/plain; charset=UTF-8 Hi Dave, Please find the attached patch for Schema node. (Changes required due to drop object's functionality). To run test cases: python regression/runtests.py --pkg browser.server_groups.servers. databases.schemas Thanks. -- Regards, Navnath Gadakh EnterpriseDB Corporation The Enterprise PostgreSQL Company --94eb2c0834543cc56a053d8dc22b Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave,

Please find the attached patch for Schema node. (Changes required du= e to drop=C2=A0object's=C2=A0functionality).

To run=C2=A0test cases= :

python regression/runtests.py --pkg browser.server_groups.servers.d= atabases.schemas

Thanks.

-- =
Regards,
Navnath= Gadakh

EnterpriseDB Corporation
The Enterprise P= ostgreSQL Company


--94eb2c0834543cc56a053d8dc22b-- --94eb2c0834543cc56e053d8dc22d Content-Type: application/octet-stream; name="schemas.patch" Content-Disposition: attachment; filename="schemas.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_itmp0hru0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Rlc3RzL3Rlc3Rfc2NoZW1h X2FkZC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Rlc3RzL3Rlc3Rfc2NoZW1hX2Fk ZC5weQppbmRleCA4ZmQ3MjI2Li5jYjQ1MTU2IDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90ZXN0cy90ZXN0X3NjaGVtYV9hZGQucHkKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGVzdHMvdGVzdF9zY2hlbWFfYWRkLnB5CkBAIC02LDEw ICs2LDExIEBACiAjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIg dGhlIFBvc3RncmVTUUwgTGljZW5jZQogIwogIyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKK2ltcG9ydCBqc29uCiAKIGZyb20gcmVncmVzc2lvbiBpbXBvcnQg dGVzdF91dGlscyBhcyB1dGlscwogZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRl IGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgotZnJvbSBwZ2FkbWluLmJyb3dz ZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLnRlc3RzIGltcG9ydCB1dGlscyBh cyBzZXJ2ZXJfdXRpbHMKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgdGVzdF9z ZXJ2ZXJfZGljdAogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vw cy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgXAog ICAgIGRhdGFiYXNlX3V0aWxzCiBmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIHNj aGVtYV91dGlscwpAQCAtMTcsNDkgKzE4LDI3IEBAIGZyb20gLiBpbXBvcnQg dXRpbHMgYXMgc2NoZW1hX3V0aWxzCiAKIGNsYXNzIFNjaGVtYUFkZFRlc3RD YXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAiIiIgVGhpcyBjbGFzcyB3 aWxsIGFkZCBuZXcgc2NoZW1hIHVuZGVyIGRhdGFiYXNlIG5vZGUuICIiIgot CiAgICAgc2NlbmFyaW9zID0gWwogICAgICAgICAjIEZldGNoaW5nIGRlZmF1 bHQgVVJMIGZvciBzY2hlbWEgbm9kZS4KICAgICAgICAgKCdDaGVjayBTY2hl bWEgTm9kZSBVUkwnLCBkaWN0KHVybD0nL2Jyb3dzZXIvc2NoZW1hL29iai8n KSkKICAgICBdCiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBD bGFzcyhjbHMpOgotICAgICAgICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlv biBwZXJmb3JtIHRoZSB0aHJlZSB0YXNrcwotICAgICAgICAgMS4gQWRkIHRo ZSB0ZXN0IHNlcnZlcgotICAgICAgICAgMi4gQ29ubmVjdCB0byBzZXJ2ZXIK LSAgICAgICAgIDMuIEFkZCB0aGUgZGF0YWJhc2VzCi0KLSAgICAgICAgOnJl dHVybjogTm9uZQotICAgICAgICAiIiIKLQotICAgICAgICAjIEZpcnN0bHks IGFkZCB0aGUgc2VydmVyCi0gICAgICAgIHNlcnZlcl91dGlscy5hZGRfc2Vy dmVyKGNscy50ZXN0ZXIpCi0gICAgICAgICMgQ29ubmVjdCB0byBzZXJ2ZXIK LSAgICAgICAgY2xzLnNlcnZlcl9jb25uZWN0X3Jlc3BvbnNlLCBjbHMuc2Vy dmVyX2dyb3VwLCBjbHMuc2VydmVyX2lkcyA9IFwKLSAgICAgICAgICAgIHNl cnZlcl91dGlscy5jb25uZWN0X3NlcnZlcihjbHMudGVzdGVyKQotICAgICAg ICBpZiBsZW4oY2xzLnNlcnZlcl9jb25uZWN0X3Jlc3BvbnNlKSA9PSAwOgot ICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJObyBTZXJ2ZXIocykgY29u bmVjdGVkIHRvIGFkZCB0aGUgZGF0YWJhc2UhISEiKQotICAgICAgICAjIEFk ZCBkYXRhYmFzZQotICAgICAgICBkYXRhYmFzZV91dGlscy5hZGRfZGF0YWJh c2UoY2xzLnRlc3RlciwgY2xzLnNlcnZlcl9jb25uZWN0X3Jlc3BvbnNlLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzLnNlcnZl cl9pZHMpCi0KICAgICBkZWYgcnVuVGVzdChzZWxmKToKICAgICAgICAgIiIi IFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgc2NoZW1hIHVuZGVyIGRhdGFiYXNl IG5vZGUuICIiIgotCi0gICAgICAgIHNjaGVtYV91dGlscy5hZGRfc2NoZW1h cyhzZWxmLnRlc3RlcikKLQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiB0 ZWFyRG93bkNsYXNzKGNscyk6Ci0gICAgICAgICIiIgotICAgICAgICBUaGlz IGZ1bmN0aW9uIGRlbGV0ZXMgdGhlIGFkZGVkIHNjaGVtYXMsIGRhdGFiYXNl LCBzZXJ2ZXIKLSAgICAgICAgYW5kIHRoZSAncGFyZW50X2lkLnBrbCcgZmls ZSB3aGljaCBpcyBjcmVhdGVkIGluIHNldHVwKCkgZnVuY3Rpb24uCi0KLSAg ICAgICAgOnJldHVybjogTm9uZQotICAgICAgICAiIiIKLQotICAgICAgICBz Y2hlbWFfdXRpbHMuZGVsZXRlX3NjaGVtYShjbHMudGVzdGVyKQotICAgICAg ICBkYXRhYmFzZV91dGlscy5kZWxldGVfZGF0YWJhc2UoY2xzLnRlc3RlcikK LSAgICAgICAgc2VydmVyX3V0aWxzLmRlbGV0ZV9zZXJ2ZXIoY2xzLnRlc3Rl cikKLSAgICAgICAgdXRpbHMuZGVsZXRlX3BhcmVudF9pZF9maWxlKCkKKyAg ICAgICAgZGF0YWJhc2VfaW5mbyA9IHRlc3Rfc2VydmVyX2RpY3RbImRhdGFi YXNlIl1bMF0KKyAgICAgICAgc2VydmVyX2lkID0gZGF0YWJhc2VfaW5mb1si c2VydmVyX2lkIl0KKworICAgICAgICBkYl9pZCA9IGRhdGFiYXNlX2luZm9b ImRiX2lkIl0KKyAgICAgICAgZGJfY29uID0gZGF0YWJhc2VfdXRpbHMudmVy aWZ5X2RhdGFiYXNlKHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1dGlscy5TRVJWRVJfR1JPVVAsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZXJ2ZXJfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkYl9pZCkKKyAgICAgICAgaWYgbm90IGRiX2Nv blsiaW5mbyJdID09ICJEYXRhYmFzZSBjb25uZWN0ZWQuIjoKKyAgICAgICAg ICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGNvbm5lY3QgdG8gZGF0 YWJhc2UgdG8gYWRkIHRoZSBzY2hlbWEuIikKKworICAgICAgICBkYXRhID0g c2NoZW1hX3V0aWxzLmdldF9zY2hlbWFfY29uZmlnX2RhdGEoc2VsZi5zZXJ2 ZXJbInVzZXJuYW1lIl0pCisgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0 ZXIucG9zdChzZWxmLnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsg Jy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSArCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnLycsIGRhdGE9anNvbi5kdW1w cyhkYXRhKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKyAgICAgICAgc2VsZi5hc3Nl cnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3Rlc3RzL3Rlc3Rfc2NoZW1hX2RlbGV0ZS5w eSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3Rlc3RzL3Rlc3Rfc2NoZW1hX2RlbGV0ZS5w eQppbmRleCA5OTVkOGFkLi41M2VkMTM0IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90ZXN0cy90ZXN0X3NjaGVtYV9kZWxldGUucHkKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGVzdHMvdGVzdF9zY2hlbWFfZGVsZXRlLnB5CkBAIC02 LDEwICs2LDExIEBACiAjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5k ZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQogIwogIyAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKK2ltcG9ydCB1dWlkCiAKIGZyb20gcmVncmVzc2lvbiBpbXBv cnQgdGVzdF91dGlscyBhcyB1dGlscworZnJvbSByZWdyZXNzaW9uIGltcG9y dCB0ZXN0X3NlcnZlcl9kaWN0CiBmcm9tIHBnYWRtaW4udXRpbHMucm91dGUg aW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCi1mcm9tIHBnYWRtaW4uYnJvd3Nl ci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMudGVzdHMgaW1wb3J0IHV0aWxzIGFz IHNlcnZlcl91dGlscwogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dy b3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQgdXRpbHMgYXMg XAogICAgIGRhdGFiYXNlX3V0aWxzCiBmcm9tIC4gaW1wb3J0IHV0aWxzIGFz IHNjaGVtYV91dGlscwpAQCAtMjMsNDQgKzI0LDQyIEBAIGNsYXNzIFNjaGVt YURlbGV0ZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAg KCdDaGVjayBTY2hlbWEgTm9kZSBVUkwnLCBkaWN0KHVybD0nL2Jyb3dzZXIv c2NoZW1hL29iai8nKSkKICAgICBdCiAKLSAgICBAY2xhc3NtZXRob2QKLSAg ICBkZWYgc2V0VXBDbGFzcyhjbHMpOgotICAgICAgICAiIiIKLSAgICAgICAg VGhpcyBmdW5jdGlvbiBwZXJmb3JtIHRoZSB0aHJlZSB0YXNrcwotICAgICAg ICAgMS4gQWRkIHRoZSB0ZXN0IHNlcnZlcgotICAgICAgICAgMi4gQ29ubmVj dCB0byBzZXJ2ZXIKLSAgICAgICAgIDMuIEFkZCB0aGUgZGF0YWJhc2VzCi0K LSAgICAgICAgOnJldHVybjogTm9uZQotICAgICAgICAiIiIKLQotICAgICAg ICAjIEZpcnN0bHksIGFkZCB0aGUgc2VydmVyCi0gICAgICAgIHNlcnZlcl91 dGlscy5hZGRfc2VydmVyKGNscy50ZXN0ZXIpCi0gICAgICAgICMgQ29ubmVj dCB0byBzZXJ2ZXIKLSAgICAgICAgY2xzLnNlcnZlcl9jb25uZWN0X3Jlc3Bv bnNlLCBjbHMuc2VydmVyX2dyb3VwLCBjbHMuc2VydmVyX2lkcyA9IFwKLSAg ICAgICAgICAgIHNlcnZlcl91dGlscy5jb25uZWN0X3NlcnZlcihjbHMudGVz dGVyKQotICAgICAgICBpZiBsZW4oY2xzLnNlcnZlcl9jb25uZWN0X3Jlc3Bv bnNlKSA9PSAwOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJObyBT ZXJ2ZXIocykgY29ubmVjdGVkIHRvIGFkZCB0aGUgZGF0YWJhc2UhISEiKQot ICAgICAgICAjIEFkZCBkYXRhYmFzZQotICAgICAgICBkYXRhYmFzZV91dGls cy5hZGRfZGF0YWJhc2UoY2xzLnRlc3RlciwgY2xzLnNlcnZlcl9jb25uZWN0 X3Jlc3BvbnNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY2xzLnNlcnZlcl9pZHMpCi0gICAgICAgICMgQWRkIHNjaGVtYXMKLSAg ICAgICAgc2NoZW1hX3V0aWxzLmFkZF9zY2hlbWFzKGNscy50ZXN0ZXIpCisg ICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzZWxmLmRhdGFiYXNlX2lu Zm8gPSB0ZXN0X3NlcnZlcl9kaWN0WyJkYXRhYmFzZSJdWzBdCisgICAgICAg IHNlbGYuZGJfbmFtZSA9IHNlbGYuZGF0YWJhc2VfaW5mb1siZGJfbmFtZSJd CisgICAgICAgICMgQ2hhbmdlIHRoZSBkYiBuYW1lLCBzbyB0aGF0IHNjaGVt YSB3aWxsIGNyZWF0ZSBpbiBuZXdseSBjcmVhdGVkIGRiCisgICAgICAgIHNl bGYuc2NoZW1hX25hbWUgPSAic2NoZW1hX2dldF8lcyIgJSBzdHIodXVpZC51 dWlkNCgpKVsxOjZdCisgICAgICAgIGNvbm5lY3Rpb24gPSB1dGlscy5nZXRf ZGJfY29ubmVjdGlvbihzZWxmLmRiX25hbWUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsndXNl cm5hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYuc2VydmVyWydkYl9wYXNzd29yZCddLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5z ZXJ2ZXJbJ2hvc3QnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydwb3J0J10pCisgICAgICAg IHNlbGYuc2NoZW1hX2RldGFpbHMgPSBzY2hlbWFfdXRpbHMuY3JlYXRlX3Nj aGVtYShjb25uZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zY2hlbWFfbmFt ZSkKIAogICAgIGRlZiBydW5UZXN0KHNlbGYpOgogICAgICAgICAiIiIgVGhp cyBmdW5jdGlvbiB3aWxsIGRlbGV0ZSBzY2hlbWEgdW5kZXIgZGF0YWJhc2Ug bm9kZS4gIiIiCisgICAgICAgIHNlcnZlcl9pZCA9IHNlbGYuZGF0YWJhc2Vf aW5mb1sic2VydmVyX2lkIl0KKyAgICAgICAgZGJfaWQgPSBzZWxmLmRhdGFi YXNlX2luZm9bImRiX2lkIl0KKyAgICAgICAgZGJfY29uID0gZGF0YWJhc2Vf dXRpbHMudmVyaWZ5X2RhdGFiYXNlKHNlbGYsIHV0aWxzLlNFUlZFUl9HUk9V UCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlcnZlcl9pZCwgZGJfaWQpCisgICAgICAgIGlmIG5vdCBkYl9j b25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisgICAgICAgICAgICByYWlzZSBF eGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlIHRvIGRl bGV0ZSB0aGUiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBzY2hl bWEuIikKIAotICAgICAgICBzY2hlbWFfdXRpbHMuZGVsZXRlX3NjaGVtYShz ZWxmLnRlc3RlcikKLQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiB0ZWFy RG93bkNsYXNzKGNscyk6Ci0gICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1 bmN0aW9uIGRlbGV0ZXMgdGhlIGFkZGVkIHNjaGVtYXMsIGRhdGFiYXNlLCBz ZXJ2ZXIKLSAgICAgICAgYW5kIHRoZSAncGFyZW50X2lkLnBrbCcgZmlsZSB3 aGljaCBpcyBjcmVhdGVkIGluIHNldHVwKCkgZnVuY3Rpb24uCisgICAgICAg IHNjaGVtYV9pZCA9IHNlbGYuc2NoZW1hX2RldGFpbHNbMF0KKyAgICAgICAg c2NoZW1hX25hbWUgPSBzZWxmLnNjaGVtYV9kZXRhaWxzWzFdCisgICAgICAg IHNjaGVtYV9yZXNwb25zZSA9IHNjaGVtYV91dGlscy52ZXJpZnlfc2NoZW1h cyhzZWxmLnNlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGJfbmFtZSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNjaGVtYV9uYW1lKQorICAgICAgICBpZiBub3Qgc2NoZW1hX3Jlc3Bv bnNlOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3Qg ZmluZCB0aGUgc2NoZW1hIHRvIGRlbGV0ZS4iKQogCi0gICAgICAgIDpyZXR1 cm46IE5vbmUKLSAgICAgICAgIiIiCisgICAgICAgIHJlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIuZGVsZXRlKHNlbGYudXJsICsgc3RyKHV0aWxzLlNFUlZFUl9H Uk9VUCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KyAnLycgKyBzdHIoc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihkYl9pZCkgKyAnLycgKyBz dHIoc2NoZW1hX2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQorICAgICAgICBzZWxm LmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQogCi0g ICAgICAgIGRhdGFiYXNlX3V0aWxzLmRlbGV0ZV9kYXRhYmFzZShjbHMudGVz dGVyKQotICAgICAgICBzZXJ2ZXJfdXRpbHMuZGVsZXRlX3NlcnZlcihjbHMu dGVzdGVyKQotICAgICAgICB1dGlscy5kZWxldGVfcGFyZW50X2lkX2ZpbGUo KQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKyAgICBkZWYgdGVhckRv d24oc2VsZik6CisgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3Rlc3RzL3Rlc3Rfc2NoZW1hX2dldC5weSBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3Rlc3RzL3Rlc3Rfc2NoZW1hX2dldC5weQppbmRleCBjNzA0ODJiLi4w NWFmNDNiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90ZXN0cy90ZXN0 X3NjaGVtYV9nZXQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGVzdHMvdGVz dF9zY2hlbWFfZ2V0LnB5CkBAIC02LDc3ICs2LDQ1IEBACiAjIFRoaXMgc29m dHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5j ZQogIwogIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLQogZnJvbSByZWdyZXNz aW9uIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9tIHJlZ3Jlc3Np b24gaW1wb3J0IHRlc3Rfc2VydmVyX2RpY3QKIGZyb20gcGdhZG1pbi51dGls cy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKIGZyb20gcGdhZG1p bi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy50ZXN0cyBpbXBvcnQg dXRpbHMgYXMgc2VydmVyX3V0aWxzCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5z ZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCB1 dGlscyBhcyBcCiAgICAgZGF0YWJhc2VfdXRpbHMKLWZyb20gLiBpbXBvcnQg dXRpbHMgYXMgc2NoZW1hX3V0aWxzCiAKIAogY2xhc3MgU2NoZW1hR2V0VGVz dENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICIiIiBUaGlzIGNsYXNz IHdpbGwgYWRkIG5ldyBzY2hlbWEgdW5kZXIgZGF0YWJhc2Ugbm9kZS4gIiIi Ci0KICAgICBzY2VuYXJpb3MgPSBbCiAgICAgICAgICMgRmV0Y2hpbmcgZGVm YXVsdCBVUkwgZm9yIGV4dGVuc2lvbiBub2RlLgogICAgICAgICAoJ0NoZWNr IFNjaGVtYSBOb2RlIFVSTCcsIGRpY3QodXJsPScvYnJvd3Nlci9zY2hlbWEv b2JqLycpKQogICAgIF0KIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBz ZXRVcENsYXNzKGNscyk6Ci0gICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1 bmN0aW9uIHBlcmZvcm0gdGhlIHRocmVlIHRhc2tzCi0gICAgICAgICAxLiBB ZGQgdGhlIHRlc3Qgc2VydmVyCi0gICAgICAgICAyLiBDb25uZWN0IHRvIHNl cnZlcgotICAgICAgICAgMy4gQWRkIHRoZSBkYXRhYmFzZXMKLQotICAgICAg ICA6cmV0dXJuOiBOb25lCi0gICAgICAgICIiIgotCi0gICAgICAgICMgRmly c3RseSwgYWRkIHRoZSBzZXJ2ZXIKLSAgICAgICAgc2VydmVyX3V0aWxzLmFk ZF9zZXJ2ZXIoY2xzLnRlc3RlcikKLSAgICAgICAgIyBDb25uZWN0IHRvIHNl cnZlcgotICAgICAgICBjbHMuc2VydmVyX2Nvbm5lY3RfcmVzcG9uc2UsIGNs cy5zZXJ2ZXJfZ3JvdXAsIGNscy5zZXJ2ZXJfaWRzID0gXAotICAgICAgICAg ICAgc2VydmVyX3V0aWxzLmNvbm5lY3Rfc2VydmVyKGNscy50ZXN0ZXIpCi0g ICAgICAgIGlmIGxlbihjbHMuc2VydmVyX2Nvbm5lY3RfcmVzcG9uc2UpID09 IDA6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIFNlcnZlcihz KSBjb25uZWN0ZWQgdG8gYWRkIHRoZSBkYXRhYmFzZSEhISIpCi0gICAgICAg ICMgQWRkIGRhdGFiYXNlCi0gICAgICAgIGRhdGFiYXNlX3V0aWxzLmFkZF9k YXRhYmFzZShjbHMudGVzdGVyLCBjbHMuc2VydmVyX2Nvbm5lY3RfcmVzcG9u c2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHMu c2VydmVyX2lkcykKLSAgICAgICAgIyBBZGQgc2NoZW1hcwotICAgICAgICBz Y2hlbWFfdXRpbHMuYWRkX3NjaGVtYXMoY2xzLnRlc3RlcikKLQogICAgIGRl ZiBydW5UZXN0KHNlbGYpOgogICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3 aWxsIGRlbGV0ZSBzY2hlbWEgdW5kZXIgZGF0YWJhc2Ugbm9kZS4gIiIiCi0K LSAgICAgICAgYWxsX2lkID0gdXRpbHMuZ2V0X2lkcygpCi0gICAgICAgIHNl cnZlcl9pZHMgPSBhbGxfaWRbInNpZCJdCi0gICAgICAgIGRiX2lkc19kaWN0 ID0gYWxsX2lkWyJkaWQiXVswXQotICAgICAgICBzY2hlbWFfaWRzX2RpY3Qg PSBhbGxfaWRbInNjaWQiXVswXQotCi0gICAgICAgIGZvciBzZXJ2ZXJfaWQg aW4gc2VydmVyX2lkczoKLSAgICAgICAgICAgIGRiX2lkID0gZGJfaWRzX2Rp Y3RbaW50KHNlcnZlcl9pZCldCi0gICAgICAgICAgICBkYl9jb24gPSBkYXRh YmFzZV91dGlscy52ZXJpZnlfZGF0YWJhc2Uoc2VsZi50ZXN0ZXIsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdXRpbHMuU0VSVkVSX0dST1VQLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9pZCwgZGJf aWQpCi0gICAgICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVk Il06Ci0gICAgICAgICAgICAgICAgc2NoZW1hX2lkID0gc2NoZW1hX2lkc19k aWN0W2ludChzZXJ2ZXJfaWQpXVswXQotICAgICAgICAgICAgICAgIHNjaGVt YV9yZXNwb25zZSA9IHNjaGVtYV91dGlscy52ZXJpZnlfc2NoZW1hcyhzZWxm LnRlc3RlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2lkLCBkYl9pZCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2NoZW1hX2lkKQotICAgICAgICAgICAgICAg IHNlbGYuYXNzZXJ0VHJ1ZShzY2hlbWFfcmVzcG9uc2Uuc3RhdHVzX2NvZGUs IDIwMCkKLQotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiB0ZWFyRG93bkNs YXNzKGNscyk6Ci0gICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9u IGRlbGV0ZXMgdGhlIGFkZGVkIHNjaGVtYXMsIGRhdGFiYXNlLCBzZXJ2ZXIK LSAgICAgICAgYW5kIHRoZSAncGFyZW50X2lkLnBrbCcgZmlsZSB3aGljaCBp cyBjcmVhdGVkIGluIHNldHVwKCkgZnVuY3Rpb24uCi0KLSAgICAgICAgOnJl dHVybjogTm9uZQotICAgICAgICAiIiIKLQotICAgICAgICBzY2hlbWFfdXRp bHMuZGVsZXRlX3NjaGVtYShjbHMudGVzdGVyKQotICAgICAgICBkYXRhYmFz ZV91dGlscy5kZWxldGVfZGF0YWJhc2UoY2xzLnRlc3RlcikKLSAgICAgICAg c2VydmVyX3V0aWxzLmRlbGV0ZV9zZXJ2ZXIoY2xzLnRlc3RlcikKLSAgICAg ICAgdXRpbHMuZGVsZXRlX3BhcmVudF9pZF9maWxlKCkKKyAgICAgICAgc2No ZW1hID0gdGVzdF9zZXJ2ZXJfZGljdFsic2NoZW1hIl1bMF0KKyAgICAgICAg ZGJfaWQgPSBzY2hlbWFbImRiX2lkIl0KKyAgICAgICAgc2VydmVyX2lkID0g c2NoZW1hWyJzZXJ2ZXJfaWQiXQorCisgICAgICAgIHNlcnZlcl9yZXNwb25z ZSA9IHNlcnZlcl91dGlscy5jb25uZWN0X3NlcnZlcihzZWxmLCBzZXJ2ZXJf aWQpCisgICAgICAgIGlmIG5vdCBzZXJ2ZXJfcmVzcG9uc2VbImRhdGEiXVsi Y29ubmVjdGVkIl06CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNv dWxkIG5vdCBjb25uZWN0IHRvIHNlcnZlciB0byBjb25uZWN0IHRoZSIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiIGRhdGFiYXNlLiIpCisKKyAg ICAgICAgZGJfY29uID0gZGF0YWJhc2VfdXRpbHMudmVyaWZ5X2RhdGFiYXNl KHNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaWQs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkYl9pZCkKKyAgICAgICAgaWYgbm90IGRiX2NvblsiaW5mbyJdID09 ICJEYXRhYmFzZSBjb25uZWN0ZWQuIjoKKyAgICAgICAgICAgIHJhaXNlIEV4 Y2VwdGlvbigiQ291bGQgbm90IGNvbm5lY3QgdG8gZGF0YWJhc2UgdG8gZ2V0 IHRoZSBzY2hlbWEuIikKKworICAgICAgICBzY2hlbWFfaWQgPSBzY2hlbWFb InNjaGVtYV9pZCJdCisgICAgICAgIHNjaGVtYV9yZXNwb25zZSA9IHNlbGYu dGVzdGVyLmdldCgKKyAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHV0aWxz LlNFUlZFUl9HUk9VUCkgKyAnLycgKworICAgICAgICAgICAgc3RyKHNlcnZl cl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAgICAgICAgICcvJyAr IHN0cihzY2hlbWFfaWQpLAorICAgICAgICAgICAgY29udGVudF90eXBlPSdo dG1sL2pzb24nKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhzY2hlbWFf cmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKyAgICAgICAgIyBEaXNjb25u ZWN0IHRoZSBkYXRhYmFzZQorICAgICAgICBkYXRhYmFzZV91dGlscy5kaXNj b25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlcnZlcl9pZCwgZGJfaWQpCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy90ZXN0cy90ZXN0X3NjaGVtYV9wdXQu cHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90ZXN0cy90ZXN0X3NjaGVtYV9wdXQucHkK aW5kZXggZDNkNGJmZC4uYTQzMTJkNiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGVzdHMvdGVzdF9zY2hlbWFfcHV0LnB5CisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3Rlc3RzL3Rlc3Rfc2NoZW1hX3B1dC5weQpAQCAtNiwxMDcgKzYs MTMzIEBACiAjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhl IFBvc3RncmVTUUwgTGljZW5jZQogIwogIyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKLQogaW1wb3J0IGpzb24KK2ltcG9ydCB1dWlkCiAKIGZyb20gcmVncmVz c2lvbiBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworZnJvbSByZWdyZXNz aW9uIGltcG9ydCB0ZXN0X3NlcnZlcl9kaWN0CiBmcm9tIHBnYWRtaW4udXRp bHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCi1mcm9tIHBnYWRt aW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMudGVzdHMgaW1wb3J0 IHV0aWxzIGFzIHNlcnZlcl91dGlscwogZnJvbSBwZ2FkbWluLmJyb3dzZXIu c2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBpbXBvcnQg dXRpbHMgYXMgXAogICAgIGRhdGFiYXNlX3V0aWxzCi1mcm9tIHJlZ3Jlc3Np b24udGVzdF9zZXR1cCBpbXBvcnQgYWR2YW5jZWRfY29uZmlnX2RhdGEKIGZy b20gLiBpbXBvcnQgdXRpbHMgYXMgc2NoZW1hX3V0aWxzCiAKIAogY2xhc3Mg U2NoZW1hUHV0VGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICIi IiBUaGlzIGNsYXNzIHdpbGwgdXBkYXRlIHRoZSBzY2hlbWEgdW5kZXIgZGF0 YWJhc2Ugbm9kZS4gIiIiCi0KICAgICBzY2VuYXJpb3MgPSBbCiAgICAgICAg ICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIGV4dGVuc2lvbiBub2RlLgog ICAgICAgICAoJ0NoZWNrIFNjaGVtYSBOb2RlIFVSTCcsIGRpY3QodXJsPScv YnJvd3Nlci9zY2hlbWEvb2JqLycpKQogICAgIF0KIAotICAgIEBjbGFzc21l dGhvZAotICAgIGRlZiBzZXRVcENsYXNzKGNscyk6Ci0gICAgICAgICIiIgot ICAgICAgICBUaGlzIGZ1bmN0aW9uIHBlcmZvcm0gdGhlIHRocmVlIHRhc2tz Ci0gICAgICAgICAxLiBBZGQgdGhlIHRlc3Qgc2VydmVyCi0gICAgICAgICAy LiBDb25uZWN0IHRvIHNlcnZlcgotICAgICAgICAgMy4gQWRkIHRoZSBkYXRh YmFzZXMKLQotICAgICAgICA6cmV0dXJuOiBOb25lCi0gICAgICAgICIiIgot Ci0gICAgICAgICMgRmlyc3RseSwgYWRkIHRoZSBzZXJ2ZXIKLSAgICAgICAg c2VydmVyX3V0aWxzLmFkZF9zZXJ2ZXIoY2xzLnRlc3RlcikKLSAgICAgICAg IyBDb25uZWN0IHRvIHNlcnZlcgotICAgICAgICBjbHMuc2VydmVyX2Nvbm5l Y3RfcmVzcG9uc2UsIGNscy5zZXJ2ZXJfZ3JvdXAsIGNscy5zZXJ2ZXJfaWRz ID0gXAotICAgICAgICAgICAgc2VydmVyX3V0aWxzLmNvbm5lY3Rfc2VydmVy KGNscy50ZXN0ZXIpCi0gICAgICAgIGlmIGxlbihjbHMuc2VydmVyX2Nvbm5l Y3RfcmVzcG9uc2UpID09IDA6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRp b24oIk5vIFNlcnZlcihzKSBjb25uZWN0ZWQgdG8gYWRkIHRoZSBkYXRhYmFz ZSEhISIpCi0gICAgICAgICMgQWRkIGRhdGFiYXNlCi0gICAgICAgIGRhdGFi YXNlX3V0aWxzLmFkZF9kYXRhYmFzZShjbHMudGVzdGVyLCBjbHMuc2VydmVy X2Nvbm5lY3RfcmVzcG9uc2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjbHMuc2VydmVyX2lkcykKLSAgICAgICAgIyBBZGQgc2No ZW1hcwotICAgICAgICBzY2hlbWFfdXRpbHMuYWRkX3NjaGVtYXMoY2xzLnRl c3RlcikKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHNlbGYuZGF0 YWJhc2VfaW5mbyA9IHRlc3Rfc2VydmVyX2RpY3RbImRhdGFiYXNlIl1bMF0K KyAgICAgICAgc2VsZi5kYl9uYW1lID0gc2VsZi5kYXRhYmFzZV9pbmZvWyJk Yl9uYW1lIl0KKyAgICAgICAgIyBDaGFuZ2UgdGhlIGRiIG5hbWUsIHNvIHRo YXQgc2NoZW1hIHdpbGwgY3JlYXRlIGluIG5ld2x5IGNyZWF0ZWQgZGIKKyAg ICAgICAgc2VsZi5zY2hlbWFfbmFtZSA9ICJzY2hlbWFfZ2V0XyVzIiAlIHN0 cih1dWlkLnV1aWQ0KCkpWzE6Nl0KKyAgICAgICAgY29ubmVjdGlvbiA9IHV0 aWxzLmdldF9kYl9jb25uZWN0aW9uKHNlbGYuZGJfbmFtZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2Vy dmVyWyd1c2VybmFtZSddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLnNlcnZlclsnaG9zdCddLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3BvcnQnXSkK KyAgICAgICAgc2VsZi5zY2hlbWFfZGV0YWlscyA9IHNjaGVtYV91dGlscy5j cmVhdGVfc2NoZW1hKGNvbm5lY3Rpb24sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNj aGVtYV9uYW1lKQogCiAgICAgZGVmIHJ1blRlc3Qoc2VsZik6CiAgICAgICAg ICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgZGVsZXRlIHNjaGVtYSB1bmRlciBk YXRhYmFzZSBub2RlLiAiIiIKIAotICAgICAgICBhbGxfaWQgPSB1dGlscy5n ZXRfaWRzKCkKLSAgICAgICAgZGJfaWRzX2RpY3QgPSBhbGxfaWRbImRpZCJd WzBdCi0gICAgICAgIHNjaGVtYV9pZHNfZGljdCA9IGFsbF9pZFsic2NpZCJd WzBdCi0KLSAgICAgICAgZm9yIHNlcnZlcl9jb25uZWN0X2RhdGEsIHNlcnZl cl9pZCBpbiB6aXAoc2VsZi5zZXJ2ZXJfY29ubmVjdF9yZXNwb25zZSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl bGYuc2VydmVyX2lkcyk6Ci0gICAgICAgICAgICBkYl9pZCA9IGRiX2lkc19k aWN0W2ludChzZXJ2ZXJfaWQpXQotICAgICAgICAgICAgZGJfY29uID0gZGF0 YWJhc2VfdXRpbHMudmVyaWZ5X2RhdGFiYXNlKHNlbGYudGVzdGVyLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHV0aWxzLlNFUlZFUl9HUk9VUCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaWQsIGRi X2lkKQotICAgICAgICAgICAgaWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3Rl ZCJdOgotICAgICAgICAgICAgICAgIHNjaGVtYV9pZCA9IHNjaGVtYV9pZHNf ZGljdFtpbnQoc2VydmVyX2lkKV1bMF0KLSAgICAgICAgICAgICAgICBzY2hl bWFfcmVzcG9uc2UgPSBzY2hlbWFfdXRpbHMudmVyaWZ5X3NjaGVtYXMoc2Vs Zi50ZXN0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9pZCwgZGJfaWQs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNjaGVtYV9pZCkKLSAgICAgICAgICAgICAg ICBzY2hlbWFfcmVzcG9uc2UgPSBqc29uLmxvYWRzKAotICAgICAgICAgICAg ICAgICAgICBzY2hlbWFfcmVzcG9uc2UuZGF0YS5kZWNvZGUoJ3V0Zi04Jykp Ci0gICAgICAgICAgICAgICAgaWYgbm90IHNjaGVtYV9yZXNwb25zZToKLSAg ICAgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJObyBzY2hlbWEo cykgdG8gdXBkYXRlLiIpCi0KLSAgICAgICAgICAgICAgICBhZHZfY29uZmln X2RhdGEgPSBOb25lCi0gICAgICAgICAgICAgICAgZGF0YSA9IE5vbmUKLSAg ICAgICAgICAgICAgICBkYl91c2VyID0gc2VydmVyX2Nvbm5lY3RfZGF0YVsn ZGF0YSddWyd1c2VyJ11bJ25hbWUnXQotICAgICAgICAgICAgICAgICMgR2V0 IHRoZSBjb25maWcgZGF0YSBvZiBhcHByb3ByaWF0ZSBkYiB1c2VyCi0gICAg ICAgICAgICAgICAgZm9yIGNvbmZpZ190ZXN0X2RhdGEgaW4gYWR2YW5jZWRf Y29uZmlnX2RhdGFbJ3NjaGVtYV91cGRhdGVfZGF0YSddOgotICAgICAgICAg ICAgICAgICAgICBpZiBkYl91c2VyID09IGNvbmZpZ190ZXN0X2RhdGFbJ293 bmVyJ106Ci0gICAgICAgICAgICAgICAgICAgICAgICBhZHZfY29uZmlnX2Rh dGEgPSBjb25maWdfdGVzdF9kYXRhCi0KLSAgICAgICAgICAgICAgICBpZiBh ZHZfY29uZmlnX2RhdGEgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAg ICAgIGRhdGEgPSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAiZGVmZnVu Y2FjbCI6IGFkdl9jb25maWdfZGF0YVsiZnVuY19hY2wiXSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICJkZWZzZXFhY2wiOiBhZHZfY29uZmlnX2RhdGFb InNlcV9hY2wiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICJkZWZ0Ymxh Y2wiOiBhZHZfY29uZmlnX2RhdGFbInRibF9hY2wiXSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICJpZCI6IHNjaGVtYV9pZAotICAgICAgICAgICAgICAg ICAgICB9Ci0gICAgICAgICAgICAgICAgcHV0X3Jlc3BvbnNlID0gc2VsZi50 ZXN0ZXIucHV0KAotICAgICAgICAgICAgICAgICAgICBzZWxmLnVybCArIHN0 cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsgc3RyKHNlcnZlcl9pZCkg KwotICAgICAgICAgICAgICAgICAgICAnLycgKyBzdHIoZGJfaWQpICsgJy8n ICsgc3RyKHNjaGVtYV9pZCksCi0gICAgICAgICAgICAgICAgICAgIGRhdGE9 anNvbi5kdW1wcyhkYXRhKSwgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQotCi0g ICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocHV0X3Jlc3BvbnNl LnN0YXR1c19jb2RlLCAyMDApCi0gICAgICAgICAgICAgICAgcmVzcG9uc2Vf ZGF0YSA9IGpzb24ubG9hZHMocHV0X3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCd1 dGYtOCcpKQotICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNw b25zZV9kYXRhWydzdWNjZXNzJ10sIDEpCi0KLSAgICBAY2xhc3NtZXRob2QK LSAgICBkZWYgdGVhckRvd25DbGFzcyhjbHMpOgotICAgICAgICAiIiIKLSAg ICAgICAgVGhpcyBmdW5jdGlvbiBkZWxldGVzIHRoZSBhZGRlZCBzY2hlbWFz LCBkYXRhYmFzZSwgc2VydmVyCi0gICAgICAgIGFuZCB0aGUgJ3BhcmVudF9p ZC5wa2wnIGZpbGUgd2hpY2ggaXMgY3JlYXRlZCBpbiBzZXR1cCgpIGZ1bmN0 aW9uLgotCi0gICAgICAgIDpyZXR1cm46IE5vbmUKLSAgICAgICAgIiIiCi0K LSAgICAgICAgc2NoZW1hX3V0aWxzLmRlbGV0ZV9zY2hlbWEoY2xzLnRlc3Rl cikKLSAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGVsZXRlX2RhdGFiYXNlKGNs cy50ZXN0ZXIpCi0gICAgICAgIHNlcnZlcl91dGlscy5kZWxldGVfc2VydmVy KGNscy50ZXN0ZXIpCi0gICAgICAgIHV0aWxzLmRlbGV0ZV9wYXJlbnRfaWRf ZmlsZSgpCisgICAgICAgIHNlcnZlcl9pZCA9IHNlbGYuZGF0YWJhc2VfaW5m b1sic2VydmVyX2lkIl0KKyAgICAgICAgZGJfaWQgPSBzZWxmLmRhdGFiYXNl X2luZm9bImRiX2lkIl0KKyAgICAgICAgZGJfY29uID0gZGF0YWJhc2VfdXRp bHMudmVyaWZ5X2RhdGFiYXNlKHNlbGYsIHV0aWxzLlNFUlZFUl9HUk9VUCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZXJ2ZXJfaWQsIGRiX2lkKQorICAgICAgICBpZiBub3QgZGJfY29u WydkYXRhJ11bImNvbm5lY3RlZCJdOgorICAgICAgICAgICAgcmFpc2UgRXhj ZXB0aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBkZWxl dGUgdGhlIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgc2NoZW1h LiIpCisgICAgICAgIHNjaGVtYV9pZCA9IHNlbGYuc2NoZW1hX2RldGFpbHNb MF0KKyAgICAgICAgc2NoZW1hX25hbWUgPSBzZWxmLnNjaGVtYV9kZXRhaWxz WzFdCisgICAgICAgIHNjaGVtYV9yZXNwb25zZSA9IHNjaGVtYV91dGlscy52 ZXJpZnlfc2NoZW1hcyhzZWxmLnNlcnZlciwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGJf bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNjaGVtYV9uYW1lKQorICAgICAgICBpZiBub3Qg c2NoZW1hX3Jlc3BvbnNlOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9u KCJDb3VsZCBub3QgZmluZCB0aGUgc2NoZW1hIHRvIHVwZGF0ZS4iKQorCisg ICAgICAgIGRiX3VzZXIgPSBzZWxmLnNlcnZlclsidXNlcm5hbWUiXQorICAg ICAgICBkYXRhID0geworICAgICAgICAgICAgImRlZmZ1bmNhY2wiOiB7Cisg ICAgICAgICAgICAgICAgImFkZGVkIjoKKyAgICAgICAgICAgICAgICAgICAg WworICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJncmFudGVlIjogZGJfdXNlciwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiZ3JhbnRvciI6IGRiX3VzZXIsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgInByaXZpbGVnZXMiOgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogIlgiLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2Ui OiBUcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJ3aXRoX2dyYW50IjogVHJ1ZQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBdCisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg ICAgICAgICAgIF0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICAiZGVm c2VxYWNsIjogeworICAgICAgICAgICAgICAgICJhZGRlZCI6CisgICAgICAg ICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3JhbnRlZSI6IGRiX3VzZXIs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyYW50b3IiOiBkYl91 c2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2Vz IjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6 ICJyIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAicHJpdmlsZWdlIjogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAid2l0aF9ncmFudCI6IEZhbHNlCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6ICJ3IiwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJp dmlsZWdlIjogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAid2l0aF9ncmFudCI6IEZhbHNlCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6ICJVIiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJpdmlsZWdl IjogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAid2l0aF9ncmFudCI6IEZhbHNlCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgICAgICAgICAgXQorICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICJk ZWZ0YmxhY2wiOiB7CisgICAgICAgICAgICAgICAgImFkZGVkIjoKKyAgICAg ICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICAgICAgewor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJncmFudGVlIjogInB1Ymxp YyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImdyYW50b3IiOiBk Yl91c2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxl Z2VzIjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2VfdHlw ZSI6ICJEIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAicHJpdmlsZWdlIjogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAid2l0aF9ncmFudCI6IEZhbHNlCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6ICJ4 IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi cHJpdmlsZWdlIjogVHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAid2l0aF9ncmFudCI6IEZhbHNlCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0K KyAgICAgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgfSwKKyAgICAg ICAgICAgICJpZCI6IHNjaGVtYV9pZAorICAgICAgICB9CisgICAgICAgIHB1 dF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLnB1dCgKKyAgICAgICAgICAgIHNl bGYudXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAnLycgKyBzdHIo c2VydmVyX2lkKSArCisgICAgICAgICAgICAnLycgKyBzdHIoZGJfaWQpICsg Jy8nICsgc3RyKHNjaGVtYV9pZCksCisgICAgICAgICAgICBkYXRhPWpzb24u ZHVtcHMoZGF0YSksIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKworICAgICAg ICBzZWxmLmFzc2VydEVxdWFscyhwdXRfcmVzcG9uc2Uuc3RhdHVzX2NvZGUs IDIwMCkKKyAgICAgICAgIyBEaXNjb25uZWN0IHRoZSBkYXRhYmFzZQorICAg ICAgICBkYXRhYmFzZV91dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKHNlbGYs IHNlcnZlcl9pZCwgZGJfaWQpCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6 CisgICAgICAgIHBhc3MKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Rl c3RzL3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGVzdHMvdXRpbHMucHkK aW5kZXggNGY5MTQ4NC4uY2M2ZjZiNSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGVzdHMvdXRpbHMucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGVz dHMvdXRpbHMucHkKQEAgLTYsMTMgKzYsMTUgQEAKICMgVGhpcyBzb2Z0d2Fy ZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCiAj CiAjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworZnJvbSBfX2Z1dHVyZV9fIGlt cG9ydCBwcmludF9mdW5jdGlvbgogCiBpbXBvcnQganNvbgogaW1wb3J0IG9z CitpbXBvcnQgc3lzCiBpbXBvcnQgcGlja2xlCiBpbXBvcnQgdXVpZAoraW1w b3J0IHRyYWNlYmFjawogCi1mcm9tIHJlZ3Jlc3Npb24udGVzdF9zZXR1cCBp bXBvcnQgcGlja2xlX3BhdGgsIGFkdmFuY2VkX2NvbmZpZ19kYXRhCiBmcm9t IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMudGVzdHMg aW1wb3J0IHV0aWxzIGFzIHNlcnZlcl91dGlscwogZnJvbSBwZ2FkbWluLmJy b3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy50ZXN0cyBp bXBvcnQgdXRpbHMgYXMgXAogICAgIGRhdGFiYXNlX3V0aWxzCkBAIC0yMCwx MDIgKzIyLDc3IEBAIGZyb20gcmVncmVzc2lvbiBpbXBvcnQgdGVzdF91dGls cyBhcyB1dGlscwogCiBTQ0hFTUFfVVJMID0gJy9icm93c2VyL3NjaGVtYS9v YmovJwogU0NIRU1BX0RFTEVURV9VUkwgPSAnL2Jyb3dzZXIvc2NoZW1hL2Rl bGV0ZS8nCitmaWxlX25hbWUgPSBvcy5wYXRoLnJlYWxwYXRoKF9fZmlsZV9f KQogCiAKLWRlZiBnZXRfc2NoZW1hX2NvbmZpZ19kYXRhKHNlcnZlcl9jb25u ZWN0X3Jlc3BvbnNlKToKK2RlZiBnZXRfc2NoZW1hX2NvbmZpZ19kYXRhKGRi X3VzZXIpOgogICAgICIiIlRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBnZXQg YWR2YW5jZSBjb25maWcgdGVzdCBkYXRhIGZvciBzY2hlbWEiIiIKLQotICAg IGFkdl9jb25maWdfZGF0YSA9IE5vbmUKLSAgICBkYXRhID0gTm9uZQotICAg IGRiX3VzZXIgPSBzZXJ2ZXJfY29ubmVjdF9yZXNwb25zZVsnZGF0YSddWyd1 c2VyJ11bJ25hbWUnXQotCi0gICAgIyBHZXQgdGhlIGNvbmZpZyBkYXRhIG9m IGFwcHJvcHJpYXRlIGRiIHVzZXIKLSAgICBmb3IgY29uZmlnX3Rlc3RfZGF0 YSBpbiBhZHZhbmNlZF9jb25maWdfZGF0YVsnc2NoZW1hX2NyZWRlbnRpYWxz J106Ci0gICAgICAgIGlmIGRiX3VzZXIgPT0gY29uZmlnX3Rlc3RfZGF0YVsn b3duZXInXToKLSAgICAgICAgICAgIGFkdl9jb25maWdfZGF0YSA9IGNvbmZp Z190ZXN0X2RhdGEKLQotICAgIGlmIGFkdl9jb25maWdfZGF0YSBpcyBub3Qg Tm9uZToKLSAgICAgICAgZGF0YSA9IHsKLSAgICAgICAgICAgICJkZWZmdW5j YWNsIjogYWR2X2NvbmZpZ19kYXRhWydmdW5jX2FjbCddLAotICAgICAgICAg ICAgImRlZnNlcWFjbCI6IGFkdl9jb25maWdfZGF0YVsnc2VxX2FjbCddLAot ICAgICAgICAgICAgImRlZnRibGFjbCI6IGFkdl9jb25maWdfZGF0YVsndGJs X2FjbCddLAotICAgICAgICAgICAgImRlZnR5cGVhY2wiOiBhZHZfY29uZmln X2RhdGFbJ3R5cGVfYWNsJ10sCi0gICAgICAgICAgICAibmFtZSI6ICJzY2hl bWFfezB9Ii5mb3JtYXQoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSksCi0gICAg ICAgICAgICAibmFtZXNwYWNlb3duZXIiOiBhZHZfY29uZmlnX2RhdGFbJ293 bmVyJ10sCi0gICAgICAgICAgICAibnNwYWNsIjogYWR2X2NvbmZpZ19kYXRh Wydwcml2aWxlZ2UnXSwKLSAgICAgICAgICAgICJzZWNsYWJlbHMiOiBhZHZf Y29uZmlnX2RhdGFbJ3NlY19sYWJlbCddCi0gICAgICAgIH0KKyAgICBkYXRh ID0geworICAgICAgICAiZGVmZnVuY2FjbCI6IFtdLAorICAgICAgICAiZGVm c2VxYWNsIjogW10sCisgICAgICAgICJkZWZ0YmxhY2wiOiBbXSwKKyAgICAg ICAgImRlZnR5cGVhY2wiOiBbXSwKKyAgICAgICAgIm5hbWUiOiAidGVzdF9z Y2hlbWFfezB9Ii5mb3JtYXQoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSksCisg ICAgICAgICJuYW1lc3BhY2Vvd25lciI6IGRiX3VzZXIsCisgICAgICAgICJu c3BhY2wiOiBbCisgICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgICAgICAgICAgImdyYW50ZWUiOiBkYl91c2VyLAorICAgICAgICAg ICAgICAgICAgICAgICAgImdyYW50b3IiOiBkYl91c2VyLAorICAgICAgICAg ICAgICAgICAgICAgICAgInByaXZpbGVnZXMiOgorICAgICAgICAgICAgICAg ICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogIkMi LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2UiOiBU cnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aXRoX2dyYW50 IjogRmFsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJwcml2aWxlZ2VfdHlwZSI6ICJVIiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAicHJpdmlsZWdlIjogVHJ1ZSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAid2l0aF9ncmFudCI6IEZhbHNlCisgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAg IF0KKyAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg ICAgIF0sCisgICAgICAgICJzZWNsYWJlbHMiOiBbXQorICAgIH0KICAgICBy ZXR1cm4gZGF0YQogCiAKLWRlZiB3cml0ZV9zY2hlbWFfaWQocmVzcG9uc2Vf ZGF0YSwgc2VydmVyX2lkKToKLSAgICAiIiIKLSAgICBUaGlzIGZ1bmN0aW9u IHdyaXRlcyB0aGUgc2NoZW1hIGlkIGludG8gcGFyZW50X2lkLnBrbAotCi0g ICAgOnBhcmFtIHJlc3BvbnNlX2RhdGE6IHNjaGVtYSBhZGQgcmVzcG9uc2Ug ZGF0YQotICAgIDp0eXBlIHJlc3BvbnNlX2RhdGE6IGRpY3QKLSAgICA6cGFy YW0gc2VydmVyX2lkOiBzZXJ2ZXIgaWQKLSAgICA6dHlwZSBzZXJ2ZXJfaWQ6 IHN0cgotICAgIDpyZXR1cm46IE5vbmUKLSAgICAiIiIKLQotICAgIHNjaGVt YV9pZCA9IHJlc3BvbnNlX2RhdGFbJ25vZGUnXVsnX2lkJ10KLSAgICBzY2hl bWFfbmFtZSA9IHN0cihyZXNwb25zZV9kYXRhWydub2RlJ11bJ2xhYmVsJ10p Ci0gICAgcGlja2xlX2lkX2RpY3QgPSB1dGlscy5nZXRfcGlja2xlX2lkX2Rp Y3QoKQotICAgIGlmIG9zLnBhdGguaXNmaWxlKHBpY2tsZV9wYXRoKToKLSAg ICAgICAgZXhpc3Rpbmdfc2VydmVyX2lkID0gb3BlbihwaWNrbGVfcGF0aCwg J3JiJykKLSAgICAgICAgdG9sX3NlcnZlcl9pZCA9IHBpY2tsZS5sb2FkKGV4 aXN0aW5nX3NlcnZlcl9pZCkKLSAgICAgICAgcGlja2xlX2lkX2RpY3QgPSB0 b2xfc2VydmVyX2lkCi0gICAgaWYgJ3NjaWQnIGluIHBpY2tsZV9pZF9kaWN0 OgotICAgICAgICBpZiBwaWNrbGVfaWRfZGljdFsnc2NpZCddOgotICAgICAg ICAgICAgIyBBZGQgdGhlIHNjaGVtYV9pZCBhcyB2YWx1ZSBpbiBkaWN0Ci0g ICAgICAgICAgICBwaWNrbGVfaWRfZGljdFsic2NpZCJdWzBdLnVwZGF0ZSgK LSAgICAgICAgICAgICAgICB7aW50KHNlcnZlcl9pZCk6IFtzY2hlbWFfaWQs IHNjaGVtYV9uYW1lXX0pCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAj IENyZWF0ZSBuZXcgZGljdCB3aXRoIHNlcnZlcl9pZCBhbmQgc2NoZW1hX2lk Ci0gICAgICAgICAgICBwaWNrbGVfaWRfZGljdFsic2NpZCJdLmFwcGVuZCgK LSAgICAgICAgICAgICAgICB7aW50KHNlcnZlcl9pZCk6IFtzY2hlbWFfaWQs IHNjaGVtYV9uYW1lXX0pCi0gICAgc2NoZW1hX291dHB1dCA9IG9wZW4ocGlj a2xlX3BhdGgsICd3YicpCi0gICAgcGlja2xlLmR1bXAocGlja2xlX2lkX2Rp Y3QsIHNjaGVtYV9vdXRwdXQpCi0gICAgc2NoZW1hX291dHB1dC5jbG9zZSgp Ci0KLQotZGVmIGFkZF9zY2hlbWFzKHRlc3Rlcik6CitkZWYgY3JlYXRlX3Nj aGVtYShjb25uZWN0aW9uLCBzY2hlbWFfbmFtZSk6CiAgICAgIiIiVGhpcyBm dW5jdGlvbiBhZGQgdGhlIHNjaGVtYXMgaW50byBkYXRhYmFzZXMiIiIKLQot ICAgIGFsbF9pZCA9IHV0aWxzLmdldF9pZHMoKQotCi0gICAgc2VydmVyX2lk cyA9IGFsbF9pZFsic2lkIl0KLSAgICBkYl9pZHNfZGljdCA9IGFsbF9pZFsi ZGlkIl1bMF0KLQotICAgIGZvciBzZXJ2ZXJfaWQgaW4gc2VydmVyX2lkczoK LSAgICAgICAgc2VydmVyX2Nvbm5lY3RfcmVzcG9uc2UgPSBzZXJ2ZXJfdXRp bHMudmVyaWZ5X3NlcnZlcigKLSAgICAgICAgICAgIHRlc3Rlciwgc3RyKHV0 aWxzLlNFUlZFUl9HUk9VUCksIHNlcnZlcl9pZCkKLSAgICAgICAgZGJfaWQg PSBkYl9pZHNfZGljdFtpbnQoc2VydmVyX2lkKV0KLSAgICAgICAgZGJfY29u ID0gZGF0YWJhc2VfdXRpbHMudmVyaWZ5X2RhdGFiYXNlKHRlc3RlciwgdXRp bHMuU0VSVkVSX0dST1VQLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2lkLCBkYl9pZCkKLSAgICAg ICAgaWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgotICAgICAgICAg ICAgZGF0YSA9IGdldF9zY2hlbWFfY29uZmlnX2RhdGEoCi0gICAgICAgICAg ICAgICAgc2VydmVyX2Nvbm5lY3RfcmVzcG9uc2UpCi0gICAgICAgICAgICBy ZXNwb25zZSA9IHRlc3Rlci5wb3N0KAotICAgICAgICAgICAgICAgIFNDSEVN QV9VUkwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcvJyArCi0gICAg ICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJfaWQp ICsKLSAgICAgICAgICAgICAgICAnLycsIGRhdGE9anNvbi5kdW1wcyhkYXRh KSwKLSAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicp Ci0KLSAgICAgICAgICAgIGFzc2VydCByZXNwb25zZS5zdGF0dXNfY29kZSA9 PSAyMDAKLSAgICAgICAgICAgIHJlc3BvbnNlX2RhdGEgPSBqc29uLmxvYWRz KHJlc3BvbnNlLmRhdGEuZGVjb2RlKCd1dGYtOCcpKQotICAgICAgICAgICAg d3JpdGVfc2NoZW1hX2lkKHJlc3BvbnNlX2RhdGEsIHNlcnZlcl9pZCkKLQot Ci1kZWYgdmVyaWZ5X3NjaGVtYXModGVzdGVyLCBzZXJ2ZXJfaWQsIGRiX2lk LCBzY2hlbWFfaWQpOgorICAgIHRyeToKKyAgICAgICAgb2xkX2lzb2xhdGlv bl9sZXZlbCA9IGNvbm5lY3Rpb24uaXNvbGF0aW9uX2xldmVsCisgICAgICAg IGNvbm5lY3Rpb24uc2V0X2lzb2xhdGlvbl9sZXZlbCgwKQorICAgICAgICBw Z19jdXJzb3IgPSBjb25uZWN0aW9uLmN1cnNvcigpCisgICAgICAgIHBnX2N1 cnNvci5leGVjdXRlKCJDUkVBVEUgU0NIRU1BICVzIiAlIHNjaGVtYV9uYW1l KQorICAgICAgICBjb25uZWN0aW9uLnNldF9pc29sYXRpb25fbGV2ZWwob2xk X2lzb2xhdGlvbl9sZXZlbCkKKyAgICAgICAgY29ubmVjdGlvbi5jb21taXQo KQorICAgICAgICAjIEdldCBzY2hlbWEgZGV0YWlscyBvZiBuZXdseSBjcmVh dGVkIHNjaGVtYQorICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZSgiU0VMRUNU IHNjaC5vaWQsIHNjaC5uc3BuYW1lIEZST00gcGdfbmFtZXNwYWNlIHNjaCIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgIiBXSEVSRSBzY2gubnNwbmFt ZT0nJXMnIiAlIHNjaGVtYV9uYW1lKQorICAgICAgICBzY2hlbWEgPSBwZ19j dXJzb3IuZmV0Y2hvbmUoKQorICAgICAgICBjb25uZWN0aW9uLmNsb3NlKCkK KyAgICAgICAgcmV0dXJuIHNjaGVtYQorICAgIGV4Y2VwdCBFeGNlcHRpb246 CisgICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoZmlsZT1zeXMuc3RkZXJy KQorCisKK2RlZiB2ZXJpZnlfc2NoZW1hcyhzZXJ2ZXIsIGRiX25hbWUsIHNj aGVtYV9uYW1lKToKICAgICAiIiJUaGlzIGZ1bmN0aW9uIHZlcmlmaWVzIHRo ZSBzY2hlbWEgaXMgZXhpc3RzIiIiCi0KLSAgICByZXNwb25zZSA9IHRlc3Rl ci5nZXQoU0NIRU1BX1VSTCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsg Jy8nICsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9p ZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgJy8nICsgc3RyKHNjaGVtYV9pZCksCi0gICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKLSAgICByZXR1 cm4gcmVzcG9uc2UKKyAgICB0cnk6CisgICAgICAgIGNvbm5lY3Rpb24gPSB1 dGlscy5nZXRfZGJfY29ubmVjdGlvbihkYl9uYW1lLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWyd1c2Vy bmFtZSddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VydmVyWydkYl9wYXNzd29yZCddLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWydob3N0 J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZXJ2ZXJbJ3BvcnQnXSkKKyAgICAgICAgcGdfY3Vyc29yID0gY29u bmVjdGlvbi5jdXJzb3IoKQorICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZSgi U0VMRUNUICogRlJPTSBwZ19uYW1lc3BhY2Ugc2NoIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAiIFdIRVJFIHNjaC5uc3BuYW1lPSclcyciICUgc2No ZW1hX25hbWUpCisgICAgICAgIHNjaGVtYSA9IHBnX2N1cnNvci5mZXRjaG9u ZSgpCisgICAgICAgIGNvbm5lY3Rpb24uY2xvc2UoKQorICAgICAgICByZXR1 cm4gc2NoZW1hCisgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgdHJh Y2ViYWNrLnByaW50X2V4YyhmaWxlPXN5cy5zdGRlcnIpCiAKIAogZGVmIGRl bGV0ZV9zY2hlbWEodGVzdGVyKToKZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNz aW9uL19faW5pdF9fLnB5IGIvd2ViL3JlZ3Jlc3Npb24vX19pbml0X18ucHkK aW5kZXggNmI3Y2IyZi4uNTY3YmY1MSAxMDA2NDQKLS0tIGEvd2ViL3JlZ3Jl c3Npb24vX19pbml0X18ucHkKKysrIGIvd2ViL3JlZ3Jlc3Npb24vX19pbml0 X18ucHkKQEAgLTksNiArOSw4IEBACiBpbXBvcnQgcGdhZG1pbi5icm93c2Vy LnNlcnZlcl9ncm91cHMuc2VydmVycy5yb2xlcy50ZXN0cy51dGlscyBhcyBy b2xlc191dGlscwogaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3Jv dXBzLnNlcnZlcnMudGFibGVzcGFjZXMudGVzdHMudXRpbHMgYXMgXAogICAg IHRhYmxlc3BhY2VfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZl cl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy50ZXN0cyBpbXBv cnRcCisgICAgdXRpbHMgYXMgc2NoZW1hX3V0aWxzCiAKIGdsb2JhbCBub2Rl X2luZm9fZGljdAogbm9kZV9pbmZvX2RpY3QgPSB7CkBAIC0zMiw2ICszNCw1 IEBAIGdsb2JhbCB0ZXN0X3NlcnZlcl9kaWN0CiB0ZXN0X3NlcnZlcl9kaWN0 ID0gewogICAgICJzZXJ2ZXIiOiBbXSwKICAgICAiZGF0YWJhc2UiOiBbXSwK LSAgICAidGFibGVzcGFjZSI6IFtdLAotICAgICJyb2xlIjogW10KKyAgICAi c2NoZW1hIjogW10KIH0KZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3J1 bnRlc3RzLnB5IGIvd2ViL3JlZ3Jlc3Npb24vcnVudGVzdHMucHkKaW5kZXgg ODdiNjAwNC4uMGViZTAwMyAxMDA2NDQKLS0tIGEvd2ViL3JlZ3Jlc3Npb24v cnVudGVzdHMucHkKKysrIGIvd2ViL3JlZ3Jlc3Npb24vcnVudGVzdHMucHkK QEAgLTEwLDE0ICsxMCwxOCBAQAogIiIiIFRoaXMgZmlsZSBjb2xsZWN0IGFs bCBtb2R1bGVzL2ZpbGVzIHByZXNlbnQgaW4gdGVzdHMgZGlyZWN0b3J5IGFu ZCBhZGQKIHRoZW0gdG8gVGVzdFN1aXRlLiAiIiIKIGZyb20gX19mdXR1cmVf XyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KLQogaW1wb3J0IGFyZ3BhcnNlCiBp bXBvcnQgb3MKIGltcG9ydCBzeXMKIGltcG9ydCBzaWduYWwKIGltcG9ydCBh dGV4aXQKLWltcG9ydCB1bml0dGVzdAogaW1wb3J0IGxvZ2dpbmcKK2ltcG9y dCB0cmFjZWJhY2sKKworaWYgc3lzLnZlcnNpb25faW5mbyA8ICgyLCA3KToK KyAgICBpbXBvcnQgdW5pdHRlc3QyIGFzIHVuaXR0ZXN0CitlbHNlOgorICAg IGltcG9ydCB1bml0dGVzdAogCiBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dl cihfX25hbWVfXykKIGZpbGVfbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUoX19m aWxlX18pCkBAIC0zNSw3ICszOSw3IEBAIGlmIHN5cy5wYXRoWzBdICE9IHJv b3Q6CiAKIGZyb20gcGdhZG1pbiBpbXBvcnQgY3JlYXRlX2FwcAogaW1wb3J0 IGNvbmZpZwotaW1wb3J0IHRlc3Rfc2V0dXAKK2Zyb20gcmVncmVzc2lvbiBp bXBvcnQgdGVzdF9zZXR1cAogCiAjIERlbGV0ZSBTUUxpdGUgZGIgZmlsZSBp ZiBleGlzdHMKIGlmIG9zLnBhdGguaXNmaWxlKGNvbmZpZy5URVNUX1NRTElU RV9QQVRIKToKQEAgLTU5LDE0ICs2MywxNCBAQCBpZiBwZ2FkbWluX2NyZWRl bnRpYWxzOgogICAgICAgICAgICAgICAgICdsb2dpbl9wYXNzd29yZCddCiAK ICMgRXhlY3V0ZSB0aGUgc2V0dXAgZmlsZQotZXhlYyAob3Blbigic2V0dXAu cHkiKS5yZWFkKCkpCitleGVjKG9wZW4oInNldHVwLnB5IikucmVhZCgpKQog CiAjIEdldCB0aGUgY29uZmlnIGRhdGFiYXNlIHNjaGVtYSB2ZXJzaW9uLiBX ZSBzdG9yZSB0aGlzIGluIHBnYWRtaW4ubW9kZWwKICMgYXMgaXQgdHVybnMg b3V0IHRoYXQgcHV0dGluZyBpdCBpbiB0aGUgY29uZmlnIGZpbGVzIGlzbid0 IGEgZ3JlYXQgaWRlYQogZnJvbSBwZ2FkbWluLm1vZGVsIGltcG9ydCBTQ0hF TUFfVkVSU0lPTgogCiAjIERlbGF5IHRoZSBpbXBvcnQgdGVzdF91dGlscyBh cyBpdCBuZWVkcyB1cGRhdGVkIGNvbmZpZy5TUUxJVEVfUEFUSAotaW1wb3J0 IHRlc3RfdXRpbHMKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQgdGVzdF91dGls cwogCiBjb25maWcuU0VUVElOR1NfU0NIRU1BX1ZFUlNJT04gPSBTQ0hFTUFf VkVSU0lPTgogCkBAIC0xODksMTEgKzE5Myw4IEBAIGRlZiBnZXRfdGVzdHNf cmVzdWx0KHRlc3Rfc3VpdGUpOgogICAgICAgICAgICAgICAgICAgICBpZiBj bGFzc19uYW1lIG5vdCBpbiBmYWlsZWRfY2FzZXNfcmVzdWx0OgogICAgICAg ICAgICAgICAgICAgICAgICAgc2tpcHBlZF9jYXNlc19yZXN1bHQuYXBwZW5k KGNsYXNzX25hbWUpCiAgICAgICAgIHJldHVybiB0b3RhbF9yYW4sIGZhaWxl ZF9jYXNlc19yZXN1bHQsIHNraXBwZWRfY2FzZXNfcmVzdWx0Ci0gICAgZXhj ZXB0IEV4Y2VwdGlvbiBhcyBleGNlcHRpb246Ci0gICAgICAgIGV4Y2VwdGlv biA9ICJFeGNlcHRpb246ICVzOiBsaW5lOiVzICVzIiAlICgKLSAgICAgICAg ICAgIGZpbGVfbmFtZSwgc3lzLmV4Y190cmFjZWJhY2sudGJfbGluZW5vLCBl eGNlcHRpb24pCi0gICAgICAgIHByaW50KGV4Y2VwdGlvbikKLSAgICAgICAg bG9nZ2VyLmV4Y2VwdGlvbihleGNlcHRpb24pCisgICAgZXhjZXB0IEV4Y2Vw dGlvbjoKKyAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YyhmaWxlPXN5cy5z dGRlcnIpCiAKIAogY2xhc3MgU3RyZWFtVG9Mb2dnZXIob2JqZWN0KToKQEAg LTI0OCwxMiArMjQ5LDEzIEBAIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6 CiAgICAgdGVzdF91dGlscy5sb2dpbl90ZXN0ZXJfYWNjb3VudCh0ZXN0X2Ns aWVudCkKIAogICAgIHNlcnZlcnNfaW5mbyA9IHRlc3RfdXRpbHMuZ2V0X2Nv bmZpZ19kYXRhKCkKKyAgICBub2RlX25hbWUgPSBhcmdzWydwa2cnXS5zcGxp dCgnLicpWy0xXQogICAgIHRyeToKICAgICAgICAgZm9yIHNlcnZlciBpbiBz ZXJ2ZXJzX2luZm86CiAgICAgICAgICAgICBwcmludCgiXG49PT09PT09PT09 PT09UnVubmluZyB0aGUgdGVzdCBjYXNlcyBmb3IgJyVzJz09PT09PT09PT09 PT0iCiAgICAgICAgICAgICAgICAgICAlIHNlcnZlclsnbmFtZSddLCBmaWxl PXN5cy5zdGRlcnIpCiAgICAgICAgICAgICAjIENyZWF0ZSB0ZXN0IHNlcnZl cgotICAgICAgICAgICAgdGVzdF91dGlscy5jcmVhdGVfdGVzdF9zZXJ2ZXIo c2VydmVyKQorICAgICAgICAgICAgdGVzdF91dGlscy5jcmVhdGVfcGFyZW50 X3NlcnZlcl9ub2RlKHNlcnZlciwgbm9kZV9uYW1lKQogCiAgICAgICAgICAg ICBzdWl0ZSA9IGdldF9zdWl0ZSh0ZXN0X21vZHVsZV9saXN0LCBzZXJ2ZXIs IHRlc3RfY2xpZW50KQogICAgICAgICAgICAgdGVzdHMgPSB1bml0dGVzdC5U ZXh0VGVzdFJ1bm5lcihzdHJlYW09c3lzLnN0ZGVyciwKZGlmZiAtLWdpdCBh L3dlYi9yZWdyZXNzaW9uL3Rlc3RfdXRpbHMucHkgYi93ZWIvcmVncmVzc2lv bi90ZXN0X3V0aWxzLnB5CmluZGV4IDczMWYxYjYuLjExNWEwZDMgMTAwNjQ0 Ci0tLSBhL3dlYi9yZWdyZXNzaW9uL3Rlc3RfdXRpbHMucHkKKysrIGIvd2Vi L3JlZ3Jlc3Npb24vdGVzdF91dGlscy5weQpAQCAtMjAsNyArMjAsNyBAQCBp bXBvcnQgdGVzdF9zZXR1cAogaW1wb3J0IHJlZ3Jlc3Npb24KIAogU0VSVkVS X0dST1VQID0gdGVzdF9zZXR1cC5jb25maWdfZGF0YVsnc2VydmVyX2dyb3Vw J10KLWZpbGVfbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUoX19maWxlX18pCitm aWxlX25hbWUgPSBvcy5wYXRoLnJlYWxwYXRoKF9fZmlsZV9fKQogCiAKIGRl ZiBnZXRfZGJfY29ubmVjdGlvbihkYiwgdXNlcm5hbWUsIHBhc3N3b3JkLCBo b3N0LCBwb3J0KToKQEAgLTQwLDcgKzQwLDcgQEAgZGVmIGxvZ2luX3Rlc3Rl cl9hY2NvdW50KHRlc3Rlcik6CiAgICAgOnR5cGUgdGVzdGVyOiBmbGFzayB0 ZXN0IGNsaWVudCBvYmplY3QKICAgICA6cmV0dXJuOiBOb25lCiAgICAgIiIi Ci0gICAgaWYgb3MuZW52aXJvblsnUEdBRE1JTl9TRVRVUF9FTUFJTCddIGFu ZFwKKyAgICBpZiBvcy5lbnZpcm9uWydQR0FETUlOX1NFVFVQX0VNQUlMJ10g YW5kIFwKICAgICAgICAgICAgIG9zLmVudmlyb25bJ1BHQURNSU5fU0VUVVBf UEFTU1dPUkQnXToKICAgICAgICAgZW1haWwgPSBvcy5lbnZpcm9uWydQR0FE TUlOX1NFVFVQX0VNQUlMJ10KICAgICAgICAgcGFzc3dvcmQgPSBvcy5lbnZp cm9uWydQR0FETUlOX1NFVFVQX1BBU1NXT1JEJ10KQEAgLTE0NSwyNiArMTQ1 LDE4IEBAIGRlZiBjcmVhdGVfZGF0YWJhc2Uoc2VydmVyLCBkYl9uYW1lKToK IAogZGVmIGRyb3BfZGF0YWJhc2UoY29ubmVjdGlvbiwgZGF0YWJhc2VfbmFt ZSk6CiAgICAgIiIiVGhpcyBmdW5jdGlvbiB1c2VkIHRvIGRyb3AgdGhlIGRh dGFiYXNlIiIiCi0KLSAgICB0cnk6CisgICAgaWYgZGF0YWJhc2VfbmFtZSBu b3QgaW4gWyJwb3N0Z3JlcyIsICJ0ZW1wbGF0ZTEiLCAidGVtcGxhdGUwIl06 CiAgICAgICAgIHBnX2N1cnNvciA9IGNvbm5lY3Rpb24uY3Vyc29yKCkKLSAg ICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUoIlNFTEVDVCAqIEZST00gcGdfZGF0 YWJhc2UgZGIgV0hFUkUgZGIuZGF0bmFtZT0nJXMnIgotICAgICAgICAgICAg ICAgICAgICAgICAgICAlIGRhdGFiYXNlX25hbWUpCisgICAgICAgIHBnX2N1 cnNvci5leGVjdXRlKAorICAgICAgICAgICAgIlNFTEVDVCAqIEZST00gcGdf ZGF0YWJhc2UgZGIgV0hFUkUgZGIuZGF0bmFtZT0nJXMnIgorICAgICAgICAg ICAgJSBkYXRhYmFzZV9uYW1lKQogICAgICAgICBpZiBwZ19jdXJzb3IuZmV0 Y2hhbGwoKToKLSAgICAgICAgICAgICMgUmVsZWFzZSBwaWQgaWYgYW55IHBy b2Nlc3MgdXNpbmcgZGF0YWJhc2UKLSAgICAgICAgICAgIHBnX2N1cnNvci5l eGVjdXRlKCJzZWxlY3QgcGdfdGVybWluYXRlX2JhY2tlbmQocGlkKSBmcm9t IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBwZ19zdGF0X2Fj dGl2aXR5IHdoZXJlIGRhdG5hbWU9JyVzJyIgJQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGF0YWJhc2VfbmFtZSkKICAgICAgICAgICAgIG9s ZF9pc29sYXRpb25fbGV2ZWwgPSBjb25uZWN0aW9uLmlzb2xhdGlvbl9sZXZl bAogICAgICAgICAgICAgY29ubmVjdGlvbi5zZXRfaXNvbGF0aW9uX2xldmVs KDApCiAgICAgICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZSgnJydEUk9QIERB VEFCQVNFICIlcyInJycgJSBkYXRhYmFzZV9uYW1lKQogICAgICAgICAgICAg Y29ubmVjdGlvbi5zZXRfaXNvbGF0aW9uX2xldmVsKG9sZF9pc29sYXRpb25f bGV2ZWwpCiAgICAgICAgICAgICBjb25uZWN0aW9uLmNvbW1pdCgpCiAgICAg ICAgICAgICBjb25uZWN0aW9uLmNsb3NlKCkKLSAgICBleGNlcHQgRXhjZXB0 aW9uIGFzIGV4Y2VwdGlvbjoKLSAgICAgICAgZXhjZXB0aW9uID0gIiVzOiBs aW5lOiVzICVzIiAlICgKLSAgICAgICAgICAgIGZpbGVfbmFtZSwgc3lzLmV4 Y190cmFjZWJhY2sudGJfbGluZW5vLCBleGNlcHRpb24pCi0gICAgICAgIHBy aW50KGV4Y2VwdGlvbiwgZmlsZT1zeXMuc3RkZXJyKQogCiAKIGRlZiBjcmVh dGVfc2VydmVyKHNlcnZlcik6CkBAIC0xOTgsNTUgKzE5MCw2MSBAQCBkZWYg ZGVsZXRlX3NlcnZlcih0ZXN0ZXIsIHNpZCk6CiAgICAgICAgIHByaW50KGV4 Y2VwdGlvbiwgZmlsZT1zeXMuc3RkZXJyKQogCiAKLWRlZiBkZWxldGVfc2Vy dmVyX2Zyb21fc3FsaXRlKHNpZCk6Ci0gICAgIiIiVGhpcyBmdW5jdGlvbiB1 c2VkIHRvIGRlbGV0ZSBzZXJ2ZXIgZnJvbSBTUUxpdGUiIiIKLSAgICB0cnk6 Ci0gICAgICAgIGNvbiA9IHNxbGl0ZTMuY29ubmVjdChjb25maWcuU1FMSVRF X1BBVEgpCi0gICAgICAgIGN1ciA9IGNvbi5jdXJzb3IoKQotICAgICAgICBz ZXJ2ZXJfb2JqZWN0cyA9IGN1ci5leGVjdXRlKCdTRUxFQ1QgKiBGUk9NIHNl cnZlciBXSEVSRSBpZD0lcycgJSBzaWQpCi0gICAgICAgIHNzID0gc2VydmVy X29iamVjdHMuZmV0Y2hhbGwoKQotICAgICAgICAjIGZvciBpIGluIHNzOgot ICAgICAgICAjICAgICBwcmludCgiPj4+Pj4+Pj4+Pj4iLCBpKQotICAgICAg ICBzZXJ2ZXJzX2NvdW50ID0gbGVuKHNzKQotICAgICAgICAjIHByaW50KCI+ Pj4+Pj4+Iiwgc2lkKQotICAgICAgICBpZiBzZXJ2ZXJzX2NvdW50OgotICAg ICAgICAgICAgY3VyLmV4ZWN1dGUoJ0RFTEVURSBGUk9NIHNlcnZlciBXSEVS RSBpZD0lcycgJSBzaWQpCi0gICAgICAgICAgICBjb24uY29tbWl0KCkKLSAg ICAgICAgY29uLmNsb3NlKCkKLSAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGV4 Y2VwdGlvbjoKLSAgICAgICAgZXhjZXB0aW9uID0gIiVzOiBsaW5lOiVzICVz IiAlICgKLSAgICAgICAgICAgIGZpbGVfbmFtZSwgc3lzLmV4Y190cmFjZWJh Y2sudGJfbGluZW5vLCBleGNlcHRpb24pCi0gICAgICAgIHByaW50KGV4Y2Vw dGlvbiwgZmlsZT1zeXMuc3RkZXJyKQorZGVmIGFkZF9kYl90b19wYXJlbnRf bm9kZV9kaWN0KHNydl9pZCwgZGJfaWQsIHRlc3RfZGJfbmFtZSk6CisgICAg cmVncmVzc2lvbi50ZXN0X3NlcnZlcl9kaWN0WyJkYXRhYmFzZSJdLmFwcGVu ZCh7InNlcnZlcl9pZCI6IHNydl9pZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGJfaWQiOiBkYl9p ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiZGJfbmFtZSI6IHRlc3RfZGJfbmFtZX0pCisKKworZGVm IGFkZF9zY2hlbWFfdG9fcGFyZW50X25vZGVfZGljdChzcnZfaWQsIGRiX2lk LCBzY2hlbWFfaWQsIHNjaGVtYV9uYW1lKToKKyAgICByZWdyZXNzaW9uLnRl c3Rfc2VydmVyX2RpY3RbInNjaGVtYSJdLmFwcGVuZCh7InNlcnZlcl9pZCI6 IHNydl9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImRiX2lkIjogZGJfaWQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzY2hlbWFf aWQiOiBzY2hlbWFfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJzY2hlbWFfbmFtZSI6IHNjaGVtYV9u YW1lfSkKIAogCi1kZWYgY3JlYXRlX3Rlc3Rfc2VydmVyKHNlcnZlcl9pbmZv KToKK2RlZiBjcmVhdGVfcGFyZW50X3NlcnZlcl9ub2RlKHNlcnZlcl9pbmZv LCBub2RlX25hbWUpOgogICAgICIiIgogICAgIFRoaXMgZnVuY3Rpb24gY3Jl YXRlIHRoZSB0ZXN0IHNlcnZlciB3aGljaCB3aWxsIGFjdCBhcyBwYXJlbnQg c2VydmVyLAogICAgIHRoZSBvdGhlciBub2RlIHdpbGwgYWRkIHVuZGVyIHRo aXMgc2VydmVyCiAgICAgOnBhcmFtIHNlcnZlcl9pbmZvOiBzZXJ2ZXIgZGV0 YWlscwogICAgIDp0eXBlIHNlcnZlcl9pbmZvOiBkaWN0CisgICAgOnBhcmFt IG5vZGVfbmFtZTogbm9kZSBuYW1lCisgICAgOnR5cGUgbm9kZV9uYW1lOiBz dHIKICAgICA6cmV0dXJuOiBOb25lCiAgICAgIiIiCiAgICAgIyBDcmVhdGUg dGhlIHNlcnZlcgogICAgIHNydl9pZCA9IGNyZWF0ZV9zZXJ2ZXIoc2VydmVy X2luZm8pCi0KLSAgICAjIENyZWF0ZSB0ZXN0IGRhdGFiYXNlCi0gICAgdGVz dF9kYl9uYW1lID0gInRlc3RfZGJfJXMiICUgc3RyKHV1aWQudXVpZDQoKSlb MTo4XQotICAgIGRiX2lkID0gY3JlYXRlX2RhdGFiYXNlKHNlcnZlcl9pbmZv LCB0ZXN0X2RiX25hbWUpCisgICAgaWYgbm9kZV9uYW1lID09ICJkYXRhYmFz ZXMiOgorICAgICAgICAjIENyZWF0ZSB0ZXN0IGRhdGFiYXNlCisgICAgICAg IHRlc3RfZGJfbmFtZSA9ICJ0ZXN0X2RiXyVzIiAlIHN0cih1dWlkLnV1aWQ0 KCkpWzE6Nl0KKyAgICAgICAgZGJfaWQgPSBjcmVhdGVfZGF0YWJhc2Uoc2Vy dmVyX2luZm8sIHRlc3RfZGJfbmFtZSkKKyAgICAgICAgYWRkX2RiX3RvX3Bh cmVudF9ub2RlX2RpY3Qoc3J2X2lkLCBkYl9pZCwgdGVzdF9kYl9uYW1lKQor ICAgIGVsaWYgbm9kZV9uYW1lID09ICJzY2hlbWFzIjoKKyAgICAgICAgdGVz dF9kYl9uYW1lID0gInRlc3RfZGJfJXMiICUgc3RyKHV1aWQudXVpZDQoKSlb MTo2XQorICAgICAgICBkYl9pZCA9IGNyZWF0ZV9kYXRhYmFzZShzZXJ2ZXJf aW5mbywgdGVzdF9kYl9uYW1lKQorICAgICAgICBhZGRfZGJfdG9fcGFyZW50 X25vZGVfZGljdChzcnZfaWQsIGRiX2lkLCB0ZXN0X2RiX25hbWUpCisgICAg ICAgICMgQ3JlYXRlIHNjaGVtYQorICAgICAgICBzY2hlbWFfbmFtZSA9ICJ0 ZXN0X3NjaGVtYV8lcyIgJSBzdHIodXVpZC51dWlkNCgpKVsxOjZdCisgICAg ICAgIGNvbm5lY3Rpb24gPSBnZXRfZGJfY29ubmVjdGlvbih0ZXN0X2RiX25h bWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZXJ2ZXJfaW5mb1sndXNlcm5hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNlcnZlcl9pbmZvWydkYl9wYXNzd29yZCdd LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vy dmVyX2luZm9bJ2hvc3QnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlcnZlcl9pbmZvWydwb3J0J10pCisKKyAgICAgICAg c2NoZW1hID0gcmVncmVzc2lvbi5zY2hlbWFfdXRpbHMuY3JlYXRlX3NjaGVt YShjb25uZWN0aW9uLCBzY2hlbWFfbmFtZSkKKyAgICAgICAgYWRkX3NjaGVt YV90b19wYXJlbnRfbm9kZV9kaWN0KHNydl9pZCwgZGJfaWQsIHNjaGVtYVsw XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNj aGVtYV9uYW1lWzFdKQogCiAgICAgIyBBZGQgc2VydmVyIGluZm8gdG8gdGVz dF9zZXJ2ZXJfZGljdAogICAgIHJlZ3Jlc3Npb24udGVzdF9zZXJ2ZXJfZGlj dFsic2VydmVyIl0uYXBwZW5kKHsic2VydmVyX2lkIjogc3J2X2lkLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAic2VydmVyIjogc2VydmVyX2luZm99KQotICAgIHJlZ3Jlc3Npb24udGVz dF9zZXJ2ZXJfZGljdFsiZGF0YWJhc2UiXS5hcHBlbmQoeyJzZXJ2ZXJfaWQi OiBzcnZfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgImRiX2lkIjogZGJfaWQsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRi X25hbWUiOiB0ZXN0X2RiX25hbWV9KQogCiAKIGRlZiBkZWxldGVfdGVzdF9z ZXJ2ZXIodGVzdGVyKToKICAgICB0ZXN0X3NlcnZlcl9kaWN0ID0gcmVncmVz c2lvbi50ZXN0X3NlcnZlcl9kaWN0CiAgICAgdGVzdF9zZXJ2ZXJzID0gdGVz dF9zZXJ2ZXJfZGljdFsic2VydmVyIl0KICAgICB0ZXN0X2RhdGFiYXNlcyA9 IHRlc3Rfc2VydmVyX2RpY3RbImRhdGFiYXNlIl0KLSAgICB0ZXN0X3RhYmxl X3NwYWNlcyA9IHRlc3Rfc2VydmVyX2RpY3RbInRhYmxlc3BhY2UiXQogICAg IHRyeToKICAgICAgICAgZm9yIHRlc3Rfc2VydmVyIGluIHRlc3Rfc2VydmVy czoKICAgICAgICAgICAgIHNydl9pZCA9IHRlc3Rfc2VydmVyWyJzZXJ2ZXJf aWQiXQpAQCAtMjgxLDYgKzI3OSw3IEBAIGRlZiByZW1vdmVfZGJfZmlsZSgp OgogZGVmIF9kcm9wX29iamVjdHModGVzdGVyKToKICAgICAiIiJUaGlzIGZ1 bmN0aW9uIHVzZSB0byBjbGVhbnVwIHRoZSBjcmVhdGVkIHRoZSBvYmplY3Rz KHNlcnZlcnMsIGRhdGFiYXNlcywKICAgICAgc2NoZW1hcyBldGMpIGR1cmlu ZyB0aGUgdGVzdCBzdWl0ZSBydW4iIiIKKwogICAgIHRyeToKICAgICAgICAg Y29ubiA9IHNxbGl0ZTMuY29ubmVjdChjb25maWcuU1FMSVRFX1BBVEgpCiAg ICAgICAgIGN1ciA9IGNvbm4uY3Vyc29yKCkKQEAgLTMxOSw5ICszMTgsNyBA QCBkZWYgX2Ryb3Bfb2JqZWN0cyh0ZXN0ZXIpOgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZXJ2ZXJfaW5mb1sxXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2luZm9bMl0p CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBEbyBub3QgZHJvcCB0 aGUgZGVmYXVsdCBkYXRhYmFzZXMKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpZiBkYlswXSBub3QgaW4gWyJwb3N0Z3JlcyIsICJ0ZW1wbGF0ZTEi LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgInRlbXBsYXRlMCJdOgotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkcm9wX2RhdGFiYXNlKGNvbm5lY3Rpb24sIGRiWzBdKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRyb3BfZGF0YWJhc2UoY29ubmVjdGlv biwgZGJbMF0pCiAKICAgICAgICAgICAgICAgICAgICAgIyBEZWxldGUgdGFi bGVzcGFjZQogICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uID0gZ2V0 X2RiX2Nvbm5lY3Rpb24oc2VydmVyX2luZm9bM10sCkBAIC0zNzMsNyArMzcw LDcgQEAgZGVmIF9kcm9wX29iamVjdHModGVzdGVyKToKICAgICAgICAgICAg ICAgICAgICAgZGVsZXRlX3NlcnZlcih0ZXN0ZXIsIHNlcnZlcl9pZCkKICAg ICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGV4Y2VwdGlvbjoK ICAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gIkV4Y2VwdGlvbiB3 aGlsZSBkZWxldGluZyBzZXJ2ZXI6ICVzOiIgXAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiIGxpbmU6JXMgJXMiICVcCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICIgbGluZTolcyAlcyIgJSBcCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWxlX25hbWUsIHN5cy5l eGNfdHJhY2ViYWNrLnRiX2xpbmVubywKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGV4Y2VwdGlvbikKICAgICAgICAgICAgICAgICAgICAg cHJpbnQoZXhjZXB0aW9uLCBmaWxlPXN5cy5zdGRlcnIpCg== --94eb2c0834543cc56e053d8dc22d 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 --94eb2c0834543cc56e053d8dc22d--