From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A75763A287 for ; Mon, 19 Feb 2024 15:41:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708357276; cv=none; b=CKXm09vnX+zLJXH+7Pyciz9L7BHwizgfNC4fydcsIGYhGaJSQfJgMEBgAifrRurqjl6y9Unee23TQIEgeTcB1skGf1rGlY2p7LnR97ihjV5BhraV25+qDSjY4lOM0+pvin354OWpLxnhDE/Uf7YEkmVK373yo0OnNbIqVxBCLi4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708357276; c=relaxed/simple; bh=kN7/FxZg2B4U0kkEnp+f+35AOQ3P4uh2oK/ZbnyEGPc=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=CBwdy7v3qk6MTzBJtvUFddHJ7FdDwjWLTD7zfAS6KtilKgvchCSexkBamThjsVa3LDPrAg/WGCtb3uXjv6hDOVxFew7I/71EUtPZB/YywWibFHyUaC2mQ2R0Ez5oobr69BzWo5x2ZFrWro65gWLhScrJpSp2OaChjcUyLNKN4eU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tUW/Qgfm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="tUW/Qgfm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4D397C41606 for ; Mon, 19 Feb 2024 15:41:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708357276; bh=kN7/FxZg2B4U0kkEnp+f+35AOQ3P4uh2oK/ZbnyEGPc=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=tUW/QgfmsH4Vdh129JzdOQ8l/LvoHRZylg24rMkxUzMkcwRP1NM25hd7+faU2GhR9 s/DK0pnKYYV336dXciaX/y4OGC/Jl01tgSop5r5DS61s4vWMgAhUESaw4UJAHxLjGC W7HMQl3b5xWjxXbpyzfblL74xUvZfQ7ddbg1Hvjdk9I+Y4zq+xkXjjMfBtNvOCr4yA 1rLt1TWxGokbLVqvOGWPSZonAlTHfmMqfMkRnfSC1sklpMmDXdJJaFgWJqBqnoElte IdIVCGoBxUuvjgS2V9oN8EcTXyhccQOL4NNdlCqWQH/kz625CAO4bPOIuwHFxj/Hnm L24vMOtufDYvg== Received: by mail-lj1-f181.google.com with SMTP id 38308e7fff4ca-2d0e520362cso45902421fa.2 for ; Mon, 19 Feb 2024 07:41:16 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCWkyNQmg96C9gKyPGDyJziKnJDyIcKstNtsjI3T4/xuIDZ+B/Kl94MqTjCnAcz7eCZCWQ8wHpTbmXHTq+WkgnfOxEsCDA== X-Gm-Message-State: AOJu0Yz9K/KkEp846DwSvbvkQss7Jhi5+TegvtW2W0D/WTe9HJDH4h30 1p0pFSigAnpbMwtSUnIrwsZQrQeD6w6t0V09H1Yqjdz9mBHfq9D5tuz5cuN8dpbJhmSjb+21y/O jLCgY6EkZe155J6WD74OXU3GxtSw= X-Google-Smtp-Source: AGHT+IHkRv5759OCKHrFBcoZL5QX4beAd5RFXwDpYEZXX7suzJ+JwQ8On/fgdp7Ct96YAZ0TiFYkz+Xfo3acVf3B/Lo= X-Received: by 2002:a05:651c:218:b0:2d2:3437:ef4a with SMTP id y24-20020a05651c021800b002d23437ef4amr2717698ljn.42.1708357274494; Mon, 19 Feb 2024 07:41:14 -0800 (PST) Precedence: bulk X-Mailing-List: llvm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240206074552.541154-1-maskray@google.com> In-Reply-To: From: Ard Biesheuvel Date: Mon, 19 Feb 2024 16:41:03 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2] arm64: jump_label: use constraints "Si" instead of "i" To: Geert Uytterhoeven , Arnd Bergmann Cc: Fangrui Song , Catalin Marinas , Will Deacon , linux-arm-kernel@lists.infradead.org, Jisheng Zhang , Dave Martin , Peter Smith , llvm@lists.linux.dev, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 19 Feb 2024 at 15:43, Geert Uytterhoeven wro= te: > > Hi Ard, > > On Mon, Feb 19, 2024 at 11:57=E2=80=AFAM Ard Biesheuvel = wrote: > > On Mon, 19 Feb 2024 at 11:56, Ard Biesheuvel wrote: > > > On Mon, 19 Feb 2024 at 11:03, Geert Uytterhoeven wrote: > > > > On Tue, Feb 6, 2024 at 8:46=E2=80=AFAM Fangrui Song wrote: > > > > > The generic constraint "i" seems to be copied from x86 or arm (an= d with > > > > > a redundant generic operand modifier "c"). It works with -fno-PIE= but > > > > > not with -fPIE/-fPIC in GCC's aarch64 port. > > > > > > > > Thanks for your patch, which is now commit f9daab0ad01cf9d1 ("arm64= : > > > > jump_label: use constraints "Si" instead of "i"") in v6.8-rc5. > > > > > > > > > The machine constraint "S", which denotes a symbol or label refer= ence > > > > > with a constant offset, supports PIC and has been available in GC= C since > > > > > 2012 and in Clang since 7.0. However, Clang before 19 does not su= pport > > > > > "S" on a symbol with a constant offset [1] (e.g. > > > > > `static_key_false(&nf_hooks_needed[pf][hook])` in > > > > > include/linux/netfilter.h), so we use "i" as a fallback. > > > > > > > > https://gcc.gnu.org/releases.html says gcc-5 was released in 2015, > > > > i.e. after 2012 ... > > > > > > > > > Suggested-by: Ard Biesheuvel > > > > > Signed-off-by: Fangrui Song > > > > > Link: https://github.com/llvm/llvm-project/pull/80255 [1] > > > > > > > > > > --- > > > > > Changes from > > > > > arm64: jump_label: use constraint "S" instead of "i" (https://lor= e.kernel.org/all/20240131065322.1126831-1-maskray@google.com/) > > > > > > > > > > * Use "Si" as Ard suggested to support Clang<19 > > > > > * Make branch a separate operand > > > > > > > > > > Changes from v1: > > > > > > > > > > * Use asmSymbolicName for readability > > > > > > > > But it still fails on gcc-5: > > > > > > > > arch/arm64/include/asm/jump_label.h:25:2: error: invalid 'asm': > > > > invalid operand > > > > asm goto( > > > > ^ > > > > > > > > http://kisskb.ellerman.id.au/kisskb/buildresult/15129281/ > > > > > > > > > > How odd. godbolt.org has 5.4 and it seems perfectly happy with it. > > > https://godbolt.org/z/GTnf3vPaT > > I could reproduce the issue on v6.8-rc5 using arm64 defconfig > and x86_64-gcc-5.5.0-nolibc-aarch64-linux.tar.xz from > https://cdn.kernel.org/pub/tools/crosstool/files/bin/x86_64/5.5.0/: > OK, I managed to do so as well. And GCC 6.4 from the same source works correctly. Not sure whether there are any plans to bump the minimal GCC version any time soon (cc'ing Arnd), but we should probably drop this change until that happens. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AB758C48BF8 for ; Mon, 19 Feb 2024 16:45:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=x0ivbdyt/EQ7gL5ZBmF6I/7CVuSCdpTw+4tBdEnqzrk=; b=BDuy1qwsr0axXa 17eZI0hQNGldSy5IjuNM1RTX6UkZJbTVegxyp7o9mNjuEF6yXvQG0h2EW5SlcSsRhJWJf1tVAdz63 nm4zz+k830nZEqWRe2UG6puS2eeDTqJwjaidYV00MSzn0+DfMhXzQnA0GQ11sIOe/v7hKq4If2aDj m1ZPtSaQ5CQkFWMY26vc7IEInGGhPCBPja1jGCG9yy3GTL4VfEgnDAAraos1xj4/j8KNG5kIomHv+ /breW8fz7YTd7mztSKDa5DouV7dwKIjkNAFFOL+RYGRT3MW1hqD+JBroAj3esP93yHU9clPW9stK1 /2IEAUn/iE0s/n7728ug==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rc6lj-0000000BP6E-3fvk; Mon, 19 Feb 2024 16:45:27 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rc5lo-0000000BAgl-0Qb4 for linux-arm-kernel@bombadil.infradead.org; Mon, 19 Feb 2024 15:41:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type :Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References:MIME-Version: Sender:Reply-To:Content-ID:Content-Description; bh=LSp61cXxeApew4XRlQlzNIF/6bgBmBYr6A44sDXKtGk=; b=AIFOR2CZqdpUdS0MjJ9wHB90Dl PxqAqcEbIhA+Qz16m6GjTzRMOJtwMwzt53A6Q8fkwQ8hRMVccQKxqw0RkECKBjTZBC79ZadWSNQJI W/j2gzyiSmyY3kKMvfGoYQfY21kCV//Q44LmikhGIyjihAneeOKcgtTscSJ0N6AR1fDWlSU/OvICr yopULz3iJbQpMfCzNLjn/fEsmnrp3s2vB4qqPcZONL+arTci4QNpSioExjy4CUI9aSBZZqZQt6NNH ojW84JcSiWg8XbUAHpgQ7jcBeiLsdpo4CLBexWiT1GEOZXq9FLA4mu1E5xtYDWqgwybLBuGg0DRc2 PbsCM3/A==; Received: from sin.source.kernel.org ([2604:1380:40e1:4800::1]) by desiato.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rc5lj-00000001ItT-3Xhf for linux-arm-kernel@lists.infradead.org; Mon, 19 Feb 2024 15:41:26 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id 19125CE11EA for ; Mon, 19 Feb 2024 15:41:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5722EC433C7 for ; Mon, 19 Feb 2024 15:41:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1708357276; bh=kN7/FxZg2B4U0kkEnp+f+35AOQ3P4uh2oK/ZbnyEGPc=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=tUW/QgfmsH4Vdh129JzdOQ8l/LvoHRZylg24rMkxUzMkcwRP1NM25hd7+faU2GhR9 s/DK0pnKYYV336dXciaX/y4OGC/Jl01tgSop5r5DS61s4vWMgAhUESaw4UJAHxLjGC W7HMQl3b5xWjxXbpyzfblL74xUvZfQ7ddbg1Hvjdk9I+Y4zq+xkXjjMfBtNvOCr4yA 1rLt1TWxGokbLVqvOGWPSZonAlTHfmMqfMkRnfSC1sklpMmDXdJJaFgWJqBqnoElte IdIVCGoBxUuvjgS2V9oN8EcTXyhccQOL4NNdlCqWQH/kz625CAO4bPOIuwHFxj/Hnm L24vMOtufDYvg== Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2d204e102a9so57343211fa.0 for ; Mon, 19 Feb 2024 07:41:16 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCWNBfFFDDoYObV5HLky4SABUz0fCCdgAdQNL+lWOHtIyCnobtMZKUSXgUryecPr3glVYGfzxR2OOWaTG2MruWsA3XYCT9RWm4D3KnFiceoXAjptmTY= X-Gm-Message-State: AOJu0YzqPczShK7SJ9mzwV3Vnf8oguz1YWoO+OtIYfL914oSkurjLOze 6KKkjh26yISBvclHFKTW/io6CLIug5jes30NmeGWEDYEMYEzD0tIVAgIzTbisU82zuKkrwHNWDZ 3fCnuZuStozaMxUmGYLG+lndI5hw= X-Google-Smtp-Source: AGHT+IHkRv5759OCKHrFBcoZL5QX4beAd5RFXwDpYEZXX7suzJ+JwQ8On/fgdp7Ct96YAZ0TiFYkz+Xfo3acVf3B/Lo= X-Received: by 2002:a05:651c:218:b0:2d2:3437:ef4a with SMTP id y24-20020a05651c021800b002d23437ef4amr2717698ljn.42.1708357274494; Mon, 19 Feb 2024 07:41:14 -0800 (PST) MIME-Version: 1.0 References: <20240206074552.541154-1-maskray@google.com> In-Reply-To: From: Ard Biesheuvel Date: Mon, 19 Feb 2024 16:41:03 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2] arm64: jump_label: use constraints "Si" instead of "i" To: Geert Uytterhoeven , Arnd Bergmann Cc: Fangrui Song , Catalin Marinas , Will Deacon , linux-arm-kernel@lists.infradead.org, Jisheng Zhang , Dave Martin , Peter Smith , llvm@lists.linux.dev, linux-kernel@vger.kernel.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240219_154124_572375_C0F0E958 X-CRM114-Status: GOOD ( 28.40 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCAxOSBGZWIgMjAyNCBhdCAxNTo0MywgR2VlcnQgVXl0dGVyaG9ldmVuIDxnZWVydEBs aW51eC1tNjhrLm9yZz4gd3JvdGU6Cj4KPiBIaSBBcmQsCj4KPiBPbiBNb24sIEZlYiAxOSwgMjAy NCBhdCAxMTo1N+KAr0FNIEFyZCBCaWVzaGV1dmVsIDxhcmRiQGtlcm5lbC5vcmc+IHdyb3RlOgo+ ID4gT24gTW9uLCAxOSBGZWIgMjAyNCBhdCAxMTo1NiwgQXJkIEJpZXNoZXV2ZWwgPGFyZGJAa2Vy bmVsLm9yZz4gd3JvdGU6Cj4gPiA+IE9uIE1vbiwgMTkgRmViIDIwMjQgYXQgMTE6MDMsIEdlZXJ0 IFV5dHRlcmhvZXZlbiA8Z2VlcnRAbGludXgtbTY4ay5vcmc+IHdyb3RlOgo+ID4gPiA+IE9uIFR1 ZSwgRmViIDYsIDIwMjQgYXQgODo0NuKAr0FNIEZhbmdydWkgU29uZyA8bWFza3JheUBnb29nbGUu Y29tPiB3cm90ZToKPiA+ID4gPiA+IFRoZSBnZW5lcmljIGNvbnN0cmFpbnQgImkiIHNlZW1zIHRv IGJlIGNvcGllZCBmcm9tIHg4NiBvciBhcm0gKGFuZCB3aXRoCj4gPiA+ID4gPiBhIHJlZHVuZGFu dCBnZW5lcmljIG9wZXJhbmQgbW9kaWZpZXIgImMiKS4gSXQgd29ya3Mgd2l0aCAtZm5vLVBJRSBi dXQKPiA+ID4gPiA+IG5vdCB3aXRoIC1mUElFLy1mUElDIGluIEdDQydzIGFhcmNoNjQgcG9ydC4K PiA+ID4gPgo+ID4gPiA+IFRoYW5rcyBmb3IgeW91ciBwYXRjaCwgd2hpY2ggaXMgbm93IGNvbW1p dCBmOWRhYWIwYWQwMWNmOWQxICgiYXJtNjQ6Cj4gPiA+ID4ganVtcF9sYWJlbDogdXNlIGNvbnN0 cmFpbnRzICJTaSIgaW5zdGVhZCBvZiAiaSIiKSBpbiB2Ni44LXJjNS4KPiA+ID4gPgo+ID4gPiA+ ID4gVGhlIG1hY2hpbmUgY29uc3RyYWludCAiUyIsIHdoaWNoIGRlbm90ZXMgYSBzeW1ib2wgb3Ig bGFiZWwgcmVmZXJlbmNlCj4gPiA+ID4gPiB3aXRoIGEgY29uc3RhbnQgb2Zmc2V0LCBzdXBwb3J0 cyBQSUMgYW5kIGhhcyBiZWVuIGF2YWlsYWJsZSBpbiBHQ0Mgc2luY2UKPiA+ID4gPiA+IDIwMTIg YW5kIGluIENsYW5nIHNpbmNlIDcuMC4gSG93ZXZlciwgQ2xhbmcgYmVmb3JlIDE5IGRvZXMgbm90 IHN1cHBvcnQKPiA+ID4gPiA+ICJTIiBvbiBhIHN5bWJvbCB3aXRoIGEgY29uc3RhbnQgb2Zmc2V0 IFsxXSAoZS5nLgo+ID4gPiA+ID4gYHN0YXRpY19rZXlfZmFsc2UoJm5mX2hvb2tzX25lZWRlZFtw Zl1baG9va10pYCBpbgo+ID4gPiA+ID4gaW5jbHVkZS9saW51eC9uZXRmaWx0ZXIuaCksIHNvIHdl IHVzZSAiaSIgYXMgYSBmYWxsYmFjay4KPiA+ID4gPgo+ID4gPiA+IGh0dHBzOi8vZ2NjLmdudS5v cmcvcmVsZWFzZXMuaHRtbCBzYXlzIGdjYy01IHdhcyByZWxlYXNlZCBpbiAyMDE1LAo+ID4gPiA+ IGkuZS4gYWZ0ZXIgMjAxMiAuLi4KPiA+ID4gPgo+ID4gPiA+ID4gU3VnZ2VzdGVkLWJ5OiBBcmQg Qmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPgo+ID4gPiA+ID4gU2lnbmVkLW9mZi1ieTogRmFu Z3J1aSBTb25nIDxtYXNrcmF5QGdvb2dsZS5jb20+Cj4gPiA+ID4gPiBMaW5rOiBodHRwczovL2dp dGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvcHVsbC84MDI1NSBbMV0KPiA+ID4gPiA+Cj4gPiA+ ID4gPiAtLS0KPiA+ID4gPiA+IENoYW5nZXMgZnJvbQo+ID4gPiA+ID4gYXJtNjQ6IGp1bXBfbGFi ZWw6IHVzZSBjb25zdHJhaW50ICJTIiBpbnN0ZWFkIG9mICJpIiAoaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvYWxsLzIwMjQwMTMxMDY1MzIyLjExMjY4MzEtMS1tYXNrcmF5QGdvb2dsZS5jb20vKQo+ ID4gPiA+ID4KPiA+ID4gPiA+ICogVXNlICJTaSIgYXMgQXJkIHN1Z2dlc3RlZCB0byBzdXBwb3J0 IENsYW5nPDE5Cj4gPiA+ID4gPiAqIE1ha2UgYnJhbmNoIGEgc2VwYXJhdGUgb3BlcmFuZAo+ID4g PiA+ID4KPiA+ID4gPiA+IENoYW5nZXMgZnJvbSB2MToKPiA+ID4gPiA+Cj4gPiA+ID4gPiAqIFVz ZSBhc21TeW1ib2xpY05hbWUgZm9yIHJlYWRhYmlsaXR5Cj4gPiA+ID4KPiA+ID4gPiBCdXQgaXQg c3RpbGwgZmFpbHMgb24gZ2NjLTU6Cj4gPiA+ID4KPiA+ID4gPiAgICAgYXJjaC9hcm02NC9pbmNs dWRlL2FzbS9qdW1wX2xhYmVsLmg6MjU6MjogZXJyb3I6IGludmFsaWQgJ2FzbSc6Cj4gPiA+ID4g aW52YWxpZCBvcGVyYW5kCj4gPiA+ID4gICAgICAgYXNtIGdvdG8oCj4gPiA+ID4gICAgICAgXgo+ ID4gPiA+Cj4gPiA+ID4gaHR0cDovL2tpc3NrYi5lbGxlcm1hbi5pZC5hdS9raXNza2IvYnVpbGRy ZXN1bHQvMTUxMjkyODEvCj4gPiA+ID4KPiA+ID4KPiA+ID4gSG93IG9kZC4gZ29kYm9sdC5vcmcg aGFzIDUuNCBhbmQgaXQgc2VlbXMgcGVyZmVjdGx5IGhhcHB5IHdpdGggaXQuCj4KPiA+IGh0dHBz Oi8vZ29kYm9sdC5vcmcvei9HVG5mM3ZQYVQKPgo+IEkgY291bGQgcmVwcm9kdWNlIHRoZSBpc3N1 ZSBvbiB2Ni44LXJjNSB1c2luZyBhcm02NCBkZWZjb25maWcKPiBhbmQgeDg2XzY0LWdjYy01LjUu MC1ub2xpYmMtYWFyY2g2NC1saW51eC50YXIueHogZnJvbQo+IGh0dHBzOi8vY2RuLmtlcm5lbC5v cmcvcHViL3Rvb2xzL2Nyb3NzdG9vbC9maWxlcy9iaW4veDg2XzY0LzUuNS4wLzoKPgoKT0ssIEkg bWFuYWdlZCB0byBkbyBzbyBhcyB3ZWxsLgoKQW5kIEdDQyA2LjQgZnJvbSB0aGUgc2FtZSBzb3Vy Y2Ugd29ya3MgY29ycmVjdGx5LgoKTm90IHN1cmUgd2hldGhlciB0aGVyZSBhcmUgYW55IHBsYW5z IHRvIGJ1bXAgdGhlIG1pbmltYWwgR0NDIHZlcnNpb24KYW55IHRpbWUgc29vbiAoY2MnaW5nIEFy bmQpLCBidXQgd2Ugc2hvdWxkIHByb2JhYmx5IGRyb3AgdGhpcyBjaGFuZ2UKdW50aWwgdGhhdCBo YXBwZW5zLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=