PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pgo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiBsYW5nPSJlbiIgeG1sOmxhbmc9ImVuIj48aGVhZD48IS0tCiAgICAgICAgWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFgKICAgICAgICAgICAgICBUaGlzIGZpbGUgaXMgZ2VuZXJhdGVkIGZyb20geG1sIHNvdXJjZTogRE8gTk9UIEVESVQKICAgICAgICBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWAogICAgICAtLT4KPHRpdGxlPm1vZF9mY2dpZCAtIEFwYWNoZSBIVFRQIFNlcnZlcjwvdGl0bGU+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJhbGwiIHR5cGU9InRleHQvY3NzIiB0aXRsZT0iTWFpbiBzdHlsZXNoZWV0IiAvPgo8bGluayBocmVmPSIuLi9zdHlsZS9jc3MvbWFudWFsLWxvb3NlLTEwMHBjLmNzcyIgcmVsPSJhbHRlcm5hdGUgc3R5bGVzaGVldCIgbWVkaWE9ImFsbCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJObyBTaWRlYmFyIC0gRGVmYXVsdCBmb250IHNpemUiIC8+CjxsaW5rIGhyZWY9Ii4uL3N0eWxlL2Nzcy9tYW51YWwtcHJpbnQuY3NzIiByZWw9InN0eWxlc2hlZXQiIG1lZGlhPSJwcmludCIgdHlwZT0idGV4dC9jc3MiIC8+CjxsaW5rIGhyZWY9Ii4uL2ltYWdlcy9mYXZpY29uLmljbyIgcmVsPSJzaG9ydGN1dCBpY29uIiAvPjwvaGVhZD4KPGJvZHk+CjxkaXYgaWQ9InBhZ2UtaGVhZGVyIj4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSIuLi9mYXEvIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+R2xvc3Nhcnk8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5TaXRlbWFwPC9hPjwvcD4KPHAgY2xhc3M9ImFwYWNoZSI+QXBhY2hlIEhUVFAgU2VydmVyIFZlcnNpb24gMi40PC9wPgo8aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9mZWF0aGVyLmdpZiIgLz48L2Rpdj4KPGRpdiBjbGFzcz0idXAiPjxhIGhyZWY9Ii4vIj48aW1nIHRpdGxlPSImbHQ7LSIgYWx0PSImbHQ7LSIgc3JjPSIuLi9pbWFnZXMvbGVmdC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGlkPSJwYXRoIj4KPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnLyI+QXBhY2hlPC9hPiAmZ3Q7IDxhIGhyZWY9Imh0dHA6Ly9odHRwZC5hcGFjaGUub3JnLyI+SFRUUCBTZXJ2ZXI8L2E+ICZndDsgPGEgaHJlZj0iaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8iPkRvY3VtZW50YXRpb248L2E+ICZndDsgPGEgaHJlZj0iLi4vIj5WZXJzaW9uIDIuNDwvYT4gJmd0OyA8YSBocmVmPSIuLyI+TW9kdWxlczwvYT48L2Rpdj4KPGRpdiBpZD0icGFnZS1jb250ZW50Ij4KPGRpdiBpZD0icHJlYW1ibGUiPjxoMT5BcGFjaGUgTW9kdWxlIG1vZF9mY2dpZDwvaDE+CjxkaXYgY2xhc3M9InRvcGxhbmciPgo8cD48c3Bhbj5BdmFpbGFibGUgTGFuZ3VhZ2VzOiA8L3NwYW4+PGEgaHJlZj0iLi4vZW4vbW9kL21vZF9mY2dpZC5odG1sIiB0aXRsZT0iRW5nbGlzaCI+Jm5ic3A7ZW4mbmJzcDs8L2E+PC9wPgo8L2Rpdj4KPHRhYmxlIGNsYXNzPSJtb2R1bGUiPjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlByb3ZpZGVzIGZvciBleGVjdXRpb24gb2YgRmFzdENHSSBhcHBsaWNhdGlvbnM8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0ibW9kdWxlLWRpY3QuaHRtbCNNb2R1bGVJZGVudGlmaWVyIj5Nb2R1bGWgSWRlbnRpZmllcjo8L2E+PC90aD48dGQ+ZmNnaWRfbW9kdWxlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjU291cmNlRmlsZSI+U291cmNloEZpbGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZC5jPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9Im1vZHVsZS1kaWN0Lmh0bWwjQ29tcGF0aWJpbGl0eSI+Q29tcGF0aWJpbGl0eTo8L2E+PC90aD48dGQ+QXBhY2hlIDIuMCBhbmQgaGlnaGVyPC90ZD48L3RyPjwvdGFibGU+CjxoMz5TdW1tYXJ5PC9oMz4KCiAgICA8cD5BbnkgcHJvZ3JhbSBhc3NpZ25lZCB0byB0aGUgaGFuZGxlciA8Y29kZT5mY2dpZC1zY3JpcHQ8L2NvZGU+IGlzIHByb2Nlc3NlZAogICAgdXNpbmcgdGhlIEZhc3RDR0kgcHJvdG9jb2w7IDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZmNnaWQuaHRtbCI+bW9kX2ZjZ2lkPC9hPjwvY29kZT4gc3RhcnRzIGEgc3VmZmljaWVudAogICAgbnVtYmVyIGluc3RhbmNlcyBvZiB0aGUgcHJvZ3JhbSB0byBoYW5kbGUgY29uY3VycmVudCByZXF1ZXN0cywgYW5kIHRoZXNlCiAgICBwcm9ncmFtcyByZW1haW4gcnVubmluZyB0byBoYW5kbGUgZnVydGhlciBpbmNvbWluZyByZXF1ZXN0cy4gIFRoaXMgaXMKICAgIHNpZ25pZmljYW50bHkgZmFzdGVyIHRoYW4gdXNpbmcgdGhlIGRlZmF1bHQgPGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9jZ2kuaHRtbCI+bW9kX2NnaTwvYT48L2NvZGU+IG9yCiAgICA8Y29kZSBjbGFzcz0ibW9kdWxlIj48YSBocmVmPSIuLi9tb2QvbW9kX2NnaWQuaHRtbCI+bW9kX2NnaWQ8L2E+PC9jb2RlPiBtb2R1bGVzIHRvIGxhdW5jaCB0aGUgcHJvZ3JhbSB1cG9uIGVhY2ggcmVxdWVzdC4KICAgIEhvd2V2ZXIsIHRoZSBwcm9ncmFtcyBpbnZva2VkIGJ5IDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfZmNnaWQuaHRtbCI+bW9kX2ZjZ2lkPC9hPjwvY29kZT4gY29udGludWUgdG8KICAgIGNvbnN1bWUgcmVzb3VyY2VzLCBzbyB0aGUgYWRtaW5pc3RyYXRvciBtdXN0IHdlaWdoIHRoZSBpbXBhY3Qgb2YgaW52b2tpbmcKICAgIGEgcGFydGljdWxhciBwcm9ncmFtIG9uY2UgcGVyIHJlcXVlc3QgYWdhaW5zdCB0aGUgcmVzb3VyY2VzIHJlcXVpcmVkIHRvCiAgICBsZWF2ZSBhIHN1ZmZpY2llbnQgbnVtYmVyIG9mIGluc3RhbmNlcyBydW5uaW5nIGNvbnRpbnVvdXNseS48L3A+CgogICAgPHA+VGhlIHBvb2wgb2YgZmNnaWQtaW52b2tlZCBwcm9ncmFtcyBpcyBzaGFyZWQgYmV0d2VlbiBhbGwgaHR0cGQgd29ya2Vycy4KICAgIENvbmZpZ3VyYXRpb24gZGlyZWN0aXZlcyBiZWxvdyBsZXQgdGhlIGFkbWluaXN0cmF0b3IgdHVuZSB0aGUgbnVtYmVyIG9mCiAgICBpbnN0YW5jZXMgb2YgdGhlIHByb2dyYW0gdGhhdCB3aWxsIHJ1biBjb25jdXJyZW50bHkuPC9wPgoKICAgIDxwPlNwZWNpZmljIGV4ZWN1dGFibGVzIGFyZSBhc3NpZ25lZCB0aGlzIGhhbmRsZXIgZWl0aGVyIGJ5IGhhdmluZyBhIG5hbWUKICAgIGNvbnRhaW5pbmcgYW4gZXh0ZW5zaW9uIGRlZmluZWQgYnkgdGhlCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX21pbWUuaHRtbCNhZGRoYW5kbGVyIj5BZGRIYW5kbGVyPC9hPjwvY29kZT4gZGlyZWN0aXZlLCBvciB3aXRoIGFuCiAgICBvdmVycmlkZSB1c2luZyB0aGUgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9taW1lLmh0bWwjc2V0aGFuZGxlciI+U2V0SGFuZGxlcjwvYT48L2NvZGU+CiAgICBkaXJlY3RpdmUgKGUuZy4sIGZvciBhbGwgZmlsZXMgaW4gYSBzcGVjaWZpYyBkaXJlY3Rvcnkgc3VjaCBhcyBjZ2ktYmluKS48L3A+CgogICAgPHA+U29tZSBjaGFuZ2VzIGhhdmUgYmVlbiBtYWRlIGluIHRoZSBBU0YgcmVsZWFzZSBvZiBtb2RfZmNnaWQgd2hpY2gKICAgIGNhbiBhZmZlY3QgZXhpc3RpbmcgY29uZmlndXJhdGlvbnMuICBBbGwgZG9jdW1lbnRhdGlvbiByZWZlcnMgdG8gbmV3CiAgICBuYW1lcyBmb3IgdGhlIGRpcmVjdGl2ZXMuICAoVGhlIG9sZCBuYW1lcyBzdGlsbCB3b3JrIGJ1dCBhcmUgbm93CiAgICBkZXByZWNhdGVkLikgIFBsZWFzZSByZWFkIHRoZSA8YSBocmVmPSIjdXBncmFkZSI+VXBncmFkZSBOb3RlczwvYT4gZm9yCiAgICBkZXRhaWxzLjwvcD4KCiAgICA8cD5Gb3IgYW4gaW50cm9kdWN0aW9uIHRvIHVzaW5nIENHSSBzY3JpcHRzIHdpdGggQXBhY2hlLCBzZWUKICAgIHRoZSBnZW5lcmljIHR1dG9yaWFsIG9uIDxhIGhyZWY9Ii4uL2hvd3RvL2NnaS5odG1sIj5EeW5hbWljIENvbnRlbnQKICAgIFdpdGggQ0dJPC9hPi48L3A+CgogIDwvZGl2Pgo8ZGl2IGlkPSJxdWlja3ZpZXciPjxoMyBjbGFzcz0iZGlyZWN0aXZlcyI+RGlyZWN0aXZlczwvaDM+Cjx1bCBpZD0idG9jIj4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRhY2Nlc3NjaGVja2VyIj5GY2dpZEFjY2Vzc0NoZWNrZXI8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRhY2Nlc3NjaGVja2VyYXV0aG9yaXRhdGl2ZSI+RmNnaWRBY2Nlc3NDaGVja2VyQXV0aG9yaXRhdGl2ZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGF1dGhlbnRpY2F0b3IiPkZjZ2lkQXV0aGVudGljYXRvcjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGF1dGhlbnRpY2F0b3JhdXRob3JpdGF0aXZlIj5GY2dpZEF1dGhlbnRpY2F0b3JBdXRob3JpdGF0aXZlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkYXV0aG9yaXplciI+RmNnaWRBdXRob3JpemVyPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkYXV0aG9yaXplcmF1dGhvcml0YXRpdmUiPkZjZ2lkQXV0aG9yaXplckF1dGhvcml0YXRpdmU8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRidXN5c2NhbmludGVydmFsIj5GY2dpZEJ1c3lTY2FuSW50ZXJ2YWw8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRidXN5dGltZW91dCI+RmNnaWRCdXN5VGltZW91dDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGNtZG9wdGlvbnMiPkZjZ2lkQ21kT3B0aW9uczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGNvbm5lY3R0aW1lb3V0Ij5GY2dpZENvbm5lY3RUaW1lb3V0PC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkZXJyb3JzY2FuaW50ZXJ2YWwiPkZjZ2lkRXJyb3JTY2FuSW50ZXJ2YWw8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRmaXhwYXRoaW5mbyI+RmNnaWRGaXhQYXRoaW5mbzwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGlkbGVzY2FuaW50ZXJ2YWwiPkZjZ2lkSWRsZVNjYW5JbnRlcnZhbDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGlkbGV0aW1lb3V0Ij5GY2dpZElkbGVUaW1lb3V0PC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkaW5pdGlhbGVudiI+RmNnaWRJbml0aWFsRW52PC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkaW90aW1lb3V0Ij5GY2dpZElPVGltZW91dDwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZGlwY2RpciI+RmNnaWRJUENEaXI8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRtYXhwcm9jZXNzZXMiPkZjZ2lkTWF4UHJvY2Vzc2VzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkbWF4cHJvY2Vzc2VzcGVyY2xhc3MiPkZjZ2lkTWF4UHJvY2Vzc2VzUGVyQ2xhc3M8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjZmNnaWRtYXhyZXF1ZXN0aW5tZW0iPkZjZ2lkTWF4UmVxdWVzdEluTWVtPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkbWF4cmVxdWVzdGxlbiI+RmNnaWRNYXhSZXF1ZXN0TGVuPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkbWF4cmVxdWVzdHNwZXJwcm9jZXNzIj5GY2dpZE1heFJlcXVlc3RzUGVyUHJvY2VzczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZG1pbnByb2Nlc3Nlc3BlcmNsYXNzIj5GY2dpZE1pblByb2Nlc3Nlc1BlckNsYXNzPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkb3V0cHV0YnVmZmVyc2l6ZSI+RmNnaWRPdXRwdXRCdWZmZXJTaXplPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkcGFzc2hlYWRlciI+RmNnaWRQYXNzSGVhZGVyPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkcHJvY2Vzc2xpZmV0aW1lIj5GY2dpZFByb2Nlc3NMaWZlVGltZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZHByb2Nlc3N0YWJsZWZpbGUiPkZjZ2lkUHJvY2Vzc1RhYmxlRmlsZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZHNwYXduc2NvcmUiPkZjZ2lkU3Bhd25TY29yZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZHNwYXduc2NvcmV1cGxpbWl0Ij5GY2dpZFNwYXduU2NvcmVVcExpbWl0PC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkdGVybWluYXRpb25zY29yZSI+RmNnaWRUZXJtaW5hdGlvblNjb3JlPC9hPjwvbGk+CjxsaT48aW1nIGFsdD0iIiBzcmM9Ii4uL2ltYWdlcy9kb3duLmdpZiIgLz4gPGEgaHJlZj0iI2ZjZ2lkdGltZXNjb3JlIj5GY2dpZFRpbWVTY29yZTwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZHdpbjMycHJldmVudG9ycGhhbnMiPkZjZ2lkV2luMzJQcmV2ZW50T3JwaGFuczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZHdyYXBwZXIiPkZjZ2lkV3JhcHBlcjwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNmY2dpZHpvbWJpZXNjYW5pbnRlcnZhbCI+RmNnaWRab21iaWVTY2FuSW50ZXJ2YWw8L2E+PC9saT4KPC91bD4KPGgzPlRvcGljczwvaDM+Cjx1bCBpZD0idG9waWNzIj4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjdXBncmFkZSI+VXBncmFkZSBOb3RlczwvYT48L2xpPgo8bGk+PGltZyBhbHQ9IiIgc3JjPSIuLi9pbWFnZXMvZG93bi5naWYiIC8+IDxhIGhyZWY9IiNleGFtcGxlcyI+RXhhbXBsZXM8L2E+PC9saT4KPGxpPjxpbWcgYWx0PSIiIHNyYz0iLi4vaW1hZ2VzL2Rvd24uZ2lmIiAvPiA8YSBocmVmPSIjcHJvY2Vzcy1tZ210Ij5Qcm9jZXNzIE1hbmFnZW1lbnQ8L2E+PC9saT4KPC91bD48aDM+U2VlIGFsc288L2gzPgo8dWwgY2xhc3M9InNlZWFsc28iPgo8bGk+PGEgaHJlZj0iLi4vaG93dG8vY2dpLmh0bWwiPkR5bmFtaWMgQ29udGVudCBXaXRoIENHSTwvYT48L2xpPgo8bGk+PGNvZGUgY2xhc3M9Im1vZHVsZSI+PGEgaHJlZj0iLi4vbW9kL21vZF9jZ2kuaHRtbCI+bW9kX2NnaTwvYT48L2NvZGU+PC9saT4KPGxpPjxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2RfY2dpZC5odG1sIj5tb2RfY2dpZDwvYT48L2NvZGU+PC9saT4KPC91bD48L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0idXBncmFkZSIgaWQ9InVwZ3JhZGUiPlVwZ3JhZGUgTm90ZXM8L2E+PC9oMj4KICAgIAogICAgPHA+VGhlIGZvbGxvd2luZyBjaGFuZ2VzIGhhdmUgYmVlbiBtYWRlIGluIHRoZSBBU0YgcmVsZWFzZSBvZiBtb2RfZmNnaWQKICAgIGFuZCBzaG91bGQgYmUgY29uc2lkZXJlZCB3aGVuIHVwZ3JhZGluZyBmcm9tIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIGJ5CiAgICBSeWFuIFBhbiAoUGFuIFFpbmdmZW5nKS48L3A+CiAgICA8dWw+CiAgICAgIDxsaT5BbGwgZGlyZWN0aXZlcyBoYXZlIGJlZW4gcmVuYW1lZCBpbiBvcmRlciB0byB1c2UgYSBjb21tb24gcHJlZml4ICJGY2dpZCIuCiAgICAgIFVuZGVyc2NvcmVzIGluIGRpcmVjdGl2ZSBuYW1lcyBoYXZlIGJlZW4gZWxpbWluYXRlZCBpbiBmYXZvciBvZgogICAgICBDYW1lbENhc2UuIFRoZSBvbGQgZGlyZWN0aXZlIG5hbWVzIHdpbGwgc3RpbGwgd29yayBidXQgYXJlIGRlcHJlY2F0ZWQuCiAgICAgIFRvIGZpeCB5b3VyIGNvbmZpZ3VyYXRpb24geW91IGNhbiB1c2UgdGhlIHNlZCBzY3JpcHQgYnVpbGQvZml4Y29uZi5zZWQuCiAgICAgIFRoZSBmb2xsb3dpbmcgdGFibGUgY29udGFpbnMgb2xkIGFuZCBuZXcgZGlyZWN0aXZlIG5hbWVzOgogICAgICA8dGFibGUgY2xhc3M9ImJvcmRlcmVkIj48dHIgY2xhc3M9ImhlYWRlciI+PHRoPk9sZCBOYW1lPC90aD48dGg+TmV3IE5hbWU8L3RoPjwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5CdXN5U2NhbkludGVydmFsPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkYnVzeXNjYW5pbnRlcnZhbCI+RmNnaWRCdXN5U2NhbkludGVydmFsPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5CdXN5VGltZW91dDwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGJ1c3l0aW1lb3V0Ij5GY2dpZEJ1c3lUaW1lb3V0PC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5EZWZhdWx0SW5pdEVudjwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGluaXRpYWxlbnYiPkZjZ2lkSW5pdGlhbEVudjwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RGVmYXVsdE1heENsYXNzUHJvY2Vzc0NvdW50PC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWF4cHJvY2Vzc2VzcGVyY2xhc3MiPkZjZ2lkTWF4UHJvY2Vzc2VzUGVyQ2xhc3M8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkRlZmF1bHRNaW5DbGFzc1Byb2Nlc3NDb3VudDwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZG1pbnByb2Nlc3Nlc3BlcmNsYXNzIj5GY2dpZE1pblByb2Nlc3Nlc1BlckNsYXNzPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5FcnJvclNjYW5JbnRlcnZhbDwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGVycm9yc2NhbmludGVydmFsIj5GY2dpZEVycm9yU2NhbkludGVydmFsPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5GYXN0Q2dpQWNjZXNzQ2hlY2tlcjwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGFjY2Vzc2NoZWNrZXIiPkZjZ2lkQWNjZXNzQ2hlY2tlcjwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RmFzdENnaUFjY2Vzc0NoZWNrZXJBdXRob3JpdGF0aXZlPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkYWNjZXNzY2hlY2tlcmF1dGhvcml0YXRpdmUiPkZjZ2lkQWNjZXNzQ2hlY2tlckF1dGhvcml0YXRpdmU8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkZhc3RDZ2lBdXRoZW50aWNhdG9yPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkYXV0aGVudGljYXRvciI+RmNnaWRBdXRoZW50aWNhdG9yPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5GYXN0Q2dpQXV0aGVudGljYXRvckF1dGhvcml0YXRpdmU8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRhdXRoZW50aWNhdG9yYXV0aG9yaXRhdGl2ZSI+RmNnaWRBdXRoZW50aWNhdG9yQXV0aG9yaXRhdGl2ZTwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RmFzdENnaUF1dGhvcml6ZXI8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRhdXRob3JpemVyIj5GY2dpZEF1dGhvcml6ZXI8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyIGNsYXNzPSJvZGQiPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkZhc3RDZ2lBdXRob3JpemVyQXV0aG9yaXRhdGl2ZTwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGF1dGhvcml6ZXJhdXRob3JpdGF0aXZlIj5GY2dpZEF1dGhvcml6ZXJBdXRob3JpdGF0aXZlPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5GQ0dJV3JhcHBlcjwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHdyYXBwZXIiPkZjZ2lkV3JhcHBlcjwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+SWRsZVNjYW5JbnRlcnZhbDwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGlkbGVzY2FuaW50ZXJ2YWwiPkZjZ2lkSWRsZVNjYW5JbnRlcnZhbDwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+SWRsZVRpbWVvdXQ8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpZGxldGltZW91dCI+RmNnaWRJZGxlVGltZW91dDwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+SVBDQ29tbVRpbWVvdXQ8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpb3RpbWVvdXQiPkZjZ2lkSU9UaW1lb3V0PC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5JUENDb25uZWN0VGltZW91dDwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGNvbm5lY3R0aW1lb3V0Ij5GY2dpZENvbm5lY3RUaW1lb3V0PC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5NYXhQcm9jZXNzQ291bnQ8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRtYXhwcm9jZXNzZXMiPkZjZ2lkTWF4UHJvY2Vzc2VzPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5NYXhSZXF1ZXN0SW5NZW08L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRtYXhyZXF1ZXN0aW5tZW0iPkZjZ2lkTWF4UmVxdWVzdEluTWVtPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5NYXhSZXF1ZXN0TGVuPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWF4cmVxdWVzdGxlbiI+RmNnaWRNYXhSZXF1ZXN0TGVuPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5NYXhSZXF1ZXN0c1BlclByb2Nlc3M8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRtYXhyZXF1ZXN0c3BlcnByb2Nlc3MiPkZjZ2lkTWF4UmVxdWVzdHNQZXJQcm9jZXNzPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5PdXRwdXRCdWZmZXJTaXplPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkb3V0cHV0YnVmZmVyc2l6ZSI+RmNnaWRPdXRwdXRCdWZmZXJTaXplPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5QYXNzSGVhZGVyPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkcGFzc2hlYWRlciI+RmNnaWRQYXNzSGVhZGVyPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5QSFBfRml4X1BhdGhpbmZvX0VuYWJsZTwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGZpeHBhdGhpbmZvIj5GY2dpZEZpeFBhdGhpbmZvPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5Qcm9jZXNzTGlmZVRpbWU8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRwcm9jZXNzbGlmZXRpbWUiPkZjZ2lkUHJvY2Vzc0xpZmVUaW1lPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5TaGFyZW1lbVBhdGg8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRwcm9jZXNzdGFibGVmaWxlIj5GY2dpZFByb2Nlc3NUYWJsZUZpbGU8L2E+PC9jb2RlPjwvdGQ+CiAgICAgICAgPC90cj4KPHRyPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPlNvY2tldFBhdGg8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpcGNkaXIiPkZjZ2lkSVBDRGlyPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5TcGF3blNjb3JlPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkc3Bhd25zY29yZSI+RmNnaWRTcGF3blNjb3JlPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5TcGF3blNjb3JlVXBMaW1pdDwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHNwYXduc2NvcmV1cGxpbWl0Ij5GY2dpZFNwYXduU2NvcmVVcExpbWl0PC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5UZXJtaW5hdGlvblNjb3JlPC9jb2RlPjwvdGQ+CiAgICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkdGVybWluYXRpb25zY29yZSI+RmNnaWRUZXJtaW5hdGlvblNjb3JlPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5UaW1lU2NvcmU8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWR0aW1lc2NvcmUiPkZjZ2lkVGltZVNjb3JlPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5ab21iaWVTY2FuSW50ZXJ2YWw8L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWR6b21iaWVzY2FuaW50ZXJ2YWwiPkZjZ2lkWm9tYmllU2NhbkludGVydmFsPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+CjwvdGFibGU+CiAgICAgIDwvbGk+CiAgICA8L3VsPgoKICA8L2Rpdj48ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiI+CjxoMj48YSBuYW1lPSJleGFtcGxlcyIgaWQ9ImV4YW1wbGVzIj5FeGFtcGxlczwvYT48L2gyPgogICAgCgogICAgPGRpdiBjbGFzcz0ibm90ZSI+PGgzPk5vdGU8L2gzPgogICAgPHA+VGhlIGV4YW1wbGVzIGFzc3VtZSB0aGF0IG1vZF9mY2dpZCBhbmQgb3RoZXIgbmVjZXNzYXJ5CiAgICBtb2R1bGVzIGFyZSBsb2FkZWQgaW50byB0aGUgc2VydmVyIGFscmVhZHksIGVpdGhlciBidWlsdC1pbiBvcgogICAgdmlhIHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIuLi9tb2QvbW9kX3NvLmh0bWwjbG9hZG1vZHVsZSI+TG9hZE1vZHVsZTwvYT48L2NvZGU+CiAgICBkaXJlY3RpdmUuPC9wPgoKICAgIDxwPkFkZGl0aW9uYWxseSwgdGhlIGV4YW1wbGUgY29uZmlndXJhdGlvbnMgcHJvdmlkZSBmdWxsIGFjY2VzcwogICAgdG8gdGhlIGFwcGxpY2F0aW9ucyB1c2luZyBhY2Nlc3MgY29udHJvbCBkaXJlY3RpdmVzIHdoaWNoIHdvcmsKICAgIHdpdGggQXBhY2hlIDIuMCBhbmQgMi4yLiAgVGhlc2UgZGlyZWN0aXZlcyBhcmUgbm90IGFwcHJvcHJpYXRlCiAgICBmb3IgYWxsIGVudmlyb25tZW50cywgYW5kIHRoZXkgZG8gbm90IHdvcmsgZm9yIGRldmVsb3BtZW50CiAgICBsZXZlbHMgb2YgQXBhY2hlIEhUVFAgU2VydmVyIChTdWJ2ZXJzaW9uIHRydW5rKS48L3A+CiAgICA8L2Rpdj4KCiAgICA8cD5UaGUgZmlyc3QgZXhhbXBsZSBpcyBhIHZlcnkgc2ltcGxlIFBlcmwgRmFzdENHSSBhcHBsaWNhdGlvbiwKICAgIGFuZCBpdHMgY29uZmlndXJhdGlvbiBkaXJlY3RpdmVzLiAgVGhpcyBpcyB0eXBpY2FsIGZvciBGYXN0Q0dJCiAgICBhcHBsaWNhdGlvbnMgd2hpY2ggcmVxdWlyZSBubyBzcGVjaWFsIGNvbmZpZ3VyYXRpb24uPC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5QZXJsIEZhc3RDR0kgYXBwbGljYXRpb24gLSAvdXNyL2xvY2FsL2FwYWNoZS9mY2dpLWJpbi9mb28ucGw8L2gzPjxwPjxjb2RlPgogICAgIyEvdXNyL2Jpbi9wZXJsPGJyIC8+CiAgICB1c2UgQ0dJOjpGYXN0OzxiciAvPgogICAgPGJyIC8+CiAgICB3aGlsZSAobXkgJHEgPSBDR0k6OkZhc3QtJmd0O25ldykgezxiciAvPgogICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgICAgcHJpbnQoIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpblxuXG4iKTs8YnIgLz4KICAgICAgICBmb3JlYWNoICR2YXIgKHNvcnQoa2V5cyglRU5WKSkpIHs8YnIgLz4KICAgICAgICA8c3BhbiBjbGFzcz0iaW5kZW50Ij4KICAgICAgICAgICAgJHZhbCA9ICRFTlZ7JHZhcn07PGJyIC8+CiAgICAgICAgICAgICR2YWwgPX4gc3xcbnxcXG58Zzs8YnIgLz4KICAgICAgICAgICAgJHZhbCA9fiBzfCJ8XFwifGc7PGJyIC8+CiAgICAgICAgICAgIHByaW50ICIke3Zhcn09XCIke3ZhbH1cIlxuIjs8YnIgLz4KICAgICAgICA8L3NwYW4+CiAgICAgICAgfTxiciAvPgogICAgPC9zcGFuPgogICAgfTxiciAvPgogICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj48aDM+Q29uZmlndXJhdGlvbiBkaXJlY3RpdmVzPC9oMz48cD48Y29kZT4KICAgICZsdDtEaXJlY3RvcnkgL3Vzci9sb2NhbC9hcGFjaGUvZmNnaS1iaW4vJmd0OzxiciAvPgogICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgIFNldEhhbmRsZXIgZmNnaWQtc2NyaXB0PGJyIC8+CiAgICAgIE9wdGlvbnMgK0V4ZWNDR0k8YnIgLz4KICAgICAgPGJyIC8+CiAgICAgICMgQ3VzdG9taXplIHRoZSBuZXh0IHR3byBkaXJlY3RpdmVzIGZvciB5b3VyIHJlcXVpcmVtZW50cy48YnIgLz4KICAgICAgT3JkZXIgYWxsb3csZGVueTxiciAvPgogICAgICBBbGxvdyBmcm9tIGFsbDxiciAvPgogICAgPC9zcGFuPgogICAgJmx0Oy9EaXJlY3RvcnkmZ3Q7PGJyIC8+CiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxwPlBIUCBhcHBsaWNhdGlvbnMgYXJlIHVzdWFsbHkgY29uZmlndXJlZCB1c2luZyB0aGUKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHdyYXBwZXIiPkZjZ2lkV3JhcHBlcjwvYT48L2NvZGU+IGRpcmVjdGl2ZQogICAgYW5kIGEgY29ycmVzcG9uZGluZyB3cmFwcGVyIHNjcmlwdC4gIFRoZSB3cmFwcGVyIHNjcmlwdCBjYW4gYmUKICAgIGFuIGFwcHJvcHJpYXRlIHBsYWNlIHRvIGRlZmluZSBhbnkgZW52aXJvbm1lbnQgdmFyaWFibGVzIHJlcXVpcmVkCiAgICBieSB0aGUgYXBwbGljYXRpb24sIHN1Y2ggYXMgPGNvZGU+UEhQX0ZDR0lfTUFYX1JFUVVFU1RTPC9jb2RlPgogICAgb3IgYW55dGhpbmcgZWxzZS4gIChFbnZpcm9ubWVudCB2YXJpYWJsZXMgY2FuIGFsc28gYmUgc2V0IHdpdGgKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGluaXRpYWxlbnYiPkZjZ2lkSW5pdGlhbEVudjwvYT48L2NvZGU+LAogICAgYnV0IHRoZXkgdGhlbiBhcHBseSB0byBhbGwgYXBwbGljYXRpb25zLik8L3A+CgogICAgPHA+SGVyZSBpcyBhbiBleGFtcGxlIHRoYXQgdXNlcyBhIHdyYXBwZXIgc2NyaXB0IHRvIGludm9rZSBQSFA6PC9wPgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5QSFAgYXBwbGljYXRpb24gLSAvdXNyL2xvY2FsL3BocGFwcC9waHBpbmZvLnBocDwvaDM+PHA+PGNvZGU+CiAgICAmbHQ7P3BocDxiciAvPgogICAgPHNwYW4gY2xhc3M9ImluZGVudCI+CiAgICAgIHBocGluZm8oKTs8YnIgLz4KICAgIDwvc3Bhbj4KICAgID8mZ3Q7PGJyIC8+CiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5Db25maWd1cmF0aW9uIGRpcmVjdGl2ZXM8L2gzPjxwPjxjb2RlPgogICAgIyBGY2dpZE1heFJlcXVlc3RzUGVyUHJvY2VzcyBzaG91bGQgYmUgJmx0Oz0gUEhQX0ZDR0lfTUFYX1JFUVVFU1RTPGJyIC8+CiAgICAjIFRoZSBleGFtcGxlIFBIUCB3cmFwcGVyIHNjcmlwdCBvdmVycmlkZXMgdGhlIGRlZmF1bHQgUEhQIHNldHRpbmcuPGJyIC8+CiAgICBGY2dpZE1heFJlcXVlc3RzUGVyUHJvY2VzcyAxMDAwMDxiciAvPgogICAgPGJyIC8+CiAgICAjIFVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmUgaWYgY2dpLmZpeF9wYXRoaW5mbyBpcyBzZXQgdG8gMSBpbjxiciAvPgogICAgIyBwaHAuaW5pOjxiciAvPgogICAgIyBGY2dpZEZpeFBhdGhpbmZvIDE8YnIgLz4KICAgIDxiciAvPgogICAgQWxpYXMgL3BocGFwcC8gL3Vzci9sb2NhbC9waHBhcHAvPGJyIC8+CiAgICAmbHQ7TG9jYXRpb24gL3BocGFwcC8mZ3Q7PGJyIC8+CiAgICA8c3BhbiBjbGFzcz0iaW5kZW50Ij4KICAgICAgQWRkSGFuZGxlciBmY2dpZC1zY3JpcHQgLnBocDxiciAvPgogICAgICBPcHRpb25zICtFeGVjQ0dJPGJyIC8+CiAgICAgIEZjZ2lkV3JhcHBlciAvdXNyL2xvY2FsL2Jpbi9waHAtd3JhcHBlciAucGhwPGJyIC8+CiAgICAgIDxiciAvPgogICAgICAjIEN1c3RvbWl6ZSB0aGUgbmV4dCB0d28gZGlyZWN0aXZlcyBmb3IgeW91ciByZXF1aXJlbWVudHMuPGJyIC8+CiAgICAgIE9yZGVyIGFsbG93LGRlbnk8YnIgLz4KICAgICAgQWxsb3cgZnJvbSBhbGw8YnIgLz4KICAgIDwvc3Bhbj4KICAgICZsdDsvTG9jYXRpb24mZ3Q7PGJyIC8+CiAgICA8L2NvZGU+PC9wPjwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5QSFAgd3JhcHBlciBzY3JpcHQgLSAvdXNyL2xvY2FsL2Jpbi9waHAtd3JhcHBlcjwvaDM+PHA+PGNvZGU+CiAgICAjIS9iaW4vc2g8YnIgLz4KICAgICMgU2V0IGRlc2lyZWQgUEhQX0ZDR0lfKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMuPGJyIC8+CiAgICAjIEV4YW1wbGU6PGJyIC8+CiAgICAjIFBIUCBGYXN0Q0dJIHByb2Nlc3NlcyBleGl0IGFmdGVyIDUwMCByZXF1ZXN0cyBieSBkZWZhdWx0LjxiciAvPgogICAgUEhQX0ZDR0lfTUFYX1JFUVVFU1RTPTEwMDAwPGJyIC8+CiAgICBleHBvcnQgUEhQX0ZDR0lfTUFYX1JFUVVFU1RTPGJyIC8+CiAgICA8YnIgLz4KICAgICMgUmVwbGFjZSB3aXRoIHRoZSBwYXRoIHRvIHlvdXIgRmFzdENHSS1lbmFibGVkIFBIUCBleGVjdXRhYmxlPGJyIC8+CiAgICBleGVjIC91c3IvbG9jYWwvYmluL3BocC1jZ2k8YnIgLz4KICAgIDwvY29kZT48L3A+PC9kaXY+CgogICAgPGRpdiBjbGFzcz0ibm90ZSI+PGgzPlNwZWNpYWwgUEhQIGNvbnNpZGVyYXRpb25zPC9oMz4KICAgIDxwPkJ5IGRlZmF1bHQsIFBIUCBGYXN0Q0dJIHByb2Nlc3NlcyBleGl0IGFmdGVyIGhhbmRsaW5nIDUwMAogICAgcmVxdWVzdHMsIGFuZCB0aGV5IG1heSBleGl0IGFmdGVyIHRoaXMgbW9kdWxlIGhhcyBhbHJlYWR5CiAgICBjb25uZWN0ZWQgdG8gdGhlIGFwcGxpY2F0aW9uIGFuZCBzZW50IHRoZSBuZXh0IHJlcXVlc3QuICBXaGVuIHRoYXQKICAgIG9jY3VycywgYW4gZXJyb3Igd2lsbCBiZSBsb2dnZWQgYW5kIDxjb2RlPjUwMCBJbnRlcm5hbCBTZXJ2ZXIKICAgIEVycm9yPC9jb2RlPiB3aWxsIGJlIHJldHVybmVkIHRvIHRoZSBjbGllbnQuICBUaGlzIFBIUCBiZWhhdmlvcgogICAgY2FuIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgPGNvZGU+UEhQX0ZDR0lfTUFYX1JFUVVFU1RTPC9jb2RlPiB0bwogICAgMCwgYnV0IHRoYXQgY2FuIGJlIGEgcHJvYmxlbSBpZiB0aGUgUEhQIGFwcGxpY2F0aW9uIGxlYWtzCiAgICByZXNvdXJjZXMuICBBbHRlcm5hdGl2ZWx5LCA8Y29kZT5QSFBfRkNHSV9NQVhfUkVRVUVTVFM8L2NvZGU+IGNhbgogICAgYmUgc2V0IHRvIGEgbXVjaCBoaWdoZXIgdmFsdWUgdGhhbiB0aGUgZGVmYXVsdCB0byByZWR1Y2UgdGhlCiAgICBmcmVxdWVuY3kgb2YgdGhpcyBwcm9ibGVtLgogICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWF4cmVxdWVzdHNwZXJwcm9jZXNzIj5GY2dpZE1heFJlcXVlc3RzUGVyUHJvY2VzczwvYT48L2NvZGU+CiAgICBjYW4gYmUgc2V0IHRvIGEgdmFsdWUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvCiAgICA8Y29kZT5QSFBfRkNHSV9NQVhfUkVRVUVTVFM8L2NvZGU+IHRvIHJlc29sdmUgdGhlIHByb2JsZW0uPC9wPgoKICAgIDxwPlBIUCBjaGlsZCBwcm9jZXNzIG1hbmFnZW1lbnQgKDxjb2RlPlBIUF9GQ0dJX0NISUxEUkVOPC9jb2RlPikKICAgIHNob3VsZCBhbHdheXMgYmUgZGlzYWJsZWQgd2l0aCBtb2RfZmNnaWQsIHdoaWNoIHdpbGwgb25seSByb3V0ZQogICAgb25lIHJlcXVlc3QgYXQgYSB0aW1lIHRvIGFwcGxpY2F0aW9uIHByb2Nlc3NlcyBpdCBoYXMgc3Bhd25lZDsKICAgIHRodXMsIGFueSBjaGlsZCBwcm9jZXNzZXMgY3JlYXRlZCBieSBQSFAgd2lsbCBub3QgYmUgdXNlZAogICAgZWZmZWN0aXZlbHkuICAoQWRkaXRpb25hbGx5LCB0aGUgUEhQIGNoaWxkIHByb2Nlc3NlcyBtYXkgbm90IGJlCiAgICB0ZXJtaW5hdGVkIHByb3Blcmx5LikgQnkgZGVmYXVsdCwgYW5kIHdpdGggdGhlIGVudmlyb25tZW50CiAgICB2YXJpYWJsZSBzZXR0aW5nIDxjb2RlPlBIUF9GQ0dJX0NISUxEUkVOPTA8L2NvZGU+LCBQSFAgY2hpbGQKICAgIHByb2Nlc3MgbWFuYWdlbWVudCBpcyBkaXNhYmxlZC48L3A+CgogICAgPHA+VGhlIHBvcHVsYXIgQVBDIG9wY29kZSBjYWNoZSBmb3IgUEhQIGNhbm5vdCBzaGFyZSBhIGNhY2hlCiAgICBiZXR3ZWVuIFBIUCBGYXN0Q0dJIHByb2Nlc3NlcyB1bmxlc3MgUEhQIG1hbmFnZXMgdGhlIGNoaWxkCiAgICBwcm9jZXNzZXMuICBUaHVzLCB0aGUgZWZmZWN0aXZlbmVzcyBvZiB0aGUgY2FjaGUgaXMgbGltaXRlZCB3aXRoCiAgICBtb2RfZmNnaWQ7IGNvbmN1cnJlbnQgUEhQIHJlcXVlc3RzIHdpbGwgdXNlIGRpZmZlcmVudCBvcGNvZGUKICAgIGNhY2hlcy48L3A+CiAgICA8L2Rpdj4KCiAgPC9kaXY+PGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9InNlY3Rpb24iPgo8aDI+PGEgbmFtZT0icHJvY2Vzcy1tZ210IiBpZD0icHJvY2Vzcy1tZ210Ij5Qcm9jZXNzIE1hbmFnZW1lbnQ8L2E+PC9oMj4KICAgIAoKICAgIDxwPm1vZF9mY2dpZCBoYXMgc2V2ZXJhbCB0eXBlcyBvZiBjb250cm9scyB3aGljaCBhZmZlY3QgdGhlIGNyZWF0aW9uCiAgICBvZiBhZGRpdGlvbmFsIGFwcGxpY2F0aW9uIHByb2Nlc3Nlczo8L3A+CgogICAgPHRhYmxlIGNsYXNzPSJib3JkZXJlZCI+PHRyIGNsYXNzPSJoZWFkZXIiPjx0aD5UeXBlIG9mIGNvbnRyb2w8L3RoPjx0aD5EaXJlY3RpdmU8L3RoPjwvdHI+Cjx0cj4KICAgICAgICA8dGQ+Z2xvYmFsIGxpbWl0IG9uIG51bWJlciBvZiBwcm9jZXNzZXM8L3RkPgogICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRtYXhwcm9jZXNzZXMiPkZjZ2lkTWF4UHJvY2Vzc2VzPC9hPjwvY29kZT48L3RkPgogICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgPHRkPmxpbWl0IG9uIG51bWJlciBvZiBwcm9jZXNzZXMgcGVyIGFwcGxpY2F0aW9uPC90ZD4KICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWF4cHJvY2Vzc2VzcGVyY2xhc3MiPkZjZ2lkTWF4UHJvY2Vzc2VzUGVyQ2xhc3M8L2E+PC9jb2RlPjwvdGQ+CiAgICAgIDwvdHI+Cjx0cj4KICAgICAgICA8dGQ+bGltaXQgb24gcmF0ZSBvZiBzcGF3bmluZyBuZXcgYXBwbGljYXRpb24gcHJvY2Vzc2VzPC90ZD4KICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkc3Bhd25zY29yZXVwbGltaXQiPkZjZ2lkU3Bhd25TY29yZVVwTGltaXQ8L2E+PC9jb2RlPiBhbmQKICAgICAgICBvdGhlciBzY29yZS1yZWxhdGVkIGRpcmVjdGl2ZXM8L3RkPgogICAgICA8L3RyPgo8L3RhYmxlPgoKICAgIDxwPm1vZF9mY2dpZCBoYXMgc2V2ZXJhbCB0eXBlcyBvZiBjb250cm9scyB3aGljaCBhZmZlY3QgdGhlIHRlcm1pbmF0aW9uCiAgICBvZiBleGlzdGluZyBhcHBsaWNhdGlvbiBwcm9jZXNzZXM6PC9wPgoKICAgIDx0YWJsZSBjbGFzcz0iYm9yZGVyZWQiPjx0ciBjbGFzcz0iaGVhZGVyIj48dGg+VHlwZSBvZiBjb250cm9sPC90aD48dGg+RGlyZWN0aXZlPC90aD48L3RyPgo8dHI+CiAgICAgICAgPHRkPnRlcm1pbmF0aW9uIGFmdGVyIGFuIGlkbGUgcGVyaW9kPC90ZD4KICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkaWRsZXRpbWVvdXQiPkZjZ2lkSWRsZVRpbWVvdXQ8L2E+PC9jb2RlPjwvdGQ+CiAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICA8dGQ+dGVybWluYXRpb24gYWZ0ZXIgaXQgaGFuZGxlcyBhIGNlcnRhaW4gbnVtYmVyIG9mIHJlcXVlc3RzPC90ZD4KICAgICAgICA8dGQ+PGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWF4cmVxdWVzdHNwZXJwcm9jZXNzIj5GY2dpZE1heFJlcXVlc3RzUGVyUHJvY2VzczwvYT48L2NvZGU+PC90ZD4KICAgICAgPC90cj4KPHRyPgogICAgICAgIDx0ZD50ZXJtaW5hdGlvbiBhZnRlciBhIGNlcnRhaW4gbGlmZXRpbWU8L3RkPgogICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRwcm9jZXNzbGlmZXRpbWUiPkZjZ2lkUHJvY2Vzc0xpZmV0aW1lPC9hPjwvY29kZT48L3RkPgogICAgICA8L3RyPgo8L3RhYmxlPgoKICAgIDxwPlNldmVyYWwgb2YgdGhlIGRpcmVjdGl2ZXMgY29udHJvbCBwcm9jZXNzaW5nIGZvciBhIDxlbT5wcm9jZXNzCiAgICBjbGFzczwvZW0+LiAgQSBwcm9jZXNzIGNsYXNzIGlzIHRoZSBzZXQgb2YgcHJvY2Vzc2VzIHdoaWNoIHdlcmUgc3RhcnRlZAogICAgd2l0aCB0aGUgc2FtZSBleGVjdXRhYmxlIGZpbGUgYW5kIHNoYXJlIGNlcnRhaW4gb3RoZXIgY2hhcmFjdGVyaXN0aWNzIHN1Y2gKICAgIGFzIHZpcnR1YWwgaG9zdCBhbmQgaWRlbnRpdHkuICBUd28gY29tbWFuZHMgd2hpY2ggYXJlIGxpbmtzIHRvIG9yIG90aGVyd2lzZQogICAgcmVmZXIgdG8gdGhlIHNhbWUgZXhlY3V0YWJsZSBmaWxlIHNoYXJlIHRoZSBzYW1lIHByb2Nlc3MgY2xhc3MuPC9wPgoKICAgIDxkaXYgY2xhc3M9Im5vdGUiPjxoMz5Ob3RlPC9oMz4KICAgIDxwPkNlcnRhaW4gc2V0dGluZ3Mgb3Igb3RoZXIgY29uY2VwdHMgdGhhdCBkZXBlbmQgb24gdGhlIHZpcnR1YWwgaG9zdCwKICAgIHN1Y2ggYXMgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkaW5pdGlhbGVudiI+RmNnaWRJbml0aWFsRW52PC9hPjwvY29kZT4KICAgIG9yIHByb2Nlc3MgY2xhc3NlcywgZGlzdGluZ3Vpc2ggYmV0d2VlbiB2aXJ0dWFsIGhvc3RzIG9ubHkgaWYgdGhleQogICAgaGF2ZSBkaXN0aW5jdCBzZXJ2ZXIgbmFtZXMuICAoU2VlIHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5TZXJ2ZXJOYW1lPC9jb2RlPgogICAgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4pIEluIHRoZSBjYXNlIG9mCiAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpbml0aWFsZW52Ij5GY2dpZEluaXRpYWxFbnY8L2E+PC9jb2RlPiwgaWYgdHdvCiAgICB2aXJ0dWFsIGhvc3RzIGhhdmUgdGhlIHNhbWUgc2VydmVyIG5hbWUgYnV0IGRpZmZlcmVudCBlbnZpcm9ubWVudHMgYXMKICAgIGRlZmluZWQgYnkKICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGluaXRpYWxlbnYiPkZjZ2lkSW5pdGlhbEVudjwvYT48L2NvZGU+LCB0aGUKICAgIGVudmlyb25tZW50IHVzZWQgZm9yIGEgcGFydGljdWxhciByZXF1ZXN0IHdpbGwgYmUgdGhhdCBkZWZpbmVkIGZvciB0aGUKICAgIHZpcnR1YWwgaG9zdCBvZiB0aGUgcmVxdWVzdCB0aGF0IGNhdXNlZCB0aGUgRmFzdENHSSBwcm9jZXNzIHRvIGJlCiAgICBzdGFydGVkLjwvcD4KICAgIDwvZGl2PgoKICAgIDxwPkluZm9ybWF0aW9uIGFib3V0IGVhY2ggcHJvY2VzcyB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUKICAgIDxjb2RlIGNsYXNzPSJtb2R1bGUiPjxhIGhyZWY9Ii4uL21vZC9tb2Rfc3RhdHVzLmh0bWwiPm1vZF9zdGF0dXM8L2E+PC9jb2RlPiBzZXJ2ZXItc3RhdHVzIHBhZ2UuPC9wPgogIDwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZEFjY2Vzc0NoZWNrZXIiIGlkPSJGY2dpZEFjY2Vzc0NoZWNrZXIiPkZjZ2lkQWNjZXNzQ2hlY2tlcjwvYT4gPGEgbmFtZT0iZmNnaWRhY2Nlc3NjaGVja2VyIiBpZD0iZmNnaWRhY2Nlc3NjaGVja2VyIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5mdWxsIHBhdGggdG8gRmFzdENHSSBhY2Nlc3MgY2hlY2tlcjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZEFjY2Vzc0NoZWNrZXIgPGVtPmNvbW1hbmQ8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5ub25lPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPmRpcmVjdG9yeSwgLmh0YWNjZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjT3ZlcnJpZGUiPk92ZXJyaWRlOjwvYT48L3RoPjx0ZD5GaWxlSW5mbzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPkFjY2VzcyBjaGVja2luZyBvciwgbW9yZSBmb3JtYWxseSwgYWNjZXNzIGNvbnRyb2wsIGlzIGEgcHJvY2VkdXJlCiAgICAgIHdoaWNoIHZlcmlmaWVzIHRoYXQgdGhlIGNsaWVudCBpcyBhbGxvd2VkIHRvIGFjY2VzcyBhIHJlc291cmNlLCB1c2luZwogICAgICBzb21lIG1lY2hhbmlzbSBvdGhlciB0aGFuIGF1dGhlbnRpY2F0aW9uIGFuZCBhdXRob3JpemF0aW9uLjwvcD4KCiAgICAgIDxwPktleSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgcGFzc2VkIHRvIHRoZSBhcHBsaWNhdGlvbiBmb3IgYWNjZXNzCiAgICAgIGNoZWNraW5nIGFyZTo8L3A+CgogICAgICA8ZGw+CiAgICAgICAgPGR0Pjxjb2RlPkZDR0lfQVBBQ0hFX1JPTEU8L2NvZGU+PC9kdD4KICAgICAgICA8ZGQ+c2V0IHRvIDxjb2RlPkFDQ0VTU19DSEVDS0VSPC9jb2RlPjsgYnkgY2hlY2tpbmcgdGhlIGN1cnJlbnQgcm9sZSwKICAgICAgICB0aGUgc2FtZSBGYXN0Q0dJIGFwcGxpY2F0aW9uIGNhbiBoYW5kbGUgbXVsdGlwbGUgc3RhZ2VzIG9mIHJlcXVlc3QKICAgICAgICBwcm9jZXNzaW5nPC9kZD4KICAgICAgPC9kbD4KCiAgICAgIDxwPlRoZSBhcHBsaWNhdGlvbiBtdXN0IG91dHB1dCBhIDxjb2RlPlN0YXR1czwvY29kZT4gbGluZSB0byBpbmRpY2F0ZQogICAgICB0aGUgcmVzdWx0IG9mIHRoZSBjaGVjay48L3A+CgogICAgICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIj48aDM+V2FybmluZzwvaDM+CiAgICAgIDxwPkJlZm9yZSAyLjMuNiwgb25seSBvbmUgRmFzdENHSSBhcHBsaWNhdGlvbiBvZiBhbnkgdHlwZSAoQUFBIG9yIGhhbmRsZXIpCiAgICAgIGNhbiBiZSB1c2VkIGZvciBhIHBhcnRpY3VsYXIgcmVxdWVzdCBVUkkuICBPdGhlcndpc2UsIHRoZSB3cm9uZyBGYXN0Q0dJCiAgICAgIGFwcGxpY2F0aW9uIG1heSBiZSBpbnZva2VkIGZvciBvbmUgb3IgbW9yZSBwaGFzZXMgb2YgcmVxdWVzdCBwcm9jZXNzaW5nLjwvcD4KICAgICAgPC9kaXY+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkQWNjZXNzQ2hlY2tlckF1dGhvcml0YXRpdmUiIGlkPSJGY2dpZEFjY2Vzc0NoZWNrZXJBdXRob3JpdGF0aXZlIj5GY2dpZEFjY2Vzc0NoZWNrZXJBdXRob3JpdGF0aXZlPC9hPiA8YSBuYW1lPSJmY2dpZGFjY2Vzc2NoZWNrZXJhdXRob3JpdGF0aXZlIiBpZD0iZmNnaWRhY2Nlc3NjaGVja2VyYXV0aG9yaXRhdGl2ZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+U2V0IHRvICdvZmYnIHRvIGFsbG93IGFjY2VzcyBjb250cm9sIHRvIGJlIHBhc3NlZCBhbG9uZyB0byBsb3dlciBtb2R1bGVzIHVwb24gZmFpbHVyZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZEFjY2Vzc0NoZWNrZXJBdXRob3JpdGF0aXZlIDxlbT5PbnxPZmY8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZEFjY2Vzc0NoZWNrZXJBdXRob3JpdGF0aXZlIE9uPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPmRpcmVjdG9yeSwgLmh0YWNjZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjT3ZlcnJpZGUiPk92ZXJyaWRlOjwvYT48L3RoPjx0ZD5GaWxlSW5mbzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgZGlyZWN0aXZlIGNvbnRyb2xzIHdoZXRoZXIgb3Igbm90IG90aGVyIGFjY2VzcyBjaGVja2VycwogICAgICBhcmUgYWxsb3dlZCB0byBydW4gd2hlbiB0aGlzIG1vZHVsZSBoYXMgYW4gYWNjZXNzIGNoZWNrZXIgY29uZmlndXJlZAogICAgICBhbmQgaXQgZmFpbHMgYSByZXF1ZXN0LiAgSWYgdGhpcyBkaXJlY3RpdmUgaXMgPGNvZGU+T248L2NvZGU+IChkZWZhdWx0KQogICAgICBhbmQgYSBGYXN0Q0dJIGFjY2VzcyBjaGVja2VyIHJldHVybnMgYSBmYWlsdXJlIHN0YXR1cywgYSBmYWlsdXJlIGlzCiAgICAgIHJldHVybmVkIHRvIHRoZSBjbGllbnQgd2l0aG91dCBnaXZpbmcgb3RoZXIgYWNjZXNzIGNoZWNrZXJzIGEgY2hhbmNlIHRvCiAgICAgIGFsbG93IGFjY2Vzcy4gIElmIHRoaXMgZGlyZWN0aXZlIGlzIDxjb2RlPk9mZjwvY29kZT4sIG90aGVyIGFjY2VzcwogICAgICBjaGVja2VycyB3aWxsIGJlIGNhbGxlZC48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkQXV0aGVudGljYXRvciIgaWQ9IkZjZ2lkQXV0aGVudGljYXRvciI+RmNnaWRBdXRoZW50aWNhdG9yPC9hPiA8YSBuYW1lPSJmY2dpZGF1dGhlbnRpY2F0b3IiIGlkPSJmY2dpZGF1dGhlbnRpY2F0b3IiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPmZ1bGwgcGF0aCB0byBGYXN0Q0dJIGF1dGhlbnRpY2F0b3I8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRBdXRoZW50aWNhdG9yIDxlbT5jb21tYW5kPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+bm9uZTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5kaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+RmlsZUluZm88L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5BdXRoZW50aWNhdGlvbiBpcyB0aGUgcHJvY2VkdXJlIHdoaWNoIHZlcmlmaWVzIHRoYXQgdGhlIHVzZXIgaXMKICAgICAgd2hvIHRoZXkgY2xhaW0gdGhleSBhcmUuICBUaGlzIGRpcmVjdGl2ZSBzcGVjaWZpZXMgdGhlIGZ1bGwgcGF0aCB0bwogICAgICBhIEZhc3RDR0kgYXBwbGljYXRpb24gd2hpY2ggd2lsbCBoYW5kbGUgYXV0aGVudGljYXRpb24gZm9yIGEgcGFydGljdWxhcgogICAgICBjb250ZXh0LCBzdWNoIGFzIGEgZGlyZWN0b3J5LjwvcD4KCiAgICAgIDxwPktleSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgcGFzc2VkIHRvIHRoZSBhcHBsaWNhdGlvbiBvbiBhdXRoZW50aWNhdGlvbgogICAgICBhcmU6PC9wPgoKICAgICAgPGRsPgogICAgICAgIDxkdD48Y29kZT5SRU1PVEVfVVNFUjwvY29kZT48L2R0PgogICAgICAgIDxkZD5zZXQgdG8gdGhlIHVzZXIgaWQgb2YgdGhlIGNsaWVudDwvZGQ+CgogICAgICAgIDxkdD48Y29kZT5SRU1PVEVfUEFTU1dEPC9jb2RlPjwvZHQ+CiAgICAgICAgPGRkPnNldCB0byB0aGUgcGxhaW4gdGV4dCBwYXNzd29yZCBwcm92aWRlZCBieSB0aGUgY2xpZW50PC9kZD4KCiAgICAgICAgPGR0Pjxjb2RlPkZDR0lfQVBBQ0hFX1JPTEU8L2NvZGU+PC9kdD4KICAgICAgICA8ZGQ+c2V0IHRvIDxjb2RlPkFVVEhFTlRJQ0FUT1I8L2NvZGU+OyBieSBjaGVja2luZyB0aGUgY3VycmVudCByb2xlLAogICAgICAgIHRoZSBzYW1lIEZhc3RDR0kgYXBwbGljYXRpb24gY2FuIGhhbmRsZSBtdWx0aXBsZSBzdGFnZXMgb2YgcmVxdWVzdAogICAgICAgIHByb2Nlc3Npbmc8L2RkPgogICAgICA8L2RsPgoKICAgICAgPHA+VGhlIGFwcGxpY2F0aW9uIG11c3Qgb3V0cHV0IGEgPGNvZGU+U3RhdHVzPC9jb2RlPiBsaW5lIHRvIGluZGljYXRlCiAgICAgIHRoZSByZXN1bHQgb2YgYXV0aGVudGljYXRpb24uPC9wPgoKICAgICAgPGRpdiBjbGFzcz0id2FybmluZyI+PGgzPldhcm5pbmc8L2gzPgogICAgICA8cD5CZWZvcmUgMi4zLjYsIG9ubHkgb25lIEZhc3RDR0kgYXBwbGljYXRpb24gb2YgYW55IHR5cGUgKEFBQSBvciBoYW5kbGVyKQogICAgICBjYW4gYmUgdXNlZCBmb3IgYSBwYXJ0aWN1bGFyIHJlcXVlc3QgVVJJLiAgT3RoZXJ3aXNlLCB0aGUgd3JvbmcgRmFzdENHSQogICAgICBhcHBsaWNhdGlvbiBtYXkgYmUgaW52b2tlZCBmb3Igb25lIG9yIG1vcmUgcGhhc2VzIG9mIHJlcXVlc3QgcHJvY2Vzc2luZy48L3A+CiAgICAgIDwvZGl2PgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZEF1dGhlbnRpY2F0b3JBdXRob3JpdGF0aXZlIiBpZD0iRmNnaWRBdXRoZW50aWNhdG9yQXV0aG9yaXRhdGl2ZSI+RmNnaWRBdXRoZW50aWNhdG9yQXV0aG9yaXRhdGl2ZTwvYT4gPGEgbmFtZT0iZmNnaWRhdXRoZW50aWNhdG9yYXV0aG9yaXRhdGl2ZSIgaWQ9ImZjZ2lkYXV0aGVudGljYXRvcmF1dGhvcml0YXRpdmUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPlNldCB0byAnb2ZmJyB0byBhbGxvdyBhdXRoZW50aWNhdGlvbiB0byBiZSBwYXNzZWQgYWxvbmcgdG8gbG93ZXIgbW9kdWxlcyB1cG9uIGZhaWx1cmU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRBdXRoZW50aWNhdG9yQXV0aG9yaXRhdGl2ZSA8ZW0+T258T2ZmPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRBdXRoZW50aWNhdG9yQXV0aG9yaXRhdGl2ZSBPbjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5kaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+RmlsZUluZm88L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5UaGlzIGRpcmVjdGl2ZSBjb250cm9scyB3aGV0aGVyIG9yIG5vdCBvdGhlciBhdXRoZW50aWNhdG9ycwogICAgICBhcmUgYWxsb3dlZCB0byBydW4gd2hlbiB0aGlzIG1vZHVsZSBoYXMgYW4gYXV0aGVudGljYXRvciBjb25maWd1cmVkCiAgICAgIGFuZCBpdCBmYWlscyBhIHJlcXVlc3QuICBJZiB0aGlzIGRpcmVjdGl2ZSBpcyA8Y29kZT5PbjwvY29kZT4gKGRlZmF1bHQpCiAgICAgIGFuZCBhIEZhc3RDR0kgYXV0aGVudGljYXRvciByZXR1cm5zIGEgZmFpbHVyZSBzdGF0dXMsIGEgZmFpbHVyZSBpcwogICAgICByZXR1cm5lZCB0byB0aGUgY2xpZW50IHdpdGhvdXQgZ2l2aW5nIG90aGVyIGF1dGhlbnRpY2F0b3JzIGEgY2hhbmNlIHRvCiAgICAgIHZhbGlkYXRlIHRoZSBjbGllbnQgaWRlbnRpdHkuICBJZiB0aGlzIGRpcmVjdGl2ZSBpcyA8Y29kZT5PZmY8L2NvZGU+LAogICAgICBvdGhlciBhdXRoZW50aWNhdG9ycyB3aWxsIGJlIGNhbGxlZC48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkQXV0aG9yaXplciIgaWQ9IkZjZ2lkQXV0aG9yaXplciI+RmNnaWRBdXRob3JpemVyPC9hPiA8YSBuYW1lPSJmY2dpZGF1dGhvcml6ZXIiIGlkPSJmY2dpZGF1dGhvcml6ZXIiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPmZ1bGwgcGF0aCB0byBGYXN0Q0dJIGF1dGhvcml6ZXI8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRBdXRob3JpemVyIDxlbT5jb21tYW5kPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+bm9uZTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5kaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+RmlsZUluZm88L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5BdXRob3JpemF0aW9uIGlzIHRoZSBwcm9jZWR1cmUgd2hpY2ggdmVyaWZpZXMgdGhhdCB0aGUgdXNlciBpcwogICAgICBhbGxvd2VkIHRvIGFjY2VzcyBhIHBhcnRpY3VsYXIgcmVzb3VyY2UuICBUaGlzIGRpcmVjdGl2ZSBzcGVjaWZpZXMKICAgICAgdGhlIGZ1bGwgcGF0aCB0byBhIEZhc3RDR0kgYXBwbGljYXRpb24gd2hpY2ggd2lsbCBoYW5kbGUgYXV0aG9yaXphdGlvbgogICAgICBmb3IgYSBwYXJ0aWN1bGFyIGNvbnRleHQsIHN1Y2ggYXMgYSBkaXJlY3RvcnkuPC9wPgoKICAgICAgPHA+S2V5IGVudmlyb25tZW50IHZhcmlhYmxlcyBwYXNzZWQgdG8gdGhlIGFwcGxpY2F0aW9uIG9uIGF1dGhvcml6YXRpb24KICAgICAgYXJlOjwvcD4KCiAgICAgIDxkbD4KICAgICAgICA8ZHQ+PGNvZGU+UkVNT1RFX1VTRVI8L2NvZGU+PC9kdD4KICAgICAgICA8ZGQ+c2V0IHRvIHRoZSB1c2VyIGlkIG9mIHRoZSBjbGllbnQsIHdoaWNoIGhhcyBhbHJlYWR5IGJlZW4KICAgICAgICBhdXRoZW50aWNhdGVkPC9kZD4KCiAgICAgICAgPGR0Pjxjb2RlPkZDR0lfQVBBQ0hFX1JPTEU8L2NvZGU+PC9kdD4KICAgICAgICA8ZGQ+c2V0IHRvIDxjb2RlPkFVVEhPUklaRVI8L2NvZGU+OyBieSBjaGVja2luZyB0aGUgY3VycmVudCByb2xlLCB0aGUKICAgICAgICBzYW1lIEZhc3RDR0kgYXBwbGljYXRpb24gY2FuIGhhbmRsZSBtdWx0aXBsZSBzdGFnZXMgb2YgcmVxdWVzdAogICAgICAgIHByb2Nlc3Npbmc8L2RkPgogICAgICA8L2RsPgoKICAgICAgPHA+VGhlIGFwcGxpY2F0aW9uIG11c3Qgb3V0cHV0IGEgPGNvZGU+U3RhdHVzPC9jb2RlPiBsaW5lIHRvIGluZGljYXRlCiAgICAgIHRoZSByZXN1bHQgb2YgYXV0aG9yaXphdGlvbi48L3A+CgogICAgICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIj48aDM+V2FybmluZzwvaDM+CiAgICAgIDxwPkJlZm9yZSAyLjMuNiwgb25seSBvbmUgRmFzdENHSSBhcHBsaWNhdGlvbiBvZiBhbnkgdHlwZSAoQUFBIG9yIGhhbmRsZXIpCiAgICAgIGNhbiBiZSB1c2VkIGZvciBhIHBhcnRpY3VsYXIgcmVxdWVzdCBVUkkuICBPdGhlcndpc2UsIHRoZSB3cm9uZyBGYXN0Q0dJCiAgICAgIGFwcGxpY2F0aW9uIG1heSBiZSBpbnZva2VkIGZvciBvbmUgb3IgbW9yZSBwaGFzZXMgb2YgcmVxdWVzdCBwcm9jZXNzaW5nLjwvcD4KICAgICAgPC9kaXY+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkQXV0aG9yaXplckF1dGhvcml0YXRpdmUiIGlkPSJGY2dpZEF1dGhvcml6ZXJBdXRob3JpdGF0aXZlIj5GY2dpZEF1dGhvcml6ZXJBdXRob3JpdGF0aXZlPC9hPiA8YSBuYW1lPSJmY2dpZGF1dGhvcml6ZXJhdXRob3JpdGF0aXZlIiBpZD0iZmNnaWRhdXRob3JpemVyYXV0aG9yaXRhdGl2ZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+U2V0IHRvICdvZmYnIHRvIGFsbG93IGF1dGhvcml6YXRpb24gdG8gYmUgcGFzc2VkIGFsb25nIHRvIGxvd2VyIG1vZHVsZXMgdXBvbiBmYWlsdXJlPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkQXV0aG9yaXplckF1dGhvcml0YXRpdmUgPGVtPk9ufE9mZjwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkQXV0aG9yaXplckF1dGhvcml0YXRpdmUgT248L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+ZGlyZWN0b3J5LCAuaHRhY2Nlc3M8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNPdmVycmlkZSI+T3ZlcnJpZGU6PC9hPjwvdGg+PHRkPkZpbGVJbmZvPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBkaXJlY3RpdmUgY29udHJvbHMgd2hldGhlciBvciBub3Qgb3RoZXIgYXV0aG9yaXplcnMKICAgICAgYXJlIGFsbG93ZWQgdG8gcnVuIHdoZW4gdGhpcyBtb2R1bGUgaGFzIGFuIGF1dGhvcml6ZXIgY29uZmlndXJlZAogICAgICBhbmQgaXQgZmFpbHMgYSByZXF1ZXN0LiAgSWYgdGhpcyBkaXJlY3RpdmUgaXMgPGNvZGU+T248L2NvZGU+IChkZWZhdWx0KQogICAgICBhbmQgYSBGYXN0Q0dJIGF1dGhvcml6ZXIgcmV0dXJucyBhIGZhaWx1cmUgc3RhdHVzLCBhIGZhaWx1cmUgaXMKICAgICAgcmV0dXJuZWQgdG8gdGhlIGNsaWVudCB3aXRob3V0IGdpdmluZyBvdGhlciBhdXRob3JpemVyIGEgY2hhbmNlIHRvCiAgICAgIGFjY2VzcyB0aGUgcmVzb3VyY2UuICBJZiB0aGlzIGRpcmVjdGl2ZSBpcyA8Y29kZT5PZmY8L2NvZGU+LCBvdGhlcgogICAgICBhdXRob3JpemVycyB3aWxsIGJlIGNhbGxlZC48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkQnVzeVNjYW5JbnRlcnZhbCIgaWQ9IkZjZ2lkQnVzeVNjYW5JbnRlcnZhbCI+RmNnaWRCdXN5U2NhbkludGVydmFsPC9hPiA8YSBuYW1lPSJmY2dpZGJ1c3lzY2FuaW50ZXJ2YWwiIGlkPSJmY2dpZGJ1c3lzY2FuaW50ZXJ2YWwiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPnNjYW4gaW50ZXJ2YWwgZm9yIGJ1c3kgdGltZW91dCBwcm9jZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkQnVzeVNjYW5JbnRlcnZhbCA8ZW0+c2Vjb25kczwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkQnVzeVNjYW5JbnRlcnZhbCAxMjA8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoZSBtb2R1bGUgcGVyZm9ybXMgdGhlCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGJ1c3l0aW1lb3V0Ij5GY2dpZEJ1c3lUaW1lb3V0PC9hPjwvY29kZT4gY2hlY2sgYXQgdGhpcwogICAgICBpbnRlcnZhbC48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkQnVzeVRpbWVvdXQiIGlkPSJGY2dpZEJ1c3lUaW1lb3V0Ij5GY2dpZEJ1c3lUaW1lb3V0PC9hPiA8YSBuYW1lPSJmY2dpZGJ1c3l0aW1lb3V0IiBpZD0iZmNnaWRidXN5dGltZW91dCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+YSBGYXN0Q0dJIGFwcGxpY2F0aW9uIHdpbGwgYmUga2lsbGVkIGFmdGVyIGhhbmRsaW5nIGEgcmVxdWVzdCBmb3IgRmNnaWRCdXN5VGltZW91dDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZEJ1c3lUaW1lb3V0IDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRCdXN5VGltZW91dCAzMDA8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBpcyB0aGUgbWF4aW11bSB0aW1lIGxpbWl0IGZvciByZXF1ZXN0IGhhbmRsaW5nLiAgSWYgYSBGYXN0Q0dJCiAgICAgIHJlcXVlc3QgZG9lcyBub3QgY29tcGxldGUgd2l0aGluIEZjZ2lkQnVzeVRpbWVvdXQgc2Vjb25kcywgaXQgd2lsbCBiZQogICAgICBzdWJqZWN0IHRvIHRlcm1pbmF0aW9uLiAgQmVjYXVzZSB0aGUgY2hlY2sgaXMgcGVyZm9ybWVkIGF0IHRoZQogICAgICBpbnRlcnZhbCBkZWZpbmVkIGJ5IDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGJ1c3lzY2FuaW50ZXJ2YWwiPkZjZ2lkQnVzeVNjYW5JbnRlcnZhbDwvYT48L2NvZGU+LAogICAgICByZXF1ZXN0IGhhbmRsaW5nIG1heSBiZSBhbGxvd2VkIHRvIHByb2NlZWQgZm9yIGEgbG9uZ2VyIHBlcmlvZCBvZiB0aW1lLjwvcD4KCiAgICAgIDxwPlRoZSBwdXJwb3NlIG9mIHRoaXMgZGlyZWN0aXZlIGlzIHRvIHRlcm1pbmF0ZSBodW5nIGFwcGxpY2F0aW9ucy4KICAgICAgVGhlIGRlZmF1bHQgdGltZW91dCBtYXkgbmVlZCB0byBiZSBpbmNyZWFzZWQgZm9yIGFwcGxpY2F0aW9ucyB0aGF0CiAgICAgIGNhbiB0YWtlIGxvbmdlciB0byBwcm9jZXNzIHRoZSByZXF1ZXN0LjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRDbWRPcHRpb25zIiBpZD0iRmNnaWRDbWRPcHRpb25zIj5GY2dpZENtZE9wdGlvbnM8L2E+IDxhIG5hbWU9ImZjZ2lkY21kb3B0aW9ucyIgaWQ9ImZjZ2lkY21kb3B0aW9ucyI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+U2V0IHByb2Nlc3Npbmcgb3B0aW9ucyBmb3IgYSBGYXN0Q0dJCiAgICBjb21tYW5kPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkQ21kT3B0aW9ucyA8ZW0+Y29tbWFuZDwvZW0+IDxlbT5vcHRpb248L2VtPgogICAgWzxlbT5vcHRpb248L2VtPl0gLi4uPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgZGlyZWN0aXZlIGFsbG93cyBwcm9jZXNzaW5nIG9wdGlvbnMgdG8gYmUgc3BlY2lmaWVkIGZvcgogICAgICBhIHNwZWNpZmljIGNvbW1hbmQgc3Bhd25lZCBieSBtb2RfZmNnaWQuICBFYWNoIG9wdGlvbiBmb3IgdGhlCiAgICAgIGNvbW1hbmQgY29ycmVzcG9uZHMgdG8gYW5vdGhlciBkaXJlY3RpdmUgdGhhdCBub3JtYWxseSBhcHBsaWVzIHRvCiAgICAgIGFsbCBjb21tYW5kcyBzdGFydGVkIHdpdGhpbiBhIHBhcnRpY3VsYXIgY29udGV4dC4gIElmIGEKICAgICAgcGFydGljdWxhciBvcHRpb24gaXMgbm90IHNwZWNpZmllZCBvbiB0aGlzIGRpcmVjdGl2ZSwgdGhlCiAgICAgIGRlZmF1bHQgd2lsbCBiZSB1c2VkLjwvcD4KCiAgICAgIDxwPlRoZSBmb2xsb3dpbmcgdGFibGUgcHJvdmlkZXMgYSBsaXN0IG9mIG9wdGlvbnMgYW5kCiAgICAgIGNvcnJlc3BvbmRpbmcgZGlyZWN0aXZlczo8L3A+CgogICAgICA8dGFibGUgY2xhc3M9ImJvcmRlcmVkIj48dHIgY2xhc3M9ImhlYWRlciI+PHRoPk9wdGlvbiBuYW1lIGFuZCBzeW50YXg8L3RoPjx0aD5Db3JyZXNwb25kaW5nIGRpcmVjdGl2ZTwvdGg+PC90cj4KPHRyPgogICAgICAgICAgPHRkPjxjb2RlPkNvbm5lY3RUaW1lb3V0IDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRjb25uZWN0dGltZW91dCI+RmNnaWRDb25uZWN0VGltZW91dDwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGU+SWRsZVRpbWVvdXQgPGVtPnNlY29uZHM8L2VtPjwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGlkbGV0aW1lb3V0Ij5GY2dpZElkbGVUaW1lb3V0PC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZT5Jbml0aWFsRW52IDxlbT5uYW1lWz12YWx1ZV08L2VtPjwvY29kZT48L3RkPgogICAgICAgICAgPHRkPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGluaXRpYWxlbnYiPkZjZ2lkSW5pdGlhbEVudjwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGU+SU9UaW1lb3V0IDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRpb3RpbWVvdXQiPkZjZ2lkSU9UaW1lb3V0PC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZT5NYXhQcm9jZXNzZXMgPGVtPnZhbHVlPC9lbT48L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRtYXhwcm9jZXNzZXNwZXJjbGFzcyI+RmNnaWRNYXhQcm9jZXNzZXNQZXJDbGFzczwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8dHIgY2xhc3M9Im9kZCI+CiAgICAgICAgICA8dGQ+PGNvZGU+TWF4UHJvY2Vzc0xpZmVUaW1lIDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRwcm9jZXNzbGlmZXRpbWUiPkZjZ2lkUHJvY2Vzc0xpZmVUaW1lPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0cj4KICAgICAgICAgIDx0ZD48Y29kZT5NYXhSZXF1ZXN0c1BlclByb2Nlc3MgPGVtPnZhbHVlPC9lbT48L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRtYXhyZXF1ZXN0c3BlcnByb2Nlc3MiPkZjZ2lkTWF4UmVxdWVzdHNQZXJQcm9jZXNzPC9hPjwvY29kZT48L3RkPgogICAgICAgIDwvdHI+Cjx0ciBjbGFzcz0ib2RkIj4KICAgICAgICAgIDx0ZD48Y29kZT5NaW5Qcm9jZXNzZXMgPGVtPnZhbHVlPC9lbT48L2NvZGU+PC90ZD4KICAgICAgICAgIDx0ZD48Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRtaW5wcm9jZXNzZXNwZXJjbGFzcyI+RmNnaWRNaW5Qcm9jZXNzZXNQZXJDbGFzczwvYT48L2NvZGU+PC90ZD4KICAgICAgICA8L3RyPgo8L3RhYmxlPgoKICAgICAgPHA+TXVsdGlwbGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBkZWZpbmVkIGJ5IHJlcGVhdGluZwogICAgICB0aGUgPGNvZGU+SW5pdGlhbEVudjwvY29kZT4gb3B0aW9uLjwvcD4KCiAgICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPjxoMz5FeGFtcGxlPC9oMz48cD48Y29kZT4KICAgICAgRmNnaWRDbWRPcHRpb25zIC91c3IvbG9jYWwvYmluL3dyYXBwZXIgXDxiciAvPgogICAgICA8c3BhbiBjbGFzcz0iaW5kZW50Ij4KICAgICAgSW5pdGlhbEVudiBNQVhfUkVRVUVTVFM9MjAwMCBcPGJyIC8+CiAgICAgIE1heFJlcXVlc3RzUGVyUHJvY2VzcyAyMDAwIFw8YnIgLz4KICAgICAgSU9UaW1lb3V0IDkwPGJyIC8+CiAgICAgIDwvc3Bhbj4KICAgICAgPC9jb2RlPjwvcD48L2Rpdj4KCiAgICAgIDxwPldoZW4gPGNvZGU+L3Vzci9sb2NhbC9iaW4vd3JhcHBlcjwvY29kZT4gaXMgc3Bhd25lZCwgaXRzIGluaXRpYWwKICAgICAgZW52aXJvbm1lbnQgY29udGFpbnMgdGhlIDxjb2RlPk1BWF9SRVFVRVNUUz0yMDAwPC9jb2RlPgogICAgICBlbnZpcm9ubWVudCB2YXJpYWJsZSBzZXR0aW5nOyBhZGRpdGlvbmFsbHksIG1vZF9mY2dpZCB3aWxsCiAgICAgIHRlcm1pbmF0ZSBpdCBhZnRlciBpdCBoYXMgaGFuZGxlZCAyMDAwIHJlcXVlc3RzLCBhbmQgSS9PCiAgICAgIG9wZXJhdGlvbnMgd2lsbCB0aW1lIG91dCBhZnRlciA5MCBzZWNvbmRzLiAgRGlyZWN0aXZlcwogICAgICBjb3JyZXNwb25kaW5nIHRvIG90aGVyIG9wdGlvbnMsIHN1Y2ggYXMKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkaWRsZXRpbWVvdXQiPkZjZ2lkSWRsZVRpbWVvdXQ8L2E+PC9jb2RlPiBvcgogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRwcm9jZXNzbGlmZXRpbWUiPkZjZ2lkUHJvY2Vzc0xpZmVUaW1lPC9hPjwvY29kZT4sCiAgICAgIHdpbGwgYmUgaWdub3JlZCBmb3IgdGhpcyBjb21tYW5kOyBkZWZhdWx0cyB3aWxsIGJlIHVzZWQgZm9yIG9wdGlvbnMKICAgICAgbm90IHNwZWNpZmllZCBvbiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5GY2dpZENtZE9wdGlvbnM8L2NvZGU+LjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRDb25uZWN0VGltZW91dCIgaWQ9IkZjZ2lkQ29ubmVjdFRpbWVvdXQiPkZjZ2lkQ29ubmVjdFRpbWVvdXQ8L2E+IDxhIG5hbWU9ImZjZ2lkY29ubmVjdHRpbWVvdXQiIGlkPSJmY2dpZGNvbm5lY3R0aW1lb3V0Ij5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5Db25uZWN0IHRpbWVvdXQgdG8gRmFzdENHSSBzZXJ2ZXI8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRDb25uZWN0VGltZW91dCA8ZW0+c2Vjb25kczwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkQ29ubmVjdFRpbWVvdXQgMzwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5UaGlzIGlzIHRoZSBtYXhpbXVtIHBlcmlvZCBvZiB0aW1lIHRoZSBtb2R1bGUgd2lsbCB3YWl0CiAgICAgIHdoaWxlIHRyeWluZyB0byBjb25uZWN0IHRvIGEgRmFzdENHSSBhcHBsaWNhdGlvbiBvbiBXaW5kb3dzLgogICAgICAoVGhpcyBkaXJlY3RpdmUgaXMgbm90IHJlc3BlY3RlZCBvbiBVbml4LCB3aGVyZSBBRl9VTklYIGRlZmF1bHRzCiAgICAgIHdpbGwgYXBwbHkuKTwvcD4KCiAgICAgIDxwPlRoaXMgc2V0dGluZyB3aWxsIGFwcGx5IHRvIGFsbCBhcHBsaWNhdGlvbnMgc3Bhd25lZCBmb3IgdGhpcwogICAgICBzZXJ2ZXIgb3IgdmlydHVhbCBob3N0LiAgVXNlCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGNtZG9wdGlvbnMiPkZjZ2lkQ21kT3B0aW9uczwvYT48L2NvZGU+IHRvIGFwcGx5CiAgICAgIHRoaXMgc2V0dGluZyB0byBhIHNpbmdsZSBhcHBsaWNhdGlvbi48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkRXJyb3JTY2FuSW50ZXJ2YWwiIGlkPSJGY2dpZEVycm9yU2NhbkludGVydmFsIj5GY2dpZEVycm9yU2NhbkludGVydmFsPC9hPiA8YSBuYW1lPSJmY2dpZGVycm9yc2NhbmludGVydmFsIiBpZD0iZmNnaWRlcnJvcnNjYW5pbnRlcnZhbCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+c2NhbiBpbnRlcnZhbCBmb3IgZXhpdGVkIHByb2Nlc3M8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRFcnJvclNjYW5JbnRlcnZhbCA8ZW0+c2Vjb25kczwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkRXJyb3JTY2FuSW50ZXJ2YWwgMzwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBpcyB0aGUgaW50ZXJ2YWwgYXQgd2hpY2ggdGhlIG1vZHVsZSB3aWxsIGhhbmRsZQogICAgICBwZW5kaW5nIHByb2Nlc3MgdGVybWluYXRpb24uICBUZXJtaW5hdGlvbiBpcyBwZW5kaW5nIGZvcgogICAgICBhbnkgcHJvY2Vzc2VzIHdoaWNoIGhhdmUgZXhjZWVkZWQKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkaWRsZXRpbWVvdXQiPkZjZ2lkSWRsZVRpbWVvdXQ8L2E+PC9jb2RlPiBvcgogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRwcm9jZXNzbGlmZXRpbWUiPkZjZ2lkUHJvY2Vzc0xpZmVUaW1lPC9hPjwvY29kZT4uPC9wPgoKICAgICAgPHA+VW5peDogbW9kX2ZjZ2lkIHdpbGwgdGVybWluYXRlIHN1Y2ggcHJvY2Vzc2VzIHdpdGggU0lHVEVSTTsKICAgICAgaWYgdGhlIHByb2Nlc3MgaXMgc3RpbGwgYWN0aXZlIGR1cmluZyB0aGUgbmV4dCBzY2FuLCB0aGUgcHJvY2VzcwogICAgICB3aWxsIGJlIHRlcm1pbmF0ZWQgd2l0aCBTSUdLSUxMLiAgVGh1cywgdGhpcyBkaXJlY3RpdmUgY29udHJvbHMgdGhlCiAgICAgIGFtb3VudCBvZiB0aW1lIGZvciBvcmRlcmx5IHByb2Nlc3MgdGVybWluYXRlIGJlZm9yZSBiZWluZyBmb3JjaWJseQogICAgICBraWxsZWQuPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZEZpeFBhdGhpbmZvIiBpZD0iRmNnaWRGaXhQYXRoaW5mbyI+RmNnaWRGaXhQYXRoaW5mbzwvYT4gPGEgbmFtZT0iZmNnaWRmaXhwYXRoaW5mbyIgaWQ9ImZjZ2lkZml4cGF0aGluZm8iPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPk1pcnJvciB0aGUgUEhQIDxjb2RlPmNnaS5maXhfcGF0aGluZm88L2NvZGU+CiAgICBzZXR0aW5nPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkRml4UGF0aGluZm8gMTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZEZpeFBhdGhpbmZvIDA8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgZGlyZWN0aXZlIGVuYWJsZXMgc3BlY2lhbCA8Y29kZT5TQ1JJUFRfTkFNRTwvY29kZT4KICAgICAgcHJvY2Vzc2luZyB3aGljaCBhbGxvd3MgUEhQIHRvIHByb3ZpZGUgYWRkaXRpb25hbCBwYXRoIGluZm9ybWF0aW9uLgogICAgICBUaGUgc2V0dGluZyBvZiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj5GY2dpZEZpeFBhdGhpbmZvPC9jb2RlPgogICAgICBzaG91bGQgbWlycm9yIHRoZSA8Y29kZT5jZ2kuZml4X3BhdGhpbmZvPC9jb2RlPiBzZXR0aW5nIGluCiAgICAgIDxjb2RlPnBocC5pbmk8L2NvZGU+LjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRJZGxlU2NhbkludGVydmFsIiBpZD0iRmNnaWRJZGxlU2NhbkludGVydmFsIj5GY2dpZElkbGVTY2FuSW50ZXJ2YWw8L2E+IDxhIG5hbWU9ImZjZ2lkaWRsZXNjYW5pbnRlcnZhbCIgaWQ9ImZjZ2lkaWRsZXNjYW5pbnRlcnZhbCI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+c2NhbiBpbnRlcnZhbCBmb3IgaWRsZSB0aW1lb3V0IHByb2Nlc3M8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRJZGxlU2NhbkludGVydmFsIDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRJZGxlU2NhbkludGVydmFsIDEyMDwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBpcyB0aGUgaW50ZXJ2YWwgYXQgd2hpY2ggdGhlIG1vZHVsZSB3aWxsIHNlYXJjaCBmb3IKICAgICAgcHJvY2Vzc2VzIHdoaWNoIGhhdmUgZXhjZWVkZWQKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkaWRsZXRpbWVvdXQiPkZjZ2lkSWRsZVRpbWVvdXQ8L2E+PC9jb2RlPiBvcgogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRwcm9jZXNzbGlmZXRpbWUiPkZjZ2lkUHJvY2Vzc0xpZmVUaW1lPC9hPjwvY29kZT4uPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZElkbGVUaW1lb3V0IiBpZD0iRmNnaWRJZGxlVGltZW91dCI+RmNnaWRJZGxlVGltZW91dDwvYT4gPGEgbmFtZT0iZmNnaWRpZGxldGltZW91dCIgaWQ9ImZjZ2lkaWRsZXRpbWVvdXQiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkFuIGlkbGUgRmFzdENHSSBhcHBsaWNhdGlvbiB3aWxsIGJlIGtpbGxlZCBhZnRlciBGY2dpZElkbGVUaW1lb3V0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkSWRsZVRpbWVvdXQgPGVtPnNlY29uZHM8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZElkbGVUaW1lb3V0IDMwMDwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5BcHBsaWNhdGlvbiBwcm9jZXNzZXMgd2hpY2ggaGF2ZSBub3QgaGFuZGxlZCBhIHJlcXVlc3QgZm9yIHRoaXMKICAgICAgcGVyaW9kIG9mIHRpbWUgd2lsbCBiZSB0ZXJtaW5hdGVkLCBpZiB0aGUgbnVtYmVyIG9mIHByb2Nlc3NzZXMgZm9yIHRoZQogICAgICBjbGFzcyBleGNlZWRzCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZG1pbnByb2Nlc3Nlc3BlcmNsYXNzIj5GY2dpZE1pblByb2Nlc3Nlc1BlckNsYXNzPC9hPjwvY29kZT4uCiAgICAgIEEgdmFsdWUgb2YgPGNvZGU+MDwvY29kZT4gZGlzYWJsZXMgdGhlIGNoZWNrLjwvcD4KCiAgICAgIDxwPlRoaXMgaWRsZSB0aW1lb3V0IGNoZWNrIGlzIHBlcmZvcm1lZCBhdCB0aGUgZnJlcXVlbmN5IG9mIHRoZSBjb25maWd1cmVkCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGlkbGVzY2FuaW50ZXJ2YWwiPkZjZ2lkSWRsZVNjYW5JbnRlcnZhbDwvYT48L2NvZGU+LjwvcD4KCiAgICAgIDxwPlRoaXMgc2V0dGluZyB3aWxsIGFwcGx5IHRvIGFsbCBhcHBsaWNhdGlvbnMgc3Bhd25lZCBmb3IgdGhpcwogICAgICBzZXJ2ZXIgb3IgdmlydHVhbCBob3N0LiAgVXNlCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGNtZG9wdGlvbnMiPkZjZ2lkQ21kT3B0aW9uczwvYT48L2NvZGU+IHRvIGFwcGx5CiAgICAgIHRoaXMgc2V0dGluZyB0byBhIHNpbmdsZSBhcHBsaWNhdGlvbi48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkSW5pdGlhbEVudiIgaWQ9IkZjZ2lkSW5pdGlhbEVudiI+RmNnaWRJbml0aWFsRW52PC9hPiA8YSBuYW1lPSJmY2dpZGluaXRpYWxlbnYiIGlkPSJmY2dpZGluaXRpYWxlbnYiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPmFuIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWUgYW5kIG9wdGlvbmFsIHZhbHVlIHRvIHBhc3MgdG8gRmFzdENHSS48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRJbml0aWFsRW52IDxlbT5uYW1lPC9lbT4gWyA8ZW0+dmFsdWU8L2VtPiBdPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPm5vbmU8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VXNlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPkZjZ2lkSW5pdGlhbEVudjwvY29kZT4gdG8gZGVmaW5lIGVudmlyb25tZW50CiAgICAgIHZhcmlhYmxlcyB0byBwYXNzIHRvIHRoZSBGYXN0Q0dJIGFwcGxpY2F0aW9uLiAgVGhpcyBkaXJlY3RpdmUgY2FuCiAgICAgIGJlIHVzZWQgbXVsdGlwbGUgdGltZXMuPC9wPgoKICAgICAgPHA+VGhpcyBzZXR0aW5nIHdpbGwgYXBwbHkgdG8gYWxsIGFwcGxpY2F0aW9ucyBzcGF3bmVkIGZvciB0aGlzCiAgICAgIHNlcnZlciBvciB2aXJ0dWFsIGhvc3QuICBVc2UKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkY21kb3B0aW9ucyI+RmNnaWRDbWRPcHRpb25zPC9hPjwvY29kZT4gdG8gYXBwbHkKICAgICAgdGhpcyBzZXR0aW5nIHRvIGEgc2luZ2xlIGFwcGxpY2F0aW9uLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRJT1RpbWVvdXQiIGlkPSJGY2dpZElPVGltZW91dCI+RmNnaWRJT1RpbWVvdXQ8L2E+IDxhIG5hbWU9ImZjZ2lkaW90aW1lb3V0IiBpZD0iZmNnaWRpb3RpbWVvdXQiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkNvbW11bmljYXRpb24gdGltZW91dCB0byBGYXN0Q0dJIHNlcnZlcjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZElPVGltZW91dCA8ZW0+c2Vjb25kczwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkSU9UaW1lb3V0IDQwPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgaXMgdGhlIG1heGltdW0gcGVyaW9kIG9mIHRpbWUgdGhlIG1vZHVsZSB3aWxsIHdhaXQKICAgICAgd2hpbGUgdHJ5aW5nIHRvIHJlYWQgZnJvbSBvciB3cml0ZSB0byBhIEZhc3RDR0kgYXBwbGljYXRpb24uPC9wPgoKICAgICAgPGRpdiBjbGFzcz0ibm90ZSI+PGgzPk5vdGU8L2gzPgogICAgICA8cD5UaGUgRmFzdENHSSBhcHBsaWNhdGlvbiBtdXN0IGJlZ2luIGdlbmVyYXRpbmcgdGhlIHJlc3BvbnNlIHdpdGhpbgogICAgICB0aGlzIHBlcmlvZCBvZiB0aW1lLiAgSW5jcmVhc2UgdGhpcyBkaXJlY3RpdmUgYXMgbmVjZXNzYXJ5IHRvIGhhbmRsZQogICAgICBhcHBsaWNhdGlvbnMgd2hpY2ggdGFrZSBhIHJlbGF0aXZlbHkgbG9uZyBwZXJpb2Qgb2YgdGltZSB0byByZXNwb25kLjwvcD4KICAgICAgPC9kaXY+CgogICAgICA8cD5UaGlzIHNldHRpbmcgd2lsbCBhcHBseSB0byBhbGwgYXBwbGljYXRpb25zIHNwYXduZWQgZm9yIHRoaXMKICAgICAgc2VydmVyIG9yIHZpcnR1YWwgaG9zdC4gIFVzZQogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRjbWRvcHRpb25zIj5GY2dpZENtZE9wdGlvbnM8L2E+PC9jb2RlPiB0byBhcHBseQogICAgICB0aGlzIHNldHRpbmcgdG8gYSBzaW5nbGUgYXBwbGljYXRpb24uPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZElQQ0RpciIgaWQ9IkZjZ2lkSVBDRGlyIj5GY2dpZElQQ0RpcjwvYT4gPGEgbmFtZT0iZmNnaWRpcGNkaXIiIGlkPSJmY2dpZGlwY2RpciI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+ZGlyZWN0b3J5IGZvciBBRl9VTklYIHNvY2tldHMgKFVuaXgpIG9yIHBpcGVzIChXaW5kb3dzKTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZElQQ0RpciA8ZW0+cGF0aG5hbWU8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZElQQ0RpciBsb2dzL2ZjZ2lkc29jazwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBtb2R1bGUgdXNlcyBBRl9VTklYIHNvY2tldHMgb3IgbmFtZWQgcGlwZXMsIGRlcGVuZGluZyBvbiB0aGUKICAgICAgcGxhdGZvcm0sIHRvIGNvbW11bmljYXRlIHdpdGggRmFzdENHSSBhcHBsaWNhdGlvbnMuICBUaGlzIGRpcmVjdGl2ZQogICAgICBzcGVjaWZpZXMgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aG9zZSBzb2NrZXRzIG9yIG5hbWVkIHBpcGVzIHdpbGwgYmUKICAgICAgY3JlYXRlZC48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkTWF4UHJvY2Vzc2VzIiBpZD0iRmNnaWRNYXhQcm9jZXNzZXMiPkZjZ2lkTWF4UHJvY2Vzc2VzPC9hPiA8YSBuYW1lPSJmY2dpZG1heHByb2Nlc3NlcyIgaWQ9ImZjZ2lkbWF4cHJvY2Vzc2VzIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5tYXhpbXVtIG51bWJlciBvZiBGYXN0Q0dJIGFwcGxpY2F0aW9uIHByb2Nlc3NlczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE1heFByb2Nlc3NlcyA8ZW0+dmFsdWU8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE1heFByb2Nlc3NlcyAxMDAwPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWc8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5UaGlzIGRpcmVjdGl2ZSBzZXRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBGYXN0Q0dJIGFwcGxpY2F0aW9uCiAgICAgIHByb2Nlc3NlcyB3aGljaCBjYW4gYmUgYWN0aXZlIGF0IG9uZSB0aW1lLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRNYXhQcm9jZXNzZXNQZXJDbGFzcyIgaWQ9IkZjZ2lkTWF4UHJvY2Vzc2VzUGVyQ2xhc3MiPkZjZ2lkTWF4UHJvY2Vzc2VzUGVyQ2xhc3M8L2E+IDxhIG5hbWU9ImZjZ2lkbWF4cHJvY2Vzc2VzcGVyY2xhc3MiIGlkPSJmY2dpZG1heHByb2Nlc3Nlc3BlcmNsYXNzIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5NYXggcHJvY2VzcyBjb3VudCBvZiBvbmUgY2xhc3Mgb2YgRmFzdENHSSBhcHBsaWNhdGlvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE1heFByb2Nlc3Nlc1BlckNsYXNzIDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkTWF4UHJvY2Vzc2VzUGVyQ2xhc3MgMTAwPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgZGlyZWN0aXZlIHNldHMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHByb2Nlc3NlcyB0aGF0IGNhbiBiZQogICAgICBzdGFydGVkIGZvciBlYWNoIHByb2Nlc3MgY2xhc3MuPC9wPgoKICAgICAgPHA+VGhpcyBzZXR0aW5nIHdpbGwgYXBwbHkgdG8gYWxsIGFwcGxpY2F0aW9ucyBzcGF3bmVkIGZvciB0aGlzCiAgICAgIHNlcnZlciBvciB2aXJ0dWFsIGhvc3QuICBVc2UKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkY21kb3B0aW9ucyI+RmNnaWRDbWRPcHRpb25zPC9hPjwvY29kZT4gdG8gYXBwbHkKICAgICAgdGhpcyBzZXR0aW5nIHRvIGEgc2luZ2xlIGFwcGxpY2F0aW9uLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRNYXhSZXF1ZXN0SW5NZW0iIGlkPSJGY2dpZE1heFJlcXVlc3RJbk1lbSI+RmNnaWRNYXhSZXF1ZXN0SW5NZW08L2E+IDxhIG5hbWU9ImZjZ2lkbWF4cmVxdWVzdGlubWVtIiBpZD0iZmNnaWRtYXhyZXF1ZXN0aW5tZW0iPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPm1heGltdW0gc2l6ZSBvZiBhIHJlcXVlc3Qgd2hpY2ggd2lsbCBiZSBoZWxkIGluIG1lbW9yeTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE1heFJlcXVlc3RJbk1lbSA8ZW0+Ynl0ZXM8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE1heFJlcXVlc3RJbk1lbSA2NTUzNjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5UaGlzIG1vZHVsZSByZWFkcyB0aGUgZW50aXJlIHJlcXVlc3QgYm9keSBmcm9tIHRoZSBjbGllbnQKICAgICAgYmVmb3JlIHNlbmRpbmcgaXQgdG8gdGhlIGFwcGxpY2F0aW9uLiAgTm9ybWFsbHkgdGhlIHJlcXVlc3QgYm9keQogICAgICB3aWxsIGJlIHN0b3JlZCBpbiBtZW1vcnkuICBPbmNlIHRoZSBhbW91bnQgb2YgcmVxdWVzdCBib2R5IHJlYWQKICAgICAgZnJvbSB0aGUgY2xpZW50IGV4Y2VlZHMgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RmNnaWRNYXhSZXF1ZXN0SW5NZW08L2NvZGU+CiAgICAgIGJ5dGVzLCB0aGUgcmVtYWluZGVyIG9mIHRoZSByZXF1ZXN0IGJvZHkgd2lsbCBiZSBzdG9yZWQgaW4gYQogICAgICB0ZW1wb3JhcnkgZmlsZS48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkTWF4UmVxdWVzdExlbiIgaWQ9IkZjZ2lkTWF4UmVxdWVzdExlbiI+RmNnaWRNYXhSZXF1ZXN0TGVuPC9hPiA8YSBuYW1lPSJmY2dpZG1heHJlcXVlc3RsZW4iIGlkPSJmY2dpZG1heHJlcXVlc3RsZW4iPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPm1heGltdW0gSFRUUCByZXF1ZXN0IGxlbmd0aDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE1heFJlcXVlc3RMZW4gPGVtPmJ5dGVzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRNYXhSZXF1ZXN0TGVuIDEzMTA3MjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5JZiB0aGUgc2l6ZSBvZiB0aGUgcmVxdWVzdCBib2R5IGV4Y2VlZHMgdGhpcyBhbW91bnQsIHRoZQogICAgICByZXF1ZXN0IHdpbGwgZmFpbCB3aXRoIDxjb2RlPjUwMCBTZXJ2ZXIgRXJyb3I8L2NvZGU+LjwvcD4KCiAgICAgIDxwPkFkbWluaXN0cmF0b3JzIHNob3VsZCBjaGFuZ2UgdGhpcyB0byBhbiBhcHByb3ByaWF0ZSB2YWx1ZSBmb3IgdGhlaXIgc2l0ZSBiYXNlZAogICAgICBvbiBhcHBsaWNhdGlvbiByZXF1aXJlbWVudHMuPC9wPgoKICAgICAgPGRpdiBjbGFzcz0id2FybmluZyI+PGgzPldhcm5pbmc8L2gzPgogICAgICA8cD5CZWZvcmUgMi4zLjYsIHRoaXMgZGVmYXVsdGVkIHRvIDFHQi4gIE1vc3QgdXNlcnMgb2YgZWFybGllciB2ZXJzaW9ucyBzaG91bGQKICAgICAgdXNlIHRoaXMgZGlyZWN0aXZlIHRvIHNldCBhIG1vcmUgcmVhc29uYWJsZSBsaW1pdC48L3A+CiAgICAgIDwvZGl2PgogICAgCjxoMz5TZWUgYWxzbzwvaDM+Cjx1bD4KPGxpPjxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZG1heHJlcXVlc3Rpbm1lbSI+RmNnaWRNYXhSZXF1ZXN0SW5NZW08L2E+PC9jb2RlPjwvbGk+CjwvdWw+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZE1heFJlcXVlc3RzUGVyUHJvY2VzcyIgaWQ9IkZjZ2lkTWF4UmVxdWVzdHNQZXJQcm9jZXNzIj5GY2dpZE1heFJlcXVlc3RzUGVyUHJvY2VzczwvYT4gPGEgbmFtZT0iZmNnaWRtYXhyZXF1ZXN0c3BlcnByb2Nlc3MiIGlkPSJmY2dpZG1heHJlcXVlc3RzcGVycHJvY2VzcyI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+TWF4IHJlcXVlc3RzIGhhbmRsZWQgYnkgZWFjaCBGYXN0Q0dJIGFwcGxpY2F0aW9uPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkTWF4UmVxdWVzdHNQZXJQcm9jZXNzIDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkTWF4UmVxdWVzdHNQZXJQcm9jZXNzIDA8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+RmFzdENHSSBhcHBsaWNhdGlvbiBwcm9jZXNzZXMgd2lsbCBiZSB0ZXJtaW5hdGVkIGFmdGVyIGhhbmRsaW5nCiAgICAgIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHJlcXVlc3RzLiAgQSB2YWx1ZSBvZiA8Y29kZT4wPC9jb2RlPgogICAgICBkaXNhYmxlcyB0aGUgY2hlY2suPC9wPgogICAgICA8ZGl2IGNsYXNzPSJub3RlIj48aDM+Tm90ZTwvaDM+CiAgICAgIDxwPkEgdmFsdWUgb2YgPGNvZGU+LTE8L2NvZGU+IGlzIGN1cnJlbnRseSBhY2NlcHRlZCBmb3IgZWFzZSBvZgogICAgICBtaWdyYXRpb24gZm9yIGV4aXN0aW5nIGNvbmZpZ3VyYXRpb25zLiAgSXQgaXMgdHJlYXRlZCB0aGUgc2FtZSBhcwogICAgICA8Y29kZT4wPC9jb2RlPi48L3A+CiAgICAgIDwvZGl2PgogICAgICA8cD5DZXJ0YWluIGFwcGxpY2F0aW9ucywgbm90YWJseSBQSFAgYXMgRmFzdENHSSwgaGF2ZSB0aGVpciBvd24KICAgICAgZmFjaWxpdHkgZm9yIHRlcm1pbmF0aW5nIGFmdGVyIGhhbmRsaW5nIGEgY2VydGFpbiBudW1iZXIgb2YKICAgICAgcmVxdWVzdHMuICBUaGlzIGRpcmVjdGl2ZSBjYW4gYmUgdXNlZCB0byBhdm9pZCBzZW5kaW5nCiAgICAgIGFkZGl0aW9uYWwgcmVxdWVzdHMgdG8gdGhlIGFwcGxpY2F0aW9uIGFmdGVyIGl0IGhhcyBoYW5kbGVkIGl0cwogICAgICBsaW1pdC48L3A+CiAgICAgIDxkaXYgY2xhc3M9Im5vdGUiPjxoMz5Ob3RlPC9oMz4KICAgICAgPHA+SWYgdGhpcyBpcyBzZXQgc3VjaCB0aGF0IGZyZXF1ZW50IHByb2Nlc3MgY3JlYXRpb24gd2lsbCBiZQogICAgICByZXF1aXJlZCwgeW91IHdpbGwgbGlrZWx5IG5lZWQgdG8gYWRqdXN0CiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHNwYXduc2NvcmV1cGxpbWl0Ij5GY2dpZFNwYXduU2NvcmVVcExpbWl0PC9hPjwvY29kZT4KICAgICAgb3Igb3RoZXIgc2NvcmUtcmVsYXRlZCBkaXJlY3RpdmVzIHRvIGFsbG93IG1vcmUgZnJlcXVlbnQgcHJvY2VzcwogICAgICBjcmVhdGlvbi48L3A+CiAgICAgIDwvZGl2PgoKICAgICAgPHA+VGhpcyBzZXR0aW5nIHdpbGwgYXBwbHkgdG8gYWxsIGFwcGxpY2F0aW9ucyBzcGF3bmVkIGZvciB0aGlzCiAgICAgIHNlcnZlciBvciB2aXJ0dWFsIGhvc3QuICBVc2UKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkY21kb3B0aW9ucyI+RmNnaWRDbWRPcHRpb25zPC9hPjwvY29kZT4gdG8gYXBwbHkKICAgICAgdGhpcyBzZXR0aW5nIHRvIGEgc2luZ2xlIGFwcGxpY2F0aW9uLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRNaW5Qcm9jZXNzZXNQZXJDbGFzcyIgaWQ9IkZjZ2lkTWluUHJvY2Vzc2VzUGVyQ2xhc3MiPkZjZ2lkTWluUHJvY2Vzc2VzUGVyQ2xhc3M8L2E+IDxhIG5hbWU9ImZjZ2lkbWlucHJvY2Vzc2VzcGVyY2xhc3MiIGlkPSJmY2dpZG1pbnByb2Nlc3Nlc3BlcmNsYXNzIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5NaW4gcHJvY2VzcyBjb3VudCBvZiBvbmUgY2xhc3Mgb2YgRmFzdENHSSBhcHBsaWNhdGlvbjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE1pblByb2Nlc3Nlc1BlckNsYXNzIDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkTWluUHJvY2Vzc2VzUGVyQ2xhc3MgMzwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnLCB2aXJ0dWFsIGhvc3Q8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5UaGlzIGRpcmVjdGl2ZSBzZXRzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBwcm9jZXNzZXMgdGhhdCB3aWxsIGJlCiAgICAgIHJldGFpbmVkIGluIGEgcHJvY2VzcyBjbGFzcyBhZnRlciBmaW5pc2hpbmcgcmVxdWVzdHMuPC9wPgoKICAgICAgPHA+VGhpcyBzZXR0aW5nIHdpbGwgYXBwbHkgdG8gYWxsIGFwcGxpY2F0aW9ucyBzcGF3bmVkIGZvciB0aGlzCiAgICAgIHNlcnZlciBvciB2aXJ0dWFsIGhvc3QuICBVc2UKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkY21kb3B0aW9ucyI+RmNnaWRDbWRPcHRpb25zPC9hPjwvY29kZT4gdG8gYXBwbHkKICAgICAgdGhpcyBzZXR0aW5nIHRvIGEgc2luZ2xlIGFwcGxpY2F0aW9uLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRPdXRwdXRCdWZmZXJTaXplIiBpZD0iRmNnaWRPdXRwdXRCdWZmZXJTaXplIj5GY2dpZE91dHB1dEJ1ZmZlclNpemU8L2E+IDxhIG5hbWU9ImZjZ2lkb3V0cHV0YnVmZmVyc2l6ZSIgaWQ9ImZjZ2lkb3V0cHV0YnVmZmVyc2l6ZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+Q0dJIG91dHB1dCBidWZmZXIgc2l6ZTwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZE91dHB1dEJ1ZmZlclNpemUgPGVtPmJ5dGVzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRPdXRwdXRCdWZmZXJTaXplIDY1NTM2PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgaXMgdGhlIG1heGltdW0gYW1vdW50IG9mIHJlc3BvbnNlIGRhdGEgdGhlIG1vZHVsZSB3aWxsIHJlYWQKICAgICAgZnJvbSB0aGUgRmFzdENHSSBhcHBsaWNhdGlvbiBiZWZvcmUgZmx1c2hpbmcgdGhlIGRhdGEgdG8gdGhlIGNsaWVudC48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkUGFzc0hlYWRlciIgaWQ9IkZjZ2lkUGFzc0hlYWRlciI+RmNnaWRQYXNzSGVhZGVyPC9hPiA8YSBuYW1lPSJmY2dpZHBhc3NoZWFkZXIiIGlkPSJmY2dpZHBhc3NoZWFkZXIiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkhlYWRlciBuYW1lIHdoaWNoIHdpbGwgYmUgcGFzc2VkIHRvIEZhc3RDR0kgYXMgZW52aXJvbm1lbnQgdmFyaWFibGUuPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkUGFzc0hlYWRlciA8ZW0+bmFtZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPm5vbmU8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhpcyBkaXJlY3RpdmUgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIGEgcmVxdWVzdCBoZWFkZXIgd2hpY2gKICAgICAgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIEZhc3RDR0kgYXBwbGljYXRpb24gYXMgYW4gZW52aXJvbm1lbnQKICAgICAgdmFyaWFibGUuICBUaGUgbmFtZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgZGVyaXZlZCBmcm9tCiAgICAgIHRoZSB2YWx1ZSBzcGVjaWZpZWQgb24gdGhpcyBkaXJlY3RpdmUsIGFzIGRpc2N1c3NlZCBiZWxvdzo8L3A+CgogICAgICA8cD5UaGUgbGVnYWN5IGJlaGF2aW9yIGlzIHRvIHVzZSB0aGUgdmFsdWUgc3BlY2lmaWVkIG9uIHRoaXMgZGlyZWN0aXZlCiAgICAgIGFzIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lLCBjb252ZXJ0aW5nIGh5cGhlbnMgdG8gdW5kZXJzY29yZXMuCiAgICAgIE5vIGNhc2UgY29udmVyc2lvbiBpcyBwZXJmb3JtZWQuPC9wPgoKICAgICAgPHA+QmVnaW5uaW5nIHdpdGggcmVsZWFzZSAyLjMuNiwgYW4gYWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZQogICAgICBpcyBjcmVhdGVkLiAgVGhlIHZhbHVlIHNwZWNpZmllZCBvbiB0aGlzIGRpcmVjdGl2ZSBpcyBjb252ZXJ0ZWQgdG8KICAgICAgdXBwZXIgY2FzZSwgcHJlZml4ZWQgd2l0aCA8Y29kZT5IVFRQXzwvY29kZT4sIGFuZCBoeXBoZW5zIGFyZQogICAgICBjb252ZXJ0ZWQgdG8gdW5kZXJzY29yZXMuPC9wPgoKICAgICAgPGRpdiBjbGFzcz0ibm90ZSI+PGgzPk5vdGU8L2gzPgogICAgICA8cD5Nb3N0IHJlcXVlc3QgaGVhZGVycyBhcmUgYWxyZWFkeSBhdmFpbGFibGUgdG8gdGhlIGFwcGxpY2F0aW9uCiAgICAgIGFzIGVudmlyb25tZW50IHZhcmlhYmxlcywgYW5kIGdlbmVyYWxseSBhcmUgcHJlZml4ZWQgd2l0aAogICAgICA8Y29kZT5IVFRQXzwvY29kZT4uICAoTm90YWJsZSBleGNlcHRpb25zIGFyZSA8Y29kZT5Db250ZW50LXR5cGU8L2NvZGU+CiAgICAgIGFuZCA8Y29kZT5Db250ZW50LWxlbmd0aDwvY29kZT4sIHdoaWNoIGRvIG5vdCBoYXZlIHRoZQogICAgICA8Y29kZT5IVFRQXzwvY29kZT4gcHJlZml4LikgIFRodXMsIHRoaXMgZGlyZWN0aXZlIGlzIG9ubHkgcmVxdWlyZWQKICAgICAgZm9yIHJlcXVlc3QgaGVhZGVycyB0aGF0IGFyZSBwdXJwb3NlZnVsbHkgb21pdHRlZCwgc3VjaCBhcwogICAgICA8Y29kZT5BdXRob3JpemF0aW9uPC9jb2RlPiBhbmQgPGNvZGU+UHJveHktQXV0aG9yaXphdGlvbjwvY29kZT4uCiAgICAgIE9ubHkgcGFzcyB0aGVzZSByZXF1ZXN0IGhlYWRlcnMgaWYgYWJzb2x1dGVseSByZXF1aXJlZC48L3A+CiAgICAgIDwvZGl2PgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZFByb2Nlc3NMaWZlVGltZSIgaWQ9IkZjZ2lkUHJvY2Vzc0xpZmVUaW1lIj5GY2dpZFByb2Nlc3NMaWZlVGltZTwvYT4gPGEgbmFtZT0iZmNnaWRwcm9jZXNzbGlmZXRpbWUiIGlkPSJmY2dpZHByb2Nlc3NsaWZldGltZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+bWF4aW11bSBGYXN0Q0dJIGFwcGxpY2F0aW9uIHByb2Nlc3MgbGlmZXRpbWU8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRQcm9jZXNzTGlmZVRpbWUgPGVtPnNlY29uZHM8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZFByb2Nlc3NMaWZlVGltZSAzNjAwPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWcsIHZpcnR1YWwgaG9zdDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPklkbGUgYXBwbGljYXRpb24gcHJvY2Vzc2VzIHdoaWNoIGhhdmUgZXhpc3RlZCBmb3IgZ3JlYXRlcgogICAgICB0aGFuIHRoaXMgdGltZSB3aWxsIGJlIHRlcm1pbmF0ZWQsIGlmIHRoZSBudW1iZXIgb2YgcHJvY2Vzc3NlcyBmb3IgdGhlCiAgICAgIGNsYXNzIGV4Y2VlZHMKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkbWlucHJvY2Vzc2VzcGVyY2xhc3MiPkZjZ2lkTWluUHJvY2Vzc2VzUGVyQ2xhc3M8L2E+PC9jb2RlPi4KICAgICAgQSB2YWx1ZSBvZiA8Y29kZT4wPC9jb2RlPiBkaXNhYmxlcyB0aGUgY2hlY2suPC9wPgoKICAgICAgPHA+VGhpcyBwcm9jZXNzIGxpZmV0aW1lIGNoZWNrIGlzIHBlcmZvcm1lZCBhdCB0aGUgZnJlcXVlbmN5IG9mIHRoZSBjb25maWd1cmVkCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGlkbGVzY2FuaW50ZXJ2YWwiPkZjZ2lkSWRsZVNjYW5JbnRlcnZhbDwvYT48L2NvZGU+LjwvcD4KCiAgICAgIDxwPlRoaXMgc2V0dGluZyB3aWxsIGFwcGx5IHRvIGFsbCBhcHBsaWNhdGlvbnMgc3Bhd25lZCBmb3IgdGhpcwogICAgICBzZXJ2ZXIgb3IgdmlydHVhbCBob3N0LiAgVXNlCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZGNtZG9wdGlvbnMiPkZjZ2lkQ21kT3B0aW9uczwvYT48L2NvZGU+IHRvIGFwcGx5CiAgICAgIHRoaXMgc2V0dGluZyB0byBhIHNpbmdsZSBhcHBsaWNhdGlvbi48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkUHJvY2Vzc1RhYmxlRmlsZSIgaWQ9IkZjZ2lkUHJvY2Vzc1RhYmxlRmlsZSI+RmNnaWRQcm9jZXNzVGFibGVGaWxlPC9hPiA8YSBuYW1lPSJmY2dpZHByb2Nlc3N0YWJsZWZpbGUiIGlkPSJmY2dpZHByb2Nlc3N0YWJsZWZpbGUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPnNoYXJlZCBtZW1vcnkgZmlsZSBwYXRoPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkUHJvY2Vzc1RhYmxlRmlsZSA8ZW0+cGF0aG5hbWU8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZFByb2Nlc3NUYWJsZUZpbGUgbG9ncy9mY2dpZF9zaG08L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPlRoaXMgbW9kdWxlIHVzZXMgc2hhcmVkIG1lbW9yeSBvbiBVbml4IHRvIG1haW50YWluIHN0YXRlIHdoaWNoCiAgICAgIGlzIHNoYXJlZCBiZXR3ZWVuIGh0dHBkIHByb2Nlc3Nlcy4gIFRoaXMgZGlyZWN0aXZlIHNwZWNpZmllcyB0aGUKICAgICAgbmFtZSBvZiB0aGUgc2hhcmVkIG1lbW9yeSBmaWxlLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRTcGF3blNjb3JlIiBpZD0iRmNnaWRTcGF3blNjb3JlIj5GY2dpZFNwYXduU2NvcmU8L2E+IDxhIG5hbWU9ImZjZ2lkc3Bhd25zY29yZSIgaWQ9ImZjZ2lkc3Bhd25zY29yZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+RWFjaCBzcGF3biBhZGRzIHRoaXMgdmFsdWUgdG8gdGhlIHByb2Nlc3MgYWN0aXZpdHkgc2NvcmUuPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkU3Bhd25TY29yZSA8ZW0+dmFsdWU8L2VtPjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZWZhdWx0Ij5EZWZhdWx0OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZFNwYXduU2NvcmUgMTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+TG93ZXIgdmFsdWVzIG9mIHRoaXMgZGlyZWN0aXZlIGluY3JlYXNlIHRoZSBhbGxvd2VkIHNwYXduIHJhdGUuPC9wPgoKICAgICAgPHA+UmVmZXIgdG8gdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHNwYXduc2NvcmV1cGxpbWl0Ij5GY2dpZFNwYXduU2NvcmVVcExpbWl0PC9hPjwvY29kZT4KICAgICAgZGlyZWN0aXZlIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRTcGF3blNjb3JlVXBMaW1pdCIgaWQ9IkZjZ2lkU3Bhd25TY29yZVVwTGltaXQiPkZjZ2lkU3Bhd25TY29yZVVwTGltaXQ8L2E+IDxhIG5hbWU9ImZjZ2lkc3Bhd25zY29yZXVwbGltaXQiIGlkPSJmY2dpZHNwYXduc2NvcmV1cGxpbWl0Ij5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5NYXhpbXVtIHZhbHVlIG9mIHRoZSBwcm9jZXNzIGFjdGl2aXR5IHNjb3JlIHdoaWNoIGFsbG93cwogICAgYSBzcGF3biB0byBvY2N1cjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZFNwYXduU2NvcmVVcExpbWl0IDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkU3Bhd25TY29yZVVwTGltaXQgMTA8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N0YXR1cyI+U3RhdHVzOjwvYT48L3RoPjx0ZD5FeHRlcm5hbDwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI01vZHVsZSI+TW9kdWxlOjwvYT48L3RoPjx0ZD5tb2RfZmNnaWQ8L3RkPjwvdHI+CjwvdGFibGU+CiAgICAgIDxwPkEgcHJvY2VzcyBhY3Rpdml0eSBzY29yZSBpcyBtYWludGFpbmVkIGZvciBlYWNoIEZhc3RDR0kgYXBwbGljYXRpb247CiAgICAgIHRoZSBzY29yZSBpcyB1c2VkIHRvIGNvbnRyb2wgdGhlIHJhdGUgb2Ygc3Bhd25pbmcgaW4gb3JkZXIgdG8gYXZvaWQKICAgICAgcGxhY2luZyB0b28gbXVjaCBsb2FkIG9uIHRoZSBzeXN0ZW0sIHBhcnRpY3VsYXJseSBmb3IgYXBwbGljYXRpb25zIHRoYXQKICAgICAgYXJlIHJlcGVhdGVkbHkgZXhpdGluZyBhYm5vcm1hbGx5LjwvcD4KCiAgICAgIDxwPlRoZSB2YWx1ZSBvZiA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRzcGF3bnNjb3JlIj5GY2dpZFNwYXduU2NvcmU8L2E+PC9jb2RlPgogICAgICBpcyBhZGRlZCB0byB0aGUgc2NvcmUgZm9yIGV2ZXJ5IHNwYXduZWQgYXBwbGljYXRpb24gcHJvY2Vzcy4gIFRoZSB2YWx1ZSBvZgogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWR0ZXJtaW5hdGlvbnNjb3JlIj5GY2dpZFRlcm1pbmF0aW9uU2NvcmU8L2E+PC9jb2RlPiBpcyBhZGRlZAogICAgICB0byB0aGUgc2NvcmUgZm9yIGV2ZXJ5IHRlcm1pbmF0ZWQgYXBwbGljYXRpb24gcHJvY2Vzcy4gIFRoZSB2YWx1ZSBvZgogICAgICA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWR0aW1lc2NvcmUiPkZjZ2lkVGltZVNjb3JlPC9hPjwvY29kZT4gaXMgc3VidHJhY3RlZAogICAgICBmcm9tIHRoZSBzY29yZSBldmVyeSBzZWNvbmQuPC9wPgoKICAgICAgPHA+V2hlbiB0aGUgY3VycmVudCBzY29yZSBpcyBoaWdoZXIgdGhhbiB0aGUgdmFsdWUgb2YKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+RmNnaWRTcGF3blNjb3JlVXBMaW1pdDwvY29kZT4sIG5vIGFkZGl0aW9uYWwgYXBwbGljYXRpb24KICAgICAgcHJvY2Vzc2VzIHdpbGwgYmUgc3Bhd25lZDsgc3Vic2VxdWVudCByZXF1ZXN0cyBtdXN0IHdhaXQgdW50aWwgYW4gZXhpc3RpbmcKICAgICAgcHJvY2VzcyBpcyBmcmVlIG9yIHVudGlsIHRoZSBzY29yZSBkZWNyZWFzZXMgYmVsb3cgdGhlIGxpbWl0LjwvcD4KCiAgICAgIDxwPklmIHRoZSBsaW1pdCBpcyByZWFjaGVkIHVuZGVyIG5vcm1hbCBsb2FkLCBpdCBtYXkgbm90IGJlIHN1ZmZpY2llbnQgdG8KICAgICAgc2ltcGx5IGluY3JlYXNlIHRoZSBsaW1pdCwgYXMgdGhhdCB3b3VsZCBvbmx5IGRlbGF5IHRoZSBhbW91bnQgb2YgdGltZQogICAgICBiZWZvcmUgdGhlIGxpbWl0IGlzIHJlYWNoZWQgYWdhaW4uICBEZWNyZWFzZSB0aGUgdmFsdWUgb2YKICAgICAgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkc3Bhd25zY29yZSI+RmNnaWRTcGF3blNjb3JlPC9hPjwvY29kZT4gYW5kL29yCiAgICAgIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHRlcm1pbmF0aW9uc2NvcmUiPkZjZ2lkVGVybWluYXRpb25TY29yZTwvYT48L2NvZGU+LCBvcgogICAgICBpbmNyZWFzZSB0aGUgdmFsdWUgb2YgPGNvZGUgY2xhc3M9ImRpcmVjdGl2ZSI+PGEgaHJlZj0iI2ZjZ2lkdGltZXNjb3JlIj5GY2dpZFRpbWVTY29yZTwvYT48L2NvZGU+LAogICAgICB0byBhbGxvdyBhIGhpZ2hlciByYXRlIG9mIHNwYXduaW5nLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRUZXJtaW5hdGlvblNjb3JlIiBpZD0iRmNnaWRUZXJtaW5hdGlvblNjb3JlIj5GY2dpZFRlcm1pbmF0aW9uU2NvcmU8L2E+IDxhIG5hbWU9ImZjZ2lkdGVybWluYXRpb25zY29yZSIgaWQ9ImZjZ2lkdGVybWluYXRpb25zY29yZSI+RGlyZWN0aXZlPC9hPjwvaDI+Cjx0YWJsZSBjbGFzcz0iZGlyZWN0aXZlIj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0Rlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjo8L2E+PC90aD48dGQ+RWFjaCB0ZXJtaW5hdGVkIHByb2Nlc3MgYWRkcyB0aGlzIHZhbHVlIHRvIHRoZSBwcm9jZXNzIGFjdGl2aXR5CiAgICBzY29yZS48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRUZXJtaW5hdGlvblNjb3JlIDxlbT52YWx1ZTwvZW0+PC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkVGVybWluYXRpb25TY29yZSAyPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0NvbnRleHQiPkNvbnRleHQ6PC9hPjwvdGg+PHRkPnNlcnZlciBjb25maWc8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5Mb3dlciB2YWx1ZXMgb2YgdGhpcyBkaXJlY3RpdmUgaW5jcmVhc2UgdGhlIGFsbG93ZWQgc3Bhd24gcmF0ZS4gIE5lZ2F0aXZlCiAgICAgIHZhbHVlcyBjYW4gYmUgdXNlZnVsIGluIHNvbWUgY2lyY3Vtc3RhbmNlcywgc3VjaCBhcyBhbGxvd2luZyBwcm9jZXNzCiAgICAgIHJlcGxhY2VtZW50IHdpdGhvdXQgaW5jcmVhc2luZyB0aGUgc2NvcmUuPC9wPgoKICAgICAgPHA+UmVmZXIgdG8gdGhlIDxjb2RlIGNsYXNzPSJkaXJlY3RpdmUiPjxhIGhyZWY9IiNmY2dpZHNwYXduc2NvcmV1cGxpbWl0Ij5GY2dpZFNwYXduU2NvcmVVcExpbWl0PC9hPjwvY29kZT4KICAgICAgZGlyZWN0aXZlIGZvciBtb3JlIGluZm9ybWF0aW9uLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRUaW1lU2NvcmUiIGlkPSJGY2dpZFRpbWVTY29yZSI+RmNnaWRUaW1lU2NvcmU8L2E+IDxhIG5hbWU9ImZjZ2lkdGltZXNjb3JlIiBpZD0iZmNnaWR0aW1lc2NvcmUiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkFtb3VudCBzdWJ0cmFjdGVkIGZyb20gcHJvY2VzcyBhY3Rpdml0eSBzY29yZSBlYWNoCiAgICBzZWNvbmQ8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTeW50YXgiPlN5bnRheDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRUaW1lU2NvcmUgPGVtPnZhbHVlPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRUaW1lU2NvcmUgMTwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+SGlnaGVyIHZhbHVlcyBvZiB0aGlzIGRpcmVjdGl2ZSBpbmNyZWFzZSB0aGUgYWxsb3dlZCBzcGF3biByYXRlLjwvcD4KCiAgICAgIDxwPlJlZmVyIHRvIHRoZSA8Y29kZSBjbGFzcz0iZGlyZWN0aXZlIj48YSBocmVmPSIjZmNnaWRzcGF3bnNjb3JldXBsaW1pdCI+RmNnaWRTcGF3blNjb3JlVXBMaW1pdDwvYT48L2NvZGU+CiAgICAgIGRpcmVjdGl2ZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi48L3A+CiAgICAKPC9kaXY+CjxkaXYgY2xhc3M9InRvcCI+PGEgaHJlZj0iI3BhZ2UtaGVhZGVyIj48aW1nIGFsdD0idG9wIiBzcmM9Ii4uL2ltYWdlcy91cC5naWYiIC8+PC9hPjwvZGl2Pgo8ZGl2IGNsYXNzPSJkaXJlY3RpdmUtc2VjdGlvbiI+PGgyPjxhIG5hbWU9IkZjZ2lkV2luMzJQcmV2ZW50T3JwaGFucyIgaWQ9IkZjZ2lkV2luMzJQcmV2ZW50T3JwaGFucyI+RmNnaWRXaW4zMlByZXZlbnRPcnBoYW5zPC9hPiA8YSBuYW1lPSJmY2dpZHdpbjMycHJldmVudG9ycGhhbnMiIGlkPSJmY2dpZHdpbjMycHJldmVudG9ycGhhbnMiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPkpvYiBDb250cm9sIG9ycGhhbiBwcmV2ZW50aW9uIGZvciBmY2dpIHdvcmtlcnMuPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkV2luMzJQcmV2ZW50T3JwaGFucyA8ZW0+T258T2ZmPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRXaW4zMlByZXZlbnRPcnBoYW5zIE9mZjwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VXNlcyBKb2IgQ29udHJvbCBPYmplY3RzIG9uIFdpbmRvd3MsIG9ubHksIHRvIGVuZm9yY2Ugc2h1dGRvd24gb2YgYWxsCiAgICAgIGZjZ2kgcHJvY2Vzc2VzIGNyZWF0ZWQgYnkgdGhlIGh0dHBkIHdvcmtlciB3aGVuIHRoZSBodHRwZCB3b3JrZXIgaGFzIGJlZW4KICAgICAgdGVybWluYXRlZC4gUHJvY2Vzc2VzIHRlcm1pbmF0ZWQgaW4gdGhpcyB3YXkgZG8gbm90IGhhdmUgdGhlIG9wcG9ydHVuaXR5CiAgICAgIHRvIGNsZWFuIHVwIGdyYWNlZnVsbHksIGNvbXBsZXRlIHBlbmRpbmcgZGlzayB3cml0ZXMsIG9yIHNpbWlsYXIgY2xvc3VyZQogICAgICB0cmFuc2FjdGlvbnMsIHRoZXJlZm9yZSB0aGlzIGJlaGF2aW9yIGlzIGV4cGVyaW1lbnRhbCBhbmQgZGlzYWJsZWQsIGJ5CiAgICAgIGRlZmF1bHQuPC9wPgogICAgCjwvZGl2Pgo8ZGl2IGNsYXNzPSJ0b3AiPjxhIGhyZWY9IiNwYWdlLWhlYWRlciI+PGltZyBhbHQ9InRvcCIgc3JjPSIuLi9pbWFnZXMvdXAuZ2lmIiAvPjwvYT48L2Rpdj4KPGRpdiBjbGFzcz0iZGlyZWN0aXZlLXNlY3Rpb24iPjxoMj48YSBuYW1lPSJGY2dpZFdyYXBwZXIiIGlkPSJGY2dpZFdyYXBwZXIiPkZjZ2lkV3JhcHBlcjwvYT4gPGEgbmFtZT0iZmNnaWR3cmFwcGVyIiBpZD0iZmNnaWR3cmFwcGVyIj5EaXJlY3RpdmU8L2E+PC9oMj4KPHRhYmxlIGNsYXNzPSJkaXJlY3RpdmUiPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVzY3JpcHRpb24iPkRlc2NyaXB0aW9uOjwvYT48L3RoPjx0ZD5UaGUgQ0dJIHdyYXBwZXIgc2V0dGluZzwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI1N5bnRheCI+U3ludGF4OjwvYT48L3RoPjx0ZD48Y29kZT5GY2dpZFdyYXBwZXIgPGVtPmNvbW1hbmQ8L2VtPiBbIDxlbT5zdWZmaXg8L2VtPiBdIFsgdmlydHVhbCBdPC9jb2RlPjwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI0RlZmF1bHQiPkRlZmF1bHQ6PC9hPjwvdGg+PHRkPjxjb2RlPm5vbmU8L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjQ29udGV4dCI+Q29udGV4dDo8L2E+PC90aD48dGQ+c2VydmVyIGNvbmZpZywgdmlydHVhbCBob3N0LCBkaXJlY3RvcnksIC5odGFjY2VzczwvdGQ+PC90cj4KPHRyPjx0aD48YSBocmVmPSJkaXJlY3RpdmUtZGljdC5odG1sI092ZXJyaWRlIj5PdmVycmlkZTo8L2E+PC90aD48dGQ+RmlsZUluZm88L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNTdGF0dXMiPlN0YXR1czo8L2E+PC90aD48dGQ+RXh0ZXJuYWw8L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNNb2R1bGUiPk1vZHVsZTo8L2E+PC90aD48dGQ+bW9kX2ZjZ2lkPC90ZD48L3RyPgo8L3RhYmxlPgogICAgICA8cD5UaGUgZ2l2ZW4gY29tbWFuZCBpcyB1c2VkIHRvIHNwYXduIEZDR0kgc2VydmVyIHByb2Nlc3Nlcy4gSWYgdGhpcyBkaXJlY3RpdmUKICAgICAgaXMgbm90IHVzZWQsIHRoZSBmaWxlIHBvaW50ZWQgdG8gYnkgdGhlIHJlcXVlc3QgVVJMIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLgogICAgICBPcHRpb25zIGZvciB0aGUgY29tbWFuZCBjYW4gYmUgaW5jbHVkZWQgdXNpbmcgcXVvdGF0aW9uIG1hcmtzIHN1cnJvdW5kaW5nCiAgICAgIHRoZSBjb21tYW5kIGFuZCBvcHRpb25zLjwvcD4KICAgICAgPHA+VGhlIG9wdGlvbmFsIDxjb2RlPnN1ZmZpeDwvY29kZT4gYXJndW1lbnQgcmVzdHJpY3RzIHRoZSB1c2Ugb2YgdGhpcyBGQ0dJCiAgICAgIHNlcnZlciB0byBhbGwgVVJMcyB3aXRoIHRoZSBnaXZlbiBleGFjdCBwYXRoIHN1ZmZpeC4gQSBzdWZmaXggbmVlZHMgdG8gc3RhcnQKICAgICAgd2l0aCAnPGNvZGU+LjwvY29kZT4nLjwvcD4KICAgICAgPHA+VGhlIDxjb2RlPnZpcnR1YWw8L2NvZGU+IGZsYWcgc2lnbmFscyB0aGF0IHRoZXJlIHdpbGwgYmUgbm8gY2hlY2sKICAgICAgd2hldGhlciB0aGUgcmVxdWVzdCBVUkwgYWN0dWFsbHkgcG9pbnRzIHRvIGFuIGV4aXN0aW5nIGZpbGUuIFRoZSBvbmx5CiAgICAgIGZpbGUgd2hpY2ggbmVlZHMgdG8gZXhpc3QgaXMgdGhlIHdyYXBwZXIgaXRzZWxmLjwvcD4KICAgICAgPHA+VGhlIGRpcmVjdGl2ZSBjYW4gYmUgdXNlZCBtdWx0aXBsZSB0aW1lcy4gQSB3cmFwcGVyIGRlZmluZWQgd2l0aG91dCBhIHN1ZmZpeAogICAgICBpcyB1c2VkIGFzIGEgZGVmYXVsdCBpbiBjYXNlIG5vIHN1ZmZpeCBtYXRjaGVzLjwvcD4KICAgIAo8L2Rpdj4KPGRpdiBjbGFzcz0idG9wIj48YSBocmVmPSIjcGFnZS1oZWFkZXIiPjxpbWcgYWx0PSJ0b3AiIHNyYz0iLi4vaW1hZ2VzL3VwLmdpZiIgLz48L2E+PC9kaXY+CjxkaXYgY2xhc3M9ImRpcmVjdGl2ZS1zZWN0aW9uIj48aDI+PGEgbmFtZT0iRmNnaWRab21iaWVTY2FuSW50ZXJ2YWwiIGlkPSJGY2dpZFpvbWJpZVNjYW5JbnRlcnZhbCI+RmNnaWRab21iaWVTY2FuSW50ZXJ2YWw8L2E+IDxhIG5hbWU9ImZjZ2lkem9tYmllc2NhbmludGVydmFsIiBpZD0iZmNnaWR6b21iaWVzY2FuaW50ZXJ2YWwiPkRpcmVjdGl2ZTwvYT48L2gyPgo8dGFibGUgY2xhc3M9ImRpcmVjdGl2ZSI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNEZXNjcmlwdGlvbiI+RGVzY3JpcHRpb246PC9hPjwvdGg+PHRkPnNjYW4gaW50ZXJ2YWwgZm9yIHpvbWJpZSBwcm9jZXNzPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3ludGF4Ij5TeW50YXg6PC9hPjwvdGg+PHRkPjxjb2RlPkZjZ2lkWm9tYmllU2NhbkludGVydmFsIDxlbT5zZWNvbmRzPC9lbT48L2NvZGU+PC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjRGVmYXVsdCI+RGVmYXVsdDo8L2E+PC90aD48dGQ+PGNvZGU+RmNnaWRab21iaWVTY2FuSW50ZXJ2YWwgMzwvY29kZT48L3RkPjwvdHI+Cjx0cj48dGg+PGEgaHJlZj0iZGlyZWN0aXZlLWRpY3QuaHRtbCNDb250ZXh0Ij5Db250ZXh0OjwvYT48L3RoPjx0ZD5zZXJ2ZXIgY29uZmlnPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjU3RhdHVzIj5TdGF0dXM6PC9hPjwvdGg+PHRkPkV4dGVybmFsPC90ZD48L3RyPgo8dHI+PHRoPjxhIGhyZWY9ImRpcmVjdGl2ZS1kaWN0Lmh0bWwjTW9kdWxlIj5Nb2R1bGU6PC9hPjwvdGg+PHRkPm1vZF9mY2dpZDwvdGQ+PC90cj4KPC90YWJsZT4KICAgICAgPHA+VGhlIG1vZHVsZSBjaGVja3MgZm9yIGV4aXRlZCBGYXN0Q0dJIGFwcGxpY2F0aW9ucyBhdCB0aGlzIGludGVydmFsLgogICAgICBEdXJpbmcgdGhpcyBwZXJpb2Qgb2YgdGltZSwgdGhlIGFwcGxpY2F0aW9uIG1heSBleGlzdCBpbiB0aGUgcHJvY2VzcwogICAgICB0YWJsZSBhcyBhIHpvbWJpZSAob24gVW5peCkuPC9wPgogICAgCjwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0iYm90dG9tbGFuZyI+CjxwPjxzcGFuPkF2YWlsYWJsZSBMYW5ndWFnZXM6IDwvc3Bhbj48YSBocmVmPSIuLi9lbi9tb2QvbW9kX2ZjZ2lkLmh0bWwiIHRpdGxlPSJFbmdsaXNoIj4mbmJzcDtlbiZuYnNwOzwvYT48L3A+CjwvZGl2PjxkaXYgaWQ9ImZvb3RlciI+CjxwIGNsYXNzPSJhcGFjaGUiPkNvcHlyaWdodCAyMDEyIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi48YnIgLz5MaWNlbnNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIj5BcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjA8L2E+LjwvcD4KPHAgY2xhc3M9Im1lbnUiPjxhIGhyZWY9Ii4uL21vZC8iPk1vZHVsZXM8L2E+IHwgPGEgaHJlZj0iLi4vbW9kL2RpcmVjdGl2ZXMuaHRtbCI+RGlyZWN0aXZlczwvYT4gfCA8YSBocmVmPSIuLi9mYXEvIj5GQVE8L2E+IHwgPGEgaHJlZj0iLi4vZ2xvc3NhcnkuaHRtbCI+R2xvc3Nhcnk8L2E+IHwgPGEgaHJlZj0iLi4vc2l0ZW1hcC5odG1sIj5TaXRlbWFwPC9hPjwvcD48L2Rpdj4KPC9ib2R5PjwvaHRtbD4=