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 C9196C77B7A for ; Wed, 24 May 2023 10:41:05 +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=HYoobnzQ16W3CSdzPc9zzwb8EGZLBUuPEeYz4KB9GCU=; b=Yjfsb5TlvI+WId DU0cqeMo1v/nAQ804zVjxExTo1u61gxCoiD7ZfEvp7lpNBG1+6DFrVcSKtKZxzYvzeYz9+uWxfi3H EkFIss59AJ5AEveTgVU+5SEbJTa9DEhlXVVZf1xh6fLSR0wn84Nf3Qeb8RR/29DBJmilDHnSjKUw6 DjWE3uK+L4yF5bJyosEwNUAbYJuQUA7Xfxrbp7SiYdoz72L/7KS75jS2NIHpdQx42YRsP5m0DYlnS 1HKRxiapkjl8ybQxliiF3wHJMYAjwMvLEUnXZ7+EtvfQI5NiJng4aK3zqVfSIEogmxwKXfFVXPvE1 TP5aNf16AzZjygEGqFcg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q1lv2-00DDZF-0M; Wed, 24 May 2023 10:40:36 +0000 Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q1luy-00DDTI-0f for linux-arm-kernel@lists.infradead.org; Wed, 24 May 2023 10:40:34 +0000 Received: by mail-ed1-x52c.google.com with SMTP id 4fb4d7f45d1cf-50a20bfe366so273358a12.0 for ; Wed, 24 May 2023 03:40:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; t=1684924828; x=1687516828; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:mail-followup-to:message-id:subject:cc:to :from:date:from:to:cc:subject:date:message-id:reply-to; bh=vSBx3Jy1mTVvH1DDifa+BTFAVrVdzMfrjrerJocMzTc=; b=MsncBU0Xz5NtTD5S78mXMEeC4K94W2pwnNzWeSZrGQG5dJS82huGUy3CeFMYH9IiDt uJrbvxQOo8WvI+Zx2GRQ6Z3AbzchyrDuGEXD5OdYlnDK9XhsxexvCXh09C24BvmE40dX 9mvid7TkCoJwkRNQPQd8tZNSIFdp98fDgbtnY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684924828; x=1687516828; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:mail-followup-to:message-id:subject:cc:to :from:date:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=vSBx3Jy1mTVvH1DDifa+BTFAVrVdzMfrjrerJocMzTc=; b=SKCMo7a1b+e/ZqnI9/h10kkd/jD2RsQ4zkpuI3MyJ2J+nje1znHIX+H8KqBkGj/lfi Hv80Urmu0wHpNE7/3pPGRVkCzkbqXbTKEhMtDjPL8EdWiGrzCib5Z+KsD2pdN1h+lwxw FFmo6LaZqYDqBgmO91xiLDy5k9QI20xEfQh636P6A2jNcJ+MxCwH4759s/DqWAWnGa3I 922AI7s3I67a7WFR/aJnhlMcF8LUqF/mGI56ciGi+LC1wp1E4M5usYgLhRxKE2NlFfbG 6/jJRVociQzURW8JINSWWjV9fp4G7CrPH528gZp6sTaXNwyCj4ygoioIGoNgz4paiahw Tn+g== X-Gm-Message-State: AC+VfDywVw2g+Z9Bomh+xaR+hiUWYRKjT389gT0vOTOdbstdqMbhWbtz HXmWzVFa5xUic9TleRx610wiXg== X-Google-Smtp-Source: ACHHUZ4KUw5NB3BOPHGF+oh7fuHhF9gCQe2opcFl/h4sFdwHa3h9ymnCb0ViPZg5quW6K3zoFzNnhA== X-Received: by 2002:a17:906:72ce:b0:96f:56ab:c69b with SMTP id m14-20020a17090672ce00b0096f56abc69bmr1766954ejl.3.1684924827732; Wed, 24 May 2023 03:40:27 -0700 (PDT) Received: from phenom.ffwll.local (212-51-149-33.fiber7.init7.net. [212.51.149.33]) by smtp.gmail.com with ESMTPSA id c25-20020a170906155900b0094f282fc29asm5554047ejd.207.2023.05.24.03.40.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 May 2023 03:40:27 -0700 (PDT) Date: Wed, 24 May 2023 12:40:25 +0200 From: Daniel Vetter To: Oded Gabbay Cc: Kevin Hilman , Jeffrey Hugo , Alexandre Bailon , airlied@gmail.com, daniel@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, devicetree@vger.kernel.org, conor+dt@kernel.org, bero@baylibre.com, jstephan@baylibre.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, christian.koenig@amd.com, linaro-mm-sig@lists.linaro.org, robh+dt@kernel.org, linux-mediatek@lists.infradead.org, nbelin@baylibre.com, krzysztof.kozlowski+dt@linaro.org, matthias.bgg@gmail.com, linux-media@vger.kernel.org, sumit.semwal@linaro.org, linux-arm-kernel@lists.infradead.org, angelogioacchino.delregno@collabora.com Subject: Re: [PATCH 0/7] Add a DRM driver to support AI Processing Unit (APU) Message-ID: Mail-Followup-To: Oded Gabbay , Kevin Hilman , Jeffrey Hugo , Alexandre Bailon , airlied@gmail.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, devicetree@vger.kernel.org, conor+dt@kernel.org, bero@baylibre.com, jstephan@baylibre.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, christian.koenig@amd.com, linaro-mm-sig@lists.linaro.org, robh+dt@kernel.org, linux-mediatek@lists.infradead.org, nbelin@baylibre.com, krzysztof.kozlowski+dt@linaro.org, matthias.bgg@gmail.com, linux-media@vger.kernel.org, sumit.semwal@linaro.org, linux-arm-kernel@lists.infradead.org, angelogioacchino.delregno@collabora.com References: <20230517145237.295461-1-abailon@baylibre.com> <7ha5xud3m7.fsf@baylibre.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Operating-System: Linux phenom 6.1.0-7-amd64 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230524_034032_255493_22B28600 X-CRM114-Status: GOOD ( 46.95 ) 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 T24gV2VkLCBNYXkgMjQsIDIwMjMgYXQgMDE6Mjc6MDBQTSArMDMwMCwgT2RlZCBHYWJiYXkgd3Jv dGU6Cj4gT24gV2VkLCBNYXkgMjQsIDIwMjMgYXQgMjozNOKAr0FNIEtldmluIEhpbG1hbiA8a2hp bG1hbkBiYXlsaWJyZS5jb20+IHdyb3RlOgo+ID4KPiA+IEplZmZyZXkgSHVnbyA8cXVpY19qaHVn b0BxdWljaW5jLmNvbT4gd3JpdGVzOgo+ID4KPiA+ID4gT24gNS8xNy8yMDIzIDg6NTIgQU0sIEFs ZXhhbmRyZSBCYWlsb24gd3JvdGU6Cj4gPiA+PiBUaGlzIGFkZHMgYSBEUk0gZHJpdmVyIHRoYXQg aW1wbGVtZW50cyBjb21tdW5pY2F0aW9uIGJldHdlZW4gdGhlIENQVSBhbmQgYW4KPiA+ID4+IEFQ VS4gVGhlIGRyaXZlciB0YXJnZXQgZW1iZWRkZWQgZGV2aWNlIHRoYXQgdXN1YWxseSBydW4gaW5m ZXJlbmNlIHVzaW5nIHNvbWUKPiA+ID4+IHByZWJ1aWx0IG1vZGVscy4gVGhlIGdvYWwgaXMgdG8g cHJvdmlkZSBjb21tb24gaW5mcmFzdHJ1Y3R1cmUgdGhhdCBjb3VsZCBiZQo+ID4gPj4gcmUtdXNl ZCB0byBzdXBwb3J0IG1hbnkgYWNjZWxlcmF0b3JzLiBCb3RoIGtlcm5lbCwgdXNlcnNwYWNlIGFu ZCBmaXJtd2FyZSB0cmllcwo+ID4gPj4gdG8gdXNlIHN0YW5kYXJkIGFuZCBleGlzdGluZyB0byBs ZXZlcmFnZSB0aGUgZGV2ZWxvcG1lbnQgYW5kIG1haW50ZW5hbmNlIGVmZm9ydC4KPiA+ID4+IFRo ZSBzZXJpZXMgaW1wbGVtZW50cyB0d28gcGxhdGZvcm0gZHJpdmVycywgb25lIGZvciBzaW11bGF0 aW9uIGFuZCBhbm90aGVyIG9uZSBmb3IKPiA+ID4+IHRoZSBtdDgxODMgKGNvbXBhdGlibGUgd2l0 aCBtdDgzNjUpLgo+ID4gPgo+ID4gPiBUaGlzIGxvb2tzIGxpa2UgdGhlIDMgZXhpc3RpbmcgQWNj ZWwgZHJpdmVycy4gIFdoeSBpcyB0aGlzIGluIERSTT8KPiA+Cj4gPiBZZXMsIHRoaXMgYmVsb25n cyBpbiBhY2NlbC4gIEkgdGhpbmsgQWxleCBoYWQgc29tZSBpc3N1ZXMgYXJvdW5kIHRoZQo+ID4g aW5mcmEgaW4gYWNjZWwgd2l0aCBkZXZpY2Ugbm9kZXMgbm90IGFwcGVhcmluZy9vcGVuaW5nIHBy b3Blcmx5LCBidXQKPiA+IEknbGwgbGV0IGhpbSBjb21tZW50IHRoZXJlLiAgQnV0IGVpdGhlciB3 YXksIHRoZSByaWdodCBhcHByb2FjaCBzaG91bGQKPiA+IGJlIHRvIGZpeCBhbnkgaXNzdWVzIGlu IGFjY2VsIGFuZCBtb3ZlIGl0IHRoZXJlLgo+ID4KPiA+IFsuLi5dCj4gPgo+ID4gPj4gICAuLi4v ZGV2aWNldHJlZS9iaW5kaW5ncy9ncHUvbXRrLGFwdS1kcm0ueWFtbCAgfCAgMzggKysKPiA+ID4+ ICAgZHJpdmVycy9ncHUvZHJtL0tjb25maWcgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICsK PiA+ID4+ICAgZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgIHwg ICAxICsKPiA+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2FwdS9LY29uZmlnICAgICAgICAgICAgICAg ICAgIHwgIDIyICsKPiA+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2FwdS9NYWtlZmlsZSAgICAgICAg ICAgICAgICAgIHwgIDEwICsKPiA+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2FwdS9hcHVfZHJ2LmMg ICAgICAgICAgICAgICAgIHwgMjgyICsrKysrKysrKwo+ID4gPj4gICBkcml2ZXJzL2dwdS9kcm0v YXB1L2FwdV9nZW0uYyAgICAgICAgICAgICAgICAgfCAyMzAgKysrKysrKwo+ID4gPj4gICBkcml2 ZXJzL2dwdS9kcm0vYXB1L2FwdV9pbnRlcm5hbC5oICAgICAgICAgICAgfCAyMDUgKysrKysrCj4g PiA+PiAgIGRyaXZlcnMvZ3B1L2RybS9hcHUvYXB1X3NjaGVkLmMgICAgICAgICAgICAgICB8IDU5 MiArKysrKysrKysrKysrKysrKysKPiA+ID4+ICAgZHJpdmVycy9ncHUvZHJtL2FwdS9zaW11X2Fw dS5jICAgICAgICAgICAgICAgIHwgMzEzICsrKysrKysrKwo+ID4gPj4gICBpbmNsdWRlL3VhcGkv ZHJtL2FwdV9kcm0uaCAgICAgICAgICAgICAgICAgICAgfCAgODEgKysrCj4gPiA+Cj4gPiA+ICJh cHUiIHNlZW1zIHRvbyBnZW5lcmljLiAgV2UgYWxyZWFkeSBoYXZlIDMgIkFJIHByb2Nlc3Npbmcg dW5pdHMiIG92ZXIKPiA+ID4gaW4gZHJpdmVycy9hY2NlbCBhbHJlYWR5Li4uCj4gPgo+ID4gSW5k ZWVkLCBpdCBpcyBnZW5lcmljLCBidXQgdGhhdCdzIGtpbmQgb2YgdGhlIHBvaW50IGZvciB0aGlz IGRyaXZlcgo+ID4gc2luY2UgaXQncyB0YXJnZXR0ZWQgYXQgZ2VuZXJhbGl6aW5nIHRoZSBpbnRl cmZhY2Ugd2l0aCAiQUkgcHJvY2Vzc2luZwo+ID4gdW5pdHMiIG9uIGEgZ3Jvd2luZyBudW1iZXIg b2YgZW1iZWRkZWQgU29DcyAoQVJNLCBSSVNDLVYsIGV0Yy4pICBJbgo+ID4gYWRkaXRpb24sIHRo ZSBnZW5lcmljIG5hbWluZyBpcyBpbnRlbnRpb25hbCBiZWNhdXNlIHRoZSBnb2FsIGlzIGJpZ2dl cgo+ID4gdGhhbiB0aGUga2VybmVsIGFuZCBpcyB3b3JraW5nIHRvd2FyZHMgYSBnZW5lcmljLCBz aGFyZWQgImxpYkFQVSIKPiA+IHVzZXJzcGFjZVsxXSwgYnV0IGFsc28gY29tbW9uIGZpcm13YXJl IGZvciBEU1Atc3R5bGUgaW5mZXJlbmNlIGVuZ2luZXMKPiA+IChlLmcuIGFuYWxnb3VzIFNvdW5k IE9wZW4gRmlybXdhcmUgZm9yIGF1ZGlvIERTUHMuKQo+ID4KPiA+IEFzIHVzdWFsLCB0aGUgdmFy aW91cyBTb0MgdmVuZG9ycyB1c2UgZGlmZmVyZW50IG5hbWVzIChBUFUsIE5QVSwgTk4KPiA+IHVu aXQsIGV0Yy4pICBidXQgd2UnZCBsaWtlIGEgZ2VuZXJpYyBuYW1lIGZvciB0aGUgY2xhc3Mgb2Yg ZGV2aWNlcwo+ID4gdGFyZ2V0dGVkIGJ5IHRoaXMgZHJpdmVyLiAgQW5kIHVuZm9ydHVuYXRlbHks IGl0IGxvb2tzIGxpa2UgdGhlIGVxdWFsbHkKPiA+IGdlbmVyaWMgIlZlcnNhdGlsZSBwcm9jZXNz aW5nIHVuaXQiIGlzIGFscmVhZHkgdGFrZW4gSW50ZWwncwo+ID4gZHJpdmVycy9hY2NlbC9pdnB1 LiA6KQo+ID4KPiA+IE1heWJlIHNpbmNlIHRoaXMgaXMgbW9yZSBhYm91dCBnZW5lcmFsaXppbmcg dGhlIGludGVyZmFjZSBiZXR3ZWVuIHRoZQo+ID4gQ1BVIHJ1bm5pbmcgbGludXggYW5kIHRoZSBB UFUsIHdoYXQgYWJvdXQgdGhlIG5hbWUgYXB1X2lmPyAgQnV0IEkgZ3Vlc3MKPiA+IHRoYXQgYXBw bGllcyB0byB0aGUgb3RoZXIgMyBkcml2ZXJzIGluIGRyaXZlcnMvYWNjZWxsIGFsc28uICBIbW1t Li4uCj4gPgo+ID4gTmFtaW5nIHRoaW5ncyBpcyBoYXJkWzJdLCBzbyB3ZSdyZSBkZWZpbml0bHkg b3BlbiB0byBvdGhlciBpZGVhcy4gIEFueQo+ID4gc3VnZ2VzdGlvbnM/Cj4gTWF5YmUgbW9kZWwg aXQgYWNjb3JkaW5nIHRvIHRoZSB0aW55IGRyaXZlciBpbiBkcm0gZGlzcGxheSA/IFlvdSBjYW4K PiB0aGVuIGNhbGwgaXQgdGlueV9hcHUgOi0pCj4gRGlzY2xvc3VyZTogSXQgd2FzIERhbmllbCdz IHN1Z2dlc3Rpb24sIGhlIGNhbiBjaGltZSBpbiB3aXRoIG1vcmUKPiBkZXRhaWxzIG9uIHRoZSB0 aW55IGRyaXZlciBjb25jZXB0LgoKWWVhaCBzbyBtYXliZSBhIGJpdCBtb3JlIGRldGFpbCBvbiBt eSB0aG91Z2h0czoKCkZpcnN0IHRoaXMgc21lbGxzIGxpa2UgYSBuZWVkIGJ5cGFzcyBvZiB0aGUg ZW50aXJlICJ3ZSB3YW50IG9wZW4gdXNlcnNwYWNlCmZvciBhY2NlbCBkcml2ZXJzIiBydWxlLiBU aGUgcnVsZSBpc24ndCBxdWl0ZSBhIHN0cmljdCBhcyBmb3IgZHJtIGdwdQpkcml2ZXJzIChub3Qg c3VyZSB3ZSBlbmRlZCB1cCBkb2N1bWVudGluZyBleGFjdGx5IHdoYXQsIGJ1dCBpaXJjIHRoZQpj b25zZW5zdXMgd2FzIHRoYXQgZm9yIGJ1aWxkLXRpbWUgb25seSBkZXBlbmRlbmNpZXMgd2UncmUg b2sgd2l0aApkb3duc3RyZWFtIGNvbXBpbGVycyksIGJ1dCBpdCdzIHN0aWxsIHRoZXJlLgoKQW5k IGF0IGxlYXN0IGZyb20gYSBxdWljayBsb29rIGFwdS5rbyBhbmQgbGliYXB1IGp1c3QgbG9vayBs aWtlIGEgZ2VuZXJpYwphY2NlbCBpbnRlcmZhY2UsIGFuZCB0aGF0J3Mgbm90IGVub3VnaC4KCkZv ciB0aGUgYmlnIHRyYWluaW5nIGVuZ2luZXMgaXQncyBtb3JlIG9yIGxlc3MgImVub3VnaCB0byBy dW4gcHl0b3JjaCwgYnV0Cml0IGNhbiBiZSByZWFsbHkgc2xvdyIsIG5vdCBzdXJlIHdoYXQgdGhl IHJpZ2h0IHN0YW5kYXJkIGZvciB0aGVzZQppbmZlcmVuY2Utb25seSBkcml2ZXJzIHNob3VsZCBi ZS4KClNvIHRoYXQncyB0aGUgZmlyc3QgcmVhc29uIHdoeSBJIGRvbid0IGxpa2UgdGhpcy4KClRo ZSBvdGhlciBpcyB0aGF0IEkgdGhpbmsgaWYgd2UgZG8gZW5kIHVwIHdpdGggYSBwaWxlIG9mIHRp bnkgYWNjZWwKZHJpdmVycywgd2Ugc2hvdWxkIHByb2JhYmx5IGxvb2sgaW50byBzb21ldGhpbmcg bGlrZSBzaW1tcGxlZHJtIGZvciB0aGUKdGlueSBkaXNwbGF5IGRyaXZlcnMuIFByb2JhYmx5IHN0 aWxsIElQIHNwZWNpZmljIGlvY3RscyAoYXQgbGVhc3QgbW9zdCkgc28KdGhhdCBJUCBzcGVjaWZp YyBqb2Iga25vd3MgYW5kIGFsbCB0aGF0IGFyZSBlYXN5LCBidXQgdGhlbiBqdXN0IHBhc3MgdG8g YQpmcmFtZXdvcmsgdGhhdCBzaW1wbGlmaWVzIGEgZHJtIGdlbSBkcml2ZXIgdG8gIndyaXRlIHB0 ZXMiIGFuZCAicnVuIGpvYiIKY2FsbGJhY2ssIG1heWJlIHdpdGggYW4gb3B0aW9uYWwgImNyZWF0 ZS9kZXN0cm95IHZtL2N0eCIgZm9yIGh3IHdoaWNoIGNhbgpkbyB0aGF0LgoKU28gbWF5YmUgd2Ug ZW5kIHVwIHdpdGggYSBkcml2ZXJzL2FjY2VsL3RpbnkgYW5kIGEgYnVuY2ggbW9yZSBoZWxwZXJz CmFyb3VuZCB0aGUgZXhpc3RpbmcgZ2VtIG9uZXMuIFRoZSBydWxlIHdlIGhhdmUgZm9yIGRybS90 aW55IGlzICIxIGZpbGUsCmxlc3MgdGhhbiAxa2xvYyIsIGFuZCB0aGVyZSdzIGEgYnVuY2ggb2Yg dGhlbS4gSSBkbyB0aGluayB3ZSBjYW4gYWNoaWV2ZQp0aGUgc2FtZSBmb3IgdGlueSBhY2NlbCBp bmZlcmVuY2UgZW5naW5lcyAoYnV0IGl0J3Mgc3RpbGwgYSBiaXQgYSByb2FkKS4KTWF5YmUgdGlu eSBhY2NlbCBpcyBtb3JlIGxpa2UgImxlc3MgdGhhbiA1a2xvYyIgc2luY2UgeW91IG5lZWQgYSBi aXQgbW9yZQpnbHVlIGZvciB0aGUgZHJpdmVyIHNwZWNpZmljIGlvY3RsIHN0dWZmIC0gbWF5YmUg dGhhdCdzIG9ubHkgbmVlZGVkIGZvcgp0aGUgc3VibWl0IGlvY3RsLCBtYXliZSBhbHNvIGZvciBi dWZmZXIgbWFwL3VubWFwIGFuZCBjcmVhdGlvbi4KCkFsc28gbm90ZSB0aGF0IHRoZXJlJ3MgYW4g ZW50aXJlIHBpbGUgb2YgaW4tZmxpZ2h0IHdvcmsgZm9yIGFkZGluZyBuZXcKaGVscGVycyB0byB0 aGUgZ2VtIHdvcmxkIHRvIG1ha2UgdGhpcyBhbGwgZWFzaWVyLiBPbmNlIHdlIGhhdmUgZ3B1dmEg YW5kCmV4ZWMgaGVscGVycyB0aGVyZSBub3QgbXVjaCBnbHVlIGxlZnQgdG8gdGllIGl0IGFsbCB0 b2dldGhlciB3aXRoIHRoZQpzY2hlZHVsZXIuCgpCdXQgdGhlIHJlYWwgY3J1eCBpcyB0aGF0IGFu IGFjY2VsIGluZmVyZW5jZSBkcml2ZXIgcmVhbGx5IG5lZWRzIHRvIGhhdmUKZW5vdWdoIHVzZXJz cGFjZSB0byBkbyBhbiBhY3R1YWwgaW5mZXJlbmNlIGpvYiB3aXRoIHNvbWUKYW5kcm9pZC9jcm9z L3doYXRldmVyIGZyYW1ld29yayBmb3IgaW5mZXJlbmNlICh0aGVyZSdzIGp1c3QgdG9vIG1hbnkp LgotRGFuaWVsCgo+IE9kZWQKPiAKPiA+Cj4gPiBLZXZpbgo+ID4KPiA+IFsxXSBodHRwczovL2dp dGxhYi5iYXlsaWJyZS5jb20vYmF5bGlicmUvbGliYXB1L2xpYmFwdQo+ID4KPiA+IFsyXQo+ID4g IlRoZXJlIGFyZSAyIGhhcmQgcHJvYmxlbXMgaW4gY29tcHV0ZXIgc2NpZW5jZTogY2FjaGUgaW52 YWxpZGF0aW9uLAo+ID4gIG5hbWluZyB0aGluZ3MgYW5kIG9mZi1ieS0xIGVycm9ycy4iCj4gPiAg LS0gaHR0cHM6Ly90d2l0dGVyLmNvbS9zZWNyZXRHZWVrL3N0YXR1cy83MjY5OTk3ODY4Cj4gPgoK LS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0 dHA6Ly9ibG9nLmZmd2xsLmNoCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVs QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9s aXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==