From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jike Song Subject: Re: [ANNOUNCE] 2016-Q2 release of KVMGT (Was Re: KVMGT - the implementation of ...) Date: Wed, 20 Jul 2016 12:52:42 +0800 Message-ID: <578F039A.8080805@intel.com> References: <547FC5DE.4010701@intel.com> <562F45B4.70004@intel.com> <56A86482.4090009@intel.com> <5711DC3B.9010102@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: "Reddy, Raghuveer" , "Cowperthwaite, David J" , "Li, Susie" , "Dong, Eddie" , Zhiyuan Lv , "Zhang, Yipeng" , "Downs, Mike" , "Wang, Hongbo" , "Zhou, Chao" To: kvm@vger.kernel.org, igvt-g@lists.01.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Return-path: In-Reply-To: <5711DC3B.9010102@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" List-Id: kvm.vger.kernel.org SGkgYWxsLAoKV2UgYXJlIHBsZWFzZWQgdG8gYW5ub3VuY2UgYW5vdGhlciB1cGRhdGUgb2YgSW50 ZWwgR1ZULWcgZm9yIEtWTS4KCkludGVsIEdWVC1nIGZvciBLVk0gKGEuay5hLiBLVk1HVCkgaXMg YSBmdWxsIEdQVSB2aXJ0dWFsaXphdGlvbiBzb2x1dGlvbiB3aXRoIG1lZGlhdGVkIHBhc3MtdGhy b3VnaCwgc3RhcnRpbmcgZnJvbSA1dGggZ2VuZXJhdGlvbiBJbnRlbCBDb3Jl4oSiIHByb2Nlc3Nv cnMgd2l0aCBJbnRlbCBHcmFwaGljcyBwcm9jZXNzb3JzLiAgQSB2aXJ0dWFsIEdQVSBpbnN0YW5j ZSBpcyBtYWludGFpbmVkIGZvciBlYWNoIFZNLCB3aXRoIHBhcnQgb2YgcGVyZm9ybWFuY2UgY3Jp dGljYWwgcmVzb3VyY2VzIGRpcmVjdGx5IGFzc2lnbmVkLiBUaGUgY2FwYWJpbGl0eSBvZiBydW5u aW5nIG5hdGl2ZSBncmFwaGljcyBkcml2ZXIgaW5zaWRlIGEgVk0sIHdpdGhvdXQgaHlwZXJ2aXNv ciBpbnRlcnZlbnRpb24gaW4gcGVyZm9ybWFuY2UgY3JpdGljYWwgcGF0aHMsIGFjaGlldmVzIGEg Z29vZCBiYWxhbmNlIGFtb25nIHBlcmZvcm1hbmNlLCBmZWF0dXJlLCBhbmQgc2hhcmluZyBjYXBh YmlsaXR5LgogICAgClJlcG9zaXRvcmllczoKCiAgIC0gS2VybmVsOiBodHRwczovL2dpdGh1Yi5j b20vMDFvcmcvaWd2dGcta2VybmVsICgyMDE2cTItNC4zLjAgYnJhbmNoKQogICAtIFFlbXU6IGh0 dHBzOi8vZ2l0aHViLmNvbS8wMW9yZy9pZ3Z0Zy1xZW11ICgyMDE2cTItMi4zLjAgYnJhbmNoKQoK VGhpcyB1cGRhdGUgY29uc2lzdHMgb2Y6CiAgIC0gS1ZNR1Qgc3RhYmxlIHJlbGVhc2UgZm9yIFhl b24gRTMgdjQgKEJyb2Fkd2VsbCksIEUzIHY1KFNreWxha2UpLCBJbnRlbCBDb3Jl4oSiIHByb2Nl c3NvcnMgNXRoIGdlbmVyYXRpb24gKEJvYWR3ZWxsKSAsIDZ0aCBnZW5lcmF0aW9uIChTa3lsYWtl KQogICAtIDJELzNEL01lZGlhIHdvcmtsb2FkcyBjYW4gcnVuIHNpbXVsdGFuZW91c2x5IGluIG11 bHRpcGxlIGd1ZXN0cwoKS25vd24gaXNzdWVzOgogICAtIEF0IGxlYXN0IDJHQiBtZW1vcnkgaXMg c3VnZ2VzdGVkIGZvciBHdWVzdCBWaXJ0dWFsIE1hY2hpbmUgKFZNKSB0byBydW4gbW9zdCAzRCB3 b3JrbG9hZHMuCiAgIC0gVXNpbmcgV2luZG93cyBNZWRpYSBQbGF5ZXIgcGxheSB2aWRlb3MgbWF5 IGNhdXNlIGhvc3QgY3Jhc2guIFVzaW5nIFZMQyB0byBwbGF5IC5vZ2cgZmlsZSBtYXkgY2F1c2Ug bW9zYWljIG9yIHNsb3cgcmVzcG9uc2UuCiAgIC0gU3VnZ2VzdCB0byBYIHdpbmRvdyBtb2RlIGxp a2UgeGluaXQgaW5zdGVhZCBvZiBsaWdodGRtIHRvIGxhdW5jaCBob3N0IGlmIHJ1bm5pbmcgaGVh dnkgd29ya2xvYWQgaW4gYm90aCBndWVzdCBhbmQgaG9zdCBmb3IgbW9yZSB0aGFuIDYgaG91cnMu CiAgIC0gQ2hhbmdlIGk5MTUucHJlZW1wdGlvbl9wb2xpY3k9MyBpbiBob3N0IGtlcm5lbCBjbWRs aW5lLCBpZiB5b3Ugc2VlIHByb2JsZW0gd2hlbiBydW5uaW5nIGhlYXZ5IDNEIHdvcmtsb2FkcyBp biBtdWx0aXBsZSBHdWVzdHMgKD49MykgaW4gc29tZSBleHRyZW1lIHN0cmVzcyBjb25maWd1cmF0 aW9uLgoKClBsZWFzZSBzdWJzY3JpYmUgdG8gam9pbiB0aGUgbWFpbGluZyBsaXN0OgogICAtIGh0 dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vaWd2dC1nCgpPZmZpY2lhbCBpR1ZU LWcgcG9ydGFsOgogICAtIGh0dHBzOi8vMDEub3JnL2lndnQtZwoKTW9yZSBpbmZvcm1hdGlvbiBh Ym91dCBiYWNrZ3JvdW5kLCBhcmNoaXRlY3R1cmUgYW5kIG90aGVycyBhYm91dCBJbnRlbCBHVlQt ZywgY2FuIGJlIGZvdW5kIGF0OgoKICAgIGh0dHA6Ly93d3cubGludXgta3ZtLm9yZy9pbWFnZXMv Zi9mMy8wMXgwOGItS1ZNR1QtYS5wZGYKICAgIGh0dHBzOi8vd3d3LnVzZW5peC5vcmcvY29uZmVy ZW5jZS9hdGMxNC90ZWNobmljYWwtc2Vzc2lvbnMvcHJlc2VudGF0aW9uL3RpYW4KCgpOb3RlOgpU aGUgS1ZNR1QgcHJvamVjdCBzaG91bGQgYmUgY29uc2lkZXJlZCBhIHdvcmsgaW4gcHJvZ3Jlc3Mu IEFzIHN1Y2ggaXQgaXMgbm90IGEgY29tcGxldGUgcHJvZHVjdCBub3Igc2hvdWxkIGl0IGJlIGNv bnNpZGVyZWQgb25lLiBFeHRyYSBjYXJlIHNob3VsZCBiZSB0YWtlbiB3aGVuIHRlc3RpbmcgYW5k IGNvbmZpZ3VyaW5nIGEgc3lzdGVtIHRvIHVzZSB0aGUgS1ZNR1QgcHJvamVjdC4KCgotLQpUaGFu a3MsCkppa2UKCk9uIDA0LzE2LzIwMTYgMDI6MzEgUE0sIEppa2UgU29uZyB3cm90ZToKPiBIaSBh bGwsCj4gCj4gV2UgYXJlIHBsZWFzZWQgdG8gYW5ub3VuY2UgYW5vdGhlciB1cGRhdGUgb2YgSW50 ZWwgR1ZULWcgZm9yIEtWTS4KPiAKPiBJbnRlbCBHVlQtZyBmb3IgS1ZNIChhLmsuYS4gS1ZNR1Qp IGlzIGEgZnVsbCBHUFUgdmlydHVhbGl6YXRpb24gc29sdXRpb24gd2l0aCBtZWRpYXRlZCBwYXNz LXRocm91Z2gsIHN0YXJ0aW5nIGZyb20gNHRoIGdlbmVyYXRpb24gSW50ZWwgQ29yZShUTSkgcHJv Y2Vzc29ycyB3aXRoIEludGVsIEdyYXBoaWNzIHByb2Nlc3NvcnMuICBBIHZpcnR1YWwgR1BVIGlu c3RhbmNlIGlzIG1haW50YWluZWQgZm9yIGVhY2ggVk0sIHdpdGggcGFydCBvZiBwZXJmb3JtYW5j ZSBjcml0aWNhbCByZXNvdXJjZXMgZGlyZWN0bHkgYXNzaWduZWQuIFRoZSBjYXBhYmlsaXR5IG9m IHJ1bm5pbmcgbmF0aXZlIGdyYXBoaWNzIGRyaXZlciBpbnNpZGUgYSBWTSwgd2l0aG91dCBoeXBl cnZpc29yIGludGVydmVudGlvbiBpbiBwZXJmb3JtYW5jZSBjcml0aWNhbCBwYXRocywgYWNoaWV2 ZXMgYSBnb29kIGJhbGFuY2UgYW1vbmcgcGVyZm9ybWFuY2UsIGZlYXR1cmUsIGFuZCBzaGFyaW5n IGNhcGFiaWxpdHkuCj4gCj4gCj4gUmVwb3NpdG9yaWVzOgo+IAo+IEtlcm5lbDogaHR0cHM6Ly9n aXRodWIuY29tLzAxb3JnL2lndnRnLWtlcm5lbCAoMjAxNnExLTQuMy4wIGJyYW5jaCkKPiBRZW11 OiBodHRwczovL2dpdGh1Yi5jb20vMDFvcmcvaWd2dGctcWVtdSAoMjAxNnExLTIuMy4wIGJyYW5j aCkKPiAKPiAKPiBUaGlzIHVwZGF0ZSBjb25zaXN0cyBvZjoKPiAKPiAtIEtWTUdUIG5vdyBoYXMg YmV0dGVyIHN1cHBvcnQgZm9yIDV0aCBnZW5lcmF0aW9uIChCcm9hZHdlbGwpIEludGVsIENvcmUo VE0pIHByb2Nlc3NvcnMsIFhlb24oUikgRTMgdjQKPiAtIEEgbmV3IGZlYXR1cmUsIFFFTVUgY29t cG9zaXRvciBkaXNwbGF5IGlzIGFkZGVkIHRvIHN1cHBvcnQgZGlzcGxheSBWTSBpbiBRRU1VIHdp bmRvdy4gKHVzZSBpOTE1LmVuYWJsZV92Z3RidWZmZXI9MSBpbiBrZXJuZWwgY29tbWFuZCBsaW5l IHRvIGVuYWJsZSB0aGlzIGZlYXR1cmUsIGRpc2FibGVkIGJ5IGRlZmF1bHQsIGRldGFpbHMgcGxl YXNlIHJlZmVyIHRvIHRoZSBTZXR1cCBHdWlkZSkKPiAtIDJELzNEL01lZGlhIHdvcmtsb2FkcyBj YW4gYmUgcnVuIHNpbXVsdGFuZW91c2x5IGluIG11bHRpcGxlIGd1ZXN0cy4KPiAtIFN1cHBvcnQg Ym90aCBXaW5kb3dzIEd1ZXN0IGFuZCBMaW51eCBHdWVzdChXaW43LTMyLCBXaW43LTY0LCBXaW44 LjEtNjQsIFVidW50dTE0LjA0LTY0KQo+IC0gSG9zdCBMaW51eCBrZXJuZWwgaGFzIGJlZW4gdXBn cmFkZWQgZnJvbSA0LjIuMCB0byA0LjMuMCAoYmFzZWQgb24gZHJtLWludGVsKQo+IC0gS1ZNR1Qg aGFzIHByZWxpbWluYXJ5IHN1cHBvcnQgZm9yIDZ0aCBnZW5lcmF0aW9uIChTa3lsYWtlKSBJbnRl bCBDb3JlKFRNKSBwcm9jZXNzb3JzLgo+IAo+IAo+IEtub3duIGlzc3VlczoKPiAKPiAgICAtIEF0 IGxlYXN0IDJHQiBtZW1vcnkgaXMgc3VnZ2VzdGVkIGZvciBWTSB0byBydW4gbW9zdCAzRCB3b3Jr bG9hZHMuCj4gICAgLSBPbiBzb21lIHBhcnRpY3VsYXIgcGxhdGZvcm0sIGFzc2lnbmluZyA+Mkcg bWVtb3J5IHRvIFZNIHdpbGwgY2F1c2UgTGludXggVk0gZmFpbGVkIHRvIGJvb3QgdXAgYW5kIFdp bmRvd3MgVk0gZmFpbGVkIHRvIGxvYWQgR0ZYIGRyaXZlci4KPiAgICAtIFVzaW5nIFZMQyB0byBw bGF5IC5vZ2cgZmlsZSBtYXkgY2F1c2UgbW9zYWljIG9yIHNsb3cgcmVzcG9uc2UuCj4gICAgLSBS dW5uaW5nIGhlYXZ5IDNEIHdvcmtsb2FkcyBpbiBtdWx0aXBsZSBndWVzdHMgZm9yIGNvdXBsZSBv ZiBob3VycyBtYXkgY2F1c2Ugc3RhYmlsaXR5IGlzc3VlLih1c2UgaTkxNS5wcmVlbXB0aW9uX3Bv bGljeT0zIGluIGhvc3Qga2VybmVsIGNtZCBsaW5lIGNhbiB3b3JrIGFyb3VuZCB0aGlzIHN0YWJp bGl0eSBpc3N1ZSkKPiAKPiAKPiBQbGVhc2Ugc3Vic2NyaWJlIHRvIGpvaW4gdGhlIG1haWxpbmcg bGlzdDogaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3Z0LWcKPiAKPiBP ZmZpY2lhbCBpR1ZULWcgcG9ydGFsOiBodHRwczovLzAxLm9yZy9pZ3Z0LWcKPiAKPiBNb3JlIGlu Zm9ybWF0aW9uIGFib3V0IGJhY2tncm91bmQsIGFyY2hpdGVjdHVyZSBhbmQgb3RoZXJzIGFib3V0 IEludGVsIEdWVC1nLCBjYW4gYmUgZm91bmQgYXQ6Cj4gCj4gCj4gICAgIGh0dHA6Ly93d3cubGlu dXgta3ZtLm9yZy9pbWFnZXMvZi9mMy8wMXgwOGItS1ZNR1QtYS5wZGYKPiAgICAgaHR0cHM6Ly93 d3cudXNlbml4Lm9yZy9jb25mZXJlbmNlL2F0YzE0L3RlY2huaWNhbC1zZXNzaW9ucy9wcmVzZW50 YXRpb24vdGlhbgo+IAo+IAo+IFRoZSB1cHN0cmVhbWluZyBlZmZvcnQgb2YgaUdWVC1nIHByb2pl Y3QgaXMgb25nb2luZyBlbHNld2hlcmUsIG5vdCBhcyBhIHBhcnQgb2YgdGhpcyByZWxlYXNlLgo+ IAo+IAo+IE5vdGU6Cj4gCj4gVGhlIEtWTUdUIHByb2plY3Qgc2hvdWxkIGJlIGNvbnNpZGVyZWQg YSB3b3JrIGluIHByb2dyZXNzLiBBcyBzdWNoIGl0IGlzIG5vdCBhIGNvbXBsZXRlIHByb2R1Y3Qg bm9yIHNob3VsZCBpdCBiZSBjb25zaWRlcmVkIG9uZS4gRXh0cmEgY2FyZSBzaG91bGQgYmUgdGFr ZW4gd2hlbiB0ZXN0aW5nIGFuZCBjb25maWd1cmluZyBhIHN5c3RlbSB0byB1c2UgdGhlIEtWTUdU IHByb2plY3QuCj4gCj4gCj4gLS0KPiBUaGFua3MsCj4gSmlrZQo+IAo+IE9uIDAxLzI3LzIwMTYg MDI6MzIgUE0sIEppa2UgU29uZyB3cm90ZToKPj4gSGkgYWxsLAo+Pgo+PiBXZSBhcmUgcGxlYXNl ZCB0byBhbm5vdW5jZSBhbm90aGVyIHVwZGF0ZSBvZiBJbnRlbCBHVlQtZyBmb3IgS1ZNLgo+Pgo+ PiBJbnRlbCBHVlQtZyBmb3IgS1ZNIChhLmsuYS4gS1ZNR1QpIGlzIGEgZnVsbCBHUFUgdmlydHVh bGl6YXRpb24gc29sdXRpb24gd2l0aCBtZWRpYXRlZCBwYXNzLXRocm91Z2gsIHN0YXJ0aW5nIGZy b20gNHRoIGdlbmVyYXRpb24gSW50ZWwgQ29yZShUTSkgcHJvY2Vzc29ycyB3aXRoIEludGVsIEdy YXBoaWNzIHByb2Nlc3NvcnMuICBBIHZpcnR1YWwgR1BVIGluc3RhbmNlIGlzIG1haW50YWluZWQg Zm9yIGVhY2ggVk0sIHdpdGggcGFydCBvZiBwZXJmb3JtYW5jZSBjcml0aWNhbCByZXNvdXJjZXMg ZGlyZWN0bHkgYXNzaWduZWQuIFRoZSBjYXBhYmlsaXR5IG9mIHJ1bm5pbmcgbmF0aXZlIGdyYXBo aWNzIGRyaXZlciBpbnNpZGUgYSBWTSwgd2l0aG91dCBoeXBlcnZpc29yIGludGVydmVudGlvbiBp biBwZXJmb3JtYW5jZSBjcml0aWNhbCBwYXRocywgYWNoaWV2ZXMgYSBnb29kIGJhbGFuY2UgYW1v bmcgcGVyZm9ybWFuY2UsIGZlYXR1cmUsIGFuZCBzaGFyaW5nIGNhcGFiaWxpdHkuCj4+Cj4+IFJl cG9zaXRvcmllczoKPj4KPj4gCUtlcm5lbDogaHR0cHM6Ly9naXRodWIuY29tLzAxb3JnL2lndnRn LWtlcm5lbCAoMjAxNXE0LTQuMi4wIGJyYW5jaCkKPj4gCVFlbXU6IGh0dHBzOi8vZ2l0aHViLmNv bS8wMW9yZy9pZ3Z0Zy1xZW11IChrdm1ndF9wdWJsaWMyMDE1cTQgYnJhbmNoKQo+Pgo+PiBUaGlz IHVwZGF0ZSBjb25zaXN0cyBvZjoKPj4KPj4gCS0gS1ZNR1Qgbm93IGhhcyBiZXR0ZXIgc3VwcG9y dCBmb3IgNXRoIGdlbmVyYXRpb24gKEJyb2Fkd2VsbCkgSW50ZWwgQ29yZShUTSkgcHJvY2Vzc29y cywgMkQvM0QvTWVkaWEgd29ya2xvYWRzIGNhbiBiZSBydW4gc2ltdWx0YW5lb3VzbHkgaW4gbXVs dGlwbGUgZ3Vlc3RzLgo+PiAJLSBIb3N0IExpbnV4IGtlcm5lbCBoYXMgYmVlbiB1cGdyYWRlZCBm cm9tIDMuMTguMCB0byA0LjIuMCAoYmFzZWQgb24gZHJtLWludGVsKQo+Pgo+PiBOZXh0IHVwZGF0 ZSB3aWxsIGJlIGFyb3VuZCBlYXJseSBBcHJpbCwgMjAxNi4KPj4KPj4gS25vd24gaXNzdWVzOgo+ Pgo+PiAJLSBBdCBsZWFzdCAyR0IgbWVtb3J5IGlzIHN1Z2dlc3RlZCBmb3IgVk0gdG8gcnVuIG1v c3QgM0Qgd29ya2xvYWRzLgo+PiAJLSBVc2luZyBWTEMgdG8gcGxheSAub2dnIGZpbGUgbWF5IGNh dXNlIG1vc2FpYyBvciBzbG93IHJlc3BvbnNlLgo+PiAJLSBSdW5uaW5nIGhlYXZ5IDNEIHdvcmts b2FkcyBpbiBtdWx0aXBsZSBndWVzdHMgZm9yIGNvdXBsZSBvZiBob3VycyBtYXkgY2F1c2Ugc3Rh YmlsaXR5IGlzc3VlLgo+Pgo+PiBPZmZpY2lhbCBpR1ZULWcgcG9ydGFsOiBodHRwczovLzAxLm9y Zy9pZ3Z0LWcKPj4gUGxlYXNlIHN1YnNjcmliZSB0aGUgbWFpbGluZyBsaXN0OiBodHRwczovL2xp c3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndnQtZwo+Pgo+PiBNb3JlIGluZm9ybWF0aW9u IGFib3V0IGJhY2tncm91bmQsIGFyY2hpdGVjdHVyZSBhbmQgb3RoZXJzIGFib3V0IEludGVsIEdW VC1nLCBjYW4gYmUgZm91bmQgYXQ6Cj4+Cj4+IAlodHRwOi8vd3d3LmxpbnV4LWt2bS5vcmcvaW1h Z2VzL2YvZjMvMDF4MDhiLUtWTUdULWEucGRmCj4+IAlodHRwczovL3d3dy51c2VuaXgub3JnL2Nv bmZlcmVuY2UvYXRjMTQvdGVjaG5pY2FsLXNlc3Npb25zL3ByZXNlbnRhdGlvbi90aWFuCj4+Cj4+ Cj4+IE5vdGU6IFRoZSBLVk1HVCBwcm9qZWN0IHNob3VsZCBiZSBjb25zaWRlcmVkIGEgd29yayBp biBwcm9ncmVzcy4gQXMgc3VjaCBpdCBpcyBub3QgYSBjb21wbGV0ZSBwcm9kdWN0IG5vciBzaG91 bGQgaXQgYmUgY29uc2lkZXJlZCBvbmUuIEV4dHJhIGNhcmUgc2hvdWxkIGJlIHRha2VuIHdoZW4g dGVzdGluZyBhbmQgY29uZmlndXJpbmcgYSBzeXN0ZW0gdG8gdXNlIHRoZSBLVk1HVCBwcm9qZWN0 Lgo+Pgo+Pgo+PiAtLQo+PiBUaGFua3MsCj4+IEppa2UKPj4KPj4gT24gMTAvMjcvMjAxNSAwNToz NiBQTSwgSmlrZSBTb25nIHdyb3RlOgo+Pj4gSGkgYWxsLAo+Pj4KPj4+IFdlIGFyZSBwbGVhc2Vk IHRvIGFubm91bmNlIGFub3RoZXIgdXBkYXRlIG9mIEludGVsIEdWVC1nIGZvciBLVk0uCj4+Pgo+ Pj4gSW50ZWwgR1ZULWcgaXMgYSBmdWxsIEdQVSB2aXJ0dWFsaXphdGlvbiBzb2x1dGlvbiB3aXRo IG1lZGlhdGVkIHBhc3MtdGhyb3VnaCwgc3RhcnRpbmcgZnJvbSA0dGggZ2VuZXJhdGlvbiBJbnRl bCBDb3JlKFRNKSBwcm9jZXNzb3JzIHdpdGggSW50ZWwgR3JhcGhpY3MgcHJvY2Vzc29ycy4gQSB2 aXJ0dWFsIEdQVSBpbnN0YW5jZSBpcyBtYWludGFpbmVkIGZvciBlYWNoIFZNLCB3aXRoIHBhcnQg b2YgcGVyZm9ybWFuY2UgY3JpdGljYWwgcmVzb3VyY2VzIGRpcmVjdGx5IGFzc2lnbmVkLiBUaGUg Y2FwYWJpbGl0eSBvZiBydW5uaW5nIG5hdGl2ZSBncmFwaGljcyBkcml2ZXIgaW5zaWRlIGEgVk0s IHdpdGhvdXQgaHlwZXJ2aXNvciBpbnRlcnZlbnRpb24gaW4gcGVyZm9ybWFuY2UgY3JpdGljYWwg cGF0aHMsIGFjaGlldmVzIGEgZ29vZCBiYWxhbmNlIGFtb25nIHBlcmZvcm1hbmNlLCBmZWF0dXJl LCBhbmQgc2hhcmluZyBjYXBhYmlsaXR5LiBLVk0gaXMgc3VwcG9ydGVkIGJ5IEludGVsIEdWVC1n KGEuay5hLiBLVk1HVCkuCj4+Pgo+Pj4KPj4+IFJlcG9zaXRvcmllcwo+Pj4KPj4+ICAgICAgS2Vy bmVsOiBodHRwczovL2dpdGh1Yi5jb20vMDFvcmcvaWd2dGcta2VybmVsICgyMDE1cTMtMy4xOC4w IGJyYW5jaCkKPj4+ICAgICAgUWVtdTogaHR0cHM6Ly9naXRodWIuY29tLzAxb3JnL2lndnRnLXFl bXUgKGt2bWd0X3B1YmxpYzIwMTVxMyBicmFuY2gpCj4+Pgo+Pj4KPj4+IFRoaXMgdXBkYXRlIGNv bnNpc3RzIG9mOgo+Pj4KPj4+ICAgICAgLSBLVk1HVCBpcyBub3cgbWVyZ2VkIHdpdGggWGVuR1Qg aW4gdW5pZmllZCByZXBvc2l0b3JpZXMoa2VybmVsIGFuZCBxZW11KSwgYnV0IGN1cnJlbnRseQo+ Pj4gICAgICAgIGRpZmZlcmVudCBicmFuY2hlcyBmb3IgcWVtdS4gIEtWTUdUIGFuZCBYZW5HVCBz aGFyZSBzYW1lIGlHVlQtZyBjb3JlIGxvZ2ljLgo+Pj4gICAgICAtIFBQR1RUIHN1cHBvcnRlZCwg aGVuY2UgdGhlIFdpbmRvd3MgZ3Vlc3Qgc3VwcG9ydAo+Pj4gICAgICAtIEtWTUdUIG5vdyBzdXBw b3J0cyBib3RoIDR0aCBnZW5lcmF0aW9uIChIYXN3ZWxsKSBhbmQgNXRoIGdlbmVyYXRpb24gKEJy b2Fkd2VsbCkgSW50ZWwgQ29yZShUTSkgcHJvY2Vzc29ycwo+Pj4gICAgICAtIDJELzNEL01lZGlh IGRlY29kaW5nIGhhdmUgYmVlbiB2YWxpZGF0ZWQgb24gVWJ1bnR1IDE0LjA0IGFuZCBXaW5kb3dz Ny9XaW5kb3dzIDguMQo+Pj4KPj4+IE5leHQgdXBkYXRlIHdpbGwgYmUgYXJvdW5kIGVhcmx5IEph biwgMjAxNi4KPj4+Cj4+PiBLbm93biBpc3N1ZXM6Cj4+Pgo+Pj4gICAgICAtIEF0IGxlYXN0IDJH QiBtZW1vcnkgaXMgc3VnZ2VzdGVkIGZvciBWTSB0byBydW4gbW9zdCAzRCB3b3JrbG9hZHMuCj4+ PiAgICAgIC0gM0RtYXJrMDYgcnVubmluZyBpbiBXaW5kb3dzIFZNIG1heSBoYXZlIHNvbWUgc3Rh YmlsaXR5IGlzc3VlLgo+Pj4gICAgICAtIFVzaW5nIFZMQyB0byBwbGF5IC5vZ2cgZmlsZSBtYXkg Y2F1c2UgbW9zYWljIG9yIHNsb3cgcmVzcG9uc2UuCj4+Pgo+Pj4KPj4+IFBsZWFzZSBzdWJzY3Jp YmUgdGhlIG1haWxpbmcgbGlzdCB0byByZXBvcnQgQlVHcywgZGlzY3VzcywgYW5kL29yIGNvbnRy aWJ1dGU6Cj4+Pgo+Pj4gICAgICBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2lndnQtZwo+Pj4KPj4+IE1vcmUgaW5mb3JtYXRpb24gYWJvdXQgSW50ZWwgR1ZULWcgYmFja2dy b3VuZCwgYXJjaGl0ZWN0dXJlLCBldGMgY2FuIGJlIGZvdW5kIGF0KG1heSBub3QgYmUgdXAtdG8t ZGF0ZSk6Cj4+Pgo+Pj4gICAgICBodHRwczovLzAxLm9yZy9pZ3Z0LWcKPj4+ICAgICAgaHR0cDov L3d3dy5saW51eC1rdm0ub3JnL2ltYWdlcy9mL2YzLzAxeDA4Yi1LVk1HVC1hLnBkZgo+Pj4gICAg ICBodHRwczovL3d3dy51c2VuaXgub3JnL2NvbmZlcmVuY2UvYXRjMTQvdGVjaG5pY2FsLXNlc3Np b25zL3ByZXNlbnRhdGlvbi90aWFuCj4+Pgo+Pj4KPj4+IE5vdGU6Cj4+Pgo+Pj4gVGhlIEtWTUdU IHByb2plY3Qgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYSB3b3JrIGluIHByb2dyZXNzLiBBcyBzdWNo IGl0IGlzIG5vdCBhIGNvbXBsZXRlIHByb2R1Y3Qgbm9yIHNob3VsZCBpdCBiZSBjb25zaWRlcmVk IG9uZS4gRXh0cmEgY2FyZSBzaG91bGQgYmUgdGFrZW4gd2hlbiB0ZXN0aW5nIGFuZCBjb25maWd1 cmluZyBhIHN5c3RlbSB0byB1c2UgdGhlIEtWTUdUIHByb2plY3QuCj4+Pgo+Pj4KPj4+IC0tCj4+ PiBUaGFua3MsCj4+PiBKaWtlCj4+Pgo+Pj4gT24gMTIvMDQvMjAxNCAxMDoyNCBBTSwgSmlrZSBT b25nIHdyb3RlOgo+Pj4+IEhpIGFsbCwKPj4+Pgo+Pj4+ICAgIFdlIGFyZSBwbGVhc2VkIHRvIGFu bm91bmNlIHRoZSBmaXJzdCByZWxlYXNlIG9mIEtWTUdUIHByb2plY3QuIEtWTUdUIGlzIHRoZSBp bXBsZW1lbnRhdGlvbiBvZiBJbnRlbCBHVlQtZyB0ZWNobm9sb2d5LCBhIGZ1bGwgR1BVIHZpcnR1 YWxpemF0aW9uIHNvbHV0aW9uLiBVbmRlciBJbnRlbCBHVlQtZywgYSB2aXJ0dWFsIEdQVSBpbnN0 YW5jZSBpcyBtYWludGFpbmVkIGZvciBlYWNoIFZNLCB3aXRoIHBhcnQgb2YgcGVyZm9ybWFuY2Ug Y3JpdGljYWwgcmVzb3VyY2VzIGRpcmVjdGx5IGFzc2lnbmVkLiBUaGUgY2FwYWJpbGl0eSBvZiBy dW5uaW5nIG5hdGl2ZSBncmFwaGljcyBkcml2ZXIgaW5zaWRlIGEgVk0sIHdpdGhvdXQgaHlwZXJ2 aXNvciBpbnRlcnZlbnRpb24gaW4gcGVyZm9ybWFuY2UgY3JpdGljYWwgcGF0aHMsIGFjaGlldmVz IGEgZ29vZCBiYWxhbmNlIG9mIHBlcmZvcm1hbmNlLCBmZWF0dXJlLCBhbmQgc2hhcmluZyBjYXBh YmlsaXR5Lgo+Pj4+Cj4+Pj4KPj4+PiAgICBLVk1HVCBpcyBzdGlsbCBpbiB0aGUgZWFybHkgc3Rh Z2U6Cj4+Pj4KPj4+PiAgICAgLSBCYXNpYyBmdW5jdGlvbnMgb2YgZnVsbCBHUFUgdmlydHVhbGl6 YXRpb24gd29ya3MsIGd1ZXN0IGNhbiBzZWUgYSBmdWxsLWZlYXR1cmVkIHZHUFUuCj4+Pj4gICAg ICAgV2UgcmFuIHNldmVyYWwgM0Qgd29ya2xvYWRzIHN1Y2ggYXMgbGlnaHRzbWFyaywgbmV4dWl6 LCB1cmJhbnRlcnJvciBhbmQgd2Fyc293Lgo+Pj4+Cj4+Pj4gICAgIC0gT25seSBMaW51eCBndWVz dCBzdXBwb3J0ZWQgc28gZmFyLCBhbmQgUFBHVFQgbXVzdCBiZSBkaXNhYmxlZCBpbiBndWVzdCB0 aHJvdWdoIGEKPj4+PiAgICAgICBrZXJuZWwgcGFyYW1ldGVyKHNlZSBSRUFETUUua3ZtZ3QgaW4g UUVNVSkuCj4+Pj4KPj4+PiAgICAgLSBUaGlzIGRyb3AgYWxzbyBpbmNsdWRlcyBzb21lIFhlbiBz cGVjaWZpYyBjaGFuZ2VzLCB3aGljaCB3aWxsIGJlIGNsZWFuZWQgdXAgbGF0ZXIuCj4+Pj4KPj4+ PiAgICAgLSBPdXIgZW5kIGdvYWwgaXMgdG8gdXBzdHJlYW0gYm90aCBYZW5HVCBhbmQgS1ZNR1Qs IHdoaWNoIHNoYXJlcyB+OTAlIGxvZ2ljIGZvciB2R1BVCj4+Pj4gICAgICAgZGV2aWNlIG1vZGVs ICh3aWxsIGJlIHBhcnQgb2YgaTkxNSBkcml2ZXIpLCB3aXRoIG9ubHkgZGlmZmVyZW5jZSBpbiBo eXBlcnZpc29yCj4+Pj4gICAgICAgc3BlY2lmaWMgc2VydmljZXMKPj4+Pgo+Pj4+ICAgICAtIGlu c3VmZmljaWVudCB0ZXN0IGNvdmVyYWdlLCBzbyBwbGVhc2UgYmVhciB3aXRoIHN0YWJpbGl0eSBp c3N1ZXMgOikKPj4+Pgo+Pj4+Cj4+Pj4KPj4+PiAgICBUaGVyZSBhcmUgdGhpbmdzIG5lZWQgdG8g YmUgaW1wcm92ZWQsIGVzcC4gdGhlIEtWTSBpbnRlcmZhY2luZyBwYXJ0Ogo+Pj4+Cj4+Pj4gCTEJ YSBkb21pZCB3YXMgYWRkZWQgdG8gZWFjaCBLVk1HVCBndWVzdAo+Pj4+Cj4+Pj4gCQlBbiBJRCBp cyBuZWVkZWQgZm9yIGZvcmVncm91bmQgT1Mgc3dpdGNoaW5nLCBlLmcuCj4+Pj4KPj4+PiAJCQkj IGVjaG8gPGRvbWlkPgk+CS9zeXMva2VybmVsL3ZndC9jb250cm9sL2ZvcmVncm91bmRfdm0KPj4+ Pgo+Pj4+IAkJZG9taWQgMCBpcyByZXNlcnZlZCBmb3IgaG9zdCBPUy4KPj4+Pgo+Pj4+Cj4+Pj4g ICAgCTIJU1JDVSB3b3JrYXJvdW5kcy4KPj4+Pgo+Pj4+IAkJU29tZSBLVk0gZnVuY3Rpb25zLCBz dWNoIGFzOgo+Pj4+Cj4+Pj4gCQkJCWt2bV9pb19idXNfcmVnaXN0ZXJfZGV2Cj4+Pj4gCQkJCWlu c3RhbGxfbmV3X21lbXNsb3RzCj4+Pj4KPj4+PiAJCW11c3QgYmUgY2FsbGVkICp3aXRob3V0KiAm a3ZtLT5zcmN1IHJlYWQtbG9ja2VkLiBPdGhlcndpc2UgaXQgaGFuZ3MuCj4+Pj4KPj4+PiAJCUlu IEtWTUdULCB3ZSBuZWVkIHRvIHJlZ2lzdGVyIGFuIGlvZGV2IG9ubHkgKmFmdGVyKiBCQVIgcmVn aXN0ZXJzIGFyZQo+Pj4+IAkJd3JpdHRlbiBieSBndWVzdC4gVGhhdCBtZWFucywgd2UgYWxyZWFk eSBoYXZlICZrdm0tPnNyY3UgaG9sZCAtCj4+Pj4gCQl0cmFwcGluZy9lbXVsYXRpbmcgUElPKEJB UiByZWdpc3RlcnMpIG1ha2VzIHVzIGluIHN1Y2ggYSBjb25kaXRpb24uCj4+Pj4gCQlUaGF0IHdp bGwgbWFrZSBrdm1faW9fYnVzX3JlZ2lzdGVyX2RldiBoYW5ncy4KPj4+Pgo+Pj4+IAkJQ3VycmVu dGx5IHdlIGhhdmUgdG8gZGlzYWJsZSByY3VfYXNzaWduX3BvaW50ZXIoKSBpbiBzdWNoIGZ1bmN0 aW9ucy4KPj4+Pgo+Pj4+IAkJVGhlc2Ugd2VyZSBkaXJ0eSB3b3JrYXJvdW5kcywgeW91ciBzdWdn ZXN0aW9ucyBhcmUgaGlnaCB3ZWxjb21lIQo+Pj4+Cj4+Pj4KPj4+PiAJMwlzeXNjYWxscyB3ZXJl IGNhbGxlZCB0byBhY2Nlc3MgIi9kZXYvbWVtIiBmcm9tIGtlcm5lbAo+Pj4+Cj4+Pj4gCQlBbiBp bi1rZXJuZWwgbWVtc2xvdCB3YXMgYWRkZWQgZm9yIGFwZXJ0dXJlLCBidXQgdXNpbmcgc3lzY2Fs bHMgbGlrZQo+Pj4+IAkJb3BlbiBhbmQgbW1hcCB0byBvcGVuIGFuZCBhY2Nlc3MgdGhlIGNoYXJh Y3RlciBkZXZpY2UgIi9kZXYvbWVtIiwKPj4+PiAJCWZvciBwYXNzLXRocm91Z2guCj4+Pj4KPj4+ Pgo+Pj4+Cj4+Pj4KPj4+PiBUaGUgc291cmNlIGNvZGVzKGtlcm5lbCwgcWVtdSBhcyB3ZWxsIGFz IHNlYWJpb3MpIGFyZSBhdmFpbGFibGUgYXQgZ2l0aHViOgo+Pj4+Cj4+Pj4gCWdpdDovL2dpdGh1 Yi5jb20vMDFvcmcvS1ZNR1Qta2VybmVsCj4+Pj4gCWdpdDovL2dpdGh1Yi5jb20vMDFvcmcvS1ZN R1QtcWVtdQo+Pj4+IAlnaXQ6Ly9naXRodWIuY29tLzAxb3JnL0tWTUdULXNlYWJpb3MKPj4+Pgo+ Pj4+IEluIHRoZSBLVk1HVC1xZW11IHJlcG9zaXRvcnksIHRoZXJlIGlzIGEgIlJFQURNRS5rdm1n dCIgdG8gYmUgcmVmZXJyZWQuCj4+Pj4KPj4+Pgo+Pj4+Cj4+Pj4gTW9yZSBpbmZvcm1hdGlvbiBh Ym91dCBJbnRlbCBHVlQtZyBhbmQgS1ZNR1QgY2FuIGJlIGZvdW5kIGF0Ogo+Pj4+Cj4+Pj4gCWh0 dHBzOi8vd3d3LnVzZW5peC5vcmcvY29uZmVyZW5jZS9hdGMxNC90ZWNobmljYWwtc2Vzc2lvbnMv cHJlc2VudGF0aW9uL3RpYW4KPj4+PiAJaHR0cDovL2V2ZW50cy5saW51eGZvdW5kYXRpb24ub3Jn L3NpdGVzL2V2ZW50cy9maWxlcy9zbGlkZXMvS1ZNR1QtYSUyMEZ1bGwlMjBHUFUlMjBWaXJ0dWFs aXphdGlvbiUyMFNvbHV0aW9uXzEucGRmCj4+Pj4KPj4+Pgo+Pj4+IEFwcHJlY2lhdGUgeW91ciBj b21tZW50cywgQlVHIHJlcG9ydHMsIGFuZCBjb250cmlidXRpb25zIQo+Pj4+Cj4+Pj4KPj4+Pgo+ Pj4+Cj4+Pj4gLS0KPj4+PiBUaGFua3MsCj4+Pj4gSmlrZQo+Pj4+Cl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=