From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 3/4] drm/i915/icl: Only grab TC ports when using it Date: Mon, 5 Nov 2018 12:52:02 +0200 Message-ID: <20181105105202.GB5677@ideak-desk.fi.intel.com> References: <20181102203924.10870-1-jose.souza@intel.com> <20181102203924.10870-3-jose.souza@intel.com> <20181102230603.GG21181@ideak-desk.fi.intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 585BD6E18F for ; Mon, 5 Nov 2018 10:52:04 +0000 (UTC) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Souza, Jose" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gU2F0LCBOb3YgMDMsIDIwMTggYXQgMDE6NDE6MTJBTSArMDIwMCwgU291emEsIEpvc2Ugd3Jv dGU6Cj4gT24gU2F0LCAyMDE4LTExLTAzIGF0IDAxOjA2ICswMjAwLCBJbXJlIERlYWsgd3JvdGU6 Cj4gPiBPbiBGcmksIE5vdiAwMiwgMjAxOCBhdCAwMTozOToyM1BNIC0wNzAwLCBKb3PDqSBSb2Jl cnRvIGRlIFNvdXphCj4gPiB3cm90ZToKPiA+ID4gV2hlbiBzdXNwZW5kaW5nIG9yIHVubG9hZGlu ZyB0aGUgZHJpdmVyLCBpdCBuZWVkcyB0byByZWxlYXNlIHRoZQo+ID4gPiBUQyBwb3J0cyBzbyBI VyBjYW4gY2hhbmdlIGl0IHN0YXRlIHdpdGhvdXQgd2FpdCBmb3IgZHJpdmVyCj4gPiA+IGhhbmRz aGFrZS4KPiA+ID4gU3BlYyBhbHNvIHN0YXRlIHRoYXQgaWYgdGhlIHBvcnQgaXMgbm90IHVzZWQg YnkgZHJpdmVyIGl0IHNob3VsZAo+ID4gPiByZWxlYXNlIFRDIGFjY2Vzcywgc28gaGVyZSBvbmx5 IGdyYWJiaW5nIGNvbnRyb2wgb2YgdGhlIFRDIHBvcnRzCj4gPiA+IGFuZAo+ID4gPiBtYXJraW5n IGFzIHVuc2FmZSB3aGVuIGF1eCBwb3dlciBpcyBuZWVkZWQgYXMgaGF2ZSBhdXggcG93ZXIgd2Vs bAo+ID4gPiBpcwo+ID4gPiBhIHJlcXVpcmVtZW50IHRvIGhhdmUgRERJIGVuYWJsZWQgaW4gVEMg cG9ydHMsIHRoZSBwcmVfcGxsX2VuYWJsZQo+ID4gPiBhbmQKPiA+ID4gcG9zdF9wbGxfZGlzYWJs ZSBob29rcyB0YWtlcyBjYXJlIG9mIGdldHRpbmcgYW5kIHJlbGVhc2luZyBpdC4KPiA+ID4gCj4g PiA+IEJTcGVjOiAyMTc1MAo+ID4gPiAKPiA+ID4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGlu dGVsLmNvbT4KPiA+ID4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpv c2Uuc291emFAaW50ZWwuY29tPgo+ID4gCj4gPiBBZ3JlZWQgdGhhdCB3ZSBzaG91bGQgZm9yY2Ug YSBtYW51YWwgZGlzY29ubmVjdCBiZWZvcmUgZW50ZXJpbmcKPiA+IGxvdy1wb3dlciBzdGF0ZXMg YW5kIGRyaXZlciB1bmxvYWRpbmcsIGJ1dCBJIGRvbid0IHRoaW5rIHRoaXMgc2hvdWxkCj4gPiBi ZQo+ID4gZG9uZSBmcm9tIHRoZSBwb3dlciB3ZWxsIGNvZGUuIFdlIGNvdWxkIHBlcmZvcm0gbXVs dGlwbGUgQVVYCj4gPiB0cmFuc2ZlcnMKPiA+IGFmdGVyIGEgY29ubmVjdCBldmVudCBhcm91bmQg ZWFjaCBvZiB3aGljaCB3ZSB3b3VsZCBlbmFibGUvZGlzYWJsZQo+ID4gdGhlCj4gPiBBVVggcG93 ZXIgd2VsbC4gV2Ugd291bGQgdGhlbiBsaWtlbHkgY29udGludWUgZG9pbmcgYSBtb2Rlc2V0LiBE dXJpbmcKPiA+IHRoaXMgd2hvbGUgc2VxdWVuY2UgSSBkb24ndCB0aGluayB3ZSBzaG91bGQgZG8g Zm9yY2VkCj4gPiBjb25uZWN0cy9kaXNjb25uZWN0cyBkdWUgdG8gdGhlIEFVWCBwb3dlciB3ZWxs IGdldHRpbmcKPiA+IGVuYWJsZWQvZGlzYWJsZWQuCj4gPiAKPiA+IEkgdGhpbmsgbm9ybWFsbHkg d2Ugc2hvdWxkIGNoYW5nZSB0aGUgY29ubmVjdGlvbiBzdGF0dXMgKHRoYXQgaXMgdGhlCj4gPiBz YWZlL3Vuc2FmZSBtb2RlIHlvdSdyZSBzZXR0aW5nIGhlcmUpIGluIHJlc3BvbnNlIHRvIEhQRCBl dmVudHMsIGFsc28KPiA+IGNvbnNpZGVyaW5nIHRoYXQgd2UgbWF5IGhhdmUgdG8gZGVsYXkgY2hh bmdpbmcgdGhlIHN0YXRlIGFzIGRpc2N1c3NlZAo+ID4gZWFybGllciB3aXRoIFZpbGxlIChkdWUg dG8gYW4gb25nb2luZyBBVVggdHJhbnNmZXIgb3IgYWN0aXZlIG1vZGUgaW4KPiA+IHRoZQo+IAo+ IFdoYXQgZG8geW91IHRoaW5rIGFib3V0IHVzZSBwb3dlcl93ZWxsLT5jb3VudCB0byBkZWxheSB3 aGVuIHR5cGUtCj4gYy9sZWdhY3kgaXMgZGlzY29ubmVjdGVkPyAgVGhlbiB3aGVuIHRoZSBsYXN0 IHJlZmVyZW5jZSBpcyB0YWtlbgo+IGljbF90Y19waHlfYXV4X3Bvd2VyX3dlbGxfZGlzYWJsZSgp IGNoZWNrIGlmIHRoZSBUQyBsaXZlIHN0YXR1cyBpcwo+IGRpc2Nvbm5lY3RlZCBhbmQgbWFyayBh cyB1bnNhZmUuCiAgICAgICAgICAgICAgICAgICBebWFyayBhcyBzYWZlIGlmIEkgcmVhZCB0aGUg c3BlYyBjb3JyZWN0bHksIHdoYXRldmVyCgkJICAgdGhhdCBtZWFucy4KCkkgdGhpbmsgdGhpcyBz aG91bGQgYmUgZG9uZSBmcm9tIHRoZSBzdXNwZW5kL3VubG9hZCBoYW5kbGVycy4gQXQgdGhvc2UK cGxhY2VzIHdlIHNob3VsZCBwdXQgdGhlIGNvbnRyb2xsZXIgaW50byBzYWZlIHN0YXRlIHJlZ2Fy ZGxlc3Mgb2YgdGhlCmxpdmUgc3RhdHVzLgoKPiA+IG9wcG9zaXRlIFR5cGVDIG1vZGUpLiBUaGVu IG9ubHkgZHVyaW5nIHN5c3RlbS9ydW50aW1lIHN1c3BlbmQgYW5kCj4gPiB1bmxvYWQKPiA+IHNo b3VsZCB3ZSBkbyBhIGZvcmNlZCBkaXNjb25uZWN0LCB3aGljaCB3b3VsZCBiZSBzYWZlIHNpbmNl IGF0IHRob3NlCj4gPiBwb2ludHMgd2UgZG9uJ3QgaGF2ZSBhbnkgcGVuZGluZyBBVVggdHJhbnNm ZXJzIG9yIGFjdGl2ZSBvdXRwdXRzLgo+ID4gCj4gPiAtLUltcmUKPiA+IAo+ID4gPiAtLS0KPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICAgICB8IDI4IC0tLS0tLS0t LS0tLS0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyB8IDU1 Cj4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKy0KPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwg NTQgaW5zZXJ0aW9ucygrKSwgMjkgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gaW5kZXggNTJhNTRlZjc0NmFmLi5kOTc4MTI3ZTcyMDgg MTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiBAQCAtNTAxMywxNiAr NTAxMyw2IEBAIHN0YXRpYyBib29sIGljbF90Y19waHlfY29ubmVjdChzdHJ1Y3QKPiA+ID4gZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ICAJCXJldHVybiBmYWxzZTsKPiA+ID4gIAl9 Cj4gPiA+ICAKPiA+ID4gLQkvKgo+ID4gPiAtCSAqIFRoaXMgZnVuY3Rpb24gbWF5IGJlIGNhbGxl ZCBtYW55IHRpbWVzIGluIGEgcm93IHdpdGhvdXQgYW4KPiA+ID4gSFBEIGV2ZW50Cj4gPiA+IC0J ICogaW4gYmV0d2Vlbiwgc28gdHJ5IHRvIGF2b2lkIHRoZSB3cml0ZSB3aGVuIHdlIGNhbi4KPiA+ ID4gLQkgKi8KPiA+ID4gLQl2YWwgPSBJOTE1X1JFQUQoUE9SVF9UWF9ERkxFWERQQ1NTUyk7Cj4g PiA+IC0JaWYgKCEodmFsICYgRFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpKSkg ewo+ID4gPiAtCQl2YWwgfD0gRFBfUEhZX01PREVfU1RBVFVTX05PVF9TQUZFKHRjX3BvcnQpOwo+ ID4gPiAtCQlJOTE1X1dSSVRFKFBPUlRfVFhfREZMRVhEUENTU1MsIHZhbCk7Cj4gPiA+IC0JfQo+ ID4gPiAtCj4gPiA+ICAJLyoKPiA+ID4gIAkgKiBOb3cgd2UgaGF2ZSB0byByZS1jaGVjayB0aGUg bGl2ZSBzdGF0ZSwgaW4gY2FzZSB0aGUgcG9ydAo+ID4gPiByZWNlbnRseQo+ID4gPiAgCSAqIGJl Y2FtZSBkaXNjb25uZWN0ZWQuIE5vdCBuZWNlc3NhcnkgZm9yIGxlZ2FjeSBtb2RlLgo+ID4gPiBA QCAtNTA0NCwyNCArNTAzNCw2IEBAIHN0YXRpYyBib29sIGljbF90Y19waHlfY29ubmVjdChzdHJ1 Y3QKPiA+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ICBzdGF0aWMgdm9pZCBp Y2xfdGNfcGh5X2Rpc2Nvbm5lY3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKPiA+ID4gKmRldl9w cml2LAo+ID4gPiAgCQkJCSAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCj4g PiA+ICB7Cj4gPiA+IC0JZW51bSB0Y19wb3J0IHRjX3BvcnQgPSBpbnRlbF9wb3J0X3RvX3RjKGRl dl9wcml2LCBkaWdfcG9ydC0KPiA+ID4gPmJhc2UucG9ydCk7Cj4gPiA+IC0KPiA+ID4gLQlpZiAo ZGlnX3BvcnQtPnRjX3R5cGUgPT0gVENfUE9SVF9VTktOT1dOKQo+ID4gPiAtCQlyZXR1cm47Cj4g PiA+IC0KPiA+ID4gLQkvKgo+ID4gPiAtCSAqIFRCVCBkaXNjb25uZWN0aW9uIGZsb3cgaXMgcmVh ZCB0aGUgbGl2ZSBzdGF0dXMsIHdoYXQgd2FzCj4gPiA+IGRvbmUgaW4KPiA+ID4gLQkgKiBjYWxs ZXIuCj4gPiA+IC0JICovCj4gPiA+IC0JaWYgKGRpZ19wb3J0LT50Y190eXBlID09IFRDX1BPUlRf VFlQRUMgfHwKPiA+ID4gLQkgICAgZGlnX3BvcnQtPnRjX3R5cGUgPT0gVENfUE9SVF9MRUdBQ1kp IHsKPiA+ID4gLQkJdTMyIHZhbDsKPiA+ID4gLQo+ID4gPiAtCQl2YWwgPSBJOTE1X1JFQUQoUE9S VF9UWF9ERkxFWERQQ1NTUyk7Cj4gPiA+IC0JCXZhbCAmPSB+RFBfUEhZX01PREVfU1RBVFVTX05P VF9TQUZFKHRjX3BvcnQpOwo+ID4gPiAtCQlJOTE1X1dSSVRFKFBPUlRfVFhfREZMRVhEUENTU1Ms IHZhbCk7Cj4gPiA+IC0JfQo+ID4gPiAtCj4gPiA+ICAJZGlnX3BvcnQtPnRjX3R5cGUgPSBUQ19Q T1JUX1VOS05PV047Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ID4gPiBpbmRleCA2YzQ1MzM2NmNkMjQuLmRhYjVmOTA2 NDZjNCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGlt ZV9wbS5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0u Ywo+ID4gPiBAQCAtNDY1LDYgKzQ2NSw0OCBAQCBpY2xfY29tYm9fcGh5X2F1eF9wb3dlcl93ZWxs X2Rpc2FibGUoc3RydWN0Cj4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAg CWhzd193YWl0X2Zvcl9wb3dlcl93ZWxsX2Rpc2FibGUoZGV2X3ByaXYsIHBvd2VyX3dlbGwpOwo+ ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICtzdGF0aWMgdm9pZCBpY2xfdGNfZ3JhYl9jb250cm9sKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gKwkJCQllbnVtIGF1eF9jaCBh dXhfY2gsIGJvb2wgZ3JhYikKPiA+ID4gK3sKPiA+ID4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gJmRldl9wcml2LT5kcm07Cj4gPiA+ICsJc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVy IGNvbm5faXRlcjsKPiA+ID4gKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+ID4g PiArCj4gPiA+ICsJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXJfYmVnaW4oZGV2LCAmY29ubl9pdGVy KTsKPiA+ID4gKwlkcm1fZm9yX2VhY2hfY29ubmVjdG9yX2l0ZXIoY29ubmVjdG9yLCAmY29ubl9p dGVyKSB7Cj4gPiA+ICsJCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvcjsK PiA+ID4gKwkJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXI7Cj4gPiA+ICsJCXN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0Owo+ID4gPiArCQllbnVtIHRjX3BvcnQg dGNfcG9ydDsKPiA+ID4gKwo+ID4gPiArCQlpbnRlbF9jb25uZWN0b3IgPSB0b19pbnRlbF9jb25u ZWN0b3IoY29ubmVjdG9yKTsKPiA+ID4gKwkJaWYgKCFpbnRlbF9jb25uZWN0b3ItPmVuY29kZXIp Cj4gPiA+ICsJCQljb250aW51ZTsKPiA+ID4gKwkJaW50ZWxfZW5jb2RlciA9IGludGVsX2Nvbm5l Y3Rvci0+ZW5jb2RlcjsKPiA+ID4gKwkJZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmludGVs X2VuY29kZXItPmJhc2UpOwo+ID4gPiArCj4gPiA+ICsJCWlmICghZGlnX3BvcnQgfHwgZGlnX3Bv cnQtPmF1eF9jaCAhPSBhdXhfY2gpCj4gPiA+ICsJCQljb250aW51ZTsKPiA+ID4gKwo+ID4gPiAr CQl0Y19wb3J0ID0gaW50ZWxfcG9ydF90b190YyhkZXZfcHJpdiwgZGlnX3BvcnQtCj4gPiA+ID5i YXNlLnBvcnQpOwo+ID4gPiArCj4gPiA+ICsJCWlmIChkaWdfcG9ydC0+dGNfdHlwZSA9PSBUQ19Q T1JUX1RZUEVDIHx8Cj4gPiA+ICsJCSAgICBkaWdfcG9ydC0+dGNfdHlwZSA9PSBUQ19QT1JUX0xF R0FDWSkgewo+ID4gPiArCQkJdTMyIHZhbDsKPiA+ID4gKwo+ID4gPiArCQkJdmFsID0gSTkxNV9S RUFEKFBPUlRfVFhfREZMRVhEUENTU1MpOwo+ID4gPiArCQkJaWYgKGdyYWIpCj4gPiA+ICsJCQkJ dmFsIHw9Cj4gPiA+IERQX1BIWV9NT0RFX1NUQVRVU19OT1RfU0FGRSh0Y19wb3J0KTsKPiA+ID4g KwkJCWVsc2UKPiA+ID4gKwkJCQl2YWwgJj0KPiA+ID4gfkRQX1BIWV9NT0RFX1NUQVRVU19OT1Rf U0FGRSh0Y19wb3J0KTsKPiA+ID4gKwkJCUk5MTVfV1JJVEUoUE9SVF9UWF9ERkxFWERQQ1NTUywg dmFsKTsKPiA+ID4gKwkJfQo+ID4gPiArCj4gPiA+ICsJCWJyZWFrOwo+ID4gPiArCX0KPiA+ID4g Kwlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRlcik7Cj4gPiA+ICt9Cj4gPiA+ ICsKPiA+ID4gICNkZWZpbmUgSUNMX0FVWF9QV19UT19DSChwd19pZHgpCVwKPiA+ID4gIAkoKHB3 X2lkeCkgLSBJQ0xfUFdfQ1RMX0lEWF9BVVhfQSArIEFVWF9DSF9BKQo+ID4gPiAgCj4gPiA+IEBA IC00NzUsNiArNTE3LDggQEAgaWNsX3RjX3BoeV9hdXhfcG93ZXJfd2VsbF9lbmFibGUoc3RydWN0 Cj4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgCWVudW0gYXV4X2NoIGF1 eF9jaCA9IElDTF9BVVhfUFdfVE9fQ0gocG93ZXJfd2VsbC0+ZGVzYy0KPiA+ID4gPmhzdy5pZHgp Owo+ID4gPiAgCXUzMiB2YWw7Cj4gPiA+ICAKPiA+ID4gKwlpY2xfdGNfZ3JhYl9jb250cm9sKGRl dl9wcml2LCBhdXhfY2gsIHRydWUpOwo+ID4gPiArCj4gPiA+ICAJdmFsID0gSTkxNV9SRUFEKERQ X0FVWF9DSF9DVEwoYXV4X2NoKSk7Cj4gPiA+ICAJdmFsICY9IH5EUF9BVVhfQ0hfQ1RMX1RCVF9J TzsKPiA+ID4gIAlpZiAocG93ZXJfd2VsbC0+ZGVzYy0+aHN3LmlzX3RjX3RidCkKPiA+ID4gQEAg LTQ4NCw2ICs1MjgsMTUgQEAgaWNsX3RjX3BoeV9hdXhfcG93ZXJfd2VsbF9lbmFibGUoc3RydWN0 Cj4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgCWhzd19wb3dlcl93ZWxs X2VuYWJsZShkZXZfcHJpdiwgcG93ZXJfd2VsbCk7Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gK3N0 YXRpYyB2b2lkIGljbF90Y19waHlfYXV4X3Bvd2VyX3dlbGxfZGlzYWJsZShzdHJ1Y3QKPiA+ID4g ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ICsJCQkJCSAgICAgIHN0cnVjdCBpOTE1 X3Bvd2VyX3dlbGwKPiA+ID4gKnBvd2VyX3dlbGwpCj4gPiA+ICt7Cj4gPiA+ICsJZW51bSBhdXhf Y2ggYXV4X2NoID0gSUNMX0FVWF9QV19UT19DSChwb3dlcl93ZWxsLT5kZXNjLQo+ID4gPiA+aHN3 LmlkeCk7Cj4gPiA+ICsKPiA+ID4gKwlpY2xfdGNfZ3JhYl9jb250cm9sKGRldl9wcml2LCBhdXhf Y2gsIGZhbHNlKTsKPiA+ID4gKwloc3dfcG93ZXJfd2VsbF9kaXNhYmxlKGRldl9wcml2LCBwb3dl cl93ZWxsKTsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiAgLyoKPiA+ID4gICAqIFdlIHNob3VsZCBv bmx5IHVzZSB0aGUgcG93ZXIgd2VsbCBpZiB3ZSBleHBsaWNpdGx5IGFza2VkIHRoZQo+ID4gPiBo YXJkd2FyZSB0bwo+ID4gPiAgICogZW5hYmxlIGl0LCBzbyBjaGVjayBpZiBpdCdzIGVuYWJsZWQg YW5kIGFsc28gY2hlY2sgaWYgd2UndmUKPiA+ID4gcmVxdWVzdGVkIGl0IHRvCj4gPiA+IEBAIC0y NzU0LDcgKzI4MDcsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9vcHMK PiA+ID4gaWNsX2NvbWJvX3BoeV9hdXhfcG93ZXJfd2VsbF9vcHMgPSB7Cj4gPiA+ICBzdGF0aWMg Y29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9vcHMKPiA+ID4gaWNsX3RjX3BoeV9hdXhfcG93 ZXJfd2VsbF9vcHMgPSB7Cj4gPiA+ICAJLnN5bmNfaHcgPSBoc3dfcG93ZXJfd2VsbF9zeW5jX2h3 LAo+ID4gPiAgCS5lbmFibGUgPSBpY2xfdGNfcGh5X2F1eF9wb3dlcl93ZWxsX2VuYWJsZSwKPiA+ ID4gLQkuZGlzYWJsZSA9IGhzd19wb3dlcl93ZWxsX2Rpc2FibGUsCj4gPiA+ICsJLmRpc2FibGUg PSBpY2xfdGNfcGh5X2F1eF9wb3dlcl93ZWxsX2Rpc2FibGUsCj4gPiA+ICAJLmlzX2VuYWJsZWQg PSBoc3dfcG93ZXJfd2VsbF9lbmFibGVkLAo+ID4gPiAgfTsKPiA+ID4gIAo+ID4gPiAtLSAKPiA+ ID4gMi4xOS4xCj4gPiA+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK