PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiIKImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+CjwhLS0gCiAgICBDb3B5cmlnaHQgKGMpIDIwMDUsIDIwMDYgSUJNIENvcnBvcmF0aW9uIGFuZCBvdGhlcnMuCiAgICBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzCiAgICBhcmUgbWFkZSBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIHYxLjAKICAgIHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLCBhbmQgaXMgYXZhaWxhYmxlIGF0CiAgICBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbAogICAgQ29udHJpYnV0b3JzOgogICAgSUJNIENvcnBvcmF0aW9uIC0gaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgotLT4KCjxodG1sPgo8aGVhZD4KPHRpdGxlPlVudGl0bGVkIERvY3VtZW50PC90aXRsZT4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+CjwvaGVhZD4KCjxib2R5Pgo8aDI+PGE+PC9hPjxhPjwvYT48YT5FeGVyY2lzZSA1OiBXb3JraW5nIHdpdGggU3RlcHMgPC9hPjwvaDI+CjxwPlRoZSBwdXJwb3NlIG9mIHRoaXMgZXhlcmNpc2UgaXMgdG8gdW5kZXJzdGFuZCB0aGUgU3RlcCBFZGl0b3IgdGhhdCBpcyBwYXJ0IG9mIHRoZSBUYXNrIEVkaXRvci4gPC9wPgo8cD5XaGVuIHlvdSBjcmVhdGUgYSB0YXNrLCB5b3UgY2FuIGRlZmluZSBhIHNlcmllcyBvZiBzdGVwcyB0aGF0IGRldGFpbCBob3cgdG8gcGVyZm9ybSB0aGUgdGFzay4gVGhlIFN0ZXAgRWRpdG9yIGFsbG93cyB5b3UgdG8gYWRkIG5ldyBzdGVwcywgY2hhbmdlIHRoZSBzZXF1ZW5jZSBvZiBzdGVwcyBhbmQgdG8gZGVsZXRlIHN0ZXBzLiA8L3A+CjxvbD4KICA8bGk+CiAgICA8cD5PcGVuIHRoZSBteV9kZXNpZ25fdXNlcl9pbnRlcmZhY2UgdGFzayBvciBjcmVhdGUgYSBuZXcgdGFzay4gQ2xpY2sgb24gdGhlIDxzdHJvbmc+U3RlcHM8L3N0cm9uZz4gdGFiLiA8L3A+CiAgPC9saT4KICA8bGk+Q3JlYXRlIGEgbmV3IHN0ZXA6ICA8L2xpPgogIDxibG9ja3F1b3RlPgogICAgPHA+JiMxNDk7IEVudGVyIGEgbmFtZSBmb3IgdGhlIHN0ZXAgaW4gdGhlIJFTdGVwcycgYm94LiA8L3A+CiAgICA8cD4mIzE0OTsgRW50ZXIgYSA8c3Ryb25nPkRlc2NyaXB0aW9uIDwvc3Ryb25nPiCWIHlvdSBjYW4gdXNlIHRoZSBSaWNoIFRleHQgRWRpdG9yIGZvciB0aGlzLiA8L3A+CiAgICA8cD4mIzE0OTsgQ2xpY2sgdGhlIDxzdHJvbmc+QWRkIDwvc3Ryb25nPiBidXR0b24uIDwvcD4KICAgIDxwPiYjMTQ5OyBTZWUgdGhlIHJlc3VsdHMgb24gdGhlIDxzdHJvbmc+UHJldmlldyA8L3N0cm9uZz4gdGFiLiA8L3A+CiAgPC9ibG9ja3F1b3RlPgogIDxsaT4gICAgUmVtb3ZlIGEgc3RlcCA6IDwvbGk+CiAgPGJsb2NrcXVvdGU+CiAgICA8cD4mIzE0OTsgUmV0dXJuIHRvIHRoZSA8c3Ryb25nPlN0ZXBzPC9zdHJvbmc+IHRhYi4gPC9wPgogICAgPHA+JiMxNDk7IENsaWNrIHRoZSBzdGVwIHRvIHJlbW92ZSBpbiB0aGUgU3RlcHMgcGFuZWwuIDwvcD4KICAgIDxwPiYjMTQ5OyBDbGljayB0aGUgPHN0cm9uZz5EZWxldGUgPC9zdHJvbmc+IGJ1dHRvbi4gPC9wPgogICAgPHA+JiMxNDk7IFNlZSB0aGUgcmVzdWx0cyBvbiB0aGUgPHN0cm9uZz5QcmV2aWV3IDwvc3Ryb25nPiB0YWIuIDwvcD4KICA8L2Jsb2NrcXVvdGU+CiAgPGxpPiAgICBNb3ZlIGEgc3RlcCB1cCB0aGUgbGlzdDogPC9saT4KICA8YmxvY2txdW90ZT4KICAgIDxwPiYjMTQ5OyZuYnNwOyBSZXR1cm4gdG8gdGhlIDxzdHJvbmc+U3RlcHM8L3N0cm9uZz4gdGFiLiA8L3A+CiAgICA8cD4mIzE0OTsmbmJzcDsgQ2xpY2sgdGhlIHN0ZXAgeW91IHdhbnQgdG8gbW92ZSB1cC48L3A+CiAgICA8cD4mIzE0OTsmbmJzcDsgQ2xpY2sgdGhlIDxzdHJvbmc+VXAgPC9zdHJvbmc+IGJ1dHRvbi48L3A+CiAgICA8cD4mIzE0OTsmbmJzcDsgU2VlIHRoZSByZXN1bHRzIG9uIHRoZSA8c3Ryb25nPlByZXZpZXcgPC9zdHJvbmc+IHRhYi4gPC9wPgogIDwvYmxvY2txdW90ZT4KICA8bGk+TW92ZSBhIHN0ZXAgZG93biB0aGUgbGlzdCA6ICA8L2xpPgogIDxibG9ja3F1b3RlPgogICAgPHA+JiMxNDk7Jm5ic3A7IFJldHVybiB0byB0aGUgPHN0cm9uZz5TdGVwczwvc3Ryb25nPiB0YWIuIDwvcD4KICAgIDxwPiYjMTQ5OyZuYnNwOyBDbGljayB0aGUgc3RlcCB5b3Ugd2FudCB0byBtb3ZlIGRvd24uPC9wPgogICAgPHA+JiMxNDk7Jm5ic3A7IENsaWNrIHRoZSA8c3Ryb25nPkRvd24gPC9zdHJvbmc+IGJ1dHRvbi48L3A+CiAgICA8cD4mIzE0OTsmbmJzcDsgU2VlIHRoZSByZXN1bHRzIG9uIHRoZSA8c3Ryb25nPlByZXZpZXcgPC9zdHJvbmc+IHRhYi4gPC9wPgogIDwvYmxvY2txdW90ZT4KPC9vbD4KPGgyPiZuYnNwOzwvaDI+CjxoMT4mbmJzcDs8L2gxPgo8L2JvZHk+CjwvaHRtbD4K