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 C806747043 for ; Fri, 25 Aug 2023 17:06:44 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 77B2968C640; Fri, 25 Aug 2023 20:06:40 +0300 (EEST) Received: from mail-ua1-f49.google.com (mail-ua1-f49.google.com [209.85.222.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1580268C5D1 for ; Fri, 25 Aug 2023 20:06:34 +0300 (EEST) Received: by mail-ua1-f49.google.com with SMTP id a1e0cc1a2514c-79a10807b4fso449512241.2 for ; Fri, 25 Aug 2023 10:06:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692983192; x=1693587992; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=TvJ0XsyGODWuTGkbYBc4VaDIP6I+IYFVBBtWROI35VU=; b=CGqvrM7HHcspkx/X7cPtnvzN+i4PVcjrWX43ShStI2uMNp5/ZLG/R6PlybaXG9aREE I4Ys1duuX/do7PartWz1O+Pb3gT2/mGVItHcnWwVwv6521LtMje8NCPrCZQPrbD/+Sl7 8UOGuHoOqspyr9ng+3MgvEGt3fPicvDoVQ05tPkqWnww2CikrKeroza/MPqHSnAkmAhH 0RzBSKFh9P9hmzM613X1e3tbUhXINBlaVFkQO1GSIKeVYG2JZ8CBpI9b93rQaJH66z1G 7+Akhm0B6HzInvbdubVp0pED4RbIIDnK1rhdGyHdzhp5ArT2rFtqFj9KemFqt4gCIMWG cL3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692983192; x=1693587992; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=TvJ0XsyGODWuTGkbYBc4VaDIP6I+IYFVBBtWROI35VU=; b=Yc/Q9L3qRYNjOg7DBDPxFe6fLWEcvsMDSzkneeuCZpvFcXl2NjXFdAQH8kHoQFPCiN T9Qrym85aSuwVEoRU0LbNNx4Y6Clh3/B3m/rhR4CKgpURey/LFwV455auPBMPpMJ494i aeoOQeWqdx34/igfw4QUfq13bzpfggqDuNusfrG2OrGGVGNjFL/BL8PXn7IDsIZwL0M6 exEeEDMDKmgj6KAjipIG9d7nqoHC1uEHu1zaJLlmmtLf4pJ2++zO4ywbtd68adtWxuhi XpVrWHTCHN/ELGJbHwT2ZTcszHJWz03YyKF0JKoy36s/vCdGOB0A2DjSvpCZzqvL6WYJ bOwg== X-Gm-Message-State: AOJu0YxJ3l7mcMJ4dncLIzeWAnofY8ZLNSByQ0dokEzsAK0+LpIwtCEj F/2VFmnTczRf/ET6xOjZ+pjg6MjfLiUqdvI26AIyPfTD X-Google-Smtp-Source: AGHT+IF50GnI9nBB0nD1Fhjwtwt9D7lV4/jOMrk4Jv/nT7s/NJVp94coLPXFXn1YyeyLvHC2RHBMagtZpS2r9C8S410= X-Received: by 2002:a67:fdc8:0:b0:44d:5937:56f9 with SMTP id l8-20020a67fdc8000000b0044d593756f9mr12742761vsq.9.1692983192407; Fri, 25 Aug 2023 10:06:32 -0700 (PDT) MIME-Version: 1.0 References: <5f27fd0b-b189-8f7b-fff7-89745ea0575a@gmail.com> <7ed904fe-6a1f-ab5e-d5c0-a75ab6238899@gmail.com> <63d81e11-533f-4594-c71c-3f55e74b161e@gmail.com> <1940f08e-abea-9977-c24a-159c8e92ab3b@gmail.com> In-Reply-To: <1940f08e-abea-9977-c24a-159c8e92ab3b@gmail.com> From: Paul B Mahol Date: Fri, 25 Aug 2023 19:13:52 +0200 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH] OSQ lossless audio format support 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 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: T24gRnJpLCBBdWcgMjUsIDIwMjMgYXQgNjo0MuKAr1BNIEphbWVzIEFsbWVyIDxqYW1yaWFsQGdt YWlsLmNvbT4gd3JvdGU6Cgo+IE9uIDgvMjUvMjAyMyAxOjI4IFBNLCBQYXVsIEIgTWFob2wgd3Jv dGU6Cj4gPiBPbiBGcmksIEF1ZyAyNSwgMjAyMyBhdCA1OjU34oCvUE0gSmFtZXMgQWxtZXIgPGph bXJpYWxAZ21haWwuY29tPiB3cm90ZToKPiA+Cj4gPj4gT24gOC8yNC8yMDIzIDc6MDYgUE0sIFBh dWwgQiBNYWhvbCB3cm90ZToKPiA+Pj4gT24gVGh1LCBBdWcgMjQsIDIwMjMgYXQgMTE6NTHigK9Q TSBKYW1lcyBBbG1lciA8amFtcmlhbEBnbWFpbC5jb20+Cj4gd3JvdGU6Cj4gPj4+Cj4gPj4+PiBP biA4LzI0LzIwMjMgNjoxMSBQTSwgUGF1bCBCIE1haG9sIHdyb3RlOgo+ID4+Pj4+IE9uIFRodSwg QXVnIDI0LCAyMDIzIGF0IDExOjAw4oCvUE0gSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29t Pgo+ID4+IHdyb3RlOgo+ID4+Pj4+Cj4gPj4+Pj4+IE9uIDgvMjQvMjAyMyA2OjUyIEFNLCBQYXVs IEIgTWFob2wgd3JvdGU6Cj4gPj4+Pj4+PiArc3RhdGljIGludCBvc3FfcmVjZWl2ZV9mcmFtZShB VkNvZGVjQ29udGV4dCAqYXZjdHgsIEFWRnJhbWUKPiAqZnJhbWUpCj4gPj4+Pj4+PiArewo+ID4+ Pj4+Pj4gKyAgICBPU1FDb250ZXh0ICpzID0gYXZjdHgtPnByaXZfZGF0YTsKPiA+Pj4+Pj4+ICsg ICAgR2V0Qml0Q29udGV4dCAqZ2IgPSAmcy0+Z2I7Cj4gPj4+Pj4+PiArICAgIGludCByZXQsIG47 Cj4gPj4+Pj4+PiArCj4gPj4+Pj4+PiArICAgIHdoaWxlIChzLT5iaXRzdHJlYW1fc2l6ZSA8IHMt Pm1heF9mcmFtZXNpemUpIHsKPiA+Pj4+Pj4+ICsgICAgICAgIGludCBzaXplOwo+ID4+Pj4+Pj4g Kwo+ID4+Pj4+Pj4gKyAgICAgICAgaWYgKCFzLT5wa3QtPmRhdGEpIHsKPiA+Pj4+Pj4+ICsgICAg ICAgICAgICByZXQgPSBmZl9kZWNvZGVfZ2V0X3BhY2tldChhdmN0eCwgcy0+cGt0KTsKPiA+Pj4+ Pj4+ICsgICAgICAgICAgICBpZiAocmV0ID09IEFWRVJST1JfRU9GICYmIHMtPmJpdHN0cmVhbV9z aXplID4gMCkKPiA+Pj4+Pj4+ICsgICAgICAgICAgICAgICAgYnJlYWs7Cj4gPj4+Pj4+PiArICAg ICAgICAgICAgaWYgKHJldCA8IDApCj4gPj4+Pj4+PiArICAgICAgICAgICAgICAgIHJldHVybiBy ZXQ7Cj4gPj4+Pj4+PiArICAgICAgICB9Cj4gPj4+Pj4+PiArCj4gPj4+Pj4+PiArICAgICAgICBz aXplID0gRkZNSU4ocy0+cGt0LT5zaXplIC0gcy0+cGt0X29mZnNldCwKPiBzLT5tYXhfZnJhbWVz aXplCj4gPj4gLQo+ID4+Pj4+PiBzLT5iaXRzdHJlYW1fc2l6ZSk7Cj4gPj4+Pj4+PiArICAgICAg ICBtZW1jcHkocy0+Yml0c3RyZWFtICsgcy0+Yml0c3RyZWFtX3NpemUsIHMtPnBrdC0+ZGF0YSAr Cj4gPj4+Pj4+IHMtPnBrdF9vZmZzZXQsIHNpemUpOwo+ID4+Pj4+Pj4gKyAgICAgICAgcy0+Yml0 c3RyZWFtX3NpemUgKz0gc2l6ZTsKPiA+Pj4+Pj4+ICsgICAgICAgIHMtPnBrdF9vZmZzZXQgKz0g c2l6ZTsKPiA+Pj4+Pj4+ICsKPiA+Pj4+Pj4+ICsgICAgICAgIGlmIChzLT5wa3Rfb2Zmc2V0ID09 IHMtPnBrdC0+c2l6ZSkgewo+ID4+Pj4+Pj4gKyAgICAgICAgICAgIGF2X3BhY2tldF91bnJlZihz LT5wa3QpOwo+ID4+Pj4+Pj4gKyAgICAgICAgICAgIHMtPnBrdF9vZmZzZXQgPSAwOwo+ID4+Pj4+ Pj4gKyAgICAgICAgfQo+ID4+Pj4+Pgo+ID4+Pj4+PiBUaGlzIGxvb2tzIGxpa2UgeW91J3JlIGFz c2VtYmxpbmcgYSBwYWNrZXQgb2YgbWF4X2ZyYW1lc2l6ZSBieXRlcy4KPiBZb3UKPiA+Pj4+Pj4g c2hvdWxkIGluc3RlYWQgZG8gdGhhdCBpbiBhIHBhcnNlciwgYW5kIGVuc3VyZSBoZXJlIHRoYXQg dGhlIHBhY2tldHMKPiA+PiBmZWQKPiA+Pj4+Pj4gdG8gdGhpcyBkZWNvZGVyIGFyZSA8PSBtYXhf ZnJhbWVzaXplLgo+ID4+Pj4+Pgo+ID4+Pj4+Pj4gKyAgICB9Cj4gPj4+Pj4+PiArCj4gPj4+Pj4+ PiArICAgIGZyYW1lLT5uYl9zYW1wbGVzID0gRkZNSU4ocy0+ZnJhbWVfc2FtcGxlcywgcy0+bmJf c2FtcGxlcyk7Cj4gPj4+Pj4+PiArICAgIGlmIChmcmFtZS0+bmJfc2FtcGxlcyA8PSAwKQo+ID4+ Pj4+Pj4gKyAgICAgICAgcmV0dXJuIEFWRVJST1JfRU9GOwo+ID4+Pj4+Pj4gKwo+ID4+Pj4+Pj4g KyAgICBpZiAoKHJldCA9IGZmX2dldF9idWZmZXIoYXZjdHgsIGZyYW1lLCAwKSkgPCAwKQo+ID4+ Pj4+Pj4gKyAgICAgICAgZ290byBmYWlsOwo+ID4+Pj4+Pj4gKwo+ID4+Pj4+Pj4gKyAgICBpZiAo KHJldCA9IGluaXRfZ2V0X2JpdHM4KGdiLCBzLT5iaXRzdHJlYW0sCj4gcy0+Yml0c3RyZWFtX3Np emUpKQo+ID4+IDwKPiA+Pj4+IDApCj4gPj4+Pj4+PiArICAgICAgICBnb3RvIGZhaWw7Cj4gPj4+ Pj4+PiArCj4gPj4+Pj4+PiArICAgIGlmICgocmV0ID0gb3NxX2RlY29kZV9ibG9jayhhdmN0eCwg ZnJhbWUpKSA8IDApCj4gPj4+Pj4+PiArICAgICAgICBnb3RvIGZhaWw7Cj4gPj4+Pj4+PiArCj4g Pj4+Pj4+PiArICAgIHMtPm5iX3NhbXBsZXMgLT0gZnJhbWUtPm5iX3NhbXBsZXM7Cj4gPj4+Pj4+ PiArCj4gPj4+Pj4+PiArICAgIG4gPSBnZXRfYml0c19jb3VudChnYikgLyA4Owo+ID4+Pj4+Pj4g KyAgICBpZiAobiA+IHMtPmJpdHN0cmVhbV9zaXplKSB7Cj4gPj4+Pj4+PiArICAgICAgICByZXQg PSBBVkVSUk9SX0lOVkFMSUREQVRBOwo+ID4+Pj4+Pj4gKyAgICAgICAgZ290byBmYWlsOwo+ID4+ Pj4+Pj4gKyAgICB9Cj4gPj4+Pj4+PiArCj4gPj4+Pj4+PiArICAgIG1lbW1vdmUocy0+Yml0c3Ry ZWFtLCAmcy0+Yml0c3RyZWFtW25dLCBzLT5iaXRzdHJlYW1fc2l6ZSAtCj4gbik7Cj4gPj4+Pj4+ PiArICAgIHMtPmJpdHN0cmVhbV9zaXplIC09IG47Cj4gPj4+Pj4+PiArCj4gPj4+Pj4+PiArICAg IHJldHVybiAwOwo+ID4+Pj4+Pj4gKwo+ID4+Pj4+Pj4gK2ZhaWw6Cj4gPj4+Pj4+PiArICAgIHMt PmJpdHN0cmVhbV9zaXplID0gMDsKPiA+Pj4+Pj4+ICsgICAgcy0+cGt0X29mZnNldCA9IDA7Cj4g Pj4+Pj4+PiArICAgIGF2X3BhY2tldF91bnJlZihzLT5wa3QpOwo+ID4+Pj4+Pj4gKwo+ID4+Pj4+ Pj4gKyAgICByZXR1cm4gcmV0Owo+ID4+Pj4+Pj4gK30KPiA+Pj4+Pj4+ICsKPiA+Pj4+Pj4+ICtj b25zdCBBVklucHV0Rm9ybWF0IGZmX29zcV9kZW11eGVyID0gewo+ID4+Pj4+Pj4gKyAgICAubmFt ZSAgICAgICAgICAgPSAib3NxIiwKPiA+Pj4+Pj4+ICsgICAgLmxvbmdfbmFtZSAgICAgID0gTlVM TF9JRl9DT05GSUdfU01BTEwoInJhdyBPU1EiKSwKPiA+Pj4+Pj4+ICsgICAgLnJlYWRfcHJvYmUg ICAgID0gb3NxX3Byb2JlLAo+ID4+Pj4+Pj4gKyAgICAucmVhZF9oZWFkZXIgICAgPSBvc3FfcmVh ZF9oZWFkZXIsCj4gPj4+Pj4+PiArICAgIC5yZWFkX3BhY2tldCAgICA9IGZmX3Jhd19yZWFkX3Bh cnRpYWxfcGFja2V0LAo+ID4+Pj4+Pgo+ID4+Pj4+PiBJbnN0ZWFkIG9mIHNlbmRpbmcgYW4gYXJi aXRyYXJpbHkgc2l6ZWQgcGFja2V0ICgxMDI0IGJ5dGVzIGFzIG9mCj4gbm93KSwKPiA+Pj4+Pj4g eW91IHNob3VsZCBzZXQgY29kZWNwYXItPmZyYW1lX3NpemUgYW5kIHByb3BhZ2F0ZSBwYWNrZXRz IHdpdGggdGhhdAo+ID4+Pj4+PiBhbW91bnQgb2YgYnl0ZXMgaW5zdGVhZC4KPiA+Pj4+Pj4gQSBw YXJzZXIgaXMgc3RpbGwgbmVlZGVkLCB0aG91Z2gsIGZvciBub24gc2Vla2FibGUgaW5wdXQgKGEg cGlwZSkuCj4gQW5kCj4gPj4+Pj4+IGluIGNhc2UgdGhlIGRlY29kZXIgaXMgZmVkIHdpdGggbm9u IGxhdmYgaW5wdXQuCj4gPj4+Pj4+Cj4gPj4+Pj4KPiA+Pj4+PiBGb3JtYXQgaXMgbm90IHNlZWth YmxlLCBwYWNrZXQgc2l6ZXMgYXJlIG5vd2hlcmUgc3RvcmVkIGluIC5vc3EKPiBmaWxlcy4KPiA+ Pj4+Cj4gPj4+PiBTYW1lIGNhc2UgYXMgcmF3IGZvcm1hdHMgbGlrZSBILjI2NC4gTm8gcGFja2V0 IHNpemVzLCBubyBzZWVrYWJpbGl0eQo+ID4+Pj4gd2l0aG91dCBoYXZpbmcgcGFyc2VkIHRoZSBl bnRpcmUgc2VxdWVuY2UgdG8gYnVpbGQgYSBsaXN0IG9mIHNlZWsKPiA+Pj4+IHBvaW50cywgZXRj LiBBIHBhcnNlciBoYXMgdG8gYXNzZW1ibGUgYWNjZXNzIHVuaXRzLgo+ID4+Pj4KPiA+Pj4KPiA+ Pj4gQnV0IHRoZXJlIGlzIG5vIGFueSBpbmZvIGhvdyB0byBhc3NlbWJsZSBhbnl0aGluZyBoZXJl LCB1bmxlc3MKPiA+Pj4geW91IHByb3Bvc2UgZGVjb2RpbmcgaW5zaWRlIHBhcnNlcj8KPiA+Pj4K PiA+Pj4KPiA+Pj4KPiA+Pj4+Cj4gPj4+Pj4KPiA+Pj4+PiBUaGluayBvZiB0aGlzIGZvcm1hdCBs aWtlIEFQQUMvQk9OSy9XQVZBUkMgYnV0IGp1c3Qgbm8gbmVlZCB0byBrZWVwCj4gPj4+PiB1bnVz ZWQKPiA+Pj4+PiBiaXRzIGZyb20gcHJldmlvdXMgZGVjb2RlZCBkYXRhL3BhY2tldC4KPiA+Pj4+ PiBXaXRoIHRoaXMgZmFjdCwgcGFyc2VyIG1ha2VzIG5vIHNlbnNlIHRvIGRvLgo+ID4+Pj4KPiA+ Pj4+IFlvdSBrbm93IHRoYXQgZnJhbWVfc2l6ZSBpcyAoZnJhbWVfc2FtcGxlc19wZXJfY2hhbm5l bCAqIDE2ICsgMTAyNCkgKgo+ID4+Pj4gY2hhbm5lbHMuIEEgcGFyc2VyIGNhbiB3b3JrIHdpdGgg dGhhdCAoTG9vayBhdCBnc20gcGFyc2VyIGZvciBleGFtcGxlLgo+ID4+Pj4gVGhlcmUgbWF5IGJl IG90aGVycyB0b28pLgo+ID4+Pj4KPiA+Pj4KPiA+Pj4gVGhlcmUgaXMgcmVhc29uIHdoeSB2YXJp YWJsZSBpcyBjYWxsZWQgbWF4X2ZyYW1lc2l6ZS4KPiA+Pj4KPiA+Pj4gWW91IHNob3VsZCBub3Qg cHJvcGFnYXRlIHRydW5jYXRlZCBkYXRhIGluIDEwMjQgYnl0ZSBjaHVua3MsIGFuZCB0aGUKPiA+ Pj4+IGRlY29kZXIgc2hvdWxkIG5vdCBleHBlY3QgdGhhdCBlaXRoZXIuCj4gPj4+Pgo+ID4+Pgo+ ID4+PiBOb3RoaW5nIGdldHMgdHJ1bmNhdGVkLiBUaGF0IGlzIGp1c3Qgd29yc3QgY2FzZSBzY2Vu YXJpbyBzaXplIGZvcgo+IHBhY2tldC4KPiA+Pj4gSW4gYW5vdGhlciB3b3Jkcywgc2l6ZSBvZiBw YWNrZXQgY2FuIGJlIGFueXRoaW5nIGJldHdlZW4gMzMgYW5kCj4gPj4+IG1heF9mcmFtZXNpemUu Cj4gPj4KPiA+PiBCeSB0cnVuY2F0ZWQgaSBtZWFuIHRoZSBkZW11eGVyIHByb3BhZ2F0ZXMgYXJi aXRyYXJ5IDEwMjQgYnl0ZSBzaXplZAo+ID4+IHBhY2tldHMuIEFuZCBpbiB0aGUgZGVjb2RlciB5 b3UncmUgYXNzZW1ibGluZyBhIGJ1ZmZlciBvZiBtYXhfZnJhbWVzaXplCj4gPj4gaW4gb3NxX3Jl Y2VpdmVfZnJhbWUoKSBieSByZXF1ZXN0aW5nIHBhY2tldHMgdW50aWwgeW91IHJlYWNoIHRoYXQg c2l6ZQo+ID4+IG9yIEVPRiwgd2hhdGV2ZXIgY29tZXMgZmlyc3QsIGJlZm9yZSBjYWxsaW5nIG9z cV9kZWNvZGVfYmxvY2soKS4gU28KPiA+PiB1bmxlc3MgeW91IGhpdCBFT0YsIGl0IHdpbGwgYWx3 YXlzIGJlIG1heF9mcmFtZXNpemUuIFRoYXQncyB3aGF0IGkgc2F5Cj4gPj4gc2hvdWxkIGJlIGRv bmUgaW4gYSBzaW1wbGUsIHNtYWxsIHBhcnNlci4KPiA+Pgo+ID4KPiA+IEkgZnVsbHkgdW5kZXJz dGFuZCB5b3UsIGJ1dCB5b3VyIHJlYXNvbmluZyBpcyBjcml0aWNhbGx5IGZsYXdlZC4KPiA+IEFu ZCBJIGhhdmUgbm8gdGltZSB0byBlZHVjYXRlZCBhbiB1bmVkdWNhdGVkLgo+Cj4gTm90IGluc3Vs dGluZyBwZW9wbGUgd2lsbCBoZWxwIHlvdXIgYXJndW1lbnRzLgo+Cj4gPgo+ID4gRm9yIFRoZSBM YXN0IFRpbWU6Cj4gPgo+ID4gRXZlbiBpZiBwYXJzZXIgZG9lcyB0aGF0IHdoYXQgeW91IHByb3Bv c2UsIGRlY29kZXIgd291bGQgbmVlZCB0byBrZWVwIG93bgo+ID4gaW50ZXJuYWwKPiA+IGJ1ZmZl ciBhZ2FpbiBhbmQgdGhhbiBtZW1tb3ZlKCkgYnl0ZXMgYXJvdW5kLgo+ID4KPiA+IEFuZCBldmVu IGlmIHBhcnNlciBpcyBpbXBsZW1lbnRlZCB0aGF0IHdvdWxkIGVmZmVjdGl2ZWx5IGJyZWFrIG90 aGVyCj4gPiBwb3NzaWJsZSBjb250YWluZXJzIGRpZmZlcmVudAo+ID4gdGhhbiAub3NxIC0gc3Vj aCBjb250YWluZXJzIHdvdWxkIHByb3Blcmx5IHNwbGl0IGRhdGEgaW50byBwYWNrZXRzIGFuZCBt eQo+ID4gZGVjb2RlciB3b3VsZCBzdGlsbCB3b3JrIGluIHN1Y2ggc2NlbmFyaW8gYnV0Cj4gPiB5 b3VyIHByb3Bvc2VkIHdheSB3b3VsZCBvbmx5IGZvcmNlIHN1Y2ggY29udGFpbmVycyB0byBibGFj a2xpc3QgeW91cgo+ID4gcHJvcG9zZWQgcGFyc2VyLgo+Cj4gWW91IGtub3cgYSBwYXJzZXIgaXMg ZG9hYmxlIGFuZCB0aGUgcHJvcGVyIGFwcHJvYWNoLiBXaXRoIGZyYW1lX3NhbXBsZXMKPiBhbmQg dGhlIGZpcnN0IHBhcnQgb2Ygb3NxX2RlY29kZV9ibG9jaygpIHlvdSBjYW4gZ2V0IGl0IGdvaW5n LiBCdXQgZG8KPiB3aGF0ZXZlciB5b3Ugd2FudC4KPgoKSG93IGl0IGlzIHByb3BlciBhcHByb2Fj aD8KVGhhdCBtYXRoIGRvZXMgbm90IGNvbXB1dGUgYXQgYWxsLgpJIGxvc3QgNSBob3VycyBvbiB0 aGlzIG1haWwgdGhyZWFkLCB0cnlpbmcgdG8gZXhwbGFpbiB0cml2aWEgdG8gc29tZQpzZWFzb25l ZCBGRm1wZWcgZGV2LgoKSWYgeW91IHB1dCBtdWx0aXBsZSBwYWNrZXRzIGZyb20gcmF3IGRlbXV4 ZXIgaW50byBzaW5nbGUgYnVmZmVyIGluIHBhcnNlcgp0aGF0IGp1c3QgY29uY2F0IHRoZW0KaW50 byBhbm90aGVyIGJ1ZmZlciBpbiBkZWNvZGVyIGp1c3QgdG8gRklGTyByZWFkIGZyb20gaXQuIEkg c2VlIG5vIGFueSByZWFsCmJlbmVmaXQgaW4gZG9pbmcgc3VjaCBwYXJzZXIuCgoKPiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGZmbXBlZy1kZXZlbCBt YWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZtcGVnLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+Cj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0 IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3 aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZl bEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1k ZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1k ZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==