From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg151.qq.com (smtpbg151.qq.com [18.169.211.239]) by sourceware.org (Postfix) with ESMTPS id 02E12384AB50 for ; Mon, 22 Apr 2024 08:28:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 02E12384AB50 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 02E12384AB50 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=18.169.211.239 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713774564; cv=none; b=Ag37klP6+yDWx/BvhDmz+oeFqrqvHVf6KOWJeMityzqpyXW3hmfHF4dOFrYe7xhQNZE7ci2UgOpsYP6E/svjLXRoukJz/Ka4iS/R9molKivpTBrV4AR1d60XHf4Po0syFn6clZGaRyi9hrZfyVTHA3dAp8Nsz1klxRWoK72oKU0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713774564; c=relaxed/simple; bh=hBSyFcwrhRNYNLQU6uCAriCYgQRDv4qwJqkObItZ1IE=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=HpQh4SXMbB3VrsFNEiAJoeU0UOCRcjWTGWz1IqCn4pihFMeqCE986MtQ/+UKnNs4qlbR+PnKjPoavgdUS+eNPni19ow0B13yLszaMKqWV/xdERzwI9P21OuHyR/3vr57cQz2/5ESOESHxGMB6PlEO0czUN29PRDxo7fycncJ+Q4= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp85t1713774527tqbpg6w1 X-QQ-Originating-IP: cDkE6qKIayWt7nYsnAkfklf0G/i/fvxlWNtNijh7m0o= Received: from LAPTOP-EPITNQBU ( [121.35.181.102]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 22 Apr 2024 16:28:46 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: UJd4nZbM1CeD7AllV+33yIwG64c/uECyk7L5LyA16cC/sVEcCgRV+ab6Pj6E6 fkZYsk+CIk/JTq8WZJda0SuuPMvcgj2DLLHuXIht+vadnyJu0OvkZZmUgNDUtCl8QQ3U2HJ udIiKZM7SVAtVLID6ToiaVWVsCZC6PzHPLw4aKBRLsNE0U78K4+gTco1k70HQTP9gqr47TG a8gmD7N+xyeIkgeRuLRY2+uyaPlOcMNkUtc1QjYD2vRGD9MU6mKjbEVBTETXBBAN3abVVX+ 6/NMpsTZT56qKBU2SOfZg1qXKjEUzWzjkbwbPX6WcHYdYoiNStYJIs6DsbZGB3iiLWxbQUI tdeSfcHxdlN7n8jw09bX+9CZ+oD0aTcl2Nr4EZDfOEmC0y6QvlSE4xdBB/4vSlyKi+QU3DV WiM1mzGIyWymWX97ciXhu3X6x8ZI7WsE X-QQ-GoodBg: 2 X-BIZMAIL-ID: 14704825448719169951 Date: Mon, 22 Apr 2024 16:28:46 +0800 From: "juzhe.zhong@rivai.ai" To: pan2.li , gcc-patches Cc: kito.cheng , "Robin Dapp" , pan2.li Subject: Re: [PATCH v1] RISC-V: Add xfail test case for highpart overlap floating-point widen insn References: <20240422082707.1592898-1-pan2.li@intel.com> X-Priority: 3 X-GUID: 649578FC-DD1F-4BB6-901E-4CE17DF71D69 X-Has-Attach: no X-Mailer: Foxmail 7.2.16.188[cn] Mime-Version: 1.0 Message-ID: Content-Type: multipart/alternative; boundary="----=_001_NextPart352607355203_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-8.6 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,MIME_BASE64_TEXT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,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_NextPart352607355203_=---- Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: base64 bGd0bQ0KDQoNCg0KanV6aGUuemhvbmdAcml2YWkuYWkNCiANCkZyb206IHBh bjIubGkNCkRhdGU6IDIwMjQtMDQtMjIgMTY6MjcNClRvOiBnY2MtcGF0Y2hl cw0KQ0M6IGp1emhlLnpob25nOyBraXRvLmNoZW5nOyByZGFwcC5nY2M7IFBh biBMaQ0KU3ViamVjdDogW1BBVENIIHYxXSBSSVNDLVY6IEFkZCB4ZmFpbCB0 ZXN0IGNhc2UgZm9yIGhpZ2hwYXJ0IG92ZXJsYXAgZmxvYXRpbmctcG9pbnQg d2lkZW4gaW5zbg0KRnJvbTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbT4N CiANCldlIHJldmVydGVkIGJlbG93IHBhdGNoIGZvciByZWdpc3RlciBncm91 cCBvdmVybGFwLCBhZGQgdGhlIHJlbGF0ZWQNCmluc24gdGVzdCBhbmQgbWFy ayBpdCBhcyB4ZmFpbC4gIEFuZCB3ZSB3aWxsIHJlbW92ZSB0aGUgeGZhaWwN CmFmdGVyIHdlIHN1cHBvcnQgdGhlIHJlZ2lzdGVyIG92ZXJsYXAgaW4gR0ND LTE1Lg0KIA0KODYxNGNiYjI1MzQgUklTQy1WOiBTdXBwb3J0IGhpZ2hwYXJ0 IG92ZXJsYXAgZm9yIGZsb2F0aW5nLXBvaW50IHdpZGVuIGluc3RydWN0aW9u cw0KIA0KVGhlIGJlbG93IHRlc3Qgc3VpdGVzIGFyZSBwYXNzZWQuDQoqIFRo ZSBydjY0Z2N2IGZ1bGx5IHJlZ3Jlc3Npb24gdGVzdC4NCiANCmdjYy90ZXN0 c3VpdGUvQ2hhbmdlTG9nOg0KIA0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9i YXNlL3ByMTEyNDMxLTEwLmM6IE5ldyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jp c2N2L3J2di9iYXNlL3ByMTEyNDMxLTExLmM6IE5ldyB0ZXN0Lg0KKiBnY2Mu dGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTEyLmM6IE5ldyB0ZXN0 Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTEzLmM6 IE5ldyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEy NDMxLTE0LmM6IE5ldyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di9i YXNlL3ByMTEyNDMxLTE1LmM6IE5ldyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jp c2N2L3J2di9iYXNlL3ByMTEyNDMxLTcuYzogTmV3IHRlc3QuDQoqIGdjYy50 YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtOC5jOiBOZXcgdGVzdC4N CiogZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS05LmM6IE5l dyB0ZXN0Lg0KIA0KU2lnbmVkLW9mZi1ieTogUGFuIExpIDxwYW4yLmxpQGlu dGVsLmNvbT4NCi0tLQ0KLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uv cHIxMTI0MzEtMTAuYyAgIHwgMTA0ICsrKysrKysrKysNCi4uLi9nY2MudGFy Z2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTExLmMgICB8ICA2OCArKysr KysrDQouLi4vZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS0x Mi5jICAgfCAgNTEgKysrKysNCi4uLi9nY2MudGFyZ2V0L3Jpc2N2L3J2di9i YXNlL3ByMTEyNDMxLTEzLmMgICB8IDE4OCArKysrKysrKysrKysrKysrKysN Ci4uLi9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTE0LmMg ICB8IDExOSArKysrKysrKysrKw0KLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2Jhc2UvcHIxMTI0MzEtMTUuYyAgIHwgIDg2ICsrKysrKysrDQouLi4vZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS03LmMgICAgfCAxMDQg KysrKysrKysrKw0KLi4uL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIx MTI0MzEtOC5jICAgIHwgIDY4ICsrKysrKysNCi4uLi9nY2MudGFyZ2V0L3Jp c2N2L3J2di9iYXNlL3ByMTEyNDMxLTkuYyAgICB8ICA1MSArKysrKw0KOSBm aWxlcyBjaGFuZ2VkLCA4MzkgaW5zZXJ0aW9ucygrKQ0KY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFz ZS9wcjExMjQzMS0xMC5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTExLmMN CmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtMTIuYw0KY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9w cjExMjQzMS0xMy5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTE0LmMNCmNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcnZ2L2Jhc2UvcHIxMTI0MzEtMTUuYw0KY3JlYXRlIG1vZGUgMTAwNjQ0 IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjEx MjQzMS03LmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtOC5jDQpjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2 di9iYXNlL3ByMTEyNDMxLTkuYw0KIA0KZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS0xMC5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3By MTEyNDMxLTEwLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAw MDAwMDAwMC4uNWQzZjJmYmU0NmQNCi0tLSAvZGV2L251bGwNCisrKyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQz MS0xMC5jDQpAQCAtMCwwICsxLDEwNCBAQA0KKy8qIHsgZGctZG8gY29tcGls ZSB9ICovDQorLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFi aT1scDY0ZCAtTzMiIH0gKi8NCisNCisjaW5jbHVkZSAicmlzY3ZfdmVjdG9y LmgiDQorDQorZG91YmxlIF9fYXR0cmlidXRlX18gKChub2lubGluZSkpDQor c3VtYXRpb24gKGRvdWJsZSBzdW0wLCBkb3VibGUgc3VtMSwgZG91YmxlIHN1 bTIsIGRvdWJsZSBzdW0zLCBkb3VibGUgc3VtNCwNCisgICBkb3VibGUgc3Vt NSwgZG91YmxlIHN1bTYsIGRvdWJsZSBzdW03LCBkb3VibGUgc3VtOCwgZG91 YmxlIHN1bTksDQorICAgZG91YmxlIHN1bTEwLCBkb3VibGUgc3VtMTEsIGRv dWJsZSBzdW0xMiwgZG91YmxlIHN1bTEzLCBkb3VibGUgc3VtMTQsDQorICAg ZG91YmxlIHN1bTE1KQ0KK3sNCisgIHJldHVybiBzdW0wICsgc3VtMSArIHN1 bTIgKyBzdW0zICsgc3VtNCArIHN1bTUgKyBzdW02ICsgc3VtNyArIHN1bTgg KyBzdW05DQorICsgc3VtMTAgKyBzdW0xMSArIHN1bTEyICsgc3VtMTMgKyBz dW0xNCArIHN1bTE1Ow0KK30NCisNCitkb3VibGUNCitmb28gKGNoYXIgY29u c3QgKmJ1Ziwgc2l6ZV90IGxlbikNCit7DQorICBkb3VibGUgc3VtID0gMDsN CisgIHNpemVfdCB2bCA9IF9fcmlzY3ZfdnNldHZsbWF4X2U4bTggKCk7DQor ICBzaXplX3Qgc3RlcCA9IHZsICogNDsNCisgIGNvbnN0IGNoYXIgKml0ID0g YnVmLCAqZW5kID0gYnVmICsgbGVuOw0KKyAgZm9yICg7IGl0ICsgc3RlcCA8 PSBlbmQ7KQ0KKyAgICB7DQorICAgICAgdmludDMybTFfdCB2MCA9IF9fcmlz Y3ZfdmxlMzJfdl9pMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBp dCArPSB2bDsNCisgICAgICB2aW50MzJtMV90IHYxID0gX19yaXNjdl92bGUz Ml92X2kzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZs Ow0KKyAgICAgIHZpbnQzMm0xX3QgdjIgPSBfX3Jpc2N2X3ZsZTMyX3ZfaTMy bTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAg ICAgdmludDMybTFfdCB2MyA9IF9fcmlzY3ZfdmxlMzJfdl9pMzJtMSAoKHZv aWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50 MzJtMV90IHY0ID0gX19yaXNjdl92bGUzMl92X2kzMm0xICgodm9pZCAqKSBp dCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQzMm0xX3Qg djUgPSBfX3Jpc2N2X3ZsZTMyX3ZfaTMybTEgKCh2b2lkICopIGl0LCB2bCk7 DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmludDMybTFfdCB2NiA9IF9f cmlzY3ZfdmxlMzJfdl9pMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAg ICBpdCArPSB2bDsNCisgICAgICB2aW50MzJtMV90IHY3ID0gX19yaXNjdl92 bGUzMl92X2kzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9 IHZsOw0KKyAgICAgIHZpbnQzMm0xX3QgdjggPSBfX3Jpc2N2X3ZsZTMyX3Zf aTMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQor ICAgICAgdmludDMybTFfdCB2OSA9IF9fcmlzY3ZfdmxlMzJfdl9pMzJtMSAo KHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2 aW50MzJtMV90IHYxMCA9IF9fcmlzY3ZfdmxlMzJfdl9pMzJtMSAoKHZvaWQg KikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50MzJt MV90IHYxMSA9IF9fcmlzY3ZfdmxlMzJfdl9pMzJtMSAoKHZvaWQgKikgaXQs IHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50MzJtMV90IHYx MiA9IF9fcmlzY3ZfdmxlMzJfdl9pMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsN CisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50MzJtMV90IHYxMyA9IF9f cmlzY3ZfdmxlMzJfdl9pMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAg ICBpdCArPSB2bDsNCisgICAgICB2aW50MzJtMV90IHYxNCA9IF9fcmlzY3Zf dmxlMzJfdl9pMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCAr PSB2bDsNCisgICAgICB2aW50MzJtMV90IHYxNSA9IF9fcmlzY3ZfdmxlMzJf dl9pMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsN CisgICAgICANCisgICAgICBhc20gdm9sYXRpbGUoIm5vcCIgOjo6ICJtZW1v cnkiKTsNCisgICAgICB2ZmxvYXQ2NG0yX3QgdncwID0gX19yaXNjdl92Zndj dnRfZl94X3ZfZjY0bTIgKHYwLCB2bCk7DQorICAgICAgdmZsb2F0NjRtMl90 IHZ3MSA9IF9fcmlzY3ZfdmZ3Y3Z0X2ZfeF92X2Y2NG0yICh2MSwgdmwpOw0K KyAgICAgIHZmbG9hdDY0bTJfdCB2dzIgPSBfX3Jpc2N2X3Zmd2N2dF9mX3hf dl9mNjRtMiAodjIsIHZsKTsNCisgICAgICB2ZmxvYXQ2NG0yX3QgdnczID0g X19yaXNjdl92ZndjdnRfZl94X3ZfZjY0bTIgKHYzLCB2bCk7DQorICAgICAg dmZsb2F0NjRtMl90IHZ3NCA9IF9fcmlzY3ZfdmZ3Y3Z0X2ZfeF92X2Y2NG0y ICh2NCwgdmwpOw0KKyAgICAgIHZmbG9hdDY0bTJfdCB2dzUgPSBfX3Jpc2N2 X3Zmd2N2dF9mX3hfdl9mNjRtMiAodjUsIHZsKTsNCisgICAgICB2ZmxvYXQ2 NG0yX3Qgdnc2ID0gX19yaXNjdl92ZndjdnRfZl94X3ZfZjY0bTIgKHY2LCB2 bCk7DQorICAgICAgdmZsb2F0NjRtMl90IHZ3NyA9IF9fcmlzY3ZfdmZ3Y3Z0 X2ZfeF92X2Y2NG0yICh2NywgdmwpOw0KKyAgICAgIHZmbG9hdDY0bTJfdCB2 dzggPSBfX3Jpc2N2X3Zmd2N2dF9mX3hfdl9mNjRtMiAodjgsIHZsKTsNCisg ICAgICB2ZmxvYXQ2NG0yX3Qgdnc5ID0gX19yaXNjdl92ZndjdnRfZl94X3Zf ZjY0bTIgKHY5LCB2bCk7DQorICAgICAgdmZsb2F0NjRtMl90IHZ3MTAgPSBf X3Jpc2N2X3Zmd2N2dF9mX3hfdl9mNjRtMiAodjEwLCB2bCk7DQorICAgICAg dmZsb2F0NjRtMl90IHZ3MTEgPSBfX3Jpc2N2X3Zmd2N2dF9mX3hfdl9mNjRt MiAodjExLCB2bCk7DQorICAgICAgdmZsb2F0NjRtMl90IHZ3MTIgPSBfX3Jp c2N2X3Zmd2N2dF9mX3hfdl9mNjRtMiAodjEyLCB2bCk7DQorICAgICAgdmZs b2F0NjRtMl90IHZ3MTMgPSBfX3Jpc2N2X3Zmd2N2dF9mX3hfdl9mNjRtMiAo djEzLCB2bCk7DQorICAgICAgdmZsb2F0NjRtMl90IHZ3MTQgPSBfX3Jpc2N2 X3Zmd2N2dF9mX3hfdl9mNjRtMiAodjE0LCB2bCk7DQorICAgICAgdmZsb2F0 NjRtMl90IHZ3MTUgPSBfX3Jpc2N2X3Zmd2N2dF9mX3hfdl9mNjRtMiAodjE1 LCB2bCk7DQorDQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6OiAibWVt b3J5Iik7DQorICAgICAgZG91YmxlIHN1bTAgPSBfX3Jpc2N2X3ZmbXZfZl9z X2Y2NG0yX2Y2NCAodncwKTsNCisgICAgICBkb3VibGUgc3VtMSA9IF9fcmlz Y3ZfdmZtdl9mX3NfZjY0bTJfZjY0ICh2dzEpOw0KKyAgICAgIGRvdWJsZSBz dW0yID0gX19yaXNjdl92Zm12X2Zfc19mNjRtMl9mNjQgKHZ3Mik7DQorICAg ICAgZG91YmxlIHN1bTMgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAo dnczKTsNCisgICAgICBkb3VibGUgc3VtNCA9IF9fcmlzY3ZfdmZtdl9mX3Nf ZjY0bTJfZjY0ICh2dzQpOw0KKyAgICAgIGRvdWJsZSBzdW01ID0gX19yaXNj dl92Zm12X2Zfc19mNjRtMl9mNjQgKHZ3NSk7DQorICAgICAgZG91YmxlIHN1 bTYgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAodnc2KTsNCisgICAg ICBkb3VibGUgc3VtNyA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bTJfZjY0ICh2 dzcpOw0KKyAgICAgIGRvdWJsZSBzdW04ID0gX19yaXNjdl92Zm12X2Zfc19m NjRtMl9mNjQgKHZ3OCk7DQorICAgICAgZG91YmxlIHN1bTkgPSBfX3Jpc2N2 X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAodnc5KTsNCisgICAgICBkb3VibGUgc3Vt MTAgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAodncxMCk7DQorICAg ICAgZG91YmxlIHN1bTExID0gX19yaXNjdl92Zm12X2Zfc19mNjRtMl9mNjQg KHZ3MTEpOw0KKyAgICAgIGRvdWJsZSBzdW0xMiA9IF9fcmlzY3ZfdmZtdl9m X3NfZjY0bTJfZjY0ICh2dzEyKTsNCisgICAgICBkb3VibGUgc3VtMTMgPSBf X3Jpc2N2X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAodncxMyk7DQorICAgICAgZG91 YmxlIHN1bTE0ID0gX19yaXNjdl92Zm12X2Zfc19mNjRtMl9mNjQgKHZ3MTQp Ow0KKyAgICAgIGRvdWJsZSBzdW0xNSA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0 bTJfZjY0ICh2dzE1KTsNCisNCisgICAgICBzdW0gKz0gc3VtYXRpb24gKHN1 bTAsIHN1bTEsIHN1bTIsIHN1bTMsIHN1bTQsIHN1bTUsIHN1bTYsIHN1bTcs IHN1bTgsDQorICAgICAgICBzdW05LCBzdW0xMCwgc3VtMTEsIHN1bTEyLCBz dW0xMywgc3VtMTQsIHN1bTE1KTsNCisgICAgfQ0KKyAgcmV0dXJuIHN1bTsN Cit9DQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7 dm12MXJ9IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci1ub3Qge3ZtdjJyfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItbm90IHt2bXY0cn0gfSB9ICovDQorLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12OHJ9IH0gfSAqLw0KKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge2NzcnJ9IHsgeGZhaWwgcmlz Y3YqLSotKiB9IH0gfSAqLw0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS0xMS5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMx LTExLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAw MC4uNmEyMzAxYjUyM2YNCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS0xMS5j DQpAQCAtMCwwICsxLDY4IEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8N CisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRk IC1PMyIgfSAqLw0KKw0KKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCisN Citkb3VibGUgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkNCitzdW1hdGlv biAoZG91YmxlIHN1bTAsIGRvdWJsZSBzdW0xLCBkb3VibGUgc3VtMiwgZG91 YmxlIHN1bTMsIGRvdWJsZSBzdW00LA0KKyAgIGRvdWJsZSBzdW01LCBkb3Vi bGUgc3VtNiwgZG91YmxlIHN1bTcpDQorew0KKyAgcmV0dXJuIHN1bTAgKyBz dW0xICsgc3VtMiArIHN1bTMgKyBzdW00ICsgc3VtNSArIHN1bTYgKyBzdW03 Ow0KK30NCisNCitkb3VibGUNCitmb28gKGNoYXIgY29uc3QgKmJ1Ziwgc2l6 ZV90IGxlbikNCit7DQorICBkb3VibGUgc3VtID0gMDsNCisgIHNpemVfdCB2 bCA9IF9fcmlzY3ZfdnNldHZsbWF4X2U4bTggKCk7DQorICBzaXplX3Qgc3Rl cCA9IHZsICogNDsNCisgIGNvbnN0IGNoYXIgKml0ID0gYnVmLCAqZW5kID0g YnVmICsgbGVuOw0KKyAgZm9yICg7IGl0ICsgc3RlcCA8PSBlbmQ7KQ0KKyAg ICB7DQorICAgICAgdmludDMybTJfdCB2MCA9IF9fcmlzY3ZfdmxlMzJfdl9p MzJtMiAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisg ICAgICB2aW50MzJtMl90IHYxID0gX19yaXNjdl92bGUzMl92X2kzMm0yICgo dm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZp bnQzMm0yX3QgdjIgPSBfX3Jpc2N2X3ZsZTMyX3ZfaTMybTIgKCh2b2lkICop IGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmludDMybTJf dCB2MyA9IF9fcmlzY3ZfdmxlMzJfdl9pMzJtMiAoKHZvaWQgKikgaXQsIHZs KTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50MzJtMl90IHY0ID0g X19yaXNjdl92bGUzMl92X2kzMm0yICgodm9pZCAqKSBpdCwgdmwpOw0KKyAg ICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQzMm0yX3QgdjUgPSBfX3Jpc2N2 X3ZsZTMyX3ZfaTMybTIgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQg Kz0gdmw7DQorICAgICAgdmludDMybTJfdCB2NiA9IF9fcmlzY3ZfdmxlMzJf dl9pMzJtMiAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsN CisgICAgICB2aW50MzJtMl90IHY3ID0gX19yaXNjdl92bGUzMl92X2kzMm0y ICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKw0KKyAg ICAgIGFzbSB2b2xhdGlsZSgibm9wIiA6OjogIm1lbW9yeSIpOw0KKyAgICAg IHZmbG9hdDY0bTRfdCB2dzAgPSBfX3Jpc2N2X3Zmd2N2dF9mX3hfdl9mNjRt NCAodjAsIHZsKTsNCisgICAgICB2ZmxvYXQ2NG00X3QgdncxID0gX19yaXNj dl92ZndjdnRfZl94X3ZfZjY0bTQgKHYxLCB2bCk7DQorICAgICAgdmZsb2F0 NjRtNF90IHZ3MiA9IF9fcmlzY3ZfdmZ3Y3Z0X2ZfeF92X2Y2NG00ICh2Miwg dmwpOw0KKyAgICAgIHZmbG9hdDY0bTRfdCB2dzMgPSBfX3Jpc2N2X3Zmd2N2 dF9mX3hfdl9mNjRtNCAodjMsIHZsKTsNCisgICAgICB2ZmxvYXQ2NG00X3Qg dnc0ID0gX19yaXNjdl92ZndjdnRfZl94X3ZfZjY0bTQgKHY0LCB2bCk7DQor ICAgICAgdmZsb2F0NjRtNF90IHZ3NSA9IF9fcmlzY3ZfdmZ3Y3Z0X2ZfeF92 X2Y2NG00ICh2NSwgdmwpOw0KKyAgICAgIHZmbG9hdDY0bTRfdCB2dzYgPSBf X3Jpc2N2X3Zmd2N2dF9mX3hfdl9mNjRtNCAodjYsIHZsKTsNCisgICAgICB2 ZmxvYXQ2NG00X3Qgdnc3ID0gX19yaXNjdl92ZndjdnRfZl94X3ZfZjY0bTQg KHY3LCB2bCk7DQorDQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6OiAi bWVtb3J5Iik7DQorICAgICAgZG91YmxlIHN1bTAgPSBfX3Jpc2N2X3ZmbXZf Zl9zX2Y2NG00X2Y2NCAodncwKTsNCisgICAgICBkb3VibGUgc3VtMSA9IF9f cmlzY3ZfdmZtdl9mX3NfZjY0bTRfZjY0ICh2dzEpOw0KKyAgICAgIGRvdWJs ZSBzdW0yID0gX19yaXNjdl92Zm12X2Zfc19mNjRtNF9mNjQgKHZ3Mik7DQor ICAgICAgZG91YmxlIHN1bTMgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG00X2Y2 NCAodnczKTsNCisgICAgICBkb3VibGUgc3VtNCA9IF9fcmlzY3ZfdmZtdl9m X3NfZjY0bTRfZjY0ICh2dzQpOw0KKyAgICAgIGRvdWJsZSBzdW01ID0gX19y aXNjdl92Zm12X2Zfc19mNjRtNF9mNjQgKHZ3NSk7DQorICAgICAgZG91Ymxl IHN1bTYgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG00X2Y2NCAodnc2KTsNCisg ICAgICBkb3VibGUgc3VtNyA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bTRfZjY0 ICh2dzcpOw0KKw0KKyAgICAgIHN1bSArPSBzdW1hdGlvbiAoc3VtMCwgc3Vt MSwgc3VtMiwgc3VtMywgc3VtNCwgc3VtNSwgc3VtNiwgc3VtNyk7DQorICAg IH0NCisgIHJldHVybiBzdW07DQorfQ0KKw0KKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci1ub3Qge3ZtdjFyfSB9IH0gKi8NCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bXYycn0gfSB9ICovDQorLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12NHJ9IH0gfSAq Lw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3Ztdjhy fSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90 IHtjc3JyfSB7IHhmYWlsIHJpc2N2Ki0qLSogfSB9IH0gKi8NCmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uv cHIxMTI0MzEtMTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9ydnYvYmFzZS9wcjExMjQzMS0xMi5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggMDAwMDAwMDAwMDAuLjBmM2ViNGQ1OGRlDQotLS0gL2Rldi9u dWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L2Jhc2UvcHIxMTI0MzEtMTIuYw0KQEAgLTAsMCArMSw1MSBAQA0KKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1vcHRpb25zICItbWFyY2g9 cnY2NGdjdiAtbWFiaT1scDY0ZCAtTzMiIH0gKi8NCisNCisjaW5jbHVkZSAi cmlzY3ZfdmVjdG9yLmgiDQorDQorZG91YmxlIF9fYXR0cmlidXRlX18gKChu b2lubGluZSkpDQorc3VtYXRpb24gKGRvdWJsZSBzdW0wLCBkb3VibGUgc3Vt MSwgZG91YmxlIHN1bTIsIGRvdWJsZSBzdW0zKQ0KK3sNCisgIHJldHVybiBz dW0wICsgc3VtMSArIHN1bTIgKyBzdW0zOw0KK30NCisNCitkb3VibGUNCitm b28gKGNoYXIgY29uc3QgKmJ1Ziwgc2l6ZV90IGxlbikNCit7DQorICBkb3Vi bGUgc3VtID0gMDsNCisgIHNpemVfdCB2bCA9IF9fcmlzY3ZfdnNldHZsbWF4 X2U4bTggKCk7DQorICBzaXplX3Qgc3RlcCA9IHZsICogNDsNCisgIGNvbnN0 IGNoYXIgKml0ID0gYnVmLCAqZW5kID0gYnVmICsgbGVuOw0KKyAgZm9yICg7 IGl0ICsgc3RlcCA8PSBlbmQ7KQ0KKyAgICB7DQorICAgICAgdmludDMybTRf dCB2MCA9IF9fcmlzY3ZfdmxlMzJfdl9pMzJtNCAoKHZvaWQgKikgaXQsIHZs KTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2aW50MzJtNF90IHYxID0g X19yaXNjdl92bGUzMl92X2kzMm00ICgodm9pZCAqKSBpdCwgdmwpOw0KKyAg ICAgIGl0ICs9IHZsOw0KKyAgICAgIHZpbnQzMm00X3QgdjIgPSBfX3Jpc2N2 X3ZsZTMyX3ZfaTMybTQgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQg Kz0gdmw7DQorICAgICAgdmludDMybTRfdCB2MyA9IF9fcmlzY3ZfdmxlMzJf dl9pMzJtNCAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsN CisNCisgICAgICBhc20gdm9sYXRpbGUoIm5vcCIgOjo6ICJtZW1vcnkiKTsN CisgICAgICB2ZmxvYXQ2NG04X3QgdncwID0gX19yaXNjdl92ZndjdnRfZl94 X3ZfZjY0bTggKHYwLCB2bCk7DQorICAgICAgdmZsb2F0NjRtOF90IHZ3MSA9 IF9fcmlzY3ZfdmZ3Y3Z0X2ZfeF92X2Y2NG04ICh2MSwgdmwpOw0KKyAgICAg IHZmbG9hdDY0bThfdCB2dzIgPSBfX3Jpc2N2X3Zmd2N2dF9mX3hfdl9mNjRt OCAodjIsIHZsKTsNCisgICAgICB2ZmxvYXQ2NG04X3QgdnczID0gX19yaXNj dl92ZndjdnRfZl94X3ZfZjY0bTggKHYzLCB2bCk7DQorDQorICAgICAgYXNt IHZvbGF0aWxlKCJub3AiIDo6OiAibWVtb3J5Iik7DQorICAgICAgZG91Ymxl IHN1bTAgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG04X2Y2NCAodncwKTsNCisg ICAgICBkb3VibGUgc3VtMSA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bThfZjY0 ICh2dzEpOw0KKyAgICAgIGRvdWJsZSBzdW0yID0gX19yaXNjdl92Zm12X2Zf c19mNjRtOF9mNjQgKHZ3Mik7DQorICAgICAgZG91YmxlIHN1bTMgPSBfX3Jp c2N2X3ZmbXZfZl9zX2Y2NG04X2Y2NCAodnczKTsNCisNCisgICAgICBzdW0g Kz0gc3VtYXRpb24gKHN1bTAsIHN1bTEsIHN1bTIsIHN1bTMpOw0KKyAgICB9 DQorICByZXR1cm4gc3VtOw0KK30NCisNCisvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItbm90IHt2bXYxcn0gfSB9ICovDQorLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12MnJ9IH0gfSAqLw0KKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3ZtdjRyfSB9IH0gKi8N CisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bXY4cn0g fSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7 Y3Nycn0geyB4ZmFpbCByaXNjdiotKi0qIH0gfSB9ICovDQpkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3By MTEyNDMxLTEzLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cnZ2L2Jhc2UvcHIxMTI0MzEtMTMuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAwMDAwLi43MTc4Njk5NWM1Ng0KLS0tIC9kZXYvbnVs bA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9i YXNlL3ByMTEyNDMxLTEzLmMNCkBAIC0wLDAgKzEsMTg4IEBADQorLyogeyBk Zy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1y djY0Z2N2IC1tYWJpPWxwNjRkIC1PMyIgfSAqLw0KKw0KKyNpbmNsdWRlICJy aXNjdl92ZWN0b3IuaCINCisNCitkb3VibGUgX19hdHRyaWJ1dGVfXyAoKG5v aW5saW5lKSkNCitzdW1hdGlvbiAoZG91YmxlIHN1bTAsIGRvdWJsZSBzdW0x LCBkb3VibGUgc3VtMiwgZG91YmxlIHN1bTMsIGRvdWJsZSBzdW00LA0KKyAg IGRvdWJsZSBzdW01LCBkb3VibGUgc3VtNiwgZG91YmxlIHN1bTcsIGRvdWJs ZSBzdW04LCBkb3VibGUgc3VtOSwNCisgICBkb3VibGUgc3VtMTAsIGRvdWJs ZSBzdW0xMSwgZG91YmxlIHN1bTEyLCBkb3VibGUgc3VtMTMsIGRvdWJsZSBz dW0xNCwNCisgICBkb3VibGUgc3VtMTUpDQorew0KKyAgcmV0dXJuIHN1bTAg KyBzdW0xICsgc3VtMiArIHN1bTMgKyBzdW00ICsgc3VtNSArIHN1bTYgKyBz dW03ICsgc3VtOCArIHN1bTkNCisgKyBzdW0xMCArIHN1bTExICsgc3VtMTIg KyBzdW0xMyArIHN1bTE0ICsgc3VtMTU7DQorfQ0KKw0KK2RvdWJsZQ0KK2Zv byAoY2hhciBjb25zdCAqYnVmLCBzaXplX3QgbGVuKQ0KK3sNCisgIGRvdWJs ZSBzdW0gPSAwOw0KKyAgc2l6ZV90IHZsID0gX19yaXNjdl92c2V0dmxtYXhf ZThtOCAoKTsNCisgIHNpemVfdCBzdGVwID0gdmwgKiA0Ow0KKyAgY29uc3Qg Y2hhciAqaXQgPSBidWYsICplbmQgPSBidWYgKyBsZW47DQorICBmb3IgKDsg aXQgKyBzdGVwIDw9IGVuZDspDQorICAgIHsNCisgICAgICB2ZmxvYXQzMm0x X3QgdjAgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2 bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHYx ID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0K KyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2MiA9IF9f cmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAg ICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjMgPSBfX3Jpc2N2 X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQg Kz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHY0ID0gX19yaXNjdl92bGUz Ml92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZs Ow0KKyAgICAgIHZmbG9hdDMybTFfdCB2NSA9IF9fcmlzY3ZfdmxlMzJfdl9m MzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisg ICAgICB2ZmxvYXQzMm0xX3QgdjYgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEg KCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAg dmZsb2F0MzJtMV90IHY3ID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9p ZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9h dDMybTFfdCB2OCA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikg aXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0x X3QgdjkgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2 bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHYx MCA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsN CisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjExID0g X19yaXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAg ICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2MTIgPSBfX3Jp c2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAg aXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHYxMyA9IF9fcmlzY3Zf dmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCAr PSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjE0ID0gX19yaXNjdl92bGUz Ml92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZs Ow0KKyAgICAgIHZmbG9hdDMybTFfdCB2MTUgPSBfX3Jpc2N2X3ZsZTMyX3Zf ZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQor ICAgICAgDQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6OiAibWVtb3J5 Iik7DQorICAgICAgdmludDY0bTJfdCB2dzAgPSBfX3Jpc2N2X3Zmd2N2dF9y dHpfeF9mX3ZfaTY0bTIgKHYwLCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2 dzEgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHYxLCB2bCk7 DQorICAgICAgdmludDY0bTJfdCB2dzIgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpf eF9mX3ZfaTY0bTIgKHYyLCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzMg PSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHYzLCB2bCk7DQor ICAgICAgdmludDY0bTJfdCB2dzQgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9m X3ZfaTY0bTIgKHY0LCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzUgPSBf X3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHY1LCB2bCk7DQorICAg ICAgdmludDY0bTJfdCB2dzYgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3Zf aTY0bTIgKHY2LCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzcgPSBfX3Jp c2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHY3LCB2bCk7DQorICAgICAg dmludDY0bTJfdCB2dzggPSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0 bTIgKHY4LCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzkgPSBfX3Jpc2N2 X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHY5LCB2bCk7DQorICAgICAgdmlu dDY0bTJfdCB2dzEwID0gX19yaXNjdl92ZndjdnRfcnR6X3hfZl92X2k2NG0y ICh2MTAsIHZsKTsNCisgICAgICB2aW50NjRtMl90IHZ3MTEgPSBfX3Jpc2N2 X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHYxMSwgdmwpOw0KKyAgICAgIHZp bnQ2NG0yX3QgdncxMiA9IF9fcmlzY3ZfdmZ3Y3Z0X3J0el94X2Zfdl9pNjRt MiAodjEyLCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzEzID0gX19yaXNj dl92ZndjdnRfcnR6X3hfZl92X2k2NG0yICh2MTMsIHZsKTsNCisgICAgICB2 aW50NjRtMl90IHZ3MTQgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0 bTIgKHYxNCwgdmwpOw0KKyAgICAgIHZpbnQ2NG0yX3QgdncxNSA9IF9fcmlz Y3ZfdmZ3Y3Z0X3J0el94X2Zfdl9pNjRtMiAodjE1LCB2bCk7DQorDQorICAg ICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6OiAibWVtb3J5Iik7DQorICAgICAg ZG91YmxlIHN1bTAgPSBfX3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzAp Ow0KKyAgICAgIGRvdWJsZSBzdW0xID0gX19yaXNjdl92bXZfeF9zX2k2NG0y X2k2NCAodncxKTsNCisgICAgICBkb3VibGUgc3VtMiA9IF9fcmlzY3Zfdm12 X3hfc19pNjRtMl9pNjQgKHZ3Mik7DQorICAgICAgZG91YmxlIHN1bTMgPSBf X3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzMpOw0KKyAgICAgIGRvdWJs ZSBzdW00ID0gX19yaXNjdl92bXZfeF9zX2k2NG0yX2k2NCAodnc0KTsNCisg ICAgICBkb3VibGUgc3VtNSA9IF9fcmlzY3Zfdm12X3hfc19pNjRtMl9pNjQg KHZ3NSk7DQorICAgICAgZG91YmxlIHN1bTYgPSBfX3Jpc2N2X3Ztdl94X3Nf aTY0bTJfaTY0ICh2dzYpOw0KKyAgICAgIGRvdWJsZSBzdW03ID0gX19yaXNj dl92bXZfeF9zX2k2NG0yX2k2NCAodnc3KTsNCisgICAgICBkb3VibGUgc3Vt OCA9IF9fcmlzY3Zfdm12X3hfc19pNjRtMl9pNjQgKHZ3OCk7DQorICAgICAg ZG91YmxlIHN1bTkgPSBfX3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzkp Ow0KKyAgICAgIGRvdWJsZSBzdW0xMCA9IF9fcmlzY3Zfdm12X3hfc19pNjRt Ml9pNjQgKHZ3MTApOw0KKyAgICAgIGRvdWJsZSBzdW0xMSA9IF9fcmlzY3Zf dm12X3hfc19pNjRtMl9pNjQgKHZ3MTEpOw0KKyAgICAgIGRvdWJsZSBzdW0x MiA9IF9fcmlzY3Zfdm12X3hfc19pNjRtMl9pNjQgKHZ3MTIpOw0KKyAgICAg IGRvdWJsZSBzdW0xMyA9IF9fcmlzY3Zfdm12X3hfc19pNjRtMl9pNjQgKHZ3 MTMpOw0KKyAgICAgIGRvdWJsZSBzdW0xNCA9IF9fcmlzY3Zfdm12X3hfc19p NjRtMl9pNjQgKHZ3MTQpOw0KKyAgICAgIGRvdWJsZSBzdW0xNSA9IF9fcmlz Y3Zfdm12X3hfc19pNjRtMl9pNjQgKHZ3MTUpOw0KKw0KKyAgICAgIHN1bSAr PSBzdW1hdGlvbiAoc3VtMCwgc3VtMSwgc3VtMiwgc3VtMywgc3VtNCwgc3Vt NSwgc3VtNiwgc3VtNywgc3VtOCwNCisgICAgICAgIHN1bTksIHN1bTEwLCBz dW0xMSwgc3VtMTIsIHN1bTEzLCBzdW0xNCwgc3VtMTUpOw0KKyAgICB9DQor ICByZXR1cm4gc3VtOw0KK30NCisNCitkb3VibGUNCitmb28yIChjaGFyIGNv bnN0ICpidWYsIHNpemVfdCBsZW4pDQorew0KKyAgZG91YmxlIHN1bSA9IDA7 DQorICBzaXplX3QgdmwgPSBfX3Jpc2N2X3ZzZXR2bG1heF9lOG04ICgpOw0K KyAgc2l6ZV90IHN0ZXAgPSB2bCAqIDQ7DQorICBjb25zdCBjaGFyICppdCA9 IGJ1ZiwgKmVuZCA9IGJ1ZiArIGxlbjsNCisgIGZvciAoOyBpdCArIHN0ZXAg PD0gZW5kOykNCisgICAgew0KKyAgICAgIHZmbG9hdDMybTFfdCB2MCA9IF9f cmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAg ICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjEgPSBfX3Jpc2N2 X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQg Kz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHYyID0gX19yaXNjdl92bGUz Ml92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZs Ow0KKyAgICAgIHZmbG9hdDMybTFfdCB2MyA9IF9fcmlzY3ZfdmxlMzJfdl9m MzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisg ICAgICB2ZmxvYXQzMm0xX3QgdjQgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEg KCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAg dmZsb2F0MzJtMV90IHY1ID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9p ZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9h dDMybTFfdCB2NiA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikg aXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0x X3QgdjcgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2 bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHY4 ID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0K KyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2OSA9IF9f cmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAg ICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjEwID0gX19yaXNj dl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0 ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2MTEgPSBfX3Jpc2N2X3Zs ZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0g dmw7DQorICAgICAgdmZsb2F0MzJtMV90IHYxMiA9IF9fcmlzY3ZfdmxlMzJf dl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsN CisgICAgICB2ZmxvYXQzMm0xX3QgdjEzID0gX19yaXNjdl92bGUzMl92X2Yz Mm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAg ICAgIHZmbG9hdDMybTFfdCB2MTQgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEg KCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAg dmZsb2F0MzJtMV90IHYxNSA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZv aWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICANCisg ICAgICBhc20gdm9sYXRpbGUoIm5vcCIgOjo6ICJtZW1vcnkiKTsNCisgICAg ICB2aW50NjRtMl90IHZ3MCA9IF9fcmlzY3ZfdmZ3Y3Z0X3hfZl92X2k2NG0y ICh2MCwgdmwpOw0KKyAgICAgIHZpbnQ2NG0yX3QgdncxID0gX19yaXNjdl92 ZndjdnRfeF9mX3ZfaTY0bTIgKHYxLCB2bCk7DQorICAgICAgdmludDY0bTJf dCB2dzIgPSBfX3Jpc2N2X3Zmd2N2dF94X2Zfdl9pNjRtMiAodjIsIHZsKTsN CisgICAgICB2aW50NjRtMl90IHZ3MyA9IF9fcmlzY3ZfdmZ3Y3Z0X3hfZl92 X2k2NG0yICh2MywgdmwpOw0KKyAgICAgIHZpbnQ2NG0yX3Qgdnc0ID0gX19y aXNjdl92ZndjdnRfeF9mX3ZfaTY0bTIgKHY0LCB2bCk7DQorICAgICAgdmlu dDY0bTJfdCB2dzUgPSBfX3Jpc2N2X3Zmd2N2dF94X2Zfdl9pNjRtMiAodjUs IHZsKTsNCisgICAgICB2aW50NjRtMl90IHZ3NiA9IF9fcmlzY3ZfdmZ3Y3Z0 X3hfZl92X2k2NG0yICh2NiwgdmwpOw0KKyAgICAgIHZpbnQ2NG0yX3Qgdnc3 ID0gX19yaXNjdl92ZndjdnRfeF9mX3ZfaTY0bTIgKHY3LCB2bCk7DQorICAg ICAgdmludDY0bTJfdCB2dzggPSBfX3Jpc2N2X3Zmd2N2dF94X2Zfdl9pNjRt MiAodjgsIHZsKTsNCisgICAgICB2aW50NjRtMl90IHZ3OSA9IF9fcmlzY3Zf dmZ3Y3Z0X3hfZl92X2k2NG0yICh2OSwgdmwpOw0KKyAgICAgIHZpbnQ2NG0y X3QgdncxMCA9IF9fcmlzY3ZfdmZ3Y3Z0X3hfZl92X2k2NG0yICh2MTAsIHZs KTsNCisgICAgICB2aW50NjRtMl90IHZ3MTEgPSBfX3Jpc2N2X3Zmd2N2dF94 X2Zfdl9pNjRtMiAodjExLCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzEy ID0gX19yaXNjdl92ZndjdnRfeF9mX3ZfaTY0bTIgKHYxMiwgdmwpOw0KKyAg ICAgIHZpbnQ2NG0yX3QgdncxMyA9IF9fcmlzY3ZfdmZ3Y3Z0X3hfZl92X2k2 NG0yICh2MTMsIHZsKTsNCisgICAgICB2aW50NjRtMl90IHZ3MTQgPSBfX3Jp c2N2X3Zmd2N2dF94X2Zfdl9pNjRtMiAodjE0LCB2bCk7DQorICAgICAgdmlu dDY0bTJfdCB2dzE1ID0gX19yaXNjdl92ZndjdnRfeF9mX3ZfaTY0bTIgKHYx NSwgdmwpOw0KKw0KKyAgICAgIGFzbSB2b2xhdGlsZSgibm9wIiA6OjogIm1l bW9yeSIpOw0KKyAgICAgIGRvdWJsZSBzdW0wID0gX19yaXNjdl92bXZfeF9z X2k2NG0yX2k2NCAodncwKTsNCisgICAgICBkb3VibGUgc3VtMSA9IF9fcmlz Y3Zfdm12X3hfc19pNjRtMl9pNjQgKHZ3MSk7DQorICAgICAgZG91YmxlIHN1 bTIgPSBfX3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzIpOw0KKyAgICAg IGRvdWJsZSBzdW0zID0gX19yaXNjdl92bXZfeF9zX2k2NG0yX2k2NCAodncz KTsNCisgICAgICBkb3VibGUgc3VtNCA9IF9fcmlzY3Zfdm12X3hfc19pNjRt Ml9pNjQgKHZ3NCk7DQorICAgICAgZG91YmxlIHN1bTUgPSBfX3Jpc2N2X3Zt dl94X3NfaTY0bTJfaTY0ICh2dzUpOw0KKyAgICAgIGRvdWJsZSBzdW02ID0g X19yaXNjdl92bXZfeF9zX2k2NG0yX2k2NCAodnc2KTsNCisgICAgICBkb3Vi bGUgc3VtNyA9IF9fcmlzY3Zfdm12X3hfc19pNjRtMl9pNjQgKHZ3Nyk7DQor ICAgICAgZG91YmxlIHN1bTggPSBfX3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0 ICh2dzgpOw0KKyAgICAgIGRvdWJsZSBzdW05ID0gX19yaXNjdl92bXZfeF9z X2k2NG0yX2k2NCAodnc5KTsNCisgICAgICBkb3VibGUgc3VtMTAgPSBfX3Jp c2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzEwKTsNCisgICAgICBkb3VibGUg c3VtMTEgPSBfX3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzExKTsNCisg ICAgICBkb3VibGUgc3VtMTIgPSBfX3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0 ICh2dzEyKTsNCisgICAgICBkb3VibGUgc3VtMTMgPSBfX3Jpc2N2X3Ztdl94 X3NfaTY0bTJfaTY0ICh2dzEzKTsNCisgICAgICBkb3VibGUgc3VtMTQgPSBf X3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzE0KTsNCisgICAgICBkb3Vi bGUgc3VtMTUgPSBfX3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzE1KTsN CisNCisgICAgICBzdW0gKz0gc3VtYXRpb24gKHN1bTAsIHN1bTEsIHN1bTIs IHN1bTMsIHN1bTQsIHN1bTUsIHN1bTYsIHN1bTcsIHN1bTgsDQorICAgICAg ICBzdW05LCBzdW0xMCwgc3VtMTEsIHN1bTEyLCBzdW0xMywgc3VtMTQsIHN1 bTE1KTsNCisgICAgfQ0KKyAgcmV0dXJuIHN1bTsNCit9DQorDQorLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12MXJ9IH0gfSAqLw0K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3ZtdjJyfSB9 IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2 bXY0cn0gfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LW5vdCB7dm12OHJ9IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci1ub3Qge2NzcnJ9IHsgeGZhaWwgcmlzY3YqLSotKiB9IH0gfSAq Lw0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9ydnYvYmFzZS9wcjExMjQzMS0xNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTE0LmMNCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uNTM1ZWE3Y2UzNGIN Ci0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS0xNC5jDQpAQCAtMCwwICsxLDEx OSBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1vcHRp b25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0ZCAtTzMiIH0gKi8NCisN CisjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQorDQorZG91YmxlIF9fYXR0 cmlidXRlX18gKChub2lubGluZSkpDQorc3VtYXRpb24gKGRvdWJsZSBzdW0w LCBkb3VibGUgc3VtMSwgZG91YmxlIHN1bTIsIGRvdWJsZSBzdW0zLCBkb3Vi bGUgc3VtNCwNCisgICBkb3VibGUgc3VtNSwgZG91YmxlIHN1bTYsIGRvdWJs ZSBzdW03KQ0KK3sNCisgIHJldHVybiBzdW0wICsgc3VtMSArIHN1bTIgKyBz dW0zICsgc3VtNCArIHN1bTUgKyBzdW02ICsgc3VtNzsNCit9DQorDQorZG91 YmxlDQorZm9vIChjaGFyIGNvbnN0ICpidWYsIHNpemVfdCBsZW4pDQorew0K KyAgZG91YmxlIHN1bSA9IDA7DQorICBzaXplX3QgdmwgPSBfX3Jpc2N2X3Zz ZXR2bG1heF9lOG04ICgpOw0KKyAgc2l6ZV90IHN0ZXAgPSB2bCAqIDQ7DQor ICBjb25zdCBjaGFyICppdCA9IGJ1ZiwgKmVuZCA9IGJ1ZiArIGxlbjsNCisg IGZvciAoOyBpdCArIHN0ZXAgPD0gZW5kOykNCisgICAgew0KKyAgICAgIHZm bG9hdDMybTFfdCB2MCA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQg KikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQz Mm0xX3QgdjEgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0 LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90 IHYyID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwp Ow0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2MyA9 IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisg ICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjQgPSBfX3Jp c2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAg aXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHY1ID0gX19yaXNjdl92 bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9 IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2NiA9IF9fcmlzY3ZfdmxlMzJf dl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsN CisgICAgICB2ZmxvYXQzMm0xX3QgdjcgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMy bTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAg ICAgDQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6OiAibWVtb3J5Iik7 DQorICAgICAgdmludDY0bTJfdCB2dzAgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpf eF9mX3ZfaTY0bTIgKHYwLCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzEg PSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHYxLCB2bCk7DQor ICAgICAgdmludDY0bTJfdCB2dzIgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9m X3ZfaTY0bTIgKHYyLCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzMgPSBf X3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHYzLCB2bCk7DQorICAg ICAgdmludDY0bTJfdCB2dzQgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3Zf aTY0bTIgKHY0LCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzUgPSBfX3Jp c2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHY1LCB2bCk7DQorICAgICAg dmludDY0bTJfdCB2dzYgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0 bTIgKHY2LCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzcgPSBfX3Jpc2N2 X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHY3LCB2bCk7DQorDQorICAgICAg YXNtIHZvbGF0aWxlKCJub3AiIDo6OiAibWVtb3J5Iik7DQorICAgICAgZG91 YmxlIHN1bTAgPSBfX3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzApOw0K KyAgICAgIGRvdWJsZSBzdW0xID0gX19yaXNjdl92bXZfeF9zX2k2NG0yX2k2 NCAodncxKTsNCisgICAgICBkb3VibGUgc3VtMiA9IF9fcmlzY3Zfdm12X3hf c19pNjRtMl9pNjQgKHZ3Mik7DQorICAgICAgZG91YmxlIHN1bTMgPSBfX3Jp c2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzMpOw0KKyAgICAgIGRvdWJsZSBz dW00ID0gX19yaXNjdl92bXZfeF9zX2k2NG0yX2k2NCAodnc0KTsNCisgICAg ICBkb3VibGUgc3VtNSA9IF9fcmlzY3Zfdm12X3hfc19pNjRtMl9pNjQgKHZ3 NSk7DQorICAgICAgZG91YmxlIHN1bTYgPSBfX3Jpc2N2X3Ztdl94X3NfaTY0 bTJfaTY0ICh2dzYpOw0KKyAgICAgIGRvdWJsZSBzdW03ID0gX19yaXNjdl92 bXZfeF9zX2k2NG0yX2k2NCAodnc3KTsNCisNCisgICAgICBzdW0gKz0gc3Vt YXRpb24gKHN1bTAsIHN1bTEsIHN1bTIsIHN1bTMsIHN1bTQsIHN1bTUsIHN1 bTYsIHN1bTcpOw0KKyAgICB9DQorICByZXR1cm4gc3VtOw0KK30NCisNCitk b3VibGUNCitmb28yIChjaGFyIGNvbnN0ICpidWYsIHNpemVfdCBsZW4pDQor ew0KKyAgZG91YmxlIHN1bSA9IDA7DQorICBzaXplX3QgdmwgPSBfX3Jpc2N2 X3ZzZXR2bG1heF9lOG04ICgpOw0KKyAgc2l6ZV90IHN0ZXAgPSB2bCAqIDQ7 DQorICBjb25zdCBjaGFyICppdCA9IGJ1ZiwgKmVuZCA9IGJ1ZiArIGxlbjsN CisgIGZvciAoOyBpdCArIHN0ZXAgPD0gZW5kOykNCisgICAgew0KKyAgICAg IHZmbG9hdDMybTFfdCB2MCA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZv aWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2Zmxv YXQzMm0xX3QgdjEgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICop IGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJt MV90IHYyID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwg dmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2 MyA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsN CisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjQgPSBf X3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAg ICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHY1ID0gX19yaXNj dl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0 ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2NiA9IF9fcmlzY3Zfdmxl MzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2 bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjcgPSBfX3Jpc2N2X3ZsZTMyX3Zf ZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQor ICAgICAgDQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6OiAibWVtb3J5 Iik7DQorICAgICAgdmludDY0bTJfdCB2dzAgPSBfX3Jpc2N2X3Zmd2N2dF94 X2Zfdl9pNjRtMiAodjAsIHZsKTsNCisgICAgICB2aW50NjRtMl90IHZ3MSA9 IF9fcmlzY3ZfdmZ3Y3Z0X3hfZl92X2k2NG0yICh2MSwgdmwpOw0KKyAgICAg IHZpbnQ2NG0yX3QgdncyID0gX19yaXNjdl92ZndjdnRfeF9mX3ZfaTY0bTIg KHYyLCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzMgPSBfX3Jpc2N2X3Zm d2N2dF94X2Zfdl9pNjRtMiAodjMsIHZsKTsNCisgICAgICB2aW50NjRtMl90 IHZ3NCA9IF9fcmlzY3ZfdmZ3Y3Z0X3hfZl92X2k2NG0yICh2NCwgdmwpOw0K KyAgICAgIHZpbnQ2NG0yX3Qgdnc1ID0gX19yaXNjdl92ZndjdnRfeF9mX3Zf aTY0bTIgKHY1LCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzYgPSBfX3Jp c2N2X3Zmd2N2dF94X2Zfdl9pNjRtMiAodjYsIHZsKTsNCisgICAgICB2aW50 NjRtMl90IHZ3NyA9IF9fcmlzY3ZfdmZ3Y3Z0X3hfZl92X2k2NG0yICh2Nywg dmwpOw0KKw0KKyAgICAgIGFzbSB2b2xhdGlsZSgibm9wIiA6OjogIm1lbW9y eSIpOw0KKyAgICAgIGRvdWJsZSBzdW0wID0gX19yaXNjdl92bXZfeF9zX2k2 NG0yX2k2NCAodncwKTsNCisgICAgICBkb3VibGUgc3VtMSA9IF9fcmlzY3Zf dm12X3hfc19pNjRtMl9pNjQgKHZ3MSk7DQorICAgICAgZG91YmxlIHN1bTIg PSBfX3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzIpOw0KKyAgICAgIGRv dWJsZSBzdW0zID0gX19yaXNjdl92bXZfeF9zX2k2NG0yX2k2NCAodnczKTsN CisgICAgICBkb3VibGUgc3VtNCA9IF9fcmlzY3Zfdm12X3hfc19pNjRtMl9p NjQgKHZ3NCk7DQorICAgICAgZG91YmxlIHN1bTUgPSBfX3Jpc2N2X3Ztdl94 X3NfaTY0bTJfaTY0ICh2dzUpOw0KKyAgICAgIGRvdWJsZSBzdW02ID0gX19y aXNjdl92bXZfeF9zX2k2NG0yX2k2NCAodnc2KTsNCisgICAgICBkb3VibGUg c3VtNyA9IF9fcmlzY3Zfdm12X3hfc19pNjRtMl9pNjQgKHZ3Nyk7DQorDQor ICAgICAgc3VtICs9IHN1bWF0aW9uIChzdW0wLCBzdW0xLCBzdW0yLCBzdW0z LCBzdW00LCBzdW01LCBzdW02LCBzdW03KTsNCisgICAgfQ0KKyAgcmV0dXJu IHN1bTsNCit9DQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LW5vdCB7dm12MXJ9IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci1ub3Qge3ZtdjJyfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItbm90IHt2bXY0cn0gfSB9ICovDQorLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12OHJ9IH0gfSAqLw0KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge2NzcnJ9IH0gfSAq Lw0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9ydnYvYmFzZS9wcjExMjQzMS0xNS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di9iYXNlL3ByMTEyNDMxLTE1LmMNCm5ldyBmaWxl IG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uM2Q0NmU0YTgyOWEN Ci0tLSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS0xNS5jDQpAQCAtMCwwICsxLDg2 IEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7IGRnLW9wdGlv bnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRkIC1PMyIgfSAqLw0KKw0K KyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCisNCitkb3VibGUgX19hdHRy aWJ1dGVfXyAoKG5vaW5saW5lKSkNCitzdW1hdGlvbiAoZG91YmxlIHN1bTAs IGRvdWJsZSBzdW0xLCBkb3VibGUgc3VtMiwgZG91YmxlIHN1bTMpDQorew0K KyAgcmV0dXJuIHN1bTAgKyBzdW0xICsgc3VtMiArIHN1bTM7DQorfQ0KKw0K K2RvdWJsZQ0KK2ZvbyAoY2hhciBjb25zdCAqYnVmLCBzaXplX3QgbGVuKQ0K K3sNCisgIGRvdWJsZSBzdW0gPSAwOw0KKyAgc2l6ZV90IHZsID0gX19yaXNj dl92c2V0dmxtYXhfZThtOCAoKTsNCisgIHNpemVfdCBzdGVwID0gdmwgKiA0 Ow0KKyAgY29uc3QgY2hhciAqaXQgPSBidWYsICplbmQgPSBidWYgKyBsZW47 DQorICBmb3IgKDsgaXQgKyBzdGVwIDw9IGVuZDspDQorICAgIHsNCisgICAg ICB2ZmxvYXQzMm0xX3QgdjAgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2 b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZs b2F0MzJtMV90IHYxID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAq KSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMy bTFfdCB2MiA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQs IHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3Qg djMgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7 DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgDQorICAgICAgYXNtIHZvbGF0 aWxlKCJub3AiIDo6OiAibWVtb3J5Iik7DQorICAgICAgdmludDY0bTJfdCB2 dzAgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHYwLCB2bCk7 DQorICAgICAgdmludDY0bTJfdCB2dzEgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpf eF9mX3ZfaTY0bTIgKHYxLCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzIg PSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9mX3ZfaTY0bTIgKHYyLCB2bCk7DQor ICAgICAgdmludDY0bTJfdCB2dzMgPSBfX3Jpc2N2X3Zmd2N2dF9ydHpfeF9m X3ZfaTY0bTIgKHYzLCB2bCk7DQorDQorICAgICAgYXNtIHZvbGF0aWxlKCJu b3AiIDo6OiAibWVtb3J5Iik7DQorICAgICAgZG91YmxlIHN1bTAgPSBfX3Jp c2N2X3Ztdl94X3NfaTY0bTJfaTY0ICh2dzApOw0KKyAgICAgIGRvdWJsZSBz dW0xID0gX19yaXNjdl92bXZfeF9zX2k2NG0yX2k2NCAodncxKTsNCisgICAg ICBkb3VibGUgc3VtMiA9IF9fcmlzY3Zfdm12X3hfc19pNjRtMl9pNjQgKHZ3 Mik7DQorICAgICAgZG91YmxlIHN1bTMgPSBfX3Jpc2N2X3Ztdl94X3NfaTY0 bTJfaTY0ICh2dzMpOw0KKw0KKyAgICAgIHN1bSArPSBzdW1hdGlvbiAoc3Vt MCwgc3VtMSwgc3VtMiwgc3VtMyk7DQorICAgIH0NCisgIHJldHVybiBzdW07 DQorfQ0KKw0KK2RvdWJsZQ0KK2ZvbzIgKGNoYXIgY29uc3QgKmJ1Ziwgc2l6 ZV90IGxlbikNCit7DQorICBkb3VibGUgc3VtID0gMDsNCisgIHNpemVfdCB2 bCA9IF9fcmlzY3ZfdnNldHZsbWF4X2U4bTggKCk7DQorICBzaXplX3Qgc3Rl cCA9IHZsICogNDsNCisgIGNvbnN0IGNoYXIgKml0ID0gYnVmLCAqZW5kID0g YnVmICsgbGVuOw0KKyAgZm9yICg7IGl0ICsgc3RlcCA8PSBlbmQ7KQ0KKyAg ICB7DQorICAgICAgdmZsb2F0MzJtMV90IHYwID0gX19yaXNjdl92bGUzMl92 X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0K KyAgICAgIHZmbG9hdDMybTFfdCB2MSA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJt MSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAg ICB2ZmxvYXQzMm0xX3QgdjIgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2 b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZs b2F0MzJtMV90IHYzID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAq KSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIA0KKyAgICAg IGFzbSB2b2xhdGlsZSgibm9wIiA6OjogIm1lbW9yeSIpOw0KKyAgICAgIHZp bnQ2NG0yX3QgdncwID0gX19yaXNjdl92ZndjdnRfeF9mX3ZfaTY0bTIgKHYw LCB2bCk7DQorICAgICAgdmludDY0bTJfdCB2dzEgPSBfX3Jpc2N2X3Zmd2N2 dF94X2Zfdl9pNjRtMiAodjEsIHZsKTsNCisgICAgICB2aW50NjRtMl90IHZ3 MiA9IF9fcmlzY3ZfdmZ3Y3Z0X3hfZl92X2k2NG0yICh2MiwgdmwpOw0KKyAg ICAgIHZpbnQ2NG0yX3QgdnczID0gX19yaXNjdl92ZndjdnRfeF9mX3ZfaTY0 bTIgKHYzLCB2bCk7DQorDQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6 OiAibWVtb3J5Iik7DQorICAgICAgZG91YmxlIHN1bTAgPSBfX3Jpc2N2X3Zt dl94X3NfaTY0bTJfaTY0ICh2dzApOw0KKyAgICAgIGRvdWJsZSBzdW0xID0g X19yaXNjdl92bXZfeF9zX2k2NG0yX2k2NCAodncxKTsNCisgICAgICBkb3Vi bGUgc3VtMiA9IF9fcmlzY3Zfdm12X3hfc19pNjRtMl9pNjQgKHZ3Mik7DQor ICAgICAgZG91YmxlIHN1bTMgPSBfX3Jpc2N2X3Ztdl94X3NfaTY0bTJfaTY0 ICh2dzMpOw0KKw0KKyAgICAgIHN1bSArPSBzdW1hdGlvbiAoc3VtMCwgc3Vt MSwgc3VtMiwgc3VtMyk7DQorICAgIH0NCisgIHJldHVybiBzdW07DQorfQ0K Kw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3ZtdjFy fSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90 IHt2bXYycn0gfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLW5vdCB7dm12NHJ9IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci1ub3Qge3ZtdjhyfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItbm90IHtjc3JyfSB9IH0gKi8NCmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2Uv cHIxMTI0MzEtNy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3ByMTEyNDMxLTcuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQN CmluZGV4IDAwMDAwMDAwMDAwLi41OWNiZDdmZjRiZQ0KLS0tIC9kZXYvbnVs bA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di9i YXNlL3ByMTEyNDMxLTcuYw0KQEAgLTAsMCArMSwxMDQgQEANCisvKiB7IGRn LWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2 NjRnY3YgLW1hYmk9bHA2NGQgLU8zIiB9ICovDQorDQorI2luY2x1ZGUgInJp c2N2X3ZlY3Rvci5oIg0KKw0KK2RvdWJsZSBfX2F0dHJpYnV0ZV9fICgobm9p bmxpbmUpKQ0KK3N1bWF0aW9uIChkb3VibGUgc3VtMCwgZG91YmxlIHN1bTEs IGRvdWJsZSBzdW0yLCBkb3VibGUgc3VtMywgZG91YmxlIHN1bTQsDQorICAg ZG91YmxlIHN1bTUsIGRvdWJsZSBzdW02LCBkb3VibGUgc3VtNywgZG91Ymxl IHN1bTgsIGRvdWJsZSBzdW05LA0KKyAgIGRvdWJsZSBzdW0xMCwgZG91Ymxl IHN1bTExLCBkb3VibGUgc3VtMTIsIGRvdWJsZSBzdW0xMywgZG91YmxlIHN1 bTE0LA0KKyAgIGRvdWJsZSBzdW0xNSkNCit7DQorICByZXR1cm4gc3VtMCAr IHN1bTEgKyBzdW0yICsgc3VtMyArIHN1bTQgKyBzdW01ICsgc3VtNiArIHN1 bTcgKyBzdW04ICsgc3VtOQ0KKyArIHN1bTEwICsgc3VtMTEgKyBzdW0xMiAr IHN1bTEzICsgc3VtMTQgKyBzdW0xNTsNCit9DQorDQorZG91YmxlDQorZm9v IChjaGFyIGNvbnN0ICpidWYsIHNpemVfdCBsZW4pDQorew0KKyAgZG91Ymxl IHN1bSA9IDA7DQorICBzaXplX3QgdmwgPSBfX3Jpc2N2X3ZzZXR2bG1heF9l OG04ICgpOw0KKyAgc2l6ZV90IHN0ZXAgPSB2bCAqIDQ7DQorICBjb25zdCBj aGFyICppdCA9IGJ1ZiwgKmVuZCA9IGJ1ZiArIGxlbjsNCisgIGZvciAoOyBp dCArIHN0ZXAgPD0gZW5kOykNCisgICAgew0KKyAgICAgIHZmbG9hdDMybTFf dCB2MCA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZs KTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjEg PSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQor ICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHYyID0gX19y aXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAg IGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2MyA9IF9fcmlzY3Zf dmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCAr PSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjQgPSBfX3Jpc2N2X3ZsZTMy X3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7 DQorICAgICAgdmZsb2F0MzJtMV90IHY1ID0gX19yaXNjdl92bGUzMl92X2Yz Mm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAg ICAgIHZmbG9hdDMybTFfdCB2NiA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAo KHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2 ZmxvYXQzMm0xX3QgdjcgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lk ICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0 MzJtMV90IHY4ID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBp dCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFf dCB2OSA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZs KTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjEw ID0gX19yaXNjdl92bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0K KyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2MTEgPSBf X3Jpc2N2X3ZsZTMyX3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAg ICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMV90IHYxMiA9IF9fcmlz Y3ZfdmxlMzJfdl9mMzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBp dCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0xX3QgdjEzID0gX19yaXNjdl92 bGUzMl92X2YzMm0xICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9 IHZsOw0KKyAgICAgIHZmbG9hdDMybTFfdCB2MTQgPSBfX3Jpc2N2X3ZsZTMy X3ZfZjMybTEgKCh2b2lkICopIGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7 DQorICAgICAgdmZsb2F0MzJtMV90IHYxNSA9IF9fcmlzY3ZfdmxlMzJfdl9m MzJtMSAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisg ICAgICANCisgICAgICBhc20gdm9sYXRpbGUoIm5vcCIgOjo6ICJtZW1vcnki KTsNCisgICAgICB2ZmxvYXQ2NG0yX3QgdncwID0gX19yaXNjdl92ZndjdnRf Zl9mX3ZfZjY0bTIgKHYwLCB2bCk7DQorICAgICAgdmZsb2F0NjRtMl90IHZ3 MSA9IF9fcmlzY3ZfdmZ3Y3Z0X2ZfZl92X2Y2NG0yICh2MSwgdmwpOw0KKyAg ICAgIHZmbG9hdDY0bTJfdCB2dzIgPSBfX3Jpc2N2X3Zmd2N2dF9mX2Zfdl9m NjRtMiAodjIsIHZsKTsNCisgICAgICB2ZmxvYXQ2NG0yX3QgdnczID0gX19y aXNjdl92ZndjdnRfZl9mX3ZfZjY0bTIgKHYzLCB2bCk7DQorICAgICAgdmZs b2F0NjRtMl90IHZ3NCA9IF9fcmlzY3ZfdmZ3Y3Z0X2ZfZl92X2Y2NG0yICh2 NCwgdmwpOw0KKyAgICAgIHZmbG9hdDY0bTJfdCB2dzUgPSBfX3Jpc2N2X3Zm d2N2dF9mX2Zfdl9mNjRtMiAodjUsIHZsKTsNCisgICAgICB2ZmxvYXQ2NG0y X3Qgdnc2ID0gX19yaXNjdl92ZndjdnRfZl9mX3ZfZjY0bTIgKHY2LCB2bCk7 DQorICAgICAgdmZsb2F0NjRtMl90IHZ3NyA9IF9fcmlzY3ZfdmZ3Y3Z0X2Zf Zl92X2Y2NG0yICh2NywgdmwpOw0KKyAgICAgIHZmbG9hdDY0bTJfdCB2dzgg PSBfX3Jpc2N2X3Zmd2N2dF9mX2Zfdl9mNjRtMiAodjgsIHZsKTsNCisgICAg ICB2ZmxvYXQ2NG0yX3Qgdnc5ID0gX19yaXNjdl92ZndjdnRfZl9mX3ZfZjY0 bTIgKHY5LCB2bCk7DQorICAgICAgdmZsb2F0NjRtMl90IHZ3MTAgPSBfX3Jp c2N2X3Zmd2N2dF9mX2Zfdl9mNjRtMiAodjEwLCB2bCk7DQorICAgICAgdmZs b2F0NjRtMl90IHZ3MTEgPSBfX3Jpc2N2X3Zmd2N2dF9mX2Zfdl9mNjRtMiAo djExLCB2bCk7DQorICAgICAgdmZsb2F0NjRtMl90IHZ3MTIgPSBfX3Jpc2N2 X3Zmd2N2dF9mX2Zfdl9mNjRtMiAodjEyLCB2bCk7DQorICAgICAgdmZsb2F0 NjRtMl90IHZ3MTMgPSBfX3Jpc2N2X3Zmd2N2dF9mX2Zfdl9mNjRtMiAodjEz LCB2bCk7DQorICAgICAgdmZsb2F0NjRtMl90IHZ3MTQgPSBfX3Jpc2N2X3Zm d2N2dF9mX2Zfdl9mNjRtMiAodjE0LCB2bCk7DQorICAgICAgdmZsb2F0NjRt Ml90IHZ3MTUgPSBfX3Jpc2N2X3Zmd2N2dF9mX2Zfdl9mNjRtMiAodjE1LCB2 bCk7DQorDQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6OiAibWVtb3J5 Iik7DQorICAgICAgZG91YmxlIHN1bTAgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2 NG0yX2Y2NCAodncwKTsNCisgICAgICBkb3VibGUgc3VtMSA9IF9fcmlzY3Zf dmZtdl9mX3NfZjY0bTJfZjY0ICh2dzEpOw0KKyAgICAgIGRvdWJsZSBzdW0y ID0gX19yaXNjdl92Zm12X2Zfc19mNjRtMl9mNjQgKHZ3Mik7DQorICAgICAg ZG91YmxlIHN1bTMgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAodncz KTsNCisgICAgICBkb3VibGUgc3VtNCA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0 bTJfZjY0ICh2dzQpOw0KKyAgICAgIGRvdWJsZSBzdW01ID0gX19yaXNjdl92 Zm12X2Zfc19mNjRtMl9mNjQgKHZ3NSk7DQorICAgICAgZG91YmxlIHN1bTYg PSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAodnc2KTsNCisgICAgICBk b3VibGUgc3VtNyA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bTJfZjY0ICh2dzcp Ow0KKyAgICAgIGRvdWJsZSBzdW04ID0gX19yaXNjdl92Zm12X2Zfc19mNjRt Ml9mNjQgKHZ3OCk7DQorICAgICAgZG91YmxlIHN1bTkgPSBfX3Jpc2N2X3Zm bXZfZl9zX2Y2NG0yX2Y2NCAodnc5KTsNCisgICAgICBkb3VibGUgc3VtMTAg PSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAodncxMCk7DQorICAgICAg ZG91YmxlIHN1bTExID0gX19yaXNjdl92Zm12X2Zfc19mNjRtMl9mNjQgKHZ3 MTEpOw0KKyAgICAgIGRvdWJsZSBzdW0xMiA9IF9fcmlzY3ZfdmZtdl9mX3Nf ZjY0bTJfZjY0ICh2dzEyKTsNCisgICAgICBkb3VibGUgc3VtMTMgPSBfX3Jp c2N2X3ZmbXZfZl9zX2Y2NG0yX2Y2NCAodncxMyk7DQorICAgICAgZG91Ymxl IHN1bTE0ID0gX19yaXNjdl92Zm12X2Zfc19mNjRtMl9mNjQgKHZ3MTQpOw0K KyAgICAgIGRvdWJsZSBzdW0xNSA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bTJf ZjY0ICh2dzE1KTsNCisNCisgICAgICBzdW0gKz0gc3VtYXRpb24gKHN1bTAs IHN1bTEsIHN1bTIsIHN1bTMsIHN1bTQsIHN1bTUsIHN1bTYsIHN1bTcsIHN1 bTgsDQorICAgICAgICBzdW05LCBzdW0xMCwgc3VtMTEsIHN1bTEyLCBzdW0x Mywgc3VtMTQsIHN1bTE1KTsNCisgICAgfQ0KKyAgcmV0dXJuIHN1bTsNCit9 DQorDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12 MXJ9IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1u b3Qge3ZtdjJyfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItbm90IHt2bXY0cn0gfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLW5vdCB7dm12OHJ9IH0gfSAqLw0KKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge2NzcnJ9IHsgeGZhaWwgcmlzY3Yq LSotKiB9IH0gfSAqLw0KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS04LmMgYi9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtOC5j DQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjNh OGNhMDJiZDIxDQotLS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcnZ2L2Jhc2UvcHIxMTI0MzEtOC5jDQpAQCAt MCwwICsxLDY4IEBADQorLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCisvKiB7 IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjRkIC1PMyIg fSAqLw0KKw0KKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCisNCitkb3Vi bGUgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkNCitzdW1hdGlvbiAoZG91 YmxlIHN1bTAsIGRvdWJsZSBzdW0xLCBkb3VibGUgc3VtMiwgZG91YmxlIHN1 bTMsIGRvdWJsZSBzdW00LA0KKyAgIGRvdWJsZSBzdW01LCBkb3VibGUgc3Vt NiwgZG91YmxlIHN1bTcpDQorew0KKyAgcmV0dXJuIHN1bTAgKyBzdW0xICsg c3VtMiArIHN1bTMgKyBzdW00ICsgc3VtNSArIHN1bTYgKyBzdW03Ow0KK30N CisNCitkb3VibGUNCitmb28gKGNoYXIgY29uc3QgKmJ1Ziwgc2l6ZV90IGxl bikNCit7DQorICBkb3VibGUgc3VtID0gMDsNCisgIHNpemVfdCB2bCA9IF9f cmlzY3ZfdnNldHZsbWF4X2U4bTggKCk7DQorICBzaXplX3Qgc3RlcCA9IHZs ICogNDsNCisgIGNvbnN0IGNoYXIgKml0ID0gYnVmLCAqZW5kID0gYnVmICsg bGVuOw0KKyAgZm9yICg7IGl0ICsgc3RlcCA8PSBlbmQ7KQ0KKyAgICB7DQor ICAgICAgdmZsb2F0MzJtMl90IHYwID0gX19yaXNjdl92bGUzMl92X2YzMm0y ICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAg IHZmbG9hdDMybTJfdCB2MSA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMiAoKHZv aWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2Zmxv YXQzMm0yX3QgdjIgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTIgKCh2b2lkICop IGl0LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJt Ml90IHYzID0gX19yaXNjdl92bGUzMl92X2YzMm0yICgodm9pZCAqKSBpdCwg dmwpOw0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTJfdCB2 NCA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtMiAoKHZvaWQgKikgaXQsIHZsKTsN CisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQzMm0yX3QgdjUgPSBf X3Jpc2N2X3ZsZTMyX3ZfZjMybTIgKCh2b2lkICopIGl0LCB2bCk7DQorICAg ICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtMl90IHY2ID0gX19yaXNj dl92bGUzMl92X2YzMm0yICgodm9pZCAqKSBpdCwgdmwpOw0KKyAgICAgIGl0 ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTJfdCB2NyA9IF9fcmlzY3Zfdmxl MzJfdl9mMzJtMiAoKHZvaWQgKikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2 bDsNCisNCisgICAgICBhc20gdm9sYXRpbGUoIm5vcCIgOjo6ICJtZW1vcnki KTsNCisgICAgICB2ZmxvYXQ2NG00X3QgdncwID0gX19yaXNjdl92ZndjdnRf Zl9mX3ZfZjY0bTQgKHYwLCB2bCk7DQorICAgICAgdmZsb2F0NjRtNF90IHZ3 MSA9IF9fcmlzY3ZfdmZ3Y3Z0X2ZfZl92X2Y2NG00ICh2MSwgdmwpOw0KKyAg ICAgIHZmbG9hdDY0bTRfdCB2dzIgPSBfX3Jpc2N2X3Zmd2N2dF9mX2Zfdl9m NjRtNCAodjIsIHZsKTsNCisgICAgICB2ZmxvYXQ2NG00X3QgdnczID0gX19y aXNjdl92ZndjdnRfZl9mX3ZfZjY0bTQgKHYzLCB2bCk7DQorICAgICAgdmZs b2F0NjRtNF90IHZ3NCA9IF9fcmlzY3ZfdmZ3Y3Z0X2ZfZl92X2Y2NG00ICh2 NCwgdmwpOw0KKyAgICAgIHZmbG9hdDY0bTRfdCB2dzUgPSBfX3Jpc2N2X3Zm d2N2dF9mX2Zfdl9mNjRtNCAodjUsIHZsKTsNCisgICAgICB2ZmxvYXQ2NG00 X3Qgdnc2ID0gX19yaXNjdl92ZndjdnRfZl9mX3ZfZjY0bTQgKHY2LCB2bCk7 DQorICAgICAgdmZsb2F0NjRtNF90IHZ3NyA9IF9fcmlzY3ZfdmZ3Y3Z0X2Zf Zl92X2Y2NG00ICh2NywgdmwpOw0KKw0KKyAgICAgIGFzbSB2b2xhdGlsZSgi bm9wIiA6OjogIm1lbW9yeSIpOw0KKyAgICAgIGRvdWJsZSBzdW0wID0gX19y aXNjdl92Zm12X2Zfc19mNjRtNF9mNjQgKHZ3MCk7DQorICAgICAgZG91Ymxl IHN1bTEgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG00X2Y2NCAodncxKTsNCisg ICAgICBkb3VibGUgc3VtMiA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bTRfZjY0 ICh2dzIpOw0KKyAgICAgIGRvdWJsZSBzdW0zID0gX19yaXNjdl92Zm12X2Zf c19mNjRtNF9mNjQgKHZ3Myk7DQorICAgICAgZG91YmxlIHN1bTQgPSBfX3Jp c2N2X3ZmbXZfZl9zX2Y2NG00X2Y2NCAodnc0KTsNCisgICAgICBkb3VibGUg c3VtNSA9IF9fcmlzY3ZfdmZtdl9mX3NfZjY0bTRfZjY0ICh2dzUpOw0KKyAg ICAgIGRvdWJsZSBzdW02ID0gX19yaXNjdl92Zm12X2Zfc19mNjRtNF9mNjQg KHZ3Nik7DQorICAgICAgZG91YmxlIHN1bTcgPSBfX3Jpc2N2X3ZmbXZfZl9z X2Y2NG00X2Y2NCAodnc3KTsNCisNCisgICAgICBzdW0gKz0gc3VtYXRpb24g KHN1bTAsIHN1bTEsIHN1bTIsIHN1bTMsIHN1bTQsIHN1bTUsIHN1bTYsIHN1 bTcpOw0KKyAgICB9DQorICByZXR1cm4gc3VtOw0KK30NCisNCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bXYxcn0gfSB9ICovDQor LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12MnJ9IH0g fSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qge3Zt djRyfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt bm90IHt2bXY4cn0gfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLW5vdCB7Y3Nycn0geyB4ZmFpbCByaXNjdiotKi0qIH0gfSB9ICov DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3J2di9iYXNlL3ByMTEyNDMxLTkuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9ydnYvYmFzZS9wcjExMjQzMS05LmMNCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMC4uODhhYjFkOWRhNWMNCi0t LSAvZGV2L251bGwNCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9ydnYvYmFzZS9wcjExMjQzMS05LmMNCkBAIC0wLDAgKzEsNTEgQEAN CisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAi LW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NGQgLU8zIiB9ICovDQorDQorI2lu Y2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KKw0KK2RvdWJsZSBfX2F0dHJpYnV0 ZV9fICgobm9pbmxpbmUpKQ0KK3N1bWF0aW9uIChkb3VibGUgc3VtMCwgZG91 YmxlIHN1bTEsIGRvdWJsZSBzdW0yLCBkb3VibGUgc3VtMykNCit7DQorICBy ZXR1cm4gc3VtMCArIHN1bTEgKyBzdW0yICsgc3VtMzsNCit9DQorDQorZG91 YmxlDQorZm9vIChjaGFyIGNvbnN0ICpidWYsIHNpemVfdCBsZW4pDQorew0K KyAgZG91YmxlIHN1bSA9IDA7DQorICBzaXplX3QgdmwgPSBfX3Jpc2N2X3Zz ZXR2bG1heF9lOG04ICgpOw0KKyAgc2l6ZV90IHN0ZXAgPSB2bCAqIDQ7DQor ICBjb25zdCBjaGFyICppdCA9IGJ1ZiwgKmVuZCA9IGJ1ZiArIGxlbjsNCisg IGZvciAoOyBpdCArIHN0ZXAgPD0gZW5kOykNCisgICAgew0KKyAgICAgIHZm bG9hdDMybTRfdCB2MCA9IF9fcmlzY3ZfdmxlMzJfdl9mMzJtNCAoKHZvaWQg KikgaXQsIHZsKTsNCisgICAgICBpdCArPSB2bDsNCisgICAgICB2ZmxvYXQz Mm00X3QgdjEgPSBfX3Jpc2N2X3ZsZTMyX3ZfZjMybTQgKCh2b2lkICopIGl0 LCB2bCk7DQorICAgICAgaXQgKz0gdmw7DQorICAgICAgdmZsb2F0MzJtNF90 IHYyID0gX19yaXNjdl92bGUzMl92X2YzMm00ICgodm9pZCAqKSBpdCwgdmwp Ow0KKyAgICAgIGl0ICs9IHZsOw0KKyAgICAgIHZmbG9hdDMybTRfdCB2MyA9 IF9fcmlzY3ZfdmxlMzJfdl9mMzJtNCAoKHZvaWQgKikgaXQsIHZsKTsNCisg ICAgICBpdCArPSB2bDsNCisNCisgICAgICBhc20gdm9sYXRpbGUoIm5vcCIg Ojo6ICJtZW1vcnkiKTsNCisgICAgICB2ZmxvYXQ2NG04X3QgdncwID0gX19y aXNjdl92ZndjdnRfZl9mX3ZfZjY0bTggKHYwLCB2bCk7DQorICAgICAgdmZs b2F0NjRtOF90IHZ3MSA9IF9fcmlzY3ZfdmZ3Y3Z0X2ZfZl92X2Y2NG04ICh2 MSwgdmwpOw0KKyAgICAgIHZmbG9hdDY0bThfdCB2dzIgPSBfX3Jpc2N2X3Zm d2N2dF9mX2Zfdl9mNjRtOCAodjIsIHZsKTsNCisgICAgICB2ZmxvYXQ2NG04 X3QgdnczID0gX19yaXNjdl92ZndjdnRfZl9mX3ZfZjY0bTggKHYzLCB2bCk7 DQorDQorICAgICAgYXNtIHZvbGF0aWxlKCJub3AiIDo6OiAibWVtb3J5Iik7 DQorICAgICAgZG91YmxlIHN1bTAgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG04 X2Y2NCAodncwKTsNCisgICAgICBkb3VibGUgc3VtMSA9IF9fcmlzY3ZfdmZt dl9mX3NfZjY0bThfZjY0ICh2dzEpOw0KKyAgICAgIGRvdWJsZSBzdW0yID0g X19yaXNjdl92Zm12X2Zfc19mNjRtOF9mNjQgKHZ3Mik7DQorICAgICAgZG91 YmxlIHN1bTMgPSBfX3Jpc2N2X3ZmbXZfZl9zX2Y2NG04X2Y2NCAodnczKTsN CisNCisgICAgICBzdW0gKz0gc3VtYXRpb24gKHN1bTAsIHN1bTEsIHN1bTIs IHN1bTMpOw0KKyAgICB9DQorICByZXR1cm4gc3VtOw0KK30NCisNCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90IHt2bXYxcn0gfSB9ICov DQorLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCB7dm12MnJ9 IH0gfSAqLw0KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3Qg e3ZtdjRyfSB9IH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItbm90IHt2bXY4cn0gfSB9ICovDQorLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLW5vdCB7Y3Nycn0geyB4ZmFpbCByaXNjdiotKi0qIH0gfSB9 ICovDQotLSANCjIuMzQuMQ0KIA0KIA0K ------=_001_NextPart352607355203_=------