From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbgau2.qq.com (smtpbgau2.qq.com [54.206.34.216]) by sourceware.org (Postfix) with ESMTPS id 30A9D3858C42 for ; Sun, 4 Feb 2024 02:03:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 30A9D3858C42 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 30A9D3858C42 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.206.34.216 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707012255; cv=none; b=E//9191WykGMkdgS5yiPatVLubJ+8ZCbhADalIVrxGZAcaAJvYm1N68OiFzxSvX5yX6vmZe3NTRshBAGY3HTwHaKi/j+GGXsI6WBtWoqzKMzyFqvgvUu3F7erQ/q5JO02gd7XLjRdUF3Wqy2jwje6a2BmLd7wmtP5LathKj09ZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707012255; c=relaxed/simple; bh=akNUUgUEE6mBaZlnAP3HAOWoh6X9+H+iQzFO8J+W6fk=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=PvGXR8dET33DjlzugJknnWbEUFI0zSbRJwXNywnze8juApiP3VY2wBo+GKwZ+zIDy7+Yrl5+uuP2883zsf9fBTzO8aXn+3tc9cN+K2bu0Ak+OIUGGJD1WpPi9KqqZ6qKHt+XM7XFCkKx1QAtNIsc8N+k1SAWkLpFELa9UP9gs1I= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp69t1707012228t6z4gwbp X-QQ-Originating-IP: NG9pc/U60ifw7KpWo//hfrS5oJxH8bwiqqcntRKwvr8= Received: from LAPTOP-EPITNQBU ( [121.35.182.13]) by bizesmtp.qq.com (ESMTP) with id ; Sun, 04 Feb 2024 10:03:46 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: Mxc3K7F63kzkRBcikKP74kVB6PCsOmEf69zuxpmmPP2Iwd+/7NNKRE6Bj7syJ HdY25g/jtUBdtfbBnRZUOnJBw86/TWI6I0azOwg6lHUDAgWjODXEqN2pSQsv4J79UlImork yaxJzH6IdN0fyGn3ikPNKrsuU5B6qEvhfR9HZSbS2zpoPP6OfNxP3AphqlruMICuzlv29lE FFdVOybI95SY4XlbDoaVSatBbhx/bz+FaD/ea9c+V8fE+n6ir3JoPvLEQuS1HzarK0IxYMa ZKYZlyAG/0SaQCXNcOBWpbiliJYiIinWQzUgjtjX9FfnXa7bsu/R0sK8U9GzS7VCYUeLVs3 DdKqoQWlawxE4xHNjoIOT49ii/j4IYxUEVviF8CZN3nMXbftBlFjmztcTlOgwIVaQ0Hw43d zci19WO31MXgVDlmIuxltw== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 5915094881353723701 Date: Sun, 4 Feb 2024 10:03:49 +0800 From: "juzhe.zhong@rivai.ai" To: kito.cheng Cc: gcc-patches , Kito.cheng , jeffreyalaw , "Robin Dapp" Subject: Re: Re: [PATCH] RISC-V: Allow LICM hoist POLY_INT configuration code sequence References: <20240201154550.316746-1-juzhe.zhong@rivai.ai>, X-Priority: 3 X-GUID: 10FFDF4F-6ED5-40E6-922D-311834B10BD5 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: <4AF20724FCB5A950+202402041003488289149@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart663842080736_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,T_KAM_HTML_FONT_INVALID,T_SCC_BODY_TEXT_LINE,WEIRD_PORT 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_NextPart663842080736_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 SGksICBraXRvIGFuZCBSb2JpbiBhbmQgSmVmZi4NCiANCkkgZGlkbid0IGNv bW1pdCB0aGlzIHBhdGNoIHlldCBzaW5jZSBJIGZvdW5kIHRoZXJlIGlzIGFu IElDRSBjYXVzZWQgYnkgdGhpcyBwYXRjaDoNCg0KZHVyaW5nIFJUTCBwYXNz OiBsb29wMl91bnJvbGwNCmR1bXAgZmlsZTogYnVnLmMuMjg2ci5sb29wMl91 bnJvbGwNCmJ1Zy5jOiBJbiBmdW5jdGlvbiAnY3Jhc2hJdCc6DQpidWcuYzoy MzoxOiBpbnRlcm5hbCBjb21waWxlciBlcnJvcjogaW4gZGVjb21wb3NlLCBh dCB3aWRlLWludC5oOjEwNDkNCiAgIDIzIHwgfQ0KICAgICAgfCBeDQoweDEw NDM5NDYgd2k6OmludF90cmFpdHM8Z2VuZXJpY193aWRlX2ludDx3aWRlX2lu dF9yZWZfc3RvcmFnZTxmYWxzZSwgZmFsc2U+ID4gPjo6ZGVjb21wb3NlKGxv bmcqLCB1bnNpZ25lZCBpbnQsIGdlbmVyaWNfd2lkZV9pbnQ8d2lkZV9pbnRf cmVmX3N0b3JhZ2U8ZmFsc2UsIGZhbHNlPiA+IGNvbnN0JikNCiAgICAgICAg Li4vLi4vLi4vLi4vZ2NjL2djYy93aWRlLWludC5oOjEwNDkNCjB4MTA0M2E4 MCB3aWRlX2ludF9yZWZfc3RvcmFnZTxmYWxzZSwgZmFsc2U+Ojp3aWRlX2lu dF9yZWZfc3RvcmFnZTxnZW5lcmljX3dpZGVfaW50PHdpZGVfaW50X3JlZl9z dG9yYWdlPGZhbHNlLCBmYWxzZT4gPiA+KGdlbmVyaWNfd2lkZV9pbnQ8d2lk ZV9pbnRfcmVmX3N0b3JhZ2U8ZmFsc2UsIGZhbHNlPiA+IGNvbnN0JiwgdW5z aWduZWQgaW50KQ0KICAgICAgICAuLi8uLi8uLi8uLi9nY2MvZ2NjL3dpZGUt aW50Lmg6MTA5OQ0KMHgxMDQyZjcyIGdlbmVyaWNfd2lkZV9pbnQ8d2lkZV9p bnRfcmVmX3N0b3JhZ2U8ZmFsc2UsIGZhbHNlPiA+OjpnZW5lcmljX3dpZGVf aW50PGdlbmVyaWNfd2lkZV9pbnQ8d2lkZV9pbnRfcmVmX3N0b3JhZ2U8ZmFs c2UsIGZhbHNlPiA+ID4oZ2VuZXJpY193aWRlX2ludDx3aWRlX2ludF9yZWZf c3RvcmFnZTxmYWxzZSwgZmFsc2U+ID4gY29uc3QmLCB1bnNpZ25lZCBpbnQp DQogICAgICAgIC4uLy4uLy4uLy4uL2djYy9nY2Mvd2lkZS1pbnQuaDo4NTUN CjB4MTQ1YjVkMCB3aTo6YmluYXJ5X3RyYWl0czxnZW5lcmljX3dpZGVfaW50 PHdpZGVfaW50X3JlZl9zdG9yYWdlPGZhbHNlLCBmYWxzZT4gPiwgZ2VuZXJp Y193aWRlX2ludDx3aWRlX2ludF9yZWZfc3RvcmFnZTxmYWxzZSwgZmFsc2U+ ID4sIHdpOjppbnRfdHJhaXRzPGdlbmVyaWNfd2lkZV9pbnQ8d2lkZV9pbnRf cmVmX3N0b3JhZ2U8ZmFsc2UsIGZhbHNlPiA+ID46OnByZWNpc2lvbl90eXBl LCB3aTo6aW50X3RyYWl0czxnZW5lcmljX3dpZGVfaW50PHdpZGVfaW50X3Jl Zl9zdG9yYWdlPGZhbHNlLCBmYWxzZT4gPiA+OjpwcmVjaXNpb25fdHlwZT46 OnJlc3VsdF90eXBlIHdpOjphZGQ8Z2VuZXJpY193aWRlX2ludDx3aWRlX2lu dF9yZWZfc3RvcmFnZTxmYWxzZSwgZmFsc2U+ID4sIGdlbmVyaWNfd2lkZV9p bnQ8d2lkZV9pbnRfcmVmX3N0b3JhZ2U8ZmFsc2UsIGZhbHNlPiA+ID4oZ2Vu ZXJpY193aWRlX2ludDx3aWRlX2ludF9yZWZfc3RvcmFnZTxmYWxzZSwgZmFs c2U+ID4gY29uc3QmLCBnZW5lcmljX3dpZGVfaW50PHdpZGVfaW50X3JlZl9z dG9yYWdlPGZhbHNlLCBmYWxzZT4gPiBjb25zdCYpDQogICAgICAgIC4uLy4u Ly4uLy4uL2djYy9nY2Mvd2lkZS1pbnQuaDoyODcyDQoweDE0NTg0Mzkgd2k6 OmJpbmFyeV90cmFpdHM8Z2VuZXJpY193aWRlX2ludDx3aWRlX2ludF9yZWZf c3RvcmFnZTxmYWxzZSwgZmFsc2U+ID4sIGdlbmVyaWNfd2lkZV9pbnQ8d2lk ZV9pbnRfcmVmX3N0b3JhZ2U8ZmFsc2UsIGZhbHNlPiA+LCB3aTo6aW50X3Ry YWl0czxnZW5lcmljX3dpZGVfaW50PHdpZGVfaW50X3JlZl9zdG9yYWdlPGZh bHNlLCBmYWxzZT4gPiA+OjpwcmVjaXNpb25fdHlwZSwgd2k6OmludF90cmFp dHM8Z2VuZXJpY193aWRlX2ludDx3aWRlX2ludF9yZWZfc3RvcmFnZTxmYWxz ZSwgZmFsc2U+ID4gPjo6cHJlY2lzaW9uX3R5cGU+OjpvcGVyYXRvcl9yZXN1 bHQgb3BlcmF0b3IrPGdlbmVyaWNfd2lkZV9pbnQ8d2lkZV9pbnRfcmVmX3N0 b3JhZ2U8ZmFsc2UsIGZhbHNlPiA+LCBnZW5lcmljX3dpZGVfaW50PHdpZGVf aW50X3JlZl9zdG9yYWdlPGZhbHNlLCBmYWxzZT4gPiA+KGdlbmVyaWNfd2lk ZV9pbnQ8d2lkZV9pbnRfcmVmX3N0b3JhZ2U8ZmFsc2UsIGZhbHNlPiA+IGNv bnN0JiwgZ2VuZXJpY193aWRlX2ludDx3aWRlX2ludF9yZWZfc3RvcmFnZTxm YWxzZSwgZmFsc2U+ID4gY29uc3QmKQ0KICAgICAgICAuLi8uLi8uLi8uLi9n Y2MvZ2NjL3dpZGUtaW50Lmg6Mzg1Nw0KMHgxOTVmODY2IHBvbHlfaW50PDJ1 LCBwb2x5X3Jlc3VsdDxnZW5lcmljX3dpZGVfaW50PHdpZGVfaW50X3JlZl9z dG9yYWdlPGZhbHNlLCBmYWxzZT4gPiwgZ2VuZXJpY193aWRlX2ludDx3aWRl X2ludF9yZWZfc3RvcmFnZTxmYWxzZSwgZmFsc2U+ID4sIHBvbHlfY29lZmZf cGFpcl90cmFpdHM8Z2VuZXJpY193aWRlX2ludDx3aWRlX2ludF9yZWZfc3Rv cmFnZTxmYWxzZSwgZmFsc2U+ID4sIGdlbmVyaWNfd2lkZV9pbnQ8d2lkZV9p bnRfcmVmX3N0b3JhZ2U8ZmFsc2UsIGZhbHNlPiA+ID46OnJlc3VsdF9raW5k Pjo6dHlwZT4gb3BlcmF0b3IrPDJ1LCBnZW5lcmljX3dpZGVfaW50PHdpZGVf aW50X3JlZl9zdG9yYWdlPGZhbHNlLCBmYWxzZT4gPiwgZ2VuZXJpY193aWRl X2ludDx3aWRlX2ludF9yZWZfc3RvcmFnZTxmYWxzZSwgZmFsc2U+ID4gPihw b2x5X2ludDwydSwgZ2VuZXJpY193aWRlX2ludDx3aWRlX2ludF9yZWZfc3Rv cmFnZTxmYWxzZSwgZmFsc2U+ID4gPiBjb25zdCYsIHBvbHlfaW50PDJ1LCBn ZW5lcmljX3dpZGVfaW50PHdpZGVfaW50X3JlZl9zdG9yYWdlPGZhbHNlLCBm YWxzZT4gPiA+IGNvbnN0JikNCiAgICAgICAgLi4vLi4vLi4vLi4vZ2NjL2dj Yy9wb2x5LWludC5oOjc3Mg0KMHgxOTRkNDIzIHNpbXBsaWZ5X2NvbnN0X2Jp bmFyeV9vcGVyYXRpb24ocnR4X2NvZGUsIG1hY2hpbmVfbW9kZSwgcnR4X2Rl ZiosIHJ0eF9kZWYqKQ0KICAgICAgICAuLi8uLi8uLi8uLi9nY2MvZ2NjL3Np bXBsaWZ5LXJ0eC5jYzo1MzkyDQoweDE5NDAzNzQgc2ltcGxpZnlfY29udGV4 dDo6c2ltcGxpZnlfYmluYXJ5X29wZXJhdGlvbihydHhfY29kZSwgbWFjaGlu ZV9tb2RlLCBydHhfZGVmKiwgcnR4X2RlZiopDQogICAgICAgIC4uLy4uLy4u Ly4uL2djYy9nY2Mvc2ltcGxpZnktcnR4LmNjOjI2NjQNCjB4MTkzNmU2MiBz aW1wbGlmeV9jb250ZXh0OjpzaW1wbGlmeV9nZW5fYmluYXJ5KHJ0eF9jb2Rl LCBtYWNoaW5lX21vZGUsIHJ0eF9kZWYqLCBydHhfZGVmKikNCiAgICAgICAg Li4vLi4vLi4vLi4vZ2NjL2djYy9zaW1wbGlmeS1ydHguY2M6MTgyDQoweDEx YjQzZjYgc2ltcGxpZnlfZ2VuX2JpbmFyeShydHhfY29kZSwgbWFjaGluZV9t b2RlLCBydHhfZGVmKiwgcnR4X2RlZiopDQogICAgICAgIC4uLy4uLy4uLy4u L2djYy9nY2MvcnRsLmg6MzUyOQ0KMHgxNmMwZTM1IGdldF9iaXZfc3RlcF8x DQogICAgICAgIC4uLy4uLy4uLy4uL2djYy9nY2MvbG9vcC1pdi5jYzo3ODgN CjB4MTZjMGM5NyBnZXRfYml2X3N0ZXBfMQ0KICAgICAgICAuLi8uLi8uLi8u Li9nY2MvZ2NjL2xvb3AtaXYuY2M6NzU4DQoweDE2YzBmNjggZ2V0X2Jpdl9z dGVwDQogICAgICAgIC4uLy4uLy4uLy4uL2djYy9nY2MvbG9vcC1pdi5jYzo4 MjgNCjB4MTZjMTM5MCBpdl9hbmFseXplX2Jpdg0KICAgICAgICAuLi8uLi8u Li8uLi9nY2MvZ2NjL2xvb3AtaXYuY2M6OTIxDQoweDE2YzFlN2QgaXZfYW5h bHl6ZV9vcA0KICAgICAgICAuLi8uLi8uLi8uLi9nY2MvZ2NjL2xvb3AtaXYu Y2M6MTE4Nw0KMHgxNmMxZDcxIGl2X2FuYWx5emVfb3ANCiAgICAgICAgLi4v Li4vLi4vLi4vZ2NjL2djYy9sb29wLWl2LmNjOjExNTcNCjB4MTZjMTVlMCBp dl9hbmFseXplX2V4cHIocnR4X2luc24qLCBzY2FsYXJfaW50X21vZGUsIHJ0 eF9kZWYqLCBydHhfaXYqKQ0KICAgICAgICAuLi8uLi8uLi8uLi9nY2MvZ2Nj L2xvb3AtaXYuY2M6OTc2DQoweDE2YzE3NTcgaXZfYW5hbHl6ZV9leHByKHJ0 eF9pbnNuKiwgc2NhbGFyX2ludF9tb2RlLCBydHhfZGVmKiwgcnR4X2l2KikN CiAgICAgICAgLi4vLi4vLi4vLi4vZ2NjL2djYy9sb29wLWl2LmNjOjEwMjAN CjB4MTZjMTc1NyBpdl9hbmFseXplX2V4cHIocnR4X2luc24qLCBzY2FsYXJf aW50X21vZGUsIHJ0eF9kZWYqLCBydHhfaXYqKQ0KICAgICAgICAuLi8uLi8u Li8uLi9nY2MvZ2NjL2xvb3AtaXYuY2M6MTAyMA0KMHgxNmMxYjgzIGl2X2Fu YWx5emVfZGVmDQogICAgICAgIC4uLy4uLy4uLy4uL2djYy9nY2MvbG9vcC1p di5jYzoxMTE1DQoNClRvIHJlcHJvZHVjZSB0aGlzIElDRToNCg0Kd2l0aCBj b21waWxlIG9wdGlvbjogIC1PMyAtZm9taXQtZnJhbWUtcG9pbnRlciAtZnVu cm9sbC1sb29wcyAtZnBlZWwtbG9vcHMgLWZ0cmFjZXIgLWZpbmxpbmUtZnVu Y3Rpb25zDQoNCnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgKEZVTkNfUCkgKHZv aWQgKiwgdW5zaWduZWQgY2hhciAqLCB1bnNpZ25lZCBzaG9ydCk7DQoNCnZv aWQgY3Jhc2hJdChpbnQgaWQsIEZVTkNfUCAqZnVuYywgdW5zaWduZWQgY2hh ciAqZnVuY3Bhcm0pDQp7DQogIHVuc2lnbmVkIGNoYXIgYnVmZls1XSwgcmV2 ZXJzZVs0XTsNCiAgdW5zaWduZWQgY2hhciAqYnAgPSBidWZmOw0KICB1bnNp Z25lZCBjaGFyICpycCA9IHJldmVyc2U7DQogIHVuc2lnbmVkIHNob3J0IGlu dCBjb3VudCA9IDA7DQogIHVuc2lnbmVkIHNob3J0IGNudDsNCiAgd2hpbGUg KGlkID4gMCkNCiAgICB7DQogICAgICAqcnArKyA9ICh1bnNpZ25lZCBjaGFy KSAoaWQgJiAweDdGKTsNCiAgICAgIGlkID4+PSA3Ow0KICAgICAgY291bnQr KzsNCiAgICB9DQogIGNudCA9IGNvdW50ICsgMTsNCiAgd2hpbGUgKChjb3Vu dC0tKSA+IDEpDQogICAgew0KICAgICAgKmJwKysgPSAodW5zaWduZWQgY2hh cikoKigtLXJwKSB8IDB4ODApOw0KICAgIH0NCiAgKmJwKysgPSAqKC0tcnAp Ow0KICAodm9pZCkoKmZ1bmMpKGZ1bmNwYXJtLCBidWZmLCBjbnQpOw0KfQ0K DQpUaGUgcm9vdCBjYXVzZSBpcyB0aGlzIGZvbGxvd2luZyBSVEwgcGF0dGVy biwgYWZ0ZXIgZndwcm9wMToNCg0KKGluc24gODIgNzggODQgOSAoc2V0IChy ZWc6REkgMjMwKQ0KICAgICAgICAoc2lnbl9leHRlbmQ6REkgKG1pbnVzOlNJ IChzdWJyZWcvcy92OlNJIChyZWc6REkgMTUwIFsgbml0ZXJzLjEwIF0pIDAp DQogICAgICAgICAgICAgICAgKHN1YnJlZzpTSSAocmVnOkRJIDIyMSkgMCkp KSkgMTMge3N1YnNpM19leHRlbmRlZH0NCiAgICAgKGV4cHJfbGlzdDpSRUdf RVFVQUwgKHNpZ25fZXh0ZW5kOkRJIChwbHVzOlNJIChzdWJyZWcvcy92OlNJ IChyZWc6REkgMTUwIFsgbml0ZXJzLjEwIF0pIDApDQogICAgICAgICAgICAg ICAgKGNvbnN0X3BvbHlfaW50OlNJIFstMTYsIC0xNl0pKSkNCiAgICAgICAg KG5pbCkpKQ0KDQpUaGUgaGlnaGxpZ2h0IChjb25zdF9wb2x5X2ludDpTSSBb LTE2LCAtMTZdKQ0KY2F1c2VzIElDRS4NCg0KVGhpcyBSVEwgaXMgYmVjYXVz ZToNCihpbnNuIDY5IDY4IDcxIDggKHNldCAocmVnOkRJIDIyMSkNCiAgICAg ICAgKGNvbnN0X3BvbHlfaW50OkRJIFsxNiwgMTZdKSkgMjA4IHsqbW92ZGlf NjRiaXR9DQogICAgIChuaWwpKQ0KKGluc24gODIgNzggODQgOSAoc2V0IChy ZWc6REkgMjMwKQ0KICAgICAgICAoc2lnbl9leHRlbmQ6REkgKG1pbnVzOlNJ IChzdWJyZWcvcy92OlNJIChyZWc6REkgMTUwIFsgbml0ZXJzLjEwIF0pIDAp DQogICAgICAgICAgICAgICAgKHN1YnJlZzpTSSAocmVnOkRJIDIyMSkgMCkp KSkgMTMge3N1YnNpM19leHRlbmRlZH0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAtLS0tPiAoc3VicmVnOlNJIChjb25zdF9w b2x5X2ludDpTSSBbLTE2LCAtMTZdKSkgZndwcm9wMSBhZGQgIChjb25zdF9w b2x5X2ludDpTSSBbLTE2LCAtMTZdKSByZWdfZXF1YWwNCiAgICAgKGV4cHJf bGlzdDpSRUdfRVFVQUwgKHNpZ25fZXh0ZW5kOkRJIChwbHVzOlNJIChzdWJy ZWcvcy92OlNJIChyZWc6REkgMTUwIFsgbml0ZXJzLjEwIF0pIDApDQogICAg ICAgICAgICAgICAgKGNvbnN0X3BvbHlfaW50OlNJIFstMTYsIC0xNl0pKSkN CiAgICAgICAgKG5pbCkpKQ0KDQpQcmV2aW91c2x5LCB3ZSBhcmUgZG9pbmc6 DQoNCihzZXQgKHN1YnJlZzpESSAocmVnOlNJKSAgKERJOiBwb2x5IHZhbHVl KSkuIC0tPiBvdXRlciBtb2RlIGJpZ2dlciB0aGFuIGlubmVyIG1vZGUgaW4g ZGVzdCBvcGVyYW5kLg0KDQpXZSBuZXZlciBoYXMgKHN1YnJlZzogKHBvbHlf dmFsdWUpKSwgc28gd2Ugd29uJ3QgaGF2ZSBJQ0UuIEhvd2V2ZXIsIEkgZG9u J3QgdGhpbmsgb3VyIHByZXZpb3VzIGFwcHJvYWNoIGlzIGNvcnJlY3QuDQoN CkFjdHVhbGx5LCBJIGJlbGlldmUgd2Ugc2hvdWxkIGFwcGx5IHRoaXMgZm9s bG93aW5nIHdoaWNoIHNob3VsZCBiZSBiZXR0ZXI6DQoNCiAoc2V0IChyZWc6 U0kpICAoc3VicmVnOlNJIChESTogcG9seSB2YWx1ZSkpKSBidXQgaXQgY2F1 c2VzIElDRSB0aGF0IEkgbWVudGlvbmVkIGFib3ZlLg0KDQpBbHNvLCBJIHRy eSB0aGlzIGZvbGxvd2luZyB3aGljaCBjYW4gZml4IHRoaXMgaXNzdWU6DQoN CmRpZmYgLS1naXQgYS9nY2MvbG9vcC1pdi5jYyBiL2djYy9sb29wLWl2LmNj DQppbmRleCBlYjdlOTIzYTM4Yi4uMDk3NTA5NTE4NDUgMTAwNjQ0DQotLS0g YS9nY2MvbG9vcC1pdi5jYw0KKysrIGIvZ2NjL2xvb3AtaXYuY2MNCkBAIC02 NDYsMTAgKzY0NiwxMCBAQCBnZXRfYml2X3N0ZXBfMSAoZGZfcmVmIGRlZiwg c2NhbGFyX2ludF9tb2RlIG91dGVyX21vZGUsIHJ0eCByZWcsDQogICBpZiAo IXNldCkNCiAgICAgcmV0dXJuIGZhbHNlOw0KDQotICByaHMgPSBmaW5kX3Jl Z19lcXVhbF9lcXVpdl9ub3RlIChpbnNuKTsNCi0gIGlmIChyaHMpDQotICAg IHJocyA9IFhFWFAgKHJocywgMCk7DQotICBlbHNlDQorICAvL3JocyA9IGZp bmRfcmVnX2VxdWFsX2VxdWl2X25vdGUgKGluc24pOw0KKyAgLy9pZiAocmhz KQ0KKyAgLy8gIHJocyA9IFhFWFAgKHJocywgMCk7DQorICAvL2Vsc2UNCiAg ICAgcmhzID0gU0VUX1NSQyAoc2V0KTsNCg0KQW55IHRob3VnaHRzID8NCg0K DQoNCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0KRnJvbTogS2l0byBD aGVuZw0KRGF0ZTogMjAyNC0wMi0wMiAxNjo1MA0KVG86IEp1emhlLVpob25n DQpDQzogZ2NjLXBhdGNoZXM7IGtpdG8uY2hlbmc7IGplZmZyZXlhbGF3OyBy ZGFwcC5nY2MNClN1YmplY3Q6IFJlOiBbUEFUQ0hdIFJJU0MtVjogQWxsb3cg TElDTSBob2lzdCBQT0xZX0lOVCBjb25maWd1cmF0aW9uIGNvZGUgc2VxdWVu Y2UNCkxHVE0gOikNCiANCk9uIFRodSwgRmViIDEsIDIwMjQgYXQgMTE6NDbi gK9QTSBKdXpoZS1aaG9uZyA8anV6aGUuemhvbmdAcml2YWkuYWk+IHdyb3Rl Og0KPg0KPiBSZWFsaXplIGluIHJlY2VudCBiZW5jaG1hcmsgZXZhbHVhdGlv biAoY29yZW1hcmstcHJvIHppcC10ZXN0KToNCj4NCj4gICAgICAgICB2aWQu diAgIHYyDQo+ICAgICAgICAgdm12LnYuaSB2NSwwDQo+IC5MOToNCj4gICAg ICAgICB2bGUxNi52IHYzLDAoYTQpDQo+ICAgICAgICAgdnJzdWIudnggICAg ICAgIHY0LHYyLGE2ICAgLS0tPiBMSUNNIGZhaWxlZCB0byBob2lzdCBpdCBv dXRzaWRlIHRoZSBsb29wLg0KPg0KPiBUaGUgcm9vdCBjYXVzZSBpczoNCj4N Cj4gKGluc24gNTYgNDcgNTcgNCAoc2V0IChzdWJyZWc6REkgKHJlZzpISSAy MjApIDApDQo+ICAgICAgICAgKHJlZzpESSAyMjMpKSAicnZ2LmMiOjExOjkg MjA4IHsqbW92ZGlfNjRiaXR9ICAtPiBJdHMgcmVzdWx0IHVzZWQgYnkgdGhl IGZvbGxvd2luZyB2cnN1Yi52eCB0aGVuIHN1cHJlc3MgdGhlIGhvaXN0IG9m IHRoZSB2cnN1Yi52eA0KPiAgICAgIChuaWwpKQ0KPg0KPiAoaW5zbiA1NyA1 NiA1OSA0IChzZXQgKHJlZzpSVlZNRjJISSAyMTYpDQo+ICAgICAgICAgKGlm X3RoZW5fZWxzZTpSVlZNRjJISSAodW5zcGVjOlJWVk1GMzJCSSBbDQo+ICAg ICAgICAgICAgICAgICAgICAgKGNvbnN0X3ZlY3RvcjpSVlZNRjMyQkkgcmVw ZWF0IFsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9p bnQgMSBbMHgxXSkNCj4gICAgICAgICAgICAgICAgICAgICAgICAgXSkNCj4g ICAgICAgICAgICAgICAgICAgICAocmVnOkRJIDM1MCkNCj4gICAgICAgICAg ICAgICAgICAgICAoY29uc3RfaW50IDIgWzB4Ml0pIHJlcGVhdGVkIHgyDQo+ ICAgICAgICAgICAgICAgICAgICAgKGNvbnN0X2ludCAxIFsweDFdKQ0KPiAg ICAgICAgICAgICAgICAgICAgIChyZWc6U0kgNjYgdmwpDQo+ICAgICAgICAg ICAgICAgICAgICAgKHJlZzpTSSA2NyB2dHlwZSkNCj4gICAgICAgICAgICAg ICAgIF0gVU5TUEVDX1ZQUkVESUNBVEUpDQo+ICAgICAgICAgICAgIChtaW51 czpSVlZNRjJISSAodmVjX2R1cGxpY2F0ZTpSVlZNRjJISSAocmVnOkhJIDIy MCkpDQo+ICAgICAgICAgICAgICAgICAocmVnOlJWVk1GMkhJIDIxNykpDQo+ ICAgICAgICAgICAgICh1bnNwZWM6UlZWTUYySEkgWw0KPiAgICAgICAgICAg ICAgICAgICAgIChyZWc6REkgMCB6ZXJvKQ0KPiAgICAgICAgICAgICAgICAg XSBVTlNQRUNfVlVOREVGKSkpICJydnYuYyI6MTE6OSA2OTM4IHtwcmVkX3N1 YnJ2dm1mMmhpX3JldmVyc2Vfc2NhbGFyfQ0KPiAgICAgIChleHByX2xpc3Q6 UkVHX0RFQUQgKHJlZzpISSAyMjApDQo+ICAgICAgICAgKG5pbCkpKQ0KPg0K PiBUaGlzIHBhdGNoIGZpeGVzIGl0IGdlbmVyYXRlIChzZXQgKHJlZzpISSkg KHN1YnJlZzpISSAocmVnOkRJKSkpIGluc3RlYWQgb2YgKHNldCAoc3VicmVn OkRJIChyZWc6REkpKSAocmVnOkRJKSkuDQo+DQo+IEFmdGVyIHRoaXMgcGF0 Y2g6DQo+DQo+ICAgICAgICAgdmlkLnYgICB2Mg0KPiAgICAgICAgIHZyc3Vi LnZ4ICAgICAgICB2Mix2MixhNw0KPiAgICAgICAgIHZtdi52LmkgdjQsMA0K PiAuTDM6DQo+ICAgICAgICAgdmxlMTYudiB2MywwKGE0KQ0KPg0KPiBUZXN0 ZWQgb24gYm90aCBSVjMyIGFuZCBSVjY0IG5vIHJlZ3Jlc3Npb24uDQo+DQo+ IGdjYy9DaGFuZ2VMb2c6DQo+DQo+ICAgICAgICAgKiBjb25maWcvcmlzY3Yv cmlzY3YuY2MgKHJpc2N2X2xlZ2l0aW1pemVfbW92ZSk6IEZpeCBwb2x5X2lu dCBkZXN0IGdlbmVyYXRpb24uDQo+DQo+IGdjYy90ZXN0c3VpdGUvQ2hhbmdl TG9nOg0KPg0KPiAgICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0 b3ZlYy9wb2x5X2xpY20tMS5jOiBOZXcgdGVzdC4NCj4gICAgICAgICAqIGdj Yy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvcG9seV9saWNtLTIuYzogTmV3 IHRlc3QuDQo+DQo+IC0tLQ0KPiAgZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5j YyAgICAgICAgICAgICAgICAgICAgIHwgIDkgKysrKy0tLQ0KPiAgLi4uL3Jp c2N2L3J2di9hdXRvdmVjL3BvbHlfbGljbS0xLmMgICAgICAgICAgIHwgMTgg KysrKysrKysrKysrKw0KPiAgLi4uL3Jpc2N2L3J2di9hdXRvdmVjL3BvbHlf bGljbS0yLmMgICAgICAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysrKw0K PiAgMyBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCA0IGRlbGV0 aW9ucygtKQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYXV0b3ZlYy9wb2x5X2xpY20tMS5jDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di9hdXRvdmVjL3BvbHlfbGljbS0yLmMNCj4NCj4gZGlmZiAt LWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MgYi9nY2MvY29uZmln L3Jpc2N2L3Jpc2N2LmNjDQo+IGluZGV4IDUyOWVmNWU4NGI3Li42ZTIyYjQz ZTYxOCAxMDA2NDQNCj4gLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5j Yw0KPiArKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjDQo+IEBAIC0y NzExLDE2ICsyNzExLDE3IEBAIHJpc2N2X2xlZ2l0aW1pemVfbW92ZSAobWFj aGluZV9tb2RlIG1vZGUsIHJ0eCBkZXN0LCBydHggc3JjKQ0KPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3RfcG9seV9pbnQ6 SEkgW20sIG5dKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoY29uc3RfcG9seV9pbnQ6U0kgW20sIG5dKS4gICovDQo+ICAgICAg ICAgICBydHggdG1wID0gZ2VuX3JlZ19ydHggKFBtb2RlKTsNCj4gLSAgICAg ICAgIHJpc2N2X2xlZ2l0aW1pemVfcG9seV9tb3ZlIChQbW9kZSwgZ2VuX2xv d3BhcnQgKFBtb2RlLCBkZXN0KSwgdG1wLA0KPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNyYyk7DQo+ICsgICAgICAgICBydHgg dG1wMiA9IGdlbl9yZWdfcnR4IChQbW9kZSk7DQo+ICsgICAgICAgICByaXNj dl9sZWdpdGltaXplX3BvbHlfbW92ZSAoUG1vZGUsIHRtcDIsIHRtcCwgc3Jj KTsNCj4gKyAgICAgICAgIGVtaXRfbW92ZV9pbnNuIChkZXN0LCBnZW5fbG93 cGFydCAobW9kZSwgdG1wMikpOw0KPiAgICAgICAgIH0NCj4gICAgICAgIGVs c2UNCj4gICAgICAgICB7DQo+ICAgICAgICAgICAvKiBJbiBSVjMyIHN5c3Rl bSwgaGFuZGxlIChjb25zdF9wb2x5X2ludDpTSSBbbSwgbl0pDQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb25zdF9wb2x5X2lu dDpESSBbbSwgbl0pLg0KPiAgICAgICAgICAgICAgSW4gUlY2NCBzeXN0ZW0s IGhhbmRsZSAoY29uc3RfcG9seV9pbnQ6REkgW20sIG5dKS4NCj4gLSAgICAg ICBGSVhNRTogTWF5YmUgd2UgY291bGQgZ2VuIFNJbW9kZSBpbiBSVjMyIGFu ZCB0aGVuIHNpZ24tZXh0ZW5kIHRvIERJbW9kZSwNCj4gLSAgICAgICB0aGUg b2Zmc2V0IHNob3VsZCBub3QgZXhjZWVkIDRHaUIgaW4gZ2VuZXJhbC4gICov DQo+ICsgICAgICAgICAgICBGSVhNRTogTWF5YmUgd2UgY291bGQgZ2VuIFNJ bW9kZSBpbiBSVjMyIGFuZCB0aGVuIHNpZ24tZXh0ZW5kIHRvDQo+ICsgICAg ICAgICAgICBESW1vZGUsIHRoZSBvZmZzZXQgc2hvdWxkIG5vdCBleGNlZWQg NEdpQiBpbiBnZW5lcmFsLiAgKi8NCj4gICAgICAgICAgIHJ0eCB0bXAgPSBn ZW5fcmVnX3J0eCAobW9kZSk7DQo+ICAgICAgICAgICByaXNjdl9sZWdpdGlt aXplX3BvbHlfbW92ZSAobW9kZSwgZGVzdCwgdG1wLCBzcmMpOw0KPiAgICAg ICAgIH0NCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYXV0b3ZlYy9wb2x5X2xpY20tMS5jIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3BvbHlfbGljbS0x LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw MDAuLmI3ZGE2NWYwOTk2DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9hdXRvdmVjL3BvbHlf bGljbS0xLmMNCj4gQEAgLTAsMCArMSwxOCBAQA0KPiArLyogeyBkZy1kbyBj b21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRn Y3YgLW1hYmk9bHA2NGQgLU8zIC1mbm8tc2NoZWR1bGUtaW5zbnMgLWZuby1z Y2hlZHVsZS1pbnNuczIiIH0gKi8NCj4gKw0KPiArZXh0ZXJuIGludCB3c2l6 ZTsNCj4gKw0KPiArdHlwZWRlZiB1bnNpZ25lZCBzaG9ydCBQb3NmOw0KPiAr I2RlZmluZSBOSUwgMA0KPiArDQo+ICt2b2lkIGZvbyAoUG9zZiAqcCkNCj4g K3sNCj4gKyAgcmVnaXN0ZXIgdW5zaWduZWQgbiwgbTsNCj4gKyAgZG8gew0K PiArICAgICAgbSA9ICotLXA7DQo+ICsgICAgICAqcCA9IChQb3NmKShtID49 IHdzaXplID8gbS13c2l6ZSA6IE5JTCk7DQo+ICsgIH0gd2hpbGUgKC0tbik7 DQo+ICt9DQo+ICsNCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dmlkXC52XHMrdlswLTldK1xzK2FkZGlccytccypbYS14MC05 XSssXHMqW2EteDAtOV0rLFxzKi0xXHMrdnJzdWJcLnZ4XHMrfSAxIH0gfSAq Lw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3J2di9hdXRvdmVjL3BvbHlfbGljbS0yLmMgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvcG9seV9saWNtLTIuYw0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4u ZmZiM2M2MzE0OWYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2F1dG92ZWMvcG9seV9saWNt LTIuYw0KPiBAQCAtMCwwICsxLDI3IEBADQo+ICsvKiB7IGRnLWRvIGNvbXBp bGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAt bWFiaT1scDY0ZCAtTzMgLWZuby1zY2hlZHVsZS1pbnNucyAtZm5vLXNjaGVk dWxlLWluc25zMiIgfSAqLw0KPiArDQo+ICt0eXBlZGVmIHVuc2lnbmVkIHNo b3J0IHVpbnQxNl90Ow0KPiArDQo+ICt2b2lkIEFBQSAodWludDE2X3QgKngs IHVpbnQxNl90ICp5LCB1bnNpZ25lZCB3c2l6ZSwgdW5zaWduZWQgY291bnQp DQo+ICt7DQo+ICsgIHVuc2lnbmVkIG0gPSAwLCBuID0gY291bnQ7DQo+ICsg IHJlZ2lzdGVyIHVpbnQxNl90ICpwOw0KPiArDQo+ICsgIHAgPSB4Ow0KPiAr DQo+ICsgIGRvIHsNCj4gKyAgICBtID0gKi0tcDsNCj4gKyAgICAqcCA9ICh1 aW50MTZfdCkobSA+PSB3c2l6ZSA/IG0td3NpemUgOiAwKTsNCj4gKyAgfSB3 aGlsZSAoLS1uKTsNCj4gKw0KPiArICBuID0gd3NpemU7DQo+ICsgIHAgPSB5 Ow0KPiArDQo+ICsgIGRvIHsNCj4gKyAgICAgIG0gPSAqLS1wOw0KPiArICAg ICAgKnAgPSAodWludDE2X3QpKG0gPj0gd3NpemUgPyBtLXdzaXplIDogMCk7 DQo+ICsgIH0gd2hpbGUgKC0tbik7DQo+ICt9DQo+ICsNCj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmlkXC52XHMrdlswLTld K1xzK3Zyc3ViXC52eFxzK30gMiB9IH0gKi8NCj4gLS0NCj4gMi4zNi4xDQo+ DQogDQo= ------=_001_NextPart663842080736_=------