Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n9WIB-00051x-ET for pgsql-hackers@arkaria.postgresql.org; Mon, 17 Jan 2022 17:59:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1n9WIA-0003WY-5D for pgsql-hackers@arkaria.postgresql.org; Mon, 17 Jan 2022 17:59:42 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n9WI9-0003WP-Nk for pgsql-hackers@lists.postgresql.org; Mon, 17 Jan 2022 17:59:41 +0000 Received: from mxout1.routing.net ([2a03:2900:1:a::a]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n9WI7-0005VD-1P for pgsql-hackers@postgresql.org; Mon, 17 Jan 2022 17:59:41 +0000 Received: from mxbox3.masterlogin.de (unknown [192.168.10.78]) by mxout1.routing.net (Postfix) with ESMTP id B9D543FF0C; Mon, 17 Jan 2022 17:59:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailerdienst.de; s=20200217; t=1642442374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=GyVhPCEdiD3OPbI5g7Vq4GXDnHvXHX/+VHK+q9QkE0M=; b=ac8xQM2Woi6aNHwlAg37HWUk0n2XGge2Pf0Z1Ed8apoa3Nblw5Dk7EYILYPsQ3Q5ftfR7E SOM76+LxhypgMbuTekt/b0oyqgzL+kRbzagRrj6f//CNw33tWMVEI9PYH8+qF3lgGCD1Se soePv4EY9pGxvG/OdvI4PXM1LJRPEmA= Received: from remote.index.de (i68970D96.versanet.de [104.151.13.150]) by mxbox3.masterlogin.de (Postfix) with ESMTPSA id 58D8936006A; Mon, 17 Jan 2022 17:59:34 +0000 (UTC) Received: from acedia.index-gruppe.local (192.168.54.121) by invidia.index-gruppe.local (192.168.54.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.21; Mon, 17 Jan 2022 18:59:33 +0100 Received: from acedia.index-gruppe.local ([fe80::501:b638:b4b6:57d1]) by acedia.index-gruppe.local ([fe80::501:b638:b4b6:57d1%13]) with mapi id 15.01.2308.021; Mon, 17 Jan 2022 18:59:33 +0100 From: Arne Roland To: Julien Rouhaud CC: pgsql-hackers Subject: Re: missing indexes in indexlist with partitioned tables Thread-Topic: missing indexes in indexlist with partitioned tables Thread-Index: AQHXsJoeXw6ojQG4NkOLdiX4KUBdD6vkTOpcgIAWJQCAA2SO7oAAbRh/ Date: Mon, 17 Jan 2022 17:59:33 +0000 Message-ID: <405b11a5a0504b76b997e312e543a69b@index.de> References: ,<20220115083304.bnr45veimywcmrhk@jrouhaud>,<6709e1a28a95425d9b3cc2bc20e4f44d@index.de> In-Reply-To: <6709e1a28a95425d9b3cc2bc20e4f44d@index.de> Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.255.1.33] Content-Type: multipart/mixed; boundary="_004_405b11a5a0504b76b997e312e543a69bindexde_" MIME-Version: 1.0 X-Mail-ID: 554ea3b4-69ac-4896-8efa-8f1c44d024e7 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_405b11a5a0504b76b997e312e543a69bindexde_ Content-Type: multipart/alternative; boundary="_000_405b11a5a0504b76b997e312e543a69bindexde_" --_000_405b11a5a0504b76b997e312e543a69bindexde_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Using some valuable feedback from Zhihong Yu, I fixed a flipped negation er= ror and updated the comments. Regards Arne ________________________________ From: Arne Roland Sent: Monday, January 17, 2022 12:25 To: Julien Rouhaud Cc: pgsql-hackers Subject: Re: missing indexes in indexlist with partitioned tables Hi, thank you for the heads up! Those files ended up accidentally in the dump f= rom me running pg_indent. The file count was truly excessive, I should have= noticed this sooner. I attached the patch without the excessive modifications. That should be wa= y easier to read. Regards Arne --_000_405b11a5a0504b76b997e312e543a69bindexde_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Using some valuable feedback from Zhihong Yu, I fixed a fli= pped negation error and updated the comments.


Regards
Arne



From: Arne Roland
Sent: Monday, January 17, 2022 12:25
To: Julien Rouhaud
Cc: pgsql-hackers
Subject: Re: missing indexes in indexlist with partitioned tables
 

Hi,

thank you for the heads up! Those files ended up accidentally in the dump f= rom me running pg_indent. The file count was truly excessive, I should have= noticed this sooner.
I attached the patch without the excessive modifications. That should be wa= y easier to read.


Regards
Arne

--_000_405b11a5a0504b76b997e312e543a69bindexde_-- --_004_405b11a5a0504b76b997e312e543a69bindexde_ Content-Type: text/x-patch; name="0003-partIndexlistClean.patch" Content-Description: 0003-partIndexlistClean.patch Content-Disposition: attachment; filename="0003-partIndexlistClean.patch"; size=15150; creation-date="Mon, 17 Jan 2022 17:59:24 GMT"; modification-date="Mon, 17 Jan 2022 17:59:24 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wYXRoL2luZHhwYXRoLmMgYi9zcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGF0aC9pbmR4cGF0aC5jCmluZGV4IDBlZjcwYWQ3ZjEuLmZlNTA5 MTk2MzcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wYXRoL2luZHhwYXRoLmMK KysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BhdGgvaW5keHBhdGguYwpAQCAtMzUwNCw3ICsz NTA0LDcgQEAgcmVsYXRpb25faGFzX3VuaXF1ZV9pbmRleF9mb3IoUGxhbm5lckluZm8gKnJvb3Qs IFJlbE9wdEluZm8gKnJlbCwKIAlBc3NlcnQobGlzdF9sZW5ndGgoZXhwcmxpc3QpID09IGxpc3Rf bGVuZ3RoKG9wcmxpc3QpKTsKIAogCS8qIFNob3J0LWNpcmN1aXQgaWYgbm8gaW5kZXhlcy4uLiAq LwotCWlmIChyZWwtPmluZGV4bGlzdCA9PSBOSUwpCisJaWYgKHJlbC0+aW5kZXhsaXN0ID09IE5J TCAmJiByZWwtPnBhcnRJbmRleGxpc3QgPT0gTklMKQogCQlyZXR1cm4gZmFsc2U7CiAKIAkvKgpA QCAtMzU0OSw3ICszNTQ5LDcgQEAgcmVsYXRpb25faGFzX3VuaXF1ZV9pbmRleF9mb3IoUGxhbm5l ckluZm8gKnJvb3QsIFJlbE9wdEluZm8gKnJlbCwKIAkJcmV0dXJuIGZhbHNlOwogCiAJLyogRXhh bWluZSBlYWNoIGluZGV4IG9mIHRoZSByZWxhdGlvbiAuLi4gKi8KLQlmb3JlYWNoKGljLCByZWwt PmluZGV4bGlzdCkKKwlmb3JlYWNoKGljLCBsaXN0X2NvbmNhdChyZWwtPmluZGV4bGlzdCwgcmVs LT5wYXJ0SW5kZXhsaXN0KSkKIAl7CiAJCUluZGV4T3B0SW5mbyAqaW5kID0gKEluZGV4T3B0SW5m byAqKSBsZmlyc3QoaWMpOwogCQlpbnQJCQljOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3BsYW4vYW5hbHl6ZWpvaW5zLmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9h bmFseXplam9pbnMuYwppbmRleCAzMzdmNDcwZDU4Li5iMDRiM2Y4OGFkIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9hbmFseXplam9pbnMuYworKysgYi9zcmMvYmFja2Vu ZC9vcHRpbWl6ZXIvcGxhbi9hbmFseXplam9pbnMuYwpAQCAtMjMsNiArMjMsNyBAQAogI2luY2x1 ZGUgInBvc3RncmVzLmgiCiAKICNpbmNsdWRlICJub2Rlcy9ub2RlRnVuY3MuaCIKKyNpbmNsdWRl ICJub2Rlcy9ub2Rlcy5oIgogI2luY2x1ZGUgIm9wdGltaXplci9jbGF1c2VzLmgiCiAjaW5jbHVk ZSAib3B0aW1pemVyL2pvaW5pbmZvLmgiCiAjaW5jbHVkZSAib3B0aW1pemVyL29wdGltaXplci5o IgpAQCAtNTk4LDcgKzU5OSw3IEBAIHJlbF9zdXBwb3J0c19kaXN0aW5jdG5lc3MoUGxhbm5lcklu Zm8gKnJvb3QsIFJlbE9wdEluZm8gKnJlbCkKIAkJICovCiAJCUxpc3RDZWxsICAgKmxjOwogCi0J CWZvcmVhY2gobGMsIHJlbC0+aW5kZXhsaXN0KQorCQlmb3JlYWNoKGxjLCBsaXN0X2NvbmNhdChy ZWwtPmluZGV4bGlzdCwgcmVsLT5wYXJ0SW5kZXhsaXN0KSkKIAkJewogCQkJSW5kZXhPcHRJbmZv ICppbmQgPSAoSW5kZXhPcHRJbmZvICopIGxmaXJzdChsYyk7CiAKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL29wdGltaXplci91dGlsL3BsYW5jYXQuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci91 dGlsL3BsYW5jYXQuYwppbmRleCA1MzVmYTA0MWFkLi41NzA3ZDQ4ZGJkIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9wbGFuY2F0LmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3V0aWwvcGxhbmNhdC5jCkBAIC0xMTUsOCArMTE1LDggQEAgZ2V0X3JlbGF0aW9uX2lu Zm8oUGxhbm5lckluZm8gKnJvb3QsIE9pZCByZWxhdGlvbk9iamVjdElkLCBib29sIGluaHBhcmVu dCwKIHsKIAlJbmRleAkJdmFybm8gPSByZWwtPnJlbGlkOwogCVJlbGF0aW9uCXJlbGF0aW9uOwot CWJvb2wJCWhhc2luZGV4OwogCUxpc3QJICAgKmluZGV4aW5mb3MgPSBOSUw7CisJTGlzdAkgICAq cGFydEluZGV4aW5mb3MgPSBOSUw7CiAKIAkvKgogCSAqIFdlIG5lZWQgbm90IGxvY2sgdGhlIHJl bGF0aW9uIHNpbmNlIGl0IHdhcyBhbHJlYWR5IGxvY2tlZCwgZWl0aGVyIGJ5CkBAIC0xNTMsMTcg KzE1Myw4IEBAIGdldF9yZWxhdGlvbl9pbmZvKFBsYW5uZXJJbmZvICpyb290LCBPaWQgcmVsYXRp b25PYmplY3RJZCwgYm9vbCBpbmhwYXJlbnQsCiAJLyogUmV0cmlldmUgdGhlIHBhcmFsbGVsX3dv cmtlcnMgcmVsb3B0aW9uLCBvciAtMSBpZiBub3Qgc2V0LiAqLwogCXJlbC0+cmVsX3BhcmFsbGVs X3dvcmtlcnMgPSBSZWxhdGlvbkdldFBhcmFsbGVsV29ya2VycyhyZWxhdGlvbiwgLTEpOwogCi0J LyoKLQkgKiBNYWtlIGxpc3Qgb2YgaW5kZXhlcy4gIElnbm9yZSBpbmRleGVzIG9uIHN5c3RlbSBj YXRhbG9ncyBpZiB0b2xkIHRvLgotCSAqIERvbid0IGJvdGhlciB3aXRoIGluZGV4ZXMgZm9yIGFu IGluaGVyaXRhbmNlIHBhcmVudCwgZWl0aGVyLgotCSAqLwotCWlmIChpbmhwYXJlbnQgfHwKLQkJ KElnbm9yZVN5c3RlbUluZGV4ZXMgJiYgSXNTeXN0ZW1SZWxhdGlvbihyZWxhdGlvbikpKQotCQlo YXNpbmRleCA9IGZhbHNlOwotCWVsc2UKLQkJaGFzaW5kZXggPSByZWxhdGlvbi0+cmRfcmVsLT5y ZWxoYXNpbmRleDsKLQotCWlmIChoYXNpbmRleCkKKwkvKiBNYWtlIGxpc3Qgb2YgaW5kZXhlcy4g SWdub3JlIGluZGV4ZXMgb24gc3lzdGVtIGNhdGFsb2dzIGlmIHRvbGQgdG8uICovCisJaWYgKCEo SWdub3JlU3lzdGVtSW5kZXhlcyAmJiBJc1N5c3RlbVJlbGF0aW9uKHJlbGF0aW9uKSkgJiYgcmVs YXRpb24tPnJkX3JlbC0+cmVsaGFzaW5kZXgpCiAJewogCQlMaXN0CSAgICppbmRleG9pZGxpc3Q7 CiAJCUxPQ0tNT0RFCWxtb2RlOwpAQCAtMjEyLDEwICsyMDMsMTIgQEAgZ2V0X3JlbGF0aW9uX2lu Zm8oUGxhbm5lckluZm8gKnJvb3QsIE9pZCByZWxhdGlvbk9iamVjdElkLCBib29sIGluaHBhcmVu dCwKIAkJCX0KIAogCQkJLyoKLQkJCSAqIElnbm9yZSBwYXJ0aXRpb25lZCBpbmRleGVzLCBzaW5j ZSB0aGV5IGFyZSBub3QgdXNhYmxlIGZvcgotCQkJICogcXVlcmllcy4KKwkJCSAqIERvbid0IGFk ZCBwYXJ0aXRpb25lZCBpbmRleGVzIHRvIHRoZSBpbmRleGxpc3QsIHNpbmNlIHRoZXkgYXJlCisJ CQkgKiBub3QgdXNhYmxlIGJ5IHRoZSBleGVjdXRvci4gSWYgdGhleSBhcmUgdW5pcXVlIGFkZCB0 aGVtIHRvIHRoZQorCQkJICogcGFydGluZGV4bGlzdCBpbnN0ZWFkLCB0byB1c2UgZm9yIGZ1cnRo ZXIgcHJ1bmluZy4gSWYgdGhleQorCQkJICogYXJlbid0IHRoYXQgZWl0aGVyLCBzaW1wbHkgc2tp cCB0aGVtLgogCQkJICovCi0JCQlpZiAoaW5kZXhSZWxhdGlvbi0+cmRfcmVsLT5yZWxraW5kID09 IFJFTEtJTkRfUEFSVElUSU9ORURfSU5ERVgpCisJCQlpZiAoaW5ocGFyZW50ICYmICghaW5kZXgt PmluZGlzdW5pcXVlIHx8IGluZGV4UmVsYXRpb24tPnJkX3JlbC0+cmVsa2luZCAhPSBSRUxLSU5E X1BBUlRJVElPTkVEX0lOREVYKSkKIAkJCXsKIAkJCQlpbmRleF9jbG9zZShpbmRleFJlbGF0aW9u LCBOb0xvY2spOwogCQkJCWNvbnRpbnVlOwpAQCAtMjYzLDcgKzI1Niw0MCBAQCBnZXRfcmVsYXRp b25faW5mbyhQbGFubmVySW5mbyAqcm9vdCwgT2lkIHJlbGF0aW9uT2JqZWN0SWQsIGJvb2wgaW5o cGFyZW50LAogCQkJCWluZm8tPmluZGV4Y29sbGF0aW9uc1tpXSA9IGluZGV4UmVsYXRpb24tPnJk X2luZGNvbGxhdGlvbltpXTsKIAkJCX0KIAotCQkJaW5mby0+cmVsYW0gPSBpbmRleFJlbGF0aW9u LT5yZF9yZWwtPnJlbGFtOworCQkJLyoKKwkJCSAqIEZldGNoIHRoZSBpbmRleCBleHByZXNzaW9u cyBhbmQgcHJlZGljYXRlLCBpZiBhbnkuICBXZSBtdXN0CisJCQkgKiBtb2RpZnkgdGhlIGNvcGll cyB3ZSBvYnRhaW4gZnJvbSB0aGUgcmVsY2FjaGUgdG8gaGF2ZSB0aGUKKwkJCSAqIGNvcnJlY3Qg dmFybm8gZm9yIHRoZSBwYXJlbnQgcmVsYXRpb24sIHNvIHRoYXQgdGhleSBtYXRjaCB1cAorCQkJ ICogY29ycmVjdGx5IGFnYWluc3QgcXVhbCBjbGF1c2VzLgorCQkJICovCisJCQlpbmZvLT5pbmRl eHBycyA9IFJlbGF0aW9uR2V0SW5kZXhFeHByZXNzaW9ucyhpbmRleFJlbGF0aW9uKTsKKwkJCWlu Zm8tPmluZHByZWQgPSBSZWxhdGlvbkdldEluZGV4UHJlZGljYXRlKGluZGV4UmVsYXRpb24pOwor CQkJaWYgKGluZm8tPmluZGV4cHJzICYmIHZhcm5vICE9IDEpCisJCQkJQ2hhbmdlVmFyTm9kZXMo KE5vZGUgKikgaW5mby0+aW5kZXhwcnMsIDEsIHZhcm5vLCAwKTsKKwkJCWlmIChpbmZvLT5pbmRw cmVkICYmIHZhcm5vICE9IDEpCisJCQkJQ2hhbmdlVmFyTm9kZXMoKE5vZGUgKikgaW5mby0+aW5k cHJlZCwgMSwgdmFybm8sIDApOworCisJCQlpbmZvLT51bmlxdWUgPSBpbmRleC0+aW5kaXN1bmlx dWU7CisJCQlpbmZvLT5pbW1lZGlhdGUgPSBpbmRleC0+aW5kaW1tZWRpYXRlOworCisJCQkvKgor CQkJICogRG9uJ3QgYWRkIHBhcnRpdGlvbmVkIGluZGV4ZXMgdG8gdGhlIGluZGV4bGlzdCwgYWRk IHRoZW0gdG8gdGhlCisJCQkgKiBwYXJ0aW5kZXhsaXN0IGluc3RlYWQsIHNpbmNlIHRoZXkgYXJl IG5vdCB1c2FibGUgYnkgdGhlCisJCQkgKiBleGVjdXRvci4KKwkJCSAqLworCQkJaWYgKGluZGV4 UmVsYXRpb24tPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElPTkVEX0lOREVYKQor CQkJeworCQkJCWluZGV4X2Nsb3NlKGluZGV4UmVsYXRpb24sIE5vTG9jayk7CisJCQkJcGFydElu ZGV4aW5mb3MgPSBsYXBwZW5kKHBhcnRJbmRleGluZm9zLCBpbmZvKTsKKwkJCQljb250aW51ZTsK KwkJCX0KKworCQkJaW5mby0+aHlwb3RoZXRpY2FsID0gZmFsc2U7CisJCQlpbmZvLT5pbmRyZXN0 cmljdGluZm8gPSBOSUw7CS8qIHNldCBsYXRlciwgaW4gaW5keHBhdGguYyAqLworCQkJaW5mby0+ cHJlZE9LID0gZmFsc2U7CS8qIHNldCBsYXRlciwgaW4gaW5keHBhdGguYyAqLworCisJCQkvKiBC dWlsZCB0YXJnZXRsaXN0IHVzaW5nIHRoZSBjb21wbGV0ZWQgaW5kZXhwcnMgZGF0YSAqLworCQkJ aW5mby0+aW5kZXh0bGlzdCA9IGJ1aWxkX2luZGV4X3RsaXN0KHJvb3QsIGluZm8sIHJlbGF0aW9u KTsKIAogCQkJLyogV2UgY29weSBqdXN0IHRoZSBmaWVsZHMgd2UgbmVlZCwgbm90IGFsbCBvZiBy ZF9pbmRhbSAqLwogCQkJYW1yb3V0aW5lID0gaW5kZXhSZWxhdGlvbi0+cmRfaW5kYW07CkBAIC0y ODMsNiArMzA5LDggQEAgZ2V0X3JlbGF0aW9uX2luZm8oUGxhbm5lckluZm8gKnJvb3QsIE9pZCBy ZWxhdGlvbk9iamVjdElkLCBib29sIGluaHBhcmVudCwKIAkJCS8qIEZldGNoIGluZGV4IG9wY2xh c3Mgb3B0aW9ucyAqLwogCQkJaW5mby0+b3BjbGFzc29wdGlvbnMgPSBSZWxhdGlvbkdldEluZGV4 QXR0T3B0aW9ucyhpbmRleFJlbGF0aW9uLCB0cnVlKTsKIAorCQkJaW5mby0+cmVsYW0gPSBpbmRl eFJlbGF0aW9uLT5yZF9yZWwtPnJlbGFtOworCiAJCQkvKgogCQkJICogRmV0Y2ggdGhlIG9yZGVy aW5nIGluZm9ybWF0aW9uIGZvciB0aGUgaW5kZXgsIGlmIGFueS4KIAkJCSAqLwpAQCAtMzY5LDI4 ICszOTcsNiBAQCBnZXRfcmVsYXRpb25faW5mbyhQbGFubmVySW5mbyAqcm9vdCwgT2lkIHJlbGF0 aW9uT2JqZWN0SWQsIGJvb2wgaW5ocGFyZW50LAogCQkJCWluZm8tPm51bGxzX2ZpcnN0ID0gTlVM TDsKIAkJCX0KIAotCQkJLyoKLQkJCSAqIEZldGNoIHRoZSBpbmRleCBleHByZXNzaW9ucyBhbmQg cHJlZGljYXRlLCBpZiBhbnkuICBXZSBtdXN0Ci0JCQkgKiBtb2RpZnkgdGhlIGNvcGllcyB3ZSBv YnRhaW4gZnJvbSB0aGUgcmVsY2FjaGUgdG8gaGF2ZSB0aGUKLQkJCSAqIGNvcnJlY3QgdmFybm8g Zm9yIHRoZSBwYXJlbnQgcmVsYXRpb24sIHNvIHRoYXQgdGhleSBtYXRjaCB1cAotCQkJICogY29y cmVjdGx5IGFnYWluc3QgcXVhbCBjbGF1c2VzLgotCQkJICovCi0JCQlpbmZvLT5pbmRleHBycyA9 IFJlbGF0aW9uR2V0SW5kZXhFeHByZXNzaW9ucyhpbmRleFJlbGF0aW9uKTsKLQkJCWluZm8tPmlu ZHByZWQgPSBSZWxhdGlvbkdldEluZGV4UHJlZGljYXRlKGluZGV4UmVsYXRpb24pOwotCQkJaWYg KGluZm8tPmluZGV4cHJzICYmIHZhcm5vICE9IDEpCi0JCQkJQ2hhbmdlVmFyTm9kZXMoKE5vZGUg KikgaW5mby0+aW5kZXhwcnMsIDEsIHZhcm5vLCAwKTsKLQkJCWlmIChpbmZvLT5pbmRwcmVkICYm IHZhcm5vICE9IDEpCi0JCQkJQ2hhbmdlVmFyTm9kZXMoKE5vZGUgKikgaW5mby0+aW5kcHJlZCwg MSwgdmFybm8sIDApOwotCi0JCQkvKiBCdWlsZCB0YXJnZXRsaXN0IHVzaW5nIHRoZSBjb21wbGV0 ZWQgaW5kZXhwcnMgZGF0YSAqLwotCQkJaW5mby0+aW5kZXh0bGlzdCA9IGJ1aWxkX2luZGV4X3Rs aXN0KHJvb3QsIGluZm8sIHJlbGF0aW9uKTsKLQotCQkJaW5mby0+aW5kcmVzdHJpY3RpbmZvID0g TklMOwkvKiBzZXQgbGF0ZXIsIGluIGluZHhwYXRoLmMgKi8KLQkJCWluZm8tPnByZWRPSyA9IGZh bHNlOwkvKiBzZXQgbGF0ZXIsIGluIGluZHhwYXRoLmMgKi8KLQkJCWluZm8tPnVuaXF1ZSA9IGlu ZGV4LT5pbmRpc3VuaXF1ZTsKLQkJCWluZm8tPmltbWVkaWF0ZSA9IGluZGV4LT5pbmRpbW1lZGlh dGU7Ci0JCQlpbmZvLT5oeXBvdGhldGljYWwgPSBmYWxzZTsKLQogCQkJLyoKIAkJCSAqIEVzdGlt YXRlIHRoZSBpbmRleCBzaXplLiAgSWYgaXQncyBub3QgYSBwYXJ0aWFsIGluZGV4LCB3ZSBsb2Nr CiAJCQkgKiB0aGUgbnVtYmVyLW9mLXR1cGxlcyBlc3RpbWF0ZSB0byBlcXVhbCB0aGUgcGFyZW50 IHRhYmxlOyBpZiBpdApAQCAtNDQwLDYgKzQ0Niw3IEBAIGdldF9yZWxhdGlvbl9pbmZvKFBsYW5u ZXJJbmZvICpyb290LCBPaWQgcmVsYXRpb25PYmplY3RJZCwgYm9vbCBpbmhwYXJlbnQsCiAJfQog CiAJcmVsLT5pbmRleGxpc3QgPSBpbmRleGluZm9zOworCXJlbC0+cGFydEluZGV4bGlzdCA9IHBh cnRJbmRleGluZm9zOwogCiAJcmVsLT5zdGF0bGlzdCA9IGdldF9yZWxhdGlvbl9zdGF0aXN0aWNz KHJlbCwgcmVsYXRpb24pOwogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9k ZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oCmluZGV4IDFmMzNmZTEzYzEuLmY0 ZDhiZDllNGEgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oCisrKyBi L3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oCkBAIC0zMzQsMTEgKzMzNCwxMSBAQCBzdHJ1 Y3QgUGxhbm5lckluZm8KIAogCU1lbW9yeUNvbnRleHQgcGxhbm5lcl9jeHQ7CS8qIGNvbnRleHQg aG9sZGluZyBQbGFubmVySW5mbyAqLwogCi0JQ2FyZGluYWxpdHkJdG90YWxfdGFibGVfcGFnZXM7 CS8qICMgb2YgcGFnZXMgaW4gYWxsIG5vbi1kdW1teSB0YWJsZXMgb2YKKwlDYXJkaW5hbGl0eSB0 b3RhbF90YWJsZV9wYWdlczsJLyogIyBvZiBwYWdlcyBpbiBhbGwgbm9uLWR1bW15IHRhYmxlcyBv ZgogCQkJCQkJCQkJICogcXVlcnkgKi8KIAotCVNlbGVjdGl2aXR5CXR1cGxlX2ZyYWN0aW9uOyAv KiB0dXBsZV9mcmFjdGlvbiBwYXNzZWQgdG8gcXVlcnlfcGxhbm5lciAqLwotCUNhcmRpbmFsaXR5 CWxpbWl0X3R1cGxlczsJLyogbGltaXRfdHVwbGVzIHBhc3NlZCB0byBxdWVyeV9wbGFubmVyICov CisJU2VsZWN0aXZpdHkgdHVwbGVfZnJhY3Rpb247IC8qIHR1cGxlX2ZyYWN0aW9uIHBhc3NlZCB0 byBxdWVyeV9wbGFubmVyICovCisJQ2FyZGluYWxpdHkgbGltaXRfdHVwbGVzOwkvKiBsaW1pdF90 dXBsZXMgcGFzc2VkIHRvIHF1ZXJ5X3BsYW5uZXIgKi8KIAogCUluZGV4CQlxdWFsX3NlY3VyaXR5 X2xldmVsOwkvKiBtaW5pbXVtIHNlY3VyaXR5X2xldmVsIGZvciBxdWFscyAqLwogCS8qIE5vdGU6 IHF1YWxfc2VjdXJpdHlfbGV2ZWwgaXMgemVybyBpZiB0aGVyZSBhcmUgbm8gc2VjdXJpdHlRdWFs cyAqLwpAQCAtNjgxLDcgKzY4MSw3IEBAIHR5cGVkZWYgc3RydWN0IFJlbE9wdEluZm8KIAlSZWxp ZHMJCXJlbGlkczsJCQkvKiBzZXQgb2YgYmFzZSByZWxpZHMgKHJhbmdldGFibGUgaW5kZXhlcykg Ki8KIAogCS8qIHNpemUgZXN0aW1hdGVzIGdlbmVyYXRlZCBieSBwbGFubmVyICovCi0JQ2FyZGlu YWxpdHkJcm93czsJCQkvKiBlc3RpbWF0ZWQgbnVtYmVyIG9mIHJlc3VsdCB0dXBsZXMgKi8KKwlD YXJkaW5hbGl0eSByb3dzOwkJCS8qIGVzdGltYXRlZCBudW1iZXIgb2YgcmVzdWx0IHR1cGxlcyAq LwogCiAJLyogcGVyLXJlbGF0aW9uIHBsYW5uZXIgY29udHJvbCBmbGFncyAqLwogCWJvb2wJCWNv bnNpZGVyX3N0YXJ0dXA7CS8qIGtlZXAgY2hlYXAtc3RhcnR1cC1jb3N0IHBhdGhzPyAqLwpAQCAt NzE2LDkgKzcxNiwxMCBAQCB0eXBlZGVmIHN0cnVjdCBSZWxPcHRJbmZvCiAJTGlzdAkgICAqbGF0 ZXJhbF92YXJzOwkvKiBMQVRFUkFMIFZhcnMgYW5kIFBIVnMgcmVmZXJlbmNlZCBieSByZWwgKi8K IAlSZWxpZHMJCWxhdGVyYWxfcmVmZXJlbmNlcnM7CS8qIHJlbHMgdGhhdCByZWZlcmVuY2UgbWUg bGF0ZXJhbGx5ICovCiAJTGlzdAkgICAqaW5kZXhsaXN0OwkJLyogbGlzdCBvZiBJbmRleE9wdElu Zm8gKi8KKwlMaXN0CSAgICpwYXJ0SW5kZXhsaXN0OwkvKiBsaXN0IG9mIEluZGV4T3B0SW5mbyAq LwogCUxpc3QJICAgKnN0YXRsaXN0OwkJLyogbGlzdCBvZiBTdGF0aXN0aWNFeHRJbmZvICovCiAJ QmxvY2tOdW1iZXIgcGFnZXM7CQkJLyogc2l6ZSBlc3RpbWF0ZXMgZGVyaXZlZCBmcm9tIHBnX2Ns YXNzICovCi0JQ2FyZGluYWxpdHkJdHVwbGVzOworCUNhcmRpbmFsaXR5IHR1cGxlczsKIAlkb3Vi bGUJCWFsbHZpc2ZyYWM7CiAJQml0bWFwc2V0ICAqZWNsYXNzX2luZGV4ZXM7IC8qIEluZGV4ZXMg aW4gUGxhbm5lckluZm8ncyBlcV9jbGFzc2VzIGxpc3Qgb2YKIAkJCQkJCQkJICogRUNzIHRoYXQg bWVudGlvbiB0aGlzIHJlbCAqLwpAQCAtODQxLDcgKzg0Miw3IEBAIHN0cnVjdCBJbmRleE9wdElu Zm8KIAogCS8qIGluZGV4LXNpemUgc3RhdGlzdGljcyAoZnJvbSBwZ19jbGFzcyBhbmQgZWxzZXdo ZXJlKSAqLwogCUJsb2NrTnVtYmVyIHBhZ2VzOwkJCS8qIG51bWJlciBvZiBkaXNrIHBhZ2VzIGlu IGluZGV4ICovCi0JQ2FyZGluYWxpdHkJdHVwbGVzOwkJCS8qIG51bWJlciBvZiBpbmRleCB0dXBs ZXMgaW4gaW5kZXggKi8KKwlDYXJkaW5hbGl0eSB0dXBsZXM7CQkJLyogbnVtYmVyIG9mIGluZGV4 IHR1cGxlcyBpbiBpbmRleCAqLwogCWludAkJCXRyZWVfaGVpZ2h0OwkvKiBpbmRleCB0cmVlIGhl aWdodCwgb3IgLTEgaWYgdW5rbm93biAqLwogCiAJLyogaW5kZXggZGVzY3JpcHRvciBpbmZvcm1h dGlvbiAqLwpAQCAtMTEzOSw3ICsxMTQwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgUGFyYW1QYXRoSW5m bwogCU5vZGVUYWcJCXR5cGU7CiAKIAlSZWxpZHMJCXBwaV9yZXFfb3V0ZXI7CS8qIHJlbHMgc3Vw cGx5aW5nIHBhcmFtZXRlcnMgdXNlZCBieSBwYXRoICovCi0JQ2FyZGluYWxpdHkJcHBpX3Jvd3M7 CQkvKiBlc3RpbWF0ZWQgbnVtYmVyIG9mIHJlc3VsdCB0dXBsZXMgKi8KKwlDYXJkaW5hbGl0eSBw cGlfcm93czsJCS8qIGVzdGltYXRlZCBudW1iZXIgb2YgcmVzdWx0IHR1cGxlcyAqLwogCUxpc3QJ ICAgKnBwaV9jbGF1c2VzOwkvKiBqb2luIGNsYXVzZXMgYXZhaWxhYmxlIGZyb20gb3V0ZXIgcmVs cyAqLwogfSBQYXJhbVBhdGhJbmZvOwogCkBAIC0xMTg5LDcgKzExOTAsNyBAQCB0eXBlZGVmIHN0 cnVjdCBQYXRoCiAJaW50CQkJcGFyYWxsZWxfd29ya2VyczsJLyogZGVzaXJlZCAjIG9mIHdvcmtl cnM7IDAgPSBub3QgcGFyYWxsZWwgKi8KIAogCS8qIGVzdGltYXRlZCBzaXplL2Nvc3RzIGZvciBw YXRoIChzZWUgY29zdHNpemUuYyBmb3IgbW9yZSBpbmZvKSAqLwotCUNhcmRpbmFsaXR5CXJvd3M7 CQkJLyogZXN0aW1hdGVkIG51bWJlciBvZiByZXN1bHQgdHVwbGVzICovCisJQ2FyZGluYWxpdHkg cm93czsJCQkvKiBlc3RpbWF0ZWQgbnVtYmVyIG9mIHJlc3VsdCB0dXBsZXMgKi8KIAlDb3N0CQlz dGFydHVwX2Nvc3Q7CS8qIGNvc3QgZXhwZW5kZWQgYmVmb3JlIGZldGNoaW5nIGFueSB0dXBsZXMg Ki8KIAlDb3N0CQl0b3RhbF9jb3N0OwkJLyogdG90YWwgY29zdCAoYXNzdW1pbmcgYWxsIHR1cGxl cyBmZXRjaGVkKSAqLwogCkBAIC0xNDUyLDcgKzE0NTMsNyBAQCB0eXBlZGVmIHN0cnVjdCBBcHBl bmRQYXRoCiAJTGlzdAkgICAqc3VicGF0aHM7CQkvKiBsaXN0IG9mIGNvbXBvbmVudCBQYXRocyAq LwogCS8qIEluZGV4IG9mIGZpcnN0IHBhcnRpYWwgcGF0aCBpbiBzdWJwYXRoczsgbGlzdF9sZW5n dGgoc3VicGF0aHMpIGlmIG5vbmUgKi8KIAlpbnQJCQlmaXJzdF9wYXJ0aWFsX3BhdGg7Ci0JQ2Fy ZGluYWxpdHkJbGltaXRfdHVwbGVzOwkvKiBoYXJkIGxpbWl0IG9uIG91dHB1dCB0dXBsZXMsIG9y IC0xICovCisJQ2FyZGluYWxpdHkgbGltaXRfdHVwbGVzOwkvKiBoYXJkIGxpbWl0IG9uIG91dHB1 dCB0dXBsZXMsIG9yIC0xICovCiB9IEFwcGVuZFBhdGg7CiAKICNkZWZpbmUgSVNfRFVNTVlfQVBQ RU5EKHApIFwKQEAgLTE0NzQsNyArMTQ3NSw3IEBAIHR5cGVkZWYgc3RydWN0IE1lcmdlQXBwZW5k UGF0aAogewogCVBhdGgJCXBhdGg7CiAJTGlzdAkgICAqc3VicGF0aHM7CQkvKiBsaXN0IG9mIGNv bXBvbmVudCBQYXRocyAqLwotCUNhcmRpbmFsaXR5CWxpbWl0X3R1cGxlczsJLyogaGFyZCBsaW1p dCBvbiBvdXRwdXQgdHVwbGVzLCBvciAtMSAqLworCUNhcmRpbmFsaXR5IGxpbWl0X3R1cGxlczsJ LyogaGFyZCBsaW1pdCBvbiBvdXRwdXQgdHVwbGVzLCBvciAtMSAqLwogfSBNZXJnZUFwcGVuZFBh dGg7CiAKIC8qCkBAIC0xNzcyLDcgKzE3NzMsNyBAQCB0eXBlZGVmIHN0cnVjdCBBZ2dQYXRoCiAJ UGF0aAkgICAqc3VicGF0aDsJCS8qIHBhdGggcmVwcmVzZW50aW5nIGlucHV0IHNvdXJjZSAqLwog CUFnZ1N0cmF0ZWd5IGFnZ3N0cmF0ZWd5OwkvKiBiYXNpYyBzdHJhdGVneSwgc2VlIG5vZGVzLmgg Ki8KIAlBZ2dTcGxpdAlhZ2dzcGxpdDsJCS8qIGFnZy1zcGxpdHRpbmcgbW9kZSwgc2VlIG5vZGVz LmggKi8KLQlDYXJkaW5hbGl0eQludW1Hcm91cHM7CQkvKiBlc3RpbWF0ZWQgbnVtYmVyIG9mIGdy b3VwcyBpbiBpbnB1dCAqLworCUNhcmRpbmFsaXR5IG51bUdyb3VwczsJCS8qIGVzdGltYXRlZCBu dW1iZXIgb2YgZ3JvdXBzIGluIGlucHV0ICovCiAJdWludDY0CQl0cmFuc2l0aW9uU3BhY2U7CS8q IGZvciBwYXNzLWJ5LXJlZiB0cmFuc2l0aW9uIGRhdGEgKi8KIAlMaXN0CSAgICpncm91cENsYXVz ZTsJLyogYSBsaXN0IG9mIFNvcnRHcm91cENsYXVzZSdzICovCiAJTGlzdAkgICAqcXVhbDsJCQkv KiBxdWFscyAoSEFWSU5HIHF1YWxzKSwgaWYgYW55ICovCkBAIC0xNzg2LDcgKzE3ODcsNyBAQCB0 eXBlZGVmIHN0cnVjdCBHcm91cGluZ1NldERhdGEKIHsKIAlOb2RlVGFnCQl0eXBlOwogCUxpc3QJ ICAgKnNldDsJCQkvKiBncm91cGluZyBzZXQgYXMgbGlzdCBvZiBzb3J0Z3JvdXByZWZzICovCi0J Q2FyZGluYWxpdHkJbnVtR3JvdXBzOwkJLyogZXN0LiBudW1iZXIgb2YgcmVzdWx0IGdyb3VwcyAq LworCUNhcmRpbmFsaXR5IG51bUdyb3VwczsJCS8qIGVzdC4gbnVtYmVyIG9mIHJlc3VsdCBncm91 cHMgKi8KIH0gR3JvdXBpbmdTZXREYXRhOwogCiB0eXBlZGVmIHN0cnVjdCBSb2xsdXBEYXRhCkBA IC0xNzk1LDcgKzE3OTYsNyBAQCB0eXBlZGVmIHN0cnVjdCBSb2xsdXBEYXRhCiAJTGlzdAkgICAq Z3JvdXBDbGF1c2U7CS8qIGFwcGxpY2FibGUgc3Vic2V0IG9mIHBhcnNlLT5ncm91cENsYXVzZSAq LwogCUxpc3QJICAgKmdzZXRzOwkJCS8qIGxpc3RzIG9mIGludGVnZXIgaW5kZXhlcyBpbnRvIGdy b3VwQ2xhdXNlICovCiAJTGlzdAkgICAqZ3NldHNfZGF0YTsJCS8qIGxpc3Qgb2YgR3JvdXBpbmdT ZXREYXRhICovCi0JQ2FyZGluYWxpdHkJbnVtR3JvdXBzOwkJLyogZXN0LiBudW1iZXIgb2YgcmVz dWx0IGdyb3VwcyAqLworCUNhcmRpbmFsaXR5IG51bUdyb3VwczsJCS8qIGVzdC4gbnVtYmVyIG9m IHJlc3VsdCBncm91cHMgKi8KIAlib29sCQloYXNoYWJsZTsJCS8qIGNhbiBiZSBoYXNoZWQgKi8K IAlib29sCQlpc19oYXNoZWQ7CQkvKiB0byBiZSBpbXBsZW1lbnRlZCBhcyBhIGhhc2hhZ2cgKi8K IH0gUm9sbHVwRGF0YTsKQEAgLTE4NDYsNyArMTg0Nyw3IEBAIHR5cGVkZWYgc3RydWN0IFNldE9w UGF0aAogCUxpc3QJICAgKmRpc3RpbmN0TGlzdDsJLyogU29ydEdyb3VwQ2xhdXNlcyBpZGVudGlm eWluZyB0YXJnZXQgY29scyAqLwogCUF0dHJOdW1iZXIJZmxhZ0NvbElkeDsJCS8qIHdoZXJlIGlz IHRoZSBmbGFnIGNvbHVtbiwgaWYgYW55ICovCiAJaW50CQkJZmlyc3RGbGFnOwkJLyogZmxhZyB2 YWx1ZSBmb3IgZmlyc3QgaW5wdXQgcmVsYXRpb24gKi8KLQlDYXJkaW5hbGl0eQludW1Hcm91cHM7 CQkvKiBlc3RpbWF0ZWQgbnVtYmVyIG9mIGdyb3VwcyBpbiBpbnB1dCAqLworCUNhcmRpbmFsaXR5 IG51bUdyb3VwczsJCS8qIGVzdGltYXRlZCBudW1iZXIgb2YgZ3JvdXBzIGluIGlucHV0ICovCiB9 IFNldE9wUGF0aDsKIAogLyoKQEAgLTE4NTksNyArMTg2MCw3IEBAIHR5cGVkZWYgc3RydWN0IFJl Y3Vyc2l2ZVVuaW9uUGF0aAogCVBhdGgJICAgKnJpZ2h0cGF0aDsKIAlMaXN0CSAgICpkaXN0aW5j dExpc3Q7CS8qIFNvcnRHcm91cENsYXVzZXMgaWRlbnRpZnlpbmcgdGFyZ2V0IGNvbHMgKi8KIAlp bnQJCQl3dFBhcmFtOwkJLyogSUQgb2YgUGFyYW0gcmVwcmVzZW50aW5nIHdvcmsgdGFibGUgKi8K LQlDYXJkaW5hbGl0eQludW1Hcm91cHM7CQkvKiBlc3RpbWF0ZWQgbnVtYmVyIG9mIGdyb3VwcyBp biBpbnB1dCAqLworCUNhcmRpbmFsaXR5IG51bUdyb3VwczsJCS8qIGVzdGltYXRlZCBudW1iZXIg b2YgZ3JvdXBzIGluIGlucHV0ICovCiB9IFJlY3Vyc2l2ZVVuaW9uUGF0aDsKIAogLyoKQEAgLTI2 MTUsNyArMjYxNiw3IEBAIHR5cGVkZWYgc3RydWN0CiB0eXBlZGVmIHN0cnVjdAogewogCWJvb2wJ CWxpbWl0X25lZWRlZDsKLQlDYXJkaW5hbGl0eQlsaW1pdF90dXBsZXM7CisJQ2FyZGluYWxpdHkg bGltaXRfdHVwbGVzOwogCWludDY0CQljb3VudF9lc3Q7CiAJaW50NjQJCW9mZnNldF9lc3Q7CiB9 IEZpbmFsUGF0aEV4dHJhRGF0YTsKQEAgLTI2NDYsMTUgKzI2NDcsMTUgQEAgdHlwZWRlZiBzdHJ1 Y3QgSm9pbkNvc3RXb3Jrc3BhY2UKIAlDb3N0CQlpbm5lcl9yZXNjYW5fcnVuX2Nvc3Q7CiAKIAkv KiBwcml2YXRlIGZvciBjb3N0X21lcmdlam9pbiBjb2RlICovCi0JQ2FyZGluYWxpdHkJb3V0ZXJf cm93czsKLQlDYXJkaW5hbGl0eQlpbm5lcl9yb3dzOwotCUNhcmRpbmFsaXR5CW91dGVyX3NraXBf cm93czsKLQlDYXJkaW5hbGl0eQlpbm5lcl9za2lwX3Jvd3M7CisJQ2FyZGluYWxpdHkgb3V0ZXJf cm93czsKKwlDYXJkaW5hbGl0eSBpbm5lcl9yb3dzOworCUNhcmRpbmFsaXR5IG91dGVyX3NraXBf cm93czsKKwlDYXJkaW5hbGl0eSBpbm5lcl9za2lwX3Jvd3M7CiAKIAkvKiBwcml2YXRlIGZvciBj b3N0X2hhc2hqb2luIGNvZGUgKi8KIAlpbnQJCQludW1idWNrZXRzOwogCWludAkJCW51bWJhdGNo ZXM7Ci0JQ2FyZGluYWxpdHkJaW5uZXJfcm93c190b3RhbDsKKwlDYXJkaW5hbGl0eSBpbm5lcl9y b3dzX3RvdGFsOwogfSBKb2luQ29zdFdvcmtzcGFjZTsKIAogLyoKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX2pvaW4ub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9wYXJ0aXRpb25fam9pbi5vdXQKaW5kZXggYmI1YjdjNDdhNC4uMWNjN2Y4MDhj ZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fam9pbi5v dXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fam9pbi5vdXQKQEAg LTQ1OSw2ICs0NTksMTkgQEAgU0VMRUNUIHQxLmEsIHNzLnQyYSwgc3MudDJjIEZST00gcHJ0MSB0 MSBMRUZUIEpPSU4gTEFURVJBTAogIDU1MCB8ICAgICB8IAogKDEyIHJvd3MpCiAKKy0tIGpvaW4g cHJ1bmluZworQ1JFQVRFIFVOSVFVRSBJTkRFWCBwcnQxX3AxX2FfaWR4IE9OIHBydDEgKGEpOwor RVhQTEFJTiAoQ09TVFMgT0ZGKQorU0VMRUNUIHQxLmEgRlJPTSBwcnQxIHQxIExFRlQgSk9JTiBw cnQxIFVTSU5HIChhKTsKKyAgICAgICAgICAgUVVFUlkgUExBTiAgICAgICAgICAgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEFwcGVuZAorICAgLT4gIFNlcSBTY2FuIG9uIHBy dDFfcDEgdDFfMQorICAgLT4gIFNlcSBTY2FuIG9uIHBydDFfcDIgdDFfMgorICAgLT4gIFNlcSBT Y2FuIG9uIHBydDFfcDMgdDFfMworKDQgcm93cykKKworRFJPUCBJTkRFWCBwcnQxX3AxX2FfaWR4 OwogLS0gYnVnIHdpdGggaW5hZGVxdWF0ZSBzb3J0IGtleSByZXByZXNlbnRhdGlvbgogU0VUIGVu YWJsZV9wYXJ0aXRpb253aXNlX2FnZ3JlZ2F0ZSBUTyB0cnVlOwogU0VUIGVuYWJsZV9oYXNoam9p biBUTyBmYWxzZTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9q b2luLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9qb2luLnNxbAppbmRleCA2 N2Y1MDYzNjFmLi41ZjcwZDVkODUxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9w YXJ0aXRpb25fam9pbi5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX2pv aW4uc3FsCkBAIC05MCw2ICs5MCwxMyBAQCBTRUxFQ1QgdDEuYSwgc3MudDJhLCBzcy50MmMgRlJP TSBwcnQxIHQxIExFRlQgSk9JTiBMQVRFUkFMCiBTRUxFQ1QgdDEuYSwgc3MudDJhLCBzcy50MmMg RlJPTSBwcnQxIHQxIExFRlQgSk9JTiBMQVRFUkFMCiAJCQkgIChTRUxFQ1QgdDIuYSBBUyB0MmEs IHQzLmEgQVMgdDNhLCB0Mi5iIHQyYiwgdDIuYyB0MmMsIGxlYXN0KHQxLmEsdDIuYSx0My5hKSBG Uk9NIHBydDEgdDIgSk9JTiBwcnQyIHQzIE9OICh0Mi5hID0gdDMuYikpIHNzCiAJCQkgIE9OIHQx LmMgPSBzcy50MmMgV0hFUkUgKHQxLmIgKyBjb2FsZXNjZShzcy50MmIsIDApKSA9IDAgT1JERVIg QlkgdDEuYTsKKy0tIGpvaW4gcHJ1bmluZworQ1JFQVRFIFVOSVFVRSBJTkRFWCBwcnQxX3AxX2Ff aWR4IE9OIHBydDEgKGEpOworCitFWFBMQUlOIChDT1NUUyBPRkYpCitTRUxFQ1QgdDEuYSBGUk9N IHBydDEgdDEgTEVGVCBKT0lOIHBydDEgVVNJTkcgKGEpOworCitEUk9QIElOREVYIHBydDFfcDFf YV9pZHg7CiAKIC0tIGJ1ZyB3aXRoIGluYWRlcXVhdGUgc29ydCBrZXkgcmVwcmVzZW50YXRpb24K IFNFVCBlbmFibGVfcGFydGl0aW9ud2lzZV9hZ2dyZWdhdGUgVE8gdHJ1ZTsK --_004_405b11a5a0504b76b997e312e543a69bindexde_--