From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 5EC544D0BD for ; Fri, 16 May 2025 03:40:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id F314D68C1EC; Fri, 16 May 2025 06:40:16 +0300 (EEST) Received: from mail-yb1-f176.google.com (mail-yb1-f176.google.com [209.85.219.176]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 9CBC768C13B for ; Fri, 16 May 2025 06:40:10 +0300 (EEST) Received: by mail-yb1-f176.google.com with SMTP id 3f1490d57ef6-e75668006b9so1750363276.3 for ; Thu, 15 May 2025 20:40:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747366809; x=1747971609; darn=ffmpeg.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=FUnFxmQfrBy6KkAXyKBL1rlhaxYN02G1d92JCta5pzw=; b=kfnQsm2sPCNLpplq/9z9zPzRnXSkKOdC1WVYf2SblzdQ17HWgrBopM11x6s0GYfxiC f4pZlEk56iQkKnJVMEAjRQ0R7XoBgNItk90ybB7bhIks+LkFkrriNhsX4z20Sob4ijCl /eGQCDcrgnGfy2Y6MoRzWVxZ3qWkgNnDjCwLei+g/gxnyFEl6hQPGAQ0POCawJMQOW5S wfzIkP+MhJBy4NOhA9ezDIoHt6V2jRMJJiasPqLqqAo54Spfmhs2+BKHT8L98ffkl+pn lHBmjZrUNgLGDNy8SV6Tyf7kk73MVhCevkl70uafpWJEAMc8w3cegP8avJqvFcth04Eq XEAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747366809; x=1747971609; 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=FUnFxmQfrBy6KkAXyKBL1rlhaxYN02G1d92JCta5pzw=; b=p5e4JqX6/PCv5ZxVZd/jx+yXYEoKrRNUPIHJPd1P1I+ni5A7c2NEI8qVVxtDEKBQd1 +7hof6qLBsrxsuDUlS9DCqfWNtaksS0vXHGrZjGtQse8RMSCrEXxtfbTet6sL2GQEZf2 nimRsC+CPUpAiLEofb9YoiUtJmsvpUyYDu/ocHzUofH/C7htdi7SZtZWeRPTNl0y8p10 YI87uvTXPxbgyke2tUEfSPaYRBQswiAujhaFej3O1PxOrioWato7AsQmVB1hpvkKnxTt FtlPwsdgwOvP/hkdkgdC1xJxT2whCvGKKiQvrGzsEuN5ac5bujYSN3jbgtvPZCF8aKxC sO0w== X-Gm-Message-State: AOJu0YyPUxFPygTYlcvZ8BQr8JRONkWmI/xQ11+XB2lGeGPQSNvxEimv xBPMFDl2ZXMfjRmzh1ZAggWkCTPFaj11iF8Kp1Gg/wy8sXX+u0IRrEpBuMLRy5/ZLl+3z4o7Szi KGEvqxCmhAeU5aqLKqfpBbbdQJxHV3oncG33a X-Gm-Gg: ASbGncvE5rQB5Gc+QSv506Z6V6KYhQFYHQjui9Rg3aPHvR4CPi7bvW/Z2LoHO+N7GIg j60HyjE7HSxowsJ4axWYotZDp1WE/QV0YDIOvb5yH+Y/pX5B68d372gJId3Niy4hj/ueiLfp5Uy ZZSNnCItrZRsYBiA2pFD5Y9vMzkRU/IuxcCQ== X-Google-Smtp-Source: AGHT+IFIp59g7JPlEmR0io3GXDvKxNBoznuRLrXRvKipk0c+VLdKN1gV/ppJKnToEbRUslzOsqBi+DXw+fLuHkagek4= X-Received: by 2002:a05:6902:2409:b0:e7b:68a9:1dd5 with SMTP id 3f1490d57ef6-e7b6a40d91fmr3040002276.30.1747366808606; Thu, 15 May 2025 20:40:08 -0700 (PDT) MIME-Version: 1.0 References: <20250515211148.6C91C4128B8@natalya.videolan.org> <7080a655-035e-e56f-a97c-5579edb2e760@passwd.hu> <20250516005421.GX29660@pb2> In-Reply-To: <20250516005421.GX29660@pb2> From: Romain Beauxis Date: Thu, 15 May 2025 22:39:57 -0500 X-Gm-Features: AX0GCFseOKhNtk8WBrK1Fouwifbe3Os-iHxe3wsvH0jWBNyTLA3tufWeLINf9pQ Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [FFmpeg-cvslog] fftools/graphprint: Now, make it a Killer-Feature! 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: TGUgamV1LiAxNSBtYWkgMjAyNSDDoCAxOTo1NCwgTWljaGFlbCBOaWVkZXJtYXllciA8bWljaGFl bEBuaWVkZXJtYXllci5jYz4gYQrDqWNyaXQgOgo+Cj4gSGkKPgo+IE9uIEZyaSwgTWF5IDE2LCAy MDI1IGF0IDEyOjE3OjE0QU0gKzAwMDAsIHNvZnR3b3JreiAuIHdyb3RlOgo+ID4KPiA+Cj4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiA+IEZyb206IGZmbXBlZy1kZXZlbCA8ZmZt cGVnLWRldmVsLWJvdW5jZXNAZmZtcGVnLm9yZz4gT24gQmVoYWxmIE9mCk1hcnRvbgo+ID4gPiBC YWxpbnQKPiA+ID4gU2VudDogRnJlaXRhZywgMTYuIE1haSAyMDI1IDAyOjAwCj4gPiA+IFRvOiBG Rm1wZWcgZGV2ZWxvcG1lbnQgZGlzY3Vzc2lvbnMgYW5kIHBhdGNoZXMgPApmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZz4KPiA+ID4gU3ViamVjdDogUmU6IFtGRm1wZWctZGV2ZWxdIFtGRm1wZWctY3Zz bG9nXSBmZnRvb2xzL2dyYXBocHJpbnQ6IE5vdywKbWFrZSBpdCBhCj4gPiA+IEtpbGxlci1GZWF0 dXJlIQo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPiBPbiBUaHUsIDE1IE1heSAyMDI1LCBzb2Z0d29y a3ogLiB3cm90ZToKPiA+ID4KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tCj4gPiA+ID4+IEZyb206IGZmbXBlZy1kZXZlbCA8ZmZtcGVnLWRldmVsLWJv dW5jZXNAZmZtcGVnLm9yZz4gT24gQmVoYWxmIE9mClJhbWlybwo+ID4gPiBQb2xsYQo+ID4gPiA+ PiBTZW50OiBEb25uZXJzdGFnLCAxNS4gTWFpIDIwMjUgMjM6NTAKPiA+ID4gPj4gVG86IGZmbXBl Zy1kZXZlbEBmZm1wZWcub3JnCj4gPiA+ID4+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBb RkZtcGVnLWN2c2xvZ10gZmZ0b29scy9ncmFwaHByaW50OgpOb3csIG1ha2UKPiA+ID4gaXQgYQo+ ID4gPiA+PiBLaWxsZXItRmVhdHVyZSEKPiA+ID4gPj4KPiA+ID4gPj4gSGksCj4gPiA+ID4+Cj4g PiA+ID4+IE9uIFRodSwgTWF5IDE1LCAyMDI1IGF0IDExOjEx4oCvUE0gc29mdHdvcmt6IDxnaXRA dmlkZW9sYW4ub3JnPgp3cm90ZToKPiA+ID4gPj4gWy4uLl0KPiA+ID4gPj4+IGRpZmYgLS1naXQg YS9mZnRvb2xzL2dyYXBoL2ZpbGVsYXVuY2hlci5jCmIvZmZ0b29scy9ncmFwaC9maWxlbGF1bmNo ZXIuYwo+ID4gPiA+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+ID4gPj4+IGluZGV4IDAwMDAw MDAwMDAuLjQ1NTE0Y2E1OTkKPiA+ID4gPj4+IC0tLSAvZGV2L251bGwKPiA+ID4gPj4+ICsrKyBi L2ZmdG9vbHMvZ3JhcGgvZmlsZWxhdW5jaGVyLmMKPiA+ID4gPj4gWy4uLl0KPiA+ID4gPj4+ICtp bnQgZmZfb3Blbl9odG1sX2luX2Jyb3dzZXIoY29uc3QgY2hhciAqaHRtbF9wYXRoKQo+ID4gPiA+ Pj4gK3sKPiA+ID4gPj4+ICsgICAgaWYgKCFodG1sX3BhdGggfHwgISpodG1sX3BhdGgpCj4gPiA+ ID4+PiArICAgICAgICByZXR1cm4gLTE7Cj4gPiA+ID4+PiArCj4gPiA+ID4+PiArI2lmIGRlZmlu ZWQoX1dJTjMyKQo+ID4gPiA+Pj4gKwo+ID4gPiA+Pj4gKyAgICAvLyAtLS0gV2luZG93cyAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gPj4+ICsgICAgewo+ID4gPiA+Pj4g KyAgICAgICAgSElOU1RBTkNFIHJjID0gU2hlbGxFeGVjdXRlQShOVUxMLCAib3BlbiIsIGh0bWxf cGF0aCwKTlVMTCwgTlVMTCwKPiA+ID4gPj4gU1dfU0hPV05PUk1BTCk7Cj4gPiA+ID4+PiArICAg ICAgICBpZiAoKFVJTlRfUFRSKXJjIDw9IDMyKSB7Cj4gPiA+ID4+PiArICAgICAgICAgICAgLy8g RmFsbGJhY2s6IHN5c3RlbSgic3RhcnQgLi4uIikKPiA+ID4gPj4+ICsgICAgICAgICAgICBjaGFy IGNtZFsxMDI0XTsKPiA+ID4gPj4+ICsgICAgICAgICAgICBfc25wcmludGZfcyhjbWQsIHNpemVv ZihjbWQpLCBfVFJVTkNBVEUsICJzdGFydCBcIlwiClwiJXNcIiIsCj4gPiA+ID4+IGh0bWxfcGF0 aCk7Cj4gPiA+ID4+PiArICAgICAgICAgICAgaWYgKHN5c3RlbShjbWQpICE9IDApCj4gPiA+ID4+ PiArICAgICAgICAgICAgICAgIHJldHVybiAtMTsKPiA+ID4gPj4+ICsgICAgICAgIH0KPiA+ID4g Pj4+ICsgICAgICAgIHJldHVybiAwOwo+ID4gPiA+Pj4gKyAgICB9Cj4gPiA+ID4+PiArCj4gPiA+ ID4+PiArI2VsaWYgZGVmaW5lZChfX0FQUExFX18pCj4gPiA+ID4+PiArCj4gPiA+ID4+PiArICAg IC8vIC0tLSBtYWNPUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiA+ Pj4gKyAgICB7Cj4gPiA+ID4+PiArICAgICAgICAvLyAib3BlbiIgaXMgdGhlIG1hY09TIGNvbW1h bmQgdG8gb3BlbiBhIGZpbGUvVVJMIHdpdGgKdGhlCj4gPiA+IGRlZmF1bHQKPiA+ID4gPj4gYXBw bGljYXRpb24KPiA+ID4gPj4+ICsgICAgICAgIGNoYXIgY21kWzEwMjRdOwo+ID4gPiA+Pj4gKyAg ICAgICAgc25wcmludGYoY21kLCBzaXplb2YoY21kKSwgIm9wZW4gJyVzJyAxPi9kZXYvbnVsbCAy PiYxCiYiLAo+ID4gPiA+PiBodG1sX3BhdGgpOwo+ID4gPiA+Pj4gKyAgICAgICAgaWYgKHN5c3Rl bShjbWQpICE9IDApCj4gPiA+ID4+PiArICAgICAgICAgICAgcmV0dXJuIC0xOwo+ID4gPiA+Pj4g KyAgICAgICAgcmV0dXJuIDA7Cj4gPiA+ID4+PiArICAgIH0KPiA+ID4gPj4+ICsKPiA+ID4gPj4+ ICsjZWxzZQo+ID4gPiA+Pj4gKwo+ID4gPiA+Pj4gKyAgICAvLyAtLS0gTGludXggLyBVbml4LWxp a2UgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gPj4+ICsgICAgLy8gV2UnbGwgdHJ5IHhk Zy1vcGVuLCB0aGVuIGdub21lLW9wZW4sIHRoZW4ga2ZtY2xpZW50Cj4gPiA+ID4+PiArICAgIHsK PiA+ID4gPj4+ICsgICAgICAgIC8vIEhlbHBlciBtYWNybyB0byB0cnkgb25lIGJyb3dzZXIgY29t bWFuZAo+ID4gPiA+Pj4gKyAgICAgICAgLy8gUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGZh aWx1cmUKPiA+ID4gPj4+ICsgICAgICAgICNkZWZpbmUgVFJZX0NNRChwcm9nKSBkbyB7CiAgICBc Cj4gPiA+ID4+PiArICAgICAgICAgICAgY2hhciBidWZbMTAyNF07CiAgICAgXAo+ID4gPiA+Pj4g KyAgICAgICAgICAgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlcyAnJXMnIDE+L2Rldi9u dWxsIDI+JjEKJiIsIFwKPiA+ID4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAocHJvZyksIGh0 bWxfcGF0aCk7CiAgICAgXAo+ID4gPiA+Pj4gKyAgICAgICAgICAgIGludCByZXQgPSBzeXN0ZW0o YnVmKTsKICAgICBcCj4gPiA+ID4+PiArICAgICAgICAgICAgLyogT24gVW5peDogc3lzdGVtKCkg cmV0dXJucyAtMSBpZiB0aGUgc2hlbGwgY2FuJ3QKcnVuLiAqL1wKPiA+ID4gPj4+ICsgICAgICAg ICAgICAvKiBPdGhlcndpc2UsIGNoZWNrIGV4aXQgY29kZSBpbiBsb3dlciA4IGJpdHMuCiAgICAq L1wKPiA+ID4gPj4+ICsgICAgICAgICAgICBpZiAocmV0ICE9IC0xICYmIFdJRkVYSVRFRChyZXQp ICYmIFdFWElUU1RBVFVTKHJldCkKPT0gMCkgXAo+ID4gPiA+Pj4gKyAgICAgICAgICAgICAgICBy ZXR1cm4gMDsKICAgICAgXAo+ID4gPiA+Pj4gKyAgICAgICAgfSB3aGlsZSAoMCkKPiA+ID4gPj4+ ICsKPiA+ID4gPj4+ICsgICAgICAgIFRSWV9DTUQoInhkZy1vcGVuIik7Cj4gPiA+ID4+PiArICAg ICAgICBUUllfQ01EKCJnbm9tZS1vcGVuIik7Cj4gPiA+ID4+PiArICAgICAgICBUUllfQ01EKCJr Zm1jbGllbnQgZXhlYyIpOwo+ID4gPiA+Pj4gKwo+ID4gPiA+Pj4gKyAgICAgICAgZnByaW50Zihz dGRlcnIsICJDb3VsZCBub3Qgb3BlbiAnJXMnIGluIGEgYnJvd3Nlci5cbiIsCj4gPiA+IGh0bWxf cGF0aCk7Cj4gPiA+ID4+PiArICAgICAgICByZXR1cm4gLTE7Cj4gPiA+ID4+PiArICAgIH0KPiA+ ID4gPj4+ICsKPiA+ID4gPj4+ICsjZW5kaWYKPiA+ID4gPj4+ICt9Cj4gPiA+ID4+IFsuLi5dCj4g PiA+ID4+Cj4gPiA+ID4+IFNvcnJ5IEkgZGlkbid0IGhhdmUgYSBjbG9zZXIgbG9vayBhdCB0aGUg cGF0Y2hzZXQgd2hpbGUgaXQgd2FzCnVuZGVyCj4gPiA+ID4+IHJldmlldywgYnV0IHN5c3RlbShj bWQpIGlzIGEgYmlnIG5vLW5vLiBXZSBjb3VsZCBjcmVhdGUgYSBmaWxlCndpdGggYW4KPiA+ID4g Pj4gZXhwbGljaXQgcGF0aCBwYXNzZWQgYnkgdGhlIHVzZXIsIGJ1dCB0aGVuIGl0J3MgdXAgdG8g dGhlIHVzZXIgdG8Kb3Blbgo+ID4gPiA+PiBpdC4KPiA+ID4gPgo+ID4gPiA+IFdoYXQncyBiYWQg YWJvdXQgb3BlbmluZyBhIGZpbGUgaW4gdGhlIGJyb3dzZXIgd2hlbiB0aGF0J3MgdGhlCmRvY3Vt ZW50ZWQKPiA+ID4gPiBiZWhhdmlvciBvZiB0aGUgY2xpIHBhcmFtZXRlcj8KPiA+ID4KPiA+ID4g QmVjYXVzZSBmZm1wZWcgaXMgbm90IGEgYnJvd3NlciBvcGVuZXIgdG9vbCwgYnV0IGEgdHJhbnNj b2RpbmcgdG9vbC4KQW4KPiA+ID4gYXJndW1lbnQgY2FuIGJlIG1hZGUgZm9yIGV2ZXJ5IGZlYXR1 cmUgeW91IGNhbiB0aGluayBvZiAoV2h5IG5vdCBhZGQKYW4KPiA+ID4gb3B0aW9uIHdoaWNoIHNo dXRzIGRvd24gYSBjb21wdXRlciB3aGVuIHRoZSB0cmFuc2NvZGluZyBpcyBkb25lPyBXaHkKbm90 Cj4gPiA+IGFkZCBhIHBsYXlhYmxlIERPT00gaW1wbGVtZW50YXRpb24gc28gdGhlIHVzZXIgd2ls bCBub3QgYmUgYm9yZWQgd2hlbgo+ID4gPiB3YWl0aW5nIGZvciB0aGUgdHJhbnNjb2RlIHRvIGZp bmlzaCkuCj4gPiA+Cj4gPiA+IExldCdzIGp1c3QgcmV2ZXJ0IHRoaXMuIFRoZSBtYW55IGZmbXBl ZyBjbGkgZnJvbnRlbmRzIGNhbiBvcGVuCmJyb3dzZXJzIGlmCj4gPiA+IHRoZXkgd2FudC4KPiA+ Cj4gPiBNYW55IGdvb2QgYXJndW1lbnRzIGNhbiBiZSBmb3VuZCBmb3IgYm90aCBzaWRlcy4KPiA+ Cj4gPiA+IEJlY2F1c2UgZmZtcGVnIGlzIG5vdCBhIGJyb3dzZXIgb3BlbmVyIHRvb2wKPiA+Cj4g PiBCeSBhbGwgcmVzcGVjdCwgdGhpcyBpc24ndCBvbmUuCj4gPgo+ID4KPiA+IEFueXdheSwgSSB3 aWxsIGxldCB0aGUgVEMgZGVjaWRlIGFib3V0IHRoaXMsIHRoZW4uCj4KPiBOb3Qgc3BlYWtpbmcg YXMgYSBUQyBtZW1iZXIgaGVyZSBidXQgSU1ITwo+Cj4gMS4gbGV0cyBhbGwgY2FsbSBkb3duLCBz byBmYXIgd2UgaGF2ZSBhIGNpdmlsIGFuZCBwcm9kdWN0aXZlIGRpc2N1c3Npb24KPiAgICBtYXli ZSB3ZSBjYW4gc2ltcGx5IGZpbmQgYSBzb2x1dGlvbiBldmVyeW9uZSBpcyBoYXBweSB3aXRoIQo+ Cj4gMi4gYWxsIHNlY3VyaXR5IGlzc3VlcyBtdXN0IGJlIGZpeGVkIGlmIHRoZXJlIGFyZSBzb21l Cj4KPiAzLiB0aGVyZSBzaG91bGQgYmUgYSBjb25maWd1cmUgZmxhZyB0byBlbmFibGUvZGlzYWJs ZSB0aGUgYnJvd3NlciBvcGVuaW5nCmZlYXR1cmUKPiAgICBpZiBpdCByZW1haW5zCj4KPiA0LiBj YW4gc3lzdGVtKCkgYmUgcmVwbGFjZWQgYnkgZm9yaygpK2V4ZWMqKCkgPyBpcyB0aGF0IHNvbWV0 aGluZyBwZW9wbGUKd291bGQKPiAgICBwcmVmZXIgPwoKRm9ya2VkIHByb2Nlc3NlcyBpbmhlcml0 IG9wZW5lZCBmaWxlIGRlc2NyaXB0b3JzIHVubGVzcyBleHBsaWNpdGx5IG1hcmtlZAphcyBjbG9l eGVjLCB0aGlzIGlzIGFub3RoZXIgYmlnIGNhbiBvZiB3b3Jtcy4uCgo+IDUuIHRoaXMgaXMgYSBj b29sIGZlYXR1cmUsIGkgd291bGQgdXNlIHRoaXMgaWYgaXRzIGF2YWlsYWJsZSwgdGhhdCBzYWlk Cj4gICAgaWYgaSBoYWQgdG8gbWFudWFsbHkgb3BlbiBhIGJyb3dzZXIgd2l0aCBhIGdpdmVuIFVS TCB0aGF0IHdvdWxkIHdvcmsKPiAgICBmb3IgbWUgdG9vLgoKQXQgdGhlIHZlcnkgbGVhc3QgdGhl cmUgc2hvdWxkIGJlIGEgcHJvbXB0IGFza2luZyB0aGUgdXNlciB0byBjb25maXJtCndoYXQncyBh Ym91dCB0byBoYXBwZW4uCgpBIHVzZXItZnJpZW5kIHdheSBhbmQgYWxzbyBzZWN1cmUgd2F5IGNv dWxkIGJlIHRvIG91dHB1dCBzb21ldGhpbmcgdGhhdCBpcwpyZWFkaWx5IHVzYWdlLCBmb3IgaW5z dGFuY2U6CmJhc2ggLWMgYGZmbXBlZyA8b3B0aW9ucz5gCgo+IDYuIGV2ZXJ5b25lIHdobyB1bmNv bmRpdGlvbmFsbHkgaGF0ZXMgdGhpcywgcGxlYXNlIHRyeSBpdAo+Cj4gNy4gYXMgbG9uZyBhcyB0 aGUgZGlzY3Vzc2lvbiBpcyBuaWNlIGFuZCBwcm9kdWN0aXZlIGkgdGhpbmsgdGhlIFRDIGlzIG5v dAp0aGUKPiAgICBiZXN0IHBhdGggZm9yd2FyZC4gSWYgdGhpbmdzIGRlZ2VuZXJhdGUgaW50byBz b21lIG1lc3MgdGhlbiBwYXMgaXQgdG8KdGVoCj4gICAgVEMsIHllcwo+Cj4gOC4gSSB0aGluayBv bmUgcGFydCBwZW9wbGUgc2hvdWxkIGFncmVlIG9uIGZpcnN0IGlzIGlmIHRoaXMgc2hvdWxkIGJl CmRpc2FibGVkCj4gICAgd2hpbGUgaXQgaXMgYmVpbmcgZGlzY3Vzc2VkIChtYXliZSBhIGRpc2Fi bGVkIGJ5IGRlZmF1bHQgY29uZmlndXJlCnN3aXRjaAo+ICAgIHdvdWxkIHdvcms/KQo+Cj4gQW55 d2F5LCBpYW0gYSBsaXR0bGUgc2xlZXB5IG1heWJlIGkgaGF2ZSBzb21lIGJldHRlciB2aWV3IGFm dGVyIHNsZWVwaW5nCm92ZXIKPiB0aGlzIDopCj4KPiB0aHgKPgo+IFsuLi5dCj4gLS0KPiBNaWNo YWVsICAgICBHbnVQRyBmaW5nZXJwcmludDogOUZGMjEyOEIxNDdFRjY3MzBCQURGMTMzNjExRUM3 ODcwNDBCMEZBQgo+Cj4gRGljdGF0b3JzaGlwOiBBbGwgY2l0aXplbnMgYXJlIHVuZGVyIHN1cnZl aWxsYW5jZSwgYWxsIHRoZWlyIHN0ZXBzIGFuZAo+IGFjdGlvbnMgcmVjb3JkZWQsIGZvciB0aGUg cG9saXRpY2lhbnMgdG8gZW5mb3JjZSBjb250cm9sLgo+IERlbW9jcmFjeTogQWxsIHBvbGl0aWNp YW5zIGFyZSB1bmRlciBzdXJ2ZWlsbGFuY2UsIGFsbCB0aGVpciBzdGVwcyBhbmQKPiBhY3Rpb25z IHJlY29yZGVkLCBmb3IgdGhlIGNpdGl6ZW5zIHRvIGVuZm9yY2UgY29udHJvbC4KPiBfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGZmbXBlZy1kZXZlbCBt YWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+IGh0dHBzOi8vZmZtcGVnLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+Cj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0 IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3 aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2 ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2 ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=