2.7 sec in total
122 ms
2.2 sec
381 ms
Visit elektroniklab.co.in now to see the best up-to-date Elektronik Lab content and also check out these interesting facts you probably never knew about elektroniklab.co.in
INNOVATIVE APPROACH, RELIABLE SERVICES READ MORE WELCOME TO ELEKTRONIK LAB One-stop solution provider for all your Communication, Navigations & Surveillance needs Elektronik Lab, which is a trademark-...
Visit elektroniklab.co.inWe analyzed Elektroniklab.co.in page load time and found that the first response time was 122 ms and then it took 2.5 sec to load all DOM resources and completely render a web page. This is a poor result, as 50% of websites can load faster.
elektroniklab.co.in performance score
name
value
score
weighting
Value3.8 s
27/100
10%
Value11.0 s
0/100
25%
Value11.7 s
4/100
10%
Value950 ms
29/100
30%
Value0.001
100/100
15%
Value12.6 s
14/100
10%
122 ms
725 ms
30 ms
61 ms
122 ms
Our browser made a total of 120 requests to load all elements on the main page. We found that 82% of them (98 requests) were addressed to the original Elektroniklab.co.in, 10% (12 requests) were made to and 8% (9 requests) were made to Fonts.gstatic.com. The less responsive or slowest element that took the longest time to load (725 ms) belongs to the original domain Elektroniklab.co.in.
Page size can be reduced by 2.5 MB (61%)
4.2 MB
1.6 MB
In fact, the total size of Elektroniklab.co.in main page is 4.2 MB. This result falls beyond the top 1M of websites and identifies a large and not optimized web page that may take ages to load. 75% of websites need less resources to load and that’s why Accessify’s recommendations for optimization and resource minification can be helpful for this project. HTML takes 2.2 MB which makes up the majority of the site volume.
Potential reduce by 1.9 MB
HTML content can be minified and compressed by a website’s server. The most efficient way is to compress content using GZIP which reduces data amount travelling through the network between server and browser. HTML code on this page is well minified. It is highly recommended that content of this web page should be compressed using GZIP, as it can save up to 1.9 MB or 86% of the original size.
Potential reduce by 684.6 kB
Image size optimization can help to speed up a website loading time. The chart above shows the difference between the size before and after optimization. Obviously, Elektronik Lab needs image optimization as it can save up to 684.6 kB or 39% of the original volume. The most popular and efficient tools for JPEG and PNG image optimization are Jpegoptim and PNG Crush.
Potential reduce by 1.8 kB
It’s better to minify JavaScript in order to improve website performance. The diagram shows the current total size of all JavaScript files against the prospective JavaScript size after its minification and compression. This website has mostly compressed JavaScripts.
Number of requests can be reduced by 30 (35%)
86
56
The browser has sent 86 CSS, Javascripts, AJAX and image requests in order to completely render the main page of Elektronik Lab. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 31 to 1 for JavaScripts and as a result speed up the page load time.
elektroniklab.co.in
122 ms
www.elektroniklab.co.in
725 ms
css
30 ms
post-1659.css
61 ms
post-1448.css
122 ms
post-2569.css
166 ms
post-1893.css
172 ms
jquery.min.js
222 ms
jquery-migrate.min.js
175 ms
autoptimize_single_84e68eb14bee695cad62090c9b454380.js
167 ms
v4-shims.min.js
180 ms
javascript;base64,CiAgICAgICAgICAgIGZ1bmN0aW9uIHN0b3BQcm50U2NyKCkgewogICAgICAgICAgICAgICAgdmFyIGlucEZsZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7CiAgICAgICAgICAgICAgICBpbnBGbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsICJBY2Nlc3MgRGVuaWVkIik7CiAgICAgICAgICAgICAgICBpbnBGbGQuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIwIik7CiAgICAgICAgICAgICAgICBpbnBGbGQuc3R5bGUuaGVpZ2h0ID0gIjBweCI7CiAgICAgICAgICAgICAgICBpbnBGbGQuc3R5bGUud2lkdGggPSAiMHB4IjsKICAgICAgICAgICAgICAgIGlucEZsZC5zdHlsZS5ib3JkZXIgPSAiMHB4IjsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wRmxkKTsKICAgICAgICAgICAgICAgIGlucEZsZC5zZWxlY3QoKTsKICAgICAgICAgICAgICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCJjb3B5Iik7CiAgICAgICAgICAgICAgICBpbnBGbGQucmVtb3ZlKGlucEZsZCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIChmdW5jdGlvbiAoJCkgewogICAgICAgICAgICAgICAgJ3VzZSBzdHJpY3QnOwogICAgICAgICAgICAgICAgJChmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgbGV0IGFsbCA9ICQoJyonKS5ub3QoJ3NjcmlwdCwgbWV0YSwgbGluaywgc3R5bGUsIG5vc2NyaXB0LCB0aXRsZScpLAogICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwID0gJCgnI2F5c190b29sdGlwJyksCiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBDbGFzcyA9ICJtb3VzZSI7CiAgICAgICAgICAgICAgICAgICAgaWYgKHRvb2x0aXBDbGFzcyA9PSAibW91c2UiIHx8IHRvb2x0aXBDbGFzcyA9PSAibW91c2VfZmlyc3RfcG9zIikgewogICAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbignbW91c2Vtb3ZlJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBjb3JkaW5hdGVfeCA9IGUucGFnZVg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgY29yZGluYXRlX3kgPSBlLnBhZ2VZOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHdpbmRvd1dpZHRoID0gJCh3aW5kb3cpLndpZHRoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29yZGluYXRlX3kgPCB0b29sdGlwLm91dGVySGVpZ2h0KCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwLmNzcyh7J3RvcCc6IChjb3JkaW5hdGVfeSArIDEwKSArICdweCd9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcC5jc3Moeyd0b3AnOiAoY29yZGluYXRlX3kgLSB0b29sdGlwLm91dGVySGVpZ2h0KCkpICsgJ3B4J30pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvcmRpbmF0ZV94ID4gKHdpbmRvd1dpZHRoIC0gdG9vbHRpcC5vdXRlcldpZHRoKCkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcC5jc3MoeydsZWZ0JzogKGNvcmRpbmF0ZV94IC0gdG9vbHRpcC5vdXRlcldpZHRoKCkpICsgJ3B4J30pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwLmNzcyh7J2xlZnQnOiAoY29yZGluYXRlX3ggKyA1KSArICdweCd9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXAuYWRkQ2xhc3ModG9vbHRpcENsYXNzKTsKICAgICAgICAgICAgICAgICAgICB9CiAgICAJCQkJICAgICAgICAgICAgICAgICAgICAkKHdpbmRvdykub24oJ2tleXVwJywgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGtleUNvZGUgPSBlLmtleUNvZGUgPyBlLmtleUNvZGUgOiBlLndoaWNoOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5Q29kZSA9PSA0NCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcFBybnRTY3IoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgIAkJCQkKCiAgICAJCQkJICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbignY29udGV4dG1lbnUnLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gJChldmVudC50YXJnZXQpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRhcmdldC5pcygiIikgJiYgKCF0YXJnZXQuaXMoIjEiKSAmJiAhdGFyZ2V0LmlzKCJpbWciKSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdCA9IGUgfHwgd2luZG93LmV2ZW50OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG4gPSB0LnRhcmdldCB8fCB0LnNyY0VsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobi5ub2RlTmFtZSAhPT0gIkEiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgIAkgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbignY29udGV4dG1lbnUnLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0ID0gJChldmVudC50YXJnZXQpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAodGFyZ2V0LmlzKCJpbWciKSB8fCB0YXJnZXQuaXMoImRpdi5heXNfdG9vbHRpcF9jbGFzcyIpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdCA9IGUgfHwgd2luZG93LmV2ZW50OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG4gPSB0LnRhcmdldCB8fCB0LnNyY0VsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobi5ub2RlTmFtZSAhPT0gIkEiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICAKICAgIAkgICAgICAgICAgICAKICAgIAkJCQkgICAgICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdkcmFnc3RhcnQnLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0YXJnZXQgPSAkKGV2ZW50LnRhcmdldCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGFyZ2V0LmlzKCIiKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgCQkJCQogICAgCQkJCQogICAgICAgICAgICAgICAgICAgICQod2luZG93KS5vbigna2V5ZG93bicsIGZ1bmN0aW9uIChldmVudCkgewogICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2NjcF9zZWxPYmogPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjaGVja19zZWxlY3RvcnMgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXNjY3Bfc2VsT2JqLnJhbmdlQ291bnQgPCAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2NjcF9zZWxSYW5nZSA9IHNjY3Bfc2VsT2JqLmdldFJhbmdlQXQoMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2NjcF9zZWxlY3Rpb25fc2VsZWN0b3IgPSBzY2NwX3NlbFJhbmdlLnN0YXJ0Q29udGFpbmVyLnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja19zZWxlY3RvcnMgPSAhJChzY2NwX3NlbGVjdGlvbl9zZWxlY3RvcikuaXMoIiIpOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2tfc2VsZWN0b3JzKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXNPcGVyYSA9IChCcm93c2VyRGV0ZWN0LmJyb3dzZXIgPT09ICJPcGVyYSIpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc0ZpcmVmb3ggPSAoQnJvd3NlckRldGVjdC5icm93c2VyID09PSAnRmlyZWZveCcpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpc1NhZmFyaSA9IChCcm93c2VyRGV0ZWN0LmJyb3dzZXIgPT09ICdTYWZhcmknKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgaXNJRSA9IChCcm93c2VyRGV0ZWN0LmJyb3dzZXIgPT09ICdFeHBsb3JlcicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzQ2hyb21lID0gKEJyb3dzZXJEZXRlY3QuYnJvd3NlciA9PT0gJ0Nocm9tZScpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlzTW96aWxsYSA9IChCcm93c2VyRGV0ZWN0LmJyb3dzZXIgPT09ICdNb3ppbGxhJyk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEJyb3dzZXJEZXRlY3QuT1MgPT09ICdXaW5kb3dzJykgewogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzQ2hyb21lKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQuc2hpZnRLZXkpICYmICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDczIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA3NCB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNjggfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDY3KSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNGaXJlZm94KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQuc2hpZnRLZXkpICYmICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDczIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA3NCB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNjcgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDc1IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA2OSkpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSAxMTggfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChldmVudC5rZXlDb2RlID09PSAxMTIgJiYgZXZlbnQuc2hpZnRLZXkpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXZlbnQua2V5Q29kZSA9PT0gMTE1ICYmIGV2ZW50LnNoaWZ0S2V5KSB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LmtleUNvZGUgPT09IDExOCAmJiBldmVudC5zaGlmdEtleSkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChldmVudC5rZXlDb2RlID09PSAxMjAgJiYgZXZlbnQuc2hpZnRLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3BlcmEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgoZXZlbnQuY3RybEtleSAmJiBldmVudC5zaGlmdEtleSkgJiYgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNzMgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDc0IHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA2NyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gODggfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDY5KSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNJRSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDEyMyAmJiBldmVudC5zaGlmdEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzTW96aWxsYSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQua2V5Q29kZSA9PT0gNzMpIHx8IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50LmFsdEtleSAmJiBldmVudC5rZXlDb2RlID09PSA2OCkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODMgJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDY1ICYmIGV2ZW50LmN0cmxLZXkpKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSA2NyAmJiBldmVudC5jdHJsS2V5ICYmICFldmVudC5zaGlmdEtleSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODYgJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDg4ICYmIGV2ZW50LmN0cmxLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODUgJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDEyMyB8fCAoZXZlbnQua2V5Q29kZSA9PT0gMTIzICYmIGV2ZW50LnNoaWZ0S2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChCcm93c2VyRGV0ZWN0Lk9TID09PSAnTGludXgnKSB7CiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNDaHJvbWUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChldmVudC5jdHJsS2V5ICYmIGV2ZW50LnNoaWZ0S2V5KSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChldmVudC5rZXlDb2RlID09PSA3MyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA3NCB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA2NwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChldmVudC5jdHJsS2V5ICYmIGV2ZW50LmtleUNvZGUgPT09IDg1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNGaXJlZm94KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQuc2hpZnRLZXkpICYmIChldmVudC5rZXlDb2RlID09PSA3MyB8fCBldmVudC5rZXlDb2RlID09PSA3NCB8fCBldmVudC5rZXlDb2RlID09PSA2NyB8fCBldmVudC5rZXlDb2RlID09PSA3NSB8fCBldmVudC5rZXlDb2RlID09PSA2OSkpIHx8IGV2ZW50LmtleUNvZGUgPT09IDExOCB8fCBldmVudC5rZXlDb2RlID09PSAxMTYgfHwgKGV2ZW50LmtleUNvZGUgPT09IDExMiAmJiBldmVudC5zaGlmdEtleSkgfHwgKGV2ZW50LmtleUNvZGUgPT09IDExNSAmJiBldmVudC5zaGlmdEtleSkgfHwgKGV2ZW50LmtleUNvZGUgPT09IDExOCAmJiBldmVudC5zaGlmdEtleSkgfHwgKGV2ZW50LmtleUNvZGUgPT09IDEyMCAmJiBldmVudC5zaGlmdEtleSkgfHwgKGV2ZW50LmtleUNvZGUgPT09IDg1ICYmIGV2ZW50LmN0cmxLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzT3BlcmEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgoZXZlbnQuY3RybEtleSAmJiBldmVudC5zaGlmdEtleSkgJiYgKGV2ZW50LmtleUNvZGUgPT09IDczIHx8IGV2ZW50LmtleUNvZGUgPT09IDc0IHx8IGV2ZW50LmtleUNvZGUgPT09IDY3IHx8IGV2ZW50LmtleUNvZGUgPT09IDg4IHx8IGV2ZW50LmtleUNvZGUgPT09IDY5KSkgfHwgKGV2ZW50LmN0cmxLZXkgJiYgZXZlbnQua2V5Q29kZSA9PT0gODUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDgzICYmIGV2ZW50LmN0cmxLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDY1ICYmIGV2ZW50LmN0cmxLZXkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gNjcgJiYgZXZlbnQuY3RybEtleSAmJiAhZXZlbnQuc2hpZnRLZXkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDg2ICYmIGV2ZW50LmN0cmxLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4OCAmJiBldmVudC5jdHJsS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODUgJiYgZXZlbnQuY3RybEtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDEyMyB8fCAoZXZlbnQua2V5Q29kZSA9PT0gMTIzICYmIGV2ZW50LnNoaWZ0S2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChCcm93c2VyRGV0ZWN0Lk9TID09PSAnTWFjJykgewogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzQ2hyb21lIHx8IGlzU2FmYXJpIHx8IGlzT3BlcmEgfHwgaXNGaXJlZm94KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5tZXRhS2V5ICYmICgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDczIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5rZXlDb2RlID09PSA3NCB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gNjkgfHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LmtleUNvZGUgPT09IDc1KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4MyAmJiBldmVudC5tZXRhS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gNjUgJiYgZXZlbnQubWV0YUtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDY3ICYmIGV2ZW50Lm1ldGFLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3Rvb2x0aXAoMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgIAkJCQkJCQogICAgICAgIAkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChldmVudC5rZXlDb2RlID09PSA4NiAmJiBldmVudC5tZXRhS2V5KSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fcGxheSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZXZlbnQua2V5Q29kZSA9PT0gODggJiYgZXZlbnQubWV0YUtleSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJCiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoKGV2ZW50LmtleUNvZGUgPT09IDg1ICYmIGV2ZW50Lm1ldGFLZXkpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgxICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkKICAgICAgICAJCQkJCQkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAJCQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSAxMjMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd190b29sdGlwKDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgCQkJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBkaXNhYmxlU2VsZWN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBlLm9uc2VsZWN0c3RhcnQgIT09ICJ1bmRlZmluZWQiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5vbnNlbGVjdHN0YXJ0ID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCggKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19wbGF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgZS5zdHlsZS5Nb3pVc2VyU2VsZWN0ICE9PSAidW5kZWZpbmVkIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3R5bGUuTW96VXNlclNlbGVjdCA9ICJub25lIjsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBlLm9ubW91c2Vkb3duID0gZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfdG9vbHRpcCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX3BsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3R5bGUuY3Vyc29yID0gImRlZmF1bHQiCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB2YXIgbXNnX2NvdW50ID0gMTsgCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2hvd190b29sdGlwKG1lc3MpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lc3MgJiYgbXNnX2NvdW50ID09IDEpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0b29sdGlwQ2xhc3MgPT0gJ21vdXNlX2ZpcnN0X3BvcycpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCgnI2F5c190b29sdGlwMicpLmxlbmd0aCA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2F5c190b29sdGlwMicpLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdG9vbHRpcDIgPSB0b29sdGlwLmNsb25lKCkucHJvcCgnaWQnLCdheXNfdG9vbHRpcDInKS5pbnNlcnRCZWZvcmUodG9vbHRpcCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2F5c190b29sdGlwMicpLmFkZENsYXNzKCdheXNfdG9vbHRpcF9jbGFzcycpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXAyLmNzcyh7J2Rpc3BsYXknOiAndGFibGUnfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2F5c190b29sdGlwJykuZmFkZU91dCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwMi5yZW1vdmUoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAxMDAwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXAuY3NzKHsnZGlzcGxheSc6ICd0YWJsZSd9KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnI2F5c190b29sdGlwJykuZmFkZU91dCg1MDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEwMDApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gYXVkaW9fcGxheShhdWRpbykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXVkaW8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBhdWRpbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY2NwX3B1YmxpY19hdWRpbyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGF1ZGlvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW8uY3VycmVudFRpbWUgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvLnBsYXkoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgoKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9KShqUXVlcnkpOwogICAgICAgICAgICB2YXIgY29weXJpZ2h0VGV4dCA9ICcnOwogICAgICAgICAgICB2YXIgY29weXJpZ2h0SW5jbHVkZVVybCA9ICcnOwogICAgICAgICAgICB2YXIgY29weXJpZ2h0V29yZCA9ICcnOwogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgZnVuY3Rpb24gY29weVRvQ2xpcGJvYXJkKHRleHQpIHsKICAgICAgICAgICAgICAgIHZhciB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7CiAgICAgICAgICAgICAgICB0ZXh0YXJlYS50ZXh0Q29udGVudCA9IHRleHQ7CiAgICAgICAgICAgICAgICB0ZXh0YXJlYS5zdHlsZS5wb3NpdGlvbiA9ICJmaXhlZCI7CiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRhcmVhKTsKICAgICAgICAgICAgICAgIHRleHRhcmVhLnNlbGVjdCgpOwogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gZG9jdW1lbnQuZXhlY0NvbW1hbmQoImN1dCIpOwogICAgICAgICAgICAgICAgfSBjYXRjaCAoZXgpIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oIkNvcHkgdG8gY2xpcGJvYXJkIGZhaWxlZC4iLCBleCk7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRhcmVhKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgZnVuY3Rpb24gaHRtbERlY29kZShpbnB1dCkgewogICAgICAgICAgICAgIHZhciBkb2MgPSBuZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGlucHV0LCAidGV4dC9odG1sIik7CiAgICAgICAgICAgICAgcmV0dXJuIGRvYy5kb2N1bWVudEVsZW1lbnQudGV4dENvbnRlbnQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHZhciBCcm93c2VyRGV0ZWN0ID0gewogICAgICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIHRoaXMuYnJvd3NlciA9IHRoaXMuc2VhcmNoU3RyaW5nKHRoaXMuZGF0YUJyb3dzZXIpIHx8ICJBbiB1bmtub3duIGJyb3dzZXIiOwogICAgICAgICAgICAgICAgICAgIHRoaXMudmVyc2lvbiA9IHRoaXMuc2VhcmNoVmVyc2lvbihuYXZpZ2F0b3IudXNlckFnZW50KSB8fCB0aGlzLnNlYXJjaFZlcnNpb24obmF2aWdhdG9yLmFwcFZlcnNpb24pIHx8ICJhbiB1bmtub3duIHZlcnNpb24iOwogICAgICAgICAgICAgICAgICAgIHRoaXMuT1MgPSB0aGlzLnNlYXJjaFN0cmluZyh0aGlzLmRhdGFPUykgfHwgImFuIHVua25vd24gT1MiOwogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHNlYXJjaFN0cmluZzogZnVuY3Rpb24gKGRhdGEpIHsKICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFTdHJpbmcgPSBkYXRhW2ldLnN0cmluZzsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFQcm9wID0gZGF0YVtpXS5wcm9wOwogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZlcnNpb25TZWFyY2hTdHJpbmcgPSBkYXRhW2ldLnZlcnNpb25TZWFyY2ggfHwgZGF0YVtpXS5pZGVudGl0eTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGFTdHJpbmcpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkYXRhU3RyaW5nLmluZGV4T2YoZGF0YVtpXS5zdWJTdHJpbmcpICE9PSAtMSkgcmV0dXJuIGRhdGFbaV0uaWRlbnRpdHk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YVByb3ApIHJldHVybiBkYXRhW2ldLmlkZW50aXR5OwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzZWFyY2hWZXJzaW9uOiBmdW5jdGlvbiAoZGF0YVN0cmluZykgewogICAgICAgICAgICAgICAgICAgIHZhciBpbmRleCA9IGRhdGFTdHJpbmcuaW5kZXhPZih0aGlzLnZlcnNpb25TZWFyY2hTdHJpbmcpOwogICAgICAgICAgICAgICAgICAgIGlmIChpbmRleCA9PT0gLTEpIHJldHVybjsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGFyc2VGbG9hdChkYXRhU3RyaW5nLnN1YnN0cmluZyhpbmRleCArIHRoaXMudmVyc2lvblNlYXJjaFN0cmluZy5sZW5ndGggKyAxKSk7CiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgZGF0YUJyb3dzZXI6IFt7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIkNocm9tZSIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJDaHJvbWUiCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIk9tbmlXZWIiLAogICAgICAgICAgICAgICAgICAgIHZlcnNpb25TZWFyY2g6ICJPbW5pV2ViLyIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJPbW5pV2ViIgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnZlbmRvciwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJBcHBsZSIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJTYWZhcmkiLAogICAgICAgICAgICAgICAgICAgIHZlcnNpb25TZWFyY2g6ICJWZXJzaW9uIgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHByb3A6IHdpbmRvdy5vcGVyYSwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIk9wZXJhIiwKICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uU2VhcmNoOiAiVmVyc2lvbiIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci52ZW5kb3IsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiaUNhYiIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJpQ2FiIgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnZlbmRvciwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJLREUiLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiS29ucXVlcm9yIgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnVzZXJBZ2VudCwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJGaXJlZm94IiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIkZpcmVmb3giCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudmVuZG9yLAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIkNhbWlubyIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJDYW1pbm8iCiAgICAgICAgICAgICAgICB9LCB7IC8vIGZvciBuZXdlciBOZXRzY2FwZXMgKDYrKQogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnVzZXJBZ2VudCwKICAgICAgICAgICAgICAgICAgICBzdWJTdHJpbmc6ICJOZXRzY2FwZSIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJOZXRzY2FwZSIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiTVNJRSIsCiAgICAgICAgICAgICAgICAgICAgaWRlbnRpdHk6ICJFeHBsb3JlciIsCiAgICAgICAgICAgICAgICAgICAgdmVyc2lvblNlYXJjaDogIk1TSUUiCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIkdlY2tvIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIk1vemlsbGEiLAogICAgICAgICAgICAgICAgICAgIHZlcnNpb25TZWFyY2g6ICJydiIKICAgICAgICAgICAgICAgIH0sIHsgLy8gZm9yIG9sZGVyIE5ldHNjYXBlcyAoNC0pCiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IudXNlckFnZW50LAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIk1vemlsbGEiLAogICAgICAgICAgICAgICAgICAgIGlkZW50aXR5OiAiTmV0c2NhcGUiLAogICAgICAgICAgICAgICAgICAgIHZlcnNpb25TZWFyY2g6ICJNb3ppbGxhIgogICAgICAgICAgICAgICAgfV0sCiAgICAgICAgICAgICAgICBkYXRhT1M6IFt7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IucGxhdGZvcm0sCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiV2luIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIldpbmRvd3MiCiAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgc3RyaW5nOiBuYXZpZ2F0b3IucGxhdGZvcm0sCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiTWFjIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIk1hYyIKICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICBzdHJpbmc6IG5hdmlnYXRvci51c2VyQWdlbnQsCiAgICAgICAgICAgICAgICAgICAgc3ViU3RyaW5nOiAiaVBob25lIiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogImlQaG9uZS9pUG9kIgogICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgIHN0cmluZzogbmF2aWdhdG9yLnBsYXRmb3JtLAogICAgICAgICAgICAgICAgICAgIHN1YlN0cmluZzogIkxpbnV4IiwKICAgICAgICAgICAgICAgICAgICBpZGVudGl0eTogIkxpbnV4IgogICAgICAgICAgICAgICAgfV0KICAgICAgICAgICAgfTsKICAgICAgICAgICAgQnJvd3NlckRldGVjdC5pbml0KCk7CiAgICAgICAgLy8gfSwgZmFsc2UpOwogICAg
7 ms
javascript;base64,CnZhciBhc3RyYSA9IHsiYnJlYWtfcG9pbnQiOiI5MjEiLCJpc1J0bCI6IiIsImlzX3Njcm9sbF90b19pZCI6IiIsImlzX3Njcm9sbF90b190b3AiOiIiLCJpc19oZWFkZXJfZm9vdGVyX2J1aWxkZXJfYWN0aXZlIjoiMSJ9Owo=
6 ms
frontend.min.js
387 ms
autoptimize_single_f10f10368bb1407fe7a0b392952ee5ab.js
388 ms
jarallax.min.js
387 ms
parallax.min.js
388 ms
javascript;base64,CnZhciBIYXBweUxvY2FsaXplID0geyJhamF4X3VybCI6Imh0dHBzOlwvXC93d3cuZWxla3Ryb25pa2xhYi5jby5pblwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwibm9uY2UiOiJhYzdhYmM4NjZhIiwicGRmX2pzX2xpYiI6Imh0dHBzOlwvXC93d3cuZWxla3Ryb25pa2xhYi5jby5pblwvd3AtY29udGVudFwvcGx1Z2luc1wvaGFwcHktZWxlbWVudG9yLWFkZG9uc1wvYXNzZXRzXC92ZW5kb3JcL3BkZmpzXC9saWIifTsK
6 ms
happy-addons.min.js
388 ms
autoptimize_single_94d041d462db321cdb888066586f2068.js
388 ms
javascript;base64,CgkJdmFyIGVsZW1lbnRza2l0ID0gewoJCQlyZXN0dXJsOiAnaHR0cHM6Ly93d3cuZWxla3Ryb25pa2xhYi5jby5pbi93cC1qc29uL2VsZW1lbnRza2l0L3YxLycsCgkJfQoKCQkK
6 ms
autoptimize_single_27405af5f1692473fafa26151a67c55d.js
396 ms
webpack.runtime.min.js
389 ms
frontend-modules.min.js
390 ms
waypoints.min.js
389 ms
core.min.js
390 ms
javascript;base64,CnZhciBlbGVtZW50b3JGcm9udGVuZENvbmZpZyA9IHsiZW52aXJvbm1lbnRNb2RlIjp7ImVkaXQiOmZhbHNlLCJ3cFByZXZpZXciOmZhbHNlLCJpc1NjcmlwdERlYnVnIjpmYWxzZX0sImkxOG4iOnsic2hhcmVPbkZhY2Vib29rIjoiU2hhcmUgb24gRmFjZWJvb2siLCJzaGFyZU9uVHdpdHRlciI6IlNoYXJlIG9uIFR3aXR0ZXIiLCJwaW5JdCI6IlBpbiBpdCIsImRvd25sb2FkIjoiRG93bmxvYWQiLCJkb3dubG9hZEltYWdlIjoiRG93bmxvYWQgaW1hZ2UiLCJmdWxsc2NyZWVuIjoiRnVsbHNjcmVlbiIsInpvb20iOiJab29tIiwic2hhcmUiOiJTaGFyZSIsInBsYXlWaWRlbyI6IlBsYXkgVmlkZW8iLCJwcmV2aW91cyI6IlByZXZpb3VzIiwibmV4dCI6Ik5leHQiLCJjbG9zZSI6IkNsb3NlIn0sImlzX3J0bCI6ZmFsc2UsImJyZWFrcG9pbnRzIjp7InhzIjowLCJzbSI6NDgwLCJtZCI6NzY4LCJsZyI6MTAyNSwieGwiOjE0NDAsInh4bCI6MTYwMH0sInJlc3BvbnNpdmUiOnsiYnJlYWtwb2ludHMiOnsibW9iaWxlIjp7ImxhYmVsIjoiTW9iaWxlIFBvcnRyYWl0IiwidmFsdWUiOjc2NywiZGVmYXVsdF92YWx1ZSI6NzY3LCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjp0cnVlfSwibW9iaWxlX2V4dHJhIjp7ImxhYmVsIjoiTW9iaWxlIExhbmRzY2FwZSIsInZhbHVlIjo4ODAsImRlZmF1bHRfdmFsdWUiOjg4MCwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ZmFsc2V9LCJ0YWJsZXQiOnsibGFiZWwiOiJUYWJsZXQgUG9ydHJhaXQiLCJ2YWx1ZSI6MTAyNCwiZGVmYXVsdF92YWx1ZSI6MTAyNCwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6dHJ1ZX0sInRhYmxldF9leHRyYSI6eyJsYWJlbCI6IlRhYmxldCBMYW5kc2NhcGUiLCJ2YWx1ZSI6MTIwMCwiZGVmYXVsdF92YWx1ZSI6MTIwMCwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ZmFsc2V9LCJsYXB0b3AiOnsibGFiZWwiOiJMYXB0b3AiLCJ2YWx1ZSI6MTM2NiwiZGVmYXVsdF92YWx1ZSI6MTM2NiwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ZmFsc2V9LCJ3aWRlc2NyZWVuIjp7ImxhYmVsIjoiV2lkZXNjcmVlbiIsInZhbHVlIjoyNDAwLCJkZWZhdWx0X3ZhbHVlIjoyNDAwLCJkaXJlY3Rpb24iOiJtaW4iLCJpc19lbmFibGVkIjpmYWxzZX19fSwidmVyc2lvbiI6IjMuMTMuMiIsImlzX3N0YXRpYyI6ZmFsc2UsImV4cGVyaW1lbnRhbEZlYXR1cmVzIjp7ImVfZG9tX29wdGltaXphdGlvbiI6dHJ1ZSwiZV9vcHRpbWl6ZWRfYXNzZXRzX2xvYWRpbmciOnRydWUsImVfb3B0aW1pemVkX2Nzc19sb2FkaW5nIjp0cnVlLCJhMTF5X2ltcHJvdmVtZW50cyI6dHJ1ZSwiYWRkaXRpb25hbF9jdXN0b21fYnJlYWtwb2ludHMiOnRydWUsImNvbnRhaW5lciI6dHJ1ZSwiZV9zd2lwZXJfbGF0ZXN0Ijp0cnVlLCJ0aGVtZV9idWlsZGVyX3YyIjp0cnVlLCJsYW5kaW5nLXBhZ2VzIjp0cnVlLCJuZXN0ZWQtZWxlbWVudHMiOnRydWUsInBhZ2UtdHJhbnNpdGlvbnMiOnRydWUsIm5vdGVzIjp0cnVlLCJmb3JtLXN1Ym1pc3Npb25zIjp0cnVlLCJlX3Njcm9sbF9zbmFwIjp0cnVlfSwidXJscyI6eyJhc3NldHMiOiJodHRwczpcL1wvd3d3LmVsZWt0cm9uaWtsYWIuY28uaW5cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2VsZW1lbnRvclwvYXNzZXRzXC8ifSwic3dpcGVyQ2xhc3MiOiJzd2lwZXIiLCJzZXR0aW5ncyI6eyJwYWdlIjpbXSwiZWRpdG9yUHJlZmVyZW5jZXMiOltdfSwia2l0Ijp7ImFjdGl2ZV9icmVha3BvaW50cyI6WyJ2aWV3cG9ydF9tb2JpbGUiLCJ2aWV3cG9ydF90YWJsZXQiXSwiZ2xvYmFsX2ltYWdlX2xpZ2h0Ym94IjoieWVzIiwibGlnaHRib3hfZW5hYmxlX2NvdW50ZXIiOiJ5ZXMiLCJsaWdodGJveF9lbmFibGVfZnVsbHNjcmVlbiI6InllcyIsImxpZ2h0Ym94X2VuYWJsZV96b29tIjoieWVzIiwibGlnaHRib3hfZW5hYmxlX3NoYXJlIjoieWVzIiwibGlnaHRib3hfdGl0bGVfc3JjIjoidGl0bGUiLCJsaWdodGJveF9kZXNjcmlwdGlvbl9zcmMiOiJkZXNjcmlwdGlvbiJ9LCJwb3N0Ijp7ImlkIjoxNDQ4LCJ0aXRsZSI6IkVsZWt0cm9uaWslMjBMYWIlMjAtJTIwRWxla3Ryb25payUyMExhYiIsImV4Y2VycHQiOiIiLCJmZWF0dXJlZEltYWdlIjpmYWxzZX19Owo=
5 ms
frontend.min.js
394 ms
javascript;base64,CnZhciBqa2l0X2FqYXhfdXJsID0gImh0dHBzOi8vd3d3LmVsZWt0cm9uaWtsYWIuY28uaW4vP2praXQtYWpheC1yZXF1ZXN0PWpraXRfZWxlbWVudHMiLCBqa2l0X25vbmNlID0gIjYyMzY5YjY3NDEiOwo=
4 ms
autoptimize_single_d47c1ad60eac2bb8fa2de13242952179.js
394 ms
javascript;base64,CnZhciBsb2NhbGl6ZSA9IHsiYWpheHVybCI6Imh0dHBzOlwvXC93d3cuZWxla3Ryb25pa2xhYi5jby5pblwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwibm9uY2UiOiIyZjgzNjQ2NmQyIiwiaTE4biI6eyJhZGRlZCI6IkFkZGVkICIsImNvbXBhcmUiOiJDb21wYXJlIiwibG9hZGluZyI6IkxvYWRpbmcuLi4ifSwiZWFlbF90cmFuc2xhdGVfdGV4dCI6eyJyZXF1aXJlZF90ZXh0IjoiaXMgYSByZXF1aXJlZCBmaWVsZCIsImludmFsaWRfdGV4dCI6IkludmFsaWQiLCJiaWxsaW5nX3RleHQiOiJCaWxsaW5nIiwic2hpcHBpbmdfdGV4dCI6IlNoaXBwaW5nIiwiZmdfbWZwX2NvdW50ZXJfdGV4dCI6Im9mIn0sInBhZ2VfcGVybWFsaW5rIjoiaHR0cHM6XC9cL3d3dy5lbGVrdHJvbmlrbGFiLmNvLmluXC8iLCJjYXJ0X3JlZGlyZWN0aXRpb24iOiIiLCJjYXJ0X3BhZ2VfdXJsIjoiIiwiZWxfYnJlYWtwb2ludHMiOnsibW9iaWxlIjp7ImxhYmVsIjoiTW9iaWxlIFBvcnRyYWl0IiwidmFsdWUiOjc2NywiZGVmYXVsdF92YWx1ZSI6NzY3LCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjp0cnVlfSwibW9iaWxlX2V4dHJhIjp7ImxhYmVsIjoiTW9iaWxlIExhbmRzY2FwZSIsInZhbHVlIjo4ODAsImRlZmF1bHRfdmFsdWUiOjg4MCwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ZmFsc2V9LCJ0YWJsZXQiOnsibGFiZWwiOiJUYWJsZXQgUG9ydHJhaXQiLCJ2YWx1ZSI6MTAyNCwiZGVmYXVsdF92YWx1ZSI6MTAyNCwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6dHJ1ZX0sInRhYmxldF9leHRyYSI6eyJsYWJlbCI6IlRhYmxldCBMYW5kc2NhcGUiLCJ2YWx1ZSI6MTIwMCwiZGVmYXVsdF92YWx1ZSI6MTIwMCwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ZmFsc2V9LCJsYXB0b3AiOnsibGFiZWwiOiJMYXB0b3AiLCJ2YWx1ZSI6MTM2NiwiZGVmYXVsdF92YWx1ZSI6MTM2NiwiZGlyZWN0aW9uIjoibWF4IiwiaXNfZW5hYmxlZCI6ZmFsc2V9LCJ3aWRlc2NyZWVuIjp7ImxhYmVsIjoiV2lkZXNjcmVlbiIsInZhbHVlIjoyNDAwLCJkZWZhdWx0X3ZhbHVlIjoyNDAwLCJkaXJlY3Rpb24iOiJtaW4iLCJpc19lbmFibGVkIjpmYWxzZX19fTsK
4 ms
general.min.js
395 ms
jquery.smartmenus.min.js
395 ms
webpack-pro.runtime.min.js
396 ms
wp-polyfill-inert.min.js
406 ms
regenerator-runtime.min.js
406 ms
wp-polyfill.min.js
406 ms
hooks.min.js
415 ms
i18n.min.js
407 ms
javascript;base64,CndwLmkxOG4uc2V0TG9jYWxlRGF0YSggeyAndGV4dCBkaXJlY3Rpb25cdTAwMDRsdHInOiBbICdsdHInIF0gfSApOwo=
3 ms
javascript;base64,CnZhciBFbGVtZW50b3JQcm9Gcm9udGVuZENvbmZpZyA9IHsiYWpheHVybCI6Imh0dHBzOlwvXC93d3cuZWxla3Ryb25pa2xhYi5jby5pblwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwibm9uY2UiOiIwYjkxMmZlMWIwIiwidXJscyI6eyJhc3NldHMiOiJodHRwczpcL1wvd3d3LmVsZWt0cm9uaWtsYWIuY28uaW5cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2VsZW1lbnRvci1wcm9cL2Fzc2V0c1wvIiwicmVzdCI6Imh0dHBzOlwvXC93d3cuZWxla3Ryb25pa2xhYi5jby5pblwvd3AtanNvblwvIn0sInNoYXJlQnV0dG9uc05ldHdvcmtzIjp7ImZhY2Vib29rIjp7InRpdGxlIjoiRmFjZWJvb2siLCJoYXNfY291bnRlciI6dHJ1ZX0sInR3aXR0ZXIiOnsidGl0bGUiOiJUd2l0dGVyIn0sImxpbmtlZGluIjp7InRpdGxlIjoiTGlua2VkSW4iLCJoYXNfY291bnRlciI6dHJ1ZX0sInBpbnRlcmVzdCI6eyJ0aXRsZSI6IlBpbnRlcmVzdCIsImhhc19jb3VudGVyIjp0cnVlfSwicmVkZGl0Ijp7InRpdGxlIjoiUmVkZGl0IiwiaGFzX2NvdW50ZXIiOnRydWV9LCJ2ayI6eyJ0aXRsZSI6IlZLIiwiaGFzX2NvdW50ZXIiOnRydWV9LCJvZG5va2xhc3NuaWtpIjp7InRpdGxlIjoiT0siLCJoYXNfY291bnRlciI6dHJ1ZX0sInR1bWJsciI6eyJ0aXRsZSI6IlR1bWJsciJ9LCJkaWdnIjp7InRpdGxlIjoiRGlnZyJ9LCJza3lwZSI6eyJ0aXRsZSI6IlNreXBlIn0sInN0dW1ibGV1cG9uIjp7InRpdGxlIjoiU3R1bWJsZVVwb24iLCJoYXNfY291bnRlciI6dHJ1ZX0sIm1peCI6eyJ0aXRsZSI6Ik1peCJ9LCJ0ZWxlZ3JhbSI6eyJ0aXRsZSI6IlRlbGVncmFtIn0sInBvY2tldCI6eyJ0aXRsZSI6IlBvY2tldCIsImhhc19jb3VudGVyIjp0cnVlfSwieGluZyI6eyJ0aXRsZSI6IlhJTkciLCJoYXNfY291bnRlciI6dHJ1ZX0sIndoYXRzYXBwIjp7InRpdGxlIjoiV2hhdHNBcHAifSwiZW1haWwiOnsidGl0bGUiOiJFbWFpbCJ9LCJwcmludCI6eyJ0aXRsZSI6IlByaW50In19LCJmYWNlYm9va19zZGsiOnsibGFuZyI6ImVuIiwiYXBwX2lkIjoiIn0sImxvdHRpZSI6eyJkZWZhdWx0QW5pbWF0aW9uVXJsIjoiaHR0cHM6XC9cL3d3dy5lbGVrdHJvbmlrbGFiLmNvLmluXC93cC1jb250ZW50XC9wbHVnaW5zXC9lbGVtZW50b3ItcHJvXC9tb2R1bGVzXC9sb3R0aWVcL2Fzc2V0c1wvYW5pbWF0aW9uc1wvZGVmYXVsdC5qc29uIn19Owo=
3 ms
frontend.min.js
438 ms
elements-handlers.min.js
503 ms
autoptimize_single_5ab577656d48e7fb2da4071c3477d4f4.js
502 ms
javascript;base64,CnZhciBla2l0X2NvbmZpZyA9IHsiYWpheHVybCI6Imh0dHBzOlwvXC93d3cuZWxla3Ryb25pa2xhYi5jby5pblwvd3AtYWRtaW5cL2FkbWluLWFqYXgucGhwIiwibm9uY2UiOiJkZDVhMTRlMGRkIn07Cg==
2 ms
autoptimize_single_b47f2776a2f924643622051ee31cee06.js
502 ms
javascript;base64,CnZhciBXcHJDb25maWcgPSB7ImFqYXh1cmwiOiJodHRwczpcL1wvd3d3LmVsZWt0cm9uaWtsYWIuY28uaW5cL3dwLWFkbWluXC9hZG1pbi1hamF4LnBocCIsInJlc3R1cmwiOiJodHRwczpcL1wvd3d3LmVsZWt0cm9uaWtsYWIuY28uaW5cL3dwLWpzb25cL3dwcmFkZG9uc1wvdjEiLCJub25jZSI6ImFjNTY2YTBkMjcifTsK
2 ms
frontend.min.js
559 ms
modal-popups.min.js
522 ms
javascript;base64,DQoJCQkvKHRyaWRlbnR8bXNpZSkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiZkb2N1bWVudC5nZXRFbGVtZW50QnlJZCYmd2luZG93LmFkZEV2ZW50TGlzdGVuZXImJndpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJoYXNoY2hhbmdlIixmdW5jdGlvbigpe3ZhciB0LGU9bG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSk7L15bQS16MC05Xy1dKyQvLnRlc3QoZSkmJih0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpKSYmKC9eKD86YXxzZWxlY3R8aW5wdXR8YnV0dG9ufHRleHRhcmVhKSQvaS50ZXN0KHQudGFnTmFtZSl8fCh0LnRhYkluZGV4PS0xKSx0LmZvY3VzKCkpfSwhMSk7DQoJCQk=
2 ms
Elektronik-Lab-Logo.png
236 ms
Home-01-1024x803.png
546 ms
Elektronik-Lab-Website-BOAT-1.png
280 ms
Elektronik-Lab-Website-Defence.png
327 ms
Elektronik-Lab-Website-oil-gas.png
286 ms
Elektronik-Lab-Website-connet.png
330 ms
B-G.png
405 ms
Big-Ocean-Data.png
334 ms
C-Map.png
249 ms
Hughes.png
303 ms
Navarino.jpg
298 ms
Entel.png
301 ms
GME.png
309 ms
tototheo_logo_vertical_jpg.jpeg
463 ms
JMC.png
365 ms
Jotron.png
358 ms
KVH.png
360 ms
Koden.png
364 ms
Lars-Thrane.png
421 ms
Navico.png
412 ms
Lowrance.png
423 ms
Nelco.png
420 ms
Orbcomm.png
479 ms
NSR.png
477 ms
KFOmCnqEu92Fr1Mu4mxMKTU1Kg.woff
61 ms
KFOlCnqEu92Fr1MmEU9fBBc-AMP6lQ.woff
102 ms
KFOlCnqEu92Fr1MmSU5fBBc-AMP6lQ.woff
121 ms
KFOkCnqEu92Fr1MmgVxIIzQXKMny.woff
124 ms
KFOlCnqEu92Fr1MmWUlfBBc-AMP6lQ.woff
123 ms
KFOlCnqEu92Fr1MmYUtfBBc-AMP6lQ.woff
123 ms
ElegantIcons.woff
472 ms
92zPtBhPNqw79Ij1E865zBUv7myRJTVBNI4un_HKCEk.woff
122 ms
92zPtBhPNqw79Ij1E865zBUv7mz9JTVBNI4un_HKCEk.woff
122 ms
92zPtBhPNqw79Ij1E865zBUv7mx9IjVBNI4un_HKCEk.woff
121 ms
fa-brands-400.woff
550 ms
elementskit.woff
501 ms
fa-solid-900.woff
519 ms
fa-regular-400.woff
542 ms
jkiticon.woff
615 ms
themify.woff
496 ms
Promariner.png
481 ms
Sailor.png
481 ms
Samyung.png
479 ms
Satcom-Global.png
477 ms
Nonius.png
481 ms
Simrad.png
468 ms
Seas-of-Solutions.png
472 ms
Southern-avionics.png
498 ms
Sputnik.png
456 ms
SRC.png
498 ms
Intellian.png
472 ms
Totemplus.png
473 ms
Adani.png
430 ms
AP-Greyhounds-1.png
439 ms
Assam-Rifles-1.png
444 ms
Chattisgarh-Police-1.png
459 ms
Fuguro.png
471 ms
Great-Ship.png
429 ms
Indian-Army-1.png
445 ms
Indian-Coast-Guard.png
443 ms
Indian-Navy.png
443 ms
Jindal-Drilling.png
414 ms
JSW-Shipping.png
416 ms
L-T-1.png
425 ms
Marine-Commandos.png
495 ms
ongc-1.png
423 ms
Reliance.png
408 ms
SCI.png
406 ms
Telangana-Police.png
416 ms
Elektronik-Lab-Website-300x173.png
406 ms
elektroniklab.co.in accessibility score
Contrast
These are opportunities to improve the legibility of your content.
Impact
Issue
Background and foreground colors do not have a sufficient contrast ratio.
Names and labels
These are opportunities to improve the semantics of the controls in your application. This may enhance the experience for users of assistive technology, like a screen reader.
Impact
Issue
Links do not have a discernible name
elektroniklab.co.in best practices score
Trust and Safety
Impact
Issue
Does not use HTTPS
Ensure CSP is effective against XSS attacks
General
Impact
Issue
Detected JavaScript libraries
Browser errors were logged to the console
Page has valid source maps
elektroniklab.co.in SEO score
Content Best Practices
Format your HTML in a way that enables crawlers to better understand your app’s content.
Impact
Issue
Links do not have descriptive text
Crawling and Indexing
To appear in search results, crawlers need access to your app.
Impact
Issue
Links are not crawlable
Mobile Friendly
Make sure your pages are mobile friendly so users don’t have to pinch or zoom in order to read the content pages. [Learn more](https://developers.google.com/search/mobile-sites/).
Impact
Issue
Document uses legible font sizes
Tap targets are not sized appropriately
EN
EN
UTF-8
Language claimed in HTML meta tag should match the language actually used on the web page. Otherwise Elektroniklab.co.in can be misinterpreted by Google and other search engines. Our service has detected that English is used on the page, and it matches the claimed language. Our system also found out that Elektroniklab.co.in main page’s claimed encoding is utf-8. Use of this encoding format is the best practice as the main page visitors from all over the world won’t have any issues with symbol transcription.
elektroniklab.co.in
Open Graph data is detected on the main page of Elektronik Lab. This is the best way to make the web page social media friendly. Here is how it looks like on Facebook: