text: /******************************************************
  *                                                     *
  *   Async reCAPTCHA - jQuery Plugin                   *
  *                                                     *
  *   Purpose: This project contains a simple and       *
  *            full configurable jQuery plugin which    *
  *            asynchronously loads one or multiple     *
  *            Google reCAPTCHA v2 instances located    *
  *            on a page. The load is triggered when    *
  *            the reCAPTCHA is scrolled into viewport. *
  *                                                     *
  *   Author: Andreas Kar (thex) <andreas.kar@gmx.at>   *
  *   Repository: https://git.io/JvyqU                  *
  *                                                     *
  ******************************************************/
  
  !function(i){var r;i.fn.asyncReCAPTCHA=function(n){(r=i.extend(!0,{},i.fn.asyncReCAPTCHA.defaults,n)).containers=this,r.setHeight(),r.attachSpinner(),r.triggerAsyncLoad(),r.checkAndLoad()},i.fn.asyncReCAPTCHA.defaults={offset:0,libraryUrl:"https://www.google.com/recaptcha/api.js",fixHeight:!1,spinner:{attach:!1,remove:!1,type:"included",spinnerClass:"async-recaptcha-spinner",spinnerCtnClass:"async-recaptcha-spinner-ctn",bsSpinnerClass:"spinner-border",customSpinner:"",delay:1e4},isInViewport:function(){var n=i(this).offset().top,e=n+i(this).outerHeight(),t=i(window).scrollTop(),s=t+i(window).height();return t<e&&n+r.offset<s},isRecaptchaLoaded:function(){for(var n=document.getElementsByTagName("script"),e=0;e<n.length;e++){var t=n[e].getAttribute("src");if(null!=t&&t.startsWith(r.libraryUrl))return!0}return!1},setHeight:function(){r.fixHeight&&i(r.containers).each(function(){i(this).attr("style","min-height:78px;")})},removeSpinner:function(){setTimeout(function(){i(this).parent().find("."+r.spinner.spinnerCtnClass).remove()}.bind(this),r.spinner.delay)},attachSpinner:function(){var n,e,t=r.spinner;t.attach&&i(r.containers).each(function(){"bootstrap"==t.type?(n=i("<div>").addClass(t.bsSpinnerClass+" "+t.spinnerClass).attr("role","status")).prepend(i("<span>").addClass("sr-only").html("Loading...")):"included"==t.type?n=i("<div>").addClass("simple-spinner "+t.spinnerClass).attr("role","status"):"custom"==t.type&&(n=i(t.customSpinner).addClass(t.spinnerClass)),e=i("<div>").addClass(t.spinnerCtnClass).prepend(n),i(this).parent().prepend(e)})},triggerAsyncLoad:function(){i(window).on("resize scroll",function(){r.checkAndLoad()})},checkAndLoad:function(){i(r.containers).each(function(){var n=i(this);i.trim(i(this).html())||!r.isInViewport.call(n)||r.isRecaptchaLoaded()||(r.beforeLoad.call(n),jQuery.getScript(r.libraryUrl),r.spinner.remove&&r.removeSpinner.call(n),r.afterLoad.call(n))})},beforeLoad:function(){},afterLoad:function(){}}}(jQuery);