RG9uJ3QgeW91IHR3byBzdGFydCwgSSBoYXRlIGFyZ3Vpbmcgd2l0aCBteXNlbGYuCgpPbiAyMiBO b3ZlbWJlciAyMDE0IDA0OjQ4LCBSb2JlcnQgRHZvcmFjZWsgPGxndG5nc3RrQGhvdG1haWwuY29t PiB3cm90ZToKCj4gU29ycnksIGJ1dCBJIGFtIG5vdCBhIHBhcnQgb2YgeW91LCBhbmQgaWYgeW91 IGRvIG5vdCByZWNvZ25pemUgbWUgYXMgYQo+IGRpc3RpbmN0IGVudGl0eSwgSSBoYXZlIGEgYmln IHByb2JsZW0gd2l0aCB0aGF0Lgo+IFR3byBieSB0d28sIGhhbmRzIG9mIGJsdWXihKIKPiBDaGVl cnMsUm9iZXJ0Cj4KPiA+IERhdGU6IFNhdCwgMjIgTm92IDIwMTQgMDA6NDg6MjYgKzAwMDAKPiA+ IEZyb206IHNtcGx4QGFsbG90cm9wZS5uZXQKPiA+IFRvOiBwaWNsaXN0QG1pdC5lZHUKPiA+IFN1 YmplY3Q6IFJlOiBbT1RdIERpdmlkZSBieSB6ZXJvCj4gPgo+ID4KPiA+Cj4gPiBPbiBGcmksIDIx IE5vdiAyMDE0LCBLZXJyeSB3cm90ZToKPiA+Cj4gPiA+IEJ1dCB3ZSBrbm93IHRoYXQgRT1NQ14y LiAgU28sIGFzIHRoZSBNYXNzIG9mIHlvdXIgc3BhY2Ugc2hpcCAoYW5kIGZ1ZWwpCj4gPiA+IGFw cHJvYWNoZXMgaW5maW5pdHksIHdoYXQgaGFwcGVucyB0byB5b3VyIEVuZXJneT8KPiA+Cj4gPiBE dWgsIGRvbid0IHlvdSBrbm93IGFueXRoaW5nLi4uCj4gPgo+ID4gWW91ciBzaGlwIGp1bXBzIGlu dG8gYW4gYWx0ZXJuYXRlIHJlYWxpdHkgd2hlcmUgdGhlIGxhd3Mgb2YgcGh5c2ljcyBhcmUKPiA+ IHRvdGFseSBkaWZmZXJlbnQgYW5kIGV2ZXJ5dGhpbmcgaXMgaW4gZXF1aWxpYnJpdW0gdW50aWwg eW91IHNsb3cgZG93biBhbmQKPiA+IHlvdSBkcm9wIGJhY2sgaW50byB5b3VyIG93biByZWFsaXR5 IHdoZXJlIHRoZSBtZW4gaW4gd2hpdGUgY29hdHMgYXJlCj4gPiB3YWl0aW5nIHRvIHRha2UgeW91 IGF3YXkgOi0pCj4gPgo+ID4gQnV0IHNlcmlvdXNseSwgaGF2ZW4ndCB5b3UgZmlndXJlZCBpdCBv dXQgeWV0PyBUaGVyZSBpcyBvbmx5IG9uZQo+IHVuaXZlcnNlLAo+ID4gbm8gc3VjaCB0aGluZyBh cyB0aW1lLCB3ZSBhcmUgYWxsIHRoZSBzYW1lIGVudGl0eSB0YWxraW5nIHRvIG15c2VsZiBhbmQK PiA+IHJlYWxpdHkgaXMgZGlmZmVyZW50IGZvciBlYWNoIGFuZCBldmVyeSBvbmUgb2YgdXMuCj4g Pgo+ID4gUmVnYXJkcwo+ID4gU2VyZ2lvCj4gPiAtLQo+ID4gaHR0cDovL3d3dy5waWNsaXN0LmNv bS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+ID4gVmlldy9jaGFu Z2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKPiA+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUv bWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4KPiAtLQo+IGh0dHA6Ly93d3cucGljbGlzdC5jb20v dGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKPiBWaWV3L2NoYW5nZSB5 b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+IGh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1h bi9saXN0aW5mby9waWNsaXN0Cj4KLS0gCmh0dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9w aWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJz aGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3Bp Y2xpc3QK .