From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 74313 invoked by alias); 11 Nov 2015 22:46:42 -0000 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 Received: (qmail 73215 invoked by uid 89); 11 Nov 2015 22:46:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-vk0-f47.google.com Received: from mail-vk0-f47.google.com (HELO mail-vk0-f47.google.com) (209.85.213.47) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 11 Nov 2015 22:46:38 +0000 Received: by vkgy188 with SMTP id y188so194162vkg.1; Wed, 11 Nov 2015 14:46:36 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.31.132.211 with SMTP id g202mr73534vkd.140.1447281996306; Wed, 11 Nov 2015 14:46:36 -0800 (PST) Received: by 10.103.112.130 with HTTP; Wed, 11 Nov 2015 14:46:36 -0800 (PST) In-Reply-To: <20151111221800.GU2937@redhat.com> References: <20151111221800.GU2937@redhat.com> Date: Wed, 11 Nov 2015 22:46:00 -0000 Message-ID: Subject: Re: [v3 PATCH] Implement D0013R2, logical type traits. From: Ville Voutilainen To: Jonathan Wakely Cc: "gcc-patches@gcc.gnu.org" , "libstdc++" Content-Type: multipart/mixed; boundary=001a114582c84841de05244b9906 X-SW-Source: 2015-11/txt/msg01432.txt.bz2 --001a114582c84841de05244b9906 Content-Type: text/plain; charset=UTF-8 Content-length: 1137 On 12 November 2015 at 00:18, Jonathan Wakely wrote: > So I think we want to define them again, independently, in > , even though it might lead to ambiguities Here. Tested again on Linux-PPC64. 2015-11-11 Ville Voutilainen Implement D0013R2, logical type traits. /libstdc++-v3 * include/experimental/type_traits (conjunction, disjunction, negation, conjunction_v, disjunction_v, negation_v): New. * include/std/type_traits (conjunction, disjunction, negation): Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/experimental/type_traits/value.cc: Likewise. * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: New. * testsuite/20_util/logical_traits/requirements/typedefs.cc: Likewise. * testsuite/20_util/logical_traits/value.cc: Likewise. /testsuite * g++.dg/cpp0x/Wattributes1.C: Adjust. --001a114582c84841de05244b9906 Content-Type: text/plain; charset=US-ASCII; name="logical_traits3.diff" Content-Disposition: attachment; filename="logical_traits3.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_igveaikh0 Content-length: 16548 ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZysrLmRnL2NwcDB4L1dhdHRy aWJ1dGVzMS5DIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvY3BwMHgvV2F0dHJp YnV0ZXMxLkMKaW5kZXggZDgxODg1MS4uZGQ5MDExYiAxMDA2NDQKLS0tIGEv Z2NjL3Rlc3RzdWl0ZS9nKysuZGcvY3BwMHgvV2F0dHJpYnV0ZXMxLkMKKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvY3BwMHgvV2F0dHJpYnV0ZXMxLkMK QEAgLTUsNCArNSw0IEBACiAjaW5jbHVkZSA8bmV3PgogX19hdHRyaWJ1dGVf XygodmlzaWJpbGl0eSgiaGlkZGVuIikpKXZvaWQqb3BlcmF0b3IgbmV3KHN0 ZDo6c2l6ZV90KTsgLy8geyBkZy13YXJuaW5nICJ2aXNpYmlsaXR5IGF0dHJp YnV0ZSBpZ25vcmVkIiB9CiAKLS8vIHsgZGctbWVzc2FnZSAicHJldmlvdXMg ZGVjbGFyYXRpb24iICIiIHsgdGFyZ2V0ICotKi0qIH0gMTExIH0KKy8vIHsg ZGctbWVzc2FnZSAicHJldmlvdXMgZGVjbGFyYXRpb24iICIiIHsgdGFyZ2V0 ICotKi0qIH0gMTE2IH0KZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNs dWRlL2V4cGVyaW1lbnRhbC90eXBlX3RyYWl0cyBiL2xpYnN0ZGMrKy12My9p bmNsdWRlL2V4cGVyaW1lbnRhbC90eXBlX3RyYWl0cwppbmRleCBiMGVkM2Iw Li5lNGYzZmZlIDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvaW5jbHVkZS9l eHBlcmltZW50YWwvdHlwZV90cmFpdHMKKysrIGIvbGlic3RkYysrLXYzL2lu Y2x1ZGUvZXhwZXJpbWVudGFsL3R5cGVfdHJhaXRzCkBAIC0yNzEsNiArMjcx LDM1IEBAIHRlbXBsYXRlPHR5cGVuYW1lIF9UbywgdGVtcGxhdGU8dHlwZW5h bWUuLi4+IGNsYXNzIF9PcCwgdHlwZW5hbWUuLi4gX0FyZ3M+CiAgIGNvbnN0 ZXhwciBib29sIGlzX2RldGVjdGVkX2NvbnZlcnRpYmxlX3YKICAgICA9IGlz X2RldGVjdGVkX2NvbnZlcnRpYmxlPF9UbywgX09wLCBfQXJncy4uLj46OnZh bHVlOwogCisjZGVmaW5lIF9fY3BwX2xpYl9leHBlcmltZW50YWxfbG9naWNh bF90cmFpdHMgMjAxNTExCisKK3RlbXBsYXRlPHR5cGVuYW1lLi4uIF9Cbj4K KyAgc3RydWN0IGNvbmp1bmN0aW9uCisgIDogX19hbmRfPF9Cbi4uLj4KKyAg eyB9OworCit0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBfQm4+CisgIHN0cnVjdCBk aXNqdW5jdGlvbgorICA6IF9fb3JfPF9Cbi4uLj4KKyAgeyB9OworCit0ZW1w bGF0ZTx0eXBlbmFtZSBfUHA+CisgIHN0cnVjdCBuZWdhdGlvbgorICA6IF9f bm90XzxfUHA+CisgIHsgfTsKKwordGVtcGxhdGU8dHlwZW5hbWUuLi4gX0Ju PgorICBjb25zdGV4cHIgYm9vbCBjb25qdW5jdGlvbl92CisgICAgPSBjb25q dW5jdGlvbjxfQm4uLi4+Ojp2YWx1ZTsKKwordGVtcGxhdGU8dHlwZW5hbWUu Li4gX0JuPgorICBjb25zdGV4cHIgYm9vbCBkaXNqdW5jdGlvbl92CisgICAg PSBkaXNqdW5jdGlvbjxfQm4uLi4+Ojp2YWx1ZTsKKwordGVtcGxhdGU8dHlw ZW5hbWUgX1BwPgorICBjb25zdGV4cHIgYm9vbCBuZWdhdGlvbl92CisgICAg PSBuZWdhdGlvbjxfUHA+Ojp2YWx1ZTsKKwogX0dMSUJDWFhfRU5EX05BTUVT UEFDRV9WRVJTSU9OCiB9IC8vIG5hbWVzcGFjZSBmdW5kYW1lbnRhbHNfdjIK IH0gLy8gbmFtZXNwYWNlIGV4cGVyaW1lbnRhbApkaWZmIC0tZ2l0IGEvbGli c3RkYysrLXYzL2luY2x1ZGUvc3RkL3R5cGVfdHJhaXRzIGIvbGlic3RkYysr LXYzL2luY2x1ZGUvc3RkL3R5cGVfdHJhaXRzCmluZGV4IDc0NDhkNWIuLmU1 MTAyZGUgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL3N0ZC90 eXBlX3RyYWl0cworKysgYi9saWJzdGRjKystdjMvaW5jbHVkZS9zdGQvdHlw ZV90cmFpdHMKQEAgLTE1NCw2ICsxNTQsMjYgQEAgX0dMSUJDWFhfQkVHSU5f TkFNRVNQQUNFX1ZFUlNJT04KICAgICA6IHB1YmxpYyBpbnRlZ3JhbF9jb25z dGFudDxib29sLCAhX1BwOjp2YWx1ZT4KICAgICB7IH07CiAKKyNpZiBfX2Nw bHVzcGx1cyA+IDIwMTQwMkwKKworI2RlZmluZSBfX2NwcF9saWJfbG9naWNh bF90cmFpdHMgMjAxNTExCisKKyAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gX0Ju PgorICAgIHN0cnVjdCBjb25qdW5jdGlvbgorICAgIDogX19hbmRfPF9Cbi4u Lj4KKyAgICB7IH07CisKKyAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gX0JuPgor ICAgIHN0cnVjdCBkaXNqdW5jdGlvbgorICAgIDogX19vcl88X0JuLi4uPgor ICAgIHsgfTsKKworICB0ZW1wbGF0ZTx0eXBlbmFtZSBfUHA+CisgICAgc3Ry dWN0IG5lZ2F0aW9uCisgICAgOiBfX25vdF88X1BwPgorICAgIHsgfTsKKyNl bmRpZgorCiAgIC8vIEZvciBzZXZlcmFsIHNmaW5hZS1mcmllbmRseSB0cmFp dCBpbXBsZW1lbnRhdGlvbnMgd2UgdHJhbnNwb3J0IGJvdGggdGhlCiAgIC8v IHJlc3VsdCBpbmZvcm1hdGlvbiAoYXMgdGhlIG1lbWJlciB0eXBlKSBhbmQg dGhlIGZhaWx1cmUgaW5mb3JtYXRpb24gKG5vCiAgIC8vIG1lbWJlciB0eXBl KS4gVGhpcyBpcyB2ZXJ5IHNpbWlsYXIgdG8gc3RkOjplbmFibGVfaWYsIGJ1 dCB3ZSBjYW5ub3QgdXNlCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvdGVz dHN1aXRlLzIwX3V0aWwvZGVjbHZhbC9yZXF1aXJlbWVudHMvMV9uZWcuY2Mg Yi9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIwX3V0aWwvZGVjbHZhbC9yZXF1 aXJlbWVudHMvMV9uZWcuY2MKaW5kZXggNGU3ZGVkYS4uMzdiYzZiMSAxMDA2 NDQKLS0tIGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMF91dGlsL2RlY2x2 YWwvcmVxdWlyZW1lbnRzLzFfbmVnLmNjCisrKyBiL2xpYnN0ZGMrKy12My90 ZXN0c3VpdGUvMjBfdXRpbC9kZWNsdmFsL3JlcXVpcmVtZW50cy8xX25lZy5j YwpAQCAtMTksNyArMTksNyBAQAogLy8gd2l0aCB0aGlzIGxpYnJhcnk7IHNl ZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKIC8vIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KIAotLy8geyBkZy1lcnJvciAic3Rh dGljIGFzc2VydGlvbiBmYWlsZWQiICIiIHsgdGFyZ2V0ICotKi0qIH0gMjIz OSB9CisvLyB7IGRnLWVycm9yICJzdGF0aWMgYXNzZXJ0aW9uIGZhaWxlZCIg IiIgeyB0YXJnZXQgKi0qLSogfSAyMjU5IH0KIAogI2luY2x1ZGUgPHV0aWxp dHk+CiAKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjBf dXRpbC9sb2dpY2FsX3RyYWl0cy9yZXF1aXJlbWVudHMvZXhwbGljaXRfaW5z dGFudGlhdGlvbi5jYyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjBfdXRp bC9sb2dpY2FsX3RyYWl0cy9yZXF1aXJlbWVudHMvZXhwbGljaXRfaW5zdGFu dGlhdGlvbi5jYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5iMmI2YzcxCi0tLSAvZGV2L251bGwKKysrIGIvbGlic3RkYysrLXYzL3Rl c3RzdWl0ZS8yMF91dGlsL2xvZ2ljYWxfdHJhaXRzL3JlcXVpcmVtZW50cy9l eHBsaWNpdF9pbnN0YW50aWF0aW9uLmNjCkBAIC0wLDAgKzEsMzAgQEAKKy8v IHsgZGctb3B0aW9ucyAiLXN0ZD1nbnUrKzE3IiB9CisvLyB7IGRnLWRvIGNv bXBpbGUgfQorCisvLyBDb3B5cmlnaHQgKEMpIDIwMTUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisvLworLy8gVGhpcyBmaWxlIGlzIHBhcnQg b2YgdGhlIEdOVSBJU08gQysrIExpYnJhcnkuICBUaGlzIGxpYnJhcnkgaXMg ZnJlZQorLy8gc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlCisvLyB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQor Ly8gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz LCBvciAoYXQgeW91ciBvcHRpb24pCisvLyBhbnkgbGF0ZXIgdmVyc2lvbi4K KworLy8gVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisvLyBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorLy8gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLy8gR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworLy8gWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYWxvbmcKKy8vIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl IGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCisvLyA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCisKKy8vIE5COiBUaGlzIGZpbGUgaXMgZm9y IHRlc3RpbmcgdHlwZV90cmFpdHMgd2l0aCBOTyBPVEhFUiBJTkNMVURFUy4K KworI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorCituYW1lc3BhY2Ugc3RkCit7 CisgIHRlbXBsYXRlIHN0cnVjdCBjb25qdW5jdGlvbjx0cnVlX3R5cGUsIHRy dWVfdHlwZT47CisgIHRlbXBsYXRlIHN0cnVjdCBkaXNqdW5jdGlvbjxmYWxz ZV90eXBlLCB0cnVlX3R5cGU+OworICB0ZW1wbGF0ZSBzdHJ1Y3QgbmVnYXRp b248ZmFsc2VfdHlwZT47Cit9CmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMv dGVzdHN1aXRlLzIwX3V0aWwvbG9naWNhbF90cmFpdHMvcmVxdWlyZW1lbnRz L3R5cGVkZWZzLmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMF91dGls L2xvZ2ljYWxfdHJhaXRzL3JlcXVpcmVtZW50cy90eXBlZGVmcy5jYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTEwMmY4Ci0tLSAv ZGV2L251bGwKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMF91dGls L2xvZ2ljYWxfdHJhaXRzL3JlcXVpcmVtZW50cy90eXBlZGVmcy5jYwpAQCAt MCwwICsxLDU1IEBACisvLyB7IGRnLW9wdGlvbnMgIi1zdGQ9Z251KysxNyIg fQorLy8KKy8vIENvcHlyaWdodCAoQykgMjAxNSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKy8vCisvLyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0 aGUgR05VIElTTyBDKysgTGlicmFyeS4gIFRoaXMgbGlicmFyeSBpcyBmcmVl CisvLyBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeSBpdCB1bmRlciB0aGUKKy8vIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisvLyBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9y IChhdCB5b3VyIG9wdGlvbikKKy8vIGFueSBsYXRlciB2ZXJzaW9uLgorLy8K Ky8vIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLy8gYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK Ky8vIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKKy8vIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisvLworLy8gWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYWxvbmcKKy8vIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl IGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCisvLyA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCisKKy8vIAorLy8gTkI6IFRoaXMgZmlsZSBp cyBmb3IgdGVzdGluZyB0eXBlX3RyYWl0cyB3aXRoIE5PIE9USEVSIElOQ0xV REVTLgorCisjaW5jbHVkZSA8dHlwZV90cmFpdHM+CisKKy8vIHsgZGctZG8g Y29tcGlsZSB9CisKK3ZvaWQgdGVzdDAxKCkKK3sKKyAgLy8gQ2hlY2sgZm9y IHJlcXVpcmVkIHR5cGVkZWZzCisgIHR5cGVkZWYgc3RkOjpjb25qdW5jdGlv bjxzdGQ6OnRydWVfdHlwZSwgc3RkOjp0cnVlX3R5cGU+ICAgICAgdGVzdF90 eXBlOworICB0eXBlZGVmIHRlc3RfdHlwZTo6dmFsdWVfdHlwZSAgICAgICAg ICAgICAgIHZhbHVlX3R5cGU7CisgIHR5cGVkZWYgdGVzdF90eXBlOjp0eXBl ICAgICAgICAgICAgICAgICAgICAgdHlwZTsKKyAgdHlwZWRlZiB0ZXN0X3R5 cGU6OnR5cGU6OnZhbHVlX3R5cGUgICAgICAgICB0eXBlX3ZhbHVlX3R5cGU7 CisgIHR5cGVkZWYgdGVzdF90eXBlOjp0eXBlOjp0eXBlICAgICAgICAgICAg ICAgdHlwZV90eXBlOworfQorCit2b2lkIHRlc3QwMigpCit7CisgIC8vIENo ZWNrIGZvciByZXF1aXJlZCB0eXBlZGVmcworICB0eXBlZGVmIHN0ZDo6ZGlz anVuY3Rpb248c3RkOjpmYWxzZV90eXBlLCBzdGQ6OnRydWVfdHlwZT4gICAg ICB0ZXN0X3R5cGU7CisgIHR5cGVkZWYgdGVzdF90eXBlOjp2YWx1ZV90eXBl ICAgICAgICAgICAgICAgdmFsdWVfdHlwZTsKKyAgdHlwZWRlZiB0ZXN0X3R5 cGU6OnR5cGUgICAgICAgICAgICAgICAgICAgICB0eXBlOworICB0eXBlZGVm IHRlc3RfdHlwZTo6dHlwZTo6dmFsdWVfdHlwZSAgICAgICAgIHR5cGVfdmFs dWVfdHlwZTsKKyAgdHlwZWRlZiB0ZXN0X3R5cGU6OnR5cGU6OnR5cGUgICAg ICAgICAgICAgICB0eXBlX3R5cGU7Cit9CisKK3ZvaWQgdGVzdDAzKCkKK3sK KyAgLy8gQ2hlY2sgZm9yIHJlcXVpcmVkIHR5cGVkZWZzCisgIHR5cGVkZWYg c3RkOjpuZWdhdGlvbjxzdGQ6OmZhbHNlX3R5cGU+ICAgICAgdGVzdF90eXBl OworICB0eXBlZGVmIHRlc3RfdHlwZTo6dmFsdWVfdHlwZSAgICAgICAgICAg ICAgIHZhbHVlX3R5cGU7CisgIHR5cGVkZWYgdGVzdF90eXBlOjp0eXBlICAg ICAgICAgICAgICAgICAgICAgdHlwZTsKKyAgdHlwZWRlZiB0ZXN0X3R5cGU6 OnR5cGU6OnZhbHVlX3R5cGUgICAgICAgICB0eXBlX3ZhbHVlX3R5cGU7Cisg IHR5cGVkZWYgdGVzdF90eXBlOjp0eXBlOjp0eXBlICAgICAgICAgICAgICAg dHlwZV90eXBlOworfQpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3Rlc3Rz dWl0ZS8yMF91dGlsL2xvZ2ljYWxfdHJhaXRzL3ZhbHVlLmNjIGIvbGlic3Rk YysrLXYzL3Rlc3RzdWl0ZS8yMF91dGlsL2xvZ2ljYWxfdHJhaXRzL3ZhbHVl LmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkYTk1 YTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRl LzIwX3V0aWwvbG9naWNhbF90cmFpdHMvdmFsdWUuY2MKQEAgLTAsMCArMSw0 NSBAQAorLy8geyBkZy1vcHRpb25zICItc3RkPWdudSsrMTciIH0KKy8vIHsg ZGctZG8gY29tcGlsZSB9CisvLworLy8gQ29weXJpZ2h0IChDKSAyMDE1IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLy8KKy8vIFRoaXMgZmls ZSBpcyBwYXJ0IG9mIHRoZSBHTlUgSVNPIEMrKyBMaWJyYXJ5LiAgVGhpcyBs aWJyYXJ5IGlzIGZyZWUKKy8vIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyIHRoZQorLy8gdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieSB0aGUKKy8vIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQorLy8gYW55IGxhdGVy IHZlcnNpb24uCisvLworLy8gVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisvLyBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgorLy8gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLy8gR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy8vCisv LyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworLy8gd2l0aCB0aGlzIGxp YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUKKy8v IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworI2luY2x1ZGUg PHR5cGVfdHJhaXRzPgorCit2b2lkIHRlc3QwMSgpCit7CisgIHN0YXRpY19h c3NlcnQoc3RkOjpuZWdhdGlvbjxzdGQ6OmZhbHNlX3R5cGU+e30pOworICBz dGF0aWNfYXNzZXJ0KCFzdGQ6Om5lZ2F0aW9uPHN0ZDo6dHJ1ZV90eXBlPnt9 KTsKKyAgc3RhdGljX2Fzc2VydChzdGQ6OmNvbmp1bmN0aW9uPD57fSk7Cisg IHN0YXRpY19hc3NlcnQoIXN0ZDo6ZGlzanVuY3Rpb248Pnt9KTsKKyAgc3Rh dGljX2Fzc2VydChzdGQ6OmNvbmp1bmN0aW9uPHN0ZDo6dHJ1ZV90eXBlPnt9 KTsKKyAgc3RhdGljX2Fzc2VydCghc3RkOjpjb25qdW5jdGlvbjxzdGQ6OmZh bHNlX3R5cGU+e30pOworICBzdGF0aWNfYXNzZXJ0KHN0ZDo6ZGlzanVuY3Rp b248c3RkOjp0cnVlX3R5cGU+e30pOworICBzdGF0aWNfYXNzZXJ0KCFzdGQ6 OmRpc2p1bmN0aW9uPHN0ZDo6ZmFsc2VfdHlwZT57fSk7CisgIHN0YXRpY19h c3NlcnQoc3RkOjpjb25qdW5jdGlvbjxzdGQ6OnRydWVfdHlwZSwgc3RkOjp0 cnVlX3R5cGU+e30pOworICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmNvbmp1bmN0 aW9uPHN0ZDo6dHJ1ZV90eXBlLCBzdGQ6OmZhbHNlX3R5cGU+e30pOworICBz dGF0aWNfYXNzZXJ0KHN0ZDo6ZGlzanVuY3Rpb248c3RkOjpmYWxzZV90eXBl LCBzdGQ6OnRydWVfdHlwZT57fSk7CisgIHN0YXRpY19hc3NlcnQoIXN0ZDo6 ZGlzanVuY3Rpb248c3RkOjpmYWxzZV90eXBlLCBzdGQ6OmZhbHNlX3R5cGU+ e30pOworICBzdGF0aWNfYXNzZXJ0KHN0ZDo6Y29uanVuY3Rpb248c3RkOjp0 cnVlX3R5cGUsIHN0ZDo6dHJ1ZV90eXBlLAorICAgICAgICAgICAgICAgIHN0 ZDo6dHJ1ZV90eXBlPnt9KTsKKyAgc3RhdGljX2Fzc2VydCghc3RkOjpjb25q dW5jdGlvbjxzdGQ6OnRydWVfdHlwZSwgc3RkOjp0cnVlX3R5cGUsCisgICAg ICAgICAgICAgICAgc3RkOjpmYWxzZV90eXBlPnt9KTsKKyAgc3RhdGljX2Fz c2VydChzdGQ6OmRpc2p1bmN0aW9uPHN0ZDo6ZmFsc2VfdHlwZSwgc3RkOjpm YWxzZV90eXBlLAorICAgICAgICAgICAgICAgIHN0ZDo6dHJ1ZV90eXBlPnt9 KTsKKyAgc3RhdGljX2Fzc2VydCghc3RkOjpkaXNqdW5jdGlvbjxzdGQ6OmZh bHNlX3R5cGUsIHN0ZDo6ZmFsc2VfdHlwZSwKKyAgICAgICAgICAgICAgICBz dGQ6OmZhbHNlX3R5cGU+e30pOworfQpkaWZmIC0tZ2l0IGEvbGlic3RkYysr LXYzL3Rlc3RzdWl0ZS8yMF91dGlsL21ha2Vfc2lnbmVkL3JlcXVpcmVtZW50 cy90eXBlZGVmc19uZWcuY2MgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIw X3V0aWwvbWFrZV9zaWduZWQvcmVxdWlyZW1lbnRzL3R5cGVkZWZzX25lZy5j YwppbmRleCA4ZTVmZTUzLi45ZmJkOTViIDEwMDY0NAotLS0gYS9saWJzdGRj KystdjMvdGVzdHN1aXRlLzIwX3V0aWwvbWFrZV9zaWduZWQvcmVxdWlyZW1l bnRzL3R5cGVkZWZzX25lZy5jYworKysgYi9saWJzdGRjKystdjMvdGVzdHN1 aXRlLzIwX3V0aWwvbWFrZV9zaWduZWQvcmVxdWlyZW1lbnRzL3R5cGVkZWZz X25lZy5jYwpAQCAtNDgsNCArNDgsNCBAQCB2b2lkIHRlc3QwMSgpCiAvLyB7 IGRnLWVycm9yICJyZXF1aXJlZCBmcm9tIGhlcmUiICIiIHsgdGFyZ2V0ICot Ki0qIH0gNDAgfQogLy8geyBkZy1lcnJvciAicmVxdWlyZWQgZnJvbSBoZXJl IiAiIiB7IHRhcmdldCAqLSotKiB9IDQyIH0KIAotLy8geyBkZy1lcnJvciAi aW52YWxpZCB1c2Ugb2YgaW5jb21wbGV0ZSB0eXBlIiAiIiB7IHRhcmdldCAq LSotKiB9IDE5MDQgfQorLy8geyBkZy1lcnJvciAiaW52YWxpZCB1c2Ugb2Yg aW5jb21wbGV0ZSB0eXBlIiAiIiB7IHRhcmdldCAqLSotKiB9IDE5MjQgfQpk aWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMF91dGlsL21h a2VfdW5zaWduZWQvcmVxdWlyZW1lbnRzL3R5cGVkZWZzX25lZy5jYyBiL2xp YnN0ZGMrKy12My90ZXN0c3VpdGUvMjBfdXRpbC9tYWtlX3Vuc2lnbmVkL3Jl cXVpcmVtZW50cy90eXBlZGVmc19uZWcuY2MKaW5kZXggNGNkMDMxMS4uODA2 MGFlZSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yMF91 dGlsL21ha2VfdW5zaWduZWQvcmVxdWlyZW1lbnRzL3R5cGVkZWZzX25lZy5j YworKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIwX3V0aWwvbWFrZV91 bnNpZ25lZC9yZXF1aXJlbWVudHMvdHlwZWRlZnNfbmVnLmNjCkBAIC00OCw1 ICs0OCw1IEBAIHZvaWQgdGVzdDAxKCkKIC8vIHsgZGctZXJyb3IgInJlcXVp cmVkIGZyb20gaGVyZSIgIiIgeyB0YXJnZXQgKi0qLSogfSA0MCB9CiAvLyB7 IGRnLWVycm9yICJyZXF1aXJlZCBmcm9tIGhlcmUiICIiIHsgdGFyZ2V0ICot Ki0qIH0gNDIgfQogCi0vLyB7IGRnLWVycm9yICJpbnZhbGlkIHVzZSBvZiBp bmNvbXBsZXRlIHR5cGUiICIiIHsgdGFyZ2V0ICotKi0qIH0gMTgwMCB9Ci0v LyB7IGRnLWVycm9yICJkZWNsYXJhdGlvbiBvZiIgIiIgeyB0YXJnZXQgKi0q LSogfSAxNzU3IH0KKy8vIHsgZGctZXJyb3IgImludmFsaWQgdXNlIG9mIGlu Y29tcGxldGUgdHlwZSIgIiIgeyB0YXJnZXQgKi0qLSogfSAxODIwIH0KKy8v IHsgZGctZXJyb3IgImRlY2xhcmF0aW9uIG9mIiAiIiB7IHRhcmdldCAqLSot KiB9IDE3NzcgfQpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0 ZS9leHBlcmltZW50YWwvdHlwZV90cmFpdHMvdmFsdWUuY2MgYi9saWJzdGRj KystdjMvdGVzdHN1aXRlL2V4cGVyaW1lbnRhbC90eXBlX3RyYWl0cy92YWx1 ZS5jYwppbmRleCBmZWZlNTIzLi5kNTJiNDU0IDEwMDY0NAotLS0gYS9saWJz dGRjKystdjMvdGVzdHN1aXRlL2V4cGVyaW1lbnRhbC90eXBlX3RyYWl0cy92 YWx1ZS5jYworKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlL2V4cGVyaW1l bnRhbC90eXBlX3RyYWl0cy92YWx1ZS5jYwpAQCAtMjEsNyArMjEsNyBAQAog I2luY2x1ZGUgPGV4cGVyaW1lbnRhbC90eXBlX3RyYWl0cz4KIAogdXNpbmcg bmFtZXNwYWNlIHN0ZDsKLXVzaW5nIG5hbWVzcGFjZSBzdGQ6OmV4cGVyaW1l bnRhbDsKK3VzaW5nIG5hbWVzcGFjZSBleHBlcmltZW50YWw7CiAKIC8vIFRo ZXNlIHRlc3RzIGFyZSByYXRoZXIgc2ltcGxlLCB0aGUgZnJvbnQtZW5kIHRl c3RzIGFscmVhZHkgdGVzdAogLy8gdmFyaWFibGUgdGVtcGxhdGVzLCBhbmQg dGhlIGxpYnJhcnkgdGVzdHMgZm9yIHRoZSB1bmRlcmx5aW5nCkBAIC0zMjIs MyArMzIyLDI0IEBAIHN0YXRpY19hc3NlcnQoaXNfY29udmVydGlibGVfdjxp bnQmLCBjb25zdCBpbnQmPgogCSAgICAgICYmIGlzX2NvbnZlcnRpYmxlPGlu dCYsIGNvbnN0IGludCY+Ojp2YWx1ZSwgIiIpOwogc3RhdGljX2Fzc2VydCgh aXNfY29udmVydGlibGVfdjxjb25zdCBpbnQmLCBpbnQmPgogCSAgICAgICYm ICFpc19jb252ZXJ0aWJsZTxjb25zdCBpbnQmLCBpbnQmPjo6dmFsdWUsICIi KTsKKworc3RhdGljX2Fzc2VydChuZWdhdGlvbl92PGZhbHNlX3R5cGU+KTsK K3N0YXRpY19hc3NlcnQoIW5lZ2F0aW9uX3Y8dHJ1ZV90eXBlPik7CitzdGF0 aWNfYXNzZXJ0KGNvbmp1bmN0aW9uX3Y8Pik7CitzdGF0aWNfYXNzZXJ0KCFk aXNqdW5jdGlvbl92PD4pOworc3RhdGljX2Fzc2VydChjb25qdW5jdGlvbl92 PHRydWVfdHlwZT4pOworc3RhdGljX2Fzc2VydCghY29uanVuY3Rpb25fdjxm YWxzZV90eXBlPik7CitzdGF0aWNfYXNzZXJ0KGRpc2p1bmN0aW9uX3Y8dHJ1 ZV90eXBlPik7CitzdGF0aWNfYXNzZXJ0KCFkaXNqdW5jdGlvbl92PGZhbHNl X3R5cGU+KTsKK3N0YXRpY19hc3NlcnQoY29uanVuY3Rpb25fdjx0cnVlX3R5 cGUsIHRydWVfdHlwZT4pOworc3RhdGljX2Fzc2VydCghY29uanVuY3Rpb25f djx0cnVlX3R5cGUsIGZhbHNlX3R5cGU+KTsKK3N0YXRpY19hc3NlcnQoZGlz anVuY3Rpb25fdjxmYWxzZV90eXBlLCB0cnVlX3R5cGU+KTsKK3N0YXRpY19h c3NlcnQoIWRpc2p1bmN0aW9uX3Y8ZmFsc2VfdHlwZSwgZmFsc2VfdHlwZT4p Oworc3RhdGljX2Fzc2VydChjb25qdW5jdGlvbl92PHRydWVfdHlwZSwgdHJ1 ZV90eXBlLAorICAgICAgICAgICAgICB0cnVlX3R5cGU+KTsKK3N0YXRpY19h c3NlcnQoIWNvbmp1bmN0aW9uX3Y8dHJ1ZV90eXBlLCB0cnVlX3R5cGUsCisg ICAgICAgICAgICAgIGZhbHNlX3R5cGU+KTsKK3N0YXRpY19hc3NlcnQoZGlz anVuY3Rpb25fdjxmYWxzZV90eXBlLCBmYWxzZV90eXBlLAorICAgICAgICAg ICAgICB0cnVlX3R5cGU+KTsKK3N0YXRpY19hc3NlcnQoIWRpc2p1bmN0aW9u X3Y8ZmFsc2VfdHlwZSwgZmFsc2VfdHlwZSwKKyAgICAgICAgICAgICAgZmFs c2VfdHlwZT4pOwo= --001a114582c84841de05244b9906--