From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbguseast3.qq.com (smtpbguseast3.qq.com [54.243.244.52]) by sourceware.org (Postfix) with ESMTPS id CA15E3858D28 for ; Sat, 23 Sep 2023 00:42:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CA15E3858D28 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: bizesmtp83t1695429734ty3k6hfj Received: from TABLET-POE6JQHH ( [36.36.17.183]) by bizesmtp.qq.com (ESMTP) with id ; Sat, 23 Sep 2023 08:42:13 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: RrZlkntZBflZGcirwrG10HgoMHLjOVlVMPxi6UzPperN9BZGUxWyUaK9Pb2Lz LqxxjZDDYivTVuZNW0F8jd93Iyta/cCuMiacWO6qlK7qD4GUUCHnX1kmfs1Bd1LPOg0Tp8E smwlkz6P65KV8roLdV2dLRdCOkpJuqWIO1/ngIuVv34rZz9Ngizhmxi2Oj39g6dSMhGST3+ H412P8CNSdkEg4bNzFLzvzNvSn+v86yutmG93ldYCOS9S3g68OmDe3UwpHMQceoENzTudbI LESh5DEKJe6l09vQUiDV3wPB1P9+aYe1hJ3e/XnlZosaI9YvwI9aS55IlZg/BieALT703Yw eCBZynzodl9zaL7s0jqATB+1glOzSXDDlLG4HUydFDZ+knnyqu1EDe6btdr1j4sxwkw5wHl X-QQ-GoodBg: 2 X-BIZMAIL-ID: 5119295029547318013 Date: Sat, 23 Sep 2023 08:42:14 +0800 From: =?GB2312?B?1tO+09Xc?= To: pan2.li , gcc-patches Cc: pan2.li , yanzhang.wang , kito.cheng Subject: Re: [PATCH v2] RISC-V: Suport FP floor auto-vectorization References: <20230922062306.1220795-1-pan2.li@intel.com>, <20230923004011.306887-1-pan2.li@intel.com> X-Priority: 3 X-GUID: D0C47F74-1C95-4539-9623-E9FF4F86F227 X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <13E5D281353CCBDD+2023092308421421949715@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart037585020271_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-8.7 required=5.0 tests=BAYES_00,CHARSET_FARAWAY_HEADER,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,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: This is a multi-part message in MIME format. ------=_001_NextPart037585020271_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 TEdUTS4gQnV0IEkgdGhpbmsgeW91IHNob3VsZCByZW1vdmUgRlAxNiBydW4g dGVzdHMuDQoNClNvIHBseiBzZW5kIGEgcGF0Y2ggZmlyc3QgcmVtb3ZlIEZQ MTYgcnVuIHRlc3Qgb2YgQ0VJTCBmaXJzdC4NCg0KDQoNCmp1emhlLnpob25n QHJpdmFpLmFpDQogDQpGcm9tOiBwYW4yLmxpDQpEYXRlOiAyMDIzLTA5LTIz IDA4OjQwDQpUbzogZ2NjLXBhdGNoZXMNCkNDOiBqdXpoZS56aG9uZzsgcGFu Mi5saTsgeWFuemhhbmcud2FuZzsga2l0by5jaGVuZw0KU3ViamVjdDogW1BB VENIIHYyXSBSSVNDLVY6IFN1cG9ydCBGUCBmbG9vciBhdXRvLXZlY3Rvcml6 YXRpb24NCkZyb206IFBhbiBMaSA8cGFuMi5saUBpbnRlbC5jb20+DQogDQpU aGlzIHBhdGNoIHdvdWxkIGxpa2UgdG8gc3VwcG9ydCBhdXRvLXZlY3Rvcml6 YXRpb24gZm9yIHRoZQ0KZmxvb3IgQVBJIGluIG1hdGguaC4gSXQgZGVwZW5k cyBvbiB0aGUgLWZmYXN0LW1hdGggb3B0aW9uLg0KIA0KV2hlbiB3ZSB3b3Vs ZCBsaWtlIHRvIGNhbGwgZmxvb3IvZmxvb3JmIGxpa2UgdjIgPSBmbG9vciAo djEpLCB3ZSB3aWxsDQpjb252ZXJ0IGl0IGludG8gYmVsb3cgaW5zbnMgKHJl ZmVyZW5jZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgbGx2bSkuDQogDQoqIHZm Y3Z0LnguZiB2MywgdjEsIFJETg0KKiB2ZmN2dC5mLnggdjIsIHYzDQogDQpI b3dldmVyLCB0aGUgZmxvYXRpbmcgcG9pbnQgdmFsdWUgbWF5IG5vdCBuZWVk IHRoZSBjdnQgYXMgYWJvdmUgaWYNCml0cyBtYW50aXNzYSBpcyB6ZXJvLiBG b3IgZXhhbXBsZSBzaW5nbGUgcHJlY2lzaW9uIGZsb2F0aW5nIHBvaW50IGJl bG93Lg0KIA0KICArLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0rDQogIHwgcmF3IGZsb2F0IHwgYmluYXJ5IGxheW91dCB8IGFm dGVyIGZsb29yIHwNCiAgKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tKw0KICB8IDgzODg2MDcuNSB8IDB4NGFmZmZmZmYgICAg fCA4Mzg4NjA3LjAgICB8DQogIHwgODM4ODYwOC4wIHwgMHg0YjAwMDAwMCAg ICB8IDgzODg2MDguMCAgIHwNCiAgfCA4Mzg4NjA5LjAgfCAweDRiMDAwMDAx ICAgIHwgODM4ODYwOS4wICAgfA0KICArLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rDQogDQpBbGwgc2luZ2xlIGZsb2F0aW5n IHBvaW50IGdsdGUgODM4ODYwOC4wIHdpbGwgaGF2ZSBhbGwgemVybyBtYW50 aXNhYS4NCldlIGxldmVyYWdlIHZtZmx0IGFuZCBtYXNrIHRvIGZpbHRlciB0 aGVtIG91dCBpbiB2ZWN0b3IgYW5kIG9ubHkgZG8gdGhlDQpjdnQgb24gbWFz ay4NCiANCkJlZm9yIHRoaXMgcGF0Y2g6DQptYXRoLWZsb29yLTEuYzoyMTox OiBtaXNzZWQ6IGNvdWxkbid0IHZlY3Rvcml6ZSBsb29wDQogIC4uLg0KLkwz Og0KICBmbHcgICAgIGZhMCwwKHMwKQ0KICBhZGRpICAgIHMwLHMwLDQNCiAg YWRkaSAgICBzMSxzMSw0DQogIGNhbGwgICAgY2VpbGYNCiAgZnN3ICAgICBm YTAsLTQoczEpDQogIGJuZSAgICAgczAsczIsLkwzDQogDQpBZnRlciB0aGlz IHBhdGNoOg0KICAuLi4NCiAgZnNybWkgICAgICAgMiAgIC8vIFJvdW5kaW5n IERvd24NCi5MNDoNCiAgdmZhYnMudiAgICAgdjEsdjINCiAgdm1mbHQudmYg ICAgdjAsdjEsZmE1DQogIHZmY3Z0LnguZi52IHYzLHYyLHYwLnQNCiAgdmZj dnQuZi54LnYgdjEsdjMsdjAudA0KICB2ZnNnbmoudnYgICB2MSx2MSx2Mg0K ICBibmUgICAgICAgICAuTDQNCi5MMTQ6DQogIGZzcm0gICAgICAgIGE2DQog IHJldA0KIA0KUGxlYXNlIG5vdGUgVkxTIG1vZGUgaXMgYWxzbyBpbnZvbHZl ZCBpbiB0aGlzIHBhdGNoIGFuZCBjb3ZlcmVkIGJ5IHRoZQ0KdGVzdCBjYXNl cy4NCiANCmdjYy9DaGFuZ2VMb2c6DQogDQoqIGNvbmZpZy9yaXNjdi9hdXRv dmVjLm1kIChmbG9vcjxtb2RlPjIpOiBOZXcgcGF0dGVybi4NCiogY29uZmln L3Jpc2N2L3Jpc2N2LXByb3Rvcy5oIChlbnVtIGluc25fZmxhZ3MpOiBOZXcg ZW51bSB0eXBlLg0KKGVudW0gaW5zbl90eXBlKTogRGl0dG8uDQooZXhwYW5k X3ZlY19mbG9vcik6IE5ldyBmdW5jdGlvbiBkZWNsLg0KKiBjb25maWcvcmlz Y3YvcmlzY3Ytdi5jYyAoZ2VuX2Zsb29yX2NvbnN0X2ZwKTogTmV3IGZ1bmN0 aW9uIGltcGwuDQooZXhwYW5kX3ZlY19mbG9vcik6IERpdHRvLg0KIA0KZ2Nj L3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6DQogDQoqIGdjYy50YXJnZXQvcmlzY3Yv cnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLTAuYzogTmV3IHRlc3QuDQoq IGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29y LTEuYzogTmV3IHRlc3QuDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92 ZWMvdW5vcC9tYXRoLWZsb29yLTIuYzogTmV3IHRlc3QuDQoqIGdjYy50YXJn ZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLTMuYzogTmV3 IHRlc3QuDQoqIGdjYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9t YXRoLWZsb29yLXJ1bi0wLmM6IE5ldyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jp c2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci1ydW4tMS5jOiBOZXcg dGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21h dGgtZmxvb3ItcnVuLTIuYzogTmV3IHRlc3QuDQoqIGdjYy50YXJnZXQvcmlz Y3YvcnZ2L2F1dG92ZWMvdmxzL21hdGgtZmxvb3ItMS5jOiBOZXcgdGVzdC4N CiANClNpZ25lZC1vZmYtYnk6IFBhbiBMaSA8cGFuMi5saUBpbnRlbC5jb20+ DQotLS0NCmdjYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZCAgICAgICAgICAg ICAgICAgICB8IDExICsrKysNCmdjYy9jb25maWcvcmlzY3YvcmlzY3YtcHJv dG9zLmggICAgICAgICAgICAgICB8ICA1ICsrDQpnY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2LXYuY2MgICAgICAgICAgICAgICAgICAgfCAzNSArKysrKysrKysr Ky0NCi4uLi9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMC5j ICAgICB8IDIzICsrKysrKysrDQouLi4vcmlzY3YvcnZ2L2F1dG92ZWMvdW5v cC9tYXRoLWZsb29yLTEuYyAgICAgfCAyMyArKysrKysrKw0KLi4uL3Jpc2N2 L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci0yLmMgICAgIHwgMjMgKysr KysrKysNCi4uLi9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3It My5jICAgICB8IDI1ICsrKysrKysrKw0KLi4uL3Jpc2N2L3J2di9hdXRvdmVj L3Vub3AvbWF0aC1mbG9vci1ydW4tMC5jIHwgMzkgKysrKysrKysrKysrKw0K Li4uL3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci1ydW4tMS5j IHwgMzkgKysrKysrKysrKysrKw0KLi4uL3Jpc2N2L3J2di9hdXRvdmVjL3Vu b3AvbWF0aC1mbG9vci1ydW4tMi5jIHwgMzkgKysrKysrKysrKysrKw0KLi4u L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy9tYXRoLWZsb29yLTEuYyAgICAgIHwg NTYgKysrKysrKysrKysrKysrKysrKw0KMTEgZmlsZXMgY2hhbmdlZCwgMzE2 IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQpjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRv dmVjL3Vub3AvbWF0aC1mbG9vci0wLmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5v cC9tYXRoLWZsb29yLTEuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgt Zmxvb3ItMi5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci0z LmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0wLmMN CmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0xLmMNCmNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0yLmMNCmNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2F1dG92ZWMvdmxzL21hdGgtZmxvb3ItMS5jDQogDQpkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZy9yaXNjdi9hdXRvdmVjLm1kIGIvZ2NjL2NvbmZpZy9y aXNjdi9hdXRvdmVjLm1kDQppbmRleCA2ZjM1ZmIxYmQ5ZS4uYTAwNWUxNzQ1 N2UgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L2F1dG92ZWMubWQN CisrKyBiL2djYy9jb25maWcvcmlzY3YvYXV0b3ZlYy5tZA0KQEAgLTIyMDks NiArMjIwOSw3IEBAIChkZWZpbmVfZXhwYW5kICI8dT5hdmc8dl9kb3VibGVf dHJ1bmM+M19jZWlsIg0KOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KOzsgSW5jbHVkZXM6DQo7OyAtIGNlaWwvY2VpbGYNCis7OyAtIGZsb29y L2Zsb29yZg0KOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKGRl ZmluZV9leHBhbmQgImNlaWw8bW9kZT4yIg0KICAgWyhtYXRjaF9vcGVyYW5k OlZfVkxTRiAwICJyZWdpc3Rlcl9vcGVyYW5kIikNCkBAIC0yMjE5LDMgKzIy MjAsMTMgQEAgKGRlZmluZV9leHBhbmQgImNlaWw8bW9kZT4yIg0KICAgICBE T05FOw0KICAgfQ0KKQ0KKw0KKyhkZWZpbmVfZXhwYW5kICJmbG9vcjxtb2Rl PjIiDQorICBbKG1hdGNoX29wZXJhbmQ6Vl9WTFNGIDAgInJlZ2lzdGVyX29w ZXJhbmQiKQ0KKyAgIChtYXRjaF9vcGVyYW5kOlZfVkxTRiAxICJyZWdpc3Rl cl9vcGVyYW5kIildDQorICAiVEFSR0VUX1ZFQ1RPUiAmJiAhZmxhZ190cmFw cGluZ19tYXRoICYmICFmbGFnX3JvdW5kaW5nX21hdGgiDQorICB7DQorICAg IHJpc2N2X3ZlY3Rvcjo6ZXhwYW5kX3ZlY19mbG9vciAob3BlcmFuZHNbMF0s IG9wZXJhbmRzWzFdLCA8TU9ERT5tb2RlLCA8VkNPTlZFUlQ+bW9kZSk7DQor ICAgIERPTkU7DQorICB9DQorKQ0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcv cmlzY3YvcmlzY3YtcHJvdG9zLmggYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LXByb3Rvcy5oDQppbmRleCAzNGJlY2ZiYWJhOC4uNjNlYjI0NzU3MDUgMTAw NjQ0DQotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5oDQor KysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rvcy5oDQpAQCAtMjUz LDYgKzI1Myw5IEBAIGVudW0gaW5zbl9mbGFncyA6IHVuc2lnbmVkIGludA0K ICAgLyogTWVhbnMgSU5TTiBoYXMgRlJNIG9wZXJhbmQgYW5kIHRoZSB2YWx1 ZSBpcyBGUk1fUlVQLiAgKi8NCiAgIEZSTV9SVVBfUCA9IDEgPDwgMTYsDQor DQorICAvKiBNZWFucyBJTlNOIGhhcyBGUk0gb3BlcmFuZCBhbmQgdGhlIHZh bHVlIGlzIEZSTV9SRE4uICAqLw0KKyAgRlJNX1JETl9QID0gMSA8PCAxNywN Cn07DQplbnVtIGluc25fdHlwZSA6IHVuc2lnbmVkIGludA0KQEAgLTI5NCw2 ICsyOTcsNyBAQCBlbnVtIGluc25fdHlwZSA6IHVuc2lnbmVkIGludA0KICAg VU5BUllfT1BfVEFNVSA9IF9fTUFTS19PUF9UQU1VIHwgVU5BUllfT1BfUCwN CiAgIFVOQVJZX09QX0ZSTV9EWU4gPSBVTkFSWV9PUCB8IEZSTV9EWU5fUCwN CiAgIFVOQVJZX09QX1RBTVVfRlJNX1JVUCA9IFVOQVJZX09QX1RBTVUgfCBG Uk1fUlVQX1AsDQorICBVTkFSWV9PUF9UQU1VX0ZSTV9SRE4gPSBVTkFSWV9P UF9UQU1VIHwgRlJNX1JETl9QLA0KICAgLyogQmluYXJ5IG9wZXJhdG9yLiAg Ki8NCiAgIEJJTkFSWV9PUCA9IF9fTk9STUFMX09QIHwgQklOQVJZX09QX1As DQpAQCAtNDU1LDYgKzQ1OSw3IEBAIHZvaWQgZXhwYW5kX2NvbmRfbGVuX3Vu b3AgKHVuc2lnbmVkLCBydHggKik7DQp2b2lkIGV4cGFuZF9jb25kX2xlbl9i aW5vcCAodW5zaWduZWQsIHJ0eCAqKTsNCnZvaWQgZXhwYW5kX3JlZHVjdGlv biAodW5zaWduZWQsIHVuc2lnbmVkLCBydHggKiwgcnR4KTsNCnZvaWQgZXhw YW5kX3ZlY19jZWlsIChydHgsIHJ0eCwgbWFjaGluZV9tb2RlLCBtYWNoaW5l X21vZGUpOw0KK3ZvaWQgZXhwYW5kX3ZlY19mbG9vciAocnR4LCBydHgsIG1h Y2hpbmVfbW9kZSwgbWFjaGluZV9tb2RlKTsNCiNlbmRpZg0KYm9vbCBzZXc2 NF9zY2FsYXJfaGVscGVyIChydHggKiwgcnR4ICosIHJ0eCwgbWFjaGluZV9t b2RlLA0KICBib29sLCB2b2lkICgqKShydHggKiwgcnR4KSk7DQpkaWZmIC0t Z2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12LmNjIGIvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi12LmNjDQppbmRleCAyNTFkODI3ZDk3My4uYzI0NjZi MTM1NGYgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXYu Y2MNCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytdi5jYw0KQEAgLTMy Niw4ICszMjYsMTAgQEAgcHVibGljOg0KICAgICAvKiBBZGQgcm91bmRpbmcg bW9kZSBvcGVyYW5kLiAgKi8NCiAgICAgaWYgKG1faW5zbl9mbGFncyAmIEZS TV9EWU5fUCkNCiAgICAgICBhZGRfcm91bmRpbmdfbW9kZV9vcGVyYW5kIChG Uk1fRFlOKTsNCi0gICAgaWYgKG1faW5zbl9mbGFncyAmIEZSTV9SVVBfUCkN CisgICAgZWxzZSBpZiAobV9pbnNuX2ZsYWdzICYgRlJNX1JVUF9QKQ0KICAg ICAgIGFkZF9yb3VuZGluZ19tb2RlX29wZXJhbmQgKEZSTV9SVVApOw0KKyAg ICBlbHNlIGlmIChtX2luc25fZmxhZ3MgJiBGUk1fUkROX1ApDQorICAgICAg YWRkX3JvdW5kaW5nX21vZGVfb3BlcmFuZCAoRlJNX1JETik7DQogICAgIGdj Y19hc3NlcnQgKGluc25fZGF0YVsoaW50KSBpY29kZV0ubl9vcGVyYW5kcyA9 PSBtX29wbm8pOw0KICAgICBleHBhbmQgKGljb2RlLCBhbnlfbWVtX3ApOw0K QEAgLTM1NTYsNiArMzU1OCwxMyBAQCBnZW5fY2VpbF9jb25zdF9mcCAobWFj aGluZV9tb2RlIGlubmVyX21vZGUpDQogICByZXR1cm4gY29uc3RfZG91Ymxl X2Zyb21fcmVhbF92YWx1ZSAocmVhbCwgaW5uZXJfbW9kZSk7DQp9DQorc3Rh dGljIHJ0eA0KK2dlbl9mbG9vcl9jb25zdF9mcCAobWFjaGluZV9tb2RlIGlu bmVyX21vZGUpDQorew0KKyAgLyogVGhlIGZsb29yIG5lZWRzIHRoZSBzYW1l IGZsb2F0aW5nIHBvaW50IGNvbnN0IGFzIGNlaWwuICAqLw0KKyAgcmV0dXJu IGdlbl9jZWlsX2NvbnN0X2ZwIChpbm5lcl9tb2RlKTsNCit9DQorDQpzdGF0 aWMgcnR4DQplbWl0X3ZlY19mbG9hdF9jbXBfbWFzayAocnR4IGZwX3ZlY3Rv ciwgcnR4X2NvZGUgY29kZSwgcnR4IGZwX3NjYWxhciwNCm1hY2hpbmVfbW9k ZSB2ZWNfZnBfbW9kZSkNCkBAIC0zNjM1LDcgKzM2NDQsMjkgQEAgZXhwYW5k X3ZlY19jZWlsIChydHggb3BfMCwgcnR4IG9wXzEsIG1hY2hpbmVfbW9kZSB2 ZWNfZnBfbW9kZSwNCiAgICAgIHRvIGludCBjb252ZXJzaW9uLiAgKi8NCiAg IGVtaXRfdmVjX2N2dF9mX3ggKG9wXzAsIHRtcCwgbWFzaywgVU5BUllfT1Bf VEFNVV9GUk1fUlVQLCB2ZWNfZnBfbW9kZSk7DQotICAvKiBTdGVwLTU6IFJl dHJpZXZlIHRoZSBzaWduIGJpdC4gICovDQorICAvKiBTdGVwLTU6IFJldHJp ZXZlIHRoZSBzaWduIGJpdCBmb3IgLTAuMC4gICovDQorICBlbWl0X3ZlY19j b3B5c2lnbiAob3BfMCwgb3BfMCwgb3BfMSwgdmVjX2ZwX21vZGUpOw0KK30N CisNCit2b2lkDQorZXhwYW5kX3ZlY19mbG9vciAocnR4IG9wXzAsIHJ0eCBv cF8xLCBtYWNoaW5lX21vZGUgdmVjX2ZwX21vZGUsDQorICAgbWFjaGluZV9t b2RlIHZlY19pbnRfbW9kZSkNCit7DQorICAvKiBTdGVwLTE6IEdldCB0aGUg YWJzIGZsb2F0IHZhbHVlIGZvciBtYXNrIGdlbmVyYXRpb24uICAqLw0KKyAg ZW1pdF92ZWNfYWJzIChvcF8wLCBvcF8xLCB2ZWNfZnBfbW9kZSk7DQorDQor ICAvKiBTdGVwLTI6IEdlbmVyYXRlIHRoZSBtYXNrIG9uIGNvbnN0IGZwLiAg Ki8NCisgIHJ0eCBjb25zdF9mcCA9IGdlbl9mbG9vcl9jb25zdF9mcCAoR0VU X01PREVfSU5ORVIgKHZlY19mcF9tb2RlKSk7DQorICBydHggbWFzayA9IGVt aXRfdmVjX2Zsb2F0X2NtcF9tYXNrIChvcF8wLCBMVCwgY29uc3RfZnAsIHZl Y19mcF9tb2RlKTsNCisNCisgIC8qIFN0ZXAtMzogQ29udmVydCB0byBpbnRl Z2VyIG9uIG1hc2ssIHdpdGggcm91bmRpbmcgZG93biAoYWthIGZsb29yKS4g ICovDQorICBydHggdG1wID0gZ2VuX3JlZ19ydHggKHZlY19pbnRfbW9kZSk7 DQorICBlbWl0X3ZlY19jdnRfeF9mICh0bXAsIG9wXzEsIG1hc2ssIFVOQVJZ X09QX1RBTVVfRlJNX1JETiwgdmVjX2ZwX21vZGUpOw0KKw0KKyAgLyogU3Rl cC00OiBDb252ZXJ0IHRvIGZsb2F0aW5nLXBvaW50IG9uIG1hc2sgZm9yIHRo ZSBmbG9vciByZXN1bHQuICAqLw0KKyAgZW1pdF92ZWNfY3Z0X2ZfeCAob3Bf MCwgdG1wLCBtYXNrLCBVTkFSWV9PUF9UQU1VX0ZSTV9SRE4sIHZlY19mcF9t b2RlKTsNCisNCisgIC8qIFN0ZXAtNTogUmV0cmlldmUgdGhlIHNpZ24gYml0 IGZvciAtMC4wLiAgKi8NCiAgIGVtaXRfdmVjX2NvcHlzaWduIChvcF8wLCBv cF8wLCBvcF8xLCB2ZWNfZnBfbW9kZSk7DQp9DQpkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3Av bWF0aC1mbG9vci0wLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLTAuYw0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi4zM2IxNjkzOTViZg0K LS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci0wLmMNCkBAIC0w LDAgKzEsMjMgQEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsg ZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3ZfenZmaCAtbWFiaT1scDY0ZCAt TzMgLWZ0cmVlLXZlY3Rvcml6ZSAtZm5vLXZlY3QtY29zdC1tb2RlbCAtZmZh c3QtbWF0aCAtZm5vLXNjaGVkdWxlLWluc25zIC1mbm8tc2NoZWR1bGUtaW5z bnMyIiB9ICovDQorLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJv ZGllcyAiKioiICIiIH0gfSAqLw0KKw0KKyNpbmNsdWRlICJ0ZXN0LW1hdGgu aCINCisNCisvKg0KKyoqIHRlc3RfX0Zsb2F0MTZfX19idWlsdGluX2Zsb29y ZjE2Og0KKyoqICAgZnJybVxzK1thdHhdWzAtOV0rDQorKiogICAuLi4NCisq KiAgIGZzcm1pXHMrMg0KKyoqICAgLi4uDQorKiogICB2c2V0dmxpXHMrW2F0 eF1bMC05XSssXHMqemVybyxccyplMTYsXHMqbTEsXHMqdGEsXHMqbXUNCisq KiAgIHZmYWJzXC52XHMrdlswLTldKyxccyp2WzAtOV0rDQorKiogICB2bWZs dFwudmZccyt2MCxccyp2WzAtOV0rLFxzKltmYV0rWzAtOV0rDQorKiogICB2 ZmN2dFwueFwuZlwudlxzK3ZbMC05XSssXHMqdlswLTldKyxccyp2MFwudA0K KyoqICAgdmZjdnRcLmZcLnhcLnZccyt2WzAtOV0rLFxzKnZbMC05XSssXHMq djBcLnQNCisqKiAgIHZmc2dualwudnZccyt2WzAtOV0rLHZbMC05XSssdlsw LTldKw0KKyoqICAgLi4uDQorKiogICBmc3JtXHMrW2F0eF1bMC05XSsNCisq KiAgIC4uLg0KKyovDQorVEVTVF9VTkFSWV9DQUxMIChfRmxvYXQxNiwgX19i dWlsdGluX2Zsb29yZjE2KQ0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3It MS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRv dmVjL3Vub3AvbWF0aC1mbG9vci0xLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQppbmRleCAwMDAwMDAwMDAwMC4uNWM0NjJjNDI0ZGYNCi0tLSAvZGV2L251 bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYv YXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMS5jDQpAQCAtMCwwICsxLDIzIEBA DQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMg Ii1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRkIC1PMyAtZnRyZWUtdmVjdG9y aXplIC1mbm8tdmVjdC1jb3N0LW1vZGVsIC1mZmFzdC1tYXRoIC1mbm8tc2No ZWR1bGUtaW5zbnMgLWZuby1zY2hlZHVsZS1pbnNuczIiIH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgfSB9 ICovDQorDQorI2luY2x1ZGUgInRlc3QtbWF0aC5oIg0KKw0KKy8qDQorKiog dGVzdF9mbG9hdF9fX2J1aWx0aW5fZmxvb3JmOg0KKyoqICAgZnJybVxzK1th dHhdWzAtOV0rDQorKiogICAuLi4NCisqKiAgIGZzcm1pXHMrMg0KKyoqICAg Li4uDQorKiogICB2c2V0dmxpXHMrW2F0eF1bMC05XSssXHMqemVybyxccypl MzIsXHMqbTEsXHMqdGEsXHMqbXUNCisqKiAgIHZmYWJzXC52XHMrdlswLTld Kyxccyp2WzAtOV0rDQorKiogICB2bWZsdFwudmZccyt2MCxccyp2WzAtOV0r LFxzKltmYV0rWzAtOV0rDQorKiogICB2ZmN2dFwueFwuZlwudlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2MFwudA0KKyoqICAgdmZjdnRcLmZcLnhcLnZc cyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdjBcLnQNCisqKiAgIHZmc2dualwu dnZccyt2WzAtOV0rLHZbMC05XSssdlswLTldKw0KKyoqICAgLi4uDQorKiog ICBmc3JtXHMrW2F0eF1bMC05XSsNCisqKiAgIC4uLg0KKyovDQorVEVTVF9V TkFSWV9DQUxMIChmbG9hdCwgX19idWlsdGluX2Zsb29yZikNCmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92 ZWMvdW5vcC9tYXRoLWZsb29yLTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItMi5jDQpu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjZmMDdh ZGQxMDA0DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLTIu Yw0KQEAgLTAsMCArMSwyMyBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICov DQorLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0 ZCAtTzMgLWZ0cmVlLXZlY3Rvcml6ZSAtZm5vLXZlY3QtY29zdC1tb2RlbCAt ZmZhc3QtbWF0aCAtZm5vLXNjaGVkdWxlLWluc25zIC1mbm8tc2NoZWR1bGUt aW5zbnMyIiB9ICovDQorLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9u LWJvZGllcyAiKioiICIiIH0gfSAqLw0KKw0KKyNpbmNsdWRlICJ0ZXN0LW1h dGguaCINCisNCisvKg0KKyoqIHRlc3RfZG91YmxlX19fYnVpbHRpbl9mbG9v cjoNCisqKiAgIGZycm1ccytbYXR4XVswLTldKw0KKyoqICAgLi4uDQorKiog ICBmc3JtaVxzKzINCisqKiAgIC4uLg0KKyoqICAgdnNldHZsaVxzK1thdHhd WzAtOV0rLFxzKnplcm8sXHMqZTY0LFxzKm0xLFxzKnRhLFxzKm11DQorKiog ICB2ZmFic1wudlxzK3ZbMC05XSssXHMqdlswLTldKw0KKyoqICAgdm1mbHRc LnZmXHMrdjAsXHMqdlswLTldKyxccypbZmFdK1swLTldKw0KKyoqICAgdmZj dnRcLnhcLmZcLnZccyt2WzAtOV0rLFxzKnZbMC05XSssXHMqdjBcLnQNCisq KiAgIHZmY3Z0XC5mXC54XC52XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnYw XC50DQorKiogICB2ZnNnbmpcLnZ2XHMrdlswLTldKyx2WzAtOV0rLHZbMC05 XSsNCisqKiAgIC4uLg0KKyoqICAgZnNybVxzK1thdHhdWzAtOV0rDQorKiog ICAuLi4NCisqLw0KK1RFU1RfVU5BUllfQ0FMTCAoZG91YmxlLCBfX2J1aWx0 aW5fZmxvb3IpDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci0zLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5v cC9tYXRoLWZsb29yLTMuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4 IDAwMDAwMDAwMDAwLi5hMDkxZmZkYWI1MA0KLS0tIC9kZXYvbnVsbA0KKysr IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVj L3Vub3AvbWF0aC1mbG9vci0zLmMNCkBAIC0wLDAgKzEsMjUgQEANCisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNo PXJ2NjRnY3YgLW1hYmk9bHA2NGQgLU8zIC1mdHJlZS12ZWN0b3JpemUgLWZu by12ZWN0LWNvc3QtbW9kZWwgLWZmYXN0LW1hdGggLWZuby1zY2hlZHVsZS1p bnNucyAtZm5vLXNjaGVkdWxlLWluc25zMiIgfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBjaGVjay1mdW5jdGlvbi1ib2RpZXMgIioqIiAiIiB9IH0gKi8NCisN CisjaW5jbHVkZSAidGVzdC1tYXRoLmgiDQorDQorLyoNCisqKiB0ZXN0X2Zs b2F0X19fYnVpbHRpbl9mbG9vcmY6DQorKiogICBmcnJtXHMrW2F0eF1bMC05 XSsNCisqKiAgIC4uLg0KKyoqICAgZnNybWlccysyDQorKiogICAuLi4NCisq KiAgIHZzZXR2bGlccytbYXR4XVswLTldKyxccyp6ZXJvLFxzKmUzMixccypt MSxccyp0YSxccyptdQ0KKyoqICAgdmZhYnNcLnZccyt2WzAtOV0rLFxzKnZb MC05XSsNCisqKiAgIHZtZmx0XC52ZlxzK3YwLFxzKnZbMC05XSssXHMqW2Zh XStbMC05XSsNCisqKiAgIHZmY3Z0XC54XC5mXC52XHMrdlswLTldKyxccyp2 WzAtOV0rLFxzKnYwXC50DQorKiogICB2ZmN2dFwuZlwueFwudlxzK3ZbMC05 XSssXHMqdlswLTldKyxccyp2MFwudA0KKyoqICAgdmZzZ25qXC52dlxzK3Zb MC05XSssdlswLTldKyx2WzAtOV0rDQorKiogICAuLi4NCisqKiAgIHZtZXJn ZVwudnZtXHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAN CisqKiAgIC4uLg0KKyoqICAgZnNybVxzK1thdHhdWzAtOV0rDQorKiogICAu Li4NCisqLw0KK1RFU1RfQ09ORF9VTkFSWV9DQUxMIChmbG9hdCwgX19idWls dGluX2Zsb29yZikNCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0w LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92 ZWMvdW5vcC9tYXRoLWZsb29yLXJ1bi0wLmMNCm5ldyBmaWxlIG1vZGUgMTAw NjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uYWJkNDVkMzBiMDYNCi0tLSAvZGV2 L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItcnVuLTAuYw0KQEAgLTAsMCAr MSwzOSBAQA0KKy8qIHsgZGctZG8gcnVuIHsgdGFyZ2V0IHsgcmlzY3ZfdmVj dG9yIH0gfSB9ICovDQorLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1z dGQ9YzJ4IC1PMyAtZnRyZWUtdmVjdG9yaXplIC1mbm8tdmVjdC1jb3N0LW1v ZGVsIC1mZmFzdC1tYXRoIiB9ICovDQorDQorI2luY2x1ZGUgInRlc3QtbWF0 aC5oIg0KKw0KKyNkZWZpbmUgQVJSQVlfU0laRSAxMjgNCisNCitfRmxvYXQx NiBpbltBUlJBWV9TSVpFXTsNCitfRmxvYXQxNiBvdXRbQVJSQVlfU0laRV07 DQorX0Zsb2F0MTYgcmVmW0FSUkFZX1NJWkVdOw0KKw0KK1RFU1RfVU5BUllf Q0FMTCAoX0Zsb2F0MTYsIF9fYnVpbHRpbl9mbG9vcmYxNikNCitURVNUX0FT U0VSVCAoX0Zsb2F0MTYpDQorDQorVEVTVF9JTklUIChfRmxvYXQxNiwgMS4y LCAyLjAsIDEpDQorVEVTVF9JTklUIChfRmxvYXQxNiwgLTEuMiwgLTEuMCwg MikNCitURVNUX0lOSVQgKF9GbG9hdDE2LCAzLjAsIDMuMCwgMykNCitURVNU X0lOSVQgKF9GbG9hdDE2LCAxMDIzLjUsIDEwMjQuMCwgNCkNCitURVNUX0lO SVQgKF9GbG9hdDE2LCAxMDI1LjAsIDEwMjUuMCwgNSkNCitURVNUX0lOSVQg KF9GbG9hdDE2LCAwLjAsIDAuMCwgNikNCitURVNUX0lOSVQgKF9GbG9hdDE2 LCAtMC4wLCAtMC4wLCA3KQ0KK1RFU1RfSU5JVCAoX0Zsb2F0MTYsIC0xMDIz LjUsIC0xMDI0LjAsIDgpDQorVEVTVF9JTklUIChfRmxvYXQxNiwgLTEwMjQu MCwgLTEwMjQuMCwgOSkNCisNCitpbnQNCittYWluICgpDQorew0KKyAgUlVO X1RFU1QgKF9GbG9hdDE2LCAxLCBfX2J1aWx0aW5fZmxvb3JmMTYsIGluLCBv dXQsIHJlZiwgQVJSQVlfU0laRSk7DQorICBSVU5fVEVTVCAoX0Zsb2F0MTYs IDIsIF9fYnVpbHRpbl9mbG9vcmYxNiwgaW4sIG91dCwgcmVmLCBBUlJBWV9T SVpFKTsNCisgIFJVTl9URVNUIChfRmxvYXQxNiwgMywgX19idWlsdGluX2Zs b29yZjE2LCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RF U1QgKF9GbG9hdDE2LCA0LCBfX2J1aWx0aW5fZmxvb3JmMTYsIGluLCBvdXQs IHJlZiwgQVJSQVlfU0laRSk7DQorICBSVU5fVEVTVCAoX0Zsb2F0MTYsIDUs IF9fYnVpbHRpbl9mbG9vcmYxNiwgaW4sIG91dCwgcmVmLCBBUlJBWV9TSVpF KTsNCisgIFJVTl9URVNUIChfRmxvYXQxNiwgNiwgX19idWlsdGluX2Zsb29y ZjE2LCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1Qg KF9GbG9hdDE2LCA3LCBfX2J1aWx0aW5fZmxvb3JmMTYsIGluLCBvdXQsIHJl ZiwgQVJSQVlfU0laRSk7DQorICBSVU5fVEVTVCAoX0Zsb2F0MTYsIDgsIF9f YnVpbHRpbl9mbG9vcmYxNiwgaW4sIG91dCwgcmVmLCBBUlJBWV9TSVpFKTsN CisgIFJVTl9URVNUIChfRmxvYXQxNiwgOSwgX19idWlsdGluX2Zsb29yZjE2 LCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKw0KKyAgcmV0dXJuIDA7 DQorfQ0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItcnVuLTEuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9w L21hdGgtZmxvb3ItcnVuLTEuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmlu ZGV4IDAwMDAwMDAwMDAwLi5kNjY5MDVkNDIzMA0KLS0tIC9kZXYvbnVsbA0K KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRv dmVjL3Vub3AvbWF0aC1mbG9vci1ydW4tMS5jDQpAQCAtMCwwICsxLDM5IEBA DQorLyogeyBkZy1kbyBydW4geyB0YXJnZXQgeyByaXNjdl92ZWN0b3IgfSB9 IH0gKi8NCisvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLXN0ZD1jOTkg LU8zIC1mdHJlZS12ZWN0b3JpemUgLWZuby12ZWN0LWNvc3QtbW9kZWwgLWZm YXN0LW1hdGgiIH0gKi8NCisNCisjaW5jbHVkZSAidGVzdC1tYXRoLmgiDQor DQorI2RlZmluZSBBUlJBWV9TSVpFIDEyOA0KKw0KK2Zsb2F0IGluW0FSUkFZ X1NJWkVdOw0KK2Zsb2F0IG91dFtBUlJBWV9TSVpFXTsNCitmbG9hdCByZWZb QVJSQVlfU0laRV07DQorDQorVEVTVF9VTkFSWV9DQUxMIChmbG9hdCwgX19i dWlsdGluX2Zsb29yZikNCitURVNUX0FTU0VSVCAoZmxvYXQpDQorDQorVEVT VF9JTklUIChmbG9hdCwgMS4yLCAxLjAsIDEpDQorVEVTVF9JTklUIChmbG9h dCwgLTEuMiwgLTIuMCwgMikNCitURVNUX0lOSVQgKGZsb2F0LCAzLjAsIDMu MCwgMykNCitURVNUX0lOSVQgKGZsb2F0LCA4Mzg4NjA3LjUsIDgzODg2MDcu MCwgNCkNCitURVNUX0lOSVQgKGZsb2F0LCA4Mzg4NjA5LjAsIDgzODg2MDku MCwgNSkNCitURVNUX0lOSVQgKGZsb2F0LCAwLjAsIDAuMCwgNikNCitURVNU X0lOSVQgKGZsb2F0LCAtMC4wLCAtMC4wLCA3KQ0KK1RFU1RfSU5JVCAoZmxv YXQsIC04Mzg4NjA3LjUsIC04Mzg4NjA4LjAsIDgpDQorVEVTVF9JTklUIChm bG9hdCwgLTgzODg2MDguMCwgLTgzODg2MDguMCwgOSkNCisNCitpbnQNCitt YWluICgpDQorew0KKyAgUlVOX1RFU1QgKGZsb2F0LCAxLCBfX2J1aWx0aW5f Zmxvb3JmLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RF U1QgKGZsb2F0LCAyLCBfX2J1aWx0aW5fZmxvb3JmLCBpbiwgb3V0LCByZWYs IEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGZsb2F0LCAzLCBfX2J1aWx0 aW5fZmxvb3JmLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVO X1RFU1QgKGZsb2F0LCA0LCBfX2J1aWx0aW5fZmxvb3JmLCBpbiwgb3V0LCBy ZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGZsb2F0LCA1LCBfX2J1 aWx0aW5fZmxvb3JmLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAg UlVOX1RFU1QgKGZsb2F0LCA2LCBfX2J1aWx0aW5fZmxvb3JmLCBpbiwgb3V0 LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGZsb2F0LCA3LCBf X2J1aWx0aW5fZmxvb3JmLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUpOw0K KyAgUlVOX1RFU1QgKGZsb2F0LCA4LCBfX2J1aWx0aW5fZmxvb3JmLCBpbiwg b3V0LCByZWYsIEFSUkFZX1NJWkUpOw0KKyAgUlVOX1RFU1QgKGZsb2F0LCA5 LCBfX2J1aWx0aW5fZmxvb3JmLCBpbiwgb3V0LCByZWYsIEFSUkFZX1NJWkUp Ow0KKw0KKyAgcmV0dXJuIDA7DQorfQ0KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy91bm9wL21hdGgt Zmxvb3ItcnVuLTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9ydnYvYXV0b3ZlYy91bm9wL21hdGgtZmxvb3ItcnVuLTIuYw0KbmV3IGZp bGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi4zNjdhMTZkZDcx NA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Vub3AvbWF0aC1mbG9vci1ydW4tMi5j DQpAQCAtMCwwICsxLDM5IEBADQorLyogeyBkZy1kbyBydW4geyB0YXJnZXQg eyByaXNjdl92ZWN0b3IgfSB9IH0gKi8NCisvKiB7IGRnLWFkZGl0aW9uYWwt b3B0aW9ucyAiLXN0ZD1jOTkgLU8zIC1mdHJlZS12ZWN0b3JpemUgLWZuby12 ZWN0LWNvc3QtbW9kZWwgLWZmYXN0LW1hdGgiIH0gKi8NCisNCisjaW5jbHVk ZSAidGVzdC1tYXRoLmgiDQorDQorI2RlZmluZSBBUlJBWV9TSVpFIDEyOA0K Kw0KK2RvdWJsZSBpbltBUlJBWV9TSVpFXTsNCitkb3VibGUgb3V0W0FSUkFZ X1NJWkVdOw0KK2RvdWJsZSByZWZbQVJSQVlfU0laRV07DQorDQorVEVTVF9V TkFSWV9DQUxMIChkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitURVNUX0FT U0VSVCAoZG91YmxlKQ0KKw0KK1RFU1RfSU5JVCAoZG91YmxlLCAxLjIsIDEu MCwgMSkNCitURVNUX0lOSVQgKGRvdWJsZSwgLTEuMiwgLTIuMCwgMikNCitU RVNUX0lOSVQgKGRvdWJsZSwgMy4wLCAzLjAsIDMpDQorVEVTVF9JTklUIChk b3VibGUsIDQ1MDM1OTk2MjczNzA0OTUuNSwgNDUwMzU5OTYyNzM3MDQ5NS4w LCA0KQ0KK1RFU1RfSU5JVCAoZG91YmxlLCA0NTAzNTk5NjI3MzcwNDk3LjAs IDQ1MDM1OTk2MjczNzA0OTcuMCwgNSkNCitURVNUX0lOSVQgKGRvdWJsZSwg MC4wLCAwLjAsIDYpDQorVEVTVF9JTklUIChkb3VibGUsIC0wLjAsIC0wLjAs IDcpDQorVEVTVF9JTklUIChkb3VibGUsIC00NTAzNTk5NjI3MzcwNDk1LjUs IC00NTAzNTk5NjI3MzcwNDk2LjAsIDgpDQorVEVTVF9JTklUIChkb3VibGUs IC00NTAzNTk5NjI3MzcwNDk2LjAsIC00NTAzNTk5NjI3MzcwNDk2LjAsIDkp DQorDQoraW50DQorbWFpbiAoKQ0KK3sNCisgIFJVTl9URVNUIChkb3VibGUs IDEsIF9fYnVpbHRpbl9mbG9vciwgaW4sIG91dCwgcmVmLCBBUlJBWV9TSVpF KTsNCisgIFJVTl9URVNUIChkb3VibGUsIDIsIF9fYnVpbHRpbl9mbG9vciwg aW4sIG91dCwgcmVmLCBBUlJBWV9TSVpFKTsNCisgIFJVTl9URVNUIChkb3Vi bGUsIDMsIF9fYnVpbHRpbl9mbG9vciwgaW4sIG91dCwgcmVmLCBBUlJBWV9T SVpFKTsNCisgIFJVTl9URVNUIChkb3VibGUsIDQsIF9fYnVpbHRpbl9mbG9v ciwgaW4sIG91dCwgcmVmLCBBUlJBWV9TSVpFKTsNCisgIFJVTl9URVNUIChk b3VibGUsIDUsIF9fYnVpbHRpbl9mbG9vciwgaW4sIG91dCwgcmVmLCBBUlJB WV9TSVpFKTsNCisgIFJVTl9URVNUIChkb3VibGUsIDYsIF9fYnVpbHRpbl9m bG9vciwgaW4sIG91dCwgcmVmLCBBUlJBWV9TSVpFKTsNCisgIFJVTl9URVNU IChkb3VibGUsIDcsIF9fYnVpbHRpbl9mbG9vciwgaW4sIG91dCwgcmVmLCBB UlJBWV9TSVpFKTsNCisgIFJVTl9URVNUIChkb3VibGUsIDgsIF9fYnVpbHRp bl9mbG9vciwgaW4sIG91dCwgcmVmLCBBUlJBWV9TSVpFKTsNCisgIFJVTl9U RVNUIChkb3VibGUsIDksIF9fYnVpbHRpbl9mbG9vciwgaW4sIG91dCwgcmVm LCBBUlJBWV9TSVpFKTsNCisNCisgIHJldHVybiAwOw0KK30NCmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92 ZWMvdmxzL21hdGgtZmxvb3ItMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy9tYXRoLWZsb29yLTEuYw0KbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi4wNzY1ODBl NmE1OA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3Zscy9tYXRoLWZsb29yLTEuYw0K QEAgLTAsMCArMSw1NiBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQor LyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdl96dmZoX3p2bDQwOTZi IC1tYWJpPWxwNjRkIC1PMyAtLXBhcmFtPXJpc2N2LWF1dG92ZWMtbG11bD1t OCAtZmZhc3QtbWF0aCAtZmR1bXAtdHJlZS1vcHRpbWl6ZWQiIH0gKi8NCisN CisjaW5jbHVkZSAiZGVmLmgiDQorDQorREVGX09QX1YgKGZsb29yZjE2LCAx LCBfRmxvYXQxNiwgX19idWlsdGluX2Zsb29yZjE2KQ0KK0RFRl9PUF9WIChm bG9vcmYxNiwgMiwgX0Zsb2F0MTYsIF9fYnVpbHRpbl9mbG9vcmYxNikNCitE RUZfT1BfViAoZmxvb3JmMTYsIDQsIF9GbG9hdDE2LCBfX2J1aWx0aW5fZmxv b3JmMTYpDQorREVGX09QX1YgKGZsb29yZjE2LCA4LCBfRmxvYXQxNiwgX19i dWlsdGluX2Zsb29yZjE2KQ0KK0RFRl9PUF9WIChmbG9vcmYxNiwgMTYsIF9G bG9hdDE2LCBfX2J1aWx0aW5fZmxvb3JmMTYpDQorREVGX09QX1YgKGZsb29y ZjE2LCAzMiwgX0Zsb2F0MTYsIF9fYnVpbHRpbl9mbG9vcmYxNikNCitERUZf T1BfViAoZmxvb3JmMTYsIDY0LCBfRmxvYXQxNiwgX19idWlsdGluX2Zsb29y ZjE2KQ0KK0RFRl9PUF9WIChmbG9vcmYxNiwgMTI4LCBfRmxvYXQxNiwgX19i dWlsdGluX2Zsb29yZjE2KQ0KK0RFRl9PUF9WIChmbG9vcmYxNiwgMjU2LCBf RmxvYXQxNiwgX19idWlsdGluX2Zsb29yZjE2KQ0KK0RFRl9PUF9WIChmbG9v cmYxNiwgNTEyLCBfRmxvYXQxNiwgX19idWlsdGluX2Zsb29yZjE2KQ0KK0RF Rl9PUF9WIChmbG9vcmYxNiwgMTAyNCwgX0Zsb2F0MTYsIF9fYnVpbHRpbl9m bG9vcmYxNikNCitERUZfT1BfViAoZmxvb3JmMTYsIDIwNDgsIF9GbG9hdDE2 LCBfX2J1aWx0aW5fZmxvb3JmMTYpDQorDQorREVGX09QX1YgKGZsb29yZiwg MSwgZmxvYXQsIF9fYnVpbHRpbl9mbG9vcmYpDQorREVGX09QX1YgKGZsb29y ZiwgMiwgZmxvYXQsIF9fYnVpbHRpbl9mbG9vcmYpDQorREVGX09QX1YgKGZs b29yZiwgNCwgZmxvYXQsIF9fYnVpbHRpbl9mbG9vcmYpDQorREVGX09QX1Yg KGZsb29yZiwgOCwgZmxvYXQsIF9fYnVpbHRpbl9mbG9vcmYpDQorREVGX09Q X1YgKGZsb29yZiwgMTYsIGZsb2F0LCBfX2J1aWx0aW5fZmxvb3JmKQ0KK0RF Rl9PUF9WIChmbG9vcmYsIDMyLCBmbG9hdCwgX19idWlsdGluX2Zsb29yZikN CitERUZfT1BfViAoZmxvb3JmLCA2NCwgZmxvYXQsIF9fYnVpbHRpbl9mbG9v cmYpDQorREVGX09QX1YgKGZsb29yZiwgMTI4LCBmbG9hdCwgX19idWlsdGlu X2Zsb29yZikNCitERUZfT1BfViAoZmxvb3JmLCAyNTYsIGZsb2F0LCBfX2J1 aWx0aW5fZmxvb3JmKQ0KK0RFRl9PUF9WIChmbG9vcmYsIDUxMiwgZmxvYXQs IF9fYnVpbHRpbl9mbG9vcmYpDQorREVGX09QX1YgKGZsb29yZiwgMTAyNCwg ZmxvYXQsIF9fYnVpbHRpbl9mbG9vcmYpDQorDQorREVGX09QX1YgKGZsb29y LCAxLCBkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitERUZfT1BfViAoZmxv b3IsIDIsIGRvdWJsZSwgX19idWlsdGluX2Zsb29yKQ0KK0RFRl9PUF9WIChm bG9vciwgNCwgZG91YmxlLCBfX2J1aWx0aW5fZmxvb3IpDQorREVGX09QX1Yg KGZsb29yLCA4LCBkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitERUZfT1Bf ViAoZmxvb3IsIDE2LCBkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitERUZf T1BfViAoZmxvb3IsIDMyLCBkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikNCitE RUZfT1BfViAoZmxvb3IsIDY0LCBkb3VibGUsIF9fYnVpbHRpbl9mbG9vcikN CitERUZfT1BfViAoZmxvb3IsIDEyOCwgZG91YmxlLCBfX2J1aWx0aW5fZmxv b3IpDQorREVGX09QX1YgKGZsb29yLCAyNTYsIGRvdWJsZSwgX19idWlsdGlu X2Zsb29yKQ0KK0RFRl9PUF9WIChmbG9vciwgNTEyLCBkb3VibGUsIF9fYnVp bHRpbl9mbG9vcikNCisNCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItbm90IHtjc3JyfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10 cmVlLWR1bXAtbm90ICIxLDEiICJvcHRpbWl6ZWQiIH0gfSAqLw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1ub3QgIjIsMiIgIm9wdGltaXpl ZCIgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5v dCAiNCw0IiAib3B0aW1pemVkIiB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi10cmVlLWR1bXAtbm90ICIxNiwxNiIgIm9wdGltaXplZCIgfSB9ICov DQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1wLW5vdCAiMzIsMzIi ICJvcHRpbWl6ZWQiIH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLXRy ZWUtZHVtcC1ub3QgIjY0LDY0IiAib3B0aW1pemVkIiB9IH0gKi8NCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICIxMjgsMTI4IiAib3B0 aW1pemVkIiB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1 bXAtbm90ICIyNTYsMjU2IiAib3B0aW1pemVkIiB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAtbm90ICI1MTIsNTEyIiAib3B0aW1p emVkIiB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi10cmVlLWR1bXAt bm90ICIxMDI0LDEwMjQiICJvcHRpbWl6ZWQiIH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLXRyZWUtZHVtcC1ub3QgIjIwNDgsMjA0OCIgIm9wdGlt aXplZCIgfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tdHJlZS1kdW1w LW5vdCAiNDA5Niw0MDk2IiAib3B0aW1pemVkIiB9IH0gKi8NCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZmY3Z0XC54XC5mXC52 XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnYwXC50fSAzMCB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZmY3Z0XC5m XC54XC52XHMrdlswLTldKyxccyp2WzAtOV0rLFxzKnYwXC50fSAzMCB9IH0g Ki8NCi0tIA0KMi4zNC4xDQogDQogDQo= ------=_001_NextPart037585020271_=------