PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJkZSIgeG1sOmxhbmc9ImRlIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5Lb21waWxpZXJlbiB1bmQgSW5zdGFsbGllcmVuIC0gQXBhY2hlIEhUVFAgU2VydmVyIFZlcnNpb24gMi41PC90aXRsZT4KPGxpbmsgaHJlZj0iLi9zdHlsZS9jc3MvbWFudWFsLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiBtZWRpYT0iYWxsIiB0eXBlPSJ0ZXh0L2NzcyIgdGl0bGU9Ik1haW4gc3R5bGVzaGVldCIgLz4KPGxpbmsgaHJlZj0iLi9zdHlsZS9jc3MvbWFudWFsLWxvb3NlLTEwMHBjLmNzcyIgcmVsPSJhbHRlcm5hdGUgc3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJObyBTaWRlYmFyIC0gRGVmYXVsdCBmb250IHNpemUiIC8+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC1wcmludC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9InByaW50IiB0eXBlPSJ0ZXh0L2NzcyIgLz48bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSIuL3N0eWxlL2Nzcy9wcmV0dGlmeS5jc3MiIC8+CjxzY3JpcHQgc3JjPSIuL3N0eWxlL3NjcmlwdHMvcHJldHRpZnkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgo8L3NjcmlwdD4KCjxsaW5rIGhyZWY9Ii4vaW1hZ2VzL2Zhdmljb24uaWNvIiByZWw9InNob3J0Y3V0IGljb24iIC8+PC9oZWFkPgo8Ym9keSBpZD0ibWFudWFsLXBhZ2UiPjxkaXYgaWQ9InBhZ2UtaGVhZGVyIj4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4vbW9kLyI+TW9kdWxlPC9hPiB8IDxhIGhyZWY9Ii4vbW9kL3F1aWNrcmVmZXJlbmNlLmh0bWwiPkRpcmVrdGl2ZW48L2E+IHwgPGEgaHJlZj0iaHR0cDovL3dpa2kuYXBhY2hlLm9yZy9odHRwZC9GQVEiPkZBUTwvYT4gfCA8YSBocmVmPSIuL2dsb3NzYXJ5Lmh0bWwiPkdsb3NzYXI8L2E+IHwgPGEgaHJlZj0iLi9zaXRlbWFwLmh0bWwiPlNlaXRlbmluZGV4PC9hPjwvcD4KPHAgY2xhc3M9ImFwYWNoZSI+QXBhY2hlIEhUVFAgU2VydmVyIFZlcnNpb24gMi41PC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2ZlYXRoZXIucG5nIiAvPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ1cCI+PGEgaHJlZj0iLi8iPjxpbWcgdGl0bGU9IiZsdDstIiBhbHQ9IiZsdDstIiBzcmM9Ii4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPkhUVFAtU2VydmVyPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvIj5Eb2t1bWVudGF0aW9uPC9hPiAmZ3Q7IDxhIGhyZWY9Ii4vIj5WZXJzaW9uIDIuNTwvYT48L2Rpdj48ZGl2IGlkPSJwYWdlLWNvbnRlbnQiPjxkaXYgaWQ9InByZWFtYmxlIj48aDE+S29tcGlsaWVyZW4gdW5kIEluc3RhbGxpZXJlbjwvaDE+CjxkaXYgY2xhc3M9InRvcGxhbmciPgo8cD48c3Bhbj5WZXJm/GdiYXJlIFNwcmFjaGVuOiA8L3NwYW4+PGEgaHJlZj0iLi9kZS9pbnN0YWxsLmh0bWwiIHRpdGxlPSJEZXV0c2NoIj4mbmJzcDtkZSZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2VuL2luc3RhbGwuaHRtbCIgaHJlZmxhbmc9ImVuIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkVuZ2xpc2giPiZuYnNwO2VuJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vZXMvaW5zdGFsbC5odG1sIiBocmVmbGFuZz0iZXMiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRXNwYfFvbCI+Jm5ic3A7ZXMmbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi9mci9pbnN0YWxsLmh0bWwiIGhyZWZsYW5nPSJmciIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJGcmFu52FpcyI+Jm5ic3A7ZnImbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi9qYS9pbnN0YWxsLmh0bWwiIGhyZWZsYW5nPSJqYSIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJKYXBhbmVzZSI+Jm5ic3A7amEmbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi9rby9pbnN0YWxsLmh0bWwiIGhyZWZsYW5nPSJrbyIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJLb3JlYW4iPiZuYnNwO2tvJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vdHIvaW5zdGFsbC5odG1sIiBocmVmbGFuZz0idHIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iVPxya+dlIj4mbmJzcDt0ciZuYnNwOzwvYT48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJvdXRvZmRhdGUiPkRpZXNlINxiZXJzZXR6dW5nIGlzdCBt9mdsaWNoZXJ3ZWlzZQogICAgICAgICAgICBuaWNodCBtZWhyIGFrdHVlbGwuIEJpdHRlIHBy/GZlbiBTaWUgZGllIGVuZ2xpc2NoZSBWZXJzaW9uIGF1ZgogICAgICAgICAgICBkaWUgbmV1ZXN0ZW4gxG5kZXJ1bmdlbi48L2Rpdj4KCiAgICA8cD5EaWVzZXMgRG9rdW1lbnQgdW1mYd90IG51ciBkaWUgS29tcGlsaWVydW5nIHVuZCBJbnN0YWxsYXRpb24gZGVzCiAgICBBcGFjaGUgYXVmIFVuaXggdW5kIFVuaXgt5GhubGljaGVuIFN5c3RlbWVuLiBG/HIgZGllCiAgICBLb21waWxpZXJ1bmcgdW5kIEluc3RhbGxhdGlvbiB1bnRlciBXaW5kb3dzIGxlc2VuIFNpZSBiaXR0ZSA8YSBocmVmPSJwbGF0Zm9ybS93aW5kb3dzLmh0bWwiPkRlbiBBcGFjaGUgdW50ZXIgTWljcm9zb2Z0IFdpbmRvd3MKICAgIGJldHJlaWJlbjwvYT4uIEb8ciBhbmRlcmUgUGxhdHRmb3JtZW4gbGVzZW4gU2llIGJpdHRlIGRpZQogICAgRG9rdW1lbnRhdGlvbiA8YSBocmVmPSJwbGF0Zm9ybS8iPlBsYXR0Zm9ybWVuPC9hPi48L3A+CgogICAgPHA+RGllIEtvbmZpZ3VyYXRpb25zLSB1bmQgSW5zdGFsbGF0aW9uc3VtZ2VidW5nIGRlcyBBcGFjaGUgMi4wIGhhdCBzaWNoCiAgICBzZWl0IGRlbSBBcGFjaGUgMS4zIGtvbXBsZXR0IHZlcuRuZGVydC4gRGVyIEFwYWNoZSAxLjMgYmVudXR6dCBlaW5lbgogICAgc3BlemllbGxlbiBTYXR6IHZvbiBTa3JpcHRlbiwgdW0gZWluZSBlaW5mYWNoZSBJbnN0YWxsYXRpb24genUKICAgIGVybfZnbGljaGVuLiBEZXIgQXBhY2hlIDIuMCBkYWdlZ2VuIHZlcndlbmRldCBudW4KICAgIDxjb2RlPmxpYnRvb2w8L2NvZGU+IHVuZCA8Y29kZT5hdXRvY29uZjwvY29kZT4sIHVtIGVpbmUgVW1nZWJ1bmcgenUKICAgIHNjaGFmZmVuLCBkaWUgZGVyIHZpZWxlciBhbmRlcmVyIE9wZW4gU291cmNlIFByb2pla3RlIORobmxpY2gKICAgIHNpZWh0LjwvcD4KCiAgICA8cD5XZW5uIFNpZSB2b24gZWluZXIgVW50ZXJ2ZXJzaW9uIGF1ZiBkaWUgbuRjaHN0ZSBha3R1YWxpc2llcmVuICh6LkIuCiAgICB2b24gMi4wLjUwIGF1ZiAyLjAuNTEpLCBzcHJpbmdlbiBTaWUgYml0dGUgenVtIEFic2Nobml0dCA8YSBocmVmPSIjdXBncmFkaW5nIj5VcGdyYWRlPC9hPi48L3A+CjwvZGl2Pgo8ZGl2IGlkPSJxdWlja3ZpZXciPjx1bCBpZD0idG9jIj48bGk+PGltZyBhbHQ9IiIgc3JjPSIuL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI292ZXJ2aWV3Ij7cYmVyYmxpY2sgZvxyIGRpZSBVbmdlZHVsZGlnZW48L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNyZXF1aXJlbWVudHMiPkFuZm9yZGVydW5nZW48L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNkb3dubG9hZCI+RG93bmxvYWQ8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNleHRyYWN0Ij5BdXNwYWNrZW48L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNjb25maWd1cmUiPkRlbiBDb2RlYmF1bSBrb25maWd1cmllcmVuPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjY29tcGlsZSI+RXJzdGVsbGVuPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjaW5zdGFsbCI+SW5zdGFsbGllcmVuPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjY3VzdG9taXplIj5BbnBhc3NlbjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3Rlc3QiPlRlc3RlbjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI3VwZ3JhZGluZyI+VXBncmFkZTwvYT48L2xpPgo8L3VsPjxoMz5TaWVoZSBhdWNoPC9oMz48dWwgY2xhc3M9InNlZWFsc28iPjxsaT48YSBocmVmPSJwcm9ncmFtcy9jb25maWd1cmUuaHRtbCI+RGVuIFF1ZWxsY29kZSBrb25maWd1cmllcmVuPC9hPjwvbGk+PGxpPjxhIGhyZWY9Imludm9raW5nLmh0bWwiPkFwYWNoZSBzdGFydGVuPC9hPjwvbGk+PGxpPjxhIGhyZWY9InN0b3BwaW5nLmh0bWwiPkJlZW5kZW4gdW5kIE5ldXN0YXJ0ZW48L2E+PC9saT48bGk+PGEgaHJlZj0iI2NvbW1lbnRzX3NlY3Rpb24iPktvbW1lbnRhcmU8L2E+PC9saT48L3VsPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9Im92ZXJ2aWV3IiBpZD0ib3ZlcnZpZXciPtxiZXJibGljayBm/HIgZGllIFVuZ2VkdWxkaWdlbjwvYT48L2gyPgoKICAgIDx0YWJsZT4KICAgICAgCiAgICAgIDx0cj4KICAgICAgICA8dGQ+PGEgaHJlZj0iI2Rvd25sb2FkIj5Eb3dubG9hZDwvYT48L3RkPgoKICAgICAgICA8dGQ+PGNvZGU+JCBseW54IGh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2Rvd25sb2FkLmNnaTwvY29kZT4KICAgICAgICA8L3RkPgogICAgICA8L3RyPgoKICAgICAgPHRyPgogICAgICAgIDx0ZD48YSBocmVmPSIjZXh0cmFjdCI+QXVzcGFja2VuPC9hPjwvdGQ+CgogICAgICAgIDx0ZD48Y29kZT4kIGd6aXAgLWQgaHR0cGQtMl8xXzxlbT5OTjwvZW0+LnRhci5nejxiciAvPgogICAgICAgICAkIHRhciB4dmYgaHR0cGQtMl8xXzxlbT5OTjwvZW0+LnRhcjwvY29kZT4gPC90ZD4KICAgICAgPC90cj4KCiAgICAgIDx0cj4KICAgICAgICA8dGQ+PGEgaHJlZj0iI2NvbmZpZ3VyZSI+S29uZmlndXJpZXJlbjwvYT48L3RkPgoKICAgICAgICA8dGQ+PGNvZGU+JCAuL2NvbmZpZ3VyZSAtLXByZWZpeD08ZW0+UFJFRklYPC9lbT48L2NvZGU+CiAgICAgICAgPC90ZD4KICAgICAgPC90cj4KCiAgICAgIDx0cj4KICAgICAgICA8dGQ+PGEgaHJlZj0iI2NvbXBpbGUiPktvbXBpbGllcmVuPC9hPjwvdGQ+CgogICAgICAgIDx0ZD48Y29kZT4kIG1ha2U8L2NvZGU+IDwvdGQ+CiAgICAgIDwvdHI+CgogICAgICA8dHI+CiAgICAgICAgPHRkPjxhIGhyZWY9IiNpbnN0YWxsIj5JbnN0YWxsaWVyZW48L2E+PC90ZD4KCiAgICAgICAgPHRkPjxjb2RlPiQgbWFrZSBpbnN0YWxsPC9jb2RlPiA8L3RkPgogICAgICA8L3RyPgoKICAgICAgPHRyPgogICAgICAgIDx0ZD48YSBocmVmPSIjY3VzdG9taXplIj5BbnBhc3NlbjwvYT48L3RkPgoKICAgICAgICA8dGQ+PGNvZGU+JCB2aSA8ZW0+UFJFRklYPC9lbT4vY29uZi9odHRwZC5jb25mPC9jb2RlPiA8L3RkPgogICAgICA8L3RyPgoKICAgICAgPHRyPgogICAgICAgIDx0ZD48YSBocmVmPSIjdGVzdCI+VGVzdGVuPC9hPjwvdGQ+CgogICAgICAgIDx0ZD48Y29kZT4kIDxlbT5QUkVGSVg8L2VtPi9iaW4vYXBhY2hlY3RsIHN0YXJ0PC9jb2RlPgogICAgICAgIDwvdGQ+CiAgICAgIDwvdHI+CiAgICA8L3RhYmxlPgoKICAgIDxwPjxlbT5OTjwvZW0+IG11c3MgZHVyY2ggZGllIE51bW1lciBkZXIgVW50ZXJ2ZXJzaW9uIGVyc2V0enQgd2VyZGVuLAogICAgdW5kIDxlbT5QUkVGSVg8L2VtPiBkdXJjaCBkZW4gVmVyemVpY2huaXNwZmFkLAogICAgaW4gZGVtIGRlciBTZXJ2ZXIgaW5zdGFsbGllcnQgd2VyZGVuIHNvbGwuIFdlbm4gPGVtPlBSRUZJWDwvZW0+IG5pY2h0CiAgICBhbmdlZ2ViZW4gaXN0LCB3aXJkIGRpZSBWb3JlaW5zdGVsbHVuZyA8Y29kZT4vdXNyL2xvY2FsL2FwYWNoZTI8L2NvZGU+CiAgICB2ZXJ3ZW5kZXQuPC9wPgoKICAgIDxwPkJlZ2lubmVuZCBtaXQgZGVuIEFuZm9yZGVydW5nZW4KICAgIGb8ciBkaWUgS29tcGlsaWVydW5nIHVuZCBJbnN0YWxsYXRpb24gZGVzIEFwYWNoZSBIVFRQRCBpc3QKICAgIHdlaXRlciB1bnRlbiBqZWRlciBBYnNjaG5pdHQgZGVzIEtvbXBpbGllcnVuZ3MtIHVuZAogICAgSW5zdGFsbGF0aW9uc3ZvcmdhbmdlcyBnZW5hdWVyIGJlc2NocmllYmVuLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJyZXF1aXJlbWVudHMiIGlkPSJyZXF1aXJlbWVudHMiPkFuZm9yZGVydW5nZW48L2E+PC9oMj4KCiAgICA8cD5Gb2xnZW5kZSBBbmZvcmRlcnVuZ2VuIGdlbHRlbiBm/HIgZGllIEVyc3RlbGx1bmcgZGVzCiAgICBBcGFjaGU6PC9wPgoKICAgIDxkbD4KICAgICAgPGR0PlBsYXR0ZW5wbGF0ejwvZHQ+CiAgICAgIDxkZD5TdGVsbGVuIFNpZSBzaWNoZXIsIGRhc3MgU2llIGt1cnp6ZWl0aWcgd2VuaWdzdGVucyA1MCBNQiBmcmVpZW4KICAgICAgRmVzdHBsYXR0ZW5wbGF0eiB6dXIgVmVyZvxndW5nIGhhYmVuLiBOYWNoIGRlciBJbnN0YWxsYXRpb24KICAgICAgYmVsZWd0IGRlciBBcGFjaGUgdW5nZWbkaHIgMTAgTUIgUGxhdHRlbnBsYXR6LiBEZXIKICAgICAgdGF0c+RjaGxpY2hlIFBsYXR6YmVkYXJmIHZhcmlpZXJ0IGluIEFiaORuZ2lna2VpdCB2b24gZGVuCiAgICAgIGdld+RobHRlbiBLb25maWd1cmF0aW9uc2VpbnN0ZWxsdW5nZW4gdW5kCiAgICAgIE1vZHVsZW4gdm9uIERyaXR0YW5iaWV0ZXJuLjwvZGQ+CgogICAgICA8ZHQ+QU5TSS1DLUNvbXBpbGVyIHVuZCBHZW5lcmllcnVuZ3N3ZXJremV1Z2U8L2R0PgogICAgICA8ZGQ+U3RlbGxlbiBTaWUgc2ljaGVyLCBkYXNzIFNpZSBlaW5lbiBBTlNJLUMgQ29tcGlsZXIgaW5zdGFsbGllcnQKICAgICAgaGFiZW4uIERlciA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvZ2NjL2djYy5odG1sIj5HTlUgQwogICAgICBDb21waWxlciAoR0NDKTwvYT4gZGVyIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy8iPkZyZWUgU29mdHdhcmUKICAgICAgRm91bmRhdGlvbiAoRlNGKTwvYT4gaXN0IGVtcGZlaGxlbnN3ZXJ0IChWZXJzaW9uIDIuNy4yIGlzdCBndXQpLiBXZW5uCiAgICAgIFNpZSBkZW4gR0NDIG5pY2h0IGJlc2l0emVuLCBzdGVsbGVuIFNpZSB6dW1pbmRlc3Qgc2ljaGVyLCBkYXNzIGRlcgogICAgICBDb21waWxlciBJaHJlcyBBbmJpZXRlcnMgQU5TSS1rb21wYXRpYmVsIGlzdC4gQXXfZXJkZW0gbXVzcyBJaHIKICAgICAgPGNvZGU+UEFUSDwvY29kZT4gd2VzZW50bGljaGUgR2VuZXJpZXJ1bmdzd2Vya3pldWdlIHdpZQogICAgICA8Y29kZT5tYWtlPC9jb2RlPiBlbnRoYWx0ZW4uPC9kZD4KCiAgICAgIDxkdD5aZWl0Z2VuYXVpZ2tlaXQgYmV3YWhyZW48L2R0PgogICAgICA8ZGQ+RWxlbWVudGUgZGVzIEhUVFAtUHJvdG9rb2xscyB3ZXJkZW4gaW4gRm9ybSBlaW5lciBUYWdlc3plaXQKICAgICAgYXVzZ2Vkcvxja3QuIERhcnVtIHNvbGx0ZW4gU2llIGpldHp0IHBy/GZlbiwgb2IgSWhyIFN5c3RlbQogICAgICBkaWUgRuRoaWdrZWl0IHp1ciBaZWl0c3luY2hyb25pc2F0aW9uIGJlc2l0enQsIHVuZCBkaWVzZQogICAgICBnZWdlYmVuZW5mYWxscyBpbnN0YWxsaWVyZW4uINxibGljaGVyd2Vpc2Ugd2VyZGVuIGhpZXJm/HIKICAgICAgZGllIFByb2dyYW1tZSA8Y29kZT5udHBkYXRlPC9jb2RlPiBvZGVyIDxjb2RlPnhudHBkPC9jb2RlPiB2ZXJ3ZW5kZXQsCiAgICAgIGRpZSBhdWYgZGVtIE5ldHdvcmsgVGltZSBQcm90b2NvbCAoTlRQKSBiYXNpZXJlbi4gTuRoZXJlCiAgICAgIEluZm9ybWF0aW9uZW4g/GJlciBOVFAgU29mdHdhcmUgdW5kIPZmZmVudGxpY2hlIFplaXRzZXJ2ZXIKICAgICAgZmluZGVuIFNpZSBpbiBkZXIgVXNlbmV0IE5ld3Nncm91cCA8YSBocmVmPSJuZXdzOmNvbXAucHJvdG9jb2xzLnRpbWUubnRwIj5jb21wLnByb3RvY29scy50aW1lLm50cDwvYT4KICAgICAgdW5kIGF1ZiBkZXIgPGEgaHJlZj0iaHR0cDovL3d3dy5udHAub3JnIj5OVFAKICAgICAgSG9tZXBhZ2U8L2E+LjwvZGQ+CgogICAgICA8ZHQ+PGEgaHJlZj0iaHR0cDovL3d3dy5wZXJsLm9yZy8iPlBlcmwgNTwvYT4KICAgICAgW09QVElPTkFMXTwvZHQ+CiAgICAgIDxkZD5G/HIgZWluaWdlIEhpbGZzc2tyaXB0ZSB3aWUgPGNvZGUgY2xhc3M9InByb2dyYW0iPjxhIGhyZWY9Ii4vcHJvZ3JhbXMvYXB4cy5odG1sIj5hcHhzPC9hPjwvY29kZT4KICAgICAgb2RlciA8Y29kZSBjbGFzcz0icHJvZ3JhbSI+PGEgaHJlZj0iLi9wcm9ncmFtcy9kYm1tYW5hZ2UuaHRtbCI+ZGJtbWFuYWdlPC9hPjwvY29kZT4gKGRpZSBpbiBQZXJsCiAgICAgIGdlc2NocmllYmVuIHNpbmQpIHdpcmQgZGVyIFBlcmwgNSBJbnRlcnByZXRlciBiZW72dGlndCAoZGllCiAgICAgIFZlcnNpb25lbiBhYiA1LjAwMyBzaW5kIGF1c3JlaWNoZW5kKS4gV2VubiBTaWUgbWVocmVyZSBQZXJsCiAgICAgIEludGVycHJldGVyIGhhYmVuIChiZWlzcGllbHN3ZWlzZSBlaW5lIHN5c3RlbXdlaXRlIEluc3RhbGxhdGlvbiB2b24KICAgICAgUGVybCA0IHVuZCBJaHJlIGVpZ2VuZSBQZXJsIDUtSW5zdGFsbGF0aW9uKSwgZGFubiBzb2xsdGVuIFNpZSBkaWUKICAgICAgPGNvZGU+LS13aXRoLXBlcmw8L2NvZGU+LU9wdGlvbiAoc2llaGUgdW50ZW4pIHZlcndlbmRlbiwgdW0KICAgICAgc2ljaGVyenVzdGVsbGVuLCBkYXNzIGRlciByaWNodGlnZSBJbnRlcnByZXRlciB2b24KICAgICAgPGNvZGUgY2xhc3M9InByb2dyYW0iPjxhIGhyZWY9Ii4vcHJvZ3JhbXMvY29uZmlndXJlLmh0bWwiPmNvbmZpZ3VyZTwvYT48L2NvZGU+IGF1c2dld+RobHQgd2lyZC4KICAgICAgV2VubiBrZWluIFBlcmwgNS1JbnRlcnByZXRlciB2b20gPGNvZGUgY2xhc3M9InByb2dyYW0iPjxhIGhyZWY9Ii4vcHJvZ3JhbXMvY29uZmlndXJlLmh0bWwiPmNvbmZpZ3VyZTwvYT48L2NvZGU+LVNrcmlwdAogICAgICBnZWZ1bmRlbiB3ZXJkZW4ga2Fubiwga/ZubmVuIFNpZSBkaWUgYmV0cm9mZmVuZW4gSGlsZnNza3JpcHRlIG5pY2h0CiAgICAgIHZlcndlbmRlbiwgc2luZCBqZWRvY2ggc2VsYnN0dmVyc3TkbmRsaWNoIG5hY2ggd2llIHZvciBpbiBkZXIgTGFnZSwKICAgICAgZGVuIEFwYWNoZSAyLjAgenUgYmF1ZW4gdW5kIHp1IGluc3RhbGxpZXJlbi48L2RkPgogICAgPC9kbD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJkb3dubG9hZCIgaWQ9ImRvd25sb2FkIj5Eb3dubG9hZDwvYT48L2gyPgoKICAgIDxwPkRlciBBcGFjaGUga2FubiB2b24gZGVyIDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2Rvd25sb2FkLmNnaSI+QXBhY2hlIEhUVFAgU2VydmVyCiAgICBEb3dubG9hZHNlaXRlPC9hPiBoZXJ1bnRlcmdlbGFkZW4gd2VyZGVuLCBhdWYgZGVyIHZlcnNjaGllZGVuZSBTcGllZ2Vsc2VydmVyCiAgICBhbmdlZ2ViZW4gc2luZC4gRvxyIGRpZSBtZWlzdGVuIEJlbnV0emVyIGRlcyBBcGFjaGUgaXN0IGVzIGF1ZgogICAgVW5peC3kaG5saWNoZW4gU3lzdGVtZW4gYW0gQmVzdGVuLCBkaWUgUXVlbGxjb2RldmVyc2lvbiBoZXJ1bnRlcnp1bGFkZW4KICAgIHVuZCB6dSBrb21waWxpZXJlbi4gRGVyIEVyc3RlbGx1bmdzcHJvemVzcyAod2VpdGVyIHVudGVuIGJlc2NocmllYmVuKSBpc3QKICAgIGVpbmZhY2ggdW5kIGVybGF1YnQgZXMgSWhuZW4sIGRlbiBTZXJ2ZXIgSWhyZW4gQmVk/HJmbmlzc2VuIGFuenVwYXNzZW4uCiAgICBEYXp1IGtvbW10LCBkYXNzIEJpbuRyZGlzdHJpYnV0aW9uZW4gZ2VnZW78YmVyIGRlciBha3R1ZWxsZW4KICAgIFF1ZWxsY29kZXZlcnNpb24gb2Z0IHZlcmFsdGV0IHNpbmQuIFdlbm4gU2llIHRhdHPkY2hsaWNoIGVpbgogICAgQmlu5HJwYWtldCBoZXJ1bnRlcmxhZGVuLCBmb2xnZW4gU2llIGJpdHRlIGRlbiBBbndlaXN1bmdlbiBpbiBkZXIgRGF0ZWkKICAgIDxjb2RlPklOU1RBTEwuYmluZGlzdDwvY29kZT4sIGRpZSBkZXIgRGlzdHJpYnV0aW9uIGJlaWxpZWd0LjwvcD4KCiAgICA8cD5FcyBpc3Qgd2ljaHRpZywgZGFzcyBTaWUgbmFjaCBkZW0gSGVydW50ZXJsYWRlbiD8YmVycHL8ZmVuLAogICAgZGFzcyBlcyBzaWNoIHVtIGVpbmVyIHZvbGxzdORuZGlnZSB1bmQgdW52ZXLkbmRlcnRlIFZlcnNpb24gZGVzCiAgICBBcGFjaGUgSFRUUCBTZXJ2ZXJzIGhhbmRlbHQuIERhcyBr9m5uZW4gU2llIGVycmVpY2hlbiwgaW5kZW0gU2llIGRhcwogICAgaGVydW50ZXJnZWxhZGVuZSBQYWtldCBnZWdlbiBkaWUgUEdQLVNpZ25hdHVyIHBy/GZlbi4gRWluemVsaGVpdGVuIGRhenUKICAgIGVyZmFocmVuIFNpZSBhdWYgZGVyIDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2Rvd25sb2FkLmNnaSN2ZXJpZnkiPkRvd25sb2FkLVNlaXRlPC9hPi4gRXMKICAgIGlzdCBhdWNoIGVpbiBlcndlaXRlcnRlcyBCZWlzcGllbCB2ZXJm/GdiYXIsIGRhc3MgZGllIDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2Rldi92ZXJpZmljYXRpb24uaHRtbCI+QW53ZW5kdW5nIHZvbiBQR1A8L2E+CiAgICBiZXNjaHJlaWJ0LjwvcD4KCjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iZXh0cmFjdCIgaWQ9ImV4dHJhY3QiPkF1c3BhY2tlbjwvYT48L2gyPgoKICAgIDxwPkRhcyBBdXNwYWNrZW4gZGVzIFF1ZWxsY29kZXMgYXVzIGRlbSBBcGFjaGUgSFRUUEQgVGFyYmFsbCBiZXN0ZWh0CiAgICBhdXMgZWluZW0gc2ltcGxlbiBEZWtvbXByaW1pZXJlbiB1bmQgZGFuYWNoICJFbnQtdGFycmVuIjo8L3A+CgogIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICAgICAkIGd6aXAgLWQgaHR0cGQtMl8xXzxlbT5OTjwvZW0+LnRhci5nejxiciAvPgogICAgICAkIHRhciB4dmYgaHR0cGQtMl8xXzxlbT5OTjwvZW0+LnRhcgogIDwvY29kZT48L3A+PC9kaXY+CgogICAgPHA+RGllcyBlcnN0ZWxsdCB1bnRlcmhhbGIgZGVzIGFrdHVlbGxlbiBWZXJ6ZWljaG5pc3NlcyBlaW4gbmV1ZXMKICAgIFZlcnplaWNobmlzLCBkYXMgZGVuIFF1ZWxsY29kZSBm/HIgZGllIERpc3RyaWJ1dGlvbiBlbnRo5Gx0LgogICAgU2llIHNvbGx0ZW4gbWl0IDxjb2RlPmNkPC9jb2RlPiBpbiBkaWVzZXMgVmVyemVpY2huaXMgd2VjaHNlbG4sCiAgICBiZXZvciBTaWUgbWl0IGRlciBLb21waWxpZXJ1bmcgZGVzIFNlcnZlcnMgd2VpdGVybWFjaGVuLiA8L3A+Cgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9ImNvbmZpZ3VyZSIgaWQ9ImNvbmZpZ3VyZSI+RGVuIENvZGViYXVtIGtvbmZpZ3VyaWVyZW48L2E+PC9oMj4KCiAgICA8cD5EZXIgbuRjaHN0ZSBTY2hyaXR0IGlzdCBkaWUgS29uZmlndXJhdGlvbiBkZXMKICAgIEFwYWNoZS1Db2RlYmF1bWVzIGb8ciBJaHJlIHNwZXppZWxsZSBQbGF0dGZvcm0gdW5kIElocmUKICAgIHBlcnP2bmxpY2hlbiBCZWT8cmZuaXNzZS4gRGllcyB3aXJkIG1pdCBkZW0gU2tyaXB0CiAgICA8Y29kZSBjbGFzcz0icHJvZ3JhbSI+PGEgaHJlZj0iLi9wcm9ncmFtcy9jb25maWd1cmUuaHRtbCI+Y29uZmlndXJlPC9hPjwvY29kZT4gZHVyY2hnZWb8aHJ0LCBkYXMgaW0gV3VyemVsdmVyemVpY2huaXMKICAgIGRlciBEaXN0cmlidXRpb24gZW50aGFsdGVuIGlzdC4gKEVudHdpY2tsZXIsIHdlbGNoZSBkaWUgQ1ZTIFZlcnNpb24KICAgIGRlcyBBcGFjaGUtQ29kZWJhdW1lcyBoZXJ1bnRlcmxhZGVuLCBt/HNzZW4gPGNvZGU+YXV0b2NvbmY8L2NvZGU+CiAgICB1bmQgPGNvZGU+bGlidG9vbDwvY29kZT4gaW5zdGFsbGllcnQgaGFiZW4gdW5kIG38c3NlbgogICAgPGNvZGU+YnVpbGRjb25mPC9jb2RlPiBhdXNm/GhyZW4sIGJldm9yIHNpZSBtaXQgZGVuCiAgICBu5GNoc3RlbiBTY2hyaXR0ZW4gZm9ydGZhaHJlbiBr9m5uZW4uIERpZXMgd2lyZCBiZWkKICAgIG9mZml6aWVsbGVuIFJlbGVhc2VzIG5pY2h0IG5vdHdlbmRpZyBzZWluLik8L3A+CgogICAgPHA+VW0gZGVuIENvZGViYXVtIG1pdCBkZW4gU3RhbmRhcmRlaW5zdGVsbHVuZ2VuIHp1IGtvbmZpZ3VyaWVyZW4sCiAgICBnZWJlbiBTaWUgZWluZmFjaCA8Y29kZT4uL2NvbmZpZ3VyZTwvY29kZT4gZWluLiBadXIgxG5kZXJ1bmcKICAgIGRpZXNlciBWb3JlaW5zdGVsbHVuZ2VuIGFremVwdGllcnQgPGNvZGUgY2xhc3M9InByb2dyYW0iPjxhIGhyZWY9Ii4vcHJvZ3JhbXMvY29uZmlndXJlLmh0bWwiPmNvbmZpZ3VyZTwvYT48L2NvZGU+IGVpbmUKICAgIFJlaWhlIHZvbiBWYXJpYWJsZW4gdW5kIEtvbW1hbmRvemVpbGVub3B0aW9uZW4uPC9wPgoKICAgIDxwPkRpZSB3aWNodGlnc3RlIE9wdGlvbiBpc3QgPGNvZGU+LS1wcmVmaXg8L2NvZGU+LCBkZXIgQWJsYWdlb3J0LCBhbiBkZW0KICAgIGRlciBBcGFjaGUgc3DkdGVyIGluc3RhbGxpZXJ0IHdpcmQsIGRhIGVyIGb8ciBkaWVzZW4gT3J0CiAgICBrb25maWd1cmllcnQgd2VyZGVuIG11c3MsIHVtIGtvcnJla3QgenUgYXJiZWl0ZW4uIEVpbmUgZmVpbmVyZSBFaW5zdGVsbHVuZwogICAgZGVyIERhdGVpYWJsYWdlbiBpc3QgbWl0IHdlaXRlcmVuIDxhIGhyZWY9InByb2dyYW1zL2NvbmZpZ3VyZS5odG1sI2luc3RhbGxhdGlvbmRpcmVjdG9yaWVzIj5jb25maWd1cmUtT3B0aW9uZW48L2E+CiAgICBt9mdsaWNoLjwvcD4KCiAgICA8cD5XZWl0ZXJoaW4ga/ZubmVuIFNpZSB6dSBkaWVzZW0gWmVpdHB1bmt0IGZlc3RsZWdlbiwgd2VsY2hlIDxhIGhyZWY9InByb2dyYW1zL2NvbmZpZ3VyZS5odG1sI29wdGlvbmFsZmVhdHVyZXMiPkZ1bmt0aW9uYWxpdOR0PC9hPiBTaWUKICAgIGluIGRlbiBBcGFjaGUgYXVmbmVobWVuIG32Y2h0ZW4sIGluZGVtIFNpZSA8YSBocmVmPSJtb2QvIj5Nb2R1bGU8L2E+CiAgICBha3RpdmllcmVuIG9kZXIgZGVha3RpdmllcmVuLiBEZXIgQXBhY2hlIGJpbmRldCBzdGFuZGFyZG3k32lnCiAgICBlaW5lbiBTYXR6IHZvbiA8YSBocmVmPSJtb2QvbW9kdWxlLWRpY3QuaHRtbCNTdGF0dXMiPkJhc2lzbW9kdWxlbjwvYT4gZWluLgogICAgQW5kZXJlIE1vZHVsZSB3ZXJkZW4gbWl0IEhpbGZlIGRlciBPcHRpb24KICAgIDxjb2RlPi0tZW5hYmxlLTx2YXI+bW9kdWxlPC92YXI+PC9jb2RlPiBha3RpdmllcnQsIHdvYmVpIDx2YXI+bW9kdWxlPC92YXI+CiAgICBkZW4gTmFtZW4gZGVzIE1vZHVscyBvaG5lIGRhcyBQcuRmaXggPGNvZGU+bW9kXzwvY29kZT4gZGFyc3RlbGx0LgogICAgQXVzc2VyZGVtIHNpbmQgYWxsZSBVbnRlcnN0cmljaGUgZHVyY2ggQmluZGVzdHJpY2hlIHp1IGVyc2V0emVuLiBTaWUKICAgIGv2bm5lbiBzaWNoIGF1Y2ggZW50c2NoZWlkZW4sIE1vZHVsZSBhbHMgIjxhIGhyZWY9ImRzby5odG1sIj5TaGFyZWQKICAgIE9iamVjdHMgKERTT3MpPC9hPiIgenUga29tcGlsaWVyZW4sIHdlbGNoZSB6dXIgTGF1ZnplaXQgZ2UtIHVuZCBlbnRsYWRlbgogICAgd2VyZGVuIGv2bm5lbi4gRGF6dSB2ZXJ3ZW5kZW4gU2llIGRpZSBPcHRpb24KICAgIDxjb2RlPi0tZW5hYmxlLTx2YXI+bW9kdWxlPC92YXI+PXNoYXJlZDwvY29kZT4uIEVudHNwcmVjaGVuZCBr9m5uZW4gU2llCiAgICBCYXNpc21vZHVsZSBtaXQgZGVyIE9wdGlvbiA8Y29kZT4tLWRpc2FibGUtPHZhcj5tb2R1bGU8L3Zhcj48L2NvZGU+CiAgICBkZWFrdGl2aWVyZW4uIExhc3NlbiBTaWUgVm9yc2ljaHQgd2FsdGVuLiB3ZW5uIFNpZSBkaWVzZSBPcHRpb25lbiB2ZXJ3ZW5kZW4sCiAgICBkYSA8Y29kZSBjbGFzcz0icHJvZ3JhbSI+PGEgaHJlZj0iLi9wcm9ncmFtcy9jb25maWd1cmUuaHRtbCI+Y29uZmlndXJlPC9hPjwvY29kZT4gU2llIG5pY2h0IHdhcm5lbiBrYW5uLCB3ZW5uIGRpZSB2b24gSWhuZW4KICAgIGFuZ2VnZWJlbmVuIE1vZHVsZSBuaWNodCBleGlzdGllcmVuOyBkaWUgT3B0aW9uIHdpcmQgZGFubiBlaW5mYWNoCiAgICBpZ25vcmllcnQuPC9wPgoKICAgIDxwPlp1c+R0emxpY2ggaXN0IGVzIHp1d2VpbGVuIG5vdHdlbmRpZywgZGFzCiAgICA8Y29kZSBjbGFzcz0icHJvZ3JhbSI+PGEgaHJlZj0iLi9wcm9ncmFtcy9jb25maWd1cmUuaHRtbCI+Y29uZmlndXJlPC9hPjwvY29kZT4tU2tyaXB0IG1pdCBFeHRyYWluZm9ybWF0aW9uZW4genVtIEFibGFnZW9ydAogICAgSWhyZXMgQ29tcGlsZXJzLCBJaHJlciBCaWJsaW90aGVrZW4gb2RlciBIZWFkZXItRGF0ZWllbiB6dSB2ZXJzb3JnZW4uIERhcwogICAgdHVuIFNpZSwgaW5kZW0gU2llIGVudHdlZGVyIFVtZ2VidW5nc3ZhcmlhYmxlbiBvZGVyIEtvbW1hbmRvemVpbGVub3B0aW9uZW4KICAgIGFuIDxjb2RlIGNsYXNzPSJwcm9ncmFtIj48YSBocmVmPSIuL3Byb2dyYW1zL2NvbmZpZ3VyZS5odG1sIj5jb25maWd1cmU8L2E+PC9jb2RlPiD8YmVyZ2ViZW4uIEb8ciBtZWhyIEluZm9ybWF0aW9uZW4KICAgIGxlc2VuIFNpZSBiaXR0ZSBkaWUgSGlsZmVzZWl0ZSB6dSA8Y29kZSBjbGFzcz0icHJvZ3JhbSI+PGEgaHJlZj0iLi9wcm9ncmFtcy9jb25maWd1cmUuaHRtbCI+Y29uZmlndXJlPC9hPjwvY29kZT4uPC9wPgoKICAgIDxwPlVtIGVpbmVuIGt1cnplbiBFaW5kcnVjayB6dSBnZXdpbm5lbiwgd2VsY2hlIE32Z2xpY2hrZWl0ZW4gU2llCiAgICBoYWJlbiwgZm9sZ3QgaGllciBlaW4gdHlwaXNjaGVzIEJlaXNwaWVsLCBkYXMgZGVuIEFwYWNoZSBtaXQgZWluZW0KICAgIHNwZXppZWxsZW4gQ29tcGlsZXIgdW5kIENvbXBpbGVyZmxhZ3MgZvxyIGRhcwogICAgSW5zdGFsbGF0aW9uc3ZlcnplaWNobmlzIDxjb2RlPi9zay9wa2cvYXBhY2hlPC9jb2RlPiBrb21waWxpZXJ0LCBzb3dpZQogICAgZGllIGJlaWRlbiB6dXPkdHpsaWNoZW4gTW9kdWxlIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9yZXdyaXRlLmh0bWwiPm1vZF9yZXdyaXRlPC9hPjwvY29kZT4gdW5kCiAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2Rfc3BlbGluZy5odG1sIj5tb2Rfc3BlbGluZzwvYT48L2NvZGU+IGb8ciBzcOR0ZXJlcyBMYWRlbiBkdXJjaCBkZW4KICAgIERTTy1NZWNoYW5pc211czo8L3A+CgogIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPgogICAgICAkIENDPSJwZ2NjIiBDRkxBR1M9Ii1PMiIgXDxiciAvPgogICAgICAgLi9jb25maWd1cmUgLS1wcmVmaXg9L3N3L3BrZy9hcGFjaGUgXDxiciAvPgogICAgICAgLS1lbmFibGUtcmV3cml0ZT1zaGFyZWQgXDxiciAvPgogICAgICAgLS1lbmFibGUtc3BlbGluZz1zaGFyZWQKICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxwPldlbm4gPGNvZGUgY2xhc3M9InByb2dyYW0iPjxhIGhyZWY9Ii4vcHJvZ3JhbXMvY29uZmlndXJlLmh0bWwiPmNvbmZpZ3VyZTwvYT48L2NvZGU+IHN0YXJ0ZXQsIGJlbvZ0aWd0IGVzIG1laHJlcmUKICAgIE1pbnV0ZW4sIHVtIGRpZSBWZXJm/GdiYXJrZWl0IHZvbiBGZWF0dXJlcyBhdWYgSWhyZW0gU3lzdGVtIHp1CiAgICBwcvxmZW4gdW5kIGVpbiBNYWtlZmlsZSB6dSBnZW5lcmllcmVuLCBkYXMgc3DkdGVyIHp1cgogICAgS29tcGlsaWVydW5nIGRlcyBTZXJ2ZXJzIHZlcndlbmRldCB3aXJkLjwvcD4KCiAgICA8cD5FaW56ZWxoZWl0ZW4genUgZGVuIHZpZWxlbiB2ZXJzY2hpZWRlbmVuIDxjb2RlIGNsYXNzPSJwcm9ncmFtIj48YSBocmVmPSIuL3Byb2dyYW1zL2NvbmZpZ3VyZS5odG1sIj5jb25maWd1cmU8L2E+PC9jb2RlPi1PcHRpb25lbiBmaW5kZW4gU2llIGF1ZiBkZXIgSGlsZmVzZWl0ZSB6dQogICAgPGNvZGUgY2xhc3M9InByb2dyYW0iPjxhIGhyZWY9Ii4vcHJvZ3JhbXMvY29uZmlndXJlLmh0bWwiPmNvbmZpZ3VyZTwvYT48L2NvZGU+LjwvcD4KCjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iY29tcGlsZSIgaWQ9ImNvbXBpbGUiPkVyc3RlbGxlbjwvYT48L2gyPgoKICAgIDxwPk51biBr9m5uZW4gU2llIGRpZSB2ZXJzY2hpZWRlbmVuIFRlaWxlLCBkaWUgZGFzIEFwYWNoZS1QYWtldAogICAgYmlsZGVuLCBlaW5mYWNoIGR1cmNoIEF1c2b8aHJlbiBkZXMgZm9sZ2VuZGVuIEJlZmVobHMgZXJzdGVsbGVuOjwvcD4KCiAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PHA+PGNvZGU+JCBtYWtlPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8cD5TZWllbiBTaWUgaGllcmJlaSBiaXR0ZSBnZWR1bGRpZywgZGVubiBlaW5lIEJhc2lza29uZmlndXJhdGlvbgogICAgYmVu9nRpZ3QgdW5nZWbkaHIgMyBNaW51dGVuIGF1ZiBlaW5lbSBQZW50aXVtIElJSS9MaW51eCAyLjIuCiAgICBTeXN0ZW0uIERpZXMga2FubiBhYmVyIGFiaORuZ2lnIHZvbiBJaHJlciBIYXJkd2FyZSB1bmQgZGVyIEFuemFobAogICAgZGVyIE1vZHVsZSwgZGllIFNpZSBha3RpdmllcnQgaGFiZW4sIHNlaHIgc3RhcmsgdmFyaWllcmVuLjwvcD4KPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJpbnN0YWxsIiBpZD0iaW5zdGFsbCI+SW5zdGFsbGllcmVuPC9hPjwvaDI+CgogICAgPHA+TnVuIGVuZGxpY2ggaW5zdGFsbGllcmVuIFNpZSBkYXMgUGFja2FnZSB1bnRlciBkZW0ga29uZmlndXJpZXJ0ZW4KICAgIEluc3RhbGxhdGlvbnMtPGVtPlBSRUZJWDwvZW0+IChzaWVoZSBvYmVuOiBPcHRpb24gPGNvZGU+LS1wcmVmaXg8L2NvZGU+CiAgICBkdXJjaCBBdWZydWZlbiB2b246PC9wPgoKICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4kIG1ha2UgaW5zdGFsbDwvY29kZT48L3A+PC9kaXY+CgogICAgPHA+V2VubiBTaWUgdXBncmFkZW4sIHdpcmQgZGllIEluc3RhbGxhdGlvbiBJaHJlIEtvbmZpZ3VyYXRpb25zZGF0ZWllbgogICAgb2RlciBEb2t1bWVudGUgbmljaHQg/GJlcnNjaHJpZWJlbi48L3A+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0iY3VzdG9taXplIiBpZD0iY3VzdG9taXplIj5BbnBhc3NlbjwvYT48L2gyPgoKICAgIDxwPkFscyBu5GNoc3RlcyBr9m5uZW4gU2llIElocmVuIEFwYWNoZSBIVFRQIFNlcnZlciBhbnBhc3NlbiwKICAgIGluZGVtIFNpZSBkaWUgPGEgaHJlZj0iY29uZmlndXJpbmcuaHRtbCI+S29uZmlndXJhdGlvbnNkYXRlaWVuPC9hPgogICAgdW50ZXJoYWxiIHZvbiA8Y29kZT48ZW0+UFJFRklYPC9lbT4vY29uZi88L2NvZGU+IGVkaXRpZXJlbi48L3A+CgogIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPiQgdmkgPGVtPlBSRUZJWDwvZW0+L2NvbmYvaHR0cGQuY29uZjwvY29kZT48L3A+PC9kaXY+CgogICAgPHA+V2VyZmVuIFNpZSBhdWNoIGVpbmVuIEJsaWNrIGluIGRhcyBBcGFjaGUtSGFuZGJ1Y2ggdW50ZXIgPGEgaHJlZj0iLi8iPmRvY3MvbWFudWFsLzwvYT4uIERpZSBha3R1ZWxsc3RlIFZlcnNpb24gZGllc2VzIEhhbmRidWNocwogICAgc293aWUgZWluZSBrb21wbGV0dGUgUmVmZXJlbnogZGVyIHZlcmb8Z2JhcmVuIDxhIGhyZWY9Im1vZC9kaXJlY3RpdmVzLmh0bWwiPktvbmZpZ3VyYXRpb25zYW53ZWlzdW5nZW48L2E+IGZpbmRlbgogICAgU2llIHVudGVyIDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvdHJ1bmsvIj5odHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzL3RydW5rLzwvYT4uPC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9InRlc3QiIGlkPSJ0ZXN0Ij5UZXN0ZW48L2E+PC9oMj4KCiAgICA8cD5TaWUga/ZubmVuIG51biBJaHJlbiBBcGFjaGUgSFRUUCBTZXJ2ZXIgPGEgaHJlZj0iaW52b2tpbmcuaHRtbCI+c3RhcnRlbjwvYT4sIGluZGVtIFNpZSBlaW5mYWNoPC9wPgoKICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4kIDxlbT5QUkVGSVg8L2VtPi9iaW4vYXBhY2hlY3RsIHN0YXJ0PC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8cD5hdXNm/GhyZW4uPC9wPgoKICAgIDxwPkRhbmFjaCBzb2xsdGVuIFNpZSBJaHIgZXJzdGVzIERva3VtZW50IHVudGVyIGRlbSBVUkwKICAgIDxjb2RlPmh0dHA6Ly9sb2NhbGhvc3QvPC9jb2RlPiBhbmZvcmRlcm4ga/ZubmVuLiBEaWUgV2Vic2VpdGUsCiAgICBkaWUgU2llIHNlaGVuLCBpc3QgaW0gPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI2RvY3VtZW50cm9vdCI+RG9jdW1lbnRSb290PC9hPjwvY29kZT4KICAgIGFiZ2VsZWd0LCB3ZWxjaGVzIPxibGljaGVyd2Vpc2UgPGNvZGU+PGVtPlBSRUZJWDwvZW0+L2h0ZG9jcy88L2NvZGU+CiAgICBpc3QuIERlbiBTZXJ2ZXIgPGEgaHJlZj0ic3RvcHBpbmcuaHRtbCI+c3RvcHBlbjwvYT4gU2llIHdpZWRlciBkdXJjaAogICAgQXVzZvxocmVuIHZvbjo8L3A+CgogIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxwPjxjb2RlPiQgPGVtPlBSRUZJWDwvZW0+L2Jpbi9hcGFjaGVjdGwgc3RvcDwvY29kZT48L3A+PC9kaXY+CjwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0idXBncmFkaW5nIiBpZD0idXBncmFkaW5nIj5VcGdyYWRlPC9hPjwvaDI+CgogICAgPHA+RGVyIGVyc3RlIFNjaHJpdHQgYmVpbSBBa3R1YWxpc2llcmVuIGJlc3RlaHQgZGFyaW4sIGRpZQogICAgVmVyc2lvbnNhbmv8bmRpZ3VuZyBzb3dpZSBkaWUgPGNvZGU+Q0hBTkdFUzwvY29kZT4tRGF0ZWkgaW4gZGVyCiAgICBRdWVsbHRleHRkaXN0cmlidXRpb24genUgbGVzZW4sIHVtIMRuZGVydW5nZW4genUgZmluZGVuLCBkaWUgSWhyCiAgICBTeXN0ZW0gbfZnbGljaGVyd2Vpc2UgYmV0cmVmZmVuLiBXZW5uIFNpZSBlaW5lbiBncvbfZXJlbgogICAgVmVyc2lvbnNzcHJ1bmcgZHVyY2hm/GhyZW4gKHouQi4gdm9tIDEuMyBhdWYgMi4wIG9kZXIgdm9uIDIuMCBhdWYKICAgIDIuMiksIHdpcmQgZXMgd2FocnNjaGVpbmxpY2ggYXVjaCBncvbfZXJlIFVudGVyc2NoaWVkZSBpbiBkZXIKICAgIEtvbXBpbGllci0gdW5kIExhdWZ6ZWl0a29uZmlndXJhdGlvbiBnZWJlbiwgZGllIG1hbnVlbGxlIE5hY2hhcmJlaXRlbgogICAgZXJmb3JkZXJuLiBBdd9lcmRlbSBt/HNzZW4gYWxsZSBNb2R1bGUgYWt0dWFsaXNpZXJ0CiAgICB3ZXJkZW4sIHVtIGRlbiDEbmRlcnVuZ2VuIGRlciBNb2R1bC1BUEkgZ2VyZWNodCB6dSB3ZXJkZW4uPC9wPgoKICAgIDxwPkRpZSBBa3R1YWxpc2llcnVuZyBlaW5lciBVbnRlcnZlcnNpb24gYXVmIGVpbmUgYW5kZXJlICh6LkIuIHZvbiAyLjAuNTUKICAgIGF1ZiAyLjAuNTcpIGlzdCBlaW5mYWNoZXIuIDxjb2RlPm1ha2UgaW5zdGFsbDwvY29kZT4g/GJlcnNjaHJlaWJ0CiAgICBrZWluZSBkZXIgYmVyZWl0cyBleGlzdGllcmVuZGVuIERva3VtZW50ZSwgTG9nLSB1bmQgS29uZmlndXJhdGlvbnNkYXRlaWVuLgogICAgQXVzc2VyZGVtIGJlbfxoZW4gc2ljaCBkaWUgRW50d2lja2xlciwgaW5rb21wYXRpYmxlIMRuZGVydW5nZW4KICAgIGRlciA8Y29kZSBjbGFzcz0icHJvZ3JhbSI+PGEgaHJlZj0iLi9wcm9ncmFtcy9jb25maWd1cmUuaHRtbCI+Y29uZmlndXJlPC9hPjwvY29kZT4tT3B0aW9uZW4sIGRlciBMYXVmemVpdGtvbmZpZ3VyYXRpb24gc293aWUKICAgIGRlciBNb2R1bC1BUEkgenUgdmVybWVpZGVuLiBJbiBkZW4gbWVpc3RlbiBG5GxsZW4gc29sbHRlbiBTaWUgaW4gZGVyCiAgICBMYWdlIHNlaW4sIGRlbiBnbGVpY2hlbiA8Y29kZSBjbGFzcz0icHJvZ3JhbSI+PGEgaHJlZj0iLi9wcm9ncmFtcy9jb25maWd1cmUuaHRtbCI+Y29uZmlndXJlPC9hPjwvY29kZT4tQmVmZWhsLCBkaWUgZ2xlaWNoZQogICAgS29uZmlndXJhdGlvbiB1bmQgZGllIGdsZWljaGVuIE1vZHVsZSB3aWVkZXIgenUgdmVyd2VuZGVuLiAoRGFzIGdpbHQgZXJzdAogICAgc2VpdCBWZXJzaW9uIDIuMC40MSAtLSBmcvxoZXJlIFZlcnNpb25lbiBlbnRoaWVsdGVuIG5vY2ggaW5rb21wYXRpYmxlCiAgICDEbmRlcnVuZ2VuKS48L3A+CgogICAgPHA+VW0gYXVmIGVpbmUgbmV1ZSBVbnRlcnZlcnNpb24genUgYWt0dWFsaXNpZXJlbiwgc3VjaGVuIFNpZSB6dW7kY2hzdAogICAgZGllIERhdGVpIDxjb2RlPmNvbmZpZy5uaWNlPC9jb2RlPiBpbSA8Y29kZT5idWlsZDwvY29kZT4tVmVyemVpY2huaXMKICAgIElocmVyIFNlcnZlcmluc3RhbGxhdGlvbiBvZGVyIGltIFd1cnplbHZlcnplaWNobmlzIGRlcyBRdWVsbHRleHRiYXVtcwogICAgZGVyIGFsdGVuIEluc3RhbGxhdGlvbi4gRGllIERhdGVpIGVudGjkbHQgZGVuIGdlbmF1ZW4KICAgIDxjb2RlIGNsYXNzPSJwcm9ncmFtIj48YSBocmVmPSIuL3Byb2dyYW1zL2NvbmZpZ3VyZS5odG1sIj5jb25maWd1cmU8L2E+PC9jb2RlPi1CZWZlaGwsIGRlciB2ZXJ3ZW5kZXQgd3VyZGUsIHVtIGRlbgogICAgUXVlbGxjb2RlIHp1IGtvbmZpZ3VyaWVyZW4uIFVtIGpldHp0IHZvbiBlaW5lciBWZXJzaW9uIGF1ZiBkaWUKICAgIG7kY2hzdGUgenUgYWt0dWFsaXNpZXJlbiwga29waWVyZW4gU2llIGVpbmZhY2ggZGllCiAgICA8Y29kZT5jb25maWcubmljZTwvY29kZT4gaW4gZGFzIFZlcnplaWNobmlzIGRlciBuZXVlbiBWZXJzaW9uLAogICAgcGFzc2VuIHNpZSBiZWkgQmVkYXJmIGFuLCB1bmQgZvxocmVuIFNpZSBzaWUgYXVzOjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48cD48Y29kZT4KICAgICAgJCAuL2NvbmZpZy5uaWNlPGJyIC8+CiAgICAgICQgbWFrZTxiciAvPgogICAgICAkIG1ha2UgaW5zdGFsbDxiciAvPgogICAgICAkIDx2YXI+UFJFRklYPC92YXI+L2Jpbi9hcGFjaGVjdGwgc3RvcDxiciAvPgogICAgICAkIDx2YXI+UFJFRklYPC92YXI+L2Jpbi9hcGFjaGVjdGwgc3RhcnQ8YnIgLz4KICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0id2FybmluZyI+U2llIHNvbGx0ZW4gamVkZSBuZXVlIFZlcnNpb24gaW1tZXIgaW4gSWhyZXIgVW1nZWJ1bmcKICAgIHRlc3RlbiwgYmV2b3IgU2llIHNpZSBwcm9kdWt0aXYgc2NoYWx0ZW4uIEJlaXNwaWVsc3dlaXNlIGv2bm5lbiBTaWUKICAgIGRpZSBuZXVlIFZlcnNpb24gbmViZW4gZGVyIGFsdGVuIGluc3RhbGxpZXJlbiwgaW5kZW0gU2llIGVpbiBhbmRlcmVzCiAgICA8Y29kZT4tLXByZWZpeDwvY29kZT4gdW5kIGVpbmVuIGFuZGVyZW4gUG9ydCB35GhsZW4gKGR1cmNoIEFucGFzc2VuIGRlcgogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbXBtX2NvbW1vbi5odG1sI2xpc3RlbiI+TGlzdGVuPC9hPjwvY29kZT4tRGlyZWt0aXZlKS4gU28KICAgIGv2bm5lbiBTaWUgYXVmIGV2ZW50dWVsbGUgSW5rb21wYXRpYmlsaXTkdGVuIHRlc3RlbiwgYmV2b3IgU2llCiAgICBlbmRn/Gx0aWcgZGllIG5ldWUgVmVyc2lvbiB2ZXJ3ZW5kZW4uPC9kaXY+CjwvZGl2PjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3R0b21sYW5nIj4KPHA+PHNwYW4+VmVyZvxnYmFyZSBTcHJhY2hlbjogPC9zcGFuPjxhIGhyZWY9Ii4vZGUvaW5zdGFsbC5odG1sIiB0aXRsZT0iRGV1dHNjaCI+Jm5ic3A7ZGUmbmJzcDs8L2E+IHwKPGEgaHJlZj0iLi9lbi9pbnN0YWxsLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2VzL2luc3RhbGwuaHRtbCIgaHJlZmxhbmc9ImVzIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkVzcGHxb2wiPiZuYnNwO2VzJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vZnIvaW5zdGFsbC5odG1sIiBocmVmbGFuZz0iZnIiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iRnJhbudhaXMiPiZuYnNwO2ZyJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vamEvaW5zdGFsbC5odG1sIiBocmVmbGFuZz0iamEiIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iSmFwYW5lc2UiPiZuYnNwO2phJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4va28vaW5zdGFsbC5odG1sIiBocmVmbGFuZz0ia28iIHJlbD0iYWx0ZXJuYXRlIiB0aXRsZT0iS29yZWFuIj4mbmJzcDtrbyZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL3RyL2luc3RhbGwuaHRtbCIgaHJlZmxhbmc9InRyIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IlT8cmvnZSI+Jm5ic3A7dHImbmJzcDs8L2E+PC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgYWx0PSJ0b3AiIC8+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iPjxoMj48YSBpZD0iY29tbWVudHNfc2VjdGlvbiIgbmFtZT0iY29tbWVudHNfc2VjdGlvbiI+S29tbWVudGFyZTwvYT48L2gyPjxkaXYgY2xhc3M9Indhcm5pbmciPjxzdHJvbmc+Tm90aWNlOjwvc3Ryb25nPjxiciAvPlRoaXMgaXMgbm90IGEgUSZhbXA7QSBzZWN0aW9uLiBDb21tZW50cyBwbGFjZWQgaGVyZSBzaG91bGQgYmUgcG9pbnRlZCB0b3dhcmRzIHN1Z2dlc3Rpb25zIG9uIGltcHJvdmluZyB0aGUgZG9jdW1lbnRhdGlvbiBvciBzZXJ2ZXIsIGFuZCBtYXkgYmUgcmVtb3ZlZCBhZ2FpbiBieSBvdXIgbW9kZXJhdG9ycyBpZiB0aGV5IGFyZSBlaXRoZXIgaW1wbGVtZW50ZWQgb3IgY29uc2lkZXJlZCBpbnZhbGlkL29mZi10b3BpYy4gUXVlc3Rpb25zIG9uIGhvdyB0byBtYW5hZ2UgdGhlIEFwYWNoZSBIVFRQIFNlcnZlciBzaG91bGQgYmUgZGlyZWN0ZWQgYXQgZWl0aGVyIG91ciBJUkMgY2hhbm5lbCwgI2h0dHBkLCBvbiBGcmVlbm9kZSwgb3Igc2VudCB0byBvdXIgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvbGlzdHMuaHRtbCI+bWFpbGluZyBsaXN0czwvYT4uPC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tLy8tLT48IVtDREFUQVsvLz48IS0tCnZhciBjb21tZW50c19zaG9ydG5hbWUgPSAnaHR0cGQnOwp2YXIgY29tbWVudHNfaWRlbnRpZmllciA9ICdodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzL3RydW5rL2luc3RhbGwuaHRtbCc7CihmdW5jdGlvbih3LCBkKSB7CiAgICBpZiAody5sb2NhdGlvbi5ob3N0bmFtZS50b0xvd2VyQ2FzZSgpID09ICJodHRwZC5hcGFjaGUub3JnIikgewogICAgICAgIGQud3JpdGUoJzxkaXYgaWQ9ImNvbW1lbnRzX3RocmVhZCI+PFwvZGl2PicpOwogICAgICAgIHZhciBzID0gZC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsKICAgICAgICBzLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsKICAgICAgICBzLmFzeW5jID0gdHJ1ZTsKICAgICAgICBzLnNyYyA9ICdodHRwczovL2NvbW1lbnRzLmFwYWNoZS5vcmcvc2hvd19jb21tZW50cy5sdWE/c2l0ZT0nICsgY29tbWVudHNfc2hvcnRuYW1lICsgJyZwYWdlPScgKyBjb21tZW50c19pZGVudGlmaWVyOwogICAgICAgIChkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0gfHwgZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnYm9keScpWzBdKS5hcHBlbmRDaGlsZChzKTsKICAgIH0KICAgIGVsc2UgewogICAgICAgIGQud3JpdGUoJzxkaXYgaWQ9ImNvbW1lbnRzX3RocmVhZCI+Q29tbWVudHMgYXJlIGRpc2FibGVkIGZvciB0aGlzIHBhZ2UgYXQgdGhlIG1vbWVudC48XC9kaXY+Jyk7CiAgICB9Cn0pKHdpbmRvdywgZG9jdW1lbnQpOwovLy0tPjwhXV0+PC9zY3JpcHQ+PC9kaXY+PGRpdiBpZD0iZm9vdGVyIj4KPHAgY2xhc3M9ImFwYWNoZSI+Q29weXJpZ2h0IDIwMTYgVGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLjxiciAvPkxpemVuemllcnQgdW50ZXIgZGVyIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuL21vZC8iPk1vZHVsZTwvYT4gfCA8YSBocmVmPSIuL21vZC9xdWlja3JlZmVyZW5jZS5odG1sIj5EaXJla3RpdmVuPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvaHR0cGQvRkFRIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi9nbG9zc2FyeS5odG1sIj5HbG9zc2FyPC9hPiB8IDxhIGhyZWY9Ii4vc2l0ZW1hcC5odG1sIj5TZWl0ZW5pbmRleDwvYT48L3A+PC9kaXY+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0vLy0tPjwhW0NEQVRBWy8vPjwhLS0KaWYgKHR5cGVvZihwcmV0dHlQcmludCkgIT09ICd1bmRlZmluZWQnKSB7CiAgICBwcmV0dHlQcmludCgpOwp9Ci8vLS0+PCFdXT48L3NjcmlwdD4KPC9ib2R5PjwvaHRtbD4=