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 C506848010 for ; Fri, 8 Dec 2023 17:17:59 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 037F168D03A; Fri, 8 Dec 2023 19:17:57 +0200 (EET) Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AB63068CBC3 for ; Fri, 8 Dec 2023 19:17:50 +0200 (EET) Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-54c5d041c23so3182019a12.2 for ; Fri, 08 Dec 2023 09:17:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702055870; x=1702660670; darn=ffmpeg.org; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=dIYNFFMT4TGO+EGG7C4LdBUl+dG7gJ4XFh2S0xHllTQ=; b=CViL7xoxOICJI+Vh2B5heUVIEs8utebYqU8hkHJfBs3LGpItifLws4cY/LKwXb4Fpp hEBsNalZxddg7JViYKdRZ7XI5MKa/jjYksy7pXmfsMrz0mjOVqBMzKsqgPGdlXs2dmnh ksaAENRm3joiS14caVtdET59Ri6A+Lv5uRKuWHUGJnRr+lkp86D3f34lQczXVC9WikxK 6WDJAAGr3rTLkOSuSFXCG8+EKyiSQ5M/vdPnunMegM0ExnWGI+qZR71IntBxMUacCC+r u4XSo8EaV+nBDlAqZI+biXFcuZQo470SQtYVXkgDKkDDBkWlQ6ZfurJOdt3V+2JwFpF1 yY+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702055870; x=1702660670; h=content-transfer-encoding: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=dIYNFFMT4TGO+EGG7C4LdBUl+dG7gJ4XFh2S0xHllTQ=; b=ZoOeiqnyMk//8tX6Jpqnmkx7CU1N3p1eT5wmlnapWUnKSukUzcKFC8NvhA1H/8jEVI 1dWb4+Vhg7kUlM7MLFks1Dl2KW4D2/PUbaPm8Uypw6WEKv0rlEXC+VLxcNiMuYQYtXFi ODLzKBqXwFQ3ZmZT5weclhDpeqUMmvtyy1MhMTFm/+b2FxnLR/gCUie3coveOHIjLyoE u5J1idF8/8eCYKMXk66K68nhem86ICJ0/eR1PivMKQg+KfFS9reYq3YCfYaUXKvi83gw 0sAD4tGYdPZ3KyV4GqKv5ubHnS5TZPpe65abHz9Hjx5xAOAyIQgdxAfUJ+/dRF9sFfRL 7ELg== X-Gm-Message-State: AOJu0YyR7Vl3aBYy0RGupslPogf1jIzhMtpRqHHnZhzE1OVqOg4SisZb 7BeAZJA8A2+XxKNAxDhINGl66UqK0Ur/5etp8nIjJvuD X-Google-Smtp-Source: AGHT+IEhV4kmj7JFFyG52Nic0kg7o2Yix0NdFn6If8Zs1hq8dhZO3mdMwVDY7ZeIyt4ka23d8Io9KE0UDeI69FqKNg0= X-Received: by 2002:a05:6402:907:b0:54f:5136:daa4 with SMTP id g7-20020a056402090700b0054f5136daa4mr126949edz.22.1702055869792; Fri, 08 Dec 2023 09:17:49 -0800 (PST) MIME-Version: 1.0 References: <20230915131704.45235-1-jeebjp@gmail.com> <20230915131704.45235-4-jeebjp@gmail.com> In-Reply-To: From: =?UTF-8?B?SmFuIEVrc3Ryw7Zt?= Date: Fri, 8 Dec 2023 19:17:36 +0200 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH v2 3/3] avformat/movenc: add support for fragmented TTML muxing 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: T24gRnJpLCBEZWMgOCwgMjAyMyBhdCA3OjA54oCvUE0gSmFuIEVrc3Ryw7ZtIDxqZWVianBAZ21h aWwuY29tPiB3cm90ZToKPgo+IE9uIEZyaSwgRGVjIDgsIDIwMjMgYXQgNzowNeKAr1BNIEphbiBF a3N0csO2bSA8amVlYmpwQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPgo+ID4gT24gRnJpLCBEZWMgOCwg MjAyMyBhdCA1OjM34oCvUE0gRGVubmlzIE11bmdhaSA8ZG1uZ2FpZUBnbWFpbC5jb20+IHdyb3Rl Ogo+ID4gPgo+ID4gPiBPbiBGcmksIDggRGVjIDIwMjMgYXQgMTU6MTQsIEFuZHJlYXMgUmhlaW5o YXJkdCA8Cj4gPiA+IGFuZHJlYXMucmhlaW5oYXJkdEBvdXRsb29rLmNvbT4gd3JvdGU6Cj4gPiA+ Cj4gPiA+ID4gSmFuIEVrc3Ryw7ZtOgo+ID4gPiA+ID4gRnJvbTogSmFuIEVrc3Ryw7ZtIDxqYW4u ZWtzdHJvbUAyNGkuY29tPgo+ID4gPiA+ID4KPiA+ID4gPiA+IEF0dGVtcHRzIHRvIGJhc2UgdGhl IGZyYWdtZW50YXRpb24gdGltaW5nIG9uIG90aGVyIHN0cmVhbXMKPiA+ID4gPiA+IGFzIG1vc3Qg cmVjZWl2ZXJzIGV4cGVjdCBtZWRpYSBmcmFnbWVudHMgdG8gYmUgbW9yZSBvciBsZXNzCj4gPiA+ ID4gPiBhbGlnbmVkLgo+ID4gPiA+ID4KPiA+ID4gPiA+IEN1cnJlbnRseSBkb2VzIG5vdCBzdXBw b3J0IGZyYWdtZW50YXRpb24gb24gc3VidGl0bGUgdHJhY2sKPiA+ID4gPiA+IG9ubHksIGFzIHRo ZSBzdWJ0aXRsZSBwYWNrZXQgcXVldWUgdGltaW5ncyB3b3VsZCBoYXZlIHRvIGJlCj4gPiA+ID4g PiBjaGVja2VkIGluIGFkZGl0aW9uIHRvIHRoZSBjdXJyZW50IGZyYWdtZW50YXRpb24gdGltaW5n IGxvZ2ljLgo+ID4gPiA+ID4KPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IEphbiBFa3N0csO2bSA8 amFuLmVrc3Ryb21AMjRpLmNvbT4KPiA+ID4gPiA+IC0tLQo+ID4gPiA+ID4gIGxpYmF2Zm9ybWF0 L21vdmVuYy5jICAgICAgICAgICAgICAgICAgICAgICAgfCAgICA5IC0KPiA+ID4gPiA+ICBsaWJh dmZvcm1hdC9tb3ZlbmNfdHRtbC5jICAgICAgICAgICAgICAgICAgIHwgIDE1NyArKy0KPiA+ID4g PiA+ICB0ZXN0cy9mYXRlL21vdi5tYWsgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyMSAr Cj4gPiA+ID4gPiAgdGVzdHMvcmVmL2ZhdGUvbW92LW1wNC1mcmFnbWVudGVkLXR0bWwtZGZ4cCB8 IDExOTcgKysrKysrKysrKysrKysrKysrKwo+ID4gPiA+ID4gIHRlc3RzL3JlZi9mYXRlL21vdi1t cDQtZnJhZ21lbnRlZC10dG1sLXN0cHAgfCAxMTk3ICsrKysrKysrKysrKysrKysrKysKPiA+ID4g Pgo+ID4gPiA+IEFtIEkgdGhlIG9ubHkgb25lIHdobyB0aGlua3MgdGhhdCB0aGlzIGlzIGEgYml0 IGV4Y2Vzc2l2ZT8KPiA+ID4gPgo+ID4gPiA+ID4gIDUgZmlsZXMgY2hhbmdlZCwgMjU2OCBpbnNl cnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKPiA+ID4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQg dGVzdHMvcmVmL2ZhdGUvbW92LW1wNC1mcmFnbWVudGVkLXR0bWwtZGZ4cAo+ID4gPiA+ID4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9yZWYvZmF0ZS9tb3YtbXA0LWZyYWdtZW50ZWQtdHRtbC1z dHBwCj4gPiA+ID4gPgo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ZhdGUvbW92Lm1hayBi L3Rlc3RzL2ZhdGUvbW92Lm1hawo+ID4gPiA+ID4gaW5kZXggNmNiNDkzY2VhYi4uNWM0NDI5OTE5 NiAxMDA2NDQKPiA+ID4gPiA+IC0tLSBhL3Rlc3RzL2ZhdGUvbW92Lm1hawo+ID4gPiA+ID4gKysr IGIvdGVzdHMvZmF0ZS9tb3YubWFrCj4gPiA+ID4gPiBAQCAtMTQzLDYgKzE0MywyNyBAQCBGQVRF X01PVl9GRk1QRUdfRkZQUk9CRS0kKGNhbGwgVFJBTlNDT0RFLCBUVE1MCj4gPiA+ID4gU1VCUklQ LCBNUDQgTU9WLCBTUlRfREVNVVhFUiBUVE1MCj4gPiA+ID4gPiAgZmF0ZS1tb3YtbXA0LXR0bWwt c3RwcDogQ01EID0gdHJhbnNjb2RlIHNydAo+ID4gPiA+ICQoVEFSR0VUX1NBTVBMRVMpL3N1Yi9T dWJSaXBfY2FwYWJpbGl0eV90ZXN0ZXIuc3J0IG1wNCAiLW1hcCAwOnMgLWM6cyB0dG1sCj4gPiA+ ID4gLXRpbWVfYmFzZTpzIDE6MTAwMCIgIi1tYXAgMCAtYyBjb3B5IiAiLW9mIGpzb24gLXNob3df ZW50cmllcwo+ID4gPiA+IHBhY2tldDpzdHJlYW09aW5kZXgsY29kZWNfdHlwZSxjb2RlY190YWdf c3RyaW5nLGNvZGVjX3RhZyxjb2RlY19uYW1lLHRpbWVfYmFzZSxzdGFydF90aW1lLGR1cmF0aW9u X3RzLGR1cmF0aW9uLG5iX2ZyYW1lcyxuYl9yZWFkX3BhY2tldHM6c3RyZWFtX3RhZ3MiCj4gPiA+ ID4gPiAgZmF0ZS1tb3YtbXA0LXR0bWwtZGZ4cDogQ01EID0gdHJhbnNjb2RlIHNydAo+ID4gPiA+ ICQoVEFSR0VUX1NBTVBMRVMpL3N1Yi9TdWJSaXBfY2FwYWJpbGl0eV90ZXN0ZXIuc3J0IG1wNCAi LW1hcCAwOnMgLWM6cyB0dG1sCj4gPiA+ID4gLXRpbWVfYmFzZTpzIDE6MTAwMCAtdGFnOnMgZGZ4 cCAtc3RyaWN0IHVub2ZmaWNpYWwiICItbWFwIDAgLWMgY29weSIgIi1vZgo+ID4gPiA+IGpzb24g LXNob3dfZW50cmllcwo+ID4gPiA+IHBhY2tldDpzdHJlYW09aW5kZXgsY29kZWNfdHlwZSxjb2Rl Y190YWdfc3RyaW5nLGNvZGVjX3RhZyxjb2RlY19uYW1lLHRpbWVfYmFzZSxzdGFydF90aW1lLGR1 cmF0aW9uX3RzLGR1cmF0aW9uLG5iX2ZyYW1lcyxuYl9yZWFkX3BhY2tldHM6c3RyZWFtX3RhZ3Mi Cj4gPiA+ID4gPgo+ID4gPiA+ID4gK0ZBVEVfTU9WX0ZGTVBFR19GRlBST0JFLSQoY2FsbCBUUkFO U0NPREUsIFRUTUwgU1VCUklQLCBNUDQgTU9WLAo+ID4gPiA+IExBVkZJX0lOREVWIFNNUFRFSERC QVJTX0ZJTFRFUiBTUlRfREVNVVhFUiBNUEVHMlZJREVPX0VOQ09ERVIgVFRNTF9NVVhFUgo+ID4g PiA+IFJBV1ZJREVPX01VWEVSKSArPSBmYXRlLW1vdi1tcDQtZnJhZ21lbnRlZC10dG1sLXN0cHAK PiA+ID4gPiA+ICtmYXRlLW1vdi1tcDQtZnJhZ21lbnRlZC10dG1sLXN0cHA6IENNRCA9IHRyYW5z Y29kZSBzcnQKPiA+ID4gPiAkKFRBUkdFVF9TQU1QTEVTKS9zdWIvU3ViUmlwX2NhcGFiaWxpdHlf dGVzdGVyLnNydCBtcDQgXAo+ID4gPiA+ID4gKyAgIi1tYXAgMTp2IC1tYXAgMDpzIFwKPiA+ID4g PiA+ICsgICAtYzp2IG1wZWcydmlkZW8gLWI6diAyTSAtZyA0OCAtc2NfdGhyZXNob2xkIDEwMDAw MDAwMDAgXAo+ID4gPiA+ID4gKyAgIC1jOnMgdHRtbCAtdGltZV9iYXNlOnMgMToxMDAwIFwKPiA+ ID4gPiA+ICsgICAtbW92ZmxhZ3MgK2NtYWYiIFwKPiA+ID4gPiA+ICsgICItbWFwIDA6cyAtYyBj b3B5IiBcCj4gPiA+ID4gPiArICAiLXNlbGVjdF9zdHJlYW1zIHMgLW9mIGNzdiAtc2hvd19wYWNr ZXRzIC1zaG93X2RhdGFfaGFzaCBjcmMzMiIgXAo+ID4gPiA+ID4gKyAgIi1mIGxhdmZpIC1pCj4g PiA+ID4gc21wdGVoZGJhcnM9ZHVyYXRpb249NzA6c2l6ZT0zMjB4MTgwOnJhdGU9MjQwMDAvMTAw MSxmb3JtYXQ9eXV2NDIwcCIgXAo+ID4gPiA+ID4gKyAgIiIgIiIgInJhd3ZpZGVvIgo+ID4gPiA+ Cj4gPiA+ID4gV291bGQgaXQgc3BlZWQgdGhlIHRlc3QgdXAgaWYgeW91IHVzZWQgc21hbGxlciBk aW1lbnNpb25zIG9yIGEgc21hbGxlcgo+ID4gPiA+IGJpdHJhdGU/Cj4gPiA+ID4gQW55d2F5LCB5 b3UgcHJvYmFibHkgd2FudCB0aGUgImRhdGEiIG91dHB1dCBmb3JtYXQgaW5zdGVhZCBvZiByYXd2 aWRlby4KPiA+ID4gPgo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gK0ZBVEVfTU9WX0ZGTVBFR19GRlBS T0JFLSQoY2FsbCBUUkFOU0NPREUsIFRUTUwgU1VCUklQLCBJU01WIE1PViwKPiA+ID4gPiBMQVZG SV9JTkRFViBTTVBURUhEQkFSU19GSUxURVIgU1JUX0RFTVVYRVIgTVBFRzJWSURFT19FTkNPREVS IFRUTUxfTVVYRVIKPiA+ID4gPiBSQVdWSURFT19NVVhFUikgKz0gZmF0ZS1tb3YtbXA0LWZyYWdt ZW50ZWQtdHRtbC1kZnhwCj4gPiA+ID4gPiArZmF0ZS1tb3YtbXA0LWZyYWdtZW50ZWQtdHRtbC1k ZnhwOiBDTUQgPSB0cmFuc2NvZGUgc3J0Cj4gPiA+ID4gJChUQVJHRVRfU0FNUExFUykvc3ViL1N1 YlJpcF9jYXBhYmlsaXR5X3Rlc3Rlci5zcnQgaXNtdiBcCj4gPiA+ID4gPiArICAiLW1hcCAxOnYg LW1hcCAwOnMgXAo+ID4gPiA+ID4gKyAgIC1jOnYgbXBlZzJ2aWRlbyAtYjp2IDJNIC1nIDQ4IC1z Y190aHJlc2hvbGQgMTAwMDAwMDAwMCBcCj4gPiA+ID4gPiArICAgLWM6cyB0dG1sIC10YWc6cyBk ZnhwIC10aW1lX2Jhc2U6cyAxOjEwMDAiIFwKPiA+ID4gPiA+ICsgICItbWFwIDA6cyAtYyBjb3B5 IiBcCj4gPiA+ID4gPiArICAiLXNlbGVjdF9zdHJlYW1zIHMgLW9mIGNzdiAtc2hvd19wYWNrZXRz IC1zaG93X2RhdGFfaGFzaCBjcmMzMiIgXAo+ID4gPiA+ID4gKyAgIi1mIGxhdmZpIC1pCj4gPiA+ ID4gc21wdGVoZGJhcnM9ZHVyYXRpb249NzA6c2l6ZT0zMjB4MTgwOnJhdGU9MjQwMDAvMTAwMSxm b3JtYXQ9eXV2NDIwcCIgXAo+ID4gPiA+ID4gKyAgIiIgIiIgInJhd3ZpZGVvIgo+ID4gPiA+ID4g Kwo+ID4gPiA+ID4gICMgRklYTUU6IFVuY29tbWVudCB0aGVzZSB0d28gdGVzdHMgb25jZSB0aGUg dGVzdCBmaWxlcyBhcmUgdXBsb2FkZWQgdG8KPiA+ID4gPiB0aGUgZmF0ZQo+ID4gPiA+ID4gICMg c2VydmVyLgo+ID4gPiA+ID4gICMgYXZpZiBkZW11eGluZyAtIHN0aWxsIGltYWdlIHdpdGggMSBp dGVtLgo+ID4gPiA+Cj4gPiA+Cj4gPiA+IEhlbGxvIEphbiwKPiA+ID4KPiA+ID4gVGFraW5nIHRo aXMgbm90ZSBpbnRvIGFjY291bnQsIGFuZCBJIHF1b3RlOgo+ID4gPgo+ID4gPiAgIiBDdXJyZW50 bHkgZG9lcyBub3Qgc3VwcG9ydCBmcmFnbWVudGF0aW9uIG9uIHN1YnRpdGxlIHRyYWNrIG9ubHks IGFzIHRoZQo+ID4gPiBzdWJ0aXRsZSBwYWNrZXQgcXVldWUgdGltaW5ncyB3b3VsZCBoYXZlIHRv IGJlIGNoZWNrZWQgaW4gYWRkaXRpb24gdG8gdGhlCj4gPiA+IGN1cnJlbnQgZnJhZ21lbnRhdGlv biB0aW1pbmcgbG9naWMuIgo+ID4gPgo+ID4gPiBXb3VsZG4ndCBpdCBiZSBpZGVhbCB0byBoYXZl IHRoaXMgbWVyZ2VkIHVudGlsIGFmdGVyIHN1cHBvcnQgZm9yCj4gPiA+IGZyYWdtZW50YXRpb24g aW4gc3VidGl0bGUtb25seSB0cmFja3MgaXMgY29tcGxldGUsIGF0IHRoZSB2ZXJ5IGxlYXN0PyBU aGF0Cj4gPiA+IHdheSwgdGhlIGZhdGUgdGVzdHMgZm9yIHN1Y2ggYSB3b3JrZmxvdyAoY2FzZSBp biBwb2ludCBDTUFGKSB3b3VsZAo+ID4gPiB0aGVyZWZvcmUgYmUgZmVhdHVyZSBjb21wbGV0ZT8K PiA+ID4gVGhlIHR5cGljYWwgd29ya2xvYWRzIHRoYXQgZGVwZW5kIG9uIHN1Y2ggZnVuY3Rpb25h bGl0eSwgc3VjaCBhcyBpbmdlc3RpbmcKPiA+ID4gQ01GVCByZXF1aXJlIGEgc3VidGl0bGUtb25s eSBzdHJlYW0gYmUgcHJlc2VudCBpbiBzdWNoIGEgcmVwcmVzZW50YXRpb24uCj4gPiA+Cj4gPiA+ IFNlZToKPiA+ID4gMS4KPiA+ID4gaHR0cHM6Ly93d3cudW5pZmllZC1zdHJlYW1pbmcuY29tL2Js b2cvY21hZi1jb25mb3JtYW5jZS1pcy10aGlzLXJlYWxseS1jbWFmCj4gPiA+IDIuIGh0dHBzOi8v d3d3LnVuaWZpZWQtc3RyZWFtaW5nLmNvbS9ibG9nL2xpdmUtbWVkaWEtaW5nZXN0LWNtYWYKPiA+ Cj4gPiBJdCB3b3VsZCBiZSBpZGVhbCwgYnV0IHRoZXJlIGFyZSBhIGZldyBwb2ludHMgdG8ga2Vl cCBpbiBtaW5kOgo+ID4KPiA+IDEuIEZvciBzdWNoIHN0cmVhbWluZywgeW91IGFyZSBnZW5lcmFs bHkgcmVxdWlyZWQgdG8gYmUgc3luY2hyb25pemVkCj4gPiBpbiB5b3VyIGZyYWdtZW50YXRpb24g YWdhaW5zdCBvdGhlciBtZWRpYSAoZWl0aGVyIHZpZGVvIG9yIGF1ZGlvKS4gSWYKPiA+IHN1YnRp dGxlIG9ubHkgZnJhZ21lbnRhdGlvbiBpcyBpbXBsZW1lbnRlZCBhbmQgeW91IGhhdmUgYSBUVE1M LW9ubHkKPiA+IG11eCwgdGhlbiB5b3UgbWF5IHNldCBzb21ldGhpbmcgbGlrZSB0aW1lLWJhc2Vk IGZyYWdtZW50YXRpb24gKHRpbWUgb2YKPiA+IHlvdXIgZXhwZWN0ZWQgR09QIGR1cmF0aW9uIG9y IHNvKSwgYnV0IG5vdGhpbmcgd291bGQgbWFrZSBzdXJlIHlvdSBhcmUKPiA+IGZyYWdtZW50aW5n IGFjY29yZGluZyB0byB0aG9zZSBvdGhlciB0cmFja3MuCj4gPiAyLiBTdWJ0aXRsZS1vbmx5IGZy YWdtZW50YXRpb24gaXMgcG9zc2libGUgdmlhIHRoZSBBUEkgY2xpZW50IGFscmVhZHkKPiA+IHdp dGggdGhpcyBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggZm9yIGEgb25lLW11eCA9IG9uZSB0cmFjayBv dXRwdXQgaXMKPiA+IHRoZSBvbmx5IHdheSB0byBtYWtlIHN1cmUgeW91IGFyZSBpbiBzeW5jIHdp dGggdGhvc2Ugb3RoZXIgdHJhY2tzIGFzCj4gPiB0aGUgbXV4ZXIgaGFzIG5vIGlkZWEgb2Ygd2hl cmUgdGhleSBhcmUgZ29pbmcgKGFzIHRoZXkgd291bGQgYmUgaW4KPiA+IG90aGVyIEFWRm9ybWF0 Q29udGV4dHMpLgo+ID4gMy4gSSBoYXZlIHRlc3RlZCB0aGlzIGNvZGUgYWdhaW5zdCB0aGlzIHZl bmRvciwgd2l0aCB0aGUgc3VidGl0bGVzCj4gPiB0b2dldGhlciBpbiBhIHNpbmdsZSBtdXggd2l0 aCBhIHRyYWNrIHRoYXQgaXMgbm90IHNwYXJzZSBpbiBvcmRlciB0bwo+ID4ga2VlcCB0aGUgZnJh Z21lbnRhdGlvbiBpbiBzeW5jLgo+ID4KPiA+IEluIG90aGVyIHdvcmRzLCBnaXZlbiBob3cgQ01B RiBpcyBkZWZpbmVkIEkgd291bGQgc2F5IHlvdSBhcmUgc3VwcG9zZWQKPiA+IHRvIGJlIGNvbnRy b2xsaW5nIGFsbCBtdXhlcyBmcm9tIGEgY2VudHJhbCBwb2ludCBhcyBzeW5jaHJvbml6YXRpb24g aXMKPiA+IHJlcXVpcmVkLiBUaGF0IGlzIGFscmVhZHkgcG9zc2libGUgd2l0aCB0aGVzZSBjaGFu Z2VzLiBJIGNhbgo+ID4gZGVmaW5pdGVseSBpbXBsZW1lbnQgdGltZS1iYXNlZCBmcmFnbWVudGF0 aW9uIGZvciBUVE1MIG9ubHkgbXV4ZXMsIGJ1dAo+ID4gSSB0aGluayB0aGVyZSBhcmUgc29tZSBy ZWFzb25zIHRvIGNvbnNpZGVyIHRoYXQgbm90IHRoYXQgaGlnaAo+ID4gcHJpb3JpdHkuCj4KPiBP ciBJIGd1ZXNzIGFub3RoZXIgd2F5IHdvdWxkIGJlIHRvIG1ha2Ugc3VyZSB0aGUgImZyYWdtZW50 IG9uIGVhY2gKPiBwYWNrZXQiIG9wdGlvbidzIGxvZ2ljIHdvcmtzIHdpdGggYSBUVE1MLW9ubHkg bXV4LCBhbmQgaW5zdGVhZCBvZgo+IGZlZWRpbmcgdGhlIHBhY2tldCB0byB0aGUgc3VidGl0bGUg cXVldWUsIHlvdSBqdXN0IGZyYWdtZW50ICYgb3V0cHV0Cj4gd2l0aCBlYWNoIGZlZCBUVE1MIHBh Y2tldC4KCkFyZ2gsIEkga2VlcCByZW1lbWJlcmluZyB0aGluZ3MgYXMgSSByZXNwb25kLiBTb3Jy eSBmb3IgdGhpcy4KCkFsbCB0aGlzIHN0dWZmIGlzIHNwZWNpZmljYWxseSBmb3IgKnBhcmFncmFw aCogYmFzZWQgVFRNTCBwYWNrZXRzLiBJZgp5b3UgZmVlZCB0aGUgTVA0IHdyaXRlciBhbHJlYWR5 IGZ1bGwgVFRNTCBkb2N1bWVudCBwYWNrZXRzIChzdWNoIGFzCndpdGggY29kZWMgY29weSksIGZy YWdtZW50YXRpb24gc2hvdWxkIHdvcmsgbGlrZSB3aXRoIGFueSBvdGhlciB0cmFjawpldmVuIHJp Z2h0IG5vdy4KClRoaXMgaXMgYmVjYXVzZSBhY3R1YWwgVFRNTCBkb2N1bWVudCBwYWNrZXRzIGRv IG5vdCB1dGlsaXplIHRoZQpzdWJ0aXRsZSBxdWV1ZSBhcyB0aGV5IGFyZSBhbHJlYWR5IGNvbXBs ZXRlIGFuZCB0aW1lZC4KCkphbgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcu b3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8g dW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1 ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCg==