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 5640646116 for ; Sat, 6 May 2023 12:16:56 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0E95E68C001; Sat, 6 May 2023 15:16:54 +0300 (EEST) Received: from mail-ot1-f46.google.com (mail-ot1-f46.google.com [209.85.210.46]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 250F968BF7E for ; Sat, 6 May 2023 15:16:47 +0300 (EEST) Received: by mail-ot1-f46.google.com with SMTP id 46e09a7af769-6a5f9c1200eso1076195a34.1 for ; Sat, 06 May 2023 05:16:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683375405; x=1685967405; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=M00G/wIEZKM+jlOiLMy5GQLRisIp4RFsfRh0b3lB5+Y=; b=mNOIdT6HDHcdD+AFpIiO7H0KAB9QZ29MptX8jdyByPz+EfCoiZiomdccd5tLKoIpIZ VtgXqobqfBezR/ShVc7Zk35ujaxtpvFevB4ZyccpfRipKRJ9STakLCw6fkLqNsqTfQ+0 sGELbnYx+XDdKrmL6jZexdrFaPiZfNo397wPI7pApwEpKUYxFpWguPlzBBpvfCflpxi9 bZX63SmhOEdWyVpe4EyVVJ/EhBK7rStsAxtcH75prdfmvmWKOARwVPm9C+OYfJBL1ETv RISL2iIVyzxElcQ4O4mT1tTHytwQSJAICpvzJAuKazflPrq4acHnLKeKMRZ9zOuGWsyI vv1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683375405; x=1685967405; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=M00G/wIEZKM+jlOiLMy5GQLRisIp4RFsfRh0b3lB5+Y=; b=B2kVZxmrHVKZMtORmJmtsuoosmlvts4k3KMFXR4HmNjlMXd4GYrRZlA4Lafai9Jjho OJn9z2lM+lt7yp2PG4y/qrh2ZZTw5L51UfyG70hEUfImuY/jrZmXknyhRgGql+gQC4uq E/bMevhDc4TYxiT5GiHDh0KBZTBPYRmYS/8yW9aP6t7blYm0KYHOEDGnASGDpP8+GvKk f0PfJmErDzjWiLr5qLyCWcx9ujVM6VDbC7kvVLmFS7oMzpgjs4P1k/61QQexDhu60b/c nLiGQomi/f4DsvHLE7GLNNRY6tgu5x1McDldj8PDCLU6TXnbRiHm6uwkW8j7ackSueSO ucew== X-Gm-Message-State: AC+VfDy+LpCTpnSrGgx0CtAMTsVrDgAxahRm1vSzV4IXwBiQxLKZ87R+ jku4lWHpukB0tSnp9SPm/r6XGgo8qcU= X-Google-Smtp-Source: ACHHUZ6t5qIUcrepAnnAJhRpIj+agp1Cf+LHWHgvTOHOt3d83pqCJ0MXlrsusfNz4+ZzH2tBPeeT6w== X-Received: by 2002:a9d:7a82:0:b0:6a9:2b38:361c with SMTP id l2-20020a9d7a82000000b006a92b38361cmr1941796otn.19.1683375405315; Sat, 06 May 2023 05:16:45 -0700 (PDT) Received: from [192.168.0.12] (host197.190-225-105.telecom.net.ar. [190.225.105.197]) by smtp.gmail.com with ESMTPSA id p21-20020a056830131500b006a41ab165dfsm281955otq.34.2023.05.06.05.16.43 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 06 May 2023 05:16:44 -0700 (PDT) Message-ID: <906661ca-a390-be82-504e-f586fdd97d74@gmail.com> Date: Sat, 6 May 2023 09:16:51 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.10.1 To: ffmpeg-devel@ffmpeg.org References: <1683323657-20687-1-git-send-email-dheitmueller@ltnglobal.com> Content-Language: en-US From: James Almer In-Reply-To: Subject: Re: [FFmpeg-devel] [RFC/PATCH] bitpacked_dec: Optimization for bitpacked_dec decoder performance 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: T24gNS82LzIwMjMgOToxMyBBTSwgRGV2aW4gSGVpdG11ZWxsZXIgd3JvdGU6Cj4gSSBhZGRlZCBz b21lIGluc3RydW1lbnRhdGlvbiB2aWEgdGhlIGF0dGFjaGVkIHBhdGNoLiAgWW91IGNhbiBzZWUg dGhlCj4gYmVuZWZpdHMgaGVyZToKPiAKPiBCZWZvcmU9MTY4MzM3ODA1Ny4yNDMzNTAgQWZ0ZXIg MTY4MzM3ODA1Ny4yNjQyMzkKPiBCZWZvcmU9MTY4MzM3ODA4My4zMzU0MjQgQWZ0ZXIgMTY4MzM3 ODA4My4zNTY0NDAKPiBCZWZvcmU9MTY4MzM3ODA4OS42NzU0MDAgQWZ0ZXIgMTY4MzM3ODA4OS42 OTY1MTIKPiBCZWZvcmU9MTY4MzM3ODE1MS43OTIzMjQgQWZ0ZXIgMTY4MzM3ODE1MS44MTM1NzkK PiAyMSBtcyBwZXIgcnVuCj4gCj4gQWZ0ZXIgcGF0Y2g6Cj4gQmVmb3JlPTE2ODMzNzgyMjIuMTY3 Nzk2IEFmdGVyIDE2ODMzNzgyMjIuMTc1NzYwCj4gQmVmb3JlPTE2ODMzNzgyMzMuMTMxNDE2IEFm dGVyIDE2ODMzNzgyMzMuMTM5MzI2Cj4gQmVmb3JlPTE2ODMzNzgyNDMuNTkxODk1IEFmdGVyIDE2 ODMzNzgyNDMuNTk5ODQwCj4gOCBtcyBwZXIgcnVuCj4gCj4gTm90ZTogdGhpcyBpcyBhIGRpZmZl cmVudCBwbGF0Zm9ybSB0aGFuIEkgZGlkIHRoZSBvcmlnaW5hbCBkZXZlbG9wbWVudAo+IG9uLCBh bmQgYXBwYXJlbnRseSB0aGUgaW1wcm92ZW1lbnQgb24gdGhpcyBwYXJ0aWN1bGFyIGJveCBpcyBv bmx5IDIuNXgKPiByYXRoZXIgdGhhbiA0eC4KPiAKPiBEZXZpbgoKQ2FuIHlvdSBiZW5jaCB3aXRo IHRoZSBTVEFSVF9USU1FUiBhbmQgU1RPUF9USU1FUiBtYWNyb3MgaW4gdGltZXIuaD8KQWxzbywg ZGVmaW5lIENBQ0hFRF9CSVRTVFJFQU1fUkVBREVSIGluIGJpdHBhY2tlZF9kZWMuYyBiZWZvcmUg aW5jbHVkaW5nIApnaXRfYml0cy5oIGFuZCB0ZXN0IHRoZSBhY3R1YWwgaW1wbGVtZW50YXRpb24g YWdhaW4sIHRvIHNlZSBpZiBpdCBtYWtlcyAKYW55IGRpZmZlcmVuY2UuCgo+IAo+IAo+IE9uIFNh dCwgTWF5IDYsIDIwMjMgYXQgNzo1M+KAr0FNIFBhdWwgQiBNYWhvbCA8b25lbWRhQGdtYWlsLmNv bT4gd3JvdGU6Cj4+Cj4+IE9uIFNhdCwgTWF5IDYsIDIwMjMgYXQgMTozMuKAr1BNIExhbmNlIFdh bmcgPGxhbmNlLmxtd2FuZ0BnbWFpbC5jb20+IHdyb3RlOgo+Pgo+Pj4gT24gU2F0LCBNYXkgNiwg MjAyMyBhdCA0OjU44oCvQU0gRGV2aW4gSGVpdG11ZWxsZXIgPAo+Pj4gZGV2aW4uaGVpdG11ZWxs ZXJAbHRuZ2xvYmFsLmNvbT4gd3JvdGU6Cj4+Pgo+Pj4+IFJld29yayB0aGUgY29kZSBhIGJpdCB0 byBzcGVlZCB1cCB0aGUgMTAtYml0IGJpdHBhY2tlZCBkZWNvZGluZwo+Pj4+IHJvdXRpbmUuICBU aGlzIGlzIHByb2JhYmx5IGFib3V0IGFzIGZhc3QgYXMgSSBjYW4gZ2V0IGl0IHdpdGhvdXQKPj4+ PiBzd2l0Y2hpbmcgdG8gYXNzZW1ibHkgbGFuZ3VhZ2UuCj4+Pj4KPj4+PiBEZW1vbnN0cmF0YWJs ZSB3aXRoOgo+Pj4+Cj4+Pj4gLi9mZm1wZWcgLWYgbGF2ZmkgLWkgInNtcHRlaGRiYXJzPXNpemU9 Mzg0MHgyMTYwIiAtYyBiaXRwYWNrZWQgLWYgaW1hZ2UyCj4+Pj4gLWZyYW1lczp2IDEgc291cmNl Lnl1dgo+Pj4+IC4vZmZtcGVnIC1mIGJpdHBhY2tlZCAtcGl4X2ZtdCB5dXY0MjJwMTBsZSAtcyAz ODQweDIxNjAgLWM6diBiaXRwYWNrZWQgLWkKPj4+PiBzb3VyY2UueXV2IC1waXhfZm10IHl1djQy MnAxMGxlIG91dC55dXYKPj4+Pgo+Pj4+IE9uIG15IGRldmVsb3BtZW50IHN5c3RlbSwgaXQgd2Vu dCBmcm9tIDgwbXMgZm9yIGEgMjE2MHAgZnJhbWUKPj4+PiBkb3duIHRvIDIwbXMgKGkuZS4gYSA0 WCBzcGVlZHVwKS4gIEdvb2QgZW5vdWdoIGZvciBub3csIEkgaG9wZS4uLgo+Pj4+Cj4+Pj4KPj4+ IEZZSSwgb24gbXkgZGV2ZWxvcG1lbnQgc3lzdGVtLCBJIHJ1biB0d28gdGltZSBmb3IgdGhlIG9y aWdpbmFsIGFuZCBtb2RpZmllZAo+Pj4gdmVyc2lvbiBhbmQgbm8gb2J2aW91cyBkaWZmZXJlbmNl Ogo+Pj4gLi9mZm1wZWcgLWYgbGF2ZmkgLWkgInNtcHRlaGRiYXJzPXNpemU9Mzg0MHgyMTYwIiAt YyBiaXRwYWNrZWQgLWZyYW1lczp2IDI1Cj4+PiBzb3VyY2UueXV2Cj4+PiB0aW1lIC4vZmZtcGVn IC1mIGJpdHBhY2tlZCAtcGl4X2ZtdCB5dXY0MjJwMTBsZSAtcyAzODQweDIxNjAgLWM6diBiaXRw YWNrZWQKPj4+IC1pIHNvdXJjZS55dXYgLXBpeF9mbXQgeXV2NDIycDEwbGUgb3V0Lnl1dgo+Pj4g ZnJhbWU9ICAgMjUgZnBzPTAuMCBxPS0wLjAgTHNpemU9ICA4MTAwMDBrQiB0aW1lPTAwOjAwOjAw Ljk2Cj4+PiBiaXRyYXRlPTY5MTIwMDAuMGtiaXRzL3Mgc3BlZWQ9MS4xM3gKPj4+Cj4+PiByZWFs IDBtMC45NjFzCj4+PiB1c2VyIDBtMS4wODZzCj4+PiBzeXMgMG0xLjM2MHMKPj4+Cj4+PiBmcmFt ZT0gICAyNSBmcHM9MC4wIHE9LTAuMCBMc2l6ZT0gIDgxMDAwMGtCIHRpbWU9MDA6MDA6MDAuOTYK Pj4+IGJpdHJhdGU9NjkxMjAwMC4wa2JpdHMvcyBzcGVlZD0xLjE2eAo+Pj4KPj4+IHJlYWwgMG0w LjkzNnMKPj4+IHVzZXIgMG0xLjM1OHMKPj4+IHN5cyAwbTEuMzUwcwo+Pj4KPj4+IGFmdGVyIGFw cGx5IHRoZSBwYXRjaDoKPj4+IGZyYW1lPSAgIDI1IGZwcz0wLjAgcT0tMC4wIExzaXplPSAgODEw MDAwa0IgdGltZT0wMDowMDowMC45Ngo+Pj4gYml0cmF0ZT02OTEyMDAwLjBrYml0cy9zIHNwZWVk PTEuMTR4Cj4+Pgo+Pj4gcmVhbCAwbTAuOTUzcwo+Pj4gdXNlciAwbTAuOTA2cwo+Pj4gc3lzIDBt MS40MzhzCj4+Pgo+Pj4gZnJhbWU9ICAgMjUgZnBzPTAuMCBxPS0wLjAgTHNpemU9ICA4MTAwMDBr QiB0aW1lPTAwOjAwOjAwLjk2Cj4+PiBiaXRyYXRlPTY5MTIwMDAuMGtiaXRzL3Mgc3BlZWQ9MS4x N3gKPj4+Cj4+PiByZWFsIDBtMC45MjJzCj4+PiB1c2VyIDBtMC45MjZzCj4+PiBzeXMgMG0xLjA2 NnMKPj4+Cj4+Cj4+IE9ubHkgMjUgZnJhbWVzPwo+PiBUaGlzIGlzIGZsYXdlZC4KPj4KPj4KPj4+ Cj4+Pgo+Pj4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBEZXZpbiBIZWl0bXVlbGxlciA8ZGhlaXRtdWVs bGVyQGx0bmdsb2JhbC5jb20+Cj4+Pj4gLS0tCj4+Pj4gICBsaWJhdmNvZGVjL2JpdHBhY2tlZF9k ZWMuYyB8IDE3ICsrKysrKystLS0tLS0tLS0tCj4+Pj4gICAxIGZpbGUgY2hhbmdlZCwgNyBpbnNl cnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKPj4+Pgo+Pj4+IGRpZmYgLS1naXQgYS9saWJhdmNv ZGVjL2JpdHBhY2tlZF9kZWMuYyBiL2xpYmF2Y29kZWMvYml0cGFja2VkX2RlYy5jCj4+Pj4gaW5k ZXggYTFmZmVmMS4uOTZhYmEyNyAxMDA2NDQKPj4+PiAtLS0gYS9saWJhdmNvZGVjL2JpdHBhY2tl ZF9kZWMuYwo+Pj4+ICsrKyBiL2xpYmF2Y29kZWMvYml0cGFja2VkX2RlYy5jCj4+Pj4gQEAgLTI4 LDcgKzI4LDYgQEAKPj4+Pgo+Pj4+ICAgI2luY2x1ZGUgImF2Y29kZWMuaCIKPj4+PiAgICNpbmNs dWRlICJjb2RlY19pbnRlcm5hbC5oIgo+Pj4+IC0jaW5jbHVkZSAiZ2V0X2JpdHMuaCIKPj4+PiAg ICNpbmNsdWRlICJsaWJhdnV0aWwvaW1ndXRpbHMuaCIKPj4+PiAgICNpbmNsdWRlICJ0aHJlYWQu aCIKPj4+Pgo+Pj4+IEBAIC02NSw3ICs2NCw3IEBAIHN0YXRpYyBpbnQgYml0cGFja2VkX2RlY29k ZV95dXY0MjJwMTAoQVZDb2RlY0NvbnRleHQKPj4+PiAqYXZjdHgsIEFWRnJhbWUgKmZyYW1lLAo+ Pj4+ICAgewo+Pj4+ICAgICAgIHVpbnQ2NF90IGZyYW1lX3NpemUgPSAodWludDY0X3QpYXZjdHgt PndpZHRoICoKPj4+PiAodWludDY0X3QpYXZjdHgtPmhlaWdodCAqIDIwOwo+Pj4+ICAgICAgIHVp bnQ2NF90IHBhY2tldF9zaXplID0gKHVpbnQ2NF90KWF2cGt0LT5zaXplICogODsKPj4+PiAtICAg IEdldEJpdENvbnRleHQgYmM7Cj4+Pj4gKyAgICB1aW50OF90ICpzcmM7Cj4+Pj4gICAgICAgdWlu dDE2X3QgKnksICp1LCAqdjsKPj4+PiAgICAgICBpbnQgcmV0LCBpLCBqOwo+Pj4+Cj4+Pj4gQEAg LTc5LDIwICs3OCwxOCBAQCBzdGF0aWMgaW50IGJpdHBhY2tlZF9kZWNvZGVfeXV2NDIycDEwKEFW Q29kZWNDb250ZXh0Cj4+Pj4gKmF2Y3R4LCBBVkZyYW1lICpmcmFtZSwKPj4+PiAgICAgICBpZiAo YXZjdHgtPndpZHRoICUgMikKPj4+PiAgICAgICAgICAgcmV0dXJuIEFWRVJST1JfUEFUQ0hXRUxD T01FOwo+Pj4+Cj4+Pj4gLSAgICByZXQgPSBpbml0X2dldF9iaXRzKCZiYywgYXZwa3QtPmRhdGEs IGF2Y3R4LT53aWR0aCAqIGF2Y3R4LT5oZWlnaHQgKgo+Pj4+IDIwKTsKPj4+PiAtICAgIGlmIChy ZXQpCj4+Pj4gLSAgICAgICAgcmV0dXJuIHJldDsKPj4+PiAtCj4+Pj4gKyAgICBzcmMgPSBhdnBr dC0+ZGF0YTsKPj4+PiAgICAgICBmb3IgKGkgPSAwOyBpIDwgYXZjdHgtPmhlaWdodDsgaSsrKSB7 Cj4+Pj4gICAgICAgICAgIHkgPSAodWludDE2X3QqKShmcmFtZS0+ZGF0YVswXSArIGkgKiBmcmFt ZS0+bGluZXNpemVbMF0pOwo+Pj4+ICAgICAgICAgICB1ID0gKHVpbnQxNl90KikoZnJhbWUtPmRh dGFbMV0gKyBpICogZnJhbWUtPmxpbmVzaXplWzFdKTsKPj4+PiAgICAgICAgICAgdiA9ICh1aW50 MTZfdCopKGZyYW1lLT5kYXRhWzJdICsgaSAqIGZyYW1lLT5saW5lc2l6ZVsyXSk7Cj4+Pj4KPj4+ PiAgICAgICAgICAgZm9yIChqID0gMDsgaiA8IGF2Y3R4LT53aWR0aDsgaiArPSAyKSB7Cj4+Pj4g LSAgICAgICAgICAgICp1KysgPSBnZXRfYml0cygmYmMsIDEwKTsKPj4+PiAtICAgICAgICAgICAg KnkrKyA9IGdldF9iaXRzKCZiYywgMTApOwo+Pj4+IC0gICAgICAgICAgICAqdisrID0gZ2V0X2Jp dHMoJmJjLCAxMCk7Cj4+Pj4gLSAgICAgICAgICAgICp5KysgPSBnZXRfYml0cygmYmMsIDEwKTsK Pj4+PiArICAgICAgICAgICAgKnUrKyA9IChzcmNbMF0gPDwgMikgfCAoc3JjWzFdID4+IDYpOwo+ Pj4+ICsgICAgICAgICAgICAqeSsrID0gKChzcmNbMV0gPDwgNCkgfCAoc3JjWzJdID4+IDQpKSAm IDB4M2ZmOwo+Pj4+ICsgICAgICAgICAgICAqdisrID0gKChzcmNbMl0gPDwgNikgfCAoc3JjWzNd ID4+IDIpKSAmIDB4M2ZmOwo+Pj4+ICsgICAgICAgICAgICAqeSsrID0gKChzcmNbM10gPDwgOCkg fCAoc3JjWzRdKSkgICAgICAmIDB4M2ZmOwo+Pj4+ICsgICAgICAgICAgICBzcmMgKz0gNTsKPj4+ PiAgICAgICAgICAgfQo+Pj4+ICAgICAgIH0KPj4+Pgo+Pj4+IC0tCj4+Pj4gMS44LjMuMQo+Pj4+ Cj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+ PiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4+Pj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcK Pj4+PiBodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPj4+ Pgo+Pj4+IFRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbAo+Pj4+IGZm bXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIu Cj4+Pj4KPj4+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4+PiBmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4+PiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9y Zwo+Pj4gaHR0cHM6Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4+ Pgo+Pj4gVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4+PiBmZm1w ZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo+ Pj4KPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4g ZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdAo+PiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+PiBo dHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPj4KPj4gVG8g dW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4+IGZmbXBlZy1kZXZlbC1y ZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmliZSIuCj4gCj4gCj4gCj4g Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBmZm1w ZWctZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKPiBodHRwczov L2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKPiAKPiBUbyB1bnN1YnNj cmliZSwgdmlzaXQgbGluayBhYm92ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBm Zm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0CmZm bXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWls CmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNjcmli ZSIuCg==