From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8CC16898BF for ; Tue, 27 Aug 2019 10:50:04 +0000 (UTC) From: "Ser, Simon" Date: Tue, 27 Aug 2019 10:49:38 +0000 Message-ID: <44a51c697ed71dbf239322e20e9de0b18bc0b42c.camel@intel.com> References: <20190823182351.25822-1-madhumitha.tolakanahalli.pradeep@intel.com> <20190823182351.25822-3-madhumitha.tolakanahalli.pradeep@intel.com> In-Reply-To: <20190823182351.25822-3-madhumitha.tolakanahalli.pradeep@intel.com> Content-Language: en-US Content-ID: <134672E87B79BB4BAF9B29480631F9BC@intel.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v2 2/2] igt/tests/kms_dp_tiled_display: kms test for display port tiled displays List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: "igt-dev@lists.freedesktop.org" , "Tolakanahalli Pradeep, Madhumitha" Cc: "madhumitha.tp@gmail.com" , "Latvala, Petri" List-ID: VGhhbmtzIGZvciB0aGUgbmV3IHZlcnNpb24hIEhlcmUgYXJlIHNvbWUgbW9yZSBjb21tZW50cy4g U29tZSBvZiB0aGVtDQphcmUgbml0cywgc29tZSBvZiB0aGVtIGFyZSBtb3JlIHNlcmlvdXMgcXVl c3Rpb25zLiBGZWVsIGZyZWUgdG8gbGV0IG1lDQprbm93IGlmIEknbSBtaXN0YWtlbiBvciBpZiB5 b3UgZG9uJ3QgdW5kZXJzdGFuZCBvbmUgb2YgdGhlbS4NCg0KT24gRnJpLCAyMDE5LTA4LTIzIGF0 IDExOjIzIC0wNzAwLCBNYWRodW1pdGhhIFRvbGFrYW5haGFsbGkgUHJhZGVlcCB3cm90ZToNCj4g VGhpcyB0ZXN0IHZhbGlkYXRlcyB0aGUgdGlsZWQgRFAgZGlzcGxheXMgdG8gZGlzcGxheSBhIHRl c3QgcGF0dGVybg0KPiBzZWFtbGVzc2x5IGFjcm9zcyB0aGUgdHdvIHRpbGVzLiBJdCB2YWxpZGF0 ZXMgdGhlIHRyYW5zY29kZXIgcG9ydA0KPiBzeW5jIGZlYXR1cmUgb24gaTkxNSB0byBnZXQgYSB0 ZWFyZnJlZSB0aWxlZCBkaXNwbGF5IG91dHB1dC4NCj4gDQo+IFJlbGF0ZWQga2VybmVsIHdvcmsg cGF0Y2hlcy0NCj4gaHR0cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3Nlcmllcy81OTgz Ny8jcmV2NC4NCj4gDQo+IFRoaXMgdGVzdCBjYW4gZXZlbnR1YWxseSBiZSBleHRlbmRlZCB0byBj b3ZlciB0aWxlZCBkaXNwbGF5IHN1cHBvcnQNCj4gb24gb3RoZXIgY29ubmVjdG9yIHR5cGVzLg0K PiANCj4gdjI6IEFkZGVkIGEgY2hlY2sgZm9yIGNoZWNraW5nIHBhZ2VmbGlwIGV2ZW50IHRpbWVz dGFtcHMgKFNpbW9uLCBNYW5hc2kpDQo+ICAgICBNaW5vciBzdHlsZSBjaGFuZ2VzIChTaW1vbikN Cj4gICAgQ29kZSBjbGVhbi11cCBhbmQgcmVvcmRlcmluZw0KPiANCj4gDQo+IENjOiBNYW5hc2kg TmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPg0KPiBDYzogUGV0cmkgTGF0dmFsYSA8 cGV0cmkubGF0dmFsYUBpbnRlbC5jb20+DQo+IENjOiBTaW1vbiBTZXIgPHNpbW9uLnNlckBpbnRl bC5jb20+DQo+IA0KPiBDYzogPG1hZGh1bWl0aGEudHBAZ21haWwuY29tPg0KPiANCj4gU2lnbmVk LW9mZi1ieTogTWFkaHVtaXRoYSBUb2xha2FuYWhhbGxpIFByYWRlZXAgPG1hZGh1bWl0aGEudG9s YWthbmFoYWxsaS5wcmFkZWVwQGludGVsLmNvbT4NCj4gLS0tDQo+ICB0ZXN0cy9NYWtlZmlsZS5z b3VyY2VzICAgICAgIHwgICAxICsNCj4gIHRlc3RzL2ttc19kcF90aWxlZF9kaXNwbGF5LmMgfCAz NDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gIHRlc3RzL21lc29uLmJ1 aWxkICAgICAgICAgICAgfCAgIDEgKw0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAzNDggaW5zZXJ0aW9u cygrKQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2ttc19kcF90aWxlZF9kaXNwbGF5LmMN Cj4gDQo+IGRpZmYgLS1naXQgYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVzdHMvTWFrZWZp bGUuc291cmNlcw0KPiBpbmRleCBjMDJlNGQ5NC4uNzU2MWFiOWIgMTAwNjQ0DQo+IC0tLSBhL3Rl c3RzL01ha2VmaWxlLnNvdXJjZXMNCj4gKysrIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcw0KPiBA QCAtNDEsNiArNDEsNyBAQCBURVNUU19wcm9ncyA9IFwNCj4gIAlrbXNfY3Vyc29yX2VkZ2Vfd2Fs ayBcDQo+ICAJa21zX2N1cnNvcl9sZWdhY3kgXA0KPiAgCWttc19kcF9kc2MgXA0KPiArCWttc19k cF90aWxlZF9kaXNwbGF5IFwNCj4gIAlrbXNfZHJhd19jcmMgXA0KPiAgCWttc19mYmNvbl9mYnQg XA0KPiAgCWttc19mZW5jZV9waW5fbGVhayBcDQo+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfZHBf dGlsZWRfZGlzcGxheS5jIGIvdGVzdHMva21zX2RwX3RpbGVkX2Rpc3BsYXkuYw0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMC4uMTYyZmJkZDkNCj4gLS0tIC9kZXYvbnVs bA0KPiArKysgYi90ZXN0cy9rbXNfZHBfdGlsZWRfZGlzcGxheS5jDQo+IEBAIC0wLDAgKzEsMzQ2 IEBADQo+ICsvKg0KPiArICogQ29weXJpZ2h0IMKpIDIwMTggSW50ZWwgQ29ycG9yYXRpb24NCj4g KyAqDQo+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQ0KPiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFu ZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwNCj4gKyAq IHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3 aXRob3V0IGxpbWl0YXRpb24NCj4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks IG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLA0KPiArICogYW5kL29yIHNl bGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20g dGhlDQo+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhl IGZvbGxvd2luZyBjb25kaXRpb25zOg0KPiArICoNCj4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQg bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQNCj4g KyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFu dGlhbCBwb3J0aW9ucyBvZiB0aGUNCj4gKyAqIFNvZnR3YXJlLg0KPiArICoNCj4gKyAqIFRIRSBT T0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5E LCBFWFBSRVNTIE9SDQo+ICsgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRP IFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwNCj4gKyAqIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFM TA0KPiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBB TlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVINCj4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB TiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HDQo+ICsgKiBG Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNF IE9SIE9USEVSIERFQUxJTkdTDQo+ICsgKiBJTiBUSEUgU09GVFdBUkUuDQo+ICsgKg0KPiArICog QXV0aG9yczoNCj4gKyAqICBNYWRodW1pdGhhIFRvbGFrYW5haGFsbGkgUHJhZGVlcA0KPiArICog ICAgICA8bWFkaHVtaXRoYS50b2xha2FuYWhhbGxpLnByYWRlZXBAaW50ZWwuY29tPg0KPiArICoN Cj4gKyAqIERpc3BsYXkgUG9ydCBUaWxlZCBEaXNwbGF5IFRlc3QNCj4gKyAqIFRoaXMgdGVzdCBw YXJzZXMgdGhlIHRpbGUgaW5mb3JtYXRpb24gb2YgdGhlIGNvbm5lY3RvcnMgdGhhdCBoYXZlIFRJ TEUNCj4gKyAqIHByb3BlcnR5IHNldCwgc2V0cyB1cCB0aGUgZnJhbWVidWZmZXIgd2l0aCBjb3Jy ZWN0IG9mZnNldHMgY29ycmVzcG9uZGluZyB0bw0KPiArICogdGhlIHRpbGUgb2Zmc2V0cyBhbmQg ZG9lcyBhbiBhdG9taWMgbW9kZXNldCB3aXRoIHR3byBDUlRDcyBmb3IgdHdvDQo+ICsgKiBjb25u ZWN0b3JzLiBQYWdlIGZsaXAgZXZlbnQgdGltZXN0YW1wIGZyb20gZWFjaCBDUlRDIGlzIGNvbGxl Y3RlZCBhbmQNCj4gKyAqIGNvbXBhcmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXkgb2NjdXJyZWQg aW4gYSBzeW5jaHJvbm91cyBtYW5uZXIuDQo+ICsgKg0KPiArICogVGhpcyB0ZXN0IGN1cnJlbnRs eSBzdXBwb3J0cyBvbmx5IGhvcml6b250YWxseSB0aWxlZCBkaXNwbGF5cywgaW4gbGluZSB3aXRo DQo+ICsgKiB0aGUgZGlzcGxheXMgc3VwcG9ydGVkIGJ5IHRoZSBrZXJuZWwgYXQgdGhlIG1vbWVu dC4NCj4gKyAqLw0KPiArDQo+ICsjaW5jbHVkZSAiaWd0LmgiDQo+ICsjaW5jbHVkZSAicG9sbC5o Ig0KPiArI2luY2x1ZGUgImRybV9tb2RlLmgiDQo+ICsjaW5jbHVkZSAiZHJtX2ZvdXJjYy5oIg0K PiArDQo+ICtJR1RfVEVTVF9ERVNDUklQVElPTigiVGVzdCBmb3IgRGlzcGxheSBQb3J0IFRpbGVk IERpc3BsYXlzIik7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKwlpbnQgZHJtX2ZkOw0K PiArCWludCBudW1faF90aWxlczsNCj4gKwlpZ3RfZGlzcGxheV90ICpkaXNwbGF5Ow0KPiArCWVu dW0gaWd0X2NvbW1pdF9zdHlsZSBjb21taXQ7DQo+ICt9IGRhdGFfdDsNCj4gKw0KPiArdHlwZWRl ZiBzdHJ1Y3Qgew0KPiArCWlndF9vdXRwdXRfdCAqb3V0cHV0Ow0KPiArCWlndF90aWxlX2luZm9f dCB0aWxlOw0KPiArCWlndF9mYl90IGZiX3Rlc3RfcGF0dGVybjsNCj4gKwllbnVtIHBpcGUgcGlw ZTsNCj4gKwllbnVtIGlndF9jb21taXRfc3R5bGUgY29tbWl0Ow0KPiArCWRybU1vZGVDb25uZWN0 b3JQdHIgY29ubmVjdG9yOw0KPiArfSBkYXRhX2Nvbm5lY3Rvcl90Ow0KPiArDQo+ICtzdGF0aWMg aW50IGRybV9wcm9wZXJ0eV9pc190aWxlKGRybU1vZGVQcm9wZXJ0eVB0ciBwcm9wKQ0KPiArew0K PiArCXJldHVybiAoc3RyY21wKHByb3AtPm5hbWUgLCAiVElMRSIpID8gMCA6IDEpICYmDQo+ICsJ CQkgZHJtX3Byb3BlcnR5X3R5cGVfaXMocHJvcCwgRFJNX01PREVfUFJPUF9CTE9CKTsNCj4gK30N Cj4gKw0KPiArc3RhdGljIHZvaWQgZ2V0X2Nvbm5lY3Rvcl90aWxlX3Byb3BzKGRhdGFfdCAqZGF0 YSwgZHJtTW9kZUNvbm5lY3RvclB0ciBjb25uLA0KPiArCQlpZ3RfdGlsZV9pbmZvX3QgKnRpbGUp DQo+ICt7DQo+ICsJaW50IGkgPSAwOw0KPiArCWRybU1vZGVQcm9wZXJ0eVB0ciBwcm9wOw0KPiAr CWRybU1vZGVQcm9wZXJ0eUJsb2JQdHIgYmxvYjsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCBj b25uLT5jb3VudF9wcm9wczsgaSsrKSB7DQo+ICsJCXByb3AgPSBkcm1Nb2RlR2V0UHJvcGVydHko ZGF0YS0+ZHJtX2ZkLCBjb25uLT5wcm9wc1tpXSk7DQo+ICsNCj4gKwkJaWd0X2Fzc2VydChwcm9w KTsNCj4gKw0KPiArCQlpZiAoIWRybV9wcm9wZXJ0eV9pc190aWxlKHByb3ApKQ0KPiArCQkJY29u dGludWU7DQoNClRoaXMgYnJhbmNoIGxlYWtzIHByb3AuDQoNCj4gKwkJYmxvYiA9IGRybU1vZGVH ZXRQcm9wZXJ0eUJsb2IoZGF0YS0+ZHJtX2ZkLA0KPiArCQkJCWNvbm4tPnByb3BfdmFsdWVzW2ld KTsNCj4gKw0KPiArCQlpZiAoIWJsb2IpDQo+ICsJCQlyZXR1cm47DQoNClRoaXMgYnJhbmNoIGxl YWtzIHByb3AuDQoNCj4gKwkJaWd0X3BhcnNlX2Nvbm5lY3Rvcl90aWxlX2Jsb2IoYmxvYiwgdGls ZSk7DQo+ICsJCWJyZWFrOw0KPiArCX0NCj4gKw0KPiArCWRybU1vZGVGcmVlUHJvcGVydHkocHJv cCk7DQo+ICsJZHJtTW9kZUZyZWVQcm9wZXJ0eUJsb2IoYmxvYik7DQo+ICt9DQo+ICsNCj4gK3N0 YXRpYyB2b2lkIGdldF9udW1iZXJfb2ZfaF90aWxlcyhkYXRhX3QgKmRhdGEpDQo+ICt7DQo+ICsJ aW50IGk7DQo+ICsJZHJtTW9kZVJlc1B0ciByZXM7DQo+ICsJZHJtTW9kZUNvbm5lY3RvclB0ciBj b25uZWN0b3I7DQo+ICsJaWd0X3RpbGVfaW5mb190IHRpbGUgPSB7Lm51bV9oX3RpbGUgPSAwfTsN Cj4gKw0KPiArCWlndF9hc3NlcnQocmVzID0gZHJtTW9kZUdldFJlc291cmNlcyhkYXRhLT5kcm1f ZmQpKTsNCj4gKw0KPiArCWZvciAoaSA9IDA7IGkgPCByZXMtPmNvdW50X2Nvbm5lY3RvcnM7IGkr Kykgew0KPiArCQljb25uZWN0b3IgPSBkcm1Nb2RlR2V0Q29ubmVjdG9yQ3VycmVudChkYXRhLT5k cm1fZmQsDQo+ICsJCQkJcmVzLT5jb25uZWN0b3JzW2ldKTsNCj4gKw0KPiArCQlpZ3RfYXNzZXJ0 KGNvbm5lY3Rvcik7DQo+ICsNCj4gKwkJaWYgKCEoY29ubmVjdG9yLT5jb25uZWN0aW9uID09IERS TV9NT0RFX0NPTk5FQ1RFRCAmJg0KPiArCQkJY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSA9PSBE Uk1fTU9ERV9DT05ORUNUT1JfRGlzcGxheVBvcnQpKQ0KPiArCQkJY29udGludWU7DQoNClRoaXMg Y2FuIGJlIHNpbXBsaWZpZWQgdG8NCg0KICAgIGNvbm5lY3Rpb24gIT0gRFJNX01PREVfQ09OTkVD VEVEIHx8DQogICAgY29ubmVjdG9yX3R5cGUgIT0gRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQ b3J0DQoNCkFkZGl0aW9uYWxseSwgdGhpcyBicmFuY2ggbGVha3MgdGhlIGNvbm5lY3Rvci4NCg0K PiArCQlnZXRfY29ubmVjdG9yX3RpbGVfcHJvcHMoZGF0YSwgY29ubmVjdG9yLCAmdGlsZSk7DQo+ ICsJCWRhdGEtPm51bV9oX3RpbGVzID0gdGlsZS5udW1faF90aWxlOw0KPiArCQlicmVhazsNCj4g Kwl9DQo+ICsNCj4gKwlkcm1Nb2RlRnJlZVJlc291cmNlcyhyZXMpOw0KPiArCWRybU1vZGVGcmVl Q29ubmVjdG9yKGNvbm5lY3Rvcik7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB2b2lkIGdldF9jb25u ZWN0b3IoZGF0YV90ICpkYXRhLCBkYXRhX2Nvbm5lY3Rvcl90ICpjb25uKQ0KDQpOaXQ6IHNpbmNl IHRoaXMgZmlsbHMgYWxsIGNvbm5lY3RvcnMsIG1heWJlIGl0IHNob3VsZCBiZSBuYW1lZA0KZ2V0 X2Nvbm5lY3RvcnMgKHdpdGggYW4gcykuIEFsc28gaXQncyBub3QgY2xlYXIgdGhhdCBjb25uIHJl ZmVycyB0byBhbg0KYXJyYXkgb2YgY29ubmVjdG9ycywgbWF5YmUgaXQgc2hvdWxkIGJlIHJlbmFt ZWQgdG8gY29ubnMuDQoNCihBcHBsaWVzIHRvIHRoZSB3aG9sZSBwYXRjaCkNCg0KPiArew0KPiAr CWludCBjb3VudCA9IDA7DQo+ICsJaWd0X291dHB1dF90ICpvdXRwdXQ7DQo+ICsNCj4gKwlmb3Jf ZWFjaF9jb25uZWN0ZWRfb3V0cHV0KGRhdGEtPmRpc3BsYXksIG91dHB1dCkgew0KPiArCQljb25u W2NvdW50XS5jb25uZWN0b3IgPSBkcm1Nb2RlR2V0Q29ubmVjdG9yKGRhdGEtPmRpc3BsYXktPmRy bV9mZCwNCj4gKwkJCQkJCW91dHB1dC0+aWQpOw0KPiArDQo+ICsJCWlndF9hc3NlcnQoY29ubltj b3VudF0uY29ubmVjdG9yKTsNCj4gKw0KPiArCQlpZiAoIShjb25uW2NvdW50XS5jb25uZWN0b3It PmNvbm5lY3Rvcl90eXBlID09DQo+ICsJCQlEUk1fTU9ERV9DT05ORUNUT1JfRGlzcGxheVBvcnQp KQ0KPiArCQkJY29udGludWU7DQoNClRoaXMgY2FuIGJlIHNpbXBsaWZpZWQgdG8NCg0KICAgIGlm IChjb25uZWN0b3JfdHlwZSAhPSBEUk1fTU9ERV9DT05ORUNUT1JfRGlzcGxheVBvcnQpDQoNCkFk ZGl0aW9uYWxseSwgdGhpcyBicmFuY2ggbGVha3MgdGhlIGNvbm5lY3Rvci4NCg0KPiArCQlnZXRf Y29ubmVjdG9yX3RpbGVfcHJvcHMoZGF0YSwgY29ubltjb3VudF0uY29ubmVjdG9yLA0KPiArCQkJ JmNvbm5bY291bnRdLnRpbGUpOw0KPiArDQo+ICsJCS8qIENoZWNrIGlmIHRoZSBjb25uZWN0b3Jz IGJlbG9uZyB0byB0aGUgc2FtZSB0aWxlIGdyb3VwICovDQo+ICsJCWlmIChjb3VudCA+IDApDQo+ ICsJCQlpZ3RfYXNzZXJ0KGNvbm5bY291bnRdLnRpbGUudGlsZV9ncm91cF9pZCA9PQ0KPiArCQkJ CWNvbm5bY291bnQtMV0udGlsZS50aWxlX2dyb3VwX2lkKTsNCj4gKw0KPiArCQljb3VudCsrOw0K PiArCX0NCj4gK30NCj4gKw0KPiArc3RhdGljIHZvaWQNCj4gK3Jlc2V0X2ZyYW1lYnVmZmVyKGlu dCBkcm1fZmQsIGlndF9vdXRwdXRfdCAqb3V0cHV0LCBpZ3RfZmJfdCAqZmIpDQo+ICt7DQo+ICsJ aWd0X3BsYW5lX3QgKnByaW1hcnk7DQo+ICsNCj4gKwlwcmltYXJ5ID0gaWd0X291dHB1dF9nZXRf cGxhbmVfdHlwZShvdXRwdXQsIERSTV9QTEFORV9UWVBFX1BSSU1BUlkpOw0KPiArCWlndF9wbGFu ZV9zZXRfZmIocHJpbWFyeSwgTlVMTCk7DQo+ICsJaWd0X3JlbW92ZV9mYihkcm1fZmQsIGZiKTsN Cj4gK30NCj4gKw0KPiArc3RhdGljIHZvaWQgcmVzZXRfb3V0cHV0KGlndF9vdXRwdXRfdCAqb3V0 cHV0KQ0KPiArew0KPiArCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBQSVBFX05PTkUpOw0K PiArfQ0KPiArDQo+ICtzdGF0aWMgdm9pZCB0ZXN0X2NsZWFudXAoZGF0YV90ICpkYXRhLCBkYXRh X2Nvbm5lY3Rvcl90ICpjb25uKQ0KPiArew0KPiArCWludCBjb3VudDsNCj4gKw0KPiArCWZvciAo Y291bnQgPSAwOyBjb3VudCA8IGRhdGEtPm51bV9oX3RpbGVzOyBjb3VudCsrKSB7DQo+ICsJCWlm IChjb25uW2NvdW50XS5vdXRwdXQpIHsNCj4gKwkJCXJlc2V0X2ZyYW1lYnVmZmVyKGRhdGEtPmRy bV9mZCwgY29ubltjb3VudF0ub3V0cHV0LA0KPiArCQkJCSZjb25uW2NvdW50XS5mYl90ZXN0X3Bh dHRlcm4pOw0KPiArCQkJcmVzZXRfb3V0cHV0KGNvbm5bY291bnRdLm91dHB1dCk7DQo+ICsJCX0N Cj4gKwl9DQo+ICsJaWd0X2Rpc3BsYXlfY29tbWl0MihkYXRhLT5kaXNwbGF5LCBkYXRhLT5jb21t aXQpOw0KPiArfQ0KPiArDQo+ICtzdGF0aWMgdm9pZCBzZXR1cF9tb2RlKGRhdGFfdCAqZGF0YSwg ZGF0YV9jb25uZWN0b3JfdCAqY29ubl9kYXRhKQ0KDQpUaGlzIGZ1bmN0aW9uIGRvZXNuJ3QgYWN0 dWFsbHkgc2V0dXAgdGhlIG91dHB1dCBtb2RlLCBpdCBvbmx5IHNldHMgdXANCnRoZSBwaXBlLiBJ cyB0aGlzIGFuIG92ZXJsb29rPw0KDQo+ICt7DQo+ICsJaW50IGNvdW50ID0gMDsNCj4gKwllbnVt IHBpcGUgcGlwZTsNCj4gKwlpZ3Rfb3V0cHV0X3QgKm91dHB1dDsNCj4gKw0KPiArCWZvciAoY291 bnQgPSAwOyBjb3VudCA8IGRhdGEtPm51bV9oX3RpbGVzOyBjb3VudCsrKSB7DQo+ICsJCW91dHB1 dCA9IGlndF9vdXRwdXRfZnJvbV9jb25uZWN0b3IoZGF0YS0+ZGlzcGxheSwNCj4gKwkJCQljb25u X2RhdGFbY291bnRdLmNvbm5lY3Rvcik7DQo+ICsNCj4gKwkJLyoNCj4gKwkJICogVGhlIG91dHB1 dCBpcyBzZXQgdG8gUElQRV9OT05FIGFuZCB0aGVuIGFzc2lnbmVkIGEgcGlwZS4NCj4gKwkJICog VGhpcyBpcyBkb25lIHRvIGVuc3VyZSBhIGNvbXBsZXRlIG1vZGVzZXQgb2NjdXJlcyBldmVyeQ0K PiArCQkgKiB0aW1lIHRoZSB0ZXN0IGlzIHJ1bi4NCj4gKwkJICovDQo+ICsJCXJlc2V0X291dHB1 dChvdXRwdXQpOw0KDQpJcyB0aGlzIG5lY2Vzc2FyeT8NCg0KPiArCQlmb3JfZWFjaF9waXBlKGRh dGEtPmRpc3BsYXksIHBpcGUpIHsNCj4gKwkJCWlmIChjb3VudCA+IDAgJiYgcGlwZSA9PSBjb25u X2RhdGFbY291bnQtMV0ucGlwZSkNCj4gKwkJCQljb250aW51ZTsNCj4gKw0KPiArCQkJaWYgKGln dF9waXBlX2Nvbm5lY3Rvcl92YWxpZChwaXBlLCBvdXRwdXQpKSB7DQo+ICsNCj4gKwkJCQljb25u X2RhdGFbY291bnRdLnBpcGUgPSBwaXBlOw0KPiArCQkJCWNvbm5fZGF0YVtjb3VudF0ub3V0cHV0 ID0gb3V0cHV0Ow0KPiArDQo+ICsJCQkJaWd0X291dHB1dF9zZXRfcGlwZShjb25uX2RhdGFbY291 bnRdLm91dHB1dCwNCj4gKwkJCQkJY29ubl9kYXRhW2NvdW50XS5waXBlKTsNCj4gKwkJCQlicmVh azsNCj4gKwkJCX0NCj4gKwkJfQ0KPiArCX0NCj4gKwlpZ3RfZGlzcGxheV9jb21taXRfYXRvbWlj KGRhdGEtPmRpc3BsYXksIERSTV9NT0RFX0FUT01JQ19BTExPV19NT0RFU0VULA0KPiArCQlOVUxM KTsNCj4gK30NCj4gKw0KPiArc3RhdGljIHZvaWQgc2V0dXBfZnJhbWVidWZmZXIoZGF0YV90ICpk YXRhLCBkYXRhX2Nvbm5lY3Rvcl90ICpjb25uKQ0KPiArew0KPiArCWludCBjb3VudDsNCj4gKwlp Z3RfcGxhbmVfdCAqcHJpbWFyeTsNCj4gKw0KPiArCWZvciAoY291bnQgPSAwOyBjb3VudCA8IGRh dGEtPm51bV9oX3RpbGVzOyBjb3VudCsrKSB7DQo+ICsNCj4gKwkJaWd0X2NyZWF0ZV9wYXR0ZXJu X2ZiKGRhdGEtPmRybV9mZCwNCj4gKwkJCShjb25uW2NvdW50XS50aWxlLnRpbGVfaF9zaXplICoN Cj4gKwkJCWRhdGEtPm51bV9oX3RpbGVzKSwNCg0KRG8gd2UgbmVlZCB0byBtdWx0aXBseSBieSB0 aGUgbnVtYmVyIG9mIGhvcml6b250YWwgdGlsZXMgaGVyZT8gSXQgc2VlbXMNCndlIG9ubHkgdXNl IHRoZSBmaXJzdCB0aWxlX2hfc2l6ZSBwaXhlbHMgb2YgdGhlIGJ1ZmZlci4gQW0gSSBtaXNzaW5n DQpzb21ldGhpbmc/DQoNCkJ1dCBtYXliZSBhIHRlc3QgdGhhdCB3b3VsZCBiZXR0ZXIgcmVmbGVj dCByZWFsaXR5IHdvdWxkIGNyZWF0ZSBhDQpzaW5nbGUgZnJhbWVidWZmZXIgZm9yIGFsbCB0aWxl ZCBkaXNwbGF5cywgdG8gZGlzcGxheSBhIHNpbmdsZSBpbWFnZQ0KYWNyb3NzIGFsbCBvZiB0aGVt Pw0KDQo+ICsJCQljb25uW2NvdW50XS50aWxlLnRpbGVfdl9zaXplLA0KPiArCQkJRFJNX0ZPUk1B VF9YQkdSODg4OCwNCj4gKwkJCUxPQ0FMX0RSTV9GT1JNQVRfTU9EX05PTkUsDQo+ICsJCQkmY29u bltjb3VudF0uZmJfdGVzdF9wYXR0ZXJuKTsNCj4gKw0KPiArCQlwcmltYXJ5ID0gaWd0X291dHB1 dF9nZXRfcGxhbmVfdHlwZShjb25uW2NvdW50XS5vdXRwdXQsDQo+ICsJCQkJRFJNX1BMQU5FX1RZ UEVfUFJJTUFSWSk7DQo+ICsNCj4gKwkJaWd0X3BsYW5lX3NldF9mYihwcmltYXJ5LCAmY29ubltj b3VudF0uZmJfdGVzdF9wYXR0ZXJuKTsNCj4gKw0KPiArCQlpZ3RfZmJfc2V0X3NpemUoJmNvbm5b Y291bnRdLmZiX3Rlc3RfcGF0dGVybiwgcHJpbWFyeSwNCj4gKwkJCQljb25uW2NvdW50XS50aWxl LnRpbGVfaF9zaXplLA0KPiArCQkJCWNvbm5bY291bnRdLnRpbGUudGlsZV92X3NpemUpOw0KPiAr DQo+ICsJCWlndF9mYl9zZXRfcG9zaXRpb24oJmNvbm5bY291bnRdLmZiX3Rlc3RfcGF0dGVybiwg cHJpbWFyeSwNCj4gKwkJCQkoY29ubltjb3VudF0udGlsZS50aWxlX2hfc2l6ZSAqDQo+ICsJCQkJ Y29ubltjb3VudF0udGlsZS50aWxlX2hfbG9jKSwNCj4gKwkJCQkoY29ubltjb3VudF0udGlsZS50 aWxlX3Zfc2l6ZSAqDQo+ICsJCQkJY29ubltjb3VudF0udGlsZS50aWxlX3ZfbG9jKSk7DQo+ICsN Cj4gKwkJaWd0X3BsYW5lX3NldF9zaXplKHByaW1hcnksDQo+ICsJCQkJY29ubltjb3VudF0udGls ZS50aWxlX2hfc2l6ZSwNCj4gKwkJCQljb25uW2NvdW50XS50aWxlLnRpbGVfdl9zaXplKTsNCj4g Kwl9DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB2b2lkIHBhZ2VfZmxpcF9oYW5kbGVyKGludCBmZCwg dW5zaWduZWQgaW50IHNlcSwNCj4gKwkJdW5zaWduZWQgaW50IHR2X3NlYywgdW5zaWduZWQgaW50 IHR2X3VzZWMsDQo+ICsJCXVuc2lnbmVkIGludCBjcnRjX2lkLCB2b2lkICpkYXRhKQ0KPiArew0K PiArCWJvb2wgZXhwciA9IGZhbHNlOw0KPiArCXN0YXRpYyB1bnNpZ25lZCBpbnQgX3R2X3NlYywg X3R2X3VzZWM7DQo+ICsNCj4gKwlpZ3RfZGVidWcoIlBhZ2UgRmxpcCBFdmVudCByZWNlaXZlZCBm cm9tIENSVEM6JWQgYXQgJXU6JXVcbiIsIGNydGNfaWQsDQo+ICsJCXR2X3NlYywgdHZfdXNlYyk7 DQoNCldlIHNob3VsZCBhbHNvIG1ha2Ugc3VyZSB3ZSByZWNlaXZlIGV4YWN0bHkgb25lIHBhZ2Ut ZmxpcCBwZXIgQ1JUQy4NCkN1cnJlbnRseSB3ZSBkb24ndCB1c2UgY3J0Y19pZCAoYXBhcnQgZnJv bSBsb2dnaW5nIHB1cnBvc2VzKS4NCg0KPiArCS8qIFNraXAgdGhlIGZvbGxvd2luZyBjaGVja3Mg Zm9yIHRoZSBmaXJzdCBwYWdlIGZsaXAgZXZlbnQgKi8NCj4gKwlpZiAoX3R2X3NlYyA9PSAwIHx8 IF90dl91c2VjID09IDApIHsNCj4gKwkJX3R2X3NlYyA9IHR2X3NlYzsNCj4gKwkJX3R2X3VzZWMg PSB0dl91c2VjOw0KPiArCQlyZXR1cm47DQo+ICsJfQ0KPiArDQo+ICsJLyoNCj4gKwkgKiBGb3Ig c2VhbWxlc3MgdGVhci1mcmVlIGRpc3BsYXksIHRoZSBwYWdlIGZsaXAgZXZlbnQgdGltZXN0YW1w cw0KPiArCSAqIGZyb20gYWxsIHRoZSB0aWxlcyBzaG91bGQgbm90IGRpZmZlciBieSBtb3JlIHRo YW4gMTB1cy4NCj4gKwkgKi8NCj4gKwlleHByID0gdHZfc2VjID09IF90dl9zZWMgJiYgKGFicyh0 dl91c2VjIC0gX3R2X3VzZWMpIDwgMTApOw0KDQpOaXQ6IHRoaXMgY291bGQgYmUgcmVuYW1lZCB0 byBlLmcuIGlzX29uX3RpbWUsIGV4cHIgaXMgYSBwcmV0dHkgdmFndWUNCm5hbWUuDQoNCj4gKwlp Z3RfZmFpbF9vbl9mKCFleHByLCAiRGVsYXllZCBwYWdlIGZsaXAgZXZlbnQgZnJvbSBDUlRDOiVk IGF0ICV1OiV1XG4iLA0KPiArCQljcnRjX2lkLCB0dl9zZWMsIHR2X3VzZWMpOw0KPiArDQo+ICsJ aWYgKHR2X3NlYyA8IF90dl9zZWMpDQo+ICsJCV90dl9zZWMgPSB0dl9zZWM7DQo+ICsJaWYgKHR2 X3VzZWMgPCBfdHZfdXNlYykNCj4gKwkJX3R2X3VzZWMgPSB0dl91c2VjOw0KDQpUaGlzIHVwZGF0 ZXMgdGhlIHRpbWVzdGFtcCBvbiBlYWNoIHBhZ2UtZmxpcC4gVGhpcyBtZWFucyB0aGF0IHRoZSBm aXJzdA0KYW5kIGxhc3QgcGFnZS1mbGlwcyBjb3VsZCBiZSBkZWxheWVkIGJ5IG1vcmUgdGhhbiAx MMK1cyBpZiB0aGVyZSBhcmUNCmludGVybWVkaWF0ZSBwYWdlLWZsaXBzLiBGb3IgaW5zdGFuY2Us IGlmIHRoZSBmaXJzdCBwYWdlLWZsaXAgaGFwcGVucw0KYXQgdD0wwrVzIGFuZCB0aGUgc2Vjb25k IG9uZSBoYXBwZW5zIGF0IHQ9OcK1cywgdGhlIGxhc3Qgb25lIGNvdWxkIGhhcHBlbg0KYXQgdD0x OMK1cyB3aXRob3V0IG1ha2luZyB0aGlzIHRlc3QgZmFpbHMuIElzIHRoaXMgc29tZXRoaW5nIHdl IHdhbnQgdG8NCmFsbG93Pw0KDQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB2b2lkIHdhaXRfZm9yX3Bh Z2VmbGlwKGludCBkcm1fZmQpDQo+ICt7DQo+ICsJc3RydWN0IHBvbGxmZCBwZmQ7DQo+ICsJZHJt RXZlbnRDb250ZXh0IGRybV9ldmVudDsNCg0KTml0OiB0byBtYWtlIHN1cmUgZ2FyYmFnZSBpc24n dCByZWFkIGZyb20gdGhpcyBzdHJ1Y3QgKHRoZXJlIGFyZSBvdGhlcg0KZnVuY3Rpb24gcG9pbnRl cnMpLCBpdCdzIHByb2JhYmx5IHNhZmVyIHRvIHplcm8tZmlsbCBpdCAoPSB7MH0pLg0KDQo+ICsJ ZHJtX2V2ZW50LnZlcnNpb24gPSAzOw0KPiArCWRybV9ldmVudC5wYWdlX2ZsaXBfaGFuZGxlcjIg PSBwYWdlX2ZsaXBfaGFuZGxlcjsNCj4gKw0KPiArCXBmZC5mZCA9IGRybV9mZDsNCj4gKwlwZmQu ZXZlbnRzID0gUE9MTElOOw0KPiArCXBmZC5yZXZlbnRzID0gMDsNCj4gKw0KPiArCXBvbGwoJnBm ZCwgMSwgMTAwMCk7DQoNCk1heWJlIHdlIHNob3VsZCBjaGVjayBwb2xsKDIpJ3MgcmV0dXJuIHZh bHVlPw0KDQo+ICsJaWYgKHBmZC5yZXZlbnRzICYgUE9MTElOKQ0KPiArCQlkcm1IYW5kbGVFdmVu dChkcm1fZmQsICZkcm1fZXZlbnQpOw0KDQpJZiB3ZSBkb24ndCBnZXQgUE9MTElOIChlLmcuIGlm IHdlIHRpbWVvdXQpLCB3YWl0X2Zvcl9wYWdlZmxpcCB3aWxsDQpzaWxlbnRseSBkbyBub3RoaW5n LCBhbmQgdGhlIHRlc3Qgd2lsbCBwYXNzLiBJbnN0ZWFkLCB3ZSBwcm9iYWJseSB3YW50DQp0byBm YWlsIGluIHRoaXMgY2FzZS4NCg0KPiArfQ0KPiArDQo+ICtpZ3RfbWFpbg0KPiArew0KPiArCWln dF9kaXNwbGF5X3QgZGlzcGxheTsNCj4gKwlkYXRhX2Nvbm5lY3Rvcl90ICpjb25uX2RhdGEgPSBO VUxMOw0KPiArCWRhdGFfdCBkYXRhID0gey5kcm1fZmQgPSAwLCAubnVtX2hfdGlsZXMgPSAwLA0K PiArCQkgICAgICAgLmRpc3BsYXkgPSBOVUxMLCAuY29tbWl0ID0gQ09NTUlUX0xFR0FDWX07DQoN Ck5pdDogb25lIGNhbiBqdXN0IGRvIGFzc2lnbiB0byB7MH0gdG8gemVyby1maWxsIHRoZSBzdHJ1 Y3QuDQoNCj4gKwlpZ3RfZml4dHVyZSB7DQo+ICsJCWRhdGEuZHJtX2ZkID0gZHJtX29wZW5fZHJp dmVyX21hc3RlcihEUklWRVJfQU5ZKTsNCj4gKw0KPiArCQlrbXN0ZXN0X3NldF92dF9ncmFwaGlj c19tb2RlKCk7DQo+ICsJCWlndF9kaXNwbGF5X3JlcXVpcmUoJmRpc3BsYXksIGRhdGEuZHJtX2Zk KTsNCj4gKwkJaWd0X2Rpc3BsYXlfcmVzZXQoJmRpc3BsYXkpOw0KPiArDQo+ICsJCWRhdGEuZGlz cGxheSA9ICZkaXNwbGF5Ow0KPiArDQo+ICsJCWdldF9udW1iZXJfb2ZfaF90aWxlcygmZGF0YSk7 DQo+ICsJCWlndF9kZWJ1ZygiTnVtYmVyIG9mIEhvcml6b250YWwgVGlsZXM6ICVkXG4iLCBkYXRh Lm51bV9oX3RpbGVzKTsNCj4gKw0KPiArCQlkYXRhLmNvbW1pdCA9IGRhdGEuZGlzcGxheS0+aXNf YXRvbWljID8gQ09NTUlUX0FUT01JQyA6IENPTU1JVF9MRUdBQ1k7DQoNClNob3VsZCB3ZSB0cnkg dG8gcnVuIHRoaXMgdGVzdCBhdCBhbGwgb24gZHJpdmVycyB0aGF0IGRvbid0IHN1cHBvcnQNCmF0 b21pYz8NCg0KSWYgdGhlIGRyaXZlciBkb2Vzbid0IHN1cHBvcnQgYXRvbWljLCB1c2VyLXNwYWNl IHdpbGwgc3VibWl0IHR3byBwYWdlLQ0KZmxpcCByZXF1ZXN0cy4gSG93ZXZlciBpdCdzIHBvc3Np YmxlIHRoYXQgdGhlIGhhcmR3YXJlIGV4ZWN1dGVzIGEgcGFnZS0NCmZsaXAgYmV0d2VlbiBib3Ro IHJlcXVlc3RzOiB1c2VyLXNwYWNlIGNhbGxzIHRoZSBmaXJzdCBkcm1Nb2RlUGFnZUZsaXAsDQp0 aGUgdmJsYW5rIGZvciB0aGlzIHBhcnRpY3VsYXIgQ1JUQyB0cmlnZ2VycywgdGhlbiB1c2VyLXNw YWNlIGNhbGxzIHRoZQ0Kc2Vjb25kIGRybU1vZGVQYWdlRmxpcC4gUGFnZS1mbGlwcyB3aWxsIGJl IG91dC1vZi1zeW5jIGJ5IG9uZSBmcmFtZS4NCg0KPiArCQlpZiAoZGF0YS5udW1faF90aWxlcyA+ IDApDQo+ICsJCQljb25uX2RhdGEgPSBtYWxsb2MoZGF0YS5udW1faF90aWxlcyAqIHNpemVvZihk YXRhX2Nvbm5lY3Rvcl90KSk7DQo+ICsJfQ0KPiArDQo+ICsJaWd0X3N1YnRlc3QoImJhc2ljLXRl c3QtcGF0dGVybiIpIHsNCj4gKwkJaWd0X3NraXBfb24oZGF0YS5udW1faF90aWxlcyA9PSAwKTsN Cj4gKwkJaWd0X2Fzc2VydChjb25uX2RhdGEpOw0KPiArDQo+ICsJCWdldF9jb25uZWN0b3IoJmRh dGEsIGNvbm5fZGF0YSk7DQo+ICsJCXNldHVwX21vZGUoJmRhdGEsIGNvbm5fZGF0YSk7DQo+ICsJ CXNldHVwX2ZyYW1lYnVmZmVyKCZkYXRhLCBjb25uX2RhdGEpOw0KPiArCQlpZ3RfZGlzcGxheV9j b21taXRfYXRvbWljKGRhdGEuZGlzcGxheSwgRFJNX01PREVfQVRPTUlDX05PTkJMT0NLIHwNCj4g KwkJCURSTV9NT0RFX1BBR0VfRkxJUF9FVkVOVCwgTlVMTCk7DQo+ICsJCXdhaXRfZm9yX3BhZ2Vm bGlwKGRhdGEuZHJtX2ZkKTsNCg0KSGVyZSB3ZSBvbmx5IHdhaXQgZm9yIGEgc2luZ2xlIHBhZ2Ut ZmxpcC4gVGhpcyB3aWxsIG9ubHkgc3Rhc2ggdGhlDQp0aW1lc3RhbXAgb2YgdGhlIGZyc3QgcGFn ZS1mbGlwIHdpdGhvdXQgY2hlY2tpbmcgdGhlIHRpbWUtc3RhbXAgb2YNCnN1YnNlcXVlbnQgcGFn ZS1mbGlwcy4gV2Ugc2hvdWxkIHdhaXQgZm9yIGFzIG1hbnkgcGFnZS1mbGlwcyBhcyBlbmFibGVk DQp0aWxlZCBjb25uZWN0b3JzLg0KDQo+ICsJCXRlc3RfY2xlYW51cCgmZGF0YSwgY29ubl9kYXRh KTsNCj4gKwl9DQo+ICsNCj4gKwlpZ3RfZml4dHVyZSB7DQo+ICsJCWZyZWUoY29ubl9kYXRhKTsN Cj4gKwkJY2xvc2UoZGF0YS5kcm1fZmQpOw0KPiArCQlrbXN0ZXN0X3Jlc3RvcmVfdnRfbW9kZSgp Ow0KPiArCQlpZ3RfZGlzcGxheV9maW5pKGRhdGEuZGlzcGxheSk7DQo+ICsJfQ0KPiArfQ0KPiBk aWZmIC0tZ2l0IGEvdGVzdHMvbWVzb24uYnVpbGQgYi90ZXN0cy9tZXNvbi5idWlsZA0KPiBpbmRl eCBhN2IyYjMyMi4uNTAyOTJkZjggMTAwNjQ0DQo+IC0tLSBhL3Rlc3RzL21lc29uLmJ1aWxkDQo+ ICsrKyBiL3Rlc3RzL21lc29uLmJ1aWxkDQo+IEBAIC0yNiw2ICsyNiw3IEBAIHRlc3RfcHJvZ3Mg PSBbDQo+ICAJJ2ttc19jdXJzb3JfZWRnZV93YWxrJywNCj4gIAkna21zX2N1cnNvcl9sZWdhY3kn LA0KPiAgCSdrbXNfZHBfZHNjJywNCj4gKwkna21zX2RwX3RpbGVkX2Rpc3BsYXknLA0KPiAgCSdr bXNfZHJhd19jcmMnLA0KPiAgCSdrbXNfZmJjb25fZmJ0JywNCj4gIAkna21zX2ZlbmNlX3Bpbl9s ZWFrJywNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmln dC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==