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 ESMTPS id 429DF4A93C for ; Wed, 29 Jan 2025 13:04:23 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5AFEC68BA02; Wed, 29 Jan 2025 15:04:20 +0200 (EET) Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 48C6668A817 for ; Wed, 29 Jan 2025 15:04:13 +0200 (EET) Received: by mail-ed1-f48.google.com with SMTP id 4fb4d7f45d1cf-5d3d0205bd5so10044143a12.3 for ; Wed, 29 Jan 2025 05:04:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738155852; x=1738760652; 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=U7Lp6+JLs8Ewy7sf9lpiAV+7wNNKofKGKXdMydG2SU0=; b=JHxK72lbm4luWBCXtcwK+gQa0er9mZvGcnIYgQr9ZMYZXF/O6vFTSxBVZb+Oj5MMR0 ljqXzYs6WH8f2914xHngrjQAEX7S/DjqVckQ5jkQbMNmGq81Ns+yYIYJsMVuHTiNsp4n VYYPtLlsLnK4ZIw/7eEqtQQmuCnhK8iEU5rT0Fe/M8UZ0mtoLhGWoECW0xz0MLFWEP+j 5zdvecNr8oECiE3ajeM4EcuXMh1qgS2qe8tSkGR4WLagBkiWizw6Lx4x68mVPkcnyWFO qtvxwVySuxUItZ0Knn+PboWjRwWvMmOEFKuEWlY2eGYHSGFAQrJ/jrSEodtAOaVOftlN WVow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738155852; x=1738760652; 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=U7Lp6+JLs8Ewy7sf9lpiAV+7wNNKofKGKXdMydG2SU0=; b=V8pun9T/8eSRoAjZPR5mRDQ6vp5oNP5gDNx4Axgdn7MSa/Jzs6uBIuPhclFhjpaxRW izLry57hsfqUgSaOx0Bx4aSmM81XoOIXyUDmYM7oBM+4hdVQhTWmU6sjO4hWb3oSEjIN ObH//xO/K05Gm24/gxoIWQ+xzya4Fs476rbLyNORMSfCUw9zt68uJ1DYg/O3UhTCJGev ZwTvUJQ9ZHczwqwlUIxBAMAHBvJRhT0T3GgWEjhwX1fcvvJnq8+USCrCVx9bv5QpXoNn DP4E/Ox87FK/qh29YVBly2u/m/IEY1mUVKjXeqThbT7zMlk7Z18dPA+YifMUTgrOf/4m y8ew== X-Gm-Message-State: AOJu0YzxaQb2XdyxCyIBtDxVOYJF8fMZ6+p4/KSk6fDSp1bxiYIejdBh WTt9F49OvLX/SPs9WE2BX3hLrtw1IwvdGz5snca0LZIRma5if/6Fg6GzqJ3XmWdNMpT9yyinc9O lgX7GxznanQC7pN77QZ9r6oNeN8sEZig6 X-Gm-Gg: ASbGncvLagMVpfI0mrARRMp6pJatnwjP/m/94kzcQZ7oZL+u8+EZz+HSRntwShkoSpm qgu3w5+OZ52vG1h+7VQdHL9JTUbab1i11PbdL0p9FqOk48dJUqGG1dWU3C/+MrhhF6xYMlGGl X-Google-Smtp-Source: AGHT+IHTy6Q6mji5bWCx6m9SsqiDpuloNgY3OQVg3zs6NsAs5Frniuf5YElKq4wtPIOvLbMyu1j+MKIW+OUEZlCl404= X-Received: by 2002:a05:6402:354a:b0:5d9:8877:895a with SMTP id 4fb4d7f45d1cf-5dc5efc7608mr2712703a12.17.1738155851828; Wed, 29 Jan 2025 05:04:11 -0800 (PST) MIME-Version: 1.0 References: <20250128155444.256068-1-16567adigashreesh@gmail.com> In-Reply-To: From: Shreesh Adiga <16567adigashreesh@gmail.com> Date: Wed, 29 Jan 2025 18:33:59 +0530 X-Gm-Features: AWEUYZmSTv6wHvHtPrtTu4jUQGEzVDkfk05aUOCH3AcEkXx9DdqvmXSgWdXg7Ug Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] [PATCH v3] swscale/x86/rgb2rgb: add AVX512ICL versions of shuffle_bytes 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: SGkgQW5kcmVhcywKCkkgYW0gbm90IHN1cmUgaWYgdGhhdCBpcyBuZWVkZWQuIEkgY2FuIGFkZCB0 aGUgZGF0YSBvYnNlcnZlZCBvbiBteSBtYWNoaW5lCihBTUQgNzk1MHggWmVuIDQpLApJIHRoaW5r IHRoaXMgd2lsbCB2YXJ5IGZyb20gbWFjaGluZSB0byBtYWNoaW5lLiBJdCBpcyBleHBlY3RlZCB0 byBiZSBhcm91bmQKMngKY29tcGFyZWQgdG8gQVZYMiBhbmQgdGhlcmUgaXMgbm8gY29yZSBjaGFu Z2UgYXBhcnQgZnJvbSBwcm9jZXNzaW5nIHRoZQpzY2FsYXIgbG9vcCB3aXRoIG1hc2tlZCBpbnN0 cnVjdGlvbnMuCgpUaGUgZGF0YSBkb2Vzbid0IGVudGlyZWx5IGxvb2sgY29uc2lzdGVudCBhcyBw ZXIgbXkgZXhwZWN0YXRpb25zLgpBbGwgdGhlIHNodWZmbGUgdmFyaWFudHMgYXJlIGVxdWl2YWxl bnQgaW4gdGhlIHdvcmsgdGhleSBkbywgeWV0IHRoZQpzcGVlZHVwcwphcmUgbm90IGNvbnNpc3Rl bnQgYXMgcGVyIHRoZSByZXBvcnQuCgpzaHVmZmxlX2J5dGVzXzAzMjFfYzogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDU2LjUgKCAxLjAweCkKc2h1ZmZsZV9ieXRlc18wMzIxX3Nz c2UzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNS4yICggMy43MHgpCnNodWZmbGVf Ynl0ZXNfMDMyMV9hdngyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAuMiAoIDUu NTF4KQpzaHVmZmxlX2J5dGVzXzAzMjFfYXZ4NTEyaWNsOiAgICAgICAgICAgICAgICAgICAgICAg ICAgICA5LjIgKCA2LjExeCkKc2h1ZmZsZV9ieXRlc18xMjMwX2M6ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA4NC41ICggMS4wMHgpCnNodWZmbGVfYnl0ZXNfMTIzMF9zc3NlMzog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQuMiAoIDUuOTN4KQpzaHVmZmxlX2J5dGVz XzEyMzBfYXZ4MjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1LjIgKCA1LjU0eCkK c2h1ZmZsZV9ieXRlc18xMjMwX2F2eDUxMmljbDogICAgICAgICAgICAgICAgICAgICAgICAgICAx MS4yICggNy41MXgpCnNodWZmbGVfYnl0ZXNfMjEwM19jOiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgNDguNSAoIDEuMDB4KQpzaHVmZmxlX2J5dGVzXzIxMDNfc3NzZTM6ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDIxLjIgKCAyLjI4eCkKc2h1ZmZsZV9ieXRlc18yMTAz X2F2eDI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMy44ICggMy41M3gpCnNodWZm bGVfYnl0ZXNfMjEwM19hdng1MTJpY2w6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkuMiAo IDUuMjR4KQpzaHVmZmxlX2J5dGVzXzMwMTJfYzogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDg0LjUgKCAxLjAweCkKc2h1ZmZsZV9ieXRlc18zMDEyX3Nzc2UzOiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAxNC4yICggNS45M3gpCnNodWZmbGVfYnl0ZXNfMzAxMl9hdngy OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTYuMiAoIDUuMjB4KQpzaHVmZmxlX2J5 dGVzXzMwMTJfYXZ4NTEyaWNsOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwLjIgKCA4LjI0 eCkKc2h1ZmZsZV9ieXRlc18zMjEwX2M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA4OS4yICggMS4wMHgpCnNodWZmbGVfYnl0ZXNfMzIxMF9zc3NlMzogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMjQuMiAoIDMuNjh4KQpzaHVmZmxlX2J5dGVzXzMyMTBfYXZ4MjogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2LjIgKCA1LjQ5eCkKc2h1ZmZsZV9ieXRlc18z MjEwX2F2eDUxMmljbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgOS4yICggOS42NXgpCgpJ IGNhbiBhZGQgdGhlIGRldGFpbHMgdG8gY29tbWl0IG1lc3NhZ2UgaWYgeW91IGNhbiBjb25maXJt IGlmIGl0IGlzIG5lZWRlZC4KClRoYW5rcywKU2hyZWVzaAoKT24gV2VkLCBKYW4gMjksIDIwMjUg YXQgNTo0NuKAr1BNIEFuZHJlYXMgUmhlaW5oYXJkdCA8CmFuZHJlYXMucmhlaW5oYXJkdEBvdXRs b29rLmNvbT4gd3JvdGU6Cgo+IFNocmVlc2ggQWRpZ2E6Cj4gPiBTaWduZWQtb2ZmLWJ5OiBTaHJl ZXNoIEFkaWdhIDwxNjU2N2FkaWdhc2hyZWVzaEBnbWFpbC5jb20+Cj4gPiAtLS0KPiA+IHYzOiBG aXggYnVpbGQgZmFpbHVyZSBvbiBvbGRlciBuYXNtIGJ5IHJlcGxhY2luZyAia21vdncgaywgdG1w dyIKPiA+ICAgICB3aXRoICJrbW92IGssIHRtcGQiIHdoaWNoIG1hdGNoZXMgImttb3Z3IGssIHIz MiIgc3ludGF4Lgo+ID4gdjI6IFRyaWVkIHRvIGFsaWduIG9wZXJhbmRzIGFuZCBpbXByb3ZlIGlu ZGVudGF0aW9uIGZvciBBU00gcm91dGluZS4KPiA+ICBsaWJzd3NjYWxlL3g4Ni9yZ2IycmdiLmMg ICAgIHwgMjEgKysrKysrKysrCj4gPiAgbGlic3dzY2FsZS94ODYvcmdiXzJfcmdiLmFzbSB8IDkw ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQo+ID4gIDIgZmlsZXMgY2hhbmdl ZCwgODAgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAtLWdpdCBh L2xpYnN3c2NhbGUveDg2L3JnYjJyZ2IuYyBiL2xpYnN3c2NhbGUveDg2L3JnYjJyZ2IuYwo+ID4g aW5kZXggNjc5MDU1MWEzOC4uNGNiZWQ1NGIzNSAxMDA2NDQKPiA+IC0tLSBhL2xpYnN3c2NhbGUv eDg2L3JnYjJyZ2IuYwo+ID4gKysrIGIvbGlic3dzY2FsZS94ODYvcmdiMnJnYi5jCj4gPiBAQCAt MjM2NCw2ICsyMzY0LDE2IEBAIHZvaWQgZmZfc2h1ZmZsZV9ieXRlc18yMDEzX2F2eDIoY29uc3Qg dWludDhfdAo+ICpzcmMsIHVpbnQ4X3QgKmRzdCwgaW50IHNyY19zaXplKTsKPiA+ICB2b2lkIGZm X3NodWZmbGVfYnl0ZXNfMjEzMF9hdngyKGNvbnN0IHVpbnQ4X3QgKnNyYywgdWludDhfdCAqZHN0 LCBpbnQKPiBzcmNfc2l6ZSk7Cj4gPiAgdm9pZCBmZl9zaHVmZmxlX2J5dGVzXzEyMDNfYXZ4Mihj b25zdCB1aW50OF90ICpzcmMsIHVpbnQ4X3QgKmRzdCwgaW50Cj4gc3JjX3NpemUpOwo+ID4KPiA+ ICt2b2lkIGZmX3NodWZmbGVfYnl0ZXNfMjEwM19hdng1MTJpY2woY29uc3QgdWludDhfdCAqc3Jj LCB1aW50OF90ICpkc3QsCj4gaW50IHNyY19zaXplKTsKPiA+ICt2b2lkIGZmX3NodWZmbGVfYnl0 ZXNfMDMyMV9hdng1MTJpY2woY29uc3QgdWludDhfdCAqc3JjLCB1aW50OF90ICpkc3QsCj4gaW50 IHNyY19zaXplKTsKPiA+ICt2b2lkIGZmX3NodWZmbGVfYnl0ZXNfMTIzMF9hdng1MTJpY2woY29u c3QgdWludDhfdCAqc3JjLCB1aW50OF90ICpkc3QsCj4gaW50IHNyY19zaXplKTsKPiA+ICt2b2lk IGZmX3NodWZmbGVfYnl0ZXNfMzAxMl9hdng1MTJpY2woY29uc3QgdWludDhfdCAqc3JjLCB1aW50 OF90ICpkc3QsCj4gaW50IHNyY19zaXplKTsKPiA+ICt2b2lkIGZmX3NodWZmbGVfYnl0ZXNfMzIx MF9hdng1MTJpY2woY29uc3QgdWludDhfdCAqc3JjLCB1aW50OF90ICpkc3QsCj4gaW50IHNyY19z aXplKTsKPiA+ICt2b2lkIGZmX3NodWZmbGVfYnl0ZXNfMzEwMl9hdng1MTJpY2woY29uc3QgdWlu dDhfdCAqc3JjLCB1aW50OF90ICpkc3QsCj4gaW50IHNyY19zaXplKTsKPiA+ICt2b2lkIGZmX3No dWZmbGVfYnl0ZXNfMjAxM19hdng1MTJpY2woY29uc3QgdWludDhfdCAqc3JjLCB1aW50OF90ICpk c3QsCj4gaW50IHNyY19zaXplKTsKPiA+ICt2b2lkIGZmX3NodWZmbGVfYnl0ZXNfMjEzMF9hdng1 MTJpY2woY29uc3QgdWludDhfdCAqc3JjLCB1aW50OF90ICpkc3QsCj4gaW50IHNyY19zaXplKTsK PiA+ICt2b2lkIGZmX3NodWZmbGVfYnl0ZXNfMTIwM19hdng1MTJpY2woY29uc3QgdWludDhfdCAq c3JjLCB1aW50OF90ICpkc3QsCj4gaW50IHNyY19zaXplKTsKPiA+ICsKPiA+ICB2b2lkIGZmX3V5 dnl0b3l1djQyMl9zc2UyKHVpbnQ4X3QgKnlkc3QsIHVpbnQ4X3QgKnVkc3QsIHVpbnQ4X3QgKnZk c3QsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpzcmMsIGlu dCB3aWR0aCwgaW50IGhlaWdodCwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBs dW1TdHJpZGUsIGludCBjaHJvbVN0cmlkZSwgaW50Cj4gc3JjU3RyaWRlKTsKPiA+IEBAIC0yNDU0 LDYgKzI0NjQsMTcgQEAgYXZfY29sZCB2b2lkIHJnYjJyZ2JfaW5pdF94ODYodm9pZCkKPiA+ICAg ICAgICAgIHNodWZmbGVfYnl0ZXNfMjEzMCA9IGZmX3NodWZmbGVfYnl0ZXNfMjEzMF9hdngyOwo+ ID4gICAgICAgICAgc2h1ZmZsZV9ieXRlc18xMjAzID0gZmZfc2h1ZmZsZV9ieXRlc18xMjAzX2F2 eDI7Cj4gPiAgICAgIH0KPiA+ICsgICAgaWYgKEVYVEVSTkFMX0FWWDUxMklDTChjcHVfZmxhZ3Mp KSB7Cj4gPiArICAgICAgICBzaHVmZmxlX2J5dGVzXzAzMjEgPSBmZl9zaHVmZmxlX2J5dGVzXzAz MjFfYXZ4NTEyaWNsOwo+ID4gKyAgICAgICAgc2h1ZmZsZV9ieXRlc18yMTAzID0gZmZfc2h1ZmZs ZV9ieXRlc18yMTAzX2F2eDUxMmljbDsKPiA+ICsgICAgICAgIHNodWZmbGVfYnl0ZXNfMTIzMCA9 IGZmX3NodWZmbGVfYnl0ZXNfMTIzMF9hdng1MTJpY2w7Cj4gPiArICAgICAgICBzaHVmZmxlX2J5 dGVzXzMwMTIgPSBmZl9zaHVmZmxlX2J5dGVzXzMwMTJfYXZ4NTEyaWNsOwo+ID4gKyAgICAgICAg c2h1ZmZsZV9ieXRlc18zMjEwID0gZmZfc2h1ZmZsZV9ieXRlc18zMjEwX2F2eDUxMmljbDsKPiA+ ICsgICAgICAgIHNodWZmbGVfYnl0ZXNfMzEwMiA9IGZmX3NodWZmbGVfYnl0ZXNfMzEwMl9hdng1 MTJpY2w7Cj4gPiArICAgICAgICBzaHVmZmxlX2J5dGVzXzIwMTMgPSBmZl9zaHVmZmxlX2J5dGVz XzIwMTNfYXZ4NTEyaWNsOwo+ID4gKyAgICAgICAgc2h1ZmZsZV9ieXRlc18yMTMwID0gZmZfc2h1 ZmZsZV9ieXRlc18yMTMwX2F2eDUxMmljbDsKPiA+ICsgICAgICAgIHNodWZmbGVfYnl0ZXNfMTIw MyA9IGZmX3NodWZmbGVfYnl0ZXNfMTIwM19hdng1MTJpY2w7Cj4gPiArICAgIH0KPiA+ICAgICAg aWYgKEVYVEVSTkFMX0FWWDJfRkFTVChjcHVfZmxhZ3MpKSB7Cj4gPiAgICAgICAgICB1eXZ5dG95 dXY0MjIgPSBmZl91eXZ5dG95dXY0MjJfYXZ4MjsKPiA+ICAjZW5kaWYKPiA+IGRpZmYgLS1naXQg YS9saWJzd3NjYWxlL3g4Ni9yZ2JfMl9yZ2IuYXNtIGIvbGlic3dzY2FsZS94ODYvcmdiXzJfcmdi LmFzbQo+ID4gaW5kZXggYjQ2OGJlYjEyZC4uY2E3YTQ4MTI1NSAxMDA2NDQKPiA+IC0tLSBhL2xp YnN3c2NhbGUveDg2L3JnYl8yX3JnYi5hc20KPiA+ICsrKyBiL2xpYnN3c2NhbGUveDg2L3JnYl8y X3JnYi5hc20KPiA+IEBAIC01Nyw0MCArNTcsNTMgQEAgU0VDVElPTiAudGV4dAo+ID4gICVtYWNy byBTSFVGRkxFX0JZVEVTIDQKPiA+ICBjZ2xvYmFsIHNodWZmbGVfYnl0ZXNfJTElMiUzJTQsIDMs IDUsIDIsIHNyYywgZHN0LCB3LCB0bXAsIHgKPiA+ICAgICAgVkJST0FEQ0FTVEkxMjggICAgbTAs IFtwYl9zaHVmZmxlJTElMiUzJTRdCj4gPiAtICAgIG1vdnN4ZGlmbmlkbiB3cSwgd2QKPiA+IC0g ICAgbW92IHhxLCB3cQo+ID4gLQo+ID4gLSAgICBhZGQgICAgICAgIHNyY3EsIHdxCj4gPiAtICAg IGFkZCAgICAgICAgZHN0cSwgd3EKPiA+IC0gICAgbmVnICAgICAgICAgIHdxCj4gPiAtCj4gPiAt O2NhbGMgc2NhbGFyIGxvb3AKPiA+ICsgICAgbW92c3hkaWZuaWRuICAgICAgd3EsIHdkCj4gPiAr ICAgIG1vdiAgICAgICAgICAgICAgIHhxLCB3cQo+ID4gKwo+ID4gKyAgICBhZGQgICAgICAgICAg ICAgc3JjcSwgd3EKPiA+ICsgICAgYWRkICAgICAgICAgICAgIGRzdHEsIHdxCj4gPiArICAgIG5l ZyAgICAgICAgICAgICAgIHdxCj4gPiArCj4gPiArJWlmIG1tc2l6ZSA9PSA2NAo+ID4gKyAgICBh bmQgICAgICAgICAgICAgICAgICAgIHhxLCBtbXNpemUgLSA0Cj4gPiArICAgIHNociAgICAgICAg ICAgICAgICAgICAgeHEsIDIKPiA+ICsgICAgbW92ICAgICAgICAgICAgICAgICAgdG1wZCwgLTEK PiA+ICsgICAgc2hseCAgICAgICAgICAgICAgICAgdG1wZCwgdG1wZCwgeGQKPiA+ICsgICAgbm90 ICAgICAgICAgICAgICAgICAgdG1wZAo+ID4gKyAgICBrbW92dyAgICAgICAgICAgICAgICAgIGs3 LCB0bXBkCj4gPiArICAgIHZtb3ZkcXUzMiAgICAgICBtMXtrN317en0sIFtzcmNxICsgd3FdCj4g PiArICAgIHBzaHVmYiAgICAgICAgICAgICAgICAgbTEsIG0wCj4gPiArICAgIHZtb3ZkcXUzMiBb ZHN0cSArIHdxXXtrN30sIG0xCj4gPiArICAgIGxlYSAgICAgICAgICAgICAgICAgICAgd3EsIFt3 cSArIDQgKiB4cV0KPiA+ICslZWxzZQo+ID4gKyAgICA7Y2FsYyBzY2FsYXIgbG9vcAo+ID4gICAg ICBhbmQgeHEsIG1tc2l6ZS00Cj4gPiAgICAgIGplIC5sb29wX3NpbWQKPiA+Cj4gPiAtLmxvb3Bf c2NhbGFyOgo+ID4gLSAgIG1vdiAgICAgICAgICB0bXBiLCBbc3JjcSArIHdxICsgJTFdCj4gPiAt ICAgbW92IFtkc3RxK3dxICsgMF0sIHRtcGIKPiA+IC0gICBtb3YgICAgICAgICAgdG1wYiwgW3Ny Y3EgKyB3cSArICUyXQo+ID4gLSAgIG1vdiBbZHN0cSt3cSArIDFdLCB0bXBiCj4gPiAtICAgbW92 ICAgICAgICAgIHRtcGIsIFtzcmNxICsgd3EgKyAlM10KPiA+IC0gICBtb3YgW2RzdHErd3EgKyAy XSwgdG1wYgo+ID4gLSAgIG1vdiAgICAgICAgICB0bXBiLCBbc3JjcSArIHdxICsgJTRdCj4gPiAt ICAgbW92IFtkc3RxK3dxICsgM10sIHRtcGIKPiA+IC0gICBhZGQgICAgICAgICAgICB3cSwgNAo+ ID4gLSAgIHN1YiAgICAgICAgICAgIHhxLCA0Cj4gPiAtICAgamcgLmxvb3Bfc2NhbGFyCj4gPiAt Cj4gPiAtO2NoZWNrIGlmIHNyY19zaXplIDwgbW1zaXplCj4gPiAtY21wIHdxLCAwCj4gPiAtamdl IC5lbmQKPiA+IC0KPiA+IC0ubG9vcF9zaW1kOgo+ID4gLSAgICBtb3Z1ICAgICAgICAgICBtMSwg W3NyY3Erd3FdCj4gPiAtICAgIHBzaHVmYiAgICAgICAgIG0xLCBtMAo+ID4gLSAgICBtb3Z1ICAg IFtkc3RxK3dxXSwgbTEKPiA+IC0gICAgYWRkICAgICAgICAgICAgd3EsIG1tc2l6ZQo+ID4gLSAg ICBqbCAubG9vcF9zaW1kCj4gPiArICAgIC5sb29wX3NjYWxhcjoKPiA+ICsgICAgICAgIG1vdiAg ICAgICAgICB0bXBiLCBbc3JjcSArIHdxICsgJTFdCj4gPiArICAgICAgICBtb3YgW2RzdHErd3Eg KyAwXSwgdG1wYgo+ID4gKyAgICAgICAgbW92ICAgICAgICAgIHRtcGIsIFtzcmNxICsgd3EgKyAl Ml0KPiA+ICsgICAgICAgIG1vdiBbZHN0cSt3cSArIDFdLCB0bXBiCj4gPiArICAgICAgICBtb3Yg ICAgICAgICAgdG1wYiwgW3NyY3EgKyB3cSArICUzXQo+ID4gKyAgICAgICAgbW92IFtkc3RxK3dx ICsgMl0sIHRtcGIKPiA+ICsgICAgICAgIG1vdiAgICAgICAgICB0bXBiLCBbc3JjcSArIHdxICsg JTRdCj4gPiArICAgICAgICBtb3YgW2RzdHErd3EgKyAzXSwgdG1wYgo+ID4gKyAgICAgICAgYWRk ICAgICAgICAgICAgd3EsIDQKPiA+ICsgICAgICAgIHN1YiAgICAgICAgICAgIHhxLCA0Cj4gPiAr ICAgICAgICBqZyAubG9vcF9zY2FsYXIKPiA+ICslZW5kaWYKPiA+ICsKPiA+ICsgICAgO2NoZWNr IGlmIHNyY19zaXplIDwgbW1zaXplCj4gPiArICAgIGNtcCB3cSwgMAo+ID4gKyAgICBqZ2UgLmVu ZAo+ID4gKwo+ID4gKyAgICAubG9vcF9zaW1kOgo+ID4gKyAgICAgICAgbW92dSAgICAgICAgICAg IG0xLCBbc3JjcSArIHdxXQo+ID4gKyAgICAgICAgcHNodWZiICAgICAgICAgIG0xLCBtMAo+ID4g KyAgICAgICAgbW92dSAgIFtkc3RxICsgd3FdLCBtMQo+ID4gKyAgICAgICAgYWRkICAgICAgICAg ICAgIHdxLCBtbXNpemUKPiA+ICsgICAgICAgIGpsIC5sb29wX3NpbWQKPiA+Cj4gPiAgLmVuZDoK PiA+ICAgICAgUkVUCj4gPiBAQCAtMTIyLDYgKzEzNSwyMSBAQCBTSFVGRkxFX0JZVEVTIDEsIDIs IDAsIDMKPiA+ICAlZW5kaWYKPiA+ICAlZW5kaWYKPiA+Cj4gPiArJWlmIEFSQ0hfWDg2XzY0Cj4g PiArJWlmIEhBVkVfQVZYNTEySUNMX0VYVEVSTkFMCj4gPiArSU5JVF9aTU0gYXZ4NTEyaWNsCj4g PiArU0hVRkZMRV9CWVRFUyAyLCAxLCAwLCAzCj4gPiArU0hVRkZMRV9CWVRFUyAwLCAzLCAyLCAx Cj4gPiArU0hVRkZMRV9CWVRFUyAxLCAyLCAzLCAwCj4gPiArU0hVRkZMRV9CWVRFUyAzLCAwLCAx LCAyCj4gPiArU0hVRkZMRV9CWVRFUyAzLCAyLCAxLCAwCj4gPiArU0hVRkZMRV9CWVRFUyAzLCAx LCAwLCAyCj4gPiArU0hVRkZMRV9CWVRFUyAyLCAwLCAxLCAzCj4gPiArU0hVRkZMRV9CWVRFUyAy LCAxLCAzLCAwCj4gPiArU0hVRkZMRV9CWVRFUyAxLCAyLCAwLCAzCj4gPiArJWVuZGlmCj4gPiAr JWVuZGlmCj4gPiArCj4gPgo+IDstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+ID4gIDsgdXl2eXRveXV2NDIyKHVpbnQ4X3QgKnlkc3QsIHVpbnQ4X3QgKnVkc3QsIHVpbnQ4 X3QgKnZkc3QsCj4gPiAgOyAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAqc3JjLCBpbnQgd2lk dGgsIGludCBoZWlnaHQsCj4gPiAtLQo+ID4gMi40NS4zCj4gPgo+IFdoeSBkb2VzIHRoZSBjb21t aXQgbWVzc2FnZSBub3QgY29udGFpbiBzcGVlZHVwIG51bWJlcnM/Cj4KPiAtIEFuZHJlYXMKPgo+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVn LWRldmVsIG1haWxpbmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9m Zm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4KPiBUbyB1bnN1YnNjcmli ZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1w ZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo+Cl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QKZmZt cGVnLWRldmVsQGZmbXBlZy5vcmcKaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8v ZmZtcGVnLWRldmVsCgpUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwK ZmZtcGVnLWRldmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJl Ii4K