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 C9E5E4DCA0 for ; Wed, 4 Jun 2025 12:54:24 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id D216C68CD02; Wed, 4 Jun 2025 15:54:20 +0300 (EEST) Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 30F2C68CC3C for ; Wed, 4 Jun 2025 15:54:14 +0300 (EEST) Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-b1ff9b276c2so3965813a12.1 for ; Wed, 04 Jun 2025 05:54:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749041652; x=1749646452; 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=BcPUtwBqPSFj7zxlPyfMAQ5OYJNp6dL6ZjPOm2gLi+w=; b=nLW50o/bUPJdrOA/F+cgqZ1ssjR0h+lbkSHjU1+Fjv3WtWu9FaADCd3aXqn5PB9JMx v7+Ljwz/As03AxTtLORPTQM6eqeiUn/AwxEPu/9DFp2Cdy90Lx5sSqkiP9o4aFTK9TgW lNkbY/CdtdXARnS3ey1F6Ke8zskZkUxh4vWQgVl0jYSpz5mVupSAlJVVa4nRaS2RAOyf 0QWte0HZiLivkd22pm7490vQLTLlILPtIX9EiCsYlaMajH+fXXpxPu6DOKApicBkOA4R kjnINy6/yD4j0tTfTv5ETveea+4MAqYnUb4lz+etcU5fGcsy3mjO/fQ42KQAvHaTh5HC 56hA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749041652; x=1749646452; 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=BcPUtwBqPSFj7zxlPyfMAQ5OYJNp6dL6ZjPOm2gLi+w=; b=UO9Yah4w9CMYzuXdSMscE6KijjGQWRnyGyHiBSqz5vqh7x4JnFWtbmThzCxLYe0Huj xyAlalwbbb7NpUOOH3+LHaVeN9QydV2bx4rotw8VivNm+2AKHyhNn6657NAuyTsY4yI+ zBhn+7xn3Pfngw29LAH1avyr1YtuoCpcHFZHkXg8tacqixpjU5lV5wQWIxUriZnYznaQ fRakcDVxVdZGWAK9/jaq84jXtn5W8yEXqNUM6IPonjXfFuYfiv9KwVeOsi/3uJ7FVOVE mtCIT6kXLBM0FlHaQmnrBpbbGj3l4bzg6bCoNa90F6OG+awF3g8hpX/Jce6MD4UYIAdM Ujew== X-Gm-Message-State: AOJu0YxqkG7FrUen8ENGCC9o7986VQFmY/qHCpXWOhO3oHd1VrJNqNkk mpuZFMM+6P3I1JmHSC8ExAMXAdppDS/qyre7B7SqvPnYl3KsztIPc9xM960wmyybV972LF0Otd/ d/ZLKxEA1Bjo8G7EjaTJnN3OS9YHrEW3HfQ== X-Gm-Gg: ASbGncsy9dWyDohnf+rTAfhHECwqIhDuaZw33HxxZx/kvEEVZ1WNOc+RlICoNiMtcEL a7sMEuO4fxjbzS6wV+AW+TI7BYrILnaHnEw+TTEKvxMGia0QEgPkbMfQ9S2xfZTrq3JbGKEresZ /8L8WHGoMevSVShKazAfVc17OwsY+AyhWG/CZ6nM0iazE0rCA4XDm0ZQQps42P7vnnX9+TMIgKW yCRpg== X-Google-Smtp-Source: AGHT+IE+/7vMULjMat3w7+q9b5aLILzfVYa47j1CMkL7KP/2Zh7FvBvqyBZ1lPKlAdmZyk61ujrdJdmqNUp58i/SrNs= X-Received: by 2002:a17:90b:28c7:b0:312:e731:5a6b with SMTP id 98e67ed59e1d1-3130cdfb38dmr3269559a91.32.1749041651571; Wed, 04 Jun 2025 05:54:11 -0700 (PDT) MIME-Version: 1.0 References: <20250603164936.3240075-1-tatum.rashad@gmail.com> In-Reply-To: From: Rashad Tatum Date: Wed, 4 Jun 2025 08:54:01 -0400 X-Gm-Features: AX0GCFsuPi8xKCRxYsS8BINbLCxwdPJ0uuETUHXfl8_FUd4kn0m3jwPUyzYaTds Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v4] Add new method for playing network based streams with a play rate. 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: VGhhbmtzIGZvciB0aGUgZmVlZGJhY2suIEknbGwgbG9vayBpbnRvIGl0LgoKT24gVHVlLCBKdW4g MywgMjAyNSwgNTozNeKAr1BNIEFuZHJlYXMgUmhlaW5oYXJkdCA8CmFuZHJlYXMucmhlaW5oYXJk dEBvdXRsb29rLmNvbT4gd3JvdGU6Cgo+IFJhc2hhZCBUYXR1bToKPiA+IEFkZCBpbXBsZW1lbnRh dGlvbiBmb3IgY2hhbmdpbmcgdGhlIHBsYXkgcmF0ZSBmb3IgcnRzcCBzdHJlYW1zLgo+ID4gLS0t Cj4gPiAgbGliYXZmb3JtYXQvYXZmb3JtYXQuaCAgICB8ICA2ICsrKysrKwo+ID4gIGxpYmF2Zm9y bWF0L2RlbXV4LmggICAgICAgfCAgNiArKysrKysKPiA+ICBsaWJhdmZvcm1hdC9kZW11eF91dGls cy5jIHwgIDYgKysrKysrCj4gPiAgbGliYXZmb3JtYXQvcnRzcC5jICAgICAgICB8ICAxICsKPiA+ ICBsaWJhdmZvcm1hdC9ydHNwLmggICAgICAgIHwgMTAgKysrKysrKysrKwo+ID4gIGxpYmF2Zm9y bWF0L3J0c3BkZWMuYyAgICAgfCAyMSArKysrKysrKysrKysrKysrKysrLS0KPiA+ICA2IGZpbGVz IGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAt LWdpdCBhL2xpYmF2Zm9ybWF0L2F2Zm9ybWF0LmggYi9saWJhdmZvcm1hdC9hdmZvcm1hdC5oCj4g PiBpbmRleCAyMDM0ZDJhZWNjLi43ODE5YjYxZDNlIDEwMDY0NAo+ID4gLS0tIGEvbGliYXZmb3Jt YXQvYXZmb3JtYXQuaAo+ID4gKysrIGIvbGliYXZmb3JtYXQvYXZmb3JtYXQuaAo+ID4gQEAgLTIz NTgsNiArMjM1OCwxMiBAQCBpbnQgYXZmb3JtYXRfZmx1c2goQVZGb3JtYXRDb250ZXh0ICpzKTsK PiA+ICAgKi8KPiA+ICBpbnQgYXZfcmVhZF9wbGF5KEFWRm9ybWF0Q29udGV4dCAqcyk7Cj4gPgo+ ID4gKy8qKgo+ID4gKyAqIFBsYXkgYSBuZXR3b3JrLWJhc2VkIHN0cmVhbSAoZS5nLiBSVFNQIHN0 cmVhbSkgd2l0aCBhIGdpdmVuIHBsYXkgcmF0ZQo+ID4gKyAqIChlLmcuIFNjYWxlIHZhbHVlIGZv ciBSVFNQKSBhbmQgdGltZXN0YW1wIHBvc2l0aW9uLgo+ID4gKyAqLwo+ID4gK2ludCBhdl9yZWFk X3BsYXlfd2l0aF9yYXRlKEFWRm9ybWF0Q29udGV4dCAqcywgZG91YmxlIHBsYXlfcmF0ZSwgaW50 Cj4gc3RyZWFtX2luZGV4LCBpbnQ2NF90IHRpbWVzdGFtcCk7Cj4gPiArCj4gPiAgLyoqCj4gPiAg ICogUGF1c2UgYSBuZXR3b3JrLWJhc2VkIHN0cmVhbSAoZS5nLiBSVFNQIHN0cmVhbSkuCj4gPiAg ICoKPiA+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9kZW11eC5oIGIvbGliYXZmb3JtYXQvZGVt dXguaAo+ID4gaW5kZXggZTgzZDg0YTIwMS4uOTY1NzQzYmRmMCAxMDA2NDQKPiA+IC0tLSBhL2xp YmF2Zm9ybWF0L2RlbXV4LmgKPiA+ICsrKyBiL2xpYmF2Zm9ybWF0L2RlbXV4LmgKPiA+IEBAIC0x MTMsNiArMTEzLDEyIEBAIHR5cGVkZWYgc3RydWN0IEZGSW5wdXRGb3JtYXQgewo+ID4gICAgICAg KiAoUlRTUCkuCj4gPiAgICAgICAqLwo+ID4gICAgICBpbnQgKCpyZWFkX3BsYXkpKHN0cnVjdCBB VkZvcm1hdENvbnRleHQgKik7Cj4gPiArCj4gPiArICAgIC8qKgo+ID4gKyAgICAgKiBQbGF5IGEg bmV0d29yay1iYXNlZCBzdHJlYW0gKGUuZy4gUlRTUCBzdHJlYW0pIHdpdGggYSBnaXZlbiBwbGF5 Cj4gcmF0ZQo+ID4gKyAgICAgKiAoZS5nLiBTY2FsZSB2YWx1ZSBmb3IgUlRTUCkgYW5kIHRpbWVz dGFtcCBwb3NpdGlvbi4KPiA+ICsgICAgICovCj4gPiArICAgIGludCAoKnJlYWRfcGxheV93aXRo X3JhdGUpKHN0cnVjdCBBVkZvcm1hdENvbnRleHQgKnMsIGRvdWJsZQo+IHBsYXlfcmF0ZSwgaW50 IHN0cmVhbV9pbmRleCwgaW50NjRfdCB0aW1lc3RhbXApOwo+ID4KPiA+ICAgICAgLyoqCj4gPiAg ICAgICAqIFBhdXNlIHBsYXlpbmcgLSBvbmx5IG1lYW5pbmdmdWwgaWYgdXNpbmcgYSBuZXR3b3Jr LWJhc2VkIGZvcm1hdAo+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2RlbXV4X3V0aWxzLmMg Yi9saWJhdmZvcm1hdC9kZW11eF91dGlscy5jCj4gPiBpbmRleCBiNjMyMjc3NDYwLi44ZmVkNDFl M2I2IDEwMDY0NAo+ID4gLS0tIGEvbGliYXZmb3JtYXQvZGVtdXhfdXRpbHMuYwo+ID4gKysrIGIv bGliYXZmb3JtYXQvZGVtdXhfdXRpbHMuYwo+ID4gQEAgLTE3OSw2ICsxNzksMTIgQEAgaW50IGF2 X3JlYWRfcGxheShBVkZvcm1hdENvbnRleHQgKnMpCj4gPiAgICAgIHJldHVybiBBVkVSUk9SKEVO T1NZUyk7Cj4gPiAgfQo+ID4KPiA+ICtpbnQgYXZfcmVhZF9wbGF5X3dpdGhfcmF0ZShBVkZvcm1h dENvbnRleHQgKnMsIGRvdWJsZSBwbGF5X3JhdGUsIGludAo+IHN0cmVhbV9pbmRleCwgaW50NjRf dCB0aW1lc3RhbXApIHsKPiA+ICsgICAgaWYgKGZmaWZtdChzLT5pZm9ybWF0KS0+cmVhZF9wbGF5 X3dpdGhfcmF0ZSkKPiA+ICsgICAgICAgIHJldHVybiBmZmlmbXQocy0+aWZvcm1hdCktPnJlYWRf cGxheV93aXRoX3JhdGUocywgcGxheV9yYXRlLAo+IHN0cmVhbV9pbmRleCwgdGltZXN0YW1wKTsK PiA+ICsgICAgcmV0dXJuIEFWRVJST1IoRU5PU1lTKTsKPiA+ICt9Cj4gPiArCj4gPiAgaW50IGF2 X3JlYWRfcGF1c2UoQVZGb3JtYXRDb250ZXh0ICpzKQo+ID4gIHsKPiA+ICAgICAgaWYgKGZmaWZt dChzLT5pZm9ybWF0KS0+cmVhZF9wYXVzZSkKPiA+IGRpZmYgLS1naXQgYS9saWJhdmZvcm1hdC9y dHNwLmMgYi9saWJhdmZvcm1hdC9ydHNwLmMKPiA+IGluZGV4IDVlYTQ3MWI0MGMuLjZjZmJjZGY5 ODkgMTAwNjQ0Cj4gPiAtLS0gYS9saWJhdmZvcm1hdC9ydHNwLmMKPiA+ICsrKyBiL2xpYmF2Zm9y bWF0L3J0c3AuYwo+ID4gQEAgLTE5OTgsNiArMTk5OCw3IEBAIHJlZGlyZWN0Ogo+ID4gICAgICBh dl9zdHJsY3B5KHJ0LT5yZWFsX2NoYWxsZW5nZSwgcmVhbF9jaGFsbGVuZ2UsCj4gc2l6ZW9mKHJ0 LT5yZWFsX2NoYWxsZW5nZSkpOwo+ID4gICAgICBydC0+c3RhdGUgPSBSVFNQX1NUQVRFX0lETEU7 Cj4gPiAgICAgIHJ0LT5zZWVrX3RpbWVzdGFtcCA9IDA7IC8qIGRlZmF1bHQgaXMgdG8gc3RhcnQg c3RyZWFtIGF0IHBvc2l0aW9uCj4gemVybyAqLwo+ID4gKyAgICBydC0+c2NhbGUgPSAxLjA7IC8q IGRlZmF1bHQgaXMgdG8gcGxheSBhdCB0aGUgbm9ybWFsIHJhdGUgKi8KPiA+ICAgICAgcmV0dXJu IDA7Cj4gPiAgIGZhaWw6Cj4gPiAgICAgIGZmX3J0c3BfY2xvc2Vfc3RyZWFtcyhzKTsKPiA+IGRp ZmYgLS1naXQgYS9saWJhdmZvcm1hdC9ydHNwLmggYi9saWJhdmZvcm1hdC9ydHNwLmgKPiA+IGlu ZGV4IDgzYjJlM2Y0ZmIuLjFiOGNlMDVkNzQgMTAwNjQ0Cj4gPiAtLS0gYS9saWJhdmZvcm1hdC9y dHNwLmgKPiA+ICsrKyBiL2xpYmF2Zm9ybWF0L3J0c3AuaAo+ID4gQEAgLTI0NSw2ICsyNDUsMTYg QEAgdHlwZWRlZiBzdHJ1Y3QgUlRTUFN0YXRlIHsKPiA+ICAgICAgICogd2hlbmV2ZXIgd2UgcmVz dW1lIHBsYXliYWNrLiBFaXRoZXIgd2F5LCB0aGUgdmFsdWUgaXMgb25seSB1c2VkCj4gb25jZSwK PiA+ICAgICAgICogc2VlIHJ0c3BfcmVhZF9wbGF5KCkgYW5kIHJ0c3BfcmVhZF9zZWVrKCkuICov Cj4gPiAgICAgIGludDY0X3Qgc2Vla190aW1lc3RhbXA7Cj4gPiArCj4gPiArICAgIC8qKiB0aGUg c2NhbGUgdmFsdWUgcmVxdWVzdGVkIHdoZW4gY2FsbGluZyBhdl9yZWFkX3BsYXkoKS4gVGhpcwo+ IHZhbHVlCj4gPiArICAgICAqIGlzIHN1YnNlcXVlbnRseSB1c2VkIGFzIHBhcnQgb2YgdGhlICJT Y2FsZSIgcGFyYW1ldGVyIHdoZW4KPiBlbWl0dGluZwo+ID4gKyAgICAgKiB0aGUgUlRTUCBQTEFZ IGNvbW1hbmQuIFRoZSAiU2NhbGUiIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZQo+IHN0cmVhbSBw bGF5Cj4gPiArICAgICAqIHJhdGUuIEEgdmFsdWUgb2YgMSByZXByZXNlbnRzIHRoZSBub3JtYWwg cGxheSByYXRlLiBBbnkgb3RoZXIKPiB2YWx1ZSBpcwo+ID4gKyAgICAgKiBpbiByZWdhcmRzIHRv IHRoZSBub3JtYWwgcGxheSByYXRlLiBBIG5lZ2F0aXZlIHZhbHVlIHJlcHJlc2VudHMKPiByZXZl cnNlCj4gPiArICAgICAqIHBsYXliYWNrLiBJZiB3ZSBhcmUgY3VycmVudGx5IHBsYXlpbmcsIHRo aXMgY29tbWFuZCBpcyBjYWxsZWQKPiBpbnN0YW50bHkuCj4gPiArICAgICAqIElmIHdlIGFyZSBj dXJyZW50bHkgcGF1c2VkLCB0aGlzIGNvbW1hbmQgaXMgY2FsbGVkIHdoZW5ldmVyIHdlCj4gcmVz dW1lCj4gPiArICAgICAqIHBsYXliYWNrLiAgKi8KPiA+ICsgICAgZG91YmxlIHNjYWxlOwo+ID4K PiA+ICAgICAgaW50IHNlcTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlRTUCBjb21t YW5kIHNlcXVlbmNlIG51bWJlcgo+ICovCj4gPgo+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0 L3J0c3BkZWMuYyBiL2xpYmF2Zm9ybWF0L3J0c3BkZWMuYwo+ID4gaW5kZXggMTAwNzhjZTJmYS4u ZjFlNDRjY2I2MyAxMDA2NDQKPiA+IC0tLSBhL2xpYmF2Zm9ybWF0L3J0c3BkZWMuYwo+ID4gKysr IGIvbGliYXZmb3JtYXQvcnRzcGRlYy5jCj4gPiBAQCAtMzksNiArMzksNyBAQAo+ID4gICNpbmNs dWRlICJ0bHMuaCIKPiA+ICAjaW5jbHVkZSAidXJsLmgiCj4gPiAgI2luY2x1ZGUgInZlcnNpb24u aCIKPiA+ICsjaW5jbHVkZSA8c3RkaW8uaD4KPiA+Cj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBS VFNQU3RhdHVzTWVzc2FnZSB7Cj4gPiAgICAgIGVudW0gUlRTUFN0YXR1c0NvZGUgY29kZTsKPiA+ IEBAIC01MjcsNyArNTI4LDcgQEAgc3RhdGljIGludCBydHNwX3JlYWRfcGxheShBVkZvcm1hdENv bnRleHQgKnMpCj4gPiAgewo+ID4gICAgICBSVFNQU3RhdGUgKnJ0ID0gcy0+cHJpdl9kYXRhOwo+ ID4gICAgICBSVFNQTWVzc2FnZUhlYWRlciByZXBseTEsICpyZXBseSA9ICZyZXBseTE7Cj4gPiAt ICAgIGludCBpOwo+ID4gKyAgICBpbnQgaSwgY21kX2NoYXJfY291bnQgPSAwOwo+ID4gICAgICBj aGFyIGNtZFtNQVhfVVJMX1NJWkVdOwo+ID4KPiA+ICAgICAgYXZfbG9nKHMsIEFWX0xPR19ERUJV RywgImhlbGxvIHN0YXRlPSVkXG4iLCBydC0+c3RhdGUpOwo+ID4gQEAgLTU2NCwxMSArNTY1LDE3 IEBAIHN0YXRpYyBpbnQgcnRzcF9yZWFkX3BsYXkoQVZGb3JtYXRDb250ZXh0ICpzKQo+ID4gICAg ICAgICAgaWYgKHJ0LT5zdGF0ZSA9PSBSVFNQX1NUQVRFX1BBVVNFRCkgewo+ID4gICAgICAgICAg ICAgIGNtZFswXSA9IDA7Cj4gPiAgICAgICAgICB9IGVsc2Ugewo+ID4gLSAgICAgICAgICAgIHNu cHJpbnRmKGNtZCwgc2l6ZW9mKGNtZCksCj4gPiArCj4gPiArICAgICAgICAgICAgY21kX2NoYXJf Y291bnQgKz0gc25wcmludGYoY21kLCBzaXplb2YoY21kKSwKPiA+ICAgICAgICAgICAgICAgICAg ICAgICAiUmFuZ2U6IG5wdD0lIlBSSWQ2NCIuJTAzIlBSSWQ2NCItXHJcbiIsCj4gPiAgICAgICAg ICAgICAgICAgICAgICAgcnQtPnNlZWtfdGltZXN0YW1wIC8gQVZfVElNRV9CQVNFLAo+ID4gICAg ICAgICAgICAgICAgICAgICAgIHJ0LT5zZWVrX3RpbWVzdGFtcCAvIChBVl9USU1FX0JBU0UgLyAx MDAwKSAlIDEwMDApOwo+ID4gKwo+ID4gKyAgICAgICAgICAgIHNucHJpbnRmKGNtZCArIGNtZF9j aGFyX2NvdW50LCBzaXplb2YoY21kKSAtCj4gY21kX2NoYXJfY291bnQsICJTY2FsZTogJWZcclxu IiwgcnQtPnNjYWxlKTsKPiA+ICsKPiA+ICAgICAgICAgIH0KPiA+ICsKPiA+ICsKPiA+ICAgICAg ICAgIGZmX3J0c3Bfc2VuZF9jbWQocywgIlBMQVkiLCBydC0+Y29udHJvbF91cmksIGNtZCwgcmVw bHksIE5VTEwpOwo+ID4gICAgICAgICAgaWYgKHJlcGx5LT5zdGF0dXNfY29kZSAhPSBSVFNQX1NU QVRVU19PSykgewo+ID4gICAgICAgICAgICAgIHJldHVybiBmZl9ydHNwX2F2ZXJyb3IocmVwbHkt PnN0YXR1c19jb2RlLCAtMSk7Cj4gPiBAQCAtNTkzLDYgKzYwMCwxNSBAQCBzdGF0aWMgaW50IHJ0 c3BfcmVhZF9wbGF5KEFWRm9ybWF0Q29udGV4dCAqcykKPiA+ICAgICAgcmV0dXJuIDA7Cj4gPiAg fQo+ID4KPiA+ICtzdGF0aWMgaW50IHJ0c3BfcmVhZF9wbGF5X3dpdGhfcmF0ZShBVkZvcm1hdENv bnRleHQgKnMsIGRvdWJsZQo+IHBsYXlfcmF0ZSwgaW50IHN0cmVhbV9pbmRleCwgaW50NjRfdCB0 aW1lc3RhbXApIHsKPiA+ICsgICAgUlRTUFN0YXRlICpydCA9IHMtPnByaXZfZGF0YTsKPiA+ICsg ICAgcnQtPnNlZWtfdGltZXN0YW1wID0gYXZfcmVzY2FsZV9xKHRpbWVzdGFtcCwKPiA+ICsKPiBz LT5zdHJlYW1zW3N0cmVhbV9pbmRleF0tPnRpbWVfYmFzZSwKPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEFWX1RJTUVfQkFTRV9RKTsKPiA+ICsgICAgcnQtPnNjYWxl ID0gcGxheV9yYXRlOwo+ID4gKyAgICByZXR1cm4gcnRzcF9yZWFkX3BsYXkocyk7Cj4gPiArfQo+ ID4gKwo+ID4gIC8qIHBhdXNlIHRoZSBzdHJlYW0gKi8KPiA+ICBzdGF0aWMgaW50IHJ0c3BfcmVh ZF9wYXVzZShBVkZvcm1hdENvbnRleHQgKnMpCj4gPiAgewo+ID4gQEAgLTEwMDYsNSArMTAyMiw2 IEBAIGNvbnN0IEZGSW5wdXRGb3JtYXQgZmZfcnRzcF9kZW11eGVyID0gewo+ID4gICAgICAucmVh ZF9jbG9zZSAgICAgPSBydHNwX3JlYWRfY2xvc2UsCj4gPiAgICAgIC5yZWFkX3NlZWsgICAgICA9 IHJ0c3BfcmVhZF9zZWVrLAo+ID4gICAgICAucmVhZF9wbGF5ICAgICAgPSBydHNwX3JlYWRfcGxh eSwKPiA+ICsgICAgLnJlYWRfcGxheV93aXRoX3JhdGUgPSBydHNwX3JlYWRfcGxheV93aXRoX3Jh dGUsCj4gPiAgICAgIC5yZWFkX3BhdXNlICAgICA9IHJ0c3BfcmVhZF9wYXVzZSwKPiA+ICB9Owo+ Cj4gU2VlbXMgbGlrZSBwbGF5X3JhdGUgc2hvdWxkIGp1c3QgYmUgYW4gb3B0aW9uIG9mIHRoaXMg ZGVtdXhlciAod2l0aCB0aGUKPiBBVl9PUFRfRkxBR19SVU5USU1FX1BBUkFNIGZsYWcpLgo+Cj4g LSBBbmRyZWFzCj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+IGZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9y Zwo+IGh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+Cj4g VG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gZmZtcGVnLWRldmVs LXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFp bGluZyBsaXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJv dmUsIG9yIGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0 ICJ1bnN1YnNjcmliZSIuCg==