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.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,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 75095C07E94 for ; Fri, 4 Jun 2021 16:04:57 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 4110B613D2 for ; Fri, 4 Jun 2021 16:04:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4110B613D2 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=bombadil.20210309; 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=c5S8/kUzu0sXcleVdqE6ONEdZnJPZO54OFMSg5WjV4M=; b=ET8ybwy2oMMk4b U6HczkIKH4LpLGaN0puH9us3auhPJ6I2dKeaevINPDn6ODOU4e3WoI/cPYVm2qxI+ZMzAGPv4gCD1 wAm8yTTfRe4w4BbLpxn1uFpMOj3tdqbmYeIYPvL/XHB1aOd5jYDTh16eM2viqS0T+qX6B5YDjdZ9/ X+cLAb+Fw8lmp33297JQK62ufDgQ03VsjtRtHsnFOnOgMqg0bVCCT7fYqkllvHZXBdF2Ep7Pr7zL+ F8UNXb0et4/Z0xFr/hehSJIZmFKD5KfDhcVgdOXCd6y/O+buT4as9f3NreW3iXYQqgSNG60wuE9Mk QMVryFbpsRPyt5uJgsoA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1lpCHi-00EGvT-8P; Fri, 04 Jun 2021 16:02:58 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1lpCHa-00EGuI-2W for linux-arm-kernel@lists.infradead.org; Fri, 04 Jun 2021 16:02:55 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 00F7E613F3; Fri, 4 Jun 2021 16:02:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1622822569; bh=6dzasOgEWu9CjupxUlAg8mGO8y6qtfmZ/ZEkjf7yUxc=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=jpWXY0H221k4DW06WHX+qPJL3iG0J2EFMFoK4Up8y9yMY3cMBTZeAbsG4ND+jD9UR +qnNU7sPE78/47UIOWlqJEN+WyzTtQn588eH8coio31PoR2VeEjFphMPZokO1alaM0 GuQX1lvWY0yyJ9Dz/OxifycNmA3pWJcOU5jwLEzIUaPUxJOzfRg1QghVZuAOODHklb f8FkA/mT1VK3m6xd2UEaNJsGKQZla6C4m7NudShV5kz+0xjMbslhbvuvwK6uEA3LVs zyBQsQTSF69we56w4S5FKHvp1GRcmParv2BcW5Ise2xPBNdDWkRhRVT4jNxK4NULND KNhO1tf1HsKUQ== Received: by pali.im (Postfix) id 53168990; Fri, 4 Jun 2021 18:02:46 +0200 (CEST) Date: Fri, 4 Jun 2021 18:02:46 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Marc Zyngier Cc: Lorenzo Pieralisi , Thomas Petazzoni , Rob Herring , Bjorn Helgaas , Russell King , Marek =?utf-8?B?QmVow7pu?= , Remi Pommarel , Xogium , Tomasz Maciej Nowak , linux-pci@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 17/42] PCI: aardvark: Fix support for MSI interrupts Message-ID: <20210604160246.vrix6fngictqpmbg@pali> References: <20210506153153.30454-1-pali@kernel.org> <20210506153153.30454-18-pali@kernel.org> <87czu2q25h.wl-maz@kernel.org> <20210507144420.24aess56cc7ie2x2@pali> <875yzupl52.wl-maz@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <875yzupl52.wl-maz@kernel.org> User-Agent: NeoMutt/20180716 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210604_090250_174759_3BBA6E30 X-CRM114-Status: GOOD ( 44.12 ) 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 T24gRnJpZGF5IDA3IE1heSAyMDIxIDE3OjI0OjI1IE1hcmMgWnluZ2llciB3cm90ZToKPiBPbiBG cmksIDA3IE1heSAyMDIxIDE1OjQ0OjIwICswMTAwLAo+IFBhbGkgUm9ow6FyIDxwYWxpQGtlcm5l bC5vcmc+IHdyb3RlOgo+ID4gCj4gPiBPbiBGcmlkYXkgMDcgTWF5IDIwMjEgMTE6MTY6NTggTWFy YyBaeW5naWVyIHdyb3RlOgo+ID4gPiBPbiBUaHUsIDA2IE1heSAyMDIxIDE2OjMxOjI4ICswMTAw LAo+ID4gPiBQYWxpIFJvaMOhciA8cGFsaUBrZXJuZWwub3JnPiB3cm90ZToKPiA+ID4gPiAKPiA+ ID4gPiBNU0kgZG9tYWluIGNhbGxiYWNrIC5hbGxvYyAoaW1wbGVtZW50ZWQgYnkgYWR2a19tc2lf aXJxX2RvbWFpbl9hbGxvYygpCj4gPiA+ID4gZnVuY3Rpb24pIHNob3VsZCByZXR1cm4gemVybyBv biBzdWNjZXNzLiBSZXR1cm5pbmcgbm9uLXplcm8gdmFsdWUgaW5kaWNhdGVzCj4gPiA+ID4gZmFp bHVyZS4gRml4IHJldHVybiB2YWx1ZSBvZiB0aGlzIGZ1bmN0aW9uIGFzIGluIG1hbnkgY2FzZXMg aXQgbm93IHJldHVybnMKPiA+ID4gPiBmYWlsdXJlIHdoaWxlIGFsbG9jYXRpbmcgSVJRcy4KPiA+ ID4gPiAKPiA+ID4gPiBBYXJkdmFyayBoYXJkd2FyZSBzdXBwb3J0cyBNdWx0aS1NU0kgYW5kIE1T SV9GTEFHX01VTFRJX1BDSV9NU0kgaXMgYWxyZWFkeQo+ID4gPiA+IHNldC4gQnV0IHdoZW4gYWxs b2NhdGluZyBNU0kgaW50ZXJydXB0IG51bWJlcnMgZm9yIE11bHRpLU1TSSwgdGhleSBuZWVkIHRv Cj4gPiA+ID4gYmUgcHJvcGVybHkgYWxpZ25lZCwgb3RoZXJ3aXNlIGVuZHBvaW50IGRldmljZXMg c2VuZCBNU0kgaW50ZXJydXB0IHdpdGgKPiA+ID4gPiBpbmNvcnJlY3QgbnVtYmVycy4gRml4IHRo aXMgaXNzdWUgYnkgdXNpbmcgZnVuY3Rpb24gYml0bWFwX2ZpbmRfZnJlZV9yZWdpb24oKQo+ID4g PiA+IGluc3RlYWQgb2YgYml0bWFwX2ZpbmRfbmV4dF96ZXJvX2FyZWEoKS4KPiA+ID4gPiAKPiA+ ID4gPiBUbyBlbnN1cmUgdGhhdCBhbGlnbmVkIE1TSSBpbnRlcnJ1cHQgbnVtYmVycyBhcmUgdXNl ZCBieSBlbmRwb2ludCBkZXZpY2VzLAo+ID4gPiA+IHdlIGNhbm5vdCB1c2UgTGludXggdmlydHVh bCBpcnEgbnVtYmVycyAoYXMgdGhleSBhcmUgcmFuZG9tIGFuZCBub3QKPiA+ID4gPiBwcm9wZXJs eSBhbGlnbmVkKS4gU28gdXNlIGh3aXJxIG51bWJlcnMgYWxsb2NhdGVkIGJ5IHRoZSBmdW5jdGlv bgo+ID4gPiA+IGJpdG1hcF9maW5kX2ZyZWVfcmVnaW9uKCksIHdoaWNoIGFyZSBhbGlnbmVkLiBU aGlzIG5lZWRzIGFuIHVwZGF0ZSBpbgo+ID4gPiA+IGFkdmtfbXNpX2lycV9jb21wb3NlX21zaV9t c2coKSBhbmQgYWR2a19wY2llX2hhbmRsZV9tc2koKSBmdW5jdGlvbnMgdG8gZG8KPiA+ID4gPiBw cm9wZXIgbWFwcGluZyBiZXR3ZWVuIExpbnV4IHZpcnR1YWwgaXJxIG51bWJlcnMgYW5kIGh3aXJx IE1TSSBpbm5lciBkb21haW4KPiA+ID4gPiBudW1iZXJzLgo+ID4gPiA+IAo+ID4gPiA+IEFsc28g dGhlIHdob2xlIDE2LWJpdCBNU0kgbnVtYmVyIGlzIHN0b3JlZCBpbiB0aGUgUENJRV9NU0lfUEFZ TE9BRF9SRUcKPiA+ID4gPiByZWdpc3Rlciwgbm90IG9ubHkgbG93ZXIgOCBiaXRzLiBGaXggcmVh ZGluZyBjb250ZW50IG9mIHRoaXMgcmVnaXN0ZXIuCj4gPiA+ID4gCj4gPiA+ID4gVGhpcyBjaGFu Z2UgZml4ZXMgcmVjZWl2aW5nIE1TSSBpbnRlcnJ1cHRzIG9uIEFybWFkYSAzNzIwIGJvYXJkcyBh bmQgYWxsb3dzCj4gPiA+ID4gdXNpbmcgTlZNZSBkaXNrcyB3aGljaCB1c2UgTXVsdGktTVNJIGZl YXR1cmUgd2l0aCAzIGludGVycnVwdHMuCj4gPiA+ID4gCj4gPiA+ID4gV2l0aG91dCB0aGlzIGNo YW5nZSwgTlZNZSBkaXNrcyBqdXN0IGZyZWV6ZSBib290aW5nIExpbnV4IG9uIEFybWFkYSAzNzIw Cj4gPiA+ID4gYm9hcmRzIGFzIGxpbnV4IG52bWUtY29yZS5jIGRyaXZlciBpcyB3YWl0aW5nIDYw cyBmb3IgYW4gaW50ZXJydXB0Lgo+ID4gPiA+IAo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFBhbGkg Um9ow6FyIDxwYWxpQGtlcm5lbC5vcmc+Cj4gPiA+ID4gUmV2aWV3ZWQtYnk6IE1hcmVrIEJlaMO6 biA8a2FiZWxAa2VybmVsLm9yZz4KPiA+ID4gPiBDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZyAj IGYyMWE4YjFiNjgzNyAoIlBDSTogYWFyZHZhcms6IE1vdmUgdG8gTVNJIGhhbmRsaW5nIHVzaW5n IGdlbmVyaWMgTVNJIHN1cHBvcnQiKQo+ID4gPiA+IC0tLQo+ID4gPiA+ICBkcml2ZXJzL3BjaS9j b250cm9sbGVyL3BjaS1hYXJkdmFyay5jIHwgMzIgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t Cj4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMo LSkKPiA+ID4gPiAKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvY29udHJvbGxlci9w Y2ktYWFyZHZhcmsuYyBiL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIvcGNpLWFhcmR2YXJrLmMKPiA+ ID4gPiBpbmRleCAzNjZkNzQ4MGJjMWIuLjQ5ODgxMGMwMGI2ZCAxMDA2NDQKPiA+ID4gPiAtLS0g YS9kcml2ZXJzL3BjaS9jb250cm9sbGVyL3BjaS1hYXJkdmFyay5jCj4gPiA+ID4gKysrIGIvZHJp dmVycy9wY2kvY29udHJvbGxlci9wY2ktYWFyZHZhcmsuYwo+ID4gPiA+IEBAIC0xMTgsNiArMTE4 LDcgQEAKPiA+ID4gPiAgI2RlZmluZSBQQ0lFX01TSV9TVEFUVVNfUkVHCQkJKENPTlRST0xfQkFT RV9BRERSICsgMHg1OCkKPiA+ID4gPiAgI2RlZmluZSBQQ0lFX01TSV9NQVNLX1JFRwkJCShDT05U Uk9MX0JBU0VfQUREUiArIDB4NUMpCj4gPiA+ID4gICNkZWZpbmUgUENJRV9NU0lfUEFZTE9BRF9S RUcJCQkoQ09OVFJPTF9CQVNFX0FERFIgKyAweDlDKQo+ID4gPiA+ICsjZGVmaW5lICAgICBQQ0lF X01TSV9EQVRBX01BU0sJCQlHRU5NQVNLKDE1LCAwKQo+ID4gPiAKPiA+ID4gU2VlIG15IGNvbW1l bnQgYmVsb3cgYWJvdXQgdGhpcyBhZGRpdGlvbi4KPiA+ID4gCj4gPiA+ID4gIC8qIExNSSByZWdp c3RlcnMgYmFzZSBhZGRyZXNzIGFuZCByZWdpc3RlciBvZmZzZXRzICovCj4gPiA+ID4gICNkZWZp bmUgTE1JX0JBU0VfQUREUgkJCQkweDYwMDAKPiA+ID4gPiBAQCAtODYxLDcgKzg2Miw3IEBAIHN0 YXRpYyB2b2lkIGFkdmtfbXNpX2lycV9jb21wb3NlX21zaV9tc2coc3RydWN0IGlycV9kYXRhICpk YXRhLAo+ID4gPiA+ICAKPiA+ID4gPiAgCW1zZy0+YWRkcmVzc19sbyA9IGxvd2VyXzMyX2JpdHMo bXNpX21zZyk7Cj4gPiA+ID4gIAltc2ctPmFkZHJlc3NfaGkgPSB1cHBlcl8zMl9iaXRzKG1zaV9t c2cpOwo+ID4gPiA+IC0JbXNnLT5kYXRhID0gZGF0YS0+aXJxOwo+ID4gPiA+ICsJbXNnLT5kYXRh ID0gZGF0YS0+aHdpcnE7Cj4gPiA+ID4gIH0KPiA+ID4gPiAgCj4gPiA+ID4gIHN0YXRpYyBpbnQg YWR2a19tc2lfc2V0X2FmZmluaXR5KHN0cnVjdCBpcnFfZGF0YSAqaXJxX2RhdGEsCj4gPiA+ID4g QEAgLTg3OCwxNSArODc5LDExIEBAIHN0YXRpYyBpbnQgYWR2a19tc2lfaXJxX2RvbWFpbl9hbGxv YyhzdHJ1Y3QgaXJxX2RvbWFpbiAqZG9tYWluLAo+ID4gPiA+ICAJaW50IGh3aXJxLCBpOwo+ID4g PiA+ICAKPiA+ID4gPiAgCW11dGV4X2xvY2soJnBjaWUtPm1zaV91c2VkX2xvY2spOwo+ID4gPiA+ IC0JaHdpcnEgPSBiaXRtYXBfZmluZF9uZXh0X3plcm9fYXJlYShwY2llLT5tc2lfdXNlZCwgTVNJ X0lSUV9OVU0sCj4gPiA+ID4gLQkJCQkJICAgMCwgbnJfaXJxcywgMCk7Cj4gPiA+ID4gLQlpZiAo aHdpcnEgPj0gTVNJX0lSUV9OVU0pIHsKPiA+ID4gPiAtCQltdXRleF91bmxvY2soJnBjaWUtPm1z aV91c2VkX2xvY2spOwo+ID4gPiA+IC0JCXJldHVybiAtRU5PU1BDOwo+ID4gPiA+IC0JfQo+ID4g PiA+IC0KPiA+ID4gPiAtCWJpdG1hcF9zZXQocGNpZS0+bXNpX3VzZWQsIGh3aXJxLCBucl9pcnFz KTsKPiA+ID4gPiArCWh3aXJxID0gYml0bWFwX2ZpbmRfZnJlZV9yZWdpb24ocGNpZS0+bXNpX3Vz ZWQsIE1TSV9JUlFfTlVNLAo+ID4gPiA+ICsJCQkJCW9yZGVyX2Jhc2VfMihucl9pcnFzKSk7Cj4g PiA+ID4gIAltdXRleF91bmxvY2soJnBjaWUtPm1zaV91c2VkX2xvY2spOwo+ID4gPiA+ICsJaWYg KGh3aXJxIDwgMCkKPiA+ID4gPiArCQlyZXR1cm4gLUVOT1NQQzsKPiA+ID4gPiAgCj4gPiA+ID4g IAlmb3IgKGkgPSAwOyBpIDwgbnJfaXJxczsgaSsrKQo+ID4gPiA+ICAJCWlycV9kb21haW5fc2V0 X2luZm8oZG9tYWluLCB2aXJxICsgaSwgaHdpcnEgKyBpLAo+ID4gPiA+IEBAIC04OTQsNyArODkx LDcgQEAgc3RhdGljIGludCBhZHZrX21zaV9pcnFfZG9tYWluX2FsbG9jKHN0cnVjdCBpcnFfZG9t YWluICpkb21haW4sCj4gPiA+ID4gIAkJCQkgICAgZG9tYWluLT5ob3N0X2RhdGEsIGhhbmRsZV9z aW1wbGVfaXJxLAo+ID4gPiA+ICAJCQkJICAgIE5VTEwsIE5VTEwpOwo+ID4gPiA+ICAKPiA+ID4g PiAtCXJldHVybiBod2lycTsKPiA+ID4gPiArCXJldHVybiAwOwo+ID4gPiA+ICB9Cj4gPiA+ID4g IAo+ID4gPiA+ICBzdGF0aWMgdm9pZCBhZHZrX21zaV9pcnFfZG9tYWluX2ZyZWUoc3RydWN0IGly cV9kb21haW4gKmRvbWFpbiwKPiA+ID4gPiBAQCAtOTA0LDcgKzkwMSw3IEBAIHN0YXRpYyB2b2lk IGFkdmtfbXNpX2lycV9kb21haW5fZnJlZShzdHJ1Y3QgaXJxX2RvbWFpbiAqZG9tYWluLAo+ID4g PiA+ICAJc3RydWN0IGFkdmtfcGNpZSAqcGNpZSA9IGRvbWFpbi0+aG9zdF9kYXRhOwo+ID4gPiA+ ICAKPiA+ID4gPiAgCW11dGV4X2xvY2soJnBjaWUtPm1zaV91c2VkX2xvY2spOwo+ID4gPiA+IC0J Yml0bWFwX2NsZWFyKHBjaWUtPm1zaV91c2VkLCBkLT5od2lycSwgbnJfaXJxcyk7Cj4gPiA+ID4g KwliaXRtYXBfcmVsZWFzZV9yZWdpb24ocGNpZS0+bXNpX3VzZWQsIGQtPmh3aXJxLCBvcmRlcl9i YXNlXzIobnJfaXJxcykpOwo+ID4gPiA+ICAJbXV0ZXhfdW5sb2NrKCZwY2llLT5tc2lfdXNlZF9s b2NrKTsKPiA+ID4gPiAgfQo+ID4gPiA+ICAKPiA+ID4gPiBAQCAtMTA0OCw2ICsxMDQ1LDcgQEAg c3RhdGljIHZvaWQgYWR2a19wY2llX2hhbmRsZV9tc2koc3RydWN0IGFkdmtfcGNpZSAqcGNpZSkK PiA+ID4gPiAgewo+ID4gPiA+ICAJdTMyIG1zaV92YWwsIG1zaV9tYXNrLCBtc2lfc3RhdHVzLCBt c2lfaWR4Owo+ID4gPiA+ICAJdTE2IG1zaV9kYXRhOwo+ID4gPiA+ICsJaW50IHZpcnE7Cj4gPiA+ ID4gIAo+ID4gPiA+ICAJbXNpX21hc2sgPSBhZHZrX3JlYWRsKHBjaWUsIFBDSUVfTVNJX01BU0tf UkVHKTsKPiA+ID4gPiAgCW1zaV92YWwgPSBhZHZrX3JlYWRsKHBjaWUsIFBDSUVfTVNJX1NUQVRV U19SRUcpOwo+ID4gPiA+IEBAIC0xMDU3LDkgKzEwNTUsMTcgQEAgc3RhdGljIHZvaWQgYWR2a19w Y2llX2hhbmRsZV9tc2koc3RydWN0IGFkdmtfcGNpZSAqcGNpZSkKPiA+ID4gPiAgCQlpZiAoIShC SVQobXNpX2lkeCkgJiBtc2lfc3RhdHVzKSkKPiA+ID4gPiAgCQkJY29udGludWU7Cj4gPiA+ID4g IAo+ID4gPiA+ICsJCS8qCj4gPiA+ID4gKwkJICogbXNpX2lkeCBjb250YWlucyBiaXRzIFs0OjBd IG9mIHRoZSBtc2lfZGF0YSBhbmQgbXNpX2RhdGEKPiA+ID4gPiArCQkgKiBjb250YWlucyAxNmJp dCBNU0kgaW50ZXJydXB0IG51bWJlciBmcm9tIE1TSSBpbm5lciBkb21haW4KPiA+ID4gPiArCQkg Ki8KPiA+ID4gPiAgCQlhZHZrX3dyaXRlbChwY2llLCBCSVQobXNpX2lkeCksIFBDSUVfTVNJX1NU QVRVU19SRUcpOwo+ID4gPiA+IC0JCW1zaV9kYXRhID0gYWR2a19yZWFkbChwY2llLCBQQ0lFX01T SV9QQVlMT0FEX1JFRykgJiAweEZGOwo+ID4gPiA+IC0JCWdlbmVyaWNfaGFuZGxlX2lycShtc2lf ZGF0YSk7Cj4gPiA+ID4gKwkJbXNpX2RhdGEgPSBhZHZrX3JlYWRsKHBjaWUsIFBDSUVfTVNJX1BB WUxPQURfUkVHKSAmIFBDSUVfTVNJX0RBVEFfTUFTSzsKPiA+ID4gCj4gPiA+IENhbiB0aGlzIGJl IG1vdmVkIHRvIGEgc2VwYXJhdGUgcGF0Y2g/IEl0IHNlZW1zIGxpa2UgdGhpcyBwYXRjaCBzaG91 bGQKPiA+ID4gb25seSBmb2N1cyBvbiBjb3JyZWN0bHkgZGVhbGluZyB3aXRoIHRoZSBpcnEvaHdp cnEgaXNzdWVzLgo+ID4gCj4gPiBXZWxsLCBod2lycSBpcyByZWFkIGZyb20gUENJRV9NU0lfUEFZ TE9BRF9SRUcgcmVnaXN0ZXIgYW5kIGl0IGlzIDE2LWJpdC4KPiA+IFRoYXQgaXMgd2h5IEkgaW5j bHVkZWQgdGhpcyBjaGFuZ2UgaW4gdGhpcyBwYXRjaCwgdG8gZml4IGFsc28gcmVhZGluZwo+ID4g SVJRIG51bWJlciwgbm90IG9ubHkgc2V0dGluZyBJUlEgbnVtYmVyLgo+IAo+IEJ1dCB0aGlzIGly cSBudW1iZXIgc3RpbGwgaXMgYSA1IGJpdCBxdWFudGl0eSBhdCB0aGlzIHN0YWdlLCBhbmQgdGhl CgpZZXMsIGl0IHNob3VsZCBiZSA1IGJpdCBudW1iZXIuIEFuZCBpbiBjYXNlIHdyb25nbHkgcHJv Z3JhbW1lZCBQQ0llIGNhcmQKc2VuZHMgaW50ZXJydXB0IHdpdGggImluY29ycmVjdCBudW1iZXIi IHRoZW4gQTM3MjAgUENJZSBjb250cm9sbGVyCiJzaG91bGQgbm90IHRyeSIgdG8gbWFwIHRoaXMg MTYtYml0IHVua25vd24gTVNJIGludGVycnVwdCBudW1iZXIgdG8Kc29tZXRoaW5nIGluIDUtYml0 IGRvbWFpbiAoYnkgc2V0dGluZyB1cHBlciBiaXRzIHRvIHplcm8pIGFuZCB0cnlpbmcgdG8KZGVs aXZlciB0aGlzIGludmFsaWQgaW50ZXJydXB0IHZpYSBzb21lIGV4aXN0aW5nIHZpcnEuCgpJbnRl cnJ1cHQgbnVtYmVyIG9mIHJlY2VpdmVkIE1TSSBpcyBzdG9yZWQgaW4gbG93IDE2IGJpdHMgaW4K UENJRV9NU0lfUEFZTE9BRF9SRUcgcmVnaXN0ZXIgYW5kIHlvdSBzaG91bGQgdXNlIC8gdmFsaWRh dGUgd2hvbGUKbnVtYmVyLCBub3QganVzdCBmZXcgYml0cyBmcm9tIGl0LgoKPiBzdXBwb3J0IGZv ciBtb3JlIHRoYW4gMzIgTVNJcyBvbmx5IGNvbWUgaW4gMyBwYXRjaGVzIGxhdGVyLgo+IAo+IFNv IHRoaXMgZG9lc24ndCBmaXggYW55dGhpbmcgaW4gdGhpcyBwYXRjaCwgYW5kIHNob3VsZCBiZSBt b3ZlZCB0bwo+IHBhdGNoIDIwLgo+IAo+IFRoYW5rcywKPiAKPiAJTS4KPiAKPiAtLSAKPiBXaXRo b3V0IGRldmlhdGlvbiBmcm9tIHRoZSBub3JtLCBwcm9ncmVzcyBpcyBub3QgcG9zc2libGUuCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0t a2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcK aHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2Vy bmVsCg==