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 X-Spam-Level: X-Spam-Status: No, score=-8.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1735CC433DB for ; Wed, 23 Dec 2020 06:54:23 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AFCA5207B5 for ; Wed, 23 Dec 2020 06:54:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AFCA5207B5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DA41B89BF6; Wed, 23 Dec 2020 06:54:21 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id DC43589BF6 for ; Wed, 23 Dec 2020 06:54:20 +0000 (UTC) IronPort-SDR: Cx8ColUdF7SSt19Jh/tvO1QRYvtEjUgci32T74OoHoEXT0FcaOijSmD/FQWy+wQOL/twPmrAOE 9i053XFDBayA== X-IronPort-AV: E=McAfee;i="6000,8403,9843"; a="240056960" X-IronPort-AV: E=Sophos;i="5.78,441,1599548400"; d="scan'208";a="240056960" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Dec 2020 22:54:18 -0800 IronPort-SDR: dnJO48MDV/klMdRLh/6UcF519vcFL7UNefosPzwrK1YWJ2Owh/MtDDxwOJNxh88VcYtd4jWU4r 0iQnQw6V06rA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,441,1599548400"; d="scan'208";a="565063140" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga005.fm.intel.com with ESMTP; 22 Dec 2020 22:54:18 -0800 Received: from bgsmsx606.gar.corp.intel.com (10.67.234.8) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 22 Dec 2020 22:54:15 -0800 Received: from bgsmsx604.gar.corp.intel.com (10.67.234.6) by BGSMSX606.gar.corp.intel.com (10.67.234.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 23 Dec 2020 12:24:13 +0530 Received: from bgsmsx604.gar.corp.intel.com ([10.67.234.6]) by BGSMSX604.gar.corp.intel.com ([10.67.234.6]) with mapi id 15.01.1713.004; Wed, 23 Dec 2020 12:24:13 +0530 From: "Shankar, Uma" To: "Nautiyal, Ankit K" , Jani Nikula , "Sharma, Swati2" Thread-Topic: =?utf-8?B?W0ludGVsLWdmeF0g4pyXIEZpLkNJLkNIRUNLUEFUQ0g6IHdhcm5pbmcgZm9y?= =?utf-8?Q?_Add_support_for_DP-HDMI2.1_PCON_(rev9)?= Thread-Index: AQHW2IGSUb83Zgl9xUCBL4snCH18/aoD05OAgABreTA= Date: Wed, 23 Dec 2020 06:54:13 +0000 Message-ID: <508f761f019e4df4bb4e1f0e996bc98d@intel.com> References: <20201218103723.30844-1-ankit.k.nautiyal@intel.com> <160829597046.27179.7154779196586998441@emeril.freedesktop.org> <87r1nhokpj.fsf@intel.com> <8b37e37c-e15b-ff18-b965-2da8945fc58a@intel.com> In-Reply-To: <8b37e37c-e15b-ff18-b965-2da8945fc58a@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 x-originating-ip: [10.223.10.1] MIME-Version: 1.0 Subject: Re: [Intel-gfx] =?utf-8?b?4pyXIEZpLkNJLkNIRUNLUEFUQ0g6IHdhcm5pbmcg?= =?utf-8?q?for_Add_support_for_DP-HDMI2=2E1_PCON_=28rev9=29?= X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "intel-gfx@lists.freedesktop.org" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTmF1dGl5YWwsIEFua2l0 IEsgPGFua2l0LmsubmF1dGl5YWxAaW50ZWwuY29tPg0KPiBTZW50OiBXZWRuZXNkYXksIERlY2Vt YmVyIDIzLCAyMDIwIDExOjI3IEFNDQo+IFRvOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGlu dXguaW50ZWwuY29tPjsgU2hhcm1hLCBTd2F0aTINCj4gPHN3YXRpMi5zaGFybWFAaW50ZWwuY29t PjsgU2hhbmthciwgVW1hIDx1bWEuc2hhbmthckBpbnRlbC5jb20+DQo+IENjOiBpbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IFN1YmplY3Q6IFJlOiBbSW50ZWwtZ2Z4XSDinJcgRmku Q0kuQ0hFQ0tQQVRDSDogd2FybmluZyBmb3IgQWRkIHN1cHBvcnQgZm9yIERQLQ0KPiBIRE1JMi4x IFBDT04gKHJldjkpDQo+IA0KPiBIaSBKYW5pLA0KPiANCj4gSSBhcG9sb2dpemUgdG8gbWlzcyB0 aGVzZSBjaGVja3BhdGNoIGVycm9ycy4gSSBtaXN0YWtlbmx5IHVzZWQgc29tZSBvbGRlciB2ZXJz aW9uDQo+IG9mIGNoZWNrcGF0Y2ggc2NyaXB0IGFuZCBjb3VsZG4ndCBnZXQgdGhlc2UuDQo+IA0K PiBOZXZlcnRoZWxlc3MgSSBzaG91bGQgaGF2ZSB0YWtlbiBjYXJlIG9mIHRoZSB3YXJuaW5ncyBm cm9tIHRoZSBwYXRjaHdvcmsuIEkgZnVsbHkNCj4gdW5kZXJzdGFuZCB0aGF0IG9udXMgaXMgb24g dGhlIHN1Ym1pdHRlciBvZiB0aGUgc2VyaWVzIHRvIGZpeCBhbGwgc3VjaCB3YXJuaW5ncw0KPiBh bmQgY2hlY2tzLCBhbmQgSSB0YWtlIGZ1bGwgcmVzcG9uc2liaWxpdHkgb2YgdGhpcyBtaXN0YWtl Lg0KPiANCj4gVGhhbmsgeW91IGZvciBmaXhpbmcgdGhlc2UgaXNzdWVzIHRoaXMgdGltZSwgYW5k IEkgYXNzdXJlIHlvdSB0aGF0IEkgd2lsbCB0YWtlIGNhcmUNCj4gaW4gZnV0dXJlIGFuZCBtYWtl IHN1cmUgdGhhdCB0aGUgY2hlY2twYXRjaCB3YXJuaW5ncyBhcmUgYWRkcmVzc2VkLg0KPiANCj4g T25jZSBhZ2FpbiBJIGFwb2xvZ2l6ZSBmb3IgdGhlIGZhdWx0Lg0KDQpJIGFsc28gc2hvdWxkIGhh dmUgY2hlY2tlZCB0aGlzLCB3aWxsIGJlIG1vcmUgY2FyZWZ1bCB0byBlbnN1cmUgdGhpcyByZW1h aW5zIHRoZSB0b3AgaXRlbQ0KaW4gdGhlIGNoZWNrbGlzdCBhbG9uZyB3aXRoIENJIHJlc3VsdHMu DQoNClJlZ2FyZHMsDQpVbWEgU2hhbmthcg0KPiANCj4gVGhhbmtzICYgUmVnYXJkcywNCj4gDQo+ IEFua2l0DQo+IA0KPiANCj4gT24gMTIvMjIvMjAyMCAxMDoxMyBQTSwgSmFuaSBOaWt1bGEgd3Jv dGU6DQo+ID4gT24gRnJpLCAxOCBEZWMgMjAyMCwgUGF0Y2h3b3JrIDxwYXRjaHdvcmtAZW1lcmls LmZyZWVkZXNrdG9wLm9yZz4gd3JvdGU6DQo+ID4+ID09IFNlcmllcyBEZXRhaWxzID09DQo+ID4+ DQo+ID4+IFNlcmllczogQWRkIHN1cHBvcnQgZm9yIERQLUhETUkyLjEgUENPTiAocmV2OSkNCj4g Pj4gVVJMICAgOiBodHRwczovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvc2VyaWVzLzgyMDk4 Lw0KPiA+PiBTdGF0ZSA6IHdhcm5pbmcNCj4gPj4NCj4gPj4gPT0gU3VtbWFyeSA9PQ0KPiA+Pg0K PiA+IEFsbCAtDQo+ID4NCj4gPiBJJ3ZlIGZpeGVkIG1vc3Qgb2YgdGhlIGNoZWNrcGF0Y2ggd2Fy bmluZ3MgKHNhdmUgZm9yIExPTkdfTElORSBhbmQNCj4gPiBCSVRfTUFDUk8gdGhhdCB3ZSBkb24n dCBjYXJlIHNvIG11Y2ggYWJvdXQpIHdoaWxlIGFwcGx5aW5nLiBJdCdzIG5vdA0KPiA+IHNvbWV0 aGluZyBJIG5vcm1hbGx5IGRvLCBhbmQgSSByZWFsbHkgZG9uJ3Qgd2FudCB0byBmaW5kIHRoZXNl IHdoZW4NCj4gPiB0aGUgc2VyaWVzIGlzIGF0IHY3IGFuZCB0aGUgc2FtZSB3YXJuaW5ncyBoYXZl IGJlZW4gdGhlcmUgc2luY2UNCj4gPiBTZXB0ZW1iZXIgYW5kIEkga2VlcCBiZWluZyBwaW5nZWQg YWJvdXQgbWVyZ2luZy4NCj4gPg0KPiA+IEtlZXBpbmcgdGhlIGRyaXZlciBuaWNlIGFuZCBjbGVh biBpcyB5b3VyIGpvYiB0b28sIG5vdCBqdXN0IG1pbmUuDQo+ID4NCj4gPiBCUiwNCj4gPiBKYW5p Lg0KPiA+DQo+ID4NCj4gPj4gJCBkaW0gY2hlY2twYXRjaCBvcmlnaW4vZHJtLXRpcA0KPiA+PiAy NmViMGMyZjJlZTEgZHJtL2VkaWQ6IEFkZCBhZGRpdGlvbmFsIEhGVlNEQiBmaWVsZHMgZm9yIEhE TUkyLjENCj4gPj4gLTo2MTogV0FSTklORzpGUk9NX1NJR05fT0ZGX01JU01BVENIOiBGcm9tOi9T aWduZWQtb2ZmLWJ5OiBlbWFpbA0KPiBuYW1lIG1pc21hdGNoOiAnRnJvbTogU3dhdGkgU2hhcm1h IDxzd2F0aTIuc2hhcm1hQGludGVsLmNvbT4nICE9ICdTaWduZWQtb2ZmLQ0KPiBieTogU2hhcm1h LCBTd2F0aTIgPHN3YXRpMi5zaGFybWFAaW50ZWwuY29tPicNCj4gPj4NCj4gPj4gdG90YWw6IDAg ZXJyb3JzLCAxIHdhcm5pbmdzLCAwIGNoZWNrcywgMzYgbGluZXMgY2hlY2tlZCAxM2ZmZTgyOWQ3 N2UNCj4gPj4gZHJtL2VkaWQ6IFBhcnNlIE1BWF9GUkwgZmllbGQgZnJvbSBIRlZTREIgYmxvY2sN Cj4gPj4gLTo3MzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxk IG1hdGNoIG9wZW4NCj4gPj4gcGFyZW50aGVzaXMNCj4gPj4gIzczOiBGSUxFOiBkcml2ZXJzL2dw dS9kcm0vZHJtX2VkaWQuYzo0OTQ4Og0KPiA+PiArCQlkcm1fZ2V0X21heF9mcmxfcmF0ZShtYXhf ZnJsX3JhdGUsICZoZG1pLT5tYXhfbGFuZXMsDQo+ID4+ICsJCQkJJmhkbWktPm1heF9mcmxfcmF0 ZV9wZXJfbGFuZSk7DQo+ID4+DQo+ID4+IC06OTU6IFdBUk5JTkc6RlJPTV9TSUdOX09GRl9NSVNN QVRDSDogRnJvbTovU2lnbmVkLW9mZi1ieTogZW1haWwNCj4gbmFtZSBtaXNtYXRjaDogJ0Zyb206 IFN3YXRpIFNoYXJtYSA8c3dhdGkyLnNoYXJtYUBpbnRlbC5jb20+JyAhPSAnU2lnbmVkLW9mZi0N Cj4gYnk6IFNoYXJtYSwgU3dhdGkyIDxzd2F0aTIuc2hhcm1hQGludGVsLmNvbT4nDQo+ID4+DQo+ ID4+IHRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywgMSBjaGVja3MsIDY4IGxpbmVzIGNoZWNr ZWQNCj4gPj4gODk4NTNjMDE5ZTA0IGRybS9lZGlkOiBQYXJzZSBEU0MxLjIgY2FwIGZpZWxkcyBm cm9tIEhGVlNEQiBibG9jaw0KPiA+PiAtOjUxOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6 IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3Blbg0KPiA+PiBwYXJlbnRoZXNpcw0KPiA+PiAjNTE6 IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1fZWRpZC5jOjQ5Njk6DQo+ID4+ICsJCQlkcm1fZ2V0 X21heF9mcmxfcmF0ZShkc2NfbWF4X2ZybF9yYXRlLCAmaGRtaV9kc2MtDQo+ID5tYXhfbGFuZXMs DQo+ID4+ICsJCQkJCSZoZG1pX2RzYy0+bWF4X2ZybF9yYXRlX3Blcl9sYW5lKTsNCj4gPj4NCj4g Pj4gLTo1MjogV0FSTklORzpMT05HX0xJTkU6IGxpbmUgbGVuZ3RoIG9mIDEwMSBleGNlZWRzIDEw MCBjb2x1bW5zDQo+ID4+ICM1MjogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmM6NDk3 MDoNCj4gPj4gKwkJCWhkbWlfZHNjLT50b3RhbF9jaHVua19rYnl0ZXMgPSBoZl92c2RiWzEzXSAm DQo+ID4+ICtEUk1fRURJRF9EU0NfVE9UQUxfQ0hVTktfS0JZVEVTOw0KPiA+Pg0KPiA+PiB0b3Rh bDogMCBlcnJvcnMsIDEgd2FybmluZ3MsIDEgY2hlY2tzLCAxMjUgbGluZXMgY2hlY2tlZA0KPiA+ PiA1MTIwYjE3MjczOTEgZHJtL2RwX2hlbHBlcjogQWRkIEhlbHBlcnMgZm9yIEZSTCBMaW5rIFRy YWluaW5nIHN1cHBvcnQNCj4gPj4gZm9yIERQLUhETUkyLjEgUENPTg0KPiA+PiBjNjg5MTRjZTdi NjcgZHJtL2RwX2hlbHBlcjogQWRkIHN1cHBvcnQgZm9yIGxpbmsgZmFpbHVyZSBkZXRlY3Rpb24N Cj4gPj4gLToxMTI6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3Vs ZCBtYXRjaCBvcGVuDQo+ID4+IHBhcmVudGhlc2lzDQo+ID4+ICMxMTI6IEZJTEU6IGluY2x1ZGUv ZHJtL2RybV9kcF9oZWxwZXIuaDoyMDU1Og0KPiA+PiArdm9pZCBkcm1fZHBfcGNvbl9oZG1pX2Zy bF9saW5rX2Vycm9yX2NvdW50KHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsDQo+ID4+ICsJCQkJCSAg c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7DQo+ID4+DQo+ID4+IHRvdGFsOiAwIGVy cm9ycywgMCB3YXJuaW5ncywgMSBjaGVja3MsIDc2IGxpbmVzIGNoZWNrZWQNCj4gPj4gMmY0ZDNj MTJlZTI3IGRybS9kcF9oZWxwZXI6IEFkZCBzdXBwb3J0IGZvciBDb25maWd1cmluZyBEU0MgZm9y DQo+ID4+IEhETUkyLjEgUGNvbg0KPiA+PiAtOjE1OiBXQVJOSU5HOlRZUE9fU1BFTExJTkc6ICdD b252ZXJ0b3InIG1heSBiZSBtaXNzcGVsbGVkIC0gcGVyaGFwcw0KPiAnQ29udmVydGVyJz8NCj4g Pj4gIzE1Og0KPiA+PiB2MzogT25seSBzZXR0aW5nIHRoZSBEU0MgYml0cyBmb3IgdGhlIFByb3Rv Y29sIENvbnZlcnRvciBjb250cm9sDQo+ID4+DQo+ID4+IC06MTY1OiBXQVJOSU5HOkJMT0NLX0NP TU1FTlRfU1RZTEU6IEJsb2NrIGNvbW1lbnRzIHVzZSBhIHRyYWlsaW5nICovDQo+ID4+IG9uIGEg c2VwYXJhdGUgbGluZQ0KPiA+PiAjMTY1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hl bHBlci5jOjMwMzc6DQo+ID4+ICsgKiAqLw0KPiA+Pg0KPiA+PiAtOjE4NTogV0FSTklORzpCTE9D S19DT01NRU5UX1NUWUxFOiBCbG9jayBjb21tZW50cyB1c2UgYSB0cmFpbGluZyAqLw0KPiA+PiBv biBhIHNlcGFyYXRlIGxpbmUNCj4gPj4gIzE4NTogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9k cF9oZWxwZXIuYzozMDU3Og0KPiA+PiArICogKi8NCj4gPj4NCj4gPj4gLToyMTA6IFdBUk5JTkc6 QkxPQ0tfQ09NTUVOVF9TVFlMRTogQmxvY2sgY29tbWVudHMgdXNlIGEgdHJhaWxpbmcgKi8NCj4g Pj4gb24gYSBzZXBhcmF0ZSBsaW5lDQo+ID4+ICMyMTA6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9k cm1fZHBfaGVscGVyLmM6MzA4MjoNCj4gPj4gKyAqICovDQo+ID4+DQo+ID4+IHRvdGFsOiAwIGVy cm9ycywgNCB3YXJuaW5ncywgMCBjaGVja3MsIDM0MyBsaW5lcyBjaGVja2VkDQo+ID4+IGQxNDY0 YTg3YTVhOCBkcm0vZHBfaGVscGVyOiBBZGQgaGVscGVycyB0byBjb25maWd1cmUgUENPTnMgUkdC LVlDYkNyDQo+ID4+IENvbnZlcnNpb24NCj4gPj4gLToxODogV0FSTklORzpUWVBPX1NQRUxMSU5H OiAnYWNjb21vZGF0ZScgbWF5IGJlIG1pc3NwZWxsZWQgLSBwZXJoYXBzDQo+ICdhY2NvbW1vZGF0 ZSc/DQo+ID4+ICMxODoNCj4gPj4gLU1vZGlmaWVkIHRoZSBjb2xvci1jb252ZXJzaW9uIGNhcCBo ZWxwZXIgZnVuY3Rpb24sIHRvIGFjY29tb2RhdGUNCj4gPj4NCj4gPj4gdG90YWw6IDAgZXJyb3Jz LCAxIHdhcm5pbmdzLCAwIGNoZWNrcywgMTA2IGxpbmVzIGNoZWNrZWQNCj4gPj4gMjllMTZhNzk5 MjExIGRybS9pOTE1OiBDYXB0dXJlIG1heCBmcmwgcmF0ZSBmb3IgUENPTiBpbiBkZnAgY2FwDQo+ ID4+IHN0cnVjdHVyZQ0KPiA+PiAtOjEzOiBXQVJOSU5HOkNPTU1JVF9MT0dfTE9OR19MSU5FOiBQ b3NzaWJsZSB1bndyYXBwZWQgY29tbWl0DQo+ID4+IGRlc2NyaXB0aW9uIChwcmVmZXIgYSBtYXhp bXVtIDc1IGNoYXJzIHBlciBsaW5lKQ0KPiA+PiAjMTM6DQo+ID4+IC10d2Vha2VkIHRoZSBjb21w YXJpc29uIG9mIHRhcmdldCBidyBhbmQgcGNvbiBmcmwgYncgdG8gYXZvaWQgcm91bmR1cA0KPiBl cnJvcnMuDQo+ID4+DQo+ID4+IHRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywgMCBjaGVja3Ms IDYwIGxpbmVzIGNoZWNrZWQNCj4gPj4gMGY2OGQ3MjgzMjk1IGRybS9pOTE1OiBBZGQgc3VwcG9y dCBmb3Igc3RhcnRpbmcgRlJMIHRyYWluaW5nIGZvcg0KPiA+PiBIRE1JMi4xIHZpYSBQQ09ODQo+ ID4+IC06ODY6IENIRUNLOkJSQUNFUzogQmxhbmsgbGluZXMgYXJlbid0IG5lY2Vzc2FyeSBhZnRl ciBhbiBvcGVuIGJyYWNlICd7Jw0KPiA+PiAjODY6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZHAuYzo0MDA1Og0KPiA+PiArew0KPiA+PiArDQo+ID4+DQo+ID4+IC06 MTQ3OiBXQVJOSU5HOkxPTkdfTElORTogbGluZSBsZW5ndGggb2YgMTAxIGV4Y2VlZHMgMTAwIGNv bHVtbnMNCj4gPj4gIzE0NzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcC5jOjQwNjY6DQo+ID4+ICsJd2FpdF9mb3IoaXNfYWN0aXZlID0gZHJtX2RwX3Bjb25faXNf ZnJsX3JlYWR5KCZpbnRlbF9kcC0+YXV4KSA9PQ0KPiA+PiArdHJ1ZSwgVElNRU9VVF9GUkxfUkVB RFlfTVMpOw0KPiA+Pg0KPiA+PiAtOjE2NjogV0FSTklORzpMT05HX0xJTkU6IGxpbmUgbGVuZ3Ro IG9mIDExMiBleGNlZWRzIDEwMCBjb2x1bW5zDQo+ID4+ICMxNjY6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYzo0MDg1Og0KPiA+PiArCXdhaXRfZm9yKGlzX2Fj dGl2ZSA9IGRybV9kcF9wY29uX2hkbWlfbGlua19hY3RpdmUoJmludGVsX2RwLT5hdXgpDQo+ID4+ ICs9PSB0cnVlLCBUSU1FT1VUX0hETUlfTElOS19BQ1RJVkVfTVMpOw0KPiA+Pg0KPiA+PiAtOjE3 MjogV0FSTklORzpMT05HX0xJTkU6IGxpbmUgbGVuZ3RoIG9mIDEwMSBleGNlZWRzIDEwMCBjb2x1 bW5zDQo+ID4+ICMxNzI6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZHAuYzo0MDkxOg0KPiA+PiArCWlmIChEUF9QQ09OX0hETUlfTU9ERV9GUkwgIT0NCj4gPj4gK2Ry bV9kcF9wY29uX2hkbWlfbGlua19tb2RlKCZpbnRlbF9kcC0+YXV4LCAmZnJsX3RyYWluZWRfbWFz aykpIHsNCj4gPj4NCj4gPj4gLToxNzI6IFdBUk5JTkc6Q09OU1RBTlRfQ09NUEFSSVNPTjogQ29t cGFyaXNvbnMgc2hvdWxkIHBsYWNlIHRoZQ0KPiA+PiBjb25zdGFudCBvbiB0aGUgcmlnaHQgc2lk ZSBvZiB0aGUgdGVzdA0KPiA+PiAjMTcyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2RwLmM6NDA5MToNCj4gPj4gKwlpZiAoRFBfUENPTl9IRE1JX01PREVfRlJMICE9 DQo+ID4+ICtkcm1fZHBfcGNvbl9oZG1pX2xpbmtfbW9kZSgmaW50ZWxfZHAtPmF1eCwgJmZybF90 cmFpbmVkX21hc2spKSB7DQo+ID4+DQo+ID4+IC06MTc2OiBXQVJOSU5HOkxPTkdfTElORTogbGlu ZSBsZW5ndGggb2YgMTA5IGV4Y2VlZHMgMTAwIGNvbHVtbnMNCj4gPj4gIzE3NjogRklMRTogZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jOjQwOTU6DQo+ID4+ICsJZHJtX2Ri ZygmaTkxNS0+ZHJtLCAiTUFYX0ZSTF9NQVNLID0gJXUsIEZSTF9UUkFJTkVEX01BU0sgPQ0KPiAl dVxuIiwNCj4gPj4gK21heF9mcmxfYndfbWFzaywgZnJsX3RyYWluZWRfbWFzayk7DQo+ID4+DQo+ ID4+IHRvdGFsOiAwIGVycm9ycywgNSB3YXJuaW5ncywgMSBjaGVja3MsIDE5NCBsaW5lcyBjaGVj a2VkDQo+ID4+IDM3OTNmNTI1MjE2MSBkcm0vaTkxNTogQ2hlY2sgZm9yIEZSTCB0cmFpbmluZyBi ZWZvcmUgRFAgTGluayB0cmFpbmluZw0KPiA+PiAxMjY1NzhmNmZlMzkgZHJtL2k5MTU6IEFkZCBz dXBwb3J0IGZvciBlbmFibGluZyBsaW5rIHN0YXR1cyBhbmQNCj4gPj4gcmVjb3ZlcnkNCj4gPj4g LTo1NDogV0FSTklORzpMT05HX0xJTkU6IGxpbmUgbGVuZ3RoIG9mIDEwNyBleGNlZWRzIDEwMCBj b2x1bW5zDQo+ID4+ICM1NDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kcC5jOjYwMzE6DQo+ID4+ICsJCWRybV9kcF9wY29uX2hkbWlfZnJsX2xpbmtfZXJyb3JfY291 bnQoJmludGVsX2RwLT5hdXgsDQo+ID4+ICsmaW50ZWxfZHAtPmF0dGFjaGVkX2Nvbm5lY3Rvci0+ YmFzZSk7DQo+ID4+DQo+ID4+IHRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywgMCBjaGVja3Ms IDgzIGxpbmVzIGNoZWNrZWQgY2E1ZDhkZjQzY2ViDQo+ID4+IGRybS9pOTE1OiBSZWFkIERTQyBj YXBhYmlsaXRpZXMgb2YgdGhlIEhETUkyLjEgUENPTiBlbmNvZGVyDQo+ID4+IC06NTE6IENIRUNL OlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuDQo+ID4+ IHBhcmVudGhlc2lzDQo+ID4+ICM1MTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kcC5jOjQwMDA6DQo+ID4+ICsJaWYgKGRybV9kcF9kcGNkX3JlYWQoJmludGVsX2Rw LT5hdXgsIERQX1BDT05fRFNDX0VOQ09ERVIsDQo+ID4+ICsJCQkJICAgICBpbnRlbF9kcC0+cGNv bl9kc2NfZHBjZCwNCj4gPj4NCj4gPj4gLTo1NzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5U OiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4NCj4gPj4gcGFyZW50aGVzaXMNCj4gPj4gIzU3 OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmM6NDAwNjoNCj4g Pj4gKwlkcm1fZGJnX2ttcygmaTkxNS0+ZHJtLCAiUENPTiBFTkNPREVSIERTQyBEUENEOiAlKnBo XG4iLA0KPiA+PiArCQkgICAoaW50KXNpemVvZihpbnRlbF9kcC0+cGNvbl9kc2NfZHBjZCksIGlu dGVsX2RwLQ0KPiA+cGNvbl9kc2NfZHBjZCk7DQo+ID4+DQo+ID4+IHRvdGFsOiAwIGVycm9ycywg MCB3YXJuaW5ncywgMiBjaGVja3MsIDM5IGxpbmVzIGNoZWNrZWQgMzVmNjlhNjU1YmFkDQo+ID4+ IGRybS9pOTE1OiBBZGQgaGVscGVyIGZ1bmN0aW9ucyBmb3IgY2FsY3VsYXRpbmcgRFNDIHBhcmFt ZXRlcnMgZm9yDQo+ID4+IEhETUkyLjENCj4gPj4gLTo1NzogV0FSTklORzpUWVBPX1NQRUxMSU5H OiAnY2FwYWJpbGl0ZXMnIG1heSBiZSBtaXNzcGVsbGVkIC0gcGVyaGFwcw0KPiAnY2FwYWJpbGl0 aWVzJz8NCj4gPj4gIzU3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2hkbWkuYzozNDU4Og0KPiA+PiArICogYW5kIGRzYyBkZWNvZGVyIGNhcGFiaWxpdGVzDQo+ID4+ DQo+ID4+IC06MTQzOiBXQVJOSU5HOlNVU1BFQ1RfQ09ERV9JTkRFTlQ6IHN1c3BlY3QgY29kZSBp bmRlbnQgZm9yDQo+ID4+IGNvbmRpdGlvbmFsIHN0YXRlbWVudHMgKDE2LCAyMykNCj4gPj4gIzE0 MzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmM6MzU0NDoN Cj4gPj4gKwkJaWYgKG1pbl9zbGljZXMgPD0gMSAmJiBzcmNfbWF4X3NsaWNlcyA+PSAxICYmIGhk bWlfbWF4X3NsaWNlcw0KPiA+PSAxKQ0KPiA+PiArCQkgICAgICAgdGFyZ2V0X3NsaWNlcyA9IDE7 DQo+ID4+DQo+ID4+IC06MTQ1OiBXQVJOSU5HOlNVU1BFQ1RfQ09ERV9JTkRFTlQ6IHN1c3BlY3Qg Y29kZSBpbmRlbnQgZm9yDQo+ID4+IGNvbmRpdGlvbmFsIHN0YXRlbWVudHMgKDE2LCAyMykNCj4g Pj4gIzE0NTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmM6 MzU0NjoNCj4gPj4gKwkJZWxzZSBpZiAobWluX3NsaWNlcyA8PSAyICYmIHNyY19tYXhfc2xpY2Vz ID49IDIgJiYNCj4gaGRtaV9tYXhfc2xpY2VzID49IDIpDQo+ID4+ICsJCSAgICAgICB0YXJnZXRf c2xpY2VzID0gMjsNCj4gPj4NCj4gPj4gLToxNDc6IFdBUk5JTkc6U1VTUEVDVF9DT0RFX0lOREVO VDogc3VzcGVjdCBjb2RlIGluZGVudCBmb3INCj4gPj4gY29uZGl0aW9uYWwgc3RhdGVtZW50cyAo MTYsIDIzKQ0KPiA+PiAjMTQ3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2hkbWkuYzozNTQ4Og0KPiA+PiArCQllbHNlIGlmIChtaW5fc2xpY2VzIDw9IDQgJiYgc3Jj X21heF9zbGljZXMgPj0gNCAmJg0KPiBoZG1pX21heF9zbGljZXMgPj0gNCkNCj4gPj4gKwkJICAg ICAgIHRhcmdldF9zbGljZXMgPSA0Ow0KPiA+Pg0KPiA+PiAtOjE0OTogV0FSTklORzpTVVNQRUNU X0NPREVfSU5ERU5UOiBzdXNwZWN0IGNvZGUgaW5kZW50IGZvcg0KPiA+PiBjb25kaXRpb25hbCBz dGF0ZW1lbnRzICgxNiwgMjMpDQo+ID4+ICMxNDk6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfaGRtaS5jOjM1NTA6DQo+ID4+ICsJCWVsc2UgaWYgKG1pbl9zbGljZXMg PD0gOCAmJiBzcmNfbWF4X3NsaWNlcyA+PSA4ICYmDQo+IGhkbWlfbWF4X3NsaWNlcyA+PSA4KQ0K PiA+PiArCQkgICAgICAgdGFyZ2V0X3NsaWNlcyA9IDg7DQo+ID4+DQo+ID4+IC06MTUxOiBXQVJO SU5HOlNVU1BFQ1RfQ09ERV9JTkRFTlQ6IHN1c3BlY3QgY29kZSBpbmRlbnQgZm9yDQo+ID4+IGNv bmRpdGlvbmFsIHN0YXRlbWVudHMgKDE2LCAyMykNCj4gPj4gIzE1MTogRklMRTogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmM6MzU1MjoNCj4gPj4gKwkJZWxzZSBpZiAo bWluX3NsaWNlcyA8PSAxMiAmJiBzcmNfbWF4X3NsaWNlcyA+PSAxMiAmJg0KPiBoZG1pX21heF9z bGljZXMgPj0gMTIpDQo+ID4+ICsJCSAgICAgICB0YXJnZXRfc2xpY2VzID0gMTI7DQo+ID4+DQo+ ID4+IC06MTUzOiBXQVJOSU5HOlNVU1BFQ1RfQ09ERV9JTkRFTlQ6IHN1c3BlY3QgY29kZSBpbmRl bnQgZm9yDQo+ID4+IGNvbmRpdGlvbmFsIHN0YXRlbWVudHMgKDE2LCAyMykNCj4gPj4gIzE1Mzog RklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmM6MzU1NDoNCj4g Pj4gKwkJZWxzZSBpZiAobWluX3NsaWNlcyA8PSAxNiAmJiBzcmNfbWF4X3NsaWNlcyA+PSAxNiAm Jg0KPiBoZG1pX21heF9zbGljZXMgPj0gMTYpDQo+ID4+ICsJCSAgICAgICB0YXJnZXRfc2xpY2Vz ID0gMTY7DQo+ID4+DQo+ID4+IHRvdGFsOiAwIGVycm9ycywgNyB3YXJuaW5ncywgMCBjaGVja3Ms IDI0OCBsaW5lcyBjaGVja2VkIDM0ZWU5ZGZkYWRmZA0KPiA+PiBkcm0vaTkxNS9kaXNwbGF5OiBD b25maWd1cmUgUENPTiBmb3IgRFNDMS4xIHRvIERTQzEuMiBlbmNvZGluZw0KPiA+PiAtOjc1OiBD SEVDSzpCUkFDRVM6IEJsYW5rIGxpbmVzIGFyZW4ndCBuZWNlc3NhcnkgYWZ0ZXIgYW4gb3BlbiBi cmFjZSAneycNCj4gPj4gIzc1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2RwLmM6NDE3MToNCj4gPj4gK3sNCj4gPj4gKw0KPiA+Pg0KPiA+PiAtOjkyOiBDSEVDSzpM SU5FX1NQQUNJTkc6IFBsZWFzZSBkb24ndCB1c2UgbXVsdGlwbGUgYmxhbmsgbGluZXMNCj4gPj4g IzkyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmM6NDE4ODoN Cj4gPj4gKw0KPiA+PiArDQo+ID4+DQo+ID4+IC06MTU1OiBDSEVDSzpQQVJFTlRIRVNJU19BTElH Tk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3Blbg0KPiA+PiBwYXJlbnRoZXNpcw0KPiA+ PiAjMTU1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmM6NDI1 MToNCj4gPj4gKwliaXRzX3Blcl9waXhlbCA9IGludGVsX2RwX3Bjb25fZHNjX2VuY19icHAoaW50 ZWxfZHAsIGNydGNfc3RhdGUsDQo+ID4+ICsJCQkJCQkgIG51bV9zbGljZXMsIHNsaWNlX3dpZHRo KTsNCj4gPj4NCj4gPj4gdG90YWw6IDAgZXJyb3JzLCAwIHdhcm5pbmdzLCAzIGNoZWNrcywgMTU3 IGxpbmVzIGNoZWNrZWQgZDczOTAzNDk0N2JiDQo+ID4+IGRybS9pOTE1L2Rpc3BsYXk6IExldCBQ Q09OIGNvbnZlcnQgZnJvbSBSR0IgdG8gWUNiQ3IgaWYgaXQgY2FuDQo+ID4+IC06MTA0OiBXQVJO SU5HOkxPTkdfTElORTogbGluZSBsZW5ndGggb2YgMTAxIGV4Y2VlZHMgMTAwIGNvbHVtbnMNCj4g Pj4gIzEwNDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jOjQz Njg6DQo+ID4+ICsNCj4gRFBfRFNfSERNSV9CVDIwMjBfUkdCX1lDQkNSX0NPTlYpOw0KPiA+Pg0K PiA+PiAtOjE1NjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxk IG1hdGNoIG9wZW4NCj4gPj4gcGFyZW50aGVzaXMNCj4gPj4gIzE1NjogRklMRTogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jOjY5MjI6DQo+ID4+ICsJcmdiX3RvX3ljYmNy ID0gZHJtX2RwX2Rvd25zdHJlYW1fcmdiX3RvX3ljYmNyX2NvbnZlcnNpb24oaW50ZWxfZHAtDQo+ ID5kcGNkLA0KPiA+PiArCQkJCQkJCWludGVsX2RwLQ0KPiA+ZG93bnN0cmVhbV9wb3J0cywNCj4g Pj4NCj4gPj4gdG90YWw6IDAgZXJyb3JzLCAxIHdhcm5pbmdzLCAxIGNoZWNrcywgMTUyIGxpbmVz IGNoZWNrZWQNCj4gPj4NCj4gPj4NCj4gPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18NCj4gPj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPiA+PiBJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4DQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK