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.133.124]) by sourceware.org (Postfix) with ESMTPS id 136523858D38 for ; Thu, 22 Sep 2022 19:05:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 136523858D38 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=1663873512; 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=rOU9oQ28uz5Lj5xeL1DV8G/MK5weGXp3Rz66r99dohA=; b=LaWKUCDBjK4LPNwQ2ydavF+sFa8iWPmmOw9VpyAcwDAdUxwv1Dfgm/Lg+2r9TjQ+ZD9DYz VsgUTl/bPHkSOmMlEmdbFxxMXocaZjTDbnf3epC7MAEjyKqRbtzvEGMtv9vTav8y3+FS5D li72mi95+1gZq8AMILCMtsmJSkByzfk= Received: from mail-io1-f70.google.com (mail-io1-f70.google.com [209.85.166.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-280-VghFO8FcN4u8Bo0DMNH0fg-1; Thu, 22 Sep 2022 15:05:11 -0400 X-MC-Unique: VghFO8FcN4u8Bo0DMNH0fg-1 Received: by mail-io1-f70.google.com with SMTP id e14-20020a6b500e000000b006a13488a320so5255282iob.12 for ; Thu, 22 Sep 2022 12:05:11 -0700 (PDT) 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; bh=5A6g9okRxuw7nwmv3WZG55WH3BZM30HH8oaRwpCg/os=; b=gNG9XC5H5To6Bw2rB/R80WiVLEcOaoV1AQoKHawN+v2DYHAAvWa9Gb6PrphdoDFSj+ 3UrT3LLeTktizMpSbPTc6+EGy4HXYdszjGWHKDQyHlr7QtSSsp+Bo2MnwqlSnOvHEeX3 KA5ebir4CZz7EEgbs0hqR0qI653CdMbiUbyKbq4GyvSwHZ26JTHwIHe3bK7IZlS8CjQq Fg8aaoMC9zCV7vQ374vXRv11fDdXoM/X5cFpelq2gQqqV5HaoWGutDvboi0Qhat5j40i KqZ0Dr+zWWUjw1hFTiJoxDJeT5R6dfScfrMtbzpsWqGZUQFO8r7StEOCqOs0WyDio1vs KuZA== X-Gm-Message-State: ACrzQf2j796J/FyQ3Ji1i0bwDyn+J6IVGdCOgErMhk5QXaldVbCbHr39 LcvBWwEhsQupcdGTn9cosgte9iyW00Z7KxuR6/cy9jqlWOupnjUIKcLkGAGz0a2fugDEs9qfFwQ aD77MGTvxmGNjnzU7+KQIGixBFkQ106QzANLv8Bdn0xBe5kbTYnGov54y4yqtVDpZorxi1g== X-Received: by 2002:a05:6638:4192:b0:34a:4959:edf5 with SMTP id az18-20020a056638419200b0034a4959edf5mr2750284jab.193.1663873510369; Thu, 22 Sep 2022 12:05:10 -0700 (PDT) X-Google-Smtp-Source: AMsMyM672Mm37y8iXyNfZdUYC1hK9yB9ZZCpuCNqNFt0wzm28/lQEphqaiMcD52AIR+nCKG8ILh2RA== X-Received: by 2002:a05:6638:4192:b0:34a:4959:edf5 with SMTP id az18-20020a056638419200b0034a4959edf5mr2750270jab.193.1663873510090; Thu, 22 Sep 2022 12:05:10 -0700 (PDT) Received: from ?IPV6:2607:fea8:a263:f600::3dbe? ([2607:fea8:a263:f600::3dbe]) by smtp.gmail.com with ESMTPSA id i124-20020a6bb882000000b006a0cd2ab8dfsm2619469iof.8.2022.09.22.12.05.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 22 Sep 2022 12:05:09 -0700 (PDT) Message-ID: <99671c98-c81e-1fa3-b851-263492a54669@redhat.com> Date: Thu, 22 Sep 2022 15:05:08 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.1 Subject: [PATCH 09/17] Convert CFN_BUILT_IN_TOUPPER and TOLOWER to range-ops. From: Andrew MacLeod To: gcc-patches Cc: "hernandez, aldy" References: <571782f9-72e6-5c30-da55-b8d62d3a153e@redhat.com> In-Reply-To: <571782f9-72e6-5c30-da55-b8d62d3a153e@redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="------------fm08qRwa6vthU3bTgeM59q7b" Content-Language: en-US X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,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. --------------fm08qRwa6vthU3bTgeM59q7b Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Bootstrapped on x86_64-pc-linux-gnu with no regressions.  Pushed. Andrew --------------fm08qRwa6vthU3bTgeM59q7b Content-Type: text/x-patch; charset=UTF-8; name="0009-Convert-CFN_BUILT_IN_TOUPPER-and-TOLOWER-to-range-op.patch" Content-Disposition: attachment; filename*0="0009-Convert-CFN_BUILT_IN_TOUPPER-and-TOLOWER-to-range-op.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyZjVkYTczMGYxNTlkZTIzODUwMGM4MmIwYzZlZjZjOWFiOTFiMWMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgTWFjTGVvZCA8YW1hY2xlb2RAcmVkaGF0LmNvbT4K RGF0ZTogVHVlLCAyMCBTZXAgMjAyMiAxNzoxNDozMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDkv MTddIENvbnZlcnQgQ0ZOX0JVSUxUX0lOX1RPVVBQRVIgYW5kIFRPTE9XRVIgdG8gcmFuZ2Utb3Bz LgoKCSogZ2ltcGxlLXJhbmdlLWZvbGQuY2MgKGdldF9sZXR0ZXJfcmFuZ2UpOiBNb3ZlIHRvIG5l dyBjbGFzcy4KCShyYW5nZV9vZl9idWlsdGluX2ludF9jYWxsKTogUmVtb3ZlIGNhc2UgZm9yIENG Tl9CVUlMVF9JTl9UT1VQUEVSCglhbmQgQ0ZOX0JVSUxUX0lOX1RPTE9XRVIuCgkqIGdpbXBsZS1y YW5nZS1vcC5jYyAoY2xhc3MgY2ZuX3RvdXBwZXJfdG9sb3dlcik6IE5ldy4KCShnaW1wbGVfcmFu Z2Vfb3BfaGFuZGxlcjo6bWF5YmVfYnVpbHRpbl9jYWxsKTogU2V0IGFyZ3VtZW50cy4KLS0tCiBn Y2MvZ2ltcGxlLXJhbmdlLWZvbGQuY2MgfCA2NiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiBnY2MvZ2ltcGxlLXJhbmdlLW9wLmNjICAgfCA3NyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKyks IDY2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2djYy9naW1wbGUtcmFuZ2UtZm9sZC5jYyBi L2djYy9naW1wbGUtcmFuZ2UtZm9sZC5jYwppbmRleCA0MTdhOTI1YWM5Zi4uYWYxZjgzZjc0MDkg MTAwNjQ0Ci0tLSBhL2djYy9naW1wbGUtcmFuZ2UtZm9sZC5jYworKysgYi9nY2MvZ2ltcGxlLXJh bmdlLWZvbGQuY2MKQEAgLTg4NywyOCArODg3LDYgQEAgZm9sZF91c2luZ19yYW5nZTo6cmFuZ2Vf b2ZfYnVpbHRpbl91YnNhbl9jYWxsIChpcmFuZ2UgJnIsIGdjYWxsICpjYWxsLAogICAgIHIuc2V0 X3ZhcnlpbmcgKHR5cGUpOwogfQogCi0vLyBSZXR1cm4gVFJVRSBpZiB3ZSByZWNvZ25pemUgdGhl IHRhcmdldCBjaGFyYWN0ZXIgc2V0IGFuZCByZXR1cm4gdGhlCi0vLyByYW5nZSBmb3IgbG93ZXIg Y2FzZSBhbmQgdXBwZXIgY2FzZSBsZXR0ZXJzLgotCi1zdGF0aWMgYm9vbAotZ2V0X2xldHRlcl9y YW5nZSAodHJlZSB0eXBlLCBpcmFuZ2UgJmxvd2VycywgaXJhbmdlICZ1cHBlcnMpCi17Ci0gIC8v IEFTQ0lJCi0gIGludCBhID0gbGFuZ19ob29rcy50b190YXJnZXRfY2hhcnNldCAoJ2EnKTsKLSAg aW50IHogPSBsYW5nX2hvb2tzLnRvX3RhcmdldF9jaGFyc2V0ICgneicpOwotICBpbnQgQSA9IGxh bmdfaG9va3MudG9fdGFyZ2V0X2NoYXJzZXQgKCdBJyk7Ci0gIGludCBaID0gbGFuZ19ob29rcy50 b190YXJnZXRfY2hhcnNldCAoJ1onKTsKLQotICBpZiAoKHogLSBhID09IDI1KSAmJiAoWiAtIEEg PT0gMjUpKQotICAgIHsKLSAgICAgIGxvd2VycyA9IGludF9yYW5nZTwyPiAoYnVpbGRfaW50X2Nz dCAodHlwZSwgYSksIGJ1aWxkX2ludF9jc3QgKHR5cGUsIHopKTsKLSAgICAgIHVwcGVycyA9IGlu dF9yYW5nZTwyPiAoYnVpbGRfaW50X2NzdCAodHlwZSwgQSksIGJ1aWxkX2ludF9jc3QgKHR5cGUs IFopKTsKLSAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgLy8gVW5rbm93biBjaGFyYWN0ZXIg c2V0LgotICByZXR1cm4gZmFsc2U7Ci19Ci0KIC8vIEZvciBhIGJ1aWx0aW4gaW4gQ0FMTCwgcmV0 dXJuIGEgcmFuZ2UgaW4gUiBpZiBrbm93biBhbmQgcmV0dXJuCiAvLyBUUlVFLiAgT3RoZXJ3aXNl IHJldHVybiBGQUxTRS4KIApAQCAtOTQ0LDUwICs5MjIsNiBAQCBmb2xkX3VzaW5nX3JhbmdlOjpy YW5nZV9vZl9idWlsdGluX2ludF9jYWxsIChpcmFuZ2UgJnIsIGdjYWxsICpjYWxsLAogCiAgIHN3 aXRjaCAoZnVuYykKICAgICB7Ci0gICAgY2FzZSBDRk5fQlVJTFRfSU5fVE9VUFBFUjoKLSAgICAg IHsKLQlhcmcgPSBnaW1wbGVfY2FsbF9hcmcgKGNhbGwsIDApOwotCS8vIElmIHRoZSBhcmd1bWVu dCBpc24ndCBjb21wYXRpYmxlIHdpdGggdGhlIExIUywgZG8gbm90aGluZy4KLQlpZiAoIXJhbmdl X2NvbXBhdGlibGVfcCAodHlwZSwgVFJFRV9UWVBFIChhcmcpKSkKLQkgIHJldHVybiBmYWxzZTsK LQlpZiAoIXNyYy5nZXRfb3BlcmFuZCAociwgYXJnKSkKLQkgIHJldHVybiBmYWxzZTsKLQotCWlu dF9yYW5nZTwzPiBsb3dlcnM7Ci0JaW50X3JhbmdlPDM+IHVwcGVyczsKLQlpZiAoIWdldF9sZXR0 ZXJfcmFuZ2UgKHR5cGUsIGxvd2VycywgdXBwZXJzKSkKLQkgIHJldHVybiBmYWxzZTsKLQotCS8v IFJldHVybiB0aGUgcmFuZ2UgcGFzc2VkIGluIHdpdGhvdXQgYW55IGxvd2VyIGNhc2UgY2hhcmFj dGVycywKLQkvLyBidXQgaW5jbHVkaW5nIGFsbCB0aGUgdXBwZXIgY2FzZSBvbmVzLgotCWxvd2Vy cy5pbnZlcnQgKCk7Ci0Jci5pbnRlcnNlY3QgKGxvd2Vycyk7Ci0Jci51bmlvbl8gKHVwcGVycyk7 Ci0JcmV0dXJuIHRydWU7Ci0gICAgICB9Ci0KLSAgICAgY2FzZSBDRk5fQlVJTFRfSU5fVE9MT1dF UjoKLSAgICAgIHsKLQlhcmcgPSBnaW1wbGVfY2FsbF9hcmcgKGNhbGwsIDApOwotCS8vIElmIHRo ZSBhcmd1bWVudCBpc24ndCBjb21wYXRpYmxlIHdpdGggdGhlIExIUywgZG8gbm90aGluZy4KLQlp ZiAoIXJhbmdlX2NvbXBhdGlibGVfcCAodHlwZSwgVFJFRV9UWVBFIChhcmcpKSkKLQkgIHJldHVy biBmYWxzZTsKLQlpZiAoIXNyYy5nZXRfb3BlcmFuZCAociwgYXJnKSkKLQkgIHJldHVybiBmYWxz ZTsKLQotCWludF9yYW5nZTwzPiBsb3dlcnM7Ci0JaW50X3JhbmdlPDM+IHVwcGVyczsKLQlpZiAo IWdldF9sZXR0ZXJfcmFuZ2UgKHR5cGUsIGxvd2VycywgdXBwZXJzKSkKLQkgIHJldHVybiBmYWxz ZTsKLQotCS8vIFJldHVybiB0aGUgcmFuZ2UgcGFzc2VkIGluIHdpdGhvdXQgYW55IHVwcGVyIGNh c2UgY2hhcmFjdGVycywKLQkvLyBidXQgaW5jbHVkaW5nIGFsbCB0aGUgbG93ZXIgY2FzZSBvbmVz LgotCXVwcGVycy5pbnZlcnQgKCk7Ci0Jci5pbnRlcnNlY3QgKHVwcGVycyk7Ci0Jci51bmlvbl8g KGxvd2Vycyk7Ci0JcmV0dXJuIHRydWU7Ci0gICAgICB9Ci0KICAgICBDQVNFX0NGTl9GRlM6CiAg ICAgQ0FTRV9DRk5fUE9QQ09VTlQ6CiAgICAgICAvLyBfX2J1aWx0aW5fZmZzKiBhbmQgX19idWls dGluX3BvcGNvdW50KiByZXR1cm4gWzAsIHByZWNdLgpkaWZmIC0tZ2l0IGEvZ2NjL2dpbXBsZS1y YW5nZS1vcC5jYyBiL2djYy9naW1wbGUtcmFuZ2Utb3AuY2MKaW5kZXggZDYyZGZmNWY5MmUuLjQ1 Mzg0ZDk5MGFlIDEwMDY0NAotLS0gYS9nY2MvZ2ltcGxlLXJhbmdlLW9wLmNjCisrKyBiL2djYy9n aW1wbGUtcmFuZ2Utb3AuY2MKQEAgLTMyMiw2ICszMjIsNzEgQEAgcHVibGljOgogICB9CiB9IG9w X2Nmbl9zaWduYml0OwogCisvLyBJbXBsZW1lbnQgcmFuZ2Ugb3BlcmF0b3IgZm9yIENGTl9CVUlM VF9JTl9UT1VQUEVSIGFuZCBDRk5fQlVJTFRfSU5fVE9MT1dFUi4KK2NsYXNzIGNmbl90b3VwcGVy X3RvbG93ZXIgOiBwdWJsaWMgcmFuZ2Vfb3BlcmF0b3IKK3sKK3B1YmxpYzoKKyAgdXNpbmcgcmFu Z2Vfb3BlcmF0b3I6OmZvbGRfcmFuZ2U7CisgIGNmbl90b3VwcGVyX3RvbG93ZXIgKGJvb2wgdG91 cHBlcikgIHsgbV90b3VwcGVyID0gdG91cHBlcjsgfQorICB2aXJ0dWFsIGJvb2wgZm9sZF9yYW5n ZSAoaXJhbmdlICZyLCB0cmVlIHR5cGUsIGNvbnN0IGlyYW5nZSAmbGgsCisJCQkgICBjb25zdCBp cmFuZ2UgJiwgcmVsYXRpb25fa2luZCkgY29uc3Q7Citwcml2YXRlOgorICBib29sIGdldF9sZXR0 ZXJfcmFuZ2UgKHRyZWUgdHlwZSwgaXJhbmdlICZsb3dlcnMsIGlyYW5nZSAmdXBwZXJzKSBjb25z dDsKKyAgYm9vbCBtX3RvdXBwZXI7Cit9IG9wX2Nmbl90b3VwcGVyICh0cnVlKSwgb3BfY2ZuX3Rv bG93ZXIgKGZhbHNlKTsKKworLy8gUmV0dXJuIFRSVUUgaWYgd2UgcmVjb2duaXplIHRoZSB0YXJn ZXQgY2hhcmFjdGVyIHNldCBhbmQgcmV0dXJuIHRoZQorLy8gcmFuZ2UgZm9yIGxvd2VyIGNhc2Ug YW5kIHVwcGVyIGNhc2UgbGV0dGVycy4KKworYm9vbAorY2ZuX3RvdXBwZXJfdG9sb3dlcjo6Z2V0 X2xldHRlcl9yYW5nZSAodHJlZSB0eXBlLCBpcmFuZ2UgJmxvd2VycywKKwkJCQkgICAgICAgaXJh bmdlICZ1cHBlcnMpIGNvbnN0Cit7CisgIC8vIEFTQ0lJCisgIGludCBhID0gbGFuZ19ob29rcy50 b190YXJnZXRfY2hhcnNldCAoJ2EnKTsKKyAgaW50IHogPSBsYW5nX2hvb2tzLnRvX3RhcmdldF9j aGFyc2V0ICgneicpOworICBpbnQgQSA9IGxhbmdfaG9va3MudG9fdGFyZ2V0X2NoYXJzZXQgKCdB Jyk7CisgIGludCBaID0gbGFuZ19ob29rcy50b190YXJnZXRfY2hhcnNldCAoJ1onKTsKKworICBp ZiAoKHogLSBhID09IDI1KSAmJiAoWiAtIEEgPT0gMjUpKQorICAgIHsKKyAgICAgIGxvd2VycyA9 IGludF9yYW5nZTwyPiAoYnVpbGRfaW50X2NzdCAodHlwZSwgYSksIGJ1aWxkX2ludF9jc3QgKHR5 cGUsIHopKTsKKyAgICAgIHVwcGVycyA9IGludF9yYW5nZTwyPiAoYnVpbGRfaW50X2NzdCAodHlw ZSwgQSksIGJ1aWxkX2ludF9jc3QgKHR5cGUsIFopKTsKKyAgICAgIHJldHVybiB0cnVlOworICAg IH0KKyAgLy8gVW5rbm93biBjaGFyYWN0ZXIgc2V0LgorICByZXR1cm4gZmFsc2U7Cit9CisKK2Jv b2wKK2Nmbl90b3VwcGVyX3RvbG93ZXI6OmZvbGRfcmFuZ2UgKGlyYW5nZSAmciwgdHJlZSB0eXBl LCBjb25zdCBpcmFuZ2UgJmxoLAorCQkJCSBjb25zdCBpcmFuZ2UgJiwgcmVsYXRpb25fa2luZCkg Y29uc3QKK3sKKyAgaW50X3JhbmdlPDM+IGxvd2VyczsKKyAgaW50X3JhbmdlPDM+IHVwcGVyczsK KyAgaWYgKCFnZXRfbGV0dGVyX3JhbmdlICh0eXBlLCBsb3dlcnMsIHVwcGVycykpCisgICAgcmV0 dXJuIGZhbHNlOworCisgIHIgPSBsaDsKKyAgaWYgKG1fdG91cHBlcikKKyAgICB7CisgICAgICAv LyBSZXR1cm4gdGhlIHJhbmdlIHBhc3NlZCBpbiB3aXRob3V0IGFueSBsb3dlciBjYXNlIGNoYXJh Y3RlcnMsCisgICAgICAvLyBidXQgaW5jbHVkaW5nIGFsbCB0aGUgdXBwZXIgY2FzZSBvbmVzLgor ICAgICAgbG93ZXJzLmludmVydCAoKTsKKyAgICAgIHIuaW50ZXJzZWN0IChsb3dlcnMpOworICAg ICAgci51bmlvbl8gKHVwcGVycyk7CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgLy8gUmV0 dXJuIHRoZSByYW5nZSBwYXNzZWQgaW4gd2l0aG91dCBhbnkgbG93ZXIgY2FzZSBjaGFyYWN0ZXJz LAorICAgICAgLy8gYnV0IGluY2x1ZGluZyBhbGwgdGhlIHVwcGVyIGNhc2Ugb25lcy4KKyAgICAg IHVwcGVycy5pbnZlcnQgKCk7CisgICAgICByLmludGVyc2VjdCAodXBwZXJzKTsKKyAgICAgIHIu dW5pb25fIChsb3dlcnMpOworICAgIH0KKyAgcmV0dXJuIHRydWU7Cit9CisKIC8vIFNldCB1cCBh IGdpbXBsZV9yYW5nZV9vcF9oYW5kbGVyIGZvciBhbnkgYnVpbHQgaW4gZnVuY3Rpb24gd2hpY2gg Y2FuIGJlCiAvLyBzdXBwb3J0ZWQgdmlhIHJhbmdlLW9wcy4KIApAQCAtMzU4LDYgKzQyMywxOCBA QCBnaW1wbGVfcmFuZ2Vfb3BfaGFuZGxlcjo6bWF5YmVfYnVpbHRpbl9jYWxsICgpCiAgICAgICBt X3ZhbGlkID0gdHJ1ZTsKICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBDRk5fQlVJTFRfSU5fVE9V UFBFUjoKKyAgICBjYXNlIENGTl9CVUlMVF9JTl9UT0xPV0VSOgorICAgICAgLy8gT25seSBwcm9j ZWVkIElmIHRoZSBhcmd1bWVudCBpcyBjb21wYXRpYmxlIHdpdGggdGhlIExIUy4KKyAgICAgIG1f b3AxID0gZ2ltcGxlX2NhbGxfYXJnIChjYWxsLCAwKTsKKyAgICAgIGlmIChyYW5nZV9jb21wYXRp YmxlX3AgKHR5cGUsIFRSRUVfVFlQRSAobV9vcDEpKSkKKwl7CisJICBtX3ZhbGlkID0gdHJ1ZTsK KwkgIG1faW50ID0gKGZ1bmMgPT0gQ0ZOX0JVSUxUX0lOX1RPTE9XRVIpID8gJm9wX2Nmbl90b2xv d2VyCisJCQkJCQkgOiAmb3BfY2ZuX3RvdXBwZXI7CisJfQorICAgICAgYnJlYWs7CisKICAgICBk ZWZhdWx0OgogICAgICAgYnJlYWs7CiAgICAgfQotLSAKMi4zNy4zCgo= --------------fm08qRwa6vthU3bTgeM59q7b--