From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH] drm: bridge: Constify mode arguments to bridge .mode_set() operation Date: Mon, 09 Apr 2018 11:56:55 +0300 Message-ID: <2661865.jK5cFVcfEB@avalon> References: <20180406162357.7666-1-laurent.pinchart+renesas@ideasonboard.com> <20180409085307.GS31310@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [185.26.127.97]) by gabe.freedesktop.org (Postfix) with ESMTPS id B640E6E0A4 for ; Mon, 9 Apr 2018 08:56:54 +0000 (UTC) In-Reply-To: <20180409085307.GS31310@phenom.ffwll.local> 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: Laurent Pinchart , Seung-Woo Kim , Philippe Cornu , dri-devel@lists.freedesktop.org, Yannick Fertre , Kyungmin Park , Vincent Abriou List-Id: dri-devel@lists.freedesktop.org T24gTW9uZGF5LCA5IEFwcmlsIDIwMTggMTE6NTM6MDcgRUVTVCBEYW5pZWwgVmV0dGVyIHdyb3Rl Ogo+IE9uIEZyaSwgQXByIDA2LCAyMDE4IGF0IDA3OjIzOjU3UE0gKzAzMDAsIExhdXJlbnQgUGlu Y2hhcnQgd3JvdGU6Cj4gPiBUaGUgbW9kZSBhbmQgYWp1c3RlZF9tb2RlIHBhc3NlZCB0byB0aGUg YnJpZGdlIC5tb2RlX3NldCgpIG9wZXJhdGlvbgo+ID4gc2hvdWxkIG5ldmVyIGJlIG1vZGlmaWVk IGJ5IHRoZSBicmlkZ2UgKGFuZCBhcmUgbm90IGluIGFueSBvZiB0aGUKPiA+IGV4aXN0aW5nIGJy aWRnZSBkcml2ZXJzKS4gTWFrZSB0aGVtIGNvbnN0IHRvIG1ha2UgdGhpcyBjbGVhci4KPiA+IAo+ ID4gU2lnbmVkLW9mZi1ieTogTGF1cmVudCBQaW5jaGFydAo+ID4gPGxhdXJlbnQucGluY2hhcnQr cmVuZXNhc0BpZGVhc29uYm9hcmQuY29tPgo+IAo+IFdoeSBzaG91bGQgdGhlIGFkanVzdGVkX21v ZGUgbm90IGJlIG1vZGlmaWVkPwoKV2h5IHNob3VsZCBpdCA/IC5tb2RlX3NldCgpIHBlcmZvcm1z IGEgbW9kZSBzZXQsIG1vZGUgYWRqdXN0bWVudCBzaG91bGQgYmUgCnBlcmZvcm1lZCBpbiAubW9k ZV9maXh1cCgpLgoKPiAKPiA+IC0tLQo+ID4gCj4gPiAgZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9h ZHY3NTExL2Fkdjc1MTEuaCAgICAgICAgICAgfCAgNCArKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJt L2JyaWRnZS9hZHY3NTExL2Fkdjc1MTFfZHJ2LmMgICAgICAgfCAgOCArKysrLS0tLQo+ID4gIGRy aXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTMzLmMgICAgICAgICAgIHwgIDIgKy0K PiA+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc4eHguYyAgICAgICAgICB8 ICA0ICsrLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2Rw X2NvcmUuYyB8ICA0ICsrLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYyAg ICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5 bm9wc3lzL2R3LWhkbWkuYyAgICAgICAgICB8ICA0ICsrLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0v YnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMgICAgICB8IDE2ICsrKysrKysrLS0tLS0tLS0K PiA+ICBkcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3RjMzU4NzY3LmMgICAgICAgICAgICAgICAgICB8 ICA5ICsrKysrLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fYnJpZGdlLmMgICAgICAgICAg ICAgICAgICAgICAgIHwgIDQgKystLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9taWMuYyAgICAgICAgICAgIHwgIDQgKystLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfaGRtaS5jICAgICAgICAgICAgICAgIHwgIDQgKystLQo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9tc20vZHNpL2RzaS5oICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiA+ICBkcml2 ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9zdC5jICAgICAgICAgICAgICAgICB8ICAyICstCj4g PiAgZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYyAgICAgICAgICAgICAgfCAg NCArKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL21zbS9lZHAvZWRwX2JyaWRnZS5jICAgICAgICAg ICAgICAgfCAgNCArKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWlfYnJpZGdl LmMgICAgICAgICAgICAgfCAgNCArKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNh cl9sdmRzLmMgICAgICAgICAgICAgICAgfCAgNCArKy0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3N0 aS9zdGlfZHZvLmMgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCj4gPiAgZHJpdmVycy9n cHUvZHJtL3N0aS9zdGlfaGRhLmMgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCj4gPiAg ZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jICAgICAgICAgICAgICAgICAgICAgfCAgNCAr Ky0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3N0bS9kd19taXBpX2RzaS1zdG0uYyAgICAgICAgICAg ICAgfCAgMiArLQo+ID4gIGluY2x1ZGUvZHJtL2JyaWRnZS9kd19taXBpX2RzaS5oICAgICAgICAg ICAgICAgICAgIHwgIDMgKystCj4gPiAgaW5jbHVkZS9kcm0vZHJtX2JyaWRnZS5oICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQo+ID4gIDI0IGZpbGVzIGNoYW5nZWQsIDU3 IGluc2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBQaGlsaXBwZSwKPiA+IAo+ ID4gSSB3cm90ZSB0aGlzIHBhdGNoIHdoaWxlIHJldmlld2luZyB5b3VyIGFkanVzdGVkX21vZGUg ZG9jdW1lbnRhdGlvbi4gSQo+ID4gaW5pdGlhbGx5IHdhbnRlZCB0byBkb2N1bWVudCB0aGUgZmFj dCB0aGF0IHRoZSBhZGp1c3RlZF9tb2RlIGFyZ3VtZW50IHRvCj4gPiB0aGUgYnJpZGdlIC5tb2Rl X3NldCgpIG9wZXJhdGlvbiBzaG91bGQgbm90IGJlIG1vZGlmaWVkIGJ5IHRoZSBicmlkZ2UsCj4g PiBhbmQgdGhlbiByZWFsaXplZCB0aGF0IGNvbnN0aWZ5aW5nIGl0IHdvdWxkIGJlIGEgYmV0dGVy IHdheSB0byBleHByZXNzCj4gPiB0aGF0LiBJIHRodXMgd291bGRuJ3QgbWluZCBpZiB5b3UgdG9v ayB0aGF0IHBhdGNoIGluIHlvdXIgdHJlZSBhbmQKPiA+IHB1c2hlZCBpdCB3aXRoIHRoZSBkb2N1 bWVudGF0aW9uIHBhdGNoIG9uY2Ugd2UgZ2V0IHRoZSBuZWNlc3NhcnkgYWNrcwo+ID4gCj4gPiA6 LSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9h ZHY3NTExLmgKPiA+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MTEuaCBp bmRleAo+ID4gZDAzNGIyY2I1ZWVlLi5mNjBkMjlkZWZkMTggMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMS5oCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMS5oCj4gPiBAQCAtMzg5LDcgKzM4OSw3IEBAIHN0 YXRpYyBpbmxpbmUgaW50IGFkdjc1MTFfY2VjX2luaXQoc3RydWN0IGRldmljZSAqZGV2LAo+ID4g c3RydWN0IGFkdjc1MTEgKmFkdjc1MTEpPiAKPiA+ICAjaWZkZWYgQ09ORklHX0RSTV9JMkNfQURW NzUzMwo+ID4gIHZvaWQgYWR2NzUzM19kc2lfcG93ZXJfb24oc3RydWN0IGFkdjc1MTEgKmFkdik7 Cj4gPiAgdm9pZCBhZHY3NTMzX2RzaV9wb3dlcl9vZmYoc3RydWN0IGFkdjc1MTEgKmFkdik7Cj4g PiAKPiA+IC12b2lkIGFkdjc1MzNfbW9kZV9zZXQoc3RydWN0IGFkdjc1MTEgKmFkdiwgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUKPiA+ICptb2RlKTsKPiA+ICt2b2lkIGFkdjc1MzNfbW9kZV9zZXQo c3RydWN0IGFkdjc1MTEgKmFkdiwgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUKPiA+ICpt b2RlKTs+IAo+ID4gIGludCBhZHY3NTMzX3BhdGNoX3JlZ2lzdGVycyhzdHJ1Y3QgYWR2NzUxMSAq YWR2KTsKPiA+ICBpbnQgYWR2NzUzM19wYXRjaF9jZWNfcmVnaXN0ZXJzKHN0cnVjdCBhZHY3NTEx ICphZHYpOwo+ID4gIGludCBhZHY3NTMzX2F0dGFjaF9kc2koc3RydWN0IGFkdjc1MTEgKmFkdik7 Cj4gPiAKPiA+IEBAIC00MDUsNyArNDA1LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGFkdjc1MzNf ZHNpX3Bvd2VyX29mZihzdHJ1Y3QKPiA+IGFkdjc1MTEgKmFkdik+IAo+ID4gIH0KPiA+ICAKPiA+ ICBzdGF0aWMgaW5saW5lIHZvaWQgYWR2NzUzM19tb2RlX3NldChzdHJ1Y3QgYWR2NzUxMSAqYWR2 LAo+ID4gCj4gPiAtCQkJCSAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+ICsJ CQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ID4gCj4gPiAgewo+ ID4gIH0KPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUx MS9hZHY3NTExX2Rydi5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3 NTExX2Rydi5jIGluZGV4Cj4gPiBlZmEyOWRiNWZjMmIuLjk5MDI4ZDM2ZWQ3NCAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUxMS9hZHY3NTExX2Rydi5jCj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUxMV9kcnYuYwo+ID4gQEAg LTY2NCw4ICs2NjQsOCBAQCBzdGF0aWMgaW50IGFkdjc1MTFfbW9kZV92YWxpZChzdHJ1Y3QgYWR2 NzUxMSAqYWR2NzUxMSwKPiA+IAo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBhZHY3NTEx X21vZGVfc2V0KHN0cnVjdCBhZHY3NTExICphZHY3NTExLAo+ID4gCj4gPiAtCQkJICAgICBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+IC0JCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICphZGpfbW9kZSkKPiA+ICsJCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlLAo+ID4gKwkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFk al9tb2RlKQo+ID4gCj4gPiAgewo+ID4gIAo+ID4gIAl1bnNpZ25lZCBpbnQgbG93X3JlZnJlc2hf cmF0ZTsKPiA+ICAJdW5zaWduZWQgaW50IGhzeW5jX3BvbGFyaXR5ID0gMDsKPiA+IAo+ID4gQEAg LTgyNyw4ICs4MjcsOCBAQCBzdGF0aWMgdm9pZCBhZHY3NTExX2JyaWRnZV9kaXNhYmxlKHN0cnVj dCBkcm1fYnJpZGdlCj4gPiAqYnJpZGdlKT4gCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lk IGFkdjc1MTFfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPiAK PiA+IC0JCQkJICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ID4gLQkJCQkgICAg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkal9tb2RlKQo+ID4gKwkJCQkgICAgY29uc3Qgc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPiArCQkJCSAgICBjb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqYWRqX21vZGUpCj4gPiAKPiA+ICB7Cj4gPiAgCj4gPiAgCXN0cnVjdCBh ZHY3NTExICphZHYgPSBicmlkZ2VfdG9fYWR2NzUxMShicmlkZ2UpOwo+ID4gCj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hZHY3NTExL2Fkdjc1MzMuYwo+ID4gYi9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL2Fkdjc1MTEvYWR2NzUzMy5jIGluZGV4Cj4gPiAxODViNmQ4NDIx NjYuLjVkNWU3ZDllZGVkMiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv YWR2NzUxMS9hZHY3NTMzLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYWR2NzUx MS9hZHY3NTMzLmMKPiA+IEBAIC0xMDgsNyArMTA4LDcgQEAgdm9pZCBhZHY3NTMzX2RzaV9wb3dl cl9vZmYoc3RydWN0IGFkdjc1MTEgKmFkdikKPiA+IAo+ID4gIAlyZWdtYXBfd3JpdGUoYWR2LT5y ZWdtYXBfY2VjLCAweDI3LCAweDBiKTsKPiA+ICAKPiA+ICB9Cj4gPiAKPiA+IC12b2lkIGFkdjc1 MzNfbW9kZV9zZXQoc3RydWN0IGFkdjc1MTEgKmFkdiwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUpCj4gPiArdm9pZCBhZHY3NTMzX21vZGVfc2V0KHN0cnVjdCBhZHY3NTExICphZHYsIGNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlCj4gPiAqbW9kZSk+IAo+ID4gIHsKPiA+ICAKPiA+ ICAJc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpID0gYWR2LT5kc2k7Cj4gPiAgCWludCBsYW5l cywgcmV0Owo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFs b2dpeC1hbng3OHh4LmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3 OHh4LmMgaW5kZXgKPiA+IGI0OTA0Mzg2NmJlNi4uMmE3ZDgwZGE3ZmI3IDEwMDY0NAo+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9hbmFsb2dpeC1hbng3OHh4LmMKPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCj4gPiBAQCAtMTA4Miw4ICsx MDgyLDggQEAgc3RhdGljIHZvaWQgYW54Nzh4eF9icmlkZ2VfZGlzYWJsZShzdHJ1Y3QgZHJtX2Jy aWRnZQo+ID4gKmJyaWRnZSk+IAo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBhbng3OHh4 X2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ID4gCj4gPiAtCQkJ CSAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+IC0JCQkJICAgIHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKQo+ID4gKwkJCQljb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ICsJCQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKmFkanVzdGVkX21vZGUpCj4gPiAKPiA+ICB7Cj4gPiAgCj4gPiAgCXN0cnVjdCBhbng3OHh4 ICphbng3OHh4ID0gYnJpZGdlX3RvX2FueDc4eHgoYnJpZGdlKTsKPiA+ICAJc3RydWN0IGhkbWlf YXZpX2luZm9mcmFtZSBmcmFtZTsKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCj4gPiBiL2RyaXZlcnMvZ3B1L2Ry bS9icmlkZ2UvYW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jIGluZGV4Cj4gPiA1YzUyMzA3MTQ2 YzcuLjYwOWRhMDI2ZTcxMyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv YW5hbG9naXgvYW5hbG9naXhfZHBfY29yZS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL2FuYWxvZ2l4L2FuYWxvZ2l4X2RwX2NvcmUuYwo+ID4gQEAgLTEyMDIsOCArMTIwMiw4IEBA IHN0YXRpYyB2b2lkIGFuYWxvZ2l4X2RwX2JyaWRnZV9kaXNhYmxlKHN0cnVjdAo+ID4gZHJtX2Jy aWRnZSAqYnJpZGdlKT4gCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGFuYWxvZ2l4X2Rw X2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ID4gCj4gPiAtCQkJ CQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqb3JpZ19tb2RlLAo+ID4gLQkJCQkJc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gPiArCQkJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICpvcmlnX21vZGUsCj4gPiArCQkJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlKQo+ID4gCj4gPiAgewo+ID4gIAo+ID4gIAlzdHJ1Y3QgYW5hbG9naXhfZHBfZGV2aWNlICpk cCA9IGJyaWRnZS0+ZHJpdmVyX3ByaXZhdGU7Cj4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9pbmZv ICpkaXNwbGF5X2luZm8gPSAmZHAtPmNvbm5lY3Rvci5kaXNwbGF5X2luZm87Cj4gPiAKPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwo+ID4gYi9kcml2ZXJz L2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYyBpbmRleCA2MDM3M2Q3ZWIyMjAuLjkzMjBmZjExMTZm Mwo+ID4gMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5MDJ4LmMKPiA+IEBAIC0yNTQsOCAr MjU0LDggQEAgc3RhdGljIHZvaWQgc2lpOTAyeF9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJp ZGdlCj4gPiAqYnJpZGdlKT4gCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIHNpaTkwMnhf YnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPiAKPiA+IC0JCQkJ ICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ID4gLQkJCQkgICAgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkaikKPiA+ICsJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlLAo+ID4gKwkJCQkgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KmFkaikKPiA+IAo+ID4gIHsKPiA+ICAKPiA+ICAJc3RydWN0IHNpaTkwMnggKnNpaTkwMnggPSBi cmlkZ2VfdG9fc2lpOTAyeChicmlkZ2UpOwo+ID4gIAlzdHJ1Y3QgcmVnbWFwICpyZWdtYXAgPSBz aWk5MDJ4LT5yZWdtYXA7Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9w c3lzL2R3LWhkbWkuYyBpbmRleAo+ID4gZWM4ZDAwMDZlZjdjLi40MGRjZjUxNzIxNDkgMTAwNjQ0 Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1oZG1pLmMKPiA+IEBAIC0x OTk4LDggKzE5OTgsOCBAQCBkd19oZG1pX2JyaWRnZV9tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2UsCj4gPiAKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgZHdfaGRtaV9i cmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiA+IAo+ID4gLQkJCQkg ICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm9yaWdfbW9kZSwKPiA+IC0JCQkJICAgIHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ID4gKwkJCQkgICAgY29uc3Qgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm9yaWdfbW9kZSwKPiA+ICsJCQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlKQo+ID4gCj4gPiAgewo+ID4gIAo+ID4gIAlzdHJ1Y3QgZHdfaGRtaSAq aGRtaSA9IGJyaWRnZS0+ZHJpdmVyX3ByaXZhdGU7Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMKPiA+IGIvZHJpdmVycy9n cHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1taXBpLWRzaS5jIGluZGV4Cj4gPiAyMjYxNzFhM2Vj ZTEuLjEzZGY3MGJjZmU5NCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uv c3lub3BzeXMvZHctbWlwaS1kc2kuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9z eW5vcHN5cy9kdy1taXBpLWRzaS5jCj4gPiBAQCAtMjQxLDcgKzI0MSw3IEBAIHN0cnVjdCBkd19t aXBpX2RzaSB7Cj4gPiAKPiA+ICAgKiBUaGUgY29udHJvbGxlciBzaG91bGQgZ2VuZXJhdGUgMiBm cmFtZXMgYmVmb3JlCj4gPiAgICogcHJlcGFyaW5nIHRoZSBwZXJpcGhlcmFsLgo+ID4gICAqLwo+ ID4gCj4gPiAtc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfd2FpdF9mb3JfdHdvX2ZyYW1lcyhzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZQo+ID4gKm1vZGUpCj4gPiArc3RhdGljIHZvaWQgZHdfbWlwaV9k c2lfd2FpdF9mb3JfdHdvX2ZyYW1lcyhjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZQo+ID4g Km1vZGUpPiAKPiA+ICB7Cj4gPiAgCj4gPiAgCWludCByZWZyZXNoLCB0d29fZnJhbWVzOwo+ID4g Cj4gPiBAQCAtNTM1LDcgKzUzNSw3IEBAIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2luaXQoc3Ry dWN0IGR3X21pcGlfZHNpICpkc2kpCj4gPiAKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQg ZHdfbWlwaV9kc2lfZHBpX2NvbmZpZyhzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSwKPiA+IAo+ID4g LQkJCQkgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+ICsJCQkJICAgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gPiAKPiA+ICB7Cj4gPiAgCj4gPiAgCXUz MiB2YWwgPSAwLCBjb2xvciA9IDA7Cj4gPiAKPiA+IEBAIC01NzgsNyArNTc4LDcgQEAgc3RhdGlj IHZvaWQgZHdfbWlwaV9kc2lfcGFja2V0X2hhbmRsZXJfY29uZmlnKHN0cnVjdAo+ID4gZHdfbWlw aV9kc2kgKmRzaSk+IAo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV92 aWRlb19wYWNrZXRfY29uZmlnKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpLAo+ID4gCj4gPiAtCQkJ CQkgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gPiArCQkJCQkgICAgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gPiAKPiA+ICB7Cj4gPiAgCj4gPiAgCS8q Cj4gPiAgCQo+ID4gIAkgKiBUT0RPIGR3IGRydiBpbXByb3ZlbWVudHMKPiA+IAo+ID4gQEAgLTYw OSw3ICs2MDksNyBAQCBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9jb21tYW5kX21vZGVfY29uZmln KHN0cnVjdAo+ID4gZHdfbWlwaV9kc2kgKmRzaSk+IAo+ID4gIC8qIEdldCBsYW5lIGJ5dGUgY2xv Y2sgY3ljbGVzLiAqLwo+ID4gIHN0YXRpYyB1MzIgZHdfbWlwaV9kc2lfZ2V0X2hjb21wb25lbnRf bGJjYyhzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSwKPiA+IAo+ID4gLQkJCQkJICAgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPiArCQkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSwKPiA+IAo+ID4gIAkJCQkJICAgdTMyIGhjb21wb25lbnQpCj4gPiAgCj4g PiAgewo+ID4gIAo+ID4gIAl1MzIgZnJhYywgbGJjYzsKPiA+IAo+ID4gQEAgLTYyNSw3ICs2MjUs NyBAQCBzdGF0aWMgdTMyIGR3X21pcGlfZHNpX2dldF9oY29tcG9uZW50X2xiY2Moc3RydWN0Cj4g PiBkd19taXBpX2RzaSAqZHNpLD4gCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGR3X21p cGlfZHNpX2xpbmVfdGltZXJfY29uZmlnKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpLAo+ID4gCj4g PiAtCQkJCQkgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ID4gKwkJCQkJICBjb25z dCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+IAo+ID4gIHsKPiA+ICAKPiA+ICAJ dTMyIGh0b3RhbCwgaHNhLCBoYnAsIGxiY2M7Cj4gPiAKPiA+IEBAIC02NDgsNyArNjQ4LDcgQEAg c3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfbGluZV90aW1lcl9jb25maWcoc3RydWN0Cj4gPiBkd19t aXBpX2RzaSAqZHNpLD4gCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNp X3ZlcnRpY2FsX3RpbWluZ19jb25maWcoc3RydWN0IGR3X21pcGlfZHNpICpkc2ksCj4gPiAKPiA+ IC0JCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKPiA+ICsJCQkJCWNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+ID4gCj4gPiAgewo+ID4gIAo+ID4g IAl1MzIgdmFjdGl2ZSwgdnNhLCB2ZnAsIHZicDsKPiA+IAo+ID4gQEAgLTc2NSw4ICs3NjUsOCBA QCBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9icmlkZ2VfcG9zdF9kaXNhYmxlKHN0cnVjdAo+ID4g ZHJtX2JyaWRnZSAqYnJpZGdlKT4gCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGR3X21p cGlfZHNpX2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ID4gCj4g PiAtCQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+IC0JCQkJCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKQo+ID4gKwkJCQljb25zdCBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ICsJCQkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKmFkanVzdGVkX21vZGUpCj4gPiAKPiA+ICB7Cj4gPiAgCj4gPiAgCXN0cnVjdCBkd19taXBp X2RzaSAqZHNpID0gYnJpZGdlX3RvX2RzaShicmlkZ2UpOwo+ID4gIAljb25zdCBzdHJ1Y3QgZHdf bWlwaV9kc2lfcGh5X29wcyAqcGh5X29wcyA9IGRzaS0+cGxhdF9kYXRhLT5waHlfb3BzOwo+ID4g Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS90YzM1ODc2Ny5jCj4gPiBi L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYyBpbmRleCAwOGFiN2Q2YWVhNjUuLjUz NWZjZDgzZjMxMwo+ID4gMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3Rj MzU4NzY3LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvdGMzNTg3NjcuYwo+ID4g QEAgLTIwMyw3ICsyMDMsNyBAQCBzdHJ1Y3QgdGNfZGF0YSB7Cj4gPiAKPiA+ICAJLyogZGlzcGxh eSBlZGlkICovCj4gPiAgCXN0cnVjdCBlZGlkCQkqZWRpZDsKPiA+ICAJLyogY3VycmVudCBtb2Rl ICovCj4gPiAKPiA+IC0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUJKm1vZGU7Cj4gPiArCWNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlCSptb2RlOwo+ID4gCj4gPiAgCXUzMgkJCXJldjsKPiA+ ICAJdTgJCQlhc3NyOwo+ID4gCj4gPiBAQCAtNjQ4LDcgKzY0OCw4IEBAIHN0YXRpYyBpbnQgdGNf Z2V0X2Rpc3BsYXlfcHJvcHMoc3RydWN0IHRjX2RhdGEgKnRjKQo+ID4gCj4gPiAgCXJldHVybiBy ZXQ7Cj4gPiAgCj4gPiAgfQo+ID4gCj4gPiAtc3RhdGljIGludCB0Y19zZXRfdmlkZW9fbW9kZShz dHJ1Y3QgdGNfZGF0YSAqdGMsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlCj4gPiAqbW9kZSkgK3N0 YXRpYyBpbnQgdGNfc2V0X3ZpZGVvX21vZGUoc3RydWN0IHRjX2RhdGEgKnRjLAo+ID4gKwkJCSAg ICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCj4gPiAKPiA+ICB7Cj4gPiAg Cj4gPiAgCWludCByZXQ7Cj4gPiAgCWludCB2aWRfc3luY19kbHk7Cj4gPiAKPiA+IEBAIC0xMTEz LDggKzExMTQsOCBAQCBzdGF0aWMgaW50IHRjX2Nvbm5lY3Rvcl9tb2RlX3ZhbGlkKHN0cnVjdAo+ ID4gZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLD4gCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2 b2lkIHRjX2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ID4gCj4g PiAtCQkJICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ID4gLQkJCSAgICAg ICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqKQo+ID4gKwkJCSAgICAgICBjb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+ICsJCQkgICAgICAgY29uc3Qgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKmFkaikKPiA+IAo+ID4gIHsKPiA+ICAKPiA+ICAJc3RydWN0IHRjX2Rh dGEgKnRjID0gYnJpZGdlX3RvX3RjKGJyaWRnZSk7Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9icmlkZ2UuYwo+ ID4gaW5kZXggMTYzOGJmZTk2MjdjLi5jMWRhZGIwYTVkMzYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vZHJtX2JyaWRnZS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Jy aWRnZS5jCj4gPiBAQCAtMjkwLDggKzI5MCw4IEBAIEVYUE9SVF9TWU1CT0woZHJtX2JyaWRnZV9w b3N0X2Rpc2FibGUpOwo+ID4gCj4gPiAgICogTm90ZTogdGhlIGJyaWRnZSBwYXNzZWQgc2hvdWxk IGJlIHRoZSBvbmUgY2xvc2VzdCB0byB0aGUgZW5jb2Rlcgo+ID4gICAqLwo+ID4gIAo+ID4gIHZv aWQgZHJtX2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ID4gCj4g PiAtCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPiAtCQkJc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCj4gPiArCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlLAo+ID4gKwkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq YWRqdXN0ZWRfbW9kZSkKPiA+IAo+ID4gIHsKPiA+ICAKPiA+ICAJaWYgKCFicmlkZ2UpCj4gPiAg CQo+ID4gIAkJcmV0dXJuOwo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfZHJtX21pYy5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9taWMuYyBpbmRleAo+ID4gMjE3NDgxNDI3M2UyLi41ZWUzZDlkOWNkNWQgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fbWljLmMKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9taWMuYwo+ID4gQEAgLTI0Niw4ICsy NDYsOCBAQCBzdGF0aWMgdm9pZCBtaWNfcG9zdF9kaXNhYmxlKHN0cnVjdCBkcm1fYnJpZGdlCj4g PiAqYnJpZGdlKQo+ID4gCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIG1pY19tb2RlX3Nl dChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ID4gCj4gPiAtCQkJc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUsCj4gPiAtCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVk X21vZGUpCj4gPiArCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ID4g KwkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKPiA+IAo+ ID4gIHsKPiA+ICAKPiA+ICAJc3RydWN0IGV4eW5vc19taWMgKm1pYyA9IGJyaWRnZS0+ZHJpdmVy X3ByaXZhdGU7Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2hkbWkuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyBpbmRl eCA1OWExMTAyNmRjZWIuLjAyMTI3ZGRmMzQwYgo+ID4gMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19oZG1pLmMKPiA+IEBAIC0xMzY0LDggKzEzNjQsOCBAQCBzdGF0aWMgdm9pZCBt dGtfaGRtaV9icmlkZ2VfcG9zdF9kaXNhYmxlKHN0cnVjdAo+ID4gZHJtX2JyaWRnZSAqYnJpZGdl KT4gCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIG10a19oZG1pX2JyaWRnZV9tb2RlX3Nl dChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ID4gCj4gPiAtCQkJCSAgICAgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPiAtCQkJCSAgICAgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKmFkanVzdGVkX21vZGUpCj4gPiArCQkJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlLAo+ID4gKwkJCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRf bW9kZSkKPiA+IAo+ID4gIHsKPiA+ICAKPiA+ICAJc3RydWN0IG10a19oZG1pICpoZG1pID0gaGRt aV9jdHhfZnJvbV9icmlkZ2UoYnJpZGdlKTsKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZHNpL2RzaS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmgKPiA+ IGluZGV4IDcwZDlhOWE0N2FjZC4uOTczMGU1YTZlMWE3IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kc2kvZHNpLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp L2RzaS5oCj4gPiBAQCAtMTY1LDcgKzE2NSw3IEBAIGludCBtc21fZHNpX2hvc3RfcG93ZXJfb24o c3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsCj4gPiAKPiA+ICAJCQlzdHJ1Y3QgbXNtX2RzaV9w aHlfc2hhcmVkX3RpbWluZ3MgKnBoeV9zaGFyZWRfdGltaW5ncyk7Cj4gPiAgCj4gPiAgaW50IG1z bV9kc2lfaG9zdF9wb3dlcl9vZmYoc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QpOwo+ID4gIGlu dCBtc21fZHNpX2hvc3Rfc2V0X2Rpc3BsYXlfbW9kZShzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9z dCwKPiA+IAo+ID4gLQkJCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwo+ID4gKwkJ CQkgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKTsKPiA+IAo+ID4gIHN0cnVj dCBkcm1fcGFuZWwgKm1zbV9kc2lfaG9zdF9nZXRfcGFuZWwoc3RydWN0IG1pcGlfZHNpX2hvc3Qg Kmhvc3QsCj4gPiAgCj4gPiAgCQkJCQl1bnNpZ25lZCBsb25nICpwYW5lbF9mbGFncyk7Cj4gPiAg Cj4gPiAgc3RydWN0IGRybV9icmlkZ2UgKm1zbV9kc2lfaG9zdF9nZXRfYnJpZGdlKHN0cnVjdCBt aXBpX2RzaV9ob3N0ICpob3N0KTsKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZHNpL2RzaV9ob3N0LmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX2hv c3QuYyBpbmRleCA3YTAzYTk0ODk3MDguLjljMmRkOTEzNDhhYwo+ID4gMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9zdC5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9kc2lfaG9zdC5jCj4gPiBAQCAtMjMyOSw3ICsyMzI5LDcgQEAgaW50IG1z bV9kc2lfaG9zdF9wb3dlcl9vZmYoc3RydWN0IG1pcGlfZHNpX2hvc3QKPiA+ICpob3N0KT4gCj4g PiAgfQo+ID4gIAo+ID4gIGludCBtc21fZHNpX2hvc3Rfc2V0X2Rpc3BsYXlfbW9kZShzdHJ1Y3Qg bWlwaV9kc2lfaG9zdCAqaG9zdCwKPiA+IAo+ID4gLQkJCQkJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKm1vZGUpCj4gPiArCQkJCSAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUp Cj4gPiAKPiA+ICB7Cj4gPiAgCj4gPiAgCXN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0ID0g dG9fbXNtX2RzaV9ob3N0KGhvc3QpOwo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9k c2lfbWFuYWdlci5jIGluZGV4IDRjYjFjYjY4ODc4Yi4uYjc0MmVmN2QwOWFiCj4gPiAxMDA2NDQK PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMKPiA+IEBAIC02MDMsOCArNjAz LDggQEAgc3RhdGljIHZvaWQgZHNpX21ncl9icmlkZ2VfcG9zdF9kaXNhYmxlKHN0cnVjdAo+ID4g ZHJtX2JyaWRnZSAqYnJpZGdlKT4gCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIGRzaV9t Z3JfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPiAKPiA+IC0J CXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ID4gLQkJc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmFkanVzdGVkX21vZGUpCj4gPiArCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSwKPiA+ICsJCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9t b2RlKQo+ID4gCj4gPiAgewo+ID4gIAo+ID4gIAlpbnQgaWQgPSBkc2lfbWdyX2JyaWRnZV9nZXRf aWQoYnJpZGdlKTsKPiA+ICAJc3RydWN0IG1zbV9kc2kgKm1zbV9kc2kgPSBkc2lfbWdyX2dldF9k c2koaWQpOwo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9lZHAvZWRw X2JyaWRnZS5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZWRwL2VkcF9icmlkZ2UuYyBpbmRl eCA5MzFhNWM5N2NjY2YuLjg2MzY2YmEwM2U2MAo+ID4gMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2VkcC9lZHBfYnJpZGdlLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZWRwL2VkcF9icmlkZ2UuYwo+ID4gQEAgLTUyLDggKzUyLDggQEAgc3RhdGljIHZvaWQgZWRw X2JyaWRnZV9wb3N0X2Rpc2FibGUoc3RydWN0IGRybV9icmlkZ2UKPiA+ICpicmlkZ2UpPiAKPiA+ ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgZWRwX2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJt X2JyaWRnZSAqYnJpZGdlLAo+ID4gCj4gPiAtCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSwKPiA+IC0JCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKQo+ID4gKwkJ Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPiArCQljb25zdCBzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKPiA+IAo+ID4gIHsKPiA+ICAKPiA+ICAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGJyaWRnZS0+ZGV2Owo+ID4gIAlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yOwo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21zbS9oZG1pL2hkbWlfYnJpZGdlLmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hk bWlfYnJpZGdlLmMgaW5kZXggN2UzNTcwNzdlZDI2Li41MGUwMGVjMTUzYmYKPiA+IDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWlfYnJpZGdlLmMKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX2JyaWRnZS5jCj4gPiBAQCAtMjA3LDggKzIw Nyw4IEBAIHN0YXRpYyB2b2lkIG1zbV9oZG1pX2JyaWRnZV9wb3N0X2Rpc2FibGUoc3RydWN0Cj4g PiBkcm1fYnJpZGdlICpicmlkZ2UpPiAKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgbXNt X2hkbWlfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPiAKPiA+ IC0JCSBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+IC0JCSBzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKPiA+ICsJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSwKPiA+ICsJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRq dXN0ZWRfbW9kZSkKPiA+IAo+ID4gIHsKPiA+ICAKPiA+ICAJc3RydWN0IGhkbWlfYnJpZGdlICpo ZG1pX2JyaWRnZSA9IHRvX2hkbWlfYnJpZGdlKGJyaWRnZSk7Cj4gPiAgCXN0cnVjdCBoZG1pICpo ZG1pID0gaGRtaV9icmlkZ2UtPmhkbWk7Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcmNhci1kdS9yY2FyX2x2ZHMuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9y Y2FyX2x2ZHMuYyBpbmRleCAzZDJkM2JiZDEzNDIuLjgwMmM1ZTg4NjdlNgo+ID4gMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2x2ZHMuYwo+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9sdmRzLmMKPiA+IEBAIC0zMTgsOCArMzE4LDggQEAg c3RhdGljIHZvaWQgcmNhcl9sdmRzX2dldF9sdmRzX21vZGUoc3RydWN0IHJjYXJfbHZkcwo+ID4g Kmx2ZHMpPiAKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgcmNhcl9sdmRzX21vZGVfc2V0 KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPiAKPiA+IC0JCQkgICAgICAgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPiAtCQkJICAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICphZGp1c3RlZF9tb2RlKQo+ID4gKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSwKPiA+ICsJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21v ZGUgKmFkanVzdGVkX21vZGUpCj4gPiAKPiA+ICB7Cj4gPiAgCj4gPiAgCXN0cnVjdCByY2FyX2x2 ZHMgKmx2ZHMgPSBicmlkZ2VfdG9fcmNhcl9sdmRzKGJyaWRnZSk7Cj4gPiAKPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkv c3RpX2R2by5jCj4gPiBpbmRleCBhNTk3OWNkMjVjYzcuLmI2YTcwYzYwNTEyNSAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2R2by5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vc3RpL3N0aV9kdm8uYwo+ID4gQEAgLTI3Nyw4ICsyNzcsOCBAQCBzdGF0aWMgdm9pZCBz dGlfZHZvX3ByZV9lbmFibGUoc3RydWN0IGRybV9icmlkZ2UKPiA+ICpicmlkZ2UpPiAKPiA+ICB9 Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgc3RpX2R2b19zZXRfbW9kZShzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlLAo+ID4gCj4gPiAtCQkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSwKPiA+IC0JCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKQo+ ID4gKwkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPiArCQkJ ICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKPiA+IAo+ ID4gIHsKPiA+ICAKPiA+ICAJc3RydWN0IHN0aV9kdm8gKmR2byA9IGJyaWRnZS0+ZHJpdmVyX3By aXZhdGU7Cj4gPiAgCXN0cnVjdCBzdGlfbWl4ZXIgKm1peGVyID0gdG9fc3RpX21peGVyKGR2by0+ ZW5jb2Rlci0+Y3J0Yyk7Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3Rp L3N0aV9oZGEuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkYS5jCj4gPiBpbmRleCA2N2Ji ZGI0OWZmZmMuLjllYzAxOTVkZjQ2YyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9z dGkvc3RpX2hkYS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZGEuYwo+ID4g QEAgLTUwOCw4ICs1MDgsOCBAQCBzdGF0aWMgdm9pZCBzdGlfaGRhX3ByZV9lbmFibGUoc3RydWN0 IGRybV9icmlkZ2UKPiA+ICpicmlkZ2UpPiAKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQg c3RpX2hkYV9zZXRfbW9kZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAo+ID4gCj4gPiAtCQlz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+IC0JCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICphZGp1c3RlZF9tb2RlKQo+ID4gKwkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUsCj4gPiArCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq YWRqdXN0ZWRfbW9kZSkKPiA+IAo+ID4gIHsKPiA+ICAKPiA+ICAJc3RydWN0IHN0aV9oZGEgKmhk YSA9IGJyaWRnZS0+ZHJpdmVyX3ByaXZhdGU7Cj4gPiAgCXUzMiBtb2RlX2lkeDsKPiA+IAo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwo+ID4gYi9kcml2ZXJz L2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMgaW5kZXggNThmNDMxMTAyNTEyLi4wODk1M2M1Mzk5ODAg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hkbWkuYwo+ID4gQEAgLTkxNyw4ICs5MTcsOCBAQCBz dGF0aWMgdm9pZCBzdGlfaGRtaV9wcmVfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlCj4gPiAqYnJp ZGdlKT4gCj4gPiAgfQo+ID4gIAo+ID4gIHN0YXRpYyB2b2lkIHN0aV9oZG1pX3NldF9tb2RlKHN0 cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCj4gPiAKPiA+IC0JCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlLAo+ID4gLQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUp Cj4gPiArCQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCj4gPiAr CQkJICAgICAgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCj4g PiAKPiA+ICB7Cj4gPiAgCj4gPiAgCXN0cnVjdCBzdGlfaGRtaSAqaGRtaSA9IGJyaWRnZS0+ZHJp dmVyX3ByaXZhdGU7Cj4gPiAgCWludCByZXQ7Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vc3RtL2R3X21pcGlfZHNpLXN0bS5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9zdG0v ZHdfbWlwaV9kc2ktc3RtLmMgaW5kZXggYTUxNGI1OTNmMzdjLi5hNjcyYjU5YTIyMjYKPiA+IDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0bS9kd19taXBpX2RzaS1zdG0uYwo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3N0bS9kd19taXBpX2RzaS1zdG0uYwo+ID4gQEAgLTIxNSw3 ICsyMTUsNyBAQCBzdGF0aWMgaW50IGR3X21pcGlfZHNpX3BoeV9pbml0KHZvaWQgKnByaXZfZGF0 YSkKPiA+IAo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgaW50Cj4gPiAKPiA+IC1kd19taXBpX2Rz aV9nZXRfbGFuZV9tYnBzKHZvaWQgKnByaXZfZGF0YSwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUg Km1vZGUsCj4gPiArZHdfbWlwaV9kc2lfZ2V0X2xhbmVfbWJwcyh2b2lkICpwcml2X2RhdGEsIGNv bnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlCj4gPiAqbW9kZSw+IAo+ID4gIAkJCSAgdW5zaWdu ZWQgbG9uZyBtb2RlX2ZsYWdzLCB1MzIgbGFuZXMsIHUzMiBmb3JtYXQsCj4gPiAgCQkJICB1bnNp Z25lZCBpbnQgKmxhbmVfbWJwcykKPiA+ICAKPiA+ICB7Cj4gPiAKPiA+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9icmlkZ2UvZHdfbWlwaV9kc2kuaAo+ID4gYi9pbmNsdWRlL2RybS9icmlkZ2Uv ZHdfbWlwaV9kc2kuaCBpbmRleCBkOWM2ZDU0OWY5NzEuLjNlN2JmMDMzYzFmMwo+ID4gMTAwNjQ0 Cj4gPiAtLS0gYS9pbmNsdWRlL2RybS9icmlkZ2UvZHdfbWlwaV9kc2kuaAo+ID4gKysrIGIvaW5j bHVkZS9kcm0vYnJpZGdlL2R3X21pcGlfZHNpLmgKPiA+IEBAIC0xNCw3ICsxNCw4IEBAIHN0cnVj dCBkd19taXBpX2RzaTsKPiA+IAo+ID4gIHN0cnVjdCBkd19taXBpX2RzaV9waHlfb3BzIHsKPiA+ ICAKPiA+ICAJaW50ICgqaW5pdCkodm9pZCAqcHJpdl9kYXRhKTsKPiA+IAo+ID4gLQlpbnQgKCpn ZXRfbGFuZV9tYnBzKSh2b2lkICpwcml2X2RhdGEsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlLAo+ID4gKwlpbnQgKCpnZXRfbGFuZV9tYnBzKSh2b2lkICpwcml2X2RhdGEsCj4gPiArCQkJ ICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+IAo+ID4gIAkJCSAg ICAgdW5zaWduZWQgbG9uZyBtb2RlX2ZsYWdzLCB1MzIgbGFuZXMsIHUzMiBmb3JtYXQsCj4gPiAg CQkJICAgICB1bnNpZ25lZCBpbnQgKmxhbmVfbWJwcyk7Cj4gPiAgCj4gPiAgfTsKPiA+IAo+ID4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9icmlkZ2UuaCBiL2luY2x1ZGUvZHJtL2RybV9i cmlkZ2UuaAo+ID4gaW5kZXggMzI3MGZlYzQ2OTc5Li42NjFjNTRjZDA2MmUgMTAwNjQ0Cj4gPiAt LS0gYS9pbmNsdWRlL2RybS9kcm1fYnJpZGdlLmgKPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9i cmlkZ2UuaAo+ID4gQEAgLTE4MCw4ICsxODAsOCBAQCBzdHJ1Y3QgZHJtX2JyaWRnZV9mdW5jcyB7 Cj4gPiAKPiA+ICAJICogY2FsbGVkLgo+ID4gIAkgKi8KPiA+ICAJCj4gPiAgCXZvaWQgKCptb2Rl X3NldCkoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiA+IAo+ID4gLQkJCSBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+IC0JCQkgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFk anVzdGVkX21vZGUpOwo+ID4gKwkJCSBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSwKPiA+ICsJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUp Owo+ID4gCj4gPiAgCS8qKgo+ID4gIAkKPiA+ICAJICogQHByZV9lbmFibGU6Cj4gPiAgCSAqCj4g PiAKPiA+IEBAIC0yOTIsOCArMjkyLDggQEAgZW51bSBkcm1fbW9kZV9zdGF0dXMgZHJtX2JyaWRn ZV9tb2RlX3ZhbGlkKHN0cnVjdAo+ID4gZHJtX2JyaWRnZSAqYnJpZGdlLD4gCj4gPiAgdm9pZCBk cm1fYnJpZGdlX2Rpc2FibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7Cj4gPiAgdm9pZCBk cm1fYnJpZGdlX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKTsKPiA+ICB2 b2lkIGRybV9icmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKPiA+IAo+ ID4gLQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ID4gLQkJCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKTsKPiA+ICsJCQkgY29uc3Qgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm1vZGUsCj4gPiArCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICphZGp1c3RlZF9tb2RlKTsKPiA+IAo+ID4gIHZvaWQgZHJtX2JyaWRnZV9wcmVfZW5hYmxlKHN0 cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpOwo+ID4gIHZvaWQgZHJtX2JyaWRnZV9lbmFibGUoc3Ry dWN0IGRybV9icmlkZ2UgKmJyaWRnZSk7CgoKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0 CgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=