From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm: Generalized NV Block Linear DRM format mod Date: Tue, 15 Oct 2019 16:19:13 +0200 Message-ID: <20191015141913.GO11828@phenom.ffwll.local> References: <20191014221321.8163-1-jajones@nvidia.com> <20191014221321.8163-2-jajones@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20191014221321.8163-2-jajones-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: James Jones Cc: David Airlie , nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Ben Skeggs , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBPY3QgMTQsIDIwMTkgYXQgMDM6MTM6MjFQTSAtMDcwMCwgSmFtZXMgSm9uZXMgd3Jv dGU6Cj4gQnVpbGRzIHVwb24gdGhlIGV4aXN0aW5nIE5WSURJQSAxNkJ4MiBibG9jayBsaW5lYXIK PiBmb3JtYXQgbW9kaWZpZXJzIGJ5IGFkZGluZyBtb3JlICJmaWVsZHMiIHRvIHRoZQo+IGV4aXN0 aW5nIHBhcmFtZXRlcml6ZWQKPiBEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0sgZm9y bWF0IG1vZGlmaWVyCj4gbWFjcm8gdGhhdCBhbGxvdyBmdWxseSBkZWZpbmluZyBhIHVuaXF1ZS1h Y3Jvc3MtCj4gYWxsLU5WSURJQS1oYXJkd2FyZSBiaXQgbGF5b3V0IHVzaW5nIGEgbWluaW1hbAo+ IHNldCBvZiBmaWVsZHMgYW5kIHZhbHVlcy4gIFRoZSBuZXcgbW9kaWZpZXIgbWFjcm8KPiBEUk1f Rk9STUFUX01PRF9OVklESUFfQkxPQ0tfTElORUFSXzJEIGlzCj4gZWZmZWN0aXZlbHkgYmFja3dh cmRzIGNvbXBhdGlibGUgd2l0aCB0aGUgZXhpc3RpbmcKPiBtYWNybywgaW50cm9kdWNpbmcgYSBz dXBlcnNldCBvZiB0aGUgcHJldmlvdXNseQo+IGRlZmluYWJsZSBmb3JtYXQgbW9kaWZpZXJzLgo+ IAo+IEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGhhcyB0d28gcXVpcmtzLiAgRmlyc3QsCj4gdGhl IHplcm8gdmFsdWUgZm9yIHRoZSAia2luZCIgZmllbGQsIHdoaWNoIGlzCj4gaW1wbGllZCBieSB0 aGUgRFJNX0ZPUk1BVF9NT0RfTlZJRElBXzE2QlgyX0JMT0NLCj4gbWFjcm8sIG11c3QgYmUgc3Bl Y2lhbCBjYXNlZCBpbiBkcml2ZXJzIGFuZAo+IGFzc3VtZWQgdG8gbWFwIHRvIHRoZSBwcmUtVHVy aW5nIGdlbmVyaWMga2luZCBvZgo+IDB4ZmUsIHNpbmNlIGEga2luZCBvZiAiemVybyIgaXMgcmVz ZXJ2ZWQgZm9yCj4gbGluZWFyIGJ1ZmZlciBsYXlvdXRzIG9uIGFsbCBHUFVzLgo+IAo+IFNlY29u ZCwgaXQgaXMgYXNzdW1lZCBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eQo+IGlzIG9ubHkgbmVlZGVk IHdoZW4gcnVubmluZyBvbiBUZWdyYSBHUFVzLCBhbmQKPiBzcGVjaWZpY2FsbHkgVGVncmEgR1BV cyBwcmlvciB0byBYYXZpZXIuICBUaGlzCj4gaXMgYmFzZWQgb24gdHdvIGFzc2VydGlvbnM6Cj4g Cj4gLVRlZ3JhIEdQVXMgcHJpb3IgdG8gWGF2aWVyIHVzZWQgYSBzbGlnaHRseQo+ICBkaWZmZXJl bnQgcmF3IGJpdCBsYXlvdXQgdGhhbiBkZXNrdG9wIEdQVXMsCj4gIG1ha2luZyBpdCBpbXBvc3Np YmxlIHRvIGRpcmVjdGx5IHNoYXJlIGJsb2NrCj4gIGxpbmVhciBidWZmZXJzIGJldHdlZW4gdGhl IHR3by4KPiAKPiAtU3VwcG9ydCBmb3IgdGhlIGV4aXN0aW5nIGJsb2NrIGxpbmVhciBtb2RpZmll cnMKPiAgd2FzIGluY29tcGxldGUsIG1ha2luZyB0aGVtIHVzZWZ1bCBvbmx5IGZvcgo+ICBleHBv cnRpbmcgYnVmZmVycyBjcmVhdGVkIGJ5IG5vdXZlYXUgYW5kCj4gIGltcG9ydGluZyB0aGVtIHRv IFRlZ3JhIERSTSBhcyBmcmFtZWJ1ZmZlcnMgZm9yCj4gIHNjYW4gb3V0LiAgVGhlcmUgd2FzIG5v IHN1cHBvcnQgZm9yIGFkZGluZwo+ICBmcmFtZWJ1ZmZlcnMgdXNpbmcgZm9ybWF0IG1vZGlmaWVy cyBpbiBub3V2ZWF1LAo+ICBub3IgaW1wb3J0aW5nIGRtYS1idWYvUFJJTUUgR0VNIG9iamVjdHMg aW50bwo+ICBub3V2ZWF1IHVzZXJzcGFjZSBkcml2ZXJzIHdpdGggbW9kaWZpZXJzIGluIE1lc2Eu Cj4gCj4gSGVuY2UgaXQgaXMgYXNzdW1lZCB0aGUgcHJpb3IgbW9kaWZpZXJzIHdlcmUgbm90Cj4g aW50ZW5kZWQgZm9yIHVzZSBvbiBkZXNrdG9wIEdQVXMsIGFuZCBhcyBhCj4gY29ycm9sYXJ5LCB3 ZXJlIG5vdCBpbnRlbmRlZCB0byBzdXBwb3J0IHNoYXJpbmcKPiBibG9jayBsaW5lYXIgYnVmZmVy cyBhY3Jvc3MgdHdvIGRpZmZlcmVudCBOVklESUEKPiBHUFVzLgo+IAo+IFNpZ25lZC1vZmYtYnk6 IEphbWVzIEpvbmVzIDxqYWpvbmVzQG52aWRpYS5jb20+Cj4gLS0tCj4gIGluY2x1ZGUvdWFwaS9k cm0vZHJtX2ZvdXJjYy5oIHwgMTA4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0K PiAgMSBmaWxlIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQo+IAo+ IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybV9mb3VyY2MuaCBiL2luY2x1ZGUvdWFw aS9kcm0vZHJtX2ZvdXJjYy5oCj4gaW5kZXggM2ZlZWFhM2Y5ODdhLi5jYzk4NTNkNDJhMjQgMTAw NjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9kcm1fZm91cmNjLmgKPiArKysgYi9pbmNsdWRl L3VhcGkvZHJtL2RybV9mb3VyY2MuaAo+IEBAIC00OTcsNyArNDk3LDk5IEBAIGV4dGVybiAiQyIg ewo+ICAjZGVmaW5lIERSTV9GT1JNQVRfTU9EX05WSURJQV9URUdSQV9USUxFRCBmb3VyY2NfbW9k X2NvZGUoTlZJRElBLCAxKQo+ICAKPiAgLyoKPiAtICogMTZCeDIgQmxvY2sgTGluZWFyIGxheW91 dCwgdXNlZCBieSBkZXNrdG9wIEdQVXMsIGFuZCBUZWdyYSBLMSBhbmQgbGF0ZXIKPiArICogR2Vu ZXJhbGl6ZWQgQmxvY2sgTGluZWFyIGxheW91dCwgdXNlZCBieSBkZXNrdG9wIEdQVXMgc3RhcnRp bmcgd2l0aCBOVjUwL0c4MCwKPiArICogYW5kIFRlZ3JhIEdQVXMgc3RhcnRpbmcgd2l0aCBUZWdy YSBLMS4KPiArICoKPiArICogUGl4ZWxzIGFyZSBhcnJhbmdlZCBpbiBHcm91cHMgb2YgQnl0ZXMg KEdPQnMpLiAgR09CIHNpemUgYW5kIGxheW91dCB2YXJpZXMKPiArICogYmFzZWQgb24gdGhlIGFy Y2hpdGVjdHVyZSBnZW5lcmF0aW9uLiAgR09CcyB0aGVtc2VsdmVzIGFyZSB0aGVuIGFycmFuZ2Vk IGluCj4gKyAqIDNEIGJsb2Nrcywgd2l0aCB0aGUgYmxvY2sgZGltZW5zaW9ucyAoaW4gdGVybXMg b2YgR09CcykgYWx3YXlzIGJlaW5nIGEgcG93ZXIKPiArICogb2YgdHdvLCBhbmQgaGVuY2UgZXhw cmVzc2libGUgYXMgdGhlaXIgbG9nMiBlcXVpdmFsZW50IChFLmcuLCAiMiIgcmVwcmVzZW50cwo+ ICsgKiBhIGJsb2NrIGRlcHRoIG9yIGhlaWdodCBvZiAiNCIpLgo+ICsgKgo+ICsgKiBDaGFwdGVy IDIwICJQaXhlbCBNZW1vcnkgRm9ybWF0cyIgb2YgdGhlIFRlZ3JhIFgxIFRSTSBkZXNjcmliZXMg dGhpcyBmb3JtYXQKPiArICogaW4gZnVsbCBkZXRhaWwuCj4gKyAqCj4gKyAqICAgICAgIE1hY3Jv Cj4gKyAqIEJpdHMgIFBhcmFtIERlc2NyaXB0aW9uCj4gKyAqIC0tLS0gIC0tLS0tIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gKyAqCj4gKyAqICAzOjAgIGggICAgIGxvZzIoaGVpZ2h0KSBvZiBlYWNoIGJsb2NrLCBpbiBH T0JzLiAgUGxhY2VkIGhlcmUgZm9yCj4gKyAqICAgICAgICAgICAgIGNvbXBhdGliaWxpdHkgd2l0 aCB0aGUgZXhpc3RpbmcKPiArICogICAgICAgICAgICAgRFJNX0ZPUk1BVF9NT0RfTlZJRElBXzE2 QlgyX0JMT0NLKCktYmFzZWQgbW9kaWZpZXJzLgo+ICsgKgo+ICsgKiAgNDo0ICAtICAgICBNdXN0 IGJlIDEsIHRvIGluZGljYXRlIGJsb2NrLWxpbmVhciBsYXlvdXQuICBOZWNlc3NhcnkgZm9yCj4g KyAqICAgICAgICAgICAgIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgZXhpc3RpbmcKPiArICogICAg ICAgICAgICAgRFJNX0ZPUk1BVF9NT0RfTlZJRElBXzE2QlgyX0JMT0NLKCktYmFzZWQgbW9kaWZp ZXJzLgo+ICsgKgo+ICsgKiAgODo1ICAtICAgICBSZXNlcnZlZCAoVG8gc3VwcG9ydCAzRC1zdXJm YWNlcyB3aXRoIHZhcmlhYmxlIGxvZzIoZGVwdGgpIGJsb2NrCj4gKyAqICAgICAgICAgICAgIHNp emUpLiAgTXVzdCBiZSB6ZXJvLgo+ICsgKgo+ICsgKiAgICAgICAgICAgICBOb3RlIHRoZXJlIGlz IG5vIGxvZzIod2lkdGgpIHBhcmFtZXRlci4gIFNvbWUgcG9ydGlvbnMgb2YgdGhlCj4gKyAqICAg ICAgICAgICAgIGhhcmR3YXJlIHN1cHBvcnQgYSBibG9jayB3aWR0aCBvZiB0d28gZ29icywgYnV0 IGl0IGlzIGltcHJhY3RpY2FsCj4gKyAqICAgICAgICAgICAgIHRvIHVzZSBkdWUgdG8gbGFjayBv ZiBzdXBwb3J0IGVsc2V3aGVyZSwgYW5kIGhhcyBubyBrbm93bgo+ICsgKiAgICAgICAgICAgICBi ZW5lZml0cy4KPiArICoKPiArICogMTE6OSAgLSAgICAgUmVzZXJ2ZWQgKFRvIHN1cHBvcnQgMkQt YXJyYXkgdGV4dHVyZXMgd2l0aCB2YXJpYWJsZSBhcnJheSBzdHJpZGUKPiArICogICAgICAgICAg ICAgaW4gYmxvY2tzLCBzcGVjaWZpZWQgdmlhIGxvZzIodGlsZSB3aWR0aCBpbiBibG9ja3MpKS4g IE11c3QgYmUKPiArICogICAgICAgICAgICAgemVyby4KPiArICoKPiArICogMTk6MTIgayAgICAg UGFnZSBLaW5kLiAgVGhpcyB2YWx1ZSBkaXJlY3RseSBtYXBzIHRvIGEgZmllbGQgaW4gdGhlIHBh Z2UKPiArICogICAgICAgICAgICAgdGFibGVzIG9mIGFsbCBHUFVzID49IE5WNTAuICBJdCBhZmZl Y3RzIHRoZSBleGFjdCBsYXlvdXQgb2YgYml0cwo+ICsgKiAgICAgICAgICAgICBpbiBtZW1vcnkg YW5kIGNhbiBiZSBkZXJpdmVkIGZyb20gdGhlIHR1cGxlCj4gKyAqCj4gKyAqICAgICAgICAgICAg ICAgKGZvcm1hdCwgR1BVIG1vZGVsLCBjb21wcmVzc2lvbiB0eXBlLCBzYW1wbGVzIHBlciBwaXhl bCkKPiArICoKPiArICogICAgICAgICAgICAgV2hlcmUgY29tcHJlc3Npb24gdHlwZSBpcyBkZWZp bmVkIGJlbG93LiAgSWYgR1BVIG1vZGVsIHdlcmUKPiArICogICAgICAgICAgICAgaW1wbGllZCBi eSB0aGUgZm9ybWF0IG1vZGlmaWVyLCBmb3JtYXQsIG9yIG1lbW9yeSBidWZmZXIsIHBhZ2UKPiAr ICogICAgICAgICAgICAga2luZCB3b3VsZCBub3QgbmVlZCB0byBiZSBpbmNsdWRlZCBpbiB0aGUg bW9kaWZpZXIgaXRzZWxmLCBidXQKPiArICogICAgICAgICAgICAgc2luY2UgdGhlIG1vZGlmaWVy IHNob3VsZCBkZWZpbmUgdGhlIGxheW91dCBvZiB0aGUgYXNzb2NpYXRlZAo+ICsgKiAgICAgICAg ICAgICBtZW1vcnkgYnVmZmVyIGluZGVwZW5kZW50IGZyb20gYW55IGRldmljZSBvciBvdGhlciBj b250ZXh0LCBpdAo+ICsgKiAgICAgICAgICAgICBtdXN0IGJlIGluY2x1ZGVkIGhlcmUuCj4gKyAq Cj4gKyAqICAgICAgICAgICAgIFRvIGdyYW5kZmF0aGVyIGluIHByaW9yIGJsb2NrIGxpbmVhciBm b3JtYXQgbW9kaWZpZXJzIHRvIHRoaXMKPiArICogICAgICAgICAgICAgbGF5b3V0LCB0aGUgcGFn ZSBraW5kICIwIiwgd2hpY2ggY29ycmVzcG9uZHMgdG8gInBpdGNoL2xpbmVhciIKPiArICogICAg ICAgICAgICAgYW5kIGhlbmNlIGlzIHVudXNhYmxlIHdpdGggYmxvY2stbGluZWFyIGxheW91dHMs IGlzIHJlbWFwcGVkCj4gKyAqICAgICAgICAgICAgIHdpdGhpbiBkcml2ZXJzIHRvIHRoZSB2YWx1 ZSAweGZlLCB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUKPiArICogICAgICAgICAgICAgImdlbmVy aWMiIGtpbmQgdXNlZCBmb3Igc2ltcGxlIHNpbmdsZS1zYW1wbGUgY29sb3IgZm9ybWF0cyBvbgo+ ICsgKiAgICAgICAgICAgICBwcmUtVHVyaW5nIEdQVXMuCgpIbSwgbWF5YmUgYSB0aW55IHN0YXRp YyBpbmxpbmUgZnVuY3Rpb24gd2hpY2ggY2Fub25pemFsaXplcyBtb2RpZmllcnM/ClNvbWV0aGlu ZyBsaWtlCgpzdGF0aWMgaW5saW5lIHU2NApkcm1fZm91cmNjX2Nhbm9uaWNhbGl6ZV9udmlkaWFf YmxvY2tfbGluZWFyXzJkKHU2NCBtb2RpZmVyLCBib29sCmlzX3ByZV90dXJpbmcpCnsKfQoKV291 bGQgdGhlbiBnaXZlIHlvdSBhIG5pY2UgcGxhY2UgdG8gc3RpY2sgdGhpcyBiYWNrd2FyZCBjb21w YXQgbm90ZSBhbmQKbWFrZSBpdCByZWFsbHkgY2xlYXIgd2hhdCBzaG91bGQgYmUgZG9uZS4gSSB0 aGluayBlc3RhYmxpc2hpbmcgdGhpcyBhcyBhCnBhdHRlcm4gd291bGQgYWxzbyBiZSBuaWNlLCBz aW5jZSBJJ20gc3VyZSB3ZSdsbCBoYXZlIGEgcGlsZSBtb3JlIG9mIHRoZXNlCmNhc2VzIHdoZXJl IG1vZGlmaWVycyB0dXJuIG91dCB0byBhc3N1bWUgYSBmZXcgdG9vIG1hbnkgdGhpbmdzIGFib3V0 IHRoZQpwbGF0Zm9ybSB0aGV5J3JlIHVzZWQgb24gKHdlIGhhdmUgYSBzaW1pbGFyIGNhc2Ugb24g dGhlIGludGVsIHNpZGUgdG9vKS4KCkp1c3QgYSBkcml2ZS1ieSBpZGVhLCBmZWVsIGZyZWUgdG8g aWdub3JlLgoKQ2hlZXJzLCBEYW5pZWwKCj4gKyAqCj4gKyAqIDIxOjIwIGcgICAgIEdPQiBIZWln aHQgYW5kIFBhZ2UgS2luZCBHZW5lcmF0aW9uLiAgVGhlIGhlaWdodCBvZiBhIEdPQiBjaGFuZ2Vk Cj4gKyAqICAgICAgICAgICAgIHN0YXJ0aW5nIHdpdGggRmVybWkgR1BVcy4gIEFkZGl0aW9uYWxs eSwgdGhlIG1hcHBpbmcgYmV0d2VlbiBwYWdlCj4gKyAqICAgICAgICAgICAgIGtpbmQgYW5kIGJp dCBsYXlvdXQgaGFzIGNoYW5nZWQgYXQgdmFyaW91cyBwb2ludHMuCj4gKyAqCj4gKyAqICAgICAg ICAgICAgICAgMCA9IEdvYiBIZWlnaHQgOCwgRmVybWkgLSBWb2x0YSwgVGVncmEgSzErIFBhZ2Ug S2luZCBtYXBwaW5nCj4gKyAqICAgICAgICAgICAgICAgMSA9IEdvYiBIZWlnaHQgNCwgRzgwIC0g R1QyWFggUGFnZSBLaW5kIG1hcHBpbmcKPiArICogICAgICAgICAgICAgICAyID0gR29iIEhlaWdo dCA4LCBUdXJpbmcrIFBhZ2UgS2luZCBtYXBwaW5nCj4gKyAqICAgICAgICAgICAgICAgMyA9IFJl c2VydmVkIGZvciBmdXR1cmUgdXNlLgo+ICsgKgo+ICsgKiAyMjoyMiBzICAgICBTZWN0b3IgbGF5 b3V0LiAgT24gVGVncmEgR1BVcyBwcmlvciB0byBYYXZpZXIsIHRoZXJlIGlzIGEgZnVydGhlcgo+ ICsgKiAgICAgICAgICAgICBiaXQgcmVtYXBwaW5nIHN0ZXAgdGhhdCBvY2N1cnMgYXQgYW4gZXZl biBsb3dlciBsZXZlbCB0aGFuIHRoZQo+ICsgKiAgICAgICAgICAgICBwYWdlIGtpbmQgYW5kIGJs b2NrIGxpbmVhciBzd2l6emxlcy4gIFRoaXMgY2F1c2VzIHRoZSBsYXlvdXQgb2YKPiArICogICAg ICAgICAgICAgc3VyZmFjZXMgbWFwcGVkIGluIHRob3NlIFNPQydzIEdQVXMgdG8gYmUgaW5jb21w YXRpYmxlIHdpdGggdGhlCj4gKyAqICAgICAgICAgICAgIGVxdWl2YWxlbnQgbWFwcGluZyBvbiBv dGhlciBHUFVzIGluIHRoZSBzYW1lIHN5c3RlbS4KPiArICoKPiArICogICAgICAgICAgICAgICAw ID0gVGVncmEgSzEgLSBUZWdyYSBQYXJrZXIvVFgyIExheW91dC4KPiArICogICAgICAgICAgICAg ICAxID0gRGVza3RvcCBHUFUgYW5kIFRlZ3JhIFhhdmllcisgTGF5b3V0Cj4gKyAqCj4gKyAqIDI0 OjIzIGMgICAgIExvc3NsZXNzIEZyYW1lYnVmZmVyIENvbXByZXNzaW9uIHR5cGUuCj4gKyAqCj4g KyAqICAgICAgICAgICAgICAgMCA9IG5vbmUKPiArICogICAgICAgICAgICAgICAxID0gUk9QLzNE LCBhY3R1YWwgY29tcHJlc3Npb24gaW1wbGllZCBieSB0aGUgUGFnZSBLaW5kIGZpZWxkCj4gKyAq ICAgICAgICAgICAgICAgMiA9IENERSBob3Jpem9udGFsCj4gKyAqICAgICAgICAgICAgICAgMyA9 IENERSB2ZXJ0aWNhbAo+ICsgKgo+ICsgKiA1NToyNSAtICAgICBSZXNlcnZlZCBmb3IgZnV0dXJl IHVzZS4gIE11c3QgYmUgemVyby4KPiArICovCj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfTlZJ RElBX0JMT0NLX0xJTkVBUl8yRChjLCBzLCBnLCBrLCBoKSBcCj4gKwlmb3VyY2NfbW9kX2NvZGUo TlZJRElBLCAoMHgxMCB8IFwKPiArCQkJCSAoKGgpICYgMHhmKSB8IFwKPiArCQkJCSAoKChrKSAm IDB4ZmYpIDw8IDEyKSB8IFwKPiArCQkJCSAoKChnKSAmIDB4MykgPDwgMjApIHwgXAo+ICsJCQkJ ICgoKHMpICYgMHgxKSA8PCAyMikgfCBcCj4gKwkJCQkgKCgoYykgJiAweDMpIDw8IDIzKSkpCj4g Kwo+ICsvKgo+ICsgKiAxNkJ4MiBCbG9jayBMaW5lYXIgbGF5b3V0LCB1c2VkIGJ5IFRlZ3JhIEsx IGFuZCBsYXRlcgo+ICAgKgo+ICAgKiBQaXhlbHMgYXJlIGFycmFuZ2VkIGluIDY0eDggR3JvdXBz IE9mIEJ5dGVzIChHT0JzKS4gR09CcyBhcmUgdGhlbiBzdGFja2VkCj4gICAqIHZlcnRpY2FsbHkg YnkgYSBwb3dlciBvZiAyICgxIHRvIDMyIEdPQnMpIHRvIGZvcm0gYSBibG9jay4KPiBAQCAtNTE4 LDIwICs2MTAsMjAgQEAgZXh0ZXJuICJDIiB7Cj4gICAqIGluIGZ1bGwgZGV0YWlsLgo+ICAgKi8K PiAgI2RlZmluZSBEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0sodikgXAo+IC0JZm91 cmNjX21vZF9jb2RlKE5WSURJQSwgMHgxMCB8ICgodikgJiAweGYpKQo+ICsJRFJNX0ZPUk1BVF9N T0RfTlZJRElBX0JMT0NLX0xJTkVBUl8yRCgwLCAwLCAwLCAwLCAodikpCj4gIAo+ICAjZGVmaW5l IERSTV9GT1JNQVRfTU9EX05WSURJQV8xNkJYMl9CTE9DS19PTkVfR09CIFwKPiAtCWZvdXJjY19t b2RfY29kZShOVklESUEsIDB4MTApCj4gKwlEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxP Q0soMCkKPiAgI2RlZmluZSBEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0tfVFdPX0dP QiBcCj4gLQlmb3VyY2NfbW9kX2NvZGUoTlZJRElBLCAweDExKQo+ICsJRFJNX0ZPUk1BVF9NT0Rf TlZJRElBXzE2QlgyX0JMT0NLKDEpCj4gICNkZWZpbmUgRFJNX0ZPUk1BVF9NT0RfTlZJRElBXzE2 QlgyX0JMT0NLX0ZPVVJfR09CIFwKPiAtCWZvdXJjY19tb2RfY29kZShOVklESUEsIDB4MTIpCj4g KwlEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0soMikKPiAgI2RlZmluZSBEUk1fRk9S TUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0tfRUlHSFRfR09CIFwKPiAtCWZvdXJjY19tb2RfY29k ZShOVklESUEsIDB4MTMpCj4gKwlEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0soMykK PiAgI2RlZmluZSBEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0tfU0lYVEVFTl9HT0Ig XAo+IC0JZm91cmNjX21vZF9jb2RlKE5WSURJQSwgMHgxNCkKPiArCURSTV9GT1JNQVRfTU9EX05W SURJQV8xNkJYMl9CTE9DSyg0KQo+ICAjZGVmaW5lIERSTV9GT1JNQVRfTU9EX05WSURJQV8xNkJY Ml9CTE9DS19USElSVFlUV09fR09CIFwKPiAtCWZvdXJjY19tb2RfY29kZShOVklESUEsIDB4MTUp Cj4gKwlEUk1fRk9STUFUX01PRF9OVklESUFfMTZCWDJfQkxPQ0soNSkKPiAgCj4gIC8qCj4gICAq IFNvbWUgQnJvYWRjb20gbW9kaWZpZXJzIHRha2UgcGFyYW1ldGVycywgZm9yIGV4YW1wbGUgdGhl IG51bWJlciBvZgo+IC0tIAo+IDIuMTcuMQo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUg RW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5vdXZlYXUgbWFpbGluZyBs aXN0Ck5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbm91dmVhdQ==