From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16088 invoked by alias); 20 Dec 2010 12:03:01 -0000 Received: (qmail 16074 invoked by uid 22791); 20 Dec 2010 12:03:00 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Received: from mail-vw0-f47.google.com (HELO mail-vw0-f47.google.com) (209.85.212.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 20 Dec 2010 12:02:53 +0000 Received: by vws6 with SMTP id 6so1175267vws.20 for ; Mon, 20 Dec 2010 04:02:51 -0800 (PST) MIME-Version: 1.0 Received: by 10.229.230.10 with SMTP id jk10mr3512612qcb.245.1292846571442; Mon, 20 Dec 2010 04:02:51 -0800 (PST) Received: by 10.229.239.19 with HTTP; Mon, 20 Dec 2010 04:02:51 -0800 (PST) In-Reply-To: References: <4C0EB10C.3050701@redhat.com> <4C1AD953.3020008@redhat.com> <4C6E0571.3070802@redhat.com> Date: Mon, 20 Dec 2010 16:51:00 -0000 Message-ID: Subject: Re: [Patch] PR c++/26256 From: =?ISO-8859-1?Q?Fabien_Ch=EAne?= To: Jason Merrill Cc: gcc-patches@gcc.gnu.org Content-Type: multipart/mixed; boundary=0016364ec8c8a3d3b50497d64c0f X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2010-12/txt/msg01563.txt.bz2 --0016364ec8c8a3d3b50497d64c0f Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1364 2010/11/17 Fabien Ch=EAne : > 2010/11/15 Fabien Ch=EAne : > [...] > > Index: gcc/cp/typeck.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- gcc/cp/typeck.c =A0 =A0 (revision 166743) > +++ gcc/cp/typeck.c =A0 =A0 (working copy) > @@ -2340,6 +2340,11 @@ build_class_member_access_expr (tree obj > =A0 =A0 =A0 =A0result =3D build2 (COMPOUND_EXPR, TREE_TYPE (result), > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 object, result); > =A0 =A0 } > + =A0else if (TREE_CODE (member) =3D=3D USING_DECL) > + =A0 =A0 =A0 result =3D build_class_member_access_expr (object, > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 =A0 USING_DECL_DECLS (member), > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 =A0 access_path, preserve_reference, > + =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0= =A0 =A0 =A0 =A0 =A0 complain); > > I guess it would be safer to also check !DECL_DEPENDENT_P (member), I > will update the patch. Done in the attached patch, no regressions on x86_64-unknown-linux-gnu. OK to queue it for next stage 1 ? --=20 Fabien --0016364ec8c8a3d3b50497d64c0f Content-Type: application/octet-stream; name="pr26256.patch" Content-Disposition: attachment; filename="pr26256.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ghxg2ukg0 Content-length: 21712 SW5kZXg6IGdjYy90ZXN0c3VpdGUvZysrLm9sZC1kZWphL2crKy5vdGhlci91 c2luZzEuQwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1 aXRlL2crKy5vbGQtZGVqYS9nKysub3RoZXIvdXNpbmcxLkMJKHJldmlzaW9u IDE2Njc0MykKKysrIGdjYy90ZXN0c3VpdGUvZysrLm9sZC1kZWphL2crKy5v dGhlci91c2luZzEuQwkod29ya2luZyBjb3B5KQpAQCAtMTYsMTIgKzE2LDEy IEBAIHB1YmxpYzoKICAgdXNpbmcgQjo6YjsKIH07CiAKLWNsYXNzIEQyIDog cHVibGljIEIgeyAvLyB7IGRnLWVycm9yICIiIH0gY29uZmxpY3RpbmcgYWNj ZXNzIHNwZWNpZmljYXRpb25zCitjbGFzcyBEMiA6IHB1YmxpYyBCIHsKIHB1 YmxpYzoKICAgdXNpbmcgQjo6YTsKLSAgdXNpbmcgQjo6YjsKKyAgdXNpbmcg Qjo6YjsgLy8geyBkZy1tZXNzYWdlICIiIH0gY29uZmxpY3RpbmcgZGVjbGFy YXRpb24KIAogcHJpdmF0ZToKLSAgdXNpbmcgQjo6YjsgCisgIHVzaW5nIEI6 OmI7IC8vIHsgZGctZXJyb3IgIiIgfSBjb25mbGljdHMKIH07CiAgCkluZGV4 OiBnY2MvdGVzdHN1aXRlL2crKy5kZy9kZWJ1Zy91c2luZzQuQwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9kZWJ1 Zy91c2luZzQuQwkocmV2aXNpb24gMCkKKysrIGdjYy90ZXN0c3VpdGUvZysr LmRnL2RlYnVnL3VzaW5nNC5DCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI0 IEBACisvLyBQUiBjKysvMjYyNTYKKy8vIHsgZGctZG8gY29tcGlsZSB9CisK K3N0cnVjdCBBCit7CisgICAgdHlwZWRlZiBjaGFyIHR5cGU7Cit9OworCitz dHJ1Y3QgQgoreworICAgIHR5cGVkZWYgaW50IHR5cGU7Cit9OworCitzdHJ1 Y3QgQyA6IEEsIEIKK3sKKyAgICB1c2luZyBBOjp0eXBlOworICAgIHR5cGUg ZiAodHlwZSk7Cit9OworCitDOjp0eXBlIEM6OmYoIHR5cGUgKSAKK3sKKyAg ICB0eXBlIGMgPSAnZSc7CisgICAgcmV0dXJuIGM7Cit9CkluZGV4OiBnY2Mv dGVzdHN1aXRlL2crKy5kZy9kZWJ1Zy91c2luZzUuQwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9kZWJ1Zy91c2lu ZzUuQwkocmV2aXNpb24gMCkKKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2Rl YnVnL3VzaW5nNS5DCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIzIEBACisv LyBQUiBjKysvMjYyNTYKKy8vIHsgZGctZG8gY29tcGlsZSB9CisKK3N0cnVj dCBBCit7CisgICAgaW50IGk7Cit9OworCitzdHJ1Y3QgQgoreworICAgIGlu dCBpOworfTsKKworc3RydWN0IEMgOiBBLCBCCit7CisgICAgdXNpbmcgQjo6 aTsKKyAgICBpbnQgZiAoKTsKK307CisKK2ludCBDOjpmKCkgCit7CisgICAg cmV0dXJuIGk7Cit9CkluZGV4OiBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29r dXAvdXNpbmcyNC5DCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy90 ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzI0LkMJKHJldmlzaW9uIDAp CisrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmcyNC5DCShy ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACisvLyBQUiBjKysvMjYyNTYK Ky8vIHsgZGctZG8gY29tcGlsZSB9CisKK3N0cnVjdCBBIHsgaW50IG5leHQ7 IH07CitzdHJ1Y3QgQiB7IGludCBuZXh0OyB9Oworc3RydWN0IEMgOiBCIHsg dXNpbmcgQjo6bmV4dDsgfTsKKworc3RydWN0IEQgOiBBLCBDCit7CisgICB1 c2luZyBDOjpuZXh0OworICAgdm9pZCBmKCkgeyBuZXh0ID0gMTsgfQorfTsK SW5kZXg6IGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzI4LkMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL3Rlc3RzdWl0ZS9nKysu ZGcvbG9va3VwL3VzaW5nMjguQwkocmV2aXNpb24gMCkKKysrIGdjYy90ZXN0 c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzI4LkMJKHJldmlzaW9uIDApCkBA IC0wLDAgKzEsMTEgQEAKKy8vIFBSIGMrKy8yNjI1NgorLy8geyBkZy1kbyBj b21waWxlIH0KKworc3RydWN0IEEgeyBpbnQgZjsgfTsKK3N0cnVjdCBCIHsg aW50IGY7IH07CitzdHJ1Y3QgQyA6IEEsIEIgeyB1c2luZyBCOjpmOyB9Owor CitzdHJ1Y3QgRCA6IEMKK3sKKyAgICB2b2lkIGcoKSB7IGYgPSAxOyB9Cit9 OwpJbmRleDogZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5nMzMu Qwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2cr Ky5kZy9sb29rdXAvdXNpbmczMy5DCShyZXZpc2lvbiAwKQorKysgZ2NjL3Rl c3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5nMzMuQwkocmV2aXNpb24gMCkK QEAgLTAsMCArMSwyNiBAQAorLy8geyBkZy1kbyBydW4gfQorCit0ZW1wbGF0 ZSA8Y2xhc3MgVD4KK3N0cnVjdCBGb28gCit7CisgIGludCBrIChmbG9hdCkg e3JldHVybiAwO30KK307CisKK3RlbXBsYXRlIDxjbGFzcyBUPgorc3RydWN0 IEJheiAKK3sKKyAgaW50IGsgKGludCkge3JldHVybiAxO30KK307CisKK3Rl bXBsYXRlIDxjbGFzcyBUPgorc3RydWN0IEJhciA6IEZvbzxUPiAsIEJhejxU PgoreworICB1c2luZyBGb288VD46Oms7CisgIHVzaW5nIEJhejxUPjo6azsK K307CisKK2ludCBtYWluKCkKK3sKKyAgQmFyPGludD4gYmFyOworICByZXR1 cm4gYmFyLmsoIDEuMGYgKTsKK30KSW5kZXg6IGdjYy90ZXN0c3VpdGUvZysr LmRnL2xvb2t1cC91c2luZzI1LkMKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5nMjUuQwkocmV2 aXNpb24gMCkKKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2lu ZzI1LkMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjggQEAKKy8vIFBSIGMr Ky8yNjI1NgorLy8geyBkZy1kbyBydW4gfQorCitzdHJ1Y3QgQSAKK3sKKyAg ICBpbnQgbmV4dDsgCit9OworCitzdHJ1Y3QgQiAKK3sKKyAgICBpbnQgbmV4 dDsgCit9OworCitzdHJ1Y3QgQyA6IHB1YmxpYyBBLCBwdWJsaWMgQiAKK3sK KyAgICB1c2luZyBBOjpuZXh0OyAKK307CisKK3ZvaWQgZm9vKEMmIGMpIHsg Yy5uZXh0ID0gNDI7IH0KKworaW50IG1haW4oKQoreworICAgIEMgYzsKKyAg ICBmb28gKGMpOworICAgIGMuQjo6bmV4dCA9IDEyOworICAgIGlmIChjLm5l eHQgIT0gNDIgfHwgYy5BOjpuZXh0ICE9IDQyIHx8IGMuQjo6bmV4dCAhPSAx MikKKyAgICAJX19idWlsdGluX2Fib3J0KCk7Cit9CkluZGV4OiBnY2MvdGVz dHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmcyOS5DCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2lu ZzI5LkMJKHJldmlzaW9uIDApCisrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9s b29rdXAvdXNpbmcyOS5DCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDg4IEBA CisvLyB7IGRnLWRvIGNvbXBpbGUgfQorCitzdHJ1Y3QgQSAKK3sKKyAgaW50 IGk7Cit9OworCitzdHJ1Y3QgQgoreworICBpbnQgaTsKK307CisKKworc3Ry dWN0IEMgOiBBLCBCCit7CisgIHVzaW5nIEE6Omk7IC8vIHsgZGctZXJyb3Ig ImNvbmZsaWN0cyB3aXRoIHByZXZpb3VzIiB9CisgIHVzaW5nIEI6Omk7IC8v IHsgZGctZXJyb3IgImRlY2xhcmF0aW9uIiB9Cit9OworCisKK3N0cnVjdCBF Cit7CisgIHR5cGVkZWYgaW50IHR5cGU7Cit9OworCitzdHJ1Y3QgRgorewor ICB0eXBlZGVmIGludCB0eXBlOworfTsKKworc3RydWN0IEcgOiBFLCBGCit7 CisgIHVzaW5nIEU6OnR5cGU7IC8vIHsgZGctZXJyb3IgImNvbmZsaWN0cyB3 aXRoIHByZXZpb3VzIiB9CisgIHVzaW5nIEY6OnR5cGU7IC8vIHsgZGctZXJy b3IgImRlY2xhcmF0aW9uIiB9Cit9OworCisKK3N0cnVjdCBICit7CisgIHR5 cGVkZWYgaW50IHR5cGU7Cit9OworCitzdHJ1Y3QgSSA6IEgKK3sKKyAgdHlw ZWRlZiBpbnQgdHlwZTsgLy8geyBkZy1lcnJvciAiY29uZmxpY3RzIHdpdGgg cHJldmlvdXMiIH0KKyAgdXNpbmcgSDo6dHlwZTsgLy8geyBkZy1lcnJvciAi ZGVjbGFyYXRpb24iIH0KK307CisKKworc3RydWN0IEkyIDogSAoreworICB1 c2luZyBIOjp0eXBlOyAvLyB7IGRnLWVycm9yICJjb25mbGljdHMgd2l0aCBw cmV2aW91cyIgfQorICB0eXBlZGVmIGludCB0eXBlOyAvLyB7IGRnLWVycm9y ICJkZWNsYXJhdGlvbiIgfQorfTsKKworCitzdHJ1Y3QgSgoreworICAgIHN0 cnVjdCB0eXBlIHt9OworfTsKKworc3RydWN0IEsgOiBKCit7CisgICAgc3Ry dWN0IHR5cGUge307IC8vIHsgZGctZXJyb3IgImNvbmZsaWN0cyB3aXRoIHBy ZXZpb3VzIiB9CisgICAgdXNpbmcgSjo6dHlwZTsgLy8geyBkZy1lcnJvciAi ZGVjbGFyYXRpb24iIH0KK307CisKK3N0cnVjdCBMIDogSgoreworICAgIHVz aW5nIEo6OnR5cGU7IC8vIHsgZGctZXJyb3IgImNvbmZsaWN0cyB3aXRoIHBy ZXZpb3VzIiB9CisgICAgc3RydWN0IHR5cGUge307IC8vIHsgZGctZXJyb3Ig ImRlY2xhcmF0aW9uIiB9Cit9OworCisKK3N0cnVjdCBNCit7CisgIHR5cGVk ZWYgaW50IHR5cGU7CisgIHN0cnVjdCB0eXBlMiB7fTsKK307CisKK3N0cnVj dCBOIDogTQoreworICB1c2luZyBNOjp0eXBlOyAvLyB7IGRnLWVycm9yICJj b25mbGljdHMgd2l0aCBwcmV2aW91cyIgfQorICB1c2luZyBNOjp0eXBlOyAv LyB7IGRnLWVycm9yICJkZWNsYXJhdGlvbiIgfQorICB1c2luZyBNOjp0eXBl MjsgLy8geyBkZy1lcnJvciAiY29uZmxpY3RzIHdpdGggcHJldmlvdXMiIH0K KyAgdXNpbmcgTTo6dHlwZTI7IC8vIHsgZGctZXJyb3IgImRlY2xhcmF0aW9u IiB9Cit9OworCkluZGV4OiBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29rdXAv dXNpbmczMC5DCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy90ZXN0 c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzMwLkMJKHJldmlzaW9uIDApCisr KyBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmczMC5DCShyZXZp c2lvbiAwKQpAQCAtMCwwICsxLDE3IEBACisvLyB7IGRnLWRvIGNvbXBpbGUg fQorCitzdHJ1Y3QgSAoreworICB0eXBlZGVmIGludCB0eXBlOworfTsKKwor CitzdHJ1Y3QgSiA6IEgKK3sKKyAgc3RydWN0IHR5cGUge307IC8vIHsgZGct ZXJyb3IgImNvbmZsaWN0cyB3aXRoIHByZXZpb3VzIiB9CisgIHVzaW5nIEg6 OnR5cGU7IC8vIHsgZGctZXJyb3IgImRlY2xhcmF0aW9uIiB9Cit9OworCisK KworICAKSW5kZXg6IGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2lu ZzM0LkMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL3Rlc3RzdWl0 ZS9nKysuZGcvbG9va3VwL3VzaW5nMzQuQwkocmV2aXNpb24gMCkKKysrIGdj Yy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzM0LkMJKHJldmlzaW9u IDApCkBAIC0wLDAgKzEsMTUgQEAKKy8vIHsgZGctZG8gY29tcGlsZSB9CisK K3N0cnVjdCBBCit7CisgICAgaW50IGYgKCk7Cit9OworCitzdHJ1Y3QgQiA6 IEEgCit7CisgIHVzaW5nIEE6OmY7CisgIHN0cnVjdCBmIHt9OworICB2b2lk IGcoKSB7IGYoKTsgc3RydWN0IGYgZmY7IH0KKyAgc3RydWN0IGYgZmY7Cit9 OworCkluZGV4OiBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmcy Ni5DCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy90ZXN0c3VpdGUv ZysrLmRnL2xvb2t1cC91c2luZzI2LkMJKHJldmlzaW9uIDApCisrKyBnY2Mv dGVzdHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmcyNi5DCShyZXZpc2lvbiAw KQpAQCAtMCwwICsxLDI3IEBACisvLyBQUiBjKysvMjYyNTYKKy8vIHsgZGct ZG8gY29tcGlsZSB9CisKK3N0cnVjdCBBIAoreworICAgIGRvdWJsZSBuZXh0 OyAKK307CisKK3N0cnVjdCBCIAoreworcHJpdmF0ZToKKyAgICBpbnQgbmV4 dDsgLy8geyBkZy1lcnJvciAicHJpdmF0ZSIgfQorfTsKKworc3RydWN0IEMK K3sKKyAgICBpbnQgbmV4dDsKK307CisKK3N0cnVjdCBEIDogQSwgQiwgQyAv LyB7IGRnLWVycm9yICJjb250ZXh0IiB9Cit7CisgICAgdXNpbmcgQjo6bmV4 dDsKKyAgICB2b2lkIGYoKQorICAgIHsKKwluZXh0ID0gMTI7CisgICAgfQor fTsKSW5kZXg6IGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzMx LkMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL3Rlc3RzdWl0ZS9n KysuZGcvbG9va3VwL3VzaW5nMzEuQwkocmV2aXNpb24gMCkKKysrIGdjYy90 ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzMxLkMJKHJldmlzaW9uIDAp CkBAIC0wLDAgKzEsMTIgQEAKKy8vIHsgZGctZG8gY29tcGlsZSB9CisKK3N0 cnVjdCBIMgoreworICBpbnQgZiAoKTsKK307CisKK3N0cnVjdCBKMiA6IEgy Cit7CisgIHN0cnVjdCBmIHt9OyAvLyB7IGRnLWVycm9yICJjb25mbGljdHMg d2l0aCBwcmV2aW91cyIgfQorICB1c2luZyBIMjo6ZjsgLy8geyBkZy1lcnJv ciAiZGVjbGFyYXRpb24iIH0KK307CkluZGV4OiBnY2MvdGVzdHN1aXRlL2cr Ky5kZy9sb29rdXAvdXNpbmcyMy5DCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzIzLkMJKHJl dmlzaW9uIDApCisrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9sb29rdXAvdXNp bmcyMy5DCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACisvLyBQUiBj KysvMjYyNTYKKy8vIHsgZGctZG8gY29tcGlsZSB9CisKK3N0cnVjdCBBCit7 Citwcml2YXRlOgorICAgIHR5cGVkZWYgaW50IHR5cGU7IC8vIHsgZGctZXJy b3IgInByaXZhdGUiIH0KK307CisKK3N0cnVjdCBCCit7CisgICAgdHlwZWRl ZiBkb3VibGUgdHlwZTsKK307CisKK3N0cnVjdCBDIDogQSwgQiAvLyB7IGRn LWVycm9yICJjb250ZXh0IiB9Cit7CisgICAgdXNpbmcgQTo6dHlwZTsgCisg ICAgdHlwZSBkOworfTsKSW5kZXg6IGdjYy90ZXN0c3VpdGUvZysrLmRnL2xv b2t1cC91c2luZzI3LkMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2Nj L3Rlc3RzdWl0ZS9nKysuZGcvbG9va3VwL3VzaW5nMjcuQwkocmV2aXNpb24g MCkKKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1cC91c2luZzI3LkMJ KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDkgQEAKKy8vIFBSIGMrKy8yNjI1 NgorLy8geyBkZy1kbyBydW4gfQorCitzdHJ1Y3QgQQoreworICAgIHR5cGVk ZWYgaW50IHR5cGU7Cit9OworCitzdHJ1Y3QgQgoreworICAgIHR5cGVkZWYg ZG91YmxlIHR5cGU7Cit9OworCitzdHJ1Y3QgQyA6IEEsIEIKK3sKKyAgICB1 c2luZyBBOjp0eXBlOworICAgIHR5cGUgZDsKKworICAgIHZvaWQgZigpCisg ICAgeworICAgIAl0eXBlIGU7CisgICAgCWlmIChzaXplb2YgKHR5cGUpICE9 IHNpemVvZiAoQTo6dHlwZSkpCisgICAgCSAgICBfX2J1aWx0aW5fYWJvcnQo KTsKKyAgICB9CisKKyAgICB2b2lkIGcoKTsKK307CisKK3ZvaWQgQzo6Zygp Cit7CisgICAgdHlwZSB4OworICAgIGlmIChzaXplb2YgKHR5cGUpICE9IHNp emVvZiAoQTo6dHlwZSkpCisgICAgCV9fYnVpbHRpbl9hYm9ydCgpOworfQor CitpbnQgbWFpbiAoKQoreworICAgIGlmIChzaXplb2YgKEM6OnR5cGUpICE9 IHNpemVvZiAoQTo6dHlwZSkpCisgICAgCV9fYnVpbHRpbl9hYm9ydCgpOwor CisgICAgaWYgKHNpemVvZiAoQzo6ZCkgIT0gc2l6ZW9mIChBOjp0eXBlKSkK KyAgICAJX19idWlsdGluX2Fib3J0KCk7CisKKyAgICBDOjp0eXBlIHg7Cisg ICAgQyBjOworICAgIGMuZigpOworICAgIGMuZygpOworfQorCkluZGV4OiBn Y2MvdGVzdHN1aXRlL2crKy5kZy9sb29rdXAvdXNpbmczMi5DCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGdjYy90ZXN0c3VpdGUvZysrLmRnL2xvb2t1 cC91c2luZzMyLkMJKHJldmlzaW9uIDApCisrKyBnY2MvdGVzdHN1aXRlL2cr Ky5kZy9sb29rdXAvdXNpbmczMi5DCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx LDE3IEBACisvLyB7IGRnLWRvIGNvbXBpbGUgfQorCitzdHJ1Y3QgVAorewor ICAgIHN0cnVjdCB0eXBlIHt9OworfTsKKworc3RydWN0IFQyIDogVAorewor ICAgIHVzaW5nIFQ6OnR5cGU7Cit9OworCitzdHJ1Y3QgVDMgOiBUMgorewor ICAgIHN0cnVjdCB0eXBlIHt9OworICAgIHR5cGUgdDsKK307CkluZGV4OiBn Y2MvdGVzdHN1aXRlL2crKy5kZy90ZW1wbGF0ZS91c2luZzIuQwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy90ZW1w bGF0ZS91c2luZzIuQwkocmV2aXNpb24gMTY2NzQzKQorKysgZ2NjL3Rlc3Rz dWl0ZS9nKysuZGcvdGVtcGxhdGUvdXNpbmcyLkMJKHdvcmtpbmcgY29weSkK QEAgLTcsMjQgKzcsMjUgQEAKIAogdGVtcGxhdGUgPGNsYXNzIFQ+CiBzdHJ1 Y3QgRm9vIHsKLSAgaW50IGk7IC8vIHsgZGctZXJyb3IgIkZvbyIgfQorICBp bnQgaTsKIH07CiAKIHN0cnVjdCBCYXogCiB7Ci0gIGludCBpOyAvLyB7IGRn LWVycm9yICJCYXoiIH0KKyAgaW50IGk7CiB9OwogCiB0ZW1wbGF0ZSA8Y2xh c3MgVD4KLXN0cnVjdCBCYXIgOiBwdWJsaWMgRm9vPFQ+LCBCYXogewotICB1 c2luZyBGb288VD46Omk7Ci0gIHVzaW5nIEJhejo6aTsKK3N0cnVjdCBCYXIg OiBwdWJsaWMgRm9vPFQ+LCBCYXogCit7CisgIHVzaW5nIEZvbzxUPjo6aTsg Ly8geyBkZy1tZXNzYWdlICJjb25mbGljdHMgd2l0aCBwcmV2aW91cyIgfSAK KyAgdXNpbmcgQmF6OjppOyAvLyB7IGRnLWVycm9yICJkZWNsYXJhdGlvbiIg fSAKIAotICBpbnQgZm9vICgpIHsgcmV0dXJuIGk7IH0gLy8geyBkZy1lcnJv ciAicmVxdWVzdCBmb3IgbWVtYmVyIiB9CisgIGludCBmb28gKCkgeyByZXR1 cm4gaTsgfQogfTsKIAogdm9pZCBmb28gKEJhcjxpbnQ+ICZiYXIpCiB7Ci0g IGJhci5mb28oKTsgLy8geyBkZy1tZXNzYWdlICJpbnN0YW50aWF0ZWQiIH0K KyAgICBiYXIuZm9vKCk7CiB9CiAKSW5kZXg6IGdjYy9jcC90eXBlY2suYwo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvY3AvdHlwZWNrLmMJKHJl dmlzaW9uIDE2Njc0MykKKysrIGdjYy9jcC90eXBlY2suYwkod29ya2luZyBj b3B5KQpAQCAtMjM0MCw2ICsyMzQwLDExIEBAIGJ1aWxkX2NsYXNzX21lbWJl cl9hY2Nlc3NfZXhwciAodHJlZSBvYmoKIAlyZXN1bHQgPSBidWlsZDIgKENP TVBPVU5EX0VYUFIsIFRSRUVfVFlQRSAocmVzdWx0KSwKIAkJCSBvYmplY3Qs IHJlc3VsdCk7CiAgICAgfQorICBlbHNlIGlmIChUUkVFX0NPREUgKG1lbWJl cikgPT0gVVNJTkdfREVDTCAmJiAhREVDTF9ERVBFTkRFTlRfUCAobWVtYmVy KSkKKyAgICAgICByZXN1bHQgPSBidWlsZF9jbGFzc19tZW1iZXJfYWNjZXNz X2V4cHIgKG9iamVjdCwKKwkJCQkJCVVTSU5HX0RFQ0xfREVDTFMgKG1lbWJl ciksCisJCQkJCQlhY2Nlc3NfcGF0aCwgcHJlc2VydmVfcmVmZXJlbmNlLAor CQkJCQkJY29tcGxhaW4pOwogICBlbHNlCiAgICAgewogICAgICAgaWYgKGNv bXBsYWluICYgdGZfZXJyb3IpCkluZGV4OiBnY2MvY3AvY2xhc3MuYwo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBnY2MvY3AvY2xhc3MuYwkocmV2aXNp b24gMTY2NzQzKQorKysgZ2NjL2NwL2NsYXNzLmMJKHdvcmtpbmcgY29weSkK QEAgLTI5OTAsMTUgKzI5OTAsOCBAQCBjaGVja19maWVsZF9kZWNscyAodHJl ZSB0LCB0cmVlICphY2Nlc3NfCiAKICAgICAgIGlmIChUUkVFX0NPREUgKHgp ID09IFVTSU5HX0RFQ0wpCiAJewotCSAgLyogUHJ1bmUgdGhlIGFjY2VzcyBk ZWNsYXJhdGlvbiBmcm9tIHRoZSBsaXN0IG9mIGZpZWxkcy4gICovCi0JICAq ZmllbGQgPSBERUNMX0NIQUlOICh4KTsKLQogCSAgLyogU2F2ZSB0aGUgYWNj ZXNzIGRlY2xhcmF0aW9ucyBmb3Igb3VyIGNhbGxlci4gICovCiAJICAqYWNj ZXNzX2RlY2xzID0gdHJlZV9jb25zIChOVUxMX1RSRUUsIHgsICphY2Nlc3Nf ZGVjbHMpOwotCi0JICAvKiBTaW5jZSB3ZSd2ZSByZXNldCAqRklFTEQgdGhl cmUncyBubyByZWFzb24gdG8gc2tpcCB0byB0aGUKLQkgICAgIG5leHQgZmll bGQuICAqLwotCSAgbmV4dCA9IGZpZWxkOwogCSAgY29udGludWU7CiAJfQog CkluZGV4OiBnY2MvY3Avc2VtYW50aWNzLmMKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZ2NjL2NwL3NlbWFudGljcy5jCShyZXZpc2lvbiAxNjY3NDMp CisrKyBnY2MvY3Avc2VtYW50aWNzLmMJKHdvcmtpbmcgY29weSkKQEAgLTI1 MjIsOCArMjUyMiw3IEBAIGZpbmlzaF9tZW1iZXJfZGVjbGFyYXRpb24gKHRy ZWUgZGVjbCkKIAl9CiAgICAgfQogICAvKiBFbnRlciB0aGUgREVDTCBpbnRv IHRoZSBzY29wZSBvZiB0aGUgY2xhc3MuICAqLwotICBlbHNlIGlmICgoVFJF RV9DT0RFIChkZWNsKSA9PSBVU0lOR19ERUNMICYmICFERUNMX0RFUEVOREVO VF9QIChkZWNsKSkKLQkgICB8fCBwdXNoZGVjbF9jbGFzc19sZXZlbCAoZGVj bCkpCisgIGVsc2UgaWYgKHB1c2hkZWNsX2NsYXNzX2xldmVsIChkZWNsKSkK ICAgICB7CiAgICAgICAvKiBBbGwgVFlQRV9ERUNMcyBnbyBhdCB0aGUgZW5k IG9mIFRZUEVfRklFTERTLiAgT3JkaW5hcnkgZmllbGRzCiAJIGdvIGF0IHRo ZSBiZWdpbm5pbmcuICBUaGUgcmVhc29uIGlzIHRoYXQgbG9va3VwX2ZpZWxk XzEKSW5kZXg6IGdjYy9jcC9wYXJzZXIuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBnY2MvY3AvcGFyc2VyLmMJKHJldmlzaW9uIDE2Njc0MykKKysr IGdjYy9jcC9wYXJzZXIuYwkod29ya2luZyBjb3B5KQpAQCAtMTI5MTEsNiAr MTI5MTEsMTAgQEAgY3BfcGFyc2VyX25vbmNsYXNzX25hbWUgKGNwX3BhcnNl ciogcGFycwogICAvKiBMb29rIHVwIHRoZSB0eXBlLW5hbWUuICAqLwogICB0 eXBlX2RlY2wgPSBjcF9wYXJzZXJfbG9va3VwX25hbWVfc2ltcGxlIChwYXJz ZXIsIGlkZW50aWZpZXIsIHRva2VuLT5sb2NhdGlvbik7CiAKKyAgLyogSWYg aXQgaXMgYSB1c2luZyBkZWNsLCB1c2UgaXRzIHVuZGVybHlpbmcgZGVjbC4g ICovCisgIGlmIChUUkVFX0NPREUgKHR5cGVfZGVjbCkgPT0gVVNJTkdfREVD TCAmJiAhREVDTF9ERVBFTkRFTlRfUCAodHlwZV9kZWNsKSkKKyAgICAgICB0 eXBlX2RlY2wgPSBVU0lOR19ERUNMX0RFQ0xTICh0eXBlX2RlY2wpOworCiAg IGlmIChUUkVFX0NPREUgKHR5cGVfZGVjbCkgIT0gVFlQRV9ERUNMCiAgICAg ICAmJiAob2JqY19pc19pZCAoaWRlbnRpZmllcikgfHwgb2JqY19pc19jbGFz c19uYW1lIChpZGVudGlmaWVyKSkpCiAgICAgewpJbmRleDogZ2NjL2NwL3Nl YXJjaC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdjYy9jcC9zZWFy Y2guYwkocmV2aXNpb24gMTY2NzQzKQorKysgZ2NjL2NwL3NlYXJjaC5jCSh3 b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNyBAQAogLyogQnJlYWR0aC1maXJz dCBhbmQgZGVwdGgtZmlyc3Qgcm91dGluZXMgZm9yCiAgICBzZWFyY2hpbmcg bXVsdGlwbGUtaW5oZXJpdGFuY2UgbGF0dGljZSBmb3IgR05VIEMrKy4KICAg IENvcHlyaWdodCAoQykgMTk4NywgMTk4OSwgMTk5MiwgMTk5MywgMTk5NCwg MTk5NSwgMTk5NiwgMTk5NywgMTk5OCwKLSAgIDE5OTksIDIwMDAsIDIwMDIs IDIwMDMsIDIwMDQsIDIwMDUsIDIwMDcsIDIwMDgsIDIwMDkKKyAgIDE5OTks IDIwMDAsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDcsIDIwMDgsIDIw MDksIDIwMTAKICAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog ICAgQ29udHJpYnV0ZWQgYnkgTWljaGFlbCBUaWVtYW5uICh0aWVtYW5uQGN5 Z251cy5jb20pCiAKQEAgLTQ2MiwxNyArNDYyLDE1IEBAIGxvb2t1cF9maWVs ZF8xICh0cmVlIHR5cGUsIHRyZWUgbmFtZSwgYm8KIAl9CiAgICAgICBpZiAo VFJFRV9DT0RFIChmaWVsZCkgPT0gVVNJTkdfREVDTCkKIAl7Ci0JICAvKiBX ZSBnZW5lcmFsbHkgdHJlYXQgY2xhc3Mtc2NvcGUgdXNpbmctZGVjbGFyYXRp b25zIGFzCi0JICAgICBBUk0tc3R5bGUgYWNjZXNzIHNwZWNpZmljYXRpb25z LCBiZWNhdXNlIHN1cHBvcnQgZm9yIHRoZQotCSAgICAgSVNPIHNlbWFudGlj cyBoYXMgbm90IGJlZW4gaW1wbGVtZW50ZWQuICBTbywgaW4gZ2VuZXJhbCwK LQkgICAgIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIHJldHVybiBhIFVTSU5HX0RF Q0wsIGFuZCB0aGUgcmVzdCBvZgotCSAgICAgdGhlIGNvbXBpbGVyIGNhbm5v dCBoYW5kbGUgdGhhdC4gIE9uY2UgdGhlIGNsYXNzIGlzCi0JICAgICBkZWZp bmVkLCBVU0lOR19ERUNMcyBhcmUgcHVyZ2VkIGZyb20gVFlQRV9GSUVMRFM7 IHNlZQotCSAgICAgaGFuZGxlX3VzaW5nX2RlY2wuICBIb3dldmVyLCB3ZSBt YWtlIHNwZWNpYWwgZWZmb3J0cyB0bwotCSAgICAgbWFrZSB1c2luZy1kZWNs YXJhdGlvbnMgaW4gY2xhc3MgdGVtcGxhdGVzIGFuZCBjbGFzcwotCSAgICAg dGVtcGxhdGUgcGFydGlhbCBzcGVjaWFsaXphdGlvbnMgd29yayBjb3JyZWN0 bHkuICAqLwogCSAgaWYgKCFERUNMX0RFUEVOREVOVF9QIChmaWVsZCkpCi0J ICAgIGNvbnRpbnVlOworCSAgICB7CisJICAgICAgdHJlZSB1c2luZ19kZWNs ID0gVVNJTkdfREVDTF9ERUNMUyAoZmllbGQpOworCSAgICAgIGlmICgoVFJF RV9DT0RFICh1c2luZ19kZWNsKSA9PSBGSUVMRF9ERUNMCisJICAgICAgCSAg IHx8IFRSRUVfQ09ERSAodXNpbmdfZGVjbCkgPT0gVFlQRV9ERUNMKQorCSAg ICAgIAkgICYmIERFQ0xfTkFNRSAodXNpbmdfZGVjbCkgPT0gbmFtZSkKKwkJ cmV0dXJuIHVzaW5nX2RlY2w7CisJICAgICAgY29udGludWU7CisJICAgIH0K IAl9CiAKICAgICAgIGlmIChERUNMX05BTUUgKGZpZWxkKSA9PSBuYW1lCklu ZGV4OiBnY2MvY3AvbmFtZS1sb29rdXAuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBnY2MvY3AvbmFtZS1sb29rdXAuYwkocmV2aXNpb24gMTY2NzQz KQorKysgZ2NjL2NwL25hbWUtbG9va3VwLmMJKHdvcmtpbmcgY29weSkKQEAg LTQzOSw3ICs0MzksMTAgQEAgc3VwcGxlbWVudF9iaW5kaW5nIChjeHhfYmlu ZGluZyAqYmluZGluZwogICBib29sIG9rID0gdHJ1ZTsKIAogICB0aW1ldmFy X3B1c2ggKFRWX05BTUVfTE9PS1VQKTsKLSAgaWYgKFRSRUVfQ09ERSAoZGVj bCkgPT0gVFlQRV9ERUNMICYmIERFQ0xfQVJUSUZJQ0lBTCAoZGVjbCkpCisg IGlmIChUUkVFX0NPREUgKGRlY2wpID09IFRZUEVfREVDTCAmJiBERUNMX0FS VElGSUNJQUwgKGRlY2wpCisgICAgICAmJiAoVFJFRV9DT0RFIChidmFsKSAh PSBVU0lOR19ERUNMCisJICB8fCAoIURFQ0xfREVQRU5ERU5UX1AgKGJ2YWwp CisJICAgICAgJiYgKFRSRUVfQ09ERSAoVVNJTkdfREVDTF9ERUNMUyAoYnZh bCkpICE9IFRZUEVfREVDTCkpKSkKICAgICAvKiBUaGUgbmV3IG5hbWUgaXMg dGhlIHR5cGUgbmFtZS4gICovCiAgICAgYmluZGluZy0+dHlwZSA9IGRlY2w7 CiAgIGVsc2UgaWYgKC8qIEJWQUwgaXMgbnVsbCB3aGVuIHB1c2hfY2xhc3Nf bGV2ZWxfYmluZGluZyBtb3ZlcyBhbgpAQCAtNDU4LDcgKzQ2MSw4IEBAIHN1 cHBsZW1lbnRfYmluZGluZyAoY3h4X2JpbmRpbmcgKmJpbmRpbmcKIAkgICAg ICAgJiYgREVDTF9BTlRJQ0lQQVRFRCAoYnZhbCkKIAkgICAgICAgJiYgIURF Q0xfSElEREVOX0ZSSUVORF9QIChidmFsKSkpCiAgICAgYmluZGluZy0+dmFs dWUgPSBkZWNsOwotICBlbHNlIGlmIChUUkVFX0NPREUgKGJ2YWwpID09IFRZ UEVfREVDTCAmJiBERUNMX0FSVElGSUNJQUwgKGJ2YWwpKQorICBlbHNlIGlm IChUUkVFX0NPREUgKGJ2YWwpID09IFRZUEVfREVDTCAmJiBERUNMX0FSVElG SUNJQUwgKGJ2YWwpCisJICAgJiYgVFJFRV9DT0RFIChkZWNsKSAhPSBVU0lO R19ERUNMKQogICAgIHsKICAgICAgIC8qIFRoZSBvbGQgYmluZGluZyB3YXMg YSB0eXBlIG5hbWUuICBJdCB3YXMgcGxhY2VkIGluCiAJIFZBTFVFIGZpZWxk IGJlY2F1c2UgaXQgd2FzIHRob3VnaHQsIGF0IHRoZSBwb2ludCBpdCB3YXMK QEAgLTI5MTAsNyArMjkxNCwxNSBAQCBwdXNoX2NsYXNzX2xldmVsX2JpbmRp bmcgKHRyZWUgbmFtZSwgdHJlCiAgICAgICBlbHNlIGlmIChUUkVFX0NPREUg KHgpID09IE9WRVJMT0FEICYmIGlzX292ZXJsb2FkZWRfZm4gKGJ2YWwpKQog CW9sZF9kZWNsID0gYnZhbDsKICAgICAgIGVsc2UgaWYgKFRSRUVfQ09ERSAo eCkgPT0gVVNJTkdfREVDTCAmJiBUUkVFX0NPREUgKGJ2YWwpID09IFVTSU5H X0RFQ0wpCi0JUE9QX1RJTUVWQVJfQU5EX1JFVFVSTiAoVFZfTkFNRV9MT09L VVAsIHRydWUpOworCXsKKwkgIGlmIChERUNMX0RFUEVOREVOVF9QICh4KQor CSAgICAgIHx8IFRSRUVfQ09ERSAoVVNJTkdfREVDTF9ERUNMUyAoeCkpID09 IEZVTkNUSU9OX0RFQ0wpCisJICAgIFBPUF9USU1FVkFSX0FORF9SRVRVUk4g KFRWX05BTUVfTE9PS1VQLCB0cnVlKTsKKworCSAgaWYgKERFQ0xfREVQRU5E RU5UX1AgKGJ2YWwpCisJICAgICAgfHwgVFJFRV9DT0RFIChVU0lOR19ERUNM X0RFQ0xTIChidmFsKSkgPT0gRlVOQ1RJT05fREVDTCkKKwkgICAgUE9QX1RJ TUVWQVJfQU5EX1JFVFVSTiAoVFZfTkFNRV9MT09LVVAsIHRydWUpOworCX0K ICAgICAgIGVsc2UgaWYgKFRSRUVfQ09ERSAoeCkgPT0gVVNJTkdfREVDTCAm JiBpc19vdmVybG9hZGVkX2ZuIChidmFsKSkKIAlvbGRfZGVjbCA9IGJ2YWw7 CiAgICAgICBlbHNlIGlmIChUUkVFX0NPREUgKGJ2YWwpID09IFVTSU5HX0RF Q0wgJiYgaXNfb3ZlcmxvYWRlZF9mbiAoeCkpCkluZGV4OiBnY2MvZGJ4b3V0 LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2NjL2RieG91dC5jCShy ZXZpc2lvbiAxNjY3NDMpCisrKyBnY2MvZGJ4b3V0LmMJKHdvcmtpbmcgY29w eSkKQEAgLTE0MzcsNiArMTQzNyw4IEBAIGRieG91dF90eXBlX2ZpZWxkcyAo dHJlZSB0eXBlKQogICAgICAgaWYgKFRSRUVfQ09ERSAodGVtKSA9PSBUWVBF X0RFQ0wKIAkgIC8qIE9taXQgaGVyZSB0aGUgbmFtZWxlc3MgZmllbGRzIHRo YXQgYXJlIHVzZWQgdG8gc2tpcCBiaXRzLiAgKi8KIAkgIHx8IERFQ0xfSUdO T1JFRF9QICh0ZW0pCisJICAvKiBPbWl0IFVTSU5HX0RFQ0wgKi8KKwkgIHx8 IFRSRUVfQ09ERSAodGVtKSA+PSBMQVNUX0FORF9VTlVTRURfVFJFRV9DT0RF CiAJICAvKiBPbWl0IGZpZWxkcyB3aG9zZSBwb3NpdGlvbiBvciBzaXplIGFy ZSB2YXJpYWJsZSBvciB0b28gbGFyZ2UgdG8KIAkgICAgIHJlcHJlc2VudC4g ICovCiAJICB8fCAoVFJFRV9DT0RFICh0ZW0pID09IEZJRUxEX0RFQ0wK --0016364ec8c8a3d3b50497d64c0f--