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 shelob.surriel.com (shelob.surriel.com [96.67.55.147]) (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 4F44DC3DA59 for ; Tue, 16 Jul 2024 19:07:40 +0000 (UTC) Received: from localhost ([::1] helo=shelob.surriel.com) by shelob.surriel.com with esmtp (Exim 4.97.1) (envelope-from ) id 1sTnWV-0000000008G-1AT0 for kernelnewbies@archiver.kernel.org; Tue, 16 Jul 2024 15:07:39 -0400 Received: from mail-io1-xd2c.google.com ([2607:f8b0:4864:20::d2c]) by shelob.surriel.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.97.1) (envelope-from ) id 1sTnOD-000000000Uh-3RWB for kernelnewbies@kernelnewbies.org; Tue, 16 Jul 2024 14:59:05 -0400 Received: by mail-io1-xd2c.google.com with SMTP id ca18e2360f4ac-7fedb09357aso5210939f.2 for ; Tue, 16 Jul 2024 11:58:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1721156325; x=1721761125; darn=kernelnewbies.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=4S+2qr0Nx8V7Wt9mGFuHZ4lGBCN5y3YK4bB9crjyLn8=; b=GkCnbR7oY1LJaP1466ONKoSZPbJwnmTUuyjsSq3KypCWWTPxCcgJEzL6BSIMH8v8r3 xxJb1q5HgjyYhWA4A+++PbfgbdN1/u28KXRhKejYy7fZ0589zlpGcbqLG9lr/mNqHkq0 s4nwxC18G7yeoc75QHnh7DwxwsseVQVgwca2VSl7dJNovx/r8MhRGJMkfOy5PW9yaYEH M0LaVHouo5krhu1SqyFBed6dtK/Rpa5uHwvNtNbFFgP2ZNVqd8oikNpxN1ou7uRfZf8E TIkY1GSLEjzbnITRGuG9Yf95vvtl9INMxtm0G8nI981WHcziPShzqz94u+T6FoM9JH1f IWbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721156325; x=1721761125; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4S+2qr0Nx8V7Wt9mGFuHZ4lGBCN5y3YK4bB9crjyLn8=; b=o+DhXBK/cM7dY+kAsK7cr9MkjhZ9LBw4eu7Rby5x5Yuq6Lz2GlmfdK6WYeTpq1/+NK Ku2L5/yvmwxwykMiyqKnf0JMIwCkYOTIH/hQpdnl0PqXCB6rNWWKPp+9s+k1D2u7Bcmk 8U4GSEzQcO1pTijtNl4Ng6I3owjqs2p/BpyxsX9XoQAe219vo9XowrGbbaKbjhOAmudF B9u4xM7KkVHcF+5OyU09fWvbMQOqBP59jfLt5FMUZnnXin1x/xeN2a2pgCem4EhDnwsw t6r+ozuo15Wd63ifh9iW7twXtotj7J+VN2s1Ce+Zcnv7JFe1TvBinwlDN1z/W3Ha/URt albg== X-Forwarded-Encrypted: i=1; AJvYcCVCmUg0sJLpR3oQrq8DHrAfSUQswus/AaF6V5B9o3lsNvgFRVFqDw7gu3mxXysusMqGREjzLgykGQMuLApD/Rlmz0HU+ZFz7SLLKnYexUVa X-Gm-Message-State: AOJu0YyUnvsV93OImP6yVpqeaO90VvmGJMLO53qZXc5LbNQ/JEYheg6o yJ2h1C1ybLko8Vvwiqq2ElwjjL9gIARbfGuw0BKWHjxJ9MA2omzm X-Google-Smtp-Source: AGHT+IEETisqF8AasMqCEUvxhtG5T7JwD3BrHas/WSaIXmjat8emY/K+TY8RKhes7qhIA0B+W/k69A== X-Received: by 2002:a05:6602:1493:b0:807:4340:947e with SMTP id ca18e2360f4ac-816c4a15d70mr32237839f.15.1721156325487; Tue, 16 Jul 2024 11:58:45 -0700 (PDT) Received: from frodo.. (c-73-78-62-130.hsd1.co.comcast.net. [73.78.62.130]) by smtp.googlemail.com with ESMTPSA id 8926c6da1cb9f-4c210f23f1csm75301173.102.2024.07.16.11.58.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Jul 2024 11:58:44 -0700 (PDT) From: Jim Cromie To: linux-kernel@vger.kernel.org, jbaron@akamai.com, gregkh@linuxfoundation.org, daniel.vetter@ffwll.ch, tvrtko.ursulin@linux.intel.com, jani.nikula@intel.com, ville.syrjala@linux.intel.com Subject: [PATCH v9-resend 16/54] selftests-dyndbg: add tools/testing/selftests/dynamic_debug/* Date: Tue, 16 Jul 2024 12:57:28 -0600 Message-ID: <20240716185806.1572048-17-jim.cromie@gmail.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240716185806.1572048-1-jim.cromie@gmail.com> References: <20240716185806.1572048-1-jim.cromie@gmail.com> MIME-Version: 1.0 Cc: groeck@google.com, linux-doc@vger.kernel.org, Jim Cromie , yanivt@google.com, intel-gfx@lists.freedesktop.org, kernelnewbies@kernelnewbies.org, linux@rasmusvillemoes.dk, robdclark@gmail.com, dri-devel@lists.freedesktop.org, mcgrof@kernel.org, seanpaul@chromium.org, amd-gfx@lists.freedesktop.org, joe@perches.com, bleung@google.com, intel-gvt-dev@lists.freedesktop.org, ukaszb@chromium.org X-BeenThere: kernelnewbies@kernelnewbies.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Learn about the Linux kernel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: kernelnewbies-bounces+kernelnewbies=archiver.kernel.org@kernelnewbies.org QWRkIGEgc2VsZnRlc3Qgc2NyaXB0IGZvciBkeW5hbWljLWRlYnVnLiAgVGhlIGNvbmZpZyByZXF1 aXJlcwpDT05GSUdfVEVTVF9EWU5BTUlDX0RFQlVHPW0gKGFuZCBDT05GSUdfVEVTVF9EWU5BTUlD X0RFQlVHX1NVQk1PRD1tKSwKd2hpY2ggdGFjaXRseSByZXF1aXJlcyBlaXRoZXIgQ09ORklHX0RZ TkFNSUNfREVCVUc9eSBvcgpDT05GSUdfRFlOQU1JQ19ERUJVR19DT1JFPXkKCkFUTSB0aGlzIGhh cyBqdXN0IGJhc2ljX3Rlc3RzKCksIGl0IG1vZGlmaWVzIHByX2RlYnVnIGZsYWdzIGluIGEgZmV3 CmJ1aWx0aW5zIChpbml0L21haW4sIHBhcmFtcyksIGNvdW50cyB0aGUgY2FsbHNpdGUgZmxhZ3Mg Y2hhbmdlZCwgYW5kCnZlcmlmaWVzIGFnYWluc3QgZXhwZWN0ZWQgdmFsdWVzLgoKVGhpcyBpcyBi YWNrcG9ydGVkIGZyb20gYW5vdGhlciBmZWF0dXJlIGJyYW5jaDsgdGhlIHN1cHBvcnQtZm5zICh0 aHgKTHVrYXMpIGhhdmUgdW51c2VkIGZlYXR1cmVzIGF0IHRoZSBtb21lbnQsIHRoZXknbGwgZ2V0 IHVzZWQgc2hvcnRseS4KClRoZSBzY3JpcHQgZW5hYmxlcyBzaW1wbGUgdmlydG1lLW5nIHRlc3Rp bmc6CgogICQ+IHZuZyAtLXZlcmJvc2UgLS1uYW1lIHY2LjgtMzItZzMwZDQzMTAwMDY3NiAtLXVz ZXIgcm9vdCBcCiAgICAgLS1jd2QgLi4vLi4gLWEgZHluYW1pY19kZWJ1Zy52ZXJib3NlPTIgLXAg NCBcCiAgICAgLi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVnL2R5bmRiZ19z ZWxmdGVzdC5zaAoKdmlydG1lOiB3YWl0aW5nIGZvciB2aXJ0aW9mc2QgdG8gc3RhcnQKdmlydG1l OiB1c2UgJ21pY3Jvdm0nIFFFTVUgYXJjaGl0ZWN0dXJlCi4uLgpbICAgIDQuMTM2MTY4XSB2aXJ0 bWUtaW5pdDogU2V0dGluZyBob3N0bmFtZSB0byB2Ni44LTMyLWczMGQ0MzEwMDA2NzYuLi4KWyAg ICA0LjI0MDg3NF0gdmlydG1lLWluaXQ6IHN0YXJ0aW5nIHNjcmlwdAp0ZXN0X2R5bmFtaWNfZGVi dWdfc3VibW9kIG5vdCB0aGVyZQp0ZXN0X2R5bmFtaWNfZGVidWcgbm90IHRoZXJlCi4uLgpbICAg IDQuNDc0NDM1XSB2aXJ0bWUtaW5pdDogc2NyaXB0IHJldHVybmVkIHswfQpQb3dlcmluZyBvZmYu ClsgICAgNC41MjkzMThdIEFDUEk6IFBNOiBQcmVwYXJpbmcgdG8gZW50ZXIgc3lzdGVtIHNsZWVw IHN0YXRlIFM1ClsgICAgNC41Mjk5OTFdIGt2bTogZXhpdGluZyBoYXJkd2FyZSB2aXJ0dWFsaXph dGlvbgpbICAgIDQuNTMwNDI4XSByZWJvb3Q6IFBvd2VyIGRvd24KCkFuZCBhZGQgZHluYW1pY19k ZWJ1ZyB0byBUQVJHRVRTLCBzbyBgbWFrZSBydW5fdGVzdHNgIHNlZXMgaXQgcHJvcGVybHkKCmZv ciB0aGUgaW1wYXRpZW50LCBzZXQgVEFSR0VUUyBleHBsaWNpdGx5OgoKYmFzaC01LjIjIG1ha2Ug VEFSR0VUUz1keW5hbWljX2RlYnVnIHJ1bl90ZXN0cwptYWtlWzFdOiAuLi4KVEFQIHZlcnNpb24g MTMKMS4uMQpbICAgMzUuNTUyOTIyXSBkeW5kYmc6IHJlYWQgMyBieXRlcyBmcm9tIHVzZXJzcGFj ZQpbICAgMzUuNTUzMDk5XSBkeW5kYmc6IHF1ZXJ5IDA6ICI9XyIgbW9kOioKWyAgIDM1LjU1MzU0 NF0gZHluZGJnOiBwcm9jZXNzZWQgMSBxdWVyaWVzLCB3aXRoIDE3NzggbWF0Y2hlcywgMCBlcnJz Ci4uLgoKVExEUjoKClRoaXMgc2VsZnRlc3QgaXMgc2xpZ2h0bHkgbmFpdmUgd3J0IHRoZSBpbml0 IHN0YXRlIG9mIGNhbGwtc2l0ZSBmbGFncy4KCkluIHBhcnRpY3VsYXIsIGl0IGZhaWxzIGlmIGNs YXNzJ2QgcHJfZGVidWdzIGhhdmUgYmVlbiBzZXQKCiAgJCBjYXQgL2V0Yy9tb2Rwcm9iZS5kL2Ry bS10ZXN0LmNvbmYKICBvcHRpb25zIGRybSBkeW5kYmc9Y2xhc3MsRFJNX1VUX0NPUkUsK21mc2x0 JWNsYXNzLERSTV9VVF9LTVMsK21mCgpCeSBDb250cmFjdCwgY2xhc3MnZCBwcl9kZWJ1Z3MgYXJl IHByb3RlY3RlZCBmcm9tIGFsdGVyYXRpb24gYnkKZGVmYXVsdCAob25seSBieSBkaXJlY3QgImNs YXNzIEZPTyIgcXVlcmllcyksIHNvIHRoZSAiPV8iIGxvZ2dlZCBhYm92ZQooVEFQIHZlcnNpb24g MTMpIGNhbm5vdCBhZmZlY3QgdGhlIERSTV9VVF9DT1JFLEtNUyBwcl9kZWJ1Z3MuCgpUaGVzZSBj bGFzcydkIGZsYWctc2V0dGluZ3MsIGFkZGVkIGJ5IG1vZHByb2JlLCBhbHRlciB0aGUgY291bnRz IG9mCmZsYWctbWF0Y2hpbmcgcGF0dGVybnMsIGJyZWFraW5nIHRoZSB0ZXN0cycgZXhwZWN0YXRp b25zLgoKU2lnbmVkLW9mZi1ieTogSmltIENyb21pZSA8amltLmNyb21pZUBnbWFpbC5jb20+CkNv LWRldmVsb3BlZC1ieTogxYF1a2FzeiBCYXJ0b3NpayA8dWthc3piQGNocm9taXVtLm9yZz4KU2ln bmVkLW9mZi1ieTogxYF1a2FzeiBCYXJ0b3NpayA8dWthc3piQGNocm9taXVtLm9yZz4KLS0tCiBN QUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogdG9v bHMvdGVzdGluZy9zZWxmdGVzdHMvTWFrZWZpbGUgICAgICAgICAgICAgIHwgICAxICsKIC4uLi90 ZXN0aW5nL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVnL01ha2VmaWxlICB8ICAgOSArCiB0b29scy90 ZXN0aW5nL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVnL2NvbmZpZyAgfCAgIDIgKwogLi4uL2R5bmFt aWNfZGVidWcvZHluZGJnX3NlbGZ0ZXN0LnNoICAgICAgICAgIHwgMjMxICsrKysrKysrKysrKysr KysrKwogNSBmaWxlcyBjaGFuZ2VkLCAyNDQgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAw NjQ0IHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2R5bmFtaWNfZGVidWcvTWFrZWZpbGUKIGNyZWF0 ZSBtb2RlIDEwMDY0NCB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVnL2NvbmZp ZwogY3JlYXRlIG1vZGUgMTAwNzU1IHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2R5bmFtaWNfZGVi dWcvZHluZGJnX3NlbGZ0ZXN0LnNoCgpkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJ TkVSUwppbmRleCBlYjgzMTJlYTY4MWYuLmE1MTk3YmFjNzE3ZiAxMDA2NDQKLS0tIGEvTUFJTlRB SU5FUlMKKysrIGIvTUFJTlRBSU5FUlMKQEAgLTc2ODUsNiArNzY4NSw3IEBAIFM6CU1haW50YWlu ZWQKIEY6CWluY2x1ZGUvbGludXgvZHluYW1pY19kZWJ1Zy5oCiBGOglsaWIvZHluYW1pY19kZWJ1 Zy5jCiBGOglsaWIvdGVzdF9keW5hbWljX2RlYnVnKi5jCitGOgl0b29scy90ZXN0aW5nL3NlbGZ0 ZXN0L2R5bmFtaWNfZGVidWcvKgogCiBEWU5BTUlDIElOVEVSUlVQVCBNT0RFUkFUSU9OCiBNOglU YWwgR2lsYm9hIDx0YWxnaUBudmlkaWEuY29tPgpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9z ZWxmdGVzdHMvTWFrZWZpbGUgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9NYWtlZmlsZQppbmRl eCA5MDM5ZjM3MDlhZmYuLjFiNDgyNmQ1ZDA5YyAxMDA2NDQKLS0tIGEvdG9vbHMvdGVzdGluZy9z ZWxmdGVzdHMvTWFrZWZpbGUKKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvTWFrZWZpbGUK QEAgLTIyLDYgKzIyLDcgQEAgVEFSR0VUUyArPSBkcml2ZXJzL25ldC9ib25kaW5nCiBUQVJHRVRT ICs9IGRyaXZlcnMvbmV0L3RlYW0KIFRBUkdFVFMgKz0gZHJpdmVycy9uZXQvdmlydGlvX25ldAog VEFSR0VUUyArPSBkdAorVEFSR0VUUyArPSBkeW5hbWljX2RlYnVnCiBUQVJHRVRTICs9IGVmaXZh cmZzCiBUQVJHRVRTICs9IGV4ZWMKIFRBUkdFVFMgKz0gZmNobW9kYXQyCmRpZmYgLS1naXQgYS90 b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVnL01ha2VmaWxlIGIvdG9vbHMvdGVz dGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1Zy9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjZkMDZmYTdmMTA0MAotLS0gL2Rldi9udWxsCisrKyBiL3Rv b2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2R5bmFtaWNfZGVidWcvTWFrZWZpbGUKQEAgLTAsMCArMSw5 IEBACisjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKyMgYm9ycm93ZWQg ZnJvbSBNYWtlZmlsZSBmb3IgdXNlciBtZW1vcnkgc2VsZnRlc3RzCisKKyMgTm8gYmluYXJpZXMs IGJ1dCBtYWtlIHN1cmUgYXJnLWxlc3MgIm1ha2UiIGRvZXNuJ3QgdHJpZ2dlciAicnVuX3Rlc3Rz IgorYWxsOgorCitURVNUX1BST0dTIDo9IGR5bmRiZ19zZWxmdGVzdC5zaAorCitpbmNsdWRlIC4u L2xpYi5tawpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1 Zy9jb25maWcgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9keW5hbWljX2RlYnVnL2NvbmZpZwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQwODBkYTU3MWFjMAotLS0g L2Rldi9udWxsCisrKyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2R5bmFtaWNfZGVidWcvY29u ZmlnCkBAIC0wLDAgKzEsMiBAQAorQ09ORklHX1RFU1RfRFlOQU1JQ19ERUJVRz1tCitDT05GSUdf VEVTVF9EWU5BTUlDX0RFQlVHX1NVQk1PRD1tCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3Nl bGZ0ZXN0cy9keW5hbWljX2RlYnVnL2R5bmRiZ19zZWxmdGVzdC5zaCBiL3Rvb2xzL3Rlc3Rpbmcv c2VsZnRlc3RzL2R5bmFtaWNfZGVidWcvZHluZGJnX3NlbGZ0ZXN0LnNoCm5ldyBmaWxlIG1vZGUg MTAwNzU1CmluZGV4IDAwMDAwMDAwMDAwMC4uMWJlNzBhZjI2YTM4Ci0tLSAvZGV2L251bGwKKysr IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvZHluYW1pY19kZWJ1Zy9keW5kYmdfc2VsZnRlc3Qu c2gKQEAgLTAsMCArMSwyMzEgQEAKKyMhL2Jpbi9iYXNoCisjIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9ubHkKKworVj0ke1Y6PTB9ICAjIGludm9rZSBhcyBWPTEgJDAgIGZvciBn bG9iYWwgdmVyYm9zZQorUkVEPSJcMDMzWzA7MzFtIgorR1JFRU49IlwwMzNbMDszMm0iCitZRUxM T1c9IlwwMzNbMDszM20iCitCTFVFPSJcMDMzWzA7MzRtIgorTUFHRU5UQT0iXDAzM1swOzM1bSIK K0NZQU49IlwwMzNbMDszNm0iCitOQz0iXDAzM1swOzBtIgorZXJyb3JfbXNnPSIiCisKK2Z1bmN0 aW9uIHZ4ICgpIHsKKyAgICBlY2hvICQxID4gL3N5cy9tb2R1bGUvZHluYW1pY19kZWJ1Zy9wYXJh bWV0ZXJzL3ZlcmJvc2UKK30KKworZnVuY3Rpb24gZGRncmVwICgpIHsKKyAgICBncmVwICQxIC9w cm9jL2R5bmFtaWNfZGVidWcvY29udHJvbAorfQorCitmdW5jdGlvbiBkb3ByaW50cyAoKSB7Cisg ICAgY2F0IC9zeXMvbW9kdWxlL3Rlc3RfZHluYW1pY19kZWJ1Zy9wYXJhbWV0ZXJzL2RvX3ByaW50 cworfQorCitmdW5jdGlvbiBkZGNtZCAoKSB7CisgICAgZXhwX2V4aXRfY29kZT0wCisgICAgbnVt X2FyZ3M9JCMKKyAgICBpZiBbICIke0A6JCN9IiA9ICJwYXNzIiBdOyB0aGVuCisJbnVtX2FyZ3M9 JCMtMQorICAgIGVsaWYgWyAiJHtAOiQjfSIgPSAiZmFpbCIgXTsgdGhlbgorICAgICAgICBudW1f YXJncz0kIy0xCisJZXhwX2V4aXRfY29kZT0xCisgICAgZmkKKyAgICBhcmdzPSR7QDoxOiRudW1f YXJnc30KKyAgICBvdXRwdXQ9JCgoZWNobyAiJGFyZ3MiID4gL3Byb2MvZHluYW1pY19kZWJ1Zy9j b250cm9sKSAyPiYxKQorICAgIGV4aXRfY29kZT0kPworICAgIGVycm9yX21zZz0kKGVjaG8gJG91 dHB1dCB8IGN1dCAtZCAiOiIgLWYgNSB8IHNlZCAtZSAncy9eW1s6c3BhY2U6XV0qLy8nKQorICAg IGhhbmRsZV9leGl0X2NvZGUgJEJBU0hfTElORU5PICRGVU5DTkFNRSAkZXhpdF9jb2RlICRleHBf ZXhpdF9jb2RlCit9CisKK2Z1bmN0aW9uIGhhbmRsZV9leGl0X2NvZGUoKSB7CisgICAgbG9jYWwg ZXhwX2V4aXRfY29kZT0wCisgICAgWyAkIyA9PSA0IF0gJiYgZXhwX2V4aXRfY29kZT0kNAorICAg IGlmIFsgJDMgLW5lICRleHBfZXhpdF9jb2RlIF07IHRoZW4KKyAgICAgICAgZWNobyAtZSAiJHtS RUR9OiAkQkFTSF9TT1VSQ0U6JDEgJDIoKSBleHBlY3RlZCB0byBleGl0IHdpdGggY29kZSAkZXhw X2V4aXRfY29kZSIKKwlbICQzID09IDEgXSAmJiBlY2hvICJFcnJvcjogJyRlcnJvcl9tc2cnIgor ICAgICAgICBleGl0CisgICAgZmkKK30KKworIyAkMSAtIHBhdHRlcm4gdG8gbWF0Y2gsIHBhdHRl cm4gaW4gJDEgaXMgZW5jbG9zZWQgYnkgc3BhY2VzIGZvciBhIG1hdGNoICIiXHMkMVxzIgorIyAk MiAtIG51bWJlciBvZiB0aW1lcyB0aGUgcGF0dGVybiBwYXNzZWQgaW4gJDEgaXMgZXhwZWN0ZWQg dG8gbWF0Y2gKKyMgJDMgLSBvcHRpb25hbCBjYW4gYmUgc2V0IGVpdGhlciB0byAiLXIiIG9yICIt diIKKyMgICAgICAgIi1yIiBtZWFucyByZWxheGVkIG1hdGNoaW5nIGluIHRoaXMgY2FzZSBwYXR0 ZXJuIHByb3ZpZGVkIGluICQxIGlzIHBhc3NlZAorIyAgICAgICBhcyBpcyB3aXRob3V0IGVuY2xv c2luZyBpdCB3aXRoIHNwYWNlcworIyAgICAgICAiLXYiIHByaW50cyBtYXRjaGluZyBsaW5lcwor IyAkNCAtIG9wdGlvbmFsIHdoZW4gJDMgaXMgc2V0IHRvICItciIgdGhlbiAkNCBjYW4gYmUgdXNl ZCB0byBwYXNzICItdiIKK2Z1bmN0aW9uIGNoZWNrX21hdGNoX2N0IHsKKyAgICBwYXR0ZXJuPSJc cyQxXHMiCisgICAgZXhwX2NudD0wCisKKyAgICBbICIkMyIgPT0gIi1yIiBdICYmIHBhdHRlcm49 IiQxIgorICAgIGxldCBjbnQ9JChkZGdyZXAgIiRwYXR0ZXJuIiB8IHdjIC1sKQorICAgIGlmIFsg JFYgLWVxIDEgXSB8fCBbICIkMyIgPT0gIi12IiBdIHx8IFsgIiQ0IiA9PSAiLXYiIF07IHRoZW4K KyAgICAgICAgZWNobyAtbmUgIiR7QkxVRX0iICYmIGRkZ3JlcCAkcGF0dGVybiAmJiBlY2hvIC1u ZSAiJHtOQ30iCisgICAgZmkKKyAgICBbICQjIC1ndCAxIF0gJiYgZXhwX2NudD0kMgorICAgIGlm IFsgJGNudCAtbmUgJGV4cF9jbnQgXTsgdGhlbgorICAgICAgICBlY2hvIC1lICIke1JFRH06ICRC QVNIX1NPVVJDRTokQkFTSF9MSU5FTk8gY2hlY2sgZmFpbGVkIGV4cGVjdGVkICRleHBfY250IG9u ICQxLCBnb3QgJGNudCIKKyAgICAgICAgZXhpdAorICAgIGVsc2UKKyAgICAgICAgZWNobyAiOiAk Y250IG1hdGNoZXMgb24gJDEiCisgICAgZmkKK30KKworIyAkMSAtIHRyYWNlIGluc3RhbmNlIG5h bWUKKyMgIzIgLSBpZiA+IDAgdGhlbiBkaXJlY3RvcnkgaXMgZXhwZWN0ZWQgdG8gZXhpc3QsIGlm IDw9IDAgdGhlbiBvdGhlcndpc2UKKyMgJDMgLSAiLXYiIGZvciB2ZXJib3NlCitmdW5jdGlvbiBj aGVja190cmFjZV9pbnN0YW5jZV9kaXIgeworICAgIGlmIFsgLWUgL3N5cy9rZXJuZWwvdHJhY2lu Zy9pbnN0YW5jZXMvJDEgXTsgdGhlbgorICAgICAgICBpZiBbICIkMyIgPT0gIi12IiBdIDsgdGhl bgorICAgICAgICAgICAgZWNobyAibHMgLWwgL3N5cy9rZXJuZWwvdHJhY2luZy9pbnN0YW5jZXMv JDE6ICIKKyAgICAgICAgICAgIGxzIC1sIC9zeXMva2VybmVsL3RyYWNpbmcvaW5zdGFuY2VzLyQx CisgICAgICAgIGZpCisJaWYgWyAkMiAtbGUgMCBdOyB0aGVuCisgICAgICAgICAgICBlY2hvIC1l ICIke1JFRH06ICRCQVNIX1NPVVJDRTokQkFTSF9MSU5FTk8gZXJyb3IgdHJhY2UgaW5zdGFuY2Ug XAorCQkgICAgJy9zeXMva2VybmVsL3RyYWNpbmcvaW5zdGFuY2VzLyQxJyBkb2VzIGV4aXN0Igor CSAgICBleGl0CisJZmkKKyAgICBlbHNlCisJaWYgWyAkMiAtZ3QgMCBdOyB0aGVuCisgICAgICAg ICAgICBlY2hvIC1lICIke1JFRH06ICRCQVNIX1NPVVJDRTokQkFTSF9MSU5FTk8gZXJyb3IgdHJh Y2UgaW5zdGFuY2UgXAorCQkgICAgJy9zeXMva2VybmVsL3RyYWNpbmcvaW5zdGFuY2VzLyQxJyBk b2VzIG5vdCBleGlzdCIKKwkgICAgZXhpdAorICAgICAgICBmaQorICAgIGZpCit9CisKK2Z1bmN0 aW9uIHRtYXJrIHsKKyAgICBlY2hvICQqID4gL3N5cy9rZXJuZWwvdHJhY2luZy90cmFjZV9tYXJr ZXIKK30KKworIyAkMSAtIHRyYWNlIGluc3RhbmNlIG5hbWUKKyMgJDIgLSBsaW5lIG51bWJlcgor IyAkMyAtIGlmID4gMCB0aGVuIHRoZSBpbnN0YW5jZSBpcyBleHBlY3RlZCB0byBiZSBvcGVuZWQs IG90aGVyd2lzZQorIyB0aGUgaW5zdGFuY2UgaXMgZXhwZWN0ZWQgdG8gYmUgY2xvc2VkCitmdW5j dGlvbiBjaGVja190cmFjZV9pbnN0YW5jZSB7CisgICAgb3V0cHV0PSQodGFpbCAtbjkgL3Byb2Mv ZHluYW1pY19kZWJ1Zy9jb250cm9sIHwgZ3JlcCAiOiBPcGVuZWQgdHJhY2UgaW5zdGFuY2VzIiBc CisJICAgIHwgeGFyZ3MgLW4xIHwgZ3JlcCAkMSkKKyAgICBpZiBbICIkb3V0cHV0IiAhPSAkMSBd ICYmIFsgJDMgLWd0IDAgXTsgdGhlbgorICAgICAgICBlY2hvIC1lICIke1JFRH06ICRCQVNIX1NP VVJDRTokMiB0cmFjZSBpbnN0YW5jZSAkMSBpcyBub3Qgb3BlbmVkIgorICAgICAgICBleGl0Cisg ICAgZmkKKyAgICBpZiBbICIkb3V0cHV0IiA9PSAkMSBdICYmIFsgJDMgLWxlIDAgXTsgdGhlbgor ICAgICAgICBlY2hvIC1lICIke1JFRH06ICRCQVNIX1NPVVJDRTokMiB0cmFjZSBpbnN0YW5jZSAk MSBpcyBub3QgY2xvc2VkIgorICAgICAgICBleGl0CisgICAgZmkKK30KKworZnVuY3Rpb24gaXNf dHJhY2VfaW5zdGFuY2Vfb3BlbmVkIHsKKyAgICBjaGVja190cmFjZV9pbnN0YW5jZSAkMSAkQkFT SF9MSU5FTk8gMQorfQorCitmdW5jdGlvbiBpc190cmFjZV9pbnN0YW5jZV9jbG9zZWQgeworICAg IGNoZWNrX3RyYWNlX2luc3RhbmNlICQxICRCQVNIX0xJTkVOTyAwCit9CisKKyMgJDEgLSB0cmFj ZSBpbnN0YW5jZSBkaXJlY3RvcnkgdG8gZGVsZXRlCisjICQyIC0gaWYgPiAwIHRoZW4gZGlyZWN0 b3J5IGlzIGV4cGVjdGVkIHRvIGJlIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBpZiA8PSAwIHRoZW4g b3RoZXJ3aXNlCitmdW5jdGlvbiBkZWxfdHJhY2VfaW5zdGFuY2VfZGlyKCkgeworICAgIGV4cF9l eGl0X2NvZGU9MQorICAgIFsgJDIgLWd0IDAgXSAmJiBleHBfZXhpdF9jb2RlPTAKKyAgICBvdXRw dXQ9JCgocm1kaXIgL3N5cy9rZXJuZWwvZGVidWcvdHJhY2luZy9pbnN0YW5jZXMvJDEpIDI+JjEp CisgICAgZXhpdF9jb2RlPSQ/CisgICAgZXJyb3JfbXNnPSQoZWNobyAkb3V0cHV0IHwgY3V0IC1k ICI6IiAtZiAzIHwgc2VkIC1lICdzL15bWzpzcGFjZTpdXSovLycpCisgICAgaGFuZGxlX2V4aXRf Y29kZSAkQkFTSF9MSU5FTk8gJEZVTkNOQU1FICRleGl0X2NvZGUgJGV4cF9leGl0X2NvZGUKK30K KworZnVuY3Rpb24gZXJyb3JfbG9nX3JlZiB7CisgICAgIyB0byBzaG93IHdoYXQgSSBnb3QKKyAg ICA6IGVjaG8gIiMgZXJyb3ItbG9nLXJlZjogJDEiCisgICAgOiBlY2hvIGNhdCBcJDIKK30KKwor ZnVuY3Rpb24gaWZybW1vZCB7CisgICAgbHNtb2QgfCBncmVwICQxIDI+JjE+L2Rldi9udWxsIHx8 IGVjaG8gJDEgbm90IHRoZXJlCisgICAgbHNtb2QgfCBncmVwICQxIDI+JjE+L2Rldi9udWxsICYm IHJtbW9kICQxCit9CisKKyMgJDEgLSB0ZXh0IHRvIHNlYXJjaCBmb3IKK2Z1bmN0aW9uIHNlYXJj aF90cmFjZSgpIHsKKyAgICBzZWFyY2hfdHJhY2VfbmFtZSAwIDEgJDEKK30KKworIyAkMSAtIHRy YWNlIGluc3RhbmNlIG5hbWUsIDAgZm9yIGdsb2JhbCBldmVudCB0cmFjZQorIyAkMiAtIGxpbmUg bnVtYmVyIGNvdW50aW5nIGZyb20gdGhlIGJvdHRvbQorIyAkMyAtIHRleHQgdG8gc2VhcmNoIGZv cgorZnVuY3Rpb24gc2VhcmNoX3RyYWNlX25hbWUoKSB7CisJaWYgWyAiJDEiID0gIjAiIF07IHRo ZW4KKwkgICAgYnVmPSQoY2F0IC9zeXMva2VybmVsL2RlYnVnL3RyYWNpbmcvdHJhY2UpCisJICAg IGxpbmU9JCh0YWlsIC0kMiAvc3lzL2tlcm5lbC9kZWJ1Zy90cmFjaW5nL3RyYWNlIHwgaGVhZCAt MSB8IHNlZCAtZSAncy9eW1s6c3BhY2U6XV0qLy8nKQorCWVsc2UKKwkgICAgYnVmPSQoY2F0IC9z eXMva2VybmVsL2RlYnVnL3RyYWNpbmcvaW5zdGFuY2VzLyQxL3RyYWNlKQorCSAgICBsaW5lPSQo dGFpbCAtJDIgL3N5cy9rZXJuZWwvZGVidWcvdHJhY2luZy9pbnN0YW5jZXMvJDEvdHJhY2UgfCBo ZWFkIC0xIHwgXAorCQkgICBzZWQgLWUgJ3MvXltbOnNwYWNlOl1dKi8vJykKKwlmaQorCWlmIFsg JDIgPSAwIF07IHRoZW4KKwkgICAgIyB3aG9sZS1idWYgY2hlY2sKKwkgICAgb3V0cHV0PSQoZWNo byAkYnVmIHwgZ3JlcCAiJDMiKQorCWVsc2UKKwkgICAgb3V0cHV0PSQoZWNobyAkbGluZSB8IGdy ZXAgIiQzIikKKwlmaQorCWlmIFsgIiRvdXRwdXQiID0gIiIgXTsgdGhlbgorICAgICAgICAgICAg ZWNobyAtZSAiJHtSRUR9OiAkQkFTSF9TT1VSQ0U6JEJBU0hfTElORU5PIHNlYXJjaCBmb3IgJyQz JyBmYWlsZWQgXAorCQkgICAgaW4gbGluZSAnJGxpbmUnIG9yICckYnVmJyIKKwkgICAgZXhpdAor CWZpCisJaWYgWyAkViA9IDEgXTsgdGhlbgorCSAgICBlY2hvIC1lICIke01BR0VOVEF9OiBzZWFy Y2hfdHJhY2VfbmFtZSBpbiAkMSBmb3VuZDogXG4kb3V0cHV0IFxuaW46JHtCTFVFfSAkYnVmICR7 TkN9IgorICAgICAgICBmaQorfQorCisjICQxIC0gZXJyb3IgbWVzc2FnZSB0byBjaGVjaworZnVu Y3Rpb24gY2hlY2tfZXJyX21zZygpIHsKKyAgICBpZiBbICIkZXJyb3JfbXNnIiAhPSAiJDEiIF07 IHRoZW4KKyAgICAgICAgZWNobyAtZSAiJHtSRUR9OiAkQkFTSF9TT1VSQ0U6JEJBU0hfTElORU5P IGVycm9yIG1lc3NhZ2UgJyRlcnJvcl9tc2cnIFwKKwkJZG9lcyBub3QgbWF0Y2ggd2l0aCAnJDEn IgorICAgICAgICBleGl0CisgICAgZmkKK30KKworZnVuY3Rpb24gYmFzaWNfdGVzdHMgeworICAg IGVjaG8gLWUgIiR7R1JFRU59IyBCQVNJQ19URVNUUyAke05DfSIKKyAgICBkZGNtZCA9XyAjIHpl cm8gZXZlcnl0aGluZyAoZXhjZXB0IGNsYXNzJ2Qgc2l0ZXMpCisgICAgY2hlY2tfbWF0Y2hfY3Qg PXAgMAorICAgICMgdGhlcmUgYXJlIHNldmVyYWwgbWFpbidzIDotLworICAgIGRkY21kIG1vZHVs ZSBtYWluIGZpbGUgKi9tb2R1bGUvbWFpbi5jICtwCisgICAgY2hlY2tfbWF0Y2hfY3QgPXAgMTQK KyAgICBkZGNtZCA9XworICAgIGNoZWNrX21hdGNoX2N0ID1wIDAKKyAgICAjIG11bHRpLWNtZCBp bnB1dCwgbmV3bGluZSBzZXBhcmF0ZWQsIHdpdGggZW1iZWRkZWQgY29tbWVudHMKKyAgICBjYXQg PDwiRU9GIiA+IC9wcm9jL2R5bmFtaWNfZGVidWcvY29udHJvbAorICAgICAgbW9kdWxlIG1haW4g K21mICAgICAgICAgICAgICAgICAgICMgbXVsdGktcXVlcnkKKyAgICAgIG1vZHVsZSBtYWluIGZp bGUgaW5pdC9tYWluLmMgK21sICAjIG5ld2xpbmUgc2VwYXJhdGVkCitFT0YKKyAgICAjIHRoZSBp bnRlcnNlY3Rpb24gb2YgYWxsIHRob3NlIG1haW4ncyBpcyBoYXJkIHRvIHRyYWNrL2NvdW50Cisg ICAgIyBlc3Agd2hlbiBtaXhlZCB3aXRoIG92ZXJsYXBwaW5nIGdyZXBzCisgICAgY2hlY2tfbWF0 Y2hfY3QgPW1mIDIxCisgICAgY2hlY2tfbWF0Y2hfY3QgPW1sIDAKKyAgICBjaGVja19tYXRjaF9j dCA9bWZsIDYKKyAgICBkZGNtZCA9XworfQorCisKK3Rlc3RzX2xpc3Q9KAorICAgIGJhc2ljX3Rl c3RzCispCisKKyMgUnVuIHRlc3RzCisKK2lmcm1tb2QgdGVzdF9keW5hbWljX2RlYnVnX3N1Ym1v ZAoraWZybW1vZCB0ZXN0X2R5bmFtaWNfZGVidWcKKworZm9yIHRlc3QgaW4gIiR7dGVzdHNfbGlz dFtAXX0iCitkbworICAgICR0ZXN0CisgICAgZWNobyAiIgorZG9uZQorZWNobyAtZW4gIiR7R1JF RU59IyBEb25lIG9uOiAiCitkYXRlCi0tIAoyLjQ1LjIKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpLZXJuZWxuZXdiaWVzIG1haWxpbmcgbGlzdApLZXJu ZWxuZXdiaWVzQGtlcm5lbG5ld2JpZXMub3JnCmh0dHBzOi8vbGlzdHMua2VybmVsbmV3Ymllcy5v cmcvbWFpbG1hbi9saXN0aW5mby9rZXJuZWxuZXdiaWVzCg==