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 X-Spam-Level: X-Spam-Status: No, score=-17.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8863C433B4 for ; Thu, 6 May 2021 12:49:15 +0000 (UTC) Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 24A8A613C2; Thu, 6 May 2021 12:49:15 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 24A8A613C2 Authentication-Results: mail.kernel.org; dmarc=pass (p=none dis=none) header.from=lists.sourceforge.net Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linux-f2fs-devel-bounces@lists.sourceforge.net 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:Cc: Reply-To:From:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Subject:In-Reply-To:MIME-Version:References: Message-ID:To:Date:Sender:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=G3RexEjUEqNuxep9hKDoFZvcl5o5tqEIh/eEPOc3T7o=; b=cX+jTRcVuhoKiMgq+Ty8SsTkI f1L7zZEbR3BFiJIUkAGMz7pTKq+vilt4kyVMKuJnsartCl6RCS3YuWtFQBoafPShbvzRNf2CweQUW FR9n25ji6DY4ZRPY/XauC1vym7zgKM2C0jOxY7CW3pOcDaIpzry98B6+HRlHBHXcpldDI=; Received: from [127.0.0.1] (helo=sfs-ml-4.v29.lw.sourceforge.com) by sfs-ml-4.v29.lw.sourceforge.com with esmtp (Exim 4.90_1) (envelope-from ) id 1ledRI-0003QH-AD; Thu, 06 May 2021 12:49:12 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-4.v29.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ledRG-0003Q9-Ih for linux-f2fs-devel@lists.sourceforge.net; Thu, 06 May 2021 12:49:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=In-Reply-To:Content-Transfer-Encoding:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=DqpMQkegDOR6cXVVmv0iVTBBUnt6llU64uqKtRCT4Ok=; b=h1JYWMdMYkySEAVYOHQgMpOA7J UZq8CtNcCoanN++g+jstPZ6JBjVpxlDK8/RTOtiR6duwOxZCa8un8JCGxMG88cCqI9cV5Ug9a4XoP GDrMGNc2y2cKLgf03dAuja+tF4+Rtkzb0l2v42C0GT9KOL3zroQesXgGU15ugzZGJo9g=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=In-Reply-To:Content-Transfer-Encoding:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=DqpMQkegDOR6cXVVmv0iVTBBUnt6llU64uqKtRCT4Ok=; b=ZQBXf1IFcgXJrpzCZp4Bhapleu FDQlD1XJ+GVUeCcrGkTtgnZKYyv1BQNdga5bqWayXmA9pjDSIaOKjujA8CKQqAqIcJXAO+Pw620gS xd68oTOY/ig0IjFex5qHP2Ar9CWqouz41vTaayU/t/Go84cPmLFQPFqX+c/6vwOvPKk4=; Received: from sonic313-19.consmr.mail.gq1.yahoo.com ([98.137.65.82]) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.92.2) id 1ledR7-005DlN-Sf for linux-f2fs-devel@lists.sourceforge.net; Thu, 06 May 2021 12:49:11 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1620305336; bh=DqpMQkegDOR6cXVVmv0iVTBBUnt6llU64uqKtRCT4Ok=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From:Subject:Reply-To; b=bFqiMqgrz/yYjVc34zz1f50AegS51ur+gYmkPfPaHwiHNwyCzSQO5NaK7ppdFBD1eXTAHRsGtMtUZENZcXRAo2Gry8SyW3rDaHCjVH45zL8v/aVoDWilsztzFIhtfwXDjvOMXfHo4fpGTTd0xwdpUM2mpLn7VDFwqCn2AFSxszfAy/Zq0h79H9Y8NUj/bVuBNfIuPUkoiHB0vaiE3497wT3LHKkC0i//ZmWuMnmH0JlbW41pYVabqrt9ZLLWvUjzTksCJFc5UAjAQw9P5Cdb6oqISr/s2vIcZ1Dd77Faq+5wBTBCb/nmcurg0z2aKJ8ujTXFEjA2Tz4bCU/eINYPdQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1620305336; bh=5en7eLbsoDmhrKrnXT3g4Gn9JUbiIrYyMZ71KrFlg/Z=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=Oj5g81q4PgUkXIJFvnMSyUsQQxCwUSkHWY8lcu3FN7s+2omLi6hXEbZ5BalSBwS+9fVc3n8/WAWiBT05g3y6eOeIcrnzN6YfxS48bybnh0Nmcwp76AAbzniWrWLTWChk0N8clxWNNOUlJ2oWuWcNt5DXLsuMHrUHWcNmC697bEAyCi9jlvRct47aBgARYBvPL5BiZAoNHOWJ/UzGdYcVKOHwx3q6qp7GywvYlXafmN73UIu6DduD72lrtYKqw/QpLJN0ddw/CyD5446wVD5r5sNIKYVIaxpfasWB+FtSuJBZVB5B5VJ1SlEF8y9gzW3+P5Ets6WQM9f4zsmICsxJwA== X-YMail-OSG: pqbLqX8VM1kEvWjU.7BmyJbufZOrFFG9CEGFurcIKuXSZ.9b632ovjUTo0wW9Af GNnZnAKXIjAmhXxYs0Ys6oBfkeQtpnZZxqHC.KFhCK4nYVClP.BvmFhvSCtD.NWtyPLwsKu03W7w YT5NWkqDCuyQJDNOrj0P7b_3Aq.uVBy9DN8bQLvPJddpMZe7VOh7jfvTEWYXm1r0RP7eLeqeQeWP B7IE3sAjudrFt4f6mmS89aw24V13Q30UUB0B4AIwb.OIQF.Bg_0I6oOWucVImQkN0IutBcIYhvkh 5DmEfuJdvm2j.wWLy9qpNWSXJsvSpv.jdbgTLr5VzGuF1Cx4PVgckwGo8WFbkr8t2aUMeLFeHpq. KAgcSCJmfvN76FNr6bOQTfSLOa.yhCxbCerRhG5Xk1oyXWLZKquKarb8t1G6D4irOfgIO05XGTgA JzWQ9XQVdfJBa9cobPgyuPd6IyhG1K8l5_ExaBOxc1Ki_zU6Lu7Fb.bgM71.6rzRDTJ.jeSXZRYP gdjWynqvskhxZJ0iSJU1gWblYSikfFTwNNYrrInesw94oxdpMKfKbBu8yvGtt0zbd9gVDqYhlTdn LeF3gfj_pnlHEOKfLmcR3hAcTTVuVkHkcyaFKc5eJO4CbNiUfhkiHKwWKsAso1HPpYBkZCyZuf6L JDweqAyUmibWkU5Gic3tpTcDr6lhRq.A5SK4smivM2bBDlAXVaftJ9lT1RH37kn_d3g3Ld8Tztis 2OcjMNz6fi58erRrf81eG4TJXIxrkGW.O3ZpPaj0JyKYJ7oE8ODic2nv8aP5heMeaPW54fkvPkwo hiHbR5NB0fQtKdVhrRJ0zgRLtJME3rAMBDLMuNmMF5TmUfUH3Fy_bIw9OkwoVs8YyZ_aw6GL.2nu nyrKJkTFeMk0ZtIP85jp7oh.QGyEktAzTX0HwDDQMq5ECZV7oeABb173D1e3iYyz1PoaltiwZDlN k3CkUml36lReR84eSE_yHw22s8J63XBW_Ndc.UkINaE7JgDSeWo_QD4vPljjY6_rTf.8m1Ud2D_1 XpP7.L78.RpBq4bo50R.NymKfAIMOW3euhytKmfqxU0xmuilX6WDPGbqLiB50OFiHe4UcJ421unQ gcI3EwTDeOYK3JnJBHytHw.4TFuexwgXbeidytfn64yCx4ZdbDum_474uUPTqqmxEpYQZVUiexSv jYQA9PICr3A00ojWlzvW_W_ub7S5l45uMVDubj0ElMa84wN6Tb4tXMYhYGu4C9kjFpRclTjHjtCD HNWdr5xDWnlbNozDQJ1iDWqj4i_vJUhDWQYdWSGAYDVLW9PdTlmQGR0Ig2FdgLNJHqFEk6Ik5Lgx T8LvE9vVh_29_sHFiPqOfdZ77n9HaLtazTOY.eFsES4dG5FiSwiepkcePEexqqiKiKWSU8hbze6S EN04Skw9d4I9dS_X4OyfcD1ZMFY2w5PWtSZhUnuExzIqh86mCUpy6HST_Txs95DMUnRglM0MxziP OG3eTY5Yn6g8Hz9BYzHvKt0xw92SS.riNjA0hUH_tNLpJULDx1anPfJ9O0RiBSMIZffwqR1_m4rA NoMxmyNCjNc74qMb3hk_DnZAb7pNqPS5K4PsADTpXK2WHaF2TcWlGPCVm_eJXS_CJfn4CCuQQV_F LV5..6dQIEOaPMklPNfCQtq.r2ufs8WHRAC0dZjdK6QSUbCMvJ27GYdFi_BZBfqAv2HnX_bNcqsA 3t.UZmtQFVq..NnYcA3wl0oeaEZ8UtHEVYV8zXrgljYxHzwrHsztQVFtUezwJcMiY8cuAhVVsg2k EHyqx9x.i47qI.DLTureJ.FTGgHoI5dK1XC2cesWEuHiIKNWV9w0kSmSXbOQ0ey6LKFnbQU8Jja2 .WYjgv4KxouPK8KaqLQX6JqskRWAHesnZ4zsqMZgHVdAWuqNpi_w.cIm.takGJqWZ47kqYEKWM4A tsZvcwjfLcAKn0iEZWluGVhAC4NxU.rVtfiHFVrRdQwyD1ShZdFR5dC92ec12Nbn7AbRFtoAgoOc 7J.ouryI2MAjaGlJpoNoXNiGmwgm0TmlqzAp0JE4yo_yipdbYYenq5QqPidV7skmsl5_CtFWNav9 Qe6.6n97Ll76t4SJC865vpFdjmqg93xto2eRZOi5zxSQuyl6KKGaBy8x3J_Fo2AoDoJW0VY4u5uj gSWgKCwlMucQoDw__4kbpFHuHgr5ECjCHojRK2TLbuRC5nM7yi4GbsZe60RHKrHMOYQ2uLjW_5Ws YoopyOCKbHszpySEHFmKNV9azLu18SAZl3GJsvorNa9Cu.l0ihRr6vd6yADnJt_UiqI6iaST2D_A 5OGAAU2fei5.iU1b_fUqImiUzCgyPozizS9uPId2erCufOi60SdmfE_wUzf_f_2NB0CR3zn01QEM HzXYaubAh53r.Q_Y4lUA.d5QcaVfb7aop5Qd5xs.IEjpua6ofEZ8fo0YnbE9szgZf7kIMKZoOoZv DszASsrxqy61CTgAn1bNWqBbdkifZ.Ap9BWRcnXDju8EZ1gnlswLFZOYfQOC9ffyXmLdQmGQ42n5 OkkwjOaR2phmrG9YdKITkR_35EkZyiZXLZ4uoz4HVA1UlFKZwNA90QqX.RoKvOR3gj9gTpmdWT9Y jm.3OgYOGAPgTlDAUXjPxvItfdKxcwZCo3lHbVbOsp6BFmPYQrfdo9jzxBrNNpf_EGIn6W3yK0li .Hb7K2RlWDRSg_zGr8fTtL7EzZhXmXHA.vsxlt16i12HTphm9Ldh.Xy3IRCTRFVvOrwvsw1aejMr .M377hQ-- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic313.consmr.mail.gq1.yahoo.com with HTTP; Thu, 6 May 2021 12:48:56 +0000 Received: by kubenode581.mail-prod1.omega.gq1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID c7402c3c862a3803a7350d574c8f421b; Thu, 06 May 2021 12:38:45 +0000 (UTC) Date: Thu, 6 May 2021 20:38:39 +0800 To: changfengnan@vivo.com Message-ID: <20210506123838.GB3017@hsiangkao-HP-ZHAN-66-Pro-G1> References: <20210426021153.646-1-changfengnan@vivo.com> <20210426031902.GA3934275@xiangao.remote.csb> <004c01d73a78$12f23a30$38d6ae90$@vivo.com> <20210426090024.GB4042836@xiangao.remote.csb> <103e8ec4-d14f-0f2a-72d4-ffd4e215685f@huawei.com> <20210506095814.GA1754@hsiangkao-HP-ZHAN-66-Pro-G1> <000101d74271$8a331460$9e993d20$@vivo.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <000101d74271$8a331460$9e993d20$@vivo.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Mailer: WebService/1.1.18231 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol Apache-HttpAsyncClient/4.1.4 (Java/16) X-Headers-End: 1ledR7-005DlN-Sf Subject: Re: [f2fs-dev] =?utf-8?b?562U5aSNOiAg562U5aSNOiBbUEFUQ0hdIGYyZnM6?= =?utf-8?q?_compress=3A_avoid_unnecessary_check_in_f2fs=5Fprepare=5Fcompre?= =?utf-8?q?ss=5Foverwrite?= X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Gao Xiang via Linux-f2fs-devel Reply-To: Gao Xiang Cc: jaegeuk@kernel.org, 'Gao Xiang' , linux-f2fs-devel@lists.sourceforge.net Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net T24gVGh1LCBNYXkgMDYsIDIwMjEgYXQgMDg6MTU6NDBQTSArMDgwMCwgY2hhbmdmZW5nbmFuQHZp dm8uY29tIHdyb3RlOgo+IFRoaXMgcGF0Y2ggd2lsbCBub3QgYnJpbmcgc2lnbmlmaWNhbnQgcGVy Zm9ybWFuY2UgaW1wcm92ZW1lbnRzLCBJCj4gdGVzdCB0aGlzIG9uIG1vYmlsZSBwaG9uZSwgdXNl IGFuZHJvYmVuY2gsIHRoZSBzZXF1ZW50aWFsIHdyaXRlIHRlc3QKPiBjYXNlIHdhcyBvcGVuIGZp bGUgd2l0aCBPX1RSVU5DLCBzZXQgd3JpdGUgc2l6ZSB0byA0S0IsICBwZXJmb3JtYW5jZQo+IGlt cHJvdmVkIGFib3V0IDIlLTMlLiBJZiB3cml0ZSBzaXplIHNldCB0byAzMk1CLCBwZXJmb3JtYW5j ZSBpbXByb3ZlZAo+IGFib3V0IDAuNSUuCgpPaywgc28gY29uc2lkZXJpbmcgdGhpcywgbXkgc3Vn Z2VzdGlvbiBpcyB0aGF0IGl0J2QgYmUgYmV0dGVyIHRvIGFkZAp5b3VyIG93biBjb25maWd1cmF0 aW9uIGFuZCByYXcgdGVzdCByZXN1bHRzIHRvIHRoZSBjb21taXQgbWVzc2FnZSB0bwpzaG93IHRo ZSByZWFzb24gd2h5IHdlIG5lZWQgdGhpcyBjb25zdHJhaW50IGhlcmUuCgpBbHNvLCBhZGRpbmcg c29tZSBpbmxpbmUgY29tbWVudHMgYWJvdXQgdGhpcyBzb3VuZHMgYmV0dGVyLgoKVGhhbmtzLApH YW8gWGlhbmcKCj4gCj4gCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQo+IOWPkeS7tuS6ujogQ2hh byBZdSA8eXVjaGFvMEBodWF3ZWkuY29tPiAKPiDlj5HpgIHml7bpl7Q6IDIwMjHlubQ15pyINuaX pSAxODozOAo+IOaUtuS7tuS6ujogR2FvIFhpYW5nIDxoc2lhbmdrYW9AYW9sLmNvbT4KPiDmioTp gIE6IEdhbyBYaWFuZyA8aHNpYW5na2FvQHJlZGhhdC5jb20+OyBjaGFuZ2ZlbmduYW5Adml2by5j b207IGphZWdldWtAa2VybmVsLm9yZzsgbGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vmb3Jn ZS5uZXQKPiDkuLvpopg6IFJlOiBbZjJmcy1kZXZdIOetlOWkjTogW1BBVENIXSBmMmZzOiBjb21w cmVzczogYXZvaWQgdW5uZWNlc3NhcnkgY2hlY2sgaW4gZjJmc19wcmVwYXJlX2NvbXByZXNzX292 ZXJ3cml0ZQo+IAo+IEhpIFhpYW5nLAo+IAo+IE9uIDIwMjEvNS82IDE3OjU4LCBHYW8gWGlhbmcg d3JvdGU6Cj4gPiBIaSBDaGFvLAo+ID4gCj4gPiBPbiBUaHUsIE1heSAwNiwgMjAyMSBhdCAwNTox NTowNFBNICswODAwLCBDaGFvIFl1IHdyb3RlOgo+ID4+IE9uIDIwMjEvNC8yNiAxNzowMCwgR2Fv IFhpYW5nIHdyb3RlOgo+ID4+PiBPbiBNb24sIEFwciAyNiwgMjAyMSBhdCAwNDo0MjoyMFBNICsw ODAwLCBjaGFuZ2ZlbmduYW5Adml2by5jb20gd3JvdGU6Cj4gPj4+PiBUaGFuayB5b3UgZm9yIHRo ZSByZW1pbmRlciwgSSBoYWRuJ3QgdGhvdWdodCBhYm91dCBmYWxsb2NhdGUgYmVmb3JlLgo+ID4+ Pj4gSSBoYXZlIGRvbmUgc29tZSB0ZXN0cyBhbmQgdGhlIHJlc3VsdHMgYXJlIGFzIGV4cGVjdGVk Lgo+ID4+Pj4gSGVyZSBpcyBteSB0ZXN0IG1ldGhvZCwgY3JlYXRlIGEgY29tcHJlc3NlZCBmaWxl LCBhbmQgdXNlIGZhbGxvY2F0ZSAKPiA+Pj4+IHdpdGgga2VlcCBzaXplLCB3aGVuIHdyaXRlIGRh dGEgdG8gZXhwYW5kIGFyZWEsIGYyZnNfcHJlcGFyZV9jb21wcmVzc19vdmVyd3JpdGUgYWx3YXlz IHJldHVybiAwLCB0aGUgYmVoYXZpb3IgaXMgc2FtZSBhcyBteSBwYXRjaCAsIGFwcGx5IG15IHBh dGNoIGNhbiBhdm9pZCB0aG9zZSBjaGVjay4KPiA+Pj4+IElzIHRoZXJlIGFueXRoaW5nIGVsc2Ug SSBoYXZlbid0IHRob3VnaHQgb2Y/Cj4gPj4+Cj4gPj4+IE5vcGUsIEkgZGlkbid0IGxvb2sgaW50 byB0aGUgaW1wbGVtZW50YXRpb24uIEp1c3QgYSB3aWxkIGd1ZXNzLgo+ID4+Pgo+ID4+PiAoSSBq dXN0IHdvbmRlcmVkIGlmIHRoZSBjbHVzdGVyIHNpemUgaXMgc29tZXdoYXQgbGFyZ2UgKGUuZy4g NjRrKSwKPiA+Pj4gICAgYnV0IHdpdGggYSBwYXJ0aWFsIGZhbGxvY2F0ZSAoZS5nLiAxNmspLCBh bmQgZG9lcyBpdCBiZWhhdmUgb2s/Cj4gPj4+ICAgIG9yIHNvbWUgb3RoZXIgY29ybmVyIGNhc2Vz L2NvbmRpdGlvbnMgYXJlIG5lZWRlZC4pCj4gPj4KPiA+PiBYaWFuZywgc29ycnkgZm9yIGxhdGUg cmVwbHkuCj4gPj4KPiA+PiBOb3csIGYyZnMgdHJpZ2dlcnMgY29tcHJlc3Npb24gb25seSBpZiBv bmUgY2x1c3RlciBpcyBmdWxseSB3cml0dGVuLCAKPiA+PiBlLmcuIGNsdXN0ZXIgc2l6ZSBpcyAx NmtiLCBpc2l6ZSBpcyA4a2IsIHRoZW4gdGhlIGZpcnN0IGNsdXN0ZXIgaXMgCj4gPj4gbm9uLWNv bXByZXNzZWQgb25lLCBzbyB3ZSBkb24ndCBuZWVkIHRvIHByZXBhcmUgZm9yIGNvbXByZXNzZWQg Cj4gPj4gY2x1c3RlciBvdmVyd3JpdGUgZHVyaW5nIHdyaXRlX2JlZ2luKCkuIEFsc28sIGJsb2Nr cyBmYWxsb2NhdGVkIAo+ID4+IGJleW9uZCBpc2l6ZSBzaG91bGQgbmV2ZXIgYmUgY29tcHJlc3Nl ZCwgc28gd2UgZG9uJ3QgbmVlZCB0byB3b3JyeSAKPiA+PiBhYm91dCB0aGF0Lgo+ID4+Cj4gPiAK PiA+IFllYWgsIHRoYXQgY291bGQgbWFrZSBpdCB1bm5vdGljYWJsZS4gYnV0IG15IG1haW4gY29u Y2VybiBpcyBhY3R1YWxseSAKPiA+IG5vdCB3aGF0IHRoZSBjdXJyZW50IHJ1bnRpbWUgY29tcHJl c3Npb24gbG9naWMgaXMsIGJ1dCB3aGF0IHRoZSAKPiA+IG9uLWRpc2sgY29tcHJlc2lvbiBmb3Jt YXQgYWN0dWFsbHkgaXMsIG9yIHRoZXJlIGNvdWxkIGNhdXNlIAo+ID4gY29tcGF0aWJpbGl0eSBp c3N1ZSBpZiBzb21lIGxhdGVyIGtlcm5lbCBtYWtlcyBmdWxsIHVzZSBvZiB0aGlzIGFuZCAKPiA+ IHVzZSBvbGQga2VybmVscwo+IAo+IFRoYXQncyByZWxhdGVkLCBpZiB0aGVyZSBpcyBsYXlvdXQg djIgb3Igd2UgdXBkYXRlZCBydW50aW1lIGNvbXByZXNzaW9uIHBvbGljeSBsYXRlciwgaXQgbmVl ZHMgdG8gcmVjb25zaWRlciBuZXdseSBpbnRyb2R1Y2VkIGxvZ2ljIG9mIHRoaXMgcGF0Y2gsIEkg Z3Vlc3Mgd2UgbmVlZCB0byBhZGQgY29tbWVudHMgaGVyZSB0byBpbmRpY2F0ZSB3aHkgd2UgY2Fu IHNraXAgdGhlIHByZXBhcmF0aW9uIGZ1bmN0aW9uLgo+IAo+ID4gaW5zdGVhZCAoYWxzbyBjb25z aWRlcmluZyBzb21lIGNvcnJ1cHRlZCBjb21wcmVzc2lvbiBpbmRleGVzLCB3aGljaCBpcyAKPiA+ IG5vdCBnZW5lcmF0ZWQgYnkgdGhlIG5vcm1hbCBydW50aW1lIGNvbXByZXNzaW9uIGxvZ2ljLikK PiAKPiBZZXMsIHRoYXQncyBnb29kIGNvbmNlcm4sIGJ1dCB0aGF0IHdhcyBub3QgZG9uZSBieSBm MmZzX3ByZXBhcmVfY29tcHJlc3Nfb3ZlcndyaXRlKCksIGFub3RoZXIgc2FuaXR5IGNoZWNrIGxv Z2ljIG5lZWRzIHRvIGJlIGRlc2lnbmVkIGFuZCBpbXBsZW1lbnRlZCBpbiBzZXBhcmF0ZWQgcGF0 Y2guCj4gCj4gPiAKPiA+IE15IG93biBzdWdnZXN0aW9uIGFib3V0IHRoaXMgaXMgc3RpbGwgdmVy aWZ5aW5nIGNvbXByZXNzIGluZGV4ZXMgZmlyc3QgCj4gPiByYXRoZXIgdGhhbiByZWx5aW5nIG11 Y2ggb24gcnVudGltZSBsb2dpYyBjb25zdHJhaW50LiAoRXhjZXB0IHRoYXQgCj4gPiB0aGlzIHBh dGNoIGNhbiBzaG93IHNpZ25pZmlhbnQgYmVuZWZpdCBwZXJmb3JtYW5jZSBudW1iZXJzIHRvIHBy b3ZlIGl0IAo+ID4gY2FuIGltcHJvdmUgcGVyZm9ybWFuY2UgYSBsb3QuKSBKdXN0IG15IG93biBw cmVtYXR1cmUgdGhvdWdodHMuCj4gCj4gRmVuZ25hbiwgY291bGQgeW91IHBsZWFzZSBnaXZlIHNv bWUgbnVtYmVycyB0byBzaG93IGhvdyB0aGF0IGNoZWNrIGNhbiBpbXBhY3QgcGVyZm9ybWFuY2U/ Cj4gCj4gVGhhbmtzLAo+IAo+ID4gCj4gPiBUaGFua3MsCj4gPiBHYW8gWGlhbmcKPiA+IAo+ID4+ IFRoYW5rcywKPiA+Pgo+ID4+Pgo+ID4+PiBJZiB0aGF0IGlzIGZpbmUsIEkgaGF2ZSBubyBwcm9i bGVtIGFib3V0IHRoaXMsIHlldCBpX3NpemUgaGVyZSBpcyAKPiA+Pj4gZ2VuZXJhbGx5IHNvbWV3 aGF0IHJpc2t5IHNpbmNlIGFmdGVyIHBvc3QtRU9GIGJlaGF2aW9yIGNoYW5nZXMgKGUuZy4gCj4g Pj4+IHN1cHBvcnRpbmcgRkFMTE9DX0ZMX1pFUk9fUkFOR0Ugd2l0aCBrZWVwIHNpemUgbGF0ZXIp LCBpdCBtYXkgY2F1c2UgCj4gPj4+IHNvbWUgcG90ZW50aWFsIHJlZ3Jlc3Npb24uCj4gPj4+Cj4g Pj4+Pgo+ID4+Pj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQo+ID4+Pj4g5Y+R5Lu25Lq6OiBHYW8g WGlhbmcgPGhzaWFuZ2thb0ByZWRoYXQuY29tPgo+ID4+Pj4g5Y+R6YCB5pe26Ze0OiAyMDIx5bm0 NOaciDI25pelIDExOjE5Cj4gPj4+PiDmlLbku7bkuro6IEZlbmduYW4gQ2hhbmcgPGNoYW5nZmVu Z25hbkB2aXZvLmNvbT4KPiA+Pj4+IOaKhOmAgTogY2hhb0BrZXJuZWwub3JnOyBqYWVnZXVrQGtl cm5lbC5vcmc7IAo+ID4+Pj4gbGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQK PiA+Pj4+IOS4u+mimDogUmU6IFtmMmZzLWRldl0gW1BBVENIXSBmMmZzOiBjb21wcmVzczogYXZv aWQgdW5uZWNlc3NhcnkgY2hlY2sgCj4gPj4+PiBpbiBmMmZzX3ByZXBhcmVfY29tcHJlc3Nfb3Zl cndyaXRlCj4gPj4+Pgo+ID4+Pj4gT24gTW9uLCBBcHIgMjYsIDIwMjEgYXQgMTA6MTE6NTNBTSAr MDgwMCwgRmVuZ25hbiBDaGFuZyB3cm90ZToKPiA+Pj4+PiB3aGVuIHdyaXRlIGNvbXByZXNzZWQg ZmlsZSB3aXRoIE9fVFJVTkMsIHRoZXJlIHdpbGwgYmUgYSBsb3Qgb2YgCj4gPj4+Pj4gdW5uZWNl c3NhcnkgY2hlY2sgdmFsaWQgYmxvY2tzIGluIGYyZnNfcHJlcGFyZV9jb21wcmVzc19vdmVyd3Jp dGUsIAo+ID4+Pj4+IGVzcGVjaWFsbHkgd2hlbiB3cml0dGVuIGluIHBhZ2Ugc2l6ZSwgcmVtb3Zl IGl0Lgo+ID4+Pj4+Cj4gPj4+Pj4gU2lnbmVkLW9mZi1ieTogRmVuZ25hbiBDaGFuZyA8Y2hhbmdm ZW5nbmFuQHZpdm8uY29tPgo+ID4+Pj4KPiA+Pj4+IEV2ZW4gdGhvdWdoIEkgZGlkbid0IGxvb2sg aW50byB0aGUgd2hvbGUgdGhpbmcsIG15IHJlYWN0aW9uIGhlcmUgaXMgCj4gPj4+PiByb3VnaGx5 IGhvdyB0byBoYW5kbGUgZmFsbG9jYXRlIHdpdGgga2VlcCBzaXplPyBEb2VzIGl0IHdvcmsgYXMg ZXhwZWN0ZWQ/Cj4gPj4+Pgo+ID4+Pj4+IC0tLQo+ID4+Pj4+ICAgIGZzL2YyZnMvZGF0YS5jIHwg NCArKysrCj4gPj4+Pj4gICAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQo+ID4+Pj4+ Cj4gPj4+Pj4gZGlmZiAtLWdpdCBhL2ZzL2YyZnMvZGF0YS5jIGIvZnMvZjJmcy9kYXRhLmMgaW5k ZXggCj4gPj4+Pj4gY2Y5MzU0NzRmZmJhLi45YzNiMDg0OWYzNWUgMTAwNjQ0Cj4gPj4+Pj4gLS0t IGEvZnMvZjJmcy9kYXRhLmMKPiA+Pj4+PiArKysgYi9mcy9mMmZzL2RhdGEuYwo+ID4+Pj4+IEBA IC0zMjcwLDYgKzMyNzAsNyBAQCBzdGF0aWMgaW50IGYyZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZp bGUgCj4gPj4+Pj4gKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAo+ID4+Pj4+ ICAgIAlzdHJ1Y3QgZjJmc19zYl9pbmZvICpzYmkgPSBGMkZTX0lfU0IoaW5vZGUpOwo+ID4+Pj4+ ICAgIAlzdHJ1Y3QgcGFnZSAqcGFnZSA9IE5VTEw7Cj4gPj4+Pj4gICAgCXBnb2ZmX3QgaW5kZXgg PSAoKHVuc2lnbmVkIGxvbmcgbG9uZykgcG9zKSA+PiBQQUdFX1NISUZUOwo+ID4+Pj4+ICsJcGdv ZmZfdCBlbmQgPSAoaV9zaXplX3JlYWQoaW5vZGUpICsgUEFHRV9TSVpFIC0gMSkgPj4gCj4gPj4+ Pj4gK1BBR0VfU0hJRlQ7Cj4gPj4+Pj4gICAgCWJvb2wgbmVlZF9iYWxhbmNlID0gZmFsc2UsIGRy b3BfYXRvbWljID0gZmFsc2U7Cj4gPj4+Pj4gICAgCWJsb2NrX3QgYmxrYWRkciA9IE5VTExfQURE UjsKPiA+Pj4+PiAgICAJaW50IGVyciA9IDA7Cj4gPj4+Pj4gQEAgLTMzMDYsNiArMzMwNyw5IEBA IHN0YXRpYyBpbnQgZjJmc193cml0ZV9iZWdpbihzdHJ1Y3QgZmlsZSAKPiA+Pj4+PiAqZmlsZSwg c3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsCj4gPj4+Pj4KPiA+Pj4+PiAgICAJCSpmc2Rh dGEgPSBOVUxMOwo+ID4+Pj4+Cj4gPj4+Pj4gKwkJaWYgKGluZGV4ID49IGVuZCkKPiA+Pj4+PiAr CQkJZ290byByZXBlYXQ7Cj4gPj4+Pj4gKwo+ID4+Pj4+ICAgIAkJcmV0ID0gZjJmc19wcmVwYXJl X2NvbXByZXNzX292ZXJ3cml0ZShpbm9kZSwgcGFnZXAsCj4gPj4+Pj4gICAgCQkJCQkJCWluZGV4 LCBmc2RhdGEpOwo+ID4+Pj4+ICAgIAkJaWYgKHJldCA8IDApIHsKPiA+Pj4+PiAtLQo+ID4+Pj4+ IDIuMjkuMAo+ID4+Pj4KPiA+Pj4+Cj4gPj4+Pgo+ID4+Pj4KPiA+Pj4+Cj4gPj4+Pgo+ID4+Pj4K PiA+Pj4KPiA+Pj4KPiA+Pj4KPiA+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiA+Pj4gTGludXgtZjJmcy1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+Pj4g TGludXgtZjJmcy1kZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiA+Pj4gaHR0cHM6Ly9saXN0 cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vbGludXgtZjJmcy1kZXZlbAo+ID4+Pgo+ ID4+Cj4gPj4KPiA+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+ID4+IExpbnV4LWYyZnMtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPj4gTGludXgtZjJmcy1k ZXZlbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiA+PiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdl Lm5ldC9saXN0cy9saXN0aW5mby9saW51eC1mMmZzLWRldmVsCj4gPiAuCj4gPiAKPiAKPiAKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1mMmZz LWRldmVsIG1haWxpbmcgbGlzdApMaW51eC1mMmZzLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5l dApodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9saW51eC1mMmZz LWRldmVsCg==