PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PHRpdGxlPnVyaTwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJEb2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS41OC4xIj48c3R5bGUgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIHR5cGU9InRleHQvY3NzIj4KICAgICAgICAuc3lub3BzaXMsIC5jbGFzc3N5bm9wc2lzIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogI2VlZWVlZTsKICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2FhYWFhYTsKICAgICAgICAgICAgcGFkZGluZzogMC41ZW07CiAgICAgICAgfQogICAgICAgIC5wcm9ncmFtbGlzdGluZyB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZWVlZmY7CiAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNhYWFhZmY7CiAgICAgICAgICAgIHBhZGRpbmc6IDAuNWVtOwogICAgICAgIH0KICAgICAgICAudmFyaWFibGVsaXN0IHsKICAgICAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgICAgICBtYXJnaW4tbGVmdDogM2VtOwogICAgICAgIH0KICAgICAgICAubmF2aWdhdGlvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmVlZWU7CiAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNmZmFhYWE7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNWVtOwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTsKICAgICAgICB9CiAgICAgICAgLm5hdmlnYXRpb24gYSB7CiAgICAgICAgICAgIGNvbG9yOiAjNzcwMDAwOwogICAgICAgIH0KICAgICAgICAubmF2aWdhdGlvbiBhOnZpc2l0ZWQgewogICAgICAgICAgICBjb2xvcjogIzU1MDAwMDsKICAgICAgICB9CiAgICAgICAgLm5hdmlnYXRpb24gLnRpdGxlIHsKICAgICAgICAgICAgZm9udC1zaXplOiAyMDAlOwogICAgICAgIH0KICAgICAgPC9zdHlsZT48bGluayByZWw9ImhvbWUiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJHbm9tZSBYTUwgTGlicmFyeSBSZWZlcmVuY2UgTWFudWFsIj48bGluayByZWw9InVwIiBocmVmPSJsaWJ4bWwtbGliLmh0bWwiIHRpdGxlPSJMaWJ4bWwgTGlicmFyeSBSZWZlcmVuY2UiPjxsaW5rIHJlbD0icHJldmlvdXMiIGhyZWY9ImxpYnhtbC1yZWxheG5nLmh0bWwiIHRpdGxlPSJyZWxheG5nIj48bGluayByZWw9Im5leHQiIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sIiB0aXRsZT0ieG1sZXJyb3IiPjwvaGVhZD48Ym9keSBiZ2NvbG9yPSJ3aGl0ZSIgdGV4dD0iYmxhY2siIGxpbms9IiMwMDAwRkYiIHZsaW5rPSIjODQwMDg0IiBhbGluaz0iIzAwMDBGRiI+PHRhYmxlIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBjbGFzcz0ibmF2aWdhdGlvbiIgd2lkdGg9IjEwMCUiIHN1bW1hcnk9Ik5hdmlnYXRpb24gaGVhZGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjIiPjx0ciB2YWxpZ249Im1pZGRsZSI+PHRkPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCI+PGltZyBzcmM9ImxlZnQucG5nIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIGJvcmRlcj0iMCIgYWx0PSJQcmV2Ij48L2ltZz48L2E+PC90ZD48dGQ+PGEgYWNjZXNza2V5PSJ1IiBocmVmPSJsaWJ4bWwtbGliLmh0bWwiPjxpbWcgc3JjPSJ1cC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IlVwIj48L2ltZz48L2E+PC90ZD48dGQ+PGEgYWNjZXNza2V5PSJoIiBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0iaG9tZS5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9IkhvbWUiPjwvaW1nPjwvYT48L3RkPjx0aCB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+R25vbWUgWE1MIExpYnJhcnkgUmVmZXJlbmNlIE1hbnVhbDwvdGg+PHRkPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0ibGlieG1sLXhtbGVycm9yLmh0bWwiPjxpbWcgc3JjPSJyaWdodC5wbmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgYm9yZGVyPSIwIiBhbHQ9Ik5leHQiPjwvaW1nPjwvYT48L3RkPjwvdHI+PC90YWJsZT48ZGl2IGNsYXNzPSJyZWZlbnRyeSIgbGFuZz0iZW4iPjxhIG5hbWU9ImxpYnhtbC11cmkiPjwvYT48ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjwvZGl2PjxkaXYgY2xhc3M9InJlZm5hbWVkaXYiPjxoMj51cmk8L2gyPjxwPnVyaSAmIzgyMTI7IDwvcD48L2Rpdj48ZGl2IGNsYXNzPSJyZWZzeW5vcHNpc2RpdiI+PGgyPlN5bm9wc2lzPC9oMj48cHJlIGNsYXNzPSJzeW5vcHNpcyI+CgoKCnN0cnVjdCAgICAgIDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUkkiPnhtbFVSSTwvYT47CnR5cGVkZWYgICAgIDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT47CjxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gICA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sQ3JlYXRlVVJJIj54bWxDcmVhdGVVUkk8L2E+ICAgICAgICAgICAgICAgICAgICAodm9pZCk7CjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4qICAgIDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxCdWlsZFVSSSI+eG1sQnVpbGRVUkk8L2E+ICAgICAgICAgICAgICAgICAgICAgKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKlVSSSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqYmFzZSk7CjxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gICA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUkkiPnhtbFBhcnNlVVJJPC9hPiAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICpzdHIpOwppbnQgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sUGFyc2VVUklSZWZlcmVuY2UiPnhtbFBhcnNlVVJJUmVmZXJlbmNlPC9hPiAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+IHVyaSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqc3RyKTsKPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogICAgPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFNhdmVVcmkiPnhtbFNhdmVVcmk8L2E+ICAgICAgICAgICAgICAgICAgICAgICg8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+IHVyaSk7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxQcmludFVSSSI+eG1sUHJpbnRVUkk8L2E+ICAgICAgICAgICAgICAgICAgICAgKDxHVEtET0NMSU5LIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIiBIUkVGPSJGSUxFLUNBUFMiPkZJTEU8L0dUS0RPQ0xJTks+ICpzdHJlYW0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gdXJpKTsKPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogICAgPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZVN0ciI+eG1sVVJJRXNjYXBlU3RyPC9hPiAgICAgICAgICAgICAgICAgKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKnN0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqbGlzdCk7CmNoYXIqICAgICAgIDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUklVbmVzY2FwZVN0cmluZyI+eG1sVVJJVW5lc2NhcGVTdHJpbmc8L2E+ICAgICAgICAgICAgKGNvbnN0IGNoYXIgKnN0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqdGFyZ2V0KTsKaW50ICAgICAgICAgPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbE5vcm1hbGl6ZVVSSVBhdGgiPnhtbE5vcm1hbGl6ZVVSSVBhdGg8L2E+ICAgICAgICAgICAgIChjaGFyICpwYXRoKTsKPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogICAgPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSUVzY2FwZSI+eG1sVVJJRXNjYXBlPC9hPiAgICAgICAgICAgICAgICAgICAgKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKnN0cik7CnZvaWQgICAgICAgIDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxGcmVlVVJJIj54bWxGcmVlVVJJPC9hPiAgICAgICAgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPiB1cmkpOwo8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+KiAgICA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sQ2Fub25pY1BhdGgiPnhtbENhbm9uaWNQYXRoPC9hPiAgICAgICAgICAgICAgICAgIChjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpwYXRoKTsKPC9wcmU+PC9kaXY+PGRpdiBjbGFzcz0icmVmc2VjdDEiIGxhbmc9ImVuIj48aDI+RGVzY3JpcHRpb248L2gyPjxwPgoKPC9wPjwvZGl2PjxkaXYgY2xhc3M9InJlZnNlY3QxIiBsYW5nPSJlbiI+PGgyPkRldGFpbHM8L2gyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVSSSI+PC9hPnN0cnVjdCB4bWxVUkk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj5zdHJ1Y3QgeG1sVVJJIHsKICAgIGNoYXIgKnNjaGVtZTsJLyogdGhlIFVSSSBzY2hlbWUgKi8KICAgIGNoYXIgKm9wYXF1ZTsJLyogb3BhcXVlIHBhcnQgKi8KICAgIGNoYXIgKmF1dGhvcml0eTsJLyogdGhlIGF1dGhvcml0eSBwYXJ0ICovCiAgICBjaGFyICpzZXJ2ZXI7CS8qIHRoZSBzZXJ2ZXIgcGFydCAqLwogICAgY2hhciAqdXNlcjsJCS8qIHRoZSB1c2VyIHBhcnQgKi8KICAgIGludCBwb3J0OwkJLyogdGhlIHBvcnQgbnVtYmVyICovCiAgICBjaGFyICpwYXRoOwkJLyogdGhlIHBhdGggc3RyaW5nICovCiAgICBjaGFyICpxdWVyeTsJLyogdGhlIHF1ZXJ5IHN0cmluZyAqLwogICAgY2hhciAqZnJhZ21lbnQ7CS8qIHRoZSBmcmFnbWVudCBpZGVudGlmaWVyICovCiAgICBpbnQgIGNsZWFudXA7CS8qIHBhcnNpbmcgcG90ZW50aWFsbHkgdW5jbGVhbiBVUkkgKi8KfTsKPC9wcmU+PHA+CkEgcGFyc2VkIFVSSSByZWZlcmVuY2UuIFRoaXMgaXMgYSBzdHJ1Y3QgY29udGFpbmluZyB0aGUgdmFyaW91cyBmaWVsZHMKYXMgZGVzY3JpYmVkIGluIFJGQyAyMzk2IGJ1dCBzZXBhcmF0ZWQgZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZy48L3A+PHA+Cgo8L3A+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFVSSVB0ciI+PC9hPnhtbFVSSVB0cjwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnR5cGVkZWYgeG1sVVJJICp4bWxVUklQdHI7CjwvcHJlPjxwPgoKPC9wPjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxDcmVhdGVVUkkiPjwvYT54bWxDcmVhdGVVUkkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+ICAgeG1sQ3JlYXRlVVJJICAgICAgICAgICAgICAgICAgICAodm9pZCk7PC9wcmU+PHA+ClNpbXBseSBjcmVhdGVzIGFuIGVtcHR5IHhtbFVSSTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPnRoZSBuZXcgc3RydWN0dXJlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvcgo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxCdWlsZFVSSSI+PC9hPnhtbEJ1aWxkVVJJICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogICAgeG1sQnVpbGRVUkkgICAgICAgICAgICAgICAgICAgICAoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpiYXNlKTs8L3ByZT48cD4KQ29tcHV0ZXMgaGUgZmluYWwgVVJJIG9mIHRoZSByZWZlcmVuY2UgZG9uZSBieSBjaGVja2luZyB0aGF0CnRoZSBnaXZlbiBVUkkgaXMgdmFsaWQsIGFuZCBidWlsZGluZyB0aGUgZmluYWwgVVJJIHVzaW5nIHRoZQpiYXNlIFVSSS4gVGhpcyBpcyBwcm9jZXNzZWQgYWNjb3JkaW5nIHRvIHNlY3Rpb24gNS4yIG9mIHRoZSAKUkZDIDIzOTYKPC9wPjxwPgo1LjIuIFJlc29sdmluZyBSZWxhdGl2ZSBSZWZlcmVuY2VzIHRvIEFic29sdXRlIEZvcm08L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5VUkk8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBVUkkgaW5zdGFuY2UgZm91bmQgaW4gdGhlIGRvY3VtZW50CjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+YmFzZTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIGJhc2UgdmFsdWUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD5hIG5ldyBVUkkgc3RyaW5nICh0byBiZSBmcmVlZCBieSB0aGUgY2FsbGVyKSBvciBOVUxMIGluIGNhc2UKICAgICAgICBvZiBlcnJvci4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VVUkkiPjwvYT54bWxQYXJzZVVSSSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gICB4bWxQYXJzZVVSSSAgICAgICAgICAgICAgICAgICAgIChjb25zdCBjaGFyICpzdHIpOzwvcHJlPjxwPgpQYXJzZSBhbiBVUkkgCjwvcD48cD4KVVJJLXJlZmVyZW5jZSA9IFsgYWJzb2x1dGVVUkkgfCByZWxhdGl2ZVVSSSBdIFsgIiMiIGZyYWdtZW50IF08L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBVUkkgc3RyaW5nIHRvIGFuYWx5emUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD5hIG5ld2x5IGJ1aWxkIHhtbFVSSVB0ciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sUGFyc2VVUklSZWZlcmVuY2UiPjwvYT54bWxQYXJzZVVSSVJlZmVyZW5jZSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmludCAgICAgICAgIHhtbFBhcnNlVVJJUmVmZXJlbmNlICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gdXJpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpzdHIpOzwvcHJlPjxwPgpQYXJzZSBhbiBVUkkgcmVmZXJlbmNlIHN0cmluZyBhbmQgZmlsbHMgaW4gdGhlIGFwcHJvcHJpYXRlIGZpZWxkcwpvZiB0aGUgPGk+PHR0PnVyaTwvdHQ+PC9pPiBzdHJ1Y3R1cmUKPC9wPjxwPgpVUkktcmVmZXJlbmNlID0gWyBhYnNvbHV0ZVVSSSB8IHJlbGF0aXZlVVJJIF0gWyAiIyIgZnJhZ21lbnQgXTwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVyaTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgcG9pbnRlciB0byBhbiBVUkkgc3RydWN0dXJlCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICB0aGUgc3RyaW5nIHRvIGFuYWx5emUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxzcGFuIGNsYXNzPSJlbXBoYXNpcyI+PGVtPlJldHVybnM8L2VtPjwvc3Bhbj4gOjwvc3Bhbj48L3RkPjx0ZD4wIG9yIHRoZSBlcnJvciBjb2RlCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFNhdmVVcmkiPjwvYT54bWxTYXZlVXJpICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogICAgeG1sU2F2ZVVyaSAgICAgICAgICAgICAgICAgICAgICAoPGEgaHJlZj0ibGlieG1sLXVyaS5odG1sI3htbFVSSVB0ciI+eG1sVVJJUHRyPC9hPiB1cmkpOzwvcHJlPjxwPgpTYXZlIHRoZSBVUkkgYXMgYW4gZXNjYXBlZCBzdHJpbmc8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD51cmk8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHBvaW50ZXIgdG8gYW4geG1sVVJJCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+YSBuZXcgc3RyaW5nICh0byBiZSBkZWFsbG9jYXRlZCBieSBjYWxsZXIpCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbFByaW50VVJJIj48L2E+eG1sUHJpbnRVUkkgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj52b2lkICAgICAgICB4bWxQcmludFVSSSAgICAgICAgICAgICAgICAgICAgICg8R1RLRE9DTElOSyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCIgSFJFRj0iRklMRS1DQVBTIj5GSUxFPC9HVEtET0NMSU5LPiAqc3RyZWFtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJsaWJ4bWwtdXJpLmh0bWwjeG1sVVJJUHRyIj54bWxVUklQdHI8L2E+IHVyaSk7PC9wcmU+PHA+ClByaW50cyB0aGUgVVJJIGluIHRoZSBzdHJlYW0gPGk+PHR0PnN0ZWFtPC90dD48L2k+LjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cmVhbTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgYSBGSUxFKiBmb3IgdGhlIG91dHB1dAo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVyaTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgcG9pbnRlciB0byBhbiB4bWxVUkkKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVVJJRXNjYXBlU3RyIj48L2E+eG1sVVJJRXNjYXBlU3RyICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+PGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiogICAgeG1sVVJJRXNjYXBlU3RyICAgICAgICAgICAgICAgICAoY29uc3QgPGEgaHJlZj0ibGlieG1sLXRyZWUuaHRtbCN4bWxDaGFyIj54bWxDaGFyPC9hPiAqc3RyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpsaXN0KTs8L3ByZT48cD4KVGhpcyByb3V0aW5lIGVzY2FwZXMgYSBzdHJpbmcgdG8gaGV4LCBpZ25vcmluZyByZXNlcnZlZCBjaGFyYWN0ZXJzIChhLXopCmFuZCB0aGUgY2hhcmFjdGVycyBpbiB0aGUgZXhjZXB0aW9uIGxpc3QuPC9wPjxwPgoKPC9wPjxkaXYgY2xhc3M9InZhcmlhYmxlbGlzdCI+PHRhYmxlIGJvcmRlcj0iMCI+PGNvbCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPjx0Ym9keT48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+c3RyPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBzdHJpbmcgdG8gZXNjYXBlCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48aT48dHQ+bGlzdDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiBleGNlcHRpb24gbGlzdCBzdHJpbmcgb2YgY2hhcnMgbm90IHRvIGVzY2FwZQo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IGVzY2FwZWQgc3RyaW5nIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sVVJJVW5lc2NhcGVTdHJpbmciPjwvYT54bWxVUklVbmVzY2FwZVN0cmluZyAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPmNoYXIqICAgICAgIHhtbFVSSVVuZXNjYXBlU3RyaW5nICAgICAgICAgICAgKGNvbnN0IGNoYXIgKnN0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqdGFyZ2V0KTs8L3ByZT48cD4KVW5lc2NhcGluZyByb3V0aW5lLCBkb2VzIG5vdCBkbyB2YWxpZGl0eSBjaGVja3MgIQpPdXRwdXQgaXMgZGlyZWN0IHVuc2lnbmVkIGNoYXIgdHJhbnNsYXRpb24gb2YgPHR0PlhYPC90dD4gdmFsdWVzIChubyBlbmNvZGluZyk8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5zdHI8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSBzdHJpbmcgdG8gdW5lc2NhcGUKPC90ZD48L3RyPjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5sZW48L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gICB0aGUgbGVuZ3RoIGluIGJ5dGVzIHRvIHVuZXNjYXBlIChvciAmbHQ7PSAwIHRvIGluZGljYXRlIGZ1bGwgc3RyaW5nKQo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnRhcmdldDwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgb3B0aW9uYWwgZGVzdGluYXRpb24gYnVmZmVyCjwvdGQ+PC90cj48dHI+PHRkPjxzcGFuIGNsYXNzPSJ0ZXJtIj48c3BhbiBjbGFzcz0iZW1waGFzaXMiPjxlbT5SZXR1cm5zPC9lbT48L3NwYW4+IDo8L3NwYW4+PC90ZD48dGQ+YW4gY29weSBvZiB0aGUgc3RyaW5nLCBidXQgdW5lc2NhcGVkCjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PC9kaXY+PC9kaXY+PGhyIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvdHJhbnNpdGlvbmFsIj48L2hyPjxkaXYgY2xhc3M9InJlZnNlY3QyIiBsYW5nPSJlbiI+PGgzPjxhIG5hbWU9InhtbE5vcm1hbGl6ZVVSSVBhdGgiPjwvYT54bWxOb3JtYWxpemVVUklQYXRoICgpPC9oMz48cHJlIGNsYXNzPSJwcm9ncmFtbGlzdGluZyI+aW50ICAgICAgICAgeG1sTm9ybWFsaXplVVJJUGF0aCAgICAgICAgICAgICAoY2hhciAqcGF0aCk7PC9wcmU+PHA+CkFwcGxpZXMgdGhlIDUgbm9ybWFsaXphdGlvbiBzdGVwcyB0byBhIHBhdGggc3RyaW5nLS10aGF0IGlzLCBSRkMgMjM5NgpTZWN0aW9uIDUuMiwgc3RlcHMgNi5jIHRocm91Z2ggNi5nLgo8L3A+PHA+Ck5vcm1hbGl6YXRpb24gb2NjdXJzIGRpcmVjdGx5IG9uIHRoZSBzdHJpbmcsIG5vIG5ldyBhbGxvY2F0aW9uIGlzIGRvbmU8L3A+PHA+Cgo8L3A+PGRpdiBjbGFzcz0idmFyaWFibGVsaXN0Ij48dGFibGUgYm9yZGVyPSIwIj48Y29sIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+PHRib2R5Pjx0cj48dGQ+PHNwYW4gY2xhc3M9InRlcm0iPjxpPjx0dD5wYXRoPC90dD48L2k+oDo8L3NwYW4+PC90ZD48dGQ+ICBwb2ludGVyIHRvIHRoZSBwYXRoIHN0cmluZwo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPjAgb3IgYW4gZXJyb3IgY29kZQo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxVUklFc2NhcGUiPjwvYT54bWxVUklFc2NhcGUgKCk8L2gzPjxwcmUgY2xhc3M9InByb2dyYW1saXN0aW5nIj48YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+KiAgICB4bWxVUklFc2NhcGUgICAgICAgICAgICAgICAgICAgIChjb25zdCA8YSBocmVmPSJsaWJ4bWwtdHJlZS5odG1sI3htbENoYXIiPnhtbENoYXI8L2E+ICpzdHIpOzwvcHJlPjxwPgpFc2NhcGluZyByb3V0aW5lLCBkb2VzIG5vdCBkbyB2YWxpZGl0eSBjaGVja3MgIQpJdCB3aWxsIHRyeSB0byBlc2NhcGUgdGhlIGNoYXJzIG5lZWRpbmcgdGhpcywgYnV0IHRoaXMgaXMgaGV1cmlzdGljCmJhc2VkIGl0J3MgaW1wb3NzaWJsZSB0byBiZSBzdXJlLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnN0cjwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgdGhlIHN0cmluZyBvZiB0aGUgVVJJIHRvIGVzY2FwZQo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPmFuIGNvcHkgb2YgdGhlIHN0cmluZywgYnV0IGVzY2FwZWQKCjI1IE1heSAyMDAxClVzZXMgeG1sUGFyc2VVUkkgYW5kIHhtbFVSSUVzY2FwZVN0ciB0byB0cnkgdG8gZXNjYXBlIGNvcnJlY3RseQphY2NvcmRpbmcgdG8gUkZDMjM5Ni4KICAtIENhcmwgRG91Z2xhcwo8L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPjwvZGl2PjwvZGl2PjxociB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL3RyYW5zaXRpb25hbCI+PC9ocj48ZGl2IGNsYXNzPSJyZWZzZWN0MiIgbGFuZz0iZW4iPjxoMz48YSBuYW1lPSJ4bWxGcmVlVVJJIj48L2E+eG1sRnJlZVVSSSAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPnZvaWQgICAgICAgIHhtbEZyZWVVUkkgICAgICAgICAgICAgICAgICAgICAgKDxhIGhyZWY9ImxpYnhtbC11cmkuaHRtbCN4bWxVUklQdHIiPnhtbFVSSVB0cjwvYT4gdXJpKTs8L3ByZT48cD4KRnJlZSB1cCB0aGUgeG1sVVJJIHN0cnVjdDwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnVyaTwvdHQ+PC9pPqA6PC9zcGFuPjwvdGQ+PHRkPiAgcG9pbnRlciB0byBhbiB4bWxVUkkKPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48aHIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiPjwvaHI+PGRpdiBjbGFzcz0icmVmc2VjdDIiIGxhbmc9ImVuIj48aDM+PGEgbmFtZT0ieG1sQ2Fub25pY1BhdGgiPjwvYT54bWxDYW5vbmljUGF0aCAoKTwvaDM+PHByZSBjbGFzcz0icHJvZ3JhbWxpc3RpbmciPjxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4qICAgIHhtbENhbm9uaWNQYXRoICAgICAgICAgICAgICAgICAgKGNvbnN0IDxhIGhyZWY9ImxpYnhtbC10cmVlLmh0bWwjeG1sQ2hhciI+eG1sQ2hhcjwvYT4gKnBhdGgpOzwvcHJlPjxwPgpDb25zdHJ1Y3RzIGEgY2Fub25pYyBwYXRoIGZyb20gdGhlIHNwZWNpZmllZCBwYXRoLjwvcD48cD4KCjwvcD48ZGl2IGNsYXNzPSJ2YXJpYWJsZWxpc3QiPjx0YWJsZSBib3JkZXI9IjAiPjxjb2wgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48dGJvZHk+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PGk+PHR0PnBhdGg8L3R0PjwvaT6gOjwvc3Bhbj48L3RkPjx0ZD4gIHRoZSByZXNvdXJjZSBsb2NhdG9yIGluIGEgZmlsZXN5c3RlbSBub3RhdGlvbgo8L3RkPjwvdHI+PHRyPjx0ZD48c3BhbiBjbGFzcz0idGVybSI+PHNwYW4gY2xhc3M9ImVtcGhhc2lzIj48ZW0+UmV0dXJuczwvZW0+PC9zcGFuPiA6PC9zcGFuPjwvdGQ+PHRkPmEgbmV3IGNhbm9uaWMgcGF0aCwgb3IgYSBkdXBsaWNhdGUgb2YgdGhlIHBhdGggcGFyYW1ldGVyIGlmIHRoZSAKY29uc3RydWN0aW9uIGZhaWxzLiBUaGUgY2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZvciBmcmVlaW5nIHRoZSBtZW1vcnkgb2NjdXBpZWQKYnkgdGhlIHJldHVybmVkIHN0cmluZy4gSWYgdGhlcmUgaXMgaW5zdWZmaWNpZW50IG1lbW9yeSBhdmFpbGFibGUsIG9yIHRoZSAKYXJndW1lbnQgaXMgTlVMTCwgdGhlIGZ1bmN0aW9uIHJldHVybnMgTlVMTC4KPC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rpdj48L2Rpdj48L2Rpdj48L2Rpdj48dGFibGUgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS90cmFuc2l0aW9uYWwiIGNsYXNzPSJuYXZpZ2F0aW9uIiB3aWR0aD0iMTAwJSIgc3VtbWFyeT0iTmF2aWdhdGlvbiBmb290ZXIiIGNlbGxwYWRkaW5nPSIyIiBjZWxsc3BhY2luZz0iMCI+PHRyIHZhbGlnbj0ibWlkZGxlIj48dGQgYWxpZ249ImxlZnQiPjxhIGFjY2Vzc2tleT0icCIgaHJlZj0ibGlieG1sLXJlbGF4bmcuaHRtbCI+PGI+Jmx0OyZsdDugcmVsYXhuZzwvYj48L2E+PC90ZD48dGQgYWxpZ249InJpZ2h0Ij48YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImxpYnhtbC14bWxlcnJvci5odG1sIj48Yj54bWxlcnJvcqAmZ3Q7Jmd0OzwvYj48L2E+PC90ZD48L3RyPjwvdGFibGU+PC9ib2R5PjwvaHRtbD4K