From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id 6B5F93858CDB; Fri, 30 Sep 2022 10:41:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6B5F93858CDB Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.93,358,1654588800"; d="diff'?scan'208,217";a="86697052" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa1.mentor.iphmx.com with ESMTP; 30 Sep 2022 02:41:26 -0800 IronPort-SDR: ZQeIyZN9qTM+MjzybJ6khVulgRrWAm0eYxCBYXjY3uQJ3WTxkj3pyg325OhtMRtEM1/boeu5+2 1GVZ+yfRDnAysLFOHnvidpnCDAKLnQiKyQjwsz9EfUIt2fFXf6FF4CU9kDRnWFn94AKAwRhOLS g229PQOrPhln716FkanQdyzpLP3p/JjhYk8fZlzPhyWDg5TgNOsARr8Dkf8ctUngHSLF18DPIh B1v59RCE2N1w7JEB44hU8tIMo4UeoE39EqHWW3jrxmFxDc5z14r4e/NVwzPWjjBcgfWzmRzSBy YeU= Content-Type: multipart/mixed; boundary="------------TdcSt6P0MsxN3oXiV7Adeo0D" Message-ID: <6005cea4-c89e-0c31-1c61-d322dcf072e7@codesourcery.com> Date: Fri, 30 Sep 2022 12:41:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 Content-Language: en-US To: gcc-patches , fortran , Jakub Jelinek From: Tobias Burnus Subject: [Patch] Fortran: Update use_device_ptr for OpenMP 5.1 [PR105318] X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,KAM_DMARC_STATUS,SPF_HELO_PASS,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: --------------TdcSt6P0MsxN3oXiV7Adeo0D Content-Type: multipart/alternative; boundary="------------liEG7gTmvNhzhdyXWyXWrvjJ" --------------liEG7gTmvNhzhdyXWyXWrvjJ Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: quoted-printable While has_device_addr has been implemented (in GCC 12), updating use_device_ptr for Fortran was missed. This patch fixes it: Removing the restrictions and mapping to has_device_addr where applicable. For use_device_ptr something similar was done, albeit I think this has no semantic effect. And 'device(omp_initial_device)' printed a warning in Fortran. (BTW: C/C++ silently accepts any negative value.) OK for mainline? Tobias PS: There were several important clarifications/fixes to {has,is,use}_device_{addr,ptr} after the 5.2 release. However, the fixes part mostly affect the user and not the implementation. ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------liEG7gTmvNhzhdyXWyXWrvjJ-- --------------TdcSt6P0MsxN3oXiV7Adeo0D Content-Type: text/x-patch; charset="UTF-8"; name="is_device_ptr-omp51.diff" Content-Disposition: attachment; filename="is_device_ptr-omp51.diff" Content-Transfer-Encoding: base64 Rm9ydHJhbjogVXBkYXRlIHVzZV9kZXZpY2VfcHRyIGZvciBPcGVuTVAgNS4x IFtQUjEwNTMxOF0KCk9wZW5NUCA1LjEgYWRkZWQgaGFzX2RldmljZV9hZGRy IGFuZCByZWxheGVkIHRoZSByZXN0cmljdGlvbnMgZm9yCnVzZV9kZXZpY2Vf cHRyLCBpbmNsdWRpbmcgcHJvY2Vzc2luZyBub24tdHlwZShjX3B0cikgYXJn dW1lbnRzIGFzCmlmIGhhc19kZXZpY2VfYWRkciB3YXMgdXNlZC4gKFRoZXJl IGlzIGEgc2VtYW50aWMgZGlmZmVyZW5jZS4pCgpGb3IgY29tcGxldGVuZXNz LCB0aGUgbGlrZXdpc2UgY2hhbmdlIHdhcyBkb25lIGZvciAndXNlX2Rldmlj ZV9wdHInLAp3aGVyZSBub24tdHlwZShjX3B0cikgYXJndW1lbnRzIG5vdyB1 c2UgdXNlX2RldmljZV9hZGRyLgoKRmluYWxseSwgYSB3YXJuaW5nIGZvciAn ZGV2aWNlKG9tcF97aW5pdGlhbCxpbnZhbGlkfV9kZXZpY2UpJyB3YXMKc2ls ZW5jZWQgb24gdGhlIHdheSBhcyBhZmZlY3RpbmcgdGhlIG5ldyB0ZXN0Y2Fz ZS4KCmdjYy9mb3J0cmFuL0NoYW5nZUxvZzoKCgkqIG9wZW5tcC5jYyAocmVz b2x2ZV9vbXBfY2xhdXNlcyk6IFVwZGF0ZSBpc19kZXZpY2VfcHRyIHJlc3Ry aWN0aW9ucwoJZm9yIE9wZW5NUCA1LjEgYW5kIG1hcCB0byBoYXNfZGV2aWNl X2FkZHIgd2hlcmUgYXBwbGljYWJsZTsgbWFwCgl1c2VfZGV2aWNlX3B0ciB0 byB1c2VfZGV2aWNlX2FkZHIgd2hlcmUgYXBwbGljYWJsZS4KCVNpbGVuY2Ug aW50ZWdlci1yYW5nZSB3YXJuaW5nIGZvciBkZXZpY2Uob21wX3tpbml0aWFs LGludmFsaWR9X2RldmljZSkuCgpsaWJnb21wL0NoYW5nZUxvZzoKCgkqIHRl c3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vaXNfZGV2aWNlX3B0ci0yLmY5MDog TmV3IHRlc3QuCgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCgkqIGdmb3J0 cmFuLmRnL2dvbXAvaXNfZGV2aWNlX3B0ci0xLmY5MDogUmVtb3ZlIGRnLWVy cm9yLgoJKiBnZm9ydHJhbi5kZy9nb21wL2lzX2RldmljZV9wdHItMi5mOTA6 IExpa2V3aXNlLgoJKiBnZm9ydHJhbi5kZy9nb21wL2lzX2RldmljZV9wdHIt My5mOTA6IFVwZGF0ZSB0cmVlLXNjYW4tZHVtcC4KCiBnY2MvZm9ydHJhbi9v cGVubXAuY2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA4MSAr KysrKysrLS0tCiBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvaXNf ZGV2aWNlX3B0ci0xLmY5MCB8ICAgOSArLQogZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9nb21wL2lzX2RldmljZV9wdHItMi5mOTAgfCAgIDIgKy0KIGdj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9pc19kZXZpY2VfcHRyLTMu ZjkwIHwgICAzICstCiAuLi4vdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9p c19kZXZpY2VfcHRyLTIuZjkwICB8IDE2NyArKysrKysrKysrKysrKysrKysr KysKIDUgZmlsZXMgY2hhbmdlZCwgMjM1IGluc2VydGlvbnMoKyksIDI3IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL29wZW5tcC5j YyBiL2djYy9mb3J0cmFuL29wZW5tcC5jYwppbmRleCA0NTdlOTgzNjYzYi4u MzEzZDRlMmRlMWIgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL29wZW5tcC5j YworKysgYi9nY2MvZm9ydHJhbi9vcGVubXAuY2MKQEAgLTY1MTEsNyArNjUx MSw3IEBAIHN0YXRpYyB2b2lkCiByZXNvbHZlX29tcF9jbGF1c2VzIChnZmNf Y29kZSAqY29kZSwgZ2ZjX29tcF9jbGF1c2VzICpvbXBfY2xhdXNlcywKIAkJ ICAgICBnZmNfbmFtZXNwYWNlICpucywgYm9vbCBvcGVuYWNjID0gZmFsc2Up CiB7Ci0gIGdmY19vbXBfbmFtZWxpc3QgKm47CisgIGdmY19vbXBfbmFtZWxp c3QgKm4sICpsYXN0OwogICBnZmNfZXhwcl9saXN0ICplbDsKICAgaW50IGxp c3Q7CiAgIGludCBpZmM7CkBAIC03MzY5LDMwICs3MzY5LDU4IEBAIHJlc29s dmVfb21wX2NsYXVzZXMgKGdmY19jb2RlICpjb2RlLCBnZmNfb21wX2NsYXVz ZXMgKm9tcF9jbGF1c2VzLAogCQl9CiAJICAgIGJyZWFrOwogCSAgY2FzZSBP TVBfTElTVF9JU19ERVZJQ0VfUFRSOgotCSAgICBmb3IgKG4gPSBvbXBfY2xh dXNlcy0+bGlzdHNbbGlzdF07IG4gIT0gTlVMTDsgbiA9IG4tPm5leHQpCisJ ICAgIGxhc3QgPSBOVUxMOworCSAgICBmb3IgKG4gPSBvbXBfY2xhdXNlcy0+ bGlzdHNbbGlzdF07IG4gIT0gTlVMTDsgKQogCSAgICAgIHsKLQkJaWYgKCFu LT5zeW0tPmF0dHIuZHVtbXkpCi0JCSAgZ2ZjX2Vycm9yICgiTm9uLWR1bW15 IG9iamVjdCAlcXMgaW4gJXMgY2xhdXNlIGF0ICVMIiwKLQkJCSAgICAgbi0+ c3ltLT5uYW1lLCBuYW1lLCAmbi0+d2hlcmUpOwotCQlpZiAobi0+c3ltLT5h dHRyLmFsbG9jYXRhYmxlCi0JCSAgICB8fCAobi0+c3ltLT50cy50eXBlID09 IEJUX0NMQVNTCi0JCQkmJiBDTEFTU19EQVRBIChuLT5zeW0pLT5hdHRyLmFs bG9jYXRhYmxlKSkKLQkJICBnZmNfZXJyb3IgKCJBTExPQ0FUQUJMRSBvYmpl Y3QgJXFzIGluICVzIGNsYXVzZSBhdCAlTCIsCi0JCQkgICAgIG4tPnN5bS0+ bmFtZSwgbmFtZSwgJm4tPndoZXJlKTsKLQkJaWYgKG4tPnN5bS0+YXR0ci5w b2ludGVyCi0JCSAgICB8fCAobi0+c3ltLT50cy50eXBlID09IEJUX0NMQVNT Ci0JCQkmJiBDTEFTU19EQVRBIChuLT5zeW0pLT5hdHRyLnBvaW50ZXIpKQot CQkgIGdmY19lcnJvciAoIlBPSU5URVIgb2JqZWN0ICVxcyBpbiAlcyBjbGF1 c2UgYXQgJUwiLAotCQkJICAgICBuLT5zeW0tPm5hbWUsIG5hbWUsICZuLT53 aGVyZSk7Ci0JCWlmIChuLT5zeW0tPmF0dHIudmFsdWUpCi0JCSAgZ2ZjX2Vy cm9yICgiVkFMVUUgb2JqZWN0ICVxcyBpbiAlcyBjbGF1c2UgYXQgJUwiLAot CQkJICAgICBuLT5zeW0tPm5hbWUsIG5hbWUsICZuLT53aGVyZSk7CisJCWlm IChuLT5zeW0tPnRzLnR5cGUgPT0gQlRfREVSSVZFRAorCQkgICAgJiYgbi0+ c3ltLT50cy51LmRlcml2ZWQtPnRzLmlzX2lzb19jCisJCSAgICAmJiBjb2Rl LT5vcCAhPSBFWEVDX09NUF9UQVJHRVQpCisJCSAgLyogTm9uLVRBUkdFVCAo aS5lLiBESVNQQVRDSCkgcmVxdWlyZXMgYSBDX1BUUi4gICovCisJCSAgZ2Zj X2Vycm9yICgiTGlzdCBpdGVtICVxcyBpbiAlcyBjbGF1c2UgYXQgJUwgbXVz dCBiZSBvZiAiCisJCQkgICAgICJUWVBFKENfUFRSKSIsIG4tPnN5bS0+bmFt ZSwgbmFtZSwgJm4tPndoZXJlKTsKKwkJZWxzZSBpZiAobi0+c3ltLT50cy50 eXBlICE9IEJUX0RFUklWRUQKKwkJCSB8fCAhbi0+c3ltLT50cy51LmRlcml2 ZWQtPnRzLmlzX2lzb19jKQorCQkgIHsKKwkJICAgIC8qIEZvciBUQVJHRVQs IG5vbi1DX1BUUiBhcmUgZGVwcmVjYXRlZCBhbmQgaGFuZGxlZCBhcworCQkg ICAgICAgaGFzX2RldmljZV9hZGRyLiAgKi8KKwkJICAgIGdmY19vbXBfbmFt ZWxpc3QgKm4yID0gbjsKKwkJICAgIG4gPSBuLT5uZXh0OworCQkgICAgaWYg KGxhc3QpCisJCSAgICAgIGxhc3QtPm5leHQgPSBuOworCQkgICAgZWxzZQor CQkgICAgICBvbXBfY2xhdXNlcy0+bGlzdHNbbGlzdF0gPSBuOworCQkgICAg bjItPm5leHQgPSBvbXBfY2xhdXNlcy0+bGlzdHNbT01QX0xJU1RfSEFTX0RF VklDRV9BRERSXTsKKwkJICAgIG9tcF9jbGF1c2VzLT5saXN0c1tPTVBfTElT VF9IQVNfREVWSUNFX0FERFJdID0gbjI7CisJCSAgICBjb250aW51ZTsKKwkJ ICB9CisJCWxhc3QgPSBuOworCQluID0gbi0+bmV4dDsKIAkgICAgICB9CiAJ ICAgIGJyZWFrOwogCSAgY2FzZSBPTVBfTElTVF9IQVNfREVWSUNFX0FERFI6 Ci0JICBjYXNlIE9NUF9MSVNUX1VTRV9ERVZJQ0VfUFRSOgogCSAgY2FzZSBP TVBfTElTVF9VU0VfREVWSUNFX0FERFI6Ci0JICAgIC8qIEZJWE1FOiBIYW5k bGUgT01QX0xJU1RfVVNFX0RFVklDRV9QVFIuICAqLworCSAgICBicmVhazsK KwkgIGNhc2UgT01QX0xJU1RfVVNFX0RFVklDRV9QVFI6CisJICAgIC8qIE5v bi1DX1BUUiBhcmUgZGVwcmVjYXRlZCBhbmQgaGFuZGxlZCBhcyB1c2VfZGV2 aWNlX0FERFIuICAqLworCSAgICBsYXN0ID0gTlVMTDsKKwkgICAgZm9yIChu ID0gb21wX2NsYXVzZXMtPmxpc3RzW2xpc3RdOyBuICE9IE5VTEw7ICkKKwkg ICAgICB7CisJCWdmY19vbXBfbmFtZWxpc3QgKm4yID0gbjsKKwkJaWYgKG4t PnN5bS0+dHMudHlwZSAhPSBCVF9ERVJJVkVECisJCSAgICB8fCAhbi0+c3lt LT50cy51LmRlcml2ZWQtPnRzLmlzX2lzb19jKQorCQkgIHsKKwkJICAgIG4g PSBuLT5uZXh0OworCQkgICAgaWYgKGxhc3QpCisJCSAgICAgIGxhc3QtPm5l eHQgPSBuOworCQkgICAgZWxzZQorCQkgICAgICBvbXBfY2xhdXNlcy0+bGlz dHNbbGlzdF0gPSBuOworCQkgICAgbjItPm5leHQgPSBvbXBfY2xhdXNlcy0+ bGlzdHNbT01QX0xJU1RfVVNFX0RFVklDRV9BRERSXTsKKwkJICAgIG9tcF9j bGF1c2VzLT5saXN0c1tPTVBfTElTVF9VU0VfREVWSUNFX0FERFJdID0gbjI7 CisJCSAgICBjb250aW51ZTsKKwkJICB9CisJCWxhc3QgPSBuOworCQluID0g bi0+bmV4dDsKKwkgICAgICB9CiAJICAgIGJyZWFrOwogCSAgZGVmYXVsdDoK IAkgICAgZm9yICg7IG4gIT0gTlVMTDsgbiA9IG4tPm5leHQpCkBAIC03NzU4 LDcgKzc3ODYsMTggQEAgcmVzb2x2ZV9vbXBfY2xhdXNlcyAoZ2ZjX2NvZGUg KmNvZGUsIGdmY19vbXBfY2xhdXNlcyAqb21wX2NsYXVzZXMsCiAJCSAmb21w X2NsYXVzZXMtPm51bV90ZWFtc19sb3dlci0+d2hlcmUsCiAJCSAmb21wX2Ns YXVzZXMtPm51bV90ZWFtc191cHBlci0+d2hlcmUpOwogICBpZiAob21wX2Ns YXVzZXMtPmRldmljZSkKLSAgICByZXNvbHZlX25vbm5lZ2F0aXZlX2ludF9l eHByIChvbXBfY2xhdXNlcy0+ZGV2aWNlLCAiREVWSUNFIik7CisgICAgewor ICAgICAgcmVzb2x2ZV9zY2FsYXJfaW50X2V4cHIgKG9tcF9jbGF1c2VzLT5k ZXZpY2UsICJERVZJQ0UiKTsKKyAgICAgIC8qIG9tcF9pbml0aWFsX2Rldmlj ZSA9PSAxLCBvbXBfaW52YWxpZF9kZXZpY2UgPSAtNCAoaW4gR0NDKS4gICov CisgICAgICBpZiAob21wX2NsYXVzZXMtPmRldmljZS0+ZXhwcl90eXBlID09 IEVYUFJfQ09OU1RBTlQKKwkgICYmIG9tcF9jbGF1c2VzLT5kZXZpY2UtPnRz LnR5cGUgPT0gQlRfSU5URUdFUgorCSAgJiYgbXB6X2NtcF9zaSAob21wX2Ns YXVzZXMtPmRldmljZS0+dmFsdWUuaW50ZWdlciwgLTEpIDwgMAorCSAgJiYg bXB6X2NtcF9zaSAob21wX2NsYXVzZXMtPmRldmljZS0+dmFsdWUuaW50ZWdl ciwgLTQpICE9IDApCisJZ2ZjX3dhcm5pbmcgKDAsCisJCSAgICAgIklOVEVH RVIgZXhwcmVzc2lvbiBvZiBERVZJQ0UgY2xhdXNlIGF0ICVMIG11c3QgYmUg bm9uLSIKKwkJICAgICAibmVnYXRpdmUgb3Igb21wX2luaXRpYWxfZGV2aWNl IG9yIG9tcF9pbnZhbGlkX2RldmljZSIsCisJCSAgICAgJm9tcF9jbGF1c2Vz LT5kZXZpY2UtPndoZXJlKTsKKyAgICB9CiAgIGlmIChvbXBfY2xhdXNlcy0+ ZmlsdGVyKQogICAgIHJlc29sdmVfbm9ubmVnYXRpdmVfaW50X2V4cHIgKG9t cF9jbGF1c2VzLT5maWx0ZXIsICJGSUxURVIiKTsKICAgaWYgKG9tcF9jbGF1 c2VzLT5oaW50KQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9nb21wL2lzX2RldmljZV9wdHItMS5mOTAgYi9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2dvbXAvaXNfZGV2aWNlX3B0ci0xLmY5MAppbmRleCAw ZWVjYTBlZTIzYS4uZTk2Y2UwMmRmMmUgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9pc19kZXZpY2VfcHRyLTEuZjkwCisr KyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9pc19kZXZpY2Vf cHRyLTEuZjkwCkBAIC0xLDQgKzEsNSBAQAogISB7IGRnLWRvIGNvbXBpbGUg fQorISBGaXJzdAogc3Vicm91dGluZSB0ZXN0KGIsYyxkKQogICBpbXBsaWNp dCBub25lCiAgIGludGVnZXIsIHZhbHVlLCB0YXJnZXQgOjogYgpAQCAtNywx NiArOCwxNiBAQCBzdWJyb3V0aW5lIHRlc3QoYixjLGQpCiAKICAgaW50ZWdl ciwgdGFyZ2V0IDo6IGEoNSkKIAotICAhJG9tcCB0YXJnZXQgaXNfZGV2aWNl X3B0cihhKSAhIHsgZGctZXJyb3IgIk5vbi1kdW1teSBvYmplY3QgLmEuIGlu IElTX0RFVklDRV9QVFIgY2xhdXNlIiB9CisgICEkb21wIHRhcmdldCBpc19k ZXZpY2VfcHRyKGEpICEgVmFsaWQgc2luY2UgT3Blbk1QIDUuMQogICAhJG9t cCBlbmQgdGFyZ2V0CiAKLSAgISRvbXAgdGFyZ2V0IGlzX2RldmljZV9wdHIo YikgISB7IGRnLWVycm9yICJWQUxVRSBvYmplY3QgLmIuIGluIElTX0RFVklD RV9QVFIgY2xhdXNlIiB9CisgICEkb21wIHRhcmdldCBpc19kZXZpY2VfcHRy KGIpICEgVmFsaWQgc2luY2UgT3Blbk1QIDUuMQogICAhJG9tcCBlbmQgdGFy Z2V0CiAKLSAgISRvbXAgdGFyZ2V0IGlzX2RldmljZV9wdHIoYykgISB7IGRn LWVycm9yICJQT0lOVEVSIG9iamVjdCAuYy4gaW4gSVNfREVWSUNFX1BUUiBj bGF1c2UiIH0KKyAgISRvbXAgdGFyZ2V0IGlzX2RldmljZV9wdHIoYykgISBW YWxpZCBzaW5jZSBPcGVuTVAgNS4xCiAgICEkb21wIGVuZCB0YXJnZXQKIAot ICAhJG9tcCB0YXJnZXQgaXNfZGV2aWNlX3B0cihkKSAhIHsgZGctZXJyb3Ig IkFMTE9DQVRBQkxFIG9iamVjdCAuZC4gaW4gSVNfREVWSUNFX1BUUiBjbGF1 c2UiIH0KKyAgISRvbXAgdGFyZ2V0IGlzX2RldmljZV9wdHIoZCkgISBWYWxp ZCBzaW5jZSBPcGVuTVAgNS4xCiAgICEkb21wIGVuZCB0YXJnZXQKIAogICAh JG9tcCB0YXJnZXQgZGF0YSBtYXAoYSkgdXNlX2RldmljZV9hZGRyKGEpICAh IFNob3VsZCBiZSBva2F5CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2dvbXAvaXNfZGV2aWNlX3B0ci0yLmY5MCBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9pc19kZXZpY2VfcHRyLTIuZjkwCmlu ZGV4IDdhZGM2ZjZlOGUxLi4wNzYyZTU3NTVlMSAxMDA2NDQKLS0tIGEvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2lzX2RldmljZV9wdHItMi5m OTAKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2lzX2Rl dmljZV9wdHItMi5mOTAKQEAgLTgsNyArOCw3IEBAIHN1YnJvdXRpbmUgYWJj KGNjKQogICAgICEkb21wIHRhcmdldCBlbnRlciBkYXRhIG1hcCh0bzogY2Ms IGRkKQogCiAgICAgISRvbXAgdGFyZ2V0IGRhdGEgdXNlX2RldmljZV9hZGRy KGNjKSB1c2VfZGV2aWNlX3B0cihkZCkKLSAgICAgICEkb21wIHRhcmdldCBp c19kZXZpY2VfcHRyKGNjLCBkZCkgICEgeyBkZy1lcnJvciAiTm9uLWR1bW15 IG9iamVjdCAnZGQnIGluIElTX0RFVklDRV9QVFIgY2xhdXNlIGF0IiB9Cisg ICAgICAhJG9tcCB0YXJnZXQgaXNfZGV2aWNlX3B0cihjYywgZGQpICAhIFZh bGlkIHNpbmNlIE9wZW5NUCA1LjEKICAgICAgICAgaWYgKGNjIC89IDEzMSAu b3IuIGRkIC89IDQ4NCkgc3RvcCAxCiAgICAgICAgIGNjID0gNDQKICAgICAg ICAgZGQgPSA0NQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9nb21wL2lzX2RldmljZV9wdHItMy5mOTAgYi9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2dvbXAvaXNfZGV2aWNlX3B0ci0zLmY5MAppbmRleCBj M2RlNzcyNmU4OC4uN2I1YjI3YmFhNzIgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9pc19kZXZpY2VfcHRyLTMuZjkwCisr KyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9pc19kZXZpY2Vf cHRyLTMuZjkwCkBAIC0yMyw1ICsyMyw2IEBAIGNvbnRhaW5zCiAKIGVuZCBw cm9ncmFtIG1haW4KIAotISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAg ImlzX2RldmljZV9wdHJcXChhXFwpIiAgImdpbXBsZSIgfSB9CishIHsgZGct ZmluYWwgeyBzY2FuLXRyZWUtZHVtcCAiaGFzX2RldmljZV9hZGRyXFwoYVxc KSIgICJnaW1wbGUiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1 bXAtbm90ICJoYXNfZGV2aWNlX2FkZHJcXChiXFwpIiAgImdpbXBsZSIgfSB9 CiAhIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1ub3QgImlzX2Rldmlj ZV9wdHJcXChiXFwpIiAgImdpbXBsZSIgfSB9CmRpZmYgLS1naXQgYS9saWJn b21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vaXNfZGV2aWNlX3B0ci0y LmY5MCBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9pc19k ZXZpY2VfcHRyLTIuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi41ZWNkZDQyMDUzMwotLS0gL2Rldi9udWxsCisrKyBiL2xp YmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9pc19kZXZpY2VfcHRy LTIuZjkwCkBAIC0wLDAgKzEsMTY3IEBACishIHsgZGctZG8gY29tcGlsZSB9 CishIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZmR1bXAtdHJlZS1vcmln aW5hbCIgfQorIQorISBTaW5jZSBPcGVuTVAgNS4xLCBub24tVFlQRShjX3B0 cikgYXJndW1lbnRzIHRvIGlzX2RldmljZV9wdHIKKyEgbWFwIHRvIGhhc19k ZXZpY2VfcHRyIC0gY2hlY2sgdGhpcyEKKyEKKyEgUFIgZm9ydHJhbi8xMDUz MTgKKyEKK21vZHVsZSBtCisgIHVzZSBpc29fY19iaW5kaW5nLCBvbmx5OiBj X3B0ciwgY19sb2MsIGNfZl9wb2ludGVyLCBjX2Fzc29jaWF0ZWQKKyAgaW1w bGljaXQgbm9uZSAodHlwZSwgZXh0ZXJuYWwpCitjb250YWlucworICBzdWJy b3V0aW5lIG9uZSAoYXMsIGFyLCBhc3AsIGFycCwgYXNhLCBhcmEsIGNwdHJf YSkKKyAgICBpbnRlZ2VyLCB0YXJnZXQgOjogQVMsIEFSKDUpCisgICAgaW50 ZWdlciwgcG9pbnRlciA6OiBBU1AsIEFSUCg6KQorICAgIGludGVnZXIsIGFs bG9jYXRhYmxlIDo6IEFTQSwgQVJBKDopCisKKyAgICB0eXBlKGNfcHRyKSA6 OiBjcHRyX2EKKworICAgICEkb21wIHRhcmdldCBpc19kZXZpY2VfcHRyKGFz LCBhciwgYXNwLCBhcnAsIGFzYSwgYXJhLCBjcHRyX2EpCisgICAgICBpZiAo Lm5vdC4gY19hc3NvY2lhdGVkIChjcHRyX2EsIGNfbG9jKGFzKSkpIHN0b3Ag MTgKKyAgICAgIGlmIChhcyAvPSA1KSBzdG9wIDE5CisgICAgICBpZiAoYW55 IChhciAvPSBbMSwyLDMsNCw1XSkpIHN0b3AgMjAKKyAgICAgIGlmIChhc3Ag Lz0gOSkgc3RvcCAyMQorICAgICAgaWYgKGFueSAoYXJwIC89IFsyLDQsNl0p KSBzdG9wIDIyCisgICAgISRvbXAgZW5kIHRhcmdldAorICBlbmQKKworICBz dWJyb3V0aW5lIHR3byAoY3B0cl92KQorICAgIHR5cGUoY19wdHIpLCB2YWx1 ZSA6OiBjcHRyX3YKKyAgICBpbnRlZ2VyLCBwb2ludGVyIDo6IHh4CisKKyAg ICB4eCA9PiBudWxsKCkKKyAgICAhJG9tcCB0YXJnZXQgaXNfZGV2aWNlX3B0 cihjcHRyX3YpCisgICAgICBpZiAoLm5vdC4gY19hc3NvY2lhdGVkIChjcHRy X3YpKSBzdG9wIDIzCisgICAgICBjYWxsIGNfZl9wb2ludGVyIChjcHRyX3Ys IHh4KQorICAgICAgaWYgKHh4IC89IDUpIHN0b3AgMjQKKyAgICAgIHh4ID0+ IG51bGwoKQorICAgICEkb21wIGVuZCB0YXJnZXQKKyAgZW5kCisKKyAgc3Vi cm91dGluZSB0aHJlZSAob3MsIG9yLCBvc3AsIG9ycCwgb3NhLCBvcmEsIGNw dHJfbykKKyAgICBpbnRlZ2VyLCBvcHRpb25hbCwgdGFyZ2V0IDo6IE9TLCBP Uig1KQorICAgIGludGVnZXIsIG9wdGlvbmFsLCBwb2ludGVyIDo6IE9TUCwg T1JQKDopCisgICAgaW50ZWdlciwgb3B0aW9uYWwsIGFsbG9jYXRhYmxlIDo6 IE9TQSwgT1JBKDopCisKKyAgICB0eXBlKGNfcHRyKSA6OiBjcHRyX28KKwor ICAgICEkb21wIHRhcmdldCBpc19kZXZpY2VfcHRyKG9zLCBvciwgb3NwLCBv cnAsIG9zYSwgb3JhLCBjcHRyX28pCisgICAgICBpZiAoLm5vdC4gY19hc3Nv Y2lhdGVkIChjcHRyX28sIGNfbG9jKG9zKSkpIHN0b3AgMjUKKyAgICAgIGlm IChvcyAvPSA1KSBzdG9wIDI2CisgICAgICBpZiAoYW55IChvciAvPSBbMSwy LDMsNCw1XSkpIHN0b3AgMjcKKyAgICAgIGlmIChvc3AgLz0gOSkgc3RvcCAy OAorICAgICAgaWYgKGFueSAob3JwIC89IFsyLDQsNl0pKSBzdG9wIDI5Cisg ICAgISRvbXAgZW5kIHRhcmdldAorICBlbmQKKworICBzdWJyb3V0aW5lIGZv dXIoTlZTLCBOVlNPKQorICAgIHVzZSBvbXBfbGliLCBvbmx5OiBvbXBfaW5p dGlhbF9kZXZpY2UsIG9tcF9pbnZhbGlkX2RldmljZQorICAgIGludGVnZXIs IHZhbHVlIDo6IE5WUworICAgIGludGVnZXIsIG9wdGlvbmFsLCB2YWx1ZSA6 OiBOVlNPCisgICAgaW50ZWdlciA6OiBOUywgTlIoNSkKKyAgICBsb2dpY2Fs LCB2b2xhdGlsZSA6OiBmYWxzZV8KKworICAgIGZhbHNlXyA9IC5mYWxzZS4K KworICAgICEkb21wIHRhcmdldCBpc19kZXZpY2VfcHRyIChOUywgTlIsIE5W UywgTlZTTykgZGV2aWNlKG9tcF9pbml0aWFsX2RldmljZSkKKyAgICAgIE5W UyA9IDUKKyAgICAgIE5WU08gPSA1CisgICAgICBOUyA9IDUKKyAgICAgIE5S KDEpID0gNworICAgICEkb21wIGVuZCB0YXJnZXQKKworICAgIGlmIChmYWxz ZV8pIHRoZW4KKyAgICAgICEkb21wIHRhcmdldCBkZXZpY2Uob21wX2ludmFs aWRfZGV2aWNlKSAhIHZhbHVlID0gLTQKKyAgICAgICEkb21wIGVuZCB0YXJn ZXQKKworICAgICAgISRvbXAgdGFyZ2V0IGRldmljZSgtMikgISB7IGRnLXdh cm5pbmcgIklOVEVHRVIgZXhwcmVzc2lvbiBvZiBERVZJQ0UgY2xhdXNlIGF0 IC4xLiBtdXN0IGJlIG5vbi1uZWdhdGl2ZSBvciBvbXBfaW5pdGlhbF9kZXZp Y2Ugb3Igb21wX2ludmFsaWRfZGV2aWNlIiB9CisgICAgICAhJG9tcCBlbmQg dGFyZ2V0CisgICAgICAhJG9tcCB0YXJnZXQgZGV2aWNlKC0zKSAhIHsgZGct d2FybmluZyAiSU5URUdFUiBleHByZXNzaW9uIG9mIERFVklDRSBjbGF1c2Ug YXQgLjEuIG11c3QgYmUgbm9uLW5lZ2F0aXZlIG9yIG9tcF9pbml0aWFsX2Rl dmljZSBvciBvbXBfaW52YWxpZF9kZXZpY2UiIH0KKyAgICAgICEkb21wIGVu ZCB0YXJnZXQKKyAgICAgICEkb21wIHRhcmdldCBkZXZpY2UoLTUpICEgeyBk Zy13YXJuaW5nICJJTlRFR0VSIGV4cHJlc3Npb24gb2YgREVWSUNFIGNsYXVz ZSBhdCAuMS4gbXVzdCBiZSBub24tbmVnYXRpdmUgb3Igb21wX2luaXRpYWxf ZGV2aWNlIG9yIG9tcF9pbnZhbGlkX2RldmljZSIgfQorICAgICAgISRvbXAg ZW5kIHRhcmdldAorICAgIGVuZCBpZiAKKyAgZW5kIHN1YnJvdXRpbmUKKwor ZW5kIG1vZHVsZSBtCisKK3Byb2dyYW0gbWFpbgorICB1c2UgaXNvX2NfYmlu ZGluZywgb25seTogY19wdHIsIGNfbG9jLCBjX2ZfcG9pbnRlciwgY19hc3Nv Y2lhdGVkCisgIHVzZSBtCisgIGltcGxpY2l0IG5vbmUgKHR5cGUsIGV4dGVy bmFsKQorCisgIGludGVnZXIsIHRhcmdldCA6OiBJUywgSVIoNSkKKyAgaW50 ZWdlciwgcG9pbnRlciA6OiBJU1AsIElSUCg6KQorICBpbnRlZ2VyLCBhbGxv Y2F0YWJsZSA6OiBJU0EsIElSQSg6KQorICBpbnRlZ2VyIDo6IHh4eCwgeHh4 eAorCisgIHR5cGUoY19wdHIpIDo6IGNwdHJfaQorCisgIGlzID0gNQorICBp ciA9IFsxLDIsMyw0LDVdCisgIGFsbG9jYXRlKElTUCwgc291cmNlPTkpCisg IGFsbG9jYXRlKElSUCwgc291cmNlPVsyLDQsNl0pCisKKyAgISRvbXAgdGFy Z2V0IGRhdGEgICAgbWFwKGlzLCBpciwgaXNwLCBpcnAsIGlzYSwgaXJhKSAm CisgICEkb21wJiAgIHVzZV9kZXZpY2VfcHRyKGlzLCBpciwgaXNwLCBpcnAs IGlzYSwgaXJhKQorCisgIGNwdHJfaSA9IGNfbG9jKGlzKQorICAhJG9tcCB0 YXJnZXQgaXNfZGV2aWNlX3B0cihpcywgaXIsIGlzcCwgaXJwLCBpc2EsIGly YSwgY3B0cl9pKQorICAgIGlmICgubm90LiBjX2Fzc29jaWF0ZWQgKGNwdHJf aSwgY19sb2MoaXMpKSkgc3RvcCAzMAorICAgIGlmIChpcyAvPSA1KSBzdG9w IDMxCisgICAgaWYgKGFueSAoaXIgLz0gWzEsMiwzLDQsNV0pKSBzdG9wIDMy CisgICAgaWYgKGlzcCAvPSA5KSBzdG9wIDMzCisgICAgaWYgKGFueSAoaXJw IC89IFsyLDQsNl0pKSBzdG9wIDM0CisgICEkb21wIGVuZCB0YXJnZXQKKwor ICBjYWxsIG9uZSAoaXMsIGlyLCBpc3AsIGlycCwgaXNhLCBpcmEsIGNwdHJf aSkKKyAgY2FsbCB0d28gKGNwdHJfaSkKKyAgY2FsbCB0aHJlZSAoaXMsIGly LCBpc3AsIGlycCwgaXNhLCBpcmEsIGNwdHJfaSkKKworICAhJG9tcCBlbmQg dGFyZ2V0IGRhdGEKKworICBjYWxsIGZvdXIoeHh4LCB4eHh4KQorZW5kCisK KyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAidXNlX2Rldmlj ZV9wdHIiICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRy ZWUtZHVtcCAidXNlX2RldmljZV9hZGRyXFwoaXJhXFwpIiAib3JpZ2luYWwi IH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAgInVzZV9kZXZp Y2VfYWRkclxcKGlzYVxcKSIgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5h bCB7IHNjYW4tdHJlZS1kdW1wICJ1c2VfZGV2aWNlX2FkZHJcXChpcnBcXCki ICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVt cCAidXNlX2RldmljZV9hZGRyXFwoaXNwXFwpIiAib3JpZ2luYWwiIH0gfQor ISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAgInVzZV9kZXZpY2VfYWRk clxcKGlyXFwpIiAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nh bi10cmVlLWR1bXAgInVzZV9kZXZpY2VfYWRkclxcKGlzXFwpIiAib3JpZ2lu YWwiIH0gfQorCishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1ub3Qg InVzZV9kZXZpY2VfYWRkclxcKGNwdHIiICJvcmlnaW5hbCIgfSB9CishIHsg ZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1ub3QgInVzZV9kZXZpY2VfcHRy XFwobyIgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJl ZS1kdW1wLW5vdCAidXNlX2RldmljZV9wdHJcXChhIiAib3JpZ2luYWwiIH0g fQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICJ1c2VfZGV2 aWNlX3B0clxcKGkiICJvcmlnaW5hbCIgfSB9CisKKyEgeyBkZy1maW5hbCB7 IHNjYW4tdHJlZS1kdW1wICJpc19kZXZpY2VfcHRyXFwoY3B0cl9vXFwpIiAi b3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAg Imhhc19kZXZpY2VfYWRkclxcKG9yYVxcKSIgIm9yaWdpbmFsIiB9IH0KKyEg eyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wICJoYXNfZGV2aWNlX2FkZHJc XChvc2FcXCkiICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2Fu LXRyZWUtZHVtcCAiaGFzX2RldmljZV9hZGRyXFwob3JwXFwpIiAib3JpZ2lu YWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAgImhhc19k ZXZpY2VfYWRkclxcKG9zcFxcKSIgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1m aW5hbCB7IHNjYW4tdHJlZS1kdW1wICJoYXNfZGV2aWNlX2FkZHJcXChvclxc KSIgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wICJoYXNfZGV2aWNlX2FkZHJcXChvc1xcKSIgIm9yaWdpbmFsIiB9IH0K KyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wICJpc19kZXZpY2VfcHRy XFwoY3B0cl92XFwpIiAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsg c2Nhbi10cmVlLWR1bXAgImlzX2RldmljZV9wdHJcXChjcHRyX2FcXCkiICJv cmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcCAi aGFzX2RldmljZV9hZGRyXFwoYXJhXFwpIiAib3JpZ2luYWwiIH0gfQorISB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAgImhhc19kZXZpY2VfYWRkclxc KGFzYVxcKSIgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4t dHJlZS1kdW1wICJoYXNfZGV2aWNlX2FkZHJcXChhcnBcXCkiICJvcmlnaW5h bCIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcCAiaGFzX2Rl dmljZV9hZGRyXFwoYXNwXFwpIiAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZp bmFsIHsgc2Nhbi10cmVlLWR1bXAgImhhc19kZXZpY2VfYWRkclxcKGFyXFwp IiAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1 bXAgImhhc19kZXZpY2VfYWRkclxcKGFzXFwpIiAib3JpZ2luYWwiIH0gfQor ISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAgInVzZV9kZXZpY2VfYWRk clxcKGlzXFwpIiAib3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nh bi10cmVlLWR1bXAgInVzZV9kZXZpY2VfYWRkclxcKGlyXFwpIiAib3JpZ2lu YWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAgInVzZV9k ZXZpY2VfYWRkclxcKGlzcFxcKSIgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1m aW5hbCB7IHNjYW4tdHJlZS1kdW1wICJ1c2VfZGV2aWNlX2FkZHJcXChpcnBc XCkiICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUt ZHVtcCAidXNlX2RldmljZV9hZGRyXFwoaXNhXFwpIiAib3JpZ2luYWwiIH0g fQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAgInVzZV9kZXZpY2Vf YWRkclxcKGlyYVxcKSIgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7 IHNjYW4tdHJlZS1kdW1wICJpc19kZXZpY2VfcHRyXFwoY3B0cl9pXFwpIiAi b3JpZ2luYWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAg Imhhc19kZXZpY2VfYWRkclxcKGlyYVxcKSIgIm9yaWdpbmFsIiB9IH0KKyEg eyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wICJoYXNfZGV2aWNlX2FkZHJc XChpc2FcXCkiICJvcmlnaW5hbCIgfSB9CishIHsgZGctZmluYWwgeyBzY2Fu LXRyZWUtZHVtcCAiaGFzX2RldmljZV9hZGRyXFwoaXJwXFwpIiAib3JpZ2lu YWwiIH0gfQorISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAgImhhc19k ZXZpY2VfYWRkclxcKGlzcFxcKSIgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1m aW5hbCB7IHNjYW4tdHJlZS1kdW1wICJoYXNfZGV2aWNlX2FkZHJcXChpclxc KSIgIm9yaWdpbmFsIiB9IH0KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wICJoYXNfZGV2aWNlX2FkZHJcXChpc1xcKSIgIm9yaWdpbmFsIiB9IH0K --------------TdcSt6P0MsxN3oXiV7Adeo0D--