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 445F54ADBA for ; Sat, 22 Jun 2024 22:19:35 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 324CA68D4BA; Sun, 23 Jun 2024 01:19:33 +0300 (EEST) Received: from mail-lj1-f170.google.com (mail-lj1-f170.google.com [209.85.208.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9262468D3C6 for ; Sun, 23 Jun 2024 01:19:26 +0300 (EEST) Received: by mail-lj1-f170.google.com with SMTP id 38308e7fff4ca-2ec1620a956so36169281fa.1 for ; Sat, 22 Jun 2024 15:19:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719094765; x=1719699565; 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=zBQeInMSVWIJBcP0UfYbWVVpDTJJmbj6rn5V74qRpSI=; b=CHksmsiycXRPiPjnzr0KiOlUqfm+6VS19VV7QDRlbSmfRc8crGL+RcsESG96O8elmS ZZfLEwp6Ef4H3hECDMGTKvHyKLC+psShDh48PFhKcr+rTCbQfi6UZPw+F3zfZmtFT7QF 9kkKbvbfPkyQ15YCLxgdY3l6l7euB6sGh1rWjkvjTYU+tuGuaCgaNP9y4RxRmR8bmQyO hmzBZMMr1x/x5L9narxCzk5ULWSCRDO82JeGyrxrqji1qv1f5oqH3/kMoBYpXC44JOgy sWPyRxp8EAWZTr8rYgj9RWx0qleNw1h0fsiXm8hM6jqz2FT/joeiE1A8FL5OGrEMzz7a wzzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719094765; x=1719699565; 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=zBQeInMSVWIJBcP0UfYbWVVpDTJJmbj6rn5V74qRpSI=; b=Mc8BRZLUHlwzkJXyVZ1r6CX6og2sBKpIyQxvtSpmWuEPV+hrOkm4+KGgKeP4uCKlQF +vGeQpI+CwXLa425gGUG0guKdh9IAdgJ3RH4vNItpshbWPsbJvwxn+Xq2ppo4SblQ1jG AmHt7GsszwpW3jtI7hPY9fb7dWvg095HfqDNUJ90HjNxqZ4UgkpLfddSlPUKrR2bn2+e AQTO6aqzqqjOclbmOB0qODSCixYKgtumLGEbgn/4Xav9iZCNKFn+IS5d3WfoeUhFIF7+ rVr4bFRg4cW528jxKD3A0sMJNWsRS6fmqPCb3lYmysJ7OHXzRErivDVjQbQmejiE3/xi ZsRw== X-Gm-Message-State: AOJu0Yy0/61o8L/ywujGTnOWaaXwDv7EDyZt+eTvCftA4jhinSm3RfiI i2BFp/xCkVGoOqij5UaLb+uXa7bnr2UUcSsZIECOSgwC0xL7s8RpwUZZ3lAGFnPmjEFcT/JuNcr iEUe2H71sSJnwBWEgZYaOKoQR9LZ9iVpo X-Google-Smtp-Source: AGHT+IHQakYJpUpwLOQY/DhJ6TCd4jds5wM9awN72nc8OcAPHXMMSPYWkHSggJEt477M/ApeBOSy3S7WSyaC6gKT14U= X-Received: by 2002:a2e:b179:0:b0:2ec:5685:f068 with SMTP id 38308e7fff4ca-2ec5b337265mr4046091fa.17.1719094764642; Sat, 22 Jun 2024 15:19:24 -0700 (PDT) MIME-Version: 1.0 References: <20240622151334.GD14140@haasn.xyz> In-Reply-To: <20240622151334.GD14140@haasn.xyz> From: Vittorio Giovara Date: Sun, 23 Jun 2024 00:19:13 +0200 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [RFC]] swscale modernization proposal 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: T24gU2F0LCBKdW4gMjIsIDIwMjQgYXQgMzoyMuKAr1BNIE5pa2xhcyBIYWFzIDxmZm1wZWdAaGFh c24ueHl6PiB3cm90ZToKCj4gSGV5LAo+Cj4gQXMgc29tZSBvZiB5b3Uga25vdywgSSBnb3QgY29u dHJhY3RlZCAoYnkgU1RGIDIwMjQpIHRvIHdvcmsgb24gaW1wcm92aW5nCj4gc3dzY2FsZSwgb3Zl ciB0aGUgY291cnNlIG9mIHRoZSBuZXh0IGNvdXBsZSBvZiBtb250aHMuIEkgd2FudCB0byBzaGFy ZSBteQo+IGN1cnJlbnQgcGxhbnMgYW5kIGdhdGhlciBmZWVkYmFjayArIG1lYXN1cmUgc2VudGlt ZW50Lgo+Cj4gIyMgUHJvYmxlbSBzdGF0ZW1lbnQKPgo+IFRoZSB0d28gaXNzdWVzIEknZCBsaWtl IHRvIGZvY3VzIG9uIGZvciBub3cgYXJlOgo+Cj4gMS4gTGFjayBvZiBzdXBwb3J0IGZvciBhIGxv dCBvZiBtb2Rlcm4gZm9ybWF0cyBhbmQgY29udmVyc2lvbnMgKEhEUiwgSUN0Q3AsCj4gICAgSVBU YzIsIEJULjIwMjAtQ0wsIFhZWiwgWUNnQ28sIERvbGJ5IFZpc2lvbiwgLi4uKQo+IDIuIENvbXBs aWNhdGVkIGNvbnRleHQgbWFuYWdlbWVudCwgd2l0aCBjYXNjYWRlZCBjb250ZXh0cywgdGhyZWFk aW5nLAo+IHN0YXRlZnVsCj4gICAgY29uZmlndXJhdGlvbiwgbXVsdGktc3RlcCBpbml0IHByb2Nl ZHVyZXMsIGV0YzsgYW5kIHJlbGF0ZWQgYnVncwo+Cj4gSW4gb3JkZXIgdG8gbWFrZSB0aGVzZSBm ZWFzaWJsZSwgc29tZSBhbW91bnQgb2YgaW50ZXJuYWwgcmUtb3JnYW5pemF0aW9uIG9mCj4gZHV0 aWVzIGluc2lkZSBzd3NjYWxlIGlzIHBydWRlbnQuCj4KPiAjIyBQcm9wb3NlZCBhcHByb2FjaAo+ Cj4gVGhlIGZpcnN0IHN0ZXAgaXMgdG8gY3JlYXRlIGEgbmV3IEFQSSwgd2hpY2ggd2lsbCAodGVu dGF0aXZlbHkpIGxpdmUgaW4KPiA8bGlic3dzY2FsZS9hdnNjYWxlLmg+LiBUaGlzIEFQSSB3aWxs IGluaXRpYWxseSBzdGFydCBvZmYgYXMgYSBuZWFyLWNvcHkKPiBvZiB0aGUKPiBjdXJyZW50IHN3 c2NhbGUgcHVibGljIEFQSSwgYnV0IHdpdGggdGhlIG1ham9yIGRpZmZlcmVuY2UgdGhhdCBJIHdh bnQgaXQKPiB0byBiZQo+IHN0YXRlLWZyZWUgYW5kIG9ubHkgYWNjZXNzIG1ldGFkYXRhIGluIHRl cm1zIG9mIEFWRnJhbWUgcHJvcGVydGllcy4gU28KPiB0aGVyZQo+IHdpbGwgYmUgbm8gaW5kZXBl bmRlbnQgY29uZmlndXJhdGlvbiBvZiB0aGUgaW5wdXQgY2hyb21hIGxvY2F0aW9uIGV0Yy4gbGlr ZQo+IHRoZXJlIGlzIGN1cnJlbnRseSwgYW5kIG5vIG5lZWQgdG8gcmUtY29uZmlndXJlIG9yIHJl LWluaXQgdGhlIGNvbnRleHQgd2hlbgo+IGZlZWRpbmcgaXQgZnJhbWVzIHdpdGggZGlmZmVyZW50 IHByb3BlcnRpZXMuIFRoZSBnb2FsIGlzIGZvciB1c2VycyB0byBiZQo+IGFibGUKPiB0byBqdXN0 IGZlZWQgaXQgQVZGcmFtZSBwYWlycyBhbmQgaGF2ZSBpdCBpbnRlcm5hbGx5IGNhY2hlIGV4cGVu c2l2ZQo+IHByZS1wcm9jZXNzaW5nIHN0ZXBzIGFzIG5lZWRlZC4gRmluYWxseSwgYXZzY2FsZV8q IHNob3VsZCB1bHRpbWF0ZWx5IGFsc28KPiBzdXBwb3J0IGhhcmR3YXJlIGZyYW1lcyBkaXJlY3Rs eSwgaW4gd2hpY2ggY2FzZSBpdCB3aWxsIGRpc3BhdGNoIHRvIHNvbWUKPiBlcXVpdmFsZW50IG9m IHNjYWxlX3Z1bGthbi92YWFwaS9jdWRhIG9yIHBvc3NpYmx5IGV2ZW4gbGlicGxhY2Viby4gKEJ1 dCBJCj4gd2lsbAo+IGRlZmVyIHRoaXMgdG8gYSBmdXR1cmUgbWlsZXN0b25lKQo+Cj4gQWZ0ZXIg dGhpcyBBUEkgaXMgZXN0YWJsaXNoZWQsIEkgd2FudCB0byBzdGFydCBleHBhbmRpbmcgdGhlIGZ1 bmN0aW9uYWxpdHkKPiBpbgo+IHRoZSBmb2xsb3dpbmcgbWFubmVyOgo+Cj4gIyMjIFBoYXNlIDEK Pgo+IEZvciBiYXNpYyBvcGVyYXRpb24sIGF2c2NhbGVfKiB3aWxsIGp1c3QgZGlzcGF0Y2ggdG8g YSBzZXF1ZW5jZSBvZgo+IHN3c2NhbGVfKgo+IGludm9jYXRpb25zLiBJbiB0aGUgYmFzaWMgY2Fz ZSwgaXQgd2lsbCBqdXN0IGRpcmVjdGx5IGludm9rZSBzd3NjYWxlIHdpdGgKPiBtaW5pbWFsIG92 ZXJoZWFkLiBJbiBtb3JlIGFkdmFuY2VkIGNhc2VzLCBpdCBtaWdodCByZXNvbHZlIHRvIGEgKnNl cXVlbmNlKgo+IG9mCj4gc3dzY2FsZSBvcGVyYXRpb25zLCB3aXRoIG90aGVyIG9wZXJhdGlvbnMg KGUuZy4gY29sb3JzcGFjZSBjb252ZXJzaW9ucyBhIGxhCj4gdmZfY29sb3JzcGFjZSkgbWl4ZWQg aW4uCj4KPiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gZ2FpbiBuZXcgZnVuY3Rpb25hbGl0eSBpbiBh IG1pbmltYWxseSBpbnZhc2l2ZSB3YXksCj4gYW5kCj4gd2lsbCBsZXQgQVBJIHVzZXJzIHN0YXJ0 IHBvcnRpbmcgdG8gdGhlIG5ldyBBUEkuIFRoaXMgd2lsbCBhbHNvIHNlcnZlIGFzIGEKPiBnb29k Cj4gInNlbGxpbmcgcG9pbnQiIGZvciB0aGUgbmV3IEFQSSwgYWxsb3dpbmcgdXMgdG8gaG9wZWZ1 bGx5IGJyZWFrIHVwIHRoZQo+IGxlZ2FjeQo+IHN3c2NhbGUgQVBJIGFmdGVyd2FyZHMuCj4KPiAj IyMgUGhhc2UgMgo+Cj4gQWZ0ZXIgdGhpcyBpcyB3b3JraW5nLCBJIHdhbnQgdG8gY2xlYW5seSBz ZXBhcmF0ZSBzd3NjYWxlIGludG8gdHdvIGRpc3RpbmN0Cj4gY29tcG9uZW50czoKPgo+IDEuIHZl cnRpY2FsL2hvcml6b250YWwgc2NhbGluZwo+IDIuIGlucHV0L291dHB1dCBjb252ZXJzaW9ucwo+ Cj4gUmlnaHQgbm93LCB0aGVzZSBvcGVyYXRpb25zIGJvdGggbGl2ZSBpbnNpZGUgdGhlIG1haW4g U3dzQ29udGV4dCwgZXZlbgo+IHRob3VnaAo+IHRoZXkgYXJlIGNvbmNlcHR1YWxseSBvcnRob2dv bmFsLiBJbnB1dCBoYW5kbGluZyBpcyBkb25lIGVudGlyZWx5IGJ5IHRoZQo+IGFic3RyYWN0IGNh bGxiYWNrcyBsdW1Ub1lWMTIgZXRjLiwgd2hpbGUgb3V0cHV0IGNvbnZlcnNpb24gaXMgY3VycmVu dGx5Cj4gIm1lcmdlZCIgd2l0aCB2ZXJ0aWNhbCBzY2FsaW5nICh5dXYycGxhbmVYIGV0Yy4pLgo+ Cj4gSSB3YW50IHRvIGNsZWFubHkgc2VwYXJhdGUgdGhlc2UgY29tcG9uZW50cyBzbyB0aGV5IGNh biBsaXZlIGluc2lkZQo+IGluZGVwZW5kZW50Cj4gY29udGV4dHMsIGFuZCBiZSBjb25zaWRlcmVk IGFzIHNlbWFudGljYWxseSBkaXN0aW5jdCBzdGVwcy4gKEluIHBhcnRpY3VsYXIsCj4gdGhlcmUg c2hvdWxkIGlkZWFsbHkgYmUgbm8gbW9yZSAidW5zY2FsZWQgc3BlY2lhbCBjb252ZXJ0ZXJzIiwg aW5zdGVhZAo+IHRoaXMgY2FuCj4gYmUgc2VlbiBhcyBhIHNwZWNpYWwgY2FzZSB3aGVyZSB0aGVy ZSBzaW1wbHkgaXMgbm8gdmVydGljYWwvaG9yaXpvbnRhbAo+IHNjYWxpbmcKPiBzdGVwKQo+Cj4g VGhlIGlkZWEgaXMgZm9yIHRoZSBjb2xvcnNwYWNlIGNvbnZlcnNpb24gbGF5ZXIgdG8gc2l0IGlu IGJldHdlZW4gdGhlCj4gaW5wdXQvb3V0cHV0IGNvbnZlcnRlcnMgYW5kIHRoZSBob3Jpem9udGFs L3ZlcnRpY2FsIHNjYWxlcnMuIFRoaXMgYWxsCj4gd291bGQgYmUKPiBvcmNoZXN0cmF0ZWQgYnkg dGhlIGF2c2NhbGVfKiBhYnN0cmFjdGlvbi4KPgo+ICMjIEltcGxlbWVudGF0aW9uIGRldGFpbHMK Pgo+IFRvIGF2b2lkIHBlcmZvcm1hbmNlIGxvc3MgZnJvbSBzZXBhcmF0aW5nICJtZXJnZWQiIGZ1 bmN0aW9ucyBpbnRvIHRoZWlyCj4gY29uc3RpdHVlbnRzLCBjYXJlIG5lZWRzIHRvIGJlIHRha2Vu IHN1Y2ggdGhhdCBhbGwgaW50ZXJtZWRpYXRlIGRhdGEsIGluCj4gYWRkaXRpb24gdG8gYWxsIGlu dm9sdmVkIGxvb2stdXAgdGFibGVzLCB3aWxsIGZpdCBjb21mb3J0YWJseSBpbnNpZGUgdGhlIEwx Cj4gY2FjaGUuIFRoZSBhcHByb2FjaCBJIHByb3Bvc2UsIHdoaWNoIGlzIGFsc28gKGFmYWljdCkg dXNlZCBieSB6c2NhbGUsIGlzIHRvCj4gbG9vcCBvdmVyIGxpbmUgc2VnbWVudHMsIGFwcGx5aW5n IGVhY2ggb3BlcmF0aW9uIGluIHNlcXVlbmNlLCBvbiBhIHNtYWxsCj4gdGVtcG9yYXJ5IGJ1ZmZl ci4KPgo+IGUuZy4KPgo+IGhzY2FsZV9yb3cocGl4ZWwgKmRzdCwgY29uc3QgcGl4ZWwgKnNyYywg aW50IGltZ193aWR0aCkKPiB7Cj4gICAgIGNvbnN0IGludCBTSVpFID0gMjU2OyAvLyBvciBzb21l IG90aGVyIHNtYWxsLWlzaCBmaWd1cmUsIHBvc3NpYmx5IGEKPiBkZXNpZ24KPiAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8vIGNvbnN0YW50IG9mIHRoZSBBUEkgc28gdGhhdCBTSU1ECj4gaW1w bGVtZW50YXRpb25zCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjYW4gYmUgYXBwcm9w cmlhdGVseSB1bnJvbGxlZAo+Cj4gICAgIHBpeGVsIHRtcFtTSVpFXTsKPiAgICAgZm9yIChpID0g MDsgaSA8IGltZ193aWR0aDsgaSArPSBTSVpFKSB7Cj4gICAgICAgICBpbnQgcGl4ZWxzID0gbWlu KFNJWkUsIGltZ193aWR0aCAtIGkpOwo+Cj4gICAgICAgICB7IC8qIGluc2lkZSByZWFkIGlucHV0 IGNhbGxiYWNrICovCj4gICAgICAgICAgICAgdW5wYWNrX2lucHV0KHRtcCwgc3JjLCBwaXhlbHMp Owo+ICAgICAgICAgICAgIC8vIHRoZSBhbW91bnQgb2Ygc2VwYXJhdGlvbiBoZXJlIHdpbGwgZGVw ZW5kIG9uIHRoZSBwZXJmb3JtYW5jZQo+ICAgICAgICAgICAgIGFwcGx5X21hdHJpeDN4Myh0bXAs IHl1djJyZ2IsIHBpeGVscyk7Cj4gICAgICAgICAgICAgYXBwbHlfbHV0M3gxZCh0bXAsIGdhbW1h X2x1dCwgcGl4ZWxzKTsKPiAgICAgICAgICAgICAuLi4KPiAgICAgICAgIH0KPgo+ICAgICAgICAg aHNjYWxlKGRzdCwgdG1wLCBmaWx0ZXIsIHBpeGVscyk7Cj4KPiAgICAgICAgIHNyYyArPSBwaXhl bHM7Cj4gICAgICAgICBkc3QgKz0gc2NhbGVfZmFjdG9yKHBpeGVscyk7Cj4gICAgIH0KPiB9Cj4K PiBUaGlzIGZ1bmN0aW9uIGNhbiB0aGVuIG91dHB1dCByb3dzIGludG8gYSByaW5nIGJ1ZmZlciBm b3IgdXNlIGluc2lkZSB0aGUKPiB2ZXJ0aWNhbCBzY2FsZXIsIGFmdGVyIHdoaWNoIHRoZSBzYW1l IHByb2NlZHVyZSBoYXBwZW5zIChpbiByZXZlcnNlKSBmb3IKPiB0aGUKPiBmaW5hbCBvdXRwdXQg cGFzcy4KPgo+IFBvc3NpYmx5LCB3ZSBhbHNvIHdhbnQgdG8gYWRkaXRpb25hbGx5IGxpbWl0IHRo ZSBzaXplIG9mIGEgcm93IGZvciB0aGUKPiBob3Jpem9udGFsIHNjYWxlciwgdG8gYWxsb3cgYXJi aXRyYXJ5IGxhcmdlIGlucHV0IGltYWdlcy4KPgo+ICMjIENvbW1lbnRzIC8gZmVlZGJhY2s/Cj4K PiBEb2VzIHRoZSBhYm92ZSBhcHByb2FjaCBzZWVtIHJlYXNvbmFibGU/IEhvdyBkbyBwZW9wbGUg ZmVlbCBhYm91dAo+IGludHJvZHVjaW5nCj4gYSBuZXcgQVBJIHZzLiB0cnlpbmcgdG8gaGFtbWVy IHRoZSBleGlzdGluZyBBUEkgaW50byB0aGUgc2hhcGUgSSB3YW50IGl0Cj4gdG8gYmU/Cj4KPiBJ J3ZlIGF0dGFjaGVkIGFuIGV4YW1wbGUgb2Ygd2hhdCA8YXZzY2FsZS5oPiBjb3VsZCBlbmQgdXAg bG9va2luZyBsaWtlLiBJZgo+IHRoZXJlIGlzIGJyb2FkIGFncmVlbWVudCBvbiB0aGlzIGRlc2ln biwgSSB3aWxsIG1vdmUgb24gdG8gYW4KPiBpbXBsZW1lbnRhdGlvbi4KPgoKV2hhdCBkbyB5b3Ug dGhpbmsgb2YgdGhlIGNvbmNlcHQgb2Yga2VybmVscyBsaWtlCmh0dHBzOi8vZ2l0aHViLmNvbS9s dS16ZXJvL2F2c2NhbGUvYmxvYi9tYXN0ZXIva2VybmVscy9yZ2IyeXV2LmMKVGhlIGlkZWEgaXMg dGhhdCB0aGVyZSBpcyBhIGJpdCBvZiBhbmFseXNpcyBvbiBpbnB1dCBhbmQgb3V0cHV0IGZvcm1h dApyZXF1ZXN0ZWQsIGFuZCBlaXRoZXIgYSBzcGVjaWFsaXplZCBrZXJuZWwgaXMgdXNlZCwgb3Ig YSBjaGFpbiBvZiBrZXJuZWxzCmlzIGJ1aWx0IGFuZCBkYXRhIGlzIHBhc3NlZCBhbG9uZy4KQW1v bmcgdGhlIGRlc2lnbiBnb2FscyBvZiB0aGF0IGxpYnJhcnksIHRoZXJlIHdhcyBhbHNvIHJlYWRh YmlsaXR5IChzbyB0aGF0CnRoZSBmbG93IHdhcyBhbHdheXMgdW5kZXIgY29udHJvbCkgYW5kIHRo ZSBlYXNlIG9mIHdyaXRpbmcgYXNzZW1ibHkgYW5kL29yCnNoYWRlciBmb3IgYW55IHNpbmdsZSBr ZXJuZWwuCgpOZWVkbGVzcyB0byBzYXkgSSBzdXBwb3J0IHRoZSBwbGFuIG9mIHJlbmFtaW5nIHRo ZSBsaWJyYXJ5IHNvIHRoYXQgaXQgY2FuCmJlIGlubGluZSB3aXRoIHRoZSBvdGhlciBsaWJyYXJp ZXMgbmFtZXMsIGFuZCB0aGUgdXNlIG9mIGEgc2VwYXJhdGUgaGVhZGVyCnNpbmNlIGRvd25zdHJl YW0gYXBwbGljYXRpb25zIHdpbGwgbmVlZCB0byB1cGRhdGUgYSBsb3QgdG8gdXNlIHRoZSBuZXcK bGlicmFyeSAob3IgdGhlIG5ldyBhcGlzIGluIHRoZSBleGlzdGluZyBsaWJyYXJ5KSBhbmQvb3Ig d2UgY291bGQgcHJvdmlkZSBhCnRoaW4gY29udmVyc2lvbiBsYXllciB3aGVuIHRoZSBuZXcgbGli IGlzIGZpbmFsaXplZC4KLS0gClZpdHRvcmlvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZtcGVnLWRldmVs QGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRl dmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKZmZtcGVnLWRl dmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4K