From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id EDD473858D39 for ; Fri, 2 Dec 2022 19:31:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EDD473858D39 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1670009461; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=bE8Sdst4/WUGlPFdGTMucn49ttbOxAe2KeUavzgMLOA=; b=hpWcG/aqsp8HB9AeYSXUkU7idbjv6Ws5CaaijAfu9lxMi0EP2ogQC0J60sSwTkmLYdWsfc i9Tz12kLjSOx3f+ImttBBuoCpqoSVU5ePIIa9c6tSYL2gz38Kk3a/0CrOJ2czMK8sbrocd U3DHuyUK+AnEdgKc8l5l/EQ3sMcjn20= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-127-U77DOLtCMROmzXPl4FiYXA-1; Fri, 02 Dec 2022 14:30:59 -0500 X-MC-Unique: U77DOLtCMROmzXPl4FiYXA-1 Received: by mail-qv1-f72.google.com with SMTP id q17-20020a056214019100b004b1d3c9f3acso18480144qvr.0 for ; Fri, 02 Dec 2022 11:30:59 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=F9J6wBYdtV/5Wf97HMrjz6vgBybtWDr+bWOVyWz4RvQ=; b=VdppcWc6tvBlMbAAQeOPhPfDh7DHN0ZWIVGfR2/1qsJcEQoIi1mQ7kTjO2v2+R9qFU 5MNqcvFISLRtN4LO+Ftp9k17OzXQYswMtJw/rEEj5ExQTZLEeT8dIXVHC5A+S/vl2zYy Vdb3C+0X4ThOQ2pMKB/YpLrByb7uJMcxXW5mSA54wFptaTZrTCSKFvVXfcprGqKZreSU 1cF77AtfoBWJTaWVt5svz9qj8bBir/W0QVvMNhxK2UvW3SNnnOGWJF8eOPfWzACnlqFy F2kB+b1mgfriH7lfZHr9mIzXWaLV7iYxDMLBNFG7Exs+rO3DKOfXdtI0VTfoLKDUUE69 4PBg== X-Gm-Message-State: ANoB5ploOozUYg6OYY53JtVG0thYwqQhi+vHE3X8M6d0HeLKT+h88IXE V0M+UaKDO5XfrgyAFH036mDEIDIsgmk9jeTnUjo71LB3WE2Uw0F3hyHIR79MONBLy8tUk0bSj6s HadEFWpyXmDlxvIG2Dg== X-Received: by 2002:ac8:7ec4:0:b0:3a6:936b:25d3 with SMTP id x4-20020ac87ec4000000b003a6936b25d3mr7602010qtj.553.1670009459452; Fri, 02 Dec 2022 11:30:59 -0800 (PST) X-Google-Smtp-Source: AA0mqf6jWBdiZP1Kqq6+e1/DRszLBZaqe5Rrsc07pm9FXh9sPgUXqIXzlu5uGenx9By8AhNAD7OMXw== X-Received: by 2002:ac8:7ec4:0:b0:3a6:936b:25d3 with SMTP id x4-20020ac87ec4000000b003a6936b25d3mr7601990qtj.553.1670009459109; Fri, 02 Dec 2022 11:30:59 -0800 (PST) Received: from [192.168.1.108] (130-44-159-43.s15913.c3-0.arl-cbr1.sbo-arl.ma.cable.rcncustomer.com. [130.44.159.43]) by smtp.gmail.com with ESMTPSA id cj5-20020a05622a258500b00397e97baa96sm4749625qtb.0.2022.12.02.11.30.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 02 Dec 2022 11:30:58 -0800 (PST) Message-ID: Date: Fri, 2 Dec 2022 14:30:56 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.1 Subject: Re: [PATCH 2/5] c++: Set the locus of the function result decl From: Jason Merrill To: Bernhard Reutner-Fischer , gcc-patches@gcc.gnu.org Cc: Bernhard Reutner-Fischer References: <20221119095657.101929-1-aldot@gcc.gnu.org> <20221120170604.2534647-1-aldot@gcc.gnu.org> <3d2485a6-ca86-aece-6c28-f7cc8547e8d3@redhat.com> <863d38ab-6458-90e1-8281-6b9c91cd470a@redhat.com> In-Reply-To: <863d38ab-6458-90e1-8281-6b9c91cd470a@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------KeHYBghiBlcvnhq8uw1AeYBG" Content-Language: en-US X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,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. --------------KeHYBghiBlcvnhq8uw1AeYBG Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 11/23/22 10:28, Jason Merrill wrote: > On 11/22/22 15:25, Jason Merrill wrote: >> On 11/20/22 12:06, Bernhard Reutner-Fischer wrote: >>> Hi Jason! >>> >>> The "meh" of result-decl-plugin-test-2.C should likely be omitted, >>> grokdeclarator would need some changes to add richloc hints and we >>> would not >>> be able to make a reliable guess what to remove precisely. >>> C.f. /* Check all other uses of type modifiers.  */ >>> Furthermore it is unrelated to DECL_RESULT so not of direct interest >>> here. The other tests in test-2.C, f() and huh() should work though. >>> >>> I don't know if it's acceptable to change ipa-pure-const to make the >>> missing noreturn warning more precise and emit a fixit-hint. At least it >>> would be a real test for the DECL_RESULT and would spare us the plugin. >> >> The main problem I see with that change is that the syntax of the >> fixit might be wrong for non-C-family front-ends. >> >> Here's a version of the patch that fixes template/method handling, and >> adjusts -Waggregate-return as well: > > Actually, that broke some of the spaceship tests, fixed by this version: Here's what I'm applying: --------------KeHYBghiBlcvnhq8uw1AeYBG Content-Type: text/x-patch; charset=UTF-8; name="0001-c-Set-the-locus-of-the-function-result-decl.patch" Content-Disposition: attachment; filename="0001-c-Set-the-locus-of-the-function-result-decl.patch" Content-Transfer-Encoding: base64 RnJvbSBkMTlhYTZhZjY2MzRiMWU5N2YzODQzMWFkMDkxZjNiM2YxMmJhZjJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBCZXJuaGFyZCBSZXV0bmVyLUZpc2NoZXIgPHJlcC5kb3Qubm9w QGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAyMCBOb3YgMjAyMiAxODowNjowNCArMDEwMApTdWJqZWN0 OiBbUEFUQ0hdIGMrKzogU2V0IHRoZSBsb2N1cyBvZiB0aGUgZnVuY3Rpb24gcmVzdWx0IGRlY2wK VG86IGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnCgpnY2MvY3AvQ2hhbmdlTG9nOgoKCSogZGVjbC5j YyAoZ3Jva2RlY2xhcmF0b3IpOiBCdWlsZCBSRVNVTFRfREVDTC4KCShzdGFydF9wcmVwYXJzZWRf ZnVuY3Rpb24pOiBDb3B5IGxvY2F0aW9uIGZyb20gdGVtcGxhdGUuCgkqIHNlbWFudGljcy5jYyAo YXBwbHlfZGVkdWNlZF9yZXR1cm5fdHlwZSk6IEhhbmRsZQoJYXJnICE9IGN1cnJlbnRfZnVuY3Rp b25fZGVjbC4KCSogbWV0aG9kLmNjIChpbXBsaWNpdGx5X2RlY2xhcmVfZm4pOiBVc2UgaXQuCgpn Y2MvQ2hhbmdlTG9nOgoKCSogZnVuY3Rpb24uY2MgKGluaXRfZnVuY3Rpb25fc3RhcnQpOiBVc2Ug REVDTF9SRVNVTFQgbG9jYXRpb24KCWZvciAtV2FnZ3JlZ2F0ZS1yZXR1cm4gd2FybmluZy4KCmdj Yy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgoKCSogZysrLmRnL2RpYWdub3N0aWMvcmV0dXJuLXR5cGUt bG9jMS5DOiBOZXcgdGVzdC4KCkNvLWF1dGhvcmVkLWJ5OiBKYXNvbiBNZXJyaWxsIDxqYXNvbkBy ZWRoYXQuY29tPgotLS0KIGdjYy9jcC9kZWNsLmNjICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IDI1ICsrKysrKysrKysrKysrKysrLS0KIGdjYy9jcC9tZXRob2QuY2MgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBnY2MvY3Avc2VtYW50aWNzLmNjICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAxNSArKysrKystLS0tLQogZ2NjL2Z1bmN0aW9uLmNjICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCiAuLi4vZysrLmRnL2RpYWdub3N0aWMv cmV0dXJuLXR5cGUtbG9jMS5DICAgICAgfCAyMCArKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hh bmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZGlhZ25vc3RpYy9yZXR1cm4tdHlwZS1sb2MxLkMKCmRp ZmYgLS1naXQgYS9nY2MvY3AvZGVjbC5jYyBiL2djYy9jcC9kZWNsLmNjCmluZGV4IDIzOGU3MmY5 MGRhLi41MDgxNTYzMDlkOSAxMDA2NDQKLS0tIGEvZ2NjL2NwL2RlY2wuY2MKKysrIGIvZ2NjL2Nw L2RlY2wuY2MKQEAgLTE0NzcyLDYgKzE0NzcyLDE5IEBAIGdyb2tkZWNsYXJhdG9yIChjb25zdCBj cF9kZWNsYXJhdG9yICpkZWNsYXJhdG9yLAogCWVsc2UgaWYgKGNvbnN0aW5pdF9wKQogCSAgREVD TF9ERUNMQVJFRF9DT05TVElOSVRfUCAoZGVjbCkgPSB0cnVlOwogICAgICAgfQorICAgIGVsc2Ug aWYgKFRSRUVfQ09ERSAoZGVjbCkgPT0gRlVOQ1RJT05fREVDTCkKKyAgICAgIHsKKwkvKiBJZiB3 ZSBzYXcgYSByZXR1cm4gdHlwZSwgcmVjb3JkIGl0cyBsb2NhdGlvbi4gICovCisJbG9jYXRpb25f dCBsb2MgPSBkZWNsc3BlY3MtPmxvY2F0aW9uc1tkc190eXBlX3NwZWNdOworCWlmIChsb2MgIT0g VU5LTk9XTl9MT0NBVElPTikKKwkgIHsKKwkgICAgdHJlZSByZXN0eXBlID0gVFJFRV9UWVBFIChU UkVFX1RZUEUgKGRlY2wpKTsKKwkgICAgdHJlZSByZXNkZWNsID0gYnVpbGRfZGVjbCAobG9jLCBS RVNVTFRfREVDTCwgMCwgcmVzdHlwZSk7CisJICAgIERFQ0xfQVJUSUZJQ0lBTCAocmVzZGVjbCkg PSAxOworCSAgICBERUNMX0lHTk9SRURfUCAocmVzZGVjbCkgPSAxOworCSAgICBERUNMX1JFU1VM VCAoZGVjbCkgPSByZXNkZWNsOworCSAgfQorICAgICAgfQogCiAgICAgLyogUmVjb3JkIGNvbnN0 YW5jeSBhbmQgdm9sYXRpbGl0eSBvbiB0aGUgREVDTCBpdHNlbGYgLiAgVGhlcmUncwogICAgICAg IG5vIG5lZWQgdG8gZG8gdGhpcyB3aGVuIHByb2Nlc3NpbmcgYSB0ZW1wbGF0ZTsgd2UnbGwgZG8g dGhpcwpAQCAtMTczMjYsOSArMTczMzksMTcgQEAgc3RhcnRfcHJlcGFyc2VkX2Z1bmN0aW9uICh0 cmVlIGRlY2wxLCB0cmVlIGF0dHJzLCBpbnQgZmxhZ3MpCiAKICAgaWYgKERFQ0xfUkVTVUxUIChk ZWNsMSkgPT0gTlVMTF9UUkVFKQogICAgIHsKLSAgICAgIHRyZWUgcmVzZGVjbDsKKyAgICAgIC8q IEluIGEgdGVtcGxhdGUgaW5zdGFudGlhdGlvbiwgY29weSB0aGUgcmV0dXJuIHR5cGUgbG9jYXRp b24uICBXaGVuCisJIHBhcnNpbmcsIHRoZSBsb2NhdGlvbiB3aWxsIGJlIHNldCBpbiBncm9rZGVj bGFyYXRvci4gICovCisgICAgICBsb2NhdGlvbl90IGxvYyA9IGlucHV0X2xvY2F0aW9uOworICAg ICAgaWYgKERFQ0xfVEVNUExBVEVfSU5TVEFOVElBVElPTiAoZGVjbDEpKQorCXsKKwkgIHRyZWUg dG1wbCA9IHRlbXBsYXRlX2Zvcl9zdWJzdGl0dXRpb24gKGRlY2wxKTsKKwkgIGlmICh0cmVlIHJl cyA9IERFQ0xfUkVTVUxUIChERUNMX1RFTVBMQVRFX1JFU1VMVCAodG1wbCkpKQorCSAgICBsb2Mg PSBERUNMX1NPVVJDRV9MT0NBVElPTiAocmVzKTsKKwl9CiAKLSAgICAgIHJlc2RlY2wgPSBidWls ZF9kZWNsIChpbnB1dF9sb2NhdGlvbiwgUkVTVUxUX0RFQ0wsIDAsIHJlc3R5cGUpOworICAgICAg dHJlZSByZXNkZWNsID0gYnVpbGRfZGVjbCAobG9jLCBSRVNVTFRfREVDTCwgMCwgcmVzdHlwZSk7 CiAgICAgICBERUNMX0FSVElGSUNJQUwgKHJlc2RlY2wpID0gMTsKICAgICAgIERFQ0xfSUdOT1JF RF9QIChyZXNkZWNsKSA9IDE7CiAgICAgICBERUNMX1JFU1VMVCAoZGVjbDEpID0gcmVzZGVjbDsK ZGlmZiAtLWdpdCBhL2djYy9jcC9tZXRob2QuY2MgYi9nY2MvY3AvbWV0aG9kLmNjCmluZGV4IDFl OTYyYjZlM2IxLi43YjRkNWE1OTgyMyAxMDA2NDQKLS0tIGEvZ2NjL2NwL21ldGhvZC5jYworKysg Yi9nY2MvY3AvbWV0aG9kLmNjCkBAIC0zMDc5LDcgKzMwNzksNyBAQCBpbXBsaWNpdGx5X2RlY2xh cmVfZm4gKHNwZWNpYWxfZnVuY3Rpb25fa2luZCBraW5kLCB0cmVlIHR5cGUsCiAgICAgewogICAg ICAgZm4gPSBjb3B5X29wZXJhdG9yX2ZuIChwYXR0ZXJuX2ZuLCBFUV9FWFBSKTsKICAgICAgIERF Q0xfQVJUSUZJQ0lBTCAoZm4pID0gMTsKLSAgICAgIFRSRUVfVFlQRSAoZm4pID0gY2hhbmdlX3Jl dHVybl90eXBlIChib29sZWFuX3R5cGVfbm9kZSwgVFJFRV9UWVBFIChmbikpOworICAgICAgYXBw bHlfZGVkdWNlZF9yZXR1cm5fdHlwZSAoZm4sIGJvb2xlYW5fdHlwZV9ub2RlKTsKICAgICAgIHJl dHVybiBmbjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL2djYy9jcC9zZW1hbnRpY3MuY2MgYi9nY2Mv Y3Avc2VtYW50aWNzLmNjCmluZGV4IDk0MDFiMzVhNzg5Li5hYjUyZTU2ZDZjMSAxMDA2NDQKLS0t IGEvZ2NjL2NwL3NlbWFudGljcy5jYworKysgYi9nY2MvY3Avc2VtYW50aWNzLmNjCkBAIC0xMjMy NSwyNCArMTIzMjUsMjMgQEAgYXBwbHlfZGVkdWNlZF9yZXR1cm5fdHlwZSAodHJlZSBmY28sIHRy ZWUgcmV0dXJuX3R5cGUpCiAgIC8qIFdlIGFscmVhZHkgaGF2ZSBhIERFQ0xfUkVTVUxUIGZyb20g c3RhcnRfcHJlcGFyc2VkX2Z1bmN0aW9uLgogICAgICBOb3cgd2UgbmVlZCB0byByZWRvIHRoZSB3 b3JrIGl0IGFuZCBhbGxvY2F0ZV9zdHJ1Y3RfZnVuY3Rpb24KICAgICAgZGlkIHRvIHJlZmxlY3Qg dGhlIG5ldyB0eXBlLiAgKi8KLSAgZ2NjX2Fzc2VydCAoY3VycmVudF9mdW5jdGlvbl9kZWNsID09 IGZjbyk7Ci0gIHJlc3VsdCA9IGJ1aWxkX2RlY2wgKGlucHV0X2xvY2F0aW9uLCBSRVNVTFRfREVD TCwgTlVMTF9UUkVFLAorICByZXN1bHQgPSBidWlsZF9kZWNsIChERUNMX1NPVVJDRV9MT0NBVElP TiAocmVzdWx0KSwgUkVTVUxUX0RFQ0wsIE5VTExfVFJFRSwKIAkJICAgICAgIFRZUEVfTUFJTl9W QVJJQU5UIChyZXR1cm5fdHlwZSkpOwogICBERUNMX0FSVElGSUNJQUwgKHJlc3VsdCkgPSAxOwog ICBERUNMX0lHTk9SRURfUCAocmVzdWx0KSA9IDE7CiAgIGNwX2FwcGx5X3R5cGVfcXVhbHNfdG9f ZGVjbCAoY3BfdHlwZV9xdWFscyAocmV0dXJuX3R5cGUpLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlc3VsdCk7Ci0KICAgREVDTF9SRVNVTFQgKGZjbykgPSByZXN1bHQ7CiAKICAg aWYgKCFwcm9jZXNzaW5nX3RlbXBsYXRlX2RlY2wpCi0gICAgewotICAgICAgYm9vbCBhZ2dyID0g YWdncmVnYXRlX3ZhbHVlX3AgKHJlc3VsdCwgZmNvKTsKKyAgICBpZiAoZnVuY3Rpb24gKmZ1biA9 IERFQ0xfU1RSVUNUX0ZVTkNUSU9OIChmY28pKQorICAgICAgeworCWJvb2wgYWdnciA9IGFnZ3Jl Z2F0ZV92YWx1ZV9wIChyZXN1bHQsIGZjbyk7CiAjaWZkZWYgUENDX1NUQVRJQ19TVFJVQ1RfUkVU VVJOCi0gICAgICBjZnVuLT5yZXR1cm5zX3BjY19zdHJ1Y3QgPSBhZ2dyOworCWZ1bi0+cmV0dXJu c19wY2Nfc3RydWN0ID0gYWdncjsKICNlbmRpZgotICAgICAgY2Z1bi0+cmV0dXJuc19zdHJ1Y3Qg PSBhZ2dyOwotICAgIH0KKwlmdW4tPnJldHVybnNfc3RydWN0ID0gYWdncjsKKyAgICAgIH0KIH0K IAogLyogREVDTCBpcyBhIGxvY2FsIHZhcmlhYmxlIG9yIHBhcmFtZXRlciBmcm9tIHRoZSBzdXJy b3VuZGluZyBzY29wZSBvZiBhCmRpZmYgLS1naXQgYS9nY2MvZnVuY3Rpb24uY2MgYi9nY2MvZnVu Y3Rpb24uY2MKaW5kZXggOWM4NzczYmJjNTkuLmRjMzMzYzI3ZTkyIDEwMDY0NAotLS0gYS9nY2Mv ZnVuY3Rpb24uY2MKKysrIGIvZ2NjL2Z1bmN0aW9uLmNjCkBAIC00OTk3LDcgKzQ5OTcsOCBAQCBp bml0X2Z1bmN0aW9uX3N0YXJ0ICh0cmVlIHN1YnIpCiAgIC8qIFdhcm4gaWYgdGhpcyB2YWx1ZSBp cyBhbiBhZ2dyZWdhdGUgdHlwZSwKICAgICAgcmVnYXJkbGVzcyBvZiB3aGljaCBjYWxsaW5nIGNv bnZlbnRpb24gd2UgYXJlIHVzaW5nIGZvciBpdC4gICovCiAgIGlmIChBR0dSRUdBVEVfVFlQRV9Q IChUUkVFX1RZUEUgKERFQ0xfUkVTVUxUIChzdWJyKSkpKQotICAgIHdhcm5pbmcgKE9QVF9XYWdn cmVnYXRlX3JldHVybiwgImZ1bmN0aW9uIHJldHVybnMgYW4gYWdncmVnYXRlIik7CisgICAgd2Fy bmluZ19hdCAoREVDTF9TT1VSQ0VfTE9DQVRJT04gKERFQ0xfUkVTVUxUIChzdWJyKSksCisJCU9Q VF9XYWdncmVnYXRlX3JldHVybiwgImZ1bmN0aW9uIHJldHVybnMgYW4gYWdncmVnYXRlIik7CiB9 CiAKIC8qIEV4cGFuZCBjb2RlIHRvIHZlcmlmeSB0aGUgc3RhY2tfcHJvdGVjdF9ndWFyZC4gIFRo aXMgaXMgaW52b2tlZCBhdApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZGlhZ25v c3RpYy9yZXR1cm4tdHlwZS1sb2MxLkMgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy9kaWFnbm9zdGlj L3JldHVybi10eXBlLWxvYzEuQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MC4uZjk2MTc5ZWQ0ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy9k aWFnbm9zdGljL3JldHVybi10eXBlLWxvYzEuQwpAQCAtMCwwICsxLDIwIEBACisvLyB7IGRnLWRv IGNvbXBpbGUgeyB0YXJnZXQgYysrMTEgfSB9CisvLyB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAt V2FnZ3JlZ2F0ZS1yZXR1cm4gfQorCitzdHJ1Y3QgQiB7IGludCBpLGo7IH07CisKK3RlbXBsYXRl IDxjbGFzcyBUPgorc3RydWN0IEEKK3sKKyAgdGVtcGxhdGUgPGNsYXNzIFU+CisgIFUJCQkJLy8g eyBkZy13YXJuaW5nICJhZ2dyZWdhdGUiIH0KKyAgZigpIHsgcmV0dXJuIHt9OyB9Cit9OworCitp bnQgbWFpbigpCit7CisgIEE8aW50PigpLmY8Qj4oKTsJCS8vIHsgZGctd2FybmluZyAiYWdncmVn YXRlIiB9Cit9CisKK0IJCQkJLy8geyBkZy13YXJuaW5nICJhZ2dyZWdhdGUiIH0KK2coKSB7IHJl dHVybiB7fTsgfQotLSAKMi4zMS4xCgo= --------------KeHYBghiBlcvnhq8uw1AeYBG--