From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id 18FDB385800B; Tue, 28 Nov 2023 11:28:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 18FDB385800B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 18FDB385800B Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=68.232.137.180 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701170901; cv=none; b=WKBZiM55bPB3yB65Zws64nHjtbxldIKEjl2dkUkww9OnTttoCVS6hFXZPgs2BFWV1DEO8AsaSgu2qKFT7vxORu/Hx5FziSa/IGtNo9f+hEQFDgvR08q6sZJZ4Aqlvd813/zuPjD0evH5VfLfEHh5y10gVq55PS6dugQUwrrSTRw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1701170901; c=relaxed/simple; bh=Gl4Y/TO5BkmbKvYLbmaNMSoLAyB+D+ynPraOu01YIR8=; h=Message-ID:Date:MIME-Version:To:From:Subject; b=Nhrj7lDA/FooP/F62kzIVwZ/NyB3FrS4zj1zIPWRYrcMrkg/5W2iEAgJZwsejAWNI1K1ZEutrvqUTLENBYWQCZV5R3a/eQUyIWv7GWfItXgBNPzFWX8JmpvpY7NXNSTnjt4eCULvnYQzFpU181ju7WhOMfSITZdA3MkGBJFWwMk= ARC-Authentication-Results: i=1; server2.sourceware.org X-CSE-ConnectionGUID: lutlCARpTKW9HIYA+weWLA== X-CSE-MsgGUID: 3eI6l/svS2KqfuCkqM3/bA== X-IronPort-AV: E=Sophos;i="6.04,233,1695715200"; d="diff'?scan'208";a="23891504" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa3.mentor.iphmx.com with ESMTP; 28 Nov 2023 03:28:17 -0800 IronPort-SDR: tB9pPVvclew61Xvf9Uj5X7dJgPOQfrgwQE1gBBMbqnP00bHlASV6/o+a/+VD2GuYRmeOO+bZf+ Zdjg76mPMxpExSESnDGynTMk0i9OeG1SbiRYfO8+NGqz9I+5bthU3OoK2D75VYWZ8C08MATDQF 7ezBYa/b1lU//byYlZhGmPz3cAv+Wh5mQIqzw8jwadoPwHCTIFFnqFk7mAMCs63pcSOGvxygR7 Y/R/H4Gdlmbo+/JAvjyVsI1pjVPVmlJYoCeWOvWSIGoCJJcIoIncAeApIEqoPRObkkzRN1tLyb Y/A= Content-Type: multipart/mixed; boundary="------------iBQTYxcgztIFFG2x0wnY0oAS" Message-ID: Date: Tue, 28 Nov 2023 12:28:05 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: gcc-patches , Jakub Jelinek , fortran From: Tobias Burnus Subject: [Patch] OpenMP: Support acquires/release in 'omp require atomic_default_mem_order' X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-15.mgc.mentorg.com (139.181.222.15) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,URIBL_BLACK 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: --------------iBQTYxcgztIFFG2x0wnY0oAS Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable I stumbled over this omission when looking at Sandra's patch. It turned out= that this is a new OpenMP 5.2 feature - probably added to simplify/unify the syntax. I g= uess the reason that release/acquire wasn't added before is that it cannot be universally b= e used - read/write do only accept one of them. However, as a compilation unit might only/mostly use read (and update) or w= rite (and update), that can be fine - especially as overriding the default clause is still pos= sible. It is not quite clear to me why, but the current patch also fixes a bug reg= arding the diagnostic message for gfortran.dg/gomp/requires-5.f90. (I think I could fi= nd out, but as it changed to the better...) Comments, suggestions? Tobias ----------------- 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 --------------iBQTYxcgztIFFG2x0wnY0oAS Content-Type: text/x-patch; charset="UTF-8"; name="requires-atomic52.diff" Content-Disposition: attachment; filename="requires-atomic52.diff" Content-Transfer-Encoding: base64 T3Blbk1QOiBTdXBwb3J0IGFjcXVpcmVzL3JlbGVhc2UgaW4gJ29tcCByZXF1aXJlIGF0b21p Y19kZWZhdWx0X21lbV9vcmRlcicKClRoaXMgaXMgYW4gT3Blbk1QIDUuMiBmZWF0dXJlLgoK Z2NjL2MvQ2hhbmdlTG9nOgoKCSogYy1wYXJzZXIuY2MgKGNfcGFyc2VyX29tcF9yZXF1aXJl cyk6IEhhbmRsZSBhY3F1aXJlcy9yZWxlYXNlCglpbiBhdG9taWNfZGVmYXVsdF9tZW1fb3Jk ZXIgY2xhdXNlLgoJKGNfcGFyc2VyX29tcF9hdG9taWMpOiBVcGRhdGUuIAoKZ2NjL2NwL0No YW5nZUxvZzoKCgkqIHBhcnNlci5jYyAoY3BfcGFyc2VyX29tcF9yZXF1aXJlcyk6IEhhbmRs ZSBhY3F1aXJlcy9yZWxlYXNlCglpbiBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIgY2xhdXNl LgoJKGNwX3BhcnNlcl9vbXBfYXRvbWljKTogVXBkYXRlLgoKZ2NjL2ZvcnRyYW4vQ2hhbmdl TG9nOgoKCSogZ2ZvcnRyYW4uaCAoZW51bSBnZmNfb21wX3JlcXVpcmVzX2tpbmQpOiBBZGQK CU9NUF9SRVFfQVRPTUlDX01FTV9PUkRFUl9BQ1FVSVJFIGFuZCBPTVBfUkVRX0FUT01JQ19N RU1fT1JERVJfUkVMRUFTRS4KCShnZmNfbmFtZXNwYWNlKTogQWRkIGEgN3RoIGJpdCB0byBv bXBfcmVxdWlyZXMuCgkqIG1vZHVsZS5jYyAoZW51bSBhYl9hdHRyaWJ1dGUpOiBBZGQgQUJf T01QX1JFUV9NRU1fT1JERVJfQUNRVUlSRQoJYW5kIEFCX09NUF9SRVFfTUVNX09SREVSX1JF TEVBU0UKCShtaW9fc3ltYm9sX2F0dHJpYnV0ZSk6IEhhbmRsZSBpdC4KCSogb3Blbm1wLmNj IChnZmNfb21wX3JlcXVpcmVzX2FkZF9jbGF1c2UpOiBVcGRhdGUgZm9yIGFjcXVpcmUvcmVs ZWFzZS4KCShnZmNfbWF0Y2hfb21wX3JlcXVpcmVzKTogTGlrZXdpc2UuCgkoZ2ZjX21hdGNo X29tcF9hdG9taWMpOiBIYW5kbGUgdGhlbSBmb3IgYXRvbWljX2RlZmF1bHRfbWVtX29yZGVy LgoJKiBwYXJzZS5jYzogTGlrZXdpc2UuCgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCgkq IGMtYysrLWNvbW1vbi9nb21wL3JlcXVpcmVzLTMuYzogVXBkYXRlIGZvciBub3cgdmFsaWQg Y29kZS4KCSogZ2ZvcnRyYW4uZGcvZ29tcC9yZXF1aXJlcy0zLmY5MDogTGlrZXdpc2UuCgkq IGdmb3J0cmFuLmRnL2dvbXAvcmVxdWlyZXMtMi5mOTA6IFVwZGF0ZSBkZy1lcnJvci4KCSog Z2ZvcnRyYW4uZGcvZ29tcC9yZXF1aXJlcy01LmY5MDogTGlrZXdpc2UuCgkqIGMtYysrLWNv bW1vbi9nb21wL3JlcXVpcmVzLTUuYzogTmV3IHRlc3QuCgkqIGMtYysrLWNvbW1vbi9nb21w L3JlcXVpcmVzLTYuYzogTmV3IHRlc3QuCgkqIGMtYysrLWNvbW1vbi9nb21wL3JlcXVpcmVz LTcuYzogTmV3IHRlc3QuCgkqIGMtYysrLWNvbW1vbi9nb21wL3JlcXVpcmVzLTguYzogTmV3 IHRlc3QuCgkqIGdmb3J0cmFuLmRnL2dvbXAvcmVxdWlyZXMtMTAuZjkwOiBOZXcgdGVzdC4K CSogZ2ZvcnRyYW4uZGcvZ29tcC9yZXF1aXJlcy0xMS5mOTA6IE5ldyB0ZXN0LgoKIGdjYy9j L2MtcGFyc2VyLmNjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzMiArKysrKysr KysrKysrKystCiBnY2MvY3AvcGFyc2VyLmNjICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMzIgKysrKysrKysrKysrKysrLQogZ2NjL2ZvcnRyYW4vZ2ZvcnRyYW4uaCAgICAg ICAgICAgICAgICAgICAgICAgICB8IDIyICsrKysrKy0tLS0tCiBnY2MvZm9ydHJhbi9tb2R1 bGUuY2MgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTkgKysrKysrKysrCiBnY2MvZm9y dHJhbi9vcGVubXAuY2MgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNTMgKysrKysrKysr KysrKysrKysrKysrLS0tLS0KIGdjYy9mb3J0cmFuL3BhcnNlLmNjICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgOCArKysrCiBnY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb21w L3JlcXVpcmVzLTMuYyAgIHwgIDggKystLQogZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24v Z29tcC9yZXF1aXJlcy01LmMgICB8IDIzICsrKysrKysrKysrCiBnY2MvdGVzdHN1aXRlL2Mt YysrLWNvbW1vbi9nb21wL3JlcXVpcmVzLTYuYyAgIHwgMjMgKysrKysrKysrKysKIGdjYy90 ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvbXAvcmVxdWlyZXMtNy5jICAgfCAxMSArKysrKysK IGdjYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvbXAvcmVxdWlyZXMtOC5jICAgfCAxNCAr KysrKysrCiBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvcmVxdWlyZXMtMTAuZjkw IHwgMzYgKysrKysrKysrKysrKysrKysKIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29t cC9yZXF1aXJlcy0xMS5mOTAgfCAzMSArKysrKysrKysrKysrKysKIGdjYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZ29tcC9yZXF1aXJlcy0yLmY5MCAgfCAgMiArLQogZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9nb21wL3JlcXVpcmVzLTMuZjkwICB8ICA3ICsrLS0KIGdjYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9yZXF1aXJlcy01LmY5MCAgfCAgMiArLQogMTYgZmls ZXMgY2hhbmdlZCwgMjkxIGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2djYy9jL2MtcGFyc2VyLmNjIGIvZ2NjL2MvYy1wYXJzZXIuY2MKaW5kZXggZGY5 YTA3OTI4YjUuLjU3MDBjY2NjYzQ5IDEwMDY0NAotLS0gYS9nY2MvYy9jLXBhcnNlci5jYwor KysgYi9nY2MvYy9jLXBhcnNlci5jYwpAQCAtMjA4OTYsNiArMjA4OTYsMjggQEAgY19wYXJz ZXJfb21wX2F0b21pYyAobG9jYXRpb25fdCBsb2MsIGNfcGFyc2VyICpwYXJzZXIsIGJvb2wg b3BlbmFjYykKIAljYXNlIE9NUF9NRU1PUllfT1JERVJfU0VRX0NTVDoKIAkgIG1lbW9yeV9v cmRlciA9IE9NUF9NRU1PUllfT1JERVJfU0VRX0NTVDsKIAkgIGJyZWFrOworCWNhc2UgT01Q X01FTU9SWV9PUkRFUl9BQ1FVSVJFOgorCSAgaWYgKGNvZGUgPT0gTk9QX0VYUFIpICAvKiBh dG9taWMgd3JpdGUgKi8KKwkgICAgeworCSAgICAgIGVycm9yX2F0IChsb2MsICIlPCNwcmFn bWEgb21wIGF0b21pYyB3cml0ZSU+IGluY29tcGF0aWJsZSB3aXRoICIKKwkJCSAgICAgIiU8 YWNxdWlyZSU+IGNsYXVzZSBpbXBsaWNpdGx5IHByb3ZpZGVkIGJ5IGEgIgorCQkJICAgICAi JTxyZXF1aXJlcyU+IGRpcmVjdGl2ZSIpOworCSAgICAgIG1lbW9yeV9vcmRlciA9IE9NUF9N RU1PUllfT1JERVJfU0VRX0NTVDsKKwkgICAgfQorCSAgZWxzZQorCSAgICBtZW1vcnlfb3Jk ZXIgPSBPTVBfTUVNT1JZX09SREVSX0FDUVVJUkU7CisJICBicmVhazsKKwljYXNlIE9NUF9N RU1PUllfT1JERVJfUkVMRUFTRToKKwkgIGlmIChjb2RlID09IE9NUF9BVE9NSUNfUkVBRCkK KwkgICAgeworCSAgICAgIGVycm9yX2F0IChsb2MsICIlPCNwcmFnbWEgb21wIGF0b21pYyBy ZWFkJT4gaW5jb21wYXRpYmxlIHdpdGggIgorCQkJICAgICAiJTxyZWxlYXNlJT4gY2xhdXNl IGltcGxpY2l0bHkgcHJvdmlkZWQgYnkgYSAiCisJCQkgICAgICIlPHJlcXVpcmVzJT4gZGly ZWN0aXZlIik7CisJICAgICAgbWVtb3J5X29yZGVyID0gT01QX01FTU9SWV9PUkRFUl9TRVFf Q1NUOworCSAgICB9CisJICBlbHNlCisJICAgIG1lbW9yeV9vcmRlciA9IE9NUF9NRU1PUllf T1JERVJfUkVMRUFTRTsKKwkgIGJyZWFrOwogCWNhc2UgT01QX01FTU9SWV9PUkRFUl9BQ1Ff UkVMOgogCSAgc3dpdGNoIChjb2RlKQogCSAgICB7CkBAIC0yNTcyNCwxNSArMjU3NDYsMjEg QEAgY19wYXJzZXJfb21wX3JlcXVpcmVzIChjX3BhcnNlciAqcGFyc2VyKQogCQkgICAgICBl bHNlIGlmICghc3RyY21wIChwLCAicmVsYXhlZCIpKQogCQkJdGhpc19yZXEKIAkJCSAgPSAo ZW51bSBvbXBfcmVxdWlyZXMpIE9NUF9NRU1PUllfT1JERVJfUkVMQVhFRDsKKwkJICAgICAg ZWxzZSBpZiAoIXN0cmNtcCAocCwgInJlbGVhc2UiKSkKKwkJCXRoaXNfcmVxCisJCQkgID0g KGVudW0gb21wX3JlcXVpcmVzKSBPTVBfTUVNT1JZX09SREVSX1JFTEVBU0U7CiAJCSAgICAg IGVsc2UgaWYgKCFzdHJjbXAgKHAsICJhY3FfcmVsIikpCiAJCQl0aGlzX3JlcQogCQkJICA9 IChlbnVtIG9tcF9yZXF1aXJlcykgT01QX01FTU9SWV9PUkRFUl9BQ1FfUkVMOworCQkgICAg ICBlbHNlIGlmICghc3RyY21wIChwLCAiYWNxdWlyZSIpKQorCQkJdGhpc19yZXEKKwkJCSAg PSAoZW51bSBvbXBfcmVxdWlyZXMpIE9NUF9NRU1PUllfT1JERVJfQUNRVUlSRTsKIAkJICAg IH0KIAkJICBpZiAodGhpc19yZXEgPT0gMCkKIAkJICAgIHsKIAkJICAgICAgZXJyb3JfYXQg KGNfcGFyc2VyX3BlZWtfdG9rZW4gKHBhcnNlciktPmxvY2F0aW9uLAotCQkJCSJleHBlY3Rl ZCAlPHNlcV9jc3QlPiwgJTxyZWxheGVkJT4gb3IgIgotCQkJCSIlPGFjcV9yZWwlPiIpOwor CQkJCSJleHBlY3RlZCAlPGFjcV9yZWwlPiwgJTxhY3F1aXJlJT4sICIKKwkJCQkiJTxyZWxh eGVkJT4sICU8cmVsZWFzZSU+IG9yICU8c2VxX2NzdCU+Iik7CiAJCSAgICAgIHN3aXRjaCAo Y19wYXJzZXJfcGVla190b2tlbiAocGFyc2VyKS0+dHlwZSkKIAkJCXsKIAkJCWNhc2UgQ1BQ X0VPRjoKZGlmZiAtLWdpdCBhL2djYy9jcC9wYXJzZXIuY2MgYi9nY2MvY3AvcGFyc2VyLmNj CmluZGV4IDI0NjRkMWEwNzgzLi45M2JkN2YxMTJhMiAxMDA2NDQKLS0tIGEvZ2NjL2NwL3Bh cnNlci5jYworKysgYi9nY2MvY3AvcGFyc2VyLmNjCkBAIC00MjQzNiw2ICs0MjQzNiwyOCBA QCBjcF9wYXJzZXJfb21wX2F0b21pYyAoY3BfcGFyc2VyICpwYXJzZXIsIGNwX3Rva2VuICpw cmFnbWFfdG9rLCBib29sIG9wZW5hY2MpCiAJY2FzZSBPTVBfTUVNT1JZX09SREVSX1NFUV9D U1Q6CiAJICBtZW1vcnlfb3JkZXIgPSBPTVBfTUVNT1JZX09SREVSX1NFUV9DU1Q7CiAJICBi cmVhazsKKwljYXNlIE9NUF9NRU1PUllfT1JERVJfQUNRVUlSRToKKwkgIGlmIChjb2RlID09 IE5PUF9FWFBSKSAgLyogYXRvbWljIHdyaXRlICovCisJICAgIHsKKwkgICAgICBlcnJvcl9h dCAobG9jLCAiJTwjcHJhZ21hIG9tcCBhdG9taWMgd3JpdGUlPiBpbmNvbXBhdGlibGUgd2l0 aCAiCisJCQkgICAgICIlPGFjcXVpcmUlPiBjbGF1c2UgaW1wbGljaXRseSBwcm92aWRlZCBi eSBhICIKKwkJCSAgICAgIiU8cmVxdWlyZXMlPiBkaXJlY3RpdmUiKTsKKwkgICAgICBtZW1v cnlfb3JkZXIgPSBPTVBfTUVNT1JZX09SREVSX1NFUV9DU1Q7CisJICAgIH0KKwkgIGVsc2UK KwkgICAgbWVtb3J5X29yZGVyID0gT01QX01FTU9SWV9PUkRFUl9BQ1FVSVJFOworCSAgYnJl YWs7CisJY2FzZSBPTVBfTUVNT1JZX09SREVSX1JFTEVBU0U6CisJICBpZiAoY29kZSA9PSBP TVBfQVRPTUlDX1JFQUQpCisJICAgIHsKKwkgICAgICBlcnJvcl9hdCAobG9jLCAiJTwjcHJh Z21hIG9tcCBhdG9taWMgcmVhZCU+IGluY29tcGF0aWJsZSB3aXRoICIKKwkJCSAgICAgIiU8 cmVsZWFzZSU+IGNsYXVzZSBpbXBsaWNpdGx5IHByb3ZpZGVkIGJ5IGEgIgorCQkJICAgICAi JTxyZXF1aXJlcyU+IGRpcmVjdGl2ZSIpOworCSAgICAgIG1lbW9yeV9vcmRlciA9IE9NUF9N RU1PUllfT1JERVJfU0VRX0NTVDsKKwkgICAgfQorCSAgZWxzZQorCSAgICBtZW1vcnlfb3Jk ZXIgPSBPTVBfTUVNT1JZX09SREVSX1JFTEVBU0U7CisJICBicmVhazsKIAljYXNlIE9NUF9N RU1PUllfT1JERVJfQUNRX1JFTDoKIAkgIHN3aXRjaCAoY29kZSkKIAkgICAgewpAQCAtNDkx MjYsMTUgKzQ5MTQ4LDIxIEBAIGNwX3BhcnNlcl9vbXBfcmVxdWlyZXMgKGNwX3BhcnNlciAq cGFyc2VyLCBjcF90b2tlbiAqcHJhZ21hX3RvaykKIAkJICAgICAgZWxzZSBpZiAoIXN0cmNt cCAocCwgInJlbGF4ZWQiKSkKIAkJCXRoaXNfcmVxCiAJCQkgID0gKGVudW0gb21wX3JlcXVp cmVzKSBPTVBfTUVNT1JZX09SREVSX1JFTEFYRUQ7CisJCSAgICAgIGVsc2UgaWYgKCFzdHJj bXAgKHAsICJyZWxlYXNlIikpCisJCQl0aGlzX3JlcQorCQkJICA9IChlbnVtIG9tcF9yZXF1 aXJlcykgT01QX01FTU9SWV9PUkRFUl9SRUxFQVNFOwogCQkgICAgICBlbHNlIGlmICghc3Ry Y21wIChwLCAiYWNxX3JlbCIpKQogCQkJdGhpc19yZXEKIAkJCSAgPSAoZW51bSBvbXBfcmVx dWlyZXMpIE9NUF9NRU1PUllfT1JERVJfQUNRX1JFTDsKKwkJICAgICAgZWxzZSBpZiAoIXN0 cmNtcCAocCwgImFjcXVpcmUiKSkKKwkJCXRoaXNfcmVxCisJCQkgID0gKGVudW0gb21wX3Jl cXVpcmVzKSBPTVBfTUVNT1JZX09SREVSX0FDUVVJUkU7CiAJCSAgICB9CiAJCSAgaWYgKHRo aXNfcmVxID09IDApCiAJCSAgICB7CiAJCSAgICAgIGVycm9yX2F0IChjcF9sZXhlcl9wZWVr X3Rva2VuIChwYXJzZXItPmxleGVyKS0+bG9jYXRpb24sCi0JCQkJImV4cGVjdGVkICU8c2Vx X2NzdCU+LCAlPHJlbGF4ZWQlPiBvciAiCi0JCQkJIiU8YWNxX3JlbCU+Iik7CisJCQkJImV4 cGVjdGVkICU8YWNxX3JlbCU+LCAlPGFjcXVpcmUlPiwgIgorCQkJCSIlPHJlbGF4ZWQlPiwg JTxyZWxlYXNlJT4gb3IgJTxzZXFfY3N0JT4iKTsKIAkJICAgICAgc3dpdGNoIChjcF9sZXhl cl9wZWVrX3Rva2VuIChwYXJzZXItPmxleGVyKS0+dHlwZSkKIAkJCXsKIAkJCWNhc2UgQ1BQ X0VPRjoKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2dmb3J0cmFuLmggYi9nY2MvZm9ydHJh bi9nZm9ydHJhbi5oCmluZGV4IGFhM2Y2Y2I3MGI0Li41NDc3YzNkMjk2NiAxMDA2NDQKLS0t IGEvZ2NjL2ZvcnRyYW4vZ2ZvcnRyYW4uaAorKysgYi9nY2MvZm9ydHJhbi9nZm9ydHJhbi5o CkBAIC0xNDk2LDE5ICsxNDk2LDIzIEBAIGVudW0gZ2ZjX29tcF9hdG9taWNfb3AKIGVudW0g Z2ZjX29tcF9yZXF1aXJlc19raW5kCiB7CiAgIC8qIEtlZXAgaW4gc3luYyB3aXRoIGdmY19u YW1lc3BhY2UsIGVzcC4gd2l0aCBvbXBfcmVxX21lbV9vcmRlci4gICovCi0gIE9NUF9SRVFf QVRPTUlDX01FTV9PUkRFUl9TRVFfQ1NUID0gMSwgIC8qIDAxICovCi0gIE9NUF9SRVFfQVRP TUlDX01FTV9PUkRFUl9BQ1FfUkVMID0gMiwgIC8qIDEwICovCi0gIE9NUF9SRVFfQVRPTUlD X01FTV9PUkRFUl9SRUxBWEVEID0gMywgIC8qIDExICovCi0gIE9NUF9SRVFfUkVWRVJTRV9P RkZMT0FEID0gKDEgPDwgMiksCi0gIE9NUF9SRVFfVU5JRklFRF9BRERSRVNTID0gKDEgPDwg MyksCi0gIE9NUF9SRVFfVU5JRklFRF9TSEFSRURfTUVNT1JZID0gKDEgPDwgNCksCi0gIE9N UF9SRVFfRFlOQU1JQ19BTExPQ0FUT1JTID0gKDEgPDwgNSksCisgIE9NUF9SRVFfQVRPTUlD X01FTV9PUkRFUl9TRVFfQ1NUID0gMSwgIC8qIDAwMSAqLworICBPTVBfUkVRX0FUT01JQ19N RU1fT1JERVJfQUNRX1JFTCA9IDIsICAvKiAwMTAgKi8KKyAgT01QX1JFUV9BVE9NSUNfTUVN X09SREVSX1JFTEFYRUQgPSAzLCAgLyogMDExICovCisgIE9NUF9SRVFfQVRPTUlDX01FTV9P UkRFUl9BQ1FVSVJFID0gNCwgIC8qIDEwMCAqLworICBPTVBfUkVRX0FUT01JQ19NRU1fT1JE RVJfUkVMRUFTRSA9IDUsICAvKiAxMDEgKi8KKyAgT01QX1JFUV9SRVZFUlNFX09GRkxPQUQg PSAoMSA8PCAzKSwKKyAgT01QX1JFUV9VTklGSUVEX0FERFJFU1MgPSAoMSA8PCA0KSwKKyAg T01QX1JFUV9VTklGSUVEX1NIQVJFRF9NRU1PUlkgPSAoMSA8PCA1KSwKKyAgT01QX1JFUV9E WU5BTUlDX0FMTE9DQVRPUlMgPSAoMSA8PCA2KSwKICAgT01QX1JFUV9UQVJHRVRfTUFTSyA9 IChPTVBfUkVRX1JFVkVSU0VfT0ZGTE9BRAogCQkJIHwgT01QX1JFUV9VTklGSUVEX0FERFJF U1MKIAkJCSB8IE9NUF9SRVFfVU5JRklFRF9TSEFSRURfTUVNT1JZKSwKICAgT01QX1JFUV9B VE9NSUNfTUVNX09SREVSX01BU0sgPSAoT01QX1JFUV9BVE9NSUNfTUVNX09SREVSX1NFUV9D U1QKIAkJCQkgICB8IE9NUF9SRVFfQVRPTUlDX01FTV9PUkRFUl9BQ1FfUkVMCi0JCQkJICAg fCBPTVBfUkVRX0FUT01JQ19NRU1fT1JERVJfUkVMQVhFRCkKKwkJCQkgICB8IE9NUF9SRVFf QVRPTUlDX01FTV9PUkRFUl9SRUxBWEVECisJCQkJICAgfCBPTVBfUkVRX0FUT01JQ19NRU1f T1JERVJfQUNRVUlSRQorCQkJCSAgIHwgT01QX1JFUV9BVE9NSUNfTUVNX09SREVSX1JFTEVB U0UpCiB9OwogCiBlbnVtIGdmY19vbXBfbWVtb3JkZXIKQEAgLTIyNTcsNyArMjI2MSw3IEBA IHR5cGVkZWYgc3RydWN0IGdmY19uYW1lc3BhY2UKICAgdW5zaWduZWQgaW1wbGljaXRfaW50 ZXJmYWNlX2NhbGxzOjE7CiAKICAgLyogT3Blbk1QIHJlcXVpcmVzLiAqLwotICB1bnNpZ25l ZCBvbXBfcmVxdWlyZXM6NjsKKyAgdW5zaWduZWQgb21wX3JlcXVpcmVzOjc7CiAgIHVuc2ln bmVkIG9tcF90YXJnZXRfc2VlbjoxOwogCiAgIC8qIFNldCB0byAxIGlmIHRoaXMgaXMgYW4g aW1wbGljaXQgT01QIHN0cnVjdHVyZWQgYmxvY2suICAqLwpkaWZmIC0tZ2l0IGEvZ2NjL2Zv cnRyYW4vbW9kdWxlLmNjIGIvZ2NjL2ZvcnRyYW4vbW9kdWxlLmNjCmluZGV4IGMwN2U5ZGM5 YmEyLi4zYzA3ODE4ZTJjZiAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vbW9kdWxlLmNjCisr KyBiL2djYy9mb3J0cmFuL21vZHVsZS5jYwpAQCAtMjA5Myw2ICsyMDkzLDcgQEAgZW51bSBh Yl9hdHRyaWJ1dGUKICAgQUJfT01QX1JFUV9SRVZFUlNFX09GRkxPQUQsIEFCX09NUF9SRVFf VU5JRklFRF9BRERSRVNTLAogICBBQl9PTVBfUkVRX1VOSUZJRURfU0hBUkVEX01FTU9SWSwg QUJfT01QX1JFUV9EWU5BTUlDX0FMTE9DQVRPUlMsCiAgIEFCX09NUF9SRVFfTUVNX09SREVS X1NFUV9DU1QsIEFCX09NUF9SRVFfTUVNX09SREVSX0FDUV9SRUwsCisgIEFCX09NUF9SRVFf TUVNX09SREVSX0FDUVVJUkUsIEFCX09NUF9SRVFfTUVNX09SREVSX1JFTEVBU0UsCiAgIEFC X09NUF9SRVFfTUVNX09SREVSX1JFTEFYRUQsIEFCX09NUF9ERVZJQ0VfVFlQRV9OT0hPU1Qs CiAgIEFCX09NUF9ERVZJQ0VfVFlQRV9IT1NULCBBQl9PTVBfREVWSUNFX1RZUEVfQU5ZCiB9 OwpAQCAtMjE3NSw3ICsyMTc2LDkgQEAgc3RhdGljIGNvbnN0IG1zdHJpbmcgYXR0cl9iaXRz W10gPQogICAgIG1pbml0ICgiT01QX1JFUV9EWU5BTUlDX0FMTE9DQVRPUlMiLCBBQl9PTVBf UkVRX0RZTkFNSUNfQUxMT0NBVE9SUyksCiAgICAgbWluaXQgKCJPTVBfUkVRX01FTV9PUkRF Ul9TRVFfQ1NUIiwgQUJfT01QX1JFUV9NRU1fT1JERVJfU0VRX0NTVCksCiAgICAgbWluaXQg KCJPTVBfUkVRX01FTV9PUkRFUl9BQ1FfUkVMIiwgQUJfT01QX1JFUV9NRU1fT1JERVJfQUNR X1JFTCksCisgICAgbWluaXQgKCJPTVBfUkVRX01FTV9PUkRFUl9BQ1FVSVJFIiwgQUJfT01Q X1JFUV9NRU1fT1JERVJfQUNRVUlSRSksCiAgICAgbWluaXQgKCJPTVBfUkVRX01FTV9PUkRF Ul9SRUxBWEVEIiwgQUJfT01QX1JFUV9NRU1fT1JERVJfUkVMQVhFRCksCisgICAgbWluaXQg KCJPTVBfUkVRX01FTV9PUkRFUl9SRUxFQVNFIiwgQUJfT01QX1JFUV9NRU1fT1JERVJfUkVM RUFTRSksCiAgICAgbWluaXQgKCJPTVBfREVWSUNFX1RZUEVfSE9TVCIsIEFCX09NUF9ERVZJ Q0VfVFlQRV9IT1NUKSwKICAgICBtaW5pdCAoIk9NUF9ERVZJQ0VfVFlQRV9OT0hPU1QiLCBB Ql9PTVBfREVWSUNFX1RZUEVfTk9IT1NUKSwKICAgICBtaW5pdCAoIk9NUF9ERVZJQ0VfVFlQ RV9BTllIT1NUIiwgQUJfT01QX0RFVklDRV9UWVBFX0FOWSksCkBAIC0yNDQyLDkgKzI0NDUs MTUgQEAgbWlvX3N5bWJvbF9hdHRyaWJ1dGUgKHN5bWJvbF9hdHRyaWJ1dGUgKmF0dHIpCiAJ ICBpZiAoKGdmY19jdXJyZW50X25zLT5vbXBfcmVxdWlyZXMgJiBPTVBfUkVRX0FUT01JQ19N RU1fT1JERVJfTUFTSykKIAkgICAgICA9PSBPTVBfUkVRX0FUT01JQ19NRU1fT1JERVJfQUNR X1JFTCkKIAkgICAgTUlPX05BTUUgKGFiX2F0dHJpYnV0ZSkgKEFCX09NUF9SRVFfTUVNX09S REVSX0FDUV9SRUwsIGF0dHJfYml0cyk7CisJICBpZiAoKGdmY19jdXJyZW50X25zLT5vbXBf cmVxdWlyZXMgJiBPTVBfUkVRX0FUT01JQ19NRU1fT1JERVJfTUFTSykKKwkgICAgICA9PSBP TVBfUkVRX0FUT01JQ19NRU1fT1JERVJfQUNRVUlSRSkKKwkgICAgTUlPX05BTUUgKGFiX2F0 dHJpYnV0ZSkgKEFCX09NUF9SRVFfTUVNX09SREVSX0FDUVVJUkUsIGF0dHJfYml0cyk7CiAJ ICBpZiAoKGdmY19jdXJyZW50X25zLT5vbXBfcmVxdWlyZXMgJiBPTVBfUkVRX0FUT01JQ19N RU1fT1JERVJfTUFTSykKIAkgICAgICA9PSBPTVBfUkVRX0FUT01JQ19NRU1fT1JERVJfUkVM QVhFRCkKIAkgICAgTUlPX05BTUUgKGFiX2F0dHJpYnV0ZSkgKEFCX09NUF9SRVFfTUVNX09S REVSX1JFTEFYRUQsIGF0dHJfYml0cyk7CisJICBpZiAoKGdmY19jdXJyZW50X25zLT5vbXBf cmVxdWlyZXMgJiBPTVBfUkVRX0FUT01JQ19NRU1fT1JERVJfTUFTSykKKwkgICAgICA9PSBP TVBfUkVRX0FUT01JQ19NRU1fT1JERVJfUkVMRUFTRSkKKwkgICAgTUlPX05BTUUgKGFiX2F0 dHJpYnV0ZSkgKEFCX09NUF9SRVFfTUVNX09SREVSX1JFTEVBU0UsIGF0dHJfYml0cyk7CiAJ fQogICAgICAgc3dpdGNoIChhdHRyLT5vbXBfZGV2aWNlX3R5cGUpCiAJewpAQCAtMjcyNCwx MSArMjczMywyMSBAQCBtaW9fc3ltYm9sX2F0dHJpYnV0ZSAoc3ltYm9sX2F0dHJpYnV0ZSAq YXR0cikKIAkJCQkJICAgImFjcV9yZWwiLCAmZ2ZjX2N1cnJlbnRfbG9jdXMsCiAJCQkJCSAg IG1vZHVsZV9uYW1lKTsKIAkgICAgICBicmVhazsKKwkgICAgY2FzZSBBQl9PTVBfUkVRX01F TV9PUkRFUl9BQ1FVSVJFOgorCSAgICAgIGdmY19vbXBfcmVxdWlyZXNfYWRkX2NsYXVzZSAo T01QX1JFUV9BVE9NSUNfTUVNX09SREVSX0FDUVVJUkUsCisJCQkJCSAgICJhY3F1aXJlcyIs ICZnZmNfY3VycmVudF9sb2N1cywKKwkJCQkJICAgbW9kdWxlX25hbWUpOworCSAgICAgIGJy ZWFrOwogCSAgICBjYXNlIEFCX09NUF9SRVFfTUVNX09SREVSX1JFTEFYRUQ6CiAJICAgICAg Z2ZjX29tcF9yZXF1aXJlc19hZGRfY2xhdXNlIChPTVBfUkVRX0FUT01JQ19NRU1fT1JERVJf UkVMQVhFRCwKIAkJCQkJICAgInJlbGF4ZWQiLCAmZ2ZjX2N1cnJlbnRfbG9jdXMsCiAJCQkJ CSAgIG1vZHVsZV9uYW1lKTsKIAkgICAgICBicmVhazsKKwkgICAgY2FzZSBBQl9PTVBfUkVR X01FTV9PUkRFUl9SRUxFQVNFOgorCSAgICAgIGdmY19vbXBfcmVxdWlyZXNfYWRkX2NsYXVz ZSAoT01QX1JFUV9BVE9NSUNfTUVNX09SREVSX1JFTEVBU0UsCisJCQkJCSAgICJyZWxlYXNl IiwgJmdmY19jdXJyZW50X2xvY3VzLAorCQkJCQkgICBtb2R1bGVfbmFtZSk7CisJICAgICAg YnJlYWs7CiAJICAgIGNhc2UgQUJfT01QX0RFVklDRV9UWVBFX0hPU1Q6CiAJICAgICAgYXR0 ci0+b21wX2RldmljZV90eXBlID0gT01QX0RFVklDRV9UWVBFX0hPU1Q7CiAJICAgICAgYnJl YWs7CmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9vcGVubXAuY2MgYi9nY2MvZm9ydHJhbi9v cGVubXAuY2MKaW5kZXggNzk0ZGYxOWE0ZDEuLjE5OTk1NzA4YzIzIDEwMDY0NAotLS0gYS9n Y2MvZm9ydHJhbi9vcGVubXAuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vb3Blbm1wLmNjCkBAIC02 MjUxLDE0ICs2MjUxLDE1IEBAIGdmY19vbXBfcmVxdWlyZXNfYWRkX2NsYXVzZSAoZ2ZjX29t cF9yZXF1aXJlc19raW5kIGNsYXVzZSwKIAkgIT0gKGludCkgY2xhdXNlKQogICAgIHsKICAg ICAgIGNvbnN0IGNoYXIgKm90aGVyOwotICAgICAgaWYgKHByb2dfdW5pdC0+b21wX3JlcXVp cmVzICYgT01QX1JFUV9BVE9NSUNfTUVNX09SREVSX1NFUV9DU1QpCi0Jb3RoZXIgPSAic2Vx X2NzdCI7Ci0gICAgICBlbHNlIGlmIChwcm9nX3VuaXQtPm9tcF9yZXF1aXJlcyAmIE9NUF9S RVFfQVRPTUlDX01FTV9PUkRFUl9BQ1FfUkVMKQotCW90aGVyID0gImFjcV9yZWwiOwotICAg ICAgZWxzZSBpZiAocHJvZ191bml0LT5vbXBfcmVxdWlyZXMgJiBPTVBfUkVRX0FUT01JQ19N RU1fT1JERVJfUkVMQVhFRCkKLQlvdGhlciA9ICJyZWxheGVkIjsKLSAgICAgIGVsc2UKLQln Y2NfdW5yZWFjaGFibGUgKCk7CisgICAgICBzd2l0Y2ggKHByb2dfdW5pdC0+b21wX3JlcXVp cmVzICYgT01QX1JFUV9BVE9NSUNfTUVNX09SREVSX01BU0spCisJeworCWNhc2UgT01QX1JF UV9BVE9NSUNfTUVNX09SREVSX1NFUV9DU1Q6IG90aGVyID0gInNlcV9jc3QiOyBicmVhazsK KwljYXNlIE9NUF9SRVFfQVRPTUlDX01FTV9PUkRFUl9BQ1FfUkVMOiBvdGhlciA9ICJhY3Ff cmVsIjsgYnJlYWs7CisJY2FzZSBPTVBfUkVRX0FUT01JQ19NRU1fT1JERVJfQUNRVUlSRTog b3RoZXIgPSAiYWNxdWlyZSI7IGJyZWFrOworCWNhc2UgT01QX1JFUV9BVE9NSUNfTUVNX09S REVSX1JFTEFYRUQ6IG90aGVyID0gInJlbGF4ZWQiOyBicmVhazsKKwljYXNlIE9NUF9SRVFf QVRPTUlDX01FTV9PUkRFUl9SRUxFQVNFOiBvdGhlciA9ICJyZWxlYXNlIjsgYnJlYWs7CisJ ZGVmYXVsdDogZ2NjX3VucmVhY2hhYmxlICgpOworCX0KIAogICAgICAgaWYgKG1vZHVsZV9u YW1lKQogCWdmY19lcnJvciAoIiEkT01QIFJFUVVJUkVTIGNsYXVzZSAlPGF0b21pY19kZWZh dWx0X21lbV9vcmRlciglcyklPiAiCkBAIC02MzcyLDE1ICs2MzczLDI1IEBAIGdmY19tYXRj aF9vbXBfcmVxdWlyZXMgKHZvaWQpCiAJICAgICAgY2xhdXNlID0gImFjcV9yZWwiOwogCSAg ICAgIHJlcXVpcmVzX2NsYXVzZSA9IE9NUF9SRVFfQVRPTUlDX01FTV9PUkRFUl9BQ1FfUkVM OwogCSAgICB9CisJICBlbHNlIGlmIChnZmNfbWF0Y2ggKCIgYWNxdWlyZSApIikgPT0gTUFU Q0hfWUVTKQorCSAgICB7CisJICAgICAgY2xhdXNlID0gImFjcXVpcmUiOworCSAgICAgIHJl cXVpcmVzX2NsYXVzZSA9IE9NUF9SRVFfQVRPTUlDX01FTV9PUkRFUl9BQ1FVSVJFOworCSAg ICB9CiAJICBlbHNlIGlmIChnZmNfbWF0Y2ggKCIgcmVsYXhlZCApIikgPT0gTUFUQ0hfWUVT KQogCSAgICB7CiAJICAgICAgY2xhdXNlID0gInJlbGF4ZWQiOwogCSAgICAgIHJlcXVpcmVz X2NsYXVzZSA9IE9NUF9SRVFfQVRPTUlDX01FTV9PUkRFUl9SRUxBWEVEOwogCSAgICB9CisJ ICBlbHNlIGlmIChnZmNfbWF0Y2ggKCIgcmVsZWFzZSApIikgPT0gTUFUQ0hfWUVTKQorCSAg ICB7CisJICAgICAgY2xhdXNlID0gInJlbGVhc2UiOworCSAgICAgIHJlcXVpcmVzX2NsYXVz ZSA9IE9NUF9SRVFfQVRPTUlDX01FTV9PUkRFUl9SRUxFQVNFOworCSAgICB9CiAJICBlbHNl CiAJICAgIHsKLQkgICAgICBnZmNfZXJyb3IgKCJFeHBlY3RlZCBTRVFfQ1NULCBBQ1FfUkVM IG9yIFJFTEFYRUQgZm9yICIKLQkJCSAiQVRPTUlDX0RFRkFVTFRfTUVNX09SREVSIGNsYXVz ZSBhdCAlQyIpOworCSAgICAgIGdmY19lcnJvciAoIkV4cGVjdGVkIEFDUV9SRUwsIEFDUVVJ UkUsIFJFTEFYRUQsIFJFTEVBU0Ugb3IgIgorCQkJICJTRVFfQ1NUIGZvciBBVE9NSUNfREVG QVVMVF9NRU1fT1JERVIgY2xhdXNlIGF0ICVDIik7CiAJICAgICAgZ290byBlcnJvcjsKIAkg ICAgfQogCX0KQEAgLTY4MjcsNiArNjgzOCwyOCBAQCBnZmNfbWF0Y2hfb21wX2F0b21pYyAo dm9pZCkKIAkgIGVsc2UKIAkgICAgYy0+bWVtb3JkZXIgPSBPTVBfTUVNT1JERVJfUkVMRUFT RTsKIAkgIGJyZWFrOworCWNhc2UgT01QX1JFUV9BVE9NSUNfTUVNX09SREVSX0FDUVVJUkU6 CisJICBpZiAoYy0+YXRvbWljX29wID09IEdGQ19PTVBfQVRPTUlDX1dSSVRFKQorCSAgICB7 CisJICAgICAgZ2ZjX2Vycm9yICgiISRPTVAgQVRPTUlDIFdSSVRFIGF0ICVMIGluY29tcGF0 aWJsZSB3aXRoICIKKwkJCSAiQUNRVUlSRVMgY2xhdXNlIGltcGxpY2l0bHkgcHJvdmlkZWQg YnkgYSAiCisJCQkgIlJFUVVJUkVTIGRpcmVjdGl2ZSIsICZsb2MpOworCSAgICAgIGMtPm1l bW9yZGVyID0gT01QX01FTU9SREVSX1NFUV9DU1Q7CisJICAgIH0KKwkgIGVsc2UKKwkgICAg Yy0+bWVtb3JkZXIgPSBPTVBfTUVNT1JERVJfQUNRVUlSRTsKKwkgIGJyZWFrOworCWNhc2Ug T01QX1JFUV9BVE9NSUNfTUVNX09SREVSX1JFTEVBU0U6CisJICBpZiAoYy0+YXRvbWljX29w ID09IEdGQ19PTVBfQVRPTUlDX1JFQUQpCisJICAgIHsKKwkgICAgICBnZmNfZXJyb3IgKCIh JE9NUCBBVE9NSUMgUkVBRCBhdCAlTCBpbmNvbXBhdGlibGUgd2l0aCAiCisJCQkgIlJFTEVB U0UgY2xhdXNlIGltcGxpY2l0bHkgcHJvdmlkZWQgYnkgYSAiCisJCQkgIlJFUVVJUkVTIGRp cmVjdGl2ZSIsICZsb2MpOworCSAgICAgIGMtPm1lbW9yZGVyID0gT01QX01FTU9SREVSX1NF UV9DU1Q7CisJICAgIH0KKwkgIGVsc2UKKwkgICAgYy0+bWVtb3JkZXIgPSBPTVBfTUVNT1JE RVJfUkVMRUFTRTsKKwkgIGJyZWFrOwogCWRlZmF1bHQ6CiAJICBnY2NfdW5yZWFjaGFibGUg KCk7CiAJfQpkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vcGFyc2UuY2MgYi9nY2MvZm9ydHJh bi9wYXJzZS5jYwppbmRleCBhYmQzYTQyNGYzOC4uYzBlODBiMWE5YzMgMTAwNjQ0Ci0tLSBh L2djYy9mb3J0cmFuL3BhcnNlLmNjCisrKyBiL2djYy9mb3J0cmFuL3BhcnNlLmNjCkBAIC03 MjY5LDEwICs3MjY5LDE4IEBAIGRvbmU6CiAgICAgICBvbXBfcmVxdWlyZXNfbWFzawogCT0g KGVudW0gb21wX3JlcXVpcmVzKSAob21wX3JlcXVpcmVzX21hc2sgfCBPTVBfTUVNT1JZX09S REVSX0FDUV9SRUwpOwogICAgICAgYnJlYWs7CisgICAgY2FzZSBPTVBfUkVRX0FUT01JQ19N RU1fT1JERVJfQUNRVUlSRToKKyAgICAgIG9tcF9yZXF1aXJlc19tYXNrCisJPSAoZW51bSBv bXBfcmVxdWlyZXMpIChvbXBfcmVxdWlyZXNfbWFzayB8IE9NUF9NRU1PUllfT1JERVJfQUNR VUlSRSk7CisgICAgICBicmVhazsKICAgICBjYXNlIE9NUF9SRVFfQVRPTUlDX01FTV9PUkRF Ul9SRUxBWEVEOgogICAgICAgb21wX3JlcXVpcmVzX21hc2sKIAk9IChlbnVtIG9tcF9yZXF1 aXJlcykgKG9tcF9yZXF1aXJlc19tYXNrIHwgT01QX01FTU9SWV9PUkRFUl9SRUxBWEVEKTsK ICAgICAgIGJyZWFrOworICAgIGNhc2UgT01QX1JFUV9BVE9NSUNfTUVNX09SREVSX1JFTEVB U0U6CisgICAgICBvbXBfcmVxdWlyZXNfbWFzaworCT0gKGVudW0gb21wX3JlcXVpcmVzKSAo b21wX3JlcXVpcmVzX21hc2sgfCBPTVBfTUVNT1JZX09SREVSX1JFTEVBU0UpOworICAgICAg YnJlYWs7CiAgICAgfQogCiAgIGlmIChvbXBfdGFyZ2V0X3NlZW4pCmRpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb21wL3JlcXVpcmVzLTMuYyBiL2djYy90ZXN0 c3VpdGUvYy1jKystY29tbW9uL2dvbXAvcmVxdWlyZXMtMy5jCmluZGV4IGJkMjQ3OWJhOGZm Li4yZmQ2MDFhY2VmYSAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24v Z29tcC9yZXF1aXJlcy0zLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29t cC9yZXF1aXJlcy0zLmMKQEAgLTEsNiArMSw2IEBACi0jcHJhZ21hIG9tcCByZXF1aXJlcyBh dG9taWNfZGVmYXVsdF9tZW1fb3JkZXIoYWNxdWlyZSkJLyogeyBkZy1lcnJvciAiZXhwZWN0 ZWQgJ3NlcV9jc3QnLCAncmVsYXhlZCcgb3IgJ2FjcV9yZWwnIiB9ICovCi0jcHJhZ21hIG9t cCByZXF1aXJlcyBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIocmVsZWFzZSkJLyogeyBkZy1l cnJvciAiZXhwZWN0ZWQgJ3NlcV9jc3QnLCAncmVsYXhlZCcgb3IgJ2FjcV9yZWwnIiB9ICov Ci0jcHJhZ21hIG9tcCByZXF1aXJlcyBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIoZm9vYmFy KQkvKiB7IGRnLWVycm9yICJleHBlY3RlZCAnc2VxX2NzdCcsICdyZWxheGVkJyBvciAnYWNx X3JlbCciIH0gKi8KLSNwcmFnbWEgb21wIHJlcXVpcmVzIGF0b21pY19kZWZhdWx0X21lbV9v cmRlciAoCS8qIHsgZGctZXJyb3IgImV4cGVjdGVkICdzZXFfY3N0JywgJ3JlbGF4ZWQnIG9y ICdhY3FfcmVsJyIgfSAqLworI3ByYWdtYSBvbXAgcmVxdWlyZXMgYXRvbWljX2RlZmF1bHRf bWVtX29yZGVyKGZvb2JhcikJLyogeyBkZy1lcnJvciAiZXhwZWN0ZWQgJ2FjcV9yZWwnLCAn YWNxdWlyZScsICdyZWxheGVkJywgJ3JlbGVhc2UnIG9yICdzZXFfY3N0JyIgfSAqLworI3By YWdtYSBvbXAgcmVxdWlyZXMgYXRvbWljX2RlZmF1bHRfbWVtX29yZGVyICgJLyogeyBkZy1l cnJvciAiZXhwZWN0ZWQgJ2FjcV9yZWwnLCAnYWNxdWlyZScsICdyZWxheGVkJywgJ3JlbGVh c2UnIG9yICdzZXFfY3N0JyIgfSAqLwogLyogeyBkZy1lcnJvciAiZXhwZWN0ZWQgJ1xcXCkn IGJlZm9yZSBlbmQgb2YgbGluZSIgIiIgeyB0YXJnZXQgKi0qLSogfSAuLTEgfSAqLwogI3By YWdtYSBvbXAgcmVxdWlyZXMgYXRvbWljX2RlZmF1bHRfbWVtX29yZGVyKHNlcV9jc3QpLAkv KiB7IGRnLWVycm9yICJleHBlY3RlZCBlbmQgb2YgbGluZSBiZWZvcmUgJywnIHRva2VuIiB9 ICovCisvKiBWYWxpZCBzaW5jZSBzaW5jZSA1LjIsIGJ1dCAuLi4gKi8KKyNwcmFnbWEgb21w IHJlcXVpcmVzIGF0b21pY19kZWZhdWx0X21lbV9vcmRlcihhY3F1aXJlKQkvKiB7IGRnLWVy cm9yICJtb3JlIHRoYW4gb25lICdhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXInIGNsYXVzZSBp biBhIHNpbmdsZSBjb21waWxhdGlvbiB1bml0IiB9ICovCmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2MtYysrLWNvbW1vbi9nb21wL3JlcXVpcmVzLTUuYyBiL2djYy90ZXN0c3VpdGUv Yy1jKystY29tbW9uL2dvbXAvcmVxdWlyZXMtNS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi41M2UwYjc1ZjFiNwotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvbXAvcmVxdWlyZXMtNS5jCkBAIC0wLDAgKzEsMjMg QEAKKy8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZmR1bXAtdHJlZS1vcmlnaW5hbCIg fSAgKi8KKworI3ByYWdtYSBvbXAgcmVxdWlyZXMgYXRvbWljX2RlZmF1bHRfbWVtX29yZGVy KHJlbGVhc2UpCisKK2ludAorZm9vIChpbnQgeCwgaW50IHkpCit7CisgIGludCB6OworCisg ICNwcmFnbWEgb21wIGF0b21pYyB3cml0ZQorICAgIHggPSB5OworCisgICNwcmFnbWEgb21w IGF0b21pYyB1cGRhdGUKKyAgICB4ICs9IDE7CisKKyAgI3ByYWdtYSBvbXAgYXRvbWljIHJl YWQgYWNxdWlyZQorICAgIHogPSB4OworICByZXR1cm4gejsKK30KKworLyogeyBkZy1maW5h bCB7IHNjYW4tdHJlZS1kdW1wICIjcHJhZ21hIG9tcCBhdG9taWMgcmVsZWFzZSIgIm9yaWdp bmFsIiB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcCAiI3ByYWdtYSBv bXAgYXRvbWljIHJlbGVhc2UiICJvcmlnaW5hbCIgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi10cmVlLWR1bXAgInogPSAjcHJhZ21hIG9tcCBhdG9taWMgcmVhZCBhY3F1aXJlIiAi b3JpZ2luYWwiIH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21t b24vZ29tcC9yZXF1aXJlcy02LmMgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNvbW1vbi9nb21w L3JlcXVpcmVzLTYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u NDQ3MGM4Y2FlMWEKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2MtYysrLWNv bW1vbi9nb21wL3JlcXVpcmVzLTYuYwpAQCAtMCwwICsxLDIzIEBACisvKiB7IGRnLWFkZGl0 aW9uYWwtb3B0aW9ucyAiLWZkdW1wLXRyZWUtb3JpZ2luYWwiIH0gICovCisKKyNwcmFnbWEg b21wIHJlcXVpcmVzIGF0b21pY19kZWZhdWx0X21lbV9vcmRlcihhY3F1aXJlKQorCitpbnQK K2JhciAoaW50IGEsIGludCBiKQoreworICBpbnQgYzsKKworICAjcHJhZ21hIG9tcCBhdG9t aWMgd3JpdGUgcmVsZWFzZQorICAgIGEgPSBiOworCisgICNwcmFnbWEgb21wIGF0b21pYyB1 cGRhdGUKKyAgICBhICs9IDE7CisKKyAgI3ByYWdtYSBvbXAgYXRvbWljIHJlYWQKKyAgICBj ID0gYTsKKyAgcmV0dXJuIGM7Cit9CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVt cCAiI3ByYWdtYSBvbXAgYXRvbWljIHJlbGVhc2UiICJvcmlnaW5hbCIgfSB9ICovCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAgIiNwcmFnbWEgb21wIGF0b21pYyBhY3F1aXJl IiAib3JpZ2luYWwiIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wICJj ID0gI3ByYWdtYSBvbXAgYXRvbWljIHJlYWQgYWNxdWlyZSIgIm9yaWdpbmFsIiB9IH0gKi8K ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvYy1jKystY29tbW9uL2dvbXAvcmVxdWlyZXMt Ny5jIGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29tcC9yZXF1aXJlcy03LmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjQ3MzVlZjJhNmUwCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1jb21tb24vZ29tcC9yZXF1aXJl cy03LmMKQEAgLTAsMCArMSwxMSBAQAorI3ByYWdtYSBvbXAgcmVxdWlyZXMgYXRvbWljX2Rl ZmF1bHRfbWVtX29yZGVyKHJlbGVhc2UpCisKK2ludAorZm9vIChpbnQgeCkKK3sKKyAgaW50 IHo7CisKKyAgI3ByYWdtYSBvbXAgYXRvbWljIHJlYWQgLyogeyBkZy1lcnJvciAiJyNwcmFn bWEgb21wIGF0b21pYyByZWFkJyBpbmNvbXBhdGlibGUgd2l0aCAncmVsZWFzZScgY2xhdXNl IGltcGxpY2l0bHkgcHJvdmlkZWQgYnkgYSAncmVxdWlyZXMnIGRpcmVjdGl2ZSIgfSAqLwor ICAgIHogPSB4OworICByZXR1cm4gejsKK30KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Yy1jKystY29tbW9uL2dvbXAvcmVxdWlyZXMtOC5jIGIvZ2NjL3Rlc3RzdWl0ZS9jLWMrKy1j b21tb24vZ29tcC9yZXF1aXJlcy04LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjRkNTZlN2QzM2U5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9jLWMrKy1jb21tb24vZ29tcC9yZXF1aXJlcy04LmMKQEAgLTAsMCArMSwxNCBAQAorI3By YWdtYSBvbXAgcmVxdWlyZXMgYXRvbWljX2RlZmF1bHRfbWVtX29yZGVyKGFjcXVpcmUpCisK K2ludAorYmFyIChpbnQgYSwgaW50IGIpCit7CisgIGludCBjOworCisgICNwcmFnbWEgb21w IGF0b21pYyB3cml0ZSAvKiB7IGRnLWVycm9yICInI3ByYWdtYSBvbXAgYXRvbWljIHdyaXRl JyBpbmNvbXBhdGlibGUgd2l0aCAnYWNxdWlyZScgY2xhdXNlIGltcGxpY2l0bHkgcHJvdmlk ZWQgYnkgYSAncmVxdWlyZXMnIGRpcmVjdGl2ZSIgfSAqLworICAgIGEgPSBiOworCisgICNw cmFnbWEgb21wIGF0b21pYyByZWFkCisgICAgYyA9IGE7CisgIHJldHVybiBjOworfQpkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3JlcXVpcmVzLTEwLmY5 MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9yZXF1aXJlcy0xMC5mOTAKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmU5MTJlM2U4NjdmCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3JlcXVpcmVz LTEwLmY5MApAQCAtMCwwICsxLDM2IEBACishIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICIt ZmR1bXAtdHJlZS1vcmlnaW5hbCIgfQorCitmdW5jdGlvbiBmb28gKHgsIHkpIHJlc3VsdCAo eikKKyAgISRvbXAgcmVxdWlyZXMgYXRvbWljX2RlZmF1bHRfbWVtX29yZGVyKHJlbGVhc2Up CisgIGltcGxpY2l0IG5vbmUKKyAgcmVhbCA6OiB4LCB5LCB6CisKKyAgISRvbXAgYXRvbWlj IHdyaXRlCisgICAgeCA9IHkKKworICAhJG9tcCBhdG9taWMgdXBkYXRlCisgICAgeCA9IHgg KyAxCisKKyAgISRvbXAgYXRvbWljIHJlYWQgYWNxdWlyZQorICAgIHogPSB4CitlbmQKKwor ZnVuY3Rpb24gYmFyIChhLCBiKSByZXN1bHQgKGMpCisgICEkb21wIHJlcXVpcmVzIGF0b21p Y19kZWZhdWx0X21lbV9vcmRlcihhY3F1aXJlKQorICBpbXBsaWNpdCBub25lCisgIHJlYWwg OjogYSwgYiwgYworCisgICEkb21wIGF0b21pYyB3cml0ZSByZWxlYXNlCisgICAgYSA9IGIK KworICAhJG9tcCBhdG9taWMgdXBkYXRlCisgICAgYSA9IGEgKyAxCisKKyAgISRvbXAgYXRv bWljIHJlYWQKKyAgICBjID0gYQorZW5kCisKKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1k dW1wLXRpbWVzICIjcHJhZ21hIG9tcCBhdG9taWMgcmVsZWFzZSIgMyAib3JpZ2luYWwiIH0g fSAqLworISB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtdGltZXMgIiNwcmFnbWEgb21w IGF0b21pYyBhY3F1aXJlIiAxICJvcmlnaW5hbCIgfSB9ICovCishIHsgZGctZmluYWwgeyBz Y2FuLXRyZWUtZHVtcC10aW1lcyAieiA9ICNwcmFnbWEgb21wIGF0b21pYyByZWFkIGFjcXVp cmUiIDEgIm9yaWdpbmFsIiB9IH0gKi8KKyEgeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1w LXRpbWVzICJjID0gI3ByYWdtYSBvbXAgYXRvbWljIHJlYWQgYWNxdWlyZSIgMSAib3JpZ2lu YWwiIH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21w L3JlcXVpcmVzLTExLmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9yZXF1 aXJlcy0xMS5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmM1 NTAwOWQ1ZDI2Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9nb21wL3JlcXVpcmVzLTExLmY5MApAQCAtMCwwICsxLDMxIEBACitmdW5jdGlvbiBmb28g KHgsIHkpIHJlc3VsdCAoeikKKyAgISRvbXAgcmVxdWlyZXMgYXRvbWljX2RlZmF1bHRfbWVt X29yZGVyKHJlbGVhc2UpCisgIGltcGxpY2l0IG5vbmUKKyAgcmVhbCA6OiB4LCB5LCB6CisK KyAgISRvbXAgYXRvbWljIHdyaXRlCisgICAgeCA9IHkKKworICAhJG9tcCBhdG9taWMgdXBk YXRlCisgICAgeCA9IHggKyAxCisKKyAgISRvbXAgYXRvbWljIHJlYWQgICEgeyBkZy1lcnJv ciAiIS5PTVAgQVRPTUlDIFJFQUQgYXQgLjEuIGluY29tcGF0aWJsZSB3aXRoIFJFTEVBU0Ug Y2xhdXNlIGltcGxpY2l0bHkgcHJvdmlkZWQgYnkgYSBSRVFVSVJFUyBkaXJlY3RpdmUiIH0K KyAgICB6ID0geAorZW5kCisKK2Z1bmN0aW9uIGJhciAoYSwgYikgcmVzdWx0IChjKQorICAh JG9tcCByZXF1aXJlcyBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIoYWNxdWlyZSkKKyAgaW1w bGljaXQgbm9uZQorICByZWFsIDo6IGEsIGIsIGMKKworICAhJG9tcCBhdG9taWMgd3JpdGUg ICEgeyBkZy1lcnJvciAiIS5PTVAgQVRPTUlDIFdSSVRFIGF0IC4xLiBpbmNvbXBhdGlibGUg d2l0aCBBQ1FVSVJFUyBjbGF1c2UgaW1wbGljaXRseSBwcm92aWRlZCBieSBhIFJFUVVJUkVT IGRpcmVjdGl2ZSIgfQorICAgIGEgPSBiCisKKyAgISRvbXAgYXRvbWljIHVwZGF0ZQorICAg IGEgPSBhICsgMQorCisgICEkb21wIGF0b21pYyByZWFkCisgICAgYyA9IGEKK2VuZAorCisK ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9yZXF1aXJlcy0y LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9yZXF1aXJlcy0yLmY5MApp bmRleCA3YjYzZDRhOGIzYi4uNWYxMWE3YmZiMmEgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZ29tcC9yZXF1aXJlcy0yLmY5MAorKysgYi9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2dvbXAvcmVxdWlyZXMtMi5mOTAKQEAgLTgsNyArOCw3IEBACiAhJG9t cCByZXF1aXJlcyBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIgKHNlcV9jc3QpCiAhJG9tcCBy ZXF1aXJlcyBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIgKHNlcV9jc3QpCiAhJG9tcCByZXF1 aXJlcyBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIgKGFjcV9yZWwpICEgeyBkZy1lcnJvciAi b3ZlcnJpZGVzIGEgcHJldmlvdXMgJ2F0b21pY19kZWZhdWx0X21lbV9vcmRlclxcKHNlcV9j c3RcXCknIiB9Ci0hJG9tcCByZXF1aXJlcyBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIgKGZv bykgISB7IGRnLWVycm9yICJFeHBlY3RlZCBTRVFfQ1NULCBBQ1FfUkVMIG9yIFJFTEFYRUQg Zm9yIEFUT01JQ19ERUZBVUxUX01FTV9PUkRFUiBjbGF1c2UiIH0KKyEkb21wIHJlcXVpcmVz IGF0b21pY19kZWZhdWx0X21lbV9vcmRlciAoZm9vKSAhIHsgZGctZXJyb3IgIkV4cGVjdGVk IEFDUV9SRUwsIEFDUVVJUkUsIFJFTEFYRUQsIFJFTEVBU0Ugb3IgU0VRX0NTVCBmb3IgQVRP TUlDX0RFRkFVTFRfTUVNX09SREVSIGNsYXVzZSIgfQogZW5kCiAKICEgeyBkZy1wcnVuZS1v dXRwdXQgIm5vdCB5ZXQgc3VwcG9ydGVkIiB9CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2dvbXAvcmVxdWlyZXMtMy5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2dvbXAvcmVxdWlyZXMtMy5mOTAKaW5kZXggNDQyOWFhYjJlZTYuLjhjOWQ2ZWQz YjIxIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvcmVxdWly ZXMtMy5mOTAKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3JlcXVpcmVz LTMuZjkwCkBAIC0xLDQgKzEsNSBAQAotISRvbXAgcmVxdWlyZXMgYXRvbWljX2RlZmF1bHRf bWVtX29yZGVyKGFjcXVpcmUpCSEgeyBkZy1lcnJvciAiRXhwZWN0ZWQgU0VRX0NTVCwgQUNR X1JFTCBvciBSRUxBWEVEIGZvciBBVE9NSUNfREVGQVVMVF9NRU1fT1JERVIgY2xhdXNlIiB9 Ci0hJG9tcCByZXF1aXJlcyBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIocmVsZWFzZSkJISB7 IGRnLWVycm9yICJFeHBlY3RlZCBTRVFfQ1NULCBBQ1FfUkVMIG9yIFJFTEFYRUQgZm9yIEFU T01JQ19ERUZBVUxUX01FTV9PUkRFUiBjbGF1c2UiIH0KLSEkb21wIHJlcXVpcmVzIGF0b21p Y19kZWZhdWx0X21lbV9vcmRlcihmb29iYXIpCSEgeyBkZy1lcnJvciAiRXhwZWN0ZWQgU0VR X0NTVCwgQUNRX1JFTCBvciBSRUxBWEVEIGZvciBBVE9NSUNfREVGQVVMVF9NRU1fT1JERVIg Y2xhdXNlIiB9CishJG9tcCByZXF1aXJlcyBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIoZm9v YmFyKQkhIHsgZGctZXJyb3IgIkV4cGVjdGVkIEFDUV9SRUwsIEFDUVVJUkUsIFJFTEFYRUQs IFJFTEVBU0Ugb3IgU0VRX0NTVCBmb3IgQVRPTUlDX0RFRkFVTFRfTUVNX09SREVSIGNsYXVz ZSIgfQorCishJG9tcCByZXF1aXJlcyBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIoYWNxdWly ZSkJISBPSyBzaW5jZSBPcGVuTVAgNS4yCishJG9tcCByZXF1aXJlcyBhdG9taWNfZGVmYXVs dF9tZW1fb3JkZXIocmVsZWFzZSkJISB7IGRnLWVycm9yICIhLk9NUCBSRVFVSVJFUyBjbGF1 c2UgJ2F0b21pY19kZWZhdWx0X21lbV9vcmRlclxcKHJlbGVhc2VcXCknIHNwZWNpZmllZCBh dCAuMS4gb3ZlcnJpZGVzIGEgcHJldmlvdXMgJ2F0b21pY19kZWZhdWx0X21lbV9vcmRlclxc KGFjcXVpcmVcXCknIFxcKHdoaWNoIG1pZ2h0IGJlIHRocm91Z2ggdXNpbmcgYSBtb2R1bGVc XCkiIH0KIGVuZApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21w L3JlcXVpcmVzLTUuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3JlcXVp cmVzLTUuZjkwCmluZGV4IGFkZTJhMzYxM2M2Li5lNzE5ZTkyOTI5NCAxMDA2NDQKLS0tIGEv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3JlcXVpcmVzLTUuZjkwCisrKyBiL2dj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9yZXF1aXJlcy01LmY5MApAQCAtOCw3ICs4 LDcgQEAgc3Vicm91dGluZSBmb28KICEkb21wIHJlcXVpcmVzIHVuaWZpZWRfc2hhcmVkX21l bW9yeQogISRvbXAgcmVxdWlyZXMgYXRvbWljX2RlZmF1bHRfbWVtX29yZGVyKHJlbGF4ZWQp CiAhJG9tcCByZXF1aXJlcyBhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXIocmVsYXhlZCkKLSEk b21wIHJlcXVpcmVzIGF0b21pY19kZWZhdWx0X21lbV9vcmRlcihzZXFfY3N0KSAhIHsgZGct ZXJyb3IgIm92ZXJyaWRlcyBhIHByZXZpb3VzICdhdG9taWNfZGVmYXVsdF9tZW1fb3JkZXJc XChzZXFfY3N0XFwpJyIgfQorISRvbXAgcmVxdWlyZXMgYXRvbWljX2RlZmF1bHRfbWVtX29y ZGVyKHNlcV9jc3QpICEgeyBkZy1lcnJvciAib3ZlcnJpZGVzIGEgcHJldmlvdXMgJ2F0b21p Y19kZWZhdWx0X21lbV9vcmRlclxcKHJlbGF4ZWRcXCknIiB9CiAgICEkb21wIHRhcmdldAog ICAhJG9tcCBlbmQgdGFyZ2V0CiBlbmQK --------------iBQTYxcgztIFFG2x0wnY0oAS--