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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 7F7FEC43217 for ; Wed, 19 Jan 2022 20:44:24 +0000 (UTC) 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: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:References: List-Owner; bh=/9yzTpRILrRrDBpeeKNrDT5+DrlID6sbDqwqEBIY+Ok=; b=uePbpvDxDo5xbJ 4bnuc49sZr+FGEYp2dvGH5XRfz+J/2VM0NPIojV2LqmOE6S8rdeM4ZyLAavpcZTi39he+tLMPm7ui zB69lwzu98N5f92NiBT4QgBsw4C7OZxbN6DWJ+v10y/bwXteLBG7k1tGkRPQFzesbbx3F4Ncp/ncr A89HeacIqtSHOrjPeZchPxxgZxaWoqmw4Xb82gAO2eN0zXS7RaasFDi2QkWtPEKaAKqnppHVzFvyF 0B921Gwd9cXAqJXP4ZVeePpw7+JztdOnpI8WfOOly4jCpQwpe4c71s45yV3uadpKhMCypeJluobeC djBkzgIjReqq5LJd3F/w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nAHnO-007MML-VG; Wed, 19 Jan 2022 20:43:07 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nAHnL-007MKo-6k for linux-arm-kernel@lists.infradead.org; Wed, 19 Jan 2022 20:43:04 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 242DE6171D; Wed, 19 Jan 2022 20:43:02 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3EEBAC004E1; Wed, 19 Jan 2022 20:43:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1642624981; bh=MYdffHsoiG3EHyAMjktxM2ofz/n5wkMwONpV0Nte2Cc=; h=Date:From:To:Cc:Subject:In-Reply-To:From; b=WNEtlRC2A1ACqYqANxnXl4w6LgJIsbTg1+FcDOru2xLG/04GiIHhpXHiypVxqPqoJ mgcBHAhLy7od99+LxMNNv0llAle2tjK8UbIPaMXkc1j5TbFePbGhMpm6MeQKubXHqP q6auDJ5MTnQPEi97UJDA6N3JyFcgWxVTcnxzoeHNEA+paE5ZT1Z1x0MIDETEHSGyDF 7U9Inogrtr0C5hTG1r+dD1yIN8zvQu1PONjkiNS91KFeY69YhQcCW8qJ6w/1wuESLK svzdACsj7hCprWHtEZ7tr0PAICJpBvecPba5jGB6ezFwQiN1lhbVj1ti85tdDwWH7o GR/6nrncDXW7A== Date: Wed, 19 Jan 2022 14:42:59 -0600 From: Bjorn Helgaas To: Shuai Xue Cc: "Rafael J. Wysocki" , bp@alien8.de, tony.luck@intel.com, james.morse@arm.com, lenb@kernel.org, rjw@rjwysocki.net, bhelgaas@google.com, zhangliguang@linux.alibaba.com, zhuo.song@linux.alibaba.com, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-pci@vger.kernel.org Subject: Re: [PATCH v5] ACPI: Move sdei_init and ghes_init ahead to handle platform errors earlier Message-ID: <20220119204259.GA962224@bhelgaas> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220119_124303_387175_CB909234 X-CRM114-Status: GOOD ( 60.16 ) 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 T24gV2VkLCBKYW4gMTksIDIwMjIgYXQgMDI6NDA6MTFQTSArMDgwMCwgU2h1YWkgWHVlIHdyb3Rl Ogo+IFsrdG8gUmFmYWVsLCBxdWVzdGlvbiBhYm91dCBIRVNUL0dIRVMvU0RFSSBpbml0XQo+IAo+ IEhpLCBCam9ybiwKPiAKPiBUaGFuayB5b3UgZm9yIHlvdXIgY29tbWVudHMgYW5kIHF1aWNrIHJl cGx5Lgo+IAo+IOWcqCAyMDIyLzEvMTkgQU02OjQ5LCBCam9ybiBIZWxnYWFzIOWGmemBkzoKPiA+ IE9uIFN1biwgSmFuIDE2LCAyMDIyIGF0IDA0OjQzOjEwUE0gKzA4MDAsIFNodWFpIFh1ZSB3cm90 ZToKPiA+PiBPbiBhbiBBQ1BJIHN5c3RlbSwgQUNQSSBpcyBpbml0aWFsaXNlZCB2ZXJ5IGVhcmx5 IGZyb20gYQo+ID4+IHN1YnN5c19pbml0Y2FsbCgpLCB3aGlsZSBTREVJIGlzIG5vdCByZWFkeSB1 bnRpbCBhCj4gPj4gc3Vic3lzX2luaXRjYWxsX3N5bmMoKS4gVGhpcyBwYXRjaCBpcyB0byByZWR1 Y2UgdGhlIHRpbWUgYmVmb3JlIEdIRVMKPiA+PiBpbml0aWFsaXphdGlvbi4KPiA+Pgo+ID4+IFRo ZSBTREVJIGRyaXZlciBwcm92aWRlcyBmdW5jdGlvbnMgKGUuZy4gYXBlaV9zZGVpX3JlZ2lzdGVy X2doZXMoKSwKPiA+PiBhcGVpX3NkZWlfdW5yZWdpc3Rlcl9naGVzKCkpIHRvIHJlZ2lzdGVyIG9y IHVucmVnaXN0ZXIgZXZlbnQgY2FsbGJhY2sKPiA+PiBmb3IgZGlzcGF0Y2hlciBpbiBmaXJtd2Fy ZS4gV2hlbiB0aGUgR0hFUyBkcml2ZXIgcHJvYmluZywgaXQgcmVnaXN0ZXJzCj4gPj4gdGhlIGNv cnJlc3BvbmRpbmcgY2FsbGJhY2sgYWNjb3JkaW5nIHRvIHRoZSBub3RpZmljYXRpb24gdHlwZSBz cGVjaWZpZWQKPiA+PiBieSBHSEVTLiBJZiB0aGUgR0hFUyBub3RpZmljYXRpb24gdHlwZSBpcyBT REVJLCB0aGUgR0hFUyBkcml2ZXIgd2lsbAo+ID4+IGNhbGwgYXBlaV9zZGVpX3JlZ2lzdGVyX2do ZXMoKSB0byByZWdpc3RlciBldmVudCBjYWxsLgo+ID4+Cj4gPj4gV2hlbiB0aGUgZmlybXdhcmUg ZW1pdHMgYW4gZXZlbnQsIGl0IG1pZ3JhdGVzIHRoZSBoYW5kbGluZyBvZiB0aGUgZXZlbnQKPiA+ PiBpbnRvIHRoZSBrZXJuZWwgYXQgdGhlIHJlZ2lzdGVyZWQgZW50cnktcG9pbnQgX19zZGVpX2Fz bV9oYW5kbGVyLiBBbmQKPiA+PiBmaW5hbGx5LCB0aGUga2VybmVsIHdpbGwgY2FsbCB0aGUgcmVn aXN0ZXJlZCBldmVudCBjYWxsYmFjayBhbmQgcmV0dXJuCj4gPj4gc3RhdHVzX2NvZGUgdG8gaW5k aWNhdGUgdGhlIHN0YXR1cyBvZiBldmVudCBoYW5kbGluZy4gU0RFSV9FVl9GQUlMRUQKPiA+PiBp bmRpY2F0ZXMgdGhhdCB0aGUga2VybmVsIGZhaWxlZCB0byBoYW5kbGUgdGhlIGV2ZW50Lgo+ID4+ Cj4gPj4gQ29uc2VxdWVudGx5LCB3aGVuIGFuIGVycm9yIG9jY3VycyBkdXJpbmcga2VybmVsIGJv b3RpbmcsIHRoZSBrZXJuZWwgaXMKPiA+PiB1bmFibGUgdG8gaGFuZGxlIGFuZCByZXBvcnQgZXJy b3JzIHVudGlsIHRoZSBHSEVTIGRyaXZlciBpcyBpbml0aWFsaXplZAo+ID4+IGJ5IGRldmljZV9p bml0Y2FsbCgpLCBpbiB3aGljaCB0aGUgZXZlbnQgY2FsbGJhY2sgaXMgcmVnaXN0ZXJlZC4gIEZv cgo+ID4+IGV4YW1wbGUsIHdoZW4gdGhlIGtlcm5lbCBib290aW5nLCB0aGUgY29uc29sZSBsb2dz IG1hbnkgdGltZXMgZnJvbQo+ID4+IGZpcm13YXJlIGJlZm9yZSBHSEVTIGRyaXZlcnMgaW5pdCBp biBvdXIgcGxhdGZvcm06Cj4gPj4KPiA+PiAJVHJpcCBpbiBNTSBQQ0llIFJBUyBoYW5kbGUoSW50 cjo5MTApCj4gPj4gICAJQ2xlYW4gUEVbMS4xLjFdIEVSUl9TVFM6MHg0MDAwMTAwIC0+IDAgSU5U X1NUUzpGMDAwMDAwMAo+ID4+IAlGaW5kIFJQKDk4OjEuMCkKPiA+PiAJLS1XYWxrIGRldig5ODox LjApIENFOjAgVUNFOjQwMDAKPiA+PiAJLi4uCj4gPj4gCUVSUk9SOiAgIHNkZWlfZGlzcGF0Y2hf ZXZlbnQoMzJhKSByZXQ6LTEKPiA+PiAJLS1oYW5kbGVyKDkxMCkgZW5kCj4gPiAKPiA+IElmIEkg dW5kZXJzdGFuZCBjb3JyZWN0bHksIHRoZSBmaXJtd2FyZSBub3RpY2VkIGFuIGVycm9yLCB0cmll ZCB0bwo+ID4gcmVwb3J0IGl0IHRvIHRoZSBrZXJuZWwsIGFuZCBpcyBjb21wbGFpbmluZyBiZWNh dXNlIHRoZSBrZXJuZWwgaXNuJ3QKPiA+IHJlYWR5IHRvIGhhbmRsZSBpdCB5ZXQuICBBbmQgdGhl IHJlYXNvbiBmb3IgdGhpcyBwYXRjaCBpcyB0byByZWR1Y2UKPiA+IHRoZXNlIGNvbXBsYWludHMg ZnJvbSB0aGUgZmlybXdhcmUuCj4gCj4gTXkgdGhvdWdodHMgZXhhY3RseSA6KQo+IAo+ID4gVGhh dCBkb2Vzbid0IHNlZW0gbGlrZSBhIHZlcnkgZ29vZCByZWFzb24gZm9yIHRoaXMgcGF0Y2guICBU aGVyZSBpcwo+ID4gKmFsd2F5cyogYSB3aW5kb3cgYmVmb3JlIHRoZSBrZXJuZWwgaXMgcmVhZHkg dG8gaGFuZGxlIGV2ZW50cyBmcm9tIHRoZQo+ID4gZmlybXdhcmUuCj4gCj4gWWVzLCB0aGVyZSBp cyBhbHdheXMgYSB3aW5kb3cuIEJ1dCBpZiB3ZSBjb3VsZCBkbyBiZXR0ZXIgaW4ga2VybmVsIHRo YXQKPiByZWR1Y2VzIHRoZSB3aW5kb3cgYnkgOTAlIChmcm9tIDMzIHNlY29uZHMgdG8gMyBzZWNv bmQpLCB3aHkgbm90Pwo+IAo+ID4gV2h5IGlzIHRoZSBmaXJtd2FyZSBub3RpY2luZyB0aGVzZSBl cnJvcnMgaW4gdGhlIGZpcnN0IHBsYWNlPyAgSWYKPiA+IHlvdSdyZSBzZWVpbmcgdGhlc2UgY29t cGxhaW50cyByZWd1bGFybHksIG15IGd1ZXNzIGlzIHRoYXQgZWl0aGVyIHlvdQo+ID4gaGF2ZSBz b21lIHRlcnJpYmxlIGhhcmR3YXJlIG9yIChtb3JlIGxpa2VseSkgdGhlIGZpcm13YXJlIGlzbid0 Cj4gPiBjbGVhcmluZyBzb21lIGV4cGVjdGVkIGVycm9yIGNvbmRpdGlvbiBjb3JyZWN0bHkuICBG b3IgZXhhbXBsZSwgbWF5YmUKPiA+IHRoZSBVbnN1cHBvcnRlZCBSZXF1ZXN0IGVycm9ycyB0aGF0 IGhhcHBlbiB3aGlsZSBlbnVtZXJhdGluZyBQQ0llCj4gPiBkZXZpY2VzIGFyZSBiZWluZyByZXBv cnRlZC4KPiA+Cj4gPiBJZiB5b3UgcmVnaXN0ZXIgdGhlIGNhbGxiYWNrIGZ1bmN0aW9uLCB0aGUg a2VybmVsIHdpbGwgbm93IHN0YXJ0Cj4gPiBzZWVpbmcgdGhlc2UgZXJyb3IgcmVwb3J0cy4gIFdo YXQgaGFwcGVucyB0aGVuPyAgRG9lcyB0aGUga2VybmVsIGxvZwo+ID4gdGhlIGVycm9ycyBzb21l d2hlcmU/ICBJcyB0aGF0IGJldHRlciB0aGFuIHRoZSBjdXJyZW50IHNpdHVhdGlvbiB3aGVyZQo+ ID4gdGhlIGZpcm13YXJlIGxvZ3MgdGhlbT8KPiAKPiBZZXAsIGl0IGlzIGEgaGFyZHdhcmUgaXNz dWUuIFRoZSBmaXJtd2FyZSBvbmx5IGxvZ3MgaW4gY29uc29sZQo+ICh0dHlBTUEwKSBhbmQgd2Ug Y2FuIG5vdCBzZWUgaXQgaW4ga2VybmVsIHNpZGUuIEFmdGVyIHRoZSBrZXJuZWwKPiBzdGFydHMg c2VlaW5nIHRoZXNlIGVycm9yIHJlcG9ydHMsIHdlIGNvdWxkIHNlZSBFREFDL2doZXMgYW5kCj4g ZWZpL2NwZXIgZGV0YWlsZWQgbG9ncyBpbiBkbWVzZy4gV2UgZGlkIG5vdCBub3RpY2UgdGhlIHBy b2JsZW0gdW50aWwKPiB3ZSBjaGVjayB0aGUgY29uc29sZSBsb2csIHdoaWNoIGluc3BpcmVkIHVz IHRvIHJlZHVjZSB0aGUgd2luZG93Cj4gd2hlbiBrZXJuZWwgc3RhcnR1cCwgc28gdGhhdCB3ZSBj YW4gc2VlIHRoZSBtZXNzYWdlIGNsZWFybHkgYW5kCj4gcHJvcGVybHkuIEkgdGhpbmsgdGhlIGlu dHVpdGlvbiBpcyB0byBjaGVjayB0aGUgbG9nIG9mIGRtZXNnLCBub3QKPiB0aGUgY29uc29sZS4K Cj4gPiBIb3dldmVyLCBJIERPIHRoaW5rIHRoYXQ6Cj4gPiAKPiA+ICAgLSBSZW1vdmluZyBhY3Bp X2hlc3RfaW5pdCgpIGZyb20gYWNwaV9wY2lfcm9vdF9pbml0KCksIGFuZAo+ID4gCj4gPiAgIC0g Q29udmVydGluZyBnaGVzX2luaXQoKSBhbmQgc2RlaV9pbml0KCkgZnJvbSBpbml0Y2FsbHMgdG8g ZXhwbGljaXQKPiA+ICAgICBjYWxscwo+ID4gCj4gPiBhcmUgdmVyeSBnb29kIHJlYXNvbnMgdG8g ZG8gc29tZXRoaW5nIGxpa2UgdGhpcyBwYXRjaCBiZWNhdXNlIEhFU1QgaXMKPiA+IG5vdCBQQ0kt c3BlY2lmaWMsIGFuZCBJTU8sIGV4cGxpY2l0IGNhbGxzIGFyZSBiZXR0ZXIgdGhhbiBpbml0Y2Fs bHMKPiA+IGJlY2F1c2UgaW5pdGNhbGwgb3JkZXJpbmcgaXMgaW1wbGljaXQgYW5kIG5vdCB3ZWxs LWRlZmluZWQgd2l0aGluIGEKPiA+IGxldmVsLgo+IAo+IEhhaGEsIGlmIHRoZSBhYm92ZSByZWFz b25zIHN0aWxsIGRvbid0IGNvbnZpbmNlIHlvdSwgSSB3b3VsZCBsaWtlIHRvCj4gYWNjZXB0IHlv dXJzIDopIFNob3VsZCB3ZSBkbyBpdCBpbiBvbmUgcGF0Y2ggb3Igc2VwYXJhdGUgaXQgaW50byB0 d28KPiBwYXRjaGVzPwoKSU1PLCB0aGlzIGNhbiBiZSBkb25lIGluIG9uZSBwYXRjaCwgYnV0IHRo aXMgd291bGQgcHJvYmFibHkgZ28gdmlhClJhZmFlbC4KCj4gPj4gLXN0YXRpYyBpbnQgX19pbml0 IGdoZXNfaW5pdCh2b2lkKQo+ID4+ICt2b2lkIF9faW5pdCBnaGVzX2luaXQodm9pZCkKPiA+PiAg ewo+ID4+ICAJaW50IHJjOwo+ID4+ICAKPiA+PiAgCWlmIChhY3BpX2Rpc2FibGVkKQo+ID4+IC0J CXJldHVybiAtRU5PREVWOwo+ID4+ICsJCXJldHVybjsKPiA+PiAgCj4gPj4gIAlzd2l0Y2ggKGhl c3RfZGlzYWJsZSkgewo+ID4+ICAJY2FzZSBIRVNUX05PVF9GT1VORDoKPiA+PiAtCQlyZXR1cm4g LUVOT0RFVjsKPiA+PiArCQlwcl9pbmZvKEdIRVNfUEZYICJIRVNUIGlzIG5vdCBmb3VuZCFcbiIp Owo+ID4gCj4gPiBJIGRvbid0IGtub3cgd2hldGhlciB0aGlzICJIRVNUIGlzIG5vdCBmb3VuZCIg bWVzc2FnZSBpcwo+ID4gd29ydGh3aGlsZSBvciBub3QuICBJIGRvbid0IHRoaW5rIGxhY2sgb2Yg YW4gSEVTVCBpcyBhbiBlcnJvciwgYW5kCj4gPiB1c2VycyBtYXkgYmUgYWxhcm1lZC4gIEJ1dCB0 aGlzIGlzIGFuIEFDUEkgdGhpbmcsIHNvIHVwIHRvIHlvdSBhbmQKPiA+IFJhZmFlbC4KPiAKPiBJ ZiB3ZSBleHBsaWNpdCBjYWxsIGdoZXNfaW5pdCgpLCB3ZSBjYW4ndCB0ZWxsIGlmIGdoZXMgaXMK PiBpbml0aWFsaXplZCBzdWNjZXNzZnVsbHkgYmFzZWQgb24gdGhlIHJldHVybiB2YWx1ZSBvZiBp bml0Y2FsbC4gU28gSQo+IGFkZCBhIGluZm8gbWVzc2FnZS4KCldoZW4gZ2hlc19pbml0KCkgaXMg YW4gaW5pdGNhbGwgYW5kIHlvdSByZXR1cm4gLUVOT0RFViBmb3IgdGhlCkhFU1RfTk9UX0ZPVU5E IGNhc2UsIEkgZG9uJ3QgdGhpbmsgd2UgbG9nIGFueSBtZXNzYWdlIGFib3V0IHRoYXQsIGRvCndl PyAgZG9fb25lX2luaXRjYWxsKCkgd2lsbCBjYXB0dXJlIGFuZCByZXR1cm4gdGhlIC1FTk9ERVYs IGJ1dCB0aGUKY2FsbGVyIChkb19pbml0Y2FsbF9sZXZlbCgpKSBqdXN0IGlnbm9yZXMgaXQuCgo+ ID4+IEBAIC0xNDk1LDggKzE0OTQsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBnaGVzX2luaXQodm9p ZCkKPiA+PiAgCWVsc2UKPiA+PiAgCQlwcl9pbmZvKEdIRVNfUEZYICJGYWlsZWQgdG8gZW5hYmxl IEFQRUkgZmlybXdhcmUgZmlyc3QgbW9kZS5cbiIpOwo+ID4+ICAKPiA+PiAtCXJldHVybiAwOwo+ ID4+ICsJcmV0dXJuOwo+ID4+ICBlcnI6Cj4gPj4gLQlyZXR1cm4gcmM7Cj4gPj4gKwlnaGVzX2Rp c2FibGUgPSAxOwo+ID4gCj4gPiBXaHkgZG8geW91IHNldCBnaGVzX2Rpc2FibGUgaGVyZT8gIEFz IGZhciBhcyBJIGNhbiB0ZWxsLCB3ZSB3aWxsIG5ldmVyCj4gPiBsb29rIGF0IGl0IGFnYWluLiAg VGhlIHBsYWNlcyB3ZSBkbyBsb29rIGF0IGl0IGFyZToKPiA+IAo+ID4gICAtIGdoZXNfaW5pdCgp OiBlYXJsaWVyIGluIHRoaXMgZnVuY3Rpb24sIHNvIHdlJ3ZlIGFscmVhZHkgZG9uZSB0aGF0LAo+ ID4gCj4gPiAgIC0gYWNwaV9oZXN0X2luaXQoKTogd2UndmUgYWxyZWFkeSBjYWxsZWQgdGhhdCwg dG9vLCBhbmQKPiA+IAo+ID4gICAtIGFjcGlfYnVzX29zY19uZWdvdGlhdGVfcGxhdGZvcm1fY29u dHJvbCgpOiBjYWxsZWQgZnJvbQo+ID4gICAgIGFjcGlfYnVzX2luaXQoKSwgd2hpY2ggd2UndmUg YWxyZWFkeSBjYWxsZWQuCj4gCj4gSSBhZGQgaXQgZm9yIGZ1dHVyZSBwb3RlbnRpYWwgdXNhZ2Uu IFRoYW5rIHlvdSBmb3IgcG9pbnRpbmcgaXQgb3V0Lgo+IElmIHlvdSB0aGluayBpdCBpcyBub3Qg bmVjZXNzYXJ5LCBJIHdpbGwgZGVsZXRlIGl0IGluIG5leHQgdmVyc2lvbi4KCkkgdGhpbmsgaXQg aXMgbm90IG5lY2Vzc2FyeSB0byBzYXZlIGluZm9ybWF0aW9uIHRoYXQgd2lsbCBuZXZlciBiZQp1 c2VkLiAgSWYgeW91IG5lZWQgaXQgaW4gdGhlIGZ1dHVyZSwgeW91IGNhbiBhZGQgaXQgYW5kIHRo ZSByZWFzb24Kd2lsbCBiZSBvYnZpb3VzLgoKQmpvcm4KCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK