From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [PATCH 01/53] drm/i915: Rename 'flags' to 'dispatch_flags' for better code reading Date: Fri, 06 Mar 2015 12:30:01 +0000 Message-ID: <54F99DC9.9050405@Intel.com> References: <1423828140-10653-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-2-git-send-email-John.C.Harrison@Intel.com> <54F85842.2000704@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 254416E846 for ; Fri, 6 Mar 2015 04:30:04 -0800 (PST) In-Reply-To: <54F85842.2000704@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tomas Elf , Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMDUvMDMvMjAxNSAxMzoyMSwgVG9tYXMgRWxmIHdyb3RlOgo+IE9uIDE5LzAyLzIwMTUgMTc6 MTcsIEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20gd3JvdGU6Cj4+IEZyb206IEpvaG4gSGFycmlz b24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Cj4+Cj4+IFRoZXJlIGlzIGEgZmxhZ3Mgd29y ZCB0aGF0IGlzIHBhc3NlZCB0aHJvdWdoIHRoZSBleGVjYnVmZmVyIGNvZGUgcGF0aCAKPj4gYWxs IHRoZQo+PiB3YXkgZnJvbSBpbml0aWFsIGRlY29kaW5nIG9mIHRoZSB1c2VyIHBhcmFtZXRlcnMg ZG93biB0byB0aGUgdmVyeSAKPj4gZmluYWwgZGlzcGF0Y2gKPj4gYnVmZmVyIGNhbGwuIEl0IGlz IHNpbXBseSBjYWxsZWQgJ2ZsYWdzJy4gVW5mb3J0dWFudGVseSwgdGhlcmUgYXJlIAo+PiBtYW55 IG90aGVyCj4+IGZsYWdzIHdvcmRzIGZsb2F0aW5nIGFyb3VuZCBpbiB0aGUgc2FtZSBibG9ja3Mg b2YgY29kZS4gRXZlbiBtb3JlIAo+PiBvbmNlIHRoZSBHUFUKPj4gc2NoZWR1bGVyIGFycml2ZXMu Cj4+Cj4+IFRoaXMgcGF0Y2ggbWFrZXMgaXQgbW9yZSBvYnZpb3VzIGV4YWN0bHkgd2hpY2ggZmxh Z3Mgd29yZCBpcyB3aGljaCBieSAKPj4gcmVuYW1pbmcKPj4gJ2ZsYWdzJyB0byAnZGlzcGF0Y2hf ZmxhZ3MnLiBOb3RlIHRoYXQgdGhlIGJpdCBkZWZpbml0aW9ucyBmb3IgdGhpcyAKPj4gZmxhZ3Mg d29yZAo+PiBhbHJlYWR5IGhhdmUgYW4gJ0k5MTVfRElTUEFUQ0hfJyBwcmVmaXggb24gdGhlbSBh bmQgc28gYXJlIG5vdCBxdWl0ZSBzbwo+PiBhbWJpZ3VvdXMuCj4+Cj4+IEZvcjogVklaLTE1ODcK Pj4gU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNv bT4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5j IHwgICAyNSArKysrKysrKysrLS0tLS0tLS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jICAgICAgICAgICB8ICAgMTAgKysrKy0tLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuaCAgICAgICAgICAgfCAgICAyICstCj4+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jICAgIHwgICAzNSAKPj4gKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCAg ICB8ICAgIDQgKystLQo+PiAgIDUgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMzUg ZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9leGVjYnVmZmVyLmMgCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhl Y2J1ZmZlci5jCj4+IGluZGV4IGI3NzMzNjguLmVjOWVhNDUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKPj4gQEAgLTExMzgsNyArMTEzOCw3IEBA IGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgCj4+IGRybV9kZXZpY2UgKmRl diwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+PiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyICphcmdzLAo+PiAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgbGlzdF9oZWFkICp2bWFzLAo+PiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hfb2JqLAo+PiAtICAgICAgICAgICAgICAgICAgIHU2NCBl eGVjX3N0YXJ0LCB1MzIgZmxhZ3MpCj4+ICsgICAgICAgICAgICAgICAgICAgdTY0IGV4ZWNfc3Rh cnQsIHUzMiBkaXNwYXRjaF9mbGFncykKPgo+IFlvdSBkaWRuJ3QgY2hhbmdlIHRoZSBwYXJhbWV0 ZXIgbmFtZSBpbiB0aGUgcHJvdG90eXBlIGRlY2xhcmF0aW9uIGluIAo+IGk5MTVfZHJ2LmggLgpC aXQgbGF0ZSBub3csIHRoaXMgcGF0Y2ggaGFzIGFscmVhZHkgYmVlbiBtZXJnZWQuIEFsc28sIGl0 IGlzbid0IHJlYWxseSAKd29ydGggZm9sbG93aW5nIHVwIHdpdGggYW4gZXh0cmEgZml4IHBhdGNo IGFzIHRob3NlIHBhcmFtZXRlcnMgZ2V0IApyZW1vdmVkIGluIGEgbGF0ZXIgcGF0Y2ggaW4gdGhp cyBzZXJpZXMgYW55d2F5IChhbGJlaXQgb25lIHRoYXQgaXMgYmVpbmcgCmRpc2N1c3NlZCBhcyBj b250ZW50aW91cykuCgo+Cj4gVGhhbmtzLAo+IFRvbWFzCj4KPj4gICB7Cj4+ICAgICAgIHN0cnVj dCBkcm1fY2xpcF9yZWN0ICpjbGlwcmVjdHMgPSBOVUxMOwo+PiAgICAgICBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiBAQCAtMTI2NiwxOSAr MTI2NiwxOSBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IAo+PiBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPj4KPj4gICAgICAgICAgICAgICBy ZXQgPSByaW5nLT5kaXNwYXRjaF9leGVjYnVmZmVyKHJpbmcsCj4+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGV4ZWNfc3RhcnQsIGV4ZWNfbGVuLAo+PiAtICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZsYWdzKTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwYXRj aF9mbGFncyk7Cj4+ICAgICAgICAgICAgICAgaWYgKHJldCkKPj4gICAgICAgICAgICAgICAgICAg Z290byBlcnJvcjsKPj4gICAgICAgICAgIH0KPj4gICAgICAgfSBlbHNlIHsKPj4gICAgICAgICAg IHJldCA9IHJpbmctPmRpc3BhdGNoX2V4ZWNidWZmZXIocmluZywKPj4gICAgICAgICAgICAgICAg ICAgICAgICAgICBleGVjX3N0YXJ0LCBleGVjX2xlbiwKPj4gLSAgICAgICAgICAgICAgICAgICAg ICAgIGZsYWdzKTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoX2ZsYWdzKTsK Pj4gICAgICAgICAgIGlmIChyZXQpCj4+ICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPj4gICAg ICAgfQo+Pgo+PiAtICAgIHRyYWNlX2k5MTVfZ2VtX3JpbmdfZGlzcGF0Y2goaW50ZWxfcmluZ19n ZXRfcmVxdWVzdChyaW5nKSwgZmxhZ3MpOwo+PiArICAgIHRyYWNlX2k5MTVfZ2VtX3JpbmdfZGlz cGF0Y2goaW50ZWxfcmluZ19nZXRfcmVxdWVzdChyaW5nKSwgCj4+IGRpc3BhdGNoX2ZsYWdzKTsK Pj4KPj4gICAgICAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2FjdGl2ZSh2bWFzLCByaW5n KTsKPj4gICAgICAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXRpcmVfY29tbWFuZHMoZGV2LCBmaWxl LCByaW5nLCBiYXRjaF9vYmopOwo+PiBAQCAtMTM1Myw3ICsxMzUzLDcgQEAgaTkxNV9nZW1fZG9f ZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCAKPj4gdm9pZCAqZGF0YSwKPj4gICAg ICAgc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm07Cj4+ICAgICAgIGNvbnN0IHUzMiBjdHhf aWQgPSBpOTE1X2V4ZWNidWZmZXIyX2dldF9jb250ZXh0X2lkKCphcmdzKTsKPj4gICAgICAgdTY0 IGV4ZWNfc3RhcnQgPSBhcmdzLT5iYXRjaF9zdGFydF9vZmZzZXQ7Cj4+IC0gICAgdTMyIGZsYWdz Owo+PiArICAgIHUzMiBkaXNwYXRjaF9mbGFnczsKPj4gICAgICAgaW50IHJldDsKPj4gICAgICAg Ym9vbCBuZWVkX3JlbG9jczsKPj4KPj4gQEAgLTEzNjQsMTUgKzEzNjQsMTUgQEAgaTkxNV9nZW1f ZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAKPj4gKmRldiwgdm9pZCAqZGF0YSwKPj4g ICAgICAgaWYgKHJldCkKPj4gICAgICAgICAgIHJldHVybiByZXQ7Cj4+Cj4+IC0gICAgZmxhZ3Mg PSAwOwo+PiArICAgIGRpc3BhdGNoX2ZsYWdzID0gMDsKPj4gICAgICAgaWYgKGFyZ3MtPmZsYWdz ICYgSTkxNV9FWEVDX1NFQ1VSRSkgewo+PiAgICAgICAgICAgaWYgKCFmaWxlLT5pc19tYXN0ZXIg fHwgIWNhcGFibGUoQ0FQX1NZU19BRE1JTikpCj4+ICAgICAgICAgICAgICAgcmV0dXJuIC1FUEVS TTsKPj4KPj4gLSAgICAgICAgZmxhZ3MgfD0gSTkxNV9ESVNQQVRDSF9TRUNVUkU7Cj4+ICsgICAg ICAgIGRpc3BhdGNoX2ZsYWdzIHw9IEk5MTVfRElTUEFUQ0hfU0VDVVJFOwo+PiAgICAgICB9Cj4+ ICAgICAgIGlmIChhcmdzLT5mbGFncyAmIEk5MTVfRVhFQ19JU19QSU5ORUQpCj4+IC0gICAgICAg IGZsYWdzIHw9IEk5MTVfRElTUEFUQ0hfUElOTkVEOwo+PiArICAgICAgICBkaXNwYXRjaF9mbGFn cyB8PSBJOTE1X0RJU1BBVENIX1BJTk5FRDsKPj4KPj4gICAgICAgaWYgKChhcmdzLT5mbGFncyAm IEk5MTVfRVhFQ19SSU5HX01BU0spID4gTEFTVF9VU0VSX1JJTkcpIHsKPj4gICAgICAgICAgIERS TV9ERUJVRygiZXhlY2J1ZiB3aXRoIHVua25vd24gcmluZzogJWRcbiIsCj4+IEBAIC0xNDk1LDcg KzE0OTUsNyBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IAo+PiB2b2lkICpkYXRhLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3Mt PmJhdGNoX3N0YXJ0X29mZnNldCwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh cmdzLT5iYXRjaF9sZW4sCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS0+ aXNfbWFzdGVyLAo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmZsYWdzKTsKPj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkaXNwYXRjaF9mbGFncyk7Cj4+ICAgICAg ICAgICBpZiAoSVNfRVJSKGJhdGNoX29iaikpIHsKPj4gICAgICAgICAgICAgICByZXQgPSBQVFJf RVJSKGJhdGNoX29iaik7Cj4+ICAgICAgICAgICAgICAgZ290byBlcnI7Cj4+IEBAIC0xNTA3LDcg KzE1MDcsNyBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IAo+PiB2b2lkICpkYXRhLAo+PiAgICAgICAvKiBzbmIvaXZiL3ZsdiBjb25mbGF0ZSB0aGUgImJh dGNoIGluIHBwZ3R0IiBiaXQgd2l0aCB0aGUgCj4+ICJub24tc2VjdXJlCj4+ICAgICAgICAqIGJh dGNoIiBiaXQuIEhlbmNlIHdlIG5lZWQgdG8gcGluIHNlY3VyZSBiYXRjaGVzIGludG8gdGhlIAo+ PiBnbG9iYWwgZ3R0Lgo+PiAgICAgICAgKiBoc3cgc2hvdWxkIGhhdmUgdGhpcyBmaXhlZCwgYnV0 IGJkdyBtdWNrcyBpdCB1cCBhZ2Fpbi4gKi8KPj4gLSAgICBpZiAoZmxhZ3MgJiBJOTE1X0RJU1BB VENIX1NFQ1VSRSkgewo+PiArICAgIGlmIChkaXNwYXRjaF9mbGFncyAmIEk5MTVfRElTUEFUQ0hf U0VDVVJFKSB7Cj4+ICAgICAgICAgICAvKgo+PiAgICAgICAgICAgICogU28gb24gZmlyc3QgZ2xh bmNlIGl0IGxvb2tzIGZyZWFreSB0aGF0IHdlIHBpbiB0aGUgYmF0Y2ggCj4+IGhlcmUKPj4gICAg ICAgICAgICAqIG91dHNpZGUgb2YgdGhlIHJlc2VydmF0aW9uIGxvb3AuIEJ1dDoKPj4gQEAgLTE1 MjcsNyArMTUyNyw4IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgCj4+IHZvaWQgKmRhdGEsCj4+ICAgICAgICAgICBleGVjX3N0YXJ0ICs9IGk5MTVfZ2Vt X29ial9vZmZzZXQoYmF0Y2hfb2JqLCB2bSk7Cj4+Cj4+ICAgICAgIHJldCA9IGRldl9wcml2LT5n dC5kb19leGVjYnVmKGRldiwgZmlsZSwgcmluZywgY3R4LCBhcmdzLAo+PiAtICAgICAgICAgICAg ICAgICAgICAgICZlYi0+dm1hcywgYmF0Y2hfb2JqLCBleGVjX3N0YXJ0LCBmbGFncyk7Cj4+ICsg ICAgICAgICAgICAgICAgICAgICAgJmViLT52bWFzLCBiYXRjaF9vYmosIGV4ZWNfc3RhcnQsCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hfZmxhZ3MpOwo+Pgo+PiAgICAgICAvKgo+ PiAgICAgICAgKiBGSVhNRTogV2UgY3J1Y2lhbGx5IHJlbHkgdXBvbiB0aGUgYWN0aXZlIHRyYWNr aW5nIGZvciB0aGUgCj4+IChwcGd0dCkKPj4gQEAgLTE1MzUsNyArMTUzNiw3IEBAIGk5MTVfZ2Vt X2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgCj4+IHZvaWQgKmRhdGEsCj4+ ICAgICAgICAqIG5lZWRzIHRvIGJlIGFkanVzdGVkIHRvIGFsc28gdHJhY2sgdGhlIGdndHQgYmF0 Y2ggdm1hIAo+PiBwcm9wZXJseSBhcwo+PiAgICAgICAgKiBhY3RpdmUuCj4+ICAgICAgICAqLwo+ PiAtICAgIGlmIChmbGFncyAmIEk5MTVfRElTUEFUQ0hfU0VDVVJFKQo+PiArICAgIGlmIChkaXNw YXRjaF9mbGFncyAmIEk5MTVfRElTUEFUQ0hfU0VDVVJFKQo+PiAgICAgICAgICAgaTkxNV9nZW1f b2JqZWN0X2dndHRfdW5waW4oYmF0Y2hfb2JqKTsKPj4gICBlcnI6Cj4+ICAgICAgIC8qIHRoZSBy ZXF1ZXN0IG93bnMgdGhlIHJlZiBub3cgKi8KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j Cj4+IGluZGV4IGFhZmNlZjMuLmYzMGE4ZTMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jCj4+IEBAIC02MjAsNyArNjIwLDcgQEAgc3RhdGljIGludCBleGVjbGlzdHNfbW92ZV90b19n cHUoc3RydWN0IAo+PiBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmLAo+PiAgICAqIEB2bWFzOiBs aXN0IG9mIHZtYXMuCj4+ICAgICogQGJhdGNoX29iajogdGhlIGJhdGNoYnVmZmVyIHRvIHN1Ym1p dC4KPj4gICAgKiBAZXhlY19zdGFydDogYmF0Y2hidWZmZXIgc3RhcnQgdmlydHVhbCBhZGRyZXNz IHBvaW50ZXIuCj4+IC0gKiBAZmxhZ3M6IHRyYW5zbGF0ZWQgZXhlY2J1ZmZlciBjYWxsIGZsYWdz Lgo+PiArICogQGRpc3BhdGNoX2ZsYWdzOiB0cmFuc2xhdGVkIGV4ZWNidWZmZXIgY2FsbCBmbGFn cy4KPj4gICAgKgo+PiAgICAqIFRoaXMgaXMgdGhlIGV2aWwgdHdpbiB2ZXJzaW9uIG9mIGk5MTVf Z2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbi4gCj4+IEl0IGFic3RyYWN0cwo+PiAgICAqIGF3YXkg dGhlIHN1Ym1pc3Npb24gZGV0YWlscyBvZiB0aGUgZXhlY2J1ZmZlciBpb2N0bCBjYWxsLgo+PiBA QCAtNjMzLDcgKzYzMyw3IEBAIGludCBpbnRlbF9leGVjbGlzdHNfc3VibWlzc2lvbihzdHJ1Y3Qg ZHJtX2RldmljZSAKPj4gKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAo+PiAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyICphcmdzLAo+PiAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzLAo+PiAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hfb2JqLAo+PiAtICAgICAg ICAgICAgICAgICAgIHU2NCBleGVjX3N0YXJ0LCB1MzIgZmxhZ3MpCj4+ICsgICAgICAgICAgICAg ICAgICAgdTY0IGV4ZWNfc3RhcnQsIHUzMiBkaXNwYXRjaF9mbGFncykKPj4gICB7Cj4+ICAgICAg IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ ICAgICAgIHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0gY3R4LT5lbmdpbmVbcmlu Zy0+aWRdLnJpbmdidWY7Cj4+IEBAIC03MDYsNyArNzA2LDcgQEAgaW50IGludGVsX2V4ZWNsaXN0 c19zdWJtaXNzaW9uKHN0cnVjdCBkcm1fZGV2aWNlIAo+PiAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGUsCj4+ICAgICAgICAgICBkZXZfcHJpdi0+cmVsYXRpdmVfY29uc3RhbnRzX21vZGUgPSBp bnN0cF9tb2RlOwo+PiAgICAgICB9Cj4+Cj4+IC0gICAgcmV0ID0gcmluZy0+ZW1pdF9iYl9zdGFy dChyaW5nYnVmLCBjdHgsIGV4ZWNfc3RhcnQsIGZsYWdzKTsKPj4gKyAgICByZXQgPSByaW5nLT5l bWl0X2JiX3N0YXJ0KHJpbmdidWYsIGN0eCwgZXhlY19zdGFydCwgCj4+IGRpc3BhdGNoX2ZsYWdz KTsKPj4gICAgICAgaWYgKHJldCkKPj4gICAgICAgICAgIHJldHVybiByZXQ7Cj4+Cj4+IEBAIC0x MTYzLDkgKzExNjMsOSBAQCBzdGF0aWMgaW50IGdlbjlfaW5pdF9yZW5kZXJfcmluZyhzdHJ1Y3Qg Cj4+IGludGVsX2VuZ2luZV9jcyAqcmluZykKPj4KPj4gICBzdGF0aWMgaW50IGdlbjhfZW1pdF9i Yl9zdGFydChzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiwKPj4gICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAo+PiAtICAgICAgICAgICAgICAgICAg dTY0IG9mZnNldCwgdW5zaWduZWQgZmxhZ3MpCj4+ICsgICAgICAgICAgICAgICAgICB1NjQgb2Zm c2V0LCB1bnNpZ25lZCBkaXNwYXRjaF9mbGFncykKPj4gICB7Cj4+IC0gICAgYm9vbCBwcGd0dCA9 ICEoZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1NFQ1VSRSk7Cj4+ICsgICAgYm9vbCBwcGd0dCA9ICEo ZGlzcGF0Y2hfZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1NFQ1VSRSk7Cj4+ICAgICAgIGludCByZXQ7 Cj4+Cj4+ICAgICAgIHJldCA9IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihyaW5nYnVmLCBjdHgs IDQpOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggCj4+ IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKPj4gaW5kZXggZjYzNTczNS4uYjY2 ZmM0ZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKPj4gQEAgLTgyLDcgKzgyLDcg QEAgaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVjdCBkcm1fZGV2aWNlIAo+PiAq ZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4+ICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3MsCj4+ICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMsCj4+ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpiYXRjaF9vYmosCj4+IC0gICAgICAgICAgICAgICAgICAgdTY0 IGV4ZWNfc3RhcnQsIHUzMiBmbGFncyk7Cj4+ICsgICAgICAgICAgICAgICAgICAgdTY0IGV4ZWNf c3RhcnQsIHUzMiBkaXNwYXRjaF9mbGFncyk7Cj4+ICAgdTMyIGludGVsX2V4ZWNsaXN0c19jdHhf aWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmopOwo+Pgo+PiAgIHZvaWQgaW50 ZWxfbHJjX2lycV9oYW5kbGVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIAo+PiBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwo+PiBpbmRleCBkMTdlNzZkLi5j YTdkZTNkIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4+ IEBAIC0xNjkwLDcgKzE2OTAsNyBAQCBnZW44X3JpbmdfcHV0X2lycShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nKQo+PiAgIHN0YXRpYyBpbnQKPj4gICBpOTY1X2Rpc3BhdGNoX2V4ZWNidWZm ZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPj4gICAgICAgICAgICAgICAgdTY0IG9m ZnNldCwgdTMyIGxlbmd0aCwKPj4gLSAgICAgICAgICAgICB1bnNpZ25lZCBmbGFncykKPj4gKyAg ICAgICAgICAgICB1bnNpZ25lZCBkaXNwYXRjaF9mbGFncykKPj4gICB7Cj4+ICAgICAgIGludCBy ZXQ7Cj4+Cj4+IEBAIC0xNzAxLDcgKzE3MDEsOCBAQCBpOTY1X2Rpc3BhdGNoX2V4ZWNidWZmZXIo c3RydWN0IGludGVsX2VuZ2luZV9jcyAKPj4gKnJpbmcsCj4+ICAgICAgIGludGVsX3JpbmdfZW1p dChyaW5nLAo+PiAgICAgICAgICAgICAgIE1JX0JBVENIX0JVRkZFUl9TVEFSVCB8Cj4+ICAgICAg ICAgICAgICAgTUlfQkFUQ0hfR1RUIHwKPj4gLSAgICAgICAgICAgIChmbGFncyAmIEk5MTVfRElT UEFUQ0hfU0VDVVJFID8gMCA6IAo+PiBNSV9CQVRDSF9OT05fU0VDVVJFX0k5NjUpKTsKPj4gKyAg ICAgICAgICAgIChkaXNwYXRjaF9mbGFncyAmIEk5MTVfRElTUEFUQ0hfU0VDVVJFID8KPj4gKyAg ICAgICAgICAgICAwIDogTUlfQkFUQ0hfTk9OX1NFQ1VSRV9JOTY1KSk7Cj4+ICAgICAgIGludGVs X3JpbmdfZW1pdChyaW5nLCBvZmZzZXQpOwo+PiAgICAgICBpbnRlbF9yaW5nX2FkdmFuY2Uocmlu Zyk7Cj4+Cj4+IEBAIC0xNzE0LDggKzE3MTUsOCBAQCBpOTY1X2Rpc3BhdGNoX2V4ZWNidWZmZXIo c3RydWN0IGludGVsX2VuZ2luZV9jcyAKPj4gKnJpbmcsCj4+ICAgI2RlZmluZSBJODMwX1dBX1NJ WkUgbWF4KEk4MzBfVExCX0VOVFJJRVMqNDA5NiwgSTgzMF9CQVRDSF9MSU1JVCkKPj4gICBzdGF0 aWMgaW50Cj4+ICAgaTgzMF9kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsCj4+IC0gICAgICAgICAgICAgICAgdTY0IG9mZnNldCwgdTMyIGxlbiwKPj4gLSAg ICAgICAgICAgICAgICB1bnNpZ25lZCBmbGFncykKPj4gKyAgICAgICAgICAgICB1NjQgb2Zmc2V0 LCB1MzIgbGVuLAo+PiArICAgICAgICAgICAgIHVuc2lnbmVkIGRpc3BhdGNoX2ZsYWdzKQo+PiAg IHsKPj4gICAgICAgdTMyIGNzX29mZnNldCA9IHJpbmctPnNjcmF0Y2guZ3R0X29mZnNldDsKPj4g ICAgICAgaW50IHJldDsKPj4gQEAgLTE3MzMsNyArMTczNCw3IEBAIGk4MzBfZGlzcGF0Y2hfZXhl Y2J1ZmZlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIAo+PiAqcmluZywKPj4gICAgICAgaW50ZWxf cmluZ19lbWl0KHJpbmcsIE1JX05PT1ApOwo+PiAgICAgICBpbnRlbF9yaW5nX2FkdmFuY2Uocmlu Zyk7Cj4+Cj4+IC0gICAgaWYgKChmbGFncyAmIEk5MTVfRElTUEFUQ0hfUElOTkVEKSA9PSAwKSB7 Cj4+ICsgICAgaWYgKChkaXNwYXRjaF9mbGFncyAmIEk5MTVfRElTUEFUQ0hfUElOTkVEKSA9PSAw KSB7Cj4+ICAgICAgICAgICBpZiAobGVuID4gSTgzMF9CQVRDSF9MSU1JVCkKPj4gICAgICAgICAg ICAgICByZXR1cm4gLUVOT1NQQzsKPj4KPj4gQEAgLTE3NjUsNyArMTc2Niw4IEBAIGk4MzBfZGlz cGF0Y2hfZXhlY2J1ZmZlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIAo+PiAqcmluZywKPj4gICAg ICAgICAgIHJldHVybiByZXQ7Cj4+Cj4+ICAgICAgIGludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9C QVRDSF9CVUZGRVIpOwo+PiAtICAgIGludGVsX3JpbmdfZW1pdChyaW5nLCBvZmZzZXQgfCAoZmxh Z3MgJiBJOTE1X0RJU1BBVENIX1NFQ1VSRSA/IDAgCj4+IDogTUlfQkFUQ0hfTk9OX1NFQ1VSRSkp Owo+PiArICAgIGludGVsX3JpbmdfZW1pdChyaW5nLCBvZmZzZXQgfCAoZGlzcGF0Y2hfZmxhZ3Mg JiAKPj4gSTkxNV9ESVNQQVRDSF9TRUNVUkUgPwo+PiArICAgICAgICAgICAgICAgICAgICAwIDog TUlfQkFUQ0hfTk9OX1NFQ1VSRSkpOwo+PiAgICAgICBpbnRlbF9yaW5nX2VtaXQocmluZywgb2Zm c2V0ICsgbGVuIC0gOCk7Cj4+ICAgICAgIGludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9OT09QKTsK Pj4gICAgICAgaW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOwo+PiBAQCAtMTc3Niw3ICsxNzc4LDcg QEAgaTgzMF9kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgCj4+ICpy aW5nLAo+PiAgIHN0YXRpYyBpbnQKPj4gICBpOTE1X2Rpc3BhdGNoX2V4ZWNidWZmZXIoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqcmluZywKPj4gICAgICAgICAgICAgICAgdTY0IG9mZnNldCwgdTMy IGxlbiwKPj4gLSAgICAgICAgICAgICB1bnNpZ25lZCBmbGFncykKPj4gKyAgICAgICAgICAgICB1 bnNpZ25lZCBkaXNwYXRjaF9mbGFncykKPj4gICB7Cj4+ICAgICAgIGludCByZXQ7Cj4+Cj4+IEBA IC0xNzg1LDcgKzE3ODcsOCBAQCBpOTE1X2Rpc3BhdGNoX2V4ZWNidWZmZXIoc3RydWN0IGludGVs X2VuZ2luZV9jcyAKPj4gKnJpbmcsCj4+ICAgICAgICAgICByZXR1cm4gcmV0Owo+Pgo+PiAgICAg ICBpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfQkFUQ0hfQlVGRkVSX1NUQVJUIHwgTUlfQkFUQ0hf R1RUKTsKPj4gLSAgICBpbnRlbF9yaW5nX2VtaXQocmluZywgb2Zmc2V0IHwgKGZsYWdzICYgSTkx NV9ESVNQQVRDSF9TRUNVUkUgPyAwIAo+PiA6IE1JX0JBVENIX05PTl9TRUNVUkUpKTsKPj4gKyAg ICBpbnRlbF9yaW5nX2VtaXQocmluZywgb2Zmc2V0IHwgKGRpc3BhdGNoX2ZsYWdzICYgCj4+IEk5 MTVfRElTUEFUQ0hfU0VDVVJFID8KPj4gKyAgICAgICAgICAgICAgICAgICAgMCA6IE1JX0JBVENI X05PTl9TRUNVUkUpKTsKPj4gICAgICAgaW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOwo+Pgo+PiAg ICAgICByZXR1cm4gMDsKPj4gQEAgLTIzNTIsOSArMjM1NSwxMCBAQCBzdGF0aWMgaW50IGdlbjZf YnNkX3JpbmdfZmx1c2goc3RydWN0IAo+PiBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4+ICAgc3Rh dGljIGludAo+PiAgIGdlbjhfcmluZ19kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcsCj4+ICAgICAgICAgICAgICAgICAgICAgdTY0IG9mZnNldCwgdTMyIGxl biwKPj4gLSAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGZsYWdzKQo+PiArICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgZGlzcGF0Y2hfZmxhZ3MpCj4+ICAgewo+PiAtICAgIGJvb2wgcHBndHQg PSBVU0VTX1BQR1RUKHJpbmctPmRldikgJiYgIShmbGFncyAmIAo+PiBJOTE1X0RJU1BBVENIX1NF Q1VSRSk7Cj4+ICsgICAgYm9vbCBwcGd0dCA9IFVTRVNfUFBHVFQocmluZy0+ZGV2KSAmJgo+PiAr ICAgICAgICAgICAgIShkaXNwYXRjaF9mbGFncyAmIEk5MTVfRElTUEFUQ0hfU0VDVVJFKTsKPj4g ICAgICAgaW50IHJldDsKPj4KPj4gICAgICAgcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA0 KTsKPj4gQEAgLTIzNzMsOCArMjM3Nyw4IEBAIGdlbjhfcmluZ19kaXNwYXRjaF9leGVjYnVmZmVy KHN0cnVjdCAKPj4gaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+Pgo+PiAgIHN0YXRpYyBpbnQKPj4g ICBoc3dfcmluZ19kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCj4+IC0gICAgICAgICAgICAgICAgICB1NjQgb2Zmc2V0LCB1MzIgbGVuLAo+PiAtICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgZmxhZ3MpCj4+ICsgICAgICAgICAgICAgICAgIHU2NCBvZmZz ZXQsIHUzMiBsZW4sCj4+ICsgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGRpc3BhdGNoX2ZsYWdz KQo+PiAgIHsKPj4gICAgICAgaW50IHJldDsKPj4KPj4gQEAgLTIzODQsNyArMjM4OCw3IEBAIGhz d19yaW5nX2Rpc3BhdGNoX2V4ZWNidWZmZXIoc3RydWN0IAo+PiBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCj4+Cj4+ICAgICAgIGludGVsX3JpbmdfZW1pdChyaW5nLAo+PiAgICAgICAgICAgICAgIE1J X0JBVENIX0JVRkZFUl9TVEFSVCB8Cj4+IC0gICAgICAgICAgICAoZmxhZ3MgJiBJOTE1X0RJU1BB VENIX1NFQ1VSRSA/Cj4+ICsgICAgICAgICAgICAoZGlzcGF0Y2hfZmxhZ3MgJiBJOTE1X0RJU1BB VENIX1NFQ1VSRSA/Cj4+ICAgICAgICAgICAgICAgIDAgOiBNSV9CQVRDSF9QUEdUVF9IU1cgfCBN SV9CQVRDSF9OT05fU0VDVVJFX0hTVykpOwo+PiAgICAgICAvKiBiaXQwLTcgaXMgdGhlIGxlbmd0 aCBvbiBHRU42KyAqLwo+PiAgICAgICBpbnRlbF9yaW5nX2VtaXQocmluZywgb2Zmc2V0KTsKPj4g QEAgLTIzOTYsNyArMjQwMCw3IEBAIGhzd19yaW5nX2Rpc3BhdGNoX2V4ZWNidWZmZXIoc3RydWN0 IAo+PiBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4+ICAgc3RhdGljIGludAo+PiAgIGdlbjZfcmlu Z19kaXNwYXRjaF9leGVjYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4+ICAg ICAgICAgICAgICAgICAgICAgdTY0IG9mZnNldCwgdTMyIGxlbiwKPj4gLSAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGZsYWdzKQo+PiArICAgICAgICAgICAgICAgICAgdW5zaWduZWQgZGlzcGF0 Y2hfZmxhZ3MpCj4+ICAgewo+PiAgICAgICBpbnQgcmV0Owo+Pgo+PiBAQCAtMjQwNiw3ICsyNDEw LDggQEAgZ2VuNl9yaW5nX2Rpc3BhdGNoX2V4ZWNidWZmZXIoc3RydWN0IAo+PiBpbnRlbF9lbmdp bmVfY3MgKnJpbmcsCj4+Cj4+ICAgICAgIGludGVsX3JpbmdfZW1pdChyaW5nLAo+PiAgICAgICAg ICAgICAgIE1JX0JBVENIX0JVRkZFUl9TVEFSVCB8Cj4+IC0gICAgICAgICAgICAoZmxhZ3MgJiBJ OTE1X0RJU1BBVENIX1NFQ1VSRSA/IDAgOiAKPj4gTUlfQkFUQ0hfTk9OX1NFQ1VSRV9JOTY1KSk7 Cj4+ICsgICAgICAgICAgICAoZGlzcGF0Y2hfZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1NFQ1VSRSA/ Cj4+ICsgICAgICAgICAgICAgMCA6IE1JX0JBVENIX05PTl9TRUNVUkVfSTk2NSkpOwo+PiAgICAg ICAvKiBiaXQwLTcgaXMgdGhlIGxlbmd0aCBvbiBHRU42KyAqLwo+PiAgICAgICBpbnRlbF9yaW5n X2VtaXQocmluZywgb2Zmc2V0KTsKPj4gICAgICAgaW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOwo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIAo+ PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+PiBpbmRleCBiNmM0 ODRmLi5mZmEzNzI0IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5oCj4+IEBAIC0xNjQsNyArMTY0LDcgQEAgc3RydWN0ICBpbnRlbF9lbmdpbmVfY3Mgewo+PiAg ICAgICAgICAgICAgICAgICAgICAgIHUzMiBzZXFubyk7Cj4+ICAgICAgIGludCAgICAgICAgKCpk aXNwYXRjaF9leGVjYnVmZmVyKShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHU2NCBvZmZzZXQsIHUzMiBsZW5ndGgsCj4+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBmbGFncyk7Cj4+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBkaXNwYXRjaF9mbGFncyk7Cj4+ICAgI2RlZmluZSBJOTE1 X0RJU1BBVENIX1NFQ1VSRSAweDEKPj4gICAjZGVmaW5lIEk5MTVfRElTUEFUQ0hfUElOTkVEIDB4 Mgo+PiAgICAgICB2b2lkICAgICAgICAoKmNsZWFudXApKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnJpbmcpOwo+PiBAQCAtMjQyLDcgKzI0Miw3IEBAIHN0cnVjdCAgaW50ZWxfZW5naW5lX2NzIHsK Pj4gICAgICAgICAgICAgICAgICAgICAgICAgdTMyIGZsdXNoX2RvbWFpbnMpOwo+PiAgICAgICBp bnQgICAgICAgICgqZW1pdF9iYl9zdGFydCkoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdi dWYsCj4+ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwK Pj4gLSAgICAgICAgICAgICAgICAgICAgIHU2NCBvZmZzZXQsIHVuc2lnbmVkIGZsYWdzKTsKPj4g KyAgICAgICAgICAgICAgICAgICAgIHU2NCBvZmZzZXQsIHVuc2lnbmVkIGRpc3BhdGNoX2ZsYWdz KTsKPj4KPj4gICAgICAgLyoqCj4+ICAgICAgICAqIExpc3Qgb2Ygb2JqZWN0cyBjdXJyZW50bHkg aW52b2x2ZWQgaW4gcmVuZGVyaW5nIGZyb20gdGhlCj4+Cj4KCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==