From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12olkn2061.outbound.protection.outlook.com [40.92.22.61]) by sourceware.org (Postfix) with ESMTPS id 5228B3858416 for ; Wed, 1 Mar 2023 10:55:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5228B3858416 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=iuXWNnLzxpZw3pAdc5pgnTtAAf5eHSywQtEboxxB05smAYniQhlbIFyCwqLH6X3Fw9LLmQMxEqptelPUltfkK41HtJqdjLHcSIXkIusbsFrrc3HlaiwKP2ORFZyFehBc2MkFHUJy79X7y5vZDzmYQ5s9bkJBz9/JLFvY8vAwae6kr1DSaCRIUeskol1m9SJyr2AArsrS3yFqfklAkB+u678dZYHvXcHN4d5OupuMWxvCCmSF0WgoEkCOXzsruEIW/iDN9EcGmFMPVAWqPhlCK2NtfpBBgTN4EwYqviEhWqe4uHmtRPHTtwYaikl+w6ZdcMI/dGd5pHPuT1GPL0lNoA== 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=/4iMbN5kuWLxCJqmJ4ONY3aq4C9jhEWxEkdXKU0Yy4E=; b=KCJp3k5fN/m7N95s+VkNwOtCZU7I2u1qzlEg3snpIp4Y3qSz9lJTBuz20N09h5CSSLnd4MlfF2a9Y6La9wcSGNfQ2D5ckVOtTllhj8MsUrOS+MBz0/RVxPStZ7wshhLhhPe0QvV255SmeLY1OrYPCiV5ANU5BqqX5iEybDMLY7kEOgGbDcEgWkswfr4L16xvBxnf+L5hs3cVd4ahWVARrwuN9Xj2TzfOtMtesFQ/8ObjmL9XTjL9reyzVY8EDcfuBXzhMoMqH9BUVe/FbqIHzdywCfxQRRe52oMzUXXxcvuAWw6hSrjKmJ9XIXt08nL8SSiN+QWXRUqXHo2DAJruig== 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=/4iMbN5kuWLxCJqmJ4ONY3aq4C9jhEWxEkdXKU0Yy4E=; b=d5LF3am5vlbFcKYhr2KnfqRzuQpgNV2O6XMfj54mByIdtje6DsrjXzfm841pktilXpVbHFJBXYcsG2IgF3GU/whkT7+iU9ZQ7M/ABTQWN+3Xg7WcdRubyDWyU9C1/iMKon3M9GJg5pPYCheg2V61eiWvGakkta6aax6m8wsMGdJVcLaLyiF4/vh142JM3hi3bWaOpDf+45qJ3qTlR/hq776qIYMoPDwaYALNu9cfdtiZUrlkp6CiUJss//8jqYuiU2zkjxPemQo3emb5x4uOHo58zD6S4aTmjFgU84YpxJfZZi9Rkefd0JJFKyXI4dGH5dgn55RtnvBC0hO53k7B7Q== Received: from BYAPR04MB4824.namprd04.prod.outlook.com (2603:10b6:a03:5e::19) by SJ0PR04MB7183.namprd04.prod.outlook.com (2603:10b6:a03:2a3::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Wed, 1 Mar 2023 10:55:02 +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; Wed, 1 Mar 2023 10:55:01 +0000 From: =?utf-8?B?55u8IOadjg==?= To: "juzhe.zhong@rivai.ai" , richard.sandiford , pan2.li CC: gcc-patches , Kito.cheng , rguenther Subject: Re: Re: [PATCH] RISC-V: Bugfix for rvv bool mode precision adjustment Thread-Topic: Re: [PATCH] RISC-V: Bugfix for rvv bool mode precision adjustment Thread-Index: AQHZQhkIVWcVdPVa8keSZeWQnyX4Ya7i6lphgAAJXTqAAMBkgIAAe9UygAACDkaAAEW7gIABUJDUgAAKWW2AAABK5g== Date: Wed, 1 Mar 2023 10:55:01 +0000 Message-ID: References: , , , , , , , <6F429B8CF9C3B3EF+2023030118462950633032@rivai.ai> In-Reply-To: <6F429B8CF9C3B3EF+2023030118462950633032@rivai.ai> 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: [neFJ71fYmez363b752acc6OCdfK2R3FI] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR04MB4824:EE_|SJ0PR04MB7183:EE_ x-ms-office365-filtering-correlation-id: e6d22827-241a-46e6-565f-08db1a43685e x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: p2CrwOLnXytmgq5FyNbplAIvcgHTOJ7aoOT+LFDYkTTf2IyY5RJNN2K7DKR4Y23eEQgLv8uI0fRlXibn+cA+k4aVsDGT4yTn8l6LzOgnyOmRWsytXfdC1zMIGk/GZ8MytWAOtmD25KYONK6dbO7sPG/0GXSsShZVaQd3aGuplB6eKec5vZpbNSPNWHaW5ZZNyuKiWcHTUlE0KhjdkHJnTijGvEEk00sqriE3WkYt3yAueJsigsLhnz2oTtjWRUvPFWHX7yr1BX84iPLVrLrvu7qgLOPu92pnvfPczm358eSoj513VRUbJkC5q9GRKZWzCQQrlKmSpKwylBJ+64X9BSLdes1vHQFh0paVJEZs4qDHJF0Vg4offN470sPbhZBpEgSK0BR6DSjMn8L0flbS7Uguf6tLhfmbzEKFaMqm4/WweiAjf6b4D9inwmkChdhKZDvJQQe0wVIAZerR7ebQT7HJeVfEEFV/9j+dShp4NQV2lqgDP5UYY6LnYR+EJBx7Px2bnBpX9ck+8N9A50vf+udjbBD7Frhl1rYWs4FaBSyhaAN/3VByMWJ2rtSkgTgEKNplXKePjuRGhqNZNvxpSe57XCn48iJk8HAZXstgsQ3c26xp5QRp+WA+FKnHLlOXt186qcn57Vb303F4bmxkaw== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M3lwQlNlaUgzNlMxQ2g5QnhERlVEWTJCRGs3d1dHajF0OEUxVlJ4d0l5SlVQ?= =?utf-8?B?eDE2Tk1KdWR4VHZEa2JZUkVhOTF4MGtNSXlQelNzcUdIMDVWUHVVSFV6S0NR?= =?utf-8?B?ZElWdkxTL1N2a2dHaFIzSTM0QldEN2ZFRXRobUg4VCtzNjQwK1cvTU1PdWxv?= =?utf-8?B?UkZzUFprTUZWakRaTWovTXZ0d3gxMXRhdWJ2dHJEOVV1QlpLMTh6N0kwQ3Ir?= =?utf-8?B?bWs1ZFVUNVRqZnFHbm9UMXlrWDhTazVhVzRCZU4veXF2V2lJTXp4OGNXMEds?= =?utf-8?B?amI2eVlBcE1HMXpWeTIzVUlwQWUwY0pIbkVsRlAxUlRPQzRSdEN5ellpNEVV?= =?utf-8?B?RjNYdjJPQTZ3VHlrYTJlbDZjMXhldEhjOVRGVEIzQmZxUjM4eGgyVjJIamxG?= =?utf-8?B?QmI5SkY3ckRTRlJFYWQ5SVkxVXlQNjVYL3RQVXhCam5WYzlDeW9HSElFajV3?= =?utf-8?B?UldUTFJMWG15TUliRXhKWks2d3lnVzF3U2VyTnYrNk1zS1V5WHh1S0hualJI?= =?utf-8?B?aXVQcklDRDFaOGdOelFibm1mNW9NcnIvb05BK2dDMVJjMHlxTktoamR3ODNj?= =?utf-8?B?K0lrT3YwY3JhZnFHL2UwMXFpZWc4OFg2U3FMcEZoQ3Z1OHBpQU50MUFKN1cw?= =?utf-8?B?SDJIOTVZK2sraUFGVlZoa28zc1JYeHY1Rk1OeXloWmJjN20vSEVvdEpqdG03?= =?utf-8?B?Y2xZdURBTVVsTmxESm9TcHVTTTVJZEd4Y3dHcC9sSGwrRlZtVkY1NlBONHNo?= =?utf-8?B?ZEJRTDF4MkZyaG9ZL0N1cHdRc1hqN0VZaFFsNHhQVGorZGZyZXZvSVZoaUI4?= =?utf-8?B?K2thRWQ4M2JIZVhpR1BZU2NQc3pqZ2g1d2NzOCtRL1J4VU5ydkR0aUI0ejNx?= =?utf-8?B?L0hmZU56bFpyakcxOEw4TXdFWGJEeHBvTG1sRS8vajcraEI2dlhtLzFDTE0y?= =?utf-8?B?T3JpbU1MUE9CMlh6Zm9MdFBnNmZjclFreDd3RnNteXlWajFZOFVPOGJBUEJx?= =?utf-8?B?YXlzRnVObUh0UkpkZmRoeHlKTUhyOXJYaWRCbTlnbi9QeWViTnVCOXZZcW85?= =?utf-8?B?L3RiYUJLTTIySUhCNHNiamNDeXRjVE9DSW1ETDdGTFJqblVuTXg5RzhVNmZ3?= =?utf-8?B?Q3BqMDViaTFPNVVxY1lqbWJlRlVybWpxTHByLzlMaEdCWWMyeHh1Z0FQQmN1?= =?utf-8?B?TWtZRnJ0NWpYSkQzUitUS3lqeWZFZlNZS0cza2YyWVBMSW85cE5nVHliWXpZ?= =?utf-8?B?elZ4YjFyN2hVQXlxMEh2NVhkWVJOVHRsbXMvRmFTRjhUOUtpUmV4cEZnZHZO?= =?utf-8?B?VzUrNnpRWGRXaXJpTkFtWGwzWEV6c25Ed28wVEhXNFBkV2RpL2VWR2Jwc2xL?= =?utf-8?B?a1V3QnlZVkNZSmtTUHdJVWdUUFJxeVN0M1lMT1BNVzdRODIwZHpaU3BVbFRu?= =?utf-8?B?b0JMYzhCOUZtZ0JNcTd6N2YzWTlQb0xuRjBSQnR4dWIxcDdEV0IwWThSN3lW?= =?utf-8?B?bDVzTzdHZ1I4TEkzUER2MGtSaXJ6QmtWVm9DeXhVK1hGNnFRVTVKNlJnRzdz?= =?utf-8?B?S296S1dLUFc0NHZlNnhpQzNEaUtQYzBOUmxuanMrUXBWbllJcjdxcm9HSkkr?= =?utf-8?B?VkM5Rm5MaTF4K2dYWGQvdm1vVG1WWWtnRlZnMDhQcDFKMnFsWC8ydnJ3K1Zo?= =?utf-8?B?dlN1SnNrdnBxTlpmRTA5TFBsNzNhZWlqbGF2VnY2UTY3T2VQVVdKZ0F3PT0=?= Content-Type: multipart/alternative; boundary="_000_BYAPR04MB48243B29E559720BE1582219B7AD9BYAPR04MB4824namp_" 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: e6d22827-241a-46e6-565f-08db1a43685e X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2023 10:55:01.8888 (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: SJ0PR04MB7183 X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,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,T_KAM_HTML_FONT_INVALID 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_BYAPR04MB48243B29E559720BE1582219B7AD9BYAPR04MB4824namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmsgeW91IGFsbCBmb3IgeW91ciBxdWljayByZXNwb25zZS4NCg0KQXMg anV6aGUgbWVudGlvbmVkLCB0aGUgbWVtb3J5IGFjY2VzcyBvZiBSSVNDLVYg d2lsbCBiZSBhbHdheXMgYWxpZ25lZCB0byB0aGUgYnl0ZXMgYm91bmRhcnkg d2l0aCB0aGUgY29tcGFjdCBtb2RlLCBha2EgY2VpbCh2bCAvIDgpIGJ5dGVz IGZvciB2Ym9vbCouDQoNCkFjdHVhbGx5LCB0aGUgZGF0YSBbNCw0XSBjb21l cyBmcm9tIHRoZSBzZWxmLXRlc3QsIHRoZSBSSVNDLVYgcHJlY2lzaW9uIG1v ZGUgYXMgYmVsb3cuDQoNClZOeDY0QkkgcHJlY2lzaW9uIFsweDQwLCAweDQw XS4NClZOeDMyQkkgcHJlY2lzaW9uIFsweDIwLCAweDIwXS4NClZOeDE2Qkkg cHJlY2lzaW9uIFsweDEwLCAweDEwXS4NClZOeDhCSSBwcmVjaXNpb24gWzB4 OCwgMHg4XS4NClZOeDRCSSBwcmVjaXNpb24gWzB4OCwgMHg4XS4NClZOeDJC SSBwcmVjaXNpb24gWzB4OCwgMHg4XS4NClZOeDFCSSBwcmVjaXNpb24gWzB4 OCwgMHg4XS4NCg0KVGhlIGltcGFjdCBvZiBkYXRhIFs0LCA0XSB3aWxsIGlt cGFjdCB0aGUgZ2VubW9kZSBwYXJ0LCB3ZSBjYW5ub3Qgd3JpdGUgbGlrZSBi ZWxvdyBhcyB0aGUgZ2NjX3VucmVhY2hhYmxlIHdpbGwgYmUgaGl0dGVuLg0K DQppZiAoIWNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCAobW9kZV9wcmVjaXNp b25bRV8lc21vZGVdLCBCSVRTX1BFUl9VTklULCAgJm1vZGVfc2l6ZVtFXyVz bW9kZV0pKQ0KICBnY2NfdW5yZWFjaGFibGUgKCk7IC8vIEhpdCBvbiBbNCwg NF0gb2YgdGhlIHNlbGYtdGVzdC4NCg0KUGFuDQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KRnJvbToganV6aGUuemhvbmdAcml2YWkuYWkg PGp1emhlLnpob25nQHJpdmFpLmFpPg0KU2VudDogV2VkbmVzZGF5LCBNYXJj aCAxLCAyMDIzIDE4OjQ2DQpUbzogcmljaGFyZC5zYW5kaWZvcmQgPHJpY2hh cmQuc2FuZGlmb3JkQGFybS5jb20+OyBwYW4yLmxpIDxwYW4yLmxpQGludGVs LmNvbT4NCkNjOiBpbmNhcm5hdGlvbi5wLmxlZSA8aW5jYXJuYXRpb24ucC5s ZWVAb3V0bG9vay5jb20+OyBnY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNAZ2Nj LmdudS5vcmc+OyBLaXRvLmNoZW5nIDxraXRvLmNoZW5nQHNpZml2ZS5jb20+ OyByZ3VlbnRoZXIgPHJndWVudGhlckBzdXNlLmRlPg0KU3ViamVjdDogUmU6 IFJlOiBbUEFUQ0hdIFJJU0MtVjogQnVnZml4IGZvciBydnYgYm9vbCBtb2Rl IHByZWNpc2lvbiBhZGp1c3RtZW50DQoNCj4+IElzIGl0IHJpZ2h0IHRoYXQs IGZvciBSVlYsIGEgbG9hZCBvciBzdG9yZSBvZiBbNCw0XSB3aWxsIGFjY2Vz cyBbOCw4XQ0KPj5iaXRzLCBldmVuIHdoZW4gdGhhdCBtZWFucyBhY2Nlc3Np bmcgZnVsbHktdW51c2VkIGJ5dGVzPyAgRS5nLiA0KzRYDQo+PndoZW4gWD0z IHdvdWxkIGJlIDE2IGJpdHMvMiBieXRlcyBvZiB1c2VmdWwgZGF0YSwgYnV0 IGEgYml0c2l6ZSBvZg0KPj44KzhYIHdvdWxkIGJlIDMyIGJpdHMvNCBieXRl cy4gIFNvIGEgc3RvcmUgb2YgWzgsOF0gZm9yIGEgcHJlY2lzaW9uDQo+Pm9m IFs0LDRdIHdvdWxkIHN0b3JlIDIgYnl0ZXMgYmV5b25kIHRoZSBlbmQgb2Yg dGhlIHVzZWZ1bCBkYXRhIHdoZW4gWD09Mz8NCg0KSGksIFJpY2hhcmQuIFRo YW5rIHlvdSBmb3IgaGVscGluZyB1cy4NCk15IHVuZGVyc3RhbmRpbmcgb2Yg UlZWIElTQToNCg0KSW4gUlZWLCB3ZSBoYXZlIG1hc2sgbW9kZSAoVk54MUJJ LCBWTngyQkksLi4uLmV0YyksIGRhdGEgbW9kZSAoVk54MVFJLFZOeDRRSSwg Vk54MkRJLC4uLmV0YykNCkZvciBkYXRhIG1vZGUsIHdlIGZ1bGx5IGFjY2Vz cyB0aGUgZGF0YSBhbmQgd2UgZG9uJ3QgaGF2ZSB1bnVzZWQgYnl0ZXMsIHNv IHdlIGRvbid0IG5lZWQgdG8gYWRqdXN0IHByZWNpc2lvbi4NCkhvd2V2ZXIs IGZvciBtYXNrIG1vZGUgd2UgYWNjZXNzIG1hc2sgYml0IGluIGNvbXBhY3Qg bW9kZWwgKHNpbmNlIGVhY2ggbWFzayBiaXQgZm9yIGNvcnJlc3BvbmRpbmcg ZWxlbWVudCBhcmUgY29uc2VjdXRpdmUpLg0KZm9yIGV4YW1wbGUsIGN1cnJl bnQgY29uZmlndXJhdGlvbjogVk54MUJJLCBWTngyQkksIFZOeDRCSSwgVk54 OEJJLCB0aGVzZSA0IG1vZGVzIGhhdmUgc2FtZSBieXRlc2l6ZSAoMSwxKSAg YnV0IGRpZmZlcmVudCBiaXRzaXplLg0KDQpWTng4QkkgaXMgYWNjZXNzZWQg ZnVsbHksIGJ1dCBWTng0QkkgaXMgb25seSBhY2Nlc3NlZCAxLzIsIFZOeDJC SSAxLzQsIFZOeDFCSSAxLzggYnV0IGJ5dGUgYWxpZ25tZW50IChJIGFtIG5v dCBzdXJlIHdoZXRoZXIgUlZWIHN1cHBvcnQgYml0IGFsaWdubWVudCwgSSBn dWVzcyBpdCBjYW4gbm90KS4NCg0KSWYgVk54OEJJIG9ubHkgb2NjdXB5IDEg Ynl0ZSAoRGVwZW5kIG9uIG1hY2hpbmUgdmVjdG9yLWxlbmd0aCksIHNvIFZO eDJCSSxWTjRCSSwgVk54MUJJLCBhcmUgMi84IGJ5dGUsIDQvOCBieXRlLCAx LzggYnl0ZXMuIEkgdGhpbmsgd2UgY2FuJ3QgYWNjZXNzIGluIGJpdCBhbGln bm1lbnQuIHNvIHRoZXkgd2lsbCB0aGUgc2FtZSBpbiB0aGUgYWNjZXNzLg0K SG93ZXZlciwgaWYgVk54OEJJIG9jY3VwdHkgOCBieXRlLCBXZWxsLCBWTngy QkksVk40QkksIFZOeDFCSSBhcmUgMWJ5dGUsIDJieXRlcywgNGJ5dGVzLiBU aGV5IGFyZSBhY2Nlc3NpbmcgZGlmZmVyZW50IHNpemUuDQoNClRoaXMgaXMg bXkgY29tcHJlaGVuc2lvbiBvZiBSVlYgSVNBLCBmZWVsIGZyZWUgdG8gY29y cmVjdCBtZS4NClRoYW5rcy4NCg0KX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18NCmp1emhlLnpob25nQHJpdmFpLmFpDQoNCkZyb206IFJpY2hh cmQgU2FuZGlmb3JkPG1haWx0bzpyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29t Pg0KRGF0ZTogMjAyMy0wMy0wMSAxODoxMQ0KVG86IExpXCwgUGFuMjxtYWls dG86cGFuMi5saUBpbnRlbC5jb20+DQpDQzog55u8IOadjjxtYWlsdG86aW5j YXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb20+OyBpbmNhcm5hdGlvbi5wLmxl ZS0tLSB2aWEgR2NjLXBhdGNoZXM8bWFpbHRvOmdjYy1wYXRjaGVzQGdjYy5n bnUub3JnPjsganV6aGUuemhvbmdcQHJpdmFpLmFpPG1haWx0bzpqdXpoZS56 aG9uZ0ByaXZhaS5haT47IGtpdG8uY2hlbmdcQHNpZml2ZS5jb208bWFpbHRv OmtpdG8uY2hlbmdAc2lmaXZlLmNvbT47IHJndWVudGhlclxAc3VzZS5kZTxt YWlsdG86cmd1ZW50aGVyQHN1c2UuZGU+DQpTdWJqZWN0OiBSZTogW1BBVENI XSBSSVNDLVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJvb2wgbW9kZSBwcmVjaXNpb24g YWRqdXN0bWVudA0KIkxpLCBQYW4yIiA8cGFuMi5saUBpbnRlbC5jb20+IHdy aXRlczoNCj4gSGkgUmljaGFyZCBTYW5kaWZvcmQsDQo+DQo+IEp1c3QgdHJp ZWQgdGhlIG92ZXJsb2FkZWQgY29uc3RhbnQgZGl2aXNvcnMgd2l0aCBiZWxv dyBwcmludCBkaXYsIGl0IHdvcmtzIGFzIHlvdSBtZW50aW9uZWQsIO+YiSEN Cj4NCj4gcHJpbnRmICgiICAgIGNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCAo bW9kZV9wcmVjaXNpb25bRV8lc21vZGVdLCAiDQo+ICAgICAgIkJJVFNfUEVS X1VOSVQsICZtb2RlX3NpemVbRV8lc21vZGVdKTtcbiIsIG0tPm5hbWUsIG0t Pm5hbWUpOw0KPg0KPiB0ZW1wbGF0ZTx1bnNpZ25lZCBpbnQgTiwgdHlwZW5h bWUgQ2EsIHR5cGVuYW1lIENiLCB0eXBlbmFtZSBDcT4NCj4gaW5saW5lIHR5 cGVuYW1lIGlmX25vbnBvbHk8Q2IsIGJvb2w+Ojp0eXBlDQo+IGNhbl9kaXZf YXdheV9mcm9tX3plcm9fcCAoY29uc3QgcG9seV9pbnRfcG9kPE4sIENhPiAm YSwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgIENiIGIsDQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICBwb2x5X2ludF9wb2Q8TiwgQ3E+ICpxdW90 aWVudCkNCj4gew0KPiAgIGlmICghY2FuX2Rpdl90cnVuY19wIChhLCBiLCBx dW90aWVudCkpDQo+ICAgICByZXR1cm4gZmFsc2U7DQo+ICAgaWYgKG1heWJl X25lICgqcXVvdGllbnQgKiBiLCBhKSkNCj4gICAgIGZvciAodW5zaWduZWQg aW50IGkgPSAwOyBpIDwgTjsgKytpKQ0KPiAgICAgICBxdW90aWVudC0+Y29l ZmZzW2ldICs9IChxdW90aWVudC0+Y29lZmZzW2ldIDwgMCA/IC0xIDogMSk7 DQo+ICAgcmV0dXJuIHRydWU7DQo+IH0NCj4NCj4gQnV0IEkgbWF5IGhhdmUg YSBxdWVzdGlvbiBhYm91dCB0aGUgb25lIGNhc2UgYXMgYmVsb3cuDQo+DQo+ IEFzc3VtZToNCj4gYSA9IFs0LCA0XSwgYiA9IDguDQo+DQo+IFdoZW4gbWVl dCBjYW5fZGl2X3RydW5jX3AsIGl0IHdpbGwgY2hlY2sgaWYgdGhlIHJlbWlu ZGVyIGlzIGNvbnN0YW50IG9yIG5vdCwgYWthIGEuY29lZmZzW2ldICUgOCA9 PSAwIChpID49IDEpLiBJZiBub3QgY29uc3RhbnQgcmVtaW5kZXIsIHRoZSBj YW5fZGl2X3RydW5jX3Agd2lsbCBkbyBub3RoaW5nIGFib3V0IHF1b3RpZW50 IGFuZCByZXR1cm4gZmFsc2UuDQo+DQo+IFRodXMsIHdoZW4gYSA9IFs0LCA0 XSBmb3IgY2FuX2Rpdl9hd2F5X2Zyb21femVyb19wLCB0aGUgb3V0cHV0ICpx dW90aWVudCB3aWxsIGJlIHVuY2hhbmdlZCwgYWthIHRoZSBtb2Rfc2l6ZVtF XyVzbW9kZV0gd2lsbCBiZSB1bmNoYW5nZWQgZm9yIHRoaXMgY2FzZS4gSG93 ZXZlciwgdGhlIHVuZGVybHlpbmcgbW9kZV9zaXplIHdpbGwgYWRqdXN0IGl0 IHRvIHRoZSByZWFsIGJ5dGUgc2l6ZSwgYW5kIEkgYW0gbm90IHN1cmUgaWYg aXQgaXMgYnkgZGVzaWduIG9yIHJlcXVpcmVzIGFkZGl0aW9uYWwgaGFuZGxp bmcuDQoNCklzIGl0IHJpZ2h0IHRoYXQsIGZvciBSVlYsIGEgbG9hZCBvciBz dG9yZSBvZiBbNCw0XSB3aWxsIGFjY2VzcyBbOCw4XQ0KYml0cywgZXZlbiB3 aGVuIHRoYXQgbWVhbnMgYWNjZXNzaW5nIGZ1bGx5LXVudXNlZCBieXRlcz8g IEUuZy4gNCs0WA0Kd2hlbiBYPTMgd291bGQgYmUgMTYgYml0cy8yIGJ5dGVz IG9mIHVzZWZ1bCBkYXRhLCBidXQgYSBiaXRzaXplIG9mDQo4KzhYIHdvdWxk IGJlIDMyIGJpdHMvNCBieXRlcy4gIFNvIGEgc3RvcmUgb2YgWzgsOF0gZm9y IGEgcHJlY2lzaW9uDQpvZiBbNCw0XSB3b3VsZCBzdG9yZSAyIGJ5dGVzIGJl eW9uZCB0aGUgZW5kIG9mIHRoZSB1c2VmdWwgZGF0YSB3aGVuIFg9PTM/DQoN ClJpY2hhcmQNCg0KPiBQYW4NCj4NCj4gRnJvbTog55u8IOadjiA8aW5jYXJu YXRpb24ucC5sZWVAb3V0bG9vay5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIEZl YnJ1YXJ5IDI4LCAyMDIzIDU6NTkgUE0NCj4gVG86IFJpY2hhcmQgU2FuZGlm b3JkIDxyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tPjsgTGksIFBhbjIgPHBh bjIubGlAaW50ZWwuY29tPg0KPiBDYzogaW5jYXJuYXRpb24ucC5sZWUtLS0g dmlhIEdjYy1wYXRjaGVzIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz47IGp1 emhlLnpob25nQHJpdmFpLmFpOyBraXRvLmNoZW5nQHNpZml2ZS5jb207IHJn dWVudGhlckBzdXNlLmRlDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIFJJU0Mt VjogQnVnZml4IGZvciBydnYgYm9vbCBtb2RlIHByZWNpc2lvbiBhZGp1c3Rt ZW50DQo+DQo+IFVuZGVyc3Rvb2QsIHRoYW5rcyBmb3IgdGhlIGV4cGxhbmF0 aW9ucyBhbmQgc3VnZ2VzdGlvbnMuIExldCBtZSBoYXZlIGEgdHJ5IGFuZCBr ZWVwIHlvdSBwb3N0ZWQuDQo+DQo+IFBhbg0KPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KPiBGcm9tOiBSaWNoYXJkIFNhbmRpZm9yZCA8 cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbTxtYWlsdG86cmljaGFyZC5zYW5k aWZvcmRAYXJtLmNvbT4+DQo+IFNlbnQ6IFR1ZXNkYXksIEZlYnJ1YXJ5IDI4 LCAyMDIzIDE3OjUwDQo+IFRvOiBMaSwgUGFuMiA8cGFuMi5saUBpbnRlbC5j b208bWFpbHRvOnBhbjIubGlAaW50ZWwuY29tPj4NCj4gQ2M6IOebvCDmnY4g PGluY2FybmF0aW9uLnAubGVlQG91dGxvb2suY29tPG1haWx0bzppbmNhcm5h dGlvbi5wLmxlZUBvdXRsb29rLmNvbT4+OyBpbmNhcm5hdGlvbi5wLmxlZS0t LSB2aWEgR2NjLXBhdGNoZXMgPGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPG1h aWx0bzpnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4+OyBqdXpoZS56aG9uZ0By aXZhaS5haTxtYWlsdG86anV6aGUuemhvbmdAcml2YWkuYWk+IDxqdXpoZS56 aG9uZ0ByaXZhaS5haTxtYWlsdG86anV6aGUuemhvbmdAcml2YWkuYWk+Pjsg a2l0by5jaGVuZ0BzaWZpdmUuY29tPG1haWx0bzpraXRvLmNoZW5nQHNpZml2 ZS5jb20+IDxraXRvLmNoZW5nQHNpZml2ZS5jb208bWFpbHRvOmtpdG8uY2hl bmdAc2lmaXZlLmNvbT4+OyByZ3VlbnRoZXJAc3VzZS5kZTxtYWlsdG86cmd1 ZW50aGVyQHN1c2UuZGU+IDxyZ3VlbnRoZXJAc3VzZS5kZTxtYWlsdG86cmd1 ZW50aGVyQHN1c2UuZGU+Pg0KPiBTdWJqZWN0OiBSZTogW1BBVENIXSBSSVND LVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJvb2wgbW9kZSBwcmVjaXNpb24gYWRqdXN0 bWVudA0KPg0KPiAiTGksIFBhbjIiIDxwYW4yLmxpQGludGVsLmNvbTxtYWls dG86cGFuMi5saUBpbnRlbC5jb20+PiB3cml0ZXM6DQo+PiBIaSBSaWNoYXJk IFNhbmRpZm9yZCwNCj4+DQo+PiBBZnRlciBzb21lIGludmVzdGlnYXRpb24s IEkgYW0gbm90IHN1cmUgaWYgaXQgaXMgcG9zc2libGUgdG8gbWFrZSBpdCBn ZW5lcmFsIHdpdGhvdXQgYW55IGNoYW5nZXMgdG8gZXhhY3RfZGl2LiBXZSBj YW4gYWRkIG9uZSBtZXRob2QgbGlrZSBiZWxvdyB0byBnZXQgdGhlIHVuaXQg cG9seSBmb3IgYWxsIHBvc3NpYmxlIE4uDQo+Pg0KPj4gdGVtcGxhdGU8dW5z aWduZWQgaW50IE4sIHR5cGVuYW1lIENhPg0KPj4gaW5saW5lIFBPTFlfQ09O U1RfUkVTVUxUIChOLCBDYSwgQ2EpDQo+PiBub3JtYWxpemVfdG9fdW5pdCAo Y29uc3QgcG9seV9pbnRfcG9kPE4sIENhPiAmYSkNCj4+IHsNCj4+ICAgdHlw ZWRlZiBQT0xZX0NPTlNUX0NPRUZGIChDYSwgQ2EpIEM7DQo+Pg0KPj4gICBw b2x5X2ludDxOLCBDPiBub3JtYWxpemVkID0gYTsNCj4+DQo+PiAgIGlmIChu b3JtYWxpemVkLmlzX2NvbnN0YW50KCkpDQo+PiAgICAgbm9ybWFsaXplZC5j b2VmZnNbMF0gPSAxOw0KPj4gICBlbHNlDQo+PiAgICAgZm9yICh1bnNpZ25l ZCBpbnQgaSA9IDA7IGkgPCBOOyBpKyspDQo+PiAgICAgICBQT0xZX1NFVF9D T0VGRiAoQywgbm9ybWFsaXplZCwgaSwgMSk7DQo+Pg0KPj4gICByZXR1cm4g bm9ybWFsaXplZDsNCj4+IH0NCj4+DQo+PiBBbmQgdGhlbiBhZGp1c3QgdGhl IGdlbm1vZGVzIGxpa2UgYmVsb3cgdG8gY29uc3VtZSB0aGUgdW5pdCBwb2x5 Lg0KPj4NCj4+ICAgICAgIHByaW50ZiAoIiAgICBwb2x5X3VpbnQxNiB1bml0 X3BvbHkgPSAiDQo+PiAgICAgICAgICAgICAgIm5vcm1hbGl6ZV90b191bml0 IChtb2RlX3ByZWNpc2lvbltFXyVzbW9kZV0pO1xuIiwgbS0+bmFtZSk7DQo+ PiAgICAgICBwcmludGYgKCIgICAgaWYgKGtub3duX2x0IChtb2RlX3ByZWNp c2lvbltFXyVzbW9kZV0sICINCj4+ICAgICAgICAgICAgICAidW5pdF9wb2x5 ICogQklUU19QRVJfVU5JVCkpXG4iLCBtLT5uYW1lKTsNCj4+ICAgICAgIHBy aW50ZiAoIiAgICAgIG1vZGVfc2l6ZVtFXyVzbW9kZV0gPSB1bml0X3BvbHk7 XG4iLCBtLT5uYW1lKTsNCj4+DQo+PiBJIGFtIG5vdCBzdXJlIGlmIGl0IGlz IGEgZ29vZCBpZGVhIHRvIGludHJvZHVjZSBhYm92ZSBub3JtYWxpemUgY29k ZSBpbnRvIGV4YWN0X2Rpdi4gR2l2ZW4gdGhlIGNvbW1lbnQgb2YgdGhlIGV4 YWN0X2RpdiBpbmRpY2F0ZXMgdGhhdCDigJwvKiBSZXR1cm4gQSAvIEIsIGdp dmVuIHRoYXQgQSBpcyBrbm93biB0byBiZSBhIG11bHRpcGxlIG9mIEIuICov 4oCdLg0KPg0KPiBNeSBwb2ludCB3YXMgdGhhdCB3ZSBoYXZlIG11bHRpcGxl IHdheXMgb2YgZGl2aWRpbmcgcG9seV9pbnRzOg0KPg0KPiAtIGV4YWN0X2Rp diwgZm9yIHdoZW4gdGhlIGNhbGxlciBrbm93cyB0aGF0IHRoZSByZXN1bHQg aXMgYWx3YXlzIGV4YWN0DQo+IC0gY2FuX2Rpdl90cnVuY19wLCBmb3IgdHJ1 bmNhdGluZyBkaXZpc2lvbiAocm91bmQgdG93YXJkcyAwKQ0KPiAtIGNhbl9k aXZfYXdheV9mcm9tX3plcm9fcCwgZm9yIHJvdW5kaW5nIGF3YXkgZnJvbSAw DQo+IC0gLi4uDQo+DQo+IFRoaXMgaXMgbGlrZSBob3cgd2UgaGF2ZSBtdWx0 aXBsZSBkaXZpc2lvbiAqX0VYUFJzIG9uIHRyZWVzLg0KPg0KPiBVbnRpbCBu b3csIGV4YWN0X2RpdiB3YXMgdGhlIGNvcnJlY3QgY2hvaWNlIGZvciBtb2Rl cyBiZWNhdXNlIHZlY3Rvcg0KPiBtb2RlcyBkaWRuJ3QgaGF2ZSBwYWRkaW5n LiAgV2UncmUgbm93IGNoYW5naW5nIHRoYXQsIHNvIG15IHN1Z2dlc3Rpb24N Cj4gaW4gdGhlIHJldmlldyB3YXMgdG8gY2hhbmdlIHRoZSBkaXZpc2lvbiBv cGVyYXRpb24gdGhhdCB3ZSB1c2UuDQo+IFJhdGhlciB0aGFuIHVzZSBleGFj dF9kaXYsIHdlIHNob3VsZCBub3cgdXNlIGNhbl9kaXZfYXdheV9mcm9tX3pl cm9fcCwNCj4gd2hpY2ggd291bGQgaGF2ZSB0aGUgZWZmZWN0IG9mIHJvdW5k aW5nIHRoZSBxdW90aWVudCB1cC4NCj4NCj4gU29tZXRoaW5nIGxpa2U6DQo+ DQo+ICAgICAgIGlmICghY2FuX2Rpdl9hd2F5X2Zyb21femVyb19wIChtb2Rl X3ByZWNpc2lvbltFXyVzbW9kZV0sIEJJVFNfUEVSX1VOSVQsDQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbW9kZV9zaXplW0Vf JXNtb2RlXSkpDQo+ICAgICAgICAgZ2NjX3VucmVhY2hhYmxlICgpOw0KPg0K PiBCdXQgdGhpcyB3aWxsIHJlcXVpcmUgYSBuZXcgb3ZlcmxvYWQgb2YgY2Fu X2Rpdl9hd2F5X2Zyb21femVyb19wLCBzaW5jZQ0KPiB0aGUgZXhpc3Rpbmcg b25lIGlzIGZvciBjb25zdGFudCBxdW90aWVudHMgcmF0aGVyIHRoYW4gY29u c3RhbnQgZGl2aXNvcnMuDQo+DQo+IFRoYW5rcywNCj4gUmljaGFyZA0KPg0K Pj4NCj4+IENvdWxkIHlvdSBwbGVhc2UgaGVscCB0byBzaGFyZSB5b3VyIG9w aW5pb24gYWJvdXQgdGhpcyBmcm9tIHRoZSBleHBlcnTigJlzIHBlcnNwZWN0 aXZlID8gVGhhbmsgeW91IQ0KPj4NCj4+IFBhbg0KPj4NCj4+IEZyb206IOeb vCDmnY4gPGluY2FybmF0aW9uLnAubGVlQG91dGxvb2suY29tPG1haWx0bzpp bmNhcm5hdGlvbi5wLmxlZUBvdXRsb29rLmNvbT4+DQo+PiBTZW50OiBNb25k YXksIEZlYnJ1YXJ5IDI3LCAyMDIzIDExOjEzIFBNDQo+PiBUbzogUmljaGFy ZCBTYW5kaWZvcmQgPHJpY2hhcmQuc2FuZGlmb3JkQGFybS5jb208bWFpbHRv OnJpY2hhcmQuc2FuZGlmb3JkQGFybS5jb20+PjsgaW5jYXJuYXRpb24ucC5s ZWUtLS0gdmlhIEdjYy1wYXRjaGVzIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9y ZzxtYWlsdG86Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc+Pg0KPj4gQ2M6IGp1 emhlLnpob25nQHJpdmFpLmFpPG1haWx0bzpqdXpoZS56aG9uZ0ByaXZhaS5h aT47IGtpdG8uY2hlbmdAc2lmaXZlLmNvbTxtYWlsdG86a2l0by5jaGVuZ0Bz aWZpdmUuY29tPjsgcmd1ZW50aGVyQHN1c2UuZGU8bWFpbHRvOnJndWVudGhl ckBzdXNlLmRlPjsgTGksIFBhbjIgPHBhbjIubGlAaW50ZWwuY29tPG1haWx0 bzpwYW4yLmxpQGludGVsLmNvbT4+DQo+PiBTdWJqZWN0OiBSZTogW1BBVENI XSBSSVNDLVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJvb2wgbW9kZSBwcmVjaXNpb24g YWRqdXN0bWVudA0KPj4NCj4+IE5ldmVyIG1pbmQsIHdpc2ggeW91IGhhdmUg YSBnb29kIGhvbGlkYXkuDQo+Pg0KPj4gVGhhbmtzIGZvciBwb2ludGluZyB0 aGlzIG91dCwgdGhlIGlmIHBhcnQgY2Fubm90IHRha2UgY2FyZSBvZiBwb2x5 X2ludCB3aXRoIE4gPiAyLiBBcyBJIHVuZGVyc3RhbmQsIHdlIG5lZWQgdG8g bWFrZSBpdCBnZW5lcmFsIGZvciBhbGwgdGhlIE4gb2YgcG9seV9pbnQuDQo+ Pg0KPj4gVGh1cyBJIHdvdWxkIGxpa2UgdG8gZG91YmxlIGNvbmZpcm0gd2l0 aCB5b3UgYWJvdXQgaG93IHRvIG1ha2UgaXQgZ2VuZXJhbC4gSSBzdXBwb3Nl IHRoZXJlIHdpbGwgYmUgYSBuZXcgZnVuY3Rpb24gY2FuX2Rpdl9hd2F5X2Zy b21femVyb19wIHRvIHJlcGxhY2UgdGhlIGlmIChrbm93bl9sdCgsKSkgcGFy dCBpbiBnZW5tb2Rlcy5jYywgYW5kIGxlYXZlIGV4YWN0X2RpdiB1bmNoYW5n ZWQoY29uc2lkZXIgdGhlIHdvcmQgZXhhY3QsIEkgc3VwcG9zZSB3ZSBzaG91 bGQgbm90IHRvdWNoIGhlcmUpLCByaWdodD8gVGhlbiB3ZSBzdGlsbCBuZWVk IG9uZSBwb2x5X2ludCB3aXRoIGFsbCAxIGZvciBOIGFzIHRoZSByZXR1cm4g aWYgY2FuX2Rpdl9hd2F5X2Zyb21femVyb19wIGlzIHRydWUuDQo+Pg0KPj4g VGhhbmtzIGFnYWluIGZvciB5b3VyIHByb2Zlc3Npb25hbCBzdWdnZXN0aW9u LCBoYXZlIGEgbmljZSBkYXksIO+YiSENCj4+DQo+PiBQYW4NCj4+IF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+PiBGcm9tOiBSaWNoYXJk IFNhbmRpZm9yZCA8cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbTxtYWlsdG86 cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbTxtYWlsdG86cmljaGFyZC5zYW5k aWZvcmRAYXJtLmNvbSUzY21haWx0bzpyaWNoYXJkLnNhbmRpZm9yZEBhcm0u Y29tPj4+DQo+PiBTZW50OiBNb25kYXksIEZlYnJ1YXJ5IDI3LCAyMDIzIDIy OjI0DQo+PiBUbzogaW5jYXJuYXRpb24ucC5sZWUtLS0gdmlhIEdjYy1wYXRj aGVzIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzxtYWlsdG86Z2NjLXBhdGNo ZXNAZ2NjLmdudS5vcmc8bWFpbHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUub3Jn JTNjbWFpbHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPj4+DQo+PiBDYzog aW5jYXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb208bWFpbHRvOmluY2FybmF0 aW9uLnAubGVlQG91dGxvb2suY29tPG1haWx0bzppbmNhcm5hdGlvbi5wLmxl ZUBvdXRsb29rLmNvbSUzY21haWx0bzppbmNhcm5hdGlvbi5wLmxlZUBvdXRs b29rLmNvbT4+IDxpbmNhcm5hdGlvbi5wLmxlZUBvdXRsb29rLmNvbTxtYWls dG86aW5jYXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb208bWFpbHRvOmluY2Fy bmF0aW9uLnAubGVlQG91dGxvb2suY29tJTNjbWFpbHRvOmluY2FybmF0aW9u LnAubGVlQG91dGxvb2suY29tPj4+OyBqdXpoZS56aG9uZ0ByaXZhaS5haTxt YWlsdG86anV6aGUuemhvbmdAcml2YWkuYWk8bWFpbHRvOmp1emhlLnpob25n QHJpdmFpLmFpJTNjbWFpbHRvOmp1emhlLnpob25nQHJpdmFpLmFpPj4gPGp1 emhlLnpob25nQHJpdmFpLmFpPG1haWx0bzpqdXpoZS56aG9uZ0ByaXZhaS5h aTxtYWlsdG86anV6aGUuemhvbmdAcml2YWkuYWklM2NtYWlsdG86anV6aGUu emhvbmdAcml2YWkuYWk+Pj47IGtpdG8uY2hlbmdAc2lmaXZlLmNvbTxtYWls dG86a2l0by5jaGVuZ0BzaWZpdmUuY29tPG1haWx0bzpraXRvLmNoZW5nQHNp Zml2ZS5jb20lM2NtYWlsdG86a2l0by5jaGVuZ0BzaWZpdmUuY29tPj4gPGtp dG8uY2hlbmdAc2lmaXZlLmNvbTxtYWlsdG86a2l0by5jaGVuZ0BzaWZpdmUu Y29tPG1haWx0bzpraXRvLmNoZW5nQHNpZml2ZS5jb20lM2NtYWlsdG86a2l0 by5jaGVuZ0BzaWZpdmUuY29tPj4+OyByZ3VlbnRoZXJAc3VzZS5kZTxtYWls dG86cmd1ZW50aGVyQHN1c2UuZGU+IDxyZ3VlbnRoZXJAc3VzZS5kZTxtYWls dG86cmd1ZW50aGVyQHN1c2UuZGU8bWFpbHRvOnJndWVudGhlckBzdXNlLmRl JTNjbWFpbHRvOnJndWVudGhlckBzdXNlLmRlPj4+OyBwYW4yLmxpQGludGVs LmNvbTxtYWlsdG86cGFuMi5saUBpbnRlbC5jb20+IDxwYW4yLmxpQGludGVs LmNvbTxtYWlsdG86cGFuMi5saUBpbnRlbC5jb208bWFpbHRvOnBhbjIubGlA aW50ZWwuY29tJTNjbWFpbHRvOnBhbjIubGlAaW50ZWwuY29tPj4+DQo+PiBT dWJqZWN0OiBSZTogW1BBVENIXSBSSVNDLVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJv b2wgbW9kZSBwcmVjaXNpb24gYWRqdXN0bWVudA0KPj4NCj4+IFNvcnJ5IGZv ciB0aGUgc2xvdyByZXBseSwgYmVlbiBhd2F5IGZvciBhIGNvdXBsZSBvZiB3 ZWVrcy4NCj4+DQo+PiAiaW5jYXJuYXRpb24ucC5sZWUtLS0gdmlhIEdjYy1w YXRjaGVzIiA8Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc8bWFpbHRvOmdjYy1w YXRjaGVzQGdjYy5nbnUub3JnPG1haWx0bzpnY2MtcGF0Y2hlc0BnY2MuZ251 Lm9yZyUzY21haWx0bzpnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4+PiB3cml0 ZXM6DQo+Pj4gRnJvbTogUGFuIExpIDxwYW4yLmxpQGludGVsLmNvbTxtYWls dG86cGFuMi5saUBpbnRlbC5jb208bWFpbHRvOnBhbjIubGlAaW50ZWwuY29t JTNjbWFpbHRvOnBhbjIubGlAaW50ZWwuY29tPj4+DQo+Pj4NCj4+PiAgICAg ICAgRml4IHRoZSBidWcgb2YgdGhlIHJ2diBib29sIG1vZGUgcHJlY2lzaW9u IHdpdGggdGhlIGFkanVzdG1lbnQuDQo+Pj4gICAgICAgIFRoZSBiaXRzIHNp emUgb2YgdmJvb2wqX3Qgd2lsbCBiZSBhZGp1c3RlZCB0bw0KPj4+ICAgICAg ICBbMSwgMiwgNCwgOCwgMTYsIDMyLCA2NF0gYWNjb3JkaW5nIHRvIHRoZSBy dnYgc3BlYyAxLjAgaXNhLiBUaGUNCj4+PiAgICAgICAgYWRqdXN0ZWQgbW9k ZSBwcmVjaXNvbiBvZiB2Ym9vbCpfdCB3aWxsIGhlbHAgdW5kZXJseWluZyBw YXNzIHRvDQo+Pj4gICAgICAgIG1ha2UgdGhlIHJpZ2h0IGRlY2lzaW9uIGZv ciBib3RoIHRoZSBjb3JyZWN0bmVzcyBhbmQgb3B0aW1pemF0aW9uLg0KPj4+ DQo+Pj4gICAgICAgIEdpdmVuIGJlbG93IHNhbXBsZSBjb2RlOg0KPj4+ICAg ICAgICB2b2lkIHRlc3RfMShpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90 ICogcmVzdHJpY3Qgb3V0KQ0KPj4+ICAgICAgICB7DQo+Pj4gICAgICAgICAg dmJvb2w4X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4+PiAgICAgICAgICB2 Ym9vbDE2X3QgdjUgPSAqKHZib29sMTZfdCopaW47DQo+Pj4gICAgICAgICAg Kih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjU7DQo+Pj4gICAgICAgICAg Kih2Ym9vbDhfdCopKG91dCArIDEwMCkgPSB2MjsNCj4+PiAgICAgICAgfQ0K Pj4+DQo+Pj4gICAgICAgIEJlZm9yZSB0aGUgcHJlY2lzaW9uIGFkanVzdG1l bnQ6DQo+Pj4gICAgICAgIGFkZGkgICAgYTQsYTEsMTAwDQo+Pj4gICAgICAg IHZzZXR2bGkgYTUsemVybyxlOCxtMSx0YSxtYQ0KPj4+ICAgICAgICBhZGRp ICAgIGExLGExLDIwMA0KPj4+ICAgICAgICB2bG0udiAgIHYyNCwwKGEwKQ0K Pj4+ICAgICAgICB2c20udiAgIHYyNCwwKGE0KQ0KPj4+ICAgICAgICAvLyBO ZWVkIG9uZSB2c2V0dmxpIGFuZCB2bG0udiBmb3IgY29ycmVjdG5lc3MgaGVy ZS4NCj4+PiAgICAgICAgdnNtLnYgICB2MjQsMChhMSkNCj4+Pg0KPj4+ICAg ICAgICBBZnRlciB0aGUgcHJlY2lzaW9uIGFkanVzdG1lbnQ6DQo+Pj4gICAg ICAgIGNzcnIgICAgdDAsdmxlbmINCj4+PiAgICAgICAgc2xsaSAgICB0MSx0 MCwxDQo+Pj4gICAgICAgIGNzcnIgICAgYTMsdmxlbmINCj4+PiAgICAgICAg c3ViICAgICBzcCxzcCx0MQ0KPj4+ICAgICAgICBzbGxpICAgIGE0LGEzLDEN Cj4+PiAgICAgICAgYWRkICAgICBhNCxhNCxzcA0KPj4+ICAgICAgICBzdWIg ICAgIGEzLGE0LGEzDQo+Pj4gICAgICAgIHZzZXR2bGkgYTUsemVybyxlOCxt MSx0YSxtYQ0KPj4+ICAgICAgICBhZGRpICAgIGEyLGExLDIwMA0KPj4+ICAg ICAgICB2bG0udiAgIHYyNCwwKGEwKQ0KPj4+ICAgICAgICB2c20udiAgIHYy NCwwKGEzKQ0KPj4+ICAgICAgICBhZGRpICAgIGExLGExLDEwMA0KPj4+ICAg ICAgICB2c2V0dmxpIGE0LHplcm8sZTgsbWYyLHRhLG1hDQo+Pj4gICAgICAg IGNzcnIgICAgdDAsdmxlbmINCj4+PiAgICAgICAgdmxtLnYgICB2MjUsMChh MykNCj4+PiAgICAgICAgdnNtLnYgICB2MjUsMChhMikNCj4+PiAgICAgICAg c2xsaSAgICB0MSx0MCwxDQo+Pj4gICAgICAgIHZzZXR2bGkgYTUsemVybyxl OCxtMSx0YSxtYQ0KPj4+ICAgICAgICB2c20udiAgIHYyNCwwKGExKQ0KPj4+ ICAgICAgICBhZGQgICAgIHNwLHNwLHQxDQo+Pj4gICAgICAgIGpyICAgICAg cmENCj4+Pg0KPj4+ICAgICAgICBIb3dldmVyLCB0aGVyZSBtYXkgYmUgc29t ZSBvcHRpbWl6YXRpb24gb3Bwb3J0dW5hdGVzIGFmdGVyDQo+Pj4gICAgICAg IHRoZSBtb2RlIHByZWNpc2lvbiBhZGp1c3RtZW50LiBJdCBjYW4gYmUgdG9r ZW4gY2FyZSBvZiBpbg0KPj4+ICAgICAgICB0aGUgUklTQy1WIGJhY2tlbmQg aW4gdGhlIHVuZGVybHlpbmcgc2VwYXJ0ZWQgUFIocykuDQo+Pj4NCj4+PiAg ICAgICAgUFIgMTA4MTg1DQo+Pj4gICAgICAgIFBSIDEwODY1NA0KPj4+DQo+ Pj4gZ2NjL0NoYW5nZUxvZzoNCj4+Pg0KPj4+ICAgICAgICAqIGNvbmZpZy9y aXNjdi9yaXNjdi1tb2Rlcy5kZWYgKEFESlVTVF9QUkVDSVNJT04pOg0KPj4+ ICAgICAgICAqIGNvbmZpZy9yaXNjdi9yaXNjdi5jYyAocmlzY3Zfdl9hZGp1 c3RfcHJlY2lzaW9uKToNCj4+PiAgICAgICAgKiBjb25maWcvcmlzY3Yvcmlz Y3YuaCAocmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9uKToNCj4+PiAgICAgICAg KiBnZW5tb2Rlcy5jYyAoQURKVVNUX1BSRUNJU0lPTik6DQo+Pj4gICAgICAg IChlbWl0X21vZGVfYWRqdXN0bWVudHMpOg0KPj4+DQo+Pj4gZ2NjL3Rlc3Rz dWl0ZS9DaGFuZ2VMb2c6DQo+Pj4NCj4+PiAgICAgICAgKiBnY2MudGFyZ2V0 L3Jpc2N2L3ByMTA4MTg1LTEuYzogTmV3IHRlc3QuDQo+Pj4gICAgICAgICog Z2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0yLmM6IE5ldyB0ZXN0Lg0KPj4+ ICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMy5jOiBOZXcg dGVzdC4NCj4+PiAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1 LTQuYzogTmV3IHRlc3QuDQo+Pj4gICAgICAgICogZ2NjLnRhcmdldC9yaXNj di9wcjEwODE4NS01LmM6IE5ldyB0ZXN0Lg0KPj4+ICAgICAgICAqIGdjYy50 YXJnZXQvcmlzY3YvcHIxMDgxODUtNi5jOiBOZXcgdGVzdC4NCj4+PiAgICAg ICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTcuYzogTmV3IHRlc3Qu DQo+Pj4gICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS04LmM6 IE5ldyB0ZXN0Lg0KPj4+DQo+Pj4gU2lnbmVkLW9mZi1ieTogUGFuIExpIDxw YW4yLmxpQGludGVsLmNvbTxtYWlsdG86cGFuMi5saUBpbnRlbC5jb208bWFp bHRvOnBhbjIubGlAaW50ZWwuY29tJTNjbWFpbHRvOnBhbjIubGlAaW50ZWwu Y29tPj4+DQo+Pj4gLS0tDQo+Pj4gIGdjYy9jb25maWcvcmlzY3YvcmlzY3Yt bW9kZXMuZGVmICAgICAgICAgICAgfCAgOCArKysNCj4+PiAgZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi5jYyAgICAgICAgICAgICAgICAgICB8IDEyICsrKysN Cj4+PiAgZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5oICAgICAgICAgICAgICAg ICAgICB8ICAxICsNCj4+PiAgZ2NjL2dlbm1vZGVzLmNjICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDI1ICsrKysrKy0NCj4+PiAgZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTEuYyB8IDY4ICsrKysr KysrKysrKysrKysrKw0KPj4+ICBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcHIxMDgxODUtMi5jIHwgNjggKysrKysrKysrKysrKysrKysrDQo+ Pj4gIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0z LmMgfCA2OCArKysrKysrKysrKysrKysrKysNCj4+PiAgZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTQuYyB8IDY4ICsrKysrKysr KysrKysrKysrKw0KPj4+ICBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcHIxMDgxODUtNS5jIHwgNjggKysrKysrKysrKysrKysrKysrDQo+Pj4g IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS02LmMg fCA2OCArKysrKysrKysrKysrKysrKysNCj4+PiAgZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTcuYyB8IDY4ICsrKysrKysrKysr KysrKysrKw0KPj4+ICBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtOC5jIHwgNzcgKysrKysrKysrKysrKysrKysrKysrDQo+Pj4g IDEyIGZpbGVzIGNoYW5nZWQsIDU5OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pDQo+Pj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRl L2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMS5jDQo+Pj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIx MDgxODUtMi5jDQo+Pj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMy5jDQo+Pj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtNC5jDQo+Pj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNS5jDQo+Pj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcHIxMDgxODUtNi5jDQo+Pj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2Mv dGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNy5jDQo+Pj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcHIxMDgxODUtOC5jDQo+Pj4NCj4+PiBkaWZmIC0tZ2l0IGEvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi1tb2Rlcy5kZWYgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LW1vZGVzLmRlZg0KPj4+IGluZGV4IGQ1MzA1ZWZhOGE2Li4x MTBiZGRjZTg1MSAxMDA2NDQNCj4+PiAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2 L3Jpc2N2LW1vZGVzLmRlZg0KPj4+ICsrKyBiL2djYy9jb25maWcvcmlzY3Yv cmlzY3YtbW9kZXMuZGVmDQo+Pj4gQEAgLTcyLDYgKzcyLDE0IEBAIEFESlVT VF9CWVRFU0laRSAoVk54MTZCSSwgcmlzY3ZfdmVjdG9yX2NodW5rcyAqIHJp c2N2X2J5dGVzX3Blcl92ZWN0b3JfY2h1bmspOw0KPj4+ICBBREpVU1RfQllU RVNJWkUgKFZOeDMyQkksIHJpc2N2X3ZlY3Rvcl9jaHVua3MgKiByaXNjdl9i eXRlc19wZXJfdmVjdG9yX2NodW5rKTsNCj4+PiAgQURKVVNUX0JZVEVTSVpF IChWTng2NEJJLCByaXNjdl92X2FkanVzdF9udW5pdHMgKFZOeDY0Qkltb2Rl LCA4KSk7DQo+Pj4NCj4+PiArQURKVVNUX1BSRUNJU0lPTiAoVk54MUJJLCBy aXNjdl92X2FkanVzdF9wcmVjaXNpb24gKFZOeDFCSW1vZGUsIDEpKTsNCj4+ PiArQURKVVNUX1BSRUNJU0lPTiAoVk54MkJJLCByaXNjdl92X2FkanVzdF9w cmVjaXNpb24gKFZOeDJCSW1vZGUsIDIpKTsNCj4+PiArQURKVVNUX1BSRUNJ U0lPTiAoVk54NEJJLCByaXNjdl92X2FkanVzdF9wcmVjaXNpb24gKFZOeDRC SW1vZGUsIDQpKTsNCj4+PiArQURKVVNUX1BSRUNJU0lPTiAoVk54OEJJLCBy aXNjdl92X2FkanVzdF9wcmVjaXNpb24gKFZOeDhCSW1vZGUsIDgpKTsNCj4+ PiArQURKVVNUX1BSRUNJU0lPTiAoVk54MTZCSSwgcmlzY3Zfdl9hZGp1c3Rf cHJlY2lzaW9uIChWTngxNkJJbW9kZSwgMTYpKTsNCj4+PiArQURKVVNUX1BS RUNJU0lPTiAoVk54MzJCSSwgcmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9uIChW TngzMkJJbW9kZSwgMzIpKTsNCj4+PiArQURKVVNUX1BSRUNJU0lPTiAoVk54 NjRCSSwgcmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9uIChWTng2NEJJbW9kZSwg NjQpKTsNCj4+PiArDQo+Pj4gIC8qDQo+Pj4gICAgIHwgTW9kZSAgICAgICAg fCBNSU5fVkxFTj0zMiB8IE1JTl9WTEVOPTMyIHwgTUlOX1ZMRU49NjQgfCBN SU5fVkxFTj02NCB8DQo+Pj4gICAgIHwgICAgICAgICAgICAgfCBMTVVMICAg ICAgICB8IFNFVy9MTVVMICAgIHwgTE1VTCAgICAgICAgfCBTRVcvTE1VTCAg ICB8DQo+Pj4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Yu Y2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjDQo+Pj4gaW5kZXggZGUz ZTFmOTAzYzcuLmNiZTY2YzBlMzViIDEwMDY0NA0KPj4+IC0tLSBhL2djYy9j b25maWcvcmlzY3YvcmlzY3YuY2MNCj4+PiArKysgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LmNjDQo+Pj4gQEAgLTEwMDMsNiArMTAwMywxOCBAQCByaXNj dl92X2FkanVzdF9udW5pdHMgKG1hY2hpbmVfbW9kZSBtb2RlLCBpbnQgc2Nh bGUpDQo+Pj4gICAgcmV0dXJuIHNjYWxlOw0KPj4+ICB9DQo+Pj4NCj4+PiAr LyogQ2FsbCBmcm9tIEFESlVTVF9QUkVDSVNJT04gaW4gcmlzY3YtbW9kZXMu ZGVmLiAgUmV0dXJuIHRoZSBjb3JyZWN0DQo+Pj4gKyAgIFBSRUNJU0lPTiBz aXplIGZvciBjb3JyZXNwb25kaW5nIG1hY2hpbmVfbW9kZS4gICovDQo+Pj4g Kw0KPj4+ICtwb2x5X2ludDY0DQo+Pj4gK3Jpc2N2X3ZfYWRqdXN0X3ByZWNp c2lvbiAobWFjaGluZV9tb2RlIG1vZGUsIGludCBzY2FsZSkNCj4+PiArew0K Pj4+ICsgIGlmIChyaXNjdl92X2V4dF92ZWN0b3JfbW9kZV9wIChtb2RlKSkN Cj4+PiArICAgIHJldHVybiByaXNjdl92ZWN0b3JfY2h1bmtzICogc2NhbGU7 DQo+Pj4gKw0KPj4+ICsgIHJldHVybiBzY2FsZTsNCj4+PiArfQ0KPj4+ICsN Cj4+PiAgLyogUmV0dXJuIHRydWUgaWYgWCBpcyBhIHZhbGlkIGFkZHJlc3Mg Zm9yIG1hY2hpbmUgbW9kZSBNT0RFLiAgSWYgaXQgaXMsDQo+Pj4gICAgIGZp bGwgaW4gSU5GTyBhcHByb3ByaWF0ZWx5LiAgU1RSSUNUX1AgaXMgdHJ1ZSBp ZiBSRUdfT0tfU1RSSUNUIGlzIGluDQo+Pj4gICAgIGVmZmVjdC4gICovDQo+ Pj4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuaCBiL2dj Yy9jb25maWcvcmlzY3YvcmlzY3YuaA0KPj4+IGluZGV4IDViYzdmMmY0Njdk Li4xNWI5MzE3YThjZSAxMDA2NDQNCj4+PiAtLS0gYS9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LmgNCj4+PiArKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LmgNCj4+PiBAQCAtMTAyNSw2ICsxMDI1LDcgQEAgZXh0ZXJuIHVuc2lnbmVk IHJpc2N2X3N0YWNrX2JvdW5kYXJ5Ow0KPj4+ICBleHRlcm4gdW5zaWduZWQg cmlzY3ZfYnl0ZXNfcGVyX3ZlY3Rvcl9jaHVuazsNCj4+PiAgZXh0ZXJuIHBv bHlfdWludDE2IHJpc2N2X3ZlY3Rvcl9jaHVua3M7DQo+Pj4gIGV4dGVybiBw b2x5X2ludDY0IHJpc2N2X3ZfYWRqdXN0X251bml0cyAoZW51bSBtYWNoaW5l X21vZGUsIGludCk7DQo+Pj4gK2V4dGVybiBwb2x5X2ludDY0IHJpc2N2X3Zf YWRqdXN0X3ByZWNpc2lvbiAoZW51bSBtYWNoaW5lX21vZGUsIGludCk7DQo+ Pj4gIC8qIFRoZSBudW1iZXIgb2YgYml0cyBhbmQgYnl0ZXMgaW4gYSBSVlYg dmVjdG9yLiAgKi8NCj4+PiAgI2RlZmluZSBCSVRTX1BFUl9SSVNDVl9WRUNU T1IgKHBvbHlfdWludDE2IChyaXNjdl92ZWN0b3JfY2h1bmtzICogcmlzY3Zf Ynl0ZXNfcGVyX3ZlY3Rvcl9jaHVuayAqIDgpKQ0KPj4+ICAjZGVmaW5lIEJZ VEVTX1BFUl9SSVNDVl9WRUNUT1IgKHBvbHlfdWludDE2IChyaXNjdl92ZWN0 b3JfY2h1bmtzICogcmlzY3ZfYnl0ZXNfcGVyX3ZlY3Rvcl9jaHVuaykpDQo+ Pj4gZGlmZiAtLWdpdCBhL2djYy9nZW5tb2Rlcy5jYyBiL2djYy9nZW5tb2Rl cy5jYw0KPj4+IGluZGV4IDJkNDE4ZjA5YWFiLi4xMmY0ZTYzMzVlNiAxMDA2 NDQNCj4+PiAtLS0gYS9nY2MvZ2VubW9kZXMuY2MNCj4+PiArKysgYi9nY2Mv Z2VubW9kZXMuY2MNCj4+PiBAQCAtMTE0LDYgKzExNCw3IEBAIHN0YXRpYyBz dHJ1Y3QgbW9kZV9hZGp1c3QgKmFkal9hbGlnbm1lbnQ7DQo+Pj4gIHN0YXRp YyBzdHJ1Y3QgbW9kZV9hZGp1c3QgKmFkal9mb3JtYXQ7DQo+Pj4gIHN0YXRp YyBzdHJ1Y3QgbW9kZV9hZGp1c3QgKmFkal9pYml0Ow0KPj4+ICBzdGF0aWMg c3RydWN0IG1vZGVfYWRqdXN0ICphZGpfZmJpdDsNCj4+PiArc3RhdGljIHN0 cnVjdCBtb2RlX2FkanVzdCAqYWRqX3ByZWNpc2lvbjsNCj4+Pg0KPj4+ICAv KiBNb2RlIGNsYXNzIG9wZXJhdGlvbnMuICAqLw0KPj4+ICBzdGF0aWMgZW51 bSBtb2RlX2NsYXNzDQo+Pj4gQEAgLTgxOSw2ICs4MjAsNyBAQCBtYWtlX3Zl Y3Rvcl9tb2RlIChlbnVtIG1vZGVfY2xhc3MgYmNsYXNzLA0KPj4+ICAjZGVm aW5lIEFESlVTVF9OVU5JVFMoTSwgWCkgICAgX0FERF9BREpVU1QgKG51bml0 cywgTSwgWCwgUkFORE9NLCBSQU5ET00pDQo+Pj4gICNkZWZpbmUgQURKVVNU X0JZVEVTSVpFKE0sIFgpICBfQUREX0FESlVTVCAoYnl0ZXNpemUsIE0sIFgs IFJBTkRPTSwgUkFORE9NKQ0KPj4+ICAjZGVmaW5lIEFESlVTVF9BTElHTk1F TlQoTSwgWCkgX0FERF9BREpVU1QgKGFsaWdubWVudCwgTSwgWCwgUkFORE9N LCBSQU5ET00pDQo+Pj4gKyNkZWZpbmUgQURKVVNUX1BSRUNJU0lPTihNLCBY KSBfQUREX0FESlVTVCAocHJlY2lzaW9uLCBNLCBYLCBSQU5ET00sIFJBTkRP TSkNCj4+PiAgI2RlZmluZSBBREpVU1RfRkxPQVRfRk9STUFUKE0sIFgpICAg IF9BRERfQURKVVNUIChmb3JtYXQsIE0sIFgsIEZMT0FULCBGTE9BVCkNCj4+ PiAgI2RlZmluZSBBREpVU1RfSUJJVChNLCBYKSAgX0FERF9BREpVU1QgKGli aXQsIE0sIFgsIEFDQ1VNLCBVQUNDVU0pDQo+Pj4gICNkZWZpbmUgQURKVVNU X0ZCSVQoTSwgWCkgIF9BRERfQURKVVNUIChmYml0LCBNLCBYLCBGUkFDVCwg VUFDQ1VNKQ0KPj4+IEBAIC0xODI5LDcgKzE4MzEsMTUgQEAgZW1pdF9tb2Rl X2FkanVzdG1lbnRzICh2b2lkKQ0KPj4+ICAgICAgICAgICAgICAiIChtb2Rl X3ByZWNpc2lvbltFXyVzbW9kZV0sIG1vZGVfbnVuaXRzW0VfJXNtb2RlXSk7 XG4iLA0KPj4+ICAgICAgICAgICAgICBtLT5uYW1lLCBtLT5uYW1lKTsNCj4+ PiAgICAgICAgcHJpbnRmICgiICAgIG1vZGVfcHJlY2lzaW9uW0VfJXNtb2Rl XSA9IHBzICogb2xkX2ZhY3RvcjtcbiIsIG0tPm5hbWUpOw0KPj4+IC0gICAg ICBwcmludGYgKCIgICAgbW9kZV9zaXplW0VfJXNtb2RlXSA9IGV4YWN0X2Rp diAobW9kZV9wcmVjaXNpb25bRV8lc21vZGVdLCINCj4+PiArICAgICAgLyog Tm9ybWFsaXplIHRoZSBzaXplIHRvIDEgaWYgcHJlY2lzb24gaXMgbGVzcyB0 aGFuIEJJVFNfUEVSX1VOSVQuICAqLw0KPj4+ICsgICAgICBwcmludGYgKCIg ICAgcG9seV91aW50MTYgc2l6ZV9vbmUgPSAiDQo+Pj4gKyAgICAgICAgICAg Im1vZGVfcHJlY2lzaW9uW0VfJXNtb2RlXS5pc19jb25zdGFudCAoKVxuIiwg bS0+bmFtZSk7DQo+Pj4gKyAgICAgIHByaW50ZiAoIiAgICAgID8gcG9seV91 aW50MTYgKDEsIDApIDogcG9seV91aW50MTYgKDEsIDEpO1xuIik7DQo+Pg0K Pj4gSGF2ZSB5b3UgdHJpZWQgdGhpcyBvbiBhbiB4ODZfNjQgc3lzdGVtPyAg SSB3b3VsZG4ndCBleHBlY3QgaXQgdG8gd29yaw0KPj4gYmVjYXVzZSBvZiB0 aGU6DQo+Pg0KPj4gICBTVEFUSUNfQVNTRVJUIChOID49IDIpOw0KPj4NCj4+ IGluIHRoZSBwb2x5X3VpbnQxNiBjb25zdHJ1Y3Rvci4NCj4+DQo+Pj4gKyAg ICAgIHByaW50ZiAoIiAgICBpZiAoa25vd25fbHQgKG1vZGVfcHJlY2lzaW9u W0VfJXNtb2RlXSwgIg0KPj4+ICsgICAgICAgICAgICJzaXplX29uZSAqIEJJ VFNfUEVSX1VOSVQpKVxuIiwgbS0+bmFtZSk7DQo+Pj4gKyAgICAgIHByaW50 ZiAoIiAgICAgIG1vZGVfc2l6ZVtFXyVzbW9kZV0gPSBzaXplX29uZTtcbiIs IG0tPm5hbWUpOw0KPj4+ICsgICAgICBwcmludGYgKCIgICAgZWxzZVxuIik7 DQo+Pj4gKyAgICAgIHByaW50ZiAoIiAgICAgIG1vZGVfc2l6ZVtFXyVzbW9k ZV0gPSBleGFjdF9kaXYgKG1vZGVfcHJlY2lzaW9uW0VfJXNtb2RlXSwiDQo+ Pg0KPj4gTm93IHRoYXQgdGhlIGFzc2VydCBpbXBsaWNpdCBpbiB0aGUgb3Jp Z2luYWwgZXhhY3RfZGl2IG5vIGxvbmdlciBob2xkcywNCj4+IEkgdGhpbmsg d2Ugc2hvdWxkIGluc3RlYWQgZ2VuZXJhbGlzZSBpdCB0byBjYW5fZGl2X2F3 YXlfZnJvbV96ZXJvX3ANCj4+ICh3aGljaCB3aWxsIGludm9sdmUgZGVmaW5p bmcgYSBuZXcgb3ZlcmxvYWQgb2YgY2FuX2Rpdl9hd2F5X2Zyb21femVyb19w KS4NCj4+IEkgdGhpbmsgdGhhdCB3aWxsIGdpdmUgdGhlIHNhbWUgcmVzdWx0 IGFzIHRoZSBjb2RlIGFib3ZlIGZvciB0aGUgY2FzZXMNCj4+IHRoYXQgdGhl IGNvZGUgYWJvdmUgaGFuZGxlcy4gIEJ1dCBpdCBzaG91bGQgYmUgbW9yZSBn ZW5lcmFsIHRvby4NCj4+DQo+PiBUQkgsIEknbSBzdGlsbCBzY2VwdGljYWwg dGhhdCB0aGlzIGlzIGFsbCB0aGF0IGlzIG5lZWRlZC4gIEl0IHNlZW1zDQo+ PiB1bmxpa2VseSB0aGF0IHdlJ3ZlIGJlZW4gc28gZ29vZCBhdCB3cml0aW5n IHZlY3RvciBzdXBwb3J0IGNvZGUgdGhhdA0KPj4gd2UndmUgbWFkZSBpdCB3 b3JrIGZvciBwcmVjaXNpb24gPCBiaXRzaXplLCBkZXNwaXRlIHRoYXQgYmVp bmcgYW4NCj4+IHVuc3VwcG9ydGVkIGNvbWJpbmF0aW9uIHVudGlsIG5vdy4g IEJ1dCBJIGd1ZXNzIHdlIGNhbiBmaXggcHJvYmxlbXMNCj4+IG9uIGEgY2Fz ZS1ieS1jYXNlIGJhc2lzLg0KPj4NCj4+IFRoYW5rcywNCj4+IFJpY2hhcmQN Cj4+DQo+Pj4gICAgICAgICAgICAgICIgQklUU19QRVJfVU5JVCk7XG4iLCBt LT5uYW1lLCBtLT5uYW1lKTsNCj4+PiAgICAgICAgcHJpbnRmICgiICAgIG1v ZGVfbnVuaXRzW0VfJXNtb2RlXSA9IHBzO1xuIiwgbS0+bmFtZSk7DQo+Pj4g ICAgICAgIHByaW50ZiAoIiAgICBhZGp1c3RfbW9kZV9tYXNrIChFXyVzbW9k ZSk7XG4iLCBtLT5uYW1lKTsNCj4+PiBAQCAtMTk2Myw2ICsxOTczLDE5IEBA IGVtaXRfbW9kZV9hZGp1c3RtZW50cyAodm9pZCkNCj4+PiAgICAgIHByaW50 ZiAoIlxuICAvKiAlczolZCAqL1xuICBSRUFMX01PREVfRk9STUFUIChFXyVz bW9kZSkgPSAlcztcbiIsDQo+Pj4gICAgICAgICAgICBhLT5maWxlLCBhLT5s aW5lLCBhLT5tb2RlLT5uYW1lLCBhLT5hZGp1c3RtZW50KTsNCj4+Pg0KPj4+ ICsgIC8qIEFkanVzdCBwcmVjaXNpb24gdG8gdGhlIGFjdHVhbCBiaXRzIHNp emUuICAqLw0KPj4+ICsgIGZvciAoYSA9IGFkal9wcmVjaXNpb247IGE7IGEg PSBhLT5uZXh0KQ0KPj4+ICsgICAgc3dpdGNoIChhLT5tb2RlLT5jbCkNCj4+ PiArICAgICAgew0KPj4+ICsgICAgIGNhc2UgTU9ERV9WRUNUT1JfQk9PTDoN Cj4+PiArICAgICAgIHByaW50ZiAoIlxuICAvKiAlczolZC4gICovXG4gIHBz ID0gJXM7XG4iLCBhLT5maWxlLCBhLT5saW5lLA0KPj4+ICsgICAgICAgICAg ICAgICBhLT5hZGp1c3RtZW50KTsNCj4+PiArICAgICAgIHByaW50ZiAoIiAg bW9kZV9wcmVjaXNpb25bRV8lc21vZGVdID0gcHM7XG4iLCBhLT5tb2RlLT5u YW1lKTsNCj4+PiArICAgICAgIGJyZWFrOw0KPj4+ICsgICAgIGRlZmF1bHQ6 DQo+Pj4gKyAgICAgICBicmVhazsNCj4+PiArICAgICAgfQ0KPj4+ICsNCj4+ PiAgICBwdXRzICgifSIpOw0KPj4+ICB9DQo+Pj4NCj4+PiBkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTEu YyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0x LmMNCj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4+IGluZGV4IDAwMDAw MDAwMDAwLi5lNzA5NjBjNWI2ZA0KPj4+IC0tLSAvZGV2L251bGwNCj4+PiAr KysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUt MS5jDQo+Pj4gQEAgLTAsMCArMSw2OCBAQA0KPj4+ICsvKiB7IGRnLWRvIGNv bXBpbGUgfSAqLw0KPj4+ICsvKiB7IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0 Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICovDQo+Pj4gKw0KPj4+ICsjaW5jbHVk ZSAicmlzY3ZfdmVjdG9yLmgiDQo+Pj4gKw0KPj4+ICt2b2lkDQo+Pj4gK3Rl c3RfdmJvb2wxX3RoZW5fdmJvb2wyKGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAgIHZib29sMV90IHYx ID0gKih2Ym9vbDFfdCopaW47DQo+Pj4gKyAgICB2Ym9vbDJfdCB2MiA9ICoo dmJvb2wyX3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoodmJvb2wxX3QqKShv dXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29sMl90Kikob3V0ICsg MjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2b2lkDQo+Pj4gK3Rl c3RfdmJvb2wxX3RoZW5fdmJvb2w0KGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAgIHZib29sMV90IHYx ID0gKih2Ym9vbDFfdCopaW47DQo+Pj4gKyAgICB2Ym9vbDRfdCB2MiA9ICoo dmJvb2w0X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoodmJvb2wxX3QqKShv dXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29sNF90Kikob3V0ICsg MjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2b2lkDQo+Pj4gK3Rl c3RfdmJvb2wxX3RoZW5fdmJvb2w4KGludDhfdCAqIHJlc3RyaWN0IGluLCBp bnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAgIHZib29sMV90IHYx ID0gKih2Ym9vbDFfdCopaW47DQo+Pj4gKyAgICB2Ym9vbDhfdCB2MiA9ICoo dmJvb2w4X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoodmJvb2wxX3QqKShv dXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29sOF90Kikob3V0ICsg MjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2b2lkDQo+Pj4gK3Rl c3RfdmJvb2wxX3RoZW5fdmJvb2wxNihpbnQ4X3QgKiByZXN0cmljdCBpbiwg aW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4gKyAgICB2Ym9vbDFfdCB2 MSA9ICoodmJvb2wxX3QqKWluOw0KPj4+ICsgICAgdmJvb2wxNl90IHYyID0g Kih2Ym9vbDE2X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoodmJvb2wxX3Qq KShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29sMTZfdCopKG91 dCArIDIwMCkgPSB2MjsNCj4+PiArfQ0KPj4+ICsNCj4+PiArdm9pZA0KPj4+ ICt0ZXN0X3Zib29sMV90aGVuX3Zib29sMzIoaW50OF90ICogcmVzdHJpY3Qg aW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4+ICsgICAgdmJvb2wx X3QgdjEgPSAqKHZib29sMV90KilpbjsNCj4+PiArICAgIHZib29sMzJfdCB2 MiA9ICoodmJvb2wzMl90KilpbjsNCj4+PiArDQo+Pj4gKyAgICAqKHZib29s MV90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+ICsgICAgKih2Ym9vbDMyX3Qq KShvdXQgKyAyMDApID0gdjI7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3ZvaWQN Cj4+PiArdGVzdF92Ym9vbDFfdGhlbl92Ym9vbDY0KGludDhfdCAqIHJlc3Ry aWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAgIHZi b29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47DQo+Pj4gKyAgICB2Ym9vbDY0 X3QgdjIgPSAqKHZib29sNjRfdCopaW47DQo+Pj4gKw0KPj4+ICsgICAgKih2 Ym9vbDFfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+PiArICAgICoodmJvb2w2 NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxzKm1h fSA2IH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4 LFxzKm00LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVsw LTldKyxccyp6ZXJvLFxzKmU4LFxzKm0yLFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0xLFxz KnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6 ZXJvLFxzKmU4LFxzKm1mMixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+PiAr LyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxp XHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjQsXHMqdGEsXHMq bWF9IDEgfSB9ICovDQo+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMq ZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZsbVwudlxzK3ZbMC05 XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIgfSB9ICovDQo+Pj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlsw LTldKyxccyowXChbYS14XVswLTldK1wpfSAxOCB9IH0gKi8NCj4+PiBkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4 MTg1LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEw ODE4NS0yLmMNCj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4+IGluZGV4 IDAwMDAwMDAwMDAwLi5kY2M3YTY0NGE4OA0KPj4+IC0tLSAvZGV2L251bGwN Cj4+PiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIx MDgxODUtMi5jDQo+Pj4gQEAgLTAsMCArMSw2OCBAQA0KPj4+ICsvKiB7IGRn LWRvIGNvbXBpbGUgfSAqLw0KPj4+ICsvKiB7IGRnLW9wdGlvbnMgIi1tYXJj aD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICovDQo+Pj4gKw0KPj4+ICsj aW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+Pj4gKw0KPj4+ICt2b2lkDQo+ Pj4gK3Rlc3RfdmJvb2wyX3RoZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0 IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAgIHZib29s Ml90IHYxID0gKih2Ym9vbDJfdCopaW47DQo+Pj4gKyAgICB2Ym9vbDFfdCB2 MiA9ICoodmJvb2wxX3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoodmJvb2wy X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29sMV90Kiko b3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2b2lkDQo+ Pj4gK3Rlc3RfdmJvb2wyX3RoZW5fdmJvb2w0KGludDhfdCAqIHJlc3RyaWN0 IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAgIHZib29s Ml90IHYxID0gKih2Ym9vbDJfdCopaW47DQo+Pj4gKyAgICB2Ym9vbDRfdCB2 MiA9ICoodmJvb2w0X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoodmJvb2wy X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29sNF90Kiko b3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2b2lkDQo+ Pj4gK3Rlc3RfdmJvb2wyX3RoZW5fdmJvb2w4KGludDhfdCAqIHJlc3RyaWN0 IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAgIHZib29s Ml90IHYxID0gKih2Ym9vbDJfdCopaW47DQo+Pj4gKyAgICB2Ym9vbDhfdCB2 MiA9ICoodmJvb2w4X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoodmJvb2wy X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29sOF90Kiko b3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2b2lkDQo+ Pj4gK3Rlc3RfdmJvb2wyX3RoZW5fdmJvb2wxNihpbnQ4X3QgKiByZXN0cmlj dCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4gKyAgICB2Ym9v bDJfdCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPj4+ICsgICAgdmJvb2wxNl90 IHYyID0gKih2Ym9vbDE2X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoodmJv b2wyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29sMTZf dCopKG91dCArIDIwMCkgPSB2MjsNCj4+PiArfQ0KPj4+ICsNCj4+PiArdm9p ZA0KPj4+ICt0ZXN0X3Zib29sMl90aGVuX3Zib29sMzIoaW50OF90ICogcmVz dHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4+ICsgICAg dmJvb2wyX3QgdjEgPSAqKHZib29sMl90KilpbjsNCj4+PiArICAgIHZib29s MzJfdCB2MiA9ICoodmJvb2wzMl90KilpbjsNCj4+PiArDQo+Pj4gKyAgICAq KHZib29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+ICsgICAgKih2Ym9v bDMyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4gK30NCj4+PiArDQo+Pj4g K3ZvaWQNCj4+PiArdGVzdF92Ym9vbDJfdGhlbl92Ym9vbDY0KGludDhfdCAq IHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiAr ICAgIHZib29sMl90IHYxID0gKih2Ym9vbDJfdCopaW47DQo+Pj4gKyAgICB2 Ym9vbDY0X3QgdjIgPSAqKHZib29sNjRfdCopaW47DQo+Pj4gKw0KPj4+ICsg ICAgKih2Ym9vbDJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+PiArICAgICoo dmJvb2w2NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0K Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRh LFxzKm1hfSA2IH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJv LFxzKmU4LFxzKm0yLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytb YS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0xLFxzKnRhLFxzKm1hfSAx IH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km04LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTld Kyxccyp6ZXJvLFxzKmU4LFxzKm1mMixccyp0YSxccyptYX0gMSB9IH0gKi8N Cj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjQsXHMq dGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZsbVwudlxz K3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIgfSB9ICovDQo+Pj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52 XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxNyB9IH0gKi8NCj4+ PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3ByMTA4MTg1LTMuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9wcjEwODE4NS0zLmMNCj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4+ IGluZGV4IDAwMDAwMDAwMDAwLi4zYWYwNTEzZTAwNg0KPj4+IC0tLSAvZGV2 L251bGwNCj4+PiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcHIxMDgxODUtMy5jDQo+Pj4gQEAgLTAsMCArMSw2OCBAQA0KPj4+ICsv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPj4+ICsvKiB7IGRnLW9wdGlvbnMg Ii1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICovDQo+Pj4gKw0K Pj4+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+Pj4gKw0KPj4+ICt2 b2lkDQo+Pj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2wxKGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAg IHZib29sNF90IHYxID0gKih2Ym9vbDRfdCopaW47DQo+Pj4gKyAgICB2Ym9v bDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoo dmJvb2w0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29s MV90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2 b2lkDQo+Pj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2wyKGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAg IHZib29sNF90IHYxID0gKih2Ym9vbDRfdCopaW47DQo+Pj4gKyAgICB2Ym9v bDJfdCB2MiA9ICoodmJvb2wyX3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoo dmJvb2w0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29s Ml90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2 b2lkDQo+Pj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2w4KGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAg IHZib29sNF90IHYxID0gKih2Ym9vbDRfdCopaW47DQo+Pj4gKyAgICB2Ym9v bDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoo dmJvb2w0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29s OF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2 b2lkDQo+Pj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2wxNihpbnQ4X3QgKiBy ZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4gKyAg ICB2Ym9vbDRfdCB2MSA9ICoodmJvb2w0X3QqKWluOw0KPj4+ICsgICAgdmJv b2wxNl90IHYyID0gKih2Ym9vbDE2X3QqKWluOw0KPj4+ICsNCj4+PiArICAg ICoodmJvb2w0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZi b29sMTZfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+PiArfQ0KPj4+ICsNCj4+ PiArdm9pZA0KPj4+ICt0ZXN0X3Zib29sNF90aGVuX3Zib29sMzIoaW50OF90 ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4+ ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29sNF90KilpbjsNCj4+PiArICAg IHZib29sMzJfdCB2MiA9ICoodmJvb2wzMl90KilpbjsNCj4+PiArDQo+Pj4g KyAgICAqKHZib29sNF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+ICsgICAg Kih2Ym9vbDMyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4gK30NCj4+PiAr DQo+Pj4gK3ZvaWQNCj4+PiArdGVzdF92Ym9vbDRfdGhlbl92Ym9vbDY0KGlu dDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsN Cj4+PiArICAgIHZib29sNF90IHYxID0gKih2Ym9vbDRfdCopaW47DQo+Pj4g KyAgICB2Ym9vbDY0X3QgdjIgPSAqKHZib29sNjRfdCopaW47DQo+Pj4gKw0K Pj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+PiAr ICAgICoodmJvb2w2NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+ Pj4gKw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0y LFxzKnRhLFxzKm1hfSA2IH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxc cyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxz Km1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxz KmU4LFxzKm0xLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14 XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mMixccyp0YSxccyptYX0gMSB9 IH0gKi8NCj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRp bWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccypt ZjQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0r LFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0K Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zs bVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIgfSB9ICov DQo+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxNiB9IH0g Ki8NCj4+PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3ByMTA4MTg1LTQuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi9wcjEwODE4NS00LmMNCj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPj4+IGluZGV4IDAwMDAwMDAwMDAwLi5lYTNjMzYwZDc1Ng0KPj4+IC0t LSAvZGV2L251bGwNCj4+PiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcHIxMDgxODUtNC5jDQo+Pj4gQEAgLTAsMCArMSw2OCBAQA0K Pj4+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPj4+ICsvKiB7IGRnLW9w dGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICovDQo+ Pj4gKw0KPj4+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+Pj4gKw0K Pj4+ICt2b2lkDQo+Pj4gK3Rlc3RfdmJvb2w4X3RoZW5fdmJvb2wxKGludDhf dCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ PiArICAgIHZib29sOF90IHYxID0gKih2Ym9vbDhfdCopaW47DQo+Pj4gKyAg ICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPj4+ICsNCj4+PiAr ICAgICoodmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAq KHZib29sMV90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0K Pj4+ICt2b2lkDQo+Pj4gK3Rlc3RfdmJvb2w4X3RoZW5fdmJvb2wyKGludDhf dCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ PiArICAgIHZib29sOF90IHYxID0gKih2Ym9vbDhfdCopaW47DQo+Pj4gKyAg ICB2Ym9vbDJfdCB2MiA9ICoodmJvb2wyX3QqKWluOw0KPj4+ICsNCj4+PiAr ICAgICoodmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAq KHZib29sMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0K Pj4+ICt2b2lkDQo+Pj4gK3Rlc3RfdmJvb2w4X3RoZW5fdmJvb2w0KGludDhf dCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ PiArICAgIHZib29sOF90IHYxID0gKih2Ym9vbDhfdCopaW47DQo+Pj4gKyAg ICB2Ym9vbDRfdCB2MiA9ICoodmJvb2w0X3QqKWluOw0KPj4+ICsNCj4+PiAr ICAgICoodmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAq KHZib29sNF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0K Pj4+ICt2b2lkDQo+Pj4gK3Rlc3RfdmJvb2w4X3RoZW5fdmJvb2wxNihpbnQ4 X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ Pj4gKyAgICB2Ym9vbDhfdCB2MSA9ICoodmJvb2w4X3QqKWluOw0KPj4+ICsg ICAgdmJvb2wxNl90IHYyID0gKih2Ym9vbDE2X3QqKWluOw0KPj4+ICsNCj4+ PiArICAgICoodmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAg ICAqKHZib29sMTZfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+PiArfQ0KPj4+ ICsNCj4+PiArdm9pZA0KPj4+ICt0ZXN0X3Zib29sOF90aGVuX3Zib29sMzIo aW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkg ew0KPj4+ICsgICAgdmJvb2w4X3QgdjEgPSAqKHZib29sOF90KilpbjsNCj4+ PiArICAgIHZib29sMzJfdCB2MiA9ICoodmJvb2wzMl90KilpbjsNCj4+PiAr DQo+Pj4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+ ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4gK30N Cj4+PiArDQo+Pj4gK3ZvaWQNCj4+PiArdGVzdF92Ym9vbDhfdGhlbl92Ym9v bDY0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBv dXQpIHsNCj4+PiArICAgIHZib29sOF90IHYxID0gKih2Ym9vbDhfdCopaW47 DQo+Pj4gKyAgICB2Ym9vbDY0X3QgdjIgPSAqKHZib29sNjRfdCopaW47DQo+ Pj4gKw0KPj4+ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDEwMCkgPSB2MTsN Cj4+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ ICt9DQo+Pj4gKw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4 LFxzKm0xLFxzKnRhLFxzKm1hfSA2IH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVsw LTldKyxccyp6ZXJvLFxzKmU4LFxzKm0yLFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxz KnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6 ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mMixccyp0YSxccypt YX0gMSB9IH0gKi8NCj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccypl OCxccyptZjQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhd WzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSAxIH0g fSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZsbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIg fSB9ICovDQo+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAx NSB9IH0gKi8NCj4+PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTUuYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi9wcjEwODE4NS01LmMNCj4+PiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPj4+IGluZGV4IDAwMDAwMDAwMDAwLi45ZmM2NTlkMjQwMg0K Pj4+IC0tLSAvZGV2L251bGwNCj4+PiArKysgYi9nY2MvdGVzdHN1aXRlL2dj Yy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNS5jDQo+Pj4gQEAgLTAsMCArMSw2 OCBAQA0KPj4+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPj4+ICsvKiB7 IGRnLW9wdGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9 ICovDQo+Pj4gKw0KPj4+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+ Pj4gKw0KPj4+ICt2b2lkDQo+Pj4gK3Rlc3RfdmJvb2wxNl90aGVuX3Zib29s MShpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0 KSB7DQo+Pj4gKyAgICB2Ym9vbDE2X3QgdjEgPSAqKHZib29sMTZfdCopaW47 DQo+Pj4gKyAgICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPj4+ ICsNCj4+PiArICAgICoodmJvb2wxNl90Kikob3V0ICsgMTAwKSA9IHYxOw0K Pj4+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+PiAr fQ0KPj4+ICsNCj4+PiArdm9pZA0KPj4+ICt0ZXN0X3Zib29sMTZfdGhlbl92 Ym9vbDIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0 IG91dCkgew0KPj4+ICsgICAgdmJvb2wxNl90IHYxID0gKih2Ym9vbDE2X3Qq KWluOw0KPj4+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsN Cj4+PiArDQo+Pj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDEwMCkgPSB2 MTsNCj4+PiArICAgICoodmJvb2wyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+ Pj4gK30NCj4+PiArDQo+Pj4gK3ZvaWQNCj4+PiArdGVzdF92Ym9vbDE2X3Ro ZW5fdmJvb2w0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0 cmljdCBvdXQpIHsNCj4+PiArICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wx Nl90KilpbjsNCj4+PiArICAgIHZib29sNF90IHYyID0gKih2Ym9vbDRfdCop aW47DQo+Pj4gKw0KPj4+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAxMDAp ID0gdjE7DQo+Pj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMjAwKSA9IHYy Ow0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2b2lkDQo+Pj4gK3Rlc3RfdmJvb2wx Nl90aGVuX3Zib29sOChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICog cmVzdHJpY3Qgb3V0KSB7DQo+Pj4gKyAgICB2Ym9vbDE2X3QgdjEgPSAqKHZi b29sMTZfdCopaW47DQo+Pj4gKyAgICB2Ym9vbDhfdCB2MiA9ICoodmJvb2w4 X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoodmJvb2wxNl90Kikob3V0ICsg MTAwKSA9IHYxOw0KPj4+ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDIwMCkg PSB2MjsNCj4+PiArfQ0KPj4+ICsNCj4+PiArdm9pZA0KPj4+ICt0ZXN0X3Zi b29sMTZfdGhlbl92Ym9vbDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4 X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAgIHZib29sMTZfdCB2MSA9 ICoodmJvb2wxNl90KilpbjsNCj4+PiArICAgIHZib29sMzJfdCB2MiA9ICoo dmJvb2wzMl90KilpbjsNCj4+PiArDQo+Pj4gKyAgICAqKHZib29sMTZfdCop KG91dCArIDEwMCkgPSB2MTsNCj4+PiArICAgICoodmJvb2wzMl90Kikob3V0 ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2b2lkDQo+Pj4g K3Rlc3RfdmJvb2wxNl90aGVuX3Zib29sNjQoaW50OF90ICogcmVzdHJpY3Qg aW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4+ICsgICAgdmJvb2wx Nl90IHYxID0gKih2Ym9vbDE2X3QqKWluOw0KPj4+ICsgICAgdmJvb2w2NF90 IHYyID0gKih2Ym9vbDY0X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoodmJv b2wxNl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+ICsgICAgKih2Ym9vbDY0 X3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4gK30NCj4+PiArDQo+Pj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWYyLFxzKnRhLFxzKm1h fSA2IH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4 LFxzKm0yLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVsw LTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxz KnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6 ZXJvLFxzKmU4LFxzKm0xLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mNCxccyp0YSxccypt YX0gMSB9IH0gKi8NCj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccypl OCxccyptZjgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmxtXC52XHMrdlswLTld KyxccyowXChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4+PiArLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c21cLnZccyt2WzAt OV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDE0IH0gfSAqLw0KPj4+IGRpZmYg LS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgx ODUtNi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4 MTg1LTYuYw0KPj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+Pj4gaW5kZXgg MDAwMDAwMDAwMDAuLjk4Mjc1ZTUyNjdkDQo+Pj4gLS0tIC9kZXYvbnVsbA0K Pj4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEw ODE4NS02LmMNCj4+PiBAQCAtMCwwICsxLDY4IEBADQo+Pj4gKy8qIHsgZGct ZG8gY29tcGlsZSB9ICovDQo+Pj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNo PXJ2NjRnY3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8NCj4+PiArDQo+Pj4gKyNp bmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4+PiArDQo+Pj4gK3ZvaWQNCj4+ PiArdGVzdF92Ym9vbDMyX3RoZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0 IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAgIHZib29s MzJfdCB2MSA9ICoodmJvb2wzMl90KilpbjsNCj4+PiArICAgIHZib29sMV90 IHYyID0gKih2Ym9vbDFfdCopaW47DQo+Pj4gKw0KPj4+ICsgICAgKih2Ym9v bDMyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29sMV90 Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2b2lk DQo+Pj4gK3Rlc3RfdmJvb2wzMl90aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0 cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4gKyAgICB2 Ym9vbDMyX3QgdjEgPSAqKHZib29sMzJfdCopaW47DQo+Pj4gKyAgICB2Ym9v bDJfdCB2MiA9ICoodmJvb2wyX3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoo dmJvb2wzMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+ICsgICAgKih2Ym9v bDJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+PiArfQ0KPj4+ICsNCj4+PiAr dm9pZA0KPj4+ICt0ZXN0X3Zib29sMzJfdGhlbl92Ym9vbDQoaW50OF90ICog cmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4+ICsg ICAgdmJvb2wzMl90IHYxID0gKih2Ym9vbDMyX3QqKWluOw0KPj4+ICsgICAg dmJvb2w0X3QgdjIgPSAqKHZib29sNF90KilpbjsNCj4+PiArDQo+Pj4gKyAg ICAqKHZib29sMzJfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+PiArICAgICoo dmJvb2w0X3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4gK30NCj4+PiArDQo+ Pj4gK3ZvaWQNCj4+PiArdGVzdF92Ym9vbDMyX3RoZW5fdmJvb2w4KGludDhf dCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ PiArICAgIHZib29sMzJfdCB2MSA9ICoodmJvb2wzMl90KilpbjsNCj4+PiAr ICAgIHZib29sOF90IHYyID0gKih2Ym9vbDhfdCopaW47DQo+Pj4gKw0KPj4+ ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAg ICAqKHZib29sOF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4g Kw0KPj4+ICt2b2lkDQo+Pj4gK3Rlc3RfdmJvb2wzMl90aGVuX3Zib29sMTYo aW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkg ew0KPj4+ICsgICAgdmJvb2wzMl90IHYxID0gKih2Ym9vbDMyX3QqKWluOw0K Pj4+ICsgICAgdmJvb2wxNl90IHYyID0gKih2Ym9vbDE2X3QqKWluOw0KPj4+ ICsNCj4+PiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMTAwKSA9IHYxOw0K Pj4+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4g K30NCj4+PiArDQo+Pj4gK3ZvaWQNCj4+PiArdGVzdF92Ym9vbDMyX3RoZW5f dmJvb2w2NChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJp Y3Qgb3V0KSB7DQo+Pj4gKyAgICB2Ym9vbDMyX3QgdjEgPSAqKHZib29sMzJf dCopaW47DQo+Pj4gKyAgICB2Ym9vbDY0X3QgdjIgPSAqKHZib29sNjRfdCop aW47DQo+Pj4gKw0KPj4+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAxMDAp ID0gdjE7DQo+Pj4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDIwMCkgPSB2 MjsNCj4+PiArfQ0KPj4+ICsNCj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptZjQsXHMqdGEsXHMqbWF9IDYgfSB9ICovDQo+Pj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTgsXHMqdGEsXHMqbWF9 IDEgfSB9ICovDQo+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgs XHMqbTQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAt OV0rLFxzKnplcm8sXHMqZTgsXHMqbTIsXHMqdGEsXHMqbWF9IDEgfSB9ICov DQo+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTEsXHMq dGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbWYyLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mOCxccyp0YSxccypt YX0gMSB9IH0gKi8NCj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0r XCl9IDEyIH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge3ZzbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05 XStcKX0gMTMgfSB9ICovDQo+Pj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS03LmMgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNy5jDQo+Pj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4+PiBpbmRleCAwMDAwMDAwMDAwMC4uOGY2ZjBi MTFmMDkNCj4+PiAtLS0gL2Rldi9udWxsDQo+Pj4gKysrIGIvZ2NjL3Rlc3Rz dWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTcuYw0KPj4+IEBAIC0w LDAgKzEsNjggQEANCj4+PiArLyogeyBkZy1kbyBjb21waWxlIH0gKi8NCj4+ PiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0 IC1PMyIgfSAqLw0KPj4+ICsNCj4+PiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rv ci5oIg0KPj4+ICsNCj4+PiArdm9pZA0KPj4+ICt0ZXN0X3Zib29sNjRfdGhl bl92Ym9vbDEoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3Ry aWN0IG91dCkgew0KPj4+ICsgICAgdmJvb2w2NF90IHYxID0gKih2Ym9vbDY0 X3QqKWluOw0KPj4+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZib29sMV90Kilp bjsNCj4+PiArDQo+Pj4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDEwMCkg PSB2MTsNCj4+PiArICAgICoodmJvb2wxX3QqKShvdXQgKyAyMDApID0gdjI7 DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3ZvaWQNCj4+PiArdGVzdF92Ym9vbDY0 X3RoZW5fdmJvb2wyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiBy ZXN0cmljdCBvdXQpIHsNCj4+PiArICAgIHZib29sNjRfdCB2MSA9ICoodmJv b2w2NF90KilpbjsNCj4+PiArICAgIHZib29sMl90IHYyID0gKih2Ym9vbDJf dCopaW47DQo+Pj4gKw0KPj4+ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAx MDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMjAwKSA9 IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2b2lkDQo+Pj4gK3Rlc3RfdmJv b2w2NF90aGVuX3Zib29sNChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90 ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4gKyAgICB2Ym9vbDY0X3QgdjEgPSAq KHZib29sNjRfdCopaW47DQo+Pj4gKyAgICB2Ym9vbDRfdCB2MiA9ICoodmJv b2w0X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoodmJvb2w2NF90Kikob3V0 ICsgMTAwKSA9IHYxOw0KPj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDIw MCkgPSB2MjsNCj4+PiArfQ0KPj4+ICsNCj4+PiArdm9pZA0KPj4+ICt0ZXN0 X3Zib29sNjRfdGhlbl92Ym9vbDgoaW50OF90ICogcmVzdHJpY3QgaW4sIGlu dDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4+ICsgICAgdmJvb2w2NF90IHYx ID0gKih2Ym9vbDY0X3QqKWluOw0KPj4+ICsgICAgdmJvb2w4X3QgdjIgPSAq KHZib29sOF90KilpbjsNCj4+PiArDQo+Pj4gKyAgICAqKHZib29sNjRfdCop KG91dCArIDEwMCkgPSB2MTsNCj4+PiArICAgICoodmJvb2w4X3QqKShvdXQg KyAyMDApID0gdjI7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3ZvaWQNCj4+PiAr dGVzdF92Ym9vbDY0X3RoZW5fdmJvb2wxNihpbnQ4X3QgKiByZXN0cmljdCBp biwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4gKyAgICB2Ym9vbDY0 X3QgdjEgPSAqKHZib29sNjRfdCopaW47DQo+Pj4gKyAgICB2Ym9vbDE2X3Qg djIgPSAqKHZib29sMTZfdCopaW47DQo+Pj4gKw0KPj4+ICsgICAgKih2Ym9v bDY0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29sMTZf dCopKG91dCArIDIwMCkgPSB2MjsNCj4+PiArfQ0KPj4+ICsNCj4+PiArdm9p ZA0KPj4+ICt0ZXN0X3Zib29sNjRfdGhlbl92Ym9vbDMyKGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAg IHZib29sNjRfdCB2MSA9ICoodmJvb2w2NF90KilpbjsNCj4+PiArICAgIHZi b29sMzJfdCB2MiA9ICoodmJvb2wzMl90KilpbjsNCj4+PiArDQo+Pj4gKyAg ICAqKHZib29sNjRfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+PiArICAgICoo dmJvb2wzMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0K Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mOCxccyp0 YSxccyptYX0gNiB9IH0gKi8NCj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptOCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+PiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptNCxccyp0YSxccyptYX0g MSB9IH0gKi8NCj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxc cyptMixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+PiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05 XSssXHMqemVybyxccyplOCxccyptMSxccyp0YSxccyptYX0gMSB9IH0gKi8N Cj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjIsXHMq dGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZsbVwudlxz K3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIgfSB9ICovDQo+Pj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52 XHMrdlswLTldKyxccyowXChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4+ PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3ByMTA4MTg1LTguYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9wcjEwODE4NS04LmMNCj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4+ IGluZGV4IDAwMDAwMDAwMDAwLi5kOTY5NTlkZDA2NA0KPj4+IC0tLSAvZGV2 L251bGwNCj4+PiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvcHIxMDgxODUtOC5jDQo+Pj4gQEAgLTAsMCArMSw3NyBAQA0KPj4+ICsv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPj4+ICsvKiB7IGRnLW9wdGlvbnMg Ii1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICovDQo+Pj4gKw0K Pj4+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9yLmgiDQo+Pj4gKw0KPj4+ICt2 b2lkDQo+Pj4gK3Rlc3RfdmJvb2wxX3RoZW5fdmJvb2wxKGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAg IHZib29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47DQo+Pj4gKyAgICB2Ym9v bDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoo dmJvb2wxX3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29s MV90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2 b2lkDQo+Pj4gK3Rlc3RfdmJvb2wyX3RoZW5fdmJvb2wyKGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAg IHZib29sMl90IHYxID0gKih2Ym9vbDJfdCopaW47DQo+Pj4gKyAgICB2Ym9v bDJfdCB2MiA9ICoodmJvb2wyX3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoo dmJvb2wyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29s Ml90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2 b2lkDQo+Pj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2w0KGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAg IHZib29sNF90IHYxID0gKih2Ym9vbDRfdCopaW47DQo+Pj4gKyAgICB2Ym9v bDRfdCB2MiA9ICoodmJvb2w0X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoo dmJvb2w0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29s NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2 b2lkDQo+Pj4gK3Rlc3RfdmJvb2w4X3RoZW5fdmJvb2w4KGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+PiArICAg IHZib29sOF90IHYxID0gKih2Ym9vbDhfdCopaW47DQo+Pj4gKyAgICB2Ym9v bDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0KPj4+ICsNCj4+PiArICAgICoo dmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4gKyAgICAqKHZib29s OF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICt2 b2lkDQo+Pj4gK3Rlc3RfdmJvb2wxNl90aGVuX3Zib29sMTYoaW50OF90ICog cmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4+ICsg ICAgdmJvb2wxNl90IHYxID0gKih2Ym9vbDE2X3QqKWluOw0KPj4+ICsgICAg dmJvb2wxNl90IHYyID0gKih2Ym9vbDE2X3QqKWluOw0KPj4+ICsNCj4+PiAr ICAgICoodmJvb2wxNl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+ICsgICAg Kih2Ym9vbDE2X3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4gK30NCj4+PiAr DQo+Pj4gK3ZvaWQNCj4+PiArdGVzdF92Ym9vbDMyX3RoZW5fdmJvb2wzMihp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+Pj4gKyAgICB2Ym9vbDMyX3QgdjEgPSAqKHZib29sMzJfdCopaW47DQo+ Pj4gKyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29sMzJfdCopaW47DQo+Pj4g Kw0KPj4+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+ Pj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+PiAr fQ0KPj4+ICsNCj4+PiArdm9pZA0KPj4+ICt0ZXN0X3Zib29sNjRfdGhlbl92 Ym9vbDY0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmlj dCBvdXQpIHsNCj4+PiArICAgIHZib29sNjRfdCB2MSA9ICoodmJvb2w2NF90 KilpbjsNCj4+PiArICAgIHZib29sNjRfdCB2MiA9ICoodmJvb2w2NF90Kilp bjsNCj4+PiArDQo+Pj4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDEwMCkg PSB2MTsNCj4+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMjAwKSA9IHYy Ow0KPj4+ICt9DQo+Pj4gKw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJv LFxzKmU4LFxzKm04LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytb YS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSAx IH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km0yLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTld Kyxccyp6ZXJvLFxzKmU4LFxzKm0xLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0K Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mMixccyp0 YSxccyptYX0gMSB9IH0gKi8NCj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptZjQsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1h fSAxIH0gfSAqLw0KPj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZsbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStc KX0gNyB9IH0gKi8NCj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c21cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0r XCl9IDE0IH0gfSAqLw0KDQo= --_000_BYAPR04MB48243B29E559720BE1582219B7AD9BYAPR04MB4824namp_--