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 E3BD9C021A4 for ; Mon, 10 Feb 2025 21:45:39 +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:Message-ID:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=TLFkDg/wWznFMOj3CJA7oajTSmHoRw2hdBeonc9I7ds=; b=IIgQxwoFu6/gXV crG4zJZhfa5tRJmG5jcDPCCj2H90G7K0JgtvLcnEncT3xMN9UiOmWGq2DISmHajUj8Mk7myRWkEVj teRsD2lk4tCk3MbAlIpYV8tDhLyIXcU19RoA30+AV+9j+vX0VF2gjCEum8jyTTIhcZ3XJZwekHILe TZ3CfWr4AcPZOc/5sy4y8vAWTR67UCp9P6pZYJNBpuTu7EJnmlSmmAhymHn9mjrU24hQKXo94qRAl v45vo9M72iYhs1wX986WIuU7TW1rEq86sRanvsXvOmXKcUXcgd+xnhW0mEHLC2i3KMdowNUSB5mrt F6IYEFZnCq2a7FF5fgvQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1thbaw-00000001YIz-2oDh; Mon, 10 Feb 2025 21:45:34 +0000 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1thbRl-00000001VKC-0IKT for linux-riscv@lists.infradead.org; Mon, 10 Feb 2025 21:36:08 +0000 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-436ce2ab251so33548125e9.1 for ; Mon, 10 Feb 2025 13:36:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1739223363; x=1739828163; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=6yU4FXNF/aJSJZFUWClLEZsdkRc6GvSutSyHshCkXTg=; b=hffQnrbH2iOzm6JPsYZQ+lnTTbv5O6Lk73p/SrgXKsqono2Rmzecm1BSlwqvnWPesh zGlLOmVE/j016LNlb4gdKS7pQhm/PgmWS5v4bGfCOz+or7TTCKNMm5eJ8dw29bv8G5m4 ARwwHwoUF5aVReE2DevJLB2QOn5GBUJ4wQgD4KWEZlTA/Kbb/NVzZcgHujhaZU16RSON 9lP8W2KZCqGGZzUv2SGAqNenCQn2NswOLR3I3zg7/+bplGk+UT1FNztwOvqAyY7Nxdgx ajzDcsCzJfSWb7xTOvlwDyHz5IYqt3cXzTSRufd85mxEpiGMyOhH0+Dbzc+lH+55YcmD 6BjA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739223363; x=1739828163; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6yU4FXNF/aJSJZFUWClLEZsdkRc6GvSutSyHshCkXTg=; b=Oi7CnBRYX5C1buX8pKtNt+5ku51EEZfo7YlBguU/jQvDzPUBWc4vCkPSWMFpCvf78c nUilcDNzARKFh+pi/KwKR5or1A4FyyDWvSIMsNvJtRvm7K+RGlePjuDcdJEINcCjoJ0W svr7IfmxK5tGUTZzhvv5tBrsI7YIe9wUWPLqZjkzIOzw2gl6zNk6jpUkZHbBV2cxplxh dOVRjQR2i1hmJGkaIGVzE/9G02D1uyaEfAmG2lcPMUFTjH1fVNT+QYr+WlkM7SnXmpRi A0Bl18SXrlhcmGxr0Fj1X2ylpRlX6Egya+sDv+KGG8PGsd4v4OEYBbXTnTQ+nCR9lvRA hs0w== X-Forwarded-Encrypted: i=1; AJvYcCVBdnvFG7qW1MLxDtfHsJF4iDetDy3LyNJw5sGCeWiIPmtO4ThZHrmfNYACJLmn+swsk/YQ0FVHbEOrcw==@lists.infradead.org X-Gm-Message-State: AOJu0Yw/b5rE9Zjr53A8hoGC1Lbf98apQTMBfoN31x25xAEnpEl/sXbi NfSZ41lqiXERvDUjNiQ+5gOVcjpvwidYgw3PntjHtUtzPTlLdRweH9Z1QaJ3pXA= X-Gm-Gg: ASbGncuTUJcVHOqXOBZVOpuk2mdNkSxxUi5ipwAT2PxU4Wf4TDl6loaxrg1kB26+58z XRmHtCjCHJoyztSvzvdqRK8b4h4kU3x9oGXEi7rI5dj7k09EQDrH09HaPCoX861Ip8iCn6piStm K05vxdZr9+sJVBNgAWcfZ5EOGa4nms5dBSM3iVUo2sM5+ybRJX7KfSxXeJZ8SwfjbOhrvvVmX3f E7kDMm3olnznpsOQqN4H6JwrWUFK42WQJlA00JACkWe3f1S2wb6ToVt3ShQ7bouL9maucfxuZUI cyxnfTyR1XZZaHiG X-Google-Smtp-Source: AGHT+IFdcS4HQCNhje+KNC3N8lAKJy2LPgA9t1uWAzjtM8uA+e8s58Wwe4c6e5iEnxu0WhpQbc7aeg== X-Received: by 2002:a05:600c:56d0:b0:434:9c1b:b36a with SMTP id 5b1f17b1804b1-4392dfbd5d8mr96573665e9.13.1739223363313; Mon, 10 Feb 2025 13:36:03 -0800 (PST) Received: from carbon-x1.. ([2a01:e0a:e17:9700:16d2:7456:6634:9626]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4394376118esm47541515e9.40.2025.02.10.13.36.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 10 Feb 2025 13:36:02 -0800 (PST) From: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= To: Paul Walmsley , Palmer Dabbelt , Anup Patel , Atish Patra , Shuah Khan , Jonathan Corbet , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org Cc: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= , Samuel Holland Subject: [PATCH v2 00/15] riscv: add SBI FWFT misaligned exception delegation support Date: Mon, 10 Feb 2025 22:35:33 +0100 Message-ID: <20250210213549.1867704-1-cleger@rivosinc.com> X-Mailer: git-send-email 2.47.2 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250210_133605_181100_B57A0A6C X-CRM114-Status: GOOD ( 15.37 ) 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 VGhlIFNCSSBGaXJtd2FyZSBGZWF0dXJlIGV4dGVuc2lvbiBhbGxvd3MgdGhlIFMtbW9kZSB0byBy ZXF1ZXN0IHNvbWUKc3BlY2lmaWMgZmVhdHVyZXMgKGVpdGhlciBoYXJkd2FyZSBvciBzb2Z0d2Fy ZSkgdG8gYmUgZW5hYmxlZC4gVGhpcwpzZXJpZXMgdXNlcyB0aGlzIGV4dGVuc2lvbiB0byByZXF1 ZXN0IG1pc2FsaWduZWQgYWNjZXNzIGV4Y2VwdGlvbgpkZWxlZ2F0aW9uIHRvIFMtbW9kZSBpbiBv cmRlciB0byBsZXQgdGhlIGtlcm5lbCBoYW5kbGUgaXQuIEl0IGFsc28gYWRkcwpzdXBwb3J0IGZv ciB0aGUgS1ZNIEZXRlQgU0JJIGV4dGVuc2lvbiBiYXNlZCBvbiB0aGUgbWlzYWxpZ25lZCBhY2Nl c3MKaGFuZGxpbmcgaW5mcmFzdHJ1Y3R1cmUuCgpGV0ZUIFNCSSBleHRlbnNpb24gaXMgcGFydCBv ZiB0aGUgU0JJIFYzLjAgc3BlY2lmaWNhdGlvbnMgWzFdLiBJdCBjYW4gYmUKdGVzdGVkIHVzaW5n IHRoZSBxZW11IHByb3ZpZGVkIGF0IFsyXSB3aGljaCBjb250YWlucyB0aGUgc2VyaWVzIGZyb20K WzNdLiBrdm0tdW5pdC10ZXN0cyBbNF0gY2FuIGJlIHVzZWQgaW5zaWRlIGt2bSB0byB0ZXN0cyB0 aGUgY29ycmVjdApkZWxlZ2F0aW9uIG9mIG1pc2FsaWduZWQgZXhjZXB0aW9ucy4gVXBzdHJlYW0g T3BlblNCSSBjYW4gYmUgdXNlZC4KClRoZSB0ZXN0cyBjYW4gYmUgcnVuIHVzaW5nIHRoZSBpbmNs dWRlZCBrc2VsZnRlc3Q6CgokIHFlbXUtc3lzdGVtLXJpc2N2NjQgXAoJLWNwdSBydjY0LHRyYXAt bWlzYWxpZ25lZC1hY2Nlc3M9dHJ1ZSx2PXRydWUgXAoJLU0gdmlydCBcCgktbSAxMDI0TSBcCgkt YmlvcyBmd19keW5hbWljLmJpbiBcCgkta2VybmVsIEltYWdlCiAuLi4KCiAjIC4vbWlzYWxpZ25l ZAogVEFQIHZlcnNpb24gMTMKIDEuLjIzCiAjIFN0YXJ0aW5nIDIzIHRlc3RzIGZyb20gMSB0ZXN0 IGNhc2VzLgogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZ3BfbG9hZF9saCAuLi4KICMgICAgICAg ICAgICBPSyAgZ2xvYmFsLmdwX2xvYWRfbGgKIG9rIDEgZ2xvYmFsLmdwX2xvYWRfbGgKICMgIFJV TiAgICAgICAgICAgZ2xvYmFsLmdwX2xvYWRfbGh1IC4uLgogIyAgICAgICAgICAgIE9LICBnbG9i YWwuZ3BfbG9hZF9saHUKIG9rIDIgZ2xvYmFsLmdwX2xvYWRfbGh1CiAjICBSVU4gICAgICAgICAg IGdsb2JhbC5ncF9sb2FkX2x3IC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwuZ3BfbG9hZF9s dwogb2sgMyBnbG9iYWwuZ3BfbG9hZF9sdwogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZ3BfbG9h ZF9sd3UgLi4uCiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX2x3dQogb2sgNCBnbG9i YWwuZ3BfbG9hZF9sd3UKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdwX2xvYWRfbGQgLi4uCiAj ICAgICAgICAgICAgT0sgIGdsb2JhbC5ncF9sb2FkX2xkCiBvayA1IGdsb2JhbC5ncF9sb2FkX2xk CiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5ncF9sb2FkX2NfbHcgLi4uCiAjICAgICAgICAgICAg T0sgIGdsb2JhbC5ncF9sb2FkX2NfbHcKIG9rIDYgZ2xvYmFsLmdwX2xvYWRfY19sdwogIyAgUlVO ICAgICAgICAgICBnbG9iYWwuZ3BfbG9hZF9jX2xkIC4uLgogIyAgICAgICAgICAgIE9LICBnbG9i YWwuZ3BfbG9hZF9jX2xkCiBvayA3IGdsb2JhbC5ncF9sb2FkX2NfbGQKICMgIFJVTiAgICAgICAg ICAgZ2xvYmFsLmdwX2xvYWRfY19sZHNwIC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwuZ3Bf bG9hZF9jX2xkc3AKIG9rIDggZ2xvYmFsLmdwX2xvYWRfY19sZHNwCiAjICBSVU4gICAgICAgICAg IGdsb2JhbC5ncF9sb2FkX3NoIC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwuZ3BfbG9hZF9z aAogb2sgOSBnbG9iYWwuZ3BfbG9hZF9zaAogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZ3BfbG9h ZF9zdyAuLi4KICMgICAgICAgICAgICBPSyAgZ2xvYmFsLmdwX2xvYWRfc3cKIG9rIDEwIGdsb2Jh bC5ncF9sb2FkX3N3CiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5ncF9sb2FkX3NkIC4uLgogIyAg ICAgICAgICAgIE9LICBnbG9iYWwuZ3BfbG9hZF9zZAogb2sgMTEgZ2xvYmFsLmdwX2xvYWRfc2QK ICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmdwX2xvYWRfY19zdyAuLi4KICMgICAgICAgICAgICBP SyAgZ2xvYmFsLmdwX2xvYWRfY19zdwogb2sgMTIgZ2xvYmFsLmdwX2xvYWRfY19zdwogIyAgUlVO ICAgICAgICAgICBnbG9iYWwuZ3BfbG9hZF9jX3NkIC4uLgogIyAgICAgICAgICAgIE9LICBnbG9i YWwuZ3BfbG9hZF9jX3NkCiBvayAxMyBnbG9iYWwuZ3BfbG9hZF9jX3NkCiAjICBSVU4gICAgICAg ICAgIGdsb2JhbC5ncF9sb2FkX2Nfc2RzcCAuLi4KICMgICAgICAgICAgICBPSyAgZ2xvYmFsLmdw X2xvYWRfY19zZHNwCiBvayAxNCBnbG9iYWwuZ3BfbG9hZF9jX3Nkc3AKICMgIFJVTiAgICAgICAg ICAgZ2xvYmFsLmZwdV9sb2FkX2ZsdyAuLi4KICMgICAgICAgICAgICBPSyAgZ2xvYmFsLmZwdV9s b2FkX2Zsdwogb2sgMTUgZ2xvYmFsLmZwdV9sb2FkX2ZsdwogIyAgUlVOICAgICAgICAgICBnbG9i YWwuZnB1X2xvYWRfZmxkIC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwuZnB1X2xvYWRfZmxk CiBvayAxNiBnbG9iYWwuZnB1X2xvYWRfZmxkCiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5mcHVf bG9hZF9jX2ZsZCAuLi4KICMgICAgICAgICAgICBPSyAgZ2xvYmFsLmZwdV9sb2FkX2NfZmxkCiBv ayAxNyBnbG9iYWwuZnB1X2xvYWRfY19mbGQKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmZwdV9s b2FkX2NfZmxkc3AgLi4uCiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5mcHVfbG9hZF9jX2ZsZHNw CiBvayAxOCBnbG9iYWwuZnB1X2xvYWRfY19mbGRzcAogIyAgUlVOICAgICAgICAgICBnbG9iYWwu ZnB1X3N0b3JlX2ZzdyAuLi4KICMgICAgICAgICAgICBPSyAgZ2xvYmFsLmZwdV9zdG9yZV9mc3cK IG9rIDE5IGdsb2JhbC5mcHVfc3RvcmVfZnN3CiAjICBSVU4gICAgICAgICAgIGdsb2JhbC5mcHVf c3RvcmVfZnNkIC4uLgogIyAgICAgICAgICAgIE9LICBnbG9iYWwuZnB1X3N0b3JlX2ZzZAogb2sg MjAgZ2xvYmFsLmZwdV9zdG9yZV9mc2QKICMgIFJVTiAgICAgICAgICAgZ2xvYmFsLmZwdV9zdG9y ZV9jX2ZzZCAuLi4KICMgICAgICAgICAgICBPSyAgZ2xvYmFsLmZwdV9zdG9yZV9jX2ZzZAogb2sg MjEgZ2xvYmFsLmZwdV9zdG9yZV9jX2ZzZAogIyAgUlVOICAgICAgICAgICBnbG9iYWwuZnB1X3N0 b3JlX2NfZnNkc3AgLi4uCiAjICAgICAgICAgICAgT0sgIGdsb2JhbC5mcHVfc3RvcmVfY19mc2Rz cAogb2sgMjIgZ2xvYmFsLmZwdV9zdG9yZV9jX2ZzZHNwCiAjICBSVU4gICAgICAgICAgIGdsb2Jh bC5nZW5fc2lnYnVzIC4uLgogWzEyNzk3Ljk4ODY0N10gbWlzYWxpZ25lZFs2MThdOiB1bmhhbmRs ZWQgc2lnbmFsIDcgY29kZSAweDEgYXQgMHgwMDAwMDAwMDAwMDE0ZGMwIGluIG1pc2FsaWduZWRb NGRjMCwxMDAwMCs3NjAwMF0KIFsxMjc5Ny45ODg5OTBdIENQVTogMCBVSUQ6IDAgUElEOiA2MTgg Q29tbTogbWlzYWxpZ25lZCBOb3QgdGFpbnRlZCA2LjEzLjAtcmM2LTAwMDA4LWc0ZWM0NDY4OTY3 YzktZGlydHkgIzUxCiBbMTI3OTcuOTg5MTY5XSBIYXJkd2FyZSBuYW1lOiByaXNjdi12aXJ0aW8s cWVtdSAoRFQpCiBbMTI3OTcuOTg5MjY0XSBlcGMgOiAwMDAwMDAwMDAwMDE0ZGMwIHJhIDogMDAw MDAwMDAwMDAxNGQwMCBzcCA6IDAwMDA3ZmZmZTE2NWQxMDAKIFsxMjc5Ny45ODk0MDddICBncCA6 IDAwMDAwMDAwMDAwOGY2ZTggdHAgOiAwMDAwMDAwMDAwMDk1NzYwIHQwIDogMDAwMDAwMDAwMDAw MDAwOAogWzEyNzk3Ljk4OTU0NF0gIHQxIDogMDAwMDAwMDAwMDA5NjVkOCB0MiA6IDAwMDAwMDAw MDAwOGU4MzAgczAgOiAwMDAwN2ZmZmUxNjVkMTYwCiBbMTI3OTcuOTg5NjkyXSAgczEgOiAwMDAw MDAwMDAwMDAwMDFhIGEwIDogMDAwMDAwMDAwMDAwMDAwMCBhMSA6IDAwMDAwMDAwMDAwMDAwMDIK IFsxMjc5Ny45ODk4MzFdICBhMiA6IDAwMDAwMDAwMDAwMDAwMDAgYTMgOiAwMDAwMDAwMDAwMDAw MDAwIGE0IDogZmZmZmZmZmZkZWFkYmVlZgogWzEyNzk3Ljk4OTk2NF0gIGE1IDogMDAwMDAwMDAw MDA4ZWY2MSBhNiA6IDYyNjc2OTczNWY2ZTAwMDAgYTcgOiBmZmZmZmZmZmZmZmZmMDAwCiBbMTI3 OTcuOTkwMDk0XSAgczIgOiAwMDAwMDAwMDAwMDAwMDAxIHMzIDogMDAwMDdmZmZlMTY1ZDgzOCBz NCA6IDAwMDA3ZmZmZTE2NWQ4NDgKIFsxMjc5Ny45OTAyMzhdICBzNSA6IDAwMDAwMDAwMDAwMDAw MWEgczYgOiAwMDAwMDAwMDAwMDEwNDQyIHM3IDogMDAwMDAwMDAwMDAxMDIwMAogWzEyNzk3Ljk5 MDM5MV0gIHM4IDogMDAwMDAwMDAwMDAwMDAzYSBzOSA6IDAwMDAwMDAwMDAwOTQ1MDggczEwOiAw MDAwMDAwMDAwMDAwMDAwCiBbMTI3OTcuOTkwNTI2XSAgczExOiAwMDAwNTU1NTY3NDYwNjY4IHQz IDogMDAwMDdmZmZlMTY1ZDA3MCB0NCA6IDAwMDAwMDAwMDAwOTY1ZDAKIFsxMjc5Ny45OTA2NTZd ICB0NSA6IGZlZmVmZWZlZmVmZWZlZmYgdDYgOiAwMDAwMDAwMDAwMDAwMDczCiBbMTI3OTcuOTkw NzU2XSBzdGF0dXM6IDAwMDAwMDAyMDAwMDQwMjAgYmFkYWRkcjogMDAwMDAwMDAwMDA4ZWY2MSBj YXVzZTogMDAwMDAwMDAwMDAwMDAwNgogWzEyNzk3Ljk5MDkxMV0gQ29kZTogODc5MyA4NzkxIDM0 MjMgZmNmNCAzNzgzIGZjODQgYzczNyBkZWFkIDA3MTMgZWVmNyAoYzM5OCkgMDAwMQogIyAgICAg ICAgICAgIE9LICBnbG9iYWwuZ2VuX3NpZ2J1cwogb2sgMjMgZ2xvYmFsLmdlbl9zaWdidXMKICMg UEFTU0VEOiAyMyAvIDIzIHRlc3RzIHBhc3NlZC4KICMgVG90YWxzOiBwYXNzOjIzIGZhaWw6MCB4 ZmFpbDowIHhwYXNzOjAgc2tpcDowIGVycm9yOjAKCldpdGgga3ZtLXRvb2xzOgoKICMgbGt2bSBy dW4gLWsgc2JpLmZsYXQgLW0gMTI4CiAgSW5mbzogIyBsa3ZtIHJ1biAtayBzYmkuZmxhdCAtbSAx MjggLWMgMSAtLW5hbWUgZ3Vlc3QtOTcKICBJbmZvOiBSZW1vdmVkIGdob3N0IHNvY2tldCBmaWxl ICIvcm9vdC8ubGt2bS8vZ3Vlc3QtOTcuc29jayIuCgogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgICAg a3ZtLXVuaXQtdGVzdHMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgogLi4uIFt0ZXN0IG1lc3NhZ2VzIGVs aWRlZF0KIFBBU1M6IHNiaTogZndmdDogRldGVCBleHRlbnNpb24gcHJvYmluZyBubyBlcnJvcgog UEFTUzogc2JpOiBmd2Z0OiBnZXQvc2V0IHJlc2VydmVkIGZlYXR1cmUgMHg2IGVycm9yID09IFNC SV9FUlJfREVOSUVECiBQQVNTOiBzYmk6IGZ3ZnQ6IGdldC9zZXQgcmVzZXJ2ZWQgZmVhdHVyZSAw eDNmZmZmZmZmIGVycm9yID09IFNCSV9FUlJfREVOSUVECiBQQVNTOiBzYmk6IGZ3ZnQ6IGdldC9z ZXQgcmVzZXJ2ZWQgZmVhdHVyZSAweDgwMDAwMDAwIGVycm9yID09IFNCSV9FUlJfREVOSUVECiBQ QVNTOiBzYmk6IGZ3ZnQ6IGdldC9zZXQgcmVzZXJ2ZWQgZmVhdHVyZSAweGJmZmZmZmZmIGVycm9y ID09IFNCSV9FUlJfREVOSUVECiBQQVNTOiBzYmk6IGZ3ZnQ6IG1pc2FsaWduZWRfZGVsZWc6IEdl dCBtaXNhbGlnbmVkIGRlbGVnIGZlYXR1cmUgbm8gZXJyb3IKIFBBU1M6IHNiaTogZndmdDogbWlz YWxpZ25lZF9kZWxlZzogU2V0IG1pc2FsaWduZWQgZGVsZWcgZmVhdHVyZSBpbnZhbGlkIHZhbHVl IGVycm9yCiBQQVNTOiBzYmk6IGZ3ZnQ6IG1pc2FsaWduZWRfZGVsZWc6IFNldCBtaXNhbGlnbmVk IGRlbGVnIGZlYXR1cmUgaW52YWxpZCB2YWx1ZSBlcnJvcgogUEFTUzogc2JpOiBmd2Z0OiBtaXNh bGlnbmVkX2RlbGVnOiBTZXQgbWlzYWxpZ25lZCBkZWxlZyBmZWF0dXJlIHZhbHVlIG5vIGVycm9y CiBQQVNTOiBzYmk6IGZ3ZnQ6IG1pc2FsaWduZWRfZGVsZWc6IFNldCBtaXNhbGlnbmVkIGRlbGVn IGZlYXR1cmUgdmFsdWUgMAogUEFTUzogc2JpOiBmd2Z0OiBtaXNhbGlnbmVkX2RlbGVnOiBTZXQg bWlzYWxpZ25lZCBkZWxlZyBmZWF0dXJlIHZhbHVlIG5vIGVycm9yCiBQQVNTOiBzYmk6IGZ3ZnQ6 IG1pc2FsaWduZWRfZGVsZWc6IFNldCBtaXNhbGlnbmVkIGRlbGVnIGZlYXR1cmUgdmFsdWUgMQog UEFTUzogc2JpOiBmd2Z0OiBtaXNhbGlnbmVkX2RlbGVnOiBWZXJpZnkgbWlzYWxpZ25lZCBsb2Fk IGV4Y2VwdGlvbiB0cmFwIGluIHN1cGVydmlzb3IKIFNVTU1BUlk6IDUwIHRlc3RzLCAyIHVuZXhw ZWN0ZWQgZmFpbHVyZXMsIDEyIHNraXBwZWQKClRoaXMgc2VyaWVzIGlzIGF2YWlsYWJsZSBhdCBb Nl0uCgpMaW5rOiBodHRwczovL2dpdGh1Yi5jb20vcmlzY3Ytbm9uLWlzYS9yaXNjdi1zYmktZG9j L3JlbGVhc2VzL2Rvd25sb2FkL3Z2My4wLXJjMi9yaXNjdi1zYmkucGRmIFsxXQpMaW5rOiBodHRw czovL2dpdGh1Yi5jb20vcml2b3NpbmMvcWVtdS90cmVlL2Rldi9jbGVnZXIvbWlzYWxpZ25lZCBb Ml0KTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsLzIwMjQxMjExMjExOTMzLjE5ODc5 Mi0zLWZrb25yYWRAYW1kLmNvbS9ULyBbM10KTGluazogaHR0cHM6Ly9naXRodWIuY29tL2NsZW1l bnRsZWdlci9rdm0tdW5pdC10ZXN0cy90cmVlL2Rldi9jbGVnZXIvZndmdF92MSBbNF0KTGluazog aHR0cHM6Ly9naXRodWIuY29tL2NsZW1lbnRsZWdlci91bmFsaWduZWRfdGVzdCBbNV0KTGluazog aHR0cHM6Ly9naXRodWIuY29tL3Jpdm9zaW5jL2xpbnV4L3RyZWUvZGV2L2NsZWdlci9md2Z0X3Yx IFs2XQotLS0KClYyOgogLSBBZGRlZCBLc2VsZnRlc3QgZm9yIG1pc2FsaWduZWQgdGVzdGluZwog LSBBZGRlZCBnZXRfdXNlcigpIHVzYWdlIGluc3RlYWQgb2YgX19nZXRfdXNlcigpCiAtIFJlZW5h YmxlIGludGVycnVwdCB3aGVuIHBvc3NpYmxlIGluIG1pc2FsaWduZWQgYWNjZXNzIGhhbmRsaW5n CiAtIERvY3VtZW50IHRoYXQgcmlzY3Ygc3VwcG9ydHMgdW5hbGlnbmVkLXRyYXBzCiAtIEZpeCBL Vk0gZXh0ZW5zaW9uIHN0YXRlIHdoZW4gYW4gaW5pdCBmdW5jdGlvbiBpcyBwcmVzZW50CiAtIFJl d29yayBTQkkgbWlzYWxpZ25lZCBhY2Nlc3NlcyB0cmFwIGRlbGVnYXRpb24gY29kZQogLSBBZGRl ZCBzdXBwb3J0IGZvciBDUFUgaG90cGx1Z2dpbmcKIC0gQWRkZWQgS1ZNIFNCSSByZXNldCBjYWxs YmFjawogLSBBZGRlZCByZXNldCBmb3IgS1ZNIFNCSSBGV0ZUIGxvY2sKIC0gUmV0dXJuIFNCSV9F UlJfREVOSUVEX0xPQ0tFRCB3aGVuIExPQ0sgZmxhZyBpcyBzZXQKCkNsw6ltZW50IEzDqWdlciAo MTUpOgogIHJpc2N2OiBhZGQgRmlybXdhcmUgRmVhdHVyZSAoRldGVCkgU0JJIGV4dGVuc2lvbnMg ZGVmaW5pdGlvbnMKICByaXNjdjogbWlzYWxpZ25lZDogcmVxdWVzdCBtaXNhbGlnbmVkIGV4Y2Vw dGlvbiBmcm9tIFNCSQogIHJpc2N2OiBtaXNhbGlnbmVkOiB1c2Ugb25fZWFjaF9jcHUoKSBmb3Ig c2NhbGFyIG1pc2FsaWduZWQgYWNjZXNzCiAgICBwcm9iaW5nCiAgcmlzY3Y6IG1pc2FsaWduZWQ6 IHVzZSBjb3JyZWN0IENPTkZJR18gaWZkZWYgZm9yCiAgICBtaXNhbGlnbmVkX2FjY2Vzc19zcGVl ZAogIHJpc2N2OiBtaXNhbGlnbmVkOiBtb3ZlIGVtdWxhdGVkIGFjY2VzcyB1bmlmb3JtaXR5IGNo ZWNrIGluIGEgZnVuY3Rpb24KICByaXNjdjogbWlzYWxpZ25lZDogYWRkIGEgZnVuY3Rpb24gdG8g Y2hlY2sgbWlzYWxpZ24gdHJhcCBkZWxlZ2FiaWxpdHkKICByaXNjdjogbWlzYWxpZ25lZDogZmFj dG9yaXplIHRyYXAgaGFuZGxpbmcKICByaXNjdjogbWlzYWxpZ25lZDogZW5hYmxlIElSUXMgd2hp bGUgaGFuZGxpbmcgbWlzYWxpZ25lZCBhY2Nlc3NlcwogIHJpc2N2OiBtaXNhbGlnbmVkOiB1c2Ug Z2V0X3VzZXIoKSBpbnN0ZWFkIG9mIF9fZ2V0X3VzZXIoKQogIERvY3VtZW50YXRpb24vc3lzY3Rs OiBhZGQgcmlzY3YgdG8gdW5hbGlnbmVkLXRyYXAgc3VwcG9ydGVkIGFyY2hzCiAgc2VsZnRlc3Rz OiByaXNjdjogYWRkIG1pc2FsaWduZWQgYWNjZXNzIHRlc3RpbmcKICBSSVNDLVY6IEtWTTogYWRk IFNCSSBleHRlbnNpb24gaW5pdCgpL2RlaW5pdCgpIGZ1bmN0aW9ucwogIFJJU0MtVjogS1ZNOiBh ZGQgU0JJIGV4dGVuc2lvbiByZXNldCBjYWxsYmFjawogIFJJU0MtVjogS1ZNOiBhZGQgc3VwcG9y dCBmb3IgRldGVCBTQkkgZXh0ZW5zaW9uCiAgUklTQy1WOiBLVk06IGFkZCBzdXBwb3J0IGZvciBT QklfRldGVF9NSVNBTElHTkVEX0RFTEVHCgogRG9jdW1lbnRhdGlvbi9hZG1pbi1ndWlkZS9zeXNj dGwva2VybmVsLnJzdCAgIHwgICA0ICstCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2NwdWZlYXR1 cmUuaCAgICAgICAgICAgfCAgIDggKy0KIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20va3ZtX2hvc3Qu aCAgICAgICAgICAgICB8ICAgNSArLQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9rdm1fdmNwdV9z YmkuaCAgICAgICAgIHwgIDEyICsKIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20va3ZtX3ZjcHVfc2Jp X2Z3ZnQuaCAgICB8ICAzNyArKysKIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vc2JpLmggICAgICAg ICAgICAgICAgICB8ICAzMyArKysKIGFyY2gvcmlzY3YvaW5jbHVkZS91YXBpL2FzbS9rdm0uaCAg ICAgICAgICAgICB8ICAgMSArCiBhcmNoL3Jpc2N2L2tlcm5lbC90cmFwcy5jICAgICAgICAgICAg ICAgICAgICAgfCAgNTcgKystLQogYXJjaC9yaXNjdi9rZXJuZWwvdHJhcHNfbWlzYWxpZ25lZC5j ICAgICAgICAgIHwgMTM4ICsrKysrKysrKy0KIGFyY2gvcmlzY3Yva2VybmVsL3VuYWxpZ25lZF9h Y2Nlc3Nfc3BlZWQuYyAgICB8ICAxMSArLQogYXJjaC9yaXNjdi9rdm0vTWFrZWZpbGUgICAgICAg ICAgICAgICAgICAgICAgIHwgICAxICsKIGFyY2gvcmlzY3Yva3ZtL3ZjcHUuYyAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgNyArLQogYXJjaC9yaXNjdi9rdm0vdmNwdV9zYmkuYyAgICAgICAg ICAgICAgICAgICAgIHwgIDU4ICsrKysKIGFyY2gvcmlzY3Yva3ZtL3ZjcHVfc2JpX2Z3ZnQuYyAg ICAgICAgICAgICAgICB8IDIyNiArKysrKysrKysrKysrKysrCiBhcmNoL3Jpc2N2L2t2bS92Y3B1 X3NiaV9zdGEuYyAgICAgICAgICAgICAgICAgfCAgIDMgKy0KIC4uLi9zZWxmdGVzdHMvcmlzY3Yv bWlzYWxpZ25lZC8uZ2l0aWdub3JlICAgICB8ICAgMSArCiAuLi4vc2VsZnRlc3RzL3Jpc2N2L21p c2FsaWduZWQvTWFrZWZpbGUgICAgICAgfCAgMTIgKwogLi4uL3NlbGZ0ZXN0cy9yaXNjdi9taXNh bGlnbmVkL2NvbW1vbi5TICAgICAgIHwgIDMzICsrKwogLi4uL3Rlc3Rpbmcvc2VsZnRlc3RzL3Jp c2N2L21pc2FsaWduZWQvZnB1LlMgIHwgMTgwICsrKysrKysrKysrKysKIHRvb2xzL3Rlc3Rpbmcv c2VsZnRlc3RzL3Jpc2N2L21pc2FsaWduZWQvZ3AuUyB8IDEwMyArKysrKysrCiAuLi4vc2VsZnRl c3RzL3Jpc2N2L21pc2FsaWduZWQvbWlzYWxpZ25lZC5jICAgfCAyNTQgKysrKysrKysrKysrKysr KysrCiAyMSBmaWxlcyBjaGFuZ2VkLCAxMTM3IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3YvaW5jbHVkZS9hc20va3ZtX3ZjcHVfc2Jp X2Z3ZnQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvcmlzY3Yva3ZtL3ZjcHVfc2JpX2Z3ZnQu YwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3Jpc2N2L21pc2Fs aWduZWQvLmdpdGlnbm9yZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL3Rlc3Rpbmcvc2VsZnRl c3RzL3Jpc2N2L21pc2FsaWduZWQvTWFrZWZpbGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0b29scy90 ZXN0aW5nL3NlbGZ0ZXN0cy9yaXNjdi9taXNhbGlnbmVkL2NvbW1vbi5TCiBjcmVhdGUgbW9kZSAx MDA2NDQgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvcmlzY3YvbWlzYWxpZ25lZC9mcHUuUwogY3Jl YXRlIG1vZGUgMTAwNjQ0IHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3Jpc2N2L21pc2FsaWduZWQv Z3AuUwogY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL3Jpc2N2L21p c2FsaWduZWQvbWlzYWxpZ25lZC5jCgotLSAKMi40Ny4yCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0CmxpbnV4 LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=