From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2054.outbound.protection.outlook.com [40.92.19.54]) by sourceware.org (Postfix) with ESMTPS id 8CA8E3858D33 for ; Tue, 28 Feb 2023 09:59:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8CA8E3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=outlook.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=outlook.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QR4Aa04kJt0jerfRg+wdal2QrDxfn2xngqy+770ZmiGt6ZptPfRLTL9cML0BkSPERZeeFNlrrv44gNP5hDg7J8XQa0WT3XGBWAxOPp1hziHCbkAAlnkbdFuCX2jf8IhZ0wSqSGLyCP5PkgKFVvlPMNOv3sskxzyMscQJE3ZxhpV8QerClw4JVItCN1JTx6Vi6N03J2DfKO6uWFUf9iTGVC1LW5LN5jjRlztaqxVThPdolgRGlCEE5ZkB0OHaxpOf69/g34+BxRf7X3i3PclRYeeAhB4xbRvkl3A3eKt7oD9o2JdHXj2SJAZoXsRWQ5XqXz/fT/sF30E4wNPQAeMBsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=FQ1FmZAh/ijXg1JzvcdjTv+KFyNSQ+grrU/sidxe58M=; b=N3Wjc0xLNxmXDkKxiUuAWo/0sKDnKwg8Jny64EFrUw/tLfVB0LboEHI6BJiGli/96ICoBKtEKUApip4UhVxzgtgrrWlGZUwg8Vdpf04XAyX4IcDWxzjh6bA+yOQk8elldV1aQSy1BwpCrdK4GOVZAPciTNz9o2DQeDx0X9OHlrYz6gZqsKAxE8DcP4drmw8kUnd1zCyyvAqk3/Tq+dhGvZocqVtKe32ZnIUPVzp01fmbpbUAT8zfXx219ixj7eYmU++4cOvB/OEWrmkhQqdGogsGfdn+y3EkrWQfj2Ilw4twEeXlwUmflVx5WK21yCvQhcZV95uQBpblBO0GpgWRRg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FQ1FmZAh/ijXg1JzvcdjTv+KFyNSQ+grrU/sidxe58M=; b=Iou17tQtOlhuNvqTbgn2LS9LhJp8sfaWTHOOc4A1Ee08g5rrmoactHg87I8OA+3iRrisQp6FQIvi7OWH5kL5wia6kbbGu2u0LBl7Ss9B0uitZp1xL4xtmaddup0zWrWnL277JKZpM2oFoJmld4DKvFIeMfFC5SDFxvC78rq6rvACLAIlgNxbziYK9hFZpGVEenZJHgTFoXIUr25/+nN4NbyI189JpVTcFBjhgc2V1uOhjNBNhKaUsfHYDFMM8BGWsBa+snaJA6kVd/I3B4Eh614g9uYQw2ISVI6YnUha512iE8iDcEd3N2MShqglSp1I73KKa5cTN+jvHV9jXWLALg== Received: from BYAPR04MB4824.namprd04.prod.outlook.com (2603:10b6:a03:5e::19) by SN4PR0401MB3583.namprd04.prod.outlook.com (2603:10b6:803:4e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Tue, 28 Feb 2023 09:59:19 +0000 Received: from BYAPR04MB4824.namprd04.prod.outlook.com ([fe80::1649:a6f8:5e44:43b4]) by BYAPR04MB4824.namprd04.prod.outlook.com ([fe80::1649:a6f8:5e44:43b4%3]) with mapi id 15.20.6134.024; Tue, 28 Feb 2023 09:59:19 +0000 From: =?utf-8?B?55u8IOadjg==?= To: Richard Sandiford , "Li, Pan2" CC: incarnation.p.lee--- via Gcc-patches , "juzhe.zhong@rivai.ai" , "kito.cheng@sifive.com" , "rguenther@suse.de" Subject: Re: [PATCH] RISC-V: Bugfix for rvv bool mode precision adjustment Thread-Topic: [PATCH] RISC-V: Bugfix for rvv bool mode precision adjustment Thread-Index: AQHZQhkIVWcVdPVa8keSZeWQnyX4Ya7i6lphgAAJXTqAAMBkgIAAe9UygAACDkY= Date: Tue, 28 Feb 2023 09:59:19 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [w6K/yCtkM0x4XZIxaO8oruXIJZyoKbDU] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR04MB4824:EE_|SN4PR0401MB3583:EE_ x-ms-office365-filtering-correlation-id: bf1c0cc9-6f81-4bf4-3bbb-08db197275a9 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rB3tAwgiE8LQKbkR1R+TpQhMVTTx11WGvqyGGUdCzns/yntMt7l6uKIQMdes1xDiwZOShy31GX/tjbuerzuJPo+zlEZAv7TSBTWiWzG32Q2/5cHN9iOxahpK5CEYsdqYFnLLEgukzTRes3p89AulQc5q5IHCxeLk4Oq0kQqACBo0WcRShhsMq79G0VcA9ihUikR6Ib/TF0s1533TQ/YtsbkRff7yxv/TNjgyD4Mvd5wNVkJ+529IYUf9hP+6+jMZkI+36+Gy+IKEu97Kz//HhTmoSRpZ5oc5+exQ1kuTr2HJnP80YmD77sITDxoWzym5jBlyzZMWdCipLv00HBIbQ/c2HUQ3S+CSrEdhfL9sDVuqlpbj8QRI+WHw01AbZ9a+tWbZySVFnQ2OW8keJsgfnbT8FkQmSQaLSOQ4VrtBKYyRIMkHB/cesqAZNVVLbIVh0e/spyjcmsvewOuAc82hv8kHeo7YSw/f4eJ0WpvtVROwN2SGQhQJVkKQtbZvIeMmlEQ3WpJ2dSW0x1ipY0o9kQ22wsU/4znDz3dnGGwO/2MuoVTQLFTLawkj76Ub4Z9ejBxYRkpOdTrOlA4SU094qZYELXNU2UNkMI8hFBlFIG3OXpsLkk9a0/p9JTyBjfKmUeDLnYdXXd2ey3kydluS1g== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WjdrUzZjNkZ4MnpsRGhXdCtpZmR1ZnNTanliZllxTzg2TzJyVy9YR0gzMXpE?= =?utf-8?B?UTJ0QWNWOWVqUklWcDV0OVRzckZ0M2U0RnhjSk1WdXJ0Q2hleEZNNWlCNDJj?= =?utf-8?B?a2hTdFpZdUhKeEk0Zld5eVNMSktIOVIrTzR4UVMxVnNhV1JKT2p3aFhyUmJ0?= =?utf-8?B?NDF5aG1WUEVIbzBmNWhCNlkxbzNvRDZCMEorUlZCY0VDbkFtYlFNOWpCNFdq?= =?utf-8?B?UDk4TktpWXZublhTSnhLVlZBVkhQazY3VnV1aDN3RnI1dmhzVGpDMSs5TnYz?= =?utf-8?B?bU13VmJPbTdpdFdMa2lGS3ZCSlJiNUJ4UFFweGNxV0RIUTlubkxkMzRHYVhz?= =?utf-8?B?QSt4WUdXZHkzbmZzRUxFaEJJazl2ZGdyMHpNTTlDYkFSejBndWFYWTk2cnFo?= =?utf-8?B?b0F3eTIzOTBQY2ZNN0NXdTZuU0VQcmU0MCtVeGVxY243YVdUTFF0SVhoOTBH?= =?utf-8?B?aGlYdTM5VFN6OU4vNTJqcUZhUXZTUlE0MFpNL21ySHBSSmN6UHFXam5mczZV?= =?utf-8?B?VitDOGp2ang4Z3pITmkydDlkbXdMUHkvcW1mL1hnQlZtbC8zTUxEN1JFTVZm?= =?utf-8?B?WXlhZXBJa1p2KzJWMmZ5ZWk5enY0K0orRW85WU5laUZYckc4OTB5MlZSdm9Z?= =?utf-8?B?KzVKZ0phYzREaW1jL2tFNXptbHI5aVp2b281M1U3ODdkZFZadzQxeDdPOGMv?= =?utf-8?B?VjNEa2NKbWFJQk9uM2JWTkl0QW1WbnY5N2d0ZlRFdFVZSGpiSHdSZGJNSitp?= =?utf-8?B?Z0pMWnJKUXMwRGI0Ykphc0I4WG42ZWdjUTcyaHQwQ1RQTzI1ZkNmTVYyZjFK?= =?utf-8?B?Q2g0ay9jZDFWc0h3eFFPZzhIbnN5WUZOYmVFQzR5VWRzTVl4MW1uV2dFcGR3?= =?utf-8?B?cE1OUGZMVnlvQ0JoVGl3VWpYZzNvRS9Wa3B0cXRBU0RhMEZmNm15em15czky?= =?utf-8?B?QmJiN3RwdWZ1bk85ejZHR3VCT0ExYklta1dUaVE2ZmQ4QUhiMVVxZjExb1B0?= =?utf-8?B?SlQyR29ZUTNvWmNBclpqUEwzSWN6dm0zd0JscDBpcTIvOE84ZE5wUnpUZy9U?= =?utf-8?B?UlJ6bENMUUVjcUhlVWhWYmM4eEx4REoydFVpWHB6NW9aeW00SG1xVXdmSGt1?= =?utf-8?B?MlRiRHdwdXAza0ZRSU5QdGQ4WmU0MjBHeEtmMnpSa0dVSy9yWmtzWU9IVUMv?= =?utf-8?B?UGp5YXBXY0ZhWGE5ZWhmbElNNWRIcTNERDUvdmFobm1YRmFhWGNLeVBlTWdF?= =?utf-8?B?ZzdRZ2xpWVpkdjBGanJKNnlDamJTa0IwdHVNUnVqMmZZcUU2UjAzaHd3cXFG?= =?utf-8?B?bUNDQ3QwZnJoZnZ6SnViVkdBWERoMGdJaFFFSHRudGhoRlNNaUQzaGlnejZU?= =?utf-8?B?ZzVMcWtzam9LSFhPU3cvOEl5TnJrZVZmS3lBajZHNXRsM1B1YjByS0I1Q3hU?= =?utf-8?B?NFc4M0ZPQWVvY2NjbDFBbkZibHZxQmRjWmdweHpNMkwrUUs4eEJZOVlFeFhj?= =?utf-8?B?WFFqTmVrWkdoOHNEZEJBWi8zc0hIL0VtL1hPcGZWL0duN2FWZ1p6aXdFVTQ3?= =?utf-8?B?bDE2TDArdnFGM040aDVVU2ZETHN6ZHhPSHFUQUlYbDI3Qy9YeU8zZ0g2QTlu?= =?utf-8?B?L1QweXcvRWFkR1MxNUQ0MUgwRmJjTGhFVGdESjZNSWVrV2xUMUtOYmVCTnJE?= =?utf-8?B?RlNjT0tabjgxRjFtMVlVZjZ1bzFYalpaRXJQV2oxNENiSlkvMkdmdU5BPT0=?= Content-Type: multipart/alternative; boundary="_000_BYAPR04MB4824B9342456A1F67D34F1EDB7AC9BYAPR04MB4824namp_" MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BYAPR04MB4824.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: bf1c0cc9-6f81-4bf4-3bbb-08db197275a9 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Feb 2023 09:59:19.3892 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR0401MB3583 X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,SCC_10_SHORT_WORD_LINES,SCC_20_SHORT_WORD_LINES,SCC_35_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,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: --_000_BYAPR04MB4824B9342456A1F67D34F1EDB7AC9BYAPR04MB4824namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VW5kZXJzdG9vZCwgdGhhbmtzIGZvciB0aGUgZXhwbGFuYXRpb25zIGFuZCBz dWdnZXN0aW9ucy4gTGV0IG1lIGhhdmUgYSB0cnkgYW5kIGtlZXAgeW91IHBv c3RlZC4NCg0KUGFuDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xw0KRnJvbTogUmljaGFyZCBTYW5kaWZvcmQgPHJpY2hhcmQuc2FuZGlmb3Jk QGFybS5jb20+DQpTZW50OiBUdWVzZGF5LCBGZWJydWFyeSAyOCwgMjAyMyAx Nzo1MA0KVG86IExpLCBQYW4yIDxwYW4yLmxpQGludGVsLmNvbT4NCkNjOiDn m7wg5p2OIDxpbmNhcm5hdGlvbi5wLmxlZUBvdXRsb29rLmNvbT47IGluY2Fy bmF0aW9uLnAubGVlLS0tIHZpYSBHY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNA Z2NjLmdudS5vcmc+OyBqdXpoZS56aG9uZ0ByaXZhaS5haSA8anV6aGUuemhv bmdAcml2YWkuYWk+OyBraXRvLmNoZW5nQHNpZml2ZS5jb20gPGtpdG8uY2hl bmdAc2lmaXZlLmNvbT47IHJndWVudGhlckBzdXNlLmRlIDxyZ3VlbnRoZXJA c3VzZS5kZT4NClN1YmplY3Q6IFJlOiBbUEFUQ0hdIFJJU0MtVjogQnVnZml4 IGZvciBydnYgYm9vbCBtb2RlIHByZWNpc2lvbiBhZGp1c3RtZW50DQoNCiJM aSwgUGFuMiIgPHBhbjIubGlAaW50ZWwuY29tPiB3cml0ZXM6DQo+IEhpIFJp Y2hhcmQgU2FuZGlmb3JkLA0KPg0KPiBBZnRlciBzb21lIGludmVzdGlnYXRp b24sIEkgYW0gbm90IHN1cmUgaWYgaXQgaXMgcG9zc2libGUgdG8gbWFrZSBp dCBnZW5lcmFsIHdpdGhvdXQgYW55IGNoYW5nZXMgdG8gZXhhY3RfZGl2LiBX ZSBjYW4gYWRkIG9uZSBtZXRob2QgbGlrZSBiZWxvdyB0byBnZXQgdGhlIHVu aXQgcG9seSBmb3IgYWxsIHBvc3NpYmxlIE4uDQo+DQo+IHRlbXBsYXRlPHVu c2lnbmVkIGludCBOLCB0eXBlbmFtZSBDYT4NCj4gaW5saW5lIFBPTFlfQ09O U1RfUkVTVUxUIChOLCBDYSwgQ2EpDQo+IG5vcm1hbGl6ZV90b191bml0IChj b25zdCBwb2x5X2ludF9wb2Q8TiwgQ2E+ICZhKQ0KPiB7DQo+ICAgdHlwZWRl ZiBQT0xZX0NPTlNUX0NPRUZGIChDYSwgQ2EpIEM7DQo+DQo+ICAgcG9seV9p bnQ8TiwgQz4gbm9ybWFsaXplZCA9IGE7DQo+DQo+ICAgaWYgKG5vcm1hbGl6 ZWQuaXNfY29uc3RhbnQoKSkNCj4gICAgIG5vcm1hbGl6ZWQuY29lZmZzWzBd ID0gMTsNCj4gICBlbHNlDQo+ICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0g MDsgaSA8IE47IGkrKykNCj4gICAgICAgUE9MWV9TRVRfQ09FRkYgKEMsIG5v cm1hbGl6ZWQsIGksIDEpOw0KPg0KPiAgIHJldHVybiBub3JtYWxpemVkOw0K PiB9DQo+DQo+IEFuZCB0aGVuIGFkanVzdCB0aGUgZ2VubW9kZXMgbGlrZSBi ZWxvdyB0byBjb25zdW1lIHRoZSB1bml0IHBvbHkuDQo+DQo+ICAgICAgIHBy aW50ZiAoIiAgICBwb2x5X3VpbnQxNiB1bml0X3BvbHkgPSAiDQo+ICAgICAg ICAgICAgICAibm9ybWFsaXplX3RvX3VuaXQgKG1vZGVfcHJlY2lzaW9uW0Vf JXNtb2RlXSk7XG4iLCBtLT5uYW1lKTsNCj4gICAgICAgcHJpbnRmICgiICAg IGlmIChrbm93bl9sdCAobW9kZV9wcmVjaXNpb25bRV8lc21vZGVdLCAiDQo+ ICAgICAgICAgICAgICAidW5pdF9wb2x5ICogQklUU19QRVJfVU5JVCkpXG4i LCBtLT5uYW1lKTsNCj4gICAgICAgcHJpbnRmICgiICAgICAgbW9kZV9zaXpl W0VfJXNtb2RlXSA9IHVuaXRfcG9seTtcbiIsIG0tPm5hbWUpOw0KPg0KPiBJ IGFtIG5vdCBzdXJlIGlmIGl0IGlzIGEgZ29vZCBpZGVhIHRvIGludHJvZHVj ZSBhYm92ZSBub3JtYWxpemUgY29kZSBpbnRvIGV4YWN0X2Rpdi4gR2l2ZW4g dGhlIGNvbW1lbnQgb2YgdGhlIGV4YWN0X2RpdiBpbmRpY2F0ZXMgdGhhdCDi gJwvKiBSZXR1cm4gQSAvIEIsIGdpdmVuIHRoYXQgQSBpcyBrbm93biB0byBi ZSBhIG11bHRpcGxlIG9mIEIuICov4oCdLg0KDQpNeSBwb2ludCB3YXMgdGhh dCB3ZSBoYXZlIG11bHRpcGxlIHdheXMgb2YgZGl2aWRpbmcgcG9seV9pbnRz Og0KDQotIGV4YWN0X2RpdiwgZm9yIHdoZW4gdGhlIGNhbGxlciBrbm93cyB0 aGF0IHRoZSByZXN1bHQgaXMgYWx3YXlzIGV4YWN0DQotIGNhbl9kaXZfdHJ1 bmNfcCwgZm9yIHRydW5jYXRpbmcgZGl2aXNpb24gKHJvdW5kIHRvd2FyZHMg MCkNCi0gY2FuX2Rpdl9hd2F5X2Zyb21femVyb19wLCBmb3Igcm91bmRpbmcg YXdheSBmcm9tIDANCi0gLi4uDQoNClRoaXMgaXMgbGlrZSBob3cgd2UgaGF2 ZSBtdWx0aXBsZSBkaXZpc2lvbiAqX0VYUFJzIG9uIHRyZWVzLg0KDQpVbnRp bCBub3csIGV4YWN0X2RpdiB3YXMgdGhlIGNvcnJlY3QgY2hvaWNlIGZvciBt b2RlcyBiZWNhdXNlIHZlY3Rvcg0KbW9kZXMgZGlkbid0IGhhdmUgcGFkZGlu Zy4gIFdlJ3JlIG5vdyBjaGFuZ2luZyB0aGF0LCBzbyBteSBzdWdnZXN0aW9u DQppbiB0aGUgcmV2aWV3IHdhcyB0byBjaGFuZ2UgdGhlIGRpdmlzaW9uIG9w ZXJhdGlvbiB0aGF0IHdlIHVzZS4NClJhdGhlciB0aGFuIHVzZSBleGFjdF9k aXYsIHdlIHNob3VsZCBub3cgdXNlIGNhbl9kaXZfYXdheV9mcm9tX3plcm9f cCwNCndoaWNoIHdvdWxkIGhhdmUgdGhlIGVmZmVjdCBvZiByb3VuZGluZyB0 aGUgcXVvdGllbnQgdXAuDQoNClNvbWV0aGluZyBsaWtlOg0KDQogICAgICBp ZiAoIWNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCAobW9kZV9wcmVjaXNpb25b RV8lc21vZGVdLCBCSVRTX1BFUl9VTklULA0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZtb2RlX3NpemVbRV8lc21vZGVdKSkNCiAg ICAgICAgZ2NjX3VucmVhY2hhYmxlICgpOw0KDQpCdXQgdGhpcyB3aWxsIHJl cXVpcmUgYSBuZXcgb3ZlcmxvYWQgb2YgY2FuX2Rpdl9hd2F5X2Zyb21femVy b19wLCBzaW5jZQ0KdGhlIGV4aXN0aW5nIG9uZSBpcyBmb3IgY29uc3RhbnQg cXVvdGllbnRzIHJhdGhlciB0aGFuIGNvbnN0YW50IGRpdmlzb3JzLg0KDQpU aGFua3MsDQpSaWNoYXJkDQoNCj4NCj4gQ291bGQgeW91IHBsZWFzZSBoZWxw IHRvIHNoYXJlIHlvdXIgb3BpbmlvbiBhYm91dCB0aGlzIGZyb20gdGhlIGV4 cGVydOKAmXMgcGVyc3BlY3RpdmUgPyBUaGFuayB5b3UhDQo+DQo+IFBhbg0K Pg0KPiBGcm9tOiDnm7wg5p2OIDxpbmNhcm5hdGlvbi5wLmxlZUBvdXRsb29r LmNvbT4NCj4gU2VudDogTW9uZGF5LCBGZWJydWFyeSAyNywgMjAyMyAxMTox MyBQTQ0KPiBUbzogUmljaGFyZCBTYW5kaWZvcmQgPHJpY2hhcmQuc2FuZGlm b3JkQGFybS5jb20+OyBpbmNhcm5hdGlvbi5wLmxlZS0tLSB2aWEgR2NjLXBh dGNoZXMgPGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPg0KPiBDYzoganV6aGUu emhvbmdAcml2YWkuYWk7IGtpdG8uY2hlbmdAc2lmaXZlLmNvbTsgcmd1ZW50 aGVyQHN1c2UuZGU7IExpLCBQYW4yIDxwYW4yLmxpQGludGVsLmNvbT4NCj4g U3ViamVjdDogUmU6IFtQQVRDSF0gUklTQy1WOiBCdWdmaXggZm9yIHJ2diBi b29sIG1vZGUgcHJlY2lzaW9uIGFkanVzdG1lbnQNCj4NCj4gTmV2ZXIgbWlu ZCwgd2lzaCB5b3UgaGF2ZSBhIGdvb2QgaG9saWRheS4NCj4NCj4gVGhhbmtz IGZvciBwb2ludGluZyB0aGlzIG91dCwgdGhlIGlmIHBhcnQgY2Fubm90IHRh a2UgY2FyZSBvZiBwb2x5X2ludCB3aXRoIE4gPiAyLiBBcyBJIHVuZGVyc3Rh bmQsIHdlIG5lZWQgdG8gbWFrZSBpdCBnZW5lcmFsIGZvciBhbGwgdGhlIE4g b2YgcG9seV9pbnQuDQo+DQo+IFRodXMgSSB3b3VsZCBsaWtlIHRvIGRvdWJs ZSBjb25maXJtIHdpdGggeW91IGFib3V0IGhvdyB0byBtYWtlIGl0IGdlbmVy YWwuIEkgc3VwcG9zZSB0aGVyZSB3aWxsIGJlIGEgbmV3IGZ1bmN0aW9uIGNh bl9kaXZfYXdheV9mcm9tX3plcm9fcCB0byByZXBsYWNlIHRoZSBpZiAoa25v d25fbHQoLCkpIHBhcnQgaW4gZ2VubW9kZXMuY2MsIGFuZCBsZWF2ZSBleGFj dF9kaXYgdW5jaGFuZ2VkKGNvbnNpZGVyIHRoZSB3b3JkIGV4YWN0LCBJIHN1 cHBvc2Ugd2Ugc2hvdWxkIG5vdCB0b3VjaCBoZXJlKSwgcmlnaHQ/IFRoZW4g d2Ugc3RpbGwgbmVlZCBvbmUgcG9seV9pbnQgd2l0aCBhbGwgMSBmb3IgTiBh cyB0aGUgcmV0dXJuIGlmIGNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCBpcyB0 cnVlLg0KPg0KPiBUaGFua3MgYWdhaW4gZm9yIHlvdXIgcHJvZmVzc2lvbmFs IHN1Z2dlc3Rpb24sIGhhdmUgYSBuaWNlIGRheSwg8J+YiSENCj4NCj4gUGFu DQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IEZyb206 IFJpY2hhcmQgU2FuZGlmb3JkIDxyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29t PG1haWx0bzpyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tPj4NCj4gU2VudDog TW9uZGF5LCBGZWJydWFyeSAyNywgMjAyMyAyMjoyNA0KPiBUbzogaW5jYXJu YXRpb24ucC5sZWUtLS0gdmlhIEdjYy1wYXRjaGVzIDxnY2MtcGF0Y2hlc0Bn Y2MuZ251Lm9yZzxtYWlsdG86Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+Pg0K PiBDYzogaW5jYXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb208bWFpbHRvOmlu Y2FybmF0aW9uLnAubGVlQG91dGxvb2suY29tPiA8aW5jYXJuYXRpb24ucC5s ZWVAb3V0bG9vay5jb208bWFpbHRvOmluY2FybmF0aW9uLnAubGVlQG91dGxv b2suY29tPj47IGp1emhlLnpob25nQHJpdmFpLmFpPG1haWx0bzpqdXpoZS56 aG9uZ0ByaXZhaS5haT4gPGp1emhlLnpob25nQHJpdmFpLmFpPG1haWx0bzpq dXpoZS56aG9uZ0ByaXZhaS5haT4+OyBraXRvLmNoZW5nQHNpZml2ZS5jb208 bWFpbHRvOmtpdG8uY2hlbmdAc2lmaXZlLmNvbT4gPGtpdG8uY2hlbmdAc2lm aXZlLmNvbTxtYWlsdG86a2l0by5jaGVuZ0BzaWZpdmUuY29tPj47IHJndWVu dGhlckBzdXNlLmRlPG1haWx0bzpyZ3VlbnRoZXJAc3VzZS5kZT4gPHJndWVu dGhlckBzdXNlLmRlPG1haWx0bzpyZ3VlbnRoZXJAc3VzZS5kZT4+OyBwYW4y LmxpQGludGVsLmNvbTxtYWlsdG86cGFuMi5saUBpbnRlbC5jb20+IDxwYW4y LmxpQGludGVsLmNvbTxtYWlsdG86cGFuMi5saUBpbnRlbC5jb20+Pg0KPiBT dWJqZWN0OiBSZTogW1BBVENIXSBSSVNDLVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJv b2wgbW9kZSBwcmVjaXNpb24gYWRqdXN0bWVudA0KPg0KPiBTb3JyeSBmb3Ig dGhlIHNsb3cgcmVwbHksIGJlZW4gYXdheSBmb3IgYSBjb3VwbGUgb2Ygd2Vl a3MuDQo+DQo+ICJpbmNhcm5hdGlvbi5wLmxlZS0tLSB2aWEgR2NjLXBhdGNo ZXMiIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzxtYWlsdG86Z2NjLXBhdGNo ZXNAZ2NjLmdudS5vcmc+PiB3cml0ZXM6DQo+PiBGcm9tOiBQYW4gTGkgPHBh bjIubGlAaW50ZWwuY29tPG1haWx0bzpwYW4yLmxpQGludGVsLmNvbT4+DQo+ Pg0KPj4gICAgICAgIEZpeCB0aGUgYnVnIG9mIHRoZSBydnYgYm9vbCBtb2Rl IHByZWNpc2lvbiB3aXRoIHRoZSBhZGp1c3RtZW50Lg0KPj4gICAgICAgIFRo ZSBiaXRzIHNpemUgb2YgdmJvb2wqX3Qgd2lsbCBiZSBhZGp1c3RlZCB0bw0K Pj4gICAgICAgIFsxLCAyLCA0LCA4LCAxNiwgMzIsIDY0XSBhY2NvcmRpbmcg dG8gdGhlIHJ2diBzcGVjIDEuMCBpc2EuIFRoZQ0KPj4gICAgICAgIGFkanVz dGVkIG1vZGUgcHJlY2lzb24gb2YgdmJvb2wqX3Qgd2lsbCBoZWxwIHVuZGVy bHlpbmcgcGFzcyB0bw0KPj4gICAgICAgIG1ha2UgdGhlIHJpZ2h0IGRlY2lz aW9uIGZvciBib3RoIHRoZSBjb3JyZWN0bmVzcyBhbmQgb3B0aW1pemF0aW9u Lg0KPj4NCj4+ICAgICAgICBHaXZlbiBiZWxvdyBzYW1wbGUgY29kZToNCj4+ ICAgICAgICB2b2lkIHRlc3RfMShpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50 OF90ICogcmVzdHJpY3Qgb3V0KQ0KPj4gICAgICAgIHsNCj4+ICAgICAgICAg IHZib29sOF90IHYyID0gKih2Ym9vbDhfdCopaW47DQo+PiAgICAgICAgICB2 Ym9vbDE2X3QgdjUgPSAqKHZib29sMTZfdCopaW47DQo+PiAgICAgICAgICAq KHZib29sMTZfdCopKG91dCArIDIwMCkgPSB2NTsNCj4+ICAgICAgICAgICoo dmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjI7DQo+PiAgICAgICAgfQ0KPj4N Cj4+ICAgICAgICBCZWZvcmUgdGhlIHByZWNpc2lvbiBhZGp1c3RtZW50Og0K Pj4gICAgICAgIGFkZGkgICAgYTQsYTEsMTAwDQo+PiAgICAgICAgdnNldHZs aSBhNSx6ZXJvLGU4LG0xLHRhLG1hDQo+PiAgICAgICAgYWRkaSAgICBhMSxh MSwyMDANCj4+ICAgICAgICB2bG0udiAgIHYyNCwwKGEwKQ0KPj4gICAgICAg IHZzbS52ICAgdjI0LDAoYTQpDQo+PiAgICAgICAgLy8gTmVlZCBvbmUgdnNl dHZsaSBhbmQgdmxtLnYgZm9yIGNvcnJlY3RuZXNzIGhlcmUuDQo+PiAgICAg ICAgdnNtLnYgICB2MjQsMChhMSkNCj4+DQo+PiAgICAgICAgQWZ0ZXIgdGhl IHByZWNpc2lvbiBhZGp1c3RtZW50Og0KPj4gICAgICAgIGNzcnIgICAgdDAs dmxlbmINCj4+ICAgICAgICBzbGxpICAgIHQxLHQwLDENCj4+ICAgICAgICBj c3JyICAgIGEzLHZsZW5iDQo+PiAgICAgICAgc3ViICAgICBzcCxzcCx0MQ0K Pj4gICAgICAgIHNsbGkgICAgYTQsYTMsMQ0KPj4gICAgICAgIGFkZCAgICAg YTQsYTQsc3ANCj4+ICAgICAgICBzdWIgICAgIGEzLGE0LGEzDQo+PiAgICAg ICAgdnNldHZsaSBhNSx6ZXJvLGU4LG0xLHRhLG1hDQo+PiAgICAgICAgYWRk aSAgICBhMixhMSwyMDANCj4+ICAgICAgICB2bG0udiAgIHYyNCwwKGEwKQ0K Pj4gICAgICAgIHZzbS52ICAgdjI0LDAoYTMpDQo+PiAgICAgICAgYWRkaSAg ICBhMSxhMSwxMDANCj4+ICAgICAgICB2c2V0dmxpIGE0LHplcm8sZTgsbWYy LHRhLG1hDQo+PiAgICAgICAgY3NyciAgICB0MCx2bGVuYg0KPj4gICAgICAg IHZsbS52ICAgdjI1LDAoYTMpDQo+PiAgICAgICAgdnNtLnYgICB2MjUsMChh MikNCj4+ICAgICAgICBzbGxpICAgIHQxLHQwLDENCj4+ICAgICAgICB2c2V0 dmxpIGE1LHplcm8sZTgsbTEsdGEsbWENCj4+ICAgICAgICB2c20udiAgIHYy NCwwKGExKQ0KPj4gICAgICAgIGFkZCAgICAgc3Asc3AsdDENCj4+ICAgICAg ICBqciAgICAgIHJhDQo+Pg0KPj4gICAgICAgIEhvd2V2ZXIsIHRoZXJlIG1h eSBiZSBzb21lIG9wdGltaXphdGlvbiBvcHBvcnR1bmF0ZXMgYWZ0ZXINCj4+ ICAgICAgICB0aGUgbW9kZSBwcmVjaXNpb24gYWRqdXN0bWVudC4gSXQgY2Fu IGJlIHRva2VuIGNhcmUgb2YgaW4NCj4+ICAgICAgICB0aGUgUklTQy1WIGJh Y2tlbmQgaW4gdGhlIHVuZGVybHlpbmcgc2VwYXJ0ZWQgUFIocykuDQo+Pg0K Pj4gICAgICAgIFBSIDEwODE4NQ0KPj4gICAgICAgIFBSIDEwODY1NA0KPj4N Cj4+IGdjYy9DaGFuZ2VMb2c6DQo+Pg0KPj4gICAgICAgICogY29uZmlnL3Jp c2N2L3Jpc2N2LW1vZGVzLmRlZiAoQURKVVNUX1BSRUNJU0lPTik6DQo+PiAg ICAgICAgKiBjb25maWcvcmlzY3YvcmlzY3YuY2MgKHJpc2N2X3ZfYWRqdXN0 X3ByZWNpc2lvbik6DQo+PiAgICAgICAgKiBjb25maWcvcmlzY3YvcmlzY3Yu aCAocmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9uKToNCj4+ICAgICAgICAqIGdl bm1vZGVzLmNjIChBREpVU1RfUFJFQ0lTSU9OKToNCj4+ICAgICAgICAoZW1p dF9tb2RlX2FkanVzdG1lbnRzKToNCj4+DQo+PiBnY2MvdGVzdHN1aXRlL0No YW5nZUxvZzoNCj4+DQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3By MTA4MTg1LTEuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0 L3Jpc2N2L3ByMTA4MTg1LTIuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBn Y2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTMuYzogTmV3IHRlc3QuDQo+PiAg ICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTQuYzogTmV3IHRl c3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTUu YzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3By MTA4MTg1LTYuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBnY2MudGFyZ2V0 L3Jpc2N2L3ByMTA4MTg1LTcuYzogTmV3IHRlc3QuDQo+PiAgICAgICAgKiBn Y2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTguYzogTmV3IHRlc3QuDQo+Pg0K Pj4gU2lnbmVkLW9mZi1ieTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbTxt YWlsdG86cGFuMi5saUBpbnRlbC5jb20+Pg0KPj4gLS0tDQo+PiAgZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi1tb2Rlcy5kZWYgICAgICAgICAgICB8ICA4ICsr Kw0KPj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3YuY2MgICAgICAgICAgICAg ICAgICAgfCAxMiArKysrDQo+PiAgZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5o ICAgICAgICAgICAgICAgICAgICB8ICAxICsNCj4+ICBnY2MvZ2VubW9kZXMu Y2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjUgKysrKysrLQ0K Pj4gIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0x LmMgfCA2OCArKysrKysrKysrKysrKysrKysNCj4+ICBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMi5jIHwgNjggKysrKysrKysr KysrKysrKysrDQo+PiAgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3ByMTA4MTg1LTMuYyB8IDY4ICsrKysrKysrKysrKysrKysrKw0KPj4gIGdj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS00LmMgfCA2 OCArKysrKysrKysrKysrKysrKysNCj4+ICBnY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcHIxMDgxODUtNS5jIHwgNjggKysrKysrKysrKysrKysr KysrDQo+PiAgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4 MTg1LTYuYyB8IDY4ICsrKysrKysrKysrKysrKysrKw0KPj4gIGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS03LmMgfCA2OCArKysr KysrKysrKysrKysrKysNCj4+ICBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcHIxMDgxODUtOC5jIHwgNzcgKysrKysrKysrKysrKysrKysrKysr DQo+PiAgMTIgZmlsZXMgY2hhbmdlZCwgNTk4IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkNCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTEuYw0KPj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtMi5jDQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0zLmMNCj4+ICBjcmVh dGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3ByMTA4MTg1LTQuYw0KPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNS5jDQo+PiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9wcjEwODE4NS02LmMNCj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTcuYw0KPj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcHIxMDgxODUtOC5jDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2djYy9jb25m aWcvcmlzY3YvcmlzY3YtbW9kZXMuZGVmIGIvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi1tb2Rlcy5kZWYNCj4+IGluZGV4IGQ1MzA1ZWZhOGE2Li4xMTBiZGRj ZTg1MSAxMDA2NDQNCj4+IC0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Yt bW9kZXMuZGVmDQo+PiArKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW1v ZGVzLmRlZg0KPj4gQEAgLTcyLDYgKzcyLDE0IEBAIEFESlVTVF9CWVRFU0la RSAoVk54MTZCSSwgcmlzY3ZfdmVjdG9yX2NodW5rcyAqIHJpc2N2X2J5dGVz X3Blcl92ZWN0b3JfY2h1bmspOw0KPj4gIEFESlVTVF9CWVRFU0laRSAoVk54 MzJCSSwgcmlzY3ZfdmVjdG9yX2NodW5rcyAqIHJpc2N2X2J5dGVzX3Blcl92 ZWN0b3JfY2h1bmspOw0KPj4gIEFESlVTVF9CWVRFU0laRSAoVk54NjRCSSwg cmlzY3Zfdl9hZGp1c3RfbnVuaXRzIChWTng2NEJJbW9kZSwgOCkpOw0KPj4N Cj4+ICtBREpVU1RfUFJFQ0lTSU9OIChWTngxQkksIHJpc2N2X3ZfYWRqdXN0 X3ByZWNpc2lvbiAoVk54MUJJbW9kZSwgMSkpOw0KPj4gK0FESlVTVF9QUkVD SVNJT04gKFZOeDJCSSwgcmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9uIChWTngy Qkltb2RlLCAyKSk7DQo+PiArQURKVVNUX1BSRUNJU0lPTiAoVk54NEJJLCBy aXNjdl92X2FkanVzdF9wcmVjaXNpb24gKFZOeDRCSW1vZGUsIDQpKTsNCj4+ ICtBREpVU1RfUFJFQ0lTSU9OIChWTng4QkksIHJpc2N2X3ZfYWRqdXN0X3By ZWNpc2lvbiAoVk54OEJJbW9kZSwgOCkpOw0KPj4gK0FESlVTVF9QUkVDSVNJ T04gKFZOeDE2QkksIHJpc2N2X3ZfYWRqdXN0X3ByZWNpc2lvbiAoVk54MTZC SW1vZGUsIDE2KSk7DQo+PiArQURKVVNUX1BSRUNJU0lPTiAoVk54MzJCSSwg cmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9uIChWTngzMkJJbW9kZSwgMzIpKTsN Cj4+ICtBREpVU1RfUFJFQ0lTSU9OIChWTng2NEJJLCByaXNjdl92X2FkanVz dF9wcmVjaXNpb24gKFZOeDY0Qkltb2RlLCA2NCkpOw0KPj4gKw0KPj4gIC8q DQo+PiAgICAgfCBNb2RlICAgICAgICB8IE1JTl9WTEVOPTMyIHwgTUlOX1ZM RU49MzIgfCBNSU5fVkxFTj02NCB8IE1JTl9WTEVOPTY0IHwNCj4+ICAgICB8 ICAgICAgICAgICAgIHwgTE1VTCAgICAgICAgfCBTRVcvTE1VTCAgICB8IExN VUwgICAgICAgIHwgU0VXL0xNVUwgICAgfA0KPj4gZGlmZiAtLWdpdCBhL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LmNjDQo+PiBpbmRleCBkZTNlMWY5MDNjNy4uY2JlNjZjMGUzNWIgMTAw NjQ0DQo+PiAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjDQo+PiAr KysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjDQo+PiBAQCAtMTAwMyw2 ICsxMDAzLDE4IEBAIHJpc2N2X3ZfYWRqdXN0X251bml0cyAobWFjaGluZV9t b2RlIG1vZGUsIGludCBzY2FsZSkNCj4+ICAgIHJldHVybiBzY2FsZTsNCj4+ ICB9DQo+Pg0KPj4gKy8qIENhbGwgZnJvbSBBREpVU1RfUFJFQ0lTSU9OIGlu IHJpc2N2LW1vZGVzLmRlZi4gIFJldHVybiB0aGUgY29ycmVjdA0KPj4gKyAg IFBSRUNJU0lPTiBzaXplIGZvciBjb3JyZXNwb25kaW5nIG1hY2hpbmVfbW9k ZS4gICovDQo+PiArDQo+PiArcG9seV9pbnQ2NA0KPj4gK3Jpc2N2X3ZfYWRq dXN0X3ByZWNpc2lvbiAobWFjaGluZV9tb2RlIG1vZGUsIGludCBzY2FsZSkN Cj4+ICt7DQo+PiArICBpZiAocmlzY3Zfdl9leHRfdmVjdG9yX21vZGVfcCAo bW9kZSkpDQo+PiArICAgIHJldHVybiByaXNjdl92ZWN0b3JfY2h1bmtzICog c2NhbGU7DQo+PiArDQo+PiArICByZXR1cm4gc2NhbGU7DQo+PiArfQ0KPj4g Kw0KPj4gIC8qIFJldHVybiB0cnVlIGlmIFggaXMgYSB2YWxpZCBhZGRyZXNz IGZvciBtYWNoaW5lIG1vZGUgTU9ERS4gIElmIGl0IGlzLA0KPj4gICAgIGZp bGwgaW4gSU5GTyBhcHByb3ByaWF0ZWx5LiAgU1RSSUNUX1AgaXMgdHJ1ZSBp ZiBSRUdfT0tfU1RSSUNUIGlzIGluDQo+PiAgICAgZWZmZWN0LiAgKi8NCj4+ IGRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmggYi9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LmgNCj4+IGluZGV4IDViYzdmMmY0NjdkLi4x NWI5MzE3YThjZSAxMDA2NDQNCj4+IC0tLSBhL2djYy9jb25maWcvcmlzY3Yv cmlzY3YuaA0KPj4gKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5oDQo+ PiBAQCAtMTAyNSw2ICsxMDI1LDcgQEAgZXh0ZXJuIHVuc2lnbmVkIHJpc2N2 X3N0YWNrX2JvdW5kYXJ5Ow0KPj4gIGV4dGVybiB1bnNpZ25lZCByaXNjdl9i eXRlc19wZXJfdmVjdG9yX2NodW5rOw0KPj4gIGV4dGVybiBwb2x5X3VpbnQx NiByaXNjdl92ZWN0b3JfY2h1bmtzOw0KPj4gIGV4dGVybiBwb2x5X2ludDY0 IHJpc2N2X3ZfYWRqdXN0X251bml0cyAoZW51bSBtYWNoaW5lX21vZGUsIGlu dCk7DQo+PiArZXh0ZXJuIHBvbHlfaW50NjQgcmlzY3Zfdl9hZGp1c3RfcHJl Y2lzaW9uIChlbnVtIG1hY2hpbmVfbW9kZSwgaW50KTsNCj4+ICAvKiBUaGUg bnVtYmVyIG9mIGJpdHMgYW5kIGJ5dGVzIGluIGEgUlZWIHZlY3Rvci4gICov DQo+PiAgI2RlZmluZSBCSVRTX1BFUl9SSVNDVl9WRUNUT1IgKHBvbHlfdWlu dDE2IChyaXNjdl92ZWN0b3JfY2h1bmtzICogcmlzY3ZfYnl0ZXNfcGVyX3Zl Y3Rvcl9jaHVuayAqIDgpKQ0KPj4gICNkZWZpbmUgQllURVNfUEVSX1JJU0NW X1ZFQ1RPUiAocG9seV91aW50MTYgKHJpc2N2X3ZlY3Rvcl9jaHVua3MgKiBy aXNjdl9ieXRlc19wZXJfdmVjdG9yX2NodW5rKSkNCj4+IGRpZmYgLS1naXQg YS9nY2MvZ2VubW9kZXMuY2MgYi9nY2MvZ2VubW9kZXMuY2MNCj4+IGluZGV4 IDJkNDE4ZjA5YWFiLi4xMmY0ZTYzMzVlNiAxMDA2NDQNCj4+IC0tLSBhL2dj Yy9nZW5tb2Rlcy5jYw0KPj4gKysrIGIvZ2NjL2dlbm1vZGVzLmNjDQo+PiBA QCAtMTE0LDYgKzExNCw3IEBAIHN0YXRpYyBzdHJ1Y3QgbW9kZV9hZGp1c3Qg KmFkal9hbGlnbm1lbnQ7DQo+PiAgc3RhdGljIHN0cnVjdCBtb2RlX2FkanVz dCAqYWRqX2Zvcm1hdDsNCj4+ICBzdGF0aWMgc3RydWN0IG1vZGVfYWRqdXN0 ICphZGpfaWJpdDsNCj4+ICBzdGF0aWMgc3RydWN0IG1vZGVfYWRqdXN0ICph ZGpfZmJpdDsNCj4+ICtzdGF0aWMgc3RydWN0IG1vZGVfYWRqdXN0ICphZGpf cHJlY2lzaW9uOw0KPj4NCj4+ICAvKiBNb2RlIGNsYXNzIG9wZXJhdGlvbnMu ICAqLw0KPj4gIHN0YXRpYyBlbnVtIG1vZGVfY2xhc3MNCj4+IEBAIC04MTks NiArODIwLDcgQEAgbWFrZV92ZWN0b3JfbW9kZSAoZW51bSBtb2RlX2NsYXNz IGJjbGFzcywNCj4+ICAjZGVmaW5lIEFESlVTVF9OVU5JVFMoTSwgWCkgICAg X0FERF9BREpVU1QgKG51bml0cywgTSwgWCwgUkFORE9NLCBSQU5ET00pDQo+ PiAgI2RlZmluZSBBREpVU1RfQllURVNJWkUoTSwgWCkgIF9BRERfQURKVVNU IChieXRlc2l6ZSwgTSwgWCwgUkFORE9NLCBSQU5ET00pDQo+PiAgI2RlZmlu ZSBBREpVU1RfQUxJR05NRU5UKE0sIFgpIF9BRERfQURKVVNUIChhbGlnbm1l bnQsIE0sIFgsIFJBTkRPTSwgUkFORE9NKQ0KPj4gKyNkZWZpbmUgQURKVVNU X1BSRUNJU0lPTihNLCBYKSBfQUREX0FESlVTVCAocHJlY2lzaW9uLCBNLCBY LCBSQU5ET00sIFJBTkRPTSkNCj4+ICAjZGVmaW5lIEFESlVTVF9GTE9BVF9G T1JNQVQoTSwgWCkgICAgX0FERF9BREpVU1QgKGZvcm1hdCwgTSwgWCwgRkxP QVQsIEZMT0FUKQ0KPj4gICNkZWZpbmUgQURKVVNUX0lCSVQoTSwgWCkgIF9B RERfQURKVVNUIChpYml0LCBNLCBYLCBBQ0NVTSwgVUFDQ1VNKQ0KPj4gICNk ZWZpbmUgQURKVVNUX0ZCSVQoTSwgWCkgIF9BRERfQURKVVNUIChmYml0LCBN LCBYLCBGUkFDVCwgVUFDQ1VNKQ0KPj4gQEAgLTE4MjksNyArMTgzMSwxNSBA QCBlbWl0X21vZGVfYWRqdXN0bWVudHMgKHZvaWQpDQo+PiAgICAgICAgICAg ICAgIiAobW9kZV9wcmVjaXNpb25bRV8lc21vZGVdLCBtb2RlX251bml0c1tF XyVzbW9kZV0pO1xuIiwNCj4+ICAgICAgICAgICAgICBtLT5uYW1lLCBtLT5u YW1lKTsNCj4+ICAgICAgICBwcmludGYgKCIgICAgbW9kZV9wcmVjaXNpb25b RV8lc21vZGVdID0gcHMgKiBvbGRfZmFjdG9yO1xuIiwgbS0+bmFtZSk7DQo+ PiAtICAgICAgcHJpbnRmICgiICAgIG1vZGVfc2l6ZVtFXyVzbW9kZV0gPSBl eGFjdF9kaXYgKG1vZGVfcHJlY2lzaW9uW0VfJXNtb2RlXSwiDQo+PiArICAg ICAgLyogTm9ybWFsaXplIHRoZSBzaXplIHRvIDEgaWYgcHJlY2lzb24gaXMg bGVzcyB0aGFuIEJJVFNfUEVSX1VOSVQuICAqLw0KPj4gKyAgICAgIHByaW50 ZiAoIiAgICBwb2x5X3VpbnQxNiBzaXplX29uZSA9ICINCj4+ICsgICAgICAg ICAgICJtb2RlX3ByZWNpc2lvbltFXyVzbW9kZV0uaXNfY29uc3RhbnQgKClc biIsIG0tPm5hbWUpOw0KPj4gKyAgICAgIHByaW50ZiAoIiAgICAgID8gcG9s eV91aW50MTYgKDEsIDApIDogcG9seV91aW50MTYgKDEsIDEpO1xuIik7DQo+ DQo+IEhhdmUgeW91IHRyaWVkIHRoaXMgb24gYW4geDg2XzY0IHN5c3RlbT8g IEkgd291bGRuJ3QgZXhwZWN0IGl0IHRvIHdvcmsNCj4gYmVjYXVzZSBvZiB0 aGU6DQo+DQo+ICAgU1RBVElDX0FTU0VSVCAoTiA+PSAyKTsNCj4NCj4gaW4g dGhlIHBvbHlfdWludDE2IGNvbnN0cnVjdG9yLg0KPg0KPj4gKyAgICAgIHBy aW50ZiAoIiAgICBpZiAoa25vd25fbHQgKG1vZGVfcHJlY2lzaW9uW0VfJXNt b2RlXSwgIg0KPj4gKyAgICAgICAgICAgInNpemVfb25lICogQklUU19QRVJf VU5JVCkpXG4iLCBtLT5uYW1lKTsNCj4+ICsgICAgICBwcmludGYgKCIgICAg ICBtb2RlX3NpemVbRV8lc21vZGVdID0gc2l6ZV9vbmU7XG4iLCBtLT5uYW1l KTsNCj4+ICsgICAgICBwcmludGYgKCIgICAgZWxzZVxuIik7DQo+PiArICAg ICAgcHJpbnRmICgiICAgICAgbW9kZV9zaXplW0VfJXNtb2RlXSA9IGV4YWN0 X2RpdiAobW9kZV9wcmVjaXNpb25bRV8lc21vZGVdLCINCj4NCj4gTm93IHRo YXQgdGhlIGFzc2VydCBpbXBsaWNpdCBpbiB0aGUgb3JpZ2luYWwgZXhhY3Rf ZGl2IG5vIGxvbmdlciBob2xkcywNCj4gSSB0aGluayB3ZSBzaG91bGQgaW5z dGVhZCBnZW5lcmFsaXNlIGl0IHRvIGNhbl9kaXZfYXdheV9mcm9tX3plcm9f cA0KPiAod2hpY2ggd2lsbCBpbnZvbHZlIGRlZmluaW5nIGEgbmV3IG92ZXJs b2FkIG9mIGNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCkuDQo+IEkgdGhpbmsg dGhhdCB3aWxsIGdpdmUgdGhlIHNhbWUgcmVzdWx0IGFzIHRoZSBjb2RlIGFi b3ZlIGZvciB0aGUgY2FzZXMNCj4gdGhhdCB0aGUgY29kZSBhYm92ZSBoYW5k bGVzLiAgQnV0IGl0IHNob3VsZCBiZSBtb3JlIGdlbmVyYWwgdG9vLg0KPg0K PiBUQkgsIEknbSBzdGlsbCBzY2VwdGljYWwgdGhhdCB0aGlzIGlzIGFsbCB0 aGF0IGlzIG5lZWRlZC4gIEl0IHNlZW1zDQo+IHVubGlrZWx5IHRoYXQgd2Un dmUgYmVlbiBzbyBnb29kIGF0IHdyaXRpbmcgdmVjdG9yIHN1cHBvcnQgY29k ZSB0aGF0DQo+IHdlJ3ZlIG1hZGUgaXQgd29yayBmb3IgcHJlY2lzaW9uIDwg Yml0c2l6ZSwgZGVzcGl0ZSB0aGF0IGJlaW5nIGFuDQo+IHVuc3VwcG9ydGVk IGNvbWJpbmF0aW9uIHVudGlsIG5vdy4gIEJ1dCBJIGd1ZXNzIHdlIGNhbiBm aXggcHJvYmxlbXMNCj4gb24gYSBjYXNlLWJ5LWNhc2UgYmFzaXMuDQo+DQo+ IFRoYW5rcywNCj4gUmljaGFyZA0KPg0KPj4gICAgICAgICAgICAgICIgQklU U19QRVJfVU5JVCk7XG4iLCBtLT5uYW1lLCBtLT5uYW1lKTsNCj4+ICAgICAg ICBwcmludGYgKCIgICAgbW9kZV9udW5pdHNbRV8lc21vZGVdID0gcHM7XG4i LCBtLT5uYW1lKTsNCj4+ICAgICAgICBwcmludGYgKCIgICAgYWRqdXN0X21v ZGVfbWFzayAoRV8lc21vZGUpO1xuIiwgbS0+bmFtZSk7DQo+PiBAQCAtMTk2 Myw2ICsxOTczLDE5IEBAIGVtaXRfbW9kZV9hZGp1c3RtZW50cyAodm9pZCkN Cj4+ICAgICAgcHJpbnRmICgiXG4gIC8qICVzOiVkICovXG4gIFJFQUxfTU9E RV9GT1JNQVQgKEVfJXNtb2RlKSA9ICVzO1xuIiwNCj4+ICAgICAgICAgICAg YS0+ZmlsZSwgYS0+bGluZSwgYS0+bW9kZS0+bmFtZSwgYS0+YWRqdXN0bWVu dCk7DQo+Pg0KPj4gKyAgLyogQWRqdXN0IHByZWNpc2lvbiB0byB0aGUgYWN0 dWFsIGJpdHMgc2l6ZS4gICovDQo+PiArICBmb3IgKGEgPSBhZGpfcHJlY2lz aW9uOyBhOyBhID0gYS0+bmV4dCkNCj4+ICsgICAgc3dpdGNoIChhLT5tb2Rl LT5jbCkNCj4+ICsgICAgICB7DQo+PiArICAgICBjYXNlIE1PREVfVkVDVE9S X0JPT0w6DQo+PiArICAgICAgIHByaW50ZiAoIlxuICAvKiAlczolZC4gICov XG4gIHBzID0gJXM7XG4iLCBhLT5maWxlLCBhLT5saW5lLA0KPj4gKyAgICAg ICAgICAgICAgIGEtPmFkanVzdG1lbnQpOw0KPj4gKyAgICAgICBwcmludGYg KCIgIG1vZGVfcHJlY2lzaW9uW0VfJXNtb2RlXSA9IHBzO1xuIiwgYS0+bW9k ZS0+bmFtZSk7DQo+PiArICAgICAgIGJyZWFrOw0KPj4gKyAgICAgZGVmYXVs dDoNCj4+ICsgICAgICAgYnJlYWs7DQo+PiArICAgICAgfQ0KPj4gKw0KPj4g ICAgcHV0cyAoIn0iKTsNCj4+ICB9DQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0xLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMS5jDQo+ PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMDAwMDAu LmU3MDk2MGM1YjZkDQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMS5jDQo+PiBA QCAtMCwwICsxLDY4IEBADQo+PiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8N Cj4+ICsvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxw NjQgLU8zIiB9ICovDQo+PiArDQo+PiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rv ci5oIg0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sMV90aGVuX3Zi b29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qg b3V0KSB7DQo+PiArICAgIHZib29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47 DQo+PiArICAgIHZib29sMl90IHYyID0gKih2Ym9vbDJfdCopaW47DQo+PiAr DQo+PiArICAgICoodmJvb2wxX3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiAr ICAgICoodmJvb2wyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4g Kw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29sNChpbnQ4 X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ PiArICAgIHZib29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47DQo+PiArICAg IHZib29sNF90IHYyID0gKih2Ym9vbDRfdCopaW47DQo+PiArDQo+PiArICAg ICoodmJvb2wxX3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJv b2w0X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3Zv aWQNCj4+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29sOChpbnQ4X3QgKiByZXN0 cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZi b29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47DQo+PiArICAgIHZib29sOF90 IHYyID0gKih2Ym9vbDhfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2wx X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2w4X3QqKShv dXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0 ZXN0X3Zib29sMV90aGVuX3Zib29sMTYoaW50OF90ICogcmVzdHJpY3QgaW4s IGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDFfdCB2 MSA9ICoodmJvb2wxX3QqKWluOw0KPj4gKyAgICB2Ym9vbDE2X3QgdjIgPSAq KHZib29sMTZfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2wxX3QqKShv dXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wxNl90Kikob3V0ICsg MjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92 Ym9vbDFfdGhlbl92Ym9vbDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4 X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wxX3QgdjEgPSAq KHZib29sMV90KilpbjsNCj4+ICsgICAgdmJvb2wzMl90IHYyID0gKih2Ym9v bDMyX3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMV90Kikob3V0ICsg MTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDIwMCkg PSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wx X3RoZW5fdmJvb2w2NChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICog cmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sMV90IHYxID0gKih2Ym9v bDFfdCopaW47DQo+PiArICAgIHZib29sNjRfdCB2MiA9ICoodmJvb2w2NF90 KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDEwMCkg PSB2MTsNCj4+ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAyMDApID0gdjI7 DQo+PiArfQ0KPj4gKw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMq ZTgsXHMqbTgsXHMqdGEsXHMqbWF9IDYgfSB9ICovDQo+PiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1b MC05XSssXHMqemVybyxccyplOCxccyptNCxccyp0YSxccyptYX0gMSB9IH0g Ki8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0yLFxz KnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbTEsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjIsXHMqdGEsXHMqbWF9 IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxc cyptZjQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05 XSssXHMqemVybyxccyplOCxccyptZjgsXHMqdGEsXHMqbWF9IDEgfSB9ICov DQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDEyIH0gfSAq Lw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxOCB9IH0g Ki8NCj4+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcHIxMDgxODUtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3ByMTA4MTg1LTIuYw0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4+IGluZGV4IDAwMDAwMDAwMDAwLi5kY2M3YTY0NGE4OA0KPj4gLS0tIC9k ZXYvbnVsbA0KPj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3ByMTA4MTg1LTIuYw0KPj4gQEAgLTAsMCArMSw2OCBAQA0KPj4gKy8q IHsgZGctZG8gY29tcGlsZSB9ICovDQo+PiArLyogeyBkZy1vcHRpb25zICIt bWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1PMyIgfSAqLw0KPj4gKw0KPj4g KyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4+ICsNCj4+ICt2b2lkDQo+ PiArdGVzdF92Ym9vbDJfdGhlbl92Ym9vbDEoaW50OF90ICogcmVzdHJpY3Qg aW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDJf dCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPj4gKyAgICB2Ym9vbDFfdCB2MiA9 ICoodmJvb2wxX3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMl90Kiko b3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sMV90Kikob3V0ICsg MjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92 Ym9vbDJfdGhlbl92Ym9vbDQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhf dCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDJfdCB2MSA9ICoo dmJvb2wyX3QqKWluOw0KPj4gKyAgICB2Ym9vbDRfdCB2MiA9ICoodmJvb2w0 X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMTAw KSA9IHYxOw0KPj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMjAwKSA9IHYy Ow0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDJfdGhl bl92Ym9vbDgoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3Ry aWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3Qq KWluOw0KPj4gKyAgICB2Ym9vbDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0K Pj4gKw0KPj4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0K Pj4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30N Cj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDJfdGhlbl92Ym9vbDE2 KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQp IHsNCj4+ICsgICAgdmJvb2wyX3QgdjEgPSAqKHZib29sMl90KilpbjsNCj4+ ICsgICAgdmJvb2wxNl90IHYyID0gKih2Ym9vbDE2X3QqKWluOw0KPj4gKw0K Pj4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAg ICAqKHZib29sMTZfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiAr DQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wyX3RoZW5fdmJvb2wzMihpbnQ4 X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ PiArICAgIHZib29sMl90IHYxID0gKih2Ym9vbDJfdCopaW47DQo+PiArICAg IHZib29sMzJfdCB2MiA9ICoodmJvb2wzMl90KilpbjsNCj4+ICsNCj4+ICsg ICAgKih2Ym9vbDJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2 Ym9vbDMyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4g K3ZvaWQNCj4+ICt0ZXN0X3Zib29sMl90aGVuX3Zib29sNjQoaW50OF90ICog cmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAg ICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPj4gKyAgICB2Ym9v bDY0X3QgdjIgPSAqKHZib29sNjRfdCopaW47DQo+PiArDQo+PiArICAgICoo dmJvb2wyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2w2 NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytb YS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSA2 IH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMq bTIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSss XHMqemVybyxccyplOCxccyptMSxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxz Km1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMq ZTgsXHMqbWYyLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhd WzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0g fSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4 LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dmxtXC52XHMrdlswLTldKyxccyowXChb YS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwo W2EteF1bMC05XStcKX0gMTcgfSB9ICovDQo+PiBkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTMuYyBiL2dj Yy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0zLmMNCj4+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwMDAwMC4u M2FmMDUxM2UwMDYNCj4+IC0tLSAvZGV2L251bGwNCj4+ICsrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0zLmMNCj4+IEBA IC0wLDAgKzEsNjggQEANCj4+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0K Pj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2 NCAtTzMiIH0gKi8NCj4+ICsNCj4+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9y LmgiDQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJv b2wxKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBv dXQpIHsNCj4+ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29sNF90KilpbjsN Cj4+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZib29sMV90KilpbjsNCj4+ICsN Cj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsg ICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiAr DQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2wyKGludDhf dCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29sNF90KilpbjsNCj4+ICsgICAg dmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsNCj4+ICsNCj4+ICsgICAg Kih2Ym9vbDRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9v bDJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9p ZA0KPj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2w4KGludDhfdCAqIHJlc3Ry aWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJv b2w0X3QgdjEgPSAqKHZib29sNF90KilpbjsNCj4+ICsgICAgdmJvb2w4X3Qg djIgPSAqKHZib29sOF90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDRf dCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDhfdCopKG91 dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rl c3RfdmJvb2w0X3RoZW5fdmJvb2wxNihpbnQ4X3QgKiByZXN0cmljdCBpbiwg aW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sNF90IHYx ID0gKih2Ym9vbDRfdCopaW47DQo+PiArICAgIHZib29sMTZfdCB2MiA9ICoo dmJvb2wxNl90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDRfdCopKG91 dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAy MDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zi b29sNF90aGVuX3Zib29sMzIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhf dCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDRfdCB2MSA9ICoo dmJvb2w0X3QqKWluOw0KPj4gKyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29s MzJfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2w0X3QqKShvdXQgKyAx MDApID0gdjE7DQo+PiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMjAwKSA9 IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDRf dGhlbl92Ym9vbDY0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiBy ZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29s NF90KilpbjsNCj4+ICsgICAgdmJvb2w2NF90IHYyID0gKih2Ym9vbDY0X3Qq KWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMTAwKSA9 IHYxOw0KPj4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDIwMCkgPSB2MjsN Cj4+ICt9DQo+PiArDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccypl OCxccyptMixccyp0YSxccyptYX0gNiB9IH0gKi8NCj4+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVsw LTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTQsXHMq dGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptMSxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytb YS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mMixccyp0YSxccyptYX0g MSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km1mNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTld Kyxccyp6ZXJvLFxzKmU4LFxzKm1mOCxccyp0YSxccyptYX0gMSB9IH0gKi8N Cj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zs bVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIgfSB9ICov DQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c21cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDE2IH0gfSAq Lw0KPj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9wcjEwODE4NS00LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcHIxMDgxODUtNC5jDQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K Pj4gaW5kZXggMDAwMDAwMDAwMDAuLmVhM2MzNjBkNzU2DQo+PiAtLS0gL2Rl di9udWxsDQo+PiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcHIxMDgxODUtNC5jDQo+PiBAQCAtMCwwICsxLDY4IEBADQo+PiArLyog eyBkZy1kbyBjb21waWxlIH0gKi8NCj4+ICsvKiB7IGRnLW9wdGlvbnMgIi1t YXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICovDQo+PiArDQo+PiAr I2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPj4gKw0KPj4gK3ZvaWQNCj4+ ICt0ZXN0X3Zib29sOF90aGVuX3Zib29sMShpbnQ4X3QgKiByZXN0cmljdCBp biwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sOF90 IHYxID0gKih2Ym9vbDhfdCopaW47DQo+PiArICAgIHZib29sMV90IHYyID0g Kih2Ym9vbDFfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2w4X3QqKShv dXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wxX3QqKShvdXQgKyAy MDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zi b29sOF90aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90 ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sOF90IHYxID0gKih2 Ym9vbDhfdCopaW47DQo+PiArICAgIHZib29sMl90IHYyID0gKih2Ym9vbDJf dCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2w4X3QqKShvdXQgKyAxMDAp ID0gdjE7DQo+PiArICAgICoodmJvb2wyX3QqKShvdXQgKyAyMDApID0gdjI7 DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sOF90aGVu X3Zib29sNChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJp Y3Qgb3V0KSB7DQo+PiArICAgIHZib29sOF90IHYxID0gKih2Ym9vbDhfdCop aW47DQo+PiArICAgIHZib29sNF90IHYyID0gKih2Ym9vbDRfdCopaW47DQo+ PiArDQo+PiArICAgICoodmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ PiArICAgICoodmJvb2w0X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0K Pj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sOF90aGVuX3Zib29sMTYo aW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkg ew0KPj4gKyAgICB2Ym9vbDhfdCB2MSA9ICoodmJvb2w4X3QqKWluOw0KPj4g KyAgICB2Ym9vbDE2X3QgdjIgPSAqKHZib29sMTZfdCopaW47DQo+PiArDQo+ PiArICAgICoodmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAg ICoodmJvb2wxNl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsN Cj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDhfdGhlbl92Ym9vbDMyKGludDhf dCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ ICsgICAgdmJvb2w4X3QgdjEgPSAqKHZib29sOF90KilpbjsNCj4+ICsgICAg dmJvb2wzMl90IHYyID0gKih2Ym9vbDMyX3QqKWluOw0KPj4gKw0KPj4gKyAg ICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZi b29sMzJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiAr dm9pZA0KPj4gK3Rlc3RfdmJvb2w4X3RoZW5fdmJvb2w2NChpbnQ4X3QgKiBy ZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAg IHZib29sOF90IHYxID0gKih2Ym9vbDhfdCopaW47DQo+PiArICAgIHZib29s NjRfdCB2MiA9ICoodmJvb2w2NF90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2 Ym9vbDhfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDY0 X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1th LXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTEsXHMqdGEsXHMqbWF9IDYg fSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccypt Mixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxc cyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZs aVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTQsXHMqdGEsXHMq bWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccypl OCxccyptZjIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1b MC05XSssXHMqemVybyxccyplOCxccyptZjQsXHMqdGEsXHMqbWF9IDEgfSB9 ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjgs XHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFth LXhdWzAtOV0rXCl9IDEyIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlswLTldKyxccyowXChb YS14XVswLTldK1wpfSAxNSB9IH0gKi8NCj4+IGRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNS5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTUuYw0KPj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAwLi45 ZmM2NTlkMjQwMg0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTUuYw0KPj4gQEAg LTAsMCArMSw2OCBAQA0KPj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+ PiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0 IC1PMyIgfSAqLw0KPj4gKw0KPj4gKyNpbmNsdWRlICJyaXNjdl92ZWN0b3Iu aCINCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDE2X3RoZW5fdmJv b2wxKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBv dXQpIHsNCj4+ICsgICAgdmJvb2wxNl90IHYxID0gKih2Ym9vbDE2X3QqKWlu Ow0KPj4gKyAgICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPj4g Kw0KPj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+ PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wxNl90aGVuX3Zib29sMihp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+PiArICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wxNl90KilpbjsNCj4+ ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsNCj4+ICsNCj4+ ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAg ICoodmJvb2wyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0K Pj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sMTZfdGhlbl92Ym9vbDQoaW50OF90 ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4g KyAgICB2Ym9vbDE2X3QgdjEgPSAqKHZib29sMTZfdCopaW47DQo+PiArICAg IHZib29sNF90IHYyID0gKih2Ym9vbDRfdCopaW47DQo+PiArDQo+PiArICAg ICoodmJvb2wxNl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZi b29sNF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2 b2lkDQo+PiArdGVzdF92Ym9vbDE2X3RoZW5fdmJvb2w4KGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAg dmJvb2wxNl90IHYxID0gKih2Ym9vbDE2X3QqKWluOw0KPj4gKyAgICB2Ym9v bDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZi b29sMTZfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDhf dCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0K Pj4gK3Rlc3RfdmJvb2wxNl90aGVuX3Zib29sMzIoaW50OF90ICogcmVzdHJp Y3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9v bDE2X3QgdjEgPSAqKHZib29sMTZfdCopaW47DQo+PiArICAgIHZib29sMzJf dCB2MiA9ICoodmJvb2wzMl90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9v bDE2X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wzMl90 Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+ PiArdGVzdF92Ym9vbDE2X3RoZW5fdmJvb2w2NChpbnQ4X3QgKiByZXN0cmlj dCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29s MTZfdCB2MSA9ICoodmJvb2wxNl90KilpbjsNCj4+ICsgICAgdmJvb2w2NF90 IHYyID0gKih2Ym9vbDY0X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29s MTZfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDY0X3Qq KShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhd WzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWYyLFxzKnRhLFxzKm1hfSA2IH0g fSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTIs XHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMq emVybyxccyplOCxccyptOCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1h fSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgs XHMqbTEsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05 XSssXHMqemVybyxccyplOCxccyptZjQsXHMqdGEsXHMqbWF9IDEgfSB9ICov DQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjgsXHMq dGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhd WzAtOV0rXCl9IDEyIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlswLTldKyxccyowXChbYS14 XVswLTldK1wpfSAxNCB9IH0gKi8NCj4+IGRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNi5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTYuYw0KPj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAwLi45ODI3 NWU1MjY3ZA0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTYuYw0KPj4gQEAgLTAs MCArMSw2OCBAQA0KPj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+PiAr LyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1P MyIgfSAqLw0KPj4gKw0KPj4gKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCIN Cj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDMyX3RoZW5fdmJvb2wx KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQp IHsNCj4+ICsgICAgdmJvb2wzMl90IHYxID0gKih2Ym9vbDMyX3QqKWluOw0K Pj4gKyAgICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPj4gKw0K Pj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsg ICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiAr DQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wzMl90aGVuX3Zib29sMihpbnQ4 X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ PiArICAgIHZib29sMzJfdCB2MSA9ICoodmJvb2wzMl90KilpbjsNCj4+ICsg ICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsNCj4+ICsNCj4+ICsg ICAgKih2Ym9vbDMyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoo dmJvb2wyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4g K3ZvaWQNCj4+ICt0ZXN0X3Zib29sMzJfdGhlbl92Ym9vbDQoaW50OF90ICog cmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAg ICB2Ym9vbDMyX3QgdjEgPSAqKHZib29sMzJfdCopaW47DQo+PiArICAgIHZi b29sNF90IHYyID0gKih2Ym9vbDRfdCopaW47DQo+PiArDQo+PiArICAgICoo dmJvb2wzMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29s NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lk DQo+PiArdGVzdF92Ym9vbDMyX3RoZW5fdmJvb2w4KGludDhfdCAqIHJlc3Ry aWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJv b2wzMl90IHYxID0gKih2Ym9vbDMyX3QqKWluOw0KPj4gKyAgICB2Ym9vbDhf dCB2MiA9ICoodmJvb2w4X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29s MzJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDhfdCop KG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4g K3Rlc3RfdmJvb2wzMl90aGVuX3Zib29sMTYoaW50OF90ICogcmVzdHJpY3Qg aW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDMy X3QgdjEgPSAqKHZib29sMzJfdCopaW47DQo+PiArICAgIHZib29sMTZfdCB2 MiA9ICoodmJvb2wxNl90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDMy X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wxNl90Kiko b3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiAr dGVzdF92Ym9vbDMyX3RoZW5fdmJvb2w2NChpbnQ4X3QgKiByZXN0cmljdCBp biwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sMzJf dCB2MSA9ICoodmJvb2wzMl90KilpbjsNCj4+ICsgICAgdmJvb2w2NF90IHYy ID0gKih2Ym9vbDY0X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMzJf dCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDY0X3QqKShv dXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAt OV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSA2IH0gfSAq Lw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTgsXHMq dGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytb YS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0yLFxzKnRhLFxzKm1hfSAx IH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMq bTEsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSss XHMqemVybyxccyplOCxccyptZjIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjgsXHMqdGEs XHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAt OV0rXCl9IDEyIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlswLTldKyxccyowXChbYS14XVsw LTldK1wpfSAxMyB9IH0gKi8NCj4+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNy5jIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTcuYw0KPj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAwLi44ZjZmMGIx MWYwOQ0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTcuYw0KPj4gQEAgLTAsMCAr MSw2OCBAQA0KPj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+PiArLyog eyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1PMyIg fSAqLw0KPj4gKw0KPj4gKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4+ ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDY0X3RoZW5fdmJvb2wxKGlu dDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsN Cj4+ICsgICAgdmJvb2w2NF90IHYxID0gKih2Ym9vbDY0X3QqKWluOw0KPj4g KyAgICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPj4gKw0KPj4g KyAgICAqKHZib29sNjRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAg Kih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+ PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w2NF90aGVuX3Zib29sMihpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiAr ICAgIHZib29sNjRfdCB2MSA9ICoodmJvb2w2NF90KilpbjsNCj4+ICsgICAg dmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsNCj4+ICsNCj4+ICsgICAg Kih2Ym9vbDY0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJv b2wyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3Zv aWQNCj4+ICt0ZXN0X3Zib29sNjRfdGhlbl92Ym9vbDQoaW50OF90ICogcmVz dHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2 Ym9vbDY0X3QgdjEgPSAqKHZib29sNjRfdCopaW47DQo+PiArICAgIHZib29s NF90IHYyID0gKih2Ym9vbDRfdCopaW47DQo+PiArDQo+PiArICAgICoodmJv b2w2NF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sNF90 Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+ PiArdGVzdF92Ym9vbDY0X3RoZW5fdmJvb2w4KGludDhfdCAqIHJlc3RyaWN0 IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2w2 NF90IHYxID0gKih2Ym9vbDY0X3QqKWluOw0KPj4gKyAgICB2Ym9vbDhfdCB2 MiA9ICoodmJvb2w4X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sNjRf dCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDhfdCopKG91 dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rl c3RfdmJvb2w2NF90aGVuX3Zib29sMTYoaW50OF90ICogcmVzdHJpY3QgaW4s IGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDY0X3Qg djEgPSAqKHZib29sNjRfdCopaW47DQo+PiArICAgIHZib29sMTZfdCB2MiA9 ICoodmJvb2wxNl90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDY0X3Qq KShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wxNl90Kikob3V0 ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVz dF92Ym9vbDY0X3RoZW5fdmJvb2wzMihpbnQ4X3QgKiByZXN0cmljdCBpbiwg aW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sNjRfdCB2 MSA9ICoodmJvb2w2NF90KilpbjsNCj4+ICsgICAgdmJvb2wzMl90IHYyID0g Kih2Ym9vbDMyX3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sNjRfdCop KG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQg KyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0r LFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSA2IH0gfSAqLw0K Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTgsXHMqdGEs XHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxc cyplOCxccyptNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14 XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0yLFxzKnRhLFxzKm1hfSAxIH0g fSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTEs XHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMq emVybyxccyplOCxccyptZjIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiAr LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxp XHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjQsXHMqdGEsXHMq bWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0r XCl9IDEyIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTld K1wpfSAxMiB9IH0gKi8NCj4+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtOC5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTguYw0KPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAwLi5kOTY5NTlkZDA2 NA0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTguYw0KPj4gQEAgLTAsMCArMSw3 NyBAQA0KPj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+PiArLyogeyBk Zy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1PMyIgfSAq Lw0KPj4gKw0KPj4gKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4+ICsN Cj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDFfdGhlbl92Ym9vbDEoaW50OF90 ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4g KyAgICB2Ym9vbDFfdCB2MSA9ICoodmJvb2wxX3QqKWluOw0KPj4gKyAgICB2 Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPj4gKw0KPj4gKyAgICAq KHZib29sMV90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29s MV90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lk DQo+PiArdGVzdF92Ym9vbDJfdGhlbl92Ym9vbDIoaW50OF90ICogcmVzdHJp Y3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9v bDJfdCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPj4gKyAgICB2Ym9vbDJfdCB2 MiA9ICoodmJvb2wyX3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMl90 Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sMl90Kikob3V0 ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVz dF92Ym9vbDRfdGhlbl92Ym9vbDQoaW50OF90ICogcmVzdHJpY3QgaW4sIGlu dDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDRfdCB2MSA9 ICoodmJvb2w0X3QqKWluOw0KPj4gKyAgICB2Ym9vbDRfdCB2MiA9ICoodmJv b2w0X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sNF90Kikob3V0ICsg MTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMjAwKSA9 IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDhf dGhlbl92Ym9vbDgoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJl c3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDhfdCB2MSA9ICoodmJvb2w4 X3QqKWluOw0KPj4gKyAgICB2Ym9vbDhfdCB2MiA9ICoodmJvb2w4X3QqKWlu Ow0KPj4gKw0KPj4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9IHYx Ow0KPj4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4g K30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDE2X3RoZW5fdmJv b2wxNihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qg b3V0KSB7DQo+PiArICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wxNl90Kilp bjsNCj4+ICsgICAgdmJvb2wxNl90IHYyID0gKih2Ym9vbDE2X3QqKWluOw0K Pj4gKw0KPj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDEwMCkgPSB2MTsN Cj4+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiAr fQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sMzJfdGhlbl92Ym9v bDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBv dXQpIHsNCj4+ICsgICAgdmJvb2wzMl90IHYxID0gKih2Ym9vbDMyX3QqKWlu Ow0KPj4gKyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29sMzJfdCopaW47DQo+ PiArDQo+PiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMTAwKSA9IHYxOw0K Pj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9 DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w2NF90aGVuX3Zib29s NjQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91 dCkgew0KPj4gKyAgICB2Ym9vbDY0X3QgdjEgPSAqKHZib29sNjRfdCopaW47 DQo+PiArICAgIHZib29sNjRfdCB2MiA9ICoodmJvb2w2NF90KilpbjsNCj4+ ICsNCj4+ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30N Cj4+ICsNCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04 LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxz Knplcm8sXHMqZTgsXHMqbTQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiAr LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxp XHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMixccyp0YSxccypt YX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4 LFxzKm0xLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAt OV0rLFxzKnplcm8sXHMqZTgsXHMqbWYyLFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0LFxz KnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmxtXC52XHMr dlswLTldKyxccyowXChbYS14XVswLTldK1wpfSA3IH0gfSAqLw0KPj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMr dlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxNCB9IH0gKi8NCg== --_000_BYAPR04MB4824B9342456A1F67D34F1EDB7AC9BYAPR04MB4824namp_--