From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 1/1] drm/i915: Add and enable DP AUX CH mutex Date: Thu, 22 Feb 2018 20:59:49 +0200 Message-ID: <20180222185948.GC5453@intel.com> References: <20180221022347.16405-1-jose.souza@intel.com> <20180221022347.16405-2-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9C2E688089 for ; Thu, 22 Feb 2018 18:59:52 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180221022347.16405-2-jose.souza@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?iso-8859-1?Q?Jos=E9?= Roberto de Souza Cc: intel-gfx@lists.freedesktop.org, Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBGZWIgMjAsIDIwMTggYXQgMDY6MjM6NDdQTSAtMDgwMCwgSm9zw6kgUm9iZXJ0byBk ZSBTb3V6YSB3cm90ZToKPiBXaGVuIFBTUi9QU1IyL0dUQyBpcyBlbmFibGVkIGhhcmR3YXJlIGNh biBkbyBBVVggdHJhbnNhY3Rpb25zIGJ5IGl0Cj4gc2VsZiwgc28gbGV0cyB1c2UgdGhlIG11dGV4 IHJlZ2lzdGVyIHRoYXQgaXMgYXZhaWxhYmxlIGluIGdlbjkrIHRvCj4gYXZvaWQgY29uY3VycmVu dCBhY2Nlc3MgYnkgaGFyZHdhcmUgYW5kIGRyaXZlci4KPiAKPiBSZWZlcmVuY2U6IGh0dHBzOi8v MDEub3JnL3NpdGVzL2RlZmF1bHQvZmlsZXMvZG9jdW1lbnRhdGlvbi9pbnRlbC1nZngtcHJtLW9z cmMtc2tsLXZvbDEyLWRpc3BsYXkucGRmCj4gUGFnZSAxOTggLSBBVVggcHJvZ3JhbW1pbmcgc2Vx dWVuY2UKCkJUVyBzaW5jZSBIU1cvQkRXIGRvbid0IGhhdmUgdGhlIG11dGV4IHdlIHNob3VsZCBy ZWFsbHkgYmUgZGlzYWJsaW5nIFBTUgphcm91bmQgYXV4IGNoIHVzYWdlIG9uIHRob3NlIHBsYXRm b3Jtcy4gTm90IHN1cmUgaG93IGJpZyBvZiBhIGxvY2tpbmcKaW52ZXJzaW9uIGV4ZXJjaXNlIGl0 IHdvdWxkIGJlIHRvIG1ha2UgdGhhdCBoYXBwZW4gdGhvdWdoLgoKPiAKPiBDYzogUm9kcmlnbyBW aXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1 bGFAbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291 emEgPGpvc2Uuc291emFAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oICB8ICA5ICsrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMgIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCB8ICAxICsKPiAgMyBmaWxlcyBjaGFuZ2VkLCA2 MCBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggMTQxMmFi Y2IyN2Q0Li5hNjJlM2MxYmFkYWIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAt NTMxOCw2ICs1MzE4LDcgQEAgZW51bSB7Cj4gICNkZWZpbmUgX0RQQV9BVVhfQ0hfREFUQTMJKGRl dl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MDFjKQo+ICAjZGVmaW5lIF9E UEFfQVVYX0NIX0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2 NDAyMCkKPiAgI2RlZmluZSBfRFBBX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtPmluZm8uZGlzcGxh eV9tbWlvX29mZnNldCArIDB4NjQwMjQpCj4gKyNkZWZpbmUgX0RQQV9BVVhfQ0hfTVVURVgJKGRl dl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MDJDKQo+ICAKPiAgI2RlZmlu ZSBfRFBCX0FVWF9DSF9DVEwJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2NDExMCkKPiAgI2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBMQkoZGV2X3ByaXYtPmluZm8uZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjQxMTQpCj4gQEAgLTUzMjUsNiArNTMyNiw3IEBAIGVudW0g ewo+ICAjZGVmaW5lIF9EUEJfQVVYX0NIX0RBVEEzCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg2NDExYykKPiAgI2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBNAkoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQxMjApCj4gICNkZWZpbmUgX0RQQl9B VVhfQ0hfREFUQTUJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTI0 KQo+ICsjZGVmaW5lIF9EUEJfQVVYX0NIX01VVEVYCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg2NDEyQykKPiAgCj4gICNkZWZpbmUgX0RQQ19BVVhfQ0hfQ1RMCQkoZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMTApCj4gICNkZWZpbmUgX0RQ Q19BVVhfQ0hfREFUQTEJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0 MjE0KQo+IEBAIC01MzMyLDYgKzUzMzQsNyBAQCBlbnVtIHsKPiAgI2RlZmluZSBfRFBDX0FVWF9D SF9EQVRBMwkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMWMpCj4g ICNkZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTQJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19v ZmZzZXQgKyAweDY0MjIwKQo+ICAjZGVmaW5lIF9EUENfQVVYX0NIX0RBVEE1CShkZXZfcHJpdi0+ aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDIyNCkKPiArI2RlZmluZSBfRFBDX0FVWF9D SF9NVVRFWAkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMkMpCj4g IAo+ICAjZGVmaW5lIF9EUERfQVVYX0NIX0NUTAkJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1p b19vZmZzZXQgKyAweDY0MzEwKQo+ICAjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEExCShkZXZfcHJp di0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMxNCkKPiBAQCAtNTMzOSw2ICs1MzQy LDcgQEAgZW51bSB7Cj4gICNkZWZpbmUgX0RQRF9BVVhfQ0hfREFUQTMJKGRldl9wcml2LT5pbmZv LmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzFjKQo+ICAjZGVmaW5lIF9EUERfQVVYX0NIX0RB VEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMyMCkKPiAgI2Rl ZmluZSBfRFBEX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNl dCArIDB4NjQzMjQpCj4gKyNkZWZpbmUgX0RQRF9BVVhfQ0hfTVVURVgJKGRldl9wcml2LT5pbmZv LmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzJDKQo+ICAKPiAgI2RlZmluZSBfRFBGX0FVWF9D SF9DVEwJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDUxMCkKPiAg I2RlZmluZSBfRFBGX0FVWF9DSF9EQVRBMQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29m ZnNldCArIDB4NjQ1MTQpCj4gQEAgLTUzNDYsNiArNTM1MCw3IEBAIGVudW0gewo+ICAjZGVmaW5l IF9EUEZfQVVYX0NIX0RBVEEzCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2NDUxYykKPiAgI2RlZmluZSBfRFBGX0FVWF9DSF9EQVRBNAkoZGV2X3ByaXYtPmluZm8uZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjQ1MjApCj4gICNkZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTUJ KGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0NTI0KQo+ICsjZGVmaW5l IF9EUEZfQVVYX0NIX01VVEVYCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsg MHg2NDUyQykKPiAgCj4gICNkZWZpbmUgRFBfQVVYX0NIX0NUTChwb3J0KQlfTU1JT19QT1JUKHBv cnQsIF9EUEFfQVVYX0NIX0NUTCwgX0RQQl9BVVhfQ0hfQ1RMKQo+ICAjZGVmaW5lIERQX0FVWF9D SF9EQVRBKHBvcnQsIGkpCV9NTUlPKF9QT1JUKHBvcnQsIF9EUEFfQVVYX0NIX0RBVEExLCBfRFBC X0FVWF9DSF9EQVRBMSkgKyAoaSkgKiA0KSAvKiA1IHJlZ2lzdGVycyAqLwo+IEBAIC01Mzc4LDYg KzUzODMsMTAgQEAgZW51bSB7Cj4gICNkZWZpbmUgICBEUF9BVVhfQ0hfQ1RMX0ZXX1NZTkNfUFVM U0VfU0tMKGMpICgoKGMpIC0gMSkgPDwgNSkKPiAgI2RlZmluZSAgIERQX0FVWF9DSF9DVExfU1lO Q19QVUxTRV9TS0woYykgICAoKGMpIC0gMSkKPiAgCj4gKyNkZWZpbmUgRFBfQVVYX0NIX01VVEVY KHBvcnQpCV9NTUlPX1BPUlQocG9ydCwgX0RQQV9BVVhfQ0hfTVVURVgsIF9EUEJfQVVYX0NIX01V VEVYKQo+ICsjZGVmaW5lICAgRFBfQVVYX0NIX01VVEVYX0VOQUJMRQkJKDEgPDwgMzEpCj4gKyNk ZWZpbmUgICBEUF9BVVhfQ0hfTVVURVhfU1RBVFVTCQkoMSA8PCAzMCkKPiArCj4gIC8qCj4gICAq IENvbXB1dGluZyBHTUNIIE0gYW5kIE4gdmFsdWVzIGZvciB0aGUgRGlzcGxheSBQb3J0IGxpbmsK PiAgICoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCBmMjBiMjVmOThlNWEuLmFmMDc1 NjNiYWZiYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC0xMDgxLDYgKzEwODEs NDUgQEAgc3RhdGljIHVpbnQzMl90IGludGVsX2RwX2dldF9hdXhfc2VuZF9jdGwoc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCwKPiAgCQkJCQkJYXV4X2Nsb2NrX2RpdmlkZXIpOwo+ICB9Cj4gIAo+ ICtzdGF0aWMgYm9vbCBpbnRlbF9kcF9hdXhfY2hfdHJ5bG9jayhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQo+ICt7Cj4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9Cj4gKwkJCXRvX2k5MTUoaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYp Owo+ICsKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOSkKPiArCQlyZXR1cm4gdHJ1ZTsK PiArCj4gKwlJOTE1X1dSSVRFKGludGVsX2RwLT5hdXhfY2hfbXV0ZXhfcmVnLCBEUF9BVVhfQ0hf TVVURVhfRU5BQkxFKTsKPiArCj4gKwkvKiBTcGVjIHNheXMgdGhhdCBtdXRleCBpcyBhY3F1aXJl ZCB3aGVuIHN0YXR1cyBiaXQgaXMgcmVhZCBhcyB1bnNldCwKPiArCSAqIGlmIHNldCBpdCBzaG91 bGQgYmUgcmVhZCBhZ2FpbiBhZnRlciA1MDB1c2VjLiBIZXJlIHdhaXRpbmcgZm9yCj4gKwkgKiAy bXNlYyBvciA0IHRyaWVzIGJlZm9yZSBnaXZlIHVwLgo+ICsJICovCj4gKwlpZiAoX19pbnRlbF93 YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgaW50ZWxfZHAtPmF1eF9jaF9tdXRleF9yZWcsCj4g KwkJCQkgICAgICBEUF9BVVhfQ0hfTVVURVhfU1RBVFVTLCAwLCA1MDAsIDIsCj4gKwkJCQkgICAg ICBOVUxMKSkgewo+ICsJCURSTV9XQVJOKCJkcF9hdXhfY2ggcG9ydCBsb2NrZWQgZm9yIHRvbyBs b25nIik7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsJfQo+ICsKPiArCXJldHVybiB0cnVlOwo+ICt9 Cj4gKwo+ICtzdGF0aWMgdm9pZCBpbnRlbF9kcF9hdXhfY2hfdW5sb2NrKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2Rp Z19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwo+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0KPiArCQkJdG9faTkxNShpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNl LmRldik7Cj4gKwo+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCA5KQo+ICsJCXJldHVybjsK PiArCj4gKwkvKiBzZXR0aW5nIHRoZSBzdGF0dXMgYml0IHJlbGVhc2VzIHRoZSBtdXRleCArIGtl ZXAgbXV0ZXggZW5hYmxlZCAqLwo+ICsJSTkxNV9XUklURShpbnRlbF9kcC0+YXV4X2NoX211dGV4 X3JlZywgRFBfQVVYX0NIX01VVEVYX0VOQUJMRSB8Cj4gKwkJICAgRFBfQVVYX0NIX01VVEVYX1NU QVRVUyk7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQKPiAgaW50ZWxfZHBfYXV4X2NoKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsCj4gIAkJY29uc3QgdWludDhfdCAqc2VuZCwgaW50IHNlbmRfYnl0 ZXMsCj4gQEAgLTExMTUsNiArMTE1NCwxMSBAQCBpbnRlbF9kcF9hdXhfY2goc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwKPiAgCj4gIAlpbnRlbF9kcF9jaGVja19lZHAoaW50ZWxfZHApOwo+ICAK PiArCWlmICghaW50ZWxfZHBfYXV4X2NoX3RyeWxvY2soaW50ZWxfZHApKSB7Cj4gKwkJcmV0ID0g LUVCVVNZOwo+ICsJCWdvdG8gb3V0X2xvY2tlZDsKPiArCX0KPiArCj4gIAkvKiBUcnkgdG8gd2Fp dCBmb3IgYW55IHByZXZpb3VzIEFVWCBjaGFubmVsIGFjdGl2aXR5ICovCj4gIAlmb3IgKHRyeSA9 IDA7IHRyeSA8IDM7IHRyeSsrKSB7Cj4gIAkJc3RhdHVzID0gSTkxNV9SRUFEX05PVFJBQ0UoY2hf Y3RsKTsKPiBAQCAtMTI0NCw2ICsxMjg4LDggQEAgaW50ZWxfZHBfYXV4X2NoKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAsCj4gIAo+ICAJcmV0ID0gcmVjdl9ieXRlczsKPiAgb3V0Ogo+ICsJaW50 ZWxfZHBfYXV4X2NoX3VubG9jayhpbnRlbF9kcCk7Cj4gK291dF9sb2NrZWQ6Cj4gIAlwbV9xb3Nf dXBkYXRlX3JlcXVlc3QoJmRldl9wcml2LT5wbV9xb3MsIFBNX1FPU19ERUZBVUxUX1ZBTFVFKTsK PiAgCj4gIAlpZiAodmRkKQo+IEBAIC0xNDk2LDYgKzE1NDIsMTAgQEAgc3RhdGljIHZvaWQgaW50 ZWxfYXV4X3JlZ19pbml0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAlpbnRlbF9kcC0+ YXV4X2NoX2N0bF9yZWcgPSBpbnRlbF9hdXhfY3RsX3JlZyhkZXZfcHJpdiwgcG9ydCk7Cj4gIAlm b3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbnRlbF9kcC0+YXV4X2NoX2RhdGFfcmVnKTsgaSsr KQo+ICAJCWludGVsX2RwLT5hdXhfY2hfZGF0YV9yZWdbaV0gPSBpbnRlbF9hdXhfZGF0YV9yZWco ZGV2X3ByaXYsIHBvcnQsIGkpOwo+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPj0g OSkgewo+ICsJCWludGVsX2RwLT5hdXhfY2hfbXV0ZXhfcmVnID0gRFBfQVVYX0NIX01VVEVYKHBv cnQpOwo+ICsJCUk5MTVfV1JJVEUoaW50ZWxfZHAtPmF1eF9jaF9tdXRleF9yZWcsIERQX0FVWF9D SF9NVVRFWF9FTkFCTEUpOwo+ICsJfQo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCj4gaW5kZXggNTA4NzRmNDAzNWNmLi4wYzg4NjU3ZDYwNjYgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xMDQzLDYgKzEwNDMsNyBAQCBzdHJ1Y3Qg aW50ZWxfZHAgewo+ICAJaTkxNV9yZWdfdCBvdXRwdXRfcmVnOwo+ICAJaTkxNV9yZWdfdCBhdXhf Y2hfY3RsX3JlZzsKPiAgCWk5MTVfcmVnX3QgYXV4X2NoX2RhdGFfcmVnWzVdOwo+ICsJaTkxNV9y ZWdfdCBhdXhfY2hfbXV0ZXhfcmVnOwo+ICAJdWludDMyX3QgRFA7Cj4gIAlpbnQgbGlua19yYXRl Owo+ICAJdWludDhfdCBsYW5lX2NvdW50Owo+IC0tIAo+IDIuMTYuMgo+IAo+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxlIFN5cmrD pGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==