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 AE7824031A for ; Fri, 21 Jan 2022 11:42:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B1B7C68B2B1; Fri, 21 Jan 2022 13:42:02 +0200 (EET) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0298D68B289 for ; Fri, 21 Jan 2022 13:41:54 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1642765320; x=1674301320; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=KawxY0eDQ3bgF9GZk7B/oeKAtniHUi1xP0DgJZaiEuw=; b=dnSqQJTow4pKh4zzbSq0KsymEhPGLwLEUe2zKWnTUm05Bh8VUuGtkbWs YYIZIRj4Grb10VhHSqb/dxJrBnAnKCEbI+N88CIoWjrtIYsEdtPS4nGAW mJDG3A65+kayYMH+fjG3WqlA/pexhz175oOx48yry8TaCxv/eyqSbvTlT 4SoUyCHCcCTrlTzxw4AZDIdaW+4kSZHdLg6V1k8HoqWDnTlF239a2egmb xLRZYFuzmM2WTlpYZNa3Vzj8rT+vER1r7A3qhlocJfAH/9TD+wn3nI/Bd juPOruCmdWlqDj8xK226UfIXuxBFxbujfHBXbkhjjbNRu5uu5dELoa4EH Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10233"; a="245856486" X-IronPort-AV: E=Sophos;i="5.88,304,1635231600"; d="scan'208,223";a="245856486" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2022 03:41:52 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,304,1635231600"; d="scan'208,223";a="767976615" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga005.fm.intel.com with ESMTP; 21 Jan 2022 03:41:52 -0800 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) 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.2308.20; Fri, 21 Jan 2022 03:41:52 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20 via Frontend Transport; Fri, 21 Jan 2022 03:41:52 -0800 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.170) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.20; Fri, 21 Jan 2022 03:41:51 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ahfkfcIaTKmEur+GdG/qhxBXEZVOgjgjUTqV7fXmYe+IrMXzlyiBTZJ/R73N0sw5wEHMnZqLhe08jjngrFwGI/yAdbfigPpcKGk0XWVZozkNBvrVN3SBCtt+GYfwAg/+XdjD5QXPuZTU+GqI/lz4ovIG0HuDbMcTdH2jHEa6YVuRfpS/S1yNr9/iHJkyPmxp2s+H+S8QUzPmkMLbSng6x9NKNCVNOZ6DU9T/0vZxpMAU9ZnGNmv8KL2KSsy2e3eSbLQvBIEh4lc7NEEGpaZcCrqjzaGBKTRJanQVnknTW+gkfcg+CJ+79uDUH3+04+THIbohUN2HQuUyoBxlibJr2g== 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=QMMConSCh9c3qVcUCDV9Q+oW8JPXAniI7iMsb1APKO8=; b=J0nkIrmX1+TJInYEtdiy9tgw5pwama1KvIrcGJ+Z2XlwK6IijzJ2UUqUUN0ZqNZYjfgLHYj0mhn5z0jadwFxrKBDgtq9QBJC2z3hmLKHYGPbF8LKFGpLUQBwUQND1pSnUBZLdRhyBa4UprxxdR8DG8FOoeyKgWYR5tG0xBYz4PLJvm95lnPFwA98Di+TrWxtf+/17geMnw6QxDDjFrKZVNzm3JQDXrk1zK4/I1uQ9OIYLng7kOsel6ejA9Z4Ea8Fn20gEToEPRcPk0XLpTMhBJGbARguKlGtURn1sDymsMyyqSn7auZU4AL2RZMpRdNTmSE7snVwL/K+OzJZXS6n2Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from PH0PR11MB4968.namprd11.prod.outlook.com (2603:10b6:510:39::15) by PH0PR11MB5109.namprd11.prod.outlook.com (2603:10b6:510:3e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.10; Fri, 21 Jan 2022 11:41:50 +0000 Received: from PH0PR11MB4968.namprd11.prod.outlook.com ([fe80::3016:b14f:b173:cf81]) by PH0PR11MB4968.namprd11.prod.outlook.com ([fe80::3016:b14f:b173:cf81%4]) with mapi id 15.20.4888.014; Fri, 21 Jan 2022 11:41:50 +0000 From: "Wu, Jianhua" To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v1] avfilter/vf_gblur_vulkan: add sizeV option Thread-Index: AdgOun32E8L5cKanT8iyHjjY27p92AAASjBQ Date: Fri, 21 Jan 2022 11:41:49 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.200.16 dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 135a109e-6cc7-4f89-53e0-08d9dcd3033a x-ms-traffictypediagnostic: PH0PR11MB5109:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:230; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IaV9X/0MJFHsKREAbkJnY4/telGU4sD0SoM0b//2uQxBD8Jx/y9qKoa9sjWN5XX5cJNEokG/aw/K2DuT4NcUb6rn7iYvdEyrJ4Gl2tUbRADcIsUc3yUttwagMdw1xH2U2ciuSgOumALtPyAxv+wXLX+voc0qN0wKyemjhRH6DWeVyTArpkJLBs2bXbPW/oBOxoW/NQ4dG6jV3I40hKSS0LXs2a481x/2YlzeWPDsGwog7l5fdDFatNolyNnAbbaYf+AG9xdgwWaDBGH8z9tq+VDK6MnwV4IABzE4SLGNhY8WAvwXGKxBhI8CvDBQNoOK8fSF6+N9Wt9+9a0L2FN9npGVkKHpb/Y8IBbKsa3uesSGMqpNR/Oz2wgtAEzgd3KAWHgd8Cj4x3gwJpmbYl/DuQtLdNX3X7x9ACTFxeHF1zTcCQPctYLRM5pMbgfaOufPenc9gs6Jq5dh99wqJIbB1EdOU7+2AS4UPNLUd0reibHHHEIJEdDc7NKodlY695nmdSnLs8h3CHZ/Ae0BIKpgOzR44kneP8mr8RFmM46Bsq2oHbk7pmfdpLLoLPzhIOMrYKbvzLP9P8+6FkOW9NjjWfNCJIK6+LtdE5u3g8IqCk/v2PHQr6FwSm2QRorFIjujqMTmN2jZ5buby4QUH8T3BT3vrIlTa/kCXMNTQpDRRrOFDi6pbsouliXTjTRGhmxe7Yyt06QkksbTh63QyF1NeA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB4968.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(6916009)(107886003)(6506007)(186003)(5660300002)(26005)(2940100002)(508600001)(8676002)(33656002)(8936002)(38070700005)(86362001)(4326008)(52536014)(2906002)(4744005)(316002)(38100700002)(99936003)(122000001)(82960400001)(9686003)(66446008)(64756008)(55016003)(66946007)(66556008)(76116006)(66476007)(7696005)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?NZoWbPH0+ZGUTmrk8FjfXYWeQ9jGWQTU/JtrsByqY9jRRBsQVME+fO96NBur?= =?us-ascii?Q?IAFWMwbmPFgDmnGC15xfK4eLuamuEXsbim8fbEjXDwAKo5qhuh5/0H0FLGUP?= =?us-ascii?Q?M9J0GuEWfS2dVhXy7c21NUwdNFDykcFsclM6AvKhMQD++CO9XqPEyfvHEzyY?= =?us-ascii?Q?7QGU+zeVXXa7b0lXYFtH/GmDenGadMpN2aM7oXViKirRg7Q/jv8CLXdslayr?= =?us-ascii?Q?hasb/Jb7cwXuO1gNjcO6ZjgxYJWiJalzHQEehTXAkFtjoz+HN5xUXr7nIzqY?= =?us-ascii?Q?DdoRpzhA8O23Zx7EjaxvD/jXjQbldLIbRVxrpytGEDGK1u1qUi2lzknmRYju?= =?us-ascii?Q?6WKoECDf8erXnxmw5a0GY/vSoQjxslmI7yG5Jgs34REgA8o1VE3ESVqMLdLE?= =?us-ascii?Q?ctw8z9s650eFNvZxd4d9f2WoxRTZ0Hg+rhRiV7+Pmk+RxsAU8zD6uG5h1S3G?= =?us-ascii?Q?CFZgNY7VxWTohITdpRPBX2wR1nbaVlCOxlp8rOy5VHQ9Ne1IjS4A8YLKqvVf?= =?us-ascii?Q?jeRYFTjVp2BBGblTV5EbYT/HEQE3s1TB3RYCFxpU96MqwdkA2cWrwe2f1DlC?= =?us-ascii?Q?zObItsUajSvLCsD5djf7cVy/CxT4zVInPFPzRR+kzc0ncl93BVZfcehaGi+S?= =?us-ascii?Q?YMV+2Vl0gqLLR7hroAXbgmnvo7dT9qr3RhHTW7qG+pnzamzWwjwE1W1Cg2WO?= =?us-ascii?Q?irku87wA35BrbBLYAAqimw+3D2HPe9CDVcKF4Xa/gd3biK4ycfgY5AbPlbBG?= =?us-ascii?Q?SE6lcqWEXB4mM+To+rk3vHGrzroGRU0jgtwH2R0I/lZ7RGu63uGa5WV+Nnhx?= =?us-ascii?Q?uWejV+AN+hqOnJjKTixlKo0CMzcToLYmbhL17rJVn+8sfYfvCgAyYpmtwt6x?= =?us-ascii?Q?qForVtU7eDtHOp3dqpZQJoO9Yxz/Bw9l+XYVKNaiUUSX6+MOPjnDC3Ia3sND?= =?us-ascii?Q?4YbDknYxorfTHHKlSmDXdHM4LmhImZRR8QnXxLIxdSD+Spmz/O84UbJZV7rA?= =?us-ascii?Q?d34snSa09XEdUCYuUqs/mYU5gslEhPAJPMd95uhQ51dIpXoZ/10O12gUnbbH?= =?us-ascii?Q?kom9BJGGNQji/N3ABGTXbIBFW74NhL4eR+9XXaSq8i135fAp6tW8Yc9DWV1u?= =?us-ascii?Q?5VH8hMQmLZKJ8nQBfoeNO8DDI4ASEvaAjc1F0E2Vhbj5REUCTltF8BVG9Gpg?= =?us-ascii?Q?SPsky+AgKPg74bFU8VyxgbkMj0tNtUuP6qK6NYOVitNsMwKdxdI1SHrHbdvu?= =?us-ascii?Q?RAsQ8mc+4N3KDJkHvpPt1t7SjCrYA/KAtcASEP15VyrloER2anjga4S9LhMc?= =?us-ascii?Q?YcwpnxS9cdLhZvFSnsksU5SEd0tthC1bqDUOFsSG+A1bpwbeQSNRNvo79iYB?= =?us-ascii?Q?DwNgXEbuUoBBC3KiYGpL9dK+u7KpfV8z9RXhDfF/F9ggrk2Gzvl6hognC4YK?= =?us-ascii?Q?hqd2uywKWgiH2jvat9J94orLOD9/Nezrp7jfxVNM9/vTaTohGVVhVYmfHxoc?= =?us-ascii?Q?aI87tM7mwdcasn+2q1wncKpGsY2W+JKkgzp8lPhMTbnp88zHCjwkzLdVp7vs?= =?us-ascii?Q?GxNHZ0KLQgbIpevR6ixI560Lz2WGys0kLIUJ/sjdzxcPAYrlB1xE1VW8Lvpf?= =?us-ascii?Q?Kw=3D=3D?= Content-Type: multipart/mixed; boundary="_006_PH0PR11MB49684DA1F26F91640546AA97935B9PH0PR11MB4968namp_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB4968.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 135a109e-6cc7-4f89-53e0-08d9dcd3033a X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jan 2022 11:41:49.8612 (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: /1BVcAHEJsoi/L8hKjBwvatGe6MHUbxMZlRPlWLJgIRpjnXUrjz6GhESjkFu0LzKZqBuvZZFFL1swi4UwYF9ww== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5109 X-OriginatorOrg: intel.com Subject: [FFmpeg-devel] [PATCH v1] avfilter/vf_gblur_vulkan: add sizeV option 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: "Wu, Jianhua" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --_006_PH0PR11MB49684DA1F26F91640546AA97935B9PH0PR11MB4968namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [PATCH 1/5] avfilter/vf_gblur_vulkan: add sizeV option [PATCH 2/5] avfilter= :add shader_vulkan filter [PATCH 3/5] avfilter/vf_blend_vulkan: add multipl= y blend mode [PATCH 4/5] avutil/vulkan: don't use strlen as loop condition = [PATCH 5/5] avfilter/scale_vulkan: use RET for checking return value Patches attached. --_006_PH0PR11MB49684DA1F26F91640546AA97935B9PH0PR11MB4968namp_ Content-Type: application/octet-stream; name="0003-avfilter-vf_blend_vulkan-add-multiply-blend-mode.patch" Content-Description: 0003-avfilter-vf_blend_vulkan-add-multiply-blend-mode.patch Content-Disposition: attachment; filename="0003-avfilter-vf_blend_vulkan-add-multiply-blend-mode.patch"; size=2964; creation-date="Fri, 21 Jan 2022 11:32:00 GMT"; modification-date="Fri, 21 Jan 2022 11:41:47 GMT" Content-Transfer-Encoding: base64 RnJvbSBiNjIxZDJmYTg1MDM2ZDFjZWVmMWVmYzA5NTBhMjI3NGNkMGE3MDFjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KRGF0 ZTogV2VkLCAxMiBKYW4gMjAyMiAxMjo0MTozMyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMy81XSBh dmZpbHRlci92Zl9ibGVuZF92dWxrYW46IGFkZCBtdWx0aXBseSBibGVuZCBtb2RlCgpVc2UgdGhl IGNvbW1hbmRzIGJlbG93IHRvIHRlc3Q6IChocmVmOiBodHRwczovL3RyYWMuZmZtcGVnLm9yZy93 aWtpL0JsZW5kKQoKSS4gbWFrZSBhbiBpbWFnZSBmb3IgdGVzdApmZm1wZWcgLWYgbGF2ZmkgLWkg Y29sb3I9cz0yNTZ4MjU2LGdlcT1yPSdILTEtWSc6Zz0nSC0xLVknOmI9J0gtMS1ZJyAtZnJhbWVz IDEgXAoteSAtcGl4X2ZtdCB5dXY0MjBwIHRlc3QuanBnCgpJSS4gYmxlbmQgaW4gc3cKZmZtcGVn IC1pIHRlc3QuanBnIC12ZiAic3BsaXRbYV1bYl07W2JddHJhbnNwb3NlW2JdO1thXVtiXWJsZW5k PWFsbF9tb2RlPW11bHRpcGx5LFwKcHNldWRvY29sb3I9cHJlc2V0PXR1cmJvIiAteSBtdWx0aXBs eV9zdy5qcGcKCklJSS4gYmxlbmQgaW4gdnVsa2FuCmZmbXBlZyAtaW5pdF9od19kZXZpY2UgdnVs a2FuIC1pIHRlc3QuanBnIC12ZiAic3BsaXRbYV1bYl07W2JddHJhbnNwb3NlW2JdO1wKW2FdaHd1 cGxvYWRbYV07W2JdaHd1cGxvYWRbYl07W2FdW2JdYmxlbmRfdnVsa2FuPWFsbF9tb2RlPW11bHRp cGx5LGh3ZG93bmxvYWQsXApmb3JtYXQ9eXV2NDIwcCxwc2V1ZG9jb2xvcj1wcmVzZXQ9dHVyYm8i IC15IG11bHRpcGx5X3Z1bGthbi5qcGcKClNpZ25lZC1vZmYtYnk6IFd1IEppYW5odWEgPGppYW5o dWEud3VAaW50ZWwuY29tPgotLS0KIGxpYmF2ZmlsdGVyL3ZmX2JsZW5kX3Z1bGthbi5jIHwgOSAr KysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfYmxlbmRfdnVsa2FuLmMgYi9saWJhdmZpbHRl ci92Zl9ibGVuZF92dWxrYW4uYwppbmRleCBmMzU2MDMzMmI1Li5mY2MyMWNiYzhkIDEwMDY0NAot LS0gYS9saWJhdmZpbHRlci92Zl9ibGVuZF92dWxrYW4uYworKysgYi9saWJhdmZpbHRlci92Zl9i bGVuZF92dWxrYW4uYwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBjb3B5cmlnaHQgKGMpIDIwMjEg V3UgSmlhbmh1YSA8amlhbmh1YS53dUBpbnRlbC5jb20+CisgKiBjb3B5cmlnaHQgKGMpIDIwMjEt MjAyMiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KICAqIFRoZSBibGVuZCBtb2Rl cyBhcmUgYmFzZWQgb24gdGhlIGJsZW5kLmMuCiAgKgogICogVGhpcyBmaWxlIGlzIHBhcnQgb2Yg RkZtcGVnLgpAQCAtNjgsNyArNjgsMTAgQEAgc3RhdGljIGNvbnN0IGNoYXIgYmxlbmRfIyNNT0RF IyNfZnVuY1tdID0geyBcCiAjZGVmaW5lIEEgdG9wCiAjZGVmaW5lIEIgYm90dG9tCiAKKyNkZWZp bmUgRk4oRVhQUikgQSArICgoRVhQUikgLSBBKSAqIG9wYWNpdHkKKwogREVGSU5FX0JMRU5EX01P REUoTk9STUFMLCBBICogb3BhY2l0eSArIEIgKiAoMS4wZiAtIG9wYWNpdHkpKQorREVGSU5FX0JM RU5EX01PREUoTVVMVElQTFksIEZOKDEuMGYgKiBBICogQiAvIDEuMGYpKQogCiBzdGF0aWMgaW5s aW5lIHZvaWQgaW5pdF9ibGVuZF9mdW5jKEZpbHRlclBhcmFtc1Z1bGthbiAqcGFyYW0pCiB7CkBA IC03OSw2ICs4Miw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpbml0X2JsZW5kX2Z1bmMoRmlsdGVy UGFyYW1zVnVsa2FuICpwYXJhbSkKIAogICAgIHN3aXRjaCAocGFyYW0tPm1vZGUpIHsKICAgICBD QVNFKE5PUk1BTCkKKyAgICBDQVNFKE1VTFRJUExZKQogICAgIGRlZmF1bHQ6IHBhcmFtLT5ibGVu ZCA9IE5VTEw7IGJyZWFrOwogICAgIH0KIApAQCAtNDQ4LDcgKzQ1Miw4IEBAIHN0YXRpYyBjb25z dCBBVk9wdGlvbiBibGVuZF92dWxrYW5fb3B0aW9uc1tdID0gewogICAgIHsgImMyX21vZGUiLCAi c2V0IGNvbXBvbmVudCAjMiBibGVuZCBtb2RlIiwgT0ZGU0VUKHBhcmFtc1syXS5tb2RlKSwgQVZf T1BUX1RZUEVfSU5ULCB7IC5pNjQgPSAwIH0sIDAsIEJMRU5EX05CIC0gMSwgRkxBR1MsICJtb2Rl IiB9LAogICAgIHsgImMzX21vZGUiLCAic2V0IGNvbXBvbmVudCAjMyBibGVuZCBtb2RlIiwgT0ZG U0VUKHBhcmFtc1szXS5tb2RlKSwgQVZfT1BUX1RZUEVfSU5ULCB7IC5pNjQgPSAwIH0sIDAsIEJM RU5EX05CIC0gMSwgRkxBR1MsICJtb2RlIiB9LAogICAgIHsgImFsbF9tb2RlIiwgInNldCBibGVu ZCBtb2RlIGZvciBhbGwgY29tcG9uZW50cyIsIE9GRlNFVChhbGxfbW9kZSksIEFWX09QVF9UWVBF X0lOVCwgeyAuaTY0ID0gLTEgfSwgLTEsIEJMRU5EX05CIC0gMSwgRkxBR1MsICJtb2RlIiB9LAot ICAgICAgICB7ICJub3JtYWwiLCAiIiwgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9IEJM RU5EX05PUk1BTCB9LCAwLCAwLCBGTEFHUywgIm1vZGUiIH0sCisgICAgICAgIHsgIm5vcm1hbCIs ICAgIiIsIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7IC5pNjQgPSBCTEVORF9OT1JNQUwgICB9LCAw LCAwLCBGTEFHUywgIm1vZGUiIH0sCisgICAgICAgIHsgIm11bHRpcGx5IiwgIiIsIDAsIEFWX09Q VF9UWVBFX0NPTlNULCB7IC5pNjQgPSBCTEVORF9NVUxUSVBMWSB9LCAwLCAwLCBGTEFHUywgIm1v ZGUiIH0sCiAKICAgICB7ICJjMF9vcGFjaXR5IiwgICJzZXQgY29sb3IgY29tcG9uZW50ICMwIG9w YWNpdHkiLCBPRkZTRVQocGFyYW1zWzBdLm9wYWNpdHkpLCBBVl9PUFRfVFlQRV9ET1VCTEUsIHsg LmRibCA9IDEgfSwgMCwgMSwgRkxBR1MgfSwKICAgICB7ICJjMV9vcGFjaXR5IiwgICJzZXQgY29s b3IgY29tcG9uZW50ICMxIG9wYWNpdHkiLCBPRkZTRVQocGFyYW1zWzFdLm9wYWNpdHkpLCBBVl9P UFRfVFlQRV9ET1VCTEUsIHsgLmRibCA9IDEgfSwgMCwgMSwgRkxBR1MgfSwKLS0gCjIuMjUuMQoK --_006_PH0PR11MB49684DA1F26F91640546AA97935B9PH0PR11MB4968namp_ Content-Type: application/octet-stream; name="0004-avutil-vulkan-don-t-use-strlen-as-loop-condition.patch" Content-Description: 0004-avutil-vulkan-don-t-use-strlen-as-loop-condition.patch Content-Disposition: attachment; filename="0004-avutil-vulkan-don-t-use-strlen-as-loop-condition.patch"; size=1531; creation-date="Fri, 21 Jan 2022 11:32:00 GMT"; modification-date="Fri, 21 Jan 2022 11:41:48 GMT" Content-Transfer-Encoding: base64 RnJvbSA4MzliMTk5Zjk2NmI3NjBjZWM5NDAwZTQ0NzQ2MWJlMDg2YmQ5NjJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KRGF0 ZTogTW9uLCAxNyBKYW4gMjAyMiAxMzo0MzoxNiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggNC81XSBh dnV0aWwvdnVsa2FuOiBkb24ndCB1c2Ugc3RybGVuIGFzIGxvb3AgY29uZGl0aW9uCgpXZSBkb24n dCBuZWVkIHRoZSBzdHJsZW4gdG8gZ2V0IHRoZSBzaXplIG9mIHN0cmluZywgZm9yCnRoZXJlIGlz IGEgbnVsbCB0ZXJtaW5hdGVkIGNvbmRpdGlvbiBvZiBDLXN0eWxlIHN0cmluZy4KCkFuZCBkZWFs IHdpdGggdGhlIGxhc3QgbGluZSB3aXRob3V0IGxpbmUgZmVlZCBub3RhdGlvbgp0byBvdXRwdXQg Y29ycmVjdCBzaGFkZXIgdGV4dCBmb3Igc2hhZGVyX3Z1bGthbiBmaWx0ZXIuCgpTaWduZWQtb2Zm LWJ5OiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KLS0tCiBsaWJhdnV0aWwvdnVs a2FuLmMgfCAxNCArKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL3Z1bGthbi5jIGIvbGli YXZ1dGlsL3Z1bGthbi5jCmluZGV4IDAwZGYwOGI1NWUuLjA0NDZlODIyYWYgMTAwNjQ0Ci0tLSBh L2xpYmF2dXRpbC92dWxrYW4uYworKysgYi9saWJhdnV0aWwvdnVsa2FuLmMKQEAgLTgzMywxNCAr ODMzLDIwIEBAIHZvaWQgZmZfdmtfcHJpbnRfc2hhZGVyKHZvaWQgKmN0eCwgRkZWa1NQSVJWU2hh ZGVyICpzaGQsIGludCBwcmlvKQogICAgIEFWQlByaW50IGJ1ZjsKICAgICBhdl9icHJpbnRfaW5p dCgmYnVmLCAwLCBBVl9CUFJJTlRfU0laRV9VTkxJTUlURUQpOwogCi0gICAgZm9yIChpbnQgaSA9 IDA7IGkgPCBzdHJsZW4ocCk7IGkrKykgewotICAgICAgICBpZiAocFtpXSA9PSAnXG4nKSB7Cisg ICAgd2hpbGUgKCpwKSB7CisgICAgICAgIGlmICgqcCsrID09ICdcbicpIHsKICAgICAgICAgICAg IGF2X2JwcmludGYoJmJ1ZiwgIiVpXHQiLCArK2xpbmUpOwotICAgICAgICAgICAgYXZfYnByaW50 X2FwcGVuZF9kYXRhKCZidWYsIHN0YXJ0LCAmcFtpXSAtIHN0YXJ0ICsgMSk7Ci0gICAgICAgICAg ICBzdGFydCA9ICZwW2kgKyAxXTsKKyAgICAgICAgICAgIGF2X2JwcmludF9hcHBlbmRfZGF0YSgm YnVmLCBzdGFydCwgcCAtIHN0YXJ0KTsKKyAgICAgICAgICAgIHN0YXJ0ID0gcDsKICAgICAgICAg fQogICAgIH0KIAorICAgIC8qIExhc3QgbGluZSB3aXRob3V0ICdcbicgKi8KKyAgICBpZiAocCAh PSBzdGFydCkgeworICAgICAgICBhdl9icHJpbnRmKCZidWYsICIlaVx0IiwgKytsaW5lKTsKKyAg ICAgICAgYXZfYnByaW50ZigmYnVmLCAiJXNcbiIsIHN0YXJ0KTsKKyAgICB9CisKICAgICBhdl9s b2coY3R4LCBwcmlvLCAiU2hhZGVyICVzOiBcbiVzIiwgc2hkLT5uYW1lLCBidWYuc3RyKTsKICAg ICBhdl9icHJpbnRfZmluYWxpemUoJmJ1ZiwgTlVMTCk7CiB9Ci0tIAoyLjI1LjEKCg== --_006_PH0PR11MB49684DA1F26F91640546AA97935B9PH0PR11MB4968namp_ Content-Type: application/octet-stream; name="0005-avfilter-scale_vulkan-use-RET-for-checking-return-va.patch" Content-Description: 0005-avfilter-scale_vulkan-use-RET-for-checking-return-va.patch Content-Disposition: attachment; filename="0005-avfilter-scale_vulkan-use-RET-for-checking-return-va.patch"; size=2241; creation-date="Fri, 21 Jan 2022 11:32:00 GMT"; modification-date="Fri, 21 Jan 2022 11:41:48 GMT" Content-Transfer-Encoding: base64 RnJvbSA0MmFjYjFhZWE4ZGIyZGU5YThhZmIwZmU3NjVjMDg5ZjBhNjU1OTUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KRGF0 ZTogTW9uLCAxNyBKYW4gMjAyMiAxODowMDowMiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggNS81XSBh dmZpbHRlci9zY2FsZV92dWxrYW46IHVzZSBSRVQgZm9yIGNoZWNraW5nIHJldHVybiB2YWx1ZQoK U2lnbmVkLW9mZi1ieTogV3UgSmlhbmh1YSA8amlhbmh1YS53dUBpbnRlbC5jb20+Ci0tLQogbGli YXZmaWx0ZXIvdmZfc2NhbGVfdnVsa2FuLmMgfCAyNCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2xpYmF2ZmlsdGVyL3ZmX3NjYWxlX3Z1bGthbi5jIGIvbGliYXZmaWx0ZXIvdmZfc2Nh bGVfdnVsa2FuLmMKaW5kZXggYzg3YThkN2UyZS4uNWZlMzZjYTdiMCAxMDA2NDQKLS0tIGEvbGli YXZmaWx0ZXIvdmZfc2NhbGVfdnVsa2FuLmMKKysrIGIvbGliYXZmaWx0ZXIvdmZfc2NhbGVfdnVs a2FuLmMKQEAgLTI1MiwxNiArMjUyLDEyIEBAIHN0YXRpYyBhdl9jb2xkIGludCBpbml0X2ZpbHRl cihBVkZpbHRlckNvbnRleHQgKmN0eCwgQVZGcmFtZSAqaW4pCiAgICAgICAgICAgICByZXR1cm4g QVZFUlJPUihFSU5WQUwpOwogICAgICAgICB9CiAKLSAgICAgICAgZXJyID0gZmZfdmtfY3JlYXRl X2J1Zih2a2N0eCwgJnMtPnBhcmFtc19idWYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZW9mKCpwYXIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX0JVRkZF Ul9VU0FHRV9TVE9SQUdFX0JVRkZFUl9CSVQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVktfTUVNT1JZX1BST1BFUlRZX0hPU1RfVklTSUJMRV9CSVQpOwotICAgICAgICBpZiAoZXJy KQotICAgICAgICAgICAgcmV0dXJuIGVycjsKKyAgICAgICAgUkVUKGZmX3ZrX2NyZWF0ZV9idWYo dmtjdHgsICZzLT5wYXJhbXNfYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl b2YoKnBhciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX0JVRkZFUl9VU0FHRV9T VE9SQUdFX0JVRkZFUl9CSVQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZLX01FTU9S WV9QUk9QRVJUWV9IT1NUX1ZJU0lCTEVfQklUKSk7CiAKLSAgICAgICAgZXJyID0gZmZfdmtfbWFw X2J1ZmZlcnModmtjdHgsICZzLT5wYXJhbXNfYnVmLCAodWludDhfdCAqKikmcGFyLCAxLCAwKTsK LSAgICAgICAgaWYgKGVycikKLSAgICAgICAgICAgIHJldHVybiBlcnI7CisgICAgICAgIFJFVChm Zl92a19tYXBfYnVmZmVycyh2a2N0eCwgJnMtPnBhcmFtc19idWYsICh1aW50OF90ICoqKSZwYXIs IDEsIDApKTsKIAogICAgICAgICBmZl9maWxsX3JnYjJ5dXZfdGFibGUobGNvZWZmcywgdG1wX21h dCk7CiAKQEAgLTI3Myw5ICsyNjksNyBAQCBzdGF0aWMgYXZfY29sZCBpbnQgaW5pdF9maWx0ZXIo QVZGaWx0ZXJDb250ZXh0ICpjdHgsIEFWRnJhbWUgKmluKQogCiAgICAgICAgIHBhci0+eXV2X21h dHJpeFszXVszXSA9IDEuMDsKIAotICAgICAgICBlcnIgPSBmZl92a191bm1hcF9idWZmZXJzKHZr Y3R4LCAmcy0+cGFyYW1zX2J1ZiwgMSwgMSk7Ci0gICAgICAgIGlmIChlcnIpCi0gICAgICAgICAg ICByZXR1cm4gZXJyOworICAgICAgICBSRVQoZmZfdmtfdW5tYXBfYnVmZmVycyh2a2N0eCwgJnMt PnBhcmFtc19idWYsIDEsIDEpKTsKIAogICAgICAgICBzLT5wYXJhbXNfZGVzYy5idWZmZXIgPSBz LT5wYXJhbXNfYnVmLmJ1ZjsKICAgICAgICAgcy0+cGFyYW1zX2Rlc2MucmFuZ2UgID0gVktfV0hP TEVfU0laRTsKQEAgLTQ3NSwxMSArNDY5LDcgQEAgc3RhdGljIGludCBzY2FsZV92dWxrYW5fY29u ZmlnX291dHB1dChBVkZpbHRlckxpbmsgKm91dGxpbmspCiAgICAgICAgIHJldHVybiBBVkVSUk9S KEVJTlZBTCk7CiAgICAgfQogCi0gICAgZXJyID0gZmZfdmtfZmlsdGVyX2NvbmZpZ19vdXRwdXQo b3V0bGluayk7Ci0gICAgaWYgKGVyciA8IDApCi0gICAgICAgIHJldHVybiBlcnI7Ci0KLSAgICBy ZXR1cm4gMDsKKyAgICByZXR1cm4gZmZfdmtfZmlsdGVyX2NvbmZpZ19vdXRwdXQob3V0bGluayk7 CiB9CiAKIHN0YXRpYyB2b2lkIHNjYWxlX3Z1bGthbl91bmluaXQoQVZGaWx0ZXJDb250ZXh0ICph dmN0eCkKLS0gCjIuMjUuMQoK --_006_PH0PR11MB49684DA1F26F91640546AA97935B9PH0PR11MB4968namp_ Content-Type: application/octet-stream; name="0001-avfilter-vf_gblur_vulkan-add-sizeV-option.patch" Content-Description: 0001-avfilter-vf_gblur_vulkan-add-sizeV-option.patch Content-Disposition: attachment; filename="0001-avfilter-vf_gblur_vulkan-add-sizeV-option.patch"; size=19908; creation-date="Fri, 21 Jan 2022 11:32:00 GMT"; modification-date="Fri, 21 Jan 2022 11:41:49 GMT" Content-Transfer-Encoding: base64 RnJvbSBjYWExOTcxZTM2NmI2ZWRjMjFkYmQ5ODgyYTQyNDUwMzYyZDlmYTMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KRGF0 ZTogTW9uLCAxMCBKYW4gMjAyMiAxNTo1MzoyMiArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSBh dmZpbHRlci92Zl9nYmx1cl92dWxrYW46IGFkZCBzaXplViBvcHRpb24KClRoaXMgY29tbWl0IGFk ZGVkIGEgc2l6ZVYgb3B0aW9uLCBpbnRlZ3JhdGVkIHNvbWUgaWRlbnRpY2FsIG9wZXJhdGlvbnMK dG8gYSBzZXBhcmF0ZSBmdW5jdGlvbiwgYW5kIHVwZGF0ZWQgdGhlIENHUyBmb3IgaG9yaXpvbnRh bCBhbmQgdmVydGljYWwKcmVzcGVjdGl2ZWx5LgoKVGhlIGZvbGxvd2luZyBjb21tYW5kIGlzIG9u IGhvdyB0byBhcHBseSBzaXplViBvcHRpb246CgpmZm1wZWcgLWluaXRfaHdfZGV2aWNlIHZ1bGth biAtaSBpbnB1dC4yNjQgLXZmIFwKaHd1cGxvYWQsZ2JsdXJfdnVsa2FuPXNpemU9MTI3OnNpZ21h PTIwOnNpemVWPTM6c2lnbWFWPTAuNSxod2Rvd25sb2FkLGZvcm1hdD15dXY0MjBwIFwKLXkgb3V0 LjI2NAoKU2lnbmVkLW9mZi1ieTogV3UgSmlhbmh1YSA8amlhbmh1YS53dUBpbnRlbC5jb20+Ci0t LQogbGliYXZmaWx0ZXIvdmZfZ2JsdXJfdnVsa2FuLmMgfCAyODQgKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEzNCBpbnNlcnRpb25zKCspLCAxNTAg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliYXZmaWx0ZXIvdmZfZ2JsdXJfdnVsa2FuLmMg Yi9saWJhdmZpbHRlci92Zl9nYmx1cl92dWxrYW4uYwppbmRleCBhMmUzM2QxYzkwLi5kNjFmM2M3 NzhjIDEwMDY0NAotLS0gYS9saWJhdmZpbHRlci92Zl9nYmx1cl92dWxrYW4uYworKysgYi9saWJh dmZpbHRlci92Zl9nYmx1cl92dWxrYW4uYwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBjb3B5cmln aHQgKGMpIDIwMjEgV3UgSmlhbmh1YSA8amlhbmh1YS53dUBpbnRlbC5jb20+CisgKiBjb3B5cmln aHQgKGMpIDIwMjEtMjAyMiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KICAqIFRo aXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4KICAqCiAgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC00MiwzOSArNDIsMjUgQEAgdHlw ZWRlZiBzdHJ1Y3QgR0JsdXJWdWxrYW5Db250ZXh0IHsKIAogICAgIGludCBpbml0aWFsaXplZDsK ICAgICBpbnQgc2l6ZTsKKyAgICBpbnQgc2l6ZVY7CiAgICAgaW50IHBsYW5lczsKLSAgICBpbnQg a2VybmVsX3NpemU7CiAgICAgZmxvYXQgc2lnbWE7CiAgICAgZmxvYXQgc2lnbWFWOwogICAgIEFW RnJhbWUgKnRtcGZyYW1lOwogfSBHQmx1clZ1bGthbkNvbnRleHQ7CiAKLXN0YXRpYyBjb25zdCBj aGFyIGdibHVyX2hvcml6b250YWxbXSA9IHsKLSAgICBDKDAsIHZvaWQgZ2JsdXIoY29uc3QgaXZl YzIgcG9zLCBjb25zdCBpbnQgaW5kZXgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICkKLSAgICBDKDAsIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKLSAgICBDKDEsICAgICB2ZWM0IHN1 bSA9IHRleHR1cmUoaW5wdXRfaW1hZ2VbaW5kZXhdLCBwb3MpICoga2VybmVsWzBdOyAgICAgICAg ICAgICAgICAgICkKLSAgICBDKDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKLSAgICBDKDEsICAg ICBmb3IoaW50IGkgPSAxOyBpIDwga2VybmVsLmxlbmd0aCgpOyBpKyspIHsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICkKLSAgICBDKDIsICAgICAgICAgc3VtICs9IHRleHR1cmUoaW5w dXRfaW1hZ2VbaW5kZXhdLCBwb3MgKyB2ZWMyKGksIDAuMCkpICoga2VybmVsW2ldOyAgICkKLSAg ICBDKDIsICAgICAgICAgc3VtICs9IHRleHR1cmUoaW5wdXRfaW1hZ2VbaW5kZXhdLCBwb3MgLSB2 ZWMyKGksIDAuMCkpICoga2VybmVsW2ldOyAgICkKLSAgICBDKDEsICAgICB9ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICkKLSAgICBDKDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKLSAgICBDKDEsICAgICBpbWFn ZVN0b3JlKG91dHB1dF9pbWFnZVtpbmRleF0sIHBvcywgc3VtKTsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICkKLSAgICBDKDAsIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKLX07Ci0KLXN0 YXRpYyBjb25zdCBjaGFyIGdibHVyX3ZlcnRpY2FsW10gPSB7Ci0gICAgQygwLCB2b2lkIGdibHVy KGNvbnN0IGl2ZWMyIHBvcywgY29uc3QgaW50IGluZGV4KSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICApCi0gICAgQygwLCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgQygxLCAg ICAgdmVjNCBzdW0gPSB0ZXh0dXJlKGlucHV0X2ltYWdlW2luZGV4XSwgcG9zKSAqIGtlcm5lbFsw XTsgICAgICAgICAgICAgICAgICApCi0gICAgQygwLCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi0g ICAgQygxLCAgICAgZm9yKGludCBpID0gMTsgaSA8IGtlcm5lbC5sZW5ndGgoKTsgaSsrKSB7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgQygyLCAgICAgICAgIHN1bSArPSB0 ZXh0dXJlKGlucHV0X2ltYWdlW2luZGV4XSwgcG9zICsgdmVjMigwLjAsIGkpKSAqIGtlcm5lbFtp XTsgICApCi0gICAgQygyLCAgICAgICAgIHN1bSArPSB0ZXh0dXJlKGlucHV0X2ltYWdlW2luZGV4 XSwgcG9zIC0gdmVjMigwLjAsIGkpKSAqIGtlcm5lbFtpXTsgICApCi0gICAgQygxLCAgICAgfSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICApCi0gICAgQygwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgQygx LCAgICAgaW1hZ2VTdG9yZShvdXRwdXRfaW1hZ2VbaW5kZXhdLCBwb3MsIHN1bSk7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICApCi0gICAgQygwLCB9ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAp CitzdGF0aWMgY29uc3QgY2hhciBnYmx1cl9mdW5jW10gPSB7CisgICAgQygwLCB2b2lkIGdibHVy KGNvbnN0IGl2ZWMyIHBvcywgY29uc3QgaW50IGluZGV4KSAgICAgICAgICAgICAgICAgICAgICAg ICAgICkKKyAgICBDKDAsIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgIEMoMSwgICAgIHZlYzQgc3VtID0g dGV4dHVyZShpbnB1dF9pbWFnZXNbaW5kZXhdLCBwb3MpICoga2VybmVsWzBdOyAgICAgICAgICAp CisgICAgQygwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICBDKDEsICAgICBmb3IoaW50IGkgPSAxOyBp IDwga2VybmVsLmxlbmd0aCgpOyBpKyspIHsgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAg IEMoMiwgICAgICAgICBzdW0gKz0gdGV4dHVyZShpbnB1dF9pbWFnZXNbaW5kZXhdLCBwb3MgKyBP RkZTRVQpICoga2VybmVsW2ldOyApCisgICAgQygyLCAgICAgICAgIHN1bSArPSB0ZXh0dXJlKGlu cHV0X2ltYWdlc1tpbmRleF0sIHBvcyAtIE9GRlNFVCkgKiBrZXJuZWxbaV07ICkKKyAgICBDKDEs ICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKQorICAgIEMoMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgQygxLCAgICAg aW1hZ2VTdG9yZShvdXRwdXRfaW1hZ2VzW2luZGV4XSwgcG9zLCBzdW0pOyAgICAgICAgICAgICAg ICAgICAgICAgICkKKyAgICBDKDAsIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogfTsKIAogc3RhdGljIGlubGlu ZSBmbG9hdCBnYXVzc2lhbihmbG9hdCBzaWdtYSwgZmxvYXQgeCkKQEAgLTEwOSwzOCArOTUsMTIw IEBAIHN0YXRpYyB2b2lkIGluaXRfZ2F1c3NpYW5fa2VybmVsKGZsb2F0ICprZXJuZWwsIGZsb2F0 IHNpZ21hLCBmbG9hdCBrZXJuZWxfc2l6ZSkKICAgICB9CiB9CiAKLXN0YXRpYyBhdl9jb2xkIHZv aWQgaW5pdF9nYXVzc2lhbl9wYXJhbXMoR0JsdXJWdWxrYW5Db250ZXh0ICpzKQorc3RhdGljIGlu bGluZSB2b2lkIGluaXRfa2VybmVsX3NpemUoR0JsdXJWdWxrYW5Db250ZXh0ICpzLCBpbnQgKm91 dF9zaXplKQogewotICAgIGlmICghKHMtPnNpemUgJiAxKSkgewotICAgICAgICBhdl9sb2cocywg QVZfTE9HX1dBUk5JTkcsICJrZXJuZWwgc2l6ZSBzaG91bGQgYmUgb2RkXG4iKTsKLSAgICAgICAg cy0+c2l6ZSsrOworICAgIGludCBzaXplID0gKm91dF9zaXplOworCisgICAgaWYgKCEoc2l6ZSAm IDEpKSB7CisgICAgICAgIGF2X2xvZyhzLCBBVl9MT0dfV0FSTklORywgIlRoZSBrZXJuZWwgc2l6 ZSBzaG91bGQgYmUgb2RkXG4iKTsKKyAgICAgICAgc2l6ZSsrOwogICAgIH0KKworICAgICpvdXRf c2l6ZSA9IChzaXplID4+IDEpICsgMTsKK30KKworc3RhdGljIGF2X2NvbGQgdm9pZCBpbml0X2dh dXNzaWFuX3BhcmFtcyhHQmx1clZ1bGthbkNvbnRleHQgKnMpCit7CiAgICAgaWYgKHMtPnNpZ21h ViA8PSAwKQogICAgICAgICBzLT5zaWdtYVYgPSBzLT5zaWdtYTsKIAotICAgIHMtPmtlcm5lbF9z aXplID0gKHMtPnNpemUgPj4gMSkgKyAxOworICAgIGluaXRfa2VybmVsX3NpemUocywgJnMtPnNp emUpOworCisgICAgaWYgKHMtPnNpemVWIDw9IDApCisgICAgICAgIHMtPnNpemVWID0gcy0+c2l6 ZTsKKyAgICBlbHNlCisgICAgICAgIGluaXRfa2VybmVsX3NpemUocywgJnMtPnNpemVWKTsKKwog ICAgIHMtPnRtcGZyYW1lID0gTlVMTDsKIH0KIAotc3RhdGljIGF2X2NvbGQgaW50IGluaXRfZmls dGVyKEFWRmlsdGVyQ29udGV4dCAqY3R4LCBBVkZyYW1lICppbikKK3N0YXRpYyBpbnQgaW5pdF9n Ymx1cl9waXBlbGluZShHQmx1clZ1bGthbkNvbnRleHQgKnMsIEZGVnVsa2FuUGlwZWxpbmUgKnBs LCBGRlZrU1BJUlZTaGFkZXIgKnNoZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBG RlZrQnVmZmVyICpwYXJhbXNfYnVmLCBWa0Rlc2NyaXB0b3JCdWZmZXJJbmZvICpwYXJhbXNfZGVz YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQga3NpemUsIGZsb2F0IHNpZ21h KQogewogICAgIGludCBlcnIgPSAwOwotICAgIGNoYXIgKmtlcm5lbF9kZWY7CiAgICAgdWludDhf dCAqa2VybmVsX21hcHBlZDsKLSAgICBGRlZrU1BJUlZTaGFkZXIgKnNoZDsKKworICAgIGNvbnN0 IGludCBwbGFuZXMgPSBhdl9waXhfZm10X2NvdW50X3BsYW5lcyhzLT52a2N0eC5vdXRwdXRfZm9y bWF0KTsKKworICAgIEZGVnVsa2FuRGVzY3JpcHRvclNldEJpbmRpbmcgYnVmX2Rlc2MgPSB7Cisg ICAgICAgIC5uYW1lICAgICAgICA9ICJkYXRhIiwKKyAgICAgICAgLnR5cGUgICAgICAgID0gVktf REVTQ1JJUFRPUl9UWVBFX1NUT1JBR0VfQlVGRkVSLAorICAgICAgICAubWVtX3F1YWxpICAgPSAi cmVhZG9ubHkiLAorICAgICAgICAubWVtX2xheW91dCAgPSAic3RkNDMwIiwKKyAgICAgICAgLnN0 YWdlcyAgICAgID0gVktfU0hBREVSX1NUQUdFX0NPTVBVVEVfQklULAorICAgICAgICAudXBkYXRl ciAgICAgPSBOVUxMLAorICAgICAgICAuYnVmX2NvbnRlbnQgPSBOVUxMLAorICAgIH07CisKKyAg ICBjaGFyICprZXJuZWxfZGVmID0gYXZfYXNwcmludGYoImZsb2F0IGtlcm5lbFslaV07Iiwga3Np emUpOworICAgIGlmICgha2VybmVsX2RlZikKKyAgICAgICAgcmV0dXJuIEFWRVJST1IoRU5PTUVN KTsKKworICAgIGJ1Zl9kZXNjLnVwZGF0ZXIgPSBwYXJhbXNfZGVzYzsKKyAgICBidWZfZGVzYy5i dWZfY29udGVudCA9IGtlcm5lbF9kZWY7CisKKyAgICBSRVQoZmZfdmtfYWRkX2Rlc2NyaXB0b3Jf c2V0KCZzLT52a2N0eCwgcGwsIHNoZCwgJmJ1Zl9kZXNjLCAxLCAwKSk7CisKKyAgICBHTFNMRCgg ICBnYmx1cl9mdW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICApOworICAgIEdMU0xDKDAsIHZvaWQgbWFpbigpICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICk7CisgICAgR0xTTEMoMCwgeyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICBHTFNMQygxLCAgICAg aXZlYzIgc2l6ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwor ICAgIEdMU0xDKDEsICAgICBjb25zdCBpdmVjMiBwb3MgPSBpdmVjMihnbF9HbG9iYWxJbnZvY2F0 aW9uSUQueHkpOyAgICk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwbGFuZXM7IGkrKykgewor ICAgICAgICBHTFNMQygwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICk7CisgICAgICAgIEdMU0xGKDEsICBzaXplID0gaW1hZ2VTaXplKG91dHB1 dF9pbWFnZXNbJWldKTsgICAgICAgICAgICAgICAsaSk7CisgICAgICAgIEdMU0xDKDEsICBpZiAo SVNfV0lUSElOKHBvcywgc2l6ZSkpIHsgICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAg ICAgaWYgKHMtPnBsYW5lcyAmICgxIDw8IGkpKSB7CisgICAgICAgICAgICBHTFNMRigyLCAgICAg IGdibHVyKHBvcywgJWkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICxpKTsKKyAgICAgICAg fSBlbHNlIHsKKyAgICAgICAgICAgIEdMU0xGKDIsIHZlYzQgcmVzID0gdGV4dHVyZShpbnB1dF9p bWFnZXNbJWldLCBwb3MpOyAgICAgICxpKTsKKyAgICAgICAgICAgIEdMU0xGKDIsIGltYWdlU3Rv cmUob3V0cHV0X2ltYWdlc1slaV0sIHBvcywgcmVzKTsgICAgICAgICxpKTsKKyAgICAgICAgfQor ICAgICAgICBHTFNMQygxLCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICk7CisgICAgfQorICAgIEdMU0xDKDAsIH0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisKKyAgICBSRVQoZmZfdmtf Y29tcGlsZV9zaGFkZXIoJnMtPnZrY3R4LCBzaGQsICJtYWluIikpOworCisgICAgUkVUKGZmX3Zr X2luaXRfcGlwZWxpbmVfbGF5b3V0KCZzLT52a2N0eCwgcGwpKTsKKyAgICBSRVQoZmZfdmtfaW5p dF9jb21wdXRlX3BpcGVsaW5lKCZzLT52a2N0eCwgcGwpKTsKKworICAgIFJFVChmZl92a19jcmVh dGVfYnVmKCZzLT52a2N0eCwgcGFyYW1zX2J1Ziwgc2l6ZW9mKGZsb2F0KSAqIGtzaXplLAorICAg ICAgICAgICAgICAgICAgICAgICAgIFZLX0JVRkZFUl9VU0FHRV9TVE9SQUdFX0JVRkZFUl9CSVQs IFZLX01FTU9SWV9QUk9QRVJUWV9IT1NUX1ZJU0lCTEVfQklUKSk7CisgICAgUkVUKGZmX3ZrX21h cF9idWZmZXJzKCZzLT52a2N0eCwgcGFyYW1zX2J1ZiwgJmtlcm5lbF9tYXBwZWQsIDEsIDApKTsK KworICAgIGluaXRfZ2F1c3NpYW5fa2VybmVsKChmbG9hdCAqKWtlcm5lbF9tYXBwZWQsIHNpZ21h LCBrc2l6ZSk7CisKKyAgICBSRVQoZmZfdmtfdW5tYXBfYnVmZmVycygmcy0+dmtjdHgsIHBhcmFt c19idWYsIDEsIDEpKTsKKworICAgIHBhcmFtc19kZXNjLT5idWZmZXIgPSBwYXJhbXNfYnVmLT5i dWY7CisgICAgcGFyYW1zX2Rlc2MtPnJhbmdlICA9IFZLX1dIT0xFX1NJWkU7CisKKyAgICBmZl92 a191cGRhdGVfZGVzY3JpcHRvcl9zZXQoJnMtPnZrY3R4LCBwbCwgMSk7CisKK2ZhaWw6CisgICAg YXZfZnJlZShrZXJuZWxfZGVmKTsKKyAgICByZXR1cm4gZXJyOworfQorCitzdGF0aWMgYXZfY29s ZCBpbnQgaW5pdF9maWx0ZXIoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIEFWRnJhbWUgKmluKQorewor ICAgIGludCBlcnIgPSAwOwogICAgIEdCbHVyVnVsa2FuQ29udGV4dCAqcyA9IGN0eC0+cHJpdjsK KyAgICBGRlZrU1BJUlZTaGFkZXIgKnNoZDsKICAgICBjb25zdCBpbnQgcGxhbmVzID0gYXZfcGl4 X2ZtdF9jb3VudF9wbGFuZXMocy0+dmtjdHgub3V0cHV0X2Zvcm1hdCk7CiAKICAgICBGRlZ1bGth bkRlc2NyaXB0b3JTZXRCaW5kaW5nIGltYWdlX2Rlc2NzW10gPSB7CiAgICAgICAgIHsKLSAgICAg ICAgICAgIC5uYW1lICAgICAgID0gImlucHV0X2ltYWdlIiwKKyAgICAgICAgICAgIC5uYW1lICAg ICAgID0gImlucHV0X2ltYWdlcyIsCiAgICAgICAgICAgICAudHlwZSAgICAgICA9IFZLX0RFU0NS SVBUT1JfVFlQRV9DT01CSU5FRF9JTUFHRV9TQU1QTEVSLAogICAgICAgICAgICAgLmRpbWVuc2lv bnMgPSAyLAogICAgICAgICAgICAgLmVsZW1zICAgICAgPSBwbGFuZXMsCiAgICAgICAgICAgICAu c3RhZ2VzICAgICA9IFZLX1NIQURFUl9TVEFHRV9DT01QVVRFX0JJVCwKICAgICAgICAgfSwKICAg ICAgICAgewotICAgICAgICAgICAgLm5hbWUgICAgICAgPSAib3V0cHV0X2ltYWdlIiwKKyAgICAg ICAgICAgIC5uYW1lICAgICAgID0gIm91dHB1dF9pbWFnZXMiLAogICAgICAgICAgICAgLnR5cGUg ICAgICAgPSBWS19ERVNDUklQVE9SX1RZUEVfU1RPUkFHRV9JTUFHRSwKICAgICAgICAgICAgIC5t ZW1fbGF5b3V0ID0gZmZfdmtfc2hhZGVyX3JlcF9mbXQocy0+dmtjdHgub3V0cHV0X2Zvcm1hdCks CiAgICAgICAgICAgICAubWVtX3F1YWxpICA9ICJ3cml0ZW9ubHkiLApAQCAtMTUwLDM0ICsyMTgs MTggQEAgc3RhdGljIGF2X2NvbGQgaW50IGluaXRfZmlsdGVyKEFWRmlsdGVyQ29udGV4dCAqY3R4 LCBBVkZyYW1lICppbikKICAgICAgICAgfSwKICAgICB9OwogCi0gICAgRkZWdWxrYW5EZXNjcmlw dG9yU2V0QmluZGluZyBidWZfZGVzYyA9IHsKLSAgICAgICAgLm5hbWUgICAgICAgID0gImRhdGEi LAotICAgICAgICAudHlwZSAgICAgICAgPSBWS19ERVNDUklQVE9SX1RZUEVfU1RPUkFHRV9CVUZG RVIsCi0gICAgICAgIC5tZW1fcXVhbGkgICA9ICJyZWFkb25seSIsCi0gICAgICAgIC5tZW1fbGF5 b3V0ICA9ICJzdGQ0MzAiLAotICAgICAgICAuc3RhZ2VzICAgICAgPSBWS19TSEFERVJfU1RBR0Vf Q09NUFVURV9CSVQsCi0gICAgICAgIC51cGRhdGVyICAgICA9IE5VTEwsCi0gICAgICAgIC5idWZf Y29udGVudCA9IE5VTEwsCi0gICAgfTsKLQogICAgIGltYWdlX2Rlc2NzWzBdLnNhbXBsZXIgPSBm Zl92a19pbml0X3NhbXBsZXIoJnMtPnZrY3R4LCAxLCBWS19GSUxURVJfTElORUFSKTsKICAgICBp ZiAoIWltYWdlX2Rlc2NzWzBdLnNhbXBsZXIpCi0gICAgICAgICAgICByZXR1cm4gQVZFUlJPUl9F WFRFUk5BTDsKKyAgICAgICAgcmV0dXJuIEFWRVJST1JfRVhURVJOQUw7CiAKICAgICBpbml0X2dh dXNzaWFuX3BhcmFtcyhzKTsKIAotICAgIGtlcm5lbF9kZWYgPSBhdl9hc3ByaW50ZigiZmxvYXQg a2VybmVsWyVpXTsiLCBzLT5rZXJuZWxfc2l6ZSk7Ci0gICAgaWYgKCFrZXJuZWxfZGVmKQotICAg ICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwotCi0gICAgYnVmX2Rlc2MuYnVmX2NvbnRlbnQg PSBrZXJuZWxfZGVmOwotCiAgICAgZmZfdmtfcWZfaW5pdCgmcy0+dmtjdHgsICZzLT5xZiwgVktf UVVFVUVfQ09NUFVURV9CSVQsIDApOwogCi0gICAgeyAvKiBDcmVhdGUgc2hhZGVyIGZvciB0aGUg aG9yaXpvbnRhbCBwYXNzICovCisgICAgeworICAgICAgICAvKiBDcmVhdGUgc2hhZGVyIGZvciB0 aGUgaG9yaXpvbnRhbCBwYXNzICovCiAgICAgICAgIGltYWdlX2Rlc2NzWzBdLnVwZGF0ZXIgPSBz LT5pbnB1dF9pbWFnZXM7CiAgICAgICAgIGltYWdlX2Rlc2NzWzFdLnVwZGF0ZXIgPSBzLT50bXBf aW1hZ2VzOwotICAgICAgICBidWZfZGVzYy51cGRhdGVyID0gJnMtPnBhcmFtc19kZXNjX2hvcjsK IAogICAgICAgICBzLT5wbF9ob3IgPSBmZl92a19jcmVhdGVfcGlwZWxpbmUoJnMtPnZrY3R4LCAm cy0+cWYpOwogICAgICAgICBpZiAoIXMtPnBsX2hvcikgewpAQCAtMTkxLDUyICsyNDMsMTggQEAg c3RhdGljIGF2X2NvbGQgaW50IGluaXRfZmlsdGVyKEFWRmlsdGVyQ29udGV4dCAqY3R4LCBBVkZy YW1lICppbikKICAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAgICAgfQogCi0gICAgICAgIGZm X3ZrX3NldF9jb21wdXRlX3NoYWRlcl9zaXplcyhzaGQsIChpbnQgWzNdKXsgQ0dTLCBDR1MsIDEg fSk7CisgICAgICAgIGZmX3ZrX3NldF9jb21wdXRlX3NoYWRlcl9zaXplcyhzaGQsIChpbnQgWzNd KXsgQ0dTLCAxLCAxIH0pOwogICAgICAgICBSRVQoZmZfdmtfYWRkX2Rlc2NyaXB0b3Jfc2V0KCZz LT52a2N0eCwgcy0+cGxfaG9yLCBzaGQsIGltYWdlX2Rlc2NzLCBGRl9BUlJBWV9FTEVNUyhpbWFn ZV9kZXNjcyksIDApKTsKLSAgICAgICAgUkVUKGZmX3ZrX2FkZF9kZXNjcmlwdG9yX3NldCgmcy0+ dmtjdHgsIHMtPnBsX2hvciwgc2hkLCAmYnVmX2Rlc2MsIDEsIDApKTsKLQotICAgICAgICBHTFNM RCggICBnYmx1cl9ob3Jpem9udGFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICApOwotICAgICAgICBHTFNMQygwLCB2b2lkIG1haW4oKSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICApOwotICAgICAgICBHTFNMQygwLCB7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwotICAgICAg ICBHTFNMQygxLCAgICAgaXZlYzIgc2l6ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICApOwotICAgICAgICBHTFNMQygxLCAgICAgY29uc3QgaXZlYzIgcG9zID0gaXZl YzIoZ2xfR2xvYmFsSW52b2NhdGlvbklELnh5KTsgICApOwotICAgICAgICBmb3IgKGludCBpID0g MDsgaSA8IHBsYW5lczsgaSsrKSB7Ci0gICAgICAgICAgICBHTFNMQygwLCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgICAgICAgICBH TFNMRigxLCAgc2l6ZSA9IGltYWdlU2l6ZShvdXRwdXRfaW1hZ2VbJWldKTsgICAgICAgICAgICAg ICAsaSk7Ci0gICAgICAgICAgICBHTFNMQygxLCAgaWYgKElTX1dJVEhJTihwb3MsIHNpemUpKSB7 ICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgICAgICAgICBpZiAocy0+cGxhbmVzICYg KDEgPDwgaSkpIHsKLSAgICAgICAgICAgICAgICBHTFNMRigyLCAgICAgIGdibHVyKHBvcywgJWkp OyAgICAgICAgICAgICAgICAgICAgICAgICAgICxpKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0g ICAgICAgICAgICAgICAgR0xTTEYoMiwgdmVjNCByZXMgPSB0ZXh0dXJlKGlucHV0X2ltYWdlWyVp XSwgcG9zKTsgICAgICAsaSk7Ci0gICAgICAgICAgICAgICAgR0xTTEYoMiwgaW1hZ2VTdG9yZShv dXRwdXRfaW1hZ2VbJWldLCBwb3MsIHJlcyk7ICAgICAgICAsaSk7Ci0gICAgICAgICAgICB9Ci0g ICAgICAgICAgICBHTFNMQygxLCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLSAgICAgICAgR0xTTEMoMCwgfSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsKLQotICAg ICAgICBSRVQoZmZfdmtfY29tcGlsZV9zaGFkZXIoJnMtPnZrY3R4LCBzaGQsICJtYWluIikpOwog Ci0gICAgICAgIFJFVChmZl92a19pbml0X3BpcGVsaW5lX2xheW91dCgmcy0+dmtjdHgsIHMtPnBs X2hvcikpOwotICAgICAgICBSRVQoZmZfdmtfaW5pdF9jb21wdXRlX3BpcGVsaW5lKCZzLT52a2N0 eCwgcy0+cGxfaG9yKSk7Ci0KLSAgICAgICAgUkVUKGZmX3ZrX2NyZWF0ZV9idWYoJnMtPnZrY3R4 LCAmcy0+cGFyYW1zX2J1Zl9ob3IsIHNpemVvZihmbG9hdCkgKiBzLT5rZXJuZWxfc2l6ZSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfQlVGRkVSX1VTQUdFX1NUT1JBR0VfQlVGRkVS X0JJVCwgVktfTUVNT1JZX1BST1BFUlRZX0hPU1RfVklTSUJMRV9CSVQpKTsKLSAgICAgICAgUkVU KGZmX3ZrX21hcF9idWZmZXJzKCZzLT52a2N0eCwgJnMtPnBhcmFtc19idWZfaG9yLCAma2VybmVs X21hcHBlZCwgMSwgMCkpOwotCi0gICAgICAgIGluaXRfZ2F1c3NpYW5fa2VybmVsKChmbG9hdCAq KWtlcm5lbF9tYXBwZWQsIHMtPnNpZ21hLCBzLT5rZXJuZWxfc2l6ZSk7Ci0KLSAgICAgICAgUkVU KGZmX3ZrX3VubWFwX2J1ZmZlcnMoJnMtPnZrY3R4LCAmcy0+cGFyYW1zX2J1Zl9ob3IsIDEsIDEp KTsKLQotICAgICAgICBzLT5wYXJhbXNfZGVzY19ob3IuYnVmZmVyID0gcy0+cGFyYW1zX2J1Zl9o b3IuYnVmOwotICAgICAgICBzLT5wYXJhbXNfZGVzY19ob3IucmFuZ2UgID0gVktfV0hPTEVfU0la RTsKLQotICAgICAgICBmZl92a191cGRhdGVfZGVzY3JpcHRvcl9zZXQoJnMtPnZrY3R4LCBzLT5w bF9ob3IsIDEpOworICAgICAgICBHTFNMQygwLCAjZGVmaW5lIE9GRlNFVCAodmVjMihpLCAwLjAp KSk7CisgICAgICAgIFJFVChpbml0X2dibHVyX3BpcGVsaW5lKHMsIHMtPnBsX2hvciwgc2hkLCAm cy0+cGFyYW1zX2J1Zl9ob3IsICZzLT5wYXJhbXNfZGVzY19ob3IsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHMtPnNpemUsIHMtPnNpZ21hKSk7CiAgICAgfQogCi0gICAgeyAvKiBD cmVhdGUgc2hhZGVyIGZvciB0aGUgdmVydGljYWwgcGFzcyAqLworICAgIHsKKyAgICAgICAgLyog Q3JlYXRlIHNoYWRlciBmb3IgdGhlIHZlcnRpY2FsIHBhc3MgKi8KICAgICAgICAgaW1hZ2VfZGVz Y3NbMF0udXBkYXRlciA9IHMtPnRtcF9pbWFnZXM7CiAgICAgICAgIGltYWdlX2Rlc2NzWzFdLnVw ZGF0ZXIgPSBzLT5vdXRwdXRfaW1hZ2VzOwotICAgICAgICBidWZfZGVzYy51cGRhdGVyID0gJnMt PnBhcmFtc19kZXNjX3ZlcjsKIAogICAgICAgICBzLT5wbF92ZXIgPSBmZl92a19jcmVhdGVfcGlw ZWxpbmUoJnMtPnZrY3R4LCAmcy0+cWYpOwogICAgICAgICBpZiAoIXMtPnBsX3ZlcikgewpAQCAt MjUwLDQ2ICsyNjgsMTIgQEAgc3RhdGljIGF2X2NvbGQgaW50IGluaXRfZmlsdGVyKEFWRmlsdGVy Q29udGV4dCAqY3R4LCBBVkZyYW1lICppbikKICAgICAgICAgICAgIGdvdG8gZmFpbDsKICAgICAg ICAgfQogCi0gICAgICAgIGZmX3ZrX3NldF9jb21wdXRlX3NoYWRlcl9zaXplcyhzaGQsIChpbnQg WzNdKXsgQ0dTLCBDR1MsIDEgfSk7CisgICAgICAgIGZmX3ZrX3NldF9jb21wdXRlX3NoYWRlcl9z aXplcyhzaGQsIChpbnQgWzNdKXsgMSwgQ0dTLCAxIH0pOwogICAgICAgICBSRVQoZmZfdmtfYWRk X2Rlc2NyaXB0b3Jfc2V0KCZzLT52a2N0eCwgcy0+cGxfdmVyLCBzaGQsIGltYWdlX2Rlc2NzLCBG Rl9BUlJBWV9FTEVNUyhpbWFnZV9kZXNjcyksIDApKTsKLSAgICAgICAgUkVUKGZmX3ZrX2FkZF9k ZXNjcmlwdG9yX3NldCgmcy0+dmtjdHgsIHMtPnBsX3Zlciwgc2hkLCAmYnVmX2Rlc2MsIDEsIDAp KTsKLQotICAgICAgICBHTFNMRCggICBnYmx1cl92ZXJ0aWNhbCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICApOwotICAgICAgICBHTFNMQygwLCB2b2lkIG1haW4oKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwotICAgICAgICBH TFNMQygwLCB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICApOwotICAgICAgICBHTFNMQygxLCAgICAgaXZlYzIgc2l6ZTsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOwotICAgICAgICBHTFNMQygxLCAgICAgY29u c3QgaXZlYzIgcG9zID0gaXZlYzIoZ2xfR2xvYmFsSW52b2NhdGlvbklELnh5KTsgICApOwotICAg ICAgICBmb3IgKGludCBpID0gMDsgaSA8IHBsYW5lczsgaSsrKSB7Ci0gICAgICAgICAgICBHTFNM QygwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICk7Ci0gICAgICAgICAgICBHTFNMRigxLCAgc2l6ZSA9IGltYWdlU2l6ZShvdXRwdXRfaW1hZ2Vb JWldKTsgICAgICAgICAgICAgICAsaSk7Ci0gICAgICAgICAgICBHTFNMQygxLCAgaWYgKElTX1dJ VEhJTihwb3MsIHNpemUpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgICAgICAg ICBpZiAocy0+cGxhbmVzICYgKDEgPDwgaSkpIHsKLSAgICAgICAgICAgICAgICBHTFNMRigyLCAg ICAgIGdibHVyKHBvcywgJWkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICxpKTsKLSAgICAg ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgR0xTTEYoMiwgdmVjNCByZXMgPSB0ZXh0 dXJlKGlucHV0X2ltYWdlWyVpXSwgcG9zKTsgICAgICAsaSk7Ci0gICAgICAgICAgICAgICAgR0xT TEYoMiwgaW1hZ2VTdG9yZShvdXRwdXRfaW1hZ2VbJWldLCBwb3MsIHJlcyk7ICAgICAgICAsaSk7 Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBHTFNMQygxLCB9ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgICAgIH0KLSAgICAgICAg R0xTTEMoMCwgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKTsKLQotICAgICAgICBSRVQoZmZfdmtfY29tcGlsZV9zaGFkZXIoJnMtPnZrY3R4 LCBzaGQsICJtYWluIikpOwotCi0gICAgICAgIFJFVChmZl92a19pbml0X3BpcGVsaW5lX2xheW91 dCgmcy0+dmtjdHgsIHMtPnBsX3ZlcikpOwotICAgICAgICBSRVQoZmZfdmtfaW5pdF9jb21wdXRl X3BpcGVsaW5lKCZzLT52a2N0eCwgcy0+cGxfdmVyKSk7Ci0KLSAgICAgICAgUkVUKGZmX3ZrX2Ny ZWF0ZV9idWYoJnMtPnZrY3R4LCAmcy0+cGFyYW1zX2J1Zl92ZXIsIHNpemVvZihmbG9hdCkgKiBz LT5rZXJuZWxfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVktfQlVGRkVSX1VT QUdFX1NUT1JBR0VfQlVGRkVSX0JJVCwgVktfTUVNT1JZX1BST1BFUlRZX0hPU1RfVklTSUJMRV9C SVQpKTsKLSAgICAgICAgUkVUKGZmX3ZrX21hcF9idWZmZXJzKCZzLT52a2N0eCwgJnMtPnBhcmFt c19idWZfdmVyLCAma2VybmVsX21hcHBlZCwgMSwgMCkpOwotCi0gICAgICAgIGluaXRfZ2F1c3Np YW5fa2VybmVsKChmbG9hdCAqKWtlcm5lbF9tYXBwZWQsIHMtPnNpZ21hViwgcy0+a2VybmVsX3Np emUpOwotCi0gICAgICAgIFJFVChmZl92a191bm1hcF9idWZmZXJzKCZzLT52a2N0eCwgJnMtPnBh cmFtc19idWZfdmVyLCAxLCAxKSk7CiAKLSAgICAgICAgcy0+cGFyYW1zX2Rlc2NfdmVyLmJ1ZmZl ciA9IHMtPnBhcmFtc19idWZfdmVyLmJ1ZjsKLSAgICAgICAgcy0+cGFyYW1zX2Rlc2NfdmVyLnJh bmdlICA9IFZLX1dIT0xFX1NJWkU7Ci0KLSAgICAgICAgZmZfdmtfdXBkYXRlX2Rlc2NyaXB0b3Jf c2V0KCZzLT52a2N0eCwgcy0+cGxfdmVyLCAxKTsKKyAgICAgICAgR0xTTEMoMCwgI2RlZmluZSBP RkZTRVQgKHZlYzIoMC4wLCBpKSkpOworICAgICAgICBSRVQoaW5pdF9nYmx1cl9waXBlbGluZShz LCBzLT5wbF92ZXIsIHNoZCwgJnMtPnBhcmFtc19idWZfdmVyLCAmcy0+cGFyYW1zX2Rlc2NfdmVy LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzLT5zaXplViwgcy0+c2lnbWFWKSk7 CiAgICAgfQogCiAgICAgUkVUKGZmX3ZrX2NyZWF0ZV9leGVjX2N0eCgmcy0+dmtjdHgsICZzLT5l eGVjLCAmcy0+cWYpKTsKQEAgLTI5Nyw3ICsyODEsNiBAQCBzdGF0aWMgYXZfY29sZCBpbnQgaW5p dF9maWx0ZXIoQVZGaWx0ZXJDb250ZXh0ICpjdHgsIEFWRnJhbWUgKmluKQogICAgIHMtPmluaXRp YWxpemVkID0gMTsKIAogZmFpbDoKLSAgICBhdl9mcmVlKGtlcm5lbF9kZWYpOwogICAgIHJldHVy biBlcnI7CiB9CiAKQEAgLTMxOCwyMiArMzAxLDIxIEBAIHN0YXRpYyBpbnQgcHJvY2Vzc19mcmFt ZXMoQVZGaWx0ZXJDb250ZXh0ICphdmN0eCwgQVZGcmFtZSAqb3V0ZnJhbWUsIEFWRnJhbWUgKmlu CiB7CiAgICAgaW50IGVycjsKICAgICBWa0NvbW1hbmRCdWZmZXIgY21kX2J1ZjsKLQotICAgIGNv bnN0IFZrRm9ybWF0ICppbnB1dF9mb3JtYXRzID0gTlVMTDsKLSAgICBjb25zdCBWa0Zvcm1hdCAq b3V0cHV0X2Zvcm1hdHMgPSBOVUxMOwogICAgIEdCbHVyVnVsa2FuQ29udGV4dCAqcyA9IGF2Y3R4 LT5wcml2OwogICAgIEZGVnVsa2FuRnVuY3Rpb25zICp2ayA9ICZzLT52a2N0eC52a2ZuOwotICAg IEFWVmtGcmFtZSAqaW4gPSAoQVZWa0ZyYW1lICopaW5mcmFtZS0+ZGF0YVswXTsKLSAgICBBVlZr RnJhbWUgKnRtcCA9IChBVlZrRnJhbWUgKilzLT50bXBmcmFtZS0+ZGF0YVswXTsKKworICAgIGNv bnN0IGludCBwbGFuZXMgPSBhdl9waXhfZm10X2NvdW50X3BsYW5lcyhzLT52a2N0eC5vdXRwdXRf Zm9ybWF0KTsKKworICAgIEFWVmtGcmFtZSAqaW4gID0gKEFWVmtGcmFtZSAqKWluZnJhbWUtPmRh dGFbMF07CiAgICAgQVZWa0ZyYW1lICpvdXQgPSAoQVZWa0ZyYW1lICopb3V0ZnJhbWUtPmRhdGFb MF07CisgICAgQVZWa0ZyYW1lICp0bXAgPSAoQVZWa0ZyYW1lICopcy0+dG1wZnJhbWUtPmRhdGFb MF07CiAKLSAgICBpbnQgcGxhbmVzID0gYXZfcGl4X2ZtdF9jb3VudF9wbGFuZXMocy0+dmtjdHgu b3V0cHV0X2Zvcm1hdCk7CisgICAgY29uc3QgVmtGb3JtYXQgKmlucHV0X2Zvcm1hdHMgID0gYXZf dmtmbXRfZnJvbV9waXhmbXQocy0+dmtjdHguaW5wdXRfZm9ybWF0KTsKKyAgICBjb25zdCBWa0Zv cm1hdCAqb3V0cHV0X2Zvcm1hdHMgPSBhdl92a2ZtdF9mcm9tX3BpeGZtdChzLT52a2N0eC5vdXRw dXRfZm9ybWF0KTsKIAogICAgIGZmX3ZrX3N0YXJ0X2V4ZWNfcmVjb3JkaW5nKCZzLT52a2N0eCwg cy0+ZXhlYyk7CiAgICAgY21kX2J1ZiA9IGZmX3ZrX2dldF9leGVjX2J1ZihzLT5leGVjKTsKIAot ICAgIGlucHV0X2Zvcm1hdHMgPSBhdl92a2ZtdF9mcm9tX3BpeGZtdChzLT52a2N0eC5pbnB1dF9m b3JtYXQpOwotICAgIG91dHB1dF9mb3JtYXRzID0gYXZfdmtmbXRfZnJvbV9waXhmbXQocy0+dmtj dHgub3V0cHV0X2Zvcm1hdCk7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBwbGFuZXM7IGkrKykg ewogICAgICAgICBSRVQoZmZfdmtfY3JlYXRlX2ltYWdldmlldygmcy0+dmtjdHgsIHMtPmV4ZWMs ICZzLT5pbnB1dF9pbWFnZXNbaV0uaW1hZ2VWaWV3LAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbi0+aW1nW2ldLApAQCAtNDE4LDExICs0MDAsMTEgQEAgc3RhdGljIGludCBw cm9jZXNzX2ZyYW1lcyhBVkZpbHRlckNvbnRleHQgKmF2Y3R4LCBBVkZyYW1lICpvdXRmcmFtZSwg QVZGcmFtZSAqaW4KICAgICBmZl92a19iaW5kX3BpcGVsaW5lX2V4ZWMoJnMtPnZrY3R4LCBzLT5l eGVjLCBzLT5wbF9ob3IpOwogCiAgICAgdmstPkNtZERpc3BhdGNoKGNtZF9idWYsIEZGQUxJR04o cy0+dmtjdHgub3V0cHV0X3dpZHRoLCBDR1MpL0NHUywKLSAgICAgICAgICAgICAgICAgICAgRkZB TElHTihzLT52a2N0eC5vdXRwdXRfaGVpZ2h0LCBDR1MpL0NHUywgMSk7CisgICAgICAgICAgICAg ICAgICAgIHMtPnZrY3R4Lm91dHB1dF9oZWlnaHQsIDEpOwogCiAgICAgZmZfdmtfYmluZF9waXBl bGluZV9leGVjKCZzLT52a2N0eCwgcy0+ZXhlYywgcy0+cGxfdmVyKTsKIAotICAgIHZrLT5DbWRE aXNwYXRjaChjbWRfYnVmLCBGRkFMSUdOKHMtPnZrY3R4Lm91dHB1dF93aWR0aCwgQ0dTKS9DR1Ms CisgICAgdmstPkNtZERpc3BhdGNoKGNtZF9idWYscy0+dmtjdHgub3V0cHV0X3dpZHRoLAogICAg ICAgICAgICAgICAgICAgICBGRkFMSUdOKHMtPnZrY3R4Lm91dHB1dF9oZWlnaHQsIENHUykvQ0dT LCAxKTsKIAogICAgIGZmX3ZrX2FkZF9leGVjX2RlcCgmcy0+dmtjdHgsIHMtPmV4ZWMsIGluZnJh bWUsIFZLX1BJUEVMSU5FX1NUQUdFX1RPUF9PRl9QSVBFX0JJVCk7CkBAIC00MzUsNiArNDE3LDcg QEAgc3RhdGljIGludCBwcm9jZXNzX2ZyYW1lcyhBVkZpbHRlckNvbnRleHQgKmF2Y3R4LCBBVkZy YW1lICpvdXRmcmFtZSwgQVZGcmFtZSAqaW4KICAgICBmZl92a19xZl9yb3RhdGUoJnMtPnFmKTsK IAogICAgIHJldHVybiAwOworCiBmYWlsOgogICAgIGZmX3ZrX2Rpc2NhcmRfZXhlY19kZXBzKHMt PmV4ZWMpOwogICAgIHJldHVybiBlcnI7CkBAIC00ODIsMTAgKzQ2NSwxMSBAQCBmYWlsOgogI2Rl ZmluZSBPRkZTRVQoeCkgb2Zmc2V0b2YoR0JsdXJWdWxrYW5Db250ZXh0LCB4KQogI2RlZmluZSBG TEFHUyAoQVZfT1BUX0ZMQUdfRklMVEVSSU5HX1BBUkFNIHwgQVZfT1BUX0ZMQUdfVklERU9fUEFS QU0pCiBzdGF0aWMgY29uc3QgQVZPcHRpb24gZ2JsdXJfdnVsa2FuX29wdGlvbnNbXSA9IHsKLSAg ICB7ICJzaWdtYSIsICAiU2V0IHNpZ21hIiwgICAgICAgICAgICBPRkZTRVQoc2lnbWEpLCAgQVZf T1BUX1RZUEVfRkxPQVQsIHsuZGJsID0gMC41fSwgMC4wMSwgMTAyNC4wLCAgICAgICAgICAgICAg ICBGTEFHUyB9LAotICAgIHsgInNpZ21hViIsICJTZXQgdmVydGljYWwgc2lnbWEiLCAgIE9GRlNF VChzaWdtYVYpLCBBVl9PUFRfVFlQRV9GTE9BVCwgey5kYmwgPSAwfSwgICAwLjAsICAxMDI0LjAs ICAgICAgICAgICAgICAgIEZMQUdTIH0sCi0gICAgeyAicGxhbmVzIiwgIlNldCBwbGFuZXMgdG8g ZmlsdGVyIiwgT0ZGU0VUKHBsYW5lcyksIEFWX09QVF9UWVBFX0lOVCwgICB7Lmk2NCA9IDB4Rn0s IDAsICAgIDB4RiwgICAgICAgICAgICAgICAgICAgRkxBR1MgfSwKLSAgICB7ICJzaXplIiwgICAi U2V0IGtlcm5lbCBzaXplIiwgICAgICBPRkZTRVQoc2l6ZSksICAgQVZfT1BUX1RZUEVfSU5ULCAg IHsuaTY0ID0gMTl9LCAgMSwgICAgR0JMVVJfTUFYX0tFUk5FTF9TSVpFLCBGTEFHUyB9LAorICAg IHsgInNpZ21hIiwgICJTZXQgc2lnbWEiLCAgICAgICAgICAgICAgICBPRkZTRVQoc2lnbWEpLCAg QVZfT1BUX1RZUEVfRkxPQVQsIHsgLmRibCA9IDAuNSB9LCAwLjAxLCAxMDI0LjAsICAgICAgICAg ICAgICAgIEZMQUdTIH0sCisgICAgeyAic2lnbWFWIiwgIlNldCB2ZXJ0aWNhbCBzaWdtYSIsICAg ICAgIE9GRlNFVChzaWdtYVYpLCBBVl9PUFRfVFlQRV9GTE9BVCwgeyAuZGJsID0gMCAgIH0sIDAu MCwgIDEwMjQuMCwgICAgICAgICAgICAgICAgRkxBR1MgfSwKKyAgICB7ICJwbGFuZXMiLCAiU2V0 IHBsYW5lcyB0byBmaWx0ZXIiLCAgICAgT0ZGU0VUKHBsYW5lcyksIEFWX09QVF9UWVBFX0lOVCwg ICB7IC5pNjQgPSAweEYgfSwgMCwgICAgMHhGLCAgICAgICAgICAgICAgICAgICBGTEFHUyB9LAor ICAgIHsgInNpemUiLCAgICJTZXQga2VybmVsIHNpemUiLCAgICAgICAgICBPRkZTRVQoc2l6ZSks ICAgQVZfT1BUX1RZUEVfSU5ULCAgIHsgLmk2NCA9IDE5ICB9LCAxLCAgICBHQkxVUl9NQVhfS0VS TkVMX1NJWkUsIEZMQUdTIH0sCisgICAgeyAic2l6ZVYiLCAgIlNldCB2ZXJ0aWNhbCBrZXJuZWwg c2l6ZSIsIE9GRlNFVChzaXplViksICBBVl9PUFRfVFlQRV9JTlQsICAgeyAuaTY0ID0gMCAgIH0s IDAsICAgIEdCTFVSX01BWF9LRVJORUxfU0laRSwgRkxBR1MgfSwKICAgICB7IE5VTEwgfSwKIH07 CiAKLS0gCjIuMjUuMQoK --_006_PH0PR11MB49684DA1F26F91640546AA97935B9PH0PR11MB4968namp_ Content-Type: application/octet-stream; name="0002-avfilter-add-shader_vulkan-filter.patch" Content-Description: 0002-avfilter-add-shader_vulkan-filter.patch Content-Disposition: attachment; filename="0002-avfilter-add-shader_vulkan-filter.patch"; size=14963; creation-date="Fri, 21 Jan 2022 11:32:00 GMT"; modification-date="Fri, 21 Jan 2022 11:41:49 GMT" Content-Transfer-Encoding: base64 RnJvbSAzYzZkNzJjYzMzMTRhZmQ3OTJhYzdiMDRjNjUxNTczMjZiMmJiZDA3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXdSBKaWFuaHVhIDxqaWFuaHVhLnd1QGludGVsLmNvbT4KRGF0 ZTogVHVlLCAxMSBKYW4gMjAyMiAxODoxNjoxNCArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMi81XSBh dmZpbHRlcjogYWRkIHNoYWRlcl92dWxrYW4gZmlsdGVyCgpUaGUgZm9sbG93aW5nIGNvbW1hbmQg aXMgb24gaG93IHRvIGFwcGx5IHNoYWRlcl92dWxrYW4gZmlsdGVyOgoKZmZtcGVnIC1pbml0X2h3 X2RldmljZSB2dWxrYW4gLWkgaW5wdXQuMjY0IC12ZiBcCmh3dXBsb2FkLHNoYWRlcl92dWxrYW49 cGF0aD1FeGFtcGxlLmdsc2w6bG9jYWxfc2l6ZV94PTMyOlwKbG9jYWxfc2l6ZV95PTE6ZmlsdGVy PW5lYXJlc3QsaHdkb3dubG9hZCxmb3JtYXQ9eXV2NDIwcCBcCm91dHB1dC4yNjQKCkV4YW1wbGUu Z2xzbDoKCi8vIHZmX3NoYWRlcl92dWxrYW4gZmlsdGVyIGV4YW1wbGUKCnZvaWQgbWFpbigpCnsK ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZmZfUGxhbmVzOyBpKyspIHsKICAgICAgICBjb25zdCBp dmVjMiBzaXplID0gaW1hZ2VTaXplKGZmX091dHB1dEltYWdlc1tpXSk7CiAgICAgICAgaXZlYzIg cG9zID0gZmZfUG9zaXRpb247CiAgICAgICAgaWYgKElTX1dJVEhJTihwb3MsIHNpemUpKSB7CiAg ICAgICAgICAgIHZlYzQgcmVzID0gdGV4dHVyZShmZl9JbnB1dEltYWdlc1tpXSwgcG9zIC8gMS41 KTsKICAgICAgICAgICAgaW1hZ2VTdG9yZShmZl9PdXRwdXRJbWFnZXNbaV0sIHBvcywgcmVzKTsK ICAgICAgICB9CiAgICB9Cn0KClNpZ25lZC1vZmYtYnk6IFd1IEppYW5odWEgPGppYW5odWEud3VA aW50ZWwuY29tPgotLS0KIGNvbmZpZ3VyZSAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBs aWJhdmZpbHRlci9NYWtlZmlsZSAgICAgICAgICAgfCAgIDEgKwogbGliYXZmaWx0ZXIvYWxsZmls dGVycy5jICAgICAgIHwgICAxICsKIGxpYmF2ZmlsdGVyL3ZmX3NoYWRlcl92dWxrYW4uYyB8IDMz NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMzM4 IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdmZpbHRlci92Zl9zaGFkZXJf dnVsa2FuLmMKCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggOTRmNTEz Mjg4YS4uYWUyODhhYjJmNyAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpA QCAtMzcxMyw2ICszNzEzLDcgQEAgc2NhbGVfZmlsdGVyX2RlcHM9InN3c2NhbGUiCiBzY2FsZV9x c3ZfZmlsdGVyX2RlcHM9ImxpYm1meCIKIHNjZGV0X2ZpbHRlcl9zZWxlY3Q9InNjZW5lX3NhZCIK IHNlbGVjdF9maWx0ZXJfc2VsZWN0PSJzY2VuZV9zYWQiCitzaGFkZXJfdnVsa2FuX2ZpbHRlcl9k ZXBzPSJ2dWxrYW4gc3BpcnZfY29tcGlsZXIiCiBzaGFycG5lc3NfdmFhcGlfZmlsdGVyX2RlcHM9 InZhYXBpIgogc2hvd2NxdF9maWx0ZXJfZGVwcz0iYXZmb3JtYXQgc3dzY2FsZSIKIHNob3djcXRf ZmlsdGVyX3N1Z2dlc3Q9ImxpYmZvbnRjb25maWcgbGliZnJlZXR5cGUiCmRpZmYgLS1naXQgYS9s aWJhdmZpbHRlci9NYWtlZmlsZSBiL2xpYmF2ZmlsdGVyL01ha2VmaWxlCmluZGV4IDI4Mjk2NzE0 NGIuLjJkNmI4YmI3MzcgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL01ha2VmaWxlCisrKyBiL2xp YmF2ZmlsdGVyL01ha2VmaWxlCkBAIC00NDAsNiArNDQwLDcgQEAgT0JKUy0kKENPTkZJR19TRVRQ VFNfRklMVEVSKSAgICAgICAgICAgICAgICAgKz0gc2V0cHRzLm8KIE9CSlMtJChDT05GSUdfU0VU UkFOR0VfRklMVEVSKSAgICAgICAgICAgICAgICs9IHZmX3NldHBhcmFtcy5vCiBPQkpTLSQoQ09O RklHX1NFVFNBUl9GSUxURVIpICAgICAgICAgICAgICAgICArPSB2Zl9hc3BlY3QubwogT0JKUy0k KENPTkZJR19TRVRUQl9GSUxURVIpICAgICAgICAgICAgICAgICAgKz0gc2V0dGIubworT0JKUy0k KENPTkZJR19TSEFERVJfVlVMS0FOX0ZJTFRFUikgICAgICAgICAgKz0gdmZfc2hhZGVyX3Z1bGth bi5vIHZ1bGthbi5vIHZ1bGthbl9maWx0ZXIubwogT0JKUy0kKENPTkZJR19TSEFSUEVOX05QUF9G SUxURVIpICAgICAgICAgICAgKz0gdmZfc2hhcnBlbl9ucHAubwogT0JKUy0kKENPTkZJR19TSEFS UE5FU1NfVkFBUElfRklMVEVSKSAgICAgICAgKz0gdmZfbWlzY192YWFwaS5vIHZhYXBpX3ZwcC5v CiBPQkpTLSQoQ09ORklHX1NIRUFSX0ZJTFRFUikgICAgICAgICAgICAgICAgICArPSB2Zl9zaGVh ci5vCmRpZmYgLS1naXQgYS9saWJhdmZpbHRlci9hbGxmaWx0ZXJzLmMgYi9saWJhdmZpbHRlci9h bGxmaWx0ZXJzLmMKaW5kZXggNzE0NDY4YWZjZS4uNWY2MzgyZmViOCAxMDA2NDQKLS0tIGEvbGli YXZmaWx0ZXIvYWxsZmlsdGVycy5jCisrKyBiL2xpYmF2ZmlsdGVyL2FsbGZpbHRlcnMuYwpAQCAt NDIwLDYgKzQyMCw3IEBAIGV4dGVybiBjb25zdCBBVkZpbHRlciBmZl92Zl9zZXRwdHM7CiBleHRl cm4gY29uc3QgQVZGaWx0ZXIgZmZfdmZfc2V0cmFuZ2U7CiBleHRlcm4gY29uc3QgQVZGaWx0ZXIg ZmZfdmZfc2V0c2FyOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX3NldHRiOworZXh0ZXJu IGNvbnN0IEFWRmlsdGVyIGZmX3ZmX3NoYWRlcl92dWxrYW47CiBleHRlcm4gY29uc3QgQVZGaWx0 ZXIgZmZfdmZfc2hhcnBlbl9ucHA7CiBleHRlcm4gY29uc3QgQVZGaWx0ZXIgZmZfdmZfc2hhcnBu ZXNzX3ZhYXBpOwogZXh0ZXJuIGNvbnN0IEFWRmlsdGVyIGZmX3ZmX3NoZWFyOwpkaWZmIC0tZ2l0 IGEvbGliYXZmaWx0ZXIvdmZfc2hhZGVyX3Z1bGthbi5jIGIvbGliYXZmaWx0ZXIvdmZfc2hhZGVy X3Z1bGthbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjU1ODA3NDI1 YTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJhdmZpbHRlci92Zl9zaGFkZXJfdnVsa2FuLmMKQEAg LTAsMCArMSwzMzUgQEAKKy8qCisgKiBjb3B5cmlnaHQgKGMpIDIwMjIgV3UgSmlhbmh1YSA8amlh bmh1YS53dUBpbnRlbC5jb20+CisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBGRm1wZWcuCisgKgor ICogRkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFs IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBGRm1wZWcgaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl IEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggRkZtcGVnOyBpZiBub3QsIHdy aXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp biBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgKi8KKwor I2luY2x1ZGUgImxpYmF2dXRpbC9yYW5kb21fc2VlZC5oIgorI2luY2x1ZGUgImxpYmF2dXRpbC9v cHQuaCIKKyNpbmNsdWRlICJ2dWxrYW5fZmlsdGVyLmgiCisjaW5jbHVkZSAiaW50ZXJuYWwuaCIK KwordHlwZWRlZiBzdHJ1Y3QgU2hhZGVyVnVsa2FuQ29udGV4dCB7CisgICAgRkZWdWxrYW5Db250 ZXh0IHZrY3R4OworICAgIEZGVmtRdWV1ZUZhbWlseUN0eCBxZjsKKyAgICBGRlZrRXhlY0NvbnRl eHQgKmV4ZWM7CisgICAgRkZWdWxrYW5QaXBlbGluZSAqcGw7CisgICAgVmtEZXNjcmlwdG9ySW1h Z2VJbmZvIGlucHV0X2ltYWdlc1szXTsKKyAgICBWa0Rlc2NyaXB0b3JJbWFnZUluZm8gb3V0cHV0 X2ltYWdlc1szXTsKKworICAgIGNoYXIgKmlucHV0X25hbWU7CisgICAgY2hhciAqb3V0cHV0X25h bWU7CisgICAgY2hhciAqZmlsZXBhdGg7CisKKyAgICBWa0ZpbHRlciBmaWx0ZXI7CisgICAgaW50 IGxvY2FsX3NpemVfeDsKKyAgICBpbnQgbG9jYWxfc2l6ZV95OworICAgIGludCBpbml0aWFsaXpl ZDsKK30gU2hhZGVyVnVsa2FuQ29udGV4dDsKKworI2RlZmluZSBCVUZfTEVOIDQwOTYKKworc3Rh dGljIGludCBsb2FkX3NoYWRlcl9mcm9tX2ZpbGUoU2hhZGVyVnVsa2FuQ29udGV4dCAqcywgRkZW a1NQSVJWU2hhZGVyICpzaGQpCit7CisgICAgaW50IGxlbiwgZXJyID0gMDsKKyAgICBjaGFyIHNy Y1tCVUZfTEVOXTsKKyAgICBGSUxFICpmcDsKKworICAgIGlmICghcy0+ZmlsZXBhdGgpIHsKKyAg ICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgIklucHV0IHNoYWRlciBsYW5ndWFnZSBzb3Vy Y2UgIgorICAgICAgICAgICAgICAgImZpbGUgbm90IHNwZWNpZmllZCB5ZXRcbiIpOworICAgICAg ICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOworICAgIH0KKworICAgIGZwID0gYXZfZm9wZW5fdXRm OChzLT5maWxlcGF0aCwgInIiKTsKKyAgICBpZiAoIWZwKSB7CisgICAgICAgIGF2X2xvZyhzLCBB Vl9MT0dfRVJST1IsICJVbmFibGUgdG8gb3BlbiBzaGFkZXIgbGFuZ3VhZ2UgIgorICAgICAgICAg ICAgICAgInNvdXJjZSBmaWxlIFwiJXNcIi5cbiIsIHMtPmZpbGVwYXRoKTsKKyAgICAgICAgcmV0 dXJuIEFWRVJST1IoRU5PRU5UKTsKKyAgICB9CisKKyAgICB3aGlsZSAoIWZlb2YoZnApKSB7Cisg ICAgICAgIGxlbiA9IGZyZWFkKHNyYywgMSwgQlVGX0xFTiAtIDEsIGZwKTsKKyAgICAgICAgaWYg KGxlbiA9PSAwICYmIGZlcnJvcihmcCkpIHsKKyAgICAgICAgICAgIGVyciA9IEFWRVJST1IoRUlP KTsKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgfQorCisgICAgICAgIHNyY1tsZW5d ID0gJ1wwJzsKKyAgICAgICAgYXZfYnByaW50Zigmc2hkLT5zcmMsICIlcyIsIHNyYyk7CisgICAg fQorCitmYWlsOgorICAgIGZjbG9zZShmcCk7CisgICAgcmV0dXJuIGVycjsKK30KKworc3RhdGlj IGF2X2NvbGQgaW50IGluaXRfZmlsdGVyKEFWRmlsdGVyQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUg KmluKQoreworICAgIGludCBlcnIgPSAwOworICAgIEZGVmtTUElSVlNoYWRlciAqc2hkOworICAg IFNoYWRlclZ1bGthbkNvbnRleHQgKnMgPSBhdmN0eC0+cHJpdjsKKworICAgIGNvbnN0IGludCBw bGFuZXMgPSBhdl9waXhfZm10X2NvdW50X3BsYW5lcyhzLT52a2N0eC5vdXRwdXRfZm9ybWF0KTsK KworICAgIEZGVmtTYW1wbGVyICpzYW1wbGVyID0gZmZfdmtfaW5pdF9zYW1wbGVyKCZzLT52a2N0 eCwgMSwgcy0+ZmlsdGVyKTsKKyAgICBpZiAoIXNhbXBsZXIpCisgICAgICAgIHJldHVybiBBVkVS Uk9SX0VYVEVSTkFMOworCisgICAgeworICAgICAgICBGRlZ1bGthbkRlc2NyaXB0b3JTZXRCaW5k aW5nIGltYWdlX2Rlc2NzW10gPSB7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLm5h bWUgICAgICAgPSBzLT5pbnB1dF9uYW1lLAorICAgICAgICAgICAgICAgIC50eXBlICAgICAgID0g VktfREVTQ1JJUFRPUl9UWVBFX0NPTUJJTkVEX0lNQUdFX1NBTVBMRVIsCisgICAgICAgICAgICAg ICAgLmRpbWVuc2lvbnMgPSAyLAorICAgICAgICAgICAgICAgIC5lbGVtcyAgICAgID0gcGxhbmVz LAorICAgICAgICAgICAgICAgIC5zdGFnZXMgICAgID0gVktfU0hBREVSX1NUQUdFX0NPTVBVVEVf QklULAorICAgICAgICAgICAgICAgIC5zYW1wbGVyICAgID0gc2FtcGxlciwKKyAgICAgICAgICAg ICAgICAudXBkYXRlciAgICA9IHMtPmlucHV0X2ltYWdlcywKKyAgICAgICAgICAgIH0sCisgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgLm5hbWUgICAgICAgPSBzLT5vdXRwdXRfbmFtZSwK KyAgICAgICAgICAgICAgICAudHlwZSAgICAgICA9IFZLX0RFU0NSSVBUT1JfVFlQRV9TVE9SQUdF X0lNQUdFLAorICAgICAgICAgICAgICAgIC5tZW1fbGF5b3V0ID0gZmZfdmtfc2hhZGVyX3JlcF9m bXQocy0+dmtjdHgub3V0cHV0X2Zvcm1hdCksCisgICAgICAgICAgICAgICAgLm1lbV9xdWFsaSAg PSAid3JpdGVvbmx5IiwKKyAgICAgICAgICAgICAgICAuZGltZW5zaW9ucyA9IDIsCisgICAgICAg ICAgICAgICAgLmVsZW1zICAgICAgPSBwbGFuZXMsCisgICAgICAgICAgICAgICAgLnN0YWdlcyAg ICAgPSBWS19TSEFERVJfU1RBR0VfQ09NUFVURV9CSVQsCisgICAgICAgICAgICAgICAgLnVwZGF0 ZXIgICAgPSBzLT5vdXRwdXRfaW1hZ2VzLAorICAgICAgICAgICAgfSwKKyAgICAgICAgfTsKKwor ICAgICAgICBmZl92a19xZl9pbml0KCZzLT52a2N0eCwgJnMtPnFmLCBWS19RVUVVRV9DT01QVVRF X0JJVCwgMCk7CisKKyAgICAgICAgcy0+cGwgPSBmZl92a19jcmVhdGVfcGlwZWxpbmUoJnMtPnZr Y3R4LCAmcy0+cWYpOworICAgICAgICBpZiAoIXMtPnBsKSB7CisgICAgICAgICAgICBlcnIgPSBB VkVSUk9SKEVOT01FTSk7CisgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIH0KKworICAg ICAgICBzaGQgPSBmZl92a19pbml0X3NoYWRlcihzLT5wbCwgInNoYWRlcl9jb21wdXRlIiwgaW1h Z2VfZGVzY3NbMF0uc3RhZ2VzKTsKKyAgICAgICAgaWYgKCFzaGQpIHsKKyAgICAgICAgICAgIGVy ciA9IEFWRVJST1IoRU5PTUVNKTsKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgfQor CisgICAgICAgIGZmX3ZrX3NldF9jb21wdXRlX3NoYWRlcl9zaXplcyhzaGQsIChpbnQgWzNdKXsg cy0+bG9jYWxfc2l6ZV94LCBzLT5sb2NhbF9zaXplX3ksIDEgfSk7CisgICAgICAgIFJFVChmZl92 a19hZGRfZGVzY3JpcHRvcl9zZXQoJnMtPnZrY3R4LCBzLT5wbCwgc2hkLCBpbWFnZV9kZXNjcywg RkZfQVJSQVlfRUxFTVMoaW1hZ2VfZGVzY3MpLCAwKSk7CisKKyAgICAgICAgR0xTTEYoMCwgI2Rl ZmluZSBmZl9QbGFuZXMgJWkgLHBsYW5lcyk7CisgICAgICAgIEdMU0xDKDAsICNkZWZpbmUgZmZf UG9zaXRpb24gaXZlYzIoZ2xfR2xvYmFsSW52b2NhdGlvbklELnh5KSk7CisgICAgICAgIEdMU0xD KDAsICk7CisgICAgICAgIFJFVChsb2FkX3NoYWRlcl9mcm9tX2ZpbGUocywgc2hkKSk7CisKKyAg ICAgICAgUkVUKGZmX3ZrX2NvbXBpbGVfc2hhZGVyKCZzLT52a2N0eCwgc2hkLCAibWFpbiIpKTsK KyAgICAgICAgUkVUKGZmX3ZrX2luaXRfcGlwZWxpbmVfbGF5b3V0KCZzLT52a2N0eCwgcy0+cGwp KTsKKyAgICAgICAgUkVUKGZmX3ZrX2luaXRfY29tcHV0ZV9waXBlbGluZSgmcy0+dmtjdHgsIHMt PnBsKSk7CisgICAgfQorCisgICAgUkVUKGZmX3ZrX2NyZWF0ZV9leGVjX2N0eCgmcy0+dmtjdHgs ICZzLT5leGVjLCAmcy0+cWYpKTsKKworICAgIHMtPmluaXRpYWxpemVkID0gMTsKKworZmFpbDoK KyAgICByZXR1cm4gZXJyOworfQorCitzdGF0aWMgYXZfY29sZCB2b2lkIHVuaW5pdChBVkZpbHRl ckNvbnRleHQgKmF2Y3R4KQoreworICAgIFNoYWRlclZ1bGthbkNvbnRleHQgKnMgPSBhdmN0eC0+ cHJpdjsKKworICAgIGZmX3ZrX3VuaW5pdCgmcy0+dmtjdHgpOworICAgIHMtPmluaXRpYWxpemVk ID0gMDsKK30KKworc3RhdGljIGludCBwcm9jZXNzX2ZyYW1lcyhBVkZpbHRlckNvbnRleHQgKmF2 Y3R4LCBBVkZyYW1lICpvdXRfZnJhbWUsIEFWRnJhbWUgKmluX2ZyYW1lKQoreworICAgIGludCBl cnI7CisgICAgVmtDb21tYW5kQnVmZmVyIGNtZF9idWY7CisgICAgU2hhZGVyVnVsa2FuQ29udGV4 dCAqcyA9IGF2Y3R4LT5wcml2OworICAgIEZGVnVsa2FuRnVuY3Rpb25zICp2ayA9ICZzLT52a2N0 eC52a2ZuOworCisgICAgY29uc3QgaW50IHBsYW5lcyA9IGF2X3BpeF9mbXRfY291bnRfcGxhbmVz KHMtPnZrY3R4Lm91dHB1dF9mb3JtYXQpOworCisgICAgQVZWa0ZyYW1lICppbiAgPSAoQVZWa0Zy YW1lICopaW5fZnJhbWUtPmRhdGFbMF07CisgICAgQVZWa0ZyYW1lICpvdXQgPSAoQVZWa0ZyYW1l ICopb3V0X2ZyYW1lLT5kYXRhWzBdOworCisgICAgY29uc3QgVmtGb3JtYXQgKmlucHV0X2Zvcm1h dHMgID0gYXZfdmtmbXRfZnJvbV9waXhmbXQocy0+dmtjdHguaW5wdXRfZm9ybWF0KTsKKyAgICBj b25zdCBWa0Zvcm1hdCAqb3V0cHV0X2Zvcm1hdHMgPSBhdl92a2ZtdF9mcm9tX3BpeGZtdChzLT52 a2N0eC5vdXRwdXRfZm9ybWF0KTsKKworICAgIGZmX3ZrX3N0YXJ0X2V4ZWNfcmVjb3JkaW5nKCZz LT52a2N0eCwgcy0+ZXhlYyk7CisgICAgY21kX2J1ZiA9IGZmX3ZrX2dldF9leGVjX2J1ZihzLT5l eGVjKTsKKworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgcGxhbmVzOyBpKyspIHsKKyAgICAgICAg UkVUKGZmX3ZrX2NyZWF0ZV9pbWFnZXZpZXcoJnMtPnZrY3R4LCBzLT5leGVjLCAmcy0+aW5wdXRf aW1hZ2VzW2ldLmltYWdlVmlldywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW4tPmltZ1tpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfZm9y bWF0c1tpXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmZfY29tcF9pZGVu dGl0eV9tYXApKTsKKworICAgICAgICBSRVQoZmZfdmtfY3JlYXRlX2ltYWdldmlldygmcy0+dmtj dHgsIHMtPmV4ZWMsICZzLT5vdXRwdXRfaW1hZ2VzW2ldLmltYWdlVmlldywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgb3V0LT5pbWdbaV0sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG91dHB1dF9mb3JtYXRzW2ldLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmZl9jb21wX2lkZW50aXR5X21hcCkpOworCisgICAgICAgIHMtPmlucHV0 X2ltYWdlc1tpXS5pbWFnZUxheW91dCAgPSBWS19JTUFHRV9MQVlPVVRfU0hBREVSX1JFQURfT05M WV9PUFRJTUFMOworICAgICAgICBzLT5vdXRwdXRfaW1hZ2VzW2ldLmltYWdlTGF5b3V0ID0gVktf SU1BR0VfTEFZT1VUX0dFTkVSQUw7CisgICAgfQorCisgICAgZmZfdmtfdXBkYXRlX2Rlc2NyaXB0 b3Jfc2V0KCZzLT52a2N0eCwgcy0+cGwsIDApOworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBw bGFuZXM7IGkrKykgeworICAgICAgICBWa0ltYWdlTWVtb3J5QmFycmllciBiYXJyaWVyc1tdID0g eworICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC5zVHlwZSAgICAgICAgICAgICAgICAg ICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9JTUFHRV9NRU1PUllfQkFSUklFUiwKKyAgICAgICAg ICAgICAgICAuc3JjQWNjZXNzTWFzayAgICAgICAgICAgICAgID0gMCwKKyAgICAgICAgICAgICAg ICAuZHN0QWNjZXNzTWFzayAgICAgICAgICAgICAgID0gVktfQUNDRVNTX1NIQURFUl9SRUFEX0JJ VCwKKyAgICAgICAgICAgICAgICAub2xkTGF5b3V0ICAgICAgICAgICAgICAgICAgID0gaW4tPmxh eW91dFtpXSwKKyAgICAgICAgICAgICAgICAubmV3TGF5b3V0ICAgICAgICAgICAgICAgICAgID0g cy0+aW5wdXRfaW1hZ2VzW2ldLmltYWdlTGF5b3V0LAorICAgICAgICAgICAgICAgIC5zcmNRdWV1 ZUZhbWlseUluZGV4ICAgICAgICAgPSBWS19RVUVVRV9GQU1JTFlfSUdOT1JFRCwKKyAgICAgICAg ICAgICAgICAuZHN0UXVldWVGYW1pbHlJbmRleCAgICAgICAgID0gVktfUVVFVUVfRkFNSUxZX0lH Tk9SRUQsCisgICAgICAgICAgICAgICAgLmltYWdlICAgICAgICAgICAgICAgICAgICAgICA9IGlu LT5pbWdbaV0sCisgICAgICAgICAgICAgICAgLnN1YnJlc291cmNlUmFuZ2UuYXNwZWN0TWFzayA9 IFZLX0lNQUdFX0FTUEVDVF9DT0xPUl9CSVQsCisgICAgICAgICAgICAgICAgLnN1YnJlc291cmNl UmFuZ2UubGV2ZWxDb3VudCA9IDEsCisgICAgICAgICAgICAgICAgLnN1YnJlc291cmNlUmFuZ2Uu bGF5ZXJDb3VudCA9IDEsCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgIC5zVHlwZSAgICAgICAgICAgICAgICAgICAgICAgPSBWS19TVFJVQ1RVUkVfVFlQRV9J TUFHRV9NRU1PUllfQkFSUklFUiwKKyAgICAgICAgICAgICAgICAuc3JjQWNjZXNzTWFzayAgICAg ICAgICAgICAgID0gMCwKKyAgICAgICAgICAgICAgICAuZHN0QWNjZXNzTWFzayAgICAgICAgICAg ICAgID0gVktfQUNDRVNTX1NIQURFUl9XUklURV9CSVQsCisgICAgICAgICAgICAgICAgLm9sZExh eW91dCAgICAgICAgICAgICAgICAgICA9IG91dC0+bGF5b3V0W2ldLAorICAgICAgICAgICAgICAg IC5uZXdMYXlvdXQgICAgICAgICAgICAgICAgICAgPSBzLT5vdXRwdXRfaW1hZ2VzW2ldLmltYWdl TGF5b3V0LAorICAgICAgICAgICAgICAgIC5zcmNRdWV1ZUZhbWlseUluZGV4ICAgICAgICAgPSBW S19RVUVVRV9GQU1JTFlfSUdOT1JFRCwKKyAgICAgICAgICAgICAgICAuZHN0UXVldWVGYW1pbHlJ bmRleCAgICAgICAgID0gVktfUVVFVUVfRkFNSUxZX0lHTk9SRUQsCisgICAgICAgICAgICAgICAg LmltYWdlICAgICAgICAgICAgICAgICAgICAgICA9IG91dC0+aW1nW2ldLAorICAgICAgICAgICAg ICAgIC5zdWJyZXNvdXJjZVJhbmdlLmFzcGVjdE1hc2sgPSBWS19JTUFHRV9BU1BFQ1RfQ09MT1Jf QklULAorICAgICAgICAgICAgICAgIC5zdWJyZXNvdXJjZVJhbmdlLmxldmVsQ291bnQgPSAxLAor ICAgICAgICAgICAgICAgIC5zdWJyZXNvdXJjZVJhbmdlLmxheWVyQ291bnQgPSAxLAorICAgICAg ICAgICAgfSwKKyAgICAgICAgfTsKKworICAgICAgICB2ay0+Q21kUGlwZWxpbmVCYXJyaWVyKGNt ZF9idWYsIFZLX1BJUEVMSU5FX1NUQUdFX1RPUF9PRl9QSVBFX0JJVCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBWS19QSVBFTElORV9TVEFHRV9DT01QVVRFX1NIQURFUl9CSVQsIDAs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgTlVMTCwgMCwgTlVMTCwgRkZfQVJS QVlfRUxFTVMoYmFycmllcnMpLCBiYXJyaWVycyk7CisKKyAgICAgICAgaW4tPmxheW91dFtpXSAg PSBiYXJyaWVyc1swXS5uZXdMYXlvdXQ7CisgICAgICAgIGluLT5hY2Nlc3NbaV0gID0gYmFycmll cnNbMF0uZHN0QWNjZXNzTWFzazsKKworICAgICAgICBvdXQtPmxheW91dFtpXSA9IGJhcnJpZXJz WzFdLm5ld0xheW91dDsKKyAgICAgICAgb3V0LT5hY2Nlc3NbaV0gPSBiYXJyaWVyc1sxXS5kc3RB Y2Nlc3NNYXNrOworICAgIH0KKworICAgIGZmX3ZrX2JpbmRfcGlwZWxpbmVfZXhlYygmcy0+dmtj dHgsIHMtPmV4ZWMsIHMtPnBsKTsKKworICAgIHZrLT5DbWREaXNwYXRjaChjbWRfYnVmLCBGRkFM SUdOKHMtPnZrY3R4Lm91dHB1dF93aWR0aCwgcy0+bG9jYWxfc2l6ZV94KSAvIHMtPmxvY2FsX3Np emVfeCwKKyAgICAgICAgICAgICAgICAgICAgRkZBTElHTihzLT52a2N0eC5vdXRwdXRfaGVpZ2h0 LCBzLT5sb2NhbF9zaXplX3kpIC8gcy0+bG9jYWxfc2l6ZV95LCAxKTsKKworICAgIGZmX3ZrX2Fk ZF9leGVjX2RlcCgmcy0+dmtjdHgsIHMtPmV4ZWMsIGluX2ZyYW1lLCBWS19QSVBFTElORV9TVEFH RV9UT1BfT0ZfUElQRV9CSVQpOworICAgIGZmX3ZrX2FkZF9leGVjX2RlcCgmcy0+dmtjdHgsIHMt PmV4ZWMsIG91dF9mcmFtZSwgVktfUElQRUxJTkVfU1RBR0VfVE9QX09GX1BJUEVfQklUKTsKKwor ICAgIGVyciA9IGZmX3ZrX3N1Ym1pdF9leGVjX3F1ZXVlKCZzLT52a2N0eCwgcy0+ZXhlYyk7Cisg ICAgaWYgKGVycikKKyAgICAgICAgcmV0dXJuIGVycjsKKworICAgIGZmX3ZrX3FmX3JvdGF0ZSgm cy0+cWYpOworCisgICAgcmV0dXJuIDA7CisKK2ZhaWw6CisgICAgZmZfdmtfZGlzY2FyZF9leGVj X2RlcHMocy0+ZXhlYyk7CisgICAgcmV0dXJuIGVycjsKK30KKworc3RhdGljIGludCBmaWx0ZXJf ZnJhbWUoQVZGaWx0ZXJMaW5rICpsaW5rLCBBVkZyYW1lICppbikKK3sKKyAgICBpbnQgZXJyOwor ICAgIEFWRnJhbWUgKm91dCA9IE5VTEw7CisgICAgQVZGaWx0ZXJDb250ZXh0ICphdmN0eCA9IGxp bmstPmRzdDsKKyAgICBTaGFkZXJWdWxrYW5Db250ZXh0ICpzID0gYXZjdHgtPnByaXY7CisgICAg QVZGaWx0ZXJMaW5rICpvdXRsaW5rID0gYXZjdHgtPm91dHB1dHNbMF07CisKKyAgICBvdXQgPSBm Zl9nZXRfdmlkZW9fYnVmZmVyKG91dGxpbmssIG91dGxpbmstPncsIG91dGxpbmstPmgpOworICAg IGlmICghb3V0KSB7CisgICAgICAgIGVyciA9IEFWRVJST1IoRU5PTUVNKTsKKyAgICAgICAgZ290 byBmYWlsOworICAgIH0KKworICAgIGlmICghcy0+aW5pdGlhbGl6ZWQpCisgICAgICAgIFJFVChp bml0X2ZpbHRlcihhdmN0eCwgaW4pKTsKKworICAgIFJFVChwcm9jZXNzX2ZyYW1lcyhhdmN0eCwg b3V0LCBpbikpOworCisgICAgUkVUKGF2X2ZyYW1lX2NvcHlfcHJvcHMob3V0LCBpbikpOworCisg ICAgYXZfZnJhbWVfZnJlZSgmaW4pOworCisgICAgcmV0dXJuIGZmX2ZpbHRlcl9mcmFtZShvdXRs aW5rLCBvdXQpOworCitmYWlsOgorICAgIGF2X2ZyYW1lX2ZyZWUoJmluKTsKKyAgICBhdl9mcmFt ZV9mcmVlKCZvdXQpOworCisgICAgcmV0dXJuIGVycjsKK30KKworI2RlZmluZSBPRkZTRVQoeCkg b2Zmc2V0b2YoU2hhZGVyVnVsa2FuQ29udGV4dCwgeCkKKyNkZWZpbmUgRkxBR1MgKEFWX09QVF9G TEFHX0ZJTFRFUklOR19QQVJBTSB8IEFWX09QVF9GTEFHX1ZJREVPX1BBUkFNKQorCitzdGF0aWMg Y29uc3QgQVZPcHRpb24gc2hhZGVyX3Z1bGthbl9vcHRpb25zW10gPSB7CisgICAgeyAicGF0aCIs ICAgIlBhdGggdG8gdGhlIHNoYWRlciBmaWxlIiwgICAgICAgT0ZGU0VUKGZpbGVwYXRoKSwgICAg QVZfT1BUX1RZUEVfU1RSSU5HLCB7IC5zdHIgPSBOVUxMICAgICAgICAgICAgICB9LCAwLCAwLCBG TEFHUyB9LAorICAgIHsgImlucHV0IiwgICJEZWZpbmUgbmFtZSBmb3IgaW5wdXQgaW1hZ2VzIiwg IE9GRlNFVChpbnB1dF9uYW1lKSwgIEFWX09QVF9UWVBFX1NUUklORywgeyAuc3RyID0gImZmX0lu cHV0SW1hZ2VzIiAgfSwgMCwgMCwgRkxBR1MgfSwKKyAgICB7ICJvdXRwdXQiLCAiRGVmaW5lIG5h bWUgZm9yIG91dHB1dCBpbWFnZXMiLCBPRkZTRVQob3V0cHV0X25hbWUpLCBBVl9PUFRfVFlQRV9T VFJJTkcsIHsgLnN0ciA9ICJmZl9PdXRwdXRJbWFnZXMiIH0sIDAsIDAsIEZMQUdTIH0sCisKKyAg ICB7ICJmaWx0ZXIiLCAiU2V0IGZpbHRlciBmb3Igc2FtcGxlciIsIE9GRlNFVChmaWx0ZXIpLCBB Vl9PUFRfVFlQRV9JTlQsIHsgLmk2NCA9IFZLX0ZJTFRFUl9MSU5FQVIgfSwgMCwgVktfRklMVEVS X0xJTkVBUiwgRkxBR1MsICJmaWx0ZXIiIH0sCisgICAgICAgIHsgImxpbmVhciIsICAiRmlsdGVy IGZyYW1lIGluIGxpbmVhciBpbnRlcnBvbGF0aW9uIiwgIDAsIEFWX09QVF9UWVBFX0NPTlNULCB7 IC5pNjQgPSBWS19GSUxURVJfTElORUFSICB9LCAwLCAwLCAuZmxhZ3MgPSBGTEFHUywgImZpbHRl ciIgfSwKKyAgICAgICAgeyAibmVhcmVzdCIsICJGaWx0ZXIgZnJhbWUgaW4gbmVhcmVzdCBpbnRl cnBvbGF0aW9uIiwgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsgLmk2NCA9IFZLX0ZJTFRFUl9ORUFS RVNUIH0sIDAsIDAsIC5mbGFncyA9IEZMQUdTLCAiZmlsdGVyIiB9LAorCisgICAgeyAibG9jYWxf c2l6ZV94IiwgIlNldCBjb21wdXRlIGxvY2FsIHNpemUgeCIsIE9GRlNFVChsb2NhbF9zaXplX3gp LCBBVl9PUFRfVFlQRV9JTlQsIHsgLmk2NCA9IDMyIH0sIDAsIDEyOCwgRkxBR1MgfSwKKyAgICB7 ICJsb2NhbF9zaXplX3kiLCAiU2V0IGNvbXB1dGUgbG9jYWwgc2l6ZSB5IiwgT0ZGU0VUKGxvY2Fs X3NpemVfeSksIEFWX09QVF9UWVBFX0lOVCwgeyAuaTY0ID0gMzIgfSwgMCwgMTI4LCBGTEFHUyB9 LAorCisgICAgeyBOVUxMIH0sCit9OworCitBVkZJTFRFUl9ERUZJTkVfQ0xBU1Moc2hhZGVyX3Z1 bGthbik7CisKK3N0YXRpYyBjb25zdCBBVkZpbHRlclBhZCBzaGFkZXJfdnVsa2FuX2lucHV0c1td ID0geworICAgIHsKKyAgICAgICAgLm5hbWUgICAgICAgICA9ICJkZWZhdWx0IiwKKyAgICAgICAg LnR5cGUgICAgICAgICA9IEFWTUVESUFfVFlQRV9WSURFTywKKyAgICAgICAgLmZpbHRlcl9mcmFt ZSA9ICZmaWx0ZXJfZnJhbWUsCisgICAgICAgIC5jb25maWdfcHJvcHMgPSAmZmZfdmtfZmlsdGVy X2NvbmZpZ19pbnB1dCwKKyAgICB9Cit9OworCitzdGF0aWMgY29uc3QgQVZGaWx0ZXJQYWQgc2hh ZGVyX3Z1bGthbl9vdXRwdXRzW10gPSB7CisgICAgeworICAgICAgICAubmFtZSAgICAgICAgID0g ImRlZmF1bHQiLAorICAgICAgICAudHlwZSAgICAgICAgID0gQVZNRURJQV9UWVBFX1ZJREVPLAor ICAgICAgICAuY29uZmlnX3Byb3BzID0gJmZmX3ZrX2ZpbHRlcl9jb25maWdfb3V0cHV0LAorICAg IH0KK307CisKK2NvbnN0IEFWRmlsdGVyIGZmX3ZmX3NoYWRlcl92dWxrYW4gPSB7CisgICAgLm5h bWUgICAgICAgICAgID0gInNoYWRlcl92dWxrYW4iLAorICAgIC5kZXNjcmlwdGlvbiAgICA9IE5V TExfSUZfQ09ORklHX1NNQUxMKCJGaWx0ZXIgZnJhbWUgaW4gc2hhZGVyIGxhbmd1YWdlIiksCisg ICAgLnByaXZfc2l6ZSAgICAgID0gc2l6ZW9mKFNoYWRlclZ1bGthbkNvbnRleHQpLAorICAgIC5p bml0ICAgICAgICAgICA9ICZmZl92a19maWx0ZXJfaW5pdCwKKyAgICAudW5pbml0ICAgICAgICAg PSAmdW5pbml0LAorICAgIEZJTFRFUl9JTlBVVFMoc2hhZGVyX3Z1bGthbl9pbnB1dHMpLAorICAg IEZJTFRFUl9PVVRQVVRTKHNoYWRlcl92dWxrYW5fb3V0cHV0cyksCisgICAgRklMVEVSX1NJTkdM RV9QSVhGTVQoQVZfUElYX0ZNVF9WVUxLQU4pLAorICAgIC5wcml2X2NsYXNzICAgICA9ICZzaGFk ZXJfdnVsa2FuX2NsYXNzLAorICAgIC5mbGFnc19pbnRlcm5hbCA9IEZGX0ZJTFRFUl9GTEFHX0hX RlJBTUVfQVdBUkUsCit9OwotLSAKMi4yNS4xCgo= --_006_PH0PR11MB49684DA1F26F91640546AA97935B9PH0PR11MB4968namp_ Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --_006_PH0PR11MB49684DA1F26F91640546AA97935B9PH0PR11MB4968namp_--