ui.benchmarkemail.com Open in urlscan Pro
157.185.148.16  Public Scan

Submitted URL: http://prod.benchmarkemail.com/
Effective URL: https://ui.benchmarkemail.com/login?redir=http://ui.benchmarkemail.com/gotojb
Submission: On December 25 via api from CA — Scanned from CA

Form analysis 1 forms found in the DOM

POST /login

<form method="post" action="/login" id="form1" style="display:inline;">
  <div class="aspNetHidden">
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
      value="/wEPDwUKMTAyMTMzODg1Ng8WAh4TVmFsaWRhdGVSZXF1ZXN0TW9kZQIBFgJmD2QWDAIBDxYCHgRUZXh0BesBPHRpdGxlPkN1c3RvbWVyIExvZ2luIHwgQmVuY2htYXJrIEVtYWlsIE1hcmtldGluZyBTb2Z0d2FyZTwvdGl0bGU+DQo8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iTG9naW4gdG8geW91ciBCZW5jaG1hcmsgYWNjb3VudC4gS2VlcCBlbmpveWluZyB0aGUgcHJvdmVuIFJPSSB0aGF0IGVtYWlsIG1hcmtldGluZyBvZmZlcnMuIiAvPg0KPG1ldGEgbmFtZT0iS0VZV09SRFMiIGNvbnRlbnQ9IiIgLz4NCmQCAw8WAh8BBaAKPG1ldGEgbmFtZT0icm9ib3RzIiBjb250ZW50PSJub2luZGV4Ij48bGluayByZWw9ImFsdGVybmF0ZSIgaHJlZj0iaHR0cHM6Ly93d3cuYmVuY2htYXJrZW1haWwuY29tL2xvZ2luP3JlZGlyPWh0dHA6Ly91aS5iZW5jaG1hcmtlbWFpbC5jb20vZ290b2piIiBocmVmbGFuZz0ieC1kZWZhdWx0IiAvPg0KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Imh0dHBzOi8vd3d3LmJlbmNobWFya2VtYWlsLmNvbS9ici9sb2dpbj9yZWRpcj1odHRwOi8vdWkuYmVuY2htYXJrZW1haWwuY29tL2dvdG9qYiIgaHJlZmxhbmc9InB0IiAvPg0KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Imh0dHBzOi8vd3d3LmJlbmNobWFya2VtYWlsLmNvbS9lcy9sb2dpbj9yZWRpcj1odHRwOi8vdWkuYmVuY2htYXJrZW1haWwuY29tL2dvdG9qYiIgaHJlZmxhbmc9ImVzIiAvPg0KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Imh0dHBzOi8vd3d3LmJlbmNobWFya2VtYWlsLmNvbS9qcC9sb2dpbj9yZWRpcj1odHRwOi8vdWkuYmVuY2htYXJrZW1haWwuY29tL2dvdG9qYiIgaHJlZmxhbmc9ImphIiAvPg0KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Imh0dHBzOi8vd3d3LmJlbmNobWFya2VtYWlsLmNvbS9pdC9sb2dpbj9yZWRpcj1odHRwOi8vdWkuYmVuY2htYXJrZW1haWwuY29tL2dvdG9qYiIgaHJlZmxhbmc9Iml0IiAvPg0KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Imh0dHBzOi8vd3d3LmJlbmNobWFya2VtYWlsLmNvbS90dy9sb2dpbj9yZWRpcj1odHRwOi8vdWkuYmVuY2htYXJrZW1haWwuY29tL2dvdG9qYiIgaHJlZmxhbmc9InpoLVRXIiAvPg0KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Imh0dHBzOi8vd3d3LmJlbmNobWFya2VtYWlsLmNvbS9kZS9sb2dpbj9yZWRpcj1odHRwOi8vdWkuYmVuY2htYXJrZW1haWwuY29tL2dvdG9qYiIgaHJlZmxhbmc9ImRlIiAvPg0KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Imh0dHBzOi8vd3d3LmJlbmNobWFya2VtYWlsLmNvbS9jbi9sb2dpbj9yZWRpcj1odHRwOi8vdWkuYmVuY2htYXJrZW1haWwuY29tL2dvdG9qYiIgaHJlZmxhbmc9InpoLUNOIiAvPg0KPGxpbmsgcmVsPSJhbHRlcm5hdGUiIGhyZWY9Imh0dHBzOi8vd3d3LmJlbmNobWFya2VtYWlsLmNvbS9mci9sb2dpbj9yZWRpcj1odHRwOi8vdWkuYmVuY2htYXJrZW1haWwuY29tL2dvdG9qYiIgaHJlZmxhbmc9ImZyIiAvPg0KDQo8TUVUQSBOQU1FPSJST0JPVFMiIENPTlRFTlQ9Ik5PSU5ERVgsIE5PRk9MTE9XIj4NCjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtbGFuZ3VhZ2UiIGNvbnRlbnQ9ImVuIj4NCmQCBQ8WAh8BBcwQPG1ldGEgbmFtZT0iZ29vZ2xlLXNpdGUtdmVyaWZpY2F0aW9uIiBjb250ZW50PSJGREF6TWhGT3kyMFhMR3JGZmJGb20zWVNoWlZMOUxRaTAxX3Y2OXU1TmVBIiAvPg0KPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiIC8+DQo8bWV0YSBuYW1lPSJiYWlkdS1zaXRlLXZlcmlmaWNhdGlvbiIgY29udGVudD0ialh5WE9uYU82TiIgLz4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL2Nzcy9zdHlsZXMtcnNwLm1pbi5jc3M/dj05LjMiIC8+DQo8bGluayByZWw9Imljb24iIGhyZWY9Ii9pbWFnZXMvZmF2aWNvbi5wbmciPg0KPGxpbmsgaHJlZj0iL2ltYWdlcy9hcHBsZS1pY29uLXRvdWNoLnBuZyIgcmVsPSJhcHBsZS10b3VjaC1pY29uIiAvPg0KDQo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LmJlbmNobWFya2VtYWlsLmNvbS9jc3Mvb25ldHJ1c3QuY3NzP3Y9MS4wIiAvPg0KPCEtLSBPbmVUcnVzdCBDb29raWVzIENvbnNlbnQgTm90aWNlIChQcm9kdWN0aW9uIENETiwgYmVuY2htYXJrZW1haWwuY29tLCBlbi1HQikgc3RhcnQgLS0+DQoNCjxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi5jb29raWVsYXcub3JnL2NvbnNlbnQvYTgzMzA4ZWEtMzNiMi00NjY1LTg5NTktNDhhN2U0Yzc0OGVjLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9IlVURi04Ij48L3NjcmlwdD4NCg0KDQoNCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCg0KZnVuY3Rpb24gT3B0YW5vbldyYXBwZXIoKSB7IH0NCg0KPC9zY3JpcHQ+DQoNCjwhLS0gT25lVHJ1c3QgQ29va2llcyBDb25zZW50IE5vdGljZSAoUHJvZHVjdGlvbiBDRE4sIGJlbmNobWFya2VtYWlsLmNvbSwgZW4tR0IpIGVuZCAtLT4NCg0KDQo8IS0tIFN0YXJ0IEdvb2dsZSBPcHRpbWl6ZSBDb2RlIC0tPg0KPHN0eWxlPi5hc3luYy1oaWRlIHsgb3BhY2l0eTogMCAhaW1wb3J0YW50fSA8L3N0eWxlPg0KPHNjcmlwdD4oZnVuY3Rpb24oYSxzLHksbixjLGgsaSxkLGUpe3MuY2xhc3NOYW1lKz0nICcreTtoLnN0YXJ0PTEqbmV3IERhdGU7DQpoLmVuZD1pPWZ1bmN0aW9uKCl7cy5jbGFzc05hbWU9cy5jbGFzc05hbWUucmVwbGFjZShSZWdFeHAoJyA/Jyt5KSwnJyl9Ow0KKGFbbl09YVtuXXx8W10pLmhpZGU9aDtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aSgpO2guZW5kPW51bGx9LGMpO2gudGltZW91dD1jOw0KfSkod2luZG93LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwnYXN5bmMtaGlkZScsJ2RhdGFMYXllcicsNDAwMCwNCnsnR1RNLVRRQ0xRUSc6dHJ1ZX0pOzwvc2NyaXB0PgkNCjwhLS0gRW5kIEdvb2dsZSBPcHRpbWl6ZSBDb2RlIC0tPg0KDQo8IS0tIEVuZCBHb29nbGUgVGFnIE1hbmFnZXIgLS0+DQo8c2NyaXB0PihmdW5jdGlvbih3LGQscyxsLGkpe3dbbF09d1tsXXx8W107d1tsXS5wdXNoKHsnZ3RtLnN0YXJ0JzoNCm5ldyBEYXRlKCkuZ2V0VGltZSgpLGV2ZW50OidndG0uanMnfSk7dmFyIGY9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXSwNCmo9ZC5jcmVhdGVFbGVtZW50KHMpLGRsPWwhPSdkYXRhTGF5ZXInPycmbD0nK2w6Jyc7ai5hc3luYz10cnVlO2ouc3JjPQ0KJy8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0bS5qcz9pZD0nK2krZGw7Zi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqLGYpOw0KfSkod2luZG93LGRvY3VtZW50LCdzY3JpcHQnLCdkYXRhTGF5ZXInLCdHVE0tVFFDTFFRJyk7PC9zY3JpcHQ+DQo8IS0tIEVuZCBHb29nbGUgVGFnIE1hbmFnZXIgLS0+DQoNCjwhLS0gR2xvYmFsIHNpdGUgdGFnIChndGFnLmpzKSAtIEdvb2dsZSBBbmFseXRpY3MgLS0+DQo8c2NyaXB0IGFzeW5jIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLU5EOEhaNUczVksiPjwvc2NyaXB0Pg0KPHNjcmlwdD4NCiAgICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTsNCiAgICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9DQogICAgZ3RhZygnanMnLCBuZXcgRGF0ZSgpKTsNCiAgICBndGFnKCdjb25maWcnLCAnRy1ORDhIWjVHM1ZLJyk7DQo8L3NjcmlwdD4NCg0KZAIJDxYCHwEFnAE8bm9zY3JpcHQ+PGlmcmFtZSBzcmM9Ii8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL25zLmh0bWw/aWQ9R1RNLVRRQ0xRUSINCmhlaWdodD0iMCIgd2lkdGg9IjAiIHN0eWxlPSJkaXNwbGF5Om5vbmU7dmlzaWJpbGl0eTpoaWRkZW4iPjwvaWZyYW1lPjwvbm9zY3JpcHQ+DQpkAg0PZBYCAgEPZBYCAgEPFgIfAQXHYTxkaXYgY2xhc3M9ImludGVybmFsLWZvcm1zIGVuIiBpZD0ibG9naW4tcGFnZSI+DQogICAgPGRpdiBjbGFzcz0iY29udGFpbmVyLWZsdWlkIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oZWFkZXIgcm93Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiI+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXggY2VudGVyIj4NCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYmVuY2htYXJrZW1haWwuY29tLyI+PHNwYW4gY2xhc3M9ImxvZ28iPjwvc3Bhbj48L2E+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2x1bW5zIG1lZGl1bS1jZW50ZXJlZCBtZWRpdW0tMTAiPg0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4NCiAgICAgICAgICAgICAgICAgICAgPGgxPldlbGNvbWUgYmFjay48L2JyPkNvbWUgb24gaW4uPC9oMT4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiBjcmVhdGUtYWNjb3VudCI+DQogICAgICAgICAgICAgICAgICAgIDxwPg0KICAgICAgICAgICAgICAgICAgICAgICAgRG9uJ3QgYWxyZWFkeSBoYXZlIGFuIGFjY291bnQgPyA8YSBocmVmPSIvcmVnaXN0ZXIiIGNsYXNzPSJsaW5rIj4gQ3JlYXRlIG9uZSBmcmVlLjwvYT4NCiAgICAgICAgICAgICAgICAgICAgPC9wPiANCiAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLW1zZyBlcnJvciIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4NCiAgICAgICAgICAgICAgICAgICAgPHA+VGhlcmUgaXMgbm8gYWNjb3VudCB3aXRoIHRoYXQgbG9naW4vcGFzc3dvcmQ8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybSI+DQogICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5Mb2dpbjwvbGFiZWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tdGV4dC1maWVsZCIgaWQ9ImxvZ2luIiBuYW1lPSJsb2dpbiIgdGFiaW5kZXg9IjEiIC8+DQogICAgICAgICAgICAgICAgICAgIDwvZmllbGRzZXQ+DQogICAgICAgICAgICAgICAgICAgIDxmaWVsZHNldD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD5QYXNzd29yZCA8YSBocmVmPSIvRm9yZ290UGFzc3dvcmQiIGNsYXNzPSJmb3Jnb3QtcHMgcmlnaHQgbGluayI+Rm9yZ290PzwvYT48L2xhYmVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBjbGFzcz0iZm9ybS10ZXh0LWZpZWxkIiBpZD0icGFzc3dvcmQiIG5hbWU9InBhc3N3b3JkIiB0YWJpbmRleD0iMiIgLz4NCiAgICAgICAgICAgICAgICAgICAgPC9maWVsZHNldD4NCgkJCQkJPGRpdiBzdHlsZT0icGFkZGluZy1ib3R0b206IDYxcHg7IGRpc3BsYXk6IG5vbmU7IiBpZD0iZHZsY2FwdGNoYSI+DQoJCQkJCQk8ZGl2IGNsYXNzPSJtZWRpdW0tOCBjb2x1bW5zIiBzdHlsZT0icGFkZGluZy1sZWZ0OjA7ICI+DQoJCQkJCQkJPGZpZWxkc2V0IGNsYXNzPSJsY2FwdGNoYSIgPg0KCQkJCQkJCQk8bGFiZWw+VmVyaWZpY2F0aW9uIGNvZGU8L2xhYmVsPg0KCQkJCQkJCQk8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tdGV4dC1maWVsZCIgaWQ9ImNhcHRjaGEiIG5hbWU9ImNhcHRjaGEiIC8+DQoJCQkJCQkJCTxpbnB1dCBpZD0iY2FwdGNoYS10b2tlbiIgdHlwZT0iaGlkZGVuIiBuYW1lPSJjYXB0Y2hhLXRva2VuIiB2YWx1ZT0iIiAvPiAgICANCgkJCQkJCQk8L2ZpZWxkc2V0PiANCgkJCQkJCTwvZGl2Pg0KCQkJCQkJPGRpdiBjbGFzcz0ibWVkaXVtLTQgY29sdW1ucyIgc3R5bGU9InBhZGRpbmctbGVmdDowOyAiPg0KCQkJCQkJCTxmaWVsZHNldCBjbGFzcz0ibGNhcHRjaGEiPg0KCQkJCQkJCTxpbWcgY2xhc3M9ImltZ0NhcHRjaGEiIGlkPSJpbWdDYXB0Y2hhIiBzcmM9Ii9DYXB0Y2hhP2NaNWN1dERmZ01vJTNEIj4NCg0KCQkJCQkJCTxwIGNsYXNzPSJlcnJvci1tc2ciIHN0eWxlPSJkaXNwbGF5OiBub25lOyBmb250LXNpemU6IDEycHg7Ij48L3A+DQoJCQkJCQkJPC9maWVsZHNldD4NCgkJCQkJCTwvZGl2Pg0KDQoJCQkJCTwvZGl2Pg0KCQkJCQk8ZGl2IGNsYXNzPSJtZWRpdW0tMTIgY29sdW1ucyI+DQoJCQkJCQk8ZmllbGRzZXQgY2xhc3M9InJvdyI+DQoJCQkJCQkJPGRpdiBjbGFzcz0ibWVkaXVtLTEyIGNvbHVtbnMiPg0KCQkJCQkJCQk8YSBocmVmPSJqYXZhc2NyaXB0Om9uQ2xpY2soKTsiIGNsYXNzPSJsYWRkYS1idXR0b24gYnV0dG9uIHJhZGl1cyBleHBhbmQiIHRhYmluZGV4PSIzIiAvPg0KCQkJCQkJCQkJPHNwYW4gY2xhc3M9ImxhZGRhLWxhYmVsIj5TaWduIEluPC9zcGFuPg0KCQkJCQkJCQkJPHNwYW4gY2xhc3M9J3ByZWxvYWRlcicgYWxpZ249J2NlbnRlcic+PHNwYW4gY2xhc3M9J2NpcmNsZSc+PC9zcGFuPjxzcGFuIGNsYXNzPSdjaXJjbGUnPjwvc3Bhbj48c3BhbiBjbGFzcz0nY2lyY2xlJz48L3NwYW4+PHNwYW4gY2xhc3M9J2NpcmNsZSc+PC9zcGFuPjwvc3Bhbj4NCgkJCQkJCQkJPC9hPg0KCQkJCQkJCTwvZGl2Pg0KCQkJCQkJCTxkaXYgY2xhc3M9Im1lZGl1bS0xMiBjb2x1bW5zIG5vcGwiPg0KCQkJCQkJCQk8bGFiZWwgY2xhc3M9ImV4dGVybmFsLWZvcm0tY2hlY2tib3giPg0KCQkJCQkJCQkJPGlucHV0IGlkPSJyZW1lbWJlci1sb2dpbiIgbmFtZT0icmVtZW1iZXItbG9naW4iIHR5cGU9ImNoZWNrYm94IiBjbGFzcz0iY2hlY2tiIiBjaGVja2VkIC8+DQoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjaGVja2Itd3JhcCI+PC9kaXY+IFJlbWVtYmVyIE1lDQoJCQkJCQkJCTwvbGFiZWw+DQoJCQkJCQkJPC9kaXY+DQoJCQkJCQk8L2ZpZWxkc2V0Pg0KCQkJCQk8L2Rpdj4NCiAgICAgICAgICAgICAgICA8L2Rpdj4NCgkJCQk8ZGl2IGNsYXNzPSJtZWRpdW0tMTIgY29sdW1ucyI+DQoJCQkJCTxzZWN0aW9uIGNsYXNzPSJ1cGRhdGVzLWluZm8iPg0KCQkJCQkJPHAgY2xhc3M9ImNlbnRlciI+PHNtYWxsPjxhIGhyZWY9Imh0dHBzOi8vd3d3LmJlbmNobWFya2VtYWlsLmNvbS9lbWFpbC1tYXJrZXRpbmcvcHJpdmFjeS1wb2xpY3kiIHRhcmdldD0iX2JsYW5rIj5Qcml2YWN5PC9hPiAmIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmJlbmNobWFya2VtYWlsLmNvbS9UZXJtc09mVXNlIiB0YXJnZXQ9Il9ibGFuayI+VGVybXMgb2YgU2VydmljZTwvYT48L3NtYWxsPjwvcD4NCgkJCQkJCTxwPjxzbWFsbD5TZWUgd2hhdCdzIG5ldyBmcm9tIEJlbmNobWFyayBFbWFpbCBvbiBvdXIgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYmVuY2htYXJrZW1haWwuY29tL3Byb2R1Y3QtdXBkYXRlcy8iPlVwZGF0ZXM8L2E+IHBhZ2UuPC9zbWFsbD48L3A+DQoJCQkJCTwvc2VjdGlvbj4NCgkJCQk8L2Rpdj4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgICA8YXNpZGUgY2xhc3M9InByb21vY29udGVudCBsb2dpbiI+DQogICAgICAgIDxwIGNsYXNzPSJzdXBlci1sYWJlbCI+QXZhaWxhYmxlIGluIGFsbCBQcm8gUGxhbnM8L3A+DQogICAgICAgPHA+R3JlZXQgYWxsIG9mIHlvdXIgbmV3IHN1YnNjcmliZXJzIGF1dG9tYXRpY2FsbHkgdXNpbmcgb3VyDQpXZWxjb21lIEF1dG9tYXRpb24gVGVtcGxhdGUgaW4gQXV0b21hdGlvbiBQcm8uPC9wPg0KICAgICAgICA8aW1nIHNyYz0iL2ltYWdlcy9sb2dpbi9QZW9wbGUtd2VsY29tZS5wbmciIGFsdD0iQXV0b21hdGlvbiBQcm8iIC8gY2xhc3M9ImNsdWVzIj4NCiAgICAgICAgPGltZyBzcmM9Ii9pbWFnZXMvbG9naW4vc3RlcHMuc3ZnIiBhbHQ9IiIgd2lkdGg9Ijc1MSI+DQoNCiAgICAgICAgIA0KPCEtLSA8YSBocmVmPSJodHRwczovL2Jvb2suY2x1ZXNmb3J0aGVjbHVlbGVzcy5jb20vIiBjbGFzcz0iZG93bmJ0biIgdGFyZ2V0PSJibGFuayI+RG93bmxvYWQgRnJlZTwvYT4gLS0+DQo8cCBjbGFzcz0ibGVmdC1saW5rIj48YSBocmVmPSJodHRwczovL3d3dy5iZW5jaG1hcmtlbWFpbC5jb20vcHJvZHVjdC11cGRhdGVzLyI+V2hhdOKAmXMgTmV3IGF0IEJlbmNobWFyaz88L2E+PC9wPg0KICAgIDwvYXNpZGU+DQo8L2Rpdj4NCg0KPHNjcmlwdCBzcmM9Ii9zdHlsZS9qcy9mbi1nbG9iYWwtcnNwLm1pbi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IGNoYXJzZXQ9IklTTy04ODU5LTEiIHNyYz0iaHR0cHM6Ly9mYXN0Lndpc3RpYS5jb20vc3RhdGljL3BvcG92ZXItdjEuanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCBzcmM9Ii9zdHlsZS9qcy9qcXVlcnkubWFnbmlmaWMtcG9wdXAubWluLmpzIj48L3NjcmlwdD4NCjxsaW5rIGhyZWY9Ii9jc3MvbWFnbmlmaWMtcG9wdXAuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiAvPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KDQpmdW5jdGlvbiBnZXRQYXJhbWV0ZXJzKG5hbWUpIHsNCiAgICAgdmFyIHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmOw0KICAgIHVybCA9IHVybC50b0xvd2VyQ2FzZSgpOw0KICAgIG5hbWUgPSBuYW1lLnJlcGxhY2UoL1tcW1xdXS9nLCAiXFwkJiIpLnRvTG93ZXJDYXNlKCk7DQogICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cCgiWz8mXSIgKyBuYW1lICsgIig9KFteJiNdKil8JnwjfCQpIiksDQogICAgICAgIHJlc3VsdHMgPSByZWdleC5leGVjKHVybCk7DQogICAgaWYgKCFyZXN1bHRzKSByZXR1cm4gbnVsbDsNCiAgICBpZiAoIXJlc3VsdHNbMl0pIHJldHVybiAnJzsNCiAgICB0cnkgew0KICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHJlc3VsdHNbMl0ucmVwbGFjZSgvXCsvZywgIiAiKSk7DQogICAgfSBjYXRjaCAoZSkgew0KICAgICAgICByZXR1cm4gcmVzdWx0c1syXTsNCiAgICB9DQp9DQoNCg0KdmFyIGNoZWNrVXNlcm5hbWUgPSBmYWxzZSwgY2hlY2tQYXNzd29yZCA9IGZhbHNlLCBjaGVja0NhcHRjaGEgPSBmYWxzZSx2YWxpZGF0ZV9DYXB0Y2hhID0gZmFsc2U7DQp2YXIgTE9HSU5fUkVRVUlSRUQgPSAiUGxlYXNlIGVudGVyIHlvdXIgbG9naW4iOw0KdmFyIFBBU1NXT1JEX1JFUVVJUkVEID0gIlBsZWFzZSBlbnRlciB5b3VyIHBhc3N3b3JkIjsNCnZhciBQQVNTV09SRF80Q0hBUlMgPSAiQXQgbGVhc3QgNCBjaGFyYWN0ZXJzIHJlcXVpcmVkIjsNCnZhciBWRVJJRklDQVRJT05fUkVRVUlSRUQgPSAiVmVyaWZpY2F0aW9uIGNvZGUgaXMgcmVxdWlyZWQiOw0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQogICAgJCgiI2NhcHRjaGEiKS52YWwoIiIpOw0KICAgICQucG9zdCgiL3hkYy9qc29uL2xvZ2luZ2VuZXJhdGVjYXB0Y2hhIiwgeyJsb2dpbiI6ICQoIiNsb2dpbiIpLnZhbCgpfSwgZnVuY3Rpb24gKHJlc1RleHQpIHsNCgkJaWYocmVzVGV4dCAhPSAiIikgew0KCQkJdmFsaWRhdGVfQ2FwdGNoYSA9dHJ1ZTsNCgkJCSQoIi5sY2FwdGNoYSIpLnNob3coKTsNCgkJCSQoIiNkdmxjYXB0Y2hhIikuc2hvdygpOw0KCQkJdG9rZW5zID0gcmVzVGV4dC5zcGxpdCgiXyIpOwkJCQkJCQ0KCQkJJCgiI2NhcHRjaGEtdG9rZW4iKS52YWwocmVzVGV4dCk7DQoJCQkkKCIjaW1nQ2FwdGNoYSIpLmF0dHIoInNyYyIsICIvQ2FwdGNoYT8iICsgdG9rZW5zWzBdKTsNCgkJfSBlbHNlIHsNCgkJCSQoIi5sY2FwdGNoYSIpLmhpZGUoKTsNCgkJCSQoIiNkdmxjYXB0Y2hhIikuaGlkZSgpOw0KCQkJdmFsaWRhdGVfQ2FwdGNoYSA9IGZhbHNlOw0KCQl9DQoJIH0pOw0KDQogICAgJCgiI2xvZ2luIikuYmx1cihmdW5jdGlvbigpIHsNCiAgICAgICAgaWYoIXZhbGlkYXRlUmVxdWlyZWRDb250cm9sKHRoaXMsIExPR0lOX1JFUVVJUkVEKSkgew0KICAgICAgICAgICAgY2hlY2tVc2VybmFtZSA9IHRydWU7DQogICAgICAgIH0NCiAgICB9KTsNCiAgICAkKCIjbG9naW4iKS5rZXl1cChmdW5jdGlvbigpIHsNCiAgICAgICAgaWYoY2hlY2tVc2VybmFtZSkgew0KICAgICAgICAgICAgdmFsaWRhdGVSZXF1aXJlZENvbnRyb2wodGhpcywgTE9HSU5fUkVRVUlSRUQpOw0KICAgICAgICB9DQogICAgfSk7DQogICAgJCgiI3Bhc3N3b3JkIikuYmx1cihmdW5jdGlvbigpIHsNCiAgICBoaWRlRXJyb3JNZXNzYWdlcyh0aGlzKTsNCiAgICAgICAgaWYoIXZhbGlkYXRlUmVxdWlyZWRDb250cm9sKHRoaXMsIFBBU1NXT1JEX1JFUVVJUkVEKSkgew0KICAgICAgICAgICAgY2hlY2tQYXNzd29yZCA9IHRydWU7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBpZighdmFsaWRhdGVGaWVsZExlbmd0aCh0aGlzLCBQQVNTV09SRF80Q0hBUlMsIDQpKSB7DQogICAgICAgICAgICAgICAgY2hlY2tQYXNzd29yZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9KTsNCiAgICAkKCIjcGFzc3dvcmQiKS5rZXl1cChmdW5jdGlvbigpIHsNCiAgICAgICAgaWYoY2hlY2tQYXNzd29yZCkgew0KICAgICAgICAgICAgaGlkZUVycm9yTWVzc2FnZXModGhpcyk7DQogICAgICAgICAgICBpZih2YWxpZGF0ZVJlcXVpcmVkQ29udHJvbCh0aGlzLCBQQVNTV09SRF9SRVFVSVJFRCkpIHsNCiAgICAgICAgICAgICAgICB2YWxpZGF0ZUZpZWxkTGVuZ3RoKHRoaXMsIFBBU1NXT1JEXzRDSEFSUywgNCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9KTsNCgkNCgkkKCIjY2FwdGNoYSIpLmJsdXIoZnVuY3Rpb24oKSB7ICAgICAgICANCgkJIGlmKGNoZWNrQ2FwdGNoYSkgeyAgICAgDQoJCQloaWRlRXJyb3JNZXNzYWdlcyh0aGlzKTsNCgkJCXZhbGlkYXRlUmVxdWlyZWRDb250cm9sKHRoaXMsIFZFUklGSUNBVElPTl9SRVFVSVJFRCkNCgkJfQ0KCSB9KTsNCgkgDQoJICQoIiNjYXB0Y2hhIikua2V5dXAoZnVuY3Rpb24oKSB7ICAgICAgICANCgkJIGlmKGNoZWNrQ2FwdGNoYSkgeyAgICAgDQoJCQloaWRlRXJyb3JNZXNzYWdlcyh0aGlzKTsNCgkJCXZhbGlkYXRlUmVxdWlyZWRDb250cm9sKHRoaXMsIFZFUklGSUNBVElPTl9SRVFVSVJFRCkNCgkJfQ0KCSB9KTsNCiAgICAkKCIjbG9naW4iKS52YWwoZ2V0Q29va2llKCJ1IikpOw0KICAgICAgICBpZiAoJCgiI2xvZ2luIikudmFsKCkgPT0gIiIpIHsNCiAgICAgICAgICAgICQoIiNyZW1lbWJlci1sb2dpbiIpLmF0dHIoImNoZWNrZWQiLCBmYWxzZSk7DQogICAgICAgIH0NCn0pOw0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQpmdW5jdGlvbiB2YWxpZGF0ZSgpIHsNCiAgICB2YXIgdXNlciA9IHZhbGlkYXRlUmVxdWlyZWRDb250cm9sKCIjbG9naW4iLCBMT0dJTl9SRVFVSVJFRCk7DQogICAgdmFyIHBhc3N3b3JkID0gdmFsaWRhdGVSZXF1aXJlZENvbnRyb2woIiNwYXNzd29yZCIsIFBBU1NXT1JEX1JFUVVJUkVEKTsNCgl2YXIgY2FwdGNoYSA9IHZhbGlkYXRlUmVxdWlyZWRDb250cm9sKCIjY2FwdGNoYSIsIFZFUklGSUNBVElPTl9SRVFVSVJFRCk7DQogICAgaWYocGFzc3dvcmQpIHsNCiAgICAgICAgcGFzc3dvcmQgPSB2YWxpZGF0ZUZpZWxkTGVuZ3RoKCIjcGFzc3dvcmQiLCBQQVNTV09SRF80Q0hBUlMpOw0KICAgIH0NCiAgICBpZighdXNlcikgew0KICAgICAgICBjaGVja1VzZXJuYW1lID0gdHJ1ZTsNCiAgICB9DQogICAgaWYoIXBhc3N3b3JkKSB7DQogICAgICAgIGNoZWNrUGFzc3dvcmQgPSB0cnVlOw0KICAgIH0NCglpZih2YWxpZGF0ZV9DYXB0Y2hhKXsNCgkJaWYoIWNhcHRjaGEpIHsNCgkJCWNoZWNrQ2FwdGNoYSA9IHRydWU7DQoJCX0NCgl9ZWxzZXsNCgkJY2FwdGNoYSA9ICB0cnVlOw0KCX0NCglyZXR1cm4odXNlciAmJiBwYXNzd29yZCAmJiBjYXB0Y2hhKTsNCn0NCmZ1bmN0aW9uIG9uQ2xpY2soKSB7DQogICAgaWYodmFsaWRhdGUoKSkgew0KICAgICAgICBkb1JlZ2lzdGVyKCk7DQogICAgfQ0KfQ0KZnVuY3Rpb24gZG9SZWdpc3RlcigpIHsNCiAgICAgICAgdGVybXNfY2hlY2tlZCA9ICgkKCIjcmVtZW1iZXItbG9naW4iKS5pcygnOmNoZWNrZWQnKSkgPyAiMSIgOiAiMCI7DQogICAgICAgIGlmICggdGVybXNfY2hlY2tlZCA9PSAiMSIgKSB7DQogICAgICAgICAgICBzZXRDb29raWUoInUiLCAkKCIjbG9naW4iKS52YWwoKSk7DQogICAgICAgIH0NCiAgICAkKCcubGFkZGEtYnV0dG9uJykuYXR0cignZGF0YS1sb2FkaW5nJywgJycpOw0KICAgICQucG9zdCgiL3hkYy9qc29uL2F1dGhlbnRpY2F0ZV91c2VydjIiLCB7DQogICAgICAgICJsb2dpbiI6ICQoIiNsb2dpbiIpLnZhbCgpLA0KCQkicmVkaXIiOiBnZXRQYXJhbWV0ZXJzKCJyZWRpciIpLA0KICAgICAgICAicGFzc3dvcmQiOiAkKCIjcGFzc3dvcmQiKS52YWwoKSwNCgkJInJlbWVtYmVyLWxvZ2luIjogdGVybXNfY2hlY2tlZCwNCiAgICAgICAgImxhbmd1YWdlIjogIiIsDQoJCSJjYXB0Y2hhIjogJCgiI2NhcHRjaGEiKS52YWwoKSwJCQkgDQoJCSJjYXB0Y2hhLXRva2VuIjogJCgiI2NhcHRjaGEtdG9rZW4iKS52YWwoKQ0KICAgIH0sIGZ1bmN0aW9uKHJlc1RleHQpIHsNCiAgICAgICAgdmFyIGpzb25vYmogPSAkLnBhcnNlSlNPTihyZXNUZXh0KTsNCiAgICAgICAgaWYgKGpzb25vYmouc3RhdHVzIDw9IDApIHsNCiAgICAgICAgICAgICQoJy5sYWRkYS1idXR0b24nKS5yZW1vdmVBdHRyKCdkYXRhLWxvYWRpbmcnKTsNCgkJCWlmKGpzb25vYmouc3RhdHVzID09IC0xMDApIHsNCgkJCQlzaG93RXJyb3JNZXNzYWdlcygkKCIjY2FwdGNoYSIpLCBqc29ub2JqLmVycm9yKTsJCQkJDQoJCQl9ZWxzZXsNCgkJCQkkKCIuaW5mby1tc2ciKS5zaG93KCk7DQoJCQl9DQoJCQkkLnBvc3QoIi94ZGMvanNvbi9sb2dpbmdlbmVyYXRlY2FwdGNoYSIsIHsibG9naW4iOiAkKCIjbG9naW4iKS52YWwoKX0sIGZ1bmN0aW9uIChyZXNUZXh0KSB7CQkJCQkJCQ0KCQkJCWlmKHJlc1RleHQgIT0gIiIpIHsNCgkJCQkJJCgiLmxjYXB0Y2hhIikuc2hvdygpOw0KCQkJCQkkKCIjZHZsY2FwdGNoYSIpLnNob3coKTsNCgkJCQkJdmFsaWRhdGVfQ2FwdGNoYSA9dHJ1ZTsNCgkJCQkJY2hlY2tDYXB0Y2hhID0gdHJ1ZTsNCgkJCQkJdG9rZW5zID0gcmVzVGV4dC5zcGxpdCgiXyIpOwkJCQkJCQ0KCQkJCQkkKCIjY2FwdGNoYS10b2tlbiIpLnZhbChyZXNUZXh0KTsNCgkJCQkJJCgiI2ltZ0NhcHRjaGEiKS5hdHRyKCJzcmMiLCAiL0NhcHRjaGE/IiArIHRva2Vuc1swXSk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJJCgiLmxjYXB0Y2hhIikuaGlkZSgpOw0KCQkJCQkkKCIjZHZsY2FwdGNoYSIpLmhpZGUoKTsNCgkJCQkJdmFsaWRhdGVfQ2FwdGNoYSA9ZmFsc2U7DQoJCQkJfQ0KCQkJIH0pOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgbG9jYXRpb24uaHJlZiA9IGpzb25vYmoucmVkaXJlY3RVUkw7DQogICAgICAgIH0NCg0KICAgIH0pOw0KfQ0KDQokKCcjcGFzc3dvcmQnKS5rZXlwcmVzcyhmdW5jdGlvbihlKSB7DQogICAgaWYgKGUud2hpY2ggPT0gMTMpIHsNCiAgICAgICAgZG9SZWdpc3RlcigpOw0KICAgIH0NCn0pOw0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQpmdW5jdGlvbiBzaG93RXJyb3JNZXNzYWdlcyhjdHJsLCBlcnJvck1lc3NhZ2UpIHsNCiAgICAkKGN0cmwpLnNpYmxpbmdzKCJsYWJlbCIpLnJlbW92ZUNsYXNzKCJlcnJvciIpLmFkZENsYXNzKCJlcnJvciIpOw0KICAgICQoY3RybCkucmVtb3ZlQ2xhc3MoImVycm9yIikuYWRkQ2xhc3MoImVycm9yIik7DQogICAgaWYgKCQoY3RybCkubmV4dCgicC5lcnJvci1tc2ciKS5sZW5ndGggPT0gMCkgew0KICAgICAgICAkKGN0cmwpLmFmdGVyKCI8cCBjbGFzcz1cImVycm9yLW1zZ1wiIHN0eWxlPVwiZm9udC1zaXplOiAxMnB4O1wiPiIgKyBlcnJvck1lc3NhZ2UgKyAiPC9wPiIpOw0KICAgIH0NCn0NCg0KZnVuY3Rpb24gaGlkZUVycm9yTWVzc2FnZXMoY3RybCkgew0KICAgICQoY3RybCkuc2libGluZ3MoImxhYmVsIikucmVtb3ZlQ2xhc3MoImVycm9yIik7DQogICAgJChjdHJsKS5zaWJsaW5ncygibGFiZWwiKS5yZW1vdmVBdHRyKCJjbGFzcyIpOw0KICAgICQoY3RybCkucmVtb3ZlQ2xhc3MoImVycm9yIik7DQogICAgJChjdHJsKS5uZXh0KCJwLmVycm9yLW1zZyIpLnJlbW92ZSgpOw0KfQ0KDQpmdW5jdGlvbiB2YWxpZGF0ZVJlcXVpcmVkQ29udHJvbChjdHJsLCBlcnJvck1lc3NhZ2UpIHsNCiAgICB2YXIgdmFsaWQgPSB0cnVlOw0KICAgIGlmICgkLnRyaW0oJChjdHJsKS52YWwoKSkgPT0gIiIpIHsNCiAgICAgICAgc2hvd0Vycm9yTWVzc2FnZXMoY3RybCwgZXJyb3JNZXNzYWdlKTsNCiAgICAgICAgdmFsaWQgPSBmYWxzZTsNCiAgICB9IGVsc2Ugew0KICAgICAgICBoaWRlRXJyb3JNZXNzYWdlcyhjdHJsKTsNCiAgICB9DQogICAgcmV0dXJuIHZhbGlkOw0KfQ0KDQpmdW5jdGlvbiB2YWxpZGF0ZUZpZWxkTGVuZ3RoKGN0cmwsIGVycm9yTWVzc2FnZSwgbGVuZ3RoKSB7DQogICAgdmFyIHZhbGlkID0gdHJ1ZTsNCiAgICBpZiAoJC50cmltKCQoY3RybCkudmFsKCkpLmxlbmd0aCA8IGxlbmd0aCkgew0KICAgICAgICB2YWxpZCA9IGZhbHNlOw0KICAgICAgICBzaG93RXJyb3JNZXNzYWdlcyhjdHJsLCBlcnJvck1lc3NhZ2UpOw0KICAgIH0gZWxzZSB7DQogICAgICAgIGhpZGVFcnJvck1lc3NhZ2VzKGN0cmwpOw0KICAgIH0NCiAgICByZXR1cm4gdmFsaWQ7DQp9DQoNCmZ1bmN0aW9uIHNldENvb2tpZShrZXksIHZhbHVlKSB7DQogICAgdmFyIGV4cGlyZXMgPSBuZXcgRGF0ZSgpOw0KICAgIGV4cGlyZXMuc2V0VGltZShleHBpcmVzLmdldFRpbWUoKSArICgxICogMjQgKiA2MCAqIDYwICogMTAwMCkpOw0KICAgIGRvY3VtZW50LmNvb2tpZSA9IGtleSArICc9JyArIHZhbHVlICsgJztleHBpcmVzPScgKyBleHBpcmVzLnRvVVRDU3RyaW5nKCk7DQp9DQogICAgICAgIA0KZnVuY3Rpb24gZ2V0Q29va2llKGNuYW1lKSB7DQogICAgdmFyIG5hbWUgPSBjbmFtZSArICI9IjsNCiAgICB2YXIgY2EgPSBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKTsNCiAgICBmb3IodmFyIGk9MDsgaTxjYS5sZW5ndGg7IGkrKykgew0KICAgICAgICB2YXIgYyA9IGNhW2ldOw0KICAgICAgICB3aGlsZSAoYy5jaGFyQXQoMCk9PScgJykgYyA9IGMuc3Vic3RyaW5nKDEpOw0KICAgICAgICBpZiAoYy5pbmRleE9mKG5hbWUpID09IDApIHJldHVybiBjLnN1YnN0cmluZyhuYW1lLmxlbmd0aCwgYy5sZW5ndGgpOw0KICAgIH0NCiAgICByZXR1cm4gIiI7DQp9DQo8L3NjcmlwdD4NCg0KPCEtLSBBdHRyaWJ1dGlvbiBBcHAgdmlzaXRvciB0cmFja2luZyAtLT4NCg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KDQohZnVuY3Rpb24oKXt2YXIgQXR0cmlidXRpb249d2luZG93LkF0dHJpYnV0aW9uPXdpbmRvdy5BdHRyaWJ1dGlvbnx8W107aWYoIUF0dHJpYnV0aW9uLmluaXRpYWxpemUpaWYoQXR0cmlidXRpb24uaW52b2tlZCl3aW5kb3cuY29uc29sZSYmY29uc29sZS5lcnJvciYmY29uc29sZS5lcnJvcigiQXR0cmlidXRpb24gc25pcHBldCBpbmNsdWRlZCB0d2ljZS4iKTtlbHNle0F0dHJpYnV0aW9uLmludm9rZWQ9ITAsQXR0cmlidXRpb24ubWV0aG9kcz1bInNldEFub255bW91c0lkIiwidHJhY2tTdWJtaXQiLCJ0cmFja0NsaWNrIiwiaW5pdGlhbGl6ZSIsInRyYWNrTGluayIsInRyYWNrRm9ybSIsInBhZ2V2aWV3IiwiaWRlbnRpZnkiLCJyZXNldCIsImdyb3VwIiwidHJhY2siLCJyZWFkeSIsImFsaWFzIiwiZGVidWciLCJwYWdlIiwib25jZSIsIm9mZiIsIm9uIl0sQXR0cmlidXRpb24uZmFjdG9yeT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiB0LnVuc2hpZnQoZSksQXR0cmlidXRpb24ucHVzaCh0KSxBdHRyaWJ1dGlvbn19O2Zvcih2YXIgdD0wO3Q8QXR0cmlidXRpb24ubWV0aG9kcy5sZW5ndGg7dCsrKXt2YXIgZT1BdHRyaWJ1dGlvbi5tZXRob2RzW3RdO0F0dHJpYnV0aW9uW2VdPUF0dHJpYnV0aW9uLmZhY3RvcnkoZSl9QXR0cmlidXRpb24ubG9hZD1mdW5jdGlvbih0LGUpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2kudHlwZT0idGV4dC9qYXZhc2NyaXB0IixpLmFzeW5jPSEwLGkuc3JjPSJodHRwczovL3NjcmlwdHMuYXR0cmlidXRpb25hcHAuY29tL3YyL2F0dHJpYnV0aW9uLmpzIjt2YXIgcj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07ci5wYXJlbnROb2RlLmluc2VydEJlZm9yZShpLHIpLGU9ZXx8e30sZS5wcm9qZWN0SWQ9dCxBdHRyaWJ1dGlvbi5fbG9hZE9wdGlvbnM9ZX0sQXR0cmlidXRpb24uU05JUFBFVF9WRVJTSU9OPSI0LjEuMCI7DQoNCg0KDQogIEF0dHJpYnV0aW9uLmxvYWQoIlFWdWtwdWZiIik7DQoNCiAgQXR0cmlidXRpb24ucGFnZSgpOw0KDQp9fSgpOw0KDQo8L3NjcmlwdD4NCg0KPCEtLSBBdHRyaWJ1dGlvbiBBcHAgdmlzaXRvciB0cmFja2luZyAtLT5kAhEPFgIfAWVkZMT2wWZmlL+/XcrRlHyzajQNPwHg">
  </div>
  <div class="aspNetHidden">
    <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="445BCDAC">
  </div>
  <div class="internal-forms en" id="login-page">
    <div class="container-fluid">
      <div class="form-header row">
        <div class="col-md-12">
          <div class="clearfix center">
            <a href="https://www.benchmarkemail.com/"><span class="logo"></span></a>
          </div>
        </div>
      </div>
      <div class="row">
        <div class="columns medium-centered medium-10">
          <div class="description">
            <h1>Welcome back.<br>Come on in.</h1>
          </div>
          <div class="description create-account">
            <p> Don't already have an account ? <a href="/register" class="link"> Create one free.</a>
            </p>
          </div>
          <div class="info-msg error" style="display: none;">
            <p>There is no account with that login/password</p>
          </div>
          <div class="form">
            <fieldset>
              <label>Login</label>
              <input type="text" class="form-text-field" id="login" name="login" tabindex="1">
            </fieldset>
            <fieldset>
              <label>Password <a href="/ForgotPassword" class="forgot-ps right link">Forgot?</a></label>
              <input type="password" class="form-text-field" id="password" name="password" tabindex="2">
            </fieldset>
            <div style="padding-bottom: 61px; display: none;" id="dvlcaptcha">
              <div class="medium-8 columns" style="padding-left:0; ">
                <fieldset class="lcaptcha" style="display: none;">
                  <label>Verification code</label>
                  <input type="text" class="form-text-field" id="captcha" name="captcha">
                  <input id="captcha-token" type="hidden" name="captcha-token" value="">
                </fieldset>
              </div>
              <div class="medium-4 columns" style="padding-left:0; ">
                <fieldset class="lcaptcha" style="display: none;">
                  <img class="imgCaptcha" id="imgCaptcha" src="/Captcha?cZ5cutDfgMo%3D">
                  <p class="error-msg" style="display: none; font-size: 12px;"></p>
                </fieldset>
              </div>
            </div>
            <div class="medium-12 columns">
              <fieldset class="row">
                <div class="medium-12 columns">
                  <a href="javascript:onClick();" class="ladda-button button radius expand" tabindex="3">
									<span class="ladda-label">Sign In</span>
									<span class="preloader" align="center"><span class="circle"></span><span class="circle"></span><span class="circle"></span><span class="circle"></span></span>
								</a>
                </div>
                <div class="medium-12 columns nopl">
                  <label class="external-form-checkbox">
                    <input id="remember-login" name="remember-login" type="checkbox" class="checkb">
                    <div class="checkb-wrap"></div> Remember Me
                  </label>
                </div>
              </fieldset>
            </div>
          </div>
          <div class="medium-12 columns">
            <section class="updates-info">
              <p class="center"><small><a href="https://www.benchmarkemail.com/email-marketing/privacy-policy" target="_blank">Privacy</a> &amp; <a href="https://www.benchmarkemail.com/TermsOfUse" target="_blank">Terms of Service</a></small></p>
              <p><small>See what's new from Benchmark Email on our <a href="https://www.benchmarkemail.com/product-updates/">Updates</a> page.</small></p>
            </section>
          </div>
        </div>
      </div>
    </div>
    <aside class="promocontent login">
      <p class="super-label">Available in all Pro Plans</p>
      <p>Greet all of your new subscribers automatically using our Welcome Automation Template in Automation Pro.</p>
      <img src="/images/login/People-welcome.png" alt="Automation Pro" class="clues">
      <img src="/images/login/steps.svg" alt="" width="751">
      <!-- <a href="https://book.cluesfortheclueless.com/" class="downbtn" target="blank">Download Free</a> -->
      <p class="left-link"><a href="https://www.benchmarkemail.com/product-updates/">What’s New at Benchmark?</a></p>
    </aside>
  </div>
  <script src="/style/js/fn-global-rsp.min.js"></script>
  <script charset="ISO-8859-1" src="https://fast.wistia.com/static/popover-v1.js"></script>
  <script src="/style/js/jquery.magnific-popup.min.js"></script>
  <link href="/css/magnific-popup.css" rel="stylesheet" type="text/css">
  <script type="text/javascript">
    function getParameters(name) {
      var url = window.location.href;
      url = url.toLowerCase();
      name = name.replace(/[\[\]]/g, "\\$&").toLowerCase();
      var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
        results = regex.exec(url);
      if (!results) return null;
      if (!results[2]) return '';
      try {
        return decodeURIComponent(results[2].replace(/\+/g, " "));
      } catch (e) {
        return results[2];
      }
    }
    var checkUsername = false,
      checkPassword = false,
      checkCaptcha = false,
      validate_Captcha = false;
    var LOGIN_REQUIRED = "Please enter your login";
    var PASSWORD_REQUIRED = "Please enter your password";
    var PASSWORD_4CHARS = "At least 4 characters required";
    var VERIFICATION_REQUIRED = "Verification code is required";
    $(document).ready(function() {
      $("#captcha").val("");
      $.post("/xdc/json/logingeneratecaptcha", {
        "login": $("#login").val()
      }, function(resText) {
        if (resText != "") {
          validate_Captcha = true;
          $(".lcaptcha").show();
          $("#dvlcaptcha").show();
          tokens = resText.split("_");
          $("#captcha-token").val(resText);
          $("#imgCaptcha").attr("src", "/Captcha?" + tokens[0]);
        } else {
          $(".lcaptcha").hide();
          $("#dvlcaptcha").hide();
          validate_Captcha = false;
        }
      });
      $("#login").blur(function() {
        if (!validateRequiredControl(this, LOGIN_REQUIRED)) {
          checkUsername = true;
        }
      });
      $("#login").keyup(function() {
        if (checkUsername) {
          validateRequiredControl(this, LOGIN_REQUIRED);
        }
      });
      $("#password").blur(function() {
        hideErrorMessages(this);
        if (!validateRequiredControl(this, PASSWORD_REQUIRED)) {
          checkPassword = true;
        } else {
          if (!validateFieldLength(this, PASSWORD_4CHARS, 4)) {
            checkPassword = true;
          }
        }
      });
      $("#password").keyup(function() {
        if (checkPassword) {
          hideErrorMessages(this);
          if (validateRequiredControl(this, PASSWORD_REQUIRED)) {
            validateFieldLength(this, PASSWORD_4CHARS, 4);
          }
        }
      });
      $("#captcha").blur(function() {
        if (checkCaptcha) {
          hideErrorMessages(this);
          validateRequiredControl(this, VERIFICATION_REQUIRED)
        }
      });
      $("#captcha").keyup(function() {
        if (checkCaptcha) {
          hideErrorMessages(this);
          validateRequiredControl(this, VERIFICATION_REQUIRED)
        }
      });
      $("#login").val(getCookie("u"));
      if ($("#login").val() == "") {
        $("#remember-login").attr("checked", false);
      }
    });
  </script>
  <script type="text/javascript">
    function validate() {
      var user = validateRequiredControl("#login", LOGIN_REQUIRED);
      var password = validateRequiredControl("#password", PASSWORD_REQUIRED);
      var captcha = validateRequiredControl("#captcha", VERIFICATION_REQUIRED);
      if (password) {
        password = validateFieldLength("#password", PASSWORD_4CHARS);
      }
      if (!user) {
        checkUsername = true;
      }
      if (!password) {
        checkPassword = true;
      }
      if (validate_Captcha) {
        if (!captcha) {
          checkCaptcha = true;
        }
      } else {
        captcha = true;
      }
      return (user && password && captcha);
    }

    function onClick() {
      if (validate()) {
        doRegister();
      }
    }

    function doRegister() {
      terms_checked = ($("#remember-login").is(':checked')) ? "1" : "0";
      if (terms_checked == "1") {
        setCookie("u", $("#login").val());
      }
      $('.ladda-button').attr('data-loading', '');
      $.post("/xdc/json/authenticate_userv2", {
        "login": $("#login").val(),
        "redir": getParameters("redir"),
        "password": $("#password").val(),
        "remember-login": terms_checked,
        "language": "",
        "captcha": $("#captcha").val(),
        "captcha-token": $("#captcha-token").val()
      }, function(resText) {
        var jsonobj = $.parseJSON(resText);
        if (jsonobj.status <= 0) {
          $('.ladda-button').removeAttr('data-loading');
          if (jsonobj.status == -100) {
            showErrorMessages($("#captcha"), jsonobj.error);
          } else {
            $(".info-msg").show();
          }
          $.post("/xdc/json/logingeneratecaptcha", {
            "login": $("#login").val()
          }, function(resText) {
            if (resText != "") {
              $(".lcaptcha").show();
              $("#dvlcaptcha").show();
              validate_Captcha = true;
              checkCaptcha = true;
              tokens = resText.split("_");
              $("#captcha-token").val(resText);
              $("#imgCaptcha").attr("src", "/Captcha?" + tokens[0]);
            } else {
              $(".lcaptcha").hide();
              $("#dvlcaptcha").hide();
              validate_Captcha = false;
            }
          });
        } else {
          location.href = jsonobj.redirectURL;
        }
      });
    }
    $('#password').keypress(function(e) {
      if (e.which == 13) {
        doRegister();
      }
    });
  </script>
  <script type="text/javascript">
    function showErrorMessages(ctrl, errorMessage) {
      $(ctrl).siblings("label").removeClass("error").addClass("error");
      $(ctrl).removeClass("error").addClass("error");
      if ($(ctrl).next("p.error-msg").length == 0) {
        $(ctrl).after("<p class=\"error-msg\" style=\"font-size: 12px;\">" + errorMessage + "</p>");
      }
    }

    function hideErrorMessages(ctrl) {
      $(ctrl).siblings("label").removeClass("error");
      $(ctrl).siblings("label").removeAttr("class");
      $(ctrl).removeClass("error");
      $(ctrl).next("p.error-msg").remove();
    }

    function validateRequiredControl(ctrl, errorMessage) {
      var valid = true;
      if ($.trim($(ctrl).val()) == "") {
        showErrorMessages(ctrl, errorMessage);
        valid = false;
      } else {
        hideErrorMessages(ctrl);
      }
      return valid;
    }

    function validateFieldLength(ctrl, errorMessage, length) {
      var valid = true;
      if ($.trim($(ctrl).val()).length < length) {
        valid = false;
        showErrorMessages(ctrl, errorMessage);
      } else {
        hideErrorMessages(ctrl);
      }
      return valid;
    }

    function setCookie(key, value) {
      var expires = new Date();
      expires.setTime(expires.getTime() + (1 * 24 * 60 * 60 * 1000));
      document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();
    }

    function getCookie(cname) {
      var name = cname + "=";
      var ca = document.cookie.split(';');
      for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1);
        if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
      }
      return "";
    }
  </script>
  <!-- Attribution App visitor tracking -->
  <script type="text/javascript">
    ! function() {
      var Attribution = window.Attribution = window.Attribution || [];
      if (!Attribution.initialize)
        if (Attribution.invoked) window.console && console.error && console.error("Attribution snippet included twice.");
        else {
          Attribution.invoked = !0, Attribution.methods = ["setAnonymousId", "trackSubmit", "trackClick", "initialize", "trackLink", "trackForm", "pageview", "identify", "reset", "group", "track", "ready", "alias", "debug", "page", "once", "off",
            "on"
          ], Attribution.factory = function(e) {
            return function() {
              var t = Array.prototype.slice.call(arguments);
              return t.unshift(e), Attribution.push(t), Attribution
            }
          };
          for (var t = 0; t < Attribution.methods.length; t++) {
            var e = Attribution.methods[t];
            Attribution[e] = Attribution.factory(e)
          }
          Attribution.load = function(t, e) {
            var i = document.createElement("script");
            i.type = "text/javascript", i.async = !0, i.src = "https://scripts.attributionapp.com/v2/attribution.js";
            var r = document.getElementsByTagName("script")[0];
            r.parentNode.insertBefore(i, r), e = e || {}, e.projectId = t, Attribution._loadOptions = e
          }, Attribution.SNIPPET_VERSION = "4.1.0";
          Attribution.load("QVukpufb");
          Attribution.page();
        }
    }();
  </script>
  <!-- Attribution App visitor tracking -->
</form>

Text Content

WELCOME BACK.
COME ON IN.

Don't already have an account ? Create one free.

There is no account with that login/password

Login Password Forgot?
Verification code



Sign In

Remember Me

Privacy & Terms of Service

See what's new from Benchmark Email on our Updates page.

Available in all Pro Plans

Greet all of your new subscribers automatically using our Welcome Automation
Template in Automation Pro.

What’s New at Benchmark?