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==