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 F09864C24A for <ffmpegdev@gitmailbox.com>; Wed, 7 May 2025 23:18:47 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C3F2C68BE50; Thu, 8 May 2025 02:18:41 +0300 (EEST) Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1725568BDBB for <ffmpeg-devel@ffmpeg.org>; Thu, 8 May 2025 02:18:35 +0300 (EEST) Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-43d2d952eb1so2674355e9.1 for <ffmpeg-devel@ffmpeg.org>; Wed, 07 May 2025 16:18:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1746659914; x=1747264714; darn=ffmpeg.org; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:mail-followup-to :message-id:subject:to:from:date:from:to:cc:subject:date:message-id :reply-to; bh=U5JpyVMcJ5jN8JJOPkKnr4FJM+O9TIVYvEO5JQaaVZY=; b=YUQUNoORS+0iH0KPLgvk+PrRYObiKsyN4f2/MhC+y6NFqKvTDdvN0yXhEXMBKlBHOc TNiPaOHXz430Kc7D+FktjRPqRLwh6HdYc8pOGmfmUNdZ77OXS7qvTyPhwAHcxcrrzq8G b6gq036H7TwPMTfkv+3fy54Tr6i+PJuXX7gUPBwfKbaQ+pHUMSlnwmLiNKgHYnXsrduv nI7RitKbUpbwGId0dNDE+EstmaLpqMmg4zpmxHOnfFzRkV63QWmx1CBzfPOloElJbYLB Ybs/fJLng9fmwEAvq7BRUkVkDy76p25tpLfLEOyLnhMEgkP8Qr4XWFU4s5VUTvk8AYSs 7FKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746659914; x=1747264714; h=user-agent:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:mail-followup-to :message-id:subject:to:from:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=U5JpyVMcJ5jN8JJOPkKnr4FJM+O9TIVYvEO5JQaaVZY=; b=eyac/i+EeGa3hL7wCWo69SmwgF4MfHi2S+pWdzBMqbO8JBU3oXUbiJyYyqm621sNmn laiMfZz4z1ZVfuyMu4GGitrOmgM6Jr6+N3IgzrRspGyjdmg8yAyBLw7tyjzVqn+t5ZO8 /oVY9E53AV4KwQxzbXPVlTvJHCdiquD8nud6Qa1UlTTuBNodg6Hpnze+S0TS8nr72XIr nX4fgtJEDaTDOc82UZSsBUlPrHoZjCFGrdm1GKPaececGuzBQhBtpd3M4wsLmRVMglZd kfp5t5+mQ0Ox9XPAMSCqb2vGCDO0KPTEvI8S/LJGt8XSnYIdEK306h8gAbxxPKk9yP9q kHZg== X-Gm-Message-State: AOJu0YwZki4OcoM5lPyp+/sTlGX1aAs+7EIUxWNgfq15jthLXlkhaXZc f4PCn4++j35WI4twIY115lTK4LhueGUA5yxzW/VMrCB4QTOYfFcHt9yEOw== X-Gm-Gg: ASbGncsT1CRBFUW2806f64RxwtO7XC3c8qs+bone0KaxQHUzUMIuyQnTWqo4TfvjmNt CQGc4esCDPL69p+Ndrxz4k7d0eJMqVhYBUUQHGWxkXYEYUx7IASVtd9gKCn4pI8VHZ/Caj/g0os p413pblt1CwXoviBwEGWl+/XEzmfn42AGs1CKvuB8vVLoinHizeSTxLGPiO3Ymu8KHip3NKjG98 1eIV5EbPdGfn+P+Zwqr80Z/ie8A5B08ZsElX1CiuSg00IBHTjTbHaDs30LyS07hD3i1NtSiYVYP 8JAp7mY9YmhxxZ8DfaBj3fb9FoDDg8/91S3uLJIZ0XH4COz4vybHfwAA9Mn6msnipUdYLbEuJ2W nvvbf X-Google-Smtp-Source: AGHT+IFDshKZW9+LOwyUwy0+a7tXaXn+DQpMvPVFE1DO0Rlj2sQB0PAWB5B+YecCZMwFgBjW+IN8vw== X-Received: by 2002:a05:600c:5491:b0:43d:ac5:11ed with SMTP id 5b1f17b1804b1-441d44dc05amr41959645e9.24.1746659913600; Wed, 07 May 2025 16:18:33 -0700 (PDT) Received: from mariano (dynamic-adsl-84-220-189-10.clienti.tiscali.it. [84.220.189.10]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-442cd33103dsm15848095e9.10.2025.05.07.16.18.31 for <ffmpeg-devel@ffmpeg.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 16:18:32 -0700 (PDT) Received: by mariano (Postfix, from userid 1000) id CA2DCBFCE8; Thu, 8 May 2025 01:18:30 +0200 (CEST) Date: Thu, 8 May 2025 01:18:30 +0200 From: Stefano Sabatini <stefasab@gmail.com> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Message-ID: <aBvqRheP68ryoG4m@mariano> Mail-Followup-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> References: <DM8P223MB036504CFC0521633C2ADCCE3BABB2@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM> <aApw6eiupyMBT5mm@phare.normalesup.org> <aA4B0eruJJhLzfpq@mariano> <aBCOPyA3Bt1aFnbj@phare.normalesup.org> <aBeIj/X76vNIrAKp@mariano> <aBjL6IX8UrX6CWD6@phare.normalesup.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <aBjL6IX8UrX6CWD6@phare.normalesup.org> User-Agent: Mutt/2.1.4 (2021-12-11) Subject: Re: [FFmpeg-devel] [RFC] Shaping the AVTextFormat API Surface 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/aBvqRheP68ryoG4m@mariano/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> T24gZGF0ZSBNb25kYXkgMjAyNS0wNS0wNSAxNjozMjowOCArMDIwMCwgTmljb2xhcyBHZW9yZ2Ug d3JvdGU6Cj4gU3RlZmFubyBTYWJhdGluaSAoSEUxMjAyNS0wNS0wNCk6Cj4gPiBJIGRvbid0IHVu ZGVyc3RhbmQgdGhpcyBjbGFpbS4gVGhlcmUgaXMgYSByb290LCBhbmQgZWFjaCBzZWN0aW9uIGNh bgo+ID4gaGF2ZSBzZXZlcmFsIHN1YnNlY3Rpb25zLCBzbyBpdCBpcyBhIHRyZWUgaW4gbXkgdmll dywgYWx0aG91Z2ggd2Ugc2V0Cj4gPiBhIG1heGltdW0gZGVwdGguIFdoZXJlIGFtIEkgd3Jvbmc/ Cj4gCgo+IEFyZSB3ZSBsb29raW5nIGF0IHRoZSBzYW1lIHRoaW5nPyBJbiBmZnByb2JlJ3Mgb3V0 cHV0LCB3ZSBoYXZlIHNlY3Rpb25zCj4g4oCccGFja2V0c+KAnSwg4oCcc3RyZWFtc+KAnSwg4oCc Zm9ybWF04oCdLCBldGMuLCBhbmQgaW4gZWFjaCBzZWN0aW9uIGl0ZW1zLCBidXQKPiB0aGF0IGRv ZXMgbm90IGdvIGRlZXBlci4KClRoZSAtc2VjdGlvbnMgb3B0aW9uIHdpbGwgc2hvdyB0aGUgZmZw cm9iZSBkYXRhICJzY2hlbWEiLgoKJCBmZnByb2JlIC1zZWN0aW9ucyAtaGlkZV9iYW5uZXIKU2Vj dGlvbnM6ClcuLi4gPSBTZWN0aW9uIGlzIGEgd3JhcHBlciAoY29udGFpbnMgb3RoZXIgc2VjdGlv bnMsIG5vIGxvY2FsIGVudHJpZXMpCi5BLi4gPSBTZWN0aW9uIGNvbnRhaW5zIGFuIGFycmF5IG9m IGVsZW1lbnRzIG9mIHRoZSBzYW1lIHR5cGUKLi5WLiA9IFNlY3Rpb24gbWF5IGNvbnRhaW4gYSB2 YXJpYWJsZSBudW1iZXIgb2YgZmllbGRzIHdpdGggdmFyaWFibGUga2V5cwouLi5UID0gU2VjdGlv biBjb250YWluIGEgdW5pcXVlIHR5cGUKRkxBR1MgTkFNRS9VTklRVUVfTkFNRQotLS0tClcuLi4g IHJvb3QKLkEuLiAgICAgIGNoYXB0ZXJzCi4uLi4gICAgICAgICAgY2hhcHRlcgouLlYuICAgICAg ICAgICAgICB0YWdzL2NoYXB0ZXJfdGFncwouLi4uICAgICAgZm9ybWF0Ci4uVi4gICAgICAgICAg dGFncy9mb3JtYXRfdGFncwouQS4uICAgICAgZnJhbWVzCi4uLi4gICAgICAgICAgZnJhbWUKLi5W LiAgICAgICAgICAgICAgdGFncy9mcmFtZV90YWdzCi5BLi4gICAgICAgICAgICAgIHNpZGVfZGF0 YV9saXN0L2ZyYW1lX3NpZGVfZGF0YV9saXN0Ci4uVlQgICAgICAgICAgICAgICAgICBzaWRlX2Rh dGEvZnJhbWVfc2lkZV9kYXRhCi5BLi4gICAgICAgICAgICAgICAgICAgICAgdGltZWNvZGVzCi4u Li4gICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVjb2RlCi5BLi4gICAgICAgICAgICAgICAg ICAgICAgY29tcG9uZW50cy9mcmFtZV9zaWRlX2RhdGFfY29tcG9uZW50cwouLlZUICAgICAgICAg ICAgICAgICAgICAgICAgICBjb21wb25lbnQvZnJhbWVfc2lkZV9kYXRhX2NvbXBvbmVudAouQS4u ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGllY2VzL2ZyYW1lX3NpZGVfZGF0YV9waWVj ZXMKLi5WVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaWVjZS9mcmFtZV9zaWRl X2RhdGFfcGllY2UKLkEuLiAgICAgICAgICAgICAgbG9ncwouLi4uICAgICAgICAgICAgICAgICAg bG9nCi4uLi4gICAgICAgICAgc3VidGl0bGUKLkEuLiAgICAgIHByb2dyYW1zCi4uLi4gICAgICAg ICAgcHJvZ3JhbQouLlYuICAgICAgICAgICAgICB0YWdzL3Byb2dyYW1fdGFncwouQS4uICAgICAg ICAgICAgICBzdHJlYW1zL3Byb2dyYW1fc3RyZWFtcwouLi4uICAgICAgICAgICAgICAgICAgc3Ry ZWFtL3Byb2dyYW1fc3RyZWFtCi4uLi4gICAgICAgICAgICAgICAgICAgICAgZGlzcG9zaXRpb24v cHJvZ3JhbV9zdHJlYW1fZGlzcG9zaXRpb24KLi5WLiAgICAgICAgICAgICAgICAgICAgICB0YWdz L3Byb2dyYW1fc3RyZWFtX3RhZ3MKLkEuLiAgICAgIHN0cmVhbV9ncm91cHMKLi4uLiAgICAgICAg ICBzdHJlYW1fZ3JvdXAKLi5WLiAgICAgICAgICAgICAgdGFncy9zdHJlYW1fZ3JvdXBfdGFncwou Li4uICAgICAgICAgICAgICBkaXNwb3NpdGlvbi9zdHJlYW1fZ3JvdXBfZGlzcG9zaXRpb24KLkEu LiAgICAgICAgICAgICAgY29tcG9uZW50cy9zdHJlYW1fZ3JvdXBfY29tcG9uZW50cwouLlZUICAg ICAgICAgICAgICAgICAgY29tcG9uZW50L3N0cmVhbV9ncm91cF9jb21wb25lbnQKLkEuLiAgICAg ICAgICAgICAgICAgICAgICBzdWJjb21wb25lbnRzCi4uVlQgICAgICAgICAgICAgICAgICAgICAg ICAgIHN1YmNvbXBvbmVudAouQS4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGllY2Vz L3N0cmVhbV9ncm91cF9waWVjZXMKLi5WVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwaWVjZS9zdHJlYW1fZ3JvdXBfcGllY2UKLkEuLiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3VicGllY2VzCi4uVlQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdWJwaWVjZQouQS4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJsb2NrcwouLlZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBibG9jawouQS4uICAgICAgICAgICAgICBzdHJlYW1zL3N0cmVhbV9n cm91cF9zdHJlYW1zCi4uLi4gICAgICAgICAgICAgICAgICBzdHJlYW0vc3RyZWFtX2dyb3VwX3N0 cmVhbQouLi4uICAgICAgICAgICAgICAgICAgICAgIGRpc3Bvc2l0aW9uL3N0cmVhbV9ncm91cF9z dHJlYW1fZGlzcG9zaXRpb24KLi5WLiAgICAgICAgICAgICAgICAgICAgICB0YWdzL3N0cmVhbV9n cm91cF9zdHJlYW1fdGFncwouQS4uICAgICAgc3RyZWFtcwouLi4uICAgICAgICAgIHN0cmVhbQou Li4uICAgICAgICAgICAgICBkaXNwb3NpdGlvbi9zdHJlYW1fZGlzcG9zaXRpb24KLi5WLiAgICAg ICAgICAgICAgdGFncy9zdHJlYW1fdGFncwouQS4uICAgICAgICAgICAgICBzaWRlX2RhdGFfbGlz dC9zdHJlYW1fc2lkZV9kYXRhX2xpc3QKLi5WVCAgICAgICAgICAgICAgICAgIHNpZGVfZGF0YS9z dHJlYW1fc2lkZV9kYXRhCi5BLi4gICAgICBwYWNrZXRzCi4uLi4gICAgICAgICAgcGFja2V0Ci4u Vi4gICAgICAgICAgICAgIHRhZ3MvcGFja2V0X3RhZ3MKLkEuLiAgICAgICAgICAgICAgc2lkZV9k YXRhX2xpc3QvcGFja2V0X3NpZGVfZGF0YV9saXN0Ci4uVlQgICAgICAgICAgICAgICAgICBzaWRl X2RhdGEvcGFja2V0X3NpZGVfZGF0YQouLi4uICAgICAgZXJyb3IKLi4uLiAgICAgIHByb2dyYW1f dmVyc2lvbgouQS4uICAgICAgbGlicmFyeV92ZXJzaW9ucwouLi4uICAgICAgICAgIGxpYnJhcnlf dmVyc2lvbgouQS4uICAgICAgcGl4ZWxfZm9ybWF0cwouLi4uICAgICAgICAgIHBpeGVsX2Zvcm1h dAouLi4uICAgICAgICAgICAgICBmbGFncy9waXhlbF9mb3JtYXRfZmxhZ3MKLkEuLiAgICAgICAg ICAgICAgY29tcG9uZW50cy9waXhlbF9mb3JtYXRfY29tcG9uZW50cwouLi4uICAgICAgICAgICAg ICAgICAgY29tcG9uZW50CgpTbyB5ZXMsIHRoaXMgc2hvdWxkIGJlIGEgdHJlZSwgYWx0aG91Z2gg d2UgaGFyZGNvZGUgYSBtYXhpbXVtIGRlcHRoCmFuZCB0aGUgbWF4aW11bSBudW1iZXIgb2YgaXRl bXMgcGVyIHNlY3Rpb24gLSBpdCBtaWdodCBiZSBwb3NzaWJsZSB0bwpyZW1vdmUgdGhpcyBsaW1p dGF0aW9uIHdpdGggc29tZSBlZmZvcnQuIEluIHBhcnRpY3VsYXIsIHdlIG1pZ3RoCmJlbmVmaXQg ZnJvbSBlbXBsb3lpbmcgYSBkaWN0aW9uYXJ5IGltcGxlbWVudGF0aW9uLgogCj4gQW5kIGluIHRo ZSBzb3VyY2UgY29kZSBvZiBmZnByb2JlLCBJIHNlZSBleHRyZW1lbHkgYWQtaG9jIGNvZGUuCgpU aGlzIGlzIGV4cGVjdGVkLCBzaW5jZSB0aGlzIGlzIGFwcGxpY2F0aW9uLWxldmVsIGxvZ2ljIC0g YW5kIHdlIG5lZWQKdG8gaW5zdHJ1Y3QgdGhlIGNvZGUgdG8gY29udmVydCB0aGUgaW50ZXJuYWwg ZGF0YSB0byB0aGUKc2VjdGlvbnMtYmFzZWQgcmVwcmVzZW50YXRpb24uIFRoZSByZWNlbnRseSB0 YWdnZWQgQVZUZXh0Rm9ybWF0IEFQSQpzaG91bGQgYmUgcHJldHR5IGdlbmVyaWMuIE5vdGUgdGhh dCBpbiBmYWN0IGluIEFWVGV4dEZvcm1hdCB0aGVyZSBpcwpubyBtZW50aW9uIHRvICJmZnByb2Jl IiBjb25jZXB0cyAocGFja2V0cywgZnJhbWVzLCBldGMuKSBzaW5jZSB0aGF0J3MKcGFydCBvZiB0 aGUgZGF0YSBzY2hlbWEuCgo+ID4gSSBhZ3JlZSB3aXRoIHNvZnR3b3JreiBvbiB0aGlzLiBUaGUg QVZUZXh0Rm9ybWF0IGZ1bmN0aW9uYWxpdHkgaXMgbm90Cj4gPiBhYm91dCBhIHNwZWNpZmljIGZv cm1hdCwgaXQncyBzdXBwb3NlZCB0byBiZSBhIGdlbmVyaWMgd2F5IHRvCj4gPiByZXByZXNlbnQg YSBkYXRhIHRyZWUgdXNpbmcgZGlmZmVyZW50IGZvcm1hdHMuIEJlaW5nIGFibGUgdG8gcHJvdmlk ZQo+ID4gdGhpcyBnZW5lcmljIHJlcHJlc2VudGF0aW9uIGlzIGNydWNpYWwsIHNpbmNlIHdlIHdh bnQgYSBzaW5nbGUgZW50cnkKPiA+IHBvaW50IHRvIHJlcHJlc2VudCBkYXRhIGluIGEgd2F5IHdo aWNoIGNhbiBiZSBwYXJzZWQgaW4gdmFyaW91cyB3YXlzLAo+ID4gZ2l2ZW4gYSBkYXRhIHNjaGVt YS4KPiAKPiBJcyB0aGlzIEFQSSBtZWFudCB0byBiZSBhIGdlbmVyaWMgQVBJIGZvciB3cml0aW5n IHN0cnVjdHVyZWQgZGF0YSwgb3IgaXMKPiBpdCBtZWFudCB0byBiZSB0b3RhbGx5IHNwZWNpZmlj IHRvIGZmcHJvYmUgYW5kIHVzYWJsZSBieSBvbmUgb3RoZXIgdXNlCj4gY2FzZSB0aGF0IHdhcyBk ZXNpZ25lZCB0byBiZWhhdmUgZXhhY3RseSBsaWtlIGZmcHJvYmUuCj4gCj4gQW4gQVBJIHRoYXQg aXMgbm90IGdlbmVyaWMgc2hvdWxkIG5vdCBnbyBpbnRvIGxpYmF2dXRpbC4KPiAKPiBBbiBBUEkg dGhhdCBjYW5ub3Qgc2VydmUgYWxsLCBvciBhdCBsZWFzdCBtb3N0IG9mLCBvdXIgY3VycmVudGx5 Cj4gZXhpc3RpbmcgdXNlIGNhc2VzIGNhbm5vdCBiZSBjYWxsZWQgZ2VuZXJpYy4KCk9uZSBvZiB0 aGUgdXNlIGNhc2VzIEkgaGF2ZSBpbiBtaW5kIGlzIHRvIHN1cHBvcnQgc3RydWN0dXJlZCBkYXRh CmNvbWluZyBmcm9tIGZpbHRlcnMgLSB0aGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgYXBwcm9h Y2hlcyBjdXJyZW50bHkKZW1wbG95ZWQsIGFsbCBvZiB0aGVtIHNvbWVob3cgdW5kZXJraWxsLiBG b3IgZXhhbXBsZSwgc29tZSBmaWx0ZXJzCnByaW50IHRvIHRoZSBsb2cgdXNpbmcgYSBjdXN0b20g Zm9ybWF0LCBtYWtpbmcgdGhpcyB1bnN1aXRhYmxlIGZvcgpwYXJzaW5nOyBvdGhlcnMgcHJpbnQg dG8gYSBmaWxlLCBlbXBsb3lpbmcgYSBjdXN0b20gZm9ybWF0LgoKSWRlYWxseSBJJ2QgbGlrZSB0 byBoYXZlIHN1Y2ggZmlsdGVycyBlbXBsb3kgdGhlIEFWVGV4dEZvcm1hdCBBUEkgKG9yCndoYXRl dmVyIHdlIHdhbnQgdG8gY2FsbCBpdCkgc28gdGhhdCB3ZSBjYW4gZ2VuZXJhdGUgb3V0cHV0cyBp biBvbmUgb2YKdGhlIHN1cHBvcnRlZCBmb3JtYXQgd2l0aCB0aGUgbWluaW11bSBlZmZvcnQuIE1v c3Qgb2YgdGhlIGRhdGEgY29taW5nCm91dCBmcm9tIHRoZSBmaWx0ZXJzIHNob3VsZCBiZSBtb3N0 bHkgc2hhbGxvdyAtIHR3byBvciB0aHJlZSBsZXZlbHMgLQpzbyB5b3UgZGVmaW5lIHRoZSBzY2hl bWEsIHNlbGVjdCBhbiBvdXRwdXQsIGFuZCBmaW5hbGx5IHdyaXRlIHRoZQpsb2dpYyB0byBjb252 ZXJ0IHRoZSBpbnRlcm5hbCBkYXRhIHRvIHRoZSBzdHJ1Y3R1cmVkIG91dHB1dC4KClNvIHRoaXMg c2hvdWxkIGJlIGdlbmVyaWMgZW5vdWdoIHRvIHN1cHBvcnQgdGhpcyBjYXNlIC0gd2UgbmVlZCB0 bwpkZWZpbmUgYSBkYXRhIHNjaGVtYSwgYW4gb3V0cHV0IGZvcm1hdCwgYW5kIHRoZSBjdXN0b20g Y29udmVyc2lvbgpsb2dpYy4gVGhpcyBtb2RlbCBzaG91bGQgYmUgZ2VuZXJpYyBlbm91Z2ggLSBp biBmYWN0IGl0IGlzIHBvc3NpYmx5CmV2ZW4gbW9yZSBwb3dlcmZ1bCB0aGFuIG5lZWRlZCAtIG1v c3RseSB0byBzdXBwb3J0IFhNTCAtIHNpbmNlIGZvcgp0aGF0IHB1cnBvc2Ugd2UgY291bGQgYmUg ZG9uZSB3aXRoIGEgc2ltcGxlIGRpY3Rpb25hcnkvSlNPTgpyZXByZXNlbnRhdGlvbi4KCj4gPiBJ ZiB3ZSB3YW50IHRvIGFkZCBzdXBwb3J0IGZvciBhIHNwZWNpZmljIGZvcm1hdCBlbmNvZGVyIChl LmcuIFhNTCwKPiA+IEpTT04pLCBpdCBtaWdodCBiZSAqdXNlZCogYnkgdGhlIEFWVGV4dEZvcm1h dCBBUEksIG5vdCBiZQo+ID4gKmltcGxlbWVudGVkKiBieSB0aGUgQVZUZXh0Rm9ybWF0Lgo+IAo+ IFdoaWNoIGlzIGV4YWN0bHkgd2hhdCBJIHRvbGQgc29mdHdvcmt6IHNob3VsZCBzdGFydCB3aXRo LgoKV2hhdCBJIG1lYW4gaXMgdGhhdCB3ZSBtaWdodCBpbXBsZW1lbnQgZS5nLiBhbiBYTUwgZW5j b2RlciAoc3VjaCBhcwphdl94bWxfYWRkX2VsZW1lbnQoKSwgYXZfanNvbl9hZGRfYXR0cmlidXRl KCksIGV0Yy4pIGFuZCB0aGlzIG1pZ2h0IGJlCnVzZWQgaW4gdGhlIGNvZGViYXNlIHdoZXJldmVy IHRoZSBYTUwgZm9ybWF0IGlzIHVzZWQgLSBpbmNsdWRpbmcgdGhlCkFWVGV4dEZvcm1hdCBBUEks IGJ1dCB0aGlzIGlzIG5vdCB0aGUgc2NvcGUgb2Ygc3VjaCBBUEkgLSBpdCBpcyBtb3N0bHkKYWJv dXQgcHJvdmlkaW5nIG1lYW5zIHRvIGdlbmVyYXRlIGEgbXVsdGktZm9ybWF0IHJlcHJlc2VudGF0 aW9uIG9mIGEKZGF0YSB0cmVlLiBQcm9iYWJseSB0aGUgbmFtZSBzaG91bGQgcmVmbGVjdCB0aGlz IC0KQVZTdHJ1Y3R1cmVkRm9ybWF0L0FWVHJlZUZvcm1hdCBBUEkuCgpPbiB0aGUgb3RoZXIgaGFu ZCBJJ20gbm90IGNvbnZpbmNlZCB3ZSBtaWdodCByZWFsbHkgYmVuZWZpdCBmcm9tIGFuClhNTCBl bmNvZGVyLCBnaXZlbiB0aGF0IGN1c3RvbSBjb2RlIGlzIHRyaXZpYWwgd2hpbGUgYSBnZW5lcmlj IEFQSSBpcwptb3JlIGRpZmZpY3VsdC4KCj4gTWFraW5nIHRoaXMgQVBJIGdlbmVyaWMgaXMgbm90 IGFuIGVhc3kgdGFzaywgYnV0IGl0IGlzIGRvYWJsZS4gV2Ugc2hvdWxkCj4gbm90IHNldHRsZSBm b3IgYW4gaW5mZXJpb3IgQVBJIGp1c3QgYmVjYXVzZSB0aGUgcGVyc29uIHdobyBwcm9wb3NlZCBp dAo+IHdyb3RlIHRoZSBjb2RlIGJlZm9yZSBkZXNpZ25pbmcgaXQgcHJvcGVybHkgYW5kIG5vdyBp cyBpbiBhIGh1cnJ5IHRvIGdldAo+IGl0IGFwcGxpZWQuCgpUaGUgcGxhbiBpcyB0byB1c2UgZmZ0 b29scyBhcyB0aGUgc3RhZ2luZyBhcmVhLCBzaW5jZSB3ZSBkb24ndCBpbXBhY3QKZXh0ZXJuYWwv aW50ZXJuYWwgaW50ZXJmYWNlcywgYW5kIHBvc3NpYmx5IGxldCBpdCBtYXR1cmUgdG8gY292ZXIg bW9yZQp1c2UgY2FzZXMgd2l0aG91dCBpbXBhY3RpbmcgdXNlcnMgYmVmb3JlIG1ha2luZyBpdCBw dWJsaWMuIEFsc28gd2UgY2FuCm1vdmUgaXQgdG8gbGliYXZ1dGlsIGFuZCBtYXJrIGlzIGFzIHBy aXZhdGUgYmVmb3JlIG1ha2luZyBpdApwdWJsaWMuIEJ1dCB3ZSBuZWVkIHRvIHN0YXJ0IHNvbWV3 aGVyZS4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZt cGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2Zm bXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2 aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3Jn IHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=