From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Hellstrom Subject: Re: [PATCH 1/2] drm/ttm: add a way to bo_wait for either the last read or last write Date: Fri, 07 Oct 2011 16:05:18 +0200 Message-ID: <4E8F071E.2010000@shipmail.org> References: <1312749544-22052-1-git-send-email-maraeo@gmail.com> <4E8AF276.2060500@shipmail.org> <4E8BF131.1070404@shipmail.org> <4E8EB19B.2060605@shipmail.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from GOTHNET-SMTP2.gothnet.se (relay.gothnet.se [82.193.160.251]) by gabe.freedesktop.org (Postfix) with ESMTP id D254D9E7B6 for ; Fri, 7 Oct 2011 07:07:19 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Alex Deucher Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gMTAvMDcvMjAxMSAwMzoyNCBQTSwgQWxleCBEZXVjaGVyIHdyb3RlOgo+IE9uIEZyaSwgT2N0 IDcsIDIwMTEgYXQgNDowMCBBTSwgVGhvbWFzIEhlbGxzdHJvbTx0aG9tYXNAc2hpcG1haWwub3Jn PiAgd3JvdGU6Cj4gICAgCj4+IE9uIDEwLzA3LzIwMTEgMTI6NDIgQU0sIE1hcmVrIE9sxaHDoWsg d3JvdGU6Cj4+ICAgICAgCj4+PiBPbiBXZWQsIE9jdCA1LCAyMDExIGF0IDc6NTQgQU0sIFRob21h cyBIZWxsc3Ryb208dGhvbWFzQHNoaXBtYWlsLm9yZz4KPj4+ICAgd3JvdGU6Cj4+Pgo+Pj4gICAg ICAgIAo+Pj4+IEluIGFueSBjYXNlLCBJJ20gbm90IHNheWluZyBmZW5jZXMgaXMgdGhlIGJlc3Qg d2F5IHRvIGZsdXNoIGJ1dCBzaW5jZSB0aGUKPj4+PiBibwo+Pj4+IGNvZGUgYXNzdW1lcyB0aGF0 IHNpZ25hbGluZyBhIHN5bmMgb2JqZWN0IG1lYW5zICJtYWtlIHRoZSBidWZmZXIgY29udGVudHMK Pj4+PiBhdmFpbGFibGUgZm9yIENQVSByZWFkIC8gd3JpdGUiLCBpdCdzIHVzdWFsbHkgYSBnb29k IHdheSB0byBkbyBpdDsKPj4+PiB0aGVyZSdzCj4+Pj4gZXZlbiBhIHN5bmNfb2JqX2ZsdXNoKCkg bWV0aG9kIHRoYXQgZ2V0cyBjYWxsZWQgd2hlbiBhIHBvdGVudGlhbCBmbHVzaAo+Pj4+IG5lZWRz Cj4+Pj4gdG8gaGFwcGVuLgo+Pj4+Cj4+Pj4gICAgICAgICAgCj4+PiBJIGRvbid0IHRoaW5rIHdl IHVzZSBpdCBsaWtlIHRoYXQuIFRvIG15IGtub3dsZWRnZSwgdGhlIHB1cnBvc2Ugb2YgdGhlCj4+ PiBzeW5jIG9iaiAodG8gUmFkZW9uIEdhbGxpdW0gZHJpdmVycyBhdCBsZWFzdCkgaXMgdG8gYmUg YWJsZSB0byB3YWl0Cj4+PiBmb3IgdGhlIGxhc3QgdXNlIG9mIGEgYnVmZmVyLiBXaGV0aGVyIHRo ZSBjb250ZW50cyBjYW4gb3IgY2Fubm90IGJlCj4+PiBhdmFpbGFibGUgdG8gdGhlIENQVSBpcyB0 b3RhbGx5IGlycmVsZXZhbnQuCj4+Pgo+Pj4gQ3VycmVudGx5IChhbmQgaXQncyBhIHZlcnkgaW1w b3J0YW50IHBlcmZvcm1hbmNlIG9wdGltaXphdGlvbiksCj4+PiBidWZmZXJzIHN0YXkgbWFwcGVk IGFuZCBhdmFpbGFibGUgZm9yIENQVSByZWFkL3dyaXRlIGR1cmluZyB0aGVpcgo+Pj4gZmlyc3Qg bWFwX2J1ZmZlciBjYWxsLiBVbm1hcF9idWZmZXIgaXMgYSBuby1vcC4gVGhlIHVubWFwcGluZyBo YXBwZW5zCj4+PiBvbiBidWZmZXIgZGVzdHJ1Y3Rpb24uIFdlIG9ubHkgY2FsbCBib193YWl0IHdo ZW4gd2Ugd2FudCB0byB3YWl0IGZvcgo+Pj4gdGhlIEdQVSB1bnRpbCBpdCdzIGRvbmUgd2l0aCB0 aGUgYnVmZmVyICh3ZSBkb24ndCBhbHdheXMgd2FudCB0aGF0LAo+Pj4gc29tZXRpbWVzIHdlIHdh bnQgdG8gdXNlIHRoZSB1bnN5Y2hyb25pemVkIGZsYWcpLiBPdGhlcndpc2UgdGhlCj4+PiBjb250 ZW50cyBvZiBidWZmZXJzIGFyZSBhdmFpbGFibGUgYXQgKmFueSB0aW1lKi4KPj4+Cj4+PiBXZSBj b3VsZCBwcm9iYWJseSBpbXBsZW1lbnQgYm9fd2FpdCBwcml2YXRlbHkgaW4gdGhlIGtlcm5lbCBk cml2ZXIgYW5kCj4+PiBub3QgdXNlIHR0bV9ib193YWl0LiBJIHByZWZlcnJlZCBjb2RlIHNoYXJp bmcgdGhvdWdoLgo+Pj4KPj4+IFRleHR1cmVzIChlc3BlY2lhbGx5IHRoZSB0aWxlZCBvbmVzKSBh cmUgbmV2ZXIgbWFwcGVkIGRpcmVjdGx5IGFuZCBhCj4+PiB0ZW1wb3Jhcnkgc3RhZ2luZyByZXNv dXJjZSBpcyB1c2VkIGluc3RlYWQsIHNvIHdlIGRvbid0IGFjdHVhbGx5Cj4+PiBwb2xsdXRlIGFk ZHJlc3Mgc3BhY2UgdGhhdCBtdWNoLiAoaW4gY2FzZSB5b3Ugd291bGQgaGF2ZSBzdWNoIGEKPj4+ IHJlbWFyaykgV2Ugd2lsbCB1c2Ugc3RhZ2luZyByZXNvdXJjZXMgZm9yIGJ1ZmZlcnMgdG9vLCBi dXQgaXQncyByZWFsbHkKPj4+IHRoZSBsYXN0IHJlc29ydCB0byBhdm9pZCB3YWl0aW5nIHdoZW4g ZGlyZWN0IGFjY2VzcyBjYW4ndCBiZSB1c2VkLgo+Pj4KPj4+Cj4+Pgo+Pj4gICAgICAgIAo+Pj4+ Pj4gMikgQ2FuJ3Qgd2Ugc2F5IHRoYXQgYSB3cml0ZV9zeW5jX29iaiBpcyBzaW1wbHkgYSBzeW5j X29iaj8gV2hhdCdzIHRoZQo+Pj4+Pj4gZGlmZmVyZW5jZSBiZXR3ZWVuIHRob3NlIHR3bz8gSSB0 aGluayB3ZSBzaG91bGQgcmVtb3ZlIHRoZQo+Pj4+Pj4gd3JpdGVfc3luY19vYmoKPj4+Pj4+IGJv Cj4+Pj4+PiBtZW1iZXIuCj4+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+ICAgICAgICAgICAgICAKPj4+Pj4g T2theSwgYnV0IEkgdGhpbmsgd2Ugc2hvdWxkIHJlbW92ZSBzeW5jX29iaiBpbnN0ZWFkLCBhbmQg a2VlcCB3cml0ZQo+Pj4+PiBhbmQgcmVhZCBzeW5jIG9ianMuIEluIHRoZSBjYXNlIG9mIFJFQURX UklURSB1c2FnZSwgcmVhZF9zeW5jX29iago+Pj4+PiB3b3VsZCBiZSBlcXVhbCB0byB3cml0ZV9z eW5jX29iai4KPj4+Pj4KPj4+Pj4KPj4+Pj4KPj4+Pj4gICAgICAgICAgICAKPj4+PiBTdXJlLCBJ J20gZmluZSB3aXRoIHRoYXQuCj4+Pj4KPj4+PiBPbmUgb3RoZXIgdGhpbmcsIHRob3VnaCwgdGhh dCBtYWtlcyBtZSBhIGxpdHRsZSBwdXp6bGVkOgo+Pj4+Cj4+Pj4gTGV0J3MgYXNzdW1lIHlvdSBk b24ndCBhbGxvdyByZWFkZXJzIGFuZCB3cml0ZXJzIGF0IHRoZSBzYW1lIHRpbWUsIHdoaWNoCj4+ Pj4gaXMKPj4+PiBteSBwZXJjZXB0aW9uIG9mIGhvdyByZWFkLSBhbmQgd3JpdGUgZmVuY2VzIHNo b3VsZCB3b3JrOyB5b3UgZWl0aGVyIGhhdmUKPj4+PiBhCj4+Pj4gbGlzdCBvZiByZWFkIGZlbmNl cyBvciBhIHNpbmdsZSB3cml0ZSBmZW5jZSAoaW4gdGhlIHNhbWUgd2F5IGEgcmVhZC13cml0ZQo+ Pj4+IGxvY2sgd29ya3MpLgo+Pj4+Cj4+Pj4gTm93LCBpZiB5b3Ugb25seSBhbGxvdyBhIHNpbmds ZSByZWFkIGZlbmNlLCBsaWtlIGluIHRoaXMgcGF0Y2guIFRoYXQKPj4+PiBpbXBsaWVzCj4+Pj4g dGhhdCB5b3UgY2FuIG9ubHkgaGF2ZSBlaXRoZXIgYSBzaW5nbGUgcmVhZCBmZW5jZSBvciBhIHNp bmdsZSB3cml0ZSBmZW5jZQo+Pj4+IGF0Cj4+Pj4gYW55IG9uZSB0aW1lLiBXZSdkIG9ubHkgbmVl ZCBhIHNpbmdsZSBmZW5jZSBwb2ludGVyIG9uIHRoZSBibywgYW5kCj4+Pj4gc3luY19vYmpfYXJn IHdvdWxkIHRlbGwgdXMgd2hldGhlciB0byBzaWduYWwgdGhlIGZlbmNlIGZvciByZWFkIG9yIGZv cgo+Pj4+IHdyaXRlCj4+Pj4gKGFzc3VtaW5nIHRoYXQgc3luY19vYmpfYXJnIHdhcyBzZXQgdXAg dG8gaW5kaWNhdGUgcmVhZCAvIHdyaXRlIGF0Cj4+Pj4gdmFsaWRhdGlvbiB0aW1lKSwgdGhlbiB0 aGUgcGF0Y2ggcmVhbGx5IGlzbid0IG5lY2Vzc2FyeSBhdCBhbGwsIGFzIGl0Cj4+Pj4gb25seQo+ Pj4+IGFsbG93cyBhIHNpbmdsZSByZWFkIGZlbmNlPwo+Pj4+Cj4+Pj4gT3IgaXMgaXQgdGhhdCB5 b3Ugd2FudCB0byBhbGxvdyByZWFkLSBhbmQgd3JpdGUgZmVuY2VzIGNvLWV4aXN0aW5nPyBJbgo+ Pj4+IHRoYXQKPj4+PiBjYXNlLCB3aGF0J3MgdGhlIHVzZSBjYXNlPwo+Pj4+Cj4+Pj4gICAgICAg ICAgCj4+PiBUaGVyZSBhcmUgbG90cyBvZiByZWFkLXdyaXRlIHVzZSBjYXNlcyB3aGljaCBkb24n dCBuZWVkIGFueSBiYXJyaWVycwo+Pj4gb3IgZmx1c2hpbmcuIFRoZSBvYnZpb3VzIG9uZXMgYXJl IGNvbG9yIGJsZW5kaW5nIGFuZCBkZXB0aC1zdGVuY2lsCj4+PiBidWZmZXJpbmcuIFRoZSBPcGVu R0wgYXBwbGljYXRpb24gaXMgYWxzbyBhbGxvd2VkIHRvIHVzZSBhIHN1YnJhbmdlIG9mCj4+PiBh IGJ1ZmZlciBhcyBhIHZlcnRleCBidWZmZXIgKHJlYWQtb25seSkgYW5kIGFub3RoZXIgZGlzam9p bnQgc3VicmFuZ2UKPj4+IG9mIHRoZSBzYW1lIGJ1ZmZlciBmb3IgdHJhbnNmb3JtIGZlZWRiYWNr ICh3cml0ZS1vbmx5KSwgd2hpY2gga2luZGEKPj4+IG1ha2VzIG1lIHRoaW5rIGFib3V0IHdoZXRo ZXIgd2Ugc2hvdWxkIHRyYWNrIHN1YnJhbmdlcyBpbnN0ZWFkIG9mCj4+PiB0cmVhdGluZyBhIHdo b2xlIGJ1ZmZlciBhcyAiYnVzeSIuIEl0IGdldHMgZXZlbiBtb3JlIGZ1bmt5IHdpdGgKPj4+IEFS Ql9zaGFkZXJfaW1hZ2VfbG9hZF9zdG9yZSwgd2hpY2ggc3VwcG9ydHMgYXRvbWljIHJlYWQtbW9k aWZ5LXdyaXRlCj4+PiBvcGVyYXRpb25zIG9uIHRleHR1cmVzLCBub3QgdG8gbWVudGlvbiBhdG9t aWMgbWVtb3J5IG9wZXJhdGlvbnMgaW4KPj4+IGNvbXB1dGUgc2hhZGVycyAod2FpdCwgaXNuJ3Qg dGhhdCBhbHNvIGV4cG9zZWQgaW4gR0wgYXMKPj4+IEdMX0FSQl9zaGFkZXJfYXRvbWljX2NvdW50 ZXJzPykuCj4+Pgo+Pj4gSSB3YXMgdGhpbmtpbmcgd2hldGhlciB0aGUgdHdvIHN5bmMgb2JqcyBz aG91bGQgYmUgInJlYWQiIGFuZAo+Pj4gInJlYWR3cml0ZSIsIG9yICJyZWFkIiBhbmQgIndyaXRl Ii4gSSBjaG9zZSB0aGUgbGF0dGVyLCBiZWNhdXNlIGl0J3MKPj4+IG1vcmUgZmluZS1ncmFpbmVk IGFuZCB3ZSBoYXZlIHRvIGtlZXAgYXQgbGVhc3QgdHdvIG9mIHRoZW0gYXJvdW5kCj4+PiBhbnl3 YXkuCj4+Pgo+Pj4gU28gbm93IHRoYXQgeW91IGtub3cgd2hhdCB3ZSB1c2Ugc3luYyBvYmpzIGZv ciwgd2hhdCBhcmUgeW91ciBpZGVhcyBvbgo+Pj4gcmUtaW1wbGVtZW50aW5nIHRoYXQgcGF0Y2gg aW4gYSB3YXkgdGhhdCBpcyBva2F5IHdpdGggeW91PyBCZXNpZGVzCj4+PiByZW1vdmluZyB0aGUg dGhpcmQgc3luYyBvYmpzIG9mIGNvdXJzZS4KPj4+Cj4+PiBNYXJlawo+Pj4KPj4+ICAgICAgICAK Pj4gT0suIEZpcnN0IEkgdGhpbmsgd2UgbmVlZCB0byBtYWtlIGEgZGlzdGluY3Rpb246IGJvIHN5 bmMgb2JqZWN0cyB2cyBkcml2ZXIKPj4gZmVuY2VzLiBUaGUgYm8gc3luYyBvYmogYXBpIGlzIHRo ZXJlIHRvIHN0cmljdGx5IHByb3ZpZGUgZnVuY3Rpb25hbGl0eSB0aGF0Cj4+IHRoZSB0dG0gYm8g c3Vic3lzdGVtIGlzIHVzaW5nLCBhbmQgdGhhdCBmb2xsb3dzIGEgc2ltcGxlIHNldCBvZiBydWxl czoKPj4KPj4gMSkgdGhlIGJvIHN1YnN5c3RlbSBkb2VzIG5ldmVyIGFzc3VtZSBzeW5jIG9iamVj dHMgYXJlIG9yZGVyZWQuIFRoYXQgbWVhbnMKPj4gdGhlIGJvIHN1YnN5c3RlbSBuZWVkcyB0byB3 YWl0IG9uIGEgc3luYyBvYmplY3QgYmVmb3JlIHJlbW92aW5nIGl0IGZyb20gYQo+PiBidWZmZXIu IEFueSBvdGhlciBhc3N1bXB0aW9uIGlzIGJ1Z2d5IGFuZCBtdXN0IGJlIGZpeGVkLiBCVVQsIGlm IHRoYXQKPj4gYXNzdW1wdGlvbiB0YWtlcyBwbGFjZSBpbiB0aGUgZHJpdmVyIHVua25vd2luZ2x5 IGZyb20gdGhlIHR0bSBibyBzdWJzeXN0ZW0KPj4gKHdoaWNoIGlzIHVzdWFsbHkgdGhlIGNhc2Up LCBpdCdzIE9LLgo+Pgo+PiAyKSBXaGVuIHRoZSBzeW5jIG9iamVjdChzKSBhdHRhY2hlZCB0byB0 aGUgYm8gYXJlIHNpZ25hbGVkIHRoZSB0dG0gYm8KPj4gc3Vic3lzdGVtIGlzIGZyZWUgdG8gY29w eSB0aGUgYm8gY29udGVudHMgYW5kIHRvIHVuYmluZCB0aGUgYm8uCj4+Cj4+IDMpIFRoZSB0dG0g Ym8gc3lzdGVtIGFsbG93cyBzeW5jIG9iamVjdHMgdG8gYmUgc2lnbmFsZWQgaW4gZGlmZmVyZW50 IHdheXMKPj4gb3BhcXVlIHRvIHRoZSBzdWJzeXN0ZW0gdXNpbmcgc3luY19vYmpfYXJnLiBUaGUg ZHJpdmVyIGlzIHJlc3BvbnNpYmxlIGZvcgo+PiBzZXR0aW5nIHVwIHRoYXQgYXJndW1lbnQuCj4+ Cj4+IDQpIERyaXZlciBmZW5jZXMgbWF5IGJlIHVzZWQgZm9yIG9yIGV4cG9zZSBvdGhlciBmdW5j dGlvbmFsaXR5IG9yIGFkYXB0aW9ucwo+PiB0byBBUElzIGFzIGxvbmcgYXMgdGhlIHN5bmMgb2Jq IGFwaSBleHBvcnRlZCB0byB0aGUgYm8gc3lic3lzdGVtIGZvbGxvd3MgdGhlCj4+IGFib3ZlIHJ1 bGVzLgo+Pgo+PiBUaGlzIG1lYW5zIHRoZSBmb2xsb3dpbmcgdyByIHQgdGhlIHBhdGNoLgo+Pgo+ PiBBKSBpdCB2aW9sYXRlcyAxKS4gVGhpcyBpcyBhIGJ1ZyB0aGF0IG11c3QgYmUgZml4ZWQuIEFz c3VtcHRpb25zIHRoYXQgaWYgb25lCj4+IHN5bmMgb2JqZWN0IGlzIHNpbmduYWxlZCwgYW5vdGhl ciBzeW5jIG9iamVjdCBpcyBhbHNvIHNpZ25hbGVkIG11c3QgYmUgZG9uZQo+PiBpbiB0aGUgZHJp dmVyIGFuZCBub3QgaW4gdGhlIGJvIHN1YnN5c3RlbS4gSGVuY2Ugd2UgbmVlZCB0byBleHBsaWNp dGx5IHdhaXQKPj4gZm9yIGEgZmVuY2UgdG8gcmVtb3ZlIGl0IGZyb20gdGhlIGJvLgo+Pgo+PiBC KSB0aGUgc3luY19vYmpfYXJnIGNhcnJpZXMgKnBlci1zeW5jLW9iaiogaW5mb3JtYXRpb24gb24g aG93IGl0IHNob3VsZCBiZQo+PiBzaWduYWxlZC4gSWYgd2UgbmVlZCB0byBhdHRhY2ggbXVsdGlw bGUgc3luYyBvYmplY3RzIHRvIGEgYnVmZmVyIG9iamVjdCwgd2UKPj4gYWxzbyBuZWVkIG11bHRp cGxlIHN5bmNfb2JqX2FyZ3MuIFRoaXMgaXMgYSBidWcgYW5kIG5lZWRzIHRvIGJlIGZpeGVkLgo+ Pgo+PiBDKSBUaGVyZSBpcyByZWFsbHkgb25seSBvbmUgcmVhc29uIHRoYXQgdGhlIHR0bSBibyBz dWJzeXN0ZW0gc2hvdWxkIGNhcmUKPj4gYWJvdXQgbXVsdGlwbGUgc3luYyBvYmplY3RzLCBhbmQg dGhhdCBpcyBiZWNhdXNlIHRoZSBkcml2ZXIgY2FuJ3Qgb3JkZXIgdGhlbQo+PiBlZmZpY2llbnRs eS4gQSBzdWNoIGV4YW1wbGUgd291bGQgYmUgaGFyZHdhcmUgd2l0aCBtdWx0aXBsZSBwaXBlcyBy ZWFkaW5nCj4+IHNpbXVsdGFuZW91c2x5IGZyb20gdGhlIHNhbWUgdGV4dHVyZSBidWZmZXIuIEN1 cnJlbnRseSB3ZSBkb24ndCBzdXBwb3J0IHRoaXMKPj4gc28gb25seSB0aGUgKmxhc3QqIHN5bmMg b2JqZWN0IG5lZWRzIHRvIGJlIGtub3cgYnkgdGhlIGJvIHN1YnN5c3RlbS4gS2VlcGluZwo+PiB0 cmFjayBvZiBtdWx0aXBsZSBmZW5jZXMgZ2VuZXJhdGVzIGEgbG90IG9mIGNvbXBsZXRlbHkgdW5u ZWNlc3NhcnkgY29kZSBpbgo+PiB0aGUgdHRtX2JvX3V0aWwgZmlsZSwgdGhlIHR0bV9ib192bSBm aWxlLCBhbmQgd2lsbCBiZSBhIG5pZ2h0bWFyZSBpZiAvIHdoZW4KPj4gd2UgdHJ1bHkgc3VwcG9y dCBwaXBlbGluZWQgbW92ZXMuCj4+ICAgICAgCj4gSnVzdCBhbiBGWUksIGNheW1hbiBHUFVzIGhh dmUgbXVsdGlwbGUgcmluZ3MgYW5kIHdlIHdpbGwgYmUgd29ya2luZyB0bwo+IHN1cHBvcnQgdGhl bSBpbiB0aGUgY29taW5nIG1vbnRocy4KPgo+IEFsZXgKPgo+ICAgIAoKUmlnaHQuIE52aWRpYSBo YXMgaGFkIGl0IGZvciBhIGxvbmcgdGltZSwgYnV0IEkgdGhpbmsgdGhleSB1c2UgYmFycmllcnMg CigiU2VtYXBob3JlcyIpIHRvIG9yZGVyCnN5bmMgb2JqZWN0cyB3aGVuIG5lZWRlZCwgc28gdGhh dCBvbmx5IHRoZSBsYXN0IHN5bmMgb2JqZWN0IGlzIGF0dGFjaGVkIAp0byB0aGUgYnVmZmVyLgoK SWYgeW91IG5lZWQgdG8gLyB3YW50IHRvIHN1cHBvcnQgc2ltdWx0YW5lb3VzIHJpbmcgYWNjZXNz IHRvIGEgYnVmZmVyIAp3aXRob3V0IHN1Y2ggYmFycmllcnMsCndlIHNob3VsZCBjaGFuZ2UgdGhl IHNpbmdsZSBidWZmZXIgb2JqZWN0IGZlbmNlIHBvaW50ZXIgdG8gYSBsaXN0IG9mIApwb2ludGVy cyB0byBmZW5jZSBvYmplY3RzLgoKL1Rob21hcwoKCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK