From mboxrd@z Thu Jan 1 00:00:00 1970 From: "C, Ramalingam" Subject: Re: [PATCH v5 01/40] drm: hdcp2.2 authentication msg definitions Date: Wed, 11 Jul 2018 17:57:08 +0000 Message-ID: <3E576CE581B70742841A8994F80CE2EE4D7D9091@BGSMSX104.gar.corp.intel.com> References: <1530088829-11730-1-git-send-email-ramalingam.c@intel.com> <1530088829-11730-2-git-send-email-ramalingam.c@intel.com> <20180709202126.GG20303@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180709202126.GG20303@art_vandelay> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sean Paul Cc: "intel-gfx@lists.freedesktop.org" , "Usyskin, Alexander" , "dri-devel@lists.freedesktop.org" , "Winkler, Tomas" List-Id: dri-devel@lists.freedesktop.org VGhhbmtzIHNlYW5wYXVsIGZvciB0aGUgcmV2aWV3cy4KCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdl LS0tLS0KPiBGcm9tOiBTZWFuIFBhdWwgW21haWx0bzpzZWFucGF1bEBjaHJvbWl1bS5vcmddCj4g U2VudDogVHVlc2RheSwgSnVseSAxMCwgMjAxOCAxOjUxIEFNCj4gVG86IEMsIFJhbWFsaW5nYW0g PHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+Cj4gQ2M6IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmc7IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmc7Cj4gZGFuaWVsQGZmd2xsLmNo OyBXaW5rbGVyLCBUb21hcyA8dG9tYXMud2lua2xlckBpbnRlbC5jb20+OyBVc3lza2luLAo+IEFs ZXhhbmRlciA8YWxleGFuZGVyLnVzeXNraW5AaW50ZWwuY29tPjsgU2hhbmthciwgVW1hCj4gPHVt YS5zaGFua2FyQGludGVsLmNvbT4KPiBTdWJqZWN0OiBSZTogW0ludGVsLWdmeF0gW1BBVENIIHY1 IDAxLzQwXSBkcm06IGhkY3AyLjIgYXV0aGVudGljYXRpb24gbXNnCj4gZGVmaW5pdGlvbnMKPiAK PiBPbiBXZWQsIEp1biAyNywgMjAxOCBhdCAwMjowOTo1MFBNICswNTMwLCBSYW1hbGluZ2FtIEMg d3JvdGU6Cj4gPiBUaGlzIHBhdGNoIGRlZmluZXMgdGhlIGhkY3AyLjIgcHJvdG9jb2wgbWVzc2Fn ZXMgZm9yIGF1dGhlbnRpY2F0aW9uLgo+ID4KPiA+IHYyOgo+ID4gICBiaXRfZmllbGRzIGFyZSBy ZW1vdmVkLiBJbnN0ZWFkIGJpdG1hc2tpbmcgdXNlZC4gW1RvbWFzIGFuZCBKYW5pXQo+ID4gICBw cmVmaXggSERDUF8yXzJfIGlzIGFkZGVkIHRvIHRoZSBtYWNyb3MuIFtUb21hc10KPiA+IHYzOgo+ ID4gICBObyBDaGFuZ2VzLgo+ID4gdjQ6Cj4gPiAgIFN0eWxlIGFuZCBzcGVsbGluZ3MgYXJlIGZp eGVkIFtVbWFdCj4gPiB2NToKPiA+ICAgRml4IGZvciBtYWNyb3MuCj4gPgo+ID4gU2lnbmVkLW9m Zi1ieTogUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgo+ID4gLS0tCj4gPiAg aW5jbHVkZS9kcm0vZHJtX2hkY3AuaCB8IDE3OQo+ID4gKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNzkgaW5zZXJ0 aW9ucygrKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1faGRjcC5oIGIvaW5j bHVkZS9kcm0vZHJtX2hkY3AuaCBpbmRleAo+ID4gOThlNjNkODcwMTM5Li4zZTk2M2M1ZDA0YjIg MTAwNjQ0Cj4gPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1faGRjcC5oCj4gPiArKysgYi9pbmNsdWRl L2RybS9kcm1faGRjcC5oCj4gPiBAQCAtMzgsNCArMzgsMTgzIEBACj4gPiAgI2RlZmluZSBEUk1f SERDUF9ERENfQlNUQVRVUwkJCTB4NDEKPiA+ICAjZGVmaW5lIERSTV9IRENQX0REQ19LU1ZfRklG TwkJCTB4NDMKPiA+Cj4gPiArI2RlZmluZSBEUk1fSERDUF8xXzRfU1JNX0lECQkJMHg4Cj4gPiAr I2RlZmluZSBEUk1fSERDUF8xXzRfVlJMX0xFTkdUSF9TSVpFCQkzCj4gPiArI2RlZmluZSBEUk1f SERDUF8xXzRfRENQX1NJR19TSVpFCQk0MAo+IAo+IFRoZXNlIGRvbid0IHNlZW0gdG8gYmUgcmVs YXRlZCB0byB0aGUgcGF0Y2g/Cj4gCj4gPiArCj4gPiArLyogUHJvdG9jb2wgbWVzc2FnZSBkZWZp bml0aW9uIGZvciBIRENQMi4yIHNwZWNpZmljYXRpb24gKi8KPiA+ICsjZGVmaW5lIEhEQ1BfU1RS RUFNX1RZUEUwCQkJMHgwMAo+ID4gKyNkZWZpbmUgSERDUF9TVFJFQU1fVFlQRTEJCQkweDAxCj4g Cj4gV2h5IG5vdCBIRENQXzJfMiBwcmVmaXg/ClRob3VnaCB0aGV5IGFyZSBpbnRyb2R1Y2VkIGF0 IEhEQ1AyLjIsIHRoaXMgaXMgY2xhc3NpZmljYXRpb24gb2YgdGhlIHN0cmVhbXMuCkFuZCBUeXBl IDAgY2FuIGJlIHRyYW5zbWl0dGVkIG9uIEhEQ1AxLjQuClNvIGtlZXBpbmcgaXQgYXMgZ2VuZXJp YyBuYW1lIHdpdGggbm8gdmVyc2lvbiBtZW50aW9uZWQuCj4gCj4gPiArCj4gPiArLyogSERDUDIu MiBNc2cgSURzICovCj4gPiArI2RlZmluZSBIRENQXzJfMl9OVUxMX01TRwkJCTEKPiA+ICsjZGVm aW5lIEhEQ1BfMl8yX0FLRV9JTklUCQkJMgo+ID4gKyNkZWZpbmUgSERDUF8yXzJfQUtFX1NFTkRf Q0VSVAkJCTMKPiA+ICsjZGVmaW5lIEhEQ1BfMl8yX0FLRV9OT19TVE9SRURfS00JCTQKPiA+ICsj ZGVmaW5lIEhEQ1BfMl8yX0FLRV9TVE9SRURfS00JCQk1Cj4gPiArI2RlZmluZSBIRENQXzJfMl9B S0VfU0VORF9IUFJJTUUJCTcKPiA+ICsjZGVmaW5lIEhEQ1BfMl8yX0FLRV9TRU5EX1BBSVJJTkdf SU5GTwkJOAo+ID4gKyNkZWZpbmUgSERDUF8yXzJfTENfSU5JVAkJCTkKPiA+ICsjZGVmaW5lIEhE Q1BfMl8yX0xDX1NFTkRfTFBSSU1FCQkJMTAKPiA+ICsjZGVmaW5lIEhEQ1BfMl8yX1NLRV9TRU5E X0VLUwkJCTExCj4gPiArI2RlZmluZSBIRENQXzJfMl9SRVBfU0VORF9SRUNWSURfTElTVAkJMTIK PiA+ICsjZGVmaW5lIEhEQ1BfMl8yX1JFUF9TRU5EX0FDSwkJCTE1Cj4gPiArI2RlZmluZSBIRENQ XzJfMl9SRVBfU1RSRUFNX01BTkFHRQkJMTYKPiA+ICsjZGVmaW5lIEhEQ1BfMl8yX1JFUF9TVFJF QU1fUkVBRFkJCTE3Cj4gPiArI2RlZmluZSBIRENQXzJfMl9FUlJBVEFfRFBfU1RSRUFNX1RZUEUJ CTUwCj4gPiArCj4gPiArI2RlZmluZSBIRENQXzJfMl9SVFhfTEVOCQkJOAo+ID4gKyNkZWZpbmUg SERDUF8yXzJfUlJYX0xFTgkJCTgKPiA+ICsKPiA+ICsjZGVmaW5lIEhEQ1BfMl8yX0tfUFVCX1JY X01PRF9OX0xFTgkJMTI4Cj4gPiArI2RlZmluZSBIRENQXzJfMl9LX1BVQl9SWF9FWFBfRV9MRU4J CTMKPiA+ICsjZGVmaW5lIEhEQ1BfMl8yX0tfUFVCX1JYX0xFTgo+IAkoSERDUF8yXzJfS19QVUJf UlhfTU9EX05fTEVOICsgXAo+ID4gKwo+IEhEQ1BfMl8yX0tfUFVCX1JYX0VYUF9FX0xFTikKPiA+ ICsKPiA+ICsjZGVmaW5lIEhEQ1BfMl8yX0RDUF9MTENfU0lHX0xFTgkJMzg0Cj4gPiArCj4gPiAr I2RlZmluZSBIRENQXzJfMl9FX0tQVUJfS01fTEVOCQkJMTI4Cj4gPiArI2RlZmluZSBIRENQXzJf Ml9FX0tIX0tNX01fTEVOCQkJKDE2ICsgMTYpCj4gPiArI2RlZmluZSBIRENQXzJfMl9IX1BSSU1F X0xFTgkJCTMyCj4gPiArI2RlZmluZSBIRENQXzJfMl9FX0tIX0tNX0xFTgkJCTE2Cj4gPiArI2Rl ZmluZSBIRENQXzJfMl9STl9MRU4JCQkJOAo+ID4gKyNkZWZpbmUgSERDUF8yXzJfTF9QUklNRV9M RU4JCQkzMgo+ID4gKyNkZWZpbmUgSERDUF8yXzJfRV9ES0VZX0tTX0xFTgkJCTE2Cj4gPiArI2Rl ZmluZSBIRENQXzJfMl9SSVZfTEVOCQkJOAo+ID4gKyNkZWZpbmUgSERDUF8yXzJfU0VRX05VTV9M RU4JCQkzCj4gPiArI2RlZmluZSBIRENQXzJfMl9MUFJJTUVfSEFMRl9MRU4KPiAJKEhEQ1BfMl8y X0xfUFJJTUVfTEVOIC8gMikKPiA+ICsjZGVmaW5lIEhEQ1BfMl8yX1JFQ0VJVkVSX0lEX0xFTgkJ RFJNX0hEQ1BfS1NWX0xFTgo+ID4gKyNkZWZpbmUgSERDUF8yXzJfTUFYX0RFVklDRV9DT1VOVAkJ MzEKPiA+ICsjZGVmaW5lIEhEQ1BfMl8yX1JFQ0VJVkVSX0lEU19NQVhfTEVOCj4gCShIRENQXzJf Ml9SRUNFSVZFUl9JRF9MRU4gKiBcCj4gPiArCj4gSERDUF8yXzJfTUFYX0RFVklDRV9DT1VOVCkK PiA+ICsjZGVmaW5lIEhEQ1BfMl8yX01QUklNRV9MRU4JCQkzMgo+ID4gKwo+ID4gKy8qIEZvbGxv d2luZyBNYWNyb3MgdGFrZSBhIGJ5dGUgYXQgYSB0aW1lIGZvciBiaXQocykgbWFza2luZyAqLwo+ ID4gKy8qCj4gPiArICogVE9ETzogVGhpcyBoYXMgdG8gYmUgY2hhbmdlZCBmb3IgRFAgTVNULCBh cyBtdWx0aXBsZSBzdHJlYW0gb24KPiA+ICsgKiBzYW1lIHBvcnQgaXMgcG9zc2libGUuCj4gPiAr ICogRm9yIEhEQ1AyLjIgb24gSERNSSBhbmQgRFAgU1NUIHRoaXMgdmFsdWUgaXMgYWx3YXlzIDEu Cj4gPiArICovCj4gPiArI2RlZmluZSBIRENQXzJfMl9NQVhfQ09OVEVOVF9TVFJFQU1TX0NOVAkx Cj4gPiArI2RlZmluZSBIRENQXzJfMl9UWENBUF9NQVNLX0xFTgkJCTIKPiA+ICsjZGVmaW5lIEhE Q1BfMl8yX1JYQ0FQU19MRU4JCQkzCj4gPiArI2RlZmluZSBIRENQXzJfMl9SWF9SRVBFQVRFUih4 KQkJCSgoeCkgJiBCSVQoMCkpCj4gPiArI2RlZmluZSBIRENQXzJfMl9EUF9IRENQX0NBUEFCTEUo eCkJCSgoeCkgJiBCSVQoMSkpCj4gPiArI2RlZmluZSBIRENQXzJfMl9SWElORk9fTEVOCQkJMgo+ ID4gKwo+ID4gKy8qIEhEQ1AxLnggY29tcGxpYW50IGRldmljZSBpbiBkb3duc3RyZWFtICovCj4g PiArI2RlZmluZSBIRENQXzJfMl9IRENQMV9ERVZJQ0VfQ09OTkVDVEVEKHgpCSgoeCkgJiBCSVQo MCkpCj4gPiArCj4gPiArLyogSERDUDIuMCBDb21wbGlhbnQgcmVwZWF0ZXIgaW4gZG93bnN0cmVh bSAqLwo+ID4gKyNkZWZpbmUgSERDUF8yXzJfSERDUF8yXzBfUkVQX0NPTk5FQ1RFRCh4KQkoKHgp ICYgQklUKDEpKQo+ID4gKyNkZWZpbmUgSERDUF8yXzJfTUFYX0NBU0NBREVfRVhDRUVERUQoeCkJ KCh4KSAmIEJJVCgyKSkKPiA+ICsjZGVmaW5lIEhEQ1BfMl8yX01BWF9ERVZTX0VYQ0VFREVEKHgp CQkoKHgpICYgQklUKDMpKQo+ID4gKyNkZWZpbmUgSERDUF8yXzJfREVWX0NPVU5UX0xPKHgpCQko KCh4KSAmICgweEYgPDwgNCkpID4+IDQpCj4gPiArI2RlZmluZSBIRENQXzJfMl9ERVZfQ09VTlRf SEkoeCkJCSgoeCkgJiBCSVQoMCkpCj4gPiArI2RlZmluZSBIRENQXzJfMl9ERVBUSCh4KQkJCSgo KHgpICYgKDB4NyA8PCAxKSkgPj4gMSkKPiA+ICsKPiA+ICtzdHJ1Y3QgaGRjcDJfY2VydF9yeCB7 Cj4gPiArCXVpbnQ4X3QJcmVjZWl2ZXJfaWRbSERDUF8yXzJfUkVDRUlWRVJfSURfTEVOXTsKPiA+ ICsJdWludDhfdAlrcHViX3J4W0hEQ1BfMl8yX0tfUFVCX1JYX0xFTl07Cj4gPiArCXVpbnQ4X3QJ cmVzZXJ2ZWRbMl07Cj4gPiArCXVpbnQ4X3QJZGNwX3NpZ25hdHVyZVtIRENQXzJfMl9EQ1BfTExD X1NJR19MRU5dOwo+ID4gK30gX19wYWNrZWQ7Cj4gPiArCj4gPiArc3RydWN0IGhkY3AyX3N0cmVh bWlkX3R5cGUgewo+ID4gKwl1aW50OF90IHN0cmVhbV9pZDsKPiA+ICsJdWludDhfdCBzdHJlYW1f dHlwZTsKPiA+ICt9IF9fcGFja2VkOwo+ID4gKwo+ID4gKy8qCj4gPiArICogVGhlIFR4Q2FwcyBm aWVsZCBzcGVjaWZpZWQgaW4gdGhlIEhEQ1AgSERNSSwgRFAgc3BlY3MKPiA+ICsgKiBUaGlzIGZp ZWxkIGlzIGJpZyBlbmRpYW4gYXMgc3BlY2lmaWVkIGluIHRoZSBlcnJhdGEuCj4gPiArICovCj4g PiArc3RydWN0IGhkY3AyX3R4X2NhcHMgewo+ID4gKwkvKiBUcmFuc21pdHRlciBtdXN0IHNldCB0 aGlzIHRvIDB4MiAqLwo+ID4gKwl1aW50OF90CQkJdmVyc2lvbjsKPiA+ICsKPiA+ICsJLyogUmVz ZXJ2ZWQgZm9yIEhEQ1AgYW5kIERQIFNwZWMuIFJlYWQgYXMgWmVybyAqLwo+ID4gKwl1aW50OF90 CQkJdHhfY2FwX21hc2tbSERDUF8yXzJfVFhDQVBfTUFTS19MRU5dOwo+ID4gK30gX19wYWNrZWQ7 Cj4gPiArCj4gPiArLyogTWFpbiBzdHJ1Y3R1cmVzIGZvciBIRENQMi4yIHByb3RvY29sIGNvbW11 bmljYXRpb24gKi8gc3RydWN0Cj4gPiAraGRjcDJfYWtlX2luaXQgewo+ID4gKwl1aW50OF90CQkJ bXNnX2lkOwo+ID4gKwl1aW50OF90CQkJcl90eFtIRENQXzJfMl9SVFhfTEVOXTsKPiA+ICsJc3Ry dWN0IGhkY3AyX3R4X2NhcHMJdHhfY2FwczsKPiA+ICt9IF9fcGFja2VkOwo+ID4gKwo+ID4gK3N0 cnVjdCBoZGNwMl9ha2Vfc2VuZF9jZXJ0IHsKPiA+ICsJdWludDhfdAkJCW1zZ19pZDsKPiA+ICsJ c3RydWN0IGhkY3AyX2NlcnRfcngJY2VydF9yeDsKPiA+ICsJdWludDhfdAkJCXJfcnhbSERDUF8y XzJfUlJYX0xFTl07Cj4gPiArCXVpbnQ4X3QJCQlyeF9jYXBzW0hEQ1BfMl8yX1JYQ0FQU19MRU5d Owo+ID4gK30gX19wYWNrZWQ7Cj4gPiArCj4gPiArc3RydWN0IGhkY3AyX2FrZV9ub19zdG9yZWRf a20gewo+ID4gKwl1aW50OF90CQkJbXNnX2lkOwo+ID4gKwl1aW50OF90CQkJZV9rcHViX2ttW0hE Q1BfMl8yX0VfS1BVQl9LTV9MRU5dOwo+ID4gK30gX19wYWNrZWQ7Cj4gPiArCj4gPiArc3RydWN0 IGhkY3AyX2FrZV9zdG9yZWRfa20gewo+ID4gKwl1aW50OF90CQkJbXNnX2lkOwo+ID4gKwl1aW50 OF90CQkJZV9raF9rbV9tW0hEQ1BfMl8yX0VfS0hfS01fTV9MRU5dOwo+ID4gK30gX19wYWNrZWQ7 Cj4gPiArCj4gPiArc3RydWN0IGhkY3AyX2FrZV9zZW5kX2hwcmltZSB7Cj4gPiArCXVpbnQ4X3QJ CQltc2dfaWQ7Cj4gPiArCXVpbnQ4X3QJCQloX3ByaW1lW0hEQ1BfMl8yX0hfUFJJTUVfTEVOXTsK PiA+ICt9IF9fcGFja2VkOwo+ID4gKwo+ID4gK3N0cnVjdCBoZGNwMl9ha2Vfc2VuZF9wYWlyaW5n X2luZm8gewo+ID4gKwl1aW50OF90CQkJbXNnX2lkOwo+ID4gKwl1aW50OF90CQkJZV9raF9rbVtI RENQXzJfMl9FX0tIX0tNX0xFTl07Cj4gPiArfSBfX3BhY2tlZDsKPiA+ICsKPiA+ICtzdHJ1Y3Qg aGRjcDJfbGNfaW5pdCB7Cj4gPiArCXVpbnQ4X3QJCQltc2dfaWQ7Cj4gPiArCXVpbnQ4X3QJCQly X25bSERDUF8yXzJfUk5fTEVOXTsKPiA+ICt9IF9fcGFja2VkOwo+ID4gKwo+ID4gK3N0cnVjdCBo ZGNwMl9sY19zZW5kX2xwcmltZSB7Cj4gPiArCXVpbnQ4X3QJCQltc2dfaWQ7Cj4gPiArCXVpbnQ4 X3QJCQlsX3ByaW1lW0hEQ1BfMl8yX0xfUFJJTUVfTEVOXTsKPiA+ICt9IF9fcGFja2VkOwo+ID4g Kwo+ID4gK3N0cnVjdCBoZGNwMl9za2Vfc2VuZF9la3Mgewo+ID4gKwl1aW50OF90CQkJbXNnX2lk Owo+ID4gKwl1aW50OF90CQkJZV9ka2V5X2tzW0hEQ1BfMl8yX0VfREtFWV9LU19MRU5dOwo+ID4g Kwl1aW50OF90CQkJcml2W0hEQ1BfMl8yX1JJVl9MRU5dOwo+ID4gK30gX19wYWNrZWQ7Cj4gPiAr Cj4gPiArc3RydWN0IGhkY3AyX3JlcF9zZW5kX3JlY2VpdmVyaWRfbGlzdCB7Cj4gPiArCXVpbnQ4 X3QJCQltc2dfaWQ7Cj4gPiArCXVpbnQ4X3QJCQlyeF9pbmZvW0hEQ1BfMl8yX1JYSU5GT19MRU5d Owo+ID4gKwl1aW50OF90CQkJc2VxX251bV92W0hEQ1BfMl8yX1NFUV9OVU1fTEVOXTsKPiA+ICsJ dWludDhfdAkJCXZfcHJpbWVbSERDUF8yXzJfTFBSSU1FX0hBTEZfTEVOXTsKPiA+ICsJdWludDhf dAo+IAlyZWNlaXZlcl9pZHNbSERDUF8yXzJfUkVDRUlWRVJfSURTX01BWF9MRU5dOwo+ID4gK30g X19wYWNrZWQ7Cj4gPiArCj4gPiArc3RydWN0IGhkY3AyX3JlcF9zZW5kX2FjayB7Cj4gPiArCXVp bnQ4X3QJCQltc2dfaWQ7Cj4gPiArCXVpbnQ4X3QJCQl2W0hEQ1BfMl8yX0xQUklNRV9IQUxGX0xF Tl07Cj4gPiArfSBfX3BhY2tlZDsKPiA+ICsKPiA+ICtzdHJ1Y3QgaGRjcDJfcmVwX3N0cmVhbV9t YW5hZ2Ugewo+ID4gKwl1aW50OF90CQkJbXNnX2lkOwo+ID4gKwl1aW50OF90CQkJc2VxX251bV9t W0hEQ1BfMl8yX1NFUV9OVU1fTEVOXTsKPiA+ICsJX19iZTE2CQkJazsKPiA+ICsJc3RydWN0IGhk Y3AyX3N0cmVhbWlkX3R5cGUKPiA+ICtzdHJlYW1zW0hEQ1BfMl8yX01BWF9DT05URU5UX1NUUkVB TVNfQ05UXTsKPiA+ICt9IF9fcGFja2VkOwo+ID4gKwo+ID4gK3N0cnVjdCBoZGNwMl9yZXBfc3Ry ZWFtX3JlYWR5IHsKPiA+ICsJdWludDhfdAkJCW1zZ19pZDsKPiA+ICsJdWludDhfdAkJCW1fcHJp bWVbSERDUF8yXzJfTVBSSU1FX0xFTl07Cj4gPiArfSBfX3BhY2tlZDsKPiA+ICsKPiA+ICtzdHJ1 Y3QgaGRjcDJfZHBfZXJyYXRhX3N0cmVhbV90eXBlIHsKPiA+ICsJdWludDhfdAkJCW1zZ19pZDsK PiA+ICsJdWludDhfdAkJCXN0cmVhbV90eXBlOwo+ID4gK30gX19wYWNrZWQ7Cj4gCj4gUGVyaGFw cyB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gYXNrZWQgYW5kIGFuc3dlcmVkLCBidXQgZG8gYWxsIG9m IHRoZXNlIG5lZWQgdG8KPiBiZSBfX3BhY2tlZD8gVGhpcyBpcyBraW5kIG9mIHRoZSBwcm9ibGVt IHdpdGggYWRkaW5nIGEgYnVuY2ggb2YgdW51c2VkCj4gc3RydWN0dXJlcyB0byBhIHBhdGNoLCBp dCdzIGhhcmQgdG8gc2VlIHdoYXQgdGhlaXIgdXNhZ2UgaXMuIEluIGZ1dHVyZSwgdGhlc2Ugc2hv dWxkCj4gcHJvYmFibHkgYmUgaW50cm9kdWNlZCB3aGVuIHRoZXkncmUgYmVpbmcgdXNlZC4KClRo ZXNlIGFyZSB0aGUgSERDUDIuMiBtZXNzYWdlIGRlZmluZWQgYXQgSERDUDIuMiBzcGVjLiBBbmQg dGhleSBuZWVkcyB0byBiZQpfX3BhY2tlZCBqdXN0IHRvIGhhdmUgZXhhY3Qgc2l6ZSBtZW50aW9u ZWQgYnkgc3BlYy4KCkxpa2UgaG93IHdlIGhhdmUgSERDUDEuNCBhbmQgMi4yIG1hY3JvcyBkZWZp bmVkIGFzIHBlciB0aGUgSERDUCBzcGVjIGRlZmluaXRpb25zLApkZWZpbmVkIHRoZSBIRENQMi4y IG1lc3NhZ2VzIHRvZ2V0aGVyIGhlcmUuCgpUaGFua3MsClJhbS4KPiAKPiBTZWFuCj4gCj4gPiAr Cj4gPiAgI2VuZGlmCj4gPiAtLQo+ID4gMi43LjQKPiA+Cj4gPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ ID4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiAKPiAtLQo+IFNlYW4gUGF1 bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2dsZSAvIENocm9taXVtIE9TCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=