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=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,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 DC0C1C4361B for ; Thu, 10 Dec 2020 09:40:47 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (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 69FE8235F7 for ; Thu, 10 Dec 2020 09:40:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 69FE8235F7 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com 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=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=iP8SDyTzvcAo2/fjcfXjQn/gd9dZjqNRMy81zp5U8Gg=; b=G9hnwr6gGZ9vixYZ9cW35YiMA 1qRuAuo4Ux6XLgFJS2LoekhwG5kbW7+wEp/4ifVYckWoOGkAyvbMX06lrmfyvgiUjNsS0DpSVgukN PV9geGVrDJe77bCdSCakzTlneCNRpx73zIGjdeDkJ8oyWb3j0nUzPivRDpAcZqsrHIV1ePh+xrZUo lWh5xqgCephk7hrh7hTgKkez3HSrMEIIb6c5eakZRKlL48W91j1a6FF/5W8CG3pz4KC/21uDQdYbg lyPjf3aGhP2viR2ZKcHyQOxGKzW3nehOiIFulNB62iVw7GvrCXSbXAVCrqPjoCnSTraPEtSUtCVkh 2xJAaYL1Q==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1knIQ6-0007wx-O1; Thu, 10 Dec 2020 09:39:30 +0000 Received: from us-smtp-delivery-124.mimecast.com ([63.128.21.124]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1knIQ3-0007vm-Vs for linux-arm-kernel@lists.infradead.org; Thu, 10 Dec 2020 09:39:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1607593166; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5lCu8Yxj8UgEHmXDxfvCEByGBoDTk5BlmYVugGs6aBw=; b=Hf7fJgCt4IPvQdQ+WqQSC4EsG1pqv3MePEAlVnb2ul4kQDCyGIbAgFNWmojzPTAFEyHDuN uXr2LSZVxDhrRBBRK0Manesv+g8DB9HmfVMfGUhkyPdihR+m5+hCK5sOwHW2SThsNJhLO9 rlxDL+dszZ+YkoNToehvJ3h5GeR+weA= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-56-kzBCGuShNgO7son1TmuXKg-1; Thu, 10 Dec 2020 04:39:22 -0500 X-MC-Unique: kzBCGuShNgO7son1TmuXKg-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CBC2510054FF; Thu, 10 Dec 2020 09:39:20 +0000 (UTC) Received: from [10.36.113.177] (ovpn-113-177.ams2.redhat.com [10.36.113.177]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6A6D65D6BA; Thu, 10 Dec 2020 09:39:16 +0000 (UTC) Subject: Re: [PATCH 3/3] s390/mm: Define arch_get_mappable_range() To: Anshuman Khandual , Heiko Carstens References: <20201210065845.GA20691@osiris> <0a2f6eb1-c38b-9cc2-5c45-16f6c8999ce2@arm.com> <2a379949-4ecb-e380-560e-78ef91168c87@redhat.com> <1ff0df3a-a6bf-7c1c-6e10-02de3477e3ed@arm.com> From: David Hildenbrand Organization: Red Hat GmbH Message-ID: <36cdf123-5b2e-0bd5-0bd7-82a801cf2e43@redhat.com> Date: Thu, 10 Dec 2020 10:39:15 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0 MIME-Version: 1.0 In-Reply-To: <1ff0df3a-a6bf-7c1c-6e10-02de3477e3ed@arm.com> Content-Language: en-US X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201210_043928_070523_53A84132 X-CRM114-Status: GOOD ( 31.84 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , linux-s390@vger.kernel.org, Vasily Gorbik , catalin.marinas@arm.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, akpm@linux-foundation.org, Will Deacon , Ard Biesheuvel , linux-arm-kernel@lists.infradead.org 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 T24gMTAuMTIuMjAgMDk6NTgsIEFuc2h1bWFuIEtoYW5kdWFsIHdyb3RlOgo+IAo+IAo+IE9uIDEy LzEwLzIwIDE6MzIgUE0sIERhdmlkIEhpbGRlbmJyYW5kIHdyb3RlOgo+PiBPbiAxMC4xMi4yMCAw ODo0MCwgQW5zaHVtYW4gS2hhbmR1YWwgd3JvdGU6Cj4+Pgo+Pj4KPj4+IE9uIDEyLzEwLzIwIDEy OjM0IFBNLCBEYXZpZCBIaWxkZW5icmFuZCB3cm90ZToKPj4+Pgo+Pj4+PiBBbSAxMC4xMi4yMDIw IHVtIDA3OjU4IHNjaHJpZWIgSGVpa28gQ2Fyc3RlbnMgPGhjYUBsaW51eC5pYm0uY29tPjoKPj4+ Pj4KPj4+Pj4g77u/T24gVGh1LCBEZWMgMTAsIDIwMjAgYXQgMDk6NDg6MTFBTSArMDUzMCwgQW5z aHVtYW4gS2hhbmR1YWwgd3JvdGU6Cj4+Pj4+Pj4+IEFsdGVybmF0aXZlbHkgbGVhdmluZyBfX3Nl Z21lbnRfbG9hZCgpIGFuZCB2bWVtX2FkZF9tZW1vcnkoKSB1bmNoYW5nZWQKPj4+Pj4+Pj4gd2ls bCBjcmVhdGUgdGhyZWUgcmFuZ2UgY2hlY2tzIGkuZSB0d28gbWVtaHBfcmFuZ2VfYWxsb3dlZCgp IGFuZCB0aGUKPj4+Pj4+Pj4gZXhpc3RpbmcgVk1FTV9NQVhfUEhZUyBjaGVjayBpbiB2bWVtX2Fk ZF9tYXBwaW5nKCkgb24gYWxsIHRoZSBob3RwbHVnCj4+Pj4+Pj4+IHBhdGhzLCB3aGljaCBpcyBu b3Qgb3B0aW1hbC4KPj4+Pj4+Pgo+Pj4+Pj4+IEFoLCBzb3JyeS4gSSBkaWRuJ3QgZm9sbG93IHRo aXMgZGlzY3Vzc2lvbiB0b28gY2xvc2VseS4gSSBqdXN0IHRob3VnaHQKPj4+Pj4+PiBteSBwb2lu dCBvZiB2aWV3IHdvdWxkIGJlIGNsZWFyOiBsZXQncyBub3QgaGF2ZSB0d28gZGlmZmVyZW50IHdh eXMgdG8KPj4+Pj4+PiBjaGVjayBmb3IgdGhlIHNhbWUgdGhpbmcgd2hpY2ggbXVzdCBiZSBrZXB0 IGluIHN5bmMuCj4+Pj4+Pj4gVGhlcmVmb3JlIEkgd2FzIHdvbmRlcmluZyB3aHkgdGhpcyBuZXh0 IHZlcnNpb24gaXMgc3RpbGwgZG9pbmcKPj4+Pj4+PiB0aGF0LiBQbGVhc2UgZmluZCBhIHdheSB0 byBzb2x2ZSB0aGlzLgo+Pj4+Pj4KPj4+Pj4+IFRoZSBmb2xsb3dpbmcgY2hhbmdlIGlzIGFmdGVy IHRoZSBjdXJyZW50IHNlcmllcyBhbmQgc2hvdWxkIHdvcmsgd2l0aAo+Pj4+Pj4gYW5kIHdpdGhv dXQgbWVtb3J5IGhvdHBsdWcgZW5hYmxlZC4gVGhlcmUgd2lsbCBiZSBqdXN0IGEgc2luZ2xlIHBs YWNlCj4+Pj4+PiBpLmUgdm1lbV9nZXRfbWF4X2FkZHIoKSB0byB1cGRhdGUgaW4gY2FzZSB0aGUg bWF4aW11bSBhZGRyZXNzIGNoYW5nZXMKPj4+Pj4+IGZyb20gVk1FTV9NQVhfUEhZUyB0byBzb21l dGhpbmcgZWxzZSBsYXRlci4KPj4+Pj4KPj4+Pj4gU3RpbGwgbm90LiBUaGF0J3Mgd2F5IHRvbyBt dWNoIGNvZGUgY2h1cm4gZm9yIHdoYXQgeW91IHdhbnQgdG8gYWNoaWV2ZS4KPj4+Pj4gSWYgdGhl IHMzOTAgc3BlY2lmaWMgcGF0Y2ggd291bGQgbG9vayBsaWtlIGJlbG93IHlvdSBjYW4gYWRkCj4+ Pj4+Cj4+Pj4+IEFja2VkLWJ5OiBIZWlrbyBDYXJzdGVucyA8aGNhQGxpbnV4LmlibS5jb20+Cj4+ Pj4+Cj4+Pj4+IEJ1dCBwbGVhc2UgbWFrZSBzdXJlIHRoYXQgdGhlIGFyY2hfZ2V0X21hcHBhYmxl X3JhbmdlKCkgcHJvdG90eXBlIGluCj4+Pj4+IGxpbnV4L21lbW9yeV9ob3RwbHVnLmggaXMgYWx3 YXlzIHZpc2libGUgYW5kIGRvZXMgbm90IGRlcGVuZCBvbgo+Pj4+PiBDT05GSUdfTUVNT1JZX0hP VFBMVUcuIEknZCBsaWtlIHRvIGF2b2lkIHNlZWluZyBzcGFyc2Ugd2FybmluZ3MKPj4+Pj4gYmVj YXVzZSBvZiB0aGlzLgo+Pj4+Pgo+Pj4+PiBUaGFua3MuCj4+Pj4+Cj4+Pj4+IGRpZmYgLS1naXQg YS9hcmNoL3MzOTAvbW0vaW5pdC5jIGIvYXJjaC9zMzkwL21tL2luaXQuYwo+Pj4+PiBpbmRleCA3 Nzc2Nzg1MGQwZDAuLmUwZTc4MjM0YWU1NyAxMDA2NDQKPj4+Pj4gLS0tIGEvYXJjaC9zMzkwL21t L2luaXQuYwo+Pj4+PiArKysgYi9hcmNoL3MzOTAvbW0vaW5pdC5jCj4+Pj4+IEBAIC0yOTEsNiAr MjkxLDcgQEAgaW50IGFyY2hfYWRkX21lbW9yeShpbnQgbmlkLCB1NjQgc3RhcnQsIHU2NCBzaXpl LAo+Pj4+PiAgICBpZiAoV0FSTl9PTl9PTkNFKHBhcmFtcy0+cGdwcm90LnBncHJvdCAhPSBQQUdF X0tFUk5FTC5wZ3Byb3QpKQo+Pj4+PiAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+Pj4+Cj4+Pj4+ ICsgICAgVk1fQlVHX09OKCFtZW1ocF9yYW5nZV9hbGxvd2VkKHN0YXJ0LCBzaXplLCAxKSk7Cj4+ Pj4+ICAgIHJjID0gdm1lbV9hZGRfbWFwcGluZyhzdGFydCwgc2l6ZSk7Cj4+Pj4+ICAgIGlmIChy YykKPj4+Pj4gICAgICAgIHJldHVybiByYzsKPj4+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9t bS92bWVtLmMgYi9hcmNoL3MzOTAvbW0vdm1lbS5jCj4+Pj4+IGluZGV4IGIyMzlmMmJhOTNiMC4u Y2NkNTVlMmY5N2Y5IDEwMDY0NAo+Pj4+PiAtLS0gYS9hcmNoL3MzOTAvbW0vdm1lbS5jCj4+Pj4+ ICsrKyBiL2FyY2gvczM5MC9tbS92bWVtLmMKPj4+Pj4gQEAgLTQsNiArNCw3IEBACj4+Pj4+ICAq ICAgIEF1dGhvcihzKTogSGVpa28gQ2Fyc3RlbnMgPGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb20+ Cj4+Pj4+ICAqLwo+Pj4+Pgo+Pj4+PiArI2luY2x1ZGUgPGxpbnV4L21lbW9yeV9ob3RwbHVnLmg+ Cj4+Pj4+ICNpbmNsdWRlIDxsaW51eC9tZW1ibG9jay5oPgo+Pj4+PiAjaW5jbHVkZSA8bGludXgv cGZuLmg+Cj4+Pj4+ICNpbmNsdWRlIDxsaW51eC9tbS5oPgo+Pj4+PiBAQCAtNTMyLDExICs1MzMs MjMgQEAgdm9pZCB2bWVtX3JlbW92ZV9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2ln bmVkIGxvbmcgc2l6ZSkKPj4+Pj4gICAgbXV0ZXhfdW5sb2NrKCZ2bWVtX211dGV4KTsKPj4+Pj4g fQo+Pj4+Pgo+Pj4+PiArc3RydWN0IHJhbmdlIGFyY2hfZ2V0X21hcHBhYmxlX3JhbmdlKHZvaWQp Cj4+Pj4+ICt7Cj4+Pj4+ICsgICAgc3RydWN0IHJhbmdlIHJhbmdlOwo+Pj4+PiArCj4+Pj4+ICsg ICAgcmFuZ2Uuc3RhcnQgPSAwOwo+Pj4+PiArICAgIHJhbmdlLmVuZCA9IFZNRU1fTUFYX1BIWVM7 Cj4+Pj4+ICsgICAgcmV0dXJuIHJhbmdlOwo+Pj4+PiArfQo+Pj4+PiArCj4+Pj4+IGludCB2bWVt X2FkZF9tYXBwaW5nKHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKPj4+ Pj4gewo+Pj4+PiArICAgIHN0cnVjdCByYW5nZSByYW5nZTsKPj4+Pj4gICAgaW50IHJldDsKPj4+ Pj4KPj4+Pj4gLSAgICBpZiAoc3RhcnQgKyBzaXplID4gVk1FTV9NQVhfUEhZUyB8fAo+Pj4+PiAr ICAgIHJhbmdlID0gYXJjaF9nZXRfbWFwcGFibGVfcmFuZ2UoKTsKPj4+Pj4gKyAgICBpZiAoc3Rh cnQgPCByYW5nZS5zdGFydCB8fAo+Pj4+PiArICAgICAgICBzdGFydCArIHNpemUgPiByYW5nZS5l bmQgfHwKPj4+Pj4gICAgICAgIHN0YXJ0ICsgc2l6ZSA8IHN0YXJ0KQo+Pj4+PiAgICAgICAgcmV0 dXJuIC1FUkFOR0U7Cj4+Pj4+Cj4+Pj4+Cj4+Pj4KPj4+PiBSaWdodCwgd2hhdCBJIGhhZCBpbiBt aW5kIGFzIHJlcGx5IHRvIHYxLiBOb3Qgc3VyZSBpZiB3ZSByZWFsbHkgbmVlZCBuZXcgY2hlY2tz IGluIGNvbW1vbiBjb2RlLiBIYXZpbmcgYSBuZXcgbWVtaHBfZ2V0X3BsdWdnYWJsZV9yYW5nZSgp IHdvdWxkIGJlIHN1ZmZpY2llbnQgZm9yIG15IHVzZSBjYXNlICh2aXJ0aW8tbWVtKS4KPj4+IERp ZG4ndCBxdWl0ZSB1bmRlcnN0YW5kICJOb3Qgc3VyZSBpZiB3ZSByZWFsbHkgbmVlZCBuZXcgY2hl Y2tzIGluIGNvbW1vbiBjb2RlIi4KPj4+IENvdWxkIHlvdSBwbGVhc2UgYmUgbW9yZSBzcGVjaWZp Yy4gTmV3IGNoZWNrcyBhcyBpbiBwYWdlbWFwX3JhbmdlKCkgPyBCZWNhdXNlCj4+PiBvdGhlciBw bGFjZXMgaXQgaXMgZWl0aGVyIHJlcGxhY2luZyBlcnN0d2hpbGUgY2hlY2tfaG90cGx1Z19tZW1v cnlfYWRkcmVzc2FibGUoKQo+Pj4gb3IganVzdCBtb3ZpbmcgZXhpc3RpbmcgY2hlY2tzIGZyb20g cGxhdGZvcm0gYXJjaF9hZGRfbWVtb3J5KCkgdG8gdGhlIGJlZ2lubmluZwo+Pj4gb2YgdmFyaW91 cyBob3RwbHVnIHBhdGhzLgo+Pgo+PiBUaGUgbWFpbiBjb25jZXJuIEkgaGF2ZSB3aXRoIGN1cnJl bnQgY29kZSBpcyB0aGF0IGl0IG1ha2VzIGl0IGltcG9zc2libGUKPj4gZm9yIHNvbWUgZHJpdmVy IHRvIGRldGVjdCB3aGljaCByYW5nZXMgaXQgY291bGQgYWN0dWFsbHkgbGF0ZXIgaG90cGx1Zy4K Pj4gWW91IGNhbm5vdCB3YXJuIGFib3V0IGEgc3RyYW5nZSBzZXR1cCBiZWZvcmUgeW91IGFjdHVh bGx5IHJ1biBpbnRvIHRoZQo+PiBpc3N1ZXMgd2hpbGUgdHJ5aW5nIHRvIGFkZCBtZW1vcnkuIExp a2UgcmV0dXJuaW5nICItRUlOVkFMIiBmcm9tIGEKPj4gZnVuY3Rpb24gYnV0IG5vdCBleHBvc2lu ZyB3aGljaCB2YWx1ZXMgYXJlIGFjdHVhbGx5IHZhbGlkLgo+Pgo+PiBJZiB3ZSBoYXZlIG1lbWhw X2dldF9wbHVnZ2FibGVfcmFuZ2UoKSwgd2UgaGF2ZSBzdWNoIGEgbWVjaGFuaXNtIGFuZAo+Pgo+ PiAxLiBUcnlpbmcgdG8gYWRkIG91dC1vZi1yYW5nZSBtZW1vcnkgd2lsbCBmYWlsIChhbHRob3Vn aCBkZWVwIGRvd24gaW4KPj4gYXJjaCBjb2RlLCBidXQgYXQgbGVhc3QgaXQgZmFpbHMpLgo+Pgo+ PiAyLiBUaGVyZSBpcyBhIHdheSBmb3IgZHJpdmVycyB0byBmaW5kIG91dCB3aGljaCB2YWx1ZXMg YXJlIGFjdHVhbGx5Cj4+IHZhbGlkIGJlZm9yZSB0cmlnZ2VyaW5nIDEuCj4gCj4gUmlnaHQsIHRo YXQgaXMgYW4gaW1wb3J0YW50IHVzZSBjYXNlIGZyb20gYSBkcml2ZXIgcGVyc3BlY3RpdmUgYXMg aXQKPiBoZWxwcyB2YWxpZGF0ZSB0aGUgcmFuZ2UgYmVpbmcgYXR0ZW1wdGVkIGZvciBob3RwbHVn LCBiZWZvcmUgZmFpbGluZy4KPiBCdXQgdGhlbiBtZW1ocF9yYW5nZV9hbGxvd2VkKCkgYWxzbyB1 c2VzIHRoZSBzYW1lIG1lY2hhbmlzbSBpLmUKPiBtZW1ocF9nZXRfcGx1Z2dhYmxlX3JhbmdlKCkg dG8gdW5pZnkKPiAKPiAxLiBHZW5lcmljIGNoZWNrX2hvdHBsdWdfbWVtb3J5X2FkZHJlc3NhYmxl KCkKPiAyLiBQbGF0Zm9ybSBjaGVja3MgaW4gYXJjaF9hZGRfbWVtb3J5KCkKPiAKPiBUaGlzIHVu aWZpZWQgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBqdXN0IGF0IHRoZSBiZWdpbm5pbmcgb2YgbWVt b3J5Cj4gaG90cGx1ZyBzbyB0aGF0IGJvdGggKDEpIGFuZCAoMikgY2FuIGJlIGRyb3BwZWQgYWxs IHRvZ2V0aGVyLiBUaGlzCj4gaXMganVzdCBhIGxvZ2ljYWwgZXh0ZW5zaW9uIHdoaWNoIGRvZXMg aW1wcm92ZSB0aGUgbWVtb3J5IGhvdHBsdWcKPiBpbXBsZW1lbnRhdGlvbiAoaW4gaXRzZWxmKSBi eSBmYWlsaW5nIGVhcmxpZXIgYW5kIHdoaWxlIGF0IGl0LCBhbHNvCj4gdW5pZnlpbmcgZ2VuZXJp YyBhbmQgcGxhdGZvcm0gc3BlY2lmaWMgcmFuZ2UgY29uc3RyYWludHMuIEJvdGggdGhlCj4gdXNl IGNhc2VzIGFyZSBvcnRob2dvbmFsIElNSE8uCgpBcyBsb25ncyBhcyBpdCBzaW1wbGlmaWVzIHRo ZSBjb2RlIHN1cmUuIEJ1dCBhdCBsZWFzdCBpbiB0aGUgczM5MHggY2FzZSwKd2UgY2Fubm90IGdl dCByaWQgb2YgdGhlIGludGVybmFsIGNoZWNrcy4KCi0tIApUaGFua3MsCgpEYXZpZCAvIGRoaWxk ZW5iCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGlu dXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgt YXJtLWtlcm5lbAo=