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 A5731423DA for ; Mon, 17 Jan 2022 13:22:57 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 88B1568AFD9; Mon, 17 Jan 2022 15:22:54 +0200 (EET) Received: from mail-oi1-f171.google.com (mail-oi1-f171.google.com [209.85.167.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DDC3268AEE7 for ; Mon, 17 Jan 2022 15:22:48 +0200 (EET) Received: by mail-oi1-f171.google.com with SMTP id q186so23343721oih.8 for ; Mon, 17 Jan 2022 05:22:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :references:from:in-reply-to:content-transfer-encoding; bh=6O8fyJW52ovyu34So7h03y3XiRuUj+yD+ukpOBxA30o=; b=i+ab64vAUYFGlf/i1fXBEEqjsqnGZvZSWSzGg2v1tOkvVR7MX8SlfGctxiQTKUwwsD hl0yAl40tV2vc4CcpnO4xopTOFLdspg1cqKDyVTns/2guKVbqmqCdmPf3Q9y8ZmjdRNg HY5cHe+OOg5QK5ccpiOE7KrqUDai4gvDNwAgdNZmGP/Gz9PuQ3LMCpjf0NOL6ek6/kGX yt7vl1QEo1hhfj5ASs5nw8Lr3JEwCke1WQHiT2h57A6bfWtKAAsGH0JsX/UPrUipG96L sDecCw414mF7eVo7unV94bqtqKz0+ZTuTwcpotUHUSzqiD6Z7VsR+FUQMLW7GWVb1lpz lRew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:in-reply-to :content-transfer-encoding; bh=6O8fyJW52ovyu34So7h03y3XiRuUj+yD+ukpOBxA30o=; b=vXiG9JJyz9A1NNi6hF0dAjB/yi/gUmehzEU1Ppj9RejH2n0vzr3Ijgd+zWNP0lops8 k170SO7j4xoPpceS52Na2UIk/k4rvEVdOsS+kko5SoZy8TiCLGVAJtDpeaCCMOUTOepd 50uPn/8d5OkujZgU0m6KaxkzaHAPro+lX0tfBshCs2ZQzeEUynB1amCjiTgqTvHJ7/I/ 1/LjL96IkkSX0o2WWKNSIBnefP9Ta6PayDxL5UobiWTrCLq26Ng3T0iQnFmf0JVg/ovd Tdc7GJJXVf0KAdw+SpFbKQm9P9BlluCpSiGxJn12YyPf1ZbzceT/wPWlQCnJgjXx7sQI p9/Q== X-Gm-Message-State: AOAM533mqX1xg5BAZkeRtu2DKdG2hu7cGksIusZsN5raOaxTEudjpsU5 Wx0AV4MvEeFdHZ2lsviJCmYT98zJSls= X-Google-Smtp-Source: ABdhPJySGubfZWi/mdMUjFWr6BGBZ/NSt6nUP5WGTIfY/vOO9LWSEEADWwNc18sccNuW/PBPWvKyAQ== X-Received: by 2002:a05:6808:984:: with SMTP id a4mr17881804oic.89.1642425766487; Mon, 17 Jan 2022 05:22:46 -0800 (PST) Received: from [192.168.0.13] ([186.136.131.95]) by smtp.gmail.com with ESMTPSA id bp13sm1687693oib.40.2022.01.17.05.22.45 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jan 2022 05:22:45 -0800 (PST) Message-ID: <38842fd9-8a30-5ff0-e48c-4a70d405790c@gmail.com> Date: Mon, 17 Jan 2022 10:22:42 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220113015101.4-1-jamrial@gmail.com> <20220113015101.4-2-jamrial@gmail.com> From: James Almer In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH 001/281] Add a new channel layout API 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: CgpPbiAxLzE2LzIwMjIgNzo1NCBQTSwgTWFydG9uIEJhbGludCB3cm90ZToKPiAKPiAKPiBPbiBT dW4sIDE2IEphbiAyMDIyLCBOaWNvbGFzIEdlb3JnZSB3cm90ZToKPiAKPj4gSmFtZXMgQWxtZXIg KDEyMDIyLTAxLTEyKToKPj4+IEZyb206IEFudG9uIEtoaXJub3YgPGFudG9uQGtoaXJub3YubmV0 Pgo+Pj4KPj4+IFRoZSBuZXcgQVBJIGlzIG1vcmUgZXh0ZW5zaWJsZSBhbmQgYWxsb3dzIGZvciBj dXN0b20gbGF5b3V0cy4KPj4+IE1vcmUgYWNjdXJhdGUgaW5mb3JtYXRpb24gaXMgZXhwb3J0ZWQs IGVnIGZvciBkZWNvZGVycyB0aGF0IGRvIG5vdAo+Pj4gc2V0IGEgY2hhbm5lbCBsYXlvdXQsIGxh dmMgd2lsbCBub3QgbWFrZSBvbmUgdXAgZm9yIHRoZW0uCj4+Pgo+Pj4gRGVwcmVjYXRlIHRoZSBv bGQgQVBJIHdvcmtpbmcgd2l0aCBqdXN0IHVpbnQ2NF90IGJpdG1hc2tzLgo+Pj4KPj4+IEV4cGFu ZGVkIGFuZCBjb21wbGV0ZWQgYnkgVml0dG9yaW8gR2lvdmFyYSA8dml0dG9yaW8uZ2lvdmFyYUBn bWFpbC5jb20+Cj4+PiBhbmQgSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPi4KPj4+IFNp Z25lZC1vZmYtYnk6IFZpdHRvcmlvIEdpb3ZhcmEgPHZpdHRvcmlvLmdpb3ZhcmFAZ21haWwuY29t Pgo+Pj4gU2lnbmVkLW9mZi1ieTogSmFtZXMgQWxtZXIgPGphbXJpYWxAZ21haWwuY29tPgo+Pj4g LS0tCj4+PiDCoGxpYmF2dXRpbC9jaGFubmVsX2xheW91dC5jIHwgNjI5ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0KPj4+IMKgbGliYXZ1dGlsL2NoYW5uZWxfbGF5b3V0Lmgg fCA1NDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPj4+IMKgbGliYXZ1dGlsL3Zl cnNpb24uaMKgwqDCoMKgwqDCoMKgIHzCoMKgIDEgKwo+Pj4gwqAzIGZpbGVzIGNoYW5nZWQsIDEw NjkgaW5zZXJ0aW9ucygrKSwgMTAzIGRlbGV0aW9ucygtKQo+Pgo+PiBUaGFuayB5b3UuIEkgaGF2 ZSBubyBmdW5kYW1lbnRhbCBvYmplY3Rpb24gdG8gdGhlIGRlc2lnbiBvZiB0aGUgQVBJIGFzCj4+ IGl0IGlzLCBidXQgdGhlIHVzZXIgaW50ZXJmYWNlIGFuZCBkb2N1bWVudGF0aW9uIGlzIHN0aWxs IG1pc3NpbmcsIHRoYXQKPj4gbmVlZHMgdG8gYmUgYWRkcmVzc2VkIGJlZm9yZSB0aGUgcGF0Y2gg Z29lcyBpbi4KPj4KPj4gKEJ1dCBJSVJDLCBNYXJ0b24gaGFkIG90aGVyIHJlcXVpcmVtZW50cywg c28gbGV0IHVzIHdhaXQgZm9yIGhpbSB0bwo+PiB3ZWlnaCBpbi4pCj4gCj4gTXkgZXh0ZW5zaWJs ZSBtZXRhZGF0YSBpZGVhIHdhcyBub3QgcG9wdWxhciwgc28gSSBhbSB3aWxsaW5nIHRvIGxldCBp dCBnby4KPiAKPj4KPj4+ICsvKioKPj4+ICsgKiBJbml0aWFsaXplIGEgY2hhbm5lbCBsYXlvdXQg ZnJvbSBhIGdpdmVuIHN0cmluZyBkZXNjcmlwdGlvbi4KPj4+ICsgKiBUaGUgaW5wdXQgc3RyaW5n IGNhbiBiZSByZXByZXNlbnRlZCBieToKPj4+ICsgKsKgIC0gdGhlIGZvcm1hbCBjaGFubmVsIGxh eW91dCBuYW1lIChyZXR1cm5lZCBieSAKPj4+IGF2X2NoYW5uZWxfbGF5b3V0X2Rlc2NyaWJlKCkp Cj4+PiArICrCoCAtIHNpbmdsZSBvciBtdWx0aXBsZSBjaGFubmVsIG5hbWVzIChyZXR1cm5lZCBi eSBhdl9jaGFubmVsX25hbWUoKQo+Pj4gKyAqwqDCoMKgIG9yIGNvbmNhdGVuYXRlZCB3aXRoICIr IikKPj4+ICsgKsKgIC0gYSBoZXhhZGVjaW1hbCB2YWx1ZSBvZiBhIGNoYW5uZWwgbGF5b3V0IChl Zy4gIjB4NCIpCj4+PiArICrCoCAtIHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgd2l0aCBkZWZhdWx0 IGxheW91dCAoZWcuICI1YyIpCj4+PiArICrCoCAtIHRoZSBudW1iZXIgb2YgdW5vcmRlcmVkIGNo YW5uZWxzIChlZy4gIjQiLCAiNEMiLCBvciAiNCBjaGFubmVscyIpCj4+PiArICoKPj4+ICsgKiBA cGFyYW0gY2hhbm5lbF9sYXlvdXQgaW5wdXQgY2hhbm5lbCBsYXlvdXQKPj4+ICsgKiBAcGFyYW0g c3RyIHN0cmluZyBkZXNjcmliaW5nIHRoZSBjaGFubmVsIGxheW91dAo+Pj4gKyAqIEByZXR1cm4g MCBjaGFubmVsIGxheW91dCB3YXMgZGV0ZWN0ZWQsIEFWRVJST1JfSU5WQUxJREFUQVRBIAo+Pj4g b3RoZXJ3aXNlCj4+PiArICovCj4+PiAraW50IGF2X2NoYW5uZWxfbGF5b3V0X2Zyb21fc3RyaW5n KEFWQ2hhbm5lbExheW91dCAqY2hhbm5lbF9sYXlvdXQsCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNo YXIgKnN0cik7Cj4+Cj4+IFRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgc3ludGF4IG5lZWRzIHRv IGJlIGluIHRoZSB1c2VyIGRvY3VtZW50YXRpb24sCj4+IHdpdGggZXhhbXBsZXMsIG5vdCBqdXN0 IGluIHRoZSBBUEkgZG9jdW1lbnRhdGlvbi4KPj4KPj4+ICsvKioKPj4+ICsgKiBUaGlzIGlzIHRo ZSBpbnZlcnNlIGZ1bmN0aW9uIG9mIEByZWYgYXZfY2hhbm5lbF9uYW1lKCkuCj4+PiArICoKPj4+ ICsgKiBAcmV0dXJuIHRoZSBjaGFubmVsIHdpdGggdGhlIGdpdmVuIG5hbWUKPj4+ICsgKsKgwqDC oMKgwqDCoMKgwqAgQVZfQ0hBTl9OT05FIHdoZW4gbmFtZSBkb2VzIG5vdCBpZGVudGlmeSBhIGtu b3duIGNoYW5uZWwKPj4+ICsgKi8KPj4+ICtlbnVtIEFWQ2hhbm5lbCBhdl9jaGFubmVsX2Zyb21f c3RyaW5nKGNvbnN0IGNoYXIgKm5hbWUpOwo+Pgo+Pj4gKy8qKgo+Pj4gKyAqIEdldCBhIGNoYW5u ZWwgZGVzY3JpYmVkIGJ5IHRoZSBnaXZlbiBzdHJpbmcuCj4+PiArICoKPj4+ICsgKiBUaGlzIGZ1 bmN0aW9uIGFjY2VwdHMgY2hhbm5lbCBuYW1lcyBpbiB0aGUgc2FtZSBmb3JtYXQgYXMKPj4+ICsg KiBAcmVmIGF2X2NoYW5uZWxfZnJvbV9zdHJpbmcoKS4KPj4+ICsgKgo+Pj4gKyAqIEBwYXJhbSBj aGFubmVsX2xheW91dCBpbnB1dCBjaGFubmVsIGxheW91dAo+Pj4gKyAqIEByZXR1cm4gYSBjaGFu bmVsIGRlc2NyaWJlZCBieSB0aGUgZ2l2ZW4gc3RyaW5nLCBvciBhIG5lZ2F0aXZlIAo+Pj4gQVZF UlJPUiB2YWx1ZS4KPj4+ICsgKi8KPj4+ICtpbnQgYXZfY2hhbm5lbF9sYXlvdXRfY2hhbm5lbF9m cm9tX3N0cmluZyhjb25zdCBBVkNoYW5uZWxMYXlvdXQgCj4+PiAqY2hhbm5lbF9sYXlvdXQsCj4+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBjaGFyICpuYW1lKTsKPj4KPj4gVGhp cyBsb29rcyB0byBiZSB0aGUgcHJlZmVycmVkIGZ1bmN0aW9uIGZvciB3aGVuIHRoZSB1c2VyIHdp bGwgc3BlY2lmeSBhCj4+IGNoYW5uZWwgaW4gYSBsYXlvdXQuCj4+Cj4+IEZpcnN0LCB0aGlzIGZh Y3Qgc2hvdWxkIGJlIHN0YXRlZCBjbGVhcmx5IGluIHRoZSBpbnRyb2R1Y3Rpb24gb2YgdGhlCj4+ IGRvY3VtZW50YXRpb24uIE90aGVyd2lzZSwgcGVvcGxlIHdpbGwgbGlrZWx5IHVzZSBvdGhlciBm dW5jdGlvbnMsCj4+IHByb2JhYmx5IGF2X2NoYW5uZWxfbGF5b3V0X2NoYW5uZWxfZnJvbV9pbmRl eCgpLgo+Pgo+PiBTZWNvbmQsIHRoZSAibmFtZSIgYXJndW1lbnQgY2Fubm90IGJlIGp1c3QgYSBu YW1lIGFyZ3VtZW50OiB0aGUgdXNlcgo+PiBtdXN0IGJlIGFibGUgdG8gc2F5ICJ0aGUgdGhpcmQg RkMgY2hhbm5lbCIgb3IgInRoZSBGQyBjaGFubmVsIHdpdGggbmFtZQo+PiAncGlhbm8nIi4gQW5k IHByb2JhYmx5IGJvdGggYXQgb25jZS4KPj4KPj4gaWR4ID0gYXZfY2hhbm5lbF9sYXlvdXRfY2hh bm5lbF9mcm9tX3N0cmluZyhsYXlvdXQsICJGQyIpOwo+PiBpZHggPSBhdl9jaGFubmVsX2xheW91 dF9jaGFubmVsX2Zyb21fc3RyaW5nKGxheW91dCwgIkZDIzIiKTsKPj4gaWR4ID0gYXZfY2hhbm5l bF9sYXlvdXRfY2hhbm5lbF9mcm9tX3N0cmluZyhsYXlvdXQsICJGQ1twaWFub10iKTsKPj4gaWR4 ID0gYXZfY2hhbm5lbF9sYXlvdXRfY2hhbm5lbF9mcm9tX3N0cmluZyhsYXlvdXQsICJGQ1twaWFu b10jMiIpOwo+Pgo+PiAoSSB0aGluayBpdCB3b3VsZCBiZSBhY2NlcHRhYmxlIHRvIGxpbWl0IHRo ZSBuYW1lLCBmb3IgZXhhbXBsZSAibmFtZXMKPj4gd2l0aCBub24tYWxwaGFudW1lcmljIEFTQ0lJ IGNoYXJhY3RlcnMgYXJlIG5vdCBzdXBwb3J0ZWQuKQo+Pgo+PiBBbmQgdGhpcyBuZWVkIHRvIGdv IGluIHRoZSB1c2VyIGRvY3VtZW50YXRpb24uCj4+Cj4+IEkgYW0gbm90IHN1cmUgaWYgd2UgYWxz byBuZWVkIGEgZnVuY3Rpb24gdG8gZXh0cmFjdCAiYWxsIHRoZSBGTCBjaGFubmVscwo+PiB3aXRo IG5hbWUgJ3BpYW5vJyIuCj4gCj4gQmVmb3JlIGRpc2N1c3NpbmcgY2hhbm5lbCBzZWxlY3Rpb24g c3ludGF4LCBjYW4gd2UgZGlzY3VzcyBzZXJpYWxpemF0aW9uPwo+IAo+IFNob3VsZCB0aGUgc2Vy aWFsaXphdG9uIGFuZCB1bnNlcmlhbGl6YXRpb24gZnVuY3Rpb25zIHN0b3JlL3BhcnNlIGJvdGgg Cj4gdGhlIGNoYW5uZWwgbGFiZWwgYW5kIHRoZSBjaGFubmVsIGRlc2lnbmF0aW9uPyBBcyBmYXIg YXMgSSBzZWUgcmlnaHQgbm93IAo+IGl0IGlzIGtpbmQgb2YgaW5jb25zaXN0ZW50OiBhdl9jaGFu bmVsX2xheW91dF9kZXNjcmliZV9wcmludCgpIHByaW50cyAKPiB0aGUgbGFiZWwgKGlmIGV4aXN0 cyksIG5vdCB0aGUgZGVzaWduYXRpb24sIGJ1dCAKPiBhdl9jaGFubmVsX2xheW91dF9mcm9tX3N0 cmluZygpIGV4cGVjdHMgdGhlIGRlc2lnbmF0aW9ucyBvbmx5LCBuZXZlciB0aGUgCj4gY3VzdG9t IGxhYmVsLgoKWW91J3JlIHN0aWxsIHRoaW5raW5nIHRoZXJlJ3MgYSBkaXN0aW5jdGlvbiwgd2hl biBpIGFscmVhZHkgdG9sZCB5b3UgCnRoYXQgdGhlcmUgaXMgbm9uZS4gSSBhZGRlZCB0aGUgbmFt ZSBmaWVsZCBiZWNhdXNlIHBlb3BsZSB3YW50ZWQgdG8gZ2l2ZSAKbm9uIHN0YW5kYXJkIGNoYW5u ZWwgbmFtZXMsIGFuZCBtYXliZSBhbHNvIGNoYW5nZSB0aGUgc3RhbmRhcmQgb25lcyB0b28uIApJ dCdzIG5vdCBhIGxhYmVsIHRvIGdvIGFsb25nc2lkZSBhIGRlc2lnbmF0aW9uLCBpdCdzICphKiBu YW1lLgpUaGVyZSBhcmUgYWJvdXQgMjAgY2hhbm5lbHMgdGhhdCBoYXZlIGEgc3RhbmRhcmQgbmFt ZSBmcm9tIHdhdmVmb3JtYXQgCmFuZCBleHRlbnNpb25zLCB3aGlsZSB0aGUgcmVzdCBsYWNrIG9u ZS4gWW91IGNhbiBvYnZpb3VzbHkgaGF2ZSBhIG5vbiAKc3RhbmRhcmQgc3BlYWtlciBzZXR1cCB3 aXRoIDUwIGNoYW5uZWxzLCBhbmQgYWxsIHRob3NlIGV4dHJhIHNwZWFrZXJzIApjYW4gc3VyZWx5 IGhhdmUgYSBuYW1lIGJhc2VkIG9uIHRoZWlyIHBvc2l0aW9uIChTYXksIFJURkMsIHRvIHJlZmVy IHRvIAoicmlnaHQgb2YgdG9wIGZyb250IGNlbnRlciIpLCBzbyB0aGUgZmllbGQgbGV0cyB5b3Ug Z2l2ZSBpdCB0byB0aGVtIGlmIAp0aGF0J3MgY29udmVuaWVudCBmb3IgeW91IGFuZCB5b3Ugd2Fu dCBhIHByZXR0eSBwcmludCBvdXRwdXQgb2YgdGhlIApsYXlvdXQgd2l0aG91dCBzZWVpbmcgdGhp bmdzIGxpa2UgVVNSNDkuIFRoYXQncyBpdC4KClllcywgYXZfY2hhbm5lbF9sYXlvdXRfZnJvbV9z dHJpbmcoKSB3aWxsIG5vdCBiZSBhYmxlIHRvIHBhcnNlIHRoZSAKb3V0cHV0IG9mIGF2X2NoYW5u ZWxfbGF5b3V0X2Zyb21fZGVzY3JpYmUoKSBpZiB5b3UgZ2F2ZSBjaGFubmVscyBhIApjdXN0b20g bmFtZSwgc2luY2UgdGhleSBhcmUgc3BlY2lmaWNhbGx5IGZyb20gdGhhdCBvdGhlciBsYXlvdXQu IFRoZXJlJ3MgCm5vIHdheSBhcm91bmQgdGhhdCwgYXMgd2UgY2FuJ3QgbWFrZSBkZXNjcmliZSgp IG91dHB1dCBzb21lIHN0cmluZyB0aGF0IApmcm9tX3N0cmluZygpIGNhbiBpbnRlcnByZXQgZm9y IHRob3NlIGJlY2F1c2UgdGhlbiBkZXNjcmliZSgpIHdpbGwgYmUgCnVzZWxlc3MgZm9yIHByaW50 aW5nIHRoZSBsYXlvdXQgZm9yIGh1bWFuIHJlYWRhYmlsaXR5IHB1cnBvc2VzLgpJdCBpcyBpbiBm YWN0IGEgZ29vZCByZWFzb24gdG8gZWl0aGVyIHJlbW92ZSB0aGUgbmFtZSBmaWVsZCBvciBzdG9w IAptYWtpbmcgdGhlc2UgaGVscGVycyBsb29rIGF0IGl0LCBzaW5jZSBkZXNjcmliZSgpIGlzIG1l YW50IHRvIGNyZWF0ZSAKc3RyaW5ncyBmcm9tX3N0cmluZygpIGNhbiBwYXJzZS4KCkkgcGVyc29u YWxseSB3b3VsZCBkbyBqdXN0IHRoYXQgYW5kIGtlZXAgdGhlIG9wYXF1ZSBmaWVsZHMgYWxvbmUu IApPdGhlcndpc2UgSSdsbCBtYWtlIHRoZSBoZWxwZXJzIHN0b3AgbG9va2luZyBhdCBpdCwgc2lu Y2UgYWZ0ZXIgeW91ciAKcmVxdWVzdCwgbm9uIHN0YW5kYXJkIGNoYW5uZWxzIGNhbiBiZSBhZGRy ZXNzZWQgYXMgVVNSIywgc28geW91IGNhbiAKY3JlYXRlIGxheW91dCBmcm9tIHN0cmluZ3Mgd2l0 aCB0aGVtIGp1c3QgZmluZS4KVGhlIG9wYXF1ZSBmaWVsZCBpcyBtb3JlIHRoYW4gZW5vdWdoIHRv IGdpdmUgY2hhbm5lbHMgY3VzdG9tIG5hbWVzIGFuZCAKZXZlbiBpbXBsZW1lbnQgYWxsIGtpbmRz IG9mIGNyYXp5IHVuY29udmVudGlvbmFsIGludGVyLWZpbHRlciB1c2FnZSAKd2l0aGluIGxpYmF2 ZmlsdGVyIGxpa2UgTmljb2xhcyB3YW50cyB0byB3aXRob3V0IG92ZXJkZXNpZ25pbmcgdGhlIApo ZWxwZXJzIGZvciB2aXJ0dWFsbHkgdW51c2VkIHNjZW5hcmlvcyBvdXRzaWRlIG9mIG91ciBvd24g bGlicmFyaWVzLgoKPiAKPiBUaGVyZSBpcyBzdGlsbCBjb25mdXNpb24gd2hhdCBjdXN0b20gY2hh bm5lbCBsYWJlbHMgc2hvdWxkIGJlIHVzZWQgZm9yLiAKPiBJcyBpdCBvbmx5IHVzZWQgZm9yIHN0 cmluZyBsYWJlbHMgZm9yIHVzZXIgY2hhbm5lbCBkZXNpZ25hdGlvbnMgb3IgaXMgaXQgCj4gdXNl ZCBieSB0aGUgZW5kIHVzZXIgdG8gdGFnIGl0cyBjaGFubmVscyB1bnJlbGF0ZWQgdG8gdGhlaXIg ZGVzaWduYXRpb24/IAo+ICJQaWFubyIgZXhhbXBsZSBzdWdnZXN0IHRoZSBsYXR0ZXIsIGJ1dCBB UEkgaXMgZGVzaWduZWQgZm9yIHRoZSBmb3JtZXIuLi4KCkl0J3Mgd2hhdCBpIHNhaWQgYWJvdmUu IFRoZSBwaWFubyBzdHVmZiBpcyBOaWNvbGFzIHBlcnNvbmFsIHVzZWNhc2UgZm9yIApsaWJhdmZp bHRlciBpbnRlcm5hbCBiZWhhdmlvciB0aGF0J3MgYmV5b25kIHRoZSBzY29wZSBvZiB0aGVzZSBo ZWxwZXJzLgoKPiAKPiBSZWdhcmRzLAo+IE1hcnRvbgo+IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+IGZm bXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGlu Zm8vZmZtcGVnLWRldmVsCj4gCj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9y IGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVu c3Vic2NyaWJlIi4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRw czovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2Ny aWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1w ZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=