From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 1/2] drm/i915/BXT: Retrieving the horizontal timing for DSI Date: Wed, 27 Apr 2016 19:20:43 +0300 Message-ID: <1461774043.18080.93.camel@intel.com> References: <1461053894-5058-1-git-send-email-ramalingam.c@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id EEB756EB7B for ; Wed, 27 Apr 2016 16:20:45 +0000 (UTC) In-Reply-To: <1461053894-5058-1-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ramalingam C , intel-gfx@lists.freedesktop.org, daniel@ffwll.ch, jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gdGksIDIwMTYtMDQtMTkgYXQgMTM6NDggKzA1MzAsIFJhbWFsaW5nYW0gQyB3cm90ZToKPiBS ZXRyaXZpbmcgdGhlIGhvcml6b250YWwgdGltaW5ncyBmcm9tIHRoZSBwb3J0IHJlZ2lzdGVycyBh cwo+IHBhcnQgb2YgZ2V0X2NvbmZpZygpCj4gCj4gU2lnbmVkLW9mZi1ieTogUmFtYWxpbmdhbSBD IDxyYW1hbGluZ2FtLmNAaW50ZWwuY29tPgoKSSBzYXcgdGhlIGNyYXNoIGJlbG93IHdpdGggY3Vy cmVudCAtbmlnaHRseSBvbiBhIEJYVC1NIGJvYXJkIGFuZCBKYW5pCnBvaW50ZWQgbWUgdG8gdGhl c2UgdHdvIHBhdGNoZXMgd2hpY2ggZ2V0IHJpZCBvZiBpdCwgc28KQWNrZWQtYnk6IEltcmUgRGVh ayA8aW1yZS5kZWFrQGludGVsLmNvbT4KClvCoMKgwqA1Ni45MTY1NTddIGRpdmlkZSBlcnJvcjog MDAwMCBbIzFdIFBSRUVNUFQgU01QwqAKW8KgwqDCoDU2LjkyMTc0MV0gTW9kdWxlcyBsaW5rZWQg aW46IGk5MTUoKykgZHJtX2ttc19oZWxwZXIgc3lzY29weWFyZWEgc3lzZmlsbHJlY3Qgc3lzaW1n Ymx0IGZiX3N5c19mb3BzIGRybSBpbnRlbF9ndHQgYWdwZ2FydCBjZgpnODAyMTEgcmZraWxsIGJp bmZtdF9taXNjIGF4ODgxNzlfMTc4YSBrdm1faW50ZWwga3ZtIGlycWJ5cGFzcyBjcmMzMmNfaW50 ZWwgZWZpdmFycyB0cG1fdGlzIHRwbSBmdXNlClvCoMKgwqA1Ni45NDQxMDZdIENQVTogMyBQSUQ6 IDEwOTcgQ29tbTogbW9kcHJvYmUgTm90IHRhaW50ZWQgNC42LjAtcmM0KyAjNDMzClvCoMKgwqA1 Ni45NTE1MDFdIEhhcmR3YXJlIG5hbWU6IEludGVsIENvcnAuIEJyb3h0b24gTS9SVlAsIEJJT1Mg QlhUMVJWUEEuWDY0LjAxMzEuQjMwLjE2MDQxNDIyMTcgMDQvMTQvMjAxNgpbwqDCoMKgNTYuOTYx OTA4XSB0YXNrOiBmZmZmODgwMDdhODU0ZDAwIHRpOiBmZmZmODgwMDdhZWEwMDAwIHRhc2sudGk6 IGZmZmY4ODAwN2FlYTAwMDAKW8KgwqDCoDU2Ljk3MDI3M10gUklQOiAwMDEwOls8ZmZmZmZmZmZh MDEyMzViMj5dwqDCoFs8ZmZmZmZmZmZhMDEyMzViMj5dIGRybV9tb2RlX2hzeW5jKzB4MjIvMHg0 MCBbZHJtXQpbwqDCoMKgNTYuOTgwMDQzXSBSU1A6IDAwMTg6ZmZmZjg4MDA3YWVhMzc4OMKgwqBF RkxBR1M6IDAwMDEwMjA2ClvCoMKgwqA1Ni45ODU5ODJdIFJBWDogMDAwMDAwMDAwNzg4YjYwMCBS Qlg6IGZmZmY4ODAwNzNjMjIxMDggUkNYOiAwMDAwMDAwMDAwMDAwMDAwClvCoMKgwqA1Ni45OTM5 NTddIFJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IGZmZmY4ODAwN2FiMDY4MDAgUkRJOiBmZmZm ODgwMDczYzIyMTA4ClvCoMKgwqA1Ny4wMDE5MzVdIFJCUDogZmZmZjg4MDA3YWVhMzc4OCBSMDg6 IDAwMDAwMDAwMDAwMDAwMDEgUjA5OiBmZmZmODgwMDczYzIyMWU4ClvCoMKgwqA1Ny4wMDk5MDNd IFIxMDogZmZmZjg4MDA3M2MyMjEwOCBSMTE6IDAwMDAwMDAwMDAwMDAwMDEgUjEyOiBmZmZmODgw MDdhMzAwMDAwClvCoMKgwqA1Ny4wMTc4NzJdIFIxMzogZmZmZjg4MDA3M2MyMjAwMCBSMTQ6IGZm ZmY4ODAxNzVmNzgwMDAgUjE1OiBmZmZmODgwMTc1Zjc4Nzk4ClvCoMKgwqA1Ny4wMjU4NDldIEZT OsKgwqAwMDAwN2YxMDVkM2U2NzAwKDAwMDApIEdTOmZmZmY4ODAxN2ZkODAwMDAoMDAwMCkga25s R1M6MDAwMDAwMDAwMDAwMDAwMApbwqDCoMKgNTcuMDM0ODk0XSBDUzrCoMKgMDAxMCBEUzogMDAw MCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKW8KgwqDCoDU3LjA0MTMxN10gQ1IyOiAw MDAwN2Y0ZDQ4NTEwMWQwIENSMzogMDAwMDAwMDA3YTgyMDAwMCBDUjQ6IDAwMDAwMDAwMDAzNDA2 ZTAKW8KgwqDCoDU3LjA0OTI5Ml0gU3RhY2s6ClvCoMKgwqA1Ny4wNTE1MzldwqDCoGZmZmY4ODAw N2FlYTM3YTAgZmZmZmZmZmZhMDQzYjYzMiBmZmZmODgwMTc1Zjc4N2M4IGZmZmY4ODAwN2FlYTM4 MTAKW8KgwqDCoDU3LjA1OTgyNV3CoMKgZmZmZmZmZmZhMDQzZDU5ZSBmZmZmODgwMTc1Zjc4N2Iw IGZmZmY4ODAwN2FiNjhjMDAgZmZmZjg4MDA3YWVhMzdmMApbwqDCoMKgNTcuMDY4MTI4XcKgwqBm ZmZmODgwMDczYzIyMWU4IGZmZmY4ODAwNzNjMjIxMDggZmZmZjg4MDE3NWY3ODc4MCBmZmZmODgw MTAwMDAwMDAwClvCoMKgwqA1Ny4wNzY0MzBdIENhbGwgVHJhY2U6ClvCoMKgwqA1Ny4wNzkyNTRd wqDCoFs8ZmZmZmZmZmZhMDQzYjYzMj5dIGludGVsX21vZGVfZnJvbV9waXBlX2NvbmZpZysweDgy LzB4YjAgW2k5MTVdClvCoMKgwqA1Ny4wODc0MDVdwqDCoFs8ZmZmZmZmZmZhMDQzZDU5ZT5dIGlu dGVsX21vZGVzZXRfc2V0dXBfaHdfc3RhdGUrMHg1NWUvMHhkNjAgW2k5MTVdClvCoMKgwqA1Ny4w OTU4NDddwqDCoFs8ZmZmZmZmZmZhMDQzZmY5ND5dIGludGVsX21vZGVzZXRfaW5pdCsweDhlNC8w eDE2MzAgW2k5MTVdClvCoMKgwqA1Ny4xMDM0MTVdwqDCoFs8ZmZmZmZmZmZhMDQ3YmNmMD5dIGk5 MTVfZHJpdmVyX2xvYWQrMHhiZTAvMHgxOTgwIFtpOTE1XQpbwqDCoMKgNTcuMTEwNzQ1XcKgwqBb PGZmZmZmZmZmYTAxMTZjMTk+XSBkcm1fZGV2X3JlZ2lzdGVyKzB4YTkvMHhjMCBbZHJtXQpbwqDC oMKgNTcuMTE3NjgxXcKgwqBbPGZmZmZmZmZmYTAxMTkyMWQ+XSBkcm1fZ2V0X3BjaV9kZXYrMHg4 ZC8weDFlMCBbZHJtXQpbwqDCoMKgNTcuMTI0NjAwXcKgwqBbPGZmZmZmZmZmODE5NWY5NDI+XSA/ IF9yYXdfc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSsweDQyLzB4NzAKW8KgwqDCoDU3LjEzMjI1M13C oMKgWzxmZmZmZmZmZmEwM2IwMzg0Pl0gaTkxNV9wY2lfcHJvYmUrMHgzNC8weDUwIFtpOTE1XQpb wqDCoMKgNTcuMTM5MDcwXcKgwqBbPGZmZmZmZmZmODE0OWMzNzU+XSBsb2NhbF9wY2lfcHJvYmUr MHg0NS8weGEwClvCoMKgwqA1Ny4xNDUzMDNdwqDCoFs8ZmZmZmZmZmY4MTQ5ZDMwMD5dID8gcGNp X21hdGNoX2RldmljZSsweGUwLzB4MTEwClvCoMKgwqA1Ny4xNTE5MjRdwqDCoFs8ZmZmZmZmZmY4 MTQ5ZDZjYj5dIHBjaV9kZXZpY2VfcHJvYmUrMHhkYi8weDEzMApbwqDCoMKgNTcuMTU4MzU1XcKg wqBbPGZmZmZmZmZmODE1NzliOTM+XSBkcml2ZXJfcHJvYmVfZGV2aWNlKzB4MjIzLzB4NDQwClvC oMKgwqA1Ny4xNjUxNjldwqDCoFs8ZmZmZmZmZmY4MTU3OWU4NT5dIF9fZHJpdmVyX2F0dGFjaCsw eGQ1LzB4MTAwClvCoMKgwqA1Ny4xNzE1MDBdwqDCoFs8ZmZmZmZmZmY4MTU3OWRiMD5dID8gZHJp dmVyX3Byb2JlX2RldmljZSsweDQ0MC8weDQ0MApbwqDCoMKgNTcuMTc4NTEwXcKgwqBbPGZmZmZm ZmZmODE1Nzc3MzY+XSBidXNfZm9yX2VhY2hfZGV2KzB4NjYvMHhhMApbwqDCoMKgNTcuMTg0ODQx XcKgwqBbPGZmZmZmZmZmODE1NzkzZGU+XSBkcml2ZXJfYXR0YWNoKzB4MWUvMHgyMApbwqDCoMKg NTcuMTkwODgxXcKgwqBbPGZmZmZmZmZmODE1NzhkNmU+XSBidXNfYWRkX2RyaXZlcisweDFlZS8w eDI4MApbwqDCoMKgNTcuMTk3MjEyXcKgwqBbPGZmZmZmZmZmODE1N2FiYzA+XSBkcml2ZXJfcmVn aXN0ZXIrMHg2MC8weGUwClvCoMKgwqA1Ny4yMDM0NDddwqDCoFs8ZmZmZmZmZmY4MTQ5YmM1MD5d IF9fcGNpX3JlZ2lzdGVyX2RyaXZlcisweDYwLzB4NzAKW8KgwqDCoDU3LjIxMDI4NV3CoMKgWzxm ZmZmZmZmZmEwMTE5NDUwPl0gZHJtX3BjaV9pbml0KzB4ZTAvMHgxMTAgW2RybV0KW8KgwqDCoDU3 LjIxNjkxMV3CoMKgWzxmZmZmZmZmZjgxMGRjZDhkPl0gPyB0cmFjZV9oYXJkaXJxc19vbisweGQv MHgxMApbwqDCoMKgNTcuMjIzNDM0XcKgwqBbPGZmZmZmZmZmYTAyM2EwMDA+XSA/IDB4ZmZmZmZm ZmZhMDIzYTAwMApbwqDCoMKgNTcuMjI5MjM3XcKgwqBbPGZmZmZmZmZmYTAyM2EwOTI+XSBpOTE1 X2luaXQrMHg5Mi8weDk5IFtpOTE1XQpbwqDCoMKgNTcuMjM1NTcwXcKgwqBbPGZmZmZmZmZmODEw MDAzZGI+XSBkb19vbmVfaW5pdGNhbGwrMHhhYi8weDFkMApbwqDCoMKgNTcuMjQxOTAwXcKgwqBb PGZmZmZmZmZmODEwZjllZWY+XSA/IHJjdV9yZWFkX2xvY2tfc2NoZWRfaGVsZCsweDdmLzB4OTAK W8KgwqDCoDU3LjI0OTIwNV3CoMKgWzxmZmZmZmZmZjgxMjA0ZjE4Pl0gPyBrbWVtX2NhY2hlX2Fs bG9jX3RyYWNlKzB4MjQ4LzB4MmIwClvCoMKgwqA1Ny4yNTY1MDldwqDCoFs8ZmZmZmZmZmY4MTFh NWVlZT5dID8gZG9faW5pdF9tb2R1bGUrMHgyNy8weDFkOQpbwqDCoMKgNTcuMjYyOTM0XcKgwqBb PGZmZmZmZmZmODExYTVmMjY+XSBkb19pbml0X21vZHVsZSsweDVmLzB4MWQ5ClvCoMKgwqA1Ny4y NjkxNjddwqDCoFs8ZmZmZmZmZmY4MTEyMzkyZj5dIGxvYWRfbW9kdWxlKzB4MjBlZi8weDI3YjAK W8KgwqDCoDU3LjI3NTQwMV3CoMKgWzxmZmZmZmZmZjgxMTFmOGUwPl0gPyBzdG9yZV91ZXZlbnQr MHg0MC8weDQwClvCoMKgwqA1Ny4yODE1NDFdwqDCoFs8ZmZmZmZmZmY4MTEyNDI0Mz5dIFNZU0Nf ZmluaXRfbW9kdWxlKzB4YzMvMHhmMApbwqDCoMKgNTcuMjg3OTY5XcKgwqBbPGZmZmZmZmZmODEx MjQyOGU+XSBTeVNfZmluaXRfbW9kdWxlKzB4ZS8weDEwClvCoMKgwqA1Ny4yOTQyMDNdwqDCoFs8 ZmZmZmZmZmY4MTk2MDA2OT5dIGVudHJ5X1NZU0NBTExfNjRfZmFzdHBhdGgrMHgxYy8weGFjClvC oMKgwqA1Ny4zMDE0MDZdIENvZGU6IGZmIDVkIGMzIDY2IDBmIDFmIDQ0IDAwIDAwIDBmIDFmIDQ0 IDAwIDAwIDhiIDg3IGQ4IDAwIDAwIDAwIDU1IDQ4IDg5IGU1IDg1IGMwIDc1IDIyIDhiIDRmIDY4 IDg1IGM5IDc4IDFiIDY5IDQ3IDU4IGU4IDAzIDAwIDAwIDk5IDxmNz4gZjkgYjkgZDMgNGQgNjIg MTAgMDUgZjQgMDEgMDAgMDAgZjcgZTEgODkgZDAgYzEgZTggMDYgNWQgYzPCoApbwqDCoMKgNTcu MzIyOTY0XSBSSVDCoMKgWzxmZmZmZmZmZmEwMTIzNWIyPl0gZHJtX21vZGVfaHN5bmMrMHgyMi8w eDQwIFtkcm1dClvCoMKgwqA1Ny4zMzAxMDNdwqDCoFJTUCA8ZmZmZjg4MDA3YWVhMzc4OD4KW8Kg wqDCoDU3LjMzNDI3Nl0gLS0tWyBlbmQgdHJhY2UgZDQxNDIyNGNiMmUyYTRjZiBdLS0tClvCoMKg wqA1Ny4zMzk4NjFdIG1vZHByb2JlICgxMDk3KSB1c2VkIGdyZWF0ZXN0IHN0YWNrIGRlcHRoOiAx MjA0OCBieXRlcyBsZWZ0Cgo+IC0tLQo+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNp LmMgfMKgwqDCoDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCj4gwqAx IGZpbGUgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kc2kuYwo+IGluZGV4IDlmZjY0MzUuLmUwMjU5ZTYgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kc2kuYwo+IEBAIC00Niw2ICs0NiwxNCBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHsKPiDCoAl9LAo+IMKgfTsKPiDCoAo+ICsvKiByZXR1cm4gcGl4ZWxzIGVxdXZhbGVudCB0 byB0eGJ5dGVjbGtocyAqLwo+ICtzdGF0aWMgdTE2IHBpeGVsc19mcm9tX3R4Ynl0ZWNsa2hzKHUx NiBjbGtfaHMsIGludCBicHAsIGludCBsYW5lX2NvdW50LAo+ICsJCQl1MTYgYnVyc3RfbW9kZV9y YXRpbykKPiArewo+ICsJcmV0dXJuIERJVl9ST1VORF9VUCgoY2xrX2hzICogbGFuZV9jb3VudCAq IDggKiAxMDApLAo+ICsJCQkJCQkoYnBwICogYnVyc3RfbW9kZV9yYXRpbykpOwo+ICt9Cj4gKwo+ IMKgZW51bSBtaXBpX2RzaV9waXhlbF9mb3JtYXQgcGl4ZWxfZm9ybWF0X2Zyb21fcmVnaXN0ZXJf Yml0cyh1MzIgZm10KQo+IMKgewo+IMKgCS8qIEl0IGp1c3Qgc28gaGFwcGVucyB0aGUgVkJUIG1h dGNoZXMgcmVnaXN0ZXIgY29udGVudHMuICovCj4gQEAgLTc3Miw5ICs3ODAsMTAgQEAgc3RhdGlj IHZvaWQgYnh0X2RzaV9nZXRfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29k ZXIsCj4gwqAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQo+IMKgCQkJ CQkmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPiDCoAlzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsKPiArCXVuc2ln bmVkIGludCBsYW5lX2NvdW50ID0gaW50ZWxfZHNpLT5sYW5lX2NvdW50Owo+IMKgCXVuc2lnbmVk IGludCBicHAsIGZtdDsKPiDCoAllbnVtIHBvcnQgcG9ydDsKPiAtCXUxNiB2ZnAsIHZzeW5jLCB2 YnA7Cj4gKwl1MTYgaGFjdGl2ZSwgaGZwLCBoc3luYywgaGJwLCB2ZnAsIHZzeW5jLCB2YnA7Cj4g wqAKPiDCoAkvKgo+IMKgCcKgKiBBdGxlYXN0IG9uZSBwb3J0IGlzIGFjdGl2ZSBhcyBlbmNvZGVy LT5nZXRfY29uZmlnIGNhbGxlZCBvbmx5IGlmCj4gQEAgLTc5OSwyMiArODA4LDQzIEBAIHN0YXRp YyB2b2lkIGJ4dF9kc2lfZ2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLAo+IMKgCWFkanVzdGVkX21vZGUtPmNydGNfdnRvdGFsID0KPiDCoAkJCQlJOTE1X1JFQUQo QlhUX01JUElfVFJBTlNfVlRPVEFMKHBvcnQpKTsKPiDCoAo+ICsJaGFjdGl2ZSA9IGFkanVzdGVk X21vZGUtPmNydGNfaGRpc3BsYXk7Cj4gKwloZnAgPSBJOTE1X1JFQUQoTUlQSV9IRlBfQ09VTlQo cG9ydCkpOwo+ICsKPiDCoAkvKgo+IC0JwqAqIFRPRE86IFJldHJpZXZlIGhmcCwgaHN5bmMgYW5k IGhicC4gQWRqdXN0IHRoZW0gZm9yIGR1YWwgbGluayBhbmQKPiAtCcKgKiBjYWxjdWxhdGUgaHN5 bmNfc3RhcnQsIGhzeW5jX2VuZCwgaHRvdGFsIGFuZCBoYmxhbmtfZW5kCj4gKwnCoCogTWVhbmlu Z2Z1bCBmb3IgdmlkZW8gbW9kZSBub24tYnVyc3Qgc3luYyBwdWxzZSBtb2RlIG9ubHksCj4gKwnC oCogY2FuIGJlIHplcm8gZm9yIG5vbi1idXJzdCBzeW5jIGV2ZW50cyBhbmQgYnVyc3QgbW9kZXMK PiDCoAnCoCovCj4gKwloc3luYyA9IEk5MTVfUkVBRChNSVBJX0hTWU5DX1BBRERJTkdfQ09VTlQo cG9ydCkpOwo+ICsJaGJwID0gSTkxNV9SRUFEKE1JUElfSEJQX0NPVU5UKHBvcnQpKTsKPiArCj4g KwkvKiBoYXJpem9udGFsIHZhbHVlcyBhcmUgaW4gdGVybXMgb2YgaGlnaCBzcGVlZCBieXRlIGNs b2NrICovCj4gKwloZnAgPSBwaXhlbHNfZnJvbV90eGJ5dGVjbGtocyhoZnAsIGJwcCwgbGFuZV9j b3VudCwKPiArCQkJCQkJaW50ZWxfZHNpLT5idXJzdF9tb2RlX3JhdGlvKTsKPiArCWhzeW5jID0g cGl4ZWxzX2Zyb21fdHhieXRlY2xraHMoaHN5bmMsIGJwcCwgbGFuZV9jb3VudCwKPiArCQkJCQkJ aW50ZWxfZHNpLT5idXJzdF9tb2RlX3JhdGlvKTsKPiArCWhicCA9IHBpeGVsc19mcm9tX3R4Ynl0 ZWNsa2hzKGhicCwgYnBwLCBsYW5lX2NvdW50LAo+ICsJCQkJCQlpbnRlbF9kc2ktPmJ1cnN0X21v ZGVfcmF0aW8pOwo+ICsKPiArCWlmIChpbnRlbF9kc2ktPmR1YWxfbGluaykgewo+ICsJCWhmcCAq PSAyOwo+ICsJCWhzeW5jICo9IDI7Cj4gKwkJaGJwICo9IDI7Cj4gKwl9Cj4gwqAKPiDCoAkvKiB2 ZXJ0aWNhbCB2YWx1ZXMgYXJlIGluIHRlcm1zIG9mIGxpbmVzICovCj4gwqAJdmZwID0gSTkxNV9S RUFEKE1JUElfVkZQX0NPVU5UKHBvcnQpKTsKPiDCoAl2c3luYyA9IEk5MTVfUkVBRChNSVBJX1ZT WU5DX1BBRERJTkdfQ09VTlQocG9ydCkpOwo+IMKgCXZicCA9IEk5MTVfUkVBRChNSVBJX1ZCUF9D T1VOVChwb3J0KSk7Cj4gwqAKPiArCWFkanVzdGVkX21vZGUtPmNydGNfaHRvdGFsID0gaGFjdGl2 ZSArIGhmcCArIGhzeW5jICsgaGJwOwo+ICsJYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oc3luY19zdGFy dCA9IGhmcCArIGFkanVzdGVkX21vZGUtPmNydGNfaGRpc3BsYXk7Cj4gKwlhZGp1c3RlZF9tb2Rl LT5jcnRjX2hzeW5jX2VuZCA9IGhzeW5jICsgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oc3luY19zdGFy dDsKPiDCoAlhZGp1c3RlZF9tb2RlLT5jcnRjX2hibGFua19zdGFydCA9IGFkanVzdGVkX21vZGUt PmNydGNfaGRpc3BsYXk7Cj4gKwlhZGp1c3RlZF9tb2RlLT5jcnRjX2hibGFua19lbmQgPSBhZGp1 c3RlZF9tb2RlLT5jcnRjX2h0b3RhbDsKPiDCoAo+IC0JYWRqdXN0ZWRfbW9kZS0+Y3J0Y192c3lu Y19zdGFydCA9Cj4gLQkJCQl2ZnAgKyBhZGp1c3RlZF9tb2RlLT5jcnRjX3ZkaXNwbGF5Owo+IC0J YWRqdXN0ZWRfbW9kZS0+Y3J0Y192c3luY19lbmQgPQo+IC0JCQkJdnN5bmMgKyBhZGp1c3RlZF9t b2RlLT5jcnRjX3ZzeW5jX3N0YXJ0Owo+ICsJYWRqdXN0ZWRfbW9kZS0+Y3J0Y192c3luY19zdGFy dCA9IHZmcCArIGFkanVzdGVkX21vZGUtPmNydGNfdmRpc3BsYXk7Cj4gKwlhZGp1c3RlZF9tb2Rl LT5jcnRjX3ZzeW5jX2VuZCA9IHZzeW5jICsgYWRqdXN0ZWRfbW9kZS0+Y3J0Y192c3luY19zdGFy dDsKPiDCoAlhZGp1c3RlZF9tb2RlLT5jcnRjX3ZibGFua19zdGFydCA9IGFkanVzdGVkX21vZGUt PmNydGNfdmRpc3BsYXk7Cj4gwqAJYWRqdXN0ZWRfbW9kZS0+Y3J0Y192YmxhbmtfZW5kID0gYWRq dXN0ZWRfbW9kZS0+Y3J0Y192dG90YWw7Cj4gwqB9Cl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=