From mboxrd@z Thu Jan 1 00:00:00 1970 From: shuang.he@intel.com Subject: Re: [PATCH] drm/i915: Do not leak VMAs (and PPGTT VMs) of imported flinked objects Date: 20 Apr 2015 09:57:54 -0700 Message-ID: References: <1429532074-30022-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 8478F6E494 for ; Mon, 20 Apr 2015 09:58:05 -0700 (PDT) In-Reply-To: <1429532074-30022-1-git-send-email-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: shuang.he@intel.com, ethan.gao@intel.com, intel-gfx@lists.freedesktop.org, tvrtko.ursulin@linux.intel.com List-Id: intel-gfx@lists.freedesktop.org VGVzdGVkLUJ5OiBJbnRlbCBHcmFwaGljcyBRQSBQUlRTIChQYXRjaCBSZWdyZXNzaW9uIFRlc3Qg U3lzdGVtIENvbnRhY3Q6IHNodWFuZy5oZUBpbnRlbC5jb20pClRhc2sgaWQ6IDYyMzUKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVN1bW1hcnktLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tClBsYXRmb3JtICAgICAgICAgIERlbHRhICAgICAgICAgIGRybS1p bnRlbC1uaWdodGx5ICAgICAgICAgIFNlcmllcyBBcHBsaWVkClBOViAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAyNzYvMjc2ICAgICAgICAgICAgICAyNzYvMjc2CklMSyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDIvMzAyICAgICAgICAgICAgICAzMDIvMzAyClNO QiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMTgvMzE4ICAgICAgICAgICAgICAz MTgvMzE4CklWQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNDEvMzQxICAgICAg ICAgICAgICAzNDEvMzQxCkJZVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyODcv Mjg3ICAgICAgICAgICAgICAyODcvMjg3CkJEVyAgICAgICAgICAgICAgICAgLTM1ICAgICAgICAg ICAgICAzMTgvMzE4ICAgICAgICAgICAgICAyODMvMzE4Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS1EZXRhaWxlZC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KUGxhdGZvcm0gIFRlc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRybS1pbnRl bC1uaWdodGx5ICAgICAgICAgIFNlcmllcyBBcHBsaWVkCipCRFcgIGlndEBnZW1fZmVuY2VkX2V4 ZWNfdGhyYXNoQG5vLXNwYXJlLWZlbmNlcy1idXN5LWludGVycnVwdGlibGUgICAgICBQQVNTKDIp ICAgICAgRE1FU0dfV0FSTigyKQooZG1lc2cgcGF0Y2ggYXBwbGllZClXQVJOSU5HOmF0X2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmM6I2k5MTVfZ2VtX3VuYmluZF92bWFbaTkxNV0oKUBX QVJOSU5HOi4qIGF0IC4qIGk5MTVfZ2VtX3VuYmluZF92bWEKKkJEVyAgaWd0QGdlbV9wZXJzaXN0 ZW50X3JlbG9jc0Bmb3JrZWQtaW50ZXJydXB0aWJsZSAgICAgIFBBU1MoMikgICAgICBETUVTR19X QVJOKDIpCihkbWVzZyBwYXRjaCBhcHBsaWVkKVdBUk5JTkc6YXRfZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYzojaTkxNV9nZW1fdW5iaW5kX3ZtYVtpOTE1XSgpQFdBUk5JTkc6LiogYXQg LiogaTkxNV9nZW1fdW5iaW5kX3ZtYQoqQkRXICBpZ3RAZ2VtX3BlcnNpc3RlbnRfcmVsb2NzQGZv cmtlZC1pbnRlcnJ1cHRpYmxlLWZhdWx0aW5nLXJlbG9jICAgICAgUEFTUygyKSAgICAgIERNRVNH X1dBUk4oMikKKGRtZXNnIHBhdGNoIGFwcGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jOiNpOTE1X2dlbV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBh dCAuKiBpOTE1X2dlbV91bmJpbmRfdm1hCipCRFcgIGlndEBnZW1fcGVyc2lzdGVudF9yZWxvY3NA Zm9ya2VkLWludGVycnVwdGlibGUtZmF1bHRpbmctcmVsb2MtdGhyYXNoLWluYWN0aXZlICAgICAg UEFTUygyKSAgICAgIERNRVNHX1dBUk4oMikKKGRtZXNnIHBhdGNoIGFwcGxpZWQpV0FSTklORzph dF9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOiNpOTE1X2dlbV91bmJpbmRfdm1hW2k5 MTVdKClAV0FSTklORzouKiBhdCAuKiBpOTE1X2dlbV91bmJpbmRfdm1hCipCRFcgIGlndEBnZW1f cGVyc2lzdGVudF9yZWxvY3NAZm9ya2VkLWludGVycnVwdGlibGUtZmF1bHRpbmctcmVsb2MtdGhy YXNoaW5nICAgICAgUEFTUygyKSAgICAgIERNRVNHX1dBUk4oMikKKGRtZXNnIHBhdGNoIGFwcGxp ZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOiNpOTE1X2dlbV91 bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBhdCAuKiBpOTE1X2dlbV91bmJpbmRfdm1hCipC RFcgIGlndEBnZW1fcGVyc2lzdGVudF9yZWxvY3NAZm9ya2VkLWludGVycnVwdGlibGUtdGhyYXNo LWluYWN0aXZlICAgICAgUEFTUygyKSAgICAgIERNRVNHX1dBUk4oMikKKGRtZXNnIHBhdGNoIGFw cGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOiNpOTE1X2dl bV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBhdCAuKiBpOTE1X2dlbV91bmJpbmRfdm1h CipCRFcgIGlndEBnZW1fcGVyc2lzdGVudF9yZWxvY3NAZm9ya2VkLWludGVycnVwdGlibGUtdGhy YXNoaW5nICAgICAgUEFTUygyKSAgICAgIERNRVNHX1dBUk4oMikKKGRtZXNnIHBhdGNoIGFwcGxp ZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOiNpOTE1X2dlbV91 bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBhdCAuKiBpOTE1X2dlbV91bmJpbmRfdm1hCipC RFcgIGlndEBnZW1fcGVyc2lzdGVudF9yZWxvY3NAaW50ZXJydXB0aWJsZSAgICAgIFBBU1MoMikg ICAgICBETUVTR19XQVJOKDIpCihkbWVzZyBwYXRjaCBhcHBsaWVkKVdBUk5JTkc6YXRfZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYzojaTkxNV9nZW1fdW5iaW5kX3ZtYVtpOTE1XSgpQFdB Uk5JTkc6LiogYXQgLiogaTkxNV9nZW1fdW5iaW5kX3ZtYQoqQkRXICBpZ3RAZ2VtX3JlbG9jX3Zz X2dwdUBmYXVsdGluZy1yZWxvYy1pbnRlcnJ1cHRpYmxlICAgICAgUEFTUygyKSAgICAgIERNRVNH X1dBUk4oMikKKGRtZXNnIHBhdGNoIGFwcGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jOiNpOTE1X2dlbV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBh dCAuKiBpOTE1X2dlbV91bmJpbmRfdm1hCipCRFcgIGlndEBnZW1fcmVsb2NfdnNfZ3B1QGZvcmtl ZC1pbnRlcnJ1cHRpYmxlICAgICAgUEFTUygyKSAgICAgIERNRVNHX1dBUk4oMikKKGRtZXNnIHBh dGNoIGFwcGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOiNp OTE1X2dlbV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBhdCAuKiBpOTE1X2dlbV91bmJp bmRfdm1hCipCRFcgIGlndEBnZW1fcmVsb2NfdnNfZ3B1QGZvcmtlZC1pbnRlcnJ1cHRpYmxlLWZh dWx0aW5nLXJlbG9jICAgICAgUEFTUygyKSAgICAgIERNRVNHX1dBUk4oMikKKGRtZXNnIHBhdGNo IGFwcGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOiNpOTE1 X2dlbV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBhdCAuKiBpOTE1X2dlbV91bmJpbmRf dm1hCipCRFcgIGlndEBnZW1fcmVsb2NfdnNfZ3B1QGZvcmtlZC1pbnRlcnJ1cHRpYmxlLWZhdWx0 aW5nLXJlbG9jLXRocmFzaC1pbmFjdGl2ZSAgICAgIFBBU1MoMikgICAgICBETUVTR19XQVJOKDIp CihkbWVzZyBwYXRjaCBhcHBsaWVkKVdBUk5JTkc6YXRfZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYzojaTkxNV9nZW1fdW5iaW5kX3ZtYVtpOTE1XSgpQFdBUk5JTkc6LiogYXQgLiogaTkx NV9nZW1fdW5iaW5kX3ZtYQoqQkRXICBpZ3RAZ2VtX3JlbG9jX3ZzX2dwdUBmb3JrZWQtaW50ZXJy dXB0aWJsZS1mYXVsdGluZy1yZWxvYy10aHJhc2hpbmcgICAgICBQQVNTKDIpICAgICAgRE1FU0df V0FSTigyKQooZG1lc2cgcGF0Y2ggYXBwbGllZClXQVJOSU5HOmF0X2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmM6I2k5MTVfZ2VtX3VuYmluZF92bWFbaTkxNV0oKUBXQVJOSU5HOi4qIGF0 IC4qIGk5MTVfZ2VtX3VuYmluZF92bWEKKkJEVyAgaWd0QGdlbV9yZWxvY192c19ncHVAZm9ya2Vk LWludGVycnVwdGlibGUtdGhyYXNoLWluYWN0aXZlICAgICAgUEFTUygyKSAgICAgIERNRVNHX1dB Uk4oMikKKGRtZXNnIHBhdGNoIGFwcGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jOiNpOTE1X2dlbV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBhdCAu KiBpOTE1X2dlbV91bmJpbmRfdm1hCipCRFcgIGlndEBnZW1fcmVsb2NfdnNfZ3B1QGZvcmtlZC1p bnRlcnJ1cHRpYmxlLXRocmFzaGluZyAgICAgIFBBU1MoMikgICAgICBETUVTR19XQVJOKDIpCihk bWVzZyBwYXRjaCBhcHBsaWVkKVdBUk5JTkc6YXRfZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYzojaTkxNV9nZW1fdW5iaW5kX3ZtYVtpOTE1XSgpQFdBUk5JTkc6LiogYXQgLiogaTkxNV9n ZW1fdW5iaW5kX3ZtYQoqQkRXICBpZ3RAZ2VtX3JlbG9jX3ZzX2dwdUBpbnRlcnJ1cHRpYmxlICAg ICAgUEFTUygyKSAgICAgIERNRVNHX1dBUk4oMikKKGRtZXNnIHBhdGNoIGFwcGxpZWQpV0FSTklO RzphdF9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOiNpOTE1X2dlbV91bmJpbmRfdm1h W2k5MTVdKClAV0FSTklORzouKiBhdCAuKiBpOTE1X2dlbV91bmJpbmRfdm1hCipCRFcgIGlndEBn ZW1fcmVuZGVyX2NvcHlfcmVkdXhAZmxpbmstaW50ZXJydXB0aWJsZSAgICAgIFBBU1MoMikgICAg ICBETUVTR19XQVJOKDIpCihkbWVzZyBwYXRjaCBhcHBsaWVkKVdBUk5JTkc6YXRfZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYzojaTkxNV9nZW1fdW5iaW5kX3ZtYVtpOTE1XSgpQFdBUk5J Tkc6LiogYXQgLiogaTkxNV9nZW1fdW5iaW5kX3ZtYQoqQkRXICBpZ3RAZ2VtX3JlbmRlcl9jb3B5 X3JlZHV4QGludGVycnVwdGlibGUgICAgICBQQVNTKDIpICAgICAgRE1FU0dfV0FSTigyKQooZG1l c2cgcGF0Y2ggYXBwbGllZClXQVJOSU5HOmF0X2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmM6I2k5MTVfZ2VtX3VuYmluZF92bWFbaTkxNV0oKUBXQVJOSU5HOi4qIGF0IC4qIGk5MTVfZ2Vt X3VuYmluZF92bWEKKkJEVyAgaWd0QGdlbV91c2VycHRyX2JsaXRzQGZvcmtlZC1zeW5jLWludGVy cnVwdGlibGUgICAgICBQQVNTKDIpICAgICAgRE1FU0dfV0FSTigyKQooZG1lc2cgcGF0Y2ggYXBw bGllZClXQVJOSU5HOmF0X2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmM6I2k5MTVfZ2Vt X3VuYmluZF92bWFbaTkxNV0oKUBXQVJOSU5HOi4qIGF0IC4qIGk5MTVfZ2VtX3VuYmluZF92bWEK KkJEVyAgaWd0QGdlbV91c2VycHRyX2JsaXRzQGZvcmtlZC1zeW5jLW1lbXByZXNzdXJlLWludGVy cnVwdGlibGUgICAgICBQQVNTKDIpICAgICAgRE1FU0dfV0FSTigyKQooZG1lc2cgcGF0Y2ggYXBw bGllZClXQVJOSU5HOmF0X2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmM6I2k5MTVfZ2Vt X3VuYmluZF92bWFbaTkxNV0oKUBXQVJOSU5HOi4qIGF0IC4qIGk5MTVfZ2VtX3VuYmluZF92bWEK KkJEVyAgaWd0QGdlbV91c2VycHRyX2JsaXRzQGZvcmtlZC1zeW5jLW11bHRpZmQtaW50ZXJydXB0 aWJsZSAgICAgIFBBU1MoMikgICAgICBETUVTR19XQVJOKDIpCihkbWVzZyBwYXRjaCBhcHBsaWVk KVdBUk5JTkc6YXRfZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYzojaTkxNV9nZW1fdW5i aW5kX3ZtYVtpOTE1XSgpQFdBUk5JTkc6LiogYXQgLiogaTkxNV9nZW1fdW5iaW5kX3ZtYQoqQkRX ICBpZ3RAZ2VtX3VzZXJwdHJfYmxpdHNAZm9ya2VkLXN5bmMtbXVsdGlmZC1tZW1wcmVzc3VyZS1p bnRlcnJ1cHRpYmxlICAgICAgUEFTUygyKSAgICAgIERNRVNHX1dBUk4oMikKKGRtZXNnIHBhdGNo IGFwcGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOiNpOTE1 X2dlbV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBhdCAuKiBpOTE1X2dlbV91bmJpbmRf dm1hCipCRFcgIGlndEBnZW1fdXNlcnB0cl9ibGl0c0Bmb3JrZWQtc3luYy1zd2FwcGluZy1pbnRl cnJ1cHRpYmxlICAgICAgUEFTUygyKSAgICAgIERNRVNHX1dBUk4oMikKKGRtZXNnIHBhdGNoIGFw cGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jOiNpOTE1X2dl bV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBhdCAuKiBpOTE1X2dlbV91bmJpbmRfdm1h CipCRFcgIGlndEBnZW1fdXNlcnB0cl9ibGl0c0Bmb3JrZWQtc3luYy1zd2FwcGluZy1tZW1wcmVz c3VyZS1pbnRlcnJ1cHRpYmxlICAgICAgUEFTUygyKSAgICAgIERNRVNHX1dBUk4oMikKKGRtZXNn IHBhdGNoIGFwcGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j OiNpOTE1X2dlbV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBhdCAuKiBpOTE1X2dlbV91 bmJpbmRfdm1hCipCRFcgIGlndEBnZW1fdXNlcnB0cl9ibGl0c0Bmb3JrZWQtc3luYy1zd2FwcGlu Zy1tdWx0aWZkLWludGVycnVwdGlibGUgICAgICBQQVNTKDIpICAgICAgRE1FU0dfV0FSTigyKQoo ZG1lc2cgcGF0Y2ggYXBwbGllZClXQVJOSU5HOmF0X2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmM6I2k5MTVfZ2VtX3VuYmluZF92bWFbaTkxNV0oKUBXQVJOSU5HOi4qIGF0IC4qIGk5MTVf Z2VtX3VuYmluZF92bWEKKkJEVyAgaWd0QGdlbV91c2VycHRyX2JsaXRzQGZvcmtlZC1zeW5jLXN3 YXBwaW5nLW11bHRpZmQtbWVtcHJlc3N1cmUtaW50ZXJydXB0aWJsZSAgICAgIFBBU1MoMikgICAg ICBETUVTR19XQVJOKDEpCihkbWVzZyBwYXRjaCBhcHBsaWVkKVdBUk5JTkc6YXRfZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYzojaTkxNV9nZW1fdW5iaW5kX3ZtYVtpOTE1XSgpQFdBUk5J Tkc6LiogYXQgLiogaTkxNV9nZW1fdW5iaW5kX3ZtYQoqQkRXICBpZ3RAZ2VtX3VzZXJwdHJfYmxp dHNAZm9ya2VkLXVuc3luYy1pbnRlcnJ1cHRpYmxlICAgICAgUEFTUygyKSAgICAgIERNRVNHX1dB Uk4oMSkKKGRtZXNnIHBhdGNoIGFwcGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jOiNpOTE1X2dlbV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBhdCAu KiBpOTE1X2dlbV91bmJpbmRfdm1hCipCRFcgIGlndEBnZW1fdXNlcnB0cl9ibGl0c0Bmb3JrZWQt dW5zeW5jLW1lbXByZXNzdXJlLWludGVycnVwdGlibGUgICAgICBQQVNTKDIpICAgICAgRE1FU0df V0FSTigxKQooZG1lc2cgcGF0Y2ggYXBwbGllZClXQVJOSU5HOmF0X2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmM6I2k5MTVfZ2VtX3VuYmluZF92bWFbaTkxNV0oKUBXQVJOSU5HOi4qIGF0 IC4qIGk5MTVfZ2VtX3VuYmluZF92bWEKKkJEVyAgaWd0QGdlbV91c2VycHRyX2JsaXRzQGZvcmtl ZC11bnN5bmMtbXVsdGlmZC1pbnRlcnJ1cHRpYmxlICAgICAgUEFTUygyKSAgICAgIERNRVNHX1dB Uk4oMSkKKGRtZXNnIHBhdGNoIGFwcGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jOiNpOTE1X2dlbV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklORzouKiBhdCAu KiBpOTE1X2dlbV91bmJpbmRfdm1hCipCRFcgIGlndEBnZW1fdXNlcnB0cl9ibGl0c0Bmb3JrZWQt dW5zeW5jLW11bHRpZmQtbWVtcHJlc3N1cmUtaW50ZXJydXB0aWJsZSAgICAgIFBBU1MoMikgICAg ICBETUVTR19XQVJOKDEpCihkbWVzZyBwYXRjaCBhcHBsaWVkKVdBUk5JTkc6YXRfZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYzojaTkxNV9nZW1fdW5iaW5kX3ZtYVtpOTE1XSgpQFdBUk5J Tkc6LiogYXQgLiogaTkxNV9nZW1fdW5iaW5kX3ZtYQoqQkRXICBpZ3RAZ2VtX3VzZXJwdHJfYmxp dHNAZm9ya2VkLXVuc3luYy1zd2FwcGluZy1pbnRlcnJ1cHRpYmxlICAgICAgUEFTUygyKSAgICAg IERNRVNHX1dBUk4oMSkKKGRtZXNnIHBhdGNoIGFwcGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jOiNpOTE1X2dlbV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklO RzouKiBhdCAuKiBpOTE1X2dlbV91bmJpbmRfdm1hCipCRFcgIGlndEBnZW1fdXNlcnB0cl9ibGl0 c0Bmb3JrZWQtdW5zeW5jLXN3YXBwaW5nLW1lbXByZXNzdXJlLWludGVycnVwdGlibGUgICAgICBQ QVNTKDIpICAgICAgRE1FU0dfV0FSTigxKQooZG1lc2cgcGF0Y2ggYXBwbGllZClXQVJOSU5HOmF0 X2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmM6I2k5MTVfZ2VtX3VuYmluZF92bWFbaTkx NV0oKUBXQVJOSU5HOi4qIGF0IC4qIGk5MTVfZ2VtX3VuYmluZF92bWEKKkJEVyAgaWd0QGdlbV93 cml0ZV9yZWFkX3Jpbmdfc3dpdGNoQGJsdDJic2QtaW50ZXJydXB0aWJsZSAgICAgIFBBU1MoMikg ICAgICBETUVTR19XQVJOKDEpCihkbWVzZyBwYXRjaCBhcHBsaWVkKVdBUk5JTkc6YXRfZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYzojaTkxNV9nZW1fdW5iaW5kX3ZtYVtpOTE1XSgpQFdB Uk5JTkc6LiogYXQgLiogaTkxNV9nZW1fdW5iaW5kX3ZtYQoqQkRXICBpZ3RAZ2VtX3dyaXRlX3Jl YWRfcmluZ19zd2l0Y2hAYmx0MnJlbmRlci1pbnRlcnJ1cHRpYmxlICAgICAgUEFTUygyKSAgICAg IERNRVNHX1dBUk4oMSkKKGRtZXNnIHBhdGNoIGFwcGxpZWQpV0FSTklORzphdF9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jOiNpOTE1X2dlbV91bmJpbmRfdm1hW2k5MTVdKClAV0FSTklO RzouKiBhdCAuKiBpOTE1X2dlbV91bmJpbmRfdm1hCipCRFcgIGlndEBnZW1fd3JpdGVfcmVhZF9y aW5nX3N3aXRjaEBibHQydmVib3gtaW50ZXJydXB0aWJsZSAgICAgIFBBU1MoMikgICAgICBETUVT R19XQVJOKDEpCihkbWVzZyBwYXRjaCBhcHBsaWVkKVdBUk5JTkc6YXRfZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYzojaTkxNV9nZW1fdW5iaW5kX3ZtYVtpOTE1XSgpQFdBUk5JTkc6Liog YXQgLiogaTkxNV9nZW1fdW5iaW5kX3ZtYQpOb3RlOiBZb3UgbmVlZCB0byBwYXkgbW9yZSBhdHRl bnRpb24gdG8gbGluZSBzdGFydCB3aXRoICcqJwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=