PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJmciIgeG1sOmxhbmc9ImZyIj48aGVhZD4KPG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PUlTTy04ODU5LTEiIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgLz4KPCEtLQogICAgICAgIFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYCiAgICAgICAgICAgICAgVGhpcyBmaWxlIGlzIGdlbmVyYXRlZCBmcm9tIHhtbCBzb3VyY2U6IERPIE5PVCBFRElUCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgLS0+Cjx0aXRsZT5NaXNlIOAgam91ciBkZSBsYSB2ZXJzaW9uIDIuMiB2ZXJzIGxhIHZlcnNpb24gMi40IC0gU2VydmV1ciBBcGFjaGUgSFRUUCBWZXJzaW9uIDIuNTwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC5jc3MiIHJlbD0ic3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJNYWluIHN0eWxlc2hlZXQiIC8+CjxsaW5rIGhyZWY9Ii4vc3R5bGUvY3NzL21hbnVhbC1sb29zZS0xMDBwYy5jc3MiIHJlbD0iYWx0ZXJuYXRlIHN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTm8gU2lkZWJhciAtIERlZmF1bHQgZm9udCBzaXplIiAvPgo8bGluayBocmVmPSIuL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iLi9zdHlsZS9jc3MvcHJldHRpZnkuY3NzIiAvPgo8c2NyaXB0IHNyYz0iLi9zdHlsZS9zY3JpcHRzL3ByZXR0aWZ5Lm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KPC9zY3JpcHQ+Cgo8bGluayBocmVmPSIuL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHkgaWQ9Im1hbnVhbC1wYWdlIj48ZGl2IGlkPSJwYWdlLWhlYWRlciI+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi9tb2QvcXVpY2tyZWZlcmVuY2UuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSJodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL0ZBUSI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4vZ2xvc3NhcnkuaHRtbCI+R2xvc3NhaXJlPC9hPiB8IDxhIGhyZWY9Ii4vc2l0ZW1hcC5odG1sIj5QbGFuIGR1IHNpdGU8L2E+PC9wPgo8cCBjbGFzcz0iYXBhY2hlIj5TZXJ2ZXVyIEFwYWNoZSBIVFRQIFZlcnNpb24gMi41PC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4vaW1hZ2VzL2ZlYXRoZXIucG5nIiAvPjwvZGl2Pgo8ZGl2IGNsYXNzPSJ1cCI+PGEgaHJlZj0iLi8iPjxpbWcgdGl0bGU9IiZsdDstIiBhbHQ9IiZsdDstIiBzcmM9Ii4vaW1hZ2VzL2xlZnQuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBpZD0icGF0aCI+CjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iPkFwYWNoZTwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy8iPlNlcnZldXIgSFRUUDwvYT4gJmd0OyA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLyI+RG9jdW1lbnRhdGlvbjwvYT4gJmd0OyA8YSBocmVmPSIuLyI+VmVyc2lvbiAyLjU8L2E+PC9kaXY+PGRpdiBpZD0icGFnZS1jb250ZW50Ij48ZGl2IGlkPSJwcmVhbWJsZSI+PGgxPk1pc2Ug4CBqb3VyIGRlIGxhIHZlcnNpb24gMi4yIHZlcnMgbGEgdmVyc2lvbiAyLjQ8L2gxPgo8ZGl2IGNsYXNzPSJ0b3BsYW5nIj4KPHA+PHNwYW4+TGFuZ3VlcyBEaXNwb25pYmxlczogPC9zcGFuPjxhIGhyZWY9Ii4vZW4vdXBncmFkaW5nLmh0bWwiIGhyZWZsYW5nPSJlbiIgcmVsPSJhbHRlcm5hdGUiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT4gfAo8YSBocmVmPSIuL2ZyL3VwZ3JhZGluZy5odG1sIiB0aXRsZT0iRnJhbudhaXMiPiZuYnNwO2ZyJm5ic3A7PC9hPjwvcD4KPC9kaXY+CgogIDxwPkFmaW4gZCdhc3Npc3RlciBsZXMgdXRpbGlzYXRldXJzIGxvcnMgZGUgbGV1cnMgb3DpcmF0aW9ucyBkZSBtaXNlIOAKICBqb3VyLCBub3VzIG1haW50ZW5vbnMgdW4gZG9jdW1lbnQKICBxdWkgY29tcG9ydGUgZGVzIGluZm9ybWF0aW9ucyBjcml0aXF1ZXMg4CBsJ2F0dGVudGlvbiBkZXMgcGVyc29ubmVzIHF1aQogIHV0aWxpc2VudCBk6WrgIGxlIHNlcnZldXIgSFRUUCBBcGFjaGUuIENlcyBpbmZvcm1hdGlvbnMKICBuZSBzb250IHF1ZSBkZSBicuh2ZXMgbm90ZXMsIGV0IHZvdXMKICB0cm91dmVyZXogcGx1cyBkJ2luZm9ybWF0aW9ucyBkYW5zIGxlIGRvY3VtZW50IDxhIGhyZWY9Im5ld19mZWF0dXJlc18yXzQuaHRtbCI+Tm91dmVsbGVzIGZvbmN0aW9ubmFsaXTpczwvYT4sIG91IGRhbnMKICBsZSBmaWNoaWVyIDxjb2RlPnNyYy9DSEFOR0VTPC9jb2RlPi4gTGVzIGTpdmVsb3BwZXVycyBkJ2FwcGxpY2F0aW9ucwogIGV0IGRlIG1vZHVsZXMgdHJvdXZlcm9udCB1biBy6XN1bekgZGVzIG1vZGlmaWNhdGlvbnMgZGUgbCdBUEkgZGFucyBsYQogIHZ1ZSBkJ2Vuc2VtYmxlIDxhIGhyZWY9ImRldmVsb3Blci9uZXdfYXBpXzJfNC5odG1sIj5NaXNlcyDgIGpvdXIgZGUKICBsJ0FQSTwvYT4uPC9wPgoKICA8cD5DZSBkb2N1bWVudCBwculzZW50ZSBsZXMgY2hhbmdlbWVudHMgZGUgY29tcG9ydGVtZW50IGR1IHNlcnZldXIgcXVpCiAgcGV1dmVudCBu6WNlc3NpdGVyIHVuZSBtb2RpZmljYXRpb24gZGUgbGEgY29uZmlndXJhdGlvbiwgZXQgbGEgbWFuaehyZQogIGQndXRpbGlzZXIgbGEgdmVyc2lvbiAyLjQgZHUgc2VydmV1ciBlbiBwYXJhbGzobGUgYXZlYyBsYQogIHZlcnNpb24gMi4yLiBQb3VyIHRpcmVyIHBhcnRpIGRlcyBub3V2ZWxsZXMgZm9uY3Rpb25uYWxpdOlzIGRlIGxhCiAgdmVyc2lvbiAyLjQsIHJlcG9ydGV6LXZvdXMgYXUgZG9jdW1lbnQgIk5vdXZlbGxlcyBmb25jdGlvbm5hbGl06XMiLjwvcD4KCiAgPHA+Q2UgZG9jdW1lbnQgbmUgZOljcml0IHF1ZSBsZXMgbW9kaWZpY2F0aW9ucyBpbnRlcnZlbnVlcyBlbnRyZSBsZXMgdmVyc2lvbnMKICAyLjIgZXQgMi40LiBTaSB2b3VzIGVmZmVjdHVleiB1bmUgbWlzZSDgIGpvdXIgZGVwdWlzIGxhIHZlcnNpb24gMi4wLCB2b3VzCiAgZGV2ZXogYXVzc2kgY29uc3VsdGVyIGxlCiAgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvdXBncmFkaW5nLmh0bWwiPmRvY3VtZW50IGRlIG1pc2UKICDgIGpvdXIgZGUgMi4wIHZlcnMgMi4yLjwvYT48L3A+Cgo8L2Rpdj4KPGRpdiBpZD0icXVpY2t2aWV3Ij48dWwgaWQ9InRvYyI+PGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNjb21waWxlLXRpbWUiPk1vZGlmaWNhdGlvbnMgZGVzIHBhcmFt6HRyZXMgZGUgY29tcGlsYXRpb248L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNydW4tdGltZSI+TW9kaWZpY2F0aW9ucyBkZSBsYSBjb25maWd1cmF0aW9uIOAgbCdleOljdXRpb248L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNtaXNjIj5DaGFuZ2VtZW50cyBkaXZlcnM8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiN0aGlyZC1wYXJ0eSI+TW9kdWxlcyB0aWVyczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2NvbW1vbnByb2JsZW1zIj5Qcm9ibOhtZXMgZGUgbWlzZSDgIGpvdXIgY291cmFudHM8L2E+PC9saT4KPC91bD48aDM+Vm9pciBhdXNzaTwvaDM+PHVsIGNsYXNzPSJzZWVhbHNvIj48bGk+PGEgaHJlZj0ibmV3X2ZlYXR1cmVzXzJfNC5odG1sIj5WdWUgZCdlbnNlbWJsZSBkZXMgbm91dmVsbGVzCmZvbmN0aW9ubmFsaXTpcyBkdSBzZXJ2ZXVyIEhUVFAgQXBhY2hlIDIuNDwvYT48L2xpPjxsaT48YSBocmVmPSIjY29tbWVudHNfc2VjdGlvbiI+Q29tbWVudGFpcmVzPC9hPjwvbGk+PC91bD48L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJjb21waWxlLXRpbWUiIGlkPSJjb21waWxlLXRpbWUiPk1vZGlmaWNhdGlvbnMgZGVzIHBhcmFt6HRyZXMgZGUgY29tcGlsYXRpb248L2E+PC9oMj4KICAgIAogICAgIDxwPkxlIHByb2Nlc3N1cyBkZSBjb21waWxhdGlvbiBlc3QgdHLocyBzaW1pbGFpcmUg4CBjZWx1aSBkZSBsYQogICAgIHZlcnNpb24gMi4yLiBEYW5zIGxhIHBsdXBhcnQgZGVzIGNhcywgdm91cyBwb3VycmV6IHV0aWxpc2VyIHZvdHJlCiAgICAgYW5jaWVubmUgbGlnbmUgZGUgY29tbWFuZGUgPGNvZGU+Y29uZmlndXJlPC9jb2RlPiAodGVsbGUgcXUnZWxsZQogICAgIGVzdCBlbnJlZ2lzdHLpZSBkYW5zIGxlIGZpY2hpZXIgPGNvZGU+YnVpbGQvY29uZmlnLm5pY2U8L2NvZGU+CiAgICAgc2l0dekgZGFucyBsZSBy6XBlcnRvaXJlIGRlIGNvbXBpbGF0aW9uIGR1IHNlcnZldXIpLiBWb2ljaSBjZXJ0YWlucwogICAgIGNoYW5nZW1lbnRzIGludGVydmVudXMgZGFucyBsYSBjb25maWd1cmF0aW9uIHBhciBk6WZhdXQgOjwvcD4KCiAgICA8dWw+CiAgICAgIDxsaT5MZXMgbW9kdWxlcyBzdWl2YW50cyBvbnQg6XTpIHN1cHByaW3pcyA6IG1vZF9hdXRobl9kZWZhdWx0LAogICAgICBtb2RfYXV0aHpfZGVmYXVsdCBldCBtb2RfbWVtX2NhY2hlLiBTaSB2b3VzIHV0aWxpc2llegogICAgICBtb2RfbWVtX2NhY2hlIHNvdXMgbGEgdmVyc2lvbiAyLjIsIHZvdXMgZGV2ZXogbWFpbnRlbmFudCB1dGlsaXNlcgogICAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfY2FjaGVfZGlzay5odG1sIj5tb2RfY2FjaGVfZGlzazwvYT48L2NvZGU+IGRhbnMgbGEgdmVyc2lvbiAyLjQuPC9saT4KCiAgICAgIDxsaT5Ub3V0ZXMgbGVzIGltcGzpbWVudGF0aW9ucyBkZSBy6XBhcnRpdGlvbiBkZSBjaGFyZ2Ugb250IOl06QogICAgICBk6XBsYWPpZXMgdmVycyBkZXMgc291cy1tb2R1bGVzIHNw6WNpZmlxdWVzIGRlIG1vZF9wcm94eSwgY29tbWUKICAgICAgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2xibWV0aG9kX2J5YnVzeW5lc3MuaHRtbCI+bW9kX2xibWV0aG9kX2J5YnVzeW5lc3M8L2E+PC9jb2RlPi4gVm91cyBkZXZyZXogY29tcGlsZXIgZXQKICAgICAgY2hhcmfpcyB0b3VzIGxlcyBtb2R1bGVzIGNvcnJlc3BvbmRhbnRzIHF1ZSB2b3RyZSBjb25maWd1cmF0aW9uCiAgICAgIHV0aWxpc2UuPC9saT4KCiAgICAgIDxsaT5MZSBzdXBwb3J0IGRlIEJlT1MsIFRQRiwgZXQgZGVzIGFuY2llbm5lcyBwbGF0ZXMtZm9ybWVzIHRlbGxlcwogICAgICBxdWUgQS9VWCwgTmV4dCwgZXQgVGFuZGVtIGEg6XTpIHN1cHByaW3pLCBjYXIKICAgICAgZWxsZXMgbmUgc29udCBwbHVzIGNvbnNpZOly6WVzIGNvbW1lIG1haW50ZW51ZXMuPC9saT4KCiAgICAgIDxsaT5jb25maWd1cmU6IGxlcyBtb2R1bGVzIGR5bmFtaXF1ZXMgKERTTykgc29udCBjb21waWzpcyBwYXIKICAgICAgZOlmYXV0PC9saT4KCiAgICAgIDxsaT5jb25maWd1cmU6IHBhciBk6WZhdXQsIHNldWwgdW4gamV1IGRlIG1vZHVsZXMgZGUgYmFzZSBlc3QKICAgICAgY2hhcmfpLiBMZXMgYXV0cmVzIGRpcmVjdGl2ZXMgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+TG9hZE1vZHVsZTwvY29kZT4KICAgICAgc29udCBtaXNlcyBlbiBjb21tZW50YWlyZXMgZGFucyBsZSBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24uPC9saT4KCiAgICAgIDxsaT5jb25maWd1cmU6IGxlIGpldSBkZSBtb2R1bGVzICJtb3N0IiBlc3QgY29tcGls6SBwYXIgZOlmYXV0PC9saT4KCiAgICAgIDxsaT5jb25maWd1cmU6IGxlIGpldSBkZSBtb2R1bGVzICJyZWFsbHlhbGwiIGFqb3V0ZSBsZXMgbW9kdWxlcyBkZQogICAgICBk6XZlbG9wcGV1ciBhdSBqZXUgImFsbCIuPC9saT4KICAgIDwvdWw+CgogIDwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0icnVuLXRpbWUiIGlkPSJydW4tdGltZSI+TW9kaWZpY2F0aW9ucyBkZSBsYSBjb25maWd1cmF0aW9uIOAgbCdleOljdXRpb248L2E+PC9oMj4KICAgIAo8cD5EZXMgY2hhbmdlbWVudHMgc2lnbmlmaWNhdGlmcyBkYW5zIGxhIGNvbmZpZ3VyYXRpb24gZGUKbCdhdXRvcmlzYXRpb24sIGFpbnNpIHF1ZSBxdWVscXVlcyBjaGFuZ2VtZW50cyBtaW5ldXJzLCBwZXV2ZW50Cm7pY2Vzc2l0ZXIgdW5lIG1pc2Ug4CBqb3VyIGRlcyBmaWNoaWVycyBkZSBjb25maWd1cmF0aW9uIGRlIGxhIHZlcnNpb24KMi4yIGF2YW50IGRlIGxlcyB1dGlsaXNlciBzb3VzIGxhIHZlcnNpb24gMi40LjwvcD4KCiAgICA8aDM+PGEgbmFtZT0iYXV0aHoiIGlkPSJhdXRoeiI+QXV0b3Jpc2F0aW9uPC9hPjwvaDM+CiAgICAgIAoKICAgICAgPHA+VG91dCBmaWNoaWVyIGRlIGNvbmZpZ3VyYXRpb24gcXVpIGfocmUgZGVzIGF1dG9yaXNhdGlvbnMgZGV2cmEKICAgICAgcHJvYmFibGVtZW50IOp0cmUgbWlzIOAgam91ci48L3A+CgogICAgPHA+Vm91cyBkZXZleiB2b3VzIHJlcG9ydGVyIGF1IGRvY3VtZW50IDxhIGhyZWY9Imhvd3RvL2F1dGguaHRtbCI+QXV0aGVudGlmaWNhdGlvbiwgYXV0b3Jpc2F0aW9uIGV0IGNvbnRy9GxlCiAgICBkJ2FjY+hzPC9hPiwgZXQgcGx1cyBwYXJ0aWN1bGnocmVtZW50IOAgbGEgc2VjdGlvbiA8YSBocmVmPSJob3d0by9hdXRoLmh0bWwjYmV5b25kIj5QbHVzIGxvaW4gcXUndW5lIHNpbXBsZQogICAgYXV0b3Jpc2F0aW9uPC9hPiBxdWkgZXhwbGlxdWUgbGVzIG5vdXZlYXV4IG3pY2FuaXNtZXMgcGVybWV0dGFudCBkZQogICAgY29udHL0bGVyIGwnb3JkcmUgZGFucyBsZXF1ZWwgbGVzIGRpcmVjdGl2ZXMgZCdhdXRvcmlzYXRpb24gc29udAogICAgYXBwbGlxdellcy48L3A+CgogICAgPHA+TGVzIGRpcmVjdGl2ZXMgcXVpIGNvbnRy9GxlbnQgbGEgbWFuaehyZSBkb250IGxlcyBtb2R1bGVzCiAgICBkJ2F1dG9yaXNhdGlvbiBy6WFnaXNzZW50IGxvcnNxdSdpbHMgbmUgcmVjb25uYWlzc2VudCBwYXMKICAgIGwndXRpbGlzYXRldXIgYXV0aGVudGlmaekgb250IOl06SBzdXBwcmlt6WVzIDogZWxsZXMgY29tcHJlbm5lbnQgbGVzCiAgICBkaXJlY3RpdmVzIEF1dGh6TERBUEF1dGhvcml0YXRpdmUsIEF1dGh6REJEQXV0aG9yaXRhdGl2ZSwKICAgIEF1dGh6REJNQXV0aG9yaXRhdGl2ZSwgQXV0aHpHcm91cEZpbGVBdXRob3JpdGF0aXZlLAogICAgQXV0aHpVc2VyQXV0aG9yaXRhdGl2ZSBldCBBdXRoek93bmVyQXV0aG9yaXRhdGl2ZS4gQ2VzIGRpcmVjdGl2ZXMKICAgIG9udCDpdOkgcmVtcGxhY+llcyBwYXIgbGVzIGRpcmVjdGl2ZXMgcGx1cyBleHBsaWNpdGVzIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hdXRoel9jb3JlLmh0bWwjcmVxdWlyZWFueSI+UmVxdWlyZUFueTwvYT48L2NvZGU+LCA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aHpfY29yZS5odG1sI3JlcXVpcmVub25lIj5SZXF1aXJlTm9uZTwvYT48L2NvZGU+LCBldCA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aHpfY29yZS5odG1sI3JlcXVpcmVhbGwiPlJlcXVpcmVBbGw8L2E+PC9jb2RlPi48L3A+CgogICAgPHA+U2kgdm91cyB1dGlsaXNleiA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aHpfZGJtLmh0bWwiPm1vZF9hdXRoel9kYm08L2E+PC9jb2RlPiwgdm91cyBkZXZlegogICAgbWV0dHJlIOAgam91ciB2b3RyZSBjb25maWd1cmF0aW9uIGVuIHJlbXBsYedhbnQgbGVzIGRpcmVjdGl2ZXMgZHUKICAgIHN0eWxlIDxjb2RlPlJlcXVpcmUgZ3JvdXAgLi4uPC9jb2RlPiBwYXIgZGVzIGRpcmVjdGl2ZXMgZHUgc3R5bGUKICAgIDxjb2RlPlJlcXVpcmUgZGJtLWdyb3VwIC4uLjwvY29kZT4uPC9wPgoKICAgIDxoND48YSBuYW1lPSJhY2Nlc3MiIGlkPSJhY2Nlc3MiPkNvbnRy9GxlIGQnYWNj6HM8L2E+PC9oND4KICAgICAgCgogICAgICA8cD5EYW5zIGxhIHZlcnNpb24gMi4yLCBsZSBjb250cvRsZSBkJ2FjY+hzIGJhc+kgc3VyIGxlIG5vbSBkJ2j0dGUKICAgICAgZHUgY2xpZW50LCBzb24gYWRyZXNzZSBJUCwgb3UgZCdhdXRyZXMgY2FyYWN06XJpc3RpcXVlcyBkZSBsYQogICAgICByZXF16nRlIOl0YWl0IGFzc3Vy6SB2aWEgbGVzIGRpcmVjdGl2ZXMgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2FjY2Vzc19jb21wYXQuaHRtbCNvcmRlciI+T3JkZXI8L2E+PC9jb2RlPiwgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2FjY2Vzc19jb21wYXQuaHRtbCNhbGxvdyI+QWxsb3c8L2E+PC9jb2RlPiwgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2FjY2Vzc19jb21wYXQuaHRtbCNkZW55Ij5EZW55PC9hPjwvY29kZT4sIGV0IDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hY2Nlc3NfY29tcGF0Lmh0bWwjc2F0aXNmeSI+U2F0aXNmeTwvYT48L2NvZGU+LjwvcD4KCiAgICAgIDxwPkRhbnMgbGEgdmVyc2lvbiAyLjQsIGNlIGNvbnRy9GxlIGQnYWNj6HMgZXN0IGFzc3Vy6SwgY29tbWUgdG91dAogICAgICBjb250cvRsZSBkJ2F1dG9yaXNhdGlvbiwgcGFyIGxlIG5vdXZlYXUgbW9kdWxlCiAgICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hdXRoel9ob3N0Lmh0bWwiPm1vZF9hdXRoel9ob3N0PC9hPjwvY29kZT4uIEJpZW4gcXVlIGxlIG1vZHVsZQogICAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfYWNjZXNzX2NvbXBhdC5odG1sIj5tb2RfYWNjZXNzX2NvbXBhdDwvYT48L2NvZGU+IGFzc3VyZSBsYQogICAgICBjb21wYXRpYmlsaXTpIGF2ZWMgbGVzIGFuY2llbm5lcyBjb25maWd1cmF0aW9ucywgbGVzIGFuY2llbm5lcwogICAgICBkaXJlY3RpdmVzIGRlIGNvbnRy9GxlIGQnYWNj6HMgZGV2cm9udCDqdHJlIHJlbXBsYWPpZXMgcGFyIGxlcwogICAgICBub3V2ZWF1eCBt6WNhbmlzbWVzIGQnYXV0aGVudGlmaWNhdGlvbi48L3A+CgogICAgICA8ZGl2IGNsYXNzPSJub3RlIj48aDM+TelsYW5nZXIgYW5jaWVubmVzIGV0IG5vdXZlbGxlcyBkaXJlY3RpdmVzPC9oMz4KICAgICAgPHA+TelsYW5nZXIgZCdhbmNpZW5uZXMgZGlyZWN0aXZlcyBjb21tZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYWNjZXNzX2NvbXBhdC5odG1sI29yZGVyIj5PcmRlcjwvYT48L2NvZGU+LCA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYWNjZXNzX2NvbXBhdC5odG1sI2FsbG93Ij5BbGxvdzwvYT48L2NvZGU+IG91IDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hY2Nlc3NfY29tcGF0Lmh0bWwjZGVueSI+RGVueTwvYT48L2NvZGU+IGF2ZWMgZGVzIG5vdXZlbGxlcyBjb21tZQogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aHpfY29yZS5odG1sI3JlcXVpcmUiPlJlcXVpcmU8L2E+PC9jb2RlPiBlc3QgdGVjaG5pcXVlbWVudAogICAgICBwb3NzaWJsZSBtYWlzIGTpY29uc2VpbGzpLiBFbiBlZmZldCwgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2FjY2Vzc19jb21wYXQuaHRtbCI+bW9kX2FjY2Vzc19jb21wYXQ8L2E+PC9jb2RlPiBhCiAgICAgIOl06SBjb27ndSBwb3VyIHN1cHBvcnRlciBkZXMgY29uZmlndXJhdGlvbnMgbmUgY29udGVuYW50IHF1ZSBkZXMgYW5jaWVubmVzCiAgICAgIGRpcmVjdGl2ZXMgYWZpbiBkZSBmYWNpbGl0ZXIgbGUgcGFzc2FnZSDgIGxhIHZlcnNpb24gMi40LiBMZXMKICAgICAgZXhlbXBsZXMgY2ktZGVzc291cyB2b3VzIHBlcm1ldHRyb250IGRlIHZvdXMgZmFpcmUgdW5lIG1laWxsZXVyZSBpZOllIGRlcwogICAgICBwcm9ibOhtZXMgcXVpIHBldXZlbnQgc3VydmVuaXIuCiAgICAgIDwvcD4KICAgICAgPC9kaXY+CgogICAgICA8cD5Wb2ljaSBxdWVscXVlcyBleGVtcGxlcyBkZSBjb250cvRsZSBkJ2FjY+hzIGF2ZWMgbCdhbmNpZW5uZSBldAogICAgICBsYSBub3V2ZWxsZSBt6XRob2RlIDo8L3A+CgogICAgICA8cD5EYW5zIGNldCBleGVtcGxlLCB0b3V0ZXMgbGVzIHJlcXXqdGVzIHNvbnQgcmVqZXTpZXMgOjwvcD4KICAgICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPnZlcnNpb24gMi4yIDo8L2gzPjxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctY29uZmlnIj5PcmRlciBkZW55LGFsbG93CkRlbnkgZnJvbSBhbGw8L3ByZT4KPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz52ZXJzaW9uIDIuNCA6PC9oMz48cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+UmVxdWlyZSBhbGwgZGVuaWVkPC9wcmU+CjwvZGl2PgoKICAgICAgPHA+RGFucyBjZXQgZXhlbXBsZSwgdG91dGVzIGxlcyByZXF16nRlcyBzb250IGFjY2VwdOllcyA6PC9wPgogICAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+dmVyc2lvbiAyLjIgOjwvaDM+PHByZSBjbGFzcz0icHJldHR5cHJpbnQgbGFuZy1jb25maWciPk9yZGVyIGFsbG93LGRlbnkKQWxsb3cgZnJvbSBhbGw8L3ByZT4KPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz52ZXJzaW9uIDIuNCA6PC9oMz48cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+UmVxdWlyZSBhbGwgZ3JhbnRlZDwvcHJlPgo8L2Rpdj4KCiAgICAgIDxwPkRhbnMgbCdleGVtcGxlIHN1aXZhbnQsIHRvdXMgbGVzIGj0dGVzIGR1IGRvbWFpbmUgZXhhbXBsZS5vcmcKICAgICAgb250IGwnYXV0b3Jpc2F0aW9uIGQnYWNj6HMsIHRvdXMgbGVzIGF1dHJlcyBzb250IHJlamV06XMgOjwvcD4KCiAgICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz52ZXJzaW9uIDIuMiA6PC9oMz48cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+T3JkZXIgRGVueSxBbGxvdwpEZW55IGZyb20gYWxsCkFsbG93IGZyb20gZXhhbXBsZS5vcmc8L3ByZT4KPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz52ZXJzaW9uIDIuNCA6PC9oMz48cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+UmVxdWlyZSBob3N0IGV4YW1wbGUub3JnPC9wcmU+CjwvZGl2PgoKICAgICAgPHA+RGFucyBsJ2V4ZW1wbGUgc3VpdmFudCwgbGUgbelsYW5nZSBkJ2FuY2llbm5lcyBldCBkZSBub3V2ZWxsZXMKICAgICAgZGlyZWN0aXZlcyBwcm9kdWl0IGRlcyBy6XN1bHRhdHMgaW5hdHRlbmR1cy48L3A+CiAKICAgICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPk3pbGFuZ2UgZCdhbmNpZW5uZXMgZXQgZGUgbm91dmVsbGVzIGRpcmVjdGl2ZXMgOiBSRVNVTFRBVAoJSU5BVFRFTkRVPC9oMz48cHJlIGNsYXNzPSJwcmV0dHlwcmludCBsYW5nLWNvbmZpZyI+RG9jdW1lbnRSb290ICIvdmFyL3d3dy9odG1sIgoKJmx0O0RpcmVjdG9yeSAiLyImZ3Q7CiAgICBBbGxvd092ZXJyaWRlIE5vbmUKICAgIE9yZGVyIGRlbnksYWxsb3cKICAgIERlbnkgZnJvbSBhbGwKJmx0Oy9EaXJlY3RvcnkmZ3Q7CgombHQ7TG9jYXRpb24gIi9zZXJ2ZXItc3RhdHVzIiZndDsKICAgIFNldEhhbmRsZXIgc2VydmVyLXN0YXR1cwogICAgUmVxdWlyZSAxMjcuMC4wLjEKJmx0Oy9Mb2NhdGlvbiZndDsKCmFjY2Vzcy5sb2cgLSBHRVQgL3NlcnZlci1zdGF0dXMgNDAzIDEyNy4wLjAuMQplcnJvci5sb2cgLSBBSDAxNzk3OiBjbGllbnQgZGVuaWVkIGJ5IHNlcnZlciBjb25maWd1cmF0aW9uOiAvdmFyL3d3dy9odG1sL3NlcnZlci1zdGF0dXM8L3ByZT4KPC9kaXY+CiAgICAgIDxwPlBvdXJxdW9pIGh0dHBkIGludGVyZGl0IGwnYWNj6HMg4CBzZXJ2ZXItc3RhdHVzIGFsb3JzIHF1ZSBsYQogICAgICBjb25maWd1cmF0aW9uIHNlbWJsZSBsJ2F1dG9yaXNlciA/IFBhcmNlIHF1ZSBkYW5zIGNlIHNj6W5hcmlvIGRlIDxhIGhyZWY9InNlY3Rpb25zLmh0bWwjbWVyZ2luZyI+ZnVzaW9uPC9hPiBkZSBjb25maWd1cmF0aW9uLCBsZXMKICAgICAgZGlyZWN0aXZlcyBkZSA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfYWNjZXNzX2NvbXBhdC5odG1sIj5tb2RfYWNjZXNzX2NvbXBhdDwvYT48L2NvZGU+IHNvbnQgcHJpb3JpdGFpcmVzIHBhcgogICAgICByYXBwb3J0IOAgY2VsbGVzIGRlIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hdXRoel9ob3N0Lmh0bWwiPm1vZF9hdXRoel9ob3N0PC9hPjwvY29kZT4uPC9wPgoKICAgICAgPHA+TCdleGVtcGxlIHN1aXZhbnQgcXVhbnQg4CBsdWkgcHJvZHVpdCB1biBy6XN1bHRhdCBjb25mb3JtZSA6PC9wPgoKICAgICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+PGgzPk3pbGFuZ2UgZCdhbmNpZW5uZXMgZXQgZGUgbm91dmVsbGVzIGRpcmVjdGl2ZXMgOiBSRVNVTFRBVAoJQ09ORk9STUU8L2gzPjxwcmUgY2xhc3M9InByZXR0eXByaW50IGxhbmctY29uZmlnIj5Eb2N1bWVudFJvb3QgIi92YXIvd3d3L2h0bWwiCgombHQ7RGlyZWN0b3J5ICIvIiZndDsKICAgIEFsbG93T3ZlcnJpZGUgTm9uZQogICAgUmVxdWlyZSBhbGwgZGVuaWVkCiZsdDsvRGlyZWN0b3J5Jmd0OwoKJmx0O0xvY2F0aW9uICIvc2VydmVyLXN0YXR1cyImZ3Q7CiAgICBTZXRIYW5kbGVyIHNlcnZlci1zdGF0dXMKICAgIE9yZGVyIGRlbnksYWxsb3cKICAgIERlbnkgZnJvbSBhbGwKICAgIEFsbG93IEZyb20gMTI3LjAuMC4xCiZsdDsvTG9jYXRpb24mZ3Q7CgphY2Nlc3MubG9nIC0gR0VUIC9zZXJ2ZXItc3RhdHVzIDIwMCAxMjcuMC4wLjE8L3ByZT4KPC9kaXY+IAogICAgICA8cD5FbiBjb25jbHVzaW9uLCBt6m1lIHNpIHVuZSBjb25maWd1cmF0aW9uIGh5YnJpZGUgcGV1dCBmb25jdGlvbm5lciwKICAgICAgZXNzYXlleiBkZSBsJ+l2aXRlciBsb3JzIGRlIGxhIG1pc2Ug4CBqb3VyIDogc29pdCBjb25zZXJ2ZXogbGVzIGFuY2llbm5lcwogICAgICBkaXJlY3RpdmVzLCBwdWlzIG1pZ3Jlei1sZXMgdmVycyBsZXMgbm91dmVsbGVzIHVsdOlyaWV1cmVtZW50LCBzb2l0CiAgICAgIGVmZmVjdHVleiB1bmUgbWlncmF0aW9uIGltbelkaWF0ZSBkZSB0b3V0ZXMgbGVzIGFuY2llbm5lcyBkaXJlY3RpdmVzIHZlcnMKICAgICAgbGVzIG5vdXZlbGxlcy4gIAogICAgICA8L3A+CiAgICAKCiAgICAKCiAgICA8aDM+PGEgbmFtZT0iY29uZmlnIiBpZD0iY29uZmlnIj5BdXRyZXMgY2hhbmdlbWVudHMgZGFucyBsYSBjb25maWd1cmF0aW9uPC9hPjwvaDM+CiAgICAgIAoKICAgICAgPHA+RCdhdXRyZXMgYWp1c3RlbWVudHMgbWluZXVycyBwZXV2ZW50IHMnYXbpcmVyIG7pY2Vzc2FpcmVzIHBvdXIKICAgICAgY2VydGFpbmVzIGNvbmZpZ3VyYXRpb25zIHBhcnRpY3VsaehyZXMsIGNvbW1lIGTpY3JpdCBjaS1kZXNzb3VzLjwvcD4KCiAgICAgIDx1bD4KICAgICAgICA8bGk+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+TWF4UmVxdWVzdHNQZXJDaGlsZDwvY29kZT4gYSDpdOkgcmVub21t6WUgZW4KCTxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21wbV9jb21tb24uaHRtbCNtYXhjb25uZWN0aW9uc3BlcmNoaWxkIj5NYXhDb25uZWN0aW9uc1BlckNoaWxkPC9hPjwvY29kZT47CgljZSBub3V2ZWF1IG5vbSByZWZs6HRlIG1pZXV4IGwndXNhZ2UgZGUgY2V0dGUgZGlyZWN0aXZlLgoJTCdhbmNpZW4gbm9tIGVzdCBlbmNvcmUgc3VwcG9ydOkuPC9saT4KCgk8bGk+TGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPk1heENsaWVudHM8L2NvZGU+IGEKCel06SByZW5vbW3pZSBlbiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tcG1fY29tbW9uLmh0bWwjbWF4cmVxdWVzdHdvcmtlcnMiPk1heFJlcXVlc3RXb3JrZXJzPC9hPjwvY29kZT47IGNlIG5vdXZlYXUKCW5vbSByZWZs6HRlIG1pZXV4IGwndXNhZ2UgZGUgY2V0dGUgZGlyZWN0aXZlLiBQb3VyIGxlcwoJbW9kdWxlcyBtdWx0aXByb2Nlc3N1cyBhc3luY2hyb25lcywgY29tbWUgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvZXZlbnQuaHRtbCI+ZXZlbnQ8L2E+PC9jb2RlPiwgbGUgbm9tYnJlCgltYXhpbWFsIGRlIGNsaWVudHMgbidlc3QgcGFzIOlxdWl2YWxlbnQgYXUgbm9tYnJlIGRlIHRocmVhZHMgZHUKCXdvcmtlci4gTCdhbmNpZW4gbm9tIGVzdCBlbmNvcmUgc3VwcG9ydOkuPC9saT4KCiAgICAgICAgPGxpPkxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjZGVmYXVsdHR5cGUiPkRlZmF1bHRUeXBlPC9hPjwvY29kZT4gbmUgcHJvZHVpdCBwbHVzIGF1Y3VuCgllZmZldCwgc2kgY2Ugbidlc3QgZCfpbWV0dHJlIHVuIGF2ZXJ0aXNzZW1lbnQgc2kgZWxsZSBlc3QKCWTpZmluaWUg4CB1bmUgdmFsZXVyIGF1dHJlIHF1ZSA8Y29kZT5ub25lPC9jb2RlPi4gRCdhdXRyZXMKCWRpcmVjdGl2ZXMgZGUgY29uZmlndXJhdGlvbiBsYSByZW1wbGFjZW50IGRhbnMgbGEgdmVyc2lvbiAyLjQuCiAgICAgICAgPC9saT4KCgk8bGk+TGEgdmFsZXVyIHBhciBk6WZhdXQgZGUgbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNhbGxvd292ZXJyaWRlIj5BbGxvd092ZXJyaWRlPC9hPjwvY29kZT4gZXN0IG1haW50ZW5hbnQKCTxjb2RlPk5vbmU8L2NvZGU+LjwvbGk+CgoJPGxpPkxhIHZhbGV1ciBwYXIgZOlmYXV0IGRlIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjZW5hYmxlc2VuZGZpbGUiPkVuYWJsZVNlbmRmaWxlPC9hPjwvY29kZT4gZXN0IG1haW50ZW5hbnQgT2ZmLjwvbGk+CgoJPGxpPkxhIHZhbGV1ciBwYXIgZOlmYXV0IGRlIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjZmlsZWV0YWciPkZpbGVFVGFnPC9hPjwvY29kZT4gZXN0IG1haW50ZW5hbnQgIk1UaW1lIFNpemUiCgkoc2FucyBJTm9kZSkuPC9saT4KCiAgICAgICAgPGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9kYXZfZnMuaHRtbCI+bW9kX2Rhdl9mczwvYT48L2NvZGU+OiBsZSBmb3JtYXQgZHUgZmljaGllciA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfZGF2X2ZzLmh0bWwjZGF2bG9ja2RiIj5EYXZMb2NrREI8L2E+PC9jb2RlPiBhIGNoYW5n6SBwb3VyIGxlcyBzeXN06G1lcwoJYXZlYyBpbm9kZXMuIEwnYW5jaWVuIGZpY2hpZXIgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2Rhdl9mcy5odG1sI2RhdmxvY2tkYiI+RGF2TG9ja0RCPC9hPjwvY29kZT4gZG9pdCDqdHJlIHN1cHByaW3pIGRhbnMgbGUKCWNhZHJlIGRlIGxhIG1pc2Ug4CBqb3VyLgogICAgICAgIDwvbGk+CgogICAgICAgIDxsaT5MYSBkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI2tlZXBhbGl2ZSI+S2VlcEFsaXZlPC9hPjwvY29kZT4KCW4nYWNjZXB0ZSBxdWUgbGVzIHZhbGV1cnMgPGNvZGU+T248L2NvZGU+IG91IDxjb2RlPk9mZjwvY29kZT4uCglBdmFudCwgdG91dGUgdmFsZXVyIGF1dHJlIHF1ZSAiT2ZmIiBvdSAiMCIg6XRhaXQgdHJhaXTpZSBjb21tZQoJIk9uIi48L2xpPgoKICAgICAgICA8bGk+TGVzIGRpcmVjdGl2ZXMgQWNjZXB0TXV0ZXgsIExvY2tGaWxlLCBSZXdyaXRlTG9jaywgU1NMTXV0ZXgsCglTU0xTdGFwbGluZ011dGV4IGV0IFdhdGNoZG9nTXV0ZXhQYXRoIG9udCDpdOkgcmVtcGxhY+llcyBwYXIgbGEKCWRpcmVjdGl2ZSB1bmlxdWUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI211dGV4Ij5NdXRleDwvYT48L2NvZGU+LgoJVm91cyBkZXZleiDpdmFsdWVyIGwnaW1wYWN0IGRlIGNlcyBkaXJlY3RpdmVzIG9ic29s6HRlcyBkYW5zCgl2b3RyZSBjb25maWd1cmF0aW9uIHZlcnNpb24gMi4yIGFmaW4gZGUgZOl0ZXJtaW5lciBzaSBlbGxlcwoJcGV1dmVudCDqdHJlIHNpbXBsZW1lbnQgc3VwcHJpbellcywgb3Ugc2kgZWxsZXMgZG9pdmVudCDqdHJlCglyZW1wbGFj6WVzIHBhciBsYSBkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI211dGV4Ij5NdXRleDwvYT48L2NvZGU+LjwvbGk+CgogICAgICAgIDxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfY2FjaGUuaHRtbCI+bW9kX2NhY2hlPC9hPjwvY29kZT46IGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfY2FjaGUuaHRtbCNjYWNoZWlnbm9yZXVybHNlc3Npb25pZGVudGlmaWVycyI+Q2FjaGVJZ25vcmVVUkxTZXNzaW9uSWRlbnRpZmllcnM8L2E+PC9jb2RlPgoJZWZmZWN0dWUgbWFpbnRlbmFudCB1bmUgY29ycmVzcG9uZGFuY2UgZXhhY3RlIGRhbnMgbGEgY2hh7m5lIGRlCglwYXJhbeh0cmVzIGF1IGxpZXUgZCd1bmUgY29ycmVzcG9uZGFuY2UgcGFydGllbGxlLiBTaSB2b3RyZQoJY29uZmlndXJhdGlvbiBtZXR0YWl0IGVuIGpldSBkZXMgc291cy1jaGHubmVzIGNvbW1lCgk8Y29kZT5zZXNzaW9uaWQ8L2NvZGU+IHBvdXIgY29ycmVzcG9uZHJlIOAKCTxjb2RlPi91bmUtYXBwbGljYXRpb24vaW1hZ2UuZ2lmO2pzZXNzaW9uaWQ9MTIzNDU2Nzg5PC9jb2RlPiwKCXZvdXMgZGV2ZXogbWFpbnRlbmFudCB1dGlsaXNlciBsYSBjaGHubmUgZGUgY29ycmVzcG9uZGFuY2UKCWNvbXBs6HRlIDxjb2RlPmpzZXNzaW9uaWQ8L2NvZGU+LgogICAgICAgIDwvbGk+CgoJPGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9jYWNoZS5odG1sIj5tb2RfY2FjaGU8L2E+PC9jb2RlPjogbGUgc2Vjb25kIHBhcmFt6HRyZSBkZSBsYQoJZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9jYWNoZS5odG1sI2NhY2hlZW5hYmxlIj5DYWNoZUVuYWJsZTwvYT48L2NvZGU+CgluZSBjb25jZXJuZSBsZXMgY29udGVudXMgZW4gbWFuZGF0IGRpcmVjdCBxdWUgcydpbHMgZOlidXRlbnQgcGFyCglsZSBwcm90b2NvbGUgYXBwcm9wcmnpLiBEYW5zIGxlcyB2ZXJzaW9ucyAyLjIgZXQgYW506XJpZXVyZXMsIHVuCglwYXJhbeh0cmUgdGVsIHF1ZSAnLycgY29uY2VybmFpdCB0b3VzIGxlcyBjb250ZW51cy48L2xpPgoKICAgICAgICA8bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2xkYXAuaHRtbCI+bW9kX2xkYXA8L2E+PC9jb2RlPjogbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9sZGFwLmh0bWwjbGRhcHRydXN0ZWRjbGllbnRjZXJ0Ij5MREFQVHJ1c3RlZENsaWVudENlcnQ8L2E+PC9jb2RlPiBzJ3V0aWxpc2UKCW1haW50ZW5hbnQgZXhjbHVzaXZlbWVudCBhdSBzZWluIGQndW5lIGNvbmZpZ3VyYXRpb24gZGUgbml2ZWF1Cgly6XBlcnRvaXJlLiBTaSB2b3VzIHV0aWxpc2V6IGNldHRlIGRpcmVjdGl2ZSwgcGFzc2V6IGVuIHJldnVlCgl2b3RyZSBjb25maWd1cmF0aW9uIHBvdXIgdm91cyBhc3N1cmVyIHF1J2VsbGUgZXN0IGJpZW4gcHLpc2VudGUKCWRhbnMgdG91cyBsZXMgY29udGV4dGVzIGRlIHLpcGVydG9pcmUgbuljZXNzYWlyZXMuPC9saT4KCgk8bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2ZpbHRlci5odG1sIj5tb2RfZmlsdGVyPC9hPjwvY29kZT46IGxhIHN5bnRheGUgZGUgbGEgZGlyZWN0aXZlCgk8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfZmlsdGVyLmh0bWwjZmlsdGVycHJvdmlkZXIiPkZpbHRlclByb3ZpZGVyPC9hPjwvY29kZT4gdXRpbGlzZQoJbWFpbnRlbmFudCB1bmUgZXhwcmVzc2lvbiBib29s6WVubmUgcG91ciBk6XRlcm1pbmVyIHNpIHVuIGZpbHRyZQoJcydhcHBsaXF1ZS4KICAgICAgICA8L2xpPgoKCTxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfaW5jbHVkZS5odG1sIj5tb2RfaW5jbHVkZTwvYT48L2NvZGU+OgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgIDxsaT5MJ+ls6W1lbnQgPGNvZGU+I2lmIGV4cHI8L2NvZGU+IHV0aWxpc2UgbWFpbnRlbmFudCBsZQoJICAgIG5vdXZlbCA8YSBocmVmPSJleHByLmh0bWwiPmludGVycHLpdGV1ciBkJ2V4cHJlc3Npb25zPC9hPi4KCSAgICBMJ2FuY2llbm5lIHN5bnRheGUgcGV1dCDqdHJlIHLpYWN0aXbpZSB2aWEgbGEgZGlyZWN0aXZlCgkgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2luY2x1ZGUuaHRtbCNzc2lsZWdhY3lleHBycGFyc2VyIj5TU0lMZWdhY3lFeHByUGFyc2VyPC9hPjwvY29kZT4uCiAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgIDxsaT5EYW5zIGxhIHBvcnTpZSBkdSBy6XBlcnRvaXJlLCB1bmUgZGlyZWN0aXZlIGRlCgkgICAgY29uZmlndXJhdGlvbiBTU0kqIG5lIHByb3ZvcXVlIHBsdXMgbGEgculpbml0aWFsaXNhdGlvbiDgCgkgICAgbGV1ciB2YWxldXIgcGFyIGTpZmF1dCBkZSB0b3V0ZXMgbGVzIGRpcmVjdGl2ZXMgU1NJKiBkZQoJICAgIG5pdmVhdSBy6XBlcnRvaXJlLjwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9saT4KCiAgICAgICAgPGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9jaGFyc2V0X2xpdGUuaHRtbCI+bW9kX2NoYXJzZXRfbGl0ZTwvYT48L2NvZGU+IDogbCdvcHRpb24KCTxjb2RlPkRlYnVnTGV2ZWw8L2NvZGU+IGEg6XTpIHN1cHByaW3pZSBlbiBmYXZldXIgZCd1bmUKCWNvbmZpZ3VyYXRpb24gZGUgbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNsb2dsZXZlbCI+TG9nTGV2ZWw8L2E+PC9jb2RlPiBhdSBuaXZlYXUgculwZXJ0b2lyZS4KICAgICAgICA8L2xpPgoKICAgICAgICA8bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2V4dF9maWx0ZXIuaHRtbCI+bW9kX2V4dF9maWx0ZXI8L2E+PC9jb2RlPiA6IGwnb3B0aW9uCgk8Y29kZT5EZWJ1Z0xldmVsPC9jb2RlPiBhIOl06SBzdXBwcmlt6WUgZW4gZmF2ZXVyIGQndW5lCgljb25maWd1cmF0aW9uIGRlIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjbG9nbGV2ZWwiPkxvZ0xldmVsPC9hPjwvY29kZT4gYXUgbml2ZWF1IHLpcGVydG9pcmUuCiAgICAgICAgPC9saT4KCgk8bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3Byb3h5X3NjZ2kuaHRtbCI+bW9kX3Byb3h5X3NjZ2k8L2E+PC9jb2RlPjogY2VydGFpbmVzIGFwcGxpY2F0aW9ucyB3ZWIKCW5lIGZvbmN0aW9ubmVyb250IHBsdXMgY29ycmVjdGVtZW50IGF2ZWMgbGEgbm91dmVsbGUKCWNvbmZpZ3VyYXRpb24gZGUgPGNvZGU+UEFUSF9JTkZPPC9jb2RlPiBxdWkgZXN0IGRpZmbpcmVudGUgZGUKCWNlbGxlIGRlIGxhIHZlcnNpb24gMi4yLiBMYSBjb25maWd1cmF0aW9uCglwculj6WRlbnRlIHBldXQg6nRyZQoJcmVzdGF1cullIGVuIGTpZmluaXNzYW50IGxhIHZhcmlhYmxlCgk8Y29kZT5wcm94eS1zY2dpLXBhdGhpbmZvPC9jb2RlPi48L2xpPgoKCTxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2Rfc3NsLmh0bWwiPm1vZF9zc2w8L2E+PC9jb2RlPjogbGUgY29udHL0bGUgZGUgcul2b2NhdGlvbiBkZXMKCWNlcnRpZmljYXRzIGJhc+kgc3VyIGxlcyBDUkwgZG9pdCDqdHJlIG1haW50ZW5hbnQgZXhwbGljaXRlbWVudAoJY29uZmlndXLpIHZpYSBsYSBkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3NzbC5odG1sI3NzbGNhcmV2b2NhdGlvbmNoZWNrIj5TU0xDQVJldm9jYXRpb25DaGVjazwvYT48L2NvZGU+LgogICAgICAgIDwvbGk+CgogICAgICAgIDxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2Rfc3Vic3RpdHV0ZS5odG1sIj5tb2Rfc3Vic3RpdHV0ZTwvYT48L2NvZGU+OiBsYSB0YWlsbGUgbWF4aW1hbGUgZCd1bmUKCWxpZ25lIGVzdCBtYWludGVuYW50IDFNby4KICAgICAgICA8L2xpPgoKICAgICAgICA8bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3JlcXRpbWVvdXQuaHRtbCI+bW9kX3JlcXRpbWVvdXQ8L2E+PC9jb2RlPjogc2kgY2UgbW9kdWxlIGVzdCBjaGFyZ+ksIGlsCglk6WZpbml0IG1haW50ZW5hbnQgY2VydGFpbnMgdGVtcHMgZCdhdHRlbnRlIHBhciBk6WZhdXQuPC9saT4KCgk8bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2R1bXBpby5odG1sIj5tb2RfZHVtcGlvPC9hPjwvY29kZT46IGxhIGRpcmVjdGl2ZQoJPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RHVtcElPTG9nTGV2ZWw8L2NvZGU+IG4nZXN0IHBsdXMgc3VwcG9ydOllLiBMZXMKCWRvbm7pZXMgc29udCB0b3Vqb3VycyBlbnJlZ2lzdHLpZXMgYXUgbml2ZWF1IDxjb2RlPnRyYWNlNzwvY29kZT4KCWRlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNsb2dsZXZlbCI+TG9nTGV2ZWw8L2E+PC9jb2RlPjwvbGk+CgogICAgICAgIDxsaT5KdXNxdSfgIGxhIHZlcnNpb24gMi4yLCBzdXIgbGVzIHBsYXRlZm9ybWVzIGRlIHN0eWxlIFVuaXgsIAoJbGVzIGNvbW1hbmRlcyBkZSByZWRpcmVjdGlvbiBkZXMgbG9ncyBk6WZpbmllcyB2aWEgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI2Vycm9ybG9nIj5FcnJvckxvZzwvYT48L2NvZGU+IG91IDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9sb2dfY29uZmlnLmh0bWwjY3VzdG9tbG9nIj5DdXN0b21Mb2c8L2E+PC9jb2RlPiDpdGFpZW50IGludm9xdellcwoJZW4gdXRpbGlzYW50IDxjb2RlPi9iaW4vc2ggLWM8L2NvZGU+LiBBCglwYXJ0aXIgZGUgbGEgdmVyc2lvbiAyLjQsIGxlcyBjb21tYW5kZXMgZGUgcmVkaXJlY3Rpb24gZGVzIGxvZ3MKCXNvbnQgZXjpY3V06WVzIGRpcmVjdGVtZW50LiBQb3VyIHJldHJvdXZlciBsJ2FuY2llbgoJY29tcG9ydGVtZW50LCB2b2lyIGxhIDxhIGhyZWY9ImxvZ3MuaHRtbCNwaXBlZCI+ZG9jdW1lbnRhdGlvbgoJc3VyIGxhIHJlZGlyZWN0aW9uIGRlcyBsb2dzPC9hPjwvbGk+CgogICAgPC91bD4KICAgIAogIDwvZGl2PjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0ibWlzYyIgaWQ9Im1pc2MiPkNoYW5nZW1lbnRzIGRpdmVyczwvYT48L2gyPgogICAgCgogICAgPHVsPgogICAgICA8bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2F1dG9faW5kZXguaHRtbCI+bW9kX2F1dG9faW5kZXg8L2E+PC9jb2RlPjogZXh0cmFpdCBtYWludGVuYW50IGxlcyB0aXRyZXMKICAgICAgZXQgYWZmaWNoZSBsYSBkZXNjcmlwdGlvbiBwb3VyIGxlcyBmaWNoaWVycyAueGh0bWwgcXVpIOl0YWllbnQKICAgICAganVzcXUnYWxvcnMgaWdub3Lpcy48L2xpPgoKICAgICAgPGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9zc2wuaHRtbCI+bW9kX3NzbDwvYT48L2NvZGU+IDogbGUgZm9ybWF0IHBhciBk6WZhdXQgZGVzIHZhcmlhYmxlcwogICAgICA8Y29kZT4qX0ROPC9jb2RlPiBhIGNoYW5n6S4gSWwgZXN0IGNlcGVuZGFudCBlbmNvcmUgcG9zc2libGUKICAgICAgZCd1dGlsaXNlciBsJ2FuY2llbiBmb3JtYXQgdmlhIGxhIG5vdXZlbGxlIG9wdGlvbgogICAgICA8Y29kZT5MZWdhY3lETlN0cmluZ0Zvcm1hdDwvY29kZT4gZGUgbGEgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9zc2wuaHRtbCNzc2xvcHRpb25zIj5TU0xPcHRpb25zPC9hPjwvY29kZT4uIExlIHByb3RvY29sZSBTU0x2MiBuJ2VzdAogICAgICBwbHVzIHN1cHBvcnTpLiBMZXMgZGlyZWN0aXZlcyA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2Rfc3NsLmh0bWwjc3NscHJveHljaGVja3BlZXJjbiI+U1NMUHJveHlDaGVja1BlZXJDTjwvYT48L2NvZGU+IGV0CiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL21vZF9zc2wuaHRtbCNzc2xwcm94eWNoZWNrcGVlcmV4cGlyZSI+U1NMUHJveHlDaGVja1BlZXJFeHBpcmU8L2E+PC9jb2RlPgogICAgICBzb250IG1haW50ZW5hbnQgZOlmaW5pZXMgcGFyIGTpZmF1dCDgIE9uLCBldCBsZXMgcmVxdep0ZXMgbWFuZGF06WVzCiAgICAgIHZlcnMgZGVzIHNlcnZldXJzIEhUVFBTIHBvc3PoZGFudCBkZXMgY2VydGlmaWNhdHMgbm9uIGNvbmZvcm1lcyBvdQogICAgICBw6XJpbelzIOljaG91ZXJvbnQgZG9uYyBhdmVjIHVuIGNvZGUgZCdlcnJldXIgNTAyIChCYWQgZ2F0ZXdheSkuPC9saT4KCiAgICAgIDxsaT48Y29kZSBjbGFzcz0icHJvZ3JhbSI+PGEgaHJlZj0iLi9wcm9ncmFtcy9odHBhc3N3ZC5odG1sIj5odHBhc3N3ZDwvYT48L2NvZGU+IHV0aWxpc2UgbWFpbnRlbmFudCBwYXIgZOlmYXV0IGxlcwogICAgICBjb25kZW5z6XMgTUQ1IHN1ciB0b3V0ZXMgbGVzIHBsYXRlcy1mb3JtZXMuPC9saT4KCiAgICAgIDxsaT5MYSBkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI25hbWV2aXJ0dWFsaG9zdCI+TmFtZVZpcnR1YWxIb3N0PC9hPjwvY29kZT4gbidhIHBsdXMgYXVjdW4gZWZmZXQsIHNpCiAgICAgIGNlIG4nZXN0IGwn6W1pc3Npb24gZCd1biBhdmVydGlzc2VtZW50LiBUb3V0ZSBjb21iaW5haXNvbgogICAgICBhZHJlc3NlL3BvcnQgYXBwYXJhaXNzYW50IGRhbnMgcGx1c2lldXJzIHNlcnZldXJzIHZpcnR1ZWxzIGVzdAogICAgICB0cmFpdOllIGltcGxpY2l0ZW1lbnQgY29tbWUgdW4gc2VydmV1ciB2aXJ0dWVsIGJhc+kgc3VyIGxlIG5vbS4KICAgICAgPC9saT4KCiAgICAgIDxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfZGVmbGF0ZS5odG1sIj5tb2RfZGVmbGF0ZTwvYT48L2NvZGU+IG4nZWZmZWN0dWUgcGx1cyBkZSBjb21wcmVzc2lvbgogICAgICBzJ2lsIHMnYXBlcudvaXQgcXVlIGxhIHF1YW50aXTpIGRlIGRvbm7pZXMgYWpvdXTpZSBwYXIgbGEKICAgICAgY29tcHJlc3Npb24gZXN0IHN1cOlyaWV1cmUg4CBsYSBxdWFudGl06SBkZSBkb25u6WVzIOAgY29tcHJlc3Nlci4KICAgICAgPC9saT4KCiAgICAgIDxsaT5MZXMgcGFnZXMgZCdlcnJldXIgbXVsdGlsaW5ndWVzIGRlIGxhIHZlcnNpb24gMi4yLnggbmUKICAgICAgZm9uY3Rpb25uZXJvbnQgcXUnYXBy6HMgYXZvaXIg6XTpIGNvcnJpZ+llcyBwb3VyCiAgICAgIHJlc3BlY3RlciBsYSBub3V2ZWxsZSBzeW50YXhlIGRlIGwn6WzpbWVudCA8Y29kZT4jaWYgZXhwcj08L2NvZGU+CiAgICAgIGR1IG1vZHVsZSA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfaW5jbHVkZS5odG1sIj5tb2RfaW5jbHVkZTwvYT48L2NvZGU+LCBvdSBzaSBsYSBkaXJlY3RpdmUKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2luY2x1ZGUuaHRtbCNzc2lsZWdhY3lleHBycGFyc2VyIj5TU0lMZWdhY3lFeHByUGFyc2VyPC9hPjwvY29kZT4gYQogICAgICDpdOkgYWN0aXbpZSBwb3VyIGxlIHLpcGVydG9pcmUgY29udGVuYW50IGxlcyBwYWdlcyBkJ2VycmV1ci4KICAgICAgPC9saT4KCiAgICAgIDxsaT5MYSBmb25jdGlvbm5hbGl06SBmb3VybmllIHBhciA8Y29kZT5tb2RfYXV0aG5fYWxpYXM8L2NvZGU+CiAgICAgIGRhbnMgbGVzIHBy6WPpZGVudGVzIHZlcnNpb25zIChlbiBmYWl0IGxhIGRpcmVjdGl2ZQogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aG5fY29yZS5odG1sI2F1dGhucHJvdmlkZXJhbGlhcyI+QXV0aG5Qcm92aWRlckFsaWFzPC9hPjwvY29kZT4pCiAgICAgIGVzdCBtYWludGVuYW50IGZvdXJuaWUgcGFyIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4vbW9kL21vZF9hdXRobl9jb3JlLmh0bWwiPm1vZF9hdXRobl9jb3JlPC9hPjwvY29kZT4uICAKICAgICAgPC9saT4KCiAgICAgIDxsaT48Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfY2dpZC5odG1sIj5tb2RfY2dpZDwvYT48L2NvZGU+IHV0aWxpc2UgbGEgdmFsZXVyIGRlIGxhIGRpcmVjdGl2ZQogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9jb3JlLmh0bWwjdGltZW91dCI+VGltZW91dDwvYT48L2NvZGU+IGR1IHNlcnZldXIgcG91cgogICAgICBsaW1pdGVyIGxlIHRlbXBzIGQnYXR0ZW50ZSBlbnRyZSBsZXMgc29ydGllcyBkJ3VuIHByb2dyYW1tZSBDR0kuCiAgICAgIExhIHZhbGV1ciBkZSBjZSB0ZW1wcyBkJ2F0dGVudGUgcGV1dCBtYWludGVuYW50IOp0cmUgbW9kaWZp6WUgdmlhCiAgICAgIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfY2dpZC5odG1sI2NnaWRzY3JpcHR0aW1lb3V0Ij5DR0lEU2NyaXB0VEltZW91dDwvYT48L2NvZGU+LgogICAgICA8L2xpPgoKICAgIDwvdWw+CgogICAgPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJ0aGlyZC1wYXJ0eSIgaWQ9InRoaXJkLXBhcnR5Ij5Nb2R1bGVzIHRpZXJzPC9hPjwvaDI+CiAgICAKCgk8cD5Ub3VzIGxlcyBtb2R1bGVzIHRpZXJzIGRvaXZlbnQg6nRyZSByZWNvbXBpbOlzIHBvdXIgbGEKCXZlcnNpb24gMi40IGF2YW50IGQn6nRyZSBjaGFyZ+lzLjwvcD4KCiAgICA8cD5EZSBub21icmV1eCBtb2R1bGVzIHRpZXJzIGNvbud1cyBwb3VyIGxhIHZlcnNpb24gMi4yCiAgICBmb25jdGlvbm5lcm9udCBzYW5zIGNoYW5nZW1lbnQgYXZlYyBsZSBzZXJ2ZXVyIEhUVFAgQXBhY2hlCiAgICB2ZXJzaW9uIDIuNC4gQ2VydGFpbnMgbuljZXNzaXRlcm9udCBjZXBlbmRhbnQgZGVzIG1vZGlmaWNhdGlvbnMgOyBzZQogICAgcmVwb3J0ZXIg4CBsYSB2dWUgZCdlbnNlbWJsZSA8YSBocmVmPSJkZXZlbG9wZXIvbmV3X2FwaV8yXzQuaHRtbCI+TWlzZSDgIGpvdXIgZGUgbCdBUEk8L2E+LjwvcD4KICA8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KPGgyPjxhIG5hbWU9ImNvbW1vbnByb2JsZW1zIiBpZD0iY29tbW9ucHJvYmxlbXMiPlByb2Js6G1lcyBkZSBtaXNlIOAgam91ciBjb3VyYW50czwvYT48L2gyPgogICAgCiAgICA8dWw+PGxpPkVycmV1cnMgYXUgZOltYXJyYWdlIDoKICAgIDx1bD4KICAgICAgPGxpPjxjb2RlPkludmFsaWQgY29tbWFuZCAnVXNlcicsIHBlcmhhcHMgbWlzc3BlbGxlZCBvciBkZWZpbmVkIGJ5CiAgICAgIGEgbW9kdWxlIG5vdCBpbmNsdWRlZCBpbiB0aGUgc2VydmVyIGNvbmZpZ3VyYXRpb248L2NvZGU+IC0gY2hhcmdlegogICAgICBsZSBtb2R1bGUgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX3VuaXhkLmh0bWwiPm1vZF91bml4ZDwvYT48L2NvZGU+PC9saT4KCiAgICAgIDxsaT48Y29kZT5JbnZhbGlkIGNvbW1hbmQgJ1JlcXVpcmUnLCBwZXJoYXBzIG1pc3NwZWxsZWQgb3IgZGVmaW5lZAogICAgICBieSBhIG1vZHVsZSBub3QgaW5jbHVkZWQgaW4gdGhlIHNlcnZlciBjb25maWd1cmF0aW9uPC9jb2RlPiwgb3UKICAgICAgPGNvZGU+SW52YWxpZCBjb21tYW5kICdPcmRlcicsIHBlcmhhcHMgbWlzc3BlbGxlZCBvciBkZWZpbmVkIGJ5IGEKICAgICAgbW9kdWxlIG5vdCBpbmNsdWRlZCBpbiB0aGUgc2VydmVyIGNvbmZpZ3VyYXRpb248L2NvZGU+IC0gY2hhcmdlegogICAgICBsZSBtb2R1bGUgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi9tb2QvbW9kX2FjY2Vzc19jb21wYXQuaHRtbCI+bW9kX2FjY2Vzc19jb21wYXQ8L2E+PC9jb2RlPiwgb3UgbWV0dGV6IOAgam91cgogICAgICB2ZXJzIGxhIHZlcnNpb24gMi40IGxlcyBkaXJlY3RpdmVzIGQnYXV0b3Jpc2F0aW9uLjwvbGk+CgogICAgICA8bGk+PGNvZGU+SWdub3JpbmcgZGVwcmVjYXRlZCB1c2Ugb2YgRGVmYXVsdFR5cGUgaW4gbGluZSBOTiBvZgogICAgICAvcGF0aC90by9odHRwZC5jb25mPC9jb2RlPiAtIHN1cHByaW1leiBsYSBkaXJlY3RpdmUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi9tb2QvY29yZS5odG1sI2RlZmF1bHR0eXBlIj5EZWZhdWx0VHlwZTwvYT48L2NvZGU+IGV0IHJlbXBsYWNlei1sYSBwYXIgbGVzCiAgICAgIGRpcmVjdGl2ZXMgZGUgY29uZmlndXJhdGlvbiBhcHByb3Byaellcy48L2xpPgoKICAgICAgPGxpPjxjb2RlPkludmFsaWQgY29tbWFuZCAnQWRkT3V0cHV0RmlsdGVyQnlUeXBlJywgcGVyaGFwcyBtaXNzcGVsbGVkIAogICAgICBvciBkZWZpbmVkIGJ5IGEgbW9kdWxlIG5vdCBpbmNsdWRlZCBpbiB0aGUgc2VydmVyIGNvbmZpZ3VyYXRpb24KICAgICAgPC9jb2RlPiAtIGxhIGRpcmVjdGl2ZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuL21vZC9tb2RfZmlsdGVyLmh0bWwjYWRkb3V0cHV0ZmlsdGVyYnl0eXBlIj5BZGRPdXRwdXRGaWx0ZXJCeVR5cGU8L2E+PC9jb2RlPiBxdWkg6XRhaXQKICAgICAganVzcXUnYWxvcnMgaW1wbOltZW506WUgcGFyIGxlIG1vZHVsZSBjb3JlLCBsJ2VzdCBtYWludGVuYW50IHBhcgogICAgICBsZSBtb2R1bGUgbW9kX2ZpbHRlciwgcXVpIGRvaXQgZG9uYyDqdHJlIGNoYXJn6S48L2xpPgoKICAgIDwvdWw+PC9saT4KICAgIDxsaT5FcnJldXJzIGRlIHRyYWl0ZW1lbnQgZGVzIHJlcXXqdGVzIDoKICAgIDx1bD4KICAgICAgPGxpPjxjb2RlPmNvbmZpZ3VyYXRpb24gZXJyb3I6ICBjb3VsZG4ndCBjaGVjayB1c2VyOiAvcGF0aDwvY29kZT4gLQogICAgICBjaGFyZ2V6IGxlIG1vZHVsZSA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuL21vZC9tb2RfYXV0aG5fY29yZS5odG1sIj5tb2RfYXV0aG5fY29yZTwvYT48L2NvZGU+LjwvbGk+CiAgICAgIDxsaT5MZXMgZmljaGllcnMgPGNvZGU+Lmh0YWNjZXNzPC9jb2RlPiBuZSBzb250IHBhcyB0cmFpdOlzIC0KICAgICAgVulyaWZpZXogbGEgcHLpc2VuY2UgZCd1bmUgZGlyZWN0aXZlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9Ii4vbW9kL2NvcmUuaHRtbCNhbGxvd292ZXJyaWRlIj5BbGxvd092ZXJyaWRlPC9hPjwvY29kZT4gYXBwcm9wcmnpZSA7IHNhIHZhbGV1ciBwYXIKICAgICAgZOlmYXV0IGVzdCBtYWludGVuYW50IDxjb2RlPk5vbmU8L2NvZGU+LjwvbGk+CiAgICA8L3VsPgogICAgPC9saT4KPC91bD4KCiAgPC9kaXY+PC9kaXY+CjxkaXYgY2xhc3M9ImJvdHRvbWxhbmciPgo8cD48c3Bhbj5MYW5ndWVzIERpc3BvbmlibGVzOiA8L3NwYW4+PGEgaHJlZj0iLi9lbi91cGdyYWRpbmcuaHRtbCIgaHJlZmxhbmc9ImVuIiByZWw9ImFsdGVybmF0ZSIgdGl0bGU9IkVuZ2xpc2giPiZuYnNwO2VuJm5ic3A7PC9hPiB8CjxhIGhyZWY9Ii4vZnIvdXBncmFkaW5nLmh0bWwiIHRpdGxlPSJGcmFu52FpcyI+Jm5ic3A7ZnImbmJzcDs8L2E+PC9wPgo8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBzcmM9Ii4vaW1hZ2VzL3VwLmdpZiIgYWx0PSJ0b3AiIC8+PC9hPjwvZGl2PjxkaXYgY2xhc3M9InNlY3Rpb24iPjxoMj48YSBpZD0iY29tbWVudHNfc2VjdGlvbiIgbmFtZT0iY29tbWVudHNfc2VjdGlvbiI+Q29tbWVudGFpcmVzPC9hPjwvaDI+PGRpdiBjbGFzcz0id2FybmluZyI+PHN0cm9uZz5Ob3RpY2U6PC9zdHJvbmc+PGJyIC8+VGhpcyBpcyBub3QgYSBRJmFtcDtBIHNlY3Rpb24uIENvbW1lbnRzIHBsYWNlZCBoZXJlIHNob3VsZCBiZSBwb2ludGVkIHRvd2FyZHMgc3VnZ2VzdGlvbnMgb24gaW1wcm92aW5nIHRoZSBkb2N1bWVudGF0aW9uIG9yIHNlcnZlciwgYW5kIG1heSBiZSByZW1vdmVkIGFnYWluIGJ5IG91ciBtb2RlcmF0b3JzIGlmIHRoZXkgYXJlIGVpdGhlciBpbXBsZW1lbnRlZCBvciBjb25zaWRlcmVkIGludmFsaWQvb2ZmLXRvcGljLiBRdWVzdGlvbnMgb24gaG93IHRvIG1hbmFnZSB0aGUgQXBhY2hlIEhUVFAgU2VydmVyIHNob3VsZCBiZSBkaXJlY3RlZCBhdCBlaXRoZXIgb3VyIElSQyBjaGFubmVsLCAjaHR0cGQsIG9uIEZyZWVub2RlLCBvciBzZW50IHRvIG91ciA8YSBocmVmPSJodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9saXN0cy5odG1sIj5tYWlsaW5nIGxpc3RzPC9hPi48L2Rpdj4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPjwhLS0vLy0tPjwhW0NEQVRBWy8vPjwhLS0KdmFyIGNvbW1lbnRzX3Nob3J0bmFtZSA9ICdodHRwZCc7CnZhciBjb21tZW50c19pZGVudGlmaWVyID0gJ2h0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvdHJ1bmsvdXBncmFkaW5nLmh0bWwnOwooZnVuY3Rpb24odywgZCkgewogICAgaWYgKHcubG9jYXRpb24uaG9zdG5hbWUudG9Mb3dlckNhc2UoKSA9PSAiaHR0cGQuYXBhY2hlLm9yZyIpIHsKICAgICAgICBkLndyaXRlKCc8ZGl2IGlkPSJjb21tZW50c190aHJlYWQiPjxcL2Rpdj4nKTsKICAgICAgICB2YXIgcyA9IGQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CiAgICAgICAgcy50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7CiAgICAgICAgcy5hc3luYyA9IHRydWU7CiAgICAgICAgcy5zcmMgPSAnaHR0cHM6Ly9jb21tZW50cy5hcGFjaGUub3JnL3Nob3dfY29tbWVudHMubHVhP3NpdGU9JyArIGNvbW1lbnRzX3Nob3J0bmFtZSArICcmcGFnZT0nICsgY29tbWVudHNfaWRlbnRpZmllcjsKICAgICAgICAoZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdIHx8IGQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2JvZHknKVswXSkuYXBwZW5kQ2hpbGQocyk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBkLndyaXRlKCc8ZGl2IGlkPSJjb21tZW50c190aHJlYWQiPkNvbW1lbnRzIGFyZSBkaXNhYmxlZCBmb3IgdGhpcyBwYWdlIGF0IHRoZSBtb21lbnQuPFwvZGl2PicpOwogICAgfQp9KSh3aW5kb3csIGRvY3VtZW50KTsKLy8tLT48IV1dPjwvc2NyaXB0PjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAyMDE2IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi48YnIgLz5BdXRvcmlz6SBzb3VzIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCI+QXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wPC9hPi48L3A+CjxwIGNsYXNzPSJtZW51Ij48YSBocmVmPSIuL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi9tb2QvcXVpY2tyZWZlcmVuY2UuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSJodHRwOi8vd2lraS5hcGFjaGUub3JnL2h0dHBkL0ZBUSI+RkFRPC9hPiB8IDxhIGhyZWY9Ii4vZ2xvc3NhcnkuaHRtbCI+R2xvc3NhaXJlPC9hPiB8IDxhIGhyZWY9Ii4vc2l0ZW1hcC5odG1sIj5QbGFuIGR1IHNpdGU8L2E+PC9wPjwvZGl2PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48IS0tLy8tLT48IVtDREFUQVsvLz48IS0tCmlmICh0eXBlb2YocHJldHR5UHJpbnQpICE9PSAndW5kZWZpbmVkJykgewogICAgcHJldHR5UHJpbnQoKTsKfQovLy0tPjwhXV0+PC9zY3JpcHQ+CjwvYm9keT48L2h0bWw+