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 B82F0C38A02 for ; Fri, 28 Oct 2022 15:10:02 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=AwVlmIhRWpUPxs6j5vUDev4QRvHqP1DKZKgu50B5qN0=; b=LjjGCI56KbORVs zkVH87CF3Do4hPAm3TdNumu2kqqvXNRbQCNU83GZAo+kF4hpR8GjsnWFK3NgbhypgCbyTje/8d8CN VDzZ46gGlS/oyljK8C3Z6yo+kOrM6zi9z3+nRGeGGrB0CRTnubAwxlZ4pybX0SObYku8KBfmh2BAY YSQy+f81eNI7OOTVhA49zuEBx7fkpMJ9+mQgPZWO8EaRxWZyHY/c3W0S9JhuEbTKyAxLmSYdbxyb/ FFjYTPK2jHbQzDtlrhrPx4mH4wRllkhRIzwOxaDdOkWxMW3GKhieATF8670sqh2TJwVdCPC6tvHe7 tvP2WVBNHtXlEvtPYJTw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ooQyW-000PRb-4h; Fri, 28 Oct 2022 15:08:48 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ooQtv-000NF0-S4 for linux-arm-kernel@lists.infradead.org; Fri, 28 Oct 2022 15:04:12 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4736E1FB; Fri, 28 Oct 2022 08:04:07 -0700 (PDT) Received: from e120937-lin (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 242A33F534; Fri, 28 Oct 2022 08:03:59 -0700 (PDT) Date: Fri, 28 Oct 2022 16:03:52 +0100 From: Cristian Marussi To: Vincent Guittot Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, sudeep.holla@arm.com, james.quinlan@broadcom.com, Jonathan.Cameron@huawei.com, f.fainelli@gmail.com, etienne.carriere@linaro.org, souvik.chakravarty@arm.com, wleavitt@marvell.com, peter.hilber@opensynergy.com, nicola.mazzucato@arm.com, tarek.el-sherbiny@arm.com, quic_kshivnan@quicinc.com Subject: Re: [PATCH v4 0/11] Introduce a unified API for SCMI Server testing Message-ID: References: <20221019204626.3813043-1-cristian.marussi@arm.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221028_080404_054803_6C24160C X-CRM114-Status: GOOD ( 60.56 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpLCBPY3QgMjgsIDIwMjIgYXQgMDQ6NDA6MDJQTSArMDIwMCwgVmluY2VudCBHdWl0dG90 IHdyb3RlOgo+IE9uIFdlZCwgMTkgT2N0IDIwMjIgYXQgMjI6NDYsIENyaXN0aWFuIE1hcnVzc2kg PGNyaXN0aWFuLm1hcnVzc2lAYXJtLmNvbT4gd3JvdGU6Cj4gPgo+ID4gSGkgYWxsLAo+ID4KCkhp IFZpbmNlbnQsCgo+ID4gVGhpcyBzZXJpZXMgYWltcyB0byBpbnRyb2R1Y2UgYSBuZXcgU0NNSSB1 bmlmaWVkIHVzZXJzcGFjZSBpbnRlcmZhY2UgbWVhbnQKPiA+IHRvIGVhc2UgdGVzdGluZyBhbiBT Q01JIFNlcnZlciBpbXBsZW1lbnRhdGlvbiBmb3IgY29tcGxpYW5jZSwgZnV6emluZyBldGMuLAo+ ID4gZnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgdGhlIE9TUE0gYWdlbnQgKG5vbi1zZWN1cmUgd29y bGQgb25seSAuLi4pCj4gPgo+ID4gSXQgaXMgcHJvcG9zZWQgYXMgYSB0ZXN0aW5nL2RldmVsb3Bt ZW50IGZhY2lsaXR5LCBpdCBpcyBOT1QgbWVhbnQgdG8gYmUgYQo+ID4gZmVhdHVyZSB0byB1c2Ug aW4gcHJvZHVjdGlvbiwgYnV0IG9ubHkgZW5hYmxlZCBpbiBLY29uZmlnIGZvciB0ZXN0Cj4gPiBk ZXBsb3ltZW50cy4KPiA+Cj4gPiBDdXJyZW50bHkgYW4gU0NNSSBDb21wbGlhbmNlIFN1aXRlIGxp a2UgdGhlIG9uZSBhdCBbMV0gY2FuIG9ubHkgd29yayBieQo+ID4gaW5qZWN0aW5nIFNDTUkgbWVz c2FnZXMgYXQgdGhlIFNDTUkgdHJhbnNwb3J0IGxheWVyIHVzaW5nIHRoZSBtYWlsYm94IHRlc3QK PiA+IGRyaXZlciAoQ09ORklHX01BSUxCT1hfVEVTVCkgdmlhIGl0cyBmZXcgZGVidWdmcyBlbnRy aWVzIGFuZCBsb29raW5nIGF0Cj4gPiB0aGUgcmVsYXRlZCByZXBsaWVzIGZyb20gdGhlIFNDTUkg YmFja2VuZCBTZXJ2ZXIuCj4gPgo+ID4gVGhpcyBhcHByb2FjaCBoYXMgYSBmZXcgZHJhd2JhY2tz Ogo+ID4KPiA+IC0gdGhlIFNDTUkgU2VydmVyIHVuZGVyIHRlc3QgTVVTVCBiZSByZWFjaGFibGUg dGhyb3VnaCBhIG1haWxib3ggYmFzZWQKPiA+ICAgU0NNSSB0cmFuc3BvcnQ6IGFueSBvdGhlciBT Q01JIFNlcnZlciBwbGFjZW1lbnQgaXMgbm90IHBvc3NpYmxlIChsaWtlIGluCj4gPiAgIGEgVk0g cmVhY2hhYmxlIHZpYSBTQ01JIFZpcnRpbykuIEluIG9yZGVyIHRvIGNvdmVyIG90aGVyIHBsYWNl bWVudHMgaW4KPiA+ICAgdGhlIGN1cnJlbnQgc2NlbmFyaW8gd2Ugc2hvdWxkIHdyaXRlIHNvbWUg c29ydCBvZiB0ZXN0IGRyaXZlciBmb3IgZWFjaAo+ID4gICBhbmQgZXZlcnkgZXhpc3RlbnQgU0NN SSB0cmFuc3BvcnQgYW5kIGZvciBhbnkgZnV0dXJlIGFkZGl0aW9uYWwgdHJhbnNwb3J0Cj4gPiAg IC4uLnRoaXMgY2xlYXJseSBkb2VzIG5vdCBzY2FsZS4KPiA+Cj4gPiAtIGV2ZW4gaW4gdGhlIG1h aWxib3ggY2FzZSB0aGUgdXNlcnNwYWNlIENvbXBsaWFuY2Ugc3VpdGUgY2Fubm90IHNpbXBseQo+ ID4gICBzZW5kIGFuZCByZWNlaXZlIGJhcmUgU0NNSSBtZXNzYWdlcyBCVVQgaXQgaGFzIHRvIHBy b3Blcmx5IGxheSB0aGVtIG91dAo+ID4gICBpbnRvIHRoZSBzaGFyZWQgbWVtb3J5IGV4cG9zZWQg YnkgdGhlIG1haWxib3ggdGVzdCBkcml2ZXIgYXMgZXhwZWN0ZWQgYnkKPiA+ICAgdGhlIHRyYW5z cG9ydCBkZWZpbml0aW9ucy4gSW4gb3RoZXIgd29yZHMgc3VjaCBhIHVzZXJzcGFjZSB0ZXN0Cj4g PiAgIGFwcGxpY2F0aW9uIGhhcyB0bywgbm90IG9ubHkgdXNlIGEgcHJvcGVyIHRyYW5zcG9ydCBk cml2ZXIgZm9yIHRoZSBzeXN0ZW0KPiA+ICAgYXQgaGFuZCwgYnV0IGl0IGFsc28gaGFzIHRvIGhh dmUgYSBjb21wcmVoZW5zaXZlIGtub3dsZWRnZSBvZiB0aGUKPiA+ICAgaW50ZXJuYWxzIG9mIHRo ZSB1bmRlcmx5aW5nIHRyYW5zcG9ydCBpbiBvcmRlciB0byBvcGVyYXRlLgo+ID4KPiA+IC0gbGFz dCBidXQgbm90IGxlYXN0LCB0aGUgc3lzdGVtIHVuZGVyIHRlc3QgaGFzIHRvIGJlIHNwZWNpZmlj YWxseQo+ID4gICBjb25maWd1cmVkIGFuZCBidWlsdCwgaW4gdGVybXMgb2YgS2NvbmZpZyBhbmQg RFQsIHRvIHBlcmZvcm0gc3VjaCBraW5kIG9mCj4gPiAgIHRlc3RpbmcsIGl0IGNhbm5vdCBiZSB1 c2VkIGZvciBhbnl0aGluZyBlbHNlLCB3aGljaCBpcyB1bmZvcnR1bmF0ZSBmb3IKPiA+ICAgQ0kv Q0QgZGVwbG95bWVudHMuCj4gPgo+ID4gVGhpcyBzZXJpZXMgaW50cm9kdWNlcyBhIG5ldyBTQ01J IFJhdyBtb2RlIHN1cHBvcnQgZmVhdHVyZSB0aGF0LCB3aGVuCj4gPiBjb25maWd1cmVkIGFuZCBl bmFibGVkIGV4cG9zZXMgYSBuZXcgaW50ZXJmYWNlIGluIGRlYnVnZnMgdGhyb3VnaCB3aGljaDoK PiA+Cj4gPiAtIGEgdXNlcnNwYWNlIGFwcGxpY2F0aW9uIGNhbiBpbmplY3QgYmFyZSBTQ01JIGJp bmFyeSBtZXNzYWdlcyBpbnRvIHRoZQo+ID4gICBTQ01JIGNvcmUgc3RhY2s7IHN1Y2ggbWVzc2Fn ZXMgd2lsbCBiZSByb3V0ZWQgYnkgdGhlIFNDTUkgcmVndWxhciBrZXJuZWwKPiA+ICAgc3RhY2sg dG8gdGhlIGJhY2tlbmQgU2VydmVyIHVzaW5nIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCB0cmFu c3BvcnQKPiA+ICAgdHJhbnNwYXJlbnRseTogaW4gb3RoZXIgd29yZHMgeW91IGNhbiB0ZXN0IHRo ZSBTQ01JIHNlcnZlciwgbm8gbWF0dGVyCj4gPiAgIHdoZXJlIGl0IGlzIHBsYWNlZCwgYXMgbG9u ZyBhcyBpdCBpcyByZWFjaGFibGUgZnJvbSB0aGUgY3VycmVudGx5Cj4gPiAgIGNvbmZpZ3VyZWQg U0NNSSBzdGFjay4KPiA+ICAgU2FtZSBnb2VzIHRoZSBvdGhlciB3YXkgYXJvdW5kIG9uIHRoZSBy ZWFkaW5nIHBhdGg6IGFueSBTQ01JIHNlcnZlciByZXBseQo+ID4gICBjYW4gYmUgcmVhZCBhcyBh IGJhcmUgU0NNSSBiaW5hcnkgbWVzc2FnZSBmcm9tIHRoZSBzYW1lIGRlYnVnZnMgcGF0aC4KPiA+ Cj4gPiAtIGFzIGEgZGlyZWN0IGNvbnNlcXVlbmNlIG9mIHRoaXMgd2F5IG9mIGluamVjdGluZyBi YXJlIG1lc3NhZ2VzIGluIHRoZQo+ID4gICBtaWRkbGUgb2YgdGhlIFNDTUkgc3RhY2sgKGluc3Rl YWQgb2YgYmVuZWF0aCBpdCBhdCB0aGUgdHJhbnNwb3J0IGxheWVyKQo+ID4gICB0aGUgdXNlciBh cHBsaWNhdGlvbiBoYXMgdG8gaGFuZGxlIG9ubHkgYmFyZSBTQ01JIG1lc3NhZ2VzIHdpdGhvdXQg aGF2aW5nCj4gPiAgIHRvIHdvcnJ5IGFib3V0IHRoZSBzcGVjaWZpYyB1bmRlcmx5aW5nIHRyYW5z cG9ydCBpbnRlcm5hbHMgdGhhdCB3aWxsIGJlCj4gPiAgIHRha2VuIGNhcmUgb2YgYnkgdGhlIFND TUkgY29yZSBzdGFjayBpdHNlbGYgdXNpbmcgaXRzIG93biBtYWNoaW5lcnksCj4gPiAgIHdpdGhv dXQgZHVwbGljYXRpbmcgc3VjaCBsb2dpYy4KPiA+Cj4gPiAtIGEgc3lzdGVtIHVuZGVyIHRlc3Qs IG9uY2UgY29uZmlndXJlZCB3aXRoIFNDTUkgUmF3IHN1cHBvcnQgZW5hYmxlZCBpbgo+ID4gICBL Y29uZmlnLCBjYW4gYmUgYm9vdGVkIHdpdGhvdXQgYW55IHBhcnRpY3VsYXIgRFQgY2hhbmdlLgo+ ID4KPiA+IEluIFYyIHRoZSBydW50aW1lIGVuYWJsZS9kaXNhYmxlIHN3aXRjaGluZyBjYXBhYmls aXR5IGhhcyBiZWVuIHJlbW92ZWQKPiA+IChmb3Igbm93KSBzaW5jZSBzdGlsbCBub3QgZGVlbWVk IHRvIGJlIHN0YWJsZS9yZWxpYWJsZSBlbm91Z2g6IGFzIGEKPiA+IGNvbnNlcXVlbmNlIHdoZW4g U0NNSSBSYXcgc3VwcG9ydCBpcyBjb21waWxlZCBpbiwgdGhlIHJlZ3VsYXIgU0NNSSBzdGFjawo+ ID4gZHJpdmVycyBhcmUgbm93IGluaGliaXRlZCBwZXJtYW5lbnRseSBmb3IgdGhhdCBLZXJuZWwu Cj4gPgo+ID4gSW4gVjQgaXQgaGFzIGJlZW4gYWRkZWQgdGhlIHN1cHBvcnQgZm9yIHRyYW5zcG9y dHMgbGFja2luZyBhIGNvbXBsZXRpb25faXJxCj4gPiBvciBjb25maWd1cmVkIGZvcmNpYmx5IGlu IHBvbGxlZCBtb2RlLgo+ID4KPiA+IEEgcXVpY2sgYW5kIHRyaXZpYWwgZXhhbXBsZSBmcm9tIHRo ZSBzaGVsbC4uLnJlYWRpbmcgZnJvbSBhIHNlbnNvcgo+ID4gaW5qZWN0aW5nIGEgcHJvcGVybHkg Y3JhZnRlZCBwYWNrZXQgaW4gcmF3IG1vZGU6Cj4gPgo+ID4gICAgICAgICAjIElOSkVDVCBUSEUg U0VOU09SX1JFQURJTkcgTUVTU0FHRSBGT1IgU0VOU09SIElEPTEgKGJpbmFyeSBsaXR0bGUgZW5k aWFuKQo+ID4gICAgICAgICByb290QGRlYi1idXN0ZXItYXJtNjQ6fiMgZWNobyAtZSAtbiBcXHgw NlxceDU0XFx4MDBcXHgwMFxceDAxXFx4MDBcXHgwMFxceDAwXFx4MDBcXHgwMFxceDAwXFx4MDAg PiAvc3lzL2tlcm5lbC9kZWJ1Zy9zY21pX3Jhdy9tZXNzYWdlCj4gPgo+ID4gICAgICAgICAjIFJF QURJTkcgQkFDSyBUSEUgUkVQTFkuLi4KPiA+ICAgICAgICAgcm9vdEBkZWItYnVzdGVyLWFybTY0 On4jIGNhdCAvc3lzL2tlcm5lbC9kZWJ1Zy9zY21pX3Jhdy9tZXNzYWdlIHwgb2QgLS1lbmRpYW49 bGl0dGxlIC10IHg0Cj4gPiAgICAgICAgIDAwMDAwMDAgMDAwMDU0MDYgMDAwMDAwMDAgMDAwMDAz MzUgMDAwMDAwMDAKPiA+ICAgICAgICAgMDAwMDAyMAo+ID4KPiA+IHdoaWxlIGRvaW5nIHRoYXQs IHNpbmNlIFJhdyBtb2RlIG1ha2VzIChwYXJ0aWFsKSB1c2Ugb2YgdGhlIHJlZ3VsYXIgU0NNSQo+ ID4gc3RhY2ssIHlvdSBjYW4gb2JzZXJ2ZSB0aGUgbWVzc2FnZXMgZ29pbmcgdGhyb3VnaCB0aGUg U0NNSSBzdGFjayB3aXRoIHRoZQo+ID4gdXN1YWwgdHJhY2VzOgo+ID4KPiA+ICAgICAgICAgICAg ICAgYmFzaC0zMjkgICAgIFswMDBdIC4uLi4uIDE0MTgzLjQ0NjgwODogc2NtaV9tc2dfZHVtcDog cHQ9MTUgdD1DTU5EIG1zZ19pZD0wNiBzZXE9MDAwMCBzPTAgcHlsZD0wMTAwMDAwMDAwMDAwMDAw Cj4gPiAgICBpcnEvMzUtbWh1X2RiX2wtODEgICAgICBbMDAwXSAuLi4uLiAxNDE4My40NDc4MDk6 IHNjbWlfbXNnX2R1bXA6IHB0PTE1IHQ9UkVTUCBtc2dfaWQ9MDYgc2VxPTAwMDAgcz0wIHB5bGQ9 MzUwMzAwMDAwMDAwMDAwMAo+ID4KPiA+Cj4gPiAuLnRyeWluZyB0byByZWFkIGluIGFzeW5jIHdo ZW4gdGhlIGJhY2tlbmQgc2VydmVyIGRvZXMgTk9UIHN1cHBvcnRzIGFzeW5jczoKPiA+Cj4gPiAg ICAgICAgICMgQU4gQVNZTkMgU0VOU09SIFJFQURJTkcgUkVRVUVTVC4uLgo+ID4gICAgICAgICBy b290QGRlYi1idXN0ZXItYXJtNjQ6fiMgZWNobyAtZSAtbiBcXHgwNlxceDU0XFx4MDBcXHgwMFxc eDAxXFx4MDBcXHgwMFxceDAwXFx4MDFcXHgwMFxceDAwXFx4MDAgPiAvc3lzL2tlcm5lbC9kZWJ1 Zy9zY21pX3Jhdy9tZXNzYWdlX2FzeW5jCj4gPgo+ID4gICAgICAgICAgICAgICBiYXNoLTMyOSAg ICAgWzAwMF0gLi4uLi4gMTY0MTUuOTM4NzM5OiBzY21pX21zZ19kdW1wOiBwdD0xNSB0PUNNTkQg bXNnX2lkPTA2IHNlcT0wMDAwIHM9MCBweWxkPTAxMDAwMDAwMDEwMDAwMDAKPiA+ICAgIGlycS8z NS1taHVfZGJfbC04MSAgICAgIFswMDBdIC4uLi4uIDE2NDE1Ljk0NDEyOTogc2NtaV9tc2dfZHVt cDogcHQ9MTUgdD1SRVNQIG1zZ19pZD0wNiBzZXE9MDAwMCBzPS0xIHB5bGQ9Cj4gPgo+ID4gICAg ICAgICAjIFJFVFVSTlMgQSBTVEFUVVMgLTEgRlJPTSBUSEUgU0VSVkVSIE5PVCBTVVBQT1JUSU5H IElUCj4gPiAgICAgICAgIHJvb3RAZGViLWJ1c3Rlci1hcm02NDp+IyBjYXQgL3N5cy9rZXJuZWwv ZGVidWcvc2NtaV9yYXcvbWVzc2FnZSB8IG9kIC0tZW5kaWFuPWxpdHRsZSAtdCB4NAo+ID4gICAg ICAgICAwMDAwMDAwIDAwMDA1NDA2IGZmZmZmZmZmCj4gPiAgICAgICAgIDAwMDAwMTAKPiA+Cj4g PiBOb3RlIHRoYXQgdGhpcyB3YXMgb24gYSBKVU5PLCBCVVQgZXhhY3RseSB0aGUgc2FtZSBzdGVw cyBjYW4gYmUgdXNlZCB0bwo+ID4gcmVhY2ggYW4gU0NNSSBTZXJ2ZXIgbGl2aW5nIG9uIGEgVk0g cmVhY2hhYmxlIHZpYSB2aXJ0aW8gYXMgbG9uZyBhcyB0aGUKPiA+IHN5c3RlbSB1bmRlciB0ZXN0 IGlmIHByb3Blcmx5IGNvbmZpZ3VyZWQgdG8gd29yayB3aXRoIGEgdmlydGlvIHRyYW5zcG9ydC4K PiA+Cj4gPiBJbiBhIG51dHNoZWxsIHRoZSBleHBvc2VkIEFQSSBpcyBhcyBmb2xsb3dzOgo+ID4K PiA+IC9zeXMva2VybmVsL2RlYnVnL3NjbWlfcmF3Lwo+ID4g4pSc4pSA4pSAIGVycm9ycwo+ID4g 4pSc4pSA4pSAIG1lc3NhZ2UKPiA+IOKUnOKUgOKUgCBtZXNzYWdlX2FzeW5jCj4gPiDilJzilIDi lIAgbm90aWZpY2F0aW9uCj4gPiDilJzilIDilIAgcmVzZXQKPiA+IOKUnOKUgOKUgCB0cmFuc3Bv cnRfbWF4X21zZ19zaXplCj4gPiDilJzilIDilIAgdHJhbnNwb3J0X3J4X3RpbWVvdXRfbXMKPiA+ IOKUlOKUgOKUgCB0cmFuc3BvcnRfdHhfbWF4X21zZwo+ID4KPiA+IHdoZXJlOgo+ID4KPiA+ICAt IG1lc3NhZ2UqOiB1c2VkIHRvIHNlbmQgc3luYy9hc3luYyBjb21tYW5kcyBhbmQgcmVhZCBiYWNr IGltbWVkaWF0ZSBhbmQKPiA+ICAgIGRlbGF5ZWQgcmVzcG9uc2VzIChpZiBhbnkpCj4gPiAgLSBl cnJvcnM6IHVzZWQgdG8gcmVwb3J0IHRpbWVvdXQgYW5kIHVuZXhwZWN0ZWQgcmVwbGllcwo+ID4g IC0gcmVzZXQ6IHVzZWQgdG8gcmVzZXQgdGhlIFNDTUkgUmF3IHN0YWNrLCBmbHVzaGluZyBhbGwg cXVldWVzIGZyb20KPiA+ICAgIHJlY2VpdmVkIG1lc3NhZ2VzIHN0aWxsIHBlbmRpbmcgdG8gYmUg cmVhZCBvdXQgKHVzZWZ1bCB0byBiZSBzdXJlIHRvCj4gPiAgICBjbGVhbnVwIGJldHdlZW4gdGVz dCBzdWl0ZSBydW5zLi4uKQo+ID4gIC0gbm90aWZpY2F0aW9uOiB1c2VkIHRvIHJlYWQgYW55IG5v dGlmaWNhdGlvbiBiZWluZyBzcGl0IGJ5IHRoZSBzeXN0ZW0KPiA+ICAgIChpZiBwcmV2aW91c2x5 IGVuYWJsZWQgYnkgdGhlIHVzZXIgYXBwKQo+ID4gIC0gdHJhbnNwb3J0KjogYSBidW5jaCBvZiBj b25maWd1cmF0aW9uIHVzZWZ1bCB0byBzZXR1cCB0aGUgdXNlcgo+ID4gICAgYXBwbGljYXRpb24g ZXhwZWN0YXRpb25zIGluIHRlcm1zIG9mIHRpbWVvdXRzIGFuZCBtZXNzYWdlCj4gPiAgICBjaGFy YWN0ZXJpc3RpY3MuCj4gPgo+ID4gRWFjaCB3cml0ZSBjb3JyZXNwb25kcyB0byBvbmUgY29tbWFu ZCByZXF1ZXN0IGFuZCB0aGUgcmVwbGllcyBvciBkZWxheWVkCj4gPiByZXNwb25zZSBhcmUgcmVh ZCBiYWNrIG9uZSBtZXNzYWdlIGF0IHRpbWUgKHJlY2VpdmluZyBhbiBFT0YgYXQgZWFjaAo+ID4g bWVzc2FnZSBib3VuZGFyeSkuCj4gPgo+ID4gVGhlIHVzZXIgYXBwbGljYXRpb24gcnVubmluZyB0 aGUgdGVzdCBpcyBpbiBjaGFyZ2Ugb2YgaGFuZGxpbmcgdGltZW91dHMKPiA+IGFuZCBwcm9wZXJs eSBjaG9vc2luZyBTQ01JIHNlcXVlbmNlIG51bWJlcnMgZm9yIHRoZSBvdXRnb2luZyByZXF1ZXN0 czogbm90ZQo+ID4gdGhhdCB0aGUgc2FtZSBmaXhlZCBudW1iZXIgY2FuIGJlIHJlLXVzZWQgKC4u LnRob3VnaCBkaXNjb3VyYWdlZC4uLikgYXMKPiA+IGxvbmcgYXMgdGhlIHN1aXRlIGRvZXMgTk9U IGV4cGVjdCB0byBzZW5kIG11bHRpcGxlIGluLWZsaWdodCBjb21tYW5kcwo+ID4gY29uY3VycmVu dGx5Lgo+ID4KPiA+IFNpbmNlIHRoZSBTQ01JIGNvcmUgcmVndWxhciBzdGFjayBpcyBwYXJ0aWFs bHkgdXNlZCB0byBkZWxpdmVyIGFuZCBjb2xsZWN0Cj4gPiB0aGUgbWVzc2FnZXMsIGxhdGUgcmVw bGllcyBhZnRlciB0aW1lb3V0cyBhbmQgYW55IG90aGVyIHNvcnQgb2YgdW5leHBlY3RlZAo+ID4g bWVzc2FnZSBzZW50IGJ5IHRoZSBTQ01JIHNlcnZlciBwbGF0Zm9ybSBiYWNrIGNhbiBiZSBpZGVu dGlmaWVkIGJ5IHRoZSBTQ01JCj4gPiBjb3JlIGFzIHVzdWFsIGFuZCBpdCB3aWxsIGJlIHJlcG9y dGVkIHVuZGVyIC9lcnJvcnMgZm9yIGxhdGVyIGFuYWx5c2lzLgo+ID4gKGEgdXNlcnNwYWNlIHRl c3QtYXBwIHdpbGwgaGF2ZSBhbnl3YXkgcHJvcGVybHkgZGV0ZWN0ZWQgdGhlIHRpbWVvdXQgb24K PiA+ICAvbWVzc2FnZSogLi4uKQo+ID4KPiA+IEFsbCBvZiB0aGUgYWJvdmUgaGFzIGJlZW4gcm91 Z2hseSB0ZXN0ZWQgYWdhaW5zdCBhIHN0YW5kYXJkIEpVTk8gU0NQIFNDTUkKPiA+IFNlcnZlciAo bWFpbGJveCB0cmFucykgYW5kIGFuIGVtdWxhdGVkIFNDTUkgU2VydmVyIGxpdmluZyBpbiBhIFZN ICh2aXJ0aW8KPiA+IHRyYW5zKSB1c2luZyBhIGN1c3RvbSBleHBlcmltZW50YWwgdmVyc2lvbiBv ZiB0aGUgc2NtaS10ZXN0cyBDb21wbGlhbmNlCj4gPiBzdWl0ZSBwYXRjaGVkIHRvIHN1cHBvcnQg UmF3IG1vZGUgYW5kIHBvc3RlZCBhdCBbMl0uIChzdGlsbCBpbiBkZXZlbG9wbWVudAo+ID4gLi4u bWVyZ2UgcmVxdWVzdHMgYXJlIGluIHByb2dyZXNzLi4uZm9yIG5vdyBpdCBpcyBqdXN0IGEgbWVh biBmb3IgbWUgdG8KPiA+IHRlc3QgdGhlIHRlc3RpbmcgQVBJIC4uLiBPX28pCj4gPgo+ID4gVGhl IHNlcmllcyBpcyBiYXNlZCBvbiB2Ni4xLXJjMS4KPiA+Cj4gPiBIYXZpbmcgc2FpZCB0aGF0IChp biBzdWNoIGEgY29uY2lzZSBhbmQgYnJpZWYgd2F5IDpQKSAuLi4KPiA+Cj4gPiAuLi5hbnkgZmVl ZGJhY2svY29tbWVudHMgYXJlIHdlbGNvbWUgIQo+IAo+IEhpIENyaXN0aWFuLAo+IAo+IEkgaGF2 ZSB0ZXN0ZWQgeW91ciBzZXJpZXMgd2l0aCBhbiBvcHRlZSBtZXNzYWdlIHRyYW5zcG9ydCBsYXll ciBhbmQKPiBiZWVuIGFibGUgdG8gc2VuZCByYXcgbWVzc2FnZXMgdG8gdGhlIHNjbWkgc2VydmVy IFBUQQo+IAo+IEZXSVcKPiAKPiBUZXN0ZWQtYnk6IFZpbmNlbnQgR3VpdHRvdCA8dmluY2VudC5n dWl0dG90QGxpbmFyby5vcmc+Cj4gCgpUaGFua3MgYSBsb3QgZm9yIHlvdXIgdGVzdCBhbmQgZmVl ZGJhY2sgIQoKLi4uIGJ1dCBJIHdhcyBnb2luZyB0byByZXBseSB0byB0aGlzIHNheWluZyB0aGF0 IEkgc3BvdHRlZCBhbm90aGVyIGlzc3VlCndpdGggdGhlIGN1cnJlbnQgU0NNSSBSYXcgaW1wbGVt ZW50YXRpb24gKE5PVCByZWxhdGVkIHRvIG9wdGVlL3NtYykgc28KdGhhdCBJJ2xsIHBvc3QgYSBW NSBuZXh0IHdlZWsgOlAKCkFueXdheSwgdGhlIGlzc3VlIGlzIG11Y2ggcmVsYXRlZCB0byB0aGUg ZGVidWdmcyByb290IHVzZWQgYnkgU0NNSSBSYXcsCmkuZS46CgoJL3N5cy9rZXJuZWwvZGVidWcv c2NtaV9yYXcvCgouLnRoaXMgd29ya3MgZmluZSB1bmxlc3MgeW91IHJ1biBpdCBvbiBhIHN5c3Rl bSBzcG9ydGluZyBtdWx0aXBsZSBEVC1kZWZpbmVkCnNlcnZlciBpbnN0YW5jZXMgLi4udGhhdCBp cyBub3Qgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnV0Li4uLmVobS4uLmEgbGl0dGxlCmJpcmQgdG9s ZCB0aGVzZSBzeXN0ZW0gd2l0aCBtdWx0aXBsZSBzZXJ2ZXJzIGRvIGV4aXN0cyA6RAoKSW4gc3Vj aCBhIGNhc2UgdGhlIFNDTUkgY29yZSBzdGFjayBpcyBwcm9iZWQgbXVsdGl1cGxlIHRpbWVzIGFu ZCBzbyBpdAp3aWxsIHRyeSB0byByZWdpc3RlciBtdWx0aXBsZSBkZWJ1Z2ZzIFJhdyByb290czog dGhlcmUgaXMgbm8gY2hhbmNoZSB0bwpyb290IHRoZSBTQ01JIFJhdyBlbnRyaWVzIGF0IHRoZSBz YW1lIHBvaW50IGNsZWFybHkgLi4uIGFuZCB0aGVuIGFueXdheQp0aGVyZSBpcyB0aGUgaXNzdWUg b2YgcmVjb2duaXppbmcgd2hpY2ggc2VydmVyIGlzIHJvb3RlZCB3aGVyZSAuLi4gd2l0aAp0aGUg YWRkaXRpb25hbCBwYWluIHRoYXQgYSBzZXJ2ZXIgQ0FOTk9UIGJlIHJlY29nbml6ZWQgYnkgcXVl cnlpbmcuLi5jYXVzZQp0aGVyZSBpcyBvbmx5IG9uZSBieSB0ZWggc3BlYyB3aXRoIGFnZW50SUQg WkVSTyAuLi4gaW4gdGhlb3J5IDpELi4uCgpTbyBteSB0ZW50YWl2ZSBzb2x1dGlvbiBmb3IgVjUg d291bGQgYmU6CgotIGNoYW5nZSB0aGUgUmF3IHJvb3QgZGVidWdmcyBhczoKCgkvc3lzL2tlcm5l bC9kZWJ1Zy9zY21pX3Jhdy8wLy4uLiAoZmlyc3Qgc2VydmVyIGRlZmluZWQpCgoJL3N5cy9rZXJu ZWwvZGVidWcvc2NtaV9yYXcvMS8uLi4gKHBvc3NpYmxlIGFkZGl0aW9uYWwgc2VydmVyKHMpLi4p CgotIGV4cG9zZSB0aGUgRFQgc2NtaS1zZXJ2ZXIgcm9vdC1ub2RlIG5hbWUgb2YgdGhlIHNlcnZl ciBzb21ld2hlcmUgdW5kZXIKICB0aGF0IGRlYnVnZnMgcm9vdCBsaWtlOgoKCS4uLi4vc2NtaV9y YXcvMC90cmFuc3BvcnRfbmFtZSAtPiAnc2NtaS1tYngnCgoJLi4uLi9zY21pX3Jhdy8xL3RyYW5z cG9ydF9uYW1lIC0+ICdzY21pLXZpcnRpbycKCiAgc28gdGhhdCBpZiB5b3Uga25vdyBIT1cgeW91 IGhhdmUgY29uZmlndXJlZCB5b3VyIG93biBzeXN0ZW0gaW4gdGhlIERUCiAgKG1heWJlIG11bHRp cGxlIHNlcnZlcnMgd2l0aCBkaWZmZXJlbnQga2luZCBvZiB0cmFuc3BvcnRzID8pLCB5b3UgY2Fu CiAgZWFzaWx5IHNlbGVjdCBwcm9ncmFtbWF0aWNhbGx5IHdoaWNoIG9uZSBpcyB3aGljaCwgYW5k IHNvIGRlY2lkZQogIHdoaWNoIFJhdyBkZWJ1Z2ZzIGZzIHRvIHVzZS4uLgoKLi4uIEkgcGxhbiB0 byBsZWF2ZSB0aGUgU0NNSSBBQ1Mgc3VpdGUgdXNlIGJ5IGRlZmF1bHQgdGhlIGZpcnN0IHN5c3Rl bQpyb290ZWQgYXQgL3N5cy9rZXJuZWwvZGVidWcvc2NtaV9yYXcvMC8uLi5tYXliZSBhZGRpbmcg YSBjb21tYW5kbGluZQpvcHRpb24gdG8gY2hvb3NlIGFuIGFsdGVybmF0aXZlIHBhdGggZm9yIFND TUkgUmF3LgoKRG9lcyBhbGwgb2YgdGhpcyBzb3VuZCByZWFzb25hYmxlID8KClRoYW5rcywKQ3Jp c3RpYW4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg==