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 C7523C433F5 for ; Wed, 12 Jan 2022 19:52:51 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B1AFE10ED61; Wed, 12 Jan 2022 19:52:50 +0000 (UTC) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id EB55210ED61 for ; Wed, 12 Jan 2022 19:52:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642017169; x=1673553169; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=f7eLR9ELMQxvkFOd9gxeAondvMNSAVhyfKcJQwXg/PM=; b=MXndiO+uXmDWPxtJqgb10vFwvLPEJOFEcZbja1UAZqbHYMsIYkKYYCP3 P8DadvjIclV2mYO4gnlsb5Jd50FJMiIhYzKKMWdnDUWCorrV7QpAbWh0r fKaHaEsbIv1R7bq8G0SbmCVcXJFMILnmjeOWAMnJmNS/sbbLB0idr1Xi6 +p/73xOiBtWsEc1FsS6eEFMrXttqmayCoRwiKxFpwIV+of8l6GkGlXPEO OeyvV00SnR9ayjaj9nPJ43Ahg2ytF0SL/eLKzfcbttQbAJrB3V0Odm7/E Vh85q62sa6N+3VVYrYLRnJTnADHxPqz+JrEs+tTnjTs9eXZlmg+T6HKUt w==; X-IronPort-AV: E=McAfee;i="6200,9189,10225"; a="307189741" X-IronPort-AV: E=Sophos;i="5.88,282,1635231600"; d="scan'208";a="307189741" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Jan 2022 11:52:49 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,282,1635231600"; d="scan'208";a="691520678" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga005.jf.intel.com with ESMTP; 12 Jan 2022 11:52:49 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 12 Jan 2022 11:52:48 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Wed, 12 Jan 2022 11:52:48 -0800 Received: from orsmsx610.amr.corp.intel.com ([10.22.229.23]) by ORSMSX610.amr.corp.intel.com ([10.22.229.23]) with mapi id 15.01.2308.020; Wed, 12 Jan 2022 11:52:48 -0800 From: "Souza, Jose" To: "ville.syrjala@linux.intel.com" Thread-Topic: [Intel-gfx] [PATCH 06/14] drm/i915: Use REG_BIT() & co. for universal plane bits Thread-Index: AQHX5sfdk7IPZKxK70e/mCU8DjKnYqweagmAgAE2AICAQPTlgA== Date: Wed, 12 Jan 2022 19:52:48 +0000 Message-ID: <5e41171b75abb704bac6a09e9f7bca4fe77dbf2c.camel@intel.com> References: <20211201152552.7821-1-ville.syrjala@linux.intel.com> <20211201152552.7821-7-ville.syrjala@linux.intel.com> <445772b856d08ae9b5bf92d54159894b0d86cadf.camel@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.1.200.100] Content-Type: text/plain; charset="utf-8" Content-ID: <37F7905F02B12A46A512C8C0976A7E8B@intel.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [Intel-gfx] [PATCH 06/14] drm/i915: Use REG_BIT() & co. for universal plane bits 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: , Cc: "intel-gfx@lists.freedesktop.org" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" T24gVGh1LCAyMDIxLTEyLTAyIGF0IDEzOjU3ICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 DQo+IE9uIFdlZCwgRGVjIDAxLCAyMDIxIGF0IDA1OjI2OjUwUE0gKzAwMDAsIFNvdXphLCBKb3Nl IHdyb3RlOg0KPiA+IE9uIFdlZCwgMjAyMS0xMi0wMSBhdCAxNzoyNSArMDIwMCwgVmlsbGUgU3ly amFsYSB3cm90ZToNCj4gPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+DQo+ID4gPiANCj4gPiA+IFBvbGlzaCB0aGUgc2tsKyB1bml2ZXJzYWwg cGxhbmUgcmVnaXN0ZXIgZGVmaW5lcyBieQ0KPiA+ID4gdXNpbmcgUkVHX0JJVCgpICYgY28uDQo+ ID4gPiANCj4gPiA+IFRoZSBkZWZpbmVzIGFyZSBhbHNvIGN1cnJlbnRseSBzcHJlYWQgYXJvdW5k IGluIHNvbWUNCj4gPiA+IHNlbWktcmFuZG9tIGZhc2hpb24uIENvbGxlY3QgdGhlbSB1cCBpbnRv IG9uZSBwbGFjZS4NCg0KUmV2aWV3ZWQtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uu c291emFAaW50ZWwuY29tPg0KDQoNCj4gPiA+IA0KPiA+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ ID4gIC4uLi9kcm0vaTkxNS9kaXNwbGF5L3NrbF91bml2ZXJzYWxfcGxhbmUuYyAgICB8ICAzNiAr Ky0tDQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3JlZy5oICAgICAgICAgICAgICAg IHwgICAxIC0NCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAg ICAgICAgfCAxOTcgKysrKysrKysrKy0tLS0tLS0tDQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYyAgICAgICAgICAgICAgIHwgIDEyICstDQo+ID4gPiAgNCBmaWxlcyBjaGFu Z2VkLCAxMzUgaW5zZXJ0aW9ucygrKSwgMTExIGRlbGV0aW9ucygtKQ0KPiA+ID4gDQo+ID4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9za2xfdW5pdmVyc2FsX3Bs YW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3NrbF91bml2ZXJzYWxfcGxhbmUu Yw0KPiA+ID4gaW5kZXggOTg0YmIzNWVjZjA2Li43OTk5OGViNjcyODAgMTAwNjQ0DQo+ID4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L3NrbF91bml2ZXJzYWxfcGxhbmUuYw0K PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9za2xfdW5pdmVyc2FsX3Bs YW5lLmMNCj4gPiA+IEBAIC0xMDM3LDExICsxMDM3LDEyIEBAIHNrbF9wcm9ncmFtX3BsYW5lX25v YXJtKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsDQo+ID4gPiAgCWlmIChwbGFuZV9zdGF0ZS0+ Zm9yY2VfYmxhY2spDQo+ID4gPiAgCQlpY2xfcGxhbmVfY3NjX2xvYWRfYmxhY2socGxhbmUpOw0K PiA+ID4gIA0KPiA+ID4gLQlpbnRlbF9kZV93cml0ZV9mdyhkZXZfcHJpdiwgUExBTkVfU1RSSURF KHBpcGUsIHBsYW5lX2lkKSwgc3RyaWRlKTsNCj4gPiA+ICsJaW50ZWxfZGVfd3JpdGVfZncoZGV2 X3ByaXYsIFBMQU5FX1NUUklERShwaXBlLCBwbGFuZV9pZCksDQo+ID4gPiArCQkJICBQTEFORV9T VFJJREVfKHN0cmlkZSkpOw0KPiA+ID4gIAlpbnRlbF9kZV93cml0ZV9mdyhkZXZfcHJpdiwgUExB TkVfUE9TKHBpcGUsIHBsYW5lX2lkKSwNCj4gPiA+IC0JCQkgIChjcnRjX3kgPDwgMTYpIHwgY3J0 Y194KTsNCj4gPiA+ICsJCQkgIFBMQU5FX1BPU19ZKGNydGNfeSkgfCBQTEFORV9QT1NfWChjcnRj X3gpKTsNCj4gPiA+ICAJaW50ZWxfZGVfd3JpdGVfZncoZGV2X3ByaXYsIFBMQU5FX1NJWkUocGlw ZSwgcGxhbmVfaWQpLA0KPiA+ID4gLQkJCSAgKChzcmNfaCAtIDEpIDw8IDE2KSB8IChzcmNfdyAt IDEpKTsNCj4gPiA+ICsJCQkgIFBMQU5FX0hFSUdIVChzcmNfaCAtIDEpIHwgUExBTkVfV0lEVEgo c3JjX3cgLSAxKSk7DQo+ID4gPiAgDQo+ID4gPiAgCWlmIChpbnRlbF9mYl9pc19yY19jY3NfY2Nf bW9kaWZpZXIoZmItPm1vZGlmaWVyKSkgew0KPiA+ID4gIAkJaW50ZWxfZGVfd3JpdGVfZncoZGV2 X3ByaXYsIFBMQU5FX0NDX1ZBTChwaXBlLCBwbGFuZV9pZCwgMCksDQo+ID4gPiBAQCAtMTEwMCw3 ICsxMTAxLDcgQEAgc2tsX3Byb2dyYW1fcGxhbmVfYXJtKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxh bmUsDQo+ID4gPiAgCQkJc2tsX3N1cmZfYWRkcmVzcyhwbGFuZV9zdGF0ZSwgY29sb3JfcGxhbmUp Ow0KPiA+ID4gIA0KPiA+ID4gIAkJaWYgKERJU1BMQVlfVkVSKGRldl9wcml2KSA8IDEyKQ0KPiA+ ID4gLQkJCWF1eF9kaXN0IHw9IHNrbF9wbGFuZV9zdHJpZGUocGxhbmVfc3RhdGUsIGF1eF9wbGFu ZSk7DQo+ID4gPiArCQkJYXV4X2Rpc3QgfD0gUExBTkVfQVVYX1NUUklERShza2xfcGxhbmVfc3Ry aWRlKHBsYW5lX3N0YXRlLCBhdXhfcGxhbmUpKTsNCj4gPiA+ICAJfQ0KPiA+ID4gIA0KPiA+ID4g IAlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYtPnVuY29yZS5sb2NrLCBpcnFmbGFncyk7DQo+ ID4gPiBAQCAtMTExMSwxNCArMTExMiwxNCBAQCBza2xfcHJvZ3JhbV9wbGFuZV9hcm0oc3RydWN0 IGludGVsX3BsYW5lICpwbGFuZSwNCj4gPiA+ICAJaW50ZWxfZGVfd3JpdGVfZncoZGV2X3ByaXYs IFBMQU5FX0tFWU1BWChwaXBlLCBwbGFuZV9pZCksIGtleW1heCk7DQo+ID4gPiAgDQo+ID4gPiAg CWludGVsX2RlX3dyaXRlX2Z3KGRldl9wcml2LCBQTEFORV9PRkZTRVQocGlwZSwgcGxhbmVfaWQp LA0KPiA+ID4gLQkJCSAgKHkgPDwgMTYpIHwgeCk7DQo+ID4gPiArCQkJICBQTEFORV9PRkZTRVRf WSh5KSB8IFBMQU5FX09GRlNFVF9YKHgpKTsNCj4gPiA+ICANCj4gPiA+ICAJaW50ZWxfZGVfd3Jp dGVfZncoZGV2X3ByaXYsIFBMQU5FX0FVWF9ESVNUKHBpcGUsIHBsYW5lX2lkKSwgYXV4X2Rpc3Qp Ow0KPiA+ID4gIA0KPiA+ID4gIAlpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpIDwgMTEpDQo+ID4g PiAgCQlpbnRlbF9kZV93cml0ZV9mdyhkZXZfcHJpdiwgUExBTkVfQVVYX09GRlNFVChwaXBlLCBw bGFuZV9pZCksDQo+ID4gPiAtCQkJCSAgKHBsYW5lX3N0YXRlLT52aWV3LmNvbG9yX3BsYW5lWzFd LnkgPDwgMTYpIHwNCj4gPiA+IC0JCQkJICAgcGxhbmVfc3RhdGUtPnZpZXcuY29sb3JfcGxhbmVb MV0ueCk7DQo+ID4gPiArCQkJCSAgUExBTkVfT0ZGU0VUX1kocGxhbmVfc3RhdGUtPnZpZXcuY29s b3JfcGxhbmVbMV0ueSkgfA0KPiA+ID4gKwkJCQkgIFBMQU5FX09GRlNFVF9YKHBsYW5lX3N0YXRl LT52aWV3LmNvbG9yX3BsYW5lWzFdLngpKTsNCj4gPiA+ICANCj4gPiA+ICAJaWYgKERJU1BMQVlf VkVSKGRldl9wcml2KSA+PSAxMCkNCj4gPiA+ICAJCWludGVsX2RlX3dyaXRlX2Z3KGRldl9wcml2 LCBQTEFORV9DT0xPUl9DVEwocGlwZSwgcGxhbmVfaWQpLCBwbGFuZV9jb2xvcl9jdGwpOw0KPiA+ ID4gQEAgLTIyNjIsMTYgKzIyNjMsMTcgQEAgc2tsX2dldF9pbml0aWFsX3BsYW5lX2NvbmZpZyhz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywNCj4gPiA+ICAJdmFsID0gaW50ZWxfZGVfcmVhZChkZXZf cHJpdiwgUExBTkVfQ1RMKHBpcGUsIHBsYW5lX2lkKSk7DQo+ID4gPiAgDQo+ID4gPiAgCWlmIChE SVNQTEFZX1ZFUihkZXZfcHJpdikgPj0gMTEpDQo+ID4gPiAtCQlwaXhlbF9mb3JtYXQgPSB2YWwg JiBJQ0xfUExBTkVfQ1RMX0ZPUk1BVF9NQVNLOw0KPiA+ID4gKwkJcGl4ZWxfZm9ybWF0ID0gdmFs ICYgUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX0lDTDsNCj4gPiANCj4gPiBNb3N0IG9mIG91ciBwbGF0 Zm9ybSBiaXRzIGRlZmluaXRpb24gZm9sbG93cyA8cGxhdGZvcm0gb3IgZGlzcGxheSB2ZXI+Xzxy ZWdpc3RlciBuYW1lPi4NCj4gDQo+IHMvbW9zdC9zb21lLw0KPiANCj4gSSB3YW50IGl0IGV4YWN0 bHkgdGhlIG90aGVyIHdheSBhcm91bmQgc28gdGhhdCB0aGUgbmFtZXNwYWNlIGZvcg0KPiBlYWNo IHJlZ2lzdGVyIGlzIGNvbnNpc3RlbnQuDQo+IA0KPiA+IA0KPiA+IE90aGVyIHRoYW4gdGhhdCB0 aGUgaWRlYSBsb29rcyBnb29kIHRvIG1lLg0KPiA+IA0KPiA+ID4gIAllbHNlDQo+ID4gPiAtCQlw aXhlbF9mb3JtYXQgPSB2YWwgJiBQTEFORV9DVExfRk9STUFUX01BU0s7DQo+ID4gPiArCQlwaXhl bF9mb3JtYXQgPSB2YWwgJiBQTEFORV9DVExfRk9STUFUX01BU0tfU0tMOw0KPiA+ID4gIA0KPiA+ ID4gIAlpZiAoRElTUExBWV9WRVIoZGV2X3ByaXYpID49IDEwKSB7DQo+ID4gPiAtCQlhbHBoYSA9 IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsDQo+ID4gPiAtCQkJCSAgICAgIFBMQU5FX0NPTE9SX0NU TChwaXBlLCBwbGFuZV9pZCkpOw0KPiA+ID4gLQkJYWxwaGEgJj0gUExBTkVfQ09MT1JfQUxQSEFf TUFTSzsNCj4gPiA+ICsJCXUzMiBjb2xvcl9jdGw7DQo+ID4gPiArDQo+ID4gPiArCQljb2xvcl9j dGwgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBQTEFORV9DT0xPUl9DVEwocGlwZSwgcGxhbmVf aWQpKTsNCj4gPiA+ICsJCWFscGhhID0gUkVHX0ZJRUxEX0dFVChQTEFORV9DT0xPUl9BTFBIQV9N QVNLLCBjb2xvcl9jdGwpOw0KPiA+ID4gIAl9IGVsc2Ugew0KPiA+ID4gLQkJYWxwaGEgPSB2YWwg JiBQTEFORV9DVExfQUxQSEFfTUFTSzsNCj4gPiA+ICsJCWFscGhhID0gUkVHX0ZJRUxEX0dFVChQ TEFORV9DVExfQUxQSEFfTUFTSywgdmFsKTsNCj4gPiA+ICAJfQ0KPiA+ID4gIA0KPiA+ID4gIAlm b3VyY2MgPSBza2xfZm9ybWF0X3RvX2ZvdXJjYyhwaXhlbF9mb3JtYXQsDQo+ID4gPiBAQCAtMjMz NSwxOSArMjMzNywxOSBAQCBza2xfZ2V0X2luaXRpYWxfcGxhbmVfY29uZmlnKHN0cnVjdCBpbnRl bF9jcnRjICpjcnRjLA0KPiA+ID4gIAlpZiAoZHJtX3JvdGF0aW9uXzkwX29yXzI3MChwbGFuZV9j b25maWctPnJvdGF0aW9uKSkNCj4gPiA+ICAJCWdvdG8gZXJyb3I7DQo+ID4gPiAgDQo+ID4gPiAt CWJhc2UgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBQTEFORV9TVVJGKHBpcGUsIHBsYW5lX2lk KSkgJiAweGZmZmZmMDAwOw0KPiA+ID4gKwliYXNlID0gaW50ZWxfZGVfcmVhZChkZXZfcHJpdiwg UExBTkVfU1VSRihwaXBlLCBwbGFuZV9pZCkpICYgUExBTkVfU1VSRl9BRERSX01BU0s7DQo+ID4g PiAgCXBsYW5lX2NvbmZpZy0+YmFzZSA9IGJhc2U7DQo+ID4gPiAgDQo+ID4gPiAgCW9mZnNldCA9 IGludGVsX2RlX3JlYWQoZGV2X3ByaXYsIFBMQU5FX09GRlNFVChwaXBlLCBwbGFuZV9pZCkpOw0K PiA+ID4gIA0KPiA+ID4gIAl2YWwgPSBpbnRlbF9kZV9yZWFkKGRldl9wcml2LCBQTEFORV9TSVpF KHBpcGUsIHBsYW5lX2lkKSk7DQo+ID4gPiAtCWZiLT5oZWlnaHQgPSAoKHZhbCA+PiAxNikgJiAw eGZmZmYpICsgMTsNCj4gPiA+IC0JZmItPndpZHRoID0gKCh2YWwgPj4gMCkgJiAweGZmZmYpICsg MTsNCj4gPiA+ICsJZmItPmhlaWdodCA9IFJFR19GSUVMRF9HRVQoUExBTkVfSEVJR0hUX01BU0ss IHZhbCkgKyAxOw0KPiA+ID4gKwlmYi0+d2lkdGggPSBSRUdfRklFTERfR0VUKFBMQU5FX1dJRFRI X01BU0ssIHZhbCkgKyAxOw0KPiA+ID4gIA0KPiA+ID4gIAl2YWwgPSBpbnRlbF9kZV9yZWFkKGRl dl9wcml2LCBQTEFORV9TVFJJREUocGlwZSwgcGxhbmVfaWQpKTsNCj4gPiA+ICAJc3RyaWRlX211 bHQgPSBza2xfcGxhbmVfc3RyaWRlX211bHQoZmIsIDAsIERSTV9NT0RFX1JPVEFURV8wKTsNCj4g PiA+ICANCj4gPiA+IC0JZmItPnBpdGNoZXNbMF0gPSAodmFsICYgUExBTkVfU1RSSURFX01BU0sp ICogc3RyaWRlX211bHQ7DQo+ID4gPiArCWZiLT5waXRjaGVzWzBdID0gUkVHX0ZJRUxEX0dFVChQ TEFORV9TVFJJREVfX01BU0ssIHZhbCkgKiBzdHJpZGVfbXVsdDsNCj4gPiA+ICANCj4gPiA+ICAJ YWxpZ25lZF9oZWlnaHQgPSBpbnRlbF9mYl9hbGlnbl9oZWlnaHQoZmIsIDAsIGZiLT5oZWlnaHQp Ow0KPiA+ID4gIA0KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9y ZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9yZWcuaA0KPiA+ID4gaW5kZXggMjQ0Y2M3 MzIwYjU0Li43ZDY2NmQzNGY5ZmYgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvcmVnLmgNCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9yZWcu aA0KPiA+ID4gQEAgLTYyLDcgKzYyLDYgQEANCj4gPiA+ICANCj4gPiA+ICAjZGVmaW5lIFNLTF9G TElQX0VWRU5UKHBpcGUsIHBsYW5lKSAoUFJJTUFSWV9BX0ZMSVBfRE9ORSArIChwbGFuZSkgKiAz ICsgKHBpcGUpKQ0KPiA+ID4gIA0KPiA+ID4gLSNkZWZpbmUgUExBTkVfQ1RMX0FTWU5DX0ZMSVAJ CSgxIDw8IDkpDQo+ID4gPiAgI2RlZmluZSBSRUc1MDA4MF9GTElQX1RZUEVfTUFTSwkweDMNCj4g PiA+ICAjZGVmaW5lIFJFRzUwMDgwX0ZMSVBfVFlQRV9BU1lOQwkweDENCj4gPiA+ICANCj4gPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaA0KPiA+ID4gaW5kZXggNGIyYmMxN2QwMjM1Li45ZmZmYTIz OTJiYmYgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o DQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oDQo+ID4gPiBAQCAt NzIzMyw4NCArNzIzMyw5OSBAQCBlbnVtIHsNCj4gPiA+ICAjZGVmaW5lIF9QTEFORV9DVExfMV9B CQkJCTB4NzAxODANCj4gPiA+ICAjZGVmaW5lIF9QTEFORV9DVExfMl9BCQkJCTB4NzAyODANCj4g PiA+ICAjZGVmaW5lIF9QTEFORV9DVExfM19BCQkJCTB4NzAzODANCj4gPiA+IC0jZGVmaW5lICAg UExBTkVfQ1RMX0VOQUJMRQkJCSgxIDw8IDMxKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVExf RU5BQkxFCQkJUkVHX0JJVCgzMSkNCj4gPiA+ICAjZGVmaW5lICAgUExBTkVfQ1RMX0FSQl9TTE9U U19NQVNLCQlSRUdfR0VOTUFTSygzMCwgMjgpIC8qIGljbCsgKi8NCj4gPiA+ICAjZGVmaW5lICAg UExBTkVfQ1RMX0FSQl9TTE9UUyh4KQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0FSQl9TTE9U U19NQVNLLCAoeCkpIC8qIGljbCsgKi8NCj4gPiA+IC0jZGVmaW5lICAgUExBTkVfQ1RMX1BJUEVf R0FNTUFfRU5BQkxFCQkoMSA8PCAzMCkgICAvKiBQcmUtR0xLICovDQo+ID4gPiAtI2RlZmluZSAg IFBMQU5FX0NUTF9ZVVZfUkFOR0VfQ09SUkVDVElPTl9ESVNBQkxFCSgxIDw8IDI4KQ0KPiA+ID4g KyNkZWZpbmUgICBQTEFORV9DVExfUElQRV9HQU1NQV9FTkFCTEUJCVJFR19CSVQoMzApIC8qIFBy ZS1HTEsgKi8NCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1lVVl9SQU5HRV9DT1JSRUNUSU9O X0RJU0FCTEUJUkVHX0JJVCgyOCkNCj4gPiA+ICAvKg0KPiA+ID4gICAqIElDTCsgdXNlcyB0aGUg c2FtZSBQTEFORV9DVExfRk9STUFUIGJpdHMsIGJ1dCB0aGUgZmllbGQgZGVmaW5pdGlvbg0KPiA+ ID4gICAqIGV4cGFuZGVkIHRvIGluY2x1ZGUgYml0IDIzIGFzIHdlbGwuIEhvd2V2ZXIsIHRoZSBz aGlmdC0yNCBiYXNlZCB2YWx1ZXMNCj4gPiA+ICAgKiBjb3JyZWN0bHkgbWFwIHRvIHRoZSBzYW1l IGZvcm1hdHMgaW4gSUNMLCBhcyBsb25nIGFzIGJpdCAyMyBpcyBzZXQgdG8gMA0KPiA+ID4gICAq Lw0KPiA+ID4gLSNkZWZpbmUgICBQTEFORV9DVExfRk9STUFUX01BU0sJCQkoMHhmIDw8IDI0KQ0K PiA+ID4gLSNkZWZpbmUgICBQTEFORV9DVExfRk9STUFUX1lVVjQyMgkJKDAgPDwgMjQpDQo+ID4g PiAtI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfTlYxMgkJCSgxIDw8IDI0KQ0KPiA+ID4gLSNk ZWZpbmUgICBQTEFORV9DVExfRk9STUFUX1hSR0JfMjEwMTAxMAkJKDIgPDwgMjQpDQo+ID4gPiAt I2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfUDAxMAkJCSgzIDw8IDI0KQ0KPiA+ID4gLSNkZWZp bmUgICBQTEFORV9DVExfRk9STUFUX1hSR0JfODg4OAkJKDQgPDwgMjQpDQo+ID4gPiAtI2RlZmlu ZSAgIFBMQU5FX0NUTF9GT1JNQVRfUDAxMgkJCSg1IDw8IDI0KQ0KPiA+ID4gLSNkZWZpbmUgICBQ TEFORV9DVExfRk9STUFUX1hSR0JfMTYxNjE2MTZGCSg2IDw8IDI0KQ0KPiA+ID4gLSNkZWZpbmUg ICBQTEFORV9DVExfRk9STUFUX1AwMTYJCQkoNyA8PCAyNCkNCj4gPiA+IC0jZGVmaW5lICAgUExB TkVfQ1RMX0ZPUk1BVF9YWVVWCQkJKDggPDwgMjQpDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NU TF9GT1JNQVRfSU5ERVhFRAkJKDEyIDw8IDI0KQ0KPiA+ID4gLSNkZWZpbmUgICBQTEFORV9DVExf Rk9STUFUX1JHQl81NjUJCSgxNCA8PCAyNCkNCj4gPiA+IC0jZGVmaW5lICAgSUNMX1BMQU5FX0NU TF9GT1JNQVRfTUFTSwkJKDB4MWYgPDwgMjMpDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9Q SVBFX0NTQ19FTkFCTEUJCSgxIDw8IDIzKSAvKiBQcmUtR0xLICovDQo+ID4gPiAtI2RlZmluZSAg IFBMQU5FX0NUTF9GT1JNQVRfWTIxMCAgICAgICAgICAgICAgICAgKDEgPDwgMjMpDQo+ID4gPiAt I2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfWTIxMiAgICAgICAgICAgICAgICAgKDMgPDwgMjMp DQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfWTIxNiAgICAgICAgICAgICAgICAg KDUgPDwgMjMpDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfWTQxMCAgICAgICAg ICAgICAgICAgKDcgPDwgMjMpDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfWTQx MiAgICAgICAgICAgICAgICAgKDkgPDwgMjMpDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9G T1JNQVRfWTQxNiAgICAgICAgICAgICAgICAgKDB4YiA8PCAyMykNCj4gPiA+IC0jZGVmaW5lICAg UExBTkVfQ1RMX0tFWV9FTkFCTEVfTUFTSwkJKDB4MyA8PCAyMSkNCj4gPiA+IC0jZGVmaW5lICAg UExBTkVfQ1RMX0tFWV9FTkFCTEVfU09VUkNFCQkoMSA8PCAyMSkNCj4gPiA+IC0jZGVmaW5lICAg UExBTkVfQ1RMX0tFWV9FTkFCTEVfREVTVElOQVRJT04JKDIgPDwgMjEpDQo+ID4gPiAtI2RlZmlu ZSAgIFBMQU5FX0NUTF9PUkRFUl9CR1JYCQkJKDAgPDwgMjApDQo+ID4gPiAtI2RlZmluZSAgIFBM QU5FX0NUTF9PUkRFUl9SR0JYCQkJKDEgPDwgMjApDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NU TF9ZVVY0MjBfWV9QTEFORQkJKDEgPDwgMTkpDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9Z VVZfVE9fUkdCX0NTQ19GT1JNQVRfQlQ3MDkJKDEgPDwgMTgpDQo+ID4gPiAtI2RlZmluZSAgIFBM QU5FX0NUTF9ZVVY0MjJfT1JERVJfTUFTSwkJKDB4MyA8PCAxNikNCj4gPiA+IC0jZGVmaW5lICAg UExBTkVfQ1RMX1lVVjQyMl9PUkRFUl9ZVVlWCQkoMCA8PCAxNikNCj4gPiA+IC0jZGVmaW5lICAg UExBTkVfQ1RMX1lVVjQyMl9PUkRFUl9VWVZZCQkoMSA8PCAxNikNCj4gPiA+IC0jZGVmaW5lICAg UExBTkVfQ1RMX1lVVjQyMl9PUkRFUl9ZVllVCQkoMiA8PCAxNikNCj4gPiA+IC0jZGVmaW5lICAg UExBTkVfQ1RMX1lVVjQyMl9PUkRFUl9WWVVZCQkoMyA8PCAxNikNCj4gPiA+IC0jZGVmaW5lICAg UExBTkVfQ1RMX1JFTkRFUl9ERUNPTVBSRVNTSU9OX0VOQUJMRQkoMSA8PCAxNSkNCj4gPiA+IC0j ZGVmaW5lICAgUExBTkVfQ1RMX1RSSUNLTEVfRkVFRF9ESVNBQkxFCSgxIDw8IDE0KQ0KPiA+ID4g LSNkZWZpbmUgICBQTEFORV9DVExfQ0xFQVJfQ09MT1JfRElTQUJMRQkJKDEgPDwgMTMpIC8qIFRH TCsgKi8NCj4gPiA+IC0jZGVmaW5lICAgUExBTkVfQ1RMX1BMQU5FX0dBTU1BX0RJU0FCTEUJCSgx IDw8IDEzKSAvKiBQcmUtR0xLICovDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9USUxFRF9N QVNLCQkJKDB4NyA8PCAxMCkNCj4gPiA+IC0jZGVmaW5lICAgUExBTkVfQ1RMX1RJTEVEX0xJTkVB UgkJKDAgPDwgMTApDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9USUxFRF9YCQkJKDEgPDwg MTApDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9USUxFRF9ZCQkJKDQgPDwgMTApDQo+ID4g PiAtI2RlZmluZSAgIFBMQU5FX0NUTF9USUxFRF9ZRgkJCSg1IDw8IDEwKQ0KPiA+ID4gLSNkZWZp bmUgICBQTEFORV9DVExfQVNZTkNfRkxJUAkJCSgxIDw8IDkpDQo+ID4gPiAtI2RlZmluZSAgIFBM QU5FX0NUTF9GTElQX0hPUklaT05UQUwJCSgxIDw8IDgpDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5F X0NUTF9NRURJQV9ERUNPTVBSRVNTSU9OX0VOQUJMRQkoMSA8PCA0KSAvKiBUR0wrICovDQo+ID4g PiAtI2RlZmluZSAgIFBMQU5FX0NUTF9BTFBIQV9NQVNLCQkJKDB4MyA8PCA0KSAvKiBQcmUtR0xL ICovDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9BTFBIQV9ESVNBQkxFCQkoMCA8PCA0KQ0K PiA+ID4gLSNkZWZpbmUgICBQTEFORV9DVExfQUxQSEFfU1dfUFJFTVVMVElQTFkJKDIgPDwgNCkN Cj4gPiA+IC0jZGVmaW5lICAgUExBTkVfQ1RMX0FMUEhBX0hXX1BSRU1VTFRJUExZCSgzIDw8IDQp DQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NUTF9ST1RBVEVfTUFTSwkJCTB4Mw0KPiA+ID4gLSNk ZWZpbmUgICBQTEFORV9DVExfUk9UQVRFXzAJCQkweDANCj4gPiA+IC0jZGVmaW5lICAgUExBTkVf Q1RMX1JPVEFURV85MAkJCTB4MQ0KPiA+ID4gLSNkZWZpbmUgICBQTEFORV9DVExfUk9UQVRFXzE4 MAkJCTB4Mg0KPiA+ID4gLSNkZWZpbmUgICBQTEFORV9DVExfUk9UQVRFXzI3MAkJCTB4Mw0KPiA+ ID4gKyNkZWZpbmUgICBQTEFORV9DVExfRk9STUFUX01BU0tfU0tMCQlSRUdfR0VOTUFTSygyNywg MjQpIC8qIHByZS1pY2wgKi8NCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9NQVNL X0lDTAkJUkVHX0dFTk1BU0soMjcsIDIzKSAvKiBpY2wrICovDQo+ID4gPiArI2RlZmluZSAgIFBM QU5FX0NUTF9GT1JNQVRfWVVWNDIyCQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfRk9STUFUX01B U0tfU0tMLCAwKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVExfRk9STUFUX05WMTIJCQlSRUdf RklFTERfUFJFUChQTEFORV9DVExfRk9STUFUX01BU0tfU0tMLCAxKQ0KPiA+ID4gKyNkZWZpbmUg ICBQTEFORV9DVExfRk9STUFUX1hSR0JfMjEwMTAxMAkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RM X0ZPUk1BVF9NQVNLX1NLTCwgMikNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9Q MDEwCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX1NLTCwgMykNCj4gPiA+ ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9YUkdCXzg4ODgJCVJFR19GSUVMRF9QUkVQKFBM QU5FX0NUTF9GT1JNQVRfTUFTS19TS0wsIDQpDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NUTF9G T1JNQVRfUDAxMgkJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NUTF9GT1JNQVRfTUFTS19TS0wsIDUp DQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NUTF9GT1JNQVRfWFJHQl8xNjE2MTYxNkYJUkVHX0ZJ RUxEX1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX1NLTCwgNikNCj4gPiA+ICsjZGVmaW5lICAg UExBTkVfQ1RMX0ZPUk1BVF9QMDE2CQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9N QVNLX1NLTCwgNykNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9YWVVWCQkJUkVH X0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX1NLTCwgOCkNCj4gPiA+ICsjZGVmaW5l ICAgUExBTkVfQ1RMX0ZPUk1BVF9JTkRFWEVECQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfRk9S TUFUX01BU0tfU0tMLCAxMikNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9SR0Jf NTY1CQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfRk9STUFUX01BU0tfU0tMLCAxNCkNCj4gPiA+ ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9ZMjEwCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVf Q1RMX0ZPUk1BVF9NQVNLX0lDTCwgMSkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1B VF9ZMjEyCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX0lDTCwgMykNCj4g PiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9ZMjE2CQkJUkVHX0ZJRUxEX1BSRVAoUExB TkVfQ1RMX0ZPUk1BVF9NQVNLX0lDTCwgNSkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZP Uk1BVF9ZNDEwCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX0lDTCwgNykN Cj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0ZPUk1BVF9ZNDEyCQkJUkVHX0ZJRUxEX1BSRVAo UExBTkVfQ1RMX0ZPUk1BVF9NQVNLX0lDTCwgOSkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RM X0ZPUk1BVF9ZNDE2CQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX0lDTCwg MTEpDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NUTF9QSVBFX0NTQ19FTkFCTEUJCVJFR19CSVQo MjMpIC8qIFByZS1HTEsgKi8NCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0tFWV9FTkFCTEVf TUFTSwkJUkVHX0dFTk1BU0soMjIsIDIxKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVExfS0VZ X0VOQUJMRV9TT1VSQ0UJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NUTF9LRVlfRU5BQkxFX01BU0ss IDEpDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NUTF9LRVlfRU5BQkxFX0RFU1RJTkFUSU9OCVJF R19GSUVMRF9QUkVQKFBMQU5FX0NUTF9LRVlfRU5BQkxFX01BU0ssIDIpDQo+ID4gPiArI2RlZmlu ZSAgIFBMQU5FX0NUTF9PUkRFUl9SR0JYCQkJUkVHX0JJVCgyMCkNCj4gPiA+ICsjZGVmaW5lICAg UExBTkVfQ1RMX1lVVjQyMF9ZX1BMQU5FCQlSRUdfQklUKDE5KQ0KPiA+ID4gKyNkZWZpbmUgICBQ TEFORV9DVExfWVVWX1RPX1JHQl9DU0NfRk9STUFUX0JUNzA5CVJFR19CSVQoMTgpDQo+ID4gPiAr I2RlZmluZSAgIFBMQU5FX0NUTF9ZVVY0MjJfT1JERVJfTUFTSwkJUkVHX0dFTk1BU0soMTcsIDE2 KQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVExfWVVWNDIyX09SREVSX1lVWVYJCVJFR19GSUVM RF9QUkVQKFBMQU5FX0NUTF9ZVVY0MjJfT1JERVJfTUFTSywgMCkNCj4gPiA+ICsjZGVmaW5lICAg UExBTkVfQ1RMX1lVVjQyMl9PUkRFUl9VWVZZCQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfWVVW NDIyX09SREVSX01BU0ssIDEpDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NUTF9ZVVY0MjJfT1JE RVJfWVZZVQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX1lVVjQyMl9PUkRFUl9NQVNLLCAyKQ0K PiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVExfWVVWNDIyX09SREVSX1ZZVVkJCVJFR19GSUVMRF9Q UkVQKFBMQU5FX0NUTF9ZVVY0MjJfT1JERVJfTUFTSywgMykNCj4gPiA+ICsjZGVmaW5lICAgUExB TkVfQ1RMX1JFTkRFUl9ERUNPTVBSRVNTSU9OX0VOQUJMRQlSRUdfQklUKDE1KQ0KPiA+ID4gKyNk ZWZpbmUgICBQTEFORV9DVExfVFJJQ0tMRV9GRUVEX0RJU0FCTEUJUkVHX0JJVCgxNCkNCj4gPiA+ ICsjZGVmaW5lICAgUExBTkVfQ1RMX0NMRUFSX0NPTE9SX0RJU0FCTEUJCVJFR19CSVQoMTMpIC8q IFRHTCsgKi8NCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1BMQU5FX0dBTU1BX0RJU0FCTEUJ CVJFR19CSVQoMTMpIC8qIFByZS1HTEsgKi8NCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1RJ TEVEX01BU0sJCQlSRUdfR0VOTUFTSygxMiwgMTApDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NU TF9USUxFRF9MSU5FQVIJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NUTF9USUxFRF9NQVNLLCAwKQ0K PiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVExfVElMRURfWAkJCVJFR19GSUVMRF9QUkVQKFBMQU5F X0NUTF9USUxFRF9NQVNLLCAxKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVExfVElMRURfWQkJ CVJFR19GSUVMRF9QUkVQKFBMQU5FX0NUTF9USUxFRF9NQVNLLCA0KQ0KPiA+ID4gKyNkZWZpbmUg ICBQTEFORV9DVExfVElMRURfWUYJCQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfVElMRURfTUFT SywgNSkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX0FTWU5DX0ZMSVAJCQlSRUdfQklUKDkp DQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NUTF9GTElQX0hPUklaT05UQUwJCVJFR19CSVQoOCkN Cj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX01FRElBX0RFQ09NUFJFU1NJT05fRU5BQkxFCVJF R19CSVQoNCkgLyogVEdMKyAqLw0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVExfQUxQSEFfTUFT SwkJCVJFR19HRU5NQVNLKDUsIDQpIC8qIFByZS1HTEsgKi8NCj4gPiA+ICsjZGVmaW5lICAgUExB TkVfQ1RMX0FMUEhBX0RJU0FCTEUJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NUTF9BTFBIQV9NQVNL LCAwKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVExfQUxQSEFfU1dfUFJFTVVMVElQTFkJUkVH X0ZJRUxEX1BSRVAoUExBTkVfQ1RMX0FMUEhBX01BU0ssIDIpDQo+ID4gPiArI2RlZmluZSAgIFBM QU5FX0NUTF9BTFBIQV9IV19QUkVNVUxUSVBMWQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfQUxQ SEFfTUFTSywgMykNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1JPVEFURV9NQVNLCQkJUkVH X0dFTk1BU0soMSwgMCkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RMX1JPVEFURV8wCQkJUkVH X0ZJRUxEX1BSRVAoUExBTkVfQ1RMX1JPVEFURV9NQVNLLCAwKQ0KPiA+ID4gKyNkZWZpbmUgICBQ TEFORV9DVExfUk9UQVRFXzkwCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1RMX1JPVEFURV9NQVNL LCAxKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVExfUk9UQVRFXzE4MAkJCVJFR19GSUVMRF9Q UkVQKFBMQU5FX0NUTF9ST1RBVEVfTUFTSywgMikNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1RM X1JPVEFURV8yNzAJCQlSRUdfRklFTERfUFJFUChQTEFORV9DVExfUk9UQVRFX01BU0ssIDMpDQo+ ID4gPiAgI2RlZmluZSBfUExBTkVfU1RSSURFXzFfQQkJCTB4NzAxODgNCj4gPiA+ICAjZGVmaW5l IF9QTEFORV9TVFJJREVfMl9BCQkJMHg3MDI4OA0KPiA+ID4gICNkZWZpbmUgX1BMQU5FX1NUUklE RV8zX0EJCQkweDcwMzg4DQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX1NUUklERV9fTUFTSwkJCVJF R19HRU5NQVNLKDExLCAwKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9TVFJJREVfKHN0cmlkZSkJ CQlSRUdfRklFTERfUFJFUChQTEFORV9TVFJJREVfX01BU0ssIChzdHJpZGUpKQ0KPiA+ID4gICNk ZWZpbmUgX1BMQU5FX1BPU18xX0EJCQkJMHg3MDE4Yw0KPiA+ID4gICNkZWZpbmUgX1BMQU5FX1BP U18yX0EJCQkJMHg3MDI4Yw0KPiA+ID4gICNkZWZpbmUgX1BMQU5FX1BPU18zX0EJCQkJMHg3MDM4 Yw0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9QT1NfWV9NQVNLCQkJUkVHX0dFTk1BU0soMzEsIDE2 KQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9QT1NfWSh5KQkJCVJFR19GSUVMRF9QUkVQKFBMQU5F X1BPU19ZX01BU0ssICh5KSkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfUE9TX1hfTUFTSwkJCVJF R19HRU5NQVNLKDE1LCAwKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9QT1NfWCh4KQkJCVJFR19G SUVMRF9QUkVQKFBMQU5FX1BPU19YX01BU0ssICh4KSkNCj4gPiA+ICAjZGVmaW5lIF9QTEFORV9T SVpFXzFfQQkJCQkweDcwMTkwDQo+ID4gPiAgI2RlZmluZSBfUExBTkVfU0laRV8yX0EJCQkJMHg3 MDI5MA0KPiA+ID4gICNkZWZpbmUgX1BMQU5FX1NJWkVfM19BCQkJCTB4NzAzOTANCj4gPiA+ICsj ZGVmaW5lICAgUExBTkVfSEVJR0hUX01BU0sJCQlSRUdfR0VOTUFTSygzMSwgMTYpDQo+ID4gPiAr I2RlZmluZSAgIFBMQU5FX0hFSUdIVChoKQkJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0hFSUdIVF9N QVNLLCAoaCkpDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX1dJRFRIX01BU0sJCQlSRUdfR0VOTUFT SygxNSwgMCkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfV0lEVEgodykJCQlSRUdfRklFTERfUFJF UChQTEFORV9XSURUSF9NQVNLLCAodykpDQo+ID4gPiAgI2RlZmluZSBfUExBTkVfU1VSRl8xX0EJ CQkJMHg3MDE5Yw0KPiA+ID4gICNkZWZpbmUgX1BMQU5FX1NVUkZfMl9BCQkJCTB4NzAyOWMNCj4g PiA+ICAjZGVmaW5lIF9QTEFORV9TVVJGXzNfQQkJCQkweDcwMzljDQo+ID4gPiArI2RlZmluZSAg IFBMQU5FX1NVUkZfQUREUl9NQVNLCQkJUkVHX0dFTk1BU0soMzEsIDEyKQ0KPiA+ID4gKyNkZWZp bmUgICBQTEFORV9TVVJGX0RFQ1JZUFQJCQlSRUdfQklUKDIpDQo+ID4gPiAgI2RlZmluZSBfUExB TkVfT0ZGU0VUXzFfQQkJCTB4NzAxYTQNCj4gPiA+ICAjZGVmaW5lIF9QTEFORV9PRkZTRVRfMl9B CQkJMHg3MDJhNA0KPiA+ID4gICNkZWZpbmUgX1BMQU5FX09GRlNFVF8zX0EJCQkweDcwM2E0DQo+ ID4gPiArI2RlZmluZSAgIFBMQU5FX09GRlNFVF9ZX01BU0sJCQlSRUdfR0VOTUFTSygzMSwgMTYp DQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX09GRlNFVF9ZKHkpCQkJUkVHX0ZJRUxEX1BSRVAoUExB TkVfT0ZGU0VUX1lfTUFTSywgKHkpKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9PRkZTRVRfWF9N QVNLCQkJUkVHX0dFTk1BU0soMTUsIDApDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX09GRlNFVF9Y KHgpCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfT0ZGU0VUX1hfTUFTSywgKHgpKQ0KPiA+ID4gICNk ZWZpbmUgX1BMQU5FX0tFWVZBTF8xX0EJCQkweDcwMTk0DQo+ID4gPiAgI2RlZmluZSBfUExBTkVf S0VZVkFMXzJfQQkJCTB4NzAyOTQNCj4gPiA+ICAjZGVmaW5lIF9QTEFORV9LRVlNU0tfMV9BCQkJ MHg3MDE5OA0KPiA+ID4gQEAgLTczMjIsNDIgKzczMzcsNDkgQEAgZW51bSB7DQo+ID4gPiAgI2Rl ZmluZSBfUExBTkVfQ0NfVkFMXzFfQQkJCTB4NzAxYjQNCj4gPiA+ICAjZGVmaW5lIF9QTEFORV9D Q19WQUxfMl9BCQkJMHg3MDJiNA0KPiA+ID4gICNkZWZpbmUgX1BMQU5FX0FVWF9ESVNUXzFfQQkJ CTB4NzAxYzANCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQVVYX0RJU1RBTkNFX01BU0sJCVJFR19H RU5NQVNLKDMxLCAxMikNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQVVYX1NUUklERV9NQVNLCQkJ UkVHX0dFTk1BU0soMTEsIDApDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0FVWF9TVFJJREUoc3Ry aWRlKQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQVVYX1NUUklERV9NQVNLLCAoc3RyaWRlKSkNCj4g PiA+ICAjZGVmaW5lIF9QTEFORV9BVVhfRElTVF8yX0EJCQkweDcwMmMwDQo+ID4gPiAgI2RlZmlu ZSBfUExBTkVfQVVYX09GRlNFVF8xX0EJCQkweDcwMWM0DQo+ID4gPiAgI2RlZmluZSBfUExBTkVf QVVYX09GRlNFVF8yX0EJCQkweDcwMmM0DQo+ID4gPiAgI2RlZmluZSBfUExBTkVfQ1VTX0NUTF8x X0EJCQkweDcwMWM4DQo+ID4gPiAgI2RlZmluZSBfUExBTkVfQ1VTX0NUTF8yX0EJCQkweDcwMmM4 DQo+ID4gPiAtI2RlZmluZSAgUExBTkVfQ1VTX0VOQUJMRQkJCSgxIDw8IDMxKQ0KPiA+ID4gLSNk ZWZpbmUgIFBMQU5FX0NVU19ZX1BMQU5FXzRfUktMCQkoMCA8PCAzMCkNCj4gPiA+IC0jZGVmaW5l ICBQTEFORV9DVVNfWV9QTEFORV81X1JLTAkJKDEgPDwgMzApDQo+ID4gPiAtI2RlZmluZSAgUExB TkVfQ1VTX1lfUExBTkVfNl9JQ0wJCSgwIDw8IDMwKQ0KPiA+ID4gLSNkZWZpbmUgIFBMQU5FX0NV U19ZX1BMQU5FXzdfSUNMCQkoMSA8PCAzMCkNCj4gPiA+IC0jZGVmaW5lICBQTEFORV9DVVNfSFBI QVNFX1NJR05fTkVHQVRJVkUJCSgxIDw8IDE5KQ0KPiA+ID4gLSNkZWZpbmUgIFBMQU5FX0NVU19I UEhBU0VfMAkJCSgwIDw8IDE2KQ0KPiA+ID4gLSNkZWZpbmUgIFBMQU5FX0NVU19IUEhBU0VfMF8y NQkJCSgxIDw8IDE2KQ0KPiA+ID4gLSNkZWZpbmUgIFBMQU5FX0NVU19IUEhBU0VfMF81CQkJKDIg PDwgMTYpDQo+ID4gPiAtI2RlZmluZSAgUExBTkVfQ1VTX1ZQSEFTRV9TSUdOX05FR0FUSVZFCQko MSA8PCAxNSkNCj4gPiA+IC0jZGVmaW5lICBQTEFORV9DVVNfVlBIQVNFXzAJCQkoMCA8PCAxMikN Cj4gPiA+IC0jZGVmaW5lICBQTEFORV9DVVNfVlBIQVNFXzBfMjUJCQkoMSA8PCAxMikNCj4gPiA+ IC0jZGVmaW5lICBQTEFORV9DVVNfVlBIQVNFXzBfNQkJCSgyIDw8IDEyKQ0KPiA+ID4gKyNkZWZp bmUgICBQTEFORV9DVVNfRU5BQkxFCQkJUkVHX0JJVCgzMSkNCj4gPiA+ICsjZGVmaW5lICAgUExB TkVfQ1VTX1lfUExBTkVfTUFTSwkJCVJFR19CSVQoMzApDQo+ID4gPiArI2RlZmluZSAgIFBMQU5F X0NVU19ZX1BMQU5FXzRfUktMCQlSRUdfRklFTERfUFJFUChQTEFORV9DVVNfWV9QTEFORV9NQVNL LCAwKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVVNfWV9QTEFORV81X1JLTAkJUkVHX0ZJRUxE X1BSRVAoUExBTkVfQ1VTX1lfUExBTkVfTUFTSywgMSkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVf Q1VTX1lfUExBTkVfNl9JQ0wJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NVU19ZX1BMQU5FX01BU0ss IDApDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NVU19ZX1BMQU5FXzdfSUNMCQlSRUdfRklFTERf UFJFUChQTEFORV9DVVNfWV9QTEFORV9NQVNLLCAxKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9D VVNfSFBIQVNFX1NJR05fTkVHQVRJVkUJCVJFR19CSVQoMTkpDQo+ID4gPiArI2RlZmluZSAgIFBM QU5FX0NVU19IUEhBU0VfTUFTSwkJCVJFR19HRU5NQVNLKDE3LCAxNikNCj4gPiA+ICsjZGVmaW5l ICAgUExBTkVfQ1VTX0hQSEFTRV8wCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1VTX0hQSEFTRV9N QVNLLCAwKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVVNfSFBIQVNFXzBfMjUJCQlSRUdfRklF TERfUFJFUChQTEFORV9DVVNfSFBIQVNFX01BU0ssIDEpDQo+ID4gPiArI2RlZmluZSAgIFBMQU5F X0NVU19IUEhBU0VfMF81CQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ1VTX0hQSEFTRV9NQVNLLCAy KQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9DVVNfVlBIQVNFX1NJR05fTkVHQVRJVkUJCVJFR19C SVQoMTUpDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NVU19WUEhBU0VfTUFTSwkJCVJFR19HRU5N QVNLKDEzLCAxMikNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ1VTX1ZQSEFTRV8wCQkJUkVHX0ZJ RUxEX1BSRVAoUExBTkVfQ1VTX1ZQSEFTRV9NQVNLLCAwKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFO RV9DVVNfVlBIQVNFXzBfMjUJCQlSRUdfRklFTERfUFJFUChQTEFORV9DVVNfVlBIQVNFX01BU0ss IDEpDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NVU19WUEhBU0VfMF81CQkJUkVHX0ZJRUxEX1BS RVAoUExBTkVfQ1VTX1ZQSEFTRV9NQVNLLCAyKQ0KPiA+ID4gICNkZWZpbmUgX1BMQU5FX0NPTE9S X0NUTF8xX0EJCQkweDcwMUNDIC8qIEdMSysgKi8NCj4gPiA+ICAjZGVmaW5lIF9QTEFORV9DT0xP Ul9DVExfMl9BCQkJMHg3MDJDQyAvKiBHTEsrICovDQo+ID4gPiAgI2RlZmluZSBfUExBTkVfQ09M T1JfQ1RMXzNfQQkJCTB4NzAzQ0MgLyogR0xLKyAqLw0KPiA+ID4gLSNkZWZpbmUgICBQTEFORV9D T0xPUl9QSVBFX0dBTU1BX0VOQUJMRQkJKDEgPDwgMzApIC8qIFByZS1JQ0wgKi8NCj4gPiA+IC0j ZGVmaW5lICAgUExBTkVfQ09MT1JfWVVWX1JBTkdFX0NPUlJFQ1RJT05fRElTQUJMRQkoMSA8PCAy OCkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ09MT1JfUElQRV9HQU1NQV9FTkFCTEUJCQlSRUdf QklUKDMwKSAvKiBQcmUtSUNMICovDQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NPTE9SX1lVVl9S QU5HRV9DT1JSRUNUSU9OX0RJU0FCTEUJUkVHX0JJVCgyOCkNCj4gPiA+ICsjZGVmaW5lICAgUExB TkVfQ09MT1JfUElQRV9DU0NfRU5BQkxFCQkJUkVHX0JJVCgyMykgLyogUHJlLUlDTCAqLw0KPiA+ ID4gICNkZWZpbmUgICBQTEFORV9DT0xPUl9QTEFORV9DU0NfRU5BQkxFCQkJUkVHX0JJVCgyMSkg LyogSUNMKyAqLw0KPiA+ID4gLSNkZWZpbmUgICBQTEFORV9DT0xPUl9JTlBVVF9DU0NfRU5BQkxF CQkoMSA8PCAyMCkgLyogSUNMKyAqLw0KPiA+ID4gLSNkZWZpbmUgICBQTEFORV9DT0xPUl9QSVBF X0NTQ19FTkFCTEUJCSgxIDw8IDIzKSAvKiBQcmUtSUNMICovDQo+ID4gPiAtI2RlZmluZSAgIFBM QU5FX0NPTE9SX0NTQ19NT0RFX0JZUEFTUwkJCSgwIDw8IDE3KQ0KPiA+ID4gLSNkZWZpbmUgICBQ TEFORV9DT0xPUl9DU0NfTU9ERV9ZVVY2MDFfVE9fUkdCNjAxCQkoMSA8PCAxNykNCj4gPiA+IC0j ZGVmaW5lICAgUExBTkVfQ09MT1JfQ1NDX01PREVfWVVWNzA5X1RPX1JHQjcwOQkJKDIgPDwgMTcp DQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NPTE9SX0NTQ19NT0RFX1lVVjIwMjBfVE9fUkdCMjAy MAkoMyA8PCAxNykNCj4gPiA+IC0jZGVmaW5lICAgUExBTkVfQ09MT1JfQ1NDX01PREVfUkdCNzA5 X1RPX1JHQjIwMjAJKDQgPDwgMTcpDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NPTE9SX1BMQU5F X0dBTU1BX0RJU0FCTEUJKDEgPDwgMTMpDQo+ID4gPiAtI2RlZmluZSAgIFBMQU5FX0NPTE9SX0FM UEhBX01BU0sJCSgweDMgPDwgNCkNCj4gPiA+IC0jZGVmaW5lICAgUExBTkVfQ09MT1JfQUxQSEFf RElTQUJMRQkJKDAgPDwgNCkNCj4gPiA+IC0jZGVmaW5lICAgUExBTkVfQ09MT1JfQUxQSEFfU1df UFJFTVVMVElQTFkJKDIgPDwgNCkNCj4gPiA+IC0jZGVmaW5lICAgUExBTkVfQ09MT1JfQUxQSEFf SFdfUFJFTVVMVElQTFkJKDMgPDwgNCkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ09MT1JfSU5Q VVRfQ1NDX0VOQUJMRQkJCVJFR19CSVQoMjApIC8qIElDTCsgKi8NCj4gPiA+ICsjZGVmaW5lICAg UExBTkVfQ09MT1JfQ1NDX01PREVfTUFTSwkJCVJFR19HRU5NQVNLKDE5LCAxNykNCj4gPiA+ICsj ZGVmaW5lICAgUExBTkVfQ09MT1JfQ1NDX01PREVfQllQQVNTCQkJUkVHX0ZJRUxEX1BSRVAoUExB TkVfQ09MT1JfQ1NDX01PREVfTUFTSywgMCkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ09MT1Jf Q1NDX01PREVfWVVWNjAxX1RPX1JHQjYwMQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ09MT1JfQ1ND X01PREVfTUFTSywgMSkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ09MT1JfQ1NDX01PREVfWVVW NzA5X1RPX1JHQjcwOQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQ09MT1JfQ1NDX01PREVfTUFTSywg MikNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ09MT1JfQ1NDX01PREVfWVVWMjAyMF9UT19SR0Iy MDIwCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NPTE9SX0NTQ19NT0RFX01BU0ssIDMpDQo+ID4gPiAr I2RlZmluZSAgIFBMQU5FX0NPTE9SX0NTQ19NT0RFX1JHQjcwOV9UT19SR0IyMDIwCVJFR19GSUVM RF9QUkVQKFBMQU5FX0NPTE9SX0NTQ19NT0RFX01BU0ssIDQpDQo+ID4gPiArI2RlZmluZSAgIFBM QU5FX0NPTE9SX1BMQU5FX0dBTU1BX0RJU0FCTEUJCVJFR19CSVQoMTMpDQo+ID4gPiArI2RlZmlu ZSAgIFBMQU5FX0NPTE9SX0FMUEhBX01BU0sJCQlSRUdfR0VOTUFTSyg1LCA0KQ0KPiA+ID4gKyNk ZWZpbmUgICBQTEFORV9DT0xPUl9BTFBIQV9ESVNBQkxFCQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVf Q09MT1JfQUxQSEFfTUFTSywgMCkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQ09MT1JfQUxQSEFf U1dfUFJFTVVMVElQTFkJCVJFR19GSUVMRF9QUkVQKFBMQU5FX0NPTE9SX0FMUEhBX01BU0ssIDIp DQo+ID4gPiArI2RlZmluZSAgIFBMQU5FX0NPTE9SX0FMUEhBX0hXX1BSRU1VTFRJUExZCQlSRUdf RklFTERfUFJFUChQTEFORV9DT0xPUl9BTFBIQV9NQVNLLCAzKQ0KPiA+ID4gICNkZWZpbmUgX1BM QU5FX0JVRl9DRkdfMV9BCQkJMHg3MDI3Yw0KPiA+ID4gICNkZWZpbmUgX1BMQU5FX0JVRl9DRkdf Ml9BCQkJMHg3MDM3Yw0KPiA+ID4gICNkZWZpbmUgX1BMQU5FX05WMTJfQlVGX0NGR18xX0EJCTB4 NzAyNzgNCj4gPiA+IEBAIC03NDQwLDcgKzc0NjIsNiBAQCBlbnVtIHsNCj4gPiA+ICAJX1BJUEUo cGlwZSwgX1BMQU5FX1NUUklERV8zX0EsIF9QTEFORV9TVFJJREVfM19CKQ0KPiA+ID4gICNkZWZp bmUgUExBTkVfU1RSSURFKHBpcGUsIHBsYW5lKQlcDQo+ID4gPiAgCV9NTUlPX1BMQU5FKHBsYW5l LCBfUExBTkVfU1RSSURFXzEocGlwZSksIF9QTEFORV9TVFJJREVfMihwaXBlKSkNCj4gPiA+IC0j ZGVmaW5lIFBMQU5FX1NUUklERV9NQVNLCQlSRUdfR0VOTUFTSygxMSwgMCkNCj4gPiA+ICANCj4g PiA+ICAjZGVmaW5lIF9QTEFORV9QT1NfMV9CCQkJCTB4NzExOGMNCj4gPiA+ICAjZGVmaW5lIF9Q TEFORV9QT1NfMl9CCQkJCTB4NzEyOGMNCj4gPiA+IEBAIC03NDY4LDcgKzc0ODksNiBAQCBlbnVt IHsNCj4gPiA+ICAjZGVmaW5lIF9QTEFORV9TVVJGXzMocGlwZSkJX1BJUEUocGlwZSwgX1BMQU5F X1NVUkZfM19BLCBfUExBTkVfU1VSRl8zX0IpDQo+ID4gPiAgI2RlZmluZSBQTEFORV9TVVJGKHBp cGUsIHBsYW5lKQlcDQo+ID4gPiAgCV9NTUlPX1BMQU5FKHBsYW5lLCBfUExBTkVfU1VSRl8xKHBp cGUpLCBfUExBTkVfU1VSRl8yKHBpcGUpKQ0KPiA+ID4gLSNkZWZpbmUgICBQTEFORV9TVVJGX0RF Q1JZUFQJCQlSRUdfQklUKDIpDQo+ID4gPiAgDQo+ID4gPiAgI2RlZmluZSBfUExBTkVfT0ZGU0VU XzFfQgkJCTB4NzExYTQNCj4gPiA+ICAjZGVmaW5lIF9QTEFORV9PRkZTRVRfMl9CCQkJMHg3MTJh NA0KPiA+ID4gQEAgLTc1MDAsOCArNzUyMCwxMSBAQCBlbnVtIHsNCj4gPiA+ICANCj4gPiA+ICAj ZGVmaW5lIF9QTEFORV9CVUZfQ0ZHXzFfQgkJCTB4NzEyN2MNCj4gPiA+ICAjZGVmaW5lIF9QTEFO RV9CVUZfQ0ZHXzJfQgkJCTB4NzEzN2MNCj4gPiA+IC0jZGVmaW5lICBEREJfRU5UUllfTUFTSwkJ CQkweEZGRiAvKiBza2wrOiAxMCBiaXRzLCBpY2wrIDExIGJpdHMsIGFkbHArIDEyIGJpdHMgKi8N Cj4gPiA+IC0jZGVmaW5lICBEREJfRU5UUllfRU5EX1NISUZUCQkJMTYNCj4gPiA+ICsvKiBza2wr OiAxMCBiaXRzLCBpY2wrIDExIGJpdHMsIGFkbHArIDEyIGJpdHMgKi8NCj4gPiA+ICsjZGVmaW5l ICAgUExBTkVfQlVGX0VORF9NQVNLCQlSRUdfR0VOTUFTSygyNywgMTYpDQo+ID4gPiArI2RlZmlu ZSAgIFBMQU5FX0JVRl9FTkQoZW5kKQkJUkVHX0ZJRUxEX1BSRVAoUExBTkVfQlVGX0VORF9NQVNL LCAoZW5kKSkNCj4gPiA+ICsjZGVmaW5lICAgUExBTkVfQlVGX1NUQVJUX01BU0sJCVJFR19HRU5N QVNLKDExLCAwKQ0KPiA+ID4gKyNkZWZpbmUgICBQTEFORV9CVUZfU1RBUlQoc3RhcnQpCVJFR19G SUVMRF9QUkVQKFBMQU5FX0JVRl9TVEFSVF9NQVNLLCAoc3RhcnQpKQ0KPiA+ID4gICNkZWZpbmUg X1BMQU5FX0JVRl9DRkdfMShwaXBlKQlcDQo+ID4gPiAgCV9QSVBFKHBpcGUsIF9QTEFORV9CVUZf Q0ZHXzFfQSwgX1BMQU5FX0JVRl9DRkdfMV9CKQ0KPiA+ID4gICNkZWZpbmUgX1BMQU5FX0JVRl9D RkdfMihwaXBlKQlcDQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMNCj4gPiA+IGluZGV4IGNm ZjBmMzJiZWRjOS4uN2YwMGZkMmY2MmEwIDEwMDY0NA0KPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcG0uYw0KPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYw0KPiA+ID4gQEAgLTQyODMsMTEgKzQyODMsMTAgQEAgc2tsX2N1cnNvcl9hbGxvY2F0 aW9uKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLA0KPiA+ID4gIHN0 YXRpYyB2b2lkIHNrbF9kZGJfZW50cnlfaW5pdF9mcm9tX2h3KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwNCj4gPiA+ICAJCQkJICAgICAgIHN0cnVjdCBza2xfZGRiX2VudHJ5ICpl bnRyeSwgdTMyIHJlZykNCj4gPiA+ICB7DQo+ID4gPiAtCWVudHJ5LT5zdGFydCA9IHJlZyAmIERE Ql9FTlRSWV9NQVNLOw0KPiA+ID4gLQllbnRyeS0+ZW5kID0gKHJlZyA+PiBEREJfRU5UUllfRU5E X1NISUZUKSAmIEREQl9FTlRSWV9NQVNLOw0KPiA+ID4gLQ0KPiA+ID4gKwllbnRyeS0+c3RhcnQg PSBSRUdfRklFTERfR0VUKFBMQU5FX0JVRl9TVEFSVF9NQVNLLCByZWcpOw0KPiA+ID4gKwllbnRy eS0+ZW5kID0gUkVHX0ZJRUxEX0dFVChQTEFORV9CVUZfRU5EX01BU0ssIHJlZyk7DQo+ID4gPiAg CWlmIChlbnRyeS0+ZW5kKQ0KPiA+ID4gLQkJZW50cnktPmVuZCArPSAxOw0KPiA+ID4gKwkJZW50 cnktPmVuZCsrOw0KPiA+ID4gIH0NCj4gPiA+ICANCj4gPiA+ICBzdGF0aWMgdm9pZA0KPiA+ID4g QEAgLTQzMTEsNyArNDMxMCw3IEBAIHNrbF9kZGJfZ2V0X2h3X3BsYW5lX3N0YXRlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwNCj4gPiA+ICANCj4gPiA+ICAJLyogTm8gRERCIGFs bG9jYXRlZCBmb3IgZGlzYWJsZWQgcGxhbmVzICovDQo+ID4gPiAgCWlmICh2YWwgJiBQTEFORV9D VExfRU5BQkxFKQ0KPiA+ID4gLQkJZm91cmNjID0gc2tsX2Zvcm1hdF90b19mb3VyY2ModmFsICYg UExBTkVfQ1RMX0ZPUk1BVF9NQVNLLA0KPiA+ID4gKwkJZm91cmNjID0gc2tsX2Zvcm1hdF90b19m b3VyY2ModmFsICYgUExBTkVfQ1RMX0ZPUk1BVF9NQVNLX1NLTCwNCj4gPiA+ICAJCQkJCSAgICAg IHZhbCAmIFBMQU5FX0NUTF9PUkRFUl9SR0JYLA0KPiA+ID4gIAkJCQkJICAgICAgdmFsICYgUExB TkVfQ1RMX0FMUEhBX01BU0spOw0KPiA+ID4gIA0KPiA+ID4gQEAgLTU4ODIsNyArNTg4MSw4IEBA IHN0YXRpYyB2b2lkIHNrbF9kZGJfZW50cnlfd3JpdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LA0KPiA+ID4gIHsNCj4gPiA+ICAJaWYgKGVudHJ5LT5lbmQpDQo+ID4gPiAgCQlp bnRlbF9kZV93cml0ZV9mdyhkZXZfcHJpdiwgcmVnLA0KPiA+ID4gLQkJCQkgIChlbnRyeS0+ZW5k IC0gMSkgPDwgMTYgfCBlbnRyeS0+c3RhcnQpOw0KPiA+ID4gKwkJCQkgIFBMQU5FX0JVRl9FTkQo ZW50cnktPmVuZCAtIDEpIHwNCj4gPiA+ICsJCQkJICBQTEFORV9CVUZfU1RBUlQoZW50cnktPnN0 YXJ0KSk7DQo+ID4gPiAgCWVsc2UNCj4gPiA+ICAJCWludGVsX2RlX3dyaXRlX2Z3KGRldl9wcml2 LCByZWcsIDApOw0KPiA+ID4gIH0NCj4gPiANCj4gDQoNCg==