V2h5IG5vdCB1c2UgYSBtYWlucyBwb3dlcmVkIHRoZXJtb3N0YXQgLSBhZnRlciBhbGwgaWYgeW91 IGhhdmUgbm8gbWFpbnMgdGhlIGZ1cm5hY2UgaXNuJ3QgZ29pbmcgdG8gcnVuIGFueXdheSBiZWNh dXNlIHRoZSAyNHYgd29uJ3QgYmUgdGhlcmUgdG8gdHVybiBpdCBvbi4KCklzIGl0IHJlYWxseSB0 aGF0IG11Y2ggaGFzc2xlIHRvIHJ1biBhIG1haW5zIHN1cHBseSBpbnRvIHRoZSBhZmZlY3RlZCBh cmVhIGlmIHlvdSBkb24ndCBhbHJlYWR5IGhhdmUgb25lIHRoZXJlICh3YW5nbGUgYSBzdXBwbHkg ZnJvbSB0aGUgbGlnaHQgZml0dGluZz8pLgoKCgo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t Cj4gRnJvbTogcGljbGlzdC1ib3VuY2VzQG1pdC5lZHUgW21haWx0bzpwaWNsaXN0LWJvdW5jZXNA bWl0LmVkdV0gT24gQmVoYWxmCj4gT2YgQXJ0Cj4gU2VudDogMjEgRGVjZW1iZXIgMjAxNyAwNTow OAo+IFRvOiBwaWNsaXN0QG1pdC5lZHUKPiBTdWJqZWN0OiBSZTogW0VFXSBzaW1wbGUgbG93IHZv bHRhZ2Ugc3dpdGNoIGZvciBhYwo+IAo+IEhpIFJ1c3NlbGwgYW5kIHRoYW5rcy4KPiAKPiBJIGhh dmVuJ3QgbWVhc3VyZWQgdGhlIGN1cnJlbnQgdGhhdCBpcyByZXF1aXJlZCBiZWZvcmUgdGhlIGZ1 cm5hY2Ugc3RhcnRzCj4gcHV0dGluZyBvdXQgaGVhdC4gQnV0LCBpdCdzIHByb2JhYmx5IGluIHRo ZSBsb3cgbWlsbGlhbXAgcmFuZ2UtYSBndWVzcy4KPiAKPiBXaGVuIEkgc3RhcnRlZCB0aGlzIHBy b2plY3QsIEkgd2FzIGxvb2tpbmcgYXQgZWxpbWluYXRpbmcgdGhlIGJhdHRlcmllcwo+IGNvbXBs ZXRlbHkgZnJvbSB0aGUgdHN0YXQsIHRoaW5raW5nIHRoYXQgYSBsb3cgcG93ZXIgc3dpdGNoaW5n IHN1cHBseSBjb3VsZAo+IGNoYXJnZSBhIHN1cGVyIGNhcCB3aGVuIHRoZSByZWxheSBpbiB0aGUg dHN0YXQgd2FzIG9wZW4gY2lyY3VpdGVkLgo+IFNvIGxvbmcgYXMgdGhlIGN1cnJlbnQgZHJhd24g YnkgdGhlIHN1cGVyIGNhcCB3YXMgbG93IGVub3VnaCB0byBhdm9pZAo+IGRyYXdpbmcgdGhlIHRo cmVzaG9sZCBjdXJyZW50IHRvIHN0YXJ0IHRoZSBidXJuZXIsIHRoZSB0c3RhdCB3b3VsZG4ndCBu ZWVkCj4gYW55IGJhdHRlcmllcyBhdCBhbGwuCj4gCj4gQW5kLCBJIGhhZCBob3BlZCB0byB1c2Ug dGhlIHN1cGVyIGNhcCB0byBydW4gbXkgZmxlYSBwb3dlciB0aW1lciBhbmQgaXRzCj4gc3dpdGNo aW5nIGNvbXBvbmVudChzKS4KPiAKPiBJJ3ZlIG5ldmVyIGhlYXJkIG9mIGEgc2VsZiBwb3dlcmVk IHRzdGF0IGZvciBhIDIgd2lyZSBib2lsZXIsIGFsdGhvdWdoIHRoZQo+IGxhdGVzdCB3aS1maSBl bmFibGVkIHNtYXJ0IHRzdGF0cyBhY3R1YWxseSBoYXZlIGFuIGFkZGl0aW9uYWwgd2lyZSB0byBw b3dlciB0aGUKPiB0aGVybW9zdGF0IGFuZCByYWRpbyB0cmFuc2NlaXZlci4KPiAKPiBJIGhhZCBz ZWVuIHRoZSAxMCBtYSBpbnB1dCBjdXJyZW50IG9uIFNTUidzIGFuZCBvcHRvJ3MgYmVmb3JlLCBi dXQgSSB3YXMKPiBob3BpbmcgZm9yIGEgbG90IGxlc3MgcG93ZXIgbmVlZGVkIHRvIHR1cm4gb24g dGhlIGVsZWN0cm9uaWMgc3dpdGNoLgo+IFNvbWUgb3B0bydzIGFuZCBTU1IncyBuZWVkIDE1IHRv IDQwIG1hIHRvIGVuYWJsZSB0aGUgb3V0cHV0IHN3aXRjaGVzLXdoaWNoCj4gaXMgd2F5IG1vcmUg cG93ZXIgdGhhbiBJIHdhbnQgdG8gdXNlIHNpbmNlIEkgbmVlZCB0byB3b3JyeSBhYm91dCBhIGJh dHRlcnkKPiBzdGF5aW5nIHZpYWJsZS4KPiAKPiBJIHdhcyBob3BpbmcgZm9yIGEgc3dpdGNoaW5n IHNvbHV0aW9uIHRoYXQgd291bGQgdXNlIC41IG1hIG1heCB0byBlbmFibGUgdGhlCj4gc3dpdGNo ZXMuIEknbSBub3Qgc3VyZSB0aGF0J3MgZ29ubmEgaGFwcGVuIGluIHRvZGF5cyBvcHRvL3NzciB0 ZWNobm9sb2d5Lgo+IAo+IEFnYWluLCB0aGFua3MhCj4gCj4gQXJ0Cj4gCj4gSSdsbCBoYXZlIGEg bG9va8KgIE9uIDEyLzIwLzIwMTcgMTA6NDggUE0sIFJ1c3NlbGxNYyB3cm90ZToKPiA+IFN1Z2dl c3Rpb246Cj4gPgo+ID4gIlNwZWMiOiAgVGhlIHRzdGF0IGlzIGZlZCBieSAgYSBzbWFsbCAyNCB2 b2x0IGFjIHRyYW5zZm9ybWVyIGluIHRoZQo+ID4gb2lsIGJ1cm5lci4gV2hlbiB0aGUgdHNhdCBj YWxscyBmb3IgaGVhdCwgaXQgY2xvc2VzIGEgcmVsYXkgd2hpY2gKPiA+IGRyYXdzIGN1cnJlbnQg ZnJvbSB0aGUgMjQgdm9sdCBhYyBzb3VyY2UuCj4gPgo+ID4gSSBuZWVkIHNvbWUgb3RoZXIgbWVh bnMgdG8gc2hvcnQgdGhlIDIgdGhlcm1vc3RhdCB3aXJlcyB0b2dldGhlciwKPiA+Cj4gPiBpZSBT aG9ydCBjaXJjdWl0IDI0QUMgc291cmNlIHdpdGggbGltaXRlZCBjdXJyZW50IGNhcGFiaWxpdHku Cj4gPgo+ID4KPiA+IEFuIG9wdG8gaXNvbGF0b3Igd2l0aCBUUklBQyBvdXRwdXQgc2hvdWxkIG1l ZXQgdGhlIG5lZWQuCj4gPgo+ID4gVm9wZXJhdGUsIElvcGVyYXRlLCBWb3V0IGFuZCBJb3V0IHZh cnJ5IHdpdGggbW9kZWwuCj4gPgo+ID4gVGhpcyBzZWxlY3Rpb24gZnJvbSBEaWdpa2V5IG1heSBo ZWxwCj4gPgo+ID4KPiA+IGh0dHBzOi8vd3d3LmRpZ2lrZXkuY29tL3Byb2R1Y3RzL2VuL2lzb2xh dG9ycy9vcHRvaXNvbGF0b3JzLXRyaWFjLXNjci0KPiA+IG91dHB1dC85MDQ/RlY9ZmZlMDAzODgl MkNhNDAyZDAmbW5vbmx5PTAmQ29sdW1uU29ydD0tCj4gMjEwOCZwYWdlPTEmc3RvY2sKPiA+Cj4g PTAmcGJmcmVlPTAmcm9ocz0wJmNhZD0wJmRhdGFzaGVldD0wJm5zdG9jaz0wJnBob3RvPTAmbm9u cm9ocz0wCj4gJm5ld3Bybwo+ID4KPiBkdWN0cz0wJms9b3B0bytpc29sYXRvcit0cmlhYyZxdWFu dGl0eT0mcHRtPTAmZmlkPTAmcGFnZVNpemU9MjUmcGtlCj4geXdvCj4gPiByZD1vcHRvK2lzb2xh dG9yK3RyaWFjCj4gPgo+ID4gVGhlc2UgZm9yICQxLjUyLzEgaW4gc3RvY2sgRGlnaWtleSBtYXkg c3VpdC4KPiA+IGh0dHBzOi8vd3d3LmRpZ2lrZXkuY29tL3Byb2R1Y3QtZGV0YWlsL2VuL3Zpc2hh eS1zZW1pY29uZHVjdG9yLW9wdG8tCj4gZGkKPiA+IHZpc2lvbi9WTzIyMjNBLVgwMDEvVk8yMjIz QS1YMDAxLU5ELzQwNzQzOTIKPiA+Cj4gPiBEYXRhc2hlZXQKPiA+IGh0dHA6Ly93d3cudmlzaGF5 LmNvbS9kb2NzLzgxOTI0L3ZvMjIyM2EucGRmCj4gPgo+ID4gMUEsIDYwMFYgc3dpdGNoaW5nCj4g PiBUcmlnZ2VyIDEwIG1BIG1heCBhdCAxLjRWIG1heC4KPiA+Cj4gPiAgUnVzc2VsbAo+ID4KPiA+ Cj4gPgo+ID4gT24gMjEgRGVjZW1iZXIgMjAxNyBhdCAxNToxNSwgQXJ0IDxreTFrQG15ZmFpcnBv aW50Lm5ldD4gd3JvdGU6Cj4gPgo+ID4+IEkgcmVjZW50bHkgZGlzY292ZXJlZCBhIHZ1bG5lcmFi aWxpdHkgaW4gbXkgaG91c2UgaGVhdGluZyBzeXN0ZW0KPiA+PiBkdXJpbmcgdGhlIGxhdGVzdCBj b2xkIHNuYXAuIEl0IGhhcyB0byBkbyB3aXRoIGhvdCB3YXRlciBsaW5lcyB0aGF0Cj4gPj4gZ28g dG8gMiBraWNrIHNwYWNlIGhlYXRlcnMgaW4gdGhlICdicmVlemV3YXknLiBUaGUga2lja3NwYWNl IGhlYXRlcnMKPiA+PiB3ZXJlIGFkZGVkIGJ5IHRoZSBwcmV2aW91cyBvd25lcnMsIHdobyBhbHNv IGVuY2xvc2VkIHRoZSBicmVlemV3YXkgdG8KPiA+PiBtYWtlIGEgbXVkIHJvb20gbGlrZSBlbnRy YW5jZS4gQW5kLCBjdXN0b20gYnVpbHQgY2FiaW5ldHMsIGRyYXdlcnMsCj4gPj4gcmFpc2VkIGZs b29yLCBidWlsdCBpbiBjb2F0IHJhY2tzIGFuZCBiZW5jaCBzZWF0cyB3aXRoIGhpbmdlZCBsaWRz Cj4gPj4gZm9yIHN0b3JhZ2Ugd2VyZSBhZGRlZC4gQnV0LCB0aGV5IGJ1aWx0IHRoZSBwaXBlcyBm b3IgdGhlIGtpY2tzcGFjZQo+ID4+IGhlYXRlcnMgdW5kZXJuZWF0aCBhbGwgdGhlIGJ1aWx0IGlu IG5pY2V0aWVzLCBpdCdzIGhvcnJpYmx5IGV4cGVuc2l2ZQo+ID4+IHRvIHRlYXIgYWxsIHRoZSBh ZGQgb25zIG91dCBqdXN0IHRvIGdldCB0byB0aGUgcGlwZXMgYW5kIHRoZSBraWNrCj4gPj4gc3Bh Y2UgaGVhdGVycyB0byBpbnN1bGF0ZSB0aGUgcGlwZXMuCj4gPj4KPiA+PiBXZSBkaXNjb3ZlcmVk IHRoZSBmcm96ZW4gcGlwZXMgZHVyaW5nIHRoZSByZWNlbnQgY29sZCBzbmFwLCB0aGVyZSdzCj4g Pj4gbm8gdGVsbGluZyBob3cgbWFueSB0aW1lcyBpdHMgZnJvemVuIHdpdGhvdXQgb3VyIGtub3ds ZWRnZS4gSXQgd2FzCj4gPj4ganVzdCBsdWNrIHRoYXQgdGhlIGZyb3plbiBwaXBlcyB3ZXJlIGRp c2NvdmVyZWQgbGFzdCB3ZWVrLgo+ID4+Cj4gPj4gSSBuZWVkIGEgc21hbGwgbG93IHBvd2VyIHRp bWVyIGNpcmN1aXQgdGhhdCB3aWxsIHR1cm4gdGhlIG9pbCBidXJuZXIKPiA+PiBmb3IgdGhhdCB6 b25lIG9uIHdoZW4gdGhlIG91dGRvb3IgdGVtcCBnZXRzIGJlbG93IDEwIG9yIDE1IGRlZ3JlZXMg Ri4KPiA+PiBUaGUgdGltZXIgd291bGQgcnVuIGZvciBhIGZldyBtaW51dGVzIGV2ZXJ5IGhvdXIg b3Igc28sIGp1c3QgZW5vdWdoCj4gPj4gdG8gbWFrZSBzdXJlIHdhcm0gd2F0ZXIgY2lyY3VsYXRl cyB0aG91Z2ggdGhlIHBpcGVzIGFuZCBib3RoIGtpY2sKPiA+PiBzcGFjZSBoZWF0ZXJzIHNvIHRo ZXkgZG9uJ3QgZnJlZXplLgo+ID4+Cj4gPj4gVGhlIHRpbWVyIGlzIG5vdCBhbiBpc3N1ZS4gSSB3 YW50IHRvIG1ha2UgYSBwYXJhbGxlbCBjb25uZWN0aW9uIHRvCj4gPj4gdGhlIGV4aXN0aW5nIHpv bmUgdGhlcm1vc3RhdCBmb3IgdGhlIGhvdXNlIGFuZCB0aGUgYnJlZXpld2F5LiBXaGVuCj4gPj4g dGhlIHRpbWVyIGV4cGlyZXMsIGl0IHdvdWxkIHNob3J0IHRoZSB0aGVybW9zdGF0IHRlcm1pbmFs cyB3aGljaAo+ID4+IHdvdWxkIHN0YXJ0IHRoZSBvaWwgYnVybmVyIGV2ZXJ5IG9uY2UgaW4gYXdo aWxlLgo+ID4+Cj4gPj4gVGhlIGhlYXRpbmcgc3lzdGVtIGlzIGEgbW9kZXJuIDIgd2lyZSBzeXN0 ZW0sIHNvIEkgbmVlZCBhIG5vbgo+ID4+IHJlbGF5L3RyaWFjIG1ldGhvZCBmb3Igc2hvcnRpbmcg dGhlIHRoZXJtb3N0YXQgd2lyZXMgdG9nZXRoZXIsIHdoaWNoCj4gPj4gaXMgaG93IHRoZSBvaWwg YnVybmVyL3RzYXQgY29tYm8gb3BlcmF0ZXMgbm9ybWFsbHkuIFRoZSB0c3RhdCBpcyBmZWQKPiA+ PiBieSBhIHNtYWxsIDI0IHZvbHQgYWMgdHJhbnNmb3JtZXIgaW4gdGhlIG9pbCBidXJuZXIuIFdo ZW4gdGhlIHRzYXQKPiA+PiBjYWxscyBmb3IgaGVhdCwgaXQgY2xvc2VzIGEgcmVsYXkgd2hpY2gg ZHJhd3MgY3VycmVudCBmcm9tIHRoZSAyNCB2b2x0IGFjCj4gc291cmNlLgo+ID4+IEJ1dCwgYWxs IHRoZSByZWxheXMgSSBjYW4gZmluZCBkcmF3IGJpZyBjb2lsIGN1cnJlbnRzLCB3aGljaCBpcyBu b3QKPiA+PiBjb25kdWNpdmUgdG8gYSBzaW1wbGUgbG93IHBvd2VyIHRpbWVyIGNpcmN1aXQgdGhh dCBydW5zIG9uIGJhdHRlcnkKPiA+PiBwb3dlci4gTGF0Y2hpbmcgcmVsYXlzIG1pZ2h0IHdvcmss IGJ1dCB0aGV5J3JlIGV4cGVuc2l2ZSBhbmQgbmVlZAo+ID4+IGV4dHJhIGRyaXZpbmcgZWxlY3Ry b25pY3MuCj4gPj4KPiA+PiBJIG5lZWQgc29tZSBvdGhlciBtZWFucyB0byBzaG9ydCB0aGUgMiB0 aGVybW9zdGF0IHdpcmVzIHRvZ2V0aGVyLAo+ID4+IHdpdGhvdXQgdXNpbmcgbXVjaCBwb3dlci13 aGljaCB3aWxsIGVuYWJsZSB0aGUgdXNlIG9mIGEgc21hbGwgYmF0dGVyeQo+ID4+IHBvd2VyZWQg Y2lyY3VpdC4KPiA+Pgo+ID4+IElmIHRyYW5zaXN0b3JzIG9yIG1vc2ZldHMgY2FuIGJlIHVzZWQs IGl0IHdvdWxkIGJlIHNpbXBsZSBhbmQgY2hlYXAuCj4gPj4gQmlwb2xhciB0cmFuc2lzdG9ycyBh cyBhIHN3aXRjaCB3b3VsZCBiZSBpZGVhbCwgc2luY2UgZHJpdmluZyB0aGUKPiA+PiBiYXNlIGFi b3ZlIC43dm9sdHMgbWFrZXMgYmF0dGVyeSBwb3dlciBwcmFjdGljYWwuCj4gPj4KPiA+PiBJIGhh dmUgbm90IG1hbmFnZWQgdG8gZmluZCBtdWNoIHRlY2huaWNhbCBpbmZvcm1hdGlvbiBhYm91dCBo b3cgdGhlCj4gPj4gY3VycmVudCBpcyBzZW5zZWQgaW5zaWRlIHRoZSBvaWwgYnVybmVyLiBTZXZl cmFsIHdlYiByZXNvdXJjZXMKPiA+PiBleHBsYWluIHRoYXQgdGhlIHBvd2VyIHRyYW5zZm9ybWVy IGlzIHNob3J0ZWQgb3V0IGJ5IHRoZSByZWxheQo+ID4+IGNsb3N1cmUgaW4gdGhlIHRzYXQsIGJ1 dCBzYXkgbm90aGluZyBhYm91dCB0aGUgY3VycmVudAo+ID4+IGxpbWl0aW5nL2N1cnJlbnQgZmxv dyBzZW5zb3IgdGhhdCBhY3R1YWxseSBtYWtlcyB0aGUgb2lsIGJ1cm5lciB0dXJuIG9uLgo+ID4+ Cj4gPj4gV2hhdCB0eXBlIG9mIHN3aXRjaGluZyBjaXJjdWl0IGRvIEkgbmVlZD8KPiA+Pgo+ID4+ IEFueSBpZGVhcz8KPiA+Pgo+ID4+IFRZCj4gPj4KPiA+PiBBcnQKPiA+Pgo+ID4+Cj4gPj4gLS0K PiA+PiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYg bGlzdCBhcmNoaXZlCj4gPj4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQK PiA+PiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+ID4+ Cj4gCj4gCj4gCj4gLS0KPiBodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQ SUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4gVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9w dGlvbnMgYXQKPiBodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlz dAoKLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEg JiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0 cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QK .