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 44B7543E63 for ; Tue, 16 Aug 2022 13:31:11 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6D1BC68B8D0; Tue, 16 Aug 2022 16:30:59 +0300 (EEST) Received: from shout02.mail.de (shout02.mail.de [62.201.172.25]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5067F68B205 for ; Tue, 16 Aug 2022 16:30:52 +0300 (EEST) Received: from postfix01.mail.de (postfix01.bt.mail.de [10.0.121.125]) by shout02.mail.de (Postfix) with ESMTP id F0B2DA0DD0; Tue, 16 Aug 2022 15:30:51 +0200 (CEST) Received: from smtp04.mail.de (smtp04.bt.mail.de [10.0.121.214]) by postfix01.mail.de (Postfix) with ESMTP id D74278014A; Tue, 16 Aug 2022 15:30:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=mail.de; s=mailde202009; t=1660656651; bh=gGg85hlqQYn/JIvMTdZSoWn1oqgMsMrniiMVv0km1ZM=; h=From:To:Cc:Subject:Date:Message-Id:From:To:CC:Subject:Reply-To; b=X39DjjnwWFYCFDIbXFQk/T6XCqMZsNmhX9K1M9Tw+AJd79qR+B4sqbtMysOY9V9CO HNbyxYTZDByTZ/PCWfkAf+CA2LVgN4am9sIPx3eCfVYeL1nT/GsiTAO1drYaMRqvcF IG5SKfZp4dd9iDMmZZsUhMzBJxsGhvOQqk4LmEoZAzZ8OidGS/n4POQb4xVPILILnk mrQX6ay96rj+s/hnQjb5p92s42Jc8sfM5mVPMCeFpdGsddSHuoIT3+igqOku1P+USb 6UGElroGQEwvFWmJ4pnJi1SNolN89mBTWSVSbV3IrvjPAy2vFgtPfwazPNjFvwHLDP ADauFiXtCF9cA== Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp04.mail.de (Postfix) with ESMTPSA id 888E6C2081; Tue, 16 Aug 2022 15:30:51 +0200 (CEST) From: Thilo Borgmann To: ffmpeg-devel@ffmpeg.org Date: Tue, 16 Aug 2022 15:30:43 +0200 Message-Id: <20220816133046.70846-2-thilo.borgmann@mail.de> In-Reply-To: <20220816133046.70846-1-thilo.borgmann@mail.de> References: <20220816133046.70846-1-thilo.borgmann@mail.de> MIME-Version: 1.0 X-purgate: clean X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate-type: clean X-purgate-Ad: Categorized by eleven eXpurgate (R) http://www.eleven.de X-purgate: This mail is considered clean (visit http://www.eleven.de for further information) X-purgate: clean X-purgate-size: 10648 X-purgate-ID: 154282::1660656651-000016C9-D624736D/0/0 Subject: [FFmpeg-devel] [PATCH 2/5] ffmpeg: Add display_matrix 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: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= 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: RnJvbTogSmFuIEVrc3Ryw7ZtIDxqZWVianBAZ21haWwuY29tPgoKVGhpcyBlbmFibGVzIG92ZXJy aWRpbmcgdGhlIHJvdGF0aW9uIGFzIHdlbGwgYXMgaG9yaXpvbnRhbC92ZXJ0aWNhbApmbGlwIHN0 YXRlIG9mIGEgc3BlY2lmaWMgdmlkZW8gc3RyZWFtIG9uIHRoZSBpbnB1dCBzaWRlLgoKQWRkaXRp b25hbGx5LCBzd2l0Y2ggdGhlIHNpbmd1bGFyIHRlc3QgdGhhdCB3YXMgdXRpbGl6aW5nIHRoZSBy b3RhdGlvbgptZXRhZGF0YSB0byBpbnN0ZWFkIG92ZXJyaWRlIHRoZSBpbnB1dCBkaXNwbGF5IHJv dGF0aW9uLCB0aHVzIGxlYWRpbmcKdG8gdGhlIHNhbWUgcmVzdWx0LgotLS0KIGRvYy9mZm1wZWcu dGV4aSAgICAgICAgICAgICB8ICAxMyArKysrKwogZmZ0b29scy9jbWR1dGlscy5oICAgICAgICAg IHwgICAxICsKIGZmdG9vbHMvZmZtcGVnLmggICAgICAgICAgICB8ICAgMiArCiBmZnRvb2xzL2Zm bXBlZ19vcHQuYyAgICAgICAgfCAxMDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrCiB0ZXN0cy9mYXRlL2ZpbHRlci12aWRlby5tYWsgfCAgIDIgKy0KIDUgZmlsZXMgY2hhbmdl ZCwgMTI0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kb2MvZmZt cGVnLnRleGkgYi9kb2MvZmZtcGVnLnRleGkKaW5kZXggNDI0NDBkOTNiNC4uNWQzZTNiMzA1MiAx MDA2NDQKLS0tIGEvZG9jL2ZmbXBlZy50ZXhpCisrKyBiL2RvYy9mZm1wZWcudGV4aQpAQCAtOTEy LDYgKzkxMiwxOSBAQCBJZiB1c2VkIHRvZ2V0aGVyIHdpdGggQG9wdGlvbnstdmNvZGVjIGNvcHl9 LCBpdCB3aWxsIGFmZmVjdCB0aGUgYXNwZWN0IHJhdGlvCiBzdG9yZWQgYXQgY29udGFpbmVyIGxl dmVsLCBidXQgbm90IHRoZSBhc3BlY3QgcmF0aW8gc3RvcmVkIGluIGVuY29kZWQKIGZyYW1lcywg aWYgaXQgZXhpc3RzLgogCitAaXRlbSAtZGlzcGxheV9tYXRyaXhbOkB2YXJ7c3RyZWFtX3NwZWNp Zmllcn1dIEB2YXJ7b3B0MT12YWwxWyxvcHQyPXZhbDJdLi4ufSAoQGVtcGh7aW5wdXQscGVyLXN0 cmVhbX0pCitTZXQgdGhlIHZpZGVvIGRpc3BsYXkgbWF0cml4IGFjY29yZGluZyB0byBnaXZlbiBv cHRpb25zLgorCitAdGFibGUgQG9wdGlvbgorQGl0ZW0gcm90YXRpb249QHZhcntudW1iZXJ9CitT ZXQgdGhlIHJvdGF0aW9uIHVzaW5nIGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHRoYXQgZGVzY3Jp YmVzIGEgcHVyZQorY291bnRlci1jbG9ja3dpc2Ugcm90YXRpb24gaW4gZGVncmVlcy4KK1RoZSBA Y29kZXstYXV0b3JvdGF0ZX0gbG9naWMgd2lsbCBiZSBhZmZlY3RlZC4KK0BpdGVtIGhmbGlwPUB2 YXJ7WzAsMV19CitAaXRlbSB2ZmxpcD1AdmFye1swLDFdfQorU2V0IGEgaG9yaXpvbnRhbCBvciB2 ZXJ0aWNhbCBmbGlwLgorQGVuZCB0YWJsZQorCiBAaXRlbSAtdm4gKEBlbXBoe2lucHV0L291dHB1 dH0pCiBBcyBhbiBpbnB1dCBvcHRpb24sIGJsb2NrcyBhbGwgdmlkZW8gc3RyZWFtcyBvZiBhIGZp bGUgZnJvbSBiZWluZyBmaWx0ZXJlZCBvcgogYmVpbmcgYXV0b21hdGljYWxseSBzZWxlY3RlZCBv ciBtYXBwZWQgZm9yIGFueSBvdXRwdXQuIFNlZSBAY29kZXstZGlzY2FyZH0KZGlmZiAtLWdpdCBh L2ZmdG9vbHMvY21kdXRpbHMuaCBiL2ZmdG9vbHMvY21kdXRpbHMuaAppbmRleCA2YTUxOWM2NTQ2 Li5kZjkwY2M2OTU4IDEwMDY0NAotLS0gYS9mZnRvb2xzL2NtZHV0aWxzLmgKKysrIGIvZmZ0b29s cy9jbWR1dGlscy5oCkBAIC0xNjYsNiArMTY2LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgT3B0aW9uRGVm IHsKICAgICB9IHU7CiAgICAgY29uc3QgY2hhciAqaGVscDsKICAgICBjb25zdCBjaGFyICphcmdu YW1lOworICAgIGNvbnN0IEFWQ2xhc3MgKmFyZ3M7CiB9IE9wdGlvbkRlZjsKIAogLyoqCmRpZmYg LS1naXQgYS9mZnRvb2xzL2ZmbXBlZy5oIGIvZmZ0b29scy9mZm1wZWcuaAppbmRleCA2OTkxYmE3 NjMyLi4wZWE3MzBmZDQyIDEwMDY0NAotLS0gYS9mZnRvb2xzL2ZmbXBlZy5oCisrKyBiL2ZmdG9v bHMvZmZtcGVnLmgKQEAgLTE5Myw2ICsxOTMsOCBAQCB0eXBlZGVmIHN0cnVjdCBPcHRpb25zQ29u dGV4dCB7CiAgICAgaW50ICAgICAgICBuYl9mb3JjZV9mcHM7CiAgICAgU3BlY2lmaWVyT3B0ICpm cmFtZV9hc3BlY3RfcmF0aW9zOwogICAgIGludCAgICAgICAgbmJfZnJhbWVfYXNwZWN0X3JhdGlv czsKKyAgICBTcGVjaWZpZXJPcHQgKmRpc3BsYXlfbWF0cml4ZXM7CisgICAgaW50ICAgICAgICBu Yl9kaXNwbGF5X21hdHJpeGVzOwogICAgIFNwZWNpZmllck9wdCAqcmNfb3ZlcnJpZGVzOwogICAg IGludCAgICAgICAgbmJfcmNfb3ZlcnJpZGVzOwogICAgIFNwZWNpZmllck9wdCAqaW50cmFfbWF0 cmljZXM7CmRpZmYgLS1naXQgYS9mZnRvb2xzL2ZmbXBlZ19vcHQuYyBiL2ZmdG9vbHMvZmZtcGVn X29wdC5jCmluZGV4IGNjMDM4YWFlNmIuLmUxODRiNDIzOWMgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMv ZmZtcGVnX29wdC5jCisrKyBiL2ZmdG9vbHMvZmZtcGVnX29wdC5jCkBAIC0yMCw2ICsyMCw3IEBA CiAKICNpbmNsdWRlICJjb25maWcuaCIKIAorI2luY2x1ZGUgPGZsb2F0Lmg+CiAjaW5jbHVkZSA8 c3RkaW50Lmg+CiAKICNpZiBIQVZFX1NZU19SRVNPVVJDRV9ICkBAIC00NSw2ICs0Niw3IEBACiAj aW5jbHVkZSAibGliYXZ1dGlsL2F2dXRpbC5oIgogI2luY2x1ZGUgImxpYmF2dXRpbC9icHJpbnQu aCIKICNpbmNsdWRlICJsaWJhdnV0aWwvY2hhbm5lbF9sYXlvdXQuaCIKKyNpbmNsdWRlICJsaWJh dnV0aWwvZGlzcGxheS5oIgogI2luY2x1ZGUgImxpYmF2dXRpbC9nZXRlbnZfdXRmOC5oIgogI2lu Y2x1ZGUgImxpYmF2dXRpbC9pbnRyZWFkd3JpdGUuaCIKICNpbmNsdWRlICJsaWJhdnV0aWwvZmlm by5oIgpAQCAtODcsNiArODksNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgb3B0X25hbWVf Zm9yY2VkX2tleV9mcmFtZXNbXSAgICAgICAgID0geyJmb3JjZWRfa2V5X2ZyYQogc3RhdGljIGNv bnN0IGNoYXIgKmNvbnN0IG9wdF9uYW1lX2Zwc19tb2RlW10gICAgICAgICAgICAgICAgICA9IHsi ZnBzX21vZGUiLCBOVUxMfTsKIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBvcHRfbmFtZV9mb3Jj ZV9mcHNbXSAgICAgICAgICAgICAgICAgPSB7ImZvcmNlX2ZwcyIsIE5VTEx9Owogc3RhdGljIGNv bnN0IGNoYXIgKmNvbnN0IG9wdF9uYW1lX2ZyYW1lX2FzcGVjdF9yYXRpb3NbXSAgICAgICA9IHsi YXNwZWN0IiwgTlVMTH07CitzdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgb3B0X25hbWVfZGlzcGxh eV9tYXRyaXhlc1tdICAgICAgICAgID0geyJkaXNwbGF5X21hdHJpeCIsIE5VTEx9Owogc3RhdGlj IGNvbnN0IGNoYXIgKmNvbnN0IG9wdF9uYW1lX3JjX292ZXJyaWRlc1tdICAgICAgICAgICAgICA9 IHsicmNfb3ZlcnJpZGUiLCBOVUxMfTsKIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBvcHRfbmFt ZV9pbnRyYV9tYXRyaWNlc1tdICAgICAgICAgICAgPSB7ImludHJhX21hdHJpeCIsIE5VTEx9Owog c3RhdGljIGNvbnN0IGNoYXIgKmNvbnN0IG9wdF9uYW1lX2ludGVyX21hdHJpY2VzW10gICAgICAg ICAgICA9IHsiaW50ZXJfbWF0cml4IiwgTlVMTH07CkBAIC0xMTIsNiArMTE1LDMyIEBAIHN0YXRp YyBjb25zdCBjaGFyICpjb25zdCBvcHRfbmFtZV90aW1lX2Jhc2VzW10gICAgICAgICAgICAgICAg PSB7InRpbWVfYmFzZSIsIE5VCiBzdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgb3B0X25hbWVfZW5j X3RpbWVfYmFzZXNbXSAgICAgICAgICAgID0geyJlbmNfdGltZV9iYXNlIiwgTlVMTH07CiBzdGF0 aWMgY29uc3QgY2hhciAqY29uc3Qgb3B0X25hbWVfYml0c19wZXJfcmF3X3NhbXBsZVtdICAgICAg ID0geyJiaXRzX3Blcl9yYXdfc2FtcGxlIiwgTlVMTH07CiAKKy8vIFhYWCB0aGlzIHNob3VsZCBw cm9iYWJseSBnbyBpbnRvIGEgc2VwZXJhdGUgZmlsZSA8bmFtZT5fYXJncy5jIGFuZCAjaW5jbHVk ZWQgaGVyZQorICAgIHN0cnVjdCBkaXNwbGF5X21hdHJpeF9zIHsKKyAgICAgICAgY29uc3QgQVZD bGFzcyAqY2xhc3M7CisgICAgICAgIGRvdWJsZSAgcm90YXRpb247CisgICAgICAgIGludCAgICAg aGZsaXA7CisgICAgICAgIGludCAgICAgdmZsaXA7CisgICAgfTsKKyNkZWZpbmUgT0ZGU0VUKHgp IG9mZnNldG9mKHN0cnVjdCBkaXNwbGF5X21hdHJpeF9zLCB4KQorICAgIHN0YXRpYyBjb25zdCBB Vk9wdGlvbiBkaXNwbGF5X21hdHJpeF9hcmdzW10gPSB7CisgICAgICAgIHsgInJvdGF0aW9uIiwg InNldCByb3RhdGlvbiIsIE9GRlNFVChyb3RhdGlvbiksIEFWX09QVF9UWVBFX0RPVUJMRSwKKyAg ICAgICAgICAgIHsgLmRibCA9IERCTF9NQVggfSwgLShEQkxfTUFYKSwgREJMX01BWCAtIDEuMGYs IEFWX09QVF9GTEFHX0FSR1VNRU5UfSwKKyAgICAgICAgeyAiaGZsaXAiLCAgICAic2V0IGhmbGlw IiwgT0ZGU0VUKGhmbGlwKSwgICAgQVZfT1BUX1RZUEVfQk9PTCwKKyAgICAgICAgICAgIHsgLmk2 NCA9IC0xIH0sIDAsIDEsIEFWX09QVF9GTEFHX0FSR1VNRU5UfSwKKyAgICAgICAgeyAidmZsaXAi LCAgICAic2V0IHZmbGlwIiwgT0ZGU0VUKHZmbGlwKSwgICAgQVZfT1BUX1RZUEVfQk9PTCwKKyAg ICAgICAgICAgIHsgLmk2NCA9IC0xIH0sIDAsIDEsIEFWX09QVF9GTEFHX0FSR1VNRU5UfSwKKyAg ICAgICAgeyBOVUxMIH0sCisgICAgfTsKKyAgICBzdGF0aWMgY29uc3QgQVZDbGFzcyBjbGFzc19k aXNwbGF5X21hdHJpeF9hcmdzID0geworICAgICAgICAuY2xhc3NfbmFtZSA9ICJkaXNwbGF5X21h dHJpeF9hcmdzIiwKKyAgICAgICAgLml0ZW1fbmFtZSAgPSBhdl9kZWZhdWx0X2l0ZW1fbmFtZSwK KyAgICAgICAgLm9wdGlvbiAgICAgPSBkaXNwbGF5X21hdHJpeF9hcmdzLAorICAgICAgICAudmVy c2lvbiAgICA9IExJQkFWVVRJTF9WRVJTSU9OX0lOVCwKKyAgICB9OworI3VuZGVmIE9GRlNFVAor Ly8gWFhYCisKICNkZWZpbmUgV0FSTl9NVUxUSVBMRV9PUFRfVVNBR0UobmFtZSwgdHlwZSwgc28s IHN0KVwKIHtcCiAgICAgY2hhciBuYW1lc3RyWzEyOF0gPSAiIjtcCkBAIC04MDgsNiArODM3LDc1 IEBAIHN0YXRpYyBpbnQgb3B0X3JlY29yZGluZ190aW1lc3RhbXAodm9pZCAqb3B0Y3R4LCBjb25z dCBjaGFyICpvcHQsIGNvbnN0IGNoYXIgKmFyCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyB2 b2lkIGFkZF9kaXNwbGF5X21hdHJpeF90b19zdHJlYW0oT3B0aW9uc0NvbnRleHQgKm8sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFWRm9ybWF0Q29udGV4dCAqY3R4 LCBBVlN0cmVhbSAqc3QpCit7CisgICAgaW50IGhmbGlwX3NldCA9IDAsIHZmbGlwX3NldCA9IDAs IGRpc3BsYXlfcm90YXRpb25fc2V0ID0gMDsKKyAgICB1aW50OF90ICpidWYgPSBOVUxMOworCisg ICAgc3RhdGljIHN0cnVjdCBkaXNwbGF5X21hdHJpeF9zIHRlc3RfYXJncyA9IHsKKyAgICAgICAg LmNsYXNzICAgID0gJmNsYXNzX2Rpc3BsYXlfbWF0cml4X2FyZ3MsCisgICAgICAgIC5yb3RhdGlv biA9IERCTF9NQVgsCisgICAgICAgIC5oZmxpcCAgICA9IC0xLAorICAgICAgICAudmZsaXAgICAg PSAtMSwKKyAgICB9OworCisgICAgQVZEaWN0aW9uYXJ5ICpnbG9iYWxfYXJncyA9IE5VTEw7Cisg ICAgQVZEaWN0aW9uYXJ5ICpsb2NhbF9hcmdzICA9IE5VTEw7CisgICAgQVZEaWN0aW9uYXJ5RW50 cnkgKmVuID0gTlVMTDsKKworICAgIE1BVENIX1BFUl9TVFJFQU1fT1BUKGRpc3BsYXlfbWF0cml4 ZXMsIGRpY3QsIGdsb2JhbF9hcmdzLCBjdHgsIHN0KTsKKworICAgIGlmICghZ2xvYmFsX2FyZ3Mp CisgICAgICAgIHJldHVybjsKKworICAgIC8vIG1ha2UgYSBjb3B5IG9mIHRoZSBkaWN0IHNvIGl0 IGRvZXNuJ3QgZ2V0IGZyZWVkIGZyb20gdW5kZXJuZWF0aCB1cworICAgIGlmIChhdl9kaWN0X2Nv cHkoJmxvY2FsX2FyZ3MsIGdsb2JhbF9hcmdzLCAwKSA8IDApIHsKKyAgICAgICAgYXZfbG9nKE5V TEwsIEFWX0xPR19GQVRBTCwKKyAgICAgICAgICAgICAgICJGYWlsZWQgdG8gY29weSBhcmd1bWVu dCBkaWN0IGZvciBkaXNwbGF5IG1hdHJpeCFcbiIpOworICAgIH0KKworICAgIGlmIChhdl9vcHRf c2V0X2RpY3QyKCZ0ZXN0X2FyZ3MsICZsb2NhbF9hcmdzLCAwKSA8IDApIHsKKyAgICAgICAgYXZf bG9nKE5VTEwsIEFWX0xPR19GQVRBTCwKKyAgICAgICAgICAgICAgICJGYWlsZWQgdG8gc2V0IG9w dGlvbnMgZm9yIGEgZGlzcGxheSBtYXRyaXghXG4iKTsKKyAgICAgICAgZXhpdF9wcm9ncmFtKDEp OworICAgIH0KKworICAgIHdoaWxlICgoZW4gPSBhdl9kaWN0X2dldChsb2NhbF9hcmdzLCAiIiwg ZW4sIEFWX0RJQ1RfSUdOT1JFX1NVRkZJWCkpKSB7CisgICAgICAgIGF2X2xvZyhOVUxMLCBBVl9M T0dfRkFUQUwsCisgICAgICAgICAgICAgICAiVW5rbm93biBvcHRpb249dmFsdWUgcGFpciBmb3Ig ZGlzcGxheSBtYXRyaXg6ICIKKyAgICAgICAgICAgICAgICJrZXk6ICclcycsIHZhbHVlOiAnJXMn IVxuIiwKKyAgICAgICAgICAgICAgIGVuLT5rZXksIGVuLT52YWx1ZSk7CisgICAgfQorCisgICAg aWYgKGF2X2RpY3RfY291bnQobG9jYWxfYXJncykpIHsKKyAgICAgICAgZXhpdF9wcm9ncmFtKDEp OworICAgIH0KKworICAgIGF2X2RpY3RfZnJlZSgmbG9jYWxfYXJncyk7CisKKyAgICBkaXNwbGF5 X3JvdGF0aW9uX3NldCA9IHRlc3RfYXJncy5yb3RhdGlvbiAhPSBEQkxfTUFYOworICAgIGhmbGlw X3NldCAgICAgICAgICAgID0gdGVzdF9hcmdzLmhmbGlwICE9IC0xOworICAgIHZmbGlwX3NldCAg ICAgICAgICAgID0gdGVzdF9hcmdzLnZmbGlwICE9IC0xOworCisgICAgaWYgKCFkaXNwbGF5X3Jv dGF0aW9uX3NldCAmJiAhaGZsaXBfc2V0ICYmICF2ZmxpcF9zZXQpCisgICAgICAgIHJldHVybjsK KworICAgIGlmICghKGJ1ZiA9IGF2X3N0cmVhbV9uZXdfc2lkZV9kYXRhKHN0LCBBVl9QS1RfREFU QV9ESVNQTEFZTUFUUklYLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemVvZihpbnQzMl90KSAqIDkpKSkgeworICAgICAgICBhdl9sb2coTlVMTCwgQVZfTE9HX0ZB VEFMLCAiRmFpbGVkIHRvIGdlbmVyYXRlIGEgZGlzcGxheSBtYXRyaXghXG4iKTsKKyAgICAgICAg ZXhpdF9wcm9ncmFtKDEpOworICAgIH0KKworICAgIGF2X2Rpc3BsYXlfcm90YXRpb25fc2V0KChp bnQzMl90ICopYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlfcm90YXRp b25fc2V0ID8gLSh0ZXN0X2FyZ3Mucm90YXRpb24pIDoKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0wLjBmKTsKKyAgICBhdl9kaXNwbGF5X21hdHJp eF9mbGlwKChpbnQzMl90ICopYnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaGZsaXBf c2V0ID8gdGVzdF9hcmdzLmhmbGlwIDogMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHZm bGlwX3NldCA/IHRlc3RfYXJncy52ZmxpcCA6IDApOworfQorCisKIHN0YXRpYyBjb25zdCBBVkNv ZGVjICpmaW5kX2NvZGVjX29yX2RpZShjb25zdCBjaGFyICpuYW1lLCBlbnVtIEFWTWVkaWFUeXBl IHR5cGUsIGludCBlbmNvZGVyKQogewogICAgIGNvbnN0IEFWQ29kZWNEZXNjcmlwdG9yICpkZXNj OwpAQCAtOTQyLDYgKzEwNDAsOCBAQCBzdGF0aWMgdm9pZCBhZGRfaW5wdXRfc3RyZWFtcyhPcHRp b25zQ29udGV4dCAqbywgQVZGb3JtYXRDb250ZXh0ICppYykKICAgICAgICAgfQogCiAgICAgICAg IGlmIChzdC0+Y29kZWNwYXItPmNvZGVjX3R5cGUgPT0gQVZNRURJQV9UWVBFX1ZJREVPKSB7Cisg ICAgICAgICAgICBhZGRfZGlzcGxheV9tYXRyaXhfdG9fc3RyZWFtKG8sIGljLCBzdCk7CisKICAg ICAgICAgICAgIE1BVENIX1BFUl9TVFJFQU1fT1BUKGh3YWNjZWxzLCBzdHIsIGh3YWNjZWwsIGlj LCBzdCk7CiAgICAgICAgICAgICBNQVRDSF9QRVJfU1RSRUFNX09QVChod2FjY2VsX291dHB1dF9m b3JtYXRzLCBzdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FjY2VsX291 dHB1dF9mb3JtYXQsIGljLCBzdCk7CkBAIC0xODY1LDYgKzE5NjUsOCBAQCBzdGF0aWMgT3V0cHV0 U3RyZWFtICpuZXdfdmlkZW9fc3RyZWFtKE9wdGlvbnNDb250ZXh0ICpvLCBBVkZvcm1hdENvbnRl eHQgKm9jLCBpbgogICAgICAgICBvc3QtPmZyYW1lX2FzcGVjdF9yYXRpbyA9IHE7CiAgICAgfQog CisgICAgYWRkX2Rpc3BsYXlfbWF0cml4X3RvX3N0cmVhbShvLCBvYywgc3QpOworCiAgICAgTUFU Q0hfUEVSX1NUUkVBTV9PUFQoZmlsdGVyX3NjcmlwdHMsIHN0ciwgb3N0LT5maWx0ZXJzX3Njcmlw dCwgb2MsIHN0KTsKICAgICBNQVRDSF9QRVJfU1RSRUFNX09QVChmaWx0ZXJzLCAgICAgICAgc3Ry LCBvc3QtPmZpbHRlcnMsICAgICAgICBvYywgc3QpOwogCkBAIC0zOTkyLDYgKzQwOTQsMTEgQEAg Y29uc3QgT3B0aW9uRGVmIG9wdGlvbnNbXSA9IHsKICAgICB7ICJhc3BlY3QiLCAgICAgICBPUFRf VklERU8gfCBIQVNfQVJHICB8IE9QVF9TVFJJTkcgfCBPUFRfU1BFQyB8CiAgICAgICAgICAgICAg ICAgICAgICAgT1BUX09VVFBVVCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7IC5vZmYgPSBPRkZTRVQoZnJhbWVfYXNwZWN0X3JhdGlvcykgfSwKICAgICAg ICAgInNldCBhc3BlY3QgcmF0aW8gKDQ6MywgMTY6OSBvciAxLjMzMzMsIDEuNzc3NykiLCAiYXNw ZWN0IiB9LAorICAgIHsgImRpc3BsYXlfbWF0cml4IiwgT1BUX1ZJREVPIHwgSEFTX0FSRyB8IE9Q VF9ESUNUIHwgT1BUX1NQRUMgfAorICAgICAgICAgICAgICAgICAgICAgICAgT1BUX0lOUFVULCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IC5vZmYgPSBPRkZT RVQoZGlzcGxheV9tYXRyaXhlcykgfSwKKyAgICAgICAgImRlZmluZSBhIGRpc3BsYXkgbWF0cml4 IHdpdGggcm90YXRpb24gYW5kL29yIGhvcml6b250YWwvdmVydGljYWwgIgorICAgICAgICAiZmxp cCBmb3Igc3RyZWFtKHMpIiwKKyAgICAgICAgImFyZ3VtZW50cyIsICZjbGFzc19kaXNwbGF5X21h dHJpeF9hcmdzIH0sCiAgICAgeyAicGl4X2ZtdCIsICAgICAgT1BUX1ZJREVPIHwgSEFTX0FSRyB8 IE9QVF9FWFBFUlQgIHwgT1BUX1NUUklORyB8IE9QVF9TUEVDIHwKICAgICAgICAgICAgICAgICAg ICAgICBPUFRfSU5QVVQgfCBPUFRfT1VUUFVULCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsgLm9mZiA9IE9GRlNFVChmcmFtZV9waXhfZm10cykgfSwKICAgICAgICAgInNldCBw aXhlbCBmb3JtYXQiLCAiZm9ybWF0IiB9LApkaWZmIC0tZ2l0IGEvdGVzdHMvZmF0ZS9maWx0ZXIt dmlkZW8ubWFrIGIvdGVzdHMvZmF0ZS9maWx0ZXItdmlkZW8ubWFrCmluZGV4IDM3MmM3MGJiYTcu Ljc2MzM5MGVhNTEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ZhdGUvZmlsdGVyLXZpZGVvLm1haworKysg Yi90ZXN0cy9mYXRlL2ZpbHRlci12aWRlby5tYWsKQEAgLTY5MSw3ICs2OTEsNyBAQCBmYXRlLWZp bHRlci1tZXRhZGF0YS1hdmYtYXBoYXNlLW1ldGVyLW91dC1vZi1waGFzZTogU1JDID0gJChUQVJH RVRfU0FNUExFUykvZmlsdAogZmF0ZS1maWx0ZXItbWV0YWRhdGEtYXZmLWFwaGFzZS1tZXRlci1v dXQtb2YtcGhhc2U6IENNRCA9IHJ1biAkKEZJTFRFUl9NRVRBREFUQV9DT01NQU5EKSAiYW1vdmll PSckKFNSQyknLGFwaGFzZW1ldGVyPXZpZGVvPTAiCiAKIEZBVEVfRklMVEVSX1NBTVBMRVMtJChj YWxsIFRSQU5TQ09ERSwgUkFXVklERU8gSDI2NCwgTU9WLCBBUkVTQU1QTEVfRklMVEVSICBBQUNf RklYRURfREVDT0RFUikgKz0gZmF0ZS1maWx0ZXItbWV0YS00NTYwLXJvdGF0ZTAKLWZhdGUtZmls dGVyLW1ldGEtNDU2MC1yb3RhdGUwOiBDTUQgPSB0cmFuc2NvZGUgbW92ICQoVEFSR0VUX1NBTVBM RVMpL2ZpbHRlci9zYW1wbGUtaW4taXNzdWUtNTA1Lm1vdiBtb3YgIi1jIGNvcHkgLW1ldGFkYXRh OnM6djowIHJvdGF0ZT0wIiAiLWFmIGFyZXNhbXBsZSIgIiIgIiIgIi1mbGFncyArYml0ZXhhY3Qg LWM6YSBhYWNfZml4ZWQiCitmYXRlLWZpbHRlci1tZXRhLTQ1NjAtcm90YXRlMDogQ01EID0gdHJh bnNjb2RlICJtb3YgLWRpc3BsYXlfbWF0cml4OnY6MCByb3RhdGlvbj0wIiAkKFRBUkdFVF9TQU1Q TEVTKS9maWx0ZXIvc2FtcGxlLWluLWlzc3VlLTUwNS5tb3YgbW92ICItYyBjb3B5IiAiLWFmIGFy ZXNhbXBsZSIgIiIgIiIgIi1mbGFncyArYml0ZXhhY3QgLWM6YSBhYWNfZml4ZWQiCiAKIEZBVEVf RklMVEVSX0NNUF9NRVRBREFUQS0kKENPTkZJR19CTE9DS0RFVEVDVF9GSUxURVIpICs9IGZhdGUt ZmlsdGVyLXJlZmNtcC1ibG9ja2RldGVjdC15dXYKIGZhdGUtZmlsdGVyLXJlZmNtcC1ibG9ja2Rl dGVjdC15dXY6IENNRCA9IGNtcF9tZXRhZGF0YSBibG9ja2RldGVjdCB5dXY0MjBwIDAuMDE1Ci0t IAoyLjIwLjEgKEFwcGxlIEdpdC0xMTcpCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBm Zm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZl bAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZl bC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==