1(function(){var a={version:void 0,environment:"production",_socket:void 0,config:function(t){t=t||{},this.options=$.extend(!0,{redirect:!0,path:"/modules",dataType:"json",debug:!1,method:"POST"},t)},api:{call:function(t,e,o){var n,i=this;if(a.options.debug&&console.log("MOAPPI.API.DEBUG api.call",t,e),"function"==typeof e&&(o=e,e={}),"object"==typeof t&&(t=(n=t).request,e=n.params),!o)return new Promise((o,n)=>{i._call(t,e,a.options.method,(t,e)=>(a.options.debug&&console.log("MOAPPI.API.DEBUG api.call.async.response",t,e),t?"function"==typeof a.options.error?a.options.error(t.message):void n(t):o(e)))});this._call(t,e,a.options.method,function(t,e){a.options.debug&&console.log("MOAPPI.API.DEBUG api.call.callback.response",t,e),o(t,e)})},_call:function(t,e,o,n){t=[a.options.path,t].join("/");$.ajax({url:t,type:o,dataType:a.options.dataType,data:e,cache:!1,headers:{"cache-control":"no-cache"},xhrFields:{withCredentials:!0},success:function(t){a._getHeader(t),a._redirect(t)||(t.header.status?n(void 0,t.response):n(t.header))},error:function(t,e,o){n([e,o].join(":"))}})},request:{get:function(t,e,o,n){this._call(t,e,o,"GET",n)},post:function(t,e,o,n){this._call(t,e,o,"POST",n)},_call:function(t,e,o,n,i){e=[a.options.path,t,e].join("/");$.ajax({url:e,type:n,dataType:a.options.dataType,data:o,cache:!1,headers:{"cache-control":"no-cache"},xhrFields:{withCredentials:!0},success:function(t){a._getHeader(t),a._redirect(t)||i(t)},error:function(t,e,o){i(a._response(e+":"+o,void 0))}})}},external:function(t,e,n,o){var i,r;void 0!==o&&(i=!1,r=o),$.ajax({url:t,dataType:"jsonp",data:e,jsonp:i,jsonpCallback:r,success:function(t,e,o){n(a._response(void 0,t))},error:function(t,e,o){n(a._response(e+":"+o,void 0))}})},oauth:{get:function(t,e,o,n){this._call(t,e,o,"GET",n)},post:function(t,e,o,n){this._call(t,e,o,"POST",n)},_call:function(t,e,o,n,i){e=[a.options.path,"oauth",t,"call",e].join("/");$.ajax({url:e,type:n,dataType:a.options.dataType,data:o,cache:!1,headers:{"cache-control":"no-cache"},success:function(t){a._getHeader(t),a._redirect(t)||i(t)},error:function(t,e,o){i(a._response(e+":"+o,void 0))}})}}},socket:function(t){if(io)return t=t||"",this._socket||(this._socket=io.connect(t,{path:"/io"})),this._socket},auth:{fail:"AUTH.FAIL",redirect:"AUTH.REDIRECT"},_getHeader:function(t){a.version=t.header.version,a.environment=t.header.environment},_redirect:function(t){if(!a.options.redirect)return!1;if(!t.header.status)switch(t.header.detail){case a.auth.fail:return a.options.login&&a.options.login.redirect&&(window.location=a._login(a.options.login)),!0;case a.auth.redirect:return window.location=t.header.message,!0}return!1},_login:function(t){if(t.href){var e="?";return 0<t.redirect.indexOf("?")&&(e="&"),t.redirect+e+"href="+encodeURIComponent(window.location.href)}return t.redirect},_response:function(t,e){return{header:this._header(t),response:e}},_header:function(t){var e={version:this.version,status:1,detail:"",message:""};return t&&(e.status=0,e.message=t),e}};(window.moappi=a).config()}).call(this),window.request=[],function(){var t,e=[];if(!(window.location.href.indexOf("?")<0)){for(var o=window.location.href.slice(window.location.href.indexOf("?")+1).split("&"),n=0;n<o.length;n++)t=o[n].split("="),e.push(t[0]),e[t[0]]=t[1];window.request=e}}();var twui={component:{},register:function(e){for(var o in e=e||$("html"),this.component)!function(t){e.find("[twui-component='"+o+"']").each(function(){"function"==typeof t.register&&t.register.call(new t.obj($(this)))})}(this.component[o])},get:function(t){var e=t.attr("twui-component");if(this.component[e])return new this.component[e].obj(t)},init:function(){var t,o=this;for(t in o.component)!function(e){for(var t in e.obj=function(t){this.$obj=t,this.attr=o.getAttr.call(this.$obj,e)},e.methods)!function(t){e.obj.prototype[t]=function(){return e.methods[t].apply(this,arguments)}}(t);e.obj.prototype.on=function(t,e){this.$obj.on(["twui",t].join("."),e)},e.obj.prototype.trigger=function(t){this.$obj.trigger(["twui",t].join("."))}}(o.component[t])},getAttr:function(t){var e,o=$.extend({},t.attr);for(e in t.attr){var n=$(this).attr(e);n&&(o[e]=n)}return o}};$(function(){twui.init(),twui.register()}),twui.component.chat={attr:{},register:function(){var e=this;e.tailwind={error:"ring-red-300 placeholder:text-red-300 text-red-900 focus:ring-red-500"},e.$modal=e.$obj.find(">
1 div:first-child"),e.$close=e.$modal.find("> div:first-child"),e.$open=e.$obj.find("> div:last-child"),e.$body=e.$modal.find("> div:last-child"),e.$form=e.$body.find("> form"),e.$confirm=e.$body.find("> div:last-child"),e.form={$name:e.$form.find("input[name='name']"),$email:e.$form.find("input[name='email']"),$message:e.$form.find("textarea[name='message']")},e.$close.click(function(t){e.$modal.addClass("hidden"),e.$open.removeClass("hidden")}),e.$open.click(function(t){e.$open.addClass("hidden"),e.$modal.removeClass("hidden")}),e.$form.find("input, textarea").focus(function(t){$(this).removeClass(e.tailwind.error),$(this).parent().find(" > div > svg").addClass("hidden")}),e.$form.find("button[type='submit']").click(function(t){t.preventDefault();t={name:e.form.$name.val().trim(),email:e.form.$email.val().trim(),message:e.form.$message.val().trim()};return t.name.length?e.validateEmail(t.email)?t.message.length?(e.$obj.trigger("twui.submit",t),e.$form.addClass("hidden"),void e.$confirm.removeClass("hidden")):e.error(e.form.$message):e.error(e.form.$email):e.error(e.form.$name)})},methods:{open:function(){let t=this.$obj.find("> div:first-child"),e=this.$obj.find("> div:last-child");e.addClass("hidden"),t.removeClass("hidden")},error:function(t){t.addClass(this.tailwind.error),t.parent().find("> div > svg").removeClass("hidden")},validateEmail:t=>t.match(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/)},events:["submit"]},twui.component.toggle={attr:{"twui-translate-on":"x-5","twui-translate-off":"x-0","twui-color-on":"indigo-500","twui-color-off":"gray-200","twui-state":"off"},register:function(){var r=this;r.$obj.click(function(t){var e=$(this).find(">span:last-child"),o={on:["bg",r.attr["twui-color-on"]].join("-"),off:["bg",r.attr["twui-color-off"]].join("-")},n={on:["translate",r.attr["twui-translate-on"]].join("-"),off:["translate",r.attr["twui-translate-off"]].join("-")},i="on"===(i=$(this).attr("twui-state"))?($(this).removeClass(o.on).addClass(o.off),e.removeClass(n.on).addClass(n.off),"off"):($(this).addClass(o.on).removeClass(o.off),e.addClass(n.on).removeClass(n.off),"on");$(this).attr("twui-state",i),$(this).trigger("twui.change",i)})},methods:{get:function(){return this.$obj.attr("twui-state")}},events:["change"]};
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.