From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joonas Lahtinen Subject: Re: [RFC] GuC firmware versioning change Date: Tue, 16 Oct 2018 14:10:51 +0300 Message-ID: <153968825100.12914.13198813537025145171@jlahtine-desk.ger.corp.intel.com> References: <20181012202430.GB21521@jeffdesk> <20181012205143.GS10727@intel.com> <20181012213326.GE21521@jeffdesk> <20181012214605.GF21521@jeffdesk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 666866E132 for ; Tue, 16 Oct 2018 11:10:54 +0000 (UTC) In-Reply-To: <20181012214605.GF21521@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 , Rodrigo Vivi Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UXVvdGluZyBKZWZmIE1jR2VlICgyMDE4LTEwLTEzIDAwOjQ2OjA1KQo+IE9uIEZyaSwgT2N0IDEy LCAyMDE4IGF0IDAyOjMzOjI2UE0gLTA3MDAsIEplZmYgTWNHZWUgd3JvdGU6Cj4gPiBPbiBGcmks IE9jdCAxMiwgMjAxOCBhdCAwMTo1MTo0NlBNIC0wNzAwLCBSb2RyaWdvIFZpdmkgd3JvdGU6Cj4g PiA+IE9uIEZyaSwgT2N0IDEyLCAyMDE4IGF0IDAxOjI0OjMwUE0gLTA3MDAsIEplZmYgTWNHZWUg d3JvdGU6Cj4gPiA+ID4gVGhlIEd1QyBmaXJtd2FyZSB0ZWFtIGlzIHByb3Bvc2luZyBhIGNoYW5n ZSB0byB0aGUgZmlybXdhcmUgdmVyc2lvbmluZyBzY2hlbWUuCj4gPiA+ID4gVGhlIGdvYWwgaXMg dG8gbW9yZSBhY2N1cmF0ZWx5IHRyYWNrIHRoZSBmaXJtd2FyZSBpbnRlcmZhY2UgdG8gaGVscCB1 c2Vycwo+ID4gPiA+IG1hbmFnZSBkZXBlbmRlbmNpZXMgb24gdGhhdCBpbnRlcmZhY2UuIFRoZSBw cm9wb3NlZCBzY2hlbWUgaXMgYmFzZWQgb24KPiA+ID4gPiBzZW12ZXIub3JnIHdpdGggc29tZSBh ZGRpdGlvbnMgdG8gaGFuZGxlIGJyYW5jaGluZy4KPiA+ID4gPiAKPiA+ID4gPiBUaGUgcHJvcG9z ZWQgdmVyc2lvbiBudW1iZXIgd291bGQgaGF2ZSA0IGZpZWxkczogQkFTRS5NQUpPUi5NSU5PUi5Q QVRDSC4KPiA+ID4gPiBDb250cmFzdCB0aGlzIHdpdGggdGhlIDIgZmllbGRzIGluIHRoZSBjdXJy ZW50IHZlcnNpb24gbnVtYmVyOiBNQUpPUi5NSU5PUi4KPiA+ID4gPiBTaWRlIG5vdGUsIHRoZSBj dXJyZW50IGZpcm13YXJlIGVuY29kZXMgYSBCUkFOQ0ggYW5kIENMSUVOVCBudW1iZXIgYXMgd2Vs bCwgYnV0Cj4gPiA+ID4gdGhleSBoYXZlIG5vdCBiZWVuIG5lZWRlZCBieSBpOTE1LiBTbyBhIGZp cm13YXJlIHJlbGVhc2VkIHdpdGggdGhlIHByb3Bvc2VkCj4gPiA+ID4gc2NoZW1lIHdvdWxkIGJl IG5hbWVkIDxwbGF0Zm9ybT5fZ3VjX3ZlcjxiYXNlPl88bWFqb3I+XzxtaW5vcj5fPHBhdGNoPi5i aW4KPiA+ID4gPiAoZXg6IHNrbF9ndWNfdmVyMV81XzRfNy5iaW4pIGluc3RlYWQgb2YgdGhlIGN1 cnJlbnQKPiA+ID4gPiA8cGxhdGZvcm0+X2d1Y192ZXI8bWFqb3I+XzxtaW5vcj4uYmluIChleDog c2tsX2d1Y192ZXI5XzMzLmJpbikuCj4gPiA+ID4gCj4gPiA+ID4gVGhlIEJBU0UgbnVtYmVyIGlz IGFuIElEIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSBhIHNldCBvZiByZWxlYXNlcyBpbiB3aGlj aAo+ID4gPiA+IHRoZSBNQUpPUi5NSU5PUi5QQVRDSCBzZW1hbnRpY3MgYXJlIGNvbnNpc3RlbnQu IEluIG90aGVyIHdvcmRzLCB0d28gcmVsZWFzZXMKPiA+ID4gPiBmcm9tIHRoZSBzYW1lIEJBU0Ug Y2FuIGJlIGNvbXBhcmVkIHZpYSB0aGVpciBNQUpPUi5NSU5PUi5QQVRDSCB0byBpbmZlciB0aGVp cgo+ID4gPiA+IHJlbGF0aW9uc2hpcCBhcyBkZXNjcmliZWQgYmVsb3cuIFR3byByZWxlYXNlcyBm cm9tIGEgZGlmZmVyZW50IEJBU0UgY2Fubm90IGJlCj4gPiA+ID4gcmVsaWFibHkgY29tcGFyZWQu IFRoZSBCQVNFIG51bWJlciBmYWNpbGl0YXRlcyBhcmJpdHJhcnkgYnJhbmNoaW5nIHdoaWNoIGNh bgo+ID4gPiA+IGNyZWF0ZSBkdXBsaWNhdGUgYW5kL29yIGRpc2Nvbm5lY3RlZCBNQUpPUi5NSU5P Ui5QQVRDSCB2ZXJzaW9ucy4gVGhpcyB0eXBlIG9mCj4gPiA+ID4gYnJhbmNoaW5nIGlzIGV4cGVj dGVkIHRvIGJlIHJhcmUsIGFuZCBzbyBCQVNFIHdpbGwgcmFyZWx5IGNoYW5nZS4gV2hlbiBhIG5l dwo+ID4gPiA+IEJBU0UgaXMgY3JlYXRlZCwgdGhlIE1BSk9SLk1JTk9SLlBBVENIIHJlc2V0IHRv IHN0YXJ0aW5nIHZhbHVlcy4KPiA+ID4gCj4gPiA+IENvdWxkIHlvdSBwbGVhc2UgY2xhcmlmeSBh IGJpdCB3aGF0IEJBU0UgbWVhbnM/Cj4gPiA+IFdoYXQgd291bGQgYmUgYSBkaWZmZXJlbnQgQkFT RT8KPiA+ID4gCj4gPiAKPiA+IFRoZSBCQVNFIG51bWJlciBzdXBwb3J0cyBnZW5lcmFsIGJyYW5j aGluZyB0aGF0IHdvdWxkIGNhdXNlIHZlcnNpb24gbnVtYmVyCj4gPiBjb25mbGljdHMuIEJyYW5j aGluZyBmb3IgZmlybXdhcmUgcmVsZWFzZXMgaXMgbm90IGRlc2lyYWJsZSwgYnV0IGl0IGlzIGEK PiA+IHByYWN0aWNhbCByZWFsaXR5LiBUaGVyZWZvcmUgdGhlIHZlcnNpb25pbmcgc2NoZW1lIG11 c3QgYWNjb21vZGF0ZSBpdC4gTGV0J3MKPiA+IHNheSB0aGF0IGEgaGlnaC1wcmlvcml0eSByZXF1 ZXN0IGlzIG1hZGUgdG8gcHV0IHNwZWNpZmljIHVwZGF0ZXMgb24gYW4gb2xkCj4gPiByZWxlYXNl IHRoYXQgc2FpZCBjdXN0b21lciBpcyBsb2NrZWQgb24uIFRob3NlIHVwZGF0ZXMgY291bGQgaW5j bHVkZSBhbnkgc29ydAo+ID4gb2YgY2hhbmdlIGluY2x1ZGluZyBpbnRlcmZhY2UgY2hhbmdlLiBU aGVuIHdlIGhhdmUgYSBzZXF1ZW5jZSBsaWtlIGJlbG93Ogo+ID4gCj4gPiB2MS4xLjAuMCAgIHYx LjEuMC4xICAgdjEuMS4wLjIgICB2MS4xLjAuMyAgIHYxLjEuMS4wCj4gPiAtLS0tTy0tLS0tLS0t LS1PLS0tLS0tLS0tLU8tLS0tLS0tLS0tTy0tLS0tLS0tLS1PCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPLS0tLS0tLS0tLU8KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgdjIuMS4xLjAgICB2 Mi4xLjEuMQo+ID4gCj4gPiBZb3UgY2FuIHNlZSB0aGF0IGlmIHdlIGRvbid0IGhhdmUgYSBCQVNF IG51bWJlciB0aGF0IGNoYW5nZXMgZnJvbSAxIHRvIDIsIHRoZW4KPiA+IHdlIGVuZCB1cCB3aXRo IGR1cGxpY2F0ZWQgdjEuMS4wIGFsb25nIHRoZSBkaWZmZXJlbnQgYnJhbmNoZXMgd2hpY2ggYXJl IG5vdCB0aGUKPiA+IHNhbWUuIEFzIEkgd3JvdGUsIHRoaXMgc2hvdWxkIGJlIGEgdmVyeSByYXJl IHNjZW5hcmlvLCBidXQgaXQgY2FuIGhhcHBlbi4gTWF5YmUKPiA+IHVwc3RyZWFtIHdpbGwgYWx3 YXlzIGJlIHN1cHBsaWVkIHdpdGggcmVsZWFzZXMgZnJvbSB0aGUgIm1haW4iIEJBU0UsIGFuZCB5 b3UKPiA+IGNhbiBpZ25vcmUgdGhpcyBmaWVsZCwgYnV0IGl0IG5lZWRzIHRvIGJlIHRoZXJlIGZv ciBvdGhlciBmaXJtd2FyZQo+ID4gZGlzdHJpYnV0aW9ucy4KCkkgdGhvdWdodCB3ZSBjb3ZlcmVk IHRoaXMgaW4gc29tZSBtZWV0aW5nIGFscmVhZHkuIEFueXdheSwgSSB2ZXJ5IG11Y2gKYWdyZWUg d2l0aCBSb2RyaWdvIHRoYXQgYWRkaW5nIEJBU0Ugc291bmRzIGxpa2UgZXh0cmEgY29tcGxpY2F0 aW9uLgoKSW4gdXBzdHJlYW0gY29kZSwgd2Ugd291bGQgb25seSBjYXJlIGFib3V0IGxhdGVzdCBh Y2NvcmRpbmcgdG8Kc2VtdmVyIGFrYS4gdGhlIGJsZWVkaW5nIGVkZ2UgZmlybXdhcmUuIEFzIHRo b3NlIGFyZSB0aGUgb25seQpmaXJtd2FyZXMgdG8gYmUgZHJvcHBlZCB0byBsaW51eC1maXJtd2Fy ZSByZXBvLCB0aGVyZSBzaG91bGQKYmUgbm8gbmVlZCBmb3IgQkFTRSBpbiB0aGUgdmVyc2lvbmlu ZyBmb3IgdXBzdHJlYW0uCgpUaGUgcHJvYmxlbSB5b3UncmUgdHJ5aW5nIHRvIHNvbHZlIGlzIHJl dmlzaW9uaW5nIGZvcmtzLCBhbmQKdGhlIHVwc3RyZWFtIGludGVyZmFjZSBzaG91bGQgbm90IHRy YWNrIGZvcmtzIGJ1dCBpdCB3aWxsIGFsd2F5cwpmb2xsb3cgdGhlIGxhdGVzdCBibGVlZGluZyBl ZGdlLiBXaG9ldmVyIGRlY2lkZXMgdG8gZm9yayB0aGUKdXBzdHJlYW0gY29kZSwgY2FuIGFkZCB0 aGUgY29kZSBmb3IgdGhlIEJBU0UgbmFtZWQgZmlybXdhcmVzLgoKSWYgdGhlcmUgd29uJ3QgYmUg YSBjbGVhciBibGVlZGluZyBlZGdlIGZpcm13YXJlIHdpdGggTUFKT1IKaW5jcmVtZW50aW5nIGxp bmVhcmx5IG9uIGJhY2t3YXJkcyBicmVha2luZyBjaGFuZ2VzICh3aGljaApzaG91bGQgYmUgbWlu aW1pemVkKSwgd2hpY2ggY2FuIGVhc2lseSBiZSB1bmRlcnN0b29kIGJ5IHRoZQp1cHN0cmVhbSBr ZXJuZWwgY29uc3VtZXJzLCB0aGVuIHdlIHdpbGwgaGF2ZSBtb3JlIGNvbmZ1c2lvbgp0aGFuIGlz IG5lY2Vzc2FyeS4KClJlZ2FyZHMsIEpvb25hcwoKPiA+IC1KZWZmCj4gPiAKPiAKPiBTb3JyeSwg SSBtaXNyZXByZXNlbnRlZCBob3cgdG8gdGhlIG51bWJlcnMgd291bGQgY2hhbmdlIGluIHRoZSBh Ym92ZSBleGFtcGxlLgo+IFRoZSBjaGFuZ2Ugb2YgQkFTRSBmcm9tIDEgdG8gMiB3b3VsZCByZXNl dCBNQUpPUi5NSU5PUi5QQVRDSC4gU28gdGhlIHNlcXVlbmNlCj4gc2hvdWxkIGJlIHYxLjEuMC4y IC0+IHYyLjEuMC4wIC0+IHYyLjEuMC4xIGFuZCBzbyBvbi4KPiAKPiBJZiB3ZSBkb24ndCBoYXZl IEJBU0UsIHRoZSBwdXJlIHNlbXZlci5vcmcgc2VxdWVuY2Ugd291bGQgYmU6Cj4gCj4gICB2MS4w LjAgICAgIHYxLjAuMSAgICAgdjEuMC4yICAgICB2MS4wLjMgICAgIHYxLjEuMAo+IC0tLS1PLS0t LS0tLS0tLU8tLS0tLS0tLS0tTy0tLS0tLS0tLS1PLS0tLS0tLS0tLU8KPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP LS0tLS0tLS0tLU8KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdjEuMS4wICAgICB2MS4x LjEKPiAKPiBBbmQgc28geW91IHNlZSB0aGUgZHVwbGljYXRpb24gb2YgdmVyc2lvbiBudW1iZXIu Cj4gLSBKZWZmCj4gCj4gPiA+ID4gCj4gPiA+ID4gVGhlIE1BSk9SIG51bWJlciBjb25mb3JtcyB0 byB0aGUgbWFqb3IgaW4gc2VtdmVyLm9yZy4gSXQgaW5jcmVtZW50cyBvbiBhCj4gPiA+ID4gYmFj a3dhcmRzIGluY29tcGF0aWJsZSBjaGFuZ2Ugb2YgdGhlIGludGVyZmFjZS4gSXQgcmVzZXRzIHRv IDEgb24gYSBjaGFuZ2Ugb2YKPiA+ID4gPiBCQVNFLiBUaGUgTUFKT1IgbnVtYmVyIGJhc2ljYWxs eSB3b3JrcyB0aGUgc2FtZSBiZXR3ZWVuIHRoZSBjdXJyZW50IGFuZAo+ID4gPiA+IHByb3Bvc2Vk IHZlcnNpb25pbmcgc2NoZW1lcy4KPiA+ID4gPiAKPiA+ID4gPiBUaGUgTUlOT1IgbnVtYmVyIGNv bmZvcm1zIHRvIHRoZSBtaW5vciBpbiBzZW12ZXIub3JnLiBJdCBpbmNyZW1lbnRzIG9uIGEKPiA+ ID4gPiBiYWNrd2FyZHMgY29tcGF0aWJsZSBjaGFuZ2Ugb2YgdGhlIGludGVyZmFjZSAobmV3IGlu dGVyZmFjZXMgdGhhdCBhcmUgb3B0aW9uYWwKPiA+ID4gPiB0byB1c2UpLiBJdCB3aWxsIGFsc28g aW5jcmVtZW50IG9uIHN1YnN0YW50aWFsIG5ldyBpbnRlcm5hbCBmdW5jdGlvbmFsaXR5IHRoYXQK PiA+ID4gPiBkb2Vzbid0IGFmZmVjdCB0aGUgaW50ZXJmYWNlIGJ1dCBzaG91bGQgYmUgY2FsbGVk IG91dCB0byB0aGUgdXNlci4gSXQgcmVzZXRzIHRvCj4gPiA+ID4gMCBvbiBhIGNoYW5nZSBvZiBN QUpPUi4gVGhlIE1JTk9SIG51bWJlciBpbiB0aGUgY3VycmVudCB2ZXJzaW9uaW5nIHNjaGVtZQo+ ID4gPiA+IGluY3JlbWVudHMgb24gYW55IGJhY2t3YXJkcyBjb21wYXRpYmxlIGNoYW5nZS4gVGhl IHByb3Bvc2VkIHZlcnNpb25pbmcgc2NoZW1lCj4gPiA+ID4gYnJlYWtzIHRoaXMgaW50byB0aGUg TUlOT1IgbnVtYmVyIGp1c3QgZGVzY3JpYmVkIGFuZCB0aGUgUEFUQ0ggbnVtYmVyIGJlbG93Lgo+ ID4gPiA+IAo+ID4gPiA+IFRoZSBQQVRDSCBudW1iZXIgY29uZm9ybXMgdG8gdGhlIHBhdGNoIGlu IHNlbXZlci5vcmcuIEl0IGluY3JlbWVudHMgb24gYQo+ID4gPiA+IGJhY2t3YXJkcyBjb21wYXRp YmxlIGludGVybmFsIGNoYW5nZSwgdXN1YWxseSBhIGJ1ZyBmaXguIEl0IHJlc2V0cyB0byAwIG9u IGEKPiA+ID4gPiBjaGFuZ2Ugb2YgTUlOT1IuCj4gPiA+IAo+ID4gPiBJIGxpa2UgdGhlIGlkZWEg b2YgTUFKT1IuTUlOT1IuUEFUQ0ggZm9sbG93aW5nIHNlbXZlci5vcmcuCj4gPiA+IAo+ID4gPiBJ IHRoaW5rIGlmIHdlIHJlbW92ZSB0aGUgQkFTRSBvdXQgb2YgcGljdHVyZSBhbmQganVzdCB1c2Ug c2VtdmVyIGNsZWFyLAo+ID4gPiBidXQgbWF5YmUgaXQgaXMganVzdCBiZWNhdXNlIEkgZGlkbid0 IHF1aXRlIHVuZGVyc3RhbmQgQkFTRS4KPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gVGhlIE1BSk9S Lk1JTk9SIGNvbGxlY3RpdmVseSBkZWZpbmUgdGhlIGludGVyZmFjZSB2ZXJzaW9uLiBCZWNhdXNl IHRoZSBNSU5PUgo+ID4gPiA+IG1heSBhbHNvIGluY3JlbWVudCBvbiBhIHN1YnN0YW50aWFsIGlu dGVybmFsIGNoYW5nZSwgaXQgZG9lc24ndCBhbHdheXMgbWFyayBhbgo+ID4gPiA+IGludGVyZmFj ZSBjaGFuZ2UsIGUuZy4gNC41IGFuZCA0LjYgbWF5IGhhdmUgaWRlbnRpY2FsIGludGVyZmFjZXMu IEJ1dCB0aGUKPiA+ID4gPiBkZXRlcm1pbmF0aW9uIG9mIGludGVyZmFjZSBjb21wYXRpYmlsaXR5 IGlzIHVuY2hhbmdlZCwgZS5nLiA0LjYgaXMgYWx3YXlzCj4gPiA+ID4gYmFja3dhcmRzIGNvbXBh dGlibGUgd2l0aCA0LjUuCj4gPiA+ID4gCj4gPiA+ID4gRWFjaCBNQUpPUi5NSU5PUiBtYXkgY29u dGludWUgdG8gcmVjZWl2ZSBpbnRlcm5hbCBmaXhlcyBhbG9uZyBhIGJyYW5jaCBldmVuCj4gPiA+ ID4gYWZ0ZXIgdGhlIG1haW4gYnJhbmNoIGZvciB0aGF0IEJBU0UgaGFzIG1vdmVkIG9uIHRvIGFu b3RoZXIgTUFKT1IuTUlOT1IuCj4gPiA+ID4gUmVsZWFzZXMgZnJvbSB0aGVzZSBmaXgtb25seSBi cmFuY2hlcyBpbmNyZW1lbnQgb25seSB0aGUgUEFUQ0ggbnVtYmVyIG9uIHRoYXQKPiA+ID4gPiBN QUpPUi5NSU5PUiwgYW5kIHRoZXJlZm9yZSByZW1haW4gc2VtYW50aWNhbGx5IGNvbnNpc3RlbnQg d2l0aCB0aGUgbWFpbiBicmFuY2guCj4gPiA+ID4gTm8gY2hhbmdlIG9mIEJBU0UgaXMgdGhlcmVm b3JlIG5lZWRlZC4gQ29uc2lkZXIgYW4gZXhhbXBsZToKPiA+ID4gPiAKPiA+ID4gPiB2MS4xLjAu MCAgIHYxLjEuMC4xICAgdjEuMS4wLjIgICB2MS4xLjEuMCAgIHYxLjEuMS4xCj4gPiA+ID4gLS0t LU8tLS0tLS0tLS0tTy0tLS0tLS0tLS1PLS0tLS0tLS0tLU8tLS0tLS0tLS0tTyAgICA8LS0gbWFp biBhZG9wdHMgdjEuMS4xLngKPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4g PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFwKPiA+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP LS0tLS0tLS0tLU8gICAgIDwtLSBmaXhlcyBmb3IgaW50ZXJmYWNlIHYxLjEuMC54Cj4gPiA+ID4g ICAgICAgICAgICAgICAgICAgICAgICAgICB2MS4xLjAuMyAgIHYxLjEuMC40Cj4gPiA+IAo+ID4g PiBUaGlzIGFwcHJvYWNoIGlzIGNvb2wgYW5kIG1vcmUgb3IgbGVzcyBob3cgTWVzYSBoYW5kbGVz IHRoZWlyIHJlbGVhc2VzLAo+ID4gPiBleGNlcHQgYnkgdGhlIGZhY3QgdGhhdCB0aGVpciBNYWpv ciBpcyB0aGUgeWVhciBhbmQgbWlub3IgaXMgdGhlIG1vbnRoLgo+ID4gPiAKPiA+ID4gSG93ZXZl ciwgb24gdGhlIGZpcm13YXJlIHNpZGUgSSBoYXZlIGEgY29uY2VybiBiZWNhdXNlIHdlIGFyZSBz byBmYXIgdHJ5aW5nCj4gPiA+IHRvIG1ha2Ugc3VyZSB0aGF0IHdlIGhhdmUgMS0xIHJlbGF0aW9u c2hpcCBvbiBrZXJuZWwtZmlybXdhcmUgdmVyc2lvbi4KPiA+ID4gCj4gPiA+IEJ1dCBiYXNlZCBv biB0aGlzIHZpZXcgYW5kIHdoYXQgQW51c2hhIHRvbGQgbWUgeWVzdGVyZGF5IGl0IHNlZW1zCj4g PiA+IHRoYXQgR3VDIGlzIGdldHRpbmcgY29uc3RhbnQgcmVsZWFzZXMuIFdpdGggdGhlIGNvbnN0 YW50IHBhdGNoZXMgd2Ugd2lsbAo+ID4gPiBzb29uIGV4cGxvZGUgbGludXgtZmlybXdhcmUuZ2l0 IHJlcG9zaXRvcnkgc2l6ZS4KPiA+ID4gCj4gPiA+IEJ1dCB0aGlzIG1heWJlIGlzIHNvbWV0aGlu ZyB0byBiZSBzb2x2ZWQgb24gbGludXgtZmlybXdhcmUgc2lkZSBhbmQgd2UgbWFrZQo+ID4gPiBz dXJlIHRoYXQgd2UgY2xlYW4gdXAgYW5kIHJlbW92ZSBmaXJtd2FyZSB0aGF0IHdlcmUgbmV2ZXIg cmVsZWFzZWQgaW4gYW55Cj4gPiA+IG9mZmljaWFsIExpbnV4IGtlcm5lbC4gQW51c2hhIG9yIEFu dG9uaW8sIHRob3VnaHRzPwo+ID4gPiAKPiA+ID4gVGhhbmtzLAo+ID4gPiBSb2RyaWdvLgo+ID4g PiAKPiA+IAo+ID4gSSBleHBlY3QgdGhhdCBpOTE1IHdpbGwgc3RpbGwgcmVxdWlyZSBhIHNpbmds ZSB2ZXJzaW9uIG9mIGZpcm13YXJlIHBlciBwbGF0Zm9ybQo+ID4gYXMgaXQgZG9lcyB0b2RheS4g VGhpcyBjaGFuZ2Ugc2hvdWxkIG5vdCBpbXBhY3QgdGhhdCBvdGhlciB0aGFuIHRvIHJlcXVpcmUg aTkxNQo+ID4gdG8gY2hlY2sgNCBudW1iZXJzIGluc3RlYWQgb2YgMi4KPiA+IAo+ID4gSXQgaXMg dHJ1ZSB0aGF0IGZpcm13YXJlIHJlbGVhc2VzIGFyZSBtYWRlICppbnRlcm5hbGx5KiAoZnJvbSB0 aGUgZmlybXdhcmUKPiA+IHRlYW0gdG8gdGhlIG9wZXJhdGluZyBzeXN0ZW0gdGVhbXMpIGF0IGEg ZnJlcXVlbnQgcmF0ZS4gSXQgaXMgdXAgdG8gZWFjaCBPUwo+ID4gdGVhbSB0byBkZWNpZGUgdGhl aXIgb3duIGNhZGVuY2UgZm9yIGludGVncmF0aW5nIGFuZCBkaXN0cmlidXRpbmcgdGhvc2UKPiA+ IGZpcm13YXJlIGJhc2VkIG9uIHRoZWlyIHVuaXF1ZSBzaXR1YXRpb24uIFNvIHRoZSBMaW51eCB0 ZWFtIG1heSBmaWx0ZXIgdGhlc2UKPiA+IHJlbGVhc2VzIGFuZCB1cGRhdGUgdGhlIHVwc3RyZWFt IG11Y2ggbGVzcyBmcmVxdWVudGx5Lgo+ID4gCj4gPiA+ID4gCj4gPiA+ID4gVGhlcmUgaXMgbm8g bmVlZCB0byBjaGFuZ2UgdGhlIEJBU0UgYmVjYXVzZSB0aGUgYnJhbmNoaW5nIGhhcHBlbmVkIGZy b20gdGhlCj4gPiA+ID4gbGFzdCBmaXggKHYxLjEuMC4yKSBvbiB0aGUgbWFpbiBicmFuY2ggcHJp b3IgdG8gdGhlIGNoYW5nZSBvZiBpbnRlcmZhY2UKPiA+ID4gPiAodjEuMS4xLjApLiBBcyBsb25n IGFzIG9ubHkgZml4ZXMgYXJlIGFwcGxpZWQgdG8gdjEuMS4wLngsIHRoZXJlIGlzIG5vIHJpc2sg b2YKPiA+ID4gPiB2ZXJzaW9uIG51bWJlciBjbGFzaC4gQWxsIG9mIHRoZXNlIHJlbGVhc2UgdmVy c2lvbnMgcmVtYWluIHNlbWFudGljYWxseQo+ID4gPiA+IGNvbm5lY3RlZCB3aXRoIG9uZSBzbWFs bCBjYXZlYXQuIElmIHRoaXMgc2V0IG9mIHJlbGVhc2UgdmVyc2lvbnMgY2FtZQo+ID4gPiA+IHNl cXVlbnRpYWxseSBhbG9uZyBhIHNpbmdsZSBicmFuY2gsIG9uZSBjb3VsZCBpbmZlciB0aGF0IHRo ZSBleGFjdCBmaXhlcyBpbgo+ID4gPiA+IHYxLjEuMC40IHdlcmUgaW5oZXJpdGVkIGJ5IHYxLjEu MS4wLiBXaXRoIHRoaXMgImhpZGRlbiIgYnJhbmNoaW5nLCB0aGlzIG1heQo+ID4gPiA+IG5vdCBi ZSB0cnVlIGFzIGluIHRoaXMgZXhhbXBsZS4gT25lIHdvdWxkIG5lZWQgdG8gcmV2aWV3IHRoZSB2 MS4xLjEuMCByZWxlYXNlCj4gPiA+ID4gbm90ZXMgdG8gY2hlY2suCj4gPiA+ID4gCj4gPiA+ID4g UGxlYXNlIHByb3ZpZGUgYW55IGZlZWRiYWNrIG9uIHRoZSBwcm9wb3NlZCBjaGFuZ2UuCj4gPiA+ ID4gCj4gPiA+ID4gVGhhbmtzLAo+ID4gPiA+IEplZmYKPiA+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4g PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK