From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id 4CEA949EFC
	for <ffmpegdev@gitmailbox.com>; Sun, 30 Mar 2025 10:18:35 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 39210687C44;
	Sun, 30 Mar 2025 13:18:32 +0300 (EEST)
Received: from smtp.waider.ie (smtp.waider.ie [52.31.250.228])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D9614687BA6
 for <ffmpeg-devel@ffmpeg.org>; Sun, 30 Mar 2025 13:18:25 +0300 (EEST)
Received: from smtpclient.apple (unknown [109.255.224.49])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by smtp.waider.ie (Postfix) with ESMTPSA id 1095D4B40A
 for <ffmpeg-devel@ffmpeg.org>; Sun, 30 Mar 2025 10:18:18 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=waider.ie;
 s=waider_ie; t=1743329905;
 bh=+iw+D9b45FxFf2MDwRLhVA07kt77Hd3AqAKKqPodnzE=;
 h=Content-Type:Mime-Version:Subject:To:From:In-Reply-To:Date:
 Content-Transfer-Encoding:Message-Id:References;
 b=QBxPs05oo9sp0D+wCK2ODM58Vz7H0VuznyxvTeH7azcRmraF98ef6rwzWBSJyXsvZ
 2VBXSxhcTmrvKkvtEds9K5U21kgl2gNmm23eg8PwiwJx6mzoaqrcrlUxaiZMEw5qXf
 o8glj6FospeO6f5vfnuNPk3QDPHg8Scb+hWX8qFM=
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.400.131.1.6\))
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
From: Ronan Waide <waider@waider.ie>
In-Reply-To: <B53782C0-2E44-4BC8-8462-9612DBA9A03D@waider.ie>
Date: Sun, 30 Mar 2025 11:18:17 +0100
Message-Id: <A292891E-00A3-4E00-8CF4-508AA4A5D196@waider.ie>
References: <DM8P223MB036502E46137DD7E252AF669BACE2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
 <20250302172331.57779-1-waider@waider.ie>
 <DM8P223MB036556909A24803D3FAC1D10BACE2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM>
 <B53782C0-2E44-4BC8-8462-9612DBA9A03D@waider.ie>
Organization: Poor, at best
X-Mailer: Apple Mail (2.3826.400.131.1.6)
X-Spam-Status: No, score=-102.9 required=5.0 tests=ALL_TRUSTED,BAYES_00,
 USER_IN_WELCOMELIST,USER_IN_WHITELIST autolearn=ham autolearn_force=no
 version=3.4.3
X-Spam-Checker-Version: SpamAssassin 3.4.3 (2019-12-06) on ec2.waider.ie
Subject: Re: [FFmpeg-devel] [PATCH v5] libavcodec/dvbsubenc.c: add a
 disable_2bpp option to work around some decoders.
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/A292891E-00A3-4E00-8CF4-508AA4A5D196@waider.ie/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

