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=-4.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 83C52C433B4 for ; Sun, 9 May 2021 06:01:50 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 007C260FE3 for ; Sun, 9 May 2021 06:01:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 007C260FE3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=DXAESWyVsF9hzbaQzqqC8Vg6njg0tq4Tf8VaIkrOqbc=; b=rEi9/5C256RUfNY7rXm9k5gPi ZZvlF9f2dgy80W0c+fREr4b1iAO5TVTFydnlmf81EinBW2wjDyvSZSKURW7oiX+exi9s3SMkHhOEw fPNezocC7QBXNHCrki0LxTge8cpUDytNsfv+nCqJjA0OA4vKp4VfHEOwubfnfm0+7v8JjcaMFFJAa 6VsT0RBXNtZUjLG/oC5O6vaBMbW/91S068rgShCQlT7AJ6vK+R761syZzp+nKyVx+WrTRo2LQQwyH uhIDNLHkBtOMPL2IwhW2uBOeAkGnXyXwVmLL1pK0Hy6kiS27DkArE/b2eK/WhySoMzXKDBtMpACcK npkpkF8Cw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lfcTj-00B4EM-03; Sun, 09 May 2021 05:59:47 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lfcTf-00B4Dy-Jc for linux-arm-kernel@desiato.infradead.org; Sun, 09 May 2021 05:59:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; 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; bh=g+PglFHZ22toytfB7aBAU/7HA1m+WESJEynZFKRg30Y=; b=YghHrbiBYZDO1vRUm+Ibg8sXbU SPsE+ameijL97yytR6yU4suD737HfwsB99Igxa565u9GgQKlg5bMCFrmoTFY1rYoYh+uvkqhXr5ZS 4xTOEk22NnoTNzbDSmtOjvW9uLyDKKRxCn2bAHZqdjAT89axPc1kBW8W2S0tHL3tOdUc2m617aCbl AXKyAjYLpH45SIRV2vp9l7nU9HXMbzEOoW46bmCX23XATWZniO7O2cGvNgQrQ9w1Sj1NLvgaU0tCj ytm6QewhSJG/6HWjW5G4sjKr+heKSTEzMD+y8PgVNKmZ1WvH9xJnz3+ye8ifzGTMayrdSsKYzNR7a MaoYVUoQ==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lfcTc-007rX5-Ap for linux-arm-kernel@lists.infradead.org; Sun, 09 May 2021 05:59:42 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1CEF561364; Sun, 9 May 2021 05:59:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1620539978; bh=F9gqyGBpHvA5BP4VIejNuaHDQi9t//ZqzxoUtXHZIBY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Pg6c3El7f8wTosM1GHBA2Kmlc0+0eBs2evwd1DCes38mEsljDvr4GOET2y7BDPi0c L2AUKUVe8Iy2L5FFC5mrYAfumqdKP09p+LYX8GA0QrfcCG6SN2NVPnHW4FkETfwzXX OR3Qp/nyQ4g733GxrKLB8kyAuq5GPxWaiUDePC9D/O/kDMRLzPNqsWZtMU2Cqwn5Rw 2nTiBom6NZz7a/ETXo2sLS0lKFixn2K8Mu4aN96x7VubtFTIeTEtPnADkFRASjesAp 7t6tPQykwNdJNYoLm8iRRHsRPnasprnsnSIhY4MIIv9DRs0McBHwIOWYK7WzOwZccl FvFfB99NMgyig== Date: Sun, 9 May 2021 08:59:29 +0300 From: Mike Rapoport To: Kefeng Wang Cc: David Hildenbrand , linux-arm-kernel@lists.infradead.org, Andrew Morton , Anshuman Khandual , Ard Biesheuvel , Catalin Marinas , Marc Zyngier , Mark Rutland , Mike Rapoport , Will Deacon , kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: Re: arm32: panic in move_freepages (Was [PATCH v2 0/4] arm64: drop pfn_valid_within() and simplify pfn_valid()) Message-ID: References: <0cb013e4-1157-f2fa-96ec-e69e60833f72@huawei.com> <24b37c01-fc75-d459-6e61-d67e8f0cf043@redhat.com> <82cfbb7f-dd4f-12d8-dc76-847f06172200@huawei.com> <33c67e13-dc48-9a2f-46d8-a532e17380fb@huawei.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <33c67e13-dc48-9a2f-46d8-a532e17380fb@huawei.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210508_225940_446795_CF8ED358 X-CRM114-Status: GOOD ( 48.06 ) 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 T24gRnJpLCBNYXkgMDcsIDIwMjEgYXQgMDg6MzQ6NTJQTSArMDgwMCwgS2VmZW5nIFdhbmcgd3Jv dGU6Cj4gCj4gCj4gT24gMjAyMS81LzcgMTg6MzAsIE1pa2UgUmFwb3BvcnQgd3JvdGU6Cj4gPiBP biBGcmksIE1heSAwNywgMjAyMSBhdCAwMzoxNzowOFBNICswODAwLCBLZWZlbmcgV2FuZyB3cm90 ZToKPiA+ID4gCj4gPiA+IE9uIDIwMjEvNS82IDIwOjQ3LCBLZWZlbmcgV2FuZyB3cm90ZToKPiA+ ID4gPiAKPiA+ID4gPiA+ID4gPiA+IG5vLCB0aGUgQ09ORklHX0FSTV9MUEFFIGlzIG5vdCBzZXQs IGFuZCB5ZXMgd2l0aCBzYW1lIHBhbmljIGF0Cj4gPiA+ID4gPiA+ID4gPiBtb3ZlX2ZyZWVwYWdl cyBhdAo+ID4gPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+ID4gPiBzdGFydF9wZm4vZW5kX3BmbiBb ZGU2MDAsIGRlN2ZmXSwgW2RlNjAwMDAwLCBkZTdmZjAwMF0KPiA+ID4gPiA+ID4gPiA+IDrCoCBw Zm4gPWRlNjAwLCBwYWdlCj4gPiA+ID4gPiA+ID4gPiA9ZWYzY2MwMDAsIHBhZ2UtZmxhZ3MgPSBm ZmZmZmZmZizCoCBwZm4ycGh5ID0gZGU2MDAwMDAKPiA+ID4gPiA+ID4gPiA+IAo+ID4gPiA+ID4g PiA+ID4gPiA+IF9fZnJlZV9tZW1vcnlfY29yZSwgcmFuZ2U6IDB4YjAyMDAwMDAgLQo+ID4gPiA+ ID4gPiA+ID4gPiA+IDB4YzAwMDAwMDAsIHBmbjogYjAyMDAgLSBiMDIwMAo+ID4gPiA+ID4gPiA+ ID4gPiA+IF9fZnJlZV9tZW1vcnlfY29yZSwgcmFuZ2U6IDB4Y2MwMDAwMDAgLQo+ID4gPiA+ID4g PiA+ID4gPiA+IDB4ZGNhMDAwMDAsIHBmbjogY2MwMDAgLSBiMDIwMAo+ID4gPiA+ID4gPiA+ID4g PiA+IF9fZnJlZV9tZW1vcnlfY29yZSwgcmFuZ2U6IDB4ZGU3MDAwMDAgLQo+ID4gPiA+ID4gPiA+ ID4gPiA+IDB4ZGVhMDAwMDAsIHBmbjogZGU3MDAgLSBiMDIwMAo+ID4gPiA+ID4gPiA+IAo+ID4g PiA+ID4gPiA+IEhtbSwgW2RlNjAwLCBkZTdmZl0gaXMgbm90IGFkZGVkIHRvIHRoZSBmcmVlIGxp c3RzIHdoaWNoIGlzCj4gPiA+ID4gPiA+ID4gY29ycmVjdC4gQnV0Cj4gPiA+ID4gPiA+ID4gdGhl biBpdCdzIHVuY2xlYXIgaG93IHRoZSBwYWdlIGZvciBkZTYwMCBnZXRzIHRvIG1vdmVfZnJlZXBh Z2VzKCkuLi4KPiA+ID4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gPiBDYW4ndCBzYXkgSSBoYXZlIGFu eSBicmlnaHQgaWRlYXMgdG8gdHJ5IGhlcmUuLi4KPiA+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IEFy ZSB3ZSBtaXNzaW5nIHNvbWUgY2hlY2tzIChlLmcuLCBQYWdlUmVzZXJ2ZWQoKSkgdGhhdAo+ID4g PiA+ID4gPiBwZm5fdmFsaWRfd2l0aGluKCkKPiA+ID4gPiA+ID4gd291bGQgaGF2ZSAiY2F1Z2h0 IiBiZWZvcmU/Cj4gPiA+ID4gPiAKPiA+ID4gPiA+IFVubGVzcyBJJ20gbWlzc2luZyBzb21ldGhp bmcgdGhlIGNyYXNoIGhhcHBlbnMgaW4gX19ybXF1ZXVlX2ZhbGxiYWNrKCk6Cj4gPiA+ID4gPiAK PiA+ID4gPiA+IGRvX3N0ZWFsOgo+ID4gPiA+ID4gIMKgwqDCoMKgcGFnZSA9IGdldF9wYWdlX2Zy b21fZnJlZV9hcmVhKGFyZWEsIGZhbGxiYWNrX210KTsKPiA+ID4gPiA+IAo+ID4gPiA+ID4gIMKg wqDCoMKgc3RlYWxfc3VpdGFibGVfZmFsbGJhY2soem9uZSwgcGFnZSwgYWxsb2NfZmxhZ3MsIHN0 YXJ0X21pZ3JhdGV0eXBlLAo+ID4gPiA+ID4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNhbl9zdGVhbCk7Cj4gPiA+ID4gPiAg wqDCoMKgwqDCoMKgwqAgLT4gbW92ZV9mcmVlcGFnZXMoKQo+ID4gPiA+ID4gIMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgLT4gQlVHKCkKPiA+ID4gPiA+IAo+ID4gPiA+ID4gU28gYSBwYWdlIGZyb20g ZnJlZSBhcmVhIHNob3VsZCBiZSBzYW5lIGFzIHRoZSBmcmVlZCByYW5nZSB3YXMgbmV2ZXIKPiA+ ID4gPiA+IGFkZGVkCj4gPiA+ID4gPiBpdCB0byB0aGUgZnJlZSBsaXN0cy4KPiA+ID4gPiAKPiA+ ID4gPiBTb3JyeSBmb3IgdGhlIGxhdGUgcmVzcG9uc2UgZHVlIHRvIHRoZSB2YWNhdGlvbi4KPiA+ ID4gPiAKPiA+ID4gPiBUaGUgcGZuIGluIHJhbmdlIFtkZTYwMCwgZGU3ZmZdIHdvbid0IGJlIGFk ZGVkIGludG8gdGhlIGZyZWUgbGlzdHMgdmlhCj4gPiA+ID4gX19mcmVlX21lbW9yeV9jb3JlKCks IGJ1dCB0aGUgcGZuIGNvdWxkIGJlIGFkZGVkIGludG8gZnJlZWxpc3RzIHZpYQo+ID4gPiA+IGZy ZWVfaGlnaG1lbV9wYWdlKCkKPiA+ID4gPiAKPiA+ID4gPiBJIGFkZCBzb21lIGRlYnVnWzFdIGlu IGFkZF90b19mcmVlX2xpc3QoKSwgd2UgY291bGQgc2VlIHRoZSBjYWxsdHJhY2UKPiA+ID4gPiAK PiA+ID4gPiBmcmVlX2hpZ2hwYWdlcywgcmFuZ2VfcGZuIFtiMDIwMCwgYzAwMDBdLCByYW5nZV9h ZGRyIFtiMDIwMDAwMCwgYzAwMDAwMDBdCj4gPiA+ID4gZnJlZV9oaWdocGFnZXMsIHJhbmdlX3Bm biBbY2MwMDAsIGRjYTAwXSwgcmFuZ2VfYWRkciBbY2MwMDAwMDAsIGRjYTAwMDAwXQo+ID4gPiA+ IGZyZWVfaGlnaHBhZ2VzLCByYW5nZV9wZm4gW2RlNzAwLCBkZWEwMF0sIHJhbmdlX2FkZHIgW2Rl NzAwMDAwLCBkZWEwMDAwMF0KPiA+ID4gPiBhZGRfdG9fZnJlZV9saXN0LCA9PT0+IHBmbiA9IGRl NzAwCj4gPiA+ID4gLS0tLS0tLS0tLS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tCj4gPiA+ID4g V0FSTklORzogQ1BVOiAwIFBJRDogMCBhdCBtbS9wYWdlX2FsbG9jLmM6OTAwIGFkZF90b19mcmVl X2xpc3QrMHg4Yy8weGVjCj4gPiA+ID4gcGZuID0gZGU3MDAKPiA+ID4gPiBNb2R1bGVzIGxpbmtl ZCBpbjoKPiA+ID4gPiBDUFU6IDAgUElEOiAwIENvbW06IHN3YXBwZXIgTm90IHRhaW50ZWQgNS4x MC4wKyAjNDgKPiA+ID4gPiBIYXJkd2FyZSBuYW1lOiBIaXNpbGljb24gQTkKPiA+ID4gPiBbPGMw MTBhNjAwPl0gKHNob3dfc3RhY2spIGZyb20gWzxjMDRiMjFjND5dIChkdW1wX3N0YWNrKzB4OWMv MHhjMCkKPiA+ID4gPiBbPGMwNGIyMWM0Pl0gKGR1bXBfc3RhY2spIGZyb20gWzxjMDExYzcwOD5d IChfX3dhcm4rMHhjMC8weGVjKQo+ID4gPiA+IFs8YzAxMWM3MDg+XSAoX193YXJuKSBmcm9tIFs8 YzAxMWM3YTg+XSAod2Fybl9zbG93cGF0aF9mbXQrMHg3NC8weGE0KQo+ID4gPiA+IFs8YzAxMWM3 YTg+XSAod2Fybl9zbG93cGF0aF9mbXQpIGZyb20gWzxjMDIzNzIxYz5dCj4gPiA+ID4gKGFkZF90 b19mcmVlX2xpc3QrMHg4Yy8weGVjKQo+ID4gPiA+IFs8YzAyMzcyMWM+XSAoYWRkX3RvX2ZyZWVf bGlzdCkgZnJvbSBbPGMwMjM3ZTAwPl0KPiA+ID4gPiAoZnJlZV9wY3BwYWdlc19idWxrKzB4MjAw LzB4Mjc4KQo+ID4gPiA+IFs8YzAyMzdlMDA+XSAoZnJlZV9wY3BwYWdlc19idWxrKSBmcm9tIFs8 YzAyMzhkMTQ+XQo+ID4gPiA+IChmcmVlX3VucmVmX3BhZ2UrMHg1OC8weDY4KQo+ID4gPiA+IFs8 YzAyMzhkMTQ+XSAoZnJlZV91bnJlZl9wYWdlKSBmcm9tIFs8YzAyM2JiNTQ+XQo+ID4gPiA+IChm cmVlX2hpZ2htZW1fcGFnZSsweGMvMHg1MCkKPiA+ID4gPiBbPGMwMjNiYjU0Pl0gKGZyZWVfaGln aG1lbV9wYWdlKSBmcm9tIFs8YzA3MDYyMGM+XSAobWVtX2luaXQrMHgyMWMvMHgyNTQpCj4gPiA+ ID4gWzxjMDcwNjIwYz5dIChtZW1faW5pdCkgZnJvbSBbPGMwNzAwYjM4Pl0gKHN0YXJ0X2tlcm5l bCsweDI1OC8weDVjMCkKPiA+ID4gPiBbPGMwNzAwYjM4Pl0gKHN0YXJ0X2tlcm5lbCkgZnJvbSBb PDAwMDAwMDAwPl0gKDB4MCkKPiA+ID4gPiAKPiA+ID4gPiBzbyBhbnkgaWRlYT8KPiA+ID4gCj4g PiA+IElmIHBmbiA9IDB4ZGU3MDAsIGR1ZSB0byB0aGUgcGFnZWJsb2NrX25yX3BhZ2VzID0gMHgy MDAsIHRoZW4gdGhlCj4gPiA+IHN0YXJ0X3BmbixlbmRfcGZuIHBhc3NlZCB0byBtb3ZlX2ZyZWVw YWdlcygpIHdpbGwgYmUgW2RlNjAwLCBkZTdmZl0sCj4gPiA+IGJ1dCB0aGUgcmFuZ2Ugb2YgW2Rl NjAwLGRlNzAwXSB3aXRob3V0IOKAmHN0cnVjdCBwYWdlJyB3aWxsIGxlYWQgdG8KPiA+ID4gdGhp cyBwYW5pYyB3aGVuIHBmbl92YWxpZF93aXRoaW4gbm90IGVuYWJsZWQgaWYgbm8gSE9MRVNfSU5f Wk9ORSwKPiA+ID4gYW5kIHRoZSBzYW1lIGlzc3VlIHdpbGwgb2NjdXJyZWQgaW4gaXNvbGF0ZV9m cmVlcGFnZXNfYmxvY2soKSwgbWF5YmUKPiA+IAo+ID4gSSB0aGluayB5b3VyIGFuYWx5c2lzIGlz IGNvcnJlY3QgZXhjZXB0IG9uZSBtaW5vciBkZXRhaWwuIFdpdGggdGhlICNpZmRlZgo+ID4gZml4 IEkndmUgcHJvcG9zZWQgZWFybGllcmkgWzFdIHRoZSBtZW1tYXAgZm9yIFsweGRlNjAwLCAweGRl NzAwXSBzaG91bGQgbm90Cj4gPiBiZSBmcmVlZCBzbyB0aGVyZSBzaG91bGQgYmUgYSBzdHJ1Y3Qg cGFnZS4gRGlkIHlvdSBjaGVjayB3aGF0IHBhcnRzIG9mIHRoZQo+ID4gbWVtbWFwIGFyZSBhY3R1 YWxseSBmcmVlZCB3aXRoIHRoaXMgcGF0Y2ggYXBwbGllZD8KPiA+IFdvdWxkIHlvdSBnZXQgYSBw YW5pYyBpZiB5b3UgYWRkCj4gPiAKPiA+IAlkdW1wX3BhZ2UocGZuX3RvX3BhZ2UoMHhkZTYwMCks ICIiKTsKPiA+IAo+ID4gc2F5LCBpbiB0aGUgZW5kIG9mIG1lbWJsb2NrX2ZyZWVfYWxsKCk/Cj4g Cj4gVGhlIG1lbW9yeSBpcyBub3QgY29udGludW91cywgc2VlIE1FTUJMT0NLOgo+ICBtZW1vcnkg c2l6ZSA9IDB4NGMwZmZmZmYgcmVzZXJ2ZWQgc2l6ZSA9IDB4MDI3ZWYwNTgKPiAgbWVtb3J5LmNu dCAgPSAweGEKPiAgbWVtb3J5WzB4MF0gICAgWzB4ODBhMDAwMDAtMHg4NTVmZmZmZl0sIDB4MDRj MDAwMDAgYnl0ZXMgZmxhZ3M6IDB4MAo+ICBtZW1vcnlbMHgxXSAgICBbMHg4NmEwMDAwMC0weDg3 ZGZmZmZmXSwgMHgwMTQwMDAwMCBieXRlcyBmbGFnczogMHgwCj4gIG1lbW9yeVsweDJdICAgIFsw eDhiZDAwMDAwLTB4OGM0ZmZmZmZdLCAweDAwODAwMDAwIGJ5dGVzIGZsYWdzOiAweDAKPiAgbWVt b3J5WzB4M10gICAgWzB4OGUzMDAwMDAtMHg4ZWNmZmZmZl0sIDB4MDBhMDAwMDAgYnl0ZXMgZmxh Z3M6IDB4MAo+ICBtZW1vcnlbMHg0XSAgICBbMHg5MGQwMDAwMC0weGJmZmZmZmZmXSwgMHgyZjMw MDAwMCBieXRlcyBmbGFnczogMHgwCj4gIG1lbW9yeVsweDVdICAgIFsweGNjMDAwMDAwLTB4ZGM5 ZmZmZmZdLCAweDEwYTAwMDAwIGJ5dGVzIGZsYWdzOiAweDAKPiAgbWVtb3J5WzB4Nl0gICAgWzB4 ZGU3MDAwMDAtMHhkZTlmZmZmZl0sIDB4MDAzMDAwMDAgYnl0ZXMgZmxhZ3M6IDB4MAo+IC4uLgo+ IAo+IFRoZSBwZm5fcmFuZ2UgWzB4ZGU2MDAsMHhkZTcwMF0gPT4gYWRkcl9yYW5nZSBbMHhkZTYw MDAwMCwweGRlNzAwMDAwXQo+IGlzIG5vdCBhdmFpbGFibGUgbWVtb3J5LCBhbmQgd2Ugd29uJ3Qg Y3JlYXRlIG1lbW1hcCAsIHNvIHdpdGggb3Igd2l0aG91dAo+IHlvdXIgcGF0Y2gsIHdlIGNhbid0 IHNlZSB0aGUgcmFuZ2UgaW4gZnJlZV9tZW1tYXAoKSwgcmlnaHQ/CiAKClRoaXMgaXMgbm90IGF2 YWlsYWJsZSBtZW1vcnkgYW5kIHdlIHdvbid0IHNlZSB0aGUgcmVhbmdlIGluIGZyZWVfbWVtbWFw KCksCmJ1dCB3ZSBzdGlsbCBzaG91bGQgY3JlYXRlIG1lbW1hcCBmb3IgaXQgYW5kIHRoYXQncyB3 aGF0IG15IHBhdGNoIHRyaWVkIHRvCmRvLgoKVGhlcmUgYXJlIGEgbG90IG9mIHBsYWNlcyBpbiBj b3JlIG1tIHRoYXQgb3BlcmF0ZSBvbiBwYWdlYmxvY2tzIGFuZApmcmVlX3VudXNlZF9tZW1tYXAo KSBzaG91bGQgbWFrZSBzdXJlIHRoYXQgYW55IHBhZ2VibG9jayBoYXMgYSB2YWxpZCBtZW1vcnkK bWFwLgoKQ3VycmVudGx5LCB0aGF0J3Mgbm90IHRoZSBjYXNlIHdoZW4gU1BBUlNFTUVNPXkgYW5k IG15IHBhdGNoIHRyaWVkIHRvIGZpeAppdC4KCkNhbiB5b3UgcGxlYXNlIHNlbmQgbG9nIHdpdGgg bXkgcGF0Y2ggYXBwbGllZCBhbmQgd2l0aCB0aGUgcHJpbnRpbmcgb2YKcmFuZ2VzIHRoYXQgYXJl IGZyZWVkIGluIGZyZWVfdW51c2VkX21lbW1hcCgpIHlvdSd2ZSB1c2VkIGluIHByZXZpb3VzCm1h aWxzPwogCj4gPiA+IHRoZXJlIGFyZSBzb21lIHNjZW5lLCBzbyBJIHNlbGVjdCBIT0xFU19JTl9a T05FIGluIEFSQ0hfSElTSShBUk0pIHRvIHNvbHZlCj4gPiA+IHRoaXMgaXNzdWUgaW4gb3VyIDUu MTAsIHNob3VsZCB3ZSBzZWxlY3QgSE9MRVNfSU5fWk9ORSBpbiBhbGwgQVJNIG9yIG9ubHkgaW4K PiA+ID4gQVJDSF9ISVNJLCBhbnkgYmV0dGVyIHNvbHV0aW9uPyAgVGhhbmtzLgo+ID4gCj4gPiBJ IGRvbid0IHRoaW5rIHRoYXQgSE9MRVNfSU5fWk9ORSBpcyB0aGUgcmlnaHQgc29sdXRpb24uIEkg YmVsaWV2ZSB0aGF0IHdlCj4gPiBtdXN0IGtlZXAgdGhlIG1lbW9yeSBtYXAgYWxpZ25lZCBvbiBw YWdlYmxvY2sgYm91bmRhcmllcy4gVGhhdCdzIHN1cmVseSBub3QgdGhlCj4gPiBjYXNlIGZvciBT UEFSU0VNRU0gYXMgb2Ygbm93LCBhbmQgaWYgbXkgZml4IGlzIG5vdCBlbm91Z2ggd2UgbmVlZCB0 byBmaW5kCj4gPiB3aGVyZSBpdCB3ZW50IHdyb25nLgo+ID4gCj4gPiBCZXNpZGVzLCBJJ2Qgc2F5 IHRoYXQgaWYgaXQgaXMgcG9zc2libGUgdG8gdXBkYXRlIHlvdXIgZmlybXdhcmUgdG8gbWFrZSB0 aGUKPiA+IG1lbW9yeSBsYXlvdXQgcmVwb3J0ZWQgdG8gdGhlIGtlcm5lbCBsZXNzLCBobW0sIGVz b3RlcmljLCB5b3Ugd291bGQgaGl0Cj4gPiBsZXNzIGNvcm5lciBjYXNlcy4KPiAKPiBTb3JyeSwg bWVtb3J5IGxheW91dCBpcyBjdXN0b21pemVkIGFuZCB3ZSBjYW4ndCBjaGFuZ2UgaXQsIHNvbWUg bWVtb3J5IGlzCj4gZm9yIHNwZWNpYWwgcHVycG9zZXMgYnkgb3VyIHByb2R1Y3Rpb24uCiAKSSB1 bmRlcnN0YW5kIHRoYXQgdGhpcyBtZW1vcnkgY2Fubm90IGJlIHVzZWQgYnkgTGludXgsIGJ1dCB0 aGUgZmlybXdhcmUgbWF5CnN1cHBseSB0aGUga2VybmVsIHdpdGggYWN0dWFsIHBoeXNpY2FsIG1l bW9yeSBsYXlvdXQgYW5kIHRoZW4gbWFyayBhbGwKdGhlIHNwZWNpYWwgcHVycG9zZSBtZW1vcnkg dGhhdCBrZXJuZWwgc2hvdWxkIG5vdCB0b3VjaCBhcyByZXNlcnZlZC4KCj4gPiBbMV0gaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC9ZSXBZOFRYQ1NjN0xmYTJaQGtlcm5lbC5vcmcKPiA+IAoK LS0gClNpbmNlcmVseSB5b3VycywKTWlrZS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK