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 68F7DCD5BD1 for ; Mon, 1 Jun 2026 12:05:59 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C44B0113278; Mon, 1 Jun 2026 12:05:58 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="HSsuRKhb"; dkim-atps=neutral Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id 072A4113282 for ; Mon, 1 Jun 2026 12:05:57 +0000 (UTC) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-490a76757e5so9476805e9.2 for ; Mon, 01 Jun 2026 05:05:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780315555; x=1780920355; darn=lists.freedesktop.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=gGmIKQdNt75wRPwPP9ogeMu0eNQjjB2cwFIkDSGhGCg=; b=HSsuRKhbDiRgwJM5M2XIvA32+nL/OnZFLjYf4w5itt8UwPKSt8/fXT1V07VAFFY1VW OgFVc0MaVzElLRtEaKEBDJx6RiEQuGXxQ5FKXAm4+EpvKylq7hDi5mcl2elwKthoCSH7 6kY1sZopgIIsCxlA8M8CadR2zzqNgvJKNnPtuXMADS3cpvKJwOH/mWxLqh+OZsY/HYw8 xG1g8AtvHuqMIUIRlS7qfXY6PNuxJVYOVJnAQ8dgRaAzcZY1kkj3taFJ/JE8jlhwdOGF Ef9mbTJCmQLcOR6allPyy7eFzZJMnWR9DWEH2kwLxAWjdR7HWTtT0DlZJwpPFOnvWcHQ laAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780315555; x=1780920355; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=gGmIKQdNt75wRPwPP9ogeMu0eNQjjB2cwFIkDSGhGCg=; b=jCURQZQLZMRieWtTnQJYL3wZLzkHf0XV2NikHPWIZlBHZonrFNq81d6TqeId/YAhkJ IdoLZdfWJ6sxrzIdKfBAQmuUNDcUvzNvtDEVqiFZ/CsfZ116rKgHhfg7qGTATFgb4/J3 NMHsv96fzRasxLjykQaUUDQCDxgDQ5ZNO6eZIUsB4ozosmp/Z8L8ZoCfwmmwKz34QTjQ P18SSMI6PfAotqcBrmDK1zHdEhIMb3P+31oHYKXDTentGaB9dtHrnzYo+8MX5vIztyr6 2MOVYfhgIAojPfv8EHujkJ+Pum2uC6XM+ZNLDK38DtvM0MElv7oi3FIseQf1eOitvOY7 amWw== X-Forwarded-Encrypted: i=1; AFNElJ9XJ/jFh1EL7ed/TBiMMDUsvTbQbnBTUzeYvSJTcLogM39FNZNswLnjJwtCh6VZTRH7GYpW7axT/64=@lists.freedesktop.org X-Gm-Message-State: AOJu0YxiWoJ4Vg3ySJQjH9yFuqos0URoVRzNgHlrJoXVphqmckp97aTB XvCcc8M+qDk+L8kvp/3/Dc1hz53pU9HtS2URtjJncgholL9+0o6Bqbpl X-Gm-Gg: Acq92OEuMtnuaqOIqqZH07fbnxEM0h3J3rop01KX8lq+7DkD+iYmS91UioEa4g/trg7 k93yWL8hadfY8bEJohBXyLQrgKPjdKAezwUtq627NBX3BejstiDCWFw7JXu9rmPU0lAM5uRBe6+ IUPP5DnoTqM3RTatUO8qaeVUjv17gT7qu1WjSqo1xoCguiE/N78lK6XHn71rYnFkFCLrmivZFz5 4N4CxbS3ynK0DX4tCW7iXHR2BjHLV7dtk+efjpnN4pAo8WygTX1Fudc2Vm7xlkik2RbGtuqsxTt N41IisDcg7dda9GdBUIzo1ywdBFZSC9hrCsLxbnfpBl9EfHFzF6Z+UMQpZ76GUyeFMVzups4ZIf V9CgVEd768wSAuo0Fxs5bQuISkiuqWb7TkM+Y0RYXmMOgotWkuXCPKwnocDh3Ykot92Ufr860sw qwJMuTiB+IZIQiXdrO3mOIQ1cIWAaYQOAl5DqkwGcSdA== X-Received: by 2002:a05:600c:5306:b0:490:aeae:1eea with SMTP id 5b1f17b1804b1-490aeae1f1cmr20861945e9.7.1780315555002; Mon, 01 Jun 2026 05:05:55 -0700 (PDT) Received: from [172.16.188.153] ([213.181.114.83]) by smtp.googlemail.com with ESMTPSA id 5b1f17b1804b1-4909c152570sm103972805e9.9.2026.06.01.05.05.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Jun 2026 05:05:54 -0700 (PDT) From: Jim Cromie Date: Mon, 01 Jun 2026 12:05:08 +0000 Subject: [PATCH v3 22/24] selftests-dyndbg: add a dynamic_debug run_tests target MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Message-Id: <20260601-dd-maint-2-v3-22-4a15b241bd3c@gmail.com> References: <20260601-dd-maint-2-v3-0-4a15b241bd3c@gmail.com> In-Reply-To: <20260601-dd-maint-2-v3-0-4a15b241bd3c@gmail.com> To: Jonathan Corbet , Shuah Khan , Arnd Bergmann , Jason Baron , Luis Chamberlain , Petr Pavlu , Daniel Gomez , Sami Tolvanen , Aaron Tomlin , Andrew Morton , Shuah Khan , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-modules@vger.kernel.org, linux-kselftest@vger.kernel.org, dri-devel@lists.freedesktop.org, Jim Cromie , =?utf-8?q?=C5=81ukasz_Bartosik?= , Louis Chauvet X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780315495; l=13151; i=jim.cromie@gmail.com; s=20260203; h=from:subject:message-id; bh=beffx13F53TU2XEmbM9tQ+HBGxp491P2D4sjMFQTIgQ=; b=xeiYUBjCENglst/LpkbKnn6z+U7hYl6CE4lmzcO5kYMeaXfTL/l4VK5kV8zws4Beg6ZLpofz3 6rH+F8sZECDCpJi5rckxeEa9GTWHlzgHSboNmj9Qfkxp/r07Y/ogv7M X-Developer-Key: i=jim.cromie@gmail.com; a=ed25519; pk=C6E5ODlPQo7ZBynATXH9wg7K6HxP0pIXyf4s38Qw0XE= 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" QWRkIGEgc2VsZnRlc3Qgc2NyaXB0IGZvciBkeW5hbWljLWRlYnVnLiAgVGhlIGNvbmZpZyByZXF1 aXJlcwpDT05GSUdfVEVTVF9EWU5BTUlDX0RFQlVHPW0gYW5kIENPTkZJR19URVNUX0RZTkFNSUNf REVCVUdfU1VCTU9EPW0sCndoaWNoIHRhY2l0bHkgcmVxdWlyZXMgZWl0aGVyIENPTkZJR19EWU5B TUlDX0RFQlVHPXkgb3IKQ09ORklHX0RZTkFNSUNfREVCVUdfQ09SRT15CgpBVE0gdGhpcyBoYXMg anVzdCBiYXNpY190ZXN0cygpLCB3aGljaCBtb2RpZnkgcHJfZGVidWcoKSBmbGFncyBpbiB0aGUK YnVpbHRpbiBwYXJhbXMgbW9kdWxlLiAgVGhpcyBtZWFucyB0aGV5J3JlIGF2YWlsYWJsZSB0byBt YW5pcHVsYXRlIGFuZApvYnNlcnZlIHRoZSBlZmZlY3RzIGluICJjYXQgY29udHJvbCIuCgpUaGlz IGlzIGJhY2twb3J0ZWQgZnJvbSBhbm90aGVyIGZlYXR1cmUgYnJhbmNoOyB0aGUgc3VwcG9ydC1m bnMgKHRoeApMdWthcykgaGF2ZSB1bnVzZWQgZmVhdHVyZXMgYXQgdGhlIG1vbWVudCwgdGhleSds bCBnZXQgdXNlZCBzaG9ydGx5LgoKVGhlIHNjcmlwdCBlbmFibGVzIHNpbXBsZSB2aXJ0bWUtbmcg dGVzdGluZzoKCiAgIFtqaW1jQGdhbmRhbGYgYjAtZnRyYWNlXSQgdnJ1bl90CiAgIHZpcnRtZS1u ZyAxLjMyKzExNS5nMDdiMTA5ZAogICBkb2luZzogdm5nIC0tbmFtZSB2Ni4xNC1yYzQtNjAtZ2Q1 ZjQ4NDI3ZGUwYyBcCgkgIC0tdXNlciByb290IC12IC1wIDQgLWEgZHluYW1pY19kZWJ1Zy52ZXJi b3NlPTMgVj0xIFwKCSAgLS0gLi4vdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1 Zy9keW5kYmdfc2VsZnRlc3Quc2gKICAgdmlydG1lOiB3YWl0aW5nIGZvciB2aXJ0aW9mc2QgdG8g c3RhcnQKICAgLi4KCkFuZCBhZGQgZHluYW1pY19kZWJ1ZyB0byBUQVJHRVRTLCBzbyBgbWFrZSBy dW5fdGVzdHNgIHNlZXMgaXQgcHJvcGVybHkuCkZvciB0aGUgaW1wYXRpZW50LCBzZXQgVEFSR0VU UyBleHBsaWNpdGx5OgoKICBbcm9vdEB2NiBzZWxmdGVzdHNdIyBtYWtlIFRBUkdFVFM9ZHluYW1p Y19kZWJ1ZyBydW5fdGVzdHMKICBtYWtlWzFdOiBOb3RoaW5nIHRvIGJlIGRvbmUgZm9yICdhbGwn LgogIFRBUCB2ZXJzaW9uIDEzCiAgMS4uMQogICMgdGltZW91dCBzZXQgdG8gNDUKICAjIHNlbGZ0 ZXN0czogZHluYW1pY19kZWJ1ZzogZHluZGJnX3NlbGZ0ZXN0LnNoCiAgIyAjIEJBU0lDX1RFU1RT ICAgIDk1LjQyMjEyMl0gZHluZGJnOiBxdWVyeSAwOiAwIj1fIiBtb2Q6KgogIC4uLgoKTk9URVMK CmNoZWNrIEtDT05GSUdfQ09ORklHIHRvIGF2b2lkIHNpbGx5IGZhaWxzLiAgU2V2ZXJhbCB0ZXN0 cyBhcmUKZGVwZW5kZW50IHVwb24gY29uZmlnIGNob2ljZXMuIExldHMgYXZvaWQgZmFpbGluZyB3 aGVyZSB0aGF0IGlzIG5vaXNlLgoKVGhlIEtDT05GSUdfQ09ORklHIHZhciBleGlzdHMgdG8gY29u dmV5IHRoZSBjb25maWctZmlsZSBhcm91bmQuICBJZgp0aGUgdmFyIG5hbWVzIGEgZmlsZSwgcmVh ZCBpdCBhbmQgZXh0cmFjdCB0aGUgcmVsZXZhbnQgQ09ORklHIGl0ZW1zLAphbmQgdXNlIHRoZW0g dG8gc2tpcCB0aGUgZGVwZW5kZW50IHRlc3RzLCB0aHVzIGF2b2lkaW5nIHRoZSBmYWlscyB0aGF0 CndvdWxkIGZvbGxvdywgYW5kIHRoZSBkaXNydXB0aW9uIHRvIHdoYXRldmVyIENJIGlzIHJ1bm5p bmcgdGhlc2UKc2VsZnRlc3RzLgoKSWYgdGhlIGVudmFyIGRvZXNuJ3QgbmFtZSBhIGNvbmZpZy1m aWxlLCAiLmNvbmZpZyIgaXMgYXNzdW1lZC4KCkNPTkZJR19EWU5BTUlDX0RFQlVHPXk6CgpiYXNp Yy10ZXN0cygpIGFuZCBjb21tYS10ZXJtaW5hdG9yLXRlc3RzKCkgdGVzdCBmb3IgdGhlIHByZXNl bmNlIG9mCnRoZSBidWlsdGluIHByX2RlYnVncyBpbiBtb2R1bGUvbWFpbi5jLCB3aGljaCBJIGRl ZW1lZCBzdGFibGUgYW5kCnRoZXJlZm9yZSBzYWZlIHRvIGNvdW50LiAgVGhhdCBzYWlkLCB0aGUg dGVzdCBmYWlscyBpZiBvbmx5CkNPTkZJR19EWU5BTUlDX0RFQlVHX0NPUkU9eSBpcyBzZXQuICBJ dCBjb3VsZCBiZSByZXdyaXR0ZW4gdG8gdGVzdAphZ2FpbnN0IHRlc3QtZHluYW1pYy1kZWJ1Zy5r bywgYnV0IHRoYXQganVzdCB0cmFkZXMgb25lIGNvbmZpZwpkZXBlbmRlbmNlIGZvciBhbm90aGVy LgoKQ28tZGV2ZWxvcGVkLWJ5OiDFgXVrYXN6IEJhcnRvc2lrIDx1a2FzemJAY2hyb21pdW0ub3Jn PgpTaWduZWQtb2ZmLWJ5OiDFgXVrYXN6IEJhcnRvc2lrIDx1a2FzemJAY2hyb21pdW0ub3JnPgpT aWduZWQtb2ZmLWJ5OiBKaW0gQ3JvbWllIDxqaW0uY3JvbWllQGdtYWlsLmNvbT4KUmV2aWV3ZWQt Ynk6IExvdWlzIENoYXV2ZXQgPGxvdWlzLmNoYXV2ZXRAYm9vdGxpbi5jb20+Ci0tLQoKdjM6IHVz ZSBrc2Z0XyogZXhpdCBjb2RlcwoKdjI6CmRyb3AgY29tbWl0LW1zZyBtZW50aW9uIG9mIHlldC10 by1iZS1zdWJtaXR0ZWQgdGVzdHMKbW92ZSBSdkIgYWZ0ZXIgU29CCgpzY3JpcHQgZml4dXBzIHBl ciBzYXNoaWtvIHJldmlldwoKICAgMS4gQ09ORklHX0RZTkFNSUNfREVCVUc9eSBpcyBzZXQgY29y cmVjdGx5LgogICAyLiBBbGwgc3Vic2hlbGwgY2FwdHVyZXMgJCggKCAuLi4gKSAyPiYxICkgYXJl IGZpeGVkLgogICAzLiBBbGwgZWNobyB2YXJpYWJsZXMgYXJlIHNhZmVseSBxdW90ZWQgdG8gcHJl dmVudCB3b3JkLXNwbGl0dGluZy4KICAgNC4gU3RhbmRhcmRpemVkIG9uIG1vZGVybiAvc3lzL2tl cm5lbC90cmFjaW5nLyBwYXRocy4KICAgNS4gZXhpdCAkZXhwX2V4aXRfY29kZSBjb3JyZWN0bHkg cHJvcGFnYXRlcyBmYWlsdXJlIHN0YXR1cy4KLS0tCiBNQUlOVEFJTkVSUyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0 cy9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICB8ICAgMSArCiB0b29scy90ZXN0aW5nL3NlbGZ0 ZXN0cy9keW5hbWljX2RlYnVnL01ha2VmaWxlICAgICB8ICAgOSArCiB0b29scy90ZXN0aW5nL3Nl bGZ0ZXN0cy9keW5hbWljX2RlYnVnL2NvbmZpZyAgICAgICB8ICAgOCArCiAuLi4vc2VsZnRlc3Rz L2R5bmFtaWNfZGVidWcvZHluZGJnX3NlbGZ0ZXN0LnNoICAgICB8IDI1OCArKysrKysrKysrKysr KysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMjc3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJTCmluZGV4IDZjZjgwZTdhYzAzOS4uYjNkNDE4MjQy MjBhIDEwMDY0NAotLS0gYS9NQUlOVEFJTkVSUworKysgYi9NQUlOVEFJTkVSUwpAQCAtOTA4Nyw2 ICs5MDg3LDcgQEAgRjoJaW5jbHVkZS9hc20tZ2VuZXJpYy9keW5kYmcubGRzLmgKIEY6CWluY2x1 ZGUvbGludXgvZHluYW1pY19kZWJ1Zy5oCiBGOglsaWIvZHluYW1pY19kZWJ1Zy5jCiBGOglsaWIv dGVzdF9keW5hbWljX2RlYnVnLmMKK0Y6CXRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2R5bmFtaWNf ZGVidWcvKgogCiBEWU5BTUlDIElOVEVSUlVQVCBNT0RFUkFUSU9OCiBNOglUYWwgR2lsYm9hIDx0 YWxnaUBudmlkaWEuY29tPgpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvTWFr ZWZpbGUgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9NYWtlZmlsZQppbmRleCA2ZTU5YjhmNjNl NDEuLjE3YzRkZGJjZWU4OSAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvTWFr ZWZpbGUKKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvTWFrZWZpbGUKQEAgLTI3LDYgKzI3 LDcgQEAgVEFSR0VUUyArPSBkcml2ZXJzL25ldC90ZWFtCiBUQVJHRVRTICs9IGRyaXZlcnMvbmV0 L3ZpcnRpb19uZXQKIFRBUkdFVFMgKz0gZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWwvaWZzCiBU QVJHRVRTICs9IGR0CitUQVJHRVRTICs9IGR5bmFtaWNfZGVidWcKIFRBUkdFVFMgKz0gZWZpdmFy ZnMKIFRBUkdFVFMgKz0gZXhlYwogVEFSR0VUUyArPSBmY2htb2RhdDIKZGlmZiAtLWdpdCBhL3Rv b2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2R5bmFtaWNfZGVidWcvTWFrZWZpbGUgYi90b29scy90ZXN0 aW5nL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVnL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uNmQwNmZhN2YxMDQwCi0tLSAvZGV2L251bGwKKysrIGIvdG9v bHMvdGVzdGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1Zy9NYWtlZmlsZQpAQCAtMCwwICsxLDkg QEAKKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorIyBib3Jyb3dlZCBm cm9tIE1ha2VmaWxlIGZvciB1c2VyIG1lbW9yeSBzZWxmdGVzdHMKKworIyBObyBiaW5hcmllcywg YnV0IG1ha2Ugc3VyZSBhcmctbGVzcyAibWFrZSIgZG9lc24ndCB0cmlnZ2VyICJydW5fdGVzdHMi CithbGw6CisKK1RFU1RfUFJPR1MgOj0gZHluZGJnX3NlbGZ0ZXN0LnNoCisKK2luY2x1ZGUgLi4v bGliLm1rCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVn L2NvbmZpZyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2R5bmFtaWNfZGVidWcvY29uZmlnCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWM0NzhiMTc4NzNkCi0tLSAv ZGV2L251bGwKKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1Zy9jb25m aWcKQEAgLTAsMCArMSw4IEBACisKKyMgYmFzaWMgdGVzdHMgcmVmIHRoZSBidWlsdGluIHBhcmFt cyBtb2R1bGUKK0NPTkZJR19EWU5BTUlDX0RFQlVHPXkKKworIyBtb3JlIHRlc3RpbmcgaXMgcG9z c2libGUgd2l0aCB0aGVzZSwKKyMgYnV0IGluc2lzdGluZyBvbiB0aGVtIGhlcmUgc2tpcHMgdGVz dGluZyBlbnRpcmVseSBmb3Igc3VjaCBjb25maWdzCisjIENPTkZJR19URVNUX0RZTkFNSUNfREVC VUc9bQorIyBDT05GSUdfVEVTVF9EWU5BTUlDX0RFQlVHX1NVQk1PRD1tCmRpZmYgLS1naXQgYS90 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVnL2R5bmRiZ19zZWxmdGVzdC5zaCBi L3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2R5bmFtaWNfZGVidWcvZHluZGJnX3NlbGZ0ZXN0LnNo Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMC4uOGIyYjczODg2NzhlCi0t LSAvZGV2L251bGwKKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1Zy9k eW5kYmdfc2VsZnRlc3Quc2gKQEAgLTAsMCArMSwyNTggQEAKKyMhL2Jpbi9iYXNoCisjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKworVj0ke1Y6PTB9ICAjIGludm9rZSBh cyBWPTEgJDAgIGZvciBnbG9iYWwgdmVyYm9zZQorUkVEPSJcMDMzWzA7MzFtIgorR1JFRU49Ilww MzNbMDszMm0iCitZRUxMT1c9IlwwMzNbMDszM20iCitCTFVFPSJcMDMzWzA7MzRtIgorTUFHRU5U QT0iXDAzM1swOzM1bSIKK0NZQU49IlwwMzNbMDszNm0iCitOQz0iXDAzM1swOzBtIgorZXJyb3Jf bXNnPSIiCisKKyMgU3RhbmRhcmQga3NlbGZ0ZXN0IGV4aXQgY29kZXMKK2tzZnRfcGFzcz0wCitr c2Z0X2ZhaWw9MQora3NmdF9za2lwPTQKKworWyAtZSAvcHJvYy9keW5hbWljX2RlYnVnL2NvbnRy b2wgXSB8fCB7CisgICAgZWNobyAtZSAiJHtSRUR9OiB0aGlzIHRlc3QgcmVxdWlyZXMgQ09ORklH X0RZTkFNSUNfREVCVUc9eSAke05DfSIKKyAgICBleGl0ICRrc2Z0X3NraXAgIyBub3RoaW5nIHRv IHRlc3QgaGVyZSwgbm8gZ29vZCByZWFzb24gdG8gZmFpbC4KK30KKworIyBuZWVkIGluZm8gdG8g YXZvaWQgZmFpbHVyZXMgZHVlIHRvIHVudGVzdGFibGUgY29uZmlncworCitbIC1mICIkS0NPTkZJ R19DT05GSUciIF0gfHwgS0NPTkZJR19DT05GSUc9Ii5jb25maWciCitpZiBbIC1mICIkS0NPTkZJ R19DT05GSUciIF07IHRoZW4KKyAgICBlY2hvICIjIGNvbnN1bHRpbmcgS0NPTkZJR19DT05GSUc6 ICRLQ09ORklHX0NPTkZJRyIKKyAgICBncmVwIC1xICJDT05GSUdfRFlOQU1JQ19ERUJVRz15IiAk S0NPTkZJR19DT05GSUcgOyBMQUNLX0REX0JVSUxUSU49JD8KKyAgICBncmVwIC1xICJDT05GSUdf VEVTVF9EWU5BTUlDX0RFQlVHPW0iICRLQ09ORklHX0NPTkZJRyA7IExBQ0tfVE1PRD0kPworZWxz ZQorICAgICMgaWYgbm8gY29uZmlnLCB0cnkgcnVudGltZSBwcm9iZXMKKyAgICBtb2Rwcm9iZSAt biB0ZXN0X2R5bmFtaWNfZGVidWcgMj4vZGV2L251bGwgOyBMQUNLX1RNT0Q9JD8KKyAgICAjIGFz c3VtZSBidWlsdGluIGR5bmRiZyBpZiBjb250cm9sIGV4aXN0cyAoY2hlY2tlZCBhYm92ZSkKKyAg ICBMQUNLX0REX0JVSUxUSU49MAorZmkKKworZnVuY3Rpb24gdnggKCkgeworICAgIGVjaG8gIiQx IiA+IC9zeXMvbW9kdWxlL2R5bmFtaWNfZGVidWcvcGFyYW1ldGVycy92ZXJib3NlCit9CisKK2Z1 bmN0aW9uIGRkZ3JlcCAoKSB7CisgICAgZ3JlcCAiJDEiIC9wcm9jL2R5bmFtaWNfZGVidWcvY29u dHJvbAorfQorCitmdW5jdGlvbiBkb3ByaW50cyAoKSB7CisgICAgY2F0IC9zeXMvbW9kdWxlL3Rl c3RfZHluYW1pY19kZWJ1Zy9wYXJhbWV0ZXJzL2RvX3ByaW50cworfQorCitmdW5jdGlvbiBkZGNt ZCAoKSB7CisgICAgZXhwX2V4aXRfY29kZT0wCisgICAgbnVtX2FyZ3M9JCMKKyAgICBpZiBbICIk e0A6JCN9IiA9ICJwYXNzIiBdOyB0aGVuCisJbnVtX2FyZ3M9JCMtMQorICAgIGVsaWYgWyAiJHtA OiQjfSIgPSAiZmFpbCIgXTsgdGhlbgorICAgICAgICBudW1fYXJncz0kIy0xCisJZXhwX2V4aXRf Y29kZT0xCisgICAgZmkKKyAgICBhcmdzPSR7QDoxOiRudW1fYXJnc30KKyAgICBvdXRwdXQ9JCgg KGVjaG8gIiRhcmdzIiA+IC9wcm9jL2R5bmFtaWNfZGVidWcvY29udHJvbCkgMj4mMSkKKyAgICBl eGl0X2NvZGU9JD8KKyAgICBlcnJvcl9tc2c9JChlY2hvICIkb3V0cHV0IiB8IGN1dCAtZCAiOiIg LWYgNSB8IHNlZCAtZSAncy9eW1s6c3BhY2U6XV0qLy8nKQorICAgIGhhbmRsZV9leGl0X2NvZGUg JEJBU0hfTElORU5PICRGVU5DTkFNRSAkZXhpdF9jb2RlICRleHBfZXhpdF9jb2RlCit9CisKK2Z1 bmN0aW9uIGhhbmRsZV9leGl0X2NvZGUoKSB7CisgICAgbG9jYWwgZXhwX2V4aXRfY29kZT0wCisg ICAgWyAkIyA9PSA0IF0gJiYgZXhwX2V4aXRfY29kZT0kNAorICAgIGlmIFsgJDMgLW5lICRleHBf ZXhpdF9jb2RlIF07IHRoZW4KKyAgICAgICAgZWNobyAtZSAiJHtSRUR9OiAkQkFTSF9TT1VSQ0U6 JDEgJDIoKSBleHBlY3RlZCB0byBleGl0IHdpdGggY29kZSAkZXhwX2V4aXRfY29kZSwgZ290ICQz IgorCVsgJDMgPT0gMSBdICYmIGVjaG8gIkVycm9yOiAnJGVycm9yX21zZyciCisgICAgICAgIGV4 aXQgJGtzZnRfZmFpbAorICAgIGZpCit9CisKKyMgJDEgLSBwYXR0ZXJuIHRvIG1hdGNoLCBwYXR0 ZXJuIGluICQxIGlzIGVuY2xvc2VkIGJ5IHNwYWNlcyBmb3IgYSBtYXRjaCAiIlxzJDFccyIKKyMg JDIgLSBudW1iZXIgb2YgdGltZXMgdGhlIHBhdHRlcm4gcGFzc2VkIGluICQxIGlzIGV4cGVjdGVk IHRvIG1hdGNoCisjICQzIC0gb3B0aW9uYWwgY2FuIGJlIHNldCBlaXRoZXIgdG8gIi1yIiBvciAi LXYiCisjICAgICAgICItciIgbWVhbnMgcmVsYXhlZCBtYXRjaGluZyBpbiB0aGlzIGNhc2UgcGF0 dGVybiBwcm92aWRlZCBpbiAkMSBpcyBwYXNzZWQKKyMgICAgICAgYXMgaXMgd2l0aG91dCBlbmNs b3NpbmcgaXQgd2l0aCBzcGFjZXMKKyMgICAgICAgIi12IiBwcmludHMgbWF0Y2hpbmcgbGluZXMK KyMgJDQgLSBvcHRpb25hbCB3aGVuICQzIGlzIHNldCB0byAiLXIiIHRoZW4gJDQgY2FuIGJlIHVz ZWQgdG8gcGFzcyAiLXYiCitmdW5jdGlvbiBjaGVja19tYXRjaF9jdCB7CisgICAgcGF0dGVybj0i XHMkMVxzIgorICAgIGV4cF9jbnQ9MAorCisgICAgWyAiJDMiID09ICItciIgXSAmJiBwYXR0ZXJu PSIkMSIKKyAgICBsZXQgY250PSQoZGRncmVwICIkcGF0dGVybiIgfCB3YyAtbCkKKyAgICBpZiBb ICRWIC1lcSAxIF0gfHwgWyAiJDMiID09ICItdiIgXSB8fCBbICIkNCIgPT0gIi12IiBdOyB0aGVu CisgICAgICAgIGVjaG8gLW5lICIke0JMVUV9IiAmJiBkZGdyZXAgIiRwYXR0ZXJuIiAmJiBlY2hv IC1uZSAiJHtOQ30iCisgICAgZmkKKyAgICBbICQjIC1ndCAxIF0gJiYgZXhwX2NudD0kMgorICAg IGlmIFsgJGNudCAtbmUgJGV4cF9jbnQgXTsgdGhlbgorICAgICAgICBlY2hvIC1lICIke1JFRH06 ICRCQVNIX1NPVVJDRTokQkFTSF9MSU5FTk8gY2hlY2sgZmFpbGVkIGV4cGVjdGVkICRleHBfY250 IG9uICQxLCBnb3QgJGNudCIKKyAgICAgICAgZXhpdCAka3NmdF9mYWlsCisgICAgZWxzZQorICAg ICAgICBlY2hvICI6ICRjbnQgbWF0Y2hlcyBvbiAkMSIKKyAgICBmaQorfQorCisjICQxIC0gdHJh Y2UgaW5zdGFuY2UgbmFtZQorIyAjMiAtIGlmID4gMCB0aGVuIGRpcmVjdG9yeSBpcyBleHBlY3Rl ZCB0byBleGlzdCwgaWYgPD0gMCB0aGVuIG90aGVyd2lzZQorIyAkMyAtICItdiIgZm9yIHZlcmJv c2UKK2Z1bmN0aW9uIGNoZWNrX3RyYWNlX2luc3RhbmNlX2RpciB7CisgICAgaWYgWyAtZSAvc3lz L2tlcm5lbC90cmFjaW5nL2luc3RhbmNlcy8kMSBdOyB0aGVuCisgICAgICAgIGlmIFsgIiQzIiA9 PSAiLXYiIF0gOyB0aGVuCisgICAgICAgICAgICBlY2hvICJscyAtbCAvc3lzL2tlcm5lbC90cmFj aW5nL2luc3RhbmNlcy8kMTogIgorICAgICAgICAgICAgbHMgLWwgL3N5cy9rZXJuZWwvdHJhY2lu Zy9pbnN0YW5jZXMvJDEKKyAgICAgICAgZmkKKwlpZiBbICQyIC1sZSAwIF07IHRoZW4KKyAgICAg ICAgICAgIGVjaG8gLWUgIiR7UkVEfTogJEJBU0hfU09VUkNFOiRCQVNIX0xJTkVOTyBlcnJvciB0 cmFjZSBpbnN0YW5jZSBcCisJCSAgICAnL3N5cy9rZXJuZWwvdHJhY2luZy9pbnN0YW5jZXMvJDEn IGRvZXMgZXhpc3QiCisJICAgIGV4aXQgJGtzZnRfZmFpbAorCWZpCisgICAgZWxzZQorCWlmIFsg JDIgLWd0IDAgXTsgdGhlbgorICAgICAgICAgICAgZWNobyAtZSAiJHtSRUR9OiAkQkFTSF9TT1VS Q0U6JEJBU0hfTElORU5PIGVycm9yIHRyYWNlIGluc3RhbmNlIFwKKwkJICAgICcvc3lzL2tlcm5l bC90cmFjaW5nL2luc3RhbmNlcy8kMScgZG9lcyBub3QgZXhpc3QiCisJICAgIGV4aXQgJGtzZnRf ZmFpbAorICAgICAgICBmaQorICAgIGZpCit9CisKK2Z1bmN0aW9uIHRtYXJrIHsKKyAgICBlY2hv ICQqID4gL3N5cy9rZXJuZWwvdHJhY2luZy90cmFjZV9tYXJrZXIKK30KKworIyAkMSAtIHRyYWNl IGluc3RhbmNlIG5hbWUKKyMgJDIgLSBsaW5lIG51bWJlcgorIyAkMyAtIGlmID4gMCB0aGVuIHRo ZSBpbnN0YW5jZSBpcyBleHBlY3RlZCB0byBiZSBvcGVuZWQsIG90aGVyd2lzZQorIyB0aGUgaW5z dGFuY2UgaXMgZXhwZWN0ZWQgdG8gYmUgY2xvc2VkCitmdW5jdGlvbiBjaGVja190cmFjZV9pbnN0 YW5jZSB7CisgICAgb3V0cHV0PSQodGFpbCAtbjkgL3Byb2MvZHluYW1pY19kZWJ1Zy9jb250cm9s IHwgZ3JlcCAiOiBPcGVuZWQgdHJhY2UgaW5zdGFuY2VzIiBcCisJICAgIHwgeGFyZ3MgLW4xIHwg Z3JlcCAkMSkKKyAgICBpZiBbICIkb3V0cHV0IiAhPSAkMSBdICYmIFsgJDMgLWd0IDAgXTsgdGhl bgorICAgICAgICBlY2hvIC1lICIke1JFRH06ICRCQVNIX1NPVVJDRTokMiB0cmFjZSBpbnN0YW5j ZSAkMSBpcyBub3Qgb3BlbmVkIgorICAgICAgICBleGl0ICRrc2Z0X2ZhaWwKKyAgICBmaQorICAg IGlmIFsgIiRvdXRwdXQiID09ICQxIF0gJiYgWyAkMyAtbGUgMCBdOyB0aGVuCisgICAgICAgIGVj aG8gLWUgIiR7UkVEfTogJEJBU0hfU09VUkNFOiQyIHRyYWNlIGluc3RhbmNlICQxIGlzIG5vdCBj bG9zZWQiCisgICAgICAgIGV4aXQgJGtzZnRfZmFpbAorICAgIGZpCit9CisKK2Z1bmN0aW9uIGlz X3RyYWNlX2luc3RhbmNlX29wZW5lZCB7CisgICAgY2hlY2tfdHJhY2VfaW5zdGFuY2UgJDEgJEJB U0hfTElORU5PIDEKK30KKworZnVuY3Rpb24gaXNfdHJhY2VfaW5zdGFuY2VfY2xvc2VkIHsKKyAg ICBjaGVja190cmFjZV9pbnN0YW5jZSAkMSAkQkFTSF9MSU5FTk8gMAorfQorCisjICQxIC0gdHJh Y2UgaW5zdGFuY2UgZGlyZWN0b3J5IHRvIGRlbGV0ZQorIyAkMiAtIGlmID4gMCB0aGVuIGRpcmVj dG9yeSBpcyBleHBlY3RlZCB0byBiZSBkZWxldGVkIHN1Y2Nlc3NmdWxseSwgaWYgPD0gMCB0aGVu IG90aGVyd2lzZQorZnVuY3Rpb24gZGVsX3RyYWNlX2luc3RhbmNlX2RpcigpIHsKKyAgICBleHBf ZXhpdF9jb2RlPTEKKyAgICBbICQyIC1ndCAwIF0gJiYgZXhwX2V4aXRfY29kZT0wCisgICAgb3V0 cHV0PSQoIChybWRpciAvc3lzL2tlcm5lbC90cmFjaW5nL2luc3RhbmNlcy8kMSkgMj4mMSkKKyAg ICBleGl0X2NvZGU9JD8KKyAgICBlcnJvcl9tc2c9JChlY2hvICIkb3V0cHV0IiB8IGN1dCAtZCAi OiIgLWYgMyB8IHNlZCAtZSAncy9eW1s6c3BhY2U6XV0qLy8nKQorICAgIGhhbmRsZV9leGl0X2Nv ZGUgJEJBU0hfTElORU5PICRGVU5DTkFNRSAkZXhpdF9jb2RlICRleHBfZXhpdF9jb2RlCit9CisK K2Z1bmN0aW9uIGVycm9yX2xvZ19yZWYgeworICAgICMgdG8gc2hvdyB3aGF0IEkgZ290CisgICAg OiBlY2hvICIjIGVycm9yLWxvZy1yZWY6ICQxIgorICAgIDogZWNobyBjYXQgXCQyCit9CisKK2Z1 bmN0aW9uIGlmcm1tb2QgeworICAgIGxzbW9kIHwgZ3JlcCAkMSAyPiYxPi9kZXYvbnVsbCAmJiBy bW1vZCAkMQorfQorCisjICQxIC0gdGV4dCB0byBzZWFyY2ggZm9yCitmdW5jdGlvbiBzZWFyY2hf dHJhY2UoKSB7CisgICAgc2VhcmNoX3RyYWNlX25hbWUgMCAxICQxCit9CisKKyMgJDEgLSB0cmFj ZSBpbnN0YW5jZSBuYW1lLCAwIGZvciBnbG9iYWwgZXZlbnQgdHJhY2UKKyMgJDIgLSBsaW5lIG51 bWJlciBjb3VudGluZyBmcm9tIHRoZSBib3R0b20KKyMgJDMgLSB0ZXh0IHRvIHNlYXJjaCBmb3IK K2Z1bmN0aW9uIHNlYXJjaF90cmFjZV9uYW1lKCkgeworCWlmIFsgIiQxIiA9ICIwIiBdOyB0aGVu CisJICAgIGJ1Zj0kKGNhdCAvc3lzL2tlcm5lbC90cmFjaW5nL3RyYWNlKQorCSAgICBsaW5lPSQo dGFpbCAtJDIgL3N5cy9rZXJuZWwvdHJhY2luZy90cmFjZSB8IGhlYWQgLTEgfCBzZWQgLWUgJ3Mv XltbOnNwYWNlOl1dKi8vJykKKwllbHNlCisJICAgIGJ1Zj0kKGNhdCAvc3lzL2tlcm5lbC90cmFj aW5nL2luc3RhbmNlcy8kMS90cmFjZSkKKwkgICAgbGluZT0kKHRhaWwgLSQyIC9zeXMva2VybmVs L3RyYWNpbmcvaW5zdGFuY2VzLyQxL3RyYWNlIHwgaGVhZCAtMSB8IFwKKwkJICAgc2VkIC1lICdz L15bWzpzcGFjZTpdXSovLycpCisJZmkKKwlpZiBbICQyID0gMCBdOyB0aGVuCisJICAgICMgd2hv bGUtYnVmIGNoZWNrCisJICAgIG91dHB1dD0kKGVjaG8gIiRidWYiIHwgZ3JlcCAiJDMiKQorCWVs c2UKKwkgICAgb3V0cHV0PSQoZWNobyAiJGxpbmUiIHwgZ3JlcCAiJDMiKQorCWZpCisJaWYgWyAi JG91dHB1dCIgPSAiIiBdOyB0aGVuCisgICAgICAgICAgICBlY2hvIC1lICIke1JFRH06ICRCQVNI X1NPVVJDRTokQkFTSF9MSU5FTk8gc2VhcmNoIGZvciAnJDMnIGZhaWxlZCBcCisJCSAgICBpbiBs aW5lICckbGluZScgb3IgJyRidWYnIgorCSAgICBleGl0ICRrc2Z0X2ZhaWwKKwlmaQorCWlmIFsg JFYgPSAxIF07IHRoZW4KKwkgICAgZWNobyAtZSAiJHtNQUdFTlRBfTogc2VhcmNoX3RyYWNlX25h bWUgaW4gJDEgZm91bmQ6IFxuJG91dHB1dCBcbmluOiR7QkxVRX0gJGJ1ZiAke05DfSIKKyAgICAg ICAgZmkKK30KKworIyAkMSAtIGVycm9yIG1lc3NhZ2UgdG8gY2hlY2sKK2Z1bmN0aW9uIGNoZWNr X2Vycl9tc2coKSB7CisgICAgaWYgWyAiJGVycm9yX21zZyIgIT0gIiQxIiBdOyB0aGVuCisgICAg ICAgIGVjaG8gLWUgIiR7UkVEfTogJEJBU0hfU09VUkNFOiRCQVNIX0xJTkVOTyBlcnJvciBtZXNz YWdlICckZXJyb3JfbXNnJyBcCisJCWRvZXMgbm90IG1hdGNoIHdpdGggJyQxJyIKKyAgICAgICAg ZXhpdCAka3NmdF9mYWlsCisgICAgZmkKK30KKworZnVuY3Rpb24gYmFzaWNfdGVzdHMgeworICAg IGVjaG8gLWUgIiR7R1JFRU59IyBCQVNJQ19URVNUUyAke05DfSIKKyAgICBpZiBbICRMQUNLX0RE X0JVSUxUSU4gLWVxIDEgXTsgdGhlbgorCWVjaG8gIlNLSVAiCisJZXhpdCAka3NmdF9za2lwCisg ICAgZmkKKyAgICBkZGNtZCA9XyAjIHplcm8gZXZlcnl0aGluZworICAgIGNoZWNrX21hdGNoX2N0 ID1wIDAKKworICAgICMgbW9kdWxlIHBhcmFtcyBhcmUgYnVpbHRpbiB0byBoYW5kbGUgYm9vdCBh cmdzCisgICAgY2hlY2tfbWF0Y2hfY3QgJ1xbcGFyYW1zXF0nIDQgLXIKKyAgICBkZGNtZCBtb2R1 bGUgcGFyYW1zICttcGYKKyAgICBjaGVja19tYXRjaF9jdCA9cG1mIDQKKworICAgICMgbXVsdGkt Y21kIGlucHV0LCBuZXdsaW5lIHNlcGFyYXRlZCwgd2l0aCBlbWJlZGRlZCBjb21tZW50cworICAg IGNhdCA8PCJFT0YiID4gL3Byb2MvZHluYW1pY19kZWJ1Zy9jb250cm9sCisgICAgICBtb2R1bGUg cGFyYW1zID1fCQkJCSMgY2xlYXIgcGFyYW1zCisgICAgICBtb2R1bGUgcGFyYW1zICttZgkJCQkj IHNldCBmbGFncworICAgICAgbW9kdWxlIHBhcmFtcyBmdW5jIHBhcnNlX2FyZ3MgK3NsCQkjIG90 aGVyIGZsYWdzCitFT0YKKyAgICBjaGVja19tYXRjaF9jdCA9bWYgMworICAgIGNoZWNrX21hdGNo X2N0ID1tZnNsIDEKKyAgICBkZGNtZCA9XworfQorCit0ZXN0c19saXN0PSgKKyAgICBiYXNpY190 ZXN0cworKQorCisjIFJ1biB0ZXN0cworCitpZnJtbW9kIHRlc3RfZHluYW1pY19kZWJ1ZworCitm b3IgdGVzdCBpbiAiJHt0ZXN0c19saXN0W0BdfSIKK2RvCisgICAgJHRlc3QKKyAgICBlY2hvICIi Citkb25lCitlY2hvIC1lbiAiJHtHUkVFTn0jIERvbmUgb246ICIKK2RhdGUKK2VjaG8gLWVuICIk e05DfSIKKworZXhpdCAka3NmdF9wYXNzCgotLSAKMi41NC4wCgo=