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 4BC1646834 for ; Tue, 20 Jun 2023 01:55:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 16EE468C051; Tue, 20 Jun 2023 04:55:38 +0300 (EEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3D90968BF34 for ; Tue, 20 Jun 2023 04:55:31 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1687226136; x=1718762136; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=yCC/Q4/enX/4ILjCI9CtVKyINaUBHIHxo+kaVa7olrM=; b=ZxTrCCgvTolvql3T0to7U7O6uDJNSD2HXhb9Y0pEhUp1c47o+GtZ1PYe LSjKXCetdou3pI6ytaqR7bUBFI4L0V70u5tpZZrxlj9AGxXrLk2KBO0YF yGRzQ2OAHP+ezpELPy0IYbmGCYSy/r5FCt7pTyd6QHvK+XgKuR8t7q+ap sKGtFUQ1Aomb1pwR/uXwFfCqkOuVj06RYqw65xdBdrH7nQFLtp/Hq2sEn LnFCphzMoBk4iQeIeuB14+gvth0/3HW50X7q+pf2+zjYiU1M2eATUFBc4 5d0no9i2p3Se9hGi75EwDvBgRaMdVaYzO3VkjcBf9CKtbpGVh9K9P3+IH g==; X-IronPort-AV: E=McAfee;i="6600,9927,10746"; a="425695848" X-IronPort-AV: E=Sophos;i="6.00,255,1681196400"; d="scan'208";a="425695848" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jun 2023 18:55:29 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10746"; a="1044058767" X-IronPort-AV: E=Sophos;i="6.00,255,1681196400"; d="scan'208";a="1044058767" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga005.fm.intel.com with ESMTP; 19 Jun 2023 18:55:28 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23; Mon, 19 Jun 2023 18:55:28 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.23 via Frontend Transport; Mon, 19 Jun 2023 18:55:28 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.57.43) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.23; Mon, 19 Jun 2023 18:55:28 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JUP3g/PWk1HUBJo+SGW9uT3mUiEsau1c8BRCF+RGouf3u/jME/LlomxLrpa4Kzqiv860iyGKFSU88N1yRldtFZrxnIFzXHZ8MaU1n/l9ETsjBsl5DspEfJ2WIuRJWz5asDfssjgupaWor0yoXaOA22kXdbOuwYUy8X1gsdhFvEeECmILmKik1lf+TbC/1B3KZXkiLU+2lBlkVyZVkpyetosxflWf/q569Dj09r2w4WEyfNODQHMRlKs7xjxu4k34XtHEU7B6p34+5anz76jVhLnPLDGn4M/1d0+o5s5V5+k0XuTRnFVBXcb8tVdqBx9HD+t2n/gTCVW/GRz4zJs6sg== 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=yCC/Q4/enX/4ILjCI9CtVKyINaUBHIHxo+kaVa7olrM=; b=R5CppVP/IK6mQXnFqCUm6xVrECtmtI8SiTTXvOPEYu3KRnSWjEgtNH9wRHvpQ849t/lNAWLiP5HoTuPxqRxlIjOeeep2AV+rii6SKXeb8qVDbmYVc8ZOzAWZN7lLqBW5bT0HPAIkgybEeAljcwF8Zt+9zQYuEnrxS6R6/OIAWbR7yOsBX5J1ctHWImnOwBACpZJnuAtxDZZLvQXOTXmkAGFvD2qtfrgCyUGy+c9fGrdQ9VzSol8GoIxMgcXxf8pJVigGCskl4fjgsFhPFpXL0V0PmFUgvFCFAG8WhKCZS1kq1lh6XyOiTDBiAKsX7CcZ5V1mCjyOoqpv084+UqmU8w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from BN9PR11MB5515.namprd11.prod.outlook.com (2603:10b6:408:104::8) by SJ2PR11MB7671.namprd11.prod.outlook.com (2603:10b6:a03:4c3::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.37; Tue, 20 Jun 2023 01:55:25 +0000 Received: from BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::16c7:a931:6718:45bf]) by BN9PR11MB5515.namprd11.prod.outlook.com ([fe80::16c7:a931:6718:45bf%7]) with mapi id 15.20.6500.036; Tue, 20 Jun 2023 01:55:25 +0000 From: "Xiang, Haihao" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [FFmpeg-devel] [PATCH v2] lavf/rtpenc_jpeg: Retrieve sampling factor from SOF0 Thread-Index: Adkfe4ECWKuwXEUJTtiX0I1BY/wzSh9XJA0AAZCNcwA= Date: Tue, 20 Jun 2023 01:55:25 +0000 Message-ID: <40a0a100d46c41693ab05b821ede37220a258dbd.camel@intel.com> References: <23056db68e4f2a5f1a720174bad21246b0dd089d.camel@intel.com> In-Reply-To: <23056db68e4f2a5f1a720174bad21246b0dd089d.camel@intel.com> Accept-Language: en-AS, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.44.4-0ubuntu1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BN9PR11MB5515:EE_|SJ2PR11MB7671:EE_ x-ms-office365-filtering-correlation-id: c27ba26f-8471-4110-c55b-08db71316a68 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vsVW/eHVxVOJAgpKPgYaig7x4Zri5cDvoAW4CyLbyEe9WQ6eRDwwjfmOhpzQieJ7Wf0/fhmL6cUeEZ6/a7w8GXIMrXWoaNvQzJygU0y5+0mYyggOge3NyuhHBPsHlw/34ILc0AOlnadjVfYaKNpEOG4b8S+RepyMmRHmllCtqU907iVq4kmiteLQ+JOb4ELXpwA6svOLHi30x7skIY9+O+rmlpKFE//9SazINPkoqmbG5M/iKYZlVYz+MQyTMZvIc1Hsa8KCDvJgEk95yb8exUmTnCX1Ac+164SdMbZRFOQbblgJ1Ut7/ZNUj4pfbP4UNn8GCQG8XaCDPXgFO6AFuyaW9m9ULAuddde9V5yzLvkHC9PVClvsglBU1vCAjDc9nRHtM6ZJ28XaB8YXfAXk4iFV013Tl7L5619yC2MZWTaj39ufT7CLygI2p7FMPRBJx3cft6WP5062QcnESmIuMhXAAtRnr7pvAKyrVU6glYU2f1FWHHz7jBYEmi13bPbDXa7p4hxQHDZNkRiXB4Ds9xnY3XSDB3yevQa/uHJzMCpxsWEuq55FjMCC6eUYezRTlJ3zw1wuyRgyQewCHsXWC0bk+aphkiU6PqKm92i0KbvhsbvN5iNNDSZe3sK4QRxD x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5515.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(396003)(39860400002)(136003)(366004)(376002)(346002)(451199021)(91956017)(82960400001)(2616005)(86362001)(83380400001)(2906002)(38070700005)(122000001)(76116006)(5660300002)(66556008)(66946007)(186003)(8676002)(8936002)(64756008)(66446008)(66476007)(26005)(478600001)(38100700002)(36756003)(41300700001)(6916009)(6506007)(6512007)(71200400001)(6486002)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?akVUaW5DaG9YdUdYQ3dtR2lnV1ZXcHVCM1dqNXM1QkRmdVBjTm5Kd2tiRlYy?= =?utf-8?B?Ty8vOFNtTUFONXJ2dVErWmRFaTJaOGNRL1I0T0hEUjhjcUgzODJqQ0NCZnJK?= =?utf-8?B?cWI2TVp6cjdHWmlvWnZoM1p6aWs3NmkzSUFvZ0d4Um53c2p6REdrNElWWFJw?= =?utf-8?B?YkU4U21GTGRRaUFsZGpNWXFvQkFiNWJCRWptS1dEa05UencrMDFuNWt4RmJL?= =?utf-8?B?OHZ6LzlKUCtoQXFQbmlFRkNRZmVnZnNmd1ZUeEJvQXgxdjVneUZpdkgxT3Er?= =?utf-8?B?blNOdmQrUWtvei9WNUJpMUMwZVhBeHlSRmswL1dwYU1MZ1hyeG9URTJxN0dL?= =?utf-8?B?dFUxQ1REUERINVljWVZickJEdW0zV3BOcnE0TGxtSlkvQ0E2OGwwWlN3VEFh?= =?utf-8?B?Y2s3cXZVTFJ5aysvOEF6WDY4dXR2ZTNudGR2U29vZEtiTGVYeVpMTldvOWFT?= =?utf-8?B?L2NNQ2QzcHNGRmlWSkc4dDFEUThUVnM3K0QvZ3k3czg1ZGtaWmQ2emxTd1Jk?= =?utf-8?B?L3hmZjUvVlU1TDhLaS9GYVdONk1KNzBHdERlMi84SXJ5RGlocTZHNHpVaFFE?= =?utf-8?B?RDQ3WGJuMHpVKzdJS1ZOVnVxb28vMXJNR29TdXNzWTNZb3FjV0RDcllCdUxN?= =?utf-8?B?ekY4b0djMXoyU1NVb2JJdDcvZEt4NkRHYXMwbk5rTkxkdzF5cXJBVGNtRG1B?= =?utf-8?B?UHNvSjRrb21IcWxQV2VnWGtNVlQwbkhoK1ZsdXN3dEhFMEx4TCt0aDQrN29R?= =?utf-8?B?TDFtayt5UDlnUVFkQ04vVkhCSm1SbkVtT09DQ2l1Q0VocDRXZVk1WEtOSUlY?= =?utf-8?B?TUlVbElVNlowbjNOTm1Uc2hWM2FmZXJTNXllb3B3eFpwZnlKaW0ydS9vWDBB?= =?utf-8?B?STJrUWd6WFlpMXVTdG4xaDNDa3hJWnZ5WGpkd2FTUzlIR2RNaVVhb0dEaUdJ?= =?utf-8?B?cklOMEk5ZFZSRG0xcTdpNGxGdzltcDhvZlBpZlk1VXdwRVI4UWR1Z1ZIclBU?= =?utf-8?B?NUI3a2lITjVacnhiUm1kcXo4Mm9LWmhpUjh5YmRseFdzN3hlTkJ4VnoxVTdL?= =?utf-8?B?TmdSUDNTM3BNVEppeFI5eVZXNEU4MEpDQkdvS2lVa1E5L3NXV3paL0YzZ3Ax?= =?utf-8?B?KzUrWXFDeC96eVFFZTlYa3B6ZHpBVUtxZ2Q5dFRrVHNXQVVBRG8wc2NKb2Qz?= =?utf-8?B?dWpEMElUdnJHMTd5Wm5ZSHkxWE9KaVFzeFNHblNKV0dBbll1QWY1Z1JoMmhr?= =?utf-8?B?endwY3NsUktFNzROdjliWWVkU3Q1Z0dnRmVvRDZXajZINjBYb3c0VlZVc1Y1?= =?utf-8?B?bkorOFJxRDYxZE5VYWxzUm9hSE83K0tkdzdWdXJNMzdhbXZSMzZ1U0xFa1ZI?= =?utf-8?B?ZTBuaFc0Sngvd080bHZqMkdxbVpBQWxsT2xwSXJnVlkrT2FBMVZDUlZQNmVG?= =?utf-8?B?NmVselRrZWdtSGZ6K2Nia29YWDhBdTl2L3lsSHFTZjlFaGtZOVdaZDFuUHVT?= =?utf-8?B?SmYzRHBtbmQ2Y1U1d0xVSDlUZm54azJDSzA3ZHFrSTczMkRRcHBBYnExWlZY?= =?utf-8?B?dmQyME4xUmdmcWppdU9aaUF0S1pkemNWTWZmdEJpZmZwS3dxQ2hMTnFXeGtP?= =?utf-8?B?RnJWeVduZm5rTUhuWkZRYnZKdkR1VnhGZ0pzeWJ0MFVWbFFNcXN3bWtHdHph?= =?utf-8?B?b3NwNmN2dmVNM2VsMEdmcUFtVnVjbzZ2MnZpUzFZcG4rS3dBRnJ4YUkwQzRh?= =?utf-8?B?c29mNFhLaEdMSkc2TWJiY2ZQSGZ4YTJHMSsrRTU1dEFoVk1PN25QTmloRTlk?= =?utf-8?B?aHo2eGpwRlNLalEzajBYM2kwRjA4Qk1yVS95NTE0UTJ3Rll0MktBdDBNdmIv?= =?utf-8?B?c3Q1NjBMT3RpZnQ2bS9QZVFzaWs3ODlzR1NnN1JNYzMrMCtLVTRuZnhBRVZ1?= =?utf-8?B?WU1ZWFdrbngzTkxTSzJiQVl1bkxVV0FhQktTNEM1b2xldW44NllhK2drajNa?= =?utf-8?B?cmFEZTlvUGd6Y2JPdTF3N3F0YlJKRDFSWE44WjFUWkNPTlplWlNCUmJreFFD?= =?utf-8?B?U1d1by9iK0JRYlNpcmdYclRPcGlYMmR4dElGNmdwNlh0RGpGQ0c4Y0Z2akJZ?= =?utf-8?B?SjBJQWxPL3FwUHFhanNBM3pOb3Q1OFE2ZVVsOFk3cnk5REVoM3NZVi8wSDEz?= =?utf-8?B?dVE9PQ==?= Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5515.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c27ba26f-8471-4110-c55b-08db71316a68 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Jun 2023 01:55:25.5061 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4BrrT16iFUJ/agPYm/zxa0u5Fqqp9XOEOq6bDxqLhdan4CdGa8Vg3fNYijTG8mMWBogx79PydwRle3g4Gg8P8g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR11MB7671 X-OriginatorOrg: intel.com Subject: Re: [FFmpeg-devel] [PATCH v2] lavf/rtpenc_jpeg: Retrieve sampling factor from SOF0 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 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: T24gTWEsIDIwMjMtMDYtMTIgYXQgMDI6NDYgKzAwMDAsIFhpYW5nLCBIYWloYW8gd3JvdGU6Cj4g T24gV28sIDIwMjMtMDEtMTEgYXQgMDE6MzUgKzAwMDAsIFllb2gsIEhvb25nIFRlZSB3cm90ZToK PiA+IEluIGZmX3J0cF9zZW5kX2pwZWcsIHRoZSB0eXBlIGlzIGRlZmluZWQgYmFzZWQgb24gUElY X0ZNVCBhbmQKPiA+IGNvbG9yLXJhbmdlIHBhcnNlZCBpbi4gVGhlcmUgaXMgbGltaXRhdGlvbiBv biBjdXJyZW50IGRlc2lnbgo+ID4gd2hlcmUgbmVlZCB0byBpbmNsdWRlIHN1cHBvcnQgbmV3bHkg aW50cm9kdWNlZCBQSVhfRk1UIHN1Y2ggYXMKPiA+IEFWX1BJWF9GTVRfUVNWIGFuZCB0aGVyZSBt aWdodCBiZSBtb3JlIGFuZCBtb3JlIGluIGZ1dHVyZS4gSGVuY2UsCj4gPiByZXRyaXZlIHRoZSBz YW1wbGluZyBmYWN0b3IgZnJvbSBTT0YwIGluIEpQRUcgY29tcHJlc3NlZCBoZWFkZXIKPiA+IGRp cmVjdGx5LiBUaGlzIGludHJvZHVjZXMgZmxleGliaWxpdHkgdG8gaGFuZGxlIGRpZmZlcmVudCB0 eXBlIG9mCj4gPiBuZXcgY29kZWMgaW50cm9kdWNlZCBpbiBmdXR1cmUuCj4gPiAKPiA+IFNpZ25l ZC1vZmYtYnk6IFllb2gsIEhvb25nIFRlZSA8aG9vbmcudGVlLnllb2hAaW50ZWwuY29tPgo+ID4g LS0tCj4gPiDCoGxpYmF2Zm9ybWF0L3J0cGVuY19qcGVnLmMgfCA0MSArKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiA+IMKgMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlv bnMoKyksIDE1IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQv cnRwZW5jX2pwZWcuYyBiL2xpYmF2Zm9ybWF0L3J0cGVuY19qcGVnLmMKPiA+IGluZGV4IDkxMTE2 ODMuLjUzYmUxODggMTAwNjQ0Cj4gPiAtLS0gYS9saWJhdmZvcm1hdC9ydHBlbmNfanBlZy5jCj4g PiArKysgYi9saWJhdmZvcm1hdC9ydHBlbmNfanBlZy5jCj4gPiBAQCAtMzAsNyArMzAsNyBAQCB2 b2lkIGZmX3J0cF9zZW5kX2pwZWcoQVZGb3JtYXRDb250ZXh0ICpzMSwgY29uc3QgdWludDhfdAo+ ID4gKmJ1ZiwgaW50IHNpemUpCj4gPiDCoMKgwqDCoCBSVFBNdXhDb250ZXh0ICpzID0gczEtPnBy aXZfZGF0YTsKPiA+IMKgwqDCoMKgIGNvbnN0IHVpbnQ4X3QgKnF0YWJsZXNbNF0gPSB7IE5VTEwg fTsKPiA+IMKgwqDCoMKgIGludCBuYl9xdGFibGVzID0gMDsKPiA+IC3CoMKgwqAgdWludDhfdCB0 eXBlOwo+ID4gK8KgwqDCoCB1aW50OF90IHR5cGUgPSAyOyAvKiBpbml0aWFsaXplZCBub24tMC8x IHZhbHVlIGZvciBSVFAvSlBFRyB0eXBlCj4gPiBjaGVjayovCj4gPiDCoMKgwqDCoCB1aW50OF90 IHcsIGg7Cj4gPiDCoMKgwqDCoCB1aW50OF90ICpwOwo+ID4gwqDCoMKgwqAgaW50IG9mZiA9IDA7 IC8qIGZyYWdtZW50IG9mZnNldCBvZiB0aGUgY3VycmVudCBKUEVHIGZyYW1lICovCj4gPiBAQCAt NDUsMjAgKzQ1LDYgQEAgdm9pZCBmZl9ydHBfc2VuZF9qcGVnKEFWRm9ybWF0Q29udGV4dCAqczEs IGNvbnN0IHVpbnQ4X3QKPiA+ICpidWYsIGludCBzaXplKQo+ID4gwqDCoMKgwqAgdyA9IEFWX0NF SUxfUlNISUZUKHMxLT5zdHJlYW1zWzBdLT5jb2RlY3Bhci0+d2lkdGgsIDMpOwo+ID4gwqDCoMKg wqAgaCA9IEFWX0NFSUxfUlNISUZUKHMxLT5zdHJlYW1zWzBdLT5jb2RlY3Bhci0+aGVpZ2h0LCAz KTsKPiA+IMKgCj4gPiAtwqDCoMKgIC8qIGdldCB0aGUgcGl4ZWwgZm9ybWF0IHR5cGUgb3IgZmFp bCAqLwo+ID4gLcKgwqDCoCBpZiAoczEtPnN0cmVhbXNbMF0tPmNvZGVjcGFyLT5mb3JtYXQgPT0g QVZfUElYX0ZNVF9ZVVZKNDIyUCB8fAo+ID4gLcKgwqDCoMKgwqDCoMKgIChzMS0+c3RyZWFtc1sw XS0+Y29kZWNwYXItPmNvbG9yX3JhbmdlID09IEFWQ09MX1JBTkdFX0pQRUcgJiYKPiA+IC3CoMKg wqDCoMKgwqDCoMKgIHMxLT5zdHJlYW1zWzBdLT5jb2RlY3Bhci0+Zm9ybWF0ID09IEFWX1BJWF9G TVRfWVVWNDIyUCkpIHsKPiA+IC3CoMKgwqDCoMKgwqDCoCB0eXBlID0gMDsKPiA+IC3CoMKgwqAg fSBlbHNlIGlmIChzMS0+c3RyZWFtc1swXS0+Y29kZWNwYXItPmZvcm1hdCA9PSBBVl9QSVhfRk1U X1lVVko0MjBQIHx8Cj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoczEtPnN0cmVh bXNbMF0tPmNvZGVjcGFyLT5jb2xvcl9yYW5nZSA9PSBBVkNPTF9SQU5HRV9KUEVHCj4gPiAmJgo+ ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzMS0+c3RyZWFtc1swXS0+Y29kZWNw YXItPmZvcm1hdCA9PSBBVl9QSVhfRk1UX1lVVjQyMFApKSB7Cj4gPiAtwqDCoMKgwqDCoMKgwqAg dHlwZSA9IDE7Cj4gPiAtwqDCoMKgIH0gZWxzZSB7Cj4gPiAtwqDCoMKgwqDCoMKgwqAgYXZfbG9n KHMxLCBBVl9MT0dfRVJST1IsICJVbnN1cHBvcnRlZCBwaXhlbCBmb3JtYXRcbiIpOwo+ID4gLcKg wqDCoMKgwqDCoMKgIHJldHVybjsKPiA+IC3CoMKgwqAgfQo+ID4gLQo+ID4gwqDCoMKgwqAgLyog cHJlcGFyc2UgdGhlIGhlYWRlciBmb3IgZ2V0dGluZyBzb21lIGluZm8gKi8KPiA+IMKgwqDCoMKg IGZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKPiA+IMKgwqDCoMKgwqDCoMKgwqAgaWYgKGJ1 ZltpXSAhPSAweGZmKQo+ID4gQEAgLTkwLDYgKzc2LDIzIEBAIHZvaWQgZmZfcnRwX3NlbmRfanBl ZyhBVkZvcm1hdENvbnRleHQgKnMxLCBjb25zdCB1aW50OF90Cj4gPiAqYnVmLCBpbnQgc2l6ZSkK PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIk9ubHkg MXgxIGNocm9tYSBibG9ja3MgYXJlIHN1cHBvcnRlZC4gQWJvcnRlZCFcbiIpOwo+ID4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIH0KPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKgo+ID4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqAgKiBGaW5kIG91dCB0aGUgc2FtcGxpbmcgZmFjdG9yIGluIFNPRjAuCj4g PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIEluIFNPRjAsIGhzYW1wbGUvdnNhbXBsZSBpcyBp bnNlcnRlZCBpbiBmb3JtIG9mICgyPDw0KSB8Cj4gPiAodHlwZQo+ID4gPyAyIDogMSkuCj4gPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIEZpcnN0IDQtYml0IGlzIGhzYW1wbGUgd2hpbGUgTGFz dCA0LWJpdCBpcyB2c2FtcGxlLgo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8KPiA+ICsK PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8qIEx1bWEgY2hhbm5lbCBzYW1wbGluZyBmYWN0 b3IgaW4gNDoyOjIgY2hyb21hIHN1YnNhbXBsaW5nIGFyZQo+ID4gMngxICovCj4gPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBpZiAoYnVmW2kgKyAxMV0gPT0gMzMpIHsKPiA+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgdHlwZSA9IDA7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAvKiBMdW1hIGNoYW5uZWwgc2FtcGxpbmcgZmFjdG9yIGluIDQ6MjowIGNocm9tYSBzdWJzYW1w bGluZyBhcmUKPiA+IDJ4MiAqLwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfSBlbHNlIGlm IChidWZbaSArIDExXSA9PSAzNCkgewo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCB0eXBlID0gMTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0gZWxzZSB7Cj4gPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGF2X2xvZyhzMSwgQVZfTE9HX0VSUk9SLCAiVW5z dXBwb3J0ZWQgcGl4ZWwgZm9ybWF0XG4iKTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgcmV0dXJuOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+ID4gwqDCoMKgwqDC oMKgwqDCoCB9IGVsc2UgaWYgKGJ1ZltpICsgMV0gPT0gREhUKSB7Cj4gPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgaW50IGRodF9zaXplID0gQVZfUkIxNigmYnVmW2kgKyAyXSk7Cj4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgZGVmYXVsdF9odWZmbWFuX3RhYmxlcyB8PSAxIDw8IDQ7Cj4g PiBAQCAtMTYzLDYgKzE2NiwxNCBAQCB2b2lkIGZmX3J0cF9zZW5kX2pwZWcoQVZGb3JtYXRDb250 ZXh0ICpzMSwgY29uc3QKPiA+IHVpbnQ4X3QKPiA+ICpidWYsIGludCBzaXplKQo+ID4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+ID4gwqDCoMKgwqDCoMKgwqDCoCB9Cj4gPiDCoMKg wqDCoCB9Cj4gPiArCj4gPiArwqDCoMKgIC8qIENoZWNrIHZhbGlkaXR5IG9mIFJUUC9KUEVHIHR5 cGUgKi8KPiA+ICvCoMKgwqAgaWYgKHR5cGUgIT0gMCAmJiB0eXBlICE9IDEpIHsKPiA+ICvCoMKg wqDCoMKgwqDCoCBhdl9sb2coczEsIEFWX0xPR19FUlJPUiwKPiA+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgIkludmFsaWQgUlRQL0pQRUcgdHlwZVxuIik7Cj4gPiArwqDCoMKgwqDC oMKgwqAgcmV0dXJuOwo+ID4gK8KgwqDCoCB9Cj4gPiArCj4gPiDCoMKgwqDCoCBpZiAoZGVmYXVs dF9odWZmbWFuX3RhYmxlcyAmJiBkZWZhdWx0X2h1ZmZtYW5fdGFibGVzICE9IDMxKSB7Cj4gPiDC oMKgwqDCoMKgwqDCoMKgIGF2X2xvZyhzMSwgQVZfTE9HX0VSUk9SLAo+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgICJSRkMgMjQzNSByZXF1aXJlcyBzdGFuZGFyZCBIdWZmbWFuIHRh YmxlcyBmb3IganBlZ1xuIik7Cj4gCj4gCj4gU29ycnkgdG8gcGljayB1cCB0aGlzIG9sZCB0aHJl YWQuIFRoaXMgcGF0Y2ggbG9va3MgZ29vZCBhbmQgd29ya3Mgd2VsbCBmb3IgbWUuCj4gSQo+IHdp bGwgbWVyZ2UgaXQgaWYgbm8gb25lIG9iamVjdHMgaW4gYSBmZXcgZGF5cy4gCj4gCgpBcHBsaWVk LCB0aHguIAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczov L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJl LCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcu b3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=