QSByZWVkIHJlbGF5IG5vdCBjbG9zaW5nIHdoZW4gY2VudGVyZWQgb24gdGhlIG1hZ25ldCBpcyBh IGNvbW1vbiBwcm9ibGVtLgpPbmUgc29sdXRpb24gaXMgdG8gc3Vycm91bmQgdGhlIHRhcmdldCB3 aXRoIDQgc2Vuc29ycyB3aXJlZCBpbiBzZXJpZXMuIEFsbApuZWVkIHRvIGJlIGNsb3NlZCBmb3Ig YSB2YWxpZCBkZXRlY3Rpb24uCgpPbiBPY3QgMjgsIDIwMTcgMTI6NTAsICJtaWtlIGJyb3duIiA8 bWlrZUBuNXFtZy5jb20+IHdyb3RlOgoKSGVsbG8gYWxsLAoKSSBuZWVkIHNvbWUgY2hlYXAsIGVh c2lseSBhdmFpbGFibGUgSGFsbCBlZmZlY3Qgc2Vuc29ycyB0aGF0IGFyZSBzd2l0Y2hlcywKb21u aXBvbGFyIGFuZCBzZW5zaXRpdmUuICBJ4oCZbSBkb2luZyBhIGdhbWUgcm9vbSBwcm9qZWN0IGFu ZCBuZWVkIHRvIHNlbnNlCnNvbWUgbWFnbmV0cyB0aGF0IGFyZSBlbWJlZGRlZCB3aXRoaW4g4oCc dGlsZXPigJ0gbWFkZSBmcm9tIHRocmVlIHBpZWNlcyBvZgp0aGluIHBseXdvb2QuICBUaGUgc2Vu c29ycyB3aWxsIGJlIHVuZGVyIGEgdGFibGUgdG9wIGFwcHJveGltYXRlbHkgwr7igJ0gdGhpY2sK KDE4bW0pLiAgSSBjYW4gY2FydmUgYXdheSBzb21lIG9mIHRoZSB3b29kIHRvIGdldCB0aGUgc2Vu c29yIG5lYXIgdGhlCnN1cmZhY2UuICBOb3JtYWxseSBJIHdvdWxkIHVzZSByZWVkIHN3aXRjaGVz LCBidXQgSSBqdXN0IGNhbuKAmXQgc3RhbmQKd29ya2luZyB3aXRoIHRoZWlyIGZyYWlsdHkuCgoK ClRoZSBidWlsZGVyIG9mIHRoZSB0aWxlcyBjYW7igJl0IGJlIGJvdGhlcmVkIHdpdGggc29ydGlu ZyB0aGUgcG9sYXJpdHkgb2YgdGhlCm5lb2R5bWl1bSBtYWduZXRzIHRoYXQgYXJlIMK+4oCdIGlu IGRpYW1ldGVyIGFuZCBhYm91dCAzLzMy4oCdIHRoaWNrLiAgVGhlc2UgYXJlCmZhaXJseSBwb3dl cmZ1bCBtYWduZXRzIHRoYXQgY2FuIGFjdGl2YXRlIGEgcmVlZCBzd2l0Y2ggc2V2ZXJhbCBpbmNo ZXMKYXdheSwgYnV0IG5vdCByZWxpYWJseSB3aGVuIGNlbnRlcmVkIHByZWNpc2VseSBvdmVyIHRo ZSByZWVkIHN3aXRjaC4gIEnigJltCmd1ZXNzaW5nIHRoYXQgaGFzIHRvIGRvIHdpdGggdGhlIGZs dXggZmllbGQgYmVpbmcgZmxhdHRlbmVkIGJ5IHRoZSBsYXJnZQpkaWFtZXRlciBhbmQgcmVsYXRp dmUgdGhpbm5lc3Mgb2YgdGhlIG1hZ25ldHMuCgoKCkkgY2FuIGdldCBxdHkgMTAgQTMxNDQgc2Vu c29ycyBmb3IgdW5kZXIgJDUgaW5jbHVkaW5nIGZhc3Qgc2hpcHBpbmcsIGJ1dAp0aGVzZSBhcmUg dW5pcG9sYXIuICBJcyB0aGVyZSBhbm90aGVyIHBhcnQgbnVtYmVyLCBpbiB0aGlzIHByaWNlIHJh bmdlLAp0aGF0IHdvdWxkIGJlIGF0IGxlYXN0IGFzIHNlbnNpdGl2ZSBhbmQgaW4gYSBvbW5pcG9s YXIgZm9ybT8gIEkgZG9u4oCZdCB3YW50CmxhdGNoZXMgb3IgbGluZWFyIGRldmljZXMuCi0tCmh0 dHA6Ly93d3cucGljbGlzdC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFy Y2hpdmUKVmlldy9jaGFuZ2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxt YW4ubWl0LmVkdS9tYWlsbWFuL2xpc3RpbmZvL3BpY2xpc3QKLS0gCmh0dHA6Ly93d3cucGljbGlz dC5jb20vdGVjaHJlZi9waWNsaXN0IFBJQy9TWCBGQVEgJiBsaXN0IGFyY2hpdmUKVmlldy9jaGFu Z2UgeW91ciBtZW1iZXJzaGlwIG9wdGlvbnMgYXQKaHR0cDovL21haWxtYW4ubWl0LmVkdS9tYWls bWFuL2xpc3RpbmZvL3BpY2xpc3QK .