From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com [IPv6:2a00:1450:4864:20::532]) by sourceware.org (Postfix) with ESMTPS id EC19F3858C27 for ; Sat, 28 Nov 2020 15:02:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EC19F3858C27 Received: by mail-ed1-x532.google.com with SMTP id m16so8824360edr.3 for ; Sat, 28 Nov 2020 07:02:37 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=i7FN/bvATcjCcOgvlBIJs9DhOhGa14QR32wc7P4Oa1k=; b=ptgLnFjG8POhy5+nrKzJLAEELNNnCdawNYttEB1QZln7p1pX2Fh0jFEADulEz23zQY J/98f+aW5oJdcLkHTPBG8PXyjPrEUFtW8ZntWHE7j1G/SY8jdZjRRxdO/ugOtjFq+L17 YQHt0rw8lP2cS41QJYmZqXviPdFwrPLFwRE6/JkXloHuMDol+A9g3tOZxIj3Lr03epT+ W2Jh+QcMAS5ixqPzNjk1NfcouKBedNYokUvxqcFVnC2PkSbM8cFLGl+LMUEWexGeuwu0 cfGmlhKFb+e41S2QOR4HrboPKr6UqrqMs/Qh1irVfs84BS9JPMpwKsMUR8CTCF+yyJ1H r8OA== X-Gm-Message-State: AOAM53099rQnUqBKVkqURpePfIOfSD/Xv9jyWs++xMz68cZtnWOa+Hdw CrQAFJmAdaHvUA/5UKD8wPaJTq/IJKiG0CIKLpYedUM01G3nRQ== X-Google-Smtp-Source: ABdhPJzPFF4Q6Buh/7N/ArySNw2o9HRT3LTWFRWzscFsJ2/Tr2xLZCHL3X/N4WTGrAfEvyVY6l7QsfPeZvA8DjKi32Q= X-Received: by 2002:a05:6402:1155:: with SMTP id g21mr13727700edw.53.1606575756662; Sat, 28 Nov 2020 07:02:36 -0800 (PST) MIME-Version: 1.0 From: Ian Lance Taylor Date: Sat, 28 Nov 2020 07:02:25 -0800 Message-ID: Subject: Go patch committed: Avoid follow-on errors for bad types To: gcc-patches , gofrontend-dev Content-Type: multipart/mixed; boundary="00000000000048785f05b52c11b5" X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Nov 2020 15:02:40 -0000 --00000000000048785f05b52c11b5 Content-Type: text/plain; charset="UTF-8" This patch to the Go frontend marks bad types are erroneous, to avoid generating further errors. This required some code using array types to check for errors. This is for https://golang.org/issue/19880. This requires updating one of the tests in the testsuite. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian --00000000000048785f05b52c11b5 Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ki1tpmw80 YjFhZGJjMjdjNGE4NWRlZDRkYjgxZWQ2NWIxY2VmY2U0Y2VlOGQxNQpkaWZmIC0tZ2l0IGEvZ2Nj L2dvL2dvZnJvbnRlbmQvTUVSR0UgYi9nY2MvZ28vZ29mcm9udGVuZC9NRVJHRQppbmRleCA1OTY0 ODMyNmZjYy4uNDY5NTkwNzBlODUgMTAwNjQ0Ci0tLSBhL2djYy9nby9nb2Zyb250ZW5kL01FUkdF CisrKyBiL2djYy9nby9nb2Zyb250ZW5kL01FUkdFCkBAIC0xLDQgKzEsNCBAQAotNjY2NjliYjZj YWU0NzVlZGE2NjY2YTk0ZjZmZjRmNjE2ZmZhNzdkNworMTZhYjliMDAxYzIxNGNmODMxYmM1MmE3 YmNhNWEyZDE4ZTllNGYzYwogCiBUaGUgZmlyc3QgbGluZSBvZiB0aGlzIGZpbGUgaG9sZHMgdGhl IGdpdCByZXZpc2lvbiBudW1iZXIgb2YgdGhlIGxhc3QKIG1lcmdlIGRvbmUgZnJvbSB0aGUgZ29m cm9udGVuZCByZXBvc2l0b3J5LgpkaWZmIC0tZ2l0IGEvZ2NjL2dvL2dvZnJvbnRlbmQvZXhwcmVz c2lvbnMuY2MgYi9nY2MvZ28vZ29mcm9udGVuZC9leHByZXNzaW9ucy5jYwppbmRleCA0NDg4ODhi MGFkNy4uZGM3Mzk5ZWJiM2EgMTAwNjQ0Ci0tLSBhL2djYy9nby9nb2Zyb250ZW5kL2V4cHJlc3Np b25zLmNjCisrKyBiL2djYy9nby9nb2Zyb250ZW5kL2V4cHJlc3Npb25zLmNjCkBAIC0xNTMwMyw5 ICsxNTMwMywyMiBAQCBBcnJheV9jb25zdHJ1Y3Rpb25fZXhwcmVzc2lvbjo6ZG9faXNfc3RhdGlj X2luaXRpYWxpemVyKCkgY29uc3QKIHZvaWQKIEFycmF5X2NvbnN0cnVjdGlvbl9leHByZXNzaW9u Ojpkb19kZXRlcm1pbmVfdHlwZShjb25zdCBUeXBlX2NvbnRleHQqKQogeworICBpZiAodGhpcy0+ aXNfZXJyb3JfZXhwcmVzc2lvbigpKQorICAgIHsKKyAgICAgIGdvX2Fzc2VydChzYXdfZXJyb3Jz KCkpOworICAgICAgcmV0dXJuOworICAgIH0KKwogICBpZiAodGhpcy0+dmFscygpID09IE5VTEwp CiAgICAgcmV0dXJuOwotICBUeXBlX2NvbnRleHQgc3ViY29udGV4dCh0aGlzLT50eXBlXy0+YXJy YXlfdHlwZSgpLT5lbGVtZW50X3R5cGUoKSwgZmFsc2UpOworICBBcnJheV90eXBlKiBhdCA9IHRo aXMtPnR5cGVfLT5hcnJheV90eXBlKCk7CisgIGlmIChhdCA9PSBOVUxMIHx8IGF0LT5pc19lcnJv cigpIHx8IGF0LT5lbGVtZW50X3R5cGUoKS0+aXNfZXJyb3IoKSkKKyAgICB7CisgICAgICBnb19h c3NlcnQoc2F3X2Vycm9ycygpKTsKKyAgICAgIHRoaXMtPnNldF9pc19lcnJvcigpOworICAgICAg cmV0dXJuOworICAgIH0KKyAgVHlwZV9jb250ZXh0IHN1YmNvbnRleHQoYXQtPmVsZW1lbnRfdHlw ZSgpLCBmYWxzZSk7CiAgIGZvciAoRXhwcmVzc2lvbl9saXN0Ojpjb25zdF9pdGVyYXRvciBwdiA9 IHRoaXMtPnZhbHMoKS0+YmVnaW4oKTsKICAgICAgICBwdiAhPSB0aGlzLT52YWxzKCktPmVuZCgp OwogICAgICAgICsrcHYpCkBAIC0xNTMyMCwxMCArMTUzMzMsMjIgQEAgQXJyYXlfY29uc3RydWN0 aW9uX2V4cHJlc3Npb246OmRvX2RldGVybWluZV90eXBlKGNvbnN0IFR5cGVfY29udGV4dCopCiB2 b2lkCiBBcnJheV9jb25zdHJ1Y3Rpb25fZXhwcmVzc2lvbjo6ZG9fY2hlY2tfdHlwZXMoR29nbyop CiB7CisgIGlmICh0aGlzLT5pc19lcnJvcl9leHByZXNzaW9uKCkpCisgICAgeworICAgICAgZ29f YXNzZXJ0KHNhd19lcnJvcnMoKSk7CisgICAgICByZXR1cm47CisgICAgfQorCiAgIGlmICh0aGlz LT52YWxzKCkgPT0gTlVMTCkKICAgICByZXR1cm47CiAKICAgQXJyYXlfdHlwZSogYXQgPSB0aGlz LT50eXBlXy0+YXJyYXlfdHlwZSgpOworICBpZiAoYXQgPT0gTlVMTCB8fCBhdC0+aXNfZXJyb3Io KSB8fCBhdC0+ZWxlbWVudF90eXBlKCktPmlzX2Vycm9yKCkpCisgICAgeworICAgICAgZ29fYXNz ZXJ0KHNhd19lcnJvcnMoKSk7CisgICAgICB0aGlzLT5zZXRfaXNfZXJyb3IoKTsKKyAgICAgIHJl dHVybjsKKyAgICB9CiAgIGludCBpID0gMDsKICAgVHlwZSogZWxlbWVudF90eXBlID0gYXQtPmVs ZW1lbnRfdHlwZSgpOwogICBmb3IgKEV4cHJlc3Npb25fbGlzdDo6Y29uc3RfaXRlcmF0b3IgcHYg PSB0aGlzLT52YWxzKCktPmJlZ2luKCk7CkBAIC0xNTM0OCw2ICsxNTM3MywxMiBAQCBFeHByZXNz aW9uKgogQXJyYXlfY29uc3RydWN0aW9uX2V4cHJlc3Npb246OmRvX2ZsYXR0ZW4oR29nbyosIE5h bWVkX29iamVjdCosCiAJCQkJCSAgIFN0YXRlbWVudF9pbnNlcnRlciogaW5zZXJ0ZXIpCiB7Cisg IGlmICh0aGlzLT5pc19lcnJvcl9leHByZXNzaW9uKCkpCisgICAgeworICAgICAgZ29fYXNzZXJ0 KHNhd19lcnJvcnMoKSk7CisgICAgICByZXR1cm4gdGhpczsKKyAgICB9CisKICAgaWYgKHRoaXMt PnZhbHMoKSA9PSBOVUxMKQogICAgIHJldHVybiB0aGlzOwogCkBAIC0xNTM4NCw2ICsxNTQxNSwx MiBAQCBBcnJheV9jb25zdHJ1Y3Rpb25fZXhwcmVzc2lvbjo6ZG9fZmxhdHRlbihHb2dvKiwgTmFt ZWRfb2JqZWN0KiwKIHZvaWQKIEFycmF5X2NvbnN0cnVjdGlvbl9leHByZXNzaW9uOjpkb19hZGRf Y29udmVyc2lvbnMoKQogeworICBpZiAodGhpcy0+aXNfZXJyb3JfZXhwcmVzc2lvbigpKQorICAg IHsKKyAgICAgIGdvX2Fzc2VydChzYXdfZXJyb3JzKCkpOworICAgICAgcmV0dXJuOworICAgIH0K KwogICBpZiAodGhpcy0+dmFscygpID09IE5VTEwpCiAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQg YS9nY2MvZ28vZ29mcm9udGVuZC90eXBlcy5jYyBiL2djYy9nby9nb2Zyb250ZW5kL3R5cGVzLmNj CmluZGV4IGM0NTcwYjQxYTcxLi4yODZlY2MxNjM2NiAxMDA2NDQKLS0tIGEvZ2NjL2dvL2dvZnJv bnRlbmQvdHlwZXMuY2MKKysrIGIvZ2NjL2dvL2dvZnJvbnRlbmQvdHlwZXMuY2MKQEAgLTI2MSw2 ICsyNjEsMTUgQEAgVHlwZTo6aXNfZXJyb3JfdHlwZSgpIGNvbnN0CiAgICAgfQogfQogCisvLyBO b3RlIHRoYXQgdGhpcyB0eXBlIGlzIGFuIGVycm9yLiAgVGhpcyBpcyBjYWxsZWQgYnkgY2hpbGRy ZW4gd2hlbgorLy8gdGhleSBkaXNjb3ZlciBhbiBlcnJvciBkdXJpbmcgdGhlIHZlcmlmeV90eXBl cyBwYXNzLgorCit2b2lkCitUeXBlOjpzZXRfaXNfZXJyb3IoKQoreworICB0aGlzLT5jbGFzc2lm aWNhdGlvbl8gPSBUWVBFX0VSUk9SOworfQorCiAvLyBJZiB0aGlzIGlzIGEgcG9pbnRlciB0eXBl LCByZXR1cm4gdGhlIHR5cGUgdG8gd2hpY2ggaXQgcG9pbnRzLgogLy8gT3RoZXJ3aXNlLCByZXR1 cm4gTlVMTC4KIApAQCAtNTg3MSw2ICs1ODgwLDcgQEAgU3RydWN0X3R5cGU6OmRvX3ZlcmlmeSgp CiAJICAgIHsKIAkgICAgICBnb19lcnJvcl9hdChwLT5sb2NhdGlvbigpLCAiZW1iZWRkZWQgdHlw ZSBtYXkgbm90IGJlIGEgcG9pbnRlciIpOwogCSAgICAgIHAtPnNldF90eXBlKFR5cGU6Om1ha2Vf ZXJyb3JfdHlwZSgpKTsKKwkgICAgICB0aGlzLT5zZXRfaXNfZXJyb3IoKTsKIAkgICAgfQogCSAg ZWxzZSBpZiAodC0+cG9pbnRzX3RvKCkgIT0gTlVMTAogCQkgICAmJiB0LT5wb2ludHNfdG8oKS0+ aW50ZXJmYWNlX3R5cGUoKSAhPSBOVUxMKQpAQCAtNTg3OCw2ICs1ODg4LDcgQEAgU3RydWN0X3R5 cGU6OmRvX3ZlcmlmeSgpCiAJICAgICAgZ29fZXJyb3JfYXQocC0+bG9jYXRpb24oKSwKIAkJICAg ICAgICJlbWJlZGRlZCB0eXBlIG1heSBub3QgYmUgcG9pbnRlciB0byBpbnRlcmZhY2UiKTsKIAkg ICAgICBwLT5zZXRfdHlwZShUeXBlOjptYWtlX2Vycm9yX3R5cGUoKSk7CisJICAgICAgdGhpcy0+ c2V0X2lzX2Vycm9yKCk7CiAJICAgIH0KIAl9CiAgICAgfQpAQCAtNzIzNiw2ICs3MjQ3LDEzIEBA IEFycmF5X3R5cGU6OnZlcmlmeV9sZW5ndGgoKQogICBUeXBlX2NvbnRleHQgY29udGV4dChUeXBl Ojpsb29rdXBfaW50ZWdlcl90eXBlKCJpbnQiKSwgZmFsc2UpOwogICB0aGlzLT5sZW5ndGhfLT5k ZXRlcm1pbmVfdHlwZSgmY29udGV4dCk7CiAKKyAgaWYgKHRoaXMtPmxlbmd0aF8tPmlzX2Vycm9y X2V4cHJlc3Npb24oKQorICAgICAgfHwgdGhpcy0+bGVuZ3RoXy0+dHlwZSgpLT5pc19lcnJvcigp KQorICAgIHsKKyAgICAgIGdvX2Fzc2VydChzYXdfZXJyb3JzKCkpOworICAgICAgcmV0dXJuIGZh bHNlOworICAgIH0KKwogICBpZiAoIXRoaXMtPmxlbmd0aF8tPmlzX2NvbnN0YW50KCkpCiAgICAg ewogICAgICAgZ29fZXJyb3JfYXQodGhpcy0+bGVuZ3RoXy0+bG9jYXRpb24oKSwgImFycmF5IGJv dW5kIGlzIG5vdCBjb25zdGFudCIpOwpAQCAtNzMxMCw3ICs3MzI4LDEwIEBAIEFycmF5X3R5cGU6 OmRvX3ZlcmlmeSgpCiAgIGlmICh0aGlzLT5lbGVtZW50X3R5cGUoKS0+aXNfZXJyb3JfdHlwZSgp KQogICAgIHJldHVybiBmYWxzZTsKICAgaWYgKCF0aGlzLT52ZXJpZnlfbGVuZ3RoKCkpCi0gICAg dGhpcy0+bGVuZ3RoXyA9IEV4cHJlc3Npb246Om1ha2VfZXJyb3IodGhpcy0+bGVuZ3RoXy0+bG9j YXRpb24oKSk7CisgICAgeworICAgICAgdGhpcy0+bGVuZ3RoXyA9IEV4cHJlc3Npb246Om1ha2Vf ZXJyb3IodGhpcy0+bGVuZ3RoXy0+bG9jYXRpb24oKSk7CisgICAgICB0aGlzLT5zZXRfaXNfZXJy b3IoKTsKKyAgICB9CiAgIHJldHVybiB0cnVlOwogfQogCkBAIC04MTI1LDExICs4MTQ2LDIwIEBA IE1hcF90eXBlOjpkb192ZXJpZnkoKQogewogICAvLyBUaGUgcnVudGltZSBzdXBwb3J0IHVzZXMg Im1hcFt2b2lkXXZvaWQiLgogICBpZiAoIXRoaXMtPmtleV90eXBlXy0+aXNfY29tcGFyYWJsZSgp ICYmICF0aGlzLT5rZXlfdHlwZV8tPmlzX3ZvaWRfdHlwZSgpKQotICAgIGdvX2Vycm9yX2F0KHRo aXMtPmxvY2F0aW9uXywgImludmFsaWQgbWFwIGtleSB0eXBlIik7CisgICAgeworICAgICAgZ29f ZXJyb3JfYXQodGhpcy0+bG9jYXRpb25fLCAiaW52YWxpZCBtYXAga2V5IHR5cGUiKTsKKyAgICAg IHRoaXMtPnNldF9pc19lcnJvcigpOworICAgIH0KICAgaWYgKCF0aGlzLT5rZXlfdHlwZV8tPmlu X2hlYXAoKSkKLSAgICBnb19lcnJvcl9hdCh0aGlzLT5sb2NhdGlvbl8sICJnbzpub3RpbmhlYXAg bWFwIGtleSBub3QgYWxsb3dlZCIpOworICAgIHsKKyAgICAgIGdvX2Vycm9yX2F0KHRoaXMtPmxv Y2F0aW9uXywgImdvOm5vdGluaGVhcCBtYXAga2V5IG5vdCBhbGxvd2VkIik7CisgICAgICB0aGlz LT5zZXRfaXNfZXJyb3IoKTsKKyAgICB9CiAgIGlmICghdGhpcy0+dmFsX3R5cGVfLT5pbl9oZWFw KCkpCi0gICAgZ29fZXJyb3JfYXQodGhpcy0+bG9jYXRpb25fLCAiZ286bm90aW5oZWFwIG1hcCB2 YWx1ZSBub3QgYWxsb3dlZCIpOworICAgIHsKKyAgICAgIGdvX2Vycm9yX2F0KHRoaXMtPmxvY2F0 aW9uXywgImdvOm5vdGluaGVhcCBtYXAgdmFsdWUgbm90IGFsbG93ZWQiKTsKKyAgICAgIHRoaXMt PnNldF9pc19lcnJvcigpOworICAgIH0KICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTg2NjAsOCAr ODY5MCwxMSBAQCBDaGFubmVsX3R5cGU6OmRvX3ZlcmlmeSgpCiAgIC8vIFdlIGhhdmUgbm8gbG9j YXRpb24gZm9yIHRoaXMgZXJyb3IsIGJ1dCB0aGlzIGlzIG5vdCBzb21ldGhpbmcgdGhlCiAgIC8v IG9yZGluYXJ5IHVzZXIgd2lsbCBzZWUuCiAgIGlmICghdGhpcy0+ZWxlbWVudF90eXBlXy0+aW5f aGVhcCgpKQotICAgIGdvX2Vycm9yX2F0KExpbmVtYXA6OnVua25vd25fbG9jYXRpb24oKSwKLQkJ ImNoYW4gb2YgZ286bm90aW5oZWFwIHR5cGUgbm90IGFsbG93ZWQiKTsKKyAgICB7CisgICAgICBn b19lcnJvcl9hdChMaW5lbWFwOjp1bmtub3duX2xvY2F0aW9uKCksCisJCSAgImNoYW4gb2YgZ286 bm90aW5oZWFwIHR5cGUgbm90IGFsbG93ZWQiKTsKKyAgICAgIHRoaXMtPnNldF9pc19lcnJvcigp OworICAgIH0KICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL2djYy9nby9nb2Zyb250 ZW5kL3R5cGVzLmggYi9nY2MvZ28vZ29mcm9udGVuZC90eXBlcy5oCmluZGV4IDU5NjVkNWEzZmRl Li5kMDk3MDI5NWQ3NSAxMDA2NDQKLS0tIGEvZ2NjL2dvL2dvZnJvbnRlbmQvdHlwZXMuaAorKysg Yi9nY2MvZ28vZ29mcm9udGVuZC90eXBlcy5oCkBAIC0xMTQxLDYgKzExNDEsMTAgQEAgY2xhc3Mg VHlwZQogICB2aXJ0dWFsIHZvaWQKICAgZG9fZXhwb3J0KEV4cG9ydCopIGNvbnN0OwogCisgIC8v IEZvciBjaGlsZHJlbiB0byBjYWxsIHdoZW4gdGhleSBkZXRlY3QgdGhhdCB0aGV5IGFyZSBpbiBl cnJvci4KKyAgdm9pZAorICBzZXRfaXNfZXJyb3IoKTsKKwogICAvLyBSZXR1cm4gd2hldGhlciBh IG1ldGhvZCBleHBlY3RzIGEgcG9pbnRlciBhcyB0aGUgcmVjZWl2ZXIuCiAgIHN0YXRpYyBib29s CiAgIG1ldGhvZF9leHBlY3RzX3BvaW50ZXIoY29uc3QgTmFtZWRfb2JqZWN0Kik7CmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2dvLnRlc3QvdGVzdC9maXhlZGJ1Z3MvYnVnMjU1LmdvIGIvZ2Nj L3Rlc3RzdWl0ZS9nby50ZXN0L3Rlc3QvZml4ZWRidWdzL2J1ZzI1NS5nbwppbmRleCBhY2Y0ZjIz OTEwZC4uNDU4ZmI5NzJiMjAgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ28udGVzdC90ZXN0 L2ZpeGVkYnVncy9idWcyNTUuZ28KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nby50ZXN0L3Rlc3QvZml4 ZWRidWdzL2J1ZzI1NS5nbwpAQCAtMSwxNSArMSwyMCBAQAogLy8gZXJyb3JjaGVjawogCi0vLyBD b3B5cmlnaHQgMjAxMCBUaGUgR28gQXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLyBD b3B5cmlnaHQgMjAxMCBUaGUgR28gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KIC8vIFVz ZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlCiAvLyBsaWNl bnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKIHBhY2thZ2UgbWFp bgogCi12YXIgYSBbMTBdaW50CS8vIG9rCi12YXIgYiBbMWUxXWludAkvLyBvawotdmFyIGMgWzEu NV1pbnQJLy8gRVJST1IgInRydW5jYXRlZCIKLXZhciBkIFsiYWJjIl1pbnQJLy8gRVJST1IgImlu dmFsaWQgYXJyYXkgYm91bmR8bm90IG51bWVyaWMiCi12YXIgZSBbbmlsXWludAkvLyBFUlJPUiAi aW52YWxpZCBhcnJheSBib3VuZHxub3QgbnVtZXJpYyIKLXZhciBmIFtlXWludAkvLyBFUlJPUiAi aW52YWxpZCBhcnJheSBib3VuZHxub3QgY29uc3RhbnQiCi12YXIgZyBbMTw8NjVdaW50CS8vIEVS Uk9SICJhcnJheSBib3VuZCBpcyB0b28gbGFyZ2V8b3ZlcmZsb3dzIgordmFyIGEgWzEwXWludCAg ICAgIC8vIG9rCit2YXIgYiBbMWUxXWludCAgICAgLy8gb2sKK3ZhciBjIFsxLjVdaW50ICAgICAv LyBFUlJPUiAidHJ1bmNhdGVkIgordmFyIGQgWyJhYmMiXWludCAgIC8vIEVSUk9SICJpbnZhbGlk IGFycmF5IGJvdW5kfG5vdCBudW1lcmljIgordmFyIGUgW25pbF1pbnQgICAgIC8vIEVSUk9SICJ1 c2Ugb2YgdW50eXBlZCBuaWx8aW52YWxpZCBhcnJheSBib3VuZHxub3QgbnVtZXJpYyIKK3ZhciBm IFtlXWludCAgICAgICAvLyBvazogZXJyb3IgYWxyZWFkeSByZXBvcnRlZCBmb3IgZQordmFyIGcg WzEgPDwgNjVdaW50IC8vIEVSUk9SICJhcnJheSBib3VuZCBpcyB0b28gbGFyZ2V8b3ZlcmZsb3dz IgordmFyIGggW2xlbihhKV1pbnQgIC8vIG9rCisKK2Z1bmMgZmYoKSBzdHJpbmcKKwordmFyIGkg W2xlbihbMV1zdHJpbmd7ZmYoKX0pXWludCAvLyBFUlJPUiAibm9uLWNvbnN0YW50IGFycmF5IGJv dW5kfG5vdCBjb25zdGFudCIK --00000000000048785f05b52c11b5--