From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Wed, 19 Jun 2024 14:57:56 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1sJust-008hFt-0N for lore@lore.pengutronix.de; Wed, 19 Jun 2024 14:57:55 +0200 Received: from localhost ([127.0.0.1] helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1sJusr-0005Sl-1j; Wed, 19 Jun 2024 14:57:53 +0200 Received: from mail-vi1eur03on20604.outbound.protection.outlook.com ([2a01:111:f403:260c::604] helo=EUR03-VI1-obe.outbound.protection.outlook.com) by metis.whiteo.stw.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sJ66Q-0006gK-JB; Mon, 17 Jun 2024 08:44:31 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=akFDStVz1VRmTfseE9vRxMV2hDqR23wF+IQN1mNc6sOnHLmImtOKi8yNN7JpbBMcPGK120kUZXDZeBMzjjIL2fiXIF+KytKgKBy7LGMSrRlzwg/EQu/IQUIp2WOM5oY5tjErWdDZQNMn0+G9SVVak5SMEh8XG1Qwygn45SznzENvdxS44a5N9gRMzmzpc/kO2ATnfXTFR/VyI3aOmhAIH7gjwEdCaSZ6Ol9fKQMCz/mxQQ2CEemM3gXeOfzx4AFnfzG3WEKmcgrgJTj2GAF0vesiG6+aBJN4p7QSvX4MA4gSbDeSynVq5lhG/LMwL0+2VPFGnism3dNjPCDOK+wrTQ== 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=2pME41EpmlvFUCNgUfp4tedvK3oWmTV7Am7e4OZOw/o=; b=ELumIrTGtt8qZ35GVKd4GToHkKWyGIkbBASwsqZnYT3V4cF5ifjskhxPFf58po9F9cIBv+OaEzOz3y+JdWXFBDEiEPxnAKLGiUC7skaqduCSyxk0I8qwMljgdxkBdzUb1RBAo7lTySBWb5rTwVZpgpwNuV9m3bjbf1DJOz/S9EyzEVKKYMVXFdeBE18anUgfrY5gn5Po53H7jFMYmM6A9Hwlm/a4SNah6xYjN+kH5hpmUgHddQzipxA/APWLJIfQdtz5OsRWueHJIwOsEWlKactX9ndAJ09LjHKAmWT7VSUKa17BT5SaO9QO4wozNwaR2EudhX1XzOgY2rbtbMnohA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=leica-geosystems.com.cn; dmarc=pass action=none header.from=leica-geosystems.com.cn; dkim=pass header.d=leica-geosystems.com.cn; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=leica-geosystems.com.cn; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2pME41EpmlvFUCNgUfp4tedvK3oWmTV7Am7e4OZOw/o=; b=DzxNMLtRNn4Q++dLUpZI0nP6NU5k+Gc7HLx6h+kkkYShVzkVwP4R0oYdSuPPYyyKi2FxGaoCholsSsKQGZvy+wBlHK2f9N/mAZYLnlzf1V6wOow8+5nAhzzJitik7oD3AHPBQk8zmv518dGBlGI4fn4hAgeEuQdlqfTBFvweblI= Received: from AS8PR06MB7432.eurprd06.prod.outlook.com (2603:10a6:20b:319::19) by VI1PR06MB6445.eurprd06.prod.outlook.com (2603:10a6:800:125::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.30; Mon, 17 Jun 2024 06:44:26 +0000 Received: from AS8PR06MB7432.eurprd06.prod.outlook.com ([fe80::6e12:7988:eb22:7e30]) by AS8PR06MB7432.eurprd06.prod.outlook.com ([fe80::6e12:7988:eb22:7e30%6]) with mapi id 15.20.7677.030; Mon, 17 Jun 2024 06:44:26 +0000 From: LI Qingwu To: =?utf-8?B?VWxyaWNoIMOWbG1hbm4=?= Thread-Topic: [OSS-Tools] [PATCH platsch V3 3/4] platsch: split into platsch and libplatsch Thread-Index: AQHavWBb/eANj0mhKkGVGg27pZAGILHHGHwNgARtKdA= Date: Mon, 17 Jun 2024 06:44:26 +0000 Message-ID: References: <20240613070724.3400651-1-Qing-wu.Li@leica-geosystems.com.cn> <20240613070724.3400651-3-Qing-wu.Li@leica-geosystems.com.cn> <6rbk43n660.fsf@pengutronix.de> In-Reply-To: <6rbk43n660.fsf@pengutronix.de> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=leica-geosystems.com.cn; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AS8PR06MB7432:EE_|VI1PR06MB6445:EE_ x-ms-office365-filtering-correlation-id: 47903737-a8e7-4871-e345-08dc8e98ee8f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230037|376011|1800799021|366013|38070700015; x-microsoft-antispam-message-info: =?utf-8?B?NFNaMFNORWRsWGZjbW1pZTh5K0x5UTk1dWZmMDNqaFNjTVdTQkVHTWE5eDVQ?= =?utf-8?B?cDQ1YkVZc2N4R1VvcFROL2Y1STJKK3JSc3ZuWTV6ZU9PZmx4NHRNZ0NEK04y?= =?utf-8?B?UWcrZUdnaUxJeWNURmhkSzdOcEl6dGQ4U09ZSWtZMm1mNkpqajhyc0pNYmRj?= =?utf-8?B?czBKcHdYZkRGQk1FdGd3M1hkeWVJaU0rZisweWVITW5yYXRDcFlBVElnTVVQ?= =?utf-8?B?cForNkNVUUdvRGpiVnBDVDQzNGhIeDNsRnQ3TUlVUFRBQWVIRVcwdVU2dWRK?= =?utf-8?B?MUpQc0dYOFYzSFpCOWxtUml1TjEzVWNuVGJ3L3FjR2ZmRDhpdjdMTmRQb0JL?= =?utf-8?B?VHZ4QW1xNDF0VERoOEd6dDl2SVR5Y0U0cDJpS0cxUkRoSHMwS21QdXdwN0NU?= =?utf-8?B?cnhVaWlNcGV3ZGRUR2VHbDBtdHhkYzZJUGxyQ1dsSVdEdkVseVNsWStOaFkr?= =?utf-8?B?cHp0LzlWelFFL0pyYXJXU0oxNDU2em1QZ00zMnZyRnR2aUIvMEpZOUc0SlAz?= =?utf-8?B?aTlpbTFkakJJcjE4QTNNYnlYdXBKNVpCYmFuR0ttdmdVU0tEcjh1VWVoWTRD?= =?utf-8?B?NkFHV2lSR3I2cEpicXpSNHl0RDVta2RZbkZzZUZEeWtKNFhmbXBBWDdkSXUv?= =?utf-8?B?YW4vWHM2SHJ1a0NjWmZHU1ZlMHNUUmpldFllRllSOXFnWnRiVzh6aUYzNStl?= =?utf-8?B?V1RsMm5Md3BoNm5sNGVpWDI5S1gzdmpUY21PMlFYR28rVmxYL3Y3Y1Fya1Zz?= =?utf-8?B?K0V3b2grUUY4L3dqc1pGVjMyd2dPY1VkbTlTc3V4dndZenZlb0J3b3ZMTDFL?= =?utf-8?B?TlBOSUFFdXUrK1NuS2Jnend2TitQWW8xSG5uWUdEK2ZUMWd1YmZOVis3UUxG?= =?utf-8?B?T3hmaklHT2tiRVQ2WHFRTEdkUTBkTmllcWxJbndybkhBUkxiZ2Q3eEZncUJw?= =?utf-8?B?MUtQS3lselpRei91TGdkNW1QWGNCWUdNMWc2SEE0WUVpTTJEZ2VvZFVGTDha?= =?utf-8?B?UUlMcHd1ZFhJUDRUYVNQVlZKbEMvVHZSaHd5dVpScGJjeFpqRXRpbWQ2NFJL?= =?utf-8?B?VEF0ampzRGNKNUV6RzhnQ1FieUJRalZ2NkU5SDNYTUZBR0ZkdHRGa3dqdWIv?= =?utf-8?B?QjF3QUdxOTlYbFArQUZWK2tNZ1FIQ1hRZHJLZ0swdXg2d3hZZlE4UVdCWUdo?= =?utf-8?B?QXdFK3BEb1RoRkM3UmhTa1JKMDM0ckVqN1R6ZERMWEZsZ3VHSXhYeWlrc1lj?= =?utf-8?B?aWY3R1RRZncrZnl3V1ljc2dhSk9HeU5seHN0cHpPb01FeXpseGJ5VlQ5SXEv?= =?utf-8?B?V1BNS0NzaGxIclJiWGR6U1psVGFmVVhXT205Y29GWk96NTFuNTBiOXdYUWJR?= =?utf-8?B?bnp0eU1GVlF0RG84djhycFlWdHcwd2NkQUhMWEdFK0Q2NmJTUHJNbTQvdXQx?= =?utf-8?B?N0dJZ01jNUIyWG9KSGZhNUdwbDgvaVRPWUpEZGRsai9lVXByN0taQXozNjh5?= =?utf-8?B?bVhoWXBUaEh4dXV0dnNmc1FmT3IrUkNkaG1tOE16aVR0NlhpUkdwZUR6SWtn?= =?utf-8?B?THl2RVA4S1RVblZ3akIvbjMvSUNkUjh2N0lsbVFmSDBUZ1ZYK1E5UkFGZVpx?= =?utf-8?B?MFJ5RW5tTUd3RVJtcWpWRlpONE5Cby8xdXhGREZ0Y2czaVp4dFU0ZnFBQk9z?= =?utf-8?B?R21iRDk2eWZ1VGJRRk1BN1pCVVV6cTB0QWhYbU9qa3c0aGV3b2JVZzBUeTQw?= =?utf-8?Q?owxvyvKm1iov7wtlJqGNNs4IQJzuuwI95zHjkef?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:zh-cn; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR06MB7432.eurprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230037)(376011)(1800799021)(366013)(38070700015); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cXZtSzZmVUFyMDEyV3pBK0MwWUp0L3hGbkRuZkR4NFBtZjEwSjNhaXNqMjF5?= =?utf-8?B?a1BxbytIMGRaUit1YnVEUUI2K3k0RmdpREdROTV4Z2toYjZCNGc0LzNhcVg2?= =?utf-8?B?K01CeHF4YkI1ajdYQjRRRGtzNStOQm5lS3hUYStkTU5USFNJN2VFTlFqdUdr?= =?utf-8?B?eGROWG00Y3YxYzNrL1RtWURxUHBrQmhlMVJhZmdSNWhvQTFxS3N0YzRJNTNa?= =?utf-8?B?UjR0eU1qM2hKeFhuMVZvb2FNazlDenBnaHBDeGZTL2FlTzg4M1htZzN1S2Ju?= =?utf-8?B?UXY4WFlpTDRiemczcnZMK254S1NKM21QakF4T1NYbU5rM3lNbm84VUNHZW04?= =?utf-8?B?ZzFjUUcwbTh2Q05EcGZNeUVPaVFGK1A1MEV3MXZqWng3eVR5UXlsMEVvVCtz?= =?utf-8?B?d3d1U1Fyd0Zsb3VYc09qajhHUm4vd1lPYWVTNEtlQ3ROMVlwMUZyNHlodnh4?= =?utf-8?B?RXhWbEE1Y0xReGNUZlo0M1c4V0xUUmIwNWIxdENmTUFXUlNTeHVxU0FqdFlh?= =?utf-8?B?c3RoYW1qeVVCS2d4elpwek4vU1NiNlVTUWRnWlFSaFJ1V09IeVo1Q1M1aDVm?= =?utf-8?B?WG5lK0lmTDZGbDBiZDkxT0dhNEhLTm9uOUZNT0hRbWlBNXB2TUNURnV1OUFG?= =?utf-8?B?TkdlRzhIeHdIYVF2QjROMjllUXFPa09kY2ZIUVlNWTZQbEdRODZRbFRUN1BR?= =?utf-8?B?c2d0anBreGpXTDJXdTdwWk9EckgzbkpRcVJpQ0xQM0Npd1M4bDRjYmFheEpS?= =?utf-8?B?aWR2L05ZbEdLWDh5R0pnN090citVdHBDYWdBSVFiMVFaaW9Rd3RSK0xqQllt?= =?utf-8?B?OUwza0M4L0pPY1RqTGNpSkU0RXBWdDA0a1Q2OWZlREdWTUR1alR6Vk5PdXk4?= =?utf-8?B?d2ZadHNseXlwV09pUWNuRitpc1ZYRm51V2hmY3Uwdkp2VnlsQ0tKYWw2K0Iy?= =?utf-8?B?TDduS2xQRW5uWkRVekJNcnRPOGtOOVFidGx4MFE2TncrazRaTnFjckUvMEpM?= =?utf-8?B?MEJ0N2taRHByN2FFeExacSthWmZWTmU1ejhiNjlyUGNpT3Rhemt4UEtiVFVN?= =?utf-8?B?bHpOWDduOFNyOW1LYVFXU3ovOE80MkFIdktqWGJOVUtUcWVOUDBnR0d3bDly?= =?utf-8?B?amIzb0RPVHRFSTR5VkVadzBRQ2lRbFdzeVlhbjR2WmoxR3RaQm9uQkF1L1ln?= =?utf-8?B?Um42dHhYeTdJaU5HUnczNlV3UExDM05uQmtrYnJWdWd2Rm45b2ppYnRCUk5k?= =?utf-8?B?U1FEdk5LWnhZRDdOVk1ES2ozcFMzUzE4WjB2NW4wLzFaU25BdjlWZG4zUHU5?= =?utf-8?B?NWlCVEhpSHF3Sy8veHZPc2lmN0Z2S2xXc2Z6eWFub2FscTZKRE00UmxGVlBz?= =?utf-8?B?ZXBoQ0Ivbkx3bHV0MGV3WXlsQzRxaGp0YnFJTGZSM2duWmN1T09RN2JUdG80?= =?utf-8?B?MnBRb01hb3hqQjNtVVRJYjA3cVluakhKdTlHNXUvS0lrYlFrY3ZHRWFJQm5I?= =?utf-8?B?bSt4NENBQTlQcnA0c3o2NWJXeDZtWXF4NGM1emNaemYyVUNxMGZrazZKSnJi?= =?utf-8?B?MUJ6K2pDRXZXWFFCZGhSSHpzNWJ6OHUzVmZ2R29UQUE3Q0tLOTRURUhvYTFR?= =?utf-8?B?MzU4TnFjdkh5OU94T3ZJZlQvV01Celc0SGxaV1pRQ28zeUdUVnhrdzF3U0sv?= =?utf-8?B?K2R6anpsdnpTNUtvMDViZmlNeTVVTlBLQ0pBcVVZZVhEbHBmTU5Zek1WNWZJ?= =?utf-8?B?MkY4Z1B4OGE0VXNjSXlqNFZHWTFIYVhwNXNkREc2UjYyNzR0Z21SbjdVY1ZN?= =?utf-8?B?b2VRNHpwT1k1eUk3WldUZ0dxamF6NGpZM2g5MXY3dGNYVEgyWnE4bkVpaDd1?= =?utf-8?B?a1l2QXBnOEE3SHdZMHAwaGpFNFlZd1RTZ2tJZTU1R09Bcm1XY0JQMjdpSUVB?= =?utf-8?B?ajZMVllaczh1NmU4V3pqeFh2YVR1aUxFUE9EbTVWZjFFejREZlVlNmdkUXpG?= =?utf-8?B?WmU0cVZyNVBWU3N0bGlCdUZWaU9Gd2hWTDVuMjZ2RkZpczUwTzg0dUkydEpP?= =?utf-8?B?VE96SkRFR0MyTTZjdGtLcXF2b1h5MUlwOGFBdjl2M1IvUzViYlZ5Wkh1c2VE?= =?utf-8?B?dmlrMVhQcGs4b3cxb1d2ZEpBcGJMaUZBQitKN0VZaU8za1FUZFFZVmxwSHlX?= =?utf-8?Q?7z9+KmeT3FFeSLZNNyAOXjY=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: leica-geosystems.com.cn X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AS8PR06MB7432.eurprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 47903737-a8e7-4871-e345-08dc8e98ee8f X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2024 06:44:26.7757 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 1b16ab3e-b8f6-4fe3-9f3e-2db7fe549f6a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: H0ITM9MomlzcgOTjB86lKv+vuidD/BlZGH0ROMVCfzZ7O5vne+N8qKjBBZyK7EY7lv9Y9LJRIvL7A4DDUGJVe3ExfDMXCuTPzk8mOPYBmIzPOlqIku5cI7K8efHWZIog X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR06MB6445 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-2.8 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 X-Mailman-Approved-At: Wed, 19 Jun 2024 14:57:50 +0200 Subject: Re: [OSS-Tools] [PATCH platsch V3 3/4] platsch: split into platsch and libplatsch X-BeenThere: oss-tools@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: Pengutronix Public Open-Source-Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "oss-tools@pengutronix.de" , "m.felsch@pengutronix.de" Sender: "OSS-Tools" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: oss-tools-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false SGkgVWxyaWNo77yMDQoNClRoYW5rcyB5b3VyIGlucHV0LCBJIHdpbGwgYWRkcmVzcyBpbiBjb21p bmcgdmVyc2lvbi4NCkp1c3QgcXVlc3Rpb24gYWJvdXQgc3RhdGljIGxpbmsgYXMgYmVsbG93Lg0K DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFVscmljaCDDlmxtYW5uIDx1 Lm9lbG1hbm5AcGVuZ3V0cm9uaXguZGU+DQo+IFNlbnQ6IEZyaWRheSwgSnVuZSAxNCwgMjAyNCA2 OjU3IFBNDQo+IFRvOiBMSSBRaW5nd3UgPFFpbmctd3UuTGlAbGVpY2EtZ2Vvc3lzdGVtcy5jb20u Y24+DQo+IENjOiBvc3MtdG9vbHNAcGVuZ3V0cm9uaXguZGU7IG0uZmVsc2NoQHBlbmd1dHJvbml4 LmRlDQo+IFN1YmplY3Q6IFJlOiBbT1NTLVRvb2xzXSBbUEFUQ0ggcGxhdHNjaCBWMyAzLzRdIHBs YXRzY2g6IHNwbGl0IGludG8gcGxhdHNjaCBhbmQNCj4gbGlicGxhdHNjaA0KPg0KPiBb5L2g6YCa 5bi45LiN5Lya5pS25Yiw5p2l6IeqIHUub2VsbWFubkBwZW5ndXRyb25peC5kZSDnmoTnlLXlrZDp gq7ku7bjgILor7forr/pl64NCj4gaHR0cHM6Ly9ha2EubXMvTGVhcm5BYm91dFNlbmRlcklkZW50 aWZpY2F0aW9u77yM5Lul5LqG6Kej6L+Z5LiA54K55Li65LuA5LmI5b6I6YeN6KaBXQ0KPg0KPiBU aGlzIGVtYWlsIGlzIG5vdCBmcm9tIEhleGFnb27igJlzIE9mZmljZSAzNjUgaW5zdGFuY2UuIFBs ZWFzZSBiZSBjYXJlZnVsIHdoaWxlDQo+IGNsaWNraW5nIGxpbmtzLCBvcGVuaW5nIGF0dGFjaG1l bnRzLCBvciByZXBseWluZyB0byB0aGlzIGVtYWlsLg0KPg0KPg0KPiBIaSBRaW5nLVd1IExpLA0K Pg0KPiBPbiBUaHUsIEp1biAxMyAyMDI0IGF0IDA5OjA3ICswMjAwLCBMSSBRaW5nd3UNCj4gPFFp bmctd3UuTGlAbGVpY2EtZ2Vvc3lzdGVtcy5jb20uY24+IHdyb3RlOg0KPiA+IFNpZ25lZC1vZmYt Ynk6IExJIFFpbmd3dSA8UWluZy13dS5MaUBsZWljYS1nZW9zeXN0ZW1zLmNvbS5jbj4NCj4gPiAt LS0NCj4gPiAgbGlicGxhdHNjaC5jIHwgNTkwDQo+ID4gKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gIGxpYnBsYXRzY2guaCB8ICA1MSArKysr Kw0KPiA+ICBtZXNvbi5idWlsZCAgfCAgMTMgKy0NCj4gPiAgcGxhdHNjaC5jICAgIHwgNTgyICst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gIDQg ZmlsZXMgY2hhbmdlZCwgNjU4IGluc2VydGlvbnMoKyksIDU3OCBkZWxldGlvbnMoLSkgIGNyZWF0 ZSBtb2RlDQo+ID4gMTAwNjQ0IGxpYnBsYXRzY2guYyAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYnBs YXRzY2guaA0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2xpYnBsYXRzY2guYyBiL2xpYnBsYXRzY2gu YyBuZXcgZmlsZSBtb2RlIDEwMDY0NCBpbmRleA0KPiA+IDAwMDAwMDAuLjFkNDhlMGUNCj4gPiAt LS0gL2Rldi9udWxsDQo+ID4gKysrIGIvbGlicGxhdHNjaC5jDQo+ID4gQEAgLTAsMCArMSw1OTAg QEANCj4gPiArLyoNCj4gPiArICogQ29weXJpZ2h0IChDKSAyMDE5IFBlbmd1dHJvbml4LCBVd2Ug S2xlaW5lLUvDtm5pZw0KPiA+ICs8dS5rbGVpbmUta29lbmlnQHBlbmd1dHJvbml4LmRlPg0KPiA+ ICsgKg0KPiA+ICsgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlz dHJpYnV0ZSB0aGlzIHNvZnR3YXJlDQo+ID4gKyAqIGZvciBhbnkgcHVycG9zZSB3aXRoIG9yIHdp dGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLg0KPiA+ICsgKg0KPiA+ICsgKiBUSEUgU09GVFdB UkUgSVMgUFJPVklERUQgIkFTIElTIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMDQo+ID4g KyAqIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxM DQo+IElNUExJRUQNCj4gPiArICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ VE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMDQo+IFRIRQ0KPiA+ICsgKiBBVVRIT1IgQkUgTElBQkxF IEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULCBJTkRJUkVDVCwgT1INCj4gPiArICogQ09OU0VRVUVO VElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HDQo+IEZST00N Cj4gPiArTE9TUw0KPiA+ICsgKiBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBB TiBBQ1RJT04gT0YgQ09OVFJBQ1QsDQo+ID4gKyAqIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElP VVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTg0KPiA+ICsgKiBDT05ORUNUSU9OIFdJVEgg VEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLg0KPiA+ICsgKg0KPiA+ICsg KiBTb21lIGNvZGUgcGFydHMgYmFzZSBvbiBleGFtcGxlIGNvZGUgd3JpdHRlbiBpbiAyMDEyIGJ5 IERhdmlkDQo+ID4gK0hlcnJtYW5uDQo+ID4gKyAqIDxkaC5oZXJybWFubkBnb29nbGVtYWlsLmNv bT4gYW5kIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4NCj4gPiArSXQgd2FzIGZvdW5k DQo+ID4gKyAqIGluIDIwMTkgb24NCj4gPiArICoNCj4gPiAraHR0cHM6Ly9yYXcvDQo+ID4NCj4g Ky5naXRodWJ1c2VyY29udGVudC5jb20lMkZkdmRocm0lMkZkb2NzJTJGbWFzdGVyJTJGZHJtLWhv d3RvJTJGbW8NCj4gZGVzZXQNCj4gPg0KPiArLmMmZGF0YT0wNSU3QzAyJTdDcWluZy13dS5saSU0 MGxlaWNhLWdlb3N5c3RlbXMuY29tLmNuJTdDOGZjNGU1NDIxZQ0KPiAzZA0KPiA+DQo+ICs0MmQ3 ZmZlZjA4ZGM4YzYwYmVjNSU3QzFiMTZhYjNlYjhmNjRmZTM5ZjNlMmRiN2ZlNTQ5ZjZhJTdDMCU3 QzAlNw0KPiBDNjM4DQo+ID4NCj4gKzUzOTU5NDM2MDkyNzM4MCU3Q1Vua25vd24lN0NUV0ZwYkda c2IzZDhleUpXSWpvaU1DNHdMakF3TURBaUwNCj4gQ0pRSWpvaVYNCj4gPg0KPiArMmx1TXpJaUxD SkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzAlN0MlN0MlN0Mmc2RhdGE9NXh5dFhTYQ0K PiB0VHB3NA0KPiA+ICtLVjN0UnRuOXBiJTJGJTJGb3MlMkJDYkU2ZFdZJTJCYlo5NVZHZDAlM0Qm cmVzZXJ2ZWQ9MA0KPiA+ICsgKi8NCj4gPiArDQo+ID4gKyNpbmNsdWRlIDxhc3NlcnQuaD4NCj4g PiArI2luY2x1ZGUgPGN0eXBlLmg+DQo+ID4gKyNpbmNsdWRlIDxlcnJuby5oPg0KPiA+ICsjaW5j bHVkZSA8ZmNudGwuaD4NCj4gPiArI2luY2x1ZGUgPGdldG9wdC5oPg0KPiA+ICsjaW5jbHVkZSA8 bGliZ2VuLmg+DQo+ID4gKyNpbmNsdWRlIDxzdGRhcmcuaD4NCj4gPiArI2luY2x1ZGUgPHN0ZGJv b2wuaD4NCj4gPiArI2luY2x1ZGUgPHN0ZGlvLmg+DQo+ID4gKyNpbmNsdWRlIDxzdGRsaWIuaD4N Cj4gPiArI2luY2x1ZGUgPHN0cmluZy5oPg0KPiA+ICsjaW5jbHVkZSA8c3lzL21tYW4uaD4NCj4g PiArI2luY2x1ZGUgPHN5cy9zdGF0Lmg+DQo+ID4gKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCj4g PiArI2luY2x1ZGUgPHVuaXN0ZC5oPg0KPg0KPiBpZiB0aGVyZSBpcyBubyByZXF1aXJlbWVudCBm b3IgYSBuZXcgb3JkZXIgb2YgaW5jbHVzaW9uIHBsZWFzZSBrZWVwIHRoZSBzb3J0aW5nDQo+IGZv dW5kIGluIHBsYXRzY2guYy4NCj4NCj4gPiArI2luY2x1ZGUgImxpYnBsYXRzY2guaCINCj4gPiAr I2luY2x1ZGUgPGRybV9mb3VyY2MuaD4NCj4gPiArI2luY2x1ZGUgPHhmODZkcm0uaD4NCj4gPiAr I2luY2x1ZGUgPHhmODZkcm1Nb2RlLmg+DQo+DQo+IFRoZSBpbmNsdWRlcyB4Zjg2ZHJtTW9kZS5o IGFuZCBkcm1fZm91cmNjLmggYXJlIGFscmVhZHkgaW5jbHVkZWQgaW4NCj4gbGlicGxhdHNjaC5o LCBzbyB0aGVyZSBpcyBwcm9iYWJseSBubyBuZWVkIHRvIGluY2x1ZGUgdGhlbSBhZ2FpbiBoZXJl Lg0KPg0KPiA+ICsjaW5jbHVkZSAibGlicGxhdHNjaC5oIg0KPg0KPiBUaGlzIHdhcyBhbHJlYWR5 IGRvbmUgc29tZSBsaW5lcyBhYm92ZS4NCj4NCj4gPiArdm9pZCByZWRpcmVjdF9zdGRmZCh2b2lk KQ0KPiA+ICt7DQo+ID4gKyAgICAgaW50IGRldm51bGwgPSBvcGVuKCIvZGV2L251bGwiLCBPX1JE V1IsIDApOw0KPiA+ICsNCj4gPiArICAgICBpZiAoZGV2bnVsbCA8IDApIHsNCj4gPiArICAgICAg ICAgICAgIGVycm9yKCJGYWlsZWQgdG8gb3BlbiAvZGV2L251bGw6ICVtXG4iKTsNCj4gPiArICAg ICAgICAgICAgIHJldHVybjsNCj4gPiArICAgICB9DQo+ID4gKw0KPiA+ICsgICAgIGNsb3NlKFNU RElOX0ZJTEVOTyk7DQo+ID4gKyAgICAgZHVwMihkZXZudWxsLCBTVERJTl9GSUxFTk8pOw0KPiA+ ICsgICAgIGNsb3NlKFNURE9VVF9GSUxFTk8pOw0KPiA+ICsgICAgIGR1cDIoZGV2bnVsbCwgU1RE T1VUX0ZJTEVOTyk7DQo+ID4gKyAgICAgY2xvc2UoU1RERVJSX0ZJTEVOTyk7DQo+ID4gKyAgICAg ZHVwMihkZXZudWxsLCBTVERFUlJfRklMRU5PKTsNCj4gPiArICAgICBjbG9zZShkZXZudWxsKTsN Cj4gPiArfQ0KPg0KPiBbLi4uXQ0KPg0KPiA+ICtzdGF0aWMgaW50IGRybWZkOw0KPiA+ICsNCj4g PiArc3RydWN0IG1vZGVzZXRfZGV2ICppbml0KHZvaWQpDQo+ID4gK3sNCj4gPiArICAgICBzdGF0 aWMgY2hhciBkcm1kZXZbMTI4XTsNCj4NCj4gVGhpcyBoYXNuJ3QgYmVlbiBzdGF0aWMgYmVmb3Jl LCBpcyB0aGF0IHJlYWxseSBuZWVkZWQ/DQo+DQo+ID4gKyAgICAgaW50IHJldCA9IDAsIGk7DQo+ ID4gKw0KPiA+ICsgICAgIGZvciAoaSA9IDA7IGkgPCA2NDsgaSsrKSB7DQo+ID4gKyAgICAgICAg ICAgICBzdHJ1Y3QgZHJtX21vZGVfY2FyZF9yZXMgcmVzID0gezB9Ow0KPiA+ICsNCj4gPiArICAg ICAgICAgICAgIC8qDQo+ID4gKyAgICAgICAgICAgICAgKiBYWFg6IE1heWJlIHVzZSBkcm1PcGVu IGluc3RlYWQ/DQo+ID4gKyAgICAgICAgICAgICAgKiAoV2hlcmUgc2hvdWxkIG5hbWUvYnVzaWQg Y29tZSBmcm9tPykNCj4gPiArICAgICAgICAgICAgICAqIFhYWDogTG9vcCB0aHJvdWdoIGRybSBk ZXZpY2VzIHRvIGZpbmQgb25lIHdpdGgNCj4gY29ubmVjdG9ycy4NCj4gPiArICAgICAgICAgICAg ICAqLw0KPiA+ICsgICAgICAgICAgICAgcmV0ID0gc25wcmludGYoZHJtZGV2LCBzaXplb2YoZHJt ZGV2KSwgRFJNX0RFVl9OQU1FLA0KPiBEUk1fRElSX05BTUUsIGkpOw0KPiA+ICsgICAgICAgICAg ICAgaWYgKHJldCA+PSBzaXplb2YoZHJtZGV2KSkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICBlcnJvcigiSHVoLCBkZXZpY2UgbmFtZSBvdmVyZmxvd2VkIGJ1ZmZlclxuIik7DQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgIGdvdG8gZXhlY2luaXQ7DQo+ID4gKyAgICAgICAgICAgICB9DQo+ ID4gKw0KPiA+ICsgICAgICAgICAgICAgZHJtZmQgPSBvcGVuKGRybWRldiwgT19SRFdSIHwgT19D TE9FWEVDLCAwKTsNCj4gPiArICAgICAgICAgICAgIGlmIChkcm1mZCA8IDApIHsNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgZXJyb3IoIkZhaWxlZCB0byBvcGVuIGRybSBkZXZpY2U6ICVtXG4i KTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgZ290byBleGVjaW5pdDsNCj4gPiArICAgICAg ICAgICAgIH0NCj4gPiArDQo+ID4gKyAgICAgICAgICAgICByZXQgPSBkcm1Jb2N0bChkcm1mZCwg RFJNX0lPQ1RMX01PREVfR0VUUkVTT1VSQ0VTLA0KPiAmcmVzKTsNCj4gPiArICAgICAgICAgICAg IGlmIChyZXQgPCAwKSB7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNsb3NlKGRybWZkKTsN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+ID4gKyAgICAgICAgICAgICB9 IGVsc2Ugew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAvKiBEZXZpY2UgZm91bmQgKi8NCj4g PiArICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAgICAgICAgICB9DQo+ID4g KyAgICAgfQ0KPiA+ICsNCj4gPiArICAgICBpZiAoaSA9PSA2NCkgew0KPiA+ICsgICAgICAgICAg ICAgZXJyb3IoIk5vIHN1aXRhYmxlIERSTSBkZXZpY2UgZm91bmRcbiIpOw0KPiA+ICsgICAgICAg ICAgICAgZ290byBleGVjaW5pdDsNCj4gPiArICAgICB9DQo+ID4gKw0KPiA+ICsgICAgIHJldCA9 IGRybXByZXBhcmUoZHJtZmQpOw0KPiA+ICsgICAgIGlmIChyZXQpIHsNCj4gPiArICAgICAgICAg ICAgIGVycm9yKCJGYWlsZWQgdG8gcHJlcGFyZSBEUk0gZGV2aWNlXG4iKTsNCj4gPiArICAgICAg ICAgICAgIGdvdG8gZXhlY2luaXQ7DQo+ID4gKyAgICAgfQ0KPiA+ICsNCj4gPiArICAgICByZXR1 cm4gbW9kZXNldF9saXN0Ow0KPiA+ICsNCj4gPiArZXhlY2luaXQ6DQo+DQo+IFRoZSBsYWJlbCBz aG91bGQgcHJvYmFibHkgYmUgcmVuYW1lZCBhcyB0aGlzIG5ldyBpbml0KCktZnVuY3Rpb24gaGFz IG5vdGhpbmcgdG8NCj4gZG8gd2l0aCBjYWxsaW5nIGV4ZWMoKSBmb3IgdGhlIG5leHQgUElEMSBw cm9ncmFtIGFueW1vcmUuDQo+DQo+ID4gKyAgICAgcmV0dXJuIE5VTEw7DQo+ID4gK30NCj4gPiAr DQo+ID4gK3ZvaWQgdXBkYXRlX2Rpc3BsYXkoc3RydWN0IG1vZGVzZXRfZGV2ICpkZXYpIHsNCj4g PiArICAgICBpbnQgcmV0ID0gMDsNCj4gPiArDQo+ID4gKyAgICAgaWYgKGRldi0+c2V0bW9kZSkg ew0KPiA+ICsgICAgICAgICAgICAgcmV0ID0gZHJtTW9kZVNldENydGMoZHJtZmQsIGRldi0+Y3J0 Y19pZCwgZGV2LT5mYl9pZCwgMCwgMCwNCj4gJmRldi0+Y29ubl9pZCwgMSwNCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkZXYtPm1vZGUpOw0KPiA+ICsgICAgICAgICAg ICAgaWYgKHJldCkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBlcnJvcigiQ2Fubm90IHNl dCBDUlRDIGZvciBjb25uZWN0b3IgIyV1OiAlbVxuIiwNCj4gZGV2LT5jb25uX2lkKTsNCj4gPiAr ICAgICAgICAgICAgIH0NCj4gPiArICAgICAgICAgICAgIGRldi0+c2V0bW9kZSA9IDA7DQo+DQo+ IFRoaXMgbGluZSBpcyBuZXcuIElmIGl0IGlzIG5lZWRlZCwgcGxlYXNlIGFkZCBpdCBpbiBhIHNl cGFyYXRlIGNvbW1pdCBhbmQgZGVzY3JpYmUNCj4gd2h5IGl0IGlzIG5lZWRlZC4NCj4NCj4gPiAr ICAgICB9IGVsc2Ugew0KPiA+ICsgICAgICAgICAgICAgcmV0ID0gZHJtTW9kZVBhZ2VGbGlwKGRy bWZkLCBkZXYtPmNydGNfaWQsIGRldi0+ZmJfaWQsIDAsDQo+IE5VTEwpOw0KPiA+ICsgICAgICAg ICAgICAgaWYgKHJldCkgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBlcnJvcigiUGFnZSBm bGlwIGZhaWxlZCBvbiBjb25uZWN0b3IgIyV1OiAlbVxuIiwNCj4gZGV2LT5jb25uX2lkKTsNCj4g PiArICAgICAgICAgICAgIH0NCj4gPiArICAgICB9DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQg ZHJhdyhzdHJ1Y3QgbW9kZXNldF9kZXYgKmRldiwgY29uc3QgY2hhciAqZGlyLCBjb25zdCBjaGFy ICpiYXNlKQ0KPiA+ICt7DQo+ID4gKyAgICAgZHJhd19idWZmZXIoZGV2LCBkaXIsIGJhc2UpOw0K PiA+ICsgICAgIHVwZGF0ZV9kaXNwbGF5KGRldik7DQo+ID4gK30NCj4gPiArDQo+ID4gK3ZvaWQg ZmluaXNoKHZvaWQpIHsgZHJtRHJvcE1hc3Rlcihkcm1mZCk7IH0NCj4NCj4gVGhlIG9yaWdpbmFs IGNvZGUgY2hlY2tlZCB0aGUgcmV0dXJuIHZhbHVlIGhlcmUuIElzIGRybURyb3BNYXN0ZXIoKQ0K PiBndWFyYW50ZWVkIHRvIGFsd2F5cyBzdWNjZWVkPw0KPg0KPiA+ICt2b2lkIGRlaW5pdCh2b2lk KQ0KPiA+ICt7DQo+ID4gKyAgICAgc3RydWN0IG1vZGVzZXRfZGV2ICppdGVyOw0KPiA+ICsNCj4g PiArICAgICBmb3IgKGl0ZXIgPSBtb2Rlc2V0X2xpc3Q7IGl0ZXI7IGl0ZXIgPSBpdGVyLT5uZXh0 KSB7DQo+DQo+IFVzZSBhZnRlciBmcmVlOiB5b3UgYXJlIGFjY2Vzc2luZyBpdGVyLT5uZXh0IGhl cmUuLi4NCj4NCj4gPiArICAgICAgICAgICAgIGlmIChpdGVyLT5tYXApIHsNCj4gPiArICAgICAg ICAgICAgICAgICAgICAgbXVubWFwKGl0ZXItPm1hcCwgaXRlci0+c2l6ZSk7DQo+ID4gKyAgICAg ICAgICAgICB9DQo+ID4gKyAgICAgICAgICAgICBpZiAoaXRlci0+ZmJfaWQpIHsNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgZHJtTW9kZVJtRkIoZHJtZmQsIGl0ZXItPmZiX2lkKTsNCj4gPiAr ICAgICAgICAgICAgIH0NCj4gPiArICAgICAgICAgICAgIGZyZWUoaXRlcik7DQo+DQo+IC4uLiBh bHRob3VnaCBpdGVyIHdhcyBhbHJlYWR5IGZyZWVkIGhlcmUuDQo+DQo+ID4gKyAgICAgfQ0KPiA+ ICt9DQo+ID4gZGlmZiAtLWdpdCBhL2xpYnBsYXRzY2guaCBiL2xpYnBsYXRzY2guaCBuZXcgZmls ZSBtb2RlIDEwMDY0NCBpbmRleA0KPiA+IDAwMDAwMDAuLjc3Zjc0YTkNCj4gPiAtLS0gL2Rldi9u dWxsDQo+ID4gKysrIGIvbGlicGxhdHNjaC5oDQo+ID4gQEAgLTAsMCArMSw1MSBAQA0KPiA+ICsj aWZuZGVmIF9fTElCUExBVFNDSF9IX18NCj4gPiArI2RlZmluZSBfX0xJQlBMQVRTQ0hfSF9fDQo+ ID4gKw0KPiA+ICsjaW5jbHVkZSA8eGY4NmRybU1vZGUuaD4NCj4gPiArI2luY2x1ZGUgPGRybV9m b3VyY2MuaD4NCj4gPiArI2luY2x1ZGUgImxpYnBsYXRzY2guaCINCj4NCj4gUHJvYmFibHkgbm8g bmVlZCB0byBpbmNsdWRlIGxpYnBsYXRzY2guaCBmcm9tIGl0c2VsZi4NCj4NCj4gPiArI2luY2x1 ZGUgPHVuaXN0ZC5oPg0KPiA+ICsNCj4gPiArDQo+ID4gKw0KPiA+ICsjZGVmaW5lIGRlYnVnKGZt dCwgLi4uKSBwcmludGYoIiVzOiVkOiAiIGZtdCwgX19mdW5jX18sIF9fTElORV9fLA0KPiA+ICsj I19fVkFfQVJHU19fKSAjZGVmaW5lIGVycm9yKGZtdCwgLi4uKSBmcHJpbnRmKHN0ZGVyciwgZm10 LA0KPiA+ICsjI19fVkFfQVJHU19fKQ0KPiA+ICsNCj4gPiArI2RlZmluZSBBUlJBWV9TSVpFKGEp IChzaXplb2YoYSkgLyBzaXplb2YoKmEpKQ0KPiA+ICsNCj4gPiArc3RydWN0IHBsYXRzY2hfZm9y bWF0IHsNCj4gPiArICAgICB1aW50MzJfdCBmb3JtYXQ7DQo+ID4gKyAgICAgdWludDMyX3QgYnBw Ow0KPiA+ICsgICAgIGNvbnN0IGNoYXIgKm5hbWU7DQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdHJ1 Y3QgbW9kZXNldF9kZXYgew0KPiA+ICsgICAgIHN0cnVjdCBtb2Rlc2V0X2RldiAqbmV4dDsNCj4g PiArDQo+ID4gKyAgICAgdWludDMyX3Qgd2lkdGg7DQo+ID4gKyAgICAgdWludDMyX3QgaGVpZ2h0 Ow0KPiA+ICsgICAgIHVpbnQzMl90IHN0cmlkZTsNCj4gPiArICAgICB1aW50MzJfdCBzaXplOw0K PiA+ICsgICAgIGNvbnN0IHN0cnVjdCBwbGF0c2NoX2Zvcm1hdCAqZm9ybWF0Ow0KPiA+ICsgICAg IHVpbnQzMl90IGhhbmRsZTsNCj4gPiArICAgICB2b2lkICptYXA7DQo+ID4gKyAgICAgYm9vbCBz ZXRtb2RlOw0KPiA+ICsgICAgIGRybU1vZGVNb2RlSW5mbyBtb2RlOw0KPiA+ICsgICAgIHVpbnQz Ml90IGZiX2lkOw0KPiA+ICsgICAgIHVpbnQzMl90IGNvbm5faWQ7DQo+ID4gKyAgICAgdWludDMy X3QgY3J0Y19pZDsNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGxh dHNjaF9mb3JtYXQgcGxhdHNjaF9mb3JtYXRzW10gPSB7DQo+ID4gKyAgICAgeyBEUk1fRk9STUFU X1JHQjU2NSwgMTYsICJSR0I1NjUiIH0sIC8qIGRlZmF1bHQgKi8NCj4gPiArICAgICB7IERSTV9G T1JNQVRfWFJHQjg4ODgsIDMyLCAiWFJHQjg4ODgiIH0sIH07DQo+ID4gKw0KPiA+ICtzc2l6ZV90 IHJlYWRmdWxsKGludCBmZCwgdm9pZCAqYnVmLCBzaXplX3QgY291bnQpOyBzdHJ1Y3QgbW9kZXNl dF9kZXYNCj4gPiArKmluaXQodm9pZCk7IHZvaWQgZHJhdyhzdHJ1Y3QgbW9kZXNldF9kZXYgKmRl diwgY29uc3QgY2hhciAqZGlyLA0KPiA+ICtjb25zdCBjaGFyICpiYXNlKTsgdm9pZCBmaW5pc2go dm9pZCk7IHZvaWQgcmVkaXJlY3Rfc3RkZmQodm9pZCk7IHZvaWQNCj4gPiArdXBkYXRlX2Rpc3Bs YXkoc3RydWN0IG1vZGVzZXRfZGV2ICpkZXYpOw0KPg0KPiBPbmx5IHRoZSBtaW5vcml0eSBvZiBz eW1ib2xzIGluIHRoZSBuZXcgbGlicmFyeSBhcmUgbmFtZXNwYWNlZCwgY29tcGFyZQ0KPiAicGxh dHNjaF9mb3JtYXQiIGFnYWluc3QgImRyYXciIG9yICJmaW5pc2giLiBQYXJ0aWN1bGFybHkgdGhl IGxhdHRlciBjYW4gYmUNCj4gZXhwZWN0ZWQgdG8gYmUgZXhwb3J0ZWQgZnJvbSB0aGlyZCBwYXJ0 eSBjb2RlIHdoaWNoIGxpYnBsYXRzY2ggaXMgdGhlbiBub3QgYWJsZQ0KPiB0byBiZSBsaW5rZWQg YWdhaW5zdC4gVGh1cyBwbGVhc2UgYWRkIHRoZSBwcmVmaXggInBsYXRzY2hfIiB0byBhdCBsZWFz dCBhbGwgc3ltYm9scw0KPiB0aGF0IGFyZSBwdWJsaXNoZWQgdmlhIGxpYnBsYXRzY2guaC4NCj4N Cj4gPiArI2VuZGlmDQo+ID4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlDQo+ID4gZGlmZiAt LWdpdCBhL21lc29uLmJ1aWxkIGIvbWVzb24uYnVpbGQgaW5kZXggOWY2YmUxZS4uZGM1NTIzOCAx MDA2NDQNCj4gPiAtLS0gYS9tZXNvbi5idWlsZA0KPiA+ICsrKyBiL21lc29uLmJ1aWxkDQo+ID4g QEAgLTEsMTUgKzEsMTggQEANCj4gPiAgcHJvamVjdCgncGxhdHNjaCcsICdjJykNCj4gPg0KPiA+ ICBwbGF0c2NoX2RlcCA9IGRlcGVuZGVuY3koJ2xpYmRybScsIHZlcnNpb24gOiAnPj0gMi40LjEx MicsIHJlcXVpcmVkIDoNCj4gPiB0cnVlKQ0KPg0KPiBPbmUgZmVhdHVyZSBvZiBwbGF0c2NoIGlz IHRvIHN0YXJ0IHVwIGZhc3QsIGhlbmNlIGl0IGlzIGludGVudGlvbmFsbHkgbGlua2VkIGFnYWlu c3QNCj4gc3RhdGljIGxpYnJhcmllcyBvbmx5LiBUaGVyZWZvcmUgcGxlYXNlIHVzZQ0KPg0KPiAg IHBsYXRzY2hfZGVwID0gZGVwZW5kZW5jeSgnbGliZHJtJywNCj4gICAgICAgdmVyc2lvbjogJz49 IDIuNC4xMTInLA0KPiAgICAgICBzdGF0aWM6IHRydWUsDQo+ICAgICAgIHJlcXVpcmVkOiB0cnVl DQo+ICAgKQ0KPg0KPiBpbnN0ZWFkLg0KPg0KPiA+IC1zb3VyY2VzID0gWydwbGF0c2NoLmMnXQ0K PiA+ICtzb3VyY2VzID0gWydsaWJwbGF0c2NoLmMnXQ0KPiA+DQo+ID4gLSMgRGVmaW5lIHRoZSBo ZWFkZXJzDQo+ID4gLWhlYWRlcnMgPSBbJ3BsYXRzY2guaCddDQo+ID4NCj4gPiAtIyBDcmVhdGUg dGhlIHBsYXRzY2ggZXhlY3V0YWJsZQ0KPiA+IC1leGVjdXRhYmxlKCdwbGF0c2NoJywNCj4gPiAr bGlicGxhdHNjaCA9IHN0YXRpY19saWJyYXJ5KCdsaWJwbGF0c2NoJywNCj4NCj4gVGhlIHJlc3Vs dGluZyBsaWJyYXJ5IGlzIGNhbGxlZCAibGlibGlicGxhdHNjaC5hIiBub3cgd2hpY2ggaXMgc29t ZXdoYXQNCj4gcmVkdW5kYW50Lg0KPg0KPiA+ICAgICAgc291cmNlcywNCj4gPiAgICAgIGRlcGVu ZGVuY2llczogcGxhdHNjaF9kZXAsDQo+ID4gKykNCj4gPiArDQo+ID4gK2V4ZWN1dGFibGUoJ3Bs YXRzY2gnLA0KPiA+ICsgICAgJ3BsYXRzY2guYycsDQo+ID4gKyAgICBkZXBlbmRlbmNpZXM6IHBs YXRzY2hfZGVwLA0KPiA+ICsgICAgbGlua193aXRoOiBsaWJwbGF0c2NoLA0KPg0KPiBVbmZvcnR1 bmF0ZWx5IHBpY2tpbmcgdGhlIHN0YXRpYyB2YXJpYW50IG9mIGxpYmRybSBpbiBpdHMgZGVwZW5k ZW5jeSgpLSBzdGF0ZW1lbnQNCj4gaXMgbm90IGVub3VnaCB0byBnZXQgYSBzdGF0aWNhbGx5IGxp bmtlZCBleGVjdXRhYmxlICJwbGF0c2NoIg0KPiBhcyB0aGVyZSBhcmUgc3RpbGwgc29tZSBkeW5h bWljYWxseSBsaW5rZWQgb2JqZWN0cyBsZWZ0LCBlLmcuIHRoZSBjLWxpYnJhcnkuIFRodXMNCj4g cGxlYXNlIGFkZA0KPg0KPiAgICAgbGlua19hcmdzOiAnLXN0YXRpYycsDQoNClRoZSBjdXJyZW50 IGxpYmRybSByZWNpcGUgb2YgWW9jdG8ganVzdCBnZW5lcmF0ZSBkeW5hbWljIGxpbmsgbGlicmFy eSwNCk5lZWQgdG8gYWRhcHRvciByZWNpcGUgdG8gZ2VuZXJhdGUgU3RhdGljIGxpbmsgbGlicmFy eSwgdGhpcyBpcyB0aGUgb25seSBvbmUgZm9yIGN1cnJlbnQgcGxhdHNjaC4NCkJ1dCBJZiBpbnZv bHZlIGNhaXJvIGFuZCBwbmcgbGF0ZXIsIHRoZXJlIHdvdWxkIGJlIG1vcmUgcmVjaXBlIHRvIGFk YXB0b3IsIGxpa2U6DQpsaWJnb2JqZWN0LTIuMA0KbGliZmZpDQpsaWJnbGliDQpsaWJwY3JlDQps aWJwaXhtYW4tMQ0KbGliZm9udGNvbmZpZw0KbGlidXVpZA0KbGliZXhwYXQNCmxpYmZyZWV0eXBl DQpsaWJwbmcxNg0KDQpkbyB3ZSByZWFsbHkgbmVlZCB0byBsaW5rIGFsbCB3aXRoIHN0YXRpYz8N Cg0KPg0KPiB0byB0aGUgZXhlY3V0YWJsZSgpIHN0YXRlbWVudC4NCj4NCj4gQmVzdCByZWdhcmRz DQo+IFVscmljaA0KPg0KPg0KPiA+ICAgICAgaW5zdGFsbDogdHJ1ZSwNCj4gPiAgICAgIGluY2x1 ZGVfZGlyZWN0b3JpZXM6IGluY2x1ZGVfZGlyZWN0b3JpZXMoJy4nKQ0KPiA+ICApDQo+DQo+IFsu Li5dDQo+DQo+ID4gLWV4ZWNpbml0Og0KPiA+ICAgICAgIGlmIChwaWQxKSB7DQo+ID4gICAgICAg ICAgICAgICByZXQgPSBmb3JrKCk7DQo+ID4gICAgICAgICAgICAgICBpZiAocmV0IDwgMCkgew0K PiAtLQ0KPiBQZW5ndXRyb25peCBlLksuICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBVbHJp Y2ggw5ZsbWFubg0KPiB8DQo+IEluZHVzdHJpYWwgTGludXggU29sdXRpb25zICAgICAgICAgICAg ICAgICB8DQo+IGh0dHA6Ly93d3cucGVuLw0KPiBndXRyb25peC5kZSUyRiZkYXRhPTA1JTdDMDIl N0NxaW5nLXd1LmxpJTQwbGVpY2EtZ2Vvc3lzdGVtcy5jb20uY24lN0MNCj4gOGZjNGU1NDIxZTNk NDJkN2ZmZWYwOGRjOGM2MGJlYzUlN0MxYjE2YWIzZWI4ZjY0ZmUzOWYzZTJkYjdmZTU0OWY2YQ0K PiAlN0MwJTdDMCU3QzYzODUzOTU5NDM2MDkzNzMzOCU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhl eUpXSWpvaQ0KPiBNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3aUxD SlhWQ0k2TW4wJTNEJTdDMCU3Qw0KPiAlN0MlN0Mmc2RhdGE9TlQ5TiUyRlBZdDJ4aW9pUWY0SlJw d09nU3FqckRIVktRM3RYaGlER0ViREZrJTNEJnINCj4gZXNlcnZlZD0wICB8DQo+IFBlaW5lciBT dHIuIDYtOCwgMzExMzcgSGlsZGVzaGVpbSwgR2VybWFueSB8IFBob25lOiArNDktNTEyMS0yMDY5 MTctMCAgICB8DQo+IEFtdHNnZXJpY2h0IEhpbGRlc2hlaW0sIEhSQSAyNjg2ICAgICAgICAgICB8 IEZheDoNCj4gKzQ5LTUxMjEtMjA2OTE3LTU1NTUgfA0K