From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 1EF7E42C8D for ; Tue, 3 May 2022 06:39:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2D96468B3D2; Tue, 3 May 2022 09:39:47 +0300 (EEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-oln040092075040.outbound.protection.outlook.com [40.92.75.40]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D8CF168B2A1 for ; Tue, 3 May 2022 09:39:40 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gyti/NwMJqfiQxDQO+2MKGgfrUgYCAQX+Rgtx7LeEZfssC69yVAH42AMHB9AFF5A6ho+2JNKQrMI5tif4/mGVGhkk7mGmPfiOm+wjP0fcOfygED2qtZyM9Q64Scz0liK9kuC2wRQlJvqtS33g0hh4G1N+JpjDFLGJCxkG1Tsd9/VKrtwMfYhL/XHORyE3ZxVYhAO9PxE/g3u0IZqkQGqKLGaJ0KMiF7AGTeJzLvLlk5BKHUO8wbZzLollTPNh1J1KTIVnfCRVuqbPG995jTD3jTgPZ9eZUuIcMFGmhBUlgm6V/Oqi6ucXjO+PprH/7iMjbM3cj/OgAVGRUV+WuJP2g== 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=Gfei3EYUM13Te4JqUjwrYQM3r8Asr92MCyOkb7f8SKo=; b=Va1npGwR++w+CxsFL+u2buoBMDinhEjgWq5wrwmXvUxaDcVSMZJDL0k/nyPmbieiOoM8roBzqPJULzyPQD/oc0HADF/MJ9zHfoI7NJWhiG2RXBTMl+TCEKNw8Q0WHNC9NX5/janeSTj0nz+b+4NgzMzbUkk3m12/6y10mt0lOPltANxBIYJ36mSYrXGPDaN74MYswG1AsqHl7kgHbEwVYp03iZ27ds9hz2eCOLofAOr3rg31v8SAABMMWznfhpN/FJSF7eg1YALggv9TahhHe7MVDgWiJ0kQbVB2jAGsSG4k65MeFYTI1a3CU/bXuiTBUUt5sQieuKufBMtwOxsf8w== 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=Gfei3EYUM13Te4JqUjwrYQM3r8Asr92MCyOkb7f8SKo=; b=tP9KaI4SeTD82LhPaRR9CLMkB9peZZ5rtPyQLwiwzL1NkcF49Mbe8MijvVCRD2biR4IA/0G+tSkEgEmYvOR1ZMPCNTWHahaqg84O25eFK8Y+DnCv5WyZFjrSFPP+IE8XXAVacuBkIeVklVvxLqsct24KEVvdTQghoAjBgjU4yd0HqFnVVRgcjiLrqXSJyS0qHqJFcxgL3Ba9uVo6Q8YyG4XnaTWcnKyOFxJNZhGLgs9eYOZW65/SIrRcWClp5oD5EVemInZBfjduOPP/7d9tplYkVtiSBwKMk5irmmYAJ3a/MS0eEYnwQwz+OvzAz2G0RrC+6t9Rc6AisfFWGbvpoQ== Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) by VI1PR0102MB3230.eurprd01.prod.exchangelabs.com (2603:10a6:803:8::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5206.24; Tue, 3 May 2022 06:39:19 +0000 Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::1854:2c30:7ba1:c431]) by AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::1854:2c30:7ba1:c431%6]) with mapi id 15.20.5206.024; Tue, 3 May 2022 06:39:19 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 3 May 2022 08:37:48 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [gkCQEtTA+DtP+uAqT0sGrV2fZLLVzdD4] X-ClientProxiedBy: ZR0P278CA0014.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:16::24) To AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) X-Microsoft-Original-Message-ID: <20220503063751.2261222-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9a94bbb8-76b8-4292-2b0a-08da2ccfa65e X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEshfmgJKOBnMup7aFnPglP1MOoFnNBA7MFo8n5bAykiG8nHjgPtjPg1Zw5jH2MZ4VJ29nZN/veTa24eMGEVbZclOEITxu4wE0J6UgUzdXOsYA+kjVqjUa/ELAgKfVp/GQI6XCyhadGAWWLZC+OmTOcoFadcQCfeVUzFtmK4DMGld3WwbCXHtiGBuA6lPtq39GaI3I38C13qqY2mYp2fhB06MYk1ruLiUlFHyyAqsJR8iZjlvIGfiN0BJT7ZOHb3aBR+wcrWieGdEd1vA69TSRuEVkUtpy8W2XLgt6zC8WY1Gslv56i7r+1iVoFOICRXhHjq9eDTYuinVnqVNOphuDsWRh1zcbFQLhYeLyPyKVBhpsk++2lG8PV9OYNvij2YIGEND8QT4J5zg03z9c/CANvQeBJt7hbSp2iNpsdcmOBlYtQz3fR0UtCe6ciY2shBPUHXpjxnxV2ep7TnMR4jIdmWcDBvyIXtHAX4h7EsNeditvkPILK1H6mdcAgabRrNVLphycIwydx+j9oiG+RwjJl5Bup6SOZWLWoFrx3zRYUXF50D4mGC7HonM/cmiB9Vzt1a210zB7BcfjQJenhpZVnGPOdY72u2TyYRy6cgAhfQteBPXbshadddlscPu8+LdWOBojk9TWAdWqs63v4BiQJzI72xTuQL/fB8XIzA+3jfrYnL5llI+jH8da3DERdPlrbbcEPPCrHFbHl8iKGkMnSHgVm3QqGRlmSrvOiQgQknwj/yav+IbXZSkC6PYQCM3fkqz62KKsf7j5zBA59lrg03 X-MS-TrafficTypeDiagnostic: VI1PR0102MB3230:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BBC/Fsbj3VKpL2Iu7dcg2r2HFiTBCswhezr7qgVuVzNaIIJbNYLLAWgjJQXMkh9Ry3lTE4O/SKD0iRRj0VdDmgVTTc4rCHJfYbTziDJ4q82raqT/sEVYIITu4aIJs8EMwAQgPQlshbX82J9kYyaWuPNIR2ZmOdVH7WP87AuEYlwi9M9GAeC8XB2ZSEOVosUY9h6g8L+xhiSb1f7FHrrXRG0KXq1Boh+FRZ9vFWcER8DhRr2erW3izw/VpruXm/flfPxfuYCUAQwOaZlM7q35Rv6isnA/PiIWWYbswuGBRMc2uY+XC56OfK8LQfoRWO35TLTmX+eeVXiqcDQWeavDgFaqemdaDfrqQoiGDrkGlU6CMLRyJ3oZ1flZ6qJNDOF4VKFKt5LsNsKYggUG1+E7bMH+IMGss85QlUKtYllN6K8CFT9r3ibkmVeQD6jjqkzOIqxphEh7GnOo9jeBR+VlrXsA5eKhiTAxMSZ23osD60JUbJXPFpytHTQ4liLxye+5HFjD+FiMjjmg/AsymbcpjvW/R8ulUTL8cArAsOT+K5qjZqDSS1uDn0nCNbMlxiXPj/WefkMcc2wzGa8Mz801HMXlNoT/yTBtIkY5ktlQNsKEUeTLHbwSobbXmYqSOBf7 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q1B4Tm45SEFkTW1MVGtSV0VYbmFvTENIejNpL1ROWVFXL01rSHR4QWpyNnk2?= =?utf-8?B?NG5vb2NmbGNMekwxU0taZ0Q5Wk40bThoWjRRUkJFTW5tLzhHVmJBK0hJNFBL?= =?utf-8?B?RndPT0lmZUJDQkd3NnpUTWdPYUhYTlVkcDAxaGZSSHFVRDRqUzB6a1lWK0VX?= =?utf-8?B?a1laWjlUcXF0ZnBpVjduQ3BFT3U0SERhV1haV1hpM0FIOFlUQnB2bElkc0ha?= =?utf-8?B?OVlRWitPcms2Y2k3QW1OS3ZxWTN3aGxWdUhoZ0hyMlZvOW9oSE95VUJKZlNh?= =?utf-8?B?WDhSOGc4dUVxWmZ4ZWV1NXlwTW54MVRwTVpNcThyN3N6Unk4UjAwY0VJWE9J?= =?utf-8?B?czBZNE5Ra2d6NmppSEtUcGZ6bzhpTW1XZnk4NjVvVU9RM1ZGRVA1ZjdGZ21a?= =?utf-8?B?VmVzT29MQ1ZYY215Z3RhRUxnR3dPb1hvZEl2ZUdlaXhGS1ZEa2ZVbHRwNlU4?= =?utf-8?B?VTI5ZnpkbW04TlhKekY0Rk8rQUZTRmpueGVtSlJ5Z1lXNXg0YUIvQmlsakt4?= =?utf-8?B?Y01Ob2oxTFF4SERwM2tqbG9ORHluYnZ3TlVUTTk1dDl1R3lnVzFkQTRJdi9W?= =?utf-8?B?R0xLUW41MXY1RzFMWlUrMEZIeXRoaXI1a2dYdDdMQzlLd2NIT20yN0VLbHBI?= =?utf-8?B?OVg3SmkvSWhHd0Q3KzBOMUY1UUlkTlpQQnRPQU9BRWY4TXJ5NG53Ykh2OSt5?= =?utf-8?B?SkI2cE9JZXI1dFRhcGxta1NDUmNQb2FXU056SWFDV2JSSHVTdjVBRGpUc3oz?= =?utf-8?B?QlFQOFlZUDVaN2VPNUhNOEVjSEQzNjVLcVp5SDhEdlRsVkxNUWJ5SFhUQ3Zm?= =?utf-8?B?Um5GaGhYMEtpcjIreis1Qnh6MytLYjVlNWZyRmwveWpmdkFSa2xQM1lIbkN3?= =?utf-8?B?THZsbVF6di9Xc2NwWHJaVDZXc25aOFB1M0Z2aUxhK3o0UFhCSEU1SEJvQ2R0?= =?utf-8?B?Q0ptVVE3OGVGTnRXaWhRemhnQWk5Wjc4WE9XcEpWay9aVnJwR1FFUlViclRa?= =?utf-8?B?OWtNU0dQVVZtSkFEd20wOTVPaUZ2S3YvNGRPMitzbFpHRnJ6ei91NXNsbnp5?= =?utf-8?B?T3hiZGxSRlMyRnQ3SUF4UE52V0lnZkZpQ2lRd0cvMHZBMWVHMk4zNEtMbnFZ?= =?utf-8?B?RGxPWndjcjhoM2Fxby8yMUZNVSsrVDFENjhzV2VuZlJXSG5yRHIzdEVjck5E?= =?utf-8?B?TTRhdGFMYzlYUkVoQklmM1g4VHNmNU8xTEZLUUc3RGZVdmdpVFZPU3dLdXd3?= =?utf-8?B?TXU3QnMrMDM3dUhwQ3k1MVFCYStMYVRzYWtXQVhYVGVRMXVNb1Fiay9GR0s5?= =?utf-8?B?ZnBGaTcvMHhRUnNLRk9IM21QVkJQR2lZeTZBQjhMZjJ5NGNCRVVDQlJFZ3Yv?= =?utf-8?B?RGZsSDdERFFkZlhzWFlYNGpGRHhPNk5oeEM2aDk1S0VUaWI2Z1hKb3RibUZW?= =?utf-8?B?RHdxRzd6YlRUM21TR1ZiVzloamFUK0tNK3pYOHVpM1gvQzcyVk5XWHZVMGNP?= =?utf-8?B?SXpFTFpDeE93eGQrMmQvOU52ZUdWb2tzaERpR1kyTDJzRlcvZTNSb0VQcitv?= =?utf-8?B?QlVzdVd3NHhVWEZSeENmTVZGTHdtVWJtcGhIMkVnb1MrVytHOGUxWWNranYv?= =?utf-8?B?aGdscUFYRVNuRlJNRjBnRkN6WTQ3MGlzNEcwTzRJSm1nTVpveDZFNGZpREQ2?= =?utf-8?B?V09NNit6UW56RFpBMCtSTm82bk1abysxU0g1LzEvNEx6Z0ptWkg1UVhPcC9y?= =?utf-8?B?RFlCZnZyWUF2K2NEN3JWc1BkMm5ZTVdEVHVvTlQyaHJ0YzhZa2dHdHNPSWl6?= =?utf-8?B?UkRDdW93bC80dWxUck9DQzlXcC95UnhCWjN2KzRlR0t6dHM4UUxqUEVXbWRD?= =?utf-8?B?RWR5bVZKa1pYM1R5a1U4a29yZ1RESWdpVEtUbTUyc1JFbzRvSWRjZjFSWlVU?= =?utf-8?B?a2pXTUppQmp3VW8xdnZNVy8ya0ZJdkxWRHZ3N21CaFBKcWo5RWJFWkdmekw5?= =?utf-8?B?SVREcnc4cThRPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a94bbb8-76b8-4292-2b0a-08da2ccfa65e X-MS-Exchange-CrossTenant-AuthSource: AS8PR01MB7944.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 May 2022 06:39:19.4730 (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: VI1PR0102MB3230 Subject: [FFmpeg-devel] [PATCH 07/10] avfilter/vf_nlmeans: Move ff_nlmeans_init into a header X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: VGhpcyByZW1vdmVzIGEgZGVwZW5kZW5jeSBvZiBjaGVja2FzbSBvbiBsYXZmaS92Zl9ubG1lYW5z Lm8KYW5kIGFsc28gYWxsb3dzIHRvIGlubGluZSBmZl9ubG1lYW5zX2luaXQoKSBpcnJlc3BlY3Rp dmVseSBvZgppbnRlcnBvc2luZy4KClNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgUmhlaW5oYXJkdCA8 YW5kcmVhcy5yaGVpbmhhcmR0QG91dGxvb2suY29tPgotLS0KIGxpYmF2ZmlsdGVyL3ZmX25sbWVh bnMuYyAgICAgIHwgMTA4ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBsaWJhdmZpbHRlci92 Zl9ubG1lYW5zLmggICAgICB8ICAgMSAtCiBsaWJhdmZpbHRlci92Zl9ubG1lYW5zX2luaXQuaCB8 IDEzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0ZXN0cy9jaGVja2FzbS92 Zl9ubG1lYW5zLmMgICB8ICAgMiArLQogNCBmaWxlcyBjaGFuZ2VkLCAxNDEgaW5zZXJ0aW9ucygr KSwgMTA5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYmF2ZmlsdGVyL3ZmX25s bWVhbnNfaW5pdC5oCgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfbmxtZWFucy5jIGIvbGli YXZmaWx0ZXIvdmZfbmxtZWFucy5jCmluZGV4IDhhMDU5NjVjOWIuLjJmYzNhZGFjY2EgMTAwNjQ0 Ci0tLSBhL2xpYmF2ZmlsdGVyL3ZmX25sbWVhbnMuYworKysgYi9saWJhdmZpbHRlci92Zl9ubG1l YW5zLmMKQEAgLTM2LDYgKzM2LDcgQEAKICNpbmNsdWRlICJmb3JtYXRzLmgiCiAjaW5jbHVkZSAi aW50ZXJuYWwuaCIKICNpbmNsdWRlICJ2Zl9ubG1lYW5zLmgiCisjaW5jbHVkZSAidmZfbmxtZWFu c19pbml0LmgiCiAjaW5jbHVkZSAidmlkZW8uaCIKIAogdHlwZWRlZiBzdHJ1Y3QgTkxNZWFuc0Nv bnRleHQgewpAQCAtODQsNDggKzg1LDYgQEAgc3RhdGljIGNvbnN0IGVudW0gQVZQaXhlbEZvcm1h dCBwaXhfZm10c1tdID0gewogICAgIEFWX1BJWF9GTVRfTk9ORQogfTsKIAotLyoqCi0gKiBDb21w dXRlIHNxdWFyZWQgZGlmZmVyZW5jZSBvZiB0aGUgc2FmZSBhcmVhICh0aGUgem9uZSB3aGVyZSBz MSBhbmQgczIKLSAqIG92ZXJsYXApLiBJdCBpcyBsaWtlbHkgdGhlIGxhcmdlc3QgaW50ZWdyYWwg em9uZSwgc28gaXQgaXMgaW50ZXJlc3RpbmcgdG8gZG8KLSAqIGFzIGxpdHRsZSBjaGVja3MgYXMg cG9zc2libGU7IGNvbnRyYXJ5IHRvIHRoZSB1bnNhZmUgdmVyc2lvbiBvZiB0aGlzCi0gKiBmdW5j dGlvbiwgd2UgZG8gbm90IG5lZWQgYW55IGNsaXBwaW5nIGhlcmUuCi0gKgotICogVGhlIGxpbmUg YWJvdmUgZHN0IGFuZCB0aGUgY29sdW1uIHRvIGl0cyBsZWZ0IGFyZSBhbHdheXMgcmVhZGFibGUu Ci0gKi8KLXN0YXRpYyB2b2lkIGNvbXB1dGVfc2FmZV9zc2RfaW50ZWdyYWxfaW1hZ2VfYyh1aW50 MzJfdCAqZHN0LCBwdHJkaWZmX3QgZHN0X2xpbmVzaXplXzMyLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnMxLCBwdHJkaWZmX3Qg bGluZXNpemUxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IHVpbnQ4X3QgKnMyLCBwdHJkaWZmX3QgbGluZXNpemUyLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LCBpbnQgaCkKLXsKLSAgICBjb25z dCB1aW50MzJfdCAqZHN0X3RvcCA9IGRzdCAtIGRzdF9saW5lc2l6ZV8zMjsKLQotICAgIC8qIFNJ TUQtZnJpZW5kbHkgYXNzdW1wdGlvbnMgYWxsb3dlZCBoZXJlICovCi0gICAgYXZfYXNzZXJ0Migh KHcgJiAweGYpICYmIHcgPj0gMTYgJiYgaCA+PSAxKTsKLQotICAgIGZvciAoaW50IHkgPSAwOyB5 IDwgaDsgeSsrKSB7Ci0gICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgdzsgeCArPSA0KSB7Ci0g ICAgICAgICAgICBjb25zdCBpbnQgZDAgPSBzMVt4ICAgIF0gLSBzMlt4ICAgIF07Ci0gICAgICAg ICAgICBjb25zdCBpbnQgZDEgPSBzMVt4ICsgMV0gLSBzMlt4ICsgMV07Ci0gICAgICAgICAgICBj b25zdCBpbnQgZDIgPSBzMVt4ICsgMl0gLSBzMlt4ICsgMl07Ci0gICAgICAgICAgICBjb25zdCBp bnQgZDMgPSBzMVt4ICsgM10gLSBzMlt4ICsgM107Ci0KLSAgICAgICAgICAgIGRzdFt4ICAgIF0g PSBkc3RfdG9wW3ggICAgXSAtIGRzdF90b3BbeCAtIDFdICsgZDAqZDA7Ci0gICAgICAgICAgICBk c3RbeCArIDFdID0gZHN0X3RvcFt4ICsgMV0gLSBkc3RfdG9wW3ggICAgXSArIGQxKmQxOwotICAg ICAgICAgICAgZHN0W3ggKyAyXSA9IGRzdF90b3BbeCArIDJdIC0gZHN0X3RvcFt4ICsgMV0gKyBk MipkMjsKLSAgICAgICAgICAgIGRzdFt4ICsgM10gPSBkc3RfdG9wW3ggKyAzXSAtIGRzdF90b3Bb eCArIDJdICsgZDMqZDM7Ci0KLSAgICAgICAgICAgIGRzdFt4ICAgIF0gKz0gZHN0W3ggLSAxXTsK LSAgICAgICAgICAgIGRzdFt4ICsgMV0gKz0gZHN0W3ggICAgXTsKLSAgICAgICAgICAgIGRzdFt4 ICsgMl0gKz0gZHN0W3ggKyAxXTsKLSAgICAgICAgICAgIGRzdFt4ICsgM10gKz0gZHN0W3ggKyAy XTsKLSAgICAgICAgfQotICAgICAgICBzMSAgKz0gbGluZXNpemUxOwotICAgICAgICBzMiAgKz0g bGluZXNpemUyOwotICAgICAgICBkc3QgKz0gZHN0X2xpbmVzaXplXzMyOwotICAgICAgICBkc3Rf dG9wICs9IGRzdF9saW5lc2l6ZV8zMjsKLSAgICB9Ci19Ci0KIC8qKgogICogQ29tcHV0ZSBzcXVh cmVkIGRpZmZlcmVuY2Ugb2YgYW4gdW5zYWZlIGFyZWEgKHRoZSB6b25lIG5vciBzMSBub3IgczIg Y291bGQKICAqIGJlIHJlYWRhYmxlKS4KQEAgLTMyNiw1OSArMjg1LDYgQEAgc3RydWN0IHRocmVh ZF9kYXRhIHsKICAgICBpbnQgcDsKIH07CiAKLXN0YXRpYyB2b2lkIGNvbXB1dGVfd2VpZ2h0c19s aW5lX2MoY29uc3QgdWludDMyX3QgKmNvbnN0IGlpYSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgdWludDMyX3QgKmNvbnN0IGlpYiwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyX3QgKmNvbnN0IGlpZCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyX3QgKmNvbnN0IGlpZSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqY29uc3Qgc3JjLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCAqdG90YWxfd2VpZ2h0LAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdCAqc3VtLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmbG9hdCAqY29uc3Qgd2VpZ2h0X2x1dCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1heF9tZWFuaW5nZnVsX2Rp ZmYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzdGFydHgsIGludCBl bmR4KQotewotICAgIGZvciAoaW50IHggPSBzdGFydHg7IHggPCBlbmR4OyB4KyspIHsKLSAgICAg ICAgLyoKLSAgICAgICAgICogTSBpcyBhIGRpc2NyZXRlIG1hcCB3aGVyZSBldmVyeSBlbnRyeSBj b250YWlucyB0aGUgc3VtIG9mIGFsbCB0aGUgZW50cmllcwotICAgICAgICAgKiBpbiB0aGUgcmVj dGFuZ2xlIGZyb20gdGhlIHRvcC1sZWZ0IG9yaWdpbiBvZiBNIHRvIGl0cyBjb29yZGluYXRlLiBJ biB0aGUKLSAgICAgICAgICogZm9sbG93aW5nIHNjaGVtYSwgImkiIGNvbnRhaW5zIHRoZSBzdW0g b2YgdGhlIHdob2xlIG1hcDoKLSAgICAgICAgICoKLSAgICAgICAgICogTSA9ICstLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0rCi0gICAgICAgICAqICAgICB8ICAgICAgICAgIHwgICAg ICAgICAgICAgICAgIHwgICAgfAotICAgICAgICAgKiAgICAgfCAgICAgICAgICB8ICAgICAgICAg ICAgICAgICB8ICAgIHwKLSAgICAgICAgICogICAgIHwgICAgICAgICBhfCAgICAgICAgICAgICAg ICBifCAgIGN8Ci0gICAgICAgICAqICAgICArLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSst LS0tKwotICAgICAgICAgKiAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgIHwK LSAgICAgICAgICogICAgIHwgICAgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICB8Ci0gICAg ICAgICAqICAgICB8ICAgICAgICAgIHwgICAgICAgIFggICAgICAgIHwgICAgfAotICAgICAgICAg KiAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgIHwKLSAgICAgICAgICogICAg IHwgICAgICAgICBkfCAgICAgICAgICAgICAgICBlfCAgIGZ8Ci0gICAgICAgICAqICAgICArLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLSstLS0tKwotICAgICAgICAgKiAgICAgfCAgICAgICAg ICB8ICAgICAgICAgICAgICAgICB8ICAgIHwKLSAgICAgICAgICogICAgIHwgICAgICAgICBnfCAg ICAgICAgICAgICAgICBofCAgIGl8Ci0gICAgICAgICAqICAgICArLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLSstLS0tKwotICAgICAgICAgKgotICAgICAgICAgKiBUaGUgc3VtIG9mIHRoZSBY IGJveCBjYW4gYmUgY2FsY3VsYXRlZCB3aXRoOgotICAgICAgICAgKiAgICBYID0gZS1kLWIrYQot ICAgICAgICAgKgotICAgICAgICAgKiBTZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kv U3VtbWVkX2FyZWFfdGFibGUKLSAgICAgICAgICoKLSAgICAgICAgICogVGhlIGNvbXB1dGUqX3Nz ZCBmdW5jdGlvbnMgY29tcHV0ZSB0aGUgaW50ZWdyYWwgaW1hZ2UgTSB3aGVyZSBldmVyeSBlbnRy eQotICAgICAgICAgKiBjb250YWlucyB0aGUgc3VtIG9mIHRoZSBzcXVhcmVkIGRpZmZlcmVuY2Ug b2YgZXZlcnkgY29ycmVzcG9uZGluZyBwaXhlbHMgb2YKLSAgICAgICAgICogdHdvIGlucHV0IHBs YW5lcyBvZiB0aGUgc2FtZSBzaXplIGFzIE0uCi0gICAgICAgICAqLwotICAgICAgICBjb25zdCB1 aW50MzJfdCBhID0gaWlhW3hdOwotICAgICAgICBjb25zdCB1aW50MzJfdCBiID0gaWliW3hdOwot ICAgICAgICBjb25zdCB1aW50MzJfdCBkID0gaWlkW3hdOwotICAgICAgICBjb25zdCB1aW50MzJf dCBlID0gaWllW3hdOwotICAgICAgICBjb25zdCB1aW50MzJfdCBwYXRjaF9kaWZmX3NxID0gRkZN SU4oZSAtIGQgLSBiICsgYSwgbWF4X21lYW5pbmdmdWxfZGlmZik7Ci0gICAgICAgIGNvbnN0IGZs b2F0IHdlaWdodCA9IHdlaWdodF9sdXRbcGF0Y2hfZGlmZl9zcV07IC8vIGV4cCgtcGF0Y2hfZGlm Zl9zcSAqIHMtPnBkaWZmX3NjYWxlKQotCi0gICAgICAgIHRvdGFsX3dlaWdodFt4XSArPSB3ZWln aHQ7Ci0gICAgICAgIHN1bVt4XSArPSB3ZWlnaHQgKiBzcmNbeF07Ci0gICAgfQotfQotCiBzdGF0 aWMgaW50IG5sbWVhbnNfc2xpY2UoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIHZvaWQgKmFyZywgaW50 IGpvYm5yLCBpbnQgbmJfam9icykKIHsKICAgICBOTE1lYW5zQ29udGV4dCAqcyA9IGN0eC0+cHJp djsKQEAgLTUxMiwxOCArNDE4LDYgQEAgc3RhdGljIGludCBmaWx0ZXJfZnJhbWUoQVZGaWx0ZXJM aW5rICppbmxpbmssIEFWRnJhbWUgKmluKQogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKIH0gd2hpbGUgKDApCiAKLXZvaWQg ZmZfbmxtZWFuc19pbml0KE5MTWVhbnNEU1BDb250ZXh0ICpkc3ApCi17Ci0gICAgZHNwLT5jb21w dXRlX3NhZmVfc3NkX2ludGVncmFsX2ltYWdlID0gY29tcHV0ZV9zYWZlX3NzZF9pbnRlZ3JhbF9p bWFnZV9jOwotICAgIGRzcC0+Y29tcHV0ZV93ZWlnaHRzX2xpbmUgPSBjb21wdXRlX3dlaWdodHNf bGluZV9jOwotCi0gICAgaWYgKEFSQ0hfQUFSQ0g2NCkKLSAgICAgICAgZmZfbmxtZWFuc19pbml0 X2FhcmNoNjQoZHNwKTsKLQotICAgIGlmIChBUkNIX1g4NikKLSAgICAgICAgZmZfbmxtZWFuc19p bml0X3g4Nihkc3ApOwotfQotCiBzdGF0aWMgYXZfY29sZCBpbnQgaW5pdChBVkZpbHRlckNvbnRl eHQgKmN0eCkKIHsKICAgICBOTE1lYW5zQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsKZGlmZiAtLWdp dCBhL2xpYmF2ZmlsdGVyL3ZmX25sbWVhbnMuaCBiL2xpYmF2ZmlsdGVyL3ZmX25sbWVhbnMuaApp bmRleCA0MzYxMWEwM2JkLi42MTM3N2Y4YzY5IDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9u bG1lYW5zLmgKKysrIGIvbGliYXZmaWx0ZXIvdmZfbmxtZWFucy5oCkBAIC0zOSw3ICszOSw2IEBA IHR5cGVkZWYgc3RydWN0IE5MTWVhbnNEU1BDb250ZXh0IHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCBzdGFydHgsIGludCBlbmR4KTsKIH0gTkxNZWFuc0RTUENvbnRleHQ7 CiAKLXZvaWQgZmZfbmxtZWFuc19pbml0KE5MTWVhbnNEU1BDb250ZXh0ICpkc3ApOwogdm9pZCBm Zl9ubG1lYW5zX2luaXRfYWFyY2g2NChOTE1lYW5zRFNQQ29udGV4dCAqZHNwKTsKIHZvaWQgZmZf bmxtZWFuc19pbml0X3g4NihOTE1lYW5zRFNQQ29udGV4dCAqZHNwKTsKIApkaWZmIC0tZ2l0IGEv bGliYXZmaWx0ZXIvdmZfbmxtZWFuc19pbml0LmggYi9saWJhdmZpbHRlci92Zl9ubG1lYW5zX2lu aXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4wNGFkODgwMWI2Ci0t LSAvZGV2L251bGwKKysrIGIvbGliYXZmaWx0ZXIvdmZfbmxtZWFuc19pbml0LmgKQEAgLTAsMCAr MSwxMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgQ2zDqW1lbnQgQsWTc2NoIDx1IHBr aCBtZT4KKyAqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcuCisgKgorICogRkZtcGVn IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwor ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBGRm1wZWcgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICog TGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg UHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRo ZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs IEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgKi8KKworI2lmbmRlZiBB VkZJTFRFUl9OTE1FQU5TX0lOSVRfSAorI2RlZmluZSBBVkZJTFRFUl9OTE1FQU5TX0lOSVRfSAor CisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJj b25maWcuaCIKKyNpbmNsdWRlICJsaWJhdnV0aWwvYXZhc3NlcnQuaCIKKyNpbmNsdWRlICJsaWJh dnV0aWwvbWFjcm9zLmgiCisjaW5jbHVkZSAidmZfbmxtZWFucy5oIgorCisvKioKKyAqIENvbXB1 dGUgc3F1YXJlZCBkaWZmZXJlbmNlIG9mIHRoZSBzYWZlIGFyZWEgKHRoZSB6b25lIHdoZXJlIHMx IGFuZCBzMgorICogb3ZlcmxhcCkuIEl0IGlzIGxpa2VseSB0aGUgbGFyZ2VzdCBpbnRlZ3JhbCB6 b25lLCBzbyBpdCBpcyBpbnRlcmVzdGluZyB0byBkbworICogYXMgbGl0dGxlIGNoZWNrcyBhcyBw b3NzaWJsZTsgY29udHJhcnkgdG8gdGhlIHVuc2FmZSB2ZXJzaW9uIG9mIHRoaXMKKyAqIGZ1bmN0 aW9uLCB3ZSBkbyBub3QgbmVlZCBhbnkgY2xpcHBpbmcgaGVyZS4KKyAqCisgKiBUaGUgbGluZSBh Ym92ZSBkc3QgYW5kIHRoZSBjb2x1bW4gdG8gaXRzIGxlZnQgYXJlIGFsd2F5cyByZWFkYWJsZS4K KyAqLworc3RhdGljIHZvaWQgY29tcHV0ZV9zYWZlX3NzZF9pbnRlZ3JhbF9pbWFnZV9jKHVpbnQz Ml90ICpkc3QsIHB0cmRpZmZfdCBkc3RfbGluZXNpemVfMzIsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqczEsIHB0cmRpZmZfdCBs aW5lc2l6ZTEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgdWludDhfdCAqczIsIHB0cmRpZmZfdCBsaW5lc2l6ZTIsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHcsIGludCBoKQoreworICAgIGNvbnN0 IHVpbnQzMl90ICpkc3RfdG9wID0gZHN0IC0gZHN0X2xpbmVzaXplXzMyOworCisgICAgLyogU0lN RC1mcmllbmRseSBhc3N1bXB0aW9ucyBhbGxvd2VkIGhlcmUgKi8KKyAgICBhdl9hc3NlcnQyKCEo dyAmIDB4ZikgJiYgdyA+PSAxNiAmJiBoID49IDEpOworCisgICAgZm9yIChpbnQgeSA9IDA7IHkg PCBoOyB5KyspIHsKKyAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCB3OyB4ICs9IDQpIHsKKyAg ICAgICAgICAgIGNvbnN0IGludCBkMCA9IHMxW3ggICAgXSAtIHMyW3ggICAgXTsKKyAgICAgICAg ICAgIGNvbnN0IGludCBkMSA9IHMxW3ggKyAxXSAtIHMyW3ggKyAxXTsKKyAgICAgICAgICAgIGNv bnN0IGludCBkMiA9IHMxW3ggKyAyXSAtIHMyW3ggKyAyXTsKKyAgICAgICAgICAgIGNvbnN0IGlu dCBkMyA9IHMxW3ggKyAzXSAtIHMyW3ggKyAzXTsKKworICAgICAgICAgICAgZHN0W3ggICAgXSA9 IGRzdF90b3BbeCAgICBdIC0gZHN0X3RvcFt4IC0gMV0gKyBkMCpkMDsKKyAgICAgICAgICAgIGRz dFt4ICsgMV0gPSBkc3RfdG9wW3ggKyAxXSAtIGRzdF90b3BbeCAgICBdICsgZDEqZDE7CisgICAg ICAgICAgICBkc3RbeCArIDJdID0gZHN0X3RvcFt4ICsgMl0gLSBkc3RfdG9wW3ggKyAxXSArIGQy KmQyOworICAgICAgICAgICAgZHN0W3ggKyAzXSA9IGRzdF90b3BbeCArIDNdIC0gZHN0X3RvcFt4 ICsgMl0gKyBkMypkMzsKKworICAgICAgICAgICAgZHN0W3ggICAgXSArPSBkc3RbeCAtIDFdOwor ICAgICAgICAgICAgZHN0W3ggKyAxXSArPSBkc3RbeCAgICBdOworICAgICAgICAgICAgZHN0W3gg KyAyXSArPSBkc3RbeCArIDFdOworICAgICAgICAgICAgZHN0W3ggKyAzXSArPSBkc3RbeCArIDJd OworICAgICAgICB9CisgICAgICAgIHMxICArPSBsaW5lc2l6ZTE7CisgICAgICAgIHMyICArPSBs aW5lc2l6ZTI7CisgICAgICAgIGRzdCArPSBkc3RfbGluZXNpemVfMzI7CisgICAgICAgIGRzdF90 b3AgKz0gZHN0X2xpbmVzaXplXzMyOworICAgIH0KK30KKworc3RhdGljIHZvaWQgY29tcHV0ZV93 ZWlnaHRzX2xpbmVfYyhjb25zdCB1aW50MzJfdCAqY29uc3QgaWlhLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCAqY29uc3QgaWliLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCAqY29uc3QgaWlkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCAqY29uc3QgaWll LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpjb25z dCBzcmMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0ICp0b3RhbF93 ZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0ICpzdW0sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0ICpjb25zdCB3ZWln aHRfbHV0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWF4X21lYW5p bmdmdWxfZGlmZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHN0YXJ0 eCwgaW50IGVuZHgpCit7CisgICAgZm9yIChpbnQgeCA9IHN0YXJ0eDsgeCA8IGVuZHg7IHgrKykg eworICAgICAgICAvKgorICAgICAgICAgKiBNIGlzIGEgZGlzY3JldGUgbWFwIHdoZXJlIGV2ZXJ5 IGVudHJ5IGNvbnRhaW5zIHRoZSBzdW0gb2YgYWxsIHRoZSBlbnRyaWVzCisgICAgICAgICAqIGlu IHRoZSByZWN0YW5nbGUgZnJvbSB0aGUgdG9wLWxlZnQgb3JpZ2luIG9mIE0gdG8gaXRzIGNvb3Jk aW5hdGUuIEluIHRoZQorICAgICAgICAgKiBmb2xsb3dpbmcgc2NoZW1hLCAiaSIgY29udGFpbnMg dGhlIHN1bSBvZiB0aGUgd2hvbGUgbWFwOgorICAgICAgICAgKgorICAgICAgICAgKiBNID0gKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLSsKKyAgICAgICAgICogICAgIHwgICAgICAg ICAgfCAgICAgICAgICAgICAgICAgfCAgICB8CisgICAgICAgICAqICAgICB8ICAgICAgICAgIHwg ICAgICAgICAgICAgICAgIHwgICAgfAorICAgICAgICAgKiAgICAgfCAgICAgICAgIGF8ICAgICAg ICAgICAgICAgIGJ8ICAgY3wKKyAgICAgICAgICogICAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tKy0tLS0rCisgICAgICAgICAqICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAg IHwgICAgfAorICAgICAgICAgKiAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAg IHwKKyAgICAgICAgICogICAgIHwgICAgICAgICAgfCAgICAgICAgWCAgICAgICAgfCAgICB8Cisg ICAgICAgICAqICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgfAorICAgICAg ICAgKiAgICAgfCAgICAgICAgIGR8ICAgICAgICAgICAgICAgIGV8ICAgZnwKKyAgICAgICAgICog ICAgICstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tKy0tLS0rCisgICAgICAgICAqICAgICB8 ICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgfAorICAgICAgICAgKiAgICAgfCAgICAg ICAgIGd8ICAgICAgICAgICAgICAgIGh8ICAgaXwKKyAgICAgICAgICogICAgICstLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tKy0tLS0rCisgICAgICAgICAqCisgICAgICAgICAqIFRoZSBzdW0g b2YgdGhlIFggYm94IGNhbiBiZSBjYWxjdWxhdGVkIHdpdGg6CisgICAgICAgICAqICAgIFggPSBl LWQtYithCisgICAgICAgICAqCisgICAgICAgICAqIFNlZSBodHRwczovL2VuLndpa2lwZWRpYS5v cmcvd2lraS9TdW1tZWRfYXJlYV90YWJsZQorICAgICAgICAgKgorICAgICAgICAgKiBUaGUgY29t cHV0ZSpfc3NkIGZ1bmN0aW9ucyBjb21wdXRlIHRoZSBpbnRlZ3JhbCBpbWFnZSBNIHdoZXJlIGV2 ZXJ5IGVudHJ5CisgICAgICAgICAqIGNvbnRhaW5zIHRoZSBzdW0gb2YgdGhlIHNxdWFyZWQgZGlm ZmVyZW5jZSBvZiBldmVyeSBjb3JyZXNwb25kaW5nIHBpeGVscyBvZgorICAgICAgICAgKiB0d28g aW5wdXQgcGxhbmVzIG9mIHRoZSBzYW1lIHNpemUgYXMgTS4KKyAgICAgICAgICovCisgICAgICAg IGNvbnN0IHVpbnQzMl90IGEgPSBpaWFbeF07CisgICAgICAgIGNvbnN0IHVpbnQzMl90IGIgPSBp aWJbeF07CisgICAgICAgIGNvbnN0IHVpbnQzMl90IGQgPSBpaWRbeF07CisgICAgICAgIGNvbnN0 IHVpbnQzMl90IGUgPSBpaWVbeF07CisgICAgICAgIGNvbnN0IHVpbnQzMl90IHBhdGNoX2RpZmZf c3EgPSBGRk1JTihlIC0gZCAtIGIgKyBhLCBtYXhfbWVhbmluZ2Z1bF9kaWZmKTsKKyAgICAgICAg Y29uc3QgZmxvYXQgd2VpZ2h0ID0gd2VpZ2h0X2x1dFtwYXRjaF9kaWZmX3NxXTsgLy8gZXhwKC1w YXRjaF9kaWZmX3NxICogcy0+cGRpZmZfc2NhbGUpCisKKyAgICAgICAgdG90YWxfd2VpZ2h0W3hd ICs9IHdlaWdodDsKKyAgICAgICAgc3VtW3hdICs9IHdlaWdodCAqIHNyY1t4XTsKKyAgICB9Cit9 CisKK3N0YXRpYyBhdl91bnVzZWQgdm9pZCBmZl9ubG1lYW5zX2luaXQoTkxNZWFuc0RTUENvbnRl eHQgKmRzcCkKK3sKKyAgICBkc3AtPmNvbXB1dGVfc2FmZV9zc2RfaW50ZWdyYWxfaW1hZ2UgPSBj b21wdXRlX3NhZmVfc3NkX2ludGVncmFsX2ltYWdlX2M7CisgICAgZHNwLT5jb21wdXRlX3dlaWdo dHNfbGluZSA9IGNvbXB1dGVfd2VpZ2h0c19saW5lX2M7CisKKyAgICBpZiAoQVJDSF9BQVJDSDY0 KQorICAgICAgICBmZl9ubG1lYW5zX2luaXRfYWFyY2g2NChkc3ApOworCisgICAgaWYgKEFSQ0hf WDg2KQorICAgICAgICBmZl9ubG1lYW5zX2luaXRfeDg2KGRzcCk7Cit9CisKKyNlbmRpZiAvKiBB VkZJTFRFUl9OTE1FQU5TX0lOSVRfSCAqLwpkaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2thc20vdmZf bmxtZWFucy5jIGIvdGVzdHMvY2hlY2thc20vdmZfbmxtZWFucy5jCmluZGV4IDg3NDc0ZDY4MDMu LjBmMWY5ZmQ0MDMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2NoZWNrYXNtL3ZmX25sbWVhbnMuYworKysg Yi90ZXN0cy9jaGVja2FzbS92Zl9ubG1lYW5zLmMKQEAgLTE5LDcgKzE5LDcgQEAKICAqLwogCiAj aW5jbHVkZSAiY2hlY2thc20uaCIKLSNpbmNsdWRlICJsaWJhdmZpbHRlci92Zl9ubG1lYW5zLmgi CisjaW5jbHVkZSAibGliYXZmaWx0ZXIvdmZfbmxtZWFuc19pbml0LmgiCiAjaW5jbHVkZSAibGli YXZ1dGlsL2F2YXNzZXJ0LmgiCiAKICNkZWZpbmUgcmFuZG9taXplX2J1ZmZlcihidWYsIHNpemUp IGRvIHsgICAgXAotLSAKMi4zMi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1w ZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoK VG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1y ZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==