VGhpcyBpcyB0aGUgUHl0aG9uIExhbmd1YWdlIE1vZHVsZSBmb3IgQkJFZGl0LgoKVGhpcyBzb2Z0d2FyZSBpcyBhIHBsdWdpbiB0byAgQmFyZSBCb25lcyBTb2Z0d2FyZSdzIEJCRWRpdCA2LjAuMiAob3IgbW9yZSksIGRlc2lnbmVkIHRvIG1ha2UgZWRpdGluZyAmIGJyb3dzaW5nIFB5dGhvbiBMYW5ndWFnZSBmaWxlcyBlYXNlci4KCkl0IHBhcnNlcyBhbnkgZmlsZSBlbmRpbmcgaW4gLnB5IChvciBleHRlbnRpb25zIG9mIHlvdXIgY2hvaWNlLikgcHJvdmlkaW5nIEJCRWRpdCB3aXRoIHRoZSBpbmZvcm1hdGlvbiBCQkVkaXQgbmVlZHMgdG8gcHJvdmlkZSBzZXJ2aWNlcyBmb3IgcHl0aG9uIGZpbGVzIHNpbWlsYXIgdG8gdGhvc2UgaXQgcHJvdmlkZXMgZm9yICdDJy4gTmFtZWx5OiBzeW50YXggY29sb3JpbmcgYW5kIHBvcHVsYXRpbmcgQkJFZGl0J3MgJ4AnIHBvcHVwIG1lbnUgd2l0aCBmaWxlJ3MgZnVuY3Rpb25zIGFuZCBjbGFzc2VzLgoKVGhpcyBQbHVnLWluIG5lZWRzIHRvIGJlIHBsYWNlZCBpbiB5b3VyIDpCQkVkaXQgNi4wOkJCRWRpdCBTdXBwb3J0Okxhbmd1YWdlIE1vZHVsZXM6IGZvbGRlci4KCklmIHlvdSB3aXNoLCBJIGhhdmUgbm8gb2JqZWN0aW9ucyB0byByZWRpc3RyaWJ1dGluZyBpdCBpbiB3aG9sZSBvciBpbiBwYXJ0LCBtb2RpZnkgaXQsIG9yIGJlYXRpbmcgc21hbGwgZnVyeSBhbmltYWxzIHRvIGRlYXRoIHdpdGggcm9sbGVkIHVwIHByaW50b3V0cyBvZiB0aGUgc291cmNlIGNvZGUuCgpDaHJpc3RvcGhlciBTdGVybgpjaXN0ZXJuQGVhcnRobGluay5uZXQ=