From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [RFC] GuC firmware versioning change Date: Thu, 18 Oct 2018 11:12:21 -0700 Message-ID: <20181018181221.GA2285@intel.com> References: <20181012202430.GB21521@jeffdesk> <20181012205143.GS10727@intel.com> <20181012213326.GE21521@jeffdesk> <20181012214605.GF21521@jeffdesk> <20181018173237.GG21521@jeffdesk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6729C6E092 for ; Thu, 18 Oct 2018 18:12:23 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181018173237.GG21521@jeffdesk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jeff McGee Cc: intel-gfx List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMTgsIDIwMTggYXQgMTA6MzI6MzdBTSAtMDcwMCwgSmVmZiBNY0dlZSB3cm90 ZToKPiBPbiBUaHUsIE9jdCAxOCwgMjAxOCBhdCAxMTo1NzowNkFNICswMjAwLCBEYW5pZWwgVmV0 dGVyIHdyb3RlOgo+ID4gT24gRnJpLCBPY3QgMTIsIDIwMTggYXQgMTE6NDUgUE0gSmVmZiBNY0dl ZSA8amVmZi5tY2dlZUBpbnRlbC5jb20+IHdyb3RlOgo+ID4gPgo+ID4gPiBPbiBGcmksIE9jdCAx MiwgMjAxOCBhdCAwMjozMzoyNlBNIC0wNzAwLCBKZWZmIE1jR2VlIHdyb3RlOgo+ID4gPiA+IE9u IEZyaSwgT2N0IDEyLCAyMDE4IGF0IDAxOjUxOjQ2UE0gLTA3MDAsIFJvZHJpZ28gVml2aSB3cm90 ZToKPiA+ID4gPiA+IE9uIEZyaSwgT2N0IDEyLCAyMDE4IGF0IDAxOjI0OjMwUE0gLTA3MDAsIEpl ZmYgTWNHZWUgd3JvdGU6Cj4gPiA+ID4gPiA+IFRoZSBHdUMgZmlybXdhcmUgdGVhbSBpcyBwcm9w b3NpbmcgYSBjaGFuZ2UgdG8gdGhlIGZpcm13YXJlIHZlcnNpb25pbmcgc2NoZW1lLgo+ID4gPiA+ ID4gPiBUaGUgZ29hbCBpcyB0byBtb3JlIGFjY3VyYXRlbHkgdHJhY2sgdGhlIGZpcm13YXJlIGlu dGVyZmFjZSB0byBoZWxwIHVzZXJzCj4gPiA+ID4gPiA+IG1hbmFnZSBkZXBlbmRlbmNpZXMgb24g dGhhdCBpbnRlcmZhY2UuIFRoZSBwcm9wb3NlZCBzY2hlbWUgaXMgYmFzZWQgb24KPiA+ID4gPiA+ ID4gc2VtdmVyLm9yZyB3aXRoIHNvbWUgYWRkaXRpb25zIHRvIGhhbmRsZSBicmFuY2hpbmcuCj4g PiA+ID4gPiA+Cj4gPiA+ID4gPiA+IFRoZSBwcm9wb3NlZCB2ZXJzaW9uIG51bWJlciB3b3VsZCBo YXZlIDQgZmllbGRzOiBCQVNFLk1BSk9SLk1JTk9SLlBBVENILgo+ID4gPiA+ID4gPiBDb250cmFz dCB0aGlzIHdpdGggdGhlIDIgZmllbGRzIGluIHRoZSBjdXJyZW50IHZlcnNpb24gbnVtYmVyOiBN QUpPUi5NSU5PUi4KPiA+ID4gPiA+ID4gU2lkZSBub3RlLCB0aGUgY3VycmVudCBmaXJtd2FyZSBl bmNvZGVzIGEgQlJBTkNIIGFuZCBDTElFTlQgbnVtYmVyIGFzIHdlbGwsIGJ1dAo+ID4gPiA+ID4g PiB0aGV5IGhhdmUgbm90IGJlZW4gbmVlZGVkIGJ5IGk5MTUuIFNvIGEgZmlybXdhcmUgcmVsZWFz ZWQgd2l0aCB0aGUgcHJvcG9zZWQKPiA+ID4gPiA+ID4gc2NoZW1lIHdvdWxkIGJlIG5hbWVkIDxw bGF0Zm9ybT5fZ3VjX3ZlcjxiYXNlPl88bWFqb3I+XzxtaW5vcj5fPHBhdGNoPi5iaW4KPiA+ID4g PiA+ID4gKGV4OiBza2xfZ3VjX3ZlcjFfNV80XzcuYmluKSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50 Cj4gPiA+ID4gPiA+IDxwbGF0Zm9ybT5fZ3VjX3ZlcjxtYWpvcj5fPG1pbm9yPi5iaW4gKGV4OiBz a2xfZ3VjX3ZlcjlfMzMuYmluKS4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gVGhlIEJBU0UgbnVt YmVyIGlzIGFuIElEIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSBhIHNldCBvZiByZWxlYXNlcyBp biB3aGljaAo+ID4gPiA+ID4gPiB0aGUgTUFKT1IuTUlOT1IuUEFUQ0ggc2VtYW50aWNzIGFyZSBj b25zaXN0ZW50LiBJbiBvdGhlciB3b3JkcywgdHdvIHJlbGVhc2VzCj4gPiA+ID4gPiA+IGZyb20g dGhlIHNhbWUgQkFTRSBjYW4gYmUgY29tcGFyZWQgdmlhIHRoZWlyIE1BSk9SLk1JTk9SLlBBVENI IHRvIGluZmVyIHRoZWlyCj4gPiA+ID4gPiA+IHJlbGF0aW9uc2hpcCBhcyBkZXNjcmliZWQgYmVs b3cuIFR3byByZWxlYXNlcyBmcm9tIGEgZGlmZmVyZW50IEJBU0UgY2Fubm90IGJlCj4gPiA+ID4g PiA+IHJlbGlhYmx5IGNvbXBhcmVkLiBUaGUgQkFTRSBudW1iZXIgZmFjaWxpdGF0ZXMgYXJiaXRy YXJ5IGJyYW5jaGluZyB3aGljaCBjYW4KPiA+ID4gPiA+ID4gY3JlYXRlIGR1cGxpY2F0ZSBhbmQv b3IgZGlzY29ubmVjdGVkIE1BSk9SLk1JTk9SLlBBVENIIHZlcnNpb25zLiBUaGlzIHR5cGUgb2YK PiA+ID4gPiA+ID4gYnJhbmNoaW5nIGlzIGV4cGVjdGVkIHRvIGJlIHJhcmUsIGFuZCBzbyBCQVNF IHdpbGwgcmFyZWx5IGNoYW5nZS4gV2hlbiBhIG5ldwo+ID4gPiA+ID4gPiBCQVNFIGlzIGNyZWF0 ZWQsIHRoZSBNQUpPUi5NSU5PUi5QQVRDSCByZXNldCB0byBzdGFydGluZyB2YWx1ZXMuCj4gPiA+ ID4gPgo+ID4gPiA+ID4gQ291bGQgeW91IHBsZWFzZSBjbGFyaWZ5IGEgYml0IHdoYXQgQkFTRSBt ZWFucz8KPiA+ID4gPiA+IFdoYXQgd291bGQgYmUgYSBkaWZmZXJlbnQgQkFTRT8KPiA+ID4gPiA+ Cj4gPiA+ID4KPiA+ID4gPiBUaGUgQkFTRSBudW1iZXIgc3VwcG9ydHMgZ2VuZXJhbCBicmFuY2hp bmcgdGhhdCB3b3VsZCBjYXVzZSB2ZXJzaW9uIG51bWJlcgo+ID4gPiA+IGNvbmZsaWN0cy4gQnJh bmNoaW5nIGZvciBmaXJtd2FyZSByZWxlYXNlcyBpcyBub3QgZGVzaXJhYmxlLCBidXQgaXQgaXMg YQo+ID4gPiA+IHByYWN0aWNhbCByZWFsaXR5LiBUaGVyZWZvcmUgdGhlIHZlcnNpb25pbmcgc2No ZW1lIG11c3QgYWNjb21vZGF0ZSBpdC4gTGV0J3MKPiA+ID4gPiBzYXkgdGhhdCBhIGhpZ2gtcHJp b3JpdHkgcmVxdWVzdCBpcyBtYWRlIHRvIHB1dCBzcGVjaWZpYyB1cGRhdGVzIG9uIGFuIG9sZAo+ ID4gPiA+IHJlbGVhc2UgdGhhdCBzYWlkIGN1c3RvbWVyIGlzIGxvY2tlZCBvbi4gVGhvc2UgdXBk YXRlcyBjb3VsZCBpbmNsdWRlIGFueSBzb3J0Cj4gPiA+ID4gb2YgY2hhbmdlIGluY2x1ZGluZyBp bnRlcmZhY2UgY2hhbmdlLiBUaGVuIHdlIGhhdmUgYSBzZXF1ZW5jZSBsaWtlIGJlbG93Ogo+ID4g PiA+Cj4gPiA+ID4gdjEuMS4wLjAgICB2MS4xLjAuMSAgIHYxLjEuMC4yICAgdjEuMS4wLjMgICB2 MS4xLjEuMAo+ID4gPiA+IC0tLS1PLS0tLS0tLS0tLU8tLS0tLS0tLS0tTy0tLS0tLS0tLS1PLS0t LS0tLS0tLU8KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+ID4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPLS0tLS0tLS0t LU8KPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgIHYyLjEuMS4wICAgdjIuMS4xLjEK PiA+ID4gPgo+ID4gPiA+IFlvdSBjYW4gc2VlIHRoYXQgaWYgd2UgZG9uJ3QgaGF2ZSBhIEJBU0Ug bnVtYmVyIHRoYXQgY2hhbmdlcyBmcm9tIDEgdG8gMiwgdGhlbgo+ID4gPiA+IHdlIGVuZCB1cCB3 aXRoIGR1cGxpY2F0ZWQgdjEuMS4wIGFsb25nIHRoZSBkaWZmZXJlbnQgYnJhbmNoZXMgd2hpY2gg YXJlIG5vdCB0aGUKPiA+ID4gPiBzYW1lLiBBcyBJIHdyb3RlLCB0aGlzIHNob3VsZCBiZSBhIHZl cnkgcmFyZSBzY2VuYXJpbywgYnV0IGl0IGNhbiBoYXBwZW4uIE1heWJlCj4gPiA+ID4gdXBzdHJl YW0gd2lsbCBhbHdheXMgYmUgc3VwcGxpZWQgd2l0aCByZWxlYXNlcyBmcm9tIHRoZSAibWFpbiIg QkFTRSwgYW5kIHlvdQo+ID4gPiA+IGNhbiBpZ25vcmUgdGhpcyBmaWVsZCwgYnV0IGl0IG5lZWRz IHRvIGJlIHRoZXJlIGZvciBvdGhlciBmaXJtd2FyZQo+ID4gPiA+IGRpc3RyaWJ1dGlvbnMuCj4g PiAKPiA+IFRoZSB3YXkgdGhpcyBpcyB1c3VhbGx5IHNvbHZlZCBpbiBzZW12ZXIgaXMgdG8gbm90 IHByZXBlbmQgYSBCQVNFLCBidXQKPiA+IHBvc3RmaXggYSBicmFuY2gtc3BlY2lmaWMgdmVyc2lv biwgd2hpbGUga2VlcGluZyB0aGUgbWFpbmxpbmUgdmVyc2lvbgo+ID4gdW5jaGFuZ2VkLiBTbwo+ ID4gCj4gPiB2Mi4xLjEuMCBiZWNvbWVzIHYxLjEuMC4xLWJyYW5jaDEtMAo+ID4gdjIuMS4xLjEg YmVjb21lcyB2MS4xLjAuMS1icmFuY2gxLTEKCisxLiBUaGlzIHdvdWxkIGJlIG11Y2ggY2xlYW5l ci4KCgo+ID4gCj4gPiBXaXRoIHRoZSBydWxlIHRoYXQgYnJhbmNoZXMgYXJlIGV4cGxpY2l0bHkg dW5zb3J0ZWQgKHRoYXQncyBkZW5vdGVkIGJ5Cj4gPiB0aGUgLSAtIGFyb3VuZCB0aGVtLCBpbnN0 ZWFkIG8gdXNpbmcgZG90cyksIHNvIG5vdCBjb21wYXJhYmxlLiBCb251cwo+ID4gcG9pbnRzIGlm IHlvdSBuYW1lIHRoZSBicmFuY2ggcG9pbnRzIGJ5IHRoZSBjdXN0b21lcnMgKGNvdWxkIGJlIHRo ZQo+ID4gcHJvZHVjdCwgb3IgaW50ZXJuYWwgY3VzdG9tZXIgZ3JvdXAgb3Igd2hhdGV2ZXIpIHRv IG1ha2UgdGhlc2UgbmFtZXMKPiA+IHNsaWdodGx5IG1vcmUgbWVhbmluZ2Z1bC4KCisxIGZvciBt ZWFuaW5nZnVsIG5hbWVzLgoKPiA+IAo+IEkgZG9uJ3Qgc2VlIGFueSBtZW50aW9uIG9mIGJyYW5j aCBoYW5kbGluZyBvbiBzZW12ZXIub3JnLgoKQWxzbyBJIGRvbid0IHNlZSBhbiBleHRyYSBmaWVs ZCBmb3IgYmFzZSBvbiBzZW12ZXIub3JnLgpTbyBEYW5pZWwgaXMgc2hvd2luZyBob3cgaXQgaXMg dXN1YWxseSBzb2x2ZWQgb24gbWFueSBMaW51eCBkaXN0cm9zCmFuZCBwYWNrYWdlcyB3aXRob3V0 IGNyZWF0aW5nIHRoaXMgY29tcGxleGl0eS4KCj4gSXQgZGlzY3Vzc2VzIHVzaW5nCj4gaHlwaGVu IGZvciBwcmUtcmVsZWFzZSB2ZXJzaW9ucyBhbmQgcGx1cyBmb3IgbWV0YWRhdGEuIEFueSBvdGhl ciByZWZlcmVuY2VzCj4geW91IGNhbiBzaGFyZSB3b3VsZCBiZSBhcHByZWNpYXRlZC4KPiAKPiBX ZSBjYW4gY2VydGFpbmx5IHVzZSBhbiBhcHByb2FjaCBsaWtlIHRoaXMsIHdoZXJlIHRoZSBicmFu Y2ggSUQgKGNoYW5nZWQgZnJvbQo+IEJBU0UgSUQpIGlzIGFwcGVuZGVkIHZpYSB0aGUgaHlwaGVu IG9ubHkgaWYgbmVjZXNzYXJ5LiBXZSB3b3VsZCBwcm9iYWJseSBzdGljawo+IHdpdGggYSBzaW1w bGUgbnVtZXJpY2FsIGJyYW5jaCBJRCByYXRoZXIgdGhhbiBhIHN0cmluZywKCnNvIGJyYW5jaDEs IGJyYW5jaDIuLi4gYXQgbGVhc3QgaXQgZ2V0cyBjbGVhciBmb3IgZXZlcnlvbmUKdGhhdCB0aGlz IGlzIHRoZSBicmFuY2ggYW5kIG5vdCB0aGUgbWFpbmxpbmUsIHdoaWxlIG1haW5saW5lIGtlZXBz CnRoZSBjbGVhbiBzZW12ZXIuCgo+IHNvIHRoYXQgdGhlIGZ1bGwKPiB2ZXJzaW9uIGVuY29kZWQg aW4gZmlybXdhcmUgaXMgY29tcGFjdC4gV2UgaGF2ZSA2NCBiaXRzIGN1cnJlbnRseSBhbGxvY2F0 ZWQKPiBmb3IgdmVyc2lvbiBpbmZvIGluIHRoZSBDU1MuIFdlIGNvdWxkIGRlZmluZSBhbiBlbnVt ZXJhdGlvbiBpbiB0aGUgaW50ZXJmYWNlCj4gdG8gbmFtZSBlYWNoIElEIG1vcmUgdmVyYm9zZWx5 LgoKc2F2ZSBvbmUgaW50IGZvciBicmFuY2ggbnVtYmVyLiBpZiAwIGl0IGlzIG1haW5saW5lIGFu ZCBmaWxlbmFtZSBkb2Vzbid0Cm5lZWQgdG8gaGF2ZSBhbnkgc3RyaW5nLCBvdGhlcndpc2UgLWJy YW5jaDxpbnQ+LgoKPiAKPiBJJ20gc3RpbGwgbm90IGNsZWFyIG9uIGhvdyB0aGUgbWFqb3IubWlu b3IucGF0Y2ggc2hvdWxkIGNoYW5nZSBpbiB0aGlzIG1vZGVsCj4gd2hlbiB0aGUgZmlyc3QgYW5k IHN1YnNlcXVlbnQgcmVsZWFzZXMgZnJvbSBhIGJyYW5jaCBhcmUgbWFkZS4gWW91ciBleGFtcGxl Cj4gc2VlbXMgdG8gaW5kaWNhdGUgdGhhdCBtYWpvci5taW5vci5wYXRjaCBhcmUgbG9ja2VkLCBh bmQgZWFjaCByZWxlYXNlIGZvcgo+IHRoZSBicmFuY2ggZ2V0cyBvbmUgaW5jcmVtZW50ZWQgdmVy c2lvbiBhdCB0aGUgZW5kLiBJIHdvdWxkIHByZWZlciB0aGF0IHRoZQo+IG1ham9yLm1pbm9yLnBh dGNoIGNvbnRpbnVlIHRvIGV2b2x2ZSBvbiB0aGUgYnJhbmNoIHBlciBub3JtYWwgY29udmVudGlv biwgYnV0Cj4gdGhlbiB0aGUgYnJhbmNoIElEIHdvdWxkIGluZGljYXRlIHRoYXQgdGhlcmUgaXMg bm8gZ2F1cmFudGVlZCByZWxhdGlvbnNoaXAgdG8KPiBhbnkgbWFqb3IubWlub3IucGF0Y2ggb24g YW5vdGhlciBicmFuY2guIFNvIGluIGJlbG93IHNlcXVlbmNlIHRoZSAiMSIgYnJhbmNoCj4gcmVz ZXRzIHRvIHYxLjAuMCBmb3IgZmlyc3QgcmVsZWFzZSwgdGhlbiBuZXh0IHJlbGVhc2UgaXMgdjEu MS4wIGlmIGZvciBleGFtcGxlCj4gYSBiYWNrd2FyZHMgY29tcGF0aWJsZSBpbnRlcmZhY2UgY2hh bmdlIGlzIG1hZGUsIGFuZCBzbyBvbi4gRG9lcyB0aGF0IHNlZW0KPiByZWFzb25hYmxlPwo+IAoK SWYgSSB3YXMgb25lIG9mIHRoZSB1c2VycyBvZiBicmFuY2hlZCB2ZXJzaW9uaW5nIEknZCBsaWtl IHRvIGtub3cgaG93Cml0IGNvbXBhcmVzIHdpdGggdGhlIG1haW5saW5lLgoKU28gaWYgSSByZWNp ZXZlIGEgdjEuMC4wLjEgSSB3b3VsZCBpbWVkaWF0ZWxseSBhc3N1bWUgdGhpcyB3YXMgZGVyaXZh dGVkCmZyb20gMS4wLjAgaW5zdGVhZCBvZiAxLjAuMi4KCj4gIHYxLjAuMCAgICAgdjEuMC4xICAg ICB2MS4wLjIgICAgIHYxLjAuMyAgICAgdjEuMS4wCj4gLS0tLU8tLS0tLS0tLS0tTy0tLS0tLS0t LS1PLS0tLS0tLS0tLU8tLS0tLS0tLS0tTwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE8tLS0tLS0tLS0tTwo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgdjEuMC4wLTEgICB2MS4xLjAtMQoKRm9yIHRoZSByZXBl bnNlbnRhdGlvbiBJIHRoaW5nIHRoYXQgaW50ZXJuYWxseSB5b3UgY2FuIHNhdmUgb25seSBudW1i ZXIKb25lLCBidXQgd2hlbiBidWlsZGluZyBmaW5hbCBmaWxlIG5hbWUgZm9yIGRpc3RyaWJ1dGlv biB3ZSBzaG91bGQgcHJpbnQKdjEuMC4wLWJyYW5jaDEgLi4uLiAgdjEuMS4wLWJyYW5jaDEKCm9y IGV2ZW4gYmV0dGVyIHdpdGggbWVhbmluZ2Z1bCBzdHJpbmdzIGluc3RlYWQgb2YgYnJhbmNoCmFz IERhbmllbCBzdWdnZXN0ZWQuCgptYXliZSBhbiBleHRlcm5hbCBtYXBwaW5nIHRhYmxlIGZyb20g YnJhbmNoIG51bWJlcnMgdG8gY3VzdG9tZXIgc3RyaW5ncz8KClRoYW5rcywKUm9kcmlnby4KCj4g Cj4gLUplZmYKPiAKPiA+IFByZWZpeGluZyBhIEJBU0UsIHdpdGggYSBkb3QsIGlzIHZlcnkgbXVj aCBub3QgaG93IGl0J3MgZG9uZSBhbmQgdmVyeQo+ID4gY29uZnVzaW5nLiBUaGVyZSdzIG9uZSB0 aGluZyBkZWJpYW4gZG9lcywgaXQncyBwcmVwZW5kaW5nIGFuIEVQT0NILAo+ID4gd2hpY2ggaXMg dXNlZCBmb3IgZS5nLiBDKysgcGFja2FnZXMgd2hlbiB0aGUgY29tcGlsZXIgYWJpIGNoYW5nZXMu IEkKPiA+IHRoaW5rIHJlYWRpbmcgdXAgb24gZGViaWFuJ3MgcnVsZXMgd291bGQgYmUgZ29vZCBp bnNwaXJhdGlvbiBmb3IgdGhpcwo+ID4gcHJvYmxlbToKPiA+IAo+ID4gaHR0cHM6Ly9zZXJ2ZXJm YXVsdC5jb20vcXVlc3Rpb25zLzYwNDU0MS9kZWJpYW4tcGFja2FnZXMtdmVyc2lvbi1jb252ZW50 aW9uCj4gPiAKPiA+IENoZWVycywgRGFuaWVsCj4gPiAKPiA+ID4gPiAtSmVmZgo+ID4gPiA+Cj4g PiA+Cj4gPiA+IFNvcnJ5LCBJIG1pc3JlcHJlc2VudGVkIGhvdyB0byB0aGUgbnVtYmVycyB3b3Vs ZCBjaGFuZ2UgaW4gdGhlIGFib3ZlIGV4YW1wbGUuCj4gPiA+IFRoZSBjaGFuZ2Ugb2YgQkFTRSBm cm9tIDEgdG8gMiB3b3VsZCByZXNldCBNQUpPUi5NSU5PUi5QQVRDSC4gU28gdGhlIHNlcXVlbmNl Cj4gPiA+IHNob3VsZCBiZSB2MS4xLjAuMiAtPiB2Mi4xLjAuMCAtPiB2Mi4xLjAuMSBhbmQgc28g b24uCj4gPiA+Cj4gPiA+IElmIHdlIGRvbid0IGhhdmUgQkFTRSwgdGhlIHB1cmUgc2VtdmVyLm9y ZyBzZXF1ZW5jZSB3b3VsZCBiZToKPiA+ID4KPiA+ID4gICB2MS4wLjAgICAgIHYxLjAuMSAgICAg djEuMC4yICAgICB2MS4wLjMgICAgIHYxLjEuMAo+ID4gPiAtLS0tTy0tLS0tLS0tLS1PLS0tLS0t LS0tLU8tLS0tLS0tLS0tTy0tLS0tLS0tLS1PCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE8tLS0tLS0tLS0tTwo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjEuMS4wICAg ICB2MS4xLjEKPiA+ID4KPiA+ID4gQW5kIHNvIHlvdSBzZWUgdGhlIGR1cGxpY2F0aW9uIG9mIHZl cnNpb24gbnVtYmVyLgo+ID4gPiAtIEplZmYKPiA+ID4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g VGhlIE1BSk9SIG51bWJlciBjb25mb3JtcyB0byB0aGUgbWFqb3IgaW4gc2VtdmVyLm9yZy4gSXQg aW5jcmVtZW50cyBvbiBhCj4gPiA+ID4gPiA+IGJhY2t3YXJkcyBpbmNvbXBhdGlibGUgY2hhbmdl IG9mIHRoZSBpbnRlcmZhY2UuIEl0IHJlc2V0cyB0byAxIG9uIGEgY2hhbmdlIG9mCj4gPiA+ID4g PiA+IEJBU0UuIFRoZSBNQUpPUiBudW1iZXIgYmFzaWNhbGx5IHdvcmtzIHRoZSBzYW1lIGJldHdl ZW4gdGhlIGN1cnJlbnQgYW5kCj4gPiA+ID4gPiA+IHByb3Bvc2VkIHZlcnNpb25pbmcgc2NoZW1l cy4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gVGhlIE1JTk9SIG51bWJlciBjb25mb3JtcyB0byB0 aGUgbWlub3IgaW4gc2VtdmVyLm9yZy4gSXQgaW5jcmVtZW50cyBvbiBhCj4gPiA+ID4gPiA+IGJh Y2t3YXJkcyBjb21wYXRpYmxlIGNoYW5nZSBvZiB0aGUgaW50ZXJmYWNlIChuZXcgaW50ZXJmYWNl cyB0aGF0IGFyZSBvcHRpb25hbAo+ID4gPiA+ID4gPiB0byB1c2UpLiBJdCB3aWxsIGFsc28gaW5j cmVtZW50IG9uIHN1YnN0YW50aWFsIG5ldyBpbnRlcm5hbCBmdW5jdGlvbmFsaXR5IHRoYXQKPiA+ ID4gPiA+ID4gZG9lc24ndCBhZmZlY3QgdGhlIGludGVyZmFjZSBidXQgc2hvdWxkIGJlIGNhbGxl ZCBvdXQgdG8gdGhlIHVzZXIuIEl0IHJlc2V0cyB0bwo+ID4gPiA+ID4gPiAwIG9uIGEgY2hhbmdl IG9mIE1BSk9SLiBUaGUgTUlOT1IgbnVtYmVyIGluIHRoZSBjdXJyZW50IHZlcnNpb25pbmcgc2No ZW1lCj4gPiA+ID4gPiA+IGluY3JlbWVudHMgb24gYW55IGJhY2t3YXJkcyBjb21wYXRpYmxlIGNo YW5nZS4gVGhlIHByb3Bvc2VkIHZlcnNpb25pbmcgc2NoZW1lCj4gPiA+ID4gPiA+IGJyZWFrcyB0 aGlzIGludG8gdGhlIE1JTk9SIG51bWJlciBqdXN0IGRlc2NyaWJlZCBhbmQgdGhlIFBBVENIIG51 bWJlciBiZWxvdy4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gVGhlIFBBVENIIG51bWJlciBjb25m b3JtcyB0byB0aGUgcGF0Y2ggaW4gc2VtdmVyLm9yZy4gSXQgaW5jcmVtZW50cyBvbiBhCj4gPiA+ ID4gPiA+IGJhY2t3YXJkcyBjb21wYXRpYmxlIGludGVybmFsIGNoYW5nZSwgdXN1YWxseSBhIGJ1 ZyBmaXguIEl0IHJlc2V0cyB0byAwIG9uIGEKPiA+ID4gPiA+ID4gY2hhbmdlIG9mIE1JTk9SLgo+ ID4gPiA+ID4KPiA+ID4gPiA+IEkgbGlrZSB0aGUgaWRlYSBvZiBNQUpPUi5NSU5PUi5QQVRDSCBm b2xsb3dpbmcgc2VtdmVyLm9yZy4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBJIHRoaW5rIGlmIHdlIHJl bW92ZSB0aGUgQkFTRSBvdXQgb2YgcGljdHVyZSBhbmQganVzdCB1c2Ugc2VtdmVyIGNsZWFyLAo+ ID4gPiA+ID4gYnV0IG1heWJlIGl0IGlzIGp1c3QgYmVjYXVzZSBJIGRpZG4ndCBxdWl0ZSB1bmRl cnN0YW5kIEJBU0UuCj4gPiA+ID4gPgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBUaGUgTUFKT1Iu TUlOT1IgY29sbGVjdGl2ZWx5IGRlZmluZSB0aGUgaW50ZXJmYWNlIHZlcnNpb24uIEJlY2F1c2Ug dGhlIE1JTk9SCj4gPiA+ID4gPiA+IG1heSBhbHNvIGluY3JlbWVudCBvbiBhIHN1YnN0YW50aWFs IGludGVybmFsIGNoYW5nZSwgaXQgZG9lc24ndCBhbHdheXMgbWFyayBhbgo+ID4gPiA+ID4gPiBp bnRlcmZhY2UgY2hhbmdlLCBlLmcuIDQuNSBhbmQgNC42IG1heSBoYXZlIGlkZW50aWNhbCBpbnRl cmZhY2VzLiBCdXQgdGhlCj4gPiA+ID4gPiA+IGRldGVybWluYXRpb24gb2YgaW50ZXJmYWNlIGNv bXBhdGliaWxpdHkgaXMgdW5jaGFuZ2VkLCBlLmcuIDQuNiBpcyBhbHdheXMKPiA+ID4gPiA+ID4g YmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCA0LjUuCj4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+IEVh Y2ggTUFKT1IuTUlOT1IgbWF5IGNvbnRpbnVlIHRvIHJlY2VpdmUgaW50ZXJuYWwgZml4ZXMgYWxv bmcgYSBicmFuY2ggZXZlbgo+ID4gPiA+ID4gPiBhZnRlciB0aGUgbWFpbiBicmFuY2ggZm9yIHRo YXQgQkFTRSBoYXMgbW92ZWQgb24gdG8gYW5vdGhlciBNQUpPUi5NSU5PUi4KPiA+ID4gPiA+ID4g UmVsZWFzZXMgZnJvbSB0aGVzZSBmaXgtb25seSBicmFuY2hlcyBpbmNyZW1lbnQgb25seSB0aGUg UEFUQ0ggbnVtYmVyIG9uIHRoYXQKPiA+ID4gPiA+ID4gTUFKT1IuTUlOT1IsIGFuZCB0aGVyZWZv cmUgcmVtYWluIHNlbWFudGljYWxseSBjb25zaXN0ZW50IHdpdGggdGhlIG1haW4gYnJhbmNoLgo+ ID4gPiA+ID4gPiBObyBjaGFuZ2Ugb2YgQkFTRSBpcyB0aGVyZWZvcmUgbmVlZGVkLiBDb25zaWRl ciBhbiBleGFtcGxlOgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiB2MS4xLjAuMCAgIHYxLjEuMC4x ICAgdjEuMS4wLjIgICB2MS4xLjEuMCAgIHYxLjEuMS4xCj4gPiA+ID4gPiA+IC0tLS1PLS0tLS0t LS0tLU8tLS0tLS0tLS0tTy0tLS0tLS0tLS1PLS0tLS0tLS0tLU8gICAgPC0tIG1haW4gYWRvcHRz IHYxLjEuMS54Cj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4g PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gPiA+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCj4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE8tLS0tLS0tLS0tTyAgICAgPC0tIGZpeGVzIGZvciBpbnRlcmZhY2UgdjEuMS4wLngK PiA+ID4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICB2MS4xLjAuMyAgIHYxLjEuMC40 Cj4gPiA+ID4gPgo+ID4gPiA+ID4gVGhpcyBhcHByb2FjaCBpcyBjb29sIGFuZCBtb3JlIG9yIGxl c3MgaG93IE1lc2EgaGFuZGxlcyB0aGVpciByZWxlYXNlcywKPiA+ID4gPiA+IGV4Y2VwdCBieSB0 aGUgZmFjdCB0aGF0IHRoZWlyIE1ham9yIGlzIHRoZSB5ZWFyIGFuZCBtaW5vciBpcyB0aGUgbW9u dGguCj4gPiA+ID4gPgo+ID4gPiA+ID4gSG93ZXZlciwgb24gdGhlIGZpcm13YXJlIHNpZGUgSSBo YXZlIGEgY29uY2VybiBiZWNhdXNlIHdlIGFyZSBzbyBmYXIgdHJ5aW5nCj4gPiA+ID4gPiB0byBt YWtlIHN1cmUgdGhhdCB3ZSBoYXZlIDEtMSByZWxhdGlvbnNoaXAgb24ga2VybmVsLWZpcm13YXJl IHZlcnNpb24uCj4gPiA+ID4gPgo+ID4gPiA+ID4gQnV0IGJhc2VkIG9uIHRoaXMgdmlldyBhbmQg d2hhdCBBbnVzaGEgdG9sZCBtZSB5ZXN0ZXJkYXkgaXQgc2VlbXMKPiA+ID4gPiA+IHRoYXQgR3VD IGlzIGdldHRpbmcgY29uc3RhbnQgcmVsZWFzZXMuIFdpdGggdGhlIGNvbnN0YW50IHBhdGNoZXMg d2Ugd2lsbAo+ID4gPiA+ID4gc29vbiBleHBsb2RlIGxpbnV4LWZpcm13YXJlLmdpdCByZXBvc2l0 b3J5IHNpemUuCj4gPiA+ID4gPgo+ID4gPiA+ID4gQnV0IHRoaXMgbWF5YmUgaXMgc29tZXRoaW5n IHRvIGJlIHNvbHZlZCBvbiBsaW51eC1maXJtd2FyZSBzaWRlIGFuZCB3ZSBtYWtlCj4gPiA+ID4g PiBzdXJlIHRoYXQgd2UgY2xlYW4gdXAgYW5kIHJlbW92ZSBmaXJtd2FyZSB0aGF0IHdlcmUgbmV2 ZXIgcmVsZWFzZWQgaW4gYW55Cj4gPiA+ID4gPiBvZmZpY2lhbCBMaW51eCBrZXJuZWwuIEFudXNo YSBvciBBbnRvbmlvLCB0aG91Z2h0cz8KPiA+ID4gPiA+Cj4gPiA+ID4gPiBUaGFua3MsCj4gPiA+ ID4gPiBSb2RyaWdvLgo+ID4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+IEkgZXhwZWN0IHRoYXQgaTkx NSB3aWxsIHN0aWxsIHJlcXVpcmUgYSBzaW5nbGUgdmVyc2lvbiBvZiBmaXJtd2FyZSBwZXIgcGxh dGZvcm0KPiA+ID4gPiBhcyBpdCBkb2VzIHRvZGF5LiBUaGlzIGNoYW5nZSBzaG91bGQgbm90IGlt cGFjdCB0aGF0IG90aGVyIHRoYW4gdG8gcmVxdWlyZSBpOTE1Cj4gPiA+ID4gdG8gY2hlY2sgNCBu dW1iZXJzIGluc3RlYWQgb2YgMi4KPiA+ID4gPgo+ID4gPiA+IEl0IGlzIHRydWUgdGhhdCBmaXJt d2FyZSByZWxlYXNlcyBhcmUgbWFkZSAqaW50ZXJuYWxseSogKGZyb20gdGhlIGZpcm13YXJlCj4g PiA+ID4gdGVhbSB0byB0aGUgb3BlcmF0aW5nIHN5c3RlbSB0ZWFtcykgYXQgYSBmcmVxdWVudCBy YXRlLiBJdCBpcyB1cCB0byBlYWNoIE9TCj4gPiA+ID4gdGVhbSB0byBkZWNpZGUgdGhlaXIgb3du IGNhZGVuY2UgZm9yIGludGVncmF0aW5nIGFuZCBkaXN0cmlidXRpbmcgdGhvc2UKPiA+ID4gPiBm aXJtd2FyZSBiYXNlZCBvbiB0aGVpciB1bmlxdWUgc2l0dWF0aW9uLiBTbyB0aGUgTGludXggdGVh bSBtYXkgZmlsdGVyIHRoZXNlCj4gPiA+ID4gcmVsZWFzZXMgYW5kIHVwZGF0ZSB0aGUgdXBzdHJl YW0gbXVjaCBsZXNzIGZyZXF1ZW50bHkuCj4gPiA+ID4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4g VGhlcmUgaXMgbm8gbmVlZCB0byBjaGFuZ2UgdGhlIEJBU0UgYmVjYXVzZSB0aGUgYnJhbmNoaW5n IGhhcHBlbmVkIGZyb20gdGhlCj4gPiA+ID4gPiA+IGxhc3QgZml4ICh2MS4xLjAuMikgb24gdGhl IG1haW4gYnJhbmNoIHByaW9yIHRvIHRoZSBjaGFuZ2Ugb2YgaW50ZXJmYWNlCj4gPiA+ID4gPiA+ ICh2MS4xLjEuMCkuIEFzIGxvbmcgYXMgb25seSBmaXhlcyBhcmUgYXBwbGllZCB0byB2MS4xLjAu eCwgdGhlcmUgaXMgbm8gcmlzayBvZgo+ID4gPiA+ID4gPiB2ZXJzaW9uIG51bWJlciBjbGFzaC4g QWxsIG9mIHRoZXNlIHJlbGVhc2UgdmVyc2lvbnMgcmVtYWluIHNlbWFudGljYWxseQo+ID4gPiA+ ID4gPiBjb25uZWN0ZWQgd2l0aCBvbmUgc21hbGwgY2F2ZWF0LiBJZiB0aGlzIHNldCBvZiByZWxl YXNlIHZlcnNpb25zIGNhbWUKPiA+ID4gPiA+ID4gc2VxdWVudGlhbGx5IGFsb25nIGEgc2luZ2xl IGJyYW5jaCwgb25lIGNvdWxkIGluZmVyIHRoYXQgdGhlIGV4YWN0IGZpeGVzIGluCj4gPiA+ID4g PiA+IHYxLjEuMC40IHdlcmUgaW5oZXJpdGVkIGJ5IHYxLjEuMS4wLiBXaXRoIHRoaXMgImhpZGRl biIgYnJhbmNoaW5nLCB0aGlzIG1heQo+ID4gPiA+ID4gPiBub3QgYmUgdHJ1ZSBhcyBpbiB0aGlz IGV4YW1wbGUuIE9uZSB3b3VsZCBuZWVkIHRvIHJldmlldyB0aGUgdjEuMS4xLjAgcmVsZWFzZQo+ ID4gPiA+ID4gPiBub3RlcyB0byBjaGVjay4KPiA+ID4gPiA+ID4KPiA+ID4gPiA+ID4gUGxlYXNl IHByb3ZpZGUgYW55IGZlZWRiYWNrIG9uIHRoZSBwcm9wb3NlZCBjaGFuZ2UuCj4gPiA+ID4gPiA+ Cj4gPiA+ID4gPiA+IFRoYW5rcywKPiA+ID4gPiA+ID4gSmVmZgo+ID4gPiA+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiA+ID4gSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdAo+ID4gPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiA+ID4g PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ ID4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngKPiA+IAo+ID4gCj4gPiAKPiA+IC0tIAo+ID4gRGFuaWVsIFZldHRlcgo+ ID4gU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gPiArNDEgKDApIDc5IDM2 NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=