PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFsLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25hbC5kdGQiPjxodG1sPjxoZWFkPjx0aXRsZT5BcGFjaGUgU2FuZGVzaGEyL0MgLSBTYW5kZXNoYTIvQzogc2FuZGVzaGEyX21zZ192YWxpZGF0b3IuaCBTb3VyY2UgRmlsZTwvdGl0bGU+PHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0iYWxsIj4KICAgICAgICAgIEBpbXBvcnQgdXJsKCIuLi8uLi9zdHlsZS9tYXZlbi1iYXNlLmNzcyIpOwogICAgICAgICAgCgkJCSAgICBAaW1wb3J0IHVybCgiLi4vLi4vc3R5bGUvbWF2ZW4tY2xhc3NpYy5jc3MiKTs8L3N0eWxlPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vc3R5bGUvcHJpbnQuY3NzIiB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InByaW50Ij48L2xpbms+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+PC9tZXRhPjwvaGVhZD48Ym9keSBjbGFzcz0iY29tcG9zaXRlIj48ZGl2IGlkPSJiYW5uZXIiPjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBhY2hlLm9yZy8iIGlkPSJvcmdhbml6YXRpb25Mb2dvIj48aW1nIGFsdD0iQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24iIHNyYz0iaHR0cDovL3d3dy5hcGFjaGUub3JnL2ltYWdlcy9hc2YtbG9nby5naWYiPjwvaW1nPjwvYT48YSBocmVmPSJodHRwOi8vd3MuYXBhY2hlLm9yZy9zYW5kZXNoYTIvYyIgaWQ9InByb2plY3RMb2dvIj48aW1nIGFsdD0iQXBhY2hlIFNhbmRlc2hhMi9DIiBzcmM9Imh0dHA6Ly93cy5hcGFjaGUub3JnL3NhbmRlc2hhMi9jL2ltYWdlcy9zYW5kZXNoYTJjX2xvZ28uanBnIj48L2ltZz48L2E+PGRpdiBjbGFzcz0iY2xlYXIiPjxocj48L2hyPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImJyZWFkY3J1bWJzIj48ZGl2IGNsYXNzPSJ4bGVmdCI+CiAgICAgICAgICAgICAgICAJTGFzdCBwdWJsaXNoZWQ6IDA1IE9jdG9iZXIgMjAwNwogICAgICAgICAgICAgICAgICB8IERvYyBmb3IgMC45MTwvZGl2PjxkaXYgY2xhc3M9InhyaWdodCI+PC9kaXY+PGRpdiBjbGFzcz0iY2xlYXIiPjxocj48L2hyPjwvZGl2PjwvZGl2PjxkaXYgaWQ9ImxlZnRDb2x1bW4iPjxkaXYgaWQ9Im5hdmNvbHVtbiI+PGRpdiBpZD0ibWVudUFwYWNoZV9TYW5kZXNoYTJfQyI+PGg1PkFwYWNoZSBTYW5kZXNoYTIvQzwvaDU+PHVsPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iLi4vLi4vaW5kZXguaHRtbCI+QXBhY2hlIFNhbmRlc2hhMi9DIEhvbWU8L2E+PC9saT48bGkgY2xhc3M9ImV4cGFuZGVkIj48YSBocmVmPSIuLi8uLi9kb3dubG9hZC5jZ2kiPkRvd25sb2FkIFNhbmRlc2hhMi9DPC9hPjx1bD48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9Ii4uLy4uL2Rvd25sb2FkLmNnaSI+UmVsZWFzZXM8L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJleHBhbmRlZCI+PGEgaHJlZj0iLi4vLi4vZG9jcy9pbmRleC5odG1sIj5Eb2N1bWVudGF0aW9uPC9hPjx1bD48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9Ii4uLy4uL2RvY3MvaW5zdGFsbGF0aW9uZ3VpZGUuaHRtbCI+SW5zdGFsbGF0aW9uIEd1aWRlPC9hPjwvbGk+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSIuLi8uLi9kb2NzL3NhbmRlc2hhMmNfbWFudWFsLmh0bWwiPlNhbmRlc2hhMi9DIG1hbnVhbDwvYT48L2xpPjwvdWw+PC9saT48bGkgY2xhc3M9ImV4cGFuZGVkIj48YSBocmVmPSIuLi8uLi9saXN0c19pc3N1ZXMuaHRtbCI+R2V0IEludm9sdmVkPC9hPjx1bD48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9Ii4uLy4uL2xpc3RzX2lzc3Vlcy5odG1sIj5NYWlsaW5nIExpc3RzICZhbXA7IElzc3VlIFRyYWNraW5nPC9hPjwvbGk+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSIuLi8uLi9zdm4uaHRtbCI+Q2hlY2tvdXQgU291cmNlIENvZGU8L2E+PC9saT48L3VsPjwvbGk+PGxpIGNsYXNzPSJleHBhbmRlZCI+PGEgaHJlZj0iLi4vLi4vY29kaW5nX2NvbnZlbnRpb25zLmh0bWwiPkRldmVsb3BlciBHdWlkZWxpbmVzPC9hPjx1bD48bGkgY2xhc3M9Im5vbmUiPjxhIGhyZWY9Ii4uLy4uL2NvZGluZ19jb252ZW50aW9ucy5odG1sIj5Db2RpbmcgQ29udmVudGlvbjwvYT48L2xpPjxsaSBjbGFzcz0ibm9uZSI+PGEgaHJlZj0iLi4vLi4vdmVyc2lvbmluZy5odG1sIj5WZXJzaW9ubmluZzwvYT48L2xpPjwvdWw+PC9saT48bGkgY2xhc3M9ImV4cGFuZGVkIj48YSBocmVmPSIuLi8uLi90ZWFtLWxpc3QuaHRtbCI+UHJvamVjdCBJbmZvcm1hdGlvbjwvYT48dWw+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSIuLi8uLi90ZWFtLWxpc3QuaHRtbCI+UHJvamVjdCBUZWFtPC9hPjwvbGk+PGxpIGNsYXNzPSJub25lIj48YSBocmVmPSJodHRwOi8vc3ZuLmFwYWNoZS5vcmcvdmlld3ZjL3dlYnNlcnZpY2VzL3NhbmRlc2hhL3RydW5rL2MvIiBjbGFzcz0iZXh0ZXJuYWxMaW5rIiB0aXRsZT0iRXh0ZXJuYWwgTGluayI+U291cmNlIENvZGU8L2E+PC9saT48L3VsPjwvbGk+PC91bD48L2Rpdj48YSBocmVmPSJodHRwOi8vbWF2ZW4uYXBhY2hlLm9yZy8iIHRpdGxlPSJCdWlsdCBieSBNYXZlbiIgaWQ9InBvd2VyZWRCeSI+PGltZyBhbHQ9IkJ1aWx0IGJ5IE1hdmVuIiBzcmM9Ii4uLy4uL2ltYWdlcy9sb2dvcy9tYXZlbi1idXR0b24tMS5wbmciPjwvaW1nPjwvYT48L2Rpdj48L2Rpdj48ZGl2IGlkPSJib2R5Q29sdW1uIj48ZGl2IGNsYXNzPSJjb250ZW50Qm94Ij48ZGl2IGNsYXNzPSJzZWN0aW9uIj48cD4KPGRpdiBjbGFzcz0idGFicyI+CiAgPHVsPgogICAgPGxpPjxhIGhyZWY9ImluZGV4Lmh0bWwiPjxzcGFuPk1haW6gUGFnZTwvc3Bhbj48L2E+PC9saT4KICAgIDxsaT48YSBocmVmPSJtb2R1bGVzLmh0bWwiPjxzcGFuPk1vZHVsZXM8L3NwYW4+PC9hPjwvbGk+CiAgICA8bGk+PGEgaHJlZj0iYW5ub3RhdGVkLmh0bWwiPjxzcGFuPkNsYXNzZXM8L3NwYW4+PC9hPjwvbGk+CiAgICA8bGkgY2xhc3M9ImN1cnJlbnQiPjxhIGhyZWY9ImZpbGVzLmh0bWwiPjxzcGFuPkZpbGVzPC9zcGFuPjwvYT48L2xpPgogICAgPGxpPjxhIGhyZWY9ImRpcnMuaHRtbCI+PHNwYW4+RGlyZWN0b3JpZXM8L3NwYW4+PC9hPjwvbGk+CiAgPC91bD4KPC9kaXY+PGRpdiBjbGFzcz0ibmF2Ij4KPGEgY2xhc3M9ImVsIiBocmVmPSJkaXJfMTY0ODc5NTJhZGZlYWM0YjJiOWRmNzE5YjQ5ZWZkYjYuaHRtbCI+aW5jbHVkZTwvYT48L2Rpdj48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGEgbmFtZT0ic2FuZGVzaGEyX21zZ192YWxpZGF0b3JfaCI+PC9hPjxoMj5zYW5kZXNoYTJfbXNnX3ZhbGlkYXRvci5oPC9oMj48cD48YSBocmVmPSJzYW5kZXNoYTJfX21zZ19fdmFsaWRhdG9yXzhoLmh0bWwiPkdvIHRvIHRoZSBkb2N1bWVudGF0aW9uIG9mIHRoaXMgZmlsZS48L2E+PGRpdiBjbGFzcz0iZnJhZ21lbnQiPjxwcmUgY2xhc3M9ImZyYWdtZW50Ij48YSBuYW1lPSJsMDAwMDEiPjwvYT4wMDAwMSA8c3BhbiBjbGFzcz0iY29tbWVudCI+Lyo8L3NwYW4+CjxhIG5hbWU9ImwwMDAwMiI+PC9hPjAwMDAyIDxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBDb3B5cmlnaHQgMjAwNCwyMDA1IFRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi48L3NwYW4+CjxhIG5hbWU9ImwwMDAwMyI+PC9hPjAwMDAzIDxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKjwvc3Bhbj4KPGEgbmFtZT0ibDAwMDA0Ij48L2E+MDAwMDQgPHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOzwvc3Bhbj4KPGEgbmFtZT0ibDAwMDA1Ij48L2E+MDAwMDUgPHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS48L3NwYW4+CjxhIG5hbWU9ImwwMDAwNiI+PC9hPjAwMDA2IDxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ8L3NwYW4+CjxhIG5hbWU9ImwwMDAwNyI+PC9hPjAwMDA3IDxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKjwvc3Bhbj4KPGEgbmFtZT0ibDAwMDA4Ij48L2E+MDAwMDggPHNwYW4gY2xhc3M9ImNvbW1lbnQiPiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wPC9zcGFuPgo8YSBuYW1lPSJsMDAwMDkiPjwvYT4wMDAwOSA8c3BhbiBjbGFzcz0iY29tbWVudCI+ICo8L3NwYW4+CjxhIG5hbWU9ImwwMDAxMCI+PC9hPjAwMDEwIDxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlPC9zcGFuPgo8YSBuYW1lPSJsMDAwMTEiPjwvYT4wMDAxMSA8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUyw8L3NwYW4+CjxhIG5hbWU9ImwwMDAxMiI+PC9hPjAwMDEyIDxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC48L3NwYW4+CjxhIG5hbWU9ImwwMDAxMyI+PC9hPjAwMDEzIDxzcGFuIGNsYXNzPSJjb21tZW50Ij4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kPC9zcGFuPgo8YSBuYW1lPSJsMDAwMTQiPjwvYT4wMDAxNCA8c3BhbiBjbGFzcz0iY29tbWVudCI+ICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuPC9zcGFuPgo8YSBuYW1lPSJsMDAwMTUiPjwvYT4wMDAxNSA8c3BhbiBjbGFzcz0iY29tbWVudCI+ICovPC9zcGFuPgo8YSBuYW1lPSJsMDAwMTYiPjwvYT4wMDAxNiAKPGEgbmFtZT0ibDAwMDE3Ij48L2E+MDAwMTcgPHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2lmbmRlZiBTQU5ERVNIQTJfTVNHX1ZBTElEQVRPUl9IPC9zcGFuPgo8YSBuYW1lPSJsMDAwMTgiPjwvYT4wMDAxOCA8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj48L3NwYW4+PHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2RlZmluZSBTQU5ERVNIQTJfTVNHX1ZBTElEQVRPUl9IPC9zcGFuPgo8YSBuYW1lPSJsMDAwMTkiPjwvYT4wMDAxOSA8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj48L3NwYW4+CjxhIG5hbWU9ImwwMDAyNSI+PC9hPjAwMDI1IDxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpbmNsdWRlICZsdDtheHV0aWxfYWxsb2NhdG9yLmgmZ3Q7PC9zcGFuPgo8YSBuYW1lPSJsMDAwMjYiPjwvYT4wMDAyNiA8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaW5jbHVkZSAmbHQ7YXh1dGlsX2Vudi5oJmd0Ozwvc3Bhbj4KPGEgbmFtZT0ibDAwMDI3Ij48L2E+MDAwMjcgPHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2luY2x1ZGUgJmx0O2F4dXRpbF9lcnJvci5oJmd0Ozwvc3Bhbj4KPGEgbmFtZT0ibDAwMDI4Ij48L2E+MDAwMjggPHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2luY2x1ZGUgJmx0O2F4dXRpbF9zdHJpbmcuaCZndDs8L3NwYW4+CjxhIG5hbWU9ImwwMDAyOSI+PC9hPjAwMDI5IDxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpbmNsdWRlICZsdDtheHV0aWxfdXRpbHMuaCZndDs8L3NwYW4+CjxhIG5hbWU9ImwwMDAzMCI+PC9hPjAwMDMwIDxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNpbmNsdWRlICZsdDs8YSBjbGFzcz0iY29kZSIgaHJlZj0ic2FuZGVzaGEyX19zdG9yYWdlX19tZ3JfOGguaHRtbCI+c2FuZGVzaGEyX3N0b3JhZ2VfbWdyLmg8L2E+Jmd0Ozwvc3Bhbj4KPGEgbmFtZT0ibDAwMDMxIj48L2E+MDAwMzEgPHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2luY2x1ZGUgJmx0OzxhIGNsYXNzPSJjb2RlIiBocmVmPSJzYW5kZXNoYTJfX21zZ19fY3R4XzhoLmh0bWwiPnNhbmRlc2hhMl9tc2dfY3R4Lmg8L2E+Jmd0Ozwvc3Bhbj4KPGEgbmFtZT0ibDAwMDMyIj48L2E+MDAwMzIgPHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2luY2x1ZGUgJmx0O2F4aXMyX21zZ19jdHguaCZndDs8L3NwYW4+CjxhIG5hbWU9ImwwMDAzMyI+PC9hPjAwMDMzIAo8YSBuYW1lPSJsMDAwMzQiPjwvYT4wMDAzNCA8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jaWZkZWYgX19jcGx1c3BsdXM8L3NwYW4+CjxhIG5hbWU9ImwwMDAzNSI+PC9hPjAwMDM1IDxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPjwvc3Bhbj48c3BhbiBjbGFzcz0ia2V5d29yZCI+ZXh0ZXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0ic3RyaW5nbGl0ZXJhbCI+IkMiPC9zcGFuPgo8YSBuYW1lPSJsMDAwMzYiPjwvYT4wMDAzNiB7CjxhIG5hbWU9ImwwMDAzNyI+PC9hPjAwMDM3IDxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPiNlbmRpZjwvc3Bhbj4KPGEgbmFtZT0ibDAwMDM4Ij48L2E+MDAwMzggPHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+PC9zcGFuPgo8YSBuYW1lPSJsMDAwNDQiPjwvYT4wMDA0NCBheGlzMl9zdGF0dXNfdCBBWElTMl9DQUxMCjxhIG5hbWU9ImwwMDA0NSI+PC9hPjAwMDQ1IHNhbmRlc2hhMl9tc2dfdmFsaWRhdG9yX3ZhbGlkYXRlX21zZygKPGEgbmFtZT0ibDAwMDQ2Ij48L2E+MDAwNDYgICAgIDxzcGFuIGNsYXNzPSJrZXl3b3JkIj5jb25zdDwvc3Bhbj4gYXh1dGlsX2Vudl90ICplbnYsCjxhIG5hbWU9ImwwMDA0NyI+PC9hPjAwMDQ3ICAgICBzYW5kZXNoYTJfbXNnX2N0eF90ICpybV9tc2dfY3R4LCAKPGEgbmFtZT0ibDAwMDQ4Ij48L2E+MDAwNDggICAgIHNhbmRlc2hhMl9zdG9yYWdlX21ncl90ICpzdG9yYWdlX21ncik7CjxhIG5hbWU9ImwwMDA0OSI+PC9hPjAwMDQ5IAo8YSBuYW1lPSJsMDAwNTAiPjwvYT4wMDA1MCAKPGEgbmFtZT0ibDAwMDUyIj48L2E+MDAwNTIgPHNwYW4gY2xhc3M9InByZXByb2Nlc3NvciI+I2lmZGVmIF9fY3BsdXNwbHVzPC9zcGFuPgo8YSBuYW1lPSJsMDAwNTMiPjwvYT4wMDA1MyA8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj48L3NwYW4+fQo8YSBuYW1lPSJsMDAwNTQiPjwvYT4wMDA1NCA8c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWY8L3NwYW4+CjxhIG5hbWU9ImwwMDA1NSI+PC9hPjAwMDU1IDxzcGFuIGNsYXNzPSJwcmVwcm9jZXNzb3IiPjwvc3Bhbj48c3BhbiBjbGFzcz0icHJlcHJvY2Vzc29yIj4jZW5kaWYgPC9zcGFuPjxzcGFuIGNsYXNzPSJjb21tZW50Ij4vKiBTQU5ERVNIQTJfTVNHX1ZBTElEQVRPUl9IICovPC9zcGFuPgo8L3ByZT48L2Rpdj48L3A+PC9kaXY+PGRpdiBjbGFzcz0ic2VjdGlvbiI+PGFkZHJlc3Mgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+PHNtYWxsPkdlbmVyYXRlZCBvbiBNb24gT2N0IDEgMTc6MTk6MDMgMjAwNyBmb3IgU2FuZGVzaGEyL0MgYnmgCjxhIGhyZWY9Imh0dHA6Ly93d3cuZG94eWdlbi5vcmcvaW5kZXguaHRtbCIgY2xhc3M9ImV4dGVybmFsTGluayIgdGl0bGU9IkV4dGVybmFsIExpbmsiPgo8aW1nIHNyYz0iZG94eWdlbi5wbmciIGFsdD0iZG94eWdlbiIgYWxpZ249Im1pZGRsZSIgYm9yZGVyPSIwIj48L2ltZz48L2E+IDEuNS4zIDwvc21hbGw+PC9hZGRyZXNzPjwvZGl2PjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImNsZWFyIj48aHI+PC9ocj48L2Rpdj48ZGl2IGlkPSJmb290ZXIiPjxkaXYgY2xhc3M9InhyaWdodCI+qSAyMDA1LTIwMDcsIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uPC9kaXY+PGRpdiBjbGFzcz0iY2xlYXIiPjxocj48L2hyPjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+