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 12A40E7E0B7 for ; Mon, 9 Feb 2026 09:51:09 +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=0fiLaj+9ozGwt41+M/rB7o90Q7L9kVaJjmVVKdRQmOA=; b=ECAvFRKVDA7llS TZ9Brfxtb6V256Jb8Oa/cpwZZIQfEAZeLIKrgSGZ2JV7dT7MKnTnnlldOw9ESnA8V/S9LLgG2oiz4 Tt8lUeTlFnYOXkCEfMSfiaYLzQ+71EiA6ox0ZpvpBZ2po+R/tg6gNCt7uhQZf/JcLmKszz/hpq91y DBrZHwaX6ljDYs84SFU5GwvyMDJH/SwgBdO+7Xs9odOmEqbMKPZR6UqoxSWm8LIwGPMhIWLLW/D29 KEJZCf5UyG6AiOZjScpyL56XMFH+U3BinBWdq+dlz/k/a+SOLpYAc8UGPfdf93XbHyTphOvi8IP4z mvGbvxnaWS9CssHX+vuQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vpNv1-0000000FBQ6-16a1; Mon, 09 Feb 2026 09:50:59 +0000 Received: from bali.collaboradmins.com ([2a01:4f8:201:9162::2]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vpNuy-0000000FBPD-2aVh for linux-riscv@lists.infradead.org; Mon, 09 Feb 2026 09:50:57 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1770630653; bh=lg8CE3wdX+dcJL6yDeqGzT+IDyDi7+zFMbcdS7bHqvY=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=GAl5PSI0gxZCB4fRfIXmb+OCpJY8qNOwXLz9veN8T1muQZoP1SLZuyEN5jFkvF2vC ipEp3b4sMip86VDrIuyv0saU6cadpiIbCjLXvBVVbeZAQqEsKVjT0taFlrKIdQOG5o OZQLZf2qXFX+xYlx0veU9pFtFvMJZFR5drDK3SDbpdlXo4c3lYspdavKG7jiw9NlZW xa/6D7KeI3iQ35tMqN3uTY1pHR6VVhFsLSaG8GVpX+qBCwtkSmIJAVf9ZN5odCFfCe 6XncsOBtXX+6Ns4d6I4xWWAvxrKDHBZuGV6cEunws0xUFhCtHMLYrEcFSnZW8x55/J GOPQBqzU8Vu7A== Received: from fedora (unknown [IPv6:2a01:e0a:2c:6930:d919:a6e:5ea1:8a9f]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: bbrezillon) by bali.collaboradmins.com (Postfix) with ESMTPSA id F334C17E12C5; Mon, 9 Feb 2026 10:50:51 +0100 (CET) Date: Mon, 9 Feb 2026 10:50:47 +0100 From: Boris Brezillon To: Maxime Ripard Cc: Daniel Almeida , Danilo Krummrich , Alice Ryhl , "Rafael J. Wysocki" , Viresh Kumar , Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Drew Fustini , Guo Ren , Fu Wei , Uwe =?UTF-8?B?S2xlaW5lLUs=?= =?UTF-8?B?w7ZuaWc=?= , Michael Turquette , Stephen Boyd , Miguel Ojeda , Boqun Feng , Gary Guo , =?UTF-8?B?QmrDtnJu?= Roy Baron , Benno Lossin , Andreas Hindborg , Trevor Gross , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-riscv@lists.infradead.org, linux-pwm@vger.kernel.org, linux-clk@vger.kernel.org, rust-for-linux@vger.kernel.org Subject: Re: [PATCH v3 1/3] rust: clk: use the type-state pattern Message-ID: <20260209105047.693f2515@fedora> In-Reply-To: <20260204-angelic-vermilion-beagle-fd1507@houat> References: <20260119-thundering-tested-robin-4be817@houat> <518D8B09-B9A1-4DB4-85CD-37A2DD3D5FB1@collabora.com> <20260119-weightless-pelican-of-anger-190db0@houat> <20260122-majestic-masterful-jaguarundi-d0abde@houat> <2F3D3A40-6EF9-46FC-A769-E5A3AAF67E65@collabora.com> <20260204-nickel-seal-of-poetry-8fdefb@houat> <91A92D84-1F2E-45F3-82EC-6A97D32E2A78@collabora.com> <20260204-angelic-vermilion-beagle-fd1507@houat> Organization: Collabora X-Mailer: Claws Mail 4.3.1 (GTK 3.24.51; x86_64-redhat-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260209_015056_849889_61337E32 X-CRM114-Status: GOOD ( 43.32 ) X-BeenThere: linux-riscv@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-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org SGkgTWF4aW1lLAoKT24gV2VkLCA0IEZlYiAyMDI2IDE1OjM0OjI5ICswMTAwCk1heGltZSBSaXBh cmQgPG1yaXBhcmRAa2VybmVsLm9yZz4gd3JvdGU6Cgo+IE9uIFdlZCwgRmViIDA0LCAyMDI2IGF0 IDA5OjQzOjU1QU0gLTAzMDAsIERhbmllbCBBbG1laWRhIHdyb3RlOgo+ID4gPiBJJ20gcHJvYmFi bHkgbWlzc2luZyBzb21ldGhpbmcgdGhlbiwgYnV0IGxldCdzIGFzc3VtZSB5b3UgaGF2ZSBhIGRy aXZlcgo+ID4gPiB0aGF0IHdhbnRzIGl0cyBjbG9jayBwcmVwYXJlZCBhbmQgZW5hYmxlZCBpbiBh biBoeXBvdGhldGljYWwgZW5hYmxlKCkKPiA+ID4gY2FsbGJhY2ssIGFuZCBkaXNhYmxlZCAvIHVu cHJlcGFyZWQgaW4gYSBkaXNhYmxlKCkgY2FsbGJhY2suCj4gPiA+IAo+ID4gPiBGcm9tIGEgUE0g bWFuYWdlbWVudCBwZXJzcGVjdGl2ZSwgdGhpcyB1c2VjYXNlIG1ha2VzIHRvdGFsIHNlbnNlLCBp cyBhCj4gPiA+IHZhbGlkIHVzZWNhc2UsIGlzIHdpZGVseSB1c2VkIGluIHRoZSBrZXJuZWwsIGFu ZCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkCj4gPiA+IGJ5IGJvdGggdGhlIEMgYW5kIFJ1c3QgY2xr IEFQSXMuCj4gPiA+IAo+ID4gPiBUaGUgb25seSBzb2x1dGlvbiB0byB0aGlzIHlvdSBzdWdnZXN0 ZWQgc28gZmFyIChJIHRoaW5rPykgdG8gaW1wbGVtZW50Cj4gPiA+IHRoaXMgb24gdG9wIG9mIHRo ZSBuZXcgY2xrIEFQSSB5b3UgcHJvcG9zZSBpcyB0byBoYXZlIGEgZHJpdmVyIHNwZWNpZmljCj4g PiA+IGVudW0gdGhhdCB3b3VsZCBzdG9yZSBlYWNoIG9mIHRoZSBwb3NzaWJsZSBzdGF0ZSB0cmFu c2l0aW9uLiAgCj4gPiAKPiA+IFllcywgeW91IG5lZWQgYW4gZW51bSBfaWZfIHlvdSB3YW50IHRv IG1vZGVsIHRyYW5zaXRpb25zIGF0IHJ1bnRpbWUuIElJVUMgeW91Cj4gPiBvbmx5IG5lZWQgdHdv IHZhcmlhbnRzIHRvIGltcGxlbWVudCB0aGUgcGF0dGVybiB5b3UgZGVzY3JpYmVkLiBJIGRvIG5v dAo+ID4gY29uc2lkZXIgdGhpcyAg4oCcYm9pbGVycGxhdGXigJ0sIGJ1dCByYXRoZXIgYSBzbWFs bCBjb3N0IHRvIHBheS4gIAo+IAo+IEEgbWFpbnRlbmFuY2UgY29zdCB0byBwYXkgYnkgZXZlcnkg ZHJpdmVyIGlzIGtpbmQgb2YgdGhlIHRleHRib29rCj4gZGVmaW5pdGlvbiBvZiBib2lsZXJwbGF0 ZSB0byBtZS4KPiAKPiA+IEkgd291bGQgdW5kZXJzdGFuZCBpZiB0aGlzIHdhcyBzb21lIGVsYWJv cmF0ZSBwYXR0ZXJuIHRoYXQgaGFkIHRvIGJlCj4gPiBpbXBsZW1lbnRlZCBieSBhbGwgZHJpdmVy cywgYnV0IGEgdHdvLXZhcmlhbnQgZW51bSBpcyBhcwo+ID4gc3RyYWlnaHRmb3J3YXJkIGFzIGl0 IGdldHMuICAKPiAKPiBBbmQgeWV0LCB0aGF0IGZyYW1ld29yayBoYXMgZG96ZW5zIG9mIGhlbHBl cnMgdGhhdCBkbyBub3QgcmVtb3ZlCj4gYW55dGhpbmcgZnJvbSBkcml2ZXJzIGJ1dCBhIGNvdXBs ZSBvZiBsaW5lcy4gU28gc3VyZWx5IGl0cyB1c2VycyBtdXN0Cj4gZmluZCB2YWx1ZSBpbiByZWR1 Y2luZyB0aGF0IGJvaWxlcnBsYXRlIGFzIG11Y2ggYXMgcG9zc2libGUuIEFuZCB5b3UgZG8KPiBp bXBsZW1lbnQgc29tZSBvZiB0aGVtLCBzbyB5b3UgbXVzdCBmaW5kIHZhbHVlIGluIHRoYXQgdG9v Lgo+IAo+ID4gPiBUaGF0J3MgdGhlIGJvaWxlcnBsYXRlIEknbSB0YWxraW5nIGFib3V0LiBJZiBl dmVyeSBkcml2ZXIgd2FudGluZyB0bwo+ID4gPiBpbXBsZW1lbnQgdGhhdCBwYXR0ZXJuIGhhcyB0 byBtYWtlIHN1Y2ggYW4gZW51bSwgd2l0aCBhbGwgdGhlIHJlbGV2YW50Cj4gPiA+IHRyYWl0cyBp bXBsZW1lbnRhdGlvbiB0aGF0IG1pZ2h0IGNvbWUgd2l0aCBpdCwgd2UgZ28gZnJvbSBhbiBBUEkg d2hlcmUKPiA+ID4gZXZlcnl0aGluZyB3b3JrcyBhdCBuby1jb3N0IGZyb20gYSBjb2RlLXNpemUg cGVyc3BlY3RpdmUgdG8gYSBzaXR1YXRpb24KPiA+ID4gd2hlcmUgZXZlcnkgZHJpdmVyIGhhcyB0 byBkZXZlbG9wIGFuZCBtYWludGFpbiB0aGF0IGVudW0uICAKPiA+Cj4gPiBUaGVyZSBhcmUgbm8g InRyYWl0cyB0aGF0IGNvbWUgd2l0aCBpdCIuIEl0J3MganVzdCBhbiBlbnVtLCB3aXRoIHR3bwo+ ID4gdmFyaWFudHMuCj4gPiAgIAo+ID4gPiBBUEkgd2hlcmUgZXZlcnl0aGluZyB3b3JrcyBhdCBu by1jb3N0ICAKPiA+IAo+ID4gVGhlIHByZXZpb3VzIEFQSSB3YXMgZmFyIGZyb20g4oCcZXZlcnl0 aGluZyB3b3Jrc+KAnS4gSXQgd2FzIGZ1bmRhbWVudGFsbHkKPiA+IGJyb2tlbiBieSBkZXNpZ24g aW4gbXVsdGlwbGUgd2F5cywgaS5lLjogIAo+IAo+IE91dCBvZiBjb250ZXh0IGFuZCBub3Qgd2hh dCBJIG1lYW50LCBidXQgb2suCj4gCj4gPiA+IGEpIEl0IG9ubHkga2VlcHMgdHJhY2sgb2YgYSBj b3VudCB0byBjbGtfZ2V0KCksIHdoaWNoIG1lYW5zIHRoYXQgdXNlcnMgaGF2ZQo+ID4gPiB0byBt YW51YWxseSBjYWxsIGRpc2FibGUoKSBhbmQgdW5wcmVwYXJlKCksIG9yIGEgdmFyaWF0aW9uIG9m IHRob3NlLCBsaWtlCj4gPiA+IGRpc2FibGVfdW5wcmVwYXJlKCkuCj4gPiA+IAo+ID4gPiBiKSBJ dCBhbGxvd3MgcmVwZWF0ZWQgY2FsbHMgdG8gcHJlcGFyZSgpIG9yIGVuYWJsZSgpLCBidXQgaXQg a2VlcHMgbm8gdHJhY2sKPiA+ID4gb2YgaG93IG9mdGVuIHRoZXNlIHdlcmUgY2FsbGVkLCBpLmUu LCBpdCdzIGN1cnJlbnRseSBsZWdhbCB0byB3cml0ZSB0aGUKPiA+ID4gZm9sbG93aW5nOgo+ID4g PiAKPiA+ID4gY2xrLnByZXBhcmUoKTsKPiA+ID4gY2xrLnByZXBhcmUoKTsKPiA+ID4gY2xrLmVu YWJsZSgpOwo+ID4gPiBjbGsuZW5hYmxlKCk7Cj4gPiA+IAo+ID4gPiBBbmQgbm90aGluZyBnZXRz IHVuZG9uZSBvbiBkcm9wKCkuICAKPiA+IAo+ID4gSU1ITywgd2hhdCB3ZSBoYXZlIGhlcmUgaXMg YW4gaW1wcm92ZW1lbnQgdGhhdCBoYXMgYmVlbiBsb25nIG92ZXJkdWUuICAKPiAKPiBOb3RoaW5n IGlzIGFic29sdXRlLiBJdCBpcyBpbmRlZWQgYW4gaW1wcm92ZW1lbnQgb24gdGhlIHJlZmNvdW50 aW5nIHNpZGUKPiBvZiB0aGluZ3MgYW5kIGdlbmVyYWwgc2FmZXR5IG9mIHRoZSBBUEkgZm9yIHRo ZSBnZW5lcmFsIGNhc2UuIEkgZG9uJ3QKPiB0aGluayBJIGV2ZXIgcXVlc3Rpb25uZWQgdGhhdC4K PiAKPiBIb3dldmVyLCBmb3IgdGhlIHVzZS1jYXNlcyB3ZSd2ZSBiZWVuIGRpc2N1c3NpbmcgKGFu ZCBkb3plbnMgb2YgZHJpdmVycwo+IGltcGxlbWVudGluZyBpdCksIGl0IGFsc28gY29tZXMgd2l0 aCBhIHJlZ3Jlc3Npb24gaW4gdGhlIGFtb3VudCBvZiBjb2RlCj4gdG8gY3JlYXRlIGFuZCBtYWlu dGFpbi4gVGhleSB1c2VkIHRvIGJlIGFibGUgdG8gb25seSBkZWFsIHdpdGggdGhlIENsawo+IHN0 cnVjdHVyZSwgYW5kIG5vdyB0aGV5IGNhbid0IGFueW1vcmUuCj4gCj4gWW91IG1pZ2h0IGZpbmQg dGhhdCBuZWdsaWJsZSwgeW91IG1pZ2h0IGhhdmUgYSBwbGFuIHRvIGFkZHJlc3MgdGhhdCBpbgo+ IHRoZSBmdXR1cmUsIGV0Yy4gYW5kIHRoYXQncyBmaW5lLCBidXQgaWYgeW91IGNhbid0IGFja25v d2xlZGdlIHRoYXQgaXQncwo+IGluZGVlZCBoYXBwZW5pbmcsIHRoZXJlJ3Mgbm8gcG9pbnQgaW4g bWUgcmFpc2luZyB0aGUgaXNzdWUgYW5kCj4gY29udGludWluZyB0aGUgZGlzY3Vzc2lvbi4KCgpP a2F5LCBsZXQncyBzZWUgaWYgSSBjYW4gc3VtLXVwIHRoZSB1c2UgY2FzZSB5b3UnZCBsaWtlIHRv IHN1cHBvcnQuIFlvdQpoYXZlIHNvbWUgUE0gaG9va3MsIHdoaWNoIEknbSBhc3N1bWluZyBhcmUg KG9yIHdpbGwgYmUpIHdyaXR0ZW4gaW4KcnVzdC4gSXQgd2lsbCBwcm9iYWJseSB0YWtlIHRoZSBm b3JtIG9mIHNvbWUgRGV2aWNle1JwbSxQbX0gdHJhaXQgdG8KaW1wbGVtZW50IGZvciB5b3VyIFh4 eERldmljZURhdGEgKFh4eCBiZWluZyB0aGUgYnVzIHVuZGVyIHdoaWNoIGlzCmRldmljZSBpcykg b2JqZWN0IChzaW5jZSBJJ3ZlIG9ubHkgcmVjZW50bHkgam9pbmVkIHRoZSBSNEwgZWZmb3J0LCBJ CndvdWxkbid0IGJlIHN1cnByaXNlZCBpZiB3aGF0IEknbSBkZXNjcmliaW5nIGFscmVhZHkgZXhp c3RzIG9yIGlzCmN1cnJlbnRseSBiZWluZyBwcm9wb3NlZC9yZXZpZXdlZCBzb21ld2hlcmUsIHNv IHBsZWFzZSBleGN1c2UgbXkKaWdub3JhbmNlIGlmIHRoYXQncyB0aGUgY2FzZSA6LSkpLgoKVGhl IHdheSBJIHNlZSBpdCwgcmF0aGVyIHRoYW4gaGF2aW5nIG9uZSBlbnVtIHBlciBjbGsvcmVndWxh dG9yL3h4eAp3aGVyZSB3ZSBrZWVwIHRyYWNrIG9mIGVhY2ggc3RhdGUgaW5kaXZpZHVhbGx5LCB3 aGF0IHdlIGNvdWxkIGhhdmUgaXMgYQoKdHJhaXQgRGV2aWNlUG0gewoJdHlwZSBSZXN1bWVkU3Rh dGU7Cgl0eXBlIFN1c3BlbmRlZFN0YXRlOwoKCWZuIHJlc3VtZSgmc2VsZiwgc3RhdGU6IFN1c3Bl bmRlZFN0YXRlKSAtPiBSZXN1bHQ8UmVzdW1lZFN0YXRlLCBFcnJvcjxTdXNwZW5kZWRTdGF0ZT4+ OwoJZm4gc3VzcGVuZCgmc2VsZiwgc3RhdGU6IFN1c3BlbmRlZFN0YXRlKSAtPiBSZXN1bHQ8U3Vz cGVuZGVkU3RhdGUsIEVycm9yPFJlc3VtZWRTdGF0ZT4+Owp9OwoKZW51bSBEZXZpY2VTdGF0ZTxU OiBEZXZpY2VQbT4gewoJUmVzdW1lZChUOjpSZXN1bWVkU3RhdGUpLAoJU3VzcGVuZGVkKFQ6OlN1 c3BlbmRlZFN0YXRlKSwKfTsKCmFuZCB0aGVuIGluIHlvdXIgZHJpdmVyOgoKTXlTdXNwZW5kZWRE ZXZpY2VSZXNvdXJjZXMgewoJeHh4X2NsazogQ2xrPFVucHJlcGFyZWQ+LAp9OwoKTXlSZXN1bWVk RGV2aWNlUmVzb3VyY2VzIHsKCXh4eF9jbGs6IENsazxFbmFibGVkPiwKfTsKCmltcGxlbSBEZXZp Y2VQbSBmb3IgTXlEZXZpY2UgewoJdHlwZSBSZXN1bWVkU3RhdGUgPSBNeVJlc3VtZWREZXZpY2VS ZXNvdXJjZXM7Cgl0eXBlIFN1c3BlbmRlZFN0YXRlID0gTXlTdXNwZW5kZWREZXZpY2VSZXNvdXJj ZXM7CgoJZm4gcmVzdW1lKCZzZWxmLCBzdGF0ZTogU3VzcGVuZGVkU3RhdGUpIC0+IFJlc3VsdDxS ZXN1bWVkU3RhdGUsIEVycm9yPFN1c3BlbmRlZFN0YXRlPj4gewoJCS8vIEZJWE1FOiBlcnJvciBw cm9wYWdhdGlvbiBub3QgaGFuZGxlZAoJCWxldCBlbmFibGVkX2NsayA9IHN0YXRlLnh4eF9jbGsu Y2xvbmUoKS5wcmVwYXJlKCk/LmVuYWJsZSgpPzsKCgkJT2soUmVzdW1lZFN0YXRlIHsKCQkJeHh4 X2NsazogZW5hYmxlZF9jbGssCgkJfSk7Cgl9CgoJZm4gc3VzcGVuZCgmc2VsZiwgc3RhdGU6IFJl c3VtZWRTdGF0ZSkgLT4gUmVzdWx0PFN1c3BlbmRlZFN0YXRlLCBFcnJvcjxSZXN1bWVkU3RhdGU+ PiB7CgkJLy8gRklYTUU6IGVycm9yIHByb3BhZ2F0aW9uIG5vdCBoYW5kbGVkCgkJbGV0IHVucHJl cF9jbGsgPSBzdGF0ZS54eHhfY2xrLmNsb25lKCkuZGlzYWJsZSgpLnVucHJlcGFyZSgpOwoKCQlP ayhTdXNwZW5kZWRTdGF0ZSB7CgkJCXh4eF9jbGs6IHVucHJlcF9jbGssCgkJfSk7Cgl9Cn07CgpX aXRoIHRoaXMgbW9kZWwsIEkgZG9uJ3QgdGhpbmsgRGFuaWVsJ3MgcmVmYWN0b3IgZ29lcyBpbiB0 aGUgd2F5IG9mIG1vcmUKZ2VuZXJhbGl6YXRpb24gYXQgdGhlIGNvcmUgbGV2ZWwsIGl0J3MganVz dCBleHByZXNzZWQgZGlmZmVyZW50bHkgdGhhbgppdCB3b3VsZCBiZSBpZiBpdCB3YXMgd3JpdHRl biBpbiBDLiBBbmQgSSBzYXkgdGhhdCBhcyBzb21lb25lIHdobyBzdHJ1Z2dsZXMKd2l0aCBoaXMg QyBkZXZlbG9wZXIgYmlhcyBldmVyeSB0aW1lIEknbSBsb29raW5nIGF0IG9yIHRyeWluZyB0byB3 cml0ZQpydXN0IGNvZGUuCgpBcyBvdGhlcnMgaGF2ZSBzYWlkIGluIHRoaXMgdGhyZWFkIChEYW5p bG8gYW5kIEdhcnkpLCBhbmQgYWZ0ZXIgaGF2aW5nCnBsYXllZCBteXNlbGYgd2l0aCBib3RoIGFw cHJvYWNoZXMgaW4gVHlyLCBJIGRvIHNlZSB0aGlzIHNoaWZ0IGZyb20gbWFudWFsCnByZXBhcmUv ZW5hYmxlIHRvIGFuIFJBSUkgYXBwcm9hY2ggYXMgYW4gaW1wcm92ZW1lbnQsIHNvIEkgaG9wZSB3 ZSBjYW4KZmluZCBhIG1pZGRsZS1ncm91bmQgd2hlcmUgZXZlcnkgb25lIGlzIGhhcHB5LgoKUmVn YXJkcywKCkJvcmlzCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJp c2N2Cg==