1.3 sec in total
78 ms
565 ms
693 ms
Click here to check amazing Pemi Shore Cottages content. Otherwise, check out these important facts you probably never knew about pemishorecottages.com
Private, cozy, rustic cottages on the Pemigewasset River. Visit Pemi Shore Cottages for great times fishing, boating, kayaking, or just soaking in the sun!
Visit pemishorecottages.comWe analyzed Pemishorecottages.com page load time and found that the first response time was 78 ms and then it took 1.3 sec to load all DOM resources and completely render a web page. This is quite a good result, as only 25% of websites can load faster.
pemishorecottages.com performance score
name
value
score
weighting
Value1.5 s
96/100
10%
Value1.5 s
100/100
25%
Value2.1 s
99/100
10%
Value750 ms
39/100
30%
Value0
100/100
15%
Value4.9 s
78/100
10%
78 ms
289 ms
89 ms
36 ms
67 ms
Our browser made a total of 30 requests to load all elements on the main page. We found that 73% of them (22 requests) were addressed to the original Pemishorecottages.com, 23% (7 requests) were made to and 3% (1 request) were made to Googletagmanager.com. The less responsive or slowest element that took the longest time to load (289 ms) belongs to the original domain Pemishorecottages.com.
Page size can be reduced by 158.8 kB (44%)
362.9 kB
204.1 kB
In fact, the total size of Pemishorecottages.com main page is 362.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. HTML takes 193.9 kB which makes up the majority of the site volume.
Potential reduce by 158.1 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 158.1 kB or 82% of the original size.
Potential reduce by 661 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.
Number of requests can be reduced by 20 (95%)
21
1
The browser has sent 21 CSS, Javascripts, AJAX and image requests in order to completely render the main page of Pemi Shore Cottages. We recommend that multiple CSS and JavaScript files should be merged into one by each type, as it can help reduce assets requests from 21 to 1 for JavaScripts and as a result speed up the page load time.
pemishorecottages.com
78 ms
pemishorecottages.com
289 ms
js
89 ms
frontend-gtag.min.js
36 ms
jquery.min.js
67 ms
jquery-migrate.min.js
88 ms
v4-shims.min.js
87 ms
javascript;base64,Y29uc3QgbGF6eWxvYWRSdW5PYnNlcnZlcj0oKT0+e2NvbnN0IGRhdGFBdHRyaWJ1dGU9J2RhdGEtZS1iZy1sYXp5bG9hZCc7Y29uc3QgbGF6eWxvYWRCYWNrZ3JvdW5kcz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGBbJHsgZGF0YUF0dHJpYnV0ZSB9XTpub3QoLmxhenlsb2FkZWQpYCk7Y29uc3QgbGF6eWxvYWRCYWNrZ3JvdW5kT2JzZXJ2ZXI9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzKT0+e2VudHJpZXMuZm9yRWFjaCgoZW50cnkpPT57aWYoZW50cnkuaXNJbnRlcnNlY3Rpbmcpe2xldCBsYXp5bG9hZEJhY2tncm91bmQ9ZW50cnkudGFyZ2V0O2NvbnN0IGxhenlsb2FkU2VsZWN0b3I9bGF6eWxvYWRCYWNrZ3JvdW5kLmdldEF0dHJpYnV0ZShkYXRhQXR0cmlidXRlKTtpZihsYXp5bG9hZFNlbGVjdG9yKXtsYXp5bG9hZEJhY2tncm91bmQ9ZW50cnkudGFyZ2V0LnF1ZXJ5U2VsZWN0b3IobGF6eWxvYWRTZWxlY3Rvcik7fQppZihsYXp5bG9hZEJhY2tncm91bmQpe2xhenlsb2FkQmFja2dyb3VuZC5jbGFzc0xpc3QuYWRkKCdsYXp5bG9hZGVkJyk7fQpsYXp5bG9hZEJhY2tncm91bmRPYnNlcnZlci51bm9ic2VydmUoZW50cnkudGFyZ2V0KTt9fSk7fSx7cm9vdE1hcmdpbjonMTAwcHggMHB4IDEwMHB4IDBweCd9KTtsYXp5bG9hZEJhY2tncm91bmRzLmZvckVhY2goKGxhenlsb2FkQmFja2dyb3VuZCk9PntsYXp5bG9hZEJhY2tncm91bmRPYnNlcnZlci5vYnNlcnZlKGxhenlsb2FkQmFja2dyb3VuZCk7fSk7fTtjb25zdCBldmVudHM9WydET01Db250ZW50TG9hZGVkJywnZWxlbWVudG9yL2xhenlsb2FkL29ic2VydmUnLF07ZXZlbnRzLmZvckVhY2goKGV2ZW50KT0+e2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsbGF6eWxvYWRSdW5PYnNlcnZlcik7fSk7
11 ms
lazysizes.min.js
104 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgZWlvX2xhenlfdmFycyA9IHsiZXhhY3Rkbl9kb21haW4iOiIiLCJza2lwX2F1dG9zY2FsZSI6MCwidGhyZXNob2xkIjowfTsKLyogXV0+ICovCg==
11 ms
lazysizes.min.js
106 ms
can.custom.min.js
106 ms
jquery.plugin.min.js
112 ms
jquery.datepick.min.js
114 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgTVBIQiA9IHsiX2RhdGEiOnsic2V0dGluZ3MiOnsiY3VycmVuY3kiOnsiY29kZSI6IlVTRCIsInByaWNlX2Zvcm1hdCI6IjxzcGFuIGNsYXNzPVwibXBoYi1jdXJyZW5jeVwiPiYjMzY7PFwvc3Bhbj4lcyIsImRlY2ltYWxzIjoyLCJkZWNpbWFsX3NlcGFyYXRvciI6Ii4iLCJ0aG91c2FuZF9zZXBhcmF0b3IiOiIsIn0sInNpdGVOYW1lIjoiUGVtaSBTaG9yZSBDb3R0YWdlcyIsImN1cnJlbnRMYW5ndWFnZSI6ImVuIiwiZmlyc3REYXkiOjEsIm51bWJlck9mTW9udGhDYWxlbmRhciI6MiwibnVtYmVyT2ZNb250aERhdGVwaWNrZXIiOjIsImRhdGVGb3JtYXQiOiJkZFwvbW1cL3l5eXkiLCJkYXRlVHJhbnNmZXJGb3JtYXQiOiJ5eXl5LW1tLWRkIiwidXNlQmlsbGluZyI6ZmFsc2UsInVzZUNvdXBvbnMiOmZhbHNlLCJkYXRlcGlja2VyQ2xhc3MiOiIiLCJjb3VudHJ5UmVxdWlyZWQiOnRydWUsImZ1bGxBZGRyZXNzUmVxdWlyZWQiOmZhbHNlLCJpc0RpcmVjdEJvb2tpbmciOnRydWV9LCJpc0FkbWluIjpmYWxzZSwidG9kYXkiOiIyMDI0LTExLTA4IiwiYWpheFVybCI6Imh0dHBzOlwvXC9wZW1pc2hvcmVjb3R0YWdlcy5jb21cL3dwLWFkbWluXC9hZG1pbi1hamF4LnBocCIsIm5vbmNlcyI6eyJtcGhiX3VwZGF0ZV9jaGVja291dF9pbmZvIjoiMTlkNmJjODdlYSIsIm1waGJfdXBkYXRlX3JhdGVfcHJpY2VzIjoiYWMwYjg2OGMzMiIsIm1waGJfZ2V0X2JpbGxpbmdfZmllbGRzIjoiOGIzODE5ODM2OSIsIm1waGJfYXBwbHlfY291cG9uIjoiZDFlMzBkYTk1NCIsIm1waGJfZ2V0X3Jvb21fdHlwZV9jYWxlbmRhcl9kYXRhIjoiNDQ3ZDE3MTFkNyIsIm1waGJfZ2V0X3Jvb21fdHlwZV9hdmFpbGFiaWxpdHlfZGF0YSI6IjBmODVjMzE4OTciLCJtcGhiX2NyZWF0ZV9zdHJpcGVfcGF5bWVudF9pbnRlbnQiOiJlNmQzZWJmNmRiIn0sInRyYW5zbGF0aW9ucyI6eyJlcnJvckhhc09jY3VyZWQiOiJBbiBlcnJvciBoYXMgb2NjdXJyZWQsIHBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIiwiYm9va2VkIjoiQm9va2VkIiwiYnVmZmVyIjoiQnVmZmVyIHRpbWUuIiwicGVuZGluZyI6IlBlbmRpbmciLCJhdmFpbGFibGUiOiJBdmFpbGFibGUiLCJub3RBdmFpbGFibGUiOiJOb3QgYXZhaWxhYmxlIiwiZWFybGllck1pbkFkdmFuY2UiOiJUaGlzIGlzIGVhcmxpZXIgdGhhbiBhbGxvd2VkIGJ5IG91ciBhZHZhbmNlIHJlc2VydmF0aW9uIHJ1bGVzLiIsImxhdGVyTWF4QWR2YW5jZSI6IlRoaXMgaXMgbGF0ZXIgdGhhbiBhbGxvd2VkIGJ5IG91ciBhZHZhbmNlIHJlc2VydmF0aW9uIHJ1bGVzLiIsIm5vdFN0YXlJbiI6Ik5vdCBzdGF5LWluIiwibm90Q2hlY2tJbiI6Ik5vdCBjaGVjay1pbiIsIm5vdENoZWNrT3V0IjoiTm90IGNoZWNrLW91dCIsInBhc3QiOiJEYXkgaW4gdGhlIHBhc3QiLCJjaGVja0luRGF0ZSI6IkNoZWNrLWluIGRhdGUiLCJsZXNzVGhhbk1pbkRheXNTdGF5IjoiTGVzcyB0aGFuIG1pbiBkYXlzIHN0YXkiLCJtb3JlVGhhbk1heERheXNTdGF5IjoiTW9yZSB0aGFuIG1heCBkYXlzIHN0YXkiLCJsYXRlclRoYW5NYXhEYXRlIjoiTGF0ZXIgdGhhbiBtYXggZGF0ZSBmb3IgY3VycmVudCBjaGVjay1pbiBkYXRlIiwicnVsZXMiOiJSdWxlczoiLCJ0b2tlbml6YXRpb25GYWlsdXJlIjoiVG9rZW5pc2F0aW9uIGZhaWxlZDogJXMiLCJyb29tc0FkZGVkVG9SZXNlcnZhdGlvbl9zaW5ndWxhciI6IiUxJGQgJnRpbWVzOyAmbGRxdW87JTIkcyZyZHF1bzsgaGFzIGJlZW4gYWRkZWQgdG8geW91ciByZXNlcnZhdGlvbi4iLCJyb29tc0FkZGVkVG9SZXNlcnZhdGlvbl9wbHVyYWwiOiIlMSRkICZ0aW1lczsgJmxkcXVvOyUyJHMmcmRxdW87IGhhdmUgYmVlbiBhZGRlZCB0byB5b3VyIHJlc2VydmF0aW9uLiIsImNvdW50Um9vbXNTZWxlY3RlZF9zaW5ndWxhciI6IiVzIGFjY29tbW9kYXRpb24gc2VsZWN0ZWQuIiwiY291bnRSb29tc1NlbGVjdGVkX3BsdXJhbCI6IiVzIGFjY29tbW9kYXRpb25zIHNlbGVjdGVkLiIsImVtcHR5Q291cG9uQ29kZSI6IkNvdXBvbiBjb2RlIGlzIGVtcHR5LiIsImNoZWNrSW5Ob3RWYWxpZCI6IkNoZWNrLWluIGRhdGUgaXMgbm90IHZhbGlkLiIsImNoZWNrT3V0Tm90VmFsaWQiOiJDaGVjay1vdXQgZGF0ZSBpcyBub3QgdmFsaWQuIiwic2VsZWN0RGF0ZXMiOiJTZWxlY3QgZGF0ZXMifSwicGFnZSI6eyJpc0NoZWNrb3V0UGFnZSI6ZmFsc2UsImlzU2luZ2xlUm9vbVR5cGVQYWdlIjpmYWxzZSwiaXNTZWFyY2hSZXN1bHRzUGFnZSI6ZmFsc2UsImlzQ3JlYXRlQm9va2luZ1BhZ2UiOmZhbHNlfSwiZ2F0ZXdheXMiOltdLCJyb29tVHlwZUlkIjowfX07Ci8qIF1dPiAqLwo=
9 ms
mphb.min.js
153 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgYWxvaGFfbXBoYiA9IHsiaXNfZGVtbyI6IiIsInJvb21fZmllbGRzIjp7ImFkdWx0cyI6MiwiY2hpbGRyZW4iOjAsImd1ZXN0LW5hbWUiOiJTdGV2ZW4gTGFuZSJ9LCJjdXN0b21lcl9maWVsZHMiOnsiZmlyc3RfbmFtZSI6IlN0ZXZlbiIsImxhc3RfbmFtZSI6IkxhbmUiLCJwaG9uZSI6IjYwNC00MDItNTI5MCIsImNvdW50cnkiOiJDQSIsIm5vdGUiOiJJIHdvdWxkIGxpa2UgdG8gcmVxdWVzdCBhIGxhdGUgY2hlY2tvdXQuIFRoYW5rIHlvdS4ifX07Ci8qIF1dPiAqLwo=
9 ms
autoptimize_single_db37ff8b464fbe3a5cfc9da03c82e56f.js
112 ms
autoptimize_single_9fd429acc6a0a63372b13e698dcbdc7b.js
116 ms
vendor_footer.min.js
157 ms
autoptimize_single_17dd18907a48867abcb5aa9032224d46.js
150 ms
autoptimize_single_464bdffb6d00c9ee3a2441dd316cc007.js
150 ms
JGNsZWFyX3dpdGhfYnV0dG9uLmNzcygndmlzaWJpbGl0eScsJ3Zpc2libGUnKTokY2xlYXJfd2l0aF9idXR0b24uY3NzKCd2aXNpYmlsaXR5JywnaGlkZGVuJyk7JGNsZWFyX3dpdGhfYnV0dG9uLmNzcygncmlnaHQnLCRzZWFyY2hfYnV0dG9uLm91dGVyV2lkdGgoKSsncHgnKTt9KTskY2xlYXIub24oImNsaWNrIixmdW5jdGlvbigpe3RoaXMuc3R5bGU9JGNsZWFyLmNzcygndmlzaWJpbGl0eScsJ2hpZGRlbicpOyRpbnB1dC52YWx1ZT0iIjt9KTskY2xlYXJfd2l0aF9idXR0b24ub24oImNsaWNrIixmdW5jdGlvbigpe3RoaXMuc3R5bGU9JGNsZWFyX3dpdGhfYnV0dG9uLmNzcygndmlzaWJpbGl0eScsJ2hpZGRlbicpOyRpbnB1dC52YWx1ZT0iIjt9KTt9O3ZhciBXaWRnZXRoZmVOYXZNZW51SGFuZGxlcj1mdW5jdGlvbigkc2NvcGUsJCl7aWYoJ3VuZGVmaW5lZCc9PXR5cGVvZiAkc2NvcGUpCnJldHVybjt2YXIgaWQ9JHNjb3BlLmRhdGEoJ2lkJyk7dmFyIHdyYXBwZXI9JHNjb3BlLmZpbmQoJy5lbGVtZW50b3Itd2lkZ2V0LXRoaGYtbmF2LW1lbnUgJyk7dmFyIGxheW91dD0kKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIC5oZmUtbmF2LW1lbnUnKS5kYXRhKCdsYXlvdXQnKTt2YXIgZmx5b3V0X2RhdGE9JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyAuaGZlLWZseW91dC13cmFwcGVyJykuZGF0YSgnZmx5b3V0LWNsYXNzJyk7dmFyIGxhc3RfaXRlbT0kKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIC5oZmUtbmF2LW1lbnUnKS5kYXRhKCdsYXN0LWl0ZW0nKTt2YXIgbGFzdF9pdGVtX2ZseW91dD0kKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIC5oZmUtZmx5b3V0LXdyYXBwZXInKS5kYXRhKCdsYXN0LWl0ZW0nKTt2YXIgbWVudV9pdGVtc19saW5rcz0kKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIC5oZmUtbmF2LW1lbnUgbmF2IGxpIGEnKTt2YXIgbWVudV9pdGVtc19saW5rc19mbHlvdXQ9JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyAuaGZlLWZseW91dC13cmFwcGVyIGxpIGEnKTtpZihtZW51X2l0ZW1zX2xpbmtzLmxlbmd0aD4wKXtfaGFuZGxlX2N1cnJlbnRfbWVudV9pdGVtX2NsYXNzKG1lbnVfaXRlbXNfbGlua3MpO30KaWYobWVudV9pdGVtc19saW5rc19mbHlvdXQubGVuZ3RoPjApe19oYW5kbGVfY3VycmVudF9tZW51X2l0ZW1fY2xhc3MobWVudV9pdGVtc19saW5rc19mbHlvdXQpO30KJCgnZGl2LmhmZS1oYXMtc3VibWVudS1jb250YWluZXInKS5yZW1vdmVDbGFzcygnc3ViLW1lbnUtYWN0aXZlJyk7X3RvZ2dsZUNsaWNrKGlkKTtfaGFuZGxlUG9seWxhbmdTd2l0Y2hlcigkc2NvcGUpO19oYW5kbGVTaW5nbGVQYWdlTWVudShpZCxsYXlvdXQpO2lmKCdob3Jpem9udGFsJyE9PWxheW91dCl7X2V2ZW50Q2xpY2soaWQpO31lbHNlIGlmKCdob3Jpem9udGFsJz09PWxheW91dCYmd2luZG93Lm1hdGNoTWVkaWEoIiggbWF4LXdpZHRoOiA3NjdweCApIikubWF0Y2hlcyl7X2V2ZW50Q2xpY2soaWQpO31lbHNlIGlmKCdob3Jpem9udGFsJz09PWxheW91dCYmd2luZG93Lm1hdGNoTWVkaWEoIiggbWF4LXdpZHRoOiAxMDI0cHggKSIpLm1hdGNoZXMpe19ldmVudENsaWNrKGlkKTt9CiQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1mbHlvdXQtdHJpZ2dlciAuaGZlLW5hdi1tZW51LWljb24nKS5vZmYoJ2NsaWNrIGtleXVwJykub24oJ2NsaWNrIGtleXVwJyxmdW5jdGlvbigpe19vcGVuTWVudShpZCk7fSk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyAuaGZlLWZseW91dC1jbG9zZScpLm9mZignY2xpY2sga2V5dXAnKS5vbignY2xpY2sga2V5dXAnLGZ1bmN0aW9uKCl7X2Nsb3NlTWVudShpZCk7fSk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyAuaGZlLWZseW91dC1vdmVybGF5Jykub2ZmKCdjbGljaycpLm9uKCdjbGljaycsZnVuY3Rpb24oKXtfY2xvc2VNZW51KGlkKTt9KTskc2NvcGUuZmluZCgnLnN1Yi1tZW51JykuZWFjaChmdW5jdGlvbigpe3ZhciBwYXJlbnQ9JCh0aGlzKS5jbG9zZXN0KCcubWVudS1pdGVtJyk7JHNjb3BlLmZpbmQocGFyZW50KS5hZGRDbGFzcygncGFyZW50LWhhcy1jaGlsZCcpOyRzY29wZS5maW5kKHBhcmVudCkucmVtb3ZlQ2xhc3MoJ3BhcmVudC1oYXMtbm8tY2hpbGQnKTt9KTtpZigoJ2N0YSc9PWxhc3RfaXRlbXx8J2N0YSc9PWxhc3RfaXRlbV9mbHlvdXQpJiYnZXhwYW5kaWJsZSchPWxheW91dCl7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5wYXJlbnQoKS5hZGRDbGFzcygnZWxlbWVudG9yLWJ1dHRvbi13cmFwcGVyJyk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5hZGRDbGFzcygnZWxlbWVudG9yLWJ1dHRvbicpO30KX2JvcmRlckNsYXNzKGlkKTskKHdpbmRvdykub24oJ3Jlc2l6ZScsZnVuY3Rpb24oKXtpZignaG9yaXpvbnRhbCchPT1sYXlvdXQpe19ldmVudENsaWNrKGlkKTt9ZWxzZSBpZignaG9yaXpvbnRhbCc9PT1sYXlvdXQmJndpbmRvdy5tYXRjaE1lZGlhKCIoIG1heC13aWR0aDogNzY3cHggKSIpLm1hdGNoZXMpe19ldmVudENsaWNrKGlkKTt9ZWxzZSBpZignaG9yaXpvbnRhbCc9PT1sYXlvdXQmJndpbmRvdy5tYXRjaE1lZGlhKCIoIG1heC13aWR0aDogMTAyNHB4ICkiKS5tYXRjaGVzKXtfZXZlbnRDbGljayhpZCk7fQppZignaG9yaXpvbnRhbCc9PWxheW91dCYmd2luZG93Lm1hdGNoTWVkaWEoIiggbWluLXdpZHRoOiA5NzdweCApIikubWF0Y2hlcyl7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBkaXYuaGZlLWhhcy1zdWJtZW51LWNvbnRhaW5lcicpLm5leHQoKS5jc3MoJ3Bvc2l0aW9uJywnYWJzb2x1dGUnKTt9CmlmKCdleHBhbmRpYmxlJz09bGF5b3V0fHwnZmx5b3V0Jz09bGF5b3V0KXtfdG9nZ2xlQ2xpY2soaWQpO31lbHNlIGlmKCd2ZXJ0aWNhbCc9PWxheW91dHx8J2hvcml6b250YWwnPT1sYXlvdXQpe2lmKHdpbmRvdy5tYXRjaE1lZGlhKCIoIG1heC13aWR0aDogNzY3cHggKSIpLm1hdGNoZXMmJigkKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCkuaGFzQ2xhc3MoJ2hmZS1uYXYtbWVudV9fYnJlYWtwb2ludC10YWJsZXQnKXx8JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtbW9iaWxlJykpKXtfdG9nZ2xlQ2xpY2soaWQpO31lbHNlIGlmKHdpbmRvdy5tYXRjaE1lZGlhKCIoIG1heC13aWR0aDogMTAyNHB4ICkiKS5tYXRjaGVzJiYkKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCkuaGFzQ2xhc3MoJ2hmZS1uYXYtbWVudV9fYnJlYWtwb2ludC10YWJsZXQnKSl7X3RvZ2dsZUNsaWNrKGlkKTt9fQpfYm9yZGVyQ2xhc3MoaWQpO30pOyRzY29wZS5maW5kKCcucGFyZW50LWhhcy1jaGlsZCAuaGZlLWhhcy1zdWJtZW51LWNvbnRhaW5lciBhJykuYXR0cignYXJpYS1oYXNwb3B1cCcsJ3RydWUnKTskc2NvcGUuZmluZCgnLnBhcmVudC1oYXMtY2hpbGQgLmhmZS1oYXMtc3VibWVudS1jb250YWluZXIgYScpLmF0dHIoJ2FyaWEtZXhwYW5kZWQnLCdmYWxzZScpOyRzY29wZS5maW5kKCcuaGZlLW5hdi1tZW51X190b2dnbGUnKS5hdHRyKCdhcmlhLWhhc3BvcHVwJywndHJ1ZScpOyRzY29wZS5maW5kKCcuaGZlLW5hdi1tZW51X190b2dnbGUnKS5hdHRyKCdhcmlhLWV4cGFuZGVkJywnZmFsc2UnKTskKGRvY3VtZW50KS50cmlnZ2VyKCdoZmVfbmF2X21lbnVfaW5pdCcsaWQpOyQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgZGl2LmhmZS1oYXMtc3VibWVudS1jb250YWluZXInKS5vbigna2V5dXAnLGZ1bmN0aW9uKGUpe3ZhciAkdGhpcz0kKHRoaXMpO2lmKCR0aGlzLnBhcmVudCgpLmhhc0NsYXNzKCdtZW51LWFjdGl2ZScpKXskdGhpcy5wYXJlbnQoKS5yZW1vdmVDbGFzcygnbWVudS1hY3RpdmUnKTskdGhpcy5wYXJlbnQoKS5uZXh0KCkuZmluZCgndWwnKS5jc3Moeyd2aXNpYmlsaXR5JzonaGlkZGVuJywnb3BhY2l0eSc6JzAnLCdoZWlnaHQnOicwJ30pOyR0aGlzLnBhcmVudCgpLnByZXYoKS5maW5kKCd1bCcpLmNzcyh7J3Zpc2liaWxpdHknOidoaWRkZW4nLCdvcGFjaXR5JzonMCcsJ2hlaWdodCc6JzAnfSk7JHRoaXMucGFyZW50KCkubmV4dCgpLmZpbmQoJ2Rpdi5oZmUtaGFzLXN1Ym1lbnUtY29udGFpbmVyJykucmVtb3ZlQ2xhc3MoJ3N1Yi1tZW51LWFjdGl2ZScpOyR0aGlzLnBhcmVudCgpLnByZXYoKS5maW5kKCdkaXYuaGZlLWhhcy1zdWJtZW51LWNvbnRhaW5lcicpLnJlbW92ZUNsYXNzKCdzdWItbWVudS1hY3RpdmUnKTt9ZWxzZXskdGhpcy5wYXJlbnQoKS5uZXh0KCkuZmluZCgndWwnKS5jc3Moeyd2aXNpYmlsaXR5JzonaGlkZGVuJywnb3BhY2l0eSc6JzAnLCdoZWlnaHQnOicwJ30pOyR0aGlzLnBhcmVudCgpLnByZXYoKS5maW5kKCd1bCcpLmNzcyh7J3Zpc2liaWxpdHknOidoaWRkZW4nLCdvcGFjaXR5JzonMCcsJ2hlaWdodCc6JzAnfSk7JHRoaXMucGFyZW50KCkubmV4dCgpLmZpbmQoJ2Rpdi5oZmUtaGFzLXN1Ym1lbnUtY29udGFpbmVyJykucmVtb3ZlQ2xhc3MoJ3N1Yi1tZW51LWFjdGl2ZScpOyR0aGlzLnBhcmVudCgpLnByZXYoKS5maW5kKCdkaXYuaGZlLWhhcy1zdWJtZW51LWNvbnRhaW5lcicpLnJlbW92ZUNsYXNzKCdzdWItbWVudS1hY3RpdmUnKTskdGhpcy5wYXJlbnQoKS5zaWJsaW5ncygpLmZpbmQoJy5oZmUtaGFzLXN1Ym1lbnUtY29udGFpbmVyIGEnKS5hdHRyKCdhcmlhLWV4cGFuZGVkJywnZmFsc2UnKTskdGhpcy5wYXJlbnQoKS5uZXh0KCkucmVtb3ZlQ2xhc3MoJ21lbnUtYWN0aXZlJyk7JHRoaXMucGFyZW50KCkucHJldigpLnJlbW92ZUNsYXNzKCdtZW51LWFjdGl2ZScpO2V2ZW50LnByZXZlbnREZWZhdWx0KCk7JHRoaXMucGFyZW50KCkuYWRkQ2xhc3MoJ21lbnUtYWN0aXZlJyk7aWYoJ2hvcml6b250YWwnIT09bGF5b3V0KXskdGhpcy5hZGRDbGFzcygnc3ViLW1lbnUtYWN0aXZlJyk7fQokdGhpcy5maW5kKCdhJykuYXR0cignYXJpYS1leHBhbmRlZCcsJ3RydWUnKTskdGhpcy5uZXh0KCkuY3NzKHsndmlzaWJpbGl0eSc6J3Zpc2libGUnLCdvcGFjaXR5JzonMScsJ2hlaWdodCc6J2F1dG8nfSk7aWYoJ2hvcml6b250YWwnIT09bGF5b3V0KXskdGhpcy5uZXh0KCkuY3NzKCdwb3NpdGlvbicsJ3JlbGF0aXZlJyk7fWVsc2UgaWYoJ2hvcml6b250YWwnPT09bGF5b3V0JiZ3aW5kb3cubWF0Y2hNZWRpYSgiKCBtYXgtd2lkdGg6IDc2N3B4ICkiKS5tYXRjaGVzJiYoJCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtdGFibGV0Jyl8fCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LW1vYmlsZScpKSl7JHRoaXMubmV4dCgpLmNzcygncG9zaXRpb24nLCdyZWxhdGl2ZScpO31lbHNlIGlmKCdob3Jpem9udGFsJz09PWxheW91dCYmd2luZG93Lm1hdGNoTWVkaWEoIiggbWF4LXdpZHRoOiAxMDI0cHggKSIpLm1hdGNoZXMpe2lmKCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LXRhYmxldCcpKXskdGhpcy5uZXh0KCkuY3NzKCdwb3NpdGlvbicsJ3JlbGF0aXZlJyk7fWVsc2UgaWYoJCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtbW9iaWxlJyl8fCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LW5vbmUnKSl7JHRoaXMubmV4dCgpLmNzcygncG9zaXRpb24nLCdhYnNvbHV0ZScpO319fX0pOyQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgbGkubWVudS1pdGVtJykub24oJ2tleXVwJyxmdW5jdGlvbihlKXt2YXIgJHRoaXM9JCh0aGlzKTskdGhpcy5uZXh0KCkuZmluZCgnYScpLmF0dHIoJ2FyaWEtZXhwYW5kZWQnLCdmYWxzZScpOyR0aGlzLnByZXYoKS5maW5kKCdhJykuYXR0cignYXJpYS1leHBhbmRlZCcsJ2ZhbHNlJyk7JHRoaXMubmV4dCgpLmZpbmQoJ3VsJykuY3NzKHsndmlzaWJpbGl0eSc6J2hpZGRlbicsJ29wYWNpdHknOicwJywnaGVpZ2h0JzonMCd9KTskdGhpcy5wcmV2KCkuZmluZCgndWwnKS5jc3Moeyd2aXNpYmlsaXR5JzonaGlkZGVuJywnb3BhY2l0eSc6JzAnLCdoZWlnaHQnOicwJ30pOyR0aGlzLnNpYmxpbmdzKCkucmVtb3ZlQ2xhc3MoJ21lbnUtYWN0aXZlJyk7JHRoaXMubmV4dCgpLmZpbmQoJ2Rpdi5oZmUtaGFzLXN1Ym1lbnUtY29udGFpbmVyJykucmVtb3ZlQ2xhc3MoJ3N1Yi1tZW51LWFjdGl2ZScpOyR0aGlzLnByZXYoKS5maW5kKCdkaXYuaGZlLWhhcy1zdWJtZW51LWNvbnRhaW5lcicpLnJlbW92ZUNsYXNzKCdzdWItbWVudS1hY3RpdmUnKTt9KTt9O2Z1bmN0aW9uIF9oYW5kbGVfY3VycmVudF9tZW51X2l0ZW1fY2xhc3MobGF5b3V0X2xpbmtzKXtsYXlvdXRfbGlua3MuZWFjaChmdW5jdGlvbigpe3ZhciAkdGhpcz0kKHRoaXMpO2lmKCR0aGlzLmlzKCdbaHJlZio9IiMiXScpKXt2YXIgbWVudV9pdGVtX3BhcmVudD0kdGhpcy5wYXJlbnQoKTttZW51X2l0ZW1fcGFyZW50LnJlbW92ZUNsYXNzKCdjdXJyZW50LW1lbnUtaXRlbSBjdXJyZW50LW1lbnUtYW5jZXN0b3InKTskdGhpcy5jbGljayhmdW5jdGlvbigpe3ZhciBjdXJyZW50X2luZGV4PW1lbnVfaXRlbV9wYXJlbnQuaW5kZXgoKSxwYXJlbnRfZWxlbWVudD0kdGhpcy5jbG9zZXN0KCd1bCcpO3BhcmVudF9lbGVtZW50LmZpbmQoJ2xpJykubm90KCc6ZXEoJytjdXJyZW50X2luZGV4KycpJykucmVtb3ZlQ2xhc3MoJ2N1cnJlbnQtbWVudS1pdGVtIGN1cnJlbnQtbWVudS1hbmNlc3RvcicpO21lbnVfaXRlbV9wYXJlbnQuYWRkQ2xhc3MoJ2N1cnJlbnQtbWVudS1pdGVtIGN1cnJlbnQtbWVudS1hbmNlc3RvcicpO30pfX0pO30KZnVuY3Rpb24gX29wZW5NZW51KGlkKXt2YXIgZmx5b3V0X2NvbnRlbnQ9JCgnI2hmZS1mbHlvdXQtY29udGVudC1pZC0nK2lkKTt2YXIgbGF5b3V0PSQoJyNoZmUtZmx5b3V0LWNvbnRlbnQtaWQtJytpZCkuZGF0YSgnbGF5b3V0Jyk7dmFyIGxheW91dF90eXBlPSQoJyNoZmUtZmx5b3V0LWNvbnRlbnQtaWQtJytpZCkuZGF0YSgnZmx5b3V0LXR5cGUnKTt2YXIgd3JhcF93aWR0aD1mbHlvdXRfY29udGVudC53aWR0aCgpKydweCc7dmFyIGNvbnRhaW5lcj0kKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIC5oZmUtZmx5b3V0LWNvbnRhaW5lciAuaGZlLXNpZGUuaGZlLWZseW91dC0nK2xheW91dCk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyAuaGZlLWZseW91dC1vdmVybGF5JykuZmFkZUluKDEwMCk7aWYoJ2xlZnQnPT1sYXlvdXQpeyQoJ2JvZHknKS5jc3MoJ21hcmdpbi1sZWZ0JywnMCcpO2NvbnRhaW5lci5jc3MoJ2xlZnQnLCcwJyk7aWYoJ3B1c2gnPT1sYXlvdXRfdHlwZSl7JCgnYm9keScpLmFkZENsYXNzKCdoZmUtZmx5b3V0LWFuaW1hdGluZycpLmNzcyh7cG9zaXRpb246J2Fic29sdXRlJyx3aWR0aDonMTAwJScsJ21hcmdpbi1sZWZ0Jzp3cmFwX3dpZHRoLCdtYXJnaW4tcmlnaHQnOidhdXRvJ30pO30KY29udGFpbmVyLmFkZENsYXNzKCdoZmUtZmx5b3V0LXNob3cnKTt9ZWxzZXskKCdib2R5JykuY3NzKCdtYXJnaW4tcmlnaHQnLCcwJyk7Y29udGFpbmVyLmNzcygncmlnaHQnLCcwJyk7aWYoJ3B1c2gnPT1sYXlvdXRfdHlwZSl7JCgnYm9keScpLmFkZENsYXNzKCdoZmUtZmx5b3V0LWFuaW1hdGluZycpLmNzcyh7cG9zaXRpb246J2Fic29sdXRlJyx3aWR0aDonMTAwJScsJ21hcmdpbi1sZWZ0JzonLScrd3JhcF93aWR0aCwnbWFyZ2luLXJpZ2h0JzonYXV0bycsfSk7fQpjb250YWluZXIuYWRkQ2xhc3MoJ2hmZS1mbHlvdXQtc2hvdycpO319CmZ1bmN0aW9uIF9jbG9zZU1lbnUoaWQpe3ZhciBmbHlvdXRfY29udGVudD0kKCcjaGZlLWZseW91dC1jb250ZW50LWlkLScraWQpO3ZhciBsYXlvdXQ9JCgnI2hmZS1mbHlvdXQtY29udGVudC1pZC0nK2lkKS5kYXRhKCdsYXlvdXQnKTt2YXIgd3JhcF93aWR0aD1mbHlvdXRfY29udGVudC53aWR0aCgpKydweCc7dmFyIGxheW91dF90eXBlPSQoJyNoZmUtZmx5b3V0LWNvbnRlbnQtaWQtJytpZCkuZGF0YSgnZmx5b3V0LXR5cGUnKTt2YXIgY29udGFpbmVyPSQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1mbHlvdXQtY29udGFpbmVyIC5oZmUtc2lkZS5oZmUtZmx5b3V0LScrbGF5b3V0KTskKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIC5oZmUtZmx5b3V0LW92ZXJsYXknKS5mYWRlT3V0KDEwMCk7aWYoJ2xlZnQnPT1sYXlvdXQpe2NvbnRhaW5lci5jc3MoJ2xlZnQnLCctJyt3cmFwX3dpZHRoKTtpZigncHVzaCc9PWxheW91dF90eXBlKXskKCdib2R5JykuY3NzKHtwb3NpdGlvbjonJywnbWFyZ2luLWxlZnQnOicnLCdtYXJnaW4tcmlnaHQnOicnLH0pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXskKCdib2R5JykucmVtb3ZlQ2xhc3MoJ2hmZS1mbHlvdXQtYW5pbWF0aW5nJykuY3NzKHt3aWR0aDonJyx9KTt9KTt9CmNvbnRhaW5lci5yZW1vdmVDbGFzcygnaGZlLWZseW91dC1zaG93Jyk7fWVsc2V7Y29udGFpbmVyLmNzcygncmlnaHQnLCctJyt3cmFwX3dpZHRoKTtpZigncHVzaCc9PWxheW91dF90eXBlKXskKCdib2R5JykuY3NzKHtwb3NpdGlvbjonJywnbWFyZ2luLXJpZ2h0JzonJywnbWFyZ2luLWxlZnQnOicnLH0pO3NldFRpbWVvdXQoZnVuY3Rpb24oKXskKCdib2R5JykucmVtb3ZlQ2xhc3MoJ2hmZS1mbHlvdXQtYW5pbWF0aW5nJykuY3NzKHt3aWR0aDonJyx9KTt9KTt9CmNvbnRhaW5lci5yZW1vdmVDbGFzcygnaGZlLWZseW91dC1zaG93Jyk7fX0KZnVuY3Rpb24gX2V2ZW50Q2xpY2soaWQpe3ZhciBsYXlvdXQ9JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyAuaGZlLW5hdi1tZW51JykuZGF0YSgnbGF5b3V0Jyk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBkaXYuaGZlLWhhcy1zdWJtZW51LWNvbnRhaW5lcicpLm9mZignY2xpY2snKS5vbignY2xpY2snLGZ1bmN0aW9uKGV2ZW50KXt2YXIgJHRoaXM9JCh0aGlzKTtpZigkKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCkuaGFzQ2xhc3MoJ2hmZS1saW5rLXJlZGlyZWN0LWNoaWxkJykpe2lmKCR0aGlzLmhhc0NsYXNzKCdzdWItbWVudS1hY3RpdmUnKSl7aWYoISR0aGlzLm5leHQoKS5oYXNDbGFzcygnc3ViLW1lbnUtb3BlbicpKXskdGhpcy5maW5kKCdhJykuYXR0cignYXJpYS1leHBhbmRlZCcsJ2ZhbHNlJyk7aWYoJ2hvcml6b250YWwnIT09bGF5b3V0KXtldmVudC5wcmV2ZW50RGVmYXVsdCgpOyR0aGlzLm5leHQoKS5jc3MoJ3Bvc2l0aW9uJywncmVsYXRpdmUnKTt9ZWxzZSBpZignaG9yaXpvbnRhbCc9PT1sYXlvdXQmJndpbmRvdy5tYXRjaE1lZGlhKCIoIG1heC13aWR0aDogNzY3cHggKSIpLm1hdGNoZXMmJigkKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCkuaGFzQ2xhc3MoJ2hmZS1uYXYtbWVudV9fYnJlYWtwb2ludC10YWJsZXQnKXx8JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtbW9iaWxlJykpKXtldmVudC5wcmV2ZW50RGVmYXVsdCgpOyR0aGlzLm5leHQoKS5jc3MoJ3Bvc2l0aW9uJywncmVsYXRpdmUnKTt9ZWxzZSBpZignaG9yaXpvbnRhbCc9PT1sYXlvdXQmJndpbmRvdy5tYXRjaE1lZGlhKCIoIG1heC13aWR0aDogMTAyNHB4ICkiKS5tYXRjaGVzJiYoJCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtdGFibGV0Jyl8fCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LW1vYmlsZScpKSl7ZXZlbnQucHJldmVudERlZmF1bHQoKTskdGhpcy5uZXh0KCkuY3NzKCdwb3NpdGlvbicsJ3JlbGF0aXZlJyk7fQokdGhpcy5yZW1vdmVDbGFzcygnc3ViLW1lbnUtYWN0aXZlJyk7JHRoaXMubmV4dEFsbCgnLnN1Yi1tZW51JykucmVtb3ZlQ2xhc3MoJ3N1Yi1tZW51LW9wZW4nKTskdGhpcy5uZXh0QWxsKCcuc3ViLW1lbnUnKS5jc3Moeyd2aXNpYmlsaXR5JzonaGlkZGVuJywnb3BhY2l0eSc6JzAnLCdoZWlnaHQnOicwJ30pOyR0aGlzLm5leHRBbGwoJy5zdWItbWVudScpLmNzcyh7J3RyYW5zaXRpb24nOidub25lJ30pO31lbHNleyR0aGlzLmZpbmQoJ2EnKS5hdHRyKCdhcmlhLWV4cGFuZGVkJywnZmFsc2UnKTskdGhpcy5yZW1vdmVDbGFzcygnc3ViLW1lbnUtYWN0aXZlJyk7JHRoaXMubmV4dEFsbCgnLnN1Yi1tZW51JykucmVtb3ZlQ2xhc3MoJ3N1Yi1tZW51LW9wZW4nKTskdGhpcy5uZXh0QWxsKCcuc3ViLW1lbnUnKS5jc3Moeyd2aXNpYmlsaXR5JzonaGlkZGVuJywnb3BhY2l0eSc6JzAnLCdoZWlnaHQnOicwJ30pOyR0aGlzLm5leHRBbGwoJy5zdWItbWVudScpLmNzcyh7J3RyYW5zaXRpb24nOidub25lJ30pO2lmKCdob3Jpem9udGFsJyE9PWxheW91dCl7JHRoaXMubmV4dCgpLmNzcygncG9zaXRpb24nLCdyZWxhdGl2ZScpO31lbHNlIGlmKCdob3Jpem9udGFsJz09PWxheW91dCYmd2luZG93Lm1hdGNoTWVkaWEoIiggbWF4LXdpZHRoOiA3NjdweCApIikubWF0Y2hlcyYmKCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LXRhYmxldCcpfHwkKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCkuaGFzQ2xhc3MoJ2hmZS1uYXYtbWVudV9fYnJlYWtwb2ludC1tb2JpbGUnKSkpeyR0aGlzLm5leHQoKS5jc3MoJ3Bvc2l0aW9uJywncmVsYXRpdmUnKTt9ZWxzZSBpZignaG9yaXpvbnRhbCc9PT1sYXlvdXQmJndpbmRvdy5tYXRjaE1lZGlhKCIoIG1heC13aWR0aDogMTAyNHB4ICkiKS5tYXRjaGVzJiYoJCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtdGFibGV0Jyl8fCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LW1vYmlsZScpKSl7JHRoaXMubmV4dCgpLmNzcygncG9zaXRpb24nLCdhYnNvbHV0ZScpO319fWVsc2V7JHRoaXMuZmluZCgnYScpLmF0dHIoJ2FyaWEtZXhwYW5kZWQnLCd0cnVlJyk7aWYoJ2hvcml6b250YWwnIT09bGF5b3V0KXtldmVudC5wcmV2ZW50RGVmYXVsdCgpOyR0aGlzLm5leHQoKS5jc3MoJ3Bvc2l0aW9uJywncmVsYXRpdmUnKTt9ZWxzZSBpZignaG9yaXpvbnRhbCc9PT1sYXlvdXQmJndpbmRvdy5tYXRjaE1lZGlhKCIoIG1heC13aWR0aDogNzY3cHggKSIpLm1hdGNoZXMmJigkKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCkuaGFzQ2xhc3MoJ2hmZS1uYXYtbWVudV9fYnJlYWtwb2ludC10YWJsZXQnKXx8JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtbW9iaWxlJykpKXtldmVudC5wcmV2ZW50RGVmYXVsdCgpOyR0aGlzLm5leHQoKS5jc3MoJ3Bvc2l0aW9uJywncmVsYXRpdmUnKTt9ZWxzZSBpZignaG9yaXpvbnRhbCc9PT1sYXlvdXQmJndpbmRvdy5tYXRjaE1lZGlhKCIoIG1heC13aWR0aDogMTAyNHB4ICkiKS5tYXRjaGVzKXtldmVudC5wcmV2ZW50RGVmYXVsdCgpO2lmKCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LXRhYmxldCcpKXskdGhpcy5uZXh0KCkuY3NzKCdwb3NpdGlvbicsJ3JlbGF0aXZlJyk7fWVsc2UgaWYoJCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtbW9iaWxlJyl8fCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LW5vbmUnKSl7JHRoaXMubmV4dCgpLmNzcygncG9zaXRpb24nLCdhYnNvbHV0ZScpO319CiR0aGlzLmFkZENsYXNzKCdzdWItbWVudS1hY3RpdmUnKTskdGhpcy5uZXh0QWxsKCcuc3ViLW1lbnUnKS5hZGRDbGFzcygnc3ViLW1lbnUtb3BlbicpOyR0aGlzLm5leHRBbGwoJy5zdWItbWVudScpLmNzcyh7J3Zpc2liaWxpdHknOid2aXNpYmxlJywnb3BhY2l0eSc6JzEnLCdoZWlnaHQnOidhdXRvJ30pOyR0aGlzLm5leHRBbGwoJy5zdWItbWVudScpLmNzcyh7J3RyYW5zaXRpb24nOicwLjNzIGVhc2UnfSk7fX19KTskKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIC5oZmUtbWVudS10b2dnbGUnKS5vZmYoJ2NsaWNrIGtleXVwJykub24oJ2NsaWNrIGtleXVwJyxmdW5jdGlvbihldmVudCl7dmFyICR0aGlzPSQodGhpcyk7aWYoJHRoaXMucGFyZW50KCkucGFyZW50KCkuaGFzQ2xhc3MoJ21lbnUtYWN0aXZlJykpe2V2ZW50LnByZXZlbnREZWZhdWx0KCk7JHRoaXMucGFyZW50KCkucGFyZW50KCkucmVtb3ZlQ2xhc3MoJ21lbnUtYWN0aXZlJyk7JHRoaXMucGFyZW50KCkucGFyZW50KCkubmV4dCgpLmNzcyh7J3Zpc2liaWxpdHknOidoaWRkZW4nLCdvcGFjaXR5JzonMCcsJ2hlaWdodCc6JzAnfSk7aWYoJ2hvcml6b250YWwnIT09bGF5b3V0KXskdGhpcy5wYXJlbnQoKS5wYXJlbnQoKS5uZXh0KCkuY3NzKCdwb3NpdGlvbicsJ3JlbGF0aXZlJyk7fWVsc2UgaWYoJ2hvcml6b250YWwnPT09bGF5b3V0JiZ3aW5kb3cubWF0Y2hNZWRpYSgiKCBtYXgtd2lkdGg6IDc2N3B4ICkiKS5tYXRjaGVzJiYoJCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtdGFibGV0Jyl8fCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LW1vYmlsZScpKSl7JHRoaXMucGFyZW50KCkucGFyZW50KCkubmV4dCgpLmNzcygncG9zaXRpb24nLCdyZWxhdGl2ZScpO31lbHNlIGlmKCdob3Jpem9udGFsJz09PWxheW91dCYmd2luZG93Lm1hdGNoTWVkaWEoIiggbWF4LXdpZHRoOiAxMDI0cHggKSIpLm1hdGNoZXMpe2lmKCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LXRhYmxldCcpKXskdGhpcy5wYXJlbnQoKS5wYXJlbnQoKS5uZXh0KCkuY3NzKCdwb3NpdGlvbicsJ3JlbGF0aXZlJyk7fWVsc2UgaWYoJCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtbW9iaWxlJyl8fCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LW5vbmUnKSl7JHRoaXMucGFyZW50KCkucGFyZW50KCkubmV4dCgpLmNzcygncG9zaXRpb24nLCdhYnNvbHV0ZScpO319fWVsc2V7ZXZlbnQucHJldmVudERlZmF1bHQoKTskdGhpcy5wYXJlbnQoKS5wYXJlbnQoKS5hZGRDbGFzcygnbWVudS1hY3RpdmUnKTskdGhpcy5wYXJlbnQoKS5wYXJlbnQoKS5uZXh0KCkuY3NzKHsndmlzaWJpbGl0eSc6J3Zpc2libGUnLCdvcGFjaXR5JzonMScsJ2hlaWdodCc6J2F1dG8nfSk7aWYoJ2hvcml6b250YWwnIT09bGF5b3V0KXskdGhpcy5wYXJlbnQoKS5wYXJlbnQoKS5uZXh0KCkuY3NzKCdwb3NpdGlvbicsJ3JlbGF0aXZlJyk7fWVsc2UgaWYoJ2hvcml6b250YWwnPT09bGF5b3V0JiZ3aW5kb3cubWF0Y2hNZWRpYSgiKCBtYXgtd2lkdGg6IDc2N3B4ICkiKS5tYXRjaGVzJiYoJCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtdGFibGV0Jyl8fCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LW1vYmlsZScpKSl7JHRoaXMucGFyZW50KCkucGFyZW50KCkubmV4dCgpLmNzcygncG9zaXRpb24nLCdyZWxhdGl2ZScpO31lbHNlIGlmKCdob3Jpem9udGFsJz09PWxheW91dCYmd2luZG93Lm1hdGNoTWVkaWEoIiggbWF4LXdpZHRoOiAxMDI0cHggKSIpLm1hdGNoZXMpe2lmKCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LXRhYmxldCcpKXskdGhpcy5wYXJlbnQoKS5wYXJlbnQoKS5uZXh0KCkuY3NzKCdwb3NpdGlvbicsJ3JlbGF0aXZlJyk7fWVsc2UgaWYoJCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtbW9iaWxlJyl8fCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LW5vbmUnKSl7JHRoaXMucGFyZW50KCkucGFyZW50KCkubmV4dCgpLmNzcygncG9zaXRpb24nLCdhYnNvbHV0ZScpO319fX0pO30KZnVuY3Rpb24gX2JvcmRlckNsYXNzKGlkKXt2YXIgbGFzdF9pdGVtPSQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1uYXYtbWVudScpLmRhdGEoJ2xhc3QtaXRlbScpO3ZhciBsYXN0X2l0ZW1fZmx5b3V0PSQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1mbHlvdXQtd3JhcHBlcicpLmRhdGEoJ2xhc3QtaXRlbScpO3ZhciBsYXlvdXQ9JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyAuaGZlLW5hdi1tZW51JykuZGF0YSgnbGF5b3V0Jyk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBuYXYnKS5yZW1vdmVDbGFzcygnaGZlLWRyb3Bkb3duJyk7aWYod2luZG93Lm1hdGNoTWVkaWEoIiggbWF4LXdpZHRoOiA3NjdweCApIikubWF0Y2hlcyl7aWYoJCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmhhc0NsYXNzKCdoZmUtbmF2LW1lbnVfX2JyZWFrcG9pbnQtbW9iaWxlJyl8fCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LXRhYmxldCcpKXskKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIG5hdicpLmFkZENsYXNzKCdoZmUtZHJvcGRvd24nKTtpZigoJ2N0YSc9PWxhc3RfaXRlbXx8J2N0YSc9PWxhc3RfaXRlbV9mbHlvdXQpJiYnZXhwYW5kaWJsZSchPWxheW91dCl7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5wYXJlbnQoKS5yZW1vdmVDbGFzcygnZWxlbWVudG9yLWJ1dHRvbi13cmFwcGVyJyk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5yZW1vdmVDbGFzcygnZWxlbWVudG9yLWJ1dHRvbicpO319ZWxzZXskKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIG5hdicpLnJlbW92ZUNsYXNzKCdoZmUtZHJvcGRvd24nKTtpZigoJ2N0YSc9PWxhc3RfaXRlbXx8J2N0YSc9PWxhc3RfaXRlbV9mbHlvdXQpJiYnZXhwYW5kaWJsZSchPWxheW91dCl7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5wYXJlbnQoKS5hZGRDbGFzcygnZWxlbWVudG9yLWJ1dHRvbi13cmFwcGVyJyk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5hZGRDbGFzcygnZWxlbWVudG9yLWJ1dHRvbicpO319fWVsc2UgaWYod2luZG93Lm1hdGNoTWVkaWEoIiggbWF4LXdpZHRoOiAxMDI0cHggKSIpLm1hdGNoZXMpe2lmKCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKS5oYXNDbGFzcygnaGZlLW5hdi1tZW51X19icmVha3BvaW50LXRhYmxldCcpKXskKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIG5hdicpLmFkZENsYXNzKCdoZmUtZHJvcGRvd24nKTtpZigoJ2N0YSc9PWxhc3RfaXRlbXx8J2N0YSc9PWxhc3RfaXRlbV9mbHlvdXQpJiYnZXhwYW5kaWJsZSchPWxheW91dCl7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5wYXJlbnQoKS5yZW1vdmVDbGFzcygnZWxlbWVudG9yLWJ1dHRvbi13cmFwcGVyJyk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5yZW1vdmVDbGFzcygnZWxlbWVudG9yLWJ1dHRvbicpO319ZWxzZXskKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIG5hdicpLnJlbW92ZUNsYXNzKCdoZmUtZHJvcGRvd24nKTtpZigoJ2N0YSc9PWxhc3RfaXRlbXx8J2N0YSc9PWxhc3RfaXRlbV9mbHlvdXQpJiYnZXhwYW5kaWJsZSchPWxheW91dCl7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5wYXJlbnQoKS5hZGRDbGFzcygnZWxlbWVudG9yLWJ1dHRvbi13cmFwcGVyJyk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5hZGRDbGFzcygnZWxlbWVudG9yLWJ1dHRvbicpO319fWVsc2V7dmFyICRwYXJlbnRfZWxlbWVudD0kKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCk7JHBhcmVudF9lbGVtZW50LmZpbmQoJ25hdicpLnJlbW92ZUNsYXNzKCdoZmUtZHJvcGRvd24nKTtpZigoJ2N0YSc9PWxhc3RfaXRlbXx8J2N0YSc9PWxhc3RfaXRlbV9mbHlvdXQpJiYnZXhwYW5kaWJsZSchPWxheW91dCl7JHBhcmVudF9lbGVtZW50LmZpbmQoJ2xpLm1lbnUtaXRlbTpsYXN0LWNoaWxkIGEuaGZlLW1lbnUtaXRlbScpLnBhcmVudCgpLmFkZENsYXNzKCdlbGVtZW50b3ItYnV0dG9uLXdyYXBwZXInKTskcGFyZW50X2VsZW1lbnQuZmluZCgnbGkubWVudS1pdGVtOmxhc3QtY2hpbGQgYS5oZmUtbWVudS1pdGVtJykuYWRkQ2xhc3MoJ2VsZW1lbnRvci1idXR0b24nKTt9fQp2YXIgbGF5b3V0PSQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1uYXYtbWVudScpLmRhdGEoJ2xheW91dCcpO2lmKCdleHBhbmRpYmxlJz09bGF5b3V0KXtpZigoJ2N0YSc9PWxhc3RfaXRlbXx8J2N0YSc9PWxhc3RfaXRlbV9mbHlvdXQpJiYnZXhwYW5kaWJsZSchPWxheW91dCl7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5wYXJlbnQoKS5yZW1vdmVDbGFzcygnZWxlbWVudG9yLWJ1dHRvbi13cmFwcGVyJyk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBsaS5tZW51LWl0ZW06bGFzdC1jaGlsZCBhLmhmZS1tZW51LWl0ZW0nKS5yZW1vdmVDbGFzcygnZWxlbWVudG9yLWJ1dHRvbicpO319fQpmdW5jdGlvbiBfdG9nZ2xlQ2xpY2soaWQpe2lmKCQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1uYXYtbWVudV9fdG9nZ2xlJykuaGFzQ2xhc3MoJ2hmZS1hY3RpdmUtbWVudS1mdWxsLXdpZHRoJykpeyQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1uYXYtbWVudV9fdG9nZ2xlJykubmV4dCgpLmNzcygnbGVmdCcsJzAnKTt2YXIgd2lkdGg9JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmNsb3Nlc3QoJy5lbGVtZW50b3Itc2VjdGlvbicpLm91dGVyV2lkdGgoKTt2YXIgc2VjX3Bvcz0kKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCkuY2xvc2VzdCgnLmVsZW1lbnRvci1zZWN0aW9uJykub2Zmc2V0KCkubGVmdC0kKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIC5oZmUtbmF2LW1lbnVfX3RvZ2dsZScpLm5leHQoKS5vZmZzZXQoKS5sZWZ0OyQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1uYXYtbWVudV9fdG9nZ2xlJykubmV4dCgpLmNzcygnd2lkdGgnLHdpZHRoKydweCcpOyQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1uYXYtbWVudV9fdG9nZ2xlJykubmV4dCgpLmNzcygnbGVmdCcsc2VjX3BvcysncHgnKTt9CiQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1uYXYtbWVudV9fdG9nZ2xlJykub2ZmKCdjbGljayBrZXl1cCcpLm9uKCdjbGljayBrZXl1cCcsZnVuY3Rpb24oZXZlbnQpe3ZhciAkdGhpcz0kKHRoaXMpO3ZhciAkc2VsZWN0b3I9JHRoaXMubmV4dCgpO2lmKCR0aGlzLmhhc0NsYXNzKCdoZmUtYWN0aXZlLW1lbnUnKSl7dmFyIGxheW91dD0kKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIC5oZmUtbmF2LW1lbnUnKS5kYXRhKCdsYXlvdXQnKTt2YXIgZnVsbF93aWR0aD0kc2VsZWN0b3IuZGF0YSgnZnVsbC13aWR0aCcpO3ZhciB0b2dnbGVfaWNvbj0kKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIG5hdicpLmRhdGEoJ3RvZ2dsZS1pY29uJyk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmZpbmQoJy5oZmUtbmF2LW1lbnUtaWNvbicpLmh0bWwodG9nZ2xlX2ljb24pOyR0aGlzLnJlbW92ZUNsYXNzKCdoZmUtYWN0aXZlLW1lbnUnKTskdGhpcy5hdHRyKCdhcmlhLWV4cGFuZGVkJywnZmFsc2UnKTtpZigneWVzJz09ZnVsbF93aWR0aCl7JHRoaXMucmVtb3ZlQ2xhc3MoJ2hmZS1hY3RpdmUtbWVudS1mdWxsLXdpZHRoJyk7JHNlbGVjdG9yLmNzcygnd2lkdGgnLCdhdXRvJyk7JHNlbGVjdG9yLmNzcygnbGVmdCcsJzAnKTskc2VsZWN0b3IuY3NzKCd6LWluZGV4JywnMCcpO319ZWxzZXt2YXIgbGF5b3V0PSQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1uYXYtbWVudScpLmRhdGEoJ2xheW91dCcpO3ZhciBmdWxsX3dpZHRoPSRzZWxlY3Rvci5kYXRhKCdmdWxsLXdpZHRoJyk7dmFyIGNsb3NlX2ljb249JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyBuYXYnKS5kYXRhKCdjbG9zZS1pY29uJyk7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmZpbmQoJy5oZmUtbmF2LW1lbnUtaWNvbicpLmh0bWwoY2xvc2VfaWNvbik7JHRoaXMuYWRkQ2xhc3MoJ2hmZS1hY3RpdmUtbWVudScpOyR0aGlzLmF0dHIoJ2FyaWEtZXhwYW5kZWQnLCd0cnVlJyk7aWYoJ3llcyc9PWZ1bGxfd2lkdGgpeyR0aGlzLmFkZENsYXNzKCdoZmUtYWN0aXZlLW1lbnUtZnVsbC13aWR0aCcpO3ZhciBhbG9oYV9tZW51X3NlY3Rpb249JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQpLmNsb3Nlc3QoJy5lbGVtZW50b3Itc2VjdGlvbicpO3ZhciBhbG9oYV9tZW51X2NvbnRhaW5lcj0kKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCkuY2xvc2VzdCgnLmUtY29uLWlubmVyJykucGFyZW50KCk7aWYoYWxvaGFfbWVudV9zZWN0aW9uLmxlbmd0aCl7dmFyIHdpZHRoPWFsb2hhX21lbnVfc2VjdGlvbi5vdXRlcldpZHRoKCk7dmFyIHNlY19wb3M9YWxvaGFfbWVudV9zZWN0aW9uLm9mZnNldCgpLmxlZnQtJHNlbGVjdG9yLm9mZnNldCgpLmxlZnQ7fWVsc2UgaWYoYWxvaGFfbWVudV9jb250YWluZXIubGVuZ3RoKXt2YXIgd2lkdGg9YWxvaGFfbWVudV9jb250YWluZXIub3V0ZXJXaWR0aCgpO3ZhciBzZWNfcG9zPWFsb2hhX21lbnVfY29udGFpbmVyLm9mZnNldCgpLmxlZnQtJHNlbGVjdG9yLm9mZnNldCgpLmxlZnQ7fWVsc2V7cmV0dXJuIGZhbHNlO30KJHNlbGVjdG9yLmNzcygnd2lkdGgnLHdpZHRoKydweCcpOyRzZWxlY3Rvci5jc3MoJ2xlZnQnLHNlY19wb3MrJ3B4Jyk7JHNlbGVjdG9yLmNzcygnei1pbmRleCcsJzk5OTknKTt9fQppZigkKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIG5hdicpLmhhc0NsYXNzKCdtZW51LWlzLWFjdGl2ZScpKXskKCcuZWxlbWVudG9yLWVsZW1lbnQtJytpZCsnIG5hdicpLnJlbW92ZUNsYXNzKCdtZW51LWlzLWFjdGl2ZScpO31lbHNleyQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgbmF2JykuYWRkQ2xhc3MoJ21lbnUtaXMtYWN0aXZlJyk7fX0pO30KZnVuY3Rpb24gX2hhbmRsZVNpbmdsZVBhZ2VNZW51KGlkLGxheW91dCl7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyB1bC5oZmUtbmF2LW1lbnUgbGkgYScpLm9uKCdjbGljaycsZnVuY3Rpb24oKXt2YXIgJHRoaXM9JCh0aGlzKTt2YXIgbGluaz0kdGhpcy5hdHRyKCdocmVmJyk7dmFyIGxpbmtWYWx1ZT0nJztpZihsaW5rLmluY2x1ZGVzKCcjJykpe3ZhciBpbmRleD1saW5rLmluZGV4T2YoJyMnKTtsaW5rVmFsdWU9bGluay5zbGljZShpbmRleCsxKTt9CmlmKGxpbmtWYWx1ZS5sZW5ndGg+MCl7aWYoJ2V4cGFuZGlibGUnPT1sYXlvdXQpeyQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1uYXYtbWVudV9fdG9nZ2xlJykudHJpZ2dlcigiY2xpY2siKTtpZigkdGhpcy5oYXNDbGFzcygnaGZlLXN1Yi1tZW51LWl0ZW0nKSl7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyAuaGZlLW1lbnUtdG9nZ2xlJykudHJpZ2dlcigiY2xpY2siKTt9fWVsc2V7aWYod2luZG93Lm1hdGNoTWVkaWEoJyhtYXgtd2lkdGg6IDEwMjRweCknKS5tYXRjaGVzJiYoJ2hvcml6b250YWwnPT1sYXlvdXR8fCd2ZXJ0aWNhbCc9PWxheW91dCkpeyQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1uYXYtbWVudV9fdG9nZ2xlJykudHJpZ2dlcigiY2xpY2siKTtpZigkdGhpcy5oYXNDbGFzcygnaGZlLXN1Yi1tZW51LWl0ZW0nKSl7JCgnLmVsZW1lbnRvci1lbGVtZW50LScraWQrJyAuaGZlLW1lbnUtdG9nZ2xlJykudHJpZ2dlcigiY2xpY2siKTt9fWVsc2V7aWYoJHRoaXMuaGFzQ2xhc3MoJ2hmZS1zdWItbWVudS1pdGVtJykpe19jbG9zZU1lbnUoaWQpOyQoJy5lbGVtZW50b3ItZWxlbWVudC0nK2lkKycgLmhmZS1tZW51LXRvZ2dsZScpLnRyaWdnZXIoImNsaWNrIik7fQpfY2xvc2VNZW51KGlkKTt9fX19KTt9CmZ1bmN0aW9uIF9oYW5kbGVQb2x5bGFuZ1N3aXRjaGVyKCRzY29wZSl7dmFyIHBvbHlsYW5nU3dpdGNoZXI9JHNjb3BlLmZpbmQoJy5oZmUtbmF2LW1lbnUgbmF2IC5wbGwtcGFyZW50LW1lbnUtaXRlbSBhLmhmZS1tZW51LWl0ZW0nKTt2YXIgaHJlZlByb3BlcnR5PXBvbHlsYW5nU3dpdGNoZXIucHJvcCgnaHJlZicpO2lmKHVuZGVmaW5lZCE9PWhyZWZQcm9wZXJ0eSYmaHJlZlByb3BlcnR5LmluY2x1ZGVzKCcjJykpe3ZhciBpbmRleD1ocmVmUHJvcGVydHkuaW5kZXhPZignIycpO3ZhciB2YWx1ZT1ocmVmUHJvcGVydHkuc2xpY2UoaW5kZXgpO2lmKHZhbHVlPT09JyNwbGxfc3dpdGNoZXInKXtwb2x5bGFuZ1N3aXRjaGVyLnByb3AoJ2hyZWYnLCcjJyk7fX19CiQod2luZG93KS5vbignZWxlbWVudG9yL2Zyb250ZW5kL2luaXQnLGZ1bmN0aW9uKCl7ZWxlbWVudG9yRnJvbnRlbmQuaG9va3MuYWRkQWN0aW9uKCdmcm9udGVuZC9lbGVtZW50X3JlYWR5L3RoaGYtbmF2aWdhdGlvbi1tZW51LmRlZmF1bHQnLFdpZGdldGhmZU5hdk1lbnVIYW5kbGVyKTtlbGVtZW50b3JGcm9udGVuZC5ob29rcy5hZGRBY3Rpb24oJ2Zyb250ZW5kL2VsZW1lbnRfcmVhZHkvdGhoZi1zZWFyY2gtYnV0dG9uLmRlZmF1bHQnLFdpZGdldGhmZVNlYXJjaEJ1dHRvbik7fSk7fSkoalF1ZXJ5KTs=
7 ms
webpack.runtime.min.js
149 ms
frontend-modules.min.js
153 ms
waypoints.min.js
154 ms
core.min.js
153 ms
javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgZWxlbWVudG9yRnJvbnRlbmRDb25maWcgPSB7ImVudmlyb25tZW50TW9kZSI6eyJlZGl0IjpmYWxzZSwid3BQcmV2aWV3IjpmYWxzZSwiaXNTY3JpcHREZWJ1ZyI6ZmFsc2V9LCJpMThuIjp7InNoYXJlT25GYWNlYm9vayI6IlNoYXJlIG9uIEZhY2Vib29rIiwic2hhcmVPblR3aXR0ZXIiOiJTaGFyZSBvbiBUd2l0dGVyIiwicGluSXQiOiJQaW4gaXQiLCJkb3dubG9hZCI6IkRvd25sb2FkIiwiZG93bmxvYWRJbWFnZSI6IkRvd25sb2FkIGltYWdlIiwiZnVsbHNjcmVlbiI6IkZ1bGxzY3JlZW4iLCJ6b29tIjoiWm9vbSIsInNoYXJlIjoiU2hhcmUiLCJwbGF5VmlkZW8iOiJQbGF5IFZpZGVvIiwicHJldmlvdXMiOiJQcmV2aW91cyIsIm5leHQiOiJOZXh0IiwiY2xvc2UiOiJDbG9zZSIsImExMXlDYXJvdXNlbFdyYXBwZXJBcmlhTGFiZWwiOiJDYXJvdXNlbCB8IEhvcml6b250YWwgc2Nyb2xsaW5nOiBBcnJvdyBMZWZ0ICYgUmlnaHQiLCJhMTF5Q2Fyb3VzZWxQcmV2U2xpZGVNZXNzYWdlIjoiUHJldmlvdXMgc2xpZGUiLCJhMTF5Q2Fyb3VzZWxOZXh0U2xpZGVNZXNzYWdlIjoiTmV4dCBzbGlkZSIsImExMXlDYXJvdXNlbEZpcnN0U2xpZGVNZXNzYWdlIjoiVGhpcyBpcyB0aGUgZmlyc3Qgc2xpZGUiLCJhMTF5Q2Fyb3VzZWxMYXN0U2xpZGVNZXNzYWdlIjoiVGhpcyBpcyB0aGUgbGFzdCBzbGlkZSIsImExMXlDYXJvdXNlbFBhZ2luYXRpb25CdWxsZXRNZXNzYWdlIjoiR28gdG8gc2xpZGUifSwiaXNfcnRsIjpmYWxzZSwiYnJlYWtwb2ludHMiOnsieHMiOjAsInNtIjo0ODAsIm1kIjo3NjgsImxnIjoxMDI1LCJ4bCI6MTQ0MCwieHhsIjoxNjAwfSwicmVzcG9uc2l2ZSI6eyJicmVha3BvaW50cyI6eyJtb2JpbGUiOnsibGFiZWwiOiJNb2JpbGUgUG9ydHJhaXQiLCJ2YWx1ZSI6NzY3LCJkZWZhdWx0X3ZhbHVlIjo3NjcsImRpcmVjdGlvbiI6Im1heCIsImlzX2VuYWJsZWQiOnRydWV9LCJtb2JpbGVfZXh0cmEiOnsibGFiZWwiOiJNb2JpbGUgTGFuZHNjYXBlIiwidmFsdWUiOjg4MCwiZGVmYXVsdF92YWx1ZSI6ODgwLCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjpmYWxzZX0sInRhYmxldCI6eyJsYWJlbCI6IlRhYmxldCBQb3J0cmFpdCIsInZhbHVlIjoxMDI0LCJkZWZhdWx0X3ZhbHVlIjoxMDI0LCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjp0cnVlfSwidGFibGV0X2V4dHJhIjp7ImxhYmVsIjoiVGFibGV0IExhbmRzY2FwZSIsInZhbHVlIjoxMjAwLCJkZWZhdWx0X3ZhbHVlIjoxMjAwLCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjpmYWxzZX0sImxhcHRvcCI6eyJsYWJlbCI6IkxhcHRvcCIsInZhbHVlIjoxMzY2LCJkZWZhdWx0X3ZhbHVlIjoxMzY2LCJkaXJlY3Rpb24iOiJtYXgiLCJpc19lbmFibGVkIjpmYWxzZX0sIndpZGVzY3JlZW4iOnsibGFiZWwiOiJXaWRlc2NyZWVuIiwidmFsdWUiOjI0MDAsImRlZmF1bHRfdmFsdWUiOjI0MDAsImRpcmVjdGlvbiI6Im1pbiIsImlzX2VuYWJsZWQiOmZhbHNlfX19LCJ2ZXJzaW9uIjoiMy4xOS40IiwiaXNfc3RhdGljIjpmYWxzZSwiZXhwZXJpbWVudGFsRmVhdHVyZXMiOnsiZV9vcHRpbWl6ZWRfYXNzZXRzX2xvYWRpbmciOnRydWUsImVfb3B0aW1pemVkX2Nzc19sb2FkaW5nIjp0cnVlLCJhZGRpdGlvbmFsX2N1c3RvbV9icmVha3BvaW50cyI6dHJ1ZSwiYmxvY2tfZWRpdG9yX2Fzc2V0c19vcHRpbWl6ZSI6dHJ1ZSwibGFuZGluZy1wYWdlcyI6dHJ1ZSwiZV9sYXp5bG9hZCI6dHJ1ZSwiZV9pbWFnZV9sb2FkaW5nX29wdGltaXphdGlvbiI6dHJ1ZSwiZV9nbG9iYWxfc3R5bGVndWlkZSI6dHJ1ZX0sInVybHMiOnsiYXNzZXRzIjoiaHR0cHM6XC9cL3BlbWlzaG9yZWNvdHRhZ2VzLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZWxlbWVudG9yXC9hc3NldHNcLyJ9LCJzd2lwZXJDbGFzcyI6InN3aXBlci1jb250YWluZXIiLCJzZXR0aW5ncyI6eyJwYWdlIjpbXSwiZWRpdG9yUHJlZmVyZW5jZXMiOltdfSwia2l0Ijp7ImFjdGl2ZV9icmVha3BvaW50cyI6WyJ2aWV3cG9ydF9tb2JpbGUiLCJ2aWV3cG9ydF90YWJsZXQiXSwiZ2xvYmFsX2ltYWdlX2xpZ2h0Ym94IjoieWVzIiwibGlnaHRib3hfZW5hYmxlX2NvdW50ZXIiOiJ5ZXMiLCJsaWdodGJveF9lbmFibGVfZnVsbHNjcmVlbiI6InllcyIsImxpZ2h0Ym94X2VuYWJsZV96b29tIjoieWVzIiwibGlnaHRib3hfZW5hYmxlX3NoYXJlIjoieWVzIiwibGlnaHRib3hfdGl0bGVfc3JjIjoidGl0bGUiLCJsaWdodGJveF9kZXNjcmlwdGlvbl9zcmMiOiJkZXNjcmlwdGlvbiJ9LCJwb3N0Ijp7ImlkIjoyMTgsInRpdGxlIjoiUGVtaSUyMFNob3JlJTIwQ290dGFnZXMlMjAtJTIwUGV0JTIwZnJpZW5kbHklMjBjb3R0YWdlcyUyMGluJTIwRnJhbmtsaW4lMjBOSCIsImV4Y2VycHQiOiIiLCJmZWF0dXJlZEltYWdlIjoiaHR0cHM6XC9cL3BlbWlzaG9yZWNvdHRhZ2VzLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvMjAyNFwvMDVcLzIwMjMwOTE3XzE4NDA0MC0xLTEwMjR4NzY4LmpwZz92PTE3MTY0ODYzMDUifX07Ci8qIF1dPiAqLwo=
6 ms
frontend.min.js
170 ms
Ji8vPV17MiwyNTZ9XC5bYS16XXsyLDR9XGIoXC9bLWEtekEtWjAtOUA6JV9cKy5+Iz8mLy89XSopPy9naTt2YXIgcmVnZXg9bmV3IFJlZ0V4cChleHByZXNzaW9uKTtyZXR1cm4gdXJsU3RyaW5nLm1hdGNoKHJlZ2V4KTt9CnJldHVybiBmYWxzZTt9CmZ1bmN0aW9uIGNjd3BGb3JtYXRMaW5rKGxpbmspCntsZXQgaHR0cF9jaGVjaz1saW5rLm1hdGNoKCJodHRwOiIpO2xldCBodHRwc19jaGVjaz1saW5rLm1hdGNoKCJodHRwczoiKTtpZighaHR0cF9jaGVjayYmIWh0dHBzX2NoZWNrKQp7cmV0dXJuIGxvY2F0aW9uLnByb3RvY29sK2xpbms7fQpyZXR1cm4gbGluazt9
5 ms
pemishorecottages.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-*] attributes do not match their roles
[aria-hidden="true"] elements contain focusable descendents
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
pemishorecottages.com best practices score
Trust and Safety
Impact
Issue
Does not use HTTPS
Ensure CSP is effective against XSS attacks
General
Impact
Issue
Detected JavaScript libraries
pemishorecottages.com SEO score
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 Pemishorecottages.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 Pemishorecottages.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.
pemishorecottages.com
Open Graph data is detected on the main page of Pemi Shore Cottages. This is the best way to make the web page social media friendly. Here is how it looks like on Facebook: