From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [PATCH v6 00/34] GPU scheduler for i915 driver Date: Fri, 22 Apr 2016 16:37:40 +0100 Message-ID: <571A4544.5000407@Intel.com> References: <1461172435-4256-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 40FDA6EF1D for ; Fri, 22 Apr 2016 15:37:43 +0000 (UTC) In-Reply-To: <1461172435-4256-1-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBzZXJpZXMgY2FuIGJlIHB1bGxlZCBmcm9tIAonc3NoOi8vcGVvcGxlLmZyZWVk ZXNrdG9wLm9yZy9+am9obmhhcnIvc2NoZWR1bGVyJyBhcyB0aGUgJ3NjaGVkdWxlcicgCmJyYW5j aC4KCgpPbiAyMC8wNC8yMDE2IDE4OjEzLCBKb2huLkMuSGFycmlzb25ASW50ZWwuY29tIHdyb3Rl Ogo+IEZyb206IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Cj4KPiBJ bXBsZW1lbnRlZCBhIGJhdGNoIGJ1ZmZlciBzdWJtaXNzaW9uIHNjaGVkdWxlciBmb3IgdGhlIGk5 MTUgRFJNIGRyaXZlci4KPgo+IFRoZSBnZW5lcmFsIHRoZW9yeSBvZiBvcGVyYXRpb24gaXMgdGhh dCB3aGVuIGJhdGNoIGJ1ZmZlcnMgYXJlCj4gc3VibWl0dGVkIHRvIHRoZSBkcml2ZXIsIHRoZSBl eGVjYnVmZmVyKCkgY29kZSBhc3NpZ25zIGEgdW5pcXVlIHNlcW5vCj4gdmFsdWUgYW5kIHRoZW4g cGFja2FnZXMgdXAgYWxsIHRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byBleGVjdXRlIHRoZQo+ IGJhdGNoIGJ1ZmZlciBhdCBhIGxhdGVyIHRpbWUuIFRoaXMgcGFja2FnZSBpcyBnaXZlbiBvdmVy IHRvIHRoZQo+IHNjaGVkdWxlciB3aGljaCBhZGRzIGl0IHRvIGFuIGludGVybmFsIG5vZGUgbGlz dC4gVGhlIHNjaGVkdWxlciBhbHNvCj4gc2NhbnMgdGhlIGxpc3Qgb2Ygb2JqZWN0cyBhc3NvY2lh dGVkIHdpdGggdGhlIGJhdGNoIGJ1ZmZlciBhbmQKPiBjb21wYXJlcyB0aGVtIGFnYWluc3QgdGhl IG9iamVjdHMgYWxyZWFkeSBpbiB1c2UgYnkgb3RoZXIgYnVmZmVycyBpbgo+IHRoZSBub2RlIGxp c3QuIElmIG1hdGNoZXMgYXJlIGZvdW5kIHRoZW4gdGhlIG5ldyBiYXRjaCBidWZmZXIgbm9kZSBp cwo+IG1hcmtlZCBhcyBiZWluZyBkZXBlbmRlbnQgdXBvbiB0aGUgbWF0Y2hpbmcgbm9kZS4gVGhl IHNhbWUgaXMgZG9uZSBmb3IKPiB0aGUgY29udGV4dCBvYmplY3QuIFRoZSBzY2hlZHVsZXIgYWxz byBidW1wcyB1cCB0aGUgcHJpb3JpdHkgb2Ygc3VjaAo+IG1hdGNoaW5nIG5vZGVzIG9uIHRoZSBn cm91bmRzIHRoYXQgdGhlIG1vcmUgZGVwZW5kZW5jaWVzIGEgZ2l2ZW4gYmF0Y2gKPiBidWZmZXIg aGFzIHRoZSBtb3JlIGltcG9ydGFudCBpdCBpcyBsaWtlbHkgdG8gYmUuCj4KPiBUaGUgc2NoZWR1 bGVyIGFpbXMgdG8gaGF2ZSBhIGdpdmVuICh0dW5lYWJsZSkgbnVtYmVyIG9mIGJhdGNoIGJ1ZmZl cnMKPiBpbiBmbGlnaHQgb24gdGhlIGhhcmR3YXJlIGF0IGFueSBnaXZlbiB0aW1lLiBJZiBmZXdl ciB0aGFuIHRoaXMgYXJlCj4gY3VycmVudGx5IGV4ZWN1dGluZyB3aGVuIGEgbmV3IG5vZGUgaXMg cXVldWVkLCB0aGVuIHRoZSBub2RlIGlzIHBhc3NlZAo+IHN0cmFpZ2h0IHRocm91Z2ggdG8gdGhl IHN1Ym1pdCBmdW5jdGlvbi4gT3RoZXJ3aXNlIGl0IGlzIHNpbXBseSBhZGRlZAo+IHRvIHRoZSBx dWV1ZSBhbmQgdGhlIGRyaXZlciByZXR1cm5zIGJhY2sgdG8gdXNlciBsYW5kLgo+Cj4gQXMgZWFj aCBiYXRjaCBidWZmZXIgY29tcGxldGVzLCBpdCByYWlzZXMgYW4gaW50ZXJydXB0IHdoaWNoIHdh a2VzIHVwCj4gdGhlIHNjaGVkdWxlci4gTm90ZSB0aGF0IGl0IGlzIHBvc3NpYmxlIGZvciBtdWx0 aXBsZSBidWZmZXJzIHRvCj4gY29tcGxldGUgYmVmb3JlIHRoZSBJUlEgaGFuZGxlciBnZXRzIHRv IHJ1bi4gRnVydGhlciwgdGhlIHNlcW5vIHZhbHVlcwo+IG9mIHRoZSBpbmRpdmlkdWFsIGJ1ZmZl cnMgYXJlIG5vdCBuZWNlc3NhcnkgaW5jcmVtZW50aW5nIGFzIHRoZQo+IHNjaGVkdWxlciBtYXkg aGF2ZSByZS1vcmRlcmVkIHRoZWlyIHN1Ym1pc3Npb24uIEhvd2V2ZXIsIHRoZSBzY2hlZHVsZXIK PiBrZWVwcyB0aGUgbGlzdCBvZiBleGVjdXRpbmcgYnVmZmVycyBpbiBvcmRlciBvZiBoYXJkd2Fy ZSBzdWJtaXNzaW9uLgo+IFRodXMgaXQgY2FuIHNjYW4gdGhyb3VnaCB0aGUgbGlzdCB1bnRpbCBh IG1hdGNoaW5nIHNlcW5vIGlzIGZvdW5kIGFuZAo+IHRoZW4gbWFyayBhbGwgaW4gZmxpZ2h0IG5v ZGVzIGZyb20gdGhhdCBwb2ludCBvbiBhcyBjb21wbGV0ZWQuCj4KPiBBIGRlZmVycmVkIHdvcmsg cXVldWUgaXMgYWxzbyBwb2tlZCBieSB0aGUgaW50ZXJydXB0IGhhbmRsZXIuIFdoZW4KPiB0aGlz IHdha2VzIHVwIGl0IGNhbiBkbyBtb3JlIGludm9sdmVkIHByb2Nlc3Npbmcgc3VjaCBhcyBhY3R1 YWxseQo+IHJlbW92aW5nIGNvbXBsZXRlZCBub2RlcyBmcm9tIHRoZSBxdWV1ZSBhbmQgZnJlZWlu ZyB1cCB0aGUgcmVzb3VyY2VzCj4gYXNzb2NpYXRlZCB3aXRoIHRoZW0gKGludGVybmFsIG1lbW9y eSBhbGxvY2F0aW9ucywgRFJNIG9iamVjdAo+IHJlZmVyZW5jZXMsIGNvbnRleHQgcmVmZXJlbmNl LCBldGMuKS4gVGhlIHdvcmsgaGFuZGxlciBhbHNvIGNoZWNrcyB0aGUKPiBpbiBmbGlnaHQgY291 bnQgYW5kIGNhbGxzIHRoZSBzdWJtaXNzaW9uIGNvZGUgaWYgYSBuZXcgc2xvdCBoYXMKPiBhcHBl YXJlZC4KPgo+IFdoZW4gdGhlIHNjaGVkdWxlcidzIHN1Ym1pdCBjb2RlIGlzIGNhbGxlZCwgaXQg c2NhbnMgdGhlIHF1ZXVlZCBub2RlCj4gbGlzdCBmb3IgdGhlIGhpZ2hlc3QgcHJpb3JpdHkgbm9k ZSB0aGF0IGhhcyBubyB1bm1ldCBkZXBlbmRlbmNpZXMuCj4gTm90ZSB0aGF0IHRoZSBkZXBlbmRl bmN5IGNhbGN1bGF0aW9uIGlzIGNvbXBsZXggYXMgaXQgbXVzdCB0YWtlCj4gaW50ZXItcmluZyBk ZXBlbmRlbmNpZXMgYW5kIHBvdGVudGlhbCBwcmVlbXB0aW9ucyBpbnRvIGFjY291bnQuIE5vdGUK PiBhbHNvIHRoYXQgaW4gdGhlIGZ1dHVyZSB0aGlzIHdpbGwgYmUgZXh0ZW5kZWQgdG8gaW5jbHVk ZSBleHRlcm5hbAo+IGRlcGVuZGVuY2llcyBzdWNoIGFzIHRoZSBBbmRyb2lkIE5hdGl2ZSBTeW5j IGZpbGUgZGVzY3JpcHRvcnMgYW5kL29yCj4gdGhlIGxpbnV4IGRtYS1idWZmIHN5bmNocm9uaXNh dGlvbiBzY2hlbWUuCj4KPiBJZiBhIHN1aXRhYmxlIG5vZGUgaXMgZm91bmQgdGhlbiBpdCBpcyBz ZW50IHRvIGV4ZWNidWZmX2ZpbmFsKCkgZm9yCj4gc3VibWlzc2lvbiB0byB0aGUgaGFyZHdhcmUu IFRoZSBpbiBmbGlnaHQgY291bnQgaXMgdGhlbiByZS1jaGVja2VkIGFuZAo+IGEgbmV3IG5vZGUg cG9wcGVkIGZyb20gdGhlIGxpc3QgaWYgYXBwcm9wcmlhdGUuCj4KPiBUaGUgc2NoZWR1bGVyIGFs c28gYWxsb3dzIGhpZ2ggcHJpb3JpdHkgYmF0Y2ggYnVmZmVycyAoZS5nLiBmcm9tIGEKPiBkZXNr dG9wIGNvbXBvc2l0b3IpIHRvIGp1bXAgYWhlYWQgb2Ygd2hhdGV2ZXIgaXMgYWxyZWFkeSBydW5u aW5nIGlmCj4gdGhlIHVuZGVybHlpbmcgaGFyZHdhcmUgc3VwcG9ydHMgcHJlLWVtcHRpb24uIElu IHRoaXMgc2l0dWF0aW9uLCBhbnkKPiB3b3JrIHRoYXQgd2FzIHByZS1lbXB0ZWQgaXMgcmV0dXJu ZWQgdG8gdGhlIHF1ZXVlZCBsaXN0IHJlYWR5IHRvIGJlCj4gcmVzdWJtaXR0ZWQgd2hlbiBubyBt b3JlIGhpZ2ggcHJpb3JpdHkgd29yayBpcyBvdXRzdGFuZGluZy4KPgo+IFZhcmlvdXMgSUdUIHRl c3RzIGFyZSBpbiBwcm9ncmVzcyB0byB0ZXN0IHRoZSBzY2hlZHVsZXIncyBvcGVyYXRpb24KPiBh bmQgd2lsbCBmb2xsb3cuCj4KPiB2MjogVXBkYXRlZCBmb3IgY2hhbmdlcyBpbiBzdHJ1Y3QgZmVu Y2UgcGF0Y2ggc2VyaWVzIGFuZCBvdGhlciBjaGFuZ2VzCj4gdG8gdW5kZXJseWluZyB0cmVlIChl LmcuIHJlbW92YWwgb2YgY2xpcHJlY3RzKS4gQWxzbyBjaGFuZ2VkIHByaW9yaXR5Cj4gbGV2ZWxz IHRvIGJlIHNpZ25lZCArLy0xMDIzIHJhbmdlIGFuZCByZWR1Y2VkIG11dGV4IGxvY2sgdXNhZ2Uu Cj4KPiB2MzogTW9yZSByZXVzZSBvZiBjYWNoZWQgcG9pbnRlcnMgcmF0aGVyIHRoYW4gcmVwZWF0 ZWQgZGVyZWZlcmVuY2luZwo+IChEYXZpZCBHb3Jkb24pLgo+Cj4gTW92ZWQgdGhlIGRlcGVuZGVu Y3kgZ2VuZXJhdGlvbiBjb2RlIG91dCB0byBhIHNlcGVyYXRlIGZ1bmN0aW9uIGZvcgo+IGVhc2ll ciByZWFkYWJpbGl0eS4gQWxzbyBhZGRlZCBpbiBzdXBwb3J0IGZvciB0aGUgcmVhZC1yZWFkCj4g b3B0aW1pc2F0aW9uLgo+Cj4gTWFqb3Igc2ltcGxpZmljYXRpb24gb2YgdGhlIERSTSBmaWxlIGNs b3NlIGhhbmRsZXIuCj4KPiBGaXhlZCB1cCBhbiBvdmVyemVhbG91cyBXQVJOLgo+Cj4gUmVtb3Zl ZCB1bm5lY2Vzc2FyeSBmbHVzaGluZyBvZiB0aGUgc2NoZWR1bGVyIHF1ZXVlIHdoZW4gd2FpdGlu ZyBmb3IgYQo+IHJlcXVlc3QuCj4KPiB2NDogUmVtb3ZlZCB1c2VyIGxhbmQgZmVuY2Uvc3luYyBp bnRlZ3JhdGlvbiBhcyB0aGlzIGlzIGRlcGVuZGVudCB1cG9uCj4gdGhlIGRlLXN0YWdpbmcgb2Yg dGhlIEFuZHJvaWQgc3luYyBjb2RlLiBUaGF0IGRlLXN0YWdpbmcgaXMgbm93IGJlaW5nCj4gZG9u ZSBieSBzb21lb25lIGVsc2UuIFRoZSBzeW5jIHN1cHBvcnQgd2lsbCBiZSBhZGRlZCBiYWNrIGlu IHRvIHRoZQo+IHNjaGVkdWxlciBpbiBhIHNlcGFyYXRlIHBhdGNoIHNlcmllcyB3aGljaCBtdXN0 IHdhaXQgZm9yIHRoZQo+IGRlLXN0YWdpbmcgdG8gYmUgbGFuZGVkIGZpcnN0Lgo+Cj4gQWRkZWQg c3VwcG9ydCBmb3Iga2lsbGluZyBiYXRjaGVzIGZyb20gY29udGV4dHMgdGhhdCB3ZXJlIGJhbm5l ZCBhZnRlcgo+IHRoZSBiYXRjaGVzIHdlcmUgc3VibWl0dGVkIHRvIHRoZSBzY2hlZHVsZXIuCj4K PiBDaGFuZ2VkIHZhcmlvdXMgY29tbWVudHMgdG8gZml4IHR5cG9zLCB1cGRhdGUgdG8gcmVmbGVj dCBjaGFuZ2VzIHRvCj4gdGhlIGNvZGUsIGNvcnJlY3QgZm9ybWF0dGluZyBhbmQgbGluZSB3cmFw cGluZywgZXRjLiBBbHNvIHdyYXBwZWQKPiB2YXJpb3VzIGxvbmcgbGluZXMgYW5kIHR3aWRkbGVk IHdoaXRlIHNwYWNlIHRvIGtlZXAgdGhlIHN0eWxlIGNoZWNrZXIKPiBoYXBweS4KPgo+IENoYW5n ZWQgYSBidW5jaCBvZiBCVUdfT05zIHRvIFdBUk5fT05zIGFzIGFwcGFyZW50bHkgdGhlIGxhdHRl ciBhcmUKPiBwcmVmZXJyZWQuCj4KPiBVc2VkIHRoZSBjb3JyZWN0IGFycmF5IG1lbW9yeSBhbGxv Y2F0b3IgZnVuY3Rpb24gKGttYWxsb2NfYXJyYXkKPiBpbnN0ZWFkIG9mIGttYWxsb2MpLgo+Cj4g Rml4ZWQgYSB2YXJpYWJsZSB0eXBlIChyZXZpZXcgY29tbWVudCBieSBKb29uYXMpLgo+Cj4gRml4 ZWQgYSBXQVJOX09OIGZpcmluZyBpbmNvcnJlY3RseSB3aGVuIHJlbW92aW5nIGtpbGxlZCBub2Rl cyBmcm9tIHRoZQo+IHNjaGVkdWxlcidzIHF1ZXVlLgo+Cj4gRHJvcHBlZCByZWdpc3RlciBkZWZp bml0aW9uIHVwZGF0ZSBwYXRjaCBmcm9tIHRoaXMgc2VyaWVzLiBUaGUgY2hhbmdlcwo+IGFyZSBh bGwgZm9yIHByZS1lbXB0aW9uIHNvIGl0IG1ha2VzIG1vcmUgc2Vuc2UgZm9yIGl0IHRvIGJlIHBh cnQgb2YKPiB0aGF0IHNlcmllcyBpbnN0ZWFkLgo+Cj4gdjU6IFJldmVydGVkIHBvd2VyIG1hbmFn ZW1lbnQgY2hhbmdlcyBhcyB0aGV5IGFwcGFyZW50bHkgY29uZmxpY3Qgd2l0aAo+IG11dGV4IGFj cXVpc2l0aW9uLiBDb252ZXJ0ZWQgdGhlIG92ZXJyaWRlIG1hc2sgbW9kdWxlIHBhcmFtZXRlciB0 byBhCj4gc2V0IG9mIGJvb2xlYW4gZW5hYmxlIGZsYWdzIChqdXN0IG9uZSBpbiB0aGlzIHBhdGNo IHNldCwgYnV0IG90aGVycwo+IGFyZSBhZGRlZCBsYXRlciBmb3IgY29udHJvbGxpbmcgcHJlLWVt cHRpb24pLiBbQ2hyaXMgV2lsc29uXQo+Cj4gUmVtb3ZlZCBsb3RzIG9mIHdoaXRlc3BhY2UgZnJv bSBpOTE1X3NjaGVkdWxlci5jIGFuZCByZS1vcmRlcmVkIGl0IHRvCj4gcmVtb3ZlIGFsbCBmb3J3 YXJkIGRlY2xhcmF0aW9ucy4gU3F1YXNoZWQgZG93biB0aGUgaTkxNV9zY2hlZHVsZXIuYwo+IHNl Y3Rpb25zIG9mIHZhcmlvdXMgcGF0Y2hlcyBpbnRvIHRoZSBpbml0aWFsICdzdGFydCBvZiBzY2hl ZHVsZXInCj4gcGF0Y2guIFRodXMgdGhlIGxhdGVyIHBhdGNoZXMgc2ltcGx5IGhvb2sgaW4gZXhp c3RpbmcgY29kZSBpbnRvCj4gdmFyaW91cyBwYXJ0cyBvZiB0aGUgZHJpdmVyIHJhdGhlciB0aGFu IGFkZGluZyB0aGUgY29kZSBhcyB3ZWxsLiBBZGRlZAo+IGRvY3VtZW50YXRpb24gdG8gdmFyaW91 cyBmdW5jdGlvbnMuIFJlLXdvcmtlZCB0aGUgc3VibWl0IGZ1bmN0aW9uIGluCj4gdGVybXMgb2Yg bXV0ZXggbG9ja2luZywgZXJyb3IgaGFuZGxpbmcgYW5kIGV4aXQgcGF0aHMuIFNwbGl0IHRoZQo+ IGRlbGF5ZWQgd29yayBoYW5kbGVyIGZ1bmN0aW9uIGluIGhhbGYuIE1hZGUgdXNlIG9mIHRoZSBr ZXJuZWwgJ2NsYW1wJwo+IG1hY3JvLiBbSm9vbmFzIExhaHRpbmVuXQo+Cj4gRHJvcHBlZCB0aGUg J2ltbWVkaWF0ZSBzdWJtaXNzaW9uJyBvdmVycmlkZSBvcHRpb24uIFRoaXMgd2FzIGEgaGFsZgo+ IHdheSBob3VzZSBiZXR3ZWVuIGZ1bGwgc2NoZWR1bGVyIGFuZCBkaXJlY3Qgc3VibWlzc2lvbiBh bmQgd2FzIG9ubHkKPiByZWFsbHkgdXNlZnVsIGR1cmluZyBlYXJseSBkZWJ1Zy4KPgo+IEFkZGVk IGEgcmUtaW5zdGFsbCBvZiB0aGUgc2NoZWR1bGVyJ3MgaW50ZXJydXB0IGhvb2sgYXJvdW5kIEdQ VSByZXNldC4KPiBbWmhpcGVuZyBHb25nXQo+Cj4gVXNlZCBsaWdodGVyIHdlaWdodCBzcGlubG9j a3MuCj4KPiB2NjogVXBkYXRlZCB0byBuZXdlciBuaWdodGx5IChsb3RzIG9mIHJpbmcgLT4gZW5n aW5lIHJlbmFtaW5nKS4KPgo+IEFkZGVkICdmb3JfZWFjaF9zY2hlZHVsZXJfbm9kZSgpJyBhbmQg J2Fzc2VydF9zY2hlZHVsZXJfbG9ja19oZWxkKCknCj4gaGVscGVyIG1hY3Jvcy4gUmVuYW1lZCAn aTkxNV9nZW1fZXhlY2J1ZmZfcmVsZWFzZV9iYXRjaF9vYmonIHRvCj4gJ2k5MTVfZ2VtX2V4ZWNi dWZfcmVsZWFzZV9iYXRjaF9vYmonLiBVcGRhdGVkIHRvIHVzZSAndG9faTkxNSgpJwo+IGluc3Rl YWQgb2YgZGV2X3ByaXZhdGUuIENvbnZlcnRlZCBhbGwgZW51bSBsYWJlbHMgdG8gdXBwZXJjYXNl Lgo+IFJlbW92ZWQgdmFyaW91cyB1bm5lY2Vzc2FyeSBXQVJOcy4gUmVuYW1lZCAnc2F2ZWRfb2Jq ZWN0cycgdG8ganVzdAo+ICdvYmpzJy4gTW9yZSBjb2RlIHJlZmFjdG9yaW5nLiBSZW1vdmVkIGV2 ZW4gbW9yZSB3aGl0ZSBzcGFjZS4gIEFkZGVkCj4gYW4gaTkxNV9zY2hlZHVsZXJfZGVzdHJveSgp IGZ1bmN0aW9uIGluc3RlYWQgb2YgZG9pbmcgZXhwbGljaXQgY2xlYW4KPiB1cCBvZiBzY2hlZHVs ZXIgaW50ZXJuYWxzIGZyb20gaTkxNV9kcml2ZXJfdW5sb2FkKCkuIENoYW5nZWQgZXh0cmEKPiBi b29sZWFuIGk5MTVfd2FpdF9yZXF1ZXN0KCkgcGFyYW1ldGVyIHRvIGEgZmxhZ3Mgd29yZCBhbmQg Y29uc3VtZWQgdGhlCj4gb3JpZ2luYWwgYm9vbGVhbiBwYXJhbWV0ZXIgdG9vLiBBbHNvLCByZXBs YWNlZCB0aGUKPiBpOTE1X3NjaGVkdWxlcl9pc19yZXF1ZXN0X3RyYWNrZWQoKSBmdW5jdGlvbiB3 aXRoCj4gaTkxNV9zY2hlZHVsZXJfaXNfbXV0ZXhfcmVxdWlyZWQoKSBhbmQKPiBpOTE1X3NjaGVk dWxlcl9pc19yZXF1ZXN0X2JhdGNoX2J1ZmZlcigpIGFzIHRoZSBuZWVkIGZvciB0aGUgZm9ybWVy Cj4gaGFzIGdvbmUgYXdheSBhbmQgaXQgd2FzIHJlYWxseSBiZWluZyB1c2VkIHRvIGFzayB0aGUg bGF0dGVyIHR3bwo+IHF1ZXN0aW9ucyBpbiBhIGNvbnZvbHV0ZWQgbWFubmVyLiBXcmFwcGVkIGJv b2xlYW4gJ2ZsdXNoJyBwYXJhbWV0ZXIgdG8KPiBpbnRlbF9lbmdpbmVfaWRsZSgpIHdpdGggYW4g X2ZsdXNoKCkgbWFjcm8uCj4gW3JldmlldyBmZWVkYmFjayBmcm9tIEpvb25hcyBMYWh0aW5lbl0K Pgo+IE1vdmVkIHNjaGVkdWxlciBtb2R1ZSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24gdG8gY29ycmVj dCBwbGFjZSBpbgo+IGk5MTVfcGFyYW1zIHN0cnVjdC4gW3JldmlldyBmZWVkYmFjayBmcm9tIE1h dHQgUm9wZXJdCj4KPiBBZGRlZCBhbiBhZG1pbiBvbmx5IGNoZWNrIHdoZW4gc2V0dGluZyB0aGUg dHVuaW5nIHBhcmFtZXRlcnMgdmlhCj4gZGVidWdmcyB0byBwcmV2ZW50IHJvZ3VlIHVzZXIgY29k ZSB0cnlpbmcgdG8gYnJlYWsgdGhlIHN5c3RlbSB3aXRoCj4gc3RyYW5nZSBzZXR0aW5ncy4gW3Jl dmlldyBmZWVkYmFjayBmcm9tIEplc3NlIEJhcm5lc10KPgo+IEFkZGVkIGtlcm5lbGRvYyBmb3Ig aW50ZWxfZW5naW5lX2lkbGUoKS4KPgo+IEFkZGVkIHJ1bm5pbmcgdG90YWxzIG9mICdmbHlpbmcn IGFuZCAncXVldWVkJyBub2RlcyByYXRoZXIgdGhhbgo+IHJlLWNhbGN1bGF0aW5nIGVhY2ggdGlt ZSBhcyBhIG1pbm9yIENQVSBwZXJmb3JtYW5jZSBvcHRpbWlzYXRpb24uCj4KPiBSZW1vdmVkIHN1 cHBvcnQgZm9yIG91dCBvZiBvcmRlciBzZXFubyBjb21wbGV0aW9uLiBBbGwgdGhlIHByZXAgd29y awo+IHBhdGNoIHNlcmllcyAoc2Vxbm8gdG8gcmVxdWVzdCBjb252ZXJzaW9uLCBsYXRlIHNlcW5v IGFzc2lnbm1lbnQsCj4gZXRjLikgdGhhdCBoYXMgbm93IGJlZW4gZG9uZSBtZWFucyB0aGF0IHRo ZSBzY2hlZHVsZXIgbm8gbG9uZ2VyCj4gZ2VuZXJhdGVzIG91dCBvZiBvcmRlciBzZXFubyBjb21w bGV0aW9ucy4gVGh1cyBhbGwgdGhlIGNvbXBsZXggY29kZQo+IGZvciBjb3Bpbmcgd2l0aCBzdWNo IGlzIG5vIGxvbmdlciByZXF1aXJlZCBhbmQgY2FuIGJlIHJlbW92ZWQuCj4KPiBGaXhlZCBhIGJ1 ZyBpbiBzY2hlZHVsZXIgYnlwYXNzIG1vZGUgaW50cm9kdWNlZCBpbiB0aGUgY2xlYW4gdXAgY29k ZQo+IHJlZmFjdG9yaW5nIG9mIHY1LiBUaGUgY2xlYW4gdXAgZnVuY3Rpb24gd2FzIHNlZWluZyB0 aGUgbm9kZSBpbiB0aGUKPiB3cm9uZyBzdGF0ZSBhbmQgdGh1cyByZWZ1c2luZyB0byBwcm9jZXNz IGl0Lgo+Cj4gSW1wcm92ZWQgdGhlIHRocm90dGxlIGJ5IGZpbGUgaGFuZGxlIGZlYXR1cmUgYnkg Y2hhbmluZyBmcm9tIGEgc2ltcGxlCj4gJ3JldHVybiB0byB1c2VybGFuZCB3aGVuIGZ1bGwnIHNj aGVtZSB3aXRoIGEgJ3NsZWVwIG9uIHJlcXVlc3QnCj4gc2NoZW1lLiBUaGUgZm9ybWVyIGNvdWxk IGxlYWQgdG8gdGhlIGJ1c3kgcG9sbGluZyBhbmQgd2FzdGluZyBsb3RzIG9mCj4gQ1BVIHRpbWUg YXMgdXNlciBsYW5kIGNvbnRpbnVvdXNseSByZXRyaWVkIHRoZSBleGVjYnVmIElPQ1RMIGluIGEK PiB0aWdodCBsb29wLiBOb3cgdGhlIGRyaXZlciB3aWxsIHNsZWVwICh3aXRob3V0IGhvbGRpbmcg dGhlIG11dGV4IGxvY2spCj4gb24gdGhlIG9sZGVzdCByZXF1ZXN0IG91dHN0YW5kaW5nIGZvciB0 aGF0IGZpbGUgYW5kIHRoZW4gYXV0b21hdGljYWxseQo+IHJldHJ5LiBUaGlzIGlzIGNsb3NlciB0 byB0aGUgcHJlLXNjaGVkdWxlciBiZWhhdmlvdXIgb2Ygc3RhbGxpbmcgb24gYQo+IGZ1bGwgcmlu ZyBidWZmZXIuCj4KPiBbUGF0Y2hlcyBhZ2FpbnN0IGRybS1pbnRlbC1uaWdodGx5IHRyZWUgZmV0 Y2hlZCAxMy8wNC8yMDE2IHdpdGggc3RydWN0Cj4gZmVuY2UgY29udmVyc2lvbiBwYXRjaGVzIGFw cGxpZWRdCj4KPiBEYXZlIEdvcmRvbiAoMik6Cj4gICAgZHJtL2k5MTU6IENhY2hlIHJlcXVlc3Qg cG9pbnRlciBpbiAqX3N1Ym1pc3Npb25fZmluYWwoKQo+ICAgIGRybS9pOTE1OiBBZGQgc2NoZWR1 bGluZyBwcmlvcml0eSB0byBwZXItY29udGV4dCBwYXJhbWV0ZXJzCj4KPiBKb2huIEhhcnJpc29u ICgzMik6Cj4gICAgZHJtL2k5MTU6IEFkZCB0b3RhbCBjb3VudCB0byBjb250ZXh0IHN0YXR1cyBk ZWJ1Z2ZzIG91dHB1dAo+ICAgIGRybS9pOTE1OiBQcmVsdWRlIHRvIHNwbGl0dGluZyBpOTE1X2dl bV9kb19leGVjYnVmZmVyIGluIHR3bwo+ICAgIGRybS9pOTE1OiBTcGxpdCBpOTE1X2RlbV9kb19l eGVjYnVmZmVyKCkgaW4gaGFsZgo+ICAgIGRybS9pOTE1OiBSZS1pbnN0YXRlIHJlcXVlc3QtPnVu aXEgYmVjYXVzZSBpdCBpcyBleHRyZW1lbHkgdXNlZnVsCj4gICAgZHJtL2k5MTU6IFN0YXJ0IG9m IEdQVSBzY2hlZHVsZXIKPiAgICBkcm0vaTkxNTogRGlzYWJsZSBoYXJkd2FyZSBzZW1hcGhvcmVz IHdoZW4gR1BVIHNjaGVkdWxlciBpcyBlbmFibGVkCj4gICAgZHJtL2k5MTU6IEZvcmNlIE1NSU8g ZmxpcHMgd2hlbiBzY2hlZHVsZXIgZW5hYmxlZAo+ICAgIGRybS9pOTE1OiBBZGRlZCBzY2hlZHVs ZXIgaG9vayB3aGVuIGNsb3NpbmcgRFJNIGZpbGUgaGFuZGxlcwo+ICAgIGRybS9pOTE1OiBBZGRl ZCBzY2hlZHVsZXIgaG9vayBpbnRvIGk5MTVfZ2VtX3JlcXVlc3Rfbm90aWZ5KCkKPiAgICBkcm0v aTkxNTogQWRkZWQgZGVmZXJyZWQgd29yayBoYW5kbGVyIGZvciBzY2hlZHVsZXIKPiAgICBkcm0v aTkxNTogUmVkaXJlY3QgZXhlY2J1ZmZlcl9maW5hbCgpIHZpYSBzY2hlZHVsZXIKPiAgICBkcm0v aTkxNTogS2VlcCB0aGUgcmVzZXJ2ZWQgc3BhY2UgbWVjaGFuaXNtIGhhcHB5Cj4gICAgZHJtL2k5 MTU6IEFkZGVkIHRyYWNraW5nL2xvY2tpbmcgb2YgYmF0Y2ggYnVmZmVyIG9iamVjdHMKPiAgICBk cm0vaTkxNTogSG9vayBzY2hlZHVsZXIgbm9kZSBjbGVhbiB1cCBpbnRvIHJldGlyZSByZXF1ZXN0 cwo+ICAgIGRybS9pOTE1OiBBZGRlZCBzY2hlZHVsZXIgc3VwcG9ydCB0byBfX3dhaXRfcmVxdWVz dCgpIGNhbGxzCj4gICAgZHJtL2k5MTU6IEFkZGVkIHNjaGVkdWxlciBzdXBwb3J0IHRvIHBhZ2Ug ZmF1bHQgaGFuZGxlcgo+ICAgIGRybS9pOTE1OiBBZGRlZCBzY2hlZHVsZXIgZmx1c2ggY2FsbHMg dG8gcmluZyB0aHJvdHRsZSBhbmQgaWRsZSBmdW5jdGlvbnMKPiAgICBkcm0vaTkxNTogQWRkIHNj aGVkdWxlciBob29rIHRvIEdQVSByZXNldAo+ICAgIGRybS9pOTE1OiBBZGRlZCBhIG1vZHVsZSBw YXJhbWV0ZXIgdG8gYWxsb3cgdGhlIHNjaGVkdWxlciB0byBiZSBkaXNhYmxlZAo+ICAgIGRybS9p OTE1OiBTdXBwb3J0IGZvciAndW5mbHVzaGVkJyByaW5nIGlkbGUKPiAgICBkcm0vaTkxNTogRGVm ZXIgc2Vxbm8gYWxsb2NhdGlvbiB1bnRpbCBhY3R1YWwgaGFyZHdhcmUgc3VibWlzc2lvbiB0aW1l Cj4gICAgZHJtL2k5MTU6IEFkZGVkIHRyYWNlIHBvaW50cyB0byBzY2hlZHVsZXIKPiAgICBkcm0v aTkxNTogQWRkZWQgc2NoZWR1bGVyIHF1ZXVlIHRocm90dGxpbmcgYnkgRFJNIGZpbGUgaGFuZGxl Cj4gICAgZHJtL2k5MTU6IEFkZGVkIGRlYnVnZnMgaW50ZXJmYWNlIHRvIHNjaGVkdWxlciB0dW5p bmcgcGFyYW1ldGVycwo+ICAgIGRybS9pOTE1OiBBZGQgZWFybHkgZXhpdCB0byBleGVjYnVmZl9m aW5hbCgpIGlmIGluc3VmZmljaWVudCByaW5nIHNwYWNlCj4gICAgZHJtL2k5MTU6IEFkZGVkIHNj aGVkdWxlciBzdGF0aXN0aWMgcmVwb3J0aW5nIHRvIGRlYnVnZnMKPiAgICBkcm0vaTkxNTogQWRk IHNjaGVkdWxlciBzdXBwb3J0IGZ1bmN0aW9ucyBmb3IgVERSCj4gICAgZHJtL2k5MTU6IEVuYWJs ZSBHUFUgc2NoZWR1bGVyIGJ5IGRlZmF1bHQKPiAgICBkcm0vaTkxNTogQWRkIHN1cHBvcnQgZm9y IHJldHJvLWFjdGl2ZWx5IGJhbm5pbmcgYmF0Y2ggYnVmZmVycwo+ICAgIGRybS9pOTE1OiBBbGxv dyBzY2hlZHVsZXIgdG8gbWFuYWdlIGludGVyLXJpbmcgb2JqZWN0IHN5bmNocm9uaXNhdGlvbgo+ ICAgIGRybS9pOTE1OiBBZGRlZCBkZWJ1ZyBzdGF0ZSBkdW1wIGZhY2lsaXRpZXMgdG8gc2NoZWR1 bGVyCj4gICAgZHJtL2k5MTU6IFNjaGVkdWxlciBzdGF0ZSBkdW1wIHZpYSBkZWJ1Z2ZzCj4KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlICAgICAgICAgICAgICB8ICAgIDEgKwo+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAgIHwgIDMzNiArKysrKy0K PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgICAgICAgICAgICB8ICAgIDUgKwo+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgICAgIHwgICAgOSArCj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgIDU4ICstCj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgfCAgMTU2ICsrLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jICAgIHwgICAyNCArCj4g ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCAgMjk3ICsrKy0t Cj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5jICAgICAgICAgfCAgICA0ICsK PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmggICAgICAgICB8ICAgIDEgKwo+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYyAgICAgIHwgMTcwOSArKysr KysrKysrKysrKysrKysrKysrKysrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Nj aGVkdWxlci5oICAgICAgfCAgMTgwICsrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90 cmFjZS5oICAgICAgICAgIHwgIDIyNSArKystCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgICAgICAgfCAgIDEwICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuYyAgICAgICAgICAgfCAgMTYxICsrLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmggICAgICAgICAgIHwgICAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmMgICAgfCAgIDY5ICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmggICAgfCAgICA1ICstCj4gICBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJt LmggICAgICAgICAgICAgICAgfCAgICAxICsKPiAgIDE5IGZpbGVzIGNoYW5nZWQsIDMxMTggaW5z ZXJ0aW9ucygrKSwgMTM0IGRlbGV0aW9ucygtKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oCj4KCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=