From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Jones Subject: [PATCH] drm: Generalized NV Block Linear DRM format mod Date: Mon, 14 Oct 2019 15:13:21 -0700 Message-ID: <20191014221321.8163-2-jajones@nvidia.com> References: <20191014221321.8163-1-jajones@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191014221321.8163-1-jajones@nvidia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ben Skeggs , David Airlie , Daniel Vetter Cc: nouveau@lists.freedesktop.org, James Jones , dri-devel@lists.freedesktop.org List-Id: nouveau.vger.kernel.org QnVpbGRzIHVwb24gdGhlIGV4aXN0aW5nIE5WSURJQSAxNkJ4MiBibG9jayBsaW5lYXIKZm9ybWF0 IG1vZGlmaWVycyBieSBhZGRpbmcgbW9yZSAiZmllbGRzIiB0byB0aGUKZXhpc3RpbmcgcGFyYW1l dGVyaXplZApEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0sgZm9ybWF0IG1vZGlmaWVy Cm1hY3JvIHRoYXQgYWxsb3cgZnVsbHkgZGVmaW5pbmcgYSB1bmlxdWUtYWNyb3NzLQphbGwtTlZJ RElBLWhhcmR3YXJlIGJpdCBsYXlvdXQgdXNpbmcgYSBtaW5pbWFsCnNldCBvZiBmaWVsZHMgYW5k IHZhbHVlcy4gIFRoZSBuZXcgbW9kaWZpZXIgbWFjcm8KRFJNX0ZPUk1BVF9NT0RfTlZJRElBX0JM T0NLX0xJTkVBUl8yRCBpcwplZmZlY3RpdmVseSBiYWNrd2FyZHMgY29tcGF0aWJsZSB3aXRoIHRo ZSBleGlzdGluZwptYWNybywgaW50cm9kdWNpbmcgYSBzdXBlcnNldCBvZiB0aGUgcHJldmlvdXNs eQpkZWZpbmFibGUgZm9ybWF0IG1vZGlmaWVycy4KCkJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGhh cyB0d28gcXVpcmtzLiAgRmlyc3QsCnRoZSB6ZXJvIHZhbHVlIGZvciB0aGUgImtpbmQiIGZpZWxk LCB3aGljaCBpcwppbXBsaWVkIGJ5IHRoZSBEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxP Q0sKbWFjcm8sIG11c3QgYmUgc3BlY2lhbCBjYXNlZCBpbiBkcml2ZXJzIGFuZAphc3N1bWVkIHRv IG1hcCB0byB0aGUgcHJlLVR1cmluZyBnZW5lcmljIGtpbmQgb2YKMHhmZSwgc2luY2UgYSBraW5k IG9mICJ6ZXJvIiBpcyByZXNlcnZlZCBmb3IKbGluZWFyIGJ1ZmZlciBsYXlvdXRzIG9uIGFsbCBH UFVzLgoKU2Vjb25kLCBpdCBpcyBhc3N1bWVkIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CmlzIG9u bHkgbmVlZGVkIHdoZW4gcnVubmluZyBvbiBUZWdyYSBHUFVzLCBhbmQKc3BlY2lmaWNhbGx5IFRl Z3JhIEdQVXMgcHJpb3IgdG8gWGF2aWVyLiAgVGhpcwppcyBiYXNlZCBvbiB0d28gYXNzZXJ0aW9u czoKCi1UZWdyYSBHUFVzIHByaW9yIHRvIFhhdmllciB1c2VkIGEgc2xpZ2h0bHkKIGRpZmZlcmVu dCByYXcgYml0IGxheW91dCB0aGFuIGRlc2t0b3AgR1BVcywKIG1ha2luZyBpdCBpbXBvc3NpYmxl IHRvIGRpcmVjdGx5IHNoYXJlIGJsb2NrCiBsaW5lYXIgYnVmZmVycyBiZXR3ZWVuIHRoZSB0d28u CgotU3VwcG9ydCBmb3IgdGhlIGV4aXN0aW5nIGJsb2NrIGxpbmVhciBtb2RpZmllcnMKIHdhcyBp bmNvbXBsZXRlLCBtYWtpbmcgdGhlbSB1c2VmdWwgb25seSBmb3IKIGV4cG9ydGluZyBidWZmZXJz IGNyZWF0ZWQgYnkgbm91dmVhdSBhbmQKIGltcG9ydGluZyB0aGVtIHRvIFRlZ3JhIERSTSBhcyBm cmFtZWJ1ZmZlcnMgZm9yCiBzY2FuIG91dC4gIFRoZXJlIHdhcyBubyBzdXBwb3J0IGZvciBhZGRp bmcKIGZyYW1lYnVmZmVycyB1c2luZyBmb3JtYXQgbW9kaWZpZXJzIGluIG5vdXZlYXUsCiBub3Ig aW1wb3J0aW5nIGRtYS1idWYvUFJJTUUgR0VNIG9iamVjdHMgaW50bwogbm91dmVhdSB1c2Vyc3Bh Y2UgZHJpdmVycyB3aXRoIG1vZGlmaWVycyBpbiBNZXNhLgoKSGVuY2UgaXQgaXMgYXNzdW1lZCB0 aGUgcHJpb3IgbW9kaWZpZXJzIHdlcmUgbm90CmludGVuZGVkIGZvciB1c2Ugb24gZGVza3RvcCBH UFVzLCBhbmQgYXMgYQpjb3Jyb2xhcnksIHdlcmUgbm90IGludGVuZGVkIHRvIHN1cHBvcnQgc2hh cmluZwpibG9jayBsaW5lYXIgYnVmZmVycyBhY3Jvc3MgdHdvIGRpZmZlcmVudCBOVklESUEKR1BV cy4KClNpZ25lZC1vZmYtYnk6IEphbWVzIEpvbmVzIDxqYWpvbmVzQG52aWRpYS5jb20+Ci0tLQog aW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmggfCAxMDggKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCA4IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oIGIvaW5j bHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmgKaW5kZXggM2ZlZWFhM2Y5ODdhLi5jYzk4NTNkNDJh MjQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oCisrKyBiL2luY2x1 ZGUvdWFwaS9kcm0vZHJtX2ZvdXJjYy5oCkBAIC00OTcsNyArNDk3LDk5IEBAIGV4dGVybiAiQyIg ewogI2RlZmluZSBEUk1fRk9STUFUX01PRF9OVklESUFfVEVHUkFfVElMRUQgZm91cmNjX21vZF9j b2RlKE5WSURJQSwgMSkKIAogLyoKLSAqIDE2QngyIEJsb2NrIExpbmVhciBsYXlvdXQsIHVzZWQg YnkgZGVza3RvcCBHUFVzLCBhbmQgVGVncmEgSzEgYW5kIGxhdGVyCisgKiBHZW5lcmFsaXplZCBC bG9jayBMaW5lYXIgbGF5b3V0LCB1c2VkIGJ5IGRlc2t0b3AgR1BVcyBzdGFydGluZyB3aXRoIE5W NTAvRzgwLAorICogYW5kIFRlZ3JhIEdQVXMgc3RhcnRpbmcgd2l0aCBUZWdyYSBLMS4KKyAqCisg KiBQaXhlbHMgYXJlIGFycmFuZ2VkIGluIEdyb3VwcyBvZiBCeXRlcyAoR09CcykuICBHT0Igc2l6 ZSBhbmQgbGF5b3V0IHZhcmllcworICogYmFzZWQgb24gdGhlIGFyY2hpdGVjdHVyZSBnZW5lcmF0 aW9uLiAgR09CcyB0aGVtc2VsdmVzIGFyZSB0aGVuIGFycmFuZ2VkIGluCisgKiAzRCBibG9ja3Ms IHdpdGggdGhlIGJsb2NrIGRpbWVuc2lvbnMgKGluIHRlcm1zIG9mIEdPQnMpIGFsd2F5cyBiZWlu ZyBhIHBvd2VyCisgKiBvZiB0d28sIGFuZCBoZW5jZSBleHByZXNzaWJsZSBhcyB0aGVpciBsb2cy IGVxdWl2YWxlbnQgKEUuZy4sICIyIiByZXByZXNlbnRzCisgKiBhIGJsb2NrIGRlcHRoIG9yIGhl aWdodCBvZiAiNCIpLgorICoKKyAqIENoYXB0ZXIgMjAgIlBpeGVsIE1lbW9yeSBGb3JtYXRzIiBv ZiB0aGUgVGVncmEgWDEgVFJNIGRlc2NyaWJlcyB0aGlzIGZvcm1hdAorICogaW4gZnVsbCBkZXRh aWwuCisgKgorICogICAgICAgTWFjcm8KKyAqIEJpdHMgIFBhcmFtIERlc2NyaXB0aW9uCisgKiAt LS0tICAtLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqICAzOjAgIGggICAgIGxvZzIoaGVpZ2h0KSBvZiBl YWNoIGJsb2NrLCBpbiBHT0JzLiAgUGxhY2VkIGhlcmUgZm9yCisgKiAgICAgICAgICAgICBjb21w YXRpYmlsaXR5IHdpdGggdGhlIGV4aXN0aW5nCisgKiAgICAgICAgICAgICBEUk1fRk9STUFUX01P RF9OVklESUFfMTZCWDJfQkxPQ0soKS1iYXNlZCBtb2RpZmllcnMuCisgKgorICogIDQ6NCAgLSAg ICAgTXVzdCBiZSAxLCB0byBpbmRpY2F0ZSBibG9jay1saW5lYXIgbGF5b3V0LiAgTmVjZXNzYXJ5 IGZvcgorICogICAgICAgICAgICAgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBleGlzdGluZworICog ICAgICAgICAgICAgRFJNX0ZPUk1BVF9NT0RfTlZJRElBXzE2QlgyX0JMT0NLKCktYmFzZWQgbW9k aWZpZXJzLgorICoKKyAqICA4OjUgIC0gICAgIFJlc2VydmVkIChUbyBzdXBwb3J0IDNELXN1cmZh Y2VzIHdpdGggdmFyaWFibGUgbG9nMihkZXB0aCkgYmxvY2sKKyAqICAgICAgICAgICAgIHNpemUp LiAgTXVzdCBiZSB6ZXJvLgorICoKKyAqICAgICAgICAgICAgIE5vdGUgdGhlcmUgaXMgbm8gbG9n Mih3aWR0aCkgcGFyYW1ldGVyLiAgU29tZSBwb3J0aW9ucyBvZiB0aGUKKyAqICAgICAgICAgICAg IGhhcmR3YXJlIHN1cHBvcnQgYSBibG9jayB3aWR0aCBvZiB0d28gZ29icywgYnV0IGl0IGlzIGlt cHJhY3RpY2FsCisgKiAgICAgICAgICAgICB0byB1c2UgZHVlIHRvIGxhY2sgb2Ygc3VwcG9ydCBl bHNld2hlcmUsIGFuZCBoYXMgbm8ga25vd24KKyAqICAgICAgICAgICAgIGJlbmVmaXRzLgorICoK KyAqIDExOjkgIC0gICAgIFJlc2VydmVkIChUbyBzdXBwb3J0IDJELWFycmF5IHRleHR1cmVzIHdp dGggdmFyaWFibGUgYXJyYXkgc3RyaWRlCisgKiAgICAgICAgICAgICBpbiBibG9ja3MsIHNwZWNp ZmllZCB2aWEgbG9nMih0aWxlIHdpZHRoIGluIGJsb2NrcykpLiAgTXVzdCBiZQorICogICAgICAg ICAgICAgemVyby4KKyAqCisgKiAxOToxMiBrICAgICBQYWdlIEtpbmQuICBUaGlzIHZhbHVlIGRp cmVjdGx5IG1hcHMgdG8gYSBmaWVsZCBpbiB0aGUgcGFnZQorICogICAgICAgICAgICAgdGFibGVz IG9mIGFsbCBHUFVzID49IE5WNTAuICBJdCBhZmZlY3RzIHRoZSBleGFjdCBsYXlvdXQgb2YgYml0 cworICogICAgICAgICAgICAgaW4gbWVtb3J5IGFuZCBjYW4gYmUgZGVyaXZlZCBmcm9tIHRoZSB0 dXBsZQorICoKKyAqICAgICAgICAgICAgICAgKGZvcm1hdCwgR1BVIG1vZGVsLCBjb21wcmVzc2lv biB0eXBlLCBzYW1wbGVzIHBlciBwaXhlbCkKKyAqCisgKiAgICAgICAgICAgICBXaGVyZSBjb21w cmVzc2lvbiB0eXBlIGlzIGRlZmluZWQgYmVsb3cuICBJZiBHUFUgbW9kZWwgd2VyZQorICogICAg ICAgICAgICAgaW1wbGllZCBieSB0aGUgZm9ybWF0IG1vZGlmaWVyLCBmb3JtYXQsIG9yIG1lbW9y eSBidWZmZXIsIHBhZ2UKKyAqICAgICAgICAgICAgIGtpbmQgd291bGQgbm90IG5lZWQgdG8gYmUg aW5jbHVkZWQgaW4gdGhlIG1vZGlmaWVyIGl0c2VsZiwgYnV0CisgKiAgICAgICAgICAgICBzaW5j ZSB0aGUgbW9kaWZpZXIgc2hvdWxkIGRlZmluZSB0aGUgbGF5b3V0IG9mIHRoZSBhc3NvY2lhdGVk CisgKiAgICAgICAgICAgICBtZW1vcnkgYnVmZmVyIGluZGVwZW5kZW50IGZyb20gYW55IGRldmlj ZSBvciBvdGhlciBjb250ZXh0LCBpdAorICogICAgICAgICAgICAgbXVzdCBiZSBpbmNsdWRlZCBo ZXJlLgorICoKKyAqICAgICAgICAgICAgIFRvIGdyYW5kZmF0aGVyIGluIHByaW9yIGJsb2NrIGxp bmVhciBmb3JtYXQgbW9kaWZpZXJzIHRvIHRoaXMKKyAqICAgICAgICAgICAgIGxheW91dCwgdGhl IHBhZ2Uga2luZCAiMCIsIHdoaWNoIGNvcnJlc3BvbmRzIHRvICJwaXRjaC9saW5lYXIiCisgKiAg ICAgICAgICAgICBhbmQgaGVuY2UgaXMgdW51c2FibGUgd2l0aCBibG9jay1saW5lYXIgbGF5b3V0 cywgaXMgcmVtYXBwZWQKKyAqICAgICAgICAgICAgIHdpdGhpbiBkcml2ZXJzIHRvIHRoZSB2YWx1 ZSAweGZlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUKKyAqICAgICAgICAgICAgICJnZW5lcmlj IiBraW5kIHVzZWQgZm9yIHNpbXBsZSBzaW5nbGUtc2FtcGxlIGNvbG9yIGZvcm1hdHMgb24KKyAq ICAgICAgICAgICAgIHByZS1UdXJpbmcgR1BVcy4KKyAqCisgKiAyMToyMCBnICAgICBHT0IgSGVp Z2h0IGFuZCBQYWdlIEtpbmQgR2VuZXJhdGlvbi4gIFRoZSBoZWlnaHQgb2YgYSBHT0IgY2hhbmdl ZAorICogICAgICAgICAgICAgc3RhcnRpbmcgd2l0aCBGZXJtaSBHUFVzLiAgQWRkaXRpb25hbGx5 LCB0aGUgbWFwcGluZyBiZXR3ZWVuIHBhZ2UKKyAqICAgICAgICAgICAgIGtpbmQgYW5kIGJpdCBs YXlvdXQgaGFzIGNoYW5nZWQgYXQgdmFyaW91cyBwb2ludHMuCisgKgorICogICAgICAgICAgICAg ICAwID0gR29iIEhlaWdodCA4LCBGZXJtaSAtIFZvbHRhLCBUZWdyYSBLMSsgUGFnZSBLaW5kIG1h cHBpbmcKKyAqICAgICAgICAgICAgICAgMSA9IEdvYiBIZWlnaHQgNCwgRzgwIC0gR1QyWFggUGFn ZSBLaW5kIG1hcHBpbmcKKyAqICAgICAgICAgICAgICAgMiA9IEdvYiBIZWlnaHQgOCwgVHVyaW5n KyBQYWdlIEtpbmQgbWFwcGluZworICogICAgICAgICAgICAgICAzID0gUmVzZXJ2ZWQgZm9yIGZ1 dHVyZSB1c2UuCisgKgorICogMjI6MjIgcyAgICAgU2VjdG9yIGxheW91dC4gIE9uIFRlZ3JhIEdQ VXMgcHJpb3IgdG8gWGF2aWVyLCB0aGVyZSBpcyBhIGZ1cnRoZXIKKyAqICAgICAgICAgICAgIGJp dCByZW1hcHBpbmcgc3RlcCB0aGF0IG9jY3VycyBhdCBhbiBldmVuIGxvd2VyIGxldmVsIHRoYW4g dGhlCisgKiAgICAgICAgICAgICBwYWdlIGtpbmQgYW5kIGJsb2NrIGxpbmVhciBzd2l6emxlcy4g IFRoaXMgY2F1c2VzIHRoZSBsYXlvdXQgb2YKKyAqICAgICAgICAgICAgIHN1cmZhY2VzIG1hcHBl ZCBpbiB0aG9zZSBTT0MncyBHUFVzIHRvIGJlIGluY29tcGF0aWJsZSB3aXRoIHRoZQorICogICAg ICAgICAgICAgZXF1aXZhbGVudCBtYXBwaW5nIG9uIG90aGVyIEdQVXMgaW4gdGhlIHNhbWUgc3lz dGVtLgorICoKKyAqICAgICAgICAgICAgICAgMCA9IFRlZ3JhIEsxIC0gVGVncmEgUGFya2VyL1RY MiBMYXlvdXQuCisgKiAgICAgICAgICAgICAgIDEgPSBEZXNrdG9wIEdQVSBhbmQgVGVncmEgWGF2 aWVyKyBMYXlvdXQKKyAqCisgKiAyNDoyMyBjICAgICBMb3NzbGVzcyBGcmFtZWJ1ZmZlciBDb21w cmVzc2lvbiB0eXBlLgorICoKKyAqICAgICAgICAgICAgICAgMCA9IG5vbmUKKyAqICAgICAgICAg ICAgICAgMSA9IFJPUC8zRCwgYWN0dWFsIGNvbXByZXNzaW9uIGltcGxpZWQgYnkgdGhlIFBhZ2Ug S2luZCBmaWVsZAorICogICAgICAgICAgICAgICAyID0gQ0RFIGhvcml6b250YWwKKyAqICAgICAg ICAgICAgICAgMyA9IENERSB2ZXJ0aWNhbAorICoKKyAqIDU1OjI1IC0gICAgIFJlc2VydmVkIGZv ciBmdXR1cmUgdXNlLiAgTXVzdCBiZSB6ZXJvLgorICovCisjZGVmaW5lIERSTV9GT1JNQVRfTU9E X05WSURJQV9CTE9DS19MSU5FQVJfMkQoYywgcywgZywgaywgaCkgXAorCWZvdXJjY19tb2RfY29k ZShOVklESUEsICgweDEwIHwgXAorCQkJCSAoKGgpICYgMHhmKSB8IFwKKwkJCQkgKCgoaykgJiAw eGZmKSA8PCAxMikgfCBcCisJCQkJICgoKGcpICYgMHgzKSA8PCAyMCkgfCBcCisJCQkJICgoKHMp ICYgMHgxKSA8PCAyMikgfCBcCisJCQkJICgoKGMpICYgMHgzKSA8PCAyMykpKQorCisvKgorICog MTZCeDIgQmxvY2sgTGluZWFyIGxheW91dCwgdXNlZCBieSBUZWdyYSBLMSBhbmQgbGF0ZXIKICAq CiAgKiBQaXhlbHMgYXJlIGFycmFuZ2VkIGluIDY0eDggR3JvdXBzIE9mIEJ5dGVzIChHT0JzKS4g R09CcyBhcmUgdGhlbiBzdGFja2VkCiAgKiB2ZXJ0aWNhbGx5IGJ5IGEgcG93ZXIgb2YgMiAoMSB0 byAzMiBHT0JzKSB0byBmb3JtIGEgYmxvY2suCkBAIC01MTgsMjAgKzYxMCwyMCBAQCBleHRlcm4g IkMiIHsKICAqIGluIGZ1bGwgZGV0YWlsLgogICovCiAjZGVmaW5lIERSTV9GT1JNQVRfTU9EX05W SURJQV8xNkJYMl9CTE9DSyh2KSBcCi0JZm91cmNjX21vZF9jb2RlKE5WSURJQSwgMHgxMCB8ICgo dikgJiAweGYpKQorCURSTV9GT1JNQVRfTU9EX05WSURJQV9CTE9DS19MSU5FQVJfMkQoMCwgMCwg MCwgMCwgKHYpKQogCiAjZGVmaW5lIERSTV9GT1JNQVRfTU9EX05WSURJQV8xNkJYMl9CTE9DS19P TkVfR09CIFwKLQlmb3VyY2NfbW9kX2NvZGUoTlZJRElBLCAweDEwKQorCURSTV9GT1JNQVRfTU9E X05WSURJQV8xNkJYMl9CTE9DSygwKQogI2RlZmluZSBEUk1fRk9STUFUX01PRF9OVklESUFfMTZC WDJfQkxPQ0tfVFdPX0dPQiBcCi0JZm91cmNjX21vZF9jb2RlKE5WSURJQSwgMHgxMSkKKwlEUk1f Rk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0soMSkKICNkZWZpbmUgRFJNX0ZPUk1BVF9NT0Rf TlZJRElBXzE2QlgyX0JMT0NLX0ZPVVJfR09CIFwKLQlmb3VyY2NfbW9kX2NvZGUoTlZJRElBLCAw eDEyKQorCURSTV9GT1JNQVRfTU9EX05WSURJQV8xNkJYMl9CTE9DSygyKQogI2RlZmluZSBEUk1f Rk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0tfRUlHSFRfR09CIFwKLQlmb3VyY2NfbW9kX2Nv ZGUoTlZJRElBLCAweDEzKQorCURSTV9GT1JNQVRfTU9EX05WSURJQV8xNkJYMl9CTE9DSygzKQog I2RlZmluZSBEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0tfU0lYVEVFTl9HT0IgXAot CWZvdXJjY19tb2RfY29kZShOVklESUEsIDB4MTQpCisJRFJNX0ZPUk1BVF9NT0RfTlZJRElBXzE2 QlgyX0JMT0NLKDQpCiAjZGVmaW5lIERSTV9GT1JNQVRfTU9EX05WSURJQV8xNkJYMl9CTE9DS19U SElSVFlUV09fR09CIFwKLQlmb3VyY2NfbW9kX2NvZGUoTlZJRElBLCAweDE1KQorCURSTV9GT1JN QVRfTU9EX05WSURJQV8xNkJYMl9CTE9DSyg1KQogCiAvKgogICogU29tZSBCcm9hZGNvbSBtb2Rp ZmllcnMgdGFrZSBwYXJhbWV0ZXJzLCBmb3IgZXhhbXBsZSB0aGUgbnVtYmVyIG9mCi0tIAoyLjE3 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==