From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=100.103.45.18 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793880202; b=sYPgE7NXIgYH2aP7yIAMjkoIPRgxjUIm+nxr628600v+233jEuG3TO1LaBdTnOFW7kPR cAHXehQ98Lzz6DfWzxXAsKy3QMpqtIwKMu2ufxBu8WoIj/egMmkTX7I6X3OFqDycJpQmz VRhgtlDiMgm3jGlgTSuWO584BH+OdDMZsppDaafEVbW+aD9zFk40851fOFmURavyZPNvE 72lr6nOdLd8in7kkAfr1edGLY5Z2zvW2JaXR2mQzWorP6nqxNrK5ALOY2ZBBW8mdLgYiJ oiwLG+eWvMhJAScRHnJ4Mc8opA0efnrEWbDwOsSl8jFAFtHd+QXwyKChdlF9aRAYg0Q== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793880202; h=Received:DKIM-Signature:Message-ID:From:Subject:Reply-To:To:Cc: In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=Gxcc1zkOY+57hokzq0GfoH/NV2UvZQZwh78R+8IWvrU=; b=WQSdtnHHujvC1S7PS/uDNrFlGpSK/SpHh693hGlAmx4J0q4wYtiKciUIjfuDxcYnxwCv /2yU3L0fVvJ5HJp5DgU9bRFoFPpoC+uy1MDRVbj1QaStsh1sciOk49NzFyFhNlM9d5exd jzJb9Z3USEs2yh7tqYZXhgCByJz7Hj9qqmNk6Btk+G4k8U6cGOEdjqim5iLfYxmV8+6uW PEVA/2XRGWQCEdRazvVzvLqyz4Vbg5pOnxhSSV/m1KsANbRIjAeSIODpTDbqtcMJy1TV9 lHJ5CwcizZyi7jIpQG3twPANfNBmvDYrzLgPvxE47jQW7CkbFxsI8vyVPyTLhwunqKw== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=mZtIUNGm; arc=none smtp.remote-ip=100.103.45.18 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 105BF606D80E; Thu, 5 Nov 2026 12:03:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=mZtIUNGm Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1EA371F0093A; Thu, 5 Nov 2026 12:03:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1793880201; bh=Gxcc1zkOY+57hokzq0GfoH/NV2UvZQZwh78R+8IWvrU=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=mZtIUNGmeIXB62Pt6CTlcMa0HybTCPRuGs9LHX5kxBRSqu3+/AJ+PiG+Js/v6qpKc l9pKVw+LXxK34u/SR1heVXq1fXspTx9s+Yi+bMgfxDelZwKsn7ZB8wg56sM/gCWCF+ NZkEEz6sg5ZS0bgZTg+GZVPA/JDKcu5M6M441RgonGnXn+3hjnQGihrrmtQwKFXLq6 tQY1eonI9bsPBylkv5FGA35h7yf7BgKT5cYgj5j3CHkZLF694OrS4pYE7Z8CnV2Pa3 /MmP7a52c8pV12rSK8BgEsk5AknxLMpRI/Q7cTtaqzFQUssAVjWY+8SJ/K//noe6EL UBwSGwIxL7P9Q== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [f2fs-dev] [PATCH v2 5/5] f2fs: use I_VERITY_BUILDING instead of private flags Reply-To: sashiko-reviews@lists.linux.dev To: "Andrey Albershteyn via Linux-f2fs-devel" , ebiggers@kernel.org, hch@lst.de, fsverity@lists.linux.dev, dsterba@suse.com Cc: tytso@mit.edu, brauner@kernel.org, "Andrey Albershteyn" , viro@zeniv.linux.org.uk, jaegeuk@kernel.org, linux-ext4@vger.kernel.org, dsterba@suse.cz In-Reply-To: <20261105115532.613467-6-aalbersh@kernel.org> References: <20261105115532.613467-1-aalbersh@kernel.org> <20261105115532.613467-6-aalbersh@kernel.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Thu, 05 Nov 2026 12:03:20 +0000 X-Mailing-List: fsverity@lists.linux.dev List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list Thank you for your contribution! Sashiko AI review found 1 potential issue(= s) to consider: - [Low] f2fs: unconverted f2fs_verity_in_progress() calls break build in da= ta.c -- commit e644391a5127c3435bf66450e53975dc1299ff60 Author: Andrey Albershteyn f2fs: use I_VERITY_BUILDING instead of private flags This commit removes the f2fs-private FI_VERITY_IN_PROGRESS inode flag and t= he f2fs_verity_in_progress() helper in favor of the VFS I_VERITY_BUILDING flag and fsverity_is_building(). > diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h > index 4fa4d8042f702..11d1cade11510 100644 > --- a/fs/f2fs/f2fs.h > +++ b/fs/f2fs/f2fs.h > @@ -925,7 +925,6 @@ enum { > FI_EXTRA_ATTR, /* indicate file has extra attribute */ > FI_PROJ_INHERIT, /* indicate file inherits projectid */ > FI_PIN_FILE, /* indicate file should not be gced */ > - FI_VERITY_IN_PROGRESS, /* building fs-verity Merkle tree */ > FI_COMPRESSED_FILE, /* indicate file's data can be compressed */ > FI_COMPRESS_CORRUPT, /* indicate compressed cluster is corrupted */ > FI_MMAP_FILE, /* indicate file was mmapped */ > @@ -3627,12 +3626,6 @@ static inline void clear_inode_flag(struct inode *= inode, int flag) > __mark_inode_dirty_flag(inode, flag, false); > } > =20 > -static inline bool f2fs_verity_in_progress(struct inode *inode) > -{ > - return IS_ENABLED(CONFIG_FS_VERITY) && > - is_inode_flag_set(inode, FI_VERITY_IN_PROGRESS); > -} [Severity: Low] As reported by Sashiko on v1 [1], does removing f2fs_verity_in_progress() break the build in fs/f2fs/data.c when CONFIG_F2FS_FS is enabled? Two callers in the large-folio write paths in fs/f2fs/data.c still call f2fs_verity_in_progress(inode): fs/f2fs/data.c:f2fs_write_cache_folios() { ... retry: pos =3D folio_pos(folio); end_pos =3D pos + folio_size(folio); isize =3D i_size_read(inode); verity_in_progress =3D f2fs_verity_in_progress(inode); poff =3D 0; ... } and: fs/f2fs/data.c:prepare_large_folio_write_begin() { ... if (!f2fs_verity_in_progress(inode) && !(pos & (PAGE_SIZE - 1)) && (pos + len) >=3D i_size_read(inode)) { ... } Should these two callers also be updated to use fsverity_is_building(inode)? [1] https://lore.kernel.org/r/sashiko-outbox-197991@kernel.org --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20261105115532.6134= 67-1-aalbersh@kernel.org?part=3D5 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5CB226082BD0 for ; Thu, 5 Nov 2026 12:03:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key, unprotected) header.d=lists.sourceforge.net header.i=@lists.sourceforge.net header.a=rsa-sha256 header.s=beta header.b=SBmEh85K; dkim=fail reason="signature verification failed" (1024-bit key, unprotected) header.d=sourceforge.net header.i=@sourceforge.net header.a=rsa-sha256 header.s=x header.b=HfEWfo0N; dkim=fail reason="signature verification failed" (1024-bit key, unprotected) header.d=sf.net header.i=@sf.net header.a=rsa-sha256 header.s=x header.b=WrL/wTW3; dkim=neutral header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=mZtIUNGm DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.sourceforge.net; s=beta; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Cc:Reply-To:From:List-Subscribe:List-Help:List-Post:List-Archive :List-Unsubscribe:List-Id:Subject:Date:References:In-Reply-To:To:Message-ID: Sender:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Unsubscribe-Post:List-Owner; bh=JMy1pI3RWXx/8jrUSxIbp38IDNRv2r6vMKOuXG0yqEY=; b=SBmEh85KC1MIpw3cN25gHrn5LH RYBDmdbmP522ZG3PqUqolhlJQ0OlOPcQX7ZY/Uk6lqmPzJg8pj+IXa033hL5E0IV5SDeKuNsp/0Q3 tn5KZ0kFlW+YsUlq3I0cUTnuIDsbWI888mEJJ69+NmS4nDy3591fyoj9Fm0SV6OwYz84=; Received: from [127.0.0.1] (helo=sfs-ml-3.v29.lw.sourceforge.com) by sfs-ml-3.v29.lw.sourceforge.com with esmtp (Exim 4.100.1) (envelope-from ) id 1xOwBm-0000000086l-0I7u; Thu, 05 Nov 2026 12:03:30 +0000 Received: from [172.30.29.66] (helo=mx.sourceforge.net) by sfs-ml-3.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.100.1) (envelope-from ) id 1xOwBl-0000000086e-0DJm for linux-f2fs-devel@lists.sourceforge.net; Thu, 05 Nov 2026 12:03:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Date:Content-Transfer-Encoding:Content-Type: References:In-Reply-To:Cc:To:Reply-To:Subject:From:Message-ID:Sender: MIME-Version:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Unsubscribe-Post:List-Subscribe:List-Post:List-Owner: List-Archive; bh=Gxcc1zkOY+57hokzq0GfoH/NV2UvZQZwh78R+8IWvrU=; b=HfEWfo0NDFR+ FgIDOgFWGPezOsz1cbyVPGVs/AXp8aeA1eVgAZGYRnh8O/yhl57sl8kDToECSCVKnhR6IxnuGIccu UX8CYOXdn3CFpjVlGQO7UREN+qfubRTcl4w2LPgaMLa/lHvm0alVequxj9gXKMNhHxQOb1tf//PO4 yz68g=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Date:Content-Transfer-Encoding:Content-Type:References:In-Reply-To:Cc:To: Reply-To:Subject:From:Message-ID:Sender:MIME-Version:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Unsubscribe-Post: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Gxcc1zkOY+57hokzq0GfoH/NV2UvZQZwh78R+8IWvrU=; b=WrL/wTW39JXnkGVRnyoEbAMxkP evUSKU5d4mNnBaZ0QAJXNrE6YIpQF1e/65YH3n3Nn0d70iXvaRHMvCSiytDf8X6AKBE5dWmtMbAlA sB/H+P0yPPgBO4T/J0Gp3AHAeSPw08kqZZrjcYx+XjOsdfIGsRpPxy267b8AfuXZcrEk=; Received: from tor.source.kernel.org ([172.105.4.254]) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.100.1) id 1xOwBj-000000007u2-2SUT for linux-f2fs-devel@lists.sourceforge.net; Thu, 05 Nov 2026 12:03:28 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id EF18E60ED9; Thu, 5 Nov 2026 12:03:21 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1EA371F0093A; Thu, 5 Nov 2026 12:03:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1793880201; bh=Gxcc1zkOY+57hokzq0GfoH/NV2UvZQZwh78R+8IWvrU=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=mZtIUNGmeIXB62Pt6CTlcMa0HybTCPRuGs9LHX5kxBRSqu3+/AJ+PiG+Js/v6qpKc l9pKVw+LXxK34u/SR1heVXq1fXspTx9s+Yi+bMgfxDelZwKsn7ZB8wg56sM/gCWCF+ NZkEEz6sg5ZS0bgZTg+GZVPA/JDKcu5M6M441RgonGnXn+3hjnQGihrrmtQwKFXLq6 tQY1eonI9bsPBylkv5FGA35h7yf7BgKT5cYgj5j3CHkZLF694OrS4pYE7Z8CnV2Pa3 /MmP7a52c8pV12rSK8BgEsk5AknxLMpRI/Q7cTtaqzFQUssAVjWY+8SJ/K//noe6EL UBwSGwIxL7P9Q== Message-ID: To: "Andrey Albershteyn via Linux-f2fs-devel" , ebiggers@kernel.org, hch@lst.de, fsverity@lists.linux.dev, dsterba@suse.com In-Reply-To: <20261105115532.613467-6-aalbersh@kernel.org> References: <20261105115532.613467-1-aalbersh@kernel.org> <20261105115532.613467-6-aalbersh@kernel.org> Date: Thu, 05 Nov 2026 12:03:20 +0000 X-Spam-Score: -0.2 (/) X-Headers-End: 1xOwBj-000000007u2-2SUT Subject: Re: [f2fs-dev] [PATCH v2 5/5] f2fs: use I_VERITY_BUILDING instead of private flags X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Archive: List-Post: List-Help: List-Subscribe: , From: sashiko-bot--- via Linux-f2fs-devel Reply-To: sashiko-reviews@lists.linux.dev Cc: sashiko-bot@kernel.org, brauner@kernel.org, Andrey Albershteyn , dsterba@suse.cz, viro@zeniv.linux.org.uk, jaegeuk@kernel.org, tytso@mit.edu, linux-ext4@vger.kernel.org X-Archived-By: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Spam-Status: No, score=-11.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0xvd10gZjJmczogdW5jb252ZXJ0 ZWQgZjJmc192ZXJpdHlfaW5fcHJvZ3Jlc3MoKSBjYWxscyBicmVhayBidWlsZCBpbiBkYXRhLmMK LS0KCmNvbW1pdCBlNjQ0MzkxYTUxMjdjMzQzNWJmNjY0NTBlNTM5NzVkYzEyOTlmZjYwCkF1dGhv cjogQW5kcmV5IEFsYmVyc2h0ZXluIDxhYWxiZXJzaEBrZXJuZWwub3JnPgoKZjJmczogdXNlIElf VkVSSVRZX0JVSUxESU5HIGluc3RlYWQgb2YgcHJpdmF0ZSBmbGFncwoKVGhpcyBjb21taXQgcmVt b3ZlcyB0aGUgZjJmcy1wcml2YXRlIEZJX1ZFUklUWV9JTl9QUk9HUkVTUyBpbm9kZSBmbGFnIGFu ZCB0aGUKZjJmc192ZXJpdHlfaW5fcHJvZ3Jlc3MoKSBoZWxwZXIgaW4gZmF2b3Igb2YgdGhlIFZG UyBJX1ZFUklUWV9CVUlMRElORyBmbGFnCmFuZCBmc3Zlcml0eV9pc19idWlsZGluZygpLgoKPiBk aWZmIC0tZ2l0IGEvZnMvZjJmcy9mMmZzLmggYi9mcy9mMmZzL2YyZnMuaAo+IGluZGV4IDRmYTRk ODA0MmY3MDIuLjExZDFjYWRlMTE1MTAgMTAwNjQ0Cj4gLS0tIGEvZnMvZjJmcy9mMmZzLmgKPiAr KysgYi9mcy9mMmZzL2YyZnMuaAo+IEBAIC05MjUsNyArOTI1LDYgQEAgZW51bSB7Cj4gIAlGSV9F WFRSQV9BVFRSLAkJLyogaW5kaWNhdGUgZmlsZSBoYXMgZXh0cmEgYXR0cmlidXRlICovCj4gIAlG SV9QUk9KX0lOSEVSSVQsCS8qIGluZGljYXRlIGZpbGUgaW5oZXJpdHMgcHJvamVjdGlkICovCj4g IAlGSV9QSU5fRklMRSwJCS8qIGluZGljYXRlIGZpbGUgc2hvdWxkIG5vdCBiZSBnY2VkICovCj4g LQlGSV9WRVJJVFlfSU5fUFJPR1JFU1MsCS8qIGJ1aWxkaW5nIGZzLXZlcml0eSBNZXJrbGUgdHJl ZSAqLwo+ICAJRklfQ09NUFJFU1NFRF9GSUxFLAkvKiBpbmRpY2F0ZSBmaWxlJ3MgZGF0YSBjYW4g YmUgY29tcHJlc3NlZCAqLwo+ICAJRklfQ09NUFJFU1NfQ09SUlVQVCwJLyogaW5kaWNhdGUgY29t cHJlc3NlZCBjbHVzdGVyIGlzIGNvcnJ1cHRlZCAqLwo+ICAJRklfTU1BUF9GSUxFLAkJLyogaW5k aWNhdGUgZmlsZSB3YXMgbW1hcHBlZCAqLwo+IEBAIC0zNjI3LDEyICszNjI2LDYgQEAgc3RhdGlj IGlubGluZSB2b2lkIGNsZWFyX2lub2RlX2ZsYWcoc3RydWN0IGlub2RlICppbm9kZSwgaW50IGZs YWcpCj4gIAlfX21hcmtfaW5vZGVfZGlydHlfZmxhZyhpbm9kZSwgZmxhZywgZmFsc2UpOwo+ICB9 Cj4gIAo+IC1zdGF0aWMgaW5saW5lIGJvb2wgZjJmc192ZXJpdHlfaW5fcHJvZ3Jlc3Moc3RydWN0 IGlub2RlICppbm9kZSkKPiAtewo+IC0JcmV0dXJuIElTX0VOQUJMRUQoQ09ORklHX0ZTX1ZFUklU WSkgJiYKPiAtCSAgICAgICBpc19pbm9kZV9mbGFnX3NldChpbm9kZSwgRklfVkVSSVRZX0lOX1BS T0dSRVNTKTsKPiAtfQoKW1NldmVyaXR5OiBMb3ddCkFzIHJlcG9ydGVkIGJ5IFNhc2hpa28gb24g djEgWzFdLCBkb2VzIHJlbW92aW5nIGYyZnNfdmVyaXR5X2luX3Byb2dyZXNzKCkKYnJlYWsgdGhl IGJ1aWxkIGluIGZzL2YyZnMvZGF0YS5jIHdoZW4gQ09ORklHX0YyRlNfRlMgaXMgZW5hYmxlZD8K ClR3byBjYWxsZXJzIGluIHRoZSBsYXJnZS1mb2xpbyB3cml0ZSBwYXRocyBpbiBmcy9mMmZzL2Rh dGEuYyBzdGlsbCBjYWxsCmYyZnNfdmVyaXR5X2luX3Byb2dyZXNzKGlub2RlKToKCmZzL2YyZnMv ZGF0YS5jOmYyZnNfd3JpdGVfY2FjaGVfZm9saW9zKCkgewoJLi4uCnJldHJ5OgoJCXBvcyA9IGZv bGlvX3Bvcyhmb2xpbyk7CgkJZW5kX3BvcyA9IHBvcyArIGZvbGlvX3NpemUoZm9saW8pOwoJCWlz aXplID0gaV9zaXplX3JlYWQoaW5vZGUpOwoJCXZlcml0eV9pbl9wcm9ncmVzcyA9IGYyZnNfdmVy aXR5X2luX3Byb2dyZXNzKGlub2RlKTsKCQlwb2ZmID0gMDsKCS4uLgp9CgphbmQ6Cgpmcy9mMmZz L2RhdGEuYzpwcmVwYXJlX2xhcmdlX2ZvbGlvX3dyaXRlX2JlZ2luKCkgewoJLi4uCglpZiAoIWYy ZnNfdmVyaXR5X2luX3Byb2dyZXNzKGlub2RlKSAmJgoJICAgICEocG9zICYgKFBBR0VfU0laRSAt IDEpKSAmJiAocG9zICsgbGVuKSA+PSBpX3NpemVfcmVhZChpbm9kZSkpIHsKCS4uLgp9CgpTaG91 bGQgdGhlc2UgdHdvIGNhbGxlcnMgYWxzbyBiZSB1cGRhdGVkIHRvIHVzZSBmc3Zlcml0eV9pc19i dWlsZGluZyhpbm9kZSk/CgpbMV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci9zYXNoaWtvLW91 dGJveC0xOTc5OTFAa2VybmVsLm9yZwoKLS0gClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0dHBzOi8v c2FzaGlrby5kZXYvIy9wYXRjaHNldC8yMDI2MTEwNTExNTUzMi42MTM0NjctMS1hYWxiZXJzaEBr ZXJuZWwub3JnP3BhcnQ9NQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkxpbnV4LWYyZnMtZGV2ZWwgbWFpbGluZyBsaXN0CkxpbnV4LWYyZnMtZGV2ZWxA bGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3Rz L2xpc3RpbmZvL2xpbnV4LWYyZnMtZGV2ZWwK