From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10olkn2018.outbound.protection.outlook.com [40.92.40.18]) by sourceware.org (Postfix) with ESMTPS id 4DFF63858D33 for ; Wed, 1 Mar 2023 11:26:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4DFF63858D33 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=VuGArgu5pEb9qBtav+Ir7aNpB3Wttfa6jIEaPsTeHbYMDkX8XcjXDNgDe5wHujYE+FZWfb3CBun3b+pmNie/TjdX3np5g/mAVTAUBqb6tbDBxjkSZOd9Dg1dMRhOxnxx3ehCu6KLTwVNrG0ahjHEQQfdtHffbczpX1VHbWwv6pfAGIAZTQGMfl52wzuAjoxzvo3Q7/4hg+sJVm2j+mrZUsggDli8zenSQKEvdtdthpZlv2XDlHH1c0g8CU5CWZJmAp8akfY4+2ydvCRAy8/duyNF8M/C+AwLZqQtymYB/v608O0T8YqG89VdrgFeGhds1jfZpeOe3Jr1OCsHpc0Cwg== 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=dkQFEPZ3+Qs81j3EZrtWMSdV+p57uFnQFE3LHpdK+p0=; b=bqK5uiy6bOHA9KVIL/2lbsuCZorr/tLrVIZ7fLjRJqTVMnUage/RXJLLS8ur7LdN9uCJSipZumhkS5MhAuST6BZdEU2ht3lv47Wx6rvrsLaWAiXiJNH5ooB0QKt3RNxqH4JpK0qaLuHhzZP2uVaxgjTaUxS8+AToDvT19NSo13KuIJnNx6skIfCV2OMAQswxXS2hqq9ElIgJkaPGcPdV2B2OKBIMN7w06XxXVhsbQ6k+vikS4HYB5lIrL7GIrCyuUBiXXdSOgPEbZpuLCfLsTt//sgCtl6fsLdz1b0VI0K0SPpoSmlPeo1s36PrMUUbmrDvmG6J+aNA9c35FplN3LQ== 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=dkQFEPZ3+Qs81j3EZrtWMSdV+p57uFnQFE3LHpdK+p0=; b=qzbXV/DBTiZzPsBCz5NZT4AxXuVUVncqy7gLjTfFT48XzaYC2eer26lGlZcm67EEma381q41C8pK1QAjUMpPU9Ob1V1B9zsOFDWT+PUh6Yu4k4s8HG/RkHSxlzkKg+Z+M1zszPLGgRPMFDPL38LwWSmix+uUNF6FvkTAe8gnvvwVV9d9MiKRS8lNqiiDH+P0bRHaOC95243e49JwOA7TluZhJX1xy/LTp39/g1jV6kEhdGHJbKkBr7QJzyac1JVMTBuDWNd306x2iSPtTjX4USdaXo/UdYb8yNvOV6aTvuDNNj8NxHWnYRHbDoUtFroB2RSulbfr4pXd8N1NtfsV6A== Received: from BYAPR04MB4824.namprd04.prod.outlook.com (2603:10b6:a03:5e::19) by DM5PR04MB0506.namprd04.prod.outlook.com (2603:10b6:3:9f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar 2023 11:26:41 +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 11:26:40 +0000 From: =?utf-8?B?55u8IOadjg==?= To: Richard Sandiford , =?utf-8?B?55u8IOadjiB2aWEgR2NjLXBhdGNoZXM=?= CC: "juzhe.zhong@rivai.ai" , pan2.li , Kito.cheng , rguenther Subject: Re: [PATCH] RISC-V: Bugfix for rvv bool mode precision adjustment Thread-Topic: [PATCH] RISC-V: Bugfix for rvv bool mode precision adjustment Thread-Index: AQHZTC6elNoYPmDEs0WlhZAo09h3kq7lx3Wq Date: Wed, 1 Mar 2023 11:26:40 +0000 Message-ID: References: <6F429B8CF9C3B3EF+2023030118462950633032@rivai.ai> 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: [pjJhQozxZLnMYnN/4YD+yswsLAyJ2usS] x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BYAPR04MB4824:EE_|DM5PR04MB0506:EE_ x-ms-office365-filtering-correlation-id: 275291e6-6955-4626-54be-08db1a47d409 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jw63Ueg+0f0pqZ9yABuHhicJ0ixp8lREBsqSISXOwmestrC2AV7KretDOMWxToszEGvOozK/jf3e/FwqyL/UYUHvG3hrCnprkxEZsj3U2YUJizfVOAw+BHtXXIGnWDhYamMWP1cW2nmPv9wlsyITD9VblOHW1pPO6VSDKJz96v/gOmpg/TO/4hHekCr0xjKScxn2eiDhBOakqHDDPE5JDIEhuWLYCQE+QUPV9a8LtgpTBsDhL90OD06Hs+vWr3OcWbunKmtxQbRkcuo/6/pEzdKqMVJRsCU+3L80VcsIYud3MRfZ+kVGoPrzU2s+q5P7o/A083eF1+YijbLNyW/OLggqqksQD3kVO1K3bZWT21vr7brJsCJeaAJVAVQiXy+6FIoeQPW2LNNnO1eRgyNz2P6rI3AfeCA8/U2h4aPluFjAKSuwQpTbNwiOPK4CqntbVEJFSqDld4kdb7VpzPcyVDw5rDTs8SLVg4kc+QWOBGmohREjUKMGThtp08wTdxbCmdntQyKgM/m+ybuYygpk+zPtzwfc15C+Unp/KspOI4WDtWJRR7zYWF/FrcqnpN1rJC8f1Y9ysbcpVWG5vlbzJl8Fxs0jxOtudp0FkUvtcgiO095YADt4nmribEMGwe7BsD1a6ZNFw2GIfGBmEHG3YQ== x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SjdUeFZ4MzN5YitoY3RvZ3pNOWJIUEp0NFZBR3hZRlF6cmJsZU5jYUFia0Zl?= =?utf-8?B?S3FKN1ZRcStuOW5yMGRaY0RFc0dJR1I4ZVFPMFJaLzIxTVMrVFdLSGczaHMw?= =?utf-8?B?QzNENml0dTJRSjdTMFVZbElDUVNJMkh3MXFGaHo5Zk5OcnpXdGxWY041WG5o?= =?utf-8?B?NFdvQnVBdVAzdmRRUmhNWkpib0Q0TE5lOW5zVGVqMFphMEE1dlhjeWRpMVVr?= =?utf-8?B?QnFvSTZYdlRDTWtSSlUwc21JS2lKTlJyWDNqdE0xemNnQmNWQ1l4YnlYK1No?= =?utf-8?B?ZVJiMHdBeGhxSXhYb3daSXNFenlqZnRta0VrUzQvNjloblpaVHhvTnFvUU03?= =?utf-8?B?WGhsM3dUSDhwUmhjV21scG5RUTIrVHE1dUVjTGs0ZWtlcDVkbVR2R2NGeWlY?= =?utf-8?B?OW1ZbyswMDN6cjJJSHZpL0dRWWZjdE5JOUVRZTdKbHRMSmNWQ3BpQ2FRMVNp?= =?utf-8?B?MEVkTmRNeDRacXhoaU42YTY3VFJsSjVXbVVkSGR6M21rNzJucHBHZzI1cDF6?= =?utf-8?B?bVplNEpsN3FlNEl4ZU1uWVE1RHdvbkJDcjhiRThuMkg2dnNDVE44RFFmcHdn?= =?utf-8?B?NVdYVk1NL2tidk9WRm9MWExIdG5zYmpYQmE2OFBZNEJuT291aXFaM1FYSGc4?= =?utf-8?B?L3B4SzZ6SVNycWxlcFk0Y2xmalJaRG5tbFYydFZtQzJtbVVMZHBESVNCS0dX?= =?utf-8?B?UElCS0h1WlVybDFRZC94Njk1K0FmbzVuU01hSjJjWGhGZWhicXhPSlJyMnN4?= =?utf-8?B?ZkVtckpFejRleS9nTlpGWno2cHByU2lCaVQwL1hsSVRvbHY1Sk5hbnVhNE9k?= =?utf-8?B?WjhqRmhLM0ZidnNEeDRlMjNoaWdXVUVYSFFrZ3FPN1VQK0M5Skllb2RtSHNi?= =?utf-8?B?L3VJVmxrVGV0enkzbUUzN2JaZWgrYmVZbmhrWXQ1b0d4N1E4OVk0bWxQVTl5?= =?utf-8?B?dUNEZEhQaXFoTkd2Mnd6aXpEL3ppL3NVS09hVVp5ZEtPR3BTVTR0d1c0N1Zw?= =?utf-8?B?eEhGSVdRa3UzQVZTYTdkWnVMV3pHd083WDdwajc4MkpZeHJDZHNOQ2V5N3hr?= =?utf-8?B?VzFuWFZpUUhOWmwyc3NrUnlmYm9TZkdLVXNEdDlVejlXaTJ3aTdBelh3dDRO?= =?utf-8?B?WVRaV3JJUnFySDR6eGNjK1l5OURZYzVBNmczRGJqY1p0WkxQNzh2S1RPUDVh?= =?utf-8?B?cGNJc2JwdGgrTEpzZEdIc3hRb2lXYmYxNmFqNzBhTzAra3pQWEtpeXZJK2Rr?= =?utf-8?B?czBsKzN3OEI1emQ1ZTY2c2ZJZTc4SURCTDJUMFBHZ2t3d0RCQVplcEE4ak44?= =?utf-8?B?YkVkdnNXSWVSZEYxQTlSOXA1K2syOUNoTGJYU3RpYmF5ZWhSQjIvKzJLRWZk?= =?utf-8?B?NHBia2l3dWcvU21PelNVUXErRmVwSnA3bjJPQU5QaThsZDgrclE0MjJjbkVs?= =?utf-8?B?NVFrbE8zWGVBa1hQOHpKNnJ1UE4zUmp5bGoxaGx3MXp6bWdjb2QvY3JzblJZ?= =?utf-8?B?NkdGZmVUZ1YvdWFlYTZYL1RKa0xKN2NEcHpWZFpkVEYvcmFQYS9TaEZSUUJl?= =?utf-8?B?SEdtRzFjNTBGU2syV0ZyT09ydW44OFRIY2RBY0Zvc3A2MVNzMENHRGZ3bE1Y?= =?utf-8?B?dlhVL291OHlPVHhlQlRPbVJtRk1pMnVld3dPMGVPaFlGMzhKbWloVnlzcGRE?= =?utf-8?B?ZDRDaDVicmF5dlRib2NSaGRydWlna3NtVVRIbjZaeXRjL2hWSTlBS0VRPT0=?= Content-Type: multipart/alternative; boundary="_000_BYAPR04MB4824B3FEC38AACE8844978FBB7AD9BYAPR04MB4824namp_" 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: 275291e6-6955-4626-54be-08db1a47d409 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2023 11:26:40.5126 (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: DM5PR04MB0506 X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,SCC_10_SHORT_WORD_LINES,SCC_20_SHORT_WORD_LINES,SCC_35_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_000_BYAPR04MB4824B3FEC38AACE8844978FBB7AD9BYAPR04MB4824namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmsgeW91IGZvciB0aGUgZXhwbGFuYXRpb24uDQoNCkZvciBbNCw0XSBJ IG5lZWQgZXh0cmEgdGltZSB0byBmaWd1cmUgb3V0IHdoaWNoIG9uZSwgYnV0 IEkgY29uZmlybWVkIGl0IG9jY3VycyBmcm9tIHRoZSBsb2cuDQoNClRoaXMg UFIgcHJlY2lzaW9uIGFkanVzdG1lbnQgcGFydCB0cmllcyB0byBhbGlnbiB0 aGUgSVNBIGFzIGp1emhlIG1lbnRpb25lZCwgYnkgdGhlIHVuZGVybHlpbmcg cHJlY2lzaW9uIGFkanVzdG1lbnQgcGFydC4NCg0KVk54NjRCSSBwcmVjaXNp b24gWzB4NDAsIDB4NDBdIC8vIHVuY2hhbmdlZA0KVk54MzJCSSBwcmVjaXNp b24gWzB4MjAsIDB4MjBdIC8vIHVuY2hhbmdlZA0KVk54MTZCSSBwcmVjaXNp b24gWzB4MTAsIDB4MTBdIC8vIHVuY2hhbmdlZA0KVk54OEJJIHByZWNpc2lv biBbMHg4LCAweDhdICAgICAgIC8vIHVuY2hhbmdlZA0KVk54NEJJIHByZWNp c2lvbiBbMHg4LCAweDhdID0+IFs0LCA0XQ0KVk54MkJJIHByZWNpc2lvbiBb MHg4LCAweDhdID0+IFsyLCAyXQ0KVk54MUJJIHByZWNpc2lvbiBbMHg4LCAw eDhdID0+IFsxLCAxXQ0KDQpQYW4NCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fDQpGcm9tOiBSaWNoYXJkIFNhbmRpZm9yZCA8cmljaGFyZC5z YW5kaWZvcmRAYXJtLmNvbT4NClNlbnQ6IFdlZG5lc2RheSwgTWFyY2ggMSwg MjAyMyAxOToxMQ0KVG86IOebvCDmnY4gdmlhIEdjYy1wYXRjaGVzIDxnY2Mt cGF0Y2hlc0BnY2MuZ251Lm9yZz4NCkNjOiBqdXpoZS56aG9uZ0ByaXZhaS5h aSA8anV6aGUuemhvbmdAcml2YWkuYWk+OyBwYW4yLmxpIDxwYW4yLmxpQGlu dGVsLmNvbT47IOebvCDmnY4gPGluY2FybmF0aW9uLnAubGVlQG91dGxvb2su Y29tPjsgS2l0by5jaGVuZyA8a2l0by5jaGVuZ0BzaWZpdmUuY29tPjsgcmd1 ZW50aGVyIDxyZ3VlbnRoZXJAc3VzZS5kZT4NClN1YmplY3Q6IFJlOiBbUEFU Q0hdIFJJU0MtVjogQnVnZml4IGZvciBydnYgYm9vbCBtb2RlIHByZWNpc2lv biBhZGp1c3RtZW50DQoNCuebvCDmnY4gdmlhIEdjYy1wYXRjaGVzIDxnY2Mt cGF0Y2hlc0BnY2MuZ251Lm9yZz4gd3JpdGVzOg0KPiBUaGFuayB5b3UgYWxs IGZvciB5b3VyIHF1aWNrIHJlc3BvbnNlLg0KPg0KPiBBcyBqdXpoZSBtZW50 aW9uZWQsIHRoZSBtZW1vcnkgYWNjZXNzIG9mIFJJU0MtViB3aWxsIGJlIGFs d2F5cyBhbGlnbmVkIHRvIHRoZSBieXRlcyBib3VuZGFyeSB3aXRoIHRoZSBj b21wYWN0IG1vZGUsIGFrYSBjZWlsKHZsIC8gOCkgYnl0ZXMgZm9yIHZib29s Ki4NCg0KT0ssIHRoYW5rcyB0byBib3RoIG9mIHlvdS4gIFRoaXMgaXMgd2hh dCBJJ2QgaGF2ZSBleHBlY3RlZC4NCg0KSW4gdGhhdCBjYXNlLCBJIHRoaW5r IGJvdGggdGhlIGNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCBhbmQgdGhlDQpv cmlnaW5hbCBwYXRjaCAodXNpbmcgc2l6ZV9vbmUpIHdpbGwgZ2l2ZSB0aGUg d3JvbmcgcmVzdWx0cy4NClRoZXJlIGlzbid0IGEgd2F5IG9mIHJlcHJlc2Vu dGluZyBjZWlsKFs0LDRdLzgpIGFzIGEgcG9seV9pbnQuDQpUaGUgcmVzdWx0 IGlzICg0KzRYKS84IHdoZW4gWCBpcyBvZGQgYW5kICg4KzRYKS84IHdoZW4g WCBpcyBldmVuLg0KDQo+IEFjdHVhbGx5LCB0aGUgZGF0YSBbNCw0XSBjb21l cyBmcm9tIHRoZSBzZWxmLXRlc3QsIHRoZSBSSVNDLVYgcHJlY2lzaW9uIG1v ZGUgYXMgYmVsb3cuDQo+DQo+IFZOeDY0QkkgcHJlY2lzaW9uIFsweDQwLCAw eDQwXS4NCj4gVk54MzJCSSBwcmVjaXNpb24gWzB4MjAsIDB4MjBdLg0KPiBW TngxNkJJIHByZWNpc2lvbiBbMHgxMCwgMHgxMF0uDQo+IFZOeDhCSSBwcmVj aXNpb24gWzB4OCwgMHg4XS4NCj4gVk54NEJJIHByZWNpc2lvbiBbMHg4LCAw eDhdLg0KPiBWTngyQkkgcHJlY2lzaW9uIFsweDgsIDB4OF0uDQo+IFZOeDFC SSBwcmVjaXNpb24gWzB4OCwgMHg4XS4NCg0KQWgsIE9LLiAgV2hpY2ggc2Vs Zi10ZXN0IGNhdXNlcyB0aGlzPw0KDQpSaWNoYXJkDQoNCj4gVGhlIGltcGFj dCBvZiBkYXRhIFs0LCA0XSB3aWxsIGltcGFjdCB0aGUgZ2VubW9kZSBwYXJ0 LCB3ZSBjYW5ub3Qgd3JpdGUgbGlrZSBiZWxvdyBhcyB0aGUgZ2NjX3VucmVh Y2hhYmxlIHdpbGwgYmUgaGl0dGVuLg0KPg0KPiBpZiAoIWNhbl9kaXZfYXdh eV9mcm9tX3plcm9fcCAobW9kZV9wcmVjaXNpb25bRV8lc21vZGVdLCBCSVRT X1BFUl9VTklULCAgJm1vZGVfc2l6ZVtFXyVzbW9kZV0pKQ0KPiAgIGdjY191 bnJlYWNoYWJsZSAoKTsgLy8gSGl0IG9uIFs0LCA0XSBvZiB0aGUgc2VsZi10 ZXN0Lg0KPg0KPiBQYW4NCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18NCj4gRnJvbToganV6aGUuemhvbmdAcml2YWkuYWkgPGp1emhlLnpo b25nQHJpdmFpLmFpPg0KPiBTZW50OiBXZWRuZXNkYXksIE1hcmNoIDEsIDIw MjMgMTg6NDYNCj4gVG86IHJpY2hhcmQuc2FuZGlmb3JkIDxyaWNoYXJkLnNh bmRpZm9yZEBhcm0uY29tPjsgcGFuMi5saSA8cGFuMi5saUBpbnRlbC5jb20+ DQo+IENjOiBpbmNhcm5hdGlvbi5wLmxlZSA8aW5jYXJuYXRpb24ucC5sZWVA b3V0bG9vay5jb20+OyBnY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNAZ2NjLmdu dS5vcmc+OyBLaXRvLmNoZW5nIDxraXRvLmNoZW5nQHNpZml2ZS5jb20+OyBy Z3VlbnRoZXIgPHJndWVudGhlckBzdXNlLmRlPg0KPiBTdWJqZWN0OiBSZTog UmU6IFtQQVRDSF0gUklTQy1WOiBCdWdmaXggZm9yIHJ2diBib29sIG1vZGUg cHJlY2lzaW9uIGFkanVzdG1lbnQNCj4NCj4+PiBJcyBpdCByaWdodCB0aGF0 LCBmb3IgUlZWLCBhIGxvYWQgb3Igc3RvcmUgb2YgWzQsNF0gd2lsbCBhY2Nl c3MgWzgsOF0NCj4+PmJpdHMsIGV2ZW4gd2hlbiB0aGF0IG1lYW5zIGFjY2Vz c2luZyBmdWxseS11bnVzZWQgYnl0ZXM/ICBFLmcuIDQrNFgNCj4+PndoZW4g WD0zIHdvdWxkIGJlIDE2IGJpdHMvMiBieXRlcyBvZiB1c2VmdWwgZGF0YSwg YnV0IGEgYml0c2l6ZSBvZg0KPj4+OCs4WCB3b3VsZCBiZSAzMiBiaXRzLzQg Ynl0ZXMuICBTbyBhIHN0b3JlIG9mIFs4LDhdIGZvciBhIHByZWNpc2lvbg0K Pj4+b2YgWzQsNF0gd291bGQgc3RvcmUgMiBieXRlcyBiZXlvbmQgdGhlIGVu ZCBvZiB0aGUgdXNlZnVsIGRhdGEgd2hlbiBYPT0zPw0KPg0KPiBIaSwgUmlj aGFyZC4gVGhhbmsgeW91IGZvciBoZWxwaW5nIHVzLg0KPiBNeSB1bmRlcnN0 YW5kaW5nIG9mIFJWViBJU0E6DQo+DQo+IEluIFJWViwgd2UgaGF2ZSBtYXNr IG1vZGUgKFZOeDFCSSwgVk54MkJJLC4uLi5ldGMpLCBkYXRhIG1vZGUgKFZO eDFRSSxWTng0UUksIFZOeDJESSwuLi5ldGMpDQo+IEZvciBkYXRhIG1vZGUs IHdlIGZ1bGx5IGFjY2VzcyB0aGUgZGF0YSBhbmQgd2UgZG9uJ3QgaGF2ZSB1 bnVzZWQgYnl0ZXMsIHNvIHdlIGRvbid0IG5lZWQgdG8gYWRqdXN0IHByZWNp c2lvbi4NCj4gSG93ZXZlciwgZm9yIG1hc2sgbW9kZSB3ZSBhY2Nlc3MgbWFz ayBiaXQgaW4gY29tcGFjdCBtb2RlbCAoc2luY2UgZWFjaCBtYXNrIGJpdCBm b3IgY29ycmVzcG9uZGluZyBlbGVtZW50IGFyZSBjb25zZWN1dGl2ZSkuDQo+ IGZvciBleGFtcGxlLCBjdXJyZW50IGNvbmZpZ3VyYXRpb246IFZOeDFCSSwg Vk54MkJJLCBWTng0QkksIFZOeDhCSSwgdGhlc2UgNCBtb2RlcyBoYXZlIHNh bWUgYnl0ZXNpemUgKDEsMSkgIGJ1dCBkaWZmZXJlbnQgYml0c2l6ZS4NCj4N Cj4gVk54OEJJIGlzIGFjY2Vzc2VkIGZ1bGx5LCBidXQgVk54NEJJIGlzIG9u bHkgYWNjZXNzZWQgMS8yLCBWTngyQkkgMS80LCBWTngxQkkgMS84IGJ1dCBi eXRlIGFsaWdubWVudCAoSSBhbSBub3Qgc3VyZSB3aGV0aGVyIFJWViBzdXBw b3J0IGJpdCBhbGlnbm1lbnQsIEkgZ3Vlc3MgaXQgY2FuIG5vdCkuDQo+DQo+ IElmIFZOeDhCSSBvbmx5IG9jY3VweSAxIGJ5dGUgKERlcGVuZCBvbiBtYWNo aW5lIHZlY3Rvci1sZW5ndGgpLCBzbyBWTngyQkksVk40QkksIFZOeDFCSSwg YXJlIDIvOCBieXRlLCA0LzggYnl0ZSwgMS84IGJ5dGVzLiBJIHRoaW5rIHdl IGNhbid0IGFjY2VzcyBpbiBiaXQgYWxpZ25tZW50LiBzbyB0aGV5IHdpbGwg dGhlIHNhbWUgaW4gdGhlIGFjY2Vzcy4NCj4gSG93ZXZlciwgaWYgVk54OEJJ IG9jY3VwdHkgOCBieXRlLCBXZWxsLCBWTngyQkksVk40QkksIFZOeDFCSSBh cmUgMWJ5dGUsIDJieXRlcywgNGJ5dGVzLiBUaGV5IGFyZSBhY2Nlc3Npbmcg ZGlmZmVyZW50IHNpemUuDQo+DQo+IFRoaXMgaXMgbXkgY29tcHJlaGVuc2lv biBvZiBSVlYgSVNBLCBmZWVsIGZyZWUgdG8gY29ycmVjdCBtZS4NCj4gVGhh bmtzLg0KPg0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K PiBqdXpoZS56aG9uZ0ByaXZhaS5haQ0KPg0KPiBGcm9tOiBSaWNoYXJkIFNh bmRpZm9yZDxtYWlsdG86cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbT4NCj4g RGF0ZTogMjAyMy0wMy0wMSAxODoxMQ0KPiBUbzogTGlcLCBQYW4yPG1haWx0 bzpwYW4yLmxpQGludGVsLmNvbT4NCj4gQ0M6IOebvCDmnY48bWFpbHRvOmlu Y2FybmF0aW9uLnAubGVlQG91dGxvb2suY29tPjsgaW5jYXJuYXRpb24ucC5s ZWUtLS0gdmlhIEdjYy1wYXRjaGVzPG1haWx0bzpnY2MtcGF0Y2hlc0BnY2Mu Z251Lm9yZz47IGp1emhlLnpob25nXEByaXZhaS5haTxtYWlsdG86anV6aGUu emhvbmdAcml2YWkuYWk+OyBraXRvLmNoZW5nXEBzaWZpdmUuY29tPG1haWx0 bzpraXRvLmNoZW5nQHNpZml2ZS5jb20+OyByZ3VlbnRoZXJcQHN1c2UuZGU8 bWFpbHRvOnJndWVudGhlckBzdXNlLmRlPg0KPiBTdWJqZWN0OiBSZTogW1BB VENIXSBSSVNDLVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJvb2wgbW9kZSBwcmVjaXNp b24gYWRqdXN0bWVudA0KPiAiTGksIFBhbjIiIDxwYW4yLmxpQGludGVsLmNv bT4gd3JpdGVzOg0KPj4gSGkgUmljaGFyZCBTYW5kaWZvcmQsDQo+Pg0KPj4g SnVzdCB0cmllZCB0aGUgb3ZlcmxvYWRlZCBjb25zdGFudCBkaXZpc29ycyB3 aXRoIGJlbG93IHByaW50IGRpdiwgaXQgd29ya3MgYXMgeW91IG1lbnRpb25l ZCwg75iJIQ0KPj4NCj4+IHByaW50ZiAoIiAgICBjYW5fZGl2X2F3YXlfZnJv bV96ZXJvX3AgKG1vZGVfcHJlY2lzaW9uW0VfJXNtb2RlXSwgIg0KPj4gICAg ICAiQklUU19QRVJfVU5JVCwgJm1vZGVfc2l6ZVtFXyVzbW9kZV0pO1xuIiwg bS0+bmFtZSwgbS0+bmFtZSk7DQo+Pg0KPj4gdGVtcGxhdGU8dW5zaWduZWQg aW50IE4sIHR5cGVuYW1lIENhLCB0eXBlbmFtZSBDYiwgdHlwZW5hbWUgQ3E+ DQo+PiBpbmxpbmUgdHlwZW5hbWUgaWZfbm9ucG9seTxDYiwgYm9vbD46OnR5 cGUNCj4+IGNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCAoY29uc3QgcG9seV9p bnRfcG9kPE4sIENhPiAmYSwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAg ICBDYiBiLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIHBvbHlfaW50 X3BvZDxOLCBDcT4gKnF1b3RpZW50KQ0KPj4gew0KPj4gICBpZiAoIWNhbl9k aXZfdHJ1bmNfcCAoYSwgYiwgcXVvdGllbnQpKQ0KPj4gICAgIHJldHVybiBm YWxzZTsNCj4+ICAgaWYgKG1heWJlX25lICgqcXVvdGllbnQgKiBiLCBhKSkN Cj4+ICAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IE47ICsraSkN Cj4+ICAgICAgIHF1b3RpZW50LT5jb2VmZnNbaV0gKz0gKHF1b3RpZW50LT5j b2VmZnNbaV0gPCAwID8gLTEgOiAxKTsNCj4+ICAgcmV0dXJuIHRydWU7DQo+ PiB9DQo+Pg0KPj4gQnV0IEkgbWF5IGhhdmUgYSBxdWVzdGlvbiBhYm91dCB0 aGUgb25lIGNhc2UgYXMgYmVsb3cuDQo+Pg0KPj4gQXNzdW1lOg0KPj4gYSA9 IFs0LCA0XSwgYiA9IDguDQo+Pg0KPj4gV2hlbiBtZWV0IGNhbl9kaXZfdHJ1 bmNfcCwgaXQgd2lsbCBjaGVjayBpZiB0aGUgcmVtaW5kZXIgaXMgY29uc3Rh bnQgb3Igbm90LCBha2EgYS5jb2VmZnNbaV0gJSA4ID09IDAgKGkgPj0gMSku IElmIG5vdCBjb25zdGFudCByZW1pbmRlciwgdGhlIGNhbl9kaXZfdHJ1bmNf cCB3aWxsIGRvIG5vdGhpbmcgYWJvdXQgcXVvdGllbnQgYW5kIHJldHVybiBm YWxzZS4NCj4+DQo+PiBUaHVzLCB3aGVuIGEgPSBbNCwgNF0gZm9yIGNhbl9k aXZfYXdheV9mcm9tX3plcm9fcCwgdGhlIG91dHB1dCAqcXVvdGllbnQgd2ls bCBiZSB1bmNoYW5nZWQsIGFrYSB0aGUgbW9kX3NpemVbRV8lc21vZGVdIHdp bGwgYmUgdW5jaGFuZ2VkIGZvciB0aGlzIGNhc2UuIEhvd2V2ZXIsIHRoZSB1 bmRlcmx5aW5nIG1vZGVfc2l6ZSB3aWxsIGFkanVzdCBpdCB0byB0aGUgcmVh bCBieXRlIHNpemUsIGFuZCBJIGFtIG5vdCBzdXJlIGlmIGl0IGlzIGJ5IGRl c2lnbiBvciByZXF1aXJlcyBhZGRpdGlvbmFsIGhhbmRsaW5nLg0KPg0KPiBJ cyBpdCByaWdodCB0aGF0LCBmb3IgUlZWLCBhIGxvYWQgb3Igc3RvcmUgb2Yg WzQsNF0gd2lsbCBhY2Nlc3MgWzgsOF0NCj4gYml0cywgZXZlbiB3aGVuIHRo YXQgbWVhbnMgYWNjZXNzaW5nIGZ1bGx5LXVudXNlZCBieXRlcz8gIEUuZy4g NCs0WA0KPiB3aGVuIFg9MyB3b3VsZCBiZSAxNiBiaXRzLzIgYnl0ZXMgb2Yg dXNlZnVsIGRhdGEsIGJ1dCBhIGJpdHNpemUgb2YNCj4gOCs4WCB3b3VsZCBi ZSAzMiBiaXRzLzQgYnl0ZXMuICBTbyBhIHN0b3JlIG9mIFs4LDhdIGZvciBh IHByZWNpc2lvbg0KPiBvZiBbNCw0XSB3b3VsZCBzdG9yZSAyIGJ5dGVzIGJl eW9uZCB0aGUgZW5kIG9mIHRoZSB1c2VmdWwgZGF0YSB3aGVuIFg9PTM/DQo+ DQo+IFJpY2hhcmQNCj4NCj4+IFBhbg0KPj4NCj4+IEZyb206IOebvCDmnY4g PGluY2FybmF0aW9uLnAubGVlQG91dGxvb2suY29tPg0KPj4gU2VudDogVHVl c2RheSwgRmVicnVhcnkgMjgsIDIwMjMgNTo1OSBQTQ0KPj4gVG86IFJpY2hh cmQgU2FuZGlmb3JkIDxyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tPjsgTGks IFBhbjIgPHBhbjIubGlAaW50ZWwuY29tPg0KPj4gQ2M6IGluY2FybmF0aW9u LnAubGVlLS0tIHZpYSBHY2MtcGF0Y2hlcyA8Z2NjLXBhdGNoZXNAZ2NjLmdu dS5vcmc+OyBqdXpoZS56aG9uZ0ByaXZhaS5haTsga2l0by5jaGVuZ0BzaWZp dmUuY29tOyByZ3VlbnRoZXJAc3VzZS5kZQ0KPj4gU3ViamVjdDogUmU6IFtQ QVRDSF0gUklTQy1WOiBCdWdmaXggZm9yIHJ2diBib29sIG1vZGUgcHJlY2lz aW9uIGFkanVzdG1lbnQNCj4+DQo+PiBVbmRlcnN0b29kLCB0aGFua3MgZm9y IHRoZSBleHBsYW5hdGlvbnMgYW5kIHN1Z2dlc3Rpb25zLiBMZXQgbWUgaGF2 ZSBhIHRyeSBhbmQga2VlcCB5b3UgcG9zdGVkLg0KPj4NCj4+IFBhbg0KPj4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4+IEZyb206IFJp Y2hhcmQgU2FuZGlmb3JkIDxyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tPG1h aWx0bzpyaWNoYXJkLnNhbmRpZm9yZEBhcm0uY29tPj4NCj4+IFNlbnQ6IFR1 ZXNkYXksIEZlYnJ1YXJ5IDI4LCAyMDIzIDE3OjUwDQo+PiBUbzogTGksIFBh bjIgPHBhbjIubGlAaW50ZWwuY29tPG1haWx0bzpwYW4yLmxpQGludGVsLmNv bT4+DQo+PiBDYzog55u8IOadjiA8aW5jYXJuYXRpb24ucC5sZWVAb3V0bG9v ay5jb208bWFpbHRvOmluY2FybmF0aW9uLnAubGVlQG91dGxvb2suY29tPj47 IGluY2FybmF0aW9uLnAubGVlLS0tIHZpYSBHY2MtcGF0Y2hlcyA8Z2NjLXBh dGNoZXNAZ2NjLmdudS5vcmc8bWFpbHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUu b3JnPj47IGp1emhlLnpob25nQHJpdmFpLmFpPG1haWx0bzpqdXpoZS56aG9u Z0ByaXZhaS5haT4gPGp1emhlLnpob25nQHJpdmFpLmFpPG1haWx0bzpqdXpo ZS56aG9uZ0ByaXZhaS5haT4+OyBraXRvLmNoZW5nQHNpZml2ZS5jb208bWFp bHRvOmtpdG8uY2hlbmdAc2lmaXZlLmNvbT4gPGtpdG8uY2hlbmdAc2lmaXZl LmNvbTxtYWlsdG86a2l0by5jaGVuZ0BzaWZpdmUuY29tPj47IHJndWVudGhl ckBzdXNlLmRlPG1haWx0bzpyZ3VlbnRoZXJAc3VzZS5kZT4gPHJndWVudGhl ckBzdXNlLmRlPG1haWx0bzpyZ3VlbnRoZXJAc3VzZS5kZT4+DQo+PiBTdWJq ZWN0OiBSZTogW1BBVENIXSBSSVNDLVY6IEJ1Z2ZpeCBmb3IgcnZ2IGJvb2wg bW9kZSBwcmVjaXNpb24gYWRqdXN0bWVudA0KPj4NCj4+ICJMaSwgUGFuMiIg PHBhbjIubGlAaW50ZWwuY29tPG1haWx0bzpwYW4yLmxpQGludGVsLmNvbT4+ IHdyaXRlczoNCj4+PiBIaSBSaWNoYXJkIFNhbmRpZm9yZCwNCj4+Pg0KPj4+ IEFmdGVyIHNvbWUgaW52ZXN0aWdhdGlvbiwgSSBhbSBub3Qgc3VyZSBpZiBp dCBpcyBwb3NzaWJsZSB0byBtYWtlIGl0IGdlbmVyYWwgd2l0aG91dCBhbnkg Y2hhbmdlcyB0byBleGFjdF9kaXYuIFdlIGNhbiBhZGQgb25lIG1ldGhvZCBs aWtlIGJlbG93IHRvIGdldCB0aGUgdW5pdCBwb2x5IGZvciBhbGwgcG9zc2li bGUgTi4NCj4+Pg0KPj4+IHRlbXBsYXRlPHVuc2lnbmVkIGludCBOLCB0eXBl bmFtZSBDYT4NCj4+PiBpbmxpbmUgUE9MWV9DT05TVF9SRVNVTFQgKE4sIENh LCBDYSkNCj4+PiBub3JtYWxpemVfdG9fdW5pdCAoY29uc3QgcG9seV9pbnRf cG9kPE4sIENhPiAmYSkNCj4+PiB7DQo+Pj4gICB0eXBlZGVmIFBPTFlfQ09O U1RfQ09FRkYgKENhLCBDYSkgQzsNCj4+Pg0KPj4+ICAgcG9seV9pbnQ8Tiwg Qz4gbm9ybWFsaXplZCA9IGE7DQo+Pj4NCj4+PiAgIGlmIChub3JtYWxpemVk LmlzX2NvbnN0YW50KCkpDQo+Pj4gICAgIG5vcm1hbGl6ZWQuY29lZmZzWzBd ID0gMTsNCj4+PiAgIGVsc2UNCj4+PiAgICAgZm9yICh1bnNpZ25lZCBpbnQg aSA9IDA7IGkgPCBOOyBpKyspDQo+Pj4gICAgICAgUE9MWV9TRVRfQ09FRkYg KEMsIG5vcm1hbGl6ZWQsIGksIDEpOw0KPj4+DQo+Pj4gICByZXR1cm4gbm9y bWFsaXplZDsNCj4+PiB9DQo+Pj4NCj4+PiBBbmQgdGhlbiBhZGp1c3QgdGhl IGdlbm1vZGVzIGxpa2UgYmVsb3cgdG8gY29uc3VtZSB0aGUgdW5pdCBwb2x5 Lg0KPj4+DQo+Pj4gICAgICAgcHJpbnRmICgiICAgIHBvbHlfdWludDE2IHVu aXRfcG9seSA9ICINCj4+PiAgICAgICAgICAgICAgIm5vcm1hbGl6ZV90b191 bml0IChtb2RlX3ByZWNpc2lvbltFXyVzbW9kZV0pO1xuIiwgbS0+bmFtZSk7 DQo+Pj4gICAgICAgcHJpbnRmICgiICAgIGlmIChrbm93bl9sdCAobW9kZV9w cmVjaXNpb25bRV8lc21vZGVdLCAiDQo+Pj4gICAgICAgICAgICAgICJ1bml0 X3BvbHkgKiBCSVRTX1BFUl9VTklUKSlcbiIsIG0tPm5hbWUpOw0KPj4+ICAg ICAgIHByaW50ZiAoIiAgICAgIG1vZGVfc2l6ZVtFXyVzbW9kZV0gPSB1bml0 X3BvbHk7XG4iLCBtLT5uYW1lKTsNCj4+Pg0KPj4+IEkgYW0gbm90IHN1cmUg aWYgaXQgaXMgYSBnb29kIGlkZWEgdG8gaW50cm9kdWNlIGFib3ZlIG5vcm1h bGl6ZSBjb2RlIGludG8gZXhhY3RfZGl2LiBHaXZlbiB0aGUgY29tbWVudCBv ZiB0aGUgZXhhY3RfZGl2IGluZGljYXRlcyB0aGF0IOKAnC8qIFJldHVybiBB IC8gQiwgZ2l2ZW4gdGhhdCBBIGlzIGtub3duIHRvIGJlIGEgbXVsdGlwbGUg b2YgQi4gKi/igJ0uDQo+Pg0KPj4gTXkgcG9pbnQgd2FzIHRoYXQgd2UgaGF2 ZSBtdWx0aXBsZSB3YXlzIG9mIGRpdmlkaW5nIHBvbHlfaW50czoNCj4+DQo+ PiAtIGV4YWN0X2RpdiwgZm9yIHdoZW4gdGhlIGNhbGxlciBrbm93cyB0aGF0 IHRoZSByZXN1bHQgaXMgYWx3YXlzIGV4YWN0DQo+PiAtIGNhbl9kaXZfdHJ1 bmNfcCwgZm9yIHRydW5jYXRpbmcgZGl2aXNpb24gKHJvdW5kIHRvd2FyZHMg MCkNCj4+IC0gY2FuX2Rpdl9hd2F5X2Zyb21femVyb19wLCBmb3Igcm91bmRp bmcgYXdheSBmcm9tIDANCj4+IC0gLi4uDQo+Pg0KPj4gVGhpcyBpcyBsaWtl IGhvdyB3ZSBoYXZlIG11bHRpcGxlIGRpdmlzaW9uICpfRVhQUnMgb24gdHJl ZXMuDQo+Pg0KPj4gVW50aWwgbm93LCBleGFjdF9kaXYgd2FzIHRoZSBjb3Jy ZWN0IGNob2ljZSBmb3IgbW9kZXMgYmVjYXVzZSB2ZWN0b3INCj4+IG1vZGVz IGRpZG4ndCBoYXZlIHBhZGRpbmcuICBXZSdyZSBub3cgY2hhbmdpbmcgdGhh dCwgc28gbXkgc3VnZ2VzdGlvbg0KPj4gaW4gdGhlIHJldmlldyB3YXMgdG8g Y2hhbmdlIHRoZSBkaXZpc2lvbiBvcGVyYXRpb24gdGhhdCB3ZSB1c2UuDQo+ PiBSYXRoZXIgdGhhbiB1c2UgZXhhY3RfZGl2LCB3ZSBzaG91bGQgbm93IHVz ZSBjYW5fZGl2X2F3YXlfZnJvbV96ZXJvX3AsDQo+PiB3aGljaCB3b3VsZCBo YXZlIHRoZSBlZmZlY3Qgb2Ygcm91bmRpbmcgdGhlIHF1b3RpZW50IHVwLg0K Pj4NCj4+IFNvbWV0aGluZyBsaWtlOg0KPj4NCj4+ICAgICAgIGlmICghY2Fu X2Rpdl9hd2F5X2Zyb21femVyb19wIChtb2RlX3ByZWNpc2lvbltFXyVzbW9k ZV0sIEJJVFNfUEVSX1VOSVQsDQo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJm1vZGVfc2l6ZVtFXyVzbW9kZV0pKQ0KPj4gICAg ICAgICBnY2NfdW5yZWFjaGFibGUgKCk7DQo+Pg0KPj4gQnV0IHRoaXMgd2ls bCByZXF1aXJlIGEgbmV3IG92ZXJsb2FkIG9mIGNhbl9kaXZfYXdheV9mcm9t X3plcm9fcCwgc2luY2UNCj4+IHRoZSBleGlzdGluZyBvbmUgaXMgZm9yIGNv bnN0YW50IHF1b3RpZW50cyByYXRoZXIgdGhhbiBjb25zdGFudCBkaXZpc29y cy4NCj4+DQo+PiBUaGFua3MsDQo+PiBSaWNoYXJkDQo+Pg0KPj4+DQo+Pj4g Q291bGQgeW91IHBsZWFzZSBoZWxwIHRvIHNoYXJlIHlvdXIgb3BpbmlvbiBh Ym91dCB0aGlzIGZyb20gdGhlIGV4cGVydOKAmXMgcGVyc3BlY3RpdmUgPyBU aGFuayB5b3UhDQo+Pj4NCj4+PiBQYW4NCj4+Pg0KPj4+IEZyb206IOebvCDm nY4gPGluY2FybmF0aW9uLnAubGVlQG91dGxvb2suY29tPG1haWx0bzppbmNh cm5hdGlvbi5wLmxlZUBvdXRsb29rLmNvbT4+DQo+Pj4gU2VudDogTW9uZGF5 LCBGZWJydWFyeSAyNywgMjAyMyAxMToxMyBQTQ0KPj4+IFRvOiBSaWNoYXJk IFNhbmRpZm9yZCA8cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbTxtYWlsdG86 cmljaGFyZC5zYW5kaWZvcmRAYXJtLmNvbT4+OyBpbmNhcm5hdGlvbi5wLmxl ZS0tLSB2aWEgR2NjLXBhdGNoZXMgPGdjYy1wYXRjaGVzQGdjYy5nbnUub3Jn PG1haWx0bzpnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZz4+DQo+Pj4gQ2M6IGp1 emhlLnpob25nQHJpdmFpLmFpPG1haWx0bzpqdXpoZS56aG9uZ0ByaXZhaS5h aT47IGtpdG8uY2hlbmdAc2lmaXZlLmNvbTxtYWlsdG86a2l0by5jaGVuZ0Bz aWZpdmUuY29tPjsgcmd1ZW50aGVyQHN1c2UuZGU8bWFpbHRvOnJndWVudGhl ckBzdXNlLmRlPjsgTGksIFBhbjIgPHBhbjIubGlAaW50ZWwuY29tPG1haWx0 bzpwYW4yLmxpQGludGVsLmNvbT4+DQo+Pj4gU3ViamVjdDogUmU6IFtQQVRD SF0gUklTQy1WOiBCdWdmaXggZm9yIHJ2diBib29sIG1vZGUgcHJlY2lzaW9u IGFkanVzdG1lbnQNCj4+Pg0KPj4+IE5ldmVyIG1pbmQsIHdpc2ggeW91IGhh dmUgYSBnb29kIGhvbGlkYXkuDQo+Pj4NCj4+PiBUaGFua3MgZm9yIHBvaW50 aW5nIHRoaXMgb3V0LCB0aGUgaWYgcGFydCBjYW5ub3QgdGFrZSBjYXJlIG9m IHBvbHlfaW50IHdpdGggTiA+IDIuIEFzIEkgdW5kZXJzdGFuZCwgd2UgbmVl ZCB0byBtYWtlIGl0IGdlbmVyYWwgZm9yIGFsbCB0aGUgTiBvZiBwb2x5X2lu dC4NCj4+Pg0KPj4+IFRodXMgSSB3b3VsZCBsaWtlIHRvIGRvdWJsZSBjb25m aXJtIHdpdGggeW91IGFib3V0IGhvdyB0byBtYWtlIGl0IGdlbmVyYWwuIEkg c3VwcG9zZSB0aGVyZSB3aWxsIGJlIGEgbmV3IGZ1bmN0aW9uIGNhbl9kaXZf YXdheV9mcm9tX3plcm9fcCB0byByZXBsYWNlIHRoZSBpZiAoa25vd25fbHQo LCkpIHBhcnQgaW4gZ2VubW9kZXMuY2MsIGFuZCBsZWF2ZSBleGFjdF9kaXYg dW5jaGFuZ2VkKGNvbnNpZGVyIHRoZSB3b3JkIGV4YWN0LCBJIHN1cHBvc2Ug d2Ugc2hvdWxkIG5vdCB0b3VjaCBoZXJlKSwgcmlnaHQ/IFRoZW4gd2Ugc3Rp bGwgbmVlZCBvbmUgcG9seV9pbnQgd2l0aCBhbGwgMSBmb3IgTiBhcyB0aGUg cmV0dXJuIGlmIGNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCBpcyB0cnVlLg0K Pj4+DQo+Pj4gVGhhbmtzIGFnYWluIGZvciB5b3VyIHByb2Zlc3Npb25hbCBz dWdnZXN0aW9uLCBoYXZlIGEgbmljZSBkYXksIO+YiSENCj4+Pg0KPj4+IFBh bg0KPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+Pj4g RnJvbTogUmljaGFyZCBTYW5kaWZvcmQgPHJpY2hhcmQuc2FuZGlmb3JkQGFy bS5jb208bWFpbHRvOnJpY2hhcmQuc2FuZGlmb3JkQGFybS5jb208bWFpbHRv OnJpY2hhcmQuc2FuZGlmb3JkQGFybS5jb20lM2NtYWlsdG86cmljaGFyZC5z YW5kaWZvcmRAYXJtLmNvbT4+Pg0KPj4+IFNlbnQ6IE1vbmRheSwgRmVicnVh cnkgMjcsIDIwMjMgMjI6MjQNCj4+PiBUbzogaW5jYXJuYXRpb24ucC5sZWUt LS0gdmlhIEdjYy1wYXRjaGVzIDxnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZzxt YWlsdG86Z2NjLXBhdGNoZXNAZ2NjLmdudS5vcmc8bWFpbHRvOmdjYy1wYXRj aGVzQGdjYy5nbnUub3JnJTNjbWFpbHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUu b3JnPj4+DQo+Pj4gQ2M6IGluY2FybmF0aW9uLnAubGVlQG91dGxvb2suY29t PG1haWx0bzppbmNhcm5hdGlvbi5wLmxlZUBvdXRsb29rLmNvbTxtYWlsdG86 aW5jYXJuYXRpb24ucC5sZWVAb3V0bG9vay5jb20lM2NtYWlsdG86aW5jYXJu YXRpb24ucC5sZWVAb3V0bG9vay5jb20+PiA8aW5jYXJuYXRpb24ucC5sZWVA b3V0bG9vay5jb208bWFpbHRvOmluY2FybmF0aW9uLnAubGVlQG91dGxvb2su Y29tPG1haWx0bzppbmNhcm5hdGlvbi5wLmxlZUBvdXRsb29rLmNvbSUzY21h aWx0bzppbmNhcm5hdGlvbi5wLmxlZUBvdXRsb29rLmNvbT4+PjsganV6aGUu emhvbmdAcml2YWkuYWk8bWFpbHRvOmp1emhlLnpob25nQHJpdmFpLmFpPG1h aWx0bzpqdXpoZS56aG9uZ0ByaXZhaS5haSUzY21haWx0bzpqdXpoZS56aG9u Z0ByaXZhaS5haT4+IDxqdXpoZS56aG9uZ0ByaXZhaS5haTxtYWlsdG86anV6 aGUuemhvbmdAcml2YWkuYWk8bWFpbHRvOmp1emhlLnpob25nQHJpdmFpLmFp JTNjbWFpbHRvOmp1emhlLnpob25nQHJpdmFpLmFpPj4+OyBraXRvLmNoZW5n QHNpZml2ZS5jb208bWFpbHRvOmtpdG8uY2hlbmdAc2lmaXZlLmNvbTxtYWls dG86a2l0by5jaGVuZ0BzaWZpdmUuY29tJTNjbWFpbHRvOmtpdG8uY2hlbmdA c2lmaXZlLmNvbT4+IDxraXRvLmNoZW5nQHNpZml2ZS5jb208bWFpbHRvOmtp dG8uY2hlbmdAc2lmaXZlLmNvbTxtYWlsdG86a2l0by5jaGVuZ0BzaWZpdmUu Y29tJTNjbWFpbHRvOmtpdG8uY2hlbmdAc2lmaXZlLmNvbT4+Pjsgcmd1ZW50 aGVyQHN1c2UuZGU8bWFpbHRvOnJndWVudGhlckBzdXNlLmRlPiA8cmd1ZW50 aGVyQHN1c2UuZGU8bWFpbHRvOnJndWVudGhlckBzdXNlLmRlPG1haWx0bzpy Z3VlbnRoZXJAc3VzZS5kZSUzY21haWx0bzpyZ3VlbnRoZXJAc3VzZS5kZT4+ PjsgcGFuMi5saUBpbnRlbC5jb208bWFpbHRvOnBhbjIubGlAaW50ZWwuY29t PiA8cGFuMi5saUBpbnRlbC5jb208bWFpbHRvOnBhbjIubGlAaW50ZWwuY29t PG1haWx0bzpwYW4yLmxpQGludGVsLmNvbSUzY21haWx0bzpwYW4yLmxpQGlu dGVsLmNvbT4+Pg0KPj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIFJJU0MtVjog QnVnZml4IGZvciBydnYgYm9vbCBtb2RlIHByZWNpc2lvbiBhZGp1c3RtZW50 DQo+Pj4NCj4+PiBTb3JyeSBmb3IgdGhlIHNsb3cgcmVwbHksIGJlZW4gYXdh eSBmb3IgYSBjb3VwbGUgb2Ygd2Vla3MuDQo+Pj4NCj4+PiAiaW5jYXJuYXRp b24ucC5sZWUtLS0gdmlhIEdjYy1wYXRjaGVzIiA8Z2NjLXBhdGNoZXNAZ2Nj LmdudS5vcmc8bWFpbHRvOmdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPG1haWx0 bzpnY2MtcGF0Y2hlc0BnY2MuZ251Lm9yZyUzY21haWx0bzpnY2MtcGF0Y2hl c0BnY2MuZ251Lm9yZz4+PiB3cml0ZXM6DQo+Pj4+IEZyb206IFBhbiBMaSA8 cGFuMi5saUBpbnRlbC5jb208bWFpbHRvOnBhbjIubGlAaW50ZWwuY29tPG1h aWx0bzpwYW4yLmxpQGludGVsLmNvbSUzY21haWx0bzpwYW4yLmxpQGludGVs LmNvbT4+Pg0KPj4+Pg0KPj4+PiAgICAgICAgRml4IHRoZSBidWcgb2YgdGhl IHJ2diBib29sIG1vZGUgcHJlY2lzaW9uIHdpdGggdGhlIGFkanVzdG1lbnQu DQo+Pj4+ICAgICAgICBUaGUgYml0cyBzaXplIG9mIHZib29sKl90IHdpbGwg YmUgYWRqdXN0ZWQgdG8NCj4+Pj4gICAgICAgIFsxLCAyLCA0LCA4LCAxNiwg MzIsIDY0XSBhY2NvcmRpbmcgdG8gdGhlIHJ2diBzcGVjIDEuMCBpc2EuIFRo ZQ0KPj4+PiAgICAgICAgYWRqdXN0ZWQgbW9kZSBwcmVjaXNvbiBvZiB2Ym9v bCpfdCB3aWxsIGhlbHAgdW5kZXJseWluZyBwYXNzIHRvDQo+Pj4+ICAgICAg ICBtYWtlIHRoZSByaWdodCBkZWNpc2lvbiBmb3IgYm90aCB0aGUgY29ycmVj dG5lc3MgYW5kIG9wdGltaXphdGlvbi4NCj4+Pj4NCj4+Pj4gICAgICAgIEdp dmVuIGJlbG93IHNhbXBsZSBjb2RlOg0KPj4+PiAgICAgICAgdm9pZCB0ZXN0 XzEoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91 dCkNCj4+Pj4gICAgICAgIHsNCj4+Pj4gICAgICAgICAgdmJvb2w4X3QgdjIg PSAqKHZib29sOF90KilpbjsNCj4+Pj4gICAgICAgICAgdmJvb2wxNl90IHY1 ID0gKih2Ym9vbDE2X3QqKWluOw0KPj4+PiAgICAgICAgICAqKHZib29sMTZf dCopKG91dCArIDIwMCkgPSB2NTsNCj4+Pj4gICAgICAgICAgKih2Ym9vbDhf dCopKG91dCArIDEwMCkgPSB2MjsNCj4+Pj4gICAgICAgIH0NCj4+Pj4NCj4+ Pj4gICAgICAgIEJlZm9yZSB0aGUgcHJlY2lzaW9uIGFkanVzdG1lbnQ6DQo+ Pj4+ICAgICAgICBhZGRpICAgIGE0LGExLDEwMA0KPj4+PiAgICAgICAgdnNl dHZsaSBhNSx6ZXJvLGU4LG0xLHRhLG1hDQo+Pj4+ICAgICAgICBhZGRpICAg IGExLGExLDIwMA0KPj4+PiAgICAgICAgdmxtLnYgICB2MjQsMChhMCkNCj4+ Pj4gICAgICAgIHZzbS52ICAgdjI0LDAoYTQpDQo+Pj4+ICAgICAgICAvLyBO ZWVkIG9uZSB2c2V0dmxpIGFuZCB2bG0udiBmb3IgY29ycmVjdG5lc3MgaGVy ZS4NCj4+Pj4gICAgICAgIHZzbS52ICAgdjI0LDAoYTEpDQo+Pj4+DQo+Pj4+ ICAgICAgICBBZnRlciB0aGUgcHJlY2lzaW9uIGFkanVzdG1lbnQ6DQo+Pj4+ ICAgICAgICBjc3JyICAgIHQwLHZsZW5iDQo+Pj4+ICAgICAgICBzbGxpICAg IHQxLHQwLDENCj4+Pj4gICAgICAgIGNzcnIgICAgYTMsdmxlbmINCj4+Pj4g ICAgICAgIHN1YiAgICAgc3Asc3AsdDENCj4+Pj4gICAgICAgIHNsbGkgICAg YTQsYTMsMQ0KPj4+PiAgICAgICAgYWRkICAgICBhNCxhNCxzcA0KPj4+PiAg ICAgICAgc3ViICAgICBhMyxhNCxhMw0KPj4+PiAgICAgICAgdnNldHZsaSBh NSx6ZXJvLGU4LG0xLHRhLG1hDQo+Pj4+ICAgICAgICBhZGRpICAgIGEyLGEx LDIwMA0KPj4+PiAgICAgICAgdmxtLnYgICB2MjQsMChhMCkNCj4+Pj4gICAg ICAgIHZzbS52ICAgdjI0LDAoYTMpDQo+Pj4+ICAgICAgICBhZGRpICAgIGEx LGExLDEwMA0KPj4+PiAgICAgICAgdnNldHZsaSBhNCx6ZXJvLGU4LG1mMix0 YSxtYQ0KPj4+PiAgICAgICAgY3NyciAgICB0MCx2bGVuYg0KPj4+PiAgICAg ICAgdmxtLnYgICB2MjUsMChhMykNCj4+Pj4gICAgICAgIHZzbS52ICAgdjI1 LDAoYTIpDQo+Pj4+ICAgICAgICBzbGxpICAgIHQxLHQwLDENCj4+Pj4gICAg ICAgIHZzZXR2bGkgYTUsemVybyxlOCxtMSx0YSxtYQ0KPj4+PiAgICAgICAg dnNtLnYgICB2MjQsMChhMSkNCj4+Pj4gICAgICAgIGFkZCAgICAgc3Asc3As dDENCj4+Pj4gICAgICAgIGpyICAgICAgcmENCj4+Pj4NCj4+Pj4gICAgICAg IEhvd2V2ZXIsIHRoZXJlIG1heSBiZSBzb21lIG9wdGltaXphdGlvbiBvcHBv cnR1bmF0ZXMgYWZ0ZXINCj4+Pj4gICAgICAgIHRoZSBtb2RlIHByZWNpc2lv biBhZGp1c3RtZW50LiBJdCBjYW4gYmUgdG9rZW4gY2FyZSBvZiBpbg0KPj4+ PiAgICAgICAgdGhlIFJJU0MtViBiYWNrZW5kIGluIHRoZSB1bmRlcmx5aW5n IHNlcGFydGVkIFBSKHMpLg0KPj4+Pg0KPj4+PiAgICAgICAgUFIgMTA4MTg1 DQo+Pj4+ICAgICAgICBQUiAxMDg2NTQNCj4+Pj4NCj4+Pj4gZ2NjL0NoYW5n ZUxvZzoNCj4+Pj4NCj4+Pj4gICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2 LW1vZGVzLmRlZiAoQURKVVNUX1BSRUNJU0lPTik6DQo+Pj4+ICAgICAgICAq IGNvbmZpZy9yaXNjdi9yaXNjdi5jYyAocmlzY3Zfdl9hZGp1c3RfcHJlY2lz aW9uKToNCj4+Pj4gICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2LmggKHJp c2N2X3ZfYWRqdXN0X3ByZWNpc2lvbik6DQo+Pj4+ICAgICAgICAqIGdlbm1v ZGVzLmNjIChBREpVU1RfUFJFQ0lTSU9OKToNCj4+Pj4gICAgICAgIChlbWl0 X21vZGVfYWRqdXN0bWVudHMpOg0KPj4+Pg0KPj4+PiBnY2MvdGVzdHN1aXRl L0NoYW5nZUxvZzoNCj4+Pj4NCj4+Pj4gICAgICAgICogZ2NjLnRhcmdldC9y aXNjdi9wcjEwODE4NS0xLmM6IE5ldyB0ZXN0Lg0KPj4+PiAgICAgICAgKiBn Y2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTIuYzogTmV3IHRlc3QuDQo+Pj4+ ICAgICAgICAqIGdjYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMy5jOiBOZXcg dGVzdC4NCj4+Pj4gICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4 NS00LmM6IE5ldyB0ZXN0Lg0KPj4+PiAgICAgICAgKiBnY2MudGFyZ2V0L3Jp c2N2L3ByMTA4MTg1LTUuYzogTmV3IHRlc3QuDQo+Pj4+ICAgICAgICAqIGdj Yy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNi5jOiBOZXcgdGVzdC4NCj4+Pj4g ICAgICAgICogZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS03LmM6IE5ldyB0 ZXN0Lg0KPj4+PiAgICAgICAgKiBnY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1 LTguYzogTmV3IHRlc3QuDQo+Pj4+DQo+Pj4+IFNpZ25lZC1vZmYtYnk6IFBh biBMaSA8cGFuMi5saUBpbnRlbC5jb208bWFpbHRvOnBhbjIubGlAaW50ZWwu Y29tPG1haWx0bzpwYW4yLmxpQGludGVsLmNvbSUzY21haWx0bzpwYW4yLmxp QGludGVsLmNvbT4+Pg0KPj4+PiAtLS0NCj4+Pj4gIGdjYy9jb25maWcvcmlz Y3YvcmlzY3YtbW9kZXMuZGVmICAgICAgICAgICAgfCAgOCArKysNCj4+Pj4g IGdjYy9jb25maWcvcmlzY3YvcmlzY3YuY2MgICAgICAgICAgICAgICAgICAg fCAxMiArKysrDQo+Pj4+ICBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmggICAg ICAgICAgICAgICAgICAgIHwgIDEgKw0KPj4+PiAgZ2NjL2dlbm1vZGVzLmNj ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI1ICsrKysrKy0NCj4+ Pj4gIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0x LmMgfCA2OCArKysrKysrKysrKysrKysrKysNCj4+Pj4gIGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0yLmMgfCA2OCArKysrKysr KysrKysrKysrKysNCj4+Pj4gIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9wcjEwODE4NS0zLmMgfCA2OCArKysrKysrKysrKysrKysrKysNCj4+ Pj4gIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS00 LmMgfCA2OCArKysrKysrKysrKysrKysrKysNCj4+Pj4gIGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS01LmMgfCA2OCArKysrKysr KysrKysrKysrKysNCj4+Pj4gIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9wcjEwODE4NS02LmMgfCA2OCArKysrKysrKysrKysrKysrKysNCj4+ Pj4gIGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS03 LmMgfCA2OCArKysrKysrKysrKysrKysrKysNCj4+Pj4gIGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS04LmMgfCA3NyArKysrKysr KysrKysrKysrKysrKysNCj4+Pj4gIDEyIGZpbGVzIGNoYW5nZWQsIDU5OCBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+Pj4+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4 MTg1LTEuYw0KPj4+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0yLmMNCj4+Pj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtMy5jDQo+Pj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTQuYw0KPj4+PiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi9wcjEwODE4NS01LmMNCj4+Pj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtNi5jDQo+ Pj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3ByMTA4MTg1LTcuYw0KPj4+PiAgY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS04 LmMNCj4+Pj4NCj4+Pj4gZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3Yv cmlzY3YtbW9kZXMuZGVmIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1tb2Rl cy5kZWYNCj4+Pj4gaW5kZXggZDUzMDVlZmE4YTYuLjExMGJkZGNlODUxIDEw MDY0NA0KPj4+PiAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW1vZGVz LmRlZg0KPj4+PiArKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW1vZGVz LmRlZg0KPj4+PiBAQCAtNzIsNiArNzIsMTQgQEAgQURKVVNUX0JZVEVTSVpF IChWTngxNkJJLCByaXNjdl92ZWN0b3JfY2h1bmtzICogcmlzY3ZfYnl0ZXNf cGVyX3ZlY3Rvcl9jaHVuayk7DQo+Pj4+ICBBREpVU1RfQllURVNJWkUgKFZO eDMyQkksIHJpc2N2X3ZlY3Rvcl9jaHVua3MgKiByaXNjdl9ieXRlc19wZXJf dmVjdG9yX2NodW5rKTsNCj4+Pj4gIEFESlVTVF9CWVRFU0laRSAoVk54NjRC SSwgcmlzY3Zfdl9hZGp1c3RfbnVuaXRzIChWTng2NEJJbW9kZSwgOCkpOw0K Pj4+Pg0KPj4+PiArQURKVVNUX1BSRUNJU0lPTiAoVk54MUJJLCByaXNjdl92 X2FkanVzdF9wcmVjaXNpb24gKFZOeDFCSW1vZGUsIDEpKTsNCj4+Pj4gK0FE SlVTVF9QUkVDSVNJT04gKFZOeDJCSSwgcmlzY3Zfdl9hZGp1c3RfcHJlY2lz aW9uIChWTngyQkltb2RlLCAyKSk7DQo+Pj4+ICtBREpVU1RfUFJFQ0lTSU9O IChWTng0QkksIHJpc2N2X3ZfYWRqdXN0X3ByZWNpc2lvbiAoVk54NEJJbW9k ZSwgNCkpOw0KPj4+PiArQURKVVNUX1BSRUNJU0lPTiAoVk54OEJJLCByaXNj dl92X2FkanVzdF9wcmVjaXNpb24gKFZOeDhCSW1vZGUsIDgpKTsNCj4+Pj4g K0FESlVTVF9QUkVDSVNJT04gKFZOeDE2QkksIHJpc2N2X3ZfYWRqdXN0X3By ZWNpc2lvbiAoVk54MTZCSW1vZGUsIDE2KSk7DQo+Pj4+ICtBREpVU1RfUFJF Q0lTSU9OIChWTngzMkJJLCByaXNjdl92X2FkanVzdF9wcmVjaXNpb24gKFZO eDMyQkltb2RlLCAzMikpOw0KPj4+PiArQURKVVNUX1BSRUNJU0lPTiAoVk54 NjRCSSwgcmlzY3Zfdl9hZGp1c3RfcHJlY2lzaW9uIChWTng2NEJJbW9kZSwg NjQpKTsNCj4+Pj4gKw0KPj4+PiAgLyoNCj4+Pj4gICAgIHwgTW9kZSAgICAg ICAgfCBNSU5fVkxFTj0zMiB8IE1JTl9WTEVOPTMyIHwgTUlOX1ZMRU49NjQg fCBNSU5fVkxFTj02NCB8DQo+Pj4+ICAgICB8ICAgICAgICAgICAgIHwgTE1V TCAgICAgICAgfCBTRVcvTE1VTCAgICB8IExNVUwgICAgICAgIHwgU0VXL0xN VUwgICAgfA0KPj4+PiBkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9y aXNjdi5jYyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MNCj4+Pj4gaW5k ZXggZGUzZTFmOTAzYzcuLmNiZTY2YzBlMzViIDEwMDY0NA0KPj4+PiAtLS0g YS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjDQo+Pj4+ICsrKyBiL2djYy9j b25maWcvcmlzY3YvcmlzY3YuY2MNCj4+Pj4gQEAgLTEwMDMsNiArMTAwMywx OCBAQCByaXNjdl92X2FkanVzdF9udW5pdHMgKG1hY2hpbmVfbW9kZSBtb2Rl LCBpbnQgc2NhbGUpDQo+Pj4+ICAgIHJldHVybiBzY2FsZTsNCj4+Pj4gIH0N Cj4+Pj4NCj4+Pj4gKy8qIENhbGwgZnJvbSBBREpVU1RfUFJFQ0lTSU9OIGlu IHJpc2N2LW1vZGVzLmRlZi4gIFJldHVybiB0aGUgY29ycmVjdA0KPj4+PiAr ICAgUFJFQ0lTSU9OIHNpemUgZm9yIGNvcnJlc3BvbmRpbmcgbWFjaGluZV9t b2RlLiAgKi8NCj4+Pj4gKw0KPj4+PiArcG9seV9pbnQ2NA0KPj4+PiArcmlz Y3Zfdl9hZGp1c3RfcHJlY2lzaW9uIChtYWNoaW5lX21vZGUgbW9kZSwgaW50 IHNjYWxlKQ0KPj4+PiArew0KPj4+PiArICBpZiAocmlzY3Zfdl9leHRfdmVj dG9yX21vZGVfcCAobW9kZSkpDQo+Pj4+ICsgICAgcmV0dXJuIHJpc2N2X3Zl Y3Rvcl9jaHVua3MgKiBzY2FsZTsNCj4+Pj4gKw0KPj4+PiArICByZXR1cm4g c2NhbGU7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gIC8qIFJldHVybiB0cnVl IGlmIFggaXMgYSB2YWxpZCBhZGRyZXNzIGZvciBtYWNoaW5lIG1vZGUgTU9E RS4gIElmIGl0IGlzLA0KPj4+PiAgICAgZmlsbCBpbiBJTkZPIGFwcHJvcHJp YXRlbHkuICBTVFJJQ1RfUCBpcyB0cnVlIGlmIFJFR19PS19TVFJJQ1QgaXMg aW4NCj4+Pj4gICAgIGVmZmVjdC4gICovDQo+Pj4+IGRpZmYgLS1naXQgYS9n Y2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmggYi9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LmgNCj4+Pj4gaW5kZXggNWJjN2YyZjQ2N2QuLjE1YjkzMTdhOGNlIDEw MDY0NA0KPj4+PiAtLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmgNCj4+ Pj4gKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5oDQo+Pj4+IEBAIC0x MDI1LDYgKzEwMjUsNyBAQCBleHRlcm4gdW5zaWduZWQgcmlzY3Zfc3RhY2tf Ym91bmRhcnk7DQo+Pj4+ICBleHRlcm4gdW5zaWduZWQgcmlzY3ZfYnl0ZXNf cGVyX3ZlY3Rvcl9jaHVuazsNCj4+Pj4gIGV4dGVybiBwb2x5X3VpbnQxNiBy aXNjdl92ZWN0b3JfY2h1bmtzOw0KPj4+PiAgZXh0ZXJuIHBvbHlfaW50NjQg cmlzY3Zfdl9hZGp1c3RfbnVuaXRzIChlbnVtIG1hY2hpbmVfbW9kZSwgaW50 KTsNCj4+Pj4gK2V4dGVybiBwb2x5X2ludDY0IHJpc2N2X3ZfYWRqdXN0X3By ZWNpc2lvbiAoZW51bSBtYWNoaW5lX21vZGUsIGludCk7DQo+Pj4+ICAvKiBU aGUgbnVtYmVyIG9mIGJpdHMgYW5kIGJ5dGVzIGluIGEgUlZWIHZlY3Rvci4g ICovDQo+Pj4+ICAjZGVmaW5lIEJJVFNfUEVSX1JJU0NWX1ZFQ1RPUiAocG9s eV91aW50MTYgKHJpc2N2X3ZlY3Rvcl9jaHVua3MgKiByaXNjdl9ieXRlc19w ZXJfdmVjdG9yX2NodW5rICogOCkpDQo+Pj4+ICAjZGVmaW5lIEJZVEVTX1BF Ul9SSVNDVl9WRUNUT1IgKHBvbHlfdWludDE2IChyaXNjdl92ZWN0b3JfY2h1 bmtzICogcmlzY3ZfYnl0ZXNfcGVyX3ZlY3Rvcl9jaHVuaykpDQo+Pj4+IGRp ZmYgLS1naXQgYS9nY2MvZ2VubW9kZXMuY2MgYi9nY2MvZ2VubW9kZXMuY2MN Cj4+Pj4gaW5kZXggMmQ0MThmMDlhYWIuLjEyZjRlNjMzNWU2IDEwMDY0NA0K Pj4+PiAtLS0gYS9nY2MvZ2VubW9kZXMuY2MNCj4+Pj4gKysrIGIvZ2NjL2dl bm1vZGVzLmNjDQo+Pj4+IEBAIC0xMTQsNiArMTE0LDcgQEAgc3RhdGljIHN0 cnVjdCBtb2RlX2FkanVzdCAqYWRqX2FsaWdubWVudDsNCj4+Pj4gIHN0YXRp YyBzdHJ1Y3QgbW9kZV9hZGp1c3QgKmFkal9mb3JtYXQ7DQo+Pj4+ICBzdGF0 aWMgc3RydWN0IG1vZGVfYWRqdXN0ICphZGpfaWJpdDsNCj4+Pj4gIHN0YXRp YyBzdHJ1Y3QgbW9kZV9hZGp1c3QgKmFkal9mYml0Ow0KPj4+PiArc3RhdGlj IHN0cnVjdCBtb2RlX2FkanVzdCAqYWRqX3ByZWNpc2lvbjsNCj4+Pj4NCj4+ Pj4gIC8qIE1vZGUgY2xhc3Mgb3BlcmF0aW9ucy4gICovDQo+Pj4+ICBzdGF0 aWMgZW51bSBtb2RlX2NsYXNzDQo+Pj4+IEBAIC04MTksNiArODIwLDcgQEAg bWFrZV92ZWN0b3JfbW9kZSAoZW51bSBtb2RlX2NsYXNzIGJjbGFzcywNCj4+ Pj4gICNkZWZpbmUgQURKVVNUX05VTklUUyhNLCBYKSAgICBfQUREX0FESlVT VCAobnVuaXRzLCBNLCBYLCBSQU5ET00sIFJBTkRPTSkNCj4+Pj4gICNkZWZp bmUgQURKVVNUX0JZVEVTSVpFKE0sIFgpICBfQUREX0FESlVTVCAoYnl0ZXNp emUsIE0sIFgsIFJBTkRPTSwgUkFORE9NKQ0KPj4+PiAgI2RlZmluZSBBREpV U1RfQUxJR05NRU5UKE0sIFgpIF9BRERfQURKVVNUIChhbGlnbm1lbnQsIE0s IFgsIFJBTkRPTSwgUkFORE9NKQ0KPj4+PiArI2RlZmluZSBBREpVU1RfUFJF Q0lTSU9OKE0sIFgpIF9BRERfQURKVVNUIChwcmVjaXNpb24sIE0sIFgsIFJB TkRPTSwgUkFORE9NKQ0KPj4+PiAgI2RlZmluZSBBREpVU1RfRkxPQVRfRk9S TUFUKE0sIFgpICAgIF9BRERfQURKVVNUIChmb3JtYXQsIE0sIFgsIEZMT0FU LCBGTE9BVCkNCj4+Pj4gICNkZWZpbmUgQURKVVNUX0lCSVQoTSwgWCkgIF9B RERfQURKVVNUIChpYml0LCBNLCBYLCBBQ0NVTSwgVUFDQ1VNKQ0KPj4+PiAg I2RlZmluZSBBREpVU1RfRkJJVChNLCBYKSAgX0FERF9BREpVU1QgKGZiaXQs IE0sIFgsIEZSQUNULCBVQUNDVU0pDQo+Pj4+IEBAIC0xODI5LDcgKzE4MzEs MTUgQEAgZW1pdF9tb2RlX2FkanVzdG1lbnRzICh2b2lkKQ0KPj4+PiAgICAg ICAgICAgICAgIiAobW9kZV9wcmVjaXNpb25bRV8lc21vZGVdLCBtb2RlX251 bml0c1tFXyVzbW9kZV0pO1xuIiwNCj4+Pj4gICAgICAgICAgICAgIG0tPm5h bWUsIG0tPm5hbWUpOw0KPj4+PiAgICAgICAgcHJpbnRmICgiICAgIG1vZGVf cHJlY2lzaW9uW0VfJXNtb2RlXSA9IHBzICogb2xkX2ZhY3RvcjtcbiIsIG0t Pm5hbWUpOw0KPj4+PiAtICAgICAgcHJpbnRmICgiICAgIG1vZGVfc2l6ZVtF XyVzbW9kZV0gPSBleGFjdF9kaXYgKG1vZGVfcHJlY2lzaW9uW0VfJXNtb2Rl XSwiDQo+Pj4+ICsgICAgICAvKiBOb3JtYWxpemUgdGhlIHNpemUgdG8gMSBp ZiBwcmVjaXNvbiBpcyBsZXNzIHRoYW4gQklUU19QRVJfVU5JVC4gICovDQo+ Pj4+ICsgICAgICBwcmludGYgKCIgICAgcG9seV91aW50MTYgc2l6ZV9vbmUg PSAiDQo+Pj4+ICsgICAgICAgICAgICJtb2RlX3ByZWNpc2lvbltFXyVzbW9k ZV0uaXNfY29uc3RhbnQgKClcbiIsIG0tPm5hbWUpOw0KPj4+PiArICAgICAg cHJpbnRmICgiICAgICAgPyBwb2x5X3VpbnQxNiAoMSwgMCkgOiBwb2x5X3Vp bnQxNiAoMSwgMSk7XG4iKTsNCj4+Pg0KPj4+IEhhdmUgeW91IHRyaWVkIHRo aXMgb24gYW4geDg2XzY0IHN5c3RlbT8gIEkgd291bGRuJ3QgZXhwZWN0IGl0 IHRvIHdvcmsNCj4+PiBiZWNhdXNlIG9mIHRoZToNCj4+Pg0KPj4+ICAgU1RB VElDX0FTU0VSVCAoTiA+PSAyKTsNCj4+Pg0KPj4+IGluIHRoZSBwb2x5X3Vp bnQxNiBjb25zdHJ1Y3Rvci4NCj4+Pg0KPj4+PiArICAgICAgcHJpbnRmICgi ICAgIGlmIChrbm93bl9sdCAobW9kZV9wcmVjaXNpb25bRV8lc21vZGVdLCAi DQo+Pj4+ICsgICAgICAgICAgICJzaXplX29uZSAqIEJJVFNfUEVSX1VOSVQp KVxuIiwgbS0+bmFtZSk7DQo+Pj4+ICsgICAgICBwcmludGYgKCIgICAgICBt b2RlX3NpemVbRV8lc21vZGVdID0gc2l6ZV9vbmU7XG4iLCBtLT5uYW1lKTsN Cj4+Pj4gKyAgICAgIHByaW50ZiAoIiAgICBlbHNlXG4iKTsNCj4+Pj4gKyAg ICAgIHByaW50ZiAoIiAgICAgIG1vZGVfc2l6ZVtFXyVzbW9kZV0gPSBleGFj dF9kaXYgKG1vZGVfcHJlY2lzaW9uW0VfJXNtb2RlXSwiDQo+Pj4NCj4+PiBO b3cgdGhhdCB0aGUgYXNzZXJ0IGltcGxpY2l0IGluIHRoZSBvcmlnaW5hbCBl eGFjdF9kaXYgbm8gbG9uZ2VyIGhvbGRzLA0KPj4+IEkgdGhpbmsgd2Ugc2hv dWxkIGluc3RlYWQgZ2VuZXJhbGlzZSBpdCB0byBjYW5fZGl2X2F3YXlfZnJv bV96ZXJvX3ANCj4+PiAod2hpY2ggd2lsbCBpbnZvbHZlIGRlZmluaW5nIGEg bmV3IG92ZXJsb2FkIG9mIGNhbl9kaXZfYXdheV9mcm9tX3plcm9fcCkuDQo+ Pj4gSSB0aGluayB0aGF0IHdpbGwgZ2l2ZSB0aGUgc2FtZSByZXN1bHQgYXMg dGhlIGNvZGUgYWJvdmUgZm9yIHRoZSBjYXNlcw0KPj4+IHRoYXQgdGhlIGNv ZGUgYWJvdmUgaGFuZGxlcy4gIEJ1dCBpdCBzaG91bGQgYmUgbW9yZSBnZW5l cmFsIHRvby4NCj4+Pg0KPj4+IFRCSCwgSSdtIHN0aWxsIHNjZXB0aWNhbCB0 aGF0IHRoaXMgaXMgYWxsIHRoYXQgaXMgbmVlZGVkLiAgSXQgc2VlbXMNCj4+ PiB1bmxpa2VseSB0aGF0IHdlJ3ZlIGJlZW4gc28gZ29vZCBhdCB3cml0aW5n IHZlY3RvciBzdXBwb3J0IGNvZGUgdGhhdA0KPj4+IHdlJ3ZlIG1hZGUgaXQg d29yayBmb3IgcHJlY2lzaW9uIDwgYml0c2l6ZSwgZGVzcGl0ZSB0aGF0IGJl aW5nIGFuDQo+Pj4gdW5zdXBwb3J0ZWQgY29tYmluYXRpb24gdW50aWwgbm93 LiAgQnV0IEkgZ3Vlc3Mgd2UgY2FuIGZpeCBwcm9ibGVtcw0KPj4+IG9uIGEg Y2FzZS1ieS1jYXNlIGJhc2lzLg0KPj4+DQo+Pj4gVGhhbmtzLA0KPj4+IFJp Y2hhcmQNCj4+Pg0KPj4+PiAgICAgICAgICAgICAgIiBCSVRTX1BFUl9VTklU KTtcbiIsIG0tPm5hbWUsIG0tPm5hbWUpOw0KPj4+PiAgICAgICAgcHJpbnRm ICgiICAgIG1vZGVfbnVuaXRzW0VfJXNtb2RlXSA9IHBzO1xuIiwgbS0+bmFt ZSk7DQo+Pj4+ICAgICAgICBwcmludGYgKCIgICAgYWRqdXN0X21vZGVfbWFz ayAoRV8lc21vZGUpO1xuIiwgbS0+bmFtZSk7DQo+Pj4+IEBAIC0xOTYzLDYg KzE5NzMsMTkgQEAgZW1pdF9tb2RlX2FkanVzdG1lbnRzICh2b2lkKQ0KPj4+ PiAgICAgIHByaW50ZiAoIlxuICAvKiAlczolZCAqL1xuICBSRUFMX01PREVf Rk9STUFUIChFXyVzbW9kZSkgPSAlcztcbiIsDQo+Pj4+ICAgICAgICAgICAg YS0+ZmlsZSwgYS0+bGluZSwgYS0+bW9kZS0+bmFtZSwgYS0+YWRqdXN0bWVu dCk7DQo+Pj4+DQo+Pj4+ICsgIC8qIEFkanVzdCBwcmVjaXNpb24gdG8gdGhl IGFjdHVhbCBiaXRzIHNpemUuICAqLw0KPj4+PiArICBmb3IgKGEgPSBhZGpf cHJlY2lzaW9uOyBhOyBhID0gYS0+bmV4dCkNCj4+Pj4gKyAgICBzd2l0Y2gg KGEtPm1vZGUtPmNsKQ0KPj4+PiArICAgICAgew0KPj4+PiArICAgICBjYXNl IE1PREVfVkVDVE9SX0JPT0w6DQo+Pj4+ICsgICAgICAgcHJpbnRmICgiXG4g IC8qICVzOiVkLiAgKi9cbiAgcHMgPSAlcztcbiIsIGEtPmZpbGUsIGEtPmxp bmUsDQo+Pj4+ICsgICAgICAgICAgICAgICBhLT5hZGp1c3RtZW50KTsNCj4+ Pj4gKyAgICAgICBwcmludGYgKCIgIG1vZGVfcHJlY2lzaW9uW0VfJXNtb2Rl XSA9IHBzO1xuIiwgYS0+bW9kZS0+bmFtZSk7DQo+Pj4+ICsgICAgICAgYnJl YWs7DQo+Pj4+ICsgICAgIGRlZmF1bHQ6DQo+Pj4+ICsgICAgICAgYnJlYWs7 DQo+Pj4+ICsgICAgICB9DQo+Pj4+ICsNCj4+Pj4gICAgcHV0cyAoIn0iKTsN Cj4+Pj4gIH0NCj4+Pj4NCj4+Pj4gZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0xLmMgYi9nY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUtMS5jDQo+Pj4+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+Pj4+IGluZGV4IDAwMDAwMDAwMDAwLi5lNzA5 NjBjNWI2ZA0KPj4+PiAtLS0gL2Rldi9udWxsDQo+Pj4+ICsrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS0xLmMNCj4+Pj4g QEAgLTAsMCArMSw2OCBAQA0KPj4+PiArLyogeyBkZy1kbyBjb21waWxlIH0g Ki8NCj4+Pj4gKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnY3YgLW1h Ymk9bHA2NCAtTzMiIH0gKi8NCj4+Pj4gKw0KPj4+PiArI2luY2x1ZGUgInJp c2N2X3ZlY3Rvci5oIg0KPj4+PiArDQo+Pj4+ICt2b2lkDQo+Pj4+ICt0ZXN0 X3Zib29sMV90aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50 OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ICsgICAgdmJvb2wxX3QgdjEg PSAqKHZib29sMV90KilpbjsNCj4+Pj4gKyAgICB2Ym9vbDJfdCB2MiA9ICoo dmJvb2wyX3QqKWluOw0KPj4+PiArDQo+Pj4+ICsgICAgKih2Ym9vbDFfdCop KG91dCArIDEwMCkgPSB2MTsNCj4+Pj4gKyAgICAqKHZib29sMl90Kikob3V0 ICsgMjAwKSA9IHYyOw0KPj4+PiArfQ0KPj4+PiArDQo+Pj4+ICt2b2lkDQo+ Pj4+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29sNChpbnQ4X3QgKiByZXN0cmlj dCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ICsgICAgdmJv b2wxX3QgdjEgPSAqKHZib29sMV90KilpbjsNCj4+Pj4gKyAgICB2Ym9vbDRf dCB2MiA9ICoodmJvb2w0X3QqKWluOw0KPj4+PiArDQo+Pj4+ICsgICAgKih2 Ym9vbDFfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+Pj4gKyAgICAqKHZib29s NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+PiArfQ0KPj4+PiArDQo+Pj4+ ICt2b2lkDQo+Pj4+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29sOChpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ ICsgICAgdmJvb2wxX3QgdjEgPSAqKHZib29sMV90KilpbjsNCj4+Pj4gKyAg ICB2Ym9vbDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0KPj4+PiArDQo+Pj4+ ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+Pj4gKyAg ICAqKHZib29sOF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+PiArfQ0KPj4+ PiArDQo+Pj4+ICt2b2lkDQo+Pj4+ICt0ZXN0X3Zib29sMV90aGVuX3Zib29s MTYoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91 dCkgew0KPj4+PiArICAgIHZib29sMV90IHYxID0gKih2Ym9vbDFfdCopaW47 DQo+Pj4+ICsgICAgdmJvb2wxNl90IHYyID0gKih2Ym9vbDE2X3QqKWluOw0K Pj4+PiArDQo+Pj4+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDEwMCkgPSB2 MTsNCj4+Pj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDIwMCkgPSB2MjsN Cj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiArdm9pZA0KPj4+PiArdGVzdF92Ym9v bDFfdGhlbl92Ym9vbDMyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3Qg KiByZXN0cmljdCBvdXQpIHsNCj4+Pj4gKyAgICB2Ym9vbDFfdCB2MSA9ICoo dmJvb2wxX3QqKWluOw0KPj4+PiArICAgIHZib29sMzJfdCB2MiA9ICoodmJv b2wzMl90KilpbjsNCj4+Pj4gKw0KPj4+PiArICAgICoodmJvb2wxX3QqKShv dXQgKyAxMDApID0gdjE7DQo+Pj4+ICsgICAgKih2Ym9vbDMyX3QqKShvdXQg KyAyMDApID0gdjI7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+ Pj4gK3Rlc3RfdmJvb2wxX3RoZW5fdmJvb2w2NChpbnQ4X3QgKiByZXN0cmlj dCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ICsgICAgdmJv b2wxX3QgdjEgPSAqKHZib29sMV90KilpbjsNCj4+Pj4gKyAgICB2Ym9vbDY0 X3QgdjIgPSAqKHZib29sNjRfdCopaW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAq KHZib29sMV90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+PiArICAgICoodmJv b2w2NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+PiArfQ0KPj4+PiArDQo+ Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm04LFxzKnRh LFxzKm1hfSA2IH0gfSAqLw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTIsXHMqdGEsXHMqbWF9 IDEgfSB9ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4 LFxzKm0xLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+PiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1b MC05XSssXHMqemVybyxccyplOCxccyptZjIsXHMqdGEsXHMqbWF9IDEgfSB9 ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1m NCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0r LFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0K Pj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDEyIH0gfSAq Lw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c21cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDE4IH0g fSAqLw0KPj4+PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3ByMTA4MTg1LTIuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9wcjEwODE4NS0yLmMNCj4+Pj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4+Pj4gaW5kZXggMDAwMDAwMDAwMDAuLmRjYzdhNjQ0YTg4DQo+ Pj4+IC0tLSAvZGV2L251bGwNCj4+Pj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTIuYw0KPj4+PiBAQCAtMCwwICsx LDY4IEBADQo+Pj4+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPj4+PiAr LyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1P MyIgfSAqLw0KPj4+PiArDQo+Pj4+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9y LmgiDQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3RfdmJvb2wyX3Ro ZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0 cmljdCBvdXQpIHsNCj4+Pj4gKyAgICB2Ym9vbDJfdCB2MSA9ICoodmJvb2wy X3QqKWluOw0KPj4+PiArICAgIHZib29sMV90IHYyID0gKih2Ym9vbDFfdCop aW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMTAw KSA9IHYxOw0KPj4+PiArICAgICoodmJvb2wxX3QqKShvdXQgKyAyMDApID0g djI7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3Rf dmJvb2wyX3RoZW5fdmJvb2w0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4 X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+Pj4gKyAgICB2Ym9vbDJfdCB2MSA9 ICoodmJvb2wyX3QqKWluOw0KPj4+PiArICAgIHZib29sNF90IHYyID0gKih2 Ym9vbDRfdCopaW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZib29sMl90Kiko b3V0ICsgMTAwKSA9IHYxOw0KPj4+PiArICAgICoodmJvb2w0X3QqKShvdXQg KyAyMDApID0gdjI7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+ Pj4gK3Rlc3RfdmJvb2wyX3RoZW5fdmJvb2w4KGludDhfdCAqIHJlc3RyaWN0 IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+Pj4gKyAgICB2Ym9v bDJfdCB2MSA9ICoodmJvb2wyX3QqKWluOw0KPj4+PiArICAgIHZib29sOF90 IHYyID0gKih2Ym9vbDhfdCopaW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZi b29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+PiArICAgICoodmJvb2w4 X3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4g K3ZvaWQNCj4+Pj4gK3Rlc3RfdmJvb2wyX3RoZW5fdmJvb2wxNihpbnQ4X3Qg KiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ ICsgICAgdmJvb2wyX3QgdjEgPSAqKHZib29sMl90KilpbjsNCj4+Pj4gKyAg ICB2Ym9vbDE2X3QgdjIgPSAqKHZib29sMTZfdCopaW47DQo+Pj4+ICsNCj4+ Pj4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+PiAr ICAgICoodmJvb2wxNl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+PiArfQ0K Pj4+PiArDQo+Pj4+ICt2b2lkDQo+Pj4+ICt0ZXN0X3Zib29sMl90aGVuX3Zi b29sMzIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0 IG91dCkgew0KPj4+PiArICAgIHZib29sMl90IHYxID0gKih2Ym9vbDJfdCop aW47DQo+Pj4+ICsgICAgdmJvb2wzMl90IHYyID0gKih2Ym9vbDMyX3QqKWlu Ow0KPj4+PiArDQo+Pj4+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDEwMCkg PSB2MTsNCj4+Pj4gKyAgICAqKHZib29sMzJfdCopKG91dCArIDIwMCkgPSB2 MjsNCj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiArdm9pZA0KPj4+PiArdGVzdF92 Ym9vbDJfdGhlbl92Ym9vbDY0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4 X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+Pj4gKyAgICB2Ym9vbDJfdCB2MSA9 ICoodmJvb2wyX3QqKWluOw0KPj4+PiArICAgIHZib29sNjRfdCB2MiA9ICoo dmJvb2w2NF90KilpbjsNCj4+Pj4gKw0KPj4+PiArICAgICoodmJvb2wyX3Qq KShvdXQgKyAxMDApID0gdjE7DQo+Pj4+ICsgICAgKih2Ym9vbDY0X3QqKShv dXQgKyAyMDApID0gdjI7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1th LXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTQsXHMqdGEsXHMqbWF9IDYg fSB9ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIt dGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxz Km0yLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+PiArLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05 XSssXHMqemVybyxccyplOCxccyptMSxccyp0YSxccyptYX0gMSB9IH0gKi8N Cj4+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7 dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTgsXHMq dGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6 ZXJvLFxzKmU4LFxzKm1mMixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZs aVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxz Km1hfSAxIH0gfSAqLw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxc cyplOCxccyptZjgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZsbVwudlxzK3Zb MC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIgfSB9ICovDQo+Pj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzbVwudlxz K3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTcgfSB9ICovDQo+Pj4+ IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3ByMTA4MTg1LTMuYw0KPj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4+ PiBpbmRleCAwMDAwMDAwMDAwMC4uM2FmMDUxM2UwMDYNCj4+Pj4gLS0tIC9k ZXYvbnVsbA0KPj4+PiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcHIxMDgxODUtMy5jDQo+Pj4+IEBAIC0wLDAgKzEsNjggQEANCj4+ Pj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+Pj4+ICsvKiB7IGRnLW9w dGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICovDQo+ Pj4+ICsNCj4+Pj4gKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4+Pj4g Kw0KPj4+PiArdm9pZA0KPj4+PiArdGVzdF92Ym9vbDRfdGhlbl92Ym9vbDEo aW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkg ew0KPj4+PiArICAgIHZib29sNF90IHYxID0gKih2Ym9vbDRfdCopaW47DQo+ Pj4+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZib29sMV90KilpbjsNCj4+Pj4g Kw0KPj4+PiArICAgICoodmJvb2w0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+ Pj4+ICsgICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+Pj4g K30NCj4+Pj4gKw0KPj4+PiArdm9pZA0KPj4+PiArdGVzdF92Ym9vbDRfdGhl bl92Ym9vbDIoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3Ry aWN0IG91dCkgew0KPj4+PiArICAgIHZib29sNF90IHYxID0gKih2Ym9vbDRf dCopaW47DQo+Pj4+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90Kilp bjsNCj4+Pj4gKw0KPj4+PiArICAgICoodmJvb2w0X3QqKShvdXQgKyAxMDAp ID0gdjE7DQo+Pj4+ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDIwMCkgPSB2 MjsNCj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiArdm9pZA0KPj4+PiArdGVzdF92 Ym9vbDRfdGhlbl92Ym9vbDgoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhf dCAqIHJlc3RyaWN0IG91dCkgew0KPj4+PiArICAgIHZib29sNF90IHYxID0g Kih2Ym9vbDRfdCopaW47DQo+Pj4+ICsgICAgdmJvb2w4X3QgdjIgPSAqKHZi b29sOF90KilpbjsNCj4+Pj4gKw0KPj4+PiArICAgICoodmJvb2w0X3QqKShv dXQgKyAxMDApID0gdjE7DQo+Pj4+ICsgICAgKih2Ym9vbDhfdCopKG91dCAr IDIwMCkgPSB2MjsNCj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiArdm9pZA0KPj4+ PiArdGVzdF92Ym9vbDRfdGhlbl92Ym9vbDE2KGludDhfdCAqIHJlc3RyaWN0 IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+Pj4gKyAgICB2Ym9v bDRfdCB2MSA9ICoodmJvb2w0X3QqKWluOw0KPj4+PiArICAgIHZib29sMTZf dCB2MiA9ICoodmJvb2wxNl90KilpbjsNCj4+Pj4gKw0KPj4+PiArICAgICoo dmJvb2w0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4+ICsgICAgKih2Ym9v bDE2X3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+ Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2wzMihpbnQ4 X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+ Pj4+ICsgICAgdmJvb2w0X3QgdjEgPSAqKHZib29sNF90KilpbjsNCj4+Pj4g KyAgICB2Ym9vbDMyX3QgdjIgPSAqKHZib29sMzJfdCopaW47DQo+Pj4+ICsN Cj4+Pj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+ PiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+PiAr fQ0KPj4+PiArDQo+Pj4+ICt2b2lkDQo+Pj4+ICt0ZXN0X3Zib29sNF90aGVu X3Zib29sNjQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3Ry aWN0IG91dCkgew0KPj4+PiArICAgIHZib29sNF90IHYxID0gKih2Ym9vbDRf dCopaW47DQo+Pj4+ICsgICAgdmJvb2w2NF90IHYyID0gKih2Ym9vbDY0X3Qq KWluOw0KPj4+PiArDQo+Pj4+ICsgICAgKih2Ym9vbDRfdCopKG91dCArIDEw MCkgPSB2MTsNCj4+Pj4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDIwMCkg PSB2MjsNCj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiArLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSss XHMqemVybyxccyplOCxccyptMixccyp0YSxccyptYX0gNiB9IH0gKi8NCj4+ Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNl dHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTgsXHMqdGEs XHMqbWF9IDEgfSB9ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJv LFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+PiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMSxccyp0YSxccyptYX0g MSB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgs XHMqbWYyLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+PiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1b MC05XSssXHMqemVybyxccyplOCxccyptZjQsXHMqdGEsXHMqbWF9IDEgfSB9 ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1m OCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmxtXC52XHMrdlswLTldKyxccyow XChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlswLTldKyxc cyowXChbYS14XVswLTldK1wpfSAxNiB9IH0gKi8NCj4+Pj4gZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS00 LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUt NC5jDQo+Pj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+Pj4+IGluZGV4IDAw MDAwMDAwMDAwLi5lYTNjMzYwZDc1Ng0KPj4+PiAtLS0gL2Rldi9udWxsDQo+ Pj4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEw ODE4NS00LmMNCj4+Pj4gQEAgLTAsMCArMSw2OCBAQA0KPj4+PiArLyogeyBk Zy1kbyBjb21waWxlIH0gKi8NCj4+Pj4gKy8qIHsgZGctb3B0aW9ucyAiLW1h cmNoPXJ2NjRnY3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8NCj4+Pj4gKw0KPj4+ PiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPj4+PiArDQo+Pj4+ICt2 b2lkDQo+Pj4+ICt0ZXN0X3Zib29sOF90aGVuX3Zib29sMShpbnQ4X3QgKiBy ZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ICsg ICAgdmJvb2w4X3QgdjEgPSAqKHZib29sOF90KilpbjsNCj4+Pj4gKyAgICB2 Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPj4+PiArDQo+Pj4+ICsg ICAgKih2Ym9vbDhfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+Pj4gKyAgICAq KHZib29sMV90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+PiArfQ0KPj4+PiAr DQo+Pj4+ICt2b2lkDQo+Pj4+ICt0ZXN0X3Zib29sOF90aGVuX3Zib29sMihp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+Pj4+ICsgICAgdmJvb2w4X3QgdjEgPSAqKHZib29sOF90KilpbjsNCj4+ Pj4gKyAgICB2Ym9vbDJfdCB2MiA9ICoodmJvb2wyX3QqKWluOw0KPj4+PiAr DQo+Pj4+ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+ Pj4gKyAgICAqKHZib29sMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+PiAr fQ0KPj4+PiArDQo+Pj4+ICt2b2lkDQo+Pj4+ICt0ZXN0X3Zib29sOF90aGVu X3Zib29sNChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJp Y3Qgb3V0KSB7DQo+Pj4+ICsgICAgdmJvb2w4X3QgdjEgPSAqKHZib29sOF90 KilpbjsNCj4+Pj4gKyAgICB2Ym9vbDRfdCB2MiA9ICoodmJvb2w0X3QqKWlu Ow0KPj4+PiArDQo+Pj4+ICsgICAgKih2Ym9vbDhfdCopKG91dCArIDEwMCkg PSB2MTsNCj4+Pj4gKyAgICAqKHZib29sNF90Kikob3V0ICsgMjAwKSA9IHYy Ow0KPj4+PiArfQ0KPj4+PiArDQo+Pj4+ICt2b2lkDQo+Pj4+ICt0ZXN0X3Zi b29sOF90aGVuX3Zib29sMTYoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhf dCAqIHJlc3RyaWN0IG91dCkgew0KPj4+PiArICAgIHZib29sOF90IHYxID0g Kih2Ym9vbDhfdCopaW47DQo+Pj4+ICsgICAgdmJvb2wxNl90IHYyID0gKih2 Ym9vbDE2X3QqKWluOw0KPj4+PiArDQo+Pj4+ICsgICAgKih2Ym9vbDhfdCop KG91dCArIDEwMCkgPSB2MTsNCj4+Pj4gKyAgICAqKHZib29sMTZfdCopKG91 dCArIDIwMCkgPSB2MjsNCj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiArdm9pZA0K Pj4+PiArdGVzdF92Ym9vbDhfdGhlbl92Ym9vbDMyKGludDhfdCAqIHJlc3Ry aWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+Pj4gKyAgICB2 Ym9vbDhfdCB2MSA9ICoodmJvb2w4X3QqKWluOw0KPj4+PiArICAgIHZib29s MzJfdCB2MiA9ICoodmJvb2wzMl90KilpbjsNCj4+Pj4gKw0KPj4+PiArICAg ICoodmJvb2w4X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4+ICsgICAgKih2 Ym9vbDMyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4+ICt9DQo+Pj4+ICsN Cj4+Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3RfdmJvb2w4X3RoZW5fdmJvb2w2NChp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+Pj4+ICsgICAgdmJvb2w4X3QgdjEgPSAqKHZib29sOF90KilpbjsNCj4+ Pj4gKyAgICB2Ym9vbDY0X3QgdjIgPSAqKHZib29sNjRfdCopaW47DQo+Pj4+ ICsNCj4+Pj4gKyAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9IHYxOw0K Pj4+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+ PiArfQ0KPj4+PiArDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3Nl bWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxz KmU4LFxzKm0xLFxzKnRhLFxzKm1hfSA2IH0gfSAqLw0KPj4+PiArLyogeyBk Zy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2Et eF1bMC05XSssXHMqemVybyxccyplOCxccyptMixccyp0YSxccyptYX0gMSB9 IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMq bTgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFs IHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTld Kyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0K Pj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjIsXHMq dGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nh bi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6 ZXJvLFxzKmU4LFxzKm1mNCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZs aVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY4LFxzKnRhLFxz Km1hfSAxIH0gfSAqLw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAt OV0rXCl9IDEyIH0gfSAqLw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c21cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhd WzAtOV0rXCl9IDE1IH0gfSAqLw0KPj4+PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTUuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS01LmMNCj4+Pj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+Pj4gaW5kZXggMDAwMDAwMDAwMDAu LjlmYzY1OWQyNDAyDQo+Pj4+IC0tLSAvZGV2L251bGwNCj4+Pj4gKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTUuYw0K Pj4+PiBAQCAtMCwwICsxLDY4IEBADQo+Pj4+ICsvKiB7IGRnLWRvIGNvbXBp bGUgfSAqLw0KPj4+PiArLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdj diAtbWFiaT1scDY0IC1PMyIgfSAqLw0KPj4+PiArDQo+Pj4+ICsjaW5jbHVk ZSAicmlzY3ZfdmVjdG9yLmgiDQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+Pj4g K3Rlc3RfdmJvb2wxNl90aGVuX3Zib29sMShpbnQ4X3QgKiByZXN0cmljdCBp biwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ICsgICAgdmJvb2wx Nl90IHYxID0gKih2Ym9vbDE2X3QqKWluOw0KPj4+PiArICAgIHZib29sMV90 IHYyID0gKih2Ym9vbDFfdCopaW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZi b29sMTZfdCopKG91dCArIDEwMCkgPSB2MTsNCj4+Pj4gKyAgICAqKHZib29s MV90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+PiArfQ0KPj4+PiArDQo+Pj4+ ICt2b2lkDQo+Pj4+ICt0ZXN0X3Zib29sMTZfdGhlbl92Ym9vbDIoaW50OF90 ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4+ PiArICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wxNl90KilpbjsNCj4+Pj4g KyAgICB2Ym9vbDJfdCB2MiA9ICoodmJvb2wyX3QqKWluOw0KPj4+PiArDQo+ Pj4+ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4+ ICsgICAgKih2Ym9vbDJfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+Pj4gK30N Cj4+Pj4gKw0KPj4+PiArdm9pZA0KPj4+PiArdGVzdF92Ym9vbDE2X3RoZW5f dmJvb2w0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmlj dCBvdXQpIHsNCj4+Pj4gKyAgICB2Ym9vbDE2X3QgdjEgPSAqKHZib29sMTZf dCopaW47DQo+Pj4+ICsgICAgdmJvb2w0X3QgdjIgPSAqKHZib29sNF90Kilp bjsNCj4+Pj4gKw0KPj4+PiArICAgICoodmJvb2wxNl90Kikob3V0ICsgMTAw KSA9IHYxOw0KPj4+PiArICAgICoodmJvb2w0X3QqKShvdXQgKyAyMDApID0g djI7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3Rf dmJvb2wxNl90aGVuX3Zib29sOChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50 OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ICsgICAgdmJvb2wxNl90IHYx ID0gKih2Ym9vbDE2X3QqKWluOw0KPj4+PiArICAgIHZib29sOF90IHYyID0g Kih2Ym9vbDhfdCopaW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZib29sMTZf dCopKG91dCArIDEwMCkgPSB2MTsNCj4+Pj4gKyAgICAqKHZib29sOF90Kiko b3V0ICsgMjAwKSA9IHYyOw0KPj4+PiArfQ0KPj4+PiArDQo+Pj4+ICt2b2lk DQo+Pj4+ICt0ZXN0X3Zib29sMTZfdGhlbl92Ym9vbDMyKGludDhfdCAqIHJl c3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+Pj4gKyAg ICB2Ym9vbDE2X3QgdjEgPSAqKHZib29sMTZfdCopaW47DQo+Pj4+ICsgICAg dmJvb2wzMl90IHYyID0gKih2Ym9vbDMyX3QqKWluOw0KPj4+PiArDQo+Pj4+ ICsgICAgKih2Ym9vbDE2X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4+ICsg ICAgKih2Ym9vbDMyX3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4+ICt9DQo+ Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3RfdmJvb2wxNl90aGVuX3Zi b29sNjQoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0 IG91dCkgew0KPj4+PiArICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wxNl90 KilpbjsNCj4+Pj4gKyAgICB2Ym9vbDY0X3QgdjIgPSAqKHZib29sNjRfdCop aW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDEw MCkgPSB2MTsNCj4+Pj4gKyAgICAqKHZib29sNjRfdCopKG91dCArIDIwMCkg PSB2MjsNCj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiArLyogeyBkZy1maW5hbCB7 IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSss XHMqemVybyxccyplOCxccyptZjIsXHMqdGEsXHMqbWF9IDYgfSB9ICovDQo+ Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0yLFxzKnRh LFxzKm1hfSAxIH0gfSAqLw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVy byxccyplOCxccyptOCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4gKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxz K1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTQsXHMqdGEsXHMqbWF9 IDEgfSB9ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4 LFxzKm0xLFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+PiArLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1b MC05XSssXHMqemVybyxccyplOCxccyptZjQsXHMqdGEsXHMqbWF9IDEgfSB9 ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1m OCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dmxtXC52XHMrdlswLTldKyxccyow XChbYS14XVswLTldK1wpfSAxMiB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNtXC52XHMrdlswLTldKyxc cyowXChbYS14XVswLTldK1wpfSAxNCB9IH0gKi8NCj4+Pj4gZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEwODE4NS02 LmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcHIxMDgxODUt Ni5jDQo+Pj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+Pj4+IGluZGV4IDAw MDAwMDAwMDAwLi45ODI3NWU1MjY3ZA0KPj4+PiAtLS0gL2Rldi9udWxsDQo+ Pj4+ICsrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9wcjEw ODE4NS02LmMNCj4+Pj4gQEAgLTAsMCArMSw2OCBAQA0KPj4+PiArLyogeyBk Zy1kbyBjb21waWxlIH0gKi8NCj4+Pj4gKy8qIHsgZGctb3B0aW9ucyAiLW1h cmNoPXJ2NjRnY3YgLW1hYmk9bHA2NCAtTzMiIH0gKi8NCj4+Pj4gKw0KPj4+ PiArI2luY2x1ZGUgInJpc2N2X3ZlY3Rvci5oIg0KPj4+PiArDQo+Pj4+ICt2 b2lkDQo+Pj4+ICt0ZXN0X3Zib29sMzJfdGhlbl92Ym9vbDEoaW50OF90ICog cmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4+PiAr ICAgIHZib29sMzJfdCB2MSA9ICoodmJvb2wzMl90KilpbjsNCj4+Pj4gKyAg ICB2Ym9vbDFfdCB2MiA9ICoodmJvb2wxX3QqKWluOw0KPj4+PiArDQo+Pj4+ ICsgICAgKih2Ym9vbDMyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4+ICsg ICAgKih2Ym9vbDFfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+Pj4gK30NCj4+ Pj4gKw0KPj4+PiArdm9pZA0KPj4+PiArdGVzdF92Ym9vbDMyX3RoZW5fdmJv b2wyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBv dXQpIHsNCj4+Pj4gKyAgICB2Ym9vbDMyX3QgdjEgPSAqKHZib29sMzJfdCop aW47DQo+Pj4+ICsgICAgdmJvb2wyX3QgdjIgPSAqKHZib29sMl90KilpbjsN Cj4+Pj4gKw0KPj4+PiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMTAwKSA9 IHYxOw0KPj4+PiArICAgICoodmJvb2wyX3QqKShvdXQgKyAyMDApID0gdjI7 DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3RfdmJv b2wzMl90aGVuX3Zib29sNChpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90 ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ICsgICAgdmJvb2wzMl90IHYxID0g Kih2Ym9vbDMyX3QqKWluOw0KPj4+PiArICAgIHZib29sNF90IHYyID0gKih2 Ym9vbDRfdCopaW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZib29sMzJfdCop KG91dCArIDEwMCkgPSB2MTsNCj4+Pj4gKyAgICAqKHZib29sNF90Kikob3V0 ICsgMjAwKSA9IHYyOw0KPj4+PiArfQ0KPj4+PiArDQo+Pj4+ICt2b2lkDQo+ Pj4+ICt0ZXN0X3Zib29sMzJfdGhlbl92Ym9vbDgoaW50OF90ICogcmVzdHJp Y3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4+PiArICAgIHZi b29sMzJfdCB2MSA9ICoodmJvb2wzMl90KilpbjsNCj4+Pj4gKyAgICB2Ym9v bDhfdCB2MiA9ICoodmJvb2w4X3QqKWluOw0KPj4+PiArDQo+Pj4+ICsgICAg Kih2Ym9vbDMyX3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4+ICsgICAgKih2 Ym9vbDhfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+Pj4gK30NCj4+Pj4gKw0K Pj4+PiArdm9pZA0KPj4+PiArdGVzdF92Ym9vbDMyX3RoZW5fdmJvb2wxNihp bnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7 DQo+Pj4+ICsgICAgdmJvb2wzMl90IHYxID0gKih2Ym9vbDMyX3QqKWluOw0K Pj4+PiArICAgIHZib29sMTZfdCB2MiA9ICoodmJvb2wxNl90KilpbjsNCj4+ Pj4gKw0KPj4+PiArICAgICoodmJvb2wzMl90Kikob3V0ICsgMTAwKSA9IHYx Ow0KPj4+PiArICAgICoodmJvb2wxNl90Kikob3V0ICsgMjAwKSA9IHYyOw0K Pj4+PiArfQ0KPj4+PiArDQo+Pj4+ICt2b2lkDQo+Pj4+ICt0ZXN0X3Zib29s MzJfdGhlbl92Ym9vbDY0KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3Qg KiByZXN0cmljdCBvdXQpIHsNCj4+Pj4gKyAgICB2Ym9vbDMyX3QgdjEgPSAq KHZib29sMzJfdCopaW47DQo+Pj4+ICsgICAgdmJvb2w2NF90IHYyID0gKih2 Ym9vbDY0X3QqKWluOw0KPj4+PiArDQo+Pj4+ICsgICAgKih2Ym9vbDMyX3Qq KShvdXQgKyAxMDApID0gdjE7DQo+Pj4+ICsgICAgKih2Ym9vbDY0X3QqKShv dXQgKyAyMDApID0gdjI7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gKy8qIHsg ZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1th LXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSA2 IH0gfSAqLw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxc cyptOCxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAt OV0rLFxzKnplcm8sXHMqZTgsXHMqbTQsXHMqdGEsXHMqbWF9IDEgfSB9ICov DQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMg e3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm0yLFxz KnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNj YW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMq emVybyxccyplOCxccyptMSxccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4g Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZs aVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbWYyLFxzKnRhLFxz Km1hfSAxIH0gfSAqLw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNz ZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxc cyplOCxccyptZjgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4+ICsvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZsbVwudlxzK3Zb MC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTIgfSB9ICovDQo+Pj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzbVwudlxz K3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStcKX0gMTMgfSB9ICovDQo+Pj4+ IGRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv cHIxMDgxODUtNy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2 L3ByMTA4MTg1LTcuYw0KPj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4+ PiBpbmRleCAwMDAwMDAwMDAwMC4uOGY2ZjBiMTFmMDkNCj4+Pj4gLS0tIC9k ZXYvbnVsbA0KPj4+PiArKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcHIxMDgxODUtNy5jDQo+Pj4+IEBAIC0wLDAgKzEsNjggQEANCj4+ Pj4gKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQo+Pj4+ICsvKiB7IGRnLW9w dGlvbnMgIi1tYXJjaD1ydjY0Z2N2IC1tYWJpPWxwNjQgLU8zIiB9ICovDQo+ Pj4+ICsNCj4+Pj4gKyNpbmNsdWRlICJyaXNjdl92ZWN0b3IuaCINCj4+Pj4g Kw0KPj4+PiArdm9pZA0KPj4+PiArdGVzdF92Ym9vbDY0X3RoZW5fdmJvb2wx KGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQp IHsNCj4+Pj4gKyAgICB2Ym9vbDY0X3QgdjEgPSAqKHZib29sNjRfdCopaW47 DQo+Pj4+ICsgICAgdmJvb2wxX3QgdjIgPSAqKHZib29sMV90KilpbjsNCj4+ Pj4gKw0KPj4+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMTAwKSA9IHYx Ow0KPj4+PiArICAgICoodmJvb2wxX3QqKShvdXQgKyAyMDApID0gdjI7DQo+ Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3RfdmJvb2w2 NF90aGVuX3Zib29sMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50OF90ICog cmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ICsgICAgdmJvb2w2NF90IHYxID0gKih2 Ym9vbDY0X3QqKWluOw0KPj4+PiArICAgIHZib29sMl90IHYyID0gKih2Ym9v bDJfdCopaW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZib29sNjRfdCopKG91 dCArIDEwMCkgPSB2MTsNCj4+Pj4gKyAgICAqKHZib29sMl90Kikob3V0ICsg MjAwKSA9IHYyOw0KPj4+PiArfQ0KPj4+PiArDQo+Pj4+ICt2b2lkDQo+Pj4+ ICt0ZXN0X3Zib29sNjRfdGhlbl92Ym9vbDQoaW50OF90ICogcmVzdHJpY3Qg aW4sIGludDhfdCAqIHJlc3RyaWN0IG91dCkgew0KPj4+PiArICAgIHZib29s NjRfdCB2MSA9ICoodmJvb2w2NF90KilpbjsNCj4+Pj4gKyAgICB2Ym9vbDRf dCB2MiA9ICoodmJvb2w0X3QqKWluOw0KPj4+PiArDQo+Pj4+ICsgICAgKih2 Ym9vbDY0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4+ICsgICAgKih2Ym9v bDRfdCopKG91dCArIDIwMCkgPSB2MjsNCj4+Pj4gK30NCj4+Pj4gKw0KPj4+ PiArdm9pZA0KPj4+PiArdGVzdF92Ym9vbDY0X3RoZW5fdmJvb2w4KGludDhf dCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+ Pj4gKyAgICB2Ym9vbDY0X3QgdjEgPSAqKHZib29sNjRfdCopaW47DQo+Pj4+ ICsgICAgdmJvb2w4X3QgdjIgPSAqKHZib29sOF90KilpbjsNCj4+Pj4gKw0K Pj4+PiArICAgICoodmJvb2w2NF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+ PiArICAgICoodmJvb2w4X3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4+ICt9 DQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3RfdmJvb2w2NF90aGVu X3Zib29sMTYoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3Ry aWN0IG91dCkgew0KPj4+PiArICAgIHZib29sNjRfdCB2MSA9ICoodmJvb2w2 NF90KilpbjsNCj4+Pj4gKyAgICB2Ym9vbDE2X3QgdjIgPSAqKHZib29sMTZf dCopaW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZib29sNjRfdCopKG91dCAr IDEwMCkgPSB2MTsNCj4+Pj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDIw MCkgPSB2MjsNCj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiArdm9pZA0KPj4+PiAr dGVzdF92Ym9vbDY0X3RoZW5fdmJvb2wzMihpbnQ4X3QgKiByZXN0cmljdCBp biwgaW50OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ICsgICAgdmJvb2w2 NF90IHYxID0gKih2Ym9vbDY0X3QqKWluOw0KPj4+PiArICAgIHZib29sMzJf dCB2MiA9ICoodmJvb2wzMl90KilpbjsNCj4+Pj4gKw0KPj4+PiArICAgICoo dmJvb2w2NF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+PiArICAgICoodmJv b2wzMl90Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+PiArfQ0KPj4+PiArDQo+ Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3Zz ZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mOCxccyp0 YSxccyptYX0gNiB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2Fu LWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnpl cm8sXHMqZTgsXHMqbTgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4+ICsv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlc cytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1h fSAxIH0gfSAqLw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1i bGVyLXRpbWVzIHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccypl OCxccyptMixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4gKy8qIHsgZGct ZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhd WzAtOV0rLFxzKnplcm8sXHMqZTgsXHMqbTEsXHMqdGEsXHMqbWF9IDEgfSB9 ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGlt ZXMge3ZzZXR2bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1m Mixccyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmluYWwg eyBzY2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0r LFxzKnplcm8sXHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0K Pj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2 bG1cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDEyIH0gfSAq Lw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c21cLnZccyt2WzAtOV0rLFxzKjBcKFthLXhdWzAtOV0rXCl9IDEyIH0g fSAqLw0KPj4+PiBkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3ByMTA4MTg1LTguYyBiL2djYy90ZXN0c3VpdGUvZ2NjLnRh cmdldC9yaXNjdi9wcjEwODE4NS04LmMNCj4+Pj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4+Pj4gaW5kZXggMDAwMDAwMDAwMDAuLmQ5Njk1OWRkMDY0DQo+ Pj4+IC0tLSAvZGV2L251bGwNCj4+Pj4gKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Y2MudGFyZ2V0L3Jpc2N2L3ByMTA4MTg1LTguYw0KPj4+PiBAQCAtMCwwICsx LDc3IEBADQo+Pj4+ICsvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KPj4+PiAr LyogeyBkZy1vcHRpb25zICItbWFyY2g9cnY2NGdjdiAtbWFiaT1scDY0IC1P MyIgfSAqLw0KPj4+PiArDQo+Pj4+ICsjaW5jbHVkZSAicmlzY3ZfdmVjdG9y LmgiDQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3RfdmJvb2wxX3Ro ZW5fdmJvb2wxKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0 cmljdCBvdXQpIHsNCj4+Pj4gKyAgICB2Ym9vbDFfdCB2MSA9ICoodmJvb2wx X3QqKWluOw0KPj4+PiArICAgIHZib29sMV90IHYyID0gKih2Ym9vbDFfdCop aW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZib29sMV90Kikob3V0ICsgMTAw KSA9IHYxOw0KPj4+PiArICAgICoodmJvb2wxX3QqKShvdXQgKyAyMDApID0g djI7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3Rf dmJvb2wyX3RoZW5fdmJvb2wyKGludDhfdCAqIHJlc3RyaWN0IGluLCBpbnQ4 X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+Pj4gKyAgICB2Ym9vbDJfdCB2MSA9 ICoodmJvb2wyX3QqKWluOw0KPj4+PiArICAgIHZib29sMl90IHYyID0gKih2 Ym9vbDJfdCopaW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZib29sMl90Kiko b3V0ICsgMTAwKSA9IHYxOw0KPj4+PiArICAgICoodmJvb2wyX3QqKShvdXQg KyAyMDApID0gdjI7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4gK3ZvaWQNCj4+ Pj4gK3Rlc3RfdmJvb2w0X3RoZW5fdmJvb2w0KGludDhfdCAqIHJlc3RyaWN0 IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+Pj4gKyAgICB2Ym9v bDRfdCB2MSA9ICoodmJvb2w0X3QqKWluOw0KPj4+PiArICAgIHZib29sNF90 IHYyID0gKih2Ym9vbDRfdCopaW47DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZi b29sNF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+PiArICAgICoodmJvb2w0 X3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4+ICt9DQo+Pj4+ICsNCj4+Pj4g K3ZvaWQNCj4+Pj4gK3Rlc3RfdmJvb2w4X3RoZW5fdmJvb2w4KGludDhfdCAq IHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+Pj4g KyAgICB2Ym9vbDhfdCB2MSA9ICoodmJvb2w4X3QqKWluOw0KPj4+PiArICAg IHZib29sOF90IHYyID0gKih2Ym9vbDhfdCopaW47DQo+Pj4+ICsNCj4+Pj4g KyAgICAqKHZib29sOF90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+PiArICAg ICoodmJvb2w4X3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4+ICt9DQo+Pj4+ ICsNCj4+Pj4gK3ZvaWQNCj4+Pj4gK3Rlc3RfdmJvb2wxNl90aGVuX3Zib29s MTYoaW50OF90ICogcmVzdHJpY3QgaW4sIGludDhfdCAqIHJlc3RyaWN0IG91 dCkgew0KPj4+PiArICAgIHZib29sMTZfdCB2MSA9ICoodmJvb2wxNl90Kilp bjsNCj4+Pj4gKyAgICB2Ym9vbDE2X3QgdjIgPSAqKHZib29sMTZfdCopaW47 DQo+Pj4+ICsNCj4+Pj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDEwMCkg PSB2MTsNCj4+Pj4gKyAgICAqKHZib29sMTZfdCopKG91dCArIDIwMCkgPSB2 MjsNCj4+Pj4gK30NCj4+Pj4gKw0KPj4+PiArdm9pZA0KPj4+PiArdGVzdF92 Ym9vbDMyX3RoZW5fdmJvb2wzMihpbnQ4X3QgKiByZXN0cmljdCBpbiwgaW50 OF90ICogcmVzdHJpY3Qgb3V0KSB7DQo+Pj4+ICsgICAgdmJvb2wzMl90IHYx ID0gKih2Ym9vbDMyX3QqKWluOw0KPj4+PiArICAgIHZib29sMzJfdCB2MiA9 ICoodmJvb2wzMl90KilpbjsNCj4+Pj4gKw0KPj4+PiArICAgICoodmJvb2wz Ml90Kikob3V0ICsgMTAwKSA9IHYxOw0KPj4+PiArICAgICoodmJvb2wzMl90 Kikob3V0ICsgMjAwKSA9IHYyOw0KPj4+PiArfQ0KPj4+PiArDQo+Pj4+ICt2 b2lkDQo+Pj4+ICt0ZXN0X3Zib29sNjRfdGhlbl92Ym9vbDY0KGludDhfdCAq IHJlc3RyaWN0IGluLCBpbnQ4X3QgKiByZXN0cmljdCBvdXQpIHsNCj4+Pj4g KyAgICB2Ym9vbDY0X3QgdjEgPSAqKHZib29sNjRfdCopaW47DQo+Pj4+ICsg ICAgdmJvb2w2NF90IHYyID0gKih2Ym9vbDY0X3QqKWluOw0KPj4+PiArDQo+ Pj4+ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAxMDApID0gdjE7DQo+Pj4+ ICsgICAgKih2Ym9vbDY0X3QqKShvdXQgKyAyMDApID0gdjI7DQo+Pj4+ICt9 DQo+Pj4+ICsNCj4+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxl ci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8sXHMqZTgs XHMqbTgsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4+ICsvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2bGlccytbYS14XVsw LTldKyxccyp6ZXJvLFxzKmU4LFxzKm00LFxzKnRhLFxzKm1hfSAxIH0gfSAq Lw0KPj4+PiArLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVz IHt2c2V0dmxpXHMrW2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptMixc cyp0YSxccyptYX0gMSB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmluYWwgeyBz Y2FuLWFzc2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxz Knplcm8sXHMqZTgsXHMqbTEsXHMqdGEsXHMqbWF9IDEgfSB9ICovDQo+Pj4+ ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMge3ZzZXR2 bGlccytbYS14XVswLTldKyxccyp6ZXJvLFxzKmU4LFxzKm1mMixccyp0YSxc cyptYX0gMSB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFz c2VtYmxlci10aW1lcyB7dnNldHZsaVxzK1thLXhdWzAtOV0rLFxzKnplcm8s XHMqZTgsXHMqbWY0LFxzKnRhLFxzKm1hfSAxIH0gfSAqLw0KPj4+PiArLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzIHt2c2V0dmxpXHMr W2EteF1bMC05XSssXHMqemVybyxccyplOCxccyptZjgsXHMqdGEsXHMqbWF9 IDEgfSB9ICovDQo+Pj4+ICsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJs ZXItdGltZXMge3ZsbVwudlxzK3ZbMC05XSssXHMqMFwoW2EteF1bMC05XStc KX0gNyB9IH0gKi8NCj4+Pj4gKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2Vt Ymxlci10aW1lcyB7dnNtXC52XHMrdlswLTldKyxccyowXChbYS14XVswLTld K1wpfSAxNCB9IH0gKi8NCg== --_000_BYAPR04MB4824B3FEC38AACE8844978FBB7AD9BYAPR04MB4824namp_--