Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pjLv0-0001c8-6P for pgsql-www@arkaria.postgresql.org; Mon, 03 Apr 2023 15:16:26 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pjLuz-0006lL-2o for pgsql-www@arkaria.postgresql.org; Mon, 03 Apr 2023 15:16:25 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pjLuy-0006kE-JN for pgsql-www@lists.postgresql.org; Mon, 03 Apr 2023 15:16:24 +0000 Received: from imap2.cmatte.me ([54.37.205.152]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pjLuv-0004yR-9d for pgsql-www@lists.postgresql.org; Mon, 03 Apr 2023 15:16:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cmatte.me; s=myselector; t=1680534978; bh=7BuvHdr7tCNpXwFNqYGEHiLkjfmknwmM8bfJSwKygeQ=; h=Date:Subject:To:References:From:In-Reply-To; b=n9Nc/hEPSO4Y+2IxYuvWtZkbtMSCTD8uhzKHvbUk9sYG5FYQgZZtoG/GmDbos8rbE 6CQU4/1tcXjA7HloUQd+xT9EF24ivrEG4xsYHE/f7Q4XB6vVHHOp2SvXO93Q1idCH5 nzAA6HkKnxLpacUY2mpdu3WGn+Y7QdI7zsomRrIO8sWtjZQh5JJHzGYaIVcvB5tN+H OsgaXmqAYy1cGkOtEVksV3Y1GVrqsh1Nz/mWh3rxH60eHBAmTIqkOUYH/MqCSyyJNE LAmYZssoYoL0kTfMd4OryB3alsCZCdDUVp7XI55jCXE4nhpdg55KjtsZofvbCpduN/ CbwlpKIUKoW4w== Content-Type: multipart/mixed; boundary="------------Ip8lvcZhHtXn0OtOXUtjzKav" Message-ID: Date: Mon, 3 Apr 2023 17:16:18 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH] pgarchives: pglister_sync: import lists with subscriber_access set to True Content-Language: en-US To: pgsql-www@lists.postgresql.org References: <1d060463-e562-7783-decd-b5a7f3c4c06c@cmatte.me> <1b4db143-3410-54c2-bb91-1242ae430bcd@cmatte.me> <58138ea4-f2f2-50e7-a356-442b62fc7e14@cmatte.me> From: =?UTF-8?Q?C=c3=a9lestin_Matte?= In-Reply-To: <58138ea4-f2f2-50e7-a356-442b62fc7e14@cmatte.me> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------Ip8lvcZhHtXn0OtOXUtjzKav Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Update: previously attached patches were incorrectly using subscriber_access in ListGroup, although it's a field of List in pgarchives. Besides, they were not built on top of upstream. Please note that this set of patches is built on top of the patch I sent in gitlab [1], as upstream currently crashes on migration. New sets of patched attached. [1] https://gitlab.com/pglister/pglister/-/merge_requests/33 On 28/02/2023 11:39, Célestin Matte wrote: > Attached another proposed solution to that problem, with a series of patches for pglister and pgarchives: > - 0001-Add-subscriber_access-field-to-ListGroup_pglister.patch adds a subscriber_access field in pglister's admin section > - 0002-Add-subscriber_access-to-archives-API_pglister.patch adds subscriber_access to the API's archive section in pglister > - 0001-pglister_sync-obtain-subscriber_access-from-API_pgarchives.patch uses the value received from the API instead of a default "False" that has to be manually changed > > As a reminder, the problem was that subscriber_access was set to False by default, which means that any list created on pglister and set to be archived on pgarchives won't be reachable by subscribers, unless the subscriber_access field is manually modified in the database. -- Célestin Matte --------------Ip8lvcZhHtXn0OtOXUtjzKav Content-Type: text/x-patch; charset=UTF-8; name="0001-Add-subscriber_access-field-to-List.patch" Content-Disposition: attachment; filename="0001-Add-subscriber_access-field-to-List.patch" Content-Transfer-Encoding: base64 RnJvbSA4MmQyMzNjYmQ0ZDk0ZjFjZjczNzZhZmYzNWVjNTM3MzdiYzY1MGE2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Qz1DMz1BOWxlc3Rpbj0yME1hdHRl Pz0gPGdpdGxhYkBjbWF0dGUubWU+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxNzowNzo1MiAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBBZGQgc3Vic2NyaWJlcl9hY2Nlc3MgZmllbGQg dG8gTGlzdAoKLS0tCiAuLi4vbWlncmF0aW9ucy8wMDU4X2xpc3Rfc3Vic2NyaWJlcl9hY2Nl c3MucHkgIHwgMTggKysrKysrKysrKysrKysrKysrCiB3ZWIvcGdsaXN0ZXIvbGlzdHMvbW9k ZWxzLnB5ICAgICAgICAgICAgICAgICAgIHwgIDIgKysKIDIgZmlsZXMgY2hhbmdlZCwgMjAg aW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2xpc3Rlci9saXN0cy9t aWdyYXRpb25zLzAwNThfbGlzdF9zdWJzY3JpYmVyX2FjY2Vzcy5weQoKZGlmZiAtLWdpdCBh L3dlYi9wZ2xpc3Rlci9saXN0cy9taWdyYXRpb25zLzAwNThfbGlzdF9zdWJzY3JpYmVyX2Fj Y2Vzcy5weSBiL3dlYi9wZ2xpc3Rlci9saXN0cy9taWdyYXRpb25zLzAwNThfbGlzdF9zdWJz Y3JpYmVyX2FjY2Vzcy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5m NzQ4YjY4Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnbGlzdGVyL2xpc3RzL21pZ3JhdGlv bnMvMDA1OF9saXN0X3N1YnNjcmliZXJfYWNjZXNzLnB5CkBAIC0wLDAgKzEsMTggQEAKKyMg R2VuZXJhdGVkIGJ5IERqYW5nbyAyLjIuMjQgb24gMjAyMy0wNC0wMyAxMDo0MQorCitmcm9t IGRqYW5nby5kYiBpbXBvcnQgbWlncmF0aW9ucywgbW9kZWxzCisKKworY2xhc3MgTWlncmF0 aW9uKG1pZ3JhdGlvbnMuTWlncmF0aW9uKToKKworICAgIGRlcGVuZGVuY2llcyA9IFsKKyAg ICAgICAgKCdsaXN0cycsICcwMDU3X25ldmVyYmxvY2tyZWdleHAnKSwKKyAgICBdCisKKyAg ICBvcGVyYXRpb25zID0gWworICAgICAgICBtaWdyYXRpb25zLkFkZEZpZWxkKAorICAgICAg ICAgICAgbW9kZWxfbmFtZT0nbGlzdCcsCisgICAgICAgICAgICBuYW1lPSdzdWJzY3JpYmVy X2FjY2VzcycsCisgICAgICAgICAgICBmaWVsZD1tb2RlbHMuQm9vbGVhbkZpZWxkKGRlZmF1 bHQ9RmFsc2UsIGhlbHBfdGV4dD0nQ2FuIHN1YnNjcmliZXJzIGdldCBmdWxsIGFjY2VzcyB0 byB0aGUgYXJjaGl2ZXM/JywgbnVsbD1UcnVlKSwKKyAgICAgICAgKSwKKyAgICBdCmRpZmYg LS1naXQgYS93ZWIvcGdsaXN0ZXIvbGlzdHMvbW9kZWxzLnB5IGIvd2ViL3BnbGlzdGVyL2xp c3RzL21vZGVscy5weQppbmRleCBkYmE5Njg5Li4zZGY2MjUyIDEwMDY0NAotLS0gYS93ZWIv cGdsaXN0ZXIvbGlzdHMvbW9kZWxzLnB5CisrKyBiL3dlYi9wZ2xpc3Rlci9saXN0cy9tb2Rl bHMucHkKQEAgLTE2Myw2ICsxNjMsOCBAQCBjbGFzcyBMaXN0KG1vZGVscy5Nb2RlbCk6CiAK ICAgICBhcGlrZXlfcm8gPSBtb2RlbHMuQ2hhckZpZWxkKG1heF9sZW5ndGg9MTAwLCBudWxs PUZhbHNlLCBibGFuaz1UcnVlLCB2ZXJib3NlX25hbWU9IlJlYWQtb25seSBBUEkga2V5IikK ICAgICBhcGlrZXlfcncgPSBtb2RlbHMuQ2hhckZpZWxkKG1heF9sZW5ndGg9MTAwLCBudWxs PUZhbHNlLCBibGFuaz1UcnVlLCB2ZXJib3NlX25hbWU9IlJlYWQtd3JpdGUgQVBJIGtleSIp CisgICAgc3Vic2NyaWJlcl9hY2Nlc3MgPSBtb2RlbHMuQm9vbGVhbkZpZWxkKG51bGw9VHJ1 ZSwgYmxhbms9RmFsc2UsIGRlZmF1bHQ9RmFsc2UsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGhlbHBfdGV4dD0iQ2FuIHN1YnNjcmliZXJzIGdldCBm dWxsIGFjY2VzcyB0byB0aGUgYXJjaGl2ZXM/IikKIAogICAgIGRlZiBfX3N0cl9fKHNlbGYp OgogICAgICAgICByZXR1cm4gInswfUB7MX0iLmZvcm1hdChzZWxmLm5hbWUsIHNlbGYuZG9t YWluLm5hbWUpCi0tIAoyLjQwLjAKCg== --------------Ip8lvcZhHtXn0OtOXUtjzKav Content-Type: text/x-patch; charset=UTF-8; name="0001-pglister_sync-obtain-subscriber_access-from-API.patch" Content-Disposition: attachment; filename*0="0001-pglister_sync-obtain-subscriber_access-from-API.patch" Content-Transfer-Encoding: base64 RnJvbSA2ZWE3NzMyNjU1M2YyM2ZjZmMzODM1ZTkyMTFhOGQ3NzczODBkOWQ4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Qz1DMz1BOWxlc3Rpbj0yME1hdHRl Pz0gPGdpdGxhYkBjbWF0dGUubWU+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxMToyNDoyOSAr MDIwMApTdWJqZWN0OiBbUEFUQ0hdIHBnbGlzdGVyX3N5bmM6IG9idGFpbiBzdWJzY3JpYmVy X2FjY2VzcyBmcm9tIEFQSQoKLS0tCiBsb2FkZXIvcGdsaXN0ZXJfc3luYy5weSB8IDYgKysr Ky0tCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2xvYWRlci9wZ2xpc3Rlcl9zeW5jLnB5IGIvbG9hZGVyL3BnbGlzdGVy X3N5bmMucHkKaW5kZXggZDdlMTkyNS4uOTRlZjVjNyAxMDA3NTUKLS0tIGEvbG9hZGVyL3Bn bGlzdGVyX3N5bmMucHkKKysrIGIvbG9hZGVyL3BnbGlzdGVyX3N5bmMucHkKQEAgLTYwLDIw ICs2MCwyMiBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgICAgICAgICAgJ25h bWUnOiBsWydsaXN0bmFtZSddLAogICAgICAgICB9KQogICAgICAgICBpZiBjdXJzLnJvd2Nv dW50ID09IDA6Ci0gICAgICAgICAgICBjdXJzLmV4ZWN1dGUoIklOU0VSVCBJTlRPIGxpc3Rz IChsaXN0bmFtZSwgc2hvcnRkZXNjLCBkZXNjcmlwdGlvbiwgYWN0aXZlLCBncm91cGlkLCBz dWJzY3JpYmVyX2FjY2VzcykgU0VMRUNUICUobmFtZSlzLCAlKG5hbWUpcywgJShkZXNjKXMs ICd0JywgZ3JvdXBpZCwgJ2YnIEZST00gbGlzdGdyb3VwcyBXSEVSRSBncm91cG5hbWU9JShn cm91cG5hbWUpcyBSRVRVUk5JTkcgbGlzdGlkLCBsaXN0bmFtZSIsIHsKKyAgICAgICAgICAg IGN1cnMuZXhlY3V0ZSgiSU5TRVJUIElOVE8gbGlzdHMgKGxpc3RuYW1lLCBzaG9ydGRlc2Ms IGRlc2NyaXB0aW9uLCBhY3RpdmUsIGdyb3VwaWQsIHN1YnNjcmliZXJfYWNjZXNzKSBTRUxF Q1QgJShuYW1lKXMsICUobmFtZSlzLCAlKGRlc2MpcywgJ3QnLCBncm91cGlkLCAlKHN1YnNj cmliZXJfYWNjZXNzKXMgRlJPTSBsaXN0Z3JvdXBzIFdIRVJFIGdyb3VwbmFtZT0lKGdyb3Vw bmFtZSlzIFJFVFVSTklORyBsaXN0aWQsIGxpc3RuYW1lIiwgewogICAgICAgICAgICAgICAg ICduYW1lJzogbFsnbGlzdG5hbWUnXSwKICAgICAgICAgICAgICAgICAnZGVzYyc6IGxbJ2xv bmdkZXNjJ10sCiAgICAgICAgICAgICAgICAgJ2dyb3VwbmFtZSc6IGxbJ2dyb3VwJ11bJ2dy b3VwbmFtZSddLAorICAgICAgICAgICAgICAgICdzdWJzY3JpYmVyX2FjY2Vzcyc6IGxbJ3N1 YnNjcmliZXJfYWNjZXNzJ10sCiAgICAgICAgICAgICB9KQogICAgICAgICAgICAgbGlzdGlk LCBuYW1lID0gY3Vycy5mZXRjaG9uZSgpCiAgICAgICAgICAgICBwcmludCgiQWRkZWQgbGlz dCAlcyIgJSBuYW1lKQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgbGlzdGlkLCBuYW1l ID0gY3Vycy5mZXRjaG9uZSgpCi0gICAgICAgICAgICBjdXJzLmV4ZWN1dGUoIlVQREFURSBs aXN0cyBTRVQgc2hvcnRkZXNjPSUobmFtZSlzLCBkZXNjcmlwdGlvbj0lKGRlc2MpcywgZ3Jv dXBpZD0oU0VMRUNUIGdyb3VwaWQgRlJPTSBsaXN0Z3JvdXBzIFdIRVJFIGdyb3VwbmFtZT0l KGdyb3VwbmFtZSlzKSwgYWN0aXZlPXRydWUgV0hFUkUgbGlzdGlkPSUoaWQpcyBBTkQgTk9U IChhY3RpdmUgQU5EIHNob3J0ZGVzYz0lKG5hbWUpcyBBTkQgZGVzY3JpcHRpb249JShkZXNj KXMgQU5EIGdyb3VwaWQ9KFNFTEVDVCBncm91cGlkIEZST00gbGlzdGdyb3VwcyBXSEVSRSBn cm91cG5hbWU9JShncm91cG5hbWUpcykpIFJFVFVSTklORyBsaXN0bmFtZSIsIHsKKyAgICAg ICAgICAgIGN1cnMuZXhlY3V0ZSgiVVBEQVRFIGxpc3RzIFNFVCBzaG9ydGRlc2M9JShuYW1l KXMsIGRlc2NyaXB0aW9uPSUoZGVzYylzLCBncm91cGlkPShTRUxFQ1QgZ3JvdXBpZCBGUk9N IGxpc3Rncm91cHMgV0hFUkUgZ3JvdXBuYW1lPSUoZ3JvdXBuYW1lKXMpLCBhY3RpdmU9dHJ1 ZSwgc3Vic2NyaWJlcl9hY2Nlc3M9JShzdWJzY3JpYmVyX2FjY2VzcylzIFdIRVJFIGxpc3Rp ZD0lKGlkKXMgQU5EIE5PVCAoYWN0aXZlIEFORCBzaG9ydGRlc2M9JShuYW1lKXMgQU5EIGRl c2NyaXB0aW9uPSUoZGVzYylzIEFORCBncm91cGlkPShTRUxFQ1QgZ3JvdXBpZCBGUk9NIGxp c3Rncm91cHMgV0hFUkUgZ3JvdXBuYW1lPSUoZ3JvdXBuYW1lKXMpKSBSRVRVUk5JTkcgbGlz dG5hbWUiLCB7CiAgICAgICAgICAgICAgICAgJ2lkJzogbGlzdGlkLAogICAgICAgICAgICAg ICAgICduYW1lJzogbFsnbGlzdG5hbWUnXSwKICAgICAgICAgICAgICAgICAnZGVzYyc6IGxb J2xvbmdkZXNjJ10sCiAgICAgICAgICAgICAgICAgJ2dyb3VwbmFtZSc6IGxbJ2dyb3VwJ11b J2dyb3VwbmFtZSddLAorICAgICAgICAgICAgICAgICdzdWJzY3JpYmVyX2FjY2Vzcyc6IGxb J3N1YnNjcmliZXJfYWNjZXNzJ10sCiAgICAgICAgICAgICB9KQogICAgICAgICAgICAgZm9y IG4sIGluIGN1cnMuZmV0Y2hhbGwoKToKICAgICAgICAgICAgICAgICBwcmludCgiVXBkYXRl ZCBsaXN0ICVzICIgJSBuKQotLSAKMi40MC4wCgo= --------------Ip8lvcZhHtXn0OtOXUtjzKav Content-Type: text/x-patch; charset=UTF-8; name="0002-Add-subscriber_access-to-archives-API.patch" Content-Disposition: attachment; filename="0002-Add-subscriber_access-to-archives-API.patch" Content-Transfer-Encoding: base64 RnJvbSBlOTQxMjk0ZGZlM2U4MjQ1OWVmZDJiMzZjYTU3YzZlYTgwN2I4MTRhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Qz1DMz1BOWxlc3Rpbj0yME1hdHRl Pz0gPGdpdGxhYkBjbWF0dGUubWU+CkRhdGU6IE1vbiwgMyBBcHIgMjAyMyAxNzowODoyMiAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSBBZGQgc3Vic2NyaWJlcl9hY2Nlc3MgdG8gYXJj aGl2ZXMgQVBJCgotLS0KIHdlYi9wZ2xpc3Rlci9saXN0cy92aWV3c19hcGkucHkgfCA0ICsr LS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvd2ViL3BnbGlzdGVyL2xpc3RzL3ZpZXdzX2FwaS5weSBiL3dlYi9wZ2xp c3Rlci9saXN0cy92aWV3c19hcGkucHkKaW5kZXggMjRlNDFkZi4uZTk1N2MyZCAxMDA2NDQK LS0tIGEvd2ViL3BnbGlzdGVyL2xpc3RzL3ZpZXdzX2FwaS5weQorKysgYi93ZWIvcGdsaXN0 ZXIvbGlzdHMvdmlld3NfYXBpLnB5CkBAIC0xNDAsMTEgKzE0MCwxMSBAQCBjbGFzcyBBcmNo aXZlc0FwaShWaWV3KToKICAgICBkZWYgZ2V0X2xpc3RzKHNlbGYsIHdpdGhfc3Vic2NyaWJl cnMpOgogICAgICAgICBjdXJzID0gY29ubmVjdGlvbi5jdXJzb3IoKQogICAgICAgICBpZiB3 aXRoX3N1YnNjcmliZXJzOgotICAgICAgICAgICAgY3Vycy5leGVjdXRlKCJTRUxFQ1QgbC5p ZCBBUyBsaXN0aWQsIGwubmFtZSBBUyBsaXN0bmFtZSwgZC5uYW1lIEFTIGRvbWFpbiwgbC5z aG9ydGRlc2MsIGwubG9uZ2Rlc2MsIGpzb25fYnVpbGRfb2JqZWN0KCdpZCcsIGcuaWQsICdn cm91cG5hbWUnLCBnLmdyb3VwbmFtZSkgQVMgZ3JvdXAsIENPQUxFU0NFKGFycmF5X2FnZyh1 LnVzZXJuYW1lKSBGSUxURVIgKFdIRVJFIHUudXNlcm5hbWUgSVMgTk9UIE5VTEwpLCBBUlJB WVtdOjp0ZXh0W10pIEFTIHN1YnNjcmliZXJzIEZST00gbGlzdHNfbGlzdCBsIElOTkVSIEpP SU4gbGlzdHNfZG9tYWluIGQgT04gbC5kb21haW5faWQ9ZC5pZCBJTk5FUiBKT0lOIGxpc3Rz X2xpc3Rncm91cCBnIE9OIGwuZ3JvdXBfaWQ9Zy5pZCBMRUZUIEpPSU4gbWFpbGluZ2xpc3Rf c3Vic2NyaWJlcnMgcyBPTiBzLmxpc3RpZD1sLmlkIExFRlQgSk9JTiBhdXRoX3VzZXIgdSBP TiB1LmlkPXMudXNlcmlkIFdIRVJFIGwuYXJjaGl2ZWRhdF9pZD0lKGFyY2hpdmVpZClzIEdS T1VQIEJZIGwuaWQsIGQuaWQsIGcuaWQgT1JERVIgQlkgMiwxIiwgeworICAgICAgICAgICAg Y3Vycy5leGVjdXRlKCJTRUxFQ1QgbC5pZCBBUyBsaXN0aWQsIGwubmFtZSBBUyBsaXN0bmFt ZSwgZC5uYW1lIEFTIGRvbWFpbiwgbC5zaG9ydGRlc2MsIGwubG9uZ2Rlc2MsIGpzb25fYnVp bGRfb2JqZWN0KCdpZCcsIGcuaWQsICdncm91cG5hbWUnLCBnLmdyb3VwbmFtZSkgQVMgZ3Jv dXAsIENPQUxFU0NFKGFycmF5X2FnZyh1LnVzZXJuYW1lKSBGSUxURVIgKFdIRVJFIHUudXNl cm5hbWUgSVMgTk9UIE5VTEwpLCBBUlJBWVtdOjp0ZXh0W10pIEFTIHN1YnNjcmliZXJzLCBs LnN1YnNjcmliZXJfYWNjZXNzIEFTIHN1YnNjcmliZXJfYWNjZXNzIEZST00gbGlzdHNfbGlz dCBsIElOTkVSIEpPSU4gbGlzdHNfZG9tYWluIGQgT04gbC5kb21haW5faWQ9ZC5pZCBJTk5F UiBKT0lOIGxpc3RzX2xpc3Rncm91cCBnIE9OIGwuZ3JvdXBfaWQ9Zy5pZCBMRUZUIEpPSU4g bWFpbGluZ2xpc3Rfc3Vic2NyaWJlcnMgcyBPTiBzLmxpc3RpZD1sLmlkIExFRlQgSk9JTiBh dXRoX3VzZXIgdSBPTiB1LmlkPXMudXNlcmlkIFdIRVJFIGwuYXJjaGl2ZWRhdF9pZD0lKGFy Y2hpdmVpZClzIEdST1VQIEJZIGwuaWQsIGQuaWQsIGcuaWQgT1JERVIgQlkgMiwxIiwgewog ICAgICAgICAgICAgICAgICdhcmNoaXZlaWQnOiBzZWxmLmFyY2hpdmVzZXJ2ZXIuaWQsCiAg ICAgICAgICAgICB9KQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgY3Vycy5leGVjdXRl KCJTRUxFQ1QgbC5pZCBBUyBsaXN0aWQsIGwubmFtZSBBUyBsaXN0bmFtZSwgZC5uYW1lIEFT IGRvbWFpbiwgbC5zaG9ydGRlc2MsIGwubG9uZ2Rlc2MsIGpzb25fYnVpbGRfb2JqZWN0KCdp ZCcsIGcuaWQsICdncm91cG5hbWUnLCBnLmdyb3VwbmFtZSkgQVMgZ3JvdXAgRlJPTSBsaXN0 c19saXN0IGwgSU5ORVIgSk9JTiBsaXN0c19kb21haW4gZCBPTiBsLmRvbWFpbl9pZD1kLmlk IElOTkVSIEpPSU4gbGlzdHNfbGlzdGdyb3VwIGcgT04gbC5ncm91cF9pZD1nLmlkIFdIRVJF IGwuYXJjaGl2ZWRhdF9pZD0lKGFyY2hpdmVpZClzIEdST1VQIEJZIGwuaWQsIGQuaWQsIGcu aWQgT1JERVIgQlkgMiwxIiwgeworICAgICAgICAgICAgY3Vycy5leGVjdXRlKCJTRUxFQ1Qg bC5pZCBBUyBsaXN0aWQsIGwubmFtZSBBUyBsaXN0bmFtZSwgZC5uYW1lIEFTIGRvbWFpbiwg bC5zaG9ydGRlc2MsIGwubG9uZ2Rlc2MsIGpzb25fYnVpbGRfb2JqZWN0KCdpZCcsIGcuaWQs ICdncm91cG5hbWUnLCBnLmdyb3VwbmFtZSkgQVMgZ3JvdXAsIGwuc3Vic2NyaWJlcl9hY2Nl c3MgQVMgc3Vic2NyaWJlcl9hY2Nlc3MgRlJPTSBsaXN0c19saXN0IGwgSU5ORVIgSk9JTiBs aXN0c19kb21haW4gZCBPTiBsLmRvbWFpbl9pZD1kLmlkIElOTkVSIEpPSU4gbGlzdHNfbGlz dGdyb3VwIGcgT04gbC5ncm91cF9pZD1nLmlkIFdIRVJFIGwuYXJjaGl2ZWRhdF9pZD0lKGFy Y2hpdmVpZClzIEdST1VQIEJZIGwuaWQsIGQuaWQsIGcuaWQgT1JERVIgQlkgMiwxIiwgewog ICAgICAgICAgICAgICAgICdhcmNoaXZlaWQnOiBzZWxmLmFyY2hpdmVzZXJ2ZXIuaWQsCiAg ICAgICAgICAgICB9KQogICAgICAgICBjb2x1bW5zID0gW2NvbFswXSBmb3IgY29sIGluIGN1 cnMuZGVzY3JpcHRpb25dCi0tIAoyLjQwLjAKCg== --------------Ip8lvcZhHtXn0OtOXUtjzKav--