From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg153.qq.com (smtpbg153.qq.com [13.245.218.24]) by sourceware.org (Postfix) with ESMTPS id 70C9C3858D28 for ; Sun, 21 Apr 2024 22:37:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 70C9C3858D28 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 70C9C3858D28 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=13.245.218.24 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713739088; cv=none; b=FaBstn87UxT3fySXkdO+0iEsGC59r2vTRz089vr33hpPvsQ6D12ipV8ZgFCew1GdfTmjdXjEC2Cu8FXb0lFpQFXmt9KEkEviz1odFhgjoQNghOHryjVIFuOO2qh2rwEPuiSYx9kGn76NZRmw+7DNYNmFdCVcuoQ3fJdm1xa/9Ug= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713739088; c=relaxed/simple; bh=7/dmRLJBZpJHaVUOQS4otvIzmy7vPrM6wTnrm/+rupY=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=cN4MPrjVaSc6PZCbzYM2krj+UQxKvD9R8SrpI8sDt1IjcqwaJdh5EXjhlLHclN7fz/i+Ef+nSEwMcOPlQQOj5/T+UKuKzBxiCYXYZV4OWivB6bRSYlv0+B+gPtc8OoBy8IDHYXmhqUYqbb6FKQvdKfMpRvTUYYb1R/gjdzhnJyQ= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp81t1713739053tijn6ads X-QQ-Originating-IP: 2Sxw4smDFL3XzW0CYfrfT6zJxuCL9RfoVbg2VFBjPWY= Received: from TABLET-POE6JQHH ( [116.77.3.252]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 22 Apr 2024 06:37:32 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: H4r7SzRxU3whm5eOJakwgA8uaGSjp0sEgvwSEAmoNNmdMEoSMs5zcA1apPl8F cwjgfXN129SwWyLWL1gr/RDWo209qD28tBnGfzMuJr1722cczLgY1DapfbcugyVZFquvYfH nlBZIWY3rNtzkMgoBr9BGL5twwv4aQ8eT9N8tuqFzIr5xxicBSSx4/F/wsKcY4M0VsdoIt7 t4Rz9xfcjlTXWuAKe30ASi4joxKS3RXDG0+SeRNVO3l46qf9Sadka8juhzmdhwLR3Rc5baT iRhlWDd/eZKPzjGDwDUhBgXRbQbNC0fulysEY7jRDMQphOqSVrkJAByuqKOiyKiiGznETdP 3n578grrhd7gFGERTFety3KAOTyx+9WiXoYPktaQVNzU3z2SSnDzc9mqhySZ1T0ArUZy2Hs X-QQ-GoodBg: 2 X-BIZMAIL-ID: 4339904775834314190 Date: Mon, 22 Apr 2024 06:37:33 +0800 From: =?GB2312?B?1tO+09Xc?= To: pan2.li , gcc-patches Cc: kito.cheng , rdapp.gcc , pan2.li Subject: Re: [PATCH v1] RISC-V: Add xfail test case for highpart register overlap of vx/vf widen References: <20240421050135.3977233-1-pan2.li@intel.com> X-Priority: 3 X-GUID: 95233159-5E2D-4042-98FE-9B81D4E91226 X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <4AC4745656647911+202404220637329567315@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart663345236315_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-9.0 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_H3,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_NextPart663345236315_=---- Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: base64 TEdUTQ0KDQoNCg0KanV6aGUuemhvbmdAcml2YWkuYWkNCiANCkZyb206IHBh bjIubGkNCkRhdGU6IDIwMjQtMDQtMjEgMTM6MDENClRvOiBnY2MtcGF0Y2hl cw0KQ0M6IGp1emhlLnpob25nOyBraXRvLmNoZW5nOyByZGFwcC5nY2M7IFBh biBMaQ0KU3ViamVjdDogW1BBVENIIHYxXSBSSVNDLVY6IEFkZCB4ZmFpbCB0 ZXN0IGNhc2UgZm9yIGhpZ2hwYXJ0IHJlZ2lzdGVyIG92ZXJsYXAgb2Ygdngv dmYgd2lkZW4NCkZyb206IFBhbiBMaSA8cGFuMi5saUBpbnRlbC5jb20+DQog DQpXZSByZXZlcnRlZCBiZWxvdyBwYXRjaCBmb3IgcmVnaXN0ZXIgZ3JvdXAg b3ZlcmxhcCwgYWRkIHRoZSByZWxhdGVkDQppbnNuIHRlc3QgYW5kIG1hcmsg aXQgYXMgeGZhaWwuICBBbmQgd2Ugd2lsbCByZW1vdmUgdGhlIHhmYWlsDQph ZnRlciB3ZSBzdXBwb3J0IHRoZSByZWdpc3RlciBvdmVybGFwIGluIEdDQy0x NS4NCiANCmEyMzQxNWQ3NTcyIFJJU0MtVjogU3VwcG9ydCBoaWdocGFydCBy ZWdpc3RlciBvdmVybGFwIGZvciB3aWRlbiB2eC92ZiBpbnN0cnVjdGlvbnMN CiANClRoZSBiZWxvdyB0ZXN0IHN1aXRlcyBhcmUgcGFzc2VkLg0KKiBUaGUg cnY2NGdjdiBmdWxseSByZWdyZXNzaW9uIHRlc3QuDQogDQpnY2MvdGVzdHN1 aXRlL0NoYW5nZUxvZzoNCiANCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFz ZS9wcjExMjQzMS0yMi5jOiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNj di9ydnYvYmFzZS9wcjExMjQzMS0yMy5jOiBOZXcgdGVzdC4NCiogZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS0yNC5jOiBOZXcgdGVzdC4N CiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS0yNS5jOiBO ZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQz MS0yNi5jOiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFz ZS9wcjExMjQzMS0yNy5jOiBOZXcgdGVzdC4NCiANClNpZ25lZC1vZmYtYnk6 IFBhbiBMaSA8cGFuMi5saUBpbnRlbC5jb20+DQotLS0NCi4uLi9nY2MudGFy Z2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTIyLmMgICB8IDE4OCArKysr KysrKysrKysrKysrKysNCi4uLi9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNl L3ByMTEyNDMxLTIzLmMgICB8IDExOSArKysrKysrKysrKw0KLi4uL2djYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtMjQuYyAgIHwgIDg2ICsr KysrKysrDQouLi4vZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQz MS0yNS5jICAgfCAxMDQgKysrKysrKysrKw0KLi4uL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2Jhc2UvcHIxMTI0MzEtMjYuYyAgIHwgIDY4ICsrKysrKysNCi4u Li9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTI3LmMgICB8 ICA1MSArKysrKw0KNiBmaWxlcyBjaGFuZ2VkLCA2MTYgaW5zZXJ0aW9ucygr KQ0KY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS0yMi5jDQpjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNl L3ByMTEyNDMxLTIzLmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtMjQuYw0K Y3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS9wcjExMjQzMS0yNS5jDQpjcmVhdGUgbW9kZSAxMDA2 NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3By MTEyNDMxLTI2LmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtMjcuYw0KIA0K ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS9wcjExMjQzMS0yMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTIyLmMNCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uYWM1NjcwM2M3NWMNCi0t LSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS9wcjExMjQzMS0yMi5jDQpAQCAtMCwwICsxLDE4OCBA QA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1vcHRpb25z ICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0ZCAtTzMiIH0gKi8NCisNCisj aW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQorDQorc2l6ZV90IF9fYXR0cmli dXRlX18gKChub2lubGluZSkpDQorc3VtYXRpb24gKHNpemVfdCBzdW0wLCBz aXplX3Qgc3VtMSwgc2l6ZV90IHN1bTIsIHNpemVfdCBzdW0zLCBzaXplX3Qg c3VtNCwNCisgICBzaXplX3Qgc3VtNSwgc2l6ZV90IHN1bTYsIHNpemVfdCBz dW03LCBzaXplX3Qgc3VtOCwgc2l6ZV90IHN1bTksDQorICAgc2l6ZV90IHN1 bTEwLCBzaXplX3Qgc3VtMTEsIHNpemVfdCBzdW0xMiwgc2l6ZV90IHN1bTEz LCBzaXplX3Qgc3VtMTQsDQorICAgc2l6ZV90IHN1bTE1KQ0KK3sNCisgIHJl dHVybiBzdW0wICsgc3VtMSArIHN1bTIgKyBzdW0zICsgc3VtNCArIHN1bTUg KyBzdW02ICsgc3VtNyArIHN1bTggKyBzdW05DQorICsgc3VtMTAgKyBzdW0x MSArIHN1bTEyICsgc3VtMTMgKyBzdW0xNCArIHN1bTE1Ow0KK30NCisNCitz aXplX3QNCitmb28gKGNoYXIgY29uc3QgKmJ1Ziwgc2l6ZV90IGxlbikNCit7 DQorICBzaXplX3Qgc3VtID0gMDsNCisgIHNpemVfdCB2bCA9IF9fcmlzY3Zf dnNldHZsbWF4X2U4bTggKCk7DQorICBzaXplX3Qgc3RlcCA9IHZsICogNDsN CisgIGNvbnN0IGNoYXIgKml0ID0gYnVmLCAqZW5kID0gYnVmICsgbGVuOw0K KyAgZm9yICg7IGl0ICsgc3RlcCA8PSBlbmQ7KQ0KKyAgICB7DQorICAgICAg dmludDhtMV90IHYwID0gX19yaXNjdl92bGU4X3ZfaThtMSAoKHZvaWQgKikg aXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50OG0xX3Qg djEgPSBfX3Jpc2N2X3ZsZThfdl9pOG0xICgodm9pZCAqKSBpdCwgdmwpOw0K KyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTFfdCB2MiA9IF9fcmlz Y3ZfdmxlOF92X2k4bTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQg Kz0gdmw7DQorICAgICAgdmludDhtMV90IHYzID0gX19yaXNjdl92bGU4X3Zf aThtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisg ICAgICB2aW50OG0xX3QgdjQgPSBfX3Jpc2N2X3ZsZThfdl9pOG0xICgodm9p ZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQ4 bTFfdCB2NSA9IF9fcmlzY3ZfdmxlOF92X2k4bTEgKCh2b2lkICopIGl0LCB2 bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmludDhtMV90IHY2ID0g X19yaXNjdl92bGU4X3ZfaThtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAg ICBpdCArPSB2bDsNCisgICAgICB2aW50OG0xX3QgdjcgPSBfX3Jpc2N2X3Zs ZThfdl9pOG0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZs Ow0KKyAgICAgIHZpbnQ4bTFfdCB2OCA9IF9fcmlzY3ZfdmxlOF92X2k4bTEg KCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAg dmludDhtMV90IHY5ID0gX19yaXNjdl92bGU4X3ZfaThtMSAoKHZvaWQgKikg aXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50OG0xX3Qg djEwID0gX19yaXNjdl92bGU4X3ZfaThtMSAoKHZvaWQgKikgaXQsIHZsKTsN CisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50OG0xX3QgdjExID0gX19y aXNjdl92bGU4X3ZfaThtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBp dCArPSB2bDsNCisgICAgICB2aW50OG0xX3QgdjEyID0gX19yaXNjdl92bGU4 X3ZfaThtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsN CisgICAgICB2aW50OG0xX3QgdjEzID0gX19yaXNjdl92bGU4X3ZfaThtMSAo KHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2 aW50OG0xX3QgdjE0ID0gX19yaXNjdl92bGU4X3ZfaThtMSAoKHZvaWQgKikg aXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50OG0xX3Qg djE1ID0gX19yaXNjdl92bGU4X3ZfaThtMSAoKHZvaWQgKikgaXQsIHZsKTsN CisgICAgICBpdCArPSB2bDsNCisgICAgICANCisgICAgICBhc20gdm9sYXRp bGUoIm5vcCIgOjo6ICJtZW1vcnkiKTsNCisgICAgICB2aW50MTZtMl90IHZ3 MCA9IF9fcmlzY3ZfdndhZGRfdnhfaTE2bTIgKHYwLCAzMywgdmwpOw0KKyAg ICAgIHZpbnQxNm0yX3QgdncxID0gX19yaXNjdl92d2FkZF92eF9pMTZtMiAo djEsIDMzLCB2bCk7DQorICAgICAgdmludDE2bTJfdCB2dzIgPSBfX3Jpc2N2 X3Z3YWRkX3Z4X2kxNm0yICh2MiwgMzMsIHZsKTsNCisgICAgICB2aW50MTZt Ml90IHZ3MyA9IF9fcmlzY3ZfdndhZGRfdnhfaTE2bTIgKHYzLCAzMywgdmwp Ow0KKyAgICAgIHZpbnQxNm0yX3Qgdnc0ID0gX19yaXNjdl92d2FkZF92eF9p MTZtMiAodjQsIDMzLCB2bCk7DQorICAgICAgdmludDE2bTJfdCB2dzUgPSBf X3Jpc2N2X3Z3YWRkX3Z4X2kxNm0yICh2NSwgMzMsIHZsKTsNCisgICAgICB2 aW50MTZtMl90IHZ3NiA9IF9fcmlzY3ZfdndhZGRfdnhfaTE2bTIgKHY2LCAz MywgdmwpOw0KKyAgICAgIHZpbnQxNm0yX3Qgdnc3ID0gX19yaXNjdl92d2Fk ZF92eF9pMTZtMiAodjcsIDMzLCB2bCk7DQorICAgICAgdmludDE2bTJfdCB2 dzggPSBfX3Jpc2N2X3Z3YWRkX3Z4X2kxNm0yICh2OCwgMzMsIHZsKTsNCisg ICAgICB2aW50MTZtMl90IHZ3OSA9IF9fcmlzY3ZfdndhZGRfdnhfaTE2bTIg KHY5LCAzMywgdmwpOw0KKyAgICAgIHZpbnQxNm0yX3QgdncxMCA9IF9fcmlz Y3ZfdndhZGRfdnhfaTE2bTIgKHYxMCwgMzMsIHZsKTsNCisgICAgICB2aW50 MTZtMl90IHZ3MTEgPSBfX3Jpc2N2X3Z3YWRkX3Z4X2kxNm0yICh2MTEsIDMz LCB2bCk7DQorICAgICAgdmludDE2bTJfdCB2dzEyID0gX19yaXNjdl92d2Fk ZF92eF9pMTZtMiAodjEyLCAzMywgdmwpOw0KKyAgICAgIHZpbnQxNm0yX3Qg dncxMyA9IF9fcmlzY3ZfdndhZGRfdnhfaTE2bTIgKHYxMywgMzMsIHZsKTsN CisgICAgICB2aW50MTZtMl90IHZ3MTQgPSBfX3Jpc2N2X3Z3YWRkX3Z4X2kx Nm0yICh2MTQsIDMzLCB2bCk7DQorICAgICAgdmludDE2bTJfdCB2dzE1ID0g X19yaXNjdl92d2FkZF92eF9pMTZtMiAodjE1LCAzMywgdmwpOw0KKw0KKyAg ICAgIGFzbSB2b2xhdGlsZSgibm9wIiA6OjogIm1lbW9yeSIpOw0KKyAgICAg IHNpemVfdCBzdW0wID0gX19yaXNjdl92bXZfeF9zX2kxNm0yX2kxNiAodncw KTsNCisgICAgICBzaXplX3Qgc3VtMSA9IF9fcmlzY3Zfdm12X3hfc19pMTZt Ml9pMTYgKHZ3MSk7DQorICAgICAgc2l6ZV90IHN1bTIgPSBfX3Jpc2N2X3Zt dl94X3NfaTE2bTJfaTE2ICh2dzIpOw0KKyAgICAgIHNpemVfdCBzdW0zID0g X19yaXNjdl92bXZfeF9zX2kxNm0yX2kxNiAodnczKTsNCisgICAgICBzaXpl X3Qgc3VtNCA9IF9fcmlzY3Zfdm12X3hfc19pMTZtMl9pMTYgKHZ3NCk7DQor ICAgICAgc2l6ZV90IHN1bTUgPSBfX3Jpc2N2X3Ztdl94X3NfaTE2bTJfaTE2 ICh2dzUpOw0KKyAgICAgIHNpemVfdCBzdW02ID0gX19yaXNjdl92bXZfeF9z X2kxNm0yX2kxNiAodnc2KTsNCisgICAgICBzaXplX3Qgc3VtNyA9IF9fcmlz Y3Zfdm12X3hfc19pMTZtMl9pMTYgKHZ3Nyk7DQorICAgICAgc2l6ZV90IHN1 bTggPSBfX3Jpc2N2X3Ztdl94X3NfaTE2bTJfaTE2ICh2dzgpOw0KKyAgICAg IHNpemVfdCBzdW05ID0gX19yaXNjdl92bXZfeF9zX2kxNm0yX2kxNiAodnc5 KTsNCisgICAgICBzaXplX3Qgc3VtMTAgPSBfX3Jpc2N2X3Ztdl94X3NfaTE2 bTJfaTE2ICh2dzEwKTsNCisgICAgICBzaXplX3Qgc3VtMTEgPSBfX3Jpc2N2 X3Ztdl94X3NfaTE2bTJfaTE2ICh2dzExKTsNCisgICAgICBzaXplX3Qgc3Vt MTIgPSBfX3Jpc2N2X3Ztdl94X3NfaTE2bTJfaTE2ICh2dzEyKTsNCisgICAg ICBzaXplX3Qgc3VtMTMgPSBfX3Jpc2N2X3Ztdl94X3NfaTE2bTJfaTE2ICh2 dzEzKTsNCisgICAgICBzaXplX3Qgc3VtMTQgPSBfX3Jpc2N2X3Ztdl94X3Nf aTE2bTJfaTE2ICh2dzE0KTsNCisgICAgICBzaXplX3Qgc3VtMTUgPSBfX3Jp c2N2X3Ztdl94X3NfaTE2bTJfaTE2ICh2dzE1KTsNCisNCisgICAgICBzdW0g Kz0gc3VtYXRpb24gKHN1bTAsIHN1bTEsIHN1bTIsIHN1bTMsIHN1bTQsIHN1 bTUsIHN1bTYsIHN1bTcsIHN1bTgsDQorICAgICAgICBzdW05LCBzdW0xMCwg c3VtMTEsIHN1bTEyLCBzdW0xMywgc3VtMTQsIHN1bTE1KTsNCisgICAgfQ0K KyAgcmV0dXJuIHN1bTsNCit9DQorDQorc2l6ZV90DQorZm9vMiAoY2hhciBj b25zdCAqYnVmLCBzaXplX3QgbGVuKQ0KK3sNCisgIHNpemVfdCBzdW0gPSAw Ow0KKyAgc2l6ZV90IHZsID0gX19yaXNjdl92c2V0dmxtYXhfZThtOCAoKTsN CisgIHNpemVfdCBzdGVwID0gdmwgKiA0Ow0KKyAgY29uc3QgY2hhciAqaXQg PSBidWYsICplbmQgPSBidWYgKyBsZW47DQorICBmb3IgKDsgaXQgKyBzdGVw IDw9IGVuZDspDQorICAgIHsNCisgICAgICB2aW50OG0xX3QgdjAgPSBfX3Jp c2N2X3ZsZThfdl9pOG0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0 ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTFfdCB2MSA9IF9fcmlzY3ZfdmxlOF92 X2k4bTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQor ICAgICAgdmludDhtMV90IHYyID0gX19yaXNjdl92bGU4X3ZfaThtMSAoKHZv aWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50 OG0xX3QgdjMgPSBfX3Jpc2N2X3ZsZThfdl9pOG0xICgodm9pZCAqKSBpdCwg dmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTFfdCB2NCA9 IF9fcmlzY3ZfdmxlOF92X2k4bTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAg ICAgaXQgKz0gdmw7DQorICAgICAgdmludDhtMV90IHY1ID0gX19yaXNjdl92 bGU4X3ZfaThtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2 bDsNCisgICAgICB2aW50OG0xX3QgdjYgPSBfX3Jpc2N2X3ZsZThfdl9pOG0x ICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAg IHZpbnQ4bTFfdCB2NyA9IF9fcmlzY3ZfdmxlOF92X2k4bTEgKCh2b2lkICop IGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmludDhtMV90 IHY4ID0gX19yaXNjdl92bGU4X3ZfaThtMSAoKHZvaWQgKikgaXQsIHZsKTsN CisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50OG0xX3QgdjkgPSBfX3Jp c2N2X3ZsZThfdl9pOG0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0 ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTFfdCB2MTAgPSBfX3Jpc2N2X3ZsZThf dl9pOG0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0K KyAgICAgIHZpbnQ4bTFfdCB2MTEgPSBfX3Jpc2N2X3ZsZThfdl9pOG0xICgo dm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZp bnQ4bTFfdCB2MTIgPSBfX3Jpc2N2X3ZsZThfdl9pOG0xICgodm9pZCAqKSBp dCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTFfdCB2 MTMgPSBfX3Jpc2N2X3ZsZThfdl9pOG0xICgodm9pZCAqKSBpdCwgdmwpOw0K KyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTFfdCB2MTQgPSBfX3Jp c2N2X3ZsZThfdl9pOG0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0 ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTFfdCB2MTUgPSBfX3Jpc2N2X3ZsZThf dl9pOG0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0K KyAgICAgIA0KKyAgICAgIGFzbSB2b2xhdGlsZSgibm9wIiA6OjogIm1lbW9y eSIpOw0KKyAgICAgIHZpbnQxNm0yX3QgdncwID0gX19yaXNjdl92d211bHN1 X3Z4X2kxNm0yICh2MCwgMzMsIHZsKTsNCisgICAgICB2aW50MTZtMl90IHZ3 MSA9IF9fcmlzY3ZfdndtdWxzdV92eF9pMTZtMiAodjEsIDMzLCB2bCk7DQor ICAgICAgdmludDE2bTJfdCB2dzIgPSBfX3Jpc2N2X3Z3bXVsc3VfdnhfaTE2 bTIgKHYyLCAzMywgdmwpOw0KKyAgICAgIHZpbnQxNm0yX3QgdnczID0gX19y aXNjdl92d211bHN1X3Z4X2kxNm0yICh2MywgMzMsIHZsKTsNCisgICAgICB2 aW50MTZtMl90IHZ3NCA9IF9fcmlzY3ZfdndtdWxzdV92eF9pMTZtMiAodjQs IDMzLCB2bCk7DQorICAgICAgdmludDE2bTJfdCB2dzUgPSBfX3Jpc2N2X3Z3 bXVsc3VfdnhfaTE2bTIgKHY1LCAzMywgdmwpOw0KKyAgICAgIHZpbnQxNm0y X3Qgdnc2ID0gX19yaXNjdl92d211bHN1X3Z4X2kxNm0yICh2NiwgMzMsIHZs KTsNCisgICAgICB2aW50MTZtMl90IHZ3NyA9IF9fcmlzY3ZfdndtdWxzdV92 eF9pMTZtMiAodjcsIDMzLCB2bCk7DQorICAgICAgdmludDE2bTJfdCB2dzgg PSBfX3Jpc2N2X3Z3bXVsc3VfdnhfaTE2bTIgKHY4LCAzMywgdmwpOw0KKyAg ICAgIHZpbnQxNm0yX3Qgdnc5ID0gX19yaXNjdl92d211bHN1X3Z4X2kxNm0y ICh2OSwgMzMsIHZsKTsNCisgICAgICB2aW50MTZtMl90IHZ3MTAgPSBfX3Jp c2N2X3Z3bXVsc3VfdnhfaTE2bTIgKHYxMCwgMzMsIHZsKTsNCisgICAgICB2 aW50MTZtMl90IHZ3MTEgPSBfX3Jpc2N2X3Z3bXVsc3VfdnhfaTE2bTIgKHYx MSwgMzMsIHZsKTsNCisgICAgICB2aW50MTZtMl90IHZ3MTIgPSBfX3Jpc2N2 X3Z3bXVsc3VfdnhfaTE2bTIgKHYxMiwgMzMsIHZsKTsNCisgICAgICB2aW50 MTZtMl90IHZ3MTMgPSBfX3Jpc2N2X3Z3bXVsc3VfdnhfaTE2bTIgKHYxMywg MzMsIHZsKTsNCisgICAgICB2aW50MTZtMl90IHZ3MTQgPSBfX3Jpc2N2X3Z3 bXVsc3VfdnhfaTE2bTIgKHYxNCwgMzMsIHZsKTsNCisgICAgICB2aW50MTZt Ml90IHZ3MTUgPSBfX3Jpc2N2X3Z3bXVsc3VfdnhfaTE2bTIgKHYxNSwgMzMs IHZsKTsNCisNCisgICAgICBhc20gdm9sYXRpbGUoIm5vcCIgOjo6ICJtZW1v cnkiKTsNCisgICAgICBzaXplX3Qgc3VtMCA9IF9fcmlzY3Zfdm12X3hfc19p MTZtMl9pMTYgKHZ3MCk7DQorICAgICAgc2l6ZV90IHN1bTEgPSBfX3Jpc2N2 X3Ztdl94X3NfaTE2bTJfaTE2ICh2dzEpOw0KKyAgICAgIHNpemVfdCBzdW0y ID0gX19yaXNjdl92bXZfeF9zX2kxNm0yX2kxNiAodncyKTsNCisgICAgICBz aXplX3Qgc3VtMyA9IF9fcmlzY3Zfdm12X3hfc19pMTZtMl9pMTYgKHZ3Myk7 DQorICAgICAgc2l6ZV90IHN1bTQgPSBfX3Jpc2N2X3Ztdl94X3NfaTE2bTJf aTE2ICh2dzQpOw0KKyAgICAgIHNpemVfdCBzdW01ID0gX19yaXNjdl92bXZf eF9zX2kxNm0yX2kxNiAodnc1KTsNCisgICAgICBzaXplX3Qgc3VtNiA9IF9f cmlzY3Zfdm12X3hfc19pMTZtMl9pMTYgKHZ3Nik7DQorICAgICAgc2l6ZV90 IHN1bTcgPSBfX3Jpc2N2X3Ztdl94X3NfaTE2bTJfaTE2ICh2dzcpOw0KKyAg ICAgIHNpemVfdCBzdW04ID0gX19yaXNjdl92bXZfeF9zX2kxNm0yX2kxNiAo dnc4KTsNCisgICAgICBzaXplX3Qgc3VtOSA9IF9fcmlzY3Zfdm12X3hfc19p MTZtMl9pMTYgKHZ3OSk7DQorICAgICAgc2l6ZV90IHN1bTEwID0gX19yaXNj dl92bXZfeF9zX2kxNm0yX2kxNiAodncxMCk7DQorICAgICAgc2l6ZV90IHN1 bTExID0gX19yaXNjdl92bXZfeF9zX2kxNm0yX2kxNiAodncxMSk7DQorICAg ICAgc2l6ZV90IHN1bTEyID0gX19yaXNjdl92bXZfeF9zX2kxNm0yX2kxNiAo dncxMik7DQorICAgICAgc2l6ZV90IHN1bTEzID0gX19yaXNjdl92bXZfeF9z X2kxNm0yX2kxNiAodncxMyk7DQorICAgICAgc2l6ZV90IHN1bTE0ID0gX19y aXNjdl92bXZfeF9zX2kxNm0yX2kxNiAodncxNCk7DQorICAgICAgc2l6ZV90 IHN1bTE1ID0gX19yaXNjdl92bXZfeF9zX2kxNm0yX2kxNiAodncxNSk7DQor DQorICAgICAgc3VtICs9IHN1bWF0aW9uIChzdW0wLCBzdW0xLCBzdW0yLCBz dW0zLCBzdW00LCBzdW01LCBzdW02LCBzdW03LCBzdW04LA0KKyAgICAgICAg c3VtOSwgc3VtMTAsIHN1bTExLCBzdW0xMiwgc3VtMTMsIHN1bTE0LCBzdW0x NSk7DQorICAgIH0NCisgIHJldHVybiBzdW07DQorfQ0KKw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3ZtdjFyfSB9IH0gKi8NCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bXYycn0gfSB9 ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12 NHJ9IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1u b3Qge3ZtdjhyfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItbm90IHtjc3JyfSB7IHhmYWlsIHJpc2N2Ki0qLSogfSB9IH0gKi8N CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2Jhc2UvcHIxMTI0MzEtMjMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS0yMy5jDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLmY5MTExOTMwN2Y0DQot LS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtMjMuYw0KQEAgLTAsMCArMSwxMTkg QEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9u cyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NGQgLU8zIiB9ICovDQorDQor I2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KKw0KK3NpemVfdCBfX2F0dHJp YnV0ZV9fICgobm9pbmxpbmUpKQ0KK3N1bWF0aW9uIChzaXplX3Qgc3VtMCwg c2l6ZV90IHN1bTEsIHNpemVfdCBzdW0yLCBzaXplX3Qgc3VtMywgc2l6ZV90 IHN1bTQsDQorICAgc2l6ZV90IHN1bTUsIHNpemVfdCBzdW02LCBzaXplX3Qg c3VtNykNCit7DQorICByZXR1cm4gc3VtMCArIHN1bTEgKyBzdW0yICsgc3Vt MyArIHN1bTQgKyBzdW01ICsgc3VtNiArIHN1bTc7DQorfQ0KKw0KK3NpemVf dA0KK2ZvbyAoY2hhciBjb25zdCAqYnVmLCBzaXplX3QgbGVuKQ0KK3sNCisg IHNpemVfdCBzdW0gPSAwOw0KKyAgc2l6ZV90IHZsID0gX19yaXNjdl92c2V0 dmxtYXhfZThtOCAoKTsNCisgIHNpemVfdCBzdGVwID0gdmwgKiA0Ow0KKyAg Y29uc3QgY2hhciAqaXQgPSBidWYsICplbmQgPSBidWYgKyBsZW47DQorICBm b3IgKDsgaXQgKyBzdGVwIDw9IGVuZDspDQorICAgIHsNCisgICAgICB2aW50 OG0yX3QgdjAgPSBfX3Jpc2N2X3ZsZThfdl9pOG0yICgodm9pZCAqKSBpdCwg dmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTJfdCB2MSA9 IF9fcmlzY3ZfdmxlOF92X2k4bTIgKCh2b2lkICopIGl0LCB2bCk7DQorICAg ICAgaXQgKz0gdmw7DQorICAgICAgdmludDhtMl90IHYyID0gX19yaXNjdl92 bGU4X3ZfaThtMiAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2 bDsNCisgICAgICB2aW50OG0yX3QgdjMgPSBfX3Jpc2N2X3ZsZThfdl9pOG0y ICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAg IHZpbnQ4bTJfdCB2NCA9IF9fcmlzY3ZfdmxlOF92X2k4bTIgKCh2b2lkICop IGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmludDhtMl90 IHY1ID0gX19yaXNjdl92bGU4X3ZfaThtMiAoKHZvaWQgKikgaXQsIHZsKTsN CisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50OG0yX3QgdjYgPSBfX3Jp c2N2X3ZsZThfdl9pOG0yICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0 ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTJfdCB2NyA9IF9fcmlzY3ZfdmxlOF92 X2k4bTIgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQor DQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6OiAibWVtb3J5Iik7DQor ICAgICAgdmludDE2bTRfdCB2dzAgPSBfX3Jpc2N2X3Z3YWRkX3Z4X2kxNm00 ICh2MCwgNTUsIHZsKTsNCisgICAgICB2aW50MTZtNF90IHZ3MSA9IF9fcmlz Y3ZfdndhZGRfdnhfaTE2bTQgKHYxLCA1NSwgdmwpOw0KKyAgICAgIHZpbnQx Nm00X3QgdncyID0gX19yaXNjdl92d2FkZF92eF9pMTZtNCAodjIsIDU1LCB2 bCk7DQorICAgICAgdmludDE2bTRfdCB2dzMgPSBfX3Jpc2N2X3Z3YWRkX3Z4 X2kxNm00ICh2MywgNTUsIHZsKTsNCisgICAgICB2aW50MTZtNF90IHZ3NCA9 IF9fcmlzY3ZfdndhZGRfdnhfaTE2bTQgKHY0LCA1NSwgdmwpOw0KKyAgICAg IHZpbnQxNm00X3Qgdnc1ID0gX19yaXNjdl92d2FkZF92eF9pMTZtNCAodjUs IDU1LCB2bCk7DQorICAgICAgdmludDE2bTRfdCB2dzYgPSBfX3Jpc2N2X3Z3 YWRkX3Z4X2kxNm00ICh2NiwgNTUsIHZsKTsNCisgICAgICB2aW50MTZtNF90 IHZ3NyA9IF9fcmlzY3ZfdndhZGRfdnhfaTE2bTQgKHY3LCA1NSwgdmwpOw0K Kw0KKyAgICAgIGFzbSB2b2xhdGlsZSgibm9wIiA6OjogIm1lbW9yeSIpOw0K KyAgICAgIHNpemVfdCBzdW0wID0gX19yaXNjdl92bXZfeF9zX2kxNm00X2kx NiAodncwKTsNCisgICAgICBzaXplX3Qgc3VtMSA9IF9fcmlzY3Zfdm12X3hf c19pMTZtNF9pMTYgKHZ3MSk7DQorICAgICAgc2l6ZV90IHN1bTIgPSBfX3Jp c2N2X3Ztdl94X3NfaTE2bTRfaTE2ICh2dzIpOw0KKyAgICAgIHNpemVfdCBz dW0zID0gX19yaXNjdl92bXZfeF9zX2kxNm00X2kxNiAodnczKTsNCisgICAg ICBzaXplX3Qgc3VtNCA9IF9fcmlzY3Zfdm12X3hfc19pMTZtNF9pMTYgKHZ3 NCk7DQorICAgICAgc2l6ZV90IHN1bTUgPSBfX3Jpc2N2X3Ztdl94X3NfaTE2 bTRfaTE2ICh2dzUpOw0KKyAgICAgIHNpemVfdCBzdW02ID0gX19yaXNjdl92 bXZfeF9zX2kxNm00X2kxNiAodnc2KTsNCisgICAgICBzaXplX3Qgc3VtNyA9 IF9fcmlzY3Zfdm12X3hfc19pMTZtNF9pMTYgKHZ3Nyk7DQorDQorICAgICAg c3VtICs9IHN1bWF0aW9uIChzdW0wLCBzdW0xLCBzdW0yLCBzdW0zLCBzdW00 LCBzdW01LCBzdW02LCBzdW03KTsNCisgICAgfQ0KKyAgcmV0dXJuIHN1bTsN Cit9DQorDQorc2l6ZV90DQorZm9vMiAoY2hhciBjb25zdCAqYnVmLCBzaXpl X3QgbGVuKQ0KK3sNCisgIHNpemVfdCBzdW0gPSAwOw0KKyAgc2l6ZV90IHZs ID0gX19yaXNjdl92c2V0dmxtYXhfZThtOCAoKTsNCisgIHNpemVfdCBzdGVw ID0gdmwgKiA0Ow0KKyAgY29uc3QgY2hhciAqaXQgPSBidWYsICplbmQgPSBi dWYgKyBsZW47DQorICBmb3IgKDsgaXQgKyBzdGVwIDw9IGVuZDspDQorICAg IHsNCisgICAgICB2aW50OG0yX3QgdjAgPSBfX3Jpc2N2X3ZsZThfdl9pOG0y ICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAg IHZpbnQ4bTJfdCB2MSA9IF9fcmlzY3ZfdmxlOF92X2k4bTIgKCh2b2lkICop IGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmludDhtMl90 IHYyID0gX19yaXNjdl92bGU4X3ZfaThtMiAoKHZvaWQgKikgaXQsIHZsKTsN CisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50OG0yX3QgdjMgPSBfX3Jp c2N2X3ZsZThfdl9pOG0yICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0 ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTJfdCB2NCA9IF9fcmlzY3ZfdmxlOF92 X2k4bTIgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQor ICAgICAgdmludDhtMl90IHY1ID0gX19yaXNjdl92bGU4X3ZfaThtMiAoKHZv aWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50 OG0yX3QgdjYgPSBfX3Jpc2N2X3ZsZThfdl9pOG0yICgodm9pZCAqKSBpdCwg dmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTJfdCB2NyA9 IF9fcmlzY3ZfdmxlOF92X2k4bTIgKCh2b2lkICopIGl0LCB2bCk7DQorICAg ICAgaXQgKz0gdmw7DQorDQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6 OiAibWVtb3J5Iik7DQorICAgICAgdmludDE2bTRfdCB2dzAgPSBfX3Jpc2N2 X3Z3bXVsc3VfdnhfaTE2bTQgKHYwLCA1NSwgdmwpOw0KKyAgICAgIHZpbnQx Nm00X3QgdncxID0gX19yaXNjdl92d211bHN1X3Z4X2kxNm00ICh2MSwgNTUs IHZsKTsNCisgICAgICB2aW50MTZtNF90IHZ3MiA9IF9fcmlzY3ZfdndtdWxz dV92eF9pMTZtNCAodjIsIDU1LCB2bCk7DQorICAgICAgdmludDE2bTRfdCB2 dzMgPSBfX3Jpc2N2X3Z3bXVsc3VfdnhfaTE2bTQgKHYzLCA1NSwgdmwpOw0K KyAgICAgIHZpbnQxNm00X3Qgdnc0ID0gX19yaXNjdl92d211bHN1X3Z4X2kx Nm00ICh2NCwgNTUsIHZsKTsNCisgICAgICB2aW50MTZtNF90IHZ3NSA9IF9f cmlzY3ZfdndtdWxzdV92eF9pMTZtNCAodjUsIDU1LCB2bCk7DQorICAgICAg dmludDE2bTRfdCB2dzYgPSBfX3Jpc2N2X3Z3bXVsc3VfdnhfaTE2bTQgKHY2 LCA1NSwgdmwpOw0KKyAgICAgIHZpbnQxNm00X3Qgdnc3ID0gX19yaXNjdl92 d211bHN1X3Z4X2kxNm00ICh2NywgNTUsIHZsKTsNCisNCisgICAgICBhc20g dm9sYXRpbGUoIm5vcCIgOjo6ICJtZW1vcnkiKTsNCisgICAgICBzaXplX3Qg c3VtMCA9IF9fcmlzY3Zfdm12X3hfc19pMTZtNF9pMTYgKHZ3MCk7DQorICAg ICAgc2l6ZV90IHN1bTEgPSBfX3Jpc2N2X3Ztdl94X3NfaTE2bTRfaTE2ICh2 dzEpOw0KKyAgICAgIHNpemVfdCBzdW0yID0gX19yaXNjdl92bXZfeF9zX2kx Nm00X2kxNiAodncyKTsNCisgICAgICBzaXplX3Qgc3VtMyA9IF9fcmlzY3Zf dm12X3hfc19pMTZtNF9pMTYgKHZ3Myk7DQorICAgICAgc2l6ZV90IHN1bTQg PSBfX3Jpc2N2X3Ztdl94X3NfaTE2bTRfaTE2ICh2dzQpOw0KKyAgICAgIHNp emVfdCBzdW01ID0gX19yaXNjdl92bXZfeF9zX2kxNm00X2kxNiAodnc1KTsN CisgICAgICBzaXplX3Qgc3VtNiA9IF9fcmlzY3Zfdm12X3hfc19pMTZtNF9p MTYgKHZ3Nik7DQorICAgICAgc2l6ZV90IHN1bTcgPSBfX3Jpc2N2X3Ztdl94 X3NfaTE2bTRfaTE2ICh2dzcpOw0KKw0KKyAgICAgIHN1bSArPSBzdW1hdGlv biAoc3VtMCwgc3VtMSwgc3VtMiwgc3VtMywgc3VtNCwgc3VtNSwgc3VtNiwg c3VtNyk7DQorICAgIH0NCisgIHJldHVybiBzdW07DQorfQ0KKw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3ZtdjFyfSB9IH0gKi8N CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bXYycn0g fSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7 dm12NHJ9IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci1ub3Qge3ZtdjhyfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItbm90IHtjc3JyfSB7IHhmYWlsIHJpc2N2Ki0qLSogfSB9IH0g Ki8NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2Jhc2UvcHIxMTI0MzEtMjQuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS0yNC5jDQpuZXcgZmls ZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLmJjZDYwYzBhN2Mz DQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtMjQuYw0KQEAgLTAsMCArMSw4 NiBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1vcHRp b25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0ZCAtTzMiIH0gKi8NCisN CisjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQorDQorc2l6ZV90IF9fYXR0 cmlidXRlX18gKChub2lubGluZSkpDQorc3VtYXRpb24gKHNpemVfdCBzdW0w LCBzaXplX3Qgc3VtMSwgc2l6ZV90IHN1bTIsIHNpemVfdCBzdW0zKQ0KK3sN CisgIHJldHVybiBzdW0wICsgc3VtMSArIHN1bTIgKyBzdW0zOw0KK30NCisN CitzaXplX3QNCitmb28gKGNoYXIgY29uc3QgKmJ1Ziwgc2l6ZV90IGxlbikN Cit7DQorICBzaXplX3Qgc3VtID0gMDsNCisgIHNpemVfdCB2bCA9IF9fcmlz Y3ZfdnNldHZsbWF4X2U4bTggKCk7DQorICBzaXplX3Qgc3RlcCA9IHZsICog NDsNCisgIGNvbnN0IGNoYXIgKml0ID0gYnVmLCAqZW5kID0gYnVmICsgbGVu Ow0KKyAgZm9yICg7IGl0ICsgc3RlcCA8PSBlbmQ7KQ0KKyAgICB7DQorICAg ICAgdmludDhtNF90IHYwID0gX19yaXNjdl92bGU4X3ZfaThtNCAoKHZvaWQg KikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50OG00 X3QgdjEgPSBfX3Jpc2N2X3ZsZThfdl9pOG00ICgodm9pZCAqKSBpdCwgdmwp Ow0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTRfdCB2MiA9IF9f cmlzY3ZfdmxlOF92X2k4bTQgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAg aXQgKz0gdmw7DQorICAgICAgdmludDhtNF90IHYzID0gX19yaXNjdl92bGU4 X3ZfaThtNCAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsN CisNCisgICAgICBhc20gdm9sYXRpbGUoIm5vcCIgOjo6ICJtZW1vcnkiKTsN CisgICAgICB2aW50MTZtOF90IHZ3MCA9IF9fcmlzY3ZfdndhZGRfdnhfaTE2 bTggKHYwLCA2NiwgdmwpOw0KKyAgICAgIHZpbnQxNm04X3QgdncxID0gX19y aXNjdl92d2FkZF92eF9pMTZtOCAodjEsIDY2LCB2bCk7DQorICAgICAgdmlu dDE2bThfdCB2dzIgPSBfX3Jpc2N2X3Z3YWRkX3Z4X2kxNm04ICh2MiwgNjYs IHZsKTsNCisgICAgICB2aW50MTZtOF90IHZ3MyA9IF9fcmlzY3ZfdndhZGRf dnhfaTE2bTggKHYzLCA2NiwgdmwpOw0KKw0KKyAgICAgIGFzbSB2b2xhdGls ZSgibm9wIiA6OjogIm1lbW9yeSIpOw0KKyAgICAgIHNpemVfdCBzdW0wID0g X19yaXNjdl92bXZfeF9zX2kxNm04X2kxNiAodncwKTsNCisgICAgICBzaXpl X3Qgc3VtMSA9IF9fcmlzY3Zfdm12X3hfc19pMTZtOF9pMTYgKHZ3MSk7DQor ICAgICAgc2l6ZV90IHN1bTIgPSBfX3Jpc2N2X3Ztdl94X3NfaTE2bThfaTE2 ICh2dzIpOw0KKyAgICAgIHNpemVfdCBzdW0zID0gX19yaXNjdl92bXZfeF9z X2kxNm04X2kxNiAodnczKTsNCisNCisgICAgICBzdW0gKz0gc3VtYXRpb24g KHN1bTAsIHN1bTEsIHN1bTIsIHN1bTMpOw0KKyAgICB9DQorICByZXR1cm4g c3VtOw0KK30NCisNCitzaXplX3QNCitmb28yIChjaGFyIGNvbnN0ICpidWYs IHNpemVfdCBsZW4pDQorew0KKyAgc2l6ZV90IHN1bSA9IDA7DQorICBzaXpl X3QgdmwgPSBfX3Jpc2N2X3ZzZXR2bG1heF9lOG04ICgpOw0KKyAgc2l6ZV90 IHN0ZXAgPSB2bCAqIDQ7DQorICBjb25zdCBjaGFyICppdCA9IGJ1ZiwgKmVu ZCA9IGJ1ZiArIGxlbjsNCisgIGZvciAoOyBpdCArIHN0ZXAgPD0gZW5kOykN CisgICAgew0KKyAgICAgIHZpbnQ4bTRfdCB2MCA9IF9fcmlzY3ZfdmxlOF92 X2k4bTQgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQor ICAgICAgdmludDhtNF90IHYxID0gX19yaXNjdl92bGU4X3ZfaThtNCAoKHZv aWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50 OG00X3QgdjIgPSBfX3Jpc2N2X3ZsZThfdl9pOG00ICgodm9pZCAqKSBpdCwg dmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQ4bTRfdCB2MyA9 IF9fcmlzY3ZfdmxlOF92X2k4bTQgKCh2b2lkICopIGl0LCB2bCk7DQorICAg ICAgaXQgKz0gdmw7DQorDQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6 OiAibWVtb3J5Iik7DQorICAgICAgdmludDE2bThfdCB2dzAgPSBfX3Jpc2N2 X3Z3bXVsc3VfdnhfaTE2bTggKHYwLCA2NiwgdmwpOw0KKyAgICAgIHZpbnQx Nm04X3QgdncxID0gX19yaXNjdl92d211bHN1X3Z4X2kxNm04ICh2MSwgNjYs IHZsKTsNCisgICAgICB2aW50MTZtOF90IHZ3MiA9IF9fcmlzY3ZfdndtdWxz dV92eF9pMTZtOCAodjIsIDY2LCB2bCk7DQorICAgICAgdmludDE2bThfdCB2 dzMgPSBfX3Jpc2N2X3Z3bXVsc3VfdnhfaTE2bTggKHYzLCA2NiwgdmwpOw0K Kw0KKyAgICAgIGFzbSB2b2xhdGlsZSgibm9wIiA6OjogIm1lbW9yeSIpOw0K KyAgICAgIHNpemVfdCBzdW0wID0gX19yaXNjdl92bXZfeF9zX2kxNm04X2kx NiAodncwKTsNCisgICAgICBzaXplX3Qgc3VtMSA9IF9fcmlzY3Zfdm12X3hf c19pMTZtOF9pMTYgKHZ3MSk7DQorICAgICAgc2l6ZV90IHN1bTIgPSBfX3Jp c2N2X3Ztdl94X3NfaTE2bThfaTE2ICh2dzIpOw0KKyAgICAgIHNpemVfdCBz dW0zID0gX19yaXNjdl92bXZfeF9zX2kxNm04X2kxNiAodnczKTsNCisNCisg ICAgICBzdW0gKz0gc3VtYXRpb24gKHN1bTAsIHN1bTEsIHN1bTIsIHN1bTMp Ow0KKyAgICB9DQorICByZXR1cm4gc3VtOw0KK30NCisNCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bXYxcn0gfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12MnJ9IH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3ZtdjRy fSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90 IHt2bXY4cn0gfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLW5vdCB7Y3Nycn0geyB4ZmFpbCByaXNjdiotKi0qIH0gfSB9ICovDQpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2 di9iYXNlL3ByMTEyNDMxLTI1LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtMjUuYw0KbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi41N2E4ZWYyODQ4Ng0KLS0t IC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3J2di9iYXNlL3ByMTEyNDMxLTI1LmMNCkBAIC0wLDAgKzEsMTA0IEBA DQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMg Ii1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRkIC1PMyIgfSAqLw0KKw0KKyNp bmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCisNCitzaXplX3QgX19hdHRyaWJ1 dGVfXyAoKG5vaW5saW5lKSkNCitzdW1hdGlvbiAoc2l6ZV90IHN1bTAsIHNp emVfdCBzdW0xLCBzaXplX3Qgc3VtMiwgc2l6ZV90IHN1bTMsIHNpemVfdCBz dW00LA0KKyAgIHNpemVfdCBzdW01LCBzaXplX3Qgc3VtNiwgc2l6ZV90IHN1 bTcsIHNpemVfdCBzdW04LCBzaXplX3Qgc3VtOSwNCisgICBzaXplX3Qgc3Vt MTAsIHNpemVfdCBzdW0xMSwgc2l6ZV90IHN1bTEyLCBzaXplX3Qgc3VtMTMs IHNpemVfdCBzdW0xNCwNCisgICBzaXplX3Qgc3VtMTUpDQorew0KKyAgcmV0 dXJuIHN1bTAgKyBzdW0xICsgc3VtMiArIHN1bTMgKyBzdW00ICsgc3VtNSAr IHN1bTYgKyBzdW03ICsgc3VtOCArIHN1bTkNCisgKyBzdW0xMCArIHN1bTEx ICsgc3VtMTIgKyBzdW0xMyArIHN1bTE0ICsgc3VtMTU7DQorfQ0KKw0KK3Np emVfdA0KK2ZvbyAoY2hhciBjb25zdCAqYnVmLCBzaXplX3QgbGVuKQ0KK3sN CisgIHNpemVfdCBzdW0gPSAwOw0KKyAgc2l6ZV90IHZsID0gX19yaXNjdl92 c2V0dmxtYXhfZThtOCAoKTsNCisgIHNpemVfdCBzdGVwID0gdmwgKiA0Ow0K KyAgY29uc3QgY2hhciAqaXQgPSBidWYsICplbmQgPSBidWYgKyBsZW47DQor ICBmb3IgKDsgaXQgKyBzdGVwIDw9IGVuZDspDQorICAgIHsNCisgICAgICB2 ZmxvYXQzMm0xX3QgdjAgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lk ICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0 MzJtMV90IHYxID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBp dCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFf dCB2MiA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZs KTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjMg PSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQor ICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHY0ID0gX19y aXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAg IGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2NSA9IF9fcmlzY3Zf dmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCAr PSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjYgPSBfX3Jpc2N2X3ZsZTMy X3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7 DQorICAgICAgdmZsb2F0MzJtMV90IHY3ID0gX19yaXNjdl92bGUzMl92X2Yz Mm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAg ICAgIHZmbG9hdDMybTFfdCB2OCA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAo KHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2 ZmxvYXQzMm0xX3QgdjkgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lk ICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0 MzJtMV90IHYxMCA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikg aXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0x X3QgdjExID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwg dmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2 MTIgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7 DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHYxMyA9 IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisg ICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjE0ID0gX19y aXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAg IGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2MTUgPSBfX3Jpc2N2 X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQg Kz0gdmw7DQorICAgICAgDQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6 OiAibWVtb3J5Iik7DQorICAgICAgdmZsb2F0NjRtMl90IHZ3MCA9IF9fcmlz Y3ZfdmZ3YWRkX3ZmX2Y2NG0yICh2MCwgMzMsIHZsKTsNCisgICAgICB2Zmxv YXQ2NG0yX3QgdncxID0gX19yaXNjdl92ZndhZGRfdmZfZjY0bTIgKHYxLCAz MywgdmwpOw0KKyAgICAgIHZmbG9hdDY0bTJfdCB2dzIgPSBfX3Jpc2N2X3Zm d2FkZF92Zl9mNjRtMiAodjIsIDMzLCB2bCk7DQorICAgICAgdmZsb2F0NjRt Ml90IHZ3MyA9IF9fcmlzY3ZfdmZ3YWRkX3ZmX2Y2NG0yICh2MywgMzMsIHZs KTsNCisgICAgICB2ZmxvYXQ2NG0yX3Qgdnc0ID0gX19yaXNjdl92ZndhZGRf dmZfZjY0bTIgKHY0LCAzMywgdmwpOw0KKyAgICAgIHZmbG9hdDY0bTJfdCB2 dzUgPSBfX3Jpc2N2X3Zmd2FkZF92Zl9mNjRtMiAodjUsIDMzLCB2bCk7DQor ICAgICAgdmZsb2F0NjRtMl90IHZ3NiA9IF9fcmlzY3ZfdmZ3YWRkX3ZmX2Y2 NG0yICh2NiwgMzMsIHZsKTsNCisgICAgICB2ZmxvYXQ2NG0yX3Qgdnc3ID0g X19yaXNjdl92ZndhZGRfdmZfZjY0bTIgKHY3LCAzMywgdmwpOw0KKyAgICAg IHZmbG9hdDY0bTJfdCB2dzggPSBfX3Jpc2N2X3Zmd2FkZF92Zl9mNjRtMiAo djgsIDMzLCB2bCk7DQorICAgICAgdmZsb2F0NjRtMl90IHZ3OSA9IF9fcmlz Y3ZfdmZ3YWRkX3ZmX2Y2NG0yICh2OSwgMzMsIHZsKTsNCisgICAgICB2Zmxv YXQ2NG0yX3QgdncxMCA9IF9fcmlzY3ZfdmZ3YWRkX3ZmX2Y2NG0yICh2MTAs IDMzLCB2bCk7DQorICAgICAgdmZsb2F0NjRtMl90IHZ3MTEgPSBfX3Jpc2N2 X3Zmd2FkZF92Zl9mNjRtMiAodjExLCAzMywgdmwpOw0KKyAgICAgIHZmbG9h dDY0bTJfdCB2dzEyID0gX19yaXNjdl92ZndhZGRfdmZfZjY0bTIgKHYxMiwg MzMsIHZsKTsNCisgICAgICB2ZmxvYXQ2NG0yX3QgdncxMyA9IF9fcmlzY3Zf dmZ3YWRkX3ZmX2Y2NG0yICh2MTMsIDMzLCB2bCk7DQorICAgICAgdmZsb2F0 NjRtMl90IHZ3MTQgPSBfX3Jpc2N2X3Zmd2FkZF92Zl9mNjRtMiAodjE0LCAz MywgdmwpOw0KKyAgICAgIHZmbG9hdDY0bTJfdCB2dzE1ID0gX19yaXNjdl92 ZndhZGRfdmZfZjY0bTIgKHYxNSwgMzMsIHZsKTsNCisNCisgICAgICBhc20g dm9sYXRpbGUoIm5vcCIgOjo6ICJtZW1vcnkiKTsNCisgICAgICBzaXplX3Qg c3VtMCA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bTJfZjY0ICh2dzApOw0KKyAg ICAgIHNpemVfdCBzdW0xID0gX19yaXNjdl92Zm12X2Zfc19mNjRtMl9mNjQg KHZ3MSk7DQorICAgICAgc2l6ZV90IHN1bTIgPSBfX3Jpc2N2X3ZmbXZfZl9z X2Y2NG0yX2Y2NCAodncyKTsNCisgICAgICBzaXplX3Qgc3VtMyA9IF9fcmlz Y3ZfdmZtdl9mX3NfZjY0bTJfZjY0ICh2dzMpOw0KKyAgICAgIHNpemVfdCBz dW00ID0gX19yaXNjdl92Zm12X2Zfc19mNjRtMl9mNjQgKHZ3NCk7DQorICAg ICAgc2l6ZV90IHN1bTUgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAo dnc1KTsNCisgICAgICBzaXplX3Qgc3VtNiA9IF9fcmlzY3ZfdmZtdl9mX3Nf ZjY0bTJfZjY0ICh2dzYpOw0KKyAgICAgIHNpemVfdCBzdW03ID0gX19yaXNj dl92Zm12X2Zfc19mNjRtMl9mNjQgKHZ3Nyk7DQorICAgICAgc2l6ZV90IHN1 bTggPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAodnc4KTsNCisgICAg ICBzaXplX3Qgc3VtOSA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bTJfZjY0ICh2 dzkpOw0KKyAgICAgIHNpemVfdCBzdW0xMCA9IF9fcmlzY3ZfdmZtdl9mX3Nf ZjY0bTJfZjY0ICh2dzEwKTsNCisgICAgICBzaXplX3Qgc3VtMTEgPSBfX3Jp c2N2X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAodncxMSk7DQorICAgICAgc2l6ZV90 IHN1bTEyID0gX19yaXNjdl92Zm12X2Zfc19mNjRtMl9mNjQgKHZ3MTIpOw0K KyAgICAgIHNpemVfdCBzdW0xMyA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bTJf ZjY0ICh2dzEzKTsNCisgICAgICBzaXplX3Qgc3VtMTQgPSBfX3Jpc2N2X3Zm bXZfZl9zX2Y2NG0yX2Y2NCAodncxNCk7DQorICAgICAgc2l6ZV90IHN1bTE1 ID0gX19yaXNjdl92Zm12X2Zfc19mNjRtMl9mNjQgKHZ3MTUpOw0KKw0KKyAg ICAgIHN1bSArPSBzdW1hdGlvbiAoc3VtMCwgc3VtMSwgc3VtMiwgc3VtMywg c3VtNCwgc3VtNSwgc3VtNiwgc3VtNywgc3VtOCwNCisgICAgICAgIHN1bTks IHN1bTEwLCBzdW0xMSwgc3VtMTIsIHN1bTEzLCBzdW0xNCwgc3VtMTUpOw0K KyAgICB9DQorICByZXR1cm4gc3VtOw0KK30NCisNCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bXYxcn0gfSB9ICovDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12MnJ9IH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3ZtdjRyfSB9 IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2 bXY4cn0gfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LW5vdCB7Y3Nycn0geyB4ZmFpbCByaXNjdiotKi0qIH0gfSB9ICovDQpkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9i YXNlL3ByMTEyNDMxLTI2LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtMjYuYw0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi4wZjA1ZTJiMmUxZA0KLS0tIC9k ZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3ByMTEyNDMxLTI2LmMNCkBAIC0wLDAgKzEsNjggQEANCisv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLW1h cmNoPXJ2NjRnY3YgLW1hYmk9bHA2NGQgLU8zIiB9ICovDQorDQorI2luY2x1 ZGUgInJpc2N2X3ZlY3Rvci5oIg0KKw0KK3NpemVfdCBfX2F0dHJpYnV0ZV9f ICgobm9pbmxpbmUpKQ0KK3N1bWF0aW9uIChzaXplX3Qgc3VtMCwgc2l6ZV90 IHN1bTEsIHNpemVfdCBzdW0yLCBzaXplX3Qgc3VtMywgc2l6ZV90IHN1bTQs DQorICAgc2l6ZV90IHN1bTUsIHNpemVfdCBzdW02LCBzaXplX3Qgc3VtNykN Cit7DQorICByZXR1cm4gc3VtMCArIHN1bTEgKyBzdW0yICsgc3VtMyArIHN1 bTQgKyBzdW01ICsgc3VtNiArIHN1bTc7DQorfQ0KKw0KK3NpemVfdA0KK2Zv byAoY2hhciBjb25zdCAqYnVmLCBzaXplX3QgbGVuKQ0KK3sNCisgIHNpemVf dCBzdW0gPSAwOw0KKyAgc2l6ZV90IHZsID0gX19yaXNjdl92c2V0dmxtYXhf ZThtOCAoKTsNCisgIHNpemVfdCBzdGVwID0gdmwgKiA0Ow0KKyAgY29uc3Qg Y2hhciAqaXQgPSBidWYsICplbmQgPSBidWYgKyBsZW47DQorICBmb3IgKDsg aXQgKyBzdGVwIDw9IGVuZDspDQorICAgIHsNCisgICAgICB2ZmxvYXQzMm0y X3QgdjAgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTIgKCh2b2lkICopIGl0LCB2 bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMl90IHYx ID0gX19yaXNjdl92bGUzMl92X2YzMm0yICgodm9pZCAqKSBpdCwgdmwpOw0K KyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTJfdCB2MiA9IF9f cmlzY3ZfdmxlMzJfdl9mMzJtMiAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAg ICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0yX3QgdjMgPSBfX3Jpc2N2 X3ZsZTMyX3ZfZjMybTIgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQg Kz0gdmw7DQorICAgICAgdmZsb2F0MzJtMl90IHY0ID0gX19yaXNjdl92bGUz Ml92X2YzMm0yICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZs Ow0KKyAgICAgIHZmbG9hdDMybTJfdCB2NSA9IF9fcmlzY3ZfdmxlMzJfdl9m MzJtMiAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisg ICAgICB2ZmxvYXQzMm0yX3QgdjYgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTIg KCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAg dmZsb2F0MzJtMl90IHY3ID0gX19yaXNjdl92bGUzMl92X2YzMm0yICgodm9p ZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIA0KKyAg ICAgIGFzbSB2b2xhdGlsZSgibm9wIiA6OjogIm1lbW9yeSIpOw0KKyAgICAg IHZmbG9hdDY0bTRfdCB2dzAgPSBfX3Jpc2N2X3Zmd2FkZF92Zl9mNjRtNCAo djAsIDMzLCB2bCk7DQorICAgICAgdmZsb2F0NjRtNF90IHZ3MSA9IF9fcmlz Y3ZfdmZ3YWRkX3ZmX2Y2NG00ICh2MSwgMzMsIHZsKTsNCisgICAgICB2Zmxv YXQ2NG00X3QgdncyID0gX19yaXNjdl92ZndhZGRfdmZfZjY0bTQgKHYyLCAz MywgdmwpOw0KKyAgICAgIHZmbG9hdDY0bTRfdCB2dzMgPSBfX3Jpc2N2X3Zm d2FkZF92Zl9mNjRtNCAodjMsIDMzLCB2bCk7DQorICAgICAgdmZsb2F0NjRt NF90IHZ3NCA9IF9fcmlzY3ZfdmZ3YWRkX3ZmX2Y2NG00ICh2NCwgMzMsIHZs KTsNCisgICAgICB2ZmxvYXQ2NG00X3Qgdnc1ID0gX19yaXNjdl92ZndhZGRf dmZfZjY0bTQgKHY1LCAzMywgdmwpOw0KKyAgICAgIHZmbG9hdDY0bTRfdCB2 dzYgPSBfX3Jpc2N2X3Zmd2FkZF92Zl9mNjRtNCAodjYsIDMzLCB2bCk7DQor ICAgICAgdmZsb2F0NjRtNF90IHZ3NyA9IF9fcmlzY3ZfdmZ3YWRkX3ZmX2Y2 NG00ICh2NywgMzMsIHZsKTsNCisNCisgICAgICBhc20gdm9sYXRpbGUoIm5v cCIgOjo6ICJtZW1vcnkiKTsNCisgICAgICBzaXplX3Qgc3VtMCA9IF9fcmlz Y3ZfdmZtdl9mX3NfZjY0bTRfZjY0ICh2dzApOw0KKyAgICAgIHNpemVfdCBz dW0xID0gX19yaXNjdl92Zm12X2Zfc19mNjRtNF9mNjQgKHZ3MSk7DQorICAg ICAgc2l6ZV90IHN1bTIgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG00X2Y2NCAo dncyKTsNCisgICAgICBzaXplX3Qgc3VtMyA9IF9fcmlzY3ZfdmZtdl9mX3Nf ZjY0bTRfZjY0ICh2dzMpOw0KKyAgICAgIHNpemVfdCBzdW00ID0gX19yaXNj dl92Zm12X2Zfc19mNjRtNF9mNjQgKHZ3NCk7DQorICAgICAgc2l6ZV90IHN1 bTUgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG00X2Y2NCAodnc1KTsNCisgICAg ICBzaXplX3Qgc3VtNiA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bTRfZjY0ICh2 dzYpOw0KKyAgICAgIHNpemVfdCBzdW03ID0gX19yaXNjdl92Zm12X2Zfc19m NjRtNF9mNjQgKHZ3Nyk7DQorDQorICAgICAgc3VtICs9IHN1bWF0aW9uIChz dW0wLCBzdW0xLCBzdW0yLCBzdW0zLCBzdW00LCBzdW01LCBzdW02LCBzdW03 KTsNCisgICAgfQ0KKyAgcmV0dXJuIHN1bTsNCit9DQorDQorLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12MXJ9IH0gfSAqLw0KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3ZtdjJyfSB9IH0g Ki8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bXY0 cn0gfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5v dCB7dm12OHJ9IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci1ub3Qge2NzcnJ9IHsgeGZhaWwgcmlzY3YqLSotKiB9IH0gfSAqLw0K ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9y dnYvYmFzZS9wcjExMjQzMS0yNy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTI3LmMNCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uZDY0MGJjZjc0YmENCi0t LSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS9wcjExMjQzMS0yNy5jDQpAQCAtMCwwICsxLDUxIEBA DQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMg Ii1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRkIC1PMyIgfSAqLw0KKw0KKyNp bmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCisNCitzaXplX3QgX19hdHRyaWJ1 dGVfXyAoKG5vaW5saW5lKSkNCitzdW1hdGlvbiAoc2l6ZV90IHN1bTAsIHNp emVfdCBzdW0xLCBzaXplX3Qgc3VtMiwgc2l6ZV90IHN1bTMpDQorew0KKyAg cmV0dXJuIHN1bTAgKyBzdW0xICsgc3VtMiArIHN1bTM7DQorfQ0KKw0KK3Np emVfdA0KK2ZvbyAoY2hhciBjb25zdCAqYnVmLCBzaXplX3QgbGVuKQ0KK3sN CisgIHNpemVfdCBzdW0gPSAwOw0KKyAgc2l6ZV90IHZsID0gX19yaXNjdl92 c2V0dmxtYXhfZThtOCAoKTsNCisgIHNpemVfdCBzdGVwID0gdmwgKiA0Ow0K KyAgY29uc3QgY2hhciAqaXQgPSBidWYsICplbmQgPSBidWYgKyBsZW47DQor ICBmb3IgKDsgaXQgKyBzdGVwIDw9IGVuZDspDQorICAgIHsNCisgICAgICB2 ZmxvYXQzMm00X3QgdjAgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTQgKCh2b2lk ICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0 MzJtNF90IHYxID0gX19yaXNjdl92bGUzMl92X2YzMm00ICgodm9pZCAqKSBp dCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTRf dCB2MiA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtNCAoKHZvaWQgKikgaXQsIHZs KTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm00X3QgdjMg PSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTQgKCh2b2lkICopIGl0LCB2bCk7DQor ICAgICAgaXQgKz0gdmw7DQorICAgICAgDQorICAgICAgYXNtIHZvbGF0aWxl KCJub3AiIDo6OiAibWVtb3J5Iik7DQorICAgICAgdmZsb2F0NjRtOF90IHZ3 MCA9IF9fcmlzY3ZfdmZ3YWRkX3ZmX2Y2NG04ICh2MCwgMzMsIHZsKTsNCisg ICAgICB2ZmxvYXQ2NG04X3QgdncxID0gX19yaXNjdl92ZndhZGRfdmZfZjY0 bTggKHYxLCAzMywgdmwpOw0KKyAgICAgIHZmbG9hdDY0bThfdCB2dzIgPSBf X3Jpc2N2X3Zmd2FkZF92Zl9mNjRtOCAodjIsIDMzLCB2bCk7DQorICAgICAg dmZsb2F0NjRtOF90IHZ3MyA9IF9fcmlzY3ZfdmZ3YWRkX3ZmX2Y2NG04ICh2 MywgMzMsIHZsKTsNCisNCisgICAgICBhc20gdm9sYXRpbGUoIm5vcCIgOjo6 ICJtZW1vcnkiKTsNCisgICAgICBzaXplX3Qgc3VtMCA9IF9fcmlzY3ZfdmZt dl9mX3NfZjY0bThfZjY0ICh2dzApOw0KKyAgICAgIHNpemVfdCBzdW0xID0g X19yaXNjdl92Zm12X2Zfc19mNjRtOF9mNjQgKHZ3MSk7DQorICAgICAgc2l6 ZV90IHN1bTIgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG04X2Y2NCAodncyKTsN CisgICAgICBzaXplX3Qgc3VtMyA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bThf ZjY0ICh2dzMpOw0KKw0KKyAgICAgIHN1bSArPSBzdW1hdGlvbiAoc3VtMCwg c3VtMSwgc3VtMiwgc3VtMyk7DQorICAgIH0NCisgIHJldHVybiBzdW07DQor fQ0KKw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3Zt djFyfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt bm90IHt2bXYycn0gfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLW5vdCB7dm12NHJ9IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci1ub3Qge3ZtdjhyfSB9IH0gKi8NCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHtjc3JyfSB7IHhmYWlsIHJpc2N2 Ki0qLSogfSB9IH0gKi8NCi0tIA0KMi4zNC4xDQogDQogDQo= ------=_001_NextPart663345236315_=------