From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CE775C433FE for ; Fri, 18 Mar 2022 07:39:23 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 5BEB510E583; Fri, 18 Mar 2022 07:39:23 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 23E2210E583 for ; Fri, 18 Mar 2022 07:39:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1647589162; x=1679125162; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=fXT0jbJH8UCnBpQBMIfnxNoQ0fANkKuP/XWq/T3wAqg=; b=iFRxwFWJ1oBXcfM8YDWPKqv3419sIEVA5Tzt7G8sIsQDPCY9IpfW1rN1 u4O6rGpXcVEWPnzvkY2kO0NYZYy5rxCFAgJauyR5o2EpvME1mlnUvsNy+ e7SEbRlPhXvWhhOAztNFg0hQIpFQoio5TX+TjO3hjArfX5cbNINawNjG8 NdEHr0c1BaQfwZMWDkR8UTb2AvojIbqXcI4IORftkqWcd1RhZb8PL9DDB D6ll4U4ALGMb1Eigm0nCIYR75IdSsj8h2MuOqlZx0UOB/s2TQaOpZdrPE +xvpgZaNPk2EdM/cdtwbfRPChU0Bt77HQbPBlgHrsy+yQrltAWoXCtQCD A==; X-IronPort-AV: E=McAfee;i="6200,9189,10289"; a="237031042" X-IronPort-AV: E=Sophos;i="5.90,191,1643702400"; d="scan'208";a="237031042" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Mar 2022 00:39:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,191,1643702400"; d="scan'208";a="499144673" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga003.jf.intel.com with ESMTP; 18 Mar 2022 00:39:21 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Fri, 18 Mar 2022 00:39:21 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Fri, 18 Mar 2022 00:39:20 -0700 Received: from orsmsx611.amr.corp.intel.com ([10.22.229.24]) by ORSMSX611.amr.corp.intel.com ([10.22.229.24]) with mapi id 15.01.2308.021; Fri, 18 Mar 2022 00:39:20 -0700 From: "Kasireddy, Vivek" To: Tvrtko Ursulin , "intel-gfx@lists.freedesktop.org" Thread-Topic: [PATCH v1] drm/i915/gem: Don't evict unmappable VMAs when pinning with PIN_MAPPABLE Thread-Index: AQHYOdJ8fm3xk3+SKUWXVsUWWq6nuazD4oiAgADTUcA= Date: Fri, 18 Mar 2022 07:39:20 +0000 Message-ID: References: <20220317072333.1048130-1-vivek.kasireddy@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.401.20 dlp-reaction: no-action x-originating-ip: [10.22.254.132] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH v1] drm/i915/gem: Don't evict unmappable VMAs when pinning with PIN_MAPPABLE X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" SGkgVHZydGtvLA0KDQo+IA0KPiBPbiAxNy8wMy8yMDIyIDA3OjIzLCBWaXZlayBLYXNpcmVkZHkg d3JvdGU6DQo+ID4gT24gcGxhdGZvcm1zIGNhcGFibGUgb2YgYWxsb3dpbmcgOEsgKDc2ODAgeCA0 MzIwKSBtb2RlcywgcGlubmluZyAyIG9yDQo+ID4gbW9yZSBmcmFtZWJ1ZmZlcnMvc2Nhbm91dCBi dWZmZXJzIHJlc3VsdHMgaW4gb25seSBvbmUgdGhhdCBpcyBtYXBwYWJsZS8NCj4gPiBmZW5jZWFi bGUuIFRoZXJlZm9yZSwgcGFnZWZsaXBwaW5nIGJldHdlZW4gdGhlc2UgMiBGQnMgd2hlcmUgb25s eSBvbmUNCj4gPiBpcyBtYXBwYWJsZS9mZW5jZWFibGUgY3JlYXRlcyBsYXRlbmNpZXMgbGFyZ2Ug ZW5vdWdoIHRvIG1pc3MgYWx0ZXJuYXRlDQo+ID4gdmJsYW5rcyB0aGVyZWJ5IHByb2R1Y2luZyBs ZXNzIG9wdGltYWwgZnJhbWVyYXRlLg0KPiA+DQo+ID4gVGhpcyBtYWlubHkgaGFwcGVucyBiZWNh dXNlIHdoZW4gaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKCkNCj4gPiBpcyBj YWxsZWQgdG8gcGluIG9uZSBvZiB0aGUgRkIgb2JqcywgdGhlIGFzc29jaWF0ZWQgdm1hIGlzIGlk ZW50aWZpZWQNCj4gPiBhcyBtaXNwbGFjZWQgLS0gYmVjYXVzZSB0aGVyZSBpcyBubyBzcGFjZSBm b3IgaXQgaW4gdGhlIGFwZXJ0dXJlIC0tDQo+ID4gYW5kIHRoZXJlZm9yZSBpOTE1X3ZtYV91bmJp bmQoKSBpcyBjYWxsZWQgd2hpY2ggdW5iaW5kcyBhbmQgZXZpY3RzIGl0Lg0KPiA+IFRoaXMgbWlz cGxhY2VkIHZtYSBnZXRzIHN1YnNlcWVudGx5IHBpbm5lZCBvbmx5IHdoZW4NCj4gPiBpOTE1X2dl bV9vYmplY3RfZ2d0dF9waW5fd3coKSBpcyBjYWxsZWQgd2l0aG91dCBQSU5fTUFQUEFCTEUuIFRo aXMgd2hvbGUNCj4gPiB0aGluZyByZXN1bHRzIGluIGEgbGF0ZW5jeSBvZiB+MTBtcyBhbmQgaGFw cGVucyBldmVyeSBvdGhlciByZXBhaW50IGN5Y2xlLg0KPiANCj4gSnVzdCBvdXQgb2YgY3VyaW9z aXR5IC0gaGF2ZSB5b3UgbG9va2VkIGF0IHdoZXJlIGRvZXMgdGhpcyAxMG1zIGNvbWUNCj4gZnJv bT8gTGlrZSBpcyBpdCBzaW1wbHkgY2xlYXJpbmcvd3JpdGluZyBQVEVzIHNvIGV4cGVuc2l2ZSwg b3IgdGhlcmUgaXMNCj4gbW9yZSB0byBpdD8gQXBvbG9naWVzIGlmIEkgYXNrZWQgdGhpcyBiZWZv cmUuLg0KW0thc2lyZWRkeSwgVml2ZWtdIEl0IGFwcGVhcnMgdGhlIH4xMG1zIGxhdGVuY3kgc2Vl bXMgdG8gY29tZSBmcm9tIHRoZQ0KZXhlY3V0aW9uIG9mIGdlbjhfZ2d0dF9jbGVhcl9yYW5nZSgp IGFzIHNlZW4gaW4gdGhlIHRyYWNlIGxvZzoNCiAgICAgICAgICB3ZXN0b24tNDEyNCAgWzAwOF0g MTYxMjEwLjM5NzU2MzogZnVuY2dyYXBoX2VudHJ5OiAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICBfX2k5MTVfdm1hX2V2aWN0KCkgew0KICAgICAgICAgIHdlc3Rv bi00MTI0ICBbMDA4XSAxNjEyMTAuMzk3NTY0OiBmdW5jZ3JhcGhfZW50cnk6ICAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2d0dF91bmJpbmRfdm1hKCkgew0K ICAgICAgICAgIHdlc3Rvbi00MTI0ICBbMDA4XSAxNjEyMTAuMzk3NTY0OiBmdW5jZ3JhcGhfZW50 cnk6ICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW44 X2dndHRfY2xlYXJfcmFuZ2UoKSB7DQogICAgICAgICAgd2VzdG9uLTQxMjQgIFswMDhdIDE2MTIx MC40MDgwMTI6IGZ1bmNncmFwaF9leGl0OiAgICAgICAjIDEwNDE2LjI4MSB1cyB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgIHdlc3Rvbi00MTI0ICBbMDA4XSAxNjEy MTAuNDA4MDEyOiBmdW5jZ3JhcGhfZXhpdDogICAgICAgIyAxMDQ0OC43NDAgdXMgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgd2VzdG9uLTQxMjQgIFswMDhdIDE2MTIx MC40MDgwMTI6IGZ1bmNncmFwaF9lbnRyeTogICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICBfX3ZtYV9wdXRfcGFnZXMoKSB7DQogICAgICAgICAgd2VzdG9uLTQx MjQgIFswMDhdIDE2MTIxMC40MDgwMTM6IGZ1bmNncmFwaF9lbnRyeTogICAgICAgIDAuMDgzIHVz ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyX3BhZ2VzKCk7DQogICAgICAg ICAgd2VzdG9uLTQxMjQgIFswMDhdIDE2MTIxMC40MDgwMTM6IGZ1bmNncmFwaF9leGl0OiAgICAg ICAgIDAuNTc4IHVzICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg d2VzdG9uLTQxMjQgIFswMDhdIDE2MTIxMC40MDgwMTM6IGZ1bmNncmFwaF9leGl0OiAgICAgICAj IDEwNDQ5LjYyMiB1cyB8ICAgICAgICAgICAgICAgICAgICAgICAgICB9DQoNCkFuZCwgZm9yIHNv bWUgcmVhc29uLCBJIGNhbid0IGdldCB0cmFjZS1jbWQgdG8gY2FwdHVyZSBtb3JlIHN5bWJvbHMg dG8NCmdhaW4gbW9yZSBpbnNpZ2h0cy4gSG93ZXZlciwgZ2VuOF9nZ3R0X2NsZWFyX3JhbmdlKCkg c2VlbXMgdG8ganVzdCBkbw0KdGhpczoNCiAgICAgICAgZm9yIChpID0gMDsgaSA8IG51bV9lbnRy aWVzOyBpKyspDQogICAgICAgICAgICAgICAgZ2VuOF9zZXRfcHRlKCZndHRfYmFzZVtpXSwgc2Ny YXRjaF9wdGUpOw0Kd2hlcmUsDQp2bWEncyBzdGFydCA9IDE4MjE5MDA4MCwgbGVuZ3RoID0gMTMy NzEwNDAwLCBmaXJzdCA9IDQ0NDgwLCBudW1fZW50cmllcyA9IDMyNDAwDQphbmQgd2UgaGF2ZQ0K dm9pZCBnZW44X3NldF9wdGUodm9pZCBfX2lvbWVtICphZGRyLCBnZW44X3B0ZV90IHB0ZSkNCnsN CiAgICAgICAgd3JpdGVxKHB0ZSwgYWRkcik7DQp9DQoNCkFueSBpZGVhIHdoeSBleGVjdXRpbmcg d3JpdGVxIDMyNDAwIHRpbWVzIHdvdWxkIHJlc3VsdCBpbiBhIGxhdGVuY3kNCm9mIH4xMG1zPw0K DQo+IA0KPiA+IFRoZXJlZm9yZSwgdG8gZml4IHRoaXMgaXNzdWUsIHdlIGp1c3QgZW5zdXJlIHRo YXQgdGhlIG1pc3BsYWNlZCBWTUENCj4gPiBkb2VzIG5vdCBnZXQgZXZpY3RlZCB3aGVuIHdlIHRy eSB0byBwaW4gaXQgd2l0aCBQSU5fTUFQUEFCTEUgLS0gYnkNCj4gPiByZXR1cm5pbmcgZWFybHkg aWYgdGhlIG1hcHBhYmxlL2ZlbmNlYWJsZSBmbGFnIGlzIG5vdCBzZXQuDQo+ID4NCj4gPiBUZXN0 Y2FzZToNCj4gPiBSdW5uaW5nIFdlc3RvbiBhbmQgd2VzdG9uLXNpbXBsZS1lZ2wgb24gYW4gQWxk ZXJsYWtlX1MgKEFETFMpIHBsYXRmb3JtDQo+ID4gd2l0aCBhIDhLQDYwIG1vZGUgcmVzdWx0cyBp biBvbmx5IH40MCBGUFMgKGNvbXBhcmVkIHRvIH41OSBGUFMgd2l0aA0KPiA+IHRoaXMgcGF0Y2gp LiBTaW5jZSB1cHN0cmVhbSBXZXN0b24gc3VibWl0cyBhIGZyYW1lIH43bXMgYmVmb3JlIHRoZQ0K PiA+IG5leHQgdmJsYW5rLCB0aGUgbGF0ZW5jaWVzIHNlZW4gYmV0d2VlbiBhdG9taWMgY29tbWl0 IGFuZCBmbGlwIGV2ZW50DQo+ID4gYXJlIDcsIDI0ICg3ICsgMTYuNjYpLCA3LCAyNC4uLi4uIHN1 Z2dlc3RpbmcgdGhhdCBpdCBtaXNzZXMgdGhlDQo+ID4gdmJsYW5rIGV2ZXJ5IG90aGVyIGZyYW1l Lg0KPiA+DQo+ID4gSGVyZSBpcyB0aGUgZnRyYWNlIHNuaXBwZXQgdGhhdCBzaG93cyB0aGUgc291 cmNlIG9mIHRoZSB+MTBtcyBsYXRlbmN5Og0KPiA+ICAgICAgICAgICAgICAgIGk5MTVfZ2VtX29i amVjdF9waW5fdG9fZGlzcGxheV9wbGFuZSgpIHsNCj4gPiAwLjEwMiB1cyAgIHwgICAgaTkxNV9n ZW1fb2JqZWN0X3NldF9jYWNoZV9sZXZlbCgpOw0KPiA+ICAgICAgICAgICAgICAgICAgaTkxNV9n ZW1fb2JqZWN0X2dndHRfcGluX3d3KCkgew0KPiA+IDAuMzkwIHVzICAgfCAgICAgIGk5MTVfdm1h X2luc3RhbmNlKCk7DQo+ID4gMC4xNzggdXMgICB8ICAgICAgaTkxNV92bWFfbWlzcGxhY2VkKCk7 DQo+ID4gICAgICAgICAgICAgICAgICAgIGk5MTVfdm1hX3VuYmluZCgpIHsNCj4gPiAgICAgICAg ICAgICAgICAgICAgX19pOTE1X2FjdGl2ZV93YWl0KCkgew0KPiA+IDAuMDgyIHVzICAgfCAgICAg ICAgaTkxNV9hY3RpdmVfYWNxdWlyZV9pZl9idXN5KCk7DQo+ID4gMC40NzUgdXMgICB8ICAgICAg fQ0KPiA+ICAgICAgICAgICAgICAgICAgICBpbnRlbF9ydW50aW1lX3BtX2dldCgpIHsNCj4gPiAw LjA4NyB1cyAgIHwgICAgICAgIGludGVsX3J1bnRpbWVfcG1fYWNxdWlyZSgpOw0KPiA+IDAuMjU5 IHVzICAgfCAgICAgIH0NCj4gPiAgICAgICAgICAgICAgICAgICAgX19pOTE1X2FjdGl2ZV93YWl0 KCkgew0KPiA+IDAuMDg1IHVzICAgfCAgICAgICAgaTkxNV9hY3RpdmVfYWNxdWlyZV9pZl9idXN5 KCk7DQo+ID4gMC4yNDAgdXMgICB8ICAgICAgfQ0KPiA+ICAgICAgICAgICAgICAgICAgICBfX2k5 MTVfdm1hX2V2aWN0KCkgew0KPiA+ICAgICAgICAgICAgICAgICAgICAgIGdndHRfdW5iaW5kX3Zt YSgpIHsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgIGdlbjhfZ2d0dF9jbGVhcl9yYW5nZSgp IHsNCj4gPiAxMDUwNy4yNTUgdXMgfCAgICAgICAgfQ0KPiA+IDEwNTA3LjY4OSB1cyB8ICAgICAg fQ0KPiA+IDEwNTA4LjUxNiB1cyB8ICAgfQ0KPiA+DQo+ID4gQ2M6IFR2cnRrbyBVcnN1bGluIDx0 dnJ0a28udXJzdWxpbkBsaW51eC5pbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogVml2ZWsg S2FzaXJlZGR5IDx2aXZlay5rYXNpcmVkZHlAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyB8IDggKysrKysrKy0NCj4gPiAgIDEgZmlsZSBj aGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPg0KPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYw0KPiA+IGluZGV4IDk3NDc5MjRjYzU3Yi4uNzMwN2M1ZGUxYzU4IDEwMDY0 NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMNCj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jDQo+ID4gQEAgLTkzOSw4ICs5MzksMTQgQEAg aTkxNV9nZW1fb2JqZWN0X2dndHRfcGluX3d3KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0DQo+ ICpvYmosDQo+ID4gICAJCQlpZiAoaTkxNV92bWFfaXNfcGlubmVkKHZtYSkgfHwgaTkxNV92bWFf aXNfYWN0aXZlKHZtYSkpDQo+ID4gICAJCQkJcmV0dXJuIEVSUl9QVFIoLUVOT1NQQyk7DQo+ID4N Cj4gPiArCQkJLyoNCj4gPiArCQkJICogSWYgdGhpcyBtaXNwbGFjZWQgdm1hIGlzIHRvbyBiaWcg KGkuZSwgYXQtbGVhc3QNCj4gPiArCQkJICogaGFsZiB0aGUgc2l6ZSBvZiBhcGVydHVyZSkgb3Ig anVzdCB1bm1hcHBhYmxlLA0KPiA+ICsJCQkgKiB3ZSB3b3VsZCBub3QgYmUgYWJsZSB0byBwaW4g d2l0aCBQSU5fTUFQUEFCTEUuDQo+ID4gKwkJCSAqLw0KPiANCj4gSSB3b3VsZCBiZSB0ZW1wdGVk IHRvIGRlc2NyaWJlIHRoZSBwaW5nLXBvbmcgaXNzdWUgaW4gdGhlIGNvbW1lbnQuIEluDQo+IHNo b3J0IHdvdWxkIGRvIGl0LCBidXQganVzdCBiZWNhdXNlIGdpdCBibGFtZSBvbiBhIGxpbmUgb2Yg Y29kZSB0ZW5kcyB0bw0KPiBmYWlsIHRvIGxlYWQgdG8gdGhlIGNvcnJlY3QgY29tbWl0IG1lc3Nh Z2UgYWZ0ZXIgYSB3aGlsZS4NCj4gDQo+IFNvIG1heWJlIGp1c3Qgc2F5IGFsb25nIHRoZSBsaW5l cyBvZiAiSWYgdGhlIG1pc3BsYWNlZCB2bWEgaXMgdG9vIGJpZw0KPiAuLi4gb3IgaGFzbid0IGJl ZW4gcGlubmVkIG1hcHBhYmxlIGJlZm9yZSwgd2UgaWdub3JlIHRoZSBtaXNwbGFjZW1lbnQNCj4g d2hlbiBQSU5fTk9OQkxPQ0sgaXMgc2V0IGluIG9yZGVyIHRvIGF2b2lkIHBpbmctcG9uZyBvZiBk b3VibGUgKG9yIG1vcmUpDQo+IC1idWZmZXJlZCBmcmFtZSBidWZmZXJzIGludG8gdGhlIGFwZXJ0 dXJlIGFuZCBvdXQgb24gZXZlcnkgdmJsYW5rLiINCltLYXNpcmVkZHksIFZpdmVrXSBPaywgd2ls bCBpbmNsdWRlIG1vcmUgY29tbWVudHMgaW4gdjIuDQoNCj4gDQo+ID4gICAJCQlpZiAoZmxhZ3Mg JiBQSU5fTUFQUEFCTEUgJiYNCj4gPiAtCQkJICAgIHZtYS0+ZmVuY2Vfc2l6ZSA+IGdndHQtPm1h cHBhYmxlX2VuZCAvIDIpDQo+ID4gKwkJCSAgICAodm1hLT5mZW5jZV9zaXplID4gZ2d0dC0+bWFw cGFibGVfZW5kIC8gMiB8fA0KPiA+ICsJCQkgICAgIWk5MTVfdm1hX2lzX21hcF9hbmRfZmVuY2Vh YmxlKHZtYSkpKQ0KPiA+ICAgCQkJCXJldHVybiBFUlJfUFRSKC1FTk9TUEMpOw0KPiA+ICAgCQl9 DQo+ID4NCj4gDQo+IFdpdGggdGhlIGV4cGFuZGVkIGNvbW1lbnQgaXQgbG9va3MgZ29vZCB0byBt ZS4NCj4gDQo+IFJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50 ZWwuY29tPg0KW0thc2lyZWRkeSwgVml2ZWtdIFRoYW5rIHlvdSBmb3IgdGhlIHJldmlldy4NCg0K VGhhbmtzLA0KVml2ZWsNCj4gDQo+ICsgRGFuaWVsIGlmIGhlIHdhbnRzIHRvIGRvdWJsZSBjaGVj ayBpdC4NCj4gDQo+IFJlZ2FyZHMsDQo+IA0KPiBUdnJ0a28NCg==