From cfe-commits Fri Aug 07 02:25:28 2015 From: Nathan Wilson via cfe-commits Date: Fri, 07 Aug 2015 02:25:28 +0000 To: cfe-commits Subject: Re: [PATCH] D11789: Modify DeclaratorChuck::getFunction to be passed an Exception Specification Sour Message-Id: X-MARC-Message: https://marc.info/?l=cfe-commits&m=143891433324032 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--b1_b8bb1d0922cc13f60e9d570aabe05332" --b1_b8bb1d0922cc13f60e9d570aabe05332 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: quoted-printable nwilson updated this revision to Diff 31502. nwilson added a comment. - Update Patch based on comments; rephrase exception spec comment, adjust n= esting of check for FunctionTypeInfo, remove SourceRange check, fix test http://reviews.llvm.org/D11789 Files: include/clang/Basic/DiagnosticSemaKinds.td include/clang/Sema/DeclSpec.h lib/Parse/ParseDecl.cpp lib/Parse/ParseExpr.cpp lib/Parse/ParseExprCXX.cpp lib/Sema/DeclSpec.cpp lib/Sema/SemaDecl.cpp lib/Sema/SemaType.cpp test/SemaCXX/cxx-concept-declaration.cpp --b1_b8bb1d0922cc13f60e9d570aabe05332 Content-Type: text/x-patch; charset=utf-8; name="D11789.31502.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D11789.31502.patch" SW5kZXg6IHRlc3QvU2VtYUNYWC9jeHgtY29uY2VwdC1kZWNsYXJhdGlvbi5j cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdC9TZW1hQ1hYL2N4 eC1jb25jZXB0LWRlY2xhcmF0aW9uLmNwcAorKysgdGVzdC9TZW1hQ1hYL2N4 eC1jb25jZXB0LWRlY2xhcmF0aW9uLmNwcApAQCAtMSwxMSArMSwxNCBAQAot Ly8gUlVOOiAgJWNsYW5nX2NjMSAtc3RkPWMrKzE0IC1mY29uY2VwdHMtdHMg LXggYysrIC12ZXJpZnkgJXMKKy8vIFJVTjogICVjbGFuZ19jYzEgLXN0ZD1j KysxNCAtZmNvbmNlcHRzLXRzIC1mY3h4LWV4Y2VwdGlvbnMgLXggYysrIC12 ZXJpZnkgJXMKIAogbmFtZXNwYWNlIEEgewogICB0ZW1wbGF0ZTx0eXBlbmFt ZSBUPiBjb25jZXB0IGJvb2wgQzEoKSB7IHJldHVybiB0cnVlOyB9CiAKICAg dGVtcGxhdGU8dHlwZW5hbWUgVD4gY29uY2VwdCBib29sIEMyID0gdHJ1ZTsK IH0KIAordGVtcGxhdGU8dHlwZW5hbWUgVD4gY29uY2VwdCBib29sIEMzKCkg eyByZXR1cm4gKHRocm93LCAwLCB0cnVlKTsgfQorc3RhdGljX2Fzc2VydChu b2V4Y2VwdChDMzxpbnQ+KCkpLCAiZnVuY3Rpb24gY29uY2VwdCBzaG91bGQg YmUgdHJlYXRlZCBhcyBpZiBub2V4Y2VwdCh0cnVlKSBzcGVjaWZpZWQiKTsK KwogdGVtcGxhdGU8dHlwZW5hbWUgVD4gY29uY2VwdCBib29sIEQxKCk7IC8v IGV4cGVjdGVkLWVycm9yIHt7ZnVuY3Rpb24gY29uY2VwdCBkZWNsYXJhdGlv biBtdXN0IGJlIGEgZGVmaW5pdGlvbn19CiAKIHN0cnVjdCBCIHsKQEAgLTIz LDMgKzI2LDUgQEAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiBjb25jZXB0IGJv b2wgRDY7IC8vIGV4cGVjdGVkLWVycm9yIHt7dmFyaWFibGUgY29uY2VwdCBk ZWNsYXJhdGlvbiBtdXN0IGJlIGluaXRpYWxpemVkfX0KIAordGVtcGxhdGU8 dHlwZW5hbWUgVD4KK2NvbmNlcHQgYm9vbCBENygpIHRocm93KGludCkgeyBy ZXR1cm4gdHJ1ZTsgfSAvLyBleHBlY3RlZC1lcnJvciB7e2Z1bmN0aW9uIGNv bmNlcHQgY2Fubm90IGhhdmUgZXhjZXB0aW9uIHNwZWNpZmljYXRpb259fQpJ bmRleDogbGliL1NlbWEvU2VtYVR5cGUuY3BwCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIGxpYi9TZW1hL1NlbWFUeXBlLmNwcAorKysgbGliL1NlbWEv U2VtYVR5cGUuY3BwCkBAIC03MDAsNyArNzAwLDcgQEAKICAgICAgIC8qVm9s YXRpbGVRdWFsaWZpZXJMb2M9Ki9Ob0xvYywKICAgICAgIC8qUmVzdHJpY3RR dWFsaWZpZXJMb2M9Ki9Ob0xvYywKICAgICAgIC8qTXV0YWJsZUxvYz0qL05v TG9jLCBFU1RfTm9uZSwKLSAgICAgIC8qRVNwZWNMb2M9Ki9Ob0xvYywKKyAg ICAgIC8qRVNwZWNSYW5nZT0qL1NvdXJjZVJhbmdlKCksCiAgICAgICAvKkV4 Y2VwdGlvbnM9Ki9udWxscHRyLAogICAgICAgLypFeGNlcHRpb25SYW5nZXM9 Ki9udWxscHRyLAogICAgICAgLypOdW1FeGNlcHRpb25zPSovMCwKQEAgLTM4 MzMsNyArMzgzMyw3IEBACiAgICAgICAvLyBFeGNlcHRpb24gc3BlY3MgYXJl IG5vdCBhbGxvd2VkIGluIHR5cGVkZWZzLiBDb21wbGFpbiwgYnV0IGFkZCBp dAogICAgICAgLy8gYW55d2F5LgogICAgICAgaWYgKElzVHlwZWRlZk5hbWUg JiYgRlRJLmdldEV4Y2VwdGlvblNwZWNUeXBlKCkpCi0gICAgICAgIFMuRGlh ZyhGVEkuZ2V0RXhjZXB0aW9uU3BlY0xvYygpLCBkaWFnOjplcnJfZXhjZXB0 aW9uX3NwZWNfaW5fdHlwZWRlZikKKyAgICAgICAgUy5EaWFnKEZUSS5nZXRF eGNlcHRpb25TcGVjTG9jQmVnKCksIGRpYWc6OmVycl9leGNlcHRpb25fc3Bl Y19pbl90eXBlZGVmKQogICAgICAgICAgIDw8IChELmdldENvbnRleHQoKSA9 PSBEZWNsYXJhdG9yOjpBbGlhc0RlY2xDb250ZXh0IHx8CiAgICAgICAgICAg ICAgIEQuZ2V0Q29udGV4dCgpID09IERlY2xhcmF0b3I6OkFsaWFzVGVtcGxh dGVDb250ZXh0KTsKIApJbmRleDogbGliL1NlbWEvU2VtYURlY2wuY3BwCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpYi9TZW1hL1NlbWFEZWNsLmNw cAorKysgbGliL1NlbWEvU2VtYURlY2wuY3BwCkBAIC03NDQyLDYgKzc0NDIs MjMgQEAKICAgICAgICAgTmV3RkQtPnNldEludmFsaWREZWNsKCk7CiAgICAg ICB9CiAKKyAgICAgIC8vIEMrKyBDb25jZXB0cyBUUyBbZGNsLnNwZWMuY29u Y2VwdF1wMTogWy4uLl0gQSBmdW5jdGlvbiBjb25jZXB0IHNoYWxsCisgICAg ICAvLyBoYXZlIG5vIGV4Y2VwdGlvbi1zcGVjaWZpY2F0aW9uIGFuZCBpcyB0 cmVhdGVkIGFzIGlmIGl0IHdlcmUgc3BlY2lmaWVkCisgICAgICAvLyB3aXRo IG5vZXhjZXB0KHRydWUpICgxNS40KS4gWy4uLl0KKyAgICAgIGlmIChjb25z dCBGdW5jdGlvblByb3RvVHlwZSAqRlBUID0gUi0+Z2V0QXM8RnVuY3Rpb25Q cm90b1R5cGU+KCkpIHsKKyAgICAgICAgaWYgKEZQVC0+aGFzRXhjZXB0aW9u U3BlYygpKSB7CisgICAgICAgICAgU291cmNlUmFuZ2UgUmFuZ2U7CisgICAg ICAgICAgaWYgKEQuaXNGdW5jdGlvbkRlY2xhcmF0b3IoKSkgeworICAgICAg ICAgICAgUmFuZ2UgPSBELmdldEZ1bmN0aW9uVHlwZUluZm8oKS5nZXRFeGNl cHRpb25TcGVjUmFuZ2UoKTsKKyAgICAgICAgICAgIERpYWcoUmFuZ2UuZ2V0 QmVnaW4oKSwgZGlhZzo6ZXJyX2Z1bmN0aW9uX2NvbmNlcHRfZXhjZXB0aW9u X3NwZWMpCisgICAgICAgICAgICAgICAgPDwgRml4SXRIaW50OjpDcmVhdGVS ZW1vdmFsKFJhbmdlKTsKKyAgICAgICAgICAgIE5ld0ZELT5zZXRJbnZhbGlk RGVjbCgpOworICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNlIHsKKyAgICAg ICAgICBDb250ZXh0LmFkanVzdEV4Y2VwdGlvblNwZWMoTmV3RkQsIEVTVF9C YXNpY05vZXhjZXB0KTsKKyAgICAgICAgfQorICAgICAgfQorCiAgICAgICAv LyBDKysgQ29uY2VwdHMgVFMgW2RjbC5zcGVjLmNvbmNlcHRdcDI6IEV2ZXJ5 IGNvbmNlcHQgZGVmaW5pdGlvbiBpcwogICAgICAgLy8gaW1wbGljaXR5IGRl ZmluZWQgdG8gYmUgYSBjb25zdGV4cHIgZGVjbGFyYXRpb24gKGltcGxpY2l0 bHkgaW5saW5lKQogICAgICAgTmV3RkQtPnNldEltcGxpY2l0bHlJbmxpbmUo KTsKQEAgLTExMDc1LDcgKzExMDkyLDcgQEAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qUmVzdHJpY3RRdWFsaWZp ZXJMb2M9Ki9Ob0xvYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qTXV0YWJsZUxvYz0qL05vTG9jLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVNUX05v bmUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvKkVTcGVjTG9jPSovTm9Mb2MsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvKkVTcGVjUmFuZ2U9Ki9Tb3Vy Y2VSYW5nZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLypFeGNlcHRpb25zPSovbnVsbHB0ciwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qRXhjZXB0 aW9uUmFuZ2VzPSovbnVsbHB0ciwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qTnVtRXhjZXB0aW9ucz0qLzAsCklu ZGV4OiBsaWIvU2VtYS9EZWNsU3BlYy5jcHAKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gbGliL1NlbWEvRGVjbFNwZWMuY3BwCisrKyBsaWIvU2VtYS9E ZWNsU3BlYy5jcHAKQEAgLTE3Nyw3ICsxNzcsNyBAQAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlTG9jYXRp b24gTXV0YWJsZUxvYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEV4Y2VwdGlvblNwZWNpZmljYXRpb25UeXBlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRVNwZWNUeXBlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU291cmNlTG9jYXRpb24gRVNwZWNMb2MsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3Vy Y2VSYW5nZSBFU3BlY1JhbmdlLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUGFyc2VkVHlwZSAqRXhjZXB0aW9ucywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFNvdXJjZVJhbmdlICpFeGNlcHRpb25SYW5nZXMsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBOdW1F eGNlcHRpb25zLApAQCAtMjEyLDcgKzIxMiw4IEBACiAgIEkuRnVuLlJlc3Ry aWN0UXVhbGlmaWVyTG9jICAgID0gUmVzdHJpY3RRdWFsaWZpZXJMb2MuZ2V0 UmF3RW5jb2RpbmcoKTsKICAgSS5GdW4uTXV0YWJsZUxvYyAgICAgICAgICAg ICAgPSBNdXRhYmxlTG9jLmdldFJhd0VuY29kaW5nKCk7CiAgIEkuRnVuLkV4 Y2VwdGlvblNwZWNUeXBlICAgICAgID0gRVNwZWNUeXBlOwotICBJLkZ1bi5F eGNlcHRpb25TcGVjTG9jICAgICAgICA9IEVTcGVjTG9jLmdldFJhd0VuY29k aW5nKCk7CisgIEkuRnVuLkV4Y2VwdGlvblNwZWNMb2NCZWcgICAgID0gRVNw ZWNSYW5nZS5nZXRCZWdpbigpLmdldFJhd0VuY29kaW5nKCk7CisgIEkuRnVu LkV4Y2VwdGlvblNwZWNMb2NFbmQgICAgID0gRVNwZWNSYW5nZS5nZXRFbmQo KS5nZXRSYXdFbmNvZGluZygpOwogICBJLkZ1bi5OdW1FeGNlcHRpb25zICAg ICAgICAgICA9IDA7CiAgIEkuRnVuLkV4Y2VwdGlvbnMgICAgICAgICAgICAg ID0gbnVsbHB0cjsKICAgSS5GdW4uTm9leGNlcHRFeHByICAgICAgICAgICAg PSBudWxscHRyOwpJbmRleDogbGliL1BhcnNlL1BhcnNlRXhwckNYWC5jcHAK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGliL1BhcnNlL1BhcnNlRXhw ckNYWC5jcHAKKysrIGxpYi9QYXJzZS9QYXJzZUV4cHJDWFguY3BwCkBAIC0x MTQ5LDcgKzExNDksNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qVm9sYXRpbGVRdWFsaWZpZXJMb2M9Ki9Ob0xv YywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvKlJlc3RyaWN0UXVhbGlmaWVyTG9jPSovTm9Mb2MsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXV0YWJsZUxvYywK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF U3BlY1R5cGUsIEVTcGVjUmFuZ2UuZ2V0QmVnaW4oKSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFU3BlY1R5cGUsIEVT cGVjUmFuZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRHluYW1pY0V4Y2VwdGlvbnMuZGF0YSgpLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIER5bmFtaWNFeGNl cHRpb25SYW5nZXMuZGF0YSgpLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIER5bmFtaWNFeGNlcHRpb25zLnNpemUoKSwK QEAgLTEyMTcsNyArMTIxNyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC8qUmVzdHJpY3RRdWFsaWZpZXJM b2M9Ki9Ob0xvYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTXV0YWJsZUxvYywKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRVNUX05vbmUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q RVNwZWNMb2M9Ki9Ob0xvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLypFU3BlY1JhbmdlPSovU291cmNlUmFu Z2UoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLypFeGNlcHRpb25zPSovbnVsbHB0ciwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypFeGNlcHRp b25SYW5nZXM9Ki9udWxscHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvKk51bUV4Y2VwdGlvbnM9Ki8wLApJ bmRleDogbGliL1BhcnNlL1BhcnNlRXhwci5jcHAKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gbGliL1BhcnNlL1BhcnNlRXhwci5jcHAKKysrIGxpYi9Q YXJzZS9QYXJzZUV4cHIuY3BwCkBAIC0yNzQ3LDcgKzI3NDcsNyBAQAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypS ZXN0cmljdFF1YWxpZmllckxvYz0qL05vTG9jLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypNdXRhYmxlTG9jPSov Tm9Mb2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBFU1RfTm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8qRVNwZWNMb2M9Ki9Ob0xvYywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qRVNw ZWNSYW5nZT0qL1NvdXJjZVJhbmdlKCksCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvKkV4Y2VwdGlvbnM9Ki9udWxs cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLypFeGNlcHRpb25SYW5nZXM9Ki9udWxscHRyLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypOdW1FeGNl cHRpb25zPSovMCwKSW5kZXg6IGxpYi9QYXJzZS9QYXJzZURlY2wuY3BwCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tIGxpYi9QYXJzZS9QYXJzZURlY2wu Y3BwCisrKyBsaWIvUGFyc2UvUGFyc2VEZWNsLmNwcApAQCAtNTYxMiw3ICs1 NjEyLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFZvbGF0aWxlUXVhbGlmaWVyTG9jLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzdHJpY3RRdWFs aWZpZXJMb2MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvKk11dGFibGVMb2M9Ki9Tb3VyY2VMb2NhdGlvbigpLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RVNwZWNUeXBlLCBFU3BlY1JhbmdlLmdldEJlZ2luKCksCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFU3BlY1R5cGUs IEVTcGVjUmFuZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBEeW5hbWljRXhjZXB0aW9ucy5kYXRhKCksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEeW5h bWljRXhjZXB0aW9uUmFuZ2VzLmRhdGEoKSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIER5bmFtaWNFeGNlcHRpb25z LnNpemUoKSwKSW5kZXg6IGluY2x1ZGUvY2xhbmcvU2VtYS9EZWNsU3BlYy5o Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGluY2x1ZGUvY2xhbmcvU2Vt YS9EZWNsU3BlYy5oCisrKyBpbmNsdWRlL2NsYW5nL1NlbWEvRGVjbFNwZWMu aApAQCAtMTI1NSw4ICsxMjU1LDExIEBACiAgICAgLy8vIGFueS4KICAgICB1 bnNpZ25lZCBNdXRhYmxlTG9jOwogCi0gICAgLy8vIFxicmllZiBUaGUgbG9j YXRpb24gb2YgdGhlIGtleXdvcmQgaW50cm9kdWNpbmcgdGhlIHNwZWMsIGlm IGFueS4KLSAgICB1bnNpZ25lZCBFeGNlcHRpb25TcGVjTG9jOworICAgIC8v LyBcYnJpZWYgVGhlIGJlZ2lubmluZyBsb2NhdGlvbiBvZiB0aGUgZXhjZXB0 aW9uIHNwZWNpZmllciwgaWYgYW55LgorICAgIHVuc2lnbmVkIEV4Y2VwdGlv blNwZWNMb2NCZWc7CisKKyAgICAvLy8gXGJyaWVmIFRoZSBlbmQgbG9jYXRp b24gb2YgdGhlIGV4Y2VwdGlvbiBzcGVjaWZpZXIsIGlmIGFueS4KKyAgICB1 bnNpZ25lZCBFeGNlcHRpb25TcGVjTG9jRW5kOwogCiAgICAgLy8vIFBhcmFt cyAtIFRoaXMgaXMgYSBwb2ludGVyIHRvIGEgbmV3W10nZCBhcnJheSBvZiBQ YXJhbUluZm8gb2JqZWN0cyB0aGF0CiAgICAgLy8vIGRlc2NyaWJlIHRoZSBw YXJhbWV0ZXJzIHNwZWNpZmllZCBieSB0aGlzIGZ1bmN0aW9uIGRlY2xhcmF0 b3IuICBudWxsIGlmCkBAIC0xMzIzLDggKzEzMjYsMTYgQEAKICAgICAgIHJl dHVybiBTb3VyY2VMb2NhdGlvbjo6Z2V0RnJvbVJhd0VuY29kaW5nKFJQYXJl bkxvYyk7CiAgICAgfQogCi0gICAgU291cmNlTG9jYXRpb24gZ2V0RXhjZXB0 aW9uU3BlY0xvYygpIGNvbnN0IHsKLSAgICAgIHJldHVybiBTb3VyY2VMb2Nh dGlvbjo6Z2V0RnJvbVJhd0VuY29kaW5nKEV4Y2VwdGlvblNwZWNMb2MpOwor ICAgIFNvdXJjZUxvY2F0aW9uIGdldEV4Y2VwdGlvblNwZWNMb2NCZWcoKSBj b25zdCB7CisgICAgICByZXR1cm4gU291cmNlTG9jYXRpb246OmdldEZyb21S YXdFbmNvZGluZyhFeGNlcHRpb25TcGVjTG9jQmVnKTsKKyAgICB9CisKKyAg ICBTb3VyY2VMb2NhdGlvbiBnZXRFeGNlcHRpb25TcGVjTG9jRW5kKCkgY29u c3QgeworICAgICAgcmV0dXJuIFNvdXJjZUxvY2F0aW9uOjpnZXRGcm9tUmF3 RW5jb2RpbmcoRXhjZXB0aW9uU3BlY0xvY0VuZCk7CisgICAgfQorCisgICAg U291cmNlUmFuZ2UgZ2V0RXhjZXB0aW9uU3BlY1JhbmdlKCkgY29uc3Qgewor ICAgICAgcmV0dXJuIFNvdXJjZVJhbmdlKGdldEV4Y2VwdGlvblNwZWNMb2NC ZWcoKSwgZ2V0RXhjZXB0aW9uU3BlY0xvY0VuZCgpKTsKICAgICB9CiAKICAg ICAvLy8gXGJyaWVmIFJldHJpZXZlIHRoZSBsb2NhdGlvbiBvZiB0aGUgcmVm LXF1YWxpZmllciwgaWYgYW55LgpAQCAtMTQ5Niw3ICsxNTA3LDcgQEAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VMb2Nh dGlvbiBSZXN0cmljdFF1YWxpZmllckxvYywKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTb3VyY2VMb2NhdGlvbiBNdXRhYmxlTG9j LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEV4Y2Vw dGlvblNwZWNpZmljYXRpb25UeXBlIEVTcGVjVHlwZSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2VMb2NhdGlvbiBFU3Bl Y0xvYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT b3VyY2VSYW5nZSBFU3BlY1JhbmdlLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFBhcnNlZFR5cGUgKkV4Y2VwdGlvbnMsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU291cmNlUmFuZ2Ug KkV4Y2VwdGlvblJhbmdlcywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBOdW1FeGNlcHRpb25zLApJbmRleDogaW5j bHVkZS9jbGFuZy9CYXNpYy9EaWFnbm9zdGljU2VtYUtpbmRzLnRkCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIGluY2x1ZGUvY2xhbmcvQmFzaWMvRGlh Z25vc3RpY1NlbWFLaW5kcy50ZAorKysgaW5jbHVkZS9jbGFuZy9CYXNpYy9E aWFnbm9zdGljU2VtYUtpbmRzLnRkCkBAIC0xOTczLDYgKzE5NzMsOCBAQAog ICAiZnVuY3Rpb24gY29uY2VwdCBkZWNsYXJhdGlvbiBtdXN0IGJlIGEgZGVm aW5pdGlvbiI+OwogZGVmIGVycl92YXJfY29uY2VwdF9ub3RfaW5pdGlhbGl6 ZWQgOiBFcnJvcjwKICAgInZhcmlhYmxlIGNvbmNlcHQgZGVjbGFyYXRpb24g bXVzdCBiZSBpbml0aWFsaXplZCI+OworZGVmIGVycl9mdW5jdGlvbl9jb25j ZXB0X2V4Y2VwdGlvbl9zcGVjIDogRXJyb3I8CisgICJmdW5jdGlvbiBjb25j ZXB0IGNhbm5vdCBoYXZlIGV4Y2VwdGlvbiBzcGVjaWZpY2F0aW9uIj47CiAK IC8vIEMrKzExIGNoYXIxNl90L2NoYXIzMl90CiBkZWYgd2Fybl9jeHg5OF9j b21wYXRfdW5pY29kZV90eXBlIDogV2FybmluZzwK --b1_b8bb1d0922cc13f60e9d570aabe05332 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KY2ZlLWNvbW1p dHMgbWFpbGluZyBsaXN0CmNmZS1jb21taXRzQGxpc3RzLmxsdm0ub3JnCmh0dHA6Ly9saXN0cy5s bHZtLm9yZy9jZ2ktYmluL21haWxtYW4vbGlzdGluZm8vY2ZlLWNvbW1pdHMK --b1_b8bb1d0922cc13f60e9d570aabe05332--