From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-xb2e.google.com (mail-yb1-xb2e.google.com [IPv6:2607:f8b0:4864:20::b2e]) by sourceware.org (Postfix) with ESMTPS id E01F13858D33 for ; Wed, 15 Feb 2023 20:37:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E01F13858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-yb1-xb2e.google.com with SMTP id l201so19423951ybf.10 for ; Wed, 15 Feb 2023 12:37:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=15LsOLc/8wgRX93uuhGSmKR7/nSg33yR5eLoF0rxRhQ=; b=XdRySWYJISct1YeEBkPgLFHW9KNcT7Rvr2bw+GnlX1ZufrtHgCI65E53M3yGkHuaoa /dyi+Sl+1rHWZAmm9ML/680Wupw44NwMy83Pf62i7Q7atCq1rkFCXOVD8nnsgPNONOfN m6UYpgeV2uIQzKCHIocEJnz5e4HbfBiqBCTnezhOmZ2CczeKoIOU4D3OvTiUE3VOacdZ 4JhII0dImHEBsRth9T3Z5NaT1aPX6uZwHqD5EbUjo3a6SqMqVNpZtlMSOOG1ZUxKL133 +COdWDjUXrwPVzxwIv0ds7VDQ8ZpSSuz/YM3vdQCRdi4RJQI/H8MF6k/qwAQfTI6BbVd g7og== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=15LsOLc/8wgRX93uuhGSmKR7/nSg33yR5eLoF0rxRhQ=; b=LiaGGN+SSj1QBJ+mz+d7bVoZkMAIQ3fL9UfoTWGedEKWVO4VAjNHFoMtFAYto6A+BY mPhtq/tNyCxHFEIShVVT3sr5amhdwDsK6CJhKGCCb1jTSurUIWlGGtxfvZDk+bLzVonz 1+zpiuoWNflsvXg1+dE3mxb/czEkJaVc73P4yIMwMTxtIuM9KmcpuDaWVXKydlduur56 RobAFNwp/pxs9dvwDyXXHe1ELs0AOGZ9NtQtafqKo3sFvgILFPu890zO/xZXJjv5P5cQ OQNGm9fVtk8uO6OLUe+TJr5+Ta7t7JyQlxLFVjFfxWco75QtK+zX56h9rWduxoEXZgIb d/hw== X-Gm-Message-State: AO0yUKWVNnmVsgHuyH1O10oxdqi5nZwNoIj8JBtknuUcjjqeqnZXF2UH fMNJ1RojqCnOSwtb7SaJB/aql8tKmuQSui30kRToqEC9KBoZGQ== X-Google-Smtp-Source: AK7set+Us1DVN2/3ZNEmJU4opMmpaSlCrMEFb1uqfOC+n7k/HNGmzCnhQgQ8RtzkgZgRqulvPcSjsecRVJJbiQNUqtc= X-Received: by 2002:a25:8e86:0:b0:898:355e:570e with SMTP id q6-20020a258e86000000b00898355e570emr426499ybl.14.1676493437474; Wed, 15 Feb 2023 12:37:17 -0800 (PST) MIME-Version: 1.0 From: Uros Bizjak Date: Wed, 15 Feb 2023 21:37:06 +0100 Message-ID: Subject: [PATCH] i386: Relax extract location operand mode requirements To: "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary="000000000000cf74ab05f4c30b08" X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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: --000000000000cf74ab05f4c30b08 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable There is no requirement on the mode of the location operand, so any supported integer mode is valid. We can relax extract location operand mode requirement of other patterns involving zero_extract RTX. 2023-02-15 Uro=C5=A1 Bizjak gcc/ChangeLog: * config/i386/i386.md (*cmpqi_ext_1): Use int248_register_operand predicate in zero_extract sub-RTX. (*cmpqi_ext_2): Ditto. (*cmpqi_ext_3): Ditto. (*cmpqi_ext_4): Ditto. (*extzvqi_mem_rex64): Ditto. (*extzvqi): Ditto. (*insvqi_1_mem_rex64): Ditto. (@insv_1): Ditto. (*insvqi_1): Ditto. (*insvqi_2): Ditto. (*insvqi_3): Ditto. (*extendqi_ext_1): Ditto. (*addqi_ext_1): Ditto. (*addqi_ext_2): Ditto. (*subqi_ext_2): Ditto. (*testqi_ext_1): Ditto. (*testqi_ext_2): Ditto. (*andqi_ext_1): Ditto. (*andqi_ext_1_cc): Ditto. (*andqi_ext_2): Ditto. (*qi_ext_1): Ditto. (*qi_ext_2): Ditto. (*xorqi_ext_1_cc): Ditto. (*negqi_ext_2): Ditto. (*ashlqi_ext_2): Ditto. (*qi_ext_2): Ditto. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Pushed to master. Uros. --000000000000cf74ab05f4c30b08 Content-Type: text/plain; charset="US-ASCII"; name="p.diff.txt" Content-Disposition: attachment; filename="p.diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_le64wc060 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaTM4Ni9pMzg2Lm1kIGIvZ2NjL2NvbmZpZy9pMzg2L2kz ODYubWQKaW5kZXggZTM3YmM4ZGNhNTMuLjE5OGYwNmUwNzY5IDEwMDY0NAotLS0gYS9nY2MvY29u ZmlnL2kzODYvaTM4Ni5tZAorKysgYi9nY2MvY29uZmlnL2kzODYvaTM4Ni5tZApAQCAtMTQ1OSw3 ICsxNDU5LDcgQEAKIAkgIChtYXRjaF9vcGVyYW5kOlFJIDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5k IiAiUUJjLG0iKQogCSAgKHN1YnJlZzpRSQogCSAgICAoemVyb19leHRyYWN0OlNXSTI0OAotCSAg ICAgIChtYXRjaF9vcGVyYW5kOlNXSTI0OCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiUSxRIikKKwkg ICAgICAobWF0Y2hfb3BlcmFuZCAxICJpbnQyNDhfcmVnaXN0ZXJfb3BlcmFuZCIgIlEsUSIpCiAJ ICAgICAgKGNvbnN0X2ludCA4KQogCSAgICAgIChjb25zdF9pbnQgOCkpIDApKSldCiAgICJpeDg2 X21hdGNoX2NjbW9kZSAoaW5zbiwgQ0Ntb2RlKSIKQEAgLTE0NzMsNyArMTQ3Myw3IEBACiAJKGNv bXBhcmUKIAkgIChzdWJyZWc6UUkKIAkgICAgKHplcm9fZXh0cmFjdDpTV0kyNDgKLQkgICAgICAo bWF0Y2hfb3BlcmFuZDpTV0kyNDggMCAicmVnaXN0ZXJfb3BlcmFuZCIgIlEiKQorCSAgICAgICht YXRjaF9vcGVyYW5kIDAgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiUSIpCiAJICAgICAgKGNv bnN0X2ludCA4KQogCSAgICAgIChjb25zdF9pbnQgOCkpIDApCiAJICAobWF0Y2hfb3BlcmFuZDpR SSAxICJjb25zdDBfb3BlcmFuZCIpKSldCkBAIC0xNDk4LDcgKzE0OTgsNyBAQAogCShjb21wYXJl CiAJICAoc3VicmVnOlFJCiAJICAgICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4Ci0JICAgICAgKG1hdGNo X29wZXJhbmQ6U1dJMjQ4IDAgInJlZ2lzdGVyX29wZXJhbmQiICJRLFEiKQorCSAgICAgIChtYXRj aF9vcGVyYW5kIDAgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiUSxRIikKIAkgICAgICAoY29u c3RfaW50IDgpCiAJICAgICAgKGNvbnN0X2ludCA4KSkgMCkKIAkgIChtYXRjaF9vcGVyYW5kOlFJ IDEgImdlbmVyYWxfb3BlcmFuZCIgIlFuQmMsbSIpKSldCkBAIC0xNTEzLDEyICsxNTEzLDEyIEBA CiAJKGNvbXBhcmUKIAkgIChzdWJyZWc6UUkKIAkgICAgKHplcm9fZXh0cmFjdDpTV0kyNDgKLQkg ICAgICAobWF0Y2hfb3BlcmFuZDpTV0kyNDggMCAicmVnaXN0ZXJfb3BlcmFuZCIgIlEiKQorCSAg ICAgIChtYXRjaF9vcGVyYW5kIDAgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiUSIpCiAJICAg ICAgKGNvbnN0X2ludCA4KQogCSAgICAgIChjb25zdF9pbnQgOCkpIDApCiAJICAoc3VicmVnOlFJ CiAJICAgICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4Ci0JICAgICAgKG1hdGNoX29wZXJhbmQ6U1dJMjQ4 IDEgInJlZ2lzdGVyX29wZXJhbmQiICJRIikKKwkgICAgICAobWF0Y2hfb3BlcmFuZCAxICJpbnQy NDhfcmVnaXN0ZXJfb3BlcmFuZCIgIlEiKQogCSAgICAgIChjb25zdF9pbnQgOCkKIAkgICAgICAo Y29uc3RfaW50IDgpKSAwKSkpXQogICAiaXg4Nl9tYXRjaF9jY21vZGUgKGluc24sIENDbW9kZSki CkBAIC0zMTkyLDcgKzMxOTIsNyBAQAogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpRSSAwICJub3Jl eF9tZW1vcnlfb3BlcmFuZCIgIj1CbiIpCiAJKHN1YnJlZzpRSQogCSAgKHplcm9fZXh0cmFjdDpT V0kyNDgKLQkgICAgKG1hdGNoX29wZXJhbmQ6U1dJMjQ4IDEgInJlZ2lzdGVyX29wZXJhbmQiICJR IikKKwkgICAgKG1hdGNoX29wZXJhbmQgMSAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQiICJRIikK IAkgICAgKGNvbnN0X2ludCA4KQogCSAgICAoY29uc3RfaW50IDgpKSAwKSldCiAgICJUQVJHRVRf NjRCSVQgJiYgcmVsb2FkX2NvbXBsZXRlZCIKQEAgLTMyMTQsNyArMzIxNCw3IEBACiAgIFsoc2V0 IChtYXRjaF9vcGVyYW5kOlFJIDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiPVFCYyw/UixtIikK IAkoc3VicmVnOlFJCiAJICAoemVyb19leHRyYWN0OlNXSTI0OAotCSAgICAobWF0Y2hfb3BlcmFu ZDpTV0kyNDggMSAicmVnaXN0ZXJfb3BlcmFuZCIgIlEsUSxRIikKKwkgICAgKG1hdGNoX29wZXJh bmQgMSAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQiICJRLFEsUSIpCiAJICAgIChjb25zdF9pbnQg OCkKIAkgICAgKGNvbnN0X2ludCA4KSkgMCkpXQogICAiIgpAQCAtMzI0Miw3ICszMjQyLDcgQEAK IChkZWZpbmVfcGVlcGhvbGUyCiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlFJIDAgInJlZ2lzdGVy X29wZXJhbmQiKQogCShzdWJyZWc6UUkKLQkgICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4IChtYXRjaF9v cGVyYW5kOlNXSTI0OCAxICJyZWdpc3Rlcl9vcGVyYW5kIikKKwkgICh6ZXJvX2V4dHJhY3Q6U1dJ MjQ4IChtYXRjaF9vcGVyYW5kIDEgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIikKIAkJCSAgICAg ICAoY29uc3RfaW50IDgpCiAJCQkgICAgICAgKGNvbnN0X2ludCA4KSkgMCkpCiAgICAoc2V0ICht YXRjaF9vcGVyYW5kOlFJIDIgIm5vcmV4X21lbW9yeV9vcGVyYW5kIikgKG1hdGNoX2R1cCAwKSld CkBAIC0zMjg5LDcgKzMyODksNyBAQAogCiAoZGVmaW5lX2luc24gIippbnN2cWlfMV9tZW1fcmV4 NjQiCiAgIFsoc2V0ICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4Ci0JICAobWF0Y2hfb3BlcmFuZDpTV0ky NDggMCAicmVnaXN0ZXJfb3BlcmFuZCIgIitRIikKKwkgIChtYXRjaF9vcGVyYW5kIDAgImludDI0 OF9yZWdpc3Rlcl9vcGVyYW5kIiAiK1EiKQogCSAgKGNvbnN0X2ludCA4KQogCSAgKGNvbnN0X2lu dCA4KSkKIAkoc3VicmVnOlNXSTI0OApAQCAtMzMwMSw3ICszMzAxLDcgQEAKIAogKGRlZmluZV9p bnNuICJAaW5zdjxtb2RlPl8xIgogICBbKHNldCAoemVyb19leHRyYWN0OlNXSTI0OAotCSAgKG1h dGNoX29wZXJhbmQ6U1dJMjQ4IDAgInJlZ2lzdGVyX29wZXJhbmQiICIrUSxRIikKKwkgIChtYXRj aF9vcGVyYW5kIDAgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiK1EsUSIpCiAJICAoY29uc3Rf aW50IDgpCiAJICAoY29uc3RfaW50IDgpKQogCShtYXRjaF9vcGVyYW5kOlNXSTI0OCAxICJnZW5l cmFsX29wZXJhbmQiICJRbkJjLG0iKSldCkBAIC0zMzE3LDcgKzMzMTcsNyBAQAogCiAoZGVmaW5l X2luc24gIippbnN2cWlfMSIKICAgWyhzZXQgKHplcm9fZXh0cmFjdDpTV0kyNDgKLQkgIChtYXRj aF9vcGVyYW5kOlNXSTI0OCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiK1EsUSIpCisJICAobWF0Y2hf b3BlcmFuZCAwICJpbnQyNDhfcmVnaXN0ZXJfb3BlcmFuZCIgIitRLFEiKQogCSAgKGNvbnN0X2lu dCA4KQogCSAgKGNvbnN0X2ludCA4KSkKIAkoc3VicmVnOlNXSTI0OApAQCAtMzMzMSw3ICszMzMx LDcgQEAKIChkZWZpbmVfcGVlcGhvbGUyCiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlFJIDAgInJl Z2lzdGVyX29wZXJhbmQiKQogCShtYXRjaF9vcGVyYW5kOlFJIDEgIm5vcmV4X21lbW9yeV9vcGVy YW5kIikpCi0gICAoc2V0ICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4IChtYXRjaF9vcGVyYW5kOlNXSTI0 OCAyICJyZWdpc3Rlcl9vcGVyYW5kIikKKyAgIChzZXQgKHplcm9fZXh0cmFjdDpTV0kyNDggKG1h dGNoX29wZXJhbmQgMiAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQiKQogCQkJICAgICAoY29uc3Rf aW50IDgpCiAJCQkgICAgIChjb25zdF9pbnQgOCkpCiAJKHN1YnJlZzpTV0kyNDggKG1hdGNoX2R1 cCAwKSAwKSldCkBAIC0zMzQ3LDcgKzMzNDcsNyBAQAogICBbKHBhcmFsbGVsIFsoc2V0IChtYXRj aF9vcGVyYW5kOlNXSTQ4IDAgImdlbmVyYWxfcmVnX29wZXJhbmQiKQogCQkgICAoY29uc3RfaW50 IDApKQogCSAgICAgIChjbG9iYmVyIChyZWc6Q0MgRkxBR1NfUkVHKSldKQotICAgKHNldCAoemVy b19leHRyYWN0OlNXSTI0OCAobWF0Y2hfb3BlcmFuZDpTV0kyNDggMSAiZ2VuZXJhbF9yZWdfb3Bl cmFuZCIpCisgICAoc2V0ICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4IChtYXRjaF9vcGVyYW5kIDEgImlu dDI0OF9yZWdpc3Rlcl9vcGVyYW5kIikKIAkJCSAgICAgKGNvbnN0X2ludCA4KQogCQkJICAgICAo Y29uc3RfaW50IDgpKQogCShjb25zdF9pbnQgMCkpXQpAQCAtMzM2MCw3ICszMzYwLDcgQEAKIChk ZWZpbmVfcGVlcGhvbGUyCiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlNXSTQ4IDAgImdlbmVyYWxf cmVnX29wZXJhbmQiKQogCShtYXRjaF9vcGVyYW5kOlNXSTQ4IDEgImNvbnN0X2ludF9vcGVyYW5k IikpCi0gICAoc2V0ICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4IChtYXRjaF9vcGVyYW5kOlNXSTI0OCAy ICJnZW5lcmFsX3JlZ19vcGVyYW5kIikKKyAgIChzZXQgKHplcm9fZXh0cmFjdDpTV0kyNDggKG1h dGNoX29wZXJhbmQgMiAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQiKQogCQkJICAgICAoY29uc3Rf aW50IDgpCiAJCQkgICAgIChjb25zdF9pbnQgOCkpCiAJKG1hdGNoX29wZXJhbmQ6U1dJMjQ4IDMg ImNvbnN0X2ludF9vcGVyYW5kIikpXQpAQCAtMzM3OCwxMSArMzM3OCwxMSBAQAogCiAoZGVmaW5l X2luc24gIippbnN2cWlfMiIKICAgWyhzZXQgKHplcm9fZXh0cmFjdDpTV0kyNDgKLQkgIChtYXRj aF9vcGVyYW5kOlNXSTI0OCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiK1EiKQorCSAgKG1hdGNoX29w ZXJhbmQgMCAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQiICIrUSIpCiAJICAoY29uc3RfaW50IDgp CiAJICAoY29uc3RfaW50IDgpKQogCShhbnlfZXh0cmFjdDpTV0kyNDgKLQkgIChtYXRjaF9vcGVy YW5kOlNXSTI0OCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiUSIpCisJICAobWF0Y2hfb3BlcmFuZCAx ICJpbnQyNDhfcmVnaXN0ZXJfb3BlcmFuZCIgIlEiKQogCSAgKGNvbnN0X2ludCA4KQogCSAgKGNv bnN0X2ludCA4KSkpXQogICAiIgpAQCAtMzM5Miw3ICszMzkyLDcgQEAKIAogKGRlZmluZV9pbnNu ICIqaW5zdnFpXzMiCiAgIFsoc2V0ICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4Ci0JICAobWF0Y2hfb3Bl cmFuZDpTV0kyNDggMCAicmVnaXN0ZXJfb3BlcmFuZCIgIitRIikKKwkgIChtYXRjaF9vcGVyYW5k IDAgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiK1EiKQogCSAgKGNvbnN0X2ludCA4KQogCSAg KGNvbnN0X2ludCA4KSkKIAkoYW55X3NoaWZ0cnQ6U1dJMjQ4CkBAIC00NzgzLDcgKzQ3ODMsNyBA QAogCShzaWduX2V4dGVuZDpTV0kyNAogCSAgKHN1YnJlZzpRSQogCSAgICAoemVyb19leHRyYWN0 OlNXSTI0OAotCSAgICAgIChtYXRjaF9vcGVyYW5kOlNXSTI0OCAxICJyZWdpc3Rlcl9vcGVyYW5k IiAiUSIpCisJICAgICAgKG1hdGNoX29wZXJhbmQgMSAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQi ICJRIikKIAkgICAgICAoY29uc3RfaW50IDgpCiAJICAgICAgKGNvbnN0X2ludCA4KSkgMCkpKV0K ICAgIiIKQEAgLTY2NTcsMTQgKzY2NTcsMTQgQEAKIAogKGRlZmluZV9pbnNuICIqYWRkcWlfZXh0 PG1vZGU+XzEiCiAgIFsoc2V0ICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4Ci0JICAobWF0Y2hfb3BlcmFu ZDpTV0kyNDggMCAicmVnaXN0ZXJfb3BlcmFuZCIgIitRLFEiKQorCSAgKG1hdGNoX29wZXJhbmQg MCAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQiICIrUSxRIikKIAkgIChjb25zdF9pbnQgOCkKIAkg IChjb25zdF9pbnQgOCkpCiAJKHN1YnJlZzpTV0kyNDgKIAkgIChwbHVzOlFJCiAJICAgIChzdWJy ZWc6UUkKIAkgICAgICAoemVyb19leHRyYWN0OlNXSTI0OAotCSAgICAgICAgKG1hdGNoX29wZXJh bmQ6U1dJMjQ4IDEgInJlZ2lzdGVyX29wZXJhbmQiICIwLDAiKQorCSAgICAgICAgKG1hdGNoX29w ZXJhbmQgMSAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQiICIwLDAiKQogCQkoY29uc3RfaW50IDgp CiAJCShjb25zdF9pbnQgOCkpIDApCiAJICAgIChtYXRjaF9vcGVyYW5kOlFJIDIgImdlbmVyYWxf b3BlcmFuZCIgIlFuQmMsbSIpKSAwKSkKQEAgLTY2OTYsMTkgKzY2OTYsMTkgQEAKIAogKGRlZmlu ZV9pbnNuICIqYWRkcWlfZXh0PG1vZGU+XzIiCiAgIFsoc2V0ICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4 Ci0JICAobWF0Y2hfb3BlcmFuZDpTV0kyNDggMCAicmVnaXN0ZXJfb3BlcmFuZCIgIitRIikKKwkg IChtYXRjaF9vcGVyYW5kIDAgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiK1EiKQogCSAgKGNv bnN0X2ludCA4KQogCSAgKGNvbnN0X2ludCA4KSkKIAkoc3VicmVnOlNXSTI0OAogCSAgKHBsdXM6 UUkKIAkgICAgKHN1YnJlZzpRSQogCSAgICAgICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4Ci0JICAgICAg ICAobWF0Y2hfb3BlcmFuZDpTV0kyNDggMSAicmVnaXN0ZXJfb3BlcmFuZCIgIiUwIikKKwkgICAg ICAgIChtYXRjaF9vcGVyYW5kIDEgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiJTAiKQogCQko Y29uc3RfaW50IDgpCiAJCShjb25zdF9pbnQgOCkpIDApCiAJICAgIChzdWJyZWc6UUkKIAkgICAg ICAoemVyb19leHRyYWN0OlNXSTI0OAotCSAgICAgICAgKG1hdGNoX29wZXJhbmQ6U1dJMjQ4IDIg InJlZ2lzdGVyX29wZXJhbmQiICJRIikKKwkgICAgICAgIChtYXRjaF9vcGVyYW5kIDIgImludDI0 OF9yZWdpc3Rlcl9vcGVyYW5kIiAiUSIpCiAJCShjb25zdF9pbnQgOCkKIAkJKGNvbnN0X2ludCA4 KSkgMCkpIDApKQogICAoY2xvYmJlciAocmVnOkNDIEZMQUdTX1JFRykpXQpAQCAtNzI2NywxOSAr NzI2NywxOSBAQAogCiAoZGVmaW5lX2luc24gIipzdWJxaV9leHQ8bW9kZT5fMiIKICAgWyhzZXQg KHplcm9fZXh0cmFjdDpTV0kyNDgKLQkgIChtYXRjaF9vcGVyYW5kOlNXSTI0OCAwICJyZWdpc3Rl cl9vcGVyYW5kIiAiK1EiKQorCSAgKG1hdGNoX29wZXJhbmQgMCAiaW50MjQ4X3JlZ2lzdGVyX29w ZXJhbmQiICIrUSIpCiAJICAoY29uc3RfaW50IDgpCiAJICAoY29uc3RfaW50IDgpKQogCShzdWJy ZWc6U1dJMjQ4CiAJICAobWludXM6UUkKIAkgICAgKHN1YnJlZzpRSQogCSAgICAgICh6ZXJvX2V4 dHJhY3Q6U1dJMjQ4Ci0JICAgICAgICAobWF0Y2hfb3BlcmFuZDpTV0kyNDggMSAicmVnaXN0ZXJf b3BlcmFuZCIgIjAiKQorCSAgICAgICAgKG1hdGNoX29wZXJhbmQgMSAiaW50MjQ4X3JlZ2lzdGVy X29wZXJhbmQiICIwIikKIAkJKGNvbnN0X2ludCA4KQogCQkoY29uc3RfaW50IDgpKSAwKQogCSAg ICAoc3VicmVnOlFJCiAJICAgICAgKHplcm9fZXh0cmFjdDpTV0kyNDgKLQkgICAgICAgIChtYXRj aF9vcGVyYW5kOlNXSTI0OCAyICJyZWdpc3Rlcl9vcGVyYW5kIiAiUSIpCisJICAgICAgICAobWF0 Y2hfb3BlcmFuZCAyICJpbnQyNDhfcmVnaXN0ZXJfb3BlcmFuZCIgIlEiKQogCQkoY29uc3RfaW50 IDgpCiAJCShjb25zdF9pbnQgOCkpIDApKSAwKSkKICAgKGNsb2JiZXIgKHJlZzpDQyBGTEFHU19S RUcpKV0KQEAgLTk4NjYsNyArOTg2Niw3IEBACiAJICAoYW5kOlFJCiAJICAgIChzdWJyZWc6UUkK IAkgICAgICAoemVyb19leHRyYWN0OlNXSTI0OAotCSAgICAgICAgKG1hdGNoX29wZXJhbmQ6U1dJ MjQ4IDAgInJlZ2lzdGVyX29wZXJhbmQiICJRLFEiKQorCSAgICAgICAgKG1hdGNoX29wZXJhbmQg MCAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQiICJRLFEiKQogCQkoY29uc3RfaW50IDgpCiAJCShj b25zdF9pbnQgOCkpIDApCiAJICAgIChtYXRjaF9vcGVyYW5kOlFJIDEgImdlbmVyYWxfb3BlcmFu ZCIgIlFuQmMsbSIpKQpAQCAtOTg4MywxMiArOTg4MywxMiBAQAogCSAgKGFuZDpRSQogCSAgICAo c3VicmVnOlFJCiAJICAgICAgKHplcm9fZXh0cmFjdDpTV0kyNDgKLQkgICAgICAgIChtYXRjaF9v cGVyYW5kOlNXSTI0OCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiUSIpCisJICAgICAgICAobWF0Y2hf b3BlcmFuZCAwICJpbnQyNDhfcmVnaXN0ZXJfb3BlcmFuZCIgIlEiKQogCQkoY29uc3RfaW50IDgp CiAJCShjb25zdF9pbnQgOCkpIDApCiAJICAgIChzdWJyZWc6UUkKIAkgICAgICAoemVyb19leHRy YWN0OlNXSTI0OAotCSAgICAgICAgKG1hdGNoX29wZXJhbmQ6U1dJMjQ4IDEgInJlZ2lzdGVyX29w ZXJhbmQiICJRIikKKwkgICAgICAgIChtYXRjaF9vcGVyYW5kIDEgImludDI0OF9yZWdpc3Rlcl9v cGVyYW5kIiAiUSIpCiAJCShjb25zdF9pbnQgOCkKIAkJKGNvbnN0X2ludCA4KSkgMCkpCiAJICAo Y29uc3RfaW50IDApKSldCkBAIC0xMDA4NiwxMyArMTAwODYsMTMgQEAKIAkobWF0Y2hfb3BfZHVw IDEKIAkgIFsoYW5kOlFJCiAJICAgICAoc3VicmVnOlFJCi0JICAgICAgICh6ZXJvX2V4dHJhY3Q6 U0kgKG1hdGNoX2R1cCAyKQorCSAgICAgICAoemVyb19leHRyYWN0OkhJIChtYXRjaF9kdXAgMikK IAkJCQkoY29uc3RfaW50IDgpCiAJCQkJKGNvbnN0X2ludCA4KSkgMCkKIAkgICAgIChtYXRjaF9k dXAgMykpCiAJICAgKGNvbnN0X2ludCAwKV0pKV0KIHsKLSAgb3BlcmFuZHNbMl0gPSBnZW5fbG93 cGFydCAoU0ltb2RlLCBvcGVyYW5kc1syXSk7CisgIG9wZXJhbmRzWzJdID0gZ2VuX2xvd3BhcnQg KEhJbW9kZSwgb3BlcmFuZHNbMl0pOwogICBvcGVyYW5kc1szXSA9IGdlbl9pbnRfbW9kZSAoSU5U VkFMIChvcGVyYW5kc1szXSkgPj4gOCwgUUltb2RlKTsKIH0pCiAKQEAgLTEwNDE3LDIxICsxMDQx NywyMSBAQAogICAiKCFUQVJHRVRfUEFSVElBTF9SRUdfU1RBTEwgfHwgb3B0aW1pemVfZnVuY3Rp b25fZm9yX3NpemVfcCAoY2Z1bikpCiAgICAmJiByZWxvYWRfY29tcGxldGVkIgogICBbKHBhcmFs bGVsCi0gICAgIFsoc2V0ICh6ZXJvX2V4dHJhY3Q6U0kgKG1hdGNoX2R1cCAwKQorICAgICBbKHNl dCAoemVyb19leHRyYWN0OkhJIChtYXRjaF9kdXAgMCkKIAkJCSAgICAoY29uc3RfaW50IDgpCiAJ CQkgICAgKGNvbnN0X2ludCA4KSkKLQkgICAoc3VicmVnOlNJCisJICAgKHN1YnJlZzpISQogCSAg ICAgKHhvcjpRSQogCSAgICAgICAoc3VicmVnOlFJCi0JCSAoemVyb19leHRyYWN0OlNJIChtYXRj aF9kdXAgMCkKKwkJICh6ZXJvX2V4dHJhY3Q6SEkgKG1hdGNoX2R1cCAwKQogCQkJCSAgKGNvbnN0 X2ludCA4KQogCQkJCSAgKGNvbnN0X2ludCA4KSkgMCkKIAkgICAgICAgKHN1YnJlZzpRSQotCQkg KHplcm9fZXh0cmFjdDpTSSAobWF0Y2hfZHVwIDApCisJCSAoemVyb19leHRyYWN0OkhJIChtYXRj aF9kdXAgMCkKIAkJCQkgIChjb25zdF9pbnQgOCkKIAkJCQkgIChjb25zdF9pbnQgOCkpIDApKSAw KSkKICAgICAgIChjbG9iYmVyIChyZWc6Q0MgRkxBR1NfUkVHKSldKV0KLSAgIm9wZXJhbmRzWzBd ID0gZ2VuX2xvd3BhcnQgKFNJbW9kZSwgb3BlcmFuZHNbMF0pOyIpCisgICJvcGVyYW5kc1swXSA9 IGdlbl9sb3dwYXJ0IChISW1vZGUsIG9wZXJhbmRzWzBdKTsiKQogCiAoZGVmaW5lX2luc24gIiph bmRkaV8yIgogICBbKHNldCAocmVnIEZMQUdTX1JFRykKQEAgLTEwNTQ0LDE0ICsxMDU0NCwxNCBA QAogCiAoZGVmaW5lX2luc24gIiphbmRxaV9leHQ8bW9kZT5fMSIKICAgWyhzZXQgKHplcm9fZXh0 cmFjdDpTV0kyNDgKLQkgIChtYXRjaF9vcGVyYW5kOlNXSTI0OCAwICJyZWdpc3Rlcl9vcGVyYW5k IiAiK1EsUSIpCisJICAobWF0Y2hfb3BlcmFuZCAwICJpbnQyNDhfcmVnaXN0ZXJfb3BlcmFuZCIg IitRLFEiKQogCSAgKGNvbnN0X2ludCA4KQogCSAgKGNvbnN0X2ludCA4KSkKIAkoc3VicmVnOlNX STI0OAogCSAgKGFuZDpRSQogCSAgICAoc3VicmVnOlFJCiAJICAgICAgKHplcm9fZXh0cmFjdDpT V0kyNDgKLQkgICAgICAgIChtYXRjaF9vcGVyYW5kOlNXSTI0OCAxICJyZWdpc3Rlcl9vcGVyYW5k IiAiMCwwIikKKwkgICAgICAgIChtYXRjaF9vcGVyYW5kIDEgImludDI0OF9yZWdpc3Rlcl9vcGVy YW5kIiAiMCwwIikKIAkJKGNvbnN0X2ludCA4KQogCQkoY29uc3RfaW50IDgpKSAwKQogCSAgICAo bWF0Y2hfb3BlcmFuZDpRSSAyICJnZW5lcmFsX29wZXJhbmQiICJRbkJjLG0iKSkgMCkpCkBAIC0x MDU3MSwxMyArMTA1NzEsMTMgQEAKIAkgIChhbmQ6UUkKIAkgICAgKHN1YnJlZzpRSQogCSAgICAg ICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4Ci0JICAgICAgICAobWF0Y2hfb3BlcmFuZDpTV0kyNDggMSAi cmVnaXN0ZXJfb3BlcmFuZCIgIjAsMCIpCisJICAgICAgICAobWF0Y2hfb3BlcmFuZCAxICJpbnQy NDhfcmVnaXN0ZXJfb3BlcmFuZCIgIjAsMCIpCiAJCShjb25zdF9pbnQgOCkKIAkJKGNvbnN0X2lu dCA4KSkgMCkKIAkgICAgKG1hdGNoX29wZXJhbmQ6UUkgMiAiZ2VuZXJhbF9vcGVyYW5kIiAiUW5C YyxtIikpCiAJICAoY29uc3RfaW50IDApKSkKICAgIChzZXQgKHplcm9fZXh0cmFjdDpTV0kyNDgK LQkgIChtYXRjaF9vcGVyYW5kOlNXSTI0OCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiK1EsUSIpCisJ ICAobWF0Y2hfb3BlcmFuZCAwICJpbnQyNDhfcmVnaXN0ZXJfb3BlcmFuZCIgIitRLFEiKQogCSAg KGNvbnN0X2ludCA4KQogCSAgKGNvbnN0X2ludCA4KSkKIAkoc3VicmVnOlNXSTI0OApAQCAtMTA1 OTgsMTkgKzEwNTk4LDE5IEBACiAKIChkZWZpbmVfaW5zbiAiKmFuZHFpX2V4dDxtb2RlPl8yIgog ICBbKHNldCAoemVyb19leHRyYWN0OlNXSTI0OAotCSAgKG1hdGNoX29wZXJhbmQ6U1dJMjQ4IDAg InJlZ2lzdGVyX29wZXJhbmQiICIrUSIpCisJICAobWF0Y2hfb3BlcmFuZCAwICJpbnQyNDhfcmVn aXN0ZXJfb3BlcmFuZCIgIitRIikKIAkgIChjb25zdF9pbnQgOCkKIAkgIChjb25zdF9pbnQgOCkp CiAJKHN1YnJlZzpTV0kyNDgKIAkgIChhbmQ6UUkKIAkgICAgKHN1YnJlZzpRSQogCSAgICAgICh6 ZXJvX2V4dHJhY3Q6U1dJMjQ4Ci0JICAgICAgICAobWF0Y2hfb3BlcmFuZDpTV0kyNDggMSAicmVn aXN0ZXJfb3BlcmFuZCIgIiUwIikKKwkgICAgICAgIChtYXRjaF9vcGVyYW5kIDEgImludDI0OF9y ZWdpc3Rlcl9vcGVyYW5kIiAiJTAiKQogCQkoY29uc3RfaW50IDgpCiAJCShjb25zdF9pbnQgOCkp IDApCiAJICAgIChzdWJyZWc6UUkKIAkgICAgICAoemVyb19leHRyYWN0OlNXSTI0OAotCSAgICAg ICAgKG1hdGNoX29wZXJhbmQ6U1dJMjQ4IDIgInJlZ2lzdGVyX29wZXJhbmQiICJRIikKKwkgICAg ICAgIChtYXRjaF9vcGVyYW5kIDIgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiUSIpCiAJCShj b25zdF9pbnQgOCkKIAkJKGNvbnN0X2ludCA4KSkgMCkpIDApKQogICAgKGNsb2JiZXIgKHJlZzpD QyBGTEFHU19SRUcpKV0KQEAgLTEwNjM1LDIwICsxMDYzNSwyMCBAQAogICAgICYmICghVEFSR0VU X1BBUlRJQUxfUkVHX1NUQUxMIHx8IG9wdGltaXplX2Z1bmN0aW9uX2Zvcl9zaXplX3AgKGNmdW4p KQogICAgICYmICEofklOVFZBTCAob3BlcmFuZHNbMl0pICYgfigyNTUgPDwgOCkpIgogICBbKHBh cmFsbGVsCi0gICAgIFsoc2V0ICh6ZXJvX2V4dHJhY3Q6U0kgKG1hdGNoX2R1cCAwKQorICAgICBb KHNldCAoemVyb19leHRyYWN0OkhJIChtYXRjaF9kdXAgMCkKIAkJCSAgICAoY29uc3RfaW50IDgp CiAJCQkgICAgKGNvbnN0X2ludCA4KSkKLQkgICAoc3VicmVnOlNJCisJICAgKHN1YnJlZzpISQog CSAgICAgKGFuZDpRSQogCSAgICAgICAoc3VicmVnOlFJCi0JCSAoemVyb19leHRyYWN0OlNJICht YXRjaF9kdXAgMSkKKwkJICh6ZXJvX2V4dHJhY3Q6SEkgKG1hdGNoX2R1cCAxKQogCQkJCSAgKGNv bnN0X2ludCA4KQogCQkJCSAgKGNvbnN0X2ludCA4KSkgMCkKIAkgICAgICAgKG1hdGNoX2R1cCAy KSkgMCkpCiAgICAgICAoY2xvYmJlciAocmVnOkNDIEZMQUdTX1JFRykpXSldCiB7Ci0gIG9wZXJh bmRzWzBdID0gZ2VuX2xvd3BhcnQgKFNJbW9kZSwgb3BlcmFuZHNbMF0pOwotICBvcGVyYW5kc1sx XSA9IGdlbl9sb3dwYXJ0IChTSW1vZGUsIG9wZXJhbmRzWzFdKTsKKyAgb3BlcmFuZHNbMF0gPSBn ZW5fbG93cGFydCAoSEltb2RlLCBvcGVyYW5kc1swXSk7CisgIG9wZXJhbmRzWzFdID0gZ2VuX2xv d3BhcnQgKEhJbW9kZSwgb3BlcmFuZHNbMV0pOwogICBvcGVyYW5kc1syXSA9IGdlbl9pbnRfbW9k ZSAoSU5UVkFMIChvcGVyYW5kc1syXSkgPj4gOCwgUUltb2RlKTsKIH0pCiAKQEAgLTExMjcxLDE0 ICsxMTI3MSwxNCBAQAogCiAoZGVmaW5lX2luc24gIio8Y29kZT5xaV9leHQ8bW9kZT5fMSIKICAg WyhzZXQgKHplcm9fZXh0cmFjdDpTV0kyNDgKLQkgIChtYXRjaF9vcGVyYW5kOlNXSTI0OCAwICJy ZWdpc3Rlcl9vcGVyYW5kIiAiK1EsUSIpCisJICAobWF0Y2hfb3BlcmFuZCAwICJpbnQyNDhfcmVn aXN0ZXJfb3BlcmFuZCIgIitRLFEiKQogCSAgKGNvbnN0X2ludCA4KQogCSAgKGNvbnN0X2ludCA4 KSkKIAkoc3VicmVnOlNXSTI0OAogCSAgKGFueV9vcjpRSQogCSAgICAoc3VicmVnOlFJCiAJICAg ICAgKHplcm9fZXh0cmFjdDpTV0kyNDgKLQkgICAgICAgIChtYXRjaF9vcGVyYW5kOlNXSTI0OCAx ICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCwwIikKKwkgICAgICAgIChtYXRjaF9vcGVyYW5kIDEgImlu dDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiMCwwIikKIAkJKGNvbnN0X2ludCA4KQogCQkoY29uc3Rf aW50IDgpKSAwKQogCSAgICAobWF0Y2hfb3BlcmFuZDpRSSAyICJnZW5lcmFsX29wZXJhbmQiICJR bkJjLG0iKSkgMCkpCkBAIC0xMTI5MywxOSArMTEyOTMsMTkgQEAKIAogKGRlZmluZV9pbnNuICIq PGNvZGU+cWlfZXh0PG1vZGU+XzIiCiAgIFsoc2V0ICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4Ci0JICAo bWF0Y2hfb3BlcmFuZDpTV0kyNDggMCAicmVnaXN0ZXJfb3BlcmFuZCIgIitRIikKKwkgIChtYXRj aF9vcGVyYW5kIDAgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiK1EiKQogCSAgKGNvbnN0X2lu dCA4KQogCSAgKGNvbnN0X2ludCA4KSkKIAkoc3VicmVnOlNXSTI0OAogCSAgKGFueV9vcjpRSQog CSAgICAoc3VicmVnOlFJCiAJICAgICAgKHplcm9fZXh0cmFjdDpTV0kyNDgKLQkgICAgICAgICht YXRjaF9vcGVyYW5kOlNXSTI0OCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiJTAiKQorCSAgICAgICAg KG1hdGNoX29wZXJhbmQgMSAiaW50MjQ4X3JlZ2lzdGVyX29wZXJhbmQiICIlMCIpCiAJCShjb25z dF9pbnQgOCkKIAkJKGNvbnN0X2ludCA4KSkgMCkKIAkgICAgKHN1YnJlZzpRSQogCSAgICAgICh6 ZXJvX2V4dHJhY3Q6U1dJMjQ4Ci0JICAgICAgICAobWF0Y2hfb3BlcmFuZDpTV0kyNDggMiAicmVn aXN0ZXJfb3BlcmFuZCIgIlEiKQorCSAgICAgICAgKG1hdGNoX29wZXJhbmQgMiAiaW50MjQ4X3Jl Z2lzdGVyX29wZXJhbmQiICJRIikKIAkJKGNvbnN0X2ludCA4KQogCQkoY29uc3RfaW50IDgpKSAw KSkgMCkpCiAgICAoY2xvYmJlciAocmVnOkNDIEZMQUdTX1JFRykpXQpAQCAtMTEzMzEsMTMgKzEx MzMxLDEzIEBACiAgICAgJiYgKCFUQVJHRVRfUEFSVElBTF9SRUdfU1RBTEwgfHwgb3B0aW1pemVf ZnVuY3Rpb25fZm9yX3NpemVfcCAoY2Z1bikpCiAgICAgJiYgIShJTlRWQUwgKG9wZXJhbmRzWzJd KSAmIH4oMjU1IDw8IDgpKSIKICAgWyhwYXJhbGxlbAotICAgICBbKHNldCAoemVyb19leHRyYWN0 OlNJIChtYXRjaF9kdXAgMCkKKyAgICAgWyhzZXQgKHplcm9fZXh0cmFjdDpISSAobWF0Y2hfZHVw IDApCiAJCQkgICAgKGNvbnN0X2ludCA4KQogCQkJICAgIChjb25zdF9pbnQgOCkpCi0JICAgKHN1 YnJlZzpTSQorCSAgIChzdWJyZWc6SEkKIAkgICAgIChhbnlfb3I6UUkKIAkgICAgICAgKHN1YnJl ZzpRSQotCQkgKHplcm9fZXh0cmFjdDpTSSAobWF0Y2hfZHVwIDEpCisJCSAoemVyb19leHRyYWN0 OkhJIChtYXRjaF9kdXAgMSkKIAkJCQkgIChjb25zdF9pbnQgOCkKIAkJCQkgIChjb25zdF9pbnQg OCkpIDApCiAJICAgICAgIChtYXRjaF9kdXAgMikpIDApKQpAQCAtMTEzNTIsOCArMTEzNTIsOCBA QAogCWVtaXRfbm90ZSAoTk9URV9JTlNOX0RFTEVURUQpOwogICAgICAgRE9ORTsKICAgICB9Ci0g IG9wZXJhbmRzWzBdID0gZ2VuX2xvd3BhcnQgKFNJbW9kZSwgb3BlcmFuZHNbMF0pOwotICBvcGVy YW5kc1sxXSA9IGdlbl9sb3dwYXJ0IChTSW1vZGUsIG9wZXJhbmRzWzFdKTsKKyAgb3BlcmFuZHNb MF0gPSBnZW5fbG93cGFydCAoSEltb2RlLCBvcGVyYW5kc1swXSk7CisgIG9wZXJhbmRzWzFdID0g Z2VuX2xvd3BhcnQgKEhJbW9kZSwgb3BlcmFuZHNbMV0pOwogICBvcGVyYW5kc1syXSA9IGdlbl9p bnRfbW9kZSAoSU5UVkFMIChvcGVyYW5kc1syXSkgPj4gOCwgUUltb2RlKTsKIH0pCiAKQEAgLTEx NDA2LDEzICsxMTQwNiwxMyBAQAogCSAgKHhvcjpRSQogCSAgICAoc3VicmVnOlFJCiAJICAgICAg KHplcm9fZXh0cmFjdDpTV0kyNDgKLQkgICAgICAgIChtYXRjaF9vcGVyYW5kOlNXSTI0OCAxICJy ZWdpc3Rlcl9vcGVyYW5kIiAiMCwwIikKKwkgICAgICAgIChtYXRjaF9vcGVyYW5kIDEgImludDI0 OF9yZWdpc3Rlcl9vcGVyYW5kIiAiMCwwIikKIAkJKGNvbnN0X2ludCA4KQogCQkoY29uc3RfaW50 IDgpKSAwKQogCSAgICAobWF0Y2hfb3BlcmFuZDpRSSAyICJnZW5lcmFsX29wZXJhbmQiICJRbkJj LG0iKSkKIAkgIChjb25zdF9pbnQgMCkpKQogICAgKHNldCAoemVyb19leHRyYWN0OlNXSTI0OAot CSAgKG1hdGNoX29wZXJhbmQ6U1dJMjQ4IDAgInJlZ2lzdGVyX29wZXJhbmQiICIrUSxRIikKKwkg IChtYXRjaF9vcGVyYW5kIDAgImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIiAiK1EsUSIpCiAJICAo Y29uc3RfaW50IDgpCiAJICAoY29uc3RfaW50IDgpKQogCShzdWJyZWc6U1dJMjQ4CkBAIC0xMTgw OSwxNCArMTE4MDksMTQgQEAKIAogKGRlZmluZV9pbnNuICIqbmVncWlfZXh0PG1vZGU+XzIiCiAg IFsoc2V0ICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4Ci0JICAobWF0Y2hfb3BlcmFuZDpTV0kyNDggMCAi cmVnaXN0ZXJfb3BlcmFuZCIgIitRIikKKwkgIChtYXRjaF9vcGVyYW5kIDAgImludDI0OF9yZWdp c3Rlcl9vcGVyYW5kIiAiK1EiKQogCSAgKGNvbnN0X2ludCA4KQogCSAgKGNvbnN0X2ludCA4KSkK IAkoc3VicmVnOlNXSTI0OAogCSAgKG5lZzpRSQogCSAgICAoc3VicmVnOlFJCiAJICAgICAgKHpl cm9fZXh0cmFjdDpTV0kyNDgKLQkgICAgICAgIChtYXRjaF9vcGVyYW5kOlNXSTI0OCAxICJyZWdp c3Rlcl9vcGVyYW5kIiAiMCIpCisJICAgICAgICAobWF0Y2hfb3BlcmFuZCAxICJpbnQyNDhfcmVn aXN0ZXJfb3BlcmFuZCIgIjAiKQogCQkoY29uc3RfaW50IDgpCiAJCShjb25zdF9pbnQgOCkpIDAp KSAwKSkKICAgIChjbG9iYmVyIChyZWc6Q0MgRkxBR1NfUkVHKSldCkBAIC0xMzM3MCwxNCArMTMz NzAsMTQgQEAKIAogKGRlZmluZV9pbnNuICIqYXNobHFpX2V4dDxtb2RlPl8yIgogICBbKHNldCAo emVyb19leHRyYWN0OlNXSTI0OAotCSAgKG1hdGNoX29wZXJhbmQ6U1dJMjQ4IDAgInJlZ2lzdGVy X29wZXJhbmQiICIrUSIpCisJICAobWF0Y2hfb3BlcmFuZCAwICJpbnQyNDhfcmVnaXN0ZXJfb3Bl cmFuZCIgIitRIikKIAkgIChjb25zdF9pbnQgOCkKIAkgIChjb25zdF9pbnQgOCkpCiAJKHN1YnJl ZzpTV0kyNDgKIAkgIChhc2hpZnQ6UUkKIAkgICAgKHN1YnJlZzpRSQogCSAgICAgICh6ZXJvX2V4 dHJhY3Q6U1dJMjQ4Ci0JICAgICAgICAobWF0Y2hfb3BlcmFuZDpTV0kyNDggMSAicmVnaXN0ZXJf b3BlcmFuZCIgIjAiKQorCSAgICAgICAgKG1hdGNoX29wZXJhbmQgMSAiaW50MjQ4X3JlZ2lzdGVy X29wZXJhbmQiICIwIikKIAkJKGNvbnN0X2ludCA4KQogCQkoY29uc3RfaW50IDgpKSAwKQogCSAg ICAobWF0Y2hfb3BlcmFuZDpRSSAyICJub25tZW1vcnlfb3BlcmFuZCIgImNJIikpIDApKQpAQCAt MTQyNzMsMTQgKzE0MjczLDE0IEBACiAKIChkZWZpbmVfaW5zbiAiKjxpbnNuPnFpX2V4dDxtb2Rl Pl8yIgogICBbKHNldCAoemVyb19leHRyYWN0OlNXSTI0OAotCSAgKG1hdGNoX29wZXJhbmQ6U1dJ MjQ4IDAgInJlZ2lzdGVyX29wZXJhbmQiICIrUSIpCisJICAobWF0Y2hfb3BlcmFuZCAwICJpbnQy NDhfcmVnaXN0ZXJfb3BlcmFuZCIgIitRIikKIAkgIChjb25zdF9pbnQgOCkKIAkgIChjb25zdF9p bnQgOCkpCiAJKHN1YnJlZzpTV0kyNDgKIAkgIChhbnlfc2hpZnRydDpRSQogCSAgICAoc3VicmVn OlFJCiAJICAgICAgKHplcm9fZXh0cmFjdDpTV0kyNDgKLQkgICAgICAgIChtYXRjaF9vcGVyYW5k OlNXSTI0OCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiMCIpCisJICAgICAgICAobWF0Y2hfb3BlcmFu ZCAxICJpbnQyNDhfcmVnaXN0ZXJfb3BlcmFuZCIgIjAiKQogCQkoY29uc3RfaW50IDgpCiAJCShj b25zdF9pbnQgOCkpIDApCiAJICAgIChtYXRjaF9vcGVyYW5kOlFJIDIgIm5vbm1lbW9yeV9vcGVy YW5kIiAiY0kiKSkgMCkpCkBAIC0yMzEzNSw3ICsyMzEzNSw3IEBACiAJKG1hdGNoX29wZXJhdG9y IDEgImNvbXBhcmVfb3BlcmF0b3IiCiAJICBbKGFuZDpRSQogCSAgICAgKHN1YnJlZzpRSQotCSAg ICAgICAoemVyb19leHRyYWN0OlNXSTI0OCAobWF0Y2hfb3BlcmFuZDpTV0kyNDggMiAiUUlyZWdf b3BlcmFuZCIpCisJICAgICAgICh6ZXJvX2V4dHJhY3Q6U1dJMjQ4IChtYXRjaF9vcGVyYW5kIDIg ImludDI0OF9yZWdpc3Rlcl9vcGVyYW5kIikKIAkJCQkgICAgKGNvbnN0X2ludCA4KQogCQkJCSAg ICAoY29uc3RfaW50IDgpKSAwKQogCSAgICAgKG1hdGNoX29wZXJhbmQgMyAiY29uc3RfaW50X29w ZXJhbmQiKSkK --000000000000cf74ab05f4c30b08--