From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [PATCH v2 0/3] A DRM API for adaptive sync and variable refresh rate support Date: Wed, 3 Oct 2018 11:35:34 -0700 Message-ID: <20181003183534.GC2585@intel.com> References: <20180924181537.12092-1-nicholas.kazlauskas@amd.com> <20181001071525.GJ11082@phenom.ffwll.local> <20181003084120.GP11082@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20181003084120.GP11082-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Daniel Vetter Cc: nicolai.haehnle-5C7GfCeVMHo@public.gmane.org, Marek.Olsak-5C7GfCeVMHo@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Christian.Koenig-5C7GfCeVMHo@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Alexander.Deucher-5C7GfCeVMHo@public.gmane.org, Arkadiusz Hiler , Nicholas Kazlauskas , Harry Wentland , michel-otUistvHUpPR7s880joybQ@public.gmane.org T24gV2VkLCBPY3QgMDMsIDIwMTggYXQgMTA6NDE6MjBBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUdWUsIE9jdCAwMiwgMjAxOCBhdCAxMDo0OToxN0FNIC0wNDAwLCBIYXJyeSBX ZW50bGFuZCB3cm90ZToKPiA+IAo+ID4gCj4gPiBPbiAyMDE4LTEwLTAxIDAzOjE1IEFNLCBEYW5p ZWwgVmV0dGVyIHdyb3RlOgo+ID4gPiBPbiBNb24sIFNlcCAyNCwgMjAxOCBhdCAwMjoxNTozNFBN IC0wNDAwLCBOaWNob2xhcyBLYXpsYXVza2FzIHdyb3RlOgo+ID4gPj4gVGhlc2UgcGF0Y2hlcyBh cmUgcGFydCBvZiBhIHByb3Bvc2VkIG5ldyBpbnRlcmZhY2UgZm9yIHN1cHBvcnRpbmcgdmFyaWFi bGUgcmVmcmVzaCByYXRlIHZpYSBEUk0gcHJvcGVydGllcy4KPiA+ID4+Cj4gPiA+PiA9PT0gQ2hh bmdlcyBmcm9tIHYxID09PQo+ID4gPj4KPiA+ID4+IEZvciBkcm06Cj4gPiA+Pgo+ID4gPj4gKiBU aGUgdmFyaWFibGVfcmVmcmVzaF9jYXBhYmxlIHByb3BlcnR5IGlzIG5vdyBmbGFnZ2VkIGFzIERS TV9NT0RFX1BST1BfSU1NVVRBQkxFCj4gPiA+Pgo+ID4gPj4gRm9yIGRybS9ncHUvYW1kL2Rpc3Bs YXk6Cj4gPiA+Pgo+ID4gPj4gKiBQYXRjaGVzIG5vIGxvbmdlciBwdWxsIGluIElPQ1RML0ZyZWVT eW5jIHJlZmFjdG9yaW5nIGNvZGUKPiA+ID4+ICogRnJlZVN5bmMgZW5hYmxlL2Rpc2FibGUgYmVo YXZpb3IgaGFzIGJlZW4gbW9kaWZpZWQgdG8gcmVmbGVjdCBjaGFuZ2VzIGluIHVzZXJzcGFjZSBi ZWhhdmlvciBmcm9tIHhmODYtdmlkZW8tYW1kZ3B1IGFuZCBtZXNhCj4gPiA+Pgo+ID4gPj4gPT09 IEFkYXB0aXZlIHN5bmMgYW5kIHZhcmlhYmxlIHJlZnJlc2ggcmF0ZSA9PT0KPiA+ID4+Cj4gPiA+ PiBBZGFwdGl2ZSBzeW5jIGlzIHBhcnQgb2YgdGhlIERpc3BsYXlQb3J0IHNwZWMgYW5kIGFsbG93 cyBmb3IgZ3JhcGhpY3MgYWRhcHRlcnMgdG8gZHJpdmUgZGlzcGxheXMgd2l0aCB2YXJ5aW5nIGZy YW1lIHRpbWluZ3MuCj4gPiA+Pgo+ID4gPj4gVmFyaWFibGUgcmVmcmVzaCByYXRlIChWUlIpIGlz IGVzc2VudGlhbGx5IHRoZSBzYW1lLCBidXQgZGVmaW5lZCBmb3IgSERNSS4KPiA+ID4+Cj4gPiA+ PiA9PT0gVXNlIGNhc2VzIGZvciB2YXJpYWJsZSByZWZyZXNoIHJhdGUgPT09Cj4gPiA+Pgo+ID4g Pj4gVmFyaWFibGUgZnJhbWUgKGZsaXApIHRpbWluZ3MgZG9uJ3QgYWxpZ24gd2VsbCB3aXRoIGZp eGVkIHJlZnJlc2ggcmF0ZSBkaXNwbGF5cy4gVGhpcyByZXN1bHRzIGluIHN0dXR0ZXJpbmcsIHRl YXJpbmcgYW5kL29yIGlucHV0IGxhZy4gQnkgYWRqdXN0aW5nIHRoZSBkaXNwbGF5IHJlZnJlc2gg cmF0ZSBkeW5hbWljYWxseSB0aGVzZSBpc3N1ZXMgY2FuIGJlIHJlZHVjZWQgb3IgZWxpbWluYXRl ZC4KPiA+ID4+Cj4gPiA+PiBIb3dldmVyLCBub3QgYWxsIGNvbnRlbnQgaXMgc3VpdGFibGUgZm9y IGR5bmFtaWMgcmVmcmVzaCBhZGFwdGF0aW9uLiBDb250ZW50IHRoYXQgaXMgZmxpcHBlZCBpbmZy ZXF1ZW50bHkgb3IgYXQgcmFuZG9tIGludGVydmFscyB0ZW5kcyB0byBmYWlyIHBvb3JseS4gTXVs dGlwbGUgY2xpZW50cyB0cnlpbmcgdG8gZmxpcCB1bmRlciB0aGUgc2FtZSBzY3JlZW4gY2FuIHNp bWlsYXJseSBpbnRlcmZlcmUgd2l0aCBwcmVkaWN0aW9uLgo+ID4gPj4KPiA+ID4+IFVzZXJsYW5k IG5lZWRzIGEgd2F5IHRvIGxldCB0aGUgZHJpdmVyIGtub3cgd2hlbiB0aGUgY29udGVudCBvbiB0 aGUgc2NyZWVuIGlzIHN1aXRhYmxlIGZvciB2YXJpYWJsZSByZWZyZXNoIHJhdGUgYW5kIGlmIHRo ZSB1c2VyIHdpc2hlcyB0byBoYXZlIHRoZSBmZWF0dXJlIGVuYWJsZWQuCj4gPiA+Pgo+ID4gPj4g PT09IERSTSBBUEkgdG8gc3VwcG9ydCB2YXJpYWJsZSByZWZyZXNoIHJhdGVzID09PQo+ID4gPj4K PiA+ID4+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIG5ldyBBUEkgdmlhIGF0b21pYyBwcm9wZXJ0 aWVzIG9uIHRoZSBEUk0gY29ubmVjdG9yIGFuZCBDUlRDLgo+ID4gPj4KPiA+ID4+IFRoZSBjb25u ZWN0b3IgaGFzIHR3byBuZXcgb3B0aW9uYWwgcHJvcGVydGllczoKPiA+ID4+Cj4gPiA+PiAqIGJv b2wgdmFyaWFibGVfcmVmcmVzaF9jYXBhYmxlIC0gc2V0IGJ5IHRoZSBkcml2ZXIgaWYgdGhlIGhh cmR3YXJlIGlzIGNhcGFibGUgb2Ygc3VwcG9ydGluZyB2YXJpYWJsZSByZWZyZXNoIHRlY2gKPiA+ ID4+Cj4gPiA+PiAqIGJvb2wgdmFyaWFibGVfcmVmcmVzaF9lbmFibGVkIC0gc2V0IGJ5IHRoZSB1 c2VyIHRvIGVuYWJsZSB2YXJpYWJsZSByZWZyZXNoIGFkanVzdG1lbnQgb3ZlciB0aGUgY29ubmVj dG9yCj4gPiA+Pgo+ID4gPj4gVGhlIENSVEMgaGFzIG9uZSBhZGRpdGlvbmFsIGRlZmF1bHQgcHJv cGVydHk6Cj4gPiA+Pgo+ID4gPj4gKiBib29sIHZhcmlhYmxlX3JlZnJlc2ggLSBhIGNvbnRlbnQg aGludCB0byB0aGUgZHJpdmVyIHNwZWNpZnlpbmcgdGhhdCB0aGUgQ1JUQyBjb250ZW50cyBhcmUg c3VpdGFibGUgZm9yIHZhcmlhYmxlIHJlZnJlc2ggYWRqdXN0bWVudAo+ID4gPj4KPiA+ID4+ID09 IE92ZXJ2aWV3IGZvciBEUk0gZHJpdmVyIGRldmVsb3BlcnMgPT09Cj4gPiA+Pgo+ID4gPj4gRHJp dmVyIGRldmVsb3BlcnMgY2FuIGF0dGFjaCB0aGUgb3B0aW9uYWwgY29ubmVjdG9yIHByb3BlcnRp ZXMgdmlhIGRybV9jb25uZWN0b3JfYXR0YWNoX3ZhcmlhYmxlX3JlZnJlc2hfcHJvcGVydGllcyBv biBjb25uZWN0b3JzIHRoYXQgc3VwcG9ydCB2YXJpYWJsZSByZWZyZXNoICh0eXBpY2FsbHkgRFAg b3IgSERNSSkuCj4gPiA+Pgo+ID4gPj4gVGhlIHZhcmlhYmxlX3JlZnJlc2hfY2FwYWJsZSBwcm9w ZXJ0eSBzaG91bGQgYmUgbWFuYWdlZCBhcyB0aGUgb3V0cHV0IG9uIHRoZSBjb25uZWN0b3IgY2hh bmdlcy4gVGhlIHByb3BlcnR5IGlzIHJlYWQgb25seSBmcm9tIHVzZXJzcGFjZS4KPiA+ID4+Cj4g PiA+PiBUaGUgdmFyaWFibGVfcmVmcmVzaF9lbmFibGVkIHByb3BlcnR5IGlzIGludGVuZGVkIHRv IGJlIGEgcHJvcGVydHkgY29udHJvbGxlZCBieSB1c2VybGFuZCBhcyBhIGdsb2JhbCBvbi9vZmYg c3dpdGNoIGZvciB2YXJpYWJsZSByZWZyZXNoIHRlY2hub2xvZ3kuIEl0IHNob3VsZCBiZSBjaGVj a2VkIGJlZm9yZSBlbmFibGluZyB2YXJpYWJsZSByZWZyZXNoIHJhdGUuCj4gPiA+Pgo+ID4gPj4g PT09IE92ZXJ2aWV3IGZvciBVc2VybGFuZCBkZXZlbG9wZXJzID09Cj4gPiA+Pgo+ID4gPj4gVGhl IHZhcmlhYmxlX3JlZnJlc2ggcHJvcGVydHkgb24gdGhlIENSVEMgc2hvdWxkIGJlIHNldCB0byB0 cnVlIHdoZW4gdGhlIENSVENzIGFyZSBzdWl0YWJsZSBmb3IgdmFyaWFibGUgcmVmcmVzaCByYXRl LiBJbiBwcmFjdGljZSB0aGlzIGlzIHByb2JhYmx5IGFuIGFwcGxpY2F0aW9uIGxpa2UgYSBnYW1l IC0gYSBzaW5nbGUgd2luZG93IHRoYXQgY292ZXJzIHRoZSB3aG9sZSBDUlRDIHN1cmZhY2UgYW5k IGlzIHRoZSBvbmx5IGNsaWVudCBpc3N1aW5nIGZsaXBzLgo+ID4gPj4KPiA+ID4+IFRvIGRlbW9u c3RyYXRlIHRoZSBzdWl0YWJpbGl0eSBvZiB0aGUgQVBJIGZvciB2YXJpYWJsZSByZWZyZXNoIGFu ZCBkeW5hbWljIGFkYXB0YXRpb24gdGhlcmUgYXJlIGFkZGl0aW9uYWwgcGF0Y2hlcyB1c2luZyB0 aGlzIEFQSSB0aGF0IGltcGxlbWVudCBhZGFwdGl2ZSB2YXJpYWJsZSByZWZyZXNoIGFjcm9zcyBr ZXJuZWwgYW5kIHVzZXJsYW5kIHByb2plY3RzOgo+ID4gPj4KPiA+ID4+ICogRFJNIChkcmktZGV2 ZWwpCj4gPiA+PiAqIGFtZGdwdSBEUk0ga2VybmVsIGRyaXZlciAoYW1kLWdmeCkKPiA+ID4+ICog eGY4Ni12aWRlby1hbWRncHUgKGFtZC1nZngpCj4gPiA+PiAqIG1lc2EgKG1lc2EtZGV2KQo+ID4g Pj4KPiA+ID4+IFRoZXNlIHBhdGNoZXMgZW5hYmxlIGFkYXB0aXZlIHZhcmlhYmxlIHJlZnJlc2gg b24gWCBmb3IgQU1EIGhhcmR3YXJlIHByb3ZpZGVkIHRoYXQgdGhlIHVzZXIgc2V0cyB0aGUgdmFy aWFibGVfcmVmcmVzaF9lbmFibGVkIHByb3BlcnR5IHRvIHRydWUgb24gc3VwcG9ydGVkIGNvbm5l Y3RvcnMgKGllLiB1c2luZyB4cmFuZHIgLS1zZXQtcHJvcCkuCj4gPiA+Pgo+ID4gPj4gVGhlIHBh dGNoZXMgaGF2ZSBiZWVuIHRlc3RlZCBhcyB3b3JraW5nIG9uIHVwc3RyZWFtIHVzZXJsYW5kIHdp dGggdGhlIEdOT01FIGRlc2t0b3AgZW52aXJvbm1lbnQgdW5kZXIgYSBzaW5nbGUgbW9uaXRvciBz ZXR1cC4gVGhleSBhbHNvIHdvcmsgb24gS0RFIGluIHNpbmdsZSBtb25pdG9yIHNldHVwIGlmIHRo ZSBjb21wb3NpdG9yIGlzIGRpc2FibGVkLgo+ID4gPj4KPiA+ID4+IFRoZSBwYXRjaGVzIHJlcXVp cmUgdGhhdCB0aGUgYXBwbGljYXRpb24gd2luZG93IGNhbiBpc3N1ZSBzY3JlZW4gZmxpcHMgdmlh IHRoZSBQcmVzZW50IGV4dGVuc2lvbiB0byB4Zjg2LXZpZGVvLWFtZGdwdS4gRHVlIHRvIFByZXNl bnQgZXh0ZW5zaW9uIGxpbWl0YXRpb25zIHNvbWUgZGVza3RvcCBlbnZpcm9ubWVudHMgYW5kIG11 bHRpLW1vbml0b3Igc2V0dXBzIGFyZSBjdXJyZW50bHkgbm90IGNvbXBhdGlibGUuCj4gPiA+Pgo+ ID4gPj4gRnVsbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIGZvciB0aGVzZSBjaGFuZ2VzIGNhbiBi ZSByZXZpZXdlZCBpbiB0aGVpciByZXNwZWN0aXZlIG1haWxpbmcgbGlzdHMuCj4gPiA+Pgo+ID4g Pj4gPT09IFByZXZpb3VzIGRpc2N1c3Npb25zID09PQo+ID4gPj4KPiA+ID4+IFRoZXNlIHBhdGNo ZXMgYXJlIGJhc2VkIHVwb24gZmVlZGJhY2sgZnJvbSBwYXRjaGVzIGFuZCBmZWVkYmFjayBmcm9t IHR3byBwcmV2aW91cyB0aHJlYWRzIG9uIHRoZSBzdWJqZWN0IHdoaWNoIGFyZSBsaW5rZWQgYmVs b3cgZm9yIHJlZmVyZW5jZToKPiA+ID4+Cj4gPiA+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9hcmNoaXZlcy9hbWQtZ2Z4LzIwMTgtQXByaWwvMDIxMDQ3Lmh0bWwKPiA+ID4+IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8yMDE3LU9jdG9iZXIv MTU1MjA3Lmh0bWwKPiA+ID4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVz L2RyaS1kZXZlbC8yMDE4LVNlcHRlbWJlci8xODk0MDQuaHRtbAo+ID4gPj4KPiA+ID4+IE5pY2hv bGFzIEthemxhdXNrYXMKPiA+ID4+Cj4gPiA+PiBOaWNob2xhcyBLYXpsYXVza2FzICgzKToKPiA+ ID4+ICAgZHJtOiBBZGQgdmFyaWFibGUgcmVmcmVzaCByYXRlIHByb3BlcnRpZXMgdG8gY29ubmVj dG9yCj4gPiA+PiAgIGRybTogQWRkIHZhcmlhYmxlIHJlZnJlc2ggcHJvcGVydHkgdG8gRFJNIENS VEMKPiA+ID4+ICAgZHJtL2FtZC9kaXNwbGF5OiBTZXQgRnJlZVN5bmMgc3RhdGUgdXNpbmcgRFJN IFZSUiBwcm9wZXJ0aWVzCj4gPiA+IAo+ID4gPiBQbGVhc2UgaW5jbHVkZSBNYW5hc2kgbWFuYXNp LmQubmF2YXJlQGludGVsLmNvbSB3aGVuIHJlc2VuZGluZywgc2hlJ3MKPiA+ID4gd29ya2luZyBv biB0aGlzIGZyb20gb3VyIHNpZGUuCj4gPiA+IAo+ID4gPiBBbHNvIHNvbWUgb3ZlcnZpZXcga2Vy bmVsLWRvY3MgdGhhdCBkb2N1bWVudCB0aGUgdWFwaSBhc3BlY3Qgb2YgaG93IHRoZQo+ID4gPiBw cm9ydGllcyBhcmUgZHJpdmVuIHNob3VsZCBiZSBpbmNsdWRlZC4gUHJvYmFibHkgYmVzdCBpZiB5 b3UgYWRkIGEgbmV3Cj4gPiA+ICJWYXJpYWJsZSBSZWZyZXNoIFJhdGUiIHNlY3Rpb24gdW5kZXIK PiA+ID4gCj4gPiA+IGh0dHBzOi8vZHJpLmZyZWVkZXNrdG9wLm9yZy9kb2NzL2RybS9ncHUvZHJt LWttcy5odG1sI2ttcy1wcm9wZXJ0aWVzCj4gPiA+IAo+ID4gPiB3aXRoIGxpbmtzIHRvIGZ1bmN0 aW9ucyBkcml2ZXJzIHNob3VsZCBjYWxsIHRvIHNldCB1cCBhbmQgZXZlcnl0aGluZy4gQmVzdAo+ ID4gPiBwcmFjdGljZSBpcyB0byBzdHVmZiBhbGwgdGhhdCBpbnRvIGEgRE9DOiBjb21tZW50Lgo+ ID4gPiAKPiA+ID4gQW4gaWd0IHRlc3RjYXNlIHdvdWxkIGJlIG5lYXQgdG9vLgo+ID4gPiAKPiA+ IAo+ID4gVGhhbmtzIGZvciBicmluZ2luZyB1cCBkb2NzIGFuZCBpZ3QuCj4gPiAKPiA+IEZvciBp Z3QgaWYgd2UgZXhwb3NlIGEgbW9uaXRvcidzIHZtaW4vdm1heCB0aHJvdWdoIGEgZGVidWdmcyB3 ZSBjb3VsZAo+ID4gdGhlbiBkbyB2cnIgZmxpcHMgYXQgZGlmZmVyZW50IHBvaW50cyB3aXRoaW4g dGhhdCByYW5nZSBhbmQgbWVhc3VyZSB0aGUKPiA+IHRpbWUgdW50aWwgdmJsYW5rIG5vdGlmaWNh dGlvbnMgdG8gY2hlY2sgdGhhdCB0aGV5IChyb3VnaGx5KSBhbGlnbiB3aXRoCj4gPiB0aGUgdnRv dGFsLiBOb3Qgc3VyZSBob3cgZGlmZmljdWx0IHRoYXQnZCBiZSB3aXRoIGlndC4gV29uZGVyIGlm IEFyZWsKPiA+IGhhcyBhbnkgaWRlYXMgb2YgYSBiZXR0ZXIgYXBwcm9hY2guCj4gCj4gV2UgY2Fu IGRvIG11Y2ggYmV0dGVyOgo+IAo+IDEuIGFsbG9jYXRlIGEgYnVuY2ggb2YgYnVmZmVycwo+IDIu IHNoYXJlIHdpdGggdmdlbQo+IDMuIHVzZSB2Z2VtIGZha2UgZmVuY2VzIHRvIHBlcmZlY3RseSBj b250cm9sIHRoZSAicmVuZGVyaW5nIiBvZiB5b3VyIGZha2UKPiB3b3JrbG9hZAo+IDQuIGZsaXAg YXdheSwgYW5kIGNoZWNrIHRoYXQgdnJyIGRvZXMgd2hhdCBpdCdzIHN1cHBvc2VkIHRvIGRvLgo+ IAo+IEV2ZW4gbW9yZSBldmlsIHRoYW4gdnJyLCB0aGlzIHdvdWxkIHRlc3QgcHJpbWUrdnJyIDot KQo+IAo+IFBsYW4gYiksIGJ1dCBvbmx5IHdvcmtzIG9uIGludGVsOiBVc2UgdGhlIG1hZ2ljIHNw aW5uaW5nIGJhdGNoIHN1cHBvcnQgd2UKPiBoYXZlIGZvciBpOTE1LmtvLCB3aGVyZSBhIGR3b3Jk IHdyaXRlIGZyb20gdGhlIGNwdSBzdG9wcyB0aGUgc3Bpbm5pbmcsIGFuZAo+IGhlbmNlIGFsbG93 cyB5b3UgdG8gY29udHJvbCBob3cgbG9uZyB0aGUgInJlbmRlcmluZyIgdGFrZXMgdmVyeQo+IGFj Y3VyYXRlbHkuCj4gCj4gTmVpdGhlciBuZWVkcyBkcml2ZXIgaGFja3Mgb3IgZGVidWdmcy4KPiAK PiBDaGVlcnMsIERhbmllbAoKSSBmZWVsIGxpa2UgYWRkaW5nIGRlYnVnZnMgaW5mb3JtYXRpb24g aW4gZ2VuZXJhbCBhYm91dCBWUlIgY2FwYWJpbGl0aWVzCmxpa2UgdGhlIFZSUiByYW5nZSBzdXBw b3J0ZWQgYnkgdGhlIHBhbmVsIGlzIGEgZ29vZCBpZGVhIHRvIGludm9rZSBWUlIKZm9yIHZhcmlv dXMgcmVmcmVzaCByYXRlcyBmcm9tIElHVCBvciByZWFsIGFwcGxpY2F0aW9ucyBhbmQgYWxzbwp0 byBiZSBhYmxlIHRvIGRvIGNoZWNrcyBmb3Igd2hldGhlciB0aGUgYWN0dWFsIHZibGFuayBoYXBw ZW5lZCB3aXRoaW4gdGhlIG1heGltdW0KYmxhbmtpbmcgaW50ZXJ2YWwgc3VwcG9ydGVkLgoKQW5k IHdlIGFscmVhZHkgcGFyc2UgdGhhdCBpbmZvcm1hdGlvbiBpbiB0aGUgZHJpdmVyIHRvIHNldCB0 aGUgVmJsYW5rIG1pbiBhbmQgbWF4IHZhbHVlcwpmb3IgdGhlIHJlZ2lzdGVycyBzbyBlYXN5IHRv IGV4cG9zZSB0aGF0IGFzIHdlbGwgdGhyb3VnaCBkZWJ1Z2ZzLgoKTWFuYXNpCgo+ID4gCj4gPiBI YXJyeQo+ID4gCj4gPiA+IENoZWVycywgRGFuaWVsCj4gPiA+IAo+ID4gPj4KPiA+ID4+ICAuLi4v Z3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgfCAyMzIgKysrKysrKysr LS0tLS0tLS0tCj4gPiA+PiAgLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdw dV9kbS5oIHwgICA2ICstCj4gPiA+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVy LmMgICAgICAgICAgIHwgICAxICsKPiA+ID4+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191 YXBpLmMgICAgICAgICAgICAgfCAgMTIgKwo+ID4gPj4gIGRyaXZlcnMvZ3B1L2RybS9kcm1fY29u bmVjdG9yLmMgICAgICAgICAgICAgICB8ICAzNSArKysKPiA+ID4+ICBkcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGMuYyAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwo+ID4gPj4gIGRyaXZlcnMvZ3B1 L2RybS9kcm1fbW9kZV9jb25maWcuYyAgICAgICAgICAgICB8ICAgNiArCj4gPiA+PiAgaW5jbHVk ZS9kcm0vZHJtX2Nvbm5lY3Rvci5oICAgICAgICAgICAgICAgICAgIHwgIDI3ICsrCj4gPiA+PiAg aW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEzICsKPiA+ ID4+ICBpbmNsdWRlL2RybS9kcm1fbW9kZV9jb25maWcuaCAgICAgICAgICAgICAgICAgfCAgIDgg Kwo+ID4gPj4gIDEwIGZpbGVzIGNoYW5nZWQsIDIyNSBpbnNlcnRpb25zKCspLCAxMTcgZGVsZXRp b25zKC0pCj4gPiA+Pgo+ID4gPj4gLS0gCj4gPiA+PiAyLjE5LjAKPiA+ID4+Cj4gPiA+IAo+IAo+ IC0tIAo+IERhbmllbCBWZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRp b24KPiBodHRwOi8vYmxvZy5mZndsbC5jaAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2RyaS1kZXZlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ft ZC1nZngK