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 1BAD740379 for ; Mon, 20 Dec 2021 15:31:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CA7B368AFBA; Mon, 20 Dec 2021 17:31:31 +0200 (EET) Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 200C768AEC8 for ; Mon, 20 Dec 2021 17:31:24 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id D580049361; Mon, 20 Dec 2021 16:31:23 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1640014283; bh=aYm8uI89LfDSfHrQhcIK/hnmjrvlIY71jokGj0GPr4E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BbHgHSGnhu66gAHV75wHNGyX48Mx9iovlOleWATgE84VR62b8G1TVyxkAQjKcX2dn 3IVRFBt2jcspTdYQuY4z8Fb76nLPhK89LoUN7sml0Hlz1Ky0blT/06C8jg+1oT8ZsA Xw9G/10PK8htiSTIRZjG4R6XZnTHACgYBtoWhOsc= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Mon, 20 Dec 2021 16:31:19 +0100 Message-Id: <20211220153122.54839-3-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20211220153122.54839-1-ffmpeg@haasn.xyz> References: <20211220134420.69078-1-ffmpeg@haasn.xyz> <20211220153122.54839-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v8 3/6] ffprobe: Support AV_FRAME_DATA_DOVI_METADATA 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: Niklas Haas , =?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: RnJvbTogSmFuIEVrc3Ryw7ZtIDxqZWVianBAZ21haWwuY29tPgoKQ28tYXV0aG9yZWQtYnk6IE5p a2xhcyBIYWFzIDxnaXRAaGFhc24uZGV2PgotLS0KIGZmdG9vbHMvZmZwcm9iZS5jIHwgMTczICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFu Z2VkLCAxNzAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9mZnRv b2xzL2ZmcHJvYmUuYyBiL2ZmdG9vbHMvZmZwcm9iZS5jCmluZGV4IDA3MTFlMDI5MjIuLjc1MjYz Y2QzYTkgMTAwNjQ0Ci0tLSBhL2ZmdG9vbHMvZmZwcm9iZS5jCisrKyBiL2ZmdG9vbHMvZmZwcm9i ZS5jCkBAIC0xNzUsNiArMTc1LDEwIEBAIHR5cGVkZWYgZW51bSB7CiAgICAgU0VDVElPTl9JRF9G UkFNRV9TSURFX0RBVEEsCiAgICAgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfVElNRUNPREVf TElTVCwKICAgICBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9USU1FQ09ERSwKKyAgICBTRUNU SU9OX0lEX0ZSQU1FX1NJREVfREFUQV9DT01QT05FTlRfTElTVCwKKyAgICBTRUNUSU9OX0lEX0ZS QU1FX1NJREVfREFUQV9DT01QT05FTlQsCisgICAgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFf UElFQ0VfTElTVCwKKyAgICBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9QSUVDRSwKICAgICBT RUNUSU9OX0lEX0ZSQU1FX0xPRywKICAgICBTRUNUSU9OX0lEX0ZSQU1FX0xPR1MsCiAgICAgU0VD VElPTl9JRF9MSUJSQVJZX1ZFUlNJT04sCkBAIC0yMTksOSArMjIzLDEzIEBAIHN0YXRpYyBzdHJ1 Y3Qgc2VjdGlvbiBzZWN0aW9uc1tdID0gewogICAgIFtTRUNUSU9OX0lEX0ZSQU1FXSA9ICAgICAg ICAgICAgICB7IFNFQ1RJT05fSURfRlJBTUUsICJmcmFtZSIsIDAsIHsgU0VDVElPTl9JRF9GUkFN RV9UQUdTLCBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9MSVNULCBTRUNUSU9OX0lEX0ZSQU1F X0xPR1MsIC0xIH0gfSwKICAgICBbU0VDVElPTl9JRF9GUkFNRV9UQUdTXSA9ICAgICAgICAgeyBT RUNUSU9OX0lEX0ZSQU1FX1RBR1MsICJ0YWdzIiwgU0VDVElPTl9GTEFHX0hBU19WQVJJQUJMRV9G SUVMRFMsIHsgLTEgfSwgLmVsZW1lbnRfbmFtZSA9ICJ0YWciLCAudW5pcXVlX25hbWUgPSAiZnJh bWVfdGFncyIgfSwKICAgICBbU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfTElTVF0gPXsgU0VD VElPTl9JRF9GUkFNRV9TSURFX0RBVEFfTElTVCwgInNpZGVfZGF0YV9saXN0IiwgU0VDVElPTl9G TEFHX0lTX0FSUkFZLCB7IFNFQ1RJT05fSURfRlJBTUVfU0lERV9EQVRBLCAtMSB9LCAuZWxlbWVu dF9uYW1lID0gInNpZGVfZGF0YSIsIC51bmlxdWVfbmFtZSA9ICJmcmFtZV9zaWRlX2RhdGFfbGlz dCIgfSwKLSAgICBbU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFdID0gICAgIHsgU0VDVElPTl9J RF9GUkFNRV9TSURFX0RBVEEsICJzaWRlX2RhdGEiLCAwLCB7IFNFQ1RJT05fSURfRlJBTUVfU0lE RV9EQVRBX1RJTUVDT0RFX0xJU1QsIC0xIH0gfSwKLSAgICBbU0VDVElPTl9JRF9GUkFNRV9TSURF X0RBVEFfVElNRUNPREVfTElTVF0gPSAgICAgeyBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9U SU1FQ09ERV9MSVNULCAidGltZWNvZGVzIiwgU0VDVElPTl9GTEFHX0lTX0FSUkFZLCB7IFNFQ1RJ T05fSURfRlJBTUVfU0lERV9EQVRBX1RJTUVDT0RFLCAtMSB9IH0sCi0gICAgW1NFQ1RJT05fSURf RlJBTUVfU0lERV9EQVRBX1RJTUVDT0RFXSA9ICAgICB7IFNFQ1RJT05fSURfRlJBTUVfU0lERV9E QVRBX1RJTUVDT0RFLCAidGltZWNvZGUiLCAwLCB7IC0xIH0gfSwKKyAgICBbU0VDVElPTl9JRF9G UkFNRV9TSURFX0RBVEFdID0gICAgIHsgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEEsICJzaWRl X2RhdGEiLCAwLCB7IFNFQ1RJT05fSURfRlJBTUVfU0lERV9EQVRBX1RJTUVDT0RFX0xJU1QsIFNF Q1RJT05fSURfRlJBTUVfU0lERV9EQVRBX0NPTVBPTkVOVF9MSVNULCAtMSB9IH0sCisgICAgW1NF Q1RJT05fSURfRlJBTUVfU0lERV9EQVRBX1RJTUVDT0RFX0xJU1RdID0gIHsgU0VDVElPTl9JRF9G UkFNRV9TSURFX0RBVEFfVElNRUNPREVfTElTVCwgInRpbWVjb2RlcyIsIFNFQ1RJT05fRkxBR19J U19BUlJBWSwgeyBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9USU1FQ09ERSwgLTEgfSB9LAor ICAgIFtTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9USU1FQ09ERV0gPSAgICAgICB7IFNFQ1RJ T05fSURfRlJBTUVfU0lERV9EQVRBX1RJTUVDT0RFLCAidGltZWNvZGUiLCAwLCB7IC0xIH0gfSwK KyAgICBbU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfQ09NUE9ORU5UX0xJU1RdID0geyBTRUNU SU9OX0lEX0ZSQU1FX1NJREVfREFUQV9DT01QT05FTlRfTElTVCwgImNvbXBvbmVudHMiLCBTRUNU SU9OX0ZMQUdfSVNfQVJSQVksIHsgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfQ09NUE9ORU5U LCAtMSB9IH0sCisgICAgW1NFQ1RJT05fSURfRlJBTUVfU0lERV9EQVRBX0NPTVBPTkVOVF0gPSAg ICAgIHsgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfQ09NUE9ORU5ULCAiY29tcG9uZW50Iiwg MCwgeyBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9QSUVDRV9MSVNULCAtMSB9IH0sCisgICAg W1NFQ1RJT05fSURfRlJBTUVfU0lERV9EQVRBX1BJRUNFX0xJU1RdID0gICB7IFNFQ1RJT05fSURf RlJBTUVfU0lERV9EQVRBX1BJRUNFX0xJU1QsICJwaWVjZXMiLCBTRUNUSU9OX0ZMQUdfSVNfQVJS QVksIHsgU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfUElFQ0UsIC0xIH0gfSwKKyAgICBbU0VD VElPTl9JRF9GUkFNRV9TSURFX0RBVEFfUElFQ0VdID0gICAgICAgIHsgU0VDVElPTl9JRF9GUkFN RV9TSURFX0RBVEFfUElFQ0UsICJzZWN0aW9uIiwgMCwgeyAtMSB9IH0sCiAgICAgW1NFQ1RJT05f SURfRlJBTUVfTE9HU10gPSAgICAgICAgIHsgU0VDVElPTl9JRF9GUkFNRV9MT0dTLCAibG9ncyIs IFNFQ1RJT05fRkxBR19JU19BUlJBWSwgeyBTRUNUSU9OX0lEX0ZSQU1FX0xPRywgLTEgfSB9LAog ICAgIFtTRUNUSU9OX0lEX0ZSQU1FX0xPR10gPSAgICAgICAgICB7IFNFQ1RJT05fSURfRlJBTUVf TE9HLCAibG9nIiwgMCwgeyAtMSB9LCAgfSwKICAgICBbU0VDVElPTl9JRF9MSUJSQVJZX1ZFUlNJ T05TXSA9ICAgeyBTRUNUSU9OX0lEX0xJQlJBUllfVkVSU0lPTlMsICJsaWJyYXJ5X3ZlcnNpb25z IiwgU0VDVElPTl9GTEFHX0lTX0FSUkFZLCB7IFNFQ1RJT05fSURfTElCUkFSWV9WRVJTSU9OLCAt MSB9IH0sCkBAIC0xODA3LDYgKzE4MTUsMTYgQEAgc3RhdGljIHZvaWQgd3JpdGVyX3JlZ2lzdGVy X2FsbCh2b2lkKQogICAgIHdyaXRlcl9wcmludF9zdHJpbmcodywgaywgcGJ1Zi5zdHIsIDApOyAg ICBcCiB9IHdoaWxlICgwKQogCisjZGVmaW5lIHByaW50X2xpc3RfZm10KGssIGYsIG4sIC4uLikg ZG8geyAgICAgICBcCisgICAgYXZfYnByaW50X2NsZWFyKCZwYnVmKTsgICAgICAgICAgICAgICAg ICAgICBcCisgICAgZm9yIChpbnQgaWR4ID0gMDsgaWR4IDwgbjsgaWR4KyspIHsgICAgICAgICBc CisgICAgICAgIGlmIChpZHggPiAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg ICAgICAgICBhdl9icHJpbnRfY2hhcnMoJnBidWYsICcgJywgMSk7ICAgICBcCisgICAgICAgIGF2 X2JwcmludGYoJnBidWYsIGYsIF9fVkFfQVJHU19fKTsgICAgICBcCisgICAgfSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgd3JpdGVyX3ByaW50X3N0cmlu Zyh3LCBrLCBwYnVmLnN0ciwgMCk7ICAgICBcCit9IHdoaWxlICgwKQorCiAjZGVmaW5lIHByaW50 X2ludChrLCB2KSAgICAgICAgIHdyaXRlcl9wcmludF9pbnRlZ2VyKHcsIGssIHYpCiAjZGVmaW5l IHByaW50X3EoaywgdiwgcykgICAgICAgIHdyaXRlcl9wcmludF9yYXRpb25hbCh3LCBrLCB2LCBz KQogI2RlZmluZSBwcmludF9zdHIoaywgdikgICAgICAgICB3cml0ZXJfcHJpbnRfc3RyaW5nKHcs IGssIHYsIDApCkBAIC0xODUyLDYgKzE4NzAsMTUzIEBAIHN0YXRpYyBpbmxpbmUgaW50IHNob3df dGFncyhXcml0ZXJDb250ZXh0ICp3LCBBVkRpY3Rpb25hcnkgKnRhZ3MsIGludCBzZWN0aW9uX2lk CiAgICAgcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIHZvaWQgcHJpbnRfZG92aV9tZXRhZGF0YShX cml0ZXJDb250ZXh0ICp3LCBjb25zdCBBVkRPVklNZXRhZGF0YSAqZG92aSkKK3sKKyAgICBpZiAo IWRvdmkpCisgICAgICAgIHJldHVybjsKKworICAgIHsKKyAgICAgICAgY29uc3QgQVZET1ZJUnB1 RGF0YUhlYWRlciAqaGRyICAgICA9ICZkb3ZpLT5oZWFkZXI7CisgICAgICAgIGNvbnN0IEFWRE9W SURhdGFNYXBwaW5nICAgKm1hcHBpbmcgPSAmZG92aS0+bWFwcGluZzsKKyAgICAgICAgY29uc3Qg QVZET1ZJQ29sb3JNZXRhZGF0YSAqY29sb3IgICA9ICZkb3ZpLT5jb2xvcjsKKyAgICAgICAgQVZC UHJpbnQgcGJ1ZjsKKworICAgICAgICBhdl9icHJpbnRfaW5pdCgmcGJ1ZiwgMSwgQVZfQlBSSU5U X1NJWkVfVU5MSU1JVEVEKTsKKworICAgICAgICAvLyBoZWFkZXIKKyAgICAgICAgcHJpbnRfaW50 KCJycHVfdHlwZSIsICAgICAgICBoZHItPnJwdV90eXBlKTsKKyAgICAgICAgcHJpbnRfaW50KCJy cHVfZm9ybWF0IiwgICAgICBoZHItPnJwdV9mb3JtYXQpOworICAgICAgICBwcmludF9pbnQoInZk cl9ycHVfcHJvZmlsZSIsIGhkci0+dmRyX3JwdV9wcm9maWxlKTsKKyAgICAgICAgcHJpbnRfaW50 KCJ2ZHJfcnB1X2xldmVsIiwgICBoZHItPnZkcl9ycHVfbGV2ZWwpOworICAgICAgICBwcmludF9p bnQoImNocm9tYV9yZXNhbXBsaW5nX2V4cGxpY2l0X2ZpbHRlcl9mbGFnIiwKKyAgICAgICAgICAg ICAgICAgIGhkci0+Y2hyb21hX3Jlc2FtcGxpbmdfZXhwbGljaXRfZmlsdGVyX2ZsYWcpOworICAg ICAgICBwcmludF9pbnQoImNvZWZfZGF0YV90eXBlIiwgICAgICAgICAgIGhkci0+Y29lZl9kYXRh X3R5cGUpOworICAgICAgICBwcmludF9pbnQoImNvZWZfbG9nMl9kZW5vbSIsICAgICAgICAgIGhk ci0+Y29lZl9sb2cyX2Rlbm9tKTsKKyAgICAgICAgcHJpbnRfaW50KCJ2ZHJfcnB1X25vcm1hbGl6 ZWRfaWRjIiwgICBoZHItPnZkcl9ycHVfbm9ybWFsaXplZF9pZGMpOworICAgICAgICBwcmludF9p bnQoImJsX3ZpZGVvX2Z1bGxfcmFuZ2VfZmxhZyIsIGhkci0+YmxfdmlkZW9fZnVsbF9yYW5nZV9m bGFnKTsKKyAgICAgICAgcHJpbnRfaW50KCJibF9iaXRfZGVwdGgiLCAgICAgICAgICAgICBoZHIt PmJsX2JpdF9kZXB0aCk7CisgICAgICAgIHByaW50X2ludCgiZWxfYml0X2RlcHRoIiwgICAgICAg ICAgICAgaGRyLT5lbF9iaXRfZGVwdGgpOworICAgICAgICBwcmludF9pbnQoInZkcl9iaXRfZGVw dGgiLCAgICAgICAgICAgIGhkci0+dmRyX2JpdF9kZXB0aCk7CisgICAgICAgIHByaW50X2ludCgi c3BhdGlhbF9yZXNhbXBsaW5nX2ZpbHRlcl9mbGFnIiwKKyAgICAgICAgICAgICAgICAgIGhkci0+ c3BhdGlhbF9yZXNhbXBsaW5nX2ZpbHRlcl9mbGFnKTsKKyAgICAgICAgcHJpbnRfaW50KCJlbF9z cGF0aWFsX3Jlc2FtcGxpbmdfZmlsdGVyX2ZsYWciLAorICAgICAgICAgICAgICAgICAgaGRyLT5l bF9zcGF0aWFsX3Jlc2FtcGxpbmdfZmlsdGVyX2ZsYWcpOworICAgICAgICBwcmludF9pbnQoImRp c2FibGVfcmVzaWR1YWxfZmxhZyIsICAgICBoZHItPmRpc2FibGVfcmVzaWR1YWxfZmxhZyk7CisK KyAgICAgICAgLy8gZGF0YSBtYXBwaW5nIHZhbHVlcworICAgICAgICBwcmludF9pbnQoInZkcl9y cHVfaWQiLCAgICAgICAgICAgICAgICBtYXBwaW5nLT52ZHJfcnB1X2lkKTsKKyAgICAgICAgcHJp bnRfaW50KCJtYXBwaW5nX2NvbG9yX3NwYWNlIiwgICAgICAgbWFwcGluZy0+bWFwcGluZ19jb2xv cl9zcGFjZSk7CisgICAgICAgIHByaW50X2ludCgibWFwcGluZ19jaHJvbWFfZm9ybWF0X2lkYyIs CisgICAgICAgICAgICAgICAgICBtYXBwaW5nLT5tYXBwaW5nX2Nocm9tYV9mb3JtYXRfaWRjKTsK KworICAgICAgICBwcmludF9pbnQoIm5scV9tZXRob2RfaWRjIiwgICAgICAgICAgICBtYXBwaW5n LT5ubHFfbWV0aG9kX2lkYyk7CisgICAgICAgIHN3aXRjaCAobWFwcGluZy0+bmxxX21ldGhvZF9p ZGMpIHsKKyAgICAgICAgY2FzZSBBVl9ET1ZJX05MUV9OT05FOgorICAgICAgICAgICAgcHJpbnRf c3RyKCJubHFfbWV0aG9kX2lkY19uYW1lIiwgIm5vbmUiKTsKKyAgICAgICAgICAgIGJyZWFrOwor ICAgICAgICBjYXNlIEFWX0RPVklfTkxRX0xJTkVBUl9EWjoKKyAgICAgICAgICAgIHByaW50X3N0 cigibmxxX21ldGhvZF9pZGNfbmFtZSIsICJsaW5lYXJfZHoiKTsKKyAgICAgICAgICAgIGJyZWFr OworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgcHJpbnRfc3RyKCJubHFfbWV0aG9kX2lk Y19uYW1lIiwgInVua25vd24iKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAg ICAgICAgcHJpbnRfaW50KCJudW1feF9wYXJ0aXRpb25zIiwgICAgICAgICAgbWFwcGluZy0+bnVt X3hfcGFydGl0aW9ucyk7CisgICAgICAgIHByaW50X2ludCgibnVtX3lfcGFydGl0aW9ucyIsICAg ICAgICAgIG1hcHBpbmctPm51bV95X3BhcnRpdGlvbnMpOworCisgICAgICAgIHdyaXRlcl9wcmlu dF9zZWN0aW9uX2hlYWRlcih3LCBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9DT01QT05FTlRf TElTVCk7CisKKyAgICAgICAgZm9yIChpbnQgYyA9IDA7IGMgPCAzOyBjKyspIHsKKyAgICAgICAg ICAgIGNvbnN0IEFWRE9WSVJlc2hhcGluZ0N1cnZlICpjdXJ2ZSA9ICZtYXBwaW5nLT5jdXJ2ZXNb Y107CisgICAgICAgICAgICB3cml0ZXJfcHJpbnRfc2VjdGlvbl9oZWFkZXIodywgU0VDVElPTl9J RF9GUkFNRV9TSURFX0RBVEFfQ09NUE9ORU5UKTsKKworICAgICAgICAgICAgcHJpbnRfbGlzdF9m bXQoInBpdm90cyIsICIlIlBSSXUxNiwgY3VydmUtPm51bV9waXZvdHMsIGN1cnZlLT5waXZvdHNb aWR4XSk7CisKKyAgICAgICAgICAgIHdyaXRlcl9wcmludF9zZWN0aW9uX2hlYWRlcih3LCBTRUNU SU9OX0lEX0ZSQU1FX1NJREVfREFUQV9QSUVDRV9MSVNUKTsKKyAgICAgICAgICAgIGZvciAoaW50 IGkgPSAwOyBpIDwgY3VydmUtPm51bV9waXZvdHMgLSAxOyBpKyspIHsKKworICAgICAgICAgICAg ICAgIHdyaXRlcl9wcmludF9zZWN0aW9uX2hlYWRlcih3LCBTRUNUSU9OX0lEX0ZSQU1FX1NJREVf REFUQV9QSUVDRSk7CisgICAgICAgICAgICAgICAgcHJpbnRfaW50KCJtYXBwaW5nX2lkYyIsIGN1 cnZlLT5tYXBwaW5nX2lkY1tpXSk7CisgICAgICAgICAgICAgICAgc3dpdGNoIChjdXJ2ZS0+bWFw cGluZ19pZGNbaV0pIHsKKyAgICAgICAgICAgICAgICBjYXNlIEFWX0RPVklfTUFQUElOR19QT0xZ Tk9NSUFMOgorICAgICAgICAgICAgICAgICAgICBwcmludF9zdHIoIm1hcHBpbmdfaWRjX25hbWUi LCAgICJwb2x5bm9taWFsIik7CisgICAgICAgICAgICAgICAgICAgIHByaW50X2ludCgicG9seV9v cmRlciIsICAgICAgICAgY3VydmUtPnBvbHlfb3JkZXJbaV0pOworICAgICAgICAgICAgICAgICAg ICBwcmludF9saXN0X2ZtdCgicG9seV9jb2VmIiwgIiUiUFJJaTY0LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjdXJ2ZS0+cG9seV9vcmRlcltpXSArIDEsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnZlLT5wb2x5X2NvZWZbaV1baWR4XSk7CisgICAg ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNhc2UgQVZfRE9WSV9NQVBQ SU5HX01NUjoKKyAgICAgICAgICAgICAgICAgICAgcHJpbnRfc3RyKCJtYXBwaW5nX2lkY19uYW1l IiwgICAibW1yIik7CisgICAgICAgICAgICAgICAgICAgIHByaW50X2ludCgibW1yX29yZGVyIiwg ICAgICAgICAgY3VydmUtPm1tcl9vcmRlcltpXSk7CisgICAgICAgICAgICAgICAgICAgIHByaW50 X2ludCgibW1yX2NvbnN0YW50IiwgICAgICAgY3VydmUtPm1tcl9jb25zdGFudFtpXSk7CisgICAg ICAgICAgICAgICAgICAgIHByaW50X2xpc3RfZm10KCJtbXJfY29lZiIsICIlIlBSSWk2NCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VydmUtPm1tcl9vcmRlcltpXSAqIDcs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnZlLT5tbXJfY29lZltpXVsw XVtpZHhdKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZGVm YXVsdDoKKyAgICAgICAgICAgICAgICAgICAgcHJpbnRfc3RyKCJtYXBwaW5nX2lkY19uYW1lIiwg ICAidW5rbm93biIpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg ICB9CisKKyAgICAgICAgICAgICAgICAvLyBTRUNUSU9OX0lEX0ZSQU1FX1NJREVfREFUQV9QSUVD RQorICAgICAgICAgICAgICAgIHdyaXRlcl9wcmludF9zZWN0aW9uX2Zvb3Rlcih3KTsKKyAgICAg ICAgICAgIH0KKworICAgICAgICAgICAgLy8gU0VDVElPTl9JRF9GUkFNRV9TSURFX0RBVEFfUElF Q0VfTElTVAorICAgICAgICAgICAgd3JpdGVyX3ByaW50X3NlY3Rpb25fZm9vdGVyKHcpOworCisg ICAgICAgICAgICBpZiAobWFwcGluZy0+bmxxX21ldGhvZF9pZGMgIT0gQVZfRE9WSV9OTFFfTk9O RSkgeworICAgICAgICAgICAgICAgIGNvbnN0IEFWRE9WSU5MUVBhcmFtcyAqbmxxICA9ICZtYXBw aW5nLT5ubHFbY107CisgICAgICAgICAgICAgICAgcHJpbnRfaW50KCJubHFfb2Zmc2V0Iiwgbmxx LT5ubHFfb2Zmc2V0KTsKKyAgICAgICAgICAgICAgICBwcmludF9pbnQoInZkcl9pbl9tYXgiLCBu bHEtPnZkcl9pbl9tYXgpOworCisgICAgICAgICAgICAgICAgc3dpdGNoIChtYXBwaW5nLT5ubHFf bWV0aG9kX2lkYykgeworICAgICAgICAgICAgICAgIGNhc2UgQVZfRE9WSV9OTFFfTElORUFSX0Ra OgorICAgICAgICAgICAgICAgICAgICBwcmludF9pbnQoImxpbmVhcl9kZWFkem9uZV9zbG9wZSIs ICAgICAgbmxxLT5saW5lYXJfZGVhZHpvbmVfc2xvcGUpOworICAgICAgICAgICAgICAgICAgICBw cmludF9pbnQoImxpbmVhcl9kZWFkem9uZV90aHJlc2hvbGQiLCAgbmxxLT5saW5lYXJfZGVhZHpv bmVfdGhyZXNob2xkKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAg ICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBTRUNUSU9OX0lEX0ZSQU1FX1NJ REVfREFUQV9DT01QT05FTlQKKyAgICAgICAgICAgIHdyaXRlcl9wcmludF9zZWN0aW9uX2Zvb3Rl cih3KTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFNFQ1RJT05fSURfRlJBTUVfU0lERV9EQVRB X0NPTVBPTkVOVF9MSVNUCisgICAgICAgIHdyaXRlcl9wcmludF9zZWN0aW9uX2Zvb3Rlcih3KTsK KworICAgICAgICAvLyBjb2xvciBtZXRhZGF0YQorICAgICAgICBwcmludF9pbnQoImRtX21ldGFk YXRhX2lkIiwgICAgICAgICBjb2xvci0+ZG1fbWV0YWRhdGFfaWQpOworICAgICAgICBwcmludF9p bnQoInNjZW5lX3JlZnJlc2hfZmxhZyIsICAgICBjb2xvci0+c2NlbmVfcmVmcmVzaF9mbGFnKTsK KyAgICAgICAgcHJpbnRfbGlzdF9mbXQoInljY190b19yZ2JfbWF0cml4IiwgIiVkLyVkIiwKKyAg ICAgICAgICAgICAgICAgICAgICAgRkZfQVJSQVlfRUxFTVMoY29sb3ItPnljY190b19yZ2JfbWF0 cml4KSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29sb3ItPnljY190b19yZ2JfbWF0cml4W2lk eF0ubnVtLAorICAgICAgICAgICAgICAgICAgICAgICBjb2xvci0+eWNjX3RvX3JnYl9tYXRyaXhb aWR4XS5kZW4pOworICAgICAgICBwcmludF9saXN0X2ZtdCgieWNjX3RvX3JnYl9vZmZzZXQiLCAi JWQvJWQiLAorICAgICAgICAgICAgICAgICAgICAgICBGRl9BUlJBWV9FTEVNUyhjb2xvci0+eWNj X3RvX3JnYl9vZmZzZXQpLAorICAgICAgICAgICAgICAgICAgICAgICBjb2xvci0+eWNjX3RvX3Jn Yl9vZmZzZXRbaWR4XS5udW0sCisgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yLT55Y2NfdG9f cmdiX29mZnNldFtpZHhdLmRlbik7CisgICAgICAgIHByaW50X2xpc3RfZm10KCJyZ2JfdG9fbG1z X21hdHJpeCIsICIlZC8lZCIsCisgICAgICAgICAgICAgICAgICAgICAgIEZGX0FSUkFZX0VMRU1T KGNvbG9yLT5yZ2JfdG9fbG1zX21hdHJpeCksCisgICAgICAgICAgICAgICAgICAgICAgIGNvbG9y LT5yZ2JfdG9fbG1zX21hdHJpeFtpZHhdLm51bSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29s b3ItPnJnYl90b19sbXNfbWF0cml4W2lkeF0uZGVuKTsKKyAgICAgICAgcHJpbnRfaW50KCJzaWdu YWxfZW90ZiIsICAgICAgICAgICAgY29sb3ItPnNpZ25hbF9lb3RmKTsKKyAgICAgICAgcHJpbnRf aW50KCJzaWduYWxfZW90Zl9wYXJhbTAiLCAgICAgY29sb3ItPnNpZ25hbF9lb3RmX3BhcmFtMCk7 CisgICAgICAgIHByaW50X2ludCgic2lnbmFsX2VvdGZfcGFyYW0xIiwgICAgIGNvbG9yLT5zaWdu YWxfZW90Zl9wYXJhbTEpOworICAgICAgICBwcmludF9pbnQoInNpZ25hbF9lb3RmX3BhcmFtMiIs ICAgICBjb2xvci0+c2lnbmFsX2VvdGZfcGFyYW0yKTsKKyAgICAgICAgcHJpbnRfaW50KCJzaWdu YWxfYml0X2RlcHRoIiwgICAgICAgY29sb3ItPnNpZ25hbF9iaXRfZGVwdGgpOworICAgICAgICBw cmludF9pbnQoInNpZ25hbF9jb2xvcl9zcGFjZSIsICAgICBjb2xvci0+c2lnbmFsX2NvbG9yX3Nw YWNlKTsKKyAgICAgICAgcHJpbnRfaW50KCJzaWduYWxfY2hyb21hX2Zvcm1hdCIsICAgY29sb3It PnNpZ25hbF9jaHJvbWFfZm9ybWF0KTsKKyAgICAgICAgcHJpbnRfaW50KCJzaWduYWxfZnVsbF9y YW5nZV9mbGFnIiwgY29sb3ItPnNpZ25hbF9mdWxsX3JhbmdlX2ZsYWcpOworICAgICAgICBwcmlu dF9pbnQoInNvdXJjZV9taW5fcHEiLCAgICAgICAgICBjb2xvci0+c291cmNlX21pbl9wcSk7Cisg ICAgICAgIHByaW50X2ludCgic291cmNlX21heF9wcSIsICAgICAgICAgIGNvbG9yLT5zb3VyY2Vf bWF4X3BxKTsKKyAgICAgICAgcHJpbnRfaW50KCJzb3VyY2VfZGlhZ29uYWwiLCAgICAgICAgY29s b3ItPnNvdXJjZV9kaWFnb25hbCk7CisKKyAgICAgICAgYXZfYnByaW50X2ZpbmFsaXplKCZwYnVm LCBOVUxMKTsKKyAgICB9Cit9CisKIHN0YXRpYyB2b2lkIHByaW50X2R5bmFtaWNfaGRyMTBfcGx1 cyhXcml0ZXJDb250ZXh0ICp3LCBjb25zdCBBVkR5bmFtaWNIRFJQbHVzICptZXRhZGF0YSkKIHsK ICAgICBpZiAoIW1ldGFkYXRhKQpAQCAtMjM2OCw2ICsyNTMzLDggQEAgc3RhdGljIHZvaWQgc2hv d19mcmFtZShXcml0ZXJDb250ZXh0ICp3LCBBVkZyYW1lICpmcmFtZSwgQVZTdHJlYW0gKnN0cmVh bSwKICAgICAgICAgICAgICAgICBpZiAodGFnKQogICAgICAgICAgICAgICAgICAgICBwcmludF9z dHIodGFnLT5rZXksIHRhZy0+dmFsdWUpOwogICAgICAgICAgICAgICAgIHByaW50X2ludCgic2l6 ZSIsIHNkLT5zaXplKTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoc2QtPnR5cGUgPT0gQVZfRlJB TUVfREFUQV9ET1ZJX01FVEFEQVRBKSB7CisgICAgICAgICAgICAgICAgcHJpbnRfZG92aV9tZXRh ZGF0YSh3LCAoY29uc3QgQVZET1ZJTWV0YWRhdGEgKilzZC0+ZGF0YSk7CiAgICAgICAgICAgICB9 CiAgICAgICAgICAgICB3cml0ZXJfcHJpbnRfc2VjdGlvbl9mb290ZXIodyk7CiAgICAgICAgIH0K LS0gCjIuMzQuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRw czovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2Ny aWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1w ZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=