Cgo+IE9uIDggTWFyIDIwMjUsIGF0IDA4OjAyLCBSb25hbiBXYWlkZSA8d2FpZGVyQHdhaWRlci5p
ZT4gd3JvdGU6Cj4gCj4gCj4gCj4+IE9uIDIgTWFyIDIwMjUsIGF0IDIwOjM4LCBTb2Z0IFdvcmtz
IDxzb2Z0d29ya3otYXQtaG90bWFpbC5jb21AZmZtcGVnLm9yZz4gd3JvdGU6Cj4+IAo+PiAKPj4g
Cj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+Pj4gRnJvbTogZmZtcGVnLWRldmVsIDxm
Zm1wZWctZGV2ZWwtYm91bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YgUm9uYW4KPj4+IFdh
aWRlCj4+PiBTZW50OiBTb25udGFnLCAyLiBNw6RyeiAyMDI1IDE4OjI0Cj4+PiBUbzogZmZtcGVn
LWRldmVsQGZmbXBlZy5vcmcKPj4+IENjOiBSb25hbiBXYWlkZSA8d2FpZGVyQHdhaWRlci5pZT4K
Pj4+IFN1YmplY3Q6IFtGRm1wZWctZGV2ZWxdIFtQQVRDSCB2NV0gbGliYXZjb2RlYy9kdmJzdWJl
bmMuYzogYWRkIGEKPj4+IGRpc2FibGVfMmJwcCBvcHRpb24gdG8gd29yayBhcm91bmQgc29tZSBk
ZWNvZGVycy4KPj4+IAo+Pj4gQXMgbm90ZWQgaW4gdGhlIGNvZGUgaW4gc2V2ZXJhbCBwbGFjZXMs
IHNvbWUgRFZCIHN1YnRpdGxlIGRlY29kZXJzCj4+PiBkb24ndCBoYW5kbGUgMmJwcCBjb2xvci4g
VGhpcyBwYXRjaCBhZGRzIGEgZGlzYWJsZV8yYnBwIG9wdGlvbiB3aGljaAo+Pj4gZGlzYWJsZXMg
dGhlIDJicHAgZm9ybWF0OyBzdWJ0aXRsZXMgd2hpY2ggd291bGQgdXNlIDJicHAgd2lsbCBiZSBi
dW1wZWQKPj4+IHVwIHRvIDRicHAuIFBlciBzdWdnZXN0aW9uIGZyb20gc3csIGRpc2FibGVfMnBw
IGRlZmF1bHRzIHRvIHRydWUuCj4+PiAKPj4+IFNpZ25lZC1vZmYtYnk6IFJvbmFuIFdhaWRlIDx3
YWlkZXJAd2FpZGVyLmllPgo+Pj4gLS0tCj4+PiBkb2MvZW5jb2RlcnMudGV4aSAgICAgIHwgMjcg
KysrKysrKysrKysrKysrKysKPj4+IGxpYmF2Y29kZWMvZHZic3ViZW5jLmMgfCA2OSArKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KPj4+IDIgZmlsZXMgY2hhbmdlZCwg
NzggaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCj4+PiAKPj4+IGRpZmYgLS1naXQgYS9k
b2MvZW5jb2RlcnMudGV4aSBiL2RvYy9lbmNvZGVycy50ZXhpCj4+PiBpbmRleCBmM2ZjYzFhYTYw
Li42ZWUwMDY1YzdkIDEwMDY0NAo+Pj4gLS0tIGEvZG9jL2VuY29kZXJzLnRleGkKPj4+ICsrKyBi
L2RvYy9lbmNvZGVycy50ZXhpCj4+PiBAQCAtNDQ4NCw2ICs0NDg0LDMzIEBAIFJlZHVjZXMgZGV0
YWlsIGJ1dCBhdHRlbXB0cyB0byBwcmVzZXJ2ZSBjb2xvciBhdAo+Pj4gZXh0cmVtZWx5IGxvdyBi
aXRyYXRlcy4KPj4+IEBjaGFwdGVyIFN1YnRpdGxlcyBFbmNvZGVycwo+Pj4gQGMgbWFuIGJlZ2lu
IFNVQlRJVExFUyBFTkNPREVSUwo+Pj4gCj4+PiArQHNlY3Rpb24gZHZic3ViCj4+PiArCj4+PiAr
VGhpcyBjb2RlYyBlbmNvZGVzIHRoZSBiaXRtYXAgc3VidGl0bGUgZm9ybWF0IHRoYXQgaXMgdXNl
ZCBpbiBEVkIKPj4+ICticm9hZGNhc3RzIGFuZCByZWNvcmRpbmdzLiBUaGUgYml0bWFwcyBhcmUg
dHlwaWNhbGx5IGVtYmVkZGVkIGluIGEKPj4+ICtjb250YWluZXIgc3VjaCBhcyBNUEVHLVRTIGFz
IGEgc2VwYXJhdGUgc3RyZWFtLgo+Pj4gKwo+Pj4gK0BzdWJzZWN0aW9uIE9wdGlvbnMKPj4+ICsK
Pj4+ICtAdGFibGUgQG9wdGlvbgo+Pj4gK0BpdGVtIGRpc2FibGVfMmJwcCBAdmFye2Jvb2xlYW59
Cj4+PiArRGlzYWJsZSB0aGUgMiBiaXRzLXBlci1waXhlbCBlbmNvZGluZyBmb3JtYXQuCj4+PiAr
Cj4+PiArRFZCIHN1cHBvcnRzIDIsIDQsIGFuZCA4IGJpdHMtcGVyLXBpeGVsIGNvbG9yIGxvb2t1
cCB0YWJsZXMuIEhvd2V2ZXIsCj4+PiArbm90IGFsbCBwbGF5ZXJzIHN1cHBvcnQgb3IgcHJvcGVy
bHkgc3VwcG9ydCAyIGJpdHMtcGVyLXBpeGVsLAo+Pj4gK3Jlc3VsdGluZyBpbiB1bnVzYWJsZSBz
dWJ0aXRsZXMuCj4+PiArQHRhYmxlIEBvcHRpb24KPj4+ICtAaXRlbSAwCj4+PiArVGhlIDIgYml0
cy1wZXItcGl4ZWwgZW5jb2RpbmcgZm9ybWF0IHdpbGwgYmUgdXNlZCBmb3Igc3VidGl0bGVzIHdp
dGggNAo+Pj4gK2NvbG9ycyBvciBsZXNzLgo+Pj4gKwo+Pj4gK0BpdGVtIDEKPj4+ICtUaGUgMiBi
aXRzLXBlci1waXhlbCBlbmNvZGluZyBmb3JtYXQgd2lsbCBiZSBkaXNhYmxlZCwgYW5kIHN1YnRp
dGxlcwo+Pj4gK3dpdGggNCBjb2xvcnMgb3IgbGVzcyB3aWxsIHVzZSBhIDQgYml0cy1wZXItcGl4
ZWwgZm9ybWF0LiAoZGVmYXVsdCkKPj4+ICtAZW5kIHRhYmxlCj4+PiArCj4+PiArQGVuZCB0YWJs
ZQo+Pj4gKwo+Pj4gQHNlY3Rpb24gZHZkc3ViCj4+PiAKPj4+IFRoaXMgY29kZWMgZW5jb2RlcyB0
aGUgYml0bWFwIHN1YnRpdGxlIGZvcm1hdCB0aGF0IGlzIHVzZWQgaW4gRFZEcy4KPj4+IGRpZmYg
LS1naXQgYS9saWJhdmNvZGVjL2R2YnN1YmVuYy5jIGIvbGliYXZjb2RlYy9kdmJzdWJlbmMuYwo+
Pj4gaW5kZXggODIyZTNhNTMwOS4uNGRiMmUxZGRkYSAxMDA2NDQKPj4+IC0tLSBhL2xpYmF2Y29k
ZWMvZHZic3ViZW5jLmMKPj4+ICsrKyBiL2xpYmF2Y29kZWMvZHZic3ViZW5jLmMKPj4+IEBAIC0y
Miw5ICsyMiwxMiBAQAo+Pj4gI2luY2x1ZGUgImJ5dGVzdHJlYW0uaCIKPj4+ICNpbmNsdWRlICJj
b2RlY19pbnRlcm5hbC5oIgo+Pj4gI2luY2x1ZGUgImxpYmF2dXRpbC9jb2xvcnNwYWNlLmgiCj4+
PiArI2luY2x1ZGUgImxpYmF2dXRpbC9vcHQuaCIKPj4+IAo+Pj4gdHlwZWRlZiBzdHJ1Y3QgRFZC
U3VidGl0bGVDb250ZXh0IHsKPj4+ICsgICAgQVZDbGFzcyAqIGNsYXNzOwo+Pj4gICAgaW50IG9i
amVjdF92ZXJzaW9uOwo+Pj4gKyAgICBpbnQgZGlzYWJsZV8yYnBwOwo+Pj4gfSBEVkJTdWJ0aXRs
ZUNvbnRleHQ7Cj4+PiAKPj4+ICNkZWZpbmUgUFVUQklUUzIodmFsKVwKPj4+IEBAIC0yNzQsMTMg
KzI3NywxNSBAQCBzdGF0aWMgaW50IGR2YnN1Yl9lbmNvZGUoQVZDb2RlY0NvbnRleHQgKmF2Y3R4
LAo+Pj4gdWludDhfdCAqb3V0YnVmLCBpbnQgYnVmX3NpemUsCj4+PiB7Cj4+PiAgICBEVkJTdWJ0
aXRsZUNvbnRleHQgKnMgPSBhdmN0eC0+cHJpdl9kYXRhOwo+Pj4gICAgdWludDhfdCAqcSwgKnBz
ZWdfbGVuOwo+Pj4gLSAgICBpbnQgcGFnZV9pZCwgcmVnaW9uX2lkLCBjbHV0X2lkLCBvYmplY3Rf
aWQsIGksIGJwcF9pbmRleCwKPj4+IHBhZ2Vfc3RhdGU7Cj4+PiArICAgIGludCBwYWdlX2lkLCBy
ZWdpb25faWQsIGNsdXRfaWQsIG9iamVjdF9pZCwgaSwgYnBwX2luZGV4LAo+Pj4gcGFnZV9zdGF0
ZSwgbWluX2NvbG9yczsKPj4+IAo+Pj4gCj4+PiAgICBxID0gb3V0YnVmOwo+Pj4gCj4+PiAgICBw
YWdlX2lkID0gMTsKPj4+IAo+Pj4gKyAgICBtaW5fY29sb3JzID0gcy0+ZGlzYWJsZV8yYnBwID8g
MTYgOiAwOwo+Pj4gKwo+Pj4gICAgaWYgKGgtPm51bV9yZWN0cyAmJiAhaC0+cmVjdHMpCj4+PiAg
ICAgICAgcmV0dXJuIEFWRVJST1IoRUlOVkFMKTsKPj4+IAo+Pj4gQEAgLTMyNiwxOCArMzMxLDIw
IEBAIHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsCj4+PiB1
aW50OF90ICpvdXRidWYsIGludCBidWZfc2l6ZSwKPj4+IAo+Pj4gICAgaWYgKGgtPm51bV9yZWN0
cykgewo+Pj4gICAgICAgIGZvciAoY2x1dF9pZCA9IDA7IGNsdXRfaWQgPCBoLT5udW1fcmVjdHM7
IGNsdXRfaWQrKykgewo+Pj4gLSAgICAgICAgICAgIGlmIChidWZfc2l6ZSA8IDYgKyBoLT5yZWN0
c1tjbHV0X2lkXS0+bmJfY29sb3JzICogNikKPj4+ICsgICAgICAgICAgICBpbnQgbmJfY29sb3Jz
ID0gRkZNQVgobWluX2NvbG9ycywgaC0+cmVjdHNbY2x1dF9pZF0tCj4+Pj4gbmJfY29sb3JzKTsK
Pj4+ICsKPj4+ICsgICAgICAgICAgICBpZiAoYnVmX3NpemUgPCA2ICsgbmJfY29sb3JzICogNikK
Pj4+ICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0JVRkZFUl9UT09fU01BTEw7Cj4+PiAK
Pj4+ICAgICAgICAgICAgLyogQ0xVVCBzZWdtZW50ICovCj4+PiAKPj4+IC0gICAgICAgICAgICBp
ZiAoaC0+cmVjdHNbY2x1dF9pZF0tPm5iX2NvbG9ycyA8PSA0KSB7Cj4+PiArICAgICAgICAgICAg
aWYgKG5iX2NvbG9ycyA8PSA0KSB7Cj4+PiAgICAgICAgICAgICAgICAvKiAyIGJwcCwgc29tZSBk
ZWNvZGVycyBkbyBub3Qgc3VwcG9ydCBpdCBjb3JyZWN0bHkgKi8KPj4+ICAgICAgICAgICAgICAg
IGJwcF9pbmRleCA9IDA7Cj4+PiAtICAgICAgICAgICAgfSBlbHNlIGlmIChoLT5yZWN0c1tjbHV0
X2lkXS0+bmJfY29sb3JzIDw9IDE2KSB7Cj4+PiArICAgICAgICAgICAgfSBlbHNlIGlmIChuYl9j
b2xvcnMgPD0gMTYpIHsKPj4+ICAgICAgICAgICAgICAgIC8qIDQgYnBwLCBzdGFuZGFyZCBlbmNv
ZGluZyAqLwo+Pj4gICAgICAgICAgICAgICAgYnBwX2luZGV4ID0gMTsKPj4+IC0gICAgICAgICAg
ICB9IGVsc2UgaWYgKGgtPnJlY3RzW2NsdXRfaWRdLT5uYl9jb2xvcnMgPD0gMjU2KSB7Cj4+PiAr
ICAgICAgICAgICAgfSBlbHNlIGlmIChuYl9jb2xvcnMgPD0gMjU2KSB7Cj4+PiAgICAgICAgICAg
ICAgICAvKiA4IGJwcCwgc3RhbmRhcmQgZW5jb2RpbmcgKi8KPj4+ICAgICAgICAgICAgICAgIGJw
cF9pbmRleCA9IDI7Cj4+PiAgICAgICAgICAgIH0gZWxzZSB7Cj4+PiBAQCAtMzU0LDE2ICszNjEs
MjQgQEAgc3RhdGljIGludCBkdmJzdWJfZW5jb2RlKEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPj4+
IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9zaXplLAo+Pj4gICAgICAgICAgICAqcSsrID0gY2x1
dF9pZDsKPj4+ICAgICAgICAgICAgKnErKyA9ICgwIDw8IDQpIHwgMHhmOyAvKiB2ZXJzaW9uID0g
MCAqLwo+Pj4gCj4+PiAtICAgICAgICAgICAgZm9yKGkgPSAwOyBpIDwgaC0+cmVjdHNbY2x1dF9p
ZF0tPm5iX2NvbG9yczsgaSsrKSB7Cj4+PiArICAgICAgICAgICAgZm9yKGkgPSAwOyBpIDwgbmJf
Y29sb3JzOyBpKyspIHsKPj4+ICAgICAgICAgICAgICAgICpxKysgPSBpOyAvKiBjbHV0X2VudHJ5
X2lkICovCj4+PiAgICAgICAgICAgICAgICAqcSsrID0gKDEgPDwgKDcgLSBicHBfaW5kZXgpKSB8
ICgweGYgPDwgMSkgfCAxOyAvKiAyCj4+PiBiaXRzL3BpeGVsIGZ1bGwgcmFuZ2UgKi8KPj4+ICAg
ICAgICAgICAgICAgIHsKPj4+ICAgICAgICAgICAgICAgICAgICBpbnQgYSwgciwgZywgYjsKPj4+
IC0gICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHg9ICgodWludDMyX3QqKWgtPnJlY3RzW2Ns
dXRfaWRdLQo+Pj4+IGRhdGFbMV0pW2ldOwo+Pj4gLSAgICAgICAgICAgICAgICAgICAgYSA9ICh4
ID4+IDI0KSAmIDB4ZmY7Cj4+PiAtICAgICAgICAgICAgICAgICAgICByID0gKHggPj4gMTYpICYg
MHhmZjsKPj4+IC0gICAgICAgICAgICAgICAgICAgIGcgPSAoeCA+PiAgOCkgJiAweGZmOwo+Pj4g
LSAgICAgICAgICAgICAgICAgICAgYiA9ICh4ID4+ICAwKSAmIDB4ZmY7Cj4+PiArICAgICAgICAg
ICAgICAgICAgICBpZiAoaSA8IGgtPnJlY3RzW2NsdXRfaWRdLT5uYl9jb2xvcnMpIHsKPj4+ICsg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB4PSAoKHVpbnQzMl90KiloLT5yZWN0c1tj
bHV0X2lkXS0KPj4+PiBkYXRhWzFdKVtpXTsKPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBh
ID0gKHggPj4gMjQpICYgMHhmZjsKPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICByID0gKHgg
Pj4gMTYpICYgMHhmZjsKPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBnID0gKHggPj4gIDgp
ICYgMHhmZjsKPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBiID0gKHggPj4gIDApICYgMHhm
ZjsKPj4+ICsgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Cj4+PiArICAgICAgICAgICAgICAg
ICAgICAgICAgLyogcGFkIG91dCB0aGUgQ0xVVCAqLwo+Pj4gKyAgICAgICAgICAgICAgICAgICAg
ICAgIGEgPSAwOwo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHIgPSAwOwo+Pj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgIGcgPSAwOwo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGIg
PSAwOwo+Pj4gKyAgICAgICAgICAgICAgICAgICAgfQo+Pj4gCj4+PiAgICAgICAgICAgICAgICAg
ICAgKnErKyA9IFJHQl9UT19ZX0NDSVIociwgZywgYik7Cj4+PiAgICAgICAgICAgICAgICAgICAg
KnErKyA9IFJHQl9UT19WX0NDSVIociwgZywgYiwgMCk7Cj4+PiBAQCAtMzczLDcgKzM4OCw3IEBA
IHN0YXRpYyBpbnQgZHZic3ViX2VuY29kZShBVkNvZGVjQ29udGV4dCAqYXZjdHgsCj4+PiB1aW50
OF90ICpvdXRidWYsIGludCBidWZfc2l6ZSwKPj4+ICAgICAgICAgICAgfQo+Pj4gCj4+PiAgICAg
ICAgICAgIGJ5dGVzdHJlYW1fcHV0X2JlMTYoJnBzZWdfbGVuLCBxIC0gcHNlZ19sZW4gLSAyKTsK
Pj4+IC0gICAgICAgICAgICBidWZfc2l6ZSAtPSA2ICsgaC0+cmVjdHNbY2x1dF9pZF0tPm5iX2Nv
bG9ycyAqIDY7Cj4+PiArICAgICAgICAgICAgYnVmX3NpemUgLT0gNiArIG5iX2NvbG9ycyAqIDY7
Cj4+PiAgICAgICAgfQo+Pj4gCj4+PiAgICAgICAgaWYgKGJ1Zl9zaXplIDwgaC0+bnVtX3JlY3Rz
ICogMjIpCj4+PiBAQCAtMzgxLDE0ICszOTYsMTUgQEAgc3RhdGljIGludCBkdmJzdWJfZW5jb2Rl
KEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPj4+IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9zaXpl
LAo+Pj4gICAgICAgIGZvciAocmVnaW9uX2lkID0gMDsgcmVnaW9uX2lkIDwgaC0+bnVtX3JlY3Rz
OyByZWdpb25faWQrKykgewo+Pj4gCj4+PiAgICAgICAgICAgIC8qIHJlZ2lvbiBjb21wb3NpdGlv
biBzZWdtZW50ICovCj4+PiArICAgICAgICAgICAgaW50IG5iX2NvbG9ycyA9IEZGTUFYKG1pbl9j
b2xvcnMsIGgtPnJlY3RzW3JlZ2lvbl9pZF0tCj4+Pj4gbmJfY29sb3JzKTsKPj4+IAo+Pj4gLSAg
ICAgICAgICAgIGlmIChoLT5yZWN0c1tyZWdpb25faWRdLT5uYl9jb2xvcnMgPD0gNCkgewo+Pj4g
KyAgICAgICAgICAgIGlmIChuYl9jb2xvcnMgPD0gNCkgewo+Pj4gICAgICAgICAgICAgICAgLyog
MiBicHAsIHNvbWUgZGVjb2RlcnMgZG8gbm90IHN1cHBvcnQgaXQgY29ycmVjdGx5ICovCj4+PiAg
ICAgICAgICAgICAgICBicHBfaW5kZXggPSAwOwo+Pj4gLSAgICAgICAgICAgIH0gZWxzZSBpZiAo
aC0+cmVjdHNbcmVnaW9uX2lkXS0+bmJfY29sb3JzIDw9IDE2KSB7Cj4+PiArICAgICAgICAgICAg
fSBlbHNlIGlmIChuYl9jb2xvcnMgPD0gMTYpIHsKPj4+ICAgICAgICAgICAgICAgIC8qIDQgYnBw
LCBzdGFuZGFyZCBlbmNvZGluZyAqLwo+Pj4gICAgICAgICAgICAgICAgYnBwX2luZGV4ID0gMTsK
Pj4+IC0gICAgICAgICAgICB9IGVsc2UgaWYgKGgtPnJlY3RzW3JlZ2lvbl9pZF0tPm5iX2NvbG9y
cyA8PSAyNTYpIHsKPj4+ICsgICAgICAgICAgICB9IGVsc2UgaWYgKG5iX2NvbG9ycyA8PSAyNTYp
IHsKPj4+ICAgICAgICAgICAgICAgIC8qIDggYnBwLCBzdGFuZGFyZCBlbmNvZGluZyAqLwo+Pj4g
ICAgICAgICAgICAgICAgYnBwX2luZGV4ID0gMjsKPj4+ICAgICAgICAgICAgfSBlbHNlIHsKPj4+
IEBAIC00MjQsMTcgKzQ0MCwxOSBAQCBzdGF0aWMgaW50IGR2YnN1Yl9lbmNvZGUoQVZDb2RlY0Nv
bnRleHQgKmF2Y3R4LAo+Pj4gdWludDhfdCAqb3V0YnVmLCBpbnQgYnVmX3NpemUsCj4+PiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpiaXRtYXAsIGludCBs
aW5lc2l6ZSwKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB3LCBpbnQg
aCk7Cj4+PiAKPj4+ICsgICAgICAgICAgICBpbnQgbmJfY29sb3JzID0gRkZNQVgobWluX2NvbG9y
cywgaC0+cmVjdHNbb2JqZWN0X2lkXS0KPj4+PiBuYl9jb2xvcnMpOwo+Pj4gKwo+Pj4gICAgICAg
ICAgICBpZiAoYnVmX3NpemUgPCAxMykKPj4+ICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9S
X0JVRkZFUl9UT09fU01BTEw7Cj4+PiAKPj4+ICAgICAgICAgICAgLyogYnBwX2luZGV4IG1hdGhz
ICovCj4+PiAtICAgICAgICAgICAgaWYgKGgtPnJlY3RzW29iamVjdF9pZF0tPm5iX2NvbG9ycyA8
PSA0KSB7Cj4+PiArICAgICAgICAgICAgaWYgKG5iX2NvbG9ycyA8PSA0KSB7Cj4+PiAgICAgICAg
ICAgICAgICAvKiAyIGJwcCwgc29tZSBkZWNvZGVycyBkbyBub3Qgc3VwcG9ydCBpdCBjb3JyZWN0
bHkgKi8KPj4+ICAgICAgICAgICAgICAgIGR2Yl9lbmNvZGVfcmxlID0gZHZiX2VuY29kZV9ybGUy
Owo+Pj4gLSAgICAgICAgICAgIH0gZWxzZSBpZiAoaC0+cmVjdHNbb2JqZWN0X2lkXS0+bmJfY29s
b3JzIDw9IDE2KSB7Cj4+PiArICAgICAgICAgICAgfSBlbHNlIGlmIChuYl9jb2xvcnMgPD0gMTYp
IHsKPj4+ICAgICAgICAgICAgICAgIC8qIDQgYnBwLCBzdGFuZGFyZCBlbmNvZGluZyAqLwo+Pj4g
ICAgICAgICAgICAgICAgZHZiX2VuY29kZV9ybGUgPSBkdmJfZW5jb2RlX3JsZTQ7Cj4+PiAtICAg
ICAgICAgICAgfSBlbHNlIGlmIChoLT5yZWN0c1tvYmplY3RfaWRdLT5uYl9jb2xvcnMgPD0gMjU2
KSB7Cj4+PiArICAgICAgICAgICAgfSBlbHNlIGlmIChuYl9jb2xvcnMgPD0gMjU2KSB7Cj4+PiAg
ICAgICAgICAgICAgICAvKiA4IGJwcCwgc3RhbmRhcmQgZW5jb2RpbmcgKi8KPj4+ICAgICAgICAg
ICAgICAgIGR2Yl9lbmNvZGVfcmxlID0gZHZiX2VuY29kZV9ybGU4Owo+Pj4gICAgICAgICAgICB9
IGVsc2Ugewo+Pj4gQEAgLTUwNiw2ICs1MjQsMjAgQEAgc3RhdGljIGludCBkdmJzdWJfZW5jb2Rl
KEFWQ29kZWNDb250ZXh0ICphdmN0eCwKPj4+IHVpbnQ4X3QgKm91dGJ1ZiwgaW50IGJ1Zl9zaXpl
LAo+Pj4gICAgcmV0dXJuIHEgLSBvdXRidWY7Cj4+PiB9Cj4+PiAKPj4+ICsjZGVmaW5lIE9GRlNF
VCh4KSBvZmZzZXRvZihEVkJTdWJ0aXRsZUNvbnRleHQsIHgpCj4+PiArI2RlZmluZSBTRSBBVl9P
UFRfRkxBR19TVUJUSVRMRV9QQVJBTSB8IEFWX09QVF9GTEFHX0VOQ09ESU5HX1BBUkFNCj4+PiAr
c3RhdGljIGNvbnN0IEFWT3B0aW9uIG9wdGlvbnNbXSA9IHsKPj4+ICsgICAgeyJkaXNhYmxlXzJi
cHAiLCAiZGlzYWJsZSB0aGUgMmJwcCBzdWJ0aXRsZSBlbmNvZGVyIiwKPj4+IE9GRlNFVChkaXNh
YmxlXzJicHApLCBBVl9PUFRfVFlQRV9CT09MLCB7Lmk2NCA9IDF9LCAwLCAxLCBTRX0sCj4+PiAr
ICAgIHsgTlVMTCB9LAo+Pj4gK307Cj4+PiArCj4+PiArc3RhdGljIGNvbnN0IEFWQ2xhc3MgZHZi
c3ViZW5jX2NsYXNzID0gewo+Pj4gKyAgICAuY2xhc3NfbmFtZSA9ICJEVkJTVUIgc3VidGl0bGUg
ZW5jb2RlciIsCj4+PiArICAgIC5pdGVtX25hbWUgID0gYXZfZGVmYXVsdF9pdGVtX25hbWUsCj4+
PiArICAgIC5vcHRpb24gICAgID0gb3B0aW9ucywKPj4+ICsgICAgLnZlcnNpb24gICAgPSBMSUJB
VlVUSUxfVkVSU0lPTl9JTlQsCj4+PiArfTsKPj4+ICsKPj4+IGNvbnN0IEZGQ29kZWMgZmZfZHZi
c3ViX2VuY29kZXIgPSB7Cj4+PiAgICAucC5uYW1lICAgICAgICAgPSAiZHZic3ViIiwKPj4+ICAg
IENPREVDX0xPTkdfTkFNRSgiRFZCIHN1YnRpdGxlcyIpLAo+Pj4gQEAgLTUxMyw0ICs1NDUsNSBA
QCBjb25zdCBGRkNvZGVjIGZmX2R2YnN1Yl9lbmNvZGVyID0gewo+Pj4gICAgLnAuaWQgICAgICAg
ICAgID0gQVZfQ09ERUNfSURfRFZCX1NVQlRJVExFLAo+Pj4gICAgLnByaXZfZGF0YV9zaXplID0g
c2l6ZW9mKERWQlN1YnRpdGxlQ29udGV4dCksCj4+PiAgICBGRl9DT0RFQ19FTkNPREVfU1VCX0NC
KGR2YnN1Yl9lbmNvZGUpLAo+Pj4gKyAgICAucC5wcml2X2NsYXNzICAgPSAmZHZic3ViZW5jX2Ns
YXNzLAo+Pj4gfTsKPj4+IC0tCj4+IAo+PiBUZXN0ZWQgJiBMR1RNCj4+IAo+PiBUaGFua3MgZm9y
IHRoZSBwYXRjaCEKPiAKPiBIZWxsbywKPiAKPiBudWRnaW5nIG9uIHRoaXMgLSBkb2VzIGl0IG5l
ZWQgYW55IG1vcmUgd29yaywgb3Igd2lsbCBpdCBiZSBtZXJnZWQ/Cj4gCj4gQ2hlZXJzLAo+IFdh
aWRlci4KPiAtLSAKPiBSb25hbiBXYWlkZQo+IHdhaWRlckB3YWlkZXIuaWUKPiAKPiAKPiAKPiAK
CkhlbGxvIGFnYWluLAoKdGhpcyBzdGlsbCBhcHBsaWVzIGNsZWFubHkgdG8gdGhlIGN1cnJlbnQg
SEVBRCwgaS5lLiBubyBjb25mbGljdHMgb24gcmViYXNlLiBXb3VsZCBpdCBiZSBwb3NzaWJsZSB0
byBtZXJnZSBpdCwgb3IgaXMgdGhlcmUgYWRkaXRpb25hbCB3b3JrIHJlcXVpcmVkPwoKY2hlZXJz
LApXYWlkZXIuCi0tIApSb25hbiBXYWlkZQp3YWlkZXJAd2FpZGVyLmllCgoKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGlu
ZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFu
L2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUs
IG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1
bnN1YnNjcmliZSIuCg==