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 1B43DC4345F for ; Mon, 15 Apr 2024 11:57:20 +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:MIME-Version:References:In-Reply-To: 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=qgkKoYsujaFNeN1wqIUo+vdzhddKOfY0/fxNg6XDThk=; b=rSpFynQ9sESGsS YQvRHwzZVwmYj0VA4yr9DjLOm5pIcq0+Lr+FHjSGWmZNNKqV1maf+7CdYLMXXrwcJrCKjihQANktw 13z34QJFiHKz3ayVuQ+Tj4aS0QO0C92lIcQ24KkBgAMo9ax6IWRWXX2Bwj7pYUxk6lILE3z0Dlfd/ J/K2084OrIn3f/CVP8GVnN8sDb5sM1OzhSs9s0WEatMGdN+4ig8p8yCkvIcaLdXHhRml1KHDgTMAD IrNGcEtteUdYxGR29wlKr/OvJHwvznjL3v57oihLFMGLtkffrUWkwwCO+WM0qNNBjx2CWHsvostLb CqwIju8pNKhwhe4m5rsw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rwKxT-000000086XX-06Gu; Mon, 15 Apr 2024 11:57:11 +0000 Received: from frasgout.his.huawei.com ([185.176.79.56]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rwKxQ-000000086VG-0wsC for linux-arm-kernel@lists.infradead.org; Mon, 15 Apr 2024 11:57:09 +0000 Received: from mail.maildlp.com (unknown [172.18.186.216]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4VJ5B467msz6K9Rc; Mon, 15 Apr 2024 19:51:56 +0800 (CST) Received: from lhrpeml500005.china.huawei.com (unknown [7.191.163.240]) by mail.maildlp.com (Postfix) with ESMTPS id 76ECD1404FC; Mon, 15 Apr 2024 19:56:51 +0800 (CST) Received: from localhost (10.122.247.231) by lhrpeml500005.china.huawei.com (7.191.163.240) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 15 Apr 2024 12:56:50 +0100 Date: Mon, 15 Apr 2024 12:56:49 +0100 From: Jonathan Cameron To: "Rafael J. Wysocki" CC: Thomas Gleixner , "Russell King (Oracle)" , , , , , , , , , Miguel Luis , James Morse , Salil Mehta , "Jean-Philippe Brucker" , Catalin Marinas , Will Deacon , , , Subject: Re: [PATCH v5 03/18] ACPI: processor: Register deferred CPUs from acpi_processor_get_info() Message-ID: <20240415125649.00001354@huawei.com> In-Reply-To: References: <20240412143719.11398-1-Jonathan.Cameron@huawei.com> <20240412143719.11398-4-Jonathan.Cameron@huawei.com> <87bk6ez4hj.ffs@tglx> <878r1iyxkr.ffs@tglx> <20240415094552.000008d7@Huawei.com> Organization: Huawei Technologies R&D (UK) Ltd. X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.29; x86_64-w64-mingw32) MIME-Version: 1.0 X-Originating-IP: [10.122.247.231] X-ClientProxiedBy: lhrpeml500003.china.huawei.com (7.191.162.67) To lhrpeml500005.china.huawei.com (7.191.163.240) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240415_045708_568183_388B00DD X-CRM114-Status: GOOD ( 73.20 ) 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 T24gTW9uLCAxNSBBcHIgMjAyNCAxMzozNzowOCArMDIwMAoiUmFmYWVsIEouIFd5c29ja2kiIDxy YWZhZWxAa2VybmVsLm9yZz4gd3JvdGU6Cgo+IE9uIE1vbiwgQXByIDE1LCAyMDI0IGF0IDEwOjQ2 4oCvQU0gSm9uYXRoYW4gQ2FtZXJvbgo+IDxKb25hdGhhbi5DYW1lcm9uQGh1YXdlaS5jb20+IHdy b3RlOgo+ID4KPiA+IE9uIFNhdCwgMTMgQXByIDIwMjQgMDE6MjM6NDggKzAyMDAKPiA+IFRob21h cyBHbGVpeG5lciA8dGdseEBsaW51dHJvbml4LmRlPiB3cm90ZToKPiA+ICAKPiA+ID4gUnVzc2Vs bCEKPiA+ID4KPiA+ID4gT24gRnJpLCBBcHIgMTIgMjAyNCBhdCAyMjo1MiwgUnVzc2VsbCBLaW5n IChPcmFjbGUpIHdyb3RlOiAgCj4gPiA+ID4gT24gRnJpLCBBcHIgMTIsIDIwMjQgYXQgMTA6NTQ6 MzJQTSArMDIwMCwgVGhvbWFzIEdsZWl4bmVyIHdyb3RlOiAgCj4gPiA+ID4+ID4gQXMgZm9yIHRo ZSBjcHUgbG9ja2luZywgSSBjb3VsZG4ndCBmaW5kIGFueXRoaW5nIGluIGFyY2hfcmVnaXN0ZXJf Y3B1KCkKPiA+ID4gPj4gPiB0aGF0IGRlcGVuZHMgb24gdGhlIGNwdV9tYXBzX3VwZGF0ZSBzdHVm ZiBub3IgbmVlZHMgdGhlIGNwdXNfd3JpdGVfbG9jawo+ID4gPiA+PiA+IGJlaW5nIHRha2VuIC0g c28gSSd2ZSBubyBpZGVhIHdoeSB0aGUgIm1ha2VfcHJlc2VudCIgY2FzZSB0YWtlcyB0aGVzZQo+ ID4gPiA+PiA+IGxvY2tzLiAgCj4gPiA+ID4+Cj4gPiA+ID4+IEFueXRoaW5nIHdoaWNoIHVwZGF0 ZXMgYSBDUFUgbWFzaywgZS5nLiBjcHVfcHJlc2VudF9tYXNrLCBhZnRlciBlYXJseQo+ID4gPiA+ PiBib290IG11c3QgaG9sZCB0aGUgYXBwcm9wcmlhdGUgd3JpdGUgbG9ja3MuIE90aGVyd2lzZSBp dCB3b3VsZCBiZQo+ID4gPiA+PiBwb3NzaWJsZSB0byBvbmxpbmUgYSBDUFUgd2hpY2gganVzdCBn b3QgbWFya2VkIHByZXNlbnQsIGJ1dCB0aGUKPiA+ID4gPj4gcmVnaXN0cmF0aW9uIGhhcyBub3Qg Y29tcGxldGVkIHlldC4gIAo+ID4gPiA+Cj4gPiA+ID4gWWVzLiBBcyBmYXIgYXMgSSd2ZSBiZWVu IGFibGUgdG8gZGV0ZXJtaW5lLCBhcmNoX3JlZ2lzdGVyX2NwdSgpCj4gPiA+ID4gZG9lc24ndCBt YW5pcHVsYXRlIGFueSBvZiB0aGUgQ1BVIG1hc2tzLiBBbGwgaXQgc2VlbXMgdG8gYmUgZG9pbmcK PiA+ID4gPiBpcyBpbml0aWFsaXNpbmcgdGhlIHN0cnVjdCBjcHUsIHJlZ2lzdGVyaW5nIHRoZSBl bWJlZGRlZCBzdHJ1Y3QKPiA+ID4gPiBkZXZpY2UsIGFuZCBzZXR0aW5nIHVwIHRoZSBzeXNmcyBs aW5rcyB0byBpdHMgTlVNQSBub2RlLgo+ID4gPiA+Cj4gPiA+ID4gVGhlcmUgaXMgbm90aGluZyBv YnZpb3VzIGluIHRoZXJlIHdoaWNoIG1hbmlwdWxhdGVzIGFueSBDUFUgbWFza3MsIGFuZAo+ID4g PiA+IHRoaXMgaXMgcmF0aGVyIG15IGZ1bmRhbWVudGFsIHBvaW50IHdoZW4gSSBzYWlkICJJIGNv dWxkbid0IGZpbmQKPiA+ID4gPiBhbnl0aGluZyBpbiBhcmNoX3JlZ2lzdGVyX2NwdSgpIHRoYXQg ZGVwZW5kcyBvbiAuLi4iLgo+ID4gPiA+Cj4gPiA+ID4gSWYgdGhlcmUgaXMgc29tZXRoaW5nLCB0 aGVuIGNvbW1lbnRzIGluIHRoZSBjb2RlIHdvdWxkIGJlIGEgdXNlZnVsIGFpZAo+ID4gPiA+IGJl Y2F1c2UgaXQncyBoaWdobHkgbm9uLW9idmlvdXMgd2hlcmUgc3VjaCBhIG1hbmlwdWxhdGlvbiBp cyBsb2NhdGVkLAo+ID4gPiA+IGFuZCBoZW5jZSB3aHkgdGhlIGxvY2tzIGFyZSBuZWNlc3Nhcnku ICAKPiA+ID4KPiA+ID4gYWNwaV9wcm9jZXNzb3JfaG90YWRkX2luaXQoKQo+ID4gPiAuLi4KPiA+ ID4gICAgICAgICAgYWNwaV9tYXBfY3B1KHByLT5oYW5kbGUsIHByLT5waHlzX2lkLCBwci0+YWNw aV9pZCwgJnByLT5pZCk7Cj4gPiA+Cj4gPiA+IFRoYXQgZW5kcyB1cCBpbiBmaWRkbGluZyB3aXRo IGNwdV9wcmVzZW50X21hc2suCj4gPiA+Cj4gPiA+IEkgZ3JhbnQgeW91IHRoYXQgYXJjaF9yZWdp c3Rlcl9jcHUoKSBpcyBub3QsIGJ1dCBpdCBtaWdodCByZWx5IG9uIHRoZQo+ID4gPiBleHRlcm5h bCBsb2NraW5nIHRvby4gSSBjb3VsZCBub3QgYmUgYm90aGVyZWQgdG8gZmlndXJlIHRoYXQgb3V0 Lgo+ID4gPiAgCj4gPiA+ID4+IERlZmluZSAicmVhbCBob3RwbHVnIiA6KQo+ID4gPiA+Pgo+ID4g PiA+PiBSZWFsIHBoeXNpY2FsIGhvdHBsdWcgZG9lcyBub3QgcmVhbGx5IGV4aXN0LiBUaGF0J3Mg YXQgbGVhc3QgdHJ1ZSBmb3IKPiA+ID4gPj4geDg2LCB3aGVyZSB0aGUgcGh5c2ljYWwgaG90cGx1 ZyBzdXBwb3J0IHdhcyBjaGFzZWQgZm9yIGEgd2hpbGUsIGJ1dAo+ID4gPiA+PiBuZXZlciBlbmRl ZCB1cCBpbiBwcm9kdWN0aW9uLgo+ID4gPiA+Pgo+ID4gPiA+PiBUaG91Z2ggdmlydHVhbGl6YXRp b24gaGFwcGlseSBqdW1wZWQgb24gaXQgdG8gaG90IGFkZC9yZW1vdmUgQ1BVcwo+ID4gPiA+PiB0 by9mcm9tIGEgZ3Vlc3QuCj4gPiA+ID4+Cj4gPiA+ID4+IFRoZXJlIGFyZSBsaW1pdGF0aW9ucyB0 byB0aGlzIGFuZCB3ZSBsZWFybmVkIGl0IHRoZSBoYXJkIHdheSBvbiBYODYuIEF0Cj4gPiA+ID4+ IHRoZSBlbmQgd2UgY2FtZSB1cCB3aXRoIHRoZSBmb2xsb3dpbmcgcmVzdHJpY3Rpb25zOgo+ID4g PiA+Pgo+ID4gPiA+PiAgICAgMSkgQWxsIHBvc3NpYmxlIENQVXMgaGF2ZSB0byBiZSBhZHZlcnRp c2VkIGF0IGJvb3QgdGltZSB2aWEgZmlybXdhcmUKPiA+ID4gPj4gICAgICAgIChBQ1BJL0RUL3do YXRldmVyKSBpbmRlcGVuZGVudCBvZiB0aGVtIGJlaW5nIHByZXNlbnQgYXQgYm9vdCB0aW1lCj4g PiA+ID4+ICAgICAgICBvciBub3QuCj4gPiA+ID4+Cj4gPiA+ID4+ICAgICAgICBUaGF0IGd1YXJh bnRlZXMgcHJvcGVyIHNpemluZyBhbmQgZW5zdXJlcyB0aGF0IGFzc29jaWF0aW9ucwo+ID4gPiA+ PiAgICAgICAgYmV0d2VlbiBoYXJkd2FyZSBlbnRpdGllcyBhbmQgc29mdHdhcmUgcmVwcmVzZW50 YXRpb25zIGFuZCB0aGUKPiA+ID4gPj4gICAgICAgIHJlc3VsdGluZyB0b3BvbG9neSBhcmUgc3Rh YmxlIGZvciB0aGUgbGlmZXRpbWUgb2YgYSBzeXN0ZW0uCj4gPiA+ID4+Cj4gPiA+ID4+ICAgICAg ICBJdCBpcyByZWFsbHkgcmVxdWlyZWQgdG8ga25vdyB0aGUgZnVsbCB0b3BvbG9neSBvZiB0aGUg c3lzdGVtIGF0Cj4gPiA+ID4+ICAgICAgICBib290IHRpbWUgZXNwZWNpYWxseSB3aXRoIGh5YnJp ZCBDUFVzIHdoZXJlIHNvbWUgb2YgdGhlIGNvcmVzCj4gPiA+ID4+ICAgICAgICBoYXZlIGh5cGVy dGhyZWFkaW5nIGFuZCB0aGUgb3RoZXJzIGRvIG5vdC4KPiA+ID4gPj4KPiA+ID4gPj4KPiA+ID4g Pj4gICAgIDIpIEhvdCBhZGQgY2FuIG9ubHkgbWFyayBhbiBhbHJlYWR5IHJlZ2lzdGVyZWQgKHBv c3NpYmxlKSBDUFUKPiA+ID4gPj4gICAgICAgIHByZXNlbnQuIEFkZGluZyBub24tcmVnaXN0ZXJl ZCBDUFVzIGFmdGVyIGJvb3QgaXMgbm90IHBvc3NpYmxlLgo+ID4gPiA+Pgo+ID4gPiA+PiAgICAg ICAgVGhlIENQVSBtdXN0IGhhdmUgYmVlbiByZWdpc3RlcmVkIGluICMxIGFscmVhZHkgdG8gZW5z dXJlIHRoYXQKPiA+ID4gPj4gICAgICAgIHRoZSBzeXN0ZW0gdG9wb2xvZ3kgZG9lcyBub3Qgc3Vk ZGVubHkgY2hhbmdlIGluIGFuIGluY29tcGF0aWJsZQo+ID4gPiA+PiAgICAgICAgd2F5IGF0IHJ1 bi10aW1lLgo+ID4gPiA+Pgo+ID4gPiA+PiBUaGUgc2FtZSByZXN0cmljdGlvbiB3b3VsZCBhcHBs eSB0byByZWFsIHBoeXNpY2FsIGhvdHBsdWcuIEkgZG9uJ3QgdGhpbmsKPiA+ID4gPj4gdGhhdCdz IGFueSBkaWZmZXJlbnQgZm9yIEFSTTY0IG9yIGFueSBvdGhlciBhcmNoaXRlY3R1cmUuICAKPiA+ ID4gPgo+ID4gPiA+IFRoaXMgbWFrZXMgbWUgd29uZGVyIHdoZXRoZXIgdGhlIEFybTY0IGhhcyBi ZWVuIGJhcmtpbmcgdXAgdGhlIHdyb25nCj4gPiA+ID4gdHJlZSB0aGVuLCBhbmQgd2hldGhlciB0 aGUgd2hvbGUgInByZXNlbnQiIHZzICJlbmFibGVkIiB0aGluZyBjb21lcwo+ID4gPiA+IGZyb20g YSBtaXN1bmRlcnN0YW5kaW5nIGFzIGZhciBhcyBhIENQVSBnb2VzLgo+ID4gPiA+Cj4gPiA+ID4g SG93ZXZlciwgdGhlcmUgaXMgYSBiaWcgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28uIE9uIHg4 NiwgYSBwcm9jZXNzb3IKPiA+ID4gPiBpcyBqdXN0IGEgcHJvY2Vzc29yLiBPbiBBcm02NCwgYSAi cHJvY2Vzc29yIiBpcyBhIHNsaWNlIG9mIHRoZSBzeXN0ZW0KPiA+ID4gPiAoaW5jbHVkZXMgdGhl IGludGVycnVwdCBjb250cm9sbGVyLCBQTVVzIGV0YykgYW5kIHdlIG11c3QgZW51bWVyYXRlCj4g PiA+ID4gdGhvc2UgZXZlbiB3aGVuIHRoZSBwcm9jZXNzb3IgaXRzZWxmIGlzIG5vdCBlbmFibGVk LiBUaGlzIGlzIHRoZSB3aG9sZQo+ID4gPiA+IHJlYXNvbiB0aGVyZSdzIGEgZGlmZmVyZW5jZSBi ZXR3ZWVuICJwcmVzZW50IiBhbmQgImVuYWJsZWQiIGFuZCB3aHkKPiA+ID4gPiB0aGVyZSdzIGEg ZGlmZmVyZW5jZSBiZXR3ZWVuIHg4NiBjcHUgaG90cGx1ZyBhbmQgYXJtNjQgY3B1IGhvdHBsdWcu Cj4gPiA+ID4gVGhlIHByb2Nlc3NvciBuZXZlciBhY3R1YWxseSBnb2VzIGF3YXkgaW4gYXJtNjQs IGl0J3MganVzdCBwcmV2ZW50ZWQKPiA+ID4gPiBmcm9tIGJlaW5nIHVzZWQuICAKPiA+ID4KPiA+ ID4gSXQncyB0aGUgc2FtZSBvbiBYODYgYXQgbGVhc3QgaW4gdGhlIHBoeXNpY2FsIHdvcmxkLiAg Cj4gPgo+ID4gVGhlcmUgd2VyZSBwdWJsaWMgY2FsbHMgb24gdGhpcyB2aWEgdGhlIExpbmFybyBP cGVuIERpc2N1c3Npb25zIGdyb3VwLAo+ID4gc28gSSBjYW4gdGFsayBhIGxpdHRsZSBhYm91dCBo b3cgd2UgZW5kZWQgdXAgaGVyZS4gIE5vdGUgdGhhdCAoaW4gbXkKPiA+IG9waW5pb24pIHRoZXJl IGlzIHplcm8gY2hhbmNlIG9mIHRoaXMgY2hhbmdpbmcgLSBpdCB0b29rIHVzIHdlbGwgb3Zlcgo+ ID4gYSB5ZWFyIHRvIGdldCB0byB0aGlzIGNvbmNsdXNpb24uICBTbyBpZiB3ZSBldmVyIHdhbnQg QVJNIHZDUFUgSFAKPiA+IHdlIG5lZWQgdG8gd29yayB3aXRoaW4gdGhlc2UgY29uc3RyYWludHMu Cj4gPgo+ID4gVGhlIEFSTSBhcmNoaXRlY3R1cmUgZm9sayAodGhlIG9uZXMgZGVmaW5pbmcgdGhl IEFSTSBBUk0sIHJlbGV2YW50IEFDUEkKPiA+IHNwZWNzIGV0Yywgbm90IHRoZSBrZXJuZWwgbWFp bnRhaW5lcnMpIGFyZSBkZXRlcm1pbmVkIHRoYXQgdGhleSB3YW50Cj4gPiB0byByZXRhaW4gdGhl IG9wdGlvbiB0byBkbyByZWFsIHBoeXNpY2FsIENQVSBob3RwbHVnIGluIHRoZSBmdXR1cmUKPiA+ IHdpdGggYWxsIHRoZSBuZWNlc3Nhcnkgd29yayBhcm91bmQgZHluYW1pYyBpbnRlcnJ1cHQgY29u dHJvbGxlcgo+ID4gaW5pdGlhbGl6YXRpb24sIGRlYnVnIGFuZCBtYW55IG90aGVyIG1lc3N5IGNv cm5lcnMuICAKPiAKPiBUaGF0J3MgT0ssIGJ1dCB0aGUgZGlmZmVyZW5jZSBpcyBub3QgaW4gdGhl IEFDUGkgQ1BVIGVudW1lcmF0aW9uL3JlbW92YWwgY29kZS4KPiAKPiA+IFRodXMgYW55dGhpbmcg ZGVmaW5lZCBoYWQgdG8gYmUgc3RydWN0dXJlZCBpbiBhIHdheSB0aGF0IHdhcyAnZGlmZmVyZW50 Jwo+ID4gZnJvbSB0aGF0LiAgCj4gCj4gQXBwYXJlbnRseSwgdGhhdCdzIHdoZXJlIHRoaW5ncyBn b3QgY29uZnVzZWQuCj4gCj4gPiBJIGRvbid0IG1pbmQgdGhlIHByb3Bvc2VkIGZsYXR0ZW5pbmcg b2YgdGhlIDIgcGF0aHMgaWYgdGhlIEFSTSBrZXJuZWwKPiA+IG1haW50YWluZXJzIGFyZSBmaW5l IHdpdGggaXQgYnV0IGl0IHdpbGwgcmVtb3ZlIHRoZSBkaXN0aW5jdGlvbnMgYW5kCj4gPiB3ZSB3 aWxsIG5lZWQgdG8gYmUgdmVyeSBjYXJlZnVsIHdpdGggdGhlIENQVSBtYXNrcyAtIHdlIGNhbid0 IGhhbmRsZQo+ID4gdGhlbSB0aGUgc2FtZSBhcyB4ODYgZG9lcy4gIAo+IAo+IEF0IHRoZSBBQ1BJ IGNvZGUgbGV2ZWwsIHRoZXJlIGlzIG5vIGRpc3RpbmN0aW9uLgo+IAo+IEEgQ1BVIHRoYXQgd2Fz IG5vdCBhdmFpbGFibGUgYmVmb3JlIGhhcyBqdXN0IGJlY29tZSBhdmFpbGFibGUuICBUaGUKPiBw bGF0Zm9ybSBmaXJtd2FyZSBoYXMgbm90aWZpZWQgdGhlIGtlcm5lbCBhYm91dCBpdCBhbmQgbm93 Cj4gYWNwaV9wcm9jZXNzb3JfYWRkKCkgcnVucy4gIFdoeSB3b3VsZCBpdCBuZWVkIHRvIHVzZSBk aWZmZXJlbnQgY29kZQo+IHBhdGhzIGRlcGVuZGluZyBvbiB3aGF0IF9TVEEgYml0cyB3ZXJlIGNs ZWFyIGJlZm9yZT8KCkkgdGhpbmsgd2Ugd2lsbCBjb250aW51ZSB0byBkaXNhZ3JlZSBvbiB0aGlz LiAgVG8gbXkgbWluZCBhbmQgZnJvbSB0aGUKQUNQSSBzcGVjaWZpY2F0aW9uLCB0aGV5IGFyZSB0 d28gZGlmZmVyZW50IHN0YXRlIHRyYW5zaXRpb25zIHdpdGggZGlmZmVyZW50CnJlcXVpcmVkIGFj dGlvbnMuICAgVGhvc2Ugc3RhdGUgdHJhbnNpdGlvbnMgYXJlIGFuIEFDUEkgbGV2ZWwgdGhpbmcg bm90CmFuIGFyY2ggbGV2ZWwgb25lLiAgSG93ZXZlciwgSSB3YW50IGEgc29sdXRpb24gdGhhdCBt b3ZlcyB0aGluZ3MgZm9yd2FyZHMKc28gSSdsbCBnaXZlIHB1c2hpbmcgdGhhdCBlbnRpcmVseSBp bnRvIHRoZSBhcmNoIGNvZGUgYSB0cnkuCgo+IAo+IFllcywgdGhlcmUgaXMgc29tZSBhcmNoIHN0 dWZmIHRvIGJlIGNhbGxlZCBhbmQgdGhhdCBhcmNoIHN0dWZmIHNob3VsZAo+IGZpZ3VyZSBvdXQg d2hhdCB0byBkbyB0byBtYWtlIHRoaW5ncyBhY3R1YWxseSB3b3JrLgo+IAo+ID4gSSdsbCBnZXQg b24gd2l0aCBkb2luZyB0aGF0LCBidXQgZG8gbmVlZCBpbnB1dCBmcm9tIFdpbGwgLyBDYXRhbGlu IC8gSmFtZXMuCj4gPiBUaGVyZSBhcmUgc29tZSBxdWlya3MgdGhhdCBuZWVkIGNhbGxpbmcgb3V0 IGFzIGl0J3Mgbm90IHF1aXRlIGEgc2ltcGxlCj4gPiBhcyBpdCBhcHBlYXJzIGZyb20gYSBoaWdo IGxldmVsLgo+ID4KPiA+IEFub3RoZXIgcGFydCBvZiB0aGF0IGxvbmcgZGlzY3Vzc2lvbiBlc3Rh Ymxpc2hlZCB0aGF0IHRoZXJlIGlzIHVzZXJzcGFjZQo+ID4gKEFuZHJvaWQgSUlSQykgaW4gd2hp Y2ggdGhlIENQVSBwcmVzZW50IG1hc2sgbXVzdCBpbmNsdWRlIGFsbCBDUFVzCj4gPiBhdCBib290 LiBUbyBjaGFuZ2UgdGhhdCB3b3VsZCBiZSB1c2Vyc3BhY2UgQUJJIGJyZWFrYWdlIHNvIHdlIGNh bid0Cj4gPiBkbyB0aGF0LiAgSGVuY2UgdGhlIGRhbmNlIGFyb3VuZCBhZGRpbmcgeWV0IGFub3Ro ZXIgbWFzayB0byBhbGxvdyB0aGUKPiA+IE9TIHRvIHVuZGVyc3RhbmQgd2hpY2ggQ1BVcyBhcmUg J3ByZXNlbnQnIGJ1dCBub3QgcG9zc2libGUgdG8gb25saW5lLgo+ID4KPiA+IEZsYXR0ZW5pbmcg dGhlIHR3byBwYXRocyByZW1vdmVzIGFueSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGNhbGxzIHRoYXQK PiA+IGFyZSBmb3IgcmVhbCBob3RwbHVnIGFuZCB0aG9zZSB0aGF0IGFyZSBmb3IgdGhpcyBvbmxp bmUgY2FwYWJsZSBwYXRoLiAgCj4gCj4gV2hpY2ggY2FsbHMgZXhhY3RseSBkbyB5b3UgbWVhbj8K CkF0IHRoZSBtb21lbnQgaGUgZGlzdGluY3Rpb24gZG9lcyBub3QgZXhpc3QgKGJlY2F1c2UgeDg2 IG9ubHkgc3VwcG9ydHMKZmFrZSBwaHlzaWNhbCBDUFUgSFAgYW5kIGFybTY0IG9ubHkgdkNQVSBI UCAvIG9ubGluZSBjYXBhYmxlKSwgYnV0IGlmCnRoZSBhcmNoaXRlY3R1cmUgaXMgZGVmaW5lZCBm b3IgYXJtNjQgcGh5c2ljYWwgaG90cGx1ZyBpbiB0aGUgZnV0dXJlCndlIHdvdWxkIG5lZWQgdG8g ZG8gaW50ZXJydXB0IGNvbnRyb2xsZXIgYnJpbmcgdXAgKyBhIGxvdCBvZiBvdGhlciBzdHVmZi4K Ckl0IG1heSBiZSBwb3NzaWJsZSB0byBkbyB0aGF0IGluIHRoZSBhcmNoIGNvZGUgLSB3aWxsIGJl IGhhcmQgdG8gdmVyaWZ5CnRoYXQgdW50aWwgdGhhdCBhcmNoIGlzIGRlZmluZWQgIFRvZGF5IGFs bCBJIG5lZWQgdG8gZG8gaXMgZW5zdXJlIHRoYXQKYW55IGF0dGVtcHQgdG8gZG8gcHJlc2VudCBi aXQgc2V0dGluZyBmb3IgQVJNNjQgcmV0dXJucyBhbiBlcnJvci4KVGhhdCBsb29rcyB0byBiZSBz dHJhaWdodCBmb3J3YXJkLgoKCj4gCj4gPiBBcyBhIHNpZGUgbm90ZSwgdGhlIGluZGljYXRpbmcg Yml0IGZvciB0aGVzZSBmbG93cyBpcyBkZWZpbmVkIGluIEFDUEkKPiA+IGZvciB4ODYgZnJvbSBB Q1BJIDYuMyBhcyBhIGZsYWcgaW4gUHJvY2Vzc29yIExvY2FsIEFQSUMKPiA+ICh0aGUgQVJNNjQg ZGVmaW5pdGlvbiBpcyBhIGN1dCBhbmQgcGFzdGUgb2YgdGhhdCB0ZXh0KS4gIFNvIHNvbWVvbmUK PiA+IGlzIGludGVyZXN0ZWQgaW4gdGhpcyBkaXN0aW5jdGlvbiBvbiB4ODYuIEkgY2FuJ3Qgc2F5 IHdobyBidXQgaWYKPiA+IHlvdSBoYXZlIGEgbWFudGlzIGFjY291bnQgeW91IGNhbiBlYXNpbHkg Zm9sbG93IHRoZSBoaXN0b3J5IGFuZCBpdAo+ID4gbWlnaHQgYmUgaW5zdHJ1Y3RpdmUgdG8gbm90 IGV2ZXJ5b25lIGNvbnNpZGVyaW5nIHRoZSBjdXJyZW50IHg4Ngo+ID4gZmxvdyB0aGUgcmlnaHQg d2F5IHRvIGRvIGl0LiAgCj4gCj4gU28gYSBwaHlzaWNhbGx5IGFic2VudCBwcm9jZXNzb3IgaXMg ZGlmZmVyZW50IGZyb20gYSBwaHlzaWNhbGx5Cj4gcHJlc2VudCBwcm9jZXNzb3IgdGhhdCBoYXMg bm90IGJlZW4gZGlzYWJsZWQuICBObyBkb3VidCBhYm91dCB0aGlzLgo+IAo+IFRoYXQgc2FpZCwg SSdtIHN0aWxsIHVuc3VyZSB3aHkgdGhlc2UgdHdvIGNhc2VzIHJlcXVpcmUgdHdvIGRpZmZlcmVu dAo+IGNvZGUgcGF0aHMgaW4gYWNwaV9wcm9jZXNzb3JfYWRkKCkuCgpJdCBtaWdodCBiZSBwb3Nz aWJsZSB0byBwdXNoIHRoZSBjaGVja2luZyBkb3duIGludG8gYXJjaF9yZWdpc3Rlcl9jcHUoKQph bmQgaGF2ZSB0aGF0IGZvciBub3cgcmVqZWN0IGFueSBhdHRlbXB0IHRvIGRvIHBoeXNpY2FsIENQ VSBIUCBvbiBhcm02NC4KSXQgaXMgdGhhdCBnYXRlIHRoYXQgaXMgdml0YWwgdG8gZ2V0dGluZyB0 aGlzIGFjY2VwdGVkIGJ5IEFSTS4KCkknbSBzdGlsbCB2ZXJ5IG11Y2ggc3R1Y2sgb24gdGhlIGhv dGFkZF9pbml0IGZsYWcgaG93ZXZlciwgc28gYW55IHN1Z2dlc3Rpb25zCm9uIHRoYXQgd291bGQg YmUgdmVyeSB3ZWxjb21lISAKCkpvbmF0aGFuCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==