From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrzej Hajda Subject: Re: [PATCH 08/60] drm/bridge: Extend bridge API to disable connector creation Date: Thu, 8 Aug 2019 19:36:49 +0200 Message-ID: References: <20190707180852.5512-1-laurent.pinchart@ideasonboard.com> <20190707181937.6250-1-laurent.pinchart@ideasonboard.com> <20190707181937.6250-5-laurent.pinchart@ideasonboard.com> <8b51b540-61ec-435e-e87a-da0dfbbc70a6@samsung.com> <20190808142525.GL6055@pendragon.ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6EC796E145 for ; Thu, 8 Aug 2019 17:36:55 +0000 (UTC) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20190808173653euoutp02685906fa1fa624f807f0c847b26e1a31~5AyeEZVNq0129301293euoutp02b for ; Thu, 8 Aug 2019 17:36:53 +0000 (GMT) In-Reply-To: <20190808142525.GL6055@pendragon.ideasonboard.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: Maxime Ripard , Sebastian Reichel , dri-devel@lists.freedesktop.org, Tomi Valkeinen , Sean Paul List-Id: dri-devel@lists.freedesktop.org T24gMDguMDguMjAxOSAxNjoyNSwgTGF1cmVudCBQaW5jaGFydCB3cm90ZToKPiBIaSBBbmRyemVq LAo+Cj4gT24gV2VkLCBKdWwgMTcsIDIwMTkgYXQgMDg6Mzk6NDdBTSArMDIwMCwgQW5kcnplaiBI YWpkYSB3cm90ZToKPj4gT24gMDcuMDcuMjAxOSAyMDoxOCwgTGF1cmVudCBQaW5jaGFydCB3cm90 ZToKPj4+IE1vc3QgYnJpZGdlIGRyaXZlcnMgY3JlYXRlIGEgRFJNIGNvbm5lY3RvciB0byBtb2Rl bCB0aGUgY29ubmVjdG9yIGF0IHRoZQo+Pj4gb3V0cHV0IG9mIHRoZSBicmlkZ2UuIFRoaXMgbW9k ZWwgaXMgaGlzdG9yaWNhbCBhbmQgaGFzIHdvcmtlZCBwcmV0dHkKPj4+IHdlbGwgc28gZmFyLCBi dXQgY2F1c2VzIHNldmVyYWwgaXNzdWVzOgo+Pj4KPj4+IC0gSXQgcHJldmVudHMgc3VwcG9ydGlu ZyBtb3JlIGNvbXBsZXggZGlzcGxheSBwaXBlbGluZXMgd2hlcmUgRFJNCj4+PiBjb25uZWN0b3Ig b3BlcmF0aW9ucyBhcmUgc3BsaXQgb3ZlciBtdWx0aXBsZSBjb21wb25lbnRzLiBGb3IgaW5zdGFu Y2UgYQo+Pj4gcGlwZWxpbmUgd2l0aCBhIGJyaWRnZSBjb25uZWN0ZWQgdG8gdGhlIEREQyBzaWdu YWxzIHRvIHJlYWQgRURJRCBkYXRhLAo+Pj4gYW5kIGFub3RoZXIgb25lIGNvbm5lY3RlZCB0byB0 aGUgSFBEIHNpZ25hbCB0byBkZXRlY3QgY29ubmVjdGlvbiBhbmQKPj4+IGRpc2Nvbm5lY3Rpb24s IHdpbGwgbm90IGJlIHBvc3NpYmxlIHRvIHN1cHBvcnQgdGhyb3VnaCB0aGlzIG1vZGVsLgo+Pj4K Pj4+IC0gSXQgcmVxdWlyZXMgZXZlcnkgYnJpZGdlIGRyaXZlciB0byBpbXBsZW1lbnQgc2ltaWxh ciBjb25uZWN0b3IKPj4+IGhhbmRsaW5nIGNvZGUsIHJlc3VsdGluZyBpbiBjb2RlIGR1cGxpY2F0 aW9uLgo+Pj4KPj4+IC0gSXQgYXNzdW1lcyB0aGF0IGEgYnJpZGdlIHdpbGwgZWl0aGVyIGJlIHdp cmVkIHRvIGEgY29ubmVjdG9yIG9yIHRvCj4+PiBhbm90aGVyIGJyaWRnZSwgYnV0IGRvZXNuJ3Qg c3VwcG9ydCBicmlkZ2VzIHRoYXQgY2FuIGJlIHVzZWQgaW4gYm90aAo+Pj4gcG9zaXRpb25zIHZl cnkgd2VsbCAoYWx0aG91Z2ggdGhlcmUgaXMgc29tZSBhZC1ob2Mgc3VwcG9ydCBmb3IgdGhpcyBp bgo+Pj4gdGhlIGFuYWxvZ2l4X2RwIGJyaWRnZSBkcml2ZXIpLgo+Pj4KPj4+IEluIG9yZGVyIHRv IHNvbHZlIHRoZXNlIGlzc3Vlcywgb3duZXJzaGlwIG9mIHRoZSBjb25uZWN0b3Igc2hvdWxkIGJl Cj4+PiBtb3ZlZCB0byB0aGUgZGlzcGxheSBjb250cm9sbGVyIGRyaXZlciAod2hlcmUgaXQgY2Fu IGJlIGltcGxlbWVudGVkCj4+PiB1c2luZyBoZWxwZXJzIHByb3ZpZGVkIGJ5IHRoZSBjb3JlKS4K Pj4+Cj4+PiBFeHRlbmQgdGhlIGJyaWRnZSBBUEkgdG8gYWxsb3cgZGlzYWJsaW5nIGNvbm5lY3Rv ciBjcmVhdGlvbiBpbiBicmlkZ2UKPj4+IGRyaXZlcnMgYXMgYSBmaXJzdCBzdGVwIHRvd2FyZHMg dGhlIG5ldyBtb2RlbC4gVGhlIG5ldyBjcmVhdGVfY29ubmVjdG9yCj4+PiBhcmd1bWVudCB0byB0 aGUgYnJpZGdlIC5hdHRhY2goKSBvcGVyYXRpb24gdGVsbHMgdGhlIGJyaWRnZSBkcml2ZXIKPj4+ IHdoZXRoZXIgdG8gY3JlYXRlIGEgY29ubmVjdG9yLiBTZXQgdGhlIGFyZ3VtZW50IHRvIHRydWUg dW5jb25kaXRpb25hbGx5LAo+Pj4gYW5kIG1vZGlmeSBhbGwgZXhpc3RpbmcgYnJpZGdlIGRyaXZl cnMgdG8gcmV0dXJuIGFuIGVycm9yIHdoZW4gY29ubmVjdG9yCj4+PiBjcmVhdGlvbiBpcyBub3Qg cmVxdWVzdGVkIGFzIHRoZXkgZG9uJ3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUgeWV0Lgo+Pj4KPj4+ IFNpZ25lZC1vZmYtYnk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNv bmJvYXJkLmNvbT4KPj4+IC0tLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9hcmMvYXJjcGd1X2hkbWku YyAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9hdG1l bC1obGNkYy9hdG1lbF9obGNkY19vdXRwdXQuYyAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMv Z3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jICAgICAgICAgICAgIHwgNiArKysr Ky0KPj4+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc4eHguYyAgICAgICAg ICAgICAgICB8IDYgKysrKystCj4+PiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC9h bmFsb2dpeF9kcF9jb3JlLmMgICAgICAgfCA4ICsrKysrKy0tCj4+PiAgZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9jZG5zLWRzaS5jICAgICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKystLQo+Pj4g IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvbHZkcy1lbmNvZGVyLmMgICAgICAgICAgICAgICAgICAg IHwgNCArKy0tCj4+PiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9tZWdhY2hpcHMtc3RkcHh4eHgt Z2UtYjg1MHYzLWZ3LmMgfCA2ICsrKysrLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvbnhw LXB0bjM0NjAuYyAgICAgICAgICAgICAgICAgICAgIHwgNiArKysrKy0KPj4+ICBkcml2ZXJzL2dw dS9kcm0vYnJpZGdlL3BhbmVsLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDUgKysrKy0K Pj4+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhcmFkZS1wczg2MjIuYyAgICAgICAgICAgICAg ICAgICB8IDUgKysrKy0KPj4+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYyAgICAg ICAgICAgICAgICAgICAgICAgICB8IDYgKysrKystCj4+PiAgZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9zaWwtc2lpODYyMC5jICAgICAgICAgICAgICAgICAgICAgfCAyICstCj4+PiAgZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9zaW1wbGUtYnJpZGdlLmMgICAgICAgICAgICAgICAgICAgfCA2ICsrKysr LQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctaGRtaS5jICAgICAgICAg ICAgICAgIHwgOCArKysrKystLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMv ZHctbWlwaS1kc2kuYyAgICAgICAgICAgIHwgOCArKysrKy0tLQo+Pj4gIGRyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvdGMzNTg3NjQuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgNSArKysrLQo+Pj4g IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYyAgICAgICAgICAgICAgICAgICAgICAg IHwgNSArKysrLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGhjNjNsdmQxMDI0LmMgICAg ICAgICAgICAgICAgICAgIHwgNSArKystLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGkt c242NWRzaTg2LmMgICAgICAgICAgICAgICAgICAgIHwgNSArKysrLQo+Pj4gIGRyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvdGktdGZwNDEwLmMgICAgICAgICAgICAgICAgICAgICAgIHwgNSArKysrLQo+ Pj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgNSArKystLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fc2ltcGxlX2ttc19oZWxwZXIu YyAgICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RwLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMyArKy0KPj4+ICBkcml2ZXJzL2dwdS9k cm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMgICAgICAgICAgICAgICAgICB8IDQgKystLQo+Pj4g IGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYyAgICAgICAgICAgICAgICAgICAg IHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX3JnYi5jICAg ICAgICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4v ZHdfZHJtX2RzaS5jICAgICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pMmMv dGRhOTk4eF9kcnYuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgOCArKysrKystLQo+Pj4gIGRy aXZlcnMvZ3B1L2RybS9pbXgvaW14LWxkYi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg MiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pbXgvcGFyYWxsZWwtZGlzcGxheS5jICAgICAgICAg ICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9tY2RlL21jZGVfZHNpLmMgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgNiArKysrKy0KPj4+ICBkcml2ZXJzL2dwdS9kcm0vbWVk aWF0ZWsvbXRrX2RwaS5jICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPj4+ICBkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0K Pj4+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyAgICAgICAgICAgICAgICAg ICAgICB8IDggKysrKysrLS0KPj4+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdl ci5jICAgICAgICAgICAgICAgICAgICB8IDQgKystLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9tc20v ZWRwL2VkcF9icmlkZ2UuYyAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMv Z3B1L2RybS9tc20vaGRtaS9oZG1pX2JyaWRnZS5jICAgICAgICAgICAgICAgICAgIHwgMiArLQo+ Pj4gIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMgICAgICAgICAgICAgICAgICAg ICAgIHwgMyArKy0KPj4+ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2VuY29kZXIu YyAgICAgICAgICAgICAgICB8IDIgKy0KPj4+ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2Fy X2x2ZHMuYyAgICAgICAgICAgICAgICAgICAgICB8IDcgKysrKystLQo+Pj4gIGRyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9sdmRzLmMgICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4g IGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9yZ2IuYyAgICAgICAgICAgICAgICAg IHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2R2by5jICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkYS5jICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9zdGkv c3RpX2hkbWkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMv Z3B1L2RybS9zdG0vbHRkYy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+ Pj4gIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9sdmRzLmMgICAgICAgICAgICAgICAgICAg ICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9yZ2IuYyAgICAgICAg ICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2Rj X2V4dGVybmFsLmMgICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2RwaS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQo+Pj4gIGRyaXZl cnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMiAr LQo+Pj4gIGluY2x1ZGUvZHJtL2RybV9icmlkZ2UuaCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgNCArKy0tCj4+PiAgNTMgZmlsZXMgY2hhbmdlZCwgMTQwIGluc2VydGlvbnMoKyks IDY3IGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJj L2FyY3BndV9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9oZG1pLmMKPj4+IGlu ZGV4IDk4YWFjNzQzY2MyNi4uNzM5ZjIzNThmMWQ1IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FyYy9hcmNwZ3VfaGRtaS5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJjL2Fy Y3BndV9oZG1pLmMKPj4+IEBAIC0zOSw3ICszOSw3IEBAIGludCBhcmNwZ3VfZHJtX2hkbWlfaW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKQo+Pj4gIAkJ cmV0dXJuIHJldDsKPj4+ICAKPj4+ICAJLyogTGluayBkcm1fYnJpZGdlIHRvIGVuY29kZXIgKi8K Pj4+IC0JcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goZW5jb2RlciwgYnJpZGdlLCBOVUxMKTsKPj4+ ICsJcmV0ID0gZHJtX2JyaWRnZV9hdHRhY2goZW5jb2RlciwgYnJpZGdlLCBOVUxMLCB0cnVlKTsK Pj4gRmV3IHN1Z2dlc3Rpb25zOgo+Pgo+PiAxLiBNYXliZSBpdCB3b3VsZCBiZSBtb3JlIGNvbnZl bmllbnQgdG8gYWRkIGZsYWdzIGFyZ3VtZW50IGluc3RlYWQgb2YgYm9vbDoKPj4KPj4gLSBjb2Rl IHNob3VsZCBiZSBtb3JlIHJlYWRhYmxlOiByZXQgPSBkcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVy LCBicmlkZ2UsCj4+IE5VTEwsIERSTV9CUklER0VfRkxBR19OT19DT05ORUNUT1IpCj4+Cj4+IC0g aXQgY2FuIGJlIGVhc2lseSBleHBhbmRlZCBsYXRlciB3aXRoIG90aGVyIGZsYWdzLCB0aGVyZSBh dCBsZWFzdCB0d28KPj4gZHJpdmVycyB3aGljaCB3b3VsZCBiZW5lZml0IGZyb20gRFJNX0JSSURH RV9GTEFHX05PX0NIQUlOSU5HIGZsYWcuCj4gUGxlYXNlIG5vdGUgdGhhdCBJIHRoaW5rIHRoaXMg ZmxhZyBzaG91bGQgZGlzYXBwZWFyIG9uY2UgZHJpdmVycyBnZXQKPiBjb252ZXJ0ZWQgdG8gdGhl IG5ldyBtb2RlbC4gVGhpcyB3aWxsIGhvd2V2ZXIgdGFrZSBzb21lIHRpbWUuIEknbSBub3QKPiBv cHBvc2VkIHRvIHR1cm5pbmcgdGhlIGJvb2sgaW50byBhIGZsYWcgdGhvdWdoLiBJIHdhcyBob3Bp bmcgdG8gcmVjZWl2ZQo+IG1vcmUgcmV2aWV3IGNvbW1lbnRzIG9uIHRoaXMgcGFydGljdWxhciBw YXRjaCwgYnV0IGFzIHRoYXQncyBub3QgdGhlCj4gY2FzZSwgSSBjYW4gYWxyZWFkeSBwcm9jZWVk IHdpdGggdGhlIGNoYW5nZS4KPgo+IFdoYXQgd291bGQgdGhlIERSTV9CUklER0VfRkxBR19OT19D SEFJTklORyBmbGFnIGJlIHVzZWQgZm9yID8KCgpUbyBhdm9pZCBzZXR0aW5nIGVuY29kZXItPmJy aWRnZSBvciBwcmV2aW91c19icmlkZ2UtPm5leHQgZmllbGQgdG8KYXR0YWNoZWQgYnJpZGdlIChs YXN0IGxpbmVzIG9mIGRybV9icmlkZ2VfYXR0YWNoIGNvZGUpLgoKVGhpcyBpcyBmb3Igc3VyZSB0 aGUgY2FzZSBvZiBleHlub3NfZHNpIGFuZCB2YzRfZHNpLCBidXQgSSBndWVzcyBpdCBjYW4KYWZm ZWN0IG90aGVyIGRyaXZlcnMgYXMgd2VsbCwgcHJvYmFibHkgdGhleSBqdXN0IHVzZSBvdGhlciB3 b3JrYXJvdW5kcwpvciBoYXZlIG1vcmUgZmxleGlibGUgaGFyZHdhcmUuCgpHZW5lcmFsbHkgaWRl YSB0aGF0IG9yZGVyIG9mIGNhbGxpbmcKcHJlX2VuYWJsZS9lbmFibGUvZGlzYWJsZS9wb3N0X2Rp c2FibGUgY2FsbGJhY2tzIGluIGNoYWluZWQKZW5jb2Rlci9icmlkZ2VzIGlzIGZpeGVkIGlzIHdy b25nIElNSE8sIG9ubHkgdmlkZW8gc291cmNlIGNvbXBvbmVudAprbm93cyBpbiB3aGljaCBtb21l bnQgaXQgc2hvdWxkIGVuYWJsZSBpdHMgc2luayBhbmQgaWYgaXQgc2hvdWxkIGRvCnNvbWV0aGlu ZyBhZnRlci4gQW5kIGl0IGRvZXMgbm90IHdvcmsgYXQgYWxsIHdpdGggc291cmNlcy9zaW5rcyBo YXZpbmcKbW9yZSB0aGFuIG9uZSBvdXRwdXQvaW5wdXQuCgoKPgo+PiAyLiBJZiB0aGUgcGF0Y2gg Y2FuIGJlIGFwcGxpZWQgYXRvbWljYWxseSBpdCBpcyBPSyBhcyBpcywgaWYgbm90IHlvdSBjYW4K Pj4gdXNlIHByZXByb2Nlc3NvciB2YXJhcmcgbWFnaWMgdG8gc3VwcG9ydCBuZXcgYW5kIG9sZCBz eW50YXgsIHN0aCBsaWtlOgo+Pgo+PiAjZGVmaW5lIF9kcm1fYnJpZGdlX2F0dGFjaChlbmNvZGVy LCBicmlkZ2UsIHByZXYsIGZsYWdzLCBvcHRhcmcuLi4pCj4+IF9fZHJtX2JyaWRnZV9hdHRhY2go ZW5jb2RlciwgYnJpZGdlLCBwcmV2LCBmbGFncykKPj4KPj4gI2RlZmluZSBkcm1fYnJpZGdlX2F0 dGFjaChlbmNvZGVyLCBicmlkZ2UsIHByZXYsIG9wdGFyZy4uLikKPj4gX2RybV9icmlkZ2VfYXR0 YWNoKGVuY29kZXIsIGJyaWRnZSwgcHJldiwgIyNvcHRhcmcsIDApCj4gR29vZCBwb2ludC4gSSds bCB0cnkgdG8gZG8gdGhpcyBhdG9taWNhbGx5LCBidXQgaWYgaXQgZmFpbHMgSSdsbCBmb2xsb3cK PiB5b3VyIHN1Z2dlc3Rpb24uCj4KPj4gMy4gTWF5YmUgbW9yZSBjb252ZW5pZW50IHdvdWxkIGJl IHRvIGp1c3Qgc2V0IHRoZSBmbGFncyBkaXJlY3RseSBiZWZvcmUKPj4gYXR0YWNobWVudDoKPj4K Pj4gwqDCoMKgIGJyaWRnZS0+ZG9udF9jcmVhdGVfY29ubmVjdG9yID0gdHJ1ZTsKPj4KPj4gwqDC oMKgIHJldCA9IGRybV9icmlkZ2VfYXR0YWNoKGVuY29kZXIsIGJyaWRnZSwgTlVMTCk7Cj4+Cj4+ IMKgwqDCoCBUaGlzIHdheSBpdCB3aWxsIGJlIHN0aWxsIGV4cGFuZGFibGUsIGFuZCBsZXNzIGNo YW5nZXMuCj4gQnJpZGdlcyB0aGF0IGFyZSBjaGFpbmVkIHdvdWxkIG5lZWQgdG8gc2V0IHRoZSBk b250X2NyZWF0ZV9jb25uZWN0b3IKPiBmbGFnIG9mIHRoZSBuZXh0IGJyaWRnZS4gSXQgd291bGQg YmUgYSBiaXQgdWdseSwgYnV0IHdvdWxkIG1ha2UgdGhpcwo+IHBhdGNoIHNtYWxsZXIuIE9uIHRo ZSBvdGhlciBoYW5kIHdlIHdvdWxkIG5lZWQgdG8ga2VlcCB0aGUgaWYKPiAoIWNyZWF0ZV9jb25u ZWN0b3IpIGNoZWNrIGluIHRoZSAuYXR0YWNoKCkgaGFuZGxlcnMsIGFuZCBpdCB3b3VsZCBiZQo+ IGVhc2llciB0byBtaXNzIGl0IGluIGJyaWRnZSBkcml2ZXJzIChjdXJyZW50IG9yIG5ldykgdGhh biB3aXRoIGFuCj4gZXhwbGljaXQgYXJndW1lbnQgdG8gdGhlIC5hdHRhY2goKSBvcGVyYXRpb24u IEkgd291bGQgdGh1cyBoYXZlIGEKPiBwcmVmZXJlbmNlIGZvciB0aGUgbmV3IGFyZ3VtZW50IHRv IC5hdHRhY2goKS4gRXNwZWNpYWxseSBpZiBpdCBjYW4gaGVscAo+IHlvdSB3aXRoIERSTV9CUklE R0VfRkxBR19OT19DSEFJTklORyA6LSkKCmJyaWRnZS0+ZG9udF9jaGFpbiB3b3VsZCB3b3JrIGFz IHdlbGwgOikKCkJ0dyBJIHdvbmRlciBpZiBpdCBjb3VsZCBiZSBwb3NzaWJsZSB0byBkaXNhbGxv dyBjcmVhdGluZyBjb25uZWN0b3JzIGF0IGFsbCBieSBuZXcgYnJpZGdlcyAtIGl0IHdvdWxkIHNw ZWVkLXVwIHRyYW5zaXRpb24uCgoKQW5vdGhlciBsb25nIHRlcm0gaWRlYS4gU2luY2UgYnJpZGdl cyBjYW4gYmUgYXR0YWNoZWQgdG86Ci0gZW5jb2RlciwKLSBhbm90aGVyIGJyaWRnZSwKLSBjcnRj IChJIGhhdmUgb25lIGV4YW1wbGUsIGJ1dCBJIGd1ZXNzIHRoZXJlIGNvdWxkIGJlIG1vcmUpLAot IGV2ZW4gYmVmb3JlIGNydGMgKGltYWdlIHBvc3Rwcm9jZXNzaW5nKQpBbmQgc2luY2UgYnJpZGdl IG91dHB1dCBnb2VzIHRvOgotIGFub3RoZXIgYnJpZGdlLAotIHBhbmVsLgoKV291bGRuJ3QgYmUg YmV0dGVyIHRvIGNyZWF0ZSBkcm1fc291cmNlIGFuZCBkcm1fc2luayAoZG8gbm90IHJlc3BvbmQg d2l0aCB4a2NkIHBpY3R1cmUgOikgKToKLSBkcm1fc291cmNlIHdpbGwgYmUgZW1iZWRkZWQgaW4g c291cmNlIGRldmljZSBjb250ZXh0LAotIGRybV9zaW5rIHdpbGwgYmUgZW1iZWRkZWQgaW4gc2lu ayBkZXZpY2UgY29udGV4dC4KV2UgY291bGQgbWFrZSB0aGVuIHRyYW5zaXRpb25zIG9mIGJyaWRn ZXMgdG8gZHJtX3Npbmsgd2l0aCBkcm1fc291cmNlIGVtYmVkZWQgaW4gaXRzIGNvbnRleHQsIGFu ZCBwYW5lbHMgdG8gZHJtX3NpbmsuClRoaXMgd2F5IHdlIGNvdWxkIGRyb3AgdGhlc2UgY3Jhenkg Y29uc3RydWN0czoKLSBpZiBzaW5rIGlzIHBhbmVsIHRoZW4gZG8gc3RoLCBlbHNpZiBpcyBicmlk Z2UgdGhlbiBkbyBzdGhfZWxzZSwKLSBpZiBzcmMgaXMgYnJpZGdlIHRoZW4gZG8gc3RoLCBlbHNp ZiBpcyBlbmNvZGVyIC4uLiBlbHNpZiAuLi4uCi0gaGVscGVycyBvZl9maW5kX3BhbmVsX29yX2Jy aWRnZSwKLSBkcm1fcGFuZWxfYnJpZGdlLApBbHNvIHdlIGNvdWxkIGltcGxlbWVudCBlYXNpbHkg bXVsdGkgaW5wdXQvb3V0cHV0IGJyaWRnZXMvcGFuZWxzL2NydGNzIHdoYXRldmVyLgpBbmQgaHBk IGNhbGxiYWNrcyB5b3UgaGF2ZSBwcm9wb3NlZCBpbiBhbm90aGVyIHBhdGNoIHdvdWxkIGZpdCBi ZXR0ZXIgdG8gZHJtX3NvdXJjZS5vcHMuCi4uLgoKClJlZ2FyZHMKQW5kcnplagoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==