547 ms in total
61 ms
415 ms
71 ms
Welcome to hypnosiswashingtondc.com homepage info - get ready to check Hypnosis Washington DC best content right away, or after learning these important things about hypnosiswashingtondc.com
Washington DC Hypnosis Center offers hypnosis sessions and training in Maryland, Virginia and DC for weight loss, to stop smoking, stress relief and more...
Visit hypnosiswashingtondc.comWe analyzed Hypnosiswashingtondc.com page load time and found that the first response time was 61 ms and then it took 486 ms to load all DOM resources and completely render a web page. This is quite a good result, as only 10% of websites can load faster.
hypnosiswashingtondc.com performance score
name
value
score
weighting
Value2.0 s
84/100
10%
Value5.5 s
19/100
25%
Value2.6 s
97/100
10%
Value310 ms
77/100
30%
Value0.37
29/100
15%
Value5.3 s
72/100
10%
61 ms
100 ms
39 ms
7 ms
14 ms
Our browser made a total of 48 requests to load all elements on the main page. We found that 71% of them (34 requests) were addressed to the original Hypnosiswashingtondc.com, 13% (6 requests) were made to and 4% (2 requests) were made to Google-analytics.com. The less responsive or slowest element that took the longest time to load (116 ms) belongs to the original domain Hypnosiswashingtondc.com.
Page size can be reduced by 62.0 kB (24%)
259.9 kB
197.9 kB
In fact, the total size of Hypnosiswashingtondc.com main page is 259.9 kB. This result falls beyond the top 1M of websites and identifies a large and not optimized web page that may take ages to load. 40% of websites need less resources to load. Javascripts take 88.5 kB which makes up the majority of the site volume.
Potential reduce by 58.2 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 58.2 kB or 77% of the original size.
Potential reduce by 3.0 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. Hypnosis Washington DC images are well optimized though.
Potential reduce by 269 B
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.
Potential reduce by 473 B
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. Hypnosiswashingtondc.com has all CSS files already compressed.
Number of requests can be reduced by 24 (62%)
39
15
The browser has sent 39 CSS, Javascripts, AJAX and image requests in order to completely render the main page of Hypnosis Washington DC. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 14 to 1 for JavaScripts and from 12 to 1 for CSS and as a result speed up the page load time.
hypnosiswashingtondc.com
61 ms
hypnosiswashingtondc.com
100 ms
css
39 ms
bmV3IE9mZnNjcmVlbkNhbnZhcygzMDAsMTUwKTppLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGE9ci5nZXRDb250ZXh0KCIyZCIse3dpbGxSZWFkRnJlcXVlbnRseTohMH0pLG89KGEudGV4dEJhc2VsaW5lPSJ0b3AiLGEuZm9udD0iNjAwIDMycHggQXJpYWwiLHt9KTtyZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe29bZV09dChhLGUsbil9KSxvfWZ1bmN0aW9uIHQoZSl7dmFyIHQ9aS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTt0LnNyYz1lLHQuZGVmZXI9ITAsaS5oZWFkLmFwcGVuZENoaWxkKHQpfSJ1bmRlZmluZWQiIT10eXBlb2YgUHJvbWlzZSYmKG89IndwRW1vamlTZXR0aW5nc1N1cHBvcnRzIixzPVsiZmxhZyIsImVtb2ppIl0sbi5zdXBwb3J0cz17ZXZlcnl0aGluZzohMCxldmVyeXRoaW5nRXhjZXB0RmxhZzohMH0sZT1uZXcgUHJvbWlzZShmdW5jdGlvbihlKXtpLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGUse29uY2U6ITB9KX0pLG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe3ZhciBuPWZ1bmN0aW9uKCl7dHJ5e3ZhciBlPUpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShvKSk7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiYibnVtYmVyIj09dHlwZW9mIGUudGltZXN0YW1wJiYobmV3IERhdGUpLnZhbHVlT2YoKTxlLnRpbWVzdGFtcCs2MDQ4MDAmJiJvYmplY3QiPT10eXBlb2YgZS5zdXBwb3J0VGVzdHMpcmV0dXJuIGUuc3VwcG9ydFRlc3RzfWNhdGNoKGUpe31yZXR1cm4gbnVsbH0oKTtpZighbil7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBXb3JrZXImJiJ1bmRlZmluZWQiIT10eXBlb2YgT2Zmc2NyZWVuQ2FudmFzJiYidW5kZWZpbmVkIiE9dHlwZW9mIFVSTCYmVVJMLmNyZWF0ZU9iamVjdFVSTCYmInVuZGVmaW5lZCIhPXR5cGVvZiBCbG9iKXRyeXt2YXIgZT0icG9zdE1lc3NhZ2UoIitmLnRvU3RyaW5nKCkrIigiK1tKU09OLnN0cmluZ2lmeShzKSx1LnRvU3RyaW5nKCkscC50b1N0cmluZygpXS5qb2luKCIsIikrIikpOyIscj1uZXcgQmxvYihbZV0se3R5cGU6InRleHQvamF2YXNjcmlwdCJ9KSxhPW5ldyBXb3JrZXIoVVJMLmNyZWF0ZU9iamVjdFVSTChyKSx7bmFtZToid3BUZXN0RW1vamlTdXBwb3J0cyJ9KTtyZXR1cm4gdm9pZChhLm9ubWVzc2FnZT1mdW5jdGlvbihlKXtjKG49ZS5kYXRhKSxhLnRlcm1pbmF0ZSgpLHQobil9KX1jYXRjaChlKXt9YyhuPWYocyx1LHApKX10KG4pfSkudGhlbihmdW5jdGlvbihlKXtmb3IodmFyIHQgaW4gZSluLnN1cHBvcnRzW3RdPWVbdF0sbi5zdXBwb3J0cy5ldmVyeXRoaW5nPW4uc3VwcG9ydHMuZXZlcnl0aGluZyYmbi5zdXBwb3J0c1t0XSwiZmxhZyIhPT10JiYobi5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZz1uLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnJiZuLnN1cHBvcnRzW3RdKTtuLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnPW4uc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWcmJiFuLnN1cHBvcnRzLmZsYWcsbi5ET01SZWFkeT0hMSxuLnJlYWR5Q2FsbGJhY2s9ZnVuY3Rpb24oKXtuLkRPTVJlYWR5PSEwfX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZX0pLnRoZW4oZnVuY3Rpb24oKXt2YXIgZTtuLnN1cHBvcnRzLmV2ZXJ5dGhpbmd8fChuLnJlYWR5Q2FsbGJhY2soKSwoZT1uLnNvdXJjZXx8e30pLmNvbmNhdGVtb2ppP3QoZS5jb25jYXRlbW9qaSk6ZS53cGVtb2ppJiZlLnR3ZW1vamkmJih0KGUudHdlbW9qaSksdChlLndwZW1vamkpKSl9KSl9KCh3aW5kb3csZG9jdW1lbnQpLHdpbmRvdy5fd3BlbW9qaVNldHRpbmdzKTsKLyogXV0+ICovCg==
7 ms
autoptimize_single_8119e4526930fc0dc8ddf75753e8487f.css
14 ms
autoptimize_single_d7da81b782080978068e252090727a91.css
41 ms
autoptimize_single_f036ae7d0a32aad6267608ae2f631f59.css
38 ms
style.min.css
31 ms
autoptimize_single_eeb616c7d096549b9792359164dafe24.css
36 ms
font-awesome.min.css
41 ms
autoptimize_single_7f19be3472a3b12fd25a499bf583e42e.css
30 ms
autoptimize_single_180548c085ebd8c92bedca9e4a0d9a3e.css
47 ms
lightbox.min.css
43 ms
jquery.min.js
42 ms
jquery-migrate.min.js
76 ms
mailchimp-widget-min.js
75 ms
autoptimize_single_d9891229dce745b851e04889bb95482c.js
76 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgdmxwcF92YXJzID0geyJwcmV0dHlQaG90b19yZWwiOiJ3cC12aWRlby1saWdodGJveCIsImFuaW1hdGlvbl9zcGVlZCI6ImZhc3QiLCJzbGlkZXNob3ciOiI1MDAwIiwiYXV0b3BsYXlfc2xpZGVzaG93IjoiZmFsc2UiLCJvcGFjaXR5IjoiMC44MCIsInNob3dfdGl0bGUiOiJ0cnVlIiwiYWxsb3dfcmVzaXplIjoidHJ1ZSIsImFsbG93X2V4cGFuZCI6InRydWUiLCJkZWZhdWx0X3dpZHRoIjoiNjQwIiwiZGVmYXVsdF9oZWlnaHQiOiI0ODAiLCJjb3VudGVyX3NlcGFyYXRvcl9sYWJlbCI6IlwvIiwidGhlbWUiOiJwcF9kZWZhdWx0IiwiaG9yaXpvbnRhbF9wYWRkaW5nIjoiMjAiLCJoaWRlZmxhc2giOiJmYWxzZSIsIndtb2RlIjoib3BhcXVlIiwiYXV0b3BsYXkiOiJmYWxzZSIsIm1vZGFsIjoiZmFsc2UiLCJkZWVwbGlua2luZyI6ImZhbHNlIiwib3ZlcmxheV9nYWxsZXJ5IjoidHJ1ZSIsIm92ZXJsYXlfZ2FsbGVyeV9tYXgiOiIzMCIsImtleWJvYXJkX3Nob3J0Y3V0cyI6InRydWUiLCJpZTZfZmFsbGJhY2siOiJ0cnVlIn07Ci8qIF1dPiAqLwo=
4 ms
autoptimize_single_692ca015a3c1d503059893eae7bb90df.js
75 ms
jquery.maskedinput.min.js
79 ms
jquery.json.min.js
83 ms
gravityforms.min.js
80 ms
JyArIG5hbWUgKyAnPScgKyB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICB2YXIgZGVsaW1ldGVyID0gbWF0Y2hlc1swXS5jaGFyQXQoMCk7DQogICAgICAgICAgICAgICAgICAgIG5ld1N0cmluZyA9IHN0cmluZy5yZXBsYWNlKHJlLCBkZWxpbWV0ZXIgKyBuYW1lICsgIj0iICsgdmFsdWUpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gbmV3U3RyaW5nOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
2 ms
javascript;base64,CiAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgdmFyIHNsaWRlcjsgICAgCiAgICAgICAgICAgdmFyIGludGVydmFsXzY2ZDIwMjhjMGI0MDEgPSBzZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgCiAgICAgICAgICAgaWYoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJykgewogIAogICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxfNjZkMjAyOGMwYjQwMSk7CgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBqUXVlcnkoIiNkaXZTbGlkZXJNYWluIikuc2hvdygpOwogICAgICAgICAgICAgICAgdmFyIHNsaWRlck1haW5IdG1sPWpRdWVyeSgnI2RpdlNsaWRlck1haW4nKS5odG1sKCk7ICAgCiAgICAgICAgICAgICAgICBzbGlkZXI9IGpRdWVyeSgnLnJlc3BvbnNpdmVTbGlkZXInKS5ieFNsaWRlcih7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZVdpZHRoOiAyNDAsCiAgICAgICAgICAgICAgICAgICAgICAgbWluU2xpZGVzOiAxLAogICAgICAgICAgICAgICAgICAgICAgIG1heFNsaWRlczogNCwKICAgICAgICAgICAgICAgICAgICAgICBtb3ZlU2xpZGVzOiAxLAogICAgICAgICAgICAgICAgICAgICAgIHNsaWRlTWFyZ2luOiA1LCAgCiAgICAgICAgICAgICAgICAgICAgICAgc3BlZWQ6MTUwMCwKICAgICAgICAgICAgICAgICAgICAgICBwYXVzZToxMDAwLAogICAgICAgICAgICAgICAgICAgICAgIHRvdWNoRW5hYmxlZDp0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvSG92ZXI6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sczpmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VyOmZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgIHVzZUNTUzpmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXB0aW9uczpmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlcjpmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvOnRydWUsICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZpbml0ZUxvb3A6IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU2xpZGVCZWZvcmU6IGZ1bmN0aW9uKHNsaWRlRWxlbWVudCl7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KHNsaWRlRWxlbWVudCkuZmluZCgnaW1nJykuZWFjaChmdW5jdGlvbihpbmRleCwgZWxtKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighZWxtLmNvbXBsZXRlIHx8IGVsbS5uYXR1cmFsV2lkdGggPT09IDApewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRvbG9hZD0nJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRvbG9hZHZhbD0nJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5LmVhY2goZWxtLmF0dHJpYnV0ZXMsIGZ1bmN0aW9uKGksIGF0dHJpYil7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gYXR0cmliLnZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFuYW1lPWF0dHJpYi5uYW1lOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwYXR0ZXJuID0gL14oKGh0dHB8aHR0cHMpOlwvXC8pLzsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihwYXR0ZXJuLnRlc3QodmFsdWUpICYmIGFuYW1lIT0nc3JjJyAmJiBhbmFtZS5pbmRleE9mKCdkYXRhLWh0bWw1X3Z1cmwnKT09LTEpIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9sb2FkPWFuYW1lOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvbG9hZHZhbD12YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkbyB5b3VyIG1hZ2ljIDotKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZzcmM9IGpRdWVyeShlbG0pLmF0dHIoInNyYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVBdHRyKCJzcmMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHNyYz0galF1ZXJ5KGVsbSkuYXR0cigiZGF0YS1zcmMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHNyYz0galF1ZXJ5KGVsbSkuYXR0cigiZGF0YS1sYXp5LXNyYyIpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZHNyYyE9PSB1bmRlZmluZWQgJiYgZHNyYyE9JycgJiYgZHNyYyE9dnNyYyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLmF0dHIoInNyYyIsZHNyYyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGxzcmMhPT0gdW5kZWZpbmVkICYmIGxzcmMhPXZzcmMpewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KGVsbSkuYXR0cigic3JjIixsc3JjKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRvbG9hZCE9JycgJiYgdG9sb2FkIT0nc3Jjc2V0JyAmJiB0b2xvYWR2YWwhPScnICYmIHRvbG9hZHZhbCE9dnNyYyl7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoZWxtKS5hdHRyKCJzcmMiLHRvbG9hZHZhbCk7CgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLmF0dHIoInNyYyIsdnNyYyk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxtPSBqUXVlcnkoZWxtKVswXTsgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIWVsbS5jb21wbGV0ZSAmJiBlbG0ubmF0dXJhbEhlaWdodCA9PSAwKXsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KGVsbSkucmVtb3ZlQXR0cignbG9hZGluZycpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLnJlbW92ZUF0dHIoJ2RhdGEtbGF6eS10eXBlJyk7CgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVDbGFzcygnbGF6eScpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVDbGFzcygnbGF6eUxvYWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVDbGFzcygnbGF6eS1sb2FkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVDbGFzcygnamV0cGFjay1sYXp5LWltYWdlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KGVsbSkucmVtb3ZlQ2xhc3MoJ2pldHBhY2stbGF6eS1pbWFnZS0taGFuZGxlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLnJlbW92ZUNsYXNzKCdsYXp5LWhpZGRlbicpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgIH0sICAgIAogICAgICAgICAgICAgICAgICAgICAgICBvblNsaWRlckxvYWQ6IGZ1bmN0aW9uKCl7CgoKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICB9KTsKCgogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgdmFyIGlzX2ZpcmVmb3g9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoJ2ZpcmVmb3gnKSA+IC0xOyAgCiAgICAgICAgICAgICAgICAgICAgIHZhciBpc19hbmRyb2lkPW5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCdhbmRyb2lkJykgPiAtMTsKICAgICAgICAgICAgICAgICAgICAgdmFyIGlzX2lwaG9uZT1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZignaXBob25lJykgPiAtMTsKICAgICAgICAgICAgICAgICAgICAgdmFyIHdpZHRoID0galF1ZXJ5KHdpbmRvdykud2lkdGgoKTsKICAgICAgICAgICAgICAgICAgICBpZihpc19maXJlZm94ICYmIChpc19hbmRyb2lkIHx8IGlzX2lwaG9uZSkpewoKICAgICAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRpbWVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkod2luZG93KS5iaW5kKCdyZXNpemUnLCBmdW5jdGlvbigpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihqUXVlcnkod2luZG93KS53aWR0aCgpICE9IHdpZHRoKXsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IGpRdWVyeSh3aW5kb3cpLndpZHRoKCk7IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXIgJiYgY2xlYXJUaW1lb3V0KHRpbWVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVyID0gc2V0VGltZW91dChvblJlc2l6ZSwgNjAwKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICB9ICAgIAoKICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9uUmVzaXplKCl7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCcjZGl2U2xpZGVyTWFpbicpLmh0bWwoJycpOyAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCcjZGl2U2xpZGVyTWFpbicpLmh0bWwoc2xpZGVyTWFpbkh0bWwpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc2xpZGVyPSBqUXVlcnkoJy5yZXNwb25zaXZlU2xpZGVyJykuYnhTbGlkZXIoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVXaWR0aDogMjQwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pblNsaWRlczogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhTbGlkZXM6IDQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW92ZVNsaWRlczogMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZU1hcmdpbjogNSwgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWVkOjE1MDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF1c2U6MTAwMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3VjaEVuYWJsZWQ6dHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b0hvdmVyOiB0cnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbHM6ZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlcjpmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VDU1M6ZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXB0aW9uczpmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlcjpmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG86dHJ1ZSwgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZmluaXRlTG9vcDogdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNsaWRlQmVmb3JlOiBmdW5jdGlvbihzbGlkZUVsZW1lbnQpewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KHNsaWRlRWxlbWVudCkuZmluZCgnaW1nJykuZWFjaChmdW5jdGlvbihpbmRleCwgZWxtKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFlbG0uY29tcGxldGUgfHwgZWxtLm5hdHVyYWxXaWR0aCA9PT0gMCl7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2xvYWQ9Jyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRvbG9hZHZhbD0nJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkuZWFjaChlbG0uYXR0cmlidXRlcywgZnVuY3Rpb24oaSwgYXR0cmliKXsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IGF0dHJpYi52YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFuYW1lPWF0dHJpYi5uYW1lOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBhdHRlcm4gPSAvXigoaHR0cHxodHRwcyk6XC9cLykvOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocGF0dGVybi50ZXN0KHZhbHVlKSAmJiBhbmFtZSE9J3NyYycgJiYgYW5hbWUuaW5kZXhPZignZGF0YS1odG1sNV92dXJsJyk9PS0xKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9sb2FkPWFuYW1lOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9sb2FkdmFsPXZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkbyB5b3VyIG1hZ2ljIDotKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2c3JjPSBqUXVlcnkoZWxtKS5hdHRyKCJzcmMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVBdHRyKCJzcmMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkc3JjPSBqUXVlcnkoZWxtKS5hdHRyKCJkYXRhLXNyYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxzcmM9IGpRdWVyeShlbG0pLmF0dHIoImRhdGEtbGF6eS1zcmMiKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoZHNyYyE9PSB1bmRlZmluZWQgJiYgZHNyYyE9JycgJiYgZHNyYyE9dnNyYyl7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KGVsbSkuYXR0cigic3JjIixkc3JjKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGxzcmMhPT0gdW5kZWZpbmVkICYmIGxzcmMhPXZzcmMpewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5hdHRyKCJzcmMiLGxzcmMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKHRvbG9hZCE9JycgJiYgdG9sb2FkIT0nc3Jjc2V0JyAmJiB0b2xvYWR2YWwhPScnICYmIHRvbG9hZHZhbCE9dnNyYyl7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJChlbG0pLmF0dHIoInNyYyIsdG9sb2FkdmFsKTsKCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KGVsbSkuYXR0cigic3JjIix2c3JjKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gICAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxtPSBqUXVlcnkoZWxtKVswXTsgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighZWxtLmNvbXBsZXRlICYmIGVsbS5uYXR1cmFsSGVpZ2h0ID09IDApewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLnJlbW92ZUF0dHIoJ2xvYWRpbmcnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLnJlbW92ZUF0dHIoJ2RhdGEtbGF6eS10eXBlJyk7CgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLnJlbW92ZUNsYXNzKCdsYXp5Jyk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KGVsbSkucmVtb3ZlQ2xhc3MoJ2xhenlMb2FkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVDbGFzcygnbGF6eS1sb2FkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLnJlbW92ZUNsYXNzKCdqZXRwYWNrLWxhenktaW1hZ2UnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLnJlbW92ZUNsYXNzKCdqZXRwYWNrLWxhenktaW1hZ2UtLWhhbmRsZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLnJlbW92ZUNsYXNzKCdsYXp5LWhpZGRlbicpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgoKICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIH0gICAgCiAgICAgICAgfSwgMTAwKTsKCgogICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigpIHsKCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpeyAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGpRdWVyeSgiLnJlc3BvbnNpdmVTbGlkZXIiKS5maW5kKCcuYngtbG9hZGluZycpLmxlbmd0aD4wKXsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KCIucmVzcG9uc2l2ZVNsaWRlciIpLmZpbmQoJ2ltZycpLmVhY2goZnVuY3Rpb24oaW5kZXgsIGVsbSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCFlbG0uY29tcGxldGUgfHwgZWxtLm5hdHVyYWxXaWR0aCA9PT0gMCl7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0b2xvYWQ9Jyc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRvbG9hZHZhbD0nJzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkuZWFjaCh0aGlzLmF0dHJpYnV0ZXMsIGZ1bmN0aW9uKGksIGF0dHJpYil7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gYXR0cmliLnZhbHVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGFuYW1lPWF0dHJpYi5uYW1lOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwYXR0ZXJuID0gL14oKGh0dHB8aHR0cHMpOlwvXC8pLzsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihwYXR0ZXJuLnRlc3QodmFsdWUpICYmIGFuYW1lIT0nc3JjJykgewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9sb2FkPWFuYW1lOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2xvYWR2YWw9dmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZG8geW91ciBtYWdpYyA6LSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnNyYz1qUXVlcnkoZWxtKS5hdHRyKCJzcmMiKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLnJlbW92ZUF0dHIoInNyYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHNyYz1qUXVlcnkoZWxtKS5hdHRyKCJkYXRhLXNyYyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHNyYz1qUXVlcnkoZWxtKS5hdHRyKCJkYXRhLWxhenktc3JjIik7CgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKGRzcmMhPT0gdW5kZWZpbmVkICYmIGRzcmMhPScnICYmIGRzcmMhPXZzcmMpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KGVsbSkuYXR0cigic3JjIixkc3JjKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKGxzcmMhPT0gdW5kZWZpbmVkICYmIGxzcmMhPXZzcmMpewoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5hdHRyKCJzcmMiLGxzcmMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYodG9sb2FkIT0nJyAmJiB0b2xvYWQhPSdzcmNzZXQnICYmIHRvbG9hZHZhbCE9JycgJiYgdG9sb2FkdmFsIT12c3JjKXsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KGVsbSkucmVtb3ZlQXR0cih0b2xvYWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLmF0dHIoInNyYyIsdG9sb2FkdmFsKTsKCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZXsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5hdHRyKCJzcmMiLHZzcmMpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gICAKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbG09alF1ZXJ5KGVsbSlbMF07ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoIWVsbS5jb21wbGV0ZSAmJiBlbG0ubmF0dXJhbEhlaWdodCA9PSAwKXsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVBdHRyKCdsb2FkaW5nJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVBdHRyKCdkYXRhLWxhenktdHlwZScpOwoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVDbGFzcygnbGF6eScpOwoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeShlbG0pLnJlbW92ZUNsYXNzKCdsYXp5TG9hZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgalF1ZXJ5KGVsbSkucmVtb3ZlQ2xhc3MoJ2xhenktbG9hZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVDbGFzcygnamV0cGFjay1sYXp5LWltYWdlJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVDbGFzcygnamV0cGFjay1sYXp5LWltYWdlLS1oYW5kbGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqUXVlcnkoZWxtKS5yZW1vdmVDbGFzcygnbGF6eS1oaWRkZW4nKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KS5wcm9taXNlKCkuZG9uZSggZnVuY3Rpb24oKXsgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpRdWVyeSgiLnJlc3BvbnNpdmVTbGlkZXIiKS5maW5kKCcuYngtbG9hZGluZycpLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ICk7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCA2MDAwKTsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICA=
2 ms
hover-min.css
78 ms
javascript;base64,KGZ1bmN0aW9uKGQsIHMsIGlkKSB7DQogIHZhciBqcywgZmpzID0gZC5nZXRFbGVtZW50c0J5VGFnTmFtZShzKVswXTsNCiAgaWYgKGQuZ2V0RWxlbWVudEJ5SWQoaWQpKSByZXR1cm47DQogIGpzID0gZC5jcmVhdGVFbGVtZW50KHMpOyBqcy5pZCA9IGlkOw0KICBqcy5zcmMgPSAiLy9jb25uZWN0LmZhY2Vib29rLm5ldC9lbl9VUy9zZGsuanMjeGZibWw9MSZ2ZXJzaW9uPXYyLjUmYXBwSWQ9MTY0OTI5NTkxNTI4NDcyMSI7DQogIGZqcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShqcywgZmpzKTsNCn0oZG9jdW1lbnQsICdzY3JpcHQnLCAnZmFjZWJvb2stanNzZGsnKSk7
2 ms
autoptimize_single_1af0b3332c6f242922d79668a9af139e.css
87 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgSlFMQlNldHRpbmdzID0geyJmaXRUb1NjcmVlbiI6IjEiLCJyZXNpemVTcGVlZCI6IjQwMCIsImRpc3BsYXlEb3dubG9hZExpbmsiOiIwIiwibmF2YmFyT25Ub3AiOiIwIiwibG9vcEltYWdlcyI6IiIsInJlc2l6ZUNlbnRlciI6IiIsIm1hcmdpblNpemUiOiIyMCIsImxpbmtUYXJnZXQiOiIiLCJoZWxwIjoiIiwicHJldkxpbmtUaXRsZSI6InByZXZpb3VzIGltYWdlIiwibmV4dExpbmtUaXRsZSI6Im5leHQgaW1hZ2UiLCJwcmV2TGlua1RleHQiOiJcdTAwYWIgUHJldmlvdXMiLCJuZXh0TGlua1RleHQiOiJOZXh0IFx1MDBiYiIsImNsb3NlVGl0bGUiOiJjbG9zZSBpbWFnZSBnYWxsZXJ5IiwiaW1hZ2UiOiJJbWFnZSAiLCJvZiI6IiBvZiAiLCJkb3dubG9hZCI6IkRvd25sb2FkIiwianFsYl9vdmVybGF5X29wYWNpdHkiOiI4MCIsImpxbGJfb3ZlcmxheV9jb2xvciI6IiMwMDAwMDAiLCJqcWxiX292ZXJsYXlfY2xvc2UiOiIxIiwianFsYl9ib3JkZXJfd2lkdGgiOiIxMCIsImpxbGJfYm9yZGVyX2NvbG9yIjoiI2ZmZmZmZiIsImpxbGJfYm9yZGVyX3JhZGl1cyI6IjAiLCJqcWxiX2ltYWdlX2luZm9fYmFja2dyb3VuZF90cmFuc3BhcmVuY3kiOiIxMDAiLCJqcWxiX2ltYWdlX2luZm9fYmdfY29sb3IiOiIjZmZmZmZmIiwianFsYl9pbWFnZV9pbmZvX3RleHRfY29sb3IiOiIjMDAwMDAwIiwianFsYl9pbWFnZV9pbmZvX3RleHRfZm9udHNpemUiOiIxMCIsImpxbGJfc2hvd190ZXh0X2Zvcl9pbWFnZSI6IjEiLCJqcWxiX25leHRfaW1hZ2VfdGl0bGUiOiJuZXh0IGltYWdlIiwianFsYl9wcmV2aW91c19pbWFnZV90aXRsZSI6InByZXZpb3VzIGltYWdlIiwianFsYl9uZXh0X2J1dHRvbl9pbWFnZSI6Imh0dHBzOlwvXC9oeXBub3Npc3dhc2hpbmd0b25kYy5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL3dwLWxpZ2h0Ym94LTJcL3N0eWxlc1wvaW1hZ2VzXC9uZXh0LmdpZiIsImpxbGJfcHJldmlvdXNfYnV0dG9uX2ltYWdlIjoiaHR0cHM6XC9cL2h5cG5vc2lzd2FzaGluZ3RvbmRjLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvd3AtbGlnaHRib3gtMlwvc3R5bGVzXC9pbWFnZXNcL3ByZXYuZ2lmIiwianFsYl9tYXhpbXVtX3dpZHRoIjoiIiwianFsYl9tYXhpbXVtX2hlaWdodCI6IiIsImpxbGJfc2hvd19jbG9zZV9idXR0b24iOiIxIiwianFsYl9jbG9zZV9pbWFnZV90aXRsZSI6ImNsb3NlIGltYWdlIGdhbGxlcnkiLCJqcWxiX2Nsb3NlX2ltYWdlX21heF9oZWdodCI6IjIyIiwianFsYl9pbWFnZV9mb3JfY2xvc2VfbGlnaHRib3giOiJodHRwczpcL1wvaHlwbm9zaXN3YXNoaW5ndG9uZGMuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC93cC1saWdodGJveC0yXC9zdHlsZXNcL2ltYWdlc1wvY2xvc2VsYWJlbC5naWYiLCJqcWxiX2tleWJvYXJkX25hdmlnYXRpb24iOiIxIiwianFsYl9wb3B1cF9zaXplX2ZpeCI6IjAifTsKLyogXV0+ICovCg==
2 ms
wp-lightbox-2.min.js
84 ms
autoptimize_single_083cd7af036ce365d27810a2b2ac5b19.js
116 ms
analytics.js
72 ms
dclogo-1.png
63 ms
request-your-free-consultation-top-button-1.gif
49 ms
training5_160_240.jpg
50 ms
timthumb.php__160_240.jpg
63 ms
weightloss4_160_240.jpg
49 ms
golf5_160_240.jpg
64 ms
hypnosis-sessions-front-page-button.gif
64 ms
Keeping-Calm-button-1.gif
64 ms
virtual-hypnosis-front-page-button.gif
64 ms
icon-li-footer.png
93 ms
icon-search.png
91 ms
font
68 ms
sdk.js
53 ms
collect
30 ms
sdk.js
5 ms
92 ms
js
61 ms
hypnosiswashingtondc.com accessibility score
ARIA
These are opportunities to improve the usage of ARIA in your application which may enhance the experience for users of assistive technology, like a screen reader.
Impact
Issue
[aria-hidden="true"] elements contain focusable descendents
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
Image elements do not have [alt] attributes
Links do not have a discernible name
hypnosiswashingtondc.com best practices score
Trust and Safety
Impact
Issue
Does not use HTTPS
Ensure CSP is effective against XSS attacks
User Experience
Impact
Issue
Serves images with low resolution
General
Impact
Issue
Detected JavaScript libraries
hypnosiswashingtondc.com SEO score
Content Best Practices
Format your HTML in a way that enables crawlers to better understand your app’s content.
Impact
Issue
Image elements do not have [alt] attributes
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
EN
EN
UTF-8
Language claimed in HTML meta tag should match the language actually used on the web page. Otherwise Hypnosiswashingtondc.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 Hypnosiswashingtondc.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.
hypnosiswashingtondc.com
Open Graph data is detected on the main page of Hypnosis Washington DC. This is the best way to make the web page social media friendly. Here is how it looks like on Facebook: