1!function(e){e.fn.RW_Load=function(t){var i,r=null,n=null,a=null,s=t,o="",l=25,c=null,v="auto",d="100%",w=1,g=1,f="#"+e(this).attr("id")+" ",u=0,h=0,p=0,m=0,O=[];if(function(){s.companyName&&(o=s.companyName);s.reviewLimit&&(l=s.reviewLimit);s.charLimit&&(c=s.charLimit);s.boxHeight&&(v=s.boxHeight);s.boxWidth&&(d=s.boxWidth);s.slidesAtOnce&&(w=s.slidesAtOnce);switch(s.effect){case"scrollBox":!function(){if(i=1,s.boxHeight)return void(v=s.boxHeight);v=500}();break;case"slider":!function(){if(i=2,s.boxHeight)return void(v=s.boxHeight);v=300}();break;case"latestBoxes":!function(){if(i=3,s.reviewLimit<13&&s.reviewLimit>0)return void(v=s.boxHeight);l=5}();break;case"fullReviewPage":i=4;break;case null:case"":i=0;break;default:i=0,console.log("invalid effect: "+s.effect)}}(),e("head").append('<link rel="stylesheet" type="text/css" href="/js/widgets/gglReviewWidget/ReviewWidget.min.css">'),e(f).append('<div class="OA_rwLoadingImage">Loading Reviews<br><i class="fas fa-circle-notch fa-spin"></i></div>'),e(f).css({"max-width":d}),e(f+".OA_rwLoadingImage").css({height:v}),s.placeId)for(var _ of(r=e.unique(s.placeId.trim().replace(/,$/,"").split(",").map(e=>e.trim())),u=r.length,m+=r.length,r))A(_);if(s.storefrontKey)for(var _ of(n=e.unique(s.storefrontKey.trim().replace(/,$/,"").split(",").map(e=>e.trim())),h=n.length,m+=n.length,n))b(_);if(s.toYourSuccessClient)for(var _ of(a=e.unique(s.toYourSuccessClient.trim().replace(/,$/,"").split(",").map(e=>e.trim())),p=a.length,m+=a.length,a))C(_);function A(t){e.ajax({type:"POST",url:"https://api.pagepilot.com/api/GoogleReviewWidget/ReviewContent?placeId="+t,success:function(e){var i=JSON.parse(e);i.reviews.length>0?y(i,t):console.log("no google reviews for "+t),u--,x()},error:function(){console.log("error for Google ajax call "+t),u--,m--,x()}})}function b(t){e.ajax({url:"https://api.sidebox.com/plugin/reviewwidgetp?callback=?&storefrontToken="+t+"&type=sidebar&minstarrating=1&count="+l,dataType:"jsonp",success:function(e){var i=function(e,t){var i={};"string"==typeof e&&(window.DOMParser?(parser=new DOMParser,docNode=parser.parseFromString(e,"text/html")):(docNode=new ActiveXObject("Microsoft.XMLDOM"),docNode.async=!1,docNode.loadXML(e)),e=docNode.firstChild);return function e(t,i){i.type=t.nodeName;var r=t.childNodes;if(null!=r&&r.length){i.content=[];for(var n=0;n<r.length;n++)3==r[n].nodeType?i.content.push(r[n].nodeValue):(i.content.push({}),e(r[n],i.content[i.content.length-1]))}if(null!=t.attributes&&t.attributes.length){i.attributes={};for(var n=0;n<t.attributes.length;n++)i.attributes[t.attributes[n].nodeName]=t.attributes[n].nodeValue}}(e,i),t?JSON.stringify(i):i}(e,!0),r=JSON.parse(i);r.content?y(r):console.log("no nbn reviews for "+t),h--,x()},error:function(){console.log("error for NBN ajax call for "+t),m--,h--,x()}})}function C(t){e.ajax({type:"GET",url:"https://api.toyoursuccess.com/1/reviews/?client="+t+"&limit_reviews="+l,success:function(e){var t=e;t.errors?(console.log(t.errors),m--):y(t),p--,x()},error:function(e){console.log("error for To Your Success ajax call for "+t),p--,m--,x()}})}function y(e,t){var i={};if(e.type){i.overview={rating:e.content[1].content[2].content[1].content[3].content[0],count:e.content[1].content[4].content[1].content[0],src:{type:"NBN",content:null}},i.reviews=[];for(var r=e.content[1].content,n=6;n<r.length;n+=2){var a,s=r[n];switch(s.content[3].content[1].attributes.src){case"https://d6at0twdth9j2.cloudfront.net/assets/images/stars-5.png":a=5;break;case"https://d6at0twdth9j2.cloudfront.net/assets/images/stars-4.png":a=4;break;case"https://d6at0twdth9j2.cloudfront.net/assets/images/stars-3.png":a=3;break;case"https://d6at0twdth9j2.cloudfront.net/assets/images/stars-2.png":a=2;break;case"https://d6at0twdth9j2.cloudfront.net/assets/images/stars-1.png":a=1}var o=null;s.content[3].content[3].content&&(o=s.content[3].content[3].content[0]);var l=null;s.content[3].content[5].content&&(l=s.content[3].content[5].content[0]);var c=null;if(s.content[3].content[13].content)c=s.content[3].content[13].content[0];i.reviews.push({stars:a,reviewer:l,title:o,timeStamp:s.content[3].content[11
1].attributes.datetime,comment:c,source:"NearbyNow"})}}else if(e.tys_data){i.overview={rating:(e.average_score/20).toFixed(2),count:null,src:{type:"TYS",content:e.review_feed}},i.reviews=[];var v=e.reviews.locations;Object.entries(v).forEach(t=>{Object.entries(t[1].departments).forEach(t=>{for(var r=0;r<t[1].reviews.length;r+=1){var n=t[1].reviews[r],a=new Date(n.date).toISOString();i.reviews.push({stars:n.star_rating,reviewer:n.name,title:null,timeStamp:a,comment:n.comment,source:e.tys_data.tys_logo})}})})}else for(var d of(i.overview={rating:e.overview.rating,count:e.overview.count,src:{GGL:t}},i.reviews=[],e.reviews)){var w;switch(d.starRating){case"FIVE":w=5;break;case"FOUR":w=4;break;case"THREE":w=3;break;case"TWO":w=2;break;case"ONE":w=1}i.reviews.push({stars:w,reviewer:d.reviewer.displayName,title:null,timeStamp:d.updateTime,comment:d.comment,source:"Google"})}O.push(i)}function x(){if(0==h&&0==u&&0==p){if(0==O.length&&m>0)return e(f+".OA_rwLoadingImage").remove(),void e(f).html("<div><h2>No reviews yet!</h2><p>Check back later</p></div>");if(0==O.length&&0==m)return e(f+".OA_rwLoadingImage").remove(),void e(f).html("<div><h2>Error</h2></div>");var t={overview:[],reviews:[]};for(var r of O)for(var n of(t.overview.push(r.overview),r.reviews))n.stars>=g&&t.reviews.push(n);t.reviews.sort(function(e){var t=1;"-"===e[0]&&(t=-1,e=e.substr(1));return function(i,r){var n=i[e]<r[e]?-1:i[e]>r[e]?1:0;return n*t}}("-timeStamp")),function(t){e(f).append('<div id="OA_newReviewWidgetCompanyInfo"></div>'),e(f+"#OA_newReviewWidgetCompanyInfo").append('<div class="OA_companyReviewName">'+o+"</div>");var r=0;for(var n of t.overview){var a,s=n.rating,d=n.count;switch(r++,n.src.type){case"NBN":a='<div class="OA_reviewCount">From '+d+" Nearby Now reviews.</div>";break;case"TYS":a='<div class="OA_reviewCount"><a href="'+n.src.content+'" target="_blank">See all To Your Success Reviews.</a></div>';break;default:a='<div class="OA_reviewCount">From '+d+' Google reviews. <a href="https://search.google.com/local/reviews?placeid='+n.src.GGL+'" target="_blank">See all reviews.</a></div>'}e(f+"#OA_newReviewWidgetCompanyInfo").append('<div class="OA_avgReviews" id="AvgReview'+r+'"><span class="OA_reviewAvgStars" style="display: inline-flex;"><span style="display: inline-flex; width: '+20*s+'%; overflow: hidden;">★★★★★</span></span><span class="OA_reviewAvgNum">'+s+"/5</span>"+a+"</div>")}e(f).append('<div id="OA_gglReviewsContainer"></div>'),l>t.reviews.length&&(l=t.reviews.length);for(var g=0;g<l;g++){var u,h,p,m=t.reviews[g],O="",_="",A="";switch(u='<span style="display: inline-flex;"><span style="width: 50%; display: inline-flex;"><span style="width: '+20*m.stars+'%; overflow: hidden;">★★★★★</span><span style="width: '+(100-20*m.stars)+'%; overflow: hidden; transform: scale(-1, 1); -moz-transform: scale(-1, 1); -webkit-transform: scale(-1, 1); -o-transform: scale(-1, 1); -ms-transform: scale(-1, 1);">☆☆☆☆☆</span></span></span>',m.source){case"NearbyNow":p='<img class="OA_reviewNbnLogo" src="https://www.hvacwebsites.com/images/oa_review_widget/nbn.png" height="20" width="75" alt="See our Nearby Now Reviews">';break;case"Google":p='<img class="OA_reviewGoogleLogo" src="https://hvacwebsites.com/images/oa_review_widget/google.png" height="20" width="52" alt="See our Google Reviews">';break;default:p='<img class="OA_reviewGoogleLogo" src="'+m.source+'" alt="See our Reviews" height="20" width="75" style="object-fit: contain;">'}var b=new Date(m.timeStamp),C=Math.floor((new Date-b)/1e3),y=(Math.floor(C/3600),Math.floor(C/86400));h=y<"1"?"Today":"1"==y?y+" day ago":y+" days ago";var x=m.comment;x&&c&&x.length>c?A='<div id="commentOverflow">'+x.substr(0,c)+'...<br /><a href="#" class="OA_readMoreLink">Read More</a></div><div id="commentFull" style="display: none;">'+x+"</div>":x&&(A=x),m.title&&(O=m.title),m.reviewer&&(_=m.reviewer),e(f+"#OA_gglReviewsContainer").append('<div class="OA_reviewContainer">\n <div class="OA_reviewScore">'+u+'</div>\n <div class="OA_reviewTitle">'+O+'</div>\n <div class="OA_reviewerName">'+_+'</div>\n <div class="OA_reviewTime">'+h+'</div>\n <div class="OA_reviewComment">'+A+'</div>\n <div class="OA_reviewSource">'+p+"</div>\n</div>")}switch(i){case 1:e(f+"#OA_gglReviewsContainer").css({"max-height":v}).addClass("OA_gglReviewOverflow");break;case 2:!function(){e(f+"#OA_gglReviewsContainer").addClass("noHover").addClass("OA_newReviewSlider").wrapInner('<div class="OA_sliderContainer"></div>').prepend('<a class="OA_sliderControlNext">›</a><a class="OA_reviewControlPrev">‹</a>'),e(f+".OA_reviewContainer").wrap('<div class="OA_reviewSlide"></div>').wrap('<div class="OA_reviewSlideHolder"></div>').removeClass("OA_reviewContainer").addClass("OA_reviewContainerSlide"),setInterval(function(t){1!=document.hidden&&e(f+"#OA_gglReviewsContainer").hasClass("noHover")&&n()},7e3);var t=e(f+".OA_reviewSlide").length,i=t*(100/w)+"%",r=100/t+"%";function n(){e(f+".OA_sliderContainer").animate({left:-100/w+"%"},200,function(){e(f+".OA_reviewSlide:first-child").appendTo(f+".OA_sliderContainer"),e(f+".OA_sliderContainer").css("left","")})}e(f+".OA_reviewSlide").css({width:r,height:v}),e(f+"#OA_gglReviewsContainer").css({width:"100%",height:v}),e(f+".OA_sliderContainer").css({width:i,marginLeft:-100/w+"%"}),e(f+".OA_reviewSlide:last-child").prependTo(f+".OA_sliderContainer"),e(f+"a.OA_reviewControlPrev").
1click(function(){e(f+".OA_sliderContainer").animate({left:100/w+"%"},200,function(){e(f+".OA_reviewSlide:last-child").prependTo(f+".OA_sliderContainer"),e(f+".OA_sliderContainer").css("left","")})}),e(f+"a.OA_sliderControlNext").click(function(){n()}),e(f+"#OA_gglReviewsContainer").hover(function(){e(this).removeClass("noHover")}),e(f+"#OA_gglReviewsContainer").mouseleave(function(){e(this).addClass("noHover")})}();break;case 3:e(f+"#OA_gglReviewsContainer").css({"max-height":v}).addClass("OA_gglReviewOverFlex"),e(f+".OA_reviewContainer").addClass("OA_reviewFlexBox").removeClass("OA_reviewContainer");break;case 4:e(f).css({border:"none"}),e(f+"#OA_gglReviewsContainer").addClass("OA_gglReviewPage"),e(f+".OA_reviewContainer").addClass("OA_gglReviewPageItems").removeClass("OA_reviewContainer")}e(f+".OA_rwLoadingImage").remove(),e(f+"a.OA_readMoreLink").click(function(t){t.preventDefault(),e(this).parent("#commentOverflow").next("#commentFull").css({"max-height":e(this).parent("#commentOverflow").height(),"overflow-y":"auto"}),e(this).parent("#commentOverflow").hide(),e(this).parent("div").next("#commentFull").show()})}(t)}}}}(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.