From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) by sourceware.org (Postfix) with ESMTPS id E6955385701B for ; Fri, 16 Jun 2023 07:47:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E6955385701B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp62t1686901654tc8n8anl Received: from LAPTOP-EPITNQBU ( [58.60.1.5]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 16 Jun 2023 15:47:33 +0800 (CST) X-QQ-SSF: 01400000000000G0S000000A0000000 X-QQ-FEAT: W+onFc5Tw4Mmbaszzcs0fo4v7iYlDpTCvcc1wtFcf8De2wz4Z9hD4dtNNb2Ex Hv7WO0IybHJ18hh8zXc7YENgIuS4rp4htsSwjH+2NMlRJZzYJexUFMlXMDfB+bAgTUPABEn UcHKRDSpUa6C85pmBUut4MXyN5HpIb/8FmGKPSUXNEaSMDf1J1SR1m/Tm7Jlh45sfpIqrpm EHWH9JLEIrVbqvmPrGL9ixtczQ6JlK7KwGsn3LVs3yJCJj6CTPpSMAMyedhW+bY3SecLyNg t05OCmy5COPEMdFFcLF9gd0OPtuZeG+psmuOUldcEDmUlnVlRiSJOzLOrkrlmKO0T9F64+e GSdIyl9Qui+UP0P/8/89O7+24XBXpxDo1UJbbEDahXPPS0e8paQneJTQU+kPKP19JLdy60z QdHGfyB8fL3XwppVhwQqMg== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 9006586459723476665 Date: Fri, 16 Jun 2023 15:47:34 +0800 From: "juzhe.zhong@rivai.ai" To: pan2.li , gcc-patches Cc: "Robin Dapp" , jeffreyalaw , pan2.li , yanzhang.wang , kito.cheng Subject: Re: [PATCH v1] RISC-V: Bugfix for RVV integer reduction in ZVE32/64. References: <20230616072834.3754201-1-pan2.li@intel.com> X-Priority: 3 X-GUID: E98CE556-9C0E-4876-92E2-74B465988FED X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <7EE250C8ACA728FB+20230616154733852295101@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart814006667838_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,MIME_BASE64_TEXT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_001_NextPart814006667838_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 Ky8qIE5vbnplcm8gaWYgTU9ERSBpcyBhIHZlY3RvciBmbG9hdCBtb2RlLiAg Ki8KKyNkZWZpbmUgVkVDVE9SX0ZMT0FUX01PREVfUChNT0RFKQkJCVwKKyAg KEdFVF9NT0RFX0NMQVNTIChNT0RFKSA9PSBNT0RFX1ZFQ1RPUl9GTE9BVCkJ DQpXaHkgeW91IGFkZCB0aGlzPw0KDQpSZW1vdmUgaXQuIE90aGVyd2lzZSwg TEdUTS4NCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0KRnJvbTogcGFu Mi5saQ0KRGF0ZTogMjAyMy0wNi0xNiAxNToyOA0KVG86IGdjYy1wYXRjaGVz DQpDQzoganV6aGUuemhvbmc7IHJkYXBwLmdjYzsgamVmZnJleWFsYXc7IHBh bjIubGk7IHlhbnpoYW5nLndhbmc7IGtpdG8uY2hlbmcNClN1YmplY3Q6IFtQ QVRDSCB2MV0gUklTQy1WOiBCdWdmaXggZm9yIFJWViBpbnRlZ2VyIHJlZHVj dGlvbiBpbiBaVkUzMi82NC4NCkZyb206IFBhbiBMaSA8cGFuMi5saUBpbnRl bC5jb20+DQogDQpUaGUgcnZ2IGludGVnZXIgcmVkdWN0aW9uIGhhcyAzIGRp ZmZlcmVudCBwYXR0ZXJucyBmb3IgenZlMTI4KywgenZlNjQNCmFuZCB6dmUz Mi4gVGhleSB0YWtlIHRoZSBzYW1lIGl0ZXJhdG9yIHdpdGggZGlmZmVyZW50 IGF0dHJpYnV0aW9ucy4NCkhvd2V2ZXIsIHdlIG5lZWQgdGhlIGdlbmVyYXRl ZCBmdW5jdGlvbiBjb2RlX2Zvcl9yZWR1YyAoY29kZSwgbW9kZTEsIG1vZGUy KS4NClRoZSBpbXBsZW1lbnRhdGlvbiBvZiBjb2RlX2Zvcl9yZWR1YyBtYXkg bG9vayBsaWtlIGJlbG93Lg0KIA0KY29kZV9mb3JfcmVkdWMgKGNvZGUsIG1v ZGUxLCBtb2RlMikNCnsNCiAgaWYgKGNvZGUgPT0gbWF4ICYmIG1vZGUxID09 IFZOeDFRSSAmJiBtb2RlMiA9PSBWTngxUUkpDQogICAgcmV0dXJuIENPREVf Rk9SX3ByZWRfcmVkdWNfbWF4dm54MXFpdm54MTZxaTsgLy8gWlZFMTI4Kw0K IA0KICBpZiAoY29kZSA9PSBtYXggJiYgbW9kZTEgPT0gVk54MVFJICYmIG1v ZGUyID09IFZOeDFRSSkNCiAgICByZXR1cm4gQ09ERV9GT1JfcHJlZF9yZWR1 Y19tYXh2bngxcWl2bng4cWk7ICAvLyBaVkU2NA0KIA0KICBpZiAoY29kZSA9 PSBtYXggJiYgbW9kZTEgPT0gVk54MVFJICYmIG1vZGUyID09IFZOeDFRSSkN CiAgICByZXR1cm4gQ09ERV9GT1JfcHJlZF9yZWR1Y19tYXh2bngxcWl2bng0 cWk7ICAvLyBaVkUzMg0KfQ0KIA0KVGh1cyB0aGVyZSB3aWxsIGJlIGEgcHJv YmxlbSBoZXJlLiBGb3IgZXhhbXBsZSB6dmUzMiwgd2Ugd2lsbCBoYXZlDQpj b2RlX2Zvcl9yZWR1YyAobWF4LCBWTngxUUksIFZOeDFRSSkgd2hpY2ggd2ls bCByZXR1cm4gdGhlIGNvZGUgb2YNCnRoZSBaVkUxMjgrIGluc3RlYWQgb2Yg dGhlIFpWRTMyIGxvZ2ljYWxseS4NCiANClRoaXMgcGF0Y2ggd2lsbCBtZXJn ZSB0aGUgMyBwYXR0ZXJucyBpbnRvIG9uZSBwYXR0ZXJuLCBhbmQgcGFzcyBi b3RoIHRoZQ0KaW5wdXRfdmVjdG9yIGFuZCB0aGUgcmV0X3ZlY3RvciBvZiBj b2RlX2Zvcl9yZWR1Yy4gRm9yIGV4YW1wbGUsIFpWRTMyIHdpbGwgYmUNCmNv ZGVfZm9yX3JlZHVjIChtYXgsIFZOeDFRMSwgVk54NFFJKSwgdGhlbiB0aGUg Y29ycmVjdCBjb2RlIG9mIFpWRTMyDQp3aWxsIGJlIHJldHVybmVkIGFzIGV4 cGVjdGF0aW9uLg0KIA0KU2lnbmVkLW9mZi1ieTogUGFuIExpIDxwYW4yLmxp QGludGVsLmNvbT4NCkNvLUF1dGhvcmVkIGJ5OiBKdXpoZS1aaG9uZyA8anV6 aGUuemhvbmdAcml2YWkuYWk+DQogDQpQUiAxMTAyNjUNCiANCmdjYy9DaGFu Z2VMb2c6DQpQUiB0YXJnZXQvMTEwMjY1DQoqIGNvbmZpZy9yaXNjdi9yaXNj di12ZWN0b3ItYnVpbHRpbnMtYmFzZXMuY2M6IEFkZCByZXRfbW9kZSBmb3IN CmludGVnZXIgcmVkdWN0aW9uIGV4cGFuZC4NCiogY29uZmlnL3Jpc2N2L3Zl Y3Rvci1pdGVyYXRvcnMubWQ6IEFkZCBWUUksIFZISSwgVlNJIGFuZCBWREks DQphbmQgdGhlIExNVUwxIGF0dHIgcmVzcGVjdGl2ZWx5Lg0KKiBjb25maWcv cmlzY3YvdmVjdG9yLm1kLg0KKEBwcmVkX3JlZHVjXzxyZWR1Yz48bW9kZT48 dmxtdWwxPik6IFJlbW92ZWQuDQooQHByZWRfcmVkdWNfPHJlZHVjPjxtb2Rl Pjx2bG11bDFfenZlNjQ+KTogTGlrZXdpc2UuDQooQHByZWRfcmVkdWNfPHJl ZHVjPjxtb2RlPjx2bG11bDFfenZlMzI+KTogTGlrZXdpc2UuDQooQHByZWRf cmVkdWNfPHJlZHVjPjxWUUk6bW9kZT48VlFJX0xNVUwxOm1vZGU+KTogTmV3 IHBhdHRlcm4uDQooQHByZWRfcmVkdWNfPHJlZHVjPjxWSEk6bW9kZT48VkhJ X0xNVUwxOm1vZGU+KTogTGlrZXdpc2UuDQooQHByZWRfcmVkdWNfPHJlZHVj PjxWU0k6bW9kZT48VlNJX0xNVUwxOm1vZGU+KTogTGlrZXdpc2UuDQooQHBy ZWRfcmVkdWNfPHJlZHVjPjxWREk6bW9kZT48VkRJX0xNVUwxOm1vZGU+KTog TGlrZXdpc2UuDQoqIG1hY2htb2RlLmggKFZFQ1RPUl9GTE9BVF9NT0RFX1Ap OiBOZXcgbWFjcm8uDQogDQpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoNClBS IHRhcmdldC8xMTAyNjUNCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9w cjExMDI2NS0xLmM6IE5ldyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2 di9iYXNlL3ByMTEwMjY1LTEuaDogTmV3IHRlc3QuDQoqIGdjYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNjUtMi5jOiBOZXcgdGVzdC4NCiogZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMDI2NS0yLmg6IE5ldyB0ZXN0 Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjY1LTMuYzog TmV3IHRlc3QuDQotLS0NCi4uLi9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRp bnMtYmFzZXMuY2MgICAgICB8ICAxMyArLQ0KZ2NjL2NvbmZpZy9yaXNjdi92 ZWN0b3ItaXRlcmF0b3JzLm1kICAgICAgICAgIHwgIDYxICsrKysrDQpnY2Mv Y29uZmlnL3Jpc2N2L3ZlY3Rvci5tZCAgICAgICAgICAgICAgICAgICAgfCAy MDggKysrKysrKysrKysrKy0tLS0tDQpnY2MvbWFjaG1vZGUuaCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKw0KLi4uL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNjUtMS5jICAgIHwgIDEzICsrDQou Li4vZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMDI2NS0xLmggICAg fCAgNjUgKysrKysrDQouLi4vZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9w cjExMDI2NS0yLmMgICAgfCAgMTQgKysNCi4uLi9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3ByMTEwMjY1LTIuaCAgICB8ICA1NyArKysrKw0KLi4uL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNjUtMy5jICAgIHwgIDE0 ICsrDQo5IGZpbGVzIGNoYW5nZWQsIDM4OSBpbnNlcnRpb25zKCspLCA2MCBk ZWxldGlvbnMoLSkNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNjUtMS5jDQpjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3ByMTEwMjY1LTEuaA0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMDI2 NS0yLmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNjUtMi5oDQpjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9i YXNlL3ByMTEwMjY1LTMuYw0KIA0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcv cmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmNjIGIvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtYmFzZXMuY2MNCmlu ZGV4IDg3YTY4NGRkMTI3Li5hNzc5MzNkNjBkNSAxMDA2NDQNCi0tLSBhL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmNj DQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlu cy1iYXNlcy5jYw0KQEAgLTEzOTYsOCArMTM5NiwxNyBAQCBwdWJsaWM6DQog ICBydHggZXhwYW5kIChmdW5jdGlvbl9leHBhbmRlciAmZSkgY29uc3Qgb3Zl cnJpZGUNCiAgIHsNCi0gICAgcmV0dXJuIGUudXNlX2V4YWN0X2luc24gKA0K LSAgICAgIGNvZGVfZm9yX3ByZWRfcmVkdWMgKENPREUsIGUudmVjdG9yX21v ZGUgKCksIGUudmVjdG9yX21vZGUgKCkpKTsNCisgICAgbWFjaGluZV9tb2Rl IG1vZGUgPSBlLnZlY3Rvcl9tb2RlICgpOw0KKyAgICBtYWNoaW5lX21vZGUg cmV0X21vZGUgPSBlLnJldF9tb2RlICgpOw0KKw0KKyAgICAvKiBUT0RPOiB3 ZSB3aWxsIHVzZSByZXRfbW9kZSBhZnRlciBhbGwgdHlwZXMgb2YgUFIxMTAy NjUgYXJlIGFkZHJlc3NlZC4gICovDQorICAgIGlmIChWRUNUT1JfRkxPQVRf TU9ERV9QIChtb2RlKQ0KKyAgICAgICB8fCBHRVRfTU9ERV9JTk5FUiAobW9k ZSkgIT0gR0VUX01PREVfSU5ORVIgKHJldF9tb2RlKSkNCisgICAgICByZXR1 cm4gZS51c2VfZXhhY3RfaW5zbiAoDQorIGNvZGVfZm9yX3ByZWRfcmVkdWMg KENPREUsIGUudmVjdG9yX21vZGUgKCksIGUudmVjdG9yX21vZGUgKCkpKTsN CisgICAgZWxzZQ0KKyAgICAgIHJldHVybiBlLnVzZV9leGFjdF9pbnNuICgN CisgY29kZV9mb3JfcHJlZF9yZWR1YyAoQ09ERSwgZS52ZWN0b3JfbW9kZSAo KSwgZS5yZXRfbW9kZSAoKSkpOw0KICAgfQ0KfTsNCmRpZmYgLS1naXQgYS9n Y2MvY29uZmlnL3Jpc2N2L3ZlY3Rvci1pdGVyYXRvcnMubWQgYi9nY2MvY29u ZmlnL3Jpc2N2L3ZlY3Rvci1pdGVyYXRvcnMubWQNCmluZGV4IDhjNzFjOWUy MmNjLi5lMmM4YWRlOThlYiAxMDA2NDQNCi0tLSBhL2djYy9jb25maWcvcmlz Y3YvdmVjdG9yLWl0ZXJhdG9ycy5tZA0KKysrIGIvZ2NjL2NvbmZpZy9yaXNj di92ZWN0b3ItaXRlcmF0b3JzLm1kDQpAQCAtOTI5LDYgKzkyOSw2NyBAQCAo ZGVmaW5lX21vZGVfaXRlcmF0b3IgVjY0VCBbDQogICAoVk54Mng2NFFJICJU QVJHRVRfTUlOX1ZMRU4gPj0gMTI4IikNCl0pDQorKGRlZmluZV9tb2RlX2l0 ZXJhdG9yIFZRSSBbDQorICAoVk54MVFJICJUQVJHRVRfTUlOX1ZMRU4gPCAx MjgiKQ0KKyAgVk54MlFJDQorICBWTng0UUkNCisgIFZOeDhRSQ0KKyAgVk54 MTZRSQ0KKyAgVk54MzJRSQ0KKyAgKFZOeDY0UUkgIlRBUkdFVF9NSU5fVkxF TiA+IDMyIikNCisgIChWTngxMjhRSSAiVEFSR0VUX01JTl9WTEVOID49IDEy OCIpDQorXSkNCisNCisoZGVmaW5lX21vZGVfaXRlcmF0b3IgVkhJIFsNCisg IChWTngxSEkgIlRBUkdFVF9NSU5fVkxFTiA8IDEyOCIpDQorICBWTngySEkN CisgIFZOeDRISQ0KKyAgVk54OEhJDQorICBWTngxNkhJDQorICAoVk54MzJI SSAiVEFSR0VUX01JTl9WTEVOID4gMzIiKQ0KKyAgKFZOeDY0SEkgIlRBUkdF VF9NSU5fVkxFTiA+PSAxMjgiKQ0KK10pDQorDQorKGRlZmluZV9tb2RlX2l0 ZXJhdG9yIFZTSSBbDQorICAoVk54MVNJICJUQVJHRVRfTUlOX1ZMRU4gPCAx MjgiKQ0KKyAgVk54MlNJDQorICBWTng0U0kNCisgIFZOeDhTSQ0KKyAgKFZO eDE2U0kgIlRBUkdFVF9NSU5fVkxFTiA+IDMyIikNCisgIChWTngzMlNJICJU QVJHRVRfTUlOX1ZMRU4gPj0gMTI4IikNCitdKQ0KKw0KKyhkZWZpbmVfbW9k ZV9pdGVyYXRvciBWREkgWw0KKyAgKFZOeDFESSAiVEFSR0VUX1ZFQ1RPUl9F TEVOXzY0ICYmIFRBUkdFVF9NSU5fVkxFTiA8IDEyOCIpDQorICAoVk54MkRJ ICJUQVJHRVRfVkVDVE9SX0VMRU5fNjQiKQ0KKyAgKFZOeDRESSAiVEFSR0VU X1ZFQ1RPUl9FTEVOXzY0IikNCisgIChWTng4REkgIlRBUkdFVF9WRUNUT1Jf RUxFTl82NCIpDQorICAoVk54MTZESSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0 ICYmIFRBUkdFVF9NSU5fVkxFTiA+PSAxMjgiKQ0KK10pDQorDQorKGRlZmlu ZV9tb2RlX2l0ZXJhdG9yIFZRSV9MTVVMMSBbDQorICAoVk54MTZRSSAiVEFS R0VUX01JTl9WTEVOID49IDEyOCIpDQorICAoVk54OFFJICJUQVJHRVRfTUlO X1ZMRU4gPT0gNjQiKQ0KKyAgKFZOeDRRSSAiVEFSR0VUX01JTl9WTEVOID09 IDMyIikNCitdKQ0KKw0KKyhkZWZpbmVfbW9kZV9pdGVyYXRvciBWSElfTE1V TDEgWw0KKyAgKFZOeDhISSAiVEFSR0VUX01JTl9WTEVOID49IDEyOCIpDQor ICAoVk54NEhJICJUQVJHRVRfTUlOX1ZMRU4gPT0gNjQiKQ0KKyAgKFZOeDJI SSAiVEFSR0VUX01JTl9WTEVOID09IDMyIikNCitdKQ0KKw0KKyhkZWZpbmVf bW9kZV9pdGVyYXRvciBWU0lfTE1VTDEgWw0KKyAgKFZOeDRTSSAiVEFSR0VU X01JTl9WTEVOID49IDEyOCIpDQorICAoVk54MlNJICJUQVJHRVRfTUlOX1ZM RU4gPT0gNjQiKQ0KKyAgKFZOeDFTSSAiVEFSR0VUX01JTl9WTEVOID09IDMy IikNCitdKQ0KKw0KKyhkZWZpbmVfbW9kZV9pdGVyYXRvciBWRElfTE1VTDEg Ww0KKyAgKFZOeDJESSAiVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0ICYmIFRBUkdF VF9NSU5fVkxFTiA+PSAxMjgiKQ0KKyAgKFZOeDFESSAiVEFSR0VUX1ZFQ1RP Ul9FTEVOXzY0ICYmIFRBUkdFVF9NSU5fVkxFTiA9PSA2NCIpDQorXSkNCisN CihkZWZpbmVfbW9kZV9hdHRyIFZMTVVMWDIgWw0KICAgKFZOeDFRSSAiVk54 MlFJIikgKFZOeDJRSSAiVk54NFFJIikgKFZOeDRRSSAiVk54OFFJIikgKFZO eDhRSSAiVk54MTZRSSIpIChWTngxNlFJICJWTngzMlFJIikgKFZOeDMyUUkg IlZOeDY0UUkiKSAoVk54NjRRSSAiVk54MTI4UUkiKQ0KICAgKFZOeDFISSAi Vk54MkhJIikgKFZOeDJISSAiVk54NEhJIikgKFZOeDRISSAiVk54OEhJIikg KFZOeDhISSAiVk54MTZISSIpIChWTngxNkhJICJWTngzMkhJIikgKFZOeDMy SEkgIlZOeDY0SEkiKQ0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3Yv dmVjdG9yLm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi92ZWN0b3IubWQNCmluZGV4 IDFkMTg0N2JkODVhLi5kMzk2ZTI3ODUwMyAxMDA2NDQNCi0tLSBhL2djYy9j b25maWcvcmlzY3YvdmVjdG9yLm1kDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2 L3ZlY3Rvci5tZA0KQEAgLTcyNDQsNzYgKzcyNDQsMTY4IEBAIChkZWZpbmVf aW5zbiAiQHByZWRfcm9kX3RydW5jPG1vZGU+Ig0KOzsgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KOzsgRm9yIHJlZHVjdGlvbiBvcGVy YXRpb25zLCB3ZSBzaG91bGQgaGF2ZSBzZXBlcmF0ZSBwYXR0ZXJucyBmb3IN Ci07OyBUQVJHRVRfTUlOX1ZMRU4gPT0gMzIgYW5kIFRBUkdFVF9NSU5fVkxF TiA+IDMyLg0KKzs7IGRpZmZlcmVudCB0eXBlcy4gRm9yIGVhY2ggdHlwZSwg d2Ugd2lsbCBjb3ZlciBNSU5fVkxFTiA9PSAzMiwgTUlOX1ZMRU4gPT0gNjQN Cis7OyBhbmQgdGhlIE1JTl9WTEVOID49IDEyOCBmcm9tIHRoZSB3ZWxsIGRl ZmluZWQgaXRlcmF0b3JzLg0KOzsgU2luY2UgcmVkdWN0aW9uIG5lZWQgTE1V TCA9IDEgc2NhbGFyIG9wZXJhbmQgYXMgdGhlIGlucHV0IG9wZXJhbmQNCjs7 IGFuZCB0aGV5IGFyZSBkaWZmZXJlbnQuDQo7OyBGb3IgZXhhbXBsZSwgVGhl IExNVUwgPSAxIGNvcnJlc3BvbmRpbmcgbW9kZSBvZiBWTngxNlFJbW9kZSBp cyBWTng0UUltb2RlDQo7OyBmb3IgLW1hcmNoPXJ2Knp2ZTMyKiB3aGVyYXMg Vk54OFFJbW9kZSBmb3IgLW1hcmNoPXJ2Knp2ZTY0Kg0KLShkZWZpbmVfaW5z biAiQHByZWRfcmVkdWNfPHJlZHVjPjxtb2RlPjx2bG11bDE+Ig0KLSAgWyhz ZXQgKG1hdGNoX29wZXJhbmQ6PFZMTVVMMT4gMCAicmVnaXN0ZXJfb3BlcmFu ZCIgICAgICAgICAgICAiPXZyLCAgIHZyIikNCi0gKHVuc3BlYzo8VkxNVUwx Pg0KLSAgIFsodW5zcGVjOjxWTT4NCi0gICAgICBbKG1hdGNoX29wZXJhbmQ6 PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5kIiAgICAgInZtV2MxLHZtV2Mx IikNCi0gICAgICAgKG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9v cGVyYW5kIiAgICAgICAgIiAgIHJLLCAgIHJLIikNCi0gICAgICAgKG1hdGNo X29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICAgIiAg ICBpLCAgICBpIikNCi0gICAgICAgKG1hdGNoX29wZXJhbmQgNyAiY29uc3Rf aW50X29wZXJhbmQiICAgICAgICAgICAgIiAgICBpLCAgICBpIikNCisNCis7 OyBJbnRlZ2VyIFJlZHVjdGlvbiBmb3IgUUkNCisoZGVmaW5lX2luc24gIkBw cmVkX3JlZHVjXzxyZWR1Yz48VlFJOm1vZGU+PFZRSV9MTVVMMTptb2RlPiIN CisgIFsNCisgICAgKHNldA0KKyAgICAgIChtYXRjaF9vcGVyYW5kOlZRSV9M TVVMMSAgICAgICAgICAgMCAicmVnaXN0ZXJfb3BlcmFuZCIgICAgICAiPXZy LCAgICAgdnIiKQ0KKyAgICAgICh1bnNwZWM6VlFJX0xNVUwxDQorIFsNCisg ICAodW5zcGVjOjxWUUk6Vk0+DQorICAgICBbDQorICAgICAgIChtYXRjaF9v cGVyYW5kOjxWUUk6Vk0+ICAgIDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiICAg InZtV2MxLHZtV2MxIikNCisgICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAg ICAgICAgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAiICAgckssICAgcksi KQ0KKyAgICAgICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICAgICA2ICJjb25z dF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIpDQorICAgICAgICht YXRjaF9vcGVyYW5kICAgICAgICAgICAgIDcgImNvbnN0X2ludF9vcGVyYW5k IiAgICAgIiAgICBpLCAgICBpIikNCiAgICAgIChyZWc6U0kgVkxfUkVHTlVN KQ0KLSAgICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSldIFVOU1BFQ19WUFJF RElDQVRFKQ0KLSAgICAoYW55X3JlZHVjOlZJDQotICAgICAgKHZlY19kdXBs aWNhdGU6VkkNCi0gICAgICAgICh2ZWNfc2VsZWN0OjxWRUw+DQotICAgICAg ICAgIChtYXRjaF9vcGVyYW5kOjxWTE1VTDE+IDQgInJlZ2lzdGVyX29wZXJh bmQiICIgICB2ciwgICB2ciIpDQotICAgICAgICAgIChwYXJhbGxlbCBbKGNv bnN0X2ludCAwKV0pKSkNCi0gICAgICAobWF0Y2hfb3BlcmFuZDpWSSAzICJy ZWdpc3Rlcl9vcGVyYW5kIiAgICAgICAgICAgIiAgIHZyLCAgIHZyIikpDQot ICAgIChtYXRjaF9vcGVyYW5kOjxWTE1VTDE+IDIgInZlY3Rvcl9tZXJnZV9v cGVyYW5kIiAgICIgICB2dSwgICAgMCIpXSBVTlNQRUNfUkVEVUMpKV0NCi0g ICJUQVJHRVRfVkVDVE9SICYmIFRBUkdFVF9NSU5fVkxFTiA+PSAxMjgiDQor ICAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKQ0KKyAgICAgXSBVTlNQRUNf VlBSRURJQ0FURQ0KKyAgICkNCisgICAoYW55X3JlZHVjOlZRSQ0KKyAgICAg KHZlY19kdXBsaWNhdGU6VlFJDQorICAgICAgICh2ZWNfc2VsZWN0OjxWRUw+ DQorIChtYXRjaF9vcGVyYW5kOlZRSV9MTVVMMSA0ICJyZWdpc3Rlcl9vcGVy YW5kIiAgICAgICIgICB2ciwgICB2ciIpDQorIChwYXJhbGxlbCBbKGNvbnN0 X2ludCAwKV0pDQorICAgICAgICkNCisgICAgICkNCisgICAgIChtYXRjaF9v cGVyYW5kOlZRSSAgICAgICAgICAgMyAicmVnaXN0ZXJfb3BlcmFuZCIgICAg ICAiICAgdnIsICAgdnIiKQ0KKyAgICkNCisgICAobWF0Y2hfb3BlcmFuZDpW UUlfTE1VTDEgICAgICAgMiAidmVjdG9yX21lcmdlX29wZXJhbmQiICAiICAg dnUsICAgIDAiKQ0KKyBdIFVOU1BFQ19SRURVQw0KKyAgICAgICkNCisgICAg KQ0KKyAgXQ0KKyAgIlRBUkdFVF9WRUNUT1IiDQogICAidnJlZDxyZWR1Yz4u dnNcdCUwLCUzLCU0JXAxIg0KLSAgWyhzZXRfYXR0ciAidHlwZSIgInZpcmVk IikNCi0gICAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorICBbDQor ICAgIChzZXRfYXR0ciAidHlwZSIgInZpcmVkIikNCisgICAgKHNldF9hdHRy ICJtb2RlIiAiPFZRSTpNT0RFPiIpDQorICBdDQorKQ0KLShkZWZpbmVfaW5z biAiQHByZWRfcmVkdWNfPHJlZHVjPjxtb2RlPjx2bG11bDFfenZlNjQ+Ig0K LSAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZMTVVMMV9aVkU2ND4gMCAicmVn aXN0ZXJfb3BlcmFuZCIgICAgICAgICAgICAiPXZyLCAgIHZyIikNCi0gKHVu c3BlYzo8VkxNVUwxX1pWRTY0Pg0KLSAgIFsodW5zcGVjOjxWTT4NCi0gICAg ICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVyYW5k IiAgICAgInZtV2MxLHZtV2MxIikNCi0gICAgICAgKG1hdGNoX29wZXJhbmQg NSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAgICAgIiAgIHJLLCAgIHJL IikNCi0gICAgICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3RfaW50X29wZXJh bmQiICAgICAgICAgICAgIiAgICBpLCAgICBpIikNCi0gICAgICAgKG1hdGNo X29wZXJhbmQgNyAiY29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICAgIiAg ICBpLCAgICBpIikNCis7OyBJbnRlZ2VyIFJlZHVjdGlvbiBmb3IgSEkNCiso ZGVmaW5lX2luc24gIkBwcmVkX3JlZHVjXzxyZWR1Yz48VkhJOm1vZGU+PFZI SV9MTVVMMTptb2RlPiINCisgIFsNCisgICAgKHNldA0KKyAgICAgIChtYXRj aF9vcGVyYW5kOlZISV9MTVVMMSAgICAgICAgICAgMCAicmVnaXN0ZXJfb3Bl cmFuZCIgICAgICAiPXZyLCAgICAgdnIiKQ0KKyAgICAgICh1bnNwZWM6VkhJ X0xNVUwxDQorIFsNCisgICAodW5zcGVjOjxWSEk6Vk0+DQorICAgICBbDQor ICAgICAgIChtYXRjaF9vcGVyYW5kOjxWSEk6Vk0+ICAgIDEgInZlY3Rvcl9t YXNrX29wZXJhbmQiICAgInZtV2MxLHZtV2MxIikNCisgICAgICAgKG1hdGNo X29wZXJhbmQgICAgICAgICAgICAgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5k IiAiICAgckssICAgcksiKQ0KKyAgICAgICAobWF0Y2hfb3BlcmFuZCAgICAg ICAgICAgICA2ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAg aSIpDQorICAgICAgIChtYXRjaF9vcGVyYW5kICAgICAgICAgICAgIDcgImNv bnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBpLCAgICBpIikNCiAgICAgIChy ZWc6U0kgVkxfUkVHTlVNKQ0KLSAgICAgICAocmVnOlNJIFZUWVBFX1JFR05V TSldIFVOU1BFQ19WUFJFRElDQVRFKQ0KLSAgICAoYW55X3JlZHVjOlZJX1pW RTY0DQotICAgICAgKHZlY19kdXBsaWNhdGU6VklfWlZFNjQNCi0gICAgICAg ICh2ZWNfc2VsZWN0OjxWRUw+DQotICAgICAgICAgIChtYXRjaF9vcGVyYW5k OjxWTE1VTDFfWlZFNjQ+IDQgInJlZ2lzdGVyX29wZXJhbmQiICIgICB2ciwg ICB2ciIpDQotICAgICAgICAgIChwYXJhbGxlbCBbKGNvbnN0X2ludCAwKV0p KSkNCi0gICAgICAobWF0Y2hfb3BlcmFuZDpWSV9aVkU2NCAzICJyZWdpc3Rl cl9vcGVyYW5kIiAgICAgICAgICAgIiAgIHZyLCAgIHZyIikpDQotICAgICht YXRjaF9vcGVyYW5kOjxWTE1VTDFfWlZFNjQ+IDIgInZlY3Rvcl9tZXJnZV9v cGVyYW5kIiAgICIgICB2dSwgICAgMCIpXSBVTlNQRUNfUkVEVUMpKV0NCi0g ICJUQVJHRVRfVkVDVE9SICYmIFRBUkdFVF9NSU5fVkxFTiA9PSA2NCINCisg ICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pDQorICAgICBdIFVOU1BFQ19W UFJFRElDQVRFDQorICAgKQ0KKyAgIChhbnlfcmVkdWM6VkhJDQorICAgICAo dmVjX2R1cGxpY2F0ZTpWSEkNCisgICAgICAgKHZlY19zZWxlY3Q6PFZFTD4N CisgKG1hdGNoX29wZXJhbmQ6VkhJX0xNVUwxIDQgInJlZ2lzdGVyX29wZXJh bmQiICAgICAgIiAgIHZyLCAgIHZyIikNCisgKHBhcmFsbGVsIFsoY29uc3Rf aW50IDApXSkNCisgICAgICAgKQ0KKyAgICAgKQ0KKyAgICAgKG1hdGNoX29w ZXJhbmQ6VkhJICAgICAgICAgICAzICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAg ICIgICB2ciwgICB2ciIpDQorICAgKQ0KKyAgIChtYXRjaF9vcGVyYW5kOlZI SV9MTVVMMSAgICAgICAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICIgICB2 dSwgICAgMCIpDQorIF0gVU5TUEVDX1JFRFVDDQorICAgICAgKQ0KKyAgICAp DQorICBdDQorICAiVEFSR0VUX1ZFQ1RPUiINCiAgICJ2cmVkPHJlZHVjPi52 c1x0JTAsJTMsJTQlcDEiDQotICBbKHNldF9hdHRyICJ0eXBlIiAidmlyZWQi KQ0KLSAgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCisgIFsNCisg ICAgKHNldF9hdHRyICJ0eXBlIiAidmlyZWQiKQ0KKyAgICAoc2V0X2F0dHIg Im1vZGUiICI8VkhJOk1PREU+IikNCisgIF0NCispDQotKGRlZmluZV9pbnNu ICJAcHJlZF9yZWR1Y188cmVkdWM+PG1vZGU+PHZsbXVsMV96dmUzMj4iDQot ICBbKHNldCAobWF0Y2hfb3BlcmFuZDo8VkxNVUwxX1pWRTMyPiAwICJyZWdp c3Rlcl9vcGVyYW5kIiAgICAgICAgICAiPXZkLCB2ZCwgdnIsIHZyIikNCi0g KHVuc3BlYzo8VkxNVUwxX1pWRTMyPg0KLSAgIFsodW5zcGVjOjxWTT4NCi0g ICAgICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVy YW5kIiAgICAgICAgICAgIiB2bSwgdm0sV2MxLFdjMSIpDQotICAgICAgICht YXRjaF9vcGVyYW5kIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIgICAgICAg ICAgICAgICIgckssIHJLLCBySywgcksiKQ0KLSAgICAgICAobWF0Y2hfb3Bl cmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCIgICAgICAgICAgICAgICAgICAi ICBpLCAgaSwgIGksICBpIikNCi0gICAgICAgKG1hdGNoX29wZXJhbmQgNyAi Y29uc3RfaW50X29wZXJhbmQiICAgICAgICAgICAgICAgICAgIiAgaSwgIGks ICBpLCAgaSIpDQorOzsgSW50ZWdlciBSZWR1Y3Rpb24gZm9yIFNJDQorKGRl ZmluZV9pbnNuICJAcHJlZF9yZWR1Y188cmVkdWM+PFZTSTptb2RlPjxWU0lf TE1VTDE6bW9kZT4iDQorICBbDQorICAgIChzZXQNCisgICAgICAobWF0Y2hf b3BlcmFuZDpWU0lfTE1VTDEgICAgICAgICAgIDAgInJlZ2lzdGVyX29wZXJh bmQiICAgICAgIj12ciwgICAgIHZyIikNCisgICAgICAodW5zcGVjOlZTSV9M TVVMMQ0KKyBbDQorICAgKHVuc3BlYzo8VlNJOlZNPg0KKyAgICAgWw0KKyAg ICAgICAobWF0Y2hfb3BlcmFuZDo8VlNJOlZNPiAgICAxICJ2ZWN0b3JfbWFz a19vcGVyYW5kIiAgICJ2bVdjMSx2bVdjMSIpDQorICAgICAgIChtYXRjaF9v cGVyYW5kICAgICAgICAgICAgIDUgInZlY3Rvcl9sZW5ndGhfb3BlcmFuZCIg IiAgIHJLLCAgIHJLIikNCisgICAgICAgKG1hdGNoX29wZXJhbmQgICAgICAg ICAgICAgNiAiY29uc3RfaW50X29wZXJhbmQiICAgICAiICAgIGksICAgIGki KQ0KKyAgICAgICAobWF0Y2hfb3BlcmFuZCAgICAgICAgICAgICA3ICJjb25z dF9pbnRfb3BlcmFuZCIgICAgICIgICAgaSwgICAgaSIpDQogICAgICAocmVn OlNJIFZMX1JFR05VTSkNCi0gICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0p XSBVTlNQRUNfVlBSRURJQ0FURSkNCi0gICAgKGFueV9yZWR1YzpWSV9aVkUz Mg0KLSAgICAgICh2ZWNfZHVwbGljYXRlOlZJX1pWRTMyDQotICAgICAgICAo dmVjX3NlbGVjdDo8VkVMPg0KLSAgICAgICAgICAobWF0Y2hfb3BlcmFuZDo8 VkxNVUwxX1pWRTMyPiA0ICJyZWdpc3Rlcl9vcGVyYW5kIiAiIHZyLCB2ciwg dnIsIHZyIikNCi0gICAgICAgICAgKHBhcmFsbGVsIFsoY29uc3RfaW50IDAp XSkpKQ0KLSAgICAgIChtYXRjaF9vcGVyYW5kOlZJX1pWRTMyIDMgInJlZ2lz dGVyX29wZXJhbmQiICAgICAgICAgICAiIHZyLCB2ciwgdnIsIHZyIikpDQot ICAgIChtYXRjaF9vcGVyYW5kOjxWTE1VTDFfWlZFMzI+IDIgInZlY3Rvcl9t ZXJnZV9vcGVyYW5kIiAgICIgdnUsICAwLCB2dSwgIDAiKV0gVU5TUEVDX1JF RFVDKSldDQotICAiVEFSR0VUX1ZFQ1RPUiAmJiBUQVJHRVRfTUlOX1ZMRU4g PT0gMzIiDQorICAgICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKQ0KKyAgICAg XSBVTlNQRUNfVlBSRURJQ0FURQ0KKyAgICkNCisgICAoYW55X3JlZHVjOlZT SQ0KKyAgICAgKHZlY19kdXBsaWNhdGU6VlNJDQorICAgICAgICh2ZWNfc2Vs ZWN0OjxWRUw+DQorIChtYXRjaF9vcGVyYW5kOlZTSV9MTVVMMSA0ICJyZWdp c3Rlcl9vcGVyYW5kIiAgICAgICIgICB2ciwgICB2ciIpDQorIChwYXJhbGxl bCBbKGNvbnN0X2ludCAwKV0pDQorICAgICAgICkNCisgICAgICkNCisgICAg IChtYXRjaF9vcGVyYW5kOlZTSSAgICAgICAgICAgMyAicmVnaXN0ZXJfb3Bl cmFuZCIgICAgICAiICAgdnIsICAgdnIiKQ0KKyAgICkNCisgICAobWF0Y2hf b3BlcmFuZDpWU0lfTE1VTDEgICAgICAgMiAidmVjdG9yX21lcmdlX29wZXJh bmQiICAiICAgdnUsICAgIDAiKQ0KKyBdIFVOU1BFQ19SRURVQw0KKyAgICAg ICkNCisgICAgKQ0KKyAgXQ0KKyAgIlRBUkdFVF9WRUNUT1IiDQogICAidnJl ZDxyZWR1Yz4udnNcdCUwLCUzLCU0JXAxIg0KLSAgWyhzZXRfYXR0ciAidHlw ZSIgInZpcmVkIikNCi0gICAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0p DQorICBbDQorICAgIChzZXRfYXR0ciAidHlwZSIgInZpcmVkIikNCisgICAg KHNldF9hdHRyICJtb2RlIiAiPFZTSTpNT0RFPiIpDQorICBdDQorKQ0KKw0K Kzs7IEludGVnZXIgUmVkdWN0aW9uIGZvciBESQ0KKyhkZWZpbmVfaW5zbiAi QHByZWRfcmVkdWNfPHJlZHVjPjxWREk6bW9kZT48VkRJX0xNVUwxOm1vZGU+ Ig0KKyAgWw0KKyAgICAoc2V0DQorICAgICAgKG1hdGNoX29wZXJhbmQ6VkRJ X0xNVUwxICAgICAgICAgICAwICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICI9 dnIsICAgICB2ciIpDQorICAgICAgKHVuc3BlYzpWRElfTE1VTDENCisgWw0K KyAgICh1bnNwZWM6PFZESTpWTT4NCisgICAgIFsNCisgICAgICAgKG1hdGNo X29wZXJhbmQ6PFZESTpWTT4gICAgMSAidmVjdG9yX21hc2tfb3BlcmFuZCIg ICAidm1XYzEsdm1XYzEiKQ0KKyAgICAgICAobWF0Y2hfb3BlcmFuZCAgICAg ICAgICAgICA1ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiICIgICBySywgICBy SyIpDQorICAgICAgIChtYXRjaF9vcGVyYW5kICAgICAgICAgICAgIDYgImNv bnN0X2ludF9vcGVyYW5kIiAgICAgIiAgICBpLCAgICBpIikNCisgICAgICAg KG1hdGNoX29wZXJhbmQgICAgICAgICAgICAgNyAiY29uc3RfaW50X29wZXJh bmQiICAgICAiICAgIGksICAgIGkiKQ0KKyAgICAgICAocmVnOlNJIFZMX1JF R05VTSkNCisgICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pDQorICAgICBd IFVOU1BFQ19WUFJFRElDQVRFDQorICAgKQ0KKyAgIChhbnlfcmVkdWM6VkRJ DQorICAgICAodmVjX2R1cGxpY2F0ZTpWREkNCisgICAgICAgKHZlY19zZWxl Y3Q6PFZFTD4NCisgKG1hdGNoX29wZXJhbmQ6VkRJX0xNVUwxIDQgInJlZ2lz dGVyX29wZXJhbmQiICAgICAgIiAgIHZyLCAgIHZyIikNCisgKHBhcmFsbGVs IFsoY29uc3RfaW50IDApXSkNCisgICAgICAgKQ0KKyAgICAgKQ0KKyAgICAg KG1hdGNoX29wZXJhbmQ6VkRJICAgICAgICAgICAzICJyZWdpc3Rlcl9vcGVy YW5kIiAgICAgICIgICB2ciwgICB2ciIpDQorICAgKQ0KKyAgIChtYXRjaF9v cGVyYW5kOlZESV9MTVVMMSAgICAgICAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFu ZCIgICIgICB2dSwgICAgMCIpDQorIF0gVU5TUEVDX1JFRFVDDQorICAgICAg KQ0KKyAgICApDQorICBdDQorICAiVEFSR0VUX1ZFQ1RPUiINCisgICJ2cmVk PHJlZHVjPi52c1x0JTAsJTMsJTQlcDEiDQorICBbDQorICAgIChzZXRfYXR0 ciAidHlwZSIgInZpcmVkIikNCisgICAgKHNldF9hdHRyICJtb2RlIiAiPFZE STpNT0RFPiIpDQorICBdDQorKQ0KKGRlZmluZV9pbnNuICJAcHJlZF93aWRl bl9yZWR1Y19wbHVzPHZfc3U+PG1vZGU+PHZ3bG11bDE+Ig0KICAgWyhzZXQg KG1hdGNoX29wZXJhbmQ6PFZXTE1VTDE+IDAgInJlZ2lzdGVyX29wZXJhbmQi ICAgICAgICAgICAiPSZ2ciwgICZ2ciIpDQpkaWZmIC0tZ2l0IGEvZ2NjL21h Y2htb2RlLmggYi9nY2MvbWFjaG1vZGUuaA0KaW5kZXggYTIyZGY2MGRjMjAu LjhlY2ZjMmE2NTZlIDEwMDY0NA0KLS0tIGEvZ2NjL21hY2htb2RlLmgNCisr KyBiL2djYy9tYWNobW9kZS5oDQpAQCAtMTM0LDYgKzEzNCwxMCBAQCBleHRl cm4gY29uc3QgdW5zaWduZWQgY2hhciBtb2RlX2NsYXNzW05VTV9NQUNISU5F X01PREVTXTsNCiAgICB8fCBHRVRfTU9ERV9DTEFTUyAoTU9ERSkgPT0gTU9E RV9WRUNUT1JfQUNDVU0gXA0KICAgIHx8IEdFVF9NT0RFX0NMQVNTIChNT0RF KSA9PSBNT0RFX1ZFQ1RPUl9VQUNDVU0pDQorLyogTm9uemVybyBpZiBNT0RF IGlzIGEgdmVjdG9yIGZsb2F0IG1vZGUuICAqLw0KKyNkZWZpbmUgVkVDVE9S X0ZMT0FUX01PREVfUChNT0RFKSBcDQorICAoR0VUX01PREVfQ0xBU1MgKE1P REUpID09IE1PREVfVkVDVE9SX0ZMT0FUKSBcDQorDQovKiBOb256ZXJvIGlm IE1PREUgaXMgYSBzY2FsYXIgaW50ZWdyYWwgbW9kZS4gICovDQojZGVmaW5l IFNDQUxBUl9JTlRfTU9ERV9QKE1PREUpIFwNCiAgIChHRVRfTU9ERV9DTEFT UyAoTU9ERSkgPT0gTU9ERV9JTlQgXA0KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMDI2NS0xLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIx MTAyNjUtMS5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MDAwMDAuLjJlNGFlYjViOTBiDQotLS0gL2Rldi9udWxsDQorKysgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNjUt MS5jDQpAQCAtMCwwICsxLDEzIEBADQorLyogeyBkZy1kbyBjb21waWxlIH0g Ki8NCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjMyZ2NfenZlMzJmIC1t YWJpPWlscDMyZiAtTzMgLVduby1wc2FiaSIgfSAqLw0KKw0KKyNpbmNsdWRl ICJwcjExMDI2NS0xLmgiDQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2cmVkYW5kXC52c1xzK3ZbMC05XSssXHMqdlswLTld Kyxccyp2WzAtOV0rfSAyIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnJlZG1heFwudnNccyt2WzAtOV0rLFxzKnZb MC05XSssXHMqdlswLTldK30gMiB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZyZWRtYXh1XC52c1xzK3ZbMC05XSss XHMqdlswLTldKyxccyp2WzAtOV0rfSAyIH0gfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnJlZG1pblwudnNccyt2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMiB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZyZWRtaW51XC52c1xz K3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAyIH0gfSAqLw0KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnJlZG9yXC52 c1xzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSAyIH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnJlZHN1 bVwudnNccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMiB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zy ZWR4b3JcLnZzXHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSt9IDIg fSB9ICovDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjY1LTEuaCBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMDI2NS0xLmgNCm5ldyBm aWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uYWRlNDRjYzI3 ZWENCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMDI2NS0xLmgNCkBAIC0wLDAgKzEs NjUgQEANCisjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQorDQordmludDht MV90IHRlc3RfdnJlZGFuZF92c19pOG1mNF9pOG0xKHZpbnQ4bWY0X3QgdmVj dG9yLCB2aW50OG0xX3Qgc2NhbGFyLCBzaXplX3QgdmwpIHsNCisgIHJldHVy biBfX3Jpc2N2X3ZyZWRhbmRfdnNfaThtZjRfaThtMSh2ZWN0b3IsIHNjYWxh ciwgdmwpOw0KK30NCisNCit2dWludDMybTFfdCB0ZXN0X3ZyZWRhbmRfdnNf dTMybThfdTMybTEodnVpbnQzMm04X3QgdmVjdG9yLCB2dWludDMybTFfdCBz Y2FsYXIsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3ZfdnJlZGFu ZF92c191MzJtOF91MzJtMSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0KK30NCisN Cit2aW50OG0xX3QgdGVzdF92cmVkbWF4X3ZzX2k4bWY0X2k4bTEodmludDht ZjRfdCB2ZWN0b3IsIHZpbnQ4bTFfdCBzY2FsYXIsIHNpemVfdCB2bCkgew0K KyAgcmV0dXJuIF9fcmlzY3ZfdnJlZG1heF92c19pOG1mNF9pOG0xKHZlY3Rv ciwgc2NhbGFyLCB2bCk7DQorfQ0KKw0KK3ZpbnQzMm0xX3QgdGVzdF92cmVk bWF4X3ZzX2kzMm04X2kzMm0xKHZpbnQzMm04X3QgdmVjdG9yLCB2aW50MzJt MV90IHNjYWxhciwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92 cmVkbWF4X3ZzX2kzMm04X2kzMm0xKHZlY3Rvciwgc2NhbGFyLCB2bCk7DQor fQ0KKw0KK3Z1aW50OG0xX3QgdGVzdF92cmVkbWF4dV92c191OG1mNF91OG0x KHZ1aW50OG1mNF90IHZlY3RvciwgdnVpbnQ4bTFfdCBzY2FsYXIsIHNpemVf dCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3ZfdnJlZG1heHVfdnNfdThtZjRf dThtMSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0KK30NCisNCit2dWludDMybTFf dCB0ZXN0X3ZyZWRtYXh1X3ZzX3UzMm04X3UzMm0xKHZ1aW50MzJtOF90IHZl Y3RvciwgdnVpbnQzMm0xX3Qgc2NhbGFyLCBzaXplX3QgdmwpIHsNCisgIHJl dHVybiBfX3Jpc2N2X3ZyZWRtYXh1X3ZzX3UzMm04X3UzMm0xKHZlY3Rvciwg c2NhbGFyLCB2bCk7DQorfQ0KKw0KK3ZpbnQ4bTFfdCB0ZXN0X3ZyZWRtaW5f dnNfaThtZjRfaThtMSh2aW50OG1mNF90IHZlY3RvciwgdmludDhtMV90IHNj YWxhciwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92cmVkbWlu X3ZzX2k4bWY0X2k4bTEodmVjdG9yLCBzY2FsYXIsIHZsKTsNCit9DQorDQor dmludDMybTFfdCB0ZXN0X3ZyZWRtaW5fdnNfaTMybThfaTMybTEodmludDMy bThfdCB2ZWN0b3IsIHZpbnQzMm0xX3Qgc2NhbGFyLCBzaXplX3QgdmwpIHsN CisgIHJldHVybiBfX3Jpc2N2X3ZyZWRtaW5fdnNfaTMybThfaTMybTEodmVj dG9yLCBzY2FsYXIsIHZsKTsNCit9DQorDQordnVpbnQ4bTFfdCB0ZXN0X3Zy ZWRtaW51X3ZzX3U4bWY0X3U4bTEodnVpbnQ4bWY0X3QgdmVjdG9yLCB2dWlu dDhtMV90IHNjYWxhciwgc2l6ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNj dl92cmVkbWludV92c191OG1mNF91OG0xKHZlY3Rvciwgc2NhbGFyLCB2bCk7 DQorfQ0KKw0KK3Z1aW50MzJtMV90IHRlc3RfdnJlZG1pbnVfdnNfdTMybThf dTMybTEodnVpbnQzMm04X3QgdmVjdG9yLCB2dWludDMybTFfdCBzY2FsYXIs IHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3ZfdnJlZG1pbnVfdnNf dTMybThfdTMybTEodmVjdG9yLCBzY2FsYXIsIHZsKTsNCit9DQorDQordmlu dDhtMV90IHRlc3RfdnJlZG9yX3ZzX2k4bWY0X2k4bTEodmludDhtZjRfdCB2 ZWN0b3IsIHZpbnQ4bTFfdCBzY2FsYXIsIHNpemVfdCB2bCkgew0KKyAgcmV0 dXJuIF9fcmlzY3ZfdnJlZG9yX3ZzX2k4bWY0X2k4bTEodmVjdG9yLCBzY2Fs YXIsIHZsKTsNCit9DQorDQordnVpbnQzMm0xX3QgdGVzdF92cmVkb3JfdnNf dTMybThfdTMybTEodnVpbnQzMm04X3QgdmVjdG9yLCB2dWludDMybTFfdCBz Y2FsYXIsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3ZfdnJlZG9y X3ZzX3UzMm04X3UzMm0xKHZlY3Rvciwgc2NhbGFyLCB2bCk7DQorfQ0KKw0K K3ZpbnQ4bTFfdCB0ZXN0X3ZyZWRzdW1fdnNfaThtZjRfaThtMSh2aW50OG1m NF90IHZlY3RvciwgdmludDhtMV90IHNjYWxhciwgc2l6ZV90IHZsKSB7DQor ICByZXR1cm4gX19yaXNjdl92cmVkc3VtX3ZzX2k4bWY0X2k4bTEodmVjdG9y LCBzY2FsYXIsIHZsKTsNCit9DQorDQordnVpbnQzMm0xX3QgdGVzdF92cmVk c3VtX3ZzX3UzMm04X3UzMm0xKHZ1aW50MzJtOF90IHZlY3RvciwgdnVpbnQz Mm0xX3Qgc2NhbGFyLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2 X3ZyZWRzdW1fdnNfdTMybThfdTMybTEodmVjdG9yLCBzY2FsYXIsIHZsKTsN Cit9DQorDQordmludDhtMV90IHRlc3RfdnJlZHhvcl92c19pOG1mNF9pOG0x KHZpbnQ4bWY0X3QgdmVjdG9yLCB2aW50OG0xX3Qgc2NhbGFyLCBzaXplX3Qg dmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3ZyZWR4b3JfdnNfaThtZjRfaTht MSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0KK30NCisNCit2dWludDMybTFfdCB0 ZXN0X3ZyZWR4b3JfdnNfdTMybThfdTMybTEodnVpbnQzMm04X3QgdmVjdG9y LCB2dWludDMybTFfdCBzY2FsYXIsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJu IF9fcmlzY3ZfdnJlZHhvcl92c191MzJtOF91MzJtMSh2ZWN0b3IsIHNjYWxh ciwgdmwpOw0KK30NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNjUtMi5jIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjY1LTIuYw0K bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi43NDU0 YzFjYzkxOA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjY1LTIuYw0KQEAgLTAs MCArMSwxNCBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBk Zy1vcHRpb25zICItbWFyY2g9cnYzMmdjX3p2ZTY0ZCAtbWFiaT1pbHAzMmQg LU8zIC1Xbm8tcHNhYmkiIH0gKi8NCisNCisjaW5jbHVkZSAicHIxMTAyNjUt MS5oIg0KKyNpbmNsdWRlICJwcjExMDI2NS0yLmgiDQorDQorLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2cmVkYW5kXC52c1xzK3Zb MC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSA0IH0gfSAqLw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnJlZG1heFwudnNc cyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMyB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZyZWRtYXh1 XC52c1xzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSA0IH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnJl ZG1pblwudnNccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMyB9 IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZyZWRtaW51XC52c1xzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0r fSA0IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnJlZG9yXC52c1xzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAt OV0rfSA0IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnJlZHN1bVwudnNccyt2WzAtOV0rLFxzKnZbMC05XSssXHMq dlswLTldK30gNCB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge3ZyZWR4b3JcLnZzXHMrdlswLTldKyxccyp2WzAtOV0r LFxzKnZbMC05XSt9IDQgfSB9ICovDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjY1LTIuaCBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjEx MDI2NS0yLmgNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAw MDAwMC4uNmE3ZTE0ZTUxZjgNCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMDI2NS0y LmgNCkBAIC0wLDAgKzEsNTcgQEANCisjaW5jbHVkZSAicmlzY3ZfdmVjdG9y LmgiDQorDQordmludDhtMV90IHRlc3RfdnJlZGFuZF92c19pOG1mOF9pOG0x KHZpbnQ4bWY4X3QgdmVjdG9yLCB2aW50OG0xX3Qgc2NhbGFyLCBzaXplX3Qg dmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3ZyZWRhbmRfdnNfaThtZjhfaTht MSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0KK30NCisNCit2aW50OG0xX3QgdGVz dF92cmVkbWF4X3ZzX2k4bWY4X2k4bTEodmludDhtZjhfdCB2ZWN0b3IsIHZp bnQ4bTFfdCBzY2FsYXIsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlz Y3ZfdnJlZG1heF92c19pOG1mOF9pOG0xKHZlY3Rvciwgc2NhbGFyLCB2bCk7 DQorfQ0KKw0KK3Z1aW50OG0xX3QgdGVzdF92cmVkbWF4dV92c191OG1mOF91 OG0xKHZ1aW50OG1mOF90IHZlY3RvciwgdnVpbnQ4bTFfdCBzY2FsYXIsIHNp emVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3ZfdnJlZG1heHVfdnNfdTht ZjhfdThtMSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0KK30NCisNCit2aW50OG0x X3QgdGVzdF92cmVkbWluX3ZzX2k4bWY4X2k4bTEodmludDhtZjhfdCB2ZWN0 b3IsIHZpbnQ4bTFfdCBzY2FsYXIsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJu IF9fcmlzY3ZfdnJlZG1pbl92c19pOG1mOF9pOG0xKHZlY3Rvciwgc2NhbGFy LCB2bCk7DQorfQ0KKw0KK3Z1aW50OG0xX3QgdGVzdF92cmVkbWludV92c191 OG1mOF91OG0xKHZ1aW50OG1mOF90IHZlY3RvciwgdnVpbnQ4bTFfdCBzY2Fs YXIsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3ZfdnJlZG1pbnVf dnNfdThtZjhfdThtMSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0KK30NCisNCit2 aW50OG0xX3QgdGVzdF92cmVkb3JfdnNfaThtZjhfaThtMSh2aW50OG1mOF90 IHZlY3RvciwgdmludDhtMV90IHNjYWxhciwgc2l6ZV90IHZsKSB7DQorICBy ZXR1cm4gX19yaXNjdl92cmVkb3JfdnNfaThtZjhfaThtMSh2ZWN0b3IsIHNj YWxhciwgdmwpOw0KK30NCisNCit2aW50OG0xX3QgdGVzdF92cmVkc3VtX3Zz X2k4bWY4X2k4bTEodmludDhtZjhfdCB2ZWN0b3IsIHZpbnQ4bTFfdCBzY2Fs YXIsIHNpemVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3ZfdnJlZHN1bV92 c19pOG1mOF9pOG0xKHZlY3Rvciwgc2NhbGFyLCB2bCk7DQorfQ0KKw0KK3Zp bnQ4bTFfdCB0ZXN0X3ZyZWR4b3JfdnNfaThtZjhfaThtMSh2aW50OG1mOF90 IHZlY3RvciwgdmludDhtMV90IHNjYWxhciwgc2l6ZV90IHZsKSB7DQorICBy ZXR1cm4gX19yaXNjdl92cmVkeG9yX3ZzX2k4bWY4X2k4bTEodmVjdG9yLCBz Y2FsYXIsIHZsKTsNCit9DQorDQordnVpbnQ2NG0xX3QgdGVzdF92cmVkYW5k X3ZzX3U2NG04X3U2NG0xKHZ1aW50NjRtOF90IHZlY3RvciwgdnVpbnQ2NG0x X3Qgc2NhbGFyLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2X3Zy ZWRhbmRfdnNfdTY0bThfdTY0bTEodmVjdG9yLCBzY2FsYXIsIHZsKTsNCit9 DQorDQordnVpbnQ2NG0xX3QgdGVzdF92cmVkbWF4dV92c191NjRtOF91NjRt MSh2dWludDY0bThfdCB2ZWN0b3IsIHZ1aW50NjRtMV90IHNjYWxhciwgc2l6 ZV90IHZsKSB7DQorICByZXR1cm4gX19yaXNjdl92cmVkbWF4dV92c191NjRt OF91NjRtMSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0KK30NCisNCit2dWludDY0 bTFfdCB0ZXN0X3ZyZWRtaW51X3ZzX3U2NG04X3U2NG0xKHZ1aW50NjRtOF90 IHZlY3RvciwgdnVpbnQ2NG0xX3Qgc2NhbGFyLCBzaXplX3QgdmwpIHsNCisg IHJldHVybiBfX3Jpc2N2X3ZyZWRtaW51X3ZzX3U2NG04X3U2NG0xKHZlY3Rv ciwgc2NhbGFyLCB2bCk7DQorfQ0KKw0KK3Z1aW50NjRtMV90IHRlc3RfdnJl ZG9yX3ZzX3U2NG04X3U2NG0xKHZ1aW50NjRtOF90IHZlY3RvciwgdnVpbnQ2 NG0xX3Qgc2NhbGFyLCBzaXplX3QgdmwpIHsNCisgIHJldHVybiBfX3Jpc2N2 X3ZyZWRvcl92c191NjRtOF91NjRtMSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0K K30NCisNCit2dWludDY0bTFfdCB0ZXN0X3ZyZWRzdW1fdnNfdTY0bThfdTY0 bTEodnVpbnQ2NG04X3QgdmVjdG9yLCB2dWludDY0bTFfdCBzY2FsYXIsIHNp emVfdCB2bCkgew0KKyAgcmV0dXJuIF9fcmlzY3ZfdnJlZHN1bV92c191NjRt OF91NjRtMSh2ZWN0b3IsIHNjYWxhciwgdmwpOw0KK30NCisNCit2dWludDY0 bTFfdCB0ZXN0X3ZyZWR4b3JfdnNfdTY0bThfdTY0bTEodnVpbnQ2NG04X3Qg dmVjdG9yLCB2dWludDY0bTFfdCBzY2FsYXIsIHNpemVfdCB2bCkgew0KKyAg cmV0dXJuIF9fcmlzY3ZfdnJlZHhvcl92c191NjRtOF91NjRtMSh2ZWN0b3Is IHNjYWxhciwgdmwpOw0KK30NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTAyNjUtMy5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjY1 LTMuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAw Li4wZWQxZmJhZTM1YQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEwMjY1LTMuYw0K QEAgLTAsMCArMSwxNCBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQor LyogeyBkZy1vcHRpb25zICItbWFyY2g9cnYzMmdjX3p2ZTY0ZiAtbWFiaT1p bHAzMmYgLU8zIC1Xbm8tcHNhYmkiIH0gKi8NCisNCisjaW5jbHVkZSAicHIx MTAyNjUtMS5oIg0KKyNpbmNsdWRlICJwcjExMDI2NS0yLmgiDQorDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2cmVkYW5kXC52 c1xzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSA0IH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnJlZG1h eFwudnNccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTldK30gMyB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zy ZWRtYXh1XC52c1xzK3ZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rfSA0 IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnJlZG1pblwudnNccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdlswLTld K30gMyB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZyZWRtaW51XC52c1xzK3ZbMC05XSssXHMqdlswLTldKyxccyp2 WzAtOV0rfSA0IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnJlZG9yXC52c1xzK3ZbMC05XSssXHMqdlswLTldKyxc cyp2WzAtOV0rfSA0IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnJlZHN1bVwudnNccyt2WzAtOV0rLFxzKnZbMC05 XSssXHMqdlswLTldK30gNCB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZyZWR4b3JcLnZzXHMrdlswLTldKyxccyp2 WzAtOV0rLFxzKnZbMC05XSt9IDQgfSB9ICovDQotLSANCjIuMzQuMQ0KIA0K IA0K ------=_001_NextPart814006667838_=------