From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH 07/15] drm: drop _mode_ from remaining connector functions Date: Fri, 13 Jul 2018 11:05:38 -0400 Message-ID: <20180713150538.GF20303@art_vandelay> References: <20180709084016.23750-1-daniel.vetter@ffwll.ch> <20180709084016.23750-8-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yb0-x244.google.com (mail-yb0-x244.google.com [IPv6:2607:f8b0:4002:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id BBA466F292 for ; Fri, 13 Jul 2018 15:05:40 +0000 (UTC) Received: by mail-yb0-x244.google.com with SMTP id i9-v6so12850208ybo.5 for ; Fri, 13 Jul 2018 08:05:40 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180709084016.23750-8-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , DRI Development List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBKdWwgMDksIDIwMTggYXQgMTA6NDA6MDhBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBTaW5jZSB0aGVyZSdzIHZlcnkgZmV3IGNhbGxlcnMgb2YgdGhlc2UgSSd2ZSBkZWNp ZGVkIHRvIGRvIHRoZW0gYWxsIGluCj4gb25lIHBhdGNoLiBXaXRoIHRoaXMgdGhlIHVuZWNlc3Nh cmlseSBsb25nIGRybV9tb2RlX2Nvbm5lY3Rvcl8gcHJlZml4Cj4gaXMgZ29uZSBmcm9tIHRoZSBj b2RlYmFzZSEgVGhlIG9ubHkgZXhjZXB0aW9uIGJlaW5nIHN0cnVjdAo+IGRybV9tb2RlX2Nvbm5l Y3Rvcl9zZXRfcHJvcGVydHksIHdoaWNoIGlzIHBhcnQgb2YgdGhlIHVhcGkgc28gY2FuJ3QgYmUK PiByZW5hbWVkLgo+IAo+IEFnYWluIGRvbmUgd2l0aCBzZWQrc29tZSBtYW51YWwgZml4dXBzIGZv ciBpbmRlbnQgaXNzdWVzLgo+IAo+IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAaW50ZWwuY29tPgoKTEdUTS4gVGhlcmUncyBhbiB1bnJlbGF0ZWQgaW5kZW50IGNo YW5nZSBpbiB0aGUgYXJndW1lbnRzIG9mCmRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVy dHkoKSwgYnV0IGl0J3MgYW4gaW1wcm92ZW1lbnQsIHNvIEkgd29uJ3QKbml0cGljayBpdCA6LSkK ClJldmlld2VkLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KCgo+IC0tLQo+ ICAuLi4vZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jICAgfCAgNiArKy0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jICAgICAgICAgICB8ICAyICst Cj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICAgICAgICAgICAgICB8IDM2ICsr KysrKysrKy0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgg ICAgICAgICAgIHwgIDYgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9n eS5jICAgICAgICAgfCAgNCArLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jICAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX29iamVjdC5j ICAgICAgICAgICAgIHwgIDMgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jICAgICAg ICAgICAgICAgICAgIHwgIDYgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBl ci5jICAgICAgICAgICAgfCAgNCArLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu YyAgICAgICAgICAgICAgIHwgIDQgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw X21zdC5jICAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9t YW5hZ2VyLmMgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3Bu djUwL2Rpc3AuYyAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2RwX21zdC5jICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4 X2ttcy5jICAgICAgICAgICB8ICAyICstCj4gIGluY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaCAg ICAgICAgICAgICAgICAgICB8IDE0ICsrKystLS0tCj4gIGluY2x1ZGUvZHJtL2RybV9tb2Rlcy5o ICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCj4gIDE3IGZpbGVzIGNoYW5nZWQsIDQ5IGlu c2VydGlvbnMoKyksIDUwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jCj4g aW5kZXggNTgxYmI3NWQwOGViLi42NWYyMTBkMzQ5N2IgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fbXN0X3R5cGVzLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlw ZXMuYwo+IEBAIC0zNDUsNyArMzQ1LDcgQEAgZG1fZHBfYWRkX21zdF9jb25uZWN0b3Ioc3RydWN0 IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCj4gIAkJCQkJCWFjb25uZWN0b3IsIGNvbm5l Y3Rvci0+YmFzZS5pZCwgYWNvbm5lY3Rvci0+bXN0X3BvcnQpOwo+ICAKPiAgCQkJYWNvbm5lY3Rv ci0+cG9ydCA9IHBvcnQ7Cj4gLQkJCWRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9wZXJ0 eShjb25uZWN0b3IsIHBhdGhwcm9wKTsKPiArCQkJZHJtX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9w ZXJ0eShjb25uZWN0b3IsIHBhdGhwcm9wKTsKPiAgCj4gIAkJCWRybV9jb25uZWN0b3JfbGlzdF9p dGVyX2VuZCgmY29ubl9pdGVyKTsKPiAgCQkJYWNvbm5lY3Rvci0+bXN0X2Nvbm5lY3RlZCA9IHRy dWU7Cj4gQEAgLTM5Myw3ICszOTMsNyBAQCBkbV9kcF9hZGRfbXN0X2Nvbm5lY3RvcihzdHJ1Y3Qg ZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKPiAgCQlkZXYtPm1vZGVfY29uZmlnLnRpbGVf cHJvcGVydHksCj4gIAkJMCk7Cj4gIAo+IC0JZHJtX21vZGVfY29ubmVjdG9yX3NldF9wYXRoX3By b3BlcnR5KGNvbm5lY3RvciwgcGF0aHByb3ApOwo+ICsJZHJtX2Nvbm5lY3Rvcl9zZXRfcGF0aF9w cm9wZXJ0eShjb25uZWN0b3IsIHBhdGhwcm9wKTsKPiAgCj4gIAkvKgo+ICAJICogSW5pdGlhbGl6 ZSBjb25uZWN0b3Igc3RhdGUgYmVmb3JlIGFkZGluZyB0aGUgY29ubmVjdHJvciB0byBkcm0gYW5k Cj4gQEAgLTQ0MSw3ICs0NDEsNyBAQCBzdGF0aWMgdm9pZCBkbV9kcF9tc3RfaG90cGx1ZyhzdHJ1 Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncikKPiAgc3RhdGljIHZvaWQgZG1fZHBfbXN0 X2xpbmtfc3RhdHVzX3Jlc2V0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIHsK PiAgCW11dGV4X2xvY2soJmNvbm5lY3Rvci0+ZGV2LT5tb2RlX2NvbmZpZy5tdXRleCk7Cj4gLQlk cm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KGNvbm5lY3RvciwgRFJN X01PREVfTElOS19TVEFUVVNfQkFEKTsKPiArCWRybV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVz X3Byb3BlcnR5KGNvbm5lY3RvciwgRFJNX01PREVfTElOS19TVEFUVVNfQkFEKTsKPiAgCW11dGV4 X3VubG9jaygmY29ubmVjdG9yLT5kZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKPiAgfQo+ICAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IGluZGV4IDViYzg4ZjM2MWZlZi4uYWNmOWRi ZDlmZWQyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBAQCAtMjgwOSw3 ICsyODA5LDcgQEAgc3RhdGljIGludCB1cGRhdGVfb3V0cHV0X3N0YXRlKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSwKPiAgICogcmVzZXRzIHRoZSAibGluay1zdGF0dXMiIHByb3BlcnR5 IHRvIEdPT0QsIHRvIGZvcmNlIGFueSBsaW5rCj4gICAqIHJlLXRyYWluaW5nLiBUaGUgU0VUQ1JU QyBpb2N0bCBkb2VzIG5vdCBkZWZpbmUgd2hldGhlciBhbiB1cGRhdGUgZG9lcwo+ICAgKiBuZWVk IGEgZnVsbCBtb2Rlc2V0IG9yIGp1c3QgYSBwbGFuZSB1cGRhdGUsIGhlbmNlIHdlJ3JlIGFsbG93 ZWQgdG8gZG8KPiAtICogdGhhdC4gU2VlIGFsc28gZHJtX21vZGVfY29ubmVjdG9yX3NldF9saW5r X3N0YXR1c19wcm9wZXJ0eSgpLgo+ICsgKiB0aGF0LiBTZWUgYWxzbyBkcm1fY29ubmVjdG9yX3Nl dF9saW5rX3N0YXR1c19wcm9wZXJ0eSgpLgo+ICAgKgo+ICAgKiBSZXR1cm5zOgo+ICAgKiBSZXR1 cm5zIDAgb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gbnVtYmVycyBvbiBmYWlsdXJlLgo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9jb25uZWN0b3IuYwo+IGluZGV4IDQzY2Q2MzZkODNiNS4uOTM2NDcxNjFmOWU2IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY29ubmVjdG9yLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gQEAgLTg1Niw3ICs4NTYsNyBAQCBEUk1fRU5V TV9OQU1FX0ZOKGRybV9nZXRfY29udGVudF9wcm90ZWN0aW9uX25hbWUsIGRybV9jcF9lbnVtX2xp c3QpCj4gICAqIFBBVEg6Cj4gICAqIAlDb25uZWN0b3IgcGF0aCBwcm9wZXJ0eSB0byBpZGVudGlm eSBob3cgdGhpcyBzaW5rIGlzIHBoeXNpY2FsbHkKPiAgICogCWNvbm5lY3RlZC4gVXNlZCBieSBE UCBNU1QuIFRoaXMgc2hvdWxkIGJlIHNldCBieSBjYWxsaW5nCj4gLSAqIAlkcm1fbW9kZV9jb25u ZWN0b3Jfc2V0X3BhdGhfcHJvcGVydHkoKSwgaW4gdGhlIGNhc2Ugb2YgRFAgTVNUIHdpdGggdGhl Cj4gKyAqIAlkcm1fY29ubmVjdG9yX3NldF9wYXRoX3Byb3BlcnR5KCksIGluIHRoZSBjYXNlIG9m IERQIE1TVCB3aXRoIHRoZQo+ICAgKiAJcGF0aCBwcm9wZXJ0eSB0aGUgTVNUIG1hbmFnZXIgY3Jl YXRlZC4gVXNlcnNwYWNlIGNhbm5vdCBjaGFuZ2UgdGhpcwo+ICAgKiAJcHJvcGVydHkuCj4gICAq IFRJTEU6Cj4gQEAgLTg2NywxNCArODY3LDE0IEBAIERSTV9FTlVNX05BTUVfRk4oZHJtX2dldF9j b250ZW50X3Byb3RlY3Rpb25fbmFtZSwgZHJtX2NwX2VudW1fbGlzdCkKPiAgICogCWFyZSBub3Qg Z2VuLWxvY2tlZC4gTm90ZSB0aGF0IGZvciB0aWxlZCBwYW5lbHMgd2hpY2ggYXJlIGdlbmxvY2tl ZCwgbGlrZQo+ICAgKiAJZHVhbC1saW5rIExWRFMgb3IgZHVhbC1saW5rIERTSSwgdGhlIGRyaXZl ciBzaG91bGQgdHJ5IHRvIG5vdCBleHBvc2UgdGhlCj4gICAqIAl0aWxpbmcgYW5kIHZpcnR1YWxp emUgYm90aCAmZHJtX2NydGMgYW5kICZkcm1fcGxhbmUgaWYgbmVlZGVkLiBEcml2ZXJzCj4gLSAq IAlzaG91bGQgdXBkYXRlIHRoaXMgdmFsdWUgdXNpbmcgZHJtX21vZGVfY29ubmVjdG9yX3NldF90 aWxlX3Byb3BlcnR5KCkuCj4gKyAqIAlzaG91bGQgdXBkYXRlIHRoaXMgdmFsdWUgdXNpbmcgZHJt X2Nvbm5lY3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eSgpLgo+ICAgKiAJVXNlcnNwYWNlIGNhbm5vdCBj aGFuZ2UgdGhpcyBwcm9wZXJ0eS4KPiAgICogbGluay1zdGF0dXM6Cj4gICAqICAgICAgQ29ubmVj dG9yIGxpbmstc3RhdHVzIHByb3BlcnR5IHRvIGluZGljYXRlIHRoZSBzdGF0dXMgb2YgbGluay4g VGhlCj4gICAqICAgICAgZGVmYXVsdCB2YWx1ZSBvZiBsaW5rLXN0YXR1cyBpcyAiR09PRCIuIElm IHNvbWV0aGluZyBmYWlscyBkdXJpbmcgb3IKPiAgICogICAgICBhZnRlciBtb2Rlc2V0LCB0aGUg a2VybmVsIGRyaXZlciBtYXkgc2V0IHRoaXMgdG8gIkJBRCIgYW5kIGlzc3VlIGEKPiAgICogICAg ICBob3RwbHVnIHVldmVudC4gRHJpdmVycyBzaG91bGQgdXBkYXRlIHRoaXMgdmFsdWUgdXNpbmcK PiAtICogICAgICBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KCku Cj4gKyAqICAgICAgZHJtX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkoKS4KPiAg ICogbm9uX2Rlc2t0b3A6Cj4gICAqIAlJbmRpY2F0ZXMgdGhlIG91dHB1dCBzaG91bGQgYmUgaWdu b3JlZCBmb3IgcHVycG9zZXMgb2YgZGlzcGxheWluZyBhCj4gICAqIAlzdGFuZGFyZCBkZXNrdG9w IGVudmlyb25tZW50IG9yIGNvbnNvbGUuIFRoaXMgaXMgbW9zdCBsaWtlbHkgYmVjYXVzZQo+IEBA IC0xNDI5LDcgKzE0MjksNyBAQCBpbnQgZHJtX21vZGVfY3JlYXRlX3N1Z2dlc3RlZF9vZmZzZXRf cHJvcGVydGllcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICBFWFBPUlRfU1lNQk9MKGRybV9t b2RlX2NyZWF0ZV9zdWdnZXN0ZWRfb2Zmc2V0X3Byb3BlcnRpZXMpOwo+ICAKPiAgLyoqCj4gLSAq IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9wZXJ0eSAtIHNldCB0aWxlIHByb3BlcnR5 IG9uIGNvbm5lY3Rvcgo+ICsgKiBkcm1fY29ubmVjdG9yX3NldF9wYXRoX3Byb3BlcnR5IC0gc2V0 IHRpbGUgcHJvcGVydHkgb24gY29ubmVjdG9yCj4gICAqIEBjb25uZWN0b3I6IGNvbm5lY3RvciB0 byBzZXQgcHJvcGVydHkgb24uCj4gICAqIEBwYXRoOiBwYXRoIHRvIHVzZSBmb3IgcHJvcGVydHk7 IG11c3Qgbm90IGJlIE5VTEwuCj4gICAqCj4gQEAgLTE0NDEsOCArMTQ0MSw4IEBAIEVYUE9SVF9T WU1CT0woZHJtX21vZGVfY3JlYXRlX3N1Z2dlc3RlZF9vZmZzZXRfcHJvcGVydGllcyk7Cj4gICAq IFJldHVybnM6Cj4gICAqIFplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVy ZS4KPiAgICovCj4gLWludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X3BhdGhfcHJvcGVydHkoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJCQkgY29uc3QgY2hhciAqcGF0aCkK PiAraW50IGRybV9jb25uZWN0b3Jfc2V0X3BhdGhfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiArCQkJCSAgICBjb25zdCBjaGFyICpwYXRoKQo+ICB7Cj4gIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gIAlpbnQgcmV0Owo+IEBAIC0x NDU1LDEwICsxNDU1LDEwIEBAIGludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X3BhdGhfcHJvcGVy dHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRldi0+bW9kZV9jb25maWcucGF0aF9wcm9wZXJ0eSk7Cj4g IAlyZXR1cm4gcmV0Owo+ICB9Cj4gLUVYUE9SVF9TWU1CT0woZHJtX21vZGVfY29ubmVjdG9yX3Nl dF9wYXRoX3Byb3BlcnR5KTsKPiArRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX3NldF9wYXRo X3Byb3BlcnR5KTsKPiAgCj4gIC8qKgo+IC0gKiBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X3RpbGVf cHJvcGVydHkgLSBzZXQgdGlsZSBwcm9wZXJ0eSBvbiBjb25uZWN0b3IKPiArICogZHJtX2Nvbm5l Y3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eSAtIHNldCB0aWxlIHByb3BlcnR5IG9uIGNvbm5lY3Rvcgo+ ICAgKiBAY29ubmVjdG9yOiBjb25uZWN0b3IgdG8gc2V0IHByb3BlcnR5IG9uLgo+ICAgKgo+ICAg KiBUaGlzIGxvb2tzIHVwIHRoZSB0aWxlIGluZm9ybWF0aW9uIGZvciBhIGNvbm5lY3RvciwgYW5k IGNyZWF0ZXMgYQo+IEBAIC0xNDY4LDcgKzE0NjgsNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9tb2Rl X2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9wZXJ0eSk7Cj4gICAqIFJldHVybnM6Cj4gICAqIFplcm8g b24gc3VjY2VzcywgZXJybm8gb24gZmFpbHVyZS4KPiAgICovCj4gLWludCBkcm1fbW9kZV9jb25u ZWN0b3Jfc2V0X3RpbGVfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK PiAraW50IGRybV9jb25uZWN0b3Jfc2V0X3RpbGVfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rv ci0+ZGV2Owo+ICAJY2hhciB0aWxlWzI1Nl07Cj4gQEAgLTE0OTgsNyArMTQ5OCw3IEBAIGludCBk cm1fbW9kZV9jb25uZWN0b3Jfc2V0X3RpbGVfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvcikKPiAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRl di0+bW9kZV9jb25maWcudGlsZV9wcm9wZXJ0eSk7Cj4gIAlyZXR1cm4gcmV0Owo+ICB9Cj4gLUVY UE9SVF9TWU1CT0woZHJtX21vZGVfY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KTsKPiArRVhQ T1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KTsKPiAgCj4gIC8qKgo+ ICAgKiBkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5IC0gdXBkYXRlIHRoZSBlZGlk IHByb3BlcnR5IG9mIGEgY29ubmVjdG9yCj4gQEAgLTE1MTIsNyArMTUxMiw3IEBAIEVYUE9SVF9T WU1CT0woZHJtX21vZGVfY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KTsKPiAgICogWmVybyBv biBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJubyBvbiBmYWlsdXJlLgo+ICAgKi8KPiAgaW50IGRybV9j b25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKPiAtCQkJCQkgICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpCj4gKwkJCQkgICAgICAg Y29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpCj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBjb25uZWN0b3ItPmRldjsKPiAgCXNpemVfdCBzaXplID0gMDsKPiBAQCAtMTU1Myw3ICsxNTUz LDcgQEAgaW50IGRybV9jb25uZWN0b3JfdXBkYXRlX2VkaWRfcHJvcGVydHkoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKPiAgRVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX3VwZGF0 ZV9lZGlkX3Byb3BlcnR5KTsKPiAgCj4gIC8qKgo+IC0gKiBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0 X2xpbmtfc3RhdHVzX3Byb3BlcnR5IC0gU2V0IGxpbmsgc3RhdHVzIHByb3BlcnR5IG9mIGEgY29u bmVjdG9yCj4gKyAqIGRybV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5IC0gU2V0 IGxpbmsgc3RhdHVzIHByb3BlcnR5IG9mIGEgY29ubmVjdG9yCj4gICAqIEBjb25uZWN0b3I6IGRy bSBjb25uZWN0b3IKPiAgICogQGxpbmtfc3RhdHVzOiBuZXcgdmFsdWUgb2YgbGluayBzdGF0dXMg cHJvcGVydHkgKDA6IEdvb2QsIDE6IEJhZCkKPiAgICoKPiBAQCAtMTU3MSw4ICsxNTcxLDggQEAg RVhQT1JUX1NZTUJPTChkcm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KTsKPiAgICog aXQgaXMgbm90IGxpbWl0ZWQgdG8gRFAgb3IgbGluayB0cmFpbmluZy4gRm9yIGV4YW1wbGUsIGlm IHdlIGltcGxlbWVudAo+ICAgKiBhc3luY2hyb25vdXMgc2V0Y3J0YywgdGhpcyBwcm9wZXJ0eSBj YW4gYmUgdXNlZCB0byByZXBvcnQgYW55IGZhaWx1cmVzIGluIHRoYXQuCj4gICAqLwo+IC12b2lk IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJCQkJIHVpbnQ2NF90IGxpbmtfc3RhdHVzKQo+ICt2 b2lkIGRybV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCj4gKwkJCQkJICAgIHVpbnQ2NF90IGxpbmtfc3RhdHVzKQo+ICB7 Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9yLT5kZXY7Cj4gIAo+IEBAIC0x NTgwLDcgKzE1ODAsNyBAQCB2b2lkIGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNf cHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcgo+ICAJY29ubmVjdG9yLT5z dGF0ZS0+bGlua19zdGF0dXMgPSBsaW5rX3N0YXR1czsKPiAgCWRybV9tb2Rlc2V0X3VubG9jaygm ZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4KTsKPiAgfQo+IC1FWFBPUlRfU1lNQk9M KGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkpOwo+ICtFWFBPUlRf U1lNQk9MKGRybV9jb25uZWN0b3Jfc2V0X2xpbmtfc3RhdHVzX3Byb3BlcnR5KTsKPiAgCj4gIC8q Kgo+ICAgKiBkcm1fY29ubmVjdG9yX2luaXRfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHkgLQo+ IEBAIC0xNjMzLDcgKzE2MzMsNyBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9pbml0X3BhbmVsX29yaWVu dGF0aW9uX3Byb3BlcnR5KAo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9pbml0 X3BhbmVsX29yaWVudGF0aW9uX3Byb3BlcnR5KTsKPiAgCj4gLWludCBkcm1fbW9kZV9jb25uZWN0 b3Jfc2V0X29ial9wcm9wKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKPiAraW50IGRybV9j b25uZWN0b3Jfc2V0X29ial9wcm9wKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKPiAgCQkJ CSAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKPiAgCQkJCSAgICB1aW50NjRfdCB2 YWx1ZSkKPiAgewo+IEBAIC0xNjUxLDggKzE2NTEsOCBAQCBpbnQgZHJtX21vZGVfY29ubmVjdG9y X3NldF9vYmpfcHJvcChzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0ICpvYmosCj4gIAlyZXR1cm4gcmV0 Owo+ICB9Cj4gIAo+IC1pbnQgZHJtX21vZGVfY29ubmVjdG9yX3Byb3BlcnR5X3NldF9pb2N0bChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0JCQkJICAgICAgIHZvaWQgKmRhdGEsIHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2KQo+ICtpbnQgZHJtX2Nvbm5lY3Rvcl9wcm9wZXJ0eV9zZXRfaW9j dGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiArCQkJCSAgICAgdm9pZCAqZGF0YSwgc3RydWN0 IGRybV9maWxlICpmaWxlX3ByaXYpCj4gIHsKPiAgCXN0cnVjdCBkcm1fbW9kZV9jb25uZWN0b3Jf c2V0X3Byb3BlcnR5ICpjb25uX3NldF9wcm9wID0gZGF0YTsKPiAgCXN0cnVjdCBkcm1fbW9kZV9v Ympfc2V0X3Byb3BlcnR5IG9ial9zZXRfcHJvcCA9IHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmggYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50 ZXJuYWwuaAo+IGluZGV4IDIzNWQ0MGZjZThiNS4uYjYxMzIyNzYzMzk0IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Y19pbnRlcm5hbC5oCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9jcnRjX2ludGVybmFsLmgKPiBAQCAtMTQ4LDcgKzE0OCw3IEBAIHZvaWQgZHJtX2Nv bm5lY3Rvcl9pZGFfaW5pdCh2b2lkKTsKPiAgdm9pZCBkcm1fY29ubmVjdG9yX2lkYV9kZXN0cm95 KHZvaWQpOwo+ICB2b2lkIGRybV9jb25uZWN0b3JfdW5yZWdpc3Rlcl9hbGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldik7Cj4gIGludCBkcm1fY29ubmVjdG9yX3JlZ2lzdGVyX2FsbChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KTsKPiAtaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfb2JqX3Byb3Aoc3Ry dWN0IGRybV9tb2RlX29iamVjdCAqb2JqLAo+ICtpbnQgZHJtX2Nvbm5lY3Rvcl9zZXRfb2JqX3By b3Aoc3RydWN0IGRybV9tb2RlX29iamVjdCAqb2JqLAo+ICAJCQkJICAgIHN0cnVjdCBkcm1fcHJv cGVydHkgKnByb3BlcnR5LAo+ICAJCQkJICAgIHVpbnQ2NF90IHZhbHVlKTsKPiAgaW50IGRybV9j b25uZWN0b3JfY3JlYXRlX3N0YW5kYXJkX3Byb3BlcnRpZXMoc3RydWN0IGRybV9kZXZpY2UgKmRl dik7Cj4gQEAgLTE1Niw4ICsxNTYsOCBAQCBjb25zdCBjaGFyICpkcm1fZ2V0X2Nvbm5lY3Rvcl9m b3JjZV9uYW1lKGVudW0gZHJtX2Nvbm5lY3Rvcl9mb3JjZSBmb3JjZSk7Cj4gIHZvaWQgZHJtX2Nv bm5lY3Rvcl9mcmVlX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKPiAgCj4gIC8q IElPQ1RMICovCj4gLWludCBkcm1fbW9kZV9jb25uZWN0b3JfcHJvcGVydHlfc2V0X2lvY3RsKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gLQkJCQkJICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGVfcHJpdik7Cj4gK2ludCBkcm1fY29ubmVjdG9yX3Byb3BlcnR5X3NldF9pb2N0bChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICsJCQkJICAgICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGVfcHJpdik7Cj4gIGludCBkcm1fbW9kZV9nZXRjb25uZWN0b3Ioc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPiAgCQkJICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVf cHJpdik7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3Bv bG9neS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYwo+IGluZGV4IDY1 ODgzMDYyMGNhMy4uNzc4MDU2N2FhNjY5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fZHBfbXN0X3RvcG9sb2d5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90 b3BvbG9neS5jCj4gQEAgLTEyMTUsNyArMTIxNSw3IEBAIHN0YXRpYyB2b2lkIGRybV9kcF9hZGRf cG9ydChzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKm1zdGIsCj4gIAkJICAgICBwb3J0LT5wZHQg PT0gRFBfUEVFUl9ERVZJQ0VfU1NUX1NJTkspICYmCj4gIAkJICAgIHBvcnQtPnBvcnRfbnVtID49 IERQX01TVF9MT0dJQ0FMX1BPUlRfMCkgewo+ICAJCQlwb3J0LT5jYWNoZWRfZWRpZCA9IGRybV9n ZXRfZWRpZChwb3J0LT5jb25uZWN0b3IsICZwb3J0LT5hdXguZGRjKTsKPiAtCQkJZHJtX21vZGVf Y29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KHBvcnQtPmNvbm5lY3Rvcik7Cj4gKwkJCWRybV9j b25uZWN0b3Jfc2V0X3RpbGVfcHJvcGVydHkocG9ydC0+Y29ubmVjdG9yKTsKPiAgCQl9Cj4gIAkJ KCptc3RiLT5tZ3ItPmNicy0+cmVnaXN0ZXJfY29ubmVjdG9yKShwb3J0LT5jb25uZWN0b3IpOwo+ ICAJfQo+IEBAIC0yNTU5LDcgKzI1NTksNyBAQCBzdHJ1Y3QgZWRpZCAqZHJtX2RwX21zdF9nZXRf ZWRpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBzdHJ1Y3QgZHJtX2RwXwo+ICAJ CWVkaWQgPSBkcm1fZWRpZF9kdXBsaWNhdGUocG9ydC0+Y2FjaGVkX2VkaWQpOwo+ICAJZWxzZSB7 Cj4gIAkJZWRpZCA9IGRybV9nZXRfZWRpZChjb25uZWN0b3IsICZwb3J0LT5hdXguZGRjKTsKPiAt CQlkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X3RpbGVfcHJvcGVydHkoY29ubmVjdG9yKTsKPiArCQlk cm1fY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KGNvbm5lY3Rvcik7Cj4gIAl9Cj4gIAlwb3J0 LT5oYXNfYXVkaW8gPSBkcm1fZGV0ZWN0X21vbml0b3JfYXVkaW8oZWRpZCk7Cj4gIAlkcm1fZHBf cHV0X3BvcnQocG9ydCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwo+IGluZGV4IGMxNDhlYjNiZThjMi4uODgy Nzc3ZmE2NmZhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwo+IEBAIC02NDEsNyArNjQxLDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVzYyBkcm1faW9jdGxzW10gPSB7Cj4gIAlEUk1f SU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0FUVEFDSE1PREUsIGRybV9ub29wLCBEUk1fTUFTVEVS fERSTV9VTkxPQ0tFRCksCj4gIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0RFVEFDSE1P REUsIGRybV9ub29wLCBEUk1fTUFTVEVSfERSTV9VTkxPQ0tFRCksCj4gIAlEUk1fSU9DVExfREVG KERSTV9JT0NUTF9NT0RFX0dFVFBST1BFUlRZLCBkcm1fbW9kZV9nZXRwcm9wZXJ0eV9pb2N0bCwg RFJNX1VOTE9DS0VEKSwKPiAtCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfU0VUUFJPUEVS VFksIGRybV9tb2RlX2Nvbm5lY3Rvcl9wcm9wZXJ0eV9zZXRfaW9jdGwsIERSTV9NQVNURVJ8RFJN X1VOTE9DS0VEKSwKPiArCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfU0VUUFJPUEVSVFks IGRybV9jb25uZWN0b3JfcHJvcGVydHlfc2V0X2lvY3RsLCBEUk1fTUFTVEVSfERSTV9VTkxPQ0tF RCksCj4gIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0dFVFBST1BCTE9CLCBkcm1fbW9k ZV9nZXRibG9iX2lvY3RsLCBEUk1fVU5MT0NLRUQpLAo+ICAJRFJNX0lPQ1RMX0RFRihEUk1fSU9D VExfTU9ERV9HRVRGQiwgZHJtX21vZGVfZ2V0ZmIsIERSTV9VTkxPQ0tFRCksCj4gIAlEUk1fSU9D VExfREVGKERSTV9JT0NUTF9NT0RFX0FEREZCLCBkcm1fbW9kZV9hZGRmYl9pb2N0bCwgRFJNX1VO TE9DS0VEKSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX29iamVjdC5j IGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX29iamVjdC5jCj4gaW5kZXggY2U0ZDJmYjMyODEw Li5mY2IwYWIwYWJiNzUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX29i amVjdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX29iamVjdC5jCj4gQEAgLTQz Myw4ICs0MzMsNyBAQCBzdGF0aWMgaW50IHNldF9wcm9wZXJ0eV9sZWdhY3koc3RydWN0IGRybV9t b2RlX29iamVjdCAqb2JqLAo+ICAJZHJtX21vZGVzZXRfbG9ja19hbGwoZGV2KTsKPiAgCXN3aXRj aCAob2JqLT50eXBlKSB7Cj4gIAljYXNlIERSTV9NT0RFX09CSkVDVF9DT05ORUNUT1I6Cj4gLQkJ cmV0ID0gZHJtX21vZGVfY29ubmVjdG9yX3NldF9vYmpfcHJvcChvYmosIHByb3AsCj4gLQkJCQkJ CSAgICAgIHByb3BfdmFsdWUpOwo+ICsJCXJldCA9IGRybV9jb25uZWN0b3Jfc2V0X29ial9wcm9w KG9iaiwgcHJvcCwgcHJvcF92YWx1ZSk7Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIERSTV9NT0RFX09C SkVDVF9DUlRDOgo+ICAJCXJldCA9IGRybV9tb2RlX2NydGNfc2V0X29ial9wcm9wKG9iaiwgcHJv cCwgcHJvcF92YWx1ZSk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+IGluZGV4IDdmNTUyZDVmYTg4ZS4uNjU5 MGU2NWQwYjQ5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+IEBAIC0xMzQ2LDcgKzEzNDYsNyBAQCB2 b2lkIGRybV9tb2RlX3NvcnQoc3RydWN0IGxpc3RfaGVhZCAqbW9kZV9saXN0KQo+ICBFWFBPUlRf U1lNQk9MKGRybV9tb2RlX3NvcnQpOwo+ICAKPiAgLyoqCj4gLSAqIGRybV9tb2RlX2Nvbm5lY3Rv cl9saXN0X3VwZGF0ZSAtIHVwZGF0ZSB0aGUgbW9kZSBsaXN0IGZvciB0aGUgY29ubmVjdG9yCj4g KyAqIGRybV9jb25uZWN0b3JfbGlzdF91cGRhdGUgLSB1cGRhdGUgdGhlIG1vZGUgbGlzdCBmb3Ig dGhlIGNvbm5lY3Rvcgo+ICAgKiBAY29ubmVjdG9yOiB0aGUgY29ubmVjdG9yIHRvIHVwZGF0ZQo+ ICAgKgo+ICAgKiBUaGlzIG1vdmVzIHRoZSBtb2RlcyBmcm9tIHRoZSBAY29ubmVjdG9yIHByb2Jl ZF9tb2RlcyBsaXN0Cj4gQEAgLTEzNTYsNyArMTM1Niw3IEBAIEVYUE9SVF9TWU1CT0woZHJtX21v ZGVfc29ydCk7Cj4gICAqIFRoaXMgaXMganVzdCBhIGhlbHBlciBmdW5jdGlvbnMgZG9lc24ndCB2 YWxpZGF0ZSBhbnkgbW9kZXMgaXRzZWxmIGFuZCBhbHNvCj4gICAqIGRvZXNuJ3QgcHJ1bmUgYW55 IGludmFsaWQgbW9kZXMuIENhbGxlcnMgbmVlZCB0byBkbyB0aGF0IHRoZW1zZWx2ZXMuCj4gICAq Lwo+IC12b2lkIGRybV9tb2RlX2Nvbm5lY3Rvcl9saXN0X3VwZGF0ZShzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQo+ICt2b2lkIGRybV9jb25uZWN0b3JfbGlzdF91cGRhdGUoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKnBtb2RlLCAqcHQ7Cj4gIAo+IEBAIC0xNDA1LDcgKzE0MDUsNyBAQCB2b2lkIGRybV9tb2Rl X2Nvbm5lY3Rvcl9saXN0X3VwZGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ ICAJCX0KPiAgCX0KPiAgfQo+IC1FWFBPUlRfU1lNQk9MKGRybV9tb2RlX2Nvbm5lY3Rvcl9saXN0 X3VwZGF0ZSk7Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2Nvbm5lY3Rvcl9saXN0X3VwZGF0ZSk7Cj4g IAo+ICAvKioKPiAgICogZHJtX21vZGVfcGFyc2VfY29tbWFuZF9saW5lX2Zvcl9jb25uZWN0b3Ig LSBwYXJzZSBjb21tYW5kIGxpbmUgbW9kZWxpbmUgZm9yIGNvbm5lY3Rvcgo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9wcm9iZV9oZWxwZXIuYwo+IGluZGV4IDM0NzBjYTUwN2RmMy4uNzY2NmU0YjM3ZDQ0IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX3Byb2JlX2hlbHBlci5jCj4gQEAgLTM1OSw3ICszNTksNyBAQCBFWFBP UlRfU1lNQk9MKGRybV9oZWxwZXJfcHJvYmVfZGV0ZWN0KTsKPiAgICogICAgdXNpbmcgdGhlIFZF U0EgR1RGL0NWVCBmb3JtdWxhcy4KPiAgICoKPiAgICogMy4gTW9kZXMgYXJlIG1vdmVkIGZyb20g dGhlIHByb2JlZF9tb2RlcyBsaXN0IHRvIHRoZSBtb2RlcyBsaXN0LiBQb3RlbnRpYWwKPiAtICog ICAgZHVwbGljYXRlcyBhcmUgbWVyZ2VkIHRvZ2V0aGVyIChzZWUgZHJtX21vZGVfY29ubmVjdG9y X2xpc3RfdXBkYXRlKCkpLgo+ICsgKiAgICBkdXBsaWNhdGVzIGFyZSBtZXJnZWQgdG9nZXRoZXIg KHNlZSBkcm1fY29ubmVjdG9yX2xpc3RfdXBkYXRlKCkpLgo+ICAgKiAgICBBZnRlciB0aGlzIHN0 ZXAgdGhlIHByb2JlZF9tb2RlcyBsaXN0IHdpbGwgYmUgZW1wdHkgYWdhaW4uCj4gICAqCj4gICAq IDQuIEFueSBub24tc3RhbGUgbW9kZSBvbiB0aGUgbW9kZXMgbGlzdCB0aGVuIHVuZGVyZ29lcyB2 YWxpZGF0aW9uCj4gQEAgLTQ4NCw3ICs0ODQsNyBAQCBpbnQgZHJtX2hlbHBlcl9wcm9iZV9zaW5n bGVfY29ubmVjdG9yX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAlp ZiAoY291bnQgPT0gMCkKPiAgCQlnb3RvIHBydW5lOwo+ICAKPiAtCWRybV9tb2RlX2Nvbm5lY3Rv cl9saXN0X3VwZGF0ZShjb25uZWN0b3IpOwo+ICsJZHJtX2Nvbm5lY3Rvcl9saXN0X3VwZGF0ZShj b25uZWN0b3IpOwo+ICAKPiAgCWlmIChjb25uZWN0b3ItPmludGVybGFjZV9hbGxvd2VkKQo+ICAJ CW1vZGVfZmxhZ3MgfD0gRFJNX01PREVfRkxBR19JTlRFUkxBQ0U7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jCj4gaW5kZXggMmYzZTkyMTY3YzVmLi4xMDE1MGNlODU5YWQgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKPiBAQCAtNjMwMSw4ICs2MzAxLDggQEAgc3RhdGljIHZvaWQgaW50ZWxf ZHBfbW9kZXNldF9yZXRyeV93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiAgCS8q IFNldCBjb25uZWN0b3IgbGluayBzdGF0dXMgdG8gQkFEIGFuZCBzZW5kIGEgVWV2ZW50IHRvIG5v dGlmeQo+ICAJICogdXNlcnNwYWNlIHRvIGRvIGEgbW9kZXNldC4KPiAgCSAqLwo+IC0JZHJtX21v ZGVfY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShjb25uZWN0b3IsCj4gLQkJCQkJ CSAgICBEUk1fTU9ERV9MSU5LX1NUQVRVU19CQUQpOwo+ICsJZHJtX2Nvbm5lY3Rvcl9zZXRfbGlu a19zdGF0dXNfcHJvcGVydHkoY29ubmVjdG9yLAo+ICsJCQkJCSAgICAgICBEUk1fTU9ERV9MSU5L X1NUQVRVU19CQUQpOwo+ICAJbXV0ZXhfdW5sb2NrKCZjb25uZWN0b3ItPmRldi0+bW9kZV9jb25m aWcubXV0ZXgpOwo+ICAJLyogU2VuZCBIb3RwbHVnIHVldmVudCBzbyB1c2Vyc3BhY2UgY2FuIHJl cHJvYmUgKi8KPiAgCWRybV9rbXNfaGVscGVyX2hvdHBsdWdfZXZlbnQoY29ubmVjdG9yLT5kZXYp Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gaW5kZXggNDk0ZTVjNDBhNDY0Li43 ZTNlMDE2MDc2NDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBf bXN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+IEBAIC00 NzQsNyArNDc0LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fY29ubmVjdG9yICppbnRlbF9kcF9hZGRf bXN0X2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG8KPiAgCWRybV9vYmplY3RfYXR0 YWNoX3Byb3BlcnR5KCZjb25uZWN0b3ItPmJhc2UsIGRldi0+bW9kZV9jb25maWcucGF0aF9wcm9w ZXJ0eSwgMCk7Cj4gIAlkcm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNl LCBkZXYtPm1vZGVfY29uZmlnLnRpbGVfcHJvcGVydHksIDApOwo+ICAKPiAtCXJldCA9IGRybV9t b2RlX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9wZXJ0eShjb25uZWN0b3IsIHBhdGhwcm9wKTsKPiAr CXJldCA9IGRybV9jb25uZWN0b3Jfc2V0X3BhdGhfcHJvcGVydHkoY29ubmVjdG9yLCBwYXRocHJv cCk7Cj4gIAlpZiAocmV0KQo+ICAJCWdvdG8gZXJyOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp L2RzaV9tYW5hZ2VyLmMKPiBpbmRleCAyMWUwZGM1MTUzMWQuLmQ1MDA2ZDY5MjNlMCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYwo+IEBAIC0zOTMsNyArMzkzLDcgQEAg c3RhdGljIGludCBkc2lfbWdyX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKPiAgCQlyZXQgPSBkc2lfZHVhbF9jb25uZWN0b3JfdGlsZV9pbml0KGNv bm5lY3RvciwgaWQpOwo+ICAJCWlmIChyZXQpCj4gIAkJCXJldHVybiByZXQ7Cj4gLQkJcmV0ID0g ZHJtX21vZGVfY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KGNvbm5lY3Rvcik7Cj4gKwkJcmV0 ID0gZHJtX2Nvbm5lY3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eShjb25uZWN0b3IpOwo+ICAJCWlmIChy ZXQpIHsKPiAgCQkJcHJfZXJyKCIlczogc2V0IHRpbGUgcHJvcGVydHkgZmFpbGVkLCAlZFxuIiwK PiAgCQkJCQlfX2Z1bmNfXywgcmV0KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25v dXZlYXUvZGlzcG52NTAvZGlzcC5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAv ZGlzcC5jCj4gaW5kZXggNDc1NDU2YzE5Yjc2Li41YTI0N2ViNzE4OTkgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jCj4gQEAgLTkzMSw3ICs5MzEsNyBAQCBudjUw X21zdGNfbmV3KHN0cnVjdCBudjUwX21zdG0gKm1zdG0sIHN0cnVjdCBkcm1fZHBfbXN0X3BvcnQg KnBvcnQsCj4gIAo+ICAJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJm1zdGMtPmNvbm5lY3Rv ci5iYXNlLCBkZXYtPm1vZGVfY29uZmlnLnBhdGhfcHJvcGVydHksIDApOwo+ICAJZHJtX29iamVj dF9hdHRhY2hfcHJvcGVydHkoJm1zdGMtPmNvbm5lY3Rvci5iYXNlLCBkZXYtPm1vZGVfY29uZmln LnRpbGVfcHJvcGVydHksIDApOwo+IC0JZHJtX21vZGVfY29ubmVjdG9yX3NldF9wYXRoX3Byb3Bl cnR5KCZtc3RjLT5jb25uZWN0b3IsIHBhdGgpOwo+ICsJZHJtX2Nvbm5lY3Rvcl9zZXRfcGF0aF9w cm9wZXJ0eSgmbXN0Yy0+Y29ubmVjdG9yLCBwYXRoKTsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RwX21zdC5jCj4gaW5kZXggMzc5NTZjZmMwYjZk Li5mOTIwYmUyMzZjYzkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fZHBfbXN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcF9tc3Qu Ywo+IEBAIC0yOTAsNyArMjkwLDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fY29ubmVjdG9yICpyYWRl b25fZHBfYWRkX21zdF9jb25uZWN0b3Ioc3RydWN0IGRybV9kcF9tc3RfdG9wb2wKPiAgCj4gIAlk cm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmY29ubmVjdG9yLT5iYXNlLCBkZXYtPm1vZGVfY29u ZmlnLnBhdGhfcHJvcGVydHksIDApOwo+ICAJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmNv bm5lY3Rvci0+YmFzZSwgZGV2LT5tb2RlX2NvbmZpZy50aWxlX3Byb3BlcnR5LCAwKTsKPiAtCWRy bV9tb2RlX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9wZXJ0eShjb25uZWN0b3IsIHBhdGhwcm9wKTsK PiArCWRybV9jb25uZWN0b3Jfc2V0X3BhdGhfcHJvcGVydHkoY29ubmVjdG9yLCBwYXRocHJvcCk7 Cj4gIAo+ICAJcmV0dXJuIGNvbm5lY3RvcjsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4 X2ttcy5jCj4gaW5kZXggYmM1ZmJkMzljZjlhLi40YTBmMGY0MWFmYTEgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwo+IEBAIC0yMTE0LDcgKzIxMTQsNyBAQCBpbnQgdm13X2R1 X2Nvbm5lY3Rvcl9maWxsX21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4g IAkJZHJtX21vZGVfcHJvYmVkX2FkZChjb25uZWN0b3IsIG1vZGUpOwo+ICAJfQo+ICAKPiAtCWRy bV9tb2RlX2Nvbm5lY3Rvcl9saXN0X3VwZGF0ZShjb25uZWN0b3IpOwo+ICsJZHJtX2Nvbm5lY3Rv cl9saXN0X3VwZGF0ZShjb25uZWN0b3IpOwo+ICAJLyogTW92ZSB0aGUgcHJlZmVyZWQgbW9kZSBm aXJzdCwgaGVscCBhcHBzIHBpY2sgdGhlIHJpZ2h0IG1vZGUuICovCj4gIAlkcm1fbW9kZV9zb3J0 KCZjb25uZWN0b3ItPm1vZGVzKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9j b25uZWN0b3IuaCBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+IGluZGV4IGRmZDdhMzU5 NWE2Yy4uMDEyZDJmMmQxZjg4IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0 b3IuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9jb25uZWN0b3IuaAo+IEBAIC05MTUsNyArOTE1 LDcgQEAgc3RydWN0IGRybV9jb25uZWN0b3Igewo+ICAJICogQHBhdGhfYmxvYl9wdHI6Cj4gIAkg Kgo+ICAJICogRFJNIGJsb2IgcHJvcGVydHkgZGF0YSBmb3IgdGhlIERQIE1TVCBwYXRoIHByb3Bl cnR5LiBUaGlzIHNob3VsZCBvbmx5Cj4gLQkgKiBiZSB1cGRhdGVkIGJ5IGNhbGxpbmcgZHJtX21v ZGVfY29ubmVjdG9yX3NldF9wYXRoX3Byb3BlcnR5KCkuCj4gKwkgKiBiZSB1cGRhdGVkIGJ5IGNh bGxpbmcgZHJtX2Nvbm5lY3Rvcl9zZXRfcGF0aF9wcm9wZXJ0eSgpLgo+ICAJICovCj4gIAlzdHJ1 Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKnBhdGhfYmxvYl9wdHI7Cj4gIAo+IEBAIC0xMDQyLDcgKzEw NDIsNyBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciB7Cj4gIAkgKiB0aGUgdGlsaW5nIGFuZCB2aXJ0 dWFsaXplIGJvdGggJmRybV9jcnRjIGFuZCAmZHJtX3BsYW5lIGlmIG5lZWRlZC4KPiAgCSAqCj4g IAkgKiBUaGlzIHNob3VsZCBvbmx5IGJlIHVwZGF0ZWQgYnkgY2FsbGluZwo+IC0JICogZHJtX21v ZGVfY29ubmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KCkuCj4gKwkgKiBkcm1fY29ubmVjdG9yX3Nl dF90aWxlX3Byb3BlcnR5KCkuCj4gIAkgKi8KPiAgCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAq dGlsZV9ibG9iX3B0cjsKPiAgCj4gQEAgLTExODcsMTMgKzExODcsMTMgQEAgdm9pZCBkcm1faGRt aV9hdmlfaW5mb2ZyYW1lX2NvbnRlbnRfdHlwZShzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpm cmFtZSwKPiAgCj4gIGludCBkcm1fbW9kZV9jcmVhdGVfc3VnZ2VzdGVkX29mZnNldF9wcm9wZXJ0 aWVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICAKPiAtaW50IGRybV9tb2RlX2Nvbm5lY3Rv cl9zZXRfcGF0aF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+IC0J CQkJCSBjb25zdCBjaGFyICpwYXRoKTsKPiAtaW50IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfdGls ZV9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAraW50IGRybV9j b25uZWN0b3Jfc2V0X3BhdGhfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKPiArCQkJCSAgICBjb25zdCBjaGFyICpwYXRoKTsKPiAraW50IGRybV9jb25uZWN0b3Jfc2V0 X3RpbGVfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gIGludCBk cm1fY29ubmVjdG9yX3VwZGF0ZV9lZGlkX3Byb3BlcnR5KHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IsCj4gIAkJCQkgICAgICAgY29uc3Qgc3RydWN0IGVkaWQgKmVkaWQpOwo+IC12b2lk IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfbGlua19zdGF0dXNfcHJvcGVydHkoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKPiAtCQkJCQkJIHVpbnQ2NF90IGxpbmtfc3RhdHVzKTsKPiAr dm9pZCBkcm1fY29ubmVjdG9yX3NldF9saW5rX3N0YXR1c19wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yLAo+ICsJCQkJCSAgICB1aW50NjRfdCBsaW5rX3N0YXR1cyk7Cj4g IGludCBkcm1fY29ubmVjdG9yX2luaXRfcGFuZWxfb3JpZW50YXRpb25fcHJvcGVydHkoCj4gIAlz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLCBpbnQgd2lkdGgsIGludCBoZWlnaHQpOwo+ ICAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVzLmggYi9pbmNsdWRlL2RybS9k cm1fbW9kZXMuaAo+IGluZGV4IGIxNTlmZTA3ZmNmOS4uYmFkZWQ2NTE0NDU2IDEwMDY0NAo+IC0t LSBhL2luY2x1ZGUvZHJtL2RybV9tb2Rlcy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVz LmgKPiBAQCAtNTMwLDcgKzUzMCw3IEBAIGRybV9tb2RlX3ZhbGlkYXRlX3ljYmNyNDIwKGNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ICB2b2lkIGRybV9tb2RlX3BydW5lX2lu dmFsaWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQkJICAgIHN0cnVjdCBsaXN0X2hlYWQg Km1vZGVfbGlzdCwgYm9vbCB2ZXJib3NlKTsKPiAgdm9pZCBkcm1fbW9kZV9zb3J0KHN0cnVjdCBs aXN0X2hlYWQgKm1vZGVfbGlzdCk7Cj4gLXZvaWQgZHJtX21vZGVfY29ubmVjdG9yX2xpc3RfdXBk YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpOwo+ICt2b2lkIGRybV9jb25uZWN0 b3JfbGlzdF91cGRhdGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4gIAo+ICAv KiBwYXJzaW5nIGNtZGxpbmUgbW9kZXMgKi8KPiAgYm9vbAo+IC0tIAo+IDIuMTguMAo+IAo+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVs IG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAoKLS0gClNl YW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2dsZSAvIENocm9taXVtIE9TCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=