Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wPvMT-0018uW-1f for pgsql-hackers@arkaria.postgresql.org; Thu, 21 May 2026 04:50:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wPvMQ-0093OZ-1D for pgsql-hackers@arkaria.postgresql.org; Thu, 21 May 2026 04:50:19 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wPvMP-0093OQ-1f for pgsql-hackers@lists.postgresql.org; Thu, 21 May 2026 04:50:19 +0000 Received: from fhigh-b6-smtp.messagingengine.com ([202.12.124.157]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wPvMM-00000000fkN-3oJT for pgsql-hackers@postgresql.org; Thu, 21 May 2026 04:50:17 +0000 Received: from phl-compute-05.internal (phl-compute-05.internal [10.202.2.45]) by mailfhigh.stl.internal (Postfix) with ESMTP id 153D07A005F; Thu, 21 May 2026 00:50:12 -0400 (EDT) Received: from phl-imap-08 ([10.202.2.84]) by phl-compute-05.internal (MEProxy); Thu, 21 May 2026 00:50:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=compiler.org; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm3; t=1779339011; x=1779425411; bh=fIpXcSktNp 8eVJlZ44aHet5Q52FuDxK86oboEjT7RUY=; b=MCdI1cKzcY10sGGWfLPmMuVBAm n/yrwvuTDzrfp8Bto0rEv/IVUiMfM/K7NUMckjte6hNO3+o37pZVbHJmeWGqLqVl MyH5O2HN4nsLI7aDfeGAJ3f5FQmIzppscVLsTzTeK6b8pVOK+qHGfY73NK7e15fY ncFLuIofig5p6sGf1sMvEGmicWh9p6noRS8TcWsEL657g1pb8wAxiyGRvXi9NVbR tCWN3P3+RvLL1hm9gwYw4dZhHJMJhiqljCDIFPJAvWvxlrqUoarmXKwiqq4fR6Z2 ufQQ82bSTLSWPDo3yW/kTy0ElE9b+TItw5dcS8LVQv8UgYyM0n/s4piP1zKA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1779339011; x=1779425411; bh=fIpXcSktNp8eVJlZ44aHet5Q52FuDxK86ob oEjT7RUY=; b=eTWBrbZdSBsoA0XqKPMnGGFWeOgiJB8V0YHzkdIkrWKtM6oNkOv SCHUYtTuoAlk3u+BVZQCA4QHTk3niquDr3/tE8/fre2IDdbhfKD6gl23kjrARRsY /Oed9Tujb3y2S4EmcNdyzMH+8zn51+OpRjTmR8KoXmqHJBzwW1L69CVqITw+tCEW kD9He48ueEjf7sWXhi0itGyCA+AzjQOjrTJekjXdQnaj7GVfEceqSK2jy2mDz2tH TvhhHJwz5cGHQxwsxbmE+fY7PZ4r+tO1ehzpWT+Wv4g6yLNTwSMVj+AXfqy0x+KQ HSghM5giSbVMiw5O0XSZF0HkRBVkoba7JLw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgddugeeiheelucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefoggffhffvvefkjghfufgtsehmtderre ertddtnecuhfhrohhmpedflfhovghlucflrggtohgsshhonhdfuceojhhovghlsegtohhm phhilhgvrhdrohhrgheqnecuggftrfgrthhtvghrnhepfffgleffffdvhefhieegfeeije dujedvieeuveeugefgveeukeevieethefhteeinecuvehluhhsthgvrhfuihiivgeptden ucfrrghrrghmpehmrghilhhfrhhomhepjhhovghlsegtohhmphhilhgvrhdrohhrghdpnh gspghrtghpthhtohepvddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheprghrshgv nhhihidrmhhukhhhihhnrdguvghvsehgmhgrihhlrdgtohhmpdhrtghpthhtohepphhgsh hqlhdqhhgrtghkvghrshesphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: ic6394509:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 852FB2CE0072; Thu, 21 May 2026 00:50:11 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: Ae8-aTnWUuY7 Date: Wed, 20 May 2026 21:49:51 -0700 From: "Joel Jacobson" To: "Arseniy Mukhin" Cc: pgsql-hackers Message-Id: In-Reply-To: References: <9835b0a4-9121-47ac-9c44-427b8b1a7f1b@app.fastmail.com> Subject: Re: [PATCH] Fix LISTEN startup race with direct advancement Content-Type: multipart/mixed; boundary=ac6a70e139bd8836d7668e4a9369493b259e7a7d List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --ac6a70e139bd8836d7668e4a9369493b259e7a7d Content-Type: text/plain Content-Transfer-Encoding: 7bit On Wed, May 20, 2026, at 10:27, Arseniy Mukhin wrote: > Yes, but I meant 0001 and 0003. There are two specs: > - async-notify-listen-startup.spec (added in 0001) > - async-notify-listen-race.spec (added in 0003) > Looks identical, unless I missed something. Ohh, right, thanks for spotting. New version attached, 0001 and 0002 identical, and 0003 now only contain the fix. /Joel --ac6a70e139bd8836d7668e4a9369493b259e7a7d Content-Disposition: attachment; filename*0="v2-0001-Test-missed-LISTEN-startup-notification.patch" Content-Type: application/octet-stream; name="=?UTF-8?Q?v2-0001-Test-missed-LISTEN-startup-notification.patch?=" Content-Transfer-Encoding: base64 RnJvbSAxNmM5NGYzZDExOGE0ZGEwMmIzN2I5YTQ1ZDJhYmFmZGE2Yjk4NGY0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2VsIEphY29ic29uIDxqb2VsQGNvbXBpbGVyLm9y Zz4KRGF0ZTogVHVlLCAxOSBNYXkgMjAyNiAxMDo0NDo0NiAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMS8zXSBUZXN0IG1pc3NlZCBMSVNURU4gc3RhcnR1cCBub3RpZmljYXRpb24KCkFkZCBh biBpbmplY3Rpb24tcG9pbnQgaXNvbGF0aW9uIHRlc3QgdGhhdCBwYXVzZXMgYSBmaXJzdCBM SVNURU4gYmVmb3JlCkF0Q29tbWl0X05vdGlmeSgpIGFwcGxpZXMgdGhlIHBlbmRpbmcgbGlz dGVuIGFjdGlvbi4gIEEgY29uY3VycmVudApOT1RJRlkgaW4gdGhhdCB3aW5kb3cgc2hvdWxk IGJlIGRlbGl2ZXJlZCB3aGVuIExJU1RFTiByZXR1cm5zLgoKVGhpcyBpcyBkaXN0aW5jdCBm cm9tIHRoZSBzZXR1cCByYWNlIGRvY3VtZW50ZWQgaW4gbGlzdGVuLnNnbWwuICBUaGF0CnJh Y2UgY2FuIHByb2R1Y2UgZmFsc2UgcG9zaXRpdmVzOiBhIG5ldyBsaXN0ZW5lciBjYW4gcmVj ZWl2ZQpub3RpZmljYXRpb25zIGZvciBjaGFuZ2VzIGl0IGFscmVhZHkgc2F3IGR1cmluZyBp dHMgaW5pdGlhbCBkYXRhYmFzZQppbnNwZWN0aW9uLiAgU3VjaCBleHRyYSBub3RpZmljYXRp b25zIGFyZSBoYXJtbGVzcy4KClRoZSByYWNlIHRlc3RlZCBoZXJlIGlzIGEgZmFsc2UgbmVn YXRpdmUuICBUaGUgbGlzdGVuZXIgaGFzIGFscmVhZHkKcmVnaXN0ZXJlZCBpdHMgcXVldWUg cG9zaXRpb24sIGFuZCBpdHMgY2hhbm5lbCB0YWJsZSBlbnRyeSBpcyB2aXNpYmxlCnRvIFNp Z25hbEJhY2tlbmRzKCkuICBIb3dldmVyLCBBdENvbW1pdF9Ob3RpZnkoKSBoYXMgbm90IHll dCBtYXJrZWQgaXQKbGlzdGVuaW5nPXRydWUsIHNvIGEgbm90aWZpY2F0aW9uIGNvbW1pdHRl ZCBhZnRlciB0aGF0IHBvaW50IGNhbiBiZQpza2lwcGVkIGFuZCBsb3N0IGVudGlyZWx5LgoK QmVmb3JlIHRoZSBmaXgsIHRoaXMgdGVzdCBmYWlscyBieSBtaXNzaW5nIHRoYXQgbm90aWZp Y2F0aW9uLiAgVGhlIHRlc3QKd291bGQgaGF2ZSBwYXNzZWQgYmVmb3JlIHRoZSBMSVNURU4v Tk9USUZZIHJld29yayBpbiAyODJiMWNkLCB3aGljaAppbnRyb2R1Y2VkIHRoZSBzaGFyZWQg Y2hhbm5lbCBtYXAgYW5kIGRpcmVjdCBhZHZhbmNlbWVudC4KLS0tCiBzcmMvYmFja2VuZC9j b21tYW5kcy9hc3luYy5jICAgICAgICAgICAgICAgICAgfCAgNCArKwogc3JjL3Rlc3QvbW9k dWxlcy9pbmplY3Rpb25fcG9pbnRzL01ha2VmaWxlICAgIHwgIDEgKwogLi4uL2V4cGVjdGVk L2FzeW5jLW5vdGlmeS1saXN0ZW4tc3RhcnR1cC5vdXQgIHwgMTggKysrKysrKysrCiBzcmMv dGVzdC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvbWVzb24uYnVpbGQgfCAgMSArCiAuLi4v c3BlY3MvYXN5bmMtbm90aWZ5LWxpc3Rlbi1zdGFydHVwLnNwZWMgICAgfCAzOCArKysrKysr KysrKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvZXhwZWN0 ZWQvYXN5bmMtbm90aWZ5LWxpc3Rlbi1zdGFydHVwLm91dAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9zcGVjcy9hc3luYy1ub3RpZnkt bGlzdGVuLXN0YXJ0dXAuc3BlYwoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRz L2FzeW5jLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9hc3luYy5jCmluZGV4IGRiNmE5YTY1 NjFiLi5jZWZkNTI5N2E3MyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvYXN5 bmMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9hc3luYy5jCkBAIC0xODQsNiArMTg0 LDcgQEAKICNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUgInV0aWxzL2Rz YS5oIgogI2luY2x1ZGUgInV0aWxzL2d1Y19ob29rcy5oIgorI2luY2x1ZGUgInV0aWxzL2lu amVjdGlvbl9wb2ludC5oIgogI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCiAjaW5jbHVk ZSAidXRpbHMvcHNfc3RhdHVzLmgiCiAjaW5jbHVkZSAidXRpbHMvc25hcG1nci5oIgpAQCAt MTM4Nyw2ICsxMzg4LDkgQEAgQXRDb21taXRfTm90aWZ5KHZvaWQpCiAJaWYgKFRyYWNlX25v dGlmeSkKIAkJZWxvZyhERUJVRzEsICJBdENvbW1pdF9Ob3RpZnkiKTsKIAorCWlmIChwZW5k aW5nQWN0aW9ucyAhPSBOVUxMKQorCQlJTkpFQ1RJT05fUE9JTlQoImFzeW5jLW5vdGlmeS1i ZWZvcmUtbGlzdGVuLWNvbW1pdCIsIE5VTEwpOworCiAJLyogQXBwbHkgc3RhZ2VkIGxpc3Rl bi91bmxpc3RlbiBjaGFuZ2VzICovCiAJQXBwbHlQZW5kaW5nTGlzdGVuQWN0aW9ucyh0cnVl KTsKIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL01h a2VmaWxlIGIvc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL01ha2VmaWxlCmlu ZGV4IGMwMWQyZmIwOTVjLi4zN2MxYjFjZmZiNiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9k dWxlcy9pbmplY3Rpb25fcG9pbnRzL01ha2VmaWxlCisrKyBiL3NyYy90ZXN0L21vZHVsZXMv aW5qZWN0aW9uX3BvaW50cy9NYWtlZmlsZQpAQCAtMTMsNiArMTMsNyBAQCBSRUdSRVNTID0g aW5qZWN0aW9uX3BvaW50cyBoYXNoYWdnIHJlaW5kZXhfY29uYyB2YWN1dW0KIFJFR1JFU1Nf T1BUUyA9IC0tZGxwYXRoPSQodG9wX2J1aWxkZGlyKS9zcmMvdGVzdC9yZWdyZXNzCiAKIElT T0xBVElPTiA9IGJhc2ljIFwKKwkgICAgYXN5bmMtbm90aWZ5LWxpc3Rlbi1zdGFydHVwIFwK IAkgICAgaW5wbGFjZSBcCiAJICAgIHJlcGFjayBcCiAJICAgIHJlcGFja190ZW1wb3JhbCBc CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvZXhwZWN0 ZWQvYXN5bmMtbm90aWZ5LWxpc3Rlbi1zdGFydHVwLm91dCBiL3NyYy90ZXN0L21vZHVsZXMv aW5qZWN0aW9uX3BvaW50cy9leHBlY3RlZC9hc3luYy1ub3RpZnktbGlzdGVuLXN0YXJ0dXAu b3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5kNjVlNTAxNWNm ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50 cy9leHBlY3RlZC9hc3luYy1ub3RpZnktbGlzdGVuLXN0YXJ0dXAub3V0CkBAIC0wLDAgKzEs MTggQEAKK1BhcnNlZCB0ZXN0IHNwZWMgd2l0aCAzIHNlc3Npb25zCisKK3N0YXJ0aW5nIHBl cm11dGF0aW9uOiBsaXN0ZW4gbm90aWZ5IHdha2UgY2hlY2sKK3N0ZXAgbGlzdGVuOiBMSVNU RU4gcmFjZTsgPHdhaXRpbmcgLi4uPgorc3RlcCBub3RpZnk6IE5PVElGWSByYWNlLCAncGF5 bG9hZCc7CitzdGVwIHdha2U6IAorCVNFTEVDVCBGUk9NIGluamVjdGlvbl9wb2ludHNfZGV0 YWNoKCdhc3luYy1ub3RpZnktYmVmb3JlLWxpc3Rlbi1jb21taXQnKTsKKwlTRUxFQ1QgRlJP TSBpbmplY3Rpb25fcG9pbnRzX3dha2V1cCgnYXN5bmMtbm90aWZ5LWJlZm9yZS1saXN0ZW4t Y29tbWl0Jyk7CisgPHdhaXRpbmcgLi4uPgorc3RlcCBsaXN0ZW46IDwuLi4gY29tcGxldGVk PgorbGlzdGVuZXI6IE5PVElGWSAicmFjZSIgd2l0aCBwYXlsb2FkICJwYXlsb2FkIiBmcm9t IG5vdGlmaWVyCitzdGVwIGNoZWNrOiBTRUxFQ1QgMSBBUyB4OworeAorLQorMQorKDEgcm93 KQorCitzdGVwIHdha2U6IDwuLi4gY29tcGxldGVkPgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv bW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL21lc29uLmJ1aWxkIGIvc3JjL3Rlc3QvbW9kdWxl cy9pbmplY3Rpb25fcG9pbnRzL21lc29uLmJ1aWxkCmluZGV4IDU5ZGJhMWNiMDIzLi42MWE2 OGJjZmUxNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRz L21lc29uLmJ1aWxkCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9t ZXNvbi5idWlsZApAQCAtNDQsNiArNDQsNyBAQCB0ZXN0cyArPSB7CiAgICdpc29sYXRpb24n OiB7CiAgICAgJ3NwZWNzJzogWwogICAgICAgJ2Jhc2ljJywKKyAgICAgICdhc3luYy1ub3Rp ZnktbGlzdGVuLXN0YXJ0dXAnLAogICAgICAgJ2lucGxhY2UnLAogICAgICAgJ3JlcGFjaycs CiAgICAgICAncmVwYWNrX3RlbXBvcmFsJywKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVs ZXMvaW5qZWN0aW9uX3BvaW50cy9zcGVjcy9hc3luYy1ub3RpZnktbGlzdGVuLXN0YXJ0dXAu c3BlYyBiL3NyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9zcGVjcy9hc3luYy1u b3RpZnktbGlzdGVuLXN0YXJ0dXAuc3BlYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uMjk4MzJhNTE0ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9t b2R1bGVzL2luamVjdGlvbl9wb2ludHMvc3BlY3MvYXN5bmMtbm90aWZ5LWxpc3Rlbi1zdGFy dHVwLnNwZWMKQEAgLTAsMCArMSwzOCBAQAorIyBUZXN0IExJU1RFTi9OT1RJRlkgc3RhcnR1 cCBiZWhhdmlvciB3aGlsZSBjb21taXR0aW5nIHRoZSBmaXJzdCBMSVNURU4uCisjCisjIEEg Zmlyc3QgTElTVEVOIHJlZ2lzdGVycyB0aGUgYmFja2VuZCdzIHF1ZXVlIHBvc2l0aW9uIGJl Zm9yZSB0aGUgdHJhbnNhY3Rpb24KKyMgYmVjb21lcyB2aXNpYmxlLCB0aGVuIGNvbW1pdHMg dGhlIGxvY2FsIGxpc3RlbiBzdGF0ZSBsYXRlciBpbiBBdENvbW1pdF9Ob3RpZnkuCisjIEEg Y29uY3VycmVudCBOT1RJRlkgaW4gdGhhdCB3aW5kb3cgbXVzdCBzdGlsbCB3YWtlIHRoZSBs aXN0ZW5lciwgc28gdGhlCisjIG5vdGlmaWNhdGlvbiBpcyBkZWxpdmVyZWQgYWZ0ZXIgTElT VEVOIHJldHVybnMuCisKK3NldHVwCit7CisJQ1JFQVRFIEVYVEVOU0lPTiBpbmplY3Rpb25f cG9pbnRzOworfQorCit0ZWFyZG93bgoreworCURST1AgRVhURU5TSU9OIGluamVjdGlvbl9w b2ludHM7Cit9CisKK3Nlc3Npb24gbGlzdGVuZXIKK3NldHVwCit7CisJU0VMRUNUIEZST00g aW5qZWN0aW9uX3BvaW50c19zZXRfbG9jYWwoKTsKKwlTRUxFQ1QgRlJPTSBpbmplY3Rpb25f cG9pbnRzX2F0dGFjaCgnYXN5bmMtbm90aWZ5LWJlZm9yZS1saXN0ZW4tY29tbWl0JywgJ3dh aXQnKTsKK30KK3N0ZXAgbGlzdGVuCXsgTElTVEVOIHJhY2U7IH0KK3N0ZXAgY2hlY2sJeyBT RUxFQ1QgMSBBUyB4OyB9Cit0ZWFyZG93bgl7IFVOTElTVEVOICo7IH0KKworc2Vzc2lvbiBu b3RpZmllcgorc3RlcCBub3RpZnkJeyBOT1RJRlkgcmFjZSwgJ3BheWxvYWQnOyB9CisKK3Nl c3Npb24gY29udHJvbGxlcgorc3RlcCB3YWtlCit7CisJU0VMRUNUIEZST00gaW5qZWN0aW9u X3BvaW50c19kZXRhY2goJ2FzeW5jLW5vdGlmeS1iZWZvcmUtbGlzdGVuLWNvbW1pdCcpOwor CVNFTEVDVCBGUk9NIGluamVjdGlvbl9wb2ludHNfd2FrZXVwKCdhc3luYy1ub3RpZnktYmVm b3JlLWxpc3Rlbi1jb21taXQnKTsKK30KKworcGVybXV0YXRpb24gbGlzdGVuIG5vdGlmeSB3 YWtlKGxpc3RlbikgY2hlY2sKLS0gCjIuNTIuMAoK --ac6a70e139bd8836d7668e4a9369493b259e7a7d Content-Disposition: attachment; filename*0="v2-0003-Fix-LISTEN-startup-race-with-direct-advancement.patch" Content-Type: application/octet-stream; name="=?UTF-8?Q?v2-0003-Fix-LISTEN-startup-race-with-direct-advancement.patch?=" Content-Transfer-Encoding: base64 RnJvbSA1YzFmYTUxNzdiNTM3NzliY2I4ZjIwMGIxOWQ2NmNiNjFhOGI0MjA4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2VsIEphY29ic29uIDxqb2VsQGNvbXBpbGVyLm9y Zz4KRGF0ZTogVHVlLCAxOSBNYXkgMjAyNiAwNzozNjoyNSAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMy8zXSBGaXggTElTVEVOIHN0YXJ0dXAgcmFjZSB3aXRoIGRpcmVjdCBhZHZhbmNlbWVu dAoKTElTVEVOIGNyZWF0ZXMgaXRzIHNoYXJlZCBjaGFubmVsLW1hcCBlbnRyeSBiZWZvcmUg Y29tbWl0LCB3aXRoCmxpc3RlbmluZz1mYWxzZSB1bnRpbCBBdENvbW1pdF9Ob3RpZnkoKSBh cHBsaWVzIHRoZSBzdGFnZWQgYWN0aW9uLiAgQQpjb25jdXJyZW50IE5PVElGWSBjYW4gc2Vl IHRoYXQgY29tbWl0IGluIHRoZSB3aW5kb3cgYmVmb3JlIHRoZSBmbGFnIGlzCmZsaXBwZWQu ICBTaWduYWxCYWNrZW5kcygpIHRyZWF0ZWQgdGhhdCBiYWNrZW5kIGFzIG5vdCBpbnRlcmVz dGVkLCBzbwpkaXJlY3QgYWR2YW5jZW1lbnQgY291bGQgbW92ZSBpdHMgcXVldWUgcG9pbnRl ciBwYXN0IHRoZSBub3RpZmljYXRpb24uCgpEbyBub3QgdGVzdCBsaXN0ZW5lcnNbal0ubGlz dGVuaW5nIHdoZW4gZGVjaWRpbmcgd2hvbSB0byB3YWtlLiAgQQpmYWxzZSB2YWx1ZSBjYW4g bWVhbiBhIExJU1RFTiB0aGF0IGhhcyByZWdpc3RlcmVkIGl0cyBxdWV1ZSBwb3NpdGlvbiwK YnV0IGhhcyBub3QgeWV0IHJ1biBBdENvbW1pdF9Ob3RpZnkoKS4gIFdha2luZyBzdWNoIGEg YmFja2VuZCBpcwpoYXJtbGVzcyBpZiBpdCBhYm9ydHM7IGFkdmFuY2luZyBpdCBoZXJlIGNv dWxkIG1ha2UgaXQgbWlzcyBhCm5vdGlmaWNhdGlvbiBhZnRlciBjb21taXQuCgpUaGUgcHJl Y2VkaW5nIG1pc3NlZC1ub3RpZmljYXRpb24gdGVzdCBub3cgcGFzc2VzIHdpdGggdGhlIGZp eC4KLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy9hc3luYy5jIHwgMjEgKysrKysrKysrKysr Ky0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9hc3luYy5jIGIvc3Jj L2JhY2tlbmQvY29tbWFuZHMvYXN5bmMuYwppbmRleCBiZDdlZmY3ZjMwNS4uZjFiZDI3OGJk MTkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FzeW5jLmMKKysrIGIvc3Jj L2JhY2tlbmQvY29tbWFuZHMvYXN5bmMuYwpAQCAtMTE0LDExICsxMTQsMTEgQEAKICAqCSAg SWYgdGhlIGN1cnJlbnQgdHJhbnNhY3Rpb24gaGFzIGV4ZWN1dGVkIGFueSBMSVNURU4vVU5M SVNURU4gYWN0aW9ucywKICAqCSAgUHJlQ29tbWl0X05vdGlmeSgpIHByZXBhcmVzIHRvIGNv bW1pdCB0aG9zZS4gIEZvciBMSVNURU4sIGl0CiAgKgkgIHByZS1hbGxvY2F0ZXMgZW50cmll cyBpbiBib3RoIHRoZSBwZXItYmFja2VuZCBsb2NhbENoYW5uZWxUYWJsZSBhbmQgdGhlCi0g KgkgIHNoYXJlZCBnbG9iYWxDaGFubmVsVGFibGUgKHdpdGggbGlzdGVuaW5nPWZhbHNlIHNv IHRoYXQgdGhlc2UgZW50cmllcwotICoJICBhcmUgbm8tb3BzIGZvciB0aGUgbW9tZW50KS4g IEl0IGFsc28gcmVjb3JkcyB0aGUgZmluYWwgcGVyLWNoYW5uZWwKLSAqCSAgaW50ZW50IGlu IHBlbmRpbmdMaXN0ZW5BY3Rpb25zLCBzbyBwb3N0LWNvbW1pdC9hYm9ydCBwcm9jZXNzaW5n IGNhbgotICoJICBhcHBseSB0aGF0IGluIGEgc2luZ2xlIHN0ZXAuICBTaW5jZSBhbGwgdGhl c2UgYWxsb2NhdGlvbnMgaGFwcGVuIGJlZm9yZQotICoJICBjb21taXR0aW5nIHRvIGNsb2cs IHdlIGNhbiBzYWZlbHkgYWJvcnQgdGhlIHRyYW5zYWN0aW9uIG9uIGZhaWx1cmUuCisgKgkg IHNoYXJlZCBnbG9iYWxDaGFubmVsVGFibGUgKHdpdGggbGlzdGVuaW5nPWZhbHNlIHRvIG1h cmsgdGhlc2UgZW50cmllcworICoJICBhcyBzdGFnZWQpLiAgSXQgYWxzbyByZWNvcmRzIHRo ZSBmaW5hbCBwZXItY2hhbm5lbCBpbnRlbnQgaW4KKyAqCSAgcGVuZGluZ0xpc3RlbkFjdGlv bnMsIHNvIHBvc3QtY29tbWl0L2Fib3J0IHByb2Nlc3NpbmcgY2FuIGFwcGx5IHRoYXQgaW4K KyAqCSAgYSBzaW5nbGUgc3RlcC4gIFNpbmNlIGFsbCB0aGVzZSBhbGxvY2F0aW9ucyBoYXBw ZW4gYmVmb3JlIGNvbW1pdHRpbmcgdG8KKyAqCSAgY2xvZywgd2UgY2FuIHNhZmVseSBhYm9y dCB0aGUgdHJhbnNhY3Rpb24gb24gZmFpbHVyZS4KICAqCiAgKgkgIEFmdGVyIGNvbW1pdCwg QXRDb21taXRfTm90aWZ5KCkgcnVucyB0aHJvdWdoIHBlbmRpbmdMaXN0ZW5BY3Rpb25zIGFu ZAogICoJICB1cGRhdGVzIHRoZSBiYWNrZW5kJ3MgcGVyLWNoYW5uZWwgbGlzdGVuaW5nIGZs YWdzIHRvIGFjdGl2YXRlIG9yCkBAIC0yMzExLDkgKzIzMTEsNiBAQCBTaWduYWxCYWNrZW5k cyh2b2lkKQogCQkJaW50MzIJCXBpZDsKIAkJCVF1ZXVlUG9zaXRpb24gcG9zOwogCi0JCQlp ZiAoIWxpc3RlbmVyc1tqXS5saXN0ZW5pbmcpCi0JCQkJY29udGludWU7CQkvKiBpZ25vcmUg bm90LXlldC1jb21taXR0ZWQgbGlzdGVuZXJzICovCi0KIAkJCWkgPSBsaXN0ZW5lcnNbal0u cHJvY05vOwogCiAJCQlpZiAoUVVFVUVfQkFDS0VORF9XQUtFVVBfUEVORElORyhpKSkKQEAg LTIzMjcsNiArMjMyNCwxNCBAQCBTaWduYWxCYWNrZW5kcyh2b2lkKQogCiAJCQlBc3NlcnQo cGlkICE9IEludmFsaWRQaWQpOwogCisJCQkvKgorCQkJICogRG8gbm90IHRlc3QgbGlzdGVu ZXJzW2pdLmxpc3RlbmluZyBoZXJlLiAgQSBmYWxzZSB2YWx1ZSBjYW4KKwkJCSAqIG1lYW4g YSBMSVNURU4gdGhhdCBoYXMgcmVnaXN0ZXJlZCBpdHMgcXVldWUgcG9zaXRpb24sIGJ1dCBo YXMKKwkJCSAqIG5vdCB5ZXQgcnVuIEF0Q29tbWl0X05vdGlmeSgpLiAgV2FraW5nIHN1Y2gg YSBiYWNrZW5kIGlzCisJCQkgKiBoYXJtbGVzcyBpZiBpdCBhYm9ydHM7IGFkdmFuY2luZyBp dCBoZXJlIGNvdWxkIG1ha2UgaXQgbWlzcyBhCisJCQkgKiBub3RpZmljYXRpb24gYWZ0ZXIg Y29tbWl0LgorCQkJICovCisKIAkJCVFVRVVFX0JBQ0tFTkRfV0FLRVVQX1BFTkRJTkcoaSkg PSB0cnVlOwogCQkJc2lnbmFsUGlkc1tjb3VudF0gPSBwaWQ7CiAJCQlzaWduYWxQcm9jbm9z W2NvdW50XSA9IGk7Ci0tIAoyLjUyLjAKCg== --ac6a70e139bd8836d7668e4a9369493b259e7a7d Content-Disposition: attachment; filename*0="v2-0002-Test-LISTEN-startup-notification-for-already-seen-wo."; filename*1="patch" Content-Type: application/octet-stream; name="=?UTF-8?Q?v2-0002-Test-LISTEN-startup-notification-for-already-seen-wo.p?= =?UTF-8?Q?atch?=" Content-Transfer-Encoding: base64 RnJvbSA4ZmNiYTAzYWFiYzJkZWZiYWQ3NTYyOGIzMzdmYTBjNjUxMDM5YTUwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2VsIEphY29ic29uIDxqb2VsQGNvbXBpbGVyLm9y Zz4KRGF0ZTogVHVlLCAxOSBNYXkgMjAyNiAxMDo1NTo1MCAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMi8zXSBUZXN0IExJU1RFTiBzdGFydHVwIG5vdGlmaWNhdGlvbiBmb3IgYWxyZWFkeS1z ZWVuIHdvcmsKCkFkZCBhbiBpbmplY3Rpb24tcG9pbnQgaXNvbGF0aW9uIHRlc3QgdGhhdCBw YXVzZXMgYSBmaXJzdCBMSVNURU4gYWZ0ZXIKdGhlIHBlbmRpbmcgbGlzdGVuIGFjdGlvbiBo YXMgYmVlbiBhcHBsaWVkLCBidXQgYmVmb3JlIHRoZSBjb21tYW5kCnJldHVybnMgdG8gdGhl IGNsaWVudC4gIEEgY29uY3VycmVudCB0cmFuc2FjdGlvbiBpbnNlcnRzIGEgcm93IGFuZApz ZW5kcyBhIE5PVElGWSB3aGlsZSB0aGUgbGlzdGVuZXIgaXMgcGF1c2VkLgoKV2hlbiBMSVNU RU4gcmV0dXJucywgdGhlIGxpc3RlbmVyIHJlY2VpdmVzIG9uZSBub3RpZmljYXRpb24gYW5k IGl0cwppbml0aWFsIHRhYmxlIHNjYW4gc2VlcyB0aGUgc2FtZSByb3cuICBUaGlzIGRlbW9u c3RyYXRlcyB0aGUgaGFybWxlc3MKZmFsc2UgcG9zaXRpdmUgZGVzY3JpYmVkIGJ5IHRoZSBM SVNURU4gZG9jdW1lbnRhdGlvbjogYXBwbGljYXRpb25zIG1heQpvYnNlcnZlIHRoZSBzYW1l IHdvcmsgdGhyb3VnaCBib3RoIHRoZSBzdGFydHVwIHNjYW4gYW5kIHRoZQpub3RpZmljYXRp b24gc3RyZWFtLCBhbmQgc2hvdWxkIHRvbGVyYXRlIHRoYXQuCi0tLQogc3JjL2JhY2tlbmQv Y29tbWFuZHMvYXN5bmMuYyAgICAgICAgICAgICAgICAgIHwgIDMgKysKIHNyYy90ZXN0L21v ZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9NYWtlZmlsZSAgICB8ICAxICsKIC4uLi9hc3luYy1u b3RpZnktbGlzdGVuLWZhbHNlLXBvc2l0aXZlLm91dCAgICB8IDIxICsrKysrKysrKwogc3Jj L3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL21lc29uLmJ1aWxkIHwgIDEgKwogLi4u L2FzeW5jLW5vdGlmeS1saXN0ZW4tZmFsc2UtcG9zaXRpdmUuc3BlYyAgIHwgNDMgKysrKysr KysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA2OSBpbnNlcnRpb25zKCspCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL2V4cGVj dGVkL2FzeW5jLW5vdGlmeS1saXN0ZW4tZmFsc2UtcG9zaXRpdmUub3V0CiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL3NwZWNzL2FzeW5j LW5vdGlmeS1saXN0ZW4tZmFsc2UtcG9zaXRpdmUuc3BlYwoKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NvbW1hbmRzL2FzeW5jLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9hc3luYy5j CmluZGV4IGNlZmQ1Mjk3YTczLi5iZDdlZmY3ZjMwNSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvY29tbWFuZHMvYXN5bmMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9hc3luYy5j CkBAIC0xMzk0LDYgKzEzOTQsOSBAQCBBdENvbW1pdF9Ob3RpZnkodm9pZCkKIAkvKiBBcHBs eSBzdGFnZWQgbGlzdGVuL3VubGlzdGVuIGNoYW5nZXMgKi8KIAlBcHBseVBlbmRpbmdMaXN0 ZW5BY3Rpb25zKHRydWUpOwogCisJaWYgKHBlbmRpbmdBY3Rpb25zICE9IE5VTEwpCisJCUlO SkVDVElPTl9QT0lOVCgiYXN5bmMtbm90aWZ5LWFmdGVyLWxpc3Rlbi1jb21taXQiLCBOVUxM KTsKKwogCS8qIElmIG5vIGxvbmdlciBsaXN0ZW5pbmcgdG8gYW55dGhpbmcsIGdldCBvdXQg b2YgbGlzdGVuZXIgYXJyYXkgKi8KIAlpZiAoYW1SZWdpc3RlcmVkTGlzdGVuZXIgJiYgTG9j YWxDaGFubmVsVGFibGVJc0VtcHR5KCkpCiAJCWFzeW5jUXVldWVVbnJlZ2lzdGVyKCk7CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvTWFrZWZpbGUg Yi9zcmMvdGVzdC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvTWFrZWZpbGUKaW5kZXggMzdj MWIxY2ZmYjYuLmRjZjQ0MmRmOWJhIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL2lu amVjdGlvbl9wb2ludHMvTWFrZWZpbGUKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rp b25fcG9pbnRzL01ha2VmaWxlCkBAIC0xMyw2ICsxMyw3IEBAIFJFR1JFU1MgPSBpbmplY3Rp b25fcG9pbnRzIGhhc2hhZ2cgcmVpbmRleF9jb25jIHZhY3V1bQogUkVHUkVTU19PUFRTID0g LS1kbHBhdGg9JCh0b3BfYnVpbGRkaXIpL3NyYy90ZXN0L3JlZ3Jlc3MKIAogSVNPTEFUSU9O ID0gYmFzaWMgXAorCSAgICBhc3luYy1ub3RpZnktbGlzdGVuLWZhbHNlLXBvc2l0aXZlIFwK IAkgICAgYXN5bmMtbm90aWZ5LWxpc3Rlbi1zdGFydHVwIFwKIAkgICAgaW5wbGFjZSBcCiAJ ICAgIHJlcGFjayBcCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL2luamVjdGlvbl9w b2ludHMvZXhwZWN0ZWQvYXN5bmMtbm90aWZ5LWxpc3Rlbi1mYWxzZS1wb3NpdGl2ZS5vdXQg Yi9zcmMvdGVzdC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvZXhwZWN0ZWQvYXN5bmMtbm90 aWZ5LWxpc3Rlbi1mYWxzZS1wb3NpdGl2ZS5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAuLjRjYWI5NTFjYTU1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rl c3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL2V4cGVjdGVkL2FzeW5jLW5vdGlmeS1saXN0 ZW4tZmFsc2UtcG9zaXRpdmUub3V0CkBAIC0wLDAgKzEsMjEgQEAKK1BhcnNlZCB0ZXN0IHNw ZWMgd2l0aCAzIHNlc3Npb25zCisKK3N0YXJ0aW5nIHBlcm11dGF0aW9uOiBsaXN0ZW4gbm90 aWZ5IHdha2UgaW5zcGVjdAorc3RlcCBsaXN0ZW46IExJU1RFTiByYWNlOyA8d2FpdGluZyAu Li4+CitzdGVwIG5vdGlmeTogCisJSU5TRVJUIElOVE8gbm90aWZ5X3F1ZXVlIFZBTFVFUyAo MSk7CisJTk9USUZZIHJhY2UsICcxJzsKKworc3RlcCB3YWtlOiAKKwlTRUxFQ1QgRlJPTSBp bmplY3Rpb25fcG9pbnRzX2RldGFjaCgnYXN5bmMtbm90aWZ5LWFmdGVyLWxpc3Rlbi1jb21t aXQnKTsKKwlTRUxFQ1QgRlJPTSBpbmplY3Rpb25fcG9pbnRzX3dha2V1cCgnYXN5bmMtbm90 aWZ5LWFmdGVyLWxpc3Rlbi1jb21taXQnKTsKKyA8d2FpdGluZyAuLi4+CitzdGVwIGxpc3Rl bjogPC4uLiBjb21wbGV0ZWQ+CitsaXN0ZW5lcjogTk9USUZZICJyYWNlIiB3aXRoIHBheWxv YWQgIjEiIGZyb20gbm90aWZpZXIKK3N0ZXAgaW5zcGVjdDogU0VMRUNUIGlkIEZST00gbm90 aWZ5X3F1ZXVlIE9SREVSIEJZIGlkOworaWQKKy0tCisgMQorKDEgcm93KQorCitzdGVwIHdh a2U6IDwuLi4gY29tcGxldGVkPgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy9pbmpl Y3Rpb25fcG9pbnRzL21lc29uLmJ1aWxkIGIvc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25f cG9pbnRzL21lc29uLmJ1aWxkCmluZGV4IDYxYTY4YmNmZTE1Li44YTkxYjBhNDFhYSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRzL21lc29uLmJ1aWxk CisrKyBiL3NyYy90ZXN0L21vZHVsZXMvaW5qZWN0aW9uX3BvaW50cy9tZXNvbi5idWlsZApA QCAtNDQsNiArNDQsNyBAQCB0ZXN0cyArPSB7CiAgICdpc29sYXRpb24nOiB7CiAgICAgJ3Nw ZWNzJzogWwogICAgICAgJ2Jhc2ljJywKKyAgICAgICdhc3luYy1ub3RpZnktbGlzdGVuLWZh bHNlLXBvc2l0aXZlJywKICAgICAgICdhc3luYy1ub3RpZnktbGlzdGVuLXN0YXJ0dXAnLAog ICAgICAgJ2lucGxhY2UnLAogICAgICAgJ3JlcGFjaycsCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvc3BlY3MvYXN5bmMtbm90aWZ5LWxpc3Rlbi1m YWxzZS1wb3NpdGl2ZS5zcGVjIGIvc3JjL3Rlc3QvbW9kdWxlcy9pbmplY3Rpb25fcG9pbnRz L3NwZWNzL2FzeW5jLW5vdGlmeS1saXN0ZW4tZmFsc2UtcG9zaXRpdmUuc3BlYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYWQzMWMzN2FjYjYKLS0tIC9kZXYv bnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL2luamVjdGlvbl9wb2ludHMvc3BlY3MvYXN5 bmMtbm90aWZ5LWxpc3Rlbi1mYWxzZS1wb3NpdGl2ZS5zcGVjCkBAIC0wLDAgKzEsNDMgQEAK KyMgVGVzdCBoYXJtbGVzcyBkdXBsaWNhdGUgbm90aWZpY2F0aW9uIGR1cmluZyBMSVNURU4g c3RhcnR1cC4KKyMKKyMgQSBub3RpZmljYXRpb24gY2FuIGFycml2ZSBmb3Igd29yayB0aGF0 IHRoZSBmaXJzdCBkYXRhYmFzZSBpbnNwZWN0aW9uIGFmdGVyCisjIExJU1RFTiBhbHJlYWR5 IG9ic2VydmVzLiAgQXBwbGljYXRpb25zIHNob3VsZCBpbnNwZWN0IGRhdGFiYXNlIHN0YXRl IGFmdGVyCisjIExJU1RFTiByZXR1cm5zIGFuZCB0b2xlcmF0ZSBhIGZldyBub3RpZmljYXRp b25zIGZvciByb3dzIGFscmVhZHkgc2Vlbi4KKworc2V0dXAKK3sKKwlDUkVBVEUgRVhURU5T SU9OIGluamVjdGlvbl9wb2ludHM7CisJQ1JFQVRFIFRBQkxFIG5vdGlmeV9xdWV1ZShpZCBp bnQgcHJpbWFyeSBrZXkpOworfQorCit0ZWFyZG93bgoreworCURST1AgVEFCTEUgbm90aWZ5 X3F1ZXVlOworCURST1AgRVhURU5TSU9OIGluamVjdGlvbl9wb2ludHM7Cit9CisKK3Nlc3Np b24gbGlzdGVuZXIKK3NldHVwCit7CisJU0VMRUNUIEZST00gaW5qZWN0aW9uX3BvaW50c19z ZXRfbG9jYWwoKTsKKwlTRUxFQ1QgRlJPTSBpbmplY3Rpb25fcG9pbnRzX2F0dGFjaCgnYXN5 bmMtbm90aWZ5LWFmdGVyLWxpc3Rlbi1jb21taXQnLCAnd2FpdCcpOworfQorc3RlcCBsaXN0 ZW4JCXsgTElTVEVOIHJhY2U7IH0KK3N0ZXAgaW5zcGVjdAl7IFNFTEVDVCBpZCBGUk9NIG5v dGlmeV9xdWV1ZSBPUkRFUiBCWSBpZDsgfQordGVhcmRvd24JCXsgVU5MSVNURU4gKjsgfQor CitzZXNzaW9uIG5vdGlmaWVyCitzdGVwIG5vdGlmeQoreworCUlOU0VSVCBJTlRPIG5vdGlm eV9xdWV1ZSBWQUxVRVMgKDEpOworCU5PVElGWSByYWNlLCAnMSc7Cit9CisKK3Nlc3Npb24g Y29udHJvbGxlcgorc3RlcCB3YWtlCit7CisJU0VMRUNUIEZST00gaW5qZWN0aW9uX3BvaW50 c19kZXRhY2goJ2FzeW5jLW5vdGlmeS1hZnRlci1saXN0ZW4tY29tbWl0Jyk7CisJU0VMRUNU IEZST00gaW5qZWN0aW9uX3BvaW50c193YWtldXAoJ2FzeW5jLW5vdGlmeS1hZnRlci1saXN0 ZW4tY29tbWl0Jyk7Cit9CisKK3Blcm11dGF0aW9uIGxpc3RlbiBub3RpZnkgd2FrZShsaXN0 ZW4pIGluc3BlY3QKLS0gCjIuNTIuMAoK --ac6a70e139bd8836d7668e4a9369493b259e7a7d--