From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2098.outbound.protection.outlook.com [40.92.19.98]) by sourceware.org (Postfix) with ESMTPS id 784F33858D33 for ; Mon, 13 Feb 2023 15:34:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 784F33858D33 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=Tb/8uTwvk7PnO8lfmdmbUdVPG0gpJ4ZKGuCFEtdbQy0qA2js8mOjDZMsZ3cKv/a67tAUyM470+zPGJz4oG1K1O1zm4IREKScVkBT7ACM4w9JU+ji5QYpaVaWSjXz3wli5hOext9t14sOaJAbD0ncmHxB5aEEtYkRmng9Lxb0b1cZXtUCSDZtdj5NA8zMUFhOZfAuIkAXsPdC4Z8p4y5y2DwAL1/wl7Q/muYjD1NdElv9MhnM0KK83t8x8ISjI4qcqRtskcx2KpWjCKstEhW2AwOx31inUDExdmjzXluKJc8/Sp3jgwXYvLRfVT1ImS7MU/KlMM/6cAhjuVmZ73idNw== 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=j/+S5nkOo/8p55jyYs6naoWs97jLZOPVRxMyTnDKCpk=; b=jNJVn81iNhaZtHrIZ8aZUadcIC0q3/MG8OmxMTAAmGBf0ueMB7NtZNvpsx+GfQmpBm+OQYDWngmnxfDHv5tnt9/wFkmnYB5qaZVFMjbScC1OEiy5da/zT50bc+hPiybUahUbAPiFO2aaWbjBKDU1KI5hZX5m76hNFl8qvY4kh5Refv0vTYPV0SWmw9O40bS6oiaFgzrG6ri7VZf0rdrdCqv9dO44zgoQm/ry+AOZJPEx+XRyLJkv1PfVYMZ/EGLLfODRzADGCBFVnYYxjK1S2LJXJ0VvXMTfszrf3VMTsu7WIZV6TxgyNTom2MFEtA2k5NL7pG1i6N5s6vXJG0Vg+Q== 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=j/+S5nkOo/8p55jyYs6naoWs97jLZOPVRxMyTnDKCpk=; b=Msf7kJ+9ol2XmcKf3sPMSp2plcmWU97yh/+il0StkovwvVo9CdJSsHJhE6zbC05SmI3II53hZvOM6YLMw+BVFXXfIGUIixNVI/im6i/OcBuXN/JBew7CsQtFuGUxvwJb4VxIx//NXnSxb1odJrx5e926+1YN39a3DiSrX8Q98C7UNMiD9i8VqL9i75nt0lF7pZ0Kj16M0qTot2eLYkzcMWWOqhozShiBV7SeksWmo8HhNA8fi7WVktaD6lxOMw0oCCAsFuhKTWZM3Rw0OOv7LLBTomCrw3WcLFs2m0ClUvqVn6NlyOl7hYc7V4gxQdJL9VX0gt3JQBe5SlSlEQTNEw== Received: from BYAPR04MB4824.namprd04.prod.outlook.com (2603:10b6:a03:5e::19) by BL0PR04MB4451.namprd04.prod.outlook.com (2603:10b6:208:43::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.23; Mon, 13 Feb 2023 15:34:14 +0000 Received: from BYAPR04MB4824.namprd04.prod.outlook.com ([fe80::3a96:d832:ac44:1c25]) by BYAPR04MB4824.namprd04.prod.outlook.com ([fe80::3a96:d832:ac44:1c25%7]) with mapi id 15.20.6086.023; Mon, 13 Feb 2023 15:34:14 +0000 From: =?ks_c_5601-1987?B?2vAg190=?= To: Andrew Stubbs , Richard Biener , "juzhe.zhong@rivai.ai" CC: gcc-patches , kito.cheng , "richard.sandiford@arm.com" Subject: Re: [PATCH] RISC-V: Bugfix for mode tieable of the rvv bool types Thread-Topic: [PATCH] RISC-V: Bugfix for mode tieable of the rvv bool types Thread-Index: AQHZPfVrrkgNAsjNlEmEAI+kxxpXCq7Jt/19gALQgACAADBQgIAAO183 Date: Mon, 13 Feb 2023 15:34:14 +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: [zD/SZvvkxCh6SjDIW9DV2JQKkWepSEJ9] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR04MB4824:EE_|BL0PR04MB4451:EE_ x-ms-office365-filtering-correlation-id: 361fd166-1e5e-4c5c-df0b-08db0dd7c320 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jZdoR14QEFeBNuDoFK9LjymKFaTVw6r3EFDxgd7US6ut9LQQT7fjhVUCkYZ350kXeAIVN2jZAK2Qgo0FuSjHYQPQ66GTyazPBcFnVFRy9N89C8hNJdJt2W9flAMaXvo17mn95105MnN7X0HdbxNScZYvAi/SRxS1zZbRRxT58CGL3ciWkiw1sly/JmG1vJicOFLxWcQ+MagLz3oHNN5L7cOLCGMfuSbV3R//GY2nnth3RYbvopXBQMq4aC5zdIDfo1pBVR8qsMVML0sQKEtSFViag406BdpKUfHGst32oRvlvA7Ohp8h3gVftbc38pL5UKm86DABPyn6lGCekoddy6xHZUk2ObJaReszVN/BGefbhjn1S14R4h6xXhidA+JOpS8BN2XBhQbiWxR0ExAikOzHmqD53ZRA7u8Mwlp7d9OseGoJECe/1c9XUcnr7TQOSPhkx/8uERZs9c+NysIWlaflewBOLkMv6m70gff2iXgWm7i7IVLiuIKT6VUQZnY6FW0Q/WduSVetrlXZHm3lC0ikgx4nir459LsVnxLxII2NvJ3Hl5K2YSKPVXGQyjmY2DSwge5/qsA8L0Y/Ef8PzM7q/wgGAjRaIBvBDekqMCwvzJZ//Kvsz924hdGqlUStUBPZgKrhmYUIzAU2PloQvA== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?ks_c_5601-1987?B?UnFBQVRSaEhRU04xRVZZYUlUZW8rbmxGa29NM1pDcFU1TUkrWFln?= =?ks_c_5601-1987?B?RWMyKzBBMk5yQTNsLzZ2U2FaRVp3Y1ZleGpyRGZIUkVTaVd6djVa?= =?ks_c_5601-1987?B?dVkrd1ZYeFRha0V4ekZuditGMmlxVmFDeXppNURWTi9NK3dOM2V5?= =?ks_c_5601-1987?B?MnhqN1FFaG5hZnVuNG1XdW1zaTl1M1pteVhWa1lNSGFHdzJTUUdE?= =?ks_c_5601-1987?B?R2ZqRUE5UTJGR0JTYlVnTFhTWDJKbFpNQ2U0TXgzUTBXQXJTWVhG?= =?ks_c_5601-1987?B?K1ppZ3BuTmxTN0YybWJoZU0vSUFPRklZK05BVDJPbkQ0TGEycDYv?= =?ks_c_5601-1987?B?cXhjRXZHRlMyaXpHaXRHMVBCQS95bDd2bUN1TzErQ2ZSczdIRW9a?= =?ks_c_5601-1987?B?enZaMTk2SHlEbFl1K2Vpem5xNjUrU2VLSGJ1bzlRd25Gb081N01s?= =?ks_c_5601-1987?B?aldpdnVMZFg3eC9qMitaODB0bTBRL0V0SENhT3dzNEVvZHZuMDBN?= =?ks_c_5601-1987?B?a29GSlh4S0RPME14T3hKaW5HVzNONEpYbEJlTWxrZHkvSjJXTHFB?= =?ks_c_5601-1987?B?T2pWRDVaQlpEbVlpeGVnc3lDRXp5THhpUWsxVHVlNzBDczF4VXR4?= =?ks_c_5601-1987?B?aDVwVVRpeEowSnFRa3NJcm1BSjczcHJQbFBxMWUxWXEzU3VHM3ZW?= =?ks_c_5601-1987?B?Y1ZqUHRrQmxLUWZPK2dMVHJITGZkc2djN3NtSkM5T0EwV0VPbWcy?= =?ks_c_5601-1987?B?Z0J2VEY0aCt5S0dVa1ZzNFhoQ0wzRDZxZU1rTW1uM28weEYwNGpJ?= =?ks_c_5601-1987?B?SVdYLzc2NzliZC9QTXhZMWkvVlFkMi9zNU1WVkcwMnlYZzB0SjdH?= =?ks_c_5601-1987?B?WFpSVElFWndmM1JNNHppUk1JNENkN2pGUG5SNUR5SnFWZ2lDd1NG?= =?ks_c_5601-1987?B?Ri9pd1FtUy9zODhlaFUwV0JGZjNGTmsyVHJ3eHd2c0NUZXQ3SDlX?= =?ks_c_5601-1987?B?V0ZueStJTjdjWGgwNzlrclMwWGUrU1lZTjdkMVFUdEMwbEVHZVhk?= =?ks_c_5601-1987?B?NnRMaXVXR0ZCalZVL0RpZnpaVWpRMnpXRks1V0s5OHk1OEs0TGdR?= =?ks_c_5601-1987?B?Q0FGVlN2bTVxU2JMNkV0c3lKYlFoaEpDRExESlF3Z0ppNmdva1Bo?= =?ks_c_5601-1987?B?ejc2YlVoMDllclVxRzFCMTkxZXJlMGlDT1BwVDBlelUxWUYxL00r?= =?ks_c_5601-1987?B?WG9PVFdCUUE4UXkySnhETzg2RmhGTU5WdGlpSTY4UHFwRVhoUFB6?= =?ks_c_5601-1987?B?WTFCMjZPN3dscTNIcTZEQkc2T0E2UDJhWXh1aG10WjY2RXY0TUY3?= =?ks_c_5601-1987?B?NnlXVkZlUzVITmdWa1lrVmY4TDJHSEk0SjJLdUlLaU1mMUZzMUI5?= =?ks_c_5601-1987?B?TlphZXQvRk9BV0VJL2Z1RkxLOTVPaEZJcGY4VXFwYkRyTTZzYXpv?= =?ks_c_5601-1987?B?RHZHOFlUUnJqWlN4OUZvVk1XelF4T3FwZGZFbFI0Z2ZXMFRGVlUr?= =?ks_c_5601-1987?B?OEZuTVZ2enlacExITEp1UmhieVI3TnBuZG9tSkQ1UENabSsxMnox?= =?ks_c_5601-1987?B?S3k3QU94UlI4enp4eCtXSUNXclg2cldTeFpYdzZoK21hSkVNTHZC?= =?ks_c_5601-1987?B?QnlsOXJvK1NDMGhrWUd1dEtsRndpQlRpM1VCQ0h2cXpiRkdwYWph?= =?ks_c_5601-1987?B?b0l1Wk1adHdMUDZlalB0R3JhSjl5YjVJK3pOTlF2c1h0TTYwU3FY?= =?ks_c_5601-1987?B?Vnh6ZWdrbDZ4ZjZDYk4wVjh4NEhrZVoxNjZNTHFOeXl3RW1aRGI5?= =?ks_c_5601-1987?B?TUIzdUtDZUZ5UlBhTDlzeEhhbTZQd0NrTEpmamtLenNFVCs4UnE4?= =?ks_c_5601-1987?B?TTAyT2lVUGJFeWZ2aHNJR0dqMWZkVUd3MVhvUllXS201aXdCQXJz?= =?ks_c_5601-1987?B?NjZ0QjFPZWhFRE90eGp3PT0=?= Content-Type: multipart/alternative; boundary="_000_BYAPR04MB48240D3DD515B53923A3C518B7DD9BYAPR04MB4824namp_" 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: 361fd166-1e5e-4c5c-df0b-08db0dd7c320 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Feb 2023 15:34:14.5429 (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: BL0PR04MB4451 X-Spam-Status: No, score=-5.8 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,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_BYAPR04MB48240D3DD515B53923A3C518B7DD9BYAPR04MB4824namp_ Content-Type: text/plain; charset="ks_c_5601-1987" Content-Transfer-Encoding: base64 VGhhbmtzIGFsbCBmb3IgeW91ciBoZWxwIGFuZCBjb21tZW50cy4NCg0KTGV0 IG1lIHNoYXJlIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBwYXRjaC4g RXNwZWNpYWxseSBmb3IgdGhlIHRyZWUtc3NhLXNjY3ZuLmNjIHBhcnQuDQoN CkFzc3VtZSB3ZSBoYXZlIHRoZSBibG93IHRlc3QgY29kZSBmb3IgdGhpcyBp c3N1ZS4NCg0Kdm9pZA0KdGVzdF8xKGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCiAgICB2Ym9vbDhfdCB2MiA9ICoo dmJvb2w4X3QqKWluOw0KICAgIHZib29sMTZfdCB2NSA9ICoodmJvb2wxNl90 KilpbjsNCg0KICAgICoodmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjI7DQog ICAgKih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjU7DQp9DQoNCldpdGhv dXQgdGhlIHRyZWUtc3NhLXNjY3ZuLmNjIGZpbGUgY29kZSBjaGFuZ2UuDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCnZvaWQg dGVzdF8xIChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJp Y3Qgb3V0KQ0Kew0KICB2Ym9vbDhfdCB2MjsNCiAgX19ydnZfYm9vbDE2X3Qg XzE7DQoNCiAgPGJiIDI+IFtsb2NhbCBjb3VudDogMTA3Mzc0MTgyNF06DQog IHYyXzQgPSBNRU1bKHZib29sOF90ICopaW5fMyhEKV07DQogIF8xID0gVklF V19DT05WRVJUX0VYUFI8X19ydnZfYm9vbDE2X3Q+KHYyXzQpOyAgLy8gaW5z ZXJ0IGR1cmluZyAwMzkuZnJlMQ0KICBNRU1bKHZib29sOF90ICopb3V0XzUo RCkgKyAxMDBCXSA9IHYyXzQ7DQogIE1FTVsodmJvb2wxNl90ICopb3V0XzUo RCkgKyAyMDBCXSA9IF8xOw0KICByZXR1cm47DQp9DQoNCldJdGhpbiB0aGUg dHJlZS1zc2Etc2Njdm4uY2MgZmlsZSBjb2RlIGNoYW5nZS4NCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0Kdm9pZCB0ZXN0XzEg KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQp DQp7DQogIHZib29sMTZfdCB2NTsNCiAgdmJvb2w4X3QgdjI7DQoNCiAgPGJi IDI+IFtsb2NhbCBjb3VudDogMTA3Mzc0MTgyNF06DQogIHYyXzMgPSBNRU1b KHZib29sOF90ICopaW5fMihEKV07DQogIHY1XzQgPSBNRU1bKHZib29sMTZf dCAqKWluXzIoRCldOw0KICBNRU1bKHZib29sOF90ICopb3V0XzUoRCkgKyAx MDBCXSA9IHYyXzM7DQogIE1FTVsodmJvb2wxNl90ICopb3V0XzUoRCkgKyAy MDBCXSA9IHY1XzQ7DQogIHJldHVybjsNCn0NCg0KVGh1cywgSSBmaWd1cmVk IG91dCB0aGUgYS1tYWluLmMuMDM5dC5mcmUxIHBhc3MgcmVzdWx0cyBpbiB0 aGlzIENPTlZFUlQgYmVpbmcgaW5zZXJ0ZWQuDQpXaXRoIHNvbWUgZGVidWdn aW5nLCBJIGxvY2F0ZWQgdGhlIGRpZmZlcmVuY2UgdGhhdCBjb21lcyBmcm9t IHRoZQ0KZXhwcmVzc2lvbnNfZXF1YWxfcC4gSWYgR0VUX01PREVfU0laRSht b2RlKSBpcyB0aGUgc2FtZSBiZXR3ZWVuIHRoZSBWeE44Qmltb2RlDQphbmQg VnhONEJpbW9kZSwgdGhlIGV4cHJlc3Npb25zX2VxdWFsX3Agd2lsbCBjb21w YXJlIHRoZSBzYW1lIGFkZHJlc3Mgb2YgYSB0cmVlLCBha2ENClBPTFlfSU5U X0NTVCBbOCwgOF0uDQoNCnZpc2l0X3JlZmVyZW5jZV9vcF9sb2FkDQogICAg fC0gdm5fcmVmZXJlbmNlX2xvb2t1cA0KICAgICAgICB8LSB2bl9yZWZlcmVu Y2VfbG9va3VwXzINCiAgICAgICAgICAgICB8LSBmaW5kX3Nsb3Rfd2l0aF9o YXNoDQogICAgICAgICAgICAgICAgIHwtIHZuX3JlZmVyZW5jZV9oYXNoZXI6 OmVxdWFsDQogICAgICAgICAgICAgICAgICAgICB8LSBleHByZXNzaW9uc19l cXVhbF9wDQoNCk1lYW53aGlsZSwgd2UgYWxzbyBkb3VibGUtY2hlY2tlZCB0 aGF0IHNldCB0aGUgZGlmZmVyZW50IE1PREVfU0laRSBvZiBib3RoIHRoZQ0K VnhOOEJpbW9kZSBhbmQgVnhONEJpbW9kZSAoZm9yIGV4YW1wbGUsIFs4LCAx XSBhbmQgWzQsMV0gZm9yIHRlc3Qgb25seSkgYXJlIGFibGUNCnRvIHJlc29s dmUgdGhpcyBpc3N1ZS4gQnV0IHRoZXkgc2hvdWxkIGJlIFsxLCAxXSBhY2Nv cmRpbmcgdG8gdGhlIElTQSBzZW1hbnRpY3MuDQoNClRodXMsIHdlIHRyeSB0 byBzZXQgb3RoZXIgTU9ERV9YWFggYnV0IGl0IHNlZW1zIG5vdCB3b3JraW5n IGF0IGFsbC4gRm9yIGV4YW1wbGU6DQoNClZOeDRCSU1vZGUgTlVOSVRTIFsw eDQsIDB4NF0NClZOeDhCSU1vZGUgTlVOSVRTIFsweDgsIDB4OF0NCg0KRmlu YWxseSwgSSBmb3VuZCB0aGUgVEFSR0VUX01PREVTX1RJRUFCTEVfUCBhbmQg aW5qZWN0IGl0IGludG8gdGhlIGZ1bmN0aW9uDQp2aXNpdF9yZWZlcmVuY2Vf b3BfbG9hZCB0byByZXNvbHZlIHRoaXMgaXNzdWUuDQoNCkkgd2lsbCBjb250 aW51ZSB0byB0cnkgb3RoZXIgd2F5cyBiZXNpZGVzIHRoZSB0cmVlLXNzYS1z Y2N2bi5jYyBpZiB0aGlzIG1heSBub3QgYmUNCnRoZSByaWdodCBwbGFjZSBm b3IgdGhpcyBpc3N1ZS4NCg0KVGhhbmsgYWdhaW4gYW5kIHdpbGwga2VlcCB5 b3UgcG9zdGVkLg0KDQpQYW4NCg0KDQoNCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fDQpGcm9tOiBBbmRyZXcgU3R1YmJzIDxhbXNAY29kZXNv dXJjZXJ5LmNvbT4NClNlbnQ6IE1vbmRheSwgRmVicnVhcnkgMTMsIDIwMjMg MTk6MDANClRvOiBSaWNoYXJkIEJpZW5lciA8cmd1ZW50aGVyQHN1c2UuZGU+ OyBqdXpoZS56aG9uZ0ByaXZhaS5haSA8anV6aGUuemhvbmdAcml2YWkuYWk+ DQpDYzogUGFuIExpIDxpbmNhcm5hdGlvbi5wLmxlZUBvdXRsb29rLmNvbT47 IGdjYy1wYXRjaGVzIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz47IGtpdG8u Y2hlbmcgPGtpdG8uY2hlbmdAc2lmaXZlLmNvbT47IHJpY2hhcmQuc2FuZGlm b3JkQGFybS5jb20gPHJpY2hhcmQuc2FuZGlmb3JkQGFybS5jb20+DQpTdWJq ZWN0OiBSZTogW1BBVENIXSBSSVNDLVY6IEJ1Z2ZpeCBmb3IgbW9kZSB0aWVh YmxlIG9mIHRoZSBydnYgYm9vbCB0eXBlcw0KDQpJIHByZXN1bWUgSSd2ZSBi ZWVuIENDJ2Qgb24gdGhpcyBjb252ZXJzYXRpb24gYmVjYXVzZSB3ZWlyZCB2 ZWN0b3INCmFyY2hpdGVjdHVyZSBwcm9ibGVtcyBoYXZlIGhhcHBlbmVkIHRv IG1lIGJlZm9yZS4gOikNCg0KSG93ZXZlciwgSSdtIG5vdCBzdXJlIEkgY2Fu IGhlbHAgbXVjaCBiZWNhdXNlIEFNRCBHQ04gZG9lcyBub3QgdXNlDQpCSW1v ZGUgdmVjdG9ycyBhdCBhbGwuIFRoaXMgaXMgcGFydGx5IGJlY2F1c2UgbG9h ZGluZyBib29sZWFuIHZhbHVlcw0KaW50byBhIEdDTiB2ZWN0b3Igd291bGQg aGF2ZSAzMSBwYWRkaW5nIGJpdHMgZm9yIGVhY2ggbGFuZSwgYnV0IG1vc3Rs eQ0KYmVjYXVzZSB0aGUgcmVzdWx0IG9mIGNvbXBhcmlzb24gaW5zdHJ1Y3Rp b25zIGlzIHdyaXR0ZW4gdG8gYSBESW1vZGUNCnNjYWxhciByZWdpc3Rlciwg bm90IGludG8gYSB2ZWN0b3IuDQoNCkkgZGlkIGV4cGVyaW1lbnQsIGxvbmcg YWdvLCB3aXRoIGhhdmluZyBhIFY2NEJJbW9kZSB0aGF0IGNvdWxkIGJlIHN0 b3JlZA0KaW4gc2NhbGFyIHJlZ2lzdGVycyAodGllYWJsZSB3aXRoIERJbW9k ZSksIGJ1dCB0aGVyZSB3YXNuJ3QgYW55IGdyZWF0DQphZHZhbnRhZ2UgYW5k IGl0IGJyb2tlIFZFQ1RPUl9NT0RFX1AgaW4gbW9zdCBvdGhlciBjb250ZXh0 cy4NCg0KSXQncyBwb3NzaWJsZSB0byBzdG9yZSB0cnV0aCB2YWx1ZXMgaW4g dmVjdG9ycyBhcyBpbnRlZ2VycywgYW5kIHRoZXJlDQphcmUgc29tZSBjYXNl cyB3aGVyZSB3ZSBkbyBzbyAoU0lNRCBjbG9uZSBtYXNrIGFyZ3VtZW50cywg Zm9yIGV4YW1wbGUpLA0KYnV0IHRoYXQncyBtb3N0bHkgdG8gc21vb3RoIHRo aW5ncyBvdmVyIGluIHRoZSBtaWRkbGUtZW5kLg0KDQpUaGUgcHJvYmxlbSB3 aXRoIHBhZGRpbmcgYml0cyBpcyBzb21ldGhpbmcgSSBkbyBzZWU6IFY2NFFJ bW9kZSBoYXMgMjQNCnBhZGRpbmcgYml0cyBmb3IgZWFjaCBsYW5lLCBpbiBy ZWdpc3Rlci4gV2hpbGUgdGhlcmUgYXJlIGluc3RydWN0aW9ucw0KdGhhdCB3 aWxsIGxvYWQgYW5kIHN0b3JlIFFJbW9kZSB2ZWN0b3JzIGNvcnJlY3RseSwg d2l0aG91dCB0aGUgcGFkZGluZywNCnRoZSBiYWNrZW5kIHN0aWxsIGhhcyB0 byBoYW5kbGUgYWxsIHRoZSBzaWduLWV4dGVuZHMsIHplcm8tZXh0ZW5kcywg YW5kDQp0cnVuY2F0ZXMgZXhwbGljaXRseSwgYmVjYXVzZSB0aGUgbWlkZGxl LWVuZCBhbmQgZXhwYW5kIHBhc3MgZ2l2ZSBubw0KYXNzaXN0YW5jZSB3aXRo IHRoYXQgZm9yIHZlY3RvcnMgKHVubGlrZSBzY2FsYXJzKS4NCg0KQW5kcmV3 DQpPbiAxMy8wMi8yMDIzIDA4OjA3LCBSaWNoYXJkIEJpZW5lciB2aWEgR2Nj LXBhdGNoZXMgd3JvdGU6DQo+IE9uIFNhdCwgMTEgRmViIDIwMjMsIGp1emhl Lnpob25nQHJpdmFpLmFpIHdyb3RlOg0KPg0KPj4gVGhhbmtzIGZvciBjb250 cmlidXRpbmcgdGhpcy4NCj4+IEhpLCBSaWNoYXJkLiBDYW4geW91IGhlbHAg dXMgd2l0aCB0aGlzIGlzc3VlPw0KPj4gSW4gUlZWLCB3ZSBoYXZlIHZib29s OF90IChWTng4Qkltb2RlKSwgdmJvb2wxNl90IChWTng0Qkltb2RlKSwgdmJv b2wzMl90IChWTngyQkltb2RlKSwgdmJvb2w2NF90IChWTngxQkltb2RlKQ0K Pj4gU2luY2Ugd2UgYXJlIHVzaW5nIDFiaXQtbWFzayB3aGljaCBpcyAxLUJP T0wgb2NjdXB5IDFiaXQuDQo+PiBBY2NvcmRpbmcgdG8gUlZWIElTQSwgd2Ug YWRqdXN0IHRoZXNlIG1vZGVzIGFzIGZvbGxvd3M6DQo+Pg0KPj4gVk54OEJJ bW9kZSBwb2x5ICg4LDgpIE5VTlRUUyAoZWFjaCBudW5pdHMgaXMgMWJpdCBt YXNrKQ0KPj4gVk54NEJJbW9kZSBwb2x5KDQsNCkgTlVOVFRTIChlYWNoIG51 bml0cyBpcyAxYml0IG1hc2spDQo+PiBWTngyQkltb2RlIHBvbHkoMiwyKSBO VU5UVFMgKGVhY2ggbnVuaXRzIGlzIDFiaXQgbWFzaykNCj4+IFZOeDFCSW1v ZGUgcG9seSAoMSwxKSBOVU5UVFMgKGVhY2ggbnVuaXRzIGlzIDFiaXQgbWFz aykNCj4NCj4gU28gaG93J3MgVk54MUJJbW9kZSBsYWlkIG91dCBmb3IgTiA9 PSAyPyAgSXMgdGhhdCBzdGlsbCBhIHNpbmdsZQ0KPiBieXRlIGFuZCB0d28g Y29uc2VjdXRpdmUgYml0cz8gIEkgc3VwcG9zZSBzby4NCj4NCj4gQnV0IHRo ZW4gR0VUX01PREVfUFJFQ0lTSU9OIChHRVRfTU9ERV9JTk5FUiAoLi4pKSBz aG91bGQgYWx3YXlzIGJlIDE/DQo+DQo+IEknbSBub3Qgc3VyZSB3aGF0IEdF VF9NT0RFX1BSRUNJU0lPTiBvZiB0aGUgdmVjdG9yIG1vZGUgaXRzZWxmDQo+ IHNob3VsZCBiZSBoZXJlLCBidXQgdGhlbiBJIHdvbmRlciAuLi4NCj4NCj4+ IElmIHdlIHRyaWVkIEdFVF9NT0RFX0JJVFNJWkUgb3IgR0VUX01PREVfTlVO SVRTIHRvIGdldCB2YWx1ZSwgdGhlaXIgdmFsdWUgYXJlIGRpZmZlcmVudC4N Cj4+IEhvd2V2ZXIsIElmIHdlIHRyaWVkIEdFVF9NT0RFX1NJWkUgb2YgdGhl c2UgbW9kZXMsIHRoZXkgYXJlIHRoZSBzYW1lIChwb2x5ICgxLDEpKS4NCj4+ IFN1Y2ggc2NlbmFyaW8gbWFrZSB0aGVzZSB0aWVkIHRvZ2V0aGVyIGFuZCBn aXZlcyB0aGUgd3JvbmcgY29kZSBnZW4gc2luY2UgdGhlaXIgYml0c2l6ZSBh cmUgZGlmZmVyZW50Lg0KPj4gQ29uc2lkZXIgdGhlIGNhc2UgYXMgdGhpczoN Cj4+ICNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4+IHZvaWQgZm9vNV8z IChpbnQzMl90ICogcmVzdHJpY3QgaW4sIGludDMyX3QgKiByZXN0cmljdCBv dXQsIHNpemVfdCBuLCBpbnQgY29uZCkNCj4+IHsNCj4+ICAgIHZpbnQ4bTFf dCB2ID0gKih2aW50OG0xX3QqKWluOw0KPj4gICAgKih2aW50OG0xX3QqKW91 dCA9IHY7ICB2Ym9vbDE2X3QgdjQgPSAqKHZib29sMTZfdCAqKWluOw0KPj4g ICAgKih2Ym9vbDE2X3QgKikob3V0ICsgMzAwKSA9IHY0Ow0KPj4gICAgdmJv b2w4X3QgdjMgPSAqKHZib29sOF90KilpbjsNCj4+ICAgICoodmJvb2w4X3Qq KShvdXQgKyAyMDApID0gdjM7DQo+PiB9DQo+PiBUaGUgc2Vjb25kIHZib29s OF90IGxvYWQgKHZsbS52KSBpcyBtaXNzaW5nLiBTaW5jZSBHQ0MgZ2l2ZXMg InYzID0gVklFV19DT05WRVJUICh2Ym9vbDhfdCkgdjQiIGluIGdpbXBsZS4N Cj4+IFdlIGZhaWxlZCB0byBmaXggaXQgaW4gUklTQy1WIGJhY2tlbmQuIENh biB5b3UgaGVscCB1cyB3aXRoIHRoaXM/IFRoYW5rcy4NCj4NCj4gLi4uIHdo eSBmb3IgdGhlIGxvYWRzIHRoZSAicGFkZGluZyIgaXMgbm90IGxvYWRlZD8g IFRoZSBhYm92ZSB0ZXN0Y2FzZQ0KPiBpcyBwcm9iYWJseSBtb3JlIGNvbXBs aWNhdGVkIHRoYW4gbmVjZXNzYXJ5IGFzIHdlbGw/DQo+DQo+IFRoYW5rcywN Cj4gUmljaGFyZC4NCj4NCj4+DQo+PiBqdXpoZS56aG9uZ0ByaXZhaS5haQ0K Pj4NCj4+IEZyb206IGluY2FybmF0aW9uLnAubGVlDQo+PiBEYXRlOiAyMDIz LTAyLTExIDE2OjQ2DQo+PiBUbzogZ2NjLXBhdGNoZXMNCj4+IENDOiBqdXpo ZS56aG9uZzsga2l0by5jaGVuZzsgcmd1ZW50aGVyOyBQYW4gTGkNCj4+IFN1 YmplY3Q6IFtQQVRDSF0gUklTQy1WOiBCdWdmaXggZm9yIG1vZGUgdGllYWJs ZSBvZiB0aGUgcnZ2IGJvb2wgdHlwZXMNCj4+IEZyb206IFBhbiBMaSA8aW5j YXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb20+DQo+Pg0KPj4gRml4IHRoZSBi dWcgZm9yIG1vZGUgdGllYWJsZSBvZiB0aGUgcnZ2IGJvb2wgdHlwZXMuIFRo ZSB2Ym9vbCpfdA0KPj4gY2Fubm90IGJlIHRpZWQgYXMgdGhlIGFjdHVhbGx5 IGxvYWQvc3RvcmUgc2l6ZSBpcyBkZXRlcm1pbmF0ZWQgYnkNCj4+IHRoZSB2 bC4gVGhlIG1vZGUgc2l6ZSBvZiBydnYgYm9vbCB0eXBlcyBhcmUgYWxzbyBh ZGp1c3RlZCBmb3IgdGhlDQo+PiB1bmRlcmx5aW5nIG9wdGltaXphdGlvbiBw YXNzLiBUaGUgcnZ2IGJvb2wgdHlwZSBpcyB2Ym9vbCpfdCwgYWthDQo+PiB2 Ym9vbDFfdCwgdmJvb2wyX3QsIHZib29sNF90LCB2Ym9vbDhfdCwgdmJvb2wx Nl90LCB2Ym9vbDMyX3QsIGFuZA0KPj4gdmJvb2w2NF90Lg0KPj4NCj4+IFBS IDEwODE4NQ0KPj4gUFIgMTA4NjU0DQo+Pg0KPj4gZ2NjL0NoYW5nZUxvZzoN Cj4+DQo+PiAqIGNvbmZpZy9yaXNjdi9yaXNjdi1tb2Rlcy5kZWYgKEFESlVT VF9CWVRFU0laRSk6DQo+PiAqIGNvbmZpZy9yaXNjdi9yaXNjdi5jYyAocmlz Y3Zfdl9hZGp1c3RfYnl0ZXNpemUpOg0KPj4gKHJpc2N2X21vZGVzX3RpZWFi bGVfcCk6DQo+PiAqIGNvbmZpZy9yaXNjdi9yaXNjdi5oIChyaXNjdl92X2Fk anVzdF9ieXRlc2l6ZSk6DQo+PiAqIG1hY2htb2RlLmggKFZFQ1RPUl9CT09M X01PREVfUCk6DQo+PiAqIHRyZWUtc3NhLXNjY3ZuLmNjICh2aXNpdF9yZWZl cmVuY2Vfb3BfbG9hZCk6DQo+Pg0KPj4gZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VM b2c6DQo+Pg0KPj4gKiBnY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTEuYzog TmV3IHRlc3QuDQo+PiAqIGdjYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMi5j OiBOZXcgdGVzdC4NCj4+ICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0z LmM6IE5ldyB0ZXN0Lg0KPj4gKiBnY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1 LTQuYzogTmV3IHRlc3QuDQo+PiAqIGdjYy50YXJnZXQvcmlzY3YvcHIxMDgx ODUtNS5jOiBOZXcgdGVzdC4NCj4+ICogZ2NjLnRhcmdldC9yaXNjdi9wcjEw ODE4NS02LmM6IE5ldyB0ZXN0Lg0KPj4gKiBnY2MudGFyZ2V0L3Jpc2N2L3By MTA4MTg1LTcuYzogTmV3IHRlc3QuDQo+PiAqIGdjYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtOC5jOiBOZXcgdGVzdC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5 OiBQYW4gTGkgPGluY2FybmF0aW9uLnAubGVlQG91dGxvb2suY29tPg0KPj4g LS0tDQo+PiBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW1vZGVzLmRlZiAgICAg ICAgICAgIHwgMTQgKystLQ0KPj4gZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5j YyAgICAgICAgICAgICAgICAgICB8IDM0ICsrKysrKysrLQ0KPj4gZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi5oICAgICAgICAgICAgICAgICAgICB8ICAyICsN Cj4+IGdjYy9tYWNobW9kZS5oICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMyArDQo+PiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtMS5jIHwgNjggKysrKysrKysrKysrKysrKysrDQo+PiBnY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMi5jIHwgNjgg KysrKysrKysrKysrKysrKysrDQo+PiBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcHIxMDgxODUtMy5jIHwgNjggKysrKysrKysrKysrKysrKysr DQo+PiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUt NC5jIHwgNjggKysrKysrKysrKysrKysrKysrDQo+PiBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNS5jIHwgNjggKysrKysrKysr KysrKysrKysrDQo+PiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtNi5jIHwgNjggKysrKysrKysrKysrKysrKysrDQo+PiBnY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNy5jIHwgNjgg KysrKysrKysrKysrKysrKysrDQo+PiBnY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcHIxMDgxODUtOC5jIHwgNzcgKysrKysrKysrKysrKysrKysr KysrDQo+PiBnY2MvdHJlZS1zc2Etc2Njdm4uY2MgICAgICAgICAgICAgICAg ICAgICAgIHwgMTMgKysrLQ0KPj4gMTMgZmlsZXMgY2hhbmdlZCwgNjA4IGlu c2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQ0KPj4gY3JlYXRlIG1vZGUg MTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4 NS0xLmMNCj4+IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMi5jDQo+PiBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1 LTMuYw0KPj4gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9wcjEwODE4NS00LmMNCj4+IGNyZWF0ZSBtb2RlIDEw MDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUt NS5jDQo+PiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTYuYw0KPj4gY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS03 LmMNCj4+IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcHIxMDgxODUtOC5jDQo+Pg0KPj4gZGlmZiAtLWdpdCBh L2djYy9jb25maWcvcmlzY3YvcmlzY3YtbW9kZXMuZGVmIGIvZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi1tb2Rlcy5kZWYNCj4+IGluZGV4IGQ1MzA1ZWZhOGE2 Li5jYzIxZDNjODNhMiAxMDA2NDQNCj4+IC0tLSBhL2djYy9jb25maWcvcmlz Y3YvcmlzY3YtbW9kZXMuZGVmDQo+PiArKysgYi9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2LW1vZGVzLmRlZg0KPj4gQEAgLTY0LDEzICs2NCwxMyBAQCBBREpV U1RfQUxJR05NRU5UIChWTngxNkJJLCAxKTsNCj4+IEFESlVTVF9BTElHTk1F TlQgKFZOeDMyQkksIDEpOw0KPj4gQURKVVNUX0FMSUdOTUVOVCAoVk54NjRC SSwgMSk7DQo+PiAtQURKVVNUX0JZVEVTSVpFIChWTngxQkksIHJpc2N2X3Zl Y3Rvcl9jaHVua3MgKiByaXNjdl9ieXRlc19wZXJfdmVjdG9yX2NodW5rKTsN Cj4+IC1BREpVU1RfQllURVNJWkUgKFZOeDJCSSwgcmlzY3ZfdmVjdG9yX2No dW5rcyAqIHJpc2N2X2J5dGVzX3Blcl92ZWN0b3JfY2h1bmspOw0KPj4gLUFE SlVTVF9CWVRFU0laRSAoVk54NEJJLCByaXNjdl92ZWN0b3JfY2h1bmtzICog cmlzY3ZfYnl0ZXNfcGVyX3ZlY3Rvcl9jaHVuayk7DQo+PiAtQURKVVNUX0JZ VEVTSVpFIChWTng4QkksIHJpc2N2X3ZlY3Rvcl9jaHVua3MgKiByaXNjdl9i eXRlc19wZXJfdmVjdG9yX2NodW5rKTsNCj4+IC1BREpVU1RfQllURVNJWkUg KFZOeDE2QkksIHJpc2N2X3ZlY3Rvcl9jaHVua3MgKiByaXNjdl9ieXRlc19w ZXJfdmVjdG9yX2NodW5rKTsNCj4+IC1BREpVU1RfQllURVNJWkUgKFZOeDMy QkksIHJpc2N2X3ZlY3Rvcl9jaHVua3MgKiByaXNjdl9ieXRlc19wZXJfdmVj dG9yX2NodW5rKTsNCj4+IC1BREpVU1RfQllURVNJWkUgKFZOeDY0QkksIHJp c2N2X3ZfYWRqdXN0X251bml0cyAoVk54NjRCSW1vZGUsIDgpKTsNCj4+ICtB REpVU1RfQllURVNJWkUgKFZOeDFCSSwgcmlzY3Zfdl9hZGp1c3RfYnl0ZXNp emUgKFZOeDFCSW1vZGUsIDEpKTsNCj4+ICtBREpVU1RfQllURVNJWkUgKFZO eDJCSSwgcmlzY3Zfdl9hZGp1c3RfYnl0ZXNpemUgKFZOeDJCSW1vZGUsIDEp KTsNCj4+ICtBREpVU1RfQllURVNJWkUgKFZOeDRCSSwgcmlzY3Zfdl9hZGp1 c3RfYnl0ZXNpemUgKFZOeDRCSW1vZGUsIDEpKTsNCj4+ICtBREpVU1RfQllU RVNJWkUgKFZOeDhCSSwgcmlzY3Zfdl9hZGp1c3RfYnl0ZXNpemUgKFZOeDhC SW1vZGUsIDEpKTsNCj4+ICtBREpVU1RfQllURVNJWkUgKFZOeDE2QkksIHJp c2N2X3ZfYWRqdXN0X2J5dGVzaXplIChWTngxNkJJbW9kZSwgMikpOw0KPj4g K0FESlVTVF9CWVRFU0laRSAoVk54MzJCSSwgcmlzY3Zfdl9hZGp1c3RfYnl0 ZXNpemUgKFZOeDMyQkltb2RlLCA0KSk7DQo+PiArQURKVVNUX0JZVEVTSVpF IChWTng2NEJJLCByaXNjdl92X2FkanVzdF9ieXRlc2l6ZSAoVk54NjRCSW1v ZGUsIDgpKTsNCj4+IC8qDQo+PiAgICAgIHwgTW9kZSAgICAgICAgfCBNSU5f VkxFTj0zMiB8IE1JTl9WTEVOPTMyIHwgTUlOX1ZMRU49NjQgfCBNSU5fVkxF Tj02NCB8DQo+PiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNj di5jYyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MNCj4+IGluZGV4IDNi NzgwNGI3NTAxLi4xMzhjMDUyZTEzYyAxMDA2NDQNCj4+IC0tLSBhL2djYy9j b25maWcvcmlzY3YvcmlzY3YuY2MNCj4+ICsrKyBiL2djYy9jb25maWcvcmlz Y3YvcmlzY3YuY2MNCj4+IEBAIC0xMDAzLDYgKzEwMDMsMjcgQEAgcmlzY3Zf dl9hZGp1c3RfbnVuaXRzIChtYWNoaW5lX21vZGUgbW9kZSwgaW50IHNjYWxl KQ0KPj4gICAgIHJldHVybiBzY2FsZTsNCj4+IH0NCj4+ICsvKiBDYWxsIGZy b20gQURKVVNUX0JZVEVTSVpFIGluIHJpc2N2LW1vZGVzLmRlZi4gIFJldHVy biB0aGUgY29ycmVjdA0KPj4gKyAgIEJZVEVTIHNpemUgZm9yIGNvcnJlc3Bv bmRpbmcgbWFjaGluZV9tb2RlLiAgKi8NCj4+ICsNCj4+ICtwb2x5X2ludDY0 DQo+PiArcmlzY3Zfdl9hZGp1c3RfYnl0ZXNpemUgKG1hY2hpbmVfbW9kZSBt b2RlLCBpbnQgc2NhbGUpDQo+PiArew0KPj4gKyAgZ2NjX2Fzc2VydCAoR0VU X01PREVfQ0xBU1MgKG1vZGUpID09IE1PREVfVkVDVE9SX0JPT0wpOw0KPj4g Kw0KPj4gKyAgaWYgKHJpc2N2X3ZfZXh0X3ZlY3Rvcl9tb2RlX3AgKG1vZGUp KQ0KPj4gKyAgICB7DQo+PiArICAgICAgcG9seV91aW50MTYgbW9kZV9zaXpl ID0gR0VUX01PREVfU0laRSAobW9kZSk7DQo+PiArDQo+PiArICAgICAgaWYg KGtub3duX2x0IChtb2RlX3NpemUsIEJZVEVTX1BFUl9SSVNDVl9WRUNUT1Ip KQ0KPj4gKyByZXR1cm4gbW9kZV9zaXplOw0KPj4gKyAgICAgIGVsc2UNCj4+ ICsgcmV0dXJuIEJZVEVTX1BFUl9SSVNDVl9WRUNUT1I7DQo+PiArICAgIH0N Cj4+ICsNCj4+ICsgIHJldHVybiBzY2FsZTsNCj4+ICt9DQo+PiArDQo+PiAv KiBSZXR1cm4gdHJ1ZSBpZiBYIGlzIGEgdmFsaWQgYWRkcmVzcyBmb3IgbWFj aGluZSBtb2RlIE1PREUuICBJZiBpdCBpcywNCj4+ICAgICAgZmlsbCBpbiBJ TkZPIGFwcHJvcHJpYXRlbHkuICBTVFJJQ1RfUCBpcyB0cnVlIGlmIFJFR19P S19TVFJJQ1QgaXMgaW4NCj4+ICAgICAgZWZmZWN0LiAgKi8NCj4+IEBAIC01 ODA3LDExICs1ODI4LDIyIEBAIHJpc2N2X2hhcmRfcmVnbm9fbW9kZV9vayAo dW5zaWduZWQgaW50IHJlZ25vLCBtYWNoaW5lX21vZGUgbW9kZSkNCj4+IC8q IEltcGxlbWVudCBUQVJHRVRfTU9ERVNfVElFQUJMRV9QLg0KPj4gICAgICBE b24ndCBhbGxvdyBmbG9hdGluZy1wb2ludCBtb2RlcyB0byBiZSB0aWVkLCBz aW5jZSB0eXBlIHB1bm5pbmcgb2YNCj4+IC0gICBzaW5nbGUtcHJlY2lzaW9u IGFuZCBkb3VibGUtcHJlY2lzaW9uIGlzIGltcGxlbWVudGF0aW9uIGRlZmlu ZWQuICAqLw0KPj4gKyAgIHNpbmdsZS1wcmVjaXNpb24gYW5kIGRvdWJsZS1w cmVjaXNpb24gaXMgaW1wbGVtZW50YXRpb24gZGVmaW5lZC4NCj4+ICsNCj4+ ICsgICBEb24ndCBhbGxvdyBkaWZmZXJlbnQgdmJvb2wqX3QgbW9kZXMgdG8g YmUgdGllZCwgc2luY2UgdGhlIHR5cGUNCj4+ICsgICBzaXplIGlzIGRldGVy bWluYXRlZCBieSB2bC4gICovDQo+PiBzdGF0aWMgYm9vbA0KPj4gcmlzY3Zf bW9kZXNfdGllYWJsZV9wIChtYWNoaW5lX21vZGUgbW9kZTEsIG1hY2hpbmVf bW9kZSBtb2RlMikNCj4+IHsNCj4+ICsgIGlmIChyaXNjdl92X2V4dF92ZWN0 b3JfbW9kZV9wIChtb2RlMSkgJiYgcmlzY3Zfdl9leHRfdmVjdG9yX21vZGVf cCAobW9kZTIpKQ0KPj4gKyAgICB7DQo+PiArICAgICAgaWYgKFZFQ1RPUl9C T09MX01PREVfUCAobW9kZTEpIHx8IFZFQ1RPUl9CT09MX01PREVfUCAobW9k ZTIpKQ0KPj4gKyByZXR1cm4gZmFsc2U7DQo+PiArDQo+PiArIHJldHVybiBr bm93bl9lcSAoR0VUX01PREVfU0laRSAobW9kZTEpLCBHRVRfTU9ERV9TSVpF IChtb2RlMikpOw0KPj4gKyAgICB9DQo+PiArDQo+PiAgICAgcmV0dXJuICht b2RlMSA9PSBtb2RlMg0KPj4gICAgfHwgIShHRVRfTU9ERV9DTEFTUyAobW9k ZTEpID09IE1PREVfRkxPQVQNCj4+ICAgICAgICAgJiYgR0VUX01PREVfQ0xB U1MgKG1vZGUyKSA9PSBNT0RFX0ZMT0FUKSk7DQo+PiBkaWZmIC0tZ2l0IGEv Z2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5oIGIvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi5oDQo+PiBpbmRleCBmYWZmZDVhNzdmZS4uZjg1NzIyMzMzOGMgMTAw NjQ0DQo+PiAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmgNCj4+ICsr KyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuaA0KPj4gQEAgLTEwMjgsNiAr MTAyOCw4IEBAIGV4dGVybiB1bnNpZ25lZCByaXNjdl9zdGFja19ib3VuZGFy eTsNCj4+IGV4dGVybiB1bnNpZ25lZCByaXNjdl9ieXRlc19wZXJfdmVjdG9y X2NodW5rOw0KPj4gZXh0ZXJuIHBvbHlfdWludDE2IHJpc2N2X3ZlY3Rvcl9j aHVua3M7DQo+PiBleHRlcm4gcG9seV9pbnQ2NCByaXNjdl92X2FkanVzdF9u dW5pdHMgKGVudW0gbWFjaGluZV9tb2RlLCBpbnQpOw0KPj4gK2V4dGVybiBw b2x5X2ludDY0IHJpc2N2X3ZfYWRqdXN0X2J5dGVzaXplIChtYWNoaW5lX21v ZGUgbW9kZSwgaW50IHNjYWxlKTsNCj4+ICsNCj4+IC8qIFRoZSBudW1iZXIg b2YgYml0cyBhbmQgYnl0ZXMgaW4gYSBSVlYgdmVjdG9yLiAgKi8NCj4+ICNk ZWZpbmUgQklUU19QRVJfUklTQ1ZfVkVDVE9SIChwb2x5X3VpbnQxNiAocmlz Y3ZfdmVjdG9yX2NodW5rcyAqIHJpc2N2X2J5dGVzX3Blcl92ZWN0b3JfY2h1 bmsgKiA4KSkNCj4+ICNkZWZpbmUgQllURVNfUEVSX1JJU0NWX1ZFQ1RPUiAo cG9seV91aW50MTYgKHJpc2N2X3ZlY3Rvcl9jaHVua3MgKiByaXNjdl9ieXRl c19wZXJfdmVjdG9yX2NodW5rKSkNCj4+IGRpZmYgLS1naXQgYS9nY2MvbWFj aG1vZGUuaCBiL2djYy9tYWNobW9kZS5oDQo+PiBpbmRleCBmMTg2NWMxZWY0 Mi4uNjcyMDQ3MmYyYzkgMTAwNjQ0DQo+PiAtLS0gYS9nY2MvbWFjaG1vZGUu aA0KPj4gKysrIGIvZ2NjL21hY2htb2RlLmgNCj4+IEBAIC0yNDIsNiArMjQy LDkgQEAgZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIgbW9kZV9jbGFzc1tO VU1fTUFDSElORV9NT0RFU107DQo+PiAgICAgIHx8IENMQVNTID09IE1PREVf QUNDVU0gICAgICAgICAgICAgICAgICAgICAgXA0KPj4gICAgICB8fCBDTEFT UyA9PSBNT0RFX1VBQ0NVTSkNCj4+ICsvKiBOb256ZXJvIGlmIE1PREUgaXMg YW4gdmVjdG9yIGJvb2wgbW9kZS4gICovDQo+PiArI2RlZmluZSBWRUNUT1Jf Qk9PTF9NT0RFX1AoTU9ERSkgKEdFVF9NT0RFX0NMQVNTKE1PREUpID09IE1P REVfVkVDVE9SX0JPT0wpDQo+PiArDQo+PiAvKiBBbiBvcHRpb25hbCBUIChp LmUuIGEgVCBvciBub3RoaW5nKSwgd2hlcmUgVCBpcyBzb21lIGZvcm0gb2Yg bW9kZSBjbGFzcy4gICovDQo+PiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPg0KPj4g Y2xhc3Mgb3B0X21vZGUNCj4+IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMS5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTEuYw0KPj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAwMDAwLi5jM2QwYjEwMjcx YQ0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTEuYw0KPj4gQEAgLTAsMCArMSw2 OCBAQA0KPj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+PiArLyogeyBk Zy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1PMyIgfSAq Lw0KPj4gKw0KPj4gKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4+ICsN Cj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDFfdGhlbl92Ym9vbDIoaW50OF90 ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4g KyAgICB2Ym9vbDFfdCB2MSA9ICoodmJvb2wxX3QqKWluOw0KPj4gKyAgICB2 Ym9vbDJfdCB2MiA9ICoodmJvb2wyX3QqKWluOw0KPj4gKw0KPj4gKyAgICAq KHZib29sMV90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29s Ml90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lk DQo+PiArdGVzdF92Ym9vbDFfdGhlbl92Ym9vbDQoaW50OF90ICogcmVzdHJp Y3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9v bDFfdCB2MSA9ICoodmJvb2wxX3QqKWluOw0KPj4gKyAgICB2Ym9vbDRfdCB2 MiA9ICoodmJvb2w0X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMV90 Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sNF90Kikob3V0 ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVz dF92Ym9vbDFfdGhlbl92Ym9vbDgoaW50OF90ICogcmVzdHJpY3QgaW4sIGlu dDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDFfdCB2MSA9 ICoodmJvb2wxX3QqKWluOw0KPj4gKyAgICB2Ym9vbDhfdCB2MiA9ICoodmJv b2w4X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMV90Kikob3V0ICsg MTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMjAwKSA9 IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDFf dGhlbl92Ym9vbDE2KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiBy ZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wxX3QgdjEgPSAqKHZib29s MV90KilpbjsNCj4+ICsgICAgdmJvb2wxNl90IHYyID0gKih2Ym9vbDE2X3Qq KWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMV90Kikob3V0ICsgMTAwKSA9 IHYxOw0KPj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDIwMCkgPSB2MjsN Cj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wxX3RoZW5f dmJvb2wzMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJp Y3Qgb3V0KSB7DQo+PiArICAgIHZib29sMV90IHYxID0gKih2Ym9vbDFfdCop aW47DQo+PiArICAgIHZib29sMzJfdCB2MiA9ICoodmJvb2wzMl90KilpbjsN Cj4+ICsNCj4+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDEwMCkgPSB2MTsN Cj4+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiAr fQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29s NjQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91 dCkgew0KPj4gKyAgICB2Ym9vbDFfdCB2MSA9ICoodmJvb2wxX3QqKWluOw0K Pj4gKyAgICB2Ym9vbDY0X3QgdjIgPSAqKHZib29sNjRfdCopaW47DQo+PiAr DQo+PiArICAgICoodmJvb2wxX3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiAr ICAgICoodmJvb2w2NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ ICsNCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxz KnRhLFxzKm1hfSA2IH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbTQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMixccyp0YSxccyptYX0g MSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km0xLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0r LFxzKnplcm8sXHMqZTgsXHMqbWYyLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0K Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0LFxzKnRh LFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8s XHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmxtXC52XHMrdlsw LTldKyxccyowXChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzbVwudlxzK3Zb MC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIgfSB9ICovDQo+PiBkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4 MTg1LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEw ODE4NS0yLmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAw MDAwMDAwMDAwMC4uYmQxM2JhOTE2ZGENCj4+IC0tLSAvZGV2L251bGwNCj4+ ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4 NS0yLmMNCj4+IEBAIC0wLDAgKzEsNjggQEANCj4+ICsvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLw0KPj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRn Y3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8NCj4+ICsNCj4+ICsjaW5jbHVkZSAi cmlzY3ZfdmVjdG9yLmgiDQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJv b2wyX3RoZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3Qg KiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wyX3QgdjEgPSAqKHZi b29sMl90KilpbjsNCj4+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZib29sMV90 KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDEwMCkg PSB2MTsNCj4+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsN Cj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wyX3RoZW5f dmJvb2w0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmlj dCBvdXQpIHsNCj4+ICsgICAgdmJvb2wyX3QgdjEgPSAqKHZib29sMl90Kilp bjsNCj4+ICsgICAgdmJvb2w0X3QgdjIgPSAqKHZib29sNF90KilpbjsNCj4+ ICsNCj4+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+ PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wyX3RoZW5fdmJvb2w4KGlu dDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsN Cj4+ICsgICAgdmJvb2wyX3QgdjEgPSAqKHZib29sMl90KilpbjsNCj4+ICsg ICAgdmJvb2w4X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4+ICsNCj4+ICsg ICAgKih2Ym9vbDJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2 Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiAr dm9pZA0KPj4gK3Rlc3RfdmJvb2wyX3RoZW5fdmJvb2wxNihpbnQ4X3QgKiBy ZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAg IHZib29sMl90IHYxID0gKih2Ym9vbDJfdCopaW47DQo+PiArICAgIHZib29s MTZfdCB2MiA9ICoodmJvb2wxNl90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2 Ym9vbDJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDE2 X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQN Cj4+ICt0ZXN0X3Zib29sMl90aGVuX3Zib29sMzIoaW50OF90ICogcmVzdHJp Y3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9v bDJfdCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPj4gKyAgICB2Ym9vbDMyX3Qg djIgPSAqKHZib29sMzJfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2wy X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wzMl90Kiko b3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiAr dGVzdF92Ym9vbDJfdGhlbl92Ym9vbDY0KGludDhfdCAqIHJlc3RyaWN0IGlu LCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wyX3Qg djEgPSAqKHZib29sMl90KilpbjsNCj4+ICsgICAgdmJvb2w2NF90IHYyID0g Kih2Ym9vbDY0X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMl90Kiko b3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sNjRfdCopKG91dCAr IDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSss XHMqemVybyxccyplOCxccyptNCxccyp0YSxccyptYX0gNiB9IH0gKi8NCj4+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0yLFxzKnRhLFxz Km1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMq ZTgsXHMqbTEsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1b MC05XSssXHMqemVybyxccyplOCxccyptOCxccyp0YSxccyptYX0gMSB9IH0g Ki8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mMixc cyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6 ZXJvLFxzKmU4LFxzKm1mNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mOCxccyp0YSxccypt YX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZsbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStc KX0gMTIgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c21cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0r XCl9IDEyIH0gfSAqLw0KPj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0zLmMgYi9nY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMy5jDQo+PiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMDAwMDAuLjk5OTI4ZjdiMWNj DQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMy5jDQo+PiBAQCAtMCwwICsxLDY4 IEBADQo+PiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4+ICsvKiB7IGRn LW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICov DQo+PiArDQo+PiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPj4gKw0K Pj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sNF90aGVuX3Zib29sMShpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiAr ICAgIHZib29sNF90IHYxID0gKih2Ym9vbDRfdCopaW47DQo+PiArICAgIHZi b29sMV90IHYyID0gKih2Ym9vbDFfdCopaW47DQo+PiArDQo+PiArICAgICoo dmJvb2w0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wx X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQN Cj4+ICt0ZXN0X3Zib29sNF90aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0cmlj dCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29s NF90IHYxID0gKih2Ym9vbDRfdCopaW47DQo+PiArICAgIHZib29sMl90IHYy ID0gKih2Ym9vbDJfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2w0X3Qq KShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wyX3QqKShvdXQg KyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0 X3Zib29sNF90aGVuX3Zib29sOChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50 OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sNF90IHYxID0g Kih2Ym9vbDRfdCopaW47DQo+PiArICAgIHZib29sOF90IHYyID0gKih2Ym9v bDhfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2w0X3QqKShvdXQgKyAx MDApID0gdjE7DQo+PiArICAgICoodmJvb2w4X3QqKShvdXQgKyAyMDApID0g djI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sNF90 aGVuX3Zib29sMTYoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJl c3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDRfdCB2MSA9ICoodmJvb2w0 X3QqKWluOw0KPj4gKyAgICB2Ym9vbDE2X3QgdjIgPSAqKHZib29sMTZfdCop aW47DQo+PiArDQo+PiArICAgICoodmJvb2w0X3QqKShvdXQgKyAxMDApID0g djE7DQo+PiArICAgICoodmJvb2wxNl90Kikob3V0ICsgMjAwKSA9IHYyOw0K Pj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDRfdGhlbl92 Ym9vbDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmlj dCBvdXQpIHsNCj4+ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29sNF90Kilp bjsNCj4+ICsgICAgdmJvb2wzMl90IHYyID0gKih2Ym9vbDMyX3QqKWluOw0K Pj4gKw0KPj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMTAwKSA9IHYxOw0K Pj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9 DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2w2 NChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0 KSB7DQo+PiArICAgIHZib29sNF90IHYxID0gKih2Ym9vbDRfdCopaW47DQo+ PiArICAgIHZib29sNjRfdCB2MiA9ICoodmJvb2w2NF90KilpbjsNCj4+ICsN Cj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsg ICAgKih2Ym9vbDY0X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4g Kw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTIsXHMq dGEsXHMqbWF9IDYgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptOCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytb YS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSAx IH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMq bTEsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSss XHMqemVybyxccyplOCxccyptZjIsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+ PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0 dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjQsXHMqdGEs XHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxc cyplOCxccyptZjgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAt OV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDEyIH0gfSAqLw0KPj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlsw LTldKyxccyowXChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4+IGRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgx ODUtNC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4 MTg1LTQuYw0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAw MDAwMDAwMDAwLi5lNzAyODRmYWRhOA0KPj4gLS0tIC9kZXYvbnVsbA0KPj4g KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1 LTQuYw0KPj4gQEAgLTAsMCArMSw2OCBAQA0KPj4gKy8qIHsgZGctZG8gY29t cGlsZSB9ICovDQo+PiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdj diAtbWFiaT1scDY0IC1PMyIgfSAqLw0KPj4gKw0KPj4gKyNpbmNsdWRlICJy aXNjdl92ZWN0b3IuaCINCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9v bDhfdGhlbl92Ym9vbDEoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAq IHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDhfdCB2MSA9ICoodmJv b2w4X3QqKWluOw0KPj4gKyAgICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3Qq KWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9 IHYxOw0KPj4gKyAgICAqKHZib29sMV90Kikob3V0ICsgMjAwKSA9IHYyOw0K Pj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDhfdGhlbl92 Ym9vbDIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0 IG91dCkgew0KPj4gKyAgICB2Ym9vbDhfdCB2MSA9ICoodmJvb2w4X3QqKWlu Ow0KPj4gKyAgICB2Ym9vbDJfdCB2MiA9ICoodmJvb2wyX3QqKWluOw0KPj4g Kw0KPj4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4g KyAgICAqKHZib29sMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ ICsNCj4+ICt2b2lkDQo+PiArdGVzdF92Ym9vbDhfdGhlbl92Ym9vbDQoaW50 OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0K Pj4gKyAgICB2Ym9vbDhfdCB2MSA9ICoodmJvb2w4X3QqKWluOw0KPj4gKyAg ICB2Ym9vbDRfdCB2MiA9ICoodmJvb2w0X3QqKWluOw0KPj4gKw0KPj4gKyAg ICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZi b29sNF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2 b2lkDQo+PiArdGVzdF92Ym9vbDhfdGhlbl92Ym9vbDE2KGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAg dmJvb2w4X3QgdjEgPSAqKHZib29sOF90KilpbjsNCj4+ICsgICAgdmJvb2wx Nl90IHYyID0gKih2Ym9vbDE2X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZi b29sOF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sMTZf dCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0K Pj4gK3Rlc3RfdmJvb2w4X3RoZW5fdmJvb2wzMihpbnQ4X3QgKiByZXN0cmlj dCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29s OF90IHYxID0gKih2Ym9vbDhfdCopaW47DQo+PiArICAgIHZib29sMzJfdCB2 MiA9ICoodmJvb2wzMl90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDhf dCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDMyX3QqKShv dXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0 ZXN0X3Zib29sOF90aGVuX3Zib29sNjQoaW50OF90ICogcmVzdHJpY3QgaW4s IGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDhfdCB2 MSA9ICoodmJvb2w4X3QqKWluOw0KPj4gKyAgICB2Ym9vbDY0X3QgdjIgPSAq KHZib29sNjRfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2w4X3QqKShv dXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsg MjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICsvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxc cyp6ZXJvLFxzKmU4LFxzKm0xLFxzKnRhLFxzKm1hfSA2IH0gfSAqLw0KPj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZs aVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTIsXHMqdGEsXHMq bWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccypl OCxccyptOCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVsw LTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWYyLFxz KnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1h fSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dmxtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wp fSAxMiB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStc KX0gMTIgfSB9ICovDQo+PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTUuYyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS01LmMNCj4+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwMDAwMC4uNTc1YTc4NDJjZGYN Cj4+IC0tLSAvZGV2L251bGwNCj4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9wcjEwODE4NS01LmMNCj4+IEBAIC0wLDAgKzEsNjgg QEANCj4+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPj4gKy8qIHsgZGct b3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8N Cj4+ICsNCj4+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+PiArDQo+ PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wxNl90aGVuX3Zib29sMShpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiAr ICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wxNl90KilpbjsNCj4+ICsgICAg dmJvb2wxX3QgdjIgPSAqKHZib29sMV90KilpbjsNCj4+ICsNCj4+ICsgICAg Kih2Ym9vbDE2X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJv b2wxX3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3Zv aWQNCj4+ICt0ZXN0X3Zib29sMTZfdGhlbl92Ym9vbDIoaW50OF90ICogcmVz dHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2 Ym9vbDE2X3QgdjEgPSAqKHZib29sMTZfdCopaW47DQo+PiArICAgIHZib29s Ml90IHYyID0gKih2Ym9vbDJfdCopaW47DQo+PiArDQo+PiArICAgICoodmJv b2wxNl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sMl90 Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+ PiArdGVzdF92Ym9vbDE2X3RoZW5fdmJvb2w0KGludDhfdCAqIHJlc3RyaWN0 IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wx Nl90IHYxID0gKih2Ym9vbDE2X3QqKWluOw0KPj4gKyAgICB2Ym9vbDRfdCB2 MiA9ICoodmJvb2w0X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMTZf dCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDRfdCopKG91 dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rl c3RfdmJvb2wxNl90aGVuX3Zib29sOChpbnQ4X3QgKiByZXN0cmljdCBpbiwg aW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sMTZfdCB2 MSA9ICoodmJvb2wxNl90KilpbjsNCj4+ICsgICAgdmJvb2w4X3QgdjIgPSAq KHZib29sOF90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDE2X3QqKShv dXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2w4X3QqKShvdXQgKyAy MDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zi b29sMTZfdGhlbl92Ym9vbDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4 X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wxNl90IHYxID0g Kih2Ym9vbDE2X3QqKWluOw0KPj4gKyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZi b29sMzJfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2wxNl90Kikob3V0 ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDIw MCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJv b2wxNl90aGVuX3Zib29sNjQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhf dCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDE2X3QgdjEgPSAq KHZib29sMTZfdCopaW47DQo+PiArICAgIHZib29sNjRfdCB2MiA9ICoodmJv b2w2NF90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQg KyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMjAw KSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6 ZXJvLFxzKmU4LFxzKm1mMixccyp0YSxccyptYX0gNiB9IH0gKi8NCj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0yLFxzKnRhLFxzKm1h fSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgs XHMqbTgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05 XSssXHMqemVybyxccyplOCxccyptNCxccyp0YSxccyptYX0gMSB9IH0gKi8N Cj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0xLFxzKnRh LFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8s XHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1th LXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSAx IH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dmxtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAx MiB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0g MTIgfSB9ICovDQo+PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTYuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9wcjEwODE4NS02LmMNCj4+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwMDAwMC4uOTVhMTFkMzcwMTYNCj4+ IC0tLSAvZGV2L251bGwNCj4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9wcjEwODE4NS02LmMNCj4+IEBAIC0wLDAgKzEsNjggQEAN Cj4+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPj4gKy8qIHsgZGctb3B0 aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8NCj4+ ICsNCj4+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+PiArDQo+PiAr dm9pZA0KPj4gK3Rlc3RfdmJvb2wzMl90aGVuX3Zib29sMShpbnQ4X3QgKiBy ZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAg IHZib29sMzJfdCB2MSA9ICoodmJvb2wzMl90KilpbjsNCj4+ICsgICAgdmJv b2wxX3QgdjIgPSAqKHZib29sMV90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2 Ym9vbDMyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wx X3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQN Cj4+ICt0ZXN0X3Zib29sMzJfdGhlbl92Ym9vbDIoaW50OF90ICogcmVzdHJp Y3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9v bDMyX3QgdjEgPSAqKHZib29sMzJfdCopaW47DQo+PiArICAgIHZib29sMl90 IHYyID0gKih2Ym9vbDJfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2wz Ml90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sMl90Kiko b3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiAr dGVzdF92Ym9vbDMyX3RoZW5fdmJvb2w0KGludDhfdCAqIHJlc3RyaWN0IGlu LCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wzMl90 IHYxID0gKih2Ym9vbDMyX3QqKWluOw0KPj4gKyAgICB2Ym9vbDRfdCB2MiA9 ICoodmJvb2w0X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sMzJfdCop KG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCAr IDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3Rf dmJvb2wzMl90aGVuX3Zib29sOChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50 OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sMzJfdCB2MSA9 ICoodmJvb2wzMl90KilpbjsNCj4+ICsgICAgdmJvb2w4X3QgdjIgPSAqKHZi b29sOF90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQg KyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2w4X3QqKShvdXQgKyAyMDAp ID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29s MzJfdGhlbl92Ym9vbDE2KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3Qg KiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wzMl90IHYxID0gKih2 Ym9vbDMyX3QqKWluOw0KPj4gKyAgICB2Ym9vbDE2X3QgdjIgPSAqKHZib29s MTZfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2wzMl90Kikob3V0ICsg MTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDIwMCkg PSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wz Ml90aGVuX3Zib29sNjQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAq IHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDMyX3QgdjEgPSAqKHZi b29sMzJfdCopaW47DQo+PiArICAgIHZib29sNjRfdCB2MiA9ICoodmJvb2w2 NF90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAx MDApID0gdjE7DQo+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMjAwKSA9 IHYyOw0KPj4gK30NCj4+ICsNCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJv LFxzKmU4LFxzKm1mNCxccyp0YSxccyptYX0gNiB9IH0gKi8NCj4+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytb YS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxzKm1hfSAx IH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMq bTQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSss XHMqemVybyxccyplOCxccyptMixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0xLFxzKnRhLFxz Km1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMq ZTgsXHMqbWYyLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhd WzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSAxIH0g fSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dmxtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxMiB9 IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIg fSB9ICovDQo+PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3ByMTA4MTg1LTcuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9wcjEwODE4NS03LmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+PiBpbmRleCAwMDAwMDAwMDAwMC4uOGY2ZjBiMTFmMDkNCj4+IC0t LSAvZGV2L251bGwNCj4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9wcjEwODE4NS03LmMNCj4+IEBAIC0wLDAgKzEsNjggQEANCj4+ ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPj4gKy8qIHsgZGctb3B0aW9u cyAiLW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8NCj4+ICsN Cj4+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+PiArDQo+PiArdm9p ZA0KPj4gK3Rlc3RfdmJvb2w2NF90aGVuX3Zib29sMShpbnQ4X3QgKiByZXN0 cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZi b29sNjRfdCB2MSA9ICoodmJvb2w2NF90KilpbjsNCj4+ICsgICAgdmJvb2wx X3QgdjIgPSAqKHZib29sMV90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9v bDY0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoodmJvb2wxX3Qq KShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ ICt0ZXN0X3Zib29sNjRfdGhlbl92Ym9vbDIoaW50OF90ICogcmVzdHJpY3Qg aW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDY0 X3QgdjEgPSAqKHZib29sNjRfdCopaW47DQo+PiArICAgIHZib29sMl90IHYy ID0gKih2Ym9vbDJfdCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2w2NF90 Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZib29sMl90Kikob3V0 ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ICt2b2lkDQo+PiArdGVz dF92Ym9vbDY0X3RoZW5fdmJvb2w0KGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2w2NF90IHYx ID0gKih2Ym9vbDY0X3QqKWluOw0KPj4gKyAgICB2Ym9vbDRfdCB2MiA9ICoo dmJvb2w0X3QqKWluOw0KPj4gKw0KPj4gKyAgICAqKHZib29sNjRfdCopKG91 dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDIw MCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJv b2w2NF90aGVuX3Zib29sOChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90 ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiArICAgIHZib29sNjRfdCB2MSA9ICoo dmJvb2w2NF90KilpbjsNCj4+ICsgICAgdmJvb2w4X3QgdjIgPSAqKHZib29s OF90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAx MDApID0gdjE7DQo+PiArICAgICoodmJvb2w4X3QqKShvdXQgKyAyMDApID0g djI7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQNCj4+ICt0ZXN0X3Zib29sNjRf dGhlbl92Ym9vbDE2KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiBy ZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2w2NF90IHYxID0gKih2Ym9v bDY0X3QqKWluOw0KPj4gKyAgICB2Ym9vbDE2X3QgdjIgPSAqKHZib29sMTZf dCopaW47DQo+PiArDQo+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMTAw KSA9IHYxOw0KPj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDIwMCkgPSB2 MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w2NF90 aGVuX3Zib29sMzIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJl c3RyaWN0IG91dCkgew0KPj4gKyAgICB2Ym9vbDY0X3QgdjEgPSAqKHZib29s NjRfdCopaW47DQo+PiArICAgIHZib29sMzJfdCB2MiA9ICoodmJvb2wzMl90 KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAxMDAp ID0gdjE7DQo+PiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMjAwKSA9IHYy Ow0KPj4gK30NCj4+ICsNCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxz KmU4LFxzKm1mOCxccyp0YSxccyptYX0gNiB9IH0gKi8NCj4+ICsvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14 XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxzKm1hfSAxIH0g fSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTQs XHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+PiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMq emVybyxccyplOCxccyptMixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0xLFxzKnRhLFxzKm1h fSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgs XHMqbWYyLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAt OV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dmxtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxMiB9IH0g Ki8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIgfSB9 ICovDQo+PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3ByMTA4MTg1LTguYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9wcjEwODE4NS04LmMNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+PiBpbmRleCAwMDAwMDAwMDAwMC4uZDk2OTU5ZGQwNjQNCj4+IC0tLSAv ZGV2L251bGwNCj4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9wcjEwODE4NS04LmMNCj4+IEBAIC0wLDAgKzEsNzcgQEANCj4+ICsv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPj4gKy8qIHsgZGctb3B0aW9ucyAi LW1hcmNoPXJ2NjRnY3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8NCj4+ICsNCj4+ ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+PiArDQo+PiArdm9pZA0K Pj4gK3Rlc3RfdmJvb2wxX3RoZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0 IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wx X3QgdjEgPSAqKHZib29sMV90KilpbjsNCj4+ICsgICAgdmJvb2wxX3QgdjIg PSAqKHZib29sMV90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDFfdCop KG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDFfdCopKG91dCAr IDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3Rf dmJvb2wyX3RoZW5fdmJvb2wyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4 X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2wyX3QgdjEgPSAq KHZib29sMl90KilpbjsNCj4+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29s Ml90KilpbjsNCj4+ICsNCj4+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDEw MCkgPSB2MTsNCj4+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDIwMCkgPSB2 MjsNCj4+ICt9DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w0X3Ro ZW5fdmJvb2w0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0 cmljdCBvdXQpIHsNCj4+ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29sNF90 KilpbjsNCj4+ICsgICAgdmJvb2w0X3QgdjIgPSAqKHZib29sNF90KilpbjsN Cj4+ICsNCj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDEwMCkgPSB2MTsN Cj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9 DQo+PiArDQo+PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2w4X3RoZW5fdmJvb2w4 KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQp IHsNCj4+ICsgICAgdmJvb2w4X3QgdjEgPSAqKHZib29sOF90KilpbjsNCj4+ ICsgICAgdmJvb2w4X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4+ICsNCj4+ ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAg Kih2Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+ PiArdm9pZA0KPj4gK3Rlc3RfdmJvb2wxNl90aGVuX3Zib29sMTYoaW50OF90 ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4g KyAgICB2Ym9vbDE2X3QgdjEgPSAqKHZib29sMTZfdCopaW47DQo+PiArICAg IHZib29sMTZfdCB2MiA9ICoodmJvb2wxNl90KilpbjsNCj4+ICsNCj4+ICsg ICAgKih2Ym9vbDE2X3QqKShvdXQgKyAxMDApID0gdjE7DQo+PiArICAgICoo dmJvb2wxNl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4gK30NCj4+ICsNCj4+ ICt2b2lkDQo+PiArdGVzdF92Ym9vbDMyX3RoZW5fdmJvb2wzMihpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+PiAr ICAgIHZib29sMzJfdCB2MSA9ICoodmJvb2wzMl90KilpbjsNCj4+ICsgICAg dmJvb2wzMl90IHYyID0gKih2Ym9vbDMyX3QqKWluOw0KPj4gKw0KPj4gKyAg ICAqKHZib29sMzJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ICsgICAgKih2 Ym9vbDMyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+PiArfQ0KPj4gKw0KPj4g K3ZvaWQNCj4+ICt0ZXN0X3Zib29sNjRfdGhlbl92Ym9vbDY0KGludDhfdCAq IHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ICsg ICAgdmJvb2w2NF90IHYxID0gKih2Ym9vbDY0X3QqKWluOw0KPj4gKyAgICB2 Ym9vbDY0X3QgdjIgPSAqKHZib29sNjRfdCopaW47DQo+PiArDQo+PiArICAg ICoodmJvb2w2NF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4gKyAgICAqKHZi b29sNjRfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+ICt9DQo+PiArDQo+PiAr LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxp XHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptOCxccyp0YSxccypt YX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4 LFxzKm00LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAt OV0rLFxzKnplcm8sXHMqZTgsXHMqbTIsXHMqdGEsXHMqbWF9IDEgfSB9ICov DQo+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMSxccyp0 YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJv LFxzKmU4LFxzKm1mMixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytb YS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mNCxccyp0YSxccyptYX0g MSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km1mOCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZsbVwudlxzK3ZbMC05XSssXHMq MFwoW2EteF1bMC05XStcKX0gNyB9IH0gKi8NCj4+ICsvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzbVwudlxzK3ZbMC05XSssXHMq MFwoW2EteF1bMC05XStcKX0gMTQgfSB9ICovDQo+PiBkaWZmIC0tZ2l0IGEv Z2NjL3RyZWUtc3NhLXNjY3ZuLmNjIGIvZ2NjL3RyZWUtc3NhLXNjY3ZuLmNj DQo+PiBpbmRleCAwMjhiZWRiYzlhMC4uMTlmZGJhOGNmYTIgMTAwNjQ0DQo+ PiAtLS0gYS9nY2MvdHJlZS1zc2Etc2Njdm4uY2MNCj4+ICsrKyBiL2djYy90 cmVlLXNzYS1zY2N2bi5jYw0KPj4gQEAgLTQzLDYgKzQzLDcgQEAgYWxvbmcg d2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIElmIG5vdCBzZWUN Cj4+ICNpbmNsdWRlICJnaW1wbGUtZm9sZC5oIg0KPj4gI2luY2x1ZGUgInRy ZWUtZWguaCINCj4+ICNpbmNsdWRlICJnaW1wbGlmeS5oIg0KPj4gKyNpbmNs dWRlICJ0YXJnZXQuaCINCj4+ICNpbmNsdWRlICJmbGFncy5oIg0KPj4gI2lu Y2x1ZGUgImRvanVtcC5oIg0KPj4gI2luY2x1ZGUgImV4cGxvdy5oIg0KPj4g QEAgLTU2NTcsMTAgKzU2NTgsMTYgQEAgdmlzaXRfcmVmZXJlbmNlX29wX2xv YWQgKHRyZWUgbGhzLCB0cmVlIG9wLCBnaW1wbGUgKnN0bXQpDQo+PiAgICAg aWYgKHJlc3VsdA0KPj4gICAgICAgICAmJiAhdXNlbGVzc190eXBlX2NvbnZl cnNpb25fcCAoVFJFRV9UWVBFIChyZXN1bHQpLCBUUkVFX1RZUEUgKG9wKSkp DQo+PiAgICAgICB7DQo+PiArICAgICAgbWFjaGluZV9tb2RlIHJlc3VsdF9t b2RlID0gVFlQRV9NT0RFIChUUkVFX1RZUEUgKHJlc3VsdCkpOw0KPj4gKyAg ICAgIG1hY2hpbmVfbW9kZSBvcF9tb2RlID0gVFlQRV9NT0RFIChUUkVFX1RZ UEUgKG9wKSk7DQo+PiArICAgICAgcG9seV91aW50MTYgcmVzdWx0X21vZGVf cHJlY2lzaW9uID0gR0VUX01PREVfUFJFQ0lTSU9OIChyZXN1bHRfbW9kZSk7 DQo+PiArICAgICAgcG9seV91aW50MTYgb3BfbW9kZV9wcmVjaXNpb24gPSBH RVRfTU9ERV9QUkVDSVNJT04gKG9wX21vZGUpOw0KPj4gKw0KPj4gICAgICAg ICAvKiBBdm9pZCB0aGUgdHlwZSBwdW5uaW5nIGluIGNhc2UgdGhlIHJlc3Vs dCBtb2RlIGhhcyBwYWRkaW5nIHdoZXJlDQo+PiAtIHRoZSBvcCB3ZSBsb29r dXAgaGFzIG5vdC4gICovDQo+PiAtICAgICAgaWYgKG1heWJlX2x0IChHRVRf TU9ERV9QUkVDSVNJT04gKFRZUEVfTU9ERSAoVFJFRV9UWVBFIChyZXN1bHQp KSksDQo+PiAtICAgICBHRVRfTU9ERV9QUkVDSVNJT04gKFRZUEVfTU9ERSAo VFJFRV9UWVBFIChvcCkpKSkpDQo+PiArIHRoZSBvcCB3ZSBsb29rdXAgaGFz IG5vdC4NCj4+ICsgQXZvaWQgdGhlIHR5cGUgcHVubmluZyBpbiBjYXNlIHRo ZSB0YXJnZXQgbW9kZSBjYW5ub3QgYmUgdGllZC4gICovDQo+PiArICAgICAg aWYgKG1heWJlX2x0IChyZXN1bHRfbW9kZV9wcmVjaXNpb24sIG9wX21vZGVf cHJlY2lzaW9uKQ0KPj4gKyAgICAgfHwgIXRhcmdldG0ubW9kZXNfdGllYWJs ZV9wIChyZXN1bHRfbW9kZSwgb3BfbW9kZSkpDQo+PiByZXN1bHQgPSBOVUxM X1RSRUU7DQo+PiAgICAgICAgIGVsc2UNCj4+IHsNCj4+DQo+DQoNCg== --_000_BYAPR04MB48240D3DD515B53923A3C518B7DD9BYAPR04MB4824namp_--