PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1JU08tODg1OS0xIj4KPHRpdGxlPkludHJvZHVjdGlvbjwvdGl0bGU+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vc3R5bGUvc3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyI+CjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iRG9jQm9vayBYU0wgU3R5bGVzaGVldHMgVjEuNzQuMCI+CjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0iaW5kZXguaHRtbCIgdGl0bGU9IkJvb3N0IFRlc3QgTGlicmFyeSI+CjxsaW5rIHJlbD0idXAiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJCb29zdCBUZXN0IExpYnJhcnkiPgo8bGluayByZWw9InByZXYiIGhyZWY9ImluZGV4Lmh0bWwiIHRpdGxlPSJCb29zdCBUZXN0IExpYnJhcnkiPgo8bGluayByZWw9Im5leHQiIGhyZWY9ImZhcS5odG1sIiB0aXRsZT0iRnJlcXVlbnRseSBBc2tlZCBRdWVzdGlvbnMiPgo8c2NyaXB0IGxhbmd1YWdlPSJKYXZhU2NyaXB0MS4yIiBzcmM9Ii4uL2pzL2Jvb3N0LXRlc3QuanMiPjwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5IGJnY29sb3I9IndoaXRlIiB0ZXh0PSJibGFjayIgbGluaz0iIzAwMDBGRiIgdmxpbms9IiM4NDAwODQiIGFsaW5rPSIjMDAwMEZGIj4KPHRhYmxlIHdpZHRoPSIxMDAlIj48dHI+Cjx0ZCB3aWR0aD0iMTAlIj48YSBocmVmPSJpbmRleC5odG1sIj48aW1nIGFsdD0iSG9tZSIgd2lkdGg9IjIyOSIgaGVpZ2h0PSI2MSIgYm9yZGVyPSIwIiBzcmM9Ii4uLy4uLy4uLy4uL2xpYnMvdGVzdC9kb2Nib29rL2ltZy9ib29zdC50ZXN0LmxvZ28ucG5nIj48L2E+PC90ZD4KPHRkIHZhbGlnbj0ibWlkZGxlIiBhbGlnbj0ibGVmdCI+ICZndDsgPGI+SW50cm9kdWN0aW9uPC9iPjxhIGhyZWY9ImV4ZWN1dGlvbi1tb25pdG9yLmh0bWwiPgogICAgICAmZ3Q7CiAgICAgIDwvYT4KPC90ZD4KPHRkPjxkaXYgY2xhc3M9InNwaXJpdC1uYXYiPgo8YSBocmVmPSJpbmRleC5odG1sIj48aW1nIHNyYz0iLi4vLi4vLi4vLi4vZG9jL2h0bWwvaW1hZ2VzL3ByZXYucG5nIiBhbHQ9IlByZXYiPjwvYT48YSBocmVmPSJmYXEuaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy9uZXh0LnBuZyIgYWx0PSJOZXh0Ij48L2E+CjwvZGl2PjwvdGQ+CjwvdHI+PC90YWJsZT4KPGhyPgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiIHN0eWxlPSJjbGVhcjogYm90aCI+CjxhIG5hbWU9ImJ0bC5pbnRybyI+PC9hPkludHJvZHVjdGlvbjwvaDI+PC9kaXY+PC9kaXY+PC9kaXY+CjxkaXYgY2xhc3M9ImVwaWdyYXBoIj4KPHA+VGVzdCBldmVyeXRoaW5nIHRoYXQgY291bGQgcG9zc2libHkgYnJlYWs8L3A+CjxkaXYgY2xhc3M9ImF0dHJpYnV0aW9uIj48c3Bhbj4tLTxzcGFuIGNsYXNzPSJhdHRyaWJ1dGlvbiI+WFAgbWF4aW08L3NwYW4+PC9zcGFuPjwvZGl2Pgo8L2Rpdj4KPHAgY2xhc3M9ImZpcnN0LWxpbmUtaW5kZW50ZWQiPgogICBUaGUgQm9vc3QgVGVzdCBMaWJyYXJ5IHByb3ZpZGVzIGEgbWF0Y2hlZCBzZXQgb2YgY29tcG9uZW50cyBmb3Igd3JpdGluZyB0ZXN0IHByb2dyYW1zLCBvcmdhbml6aW5nIHRlc3RzIGluIHRvIAogICBzaW1wbGUgdGVzdCBjYXNlcyBhbmQgdGVzdCBzdWl0ZXMsIGFuZCBjb250cm9sbGluZyB0aGVpciBydW50aW1lIGV4ZWN1dGlvbi4gVGhlIFByb2dyYW0gRXhlY3V0aW9uIE1vbml0b3IgaXMgYWxzbyAKICAgdXNlZnVsIGluIHNvbWUgcHJvZHVjdGlvbiAobm9uLXRlc3QpIGVudmlyb25tZW50cy4gCiAgPC9wPgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJidGwuYWJvdXQtZG9jcyI+PC9hPkFib3V0IHRoaXMgZG9jdW1lbnRhdGlvbjwvaDM+PC9kaXY+PC9kaXY+PC9kaXY+CjxwIGNsYXNzPSJmaXJzdC1saW5lLWluZGVudGVkIj4KICAgIFRoaXMgZG9jdW1lbnRhdGlvbiBpcyA8c3BhbiBjbGFzcz0iYm9sZCI+PHN0cm9uZz5ub3Q8L3N0cm9uZz48L3NwYW4+IGludGVuZGVkIHRvIGJlIHJlYWQgdGhvdWdoIGZyb20gdGhlIGJlZ2lubmluZyB0byB0aGUgZW5kIGJ5IAogICAgYSBub3ZpY2UgdXNlci4gWW91IGNhbiBkbyB0aGF0IGlmIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiBkZXRhaWxlZCBib3R0b20tdXAgZGVzY3JpcHRpb24gb2YgYWxsIEJvb3N0LlRlc3QgY29tcG9uZW50cy4KICAgIE90aGVyd2lzZSB5b3UgYXJlIGJldHRlciBvZmYganVtcGluZyBkaXJlY3RseSB0byB0aGUgc3ViamVjdCBvZiB5b3VyIGludGVyZXN0LiBGb3IgZXhhbXBsZSwgaWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIAogICAgdW5pdCB0ZXN0aW5nIGZyYW1ld29yayB5b3UgbWF5IGdvIGRpcmVjdGx5IDxhIGNsYXNzPSJsaW5rIiBocmVmPSJ1dGYuaHRtbCIgdGl0bGU9IlBhcnSgSVYuoEJvb3N0IFRlc3QgTGlicmFyeTogVGhlIFVuaXQgVGVzdCBGcmFtZXdvcmsiPnRoZXJlPC9hPiwgYnV0IGZvciBub3ZpY2UgdXNlcnMgSSByZWNvbW1lbmQgdG8gCiAgICBzdGFydCBmcm9tIHNpbXBsZSA8YSBjbGFzcz0ibGluayIgaHJlZj0idXRmL3R1dG9yaWFscy5odG1sIiB0aXRsZT0iVGhlIHVuaXQgdGVzdCBmcmFtZXdvcmsgdHV0b3JpYWxzIj50dXRvcmlhbHM8L2E+LiBMb29raW5nIGZvciBxdWljayBoZWxwIC0gY2hlY2sgCiAgICA8YSBjbGFzcz0ibGluayIgaHJlZj0iZmFxLmh0bWwiIHRpdGxlPSJGcmVxdWVudGx5IEFza2VkIFF1ZXN0aW9ucyI+RkFRPC9hPiBzZWN0aW9uIGZvciByZXNvbHV0aW9uIHRvIG1hbnkgcG9wdWxhciBpc3N1ZXMgeW91IG1heSBiZSBmYWNlZCB3aXRoLiBNb3N0IHBhZ2VzIAogICAgc2hvdWxkIGxpbmsgeW91IGRpcmVjdGx5IHRvIHRoZSB0ZXJtcyB0aGF0IHlvdSBuZWVkIHRvIHVuZGVyc3RhbmQgaXQuIEZvciBoZWxwIHdpdGggY29tcGlsYXRpb24gc2VlIGNvbXBpbGF0aW9uIAogICAgc2VjdGlvbnMgb2YgYW4gYXBwcm9wcmlhdGUgY29tcG9uZW50LgogICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJzZWN0aW9uIiBsYW5nPSJlbiI+CjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+PGRpdj48ZGl2PjxoMyBjbGFzcz0idGl0bGUiPgo8YSBuYW1lPSJidGwucmVsZWFzZS1ub3RlcyI+PC9hPlJlbGVhc2Ugbm90ZXM8L2gzPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cCBjbGFzcz0iZmlyc3QtbGluZS1pbmRlbnRlZCI+CiAgICBGb3IgbW9yZSBkZXRhaWxzIHNlZSBjb21wbGV0ZSByZWxlYXNlIG5vdGVzLiAKICAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0ic2VjdGlvbiIgbGFuZz0iZW4iPgo8ZGl2IGNsYXNzPSJ0aXRsZXBhZ2UiPjxkaXY+PGRpdj48aDMgY2xhc3M9InRpdGxlIj4KPGEgbmFtZT0iYnRsLnBvcnRhYmlsaXR5Ij48L2E+UG9ydGFiaWxpdHk8L2gzPjwvZGl2PjwvZGl2PjwvZGl2Pgo8cCBjbGFzcz0iZmlyc3QtbGluZS1pbmRlbnRlZCI+CiAgICBCZWNhdXNlIHRoZSBCb29zdCBUZXN0IExpYnJhcnkgaXMgY3JpdGljYWwgZm9yIHBvcnRpbmcgYW5kIHRlc3RpbmcgQm9vc3QgbGlicmFyaWVzLCBpdCBoYXMgYmVlbiB3cml0dGVuIHRvIGJlIAogICAgY29uc2VydmF0aXZlIGluIGl0cyB1c2Ugb2YgQysrIGZlYXR1cmVzLCBhbmQgdG8ga2VlcCBkZXBlbmRlbmNpZXMgdG8gYSBiYXJlIG1pbmltdW0uCiAgIDwvcD4KPHAgY2xhc3M9ImZpcnN0LWxpbmUtaW5kZW50ZWQiPgogICAgQm9vc3QuVGVzdCBzdXBwb3J0cyBhbGwgbWFpbiBCb29zdCBjb21waWxlcnMgYW5kIHBsYXRmb3Jtcy4gQ29uZmlybWF0aW9uIG9mIGl0cyBzdGF0dXMgb24gY29yZSBhbmQgYWRkaXRpb25hbCAKICAgIHBsYXRmb3Jtcy9jb21waWxlcnMgY2FuIGJlIHNlZW4gYnkgdmlld2luZyBCb29zdC5UZXN0J3Mgb3duIGludGVybmFsIHJlZ3Jlc3Npb24gdGVzdCByZXN1bHRzIG9uIAogICAgPGEgaHJlZj0iaHR0cDovL2JldGEuYm9vc3Qub3JnL2RldmVsb3BtZW50L3Rlc3RzL3JlbGVhc2UvdXNlci90ZXN0X3JlbGVhc2UuaHRtbCIgdGFyZ2V0PSJfdG9wIj5yZWxlYXNlIHN0YXR1cyBwYWdlPC9hPiBvcgogICAgPGEgaHJlZj0iaHR0cDovL2JldGEuYm9vc3Qub3JnL2RldmVsb3BtZW50L3Rlc3RzL3RydW5rL2RldmVsb3Blci90ZXN0Lmh0bWwiIHRhcmdldD0iX3RvcCI+dHJ1bmsgc3RhdHVzIHBhZ2U8L2E+CiAgIDwvcD4KPC9kaXY+CjwvZGl2Pgo8dGFibGUgeG1sbnM6cmV2PSJodHRwOi8vd3d3LmNzLnJwaS5lZHUvfmdyZWdvZC9ib29zdC90b29scy9kb2MvcmV2aXNpb24iIHdpZHRoPSIxMDAlIj48dHI+Cjx0ZCBhbGlnbj0ibGVmdCI+PC90ZD4KPHRkIGFsaWduPSJyaWdodCI+PGRpdiBjbGFzcz0iY29weXJpZ2h0LWZvb3RlciI+Q29weXJpZ2h0IKkgMjAwMS0yMDA3IEdlbm5hZGl5IFJvemVudGFsPC9kaXY+PC90ZD4KPC90cj48L3RhYmxlPgo8aHI+CjxkaXYgY2xhc3M9InNwaXJpdC1uYXYiPgo8YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvcHJldi5wbmciIGFsdD0iUHJldiI+PC9hPjxhIGFjY2Vzc2tleT0idSIgaHJlZj0iaW5kZXguaHRtbCI+PGltZyBzcmM9Ii4uLy4uLy4uLy4uL2RvYy9odG1sL2ltYWdlcy91cC5wbmciIGFsdD0iVXAiPjwvYT48YSBhY2Nlc3NrZXk9ImgiIGhyZWY9ImluZGV4Lmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvaG9tZS5wbmciIGFsdD0iSG9tZSI+PC9hPjxhIGFjY2Vzc2tleT0ibiIgaHJlZj0iZmFxLmh0bWwiPjxpbWcgc3JjPSIuLi8uLi8uLi8uLi9kb2MvaHRtbC9pbWFnZXMvbmV4dC5wbmciIGFsdD0iTmV4dCI+PC9hPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==