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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 619A9CD3439 for ; Wed, 6 May 2026 21:52:38 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C20D310EEC1; Wed, 6 May 2026 21:52:37 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="gC5RhkgC"; dkim-atps=neutral Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0FC4C10EEC1 for ; Wed, 6 May 2026 21:52:36 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id EA0B8443A4; Wed, 6 May 2026 21:52:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8F895C2BCC4; Wed, 6 May 2026 21:52:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778104355; bh=m18eL326a7UxUeaBlXTJIluWa9nCNdGX1vUvh9wtta0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gC5RhkgCZ4uSciap4Gdmes8vQkh6xOPhU3t/32U8eLWQV0RGuOamnXUIktg8PowjD Q5oqLDR5MoYtPGb6p5PjE+QQ9Xf1BT2se5I6G5X3cebQ3XJO5E6xqWGaN+DpVnY5PZ b8hIMezDszOO51yDROv1JwrY5jkEsuXNxIWBun/22m2CmbBRhNpU5UuMABVvRXb9x2 ggAbH+zey0RsUnuB04/VeO7nch0UcmmkztzlhLqksJRBhAwT2LfbQb8pXR8k3SWJlG lLOPIU9LA0e0cUQpi4muYxy4pEP9LGw5JgxDmn/in9FV9Dt13coh+PFIqidriBGxpp fWcAtJKX2rybA== From: Danilo Krummrich To: gregkh@linuxfoundation.org, rafael@kernel.org, acourbot@nvidia.com, aliceryhl@google.com, david.m.ertman@intel.com, ira.weiny@intel.com, leon@kernel.org, viresh.kumar@linaro.org, m.wilczynski@samsung.com, ukleinek@kernel.org, bhelgaas@google.com, kwilczynski@kernel.org, abdiel.janulgue@gmail.com, robin.murphy@arm.com, markus.probst@posteo.de, ojeda@kernel.org, boqun@kernel.org, gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org, a.hindborg@kernel.org, tmgross@umich.edu, igor.korotin@linux.dev, daniel.almeida@collabora.com Cc: driver-core@lists.linux.dev, linux-kernel@vger.kernel.org, nova-gpu@lists.linux.dev, dri-devel@lists.freedesktop.org, linux-pm@vger.kernel.org, linux-pwm@vger.kernel.org, linux-pci@vger.kernel.org, rust-for-linux@vger.kernel.org, Danilo Krummrich Subject: [PATCH v2 11/25] rust: platform: make Driver trait lifetime-parameterized Date: Wed, 6 May 2026 23:50:47 +0200 Message-ID: <20260506215113.851360-12-dakr@kernel.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260506215113.851360-1-dakr@kernel.org> References: <20260506215113.851360-1-dakr@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" TWFrZSBwbGF0Zm9ybTo6RHJpdmVyIHRha2UgYSBsaWZldGltZSBwYXJhbWV0ZXIgJ2JvdW5kIHRo YXQgdGllcyBkZXZpY2UKcmVzb3VyY2VzIHRvIHRoZSBiaW5kaW5nIHNjb3BlLgoKSW50ZXJuYWxs eSwgQWRhcHRlcjxUOiBEcml2ZXI+IGJlY29tZXMgQWRhcHRlcjxGOiBGb3JMdD4gd2l0aCBhIGJv dW5kCmZvcjwnYm91bmQ+IEY6Ok9mPCdib3VuZD46IERyaXZlcjwnYm91bmQ+OyBtb2R1bGVfcGxh dGZvcm1fZHJpdmVyISB3cmFwcwp0aGUgZHJpdmVyIHR5cGUgaW4gRm9yTHQhKCkgc28gZHJpdmVy cyBkb24ndCBoYXZlIHRvLgoKQWNrZWQtYnk6IFV3ZSBLbGVpbmUtS8O2bmlnIDx1a2xlaW5la0Br ZXJuZWwub3JnPgpTaWduZWQtb2ZmLWJ5OiBEYW5pbG8gS3J1bW1yaWNoIDxkYWtyQGtlcm5lbC5v cmc+Ci0tLQogZHJpdmVycy9jcHVmcmVxL3JjcHVmcmVxX2R0LnJzICAgICAgIHwgMTAgKy0tCiBk cml2ZXJzL2dwdS9kcm0vdHlyL2RyaXZlci5ycyAgICAgICAgfCAxMCArLS0KIGRyaXZlcnMvcHdt L3B3bV90aDE1MjAucnMgICAgICAgICAgICB8IDEwICstLQogcnVzdC9rZXJuZWwvY3B1ZnJlcS5y cyAgICAgICAgICAgICAgIHwgIDggKy0tCiBydXN0L2tlcm5lbC9kcml2ZXIucnMgICAgICAgICAg ICAgICAgfCAgOSArKy0KIHJ1c3Qva2VybmVsL2lvL21lbS5ycyAgICAgICAgICAgICAgICB8IDE2 ICsrLS0tCiBydXN0L2tlcm5lbC9wbGF0Zm9ybS5ycyAgICAgICAgICAgICAgfCA5MyArKysrKysr KysrKysrKysrKystLS0tLS0tLS0tCiBzYW1wbGVzL3J1c3QvcnVzdF9kZWJ1Z2ZzLnJzICAgICAg ICAgfCAxMCArLS0KIHNhbXBsZXMvcnVzdC9ydXN0X2RyaXZlcl9wbGF0Zm9ybS5ycyB8IDEyICsr LS0KIHNhbXBsZXMvcnVzdC9ydXN0X2kyY19jbGllbnQucnMgICAgICB8IDEyICsrLS0KIHNhbXBs ZXMvcnVzdC9ydXN0X3NvYy5ycyAgICAgICAgICAgICB8IDEyICsrLS0KIDExIGZpbGVzIGNoYW5n ZWQsIDExNyBpbnNlcnRpb25zKCspLCA4NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2NwdWZyZXEvcmNwdWZyZXFfZHQucnMgYi9kcml2ZXJzL2NwdWZyZXEvcmNwdWZyZXFfZHQu cnMKaW5kZXggZjE3YmY2NGMyMmUyLi5mMGFkMmQxMTVjZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Y3B1ZnJlcS9yY3B1ZnJlcV9kdC5ycworKysgYi9kcml2ZXJzL2NwdWZyZXEvcmNwdWZyZXFfZHQu cnMKQEAgLTE5NSwxOCArMTk1LDE4IEBAIGZuIHJlZ2lzdGVyX2VtKHBvbGljeTogJm11dCBjcHVm cmVxOjpQb2xpY3kpIHsKIGtlcm5lbDo6b2ZfZGV2aWNlX3RhYmxlISgKICAgICBPRl9UQUJMRSwK ICAgICBNT0RVTEVfT0ZfVEFCTEUsCi0gICAgPENQVUZyZXFEVERyaXZlciBhcyBwbGF0Zm9ybTo6 RHJpdmVyPjo6SWRJbmZvLAorICAgIDxDUFVGcmVxRFREcml2ZXIgYXMgcGxhdGZvcm06OkRyaXZl cjwnXz4+OjpJZEluZm8sCiAgICAgWyhvZjo6RGV2aWNlSWQ6Om5ldyhjIm9wZXJhdGluZy1wb2lu dHMtdjIiKSwgKCkpXQogKTsKIAotaW1wbCBwbGF0Zm9ybTo6RHJpdmVyIGZvciBDUFVGcmVxRFRE cml2ZXIgeworaW1wbDwnYm91bmQ+IHBsYXRmb3JtOjpEcml2ZXI8J2JvdW5kPiBmb3IgQ1BVRnJl cURURHJpdmVyIHsKICAgICB0eXBlIElkSW5mbyA9ICgpOwogICAgIGNvbnN0IE9GX0lEX1RBQkxF OiBPcHRpb248b2Y6OklkVGFibGU8U2VsZjo6SWRJbmZvPj4gPSBTb21lKCZPRl9UQUJMRSk7CiAK ICAgICBmbiBwcm9iZSgKLSAgICAgICAgcGRldjogJnBsYXRmb3JtOjpEZXZpY2U8Q29yZT4sCi0g ICAgICAgIF9pZF9pbmZvOiBPcHRpb248JlNlbGY6OklkSW5mbz4sCi0gICAgKSAtPiBpbXBsIFBp bkluaXQ8U2VsZiwgRXJyb3I+IHsKKyAgICAgICAgcGRldjogJidib3VuZCBwbGF0Zm9ybTo6RGV2 aWNlPENvcmU+LAorICAgICAgICBfaWRfaW5mbzogT3B0aW9uPCYnYm91bmQgU2VsZjo6SWRJbmZv PiwKKyAgICApIC0+IGltcGwgUGluSW5pdDxTZWxmLCBFcnJvcj4gKyAnYm91bmQgewogICAgICAg ICBjcHVmcmVxOjpSZWdpc3RyYXRpb246OjxDUFVGcmVxRFREcml2ZXI+OjpuZXdfZm9yZWlnbl9v d25lZChwZGV2LmFzX3JlZigpKT87CiAgICAgICAgIE9rKFNlbGYge30pCiAgICAgfQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3R5ci9kcml2ZXIucnMgYi9kcml2ZXJzL2dwdS9kcm0vdHly L2RyaXZlci5ycwppbmRleCAyNzk3MTBiMzZhMTAuLjk2ZDgzNjA1ZTRiOSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3R5ci9kcml2ZXIucnMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3R5ci9k cml2ZXIucnMKQEAgLTgyLDIxICs4MiwyMSBAQCBmbiBpc3N1ZV9zb2Z0X3Jlc2V0KGRldjogJkRl dmljZTxCb3VuZD4sIGlvbWVtOiAmRGV2cmVzPElvTWVtPikgLT4gUmVzdWx0IHsKIGtlcm5lbDo6 b2ZfZGV2aWNlX3RhYmxlISgKICAgICBPRl9UQUJMRSwKICAgICBNT0RVTEVfT0ZfVEFCTEUsCi0g ICAgPFR5clBsYXRmb3JtRHJpdmVyRGF0YSBhcyBwbGF0Zm9ybTo6RHJpdmVyPjo6SWRJbmZvLAor ICAgIDxUeXJQbGF0Zm9ybURyaXZlckRhdGEgYXMgcGxhdGZvcm06OkRyaXZlcjwnXz4+OjpJZElu Zm8sCiAgICAgWwogICAgICAgICAob2Y6OkRldmljZUlkOjpuZXcoYyJyb2NrY2hpcCxyazM1ODgt bWFsaSIpLCAoKSksCiAgICAgICAgIChvZjo6RGV2aWNlSWQ6Om5ldyhjImFybSxtYWxpLXZhbGhh bGwtY3NmIiksICgpKQogICAgIF0KICk7CiAKLWltcGwgcGxhdGZvcm06OkRyaXZlciBmb3IgVHly UGxhdGZvcm1Ecml2ZXJEYXRhIHsKK2ltcGw8J2JvdW5kPiBwbGF0Zm9ybTo6RHJpdmVyPCdib3Vu ZD4gZm9yIFR5clBsYXRmb3JtRHJpdmVyRGF0YSB7CiAgICAgdHlwZSBJZEluZm8gPSAoKTsKICAg ICBjb25zdCBPRl9JRF9UQUJMRTogT3B0aW9uPG9mOjpJZFRhYmxlPFNlbGY6OklkSW5mbz4+ID0g U29tZSgmT0ZfVEFCTEUpOwogCiAgICAgZm4gcHJvYmUoCi0gICAgICAgIHBkZXY6ICZwbGF0Zm9y bTo6RGV2aWNlPENvcmU+LAotICAgICAgICBfaW5mbzogT3B0aW9uPCZTZWxmOjpJZEluZm8+LAot ICAgICkgLT4gaW1wbCBQaW5Jbml0PFNlbGYsIEVycm9yPiB7CisgICAgICAgIHBkZXY6ICYnYm91 bmQgcGxhdGZvcm06OkRldmljZTxDb3JlPiwKKyAgICAgICAgX2luZm86IE9wdGlvbjwmJ2JvdW5k IFNlbGY6OklkSW5mbz4sCisgICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+ICsgJ2Jv dW5kIHsKICAgICAgICAgbGV0IGNvcmVfY2xrID0gQ2xrOjpnZXQocGRldi5hc19yZWYoKSwgU29t ZShjImNvcmUiKSk/OwogICAgICAgICBsZXQgc3RhY2tzX2NsayA9IE9wdGlvbmFsQ2xrOjpnZXQo cGRldi5hc19yZWYoKSwgU29tZShjInN0YWNrcyIpKT87CiAgICAgICAgIGxldCBjb3JlZ3JvdXBf Y2xrID0gT3B0aW9uYWxDbGs6OmdldChwZGV2LmFzX3JlZigpLCBTb21lKGMiY29yZWdyb3VwIikp PzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvcHdtL3B3bV90aDE1MjAucnMgYi9kcml2ZXJzL3B3bS9w d21fdGgxNTIwLnJzCmluZGV4IGRkZDQ0YTVjZTQ5Ny4uYTc4MzFiNGViZTAwIDEwMDY0NAotLS0g YS9kcml2ZXJzL3B3bS9wd21fdGgxNTIwLnJzCisrKyBiL2RyaXZlcnMvcHdtL3B3bV90aDE1MjAu cnMKQEAgLTMxMCwxOCArMzEwLDE4IEBAIGZuIGRyb3Aoc2VsZjogUGluPCZtdXQgU2VsZj4pIHsK IGtlcm5lbDo6b2ZfZGV2aWNlX3RhYmxlISgKICAgICBPRl9UQUJMRSwKICAgICBNT0RVTEVfT0Zf VEFCTEUsCi0gICAgPFRoMTUyMFB3bVBsYXRmb3JtRHJpdmVyIGFzIHBsYXRmb3JtOjpEcml2ZXI+ OjpJZEluZm8sCisgICAgPFRoMTUyMFB3bVBsYXRmb3JtRHJpdmVyIGFzIHBsYXRmb3JtOjpEcml2 ZXI8J18+Pjo6SWRJbmZvLAogICAgIFsob2Y6OkRldmljZUlkOjpuZXcoYyJ0aGVhZCx0aDE1MjAt cHdtIiksICgpKV0KICk7CiAKLWltcGwgcGxhdGZvcm06OkRyaXZlciBmb3IgVGgxNTIwUHdtUGxh dGZvcm1Ecml2ZXIgeworaW1wbDwnYm91bmQ+IHBsYXRmb3JtOjpEcml2ZXI8J2JvdW5kPiBmb3Ig VGgxNTIwUHdtUGxhdGZvcm1Ecml2ZXIgewogICAgIHR5cGUgSWRJbmZvID0gKCk7CiAgICAgY29u c3QgT0ZfSURfVEFCTEU6IE9wdGlvbjxvZjo6SWRUYWJsZTxTZWxmOjpJZEluZm8+PiA9IFNvbWUo Jk9GX1RBQkxFKTsKIAogICAgIGZuIHByb2JlKAotICAgICAgICBwZGV2OiAmcGxhdGZvcm06OkRl dmljZTxDb3JlPiwKLSAgICAgICAgX2lkX2luZm86IE9wdGlvbjwmU2VsZjo6SWRJbmZvPiwKLSAg ICApIC0+IGltcGwgUGluSW5pdDxTZWxmLCBFcnJvcj4geworICAgICAgICBwZGV2OiAmJ2JvdW5k IHBsYXRmb3JtOjpEZXZpY2U8Q29yZT4sCisgICAgICAgIF9pZF9pbmZvOiBPcHRpb248Jidib3Vu ZCBTZWxmOjpJZEluZm8+LAorICAgICkgLT4gaW1wbCBQaW5Jbml0PFNlbGYsIEVycm9yPiArICdi b3VuZCB7CiAgICAgICAgIGxldCBkZXYgPSBwZGV2LmFzX3JlZigpOwogICAgICAgICBsZXQgcmVx dWVzdCA9IHBkZXYuaW9fcmVxdWVzdF9ieV9pbmRleCgwKS5va19vcihFTk9ERVYpPzsKIApkaWZm IC0tZ2l0IGEvcnVzdC9rZXJuZWwvY3B1ZnJlcS5ycyBiL3J1c3Qva2VybmVsL2NwdWZyZXEucnMK aW5kZXggZDhkMjY4NzBiZWEyLi5hYzU5Y2RmZDYzM2MgMTAwNjQ0Ci0tLSBhL3J1c3Qva2VybmVs L2NwdWZyZXEucnMKKysrIGIvcnVzdC9rZXJuZWwvY3B1ZnJlcS5ycwpAQCAtODg2LDE0ICs4ODYs MTQgQEAgZm4gcmVnaXN0ZXJfZW0oX3BvbGljeTogJm11dCBQb2xpY3kpIHsKIC8vLyAgICAgfQog Ly8vIH0KIC8vLwotLy8vIGltcGwgcGxhdGZvcm06OkRyaXZlciBmb3IgU2FtcGxlRHJpdmVyIHsK Ky8vLyBpbXBsPCdhPiBwbGF0Zm9ybTo6RHJpdmVyPCdhPiBmb3IgU2FtcGxlRHJpdmVyIHsKIC8v LyAgICAgdHlwZSBJZEluZm8gPSAoKTsKIC8vLyAgICAgY29uc3QgT0ZfSURfVEFCTEU6IE9wdGlv bjxvZjo6SWRUYWJsZTxTZWxmOjpJZEluZm8+PiA9IE5vbmU7CiAvLy8KIC8vLyAgICAgZm4gcHJv YmUoCi0vLy8gICAgICAgICBwZGV2OiAmcGxhdGZvcm06OkRldmljZTxDb3JlPiwKLS8vLyAgICAg ICAgIF9pZF9pbmZvOiBPcHRpb248JlNlbGY6OklkSW5mbz4sCi0vLy8gICAgICkgLT4gaW1wbCBQ aW5Jbml0PFNlbGYsIEVycm9yPiB7CisvLy8gICAgICAgICBwZGV2OiAmJ2EgcGxhdGZvcm06OkRl dmljZTxDb3JlPiwKKy8vLyAgICAgICAgIF9pZF9pbmZvOiBPcHRpb248JidhIFNlbGY6OklkSW5m bz4sCisvLy8gICAgICkgLT4gaW1wbCBQaW5Jbml0PFNlbGYsIEVycm9yPiArICdhIHsKIC8vLyAg ICAgICAgIGNwdWZyZXE6OlJlZ2lzdHJhdGlvbjo6PFNhbXBsZURyaXZlcj46Om5ld19mb3JlaWdu X293bmVkKHBkZXYuYXNfcmVmKCkpPzsKIC8vLyAgICAgICAgIE9rKFNlbGYge30pCiAvLy8gICAg IH0KZGlmZiAtLWdpdCBhL3J1c3Qva2VybmVsL2RyaXZlci5ycyBiL3J1c3Qva2VybmVsL2RyaXZl ci5ycwppbmRleCBlNDYyNTM1ZjU0NWQuLjdjNTE0ODc3MjY5NyAxMDA2NDQKLS0tIGEvcnVzdC9r ZXJuZWwvZHJpdmVyLnJzCisrKyBiL3J1c3Qva2VybmVsL2RyaXZlci5ycwpAQCAtMTMsNyArMTMs NyBAQAogLy8hIFRoZSBtYWluIGRyaXZlciBpbnRlcmZhY2UgaXMgZGVmaW5lZCBieSBhIGJ1cyBz cGVjaWZpYyBkcml2ZXIgdHJhaXQuIEZvciBpbnN0YW5jZToKIC8vIQogLy8hIGBgYGlnbm9yZQot Ly8hIHB1YiB0cmFpdCBEcml2ZXI6IFNlbmQgeworLy8hIHB1YiB0cmFpdCBEcml2ZXI8J2JvdW5k PjogU2VuZCB7CiAvLyEgICAgIC8vLyBUaGUgdHlwZSBob2xkaW5nIGluZm9ybWF0aW9uIGFib3V0 IGVhY2ggZGV2aWNlIElEIHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyLgogLy8hICAgICB0eXBlIElk SW5mbzogJ3N0YXRpYzsKIC8vIQpAQCAtMjQsMTAgKzI0LDEzIEBACiAvLyEgICAgIGNvbnN0IEFD UElfSURfVEFCTEU6IE9wdGlvbjxhY3BpOjpJZFRhYmxlPFNlbGY6OklkSW5mbz4+ID0gTm9uZTsK IC8vIQogLy8hICAgICAvLy8gRHJpdmVyIHByb2JlLgotLy8hICAgICBmbiBwcm9iZShkZXY6ICZE ZXZpY2U8ZGV2aWNlOjpDb3JlPiwgaWRfaW5mbzogJlNlbGY6OklkSW5mbykgLT4gaW1wbCBQaW5J bml0PFNlbGYsIEVycm9yPjsKKy8vISAgICAgZm4gcHJvYmUoCisvLyEgICAgICAgICBkZXY6ICYn Ym91bmQgRGV2aWNlPGRldmljZTo6Q29yZT4sCisvLyEgICAgICAgICBpZF9pbmZvOiAmJ2JvdW5k IFNlbGY6OklkSW5mbywKKy8vISAgICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+ICsg J2JvdW5kOwogLy8hCiAvLyEgICAgIC8vLyBEcml2ZXIgdW5iaW5kIChvcHRpb25hbCkuCi0vLyEg ICAgIGZuIHVuYmluZChkZXY6ICZEZXZpY2U8ZGV2aWNlOjpDb3JlPiwgdGhpczogUGluPCZTZWxm PikgeworLy8hICAgICBmbiB1bmJpbmQoZGV2OiAmJ2JvdW5kIERldmljZTxkZXZpY2U6OkNvcmU+ LCB0aGlzOiBQaW48Jidib3VuZCBTZWxmPikgewogLy8hICAgICAgICAgbGV0IF8gPSAoZGV2LCB0 aGlzKTsKIC8vISAgICAgfQogLy8hIH0KZGlmZiAtLWdpdCBhL3J1c3Qva2VybmVsL2lvL21lbS5y cyBiL3J1c3Qva2VybmVsL2lvL21lbS5ycwppbmRleCA3ZGM3OGQ1NDdmN2EuLmZkNTI5MmRmNTg3 MCAxMDA2NDQKLS0tIGEvcnVzdC9rZXJuZWwvaW8vbWVtLnJzCisrKyBiL3J1c3Qva2VybmVsL2lv L21lbS5ycwpAQCAtNjAsMTMgKzYwLDEzIEBAIHB1YihjcmF0ZSkgdW5zYWZlIGZuIG5ldyhkZXZp Y2U6ICYnYSBEZXZpY2U8Qm91bmQ+LCByZXNvdXJjZTogJidhIFJlc291cmNlKSAtPiBTCiAgICAg Ly8vIH07CiAgICAgLy8vIHN0cnVjdCBTYW1wbGVEcml2ZXI7CiAgICAgLy8vCi0gICAgLy8vIGlt cGwgcGxhdGZvcm06OkRyaXZlciBmb3IgU2FtcGxlRHJpdmVyIHsKKyAgICAvLy8gaW1wbDwnYm91 bmQ+IHBsYXRmb3JtOjpEcml2ZXI8J2JvdW5kPiBmb3IgU2FtcGxlRHJpdmVyIHsKICAgICAvLy8g ICAgIyB0eXBlIElkSW5mbyA9ICgpOwogICAgIC8vLwogICAgIC8vLyAgICBmbiBwcm9iZSgKLSAg ICAvLy8gICAgICAgcGRldjogJnBsYXRmb3JtOjpEZXZpY2U8Q29yZT4sCi0gICAgLy8vICAgICAg IGluZm86IE9wdGlvbjwmU2VsZjo6SWRJbmZvPiwKLSAgICAvLy8gICAgKSAtPiBpbXBsIFBpbklu aXQ8U2VsZiwgRXJyb3I+IHsKKyAgICAvLy8gICAgICAgcGRldjogJidib3VuZCBwbGF0Zm9ybTo6 RGV2aWNlPENvcmU+LAorICAgIC8vLyAgICAgICBpbmZvOiBPcHRpb248Jidib3VuZCBTZWxmOjpJ ZEluZm8+LAorICAgIC8vLyAgICApIC0+IGltcGwgUGluSW5pdDxTZWxmLCBFcnJvcj4gKyAnYm91 bmQgewogICAgIC8vLyAgICAgICBsZXQgb2Zmc2V0ID0gMDsgLy8gU29tZSBvZmZzZXQuCiAgICAg Ly8vCiAgICAgLy8vICAgICAgIC8vIElmIHRoZSBzaXplIGlzIGtub3duIGF0IGNvbXBpbGUgdGlt ZSwgdXNlIFtgU2VsZjo6aW9tYXBfc2l6ZWRgXS4KQEAgLTEyNCwxMyArMTI0LDEzIEBAIHB1YiBm biBpb21hcF9leGNsdXNpdmVfc2l6ZWQ8Y29uc3QgU0laRTogdXNpemU+KAogICAgIC8vLyB9Owog ICAgIC8vLyBzdHJ1Y3QgU2FtcGxlRHJpdmVyOwogICAgIC8vLwotICAgIC8vLyBpbXBsIHBsYXRm b3JtOjpEcml2ZXIgZm9yIFNhbXBsZURyaXZlciB7CisgICAgLy8vIGltcGw8J2JvdW5kPiBwbGF0 Zm9ybTo6RHJpdmVyPCdib3VuZD4gZm9yIFNhbXBsZURyaXZlciB7CiAgICAgLy8vICAgICMgdHlw ZSBJZEluZm8gPSAoKTsKICAgICAvLy8KICAgICAvLy8gICAgZm4gcHJvYmUoCi0gICAgLy8vICAg ICAgIHBkZXY6ICZwbGF0Zm9ybTo6RGV2aWNlPENvcmU+LAotICAgIC8vLyAgICAgICBpbmZvOiBP cHRpb248JlNlbGY6OklkSW5mbz4sCi0gICAgLy8vICAgICkgLT4gaW1wbCBQaW5Jbml0PFNlbGYs IEVycm9yPiB7CisgICAgLy8vICAgICAgIHBkZXY6ICYnYm91bmQgcGxhdGZvcm06OkRldmljZTxD b3JlPiwKKyAgICAvLy8gICAgICAgaW5mbzogT3B0aW9uPCYnYm91bmQgU2VsZjo6SWRJbmZvPiwK KyAgICAvLy8gICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+ICsgJ2JvdW5kIHsKICAg ICAvLy8gICAgICAgbGV0IG9mZnNldCA9IDA7IC8vIFNvbWUgb2Zmc2V0LgogICAgIC8vLwogICAg IC8vLyAgICAgICAvLyBVbmxpa2UgW2BTZWxmOjppb21hcF9zaXplZGBdLCBoZXJlIHRoZSBzaXpl IG9mIHRoZSBtZW1vcnkgcmVnaW9uCmRpZmYgLS1naXQgYS9ydXN0L2tlcm5lbC9wbGF0Zm9ybS5y cyBiL3J1c3Qva2VybmVsL3BsYXRmb3JtLnJzCmluZGV4IGFlYzI2MzA3YWU2OC4uOTk1OTM2NDQy OWI1IDEwMDY0NAotLS0gYS9ydXN0L2tlcm5lbC9wbGF0Zm9ybS5ycworKysgYi9ydXN0L2tlcm5l bC9wbGF0Zm9ybS5ycwpAQCAtNDQsMzMgKzQ0LDQ2IEBACiB9OwogCiAvLy8gQW4gYWRhcHRlciBm b3IgdGhlIHJlZ2lzdHJhdGlvbiBvZiBwbGF0Zm9ybSBkcml2ZXJzLgotcHViIHN0cnVjdCBBZGFw dGVyPFQ6IERyaXZlcj4oVCk7CisvLy8KKy8vLyBgRmAgaXMgYSBbYEZvckx0YF0odHJhaXRARm9y THQpIHR5cGUgdGhhdCBtYXBzIGxpZmV0aW1lcyB0byB0aGUgZHJpdmVyJ3MgZGV2aWNlCisvLy8g cHJpdmF0ZSBkYXRhIHR5cGUsIGkuZS4gYEY6Ok9mPCdib3VuZD5gIGlzIHRoZSBkcml2ZXIgc3Ry dWN0CisvLy8gcGFyYW1ldGVyaXplZCBieSBgJ2JvdW5kYC4gVGhlIG1hY3JvIGBtb2R1bGVfcGxh dGZvcm1fZHJpdmVyIWAKKy8vLyBnZW5lcmF0ZXMgdGhpcyBhdXRvbWF0aWNhbGx5IHZpYSBgRm9y THQhKClgLgorcHViIHN0cnVjdCBBZGFwdGVyPEY+KFBoYW50b21EYXRhPEY+KTsKIAogLy8gU0FG RVRZOgogLy8gLSBgYmluZGluZ3M6OnBsYXRmb3JtX2RyaXZlcmAgaXMgYSBDIHR5cGUgZGVjbGFy ZWQgYXMgYHJlcHIoQylgLgotLy8gLSBgVGAgaXMgdGhlIHR5cGUgb2YgdGhlIGRyaXZlcidzIGRl dmljZSBwcml2YXRlIGRhdGEuCisvLyAtIGBGOjpPZjwnc3RhdGljPmAgaXMgdGhlIHN0b3JlZCB0 eXBlIG9mIHRoZSBkcml2ZXIncyBkZXZpY2UgcHJpdmF0ZSBkYXRhLgogLy8gLSBgc3RydWN0IHBs YXRmb3JtX2RyaXZlcmAgZW1iZWRzIGEgYHN0cnVjdCBkZXZpY2VfZHJpdmVyYC4KIC8vIC0gYERF VklDRV9EUklWRVJfT0ZGU0VUYCBpcyB0aGUgY29ycmVjdCBieXRlIG9mZnNldCB0byB0aGUgZW1i ZWRkZWQgYHN0cnVjdCBkZXZpY2VfZHJpdmVyYC4KLXVuc2FmZSBpbXBsPFQ6IERyaXZlciArICdz dGF0aWM+IGRyaXZlcjo6RHJpdmVyTGF5b3V0IGZvciBBZGFwdGVyPFQ+IHsKK3Vuc2FmZSBpbXBs PEY+IGRyaXZlcjo6RHJpdmVyTGF5b3V0IGZvciBBZGFwdGVyPEY+Cit3aGVyZQorICAgIEY6IEZv ckx0ICsgJ3N0YXRpYywKKyAgICBmb3I8J2JvdW5kPiBGOjpPZjwnYm91bmQ+OiBEcml2ZXI8J2Jv dW5kPiwKK3sKICAgICB0eXBlIERyaXZlclR5cGUgPSBiaW5kaW5nczo6cGxhdGZvcm1fZHJpdmVy OwotICAgIHR5cGUgRHJpdmVyRGF0YSA9IEZvckx0IShUKTsKKyAgICB0eXBlIERyaXZlckRhdGEg PSBGOwogICAgIGNvbnN0IERFVklDRV9EUklWRVJfT0ZGU0VUOiB1c2l6ZSA9IGNvcmU6Om1lbTo6 b2Zmc2V0X29mIShTZWxmOjpEcml2ZXJUeXBlLCBkcml2ZXIpOwogfQogCiAvLyBTQUZFVFk6IEEg Y2FsbCB0byBgdW5yZWdpc3RlcmAgZm9yIGEgZ2l2ZW4gaW5zdGFuY2Ugb2YgYERyaXZlclR5cGVg IGlzIGd1YXJhbnRlZWQgdG8gYmUgdmFsaWQgaWYKIC8vIGEgcHJlY2VkaW5nIGNhbGwgdG8gYHJl Z2lzdGVyYCBoYXMgYmVlbiBzdWNjZXNzZnVsLgotdW5zYWZlIGltcGw8VDogRHJpdmVyICsgJ3N0 YXRpYz4gZHJpdmVyOjpSZWdpc3RyYXRpb25PcHMgZm9yIEFkYXB0ZXI8VD4gewordW5zYWZlIGlt cGw8Rj4gZHJpdmVyOjpSZWdpc3RyYXRpb25PcHMgZm9yIEFkYXB0ZXI8Rj4KK3doZXJlCisgICAg RjogRm9yTHQgKyAnc3RhdGljLAorICAgIGZvcjwnYm91bmQ+IEY6Ok9mPCdib3VuZD46IERyaXZl cjwnYm91bmQ+LAorewogICAgIHVuc2FmZSBmbiByZWdpc3RlcigKICAgICAgICAgcGRydjogJk9w YXF1ZTxTZWxmOjpEcml2ZXJUeXBlPiwKICAgICAgICAgbmFtZTogJidzdGF0aWMgQ1N0ciwKICAg ICAgICAgbW9kdWxlOiAmJ3N0YXRpYyBUaGlzTW9kdWxlLAogICAgICkgLT4gUmVzdWx0IHsKLSAg ICAgICAgbGV0IG9mX3RhYmxlID0gbWF0Y2ggVDo6T0ZfSURfVEFCTEUgeworICAgICAgICBsZXQg b2ZfdGFibGUgPSBtYXRjaCA8Rjo6T2Y8J3N0YXRpYz4gYXMgRHJpdmVyPCdzdGF0aWM+Pjo6T0Zf SURfVEFCTEUgewogICAgICAgICAgICAgU29tZSh0YWJsZSkgPT4gdGFibGUuYXNfcHRyKCksCiAg ICAgICAgICAgICBOb25lID0+IGNvcmU6OnB0cjo6bnVsbCgpLAogICAgICAgICB9OwogCi0gICAg ICAgIGxldCBhY3BpX3RhYmxlID0gbWF0Y2ggVDo6QUNQSV9JRF9UQUJMRSB7CisgICAgICAgIGxl dCBhY3BpX3RhYmxlID0gbWF0Y2ggPEY6Ok9mPCdzdGF0aWM+IGFzIERyaXZlcjwnc3RhdGljPj46 OkFDUElfSURfVEFCTEUgewogICAgICAgICAgICAgU29tZSh0YWJsZSkgPT4gdGFibGUuYXNfcHRy KCksCiAgICAgICAgICAgICBOb25lID0+IGNvcmU6OnB0cjo6bnVsbCgpLAogICAgICAgICB9OwpA QCAtOTQsMTkgKzEwNywyMyBAQCB1bnNhZmUgZm4gdW5yZWdpc3RlcihwZHJ2OiAmT3BhcXVlPFNl bGY6OkRyaXZlclR5cGU+KSB7CiAgICAgfQogfQogCi1pbXBsPFQ6IERyaXZlciArICdzdGF0aWM+ IEFkYXB0ZXI8VD4geworaW1wbDxGPiBBZGFwdGVyPEY+Cit3aGVyZQorICAgIEY6IEZvckx0ICsg J3N0YXRpYywKKyAgICBmb3I8J2JvdW5kPiBGOjpPZjwnYm91bmQ+OiBEcml2ZXI8J2JvdW5kPiwK K3sKICAgICBleHRlcm4gIkMiIGZuIHByb2JlX2NhbGxiYWNrKHBkZXY6ICptdXQgYmluZGluZ3M6 OnBsYXRmb3JtX2RldmljZSkgLT4ga2VybmVsOjpmZmk6OmNfaW50IHsKICAgICAgICAgLy8gU0FG RVRZOiBUaGUgcGxhdGZvcm0gYnVzIG9ubHkgZXZlciBjYWxscyB0aGUgcHJvYmUgY2FsbGJhY2sg d2l0aCBhIHZhbGlkIHBvaW50ZXIgdG8gYQogICAgICAgICAvLyBgc3RydWN0IHBsYXRmb3JtX2Rl dmljZWAuCiAgICAgICAgIC8vCiAgICAgICAgIC8vIElOVkFSSUFOVDogYHBkZXZgIGlzIHZhbGlk IGZvciB0aGUgZHVyYXRpb24gb2YgYHByb2JlX2NhbGxiYWNrKClgLgogICAgICAgICBsZXQgcGRl diA9IHVuc2FmZSB7ICYqcGRldi5jYXN0Ojo8RGV2aWNlPGRldmljZTo6Q29yZUludGVybmFsPj4o KSB9OwotICAgICAgICBsZXQgaW5mbyA9IDxTZWxmIGFzIGRyaXZlcjo6QWRhcHRlcjwnXz4+Ojpp ZF9pbmZvKHBkZXYuYXNfcmVmKCkpOwogCiAgICAgICAgIGZyb21fcmVzdWx0KHx8IHsKLSAgICAg ICAgICAgIGxldCBkYXRhID0gVDo6cHJvYmUocGRldiwgaW5mbyk7CisgICAgICAgICAgICBsZXQg aW5mbyA9IDxTZWxmIGFzIGRyaXZlcjo6QWRhcHRlcjwnXz4+OjppZF9pbmZvKHBkZXYuYXNfcmVm KCkpOworICAgICAgICAgICAgbGV0IGRhdGEgPSA8Rjo6T2Y8J18+IGFzIERyaXZlcjwnXz4+Ojpw cm9iZShwZGV2LCBpbmZvKTsKIAotICAgICAgICAgICAgcGRldi5hc19yZWYoKS5zZXRfZHJ2ZGF0 YTo6PEZvckx0IShUKT4oZGF0YSk/OworICAgICAgICAgICAgcGRldi5hc19yZWYoKS5zZXRfZHJ2 ZGF0YTo6PEY+KGRhdGEpPzsKICAgICAgICAgICAgIE9rKDApCiAgICAgICAgIH0pCiAgICAgfQpA QCAtMTE5LDI4ICsxMzYsMzQgQEAgZXh0ZXJuICJDIiBmbiByZW1vdmVfY2FsbGJhY2socGRldjog Km11dCBiaW5kaW5nczo6cGxhdGZvcm1fZGV2aWNlKSB7CiAgICAgICAgIGxldCBwZGV2ID0gdW5z YWZlIHsgJipwZGV2LmNhc3Q6OjxEZXZpY2U8ZGV2aWNlOjpDb3JlSW50ZXJuYWw+PigpIH07CiAK ICAgICAgICAgLy8gU0FGRVRZOiBgcmVtb3ZlX2NhbGxiYWNrYCBpcyBvbmx5IGV2ZXIgY2FsbGVk IGFmdGVyIGEgc3VjY2Vzc2Z1bCBjYWxsIHRvCi0gICAgICAgIC8vIGBwcm9iZV9jYWxsYmFja2As IGhlbmNlIGl0J3MgZ3VhcmFudGVlZCB0aGF0IGBEZXZpY2U6OnNldF9kcnZkYXRhKClgIGhhcyBi ZWVuIGNhbGxlZAotICAgICAgICAvLyBhbmQgc3RvcmVkIGEgYFBpbjxLQm94PFQ+PmAuCi0gICAg ICAgIGxldCBkYXRhID0gdW5zYWZlIHsgcGRldi5hc19yZWYoKS5kcnZkYXRhX2JvcnJvdzo6PEZv ckx0IShUKT4oKSB9OworICAgICAgICAvLyBgcHJvYmVfY2FsbGJhY2tgLCBoZW5jZSBpdCdzIGd1 YXJhbnRlZWQgdGhhdCBkcnZkYXRhIGhhcyBiZWVuIHNldC4KKyAgICAgICAgbGV0IGRhdGEgPSB1 bnNhZmUgeyBwZGV2LmFzX3JlZigpLmRydmRhdGFfYm9ycm93Ojo8Rj4oKSB9OwogCi0gICAgICAg IFQ6OnVuYmluZChwZGV2LCBkYXRhKTsKKyAgICAgICAgPEY6Ok9mPCdfPiBhcyBEcml2ZXI8J18+ Pjo6dW5iaW5kKHBkZXYsIGRhdGEpOwogICAgIH0KIH0KIAotaW1wbDwnYm91bmQsIFQ6IERyaXZl ciArICdzdGF0aWM+IGRyaXZlcjo6QWRhcHRlcjwnYm91bmQ+IGZvciBBZGFwdGVyPFQ+IHsKLSAg ICB0eXBlIElkSW5mbyA9IFQ6OklkSW5mbzsKK2ltcGw8J2JvdW5kLCBGPiBkcml2ZXI6OkFkYXB0 ZXI8J2JvdW5kPiBmb3IgQWRhcHRlcjxGPgord2hlcmUKKyAgICBGOiBGb3JMdCArICdzdGF0aWMs CisgICAgZm9yPCdiPiBGOjpPZjwnYj46IERyaXZlcjwnYj4sCit7CisgICAgdHlwZSBJZEluZm8g PSA8Rjo6T2Y8J2JvdW5kPiBhcyBEcml2ZXI8J2JvdW5kPj46OklkSW5mbzsKIAogICAgIGZuIG9m X2lkX3RhYmxlKCkgLT4gT3B0aW9uPG9mOjpJZFRhYmxlPFNlbGY6OklkSW5mbz4+IHsKLSAgICAg ICAgVDo6T0ZfSURfVEFCTEUKKyAgICAgICAgPEY6Ok9mPCdib3VuZD4gYXMgRHJpdmVyPCdib3Vu ZD4+OjpPRl9JRF9UQUJMRQogICAgIH0KIAogICAgIGZuIGFjcGlfaWRfdGFibGUoKSAtPiBPcHRp b248YWNwaTo6SWRUYWJsZTxTZWxmOjpJZEluZm8+PiB7Ci0gICAgICAgIFQ6OkFDUElfSURfVEFC TEUKKyAgICAgICAgPEY6Ok9mPCdib3VuZD4gYXMgRHJpdmVyPCdib3VuZD4+OjpBQ1BJX0lEX1RB QkxFCiAgICAgfQogfQogCiAvLy8gRGVjbGFyZXMgYSBrZXJuZWwgbW9kdWxlIHRoYXQgZXhwb3Nl cyBhIHNpbmdsZSBwbGF0Zm9ybSBkcml2ZXIuCiAvLy8KKy8vLyBUaGUgYHR5cGVgIGZpZWxkIGFj Y2VwdHMgYSBkcml2ZXIgdHlwZSwgb3B0aW9uYWxseSB3aXRoIGEgbGlmZXRpbWUgcGxhY2Vob2xk ZXIgYCdfYCBmb3IKKy8vLyBsaWZldGltZS1wYXJhbWV0ZXJpemVkIGRyaXZlcnMuIFRoZSBtYWNy byB3cmFwcyBpdCBpbiBbYEZvckx0IWBdIGF1dG9tYXRpY2FsbHkuCisvLy8KIC8vLyAjIEV4YW1w bGVzCiAvLy8KIC8vLyBgYGBpZ25vcmUKQEAgLTE1MiwxMCArMTc1LDE2IEBAIGZuIGFjcGlfaWRf dGFibGUoKSAtPiBPcHRpb248YWNwaTo6SWRUYWJsZTxTZWxmOjpJZEluZm8+PiB7CiAvLy8gICAg IGxpY2Vuc2U6ICJHUEwgdjIiLAogLy8vIH0KIC8vLyBgYGAKKy8vLworLy8vIFtgRm9yTHQhYF06 IG1hY3JvQEZvckx0CisvLy8gW2BGb3JMdGBdOiB0cmFpdEBGb3JMdAogI1ttYWNyb19leHBvcnRd CiBtYWNyb19ydWxlcyEgbW9kdWxlX3BsYXRmb3JtX2RyaXZlciB7Ci0gICAgKCQoJGY6dHQpKikg PT4gewotICAgICAgICAkY3JhdGU6Om1vZHVsZV9kcml2ZXIhKDxUPiwgJGNyYXRlOjpwbGF0Zm9y bTo6QWRhcHRlcjxUPiwgeyAkKCRmKSogfSk7CisgICAgKHR5cGU6ICR0eXBlOnR5LCAkKCRyZXN0 OnR0KSopID0+IHsKKyAgICAgICAgJGNyYXRlOjptb2R1bGVfZHJpdmVyISg8VD4sICRjcmF0ZTo6 cGxhdGZvcm06OkFkYXB0ZXI8VD4sIHsKKyAgICAgICAgICAgIHR5cGU6ICRjcmF0ZTo6dHlwZXM6 OkZvckx0ISgkdHlwZSksCisgICAgICAgICAgICAkKCRyZXN0KSoKKyAgICAgICAgfSk7CiAgICAg fTsKIH0KIApAQCAtMTc4LDcgKzIwNyw3IEBAIG1hY3JvX3J1bGVzISBtb2R1bGVfcGxhdGZvcm1f ZHJpdmVyIHsKIC8vLyBrZXJuZWw6Om9mX2RldmljZV90YWJsZSEoCiAvLy8gICAgIE9GX1RBQkxF LAogLy8vICAgICBNT0RVTEVfT0ZfVEFCTEUsCi0vLy8gICAgIDxNeURyaXZlciBhcyBwbGF0Zm9y bTo6RHJpdmVyPjo6SWRJbmZvLAorLy8vICAgICA8TXlEcml2ZXIgYXMgcGxhdGZvcm06OkRyaXZl cjwnXz4+OjpJZEluZm8sCiAvLy8gICAgIFsKIC8vLyAgICAgICAgIChvZjo6RGV2aWNlSWQ6Om5l dyhjInRlc3QsZGV2aWNlIiksICgpKQogLy8vICAgICBdCkBAIC0xODcsMjYgKzIxNiwyNiBAQCBt YWNyb19ydWxlcyEgbW9kdWxlX3BsYXRmb3JtX2RyaXZlciB7CiAvLy8ga2VybmVsOjphY3BpX2Rl dmljZV90YWJsZSEoCiAvLy8gICAgIEFDUElfVEFCTEUsCiAvLy8gICAgIE1PRFVMRV9BQ1BJX1RB QkxFLAotLy8vICAgICA8TXlEcml2ZXIgYXMgcGxhdGZvcm06OkRyaXZlcj46OklkSW5mbywKKy8v LyAgICAgPE15RHJpdmVyIGFzIHBsYXRmb3JtOjpEcml2ZXI8J18+Pjo6SWRJbmZvLAogLy8vICAg ICBbCiAvLy8gICAgICAgICAoYWNwaTo6RGV2aWNlSWQ6Om5ldyhjIkxOVVhCRUVGIiksICgpKQog Ly8vICAgICBdCiAvLy8gKTsKIC8vLwotLy8vIGltcGwgcGxhdGZvcm06OkRyaXZlciBmb3IgTXlE cml2ZXIgeworLy8vIGltcGw8J2JvdW5kPiBwbGF0Zm9ybTo6RHJpdmVyPCdib3VuZD4gZm9yIE15 RHJpdmVyIHsKIC8vLyAgICAgdHlwZSBJZEluZm8gPSAoKTsKIC8vLyAgICAgY29uc3QgT0ZfSURf VEFCTEU6IE9wdGlvbjxvZjo6SWRUYWJsZTxTZWxmOjpJZEluZm8+PiA9IFNvbWUoJk9GX1RBQkxF KTsKIC8vLyAgICAgY29uc3QgQUNQSV9JRF9UQUJMRTogT3B0aW9uPGFjcGk6OklkVGFibGU8U2Vs Zjo6SWRJbmZvPj4gPSBTb21lKCZBQ1BJX1RBQkxFKTsKIC8vLwogLy8vICAgICBmbiBwcm9iZSgK LS8vLyAgICAgICAgIF9wZGV2OiAmcGxhdGZvcm06OkRldmljZTxDb3JlPiwKLS8vLyAgICAgICAg IF9pZF9pbmZvOiBPcHRpb248JlNlbGY6OklkSW5mbz4sCi0vLy8gICAgICkgLT4gaW1wbCBQaW5J bml0PFNlbGYsIEVycm9yPiB7CisvLy8gICAgICAgICBfcGRldjogJidib3VuZCBwbGF0Zm9ybTo6 RGV2aWNlPENvcmU+LAorLy8vICAgICAgICAgX2lkX2luZm86IE9wdGlvbjwmJ2JvdW5kIFNlbGY6 OklkSW5mbz4sCisvLy8gICAgICkgLT4gaW1wbCBQaW5Jbml0PFNlbGYsIEVycm9yPiArICdib3Vu ZCB7CiAvLy8gICAgICAgICBFcnIoRU5PREVWKQogLy8vICAgICB9CiAvLy8gfQogLy8vYGBgCi1w dWIgdHJhaXQgRHJpdmVyOiBTZW5kIHsKK3B1YiB0cmFpdCBEcml2ZXI8J2JvdW5kPjogU2VuZCB7 CiAgICAgLy8vIFRoZSB0eXBlIGhvbGRpbmcgZHJpdmVyIHByaXZhdGUgZGF0YSBhYm91dCBlYWNo IGRldmljZSBpZCBzdXBwb3J0ZWQgYnkgdGhlIGRyaXZlci4KICAgICAvLyBUT0RPOiBVc2UgYXNz b2NpYXRlZF90eXBlX2RlZmF1bHRzIG9uY2Ugc3RhYmlsaXplZDoKICAgICAvLwpAQCAtMjI2LDkg KzI1NSw5IEBAIHB1YiB0cmFpdCBEcml2ZXI6IFNlbmQgewogICAgIC8vLyBDYWxsZWQgd2hlbiBh IG5ldyBwbGF0Zm9ybSBkZXZpY2UgaXMgYWRkZWQgb3IgZGlzY292ZXJlZC4KICAgICAvLy8gSW1w bGVtZW50ZXJzIHNob3VsZCBhdHRlbXB0IHRvIGluaXRpYWxpemUgdGhlIGRldmljZSBoZXJlLgog ICAgIGZuIHByb2JlKAotICAgICAgICBkZXY6ICZEZXZpY2U8ZGV2aWNlOjpDb3JlPiwKLSAgICAg ICAgaWRfaW5mbzogT3B0aW9uPCZTZWxmOjpJZEluZm8+LAotICAgICkgLT4gaW1wbCBQaW5Jbml0 PFNlbGYsIEVycm9yPjsKKyAgICAgICAgZGV2OiAmJ2JvdW5kIERldmljZTxkZXZpY2U6OkNvcmU+ LAorICAgICAgICBpZF9pbmZvOiBPcHRpb248Jidib3VuZCBTZWxmOjpJZEluZm8+LAorICAgICkg LT4gaW1wbCBQaW5Jbml0PFNlbGYsIEVycm9yPiArICdib3VuZDsKIAogICAgIC8vLyBQbGF0Zm9y bSBkcml2ZXIgdW5iaW5kLgogICAgIC8vLwpAQCAtMjQwLDcgKzI2OSw3IEBAIGZuIHByb2JlKAog ICAgIC8vLyBvcGVyYXRpb25zIHRvIGdyYWNlZnVsbHkgdGVhciBkb3duIHRoZSBkZXZpY2UuCiAg ICAgLy8vCiAgICAgLy8vIE90aGVyd2lzZSwgcmVsZWFzZSBvcGVyYXRpb25zIGZvciBkcml2ZXIg cmVzb3VyY2VzIHNob3VsZCBiZSBwZXJmb3JtZWQgaW4gYFNlbGY6OmRyb3BgLgotICAgIGZuIHVu YmluZChkZXY6ICZEZXZpY2U8ZGV2aWNlOjpDb3JlPiwgdGhpczogUGluPCZTZWxmPikgeworICAg IGZuIHVuYmluZChkZXY6ICYnYm91bmQgRGV2aWNlPGRldmljZTo6Q29yZT4sIHRoaXM6IFBpbjwm J2JvdW5kIFNlbGY+KSB7CiAgICAgICAgIGxldCBfID0gKGRldiwgdGhpcyk7CiAgICAgfQogfQpk aWZmIC0tZ2l0IGEvc2FtcGxlcy9ydXN0L3J1c3RfZGVidWdmcy5ycyBiL3NhbXBsZXMvcnVzdC9y dXN0X2RlYnVnZnMucnMKaW5kZXggMDk2M2VmZTE5ZjkzLi5jYTczYzBlZjRhNzkgMTAwNjQ0Ci0t LSBhL3NhbXBsZXMvcnVzdC9ydXN0X2RlYnVnZnMucnMKKysrIGIvc2FtcGxlcy9ydXN0L3J1c3Rf ZGVidWdmcy5ycwpAQCAtMTExLDE5ICsxMTEsMTkgQEAgZm4gZnJvbV9zdHIoczogJnN0cikgLT4g UmVzdWx0PFNlbGY+IHsKIGtlcm5lbDo6YWNwaV9kZXZpY2VfdGFibGUhKAogICAgIEFDUElfVEFC TEUsCiAgICAgTU9EVUxFX0FDUElfVEFCTEUsCi0gICAgPFJ1c3REZWJ1Z0ZzIGFzIHBsYXRmb3Jt OjpEcml2ZXI+OjpJZEluZm8sCisgICAgPFJ1c3REZWJ1Z0ZzIGFzIHBsYXRmb3JtOjpEcml2ZXI8 J18+Pjo6SWRJbmZvLAogICAgIFsoYWNwaTo6RGV2aWNlSWQ6Om5ldyhjIkxOVVhCRUVGIiksICgp KV0KICk7CiAKLWltcGwgcGxhdGZvcm06OkRyaXZlciBmb3IgUnVzdERlYnVnRnMgeworaW1wbDwn Ym91bmQ+IHBsYXRmb3JtOjpEcml2ZXI8J2JvdW5kPiBmb3IgUnVzdERlYnVnRnMgewogICAgIHR5 cGUgSWRJbmZvID0gKCk7CiAgICAgY29uc3QgT0ZfSURfVEFCTEU6IE9wdGlvbjxvZjo6SWRUYWJs ZTxTZWxmOjpJZEluZm8+PiA9IE5vbmU7CiAgICAgY29uc3QgQUNQSV9JRF9UQUJMRTogT3B0aW9u PGFjcGk6OklkVGFibGU8U2VsZjo6SWRJbmZvPj4gPSBTb21lKCZBQ1BJX1RBQkxFKTsKIAogICAg IGZuIHByb2JlKAotICAgICAgICBwZGV2OiAmcGxhdGZvcm06OkRldmljZTxDb3JlPiwKLSAgICAg ICAgX2luZm86IE9wdGlvbjwmU2VsZjo6SWRJbmZvPiwKLSAgICApIC0+IGltcGwgUGluSW5pdDxT ZWxmLCBFcnJvcj4geworICAgICAgICBwZGV2OiAmJ2JvdW5kIHBsYXRmb3JtOjpEZXZpY2U8Q29y ZT4sCisgICAgICAgIF9pbmZvOiBPcHRpb248Jidib3VuZCBTZWxmOjpJZEluZm8+LAorICAgICkg LT4gaW1wbCBQaW5Jbml0PFNlbGYsIEVycm9yPiArICdib3VuZCB7CiAgICAgICAgIFJ1c3REZWJ1 Z0ZzOjpuZXcocGRldikucGluX2NoYWluKHx0aGlzfCB7CiAgICAgICAgICAgICB0aGlzLmNvdW50 ZXIuc3RvcmUoOTEsIFJlbGF4ZWQpOwogICAgICAgICAgICAgewpkaWZmIC0tZ2l0IGEvc2FtcGxl cy9ydXN0L3J1c3RfZHJpdmVyX3BsYXRmb3JtLnJzIGIvc2FtcGxlcy9ydXN0L3J1c3RfZHJpdmVy X3BsYXRmb3JtLnJzCmluZGV4IGYyMjI5ZDE3NmZiOS4uNWI3MDM3ZWI0YjNmIDEwMDY0NAotLS0g YS9zYW1wbGVzL3J1c3QvcnVzdF9kcml2ZXJfcGxhdGZvcm0ucnMKKysrIGIvc2FtcGxlcy9ydXN0 L3J1c3RfZHJpdmVyX3BsYXRmb3JtLnJzCkBAIC04OCwyNiArODgsMjYgQEAgc3RydWN0IFNhbXBs ZURyaXZlciB7CiBrZXJuZWw6Om9mX2RldmljZV90YWJsZSEoCiAgICAgT0ZfVEFCTEUsCiAgICAg TU9EVUxFX09GX1RBQkxFLAotICAgIDxTYW1wbGVEcml2ZXIgYXMgcGxhdGZvcm06OkRyaXZlcj46 OklkSW5mbywKKyAgICA8U2FtcGxlRHJpdmVyIGFzIHBsYXRmb3JtOjpEcml2ZXI8J18+Pjo6SWRJ bmZvLAogICAgIFsob2Y6OkRldmljZUlkOjpuZXcoYyJ0ZXN0LHJ1c3QtZGV2aWNlIiksIEluZm8o NDIpKV0KICk7CiAKIGtlcm5lbDo6YWNwaV9kZXZpY2VfdGFibGUhKAogICAgIEFDUElfVEFCTEUs CiAgICAgTU9EVUxFX0FDUElfVEFCTEUsCi0gICAgPFNhbXBsZURyaXZlciBhcyBwbGF0Zm9ybTo6 RHJpdmVyPjo6SWRJbmZvLAorICAgIDxTYW1wbGVEcml2ZXIgYXMgcGxhdGZvcm06OkRyaXZlcjwn Xz4+OjpJZEluZm8sCiAgICAgWyhhY3BpOjpEZXZpY2VJZDo6bmV3KGMiTE5VWEJFRUYiKSwgSW5m bygwKSldCiApOwogCi1pbXBsIHBsYXRmb3JtOjpEcml2ZXIgZm9yIFNhbXBsZURyaXZlciB7Citp bXBsPCdib3VuZD4gcGxhdGZvcm06OkRyaXZlcjwnYm91bmQ+IGZvciBTYW1wbGVEcml2ZXIgewog ICAgIHR5cGUgSWRJbmZvID0gSW5mbzsKICAgICBjb25zdCBPRl9JRF9UQUJMRTogT3B0aW9uPG9m OjpJZFRhYmxlPFNlbGY6OklkSW5mbz4+ID0gU29tZSgmT0ZfVEFCTEUpOwogICAgIGNvbnN0IEFD UElfSURfVEFCTEU6IE9wdGlvbjxhY3BpOjpJZFRhYmxlPFNlbGY6OklkSW5mbz4+ID0gU29tZSgm QUNQSV9UQUJMRSk7CiAKICAgICBmbiBwcm9iZSgKLSAgICAgICAgcGRldjogJnBsYXRmb3JtOjpE ZXZpY2U8Q29yZT4sCi0gICAgICAgIGluZm86IE9wdGlvbjwmU2VsZjo6SWRJbmZvPiwKLSAgICAp IC0+IGltcGwgUGluSW5pdDxTZWxmLCBFcnJvcj4geworICAgICAgICBwZGV2OiAmJ2JvdW5kIHBs YXRmb3JtOjpEZXZpY2U8Q29yZT4sCisgICAgICAgIGluZm86IE9wdGlvbjwmJ2JvdW5kIFNlbGY6 OklkSW5mbz4sCisgICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+ICsgJ2JvdW5kIHsK ICAgICAgICAgbGV0IGRldiA9IHBkZXYuYXNfcmVmKCk7CiAKICAgICAgICAgZGV2X2RiZyEoZGV2 LCAiUHJvYmUgUnVzdCBQbGF0Zm9ybSBkcml2ZXIgc2FtcGxlLlxuIik7CmRpZmYgLS1naXQgYS9z YW1wbGVzL3J1c3QvcnVzdF9pMmNfY2xpZW50LnJzIGIvc2FtcGxlcy9ydXN0L3J1c3RfaTJjX2Ns aWVudC5ycwppbmRleCA4ZDJjMTJlNTM1YjAuLmUyMTU5NWE0Mzc2ZSAxMDA2NDQKLS0tIGEvc2Ft cGxlcy9ydXN0L3J1c3RfaTJjX2NsaWVudC5ycworKysgYi9zYW1wbGVzL3J1c3QvcnVzdF9pMmNf Y2xpZW50LnJzCkBAIC04OCwxNCArODgsMTQgQEAgc3RydWN0IFNhbXBsZURyaXZlciB7CiBrZXJu ZWw6Om9mX2RldmljZV90YWJsZSEoCiAgICAgT0ZfVEFCTEUsCiAgICAgTU9EVUxFX09GX1RBQkxF LAotICAgIDxTYW1wbGVEcml2ZXIgYXMgcGxhdGZvcm06OkRyaXZlcj46OklkSW5mbywKKyAgICA8 U2FtcGxlRHJpdmVyIGFzIHBsYXRmb3JtOjpEcml2ZXI8J18+Pjo6SWRJbmZvLAogICAgIFsob2Y6 OkRldmljZUlkOjpuZXcoYyJ0ZXN0LHJ1c3QtZGV2aWNlIiksICgpKV0KICk7CiAKIGtlcm5lbDo6 YWNwaV9kZXZpY2VfdGFibGUhKAogICAgIEFDUElfVEFCTEUsCiAgICAgTU9EVUxFX0FDUElfVEFC TEUsCi0gICAgPFNhbXBsZURyaXZlciBhcyBwbGF0Zm9ybTo6RHJpdmVyPjo6SWRJbmZvLAorICAg IDxTYW1wbGVEcml2ZXIgYXMgcGxhdGZvcm06OkRyaXZlcjwnXz4+OjpJZEluZm8sCiAgICAgWyhh Y3BpOjpEZXZpY2VJZDo6bmV3KGMiTE5VWEJFRUYiKSwgKCkpXQogKTsKIApAQCAtMTA0LDE1ICsx MDQsMTUgQEAgc3RydWN0IFNhbXBsZURyaXZlciB7CiBjb25zdCBCT0FSRF9JTkZPOiBpMmM6Okky Y0JvYXJkSW5mbyA9CiAgICAgaTJjOjpJMmNCb2FyZEluZm86Om5ldyhjInJ1c3RfZHJpdmVyX2ky YyIsIFNBTVBMRV9JMkNfQ0xJRU5UX0FERFIpOwogCi1pbXBsIHBsYXRmb3JtOjpEcml2ZXIgZm9y IFNhbXBsZURyaXZlciB7CitpbXBsPCdib3VuZD4gcGxhdGZvcm06OkRyaXZlcjwnYm91bmQ+IGZv ciBTYW1wbGVEcml2ZXIgewogICAgIHR5cGUgSWRJbmZvID0gKCk7CiAgICAgY29uc3QgT0ZfSURf VEFCTEU6IE9wdGlvbjxvZjo6SWRUYWJsZTxTZWxmOjpJZEluZm8+PiA9IFNvbWUoJk9GX1RBQkxF KTsKICAgICBjb25zdCBBQ1BJX0lEX1RBQkxFOiBPcHRpb248YWNwaTo6SWRUYWJsZTxTZWxmOjpJ ZEluZm8+PiA9IFNvbWUoJkFDUElfVEFCTEUpOwogCiAgICAgZm4gcHJvYmUoCi0gICAgICAgIHBk ZXY6ICZwbGF0Zm9ybTo6RGV2aWNlPGRldmljZTo6Q29yZT4sCi0gICAgICAgIF9pbmZvOiBPcHRp b248JlNlbGY6OklkSW5mbz4sCi0gICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+IHsK KyAgICAgICAgcGRldjogJidib3VuZCBwbGF0Zm9ybTo6RGV2aWNlPGRldmljZTo6Q29yZT4sCisg ICAgICAgIF9pbmZvOiBPcHRpb248Jidib3VuZCBTZWxmOjpJZEluZm8+LAorICAgICkgLT4gaW1w bCBQaW5Jbml0PFNlbGYsIEVycm9yPiArICdib3VuZCB7CiAgICAgICAgIGRldl9pbmZvISgKICAg ICAgICAgICAgIHBkZXYuYXNfcmVmKCksCiAgICAgICAgICAgICAiUHJvYmUgUnVzdCBJMkMgQ2xp ZW50IHJlZ2lzdHJhdGlvbiBzYW1wbGUuXG4iCmRpZmYgLS1naXQgYS9zYW1wbGVzL3J1c3QvcnVz dF9zb2MucnMgYi9zYW1wbGVzL3J1c3QvcnVzdF9zb2MucnMKaW5kZXggODA3OWMxYzQ4NDE2Li4z NTZkMDkzYmM4ZGQgMTAwNjQ0Ci0tLSBhL3NhbXBsZXMvcnVzdC9ydXN0X3NvYy5ycworKysgYi9z YW1wbGVzL3J1c3QvcnVzdF9zb2MucnMKQEAgLTI0LDI2ICsyNCwyNiBAQCBzdHJ1Y3QgU2FtcGxl U29jRHJpdmVyIHsKIGtlcm5lbDo6b2ZfZGV2aWNlX3RhYmxlISgKICAgICBPRl9UQUJMRSwKICAg ICBNT0RVTEVfT0ZfVEFCTEUsCi0gICAgPFNhbXBsZVNvY0RyaXZlciBhcyBwbGF0Zm9ybTo6RHJp dmVyPjo6SWRJbmZvLAorICAgIDxTYW1wbGVTb2NEcml2ZXIgYXMgcGxhdGZvcm06OkRyaXZlcjwn Xz4+OjpJZEluZm8sCiAgICAgWyhvZjo6RGV2aWNlSWQ6Om5ldyhjInRlc3QscnVzdC1kZXZpY2Ui KSwgKCkpXQogKTsKIAoga2VybmVsOjphY3BpX2RldmljZV90YWJsZSEoCiAgICAgQUNQSV9UQUJM RSwKICAgICBNT0RVTEVfQUNQSV9UQUJMRSwKLSAgICA8U2FtcGxlU29jRHJpdmVyIGFzIHBsYXRm b3JtOjpEcml2ZXI+OjpJZEluZm8sCisgICAgPFNhbXBsZVNvY0RyaXZlciBhcyBwbGF0Zm9ybTo6 RHJpdmVyPCdfPj46OklkSW5mbywKICAgICBbKGFjcGk6OkRldmljZUlkOjpuZXcoYyJMTlVYQkVF RiIpLCAoKSldCiApOwogCi1pbXBsIHBsYXRmb3JtOjpEcml2ZXIgZm9yIFNhbXBsZVNvY0RyaXZl ciB7CitpbXBsPCdib3VuZD4gcGxhdGZvcm06OkRyaXZlcjwnYm91bmQ+IGZvciBTYW1wbGVTb2NE cml2ZXIgewogICAgIHR5cGUgSWRJbmZvID0gKCk7CiAgICAgY29uc3QgT0ZfSURfVEFCTEU6IE9w dGlvbjxvZjo6SWRUYWJsZTxTZWxmOjpJZEluZm8+PiA9IFNvbWUoJk9GX1RBQkxFKTsKICAgICBj b25zdCBBQ1BJX0lEX1RBQkxFOiBPcHRpb248YWNwaTo6SWRUYWJsZTxTZWxmOjpJZEluZm8+PiA9 IFNvbWUoJkFDUElfVEFCTEUpOwogCiAgICAgZm4gcHJvYmUoCi0gICAgICAgIHBkZXY6ICZwbGF0 Zm9ybTo6RGV2aWNlPENvcmU+LAotICAgICAgICBfaW5mbzogT3B0aW9uPCZTZWxmOjpJZEluZm8+ LAotICAgICkgLT4gaW1wbCBQaW5Jbml0PFNlbGYsIEVycm9yPiB7CisgICAgICAgIHBkZXY6ICYn Ym91bmQgcGxhdGZvcm06OkRldmljZTxDb3JlPiwKKyAgICAgICAgX2luZm86IE9wdGlvbjwmJ2Jv dW5kIFNlbGY6OklkSW5mbz4sCisgICAgKSAtPiBpbXBsIFBpbkluaXQ8U2VsZiwgRXJyb3I+ICsg J2JvdW5kIHsKICAgICAgICAgZGV2X2RiZyEocGRldiwgIlByb2JlIFJ1c3QgU29DIGRyaXZlciBz YW1wbGUuXG4iKTsKIAogICAgICAgICBsZXQgcGRldiA9IHBkZXYuaW50bygpOwotLSAKMi41NC4w Cgo=