From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: Re: [PATCH] Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." Date: Fri, 18 May 2018 12:53:21 -0700 Message-ID: <2589072.I8LDIVQkZs@dk> References: <20180516080110.22770-1-jani.nikula@intel.com> <87po1uzqh5.fsf@intel.com> <1526586270.17473.176.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pl0-x243.google.com (mail-pl0-x243.google.com [IPv6:2607:f8b0:400e:c01::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9CE3B6EEE9 for ; Fri, 18 May 2018 19:53:25 +0000 (UTC) Received: by mail-pl0-x243.google.com with SMTP id e6-v6so5151735plt.11 for ; Fri, 18 May 2018 12:53:25 -0700 (PDT) In-Reply-To: <1526586270.17473.176.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, dhinakaran.pandiyan@intel.com Cc: Jani Nikula List-Id: intel-gfx@lists.freedesktop.org T24gVGh1cnNkYXksIE1heSAxNywgMjAxOCAxMjo0NDozMCBQTSBQRFQgRGhpbmFrYXJhbiBQYW5k aXlhbiB3cm90ZToKPiBPbiBUaHUsIDIwMTgtMDUtMTcgYXQgMTA6MzMgKzAzMDAsIEphbmkgTmlr dWxhIHdyb3RlOgo+ID4gT24gVGh1LCAxNyBNYXkgMjAxOCwgSmFuaSBOaWt1bGEgPGphbmkubmlr dWxhQGludGVsLmNvbT4gd3JvdGU6Cj4gPiA+IE9uIFdlZCwgMTYgTWF5IDIwMTgsIERoaW5ha2Fy YW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50ZWwKPiA+ID4gCj4gPiA+IC5jb20+ IHdyb3RlOgo+ID4gPiA+IE9uIFdlZCwgMjAxOC0wNS0xNiBhdCAxMTowMSArMDMwMCwgSmFuaSBO aWt1bGEgd3JvdGU6Cj4gPiA+ID4gPiBUaGlzIHJldmVydHMgY29tbWl0IGRjOTExZjViZDhhYWNm Y2Y4YWFiZDVjMjZjODhlMDRjODM3YTkzOGUuCj4gPiA+ID4gPiAKPiA+ID4gPiA+IFBlciB0aGUg cmVwb3J0LCBubyBtYXR0ZXIgd2hhdCBkaXNwbGF5IG1vZGUgeW91IHNlbGVjdCB3aXRoCj4gPiA+ ID4gPiB4cmFuZHIsCj4gPiA+ID4gPiB0aGUKPiA+ID4gPiA+IGk5MTUgZHJpdmVyIHdpbGwgYWx3 YXlzIHNlbGVjdCB0aGUgYWx0ZXJuYXRlIGZpeGVkIG1vZGUuIEZvcgo+ID4gPiA+ID4gdGhlCj4g PiA+ID4gPiByZXBvcnRlciB0aGlzIG1lYW5zIHRoYXQgdGhlIGRpc3BsYXkgd2lsbCBhbHdheXMg cnVuIGF0IDQwSHoKPiA+ID4gPiA+IHdoaWNoIGlzCj4gPiA+ID4gPiBxdWl0ZSBhbm5veWluZy4g VGhpcyBtYXkgYmUgZHVlIHRvIHRoZSBtb2RlIGNvbXBhcmlzb24uCj4gPiA+ID4gPiAKPiA+ID4g PiA+IEJ1dCB0aGVyZSBhcmUgc29tZSBvdGhlciBwb3RlbnRpYWwgaXNzdWVzLiBUaGUgY2hvaWNl IG9mCj4gPiA+ID4gPiBhbHRfZml4ZWRfbW9kZQo+ID4gPiA+ID4gc2VlbXMgZHViaW91cy4gSXQn cyB0aGUgZmlyc3Qgbm9uLXByZWZlcnJlZCBtb2RlLCBidXQgdGhlcmUgYXJlCj4gPiA+ID4gPiBu bwo+ID4gPiA+ID4gZ3VhcmFudGVlcyB0aGF0IHRoZSBvbmx5IGRpZmZlcmVuY2Ugd291bGQgYmUg cmVmcmVzaCByYXRlLgo+ID4gPiA+ID4gU2ltaWxhcmx5LAo+ID4gPiA+ID4gdGhlcmUgbWF5IGJl IG1vcmUgdGhhbiBvbmUgcHJlZmVycmVkIG1vZGUgaW4gdGhlIHByb2JlZCBtb2Rlcwo+ID4gPiA+ ID4gbGlzdCwKPiA+ID4gPiA+IGFuZAo+ID4gPiA+ID4gdGhlIGNvbW1pdCBjaGFuZ2VzIHRoZSBw cmVmZXJyZWQgbW9kZSBzZWxlY3Rpb24gdG8gY2hvb3NlIHRoZQo+ID4gPiA+ID4gbGFzdAo+ID4g PiA+ID4gb25lCj4gPiA+ID4gPiBvbiB0aGUgbGlzdCBpbnN0ZWFkIG9mIHRoZSBmaXJzdC4KPiA+ ID4gPiA+IAo+ID4gPiA+ID4gKE5vdGUgdGhhdCB0aGUgcHJvYmVkIG1vZGVzIGxpc3QgaXMgdGhl IHJhdywgdW5maWx0ZXJlZCwKPiA+ID4gPiA+IHVuc29ydGVkCj4gPiA+ID4gPiBsaXN0Cj4gPiA+ ID4gPiBvZiBtb2RlcyBmcm9tIGRybV9hZGRfZWRpZF9tb2RlcygpLCBub3QgdGhlIHByZXR0eSBy ZXN1bHQgYWZ0ZXIKPiA+ID4gPiA+IGEKPiA+ID4gPiA+IGRybV9oZWxwZXJfcHJvYmVfc2luZ2xl X2Nvbm5lY3Rvcl9tb2RlcygpIGNhbGwuKQo+ID4gPiA+ID4gCj4gPiA+ID4gPiBGaW5hbGx5LCB3 ZSBhbHJlYWR5IGhhdmUgZWVyaWx5IHNpbWlsYXIgY29kZSBpbiBwbGFjZSB0byBmaW5kCj4gPiA+ ID4gPiB0aGUKPiA+ID4gPiA+IGRvd25jbG9jayBtb2RlIGZvciBEUlJTIHRoYXQgc2VlbXMgbGlr ZSBjb3VsZCBiZSByZXVzZWQgaGVyZS4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gQmFjayB0byB0aGUg ZHJhd2luZyBib2FyZC4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gTm90ZTogVGhpcyBpcyBhIGhhbmQt Y3JhZnRlZCByZXZlcnQgZHVlIHRvIGNvbmZsaWN0cy4gSWYgaXQKPiA+ID4gPiA+IGZhaWxzIHRv Cj4gPiA+ID4gPiBiYWNrcG9ydCwgcGxlYXNlIGp1c3QgdHJ5IHJldmVydGluZyB0aGUgb3JpZ2lu YWwgY29tbWl0Cj4gPiA+ID4gPiBkaXJlY3RseS4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gQnVnemls bGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTQ2OQo+ ID4gPiA+ID4gUmVwb3J0ZWQtYnk6IFJ1bmUgUGV0ZXJzZW4gPHJ1bmVAbWVnYWh1cnRzLmRrPgo+ ID4gPiA+ID4gUmVwb3J0ZWQtYnk6IE1hcmsgU3BlbmNlciA8bjd1NDcyMnIzNUB5bnpseC5hbm9u Ym94Lm5ldD4KPiA+ID4gPiA+IEZpeGVzOiBkYzkxMWY1YmQ4YWEgKCJkcm0vaTkxNS9lZHA6IEFs bG93IGFsdGVybmF0ZSBmaXhlZCBtb2RlCj4gPiA+ID4gPiBmb3IKPiA+ID4gPiA+IGVEUCBpZiBh dmFpbGFibGUuIikKPiA+ID4gPiA+IENjOiBDbGludCBUYXlsb3IgPGNsaW50b24uYS50YXlsb3JA aW50ZWwuY29tPgo+ID4gPiA+ID4gQ2M6IERhdmlkIFdlaW5laGFsbCA8ZGF2aWQud2VpbmVoYWxs QGxpbnV4LmludGVsLmNvbT4KPiA+ID4gPiA+IENjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2 aUBpbnRlbC5jb20+Cj4gPiA+ID4gPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBp bnRlbC5jb20+Cj4gPiA+ID4gPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNv bT4KPiA+ID4gPiA+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K PiA+ID4gPiA+IENjOiBKaW0gQnJpZGUgPGppbS5icmlkZUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+ ID4gPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4g PiA+IENjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+ Cj4gPiA+ID4gPiBDYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPiA+ID4g Q2M6IDxzdGFibGVAdmdlci5rZXJuZWwub3JnPiAjIHY0LjE0Kwo+ID4gPiA+ID4gU2lnbmVkLW9m Zi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiA+ID4gPiA+IC0tLQo+ ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgfCAzOCArKysrKy0t LS0tLS0tLS0tLS0tLS0tCj4gPiA+ID4gPiAtLS0tLS0KPiA+ID4gPiA+IC0tLS0tLS0tLS0KPiA+ ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgIHwgIDIgLS0KPiA+ID4g PiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyAgIHwgIDIgKy0KPiA+ID4gPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyAgIHwgIDIgKy0KPiA+ID4gPiA+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgIHwgIDMgKy0tCj4gPiA+ID4gPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyB8ICA2IC0tLS0tLQo+ID4gPiA+ID4gIDYg ZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKPiA+ID4gPiA+ IAo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMK PiA+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiA+ID4gaW5k ZXggZGRlOTJlNGFmNWQzLi44MzIwZjBlOGUzYmUgMTAwNjQ0Cj4gPiA+ID4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+ID4gPiBAQCAtMTY3OSwyMyArMTY3OSw2IEBAIHN0YXRp YyBpbnQgaW50ZWxfZHBfY29tcHV0ZV9icHAoc3RydWN0Cj4gPiA+ID4gPiBpbnRlbF9kcCAqaW50 ZWxfZHAsCj4gPiA+ID4gPiAgCXJldHVybiBicHA7Cj4gPiA+ID4gPiAgfQo+ID4gPiA+ID4gIAo+ ID4gPiA+ID4gLXN0YXRpYyBib29sIGludGVsX2VkcF9jb21wYXJlX2FsdF9tb2RlKHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlCj4gPiA+ID4gPiAqbTEsCj4gPiA+ID4gPiAtCQkJCSAgICAgICBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZQo+ID4gPiA+ID4gKm0yKQo+ID4gPiA+ID4gLXsKPiA+ID4gPiA+ IC0JYm9vbCBicmVzID0gZmFsc2U7Cj4gPiA+ID4gPiAtCj4gPiA+ID4gPiAtCWlmIChtMSAmJiBt MikKPiA+ID4gPiA+IC0JCWJyZXMgPSAobTEtPmhkaXNwbGF5ID09IG0yLT5oZGlzcGxheSAmJgo+ ID4gPiA+ID4gLQkJCW0xLT5oc3luY19zdGFydCA9PSBtMi0+aHN5bmNfc3RhcnQgJiYKPiA+ID4g PiA+IC0JCQltMS0+aHN5bmNfZW5kID09IG0yLT5oc3luY19lbmQgJiYKPiA+ID4gPiA+IC0JCQlt MS0+aHRvdGFsID09IG0yLT5odG90YWwgJiYKPiA+ID4gPiA+IC0JCQltMS0+dmRpc3BsYXkgPT0g bTItPnZkaXNwbGF5ICYmCj4gPiA+ID4gPiAtCQkJbTEtPnZzeW5jX3N0YXJ0ID09IG0yLT52c3lu Y19zdGFydCAmJgo+ID4gPiA+ID4gLQkJCW0xLT52c3luY19lbmQgPT0gbTItPnZzeW5jX2VuZCAm Jgo+ID4gPiA+ID4gLQkJCW0xLT52dG90YWwgPT0gbTItPnZ0b3RhbCk7Cj4gPiA+ID4gPiAtCXJl dHVybiBicmVzOwo+ID4gPiA+ID4gLX0KPiA+ID4gPiA+IC0KPiA+ID4gPiA+ICAvKiBBZGp1c3Qg bGluayBjb25maWcgbGltaXRzIGJhc2VkIG9uIGNvbXBsaWFuY2UgdGVzdAo+ID4gPiA+ID4gcmVx dWVzdHMuICovCj4gPiA+ID4gPiAgc3RhdGljIHZvaWQKPiA+ID4gPiA+ICBpbnRlbF9kcF9hZGp1 c3RfY29tcGxpYW5jZV9jb25maWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiA+ID4gPiA+ IEBAIC0xODYwLDE2ICsxODQzLDggQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWcoc3RydWN0Cj4g PiA+ID4gPiBpbnRlbF9lbmNvZGVyCj4gPiA+ID4gPiAqZW5jb2RlciwKPiA+ID4gPiA+ICAJCXBp cGVfY29uZmlnLT5oYXNfYXVkaW8gPSBpbnRlbF9jb25uX3N0YXRlLQo+ID4gPiA+ID4gCj4gPiA+ ID4gPiA+IGZvcmNlX2F1ZGlvID09IEhETUlfQVVESU9fT047Cj4gPiA+ID4gPiAKPiA+ID4gPiA+ ICAKPiA+ID4gPiA+ICAJaWYgKGludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkgJiYgaW50ZWxfY29u bmVjdG9yLQo+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IHBhbmVsLmZpeGVkX21vZGUpIHsKPiA+ID4g PiA+IAo+ID4gPiA+ID4gLQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKnBhbmVsX21vZGUgPQo+ ID4gPiA+ID4gLQkJCWludGVsX2Nvbm5lY3Rvci0+cGFuZWwuYWx0X2ZpeGVkX21vZGU7Cj4gPiA+ ID4gPiAtCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqcmVxX21vZGUgPQo+ID4gPiA+ID4gJnBp cGVfY29uZmlnLQo+ID4gPiA+ID4gCj4gPiA+ID4gPiA+IGJhc2UubW9kZTsKPiA+ID4gPiA+IAo+ ID4gPiA+ID4gLQo+ID4gPiA+ID4gLQkJaWYgKCFpbnRlbF9lZHBfY29tcGFyZV9hbHRfbW9kZShy ZXFfbW9kZSwKPiA+ID4gPiA+IHBhbmVsX21vZGUpKQo+ID4gPiA+ID4gLQkJCXBhbmVsX21vZGUg PSBpbnRlbF9jb25uZWN0b3ItCj4gPiA+ID4gPiAKPiA+ID4gPiA+ID4gcGFuZWwuZml4ZWRfbW9k ZTsKPiA+ID4gPiA+IAo+ID4gPiA+ID4gLQo+ID4gPiA+ID4gLQkJZHJtX21vZGVfZGVidWdfcHJp bnRtb2RlbGluZShwYW5lbF9tb2RlKTsKPiA+ID4gPiA+IC0KPiA+ID4gPiA+IC0JCWludGVsX2Zp eGVkX3BhbmVsX21vZGUocGFuZWxfbW9kZSwKPiA+ID4gPiA+IGFkanVzdGVkX21vZGUpOwo+ID4g PiA+ID4gKwkJaW50ZWxfZml4ZWRfcGFuZWxfbW9kZShpbnRlbF9jb25uZWN0b3ItCj4gPiA+ID4g PiAKPiA+ID4gPiA+ID4gcGFuZWwuZml4ZWRfbW9kZSwKPiA+ID4gPiA+IAo+ID4gPiA+ID4gKwkJ CQkgICAgICAgYWRqdXN0ZWRfbW9kZSk7Cj4gPiA+ID4gPiAgCj4gPiA+ID4gPiAgCQlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Cj4gPiA+ID4gPiAgCQkJaW50IHJldDsKPiA+ID4gPiA+ IEBAIC02MTU5LDcgKzYxMzQsNiBAQCBzdGF0aWMgYm9vbAo+ID4gPiA+ID4gaW50ZWxfZWRwX2lu aXRfY29ubmVjdG9yKHN0cnVjdAo+ID4gPiA+ID4gaW50ZWxfZHAgKmludGVsX2RwLAo+ID4gPiA+ ID4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4g PiA+ID4gPiAgCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmaW50ZWxfY29ubmVj dG9yLQo+ID4gPiA+ID4gCj4gPiA+ID4gPiA+YmFzZTsKPiA+ID4gPiA+IAo+ID4gPiA+ID4gIAlz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZml4ZWRfbW9kZSA9IE5VTEw7Cj4gPiA+ID4gPiAtCXN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICphbHRfZml4ZWRfbW9kZSA9IE5VTEw7Cj4gPiA+ID4gPiAg CXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpkb3duY2xvY2tfbW9kZSA9IE5VTEw7Cj4gPiA+ID4g PiAgCWJvb2wgaGFzX2RwY2Q7Cj4gPiA+ID4gPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpz Y2FuOwo+ID4gPiA+ID4gQEAgLTYyMTQsMTQgKzYxODgsMTMgQEAgc3RhdGljIGJvb2wKPiA+ID4g PiA+IGludGVsX2VkcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QKPiA+ID4gPiA+IGludGVsX2RwICpp bnRlbF9kcCwKPiA+ID4gPiA+ICAJfQo+ID4gPiA+ID4gIAlpbnRlbF9jb25uZWN0b3ItPmVkaWQg PSBlZGlkOwo+ID4gPiA+ID4gIAo+ID4gPiA+ID4gLQkvKiBwcmVmZXIgZml4ZWQgbW9kZSBmcm9t IEVESUQgaWYgYXZhaWxhYmxlLCBzYXZlIGFuCj4gPiA+ID4gPiBhbHQKPiA+ID4gPiA+IG1vZGUg YWxzbyAqLwo+ID4gPiA+ID4gKwkvKiBwcmVmZXIgZml4ZWQgbW9kZSBmcm9tIEVESUQgaWYgYXZh aWxhYmxlICovCj4gPiA+ID4gPiAgCWxpc3RfZm9yX2VhY2hfZW50cnkoc2NhbiwgJmNvbm5lY3Rv ci0+cHJvYmVkX21vZGVzLAo+ID4gPiA+ID4gaGVhZCkgewo+ID4gPiA+ID4gIAkJaWYgKChzY2Fu LT50eXBlICYgRFJNX01PREVfVFlQRV9QUkVGRVJSRUQpKSB7Cj4gPiA+ID4gPiAgCQkJZml4ZWRf bW9kZSA9IGRybV9tb2RlX2R1cGxpY2F0ZShkZXYsCj4gPiA+ID4gPiBzY2FuKTsKPiA+ID4gPiA+ ICAJCQlkb3duY2xvY2tfbW9kZSA9IGludGVsX2RwX2RycnNfaW5pdCgKPiA+ID4gPiA+ICAJCQkJ CQlpbnRlbF9jb25uZWN0bwo+ID4gPiA+ID4gciwKPiA+ID4gPiA+IGZpeGVkX21vZGUpOwo+ID4g PiA+ID4gLQkJfSBlbHNlIGlmICghYWx0X2ZpeGVkX21vZGUpIHsKPiA+ID4gPiA+IC0JCQlhbHRf Zml4ZWRfbW9kZSA9Cj4gPiA+ID4gPiBkcm1fbW9kZV9kdXBsaWNhdGUoZGV2LAo+ID4gPiA+ID4g c2Nhbik7Cj4gPiA+ID4gPiArCQkJYnJlYWs7Cj4gPiA+ID4gCj4gPiA+ID4gSWYgbXVsdGlwbGUg cHJlZmVycmVkIG1vZGVzIGFyZSBwcmVzZW50LCB3ZSdsbCBub3cgZW5kIHVwIGNhbGxpbmcKPiA+ ID4gPiBkcnJzX2luaXQoKSBvbmx5IGZvciB0aGUgZmlyc3QuIEkgc2VlIHRoYXQgdGhpcyBpcyB3 aGF0IHRoZQo+ID4gPiA+IG9yaWdpbmFsCj4gPiA+ID4gY29kZSBkaWQgYnV0IHRoaXMgcmV2ZXJ0 IGRvZXMgbW9yZSB0aGFuIHJlbW92aW5nIHN1cHBvcnQgZm9yCj4gPiA+ID4gYWx0ZXJuYXRlCj4g PiA+ID4gbW9kZXMuCj4gPiA+IAo+ID4gPiBJdCBib2lscyBkb3duIHRvIHdoaWNoIHByZWZlcnJl ZCBtb2RlIGlzICp0aGUqIHByZWZlcnJlZCBtb2RlLiBJCj4gPiA+IHRoaW5rCj4gPiA+IHRoZSBv cmlnaW5hbCBjb2RlIHdhcywgdWgsIHByZWZlcnJhYmxlLiBOb3RlIHRoYXQgZHJycyBpbml0IHNj YW5zCj4gPiA+IHRoZQo+ID4gPiBlbnRpcmUgbGlzdCBvZiBtb2RlcyBhZ2FpbiB0byBmaW5kIHRo ZSBzYW1lIHNpemUgbW9kZSB3aXRoIHRoZQo+ID4gPiBsb3dlc3QKPiA+ID4gcmVmcmVzaCByYXRl Lgo+ID4gCj4gPiBNb3Jlb3ZlciwgYXMgeW91IGNhbiBzZWUsIHRoZSBvcmlnaW5hbCBhbHQgbW9k ZSBjb21taXQgaGFkIG1vcmUKPiA+IHN1YnRsZQo+ID4gY2hhbmdlcyB0aGFuIGNhdGNoZXMgdGhl IGV5ZSwgaXQgY2F1c2VkIHJlZ3Jlc3Npb25zLCBhbmQgSSBmZWVsCj4gPiBwcmV0dHkKPiA+IHN0 cm9uZ2x5IGFib3V0IGdldHRpbmcgYmFjayB0byB0aGUgZHJhd2luZyBib2FyZCBhbmQgc3RhcnRp bmcgb3Zlcgo+ID4gd2l0aAo+ID4gYSBjbGVhbiBzbGF0ZSB0aGFuIHRyeWluZyB0byB0d2VhayBp dCB3aGVuIHdlIGFyZSBxdWl0ZSBmcmFua2x5IHdheQo+ID4gb3ZlcmR1ZSB3aXRoIHRoZSByZXZl cnQuIElmIGFmdGVyIHRoYXQgeW91IHRoaW5rIHRoZSBkcnJzL2Rvd25jbG9jawo+ID4gc2VsZWN0 aW9uIG5lZWRzIHR3ZWFraW5nLCBsZXQncyBkbyB0aGF0Lgo+IAo+IFllYWgsIGFncmVlZCBvbiBz dGFydGluZyB3aXRoIGEgY2xlYW4gc2xhdGUuCj4gCj4gVGhlIG9mZmVuZGluZyBjb21taXQgY2xh aW1zIGFsdGVybmF0ZSBtb2RlIHdhcyBpbnRlbmRlZCB0byBiZSB1c2VkIGZvcgo+IFBTUiB0ZXN0 aW5nLiBJIGRvbid0IHNlZSBhbnkgcHNyX2Jhc2ljIGZhaWx1cmVzIGluIEJBVCBvciBhbnkgb3Ro ZXIgUFNSCj4gc3ViLXRlc3RzIGZhaWxpbmcgb24gc2hhcmRzLCBtdXN0IGhhdmUgYmVlbiBhIG5v bi1DSSBtYWNoaW5lIHRoZW4uCj4gCj4gVGhlIHJldmVydCBpdHNlbGYgbG9va3MgY29ycmVjdCwK PiBSZXZpZXdlZC1ieTogRGhpbmFha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5A aW50ZWwuY29tPgoKSGl0IFNlbmQgdG9vIGVhcmx5IGFuZCBDYW5jZWwgdG9vIGxhdGUuIFRoZSBz aWduYXR1cmUgd2FzIG1pc3NwZWx0LCBob3BlIGl0IApkb2Vzbid0IGNvbmZ1c2UgZGltLgoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=