From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH] drm/dsc: Add kernel documentation for DRM DP DSC helpers Date: Tue, 5 Feb 2019 14:28:06 -0500 Message-ID: <20190205192806.GA114153@art_vandelay> References: <20190204234022.4170-1-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190204234022.4170-1-manasi.d.navare@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Manasi Navare Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Sean Paul , dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBGZWIgMDQsIDIwMTkgYXQgMDM6NDA6MjJQTSAtMDgwMCwgTWFuYXNpIE5hdmFyZSB3 cm90ZToKPiBUaGlzIHBhdGNoIGFkZHMgYXBwcm9waWF0ZSBrZXJuZWwgZG9jdW1lbnRhdGlvbiBm b3IgRFJNIERQIGhlbHBlcnMKPiB1c2VkIGZvciBlbmFibGluZyBEaXNwbGF5IFN0cmVhbSBjb21w cmVzc2lvbiBmdW5jdGlvbmFsaXR5IGluCj4gZHJtX2RwX2hlbHBlci5oIGFuZCBkcm1fZHBfaGVs cGVyLmMgYXMgd2VsbCBhcyBmb3IgdGhlIERTQyBzcGVjCj4gcmVsYXRlZCBzdHJ1Y3R1cmUgZGVm aW5pdGlvbnMgYW5kIGhlbHBlcnMgaW4gZHJtX2RzYy5jIGFuZCBkcm1fZHNjLmgKPiBBbHNvIGFk ZCBsaW5rcyBiZXR3ZWVuIHRoZSBmdW5jdGlvbnMgYW5kIHN0cnVjdHVyZXMgaW4gdGhlIGRvY3Vt ZW50YXRpb24uCj4gCj4gU3VnZ2VzdGVkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVy QGludGVsLmNvbT4KPiBTdWdnZXN0ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbkBwb29ybHkucnVuPgo+ IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiBDYzogU2VhbiBQ YXVsIDxzZWFuQHBvb3JseS5ydW4+Cj4gU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFu YXNpLmQubmF2YXJlQGludGVsLmNvbT4KCkJ1aWxkIHdhcm5pbmdzIGFyZSBnb25lIHdpdGggdGhp cywgc28gb25jZSBEYW5pZWwncyBzdWdnZXN0aW9ucyBhcmUKaW5jb3Jwb3JhdGVkOgoKQWNrZWQt Ynk6IFNlYW4gUGF1bCA8c2VhbkBwb29ybHkucnVuPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJt L2RybV9kcF9oZWxwZXIuYyB8ICA0MiArKysrKysrKystCj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1f ZHNjLmMgICAgICAgfCAgMTMgKystCj4gIGluY2x1ZGUvZHJtL2RybV9kcF9oZWxwZXIuaCAgICAg fCAgMTUgKysrLQo+ICBpbmNsdWRlL2RybS9kcm1fZHNjLmggICAgICAgICAgIHwgMTM4ICsrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwgMTQyIGluc2Vy dGlvbnMoKyksIDY2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2RwX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYwo+IGlu ZGV4IDU0MTIwYjYzMTllNy4uZTllMDIzM2Y1YjJmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZHBfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBl ci5jCj4gQEAgLTEzNjAsNyArMTM2MCwyMCBAQCBpbnQgZHJtX2RwX3JlYWRfZGVzYyhzdHJ1Y3Qg ZHJtX2RwX2F1eCAqYXV4LCBzdHJ1Y3QgZHJtX2RwX2Rlc2MgKmRlc2MsCj4gIEVYUE9SVF9TWU1C T0woZHJtX2RwX3JlYWRfZGVzYyk7Cj4gIAo+ICAvKioKPiAtICogRFJNIERQIEhlbHBlcnMgZm9y IERTQwo+ICsgKiBkcm1fZHBfZHNjX3NpbmtfbWF4X3NsaWNlX2NvdW50KCkgLSBHZXQgdGhlIG1h eCBzbGljZSBjb3VudAo+ICsgKiBzdXBwb3J0ZWQgYnkgdGhlIERTQyBzaW5rLgo+ICsgKiBAZHNj X2RwY2Q6IERTQyBjYXBhYmlsaXRpZXMgZnJvbSBEUENECj4gKyAqIEBpc19lZHA6IHRydWUgaWYg aXRzIGVEUCwgZmFsc2UgZm9yIERQCj4gKyAqCj4gKyAqIFJlYWQgdGhlIHNsaWNlIGNhcGFiaWxp dGllcyBEUENEIHJlZ2lzdGVyIGZyb20gRFNDIHNpbmsgdG8gZ2V0Cj4gKyAqIHRoZSBtYXhpbXVt IHNsaWNlIGNvdW50IHN1cHBvcnRlZC4gVGhpcyBpcyB1c2VkIHRvIHBvcHVsYXRlCj4gKyAqIHRo ZSBEU0MgcGFyYW1ldGVycyBpbiB0aGUgJnN0cnVjdCBkcm1fZHNjX2NvbmZpZyBieSB0aGUgZHJp dmVyLgo+ICsgKiBEcml2ZXIgY3JlYXRlcyBhbiBpbmZvZnJhbWUgdXNpbmcgdGhlc2UgcGFyYW1l dGVycyB0byBwb3B1bGF0ZQo+ICsgKiAmc3RydWN0IGRybV9kc2NfcHBzX2luZm9mcmFtZS4gVGhl c2UgYXJlIHNlbnQgdG8gdGhlIHNpbmsgdXNpbmcgRFNDCj4gKyAqIGluZm9mcmFtZSB1c2luZyB0 aGUgaGVscGVyIGZ1bmN0aW9uIGRybV9kc2NfcHBzX2luZm9mcmFtZV9wYWNrKCkKPiArICoKPiAr ICogUmV0dXJuczoKPiArICogTWF4aW11bSBzbGljZSBjb3VudCBzdXBwb3J0ZWQgYnkgRFNDIHNp bmsgb3IgMCBpdHMgaW52YWxpZAo+ICAgKi8KPiAgdTggZHJtX2RwX2RzY19zaW5rX21heF9zbGlj ZV9jb3VudChjb25zdCB1OCBkc2NfZHBjZFtEUF9EU0NfUkVDRUlWRVJfQ0FQX1NJWkVdLAo+ICAJ CQkJICAgYm9vbCBpc19lZHApCj4gQEAgLTE0MDUsNiArMTQxOCwxOSBAQCB1OCBkcm1fZHBfZHNj X3NpbmtfbWF4X3NsaWNlX2NvdW50KGNvbnN0IHU4IGRzY19kcGNkW0RQX0RTQ19SRUNFSVZFUl9D QVBfU0laRV0sCj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fZHBfZHNjX3NpbmtfbWF4X3NsaWNl X2NvdW50KTsKPiAgCj4gKy8qKgo+ICsgKiBkcm1fZHBfZHNjX3NpbmtfbGluZV9idWZfZGVwdGgo KSAtIEdldCB0aGUgbGluZSBidWZmZXIgZGVwdGggaW4gYml0cyB3aGljaCBpcwo+ICsgKiBudW1i ZXIgb2YgYml0cyBvZiBwcmVjaXNpb24gd2l0aGluIHRoZSBkZWNvZGVyIGxpbmUgYnVmZmVyIHN1 cHBvcnRlZCBieQo+ICsgKiB0aGUgRFNDIHNpbmsuIFRoaXMgaXMgdXNlZCB0byBwb3B1bGF0ZSB0 aGUgRFNDIHBhcmFtZXRlcnMgaW4gdGhlCj4gKyAqICZzdHJ1Y3QgZHJtX2RzY19jb25maWcgYnkg dGhlIGRyaXZlci4KPiArICogRHJpdmVyIGNyZWF0ZXMgYW4gaW5mb2ZyYW1lIHVzaW5nIHRoZXNl IHBhcmFtZXRlcnMgdG8gcG9wdWxhdGUKPiArICogJnN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJh bWUuIFRoZXNlIGFyZSBzZW50IHRvIHRoZSBzaW5rIHVzaW5nIERTQwo+ICsgKiBpbmZvZnJhbWUg dXNpbmcgdGhlIGhlbHBlciBmdW5jdGlvbiBkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjaygpCj4g KyAqIEBkc2NfZHBjZDogRFNDIGNhcGFiaWxpdGllcyBmcm9tIERQQ0QKPiArICoKPiArICogUmV0 dXJuczoKPiArICogTGluZSBidWZmZXIgZGVwdGggc3VwcG9ydGVkIGJ5IERTQyBwYW5lbCBvciAw IGl0cyBpbnZhbGlkCj4gKyAqLwo+ICB1OCBkcm1fZHBfZHNjX3NpbmtfbGluZV9idWZfZGVwdGgo Y29uc3QgdTggZHNjX2RwY2RbRFBfRFNDX1JFQ0VJVkVSX0NBUF9TSVpFXSkKPiAgewo+ICAJdTgg bGluZV9idWZfZGVwdGggPSBkc2NfZHBjZFtEUF9EU0NfTElORV9CVUZfQklUX0RFUFRIIC0gRFBf RFNDX1NVUFBPUlRdOwo+IEBAIC0xNDM0LDYgKzE0NjAsMjAgQEAgdTggZHJtX2RwX2RzY19zaW5r X2xpbmVfYnVmX2RlcHRoKGNvbnN0IHU4IGRzY19kcGNkW0RQX0RTQ19SRUNFSVZFUl9DQVBfU0la RV0pCj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fZHBfZHNjX3NpbmtfbGluZV9idWZfZGVwdGgp Owo+ICAKPiArLyoqCj4gKyAqIGRybV9kcF9kc2Nfc2lua19zdXBwb3J0ZWRfaW5wdXRfYnBjcygp IC0gR2V0IGFsbCB0aGUgaW5wdXQgYml0cyBwZXIgY29tcG9uZW50Cj4gKyAqIHZhbHVlcyBzdXBw b3J0ZWQgYnkgdGhlIERTQyBzaW5rLiBUaGlzIGlzIHVzZWQgdG8gcG9wdWxhdGUgdGhlIERTQyBw YXJhbWV0ZXJzCj4gKyAqIGluIHRoZSAmc3RydWN0IGRybV9kc2NfY29uZmlnIGJ5IHRoZSBkcml2 ZXIuCj4gKyAqIERyaXZlciBjcmVhdGVzIGFuIGluZm9mcmFtZSB1c2luZyB0aGVzZSBwYXJhbWV0 ZXJzIHRvIHBvcHVsYXRlCj4gKyAqICZzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lLiBUaGVz ZSBhcmUgc2VudCB0byB0aGUgc2luayB1c2luZyBEU0MKPiArICogaW5mb2ZyYW1lIHVzaW5nIHRo ZSBoZWxwZXIgZnVuY3Rpb24gZHJtX2RzY19wcHNfaW5mb2ZyYW1lX3BhY2soKQo+ICsgKiBAZHNj X2RwY2Q6IERTQyBjYXBhYmlsaXRpZXMgZnJvbSBEUENECj4gKyAqIEBkc2NfYnBjOiBBbiBhcnJh eSB0byBiZSBmaWxsZWQgYnkgdGhpcyBoZWxwZXIgd2l0aCBzdXBwb3J0ZWQKPiArICogICAgICAg ICAgIGlucHV0IGJwY3MuCj4gKyAqCj4gKyAqIFJldHVybnM6Cj4gKyAqIE51bWJlciBvZiBpbnB1 dCBCUEMgdmFsdWVzIHBhcnNlZCBmcm9tIHRoZSBEUENECj4gKyAqLwo+ICBpbnQgZHJtX2RwX2Rz Y19zaW5rX3N1cHBvcnRlZF9pbnB1dF9icGNzKGNvbnN0IHU4IGRzY19kcGNkW0RQX0RTQ19SRUNF SVZFUl9DQVBfU0laRV0sCj4gIAkJCQkJIHU4IGRzY19icGNbM10pCj4gIHsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHNjLmMK PiBpbmRleCBiYzJiMjNhZGIwNzIuLjBmZDU2ZmJkZjliNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2RzYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kc2MuYwo+IEBA IC0xNyw2ICsxNywxMiBAQAo+ICAvKioKPiAgICogRE9DOiBkc2MgaGVscGVycwo+ICAgKgo+ICsg KiBWRVNBIHNwZWNpZmljYXRpb24gZm9yIERQIDEuNCBhZGRzIGEgbmV3IGZlYXR1cmUgY2FsbGVk IERpc3BsYXkgU3RyZWFtCj4gKyAqIENvbXByZXNzaW9uIChEU0MpIHVzZWQgdG8gY29tcHJlc3Mg dGhlIHBpeGVsIGJpdHMgYmVmb3JlIHNlbmRpbmcgaXQgb24KPiArICogRFAvZURQL01JUEkgRFNJ IGludGVyZmFjZS4gRFNDIGlzIHJlcXVpcmVkIHRvIGJlIGVuYWJsZWQgc28gdGhhdCB0aGUgZXhp c3RpbmcKPiArICogZGlzcGxheSBpbnRlcmZhY2VzIGNhbiBzdXBwb3J0IGhpZ2ggcmVzb2x1dGlv bnMgYXQgaGlnaGVyIGZyYW1lcyByYXRlcyB1aXNuZwo+ICsgKiB0aGUgbWF4aW11bSBhdmFpbGFi bGUgbGluayBjYXBhY2l0eSBvZiB0aGVzZSBpbnRlcmZhY2VzLgo+ICsgKgo+ICAgKiBUaGVzZSBm dW5jdGlvbnMgY29udGFpbiBzb21lIGNvbW1vbiBsb2dpYyBhbmQgaGVscGVycyB0byBkZWFsIHdp dGggVkVTQQo+ICAgKiBEaXNwbGF5IFN0cmVhbSBDb21wcmVzc2lvbiBzdGFuZGFyZCByZXF1aXJl ZCBmb3IgRFNDIG9uIERpc3BsYXkgUG9ydC9lRFAgb3IKPiAgICogTUlQSSBkaXNwbGF5IGludGVy ZmFjZXMuCj4gQEAgLTI2LDYgKzMyLDcgQEAKPiAgICogZHJtX2RzY19kcF9wcHNfaGVhZGVyX2lu aXQoKSAtIEluaXRpYWxpemVzIHRoZSBQUFMgSGVhZGVyCj4gICAqIGZvciBEaXNwbGF5UG9ydCBh cyBwZXIgdGhlIERQIDEuNCBzcGVjLgo+ICAgKiBAcHBzX3NkcDogU2Vjb25kYXJ5IGRhdGEgcGFj a2V0IGZvciBEU0MgUGljdHVyZSBQYXJhbWV0ZXIgU2V0Cj4gKyAqICAgICAgICAgICBhcyBkZWZp bmVkIGluICZzdHJ1Y3QgZHJtX2RzY19wcHNfaW5mb2ZyYW1lCj4gICAqLwo+ICB2b2lkIGRybV9k c2NfZHBfcHBzX2hlYWRlcl9pbml0KHN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgKnBwc19z ZHApCj4gIHsKPiBAQCAtNDQsOSArNTEsMTEgQEAgRVhQT1JUX1NZTUJPTChkcm1fZHNjX2RwX3Bw c19oZWFkZXJfaW5pdCk7Cj4gICAqIHRoYXQgc3BhbiBtb3JlIHRoYW4gMSBieXRlLgo+ICAgKgo+ ICAgKiBAcHBzX3NkcDoKPiAtICogU2Vjb25kYXJ5IGRhdGEgcGFja2V0IGZvciBEU0MgUGljdHVy ZSBQYXJhbWV0ZXIgU2V0Cj4gKyAqIFNlY29uZGFyeSBkYXRhIHBhY2tldCBmb3IgRFNDIFBpY3R1 cmUgUGFyYW1ldGVyIFNldC4gVGhpcyBpcyBkZWZpbmVkCj4gKyAqIGJ5ICZzdHJ1Y3QgZHJtX2Rz Y19wcHNfaW5mb2ZyYW1lCj4gICAqIEBkc2NfY2ZnOgo+IC0gKiBEU0MgQ29uZmlndXJhdGlvbiBk YXRhIGZpbGxlZCBieSBkcml2ZXIKPiArICogRFNDIENvbmZpZ3VyYXRpb24gZGF0YSBmaWxsZWQg YnkgZHJpdmVyIGFzIGRlZmluZWQgYnkKPiArICogJnN0cnVjdCBkcm1fZHNjX2NvbmZpZwo+ICAg Ki8KPiAgdm9pZCBkcm1fZHNjX3Bwc19pbmZvZnJhbWVfcGFjayhzdHJ1Y3QgZHJtX2RzY19wcHNf aW5mb2ZyYW1lICpwcHNfc2RwLAo+ICAJCQkJY29uc3Qgc3RydWN0IGRybV9kc2NfY29uZmlnICpk c2NfY2ZnKQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmggYi9pbmNs dWRlL2RybS9kcm1fZHBfaGVscGVyLmgKPiBpbmRleCA1ZGI3ZmI4YzhiNTAuLjI3MTFjZGZhMGMx MyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZHBfaGVscGVyLmgKPiArKysgYi9pbmNs dWRlL2RybS9kcm1fZHBfaGVscGVyLmgKPiBAQCAtMTA1MiwxMSArMTA1MiwxOCBAQCBpbnQgZHJt X2RwX2J3X2NvZGVfdG9fbGlua19yYXRlKHU4IGxpbmtfYncpOwo+ICAjZGVmaW5lIERQX1NEUF9W U0NfRVhUX0NFQQkJMHgyMSAvKiBEUCAxLjQgKi8KPiAgLyogMHg4MCsgQ0VBLTg2MSBpbmZvZnJh bWUgdHlwZXMgKi8KPiAgCj4gKy8qKgo+ICsgKiBzdHJ1Y3QgZHBfc2RwX2hlYWRlciAtIERQIHNl Y29uZGFyeSBkYXRhIHBhY2tldCBoZWFkZXIKPiArICogQEhCMDogU2Vjb25kYXJ5IERhdGEgUGFj a2V0IElECj4gKyAqIEBIQjE6IFNlY29uZGFyeSBEYXRhIFBhY2tldCBUeXBlCj4gKyAqIEBIQjI6 IFNlY29uZGFyeSBEYXRhIFBhY2tldCBTcGVjaWZpYyBoZWFkZXIsIEJ5dGUgMAo+ICsgKiBASEIz OiBTZWNvbmRhcnkgRGF0YSBwYWNrZXQgU3BlY2lmaWMgaGVhZGVyLCBCeXRlIDEKPiArICovCj4g IHN0cnVjdCBkcF9zZHBfaGVhZGVyIHsKPiAtCXU4IEhCMDsgLyogU2Vjb25kYXJ5IERhdGEgUGFj a2V0IElEICovCj4gLQl1OCBIQjE7IC8qIFNlY29uZGFyeSBEYXRhIFBhY2tldCBUeXBlICovCj4g LQl1OCBIQjI7IC8qIFNlY29uZGFyeSBEYXRhIFBhY2tldCBTcGVjaWZpYyBoZWFkZXIsIEJ5dGUg MCAqLwo+IC0JdTggSEIzOyAvKiBTZWNvbmRhcnkgRGF0YSBwYWNrZXQgU3BlY2lmaWMgaGVhZGVy LCBCeXRlIDEgKi8KPiArCXU4IEhCMDsKPiArCXU4IEhCMTsKPiArCXU4IEhCMjsKPiArCXU4IEhC MzsKPiAgfSBfX3BhY2tlZDsKPiAgCj4gICNkZWZpbmUgRURQX1NEUF9IRUFERVJfUkVWSVNJT05f TUFTSwkJMHgxRgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHNjLmggYi9pbmNsdWRl L2RybS9kcm1fZHNjLmgKPiBpbmRleCBkMDNmMWI4MzQyMWEuLmY1MGQyNjVhOTdlMiAxMDA2NDQK PiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZHNjLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fZHNj LmgKPiBAQCAtNDQsMTExICs0NCwxMjggQEAKPiAgI2RlZmluZSBEU0NfMV8yX01BWF9MSU5FQlVG X0RFUFRIX1ZBTAkJMAo+ICAjZGVmaW5lIERTQ18xXzFfTUFYX0xJTkVCVUZfREVQVEhfQklUUwkJ MTMKPiAgCj4gLS8qIENvbmZpZ3VyYXRpb24gZm9yIGEgc2luZ2xlIFJhdGUgQ29udHJvbCBtb2Rl bCByYW5nZSAqLwo+ICsvKioKPiArICogc3RydWN0IGRybV9kc2NfcmNfcmFuZ2VfcGFyYW1ldGVy cyAtIERTQyBSYXRlIENvbnRyb2wgcmFuZ2UgcGFyYW1ldGVycwo+ICsgKgo+ICsgKiBAcmFuZ2Vf bWluX3FwOiBNaW4gUXVhbnRpemF0aW9uIFBhcmFtZXRlcnMgYWxsb3dlZCBmb3IgdGhpcyByYW5n ZQo+ICsgKiBAcmFuZ2VfbWF4X3FwOiBNYXggUXVhbnRpemF0aW9uIFBhcmFtZXRlcnMgYWxsb3dl ZCBmb3IgdGhpcyByYW5nZQo+ICsgKiBAcmFuZ2VfYnBnX29mZnNldDogQml0cy9ncm91cCBvZmZz ZXQgdG8gYXBwbHkgdG8gdGFyZ2V0IGZvciB0aGlzIGdyb3VwCj4gKyAqLwo+ICBzdHJ1Y3QgZHJt X2RzY19yY19yYW5nZV9wYXJhbWV0ZXJzIHsKPiAtCS8qIE1pbiBRdWFudGl6YXRpb24gUGFyYW1l dGVycyBhbGxvd2VkIGZvciB0aGlzIHJhbmdlICovCj4gIAl1OCByYW5nZV9taW5fcXA7Cj4gLQkv KiBNYXggUXVhbnRpemF0aW9uIFBhcmFtZXRlcnMgYWxsb3dlZCBmb3IgdGhpcyByYW5nZSAqLwo+ ICAJdTggcmFuZ2VfbWF4X3FwOwo+IC0JLyogQml0cy9ncm91cCBvZmZzZXQgdG8gYXBwbHkgdG8g dGFyZ2V0IGZvciB0aGlzIGdyb3VwICovCj4gIAl1OCByYW5nZV9icGdfb2Zmc2V0Owo+ICB9Owo+ ICAKPiArLyoqCj4gKyAqIHN0cnVjdCBkcm1fZHNjX2NvbmZpZyAtIFBhcmFtZXRlcnMgcmVxdWly ZWQgdG8gY29uZmlndXJlIERTQwo+ICsgKgo+ICsgKiBAbGluZV9idWZfZGVwdGg6IEJpdHMgLyBj b21wb25lbnQgZm9yIHByZXZpb3VzIHJlY29uc3RydWN0ZWQgbGluZSBidWZmZXIKPiArICogQGJp dHNfcGVyX2NvbXBvbmVudDogQml0cyBwZXIgY29tcG9uZW50IHRvIGNvZGUgKDgvMTAvMTIpCj4g KyAqIEBjb252ZXJ0X3JnYjogRmxhZyB0byBpbmRpY2F0ZSBpZiBSR0IgLSBZQ29DZyBjb252ZXJz aW9uIGlzIG5lZWRlZAo+ICsgKiAgICAgICAgICAgICAgIFRydWUgaWYgUkdCIGlucHV0LCBGYWxz ZSBpZiBZQ29DZyBpbnB1dAo+ICsgKiBAc2xpY2VfY291bnQ6IE51bWJlciBmbyBzbGljZXMgcGVy IGxpbmUgdXNlZCBieSB0aGUgRFNDIGVuY29kZXIKPiArICogQHNsaWNlX3dpZHRoOiBXaWR0aCBv ZiBlYWNoIHNsaWNlIGluIHBpeGVscwo+ICsgKiBAc2xpY2VfaGVpZ2h0OiBTbGljZSBoZWlnaHQg aW4gcGl4ZWxzCj4gKyAqIEBlbmFibGU0MjI6IFRydWUgZm9yIDRfMl8yIHNhbXBsaW5nLCBmYWxz ZSBmb3IgNF80XzQgc2FtcGxpbmcKPiArICogQHBpY193aWR0aDogV2lkdGggb2YgdGhlIGlucHV0 IGRpc3BsYXkgZnJhbWUgaW4gcGl4ZWxzCj4gKyAqIEBwaWNfaGVpZ2h0OiBWZXJ0aWNhbCBoZWln aHQgb2YgdGhlIGlucHV0IGRpc3BsYXkgZnJhbWUKPiArICogQHJjX3RndF9vZmZzZXRfaGlnaDog T2Zmc2V0IHRvIGJpdHMvZ3JvdXAgdXNlZCBieSBSQyB0byBkZXRlcm1pbmUgUVAKPiArICogICAg ICAgICAgICAgICAgICAgICAgYWRqdXN0bWVudAo+ICsgKiBAcmNfdGd0X29mZnNldF9sb3c6IE9m ZnNldCB0byBiaXRzL2dyb3VwIHVzZWQgYnkgUkMgdG8gZGV0ZXJtaW5lIFFQCj4gKyAqICAgICAg ICAgICAgICAgICAgICAgYWRqdXN0bWVudAo+ICsgKiBAYml0c19wZXJfcGl4ZWw6IFRhcmdldCBi aXRzIHBlciBwaXhlbCB3aXRoIDQgZnJhY3Rpb25hbCBiaXRzLgo+ICsgKiAgICAgICAgICAgICAg ICAgIGJpdHNfcGVyX3BpeGVsIDw8IDQKPiArICogQHJjX2VkZ2VfZmFjdG9yOiBGYWN0b3IgdG8g ZGV0ZXJtaW5lIGlmIGFuIGVkZ2UgaXMgcHJlc2VudCBiYXNlZCBvbiB0aGUKPiArICogICAgICAg ICAgICAgICAgICBiaXRzIHByb2R1Y2VkCj4gKyAqIEByY19xdWFudF9pbmNyX2xpbWl0MTogU2xv dyBkb3duIGluY3JlbWVudGluZyBvbmNlIHRoZSByYW5nZSByZWFjaGVzIHRoaXMKPiArICogICAg ICAgICAgICAgICAgICAgICAgICB2YWx1ZQo+ICsgKiBAcmNfcXVhbnRfaW5jcl9saW1pdDA6IFNs b3cgZG93biBpbmNyZW1lbnRpbmcgb25jZSB0aGUgcmFuZ2UgcmVhY2hlcyB0aGlzCj4gKyAqICAg ICAgICAgICAgICAgICAgICAgICAgdmFsdWUKPiArICogQGluaXRpYWxfeG1pdF9kZWxheTogTnVt YmVyIG9mIHBpeGVscyB0byBkZWxheSB0aGUgaW5pdGlhbCB0cmFuc21pc3Npb24KPiArICogQGlu aXRpYWxfZGVjX2RlbGF5OiBJbml0aWFsIGRlY29kZXIgZGVsYXksIG51bWJlciBvZiBwaXhlbCB0 aW1lcyB0aGF0IHRoZQo+ICsgKiAgICAgICAgICAgICAgICAgICAgIGRlY29lciBhY2N1bXVsYXRl cyBkYXRhIGluIGl0cyByYXRlIGJ1ZmZlciBiZWZvcmUKPiArICogICAgICAgICAgICAgICAgICAg ICBzdGFydGluZyB0byBkZWNvZGUgYW5kIG91dHB1dCBwaXhlbHMuCj4gKyAqIEBibG9ja19wcmVk X2VuYWJsZTogVHJ1ZSBpZiBibG9jayBwcmVkaWN0aW9uIGlzIHVzZWQgdG8gY29kZSBhbnkgZ3Jv dXBzCj4gKyAqICAgICAgICAgICAgICAgICAgICAgd2l0aGluIHRoZSBwaWN0dXJlLgo+ICsgKiAg ICAgICAgICAgICAgICAgICAgIEZhbHNlIGlmIEJQIG5vdCB1c2VkCj4gKyAqIEBmaXJzdF9saW5l X2JwZ19vZmZzZXQ6IE51bWJlciBvZiBhZGRpdGlvbmFsIGJpdHMgYWxsb2NhdGVkIGZvciBlYWNo IGdyb3VwIG9uCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmaXJzdCBsaW5lIG9m IHNsaWNlLgo+ICsgKiBAaW5pdGlhbF9vZmZzZXQ6IFZhbHVlIHRvIHVzZSBmb3IgUkMgbW9kZWwg b2Zmc2V0IGF0IHNsaWNlIHN0YXJ0Cj4gKyAqIEByY19idWZfdGhyZXNoOiBUaHJlc2hvbGRzIGRl ZmluaW5nIGVhY2ggb2YgdGhlIGJ1ZmZlciByYW5nZXMKPiArICogQHJjX3JhbmdlX3BhcmFtczog UGFyYW1ldGVycyBmb3IgZWFjaCBvZiB0aGUgUkMgcmFuZ2VzIGRlZmluZWQgaW4KPiArICogICAg ICAgICAgICAgICAgICAgJnN0cnVjdCBkcm1fZHNjX3JjX3JhbmdlX3BhcmFtZXRlcnMKPiArICog QHJjX21vZGVsX3NpemU6IFRvdGFsIHNpemUgb2YgUkMgbW9kZWwKPiArICogQGZsYXRuZXNzX21p bl9xcDogTWluaW11bSBRUCB3aGVyZSBmbGF0bmVzcyBpbmZvcm1hdGlvbiBpcyBzZW50Cj4gKyAq IEBmbGF0bmVzc19tYXhfcXA6IE1heGltdW0gUVAgd2hlcmUgZmxhdG5lc3MgaW5mb3JtYXRpb24g aXMgc2VudAo+ICsgKiBAaW5pdGlhbF9zY2FsZV92YWx1ZTogSW5pdGlhbCB2YWx1ZSBmb3IgdGhl IHNjYWxlIGZhY3Rvcgo+ICsgKiBAc2NhbGVfZGVjcmVtZW50X2ludGVydmFsOiBTcGVjaWZpZXMg bnVtYmVyIG9mIGdyb3VwIHRpbWVzIGJldHdlZW4KPiArICogICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGVjcmVtZW50aW5nIHRoZSBzY2FsZSBmYWN0b3IgYXQgYmVnaW5uaW5nCj4gKyAqICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGEgc2xpY2UuCj4gKyAqIEBzY2FsZV9pbmNyZW1l bnRfaW50ZXJ2YWw6IE51bWJlciBvZiBncm91cCB0aW1lcyBiZXR3ZWVuIGluY3JlbWVudGluZwo+ ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgc2NhbGUgZmFjdG9yIHZhbHVlIHVz ZWQgYXQgdGhlIGJlZ2lubmluZwo+ICsgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBh IHNsaWNlLgo+ICsgKiBAbmZsX2JwZ19vZmZzZXQ6IE5vbiBmaXJzdCBsaW5lIEJQRyBvZmZzZXQg dG8gYmUgdXNlZAo+ICsgKiBAc2xpY2VfYnBnX29mZnNldDogQlBHIG9mZnNldCB1c2VkIHRvIGVu Zm9yY2Ugc2xpY2UgYml0Cj4gKyAqIEBmaW5hbF9vZmZzZXQ6IEZpbmFsIFJDIGxpbmVhciB0cmFu c2Zvcm1hdGlvbiBvZmZzZXQgdmFsdWUKPiArICogQHZicl9lbmFibGU6IFRydWUgaWYgVkJSIG1v ZGUgaXMgZW5hYmxlZCwgZmFsc2UgaWYgZGlzYWJsZWQKPiArICogQG11eF93b3JkX3NpemU6IE11 eCB3b3JkIHNpemUgKGluIGJpdHMpIGZvciBTU00gbW9kZQo+ICsgKiBAc2xpY2VfY2h1bmtfc2l6 ZTogVGhlIChtYXgpIHNpemUgaW4gYnl0ZXMgb2YgdGhlICJjaHVua3MiIHRoYXQgYXJlCj4gKyAq ICAgICAgICAgICAgICAgICAgICB1c2VkIGluIHNsaWNlIG11bHRpcGxleGluZy4KPiArICogQHJj X2JpdHM6IFJhdGUgY29udHJvbCBidWZmZXIgc2l6ZSBpbiBiaXRzCj4gKyAqIEBkc2NfdmVyc2lv bl9taW5vcjogRFNDIG1pbm9yIHZlcnNpb24KPiArICogQGRzY192ZXJzaW9uX21ham9yOiBEU0Mg bWFqb3IgdmVyc2lvbgo+ICsgKiBAbmF0aXZlXzQyMjogVHJ1ZSBpZiBOYXRpdmUgNDoyOjIgc3Vw cG9ydGVkLCBlbHNlIGZhbHNlCj4gKyAqIEBuYXRpdmVfNDIwOiBUcnVlIGlmIE5hdGl2ZSA0OjI6 MCBzdXBwb3J0ZWQgZWxzZSBmYWxzZS4KPiArICogQHNlY29uZF9saW5lX2JwZ19vZmZzZXQ6IEFk ZGl0aW9uYWwgYml0cy9ncnAgZm9yIHNlY29ubmQgbGluZSBvZiBzbGljZSBmb3IKPiArICogICAg ICAgICAgICAgICAgICAgICAgICAgIG5hdGl2ZSA0OjI6MAo+ICsgKiBAbnNsX2JwZ19vZmZzZXQ6 IE51bSBvZiBiaXRzIGRlYWxsb2NhdGVkIGZvciBlYWNoIGdycCB0aGF0IGlzIG5vdCBpbiBzZWNv bmQKPiArICogICAgICAgICAgICAgICAgICBsaW5lIG9mIHNsaWNlCj4gKyAqIEBzZWNvbmRfbGlu ZV9vZmZzZXRfYWRqOiBPZmZzZXQgYWRqdXN0bWVudCBmb3Igc2Vjb25kIGxpbmUgaW4gTmF0aXZl IDQ6MjowCj4gKyAqICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlCj4gKyAqLwo+ICBzdHJ1 Y3QgZHJtX2RzY19jb25maWcgewo+IC0JLyogQml0cyAvIGNvbXBvbmVudCBmb3IgcHJldmlvdXMg cmVjb25zdHJ1Y3RlZCBsaW5lIGJ1ZmZlciAqLwo+ICAJdTggbGluZV9idWZfZGVwdGg7Cj4gLQkv KiBCaXRzIHBlciBjb21wb25lbnQgdG8gY29kZSAobXVzdCBiZSA4LCAxMCwgb3IgMTIpICovCj4g IAl1OCBiaXRzX3Blcl9jb21wb25lbnQ7Cj4gLQkvKgo+IC0JICogRmxhZyBpbmRpY2F0aW5nIHRv IGRvIFJHQiAtIFlDb0NnIGNvbnZlcnNpb24KPiAtCSAqIGFuZCBiYWNrIChzaG91bGQgYmUgMSBm b3IgUkdCIGlucHV0KQo+IC0JICovCj4gIAlib29sIGNvbnZlcnRfcmdiOwo+ICAJdTggc2xpY2Vf Y291bnQ7Cj4gLQkvKiBTbGljZSBXaWR0aCAqLwo+ICAJdTE2IHNsaWNlX3dpZHRoOwo+IC0JLyog U2xpY2UgSGVpZ2h0ICovCj4gIAl1MTYgc2xpY2VfaGVpZ2h0Owo+IC0JLyoKPiAtCSAqIDQ6Mjoy IGVuYWJsZSBtb2RlIChmcm9tIFBQUywgNDoyOjIgY29udmVyc2lvbiBoYXBwZW5zCj4gLQkgKiBv dXRzaWRlIG9mIERTQyBlbmNvZGUvZGVjb2RlIGFsZ29yaXRobSkKPiAtCSAqLwo+ICAJYm9vbCBl bmFibGU0MjI7Cj4gLQkvKiBQaWN0dXJlIFdpZHRoICovCj4gIAl1MTYgcGljX3dpZHRoOwo+IC0J LyogUGljdHVyZSBIZWlnaHQgKi8KPiAgCXUxNiBwaWNfaGVpZ2h0Owo+IC0JLyogT2Zmc2V0IHRv IGJpdHMvZ3JvdXAgdXNlZCBieSBSQyB0byBkZXRlcm1pbmUgUVAgYWRqdXN0bWVudCAqLwo+ICAJ dTggcmNfdGd0X29mZnNldF9oaWdoOwo+IC0JLyogT2Zmc2V0IHRvIGJpdHMvZ3JvdXAgdXNlZCBi eSBSQyB0byBkZXRlcm1pbmUgUVAgYWRqdXN0bWVudCAqLwo+ICAJdTggcmNfdGd0X29mZnNldF9s b3c7Cj4gLQkvKiBCaXRzL3BpeGVsIHRhcmdldCA8PCA0IChpZS4sIDQgZnJhY3Rpb25hbCBiaXRz KSAqLwo+ICAJdTE2IGJpdHNfcGVyX3BpeGVsOwo+IC0JLyoKPiAtCSAqIEZhY3RvciB0byBkZXRl cm1pbmUgaWYgYW4gZWRnZSBpcyBwcmVzZW50IGJhc2VkCj4gLQkgKiBvbiB0aGUgYml0cyBwcm9k dWNlZAo+IC0JICovCj4gIAl1OCByY19lZGdlX2ZhY3RvcjsKPiAtCS8qIFNsb3cgZG93biBpbmNy ZW1lbnRpbmcgb25jZSB0aGUgcmFuZ2UgcmVhY2hlcyB0aGlzIHZhbHVlICovCj4gIAl1OCByY19x dWFudF9pbmNyX2xpbWl0MTsKPiAtCS8qIFNsb3cgZG93biBpbmNyZW1lbnRpbmcgb25jZSB0aGUg cmFuZ2UgcmVhY2hlcyB0aGlzIHZhbHVlICovCj4gIAl1OCByY19xdWFudF9pbmNyX2xpbWl0MDsK PiAtCS8qIE51bWJlciBvZiBwaXhlbHMgdG8gZGVsYXkgdGhlIGluaXRpYWwgdHJhbnNtaXNzaW9u ICovCj4gIAl1MTYgaW5pdGlhbF94bWl0X2RlbGF5Owo+IC0JLyogTnVtYmVyIG9mIHBpeGVscyB0 byBkZWxheSB0aGUgVkxEIG9uIHRoZSBkZWNvZGVyLG5vdCBpbmNsdWRpbmcgU1NNICovCj4gIAl1 MTYgIGluaXRpYWxfZGVjX2RlbGF5Owo+IC0JLyogQmxvY2sgcHJlZGljdGlvbiBlbmFibGUgKi8K PiAgCWJvb2wgYmxvY2tfcHJlZF9lbmFibGU7Cj4gLQkvKiBCaXRzL2dyb3VwIG9mZnNldCB0byB1 c2UgZm9yIGZpcnN0IGxpbmUgb2YgdGhlIHNsaWNlICovCj4gIAl1OCBmaXJzdF9saW5lX2JwZ19v ZmZzZXQ7Cj4gLQkvKiBWYWx1ZSB0byB1c2UgZm9yIFJDIG1vZGVsIG9mZnNldCBhdCBzbGljZSBz dGFydCAqLwo+ICAJdTE2IGluaXRpYWxfb2Zmc2V0Owo+IC0JLyogVGhyZXNob2xkcyBkZWZpbmlu ZyBlYWNoIG9mIHRoZSBidWZmZXIgcmFuZ2VzICovCj4gIAl1MTYgcmNfYnVmX3RocmVzaFtEU0Nf TlVNX0JVRl9SQU5HRVMgLSAxXTsKPiAtCS8qIFBhcmFtZXRlcnMgZm9yIGVhY2ggb2YgdGhlIFJD IHJhbmdlcyAqLwo+ICAJc3RydWN0IGRybV9kc2NfcmNfcmFuZ2VfcGFyYW1ldGVycyByY19yYW5n ZV9wYXJhbXNbRFNDX05VTV9CVUZfUkFOR0VTXTsKPiAtCS8qIFRvdGFsIHNpemUgb2YgUkMgbW9k ZWwgKi8KPiAgCXUxNiByY19tb2RlbF9zaXplOwo+IC0JLyogTWluaW11bSBRUCB3aGVyZSBmbGF0 bmVzcyBpbmZvcm1hdGlvbiBpcyBzZW50ICovCj4gIAl1OCBmbGF0bmVzc19taW5fcXA7Cj4gLQkv KiBNYXhpbXVtIFFQIHdoZXJlIGZsYXRuZXNzIGluZm9ybWF0aW9uIGlzIHNlbnQgKi8KPiAgCXU4 IGZsYXRuZXNzX21heF9xcDsKPiAtCS8qIEluaXRpYWwgdmFsdWUgZm9yIHNjYWxlIGZhY3RvciAq Lwo+ICAJdTggaW5pdGlhbF9zY2FsZV92YWx1ZTsKPiAtCS8qIERlY3JlbWVudCBzY2FsZSBmYWN0 b3IgZXZlcnkgc2NhbGVfZGVjcmVtZW50X2ludGVydmFsIGdyb3VwcyAqLwo+ICAJdTE2IHNjYWxl X2RlY3JlbWVudF9pbnRlcnZhbDsKPiAtCS8qIEluY3JlbWVudCBzY2FsZSBmYWN0b3IgZXZlcnkg c2NhbGVfaW5jcmVtZW50X2ludGVydmFsIGdyb3VwcyAqLwo+ICAJdTE2IHNjYWxlX2luY3JlbWVu dF9pbnRlcnZhbDsKPiAtCS8qIE5vbi1maXJzdCBsaW5lIEJQRyBvZmZzZXQgdG8gdXNlICovCj4g IAl1MTYgbmZsX2JwZ19vZmZzZXQ7Cj4gLQkvKiBCUEcgb2Zmc2V0IHVzZWQgdG8gZW5mb3JjZSBz bGljZSBiaXQgKi8KPiAgCXUxNiBzbGljZV9icGdfb2Zmc2V0Owo+IC0JLyogRmluYWwgUkMgbGlu ZWFyIHRyYW5zZm9ybWF0aW9uIG9mZnNldCB2YWx1ZSAqLwo+ICAJdTE2IGZpbmFsX29mZnNldDsK PiAtCS8qIEVuYWJsZSBvbi1vZmYgVkJSIChpZS4sIGRpc2FibGUgc3R1ZmZpbmcgYml0cykgKi8K PiAgCWJvb2wgdmJyX2VuYWJsZTsKPiAtCS8qIE11eCB3b3JkIHNpemUgKGluIGJpdHMpIGZvciBT U00gbW9kZSAqLwo+ICAJdTggbXV4X3dvcmRfc2l6ZTsKPiAtCS8qCj4gLQkgKiBUaGUgKG1heCkg c2l6ZSBpbiBieXRlcyBvZiB0aGUgImNodW5rcyIgdGhhdCBhcmUKPiAtCSAqIHVzZWQgaW4gc2xp Y2UgbXVsdGlwbGV4aW5nCj4gLQkgKi8KPiAgCXUxNiBzbGljZV9jaHVua19zaXplOwo+IC0JLyog UmF0ZSBDb250cm9sIGJ1ZmZlciBzaXogaW4gYml0cyAqLwo+ICAJdTE2IHJjX2JpdHM7Cj4gLQkv KiBEU0MgTWlub3IgVmVyc2lvbiAqLwo+ICAJdTggZHNjX3ZlcnNpb25fbWlub3I7Cj4gLQkvKiBE U0MgTWFqb3IgdmVyc2lvbiAqLwo+ICAJdTggZHNjX3ZlcnNpb25fbWFqb3I7Cj4gLQkvKiBOYXRp dmUgNDoyOjIgc3VwcG9ydCAqLwo+ICAJYm9vbCBuYXRpdmVfNDIyOwo+IC0JLyogTmF0aXZlIDQ6 MjowIHN1cHBvcnQgKi8KPiAgCWJvb2wgbmF0aXZlXzQyMDsKPiAtCS8qIEFkZGl0aW9uYWwgYml0 cy9ncnAgZm9yIHNlY29ubmQgbGluZSBvZiBzbGljZSBmb3IgbmF0aXZlIDQ6MjowICovCj4gIAl1 OCBzZWNvbmRfbGluZV9icGdfb2Zmc2V0Owo+IC0JLyogTnVtIG9mIGJpdHMgZGVhbGxvY2F0ZWQg Zm9yIGVhY2ggZ3JwIHRoYXQgaXMgbm90IGluIHNlY29uZCBsaW5lIG9mIHNsaWNlICovCj4gIAl1 MTYgbnNsX2JwZ19vZmZzZXQ7Cj4gLQkvKiBPZmZzZXQgYWRqIGZyIHNlY29uZCBsaW5lIGluIE5h dGl2ZSA0OjI6MCBtb2RlICovCj4gIAl1MTYgc2Vjb25kX2xpbmVfb2Zmc2V0X2FkajsKPiAgfTsK PiAgCj4gQEAgLTQ2OCwxMCArNDg1LDEzIEBAIHN0cnVjdCBkcm1fZHNjX3BpY3R1cmVfcGFyYW1l dGVyX3NldCB7Cj4gICAqIFRoaXMgc3RydWN0dXJlIHJlcHJlc2VudHMgdGhlIERTQyBQUFMgaW5m b2ZyYW1lIHJlcXVpcmVkIHRvIHNlbmQgdGhlIFBpY3R1cmUKPiAgICogUGFyYW1ldGVyIFNldCBt ZXRhZGF0YSByZXF1aXJlZCBiZWZvcmUgZW5hYmxpbmcgVkVTQSBEaXNwbGF5IFN0cmVhbQo+ICAg KiBDb21wcmVzc2lvbi4gVGhpcyBpcyBiYXNlZCBvbiB0aGUgRFAgU2Vjb25kYXJ5IERhdGEgUGFj a2V0IHN0cnVjdHVyZSBhbmQKPiAtICogY29tcHJpc2VzIG9mIFNEUCBIZWFkZXIgYXMgZGVmaW5l ZCBpbiBkcm1fZHBfaGVscGVyLmggYW5kIFBQUyBwYXlsb2FkLgo+ICsgKiBjb21wcmlzZXMgb2Yg U0RQIEhlYWRlciBhcyBkZWZpbmVkICZzdHJ1Y3Qgc3RydWN0IGRwX3NkcF9oZWFkZXIgaW4gZHJt X2RwX2hlbHBlci5oCj4gKyAqIGFuZCBQUFMgcGF5bG9hZCBkZWZpbmVkIGluICZzdHJ1Y3QgZHJt X2RzY19waWN0dXJlX3BhcmFtZXRlcl9zZXQuCj4gICAqCj4gLSAqIEBwcHNfaGVhZGVyOiBIZWFk ZXIgZm9yIFBQUyBhcyBwZXIgRFAgU0RQIGhlYWRlciBmb3JtYXQKPiArICogQHBwc19oZWFkZXI6 IEhlYWRlciBmb3IgUFBTIGFzIHBlciBEUCBTRFAgaGVhZGVyIGZvcm1hdCBvZiB0eXBlCj4gKyAq ICAgICAgICAgICAgICAmc3RydWN0IGRwX3NkcF9oZWFkZXIKPiAgICogQHBwc19wYXlsb2FkOiBQ UFMgcGF5bG9hZCBmaWVsZHMgYXMgcGVyIERTQyBzcGVjaWZpY2F0aW9uIFRhYmxlIDQtMQo+ICsg KiAgICAgICAgICAgICAgIGFzIHJlcHJlc2VudGVkIGluICZzdHJ1Y3QgZHJtX2RzY19waWN0dXJl X3BhcmFtZXRlcl9zZXQKPiAgICovCj4gIHN0cnVjdCBkcm1fZHNjX3Bwc19pbmZvZnJhbWUgewo+ ICAJc3RydWN0IGRwX3NkcF9oZWFkZXIgcHBzX2hlYWRlcjsKPiAtLSAKPiAyLjE5LjEKPiAKCi0t IApTZWFuIFBhdWwsIFNvZnR3YXJlIEVuZ2luZWVyLCBHb29nbGUgLyBDaHJvbWl1bSBPUwpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK