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 03B01C38147 for ; Wed, 18 Jan 2023 04:02:06 +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:Reply-To: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:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=pUA5OazwZNtPl0MISu+1FQcklx7oWmIpSgEDpIIDpIs=; b=GL9XvT5ewnHZYL AdBU7bk5J1Vu2XoSyLfYTczwN2seEFkGl2vLMq0Sn0Tvl0+1DR5FInvMrW4mdeaQwaLnfsMLUeAp1 kkLf8Adb8yTuDXTqYNjRVKLmyLSeRjXyp8q0ldBSyqEknq5E92ukIV+FQu0AUAubGV/avJ5EvCLXY G0s4ybHJlvTUZ0TZvdx7KgRYdeT/MZufnJgNU49NJLIODVVkW4R3Kiy+iMYC1YXfYV7KOqSayMIAf RX65O27qTpeMvD43qLrCrp5npQ7/N+M8VPr2N6Epq+kX5SyLwj0W9H6x7SzhNPGTlHGtj3tLHgbR1 NuVkPH/iS0tibjgx0kdw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pHzdM-00Gpcf-3I; Wed, 18 Jan 2023 04:01:08 +0000 Received: from ams.source.kernel.org ([2604:1380:4601:e00::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pHzdG-00GpbM-C6 for linux-arm-kernel@lists.infradead.org; Wed, 18 Jan 2023 04:01:06 +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 ams.source.kernel.org (Postfix) with ESMTPS id 899CEB81B05; Wed, 18 Jan 2023 04:01:00 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 35039C433EF; Wed, 18 Jan 2023 04:00:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1674014459; bh=veUBnwetV+hSjuqs0BW207dqFMZVpLv0n2F4zspwzEs=; h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From; b=XMQXBnpUQh3yV+jtRnYYwwQIJVhcYdTnrkldptdd1st+3YHYQwUF+tj9LxQKgwAjJ h7d7uWhj2b5++uAsju24sUTJisk5X0g1tPeOqPY4k2dU5mmV4ybiGIlqImuqTg6sce h9Xm8SBxKxWPOnIw0iaUh8gCYg6Hflr2wPfwcWRte+RkzjuL10AZKxRKSEeIbX85gJ fF8oEQtYPjTpvG4G96fxcPCriYFYqe7A39sEjpnu4lloWEmuS5+nZONqGksL2LnwOX OVbaQEj/ti1BXzhxdgi0KugEqVQ+ebW3KpseAOEIsUrO2s4eNjZC3Y5J/BTVTrr3yH DldO2CEyPZx4g== Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000) id C4DAD5C1052; Tue, 17 Jan 2023 20:00:58 -0800 (PST) Date: Tue, 17 Jan 2023 20:00:58 -0800 From: "Paul E. McKenney" To: Joel Fernandes Cc: Zhouyi Zhou , "moderated list:ARM/STM32 ARCHITECTURE" , Will Deacon , Marc Zyngier , Mark Rutland , Catalin Marinas , rcu , Frederic Weisbecker Subject: Re: arm64 torture test hotplug failures (offlining causes -EBUSY) Message-ID: <20230118040058.GV2948950@paulmck-ThinkPad-P17-Gen-1> References: <20230117043011.GD2948950@paulmck-ThinkPad-P17-Gen-1> <24953EEA-5B3E-4046-B106-7A7FBE8B8995@joelfernandes.org> <20230117045456.GG2948950@paulmck-ThinkPad-P17-Gen-1> <20230117204231.GP2948950@paulmck-ThinkPad-P17-Gen-1> 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-20230117_200104_836338_26C70780 X-CRM114-Status: GOOD ( 69.10 ) 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: , Reply-To: paulmck@kernel.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 T24gV2VkLCBKYW4gMTgsIDIwMjMgYXQgMDI6MTc6MDZBTSArMDAwMCwgSm9lbCBGZXJuYW5kZXMg d3JvdGU6Cj4gSGkgUGF1bCwKPiAKPiBPbiBUdWUsIEphbiAxNywgMjAyMyBhdCA4OjQyIFBNIFBh dWwgRS4gTWNLZW5uZXkgPHBhdWxtY2tAa2VybmVsLm9yZz4gd3JvdGU6Cj4gPgo+ID4gT24gVHVl LCBKYW4gMTcsIDIwMjMgYXQgMDg6MDI6MjRQTSArMDAwMCwgSm9lbCBGZXJuYW5kZXMgd3JvdGU6 Cj4gPiA+IE9uIFR1ZSwgSmFuIDE3LCAyMDIzIGF0IDQ6NTQgQU0gUGF1bCBFLiBNY0tlbm5leSA8 cGF1bG1ja0BrZXJuZWwub3JnPiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+IE9uIE1vbiwgSmFuIDE2 LCAyMDIzIGF0IDExOjM2OjU3UE0gLTA1MDAsIEpvZWwgRmVybmFuZGVzIHdyb3RlOgo+ID4gPiA+ ID4gPiBPbiBKYW4gMTYsIDIwMjMsIGF0IDExOjMwIFBNLCBQYXVsIEUuIE1jS2VubmV5IDxwYXVs bWNrQGtlcm5lbC5vcmc+IHdyb3RlOgo+ID4gPiA+ID4gPiDvu79PbiBUdWUsIEphbiAxNywgMjAy MyBhdCAxMjoxNTowN0FNICswMDAwLCBKb2VsIEZlcm5hbmRlcyB3cm90ZToKPiA+ID4gPiA+ID4+ PiBPbiBNb24sIEphbiAxNiwgMjAyMyBhdCAwNTozODowMFBNIC0wNTAwLCBKb2VsIEZlcm5hbmRl cyB3cm90ZToKPiA+ID4gPiA+ID4+PiBIaSBaaG91eWksCj4gPiA+ID4gPiA+Pj4KPiA+ID4gPiA+ ID4+PiBPbiBNb24sIEphbiAxNiwgMjAyMyBhdCAxOjMzIFBNIFpob3V5aSBaaG91IDx6aG91emhv dXlpQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPiA+ID4gPiA+Pj4+Cj4gPiA+ID4gPiA+Pj4gWy4uXQo+ ID4gPiA+ID4gPj4+PiBPbiBUdWUsIEphbiAxNywgMjAyMyBhdCAxOjI3IEFNIEpvZWwgRmVybmFu ZGVzIDxqb2VsQGpvZWxmZXJuYW5kZXMub3JnPiB3cm90ZToKPiA+ID4gPiA+ID4+Pj4+Cj4gPiA+ ID4gPiA+Pj4+PiBIZWxsbywKPiA+ID4gPiA+ID4+Pj4+IEkgYW0gc2VlaW5nIC1FQlVTWSByZXR1 cm5lZCBhIGxvdCBkdXJpbmcgdG9ydHVyZV9vbm9mZigpIHdoZW4gcnVubmluZwo+ID4gPiA+ID4g Pj4+Pj4gcmN1dG9ydHVyZSBvbiBhcm02NC4gVGhpcyBjYXVzZXMgaG90cGx1ZyBmYWlsdXJlIDMw JSBvZiB0aGUgdGltZS4gSSBhbQo+ID4gPiA+ID4gPj4+Pj4gYWxzbyBzZWVpbmcgdGhpcyBpbiA2 LjEtcmMga2VybmVscy4gSSBiZWxpZXZlIHNlZSB0aGlzIG9ubHkgZm9yIENQVTAuCj4gPiA+ID4g PiA+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4gVGhpcyBjYXVzZXMgd2FybmluZ3MgaW4gdG9ydHVyZSB0 ZXN0czoKPiA+ID4gPiA+ID4+Pj4+IFsgIDIxNy41ODIyOTBdIHJjdS10b3J0dXJlOnRvcnR1cmVf b25vZmYgdGFzazogb2ZmbGluZSAwIGZhaWxlZDogZXJybm8gLTE2Cj4gPiA+ID4gPiA+Pj4+PiBb ICAyMjEuODY2MzYyXSByY3UtdG9ydHVyZTp0b3J0dXJlX29ub2ZmIHRhc2s6IG9mZmxpbmUgMCBm YWlsZWQ6IGVycm5vIC0xNgo+ID4gPiA+ID4gPj4+Pj4KPiA+ID4gPiA+ID4+Pj4+IEZ1bGwga2Vy bmVsIGxvZyBoZXJlOgo+ID4gPiA+ID4gPj4+Pj4gaHR0cDovL2JveC5qb2VsZmVybmFuZGVzLm9y Zzo5MDgwL2pvYi9yY3V0b3J0dXJlX3N0YWJsZV9hcm0vam9iL2xpbnV4LTUuMTUueS83L2FydGlm YWN0L3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3JjdXRvcnR1cmUvcmVzLzIwMjMuMDEuMTUtMTQu NTEuMTEvVFJFRTA0L2NvbnNvbGUubG9nCj4gPiA+ID4gPiA+Pj4+Pgo+ID4gPiA+ID4gPj4+Pj4g QW55IGlkZWFzIG9uIHdoeSB0aGlzIGlzIGhhcHBlbmluZyBhbmQgb25seSBmb3IgQ1BVIDAgKHBy ZXN1bWFibHkgdGhlCj4gPiA+ID4gPiA+Pj4+PiBib290IENQVSk/IEknZCBwZXJzb25hbGx5IG5l ZWQgdGhlc2Ugd2FybmluZ3MgdG8gZ28gYXdheSBmb3IgbXkgdGVzdHMKPiA+ID4gPiA+ID4+Pj4+ IGFzIHRoaXMgY2F1c2VzIHJjdXRvcnR1cmUncyB0ZXN0cyB0byBub3QgY2xlYW5seSBwYXNzIGZv ciBtZS4gSXQKPiA+ID4gPiA+ID4+Pj4+IGFwcGVhcnMgcmVtb3ZlX2NwdSgpIC0+IGRldmljZV9v ZmZsaW5lKCkgaXMgd2hhdCByZXR1cm5zIHRoZSBlcnJvci4KPiA+ID4gPiA+ID4+Pj4+Cj4gPiA+ ID4gPiA+Pj4+IEkgZ3Vlc3MgdGhpcyBwcm9iYWJseSBiZWNhdXNlIENQVSAwIGlzIHRoZSB0aWNr X2RvX3RpbWVyX2NwdSBpbgo+ID4gPiA+ID4gPj4+PiBub2h6X2Z1bGwgbW9kZSwgd2hpY2ggcHJl dmVudCB0aGF0IGNwdSBmcm9tCj4gPiA+ID4gPiA+Pj4+IGdvaW5nIG9mZmxpbmUgWzFdLiBXZSBo YXZlIGRpc2N1c3NlZCB0aGlzIHRvcGljLCBidXQgdGhlcmUgaXMgbm8KPiA+ID4gPiA+ID4+Pj4g YWdyZWVtZW50IG9uIGhvdyB0byBzb2x2ZSBpdCB5ZXQuCj4gPiA+ID4gPiA+Pj4KPiA+ID4gPiA+ ID4+PiBCdXQgSSBhbSBzZWVpbmcgdGhlIGlzc3VlIGluIFRSQUNFMDIgY29uZmlnIHdoaWNoIGlz Ogo+ID4gPiA+ID4gPj4+IENPTkZJR19OT19IWl9JRExFPXkKPiA+ID4gPiA+ID4+PiAjIENPTkZJ R19OT19IWl9GVUxMIGlzIG5vdCBzZXQKPiA+ID4gPiA+ID4+Pgo+ID4gPiA+ID4gPj4+IFNvIHRo YXQgaXMgbm90IE5PX0haX0ZVTEw6Cj4gPiA+ID4gPiA+Pj4gaHR0cDovL2JveC5qb2VsZmVybmFu ZGVzLm9yZzo5MDgwL2pvYi9yY3V0b3J0dXJlX3N0YWJsZV9hcm0vam9iL2xpbnV4LTUuMTUueS83 L2FydGlmYWN0L3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3JjdXRvcnR1cmUvcmVzLzIwMjMuMDEu MTUtMTQuNTEuMTEvVFJBQ0UwMi9jb25zb2xlLmxvZy5kaWFncy8KPiA+ID4gPiA+ID4+PiBIb3dl dmVyLCBJIGNhbid0IHNlZW0gdG8gZmluZCB0aGUgZnVsbCBrZXJuZWwgbG9ncyBmb3IgdGhhdC4K PiA+ID4gPiA+ID4+Pgo+ID4gPiA+ID4gPj4+IEFsc28sIG90aGVyIHRoYW4gdGhlIFRSQUNFMDIg ZmFpbCwgSSBvbmx5IHNlZSB0aGUgaXNzdWUgd2l0aCBjb25maWdzCj4gPiA+ID4gPiA+Pj4gd2l0 aCBDT05GSUdfTk9fSFpfRlVMTD15Cj4gPiA+ID4gPiA+Pj4KPiA+ID4gPiA+ID4+PiBDYW4geW91 IHRyeSBUUkFDRTAyIHNwZWNpZmljYWxseSwgYW5kIHNlZSBpZiB5b3UgY2FuIHJlcHJvZHVjZSB0 aGUKPiA+ID4gPiA+ID4+PiBzYW1lIGlzc3VlIG9uIHlvdXIgc2V0dXA/IE1lYW53aGlsZSwgSSds bCB0cnkgdG8gdHJhY2Ugd2hhdCBpcwo+ID4gPiA+ID4gPj4+IHJldHVybmluZyB0aGUgLUVCVVNZ Lgo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+IEhvdyBhYm91dCBzb21ldGhpbmcgc2ltcGxlIGxp a2UgdGhlIGZvbGxvd2luZz8gKHVudGVzdGVkKQo+ID4gPiA+ID4gPj4KPiA+ID4gPiA+ID4+IC0t LTg8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gPiA+ID4+Cj4gPiA+ID4gPiA+PiBkaWZm IC0tZ2l0IGEva2VybmVsL3RvcnR1cmUuYyBiL2tlcm5lbC90b3J0dXJlLmMKPiA+ID4gPiA+ID4+ IGluZGV4IGJjOGZiMzYxZWZjMC4uY2Q2NDExMDY5NGMwIDEwMDY0NAo+ID4gPiA+ID4gPj4gLS0t IGEva2VybmVsL3RvcnR1cmUuYwo+ID4gPiA+ID4gPj4gKysrIGIva2VybmVsL3RvcnR1cmUuYwo+ ID4gPiA+ID4gPj4gQEAgLTIyMCw2ICsyMjAsOSBAQCBib29sIHRvcnR1cmVfb2ZmbGluZShpbnQg Y3B1LCBsb25nICpuX29mZmxfYXR0ZW1wdHMsIGxvbmcgKm5fb2ZmbF9zdWNjZXNzZXMsCj4gPiA+ ID4gPiA+PiAgICAgICAgICAgIC8vIFBDSSBwcm9iZSBmcmVxdWVudGx5IGRpc2FibGVzIGhvdHBs dWcgZHVyaW5nIGJvb3QuCj4gPiA+ID4gPiA+PiAgICAgICAgICAgICgqbl9vZmZsX2F0dGVtcHRz KS0tOwo+ID4gPiA+ID4gPj4gICAgICAgICAgICBzID0gIiAoLUVCVVNZIGZvcmdpdmVuIGR1cmlu ZyBib290KSI7Cj4gPiA+ID4gPiA+PiArICAgICAgICB9IGVsc2UgaWYgKHRpY2tfbm9oel9mdWxs X3J1bm5pbmcgJiYgcmV0ID09IC1FQlVTWSkgewo+ID4gPiA+ID4gPj4gKyAgICAgICAgICAgICgq bl9vZmZsX2F0dGVtcHRzKS0tOwo+ID4gPiA+ID4gPj4gKyAgICAgICAgICAgIHMgPSAiICgtRUJV U1kgZm9yZ2l2ZW4gaWYgbm9oel9mdWxsIGlzIHJ1bm5pbmcpIjsKPiA+ID4gPiA+ID4KPiA+ID4g PiA+ID4gQnV0IHRoaXMgc2hvdWxkIGJlIGZvcmdpdmVuIGZvciB0aGUgdGltZWtlZXBpbmcgQ1BV LCBub3QgZXZlcnlvbmUsCj4gPiA+ID4gPiA+IGNvcnJlY3Q/Cj4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+IFllcywgSSBrbm93IHRoYXQgQ1BVLWhvdHBsdWcgb3BlcmF0aW9ucyBjYW4gZmFpbCwgYnV0 IGluIG15IHRlc3RpbmcKPiA+ID4gPiA+ID4gdGhleSBhbG1vc3QgbmV2ZXIgZG8uICBUaGlzIG1l YW5zIHRoYXQgYSBuZXcgZmFpbHVyZSBtaWdodCB3ZWxsIGJlIGEKPiA+ID4gPiA+ID4gcmVhbCBi dWcgc29tZXdoZXJlIHRoYXQgbmVlZHMgYXR0ZW50aW9uLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFN1 cmUuIFdlIG1heSBuZWVkIHRvIGV4cG9zZSBzb21lIEFQSSB0byByZXZlYWwgdGhhdC4KPiA+ID4g PiA+Cj4gPiA+ID4gPiBJdCBhcHBlYXJlZCB0aG91Z2ggdGhhdCBUaG9tYXMgaW4gdGhlIG90aGVy IHRocmVhZCByZWxhdGVkIHRvIHBhdGNoCj4gPiA+ID4gPiBmcm9tIFpob3V5aSwgd2FzIHN1Z2dl c3RpbmcgdGhhdCByY3V0b3J0dXJlIHRvbGVyYXRlIGhvdHBsdWcgZmFpbHVyZQo+ID4gPiA+ID4g dGhvdWdoLCBiZWNhdXNlIHRoZXkgYXJlIG5vdCBhYm5vcm1hbCwgcmlnaHQ/Cj4gPiA+ID4KPiA+ ID4gPiBCYXNlZCBvbiBteSByY3V0b3J0dXJlIHRlc3RpbmcgZXhwZXJpZW5jZSBvbiB4ODYsIHRo ZXkgYXJlIG5vdCBhdCBhbGwKPiA+ID4gPiBub3JtYWwuICBUaGUgb25seSB0aW1lIEkgaGF2ZSBz ZWVuIHJjdXRvcnR1cmUgQ1BVLWhvdHBsdWcgZmFpbHVyZXMgaGFzCj4gPiA+ID4gYmVlbiBkdWUg dG8gc29tZSBidWcgdGhhdCBuZWVkZWQgZml4aW5nLgo+ID4gPgo+ID4gPiBJIHNlZSwgb2suIEkg bmVlZCB0byBkZWJ1ZyB3aGF0IGlzIHJldHVybmluZyAtRUJVU1kgZm9yICFOT19IWl9GVUxMIG9u Cj4gPiA+IGFybTY0LCBJIHdpbGwgcmVwb3J0IGJhY2sgb25jZSBJIGRvLgo+ID4gPgo+ID4gPiBN ZWFud2hpbGUsIE1hcmMgSSBhbSB3b25kZXJpbmcgaWYgeW91IGFyZSBhYmxlIHRvIHJlcHJvZHVj ZSB0aGUgaXNzdWUKPiA+ID4gb24geW91ciBzaWRlIG9uIFRSQUNFMDIgY29uZmlnLCBsaWtlIEkg YW0/Cj4gPiA+Cj4gPiA+IEhlcmUgaXMgdGhlIFRSQUNFMDIgY29uZmlnIGZyYWdtZW50Ogo+ID4g PiBodHRwOi8vYm94LmpvZWxmZXJuYW5kZXMub3JnOjkwODAvam9iL3JjdXRvcnR1cmVfc3RhYmxl X2FybS9qb2IvbGludXgtNS4xNS55LzcvYXJ0aWZhY3QvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMv cmN1dG9ydHVyZS9yZXMvMjAyMy4wMS4xNS0xNC41MS4xMS9UUkFDRTAyL0NvbmZpZ0ZyYWdtZW50 Lyp2aWV3Ki8KPiA+ID4KPiA+ID4gSGVyZSBhcmUgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBydW4g aXQgKHRvcnR1cmUgdGVzdCBwYXJhbWV0ZXJzIGV0YykKPiA+ID4gaWYgeW91IGFyZSBsb2FkaW5n IHRoZSBtb2R1bGUgeW91cnNlbGY6Cj4gPiA+IGh0dHA6Ly9ib3guam9lbGZlcm5hbmRlcy5vcmc6 OTA4MC9qb2IvcmN1dG9ydHVyZV9zdGFibGVfYXJtL2pvYi9saW51eC01LjE1LnkvNy9hcnRpZmFj dC90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9yY3V0b3J0dXJlL3Jlcy8yMDIzLjAxLjE1LTE0LjUx LjExL1RSQUNFMDIvYmFyZS1tZXRhbC8qdmlldyovCj4gPgo+ID4gSSBhbSBhc3N1bWluZyB0aGF0 IHRoaXMgaXMgZGlyZWN0ZWQgdG8gc29tZW9uZSBoYXZpbmcgZWFzeSBhY2Nlc3MKPiA+IHRvIEFS TSBoYXJkd2FyZS4KPiA+Cj4gPiA+ID4gSXMgdGhlcmUgYSBwbGFuIHRvIG1ha2UgQ1BVIGhvdHBs dWcgZmFpbHVyZXMgbW9yZSBmcmVxdWVudD8KPiA+ID4KPiA+ID4gSSBhbSBub3QgYXdhcmUgb2Yg c3VjaCBhIHBsYW4gYnV0IEkgd2FzIGdvaW5nIGJ5ICJUaGVyZSBhcmUgcXVpdGUgc29tZQo+ID4g PiByZWFzb25zIHdoeSBhIENQVS1ob3RwbHVnIG9yIGEgaG90LXVucGx1ZyBvcGVyYXRpb24gY2Fu IGZhaWwsIHdoaWNoIGlzCj4gPiA+IG5vdCBhIGZhdGFsIHByb2JsZW0sIHJlYWxseS4iIGluIFsx XS4KPiA+ID4KPiA+ID4gV2hhdCBhYm91dCBhbiByY3V0b3J0dXJlIHRvIHNraXAgaG90cGx1ZyBm b3IgYSBjZXJ0YWluIGNwdSBpZCwKPiA+ID4gcmN1dG9ydHVyZS5za2lwX2hvdHBsdWdfY3B1cz0i MCIuIENhbiBiZSBhIGxhc3QgcmVzb3J0LiBCdXQgd2UvSQo+ID4gPiBzaG91bGQgZGVidWcgdGhp cyBpc3N1ZSBtb3JlIGJlZm9yZSBnZXR0aW5nIHRvIHRoYXQuCj4gPgo+ID4gWWVzLCBpbiBmYWN0 IHRoZXJlIGFscmVhZHkgYXJlIHNvbWUgY2hlY2tzIGFsb25nIHRob3NlIGxpbmVzLCBmb3IgZXhh bXBsZSwKPiA+IHRoZSB0b3J0dXJlX29mZmxpbmUoKSBmdW5jdGlvbidzIGNoZWNrIG9mIGNwdV9p c19ob3RwbHVnZ2FibGUoKS4gIFNvIGZvcgo+ID4gZXhhbXBsZSwgYXMgSSB1bmRlcnN0YW5kIGl0 LCBhIENPTkZJR19OT19IWl9GVUxMPXkgc3lzdGVtIHNob3VsZCBtYXJrCj4gPiB0aGUgaG91c2Vr ZWVwaW5nIENQVSBhcyAhY3B1X2lzX2hvdHBsdWdnYWJsZSgpLgo+IAo+IEkgZG9uJ3QgdGhpbmsg Q09ORklHX05PX0haX0ZVTEwgZG9lcyBhbnkgc3VjaCBtYXJraW5nIChhdCBsZWFzdCBJIGFtCj4g bm90IHNlZWluZyBpdCkuIEV2ZW4gb24geDg2LCBpZiB5b3UgZW5hYmxlCj4gQ09ORklHX0JPT1RQ QVJBTV9IT1RQTFVHX0NQVTA9eSAsIGFuZCBDT05GSUdfTk9fSFpfRlVMTD15LCBhbmQgcnVuCj4g cmN1dG9ydHVyZSB3aXRoIGJvb3QgYXJnczoKPiAKPiBub2h6X2Z1bGw9MC0zIHJjdXRvcnR1cmUu b25vZmZfaW50ZXJ2YWw9MTAwIHJjdXRvcnR1cmUub25vZmZfaG9sZG9mZj0yCj4gcmN1dG9ydHVy ZS5zaHV0ZG93bl9zZWNzPTMwCj4gCj4gWW91IHdpbGwgc2VlIHRoaXMgaW4gdGhlIGtlcm5lbCBs b2dzOgo+IFsgICAgMi44MTYwMjJdIHJjdS10b3J0dXJlOnRvcnR1cmVfb25vZmYgdGFzazogb2Zm bGluZSAwIGZhaWxlZDogZXJybm8gLTE2Cj4gWyAgICAyLjk3NTkxM10gcmN1LXRvcnR1cmU6dG9y dHVyZV9vbm9mZiB0YXNrOiBvZmZsaW5lIDAgZmFpbGVkOiBlcnJubyAtMTYKPiAKPiBTbyBSQ1Ug dG9ydHVyZSB0ZXN0IGNsZWFybHkgdGhvdWdodCB0aGUgQ1BVcyB3ZXJlIGhvdC1wbHVnZ2FibGUs IHdoZW4KPiB0aGV5IHdhcyBjaGFuY2UgZm9yIHRoZW0gdG8gcmV0dXJuIC1FQlVTWSAoZHVlIHRv IGhvdXNla2VlcGluZyBhbmQKPiB3aGF0IG5vdCkuIFNvIHRoaXMgaXNzdWUgc2VlbXMgdG8gYmUg YXJjaGl0ZWN0dXJlIGluZGVwZW5kZW50LCBpbiB0aGF0Cj4gc2Vuc2UuCj4gCj4gU28gdGhlIDIg d2F5cyBmb3J3YXJkIEkgc2VlIGFyZToKPiAtIE1ha2UgdGhlIHRvcnR1cmUgdGVzdCBhd2FyZSBv ZiB3aGljaCBDUFVzIGFyZSAnaG91c2Uga2VlcGluZycKPiAtIE1ha2UgaXQgcG9zc2libGUgdG8g dHVybiBvZmYgQ1BVMCBob3RwbHVnZ2luZyBvbiBBUk02NCBieSBkZWZhdWx0Cj4gKHZpYSBDT05G SUcgb3IgYm9vdCBvcHRpb24pLgo+IAo+IEFub3RoZXIgb3B0aW9uIGNvdWxkIGJlLCBmb3JnaXZl IC1FQlVTWSBvbiBDUFUwIGZvcgo+IENPTkZJR19OT19IWl9GVUxMPXkuICBJcyBpdCBwb3NzaWJs ZSB0byBhc3NpZ24gYSBub24tMCBDUFUgaWQgYXMgYQo+IGhvdXNla2VlcGluZyBDUFU/CgpJIHdv dWxkIGJlIGhhcHBpZXIgdG8gZm9yZ2l2ZSBmYWlsdXJlIHRvIG9mZmxpbmUgaG91c2VrZWVwaW5n IENQVXMgdGhhbgpibGFua2V0IGZvcmdpdmVuZXNzIG9mIENQVSAwLiAgRXNwZWNpYWxseSBnaXZl biB0aGF0IEkgcmVjZW50bHkgZ290CmJ1cm5lZCBieSBhIG5vbi16ZXJvIGJvb3QgY3B1LiAgOy0p CgpCdXQgd291bGRuJ3QgaXQgYmUgZXZlbiBiZXR0ZXIgZm9yIGNwdV9pc19ob3RwbHVnZ2FibGUo KSB0byBrbm93IHRoZQpOT19IWl9GVUxMIHJ1bGVzIG9mIHRoZSByb2FkPwoKPiBBZGRpbmcgRnJl ZGVyaWMgdG8gQ0MgYXMgd2VsbCBhcyB3ZSBhcmUgdGFsa2luZyBhYm91dAo+IGhvdXNla2VlcGlu Zy9pc29sYXRpb24gc3R1ZmYuCgpCdXQgYXMgeW91IHNheSwgcGVyaGFwcyBGcmVkZXJpYyBoYXMg YSBiZXR0ZXIgaWRlYS4KCj4gPiBBbmQgdG9wb2xvZ3lfaW5pdCgpIHNldHMgdGhpcyBiYXNlZCBv biBwbGF0Zm9ybV9jYW5faG90cGx1Z19jcHUoY3B1KS4KPiA+IEFuZCB0aGlzIGZ1bmN0aW9uIHNl dHMgQ1BVIDAgYXMgIWNwdV9pc19ob3RwbHVnZ2FibGUoKSB1bmxlc3MgdGhlCj4gPiBhcmNoaXRl Y3R1cmUgc3BlY2lmaWVzIGEgLmNwdV9jYW5fZGlzYWJsZSgpIGZ1bmN0aW9uLgo+IAo+IEFoLCB0 aGF0IGlzIDMyLWJpdCBBUk0gY29kZSBvbmx5LiBUaGlzIGlzc3VlIGlzIG9uIDY0LWJpdCBBUk0g KGFyY2gvYXJtNjQvKS4KCkFwb2xvZ2llcyEgIEkgd2lsbCBsb29rIG1vcmUgY2FyZWZ1bGx5IGF0 IHRoZSBwYXRobmFtZXMgbmV4dCB0aW1lIQoKQnV0IG1heWJlIGFybTY0IG5lZWRzIHNvbWV0aGlu ZyBzaW1pbGFyPwoKCQkJCQkJCVRoYW54LCBQYXVsCgo+IFRoYW5rcywKPiAKPiAgLSBKb2VsCj4g Cj4gCj4gPiBTbyBhcmNoaXRlY3R1cmVzIHRoYXQgZG9uJ3Qgd2FudCBzcGVjaWZpYyBDUFVzIHRv IGJlIGhvdHBsdWdnYWJsZQo+ID4gY2FuIGFuZCBzaG91bGQgc28gc3BlY2lmeS4KPiA+Cj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRo YW54LCBQYXVsCj4gPgo+ID4gPiBUaGFua3MsCj4gPiA+Cj4gPiA+IC0gSm9lbAo+ID4gPiBbMV0g aHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMjIvMTEvMjcvMTgyCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlz dApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==