From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 03/24] drm/i915: Introduce and use intel_atomic_crtc_state_for_each_plane_state. Date: Fri, 4 Oct 2019 16:18:56 +0300 Message-ID: <20191004131856.GZ1208@intel.com> References: <20191004113514.17064-1-maarten.lankhorst@linux.intel.com> <20191004113514.17064-4-maarten.lankhorst@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 ESMTPS id 43BDD6EB77 for ; Fri, 4 Oct 2019 13:18:59 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191004113514.17064-4-maarten.lankhorst@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: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBPY3QgMDQsIDIwMTkgYXQgMDE6MzQ6NTNQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gSW5zdGVhZCBvZiBsb29raW5nIGF0IGRybV9wbGFuZV9zdGF0ZSwgbG9vayBh dCBpbnRlbF9wbGFuZV9zdGF0ZSBkaXJlY3RseS4KPiAKPiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8g bWFrZSB0aGUgd2F0ZXJtYXJrcyBiaWdqb2luZXIgYXdhcmUsIHdoZW4gd2UgbWFrZSBpdAo+IHdv cmsgZm9yIGJpZ2pvaW5lciBzbGF2ZSBwaXBlcyBhcyB3ZWxsLgo+IAo+IFNpZ25lZC1vZmYtYnk6 IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+CgpS ZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5o IHwgIDggKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICAgICAgICAg IHwgNjAgKysrKysrKystLS0tLS0tLS0tLS0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRp b25zKCspLCAzNSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXkuaAo+IGluZGV4IDRkZWQ2NGZjYmM2Yy4uYmMyY2Y0YmVjMGU4IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmgKPiBA QCAtNDQwLDYgKzQ0MCwxNCBAQCBlbnVtIHBoeV9maWEgewo+ICAJICAgICAoX19pKS0tKSBcCj4g IAkJZm9yX2VhY2hfaWYoY3J0YykKPiAgCj4gKyNkZWZpbmUgaW50ZWxfYXRvbWljX2NydGNfc3Rh dGVfZm9yX2VhY2hfcGxhbmVfc3RhdGUoIFwKPiArCQkgIHBsYW5lLCBwbGFuZV9zdGF0ZSwgXAo+ ICsJCSAgY3J0Y19zdGF0ZSkgXAo+ICsJZm9yX2VhY2hfaW50ZWxfcGxhbmVfbWFzaygoKGNydGNf c3RhdGUpLT5iYXNlLnN0YXRlLT5kZXYpLCAocGxhbmUpLCBcCj4gKwkJCQkoKGNydGNfc3RhdGUp LT5iYXNlLnBsYW5lX21hc2spKSBcCj4gKwkJZm9yX2VhY2hfaWYgKChwbGFuZV9zdGF0ZSA9IFwK PiArCQkJICAgICAgdG9faW50ZWxfcGxhbmVfc3RhdGUoX19kcm1fYXRvbWljX2dldF9jdXJyZW50 X3BsYW5lX3N0YXRlKChjcnRjX3N0YXRlKS0+YmFzZS5zdGF0ZSwgJnBsYW5lLT5iYXNlKSkpKQo+ ICsKPiAgdm9pZCBpbnRlbF9saW5rX2NvbXB1dGVfbV9uKHUxNiBicHAsIGludCBubGFuZXMsCj4g IAkJCSAgICBpbnQgcGl4ZWxfY2xvY2ssIGludCBsaW5rX2Nsb2NrLAo+ICAJCQkgICAgc3RydWN0 IGludGVsX2xpbmtfbV9uICptX24sCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gaW5kZXggYmZj ZjAzYWI1MjQ1Li42YWVhYWQ1ODdhMjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBA QCAtMzA4OSw4ICszMDg5LDggQEAgc3RhdGljIGludCBpbGtfY29tcHV0ZV9waXBlX3dtKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJc3RydWN0IGludGVsX3BpcGVfd20g KnBpcGVfd207Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gc3RhdGUtPmRldjsKPiAgCWNv bnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAt CXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwo+IC0JY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqcGxhbmVfc3RhdGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lOwo+ICsJY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZTsKPiAgCWNvbnN0IHN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZSAqcHJpc3RhdGUgPSBOVUxMOwo+ICAJY29uc3Qgc3RydWN0IGludGVs X3BsYW5lX3N0YXRlICpzcHJzdGF0ZSA9IE5VTEw7Cj4gIAljb25zdCBzdHJ1Y3QgaW50ZWxfcGxh bmVfc3RhdGUgKmN1cnN0YXRlID0gTlVMTDsKPiBAQCAtMzA5OSwxNSArMzA5OSwxMyBAQCBzdGF0 aWMgaW50IGlsa19jb21wdXRlX3BpcGVfd20oc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4gIAo+ICAJcGlwZV93bSA9ICZjcnRjX3N0YXRlLT53bS5pbGsub3B0aW1hbDsKPiAg Cj4gLQlkcm1fYXRvbWljX2NydGNfc3RhdGVfZm9yX2VhY2hfcGxhbmVfc3RhdGUocGxhbmUsIHBs YW5lX3N0YXRlLCAmY3J0Y19zdGF0ZS0+YmFzZSkgewo+IC0JCWNvbnN0IHN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSAqcHMgPSB0b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZV9zdGF0ZSk7Cj4gLQo+ IC0JCWlmIChwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9QUklNQVJZKQo+IC0JCQlwcmlz dGF0ZSA9IHBzOwo+IC0JCWVsc2UgaWYgKHBsYW5lLT50eXBlID09IERSTV9QTEFORV9UWVBFX09W RVJMQVkpCj4gLQkJCXNwcnN0YXRlID0gcHM7Cj4gLQkJZWxzZSBpZiAocGxhbmUtPnR5cGUgPT0g RFJNX1BMQU5FX1RZUEVfQ1VSU09SKQo+IC0JCQljdXJzdGF0ZSA9IHBzOwo+ICsJaW50ZWxfYXRv bWljX2NydGNfc3RhdGVfZm9yX2VhY2hfcGxhbmVfc3RhdGUocGxhbmUsIHBsYW5lX3N0YXRlLCBj cnRjX3N0YXRlKSB7Cj4gKwkJaWYgKHBsYW5lLT5iYXNlLnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVf UFJJTUFSWSkKPiArCQkJcHJpc3RhdGUgPSBwbGFuZV9zdGF0ZTsKPiArCQllbHNlIGlmIChwbGFu ZS0+YmFzZS50eXBlID09IERSTV9QTEFORV9UWVBFX09WRVJMQVkpCj4gKwkJCXNwcnN0YXRlID0g cGxhbmVfc3RhdGU7Cj4gKwkJZWxzZSBpZiAocGxhbmUtPmJhc2UudHlwZSA9PSBEUk1fUExBTkVf VFlQRV9DVVJTT1IpCj4gKwkJCWN1cnN0YXRlID0gcGxhbmVfc3RhdGU7Cj4gIAl9Cj4gIAo+ICAJ cGlwZV93bS0+cGlwZV9lbmFibGVkID0gY3J0Y19zdGF0ZS0+YmFzZS5hY3RpdmU7Cj4gQEAgLTQx MjQsOCArNDEyMiw4IEBAIGludCBza2xfY2hlY2tfcGlwZV9tYXhfcGl4ZWxfcmF0ZShzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9jcnRjLT5iYXNlLmRldik7Cj4gIAlzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT5iYXNlLnN0YXRlOwo+IC0Jc3RydWN0 IGRybV9wbGFuZSAqcGxhbmU7Cj4gLQljb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpkcm1f cGxhbmVfc3RhdGU7Cj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0 YXRlOwo+ICsJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZTsKPiAgCWludCBjcnRjX2Nsb2NrLCBk b3RjbGs7Cj4gIAl1MzIgcGlwZV9tYXhfcGl4ZWxfcmF0ZTsKPiAgCXVpbnRfZml4ZWRfMTZfMTZf dCBwaXBlX2Rvd25zY2FsZTsKPiBAQCAtNDEzNCwxMiArNDEzMiwxMCBAQCBpbnQgc2tsX2NoZWNr X3BpcGVfbWF4X3BpeGVsX3JhdGUoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4gIAlp ZiAoIWNydGNfc3RhdGUtPmJhc2UuZW5hYmxlKQo+ICAJCXJldHVybiAwOwo+ICAKPiAtCWRybV9h dG9taWNfY3J0Y19zdGF0ZV9mb3JfZWFjaF9wbGFuZV9zdGF0ZShwbGFuZSwgZHJtX3BsYW5lX3N0 YXRlLCAmY3J0Y19zdGF0ZS0+YmFzZSkgewo+ICsJaW50ZWxfYXRvbWljX2NydGNfc3RhdGVfZm9y X2VhY2hfcGxhbmVfc3RhdGUocGxhbmUsIHBsYW5lX3N0YXRlLCBjcnRjX3N0YXRlKSB7Cj4gIAkJ dWludF9maXhlZF8xNl8xNl90IHBsYW5lX2Rvd25zY2FsZTsKPiAgCQl1aW50X2ZpeGVkXzE2XzE2 X3QgZnBfOV9kaXZfOCA9IGRpdl9maXhlZDE2KDksIDgpOwo+ICAJCWludCBicHA7Cj4gLQkJY29u c3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSA9Cj4gLQkJCXRvX2ludGVs X3BsYW5lX3N0YXRlKGRybV9wbGFuZV9zdGF0ZSk7Cj4gIAo+ICAJCWlmICghaW50ZWxfd21fcGxh bmVfdmlzaWJsZShjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSkpCj4gIAkJCWNvbnRpbnVlOwo+IEBA IC00MjI3LDE4ICs0MjIzLDE2IEBAIHNrbF9nZXRfdG90YWxfcmVsYXRpdmVfZGF0YV9yYXRlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQkJIHU2NCAqdXZfcGxhbmVf ZGF0YV9yYXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRj X3N0YXRlLT5iYXNlLnN0YXRlOwo+IC0Jc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gLQljb25z dCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpkcm1fcGxhbmVfc3RhdGU7Cj4gKwlzdHJ1Y3QgaW50 ZWxfcGxhbmUgKnBsYW5lOwo+ICsJY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFu ZV9zdGF0ZTsKPiAgCXU2NCB0b3RhbF9kYXRhX3JhdGUgPSAwOwo+ICAKPiAgCWlmIChXQVJOX09O KCFzdGF0ZSkpCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ICAJLyogQ2FsY3VsYXRlIGFuZCBjYWNoZSBk YXRhIHJhdGUgZm9yIGVhY2ggcGxhbmUgKi8KPiAtCWRybV9hdG9taWNfY3J0Y19zdGF0ZV9mb3Jf ZWFjaF9wbGFuZV9zdGF0ZShwbGFuZSwgZHJtX3BsYW5lX3N0YXRlLCAmY3J0Y19zdGF0ZS0+YmFz ZSkgewo+IC0JCWVudW0gcGxhbmVfaWQgcGxhbmVfaWQgPSB0b19pbnRlbF9wbGFuZShwbGFuZSkt PmlkOwo+IC0JCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPQo+ IC0JCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShkcm1fcGxhbmVfc3RhdGUpOwo+ICsJaW50ZWxfYXRv bWljX2NydGNfc3RhdGVfZm9yX2VhY2hfcGxhbmVfc3RhdGUocGxhbmUsIHBsYW5lX3N0YXRlLCBj cnRjX3N0YXRlKSB7Cj4gKwkJZW51bSBwbGFuZV9pZCBwbGFuZV9pZCA9IHBsYW5lLT5pZDsKPiAg CQl1NjQgcmF0ZTsKPiAgCj4gIAkJLyogcGFja2VkL3kgKi8KPiBAQCAtNDI1OSwxOCArNDI1Mywx NiBAQCBzdGF0aWMgdTY0Cj4gIGljbF9nZXRfdG90YWxfcmVsYXRpdmVfZGF0YV9yYXRlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICAJCQkJIHU2NCAqcGxhbmVfZGF0YV9y YXRlKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiAtCWNvbnN0IHN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKmRybV9wbGFuZV9zdGF0ZTsKPiArCXN0cnVjdCBpbnRlbF9wbGFuZSAq cGxhbmU7Cj4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+ ICAJdTY0IHRvdGFsX2RhdGFfcmF0ZSA9IDA7Cj4gIAo+ICAJaWYgKFdBUk5fT04oIWNydGNfc3Rh dGUtPmJhc2Uuc3RhdGUpKQo+ICAJCXJldHVybiAwOwo+ICAKPiAgCS8qIENhbGN1bGF0ZSBhbmQg Y2FjaGUgZGF0YSByYXRlIGZvciBlYWNoIHBsYW5lICovCj4gLQlkcm1fYXRvbWljX2NydGNfc3Rh dGVfZm9yX2VhY2hfcGxhbmVfc3RhdGUocGxhbmUsIGRybV9wbGFuZV9zdGF0ZSwgJmNydGNfc3Rh dGUtPmJhc2UpIHsKPiAtCQljb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0 YXRlID0KPiAtCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUoZHJtX3BsYW5lX3N0YXRlKTsKPiAtCQll bnVtIHBsYW5lX2lkIHBsYW5lX2lkID0gdG9faW50ZWxfcGxhbmUocGxhbmUpLT5pZDsKPiArCWlu dGVsX2F0b21pY19jcnRjX3N0YXRlX2Zvcl9lYWNoX3BsYW5lX3N0YXRlKHBsYW5lLCBwbGFuZV9z dGF0ZSwgY3J0Y19zdGF0ZSkgewo+ICsJCWVudW0gcGxhbmVfaWQgcGxhbmVfaWQgPSBwbGFuZS0+ aWQ7Cj4gIAkJdTY0IHJhdGU7Cj4gIAo+ICAJCWlmICghcGxhbmVfc3RhdGUtPnBsYW5hcl9saW5r ZWRfcGxhbmUpIHsKPiBAQCAtNDI4Miw3ICs0Mjc0LDcgQEAgaWNsX2dldF90b3RhbF9yZWxhdGl2 ZV9kYXRhX3JhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gIAo+ICAJ CQkvKgo+ICAJCQkgKiBUaGUgc2xhdmUgcGxhbmUgbWlnaHQgbm90IGl0ZXJhdGUgaW4KPiAtCQkJ ICogZHJtX2F0b21pY19jcnRjX3N0YXRlX2Zvcl9lYWNoX3BsYW5lX3N0YXRlKCksCj4gKwkJCSAq IGludGVsX2F0b21pY19jcnRjX3N0YXRlX2Zvcl9lYWNoX3BsYW5lX3N0YXRlKCksCj4gIAkJCSAq IGFuZCBuZWVkcyB0aGUgbWFzdGVyIHBsYW5lIHN0YXRlIHdoaWNoIG1heSBiZQo+ICAJCQkgKiBO VUxMIGlmIHdlIHRyeSBnZXRfbmV3X3BsYW5lX3N0YXRlKCksIHNvIHdlCj4gIAkJCSAqIGFsd2F5 cyBjYWxjdWxhdGUgZnJvbSB0aGUgbWFzdGVyLgo+IEBAIC01MDY1LDggKzUwNTcsOCBAQCBzdGF0 aWMgaW50IHNrbF9idWlsZF9waXBlX3dtKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKPiAgCXN0cnVjdCBza2xfcGlwZV93bSAqcGlw ZV93bSA9ICZjcnRjX3N0YXRlLT53bS5za2wub3B0aW1hbDsKPiAtCXN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lOwo+IC0JY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqZHJtX3BsYW5lX3N0YXRl Owo+ICsJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZTsKPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGU7Cj4gIAlpbnQgcmV0Owo+ICAKPiAgCS8qCj4gQEAgLTUw NzUsMTAgKzUwNjcsOCBAQCBzdGF0aWMgaW50IHNrbF9idWlsZF9waXBlX3dtKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJICovCj4gIAltZW1zZXQocGlwZV93bS0+cGxh bmVzLCAwLCBzaXplb2YocGlwZV93bS0+cGxhbmVzKSk7Cj4gIAo+IC0JZHJtX2F0b21pY19jcnRj X3N0YXRlX2Zvcl9lYWNoX3BsYW5lX3N0YXRlKHBsYW5lLCBkcm1fcGxhbmVfc3RhdGUsCj4gLQkJ CQkJCSAgICZjcnRjX3N0YXRlLT5iYXNlKSB7Cj4gLQkJY29uc3Qgc3RydWN0IGludGVsX3BsYW5l X3N0YXRlICpwbGFuZV9zdGF0ZSA9Cj4gLQkJCXRvX2ludGVsX3BsYW5lX3N0YXRlKGRybV9wbGFu ZV9zdGF0ZSk7Cj4gKwlpbnRlbF9hdG9taWNfY3J0Y19zdGF0ZV9mb3JfZWFjaF9wbGFuZV9zdGF0 ZShwbGFuZSwgcGxhbmVfc3RhdGUsCj4gKwkJCQkJCSAgICAgY3J0Y19zdGF0ZSkgewo+ICAKPiAg CQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKPiAgCQkJcmV0ID0gaWNsX2J1aWxkX3Bs YW5lX3dtKGNydGNfc3RhdGUsIHBsYW5lX3N0YXRlKTsKPiAtLSAKPiAyLjIzLjAKPiAKPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApWaWxs ZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4