From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Subject: Re: [Qemu-ppc] [PATCH] qemu: include generated files with <> and not "" Date: Wed, 21 Mar 2018 13:29:53 +0000 Message-ID: <20180321132953.GK8551@redhat.com> References: <1521510562-529051-1-git-send-email-mst@redhat.com> <8f06e1e3-4823-d8e8-43bd-c092c523849e@vivier.eu> <20180320135548-mutt-send-email-mst@kernel.org> <459fa95d-8f0a-22fa-80fb-4af22ccf49b3@redhat.com> <20180321150543-mutt-send-email-mst@kernel.org> Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Peter Maydell , Dmitry Fleytman , sheepdog@lists.wpkg.org, Pavel Dovgalyuk , Li Zhijian , David Hildenbrand , Jeff Cody , Stefan Hajnoczi , qemu-devel@nongnu.org, BALATON Zoltan , Keith Busch , Max Filippov , Hannes Reinecke , Gerd Hoffmann , Fam Zheng , Max Reitz , Eric Blake , Josh Durgin , Stefano Stabellini , Alberto Garcia , zhanghailiang , Ben Warren , Stefan Berger , Yongbok Kim , Michael R To: "Michael S. Tsirkin" Return-path: Content-Disposition: inline In-Reply-To: <20180321150543-mutt-send-email-mst@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" List-Id: kvm.vger.kernel.org T24gV2VkLCBNYXIgMjEsIDIwMTggYXQgMDM6MDg6MzZQTSArMDIwMCwgTWljaGFlbCBTLiBUc2ly a2luIHdyb3RlOgo+IE9uIFdlZCwgTWFyIDIxLCAyMDE4IGF0IDA4OjE2OjAwQU0gKzAxMDAsIFRo b21hcyBIdXRoIHdyb3RlOgo+ID4gT24gMjAuMDMuMjAxOCAxMzowNSwgTWljaGFlbCBTLiBUc2ly a2luIHdyb3RlOgo+ID4gPiBPbiBUdWUsIE1hciAyMCwgMjAxOCBhdCAwOTo1ODoyM0FNICswMTAw LCBMYXVyZW50IFZpdmllciB3cm90ZToKPiA+ID4+IExlIDIwLzAzLzIwMTggw6AgMDI6NTQsIE1p Y2hhZWwgUy4gVHNpcmtpbiBhIMOpY3JpdMKgOgo+ID4gPj4+IFFFTVUgY29kaW5nIHN0eWxlIGF0 IHRoZSBtb21lbnQgYXNrcyBmb3IgYWxsIG5vbi1zeXN0ZW0KPiA+ID4+PiBpbmNsdWRlIGZpbGVz IHRvIGJlIHVzZWQgd2l0aCAjaW5jbHVkZSAiZm9vLmgiLgo+ID4gPj4+IEhvd2V2ZXIgdGhpcyBy dWxlIGFjdHVhbGx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UgYW5kCj4gPiA+Pj4gY3JlYXRlcyBpc3N1 ZXMgZm9yIHdoZW4gdGhlIGluY2x1ZGVkIGZpbGUgaXMgZ2VuZXJhdGVkLgo+ID4gPj4KPiA+ID4+ IElmIHlvdSBjaGFuZ2UgdGhhdCwgd2UgY2FuIGhhdmUgaXNzdWUgd2hlbiBhIHN5c3RlbSBpbmNs dWRlIGhhcyB0aGUgc2FtZQo+ID4gPj4gbmFtZSBhcyBvdXIgbG9jYWwgaW5jbHVkZS4gV2l0aCAi PEZJTEU+Iiwgc3lzdGVtIGhlYWRlciBhcmUgdGFrZW4gZmlyc3QuCj4gPiA+IAo+ID4gPiBBcmUg eW91IHN1cmU/IEkganVzdCB0ZXN0ZWQgYW5kIHRoYXQgaXMgbm90IHRoZSBjYXNlIHdpdGgKPiA+ ID4gZWl0aGVyIGdjYyBvciBjbGFuZy4KPiA+ID4gCj4gPiA+Pj4gSW4gQywgaW5jbHVkZSAiZmls ZSIgbWVhbnMgbG9vayBpbiBjdXJyZW50IGRpcmVjdG9yeSwKPiA+ID4+PiB0aGVuIG9uIGluY2x1 ZGUgc2VhcmNoIHBhdGguIEN1cnJlbnQgZGlyZWN0b3J5IGhlcmUKPiA+ID4+PiBtZWFucyB0aGUg c291cmNlIGZpbGUgZGlyZWN0b3J5Lgo+ID4gPj4+IEJ5IGNvbXBhcmlzb24gaW5jbHVkZSA8Zmls ZT4gbWVhbnMgbG9vayBvbiBpbmNsdWRlIHNlYXJjaCBwYXRoLgo+ID4gPj4KPiA+ID4+IE5vdCBl eGFjdGx5LCB0aGVyZSBpcyB0aGUgbm90aW9uIG9mICJzeXN0ZW0gaGVhZGVyIiB0b28uCj4gPiA+ Pgo+ID4gPj4gaHR0cHM6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2NwcC9JbmNsdWRlLVN5bnRh eC5odG1sCj4gPiA+Pgo+ID4gPj4gI2luY2x1ZGUgPGZpbGU+Cj4gPiA+PiBUaGlzIHZhcmlhbnQg aXMgdXNlZCBmb3Igc3lzdGVtIGhlYWRlciBmaWxlcy4gSXQgc2VhcmNoZXMgZm9yIGEgZmlsZQo+ ID4gPj4gbmFtZWQgZmlsZSBpbiBhIHN0YW5kYXJkIGxpc3Qgb2Ygc3lzdGVtIGRpcmVjdG9yaWVz LiBZb3UgY2FuIHByZXBlbmQKPiA+ID4+IGRpcmVjdG9yaWVzIHRvIHRoaXMgbGlzdCB3aXRoIHRo ZSAtSSBvcHRpb24gKHNlZSBJbnZvY2F0aW9uKS4KPiA+ID4gCj4gPiA+IFRoaXMgaXMgZXhhY3Rs eSB3aGF0IHdlIGRvLgo+ID4gPiAKPiA+ID4+ICNpbmNsdWRlICJmaWxlIgo+ID4gPj4gVGhpcyB2 YXJpYW50IGlzIHVzZWQgZm9yIGhlYWRlciBmaWxlcyBvZiB5b3VyIG93biBwcm9ncmFtLiBJdCBz ZWFyY2hlcwo+ID4gPj4gZm9yIGEgZmlsZSBuYW1lZCBmaWxlIGZpcnN0IGluIHRoZSBkaXJlY3Rv cnkgY29udGFpbmluZyB0aGUgY3VycmVudAo+ID4gPj4gZmlsZSwgdGhlbiBpbiB0aGUgcXVvdGUg ZGlyZWN0b3JpZXMgYW5kIHRoZW4gdGhlIHNhbWUgZGlyZWN0b3JpZXMgdXNlZAo+ID4gPj4gZm9y IDxmaWxlPi4gWW91IGNhbiBwcmVwZW5kIGRpcmVjdG9yaWVzIHRvIHRoZSBsaXN0IG9mIHF1b3Rl IGRpcmVjdG9yaWVzCj4gPiA+PiB3aXRoIHRoZSAtaXF1b3RlIG9wdGlvbi4KPiA+ID4gCj4gPiA+ IFNpbmNlIHdlIGRvIG5vdCB1c2UgLWlxdW90ZSwgIiIganVzdCBhZGRzIHRoZSBjdXJyZW50IGRp cmVjdG9yeS4KPiA+IAo+ID4gU28gd2h5IGRvbid0IHdlIHNpbXBseSBzd2l0Y2ggdG8gdXNlIC1p cXVvdGUgaW5zdGVhZCBvZiAtSSBmb3IgYWRkaW5nCj4gPiBzZWFyY2ggcGF0aHMgZm9yIG91ciBv d24gaGVhZGVycz8gV2UgdGhlbiB3b3VsZCBnZXQgYSBjbGVhbiBzZXBhcmF0aW9uCj4gPiBvZiBR RU1VIGhlYWRlcnMgZnJvbSBzeXN0ZW0gaGVhZGVycy4KPiA+IAo+ID4gIFRob21hcwo+IAo+IEl0 IHN0aWxsIGxlYXZlcyB1cyB3aXRoIGEgaG9zdCBvZiBwcm9ibGVtcyBlLmcuIHRoZSBwcm9ibGVt IG9mIHN0YWxlCj4gaGVhZGVycyBpbiB0aGUgc291cmNlIGRpcmVjdG9yeS4KCldlIGhhdmUgYSBw YXRjaCBvbiBsaXN0IHdoaWNoIGVmZmVjdGl2ZWx5IHNvbHZlcyB0aGUgcHJvYmxlbSBvZiBzdGFs ZQpnZW5lcmF0ZWQgZmlsZXMgaW4gc291cmNlIGRpcmVjdG9yeSwgc28gdGhhdCdzIGxhcmdlbHkg YSBub24taXNzdWUgYXQKdGhpcyBwb2ludCBJTUhPLgoKUmVnYXJkcywKRGFuaWVsCi0tIAp8OiBo dHRwczovL2JlcnJhbmdlLmNvbSAgICAgIC1vLSAgICBodHRwczovL3d3dy5mbGlja3IuY29tL3Bo b3Rvcy9kYmVycmFuZ2UgOnwKfDogaHR0cHM6Ly9saWJ2aXJ0Lm9yZyAgICAgICAgIC1vLSAgICAg ICAgICAgIGh0dHBzOi8vZnN0b3AxMzguYmVycmFuZ2UuY29tIDp8Cnw6IGh0dHBzOi8vZW50YW5n bGUtcGhvdG8ub3JnICAgIC1vLSAgICBodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2RiZXJyYW5n ZSA6fAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6 Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47458) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eydpJ-0000p3-Mg for qemu-devel@nongnu.org; Wed, 21 Mar 2018 09:30:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eydpI-0001Xt-GR for qemu-devel@nongnu.org; Wed, 21 Mar 2018 09:30:49 -0400 Date: Wed, 21 Mar 2018 13:29:53 +0000 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Message-ID: <20180321132953.GK8551@redhat.com> Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= References: <1521510562-529051-1-git-send-email-mst@redhat.com> <8f06e1e3-4823-d8e8-43bd-c092c523849e@vivier.eu> <20180320135548-mutt-send-email-mst@kernel.org> <459fa95d-8f0a-22fa-80fb-4af22ccf49b3@redhat.com> <20180321150543-mutt-send-email-mst@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20180321150543-mutt-send-email-mst@kernel.org> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [Qemu-ppc] [PATCH] qemu: include generated files with <> and not "" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: Thomas Huth , Laurent Vivier , Peter Maydell , Dmitry Fleytman , sheepdog@lists.wpkg.org, Ronnie Sahlberg , Li Zhijian , David Hildenbrand , Jeff Cody , Zhang Chen , qemu-devel@nongnu.org, BALATON Zoltan , Keith Busch , Max Filippov , Gerd Hoffmann , Jiri Pirko , Subbaraya Sundeep , Eric Blake , Michael Roth , Marcelo Tosatti , Josh Durgin , Stefano Stabellini , Alberto Garcia , zhanghailiang , Ben Warren , Marcel Apfelbaum , Yongbok Kim , Markus Armbruster , Stefan Berger , Christian Borntraeger , kvm@vger.kernel.org, =?utf-8?B?SGVydsOp?= Poussineau , Shannon Zhao , Anthony Perard , Liu Yuan , David Gibson , Andrzej Zaborowski , Jason Wang , Artyom Tarasenko , Riku Voipio , Fam Zheng , Eduardo Habkost , Corey Minyard , Amit Shah , Pavel Dovgalyuk , Stefan Weil , Xie Changlong , Alistair Francis , Peter Lieven , "Dr. David Alan Gilbert" , Greg Kurz , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau , Alex Williamson , qemu-arm@nongnu.org, Peter Chubb , Yuval Shaia , Stefan Hajnoczi , Paolo Bonzini , xen-devel@lists.xenproject.org, John Snow , Richard Henderson , Kevin Wolf , qemu-block@nongnu.org, Peter Crosthwaite , Hitoshi Mitake , Wen Congyang , qemu-s390x@nongnu.org, Cornelia Huck , "Richard W.M. Jones" , Juan Quintela , Max Reitz , Michael Walle , qemu-ppc@nongnu.org, Andreas =?utf-8?Q?F=C3=A4rber?= , Igor Mammedov , Hannes Reinecke , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= On Wed, Mar 21, 2018 at 03:08:36PM +0200, Michael S. Tsirkin wrote: > On Wed, Mar 21, 2018 at 08:16:00AM +0100, Thomas Huth wrote: > > On 20.03.2018 13:05, Michael S. Tsirkin wrote: > > > On Tue, Mar 20, 2018 at 09:58:23AM +0100, Laurent Vivier wrote: > > >> Le 20/03/2018 =C3=A0 02:54, Michael S. Tsirkin a =C3=A9crit=C2=A0: > > >>> QEMU coding style at the moment asks for all non-system > > >>> include files to be used with #include "foo.h". > > >>> However this rule actually does not make sense and > > >>> creates issues for when the included file is generated. > > >> > > >> If you change that, we can have issue when a system include has th= e same > > >> name as our local include. With "", system header are taken = first. > > >=20 > > > Are you sure? I just tested and that is not the case with > > > either gcc or clang. > > >=20 > > >>> In C, include "file" means look in current directory, > > >>> then on include search path. Current directory here > > >>> means the source file directory. > > >>> By comparison include means look on include search path. > > >> > > >> Not exactly, there is the notion of "system header" too. > > >> > > >> https://gcc.gnu.org/onlinedocs/cpp/Include-Syntax.html > > >> > > >> #include > > >> This variant is used for system header files. It searches for a fi= le > > >> named file in a standard list of system directories. You can prepe= nd > > >> directories to this list with the -I option (see Invocation). > > >=20 > > > This is exactly what we do. > > >=20 > > >> #include "file" > > >> This variant is used for header files of your own program. It sear= ches > > >> for a file named file first in the directory containing the curren= t > > >> file, then in the quote directories and then the same directories = used > > >> for . You can prepend directories to the list of quote direc= tories > > >> with the -iquote option. > > >=20 > > > Since we do not use -iquote, "" just adds the current directory. > >=20 > > So why don't we simply switch to use -iquote instead of -I for adding > > search paths for our own headers? We then would get a clean separatio= n > > of QEMU headers from system headers. > >=20 > > Thomas >=20 > It still leaves us with a host of problems e.g. the problem of stale > headers in the source directory. We have a patch on list which effectively solves the problem of stale generated files in source directory, so that's largely a non-issue at this point IMHO. Regards, Daniel --=20 |: https://berrange.com -o- https://www.flickr.com/photos/dberran= ge :| |: https://libvirt.org -o- https://fstop138.berrange.c= om :| |: https://entangle-photo.org -o- https://www.instagram.com/dberran= ge :| From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Subject: Re: [Qemu-ppc] [PATCH] qemu: include generated files with <> and not "" Date: Wed, 21 Mar 2018 13:29:53 +0000 Message-ID: <20180321132953.GK8551@redhat.com> References: <1521510562-529051-1-git-send-email-mst@redhat.com> <8f06e1e3-4823-d8e8-43bd-c092c523849e@vivier.eu> <20180320135548-mutt-send-email-mst@kernel.org> <459fa95d-8f0a-22fa-80fb-4af22ccf49b3@redhat.com> <20180321150543-mutt-send-email-mst@kernel.org> Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1eydp5-00010z-KZ for xen-devel@lists.xenproject.org; Wed, 21 Mar 2018 13:30:35 +0000 Content-Disposition: inline In-Reply-To: <20180321150543-mutt-send-email-mst@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: "Michael S. Tsirkin" Cc: Peter Maydell , Dmitry Fleytman , sheepdog@lists.wpkg.org, Pavel Dovgalyuk , Li Zhijian , David Hildenbrand , Jeff Cody , Stefan Hajnoczi , qemu-devel@nongnu.org, BALATON Zoltan , Keith Busch , Max Filippov , Hannes Reinecke , Gerd Hoffmann , Fam Zheng , Max Reitz , Eric Blake , Josh Durgin , Stefano Stabellini , Alberto Garcia , zhanghailiang , Ben Warren , Stefan Berger , Yongbok Kim , Michael List-Id: xen-devel@lists.xenproject.org T24gV2VkLCBNYXIgMjEsIDIwMTggYXQgMDM6MDg6MzZQTSArMDIwMCwgTWljaGFlbCBTLiBUc2ly a2luIHdyb3RlOgo+IE9uIFdlZCwgTWFyIDIxLCAyMDE4IGF0IDA4OjE2OjAwQU0gKzAxMDAsIFRo b21hcyBIdXRoIHdyb3RlOgo+ID4gT24gMjAuMDMuMjAxOCAxMzowNSwgTWljaGFlbCBTLiBUc2ly a2luIHdyb3RlOgo+ID4gPiBPbiBUdWUsIE1hciAyMCwgMjAxOCBhdCAwOTo1ODoyM0FNICswMTAw LCBMYXVyZW50IFZpdmllciB3cm90ZToKPiA+ID4+IExlIDIwLzAzLzIwMTggw6AgMDI6NTQsIE1p Y2hhZWwgUy4gVHNpcmtpbiBhIMOpY3JpdMKgOgo+ID4gPj4+IFFFTVUgY29kaW5nIHN0eWxlIGF0 IHRoZSBtb21lbnQgYXNrcyBmb3IgYWxsIG5vbi1zeXN0ZW0KPiA+ID4+PiBpbmNsdWRlIGZpbGVz IHRvIGJlIHVzZWQgd2l0aCAjaW5jbHVkZSAiZm9vLmgiLgo+ID4gPj4+IEhvd2V2ZXIgdGhpcyBy dWxlIGFjdHVhbGx5IGRvZXMgbm90IG1ha2Ugc2Vuc2UgYW5kCj4gPiA+Pj4gY3JlYXRlcyBpc3N1 ZXMgZm9yIHdoZW4gdGhlIGluY2x1ZGVkIGZpbGUgaXMgZ2VuZXJhdGVkLgo+ID4gPj4KPiA+ID4+ IElmIHlvdSBjaGFuZ2UgdGhhdCwgd2UgY2FuIGhhdmUgaXNzdWUgd2hlbiBhIHN5c3RlbSBpbmNs dWRlIGhhcyB0aGUgc2FtZQo+ID4gPj4gbmFtZSBhcyBvdXIgbG9jYWwgaW5jbHVkZS4gV2l0aCAi PEZJTEU+Iiwgc3lzdGVtIGhlYWRlciBhcmUgdGFrZW4gZmlyc3QuCj4gPiA+IAo+ID4gPiBBcmUg eW91IHN1cmU/IEkganVzdCB0ZXN0ZWQgYW5kIHRoYXQgaXMgbm90IHRoZSBjYXNlIHdpdGgKPiA+ ID4gZWl0aGVyIGdjYyBvciBjbGFuZy4KPiA+ID4gCj4gPiA+Pj4gSW4gQywgaW5jbHVkZSAiZmls ZSIgbWVhbnMgbG9vayBpbiBjdXJyZW50IGRpcmVjdG9yeSwKPiA+ID4+PiB0aGVuIG9uIGluY2x1 ZGUgc2VhcmNoIHBhdGguIEN1cnJlbnQgZGlyZWN0b3J5IGhlcmUKPiA+ID4+PiBtZWFucyB0aGUg c291cmNlIGZpbGUgZGlyZWN0b3J5Lgo+ID4gPj4+IEJ5IGNvbXBhcmlzb24gaW5jbHVkZSA8Zmls ZT4gbWVhbnMgbG9vayBvbiBpbmNsdWRlIHNlYXJjaCBwYXRoLgo+ID4gPj4KPiA+ID4+IE5vdCBl eGFjdGx5LCB0aGVyZSBpcyB0aGUgbm90aW9uIG9mICJzeXN0ZW0gaGVhZGVyIiB0b28uCj4gPiA+ Pgo+ID4gPj4gaHR0cHM6Ly9nY2MuZ251Lm9yZy9vbmxpbmVkb2NzL2NwcC9JbmNsdWRlLVN5bnRh eC5odG1sCj4gPiA+Pgo+ID4gPj4gI2luY2x1ZGUgPGZpbGU+Cj4gPiA+PiBUaGlzIHZhcmlhbnQg aXMgdXNlZCBmb3Igc3lzdGVtIGhlYWRlciBmaWxlcy4gSXQgc2VhcmNoZXMgZm9yIGEgZmlsZQo+ ID4gPj4gbmFtZWQgZmlsZSBpbiBhIHN0YW5kYXJkIGxpc3Qgb2Ygc3lzdGVtIGRpcmVjdG9yaWVz LiBZb3UgY2FuIHByZXBlbmQKPiA+ID4+IGRpcmVjdG9yaWVzIHRvIHRoaXMgbGlzdCB3aXRoIHRo ZSAtSSBvcHRpb24gKHNlZSBJbnZvY2F0aW9uKS4KPiA+ID4gCj4gPiA+IFRoaXMgaXMgZXhhY3Rs eSB3aGF0IHdlIGRvLgo+ID4gPiAKPiA+ID4+ICNpbmNsdWRlICJmaWxlIgo+ID4gPj4gVGhpcyB2 YXJpYW50IGlzIHVzZWQgZm9yIGhlYWRlciBmaWxlcyBvZiB5b3VyIG93biBwcm9ncmFtLiBJdCBz ZWFyY2hlcwo+ID4gPj4gZm9yIGEgZmlsZSBuYW1lZCBmaWxlIGZpcnN0IGluIHRoZSBkaXJlY3Rv cnkgY29udGFpbmluZyB0aGUgY3VycmVudAo+ID4gPj4gZmlsZSwgdGhlbiBpbiB0aGUgcXVvdGUg ZGlyZWN0b3JpZXMgYW5kIHRoZW4gdGhlIHNhbWUgZGlyZWN0b3JpZXMgdXNlZAo+ID4gPj4gZm9y IDxmaWxlPi4gWW91IGNhbiBwcmVwZW5kIGRpcmVjdG9yaWVzIHRvIHRoZSBsaXN0IG9mIHF1b3Rl IGRpcmVjdG9yaWVzCj4gPiA+PiB3aXRoIHRoZSAtaXF1b3RlIG9wdGlvbi4KPiA+ID4gCj4gPiA+ IFNpbmNlIHdlIGRvIG5vdCB1c2UgLWlxdW90ZSwgIiIganVzdCBhZGRzIHRoZSBjdXJyZW50IGRp cmVjdG9yeS4KPiA+IAo+ID4gU28gd2h5IGRvbid0IHdlIHNpbXBseSBzd2l0Y2ggdG8gdXNlIC1p cXVvdGUgaW5zdGVhZCBvZiAtSSBmb3IgYWRkaW5nCj4gPiBzZWFyY2ggcGF0aHMgZm9yIG91ciBv d24gaGVhZGVycz8gV2UgdGhlbiB3b3VsZCBnZXQgYSBjbGVhbiBzZXBhcmF0aW9uCj4gPiBvZiBR RU1VIGhlYWRlcnMgZnJvbSBzeXN0ZW0gaGVhZGVycy4KPiA+IAo+ID4gIFRob21hcwo+IAo+IEl0 IHN0aWxsIGxlYXZlcyB1cyB3aXRoIGEgaG9zdCBvZiBwcm9ibGVtcyBlLmcuIHRoZSBwcm9ibGVt IG9mIHN0YWxlCj4gaGVhZGVycyBpbiB0aGUgc291cmNlIGRpcmVjdG9yeS4KCldlIGhhdmUgYSBw YXRjaCBvbiBsaXN0IHdoaWNoIGVmZmVjdGl2ZWx5IHNvbHZlcyB0aGUgcHJvYmxlbSBvZiBzdGFs ZQpnZW5lcmF0ZWQgZmlsZXMgaW4gc291cmNlIGRpcmVjdG9yeSwgc28gdGhhdCdzIGxhcmdlbHkg YSBub24taXNzdWUgYXQKdGhpcyBwb2ludCBJTUhPLgoKUmVnYXJkcywKRGFuaWVsCi0tIAp8OiBo dHRwczovL2JlcnJhbmdlLmNvbSAgICAgIC1vLSAgICBodHRwczovL3d3dy5mbGlja3IuY29tL3Bo b3Rvcy9kYmVycmFuZ2UgOnwKfDogaHR0cHM6Ly9saWJ2aXJ0Lm9yZyAgICAgICAgIC1vLSAgICAg ICAgICAgIGh0dHBzOi8vZnN0b3AxMzguYmVycmFuZ2UuY29tIDp8Cnw6IGh0dHBzOi8vZW50YW5n bGUtcGhvdG8ub3JnICAgIC1vLSAgICBodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2RiZXJyYW5n ZSA6fAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6 Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==