PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIGh0bWwKICBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFuc2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJhbnNpdGlvbmFsLmR0ZCI+CjxodG1sPgo8aGVhZD4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi4vLi4vY29tLmlibS5oZWxwLmRvYy9zd2dfaW5mb19jb21tb24uY3NzIiAvPgo8dGl0bGU+V29ya2luZyBpbiB0aGUgUmVmZXJlbmNlcyBQYWdlPC90aXRsZT4KPHNjcmlwdCBsYW5ndWFnZT0iSmF2YVNjcmlwdCI+CiAgICBmdW5jdGlvbiBwb3B1cF93aW5kb3coIHVybCwgaWQsIHdpZHRoLCBoZWlnaHQgKQogICAgewogICAgICBwb3B1cCA9IHdpbmRvdy5vcGVuKCB1cmwsIGlkLCAndG9vbGJhcj1ubyxzY3JvbGxiYXJzPW5vLGxvY2F0aW9uPW5vLHN0YXR1c2Jhcj1ubyxtZW51YmFyPW5vLHJlc2l6YWJsZT1ubyx3aWR0aD0nICsgd2lkdGggKyAnLGhlaWdodD0nICsgaGVpZ2h0ICsgJyxsZWZ0PSx0b3A9JyApOwogICAgICBwb3B1cC5mb2N1cygpOwogICAgfQo8L3NjcmlwdD48c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0IiBzcmM9ImhlbHAvbGl2ZUhlbHAuanMiPjwvc2NyaXB0PjwvaGVhZD4KPGJvZHkgaWQ9InR3ZWR0d2J4NCI+PGEgbmFtZT0idHdlZHR3Yng0Ij48IS0tIC0tPjwvYT4KCjxoMSBjbGFzcz0idG9waWN0aXRsZTEiPldvcmtpbmcgaW4gdGhlIFJlZmVyZW5jZXMgUGFnZTwvaDE+CjxkaXY+PGRpdiBjbGFzcz0ic2tpcHNwYWNlIj5JbiB0aGUgPGI+UmVmZXJlbmNlczwvYj4gcGFnZSBvZiB0aGUgPGEgaHJlZj0iY2N3ZWJ4bWwuaHRtbCI+V2ViCiBkZXBsb3ltZW50IGRlc2NyaXB0b3IgZWRpdG9yPC9hPiwgeW91IGNhbiBhZGQgb3IgcmVtb3ZlIHJlZmVyZW5jZXMgdG86CiAgPHVsPjxsaT5hbiBFSkIgKEVudGVycHJpc2UgSmF2YZkgQmVhbikgPC9saT4KPGxpPmEgV2ViIHNlcnZpY2UgPC9saT4KPGxpPmFuIGV4dGVybmFsIHJlc291cmNlIDwvbGk+CjxsaT5hIG1lc3NhZ2UgZGVzdGluYXRpb24gPC9saT4KPGxpPmFuIGFkbWluaXN0ZXJlZCBvYmplY3Q8L2xpPgo8L3VsPgogPHA+WW91IGNhbiBhbHNvIHVzZSB0aGlzIHBhZ2UgdG8gc3BlY2lmeSBiaW5kaW5nIGluZm9ybWF0aW9uLCBwcm9wZXJ0aWVzLAogYW5kIGV4dGVuc2lvbnMgZm9yIHRoZSBXZWJTcGhlcmUgQXBwbGljYXRpb24gU2VydmVyIDwvcD4KICA8cD5Gb3IgbW9yZSBkZXRhaWxlZAogaW5mb3JtYXRpb24gYWJvdXQgYWRkaW5nIGFuZCByZW1vdmluZyByZWZlcmVuY2VzLCBzZWUgPGEgaHJlZj0iLi4vLi4vY29tLmlibS5ldG9vbHMuajJlZWFwcC5kb2MvdG9waWNzL3RqYWRkcmVmcy5odG1sIj5EZWZpbmluZyBSZWZlcmVuY2VzIGluIEoyRUUgTW9kdWxlczwvYT4uIDwvcD4KICAgPHA+Rm9yIG1vcmUKIGluZm9ybWF0aW9uIGFib3V0IGJpbmRpbmcgYW5kIGV4dGVuc2lvbiBwcm9wZXJ0aWVzLCByZWZlciB0byB0aGUgZm9sbG93aW5nCiByZWxhdGVkIHRhc2tzOiA8L3A+CjwvZGl2Pgo8L2Rpdj4KPGRpdj48cD48YiBjbGFzcz0icmVsdGFza3NoZCI+UmVsYXRlZCB0YXNrczwvYj48YnIgLz4KPGEgaHJlZj0iLi4vLi4vY29tLmlibS5ldG9vbHMuajJlZS51aS53cy5leHQuZG9jL3RvcGljcy90d2Vid2Vic3BoZXJlYmluZGluZ3MuaHRtbCI+RGVmaW5pbmcgV2ViU3BoZXJlIGJpbmRpbmdzPC9hPjxiciAvPgo8YSBocmVmPSIuLi8uLi9jb20uaWJtLmV0b29scy5qMmVlLnVpLndzLmV4dC5kb2MvdG9waWNzL3R3ZWJ3YXNleHRlbnNpb25zLmh0bWwiPkRlZmluaW5nIFdlYlNwaGVyZSBFeHRlbnNpb24gUHJvcGVydGllczwvYT48YnIgLz4KPGEgaHJlZj0iLi4vLi4vY29tLmlibS5ldG9vbHMuajJlZS51aS53cy5leHQuZG9jL3RvcGljcy90d2Vid2Fzc2VydmxldC5odG1sIj5EZWZpbmluZyBXZWJTcGhlcmUgRXh0ZW5zaW9uIFByb3BlcnRpZXMgZm9yIFNlcnZsZXRzPC9hPjxiciAvPgo8YSBocmVmPSIuLi8uLi9jb20uaWJtLmV0b29scy5qMmVlLnVpLndzLmV4dC5kb2MvdG9waWNzL3R3ZWJqbmRpLmh0bWwiPkRlZmluaW5nIEpOREkgYmluZGluZ3M8L2E+PGJyIC8+CjwvcD4KPC9kaXY+PHA+CgkJKEMpIENvcHlyaWdodCBJQk0gQ29ycG9yYXRpb24gMjAwMCwgMjAwNS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KCQk8L3A+IAo8L2JvZHk+CjwvaHRtbD4=