From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2043.outbound.protection.outlook.com [40.92.23.43]) by sourceware.org (Postfix) with ESMTPS id 5CCAA3851402 for ; Mon, 27 Feb 2023 15:13:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5CCAA3851402 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=EScviCOOxoU8J5nxyYLLGE0tO8WkQS+H/7b3OL+NNiV53tzJWJEqhvQVN/sH7wdop4iT8gNacc0kZ9/NTPdFT48GBjfJluFAE2JTfUlGYHICwgdVKuiCGNNdTuhwgAQJqDXF8i9zVaLnJ1r4u8kt/pnR5XRtRvTz4Na08COi70xG6Kq9UE5OBUYlDMnTf+73DZBsnIYOIbHzFZS1gpQO9z5Q+gI/XiSDGQnuuW5Dm+BIn+DVg7KvewJMB2mn4XTaz8R87jEwPoplfGZL/z5yoPcDKa80BzHBylU8vEcaufW8jTiGuCR+hScKzL5r86FxSEruEq9zXZ8dRYNIuhZcYw== 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=T76zv8ribNXWMefOVtTAEvXEsJIcc7Ivpm4LKw1gYE0=; b=EDrjxx0o2ocjtLo/Qsjb8E+advwdK/f7TeCYWrhSuKNjyyZCaiXlhRgq9UX1h3qLLDfGlmakZKk9XSjqoZy0S4UjDsTpr79/p1JBl8VAUYaBKjxtAP5pZRFtyu3/LOYV2dpIesOdyy9/7BQYesohgT6j4ZaG//X7Hh4WIFMwrGfiWb2jqIWpa+VUC/Yi4/IJCoIX+ycRol/stMAyuRSmGZDAjmIQIvRNc/iI78SmYQ4BB5FlDqOMeRhtB7kVWgynAKRraK8Jhmp+EDCBLtqcSlvbAMCPODE8/Hkm3TUDxLp0ReM1wWpnYb1Kgnk4mw0iQe7fq3w1PurKL6mg9gDJdg== 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=T76zv8ribNXWMefOVtTAEvXEsJIcc7Ivpm4LKw1gYE0=; b=DzuvLIpJGsriesn/G2Y4h9324Ih9CP9ryUuytFzp/n7uDgYZHHGP8vPiHEQGYiGvtdbq0x9TwD+B92yyFXAw5Uu80Xvtju7LOxRXgplwPxqxn5ajkGoFqZJHL5/Hur50ofbFsORjsu4rnbNev7y3NjWj5XM/GoWkYsiPawJkDANolp2fHRNWJdW1wX6plFUhStw5IhpAuXYfLVo+0wgNcL/lCR2hZSdscEjIgKemBFzfLvQ4ZAwIxqazblwarsimp+dh2aRkIsgLgNUtOlPR72niS4ZjywHg2QQJGHHBcABTTlQlSLUbadvIjsbnqoRqFdxml+kPIJRENNp8pF6jQA== Received: from BYAPR04MB4824.namprd04.prod.outlook.com (2603:10b6:a03:5e::19) by SN6PR04MB4190.namprd04.prod.outlook.com (2603:10b6:805:32::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.25; Mon, 27 Feb 2023 15:13:17 +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; Mon, 27 Feb 2023 15:13:16 +0000 From: =?ks_c_5601-1987?B?2vAg190=?= To: Richard Sandiford , incarnation.p.lee--- via Gcc-patches CC: "juzhe.zhong@rivai.ai" , "kito.cheng@sifive.com" , "rguenther@suse.de" , "pan2.li@intel.com" 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: AQHZQhkIVWcVdPVa8keSZeWQnyX4Ya7i6lphgAAJXTo= Date: Mon, 27 Feb 2023 15:13:16 +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: [YfcP0C74lOowQYpe+VAojzNBopZJNo6N] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR04MB4824:EE_|SN6PR04MB4190:EE_ x-ms-office365-filtering-correlation-id: 1c415286-2717-430e-9fc2-08db18d52729 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: peg2250iXBWIHlSc7Wvq+c5zQ+B62u06O06rwznRvlvuJeyUrIG2QCeLA7hrYCvkTXxZ5kR1R4iTruI5/BfckKOysCC3tVdRhDyMU9OipzpVnK7PLL0Gp7NiNQpeKZ3m6CNpff2hIpDqKN2XS/tg6qDB1a4ZE4EIWhmz4jQGBC6YPk9XrON2WEYbCUDgWj+a+hOoMlMovlEnjnyp25eSpxYO4Izbx70XJJ1R0Nm3WM2itQ2GHagq4oNf4UGz4nAx9LGC+KDdvzidF2dH2YNjEpmcib/xqAHqc/ahGDW3S2XX09/DeEC1MONHeGLPcinIZDiVcstu5qnaSQj+2DoTWgCBw5hERtbdgJ/HWLqwnpvHq23c4/baOvJS/s10XPfLItsnYxpMEMWicfzTtGoMt0ua1+QnwaCQu0rksX8ZNdm3u4c/gacczB+0kPacHWmAhfhHYzAG4KTVJDb/+v4694kUVU2hSeJVUUl+hCN5IrhBg80kiiH0ltA+ZI98nsEUCrBTX+8jhkYwimgmMqiYOfQ7Ck4Uz3g8unAMutBE1FrRYNphSP24vOK0AsguV2qYQ/o2rGZpFoVZovZysjQablez9xO7sUATzzdOSC/QNFY2vMByko/bFepiSUyy8e4cWzgefxsbIILmvTwvHLdOxA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?ks_c_5601-1987?B?enMzbFZValBlOFFIY3hLa3pWelByM2x6UUJTMndkVG14U0Frck1H?= =?ks_c_5601-1987?B?T1c4bi9EemdWQmlKNXBwTEJSMDF6QVdJUGdZNDhVclBGQjg2R05p?= =?ks_c_5601-1987?B?SWluZldES3BkT1FTcUY5ekxUd3hYd3NPWW9EYXRFd0ZwZWR3Qisr?= =?ks_c_5601-1987?B?MXRnOE85aWFtMVpPNkkvUk80ek9rWHA0VHBwWERsS1RRVFBnZmc0?= =?ks_c_5601-1987?B?M2VFMnNWK0EzWWNKNlVxdjY5VVFDcGlBS0EwUXV4SEh3MmhwTmRs?= =?ks_c_5601-1987?B?UmE2NEgvNElSM3V1c2dNT2hMTGVtU1hxcEExaDBzMG9HOEhCM1Vj?= =?ks_c_5601-1987?B?emo1ZE5UQXo4cUJVcW12NHJtc2d5bHczVFlINWdFanAxdEEwbkNS?= =?ks_c_5601-1987?B?YnNqcE1CVzI2cUZqSytsQUNSTDY2b0xjQm8vTEJFSGlBR3hXMWxD?= =?ks_c_5601-1987?B?RlBHQTZwZVZVSk9EU2FEM1J3SS9XeXJZS1lzWWp3WXFSZU1nWGtq?= =?ks_c_5601-1987?B?TS9wbHRVMDBoZkdzdnhEV2J2K0Vmb2JVRms3Q3pRSjRkNEFUNXZa?= =?ks_c_5601-1987?B?QWhHSkhKYkRpUEFNMjFQNEZnYkFuVU1PY21UdXFKMXh5MU81WHha?= =?ks_c_5601-1987?B?TUZlWmtkTTZiT1AzbENWVnQ1TERyUDhOVlorSVhkUEcvYnpvV2x5?= =?ks_c_5601-1987?B?eXY5NVBJbzluajRoaDJxc3BzSlg0U0w5Mk9TZytHNkJrSkNhdy9B?= =?ks_c_5601-1987?B?UVNXSDc3WSsrcFZzT2t3ODJsMEpHa042WW0zb2kxUU0wN3piRVZY?= =?ks_c_5601-1987?B?WTBVY3RVaU83Q01JZUZ5SFNIYWVMTDFYYU1jUncvQ1VQQVNoR05K?= =?ks_c_5601-1987?B?Z3haSUxHdHo4S3RtTk9rSDd4TnVnZ2NFSHdldlk2cm1raDFQMVds?= =?ks_c_5601-1987?B?ZnhjMTN2S3hRR2FUcHFiMDdsQjNTMWtyMmxHUEdnc2VWei9pWnJI?= =?ks_c_5601-1987?B?M3JWMUNxRExUK0VTUXovV0VodERJTytFeDZxWXY5bE1wR1ppdVZG?= =?ks_c_5601-1987?B?a3gwZ0czRHRaTUVOYzhzUTZHWHowSXZPck9BZzB3OUtuY2tuN2t4?= =?ks_c_5601-1987?B?MktXRXlRMHZGTlFTZzVxVzlBK1RtUWVKSWVqcFY0dHR3RGxHaUZy?= =?ks_c_5601-1987?B?Y1hNSi9kUzFLcFdnR0hROXExaC9NeTBzeGcvOHFnWGgwMDZzMHdO?= =?ks_c_5601-1987?B?bzZ3Vi93WEdaNUxyemxkcS8zRjdSa1A3ZGNGbDlYL01iczQ5TVhl?= =?ks_c_5601-1987?B?eTVUNG1OQjRld29KdjJ6OWYvOEZsTmRUQk5lb2FhbXZBNXl4anFI?= =?ks_c_5601-1987?B?bHE5YzI1YlhBK1FxeWhDZEhBTk1nZUlLUDVuSFRNWWxjL2xYUVBh?= =?ks_c_5601-1987?B?MXMrR0R6UDNIa3FDUmVSaVZXbjRKelNCVjNiYitZS2RMZzJUUFpZ?= =?ks_c_5601-1987?B?eGEzSHRsSml5bHZrNk1WQXIwVk8zcDFscTdYSjBUM3JGcUxyejNJ?= =?ks_c_5601-1987?B?WDdLcjlSd1pRUVVGa2hnRnlsU1kwN3RKZEhKeGtleXBGblNaRk5S?= =?ks_c_5601-1987?B?UlAwejg3a00yblBtdlFucVdOK3FrdjhvQy9NeDNLR2IwWC9zWkpm?= =?ks_c_5601-1987?B?MTdrQmZsazdSNG1WL1RMOGcwZk5wNy9TVzJNbWFNZU0xd29YSjkr?= =?ks_c_5601-1987?B?Q3BxaG5OK240dW55RS8rLytNNGtCa0tMTE83Q3RHR25Fc1k3c2hH?= =?ks_c_5601-1987?B?R3RDSWJ1T1R1T2lIWGprQ0JYOWxQMW43cmQ4RUljSEJ1eWFCOUFl?= =?ks_c_5601-1987?B?cG5hbXFSb0RXa1c1QmJYTXVrRVp0L3MwTGFBTmg3OVh2dHA4a09P?= =?ks_c_5601-1987?B?RW9CV0xOT0lDM0Qxd0lac2tVdzJ5RG9lQXVwSVRhaEp1bkhUU2Yr?= =?ks_c_5601-1987?B?MzNma3ZzVFlJQXVZdkh3PT0=?= Content-Type: multipart/alternative; boundary="_000_BYAPR04MB48244794D1BF33A7F44DF8ADB7AF9BYAPR04MB4824namp_" 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: 1c415286-2717-430e-9fc2-08db18d52729 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2023 15:13:16.7040 (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: SN6PR04MB4190 X-Spam-Status: No, score=-3.3 required=5.0 tests=BAYES_00,CHARSET_FARAWAY_HEADER,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,HTML_MESSAGE,KAM_SHORT,MIME_CHARSET_FARAWAY,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_BYAPR04MB48244794D1BF33A7F44DF8ADB7AF9BYAPR04MB4824namp_ Content-Type: text/plain; charset="ks_c_5601-1987" Content-Transfer-Encoding: base64 TmV2ZXIgbWluZCwgd2lzaCB5b3UgaGF2ZSBhIGdvb2QgaG9saWRheS4NCg0K VGhhbmtzIGZvciBwb2ludGluZyB0aGlzIG91dCwgdGhlIGlmIHBhcnQgY2Fu bm90IHRha2UgY2FyZSBvZiBwb2x5X2ludCB3aXRoIE4gPiAyLiBBcyBJIHVu ZGVyc3RhbmQsIHdlIG5lZWQgdG8gbWFrZSBpdCBnZW5lcmFsIGZvciBhbGwg dGhlIE4gb2YgcG9seV9pbnQuDQoNClRodXMgSSB3b3VsZCBsaWtlIHRvIGRv dWJsZSBjb25maXJtIHdpdGggeW91IGFib3V0IGhvdyB0byBtYWtlIGl0IGdl bmVyYWwuIEkgc3VwcG9zZSB0aGVyZSB3aWxsIGJlIGEgbmV3IGZ1bmN0aW9u IGNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCB0byByZXBsYWNlIHRoZSBpZiAo a25vd25fbHQoLCkpIHBhcnQgaW4gZ2VubW9kZXMuY2MsIGFuZCBsZWF2ZSBl eGFjdF9kaXYgdW5jaGFuZ2VkKGNvbnNpZGVyIHRoZSB3b3JkIGV4YWN0LCBJ IHN1cHBvc2Ugd2Ugc2hvdWxkIG5vdCB0b3VjaCBoZXJlKSwgcmlnaHQ/IFRo ZW4gd2Ugc3RpbGwgbmVlZCBvbmUgcG9seV9pbnQgd2l0aCBhbGwgMSBmb3Ig TiBhcyB0aGUgcmV0dXJuIGlmIGNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCBp cyB0cnVlLg0KDQpUaGFua3MgYWdhaW4gZm9yIHlvdXIgcHJvZmVzc2lvbmFs IHN1Z2dlc3Rpb24sIGhhdmUgYSBuaWNlIGRheSwgPz8hDQoNClBhbg0KX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkZyb206IFJpY2hhcmQg U2FuZGlmb3JkIDxyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tPg0KU2VudDog TW9uZGF5LCBGZWJydWFyeSAyNywgMjAyMyAyMjoyNA0KVG86IGluY2FybmF0 aW9uLnAubGVlLS0tIHZpYSBHY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNAZ2Nj LmdudS5vcmc+DQpDYzogaW5jYXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb20g PGluY2FybmF0aW9uLnAubGVlQG91dGxvb2suY29tPjsganV6aGUuemhvbmdA cml2YWkuYWkgPGp1emhlLnpob25nQHJpdmFpLmFpPjsga2l0by5jaGVuZ0Bz aWZpdmUuY29tIDxraXRvLmNoZW5nQHNpZml2ZS5jb20+OyByZ3VlbnRoZXJA c3VzZS5kZSA8cmd1ZW50aGVyQHN1c2UuZGU+OyBwYW4yLmxpQGludGVsLmNv bSA8cGFuMi5saUBpbnRlbC5jb20+DQpTdWJqZWN0OiBSZTogW1BBVENIXSBS SVNDLVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJvb2wgbW9kZSBwcmVjaXNpb24gYWRq dXN0bWVudA0KDQpTb3JyeSBmb3IgdGhlIHNsb3cgcmVwbHksIGJlZW4gYXdh eSBmb3IgYSBjb3VwbGUgb2Ygd2Vla3MuDQoNCiJpbmNhcm5hdGlvbi5wLmxl ZS0tLSB2aWEgR2NjLXBhdGNoZXMiIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9y Zz4gd3JpdGVzOg0KPiBGcm9tOiBQYW4gTGkgPHBhbjIubGlAaW50ZWwuY29t Pg0KPg0KPiAgICAgICAgRml4IHRoZSBidWcgb2YgdGhlIHJ2diBib29sIG1v ZGUgcHJlY2lzaW9uIHdpdGggdGhlIGFkanVzdG1lbnQuDQo+ICAgICAgICBU aGUgYml0cyBzaXplIG9mIHZib29sKl90IHdpbGwgYmUgYWRqdXN0ZWQgdG8N Cj4gICAgICAgIFsxLCAyLCA0LCA4LCAxNiwgMzIsIDY0XSBhY2NvcmRpbmcg dG8gdGhlIHJ2diBzcGVjIDEuMCBpc2EuIFRoZQ0KPiAgICAgICAgYWRqdXN0 ZWQgbW9kZSBwcmVjaXNvbiBvZiB2Ym9vbCpfdCB3aWxsIGhlbHAgdW5kZXJs eWluZyBwYXNzIHRvDQo+ICAgICAgICBtYWtlIHRoZSByaWdodCBkZWNpc2lv biBmb3IgYm90aCB0aGUgY29ycmVjdG5lc3MgYW5kIG9wdGltaXphdGlvbi4N Cj4NCj4gICAgICAgIEdpdmVuIGJlbG93IHNhbXBsZSBjb2RlOg0KPiAgICAg ICAgdm9pZCB0ZXN0XzEoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAq IHJlc3RyaWN0IG91dCkNCj4gICAgICAgIHsNCj4gICAgICAgICAgdmJvb2w4 X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4gICAgICAgICAgdmJvb2wxNl90 IHY1ID0gKih2Ym9vbDE2X3QqKWluOw0KPiAgICAgICAgICAqKHZib29sMTZf dCopKG91dCArIDIwMCkgPSB2NTsNCj4gICAgICAgICAgKih2Ym9vbDhfdCop KG91dCArIDEwMCkgPSB2MjsNCj4gICAgICAgIH0NCj4NCj4gICAgICAgIEJl Zm9yZSB0aGUgcHJlY2lzaW9uIGFkanVzdG1lbnQ6DQo+ICAgICAgICBhZGRp ICAgIGE0LGExLDEwMA0KPiAgICAgICAgdnNldHZsaSBhNSx6ZXJvLGU4LG0x LHRhLG1hDQo+ICAgICAgICBhZGRpICAgIGExLGExLDIwMA0KPiAgICAgICAg dmxtLnYgICB2MjQsMChhMCkNCj4gICAgICAgIHZzbS52ICAgdjI0LDAoYTQp DQo+ICAgICAgICAvLyBOZWVkIG9uZSB2c2V0dmxpIGFuZCB2bG0udiBmb3Ig Y29ycmVjdG5lc3MgaGVyZS4NCj4gICAgICAgIHZzbS52ICAgdjI0LDAoYTEp DQo+DQo+ICAgICAgICBBZnRlciB0aGUgcHJlY2lzaW9uIGFkanVzdG1lbnQ6 DQo+ICAgICAgICBjc3JyICAgIHQwLHZsZW5iDQo+ICAgICAgICBzbGxpICAg IHQxLHQwLDENCj4gICAgICAgIGNzcnIgICAgYTMsdmxlbmINCj4gICAgICAg IHN1YiAgICAgc3Asc3AsdDENCj4gICAgICAgIHNsbGkgICAgYTQsYTMsMQ0K PiAgICAgICAgYWRkICAgICBhNCxhNCxzcA0KPiAgICAgICAgc3ViICAgICBh MyxhNCxhMw0KPiAgICAgICAgdnNldHZsaSBhNSx6ZXJvLGU4LG0xLHRhLG1h DQo+ICAgICAgICBhZGRpICAgIGEyLGExLDIwMA0KPiAgICAgICAgdmxtLnYg ICB2MjQsMChhMCkNCj4gICAgICAgIHZzbS52ICAgdjI0LDAoYTMpDQo+ICAg ICAgICBhZGRpICAgIGExLGExLDEwMA0KPiAgICAgICAgdnNldHZsaSBhNCx6 ZXJvLGU4LG1mMix0YSxtYQ0KPiAgICAgICAgY3NyciAgICB0MCx2bGVuYg0K PiAgICAgICAgdmxtLnYgICB2MjUsMChhMykNCj4gICAgICAgIHZzbS52ICAg djI1LDAoYTIpDQo+ICAgICAgICBzbGxpICAgIHQxLHQwLDENCj4gICAgICAg IHZzZXR2bGkgYTUsemVybyxlOCxtMSx0YSxtYQ0KPiAgICAgICAgdnNtLnYg ICB2MjQsMChhMSkNCj4gICAgICAgIGFkZCAgICAgc3Asc3AsdDENCj4gICAg ICAgIGpyICAgICAgcmENCj4NCj4gICAgICAgIEhvd2V2ZXIsIHRoZXJlIG1h eSBiZSBzb21lIG9wdGltaXphdGlvbiBvcHBvcnR1bmF0ZXMgYWZ0ZXINCj4g ICAgICAgIHRoZSBtb2RlIHByZWNpc2lvbiBhZGp1c3RtZW50LiBJdCBjYW4g YmUgdG9rZW4gY2FyZSBvZiBpbg0KPiAgICAgICAgdGhlIFJJU0MtViBiYWNr ZW5kIGluIHRoZSB1bmRlcmx5aW5nIHNlcGFydGVkIFBSKHMpLg0KPg0KPiAg ICAgICAgUFIgMTA4MTg1DQo+ICAgICAgICBQUiAxMDg2NTQNCj4NCj4gZ2Nj L0NoYW5nZUxvZzoNCj4NCj4gICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2 LW1vZGVzLmRlZiAoQURKVVNUX1BSRUNJU0lPTik6DQo+ICAgICAgICAqIGNv bmZpZy9yaXNjdi9yaXNjdi5jYyAocmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9u KToNCj4gICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2LmggKHJpc2N2X3Zf YWRqdXN0X3ByZWNpc2lvbik6DQo+ICAgICAgICAqIGdlbm1vZGVzLmNjIChB REpVU1RfUFJFQ0lTSU9OKToNCj4gICAgICAgIChlbWl0X21vZGVfYWRqdXN0 bWVudHMpOg0KPg0KPiBnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoNCj4NCj4g ICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0xLmM6IE5ldyB0 ZXN0Lg0KPiAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTIu YzogTmV3IHRlc3QuDQo+ICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcHIx MDgxODUtMy5jOiBOZXcgdGVzdC4NCj4gICAgICAgICogZ2NjLnRhcmdldC9y aXNjdi9wcjEwODE4NS00LmM6IE5ldyB0ZXN0Lg0KPiAgICAgICAgKiBnY2Mu dGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTUuYzogTmV3IHRlc3QuDQo+ICAgICAg ICAqIGdjYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNi5jOiBOZXcgdGVzdC4N Cj4gICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS03LmM6IE5l dyB0ZXN0Lg0KPiAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1 LTguYzogTmV3IHRlc3QuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IFBhbiBMaSA8 cGFuMi5saUBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi1tb2Rlcy5kZWYgICAgICAgICAgICB8ICA4ICsrKw0KPiAgZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi5jYyAgICAgICAgICAgICAgICAgICB8IDEy ICsrKysNCj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3YuaCAgICAgICAgICAg ICAgICAgICAgfCAgMSArDQo+ICBnY2MvZ2VubW9kZXMuY2MgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgMjUgKysrKysrLQ0KPiAgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTEuYyB8IDY4ICsrKysr KysrKysrKysrKysrKw0KPiAgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3ByMTA4MTg1LTIuYyB8IDY4ICsrKysrKysrKysrKysrKysrKw0KPiAg Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTMuYyB8 IDY4ICsrKysrKysrKysrKysrKysrKw0KPiAgZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTQuYyB8IDY4ICsrKysrKysrKysrKysr KysrKw0KPiAgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4 MTg1LTUuYyB8IDY4ICsrKysrKysrKysrKysrKysrKw0KPiAgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTYuYyB8IDY4ICsrKysr KysrKysrKysrKysrKw0KPiAgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jp c2N2L3ByMTA4MTg1LTcuYyB8IDY4ICsrKysrKysrKysrKysrKysrKw0KPiAg Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTguYyB8 IDc3ICsrKysrKysrKysrKysrKysrKysrKw0KPiAgMTIgZmlsZXMgY2hhbmdl ZCwgNTk4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtMS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTIuYw0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9w cjEwODE4NS0zLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNC5jDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3By MTA4MTg1LTUuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS02LmMNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIx MDgxODUtNy5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTguYw0KPg0KPiBkaWZmIC0t Z2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1tb2Rlcy5kZWYgYi9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LW1vZGVzLmRlZg0KPiBpbmRleCBkNTMwNWVm YThhNi4uMTEwYmRkY2U4NTEgMTAwNjQ0DQo+IC0tLSBhL2djYy9jb25maWcv cmlzY3YvcmlzY3YtbW9kZXMuZGVmDQo+ICsrKyBiL2djYy9jb25maWcvcmlz Y3YvcmlzY3YtbW9kZXMuZGVmDQo+IEBAIC03Miw2ICs3MiwxNCBAQCBBREpV U1RfQllURVNJWkUgKFZOeDE2QkksIHJpc2N2X3ZlY3Rvcl9jaHVua3MgKiBy aXNjdl9ieXRlc19wZXJfdmVjdG9yX2NodW5rKTsNCj4gIEFESlVTVF9CWVRF U0laRSAoVk54MzJCSSwgcmlzY3ZfdmVjdG9yX2NodW5rcyAqIHJpc2N2X2J5 dGVzX3Blcl92ZWN0b3JfY2h1bmspOw0KPiAgQURKVVNUX0JZVEVTSVpFIChW Tng2NEJJLCByaXNjdl92X2FkanVzdF9udW5pdHMgKFZOeDY0Qkltb2RlLCA4 KSk7DQo+DQo+ICtBREpVU1RfUFJFQ0lTSU9OIChWTngxQkksIHJpc2N2X3Zf YWRqdXN0X3ByZWNpc2lvbiAoVk54MUJJbW9kZSwgMSkpOw0KPiArQURKVVNU X1BSRUNJU0lPTiAoVk54MkJJLCByaXNjdl92X2FkanVzdF9wcmVjaXNpb24g KFZOeDJCSW1vZGUsIDIpKTsNCj4gK0FESlVTVF9QUkVDSVNJT04gKFZOeDRC SSwgcmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9uIChWTng0Qkltb2RlLCA0KSk7 DQo+ICtBREpVU1RfUFJFQ0lTSU9OIChWTng4QkksIHJpc2N2X3ZfYWRqdXN0 X3ByZWNpc2lvbiAoVk54OEJJbW9kZSwgOCkpOw0KPiArQURKVVNUX1BSRUNJ U0lPTiAoVk54MTZCSSwgcmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9uIChWTngx NkJJbW9kZSwgMTYpKTsNCj4gK0FESlVTVF9QUkVDSVNJT04gKFZOeDMyQkks IHJpc2N2X3ZfYWRqdXN0X3ByZWNpc2lvbiAoVk54MzJCSW1vZGUsIDMyKSk7 DQo+ICtBREpVU1RfUFJFQ0lTSU9OIChWTng2NEJJLCByaXNjdl92X2FkanVz dF9wcmVjaXNpb24gKFZOeDY0Qkltb2RlLCA2NCkpOw0KPiArDQo+ICAvKg0K PiAgICAgfCBNb2RlICAgICAgICB8IE1JTl9WTEVOPTMyIHwgTUlOX1ZMRU49 MzIgfCBNSU5fVkxFTj02NCB8IE1JTl9WTEVOPTY0IHwNCj4gICAgIHwgICAg ICAgICAgICAgfCBMTVVMICAgICAgICB8IFNFVy9MTVVMICAgIHwgTE1VTCAg ICAgICAgfCBTRVcvTE1VTCAgICB8DQo+IGRpZmYgLS1naXQgYS9nY2MvY29u ZmlnL3Jpc2N2L3Jpc2N2LmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5j Yw0KPiBpbmRleCBkZTNlMWY5MDNjNy4uY2JlNjZjMGUzNWIgMTAwNjQ0DQo+ IC0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MNCj4gKysrIGIvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi5jYw0KPiBAQCAtMTAwMyw2ICsxMDAzLDE4 IEBAIHJpc2N2X3ZfYWRqdXN0X251bml0cyAobWFjaGluZV9tb2RlIG1vZGUs IGludCBzY2FsZSkNCj4gICAgcmV0dXJuIHNjYWxlOw0KPiAgfQ0KPg0KPiAr LyogQ2FsbCBmcm9tIEFESlVTVF9QUkVDSVNJT04gaW4gcmlzY3YtbW9kZXMu ZGVmLiAgUmV0dXJuIHRoZSBjb3JyZWN0DQo+ICsgICBQUkVDSVNJT04gc2l6 ZSBmb3IgY29ycmVzcG9uZGluZyBtYWNoaW5lX21vZGUuICAqLw0KPiArDQo+ ICtwb2x5X2ludDY0DQo+ICtyaXNjdl92X2FkanVzdF9wcmVjaXNpb24gKG1h Y2hpbmVfbW9kZSBtb2RlLCBpbnQgc2NhbGUpDQo+ICt7DQo+ICsgIGlmIChy aXNjdl92X2V4dF92ZWN0b3JfbW9kZV9wIChtb2RlKSkNCj4gKyAgICByZXR1 cm4gcmlzY3ZfdmVjdG9yX2NodW5rcyAqIHNjYWxlOw0KPiArDQo+ICsgIHJl dHVybiBzY2FsZTsNCj4gK30NCj4gKw0KPiAgLyogUmV0dXJuIHRydWUgaWYg WCBpcyBhIHZhbGlkIGFkZHJlc3MgZm9yIG1hY2hpbmUgbW9kZSBNT0RFLiAg SWYgaXQgaXMsDQo+ICAgICBmaWxsIGluIElORk8gYXBwcm9wcmlhdGVseS4g IFNUUklDVF9QIGlzIHRydWUgaWYgUkVHX09LX1NUUklDVCBpcyBpbg0KPiAg ICAgZWZmZWN0LiAgKi8NCj4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlz Y3YvcmlzY3YuaCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuaA0KPiBpbmRl eCA1YmM3ZjJmNDY3ZC4uMTViOTMxN2E4Y2UgMTAwNjQ0DQo+IC0tLSBhL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YuaA0KPiArKysgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LmgNCj4gQEAgLTEwMjUsNiArMTAyNSw3IEBAIGV4dGVybiB1 bnNpZ25lZCByaXNjdl9zdGFja19ib3VuZGFyeTsNCj4gIGV4dGVybiB1bnNp Z25lZCByaXNjdl9ieXRlc19wZXJfdmVjdG9yX2NodW5rOw0KPiAgZXh0ZXJu IHBvbHlfdWludDE2IHJpc2N2X3ZlY3Rvcl9jaHVua3M7DQo+ICBleHRlcm4g cG9seV9pbnQ2NCByaXNjdl92X2FkanVzdF9udW5pdHMgKGVudW0gbWFjaGlu ZV9tb2RlLCBpbnQpOw0KPiArZXh0ZXJuIHBvbHlfaW50NjQgcmlzY3Zfdl9h ZGp1c3RfcHJlY2lzaW9uIChlbnVtIG1hY2hpbmVfbW9kZSwgaW50KTsNCj4g IC8qIFRoZSBudW1iZXIgb2YgYml0cyBhbmQgYnl0ZXMgaW4gYSBSVlYgdmVj dG9yLiAgKi8NCj4gICNkZWZpbmUgQklUU19QRVJfUklTQ1ZfVkVDVE9SIChw b2x5X3VpbnQxNiAocmlzY3ZfdmVjdG9yX2NodW5rcyAqIHJpc2N2X2J5dGVz X3Blcl92ZWN0b3JfY2h1bmsgKiA4KSkNCj4gICNkZWZpbmUgQllURVNfUEVS X1JJU0NWX1ZFQ1RPUiAocG9seV91aW50MTYgKHJpc2N2X3ZlY3Rvcl9jaHVu a3MgKiByaXNjdl9ieXRlc19wZXJfdmVjdG9yX2NodW5rKSkNCj4gZGlmZiAt LWdpdCBhL2djYy9nZW5tb2Rlcy5jYyBiL2djYy9nZW5tb2Rlcy5jYw0KPiBp bmRleCAyZDQxOGYwOWFhYi4uMTJmNGU2MzM1ZTYgMTAwNjQ0DQo+IC0tLSBh L2djYy9nZW5tb2Rlcy5jYw0KPiArKysgYi9nY2MvZ2VubW9kZXMuY2MNCj4g QEAgLTExNCw2ICsxMTQsNyBAQCBzdGF0aWMgc3RydWN0IG1vZGVfYWRqdXN0 ICphZGpfYWxpZ25tZW50Ow0KPiAgc3RhdGljIHN0cnVjdCBtb2RlX2FkanVz dCAqYWRqX2Zvcm1hdDsNCj4gIHN0YXRpYyBzdHJ1Y3QgbW9kZV9hZGp1c3Qg KmFkal9pYml0Ow0KPiAgc3RhdGljIHN0cnVjdCBtb2RlX2FkanVzdCAqYWRq X2ZiaXQ7DQo+ICtzdGF0aWMgc3RydWN0IG1vZGVfYWRqdXN0ICphZGpfcHJl Y2lzaW9uOw0KPg0KPiAgLyogTW9kZSBjbGFzcyBvcGVyYXRpb25zLiAgKi8N Cj4gIHN0YXRpYyBlbnVtIG1vZGVfY2xhc3MNCj4gQEAgLTgxOSw2ICs4MjAs NyBAQCBtYWtlX3ZlY3Rvcl9tb2RlIChlbnVtIG1vZGVfY2xhc3MgYmNsYXNz LA0KPiAgI2RlZmluZSBBREpVU1RfTlVOSVRTKE0sIFgpICAgIF9BRERfQURK VVNUIChudW5pdHMsIE0sIFgsIFJBTkRPTSwgUkFORE9NKQ0KPiAgI2RlZmlu ZSBBREpVU1RfQllURVNJWkUoTSwgWCkgIF9BRERfQURKVVNUIChieXRlc2l6 ZSwgTSwgWCwgUkFORE9NLCBSQU5ET00pDQo+ICAjZGVmaW5lIEFESlVTVF9B TElHTk1FTlQoTSwgWCkgX0FERF9BREpVU1QgKGFsaWdubWVudCwgTSwgWCwg UkFORE9NLCBSQU5ET00pDQo+ICsjZGVmaW5lIEFESlVTVF9QUkVDSVNJT04o TSwgWCkgX0FERF9BREpVU1QgKHByZWNpc2lvbiwgTSwgWCwgUkFORE9NLCBS QU5ET00pDQo+ICAjZGVmaW5lIEFESlVTVF9GTE9BVF9GT1JNQVQoTSwgWCkg ICAgX0FERF9BREpVU1QgKGZvcm1hdCwgTSwgWCwgRkxPQVQsIEZMT0FUKQ0K PiAgI2RlZmluZSBBREpVU1RfSUJJVChNLCBYKSAgX0FERF9BREpVU1QgKGli aXQsIE0sIFgsIEFDQ1VNLCBVQUNDVU0pDQo+ICAjZGVmaW5lIEFESlVTVF9G QklUKE0sIFgpICBfQUREX0FESlVTVCAoZmJpdCwgTSwgWCwgRlJBQ1QsIFVB Q0NVTSkNCj4gQEAgLTE4MjksNyArMTgzMSwxNSBAQCBlbWl0X21vZGVfYWRq dXN0bWVudHMgKHZvaWQpDQo+ICAgICAgICAgICAgICAiIChtb2RlX3ByZWNp c2lvbltFXyVzbW9kZV0sIG1vZGVfbnVuaXRzW0VfJXNtb2RlXSk7XG4iLA0K PiAgICAgICAgICAgICAgbS0+bmFtZSwgbS0+bmFtZSk7DQo+ICAgICAgICBw cmludGYgKCIgICAgbW9kZV9wcmVjaXNpb25bRV8lc21vZGVdID0gcHMgKiBv bGRfZmFjdG9yO1xuIiwgbS0+bmFtZSk7DQo+IC0gICAgICBwcmludGYgKCIg ICAgbW9kZV9zaXplW0VfJXNtb2RlXSA9IGV4YWN0X2RpdiAobW9kZV9wcmVj aXNpb25bRV8lc21vZGVdLCINCj4gKyAgICAgIC8qIE5vcm1hbGl6ZSB0aGUg c2l6ZSB0byAxIGlmIHByZWNpc29uIGlzIGxlc3MgdGhhbiBCSVRTX1BFUl9V TklULiAgKi8NCj4gKyAgICAgIHByaW50ZiAoIiAgICBwb2x5X3VpbnQxNiBz aXplX29uZSA9ICINCj4gKyAgICAgICAgICAgIm1vZGVfcHJlY2lzaW9uW0Vf JXNtb2RlXS5pc19jb25zdGFudCAoKVxuIiwgbS0+bmFtZSk7DQo+ICsgICAg ICBwcmludGYgKCIgICAgICA/IHBvbHlfdWludDE2ICgxLCAwKSA6IHBvbHlf dWludDE2ICgxLCAxKTtcbiIpOw0KDQpIYXZlIHlvdSB0cmllZCB0aGlzIG9u IGFuIHg4Nl82NCBzeXN0ZW0/ICBJIHdvdWxkbid0IGV4cGVjdCBpdCB0byB3 b3JrDQpiZWNhdXNlIG9mIHRoZToNCg0KICBTVEFUSUNfQVNTRVJUIChOID49 IDIpOw0KDQppbiB0aGUgcG9seV91aW50MTYgY29uc3RydWN0b3IuDQoNCj4g KyAgICAgIHByaW50ZiAoIiAgICBpZiAoa25vd25fbHQgKG1vZGVfcHJlY2lz aW9uW0VfJXNtb2RlXSwgIg0KPiArICAgICAgICAgICAic2l6ZV9vbmUgKiBC SVRTX1BFUl9VTklUKSlcbiIsIG0tPm5hbWUpOw0KPiArICAgICAgcHJpbnRm ICgiICAgICAgbW9kZV9zaXplW0VfJXNtb2RlXSA9IHNpemVfb25lO1xuIiwg bS0+bmFtZSk7DQo+ICsgICAgICBwcmludGYgKCIgICAgZWxzZVxuIik7DQo+ ICsgICAgICBwcmludGYgKCIgICAgICBtb2RlX3NpemVbRV8lc21vZGVdID0g ZXhhY3RfZGl2IChtb2RlX3ByZWNpc2lvbltFXyVzbW9kZV0sIg0KDQpOb3cg dGhhdCB0aGUgYXNzZXJ0IGltcGxpY2l0IGluIHRoZSBvcmlnaW5hbCBleGFj dF9kaXYgbm8gbG9uZ2VyIGhvbGRzLA0KSSB0aGluayB3ZSBzaG91bGQgaW5z dGVhZCBnZW5lcmFsaXNlIGl0IHRvIGNhbl9kaXZfYXdheV9mcm9tX3plcm9f cA0KKHdoaWNoIHdpbGwgaW52b2x2ZSBkZWZpbmluZyBhIG5ldyBvdmVybG9h ZCBvZiBjYW5fZGl2X2F3YXlfZnJvbV96ZXJvX3ApLg0KSSB0aGluayB0aGF0 IHdpbGwgZ2l2ZSB0aGUgc2FtZSByZXN1bHQgYXMgdGhlIGNvZGUgYWJvdmUg Zm9yIHRoZSBjYXNlcw0KdGhhdCB0aGUgY29kZSBhYm92ZSBoYW5kbGVzLiAg QnV0IGl0IHNob3VsZCBiZSBtb3JlIGdlbmVyYWwgdG9vLg0KDQpUQkgsIEkn bSBzdGlsbCBzY2VwdGljYWwgdGhhdCB0aGlzIGlzIGFsbCB0aGF0IGlzIG5l ZWRlZC4gIEl0IHNlZW1zDQp1bmxpa2VseSB0aGF0IHdlJ3ZlIGJlZW4gc28g Z29vZCBhdCB3cml0aW5nIHZlY3RvciBzdXBwb3J0IGNvZGUgdGhhdA0Kd2Un dmUgbWFkZSBpdCB3b3JrIGZvciBwcmVjaXNpb24gPCBiaXRzaXplLCBkZXNw aXRlIHRoYXQgYmVpbmcgYW4NCnVuc3VwcG9ydGVkIGNvbWJpbmF0aW9uIHVu dGlsIG5vdy4gIEJ1dCBJIGd1ZXNzIHdlIGNhbiBmaXggcHJvYmxlbXMNCm9u IGEgY2FzZS1ieS1jYXNlIGJhc2lzLg0KDQpUaGFua3MsDQpSaWNoYXJkDQoN Cj4gICAgICAgICAgICAgICIgQklUU19QRVJfVU5JVCk7XG4iLCBtLT5uYW1l LCBtLT5uYW1lKTsNCj4gICAgICAgIHByaW50ZiAoIiAgICBtb2RlX251bml0 c1tFXyVzbW9kZV0gPSBwcztcbiIsIG0tPm5hbWUpOw0KPiAgICAgICAgcHJp bnRmICgiICAgIGFkanVzdF9tb2RlX21hc2sgKEVfJXNtb2RlKTtcbiIsIG0t Pm5hbWUpOw0KPiBAQCAtMTk2Myw2ICsxOTczLDE5IEBAIGVtaXRfbW9kZV9h ZGp1c3RtZW50cyAodm9pZCkNCj4gICAgICBwcmludGYgKCJcbiAgLyogJXM6 JWQgKi9cbiAgUkVBTF9NT0RFX0ZPUk1BVCAoRV8lc21vZGUpID0gJXM7XG4i LA0KPiAgICAgICAgICAgIGEtPmZpbGUsIGEtPmxpbmUsIGEtPm1vZGUtPm5h bWUsIGEtPmFkanVzdG1lbnQpOw0KPg0KPiArICAvKiBBZGp1c3QgcHJlY2lz aW9uIHRvIHRoZSBhY3R1YWwgYml0cyBzaXplLiAgKi8NCj4gKyAgZm9yIChh ID0gYWRqX3ByZWNpc2lvbjsgYTsgYSA9IGEtPm5leHQpDQo+ICsgICAgc3dp dGNoIChhLT5tb2RlLT5jbCkNCj4gKyAgICAgIHsNCj4gKyAgICAgY2FzZSBN T0RFX1ZFQ1RPUl9CT09MOg0KPiArICAgICAgIHByaW50ZiAoIlxuICAvKiAl czolZC4gICovXG4gIHBzID0gJXM7XG4iLCBhLT5maWxlLCBhLT5saW5lLA0K PiArICAgICAgICAgICAgICAgYS0+YWRqdXN0bWVudCk7DQo+ICsgICAgICAg cHJpbnRmICgiICBtb2RlX3ByZWNpc2lvbltFXyVzbW9kZV0gPSBwcztcbiIs IGEtPm1vZGUtPm5hbWUpOw0KPiArICAgICAgIGJyZWFrOw0KPiArICAgICBk ZWZhdWx0Og0KPiArICAgICAgIGJyZWFrOw0KPiArICAgICAgfQ0KPiArDQo+ ICAgIHB1dHMgKCJ9Iik7DQo+ICB9DQo+DQo+IGRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMS5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTEuYw0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uZTcw OTYwYzViNmQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMS5jDQo+IEBAIC0wLDAg KzEsNjggQEANCj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+ICsvKiB7 IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9 ICovDQo+ICsNCj4gKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4gKw0K PiArdm9pZA0KPiArdGVzdF92Ym9vbDFfdGhlbl92Ym9vbDIoaW50OF90ICog cmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPiArICAg IHZib29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47DQo+ICsgICAgdmJvb2wy X3QgdjIgPSAqKHZib29sMl90KilpbjsNCj4gKw0KPiArICAgICoodmJvb2wx X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ICsgICAgKih2Ym9vbDJfdCopKG91 dCArIDIwMCkgPSB2MjsNCj4gK30NCj4gKw0KPiArdm9pZA0KPiArdGVzdF92 Ym9vbDFfdGhlbl92Ym9vbDQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhf dCAqIHJlc3RyaWN0IG91dCkgew0KPiArICAgIHZib29sMV90IHYxID0gKih2 Ym9vbDFfdCopaW47DQo+ICsgICAgdmJvb2w0X3QgdjIgPSAqKHZib29sNF90 KilpbjsNCj4gKw0KPiArICAgICoodmJvb2wxX3QqKShvdXQgKyAxMDApID0g djE7DQo+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDIwMCkgPSB2MjsNCj4g K30NCj4gKw0KPiArdm9pZA0KPiArdGVzdF92Ym9vbDFfdGhlbl92Ym9vbDgo aW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkg ew0KPiArICAgIHZib29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47DQo+ICsg ICAgdmJvb2w4X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4gKw0KPiArICAg ICoodmJvb2wxX3QqKShvdXQgKyAxMDApID0gdjE7DQo+ICsgICAgKih2Ym9v bDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gK30NCj4gKw0KPiArdm9pZA0K PiArdGVzdF92Ym9vbDFfdGhlbl92Ym9vbDE2KGludDhfdCAqIHJlc3RyaWN0 IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gKyAgICB2Ym9vbDFf dCB2MSA9ICoodmJvb2wxX3QqKWluOw0KPiArICAgIHZib29sMTZfdCB2MiA9 ICoodmJvb2wxNl90KilpbjsNCj4gKw0KPiArICAgICoodmJvb2wxX3QqKShv dXQgKyAxMDApID0gdjE7DQo+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAy MDApID0gdjI7DQo+ICt9DQo+ICsNCj4gK3ZvaWQNCj4gK3Rlc3RfdmJvb2wx X3RoZW5fdmJvb2wzMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICog cmVzdHJpY3Qgb3V0KSB7DQo+ICsgICAgdmJvb2wxX3QgdjEgPSAqKHZib29s MV90KilpbjsNCj4gKyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29sMzJfdCop aW47DQo+ICsNCj4gKyAgICAqKHZib29sMV90Kikob3V0ICsgMTAwKSA9IHYx Ow0KPiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiAr fQ0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29sNjQo aW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkg ew0KPiArICAgIHZib29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47DQo+ICsg ICAgdmJvb2w2NF90IHYyID0gKih2Ym9vbDY0X3QqKWluOw0KPiArDQo+ICsg ICAgKih2Ym9vbDFfdCopKG91dCArIDEwMCkgPSB2MTsNCj4gKyAgICAqKHZi b29sNjRfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gK30NCj4gKw0KPiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptOCxccyp0YSxccyptYX0g NiB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMq bTQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxc cyp6ZXJvLFxzKmU4LFxzKm0yLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiAr LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxp XHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMSxccyp0YSxccypt YX0gMSB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgs XHMqbWYyLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05 XSssXHMqemVybyxccyplOCxccyptZjQsXHMqdGEsXHMqbWF9IDEgfSB9ICov DQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mOCxccyp0 YSxccyptYX0gMSB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dmxtXC52XHMrdlswLTldKyxccyowXChbYS14XVsw LTldK1wpfSAxMiB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlswLTldKyxccyowXChbYS14XVsw LTldK1wpfSAxOCB9IH0gKi8NCj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0yLmMgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMi5jDQo+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAwLi5kY2M3YTY0NGE4 OA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9wcjEwODE4NS0yLmMNCj4gQEAgLTAsMCArMSw2OCBA QA0KPiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0 aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8NCj4g Kw0KPiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPiArDQo+ICt2b2lk DQo+ICt0ZXN0X3Zib29sMl90aGVuX3Zib29sMShpbnQ4X3QgKiByZXN0cmlj dCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ICsgICAgdmJvb2wy X3QgdjEgPSAqKHZib29sMl90KilpbjsNCj4gKyAgICB2Ym9vbDFfdCB2MiA9 ICoodmJvb2wxX3QqKWluOw0KPiArDQo+ICsgICAgKih2Ym9vbDJfdCopKG91 dCArIDEwMCkgPSB2MTsNCj4gKyAgICAqKHZib29sMV90Kikob3V0ICsgMjAw KSA9IHYyOw0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0X3Zib29sMl90 aGVuX3Zib29sNChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVz dHJpY3Qgb3V0KSB7DQo+ICsgICAgdmJvb2wyX3QgdjEgPSAqKHZib29sMl90 KilpbjsNCj4gKyAgICB2Ym9vbDRfdCB2MiA9ICoodmJvb2w0X3QqKWluOw0K PiArDQo+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4g KyAgICAqKHZib29sNF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiAr DQo+ICt2b2lkDQo+ICt0ZXN0X3Zib29sMl90aGVuX3Zib29sOChpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ICsg ICAgdmJvb2wyX3QgdjEgPSAqKHZib29sMl90KilpbjsNCj4gKyAgICB2Ym9v bDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0KPiArDQo+ICsgICAgKih2Ym9v bDJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4gKyAgICAqKHZib29sOF90Kiko b3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0 X3Zib29sMl90aGVuX3Zib29sMTYoaW50OF90ICogcmVzdHJpY3QgaW4sIGlu dDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPiArICAgIHZib29sMl90IHYxID0g Kih2Ym9vbDJfdCopaW47DQo+ICsgICAgdmJvb2wxNl90IHYyID0gKih2Ym9v bDE2X3QqKWluOw0KPiArDQo+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDEw MCkgPSB2MTsNCj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDIwMCkgPSB2 MjsNCj4gK30NCj4gKw0KPiArdm9pZA0KPiArdGVzdF92Ym9vbDJfdGhlbl92 Ym9vbDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmlj dCBvdXQpIHsNCj4gKyAgICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wyX3QqKWlu Ow0KPiArICAgIHZib29sMzJfdCB2MiA9ICoodmJvb2wzMl90KilpbjsNCj4g Kw0KPiArICAgICoodmJvb2wyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+ICsg ICAgKih2Ym9vbDMyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+ICt9DQo+ICsN Cj4gK3ZvaWQNCj4gK3Rlc3RfdmJvb2wyX3RoZW5fdmJvb2w2NChpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ICsg ICAgdmJvb2wyX3QgdjEgPSAqKHZib29sMl90KilpbjsNCj4gKyAgICB2Ym9v bDY0X3QgdjIgPSAqKHZib29sNjRfdCopaW47DQo+ICsNCj4gKyAgICAqKHZi b29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiArICAgICoodmJvb2w2NF90 Kikob3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiArDQo+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVsw LTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSA2IH0gfSAq Lw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMixccyp0 YSxccyptYX0gMSB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8s XHMqZTgsXHMqbTEsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ICsvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14 XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxzKm1hfSAxIH0g fSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjIs XHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6 ZXJvLFxzKmU4LFxzKm1mNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1h fSAxIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9 IDEyIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c21cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9 IDE3IH0gfSAqLw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTMuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9wcjEwODE4NS0zLmMNCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLjNhZjA1MTNlMDA2DQo+IC0t LSAvZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3ByMTA4MTg1LTMuYw0KPiBAQCAtMCwwICsxLDY4IEBADQo+ICsv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyogeyBkZy1vcHRpb25zICIt bWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1PMyIgfSAqLw0KPiArDQo+ICsj aW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+ICsNCj4gK3ZvaWQNCj4gK3Rl c3RfdmJvb2w0X3RoZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gKyAgICB2Ym9vbDRfdCB2MSA9 ICoodmJvb2w0X3QqKWluOw0KPiArICAgIHZib29sMV90IHYyID0gKih2Ym9v bDFfdCopaW47DQo+ICsNCj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMTAw KSA9IHYxOw0KPiArICAgICoodmJvb2wxX3QqKShvdXQgKyAyMDApID0gdjI7 DQo+ICt9DQo+ICsNCj4gK3ZvaWQNCj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJv b2wyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBv dXQpIHsNCj4gKyAgICB2Ym9vbDRfdCB2MSA9ICoodmJvb2w0X3QqKWluOw0K PiArICAgIHZib29sMl90IHYyID0gKih2Ym9vbDJfdCopaW47DQo+ICsNCj4g KyAgICAqKHZib29sNF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiArICAgICoo dmJvb2wyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+ICt9DQo+ICsNCj4gK3Zv aWQNCj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2w4KGludDhfdCAqIHJlc3Ry aWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gKyAgICB2Ym9v bDRfdCB2MSA9ICoodmJvb2w0X3QqKWluOw0KPiArICAgIHZib29sOF90IHYy ID0gKih2Ym9vbDhfdCopaW47DQo+ICsNCj4gKyAgICAqKHZib29sNF90Kiko b3V0ICsgMTAwKSA9IHYxOw0KPiArICAgICoodmJvb2w4X3QqKShvdXQgKyAy MDApID0gdjI7DQo+ICt9DQo+ICsNCj4gK3ZvaWQNCj4gK3Rlc3RfdmJvb2w0 X3RoZW5fdmJvb2wxNihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICog cmVzdHJpY3Qgb3V0KSB7DQo+ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29s NF90KilpbjsNCj4gKyAgICB2Ym9vbDE2X3QgdjIgPSAqKHZib29sMTZfdCop aW47DQo+ICsNCj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMTAwKSA9IHYx Ow0KPiArICAgICoodmJvb2wxNl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiAr fQ0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0X3Zib29sNF90aGVuX3Zib29sMzIo aW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkg ew0KPiArICAgIHZib29sNF90IHYxID0gKih2Ym9vbDRfdCopaW47DQo+ICsg ICAgdmJvb2wzMl90IHYyID0gKih2Ym9vbDMyX3QqKWluOw0KPiArDQo+ICsg ICAgKih2Ym9vbDRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4gKyAgICAqKHZi b29sMzJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gK30NCj4gKw0KPiArdm9p ZA0KPiArdGVzdF92Ym9vbDRfdGhlbl92Ym9vbDY0KGludDhfdCAqIHJlc3Ry aWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gKyAgICB2Ym9v bDRfdCB2MSA9ICoodmJvb2w0X3QqKWluOw0KPiArICAgIHZib29sNjRfdCB2 MiA9ICoodmJvb2w2NF90KilpbjsNCj4gKw0KPiArICAgICoodmJvb2w0X3Qq KShvdXQgKyAxMDApID0gdjE7DQo+ICsgICAgKih2Ym9vbDY0X3QqKShvdXQg KyAyMDApID0gdjI7DQo+ICt9DQo+ICsNCj4gKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxz Knplcm8sXHMqZTgsXHMqbTIsXHMqdGEsXHMqbWF9IDYgfSB9ICovDQo+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxzKm1h fSAxIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxc cyptNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0r LFxzKnplcm8sXHMqZTgsXHMqbTEsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mMixccyp0YSxc cyptYX0gMSB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMq ZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1b MC05XSssXHMqemVybyxccyplOCxccyptZjgsXHMqdGEsXHMqbWF9IDEgfSB9 ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZsbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIgfSB9 ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTYgfSB9 ICovDQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcHIxMDgxODUtNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3ByMTA4MTg1LTQuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwMC4uZWEzYzM2MGQ3NTYNCj4gLS0tIC9kZXYv bnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtNC5jDQo+IEBAIC0wLDAgKzEsNjggQEANCj4gKy8qIHsgZGct ZG8gY29tcGlsZSB9ICovDQo+ICsvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1y djY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICovDQo+ICsNCj4gKyNpbmNsdWRl ICJyaXNjdl92ZWN0b3IuaCINCj4gKw0KPiArdm9pZA0KPiArdGVzdF92Ym9v bDhfdGhlbl92Ym9vbDEoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAq IHJlc3RyaWN0IG91dCkgew0KPiArICAgIHZib29sOF90IHYxID0gKih2Ym9v bDhfdCopaW47DQo+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZib29sMV90Kilp bjsNCj4gKw0KPiArICAgICoodmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7 DQo+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gK30N Cj4gKw0KPiArdm9pZA0KPiArdGVzdF92Ym9vbDhfdGhlbl92Ym9vbDIoaW50 OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0K PiArICAgIHZib29sOF90IHYxID0gKih2Ym9vbDhfdCopaW47DQo+ICsgICAg dmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsNCj4gKw0KPiArICAgICoo dmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ICsgICAgKih2Ym9vbDJf dCopKG91dCArIDIwMCkgPSB2MjsNCj4gK30NCj4gKw0KPiArdm9pZA0KPiAr dGVzdF92Ym9vbDhfdGhlbl92Ym9vbDQoaW50OF90ICogcmVzdHJpY3QgaW4s IGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPiArICAgIHZib29sOF90IHYx ID0gKih2Ym9vbDhfdCopaW47DQo+ICsgICAgdmJvb2w0X3QgdjIgPSAqKHZi b29sNF90KilpbjsNCj4gKw0KPiArICAgICoodmJvb2w4X3QqKShvdXQgKyAx MDApID0gdjE7DQo+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDIwMCkgPSB2 MjsNCj4gK30NCj4gKw0KPiArdm9pZA0KPiArdGVzdF92Ym9vbDhfdGhlbl92 Ym9vbDE2KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmlj dCBvdXQpIHsNCj4gKyAgICB2Ym9vbDhfdCB2MSA9ICoodmJvb2w4X3QqKWlu Ow0KPiArICAgIHZib29sMTZfdCB2MiA9ICoodmJvb2wxNl90KilpbjsNCj4g Kw0KPiArICAgICoodmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ICsg ICAgKih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjI7DQo+ICt9DQo+ICsN Cj4gK3ZvaWQNCj4gK3Rlc3RfdmJvb2w4X3RoZW5fdmJvb2wzMihpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ICsg ICAgdmJvb2w4X3QgdjEgPSAqKHZib29sOF90KilpbjsNCj4gKyAgICB2Ym9v bDMyX3QgdjIgPSAqKHZib29sMzJfdCopaW47DQo+ICsNCj4gKyAgICAqKHZi b29sOF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiArICAgICoodmJvb2wzMl90 Kikob3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ICt0 ZXN0X3Zib29sOF90aGVuX3Zib29sNjQoaW50OF90ICogcmVzdHJpY3QgaW4s IGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPiArICAgIHZib29sOF90IHYx ID0gKih2Ym9vbDhfdCopaW47DQo+ICsgICAgdmJvb2w2NF90IHYyID0gKih2 Ym9vbDY0X3QqKWluOw0KPiArDQo+ICsgICAgKih2Ym9vbDhfdCopKG91dCAr IDEwMCkgPSB2MTsNCj4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDIwMCkg PSB2MjsNCj4gK30NCj4gKw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxc cyplOCxccyptMSxccyp0YSxccyptYX0gNiB9IH0gKi8NCj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhd WzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTIsXHMqdGEsXHMqbWF9IDEgfSB9 ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxz KnRhLFxzKm1hfSAxIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1th LXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWYyLFxzKnRhLFxzKm1hfSAx IH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccypt ZjQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxc cyp6ZXJvLFxzKmU4LFxzKm1mOCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmxtXC52 XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52 XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxNSB9IH0gKi8NCj4g ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9w cjEwODE4NS01LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtNS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 IDAwMDAwMDAwMDAwLi45ZmM2NTlkMjQwMg0KPiAtLS0gL2Rldi9udWxsDQo+ ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4 NS01LmMNCj4gQEAgLTAsMCArMSw2OCBAQA0KPiArLyogeyBkZy1kbyBjb21w aWxlIH0gKi8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3Yg LW1hYmk9bHA2NCAtTzMiIH0gKi8NCj4gKw0KPiArI2luY2x1ZGUgInJpc2N2 X3ZlY3Rvci5oIg0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0X3Zib29sMTZfdGhl bl92Ym9vbDEoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3Ry aWN0IG91dCkgew0KPiArICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wxNl90 KilpbjsNCj4gKyAgICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0K PiArDQo+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gK30NCj4g Kw0KPiArdm9pZA0KPiArdGVzdF92Ym9vbDE2X3RoZW5fdmJvb2wyKGludDhf dCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4g KyAgICB2Ym9vbDE2X3QgdjEgPSAqKHZib29sMTZfdCopaW47DQo+ICsgICAg dmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsNCj4gKw0KPiArICAgICoo dmJvb2wxNl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiArICAgICoodmJvb2wy X3QqKShvdXQgKyAyMDApID0gdjI7DQo+ICt9DQo+ICsNCj4gK3ZvaWQNCj4g K3Rlc3RfdmJvb2wxNl90aGVuX3Zib29sNChpbnQ4X3QgKiByZXN0cmljdCBp biwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ICsgICAgdmJvb2wxNl90 IHYxID0gKih2Ym9vbDE2X3QqKWluOw0KPiArICAgIHZib29sNF90IHYyID0g Kih2Ym9vbDRfdCopaW47DQo+ICsNCj4gKyAgICAqKHZib29sMTZfdCopKG91 dCArIDEwMCkgPSB2MTsNCj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMjAw KSA9IHYyOw0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0X3Zib29sMTZf dGhlbl92Ym9vbDgoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJl c3RyaWN0IG91dCkgew0KPiArICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wx Nl90KilpbjsNCj4gKyAgICB2Ym9vbDhfdCB2MiA9ICoodmJvb2w4X3QqKWlu Ow0KPiArDQo+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAxMDApID0gdjE7 DQo+ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4gK30N Cj4gKw0KPiArdm9pZA0KPiArdGVzdF92Ym9vbDE2X3RoZW5fdmJvb2wzMihp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+ICsgICAgdmJvb2wxNl90IHYxID0gKih2Ym9vbDE2X3QqKWluOw0KPiAr ICAgIHZib29sMzJfdCB2MiA9ICoodmJvb2wzMl90KilpbjsNCj4gKw0KPiAr ICAgICoodmJvb2wxNl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiArICAgICoo dmJvb2wzMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiArDQo+ICt2 b2lkDQo+ICt0ZXN0X3Zib29sMTZfdGhlbl92Ym9vbDY0KGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gKyAgICB2 Ym9vbDE2X3QgdjEgPSAqKHZib29sMTZfdCopaW47DQo+ICsgICAgdmJvb2w2 NF90IHYyID0gKih2Ym9vbDY0X3QqKWluOw0KPiArDQo+ICsgICAgKih2Ym9v bDE2X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ICsgICAgKih2Ym9vbDY0X3Qq KShvdXQgKyAyMDApID0gdjI7DQo+ICt9DQo+ICsNCj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAt OV0rLFxzKnplcm8sXHMqZTgsXHMqbWYyLFxzKnRhLFxzKm1hfSA2IH0gfSAq Lw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMixccyp0 YSxccyptYX0gMSB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8s XHMqZTgsXHMqbTgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ICsvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14 XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSAxIH0g fSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMSxc cyp0YSxccyptYX0gMSB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjgsXHMqdGEsXHMqbWF9 IDEgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZsbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0g MTIgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0g MTQgfSB9ICovDQo+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcHIxMDgxODUtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTYuYw0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwMC4uOTgyNzVlNTI2N2QNCj4gLS0t IC9kZXYvbnVsbA0KPiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcHIxMDgxODUtNi5jDQo+IEBAIC0wLDAgKzEsNjggQEANCj4gKy8q IHsgZGctZG8gY29tcGlsZSB9ICovDQo+ICsvKiB7IGRnLW9wdGlvbnMgIi1t YXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICovDQo+ICsNCj4gKyNp bmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4gKw0KPiArdm9pZA0KPiArdGVz dF92Ym9vbDMyX3RoZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gKyAgICB2Ym9vbDMyX3QgdjEg PSAqKHZib29sMzJfdCopaW47DQo+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZi b29sMV90KilpbjsNCj4gKw0KPiArICAgICoodmJvb2wzMl90Kikob3V0ICsg MTAwKSA9IHYxOw0KPiArICAgICoodmJvb2wxX3QqKShvdXQgKyAyMDApID0g djI7DQo+ICt9DQo+ICsNCj4gK3ZvaWQNCj4gK3Rlc3RfdmJvb2wzMl90aGVu X3Zib29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJp Y3Qgb3V0KSB7DQo+ICsgICAgdmJvb2wzMl90IHYxID0gKih2Ym9vbDMyX3Qq KWluOw0KPiArICAgIHZib29sMl90IHYyID0gKih2Ym9vbDJfdCopaW47DQo+ ICsNCj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4g KyAgICAqKHZib29sMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiAr DQo+ICt2b2lkDQo+ICt0ZXN0X3Zib29sMzJfdGhlbl92Ym9vbDQoaW50OF90 ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPiAr ICAgIHZib29sMzJfdCB2MSA9ICoodmJvb2wzMl90KilpbjsNCj4gKyAgICB2 Ym9vbDRfdCB2MiA9ICoodmJvb2w0X3QqKWluOw0KPiArDQo+ICsgICAgKih2 Ym9vbDMyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+ICsgICAgKih2Ym9vbDRf dCopKG91dCArIDIwMCkgPSB2MjsNCj4gK30NCj4gKw0KPiArdm9pZA0KPiAr dGVzdF92Ym9vbDMyX3RoZW5fdmJvb2w4KGludDhfdCAqIHJlc3RyaWN0IGlu LCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gKyAgICB2Ym9vbDMyX3Qg djEgPSAqKHZib29sMzJfdCopaW47DQo+ICsgICAgdmJvb2w4X3QgdjIgPSAq KHZib29sOF90KilpbjsNCj4gKw0KPiArICAgICoodmJvb2wzMl90Kikob3V0 ICsgMTAwKSA9IHYxOw0KPiArICAgICoodmJvb2w4X3QqKShvdXQgKyAyMDAp ID0gdjI7DQo+ICt9DQo+ICsNCj4gK3ZvaWQNCj4gK3Rlc3RfdmJvb2wzMl90 aGVuX3Zib29sMTYoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJl c3RyaWN0IG91dCkgew0KPiArICAgIHZib29sMzJfdCB2MSA9ICoodmJvb2wz Ml90KilpbjsNCj4gKyAgICB2Ym9vbDE2X3QgdjIgPSAqKHZib29sMTZfdCop aW47DQo+ICsNCj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDEwMCkgPSB2 MTsNCj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDIwMCkgPSB2MjsNCj4g K30NCj4gKw0KPiArdm9pZA0KPiArdGVzdF92Ym9vbDMyX3RoZW5fdmJvb2w2 NChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0 KSB7DQo+ICsgICAgdmJvb2wzMl90IHYxID0gKih2Ym9vbDMyX3QqKWluOw0K PiArICAgIHZib29sNjRfdCB2MiA9ICoodmJvb2w2NF90KilpbjsNCj4gKw0K PiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiArICAg ICoodmJvb2w2NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiArDQo+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mNCxccyp0YSxc cyptYX0gNiB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMq ZTgsXHMqbTgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVsw LTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMixccyp0 YSxccyptYX0gMSB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8s XHMqZTgsXHMqbTEsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ICsvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14 XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mMixccyp0YSxccyptYX0gMSB9 IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4 LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFth LXhdWzAtOV0rXCl9IDEyIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2c21cLnZccyt2WzAtOV0rLFxzKjBcKFth LXhdWzAtOV0rXCl9IDEzIH0gfSAqLw0KPiBkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTcuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS03LmMNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMDAuLjhmNmYw YjExZjA5DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTcuYw0KPiBAQCAtMCwwICsx LDY4IEBADQo+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPiArLyogeyBk Zy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1PMyIgfSAq Lw0KPiArDQo+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+ICsNCj4g K3ZvaWQNCj4gK3Rlc3RfdmJvb2w2NF90aGVuX3Zib29sMShpbnQ4X3QgKiBy ZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ICsgICAg dmJvb2w2NF90IHYxID0gKih2Ym9vbDY0X3QqKWluOw0KPiArICAgIHZib29s MV90IHYyID0gKih2Ym9vbDFfdCopaW47DQo+ICsNCj4gKyAgICAqKHZib29s NjRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4gKyAgICAqKHZib29sMV90Kiko b3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0 X3Zib29sNjRfdGhlbl92Ym9vbDIoaW50OF90ICogcmVzdHJpY3QgaW4sIGlu dDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPiArICAgIHZib29sNjRfdCB2MSA9 ICoodmJvb2w2NF90KilpbjsNCj4gKyAgICB2Ym9vbDJfdCB2MiA9ICoodmJv b2wyX3QqKWluOw0KPiArDQo+ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAx MDApID0gdjE7DQo+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDIwMCkgPSB2 MjsNCj4gK30NCj4gKw0KPiArdm9pZA0KPiArdGVzdF92Ym9vbDY0X3RoZW5f dmJvb2w0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmlj dCBvdXQpIHsNCj4gKyAgICB2Ym9vbDY0X3QgdjEgPSAqKHZib29sNjRfdCop aW47DQo+ICsgICAgdmJvb2w0X3QgdjIgPSAqKHZib29sNF90KilpbjsNCj4g Kw0KPiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiAr ICAgICoodmJvb2w0X3QqKShvdXQgKyAyMDApID0gdjI7DQo+ICt9DQo+ICsN Cj4gK3ZvaWQNCj4gK3Rlc3RfdmJvb2w2NF90aGVuX3Zib29sOChpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ICsg ICAgdmJvb2w2NF90IHYxID0gKih2Ym9vbDY0X3QqKWluOw0KPiArICAgIHZi b29sOF90IHYyID0gKih2Ym9vbDhfdCopaW47DQo+ICsNCj4gKyAgICAqKHZi b29sNjRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4gKyAgICAqKHZib29sOF90 Kikob3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ICt0 ZXN0X3Zib29sNjRfdGhlbl92Ym9vbDE2KGludDhfdCAqIHJlc3RyaWN0IGlu LCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gKyAgICB2Ym9vbDY0X3Qg djEgPSAqKHZib29sNjRfdCopaW47DQo+ICsgICAgdmJvb2wxNl90IHYyID0g Kih2Ym9vbDE2X3QqKWluOw0KPiArDQo+ICsgICAgKih2Ym9vbDY0X3QqKShv dXQgKyAxMDApID0gdjE7DQo+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAy MDApID0gdjI7DQo+ICt9DQo+ICsNCj4gK3ZvaWQNCj4gK3Rlc3RfdmJvb2w2 NF90aGVuX3Zib29sMzIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAq IHJlc3RyaWN0IG91dCkgew0KPiArICAgIHZib29sNjRfdCB2MSA9ICoodmJv b2w2NF90KilpbjsNCj4gKyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29sMzJf dCopaW47DQo+ICsNCj4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDEwMCkg PSB2MTsNCj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDIwMCkgPSB2MjsN Cj4gK30NCj4gKw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxc cyptZjgsXHMqdGEsXHMqbWF9IDYgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTld Kyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0K PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptNCxccyp0YSxc cyptYX0gMSB9IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMq ZTgsXHMqbTIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVsw LTldKyxccyp6ZXJvLFxzKmU4LFxzKm0xLFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjIsXHMq dGEsXHMqbWF9IDEgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJv LFxzKmU4LFxzKm1mNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmxtXC52XHMrdlsw LTldKyxccyowXChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlsw LTldKyxccyowXChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4gZGlmZiAt LWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4 NS04LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgx ODUtOC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAwLi5kOTY5NTlkZDA2NA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS04LmMN Cj4gQEAgLTAsMCArMSw3NyBAQA0KPiArLyogeyBkZy1kbyBjb21waWxlIH0g Ki8NCj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9 bHA2NCAtTzMiIH0gKi8NCj4gKw0KPiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rv ci5oIg0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29s MShpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0 KSB7DQo+ICsgICAgdmJvb2wxX3QgdjEgPSAqKHZib29sMV90KilpbjsNCj4g KyAgICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPiArDQo+ICsg ICAgKih2Ym9vbDFfdCopKG91dCArIDEwMCkgPSB2MTsNCj4gKyAgICAqKHZi b29sMV90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiArDQo+ICt2b2lk DQo+ICt0ZXN0X3Zib29sMl90aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0cmlj dCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ICsgICAgdmJvb2wy X3QgdjEgPSAqKHZib29sMl90KilpbjsNCj4gKyAgICB2Ym9vbDJfdCB2MiA9 ICoodmJvb2wyX3QqKWluOw0KPiArDQo+ICsgICAgKih2Ym9vbDJfdCopKG91 dCArIDEwMCkgPSB2MTsNCj4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMjAw KSA9IHYyOw0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0X3Zib29sNF90 aGVuX3Zib29sNChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVz dHJpY3Qgb3V0KSB7DQo+ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29sNF90 KilpbjsNCj4gKyAgICB2Ym9vbDRfdCB2MiA9ICoodmJvb2w0X3QqKWluOw0K PiArDQo+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4g KyAgICAqKHZib29sNF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiAr DQo+ICt2b2lkDQo+ICt0ZXN0X3Zib29sOF90aGVuX3Zib29sOChpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ICsg ICAgdmJvb2w4X3QgdjEgPSAqKHZib29sOF90KilpbjsNCj4gKyAgICB2Ym9v bDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0KPiArDQo+ICsgICAgKih2Ym9v bDhfdCopKG91dCArIDEwMCkgPSB2MTsNCj4gKyAgICAqKHZib29sOF90Kiko b3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiArDQo+ICt2b2lkDQo+ICt0ZXN0 X3Zib29sMTZfdGhlbl92Ym9vbDE2KGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4gKyAgICB2Ym9vbDE2X3QgdjEg PSAqKHZib29sMTZfdCopaW47DQo+ICsgICAgdmJvb2wxNl90IHYyID0gKih2 Ym9vbDE2X3QqKWluOw0KPiArDQo+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQg KyAxMDApID0gdjE7DQo+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAyMDAp ID0gdjI7DQo+ICt9DQo+ICsNCj4gK3ZvaWQNCj4gK3Rlc3RfdmJvb2wzMl90 aGVuX3Zib29sMzIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJl c3RyaWN0IG91dCkgew0KPiArICAgIHZib29sMzJfdCB2MSA9ICoodmJvb2wz Ml90KilpbjsNCj4gKyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29sMzJfdCop aW47DQo+ICsNCj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDEwMCkgPSB2 MTsNCj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4g K30NCj4gKw0KPiArdm9pZA0KPiArdGVzdF92Ym9vbDY0X3RoZW5fdmJvb2w2 NChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0 KSB7DQo+ICsgICAgdmJvb2w2NF90IHYxID0gKih2Ym9vbDY0X3QqKWluOw0K PiArICAgIHZib29sNjRfdCB2MiA9ICoodmJvb2w2NF90KilpbjsNCj4gKw0K PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPiArICAg ICoodmJvb2w2NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPiArfQ0KPiArDQo+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxz Km1hfSAxIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccypl OCxccyptNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAt OV0rLFxzKnplcm8sXHMqZTgsXHMqbTIsXHMqdGEsXHMqbWF9IDEgfSB9ICov DQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0xLFxzKnRh LFxzKm1hfSAxIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxc cyplOCxccyptZjIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ICsvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14 XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mNCxccyp0YSxccyptYX0gMSB9 IH0gKi8NCj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4 LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFth LXhdWzAtOV0rXCl9IDcgfSB9ICovDQo+ICsvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2Et eF1bMC05XStcKX0gMTQgfSB9ICovDQo= --_000_BYAPR04MB48244794D1BF33A7F44DF8ADB7AF9BYAPR04MB4824namp_--