From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by sourceware.org (Postfix) with ESMTPS id 0A5B13858D20; Sat, 4 Mar 2023 16:06:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0A5B13858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1677945984; i=anlauf@gmx.de; bh=xNkejpoUCsHcVP4RwcQQxaUJa6PRHLmgCBaghkBuXmA=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From:In-Reply-To; b=fcsX+1A1raoEx4PuiWd234lJUsoqSBj+mtAvr+GNmQ6hxCeVl/Gfqn5d8gFyFxyrX DBidle2VVz962T4EbCQ7bO/6bT7Fcdr/xRmKob1YtTrbO9t9QC4DD5ZrON+UG5FnEG yNo2dMxE6CQlqjDjTDIyeHHJD1YlsJxiS1a7hH8Qm4eGyMQuViLLaFfs0J+cJ/qpRM +z00089vQWaXESmB+A3jWVvtMIUSvRkUrbOH0+HuhIFA9dlOHa+VPHhIkHrPAG3s8t MAAkdSjVxZWgSDPuoHpt1KR2jjO5hyKX5FPwH87YwjGrtYzrJroCSrbzbfJP906MRi 2cKPFZcL4t28w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.178.29] ([79.232.156.142]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M9Wuk-1pe0Al3jxk-005Yr6; Sat, 04 Mar 2023 17:06:24 +0100 Content-Type: multipart/mixed; boundary="------------jhPFbHwx33npQpd5Go3HWYVv" Message-ID: Date: Sat, 4 Mar 2023 17:06:22 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH, v2] Fortran: fix CLASS attribute handling [PR106856] Content-Language: en-US To: Mikael Morin , sgk@troutmask.apl.washington.edu, Harald Anlauf via Fortran Cc: gcc-patches , tobias@codesourcery.com Newsgroups: gmane.comp.gcc.patches,gmane.comp.gcc.fortran References: <5b42f0b7-e217-555d-b1f2-4b623f3ae150@orange.fr> <5f1e8202-303e-5da2-c42b-8eab00a12a97@orange.fr> <48caf060-4349-b077-24da-8bf53ed4b650@gmx.de> From: Harald Anlauf In-Reply-To: <48caf060-4349-b077-24da-8bf53ed4b650@gmx.de> X-Provags-ID: V03:K1:KuOKQG8izkItEYkMrMO7UsNe8BOEonju56aY71/629WjQBBgnjJ eu0KU5fb2eXgP4c+436+0eUr/orUwjihbnAqdQMOkBg5LwLqDmuRdUbdxI7s+yiqmB93BOn JA+UbTz5qRkNP3mvS49/GiEgFGpbAQ6uWP4/Aoab756sWt5Pkb5HSpUjiisFHWehVusWpx+ rl0vZgJVCN4pdRK2pWvlQ== UI-OutboundReport: notjunk:1;M01:P0:l80iFofSm7Q=;aER0NkoxKe/ubNvH/z1a26iikHg slBp/s/hsTRYgYQaC+lpdkzMIExbTF2pssPQxTl82tWghDAWFydjXxMu2eDZI5uRzcOcoe/HT YE9olORa/7zkGcpj0JbRwJLtMBvhQXaTuFP6BvCW+5eZ+mx1xykjvv+pG2Vli7wDr1gCI+4xq qGDZzuhjGnUpcGw9y3nSkqxHQseWyxfDJrCODee6xG5OylR41UtCkyJsufiw6gKpTslw7ABq4 Qg560wa/TK73zrP+gQwDP9/fQgEuSDmfekstcjIw30OcyAU/IdpbbFyUfm+xbbeiB5bRZ4mM0 Jdohmqf2FxBNeFeklFCxu1gtC6hwcp9ajLv9Yz+Pn/Kn8HUWhNm5jYvc1ETBeJubbcxdKoN1I JPhHVWLrm1+axnkVNPEM8z5l3JLntSaH+6boLhizJQ1okokUT8qWnSHGIQeItBe213yFmqbX3 GgBvC2UQoE5akwcKckgWGbSGCf/cBjfBVb2NbPmsj1KZI4uX+wr0yS8isx9cQsmmqC1SYF3kp wbGc9StUXMijc6dRt1nB+l+mUzKNQ8nbriMpz/pU0RKTMl8J79d9nZjIlg9dyKDwN5Xj1yvEV ZVI3Icpi3WXYcCGZlv2wtTTSDsUlLkdwPRfikaq9/BlVom7W/jb13muxCXh1WpUOqUbRGhrTr yrJYPLE6Mg3Z01wcqYDbZtO7rMRs7qRj1nkC2uf+9MeWIVD7uJWOKOld+Us1DfBKe2aHuUX1Z jw752s0pls0BVTUKJfll3IKLvmrF3g1K4fYdvBRMtk5k+eL+2QEuQjPF2rlugDsCp3e77ACi9 qJNC3bDgKcSU0XXTHN7rQ2u9ZaTROkEKWi/GV0kVmfMWCOUhXEpF7/t7YhhS+nKObS6C9F/Pw utcd0X3Kqpr7dr0U6zV/9iyRlX1AxTMrsQVFVNabqWTXROD5CMZ7M1EbYmvz93cgicZbTXsmg xEW0RMkf11PAtXykwaSscy6uDdI= X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. --------------jhPFbHwx33npQpd5Go3HWYVv Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Sorry, attached the wrong patch. Here's the correct one. Harald Am 04.03.23 um 17:02 schrieb Harald Anlauf via Gcc-patches: > The attached revised version uses the above proven changes, > and extends the new testcase class_74.f90 by variations of > the failures remaining with version 1 so that different > codepaths are tested. > > Regtested again on x86_64-pc-linux-gnu. > > Any further comments? > > Thanks for your very helpful review! > > Harald --------------jhPFbHwx33npQpd5Go3HWYVv Content-Type: text/x-patch; charset=UTF-8; name="pr106856-v2.diff" Content-Disposition: attachment; filename="pr106856-v2.diff" Content-Transfer-Encoding: base64 RnJvbSAwYjdlOWVhOWM4M2NhNmQ2YzBhYWU2MzhiZTA5ZmJjYjhlNDJjNjgyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYXJhbGQgQW5sYXVmIDxhbmxhdWZAZ214LmRlPgpE YXRlOiBUaHUsIDIgTWFyIDIwMjMgMjI6Mzc6MTQgKzAxMDAKU3ViamVjdDogW1BBVENIXSBG b3J0cmFuOiBmaXggQ0xBU1MgYXR0cmlidXRlIGhhbmRsaW5nIFtQUjEwNjg1Nl0KCmdjYy9m b3J0cmFuL0NoYW5nZUxvZzoKCglQUiBmb3J0cmFuLzEwNjg1NgoJKiBjbGFzcy5jYyAoZ2Zj X2J1aWxkX2NsYXNzX3N5bWJvbCk6IEhhbmRsZSB1cGRhdGUgb2YgYXR0cmlidXRlcyBvZgoJ ZXhpc3RpbmcgY2xhc3MgY29udGFpbmVyLgoJKGdmY19maW5kX2Rlcml2ZWRfdnRhYik6IEZp eCBzZXZlcmFsIG1lbW9yeSBsZWFrcy4KCShmaW5kX2ludHJpbnNpY192dGFiKTogRGl0dG8u CgkqIGRlY2wuY2MgKGF0dHJfZGVjbDEpOiBNYW5hZ2UgdXBkYXRlIG9mIHN5bWJvbCBhdHRy aWJ1dGVzIGZyb20KCUNMQVNTIGF0dHJpYnV0ZXMuCgkqIHByaW1hcnkuY2MgKGdmY192YXJp YWJsZV9hdHRyKTogT1BUSU9OQUwgc2hhbGwgbm90IGJlIHRha2VuIG9yCgl1cGRhdGVkIGZy b20gdGhlIGNsYXNzIGNvbnRhaW5lci4KCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgoKCVBS IGZvcnRyYW4vMTA2ODU2CgkqIGdmb3J0cmFuLmRnL2ludGVyZmFjZV80MS5mOTA6IFJlbW92 ZSBkZy1wYXR0ZXJuIGZyb20gdmFsaWQgdGVzdGNhc2UuCgkqIGdmb3J0cmFuLmRnL2NsYXNz Xzc0LmY5MDogTmV3IHRlc3QuCgkqIGdmb3J0cmFuLmRnL2NsYXNzXzc1LmY5MDogTmV3IHRl c3QuCgpDby1hdXRob3JlZC1ieTogVG9iaWFzIEJ1cm51cyAgPHRvYmlhc0Bjb2Rlc291cmNl cnkuY29tPgotLS0KIGdjYy9mb3J0cmFuL2NsYXNzLmNjICAgICAgICAgICAgICAgICAgICAg ICB8ICAyNSArKystCiBnY2MvZm9ydHJhbi9kZWNsLmNjICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNjAgKysrKystLS0tLQogZ2NjL2ZvcnRyYW4vcHJpbWFyeS5jYyAgICAgICAgICAg ICAgICAgICAgIHwgICAxIC0KIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvY2xhc3NfNzQu ZjkwICAgICB8IDEzMCArKysrKysrKysrKysrKysrKysrKysKIGdjYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvY2xhc3NfNzUuZjkwICAgICB8ICAyNCArKysrCiBnY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2ludGVyZmFjZV80MS5mOTAgfCAgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwg MjA3IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvY2xhc3NfNzQuZjkwCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9jbGFzc183NS5mOTAKCmRpZmYgLS1n aXQgYS9nY2MvZm9ydHJhbi9jbGFzcy5jYyBiL2djYy9mb3J0cmFuL2NsYXNzLmNjCmluZGV4 IGFlNjUzZTc0NDM3Li41MjIzNWFiODNlMyAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vY2xh c3MuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vY2xhc3MuY2MKQEAgLTYzOCw2ICs2MzgsNyBAQCBn ZmNfYnVpbGRfY2xhc3Nfc3ltYm9sIChnZmNfdHlwZXNwZWMgKnRzLCBzeW1ib2xfYXR0cmli dXRlICphdHRyLAogewogICBjaGFyIHRuYW1lW0dGQ19NQVhfU1lNQk9MX0xFTisxXTsKICAg Y2hhciAqbmFtZTsKKyAgZ2ZjX3R5cGVzcGVjICpvcmlnX3RzID0gdHM7CiAgIGdmY19zeW1i b2wgKmZjbGFzczsKICAgZ2ZjX3N5bWJvbCAqdnRhYjsKICAgZ2ZjX2NvbXBvbmVudCAqYzsK QEAgLTY0Niw5ICs2NDcsMjEgQEAgZ2ZjX2J1aWxkX2NsYXNzX3N5bWJvbCAoZ2ZjX3R5cGVz cGVjICp0cywgc3ltYm9sX2F0dHJpYnV0ZSAqYXR0ciwKIAogICBnY2NfYXNzZXJ0IChhcyk7 CiAKLSAgaWYgKGF0dHItPmNsYXNzX29rKQotICAgIC8qIENsYXNzIGNvbnRhaW5lciBoYXMg YWxyZWFkeSBiZWVuIGJ1aWx0LiAgKi8KKyAgLyogQ2xhc3MgY29udGFpbmVyIGhhcyBhbHJl YWR5IGJlZW4gYnVpbHQgd2l0aCBzYW1lIG5hbWUuICAqLworICBpZiAoYXR0ci0+Y2xhc3Nf b2sKKyAgICAgICYmIHRzLT51LmRlcml2ZWQtPmNvbXBvbmVudHMtPmF0dHIuZGltZW5zaW9u ID49IGF0dHItPmRpbWVuc2lvbgorICAgICAgJiYgdHMtPnUuZGVyaXZlZC0+Y29tcG9uZW50 cy0+YXR0ci5jb2RpbWVuc2lvbiA+PSBhdHRyLT5jb2RpbWVuc2lvbgorICAgICAgJiYgdHMt PnUuZGVyaXZlZC0+Y29tcG9uZW50cy0+YXR0ci5jbGFzc19wb2ludGVyID49IGF0dHItPnBv aW50ZXIKKyAgICAgICYmIHRzLT51LmRlcml2ZWQtPmNvbXBvbmVudHMtPmF0dHIuYWxsb2Nh dGFibGUgPj0gYXR0ci0+YWxsb2NhdGFibGUpCiAgICAgcmV0dXJuIHRydWU7CisgIGlmIChh dHRyLT5jbGFzc19vaykKKyAgICB7CisgICAgICBhdHRyLT5kaW1lbnNpb24gfD0gdHMtPnUu ZGVyaXZlZC0+Y29tcG9uZW50cy0+YXR0ci5kaW1lbnNpb247CisgICAgICBhdHRyLT5jb2Rp bWVuc2lvbiB8PSB0cy0+dS5kZXJpdmVkLT5jb21wb25lbnRzLT5hdHRyLmNvZGltZW5zaW9u OworICAgICAgYXR0ci0+cG9pbnRlciB8PSB0cy0+dS5kZXJpdmVkLT5jb21wb25lbnRzLT5h dHRyLmNsYXNzX3BvaW50ZXI7CisgICAgICBhdHRyLT5hbGxvY2F0YWJsZSB8PSB0cy0+dS5k ZXJpdmVkLT5jb21wb25lbnRzLT5hdHRyLmFsbG9jYXRhYmxlOworICAgICAgdHMgPSAmdHMt PnUuZGVyaXZlZC0+Y29tcG9uZW50cy0+dHM7CisgICAgfQogCiAgIGF0dHItPmNsYXNzX29r ID0gYXR0ci0+ZHVtbXkgfHwgYXR0ci0+cG9pbnRlciB8fCBhdHRyLT5hbGxvY2F0YWJsZQog CQkgICB8fCBhdHRyLT5zZWxlY3RfdHlwZV90ZW1wb3JhcnkgfHwgYXR0ci0+YXNzb2NpYXRl X3ZhcjsKQEAgLTc5MCw3ICs4MDMsNyBAQCBnZmNfYnVpbGRfY2xhc3Nfc3ltYm9sIChnZmNf dHlwZXNwZWMgKnRzLCBzeW1ib2xfYXR0cmlidXRlICphdHRyLAogICAgIH0KIAogICBmY2xh c3MtPmF0dHIuaXNfY2xhc3MgPSAxOwotICB0cy0+dS5kZXJpdmVkID0gZmNsYXNzOworICBv cmlnX3RzLT51LmRlcml2ZWQgPSBmY2xhc3M7CiAgIGF0dHItPmFsbG9jYXRhYmxlID0gYXR0 ci0+cG9pbnRlciA9IGF0dHItPmRpbWVuc2lvbiA9IGF0dHItPmNvZGltZW5zaW9uID0gMDsK ICAgKCphcykgPSBOVUxMOwogICBmcmVlIChuYW1lKTsKQEAgLTIzNDQsNiArMjM1Nyw3IEBA IGdmY19maW5kX2Rlcml2ZWRfdnRhYiAoZ2ZjX3N5bWJvbCAqZGVyaXZlZCkKIAkgIHZ0YWIt PmF0dHIudnRhYiA9IDE7CiAJICB2dGFiLT5hdHRyLmFjY2VzcyA9IEFDQ0VTU19QVUJMSUM7 CiAJICBnZmNfc2V0X3N5bV9yZWZlcmVuY2VkICh2dGFiKTsKKwkgIGZyZWUgKG5hbWUpOwog CSAgbmFtZSA9IHhhc3ByaW50ZiAoIl9fdnR5cGVfJXMiLCB0bmFtZSk7CiAKIAkgIGdmY19m aW5kX3N5bWJvbCAobmFtZSwgbnMsIDAsICZ2dHlwZSk7CkBAIC0yNDQ3LDYgKzI0NjEsNyBA QCBnZmNfZmluZF9kZXJpdmVkX3Z0YWIgKGdmY19zeW1ib2wgKmRlcml2ZWQpCiAJICAgICAg ZWxzZQogCQl7CiAJCSAgLyogQ29uc3RydWN0IGRlZmF1bHQgaW5pdGlhbGl6YXRpb24gdmFy aWFibGUuICAqLworCQkgIGZyZWUgKG5hbWUpOwogCQkgIG5hbWUgPSB4YXNwcmludGYgKCJf X2RlZl9pbml0XyVzIiwgdG5hbWUpOwogCQkgIGdmY19nZXRfc3ltYm9sIChuYW1lLCBucywg JmRlZl9pbml0KTsKIAkJICBkZWZfaW5pdC0+YXR0ci50YXJnZXQgPSAxOwpAQCAtMjQ4MCw2 ICsyNDk1LDcgQEAgZ2ZjX2ZpbmRfZGVyaXZlZF92dGFiIChnZmNfc3ltYm9sICpkZXJpdmVk KQogCQkgIG5zLT5jb250YWluZWQgPSBzdWJfbnM7CiAJCSAgc3ViX25zLT5yZXNvbHZlZCA9 IDE7CiAJCSAgLyogU2V0IHVwIHByb2NlZHVyZSBzeW1ib2wuICAqLworCQkgIGZyZWUgKG5h bWUpOwogCQkgIG5hbWUgPSB4YXNwcmludGYgKCJfX2NvcHlfJXMiLCB0bmFtZSk7CiAJCSAg Z2ZjX2dldF9zeW1ib2wgKG5hbWUsIHN1Yl9ucywgJmNvcHkpOwogCQkgIHN1Yl9ucy0+cHJv Y19uYW1lID0gY29weTsKQEAgLTI1NTgsNiArMjU3NCw3IEBAIGdmY19maW5kX2Rlcml2ZWRf dnRhYiAoZ2ZjX3N5bWJvbCAqZGVyaXZlZCkKIAkJICBucy0+Y29udGFpbmVkID0gc3ViX25z OwogCQkgIHN1Yl9ucy0+cmVzb2x2ZWQgPSAxOwogCQkgIC8qIFNldCB1cCBwcm9jZWR1cmUg c3ltYm9sLiAgKi8KKwkJICBmcmVlIChuYW1lKTsKIAkJICBuYW1lID0geGFzcHJpbnRmICgi X19kZWFsbG9jYXRlXyVzIiwgdG5hbWUpOwogCQkgIGdmY19nZXRfc3ltYm9sIChuYW1lLCBz dWJfbnMsICZkZWFsbG9jKTsKIAkJICBzdWJfbnMtPnByb2NfbmFtZSA9IGRlYWxsb2M7CkBA IC0yNzIzLDYgKzI3NDAsNyBAQCBmaW5kX2ludHJpbnNpY192dGFiIChnZmNfdHlwZXNwZWMg KnRzKQogCSAgdnRhYi0+YXR0ci52dGFiID0gMTsKIAkgIHZ0YWItPmF0dHIuYWNjZXNzID0g QUNDRVNTX1BVQkxJQzsKIAkgIGdmY19zZXRfc3ltX3JlZmVyZW5jZWQgKHZ0YWIpOworCSAg ZnJlZSAobmFtZSk7CiAJICBuYW1lID0geGFzcHJpbnRmICgiX192dHlwZV8lcyIsIHRuYW1l KTsKIAogCSAgZ2ZjX2ZpbmRfc3ltYm9sIChuYW1lLCBucywgMCwgJnZ0eXBlKTsKQEAgLTI4 MDEsNiArMjgxOSw3IEBAIGZpbmRfaW50cmluc2ljX3Z0YWIgKGdmY190eXBlc3BlYyAqdHMp CiAJICAgICAgYy0+dGIgPSBYQ05FVyAoZ2ZjX3R5cGVib3VuZF9wcm9jKTsKIAkgICAgICBj LT50Yi0+cHBjID0gMTsKIAorCSAgICAgIGZyZWUgKG5hbWUpOwogCSAgICAgIGlmICh0cy0+ dHlwZSAhPSBCVF9DSEFSQUNURVIpCiAJCW5hbWUgPSB4YXNwcmludGYgKCJfX2NvcHlfJXMi LCB0bmFtZSk7CiAJICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vZGVjbC5j YyBiL2djYy9mb3J0cmFuL2RlY2wuY2MKaW5kZXggZWVjMDMxNGNmNGMuLmE2NWM2ZGNiOTk0 IDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi9kZWNsLmNjCisrKyBiL2djYy9mb3J0cmFuL2Rl Y2wuY2MKQEAgLTg3NDAsNDUgKzg3NDAsMjMgQEAgYXR0cl9kZWNsMSAodm9pZCkKIAl9CiAg ICAgfQogCi0gIC8qIFVwZGF0ZSBzeW1ib2wgdGFibGUuICBESU1FTlNJT04gYXR0cmlidXRl IGlzIHNldCBpbgotICAgICBnZmNfc2V0X2FycmF5X3NwZWMoKS4gIEZvciBDTEFTUyB2YXJp YWJsZXMsIHRoaXMgbXVzdCBiZSBhcHBsaWVkCi0gICAgIHRvIHRoZSBmaXJzdCBjb21wb25l bnQsIG9yICdfZGF0YScgZmllbGQuICAqLwogICBpZiAoc3ltLT50cy50eXBlID09IEJUX0NM QVNTCiAgICAgICAmJiBzeW0tPnRzLnUuZGVyaXZlZAogICAgICAgJiYgc3ltLT50cy51LmRl cml2ZWQtPmF0dHIuaXNfY2xhc3MpCiAgICAgewotICAgICAgLyogZ2ZjX3NldF9hcnJheV9z cGVjIHNldHMgc3ltLT5hdHRyIG5vdCBDTEFTU19EQVRBKHN5bSktPmF0dHIuICBDaGVjawot CSBmb3IgZHVwbGljYXRlIGF0dHJpYnV0ZSBoZXJlLiAgKi8KLSAgICAgIGlmIChDTEFTU19E QVRBKHN5bSktPmF0dHIuZGltZW5zaW9uID09IDEgJiYgYXMpCi0JewotCSAgZ2ZjX2Vycm9y ICgiRHVwbGljYXRlIERJTUVOU0lPTiBhdHRyaWJ1dGUgYXQgJUMiKTsKLQkgIG0gPSBNQVRD SF9FUlJPUjsKLQkgIGdvdG8gY2xlYW51cDsKLQl9Ci0KLSAgICAgIGlmICghZ2ZjX2NvcHlf YXR0ciAoJkNMQVNTX0RBVEEoc3ltKS0+YXR0ciwgJmN1cnJlbnRfYXR0ciwgJnZhcl9sb2N1 cykpCi0JewotCSAgbSA9IE1BVENIX0VSUk9SOwotCSAgZ290byBjbGVhbnVwOwotCX0KKyAg ICAgIHN5bS0+YXR0ci5wb2ludGVyID0gQ0xBU1NfREFUQShzeW0pLT5hdHRyLmNsYXNzX3Bv aW50ZXI7CisgICAgICBzeW0tPmF0dHIuYWxsb2NhdGFibGUgPSBDTEFTU19EQVRBKHN5bSkt PmF0dHIuYWxsb2NhdGFibGU7CisgICAgICBzeW0tPmF0dHIuZGltZW5zaW9uID0gQ0xBU1Nf REFUQShzeW0pLT5hdHRyLmRpbWVuc2lvbjsKKyAgICAgIHN5bS0+YXR0ci5jb2RpbWVuc2lv biA9IENMQVNTX0RBVEEoc3ltKS0+YXR0ci5jb2RpbWVuc2lvbjsKKyAgICAgIGlmIChDTEFT U19EQVRBIChzeW0pLT5hcykKKwlzeW0tPmFzID0gZ2ZjX2NvcHlfYXJyYXlfc3BlYyAoQ0xB U1NfREFUQSAoc3ltKS0+YXMpOwogICAgIH0KLSAgZWxzZQotICAgIHsKLSAgICAgIGlmIChj dXJyZW50X2F0dHIuZGltZW5zaW9uID09IDAgJiYgY3VycmVudF9hdHRyLmNvZGltZW5zaW9u ID09IDAKLQkgICYmICFnZmNfY29weV9hdHRyICgmc3ltLT5hdHRyLCAmY3VycmVudF9hdHRy LCAmdmFyX2xvY3VzKSkKLQl7Ci0JICBtID0gTUFUQ0hfRVJST1I7Ci0JICBnb3RvIGNsZWFu dXA7Ci0JfQotICAgIH0KLQotICBpZiAoc3ltLT50cy50eXBlID09IEJUX0NMQVNTCi0gICAg ICAmJiAhZ2ZjX2J1aWxkX2NsYXNzX3N5bWJvbCAoJnN5bS0+dHMsICZzeW0tPmF0dHIsICZz eW0tPmFzKSkKKyAgaWYgKGN1cnJlbnRfYXR0ci5kaW1lbnNpb24gPT0gMCAmJiBjdXJyZW50 X2F0dHIuY29kaW1lbnNpb24gPT0gMAorICAgICAgJiYgIWdmY19jb3B5X2F0dHIgKCZzeW0t PmF0dHIsICZjdXJyZW50X2F0dHIsICZ2YXJfbG9jdXMpKQogICAgIHsKICAgICAgIG0gPSBN QVRDSF9FUlJPUjsKICAgICAgIGdvdG8gY2xlYW51cDsKICAgICB9Ci0KICAgaWYgKCFnZmNf c2V0X2FycmF5X3NwZWMgKHN5bSwgYXMsICZ2YXJfbG9jdXMpKQogICAgIHsKICAgICAgIG0g PSBNQVRDSF9FUlJPUjsKQEAgLTg4MDcsNiArODc4NSwyOCBAQCBhdHRyX2RlY2wxICh2b2lk KQogICAgICAgZ290byBjbGVhbnVwOwogICAgIH0KIAorICBpZiAoc3ltLT50cy50eXBlID09 IEJUX0NMQVNTICYmIHN5bS0+dHMudS5kZXJpdmVkLT5hdHRyLmlzX2NsYXNzCisgICAgICAm JiAhYXMgJiYgIWN1cnJlbnRfYXR0ci5wb2ludGVyICYmICFjdXJyZW50X2F0dHIuYWxsb2Nh dGFibGUKKyAgICAgICYmICFjdXJyZW50X2F0dHIuZXh0ZXJuYWwpCisgICAgeworICAgICAg c3ltLT5hdHRyLnBvaW50ZXIgPSAwOworICAgICAgc3ltLT5hdHRyLmFsbG9jYXRhYmxlID0g MDsKKyAgICAgIHN5bS0+YXR0ci5kaW1lbnNpb24gPSAwOworICAgICAgc3ltLT5hdHRyLmNv ZGltZW5zaW9uID0gMDsKKyAgICAgIGdmY19mcmVlX2FycmF5X3NwZWMgKHN5bS0+YXMpOwor ICAgICAgc3ltLT5hcyA9IE5VTEw7CisgICAgfQorICBlbHNlIGlmIChzeW0tPnRzLnR5cGUg PT0gQlRfQ0xBU1MKKyAgICAgICYmICFnZmNfYnVpbGRfY2xhc3Nfc3ltYm9sICgmc3ltLT50 cywgJnN5bS0+YXR0ciwgJnN5bS0+YXMpKQorICAgIHsKKyAgICAgIG0gPSBNQVRDSF9FUlJP UjsKKyAgICAgIGdvdG8gY2xlYW51cDsKKyAgICB9CisgIGVsc2UgaWYgKHN5bS0+dHMudHlw ZSA9PSBCVF9DTEFTUworCSAgICYmIHN5bS0+dHMudS5kZXJpdmVkLT5hdHRyLmlzX2NsYXNz CisJICAgJiYgc3ltLT5vbGRfc3ltYm9sICYmIHN5bS0+b2xkX3N5bWJvbC0+YXMgPT0gQ0xB U1NfREFUQSAoc3ltKS0+YXMpCisgICAgc3ltLT5vbGRfc3ltYm9sLT5hcyA9IE5VTEw7CisK ICAgYWRkX2hpZGRlbl9wcm9jcHRyX3Jlc3VsdCAoc3ltKTsKIAogICByZXR1cm4gTUFUQ0hf WUVTOwpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vcHJpbWFyeS5jYyBiL2djYy9mb3J0cmFu L3ByaW1hcnkuY2MKaW5kZXggMWJlYTE3ZDQ0ZmUuLjAwZDM1YTcxNzcwIDEwMDY0NAotLS0g YS9nY2MvZm9ydHJhbi9wcmltYXJ5LmNjCisrKyBiL2djYy9mb3J0cmFuL3ByaW1hcnkuY2MK QEAgLTI2NDAsNyArMjY0MCw2IEBAIGdmY192YXJpYWJsZV9hdHRyIChnZmNfZXhwciAqZXhw ciwgZ2ZjX3R5cGVzcGVjICp0cykKICAgICAgIGNvZGltZW5zaW9uID0gQ0xBU1NfREFUQSAo c3ltKS0+YXR0ci5jb2RpbWVuc2lvbjsKICAgICAgIHBvaW50ZXIgPSBDTEFTU19EQVRBIChz eW0pLT5hdHRyLmNsYXNzX3BvaW50ZXI7CiAgICAgICBhbGxvY2F0YWJsZSA9IENMQVNTX0RB VEEgKHN5bSktPmF0dHIuYWxsb2NhdGFibGU7Ci0gICAgICBvcHRpb25hbCB8PSBDTEFTU19E QVRBIChzeW0pLT5hdHRyLm9wdGlvbmFsOwogICAgIH0KICAgZWxzZQogICAgIHsKZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvY2xhc3NfNzQuZjkwIGIvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9jbGFzc183NC5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLmEyMmEzZDlmNzM5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9jbGFzc183NC5mOTAKQEAgLTAsMCArMSwxMzAgQEAK KyEgeyBkZy1kbyBjb21waWxlIH0KKyEgeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mY29h cnJheT1zaW5nbGUiIH0KKyEKKyEgUFIgZm9ydHJhbi8xMDY4NTYKKyEKKyEgQ29udHJpYnV0 ZWQgYnkgRy4gU3RlaW5tZXR6IAorIQorc3Vicm91dGluZSBmb28KKyAgaW50ZXJmYWNlCisg ICAgc3Vicm91dGluZSBiYXIoeCkKKyAgICAgIHR5cGUoKikgOjogeAorICAgIGVuZCBzdWJy b3V0aW5lIGJhcgorICBlbmQgaW50ZXJmYWNlCisgIGNsYXNzKCopIDo6IHgsIHkKKyAgYWxs b2NhdGFibGUgOjogeAorICBkaW1lbnNpb24gOjogeCg6KSwgeSg6LDopCisgIGNvZGltZW5z aW9uIDo6IHhbOl0KKyAgcG9pbnRlciA6OiB5CisgIHkgPT4gbnVsbCgpCisgIGlmIChhbGxv Y2F0ZWQoeCkpIHRoZW4KKyAgICBjYWxsIGJhcih4KDIpWzFdKQorICBlbmQgaWYKKyAgaWYg KGFzc29jaWF0ZWQoeSkpIHRoZW4KKyAgICBjYWxsIGJhcih5KDIsMikpCisgIGVuZCBpZgor ZW5kIHN1YnJvdXRpbmUgZm9vCisKKworcHJvZ3JhbSBwCisgIGNsYXNzKCopLCBhbGxvY2F0 YWJsZSA6OiB4LCB5CisgIHkgPSAnYWJjJworICBjYWxsIHMxKHgsIHkpCitjb250YWlucwor ICBzdWJyb3V0aW5lIHMxKHgsIHkpCisgICAgY2xhc3MoKikgOjogeCwgeQorICBlbmQKKyAg c3Vicm91dGluZSBzMih4LCB5KQorICAgIGNsYXNzKCopLCBhbGxvY2F0YWJsZSA6OiB4LCB5 CisgICAgb3B0aW9uYWwgOjogeAorICBlbmQKK2VuZAorCisKK3N1YnJvdXRpbmUgczEgKHgp CisgIGNsYXNzKCopICAgIDo6IHgKKyAgYWxsb2NhdGFibGUgOjogeAorICBkaW1lbnNpb24g ICA6OiB4KDopCisgIGlmIChhbGxvY2F0ZWQgKHgpKSBwcmludCAqLCBzaXplICh4KQorZW5k CisKK3N1YnJvdXRpbmUgczIgKHgpCisgIGNsYXNzKCopICAgIDo6IHgKKyAgYWxsb2NhdGFi bGUgOjogeCg6KQorICBpZiAoYWxsb2NhdGVkICh4KSkgcHJpbnQgKiwgc2l6ZSAoeCkKK2Vu ZAorCitzdWJyb3V0aW5lIHMzICh4KQorICBjbGFzcygqKSAgICA6OiB4KDopCisgIGFsbG9j YXRhYmxlIDo6IHgKKyAgaWYgKGFsbG9jYXRlZCAoeCkpIHByaW50ICosIHNpemUgKHgpCitl bmQKKworc3Vicm91dGluZSBzNCAoeCkKKyAgY2xhc3MoKikgICAgOjogeAorICBkaW1lbnNp b24gICA6OiB4KDopCisgIGFsbG9jYXRhYmxlIDo6IHgKKyAgaWYgKGFsbG9jYXRlZCAoeCkp IHByaW50ICosIHNpemUgKHgpCitlbmQKKworCitzdWJyb3V0aW5lIGMwICh4KQorICBjbGFz cygqKSAgICA6OiB4CisgIGFsbG9jYXRhYmxlIDo6IHgKKyAgY29kaW1lbnNpb24gOjogeFs6 XQorICBkaW1lbnNpb24gICA6OiB4KDopCisgIGlmIChhbGxvY2F0ZWQgKHgpKSBwcmludCAq LCBzaXplICh4KQorZW5kCisKK3N1YnJvdXRpbmUgYzEgKHgpCisgIGNsYXNzKCopICAgIDo6 IHgoOikKKyAgYWxsb2NhdGFibGUgOjogeFs6XQorICBpZiAoYWxsb2NhdGVkICh4KSkgcHJp bnQgKiwgc2l6ZSAoeCkKK2VuZAorCitzdWJyb3V0aW5lIGMyICh4KQorICBjbGFzcygqKSAg ICA6OiB4WzpdCisgIGFsbG9jYXRhYmxlIDo6IHgoOikKKyAgaWYgKGFsbG9jYXRlZCAoeCkp IHByaW50ICosIHNpemUgKHgpCitlbmQKKworc3Vicm91dGluZSBjMyAoeCkKKyAgY2xhc3Mo KikgICAgOjogeCg6KVs6XQorICBhbGxvY2F0YWJsZSA6OiB4CisgIGlmIChhbGxvY2F0ZWQg KHgpKSBwcmludCAqLCBzaXplICh4KQorZW5kCisKK3N1YnJvdXRpbmUgYzQgKHgpCisgIGNs YXNzKCopICAgIDo6IHgKKyAgZGltZW5zaW9uICAgOjogeCg6KQorICBjb2RpbWVuc2lvbiA6 OiB4WzpdCisgIGFsbG9jYXRhYmxlIDo6IHgKKyAgaWYgKGFsbG9jYXRlZCAoeCkpIHByaW50 ICosIHNpemUgKHgpCitlbmQKKworCitzdWJyb3V0aW5lIHAxICh4KQorICBjbGFzcygqKSAg ICA6OiB4CisgIHBvaW50ZXIgICAgIDo6IHgKKyAgZGltZW5zaW9uICAgOjogeCg6KQorICBp ZiAoYXNzb2NpYXRlZCAoeCkpIHByaW50ICosIHNpemUgKHgpCitlbmQKKworc3Vicm91dGlu ZSBwMiAoeCkKKyAgY2xhc3MoKikgICAgOjogeAorICBwb2ludGVyICAgICA6OiB4KDopCisg IGlmIChhc3NvY2lhdGVkICh4KSkgcHJpbnQgKiwgc2l6ZSAoeCkKK2VuZAorCitzdWJyb3V0 aW5lIHAzICh4KQorICBjbGFzcygqKSAgICA6OiB4KDopCisgIHBvaW50ZXIgICAgIDo6IHgK KyAgaWYgKGFzc29jaWF0ZWQgKHgpKSBwcmludCAqLCBzaXplICh4KQorZW5kCisKK3N1YnJv dXRpbmUgcDQgKHgpCisgIGNsYXNzKCopICAgIDo6IHgKKyAgZGltZW5zaW9uICAgOjogeCg6 KQorICBwb2ludGVyICAgICA6OiB4CisgIGlmIChhc3NvY2lhdGVkICh4KSkgcHJpbnQgKiwg c2l6ZSAoeCkKK2VuZApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9j bGFzc183NS5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2NsYXNzXzc1LmY5MApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZWIyOWFkNTFjODUKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2NsYXNzXzc1LmY5 MApAQCAtMCwwICsxLDI0IEBACishIHsgZGctZG8gY29tcGlsZSB9CishIHsgZGctYWRkaXRp b25hbC1vcHRpb25zICItZmNvYXJyYXk9c2luZ2xlIiB9CishCishIFBSIGZvcnRyYW4vMTA2 ODU2CishCishCishCitzdWJyb3V0aW5lIGZvbyh4LHkpCisgIGNsYXNzKCopLCBvcHRpb25h bCA6OiB4LCB5CisgIG9wdGlvbmFsICAgIDo6IHggICAgISB7IGRnLWVycm9yICJEdXBsaWNh dGUgT1BUSU9OQUwgYXR0cmlidXRlIiB9CisgIHRhcmdldCAgICAgIDo6IHgKKyAgYWxsb2Nh dGFibGUgOjogeAorICB0YXJnZXQgICAgICA6OiB4ICAgICEgeyBkZy1lcnJvciAiRHVwbGlj YXRlIFRBUkdFVCBhdHRyaWJ1dGUiIH0KKyAgYWxsb2NhdGFibGUgOjogeCAgICAhIHsgZGct ZXJyb3IgIkR1cGxpY2F0ZSBBTExPQ0FUQUJMRSBhdHRyaWJ1dGUiIH0KKyAgcG9pbnRlciAg ICAgOjogeQorICBjb250aWd1b3VzICA6OiB5CisgIHBvaW50ZXIgICAgIDo6IHkgICAgISB7 IGRnLWVycm9yICJEdXBsaWNhdGUgUE9JTlRFUiBhdHRyaWJ1dGUiIH0KKyAgY29udGlndW91 cyAgOjogeSAgICAhIHsgZGctZXJyb3IgIkR1cGxpY2F0ZSBDT05USUdVT1VTIGF0dHJpYnV0 ZSIgfQorICBjb2RpbWVuc2lvbiA6OiB4WzpdCisgIGRpbWVuc2lvbiAgIDo6IHgoOiw6KQor ICBkaW1lbnNpb24gICA6OiB5KDosOiw6KQorICBjb2RpbWVuc2lvbiA6OiB4WzpdICEgeyBk Zy1lcnJvciAiRHVwbGljYXRlIENPRElNRU5TSU9OIGF0dHJpYnV0ZSIgfQorICBkaW1lbnNp b24gICA6OiB5KDopICEgeyBkZy1lcnJvciAiRHVwbGljYXRlIERJTUVOU0lPTiBhdHRyaWJ1 dGUiIH0KK2VuZApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9pbnRl cmZhY2VfNDEuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9pbnRlcmZhY2VfNDEu ZjkwCmluZGV4IGI1ZWE4YWYxODlkLi4yZmVjMDFlM2NmOSAxMDA2NDQKLS0tIGEvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9pbnRlcmZhY2VfNDEuZjkwCisrKyBiL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvaW50ZXJmYWNlXzQxLmY5MApAQCAtMTQsNiArMTQsNiBAQCBjb250 YWlucwogICAgc3Vicm91dGluZSBzCiAgICAgICB0eXBlKHQpIDo6IHgoMikKICAgICAgIHJl YWwgOjogegotICAgICAgeiA9IGYoeCkgICAgICEgeyBkZy1lcnJvciAiUmFuayBtaXNtYXRj aCBpbiBhcmd1bWVudCIgfQorICAgICAgeiA9IGYoeCkKICAgIGVuZAogZW5kCi0tIAoyLjM1 LjMKCg== --------------jhPFbHwx33npQpd5Go3HWYVv-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ciao.gmane.io (ciao.gmane.io [116.202.254.214]) by sourceware.org (Postfix) with ESMTPS id A62AB3858D20 for ; Sat, 4 Mar 2023 16:15:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A62AB3858D20 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=m.gmane-mx.org Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1pYUXG-0001UC-Ln for fortran@gcc.gnu.org; Sat, 04 Mar 2023 17:15:02 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: fortran@gcc.gnu.org From: Harald Anlauf Subject: Re: [PATCH, v2] Fortran: fix CLASS attribute handling [PR106856] Date: Sat, 4 Mar 2023 17:06:22 +0100 Message-ID: References: <5b42f0b7-e217-555d-b1f2-4b623f3ae150@orange.fr> <5f1e8202-303e-5da2-c42b-8eab00a12a97@orange.fr> <48caf060-4349-b077-24da-8bf53ed4b650@gmx.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------jhPFbHwx33npQpd5Go3HWYVv" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Cc: gcc-patches@gcc.gnu.org Content-Language: en-US In-Reply-To: <48caf060-4349-b077-24da-8bf53ed4b650@gmx.de> Cc: fortran@gcc.gnu.org X-Spam-Status: No, score=-9.1 required=5.0 tests=BAYES_00,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Message-ID: <20230304160622.O99I3On9mWF-IXY59od-7wqDRRxnE5EQXJKNyeGcqTQ@z> This is a multi-part message in MIME format. --------------jhPFbHwx33npQpd5Go3HWYVv Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Sorry, attached the wrong patch. Here's the correct one. Harald Am 04.03.23 um 17:02 schrieb Harald Anlauf via Gcc-patches: > The attached revised version uses the above proven changes, > and extends the new testcase class_74.f90 by variations of > the failures remaining with version 1 so that different > codepaths are tested. > > Regtested again on x86_64-pc-linux-gnu. > > Any further comments? > > Thanks for your very helpful review! > > Harald --------------jhPFbHwx33npQpd5Go3HWYVv Content-Type: text/x-patch; charset=UTF-8; name="pr106856-v2.diff" Content-Disposition: attachment; filename="pr106856-v2.diff" Content-Transfer-Encoding: base64 RnJvbSAwYjdlOWVhOWM4M2NhNmQ2YzBhYWU2MzhiZTA5ZmJjYjhlNDJjNjgyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYXJhbGQgQW5sYXVmIDxhbmxhdWZAZ214LmRlPgpE YXRlOiBUaHUsIDIgTWFyIDIwMjMgMjI6Mzc6MTQgKzAxMDAKU3ViamVjdDogW1BBVENIXSBG b3J0cmFuOiBmaXggQ0xBU1MgYXR0cmlidXRlIGhhbmRsaW5nIFtQUjEwNjg1Nl0KCmdjYy9m b3J0cmFuL0NoYW5nZUxvZzoKCglQUiBmb3J0cmFuLzEwNjg1NgoJKiBjbGFzcy5jYyAoZ2Zj X2J1aWxkX2NsYXNzX3N5bWJvbCk6IEhhbmRsZSB1cGRhdGUgb2YgYXR0cmlidXRlcyBvZgoJ ZXhpc3RpbmcgY2xhc3MgY29udGFpbmVyLgoJKGdmY19maW5kX2Rlcml2ZWRfdnRhYik6IEZp eCBzZXZlcmFsIG1lbW9yeSBsZWFrcy4KCShmaW5kX2ludHJpbnNpY192dGFiKTogRGl0dG8u CgkqIGRlY2wuY2MgKGF0dHJfZGVjbDEpOiBNYW5hZ2UgdXBkYXRlIG9mIHN5bWJvbCBhdHRy aWJ1dGVzIGZyb20KCUNMQVNTIGF0dHJpYnV0ZXMuCgkqIHByaW1hcnkuY2MgKGdmY192YXJp YWJsZV9hdHRyKTogT1BUSU9OQUwgc2hhbGwgbm90IGJlIHRha2VuIG9yCgl1cGRhdGVkIGZy b20gdGhlIGNsYXNzIGNvbnRhaW5lci4KCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgoKCVBS IGZvcnRyYW4vMTA2ODU2CgkqIGdmb3J0cmFuLmRnL2ludGVyZmFjZV80MS5mOTA6IFJlbW92 ZSBkZy1wYXR0ZXJuIGZyb20gdmFsaWQgdGVzdGNhc2UuCgkqIGdmb3J0cmFuLmRnL2NsYXNz Xzc0LmY5MDogTmV3IHRlc3QuCgkqIGdmb3J0cmFuLmRnL2NsYXNzXzc1LmY5MDogTmV3IHRl c3QuCgpDby1hdXRob3JlZC1ieTogVG9iaWFzIEJ1cm51cyAgPHRvYmlhc0Bjb2Rlc291cmNl cnkuY29tPgotLS0KIGdjYy9mb3J0cmFuL2NsYXNzLmNjICAgICAgICAgICAgICAgICAgICAg ICB8ICAyNSArKystCiBnY2MvZm9ydHJhbi9kZWNsLmNjICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNjAgKysrKystLS0tLQogZ2NjL2ZvcnRyYW4vcHJpbWFyeS5jYyAgICAgICAgICAg ICAgICAgICAgIHwgICAxIC0KIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvY2xhc3NfNzQu ZjkwICAgICB8IDEzMCArKysrKysrKysrKysrKysrKysrKysKIGdjYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvY2xhc3NfNzUuZjkwICAgICB8ICAyNCArKysrCiBnY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2ludGVyZmFjZV80MS5mOTAgfCAgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwg MjA3IGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvY2xhc3NfNzQuZjkwCiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9jbGFzc183NS5mOTAKCmRpZmYgLS1n aXQgYS9nY2MvZm9ydHJhbi9jbGFzcy5jYyBiL2djYy9mb3J0cmFuL2NsYXNzLmNjCmluZGV4 IGFlNjUzZTc0NDM3Li41MjIzNWFiODNlMyAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vY2xh c3MuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vY2xhc3MuY2MKQEAgLTYzOCw2ICs2MzgsNyBAQCBn ZmNfYnVpbGRfY2xhc3Nfc3ltYm9sIChnZmNfdHlwZXNwZWMgKnRzLCBzeW1ib2xfYXR0cmli dXRlICphdHRyLAogewogICBjaGFyIHRuYW1lW0dGQ19NQVhfU1lNQk9MX0xFTisxXTsKICAg Y2hhciAqbmFtZTsKKyAgZ2ZjX3R5cGVzcGVjICpvcmlnX3RzID0gdHM7CiAgIGdmY19zeW1i b2wgKmZjbGFzczsKICAgZ2ZjX3N5bWJvbCAqdnRhYjsKICAgZ2ZjX2NvbXBvbmVudCAqYzsK QEAgLTY0Niw5ICs2NDcsMjEgQEAgZ2ZjX2J1aWxkX2NsYXNzX3N5bWJvbCAoZ2ZjX3R5cGVz cGVjICp0cywgc3ltYm9sX2F0dHJpYnV0ZSAqYXR0ciwKIAogICBnY2NfYXNzZXJ0IChhcyk7 CiAKLSAgaWYgKGF0dHItPmNsYXNzX29rKQotICAgIC8qIENsYXNzIGNvbnRhaW5lciBoYXMg YWxyZWFkeSBiZWVuIGJ1aWx0LiAgKi8KKyAgLyogQ2xhc3MgY29udGFpbmVyIGhhcyBhbHJl YWR5IGJlZW4gYnVpbHQgd2l0aCBzYW1lIG5hbWUuICAqLworICBpZiAoYXR0ci0+Y2xhc3Nf b2sKKyAgICAgICYmIHRzLT51LmRlcml2ZWQtPmNvbXBvbmVudHMtPmF0dHIuZGltZW5zaW9u ID49IGF0dHItPmRpbWVuc2lvbgorICAgICAgJiYgdHMtPnUuZGVyaXZlZC0+Y29tcG9uZW50 cy0+YXR0ci5jb2RpbWVuc2lvbiA+PSBhdHRyLT5jb2RpbWVuc2lvbgorICAgICAgJiYgdHMt PnUuZGVyaXZlZC0+Y29tcG9uZW50cy0+YXR0ci5jbGFzc19wb2ludGVyID49IGF0dHItPnBv aW50ZXIKKyAgICAgICYmIHRzLT51LmRlcml2ZWQtPmNvbXBvbmVudHMtPmF0dHIuYWxsb2Nh dGFibGUgPj0gYXR0ci0+YWxsb2NhdGFibGUpCiAgICAgcmV0dXJuIHRydWU7CisgIGlmIChh dHRyLT5jbGFzc19vaykKKyAgICB7CisgICAgICBhdHRyLT5kaW1lbnNpb24gfD0gdHMtPnUu ZGVyaXZlZC0+Y29tcG9uZW50cy0+YXR0ci5kaW1lbnNpb247CisgICAgICBhdHRyLT5jb2Rp bWVuc2lvbiB8PSB0cy0+dS5kZXJpdmVkLT5jb21wb25lbnRzLT5hdHRyLmNvZGltZW5zaW9u OworICAgICAgYXR0ci0+cG9pbnRlciB8PSB0cy0+dS5kZXJpdmVkLT5jb21wb25lbnRzLT5h dHRyLmNsYXNzX3BvaW50ZXI7CisgICAgICBhdHRyLT5hbGxvY2F0YWJsZSB8PSB0cy0+dS5k ZXJpdmVkLT5jb21wb25lbnRzLT5hdHRyLmFsbG9jYXRhYmxlOworICAgICAgdHMgPSAmdHMt PnUuZGVyaXZlZC0+Y29tcG9uZW50cy0+dHM7CisgICAgfQogCiAgIGF0dHItPmNsYXNzX29r ID0gYXR0ci0+ZHVtbXkgfHwgYXR0ci0+cG9pbnRlciB8fCBhdHRyLT5hbGxvY2F0YWJsZQog CQkgICB8fCBhdHRyLT5zZWxlY3RfdHlwZV90ZW1wb3JhcnkgfHwgYXR0ci0+YXNzb2NpYXRl X3ZhcjsKQEAgLTc5MCw3ICs4MDMsNyBAQCBnZmNfYnVpbGRfY2xhc3Nfc3ltYm9sIChnZmNf dHlwZXNwZWMgKnRzLCBzeW1ib2xfYXR0cmlidXRlICphdHRyLAogICAgIH0KIAogICBmY2xh c3MtPmF0dHIuaXNfY2xhc3MgPSAxOwotICB0cy0+dS5kZXJpdmVkID0gZmNsYXNzOworICBv cmlnX3RzLT51LmRlcml2ZWQgPSBmY2xhc3M7CiAgIGF0dHItPmFsbG9jYXRhYmxlID0gYXR0 ci0+cG9pbnRlciA9IGF0dHItPmRpbWVuc2lvbiA9IGF0dHItPmNvZGltZW5zaW9uID0gMDsK ICAgKCphcykgPSBOVUxMOwogICBmcmVlIChuYW1lKTsKQEAgLTIzNDQsNiArMjM1Nyw3IEBA IGdmY19maW5kX2Rlcml2ZWRfdnRhYiAoZ2ZjX3N5bWJvbCAqZGVyaXZlZCkKIAkgIHZ0YWIt PmF0dHIudnRhYiA9IDE7CiAJICB2dGFiLT5hdHRyLmFjY2VzcyA9IEFDQ0VTU19QVUJMSUM7 CiAJICBnZmNfc2V0X3N5bV9yZWZlcmVuY2VkICh2dGFiKTsKKwkgIGZyZWUgKG5hbWUpOwog CSAgbmFtZSA9IHhhc3ByaW50ZiAoIl9fdnR5cGVfJXMiLCB0bmFtZSk7CiAKIAkgIGdmY19m aW5kX3N5bWJvbCAobmFtZSwgbnMsIDAsICZ2dHlwZSk7CkBAIC0yNDQ3LDYgKzI0NjEsNyBA QCBnZmNfZmluZF9kZXJpdmVkX3Z0YWIgKGdmY19zeW1ib2wgKmRlcml2ZWQpCiAJICAgICAg ZWxzZQogCQl7CiAJCSAgLyogQ29uc3RydWN0IGRlZmF1bHQgaW5pdGlhbGl6YXRpb24gdmFy aWFibGUuICAqLworCQkgIGZyZWUgKG5hbWUpOwogCQkgIG5hbWUgPSB4YXNwcmludGYgKCJf X2RlZl9pbml0XyVzIiwgdG5hbWUpOwogCQkgIGdmY19nZXRfc3ltYm9sIChuYW1lLCBucywg JmRlZl9pbml0KTsKIAkJICBkZWZfaW5pdC0+YXR0ci50YXJnZXQgPSAxOwpAQCAtMjQ4MCw2 ICsyNDk1LDcgQEAgZ2ZjX2ZpbmRfZGVyaXZlZF92dGFiIChnZmNfc3ltYm9sICpkZXJpdmVk KQogCQkgIG5zLT5jb250YWluZWQgPSBzdWJfbnM7CiAJCSAgc3ViX25zLT5yZXNvbHZlZCA9 IDE7CiAJCSAgLyogU2V0IHVwIHByb2NlZHVyZSBzeW1ib2wuICAqLworCQkgIGZyZWUgKG5h bWUpOwogCQkgIG5hbWUgPSB4YXNwcmludGYgKCJfX2NvcHlfJXMiLCB0bmFtZSk7CiAJCSAg Z2ZjX2dldF9zeW1ib2wgKG5hbWUsIHN1Yl9ucywgJmNvcHkpOwogCQkgIHN1Yl9ucy0+cHJv Y19uYW1lID0gY29weTsKQEAgLTI1NTgsNiArMjU3NCw3IEBAIGdmY19maW5kX2Rlcml2ZWRf dnRhYiAoZ2ZjX3N5bWJvbCAqZGVyaXZlZCkKIAkJICBucy0+Y29udGFpbmVkID0gc3ViX25z OwogCQkgIHN1Yl9ucy0+cmVzb2x2ZWQgPSAxOwogCQkgIC8qIFNldCB1cCBwcm9jZWR1cmUg c3ltYm9sLiAgKi8KKwkJICBmcmVlIChuYW1lKTsKIAkJICBuYW1lID0geGFzcHJpbnRmICgi X19kZWFsbG9jYXRlXyVzIiwgdG5hbWUpOwogCQkgIGdmY19nZXRfc3ltYm9sIChuYW1lLCBz dWJfbnMsICZkZWFsbG9jKTsKIAkJICBzdWJfbnMtPnByb2NfbmFtZSA9IGRlYWxsb2M7CkBA IC0yNzIzLDYgKzI3NDAsNyBAQCBmaW5kX2ludHJpbnNpY192dGFiIChnZmNfdHlwZXNwZWMg KnRzKQogCSAgdnRhYi0+YXR0ci52dGFiID0gMTsKIAkgIHZ0YWItPmF0dHIuYWNjZXNzID0g QUNDRVNTX1BVQkxJQzsKIAkgIGdmY19zZXRfc3ltX3JlZmVyZW5jZWQgKHZ0YWIpOworCSAg ZnJlZSAobmFtZSk7CiAJICBuYW1lID0geGFzcHJpbnRmICgiX192dHlwZV8lcyIsIHRuYW1l KTsKIAogCSAgZ2ZjX2ZpbmRfc3ltYm9sIChuYW1lLCBucywgMCwgJnZ0eXBlKTsKQEAgLTI4 MDEsNiArMjgxOSw3IEBAIGZpbmRfaW50cmluc2ljX3Z0YWIgKGdmY190eXBlc3BlYyAqdHMp CiAJICAgICAgYy0+dGIgPSBYQ05FVyAoZ2ZjX3R5cGVib3VuZF9wcm9jKTsKIAkgICAgICBj LT50Yi0+cHBjID0gMTsKIAorCSAgICAgIGZyZWUgKG5hbWUpOwogCSAgICAgIGlmICh0cy0+ dHlwZSAhPSBCVF9DSEFSQUNURVIpCiAJCW5hbWUgPSB4YXNwcmludGYgKCJfX2NvcHlfJXMi LCB0bmFtZSk7CiAJICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vZGVjbC5j YyBiL2djYy9mb3J0cmFuL2RlY2wuY2MKaW5kZXggZWVjMDMxNGNmNGMuLmE2NWM2ZGNiOTk0 IDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi9kZWNsLmNjCisrKyBiL2djYy9mb3J0cmFuL2Rl Y2wuY2MKQEAgLTg3NDAsNDUgKzg3NDAsMjMgQEAgYXR0cl9kZWNsMSAodm9pZCkKIAl9CiAg ICAgfQogCi0gIC8qIFVwZGF0ZSBzeW1ib2wgdGFibGUuICBESU1FTlNJT04gYXR0cmlidXRl IGlzIHNldCBpbgotICAgICBnZmNfc2V0X2FycmF5X3NwZWMoKS4gIEZvciBDTEFTUyB2YXJp YWJsZXMsIHRoaXMgbXVzdCBiZSBhcHBsaWVkCi0gICAgIHRvIHRoZSBmaXJzdCBjb21wb25l bnQsIG9yICdfZGF0YScgZmllbGQuICAqLwogICBpZiAoc3ltLT50cy50eXBlID09IEJUX0NM QVNTCiAgICAgICAmJiBzeW0tPnRzLnUuZGVyaXZlZAogICAgICAgJiYgc3ltLT50cy51LmRl cml2ZWQtPmF0dHIuaXNfY2xhc3MpCiAgICAgewotICAgICAgLyogZ2ZjX3NldF9hcnJheV9z cGVjIHNldHMgc3ltLT5hdHRyIG5vdCBDTEFTU19EQVRBKHN5bSktPmF0dHIuICBDaGVjawot CSBmb3IgZHVwbGljYXRlIGF0dHJpYnV0ZSBoZXJlLiAgKi8KLSAgICAgIGlmIChDTEFTU19E QVRBKHN5bSktPmF0dHIuZGltZW5zaW9uID09IDEgJiYgYXMpCi0JewotCSAgZ2ZjX2Vycm9y ICgiRHVwbGljYXRlIERJTUVOU0lPTiBhdHRyaWJ1dGUgYXQgJUMiKTsKLQkgIG0gPSBNQVRD SF9FUlJPUjsKLQkgIGdvdG8gY2xlYW51cDsKLQl9Ci0KLSAgICAgIGlmICghZ2ZjX2NvcHlf YXR0ciAoJkNMQVNTX0RBVEEoc3ltKS0+YXR0ciwgJmN1cnJlbnRfYXR0ciwgJnZhcl9sb2N1 cykpCi0JewotCSAgbSA9IE1BVENIX0VSUk9SOwotCSAgZ290byBjbGVhbnVwOwotCX0KKyAg ICAgIHN5bS0+YXR0ci5wb2ludGVyID0gQ0xBU1NfREFUQShzeW0pLT5hdHRyLmNsYXNzX3Bv aW50ZXI7CisgICAgICBzeW0tPmF0dHIuYWxsb2NhdGFibGUgPSBDTEFTU19EQVRBKHN5bSkt PmF0dHIuYWxsb2NhdGFibGU7CisgICAgICBzeW0tPmF0dHIuZGltZW5zaW9uID0gQ0xBU1Nf REFUQShzeW0pLT5hdHRyLmRpbWVuc2lvbjsKKyAgICAgIHN5bS0+YXR0ci5jb2RpbWVuc2lv biA9IENMQVNTX0RBVEEoc3ltKS0+YXR0ci5jb2RpbWVuc2lvbjsKKyAgICAgIGlmIChDTEFT U19EQVRBIChzeW0pLT5hcykKKwlzeW0tPmFzID0gZ2ZjX2NvcHlfYXJyYXlfc3BlYyAoQ0xB U1NfREFUQSAoc3ltKS0+YXMpOwogICAgIH0KLSAgZWxzZQotICAgIHsKLSAgICAgIGlmIChj dXJyZW50X2F0dHIuZGltZW5zaW9uID09IDAgJiYgY3VycmVudF9hdHRyLmNvZGltZW5zaW9u ID09IDAKLQkgICYmICFnZmNfY29weV9hdHRyICgmc3ltLT5hdHRyLCAmY3VycmVudF9hdHRy LCAmdmFyX2xvY3VzKSkKLQl7Ci0JICBtID0gTUFUQ0hfRVJST1I7Ci0JICBnb3RvIGNsZWFu dXA7Ci0JfQotICAgIH0KLQotICBpZiAoc3ltLT50cy50eXBlID09IEJUX0NMQVNTCi0gICAg ICAmJiAhZ2ZjX2J1aWxkX2NsYXNzX3N5bWJvbCAoJnN5bS0+dHMsICZzeW0tPmF0dHIsICZz eW0tPmFzKSkKKyAgaWYgKGN1cnJlbnRfYXR0ci5kaW1lbnNpb24gPT0gMCAmJiBjdXJyZW50 X2F0dHIuY29kaW1lbnNpb24gPT0gMAorICAgICAgJiYgIWdmY19jb3B5X2F0dHIgKCZzeW0t PmF0dHIsICZjdXJyZW50X2F0dHIsICZ2YXJfbG9jdXMpKQogICAgIHsKICAgICAgIG0gPSBN QVRDSF9FUlJPUjsKICAgICAgIGdvdG8gY2xlYW51cDsKICAgICB9Ci0KICAgaWYgKCFnZmNf c2V0X2FycmF5X3NwZWMgKHN5bSwgYXMsICZ2YXJfbG9jdXMpKQogICAgIHsKICAgICAgIG0g PSBNQVRDSF9FUlJPUjsKQEAgLTg4MDcsNiArODc4NSwyOCBAQCBhdHRyX2RlY2wxICh2b2lk KQogICAgICAgZ290byBjbGVhbnVwOwogICAgIH0KIAorICBpZiAoc3ltLT50cy50eXBlID09 IEJUX0NMQVNTICYmIHN5bS0+dHMudS5kZXJpdmVkLT5hdHRyLmlzX2NsYXNzCisgICAgICAm JiAhYXMgJiYgIWN1cnJlbnRfYXR0ci5wb2ludGVyICYmICFjdXJyZW50X2F0dHIuYWxsb2Nh dGFibGUKKyAgICAgICYmICFjdXJyZW50X2F0dHIuZXh0ZXJuYWwpCisgICAgeworICAgICAg c3ltLT5hdHRyLnBvaW50ZXIgPSAwOworICAgICAgc3ltLT5hdHRyLmFsbG9jYXRhYmxlID0g MDsKKyAgICAgIHN5bS0+YXR0ci5kaW1lbnNpb24gPSAwOworICAgICAgc3ltLT5hdHRyLmNv ZGltZW5zaW9uID0gMDsKKyAgICAgIGdmY19mcmVlX2FycmF5X3NwZWMgKHN5bS0+YXMpOwor ICAgICAgc3ltLT5hcyA9IE5VTEw7CisgICAgfQorICBlbHNlIGlmIChzeW0tPnRzLnR5cGUg PT0gQlRfQ0xBU1MKKyAgICAgICYmICFnZmNfYnVpbGRfY2xhc3Nfc3ltYm9sICgmc3ltLT50 cywgJnN5bS0+YXR0ciwgJnN5bS0+YXMpKQorICAgIHsKKyAgICAgIG0gPSBNQVRDSF9FUlJP UjsKKyAgICAgIGdvdG8gY2xlYW51cDsKKyAgICB9CisgIGVsc2UgaWYgKHN5bS0+dHMudHlw ZSA9PSBCVF9DTEFTUworCSAgICYmIHN5bS0+dHMudS5kZXJpdmVkLT5hdHRyLmlzX2NsYXNz CisJICAgJiYgc3ltLT5vbGRfc3ltYm9sICYmIHN5bS0+b2xkX3N5bWJvbC0+YXMgPT0gQ0xB U1NfREFUQSAoc3ltKS0+YXMpCisgICAgc3ltLT5vbGRfc3ltYm9sLT5hcyA9IE5VTEw7CisK ICAgYWRkX2hpZGRlbl9wcm9jcHRyX3Jlc3VsdCAoc3ltKTsKIAogICByZXR1cm4gTUFUQ0hf WUVTOwpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vcHJpbWFyeS5jYyBiL2djYy9mb3J0cmFu L3ByaW1hcnkuY2MKaW5kZXggMWJlYTE3ZDQ0ZmUuLjAwZDM1YTcxNzcwIDEwMDY0NAotLS0g YS9nY2MvZm9ydHJhbi9wcmltYXJ5LmNjCisrKyBiL2djYy9mb3J0cmFuL3ByaW1hcnkuY2MK QEAgLTI2NDAsNyArMjY0MCw2IEBAIGdmY192YXJpYWJsZV9hdHRyIChnZmNfZXhwciAqZXhw ciwgZ2ZjX3R5cGVzcGVjICp0cykKICAgICAgIGNvZGltZW5zaW9uID0gQ0xBU1NfREFUQSAo c3ltKS0+YXR0ci5jb2RpbWVuc2lvbjsKICAgICAgIHBvaW50ZXIgPSBDTEFTU19EQVRBIChz eW0pLT5hdHRyLmNsYXNzX3BvaW50ZXI7CiAgICAgICBhbGxvY2F0YWJsZSA9IENMQVNTX0RB VEEgKHN5bSktPmF0dHIuYWxsb2NhdGFibGU7Ci0gICAgICBvcHRpb25hbCB8PSBDTEFTU19E QVRBIChzeW0pLT5hdHRyLm9wdGlvbmFsOwogICAgIH0KICAgZWxzZQogICAgIHsKZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvY2xhc3NfNzQuZjkwIGIvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9jbGFzc183NC5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAuLmEyMmEzZDlmNzM5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9jbGFzc183NC5mOTAKQEAgLTAsMCArMSwxMzAgQEAK KyEgeyBkZy1kbyBjb21waWxlIH0KKyEgeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mY29h cnJheT1zaW5nbGUiIH0KKyEKKyEgUFIgZm9ydHJhbi8xMDY4NTYKKyEKKyEgQ29udHJpYnV0 ZWQgYnkgRy4gU3RlaW5tZXR6IAorIQorc3Vicm91dGluZSBmb28KKyAgaW50ZXJmYWNlCisg ICAgc3Vicm91dGluZSBiYXIoeCkKKyAgICAgIHR5cGUoKikgOjogeAorICAgIGVuZCBzdWJy b3V0aW5lIGJhcgorICBlbmQgaW50ZXJmYWNlCisgIGNsYXNzKCopIDo6IHgsIHkKKyAgYWxs b2NhdGFibGUgOjogeAorICBkaW1lbnNpb24gOjogeCg6KSwgeSg6LDopCisgIGNvZGltZW5z aW9uIDo6IHhbOl0KKyAgcG9pbnRlciA6OiB5CisgIHkgPT4gbnVsbCgpCisgIGlmIChhbGxv Y2F0ZWQoeCkpIHRoZW4KKyAgICBjYWxsIGJhcih4KDIpWzFdKQorICBlbmQgaWYKKyAgaWYg KGFzc29jaWF0ZWQoeSkpIHRoZW4KKyAgICBjYWxsIGJhcih5KDIsMikpCisgIGVuZCBpZgor ZW5kIHN1YnJvdXRpbmUgZm9vCisKKworcHJvZ3JhbSBwCisgIGNsYXNzKCopLCBhbGxvY2F0 YWJsZSA6OiB4LCB5CisgIHkgPSAnYWJjJworICBjYWxsIHMxKHgsIHkpCitjb250YWlucwor ICBzdWJyb3V0aW5lIHMxKHgsIHkpCisgICAgY2xhc3MoKikgOjogeCwgeQorICBlbmQKKyAg c3Vicm91dGluZSBzMih4LCB5KQorICAgIGNsYXNzKCopLCBhbGxvY2F0YWJsZSA6OiB4LCB5 CisgICAgb3B0aW9uYWwgOjogeAorICBlbmQKK2VuZAorCisKK3N1YnJvdXRpbmUgczEgKHgp CisgIGNsYXNzKCopICAgIDo6IHgKKyAgYWxsb2NhdGFibGUgOjogeAorICBkaW1lbnNpb24g ICA6OiB4KDopCisgIGlmIChhbGxvY2F0ZWQgKHgpKSBwcmludCAqLCBzaXplICh4KQorZW5k CisKK3N1YnJvdXRpbmUgczIgKHgpCisgIGNsYXNzKCopICAgIDo6IHgKKyAgYWxsb2NhdGFi bGUgOjogeCg6KQorICBpZiAoYWxsb2NhdGVkICh4KSkgcHJpbnQgKiwgc2l6ZSAoeCkKK2Vu ZAorCitzdWJyb3V0aW5lIHMzICh4KQorICBjbGFzcygqKSAgICA6OiB4KDopCisgIGFsbG9j YXRhYmxlIDo6IHgKKyAgaWYgKGFsbG9jYXRlZCAoeCkpIHByaW50ICosIHNpemUgKHgpCitl bmQKKworc3Vicm91dGluZSBzNCAoeCkKKyAgY2xhc3MoKikgICAgOjogeAorICBkaW1lbnNp b24gICA6OiB4KDopCisgIGFsbG9jYXRhYmxlIDo6IHgKKyAgaWYgKGFsbG9jYXRlZCAoeCkp IHByaW50ICosIHNpemUgKHgpCitlbmQKKworCitzdWJyb3V0aW5lIGMwICh4KQorICBjbGFz cygqKSAgICA6OiB4CisgIGFsbG9jYXRhYmxlIDo6IHgKKyAgY29kaW1lbnNpb24gOjogeFs6 XQorICBkaW1lbnNpb24gICA6OiB4KDopCisgIGlmIChhbGxvY2F0ZWQgKHgpKSBwcmludCAq LCBzaXplICh4KQorZW5kCisKK3N1YnJvdXRpbmUgYzEgKHgpCisgIGNsYXNzKCopICAgIDo6 IHgoOikKKyAgYWxsb2NhdGFibGUgOjogeFs6XQorICBpZiAoYWxsb2NhdGVkICh4KSkgcHJp bnQgKiwgc2l6ZSAoeCkKK2VuZAorCitzdWJyb3V0aW5lIGMyICh4KQorICBjbGFzcygqKSAg ICA6OiB4WzpdCisgIGFsbG9jYXRhYmxlIDo6IHgoOikKKyAgaWYgKGFsbG9jYXRlZCAoeCkp IHByaW50ICosIHNpemUgKHgpCitlbmQKKworc3Vicm91dGluZSBjMyAoeCkKKyAgY2xhc3Mo KikgICAgOjogeCg6KVs6XQorICBhbGxvY2F0YWJsZSA6OiB4CisgIGlmIChhbGxvY2F0ZWQg KHgpKSBwcmludCAqLCBzaXplICh4KQorZW5kCisKK3N1YnJvdXRpbmUgYzQgKHgpCisgIGNs YXNzKCopICAgIDo6IHgKKyAgZGltZW5zaW9uICAgOjogeCg6KQorICBjb2RpbWVuc2lvbiA6 OiB4WzpdCisgIGFsbG9jYXRhYmxlIDo6IHgKKyAgaWYgKGFsbG9jYXRlZCAoeCkpIHByaW50 ICosIHNpemUgKHgpCitlbmQKKworCitzdWJyb3V0aW5lIHAxICh4KQorICBjbGFzcygqKSAg ICA6OiB4CisgIHBvaW50ZXIgICAgIDo6IHgKKyAgZGltZW5zaW9uICAgOjogeCg6KQorICBp ZiAoYXNzb2NpYXRlZCAoeCkpIHByaW50ICosIHNpemUgKHgpCitlbmQKKworc3Vicm91dGlu ZSBwMiAoeCkKKyAgY2xhc3MoKikgICAgOjogeAorICBwb2ludGVyICAgICA6OiB4KDopCisg IGlmIChhc3NvY2lhdGVkICh4KSkgcHJpbnQgKiwgc2l6ZSAoeCkKK2VuZAorCitzdWJyb3V0 aW5lIHAzICh4KQorICBjbGFzcygqKSAgICA6OiB4KDopCisgIHBvaW50ZXIgICAgIDo6IHgK KyAgaWYgKGFzc29jaWF0ZWQgKHgpKSBwcmludCAqLCBzaXplICh4KQorZW5kCisKK3N1YnJv dXRpbmUgcDQgKHgpCisgIGNsYXNzKCopICAgIDo6IHgKKyAgZGltZW5zaW9uICAgOjogeCg6 KQorICBwb2ludGVyICAgICA6OiB4CisgIGlmIChhc3NvY2lhdGVkICh4KSkgcHJpbnQgKiwg c2l6ZSAoeCkKK2VuZApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9j bGFzc183NS5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2NsYXNzXzc1LmY5MApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZWIyOWFkNTFjODUKLS0t IC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2NsYXNzXzc1LmY5 MApAQCAtMCwwICsxLDI0IEBACishIHsgZGctZG8gY29tcGlsZSB9CishIHsgZGctYWRkaXRp b25hbC1vcHRpb25zICItZmNvYXJyYXk9c2luZ2xlIiB9CishCishIFBSIGZvcnRyYW4vMTA2 ODU2CishCishCishCitzdWJyb3V0aW5lIGZvbyh4LHkpCisgIGNsYXNzKCopLCBvcHRpb25h bCA6OiB4LCB5CisgIG9wdGlvbmFsICAgIDo6IHggICAgISB7IGRnLWVycm9yICJEdXBsaWNh dGUgT1BUSU9OQUwgYXR0cmlidXRlIiB9CisgIHRhcmdldCAgICAgIDo6IHgKKyAgYWxsb2Nh dGFibGUgOjogeAorICB0YXJnZXQgICAgICA6OiB4ICAgICEgeyBkZy1lcnJvciAiRHVwbGlj YXRlIFRBUkdFVCBhdHRyaWJ1dGUiIH0KKyAgYWxsb2NhdGFibGUgOjogeCAgICAhIHsgZGct ZXJyb3IgIkR1cGxpY2F0ZSBBTExPQ0FUQUJMRSBhdHRyaWJ1dGUiIH0KKyAgcG9pbnRlciAg ICAgOjogeQorICBjb250aWd1b3VzICA6OiB5CisgIHBvaW50ZXIgICAgIDo6IHkgICAgISB7 IGRnLWVycm9yICJEdXBsaWNhdGUgUE9JTlRFUiBhdHRyaWJ1dGUiIH0KKyAgY29udGlndW91 cyAgOjogeSAgICAhIHsgZGctZXJyb3IgIkR1cGxpY2F0ZSBDT05USUdVT1VTIGF0dHJpYnV0 ZSIgfQorICBjb2RpbWVuc2lvbiA6OiB4WzpdCisgIGRpbWVuc2lvbiAgIDo6IHgoOiw6KQor ICBkaW1lbnNpb24gICA6OiB5KDosOiw6KQorICBjb2RpbWVuc2lvbiA6OiB4WzpdICEgeyBk Zy1lcnJvciAiRHVwbGljYXRlIENPRElNRU5TSU9OIGF0dHJpYnV0ZSIgfQorICBkaW1lbnNp b24gICA6OiB5KDopICEgeyBkZy1lcnJvciAiRHVwbGljYXRlIERJTUVOU0lPTiBhdHRyaWJ1 dGUiIH0KK2VuZApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9pbnRl cmZhY2VfNDEuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9pbnRlcmZhY2VfNDEu ZjkwCmluZGV4IGI1ZWE4YWYxODlkLi4yZmVjMDFlM2NmOSAxMDA2NDQKLS0tIGEvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9pbnRlcmZhY2VfNDEuZjkwCisrKyBiL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvaW50ZXJmYWNlXzQxLmY5MApAQCAtMTQsNiArMTQsNiBAQCBjb250 YWlucwogICAgc3Vicm91dGluZSBzCiAgICAgICB0eXBlKHQpIDo6IHgoMikKICAgICAgIHJl YWwgOjogegotICAgICAgeiA9IGYoeCkgICAgICEgeyBkZy1lcnJvciAiUmFuayBtaXNtYXRj aCBpbiBhcmd1bWVudCIgfQorICAgICAgeiA9IGYoeCkKICAgIGVuZAogZW5kCi0tIAoyLjM1 LjMKCg== --------------jhPFbHwx33npQpd5Go3HWYVv--