10.7 sec in total
246 ms
10 sec
467 ms
Click here to check amazing Northern Polymers And Plastics content. Otherwise, check out these important facts you probably never knew about northernpolymersandplastics.com
Specialising in PVC, plastics, recycling and providing tailor made plastic materials worldwide, distribution company mainly dealing in PVC.
Visit northernpolymersandplastics.comWe analyzed Northernpolymersandplastics.com page load time and found that the first response time was 246 ms and then it took 10.4 sec to load all DOM resources and completely render a web page. This is a poor result, as 90% of websites can load faster.
northernpolymersandplastics.com performance score
name
value
score
weighting
Value4.7 s
13/100
10%
Value31.1 s
0/100
25%
Value22.0 s
0/100
10%
Value2,270 ms
6/100
30%
Value0.232
54/100
15%
Value32.0 s
0/100
10%
246 ms
288 ms
575 ms
78 ms
13 ms
Our browser made a total of 189 requests to load all elements on the main page. We found that 60% of them (113 requests) were addressed to the original Northernpolymersandplastics.com, 15% (28 requests) were made to and 11% (20 requests) were made to Fonts.gstatic.com. The less responsive or slowest element that took the longest time to load (2.4 sec) belongs to the original domain Northernpolymersandplastics.com.
Page size can be reduced by 450.5 kB (12%)
3.7 MB
3.3 MB
In fact, the total size of Northernpolymersandplastics.com main page is 3.7 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. Images take 2.5 MB which makes up the majority of the site volume.
Potential reduce by 219.7 kB
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 219.7 kB or 77% of the original size.
Potential reduce by 82.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. Northern Polymers And Plastics images are well optimized though.
Potential reduce by 131.9 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. It is highly recommended that all JavaScript files should be compressed and minified as it can save up to 131.9 kB or 16% of the original size.
Potential reduce by 16.2 kB
CSS files minification is very important to reduce a web page rendering time. The faster CSS files can load, the earlier a page can be rendered. Northernpolymersandplastics.com needs all CSS files to be minified and compressed as it can save up to 16.2 kB or 24% of the original size.
Number of requests can be reduced by 79 (63%)
125
46
The browser has sent 125 CSS, Javascripts, AJAX and image requests in order to completely render the main page of Northern Polymers And Plastics. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 47 to 1 for JavaScripts and from 34 to 1 for CSS and as a result speed up the page load time.
northernpolymersandplastics.com
246 ms
northernpolymersandplastics.com
288 ms
www.northernpolymersandplastics.com
575 ms
js
78 ms
javascript;base64,DQogIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOw0KICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9DQogIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7DQoNCiAgZ3RhZygnY29uZmlnJywgJ1VBLTY2ODQ5MzMxLTInKTsNCg==
13 ms
javascript;base64,Ci8vPCFbQ0RBVEFbCndpbmRvdy5tZm4gPSB7bW9iaWxlX2luaXQ6MTI0MCxuaWNlc2Nyb2xsOjQwLHBhcmFsbGF4OiJ0cmFuc2xhdGUzZCIscmVzcG9uc2l2ZToxLHJldGluYV9kaXNhYmxlOjB9Owp3aW5kb3cubWZuX3ByZXR0eXBob3RvID0ge2Rpc2FibGU6ZmFsc2UsZGlzYWJsZU1vYmlsZTpmYWxzZSx0aXRsZTpmYWxzZSxzdHlsZToicHBfZGVmYXVsdCIsd2lkdGg6MCxoZWlnaHQ6MH07CndpbmRvdy5tZm5fc2xpZGVycyA9IHtibG9nOjAsY2xpZW50czowLG9mZmVyOjAscG9ydGZvbGlvOjAsc2hvcDowLHNsaWRlcjowLHRlc3RpbW9uaWFsczowfTsKLy9dXT4K
12 ms
js
81 ms
YyhlLmNvbmNhdGVtb2ppKTplLndwZW1vamkmJmUudHdlbW9qaSYmKGMoZS50d2Vtb2ppKSxjKGUud3BlbW9qaSkpKX0od2luZG93LGRvY3VtZW50LHdpbmRvdy5fd3BlbW9qaVNldHRpbmdzKTsK
10 ms
autoptimize_single_5cc580b85ea75c54828dfe5f9343e3dc.php
557 ms
autoptimize_single_1fc77f2f7fdfd949a7deec694c974a3f.php
558 ms
css
46 ms
style.min.css
323 ms
style.min.css
310 ms
style.min.css
317 ms
style.min.css
245 ms
style.min.css
329 ms
style.min.css
426 ms
classic-themes.min.css
429 ms
autoptimize_single_443a0083792b1ca61e8116184cb5901e.php
654 ms
autoptimize_single_870814c1b09bc3795d6931f5fc18535f.php
746 ms
autoptimize_single_ed5e4882996c0ce50fd75cb9d28ed4cc.php
913 ms
autoptimize_single_c27d3ed40c42043af3d7a26905081ee4.php
806 ms
style.css
664 ms
autoptimize_single_2377684b6c34382758fe42c251ad7c5f.php
864 ms
autoptimize_single_8fd536aa89f22b5d43c88e549f557d7e.php
1083 ms
autoptimize_single_9db98bd1f38723a54bf041e65f94ad73.php
1192 ms
animations.min.css
842 ms
autoptimize_single_cf7eacbc2bc887b146299b70f4a21568.php
1161 ms
autoptimize_single_670aab09302df69a9c33f3ab02eb93ad.php
1160 ms
autoptimize_single_40444221b85ab406277bf3ca7499cea2.php
1205 ms
autoptimize_single_009a35903bccf56c39643fa5ef625c97.php
1235 ms
css
48 ms
css
51 ms
css
46 ms
autoptimize_single_a587f139f769419d022d22d4cfa93d91.php
1375 ms
autoptimize_single_d6c280f1424cbd0ed62afdc7cd136712.php
1329 ms
tablepress-responsive.min.css
1238 ms
autoptimize_single_3f33d82ba29e82aeb7abc8cb5abc13c5.php
1456 ms
autoptimize_single_f6240557ccb74c0e13d3705c9cfc67ae.php
1455 ms
jquery.min.js
1511 ms
jquery-migrate.min.js
1363 ms
core.min.js
1403 ms
autoptimize_single_ccb1226da47b8ea13d20fb06c1de8f01.php
1710 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgTFNfTWV0YSA9IHsidiI6IjYuMC41In07Ci8qIF1dPiAqLwo=
1 ms
layerslider.kreaturamedia.jquery.js
1610 ms
autoptimize_single_39c4b7a925619c615dde86e538e7290e.php
1582 ms
frontend-gtag.min.js
1552 ms
javascript;base64,DQogIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOw0KICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKX07DQogIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7DQoNCiAgZ3RhZygnY29uZmlnJywgJ1VBLTY2ODQ5MzMxLTInKTsNCg==
2 ms
adsbygoogle.js
135 ms
IGV2ZW50LnNyY0VsZW1lbnQudGFnTmFtZSA6IGUudGFyZ2V0LnRhZ05hbWU7CgkgICBzaG93X3djY3BfcHJvX21lc3NhZ2Uoc21lc3NhZ2UpOwogICAgICAgd2NjcF9wcm9fY2xlYXJfYW55X3NlbGVjdGlvbigpOyByZXR1cm4gZmFsc2U7CiAgICB9Cgl2YXIgaXNTYWZhcmkgPSAvU2FmYXJpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmIC9BcHBsZSBDb21wdXRlci8udGVzdChuYXZpZ2F0b3IudmVuZG9yKTsKCXZhciBjaGVja2VyX0lNRyA9ICdjaGVja2VkJzsKCWlmIChlbGVtdHlwZSA9PSAiSU1HIiAmJiBjaGVja2VyX0lNRyA9PSAnY2hlY2tlZCcgJiYgZS5kZXRhaWwgPT0gMikge3Nob3dfd2NjcF9wcm9fbWVzc2FnZShhbGVydE1zZ19JTUcpO3djY3BfcHJvX2NsZWFyX2FueV9zZWxlY3Rpb24oKTtyZXR1cm4gZmFsc2U7fQoKICAgIC8vZWxlbXR5cGUgbXVzdCBiZSBtZXJnZWQgYnkgZWxlbXR5cGUgY2hlY2tlciBvbiBmdW5jdGlvbiBkaXNhYmxlX2NvcHkgJiBkaXNhYmxlX2hvdF9rZXlzCglpZiAoaXNfY29udGVudF9lZGl0YWJsZV9lbGVtZW50KGVsZW10eXBlKSA9PSBmYWxzZSkKCXsKCQlpZiAoc21lc3NhZ2UgIT09ICIiICYmIGUuZGV0YWlsID09IDIpCgkJCXNob3dfd2NjcF9wcm9fbWVzc2FnZShzbWVzc2FnZSk7CgkJCgkJaWYgKGlzU2FmYXJpKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCWVsc2UKCQl7CgkJCXdjY3BfcHJvX2NsZWFyX2FueV9zZWxlY3Rpb24oKTsgcmV0dXJuIGZhbHNlOwoJCX0KCX0KCWVsc2UKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KfQovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCmZ1bmN0aW9uIGRpc2FibGVfY29weV9pZSgpCnsKCXdjY3BfcHJvX2xvZ190b19jb25zb2xlX2lmX2FsbG93ZWQoImZ1bmN0aW9uIiwgImRpc2FibGVfY29weV9pZV9mdW5jdGlvbl9zdGFydGVkIik7CgkKCXZhciBlID0gZSB8fCB3aW5kb3cuZXZlbnQ7CgkvKmFsc28gdGhlcmUgaXMgbm8gZS50YXJnZXQgcHJvcGVydHkgaW4gSUUuKi8KCS8qaW5zdGVhZCBJRSB1c2VzIHdpbmRvdy5ldmVudC5zcmNFbGVtZW50Ki8KICAJdmFyIHRhcmdldCA9IGUudGFyZ2V0IHx8IGUuc3JjRWxlbWVudDsKCQoJdmFyIGVsZW10eXBlID0gd2luZG93LmV2ZW50LnNyY0VsZW1lbnQubm9kZU5hbWU7CgkKCWVsZW10eXBlID0gZWxlbXR5cGUudG9VcHBlckNhc2UoKTsKCglpZih3Y2NwX3Byb19pc2NvbnRlbnRlZGl0YWJsZShlKSA9PSB0cnVlKSByZXR1cm4gdHJ1ZTsKCQoJaWYgKGFwcGx5X2NsYXNzX2V4Y2x1c2lvbihlKSA9PSAiWWVzIikgcmV0dXJuIHRydWU7CgkKCWlmIChlbGVtdHlwZSA9PSAiSU1HIikge3Nob3dfd2NjcF9wcm9fbWVzc2FnZShhbGVydE1zZ19JTUcpO3JldHVybiBmYWxzZTt9CgkKCS8vZWxlbXR5cGUgbXVzdCBiZSBtZXJnZWQgYnkgZWxlbXR5cGUgY2hlY2tlciBvbiBmdW5jdGlvbiBkaXNhYmxlX2NvcHkgJiBkaXNhYmxlX2hvdF9rZXlzCglpZiAoaXNfY29udGVudF9lZGl0YWJsZV9lbGVtZW50KGVsZW10eXBlKSA9PSBmYWxzZSkKCXsKCQlyZXR1cm4gZmFsc2U7Cgl9Cn0KZnVuY3Rpb24gZGlzYWJsZV9kcmFnX3RleHQoZSkKewoJd2NjcF9wcm9fbG9nX3RvX2NvbnNvbGVfaWZfYWxsb3dlZCgiZnVuY3Rpb24iLCAiZGlzYWJsZV9kcmFnX3RleHQiKTsKCQoJLyp2YXIgaXNTYWZhcmkgPSAvU2FmYXJpLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmIC9BcHBsZSBDb21wdXRlci8udGVzdChuYXZpZ2F0b3IudmVuZG9yKTsqLwoJLyppZiAoaXNTYWZhcmkpIHtzaG93X3djY3BfcHJvX21lc3NhZ2UoYWxlcnRNc2dfSU1HKTtyZXR1cm4gZmFsc2U7fSovCgkKCXZhciBlID0gZSB8fCB3aW5kb3cuZXZlbnQ7IC8vIGFsc28gdGhlcmUgaXMgbm8gZS50YXJnZXQgcHJvcGVydHkgaW4gSUUuIGluc3RlYWQgSUUgdXNlcyB3aW5kb3cuZXZlbnQuc3JjRWxlbWVudCovCiAgCQoJdmFyIHRhcmdldCA9IGUudGFyZ2V0IHx8IGUuc3JjRWxlbWVudDsKCQoJLypGb3IgY29udGVudGVkaXRhYmxlIHRhZ3MqLwoJCglpZiAoYXBwbHlfY2xhc3NfZXhjbHVzaW9uKGUpID09ICJZZXMiKSByZXR1cm4gdHJ1ZTsKCgl2YXIgZWxlbXR5cGUgPSBlLnRhcmdldC5ub2RlTmFtZTsKCQoJZWxlbXR5cGUgPSBlbGVtdHlwZS50b1VwcGVyQ2FzZSgpOwoJCgl2YXIgZGlzYWJsZV9kcmFnX3RleHRfZHJvcCA9ICdjaGVja2VkJzsKCQoJaWYgKGRpc2FibGVfZHJhZ190ZXh0X2Ryb3AgIT0gImNoZWNrZWQiKSAgcmV0dXJuIHRydWU7CgkKCWlmICh3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKCIvdXNlci8iKSA+IC0xKSB7CiAgICAgIHJldHVybiB0cnVlOyAvKlRvIGFsbG93IHVzZXJzIHRvIGRyYWcgJiBkcm9wIGltYWdlcyB3aGVuIGVkaXRpbmcgdGhpZXIgcHJvZmlsZXMqLwogICAgfQoJCglyZXR1cm4gZmFsc2U7Cn0KCi8qLy8vLy8vLy8vLy8vLy8vLy9zcGVjaWFsIGZvciBzYWZhcmkgU3RhcnQvLy8vLy8vLy8vLy8vLy8vKi8KdmFyIG9ubG9uZ3RvdWNoOwoKdmFyIHRpbWVyOwoKdmFyIHRvdWNoZHVyYXRpb24gPSAxMDAwOyAvKmxlbmd0aCBvZiB0aW1lIHdlIHdhbnQgdGhlIHVzZXIgdG8gdG91Y2ggYmVmb3JlIHdlIGRvIHNvbWV0aGluZyovCgp2YXIgZWxlbXR5cGUgPSAiIjsKCmZ1bmN0aW9uIHRvdWNoc3RhcnQoZSkKewoJd2NjcF9wcm9fbG9nX3RvX2NvbnNvbGVfaWZfYWxsb3dlZCgiZnVuY3Rpb24iLCAidG91Y2hzdGFydCIpOwoJCgl2YXIgZSA9IGUgfHwgd2luZG93LmV2ZW50OwoJLyphbHNvIHRoZXJlIGlzIG5vIGUudGFyZ2V0IHByb3BlcnR5IGluIElFLiovCgkvKmluc3RlYWQgSUUgdXNlcyB3aW5kb3cuZXZlbnQuc3JjRWxlbWVudCovCiAgCXZhciB0YXJnZXQgPSBlLnRhcmdldCB8fCBlLnNyY0VsZW1lbnQ7CgkKCWVsZW10eXBlID0gd2luZG93LmV2ZW50LnNyY0VsZW1lbnQubm9kZU5hbWU7CgkKCWVsZW10eXBlID0gZWxlbXR5cGUudG9VcHBlckNhc2UoKTsKCQoJaWYoIXdjY3BfcHJvX2lzX3Bhc3NpdmUoKSkgZS5wcmV2ZW50RGVmYXVsdCgpOwoJaWYgKCF0aW1lcikgewoJCXRpbWVyID0gc2V0VGltZW91dChvbmxvbmd0b3VjaCwgdG91Y2hkdXJhdGlvbik7Cgl9Cn0KCmZ1bmN0aW9uIHRvdWNoZW5kKCkKewoJd2NjcF9wcm9fbG9nX3RvX2NvbnNvbGVfaWZfYWxsb3dlZCgiZnVuY3Rpb24iLCAidG91Y2hlbmQiKTsKCQogICAgLypzdG9wcyBzaG9ydCB0b3VjaGVzIGZyb20gZmlyaW5nIHRoZSBldmVudCovCiAgICBpZiAodGltZXIpIHsKICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpOwogICAgICAgIHRpbWVyID0gbnVsbDsKICAgIH0KCW9ubG9uZ3RvdWNoKCk7Cn0KCm9ubG9uZ3RvdWNoID0gZnVuY3Rpb24oZSkvKnRoaXMgd2lsbCBjbGVhciB0aGUgY3VycmVudCBzZWxlY3Rpb24gaWYgYW55X25vdF9lZGl0YWJsZV90aGluZyBzZWxlY3RlZCovCnsKCXdjY3BfcHJvX2xvZ190b19jb25zb2xlX2lmX2FsbG93ZWQoImZ1bmN0aW9uIiwgIm9ubG9uZ3RvdWNoIik7CgkKCWlmIChpc19jb250ZW50X2VkaXRhYmxlX2VsZW1lbnQoZWxlbXR5cGUpID09IGZhbHNlKQoJewoJCWlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKSB7CgkJCWlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkpIHsgLypDaHJvbWUqLwoJCQl3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuZW1wdHkoKTsKCQkJfSBlbHNlIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKSB7ICAvKkZpcmVmb3gqLwoJCQl3aW5kb3cuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7CgkJCX0KCQl9IGVsc2UgaWYgKGRvY3VtZW50LnNlbGVjdGlvbikgeyAgLypJRT8qLwoJCQl2YXIgdGV4dFJhbmdlID0gZG9jdW1lbnQuYm9keS5jcmVhdGVUZXh0UmFuZ2UoKTsKCQkJdGV4dFJhbmdlLm1vdmVUb0VsZW1lbnRUZXh0KGVsZW1lbnQpOwoJCQl0ZXh0UmFuZ2Uuc2VsZWN0KCk7CgoJCQlkb2N1bWVudC5zZWxlY3Rpb24uZW1wdHkoKTsKCQl9CgkJcmV0dXJuIGZhbHNlOwoJfQp9OwoKZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKGV2ZW50KQoJeyAKCQl3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsIHRvdWNoc3RhcnQsIGZhbHNlKTsKCQl3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLCB0b3VjaGVuZCwgZmFsc2UpOwoJfSk7CgoKZnVuY3Rpb24gd2NjcF9wcm9faXNfcGFzc2l2ZSgpCnsKCXdjY3BfcHJvX2xvZ190b19jb25zb2xlX2lmX2FsbG93ZWQoImZ1bmN0aW9uIiwgIndjY3BfcHJvX2lzX3Bhc3NpdmUiKTsKCQoJdmFyIGNvbGQgPSBmYWxzZSwKCWhpa2UgPSBmdW5jdGlvbigpIHt9OwoKCXRyeSB7Cgl2YXIgYWlkID0gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAncGFzc2l2ZScsIHsKCWdldCgpIHtjb2xkID0gdHJ1ZX0KCX0pOwoJd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBoaWtlLCBhaWQpOwoJd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBoaWtlLCBhaWQpOwoJfSBjYXRjaCAoZSkge30KCglyZXR1cm4gY29sZDsKfQovKi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vKi8KZnVuY3Rpb24gcmVFbmFibGUoKQp7CglyZXR1cm4gdHJ1ZTsKfQoKaWYobmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdNU0lFJyk9PS0xKSAvL0lmIG5vdCBJRQp7Cglkb2N1bWVudC5vbmRyYWdzdGFydCA9IGRpc2FibGVfZHJhZ190ZXh0OwoJZG9jdW1lbnQub25zZWxlY3RzdGFydCA9IGRpc2FibGVfY29weTsKCWRvY3VtZW50Lm9uc2VsZWN0aW9uY2hhbmdlID0gZGlzYWJsZV9jb3B5OwoJLy9kb2N1bWVudC5vbm1vdXNlZG93biA9IGRpc2FibGVfY29weTsKCS8vZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBkaXNhYmxlX2NvcHksIGZhbHNlKTsKCWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgc2V0X2N1cnJlbnRfY2xpY2tlZF9lbGVtZW50LCBmYWxzZSk7Cglkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBzZXRfY3VycmVudF9jbGlja2VkX2VsZW1lbnQsIGZhbHNlKTsKCS8vZG9jdW1lbnQub25jbGljayA9IHJlRW5hYmxlOwp9ZWxzZQp7Cglkb2N1bWVudC5vbnNlbGVjdHN0YXJ0ID0gZGlzYWJsZV9jb3B5X2llOwp9Cgp2YXIgY3VycmVudF9jbGlja2VkX2VsZW1lbnQgPSAiIjsKCnZhciBjdXJyZW50X2NsaWNrZWRfb2JqZWN0ID0gbnVsbDsKCmZ1bmN0aW9uIHNldF9jdXJyZW50X2NsaWNrZWRfZWxlbWVudChlKQp7Cgl2YXIgZSA9IGUgfHwgd2luZG93LmV2ZW50OyAvLyBhbHNvIHRoZXJlIGlzIG5vIGUudGFyZ2V0IHByb3BlcnR5IGluIElFLiBpbnN0ZWFkIElFIHVzZXMgd2luZG93LmV2ZW50LnNyY0VsZW1lbnQKICAJCgl2YXIgdGFyZ2V0ID0gZS50YXJnZXQgfHwgZS5zcmNFbGVtZW50OwoKCXZhciBlbGVtdHlwZSA9IGUudGFyZ2V0Lm5vZGVOYW1lOwoJCgllbGVtdHlwZSA9IGVsZW10eXBlLnRvVXBwZXJDYXNlKCk7CgkKCWN1cnJlbnRfY2xpY2tlZF9lbGVtZW50ID0gZWxlbXR5cGU7Cn0K
1 ms
CgkJZG9jdW1lbnQuc2VsZWN0aW9uLmVtcHR5KCk7Cgl9CgkKCS8vc2hvd193Y2NwX3Byb19tZXNzYWdlKCJZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIG1ha2UgdGhpcyBvcGVyYXRpb24iKTsKfQoKCi8qSXMgY29udGVudF9lZGl0YWJsZSBlbGVtZW50Ki8KZnVuY3Rpb24gaXNfY29udGVudF9lZGl0YWJsZV9lbGVtZW50KGVsZW1lbnRfbmFtZSA9ICIiKQp7CglpZiAoZWxlbWVudF9uYW1lID09ICJURVhUIiB8fCBlbGVtZW50X25hbWUgPT0gIiNURVhUIiB8fCBlbGVtZW50X25hbWUgPT0gIlRFWFRBUkVBIiB8fCBlbGVtZW50X25hbWUgPT0gIklOUFVUIiB8fCBlbGVtZW50X25hbWUgPT0gIlBBU1NXT1JEIiB8fCBlbGVtZW50X25hbWUgPT0gIlNFTEVDVCIgfHwgZWxlbWVudF9uYW1lID09ICJPUFRJT04iIHx8IGVsZW1lbnRfbmFtZSA9PSAiRU1CRUQiIHx8IGVsZW1lbnRfbmFtZSA9PSAiQ09ERSIgfHwgZWxlbWVudF9uYW1lID09ICJDT0RFQkxPQ0siKQoJewoJCXdjY3BfcHJvX2xvZ190b19jb25zb2xlX2lmX2FsbG93ZWQoImZ1bmN0aW9uIiwgImlzX2NvbnRlbnRfZWRpdGFibGVfZWxlbWVudDogdHJ1ZSA+PiIgKyBlbGVtZW50X25hbWUpOwoJCQoJCXJldHVybiB0cnVlOwoJfQoJd2NjcF9wcm9fbG9nX3RvX2NvbnNvbGVfaWZfYWxsb3dlZCgiZnVuY3Rpb24iLCAiaXNfY29udGVudF9lZGl0YWJsZV9lbGVtZW50OiBmYWxzZSA+PiIgKyBlbGVtZW50X25hbWUpOwoJCglyZXR1cm4gZmFsc2U7Cn0KLypJcyBzZWxlY3Rpb24gZW5hYmxlZCBlbGVtZW50Ki8KLyoKZnVuY3Rpb24gaXNfc2VsZWN0aW9uX2VuYWJsZWRfZWxlbWVudChlbGVtZW50X25hbWUgPSAiIikKewoJaWYgKGlzX2NvbnRlbnRfZWRpdGFibGVfZWxlbWVudCA9PSB0cnVlKQoJewoJCXdjY3BfcHJvX2xvZ190b19jb25zb2xlX2lmX2FsbG93ZWQoImZ1bmN0aW9uIiwgImlzX3NlbGVjdGlvbl9lbmFibGVkX2VsZW1lbnQ6IHRydWUgPj4iICsgZWxlbWVudF9uYW1lKTsKCQkKCQlyZXR1cm4gdHJ1ZTsKCX0KCXdjY3BfcHJvX2xvZ190b19jb25zb2xlX2lmX2FsbG93ZWQoImZ1bmN0aW9uIiwgImlzX3NlbGVjdGlvbl9lbmFibGVkX2VsZW1lbnQ6IGZhbHNlID4+IiArIGVsZW1lbnRfbmFtZSk7CgkKCXJldHVybiBmYWxzZTsKfQoqLwovKkhvdCBrZXlzIGZ1bmN0aW9uICAqLwpmdW5jdGlvbiBkaXNhYmxlX2hvdF9rZXlzKGUpCnsKCXdjY3BfcHJvX2xvZ190b19jb25zb2xlX2lmX2FsbG93ZWQoImZ1bmN0aW9uIiwgImRpc2FibGVfaG90X2tleXMiKTsKCQoJZSA9IGUgfHwgd2luZG93LmV2ZW50OwoJCgkvL2NvbnNvbGUubG9nKGUpOwoJCglpZiAoIWUpIHJldHVybjsKCQoJdmFyIGtleTsKCgkJaWYod2luZG93LmV2ZW50KQoJCQkgIGtleSA9IHdpbmRvdy5ldmVudC5rZXlDb2RlOyAgICAgLypJRSovCgkJZWxzZSBpZiAoZS5oYXNPd25Qcm9wZXJ0eSgid2hpY2giKSkga2V5ID0gZS53aGljaDsgICAgIC8qZmlyZWZveCAoOTcpKi8KCgl3Y2NwX3Byb19sb2dfdG9fY29uc29sZV9pZl9hbGxvd2VkKCJEYXRhOiIsIGtleSk7CgkKCQkJCgkJaWYgKGtleSA9PSAxMjMgfHwgKGUuY3RybEtleSAmJiBlLnNoaWZ0S2V5ICYmIGUua2V5Q29kZSA9PSAnSicuY2hhckNvZGVBdCgwKSkgKS8vRjEyIGNocm9tZSBkZXZlbG9wZXIga2V5IGRpc2FibGUKCQl7CgkJCXNob3dfd2NjcF9wcm9fbWVzc2FnZSgnWW91IGFyZSBub3QgYWxsb3dlZCB0byBwcmludCBvciBzYXZlIHRoaXMgcGFnZSEhJyk7CgkJCQoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJdmFyIGVsZW10eXBlID0gZS50YXJnZXQudGFnTmFtZTsKCQoJZWxlbXR5cGUgPSBlbGVtdHlwZS50b1VwcGVyQ2FzZSgpOwoJCgl2YXIgc2VsID0gZ2V0U2VsZWN0aW9uVGV4dEFuZENvbnRhaW5lckVsZW1lbnQoKTsKCQoJaWYoZWxlbXR5cGUgPT0gIkJPRFkiICYmIHNlbC50ZXh0ICE9ICIiKSBlbGVtdHlwZSA9IHNlbC5jb250YWluZXJFbGVtZW50LnRhZ05hbWU7IC8qIG5vIG5lZWQgZm9yIGl0IHdoZW4gdGFnIG5hbWUgaXMgQk9EWSwgc28gd2UgZ2V0IHRoZSBzZWxlY3RlZCB0ZXh0IHRhZyBuYW1lICovCgoJLyplbGVtdHlwZSBtdXN0IGJlIG1lcmdlZCBieSBlbGVtdHlwZSBjaGVja2VyIG9uIGZ1bmN0aW9uIGRpc2FibGVfY29weSAmIGRpc2FibGVfY29weV9pZSovCglpZiAoaXNfY29udGVudF9lZGl0YWJsZV9lbGVtZW50KGVsZW10eXBlKSA9PSB0cnVlKQoJewoJCWVsZW10eXBlID0gJ1RFWFQnOwoJfQoJCglpZih3Y2NwX3Byb19pc2NvbnRlbnRlZGl0YWJsZShlKSA9PSB0cnVlKSBlbGVtdHlwZSA9ICdURVhUJzsKCQoJCWlmIChrZXkgPT0gNDQpLypGb3IgYW55IGVtZW1lbnQgdHlwZSwgdGV4dCBlbGVtdHlwZSBpcyBub3QgZXhjbHVkZWQgaGVyZSwgKHBybnRzY3IgKDQ0KSovCgkJewoJCQljb3B5VGV4dFRvQ2xpcGJvYXJkKCIiKTsKCQkJc2hvd193Y2NwX3Byb19tZXNzYWdlKCdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIHByaW50IG9yIHNhdmUgdGhpcyBwYWdlISEnKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0JCglpZiAoZS5jdHJsS2V5IHx8IGUubWV0YUtleSkKCXsKCQlpZiAoZWxlbXR5cGUhPSAnVEVYVCcgJiYgKGtleSA9PSA5NyB8fCBrZXkgPT0gOTkgfHwga2V5ID09IDEyMCB8fCBrZXkgPT0gMjYgfHwga2V5ID09IDQzKSkKCQl7CgkJCSBzaG93X3djY3BfcHJvX21lc3NhZ2UoJzxiPkFsZXJ0OjwvYj4gWW91IGFyZSBub3QgYWxsb3dlZCB0byBjb3B5IGNvbnRlbnQgb3IgdmlldyBzb3VyY2UnKTsKCQkJIHJldHVybiBmYWxzZTsKCQl9CgkJaWYgKGVsZW10eXBlIT0gJ1RFWFQnKQoJCXsKCQkJCQkJCgkJCWlmIChrZXkgPT0gNjUpCgkJCXsKCQkJCXNob3dfd2NjcF9wcm9fbWVzc2FnZSgnWW91IGFyZSBub3QgYWxsb3dlZCB0byBwcmludCBvciBzYXZlIHRoaXMgcGFnZSEhJyk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0JCQkKCQkJCQkJCgkJCWlmIChrZXkgPT0gNjcpCgkJCXsKCQkJCXNob3dfd2NjcF9wcm9fbWVzc2FnZSgnWW91IGFyZSBub3QgYWxsb3dlZCB0byBwcmludCBvciBzYXZlIHRoaXMgcGFnZSEhJyk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0JCQkKCQkJCQkJCgkJCWlmIChrZXkgPT0gODgpCgkJCXsKCQkJCXNob3dfd2NjcF9wcm9fbWVzc2FnZSgnWW91IGFyZSBub3QgYWxsb3dlZCB0byBwcmludCBvciBzYXZlIHRoaXMgcGFnZSEhJyk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0JCQkKCQkJCQkJCgkJCWlmIChrZXkgPT0gODYpCgkJCXsKCQkJCXNob3dfd2NjcF9wcm9fbWVzc2FnZSgnWW91IGFyZSBub3QgYWxsb3dlZCB0byBwcmludCBvciBzYXZlIHRoaXMgcGFnZSEhJyk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0JCQkKCQkJCQkJCgkJCWlmIChrZXkgPT0gODUpCgkJCXsKCQkJCXNob3dfd2NjcF9wcm9fbWVzc2FnZSgnWW91IGFyZSBub3QgYWxsb3dlZCB0byBwcmludCBvciBzYXZlIHRoaXMgcGFnZSEhJyk7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0JCX0KCQkKCQkJCWlmIChrZXkgPT0gODApCgkJewoJCQlzaG93X3djY3BfcHJvX21lc3NhZ2UoJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gcHJpbnQgb3Igc2F2ZSB0aGlzIHBhZ2UhIScpOwoJCQlyZXR1cm4gZmFsc2U7CgkJfQkJCgkJCQlpZiAoa2V5ID09IDQ0KQoJCXsKCQkJY29weVRleHRUb0NsaXBib2FyZCgibm8iKTsKCQkJc2hvd193Y2NwX3Byb19tZXNzYWdlKCdZb3UgYXJlIG5vdCBhbGxvd2VkIHRvIHByaW50IG9yIHNhdmUgdGhpcyBwYWdlISEnKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0JCQoJCQoJCQkJCWlmIChrZXkgPT0gNzMpLy9GMTIgY2hyb21lIGRldmVsb3BlciBrZXkgZGlzYWJsZQoJCQl7CgkJCQlzaG93X3djY3BfcHJvX21lc3NhZ2UoJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gcHJpbnQgb3Igc2F2ZSB0aGlzIHBhZ2UhIScpOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJCQkKCQkJCQoJCWlmIChrZXkgPT0gODMpCgkJewoJCQlzaG93X3djY3BfcHJvX21lc3NhZ2UoJ1lvdSBhcmUgbm90IGFsbG93ZWQgdG8gcHJpbnQgb3Igc2F2ZSB0aGlzIHBhZ2UhIScpOwoJCQlyZXR1cm4gZmFsc2U7CgkJfSAgICB9CnJldHVybiB0cnVlOwp9CgpqUXVlcnkoZG9jdW1lbnQpLmJpbmQoImtleXVwIGtleWRvd24iLCBkaXNhYmxlX2hvdF9rZXlzKTsK
1 ms
javascript;base64,CgoJCWZ1bmN0aW9uIG5vY29udGV4dChlKSB7CgoJCQl3Y2NwX3Byb19sb2dfdG9fY29uc29sZV9pZl9hbGxvd2VkKCJmdW5jdGlvbiIsICJub2NvbnRleHQiKTsKCQkJCgkJCWUgPSBlIHx8IHdpbmRvdy5ldmVudDsgLy8gYWxzbyB0aGVyZSBpcyBubyBlLnRhcmdldCBwcm9wZXJ0eSBpbiBJRS4gaW5zdGVhZCBJRSB1c2VzIHdpbmRvdy5ldmVudC5zcmNFbGVtZW50CgkJCQoJCQlpZiAoYXBwbHlfY2xhc3NfZXhjbHVzaW9uKGUpID09ICdZZXMnKSByZXR1cm4gdHJ1ZTsKCQkJCgkgICAgCXZhciBleGNlcHRpb25fdGFncyA9ICdOT1RBRywnOwoJCQkKCSAgICAgICAgdmFyIGNsaWNrZWRUYWcgPSAoZT09bnVsbCkgPyBldmVudC5zcmNFbGVtZW50LnRhZ05hbWUgOiBlLnRhcmdldC50YWdOYW1lOwoJCQkKCQkJLy9jb25zb2xlLmxvZygiY2xpY2tlZFRhZzogIiArIGNsaWNrZWRUYWcpOwoJCQkKCQkJdmFyIHRhcmdldCA9IGUudGFyZ2V0IHx8IGUuc3JjRWxlbWVudDsKCQkJCgkJCXZhciBwYXJlbnRfdGFnID0gIiI7IHZhciBwYXJlbnRfb2ZfcGFyZW50X3RhZyA9ICIiOwoJCQkKCQkJaWYodGFyZ2V0LnBhcmVudEVsZW1lbnQgIT0gbnVsbCkKCQkJewoJCQkJcGFyZW50X3RhZyA9IHRhcmdldC5wYXJlbnRFbGVtZW50LnRhZ05hbWU7CgkJCQkKCQkJCWlmKHRhcmdldC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQgIT0gbnVsbCkgcGFyZW50X29mX3BhcmVudF90YWcgPSB0YXJnZXQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LnRhZ05hbWU7CgkJCX0KCQkJCgkgICAgICAgIHZhciBjaGVja2VyID0gJ2NoZWNrZWQnOwoJICAgICAgICBpZiAoKGNsaWNrZWRUYWcgPT0gIklNRyIgfHwgY2xpY2tlZFRhZyA9PSAiRklHVVJFIiB8fCBjbGlja2VkVGFnID09ICJTVkciIHx8IGNsaWNrZWRUYWcgPT0gIlBST1RFQ1RFRElNR0RJViIpICYmIGNoZWNrZXIgPT0gJ2NoZWNrZWQnKSB7CgkgICAgICAgICAgICBpZiAoYWxlcnRNc2dfSU1HICE9ICIiKXNob3dfd2NjcF9wcm9fbWVzc2FnZShhbGVydE1zZ19JTUcpOwoJICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoJICAgICAgICB9ZWxzZSB7ZXhjZXB0aW9uX3RhZ3MgPSBleGNlcHRpb25fdGFncyArICdJTUcsJzt9CgkJCQoJCQljaGVja2VyID0gJyc7CgkJCWlmICgoY2xpY2tlZFRhZyA9PSAiVklERU8iIHx8IGNsaWNrZWRUYWcgPT0gIlBST1RFQ1RFRFdDQ1BWSURFTyIgfHwgY2xpY2tlZFRhZyA9PSAiRU1CRUQiKSAmJiBjaGVja2VyID09ICdjaGVja2VkJykgewoJICAgICAgICAgICAgaWYgKGFsZXJ0TXNnX1ZJREVPICE9ICIiKXNob3dfd2NjcF9wcm9fbWVzc2FnZShhbGVydE1zZ19WSURFTyk7CgkgICAgICAgICAgICByZXR1cm4gZmFsc2U7CgkgICAgICAgIH1lbHNlIHtleGNlcHRpb25fdGFncyA9IGV4Y2VwdGlvbl90YWdzICsgJ1ZJREVPLFBST1RFQ1RFRFdDQ1BWSURFTyxFTUJFRCwnO30KCSAgICAgICAgCgkgICAgICAgIGNoZWNrZXIgPSAnY2hlY2tlZCc7CgkgICAgICAgIGlmICgoY2xpY2tlZFRhZyA9PSAiQSIgfHwgY2xpY2tlZFRhZyA9PSAiVElNRSIgfHwgcGFyZW50X3RhZyA9PSAiQSIgfHwgcGFyZW50X29mX3BhcmVudF90YWcgPT0gIkEiKSAmJiBjaGVja2VyID09ICdjaGVja2VkJykgewoJICAgICAgICAgICAgaWYgKGFsZXJ0TXNnX0EgIT0gIiIpc2hvd193Y2NwX3Byb19tZXNzYWdlKGFsZXJ0TXNnX0EpOwoJICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoJICAgICAgICB9ZWxzZSB7ZXhjZXB0aW9uX3RhZ3MgPSBleGNlcHRpb25fdGFncyArICdBLCc7aWYocGFyZW50X3RhZyA9PSAiQSIgfHwgcGFyZW50X29mX3BhcmVudF90YWcgPT0gIkEiKSBjbGlja2VkVGFnID0gIkEiO30KCgkgICAgICAgIGNoZWNrZXIgPSAnY2hlY2tlZCc7CgkgICAgICAgIGlmICgoY2xpY2tlZFRhZyA9PSAiUCIgfHwgY2xpY2tlZFRhZyA9PSAiQiIgfHwgY2xpY2tlZFRhZyA9PSAiRk9OVCIgfHwgIGNsaWNrZWRUYWcgPT0gIkxJIiB8fCBjbGlja2VkVGFnID09ICJVTCIgfHwgY2xpY2tlZFRhZyA9PSAiU1RST05HIiB8fCBjbGlja2VkVGFnID09ICJPTCIgfHwgY2xpY2tlZFRhZyA9PSAiQkxPQ0tRVU9URSIgfHwgY2xpY2tlZFRhZyA9PSAiVEgiIHx8IGNsaWNrZWRUYWcgPT0gIlRSIiB8fCBjbGlja2VkVGFnID09ICJURCIgfHwgY2xpY2tlZFRhZyA9PSAiU1BBTiIgfHwgY2xpY2tlZFRhZyA9PSAiRU0iIHx8IGNsaWNrZWRUYWcgPT0gIlNNQUxMIiB8fCBjbGlja2VkVGFnID09ICJJIiB8fCBjbGlja2VkVGFnID09ICJCVVRUT04iKSAmJiBjaGVja2VyID09ICdjaGVja2VkJykgewoJICAgICAgICAgICAgaWYgKGFsZXJ0TXNnX1BCICE9ICIiKXNob3dfd2NjcF9wcm9fbWVzc2FnZShhbGVydE1zZ19QQik7CgkgICAgICAgICAgICByZXR1cm4gZmFsc2U7CgkgICAgICAgIH1lbHNlIHtleGNlcHRpb25fdGFncyA9IGV4Y2VwdGlvbl90YWdzICsgJ1AsQixGT05ULExJLFVMLFNUUk9ORyxPTCxCTE9DS1FVT1RFLFRELFNQQU4sRU0sU01BTEwsSSxCVVRUT04sJzt9CgkgICAgICAgIAoJICAgICAgICBjaGVja2VyID0gJ2NoZWNrZWQnOwoJICAgICAgICBpZiAoKGNsaWNrZWRUYWcgPT0gIklOUFVUIiB8fCBjbGlja2VkVGFnID09ICJQQVNTV09SRCIpICYmIGNoZWNrZXIgPT0gJ2NoZWNrZWQnKSB7CgkgICAgICAgICAgICBpZiAoYWxlcnRNc2dfSU5QVVQgIT0gIiIpc2hvd193Y2NwX3Byb19tZXNzYWdlKGFsZXJ0TXNnX0lOUFVUKTsKCSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKCSAgICAgICAgfWVsc2Uge2V4Y2VwdGlvbl90YWdzID0gZXhjZXB0aW9uX3RhZ3MgKyAnSU5QVVQsUEFTU1dPUkQsJzt9CgkgICAgICAgIAoJICAgICAgICBjaGVja2VyID0gJ2NoZWNrZWQnOwoJICAgICAgICBpZiAoKGNsaWNrZWRUYWcgPT0gIkgxIiB8fCBjbGlja2VkVGFnID09ICJIMiIgfHwgY2xpY2tlZFRhZyA9PSAiSDMiIHx8IGNsaWNrZWRUYWcgPT0gIkg0IiB8fCBjbGlja2VkVGFnID09ICJINSIgfHwgY2xpY2tlZFRhZyA9PSAiSDYiIHx8IGNsaWNrZWRUYWcgPT0gIkFTSURFIiB8fCBjbGlja2VkVGFnID09ICJOQVYiKSAmJiBjaGVja2VyID09ICdjaGVja2VkJykgewoJICAgICAgICAgICAgaWYgKGFsZXJ0TXNnX0ggIT0gIiIpc2hvd193Y2NwX3Byb19tZXNzYWdlKGFsZXJ0TXNnX0gpOwoJICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoJICAgICAgICB9ZWxzZSB7ZXhjZXB0aW9uX3RhZ3MgPSBleGNlcHRpb25fdGFncyArICdIMSxIMixIMyxINCxINSxINiwnO30KCSAgICAgICAgCgkgICAgICAgIGNoZWNrZXIgPSAnY2hlY2tlZCc7CgkgICAgICAgIGlmIChjbGlja2VkVGFnID09ICJURVhUQVJFQSIgJiYgY2hlY2tlciA9PSAnY2hlY2tlZCcpIHsKCSAgICAgICAgICAgIGlmIChhbGVydE1zZ19URVhUQVJFQSAhPSAiIilzaG93X3djY3BfcHJvX21lc3NhZ2UoYWxlcnRNc2dfVEVYVEFSRUEpOwoJICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoJICAgICAgICB9ZWxzZSB7ZXhjZXB0aW9uX3RhZ3MgPSBleGNlcHRpb25fdGFncyArICdURVhUQVJFQSwnO30KCSAgICAgICAgCgkgICAgICAgIGNoZWNrZXIgPSAnY2hlY2tlZCc7CgkgICAgICAgIGlmICgoY2xpY2tlZFRhZyA9PSAiRElWIiB8fCBjbGlja2VkVGFnID09ICJCT0RZIiB8fCBjbGlja2VkVGFnID09ICJIVE1MIiB8fCBjbGlja2VkVGFnID09ICJBUlRJQ0xFIiB8fCBjbGlja2VkVGFnID09ICJTRUNUSU9OIiB8fCBjbGlja2VkVGFnID09ICJOQVYiIHx8IGNsaWNrZWRUYWcgPT0gIkhFQURFUiIgfHwgY2xpY2tlZFRhZyA9PSAiRk9PVEVSIikgJiYgY2hlY2tlciA9PSAnY2hlY2tlZCcpIHsKCSAgICAgICAgICAgIGlmIChhbGVydE1zZ19FbXB0eVNwYWNlcyAhPSAiIilzaG93X3djY3BfcHJvX21lc3NhZ2UoYWxlcnRNc2dfRW1wdHlTcGFjZXMpOwoJICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwoJICAgICAgICB9CgkgICAgICAgIGVsc2UKCSAgICAgICAgewoJICAgICAgICAJaWYgKGV4Y2VwdGlvbl90YWdzLmluZGV4T2YoY2xpY2tlZFRhZykhPS0xKQoJICAgICAgICAJewoJCSAgICAgICAgCXJldHVybiB0cnVlOwoJCSAgICAgICAgfQoJICAgICAgICAJZWxzZQoJICAgICAgICAJcmV0dXJuIGZhbHNlOwoJICAgICAgICB9CgkgICAgfQoJCQoJCWZ1bmN0aW9uIGRpc2FibGVfZHJhZ19pbWFnZXMoZSkKCQl7CgkJCXdjY3BfcHJvX2xvZ190b19jb25zb2xlX2lmX2FsbG93ZWQoImZ1bmN0aW9uIiwgImRpc2FibGVfZHJhZ19pbWFnZXMiKTsKCQkJCgkJCXZhciBlID0gZSB8fCB3aW5kb3cuZXZlbnQ7IC8vIGFsc28gdGhlcmUgaXMgbm8gZS50YXJnZXQgcHJvcGVydHkgaW4gSUUuIGluc3RlYWQgSUUgdXNlcyB3aW5kb3cuZXZlbnQuc3JjRWxlbWVudAoJCQkKCQkJdmFyIHRhcmdldCA9IGUudGFyZ2V0IHx8IGUuc3JjRWxlbWVudDsKCQkJCgkJCS8vRm9yIGNvbnRlbnRlZGl0YWJsZSB0YWdzCgkJCWlmIChhcHBseV9jbGFzc19leGNsdXNpb24oZSkgPT0gIlllcyIpIHJldHVybiB0cnVlOwoKCQkJdmFyIGVsZW10eXBlID0gZS50YXJnZXQubm9kZU5hbWU7CgkJCQoJCQlpZiAoZWxlbXR5cGUgIT0gIklNRyIpIHtyZXR1cm47fQoJCQkKCQkJZWxlbXR5cGUgPSBlbGVtdHlwZS50b1VwcGVyQ2FzZSgpOwoJCQkKCQkJdmFyIGRpc2FibGVfZHJhZ19kcm9wX2ltYWdlcyA9ICdjaGVja2VkJzsKCQkJCgkJCWlmIChkaXNhYmxlX2RyYWdfZHJvcF9pbWFnZXMgIT0gImNoZWNrZWQiKSAgcmV0dXJuIHRydWU7CgkJCQoJCQlpZiAod2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZigiL3VzZXIvIikgPiAtMSkgewoJCQkgIHJldHVybiB0cnVlOyAvL1RvIGFsbG93IHVzZXJzIHRvIGRyYWcgJiBkcm9wIGltYWdlcyB3aGVuIGVkaXRpbmcgdGhpZXIgcHJvZmlsZXMKCQkJfQoJCQkKCQkJc2hvd193Y2NwX3Byb19tZXNzYWdlKGFsZXJ0TXNnX0lNRyk7CgkJCQoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCQoJICAgIHZhciBhbGVydE1zZ19JTUcgPSAiPGI+QWxlcnQ6PC9iPiBQcm90ZWN0ZWQgaW1hZ2UiOwoJICAgIHZhciBhbGVydE1zZ19BID0gIjxiPkFsZXJ0OjwvYj4gVGhpcyBsaW5rIGlzIHByb3RlY3RlZCI7CgkgICAgdmFyIGFsZXJ0TXNnX1BCID0gIjxiPkFsZXJ0OjwvYj4gUmlnaHQgY2xpY2sgb24gdGV4dCBpcyBkaXNhYmxlZCI7CgkgICAgdmFyIGFsZXJ0TXNnX0lOUFVUID0gIjxiPkFsZXJ0OjwvYj4gUmlnaHQgY2xpY2sgaXMgZGlzYWJsZWQiOwoJICAgIHZhciBhbGVydE1zZ19IID0gIjxiPkFsZXJ0OjwvYj4gUmlnaHQgY2xpY2sgb24gaGVhZGxpbmVzIGlzIGRpc2FibGVkIjsKCSAgICB2YXIgYWxlcnRNc2dfVEVYVEFSRUEgPSAiPGI+QWxlcnQ6PC9iPiBSaWdodCBjbGljayBpcyBkaXNhYmxlZCI7CgkgICAgdmFyIGFsZXJ0TXNnX0VtcHR5U3BhY2VzID0gIjxiPkFsZXJ0OjwvYj4gUmlnaHQgY2xpY2sgb24gZW1wdHkgc3BhY2VzIGlzIGRpc2FibGVkIjsKCQl2YXIgYWxlcnRNc2dfVklERU8gPSAiPGI+QWxlcnQ6PC9iPiBSaWdodCBjbGljayBvbiB2aWRlb3MgaXMgZGlzYWJsZWQiOwoJICAgIGRvY3VtZW50Lm9uY29udGV4dG1lbnU9bnVsbDsKCQlkb2N1bWVudC5vbmNvbnRleHRtZW51ID0gbm9jb250ZXh0OwoJCWRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51Iixub2NvbnRleHQpOwoJCXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsbm9jb250ZXh0KTsK
8 ms
javascript;base64,Cglkb2N1bWVudC5vbmRyYWdzdGFydCA9IGRpc2FibGVfZHJhZ19pbWFnZXM7CgkJalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewoJCQlqUXVlcnkoJ2ltZycpLmVhY2goZnVuY3Rpb24oKSB7CgkJCQlqUXVlcnkodGhpcykuYXR0cignZHJhZ2dhYmxlJywgZmFsc2UpOwoJCQl9KTsKCQl9KTsKCQ==
7 ms
javascript;base64,CglmdW5jdGlvbiB3Y2NwX3Byb19tc2lldmVyc2lvbigpIAoJCXsKCQkJdmFyIHVhID0gd2luZG93Lm5hdmlnYXRvci51c2VyQWdlbnQ7CgkJCXZhciBtc2llID0gdWEuaW5kZXhPZigiTVNJRSIpOwoJCQl2YXIgbXNpZTIgPSB1YS5pbmRleE9mKCJFZGdlIik7CgkJCXZhciBtc2llMyA9IHVhLmluZGV4T2YoIlRyaWRlbnQiKTsKCgkJaWYgKG1zaWUgPiAtMSB8fCBtc2llMiA+IC0xIHx8IG1zaWUzID4gLTEpIC8vIElmIEludGVybmV0IEV4cGxvcmVyLCByZXR1cm4gdmVyc2lvbiBudW1iZXIKCQl7CgkJCXJldHVybiAiSUUiOwoJCX0KCQllbHNlICAvLyBJZiBhbm90aGVyIGJyb3dzZXIsIHJldHVybiAwCgkJewoJCQlyZXR1cm4gIm90aGVyYnJvd3NlciI7CgkJfQoJfQogICAgCgl2YXIgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdIMScpWzBdOwoJaWYoZSAmJiB3Y2NwX3Byb19tc2lldmVyc2lvbigpID09ICJJRSIpCgl7CgkJZS5zZXRBdHRyaWJ1dGUoJ3Vuc2VsZWN0YWJsZScsIm9uIik7Cgl9Cgk=
8 ms
javascript;base64,CmZ1bmN0aW9uIGNvcHlUb0NsaXBib2FyZChlbGVtKSB7CgkgIC8vIGNyZWF0ZSBoaWRkZW4gdGV4dCBlbGVtZW50LCBpZiBpdCBkb2Vzbid0IGFscmVhZHkgZXhpc3QKICAgIHZhciB0YXJnZXRJZCA9ICJfd2NjcF9wcm9faGlkZGVuQ29weVRleHRfIjsKICAgIHsKICAgICAgICAvLyBtdXN0IHVzZSBhIHRlbXBvcmFyeSBmb3JtIGVsZW1lbnQgZm9yIHRoZSBzZWxlY3Rpb24gYW5kIGNvcHkKICAgICAgICB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YXJnZXRJZCk7CiAgICAgICAgaWYgKCF0YXJnZXQpIHsKICAgICAgICAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7CiAgICAgICAgICAgIHRhcmdldC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CiAgICAgICAgICAgIHRhcmdldC5zdHlsZS5sZWZ0ID0gIi05OTk5cHgiOwogICAgICAgICAgICB0YXJnZXQuc3R5bGUudG9wID0gIjAiOwogICAgICAgICAgICB0YXJnZXQuaWQgPSB0YXJnZXRJZDsKICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0YXJnZXQpOwogICAgICAgIH0KICAgICAgICB0YXJnZXQudGV4dENvbnRlbnQgPSBlbGVtLnRleHRDb250ZW50OwogICAgfQogICAgLy8gc2VsZWN0IHRoZSBjb250ZW50CiAgICB2YXIgY3VycmVudEZvY3VzID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsKICAgIHRhcmdldC5mb2N1cygpOwogICAgdGFyZ2V0LnNldFNlbGVjdGlvblJhbmdlKDAsIHRhcmdldC52YWx1ZS5sZW5ndGgpOwogICAgCiAgICAvLyBjb3B5IHRoZSBzZWxlY3Rpb24KICAgIHZhciBzdWNjZWVkOwogICAgdHJ5IHsKICAgIAkgIHN1Y2NlZWQgPSBkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpOwogICAgfSBjYXRjaChlKSB7CiAgICAgICAgc3VjY2VlZCA9IGZhbHNlOwogICAgfQoKICAgIC8vIHJlc3RvcmUgb3JpZ2luYWwgZm9jdXMKICAgIGlmIChjdXJyZW50Rm9jdXMgJiYgdHlwZW9mIGN1cnJlbnRGb2N1cy5mb2N1cyA9PT0gImZ1bmN0aW9uIikgewogICAgICAgIGN1cnJlbnRGb2N1cy5mb2N1cygpOwogICAgfQogICAgCiAgICAKCS8vIGNsZWFyIHRlbXBvcmFyeSBjb250ZW50Cgl0YXJnZXQudGV4dENvbnRlbnQgPSAiIjsKCWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzcGFuJylbMF0uaW5uZXJIVE1MID0gIiAiOwogICAgcmV0dXJuIHN1Y2NlZWQ7Cn0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpmdW5jdGlvbiB3Y2NwX3Byb19sb2dfdG9fY29uc29sZV9pZl9hbGxvd2VkKHRpdGxlID0gInRpdGxlIiwgZGF0YSA9ICIiKQp7Cgl2YXIgbXlOYW1lID0gIiI7CgkKCWlmKHdjY3BfcHJvX2xvZ190b19jb25zb2xlX2lmX2FsbG93ZWQuY2FsbGVyICE9IG51bGwpIG15TmFtZSA9IHdjY3BfcHJvX2xvZ190b19jb25zb2xlX2lmX2FsbG93ZWQuY2FsbGVyLnRvU3RyaW5nKCk7CgkKCW15TmFtZSA9IG15TmFtZS5zdWJzdHIoJ2Z1bmN0aW9uICcubGVuZ3RoKTsKCQoJbXlOYW1lID0gbXlOYW1lLnN1YnN0cigwLCBteU5hbWUuaW5kZXhPZignKCcpKTsKCgkvL2NvbnNvbGUubG9nKCJmdW5jdGlvbl9uYW1lOiAiICsgbXlOYW1lKTsKCQoJfQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmZ1bmN0aW9uIGZhbGxiYWNrQ29weVRleHRUb0NsaXBib2FyZCh0ZXh0KSB7CiAgdmFyIHRleHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKICB0ZXh0QXJlYS52YWx1ZSA9IHRleHQ7CiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0QXJlYSk7CiAgdGV4dEFyZWEuZm9jdXMoKTsKICB0ZXh0QXJlYS5zZWxlY3QoKTsKCiAgdHJ5IHsKICAgIHZhciBzdWNjZXNzZnVsID0gZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKTsKICAgIHZhciBtc2cgPSBzdWNjZXNzZnVsID8gInN1Y2Nlc3NmdWwiIDogInVuc3VjY2Vzc2Z1bCI7CiAgICBjb25zb2xlLmxvZygiRmFsbGJhY2s6IENvcHlpbmcgdGV4dCBjb21tYW5kIHdhcyAiICsgbXNnKTsKICB9IGNhdGNoIChlcnIpIHsKICAgIGNvbnNvbGUuZXJyb3IoIkZhbGxiYWNrOiBPb3BzLCB1bmFibGUgdG8gY29weSIsIGVycik7CiAgfQoKICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRBcmVhKTsKfQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmZ1bmN0aW9uIGNvcHlUZXh0VG9DbGlwYm9hcmQodGV4dCkgewogIGlmICghbmF2aWdhdG9yLmNsaXBib2FyZCkgewogICAgZmFsbGJhY2tDb3B5VGV4dFRvQ2xpcGJvYXJkKHRleHQpOwogICAgcmV0dXJuOwogIH0KICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0ZXh0KS50aGVuKAogICAgZnVuY3Rpb24oKSB7CiAgICAgIGNvbnNvbGUubG9nKCJBc3luYzogQ29weWluZyB0byBjbGlwYm9hcmQgd2FzIHN1Y2Nlc3NmdWwhIik7CiAgICB9LAogICAgZnVuY3Rpb24oZXJyKSB7CiAgICAgIGNvbnNvbGUuZXJyb3IoIkFzeW5jOiBDb3VsZCBub3QgY29weSB0ZXh0OiAiLCBlcnIpOwogICAgfQogICk7Cn0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKmdldFNlbGVjdGlvblRleHRBbmRDb250YWluZXJFbGVtZW50Ki8KZnVuY3Rpb24gZ2V0U2VsZWN0aW9uVGV4dEFuZENvbnRhaW5lckVsZW1lbnQoKQp7CiAgICB2YXIgdGV4dCA9ICIiLCBjb250YWluZXJFbGVtZW50ID0gbnVsbDsKICAgIGlmICh0eXBlb2Ygd2luZG93LmdldFNlbGVjdGlvbiAhPSAidW5kZWZpbmVkIikgewogICAgICAgIHZhciBzZWwgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7CiAgICAgICAgaWYgKHNlbC5yYW5nZUNvdW50KSB7CiAgICAgICAgICAgIHZhciBub2RlID0gc2VsLmdldFJhbmdlQXQoMCkuY29tbW9uQW5jZXN0b3JDb250YWluZXI7CiAgICAgICAgICAgIGNvbnRhaW5lckVsZW1lbnQgPSBub2RlLm5vZGVUeXBlID09IDEgPyBub2RlIDogbm9kZS5wYXJlbnROb2RlOwoJCQlpZiAodHlwZW9mKGNvbnRhaW5lckVsZW1lbnQucGFyZW50RWxlbWVudCkgIT0gJ3VuZGVmaW5lZCcpIGN1cnJlbnRfY2xpY2tlZF9vYmplY3QgPSBjb250YWluZXJFbGVtZW50LnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgIHRleHQgPSBzZWwudG9TdHJpbmcoKTsKICAgICAgICB9CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudC5zZWxlY3Rpb24gIT0gInVuZGVmaW5lZCIgJiYgZG9jdW1lbnQuc2VsZWN0aW9uLnR5cGUgIT0gIkNvbnRyb2wiKQoJewogICAgICAgIHZhciB0ZXh0UmFuZ2UgPSBkb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKTsKICAgICAgICBjb250YWluZXJFbGVtZW50ID0gdGV4dFJhbmdlLnBhcmVudEVsZW1lbnQoKTsKICAgICAgICB0ZXh0ID0gdGV4dFJhbmdlLnRleHQ7CiAgICB9CiAgICAKCXJldHVybiB7CiAgICAgICAgdGV4dDogdGV4dCwKICAgICAgICBjb250YWluZXJFbGVtZW50OiBjb250YWluZXJFbGVtZW50CiAgICB9Owp9CgpmdW5jdGlvbiBnZXRTZWxlY3Rpb25QYXJlbnRFbGVtZW50KCkgewogICAgdmFyIHBhcmVudEVsID0gbnVsbCwgc2VsOwoJCiAgICBpZiAod2luZG93LmdldFNlbGVjdGlvbikgewogICAgICAgIHNlbCA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKICAgICAgICBpZiAoc2VsLnJhbmdlQ291bnQpIHsKICAgICAgICAgICAgcGFyZW50RWwgPSBzZWwuZ2V0UmFuZ2VBdCgwKS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjsKCQkJLy9zZWwuZ2V0UmFuZ2VBdCgwKS5zdGFydENvbnRhaW5lci5wYXJlbnROb2RlOwogICAgICAgICAgICBpZiAocGFyZW50RWwubm9kZVR5cGUgIT0gMSkgewogICAgICAgICAgICAgICAgcGFyZW50RWwgPSBwYXJlbnRFbC5wYXJlbnROb2RlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfSBlbHNlIGlmICggKHNlbCA9IGRvY3VtZW50LnNlbGVjdGlvbikgJiYgc2VsLnR5cGUgIT0gIkNvbnRyb2wiKSB7CiAgICAgICAgcGFyZW50RWwgPSBzZWwuY3JlYXRlUmFuZ2UoKS5wYXJlbnRFbGVtZW50KCk7CiAgICB9CgkKCWxldCBhcnIgPSBuZXcgQXJyYXkoKTsKCQoJYXJyWyJub2RlTmFtZSJdID0gImNhbnRfZmluZF9wYXJlbnRfZWxlbWVudCI7CgkKCWlmKHBhcmVudEVsICE9IG51bGwpCgkJcmV0dXJuIHBhcmVudEVsOwoJZWxzZQoJCXJldHVybiBhcnI7Cn0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpmdW5jdGlvbiBzbGVlcChtcykgewogICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpOwp9Ci8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K
8 ms
javascript;base64,CmZ1bmN0aW9uIGFwcGx5X2NsYXNzX2V4Y2x1c2lvbihlKQp7Cgl3Y2NwX3Byb19sb2dfdG9fY29uc29sZV9pZl9hbGxvd2VkKCJmdW5jdGlvbiIsICJhcHBseV9jbGFzc19leGNsdXNpb24iICsgZSk7CgkKCXZhciBteV9yZXR1cm4gPSAnTm8nOwoJCgl2YXIgZSA9IGUgfHwgd2luZG93LmV2ZW50OyAvLyBhbHNvIHRoZXJlIGlzIG5vIGUudGFyZ2V0IHByb3BlcnR5IGluIElFLiBpbnN0ZWFkIElFIHVzZXMgd2luZG93LmV2ZW50LnNyY0VsZW1lbnQKICAJCgl2YXIgdGFyZ2V0ID0gZS50YXJnZXQgfHwgZS5zcmNFbGVtZW50IHx8ICdub3RoaW5nJzsKCQoJLy9pZih0YXJnZXQucGFyZW50RWxlbWVudCAhPSBudWxsKSBjb25zb2xlLmxvZyAodGFyZ2V0LnBhcmVudEVsZW1lbnQuY2xhc3NOYW1lKTsKCQoJdmFyIGV4Y2x1ZGVkX2NsYXNzZXMgPSAnJyArICcnOwoJCgl2YXIgY2xhc3NfdG9fZXhjbHVkZSA9ICIiOwoJCglpZih0YXJnZXQucGFyZW50RWxlbWVudCAhPSBudWxsKQoJewoJCWNsYXNzX3RvX2V4Y2x1ZGUgPSB0YXJnZXQuY2xhc3NOYW1lICsgJyAnICsgdGFyZ2V0LnBhcmVudEVsZW1lbnQuY2xhc3NOYW1lIHx8ICcnOwoJfWVsc2V7CgkJY2xhc3NfdG9fZXhjbHVkZSA9IHRhcmdldC5jbGFzc05hbWU7Cgl9CgkKCXZhciBjbGFzc190b19leGNsdWRlX2FycmF5ID0gQXJyYXkoKTsKCQoJLy9jb25zb2xlLmxvZyhjbGFzc190b19leGNsdWRlKTsKCQoJaWYgKHR5cGVvZihjbGFzc190b19leGNsdWRlKSAhPSAndW5kZWZpbmVkJykgY2xhc3NfdG9fZXhjbHVkZV9hcnJheSA9IGNsYXNzX3RvX2V4Y2x1ZGUuc3BsaXQoIiAiKTsKCQoJLy9jb25zb2xlLmxvZyAoY2xhc3NfdG9fZXhjbHVkZV9hcnJheSk7CgkKCWNsYXNzX3RvX2V4Y2x1ZGVfYXJyYXkuZm9yRWFjaChmdW5jdGlvbihpdGVtKQoJewoJCWlmKGl0ZW0gIT0gJycgJiYgZXhjbHVkZWRfY2xhc3Nlcy5pbmRleE9mKGl0ZW0pPj0wKQoJCXsKCQkJdGFyZ2V0LnN0eWxlLmN1cnNvciA9ICJ0ZXh0IjsKCQkJCgkJCWNvbnNvbGUubG9nICgnWWVzJyk7CgkJCQoJCQlteV9yZXR1cm4gPSAnWWVzJzsKCQl9Cgl9KTsKCgl0cnkgewoJCWNsYXNzX3RvX2V4Y2x1ZGUgPSB0YXJnZXQucGFyZW50RWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2NsYXNzJykgfHwgdGFyZ2V0LnBhcmVudEVsZW1lbnQuY2xhc3NOYW1lIHx8ICcnOwoJCX0KCWNhdGNoKGVycikgCgkJewoJCWNsYXNzX3RvX2V4Y2x1ZGUgPSAnJzsKCQl9CgkKCWlmKGNsYXNzX3RvX2V4Y2x1ZGUgIT0gJycgJiYgZXhjbHVkZWRfY2xhc3Nlcy5pbmRleE9mKGNsYXNzX3RvX2V4Y2x1ZGUpPj0wKQoJewoJCXRhcmdldC5zdHlsZS5jdXJzb3IgPSAidGV4dCI7CgkJbXlfcmV0dXJuID0gJ1llcyc7Cgl9CgoJcmV0dXJuIG15X3JldHVybjsKfQo=
8 ms
css
22 ms
css
23 ms
javascript;base64,dmFyIGh0bWxEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicnMtcGx1Z2luLXNldHRpbmdzLWlubGluZS1jc3MiKTsgdmFyIGh0bWxEaXZDc3M9IiI7DQoJCQkJCQlpZihodG1sRGl2KSB7DQoJCQkJCQkJaHRtbERpdi5pbm5lckhUTUwgPSBodG1sRGl2LmlubmVySFRNTCArIGh0bWxEaXZDc3M7DQoJCQkJCQl9ZWxzZXsNCgkJCQkJCQl2YXIgaHRtbERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KCQkJCQkJCWh0bWxEaXYuaW5uZXJIVE1MID0gIjxzdHlsZT4iICsgaHRtbERpdkNzcyArICI8L3N0eWxlPiI7DQoJCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChodG1sRGl2LmNoaWxkTm9kZXNbMF0pOw0KCQkJCQkJfQ0KCQkJCQk=
7 ms
javascript;base64,dmFyIGh0bWxEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicnMtcGx1Z2luLXNldHRpbmdzLWlubGluZS1jc3MiKTsgdmFyIGh0bWxEaXZDc3M9Ii50cC1jYXB0aW9uLm1mbnJzX2ludGVyaW9yMl9sYXJnZV9saWdodCwubWZucnNfaW50ZXJpb3IyX2xhcmdlX2xpZ2h0e2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7Zm9udC1zaXplOjUwcHg7bGluZS1oZWlnaHQ6NTBweDtmb250LXdlaWdodDo3MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1mYW1pbHk6TGF0bzt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItc3R5bGU6bm9uZTtib3JkZXItd2lkdGg6MHB4O2JvcmRlci1yYWRpdXM6MCAwIDAgMHB4O2xldHRlci1zcGFjaW5nOjRweH0udHAtY2FwdGlvbi5ob21lX2ludGVyaW9yMl9tZWRpdW1fbGlnaHQsLmhvbWVfaW50ZXJpb3IyX21lZGl1bV9saWdodHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApO2ZvbnQtc2l6ZToyOHB4O2xpbmUtaGVpZ2h0OjI4cHg7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtZmFtaWx5OlBsYXlmYWlyIERpc3BsYXk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOm5vbmU7Ym9yZGVyLXdpZHRoOjBweDtib3JkZXItcmFkaXVzOjAgMCAwIDBweDtsZXR0ZXItc3BhY2luZzoycHh9IjsNCgkJCQlpZihodG1sRGl2KSB7DQoJCQkJCWh0bWxEaXYuaW5uZXJIVE1MID0gaHRtbERpdi5pbm5lckhUTUwgKyBodG1sRGl2Q3NzOw0KCQkJCX1lbHNlew0KCQkJCQl2YXIgaHRtbERpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOw0KCQkJCQlodG1sRGl2LmlubmVySFRNTCA9ICI8c3R5bGU+IiArIGh0bWxEaXZDc3MgKyAiPC9zdHlsZT4iOw0KCQkJCQlkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGh0bWxEaXYuY2hpbGROb2Rlc1swXSk7DQoJCQkJfQ0KCQkJ
8 ms
javascript;base64,DQoJCQkJCQkvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoJCQkJLQlQUkVQQVJFIFBMQUNFSE9MREVSIEZPUiBTTElERVIJLQ0KCQkJKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQoJCQl2YXIgc2V0UkVWU3RhcnRTaXplPWZ1bmN0aW9uKCl7DQoJCQkJdHJ5e3ZhciBlPW5ldyBPYmplY3QsaT1qUXVlcnkod2luZG93KS53aWR0aCgpLHQ9OTk5OSxyPTAsbj0wLGw9MCxmPTAscz0wLGg9MDsNCgkJCQkJZS5jID0galF1ZXJ5KCcjcmV2X3NsaWRlcl8xXzEnKTsNCgkJCQkJZS5ncmlkd2lkdGggPSBbMTIyMF07DQoJCQkJCWUuZ3JpZGhlaWdodCA9IFs2NDBdOw0KCQkJCQkJCQ0KCQkJCQllLnNsaWRlckxheW91dCA9ICJhdXRvIjsNCgkJCQkJaWYoZS5yZXNwb25zaXZlTGV2ZWxzJiYoalF1ZXJ5LmVhY2goZS5yZXNwb25zaXZlTGV2ZWxzLGZ1bmN0aW9uKGUsZil7Zj5pJiYodD1yPWYsbD1lKSxpPmYmJmY+ciYmKHI9ZixuPWUpfSksdD5yJiYobD1uKSksZj1lLmdyaWRoZWlnaHRbbF18fGUuZ3JpZGhlaWdodFswXXx8ZS5ncmlkaGVpZ2h0LHM9ZS5ncmlkd2lkdGhbbF18fGUuZ3JpZHdpZHRoWzBdfHxlLmdyaWR3aWR0aCxoPWkvcyxoPWg+MT8xOmgsZj1NYXRoLnJvdW5kKGgqZiksImZ1bGxzY3JlZW4iPT1lLnNsaWRlckxheW91dCl7dmFyIHU9KGUuYy53aWR0aCgpLGpRdWVyeSh3aW5kb3cpLmhlaWdodCgpKTtpZih2b2lkIDAhPWUuZnVsbFNjcmVlbk9mZnNldENvbnRhaW5lcil7dmFyIGM9ZS5mdWxsU2NyZWVuT2Zmc2V0Q29udGFpbmVyLnNwbGl0KCIsIik7aWYgKGMpIGpRdWVyeS5lYWNoKGMsZnVuY3Rpb24oZSxpKXt1PWpRdWVyeShpKS5sZW5ndGg+MD91LWpRdWVyeShpKS5vdXRlckhlaWdodCghMCk6dX0pLGUuZnVsbFNjcmVlbk9mZnNldC5zcGxpdCgiJSIpLmxlbmd0aD4xJiZ2b2lkIDAhPWUuZnVsbFNjcmVlbk9mZnNldCYmZS5mdWxsU2NyZWVuT2Zmc2V0Lmxlbmd0aD4wP3UtPWpRdWVyeSh3aW5kb3cpLmhlaWdodCgpKnBhcnNlSW50KGUuZnVsbFNjcmVlbk9mZnNldCwwKS8xMDA6dm9pZCAwIT1lLmZ1bGxTY3JlZW5PZmZzZXQmJmUuZnVsbFNjcmVlbk9mZnNldC5sZW5ndGg+MCYmKHUtPXBhcnNlSW50KGUuZnVsbFNjcmVlbk9mZnNldCwwKSl9Zj11fWVsc2Ugdm9pZCAwIT1lLm1pbkhlaWdodCYmZjxlLm1pbkhlaWdodCYmKGY9ZS5taW5IZWlnaHQpO2UuYy5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikuY3NzKHtoZWlnaHQ6Zn0pDQoJCQkJCQ0KCQkJCX1jYXRjaChkKXtjb25zb2xlLmxvZygiRmFpbHVyZSBhdCBQcmVzaXplIG9mIFNsaWRlcjoiK2QpfQ0KCQkJfTsNCgkJCQ0KCQkJc2V0UkVWU3RhcnRTaXplKCk7DQoJCQkNCgkJCQkJCXZhciB0cGo9alF1ZXJ5Ow0KCQkJDQoJCQl2YXIgcmV2YXBpMTsNCgkJCXRwaihkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CgkJCQlpZih0cGooIiNyZXZfc2xpZGVyXzFfMSIpLnJldm9sdXRpb24gPT0gdW5kZWZpbmVkKXsKCQkJCQlyZXZzbGlkZXJfc2hvd0RvdWJsZUpxdWVyeUVycm9yKCIjcmV2X3NsaWRlcl8xXzEiKTsKCQkJCX1lbHNlewoJCQkJCXJldmFwaTEgPSB0cGooIiNyZXZfc2xpZGVyXzFfMSIpLnNob3coKS5yZXZvbHV0aW9uKHsKCQkJCQkJc2xpZGVyVHlwZToic3RhbmRhcmQiLApqc0ZpbGVMb2NhdGlvbjoiLy93d3cubm9ydGhlcm5wb2x5bWVyc2FuZHBsYXN0aWNzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvcmV2c2xpZGVyL3B1YmxpYy9hc3NldHMvanMvIiwKCQkJCQkJc2xpZGVyTGF5b3V0OiJhdXRvIiwKCQkJCQkJZG90dGVkT3ZlcmxheToibm9uZSIsCgkJCQkJCWRlbGF5OjQwMDAsCgkJCQkJCW5hdmlnYXRpb246IHsKCQkJCQkJCWtleWJvYXJkTmF2aWdhdGlvbjoib2ZmIiwKCQkJCQkJCWtleWJvYXJkX2RpcmVjdGlvbjogImhvcml6b250YWwiLAoJCQkJCQkJbW91c2VTY3JvbGxOYXZpZ2F0aW9uOiJvZmYiLAogCQkJCQkJCW1vdXNlU2Nyb2xsUmV2ZXJzZToiZGVmYXVsdCIsCgkJCQkJCQlvbkhvdmVyU3RvcDoib2ZmIiwKCQkJCQkJCWFycm93czogewoJCQkJCQkJCXN0eWxlOiJneWdlcyIsCgkJCQkJCQkJZW5hYmxlOnRydWUsCgkJCQkJCQkJaGlkZV9vbm1vYmlsZTp0cnVlLAoJCQkJCQkJCWhpZGVfdW5kZXI6NzY4LAoJCQkJCQkJCWhpZGVfb25sZWF2ZTpmYWxzZSwKCQkJCQkJCQl0bXA6JycsCgkJCQkJCQkJbGVmdDogewoJCQkJCQkJCQloX2FsaWduOiJsZWZ0IiwKCQkJCQkJCQkJdl9hbGlnbjoidG9wIiwKCQkJCQkJCQkJaF9vZmZzZXQ6NTAsCgkJCQkJCQkJCXZfb2Zmc2V0OjUwCgkJCQkJCQkJfSwKCQkJCQkJCQlyaWdodDogewoJCQkJCQkJCQloX2FsaWduOiJsZWZ0IiwKCQkJCQkJCQkJdl9hbGlnbjoidG9wIiwKCQkJCQkJCQkJaF9vZmZzZXQ6OTUsCgkJCQkJCQkJCXZfb2Zmc2V0OjUwCgkJCQkJCQkJfQoJCQkJCQkJfQoJCQkJCQkJLAoJCQkJCQkJYnVsbGV0czogewoJCQkJCQkJCWVuYWJsZTp0cnVlLAoJCQkJCQkJCWhpZGVfb25tb2JpbGU6dHJ1ZSwKCQkJCQkJCQloaWRlX3VuZGVyOjc2OCwKCQkJCQkJCQlzdHlsZToiemV1cyIsCgkJCQkJCQkJaGlkZV9vbmxlYXZlOmZhbHNlLAoJCQkJCQkJCWRpcmVjdGlvbjoidmVydGljYWwiLAoJCQkJCQkJCWhfYWxpZ246InJpZ2h0IiwKCQkJCQkJCQl2X2FsaWduOiJ0b3AiLAoJCQkJCQkJCWhfb2Zmc2V0OjUwLAoJCQkJCQkJCXZfb2Zmc2V0OjUwLAoJCQkJCQkJCXNwYWNlOjEwLAoJCQkJCQkJCXRtcDonPHNwYW4gY2xhc3M9InRwLWJ1bGxldC1pbWFnZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0cC1idWxsZXQtaW1hZ2VvdmVybGF5Ij48L3NwYW4+PHNwYW4gY2xhc3M9InRwLWJ1bGxldC10aXRsZSI+e3t0aXRsZX19PC9zcGFuPicKCQkJCQkJCX0KCQkJCQkJfSwKCQkJCQkJdmlzaWJpbGl0eUxldmVsczpbMTI0MCwxMDI0LDc3OCw0ODBdLAoJCQkJCQlncmlkd2lkdGg6MTIyMCwKCQkJCQkJZ3JpZGhlaWdodDo2NDAsCgkJCQkJCWxhenlUeXBlOiJub25lIiwKCQkJCQkJc2hhZG93OjAsCgkJCQkJCXNwaW5uZXI6InNwaW5uZXIyIiwKCQkJCQkJc3RvcExvb3A6Im9mZiIsCgkJCQkJCXN0b3BBZnRlckxvb3BzOi0xLAoJCQkJCQlzdG9wQXRTbGlkZTotMSwKCQkJCQkJc2h1ZmZsZToib2ZmIiwKCQkJCQkJYXV0b0hlaWdodDoib2ZmIiwKCQkJCQkJZGlzYWJsZVByb2dyZXNzQmFyOiJvbiIsCgkJCQkJCWhpZGVUaHVtYnNPbk1vYmlsZToib2ZmIiwKCQkJCQkJaGlkZVNsaWRlckF0TGltaXQ6MCwKCQkJCQkJaGlkZUNhcHRpb25BdExpbWl0OjAsCgkJCQkJCWhpZGVBbGxDYXB0aW9uQXRMaWxtaXQ6MCwKCQkJCQkJZGVidWdNb2RlOmZhbHNlLAoJCQkJCQlmYWxsYmFja3M6IHsKCQkJCQkJCXNpbXBsaWZ5QWxsOiJvZmYiLAoJCQkJCQkJbmV4dFNsaWRlT25XaW5kb3dGb2N1czoib2ZmIiwKCQkJCQkJCWRpc2FibGVGb2N1c0xpc3RlbmVyOmZhbHNlLAoJCQkJCQl9CgkJCQkJfSk7CgkJCQl9CgkJCX0pOwkvKnJlYWR5Ki8KCQk=
7 ms
javascript;base64,DQoJCQkJCXZhciBodG1sRGl2Q3NzID0gJyAjcmV2X3NsaWRlcl8xXzFfd3JhcHBlciAudHAtbG9hZGVyLnNwaW5uZXIyeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7IH0gJzsNCgkJCQkJdmFyIGh0bWxEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnMtcGx1Z2luLXNldHRpbmdzLWlubGluZS1jc3MnKTsNCgkJCQkJaWYoaHRtbERpdikgew0KCQkJCQkJaHRtbERpdi5pbm5lckhUTUwgPSBodG1sRGl2LmlubmVySFRNTCArIGh0bWxEaXZDc3M7DQoJCQkJCX0NCgkJCQkJZWxzZXsNCgkJCQkJCXZhciBodG1sRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7DQoJCQkJCQlodG1sRGl2LmlubmVySFRNTCA9ICc8c3R5bGU+JyArIGh0bWxEaXZDc3MgKyAnPC9zdHlsZT4nOw0KCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChodG1sRGl2LmNoaWxkTm9kZXNbMF0pOw0KCQkJCQl9DQoJCQkJCQ==
7 ms
javascript;base64,DQoJCQkJCXZhciBodG1sRGl2Q3NzID0gdW5lc2NhcGUoIiUwQSUyM3Jldl9zbGlkZXJfMV8xJTIwLnpldXMlMjAudHAtYnVsbGV0JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwYm94LXNpemluZyUzQWNvbnRlbnQtYm94JTNCJTIwLXdlYmtpdC1ib3gtc2l6aW5nJTNBY29udGVudC1ib3glM0IlMjBib3JkZXItcmFkaXVzJTNBNTAlMjUlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjBiYWNrZ3JvdW5kLWNvbG9yJTNBJTIwcmdiYSUyODAlMkMlMjAwJTJDJTIwMCUyQyUyMDAlMjklM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAtd2Via2l0LXRyYW5zaXRpb24lM0ElMjBvcGFjaXR5JTIwMC4zcyUyMGVhc2UlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjB0cmFuc2l0aW9uJTNBJTIwb3BhY2l0eSUyMDAuM3MlMjBlYXNlJTNCJTBBJTIwJTIwJTIwJTIwd2lkdGglM0ExM3B4JTNCaGVpZ2h0JTNBMTNweCUzQiUwQSUyMCUyMCUyMCUyMGJvcmRlciUzQTJweCUyMHNvbGlkJTIwcmdiJTI4MjU1JTJDJTIwMjU1JTJDJTIwMjU1JTI5JTNCJTBBJTIwJTdEJTBBJTIzcmV2X3NsaWRlcl8xXzElMjAuemV1cyUyMC50cC1idWxsZXQlM0FhZnRlciUyMCU3QiUwQSUyMCUyMGNvbnRlbnQlM0ElMjAlMjIlMjIlM0IlMEElMjAlMjBwb3NpdGlvbiUzQSUyMGFic29sdXRlJTNCJTBBJTIwJTIwd2lkdGglM0ElMjAxMDAlMjUlM0IlMEElMjAlMjBoZWlnaHQlM0ElMjAxMDAlMjUlM0IlMEElMjAlMjBsZWZ0JTNBJTIwMCUzQiUwQSUyMCUyMGJvcmRlci1yYWRpdXMlM0ElMjA1MCUyNSUzQiUwQSUyMCUyMGJhY2tncm91bmQtY29sb3IlM0ElMjByZ2IlMjgyNTUlMkMlMjAyNTUlMkMlMjAyNTUlMjklM0IlMEElMjAlMjAtd2Via2l0LXRyYW5zZm9ybSUzQSUyMHNjYWxlJTI4MCUyOSUzQiUwQSUyMCUyMHRyYW5zZm9ybSUzQSUyMHNjYWxlJTI4MCUyOSUzQiUwQSUyMCUyMC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbiUzQSUyMDUwJTI1JTIwNTAlMjUlM0IlMEElMjAlMjB0cmFuc2Zvcm0tb3JpZ2luJTNBJTIwNTAlMjUlMjA1MCUyNSUzQiUwQSUyMCUyMC13ZWJraXQtdHJhbnNpdGlvbiUzQSUyMC13ZWJraXQtdHJhbnNmb3JtJTIwMC4zcyUyMGVhc2UlM0IlMEElMjAlMjB0cmFuc2l0aW9uJTNBJTIwdHJhbnNmb3JtJTIwMC4zcyUyMGVhc2UlM0IlMEElN0QlMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzJTIwLnRwLWJ1bGxldCUzQWhvdmVyJTNBYWZ0ZXIlMkMlMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzJTIwLnRwLWJ1bGxldC5zZWxlY3RlZCUzQWFmdGVyJTdCJTBBJTIwJTIwJTIwJTIwLXdlYmtpdC10cmFuc2Zvcm0lM0ElMjBzY2FsZSUyODEuMiUyOSUzQiUwQSUyMCUyMHRyYW5zZm9ybSUzQSUyMHNjYWxlJTI4MS4yJTI5JTNCJTBBJTdEJTBBJTIwJTIwJTBBJTIwJTIzcmV2X3NsaWRlcl8xXzElMjAuemV1cyUyMC50cC1idWxsZXQtaW1hZ2UlMkMlMEElMjAlMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzJTIwLnRwLWJ1bGxldC1pbWFnZW92ZXJsYXklN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB3aWR0aCUzQTEzNXB4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaGVpZ2h0JTNBNjBweCUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHBvc2l0aW9uJTNBYWJzb2x1dGUlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBiYWNrZ3JvdW5kJTNBJTIzMDAwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYmFja2dyb3VuZCUzQXJnYmElMjgwJTJDMCUyQzAlMkMwLjUlMjklM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBib3R0b20lM0ExM3B4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbWFyZ2luLWJvdHRvbSUzQTEwcHglM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB0cmFuc2Zvcm0lM0F0cmFuc2xhdGVYJTI4LTUwJTI1JTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwLXdlYmtpdC10cmFuc2Zvcm0lM0F0cmFuc2xhdGVYJTI4LTUwJTI1JTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYm94LXNpemluZyUzQWJvcmRlci1ib3glM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBiYWNrZ3JvdW5kLXNpemUlM0Fjb3ZlciUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGJhY2tncm91bmQtcG9zaXRpb24lM0FjZW50ZXIlMjBjZW50ZXIlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB2aXNpYmlsaXR5JTNBaGlkZGVuJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwb3BhY2l0eSUzQTAlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHklM0ElMjBoaWRkZW4lM0IlMjAlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBiYWNrZmFjZS12aXNpYmlsaXR5JTNBJTIwaGlkZGVuJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luJTNBJTIwNTAlMjUlMjA1MCUyNSUzQiUwQSUyMCUyMCUyMCUyMHRyYW5zZm9ybS1vcmlnaW4lM0ElMjA1MCUyNSUyMDUwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwLXdlYmtpdC10cmFuc2l0aW9uJTNBJTIwYWxsJTIwMC4zcyUyMGVhc2UlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjB0cmFuc2l0aW9uJTNBJTIwYWxsJTIwMC4zcyUyMGVhc2UlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBib3JkZXItcmFkaXVzJTNBNHB4JTNCJTBBJTdEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTBBJTIzcmV2X3NsaWRlcl8xXzElMjAuemV1cyUyMC50cC1idWxsZXQtdGl0bGUlMkMlMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzJTIwLnRwLWJ1bGxldC1pbWFnZW92ZXJsYXklMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB6LWluZGV4JTNBMiUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMC13ZWJraXQtdHJhbnNpdGlvbiUzQSUyMGFsbCUyMDAuNXMlMjBlYXNlJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwdHJhbnNpdGlvbiUzQSUyMGFsbCUyMDAuNXMlMjBlYXNlJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdHJhbnNmb3JtJTNBdHJhbnNsYXRlWCUyOC01MCUyNSUyOSUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMC13ZWJraXQtdHJhbnNmb3JtJTNBdHJhbnNsYXRlWCUyOC01MCUyNSUyOSUzQiUwQSU3RCUyMCUyMCUyMCUyMCUyMCUwQSUyM3Jldl9zbGlkZXJfMV8xJTIwLnpldXMlMjAudHAtYnVsbGV0LXRpdGxlJTIwJTdCJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwY29sb3IlM0FyZ2IlMjgyNTUlMkMlMjAyNTUlMkMlMjAyNTUlMjklM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB0ZXh0LWFsaWduJTNBY2VudGVyJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbGluZS1oZWlnaHQlM0ExNXB4JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZm9udC1zaXplJTNBMTNweCUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGZvbnQtd2VpZ2h0JTNBNjAwJTNCJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwei1pbmRleCUzQTMlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB2aXNpYmlsaXR5JTNBaGlkZGVuJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwb3BhY2l0eSUzQTAlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHklM0ElMjBoaWRkZW4lM0IlMjAlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBiYWNrZmFjZS12aXNpYmlsaXR5JTNBJTIwaGlkZGVuJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luJTNBJTIwNTAlMjUlMjA1MCUyNSUzQiUwQSUyMCUyMCUyMCUyMHRyYW5zZm9ybS1vcmlnaW4lM0ElMjA1MCUyNSUyMDUwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwLXdlYmtpdC10cmFuc2l0aW9uJTNBJTIwYWxsJTIwMC4zcyUyMGVhc2UlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjB0cmFuc2l0aW9uJTNBJTIwYWxsJTIwMC4zcyUyMGVhc2UlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBwb3NpdGlvbiUzQWFic29sdXRlJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwYm90dG9tJTNBNDVweCUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHdpZHRoJTNBMTM1cHglM0IlMEElMjAlMjAlMjAlMjAlMjAlMjB2ZXJ0aWNhbC1hbGlnbiUzQW1pZGRsZSUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUwQSU3RCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUwQSUyM3Jldl9zbGlkZXJfMV8xJTIwLnpldXMlMjAudHAtYnVsbGV0JTNBaG92ZXIlMjAudHAtYnVsbGV0LXRpdGxlJTJDJTBBJTIzcmV2X3NsaWRlcl8xXzElMjAuemV1cyUyMC50cC1idWxsZXQlM0Fob3ZlciUyMC50cC1idWxsZXQtaW1hZ2UlMkMlMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzJTIwLnRwLWJ1bGxldCUzQWhvdmVyJTIwLnRwLWJ1bGxldC1pbWFnZW92ZXJsYXklN0IlMEElMjAlMjAlMjAlMjAlMjAlMjBvcGFjaXR5JTNBMSUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMHZpc2liaWxpdHklM0F2aXNpYmxlJTNCJTBBJTIwJTIwJTIwJTIwLXdlYmtpdC10cmFuc2Zvcm0lM0F0cmFuc2xhdGVZJTI4MHB4JTI5JTIwdHJhbnNsYXRlWCUyOC01MCUyNSUyOSUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMHRyYW5zZm9ybSUzQXRyYW5zbGF0ZVklMjgwcHglMjklMjB0cmFuc2xhdGVYJTI4LTUwJTI1JTI5JTNCJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTBBJTIwJTIwJTIwJTIwJTdEJTBBJTBBJTBBJTBBJTBBJTJGJTJBJTIwVkVSVElDQUwlMjBSSUdIVCUyMCUyQSUyRiUwQSUwQSUyM3Jldl9zbGlkZXJfMV8xJTIwLnpldXMubmF2LWRpci12ZXJ0aWNhbCUyMC50cC1idWxsZXQtaW1hZ2UlMkMlMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzLm5hdi1kaXItdmVydGljYWwlMjAudHAtYnVsbGV0LWltYWdlb3ZlcmxheSU3QiUwQSUyMCUyMGJvdHRvbSUzQWF1dG8lM0IlMEElMjAlMjBtYXJnaW4tcmlnaHQlM0ExMHB4JTNCJTBBJTIwJTIwbWFyZ2luLWJvdHRvbSUzQTBweCUzQiUwQSUyMCUyMHJpZ2h0JTNBMTNweCUzQiUwQSUyMCUyMHRyYW5zZm9ybSUzQSUyMHRyYW5zbGF0ZVglMjgwcHglMjklMjB0cmFuc2xhdGVZJTI4LTUwJTI1JTI5JTNCJTBBJTIwJTIwLXdlYmtpdC10cmFuc2Zvcm0lM0ElMjAlMjB0cmFuc2xhdGVYJTI4MHB4JTI5JTIwdHJhbnNsYXRlWSUyOC01MCUyNSUyOSUzQiUwQSUyMCUyMCUwQSU3RCUwQSUwQSUyM3Jldl9zbGlkZXJfMV8xJTIwLnpldXMubmF2LWRpci12ZXJ0aWNhbCUyMC50cC1idWxsZXQlM0Fob3ZlciUyMC50cC1idWxsZXQtaW1hZ2UlMjAlN0IlMEElMjAlMjB0cmFuc2Zvcm0lM0ElMjB0cmFuc2xhdGVYJTI4MHB4JTI5JTIwdHJhbnNsYXRlWSUyOC01MCUyNSUyOSUzQiUwQSUyMCUyMC13ZWJraXQtdHJhbnNmb3JtJTNBJTIwdHJhbnNsYXRlWCUyODBweCUyOSUyMHRyYW5zbGF0ZVklMjgtNTAlMjUlMjklM0IlMEElN0QlMEElMEElMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzLm5hdi1kaXItdmVydGljYWwlMjAudHAtYnVsbGV0LXRpdGxlJTJDJTBBJTIzcmV2X3NsaWRlcl8xXzElMjAuemV1cy5uYXYtZGlyLXZlcnRpY2FsJTIwLnRwLWJ1bGxldC1pbWFnZW92ZXJsYXklMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB6LWluZGV4JTNBMiUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMC13ZWJraXQtdHJhbnNpdGlvbiUzQSUyMGFsbCUyMDAuNXMlMjBlYXNlJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwdHJhbnNpdGlvbiUzQSUyMGFsbCUyMDAuNXMlMjBlYXNlJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdHJhbnNmb3JtJTNBJTIwdHJhbnNsYXRlWCUyODBweCUyOSUyMHRyYW5zbGF0ZVklMjgtNTAlMjUlMjklM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAtd2Via2l0LXRyYW5zZm9ybSUzQSUyMHRyYW5zbGF0ZVglMjgwcHglMjklMjB0cmFuc2xhdGVZJTI4LTUwJTI1JTI5JTNCJTBBJTdEJTIwJTIwJTIwJTBBJTBBJTBBJTIzcmV2X3NsaWRlcl8xXzElMjAuemV1cy5uYXYtZGlyLXZlcnRpY2FsJTIwLnRwLWJ1bGxldC10aXRsZSUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMGJvdHRvbSUzQWF1dG8lM0IlMEElMjAlMjAlMjAlMjAlMjByaWdodCUzQTEwMCUyNSUzQiUwQSUyMCUyMCUyMCUyMCUyMG1hcmdpbi1yaWdodCUzQTEwcHglM0IlMEElN0QlMEElMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzLm5hdi1kaXItdmVydGljYWwlMjAudHAtYnVsbGV0JTNBaG92ZXIlMjAudHAtYnVsbGV0LXRpdGxlJTJDJTBBJTIzcmV2X3NsaWRlcl8xXzElMjAuemV1cy5uYXYtZGlyLXZlcnRpY2FsJTIwLnRwLWJ1bGxldCUzQWhvdmVyJTIwLnRwLWJ1bGxldC1pbWFnZSUyQyUwQSUyM3Jldl9zbGlkZXJfMV8xJTIwLnpldXMubmF2LWRpci12ZXJ0aWNhbCUyMC50cC1idWxsZXQlM0Fob3ZlciUyMC50cC1idWxsZXQtaW1hZ2VvdmVybGF5JTIwJTdCJTBBJTIwdHJhbnNmb3JtJTNBJTIwdHJhbnNsYXRlWCUyODBweCUyOSUyMHRyYW5zbGF0ZVklMjgtNTAlMjUlMjklM0IlMEElMjAlMjAtd2Via2l0LXRyYW5zZm9ybSUzQSUyMHRyYW5zbGF0ZVglMjgwcHglMjklMjB0cmFuc2xhdGVZJTI4LTUwJTI1JTI5JTNCJTBBJTdEJTBBJTBBJTBBJTBBJTJGJTJBJTIwVkVSVElDQUwlMjBMRUZUJTIwJTJBJTJGJTBBJTBBJTIzcmV2X3NsaWRlcl8xXzElMjAuemV1cy5uYXYtZGlyLXZlcnRpY2FsLm5hdi1wb3MtaG9yLWxlZnQlMjAudHAtYnVsbGV0LWltYWdlJTJDJTBBJTIzcmV2X3NsaWRlcl8xXzElMjAuemV1cy5uYXYtZGlyLXZlcnRpY2FsLm5hdi1wb3MtaG9yLWxlZnQlMjAudHAtYnVsbGV0LWltYWdlb3ZlcmxheSU3QiUwQSUyMCUyMGJvdHRvbSUzQWF1dG8lM0IlMEElMjAlMjBtYXJnaW4tbGVmdCUzQTEwcHglM0IlMEElMjAlMjBtYXJnaW4tYm90dG9tJTNBMHB4JTNCJTBBJTIwJTIwbGVmdCUzQTEzcHglM0IlMEElMjAlMjB0cmFuc2Zvcm0lM0ElMjAlMjB0cmFuc2xhdGVYJTI4MHB4JTI5JTIwdHJhbnNsYXRlWSUyOC01MCUyNSUyOSUzQiUwQSUyMCUyMC13ZWJraXQtdHJhbnNmb3JtJTNBJTIwJTIwdHJhbnNsYXRlWCUyODBweCUyOSUyMHRyYW5zbGF0ZVklMjgtNTAlMjUlMjklM0IlMEElMjAlMjAlMEElN0QlMEElMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzLm5hdi1kaXItdmVydGljYWwubmF2LXBvcy1ob3ItbGVmdCUyMC50cC1idWxsZXQlM0Fob3ZlciUyMC50cC1idWxsZXQtaW1hZ2UlMjAlN0IlMEElMjAlMjB0cmFuc2Zvcm0lM0ElMjB0cmFuc2xhdGVYJTI4MHB4JTI5JTIwdHJhbnNsYXRlWSUyOC01MCUyNSUyOSUzQiUwQSUyMCUyMC13ZWJraXQtdHJhbnNmb3JtJTNBJTIwdHJhbnNsYXRlWCUyODBweCUyOSUyMHRyYW5zbGF0ZVklMjgtNTAlMjUlMjklM0IlMEElN0QlMEElMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzLm5hdi1kaXItdmVydGljYWwubmF2LXBvcy1ob3ItbGVmdCUyMC50cC1idWxsZXQtdGl0bGUlMkMlMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzLm5hdi1kaXItdmVydGljYWwubmF2LXBvcy1ob3ItbGVmdCUyMC50cC1idWxsZXQtaW1hZ2VvdmVybGF5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwei1pbmRleCUzQTIlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAtd2Via2l0LXRyYW5zaXRpb24lM0ElMjBhbGwlMjAwLjVzJTIwZWFzZSUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMHRyYW5zaXRpb24lM0ElMjBhbGwlMjAwLjVzJTIwZWFzZSUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHRyYW5zZm9ybSUzQXRyYW5zbGF0ZVglMjgwcHglMjklMjB0cmFuc2xhdGVZJTI4LTUwJTI1JTI5JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwLXdlYmtpdC10cmFuc2Zvcm0lM0F0cmFuc2xhdGVYJTI4MHB4JTI5JTIwdHJhbnNsYXRlWSUyOC01MCUyNSUyOSUzQiUwQSU3RCUyMCUyMCUyMCUwQSUwQSUwQSUyM3Jldl9zbGlkZXJfMV8xJTIwLnpldXMubmF2LWRpci12ZXJ0aWNhbC5uYXYtcG9zLWhvci1sZWZ0JTIwLnRwLWJ1bGxldC10aXRsZSUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMGJvdHRvbSUzQWF1dG8lM0IlMEElMjAlMjAlMjAlMjAlMjBsZWZ0JTNBMTAwJTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwbWFyZ2luLWxlZnQlM0ExMHB4JTNCJTBBJTdEJTBBJTBBJTJGJTJBJTIwSE9SSVpPTlRBTCUyMFRPUCUyMCUyQSUyRiUwQSUwQSUyM3Jldl9zbGlkZXJfMV8xJTIwLnpldXMubmF2LWRpci1ob3Jpem9udGFsLm5hdi1wb3MtdmVyLXRvcCUyMC50cC1idWxsZXQtaW1hZ2UlMkMlMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzLm5hdi1kaXItaG9yaXpvbnRhbC5uYXYtcG9zLXZlci10b3AlMjAudHAtYnVsbGV0LWltYWdlb3ZlcmxheSU3QiUwQSUyMCUyMGJvdHRvbSUzQWF1dG8lM0IlMEElMjAlMjB0b3AlM0ExM3B4JTNCJTBBJTIwJTIwbWFyZ2luLXRvcCUzQTEwcHglM0IlMEElMjAlMjBtYXJnaW4tYm90dG9tJTNBMHB4JTNCJTBBJTIwJTIwbGVmdCUzQTBweCUzQiUwQSUyMCUyMHRyYW5zZm9ybSUzQXRyYW5zbGF0ZVklMjgwcHglMjklMjB0cmFuc2xhdGVYJTI4LTUwJTI1JTI5JTNCJTBBJTIwJTIwLXdlYmtpdC10cmFuc2Zvcm0lM0F0cmFuc2xhdGVYJTI4MHB4JTI5JTIwdHJhbnNsYXRlWCUyOC01MCUyNSUyOSUzQiUwQSUyMCUyMCUwQSU3RCUwQSUwQSUyM3Jldl9zbGlkZXJfMV8xJTIwLnpldXMubmF2LWRpci1ob3Jpem9udGFsLm5hdi1wb3MtdmVyLXRvcCUyMC50cC1idWxsZXQlM0Fob3ZlciUyMC50cC1idWxsZXQtaW1hZ2UlMjAlN0IlMEElMjAlMjAlMEElMjAlMjB0cmFuc2Zvcm0lM0ElMjBzY2FsZSUyODElMjklMjB0cmFuc2xhdGVZJTI4MHB4JTI5JTIwdHJhbnNsYXRlWCUyOC01MCUyNSUyOSUzQiUwQSUyMCUyMC13ZWJraXQtdHJhbnNmb3JtJTNBJTIwc2NhbGUlMjgxJTI5JTIwdHJhbnNsYXRlWSUyODBweCUyOSUyMHRyYW5zbGF0ZVglMjgtNTAlMjUlMjklM0IlMEElMjAlMjAlMEElN0QlMEElMEElMjNyZXZfc2xpZGVyXzFfMSUyMC56ZXVzLm5hdi1kaXItaG9yaXpvbnRhbC5uYXYtcG9zLXZlci10b3AlMjAudHAtYnVsbGV0LXRpdGxlJTJDJTBBJTIzcmV2X3NsaWRlcl8xXzElMjAuemV1cy5uYXYtZGlyLWhvcml6b250YWwubmF2LXBvcy12ZXItdG9wJTIwLnRwLWJ1bGxldC1pbWFnZW92ZXJsYXklMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjB6LWluZGV4JTNBMiUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMC13ZWJraXQtdHJhbnNpdGlvbiUzQSUyMGFsbCUyMDAuNXMlMjBlYXNlJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwdHJhbnNpdGlvbiUzQSUyMGFsbCUyMDAuNXMlMjBlYXNlJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwdHJhbnNmb3JtJTNBdHJhbnNsYXRlWSUyODBweCUyOSUyMHRyYW5zbGF0ZVglMjgtNTAlMjUlMjklM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAtd2Via2l0LXRyYW5zZm9ybSUzQXRyYW5zbGF0ZVklMjgwcHglMjklMjB0cmFuc2xhdGVYJTI4LTUwJTI1JTI5JTNCJTBBJTdEJTIwJTIwJTIwJTBBJTBBJTBBJTIzcmV2X3NsaWRlcl8xXzElMjAuemV1cy5uYXYtZGlyLWhvcml6b250YWwubmF2LXBvcy12ZXItdG9wJTIwLnRwLWJ1bGxldC10aXRsZSUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMGJvdHRvbSUzQWF1dG8lM0IlMEElMjAlMjAlMjAlMjAlMjB0b3AlM0ExM3B4JTNCJTBBJTIwJTIwJTIwJTIwJTIwbWFyZ2luLXRvcCUzQTIwcHglM0IlMEElN0QlMEElMEEiKTsNCgkJCQkJdmFyIGh0bWxEaXYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncnMtcGx1Z2luLXNldHRpbmdzLWlubGluZS1jc3MnKTsNCgkJCQkJaWYoaHRtbERpdikgew0KCQkJCQkJaHRtbERpdi5pbm5lckhUTUwgPSBodG1sRGl2LmlubmVySFRNTCArIGh0bWxEaXZDc3M7DQoJCQkJCX0NCgkJCQkJZWxzZXsNCgkJCQkJCXZhciBodG1sRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7DQoJCQkJCQlodG1sRGl2LmlubmVySFRNTCA9ICc8c3R5bGU+JyArIGh0bWxEaXZDc3MgKyAnPC9zdHlsZT4nOw0KCQkJCQkJZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXS5hcHBlbmRDaGlsZChodG1sRGl2LmNoaWxkTm9kZXNbMF0pOw0KCQkJCQl9DQoJCQkJICA=
7 ms
IGpRdWVyeSh0aGlzKS5hdHRyKCJjbGFzcyIpLnNwbGl0KCIgIikucG9wKCkucmVwbGFjZSgvW14wLTlcLl0vZywiIikgOiAwOwoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKXsKCQkJcHBzX3BvcHVwXzk0NiA9IGpRdWVyeSgiI3BvcHVwcHJlc3MtOTQ2IikuYlBvcHVwKHsKCQkJCWNsb3NlQ2xhc3M6ICJwcHMtY2xvc2UtbGluay05NDYiLAoJCQkJZWFzaW5nOiAic3dpbmciLAoJCQkJbW9kYWxDbG9zZTogdHJ1ZSwKCQkJCW1vZGFsQ29sb3I6ICIjMDAwMDAwIiwKCQkJCW9wYWNpdHk6IDAuNzUsCgkJCQlwb3NpdGlvblN0eWxlOiAiYWJzb2x1dGUiLAoJCQkJcG9zaXRpb246IFsiYXV0byIsImF1dG8iXSwKCQkJCXNwZWVkOiAzMDAsCgkJCQl0cmFuc2l0aW9uOiAiZmFkZUluIiwKCQkJCXpJbmRleDogOTk5OTksCgkJCQlhbXNsIDogMCwKCQkJCWVzY0Nsb3NlOiB0cnVlLAoJCQkJZm9sbG93OiBbdHJ1ZSx0cnVlXSwKCQkJCW9uT3BlbjogZnVuY3Rpb24oKXsKCQkJCQltYW5hZ2VTaXplRW1iZWRQb3B1cFByZXNzKDk0NiwgNTA2KTsKCQkJCQltYW5hZ2VTaXplSWZyYW1lUG9wdXBQcmVzcyg5NDYsIDY2MCk7CgkJCQkJbWFuYWdlU2l6ZVBkZlBvcHVwUHJlc3MoOTQ2LCA0NjApOwoJCQkJCXNldEltYWdlT3ZlcmxheVBvcHVwUHJlc3MoOTQ2LCAiIik7CgkJCQkJb25PcGVuUG9wdXBQcmVzcyg5NDYpOwoJCQkJCWRpc2NsYWltZXJQb3B1cFByZXNzKDk0NiwgImZhbHNlIiwgInNhbWVfcGFnZSIsICJjbG9zZV9wYWdlIiwgImZhbHNlIiwgImN1cnJlbnRfc2Vzc2lvbiIsMSk7CgkJCQl9LAoJCQkJb25DbG9zZTogZnVuY3Rpb24oKXsKCQkJCQlvbkNsb3NlUG9wdXBQcmVzcyg5NDYpOwoJCQkJfSwKCQkJfSxmdW5jdGlvbigpewoJCQkJb3BlbmVkUG9wdXBQcmVzcyg5NDYpOwoJCQl9KTsKCQkJfSwgMCk7fSk7CgkJfSk7Cgk=
6 ms
classic-10_7.css
40 ms
mc-validate.js
58 ms
javascript;base64,KGZ1bmN0aW9uKCQpIHt3aW5kb3cuZm5hbWVzID0gbmV3IEFycmF5KCk7IHdpbmRvdy5mdHlwZXMgPSBuZXcgQXJyYXkoKTtmbmFtZXNbMF09J0VNQUlMJztmdHlwZXNbMF09J2VtYWlsJztmbmFtZXNbMV09J0ZOQU1FJztmdHlwZXNbMV09J3RleHQnO2ZuYW1lc1syXT0nTE5BTUUnO2Z0eXBlc1syXT0ndGV4dCc7Zm5hbWVzWzNdPSdDT01QTkFNRSc7ZnR5cGVzWzNdPSd0ZXh0Jzt9KGpRdWVyeSkpO3ZhciAkbWNqID0galF1ZXJ5Lm5vQ29uZmxpY3QodHJ1ZSk7
5 ms
IGpRdWVyeSh0aGlzKS5hdHRyKCJjbGFzcyIpLnNwbGl0KCIgIikucG9wKCkucmVwbGFjZSgvW14wLTlcLl0vZywiIikgOiAwOwoJCQkJCXNldFRpbWVvdXQoZnVuY3Rpb24oKXsKCQkJcHBzX3BvcHVwXzEzMDIgPSBqUXVlcnkoIiNwb3B1cHByZXNzLTEzMDIiKS5iUG9wdXAoewoJCQkJY2xvc2VDbGFzczogInBwcy1jbG9zZS1saW5rLTEzMDIiLAoJCQkJZWFzaW5nOiAic3dpbmciLAoJCQkJbW9kYWxDbG9zZTogdHJ1ZSwKCQkJCW1vZGFsQ29sb3I6ICIjMDAwMDAwIiwKCQkJCW9wYWNpdHk6IDAuNzUsCgkJCQlwb3NpdGlvblN0eWxlOiAiYWJzb2x1dGUiLAoJCQkJcG9zaXRpb246IFsiYXV0byIsImF1dG8iXSwKCQkJCXNwZWVkOiAzMDAsCgkJCQl0cmFuc2l0aW9uOiAiZmFkZUluIiwKCQkJCXpJbmRleDogOTk5OTksCgkJCQlhbXNsIDogMCwKCQkJCWVzY0Nsb3NlOiB0cnVlLAoJCQkJZm9sbG93OiBbdHJ1ZSx0cnVlXSwKCQkJCW9uT3BlbjogZnVuY3Rpb24oKXsKCQkJCQltYW5hZ2VTaXplRW1iZWRQb3B1cFByZXNzKDEzMDIsIDQ2MCk7CgkJCQkJbWFuYWdlU2l6ZUlmcmFtZVBvcHVwUHJlc3MoMTMwMiwgNDYwKTsKCQkJCQltYW5hZ2VTaXplUGRmUG9wdXBQcmVzcygxMzAyLCA0NjApOwoJCQkJCXNldEltYWdlT3ZlcmxheVBvcHVwUHJlc3MoMTMwMiwgIiIpOwoJCQkJCW9uT3BlblBvcHVwUHJlc3MoMTMwMik7CgkJCQkJZGlzY2xhaW1lclBvcHVwUHJlc3MoMTMwMiwgImZhbHNlIiwgInNhbWVfcGFnZSIsICJjbG9zZV9wYWdlIiwgImZhbHNlIiwgImN1cnJlbnRfc2Vzc2lvbiIsMSk7CgkJCQl9LAoJCQkJb25DbG9zZTogZnVuY3Rpb24oKXsKCQkJCQlvbkNsb3NlUG9wdXBQcmVzcygxMzAyKTsKCQkJCX0sCgkJCX0sZnVuY3Rpb24oKXsKCQkJCW9wZW5lZFBvcHVwUHJlc3MoMTMwMik7CgkJCX0pOwoJCQl9LCAwKTt9KTsKCQl9KTsKCQ==
6 ms
javascript;base64,Cgl2YXIgdGltZW91dF9yZXN1bHQ7CglmdW5jdGlvbiBzaG93X3djY3BfcHJvX21lc3NhZ2Uoc21lc3NhZ2U9IiIsIHN0eWxlPSIiKQoJewoJCXdjY3BfcHJvX2xvZ190b19jb25zb2xlX2lmX2FsbG93ZWQoImZ1bmN0aW9uIiwgInNob3dfd2NjcF9wcm9fbWVzc2FnZSIgKyBzbWVzc2FnZSk7CgkJCQkKCQl0aW1lb3V0ID0gMzAwMDsKCQkKCQlpZihzdHlsZSA9PSAiIikgc3R5bGUgPSAid2FybmluZy13cGNwIjsKCQkKCQlpZiAoc21lc3NhZ2UgIT09ICIiICYmIHRpbWVvdXQhPTApCgkJewoJCQl2YXIgc21lc3NhZ2VfdGV4dCA9IHNtZXNzYWdlOwoJCQlqcXVlcnlfZmFkZVRvKCk7CgkJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3cGNwLWVycm9yLW1lc3NhZ2UiKS5pbm5lckhUTUwgPSBzbWVzc2FnZV90ZXh0OwoJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid3BjcC1lcnJvci1tZXNzYWdlIikuY2xhc3NOYW1lID0gIm1zZ21zZy1ib3gtd3BjcCBzaG93bWUgIiArIHN0eWxlOwoJCQljbGVhclRpbWVvdXQodGltZW91dF9yZXN1bHQpOwoJCQl0aW1lb3V0X3Jlc3VsdCA9IHNldFRpbWVvdXQoaGlkZV9tZXNzYWdlLCB0aW1lb3V0KTsKCQl9CgkJZWxzZQoJCXsKCQkJY2xlYXJUaW1lb3V0KHRpbWVvdXRfcmVzdWx0KTsKCQkJdGltZW91dF9yZXN1bHQgPSBzZXRUaW1lb3V0KGhpZGVfbWVzc2FnZSwgdGltZW91dCk7CgkJfQoJfQoJZnVuY3Rpb24gaGlkZV9tZXNzYWdlKCkKCXsKCQlqcXVlcnlfZmFkZU91dCgpOwoJCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ3cGNwLWVycm9yLW1lc3NhZ2UiKS5jbGFzc05hbWUgPSAibXNnbXNnLWJveC13cGNwIHdhcm5pbmctd3BjcCBoaWRlbWUiOwoJfQoJZnVuY3Rpb24ganF1ZXJ5X2ZhZGVUbygpCgl7CgkJdHJ5IHsKCQkJalF1ZXJ5KCIjd2NjcF9wcm9fbWFzayIpLmZhZGVUbygic2xvdyIsIDAuMyk7CgkJfQoJCWNhdGNoKGVycikgewoJCQkvL2FsZXJ0KGVyci5tZXNzYWdlKTsKCQkJfQoJfQoJZnVuY3Rpb24ganF1ZXJ5X2ZhZGVPdXQoKQoJewoJCXRyeSB7CgkJCWpRdWVyeSgiI3djY3BfcHJvX21hc2siKS5mYWRlT3V0KCAic2xvdyIgKTsKCQl9CgkJY2F0Y2goZXJyKSB7fQoJfQoJ
6 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgZW1vZGFsX3RoZW1lcyA9IFtdOwplbW9kYWxfdGhlbWVzID0geyIxIjp7ImlkIjoiMSIsInRoZW1lX2lkIjoiMSIsIm92ZXJsYXkiOnsiYmFja2dyb3VuZCI6eyJjb2xvciI6IiNmZmZmZmYiLCJvcGFjaXR5IjoxMDB9fSwiY29udGFpbmVyIjp7InBhZGRpbmciOjE4LCJiYWNrZ3JvdW5kIjp7ImNvbG9yIjoiI2Y5ZjlmOSIsIm9wYWNpdHkiOjEwMH0sImJvcmRlciI6eyJzdHlsZSI6Im5vbmUiLCJjb2xvciI6IiMwMDAwMDAiLCJ3aWR0aCI6MSwicmFkaXVzIjowfSwiYm94c2hhZG93Ijp7Imluc2V0Ijoibm8iLCJob3Jpem9udGFsIjoxLCJ2ZXJ0aWNhbCI6MSwiYmx1ciI6Mywic3ByZWFkIjowLCJjb2xvciI6IiMwMjAyMDIiLCJvcGFjaXR5IjoyM319LCJjbG9zZSI6eyJ0ZXh0IjoiQ0xPU0UiLCJsb2NhdGlvbiI6InRvcHJpZ2h0IiwicG9zaXRpb24iOnsidG9wIjowLCJsZWZ0IjowLCJib3R0b20iOjAsInJpZ2h0IjowfSwicGFkZGluZyI6OCwiYmFja2dyb3VuZCI6eyJjb2xvciI6IiMwMGI3Y2QiLCJvcGFjaXR5IjoxMDB9LCJmb250Ijp7ImNvbG9yIjoiI2ZmZmZmZiIsInNpemUiOjEyLCJmYW1pbHkiOiJUaW1lcyBOZXcgUm9tYW4ifSwiYm9yZGVyIjp7InN0eWxlIjoibm9uZSIsImNvbG9yIjoiI2ZmZmZmZiIsIndpZHRoIjoxLCJyYWRpdXMiOjB9LCJib3hzaGFkb3ciOnsiaW5zZXQiOiJubyIsImhvcml6b250YWwiOjAsInZlcnRpY2FsIjowLCJibHVyIjowLCJzcHJlYWQiOjAsImNvbG9yIjoiIzAyMDIwMiIsIm9wYWNpdHkiOjIzfSwidGV4dHNoYWRvdyI6eyJob3Jpem9udGFsIjowLCJ2ZXJ0aWNhbCI6MCwiYmx1ciI6MCwiY29sb3IiOiIjMDAwMDAwIiwib3BhY2l0eSI6MjN9fSwidGl0bGUiOnsiZm9udCI6eyJjb2xvciI6IiMwMDAwMDAiLCJzaXplIjozMiwiZmFtaWx5IjoiVGFob21hIn0sInRleHQiOnsiYWxpZ24iOiJsZWZ0In0sInRleHRzaGFkb3ciOnsiaG9yaXpvbnRhbCI6MCwidmVydGljYWwiOjAsImJsdXIiOjAsImNvbG9yIjoiIzAyMDIwMiIsIm9wYWNpdHkiOjIzfX0sImNvbnRlbnQiOnsiZm9udCI6eyJjb2xvciI6IiM4YzhjOGMiLCJmYW1pbHkiOiJUaW1lcyBOZXcgUm9tYW4ifX19fTs7Ci8qIF1dPiAqLwo=
6 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd3BjZjcgPSB7ImFwaSI6eyJyb290IjoiaHR0cHM6XC9cL3d3dy5ub3J0aGVybnBvbHltZXJzYW5kcGxhc3RpY3MuY29tXC93cC1qc29uXC8iLCJuYW1lc3BhY2UiOiJjb250YWN0LWZvcm0tN1wvdjEifSwiY2FjaGVkIjoiMSJ9OwovKiBdXT4gKi8K
5 ms
javascript;base64,CmZ1bmN0aW9uIGhlYXRlb3JTc3NMb2FkRXZlbnQoZSkge3ZhciB0PXdpbmRvdy5vbmxvYWQ7aWYgKHR5cGVvZiB3aW5kb3cub25sb2FkIT0iZnVuY3Rpb24iKSB7d2luZG93Lm9ubG9hZD1lfWVsc2V7d2luZG93Lm9ubG9hZD1mdW5jdGlvbigpIHt0KCk7ZSgpfX19Owl2YXIgaGVhdGVvclNzc1NoYXJpbmdBamF4VXJsID0gJ2h0dHBzOi8vd3d3Lm5vcnRoZXJucG9seW1lcnNhbmRwbGFzdGljcy5jb20vd3AtYWRtaW4vYWRtaW4tYWpheC5waHAnLCBoZWF0ZW9yU3NzQ2xvc2VJY29uUGF0aCA9ICdodHRwczovL3d3dy5ub3J0aGVybnBvbHltZXJzYW5kcGxhc3RpY3MuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9zYXNzeS1zb2NpYWwtc2hhcmUvcHVibGljLy4uL2ltYWdlcy9jbG9zZS5wbmcnLCBoZWF0ZW9yU3NzUGx1Z2luSWNvblBhdGggPSAnaHR0cHM6Ly93d3cubm9ydGhlcm5wb2x5bWVyc2FuZHBsYXN0aWNzLmNvbS93cC1jb250ZW50L3BsdWdpbnMvc2Fzc3ktc29jaWFsLXNoYXJlL3B1YmxpYy8uLi9pbWFnZXMvbG9nby5wbmcnLCBoZWF0ZW9yU3NzSG9yaXpvbnRhbFNoYXJpbmdDb3VudEVuYWJsZSA9IDAsIGhlYXRlb3JTc3NWZXJ0aWNhbFNoYXJpbmdDb3VudEVuYWJsZSA9IDAsIGhlYXRlb3JTc3NTaGFyaW5nT2Zmc2V0ID0gLTEwOyB2YXIgaGVhdGVvclNzc01vYmlsZVN0aWNreVNoYXJpbmdFbmFibGVkID0gMTt2YXIgaGVhdGVvclNzc0NvcHlMaW5rTWVzc2FnZSA9ICJMaW5rIGNvcGllZC4iO3ZhciBoZWF0ZW9yU3NzVXJsQ291bnRGZXRjaGVkID0gW10sIGhlYXRlb3JTc3NTaGFyZXNUZXh0ID0gJ1NoYXJlcycsIGhlYXRlb3JTc3NTaGFyZVRleHQgPSAnU2hhcmUnO2Z1bmN0aW9uIGhlYXRlb3JTc3NQb3B1cChlKSB7d2luZG93Lm9wZW4oZSwicG9wVXBXaW5kb3ciLCJoZWlnaHQ9NDAwLHdpZHRoPTYwMCxsZWZ0PTQwMCx0b3A9MTAwLHJlc2l6YWJsZSxzY3JvbGxiYXJzLHRvb2xiYXI9MCxwZXJzb25hbGJhcj0wLG1lbnViYXI9bm8sbG9jYXRpb249bm8sZGlyZWN0b3JpZXM9bm8sc3RhdHVzIil9Cg==
5 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgYWpheF9vYmplY3QgPSB7ImFqYXh1cmwiOiJodHRwczpcL1wvd3d3Lm5vcnRoZXJucG9seW1lcnNhbmRwbGFzdGljcy5jb21cL3dwLWFkbWluXC9hZG1pbi1hamF4LnBocCIsImxpbmsiOiJodHRwczpcL1wvd3d3Lm5vcnRoZXJucG9seW1lcnNhbmRwbGFzdGljcy5jb21cLyJ9OwovKiBdXT4gKi8K
6 ms
api.js
50 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd3BjZjdfcmVjYXB0Y2hhID0geyJzaXRla2V5IjoiNkxmYUNjWWdBQUFBQUMwaENNaldBcDFfa3pXMGI5TkgtNDdieU1WRCIsImFjdGlvbnMiOnsiaG9tZXBhZ2UiOiJob21lcGFnZSIsImNvbnRhY3Rmb3JtIjoiY29udGFjdGZvcm0ifX07Ci8qIF1dPiAqLwo=
5 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgUFBTID0geyJhamF4dXJsUHBzIjoiaHR0cHM6XC9cL3d3dy5ub3J0aGVybnBvbHltZXJzYW5kcGxhc3RpY3MuY29tXC93cC1hZG1pblwvYWRtaW4tYWpheC5waHAifTsKLyogXV0+ICovCg==
5 ms
effect.min.js
1423 ms
javascript;base64,CmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCkgewogICQoIi5wcHMtcG9wdXAiKS5vbigicHBzT25PcGVuIiwgZnVuY3Rpb24oZSl7CiAgICAvL0RvIHNvbWV0aGluZyB3aGVuIHlvdSBvcGVuIGFueSBwb3B1cHMKICB9KTsKCiAgJCgiI3BvcHVwcHJlc3MtNSIpLm9uKCJwcHNPbkNsb3NlIiwgZnVuY3Rpb24oZSl7CiAgICAvL0RvIHNvbWV0aGluZyB3aGVuIHlvdSBjbG9zZSB0aGUgcG9wdXAgaWQgPSA1CiAgfSk7Cn0pOw==
4 ms
effect-bounce.min.js
1369 ms
autoptimize_single_1364687140b1eef699a0be730cbfd9d8.php
1480 ms
jquery.themepunch.tools.min.js
1467 ms
jquery.themepunch.revolution.min.js
1429 ms
jquery.transit.min.js
1387 ms
autoptimize_single_309d2173994b8a67480f596c09f37a21.php
1429 ms
autoptimize_single_7f0734e228d3f1a255a8b817a5005b8e.php
1664 ms
autoptimize_single_f57435a927d422043befe66bd74f4d68.php
1665 ms
mouse.min.js
1278 ms
sortable.min.js
1537 ms
tabs.min.js
1438 ms
accordion.min.js
1432 ms
autoptimize_single_88ba5c163ce30f693979b6f97a6491f8.php
1523 ms
autoptimize_single_8046aadd87990415b65b2140e9b20a21.php
1495 ms
animations.min.js
1352 ms
jplayer.min.js
1421 ms
autoptimize_single_a9769bc1c082345917f7809d56d4bfb1.php
1426 ms
autoptimize_single_abbdecbb7c5fc060a822bd481f3890c8.php
1203 ms
comment-reply.min.js
1128 ms
autoptimize_single_0283847c59d888eb327b3b5f66148ca4.php
1286 ms
autoptimize_single_223ae298e7a490c8f41d27b3916d526b.php
1314 ms
regenerator-runtime.min.js
1108 ms
wp-polyfill.min.js
1088 ms
autoptimize_single_6a0e8318d42803736d2fafcc12238026.php
1412 ms
autoptimize_single_e7180178f04986701442b571a8a8fe1f.php
1324 ms
autoptimize_single_ae46d28e43a95dd06f2f2bc7a76ce9ae.php
1279 ms
autoptimize_single_a79ce0f6eed17894a3d9b854fe700461.php
1313 ms
autoptimize_single_c1f9ce3b7ae378e2e50bc92e1e97e517.php
1288 ms
autoptimize_single_4ebd25183b31070bafb859f212319c67.php
1325 ms
home_slider1.jpg
973 ms
head.png
662 ms
logo.png
1255 ms
home_slider1.jpg
1823 ms
home_slider2.jpg
1912 ms
home_slider3.jpg
2006 ms
pvc_prime.jpg
1639 ms
eko_range.jpg
2033 ms
home_interior2_sep.png
460 ms
video-on-1.png
724 ms
handshake.png
664 ms
sprout.png
660 ms
home_ok.png
1621 ms
bar-chart.png
1600 ms
dotted-worldmap-1024x510.png
1600 ms
molecules-1.png
181 ms
show_ads_impl.js
408 ms
zrt_lookup_nohtml.html
43 ms
epda-icomoon.ttf
1239 ms
recycling-1.png
376 ms
engineered_pellets.jpg
710 ms
quality_assurance-2.jpg
676 ms
1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvoorCIPrQ.ttf
77 ms
1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrQ.ttf
322 ms
1Ptxg8zYS_SKggPN4iEgvnHyvveLxVuEorCIPrQ.ttf
336 ms
1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvao7CIPrQ.ttf
360 ms
1Ptxg8zYS_SKggPN4iEgvnHyvveLxVs9pbCIPrQ.ttf
362 ms
mfn-icons.woff
1471 ms
1Pt_g8zYS_SKggPNyCgSQamb1W0lwk4S4WjMDrMfJQ.ttf
358 ms
Original-ISO-9001-LOGO.png
298 ms
4iCv6KVjbNBYlgoC1CzjsGyI.ttf
317 ms
4iCs6KVjbNBYlgoKfw7z.ttf
318 ms
4iCv6KVjbNBYlgoCjC3jsGyI.ttf
320 ms
4iCv6KVjbNBYlgoCxCvjsGyI.ttf
320 ms
Original-ISO-9001-LOGO.png
1643 ms
molecules-1.png
1633 ms
eko-range-960x440.png
2223 ms
launch_header-960x440.png
1907 ms
js
315 ms
analytics.js
232 ms
Original-ISO-9001-LOGO.png
1450 ms
recycling-1.png
1621 ms
wp-emoji-release.min.js
1530 ms
email.png
103 ms
home_phone1.png
100 ms
newletter.png
101 ms
truck256.png
191 ms
collect
96 ms
collect
91 ms
email.png
1639 ms
home_phone1.png
1786 ms
newletter.png
1829 ms
ads
51 ms
factory.png
80 ms
list_check.png
1555 ms
truck256.png
1754 ms
polymers2.jpg
75 ms
stripes_3_b.png
1618 ms
videomask.png
1621 ms
factory.png
1787 ms
polymers2.jpg
1963 ms
recaptcha__en.js
29 ms
revolution.extension.slideanims.min.js
1242 ms
revolution.extension.layeranimation.min.js
1283 ms
revolution.extension.navigation.min.js
1293 ms
S6u9w4BMUTPHh6UVSwiPHA.ttf
6 ms
S6u9w4BMUTPHh50XSwiPHA.ttf
20 ms
S6uyw4BMUTPHjx4wWw.ttf
18 ms
S6u9w4BMUTPHh7USSwiPHA.ttf
20 ms
S6u8w4BMUTPHh30AXC-v.ttf
20 ms
nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_qiTXtHA_A.ttf
19 ms
memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsg-1x4gaVc.ttf
20 ms
memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjr0B4gaVc.ttf
21 ms
memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsjZ0B4gaVc.ttf
22 ms
memSYaGs126MiZpBA-UvWbX2vVnXBbObj2OVZyOOSr4dVJWUgsiH0B4gaVc.ttf
21 ms
home_slider1-100x50.jpg
85 ms
home_slider2-100x50.jpg
87 ms
home_slider3-100x50.jpg
83 ms
pvc_prime-100x50.jpg
90 ms
eko_range-100x50.jpg
90 ms
revicons.woff
153 ms
mb.png
2385 ms
northernpolymersandplastics.com 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.
Navigation
These are opportunities to improve keyboard navigation in your application.
Impact
Issue
Heading elements are not in a sequentially-descending order
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
Best practices
These items highlight common accessibility best practices.
Impact
Issue
[user-scalable="no"] is used in the <meta name="viewport"> element or the [maximum-scale] attribute is less than 5.
northernpolymersandplastics.com best practices score
Trust and Safety
Impact
Issue
Does not use HTTPS
Includes front-end JavaScript libraries with known security vulnerabilities
Ensure CSP is effective against XSS attacks
User Experience
Impact
Issue
Displays images with incorrect aspect ratio
Serves images with low resolution
General
Impact
Issue
Detected JavaScript libraries
Browser errors were logged to the console
Page has valid source maps
Issues were logged in the Issues panel in Chrome Devtools
northernpolymersandplastics.com 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 Northernpolymersandplastics.com 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 Northernpolymersandplastics.com 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.
northernpolymersandplastics.com
Open Graph data is detected on the main page of Northern Polymers And Plastics. This is the best way to make the web page social media friendly. Here is how it looks like on Facebook: