Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp416403pxb; Wed, 24 Feb 2021 05:50:43 -0800 (PST) X-Google-Smtp-Source: ABdhPJyBX0UvdMYBurpl/g7w4djnQeQpKJfdOqXB4/9TamhDC5k1rLICXoNwNr2XkfZ6r4QHeMKV X-Received: by 2002:a05:6402:1445:: with SMTP id d5mr3876014edx.174.1614174643168; Wed, 24 Feb 2021 05:50:43 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1614174643; cv=pass; d=google.com; s=arc-20160816; b=d2KlbhcCbupdBHQ0NEYdJl9GBTPNQdgOUMbtxHp/QWtZ4984/CQDgyZUJUHhphn08x YbEhQ8kTI1paCNRQ+C5tHS6VRRey5HB6HAklP/BU8WlUieOHpTOETqQi9e4dQYVMQwou 8TJIrw0tbK10T1yEJBcG8CVnCTQVl4/yw9g7fYKjO4dJiPd7+3ktffWX6Zz3UehjNIzT 1Zd8htN6nLGxMq+VQvgvAR0pRZLgFmrJz9KqKA5vVFflI23YVH17CqFVRH82WfuJu0BQ vrMHcrCMDFZRMnxXmndNtXW0HFp1xZ85dmY1h+xDpQodL2h71OQ61S5KOyPR0xR72Gev ERDA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:dkim-signature:ironport-sdr:dkim-signature; bh=JW24hZQP4cbxdc2a3Ybya8lbhjj1KhigLrt5Nzuhxzg=; b=evNAfEq+EfdQa4+Sqmzvd5ApvTxP/IKujA8kyxh9ik+h/nwOoywUB+TBEuT4qloCNE H+0glKrZC3sBMMZ9pbEorJjtc16pngwunRdsPWAVf1rgn5qWrMJldxEaYcy1DqrSR6/1 ACJ8NONGRfvzqP0tsHX1Xzj0YufbFMdYTKWYgweGyw122iaaMghL91vbUp7KFr16KPto Equ2PleMps8eW2y9zBHoWuPhFM9KRgS1/FlKQXIZcsA6o+FDgeXNw6PMqd++GPcdsU1R 7Mu0onx2C/X2TuK5wVyuHO7B7JB06l/GYzHJquh6p4UkhzFeMJAaL99oBJ2at4IALW0X Im9w== ARC-Authentication-Results: i=2; mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b=WK2A6g4N; dkim=pass header.i=@microchiptechnology.onmicrosoft.com header.s=selector2-microchiptechnology-onmicrosoft-com header.b=d2xDvRtT; arc=pass (i=1 spf=pass spfdomain=microchip.com dkim=pass dkdomain=microchip.com dmarc=pass fromdomain=microchip.com); spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r15si1258984edp.245.2021.02.24.05.50.19; Wed, 24 Feb 2021 05:50:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@microchip.com header.s=mchp header.b=WK2A6g4N; dkim=pass header.i=@microchiptechnology.onmicrosoft.com header.s=selector2-microchiptechnology-onmicrosoft-com header.b=d2xDvRtT; arc=pass (i=1 spf=pass spfdomain=microchip.com dkim=pass dkdomain=microchip.com dmarc=pass fromdomain=microchip.com); spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=microchip.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234952AbhBXNnU (ORCPT + 99 others); Wed, 24 Feb 2021 08:43:20 -0500 Received: from esa.microchip.iphmx.com ([68.232.154.123]:38580 "EHLO esa.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237425AbhBXNk2 (ORCPT ); Wed, 24 Feb 2021 08:40:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1614174026; x=1645710026; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=JW24hZQP4cbxdc2a3Ybya8lbhjj1KhigLrt5Nzuhxzg=; b=WK2A6g4Nhz0g3dGK6pzInN/2Zzg0QDsicjkJPxOYnlVsjSlhuXWj3ubO z19c0tsixqd8J+3PPQCdmFiE4bXQij9WFhjxvO7z8h7IYqAiMhn5CeC4Y SV2K6UILZFkxqTnZ5ArU8IqeMB9ZSoC14qhIOf6UPjX5LFE2/EIqRRGhN bB+KGQaKwxcQGh7snHaonp4SnrH6B0axL2H8wh39JBjrIyMza2wMPKb6N /61UvE3kB3RJXEnJ9irwEaiK54nEzR44x4h9FHoBo8WWy3CDWPkHJtnM7 Hw65s57YA0etqa9Erlv7/oaqRrMaT5WersK+lhaGTdltUxr3qGXray1R6 g==; IronPort-SDR: 8vuOxruciJGvPVmuANJUWSZPML/05wwsYY0EYKgwwcN+S66L+WuzY0aEoAg1+axRyDVchsYSwy dT8JIZg+gliNdByHWZPHBVu97Z/3BulMfRCeYkPN3TDN5RIhRtfv+zSutMVs//xvC+O2qAVKe0 FKT2Bfo4jXOs8yY+KAVz3ofqIyZYfDWZGij8LQUh8QldVka3SPsSQcvLDqcILhQCQZSY2HQRsR Q1/ZNlQbrpk+UbPZrxYgTnuEG63qmmlO9y+1NF2KCwP4fbtovH4ZwyCP/CeAvO+JZQy60QmQzU iCQ= X-IronPort-AV: E=Sophos;i="5.81,203,1610434800"; d="scan'208";a="45287913" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa6.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 24 Feb 2021 06:35:46 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Wed, 24 Feb 2021 06:35:45 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Wed, 24 Feb 2021 06:35:45 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Kx/rWnfFGuEVOJzpdO+Vm8yE2hxUbn2BVFmC0dGEaldIctiJe4/oahVtdP4M1VN+LpeVcR02XxLN+6HAVHHOgFXRoAe1gcjobrGMi9m2zEgl4pehnDf/2L6H26KpdI7bhe/1+98d5bgpf5lzq2fiKD4T5Yy1A559YUW8ciijS8kYkQgke4VnATBCbPxuRdNWn2KpmlMV0M8Exz8QaOcKVgSY9XJTd7q4Ivkzg6TpMXeNjngFZX6sH9QLpdA9vFEExBYVUxe72LOMCK67gfFNy8OFwKeghu6INBefgatdQPnDtZqagSvDgD1AyzILYv9zNrwNih3ujkEmVe3U+Ka91Q== 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-SenderADCheck; bh=JW24hZQP4cbxdc2a3Ybya8lbhjj1KhigLrt5Nzuhxzg=; b=SGr/Fniw0I5+aaRB0v8cUFg7G4ulNzmxM3MWDgR047sQ83BZKkb4OqNdAf3eDr0mZnFT5DlZ2VCsoda5SFwIb7UVWkIcdNxSBB6R1DucGQhiIEFqB0YTOxNtcvcyC65T+pfSlxONLW7ARyt4sCJd78kYWFaPAUVxNESxef46U3J4kbYqAAJof84P/WYHZJaYDbA3z5EZAwNCW0GpbfEY1aSzwUupgPNMQAVMRhgBv/5kEk0Sl5qbCnNyeT+dUHZkt4B5OR+IAYMyp3Pmj4rb/QqOayQfuPbIxRIwa3/iPuPkEf8bVl/nvDIM3RtYfvbbR/Uys1fpu0bQmGdfpgu23A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JW24hZQP4cbxdc2a3Ybya8lbhjj1KhigLrt5Nzuhxzg=; b=d2xDvRtTFSfFW1T13fHjaZMYLRIXkzSgmyNQ4jD3lhGxOe4F3ssvlJx9/z65nfRlOiVNrzNFgSch5UmlBjUp+kNvbLS/ZDorBGKLzQhgtdtTD782/JL5xiRybHPWbzT8zbLlifTq5gdB8DUe3lWhyUpyBhrEnr/MvmAeJjm8A0U= Received: from SJ0PR11MB4943.namprd11.prod.outlook.com (2603:10b6:a03:2ad::17) by BYAPR11MB3240.namprd11.prod.outlook.com (2603:10b6:a03:18::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3868.29; Wed, 24 Feb 2021 13:35:42 +0000 Received: from SJ0PR11MB4943.namprd11.prod.outlook.com ([fe80::6c3c:2ae0:c40b:6082]) by SJ0PR11MB4943.namprd11.prod.outlook.com ([fe80::6c3c:2ae0:c40b:6082%3]) with mapi id 15.20.3868.034; Wed, 24 Feb 2021 13:35:42 +0000 From: To: , CC: Subject: Re: [PATCH 4/4] wilc1000: Add support for enabling CRC Thread-Topic: [PATCH 4/4] wilc1000: Add support for enabling CRC Thread-Index: AQHXCnEwZSbR0AsbwkSoOjOCksEYjKpnTv8A Date: Wed, 24 Feb 2021 13:35:41 +0000 Message-ID: References: <20210224055135.1509200-1-davidm@egauge.net> <20210224055135.1509200-4-davidm@egauge.net> In-Reply-To: <20210224055135.1509200-4-davidm@egauge.net> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 authentication-results: egauge.net; dkim=none (message not signed) header.d=none;egauge.net; dmarc=none action=none header.from=microchip.com; x-originating-ip: [106.51.110.198] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a1553fdd-a7ff-4f21-5352-08d8d8c914bb x-ms-traffictypediagnostic: BYAPR11MB3240: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1122; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: f6puAljxo+LwAUMESW2Fu74fy0RKPUwkY2mAVouyH/GVSgLkVT2dRF/DNUzLDlTm6zaqZ6hLAJjdnfFYgdMFHhD6pawP5nqd7E86In1IffGwNNhvZNI40wzA0xuX3x247tkJceAaW15p/LdcRCfCqr2vmeLJEGkrPSdBMWsUC+PfmkI/ZeZlq+j/DRgFNpb52LJgJWPrlUO24HzHkeb9qg1usJ3sXYeJ+aWfX/rHMupOP11IWU5AZQegKWWBC6gtyrtQbFnNAc17ntXIHeG1KndhfojCSyLQtrFdH8zNwySqeeG2H0WB4cINwnb+kjkT1yhGSn7qYkpoI22QF8fawl3+IbKuvrGYqD1pqYkwzl5/NYRNVws2q5ODuP+H/G8F8CKx3998j/DoDc0e0LqTYR7HAmfiEVHEihd1w2Oz6KY1pIuspuYZXV6UwYGCrrWS1gm5QXO7klTyhDYExjsrLSgByO/sXvp2BXhMLDeGD93aqmnZumboki/e8VytMMq8rNNmZ5FBBP0bXSgxdxKjNIhy85dxnGtP3Hb44zBb6bM/MTnWNtZLrOu/AHGDrgG9nQDGYoY80A+0gR0SsxXU5s+IZAkLnccTcPjZgTfqhro= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB4943.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(346002)(396003)(366004)(376002)(39860400002)(136003)(6486002)(55236004)(6512007)(2906002)(186003)(316002)(107886003)(26005)(478600001)(8936002)(71200400001)(8676002)(86362001)(53546011)(4326008)(5660300002)(66446008)(30864003)(83380400001)(6506007)(36756003)(66476007)(76116006)(110136005)(91956017)(31696002)(66556008)(31686004)(64756008)(66946007)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?dW5WdTdMem0xNmlvSytCUmRKZElWN0doVjdCYWFsTmVxaFlUZjBRUXVDbjFu?= =?utf-8?B?a1h0NDUxK3Q0YzB1K3BIWjJsb21Qb0JON0pnL3pIaldrZUhrMjdWV2Y3UDhD?= =?utf-8?B?cDNObU5aaFltRExBdW9BUmxhaGZvRW9GRnVRK24wME96TnQyS2Z1VzVnWmVj?= =?utf-8?B?aEJSSU13U0VDMmR4UXB3cnhpMGpRelNORisyNElqWEMxbFFlcmdFcXM5TC8w?= =?utf-8?B?clhwa3UzdWtBQmRzTkJIWk5scmN5S3lsUHJxOEFBc3lrWVdxTSsyV21HUkZM?= =?utf-8?B?Tk91UHd5disyNkU5MTlZcTkrQTY1QmVGRFFHWEpuSm5SenRFVFNWR3ZDMGlR?= =?utf-8?B?NEFYdlIrNzFka2FLTHFVKy8wa29oSE1Ud3RUeHpEOWtUTm1tTHVtTUJHOS8x?= =?utf-8?B?d0xicXVOZGNzdFpZSzQwSzBwSTROVXhXQ1M5M2tFK1BIQUtBZDNjZW5CVmJI?= =?utf-8?B?Sk9STUl1Y2xsa0hqcFI4MXdGQjhaNGN6ZklnR0NLbDFjcFlYVnRLVSsrbldL?= =?utf-8?B?LzExeUt2alBZWThMUi8xK1JqbWp6QSthUGZzTnFNWVBEdzZrSVZmbi9JcmZj?= =?utf-8?B?SDgwZzZOdlVrc3JHTmM5T3BCdDhiMlR6dG93M09WUHF2TDhQL3J1bHo2bVQ4?= =?utf-8?B?VXVHRTc0b21Id2RMRmNLbWE3Sng3dXg0NmpvWWRqbG1VK3ZaL3JxOTREaHBF?= =?utf-8?B?eW1nMFlzQXh3MTRPZS82NjZCWk92MER1bFpaeDNHV0tsT1k2b1JCRXJlQnRu?= =?utf-8?B?RW9xb0htRE9xVWVNamU4R1JVMm5CN0o1ZjBNNUVSUDZyeDBlaDNuSXk5NVlJ?= =?utf-8?B?MDZoSlp2YzAwZ2ZRNUZRU1BhQjNBNTRVblZnaG9pSitCTkVRTUo3Rng4VG9I?= =?utf-8?B?NG1pR21PNjlnU3FiL0s5dlBpUVpCYUExVUNPU1JHdjlEeHFDc3dLK2xSeCtP?= =?utf-8?B?M1dtS3pPTy96K0ZHMGllMWRkWnBicXFkd0lpUmdvTXg5cCswRFYvTkFydzg2?= =?utf-8?B?ZmtuOUpBdkRXcGg2WmJOSjViMFd2WEZPQW8zZHpiNS9WelB3WXF2aW1QL0xC?= =?utf-8?B?NXVITHRRRDdROFE0UUFvTW5NVXhyL3M0T2NoY0NyajBTZjNLaFdLZEcwK1Vv?= =?utf-8?B?TGxEMWdod1Qxa3kvSkJka1IzZFQ1VlFmM1pWYlF4L2lHNVExblZCUGppV2pl?= =?utf-8?B?UmFBMFRUMUZRb3dlRGMrK3pTeU1GRFlnd09rNGYwY0VRLzRaWHlMaUovRWdD?= =?utf-8?B?TXArWjVzT09XbHNyekI3bnR3QkZURVozWnNQWHVFS1BqV1A4WWFQN0JTY0Rr?= =?utf-8?B?aCtXSExoQjJpMGt3Z1VFbm44aXluQUY5bEgvcmlXcnVrUGNuN0tQbkZ0NFJB?= =?utf-8?B?cFJCdVk5MnJWZ3ZHaXh5WThPM1ZqZGJaM2dKL0hrcVVQQllPckw5eWxtd2ZU?= =?utf-8?B?UEFhSTRhYnVFUnRWaExUZXBUaTZxb29KZC9YM05ZYThJYkhGZHNCd2FHVmNS?= =?utf-8?B?L1VzWTlrcHBzcHRva2FBNmFpN2dWNnBCaWxHR1RmVHIrTU5yTDMwK2x5QnNH?= =?utf-8?B?MENaWll6cEhIVmlkRy9Xck5ySStENVc4NXltRUttZnZQK3hNcDZ1OW5nWThU?= =?utf-8?B?MFJtTTJwbE8ySTQ0VEhUelV3R3ZERFJjK0FpelAzWGdzZzhGcFB3bUM2S1JY?= =?utf-8?B?T01QcXlqOFpXZzRGS3hiZEVIYW4xMjMvUElHenI0WWNPOE9ZeGM4V2R4dzlw?= =?utf-8?Q?wo/u4pxKGjEJlVuV8tHGWaOlBcUVnD0rLOG0TrV?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB4943.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a1553fdd-a7ff-4f21-5352-08d8d8c914bb X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Feb 2021 13:35:41.9268 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: MqWIACuwm/pIVSRDhkHJdvPCyn6fYobh+XAJsAMUc3ii7dkul367uF6YMBlbFDAdeHv9rS+9U8cn/k3U02CW/BNmleWBmJ0Almd39//6bmI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB3240 Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org DQoNCk9uIDI0LzAyLzIxIDExOjIyIGFtLCBEYXZpZCBNb3NiZXJnZXItVGFuZyB3cm90ZToNCj4g RVhURVJOQUwgRU1BSUw6IERvIG5vdCBjbGljayBsaW5rcyBvciBvcGVuIGF0dGFjaG1lbnRzIHVu bGVzcyB5b3Uga25vdyB0aGUgY29udGVudCBpcyBzYWZlDQo+IA0KPiBUaGUgZHJpdmVyIHNvIGZh ciBoYXMgYWx3YXlzIGRpc2FibGVkIENSQyBwcm90ZWN0aW9uLiAgVGhpcyBtZWFucyBhbnkNCj4g ZGF0YSBjb3JydXB0aW9uIHRoYXQgb2NjdXJyZWQgZHVyaW5nIHRoZSBTUEkgdHJhbnNmZXJzIGNv dWxkDQo+IHBvdGVudGlhbGx5IGdvIHVubm90aWNlZC4gIFRoaXMgcGF0Y2ggYWRkcyB0aGUgbWFj cm9zIEVOQUJMRV9DUkM3IGFuZA0KPiBFTkFCTEVfQ1JDMTYgdG8gYWxsb3cgY29tcGlsZS10aW1l IHNlbGVjdGlvbiBvZiB3aGV0aGVyIG9yIG5vdCBDUkM3DQo+IGFuZCBDUkMxNiwgcmVzcGVjdGl2 ZWx5LCBzaG91bGQgYmUgZW5hYmxlZC4NCj4gDQo+IFRoZSBkZWZhdWx0IGNvbmZpZ3VyYXRpb24g cmVtYWlucyB1bmNoYW5nZWQsIHdpdGggYm90aCBDUkM3IGFuZCBDUkMxNg0KPiBvZmYuDQo+IA0K PiBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBNb3NiZXJnZXItVGFuZyA8ZGF2aWRtQGVnYXVnZS5uZXQ+ DQo+IC0tLQ0KPiAgLi4uL25ldC93aXJlbGVzcy9taWNyb2NoaXAvd2lsYzEwMDAvS2NvbmZpZyAg IHwgICAxICsNCj4gIGRyaXZlcnMvbmV0L3dpcmVsZXNzL21pY3JvY2hpcC93aWxjMTAwMC9zcGku YyB8IDE1MSArKysrKysrKysrKysrLS0tLS0NCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTA4IGluc2Vy dGlvbnMoKyksIDQ0IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL21pY3JvY2hpcC93aWxjMTAwMC9LY29uZmlnIGIvZHJpdmVycy9uZXQvd2lyZWxl c3MvbWljcm9jaGlwL3dpbGMxMDAwL0tjb25maWcNCj4gaW5kZXggN2YxNWU0MjYwMmRkLi42MmNm Y2RjOWFhY2MgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21pY3JvY2hpcC93 aWxjMTAwMC9LY29uZmlnDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21pY3JvY2hpcC93 aWxjMTAwMC9LY29uZmlnDQo+IEBAIC0yNyw2ICsyNyw3IEBAIGNvbmZpZyBXSUxDMTAwMF9TUEkN Cj4gICAgICAgICBkZXBlbmRzIG9uIENGRzgwMjExICYmIElORVQgJiYgU1BJDQo+ICAgICAgICAg c2VsZWN0IFdJTEMxMDAwDQo+ICAgICAgICAgc2VsZWN0IENSQzcNCj4gKyAgICAgICBzZWxlY3Qg Q1JDX0lUVV9UDQo+ICAgICAgICAgaGVscA0KPiAgICAgICAgICAgVGhpcyBtb2R1bGUgYWRkcyBz dXBwb3J0IGZvciB0aGUgU1BJIGludGVyZmFjZSBvZiBhZGFwdGVycyB1c2luZw0KPiAgICAgICAg ICAgV0lMQzEwMDAgY2hpcHNldC4gVGhlIEF0bWVsIFdJTEMxMDAwIGhhcyBhIFNlcmlhbCBQZXJp cGhlcmFsDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9taWNyb2NoaXAvd2ls YzEwMDAvc3BpLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9taWNyb2NoaXAvd2lsYzEwMDAvc3Bp LmMNCj4gaW5kZXggYjBlMDk2YTAzYTI4Li5jNzQ1YTQ0MGQyNzMgMTAwNjQ0DQo+IC0tLSBhL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL21pY3JvY2hpcC93aWxjMTAwMC9zcGkuYw0KPiArKysgYi9kcml2 ZXJzL25ldC93aXJlbGVzcy9taWNyb2NoaXAvd2lsYzEwMDAvc3BpLmMNCj4gQEAgLTcsMTAgKzcs MjMgQEANCj4gICNpbmNsdWRlIDxsaW51eC9jbGsuaD4NCj4gICNpbmNsdWRlIDxsaW51eC9zcGkv c3BpLmg+DQo+ICAjaW5jbHVkZSA8bGludXgvY3JjNy5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L2Ny Yy1pdHUtdC5oPg0KPiANCj4gICNpbmNsdWRlICJuZXRkZXYuaCINCj4gICNpbmNsdWRlICJjZmc4 MDIxMS5oIg0KPiANCj4gKy8qKg0KPiArICogRXN0YWJsaXNoIHRoZSBkcml2ZXIncyBkZXNpcmVk IENSQyBjb25maWd1cmF0aW9uLiAgQ1JDNyBpcyB1c2VkIGZvcg0KPiArICogY29tbWFuZCB0cmFu c2ZlcnMgd2hpY2ggaGF2ZSBubyBvdGhlciBwcm90ZWN0aW9uIGFnYWluc3QgY29ycnVwdGlvbg0K PiArICogZHVyaW5nIHRoZSBTUEkgdHJhbnNmZXIuICBDb21tYW5kcyBhcmUgc2hvcnQgc28gQ1JD NyBpcyByZWxhdGl2ZWx5DQo+ICsgKiBjaGVhcC4gIENSQzE2IGlzIHVzZWQgZm9yIGRhdGEgdHJh bnNmZXJzLCBpbmNsdWRpbmcgbmV0d29yayBwYWNrZXQNCj4gKyAqIHRyYW5zZmVycy4gIFNpbmNl IHRob3NlIHRyYW5zZmVycyBjYW4gYmUgbGFyZ2UsIENSQzE2IGlzIHJlbGF0aXZlbHkNCj4gKyAq IGV4cGVuc2l2ZS4gIENSQzE2IGlzIGFsc28gb2Z0ZW4gcmVkdW5kYW50IGFzIG5ldHdvcmsgcGFj a2V0cw0KPiArICogdHlwaWNhbGx5IGFyZSBwcm90ZWN0ZWQgYnkgdGhlaXIgb3duLCBoaWdoZXIt bGV2ZWwgY2hlY2tzdW0uDQo+ICsgKi8NCj4gKyNkZWZpbmUgRU5BQkxFX0NSQzcgICAgMCAgICAg ICAvKiBzZXQgdG8gMSB0byBwcm90ZWN0IFNQSSBjb21tYW5kcyB3aXRoIENSQzcgKi8NCj4gKyNk ZWZpbmUgRU5BQkxFX0NSQzE2ICAgMCAgICAgICAvKiBzZXQgdG8gMSB0byBwcm90ZWN0IFNQSSBk YXRhIHdpdGggQ1JDMTYgKi8NCj4gKw0KPiAgLyoNCj4gICAqIEZvciBDTURfU0lOR0xFX1JFQUQg YW5kIENNRF9JTlRFUk5BTF9SRUFELCBXSUxDIG1heSBpbnNlcnQgb25lIG9yDQo+ICAgKiBtb3Jl IHplcm8gYnl0ZXMgYmV0d2VlbiB0aGUgY29tbWFuZCByZXNwb25zZSBhbmQgdGhlIERBVEEgU3Rh cnQgdGFnDQo+IEBAIC0yMiw3ICszNSw4IEBADQo+ICAjZGVmaW5lIFdJTENfU1BJX1JTUF9IRFJf RVhUUkFfREFUQSAgICA4DQo+IA0KPiAgc3RydWN0IHdpbGNfc3BpIHsNCj4gLSAgICAgICBpbnQg Y3JjX29mZjsNCj4gKyAgICAgICBib29sIGNyYzdfZW5hYmxlZDsNCj4gKyAgICAgICBib29sIGNy YzE2X2VuYWJsZWQ7DQo+ICB9Ow0KPiANCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgd2lsY19oaWZf ZnVuYyB3aWxjX2hpZl9zcGk7DQo+IEBAIC0xMjMsNiArMTM3LDEwIEBAIHN0YXRpYyBpbnQgd2ls Y19idXNfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkNCj4gICAgICAgICBpZiAoIXNwaV9w cml2KQ0KPiAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+IA0KPiArICAgICAgIC8q IFdJTEMgY2hpcCByZXNldHMgdG8gYm90aCBDUkNzIGVuYWJsZWQ6ICovDQo+ICsgICAgICAgc3Bp X3ByaXYtPmNyYzdfZW5hYmxlZCA9IHRydWU7DQo+ICsgICAgICAgc3BpX3ByaXYtPmNyYzE2X2Vu YWJsZWQgPSB0cnVlOw0KPiArDQo+ICAgICAgICAgcmV0ID0gd2lsY19jZmc4MDIxMV9pbml0KCZ3 aWxjLCAmc3BpLT5kZXYsIFdJTENfSElGX1NQSSwgJndpbGNfaGlmX3NwaSk7DQo+ICAgICAgICAg aWYgKHJldCkgew0KPiAgICAgICAgICAgICAgICAga2ZyZWUoc3BpX3ByaXYpOw0KPiBAQCAtMzAz LDcgKzMyMSw4IEBAIHN0YXRpYyBpbnQgc3BpX2RhdGFfd3JpdGUoc3RydWN0IHdpbGMgKndpbGMs IHU4ICpiLCB1MzIgc3opDQo+ICAgICAgICAgc3RydWN0IHdpbGNfc3BpICpzcGlfcHJpdiA9IHdp bGMtPmJ1c19kYXRhOw0KPiAgICAgICAgIGludCBpeCwgbmJ5dGVzOw0KPiAgICAgICAgIGludCBy ZXN1bHQgPSAwOw0KPiAtICAgICAgIHU4IGNtZCwgb3JkZXIsIGNyY1syXSA9IHswfTsNCj4gKyAg ICAgICB1OCBjbWQsIG9yZGVyLCBjcmNbMl07DQo+ICsgICAgICAgdTE2IGNyY19jYWxjOw0KPiAN Cj4gICAgICAgICAvKg0KPiAgICAgICAgICAqIERhdGENCj4gQEAgLTM0NSw5ICszNjQsMTIgQEAg c3RhdGljIGludCBzcGlfZGF0YV93cml0ZShzdHJ1Y3Qgd2lsYyAqd2lsYywgdTggKmIsIHUzMiBz eikNCj4gICAgICAgICAgICAgICAgIH0NCj4gDQo+ICAgICAgICAgICAgICAgICAvKg0KPiAtICAg ICAgICAgICAgICAgICogV3JpdGUgQ3JjDQo+ICsgICAgICAgICAgICAgICAgKiBXcml0ZSBDUkMN Cj4gICAgICAgICAgICAgICAgICAqLw0KPiAtICAgICAgICAgICAgICAgaWYgKCFzcGlfcHJpdi0+ Y3JjX29mZikgew0KPiArICAgICAgICAgICAgICAgaWYgKHNwaV9wcml2LT5jcmMxNl9lbmFibGVk KSB7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGNyY19jYWxjID0gY3JjX2l0dV90KDB4ZmZm ZiwgJmJbaXhdLCBuYnl0ZXMpOw0KPiArICAgICAgICAgICAgICAgICAgICAgICBjcmNbMF0gPSBj cmNfY2FsYyA+PiA4Ow0KPiArICAgICAgICAgICAgICAgICAgICAgICBjcmNbMV0gPSBjcmNfY2Fs YzsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHdpbGNfc3BpX3R4KHdpbGMsIGNyYywg MikpIHsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZfZXJyKCZzcGktPmRl diwgIkZhaWxlZCBkYXRhIGJsb2NrIGNyYyB3cml0ZSwgYnVzIGVycm9yLi4uXG4iKTsNCj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAtRUlOVkFMOw0KPiBAQCAtMzgx LDExICs0MDMsMTEgQEAgc3RhdGljIGludCB3aWxjX3NwaV9zaW5nbGVfcmVhZChzdHJ1Y3Qgd2ls YyAqd2lsYywgdTggY21kLCB1MzIgYWRyLCB2b2lkICpiLA0KPiAgICAgICAgIHN0cnVjdCBzcGlf ZGV2aWNlICpzcGkgPSB0b19zcGlfZGV2aWNlKHdpbGMtPmRldik7DQo+ICAgICAgICAgc3RydWN0 IHdpbGNfc3BpICpzcGlfcHJpdiA9IHdpbGMtPmJ1c19kYXRhOw0KPiAgICAgICAgIHU4IHdiWzMy XSwgcmJbMzJdOw0KPiAtICAgICAgIHU4IGNyY1syXTsNCj4gICAgICAgICBpbnQgY21kX2xlbiwg cmVzcF9sZW4sIGk7DQo+ICsgICAgICAgdTE2IGNyY19jYWxjLCBjcmNfcmVjdjsNCj4gICAgICAg ICBzdHJ1Y3Qgd2lsY19zcGlfY21kICpjOw0KPiAtICAgICAgIHN0cnVjdCB3aWxjX3NwaV9yZWFk X3JzcF9kYXRhICpyX2RhdGE7DQo+ICAgICAgICAgc3RydWN0IHdpbGNfc3BpX3JzcF9kYXRhICpy Ow0KPiArICAgICAgIHN0cnVjdCB3aWxjX3NwaV9yZWFkX3JzcF9kYXRhICpyX2RhdGE7DQo+IA0K PiAgICAgICAgIG1lbXNldCh3YiwgMHgwLCBzaXplb2Yod2IpKTsNCj4gICAgICAgICBtZW1zZXQo cmIsIDB4MCwgc2l6ZW9mKHJiKSk7DQo+IEBAIC00MDksNyArNDMxLDcgQEAgc3RhdGljIGludCB3 aWxjX3NwaV9zaW5nbGVfcmVhZChzdHJ1Y3Qgd2lsYyAqd2lsYywgdTggY21kLCB1MzIgYWRyLCB2 b2lkICpiLA0KPiAgICAgICAgIGNtZF9sZW4gPSBvZmZzZXRvZihzdHJ1Y3Qgd2lsY19zcGlfY21k LCB1LnNpbXBsZV9jbWQuY3JjKTsNCj4gICAgICAgICByZXNwX2xlbiA9IHNpemVvZigqcikgKyBz aXplb2YoKnJfZGF0YSkgKyBXSUxDX1NQSV9SU1BfSERSX0VYVFJBX0RBVEE7DQo+IA0KPiAtICAg ICAgIGlmICghc3BpX3ByaXYtPmNyY19vZmYpIHsNCj4gKyAgICAgICBpZiAoc3BpX3ByaXYtPmNy YzdfZW5hYmxlZCkgew0KPiAgICAgICAgICAgICAgICAgYy0+dS5zaW1wbGVfY21kLmNyY1swXSA9 IHdpbGNfZ2V0X2NyYzcod2IsIGNtZF9sZW4pOw0KPiAgICAgICAgICAgICAgICAgY21kX2xlbiAr PSAxOw0KPiAgICAgICAgICAgICAgICAgcmVzcF9sZW4gKz0gMjsNCj4gQEAgLTQ1NSw4ICs0Nzcs MTYgQEAgc3RhdGljIGludCB3aWxjX3NwaV9zaW5nbGVfcmVhZChzdHJ1Y3Qgd2lsYyAqd2lsYywg dTggY21kLCB1MzIgYWRyLCB2b2lkICpiLA0KPiAgICAgICAgIGlmIChiKQ0KPiAgICAgICAgICAg ICAgICAgbWVtY3B5KGIsIHJfZGF0YS0+ZGF0YSwgNCk7DQo+IA0KPiAtICAgICAgIGlmICghc3Bp X3ByaXYtPmNyY19vZmYpDQo+IC0gICAgICAgICAgICAgICBtZW1jcHkoY3JjLCByX2RhdGEtPmNy YywgMik7DQo+ICsgICAgICAgaWYgKCFjbG9ja2xlc3MgJiYgc3BpX3ByaXYtPmNyYzE2X2VuYWJs ZWQpIHsNCj4gKyAgICAgICAgICAgICAgIGNyY19yZWN2ID0gKHJfZGF0YS0+Y3JjWzBdIDw8IDgp IHwgcl9kYXRhLT5jcmNbMV07DQo+ICsgICAgICAgICAgICAgICBjcmNfY2FsYyA9IGNyY19pdHVf dCgweGZmZmYsIHJfZGF0YS0+ZGF0YSwgNCk7DQo+ICsgICAgICAgICAgICAgICBpZiAoY3JjX3Jl Y3YgIT0gY3JjX2NhbGMpIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgZGV2X2Vycigmc3Bp LT5kZXYsICIlczogYmFkIENSQyAweCUwNHggIg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICIoY2FsY3VsYXRlZCAweCUwNHgpXG4iLCBfX2Z1bmNfXywNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjcmNfcmVjdiwgY3JjX2NhbGMpOw0KPiArICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gKyAgICAgICAgICAgICAgIH0NCj4gKyAgICAg ICB9DQo+IA0KPiAgICAgICAgIHJldHVybiAwOw0KPiAgfQ0KPiBAQCAtNDgzLDcgKzUxMyw3IEBA IHN0YXRpYyBpbnQgd2lsY19zcGlfd3JpdGVfY21kKHN0cnVjdCB3aWxjICp3aWxjLCB1OCBjbWQs IHUzMiBhZHIsIHUzMiBkYXRhLA0KPiAgICAgICAgICAgICAgICAgYy0+dS5pbnRlcm5hbF93X2Nt ZC5hZGRyWzFdID0gYWRyOw0KPiAgICAgICAgICAgICAgICAgYy0+dS5pbnRlcm5hbF93X2NtZC5k YXRhID0gY3B1X3RvX2JlMzIoZGF0YSk7DQo+ICAgICAgICAgICAgICAgICBjbWRfbGVuID0gb2Zm c2V0b2Yoc3RydWN0IHdpbGNfc3BpX2NtZCwgdS5pbnRlcm5hbF93X2NtZC5jcmMpOw0KPiAtICAg ICAgICAgICAgICAgaWYgKCFzcGlfcHJpdi0+Y3JjX29mZikNCj4gKyAgICAgICAgICAgICAgIGlm IChzcGlfcHJpdi0+Y3JjN19lbmFibGVkKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICBjLT51 LmludGVybmFsX3dfY21kLmNyY1swXSA9IHdpbGNfZ2V0X2NyYzcod2IsIGNtZF9sZW4pOw0KPiAg ICAgICAgIH0gZWxzZSBpZiAoY21kID09IENNRF9TSU5HTEVfV1JJVEUpIHsNCj4gICAgICAgICAg ICAgICAgIGMtPnUud19jbWQuYWRkclswXSA9IGFkciA+PiAxNjsNCj4gQEAgLTQ5MSwxNCArNTIx LDE0IEBAIHN0YXRpYyBpbnQgd2lsY19zcGlfd3JpdGVfY21kKHN0cnVjdCB3aWxjICp3aWxjLCB1 OCBjbWQsIHUzMiBhZHIsIHUzMiBkYXRhLA0KPiAgICAgICAgICAgICAgICAgYy0+dS53X2NtZC5h ZGRyWzJdID0gYWRyOw0KPiAgICAgICAgICAgICAgICAgYy0+dS53X2NtZC5kYXRhID0gY3B1X3Rv X2JlMzIoZGF0YSk7DQo+ICAgICAgICAgICAgICAgICBjbWRfbGVuID0gb2Zmc2V0b2Yoc3RydWN0 IHdpbGNfc3BpX2NtZCwgdS53X2NtZC5jcmMpOw0KPiAtICAgICAgICAgICAgICAgaWYgKCFzcGlf cHJpdi0+Y3JjX29mZikNCj4gKyAgICAgICAgICAgICAgIGlmIChzcGlfcHJpdi0+Y3JjN19lbmFi bGVkKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICBjLT51LndfY21kLmNyY1swXSA9IHdpbGNf Z2V0X2NyYzcod2IsIGNtZF9sZW4pOw0KPiAgICAgICAgIH0gZWxzZSB7DQo+ICAgICAgICAgICAg ICAgICBkZXZfZXJyKCZzcGktPmRldiwgIndyaXRlIGNtZCBbJXhdIG5vdCBzdXBwb3J0ZWRcbiIs IGNtZCk7DQo+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gICAgICAgICB9DQo+ IA0KPiAtICAgICAgIGlmICghc3BpX3ByaXYtPmNyY19vZmYpDQo+ICsgICAgICAgaWYgKHNwaV9w cml2LT5jcmM3X2VuYWJsZWQpDQo+ICAgICAgICAgICAgICAgICBjbWRfbGVuICs9IDE7DQo+IA0K PiAgICAgICAgIHJlc3BfbGVuID0gc2l6ZW9mKCpyKTsNCj4gQEAgLTUzNiw2ICs1NjYsNyBAQCBz dGF0aWMgaW50IHdpbGNfc3BpX2RtYV9ydyhzdHJ1Y3Qgd2lsYyAqd2lsYywgdTggY21kLCB1MzIg YWRyLCB1OCAqYiwgdTMyIHN6KQ0KPiAgew0KPiAgICAgICAgIHN0cnVjdCBzcGlfZGV2aWNlICpz cGkgPSB0b19zcGlfZGV2aWNlKHdpbGMtPmRldik7DQo+ICAgICAgICAgc3RydWN0IHdpbGNfc3Bp ICpzcGlfcHJpdiA9IHdpbGMtPmJ1c19kYXRhOw0KPiArICAgICAgIHUxNiBjcmNfcmVjdiwgY3Jj X2NhbGM7DQo+ICAgICAgICAgdTggd2JbMzJdLCByYlszMl07DQo+ICAgICAgICAgaW50IGNtZF9s ZW4sIHJlc3BfbGVuOw0KPiAgICAgICAgIGludCByZXRyeSwgaXggPSAwOw0KPiBAQCAtNTU0LDcg KzU4NSw3IEBAIHN0YXRpYyBpbnQgd2lsY19zcGlfZG1hX3J3KHN0cnVjdCB3aWxjICp3aWxjLCB1 OCBjbWQsIHUzMiBhZHIsIHU4ICpiLCB1MzIgc3opDQo+ICAgICAgICAgICAgICAgICBjLT51LmRt YV9jbWQuc2l6ZVswXSA9IHN6ID4+IDg7DQo+ICAgICAgICAgICAgICAgICBjLT51LmRtYV9jbWQu c2l6ZVsxXSA9IHN6Ow0KPiAgICAgICAgICAgICAgICAgY21kX2xlbiA9IG9mZnNldG9mKHN0cnVj dCB3aWxjX3NwaV9jbWQsIHUuZG1hX2NtZC5jcmMpOw0KPiAtICAgICAgICAgICAgICAgaWYgKCFz cGlfcHJpdi0+Y3JjX29mZikNCj4gKyAgICAgICAgICAgICAgIGlmIChzcGlfcHJpdi0+Y3JjN19l bmFibGVkKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICBjLT51LmRtYV9jbWQuY3JjWzBdID0g d2lsY19nZXRfY3JjNyh3YiwgY21kX2xlbik7DQo+ICAgICAgICAgfSBlbHNlIGlmIChjbWQgPT0g Q01EX0RNQV9FWFRfV1JJVEUgfHwgY21kID09IENNRF9ETUFfRVhUX1JFQUQpIHsNCj4gICAgICAg ICAgICAgICAgIGMtPnUuZG1hX2NtZF9leHQuYWRkclswXSA9IGFkciA+PiAxNjsNCj4gQEAgLTU2 NCwxNCArNTk1LDE0IEBAIHN0YXRpYyBpbnQgd2lsY19zcGlfZG1hX3J3KHN0cnVjdCB3aWxjICp3 aWxjLCB1OCBjbWQsIHUzMiBhZHIsIHU4ICpiLCB1MzIgc3opDQo+ICAgICAgICAgICAgICAgICBj LT51LmRtYV9jbWRfZXh0LnNpemVbMV0gPSBzeiA+PiA4Ow0KPiAgICAgICAgICAgICAgICAgYy0+ dS5kbWFfY21kX2V4dC5zaXplWzJdID0gc3o7DQo+ICAgICAgICAgICAgICAgICBjbWRfbGVuID0g b2Zmc2V0b2Yoc3RydWN0IHdpbGNfc3BpX2NtZCwgdS5kbWFfY21kX2V4dC5jcmMpOw0KPiAtICAg ICAgICAgICAgICAgaWYgKCFzcGlfcHJpdi0+Y3JjX29mZikNCj4gKyAgICAgICAgICAgICAgIGlm IChzcGlfcHJpdi0+Y3JjN19lbmFibGVkKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICBjLT51 LmRtYV9jbWRfZXh0LmNyY1swXSA9IHdpbGNfZ2V0X2NyYzcod2IsIGNtZF9sZW4pOw0KPiAgICAg ICAgIH0gZWxzZSB7DQo+ICAgICAgICAgICAgICAgICBkZXZfZXJyKCZzcGktPmRldiwgImRtYSBy ZWFkIHdyaXRlIGNtZCBbJXhdIG5vdCBzdXBwb3J0ZWRcbiIsDQo+ICAgICAgICAgICAgICAgICAg ICAgICAgIGNtZCk7DQo+ICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gICAgICAg ICB9DQo+IC0gICAgICAgaWYgKCFzcGlfcHJpdi0+Y3JjX29mZikNCj4gKyAgICAgICBpZiAoc3Bp X3ByaXYtPmNyYzdfZW5hYmxlZCkNCj4gICAgICAgICAgICAgICAgIGNtZF9sZW4gKz0gMTsNCj4g DQo+ICAgICAgICAgcmVzcF9sZW4gPSBzaXplb2YoKnIpOw0KPiBAQCAtNjM3LDEyICs2NjgsMzUg QEAgc3RhdGljIGludCB3aWxjX3NwaV9kbWFfcncoc3RydWN0IHdpbGMgKndpbGMsIHU4IGNtZCwg dTMyIGFkciwgdTggKmIsIHUzMiBzeikNCj4gICAgICAgICAgICAgICAgIH0NCj4gDQo+ICAgICAg ICAgICAgICAgICAvKg0KPiAtICAgICAgICAgICAgICAgICogUmVhZCBDcmMNCj4gKyAgICAgICAg ICAgICAgICAqIFJlYWQgQ1JDDQo+ICAgICAgICAgICAgICAgICAgKi8NCj4gLSAgICAgICAgICAg ICAgIGlmICghc3BpX3ByaXYtPmNyY19vZmYgJiYgd2lsY19zcGlfcngod2lsYywgY3JjLCAyKSkg ew0KPiAtICAgICAgICAgICAgICAgICAgICAgICBkZXZfZXJyKCZzcGktPmRldiwNCj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIGJsb2NrIGNyYyByZWFkLCBidXMgZXJy XG4iKTsNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ICsgICAg ICAgICAgICAgICBpZiAoc3BpX3ByaXYtPmNyYzE2X2VuYWJsZWQpIHsNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgaWYgKHdpbGNfc3BpX3J4KHdpbGMsIGNyYywgMikpIHsNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkZXZfZXJyKCZzcGktPmRldiwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgYmxvY2sgY3JjIHJlYWQsIGJ1cyBl cnJcbiIpOw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFM Ow0KPiArICAgICAgICAgICAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICAgICAgICAgICAg IGNyY19yZWN2ID0gKGNyY1swXSA8PCA4KSB8IGNyY1sxXTsNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgY3JjX2NhbGMgPSBjcmNfaXR1X3QoMHhmZmZmLCAmYltpeF0sIG5ieXRlcyk7DQo+ICsg ICAgICAgICAgICAgICAgICAgICAgIGlmIChjcmNfcmVjdiAhPSBjcmNfY2FsYykgew0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9lcnIoJnNwaS0+ZGV2LCAiJXM6IGJhZCBD UkMgMHglMDR4ICINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIo Y2FsY3VsYXRlZCAweCUwNHgpXG4iLCBfX2Z1bmNfXywNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNyY19yZWN2LCBjcmNfY2FsYyk7DQoNCk9uZSBtb3JlIG9ic2Vy dmF0aW9uLg0KSSBhbSBub3QgY2xlYXIgaWYgdGhlIGJlbG93IGJsb2NrIGlzIHJlYWxseSBuZWVk ZWQuIEhhdmUgeW91IGZhY2VkIGFueQ0KaXNzdWUgaGVyZSBhbmQgZGlkIHRoZSBiZWxvdyBsb2dp YyBvZiBza2lwcGluZyBkYXRhIGhlbHBlZCB0byBjb21lIG91dA0Kb2YgaXQuIEFsc28gY2hlY2tp bmcgdGhlIGxpbWl0IG9mIDE2Mzg0KDIqOEtCKSBieXRlIGxvb2tzIG9kZCB3aGVuIHRoZQ0KbWF4 IGxpbWl0IGZvciBkYXRhIHBhY2tldCBpcyBhcm91bmQgOEtCLiBBbSBJIG1pc3Npbmcgc29tZXRo aW5nIGhlcmUuDQoNCj4gKw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGJ5dGU7DQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaTsNCj4gKw0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IDE2Mzg0OyAr K2kpIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ynl0ZSA9IDA7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHdpbGNfc3BpX3J4KHdpbGMsICZieXRlLCAxKTsNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFieXRlKQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0NCg0KDQoNCg0KPiArDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gICAg ICAgICAgICAgICAgIH0NCj4gDQo+ICAgICAgICAgICAgICAgICBpeCArPSBuYnl0ZXM7DQo+IEBA IC04NzEsNDMgKzkyNSw1MiBAQCBzdGF0aWMgaW50IHdpbGNfc3BpX2luaXQoc3RydWN0IHdpbGMg KndpbGMsIGJvb2wgcmVzdW1lKQ0KPiAgICAgICAgIHJldCA9IHNwaV9pbnRlcm5hbF9yZWFkKHdp bGMsIFdJTENfU1BJX1BST1RPQ09MX09GRlNFVCwgJnJlZyk7DQo+ICAgICAgICAgaWYgKHJldCkg ew0KPiAgICAgICAgICAgICAgICAgLyoNCj4gLSAgICAgICAgICAgICAgICAqIFJlYWQgZmFpbGVk LiBUcnkgd2l0aCBDUkMgb2ZmLiBUaGlzIG1pZ2h0IGhhcHBlbiB3aGVuIG1vZHVsZQ0KPiAtICAg ICAgICAgICAgICAgICogaXMgcmVtb3ZlZCBidXQgY2hpcCBpc24ndCByZXNldA0KPiArICAgICAg ICAgICAgICAgICogUmVhZCBmYWlsZWQuIFRyeSB3aXRoIENSQzcgb2ZmLiBUaGlzIG1pZ2h0IGhh cHBlbg0KPiArICAgICAgICAgICAgICAgICogd2hlbiBtb2R1bGUgaXMgcmVtb3ZlZCBidXQgY2hp cCBpc24ndCByZXNldC4NCj4gICAgICAgICAgICAgICAgICAqLw0KPiAtICAgICAgICAgICAgICAg c3BpX3ByaXYtPmNyY19vZmYgPSAxOw0KPiArICAgICAgICAgICAgICAgc3BpX3ByaXYtPmNyYzdf ZW5hYmxlZCA9IGZhbHNlOw0KPiAgICAgICAgICAgICAgICAgZGV2X2Vycigmc3BpLT5kZXYsDQo+ IC0gICAgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgcmVhZCB3aXRoIENSQyBvbiwgcmV0cnlp bmcgd2l0aCBDUkMgb2ZmXG4iKTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCBy ZWFkIHdpdGggQ1JDNyBvbiwgcmV0cnlpbmcgd2l0aCBDUkM3IG9mZlxuIik7DQo+ICAgICAgICAg ICAgICAgICByZXQgPSBzcGlfaW50ZXJuYWxfcmVhZCh3aWxjLCBXSUxDX1NQSV9QUk9UT0NPTF9P RkZTRVQsICZyZWcpOw0KPiAgICAgICAgICAgICAgICAgaWYgKHJldCkgew0KPiAgICAgICAgICAg ICAgICAgICAgICAgICAvKg0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgKiBSZWFkIGZhaWxl ZCB3aXRoIGJvdGggQ1JDIG9uIGFuZCBvZmYsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAq IFJlYWQgZmFpbGVkIHdpdGggYm90aCBDUkM3IG9uIGFuZCBvZmYsDQo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAqIHNvbWV0aGluZyB3ZW50IGJhZA0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAgKi8NCj4gICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2Vycigmc3BpLT5kZXYsICJGYWls ZWQgaW50ZXJuYWwgcmVhZCBwcm90b2NvbFxuIik7DQo+ICAgICAgICAgICAgICAgICAgICAgICAg IHJldHVybiByZXQ7DQo+ICAgICAgICAgICAgICAgICB9DQo+ICAgICAgICAgfQ0KPiAtICAgICAg IGlmIChzcGlfcHJpdi0+Y3JjX29mZiA9PSAwKSB7DQo+IC0gICAgICAgICAgICAgICAvKiBkaXNh YmxlIGNyYyBjaGVja2luZzogKi8NCj4gLSAgICAgICAgICAgICAgIHJlZyAmPSB+KFBST1RPQ09M X1JFR19DUkM3X01BU0sgfCBQUk9UT0NPTF9SRUdfQ1JDMTZfTUFTSyk7DQo+IC0NCj4gLSAgICAg ICAgICAgICAgIC8qIHNldCB0aGUgZGF0YSBwYWNrZXQgc2l6ZTogKi8NCj4gLSAgICAgICAgICAg ICAgIEJVSUxEX0JVR19PTihEQVRBX1BLVF9MT0dfU1ogPCBEQVRBX1BLVF9MT0dfU1pfTUlODQo+ IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgREFUQV9QS1RfTE9HX1NaID4gREFUQV9Q S1RfTE9HX1NaX01BWCk7DQo+IC0gICAgICAgICAgICAgICByZWcgJj0gflBST1RPQ09MX1JFR19Q S1RfU1pfTUFTSzsNCj4gLSAgICAgICAgICAgICAgIHJlZyB8PSBGSUVMRF9QUkVQKFBST1RPQ09M X1JFR19QS1RfU1pfTUFTSywNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERB VEFfUEtUX0xPR19TWiAtIERBVEFfUEtUX0xPR19TWl9NSU4pOw0KPiAtDQo+IC0gICAgICAgICAg ICAgICByZXQgPSBzcGlfaW50ZXJuYWxfd3JpdGUod2lsYywgV0lMQ19TUElfUFJPVE9DT0xfT0ZG U0VULCByZWcpOw0KPiAtICAgICAgICAgICAgICAgaWYgKHJldCkgew0KPiAtICAgICAgICAgICAg ICAgICAgICAgICBkZXZfZXJyKCZzcGktPmRldiwNCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiW3dpbGMgc3BpICVkXTogRmFpbGVkIGludGVybmFsIHdyaXRlIHJlZ1xuIiwNCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0xJTkVfXyk7DQo+IC0gICAgICAgICAg ICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+IC0gICAgICAgICAgICAgICB9DQo+IC0gICAgICAg ICAgICAgICBzcGlfcHJpdi0+Y3JjX29mZiA9IDE7DQo+ICsNCj4gKyAgICAgICAvKiBzZXQgdXAg dGhlIGRlc2lyZWQgQ1JDIGNvbmZpZ3VyYXRpb246ICovDQo+ICsgICAgICAgcmVnICY9IH4oUFJP VE9DT0xfUkVHX0NSQzdfTUFTSyB8IFBST1RPQ09MX1JFR19DUkMxNl9NQVNLKTsNCj4gKyNpZiBF TkFCTEVfQ1JDNw0KPiArICAgICAgIHJlZyB8PSBQUk9UT0NPTF9SRUdfQ1JDN19NQVNLOw0KPiAr I2VuZGlmDQo+ICsjaWYgRU5BQkxFX0NSQzE2DQo+ICsgICAgICAgcmVnIHw9IFBST1RPQ09MX1JF R19DUkMxNl9NQVNLOw0KPiArI2VuZGlmDQo+ICsNCj4gKyAgICAgICAvKiBzZXQgdXAgdGhlIGRh dGEgcGFja2V0IHNpemU6ICovDQo+ICsgICAgICAgQlVJTERfQlVHX09OKERBVEFfUEtUX0xPR19T WiA8IERBVEFfUEtUX0xPR19TWl9NSU4NCj4gKyAgICAgICAgICAgICAgICAgICAgfHwgREFUQV9Q S1RfTE9HX1NaID4gREFUQV9QS1RfTE9HX1NaX01BWCk7DQo+ICsgICAgICAgcmVnICY9IH5QUk9U T0NPTF9SRUdfUEtUX1NaX01BU0s7DQo+ICsgICAgICAgcmVnIHw9IEZJRUxEX1BSRVAoUFJPVE9D T0xfUkVHX1BLVF9TWl9NQVNLLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIERBVEFfUEtU X0xPR19TWiAtIERBVEFfUEtUX0xPR19TWl9NSU4pOw0KPiArDQo+ICsgICAgICAgLyogZXN0YWJs aXNoIHRoZSBuZXcgc2V0dXA6ICovDQo+ICsgICAgICAgcmV0ID0gc3BpX2ludGVybmFsX3dyaXRl KHdpbGMsIFdJTENfU1BJX1BST1RPQ09MX09GRlNFVCwgcmVnKTsNCj4gKyAgICAgICBpZiAocmV0 KSB7DQo+ICsgICAgICAgICAgICAgICBkZXZfZXJyKCZzcGktPmRldiwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgIlt3aWxjIHNwaSAlZF06IEZhaWxlZCBpbnRlcm5hbCB3cml0ZSByZWdcbiIs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIF9fTElORV9fKTsNCj4gKyAgICAgICAgICAgICAg IHJldHVybiByZXQ7DQo+ICAgICAgICAgfQ0KPiANCj4gKyAgICAgICAvKiBub3cgdGhhdCBuZXcg c2V0IHVwIGlzIGVzdGFibGlzaGVkLCB1cGRhdGUgb3VyIHN0YXRlIHRvIG1hdGNoOiAqLw0KPiAr ICAgICAgIHNwaV9wcml2LT5jcmM3X2VuYWJsZWQgPSBFTkFCTEVfQ1JDNzsNCj4gKyAgICAgICBz cGlfcHJpdi0+Y3JjMTZfZW5hYmxlZCA9IEVOQUJMRV9DUkMxNjsNCj4gKw0KPiAgICAgICAgIC8q DQo+ICAgICAgICAgICogbWFrZSBzdXJlIGNhbiByZWFkIGJhY2sgY2hpcCBpZCBjb3JyZWN0bHkN Cj4gICAgICAgICAgKi8NCj4gLS0NCj4gMi4yNS4xDQo+IA0K