Viewing File: /usr/local/cpanel/share/libraries/cjt2/dist/cjt2.unprotected.cmb.min.js
!function(){function ngDebounce(r){return{restrict:"A",require:"ngModel",priority:99,link:function(e,t,i,n){var a;"radio"!==i.type&&"checkbox"!==i.type&&(t.unbind("input"),t.bind("input",function(){r.cancel(a),a=r(function(){e.$apply(function(){n.$setViewValue(t.val())})},250)}),t.bind("blur",function(){r(function(){e.$apply(function(){n.$setViewValue(t.val())})})}))}}}function preventDefaultOnEnter(){return{restrict:"A",link:function(e,t,i){t.bind("keydown",function(e){13!==(e.keyCode||e.which)||e.shiftKey||e.preventDefault()})}}}define("cjt/core",[],function(){var e=null,t={get_pathname:function(){return window.location.pathname},get_port:function(){return window.location.port},get_hostname:function(){return window.location.hostname},get_protocol:function(){return window.location.protocol}},i={get_configuration:function(){return PAGE}};function n(){if(null!==e)throw new Error("Cannot instantiate more then one CJT, use CJT.getInstance()");this.initialize(t,i)}return window&&(window.PAGE=window.PAGE||{}),n.prototype={name:"CJT",description:"cPanel Common JavaScript Library",version:"2.0.0.1",KNOWN_APPLICATIONS:{WHM:"whostmgr",CPANEL:"cpanel",WEBMAIL:"webmail",UNPROTECTED:"unprotected"},initialize:function(e,t){var t=t.get_configuration(),i=(this.config={mode:t.MODE,debug:"debug"===t.MODE,themePath:(i=t.THEME_PATH)&&i.replace(/\/?$/,"/")||"/",isProxy:t.IS_PROXY||!1,applicationName:t.APP_NAME||"",e2e:t.IS_E2E||!1},this.protocol=e.get_protocol(),e.get_port()),t=(i||(/^https:$/i.test(this.protocol)?i="443":/^http:$/i.test(this.protocol)&&(i="80")),{80:"other",443:"other",2082:"cpanel",2083:"cpanel",2086:"whostmgr",2087:"whostmgr",2095:"webmail",2096:"webmail",9876:"unittest",9877:"unittest",9878:"unittest",9879:"unittest",frontend:"cpanel",webmail:"webmail"}),n=(this._url_path=e.get_pathname(),this._url_path.match(/((?:\/cpsess\d+)?)(?:\/([^\/]+))?/)||[]);this.domain=e.get_hostname(),this.port=parseInt(i,10),this.config.applicationName?this.applicationName=this.config.applicationName:this.config.isProxy?/^whm\./.test(this.domain)?this.applicationName=t[2087]:/^cpanel\./.test(this.domain)?this.applicationName=t[2083]:/^webmail\./.test(this.domain)&&(this.applicationName=t[2095]):this.applicationName=t[i]||t[n[2]]||"whostmgr",this.securityToken=n[1]||"",this.applicationPath=this.securityToken?this._url_path.replace(this.securityToken,""):this._url_path,this.theme="",this.themePath=""},isOther:function(){return/other/i.test(this.applicationName)},isUnitTest:function(){return/unittest/i.test(this.applicationName)||Boolean(window.__karma__)},isUnprotected:function(){return!this.securityToken&&-1!==this.unprotected_paths.indexOf((e=this.applicationPath)&&e.replace(/\/?$/,""));var e},unprotected_paths:["/resetpass","/invitation"],isCpanel:function(){return/cpanel/i.test(this.applicationName)},isWhm:function(){return/whostmgr/i.test(this.applicationName)},isE2E:function(e){return this.e2e},setE2E:function(e){if(void 0===e)throw"Parameter e2e must be boolean.";if("boolean"!=typeof e)throw"Parameter e2e must be boolean.";this.e2e=e,window.__isE2E=e,this._updateE2EHandlers()},_updateE2EHandlers:function(){},isWebmail:function(){return/webmail/i.test(this.applicationName)},getTheme:function(){var e,t=this.theme;return t||this.isUnprotected()||!this.isCpanel()&&!this.isWebmail()||(e=this._url_path.split("/"),this.theme=t=e[3]),t},getThemePath:function(){var e=this.themePath;return e||(e=this.securityToken+"/",this.isUnprotected()?e=this.config.themePath:this.isCpanel()?e+="frontend/"+this.getTheme()+"/":this.isWebmail()?e+="webmail/"+this.getTheme()+"/":this.isUnitTest()?e="/":(this.isOther()||PAGE.customThemePath)&&(e=this.config.themePath),this.themePath=e),e},buildPath:function(e){return this.getThemePath()+e},buildFullPath:function(e){return this.protocol+"//"+this.domain+":"+this.port+this.buildPath(e)},getLoginPath:function(){return this.getRootPath()},getRootPath:function(){return this.protocol+"//"+this.domain+":"+this.port},_uniqueSets:{},generateUniqueId:function(e,t){t=t||1;return this._uniqueSets[e=e||"id"]?t=++this._uniqueSets[e]:this._uniqueSets[e]=t,e+t},debug:function(e){this.config.debug&&window&&window.console&&window.console.log(e)},log:function(e){window&&window.console&&window.console.log(e)},namespace:function(){for(var e,t,i,n,a=arguments,r=0;r<a.length;r++)if(e=this,-1<(n=a[r]).indexOf("."))for("CPANEL"===(i=n.split("."))[0]&&(t="v2"===i[1]?2:1);t<i.length;t++)e[i[t]]=e[i[t]]||{},e=e[i[t]];else e[n]=e[n]||{},e=e[n];return e}},n.getInstance=function(){return e=null===e?new n:e},window.__CJT2=n.getInstance(),n.getInstance()}),define("cjt/bootstrap",["angular","cjt/core"],function(a,r){return function(e,t){var i=e||"#content";if(t=t||"App","cpanel"===r.applicationName&&"#content"!==i&&console.debug("Apps in cPanel that utilize the breadcrumbs need to bootstrap to #content to include that."),a.isString(i)){var n=a.element(i);if(!n||!n.length)throw"Can not start up angular application since we can not find the element: "+e;i=n[0]}if(!i)throw"Can not start up angular application since the element was not passed or is undefined";a.bootstrap(i,[t])}}),define("cjt/util/locale",["lodash"],function(r){function s(e){return(e=e.getUTCDay()-1)<0?6:e}var o={initial:"…{0}",medial:"{0}…{1}",final:"{0}…"},e=r.escape("'"),t=r.escape('"'),i=r.escape("&");function a(){}a._locales={},a._currentLocaleTag="",a.getCurrentLocale=function(){return a._currentLocaleTag},a.setCurrentLocale=function(e){return e in a._locales.keys()?(a._currentLocaleTag=e,window.LOCALE=a._locales[e]):console.log("Failed to locate the requested locale "+e+" in the loaded locales."),window.LOCALE},a.add_locale=function(e,t){a._locales[e]=t,a._currentLocaleTag=e,t.prototype._locale_tag=e},a.remove_locale=function(e){return delete a._locales[e]},a.clear_locales=function(e){a._locales={}},a.has_locale=function(e){return!!a._locales[e]},a.get_handle=function(){for(var e,t=arguments.length,i=0;i<t;i++)if((e=arguments[i])in a._locales)return new a._locales[e];var n=Object.keys(a._locales),n=!!n.length&&n[0],n=new(n&&a._locales[n]?a._locales[n]:a);return n.get_manager=function(){return a},n},a.ymd=null,a.ymd_string_to_date=function(e){var e=e.split(/\D+/),t=this.ymd||"mdy",i=e[t.indexOf("d")],n=e[t.indexOf("m")],e=e[t.indexOf("y")],t=(e&&e.length<4&&(t=4-e.length,e=String((new Date).getFullYear()).substr(0,t)+e),new Date(e,n-1,i));return isNaN(t.getTime())?void 0:t},a.date_template=null,a.to_ymd_string=function(t){return(a.date_template||"{month}/{day}/{year}").replace(/\{(?:month|day|year)\}/g,function(e){switch(e){case"{day}":return t.getDate();case"{month}":return t.getMonth()+1;case"{year}":return t.getFullYear()}})};function n(e){if(e){if(-1===(e=this.LEXICON&&this.LEXICON[e]||e).indexOf("["))return String(e);for(var t,i=[],n=e.match(g),a=n.length,r=!1,s="",o=0;o<a;o++)if("["===(t=n[o])){if(r)throw"Invalid maketext string: "+e;r=!0}else if("]"===t){if(!r||!s)throw"Invalid maketext string: "+e;var r=!1,l=s.split(","),c=l.length;if(1===c){var u=l[0].match(_);if(!u)throw"Invalid maketext string: "+e;var d=arguments[u[1]];if(void 0===d)throw'Invalid argument "'+u[1]+'" passed to maketext string: '+e;s="",i.push(d)}else{if(u=l.shift(),--c,"function"!=typeof this[u=b[u]||u])throw'Invalid function "'+u+'" in maketext string: '+e;if(-1!==s.indexOf(""))for(p=0;p<c;p++)l[p]=l[p].replace(m,",");for(var h,p=0;p<c;p++)if("_"===(f=l[p]).charAt(0))if("_*"===f)for(l.splice(p,1),p=1,h=arguments.length;p<h;p++)l.push(arguments[p]);else{var f=f.match(_);if(!f)throw"Invalid maketext string: "+e;if(!(f[1]in arguments))throw'Invalid variable "'+f[1]+'" in maketext string: '+e;l[p]=arguments[f[1]]}s="",i.push(this[u].apply(this,l))}}else"~"===t.charAt(0)?(d=t.charAt(1)||"~",r?s+=","===d?"":d:i.push(d in v?d:t)):r?s+=t:i.push(t);if(r)throw"Invalid maketext string: "+e;return i.join("")}}var l,g=/([^~\[\]]+|~.|\[|\]|~)/g,m=new RegExp("","g"),v={"[":1,"]":1,"~":1},_=/^_(\d+)$/,b={"#":"numf","*":"quant"},c=["KB","MB","GB","TB","PB","EB","ZB","YB"];return((a.prototype=Object.create({LEXICON:"undefined"==typeof window?global.LEXICON||(global.LEXICON={}):window.LEXICON||(window.LEXICON={}),maketext:n,makethis:n,makevar:n,translatable:function(e){return e},_locale_tag:null,get_language_tag:function(){return this._locale_tag},getCollator:function(){if(!this._collator){var t=this.get_language_tag();try{this._collator=new Intl.Collator(t)}catch(e){console.info("Failed to create collator for locale: "+t+"; falling back to “en”",e),this._collator=new Intl.Collator("en")}}return this._collator},join:function(e,t){if(e=String(e),"object"==typeof t)return t.join(e);for(var i=String(t),n=2;n<arguments.length;n++)i+=e+arguments[n];return i},boolean:function(e,t,i,n){return e?""+t:3<arguments.length&&null==e?""+n:""+i},comment:function(){return""},output:function(e,t){var i=this,n=Array.prototype.concat.apply([],arguments).slice(1),a=(n&&"string"==typeof n[0]&&(n[0]=n[0].replace(/chr\((\d+|\S)\)/g,function(e,t){return i.output_chr(t)}),n[0]=n[0].replace(/amp\(\)/g,function(e){return i.output_amp()})),"output_"+e);return"function"==typeof this[a]?this[a].apply(this,n):(window.console&&window.console.warn('Locale output function "'+e+'" is not implemented.'),t)},output_apos:function(){return e},output_quot:function(){return t},output_asis:String,asis:String,output_underline:function(e){return"<u>"+e+"</u>"},output_strong:function(e){return"<strong>"+e+"</strong>"},output_em:function(e){return"<em>"+e+"</em>"},output_abbr:function(e,t){return'<abbr title="__FULL__">'.replace(/__FULL__/,t)+e+"</abbr>"},output_acronym:function(e,t){return this.output_abbr(e,t).replace(/^(<[a-z]+)/i,'$1 class="initialism"')},output_class:function(e){return'<span class="'+Array.prototype.slice.call(arguments,1).join(" ")+'">'+e+"</span>"},output_chr:function(e){return isNaN(+e)?String(e):r.escape(String.fromCharCode(e))},output_amp:function(){return i},output_url:function(e){var t,i,n,a,r,s=arguments.length,o=arguments[s-1];if("object"==typeof o)t=3===s?arguments[1]:o.html||e,"_type"in o&&"offsite"===o._type&&(o.class="offsite",o.target="_blank",delete o._type);else{for(o={},a=s%2?1:(t=arguments[1],2),r=arguments.length;a<r;)i=arguments[a],n=arguments[++a],"_type"===i&&"offsite"===n?(o.target="_blank",o.class="offsite"):o[i]=n,a++;t=t||o.html||e}var l='<a href="'+e+'"';if("object"==typeof o)for(i in o)o.hasOwnProperty(i)&&(l+=" "+i+'="'+o[i]+'"');return l+=">"+t+"</a>"},list_separator:", ",oxford_separator:",",list_default_and:"&",list:function(e){e=e||this.list_default_and;var t=this.list_separator,i=this.oxford_separator,n="object"==typeof arguments[1]&&arguments[1]instanceof Array?arguments[1]:Array.prototype.concat.apply([],arguments).slice(1),a=n.length;return a?1===a?String(n[0]):2===a?n[0]+" "+e+" "+n[1]:n.slice(0,-1).join(t)+[i,e,n.slice(-1)].join(" "):""},format_bytes:function(e,t){void 0===t&&(t=2);var i=(e=Number(e))&&Math.min(Math.floor(Math.log(e)/Math.log(1024)),c.length);return i?this.numf(e/Math.pow(1024,i),t)+" "+c[i-1]:this.maketext("[quant,_1,%s byte,%s bytes]",e)},numerate:function(e){var t;return this.get_plural_form?void 0===(t=this.get_plural_form.apply(this,arguments)[0])?arguments[arguments.length-1]:t:1===(t=Math.abs(e))?""+arguments[1]:0===t?""+arguments[arguments.length-1]:""+arguments[2]},quant:function(e){var t,i,n=3,e=(e instanceof Array&&(n=e[1],e=e[0]),t=this.get_plural_form?(void 0===(i=(t=this.get_plural_form.apply(this,arguments))[0])&&(i=arguments[arguments.length-1]),t[1]):(i=this.numerate.apply(this,arguments),0===parseInt(e,10)&&3<arguments.length&&i===String(arguments[3])),this.numf(e,n));return-1!==i.indexOf("%s")?i.replace(/%s/g,e):t?i:this.is_rtl()?i+" "+e:e+" "+i},_max_decimal_places:6,numf:function(e,t){if(void 0===t&&(t=this._max_decimal_places),/e/.test(e))return String(e);var i,n,a;try{i=(o=this.get_cldr("misc_info").cldr_formats).decimal,n=o._decimal_format_group,a=o._decimal_format_decimal}catch(e){}i&&n&&a||(i="#,##0.###",n=",",a=".");for(var r,s,o=e<0,l=(e=Math.abs(e),Math.floor(e)),t=(/(?!')\.(?!')/.test(e)&&(r=String(e).replace(/^[^.]+/,"0"),r=Number(r).toFixed(t),/^1/.test(r)?(r=void 0,e=++l):(r=r.replace(/^.*\./,"").replace(/0+$/,""),Number(l+"."+r))),/(?!');(?!')/.test(i)?i.split(/(?!');(?!')/)[o?1:0]:(o?"-":"")+i),c=t.match(/[0#].*[0#]/)[0].split(/(?!')\.(?!')/)[0].split("").reverse().join("").split(/(?!'),(?!')/),e=1===c.length?"":(c.pop(),n),u=String(l).split("").reverse(),d=[],h=function(e){switch(e){case"#":return u.shift()||"";case"0":return u.shift()||"0"}};u.length;){var p=(s=c.length?c.shift():s).replace(/(?!')[0#]|[0#](?!')/g,h).replace(/'([.,0#;¤%E])'$/,"").replace(/'([.,0#;¤%E])'/,"$1");d.push(p)}o=d.join(e).split("").reverse().join("")+(r?a+r:"");return t.replace(/[0#].*[0#]/,o)},_quote:function(e){var t;try{t=this.get_cldr("misc_info").delimiters}catch(e){t={quotation_start:"“",quotation_end:"”"}}return t.quotation_start+e+t.quotation_end},list_and_quoted:function(){return this._list_quoted("list_and",arguments)},list_or_quoted:function(){return this._list_quoted("list_or",arguments)},_list_quoted:function(e,t){var i;if("object"==typeof t[0]){if(!(t[0]instanceof Array))throw"Unrecognized list_and_quoted() argument: "+t[0].toString();i=t[0].slice()}else i=Array.prototype.slice.apply(t);return void 0!==i&&0!==i.length||(i=[""]),this[e](i.map(r.bind(this._quote,this)))},list_and:function(){return this._list_join_cldr("list",arguments)},list_or:function(){return this._list_join_cldr("list_or",arguments)},_list_join_cldr:function(t,i){var e,n,a="object"==typeof i[0]&&i[0]instanceof Array?i[0]:i,r=a.length;try{s=this.get_cldr("misc_info").cldr_formats[t]}catch(e){var i="list_or"===t?"or":"and",s={2:"{0} "+i+" {1}",start:"{0}, {1}",middle:"{0}, {1}",end:"{0}, "+i+" {1}"}}function o(e,t){switch(t){case"0":return n;case"1":return a[l++]}}switch(r){case 0:return;case 1:return String(a[0]);default:if(n=(n=2===r?s[2]:s.start).replace(/\{([01])\}/g,function(e,t){return a[t]}),2!==r)for(var l=2;l<r;)e=s[l===r-1?"end":"middle"],n=e.replace(/\{([01])\}/g,o);return n}},_apply_quote_types:function(e,t,i){var n;if(void 0!==e)return(n=this.get_cldr().misc_info.delimiters)[t]+e+n[i]},quote:function(e){return this._apply_quote_types(e,"quotation_start","quotation_end")},alt_quote:function(e){return this._apply_quote_types(e,"alternate_quotation_start","alternate_quotation_end")},_quote_list:function(e,t,i){for(var n=[],a=(i="object"==typeof i[0]&&i[0]instanceof Array?i[0]:i).length-1;0<=a;a--)n[a]=this[e](i[a]);return this[t](n)},quote_list_and:function(){return this._quote_list("quote","list_and",arguments)},alt_quote_list_and:function(){return this._quote_list("alt_quote","list_and",arguments)},local_datetime:function(e,t){var i;return this._cldr?(i=(e=e instanceof Date?new Date(e):/^-?\d+$/.test(e)?new Date(1e3*e):new Date).getTimezoneOffset(),e.setMinutes(e.getMinutes()-i),-1<(e=this.datetime(e,t)).indexOf("UTC")&&(t=0<i?"-":"+",t+=r.padStart(Math.floor(Math.abs(i)/60).toString(),2,"0"),i=r.padStart((i%60).toString(),2,"0"),e=e.replace("UTC","GMT"+t+i)),e):this.datetime.apply(this,arguments)},datetime:function(i,n){i||0===i?i instanceof Date||(i=new Date(1e3*i)):i=new Date;var a=this.get_cldr("datetime");if(!a)return i.toString();n?/^(?:date|time|datetime|special)_format_/.test(n)&&(n=a[n]):n=a.date_format_long;return n.replace(/('[^']+')|(([a-zA-Z])\3*)/g,function(){if(arguments[1])return arguments[1].substr(1,arguments[1].length-2);var e=arguments[2];switch(e){case"yy":return Math.abs(i.getUTCFullYear()).toString().slice(-2);case"y":case"yyy":case"yyyy":return Math.abs(i.getUTCFullYear());case"MMMMM":return a.month_format_narrow[i.getUTCMonth()];case"LLLLL":return a.month_stand_alone_narrow[i.getUTCMonth()];case"MMMM":return a.month_format_wide[i.getUTCMonth()];case"LLLL":return a.month_stand_alone_wide[i.getUTCMonth()];case"MMM":return a.month_format_abbreviated[i.getUTCMonth()];case"LLL":return a.month_stand_alone_abbreviated[i.getUTCMonth()];case"MM":case"LL":return r.padStart((i.getUTCMonth()+1).toString(),2,"0");case"M":case"L":return i.getUTCMonth()+1;case"EEEE":return a.day_format_wide[s(i)];case"EEE":case"EE":case"E":return a.day_format_abbreviated[s(i)];case"EEEEE":return a.day_format_narrow[s(i)];case"cccc":return a.day_stand_alone_wide[s(i)];case"ccc":case"cc":case"c":return a.day_stand_alone_abbreviated[s(i)];case"ccccc":return a.day_stand_alone_narrow[s(i)];case"dd":return r.padStart(i.getUTCDate().toString(),2,"0");case"d":return i.getUTCDate();case"h":case"hh":var t=i.getUTCHours();return 12<t&&(t-=12),0===t&&(t=12),"hh"===e?r.padStart(t.toString(),2,"0"):t;case"H":return i.getUTCHours();case"HH":return r.padStart(i.getUTCHours().toString(),2,"0");case"m":return i.getUTCMinutes();case"mm":return r.padStart(i.getUTCMinutes().toString(),2,"0");case"s":return i.getUTCSeconds();case"ss":return r.padStart(i.getUTCSeconds().toString(),2,"0");case"a":t=i.getUTCHours();return t<12?a.am_pm_abbreviated[0]:a.am_pm_abbreviated[1];case"z":case"zzzz":case"v":case"vvvv":return"UTC";case"G":case"GG":case"GGG":return a.era_abbreviated[i.getUTCFullYear()<0?0:1];case"GGGGG":return a.era_narrow[i.getUTCFullYear()<0?0:1];case"GGGG":return a.era_wide[i.getUTCFullYear()<0?0:1]}return window.console&&console.warn("Unknown CLDR date/time pattern: "+e+" ("+n+")"),e})},is_rtl:function(){try{return"right-to-left"===this.get_cldr("misc_info").orientation.characters}catch(e){return!1}},elide:function(e,t,i){if(e.length<=(t=t||0)+(i=i||0))return e;var n,a,r;if(t)i?(n="medial",a=e.substr(0,t),r=e.substr(e.length-i)):(n="final",a=e.substr(0,t));else{if(!i)return"";n="initial",a=e.substr(e.length-i)}try{n=this._cldr.misc_info.cldr_formats.ellipsis[n]}catch(e){n=o[n]}return r?n.replace("{0}",a).replace("{1}",r):n.replace("{0}",a)},get_first_day_of_week:function(){var e=Number(this.get_cldr("datetime").first_day_of_week)+1;return 8===e?0:e},set_cldr:function(e){var t,i=(i=this._cldr)||(this._cldr={});for(t in e)e.hasOwnProperty(t)&&(i[t]=e[t])},get_cldr:function(e){if(this._cldr)return"object"==typeof e&&e instanceof Array?e.map(this.get_cldr,this):e?this._cldr[e]:this._cldr},reset_cldr:function(){this._cldr=void 0},_cldr:null})).constructor=a).prototype.parent=Object,a.generateClassFromCldr=function(e,t){function i(){i.prototype.parent.apply(this,arguments),this.set_cldr({datetime:t.datetime_info}),this.set_cldr({misc_info:t.misc_info})}for(var n in((i.prototype=new a).constructor=i).prototype.parent=a,t.functions)t.functions.hasOwnProperty(n)&&(i.prototype[n]=t.functions[n]);a.add_locale(e,i)},window.CJT2_loader&&window.CJT2_loader.CLDR&&window.CJT2_loader.current_locale&&(l=window.CJT2_loader.current_locale,a.generateClassFromCldr(l,window.CJT2_loader.CLDR[l])),a.get_handle(l)}),define("cjt/config/componentConfiguration",["angular","cjt/core","cjt/util/locale"],function(e,t,i){function a(){return{alertList:{component:"alertList",position:i.is_rtl()?"top-left":"top-right",inline:!1}}}function n(e,t){if(t){if(t in e)return e[t];throw new Error("The component "+t+" is not available in the configuration.")}return e}function r(e,t,i){if(!t)throw new Error("You must provide a component name when setting a component");var n=a();if(!(t in n))throw new Error("The component "+t+" is not available in the configuration.");i?e[i.component=t]=i:e[t]=n[t]}e.module("cjt2.config.componentConfiguration",[]).provider("componentConfiguration",function(){var i=a();return{getComponent:function(e){return n(i,e)},setComponent:function(e,t){r(i,e,t)},get:function(){return i},set:function(e){i=e},$get:function(){return{getComponent:function(e){return n(i,e)},get:function(){return i},setComponent:function(e,t){return r(i,e,t)},getDefaults:function(){var t=a();return t.getComponent=function(e){return n(t,e)},t.get=function(){return t},t}}}}})}),define("cjt/config/componentConfigurationLoader",["cjt/util/locale"],function(r){var s=["common-alertList"];return function(n,e,i,t){if(!n)throw new Error(r.maketext("You must specify the [_1] argument.","provider"));if(!e)throw new Error(r.maketext("You must specify the [_1] argument.","nvDataService"));if(!i)throw new Error(r.maketext("You must specify the [_1] argument.","$window"));if(!t)throw new Error(r.maketext("You must specify the [_1] argument.",t));var a=[];i.PAGE&&i.PAGE.COMPONENT_SETTINGS?s.forEach(function(e){var t=e.split("-")[1];i.PAGE.COMPONENT_SETTINGS.hasOwnProperty(e)?n.setComponent(t,i.PAGE.COMPONENT_SETTINGS[e]):a.push(e)}):a=s,a.length&&e.getObject(a).then(function(i){a.forEach(function(e){var t=i[e];if("string"==typeof t)try{t=JSON.parse(t)}catch(e){t=null}e=e.split("-")[1];n.setComponent(e,t)})},function(e){t.error(r.maketext("The system failed to retrieve the account-wide personalization preferences with the error: [_1]",e))})}}),define("cjt/util/query",["lodash"],function(o){return{expand_arrays_for_cpanel_api:function(e){var t,i={};for(t in e)if(Array.isArray(e[t])){i[t]=e[t][0];for(var n=1;n<e[t].length;n++)i[t+"-"+n]=e[t][n]}else i[t]=e[t];return i},make_query_string:function(e){var t,i=[];for(t in e)if(e.hasOwnProperty(t)){var n=e[t];if(null!=n){var a=encodeURIComponent(t);if(o.isArray(n))for(var r=0;r<n.length;r++)i.push(a+"="+encodeURIComponent(n[r]));else i.push(a+"="+encodeURIComponent(n))}}return i.join("&")},parse_query_string:function(e){var t={};if(e=void 0===e?location.search.replace(/^\?/,""):e){var i=e.match(/([^=&]*=[^=&]*)/g),n=i.length;if(i&&i.length)for(var a=0;a<n;a++){var r=o.map(i[a].split(/=/),decodeURIComponent),s=r[0].replace(/\+/g," ");s in t?"string"!=typeof t[s]?t[s].push(r[1].replace(/\+/g," ")):t[s]=[t[r[0]],r[1].replace(/\+/g," ")]:t[s]=r[1].replace(/\+/g," ")}}return t}}}),define("cjt/io/api",["cjt/core","jquery","cjt/util/query","cjt/util/locale"],function(c,u,d,e){function h(e){return e.application===c.KNOWN_APPLICATIONS.WHM||c.isWhm()||c.isUnitTest()&&require("karmaHelpers").isWhmUnitTest()}var p="cjt/io/api";return{MODULE_NAME:p,MODULE_DESC:"",MODULE_VERSION:2,promise:function(e){if(void 0===e)throw new Error("Parameter args_obj does not exist.");var n,a,r,t,i,s,o=h(e),l=(e=>(e="version"in e?e.version:"api_data"in e&&"version"in e.api_data?e.api_data.version:h(e)?1:2,parseInt(e,10)))(e),o=((e,t)=>{var i;if(e)switch(t){case 1:i=require("cjt/io/whm-v1");break;case 3:i=require("cjt/io/uapi");break;default:i=require("cjt/io/whm-v1")}else switch(t){case 1:i=require("cjt/io/api1");break;case 2:i=require("cjt/io/api2");break;case 3:i=require("cjt/io/uapi");break;default:i=require("cjt/io/api2")}return i})(o,l);if(o)return n=l,a=e,s=function(e,t){var i=r.parse_response;if(i)return i(e,t,a);throw i="No parser for the API version requested:"+c.applicationName+" "+n,console.log(i,"error",p),i},t=(r=o).get_url(c.securityToken,e),o=((e,t)=>(t=t.build_query(e),e.json?JSON.stringify(t):d.make_query_string(t)))(e,o),i=e.args&&void 0!==e.args.method?e.args.method:"POST",s=s,e=e.json,i={type:i||"POST",url:t,data:o,traditional:!0},s&&(i.dataFilter=s,i.converters={"text json":function(e){return e}}),e&&(i.contentType="application/json"),u.ajax(i);throw"Could not find the driver for the API version requested:"+c.applicationName+" "+l}}}),(()=>{function t(e){if(!(this instanceof t))return new t(e);this.update(this.DEFAULTS),this.update(e)}t.prototype.DEFAULTS={enable:!0},t.prototype.update=function(t){var i=this;return t=(e=>e?(e.hasOwnProperty("enable")&&(e.enable=Boolean(e.enable)),e):{})(t),Object.keys(i.DEFAULTS).forEach(function(e){t.hasOwnProperty(e)&&(i[e]=t[e])}),i},t.prototype.serialize=function(){return JSON.stringify(this)};var e={_constructor:t,create:function(e){return new t(e)},isAnalyticsStateInstance:function(e){return e instanceof t}};"function"==typeof define&&define.amd?define("cjt/util/analytics",[],function(){return e}):(window.CPANEL||(window.CPANEL={}),window.CPANEL.Analytics=e)})(),define("cjt/io/request",["lodash","cjt/util/analytics"],function(n,a){return function(e,t){function i(){this.version=e,this.module="",this.func="",this.args={},this.json=!1,this.meta=t(),this.autoCounter={__startVal:1}}return i.prototype={initialize:function(e,t,i,n,a){return this.module=e,this.func=t,this.setArguments(i||{}),this.meta=n||{},this.json=!(!a||!a.json),this},setArguments:function(e){if("object"!=typeof e)throw new TypeError("args parameter for 'setArgumetnObject' method must be an Object");return this.args=e,this},addArgument:function(e,t,i){return this.validateArgs("addArgument"),i?(this.args[e+this.getAutoSuffix(e)]=t,this.incrementAuto(e)):this.args[e]=t,this},removeArgument:function(e,t){return this.validateArgs("removeArgument"),e=t?e+this.decrementAuto(e):e,this.args[e]=null,delete this.args[e],this},clearArguments:function(){return this.args={},this.autoCounter={__startVal:this.autoCounter.__startVal},this},getAutoSuffix:function(e){return n.isUndefined(this.autoCounter[e])&&(this.autoCounter[e]=this.autoCounter.__startVal),this.autoCounter[e]},incrementAuto:function(e){return this.autoCounter[e]=this.getAutoSuffix(e)+1},decrementAuto:function(e){var t=this.getAutoSuffix(e);return t>this.autoCounter.__startVal&&(this.autoCounter[e]=t-1),this.autoCounter[e]},addAnalytics:function(e){return this.analytics?this.analytics.update(e):this.analytics=a.create(e),this},clearAnalytics:function(){return delete this.analytics,this},getRunArguments:function(){return{version:this.version,module:this.module,func:this.func,meta:this.meta,args:this.args,analytics:this.analytics,json:this.json}},validateArgs:function(e){if("object"!=typeof this.args)throw new Error("You can not call '"+e+"'' if you the args property to something other than an Object")},validateMeta:function(e){if("object"!=typeof this.meta)throw new Error("You can not call '"+e+"'' if you the meta property to something other than an Object")}},i}}),define("cjt/io/uapi-request",["lodash","cjt/io/request"],function(n,e){function t(){i.call(this)}var i=e(3,function(){return{paginate:{start:0,start_record:0,size:10},filter:[],sort:[]}});return t.sort={ASCENDING:0,DESCENDING:1},{MODULE_NAME:"cjt/io/uapi-request",MODULE_DESC:"Contains a helper object used to build UAPI call parameters.",MODULE_VERSION:2,Class:(t.prototype=Object.create(i.prototype,{addPaging:{value:function(e,t){if(this.validateMeta("addPaging"),this.meta.paginate=this.meta.paginate||{},-1!==t&&-1!==this.meta.paginate.size)return t=t||this.meta.paginate.size||10,this.meta.paginate.start=(e-1)*t+1,this.meta.paginate.size=t,this}},clearPaging:{value:function(){return this.validateMeta("clearPaging"),delete this.meta.paginate,this}},addSorting:{value:function(e,t,i){this.validateMeta("addSorting");i=i||"";return e&&(t=("asc"===(t||"asc")?"":"!")+e,""!==i&&(t=[t,i]),this.meta.sort?this.meta.sort.push(t):this.meta.sort=[t]),this}},clearSorting:{value:function(){return this.validateMeta("clearSorting"),delete this.meta.sort,this}},addFilter:{value:function(e,t,i){return this.validateMeta("addFilter"),(e=n.isArray(e)?e:[e,t,i])&&(this.meta.filter?this.meta.filter.push(e):this.meta.filter=[e]),this}},clearFilter:{value:function(){return this.validateMeta("clearFilter"),delete this.meta.filter,this}}})).constructor=t}}),define("cjt/services/nvDataServiceFactory",["angular"],function(i){return function(r,e){function t(){}return t.prototype=new e,i.extend(t.prototype,{get:function(a){i.isArray(a)||(a=[a]);var e=new r.Class;return e.initialize("Personalization","get",null,null,{json:!0}),e.addArgument("names",a),this.deferred(e,{apiSuccess:function(e,t){var i=[],n=e.data.personalization;a.forEach(function(e){i.push({name:e,value:n[e].value})}),t.resolve(i)}}).promise},set:function(n,e){var t=new r.Class,i=(t.initialize("Personalization","set",null,null,{json:!0}),{});return i[n]=e,t.setArguments({personalization:i}),this.deferred(t,{apiSuccess:function(e,t){var e=e.data.personalization[n],i={set:n,value:e.value};e.success||(i.error=e.reason||"Unknown failure."),t.resolve(i)}}).promise},getObject:function(e){i.isArray(e)||(e=[e]);var t=new r.Class;return t.initialize("Personalization","get",null,null,{json:!0}),t.addArgument("names",e),this.deferred(t,{apiSuccess:function(e,t){var i=e.data.personalization,n={};Object.keys(i).forEach(function(e){n[e]=i[e].value}),t.resolve(n)}}).promise},setObject:function(e){var t=new r.Class;return t.initialize("Personalization","set",null,null,{json:!0}),t.setArguments({personalization:e}),this.deferred(t,{apiSuccess:function(e,t){var i=[],n=e.data.personalization;Object.keys(n).forEach(function(e){var t=n[e],e={set:e,value:t.value};t.success||(e.error=t.reason||"Unknown failure."),i.push(e)}),t.resolve(i)}}).promise}}),new t}}),define("cjt/io/base",["lodash","cjt/util/locale"],function(u,d){var t={},h={MODULE_NAME:"cjt/io/base",MODULE_DESC:"Contains helper methods reused by all the api drivers.",MODULE_VERSION:2,get_transaction_args:function(e){e=t[e];return e&&u.extend({},e)},_unknown_error_msg:function(){return d.maketext("An unknown error occurred.")},_parse_response:function(e,t){var i=null;if(u.isString(t))try{t=JSON.parse(t)}catch(e){window.console&&window.console.log("Could not parse the response string: "+t+"\n"+e),i=d.maketext("The API response could not be parsed."),t=null}return h._parse_response_object(e,t,i)},_parse_response_object:function(t,i,e){var n=t.find_status,a=t.find_messages,r=t.get_data,s=t.get_meta,o=null,l=null,c=null;try{o=r(i),u.isUndefined(o)&&(o=null)}catch(e){window.console&&window.console.log("Failed to extract the data from the response: ",i,e)}try{l=s(i),u.isUndefined(l)&&(l=null)}catch(e){window.console&&window.console.log("Failed to extract the metadata from the response: ",i,e)}c=a(i),r=n(i),s=c.filter(function(e){return"error"===e.level}),s&&s.length?e=s[0].content:r||(e=d.maketext("No specific error was returned with the failed API call.")),a=i.warnings&&i.warnings.length?i.warnings:null,n=t.is_batch_response&&t.is_batch_response(i);return{parsedResponse:{is_batch:n,status:r,raw:i,data:o=n&&Array.isArray(o)?o.map(function(e){return h._parse_response_object(t,e)}):o,meta:l,error:e,messages:c,warnings:a,messagesAreHtml:t.HTML_ESCAPES_MESSAGES}}}};return h}),define("cjt/util/test",["lodash"],function(o){function t(e){return e&&e.then&&o.isFunction(e.then)}return{objectHasPath:function(e,t){var i=t.split("."),n=e;if(!n)return!1;for(var a=0,r=i.length;a<r;a++){var s=i[a];if(!(s in n))return!1;n=n[s]}return!0},objectHasFunction:function(e,t){var i=t.split("."),n=e;if(!n)return!1;for(var a=0,r=i.length;a<r;a++){var s=i[a];if(!(s in n))return!1;n=n[s]}return o.isFunction(n)},isPromise:t,isQPromise:function(e){return t(e)&&e.finally&&o.isFunction(e.finally)}}}),define("cjt/util/parse",["lodash"],function(n){var t={no:!1,false:!1,yes:!0,true:!0,1:!0,0:!1};function i(e){return!n.isUndefined(e)&&!n.isNull(e)&&((e=(e+"").toLowerCase())in t&&t.hasOwnProperty(e)?t[e]:!!e)}return{parseBoolean:i,parsePerlBoolean:function(e){return!n.isUndefined(e)&&!n.isNull(e)&&""!==e&&i(e)},parseNumber:function(e,t){return n.isUndefined(e)||n.isNull(e)||""===e||(e=Number(e),isNaN(e))?t:e},parseInteger:function(e,t,i){return n.isUndefined(e)||n.isNull(e)||""===e||(e=parseInt(e,10),isNaN(e))?t:e}}}),define("cjt/io/uapi",["lodash","cjt/io/base","cjt/util/test","cjt/util/parse","cjt/util/query"],function(c,n,a,i,t){var r={MODULE_NAME:"cjt/io/uapi",MODULE_DESC:"Contains the unique bits for integration with UAPI calls.",MODULE_VERSION:"2.0",parse_response:function(e,t,i){return e=function i(e,n){e=c.assign({},e);return n.batch?(e.module="Batch",e.func="strict",Array.isArray(e.data)&&(e.data=e.data.map(function(e,t){return i(e,n.batch[t])}))):(e.module=n.module,e.func=n.func),e}(e=JSON.parse(e),i),n._parse_response(r,e)},is_batch_response:function(e){return"Batch"===e.module&&"strict"===e.func},find_messages:function(e){if(!e)return[{level:"error",content:n._unknown_error_msg()}];if("errors"in e){var t=e.errors;if(t)return[{level:"error",content:t.length?c.escape(t.join("\n")):n._unknown_error_msg()}]}if("messages"in e){t=e.messages;if(t)return[{level:"msg",content:t.length?c.escape(t.join("\n")):n._unknown_error_msg()}]}return[]},HTML_ESCAPES_MESSAGES:!0,find_status:function(e){try{var t=!1;return e&&(void 0!==e.status?t=i.parsePerlBoolean(e.status):window.console&&window.console.log("The response does not conform to UAPI standards: A status field is required.")),t}catch(e){return!1}},get_data:function(e){return e.data},get_meta:function(e){var t,i={paginate:{is_paged:!1,total_records:0,current_record:0,total_pages:0,current_page:0,page_size:0},filter:{is_filtered:!1,records_before_filter:NaN,records_filtered:NaN}};if(a.objectHasPath(e,"metadata.paginate")&&((t=i.paginate).is_paged=!0,t.total_records=e.metadata.paginate.total_results||t.total_records||0,t.current_record=e.metadata.paginate.start_result||t.current_record||0,t.total_pages=e.metadata.paginate.total_pages||t.total_pages||0,t.current_page=e.metadata.paginate.current_page||t.current_page||0,t.page_size=e.metadata.paginate.results_per_page||t.page_size||0),a.objectHasPath(e,"metadata.filter")&&(i.filter.is_filtered=!0,i.filter.records_before_filter=e.metadata.records_before_filter||0),a.objectHasPath(e,"metadata"))for(var n in e.metadata)e.metadata.hasOwnProperty(n)&&"filter"!==n&&"paginate"!==n&&(i[n]=e.metadata[n]);return i},_assemble_batch:function(e){return{command:e.map(function(e){return e.args&&((e=Object.create(e)).args=t.expand_arrays_for_cpanel_api(e.args)),JSON.stringify([e.module,e.func,r.build_query(e)])})}},build_query:function(e){if(e.batch)return this._assemble_batch(e.batch);var t,i,n,a,r="api.",s={};if(e.args&&c.extend(s,e.args),e.meta){if(e.meta.sort){var o=e.meta.sort.length;if(1===o)(i=e.meta.sort[0])instanceof Array&&(s[r+"sort_method"]=i[1],i=i[0]),"!"===i.charAt(0)&&(s[r+"sort_reverse"]=1,i=i.substr(1)),s[r+"sort_column"]=i;else for(t=0;t<o;t++)(i=e.meta.sort[t])instanceof Array&&(s[r+"sort_method_"+t]=i[1],i=i[0]),"!"===i.charAt(0)&&(s[r+"sort_reverse_"+t]=1,i=i.substr(1)),s[r+"sort_column_"+t]=i}if(e.meta.filter){var l=e.meta.filter.length;if(1===l)a=e.meta.filter[0],s[r+"filter_column"]=a[0],s[r+"filter_type"]=a[1],s[r+"filter_term"]=a[2];else for(n=0;n<l;n++)a=e.meta.filter[n],s[r+"filter_column_"+n]=a[0],s[r+"filter_type_"+n]=a[1],s[r+"filter_term_"+n]=a[2]}e.meta.paginate&&("start"in e.meta.paginate&&(s[r+"paginate_start"]=e.meta.paginate.start),"size"in e.meta.paginate)&&(s[r+"paginate_size"]=e.meta.paginate.size),delete e.meta}return e.analytics&&(s[r+"analytics"]=e.analytics.serialize()),s},get_url:function(e,t){return e+["","execute",(e=t).batch?"Batch":e.module,(e=t).batch?"strict":e.func].map(encodeURIComponent).join("/")}};return r}),define("cjt/util/httpStatus",["cjt/util/locale"],function(t){return{convertHttpStatusToReadable:function(e){switch(e){case 100:return t.maketext("Continue");case 101:return t.maketext("Switching Protocols");case 200:return t.maketext("OK");case 201:return t.maketext("Created");case 202:return t.maketext("Accepted");case 203:return t.maketext("Non-Authoritative Information");case 204:return t.maketext("No Content");case 205:return t.maketext("Reset Content");case 206:return t.maketext("Partial Content");case 300:return t.maketext("Multiple Choices");case 301:return t.maketext("Moved Permanently");case 302:return t.maketext("Found");case 303:return t.maketext("See Other");case 304:return t.maketext("Not Modified");case 305:return t.maketext("Use Proxy");case 307:return t.maketext("Temporary Redirect");case 400:return t.maketext("Bad Request");case 401:return t.maketext("Unauthorized");case 402:return t.maketext("Payment Required");case 403:return t.maketext("Forbidden");case 404:return t.maketext("Not Found");case 405:return t.maketext("Method Not Allowed");case 406:return t.maketext("Not Acceptable");case 407:return t.maketext("Proxy Authentication Required");case 408:return t.maketext("Request Timeout");case 409:return t.maketext("Conflict");case 410:return t.maketext("Gone");case 411:return t.maketext("Length Required");case 412:return t.maketext("Precondition Failed");case 413:return t.maketext("Request Entity Too Large");case 414:return t.maketext("Request-URI Too Long");case 415:return t.maketext("Unsupported Media Type");case 416:return t.maketext("Requested Range Not Satisfiable");case 417:return t.maketext("Expectation Failed");case 500:return t.maketext("Internal Server Error");case 501:return t.maketext("Not Implemented");case 502:return t.maketext("Bad Gateway");case 503:return t.maketext("Service Unavailable");case 504:return t.maketext("Gateway Timeout");case 505:return t.maketext("HTTP Version Not Supported");default:return t.maketext("Unknown Error")}}}}),define("cjt/services/APIService",["angular","cjt/core","cjt/util/locale","cjt/io/api","cjt/util/httpStatus"],function(r,a,s,o,l){return r.module("cjt2.services.api",[]).factory("APIService",["$q",function(t){function n(e,i,n){this.handlers=i,this.deferred=n=n||t.defer(),this.jqXHR=o.promise(e.getRunArguments()).done(function(e){i.done(e,n)}).fail(function(e,t){"abort"===t?i.abort(e,n):i.fail(e,n)}),n.promise.cancelCpCall=this.jqXHR.abort.bind(this.jqXHR)}function e(e){this.defaultHandlers=r.extend({},this.presetDefaultHandlers,e||{})}e.prototype={deferred:function(e,n,t){var a={};return n?r.forEach(this.defaultHandlers,function(e,t){var i;(i=n[t])&&r.isFunction(i)?a[t]=r.isObject(n.context)||r.isFunction(n.context)?n[t].bind(n.context):n[t]:a[t]=e},this):a=this.defaultHandlers,this.sendRequest(e,a,t)},sendRequest:function(e,t,i){return new n(e,t,i).deferred},presetDefaultHandlers:{done:function(e,t){e=function e(t){var i=t.parsedResponse;if(i&&i.is_batch)for(var n=0;n<i.data.length;n++)i.data[n]=e(i.data[n]);return i}(e);e&&e.status?this.apiSuccess(e,t):this.apiFailure(e,t)},fail:function(e,t){t.reject((t=>{var e=t.status,i=s.maketext("The API request failed with the following error: [_1] - [_2].",e,l.convertHttpStatusToReadable(e));401!==e&&403!==e||(i+=" "+s.maketext("Your session may have expired or you logged out of the system. [output,url,_1,Login] again to continue.",a.getLoginPath()));try{var n=JSON.parse(t.responseText);n.error&&(i+=": "+n.error),n.statusmsg&&(i+=": "+n.statusmsg)}catch(e){t.responseText&&(i+=": "+t.responseText.substr(0,1024))}return i})(e))},abort:function(e,t){},apiSuccess:function(e,t){t.resolve(this.transformAPISuccess(e))},apiFailure:function(e,t){t.reject(this.transformAPIFailure(e))},transformAPISuccess:function(e){return e},transformAPIFailure:function(e){return e.error}}},e.AngularAPICall=n;var i={transformAPIFailure:Object};return e.promise=function(e){return new this(i).deferred(e).promise},e}])}),define("cjt/services/cpanel/nvDataService",["angular","cjt/io/api","cjt/io/uapi-request","cjt/services/nvDataServiceFactory","cjt/io/uapi","cjt/services/APIService"],function(e,t,i,n){e.module("cjt2.services.cpanel.nvdata",["cjt2.services.api"]).factory("nvDataService",["APIService",function(e){return n(i,e)}])}),define("cjt/config/webmail/configProvider",["angular","cjt/core","cjt/config/componentConfigurationLoader","angular-growl","cjt/config/componentConfiguration","cjt/services/cpanel/nvDataService"],function(e,n,a){function t(e,t,i){n.config.debug?e.debugInfoEnabled(!0):e.debugInfoEnabled(!1),t.globalTimeToLive({success:5e3,warning:-1,info:-1,error:-1}),t.globalDisableCountDown(!0),r=i}function i(e,t,i){r&&a(r,e,t,i)}var r,e=e.module("cjt2.config.webmail.configProvider",["angular-growl","cjt2.config.componentConfiguration","cjt2.services.cpanel.nvdata"]);e.config(["$compileProvider","growlProvider","componentConfigurationProvider",t]);return e.run(["nvDataService","$window","$log",i]),{configureApplication:t,runApplication:i,getComponentConfigurationProvider:function(){return r}}}),define("cjt/decorators/$httpDecorator",["angular"],function(a){a.module("cjt2.decorators.$http",[]).run(["$http",function(n){n.postAsForm=function(e,t,i){if("string"!=typeof e)throw new TypeError('Developer Error: $http.postAsForm requires a "url" argument.');if(a.isObject(i)||(i={}),t){if("data"in i)throw new ReferenceError('Developer Error: $http.postAsForm does not accept a "config.data" key when there is a "data" argument.');i.data=t}return a.merge(i,{method:"POST",url:e,transformRequest:function(e){var i=[];return a.forEach(e,function(e,t){i.push(encodeURIComponent(t)+"="+encodeURIComponent(e))}),i.join("&")},headers:{"Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}}),n(i)}}])}),define("cjt/services/APIFailures",["angular"],function(e){e.module("cjt2.services.apifailures",[]).factory("APIFailures",function(){var e=[];return{register:e.push.bind(e),emit:function(t){e.forEach(function(e){e(t)})}}})}),define("cjt/services/alertService",["angular","cjt/core"],function(c,u){c.module("cjt2.services.alert",[]).factory("alertService",function(){var a={__DEFAULT:[]},r=0;function s(e){return e?(e=e.toString(),a[e]||(a[e]=[],a[e])):a.__DEFAULT}function o(e){if("string"==typeof e)e={message:e};else if("object"==typeof e&&"string"!=typeof e.message)throw new TypeError("alertService: alert.message is expected to be a string");return e}function t(e){"string"==typeof(e=o(e)).id?t=e.id:(t="alert"+r++,i=!0);var t,i,n="__DEFAULT";"string"!=typeof e.group&&"number"!=typeof e.group||(n=e.group.toString(),a[n])||(a[n]=[]),!e.hasOwnProperty("replace")||e.replace?l(void 0,n):i||(e.counter=!e.hasOwnProperty("counter")||!!e.counter,e.counter&&(t+=r++)),a[n].push({type:(e=>{switch(e){case"danger":case"warning":case"success":case"info":return 1;default:return}})(e.type)?e.type:"warning",closeable:c.isDefined(e.closeable)?e.closeable:"danger"!==e.type,message:e.message,list:e.list||[],id:t,autoClose:!u.isE2E()&&e.autoClose,label:e.label})}function l(e,t){var i=s(t);if(e)for(var n=i.length-1;0<=n;n--)i[n].type===e&&i.splice(n,1);else i.splice(0)}return{getAlerts:s,add:t,success:function(e){e=o(e),t(c.extend({autoClose:1e4,type:"success"},e))},remove:function(e,t){s(t).splice(e,1)},removeById:function(e,t){for(var i=s(t),n=0,a=i.length;n<a;n++)if(i[n].id===e)return i.splice(n,1),!0;return!1},clear:l}})}),define("cjt/decorators/alertAPIReporter",["angular","cjt/services/APIFailures","cjt/services/alertService"],function(e,t){e.module("cjt2.decorators.alertAPIReporter",["cjt2.services.alert"]).config(["$provide",function(e){e.decorator("alertService",["$delegate","APIFailures","$log",function(t,e,i){return e.register(function(e){e.forEach(function(e){i.warn(e.content),t.add({type:e.type,message:e.content,replace:!1})})}),t}])}])}),(e=>{define("jquery-chosen",["jquery"],function(){return function(){!function(){var o,r,a,s,l={}.hasOwnProperty;function i(e,t){this.form_field=e,this.options=null!=t?t:{},i.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}function e(){this.options_index=0,this.parsed=[]}e.prototype.add_node=function(e){return"OPTGROUP"===e.nodeName.toUpperCase()?this.add_group(e):this.add_option(e)},e.prototype.add_group=function(e){var t,i,n,a,r,s=this.parsed.length;for(this.parsed.push({array_index:s,group:!0,label:this.escapeExpression(e.label),title:e.title||void 0,children:0,disabled:e.disabled,classes:e.className}),r=[],i=0,n=(a=e.childNodes).length;i<n;i++)t=a[i],r.push(this.add_option(t,s,e.disabled));return r},e.prototype.add_option=function(e,t,i){return"OPTION"===e.nodeName.toUpperCase()?(""!==e.text?(null!=t&&(this.parsed[t].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:e.value,text:e.text,html:e.innerHTML,title:e.title||void 0,selected:e.selected,disabled:!0===i?i:e.disabled,group_array_index:t,group_label:null!=t?this.parsed[t].label:null,classes:e.className,style:e.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},e.prototype.escapeExpression=function(e){var t;return null==e||!1===e?"":/[\&\<\>\"\'\`]/.test(e)?(t={"<":"<",">":">",'"':""","'":"'","`":"`"},e.replace(/&(?!\w+;)|[\<\>\"\'\`]/g,function(e){return t[e]||"&"})):e},(s=e).select_to_array=function(e){for(var t,i=new s,n=e.childNodes,a=0,r=n.length;a<r;a++)t=n[a],i.add_node(t);return i.parsed},i.prototype.set_default_values=function(){var t=this;return this.click_test_action=function(e){return t.test_active_click(e)},this.activate_action=function(e){return t.activate_field(e)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text&&this.options.allow_single_deselect,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null==this.options.enable_split_word_search||this.options.enable_split_word_search,this.group_search=null==this.options.group_search||this.options.group_search,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null==this.options.single_backstroke_delete||this.options.single_backstroke_delete,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null==this.options.display_selected_options||this.options.display_selected_options,this.display_disabled_options=null==this.options.display_disabled_options||this.options.display_disabled_options,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1,this.max_shown_results=this.options.max_shown_results||Number.POSITIVE_INFINITY},i.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||i.default_multiple_text:this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||i.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||i.default_no_result_text},i.prototype.choice_label=function(e){return this.include_group_label_in_selected&&null!=e.group_label?"<b class='group-name'>"+e.group_label+"</b>"+e.html:e.html},i.prototype.mouse_enter=function(){return this.mouse_on_container=!0},i.prototype.mouse_leave=function(){return this.mouse_on_container=!1},i.prototype.input_focus=function(e){var t=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return t.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},i.prototype.input_blur=function(e){var t=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return t.blur_test()},100))},i.prototype.results_option_build=function(e){for(var t,i,n="",a=0,r=this.results_data,s=0,o=r.length;s<o&&(""!==(i=(t=r[s]).group?this.result_add_group(t):this.result_add_option(t))&&(a++,n+=i),null!=e&&e.first&&(t.selected&&this.is_multiple?this.choice_build(t):t.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(t))),!(a>=this.max_shown_results));s++);return n},i.prototype.result_add_option=function(e){var t,i;return e.search_match&&this.include_option_in_results(e)?(t=[],e.disabled||e.selected&&this.is_multiple||t.push("active-result"),!e.disabled||e.selected&&this.is_multiple||t.push("disabled-result"),e.selected&&t.push("result-selected"),null!=e.group_array_index&&t.push("group-option"),""!==e.classes&&t.push(e.classes),(i=document.createElement("li")).className=t.join(" "),i.style.cssText=e.style,i.setAttribute("data-option-array-index",e.array_index),i.innerHTML=e.search_text,e.title&&(i.title=e.title),this.outerHTML(i)):""},i.prototype.result_add_group=function(e){var t,i;return(e.search_match||e.group_match)&&0<e.active_options?((t=[]).push("group-result"),e.classes&&t.push(e.classes),(i=document.createElement("li")).className=t.join(" "),i.innerHTML=e.search_text,e.title&&(i.title=e.title),this.outerHTML(i)):""},i.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing?this.winnow_results():void 0},i.prototype.reset_single_select_options=function(){for(var e,t=this.results_data,i=[],n=0,a=t.length;n<a;n++)(e=t[n]).selected?i.push(e.selected=!1):i.push(void 0);return i},i.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},i.prototype.results_search=function(e){return this.results_showing?this.winnow_results():this.results_show()},i.prototype.winnow_results=function(){var e,t,i,n,a,r,s,o,l,c,u,d;for(this.no_results_clear(),n=0,e=(r=this.get_search_text()).replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),l=new RegExp(e,"i"),i=this.get_search_regex(e),c=0,u=(d=this.results_data).length;c<u;c++)(t=d[c]).search_match=!1,a=null,this.include_option_in_results(t)&&(t.group&&(t.group_match=!1,t.active_options=0),null!=t.group_array_index&&this.results_data[t.group_array_index]&&(0===(a=this.results_data[t.group_array_index]).active_options&&a.search_match&&(n+=1),a.active_options+=1),t.search_text=t.group?t.label:t.html,!t.group||this.group_search)&&(t.search_match=this.search_string_match(t.search_text,i),t.search_match&&!t.group&&(n+=1),t.search_match?(r.length&&(s=t.search_text.search(l),o=t.search_text.substr(0,s+r.length)+"</em>"+t.search_text.substr(s+r.length),t.search_text=o.substr(0,s)+"<em>"+o.substr(s)),null!=a&&(a.group_match=!0)):null!=t.group_array_index&&this.results_data[t.group_array_index].search_match&&(t.search_match=!0));return this.result_clear_highlight(),n<1&&r.length?(this.update_results_content(""),this.no_results(r)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},i.prototype.get_search_regex=function(e){var t=this.search_contains?"":"^";return new RegExp(t+e,"i")},i.prototype.search_string_match=function(e,t){var i,n,a,r;if(t.test(e))return!0;if(this.enable_split_word_search&&(0<=e.indexOf(" ")||0===e.indexOf("["))&&(n=e.replace(/\[|\]/g,"").split(" ")).length)for(a=0,r=n.length;a<r;a++)if(i=n[a],t.test(i))return!0},i.prototype.choices_count=function(){var e,t,i;if(null==this.selected_option_count)for(e=this.selected_option_count=0,t=(i=this.form_field.options).length;e<t;e++)i[e].selected&&(this.selected_option_count+=1);return this.selected_option_count},i.prototype.choices_click=function(e){return e.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},i.prototype.keyup_checker=function(e){var t=null!=(t=e.which)?t:e.keyCode;switch(this.search_field_scale(),t){case 8:if(this.is_multiple&&this.backstroke_length<1&&0<this.choices_count())return this.keydown_backstroke();if(this.pending_backstroke)break;return this.result_clear_highlight(),this.results_search();case 13:if(e.preventDefault(),this.results_showing)return this.result_select(e);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:case 18:break;default:return this.results_search()}},i.prototype.clipboard_event_checker=function(e){var t=this;return setTimeout(function(){return t.results_search()},50)},i.prototype.container_width=function(){return null!=this.options.width?this.options.width:this.form_field.offsetWidth+"px"},i.prototype.include_option_in_results=function(e){return!(this.is_multiple&&!this.display_selected_options&&e.selected||!this.display_disabled_options&&e.disabled||e.empty)},i.prototype.search_results_touchstart=function(e){return this.touch_started=!0,this.search_results_mouseover(e)},i.prototype.search_results_touchmove=function(e){return this.touch_started=!1,this.search_results_mouseout(e)},i.prototype.search_results_touchend=function(e){return this.touch_started?this.search_results_mouseup(e):void 0},i.prototype.outerHTML=function(e){var t;return e.outerHTML||((t=document.createElement("div")).appendChild(e),t.innerHTML)},i.browser_is_supported=function(){return!/iP(od|hone)/i.test(window.navigator.userAgent)&&!(/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)||/IEMobile/i.test(window.navigator.userAgent)||/Windows Phone/i.test(window.navigator.userAgent)||/BlackBerry/i.test(window.navigator.userAgent)||/BB10/i.test(window.navigator.userAgent)||!("Microsoft Internet Explorer"!==window.navigator.appName||8<=document.documentMode))},i.default_multiple_text="Select Some Options",i.default_single_text="Select an Option",i.default_no_result_text="No results match",r=i,(o=jQuery).fn.extend({chosen:function(n){return r.browser_is_supported()?this.each(function(e){var t=o(this),i=t.data("chosen");return"destroy"===n?void(i instanceof a&&i.destroy()):void(i instanceof a||t.data("chosen",new a(this,n)))}):this}}),a=(()=>{function e(){return e.__super__.constructor.apply(this,arguments)}var t,i=e,n=r;function a(){this.constructor=i}for(t in n)l.call(n,t)&&(i[t]=n[t]);return a.prototype=n.prototype,i.prototype=new a,i.__super__=n.prototype,e.prototype.setup=function(){return this.form_field_jq=o(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},e.prototype.set_up_html=function(){var e=["chosen-container"];return e.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&e.push(this.form_field.className),this.is_rtl&&e.push("chosen-rtl"),e={class:e.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(e.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=o("<div />",e),this.is_multiple?this.container.html('<ul class="chosen-choices"><li class="search-field"><input type="text" value="'+this.default_text+'" class="default" autocomplete="off" style="width:25px;" /></li></ul><div class="chosen-drop"><ul class="chosen-results"></ul></div>'):this.container.html('<a class="chosen-single chosen-default"><span>'+this.default_text+'</span><div><b></b></div></a><div class="chosen-drop"><div class="chosen-search"><input type="text" autocomplete="off" /></div><ul class="chosen-results"></ul></div>'),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},e.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},e.prototype.register_observers=function(){var t=this;return this.container.bind("touchstart.chosen",function(e){return t.container_mousedown(e),e.preventDefault()}),this.container.bind("touchend.chosen",function(e){return t.container_mouseup(e),e.preventDefault()}),this.container.bind("mousedown.chosen",function(e){t.container_mousedown(e)}),this.container.bind("mouseup.chosen",function(e){t.container_mouseup(e)}),this.container.bind("mouseenter.chosen",function(e){t.mouse_enter(e)}),this.container.bind("mouseleave.chosen",function(e){t.mouse_leave(e)}),this.search_results.bind("mouseup.chosen",function(e){t.search_results_mouseup(e)}),this.search_results.bind("mouseover.chosen",function(e){t.search_results_mouseover(e)}),this.search_results.bind("mouseout.chosen",function(e){t.search_results_mouseout(e)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(e){t.search_results_mousewheel(e)}),this.search_results.bind("touchstart.chosen",function(e){t.search_results_touchstart(e)}),this.search_results.bind("touchmove.chosen",function(e){t.search_results_touchmove(e)}),this.search_results.bind("touchend.chosen",function(e){t.search_results_touchend(e)}),this.form_field_jq.bind("chosen:updated.chosen",function(e){t.results_update_field(e)}),this.form_field_jq.bind("chosen:activate.chosen",function(e){t.activate_field(e)}),this.form_field_jq.bind("chosen:open.chosen",function(e){t.container_mousedown(e)}),this.form_field_jq.bind("chosen:close.chosen",function(e){t.input_blur(e)}),this.search_field.bind("blur.chosen",function(e){t.input_blur(e)}),this.search_field.bind("keyup.chosen",function(e){t.keyup_checker(e)}),this.search_field.bind("keydown.chosen",function(e){t.keydown_checker(e)}),this.search_field.bind("focus.chosen",function(e){t.input_focus(e)}),this.search_field.bind("cut.chosen",function(e){t.clipboard_event_checker(e)}),this.search_field.bind("paste.chosen",function(e){t.clipboard_event_checker(e)}),this.is_multiple?this.search_choices.bind("click.chosen",function(e){t.choices_click(e)}):this.container.bind("click.chosen",function(e){e.preventDefault()})},e.prototype.destroy=function(){return o(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},e.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},e.prototype.container_mousedown=function(e){return this.is_disabled||(e&&"mousedown"===e.type&&!this.results_showing&&e.preventDefault(),null!=e&&o(e.target).hasClass("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!e||o(e.target)[0]!==this.selected_item[0]&&!o(e.target).parents("a.chosen-single").length||(e.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),o(this.container[0].ownerDocument).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},e.prototype.container_mouseup=function(e){return"ABBR"!==e.target.nodeName||this.is_disabled?void 0:this.results_reset(e)},e.prototype.search_results_mousewheel=function(e){var t;return null!=(t=e.originalEvent?e.originalEvent.deltaY||-e.originalEvent.wheelDelta||e.originalEvent.detail:t)?(e.preventDefault(),"DOMMouseScroll"===e.type&&(t*=40),this.search_results.scrollTop(t+this.search_results.scrollTop())):void 0},e.prototype.blur_test=function(e){return!this.active_field&&this.container.hasClass("chosen-container-active")?this.close_field():void 0},e.prototype.close_field=function(){return o(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},e.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},e.prototype.test_active_click=function(e){e=o(e.target).closest(".chosen-container");return e.length&&this.container[0]===e[0]?this.active_field=!0:this.close_field()},e.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=s.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():(this.is_multiple,this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},e.prototype.result_do_highlight=function(e){var t,i,n;if(e.length)return this.result_clear_highlight(),this.result_highlight=e,this.result_highlight.addClass("highlighted"),(e=parseInt(this.search_results.css("maxHeight"),10))+(n=this.search_results.scrollTop())<=(t=(i=this.result_highlight.position().top+this.search_results.scrollTop())+this.result_highlight.outerHeight())?this.search_results.scrollTop(0<t-e?t-e:0):i<n?this.search_results.scrollTop(i):void 0},e.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},e.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},e.prototype.update_results_content=function(e){return this.search_results.html(e)},e.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},e.prototype.set_tab_index=function(e){var t;return this.form_field.tabIndex?(t=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=t):void 0},e.prototype.set_label_behavior=function(){var t=this;return this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=o("label[for='"+this.form_field.id+"']")),0<this.form_field_label.length?this.form_field_label.bind("click.chosen",function(e){return t.is_multiple?t.container_mousedown(e):t.activate_field()}):void 0},e.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},e.prototype.search_results_mouseup=function(e){var t=o(e.target).hasClass("active-result")?o(e.target):o(e.target).parents(".active-result").first();return t.length?(this.result_highlight=t,this.result_select(e),this.search_field.focus()):void 0},e.prototype.search_results_mouseover=function(e){e=o(e.target).hasClass("active-result")?o(e.target):o(e.target).parents(".active-result").first();return e?this.result_do_highlight(e):void 0},e.prototype.search_results_mouseout=function(e){return o(e.target).hasClass("active-result")?this.result_clear_highlight():void 0},e.prototype.choice_build=function(e){var t=this,i=o("<li />",{class:"search-choice"}).html("<span>"+this.choice_label(e)+"</span>");return e.disabled?i.addClass("search-choice-disabled"):((e=o("<a />",{class:"search-choice-close","data-option-array-index":e.array_index})).bind("click.chosen",function(e){return t.choice_destroy_link_click(e)}),i.append(e)),this.search_container.before(i)},e.prototype.choice_destroy_link_click=function(e){return e.preventDefault(),e.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(o(e.target))},e.prototype.choice_destroy=function(e){return this.result_deselect(e[0].getAttribute("data-option-array-index"))?(this.show_search_field_default(),this.is_multiple&&0<this.choices_count()&&this.search_field.val().length<1&&this.results_hide(),e.parents("li").first().remove(),this.search_field_scale()):void 0},e.prototype.results_reset=function(){return this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field?this.results_hide():void 0},e.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},e.prototype.result_select=function(e){var t;return this.result_highlight?(t=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?t.removeClass("active-result"):this.reset_single_select_options(),t.addClass("result-selected"),(t=this.results_data[t[0].getAttribute("data-option-array-index")]).selected=!0,this.form_field.options[t.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(t):this.single_set_selected_text(this.choice_label(t)),(e.metaKey||e.ctrlKey)&&this.is_multiple||this.results_hide(),this.show_search_field_default(),!this.is_multiple&&this.form_field.selectedIndex===this.current_selectedIndex||this.form_field_jq.trigger("change",{selected:this.form_field.options[t.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,e.preventDefault(),this.search_field_scale())):void 0},e.prototype.single_set_selected_text=function(e){return(e=null==e?this.default_text:e)===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(e)},e.prototype.result_deselect=function(e){e=this.results_data[e];return!this.form_field.options[e.options_index].disabled&&(e.selected=!1,this.form_field.options[e.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[e.options_index].value}),this.search_field_scale(),!0)},e.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.find("abbr").length||this.selected_item.find("span").first().after('<abbr class="search-choice-close"></abbr>'),this.selected_item.addClass("chosen-single-with-deselect")):void 0},e.prototype.get_search_text=function(){return o("<div/>").text(o.trim(this.search_field.val())).html()},e.prototype.winnow_results_set_highlight=function(){var e=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),e=(e.length?e:this.search_results.find(".active-result")).first();return null!=e?this.result_do_highlight(e):void 0},e.prototype.no_results=function(e){var t=o('<li class="no-results">'+this.results_none_found+' "<span></span>"</li>');return t.find("span").first().html(e),this.search_results.append(t),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},e.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},e.prototype.keydown_arrow=function(){var e;return this.results_showing&&this.result_highlight?(e=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(e):void 0:this.results_show()},e.prototype.keyup_arrow=function(){var e;return this.results_showing||this.is_multiple?this.result_highlight?(e=this.result_highlight.prevAll("li.active-result")).length?this.result_do_highlight(e.first()):(0<this.choices_count()&&this.results_hide(),this.result_clear_highlight()):void 0:this.results_show()},e.prototype.keydown_backstroke=function(){var e;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(e=this.search_container.siblings("li.search-choice").last()).length&&!e.hasClass("search-choice-disabled")?(this.pending_backstroke=e,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0},e.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},e.prototype.keydown_checker=function(e){var t=null!=(t=e.which)?t:e.keyCode;switch(this.search_field_scale(),8!==t&&this.pending_backstroke&&this.clear_backstroke(),t){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(e),this.mouse_on_container=!1;break;case 13:this.results_showing&&e.preventDefault();break;case 32:this.disable_search&&e.preventDefault();break;case 38:e.preventDefault(),this.keyup_arrow();break;case 40:e.preventDefault(),this.keydown_arrow()}},e.prototype.search_field_scale=function(){var e,t,i,n,a,r,s;if(this.is_multiple){for(i="position:absolute; left: -1000px; top: -1000px; display:none;",r=a=0,s=(n=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"]).length;r<s;r++)i+=(t=n[r])+":"+this.search_field.css(t)+";";return(e=o("<div />",{style:i})).text(this.search_field.val()),o("body").append(e),a=e.width()+25,e.remove(),e=this.container.outerWidth(),this.search_field.css({width:(a=e-10<a?e-10:a)+"px"})}},e})()}.call(this)}.apply(e,arguments)})})(this),(e=>{define("angular-chosen",["angular","jquery","jquery-chosen"],function(){return function(){!function(){var _=[].indexOf||function(e){for(var t=0,i=this.length;t<i;t++)if(t in this&&this[t]===e)return t;return-1};angular.module("localytics.directives",[]),angular.module("localytics.directives").directive("chosen",["$timeout",function(p){var f=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,g=["persistentCreateOption","createOptionText","createOption","skipNoResults","noResultsText","allowSingleDeselect","disableSearchThreshold","disableSearch","enableSplitWordSearch","inheritSelectClasses","maxSelectedOptions","placeholderTextMultiple","placeholderTextSingle","searchContains","singleBackstrokeDelete","displayDisabledOptions","displaySelectedOptions","width","includeGroupLabelInSelected","maxShownResults"],m=function(e){return e.replace(/[A-Z]/g,function(e){return"_"+e.toLowerCase()})},v=function(e){if(angular.isArray(e))return 0===e.length;if(angular.isObject(e))for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};return{restrict:"A",require:"?ngModel",priority:1,link:function(i,n,a,e){var t,r,s,o,l,c,u,d,h;return i.disabledValuesHistory=i.disabledValuesHistory||[],(n=$(n)).addClass("localytics-chosen"),o=i.$eval(a.chosen)||{},angular.forEach(a,function(e,t){return 0<=_.call(g,t)?a.$observe(t,function(e){return o[m(t)]="{{"===String(n.attr(a.$attr[t])).slice(0,2)?e:i.$eval(e),d()}):void 0}),c=function(){return n.addClass("loading").attr("disabled",!0).trigger("chosen:updated")},t=null,r=!(u=function(){return n.removeClass("loading"),angular.isDefined(a.disabled)?n.attr("disabled",a.disabled):n.attr("disabled",!1),n.trigger("chosen:updated")}),s=function(){return t?n.trigger("chosen:updated"):(p(function(){t=n.chosen(o).data("chosen")}),angular.isObject(t)?t.default_text:void 0)},d=function(){return r?n.attr("data-placeholder",t.results_none_found).attr("disabled",!0):n.removeAttr("data-placeholder"),n.trigger("chosen:updated")},e?(l=e.$render,e.$render=function(){return l(),s()},n.on("chosen:hiding_dropdown",function(){return i.$apply(function(){return e.$setTouched()})}),a.multiple&&i.$watch(function(){return e.$viewValue},e.$render,!0)):s(),a.$observe("disabled",function(){return n.trigger("chosen:updated")}),a.ngOptions&&e?(h=a.ngOptions.match(f)[7],i.$watchCollection(h,function(e,t){return p(function(){return(angular.isUndefined(e)?c:(r=v(e),u(),d))()})}),i.$on("$destroy",function(e){return"undefined"!=typeof timer&&null!==timer?p.cancel(timer):void 0})):void 0}}}])}.call(this)}.apply(e,arguments)})})(this),define("cjt/decorators/angularChosenDecorator",["angular","jquery-chosen","angular-chosen"],function(e){e.module("cjt2.decorators.angularChosenDecorator",["localytics.directives"]).config(["$provide",function(e){e.decorator("chosenDirective",["$delegate",function(e){var t=e[0],n=t.link;return t.compile=function(){return function(e,i){n.apply(t,arguments),i.on("chosen:ready",function(){var e=(i=i.get(0)).nextElementSibling;if(!e||!e.classList.contains("chosen-container"))throw new Error("Developer Error: Chosen has not initialized properly. The .chosen-container element is not next to the select element");var e=e.querySelector(".chosen-search input"),t=i.id&&document.querySelector('label[for="'+i.id+'"]');e&&t&&t.id&&e.setAttribute("aria-labelledby",t.id)})}},e}])}])}),define("cjt/decorators/dynamicName",["angular"],function(e){e.module("cjt2.decorators.dynamicName",[]).config(["$provide",function(e){e.decorator("ngModelDirective",["$delegate",function(e){var t=e[0],r=t.controller;return t.controller=["$scope","$element","$attrs","$injector",function(e,t,i,n){var a=n.get("$interpolate");i.$set("name",a(i.name||"")(e)),n.invoke(r,this,{$scope:e,$element:t,$attrs:i})}],e}]),e.decorator("formDirective",["$delegate",function(e){var t=e[0],r=t.controller;return t.controller=["$scope","$element","$attrs","$injector",function(e,t,i,n){var a=n.get("$interpolate");i.$set("name",a(i.name||i.ngForm||"")(e)),n.invoke(r,this,{$scope:e,$element:t,$attrs:i})}],e}])}])}),define("cjt/templates",["angular"],function(e){e.module("cjt2.templates",[]).run(["$templateCache",function(e){e.put("libraries/cjt2/diag/routeDirective.phtml","<div>\n <hr />\n <pre>$window.location.path = {{$window.location.path}}</pre>\n <pre>$window.location.search = {{$window.location.search}}</pre>\n <pre>$location.path() = {{$location.path()}}</pre>\n <pre>$location.search() = {{$location.search()}}</pre>\n <pre>$route.current.templateUrl = {{$route.current.templateUrl}}</pre>\n <pre>$route.current.params = {{$route.current.params}}</pre>\n <pre>$route.current.scope = {{$route.current.scope}}</pre>\n <pre>$routeParams = {{$routeParams}}</pre>\n</div>\n"),e.put("libraries/cjt2/directives/actionButton.phtml",'<button class="btn {{buttonClass}}"\n ng-class="ngClass()"\n ng-click="start()">\n <spinner id="{{spinnerId}}" glyph-class="fas fa-sync button-loading-indicator"></spinner>\n <span class="button-label" ng-transclude></span>\n</button>\n'),e.put("libraries/cjt2/directives/alert.phtml","<div>\n <div ng-show=\"alert.type === 'danger'\" class='alert alert-danger ng-hide' role=\"alert\">\n <button id=\"{{'btnClose_danger_' + alert.id}}\" type='button'\n class='close' ng-if='alert.closeable' ng-click='runClose()' aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n <button id=\"{{'btnMore_danger_' + alert.id}}\" type='button'\n class='btn btn-more btn-link pull-right flip' ng-if='hasToggleHandler' ng-click='runToggleMore()'>{{moreLabel}}</button>\n <span class='glyphicon glyphicon-remove-sign' aria-hidden=\"true\"></span>\n <div class='alert-message'>\n <strong class=\"alert-title\" ng-show=\"errorLabel\">{{errorLabel}}</strong>\n <span class=\"alert-body\"><span id=\"{{'txtMessage_danger_' + alert.id}}\" ng-bind-html=\"alert.message\" ng-if=\"alert && alert.message\"></span></span>\n <ul ng-if=\"alert.list && alert.list.length\" class=\"alert-list\">\n <li ng-repeat=\"value in alert.list\">\n <span id=\"{{'txtList_danger_' + alert.id + '_' + $index}}\" ng-bind-html=\"value\"></span>\n </li>\n </ul>\n </div>\n </div>\n\n <div ng-show=\"alert.type === 'info'\" class='alert alert-info ng-hide' role=\"alert\">\n <button id=\"{{'btnClose_info_' + alert.id}}\" type='button'\n class='close' ng-if='alert.closeable' ng-click='runClose()' aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n <button id=\"{{'btnMore_info_' + alert.id}}\" type='button' class='btn btn-more btn-link pull-right flip' ng-if='hasToggleHandler' ng-click='runToggleMore()'>{{moreLabel}}</button>\n <span class='glyphicon glyphicon-info-sign' aria-hidden=\"true\"></span>\n <div class='alert-message'>\n <strong class=\"alert-title\" ng-show=\"infoLabel\">{{infoLabel}}</strong>\n <span class=\"alert-body\"><span id=\"{{'txtMessage_info_' + alert.id}}\" ng-bind-html=\"alert.message\" ng-if=\"alert && alert.message\"></span></span>\n <ul ng-if=\"alert.list && alert.list.length\" class=\"alert-list\">\n <li ng-repeat=\"value in alert.list\">\n <span id=\"{{'txtList_info_' + alert.id + '_' + $index}}\" ng-bind-html=\"value\"></span>\n </li>\n </ul>\n </div>\n </div>\n\n <div ng-show=\"alert.type === 'success'\" class='alert alert-success ng-hide' role=\"alert\">\n <button id=\"{{'btnClose_success_' + alert.id}}\" type='button'\n class='close' ng-if='alert.closeable' ng-click='runClose()' aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n <button id=\"{{'btnMore_success_' + alert.id}}\" type='button' class='btn btn-more btn-link pull-right flip' ng-if='hasToggleHandler' ng-click='runToggleMore()'>{{moreLabel}}</button>\n <span class='glyphicon glyphicon-ok-sign' aria-hidden=\"true\"></span>\n <div class='alert-message'>\n <strong class=\"alert-title\" ng-show=\"successLabel\">{{successLabel}}</strong>\n <span class=\"alert-body\"><span id=\"{{'txtMessage_success_' + alert.id}}\" ng-bind-html=\"alert.message\" ng-if=\"alert && alert.message\"></span></span>\n <ul ng-if=\"alert.list && alert.list.length\" class=\"alert-list\">\n <li ng-repeat=\"value in alert.list\">\n <span id=\"{{'txtList_success_' + alert.id + '_' + $index}}\" ng-bind-html=\"value\"></span>\n </li>\n </ul>\n </div>\n </div>\n\n <div ng-show=\"alert.type === 'warning'\" class='alert alert-warning ng-hide' role=\"alert\">\n <button id=\"{{'btnClose_warning_' + alert.id}}\" type='button'\n class='close' ng-if='alert.closeable' ng-click='runClose()' aria-label=\"Close\">\n <span aria-hidden=\"true\">×</span>\n </button>\n <button id=\"{{'btnMore_warning_' + alert.id}}\" type='button' class='btn btn-more btn-link pull-right flip' ng-if='hasToggleHandler' ng-click='runToggleMore()'>{{moreLabel}}</button>\n <span class='glyphicon glyphicon-exclamation-sign' aria-hidden=\"true\"></span>\n <div class='alert-message'>\n"+' <strong class="alert-title" ng-show="warnLabel">{{warnLabel}}</strong>\n <span class="alert-body"><span id="{{\'txtMessage_warning_\' + alert.id}}" ng-bind-html="alert.message" ng-if="alert && alert.message"></span></span>\n <ul ng-if="alert.list && alert.list.length" class="alert-list">\n <li ng-repeat="value in alert.list">\n <span id="{{\'txtList_warning_\' + alert.id + \'_\' + $index}}" ng-bind-html="value"></span>\n </li>\n </ul>\n </div>\n </div>\n</div>'),e.put("libraries/cjt2/directives/alertList.phtml",'<div>\n <div class="alert-list-container" ng-class="[ getPositionClasses(), {\n \'show-scroll-bar\': needsScrollbar(),\n }]">\n <div class="alert-list">\x3c!-- Used to get the full height of the list, since alert-list-container can be constrained --\x3e\n <div class="alert-container" ng-repeat="alert in alerts">\x3c!-- Used to smoothly animate the alert margins --\x3e\n <cp:alert ng-model="alert"\n id="{{ alert.id }}"\n auto-close="alert.autoClose">\n </cp:alert>\n </div>\n </div>\n </div>\n <div class="alert-list-backdrop" ng-if="alertsPresent" ng-class="getPositionClasses()">\n </div>\n</div>\n'),e.put("libraries/cjt2/directives/breadcrumbs.phtml",'<ul class="breadcrumb">\n <li ng-repeat="breadcrumb in crumbs" ng-class="{\'hidden-xs\':!($last-1) && !$first}">\n <ng-switch on="$last">\n <span ng-switch-when="true"><span ng-bind-html="breadcrumb.name"></span></span>\n <a href="javascript:void(0)" ng-click="changeRoute(breadcrumb)" ng-switch-default>\n <i class="fas fa-chevron-left visible-xs-inline" ng-if="$last-1"></i>\n <span ng-bind-html="breadcrumb.name"></span>\n </a>\n </ng-switch>\n </li>\n</ul>\n'),e.put("libraries/cjt2/directives/breadcrumbs.spec.phtml",'<breadcrumbs id="breadcrumbs" class="breadcrumbs">\n</breadcrumbs>'),e.put("libraries/cjt2/directives/bytesInput.phtml",'<span class="input-group bytes-input">\n <input type="number" id="{{name}}" name="{{name}}" class="form-control {{extraInputClasses}}" size="{{size}}" ng-model="inputValue"\n ng-model-options="{ debounce: 500 }"\n ng-disabled="isDisabled"\n min="{{min}}">\n <span class="input-group-btn" uib-dropdown>\n <button type="button" id="{{name}}DropDownButton" name="{{name}}DropDownButton" uib-dropdown-toggle class="btn btn-default dropdown-toggle" title="{{ selectedUnit.full }}"\n ng-disabled="isDisabled">\n {{ selectedUnit.abbr }}\n <span class="fas fa-caret-down"></span>\n </button>\n <ul uib-dropdown-menu role="menu" class="dropdown-menu">\n <li ng-repeat="(key, value) in units track by key">\n <a href="javascript:void(0)" ng-click="selectUnit(key)" title="{{value.full}}">{{ value.abbr }}</a>\n </li>\n </ul>\n </span>\n</span>\n\n'),e.put("libraries/cjt2/directives/callout.phtml",'<div class="callout callout-{{calloutType}}" aria-label="{{calloutType}}">\n <button type=\'button\' class=\'close\'\n ng-if=\'closeable\'\n ng-click=\'runClose()\'\n aria-label="Close">\n <span aria-hidden="true">×</span>\n </button>\n <div class="callout-heading" ng-show="hasHeading">{{calloutHeading}}</div>\n <div ng-transclude></div>\n</div>'),e.put("libraries/cjt2/directives/copyField.phtml",'<div class="copy-field-directive">\n <div class="row">\n <div class="col-xs-12">\n <div class="input-group">\n <span class="input-group-addon"><strong ng-bind="label"></strong></span>\n\n \x3c!--\n Use an <input> when there is only one line\n because a non-resizable, overflow-hidden <textarea>\n doesn’t allow the user to see the full value.\n --\x3e\n <input ng-if="!multilineRows || multilineRows < 2" readonly ng-value="text" placeholder="{{placeholderText}}" class="form-control copy-field-data" id="{{ :: copyFieldID }}" name="{{::parentID}}_recordField">\n\n <textarea ng-if="multilineRows && multilineRows > 1" placeholder="{{placeholderText}}" class="form-control multi-line copy-field-data" id="{{ :: copyFieldID }}" name="{{::parentID}}_recordField" readonly rows="{{multilineRows}}" ng-value="text" ng-bind="text"></textarea>\n </div>\n </div>\n </div>\n <div class="row">\n <div class="col-xs-12 text-right">\n <span ng-transclude></span>\n <a ng-click="text && copyToClipboard()" href="javascript:void(0)" class="btn btn-sm btn-link" ng-disabled="!text">\n <span ng-bind="copyLabel"></span>\n <i class="fas fa-copy" aria-hidden="true"></i>\n </a>\n </div>\n </div>\n</div>\n'),e.put("libraries/cjt2/directives/datePicker.phtml",'<div class="date-picker-directive">\n <p class="input-group">\n <input\n id="{{parentID}}_datePicker_input"\n type="text"\n class="form-control"\n uib-datepicker-popup\n ng-model="selectedDate"\n is-open="showingPopup"\n ng-required="true"\n ng-change="onChange(selectedDate)"\n datepicker-options="options"\n current-text="{{::currentTextLabel}}"\n clear-text="{{::clearTextLabel}}"\n close-text="{{::closeTextLabel}}" />\n\n <span class="input-group-btn">\n <button id="{{parentID}}_datePicker_btn" type="button" class="btn btn-default" ng-click="showPopup()">\n <i class="fas fa-calendar" aria-hidden="true"></i>\n </button>\n </span>\n </p>\n</div>'),e.put("libraries/cjt2/directives/displayPasswordStrength.phtml",'<ul class="strength">\n <li class="point" data-testid="{{testId}}-strength-check-1"></li>\n <li class="point" data-testid="{{testId}}-strength-check-2"></li>\n <li class="point" data-testid="{{testId}}-strength-check-3"></li>\n <li class="point" data-testid="{{testId}}-strength-check-4"></li>\n <li class="point" data-testid="{{testId}}-strength-check-5"></li>\n</ul>'),e.put("libraries/cjt2/directives/formWaiting.phtml",'<fieldset class="cp-form-waiting-wrapper" ng-disabled="_show_mask">\n <div class="cp-form-waiting-mask"></div>\n <div class="cp-form-waiting-spinner">\n <i class="fas fa-spinner fa-spin fa-{{spinner_size}}x"></i>\n </div>\n\n <div class="cp-form-waiting-transclude"></div>\n</fieldset>\n'),e.put("libraries/cjt2/directives/growl.phtml",'<div class="growl-container" ng-class="wrapperClasses()">\n <div class="growl-item alert" id="{{ message.id }}" ng-repeat="message in growlMessages.directives[referenceId].messages" ng-class="alertClasses(message)" ng-click="stopTimeoutClose(message)">\n <button type="button" class="close" data-dismiss="alert" aria-hidden="true" ng-click="growlMessages.deleteMessage(message)" ng-show="!message.disableCloseButton">×</button>\n <button type="button" class="close" aria-hidden="true" ng-show="showCountDown(message)">{{message.countdown}}</button>\n <h4 class="growl-title" ng-show="message.title" ng-bind="message.title"></h4>\n <div class="growl_icon">\n <span class="glyphicon glyphicon-remove-sign" ng-if="message.severity == \'error\'"></span>\n <span class="glyphicon glyphicon-exclamation-sign" ng-if="message.severity == \'warning\' || message.severity == \'warn\'"></span>\n <span class="glyphicon glyphicon-info-sign" ng-if="message.severity == \'info\'"></span>\n <span class="glyphicon glyphicon-ok-sign" ng-if="message.severity == \'success\'"></span>\n </div>\n <div class="growl-message" ng-bind-html="message.text"></div>\n <div class="growl_action" ng-show="message.variables.showAction">\n <button class="btn btn-primary btn-xs" ng-click="$eval(message.variables.action)">{{message.variables.buttonLabel}}</button>\n </div>\n </div>\n</div>\n'),e.put("libraries/cjt2/directives/indeterminateState.spec.phtml",'<input type="checkbox"\n name="checkAllInList"\n id="checkAllInList"\n aria-label="Toggle account selection"\n ng-model="selectAllState"\n ng-change="toggleSelectAll()"\n indeterminate-state\n check-state="getIndeterminateState()">\n'),e.put("libraries/cjt2/directives/labelSuffix.phtml",'<span class="required-field" id="fieldRequired_{{fieldName}}" ng-show="showAsterisk()" title="{{ text(\'required\') }}">*</span>\n<span class="fas fa-check field-validation-valid" id="fieldValid_{{fieldName}}" ng-show="isValid()" title="{{ text(\'valid\') }}"></span>\n<span class="fas fa-times field-validation-invalid" id="fieldInvalid_{{fieldName}}" ng-show="isInvalid()" title="{{ text(\'invalid\') }}"></span>\n<span glyph-class="fas fa-spinner" id="{{spinnerId}}" spinner title="{{ text(\'validating\') }}"></span>\n'),e.put("libraries/cjt2/directives/loadingPanel.phtml",'<div class="alert alert-info" id="{{id}}">\n <span class="glyphicon glyphicon-refresh fa-spin" id="{{id}}_loadingSpinner"></span>\n <div class="alert-message" id="{{id}}_loadingMessage">\n <span ng-transclude></span>\n </div>\n</div>\n'),e.put("libraries/cjt2/directives/multiFieldEditor.phtml",'<div class="multi-field-editor-directive" id="{{ :: parentID }}_multiFieldEditor">\n\t<div class="form-group">\n\t\t<div class="row" ng-show="ngModel.length > 49">\n\t\t\t<div class="col-xs-12 col-md-12">\n\t\t\t\t<a href class="btn btn-link" ng-click="addRow()" id="{{ :: parentID }}_multiFieldEditor_addNewButton_top">\n\t\t\t\t\t<span class=\'glyphicon glyphicon-plus\'></span>\n\t\t\t\t\t{{ :: addNewLabel }}\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="row">\n\t\t\t<div class="col-xs-12 col-md-12">\n\t\t\t\t<div id="{{ :: parentID }}_multiFieldEditor_valueItems" class="mfe-items" ng-transclude></div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="row">\n\t\t\t<div class="col-xs-12 col-md-12">\n\t\t\t\t<a href class="btn btn-link" ng-click="addRow()" id="{{ :: parentID }}_multiFieldEditor_addNewButton_bottom">\n\t\t\t\t\t<span class=\'glyphicon glyphicon-plus\'></span>\n\t\t\t\t\t{{ :: addNewLabel }}\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n'),e.put("libraries/cjt2/directives/multiFieldEditorItem.phtml",'<div class="multi-field-editor-item-directive row">\n <div class="mfei-content col-xs-12 col-sm-12 col-md-6 col-lg-6">\n <div class="mfei-label-holder">\n <label for="{{ :: labelFor }}" ng-bind="label"></label>\n </div>\n <div class="mfei-transclude" ng-transclude></div>\n <div class="mfei-link">\n <a href\n ng-if="canRemove"\n class="btn btn-link"\n ng-click="remove()"\n id="{{ :: parentID }}_removeNewButton">\n <span class=\'fas fa-times fa-lg\'></span>\n <span class="sr-only">[% locale.maketext(\'Delete Item\') %]</span>\n </a>\n </div>\n </div>\n <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">\n <ul validation-container field-name="{{ :: labelFor}}">\n <li validation-item\n field-name="{{ :: labelFor}}"\n validation-name="number">\n <span ng-bind="numericValueMessage()"></span>\n </li>\n <li validation-item\n field-name="{{ :: labelFor}}"\n validation-name="required">\n <span ng-bind="requiredFieldMessage()"></span>\n </li>\n </ul>\n </div>\n</div>'),e.put("libraries/cjt2/directives/pageSizeButtonDirective.phtml",'<div>\n <div class="btn-group pageSizeButtons" role="group">\n <button type="button" id="{{size.id}}" ng-repeat="size in options" class="btn btn-default btn-sm no-validation-border" ng-class="{active: $parent.pageSize == \'{{size.value}}\'}" ng-model="$parent.pageSize" uib-btn-radio="{{size.value}}" aria-label="{{size.description}}" aria-pressed="{{ $parent.pageSize == size.value }}">{{size.label}}</button>\n </div>\n</div>\n'),e.put("libraries/cjt2/directives/pageSizeDirective.phtml",'<div class="page-size">\n <div ng-hide="autoHide && options[0].value >= totalItems" class="form-group" >\n <label for="{{parentID}}_select" class="title">{{pageSizeTitle}}</label>\n <select id="{{parentID}}_select"\n class="form-control"\n ng-options="size.value as size.label for size in options"\n ng-model="pageSize">\n </select>\n </div>\n</div>\n'),e.put("libraries/cjt2/directives/pagination.phtml",'<ul class="pagination" aria-label="{{::ariaLabels.title}}">\n <li ng-if="boundaryLinks" ng-class="{disabled: noPrevious()}">\n <a id="{{::parentId}}_first" href\n ng-click="selectPage(1)"\n aria-label="{{::ariaLabels.firstPage}}">\n {{getText(\'first\')}}\n </a>\n </li>\n <li ng-if="directionLinks" ng-class="{disabled: noPrevious()}">\n <a id="{{::parentId}}_previous" href\n ng-click="selectPage(page - 1)"\n aria-label="{{::ariaLabels.previousPage}}">\n {{getText(\'previous\')}}\n </a>\n </li>\n <li ng-repeat="page in pages track by $index" ng-class="{active: page.active}" ng-switch="page.active">\n <a id="{{page.id}}" href\n ng-click="selectPage(page.number)"\n aria-label="{{page.ariaLabel}}"\n aria-current="page"\n ng-switch-when="true">\n {{page.text}}\n </a>\n <a id="{{page.id}}" href\n ng-click="selectPage(page.number)"\n aria-label="{{page.ariaLabel}}"\n ng-switch-default>\n {{page.text}}\n </a>\n </li>\n <li ng-if="directionLinks" ng-class="{disabled: noNext()}">\n <a id="{{::parentId}}_next" href\n ng-click="selectPage(page + 1)"\n aria-label="{{::ariaLabels.nextPage}}">\n {{getText(\'next\')}}\n </a>\n </li>\n <li ng-if="boundaryLinks" ng-class="{disabled: noNext()}">\n <a id="{{::parentId}}_last" href\n ng-click="selectPage(totalPages)"\n aria-label="{{::ariaLabels.lastPage}}">\n {{getText(\'last\')}}\n </a>\n </li>\n</ul>\n'),e.put("libraries/cjt2/directives/passwordField.phtml",'<span class="ng-cloak" ng-cloak>\n <span class="input-group" ng-class="{ \'settings-panel-visible\': showSettings }">\n \x3c!-- hack to make sure browsers dont auto fill the password field --\x3e\n \x3c!-- title is required for WAI, but screen readers will not see the element so not translating --\x3e\n <input type="password" aria-hidden="true" title="hidden password field" id="hiddenPasswordField" autocomplete="off" style="display:none">\n <input id="{{name}}"\n type="{{show ? \'text\' : \'password\'}}"\n name="{{name}}"\n data-testid="{{testId}}-input"\n class="form-control field"\n ng-class="{ \'obscured-field\': !show, \'unobscured-field\': show}"\n placeholder="{{placeholder}}"\n autocomplete="new-password"\n ng-model="password"\n title="{{placeholder}}"\n ng-trim="false"\n check-password-strength\n minimum-password-strength="{{minimumStrength}}"\n ng-model-options="{debounce: 150}"\n ng-minlength="{{minimumLength}}"\n ng-maxlength="{{maximumLength}}">\n <span class="input-group-btn ng-hide" ng-show="showGenerator || showToggleView">\n <button id="{{name + \'_btnToggleView\'}}"\n data-testid="{{testId}}-toggle-visibility-button"\n class="btn btn-default ng-hide"\n ng-click="toggle()"\n ng-show="showGenerator || showToggleView"\n type="button"\n ng-attr-tabindex="{{toggleViewButtonTabIndex}}"\n title={{toggleViewButtonTitle}}>\n <i class="fas fa-lg fa-fw" ng-class="{ \'fa-eye\': show, \'fa-eye-slash\': !show }"></i>\n </button>\n <button id="{{name + \'_btnGenerate\'}}"\n class="btn btn-default ng-hide"\n data-testid="{{testId}}-generate-button"\n ng-click="generate()"\n ng-show="showGenerator"\n type="button"\n ng-attr-tabindex="{{generateButtonTabIndex}}"\n title="{{generateButtonTitle}}">\n <span class="hidden-xs">{{generateButtonText}}</span>\n <i class="fas fa-fw fa-key fa-lg fa-rotate-90 hidden-sm hidden-md hidden-lg" ></i>\n </button>\n <button id="{{name + \'_btnSettings\'}}"\n class="btn btn-default ng-hide"\n data-testid="{{testId}}-toggle-settings-button"\n title="{{generateSettingsTitle}}"\n ng-click="toggleSettings()"\n type="button"\n ng-attr-tabindex="{{generateSettingsTabIndex}}"\n ng-show="showGenerator">\n <span class="fas fa-fw fa-caret-down" ng-show="!showSettings"></span>\n <span class="fas fa-fw fa-caret-up" ng-show="showSettings"></span>\n </button>\n </span>\n </span>\n <div id="{{name + \'_pnlSettings\'}}" class="panel panel-default ng-hide" ng-show="showSettings">\n <div class="panel-body">\n <p>{{caption}}</p>\n <div class="row">\n <span class="col-xs-6 col-sm-3">\n <span class="form-group form-group-length">\n <label for="{{name + \'_txtLength\'}}">\n {{generateSettingsLengthLabel}}\n </label>\n <input id="{{name + \'_txtLength\'}}"\n ng-model="passwordLength"\n type="number"\n limit-range\n range-minimum="{{generateMinimumLength}}"\n range-maximum="{{generateMaximumLength}}"\n range-default="{{defaultLength}}"\n class="form-control length-field"\n min="{{generateMinimumLength}}"\n max="{{generateMaximumLength}}">\n </span>\n </span>\n <span class="col-xs-1 col-xs-offset-4 col-sm-offset-8">\n <i ng-click="toggleSettings()" class="fas fa-fw fa-times fa-lg pull-right flip" title="Close" id="{{name + \'_btnClose\'}}"></i>\n </span>\n </div>\n <div class="row">\n <span class="col-xs-12 col-sm-6">\n <span class="row">\n <span class="col-xs-12">\n <h4>{{generateSettingsAlphaTitle}}</h4>\n </span>\n <span class="col-xs-12">\n <span class="radio">\n <label for="{{name + \'_rdoAlphaBoth\'}}">\n <input id="{{name + \'_rdoAlphaBoth\'}}" data-testid="{{testId}}-settings-both-letters-radio" type="radio" ng-model="alpha" value="both" name="alpha">\n {{generateSettingsAlphaBothLabel}}\n </label>\n </span>\n </span>\n <span class="col-xs-12">\n <span class="radio">\n <label for="{{name + \'_rdoAlphaLower\'}}">\n <input id="{{name + \'_rdoAlphaLower\'}}" data-testid="{{testId}}-settings-lc-letters-radio" type="radio" ng-model="alpha" value="lower" name="alpha">\n {{generateSettingsAlphaLowerLabel}}\n </label>\n </span>\n </span>\n <span class="col-xs-12">\n <span class="radio">\n <label for="{{name + \'_rdoAlphaUpper\'}}">\n <input id="{{name + \'_rdoAlphaUpper\'}}" data-testid="{{testId}}-settings-uc-letters-radio" type="radio" ng-model="alpha" value="upper" name="alpha">\n {{generateSettingsAlphaUpperLabel}}\n </label>\n </span>\n </span>\n </span>\n </span>\n <span class="col-xs-12 col-sm-6">\n <span class="row">\n <span class="col-xs-12">\n <h4>{{generateSettingsOtherTitle}}</h4>\n </span>\n <span class="col-xs-12">\n <span class="radio">\n <label for="{{name + \'_rdoNonAlphaBoth\'}}">\n <input id="{{name + \'_rdoNonAlphaBoth\'}}" type="radio" data-testid="{{testId}}-settings-both-symbols-radio" ng-model="nonalpha" value="both" name="nonalpha">\n {{generateSettingsBothNumersAndSymbolsLabel}}\n </label>\n </span>\n </span>\n <span class="col-xs-12">\n <span class="radio">\n <label for="{{name + \'_rdoNonAlphaNumbers\'}}">\n <input id="{{name + \'_rdoNonAlphaNumbers\'}}" data-testid="{{testId}}-settings-numbers-radio" type="radio" ng-model="nonalpha" value="numbers" name="nonalpha">\n {{generateSettingsNumbersLabel}}\n </label>\n </span>\n </span>\n <span class="col-xs-12">\n <span class="radio">\n <label for="{{name + \'_rdoNonAlphaSymbols\'}}">\n <input id="{{name + \'_rdoNonAlphaSymbols\'}}" data-testid="{{testId}}-settings-symbols-radio" type="radio" ng-model="nonalpha" value="symbols" name="nonalpha">\n {{generateSettingsSymbolsLabel}}\n </label>\n </span>\n </span>\n </span>\n </span>\n </div>\n </div>\n </div>\n <display-password-strength id="{{name + \'_strength_meter\'}}" field-id="{{name}}" class="ng-hide" ng-show="showMeter"></display-password-strength>\n <input id="{{name + \'_strength\'}}" role="presentation" title="" type="hidden" update-password-strength field-id="{{name}}" ng-model="passwordStrength">\n <div class="ng-hide current-strength-text" ng-show="currentStrengthText">\n {{ currentStrengthText }}\n </div>\n</span>\n'),e.put("libraries/cjt2/directives/processingIcon.phtml","<span class=\"fas fa-2x text-muted fa-check\"\n title=\"{{title}}\"\n ng-class=\"{'text-muted fa-check': state == 0,\n 'text-primary fa-spinner fa-spin': state == 1,\n 'text-success fa-check': state == 2,\n 'text-danger fa-times': state == 3,\n 'text-info fa-question': state == 4}\">\n</span>"),e.put("libraries/cjt2/directives/quickFilterItem.phtml",'<li ng-class="{ \'active\' : quickFilter.active}">\n <a href="javascript:void(0)" title="{{ :: linkTitle }}" id="{{ :: parentID }}_link" ng-click="selectFilter(quickFilter.value)" ng-transclude></a>\n</li>\n'),e.put("libraries/cjt2/directives/quickFilters.phtml",'<div class="quick-filters-nav">\n\t<span ng-if="title" class="quick-filter-label hidden-xs" ng-bind="title"></span>\n\t<ul class="nav nav-pills" ng-transclude></ul>\n</div>\n'),e.put("libraries/cjt2/directives/quickFilters.spec.phtml",'<quick-filters id="quickFilters" title="Filter" active="quickFilterValue" on-filter-change="fetch()">\n <quick-filter-item id="lnkFilterAll" value="all" title="Show all of my accounts.">All</quick-filter-item>\n <quick-filter-item id="lnkFilterRestricted" value="restricted" title="Show my restricted accounts.">Restricted</quick-filter-item>\n <quick-filter-item id="lnkFilterDefault" value="default" title="Show my system account.">System Account</quick-filter-item>\n <quick-filter-item id="lnkFilterOverQuota" value="overUsed" title="Show accounts that have used all of their storage space.">Exceeded Storage</quick-filter-item>\n</quick-filters>\n'),e.put("libraries/cjt2/directives/responsiveSortInsertDirective.phtml",'<cp-select-sort label="{{ attrs.label }}"\n id-suffix="{{ attrs.idSuffix }}"\n default-field="{{ attrs.defaultField }}"\n default-dir="{{ attrs.defaultDir }}"\n sort-meta="{{ parsed.sortMeta }}"\n sort-fields="selectSort.parsed.sortFields"\n onsort="{{ parsed.onsort }}">\n</cp-select-sort>'),e.put("libraries/cjt2/directives/searchDirective.phtml",'<div class="input-group">\n <input type="text"\n id="{{parentID}}_input"\n class="form-control"\n placeholder="{{placeholder}}"\n title="{{title}}"\n ng-model="filterText"\n ng-model-options="modelOptions"\n ng-keyup="clear($event)"\n prevent-default-on-enter\n auto-focus="{{autofocus}}"\n aria-label="{{ariaLabelSearch}}"/>\n <span class="input-group-btn">\n <button id="{{parentID}}_submit_btn"\n class="btn btn-default"\n ng-click="filterText=\'\'"\n type="button"\n ng-attr-aria-label="{{ !filterText ? ariaLabelSearch : ariaLabelClear }}">\n <span class="glyphicon"\n ng-class="{ \'glyphicon-search\' : !filterText, \'glyphicon-remove\' :filterText }"\n aria-hidden="true">\n </span>\n </button>\n </span>\n</div>\n'),e.put("libraries/cjt2/directives/searchSettingsPanel.phtml",'<div>\n <div id="{{ :: searchSettingsID}}" ng-show="displaySettingsPanel" class="panel ng-hide panel-default form-group">\n <div class="panel-body">\n <div class="row">\n <div ng-repeat="(filterKey, searchFilterOption) in options" class="col-md-3">\n <div>\n <h4>\n {{ :: searchFilterOption.label }}\n </h4>\n </div>\n <div class="checkbox">\n <label>\n <input\n id="{{ :: filterKey }}_all"\n type="checkbox"\n ng-disabled="all_checked[filterKey]"\n ng-checked="all_checked[filterKey]"\n title="[% locale.maketext(\'Show All\') %]"\n ng-click="set_search_filter_values(filterKey, true)">\n {{ :: all_label }}\n </label>\n </div>\n <div class="checkbox" ng-repeat="type in searchFilterOption.options">\n <label>\n <input\n id="{{ :: filterKey }}_{{ :: type.value }}"\n type="checkbox"\n ng-model="values[filterKey][type.value]"\n name="{{ :: filterKey }}"\n ng-value="type.value"\n title="{{ :: type.description }}"\n ng-change="update(filterKey)">\n <span ng-bind-html="type.label"></span>\n </label>\n </div>\n </div>\n </div>\n <div ng-transclude></div>\n </div>\n </div>\n <div id="{{ :: setValuesID}}" ng-show="filteredItemsToDisplay && displaySetValues && !displaySettingsPanel" class="ng-hide form-group">\n <span\n ng-repeat="(filterKey, searchFilterOption) in options"\n class="label label-default"\n style="font-weight:normal;font-size:11px;margin-right:5px"\n id="{{ :: setValuesID}}_{{ :: filterKey }}"\n ng-if="get_filtered_labels(filterKey).length">\n <a style="font-weight:inherit;padding:0;margin:0;font-size:inherit;color:inherit;" href="javascript:void(0);" ng-click="open_settings()">\n {{ :: searchFilterOption.label }}\n <span id="{{ :: setValuesID}}_{{ :: filterKey }}_{{ :: searchFilterOption.label }}" ng-bind-html="get_filtered_labels(filterKey).join(\', \')"></span>\n </a>\n <a style="font-weight:inherit;padding:0;margin:0;font-size:inherit;color:inherit;" href="javascript:void(0)" ng-click="set_search_filter_values(filterKey, true)">\n <span class=\'fas fa-times fa-sm \'></span>\n </a>\n </span>\n </div>\n</div>'),e.put("libraries/cjt2/directives/selectSortDirective.phtml",'<span class="cp-select-sort">\n <span>{{ label }}</span>\n <select id="select-sort-dropdown_{{ idSuffix }}"\n class="form-control"\n ng-model="sortMeta.sortBy"\n ng-options="fieldObj.field as fieldObj.label for fieldObj in sortFields"\n ng-change="sort()">\n </select>\n <i id="select-sort-direction_{{ idSuffix }}"\n class="btn btn-default"\n ng-class="{ true: \'icon-arrow-up\', false: \'icon-arrow-down\' }[getDir() == \'asc\']"\n ng-click="sort(true)"\n ng-attr-title="{{ getTitle() }}">\n </i>\n</span>\n'),e.put("libraries/cjt2/directives/spinner.phtml",'<i ng-class="[glyph, animate]" ng-show="display"></i>'),e.put("libraries/cjt2/directives/statsDirective.phtml",'<div class="stats-widget" ng-class="{\'stats-warning\': showWarning}">\n <div class="stats-widget-body">\n <div class="stats-item">\n <span id="{{availableID}}" class="stats-huge">{{availableValue}}</span>\n <span class="stats-title">{{availableTitle}}</span>\n </div>\n <div class="stats-item">\n <span id="{{usedID}}" class="stats-huge">{{usedValue}}</span>\n <span class="title">{{usedTitle}}</span>\n </div>\n </div>\n <div class="stats-widget-footer" ng-if="showUpgradeLink || showWarning">\n <a ng-click="showWarningDetails()"\n ng-if="showWarning"\n id="statsWarning"\n class="btn btn-sm btn-link"\n title="{{detailsTooltip}}">\n <i class="fas fa-exclamation-triangle"></i>\n {{viewDetailsText}}\n </a>\n <a id="{{upgradeLinkID}}" ng-href="{{upgradeLink}}"\n ng-if="showUpgradeLink && upgradeLink !== \'\'"\n id="statsUpgradeLink"\n class="btn btn-sm btn-link"\n target="{{upgradeLinkTarget}}"\n title="{{upgradeTooltip}}">\n {{upgradeLinkText}} <i class="far fa-arrow-alt-circle-right"></i>\n </a>\n </div>\n</div>\n'),e.put("libraries/cjt2/directives/statsDirective.spec.phtml",'<stats\n id="statsWidget"\n used-id="lblUsed"\n ng-model="accountStats.used"\n available-id="lblAvailable"\n max="accountStats.maximum"\n upgrade-link-id="lblUpgradeLink"\n upgrade-link="{{upgradeLink}}"\n upgrade-link-text="REMEMBER ME"\n show-upgrade-link="{{showUpgradeLink}}"\n upgrade-link-target="emailUpgrade"\n >\n</stats>\n'),e.put("libraries/cjt2/directives/terminal.phtml",'<div class="cp-terminal">\n <div class="terminal-loading alert alert-info" ng-if="loading">\n <i class="fas fa-spinner fa-spin" aria-hidden="true"></i>\n <span class="terminal-opening" ng-if="opening">{{::openingString}}</span>\n <span class="terminal-waiting" ng-if="!opening">{{::waitingString}}</span>\n </div>\n\n <p ng-if="closed && !windowIsUnloading()">\n <button class="terminal-reconnect btn btn-primary" type="button" ng-click="connect()">{{::reconnectString}}</button>\n </p>\n\n <div class="terminal-container" ng-class="{ \'disabled\': (closed || loading) }">\n <div class="terminal-title" ng-bind="title"></div>\n <div class="terminal-xterm"></div>\n </div>\n\n <div class="terminal-exitcode" ng-if="exitCode">{{::exitCodeString}}: {{exitCode}}</div>\n</div>\n'),e.put("libraries/cjt2/directives/timePicker.phtml",'<div>\n <uib-timepicker\n id="{{parentID}}_timePicker"\n ng-model="selectedTime"\n min="options.min"\n hour-step="hStep"\n minute-step="mStep"\n ng-change="onChange(selectedTime)"\n show-meridian="showMeridian" ></uib-timepicker>\n</div>'),e.put("libraries/cjt2/directives/toggleLabelInfoDirective.phtml",'<div class="toggle-info-label-container">\n <label id="{{labelID}}" for="{{for}}">\n {{labelText}}\n <label-suffix for="{{for}}" ng-if="includeLabelSuffix"></label-suffix>\n </label>\n <a id="{{infoIconID}}"\n href="javascript:void(0)"\n class="far fa-question-circle text-primary form-info-sign"\n ng-click="toggleInfoBlock()"\n title="{{toggleActionTitle}}">\n </a>\n\n <span id="{{infoBlockID}}" class="info-block" ng-transclude ng-show="showInfoBlock">\n </span>\n</div>\n'),e.put("libraries/cjt2/directives/toggleLabelInfoDirective.spec.phtml",'<toggle-label-info\n id="lblDomain"\n for="ddlDomain"\n label-text="Domain">Additional information about domain</toggle-label-info>\n\n<toggle-label-info\n id="lblEmail"\n for="txtEmail"\n label-text="Email Address"\n show-info-block="true">Additional information about email address</toggle-label-info>\n\n<toggle-label-info\n id="lblIDVerification"\n label-id="lblVerification"\n info-icon-id="imgQuestionMark"\n info-block-id="infoBlockID"\n for="txtIDVerification"\n label-text="IDVerification"\n show-info-block="true">ID Verification</toggle-label-info>\n\n<toggle-label-info\n id="lblToggleEvent"\n for="txtSomething"\n label-text="Blah"\n on-toggle="onToggle(show)">Barg</toggle-label-info>'),e.put("libraries/cjt2/directives/toggleSortDirective.phtml",'<a class="sort-link" ng-click="sort(sortValue)" href="javascript:void(0)">\n <span ng-transclude></span>\n <span ng-hide="sortMeta.sortBy !== sortField">\n <i ng-class="{true: \'icon-arrow-up\', false: \'icon-arrow-down\'}[getDir() == \'asc\']"\n ng-attr-title="{{ getTitle() }}"></i>\n </span>\n</a>'),e.put("libraries/cjt2/directives/toggleSwitch.phtml",'<div role="switch"\n class="cjt2-toggle-switch toggle-switch-wrapper"\n tabindex="0"\n aria-checked="{{ get_aria_value() }}"\n aria-label="{{ariaLabel}}"\n ng-click="toggle_status()"\n ng-keyup="handle_keyup($event)"\n ng-keydown="handle_keydown($event)"\n ng-class="{\n disabled: (changing_status || isDisabled),\n \'switch-off\': !ngModel,\n \'switch-on\': ngModel,\n \'no-label\': noLabel\n }">\n <spinner\n ng-if="!noSpinner && spinnerPosition === \'left\'"\n id="{{spinnerId}}"\n glyph-class="fas fa-sync toggle-switch-updating-indicator toggle-switch-updating-indicator-left">\n </spinner>\n <span ng-if="labelPosition == \'left\' && !changing_status" class="toggle-switch-label toggle-switch-label-left">\n {{ ngModel ? enabledLabel : disabledLabel}}\n </span>\n <div\n class="toggle-switch"\n ng-class="{disabled: (changing_status || isDisabled)}">\n <div id="{{parentID}}_toggle_visual" class="toggle-switch-animate" ng-class="{\'switch-off\': !ngModel, \'switch-on\': ngModel}">\n <span class="switch-left"></span>\n <span class="knob"></span>\n <span class="switch-right"></span>\n </div>\n </div>\n <span ng-if="labelPosition == \'right\' && !changing_status" class="toggle-switch-label toggle-switch-label-right">\n {{ ngModel ? enabledLabel : disabledLabel}}\n </span>\n <spinner\n ng-if="!noSpinner && spinnerPosition === \'right\'"\n id="{{spinnerId}}"\n glyph-class="fas fa-sync toggle-switch-updating-indicator toggle-switch-updating-indicator-right">\n </spinner>\n</div>\n'),e.put("libraries/cjt2/directives/triStateCheckbox.phtml",'<input type="checkbox" ng-model="master" ng-click="masterChange()">\n'),e.put("libraries/cjt2/directives/validationContainer.phtml",'<ul class="validation-container ng-hide" ng-show="canShow()">\n <li class="validation validation-error" ng-repeat="message in aggregateMessages() track by message.id" ng-if="canShowItem(message.validatorName)">\n <i class="fas fa-exclamation-circle"></i>\n <span id="{{ message.id }}" class="validation-message">\n <span ng-bind-html="message.message"></span>\n </span>\n </li>\n <li ng-transclude></li>\n</ul>\n'),e.put("libraries/cjt2/directives/validationContainer.spec.phtml",'<form name="theFormStandard" id="theFormStandard">\n <input type="text" id="theTextStandard" name="theTextStandard" ng-model="mytext" required ng-pattern="/^[A-Za-z]+$/">\n <ul validation-container field-name="theTextStandard" role="alert">\n <li validation-item field-name="theTextStandard" validation-name="required" id="valTextRequired">\n Please enter some text\n </li>\n <li validation-item field-name="theTextStandard" validation-name="pattern" id="valTextPattern">\n Should only be alphabets\n </li>\n </ul>\n</form>\n\n<form name="theFormAuto" id="theFormAuto">\n <input type="text" id="theTextAuto" name="theTextAuto" ng-model="mytext" length="10">\n <ul validation-container field-name="theTextAuto" role="alert">\n </ul>\n</form>\n\n<form name="theFormManual" id="theFormManual">\n <input type="text" id="theTextManual" name="theTextManual" ng-model="mytext" min-length="3" max-length="5">\n <ul validation-container field-name="theTextManual" role="alert" manual>\n <li validation-item field-name="theTextManual" validation-name="minLength" id="valTextMinLength">\n </li>\n <li validation-item field-name="theTextManual" validation-name="maxLength" id="valTextMaxLength">\n </li>\n </ul>\n</form>'),e.put("libraries/cjt2/directives/validationItem.phtml",'<li class="validation validation-error ng-hide" ng-show="canShow()">\n <i class="fas fa-exclamation-circle" ng-show="showIcon()"></i>\n <span id="{{id}}" class="validation-message">\n <span ng-show="!showIcon()" ng-class="[ prefixClass ]"></span>{{print()}}<span ng-transclude></span>\n </span>\n</li>'),e.put("libraries/cjt2/directives/validationItem.spec.phtml",'<form name="theForm" id="theForm">\n <input type="text" id="theText" name="theText" ng-model="mytext" required ng-pattern="/^[A-Za-z]+$/">\n <ul validation-container field-name="theText" role="alert">\n <li validation-item field-name="theText" validation-name="required" id="valTextRequired">\n Please enter some text\n </li>\n <li validation-item field-name="theText" validation-name="pattern" id="valTextPattern">\n Should only be alphabets\n </li>\n </ul>\n</form>\n\n<form name="theFormNoIcon" id="theFormNoIcon">\n <style>\n .bullet::before {\n content: "•";\n padding-right: 10px;\n font-weight: bold;\n font-size: larger;\n }\n </style>\n <input type="text" id="theTextNoIcon" name="theTextNoIcon" ng-model="mytext" required>\n <ul validation-container field-name="theTextNoIcon" role="alert">\n <li validation-item field-name="theTextNoIcon" validation-name="required" id="valTextRequiredStandard">\n Standard\n </li>\n <li validation-item field-name="theTextNoIcon" validation-name="required" id="valTextRequiredNoIcon" no-icon>\n No Icon\n </li>\n <li validation-item field-name="theTextNoIcon" validation-name="required" id="valTextRequiredCustomIcon" no-icon prefix-class="bullet">\n Change Icon\n </li>\n </ul>\n</form>'),e.put("libraries/cjt2/directives/whm/userDomainListDirective.phtml",'<div class="row user-domain-list-directive account-selector-area" ng-class="{\'user-selected\':selectedUser,\'user-summary-showing\':selectedUser && selectedUserObj.summary}">\n \x3c!--ng-form name="{{parentID}}Form" --\x3e\n <div class="col-md-12">\n <div class="form-group">\n <div class="row">\n <div class="col-xs-12">\n <search id="{{ :: parentID }}_Search" title="{{ :: getString(\'Search for a user or a domain.\') }}" ng-model="meta.filterValue" ng-change="fetch()"></search>\n </div>\n </div>\n <div class="row quick-filter-container">\n <div class="col-xs-12">\n <quick-filters id="{{ :: parentID }}_QuickFilters" title="{{ :: getString(\'Search By:\') }}" active="quickFilterValue" on-filter-change="fetch()">\n <quick-filter-item id="quickFilterItem_all" title="{{ :: getString(\'Search by both users and domains.\') }}" value="">{{ :: getString(\'All\') }}</quick-filter-item>\n <quick-filter-item id="quickFilterItem_users" title="{{ :: getString(\'Search by users only.\') }}" value="user">{{ :: getString(\'Users\') }}</quick-filter-item>\n <quick-filter-item id="quickFilterItem_domains" title="{{ :: getString(\'Search by domains only.\') }}" value="domain">{{ :: getString(\'Domains\') }}</quick-filter-item>\n </quick-filters>\n </div>\n </div>\n </div>\n\n <div class="form-group">\n <div class="row">\n <div class="col-md-12">\n <div class="panel panel-default">\n <div class="panel-body account-table-panel-body" id="{{parentID}}_list" ui-scroll-viewport >\n <table class="table table-striped fixed-width-table" summary="{{ :: getString(\'A list of users and domains from which to choose.\') }}">\n <colgroup>\n <col style="width:30px">\n <col >\n </colgroup>\n <tbody>\n <tr id="{{ :: parentID }}_Row_{{ :: domain.user }}" class="domain_row no-animate" ui-scroll="domain in datasource" adapter="uiScrollAdapter" start-index="0" ng-click="userSelected(domain)" ng-class="{selected:selectedUser == domain.user, \'callout callout-warning edit-locked text-muted\':domain.editLocked}">\n <td class="account-table-radio text-center">\n <input\n type="radio"\n id="{{ :: parentID }}_Row_{{ :: domain.user }}_radio"\n ng-required="required"\n name="user"\n ng-disabled="domain.editLocked"\n aria-label="{{ :: getRadioAriaLabel(domain.user, domain.domain) }}"\n title="{{ :: getRadioAriaLabel(domain.user, domain.domain) }}"\n value="{{ ::domain.user }}"\n ng-model="selectedUser" />\n </td>\n <td class="account-table-title">\n <div>\n <div class="cutoff_with_ellipses"><label for="{{ :: parentID }}_Row_{{ :: domain.user }}_radio" class="left-to-right" ng-bind-html="domain.decoratedTitle"></label></div>\n </div>\n <div ng-if="domain.editLocked">\n <div>{{ domain.editLockedMessage }}</div>\n </div>\n <div ng-if="!hideAccountSummary && domain.user !== \'root\' && !domain.without_domain && domain.selected">\n <table ng-if="domain.summary" class="table responsive-table account-summary-table fixed-width-table" summary="{{ :: domain.summaryTableSummary }}">\n <thead>\n <tr>\n <th>{{ :: getString(\'[asis,IP] Address\') }}</th>\n <th>{{ :: getString(\'Owner\') }}</th>\n <th>{{ :: getString(\'Email Addresses\') }}</th>\n <th>{{ :: getString(\'Start Date\') }}</th>\n <th>{{ :: getString(\'Theme\') }}</th>\n <th>{{ :: getString(\'Package\') }}</th>\n <th>{{ :: getString(\'Disk Usage\') }}</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td class="cutoff_with_ellipses" data-title="{{ :: getString(\'[asis,IP] Address\') }}">{{ ::domain.summary.ip }}</td>\n <td class="cutoff_with_ellipses" data-title="{{ :: getString(\'Owner\') }}">{{ ::domain.summary.owner }}</td>\n <td class="cutoff_with_ellipses" data-title="{{ :: getString(\'Email Addresses\') }}">\n <div ng-repeat="email in domain.summary.emails track by $index">\n <a class="account-summary-email" href="mailto:{{::email}}" title="{{::email}}">\n {{ ::email }} <span class=\'fas fa-external-link-alt\'></span>\n </a>\n </div>\n <span ng-if="domain.summary.emails.length == 0">*{{ :: getString("unknown") }}*</span>\n </td>\n <td class="cutoff_with_ellipses" data-title="{{ :: getString(\'Start Date\') }}">{{ ::domain.summary.localStartdate }}</td>\n <td class="cutoff_with_ellipses" data-title="{{ :: getString(\'Theme\') }}">{{ ::domain.summary.theme }}</td>\n <td class="cutoff_with_ellipses" data-title="{{ :: getString(\'Package\') }}">\n <button type="button" class="btn btn-link" ng-click="viewPackageDetails(domain)">\n {{ ::domain.summary.plan }}\n <span ng-if="domain.show_package" class=\'fas fa-eye-slash fa-sm\'></span>\n </button>\n <span ng-if="loadingUserPackage[domain.user]"><i class="fas fa-spinner fa-spin"></i></span>\n </td>\n <td class="cutoff_with_ellipses" data-title="{{ :: getString(\'Disk Usage\') }}">{{ ::domain.diskInfo }}</td>\n </tr>\n </tbody>\n </table>\n <div ng-if="domain.requestingSummary" class="account-summary-loading">\n <span><i class="fas fa-spinner fa-spin"></i> {{ :: getString(\'Loading Account Summary …\') }}</span>\n </div>\n <div ng-if="!domain.requestingSummary && !domain.summary" class="account-summary-error">\n {{ :: getString(\'The system failed to load the account summary.\') }}\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n <div ng-if="filteredDomains.length === 0" class="callout callout-info no-results-msg">\n <span id="{{ :: parentID }}_noResultsMessage" ng-bind="noResultsMessage()"></span>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <ng-transclude></ng-transclude>\n \x3c!--/ng-form--\x3e\n <script type="text/ng-template" id="package-details.ptt">\n <div class="modal-header">\n <h4 class="modal-title" id="modal-title" ng-bind="getTitle()"></h4>\n </div>\n <div class="modal-body" id="modal-body">\n <table class="table table-sm account-summary-table">\n <tbody>\n <tr>\n <td>{{ :: getString(\'Bandwidth\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'BWLIMIT\') }}</td>\n </tr>\n <tr>\n <td>{{ :: getString(\'CGI Access?\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'CGI\') }}</td>\n </tr>\n <tr>\n <td>{{ :: getString(\'cPanel Theme\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'CPMOD\') }}</td>\n </tr>\n <tr>\n <td>{{ :: getString(\'Feature List\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'FEATURELIST\') }}</td>\n </tr>\n <tr>\n <td>{{ :: getString(\'Shell access?\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'HASSHELL\') }}</td>\n </tr>\n <tr>\n <td>{{ :: getString(\'Dedicated IP?\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'IP\') }}</td>\n </tr>\n <tr>\n <td>{{ :: getString(\'FTP Accounts\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'MAXFTP\') }}</td>\n </tr>\n <tr>\n <td>{{ :: getString(\'Email Lists\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'MAXLST\') }}</td>\n </tr>\n <tr>\n <td>{{ :: getString(\'Email Accounts\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'MAXPOP\') }}</td>\n </tr>\n <tr>\n <td>{{ :: getString(\'Databases\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'MAXSQL\') }}</td>\n </tr>\n <tr>\n <td>{{ :: getString(\'Subdomains\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'MAXSUB\') }}</td>\n </tr>\n <tr>\n <td>{{ :: getString(\'Quota\') }}</td>\n <td>{{ getPackageValue(packageDetails,\'QUOTA\') }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n <div class="modal-footer">\n <button class="btn btn-primary" type="button" ng-click="$close()">Done</button>\n </div>\n <\/script>\n</div>\n')}])}),define("cjt/decorators/growlDecorator",["angular","cjt/core","angular-growl","cjt/templates"],function(e,i){e.module("cjt2.decorators.growlDecorator",["angular-growl"]).config(["$provide",function(e){e.decorator("growlDirective",["$delegate",function(e){var t="libraries/cjt2/directives/growl.phtml";return e[0].templateUrl=i.config.debug?i.buildFullPath(t):t,e}]),e.decorator("growlMessages",["$delegate",function(t){var i=0,n=t.addMessage;return t.addMessage=function(){var e=[].slice.call(arguments);return e[0].id="growl_"+e[0].referenceId+"_"+ ++i,n.apply(t,e)},t}])}])}),define("cjt/decorators/growlAPIReporter",["angular","lodash","cjt/services/APIFailures","cjt/decorators/growlDecorator"],function(e,n){e.module("cjt2.decorators.growlAPIReporter",["cjt2.decorators.growlDecorator"]).config(["$provide",function(e){e.decorator("growl",["$delegate","APIFailures","$log",function(t,e,i){return e.register(function(e){e.forEach(function(e){return i.warn(e.content),"danger"===e.type?t.error(n.escape(e.content)):"warning"===e.type?t.warning(n.escape(e.content)):void 0})}),t}])}])}),define("cjt/decorators/paginationDecorator",["angular","cjt/core","cjt/util/locale","uiBootstrap","cjt/templates"],function(e,i,o){e.module("cjt2.decorators.paginationDecorator",["ui.bootstrap.pagination"]).config(["$provide",function(e){e.decorator("uibPaginationDirective",["$delegate",function(e){var t=e[0],s=(t.templateUrl=i.buildFullPath("libraries/cjt2/directives/pagination.phtml"),t.link);return t.compile=function(){return function(i,e,t,n){var a=n[0],r=(s.apply(this,arguments),i.parentId=t.id,i.ariaLabels={title:o.maketext("Pagination"),firstPage:o.maketext("Go to first page."),previousPage:o.maketext("Go to previous page."),nextPage:o.maketext("Go to next page."),lastPage:o.maketext("Go to last page.")},a.render);a.render=function(){var t,e;r.apply(a),e=i.pages,t=i.parentId,e&&e.forEach(function(e){e.id=t+"_"+e.text}),(e=i.pages)&&e.forEach(function(e){e.ariaLabel=o.maketext("Go to page “[_1]”.",e.text)})}}},e}])}])}),define("cjt/decorators/uibTypeaheadDecorator",["angular","uiBootstrap"],function(e){e.module("cjt2.decorators.uibTypeaheadDecorator",["ui.bootstrap.typeahead"]).config(["$provide",function(e){e.decorator("uibTypeaheadDirective",["$delegate",function(e){var n=e[0],a=n.link;return n.compile=function(){return function(e,t,i){a.apply(n,arguments),i.$set("role","combobox")}},e}])}])}),define("cjt/diag/routeDirective",["angular","cjt/core","cjt/templates"],function(e,t){var i="libraries/cjt2/diag/routeDirective.phtml",e=e.module("cjt2.diag.route",["cjt2.templates"]);e.controller("diagRouteController",["$scope","$routeParams","$route","$window","$location",function(e,t,i,n,a){e.$location=a,e.$window=n,e.$route=i,e.$routeParams=t}]),e.directive("diagRoute",[function(){return{restrict:"EA",replace:!0,scope:!0,templateUrl:t.config.debug?t.buildFullPath(i):i,controller:"diagRouteController",link:function(e,t,i){}}}])}),define("cjt/directives/spinnerDirective",["angular","lodash","cjt/core","cjt/util/parse","cjt/templates"],function(v,_,i,o){var e=v.module("cjt2.directives.spinner",["cjt2.templates"]);e.factory("spinnerAPI",function(){function i(e,t,i,n){return{fnName:e,args:n,id:t,group:i}}function r(){for(var e;e=u.shift();)if(e.id&&a(e.id)||e.group&&l(e.group)){t=void 0;var t=e;switch(t.fnName){case"start":p.apply(null,t.args);break;case"startGroup":f.apply(null,t.args);break;case"stop":d.apply(null,t.args);break;case"stopGroup":h.apply(null,t.args);break;case"kill":g.apply(null,t.args);break;case"killGroup":m.apply(null,t.args)}}}function n(e){u.push(e)}function s(e,t){var i=e.scope.spinClass;i&&e.element.addClass(i),e.scope.display=t,e.scope.running=!0}function o(e,t){var i=e.scope.spinClass;i&&e.element.removeClass(i),e.scope.display=t,e.scope.running=!1}function a(e){return e?!!c[e]:0<c.length}function l(e){if(e)for(var t=_.keys(c),i=t.length;-1<i;i--){var n=t[i];if(n)if(c[n].element.hasClass(e))return!0}return!1}var c={},u=[],d=function(e,t){t=!_.isUndefined(t)&&t,e?(e=c[e])&&o(e,t):v.forEach(c,function(e){o(e,t)})},h=function(t,i){i=!_.isUndefined(i)&&i,v.forEach(c,function(e){e.element.hasClass(t)&&o(e,i)})},p=function(e,t){t=!!_.isUndefined(t)||t,e?(t=c[e])&&s(t,!0):v.forEach(c,function(e){s(e,!0)})},f=function(t,i){i=!!_.isUndefined(i)||i,v.forEach(c,function(e){e.element.hasClass(t)&&s(e,i)})},g=function(e){var t;if(e)if(t=c[e])o(t,!1),c[e]=null,delete c[e];else for(var i=u.length-1;0<=i;i--)u[i].id===e&&u.splice(i,1);else for(var n=_.keys(c),a=n.length;-1<a;a--){var r=n[a];r&&(o(c[r],!1),c[r]=null,delete c[r])}},m=function(e){for(var t=_.keys(c),i=!1,n=t.length;-1<n;n--){var a,r=t[n];r&&(a=c[r]).element.hasClass(e)&&(o(a,!1),c[r]=null,delete c[r],i=!0)}if(!i)for(var s=u.length-1;0<=s;s--)u[s].className===e&&u.splice(s,1)};return{spinners:c,_add:function(e,t,i,n,a){e=c[e]={id:e,element:t,scope:a};(i?s:o)(e,n),r()},has:a,hasGroup:l,start:function(e,t){e&&!a(e)?n(i("start",e,null,arguments)):p(e,t)},startGroup:function(e,t){e&&!l(e)?n(i("startGroup",null,e,arguments)):f(e,t)},stop:function(e,t){e&&!a(e)?n(i("stop",e,null,arguments)):d(e,t)},stopGroup:function(e,t){e&&!l(e)?n(i("stopGroup",null,e,arguments)):h(e,t)},kill:function(e){e&&!a(e)?n(i("kill",e,null,arguments)):g(e)},killGroup:function(e){e&&!l(e)?n(i("killGroup",null,e,arguments)):m(e)},flush:function(){u=[]}}}),e.directive("spinner",["spinnerAPI",function(t){var n=0,e="libraries/cjt2/directives/spinner.phtml";return{scope:!0,restrict:"EA",replace:!0,controller:["$scope",function(e){e.api=t,e.display=!1,e.running=!1}],templateUrl:i.config.debug?i.buildFullPath(e):e,compile:function(e,t){return{pre:function(e,t,i){_.isUndefined(i.glyphClass)&&(i.glyphClass="fas fa-spinner fa-2x"),_.isUndefined(i.spinClass)&&(i.spinClass="fa-spin"),!_.isUndefined(i.id)&&""!==i.id||(i.id="spinner_"+n++)},post:function(e,t,i){var n=!_.isUndefined(i.cpShow)&&o.parseBoolean(i.cpShow),a=!_.isUndefined(i.cpAutostart)&&o.parseBoolean(i.cpAutostart),r=i.id,s=(t.attr("id",r),i.groupClass),s=(!s||t.hasClass(s)||t.addClass(s),i.glyphClass);s&&!t.hasClass(s)&&t.addClass(s),e.id=r,e.spinClass=i.spinClass,e.$on("$destroy",function(){e.api.kill(e.id)}),e.api._add(e.id,t,a,n,e)}}}}}])}),define("cjt/directives/actionButtonDirective",["angular","cjt/core","cjt/util/test","cjt/directives/spinnerDirective","cjt/templates"],function(o,t,l){o.module("cjt2.directives.actionButton",["cjt2.templates","cjt2.directives.spinner"]).directive("cpAction",["spinnerAPI","$log",function(r,a){var s=0,e="libraries/cjt2/directives/actionButton.phtml";return{templateUrl:t.config.debug?t.buildFullPath(e):e,restrict:"A",transclude:!0,replace:!0,priority:10,scope:{buttonClass:"@buttonClass",buttonNgClass:"&",action:"&cpAction",autoDisable:"@?autoDisable",actionActive:"@?"},compile:function(e,t){return{pre:function(e,t,i){i.ngBind&&a.error("ngBind is not supported on this directive. It causes the spinner to stop working");var n=o.isDefined(i.id)&&""!==i.id?i.id:"actionButton"+s++,n=(i.spinnerId=o.isDefined(i.spinnerId)&&""!==i.spinnerId?i.spinnerId:n+"_Spinner",o.isDefined(i.buttonNgClass)||(i.buttonClass=o.isDefined(i.buttonClass)&&""!==i.buttonClass?i.buttonClass:"btn-primary"),i.autoDisable);i.autoDisable=!0,o.isDefined(n)&&("false"===n?i.autoDisable=!1:"true"===n&&(i.autoDisable=!0)),e.spinnerId=i.spinnerId,e.autoDisable=i.autoDisable},post:function(i,e,t){i.running=!1;function n(){i.autoDisable&&e.prop("disabled",!1),i.running=!1,r.stop(i.spinnerId,!1)}function a(){i.autoDisable&&e.prop("disabled",!0),r.start(i.spinnerId),i.running=!0}i.start=function(){a();var e=i.action();l.isQPromise(e)?e.finally(n):n()},i.ngClass=function(){var e=[{"button-loading":i.running}],t=i.buttonNgClass();return t&&(o.isArray(t)?e=e.concat(t):e.push(t)),e},t.$observe("actionActive",function(e){i.actionActive=t.actionActive="true"===e,(t.actionActive?a:n)()})}}}}}])}),define("cjt/directives/alert",["angular","cjt/core","cjt/util/locale","cjt/templates"],function(u,r,i){u.module("cjt2.directives.alert",["cjt2.templates"]).directive("cpAlert",["$timeout","$compile",function(o,e){function l(e,t,i){var n={};if(e)if(u.isString(i))n.message=i;else{if(!u.isObject(i))throw new TypeError("ngModel must be a string or object.");u.copy(i,n)}if(u.isDefined(n.type)||(u.isDefined(t.type)&&t.type?n.type=t.type:n.type="warning"),u.isDefined(n.closable)?n.closable="danger"!==n.type&&n.closable:u.isDefined(t.closable)?n.closable="danger"!==n.type:n.closable=!1,!r.isE2E()&&(u.isDefined(n.autoClose)||u.isDefined(t.autoClose))?n.autoClose="danger"!==n.type&&n.autoClose:n.autoClose=!1,u.isDefined(n.id)||(u.isDefined(t.id)?n.id=t.id:n.id="alert"+a++),!e||u.isDefined(n.message)||n.message)return n;throw new Error("No message provided in the model's message property.")}var a=0,t="libraries/cjt2/directives/alert.phtml",c=[{name:"errorLabel",defaultText:i.maketext("Error:")},{name:"warnLabel",defaultText:i.maketext("Warning:")},{name:"infoLabel",defaultText:i.maketext("Information:")},{name:"successLabel",defaultText:i.maketext("Success:")},{name:"moreLabel",defaultText:i.maketext("What went wrong?")}];return{restrict:"EA",templateUrl:r.config.debug?r.buildFullPath(t):t,transclude:!0,replace:!0,require:"?ngModel",scope:{close:"&onClose",toggleMore:"&onToggleMore",autoClose:"=",errorLabel:"@",warnLabel:"@",infoLabel:"@",successLabel:"@",moreLabel:"@"},compile:function(e,t){return c.forEach(function(e){u.isDefined(t[e.name])||(t[e.name]=e.defaultText)}),function(t,e,i,n,a){n?(n.$formatters.push(function(e){return l(!0,i,e)}),n.$render=function(){t.alert=n.$viewValue,o(function(){t.$emit("addAlertCalled")},0)}):(t.alert=l(!1,i),a=a,r=(r=t).alert.type,s=e[0].querySelector(".alert-"+r).querySelector(".alert-body"),a(function(e){u.element(s).append(e)})),t.$watch("alert.label",function(t){u.isDefined(t)&&c.forEach(function(e){i.$set(e.name,t)})}),t.runClose=function(){var e;t.timer&&(e=t.timer,t.timer=null,delete t.timer,o.cancel(e)),t.$emit("closeAlertCalled",{id:t.alert.id}),t.close()};var r,s,e=t.autoClose?parseInt(t.autoClose,10):null;e&&!isNaN(e)&&(t.timer=o(function(){t.runClose()},e)),t.hasToggleHandler=u.isDefined(i.onToggleMore),t.showMore=!1,t.runToggleMore=function(){t.showMore=!t.showMore;var e={id:t.alert.id,show:t.showMore};t.$emit("toggleMoreAlertCalled",e),t.toggleMore(e)}}}}}])}),define("cjt/directives/alertList",["angular","jquery","cjt/core","lodash","ngAnimate","ngSanitize","cjt/directives/alert","cjt/config/componentConfiguration","cjt/services/alertService","cjt/templates"],function(m,e,v,_){var t="libraries/cjt2/directives/alertList.phtml",i=m.module("cjt2.directives.alertList",["cjt2.config.componentConfiguration","cjt2.templates","ngAnimate","ngSanitize","cjt2.directives.alert"]),b={whostmgrSm:120,cpanelSm:52,webmailSm:52,whostmgrXs:70,cpanelXs:30,webmailXs:30};function w(e){if(!e)return 1;switch(e){case"top-left":case"top-middle":case"top-right":case"bottom-left":case"bottom-middle":case"bottom-right":case"middle-left":case"middle-middle":case"middle-right":return 1;default:return void window.console.log("Invalid alertList.position set. It must be one of: top-left, top-middle, top-right, bottom-left, bottom-middle, bottom-right, middle-left, middle-middle, middle-right")}}i.directive("cpAlertList",["alertService","componentConfiguration",function(f,g){return{restrict:"E",templateUrl:v.config.debug?v.buildFullPath(t):t,replace:!0,scope:{alertGroup:"=",autoClose:"=",position:"="},controller:["$scope","$element","$window","$attrs",function(i,n,a,t){i.rules={position:null,inline:!1},i.$watch("inline",function(){i.rules.inline!==i.inline&&u()}),i.$watch("position",function(){i.rules.position!==i.position&&w(i.position)&&u()}),i.$watchCollection(function(){return g.getComponent("alertList")},function(){u()});var r=v.isWhm()?m.element("#contentContainer"):null,s=o();function o(){var e=v.isWebmail()?667:768;return a.innerWidth<e?b[v.applicationName+"Xs"]:b[v.applicationName+"Sm"]}function e(){var e,t=o();r&&r.length?(e=r[0].getBoundingClientRect().top)!==s&&(s=Math.max(e,t),n.css("top",s)):s!==t&&(s=t,n.css("top",s))}function l(){var e=a.innerHeight;i.heightToTurnOnScroll=e-s}function c(e,t){null!==e&&(i.rules.position=e),null!==t&&(i.rules.inline=t)}function u(){var e=g.getComponent("alertList");c(e.position,e.inline),t.hasOwnProperty("inline")&&c(null,!0),m.isDefined(i.position)&&i.position&&w(i.position)&&c(i.position,null)}function d(){e(),l(),i.$digest()}function h(e){!i.rules.inline&&"middle-middle"===i.rules.position&&i.alertsPresent&&("keyup"===e.type&&27===e.keyCode||"click"===e.type&&0===m.element(e.target).closest(".alert-container").length)&&(f.clear(null,i.alertGroup),m.element(a).off("keyup click",h),i.$digest())}var p=_.throttle(d,60);m.element(a).on("resize",p).on("toggle-navigation",d),i.$on("$destroy",function(){m.element(a).off("resize",p).off("toggle-navigation",d).off("keyup click",h)}),e(),l(),u(),i.getPositionClasses=function(){return"position-"+(i.rules.inline?"inline":i.rules.position)},i.needsScrollbar=function(){if(i.rules.inline)return!1;m.isDefined(i.heightToTurnOnScroll)||l();var e=n.find(".alert-list").height();return i.alerts&&0<i.alerts.length&&e>=i.heightToTurnOnScroll},i.$watchGroup(["needsScrollbar()","heightToTurnOnScroll"],function(e){e[0]?n.css("height",e[1]+"px"):n.css("height","auto")}),i.alerts=f.getAlerts(i.alertGroup),i.$watchCollection("alerts",function(e){var t=!v.isE2E()&&i.autoClose;e.length?i.alertsPresent=!0:i.alertsPresent=!1,e.forEach(function(e){t&&!e.autoClose&&(e.autoClose=i.autoClose),i.rules.inline||(e.closeable=!0)})}),i.$on("addAlertCalled",function(e){m.element(a).on("keyup click",h)}),i.$on("closeAlertCalled",function(e,t){f.removeById(t.id,i.alertGroup),m.element(a).off("keyup click",h)})}]}}]),i.animation(".alert-container",["$animateCss",function(n){return{enter:function(e,t){var i=e[0].offsetHeight;return n(e,{from:{height:"0"},to:{height:i+"px"},duration:.3,easing:"ease-out",event:"enter",structural:!0}).start().finally(function(){e[0].style.height="",t()})},leave:function(e,t){var i=e[0].offsetHeight;return n(e,{event:"leave",structural:!0,from:{opacity:"1"},to:{opacity:"0",transform:"translateX(50px)"},duration:.3,easing:"ease-out"}).start().done(function(){n(e,{event:"leave",structural:!0,from:{height:i+"px"},to:{height:"0"},duration:.3,easing:"ease-out"}).start().finally(function(){t()})})}}}])}),define("cjt/directives/autoFocus",["angular"],function(a){a.module("cjt2.directives.autoFocus",[]).directive("autoFocus",["$timeout",function(n){return{link:function(e,t,i){e.$watch(i.autoFocus,function(e){e=a.isDefined(e)&&e;a.isDefined(i.autoFocus)&&(""===i.autoFocus||""!==i.autoFocus&&e)&&n(function(){t[0].focus()})},!0),t.bind("blur",function(){a.isDefined(i.onFocusLost)&&e.$apply(i.onFocusLost)})}}}])}),define("cjt/directives/boolToInt",["angular"],function(e){e.module("cjt2.directives.boolToInt",[]).directive("boolToInt",[function(){return{restrict:"A",require:"ngModel",priority:99,link:function(e,t,i,n){n.$formatters.push(function(e){return!!e}),n.$parsers.push(function(e){return e?1:0})}}}])}),define("cjt/directives/breadcrumbs",["angular","cjt/core","lodash","ngSanitize","ngRoute","cjt/templates"],function(c,i,u){c.module("cjt2.directives.breadcrumbs",["cjt2.templates","ngRoute","ngSanitize"]).directive("breadcrumbs",function(){var e="libraries/cjt2/directives/breadcrumbs.phtml",t=["$scope","$location","$rootScope","$route","$window",function(e,t,i,n,a){var r,s=[];function o(t){if(e.crumbs=[],PAGE.customBreadcrumbs)e.crumbs=PAGE.customBreadcrumbs;else for(;t;)e.crumbs.unshift(t),t=u.find(s,function(e){return e.id===t.parentID})}function l(){var e=n.routes;c.forEach(e,function(e){e.hasOwnProperty("breadcrumb")&&(e=e.breadcrumb,s.push(e))})}e.crumbs=[],l(),r=t.path().split("/").slice(0,2).join("/"),o(u.find(s,function(e){e=e.path;return(e=1<e.length&&"/"===e.charAt(e.length-1)?e.substr(0,e.length-1):e)===r})),i.$on("$routeChangeSuccess",function(e,t){l(),o(t.breadcrumb)}),e.changeRoute=function(e){if(e.navigate)return a.location.href=e.path;t.path(e.path)}}];return{templateUrl:i.config.debug?i.buildFullPath(e):e,replace:!0,restrict:"EA",scope:!0,controller:t}})}),define("cjt/directives/bytesInput",["angular","lodash","cjt/core","cjt/util/locale","cjt/util/parse","cjt/templates"],function(e,o,t,i,n){var a="libraries/cjt2/directives/bytesInput.phtml",l={B:{abbr:i.maketext("Bytes"),full:i.maketext("Bytes"),multiplier:0},KB:{abbr:i.maketext("KB"),full:i.maketext("Kilobytes"),multiplier:1},MB:{abbr:i.maketext("MB"),full:i.maketext("Megabytes"),multiplier:2},GB:{abbr:i.maketext("GB"),full:i.maketext("Gigabytes"),multiplier:3},TB:{abbr:i.maketext("TB"),full:i.maketext("Terabytes"),multiplier:4},PB:{abbr:i.maketext("PB"),full:i.maketext("Petabytes"),multiplier:5},EB:{abbr:i.maketext("EB"),full:i.maketext("Exabytes"),multiplier:6},ZB:{abbr:i.maketext("ZB"),full:i.maketext("Zettabytes"),multiplier:7},YB:{abbr:i.maketext("YB"),full:i.maketext("Yottabytes"),multiplier:8}},c={B:{abbr:i.maketext("Bytes"),full:i.maketext("Bytes"),multiplier:0},KiB:{abbr:i.maketext("KiB"),full:i.maketext("Kibibytes"),multiplier:1},MiB:{abbr:i.maketext("MiB"),full:i.maketext("Mebibytes"),multiplier:2},GiB:{abbr:i.maketext("GiB"),full:i.maketext("Gibibytes"),multiplier:3},TiB:{abbr:i.maketext("TiB"),full:i.maketext("Tebibytes"),multiplier:4},PiB:{abbr:i.maketext("PiB"),full:i.maketext("Pebibytes"),multiplier:5},EiB:{abbr:i.maketext("EiB"),full:i.maketext("Exbibytes"),multiplier:6},ZiB:{abbr:i.maketext("ZiB"),full:i.maketext("Zebibytes"),multiplier:7},YiB:{abbr:i.maketext("YiB"),full:i.maketext("Yobibytes"),multiplier:8}},i=e.module("cjt2.directives.bytesInput",["cjt2.templates"]);i.directive("bytesInput",["bytesInputConfig","$timeout",function(s,e){return{restrict:"E",templateUrl:t.config.debug?t.buildFullPath(a):a,require:"ngModel",replace:!0,scope:{displayFormat:"@",valueFormat:"@",valueUnit:"@",allowedUnits:"=",defaultUnit:"@",ngFocus:"&",size:"=",maxlength:"=",extraInputClasses:"@",isDisabled:"=",selectedUnit:"="},link:function(a,t,i,r){if(void 0!==i.disabled)throw"Do not use “disabled” on this component, use “isDisabled” instead.";function n(e,t){return!!a.isDisabled||!!r.$isEmpty(e)||!!(a.inputValue&&0<a.inputValue&&(""+a.inputValue).length>a.maxlength)||t(e)}r.$validators.max=function(e,t){return n(t,function(e){return!(i.bytesInputMax&&!isNaN(i.bytesInputMax))||t<=parseInt(i.bytesInputMax,10)})},r.$validators.min=function(e,t){return n(t,function(e){return!(i.bytesInputMin&&!isNaN(i.bytesInputMin))||t>=parseInt(i.bytesInputMin,10)})},r.$validators.integer=function(e,t){return n(t,function(e){e=new Number(e);return e==e.toFixed(0)})},t.find("input[type=number]").on("focus",function(){this.select()}),a.setUnitFromString=function(e){e&&a.units[e]?a.selectedUnit=a.units[e]:a.selectedUnit=a.units[Object.keys(a.units)[0]]};var e=t.find("input[type='number']");a.displayFormat=a.displayFormat||s.displayFormat,a.valueFormat=a.valueFormat||s.valueFormat,a.size=a.size||s.size,a.maxlength=a.maxlength||s.size,a.isDisabled=a.isDisabled||!1,a.required=a.required||!1,a.dirty=!1,a.min=!i.bytesInputMin||isNaN(i.bytesInputMin)?0:parseInt(i.bytesInputMin,10),a.units=[],a.name=i.name||"bytesInput","si"===a.valueFormat?a.valueUnitObj=l[a.valueUnit]||l[s.valueUnit]:"binary"===a.valueFormat&&(a.valueUnitObj=c[a.valueUnit]||c[s.valueUnit]),"si"!==a.displayFormat&&"binary"!==a.displayFormat||("si"===a.displayFormat?a.units=o.pick(l,a.allowedUnits||s.siAllowed):"binary"===a.displayFormat&&(a.units=o.pick(c,a.allowedUnits||s.binaryAllowed)),a.setUnitFromString(a.defaultUnit)),a.selectUnit=function(e){a.units[e]&&(a.selectedUnit=a.units[e],a.calculateValue())},a.calculateValue=function(){var e,t,i,n;"si"!==a.valueFormat&&"binary"!==a.valueFormat?r.$setViewValue(void 0):!a.inputValue||""===a.inputValue||isNaN(a.inputValue)?r.$setViewValue(a.inputValue):(n=new Number(a.inputValue),e=a.selectedUnit.multiplier,t=a.valueUnitObj.multiplier,i="si"===a.valueFormat?1e3:1024,n=n*Math.pow(i,e)/Math.pow(i,t),r.$setViewValue(n),r.$validate())},a.setFromModel=function(){var e,t,i,n;!a.selectedUnit||"si"!==a.valueFormat&&"binary"!==a.valueFormat||("string"==typeof a.selectedUnit&&a.setUnitFromString(a.selectedUnit),e="si"===a.valueFormat?1e3:1024,t=a.selectedUnit.multiplier,i=a.valueUnitObj.multiplier,!r.$modelValue||isNaN(r.$modelValue)?void 0!==r.$modelValue||null===r.$viewValue||isNaN(r.$viewValue)?a.inputValue=r.$modelValue:a.inputValue=r.$viewValue*Math.pow(e,i)/Math.pow(e,t):(n=new Number(r.$modelValue),n=parseInt(new Number(n*Math.pow(e,i)/Math.pow(e,t))),a.inputValue!=n&&(a.inputValue=n)),r.$setDirty(),r.$validate())},a.$watch(function(){return r.$modelValue},a.setFromModel),a.$watch("inputValue",a.calculateValue),a.$watch("selectedUnit",function(){"string"==typeof a.selectedUnit&&a.setUnitFromString(a.selectedUnit)}),a.$watch(function(){return t.find("input[type=number]")[0].disabled},function(){var e=t.find("input[type=number]")[0];e.disabled||e.select()}),a.maxlength&&0<a.maxlength&&e.on("input",function(e){var t=""+a.inputValue;t.length>a.maxlength&&(a.inputValue=parseInt(t.slice(0,a.maxlength)))})}}}]),i.constant("bytesInputConfig",{displayFormat:"si",valueFormat:"binary",valueUnit:"B",siAllowed:["MB","GB","TB","PB"],binaryAllowed:["MiB","GiB","TiB","PiB"],size:10,maxlength:10})}),define("cjt/directives/callout",["angular","cjt/core","cjt/util/locale","cjt/templates"],function(n,t,a,e){n.module("cjt2.directives.callout",["cjt2.templates"]).directive("callout",[function(){var e="libraries/cjt2/directives/callout.phtml";return{restrict:"EA",templateUrl:t.config.debug?t.buildFullPath(e):e,transclude:!0,scope:{calloutType:"=calloutType",calloutHeading:"@calloutHeading",closeable:"@",onClose:"&"},link:function(e,t,i){if(e.hasHeading=!1,e.closeText=a.maketext("Close"),e.runClose=function(){e.onClose()},n.isDefined(i.calloutType))switch(i.calloutType){case"warning":case"danger":e.calloutType=i.calloutType;break;default:e.calloutType="info"}else e.calloutType="info";n.isDefined(i.calloutHeading)&&(e.hasHeading=!0)}}}])}),define("cjt/util/performance",[],function(){var e=window&&!window.performance?{now:function(){return Date.now()}}:window.performance;return e}),define("cjt/services/passwordStrengthService",["angular","lodash","cjt/core","cjt/util/locale","cjt/util/performance"],function(u,e,d,t,h){var i=u.module("cjt2.services.passwordStrength",[]),p=d.securityToken+(d.isUnprotected()?"/unprotected":"/backend")+"/passwordstrength.cgi",f=null,g={};return i.factory("passwordStrength",["$q","$http","$rootScope",function(o,l,n){function c(e,t,i){n.$broadcast("passwordStrengthChange",{id:e,password:t,hasPassword:!!(t&&0<t.length),strength:i})}return{cancelLastRequest:function(){f&&(f.cancel(),f.deferred.reject({canceled:!0}),d.debug("Canceled existing request"),f=null)},hasPendingRequest:function(){return null!==f},checkPasswordStrength:function(i,n){var a,e,t,r,s;return this.cancelLastRequest(),u.isUndefined(n)||""===n?(c(i,n,0),(a=o.defer()).resolve({status:200,strength:0,password:n,id:i})):g.hasOwnProperty(n)?(c(i,n,g[n]),(a=o.defer()).resolve({status:200,strength:g[n],password:n,id:i})):(e=o.defer(),a=o.defer(),f={cancel:function(){e.resolve()},deferred:a},t={url:p,data:{password:n},config:{timeout:e.promise.then(function(){var e=h.now();d.debug("Call to cgi password strength service canceled "+(e-r)+" milliseconds.")})}},r=h.now(),s=0,l.postAsForm(t.url,t.data,t.config).then(function(e){var t=h.now();d.debug("Call to cgi password strength service "+(t-r)+" milliseconds."),u.isUndefined(e.data.strength)?a.reject({statusText:"Unspecified API Error",status:e.status,strength:s,password:n,id:i}):(g[n]=e.data.strength,s=e.data.strength,a.resolve({status:200,strength:s,password:n,id:i}))},function(e){a.reject({statusText:e.statusText,status:e.status,strength:s,password:n,id:i})}).finally(function(){f=null,c(i,n,s)})),a.promise}}}]),{url:p}}),define("cjt/directives/checkStrength",["angular","ngSanitize","uiBootstrap","cjt/services/passwordStrengthService"],function(e){e.module("cjt2.directives.checkPasswordStrength",["ui.bootstrap","ngSanitize","cjt2.services.passwordStrength"]).directive("checkPasswordStrength",["passwordStrength",function(r){return{require:"ngModel",priority:1e3,restrict:"EACM",replace:!1,link:function(e,t,i,n){function a(e){var t=i.id||n.$name;return r.checkPasswordStrength(t,e)}n.$asyncValidators.passwordStrength=function(e,t){return a(e||t)},e.$watch(function(){return n.$error.minlength&&a(),n.$invalid},function(){n.$invalid&&!n.$error.minimumPasswordStrength&&a()})}}}])}),define("cjt/util/module",["angular"],function(n){function a(e){try{return null!==n.module(e)}catch(e){return!1}}return{isModuleAvailable:a,createModule:function(e,t){var i=[];t.forEach(function(e){a(e)?i.push(e):e&&window.console.log(e+" not found")}),n.module(e,i)}}}),define("cjt/directives/datePicker",["angular","cjt/util/locale","cjt/core"],function(e,r,t){function i(t,e,i,n){var a=t.$watch(function(){return n.$modelValue},function(e){n.$setViewValue(e),t.selectedDate=e});t.closeTextLabel=r.maketext("Close"),t.currentTextLabel=r.maketext("Today"),t.clearTextLabel=r.maketext("Clear"),t.showingPopup=!1,t.showPopup=function(){t.showingPopup=!0},t.onChange=function(e){n.$setViewValue(e)},t.$on("$destroy",a)}function n(){return{templateUrl:s,restrict:"EA",require:"ngModel",scope:{parentID:"@id",options:"="},transclude:!0,link:i}}var a="libraries/cjt2/directives/",s=(t.config.debug?t.buildFullPath(a):a)+"datePicker.phtml",t="cjt2.directives.datePicker",a=e.module(t,[]);return a.directive("datePicker",n),{directiveFactory:n,linkController:i,namespace:t,template:s}}),define("cjt/directives/deepTriStateCheckbox",["angular","cjt/core","cjt/templates"],function(a,t){a.module("cjt2.directives.deepTriStateCheckbox",["cjt2.templates"]).directive("deepTriStateCheckbox",function(){var e="libraries/cjt2/directives/triStateCheckbox.phtml";return{replace:!0,restrict:"E",scope:{checkboxes:"="},templateUrl:t.config.debug?t.buildFullPath(e):e,controller:["$scope","$element",function(e,n){e.masterChange=function(){e.master?a.forEach(e.checkboxes,function(e){e.selected=!0,a.forEach(e.children,function(e){e.selected=!0})}):a.forEach(e.checkboxes,function(e){e.selected=!1,a.forEach(e.children,function(e){e.selected=!1})})},e.$watch("checkboxes",function(){var t=!0,i=!0;a.forEach(e.checkboxes,function(e){e.children?a.forEach(e.children,function(e){e.selected?i=!1:t=!1}):e.selected?i=!1:t=!1}),t?(e.master=!0,n.prop("indeterminate",!1)):i?(e.master=!1,n.prop("indeterminate",!1)):(e.master=!1,n.prop("indeterminate",!0))},!0)}]}})}),define("cjt/directives/disableAnimations",["angular","ngAnimate"],function(e){e.module("cjt2.directives.disableAnimations",["ngAnimate"]).directive("disableAnimations",["$animate",function(n){return{restrict:"A",link:function(e,t,i){n.enabled(t,!1)}}}])}),define("cjt/directives/displayPasswordStrength",["angular","cjt/core","cjt/templates"],function(s,e){var t="libraries/cjt2/directives/displayPasswordStrength.phtml",o=["strength-0","strength-1","strength-2","strength-3","strength-4"];return s.module("cjt2.directives.displayPasswordStrength",["cjt2.templates"]).directive("displayPasswordStrength",function(){return{replace:!0,restrict:"EACM",templateUrl:e.config.debug?e.buildFullPath(t):t,scope:{fieldId:"@?fieldId",styles:"@?styles",calculateColorBreak:"&calculateColorBreak",testId:"@?testId"},compile:function(e,t){return{pre:function(e,t,i){if(!s.isUndefined(i.styles)){i=(i.styles+"").split(",");if(i.length<5)throw"You must provide a list of 5 css class names if you are implementing custom styles";e.styles=i}},post:function(i,n,e){var a=i.styles&&5===i.styles.length?i.styles:o,r=a.join(" ");i.calculateColorBreak&&(i.calculateColorBreak=function(e,t){var i=0;return{index:(i=e<=20?0:e<=40?1:e<=60?2:e<=80?3:4)+1,color:t[i]}}),i.$on("passwordStrengthChange",function(e,t){!s.isUndefined(i.fieldId)&&i.fieldId!==t.id||(t.hasPassword?(t=i.calculateColorBreak(t.strength,a),n.children("li").removeClass(r).slice(0,t.index).addClass(t.color)):n.children("li").removeClass(r))})}}}}}),{DEFAULT_STYLES:o}}),define("cjt/validator/validator-utils",[],function(){function s(){this.isValid=!0,this.messages=[],this.lookup={}}function n(){this.data=[],this.lookup={}}function i(){this.data={}}s.prototype={toString:function(e){e=e||"\n";for(var t="",i=0,n=this.messages.length;i<n;i++){var a=this.messages[i];a&&0<i&&(t+=e),t+=a.message}return t},hasMessage:function(e){return void 0!==this.lookup[e]},hasMessages:function(){return 0<this.messages.length},add:function(e,t){t={name:e,message:t};return this.messages.push(t),this.lookup[e]=t,this},addError:function(e,t){return this.add(e,t),this.isValid=!1,this},clear:function(){return this.messages=[],this.lookup={},this.isValid=!0,this},get:function(e){return"string"==typeof e?this.lookup[e]:this.messages}},n.prototype={get:function(e){return this.lookup[e]},set:function(e,t){this.data.push(t),this.lookup[e]=t},remove:function(e){if(this.data.length){for(var t=this.lookup[e],i=this.data.length-1;0<=i;i--)this.data[i]===t&&this.data.splice(i,1);delete this.lookup[e]}},hasResults:function(){return 0<this.data.length},clear:function(){this.data=[],this.lookup={}}};return i.prototype={get:function(e,t){e=this.data[e]||new n;return t?e.get(t):e},set:function(e,t,i){return this.data[e]=this.data[e]||new n,this.data[e].set(t,i),this},remove:function(e,t){this.data[e]&&(this.data[e].remove(t),this.data[e].hasResults()||(this.data[e]=null,delete this.data[e]))}},{ValidationResult:s,ExtendedModelReporting:n,ExtendedFormReporting:i,initializeValidationResult:function(e){var t=new s;return e&&(t.clear=!0),t},initializeExtendedReporting:function(e,t){e.$error_details=new n,t?t.$error_details=new i:window.console&&window.console.log("To participate in extended form validation you must have a ngForm or form around your controls with custom validation.")},updateExtendedReportingList:function(n,a,e,r){e.forEach(function(e){var t,i=r.lookup[e];i&&((t=new s).add(i.name,i.message),this.updateExtendedReporting(r.isValid,n,a,e,t))},this)},updateExtendedReporting:function(e,t,i,n,a){e?(t.$error_details.remove(n),i&&i.$error_details.remove(t.$name,n)):(a.clear&&(t.$error_details.remove(n),i)&&i.$error_details.remove(t.$name,n),t.$error_details.set(n,a),i&&i.$error_details.set(t.$name,n,a))}}}),define("cjt/directives/dynamicValidatorDirective",["angular","lodash","cjt/validator/validator-utils"],function(e,a,u){function o(e){for(var t,i=0,n=e.length;i<n;i++)e[i]=(t=e[i],a.isString(t)?{name:t,arg:""}:t);return e}function l(e,t,i,n,a){for(var r=0,s=e.length;r<s;r++){var o=u.initializeValidationResult(),l=t.$pristine&&t.$isEmpty(a)||(l=e[r],n(a,l.name,l.arg,o)),c=e[r].name;t.$setValidity(c,l),u.updateExtendedReporting(l,t,i,c,o)}return a}e.module("cjt2.directives.dynamicValidator",[]).directive("dynamicValidator",function(){return{restrict:"A",require:"ngModel",link:function(e,t,i,n){var a=i.dynamicValidator?e.$eval(i.dynamicValidator):[],r=e.$eval(i.validateFn),s=t.controller("form");u.initializeExtendedReporting(n,s),a&&a.length&&(a=o(a),n.$parsers.unshift(function(e){return l(a,n,s,r,e)}),n.$formatters.unshift(function(e){return l(a,n,s,r,e)}))}}})}),define("cjt/directives/focusFirstErrorDirective",["angular"],function(i){i.module("cjt2.directives.focusFirstError",[]).directive("focusFirstError",function(){return{retrict:"A",link:function(e,t){if("FORM"!==t[0].tagName)throw"The focusFirstError directive can only be used on a FORM element.";t.on("submit",function(){var e=i.element(t[0].querySelector(".ng-invalid"));e&&0<e.length&&e[0].focus()})}}})}),define("cjt/directives/focusInput",["angular"],function(e){e.module("cjt2.directives.focusInput",[]).directive("focusInput",["$timeout",function(n){return{link:function(e,t,i){t.bind("click",function(){n(function(){t.parent().parent().find("input")[0].focus()})})}}}])}),define("cjt/directives/formWaiting",["angular","cjt/core"],function(e,t){var e=e.module("cjt2.directives.formWaiting",[]),i="libraries/cjt2/directives/formWaiting.phtml";e.directive("cpFormWaiting",["$parse",function(o){return{restrict:"A",transclude:!0,scope:{spinner_size:"@cpFormWaitingSpinnerSize"},templateUrl:t.config.debug?t.buildFullPath(i):i,link:function(t,e,i,n,a){function r(){delete t._show_mask}if(!i.cpFormWaiting)throw"cp-form-waiting needs an expression!";var s=o(i.cpFormWaiting,null,!0);e.on("submit",function(e){e=s(t.$parent,{$event:e});!0===e?t._show_mask=!0:e?(t._show_mask=e).then(r,r):r(),t.$apply()})},controller:["$scope",function(e){e.spinner_size||(e.spinner_size=4)}]}}]),e.directive("cpFormWaitingTransclude",function(){return{restrict:"C",link:function(e,t,i,n,a){a(e.$parent,function(e){t.append(e)},null,i.ngTransclude||i.ngTranscludeSlot)}}})}),define("cjt/directives/includeExclude",["angular"],function(e){var t=e.module("cjt2.directives.includeCharacters",[]);t.directive("includeCharacters",["$parse",function(r){return{restrict:"A",require:"ngModel",link:function(t,e,i,n){var a=new RegExp("[^"+i.includeCharacters+"]","g");t.$watch(i.ngModel,function(e){e&&r(i.ngModel).assign(t,e.replace(a,""))})}}}]),(t=e.module("cjt2.directives.excludeCharacters",[])).directive("excludeCharacters",["$parse",function(r){return{restrict:"A",require:"ngModel",link:function(t,e,i,n){var a=new RegExp("["+i.excludeCharacters+"]","g");t.$watch(i.ngModel,function(e){e&&r(i.ngModel).assign(t,e.replace(a,""))})}}}])}),define("cjt/directives/jsonFieldDirective",["angular","cjt/core"],function(o,e){o.module("cjt2.directives.jsonFieldDirective",[]).directive("jsonField",["$document","$compile",function(r,s){return{restrict:"E",scope:{model:"="},link:function(e,t,i){var n,a;o.isDefined(e.model)&&((n=e.model).type=n.type.toLowerCase(),a=o.isDefined(n.type)&&"textarea"===n.type?r[0].createElement(n.type):r[0].createElement("input"),a=o.element(a),!o.isDefined(n.name)&&o.isDefined(n.id)&&(n.name=n.id),0===n.type.indexOf("date",0)&&(n.value=new Date(n.value)),"range"!==n.type&&"color"!==n.type&&"checkbox"!==n.type&&"radio"!==n.type&&a.attr("class","form-control"),"checkbox"===n.type&&(a.attr("ng-true-value","'true'"),a.attr("ng-false-value","'false'")),o.isDefined(n.value)||(n.value=""),a.attr("ng-model",i.model+".value"),o.forEach(n,function(e,t){if("type"===t&&"textarea"!==e||"value"!==t)try{a.attr(t,e)}catch(e){if("$$hashKey"!==t)throw e}}),a=s(a)(e.$parent),t.replaceWith(a))}}}])}),define("cjt/directives/labelSuffixDirective",["angular","cjt/core","cjt/util/locale","cjt/directives/spinnerDirective"],function(r,t,s){var e=r.module("cjt2.directives.labelSuffix",["cjt2.templates"]),i="libraries/cjt2/directives/labelSuffix.phtml";e.directive("labelSuffix",["spinnerAPI","$timeout",function(a,e){return{restrict:"E",templateUrl:t.config.debug?t.buildFullPath(i):i,scope:{fieldId:"@for"},require:"^form",link:function(t,e,i,n){if(t.showValidationStatus=void 0!==i.showValidationStatus,!t.fieldId)throw new Error("You must provide the 'for' attribute for label-suffix.");t.form=n,t.fieldName=t.fieldId,t.spinnerId="validationSpinner_"+t.fieldName,t.showAsterisk=function(){return t._findInputElem()&&t.inputElem.prop("required")&&(n[t.fieldName].$pristine||!t.inputElem.val())},t.isValid=function(){return t.showValidationStatus&&t._findInputElem()&&t.inputElem.val()&&!n[t.fieldName].$pristine&&n[t.fieldName].$valid&&!n[t.fieldName].$pending},t.isInvalid=function(){return t.showValidationStatus&&t._findInputElem()&&t.inputElem.val()&&!n[t.fieldName].$pristine&&!n[t.fieldName].$valid&&!n[t.fieldName].$pending},t.text=function(e){switch(e){case"required":return s.maketext("This value is required.");case"valid":return s.maketext("The value you entered is valid.");case"invalid":return s.maketext("The value you entered is not valid.");case"validating":return s.maketext("Validating …");default:return s.maketext("An unknown problem occurred with the validation.")}},t.$watch("form."+t.fieldName+".$pending",function(e){t.showValidationStatus&&(e?a.start(t.spinnerId):a.stop(t.spinnerId))}),t._findInputElem=function(){return t.inputElem&&t.inputElem[0]||(t.inputElem=r.element("#"+t.fieldId)),t.inputElem&&!!t.inputElem[0]}}}}])}),define("cjt/directives/lastItem",["angular"],function(e){e.module("cjt2.directives.lastItem",[]).directive("cpLastItem",["$parse","$timeout",function(e,n){return{restrict:"A",link:function(e,t,i){e.$watchGroup(["$index","$last"],function(){e.$last&&i.cpLastItem&&n(function(){e.$eval(i.cpLastItem)},5)})}}}])}),define("cjt/directives/limitRange",["angular","cjt/core","lodash"],function(e,t,i){var n={rangeMinimum:"@rangeMinimum",rangeMaximum:"@rangeMaximum",rangeDefault:"@rangeDefault"};function r(e,t){e=parseInt(e,10);return isNaN(e)?t:e}e.module("cjt2.directives.limitRange",[]).directive("limitRange",[function(){return{restrict:"A",require:"?ngModel",scope:n,link:function(n,e,t,a){e.bind("blur",function(e){var t=r(n.rangeMinimum,null),i=r(n.rangeMaximum,null);this.value||(this.value=r(n.rangeDefault,1)),null!==t&&this.value<t&&(this.value=t),null!==i&&this.value>i&&(this.value=i),t=a,i=this.value,t&&(t.$setViewValue(i),t.$validate())}),e.on("keydown",function(e){return!!i.includes([8,9,13,33,34,35,36,37,38,39,40,45,46],e.keyCode)||48<=e.keyCode&&e.keyCode<=57||96<=e.keyCode&&e.keyCode<=105||!(!e.ctrlKey&&!e.metaKey||67!==e.keyCode&&86!==e.keyCode&&88!==e.keyCode)||(e.preventDefault(),!1)})}}}])}),define("cjt/directives/loadingPanel",["angular","cjt/core"],function(a,t){a.module("cjt2.directives.loadingPanel",[]).directive("cpLoadingPanel",[function(){var n=0,e="libraries/cjt2/directives/loadingPanel.phtml";return{restrict:"EA",templateUrl:t.config.debug?t.buildFullPath(e):e,transclude:!0,scope:{id:"@"},compile:function(e,t){return{pre:function(e,t,i){a.isDefined(i.id)||(i.id="loadingPanel"+n++)}}}}}])}),define("cjt/directives/multiFieldEditor",["angular","cjt/util/locale","cjt/core"],function(n,a,t){n.module("cjt2.directives.multiFieldEditor",[]).directive("multiFieldEditor",["$log",function(i){var e="libraries/cjt2/directives/";return{templateUrl:(t.config.debug?t.buildFullPath(e):e)+"multiFieldEditor.phtml",restrict:"EA",require:["ngModel"],transclude:!0,scope:{parentID:"@id",minValuesCount:"=?",addNewLabel:"@?",ngModel:"="},link:function(e,t,i){e.addNewLabel=e.addNewLabel||a.maketext("Add A New Item")},controller:["$scope",function(e){this.minValuesCount=e.minValuesCount||0,this.ngModel=e.ngModel||new Array(e.minValuesCount),this.ngModel.length<this.minValuesCount&&(this.ngModel.length=this.minValuesCount),this.removeRow=function(e){this.ngModel.length||i.error("Attempting to remove an item from the MFE when no items are present. Likely this is because of a detachment of the referenced array. Did you do an array= somewhere?"),this.ngModel.splice(e,1)};var t=-1;this.addRow=function(){t=this.ngModel.length,this.ngModel.length++},this.getAddingRow=function(){return t},n.extend(e,this)}]}}])}),define("cjt/directives/validationContainerDirective",["angular","cjt/core","ngSanitize","cjt/templates"],function(d,h){d.module("cjt2.directives.validationContainer",["ngSanitize","cjt2.templates"]).directive("validationContainer",["$log",function(e){var t="libraries/cjt2/directives/validationContainer.phtml";function u(e,t,i){var n=i.field;return n||(n=e[t])&&(i.field=n,i.errors=n.$error,i.extendedErrors=n.$error_details),n}return{restrict:"EA",templateUrl:h.config.debug?h.buildFullPath(t):t,replace:!0,transclude:!0,scope:!0,link:function(t,e,i){var n=e.controller("form"),r=t.$eval(i.fieldName)||i.fieldName,a=!!d.isDefined(i.manual),s=t.$eval(i.prefix)||i.prefix||"validator",o=t.$eval(i.showWhenPristine)||!1,l=u(n,r,t);function c(e,t){return t?s+"_"+r+"_"+e+"_"+t:s+"_"+e}t.canShow=function(){return!!(l=u(n,r,t))&&(!l.$pristine||o||n.$submitted)&&l.$invalid},t.canShowItem=function(e){return!a&&!!(l=u(n,r,t))&&!1!==t.errors[e]&&t.hasExtendedError(e)},t.aggregateMessages=function(){l=u(n,r,t);var a=[];return d.forEach(t.errors,function(e,t){var i,n=(e=>{if(!(l.$pristine&&!o||l.$valid)&&l.$error_details)return!(!(e=l.$error_details.get(e))||!e.hasMessages())&&e.get()})(t);e&&n?(i=n.length,n.forEach(function(e){e.validatorName=t,e.id=1<i?c(t,e.name):c(t),a.push(e)})):e&&h.debug("[cjt2.directives.validationContainer] “"+t+"” is invalid, but does not have a validation message provided. Ensure inline message was created.")}),a},t.hasExtendedError=function(e){if((l=u(n,r,t)).$error_details){e=l.$error_details.get(e);if(e&&e.hasMessages())return!0}return!1}}}}])}),define("cjt/directives/multiFieldEditorItem",["angular","lodash","cjt/util/locale","cjt/core","cjt/directives/multiFieldEditor","cjt/directives/validationContainerDirective"],function(e,s,o,t){e.module("cjt2.directives.multiFieldEditorItem",[]).directive("multiFieldEditorItem",["$timeout",function(r){var e="libraries/cjt2/directives/";return{templateUrl:(t.config.debug?t.buildFullPath(e):e)+"multiFieldEditorItem.phtml",restrict:"EA",require:["^^multiFieldEditor"],transclude:!0,scope:{index:"=",label:"@",labelFor:"@",canRemove:"=",parentID:"@id"},link:function(e,t,i,n){e.canRemove=s.isUndefined(e.canRemove)||!("0"===e.canRemove.toString()||"false"===e.canRemove.toString());var a=n.pop();e.index===a.getAddingRow()&&r(function(){a.itemBeingAdded=-1,t.find("select").length?t.find("select").chosen&&t.find("select").chosen().trigger("chosen:activate").trigger("chosen:open"):t.find("input").focus()},10),e.requiredFieldMessage=function(){return o.maketext("This field is required.")},e.numericValueMessage=function(){return o.maketext("This value must be numeric.")},e.remove=function(){a.removeRow(e.index)}}}}])}),define("cjt/directives/indeterminateState",["angular"],function(e){e.module("cjt2.directives.indeterminateState",[]).directive("indeterminateState",function(){return{restrict:"A",scope:{checkState:"&"},link:function(e,t){e.$watch(e.checkState,function(e){t.prop("indeterminate",e)})}}})}),define("cjt/directives/ngDebounceDirective",["angular"],function(e){e.module("cjt2.directives.ngDebounce",[]).directive("ngDebounce",["$timeout",ngDebounce])}),define("cjt/directives/onKeyupDirective",["angular"],function(a){a.module("cjt2.directives.onKeyUp",[]).directive("cpKeyup",function(){return{restrict:"A",scope:{callback:"&cpKeyupAction"},link:function(i,e,t){var n=i.$eval(t.cpKeyupKeys);e.bind("keyup",function(t){n&&0!==n.length?a.forEach(n,function(e){e===t.which&&i.callback(t.which)}):i.callback(t.which)})}}})}),define("cjt/filters/qaSafeIDFilter",["angular"],function(e){e.module("cjt2.filters.qaSafeID",[]).filter("qaSafeID",function(){return function(e){return e.replace(/^[^A-Za-z]+/,"").replace(/[^A-Za-z0-9-_:]/g,"_")}})}),define("cjt/directives/pageSizeDirective",["angular","lodash","cjt/core","cjt/util/parse","cjt/util/locale","cjt/filters/qaSafeIDFilter","cjt/templates"],function(e,t,i,n,l){e=e.module("cjt2.directives.pageSize",["cjt2.templates"]);e.directive("pageSize",["$parse","pageSizeConfig",function(r,s){var e="libraries/cjt2/directives/pageSizeDirective.phtml",o=-1;return{restrict:"EA",templateUrl:i.config.debug?i.buildFullPath(e):e,require:"ngModel",replace:!0,scope:{parentID:"@id",totalItems:"=",allowedSizes:"=",showAll:"=",autoHide:"="},link:function(i,e,t,n){function a(){var e={},t=(e.allowedSizes=i.allowedSizes||s.allowedSizes,e.totalItems=i.totalItems||s.totalItems,e.showAllItems=i.showAll,i.showAll&&(o=i.totalItems||-1),e.allowedSizes.slice(0));return t.sort(function(e,t){return e-t}),t=t.map(function(e){return{label:e,value:e}}),e.showAllItems&&t.push({label:l.maketext("All"),value:o}),(1===t.length&&t[0].value===e.totalItems||0===t.filter(function(e){return e.value===i.pageSize}).length)&&(i.pageSize=t[0].value),t}n&&(t.allowedSizes&&i.$parent.$watch(r(t.allowedSizes),function(){i.options=a()}),t.totalItems&&i.$parent.$watch(r(t.totalItems),function(){i.options=a()}),t.showAll&&i.$parent.$watch(r(t.showAll),function(){i.options=a()}),n.$render=function(){i.pageSizeTitle=l.maketext("Page Size"),i.pageSize=n.$viewValue},i.$watch("pageSize",function(e,t){e!==t&&e&&n.$setViewValue(i.pageSize)}),i.$watch("totalItems",function(){i.options=a()}),i.options=a())}}}]),e.constant("pageSizeConfig",{allowedSizes:[10,20,50,100],totalItems:0,showAllItems:!1})}),define("cjt/directives/pageSizeButtonDirective",["angular","lodash","cjt/core","cjt/util/parse","cjt/util/locale","cjt/filters/qaSafeIDFilter","cjt/templates"],function(e,t,i,n,l){e=e.module("cjt2.directives.pageSizeButton",["cjt2.templates"]);e.directive("pageSizeButton",["$parse","pageSizeButtonConfig",function(r,s){var e="libraries/cjt2/directives/pageSizeButtonDirective.phtml",o=-1;return{restrict:"EA",templateUrl:i.config.debug?i.buildFullPath(e):e,require:"ngModel",replace:!0,scope:{parentID:"@id",totalItems:"=",allowedSizes:"=",showAll:"="},link:function(i,e,t,n){function a(){var e={},t=(e.allowedSizes=i.allowedSizes||s.allowedSizes,e.totalItems=i.totalItems||s.totalItems,e.showAllItems=i.showAll,i.showAll&&(o=i.totalItems||-1),e.allowedSizes.slice(0));return t.sort(function(e,t){return e-t}),t=t.map(function(e){return{label:l.numf(e),description:l.maketext("Show [quant,_1,entry per page,entries per page]",e),value:e,id:i.parentID+"_"+e}}),e.showAllItems&&t.push({label:l.maketext("All"),description:l.maketext("Show all entries"),value:o,id:i.parentID+"_All"}),(1===t.length&&t[0].value===e.totalItems||0===t.filter(function(e){return e.value===i.pageSize}).length)&&(i.pageSize=t[0].value),t}n&&(t.allowedSizes&&i.$parent.$watch(r(t.allowedSizes),function(){i.options=a()}),t.totalItems&&i.$parent.$watch(r(t.totalItems),function(){i.options=a()}),t.showAll&&i.$parent.$watch(r(t.showAll),function(){i.options=a()}),n.$render=function(){i.pageSizeTitle=l.maketext("Page Size"),i.pageSize=n.$viewValue},i.$watch("pageSize",function(e,t){e!==t&&e&&n.$setViewValue(i.pageSize)}),i.$watch("totalItems",function(){i.options=a()}),i.options=a())}}}]),e.constant("pageSizeButtonConfig",{allowedSizes:[10,20,50,100],totalItems:0,showAllItems:!1})}),define("cjt/util/passwordGenerator",["lodash"],function(r){function s(e){var t="";return e.uppercase&&(t+=i.uppercase),e.lowercase&&(t+=i.lowercase),e.numbers&&(t+=i.numbers),e.symbols&&(t+=i.symbols),t}var o={length:12,uppercase:!0,lowercase:!0,numbers:!0,symbols:!0},i={uppercase:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",lowercase:"abcdefghijklmnopqrstuvwxyz",numbers:"0123456789",symbols:"!@#$%^&*()-_=+{}[];,.?~"};return{MINIMUM_LENGTH:5,MAXIMUM_LENGTH:18,DEFAULT_OPTIONS:o,CHARACTER_SETS:i,generate:function(e){if(r.defaults(e=e||{},o),!(e.uppercase||e.lowercase||e.numbers||e.symbols))throw"invalid options, you must select at lest one character set to generate from.";r.isUndefined(e.length)||!r.isNumber(e.length)||e.length<5?e.length=o.length:18<e.length&&(e.length=18);for(var t=s(e),i="",n=0;n<e.length;n++){var a=Math.floor(Math.random()*t.length);i+=t.substring(a,a+1)}return i},_buildCharacterSet:s}}),define("cjt/directives/validateMinimumPasswordStrength",["angular"],function(e){e.module("cjt2.directives.minimumPasswordStrength",[]).directive("minimumPasswordStrength",function(){return{require:"^ngModel",replace:!1,priority:5,scope:!1,link:function(i,e,n,a){i.$on("passwordStrengthChange",function(e,t){(i.fieldId&&t.id===i.fieldId||!i.fieldId)&&(t=t.strength,a.$validators.required||a.$viewValue?(a.$setValidity("minimumPasswordStrength",!0),(a.$valid||a.$pending&&a.$pending.passwordStrength)&&(t=(t=t)>=i.minimumPasswordStrength,a.$setValidity("minimumPasswordStrength",t))):a.$setValidity("minimumPasswordStrength",!0))}),i.$watch(n.minimumPasswordStrength,function(e,t,i){i.minimumPasswordStrength=i.$eval(n.minimumPasswordStrength)}),a.$setValidity("minimumPasswordStrength",!0)}}})}),define("cjt/directives/updatePasswordStrengthDirective",["angular"],function(e){e.module("cjt2.directives.updatePasswordStrength",[]).directive("updatePasswordStrength",function(){return{restrict:"A",require:"ngModel",replace:!1,scope:{fieldId:"@?fieldId"},link:function(i,e,t,n){n&&(n.$render=function(){e.attr("value",n.$viewValue||"")},i.$on("passwordStrengthChange",function(e,t){(i.fieldId&&t.id===i.fieldId||!i.fieldId)&&(t=t.strength,n.$setViewValue(t))}))}}})}),define("cjt/directives/passwordFieldDirective",["angular","cjt/core","cjt/util/locale","cjt/util/passwordGenerator","cjt/directives/checkStrength","cjt/directives/validateMinimumPasswordStrength","cjt/directives/updatePasswordStrengthDirective","cjt/directives/displayPasswordStrength","cjt/decorators/dynamicName","cjt/directives/limitRange","cjt/templates"],function(u,e,d,h){var p=d.translatable("This password has a strength of [_1]."),f=d.translatable("This password has a strength of [_1], but your system requires a strength of [_2]."),g=d.translatable("This password has a strength of [_1], which meets or exceeds the system requirement of [_2]."),m=d.maketext("Enter Password"),v=d.maketext("Generate"),_=d.maketext("Auto generates password."),b=d.maketext("Adjust the generate password options."),w=d.maketext("Show or Hide password."),t="libraries/cjt2/directives/passwordField.phtml",i={name:"@?name",placeholder:"@?placeholder",caption:"@?caption",minimumStrength:"@minimumStrength",password:"=password",passwordStrength:"=passwordStrength",maximumLength:"@maximumLength",minimumLength:"@minimumLength",showMeter:"@?showMeter",showStrength:"@?showStrength",showToggleView:"@?showToggleView",strengthMeetsTemplate:"@?",strengthDoesNotMeetTemplate:"@?",strengthNoRequirementTemplate:"@?",showGenerator:"@?showGenerator",toggleViewButtonTitle:"@?",toggleViewButtonTabIndex:"@?",generateMinimumLength:"@?",generateMaximumLength:"@?",generateButtonText:"@?",generateButtonTitle:"@?",generateButtonTabIndex:"@?",generateSettingsTitle:"@?",generateSettingsTabIndex:"@?",generateSettingsLengthLabel:"@?",generateSettingsAlphaTitle:"@?",generateSettingsAlphaBothLabel:"@?",generateSettingsAlphaLowerLabel:"@?",generateSettingsAlphaUpperLabel:"@?",generateSettingsOtherTitle:"@?",generateSettingsBothNumersAndSymbolsLabel:"@?",generateSettingsNumbersLabel:"@?",generateSettingsSymbolsLabel:"@?",testId:"@?testId"},y=Object.keys(i);return y.push("id"),u.module("cjt2.directives.password",["cjt2.directives.checkPasswordStrength","cjt2.directives.minimumPasswordStrength","cjt2.directives.updatePasswordStrength","cjt2.directives.displayPasswordStrength","cjt2.directives.limitRange","cjt2.decorators.dynamicName","cjt2.templates"]).directive("password",["$timeout",function(l){function c(e,t,i){u.isUndefined(e[t])&&(e[t]=i)}return{restrict:"E",replace:!0,scope:i,templateUrl:e.config.debug?e.buildFullPath(t):t,compile:function(i,n){var a=i.find("input.field"),r=a[0],s=a[1],o=i.find("input.length-field");return Object.keys(n).forEach(function(e){var t;/^[$]/.test(e)||-1!==y.indexOf(e)||(t=n.$attr[e],a.attr(t,n[e]||""),i.removeAttr(t))}),{pre:function(e,t,i){c(i,"name","txtPassword"),c(i,"placeholder",m),c(i,"caption",d.maketext("Select the length and characters to use when generating a password:")),c(i,"showMeter",!0),c(i,"showToggleView",!0),c(i,"showStrength",!0),c(i,"strengthDoesNotMeetTemplate",f),c(i,"strengthMeetsTemplate",g),c(i,"strengthNoRequirementTemplate",p),c(i,"minimumStrength",10),c(i,"minimumLength",1),c(i,"maximumLength",100),c(i,"showGenerator",!1),c(i,"toggleViewButtonTitle",w),c(i,"generateMaximumLength",18),c(i,"generateMinimumLength",10),c(i,"generateButtonText",v),c(i,"generateButtonTitle",_),c(i,"generateSettingsTitle",b),c(i,"generateSettingsLengthLabel",d.maketext("Length")),c(i,"generateSettingsAlphaTitle",d.maketext("Letters")),c(i,"generateSettingsAlphaBothLabel",d.maketext("Both [asis,(aBcD)]")),c(i,"generateSettingsAlphaLowerLabel",d.maketext("Lowercase [asis,(abcd)]")),c(i,"generateSettingsAlphaUpperLabel",d.maketext("Uppercase [asis,(ABCD)]")),c(i,"generateSettingsOtherTitle",d.maketext("Numbers and Symbols")),c(i,"generateSettingsBothNumersAndSymbolsLabel",d.maketext("Both [asis,(1@3$)]")),c(i,"generateSettingsNumbersLabel",d.maketext("Numbers [asis,(123)]")),c(i,"generateSettingsSymbolsLabel",d.maketext("Symbols [asis,(@#$)]")),c(i,"testId",""),e.showStrength=i.showStrength,e.showGenerator=i.showGenerator,e.generateMinimumLength=i.generateMinimumLength,e.generateMaximumLength=i.generateMaximumLength},post:function(i,e,t){var n,a;i.showSettings=!1,i.show=!1,i.passwordLength=h.DEFAULT_OPTIONS.length,i.defaultLength=h.DEFAULT_OPTIONS.length,a=h.DEFAULT_OPTIONS,(n=i).defaultLength=h.DEFAULT_OPTIONS.length,n.length=a.length,a.lowercase&&a.uppercase?n.alpha="both":a.lowercase?n.alpha="lower":a.uppercase&&(n.alpha="upper"),a.numbers&&a.symbols?n.nonalpha="both":a.numbers?n.nonalpha="numbers":a.symbols&&(n.nonalpha="symbols"),n.minimumLength&&n.generateMinimumLength<n.minimumLength&&(n.generateMinimumLength=n.minimumLength),n.maximumLength&&n.generateMaximumLength>n.maximumLength&&(n.generateMaximumLength=n.maximumLength),i.toggle=function(){i.show=!i.show,l(function(){var e=u.element(r);e&&e.focus()},10)},i.generate=function(){var e={length:(e=i).passwordLength,lowercase:"both"===e.alpha||"lower"===e.alpha,uppercase:"both"===e.alpha||"upper"===e.alpha,numbers:"both"===e.nonalpha||"numbers"===e.nonalpha,symbols:"both"===e.nonalpha||"symbols"===e.nonalpha},e=h.generate(e);i.password=e,i.show=!0,l(function(){var e=u.element(s);e&&e.focus()},10)},i.toggleSettings=function(){i.showSettings=!i.showSettings,i.showSettings&&l(function(){var e=u.element(o);e&&e.focus()},10)},i.$on("passwordStrengthChange",function(e,t){t.id===i.name&&i.updateCurrentStrengthText(t.strength,t.password)}),i.updateCurrentStrengthText=function(e,t){u.isString(i.minimumStrength)&&(i.minimumStrength=parseInt(i.minimumStrength,10),isNaN(i.minimumStrength))&&(i.minimumStrength=10),i.showStrength&&(u.isDefined(e)&&t?0<i.minimumStrength?e<i.minimumStrength?u.isDefined(i.strengthDoesNotMeetTemplate)&&(i.currentStrengthText=d.makevar(i.strengthDoesNotMeetTemplate,e,i.minimumStrength)):u.isDefined(i.strengthMeetsTemplate)&&(i.currentStrengthText=d.makevar(i.strengthMeetsTemplate,e,i.minimumStrength)):u.isDefined(i.strengthNoRequirementTemplate)&&(i.currentStrengthText=d.makevar(i.strengthNoRequirementTemplate,e)):i.currentStrengthText="")}}}}}}]),{DEFAULT_MINIMUM_STRENGTH:10,DEFAULT_DOES_NOT_MEET_TEXT:f,DEFAULT_MEETS_OR_EXCEEDS_TEXT:g,DEFAULT_PLACEHOLDER:m,RELATIVE_PATH:t}}),define("cjt/directives/preventDefaultOnEnter",["angular"],function(e){e.module("cjt2.directives.preventDefaultOnEnter",[]).directive("preventDefaultOnEnter",["$timeout",preventDefaultOnEnter])}),define("cjt/directives/preventNavigationOnBackspaceDirective",["angular"],function(e){e.module("cjt2.directives.preventNavigationOnBackspace",[]).directive("preventNavigationOnBackspace",["$document",function(a){return{restrict:"A",link:function(e,t,i,n){a.unbind("keydown").bind("keydown",function(e){var t,i=!1;(i=8===e.keyCode?("INPUT"!==(t=e.srcElement||e.target).tagName.toUpperCase()||"TEXT"!==t.type.toUpperCase()&&"PASSWORD"!==t.type.toUpperCase()&&"FILE"!==t.type.toUpperCase()&&"SEARCH"!==t.type.toUpperCase()&&"EMAIL"!==t.type.toUpperCase()&&"NUMBER"!==t.type.toUpperCase()&&"DATE"!==t.type.toUpperCase())&&"TEXTAREA"!==t.tagName.toUpperCase()&&!t.isContentEditable||t.readOnly||t.disabled:i)&&e.preventDefault()})}}}])}),define("cjt/directives/processingIconDirective",["angular","cjt/core","cjt/util/locale","cjt/templates"],function(n,i,a){var e=n.module("cjt2.directives.processingIcon",["cjt2.templates"]),t={default:0,run:1,done:2,error:3,unknown:4},s=[t.default,t.run,t.done,t.error,t.unknown],o=(e.constant("processingIconStates",t),["default","run","done","error","unknown"]);e.directive("cpProcessingIcon",["processingIconStates",function(r){var e="libraries/cjt2/directives/processingIcon.phtml",t={default:"",run:a.maketext("Running"),done:a.maketext("Done"),error:a.maketext("Error"),unknown:a.maketext("Unknown")};return{restrict:"A",templateUrl:i.config.debug?i.buildFullPath(e):e,replace:!0,require:"ngModel",scope:{defaultTitle:"@",runTitle:"@",doneTitle:"@",errorTitle:"@",unknownTitle:"@"},compile:function(e,i){return n.forEach(t,function(e,t){t+="Title";n.isDefined(i[t])||(i[t]=e)}),function(t,e,i,n){function a(e){return t[o[e]+"Title"]||t.defaultTitle}t.title=a(n.$modelValue||r.default),t.state=n.$modelValue||r.default,n.$validators=function(e,t){return-1!==s.indexOf(e||t)},n.$render=function(){var e=n.$viewValue;t.state=e,t.title=a(e)}}}}}])}),define("cjt/directives/quickFiltersDirective",["angular","lodash","cjt/core","cjt/templates"],function(e,t,i){var e=e.module("cjt2.directives.quickFilters",["cjt2.templates"]),n="libraries/cjt2/directives/",a=i.config.debug?i.buildFullPath(n):n;e.directive("quickFilters",["$timeout",function(e){return{restrict:"E",scope:{id:"@?id",title:"@?title",active:"=active",onFilterChange:"&"},transclude:!0,controller:["$scope",function(i){i.active=i.active||"";var n=[];this.addFilter=function(e){n.push(e),e.value===i.active&&(e.active=!0)},i.$watch("active",function(t,e){t!==e&&(i.active=t,n.forEach(function(e){e.value===t?e.active=!0:e.active=!1}))}),this.selectFilter=function(t){i.active=t,n.forEach(function(e){e.value===t?e.active=!0:e.active=!1}),e(i.onFilterChange.bind(i),10)}}],templateUrl:a+"quickFilters.phtml"}}])}),define("cjt/directives/quickFilterItemDirective",["angular","lodash","cjt/core","cjt/templates"],function(e,t,i){var e=e.module("cjt2.directives.quickFilterItem",["cjt2.templates"]),n="libraries/cjt2/directives/",a=i.config.debug?i.buildFullPath(n):n;e.directive("quickFilterItem",function(){return{restrict:"E",scope:{value:"@",parentID:"@id",linkTitle:"@title"},require:"^quickFilters",replace:!0,transclude:!0,templateUrl:a+"quickFilterItem.phtml",link:function(e,t,i,n){e.quickFilter={value:i.value,active:!1},e.selectFilter=n.selectFilter.bind(n),e.isActive=function(){return e.quickFilter.value===n.getSelected()},n.addFilter(e.quickFilter)}}})}),define("cjt/directives/selectSortDirective",["angular","cjt/core","cjt/util/locale","cjt/templates"],function(r,i,n){var s="asc",o="desc",a=n.maketext("Ascending"),l=n.maketext("Descending");r.module("cjt2.directives.selectSort",["cjt2.templates"]).directive("cpSelectSort",function(){var e=0,t="libraries/cjt2/directives/selectSortDirective.phtml";return{templateUrl:i.config.debug?i.buildFullPath(t):t,restrict:"E",scope:{sortFields:"=",sortMeta:"=",sortAscendingTitle:"@",sortDescendingTitle:"@",onsort:"&",label:"@"},controller:["$scope","$attrs",function(n,t){function i(){return n.fieldMap[n.sortMeta.sortBy].sortReverse?n.sortMeta.sortDirection===s?o:s:n.sortMeta.sortDirection}function a(e){n.sortMeta.sortDirection=n.fieldMap[n.sortMeta.sortBy].sortReverse?e===s?o:s:e,i()}n.getDir=i,n.getTitle=function(){return i()===s?t.sortAscendingTitle:t.sortDescendingTitle},n.sort=function(e,t){var i=n.sortMeta,e=(e?i.sortDirection=i.sortDirection===s?o:s:t||a(s),i.sortType=n.fieldMap[i.sortBy].sortType,n.onsort());r.isFunction(e)&&e(i,t)},n.fieldMap={},n.sortFields.forEach(function(e){n.fieldMap[e.field]=e}),n.idSuffix=t.idSuffix||e++,t.defaultField&&(n.validDefaultProvided=n.sortFields.some(function(e){return e.field===t.defaultField}),n.validDefaultProvided)&&(n.sortMeta.sortBy=t.defaultField),n.sortMeta.sortBy||(n.sortMeta.sortBy=n.sortFields[0].field),t.defaultDir===o||t.defaultDir===s?(a(t.defaultDir),n.validDefaultProvided=!0):n.sortMeta.sortDirection!==o&&n.sortMeta.sortDirection!==s&&a(s)}],compile:function(e,t){return t.sortAscendingTitle||(t.sortAscendingTitle=a),t.sortDescendingTitle||(t.sortDescendingTitle=l),t.label||(t.label=n.maketext("Sort by")),function(e,t,i){e.validDefaultProvided&&e.sort(!1,!0)}}}})}),define("cjt/directives/responsiveSortInsertDirective",["angular","cjt/core","cjt/directives/selectSortDirective","cjt/templates"],function(e,u){e.module("cjt2.directives.responsiveSortInsert",["cjt2.directives.responsiveSort","cjt2.templates"]).directive("cpResponsiveSortInsert",["$http","$compile","$interpolate","$templateCache",function(s,o,l,c){return{restrict:"E",scope:!0,require:"^^cpResponsiveSort",compile:function(){return function(t,i,e,n){function a(e,t){t=l(t)(e.selectSort),t=o(t)(e),i.replaceWith(t)}t.selectSort.attrs.idSuffix=e.idSuffix,t.selectSort.attrs.label=e.label;var r="libraries/cjt2/directives/responsiveSortInsertDirective.phtml",e=c.get(r);e?a(t,e):s.get(u.buildFullPath(r)).success(function(e){a(t,e),c.put(r,e)})}}}}])}),define("cjt/directives/toggleSortDirective",["angular","cjt/core","cjt/util/locale","cjt/templates"],function(a,t,e){var r="asc",s="desc",i=e.maketext("Ascending"),n=e.maketext("Descending");a.module("cjt2.directives.toggleSort",["cjt2.templates"]).directive("toggleSort",function(){var e="libraries/cjt2/directives/toggleSortDirective.phtml";return{templateUrl:t.config.debug?t.buildFullPath(e):e,restrict:"EA",transclude:!0,replace:!0,scope:{sortMeta:"=",sortType:"@",sortField:"@",sortReverse:"@",sortAscendingTitle:"@",sortDescendingTitle:"@",sortReverseDefault:"@",onsort:"&"},compile:function(e,t){return t.sortAscendingTitle||(t.sortAscendingTitle=i),t.sortDescendingTitle||(t.sortDescendingTitle=n),function(i,e,t){function n(){return a.isDefined(i.sortReverse)?i.sortMeta.sortDirection===r?s:r:i.sortMeta.sortDirection}i.getTitle=function(){return n()===r?t.sortAscendingTitle:t.sortDescendingTitle},i.getDir=n,i.sort=function(){var e=i.sortMeta,t=(e.sortBy===i.sortField?e.sortDirection=e.sortDirection===r?s:r:(e.sortBy=i.sortField,t=a.isUndefined(i.sortReverseDefault)?r:s,i.sortMeta.sortDirection=a.isDefined(i.sortReverse)?t===r?s:r:t,n(),e.sortType=i.sortType),i.onsort());a.isFunction(t)&&t(e)}}}}})}),define("cjt/directives/responsiveSortDirective",["angular","cjt/core","cjt/directives/responsiveSortInsertDirective","cjt/directives/toggleSortDirective","cjt/templates"],function(i,e){i.module("cjt2.directives.responsiveSort",["cjt2.templates"]).directive("cpResponsiveSort",function(){return{restrict:"A",scope:!0,controller:function(){},compile:function(e,t){var n={sortFields:[]};return Array.prototype.map.call(e.find("toggle-sort"),function(e){return{onsort:(e=i.element(e)).attr("onsort"),sortType:e.attr("sort-type"),sortReverse:i.isDefined(e.attr("sort-reverse")),sortMeta:e.attr("sort-meta"),sortField:e.attr("sort-field"),sortLabel:e.text().trim()}}).forEach(function(t){if(["sortMeta","onsort"].forEach(function(e){if(t.onsort)if(n[e]){if(t[e]!==n[e])throw new Error("The responsive sort directive cannot handle more than one "+e+" property at a time.")}else{if(!t[e])throw new ReferenceError("Malformed/incomplete toggle-sort directive found in descendant tree. Responsive sort directive cannot proceed.");n[e]=t[e]}}),!t.sortField||!t.sortLabel)throw new ReferenceError("Malformed/incomplete toggle-sort directive found in descendant tree. Responsive sort directive cannot proceed.");n.sortFields.push({label:t.sortLabel,field:t.sortField,sortType:t.sortType,sortReverse:t.sortReverse})}),{pre:function(e,t,i){e.selectSort={parsed:n,attrs:{defaultField:i.defaultField,defaultDir:i.defaultDir}}}}}}})}),define("cjt/directives/searchDirective",["angular","cjt/core","cjt/util/locale","cjt/directives/preventDefaultOnEnter","cjt/directives/autoFocus","cjt/filters/qaSafeIDFilter","cjt/templates"],function(n,e,a){var r=a.maketext("Search"),s=a.maketext("Search"),t="libraries/cjt2/directives/searchDirective.phtml";return n.module("cjt2.directives.search",["cjt2.templates","cjt2.directives.preventDefaultOnEnter","cjt2.directives.autoFocus"]).directive("search",function(){return{restrict:"E",templateUrl:e.config.debug?e.buildFullPath(t):t,require:"ngModel",replace:!0,scope:{parentID:"@id",placeholder:"@?placeholder",autofocus:"@?autofocus",title:"@?title",debounce:"@?debounce"},compile:function(){return{pre:function(e,t,i){n.isUndefined(i.placeholder)&&(i.placeholder=r),n.isUndefined(i.title)&&(i.title=s),n.isUndefined(i.autofocus)?i.autofocus=!1:i.autofocus=!0,n.isUndefined(i.debounce)&&(i.debounce=250),e.autofocus=i.autofocus,e.placeholder=i.placeholder,e.title=i.title,e.debounce=Number(i.debounce),e.ariaLabelSearch=a.maketext("Search"),e.ariaLabelClear=a.maketext("Clear"),e.modelOptions={debounce:e.debounce}},post:function(t,e,i,n){var a=n;a&&(a.$render=function(){t.filterText=a.$viewValue},t.clear=function(e){27===e.keyCode&&(t.filterText="")},t.$watch("filterText",function(){a.$setViewValue(t.filterText)}))}}}}}),{DEFAULT_PLACEHOLDER:r,RELATIVE_PATH:t,DEFAULT_DEBOUNCE:250}}),define("cjt/directives/statsDirective",["angular","cjt/core","cjt/util/locale","cjt/util/parse","cjt/templates"],function(s,i,o,l){s.module("cjt2.directives.statsDirective",["cjt2.templates"]).directive("stats",["$parse",function(e){var t="libraries/cjt2/directives/statsDirective.phtml",r=0;return{templateUrl:i.config.debug?i.buildFullPath(t):t,restrict:"E",replace:!0,require:"?ngModel",scope:{upgradeLink:"@",upgradeLinkTarget:"@",upgradeTooltip:"@",upgradeLinkText:"@",max:"=",showWarningDetails:"&onShowWarningDetails"},link:{pre:function(t,e,i,n){var a;n&&(a=s.isDefined(i.id)&&""!==i.id?i.id:"stats"+r++,t.usedID=s.isDefined(i.usedId)&&""!==i.usedId?i.usedId:(a+"used"||"lbl")+r++,t.availableID=s.isDefined(i.availableId)&&""!==i.availableId?i.availableId:(a+"available"||"lbl")+r++,t.upgradeLinkID=s.isDefined(i.upgradeLinkId)&&""!==i.upgradeLinkId?i.upgradeLinkId:("lnkUpgrade"+a||"upgradeLinkID")+r++,t.showUpgradeLink=!(!s.isDefined(i.showUpgradeLink)||""===i.showUpgradeLink)&&l.parseBoolean(i.showUpgradeLink),t.upgradeLink=s.isDefined(i.upgradeLink)&&""!==i.upgradeLink?i.upgradeLink:"",t.upgradeTooltip=s.isDefined(i.upgradeTooltip)&&""!==i.upgradeTooltip?i.upgradeTooltip:o.maketext("Upgrade"),t.upgradeLinkText=s.isDefined(i.upgradeLinkText)&&""!==i.upgradeLinkText?i.upgradeLinkText:o.maketext("Upgrade"),t.usedTitle=o.maketext("Used"),t.availableTitle=o.maketext("Available"),t.viewDetailsText=o.maketext("Details"),t.detailsTooltip=o.maketext("View Warning Details"),t.max=s.isDefined(t.max)?t.max:-1,t.$watch(function(){return n.$modelValue},function(e){t.usedValue=s.isDefined(e)&&""!==e?o.numf(e):0,-1<t.max?(t.availableValue=o.numf(t.max-e),t.showWarning=t.max-e==0):(t.availableValue="∞",t.showWarning=!1)}))}}}}])}),define("cjt/util/uaDetect",[],function(){var e={isMacintosh:function(){return 0===e.__window.navigator.platform.indexOf("Mac")},__window:window};return e}),define("cjt/io/websocket",["cjt/core"],function(t){var i={SUCCESS:1e3,ENDPOINT_UNAVAILABLE:1001,PROTOCOL_ERROR:1002,INVALID_DATA_TYPE:1003,EMPTY:1005,ABORTED:1006,INVALID_PAYLOAD:1007,POLICY_VIOLATION:1008,MESSAGE_TOO_BIG:1009,UNSUPPORTED_EXTENSIONS:1010,INTERNAL_ERROR:1011,SERVICE_RESTART:1012,TRY_AGAIN_LATER:1013,BAD_GATEWAY:1014},n={MODULE_NAME:"cjt/io/websocket",MODULE_DESC:"WebSocket tools for cPanel UIs",MODULE_VERSION:"1.0",STATUS:i,getUrlBase:function(){var e=n.__window.location.protocol;if(/^https?:$/.test(e))return(e=e.replace(/^http/,"ws"))+"//"+n.__window.location.host+t.securityToken;throw new Error("Unknown “location.protocol”: [_]".replace(/_/,e))},getErrorString:function(e){var t=this._getStatusName(e.code),i=e.reason,t=t||e.code;return i&&(t+=": "+i),t},__window:window,_getStatusName:function(e){for(var t in i)if(i[t]===e)return t}};return n}),define("cjt/io/appstream",[],function(){return{MODULE_NAME:"cjt/io/appstream",MODULE_DESC:"JavaScript implementation of the “AppStream” protocol, (cf. Cpanel::Server::WebSocket::AppStream)",MODULE_VERSION:"1.0",encodeDataPayload:function(e){return e=0===e.indexOf(".")?"."+e:e},encodeControlPayload:function(e){if(0===e.indexOf("."))throw new Error("control payload can’t start with “.”: "+e);return"."+e}}}),!function(e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define("xterm/addons/fit/fit",[],e):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).fit=e()}(function(){return function n(a,r,s){function o(i,e){if(!r[i]){if(!a[i]){var t="function"==typeof require&&require;if(!e&&t)return t(i,!0);if(l)return l(i,!0);e=new Error("Cannot find module '"+i+"'");throw e.code="MODULE_NOT_FOUND",e}t=r[i]={exports:{}};a[i][0].call(t.exports,function(e){var t=a[i][1][e];return o(t||e)},t,t.exports,n,a,r,s)}return r[i].exports}for(var l="function"==typeof require&&require,e=0;e<s.length;e++)o(s[e]);return o}({1:[function(e,t,i){function n(e){var t,i,n;return e.element.parentElement?(n=window.getComputedStyle(e.element.parentElement),i=parseInt(n.getPropertyValue("height")),n=Math.max(0,parseInt(n.getPropertyValue("width"))),t=window.getComputedStyle(e.element),i=i-(parseInt(t.getPropertyValue("padding-top"))+parseInt(t.getPropertyValue("padding-bottom"))),n=n-(parseInt(t.getPropertyValue("padding-right"))+parseInt(t.getPropertyValue("padding-left")))-e.viewport.scrollBarWidth,{cols:Math.floor(n/e.renderer.dimensions.actualCellWidth),rows:Math.floor(i/e.renderer.dimensions.actualCellHeight)}):null}function a(e){var t=n(e);!t||e.rows===t.rows&&e.cols===t.cols||(e.renderer.clear(),e.resize(t.cols,t.rows))}Object.defineProperty(i,"__esModule",{value:!0}),i.proposeGeometry=n,i.fit=a,i.apply=function(e){e.prototype.proposeGeometry=function(){return n(this)},e.prototype.fit=function(){a(this)}}},{}]},{},[1])(1)}),define("cjt/services/onBeforeUnload",["angular"],function(e){var e=e.module("cjt2.services.onBeforeUnload",[]),t=!1;function i(){return t}function n(){t=!0}window.addEventListener("beforeunload",n),e.factory("onBeforeUnload",function(){return{_onBeforeUnload:n,windowIsUnloading:i}})}),define("cjt/directives/terminal",["lodash","angular","cjt/core","cjt/util/locale","cjt/util/uaDetect","cjt/util/query","cjt/io/websocket","cjt/io/appstream","xterm","xterm/addons/fit/fit","cjt/modules","cjt/services/alertService","cjt/directives/alert","cjt/directives/alertList","cjt/services/onBeforeUnload","uiBootstrap"],function(g,e,m,v,_,b,w,y,j,t){j.applyAddon(t);var t=e.module("cjt2.directives.terminal",[]),i="libraries/cjt2/directives/terminal.phtml";function x(e,t){var i=t.rows;e.send(y.encodeControlPayload("resize:"+i+","+t.cols))}var k=w.getUrlBase()+"/websocket/Shell";t.directive("cpTerminal",["alertService","$log","onBeforeUnload",function(n,a,p){function f(e){n.add({type:"danger",message:e,closeable:!0,autoClose:!1,replace:!1,group:"myalerts"})}return{restrict:"E",replace:!0,templateUrl:m.config.debug?m.buildFullPath(i):i,controller:["$scope","$element",function(r,s){var o,t,l=new j({macOptionIsMeta:_.isMacintosh(),cols:r._DEFAULT_COLS,rows:r._DEFAULT_ROWS});function e(){l.fit();var e=r._ws;e&&(e.readyState===WebSocket.OPEN?x(e,l):t=!0)}function c(e){a.error(e.toString())}function u(e){r.opening=!1,r.$apply(),t&&(x(e.target,l),t=!1)}function d(e){e.target.removeEventListener("message",d),r.loading=!1,r.$apply(),l.textarea.disabled=!1,l.textarea.focus()}function h(t){if(r._ws=null,!p.windowIsUnloading()&&t.code!==w.STATUS.SUCCESS){var e,i,n;if(r.opening&&t.code===w.STATUS.ABORTED)e=v.maketext("The [asis,WebSocket] handshake failed at [local_datetime,_1,time_format_medium].",new Date);else{try{(i=JSON.parse(t.reason)).got_signal?(n="SIG"+i.result,i.dumped_core&&(n+=", +core")):r.exitCode=i.result}catch(e){t.reason&&a.warn("JSON parse: "+e),n=w.getErrorString(t)}n&&(e=v.maketext("The connection to the server ended in failure at [local_datetime,_1,time_format_medium]. ([_2])",new Date,n))}e&&f(e)}r.closed=!0,r.opening=!1,r.loading=!1,r.$apply(),l.textarea&&(l.textarea.disabled=!0)}function i(){if(r._ws)throw new Error("WebSocket already open!");if(r.exitCode=null,!o){var e=s.find(".terminal-xterm").get(0);if(!e)throw new Error("_connect() with no parent node!");l.open(e,!0),l.textarea.disabled=!0,l.fit(),o=!0}var t,i,n,e=b.make_query_string({rows:l.rows,cols:l.cols}),a=r._WebSocket,a=(r._ws=new a(k+"?"+e),r.opening=!0,r.loading=!0,r.closed=!1,r._ws);a.addEventListener("error",c),a.addEventListener("open",u),a.addEventListener("message",d),e=a,t=l,i=[],(n=new FileReader).onload=function(e){t.write(e.target.result),i.length&&e.target.readAsText(i.shift())},n.onerror=function(e){f("UTF-8 decode error: "+e.target.error.toString())},r._wsOnMessage=function(e){n.readyState===FileReader.LOADING?i.push(e.data):n.readAsText(e.data)},e.addEventListener("message",r._wsOnMessage),a.addEventListener("close",h)}l.on("data",function(e){r._ws.send(y.encodeDataPayload(e))}),window.addEventListener("resize",e),m.isWhm()&&(window.addEventListener("toggle-navigation",e),window.addEventListener("toggle-navigation",e)),l.on("title",function(e){r.title=e||" ",r.$apply()}),g.assign(r,{title:" ",connect:i,opening:!0,loading:!0,closed:!1,exitCode:null,openingString:v.maketext("Opening a connection …"),waitingString:v.maketext("Waiting for the terminal …"),reconnectString:v.maketext("Reconnect"),exitCodeString:v.maketext("Exit Code"),_alertService:n,_DEFAULT_COLS:80,_DEFAULT_ROWS:24,_window:window,_WebSocket:r._WebSocket||window.WebSocket,_ws:null,_wsOnError:c,_wsOnOpen:u,_wsOnFirstMessage:d,_wsOnMessage:null,_wsOnClose:h}),i()}]}}])}),define("cjt/directives/timePicker",["angular","cjt/util/locale","cjt/core"],function(r,e,t){function i(t,e,i,n){t.options=r.extend({min:0},t.options);var a=t.$watch(function(){return n.$modelValue},function(e){n.$setViewValue(e),t.selectedTime=e});t.hStep=1,t.mStep=15,t.showMeridian=!1,t.onChange=function(e){n.$setViewValue(e)},t.$on("$destroy",a)}function n(){return{templateUrl:s,restrict:"EA",require:"ngModel",scope:{parentID:"@id",options:"="},transclude:!0,link:i}}var a="libraries/cjt2/directives/",s=(t.config.debug?t.buildFullPath(a):a)+"timePicker.phtml",t="cjt2.directives.timePicker",a=r.module(t,[]);return a.directive("timePicker",n),{directiveFactory:n,linkController:i,namespace:t,template:s}}),define("cjt/directives/toggleLabelInfoDirective",["angular","cjt/core","cjt/util/locale","cjt/util/parse","cjt/templates"],function(r,t,s,o){r.module("cjt2.directives.toggleLabelInfo",["cjt2.templates"]).directive("toggleLabelInfo",function(){var e="libraries/cjt2/directives/toggleLabelInfoDirective.phtml",a=0;return{templateUrl:t.config.debug?t.buildFullPath(e):e,restrict:"E",replace:!0,transclude:!0,scope:{for:"@",labelText:"@",onToggle:"&"},link:{pre:function(e,t,i){var n=r.isDefined(i.id)&&""!==i.id?i.id:"toggleLabelInfo"+a++;e.labelID=r.isDefined(i.labelId)&&""!==i.labelId?i.labelId:("lbl"+n||"lbl")+a++,e.infoIconID=r.isDefined(i.infoIconId)&&""!==i.infoIconId?i.infoIconId:(n+"infoIcon"||"infoIcon")+a++,e.infoBlockID=r.isDefined(i.infoBlockId)&&""!==i.infoBlockId?i.infoBlockId:(n+"infoText"||"infoText")+a++,e.showInfoBlock=!(!r.isDefined(i.showInfoBlock)||""===i.showInfoBlock)&&o.parseBoolean(i.showInfoBlock),e.toggleActionTitle=e.showInfoBlock?s.maketext("Collapse"):s.maketext("Expand")},post:function(i,e,t){i.toggleInfoBlock=function(){i.showInfoBlock=!i.showInfoBlock,i.toggleActionTitle=i.showInfoBlock?s.maketext("Collapse"):s.maketext("Expand"),r.isDefined(t.onToggle)&&i.onToggle({show:i.showInfoBlock})},t.$observe("includeLabelSuffix",function(e){i.includeLabelSuffix="includeLabelSuffix"in t}),t.$observe("showInfoBlock",function(e){i.showInfoBlock=!(!r.isDefined(t.showInfoBlock)||""===t.showInfoBlock)&&o.parseBoolean(t.showInfoBlock)}),i.$on("showHideAllChange",function(e,t){i.showInfoBlock=t})}}}})}),define("cjt/directives/toggleSwitchDirective",["angular","lodash","cjt/core","cjt/util/test","uiBootstrap","cjt/directives/spinnerDirective","cjt/templates"],function(e,r,t,s){e.module("cjt2.directives.toggleSwitch",["cjt2.templates","cjt2.directives.spinner"]).directive("toggleSwitch",["spinnerAPI",function(a){var e="libraries/cjt2/directives/toggleSwitch.phtml";return{restrict:"E",templateUrl:t.config.debug?t.buildFullPath(e):e,require:"ngModel",replace:!0,scope:{parentID:"@id",enabledLabel:"@",disabledLabel:"@",labelPosition:"@",spinnerPosition:"@",ariaLabel:"@",isDisabled:"=ngDisabled",ngModel:"=",onToggle:"&"},link:function(t,e,i){if(t.noSpinner="true"===i.noSpinner||"1"===i.noSpinner,t.spinnerId=t.parentID+"_toggle_spinner",t.labelPosition){if(!r.includes(["left","right","none"],t.labelPosition))throw"Invalid label-position set: "+t.labelPosition+". Must be one of: left, right, none."}else t.labelPosition="right";if(t.spinnerPosition){if(!r.includes(["left","right"],t.spinnerPosition))throw"Invalid label-position set: "+t.spinnerPosition+". Must be one of: left or right."}else t.spinnerPosition="right";t.noLabel=!t.enabledLabel&&!t.disabledLabel||"none"===t.labelPosition,t.handle_keydown=function(e){32===e.keyCode&&e.preventDefault()},t.handle_keyup=function(e){32!==e.keyCode&&13!==e.keyCode||(e.preventDefault(),t.toggle_status()),37===e.keyCode&&(e.preventDefault(),t.ngModel)&&t.toggle_status(),39===e.keyCode&&(e.preventDefault(),t.ngModel||t.toggle_status())},t.get_aria_value=function(){return t.ngModel?"true":"false"};function n(){t.noSpinner||a.stop(t.spinnerId,!1)}t.toggle_status=function(){var e;t.changing_status||t.isDisabled||(t.changing_status=!0,t.noSpinner||a.start(t.spinnerId,!1),e=t.onToggle(),s.isQPromise(e)?e.finally(function(){t.changing_status=!1,n()}):(t.changing_status=!1,n()))}}}}])}),define("cjt/directives/triStateCheckbox",["angular","cjt/core","cjt/templates"],function(e,t){e.module("cjt2.directives.triStateCheckbox",["cjt2.templates"]).directive("triStateCheckbox",function(){var e="libraries/cjt2/directives/triStateCheckbox.phtml";return{replace:!0,restrict:"E",scope:{checkboxes:"=",ngChange:"&",useInt:"@"},templateUrl:t.config.debug?t.buildFullPath(e):e,controller:["$scope","$element",function(a,r){a.toggled=!1,a.masterChange=function(){if(void 0!==a.checkboxes){for(var e=!0===a.master?!a.useInt||1:!!a.useInt&&0,t=0,i=a.checkboxes.length;t<i;t++)a.checkboxes[t].selected=e;a.toggled=!0,a.ngChange&&a.ngChange()}},a.$watch("checkboxes",function(){if(void 0!==a.checkboxes)if(a.toggled)a.toggled=!1;else{for(var e=!1,t=!0,i=0,n=a.checkboxes.length;i<n;i++)a.checkboxes[i].selected?e=!0:t=!1;t?(a.master=!0,r.prop("indeterminate",!1)):(a.master=!1,r.prop("indeterminate",e))}},!0)}]}})}),define("cjt/directives/validateEqualsDirective",["angular"],function(e){e.module("cjt2.directives.validateEquals",[]).directive("validateEquals",function(){return{require:"ngModel",link:function(e,t,i,a){var n;function r(){return n=n||e.$eval(i.validateEquals)}a.$validators.validateEquals=function(e){var t,i,n=r();return!n||(t=a.$isEmpty(e),i=n.$isEmpty(n.$viewValue),t&&i?!n.$validators.required:n.$pending||n.$invalid?e===n.$viewValue:e===n.$modelValue)},e.$watchGroup([function(){var e=r();return e&&e.$viewValue},function(){var e=r();return e&&e.$modelValue}],function(){a.$validate()})}}})}),define("cjt/directives/validationItemDirective",["angular","cjt/core","cjt/templates"],function(h,t){h.module("cjt2.directives.validationItem",["cjt2.templates"]).directive("validationItem",[function(){var u=0,e="libraries/cjt2/directives/validationItem.phtml";function d(e,t,i){var n=i.field;if(!n){if(void 0===e)return null;(n=e[t])&&(i.field=n,i.errors=n.$error,i.extendedErrors=n.$error_details)}return n}return{restrict:"EA",templateUrl:t.config.debug?t.buildFullPath(e):e,transclude:!0,replace:!0,scope:!0,link:function(i,e,t){var n,a=i.$eval(t.prefix)||t.prefix||"validator",r=i.$eval(t.prefixClass)||t.prefixClass||"",s=i.$eval(t.showWhenPristine)||!1,o=e.controller("form"),l=!h.isDefined(t.noIcon),c=(t.fieldName&&(n=i.$eval(t.fieldName)||t.fieldName,d(o,n,i)),t.validationName||"");i.showIcon=function(){return l},i.prefixClass=r,i.canShow=function(e,t){return e=e||d(o,n,i),t=t||c,!(e&&(s||!e.$pristine||o.$submitted)&&e.$invalid&&t)||e.$error[t]},i.print=function(e,t){if(e=e||d(o,n,i),t=t||c,e&&t&&e.$error[t]&&e.$error_details){e=e.$error_details.get(t);if(e&&e.hasMessages()&&e.hasMessage(t)){e=e.get(t);if(e)return e.message}}},i.id=a+u++}}}])}),define("cjt/filters/breakFilter",["angular","ngSanitize"],function(s){s.module("cjt2.filters.break",["ngSanitize"]).filter("break",["$sceDelegate","$sce",function(a,r){return function(e,t,i){if("string"!=typeof e&&(n=e,e=s.isObject(n)&&n.valueOf!==Object.prototype.valueOf&&s.isFunction(n.valueOf)?n.valueOf():void 0),!e)return"";t=t||"\n",i=void 0!==i&&i;var n=new RegExp(t,"g"),t=e.split(n);return e=i?t.join("<br>"):"<div>"+t.join("</div><div>")+"</div>",a.trustAs(r.HTML,e)}}])}),define("cjt/util/html",["jquery"],function(t){return{encode:function(e){return t("<div/>").text(e).html()},decode:function(e){return t("<div/>").html(e).text()}}}),define("cjt/filters/htmlFilter",["angular","cjt/util/html","ngSanitize"],function(i,n){i.module("cjt2.filters.encodeHtml",["ngSanitize"]).filter("encodeHtml",[function(){return function(e){var t;return"string"!=typeof e&&(t=e,e=i.isObject(t)&&t.valueOf!==Object.prototype.valueOf&&i.isFunction(t.valueOf)?t.valueOf():void 0),e?n.encode(e):""}}])}),define("cjt/filters/jsonFilter",["angular"],function(n){n.module("cjt2.filters.json",[]).filter("json",[function(){return function(e,t,i){n.isUndefined(t)&&(t=" "),n.isUndefined(i)&&(i=null);try{return JSON.stringify(e,i,t)}catch(e){return e}}}])}),define("cjt/filters/nospaceFilter",["angular"],function(e){e.module("cjt2.filters.nospace",[]).filter("nospace",function(){return function(e){return e?e.replace(/ /g,""):""}})}),define("cjt/filters/notApplicableFilter",["angular","cjt/util/locale"],function(e,t){var n=t.maketext("Not Applicable"),a=t.maketext("N/A");return e.module("cjt2.filters.na",[]).filter("na",[function(){return function(e,t,i){return e||0===e?e:t?n:a}}]),{FULL_NOT_APPLICABLE:n,ABBR_NOT_APPLICABLE:a}}),define("cjt/filters/replaceFilter",["angular"],function(e){e.module("cjt2.filters.replace",[]).filter("replace",function(){return function(e,t,i){if(!e)return e;t=t||"",i=i||"";t=new RegExp(t,"g");return e.replace(t,i)}})}),define("cjt/filters/splitFilter",["angular"],function(e){e.module("cjt2.filters.split",[]).filter("split",function(){return function(e,t){if(!e)return[];t=t||"\n";t=new RegExp(t,"g");return e.split(t)}})}),define("cjt/filters/startFromFilter",["angular"],function(e){e.module("cjt2.filters.startFrom",[]).filter("startFrom",function(){return function(e,t){return t=Number(t),isNaN(t)&&(t=0),e.slice(t)}})}),define("cjt/util/string",["lodash","punycode"],function(a,r){var t=new TextEncoder;return{MODULE_NAME:"cjt/util/string",MODULE_DESC:"Contains string helper functions.",MODULE_VERSION:2,lpad:function(e,t,i){for(var n=t-e.length,a="",r=(i=0===i?"0":i||" ").length;0<n;)a+=i,n-=r;return a+e},reverse:function(e){e=r.ucs2.decode(e);return r.ucs2.encode(e.reverse())},getUTF8ByteCount:function(e){return t.encode(e).length},getNonASCII:function(e){for(var t=[],i=r.ucs2.decode(e),n=0;n<i.length;n++)127<i[n]&&t.push(r.ucs2.encode([i[n]]));return a.uniq(t)}}}),define("cjt/filters/timezoneFilter",["angular","cjt/util/string"],function(e,a){e.module("cjt2.filters.timezone",[]).filter("timezone",[function(){return function(e,t,i){var n;return i=i||":",!(t=void 0!==t&&t)||e&&"0"!==e?(t=Math.floor(e/60),e=Math.abs(e%60),n=a.lpad(Math.abs(t).toString(),2,"0"),(n=0<t?"+"+n:"-"+n)+i+a.lpad(e.toString(),2,"0")):"Z"}}])}),define("cjt/filters/wrapFilter",["angular","ngSanitize"],function(u){u.module("cjt2.filters.wrap",["ngSanitize"]).filter("wrap",["$sceDelegate","$sce",function(r,s){var o='<wbr><span class="wbr"></span>',l=new RegExp(o+"$"),c={};return function(e,t,i){var n,a;return"string"!=typeof e&&(n=e,e=u.isObject(n)&&n.valueOf!==Object.prototype.valueOf&&u.isFunction(n.valueOf)?n.valueOf():void 0),e?(n=(t=t||"[.]")+(i=parseInt(i,10)||0),(a=c[n])||(a=void 0!==i&&!isNaN(parseFloat(i))&&1<i?new RegExp("((?:\\w{1,"+(i-1)+"})\\w|"+t+")","g"):new RegExp("("+t+")","g"),c[n]=a),e=e.replace(a,"$1"+o),i&&(e=e.replace(l,"")),r.trustAs(s.HTML,e)):""}}])}),define("cjt/filters/rangeFilter",["angular"],function(e){e.module("cjt2.filters.range",[]).filter("range",function(){return function(e,t,i,n,a){a=a||1;var r=i||t;e=[];for(var s=i?t:0;s<=r;s+=a)e.push(s);return e=n?e.reverse():e}})}),define("cjt/services/APICatcher",["angular","lodash","cjt/util/locale","cjt/services/onBeforeUnload","cjt/services/APIService","cjt/services/APIFailures"],function(e,d,h){e.module("cjt2.services.apicatcher",["cjt2.services.api","cjt2.services.apifailures","cjt2.services.onBeforeUnload"]).factory("APICatcher",["APIService","APIFailures","onBeforeUnload","$q","$log",function(e,r,n,a,s){var o;function t(){return e.apply(this,arguments)}t.prototype=Object.create(e.prototype);var l=e.prototype.presetDefaultHandlers.fail,i=d.assign({},e.prototype.presetDefaultHandlers),c=(i.fail=function(t,i){var e=a.defer();e.promise.then(function(e){throw"Improper APICatcher success: "+e},function(e){n.windowIsUnloading()&&0===t.status&&(o=e),i.reject(e)}),l.call(this,t,e)},d.assign(t.prototype,{presetDefaultHandlers:i}),t.promise=function(){return e.promise.apply(this,arguments)},6);function u(e){var t,i,n,a=[];return"object"!=typeof e?e!==o&&a.push({type:"danger",content:e}):(e.error&&function t(e,i){return i=i||[],e.is_batch?e.data.forEach(function(e){t(e,i)}):e.error&&i.push(e.error),i}(e).forEach(function(e){a.push({type:"danger",content:e})}),e.warnings&&e.warnings.length&&a.push.apply(a,e.warnings.map(function(e){return{type:"warning",content:e}}))),a.length&&(t=a.slice(0,c),(i=a.slice(c)).length&&(n={warning:"warn",danger:"error"},i.forEach(function(e){s[n[e.type]](e.content)}),t.push({type:"warning",content:"<em>"+h.maketext("The system suppressed [quant,_1,additional message,additional messages]. Check your browser console for the suppressed [numerate,_1,message,messages].",i.length)+"</em>"})),e.messagesAreHtml||t.forEach(function(e){e.content=d.escape(e.content)}),r.emit(t)),e}return{promise:function(e){return(e=t.promise(e)).then(u,u),e}}}])}),define("cjt/services/autoTopService",["angular","jquery"],function(e,t){e.module("cjt2.services.autoTop",[]).factory("autoTopService",["$rootScope","$location","$anchorScroll",function(e,n,a){var t;return{initialize:function(){t=e.$on("$routeChangeStart",function(e,t,i){i&&(n.hash("top").replace(),a())})},stop:function(){t&&t()}}}])}),define("cjt/services/dataCacheService",["angular"],function(e){e.module("cjt2.services.dataCache",[]).factory("dataCache",function(){var i={};return{set:function(e,t){i[e]=t},get:function(e){return i[e]},remove:function(e){return delete i[e]},clear:function(){i={}},cache:function(){return i}}})}),define("cjt/services/viewNavigationApi",["angular","cjt/services/alertService"],function(o){o.module("cjt2.services.viewNavigationApi",["cjt2.services.alert"]).factory("viewNavigationApi",["$location","alertService",function(r,s){return{loadView:function(e,t,i){var n=r.search().debug,a=r.search().cache_bust;return i=i||{},r.path(e),r.search({}),o.forEach(t,function(e,t){r.search(t,e)}),o.isDefined(n)&&r.search("debug",n),o.isDefined(a)&&r.search("cache_bust",a),i.clearAlerts&&s.clear(),i.replaceState&&r.replace(),r}}}])}),define("cjt/validator/validateDirectiveFactory",["lodash","angular","cjt/validator/validator-utils"],function(s,e,u){function t(e,t){for(var i=s.keys(e),n=0,a=i.length;n<a;n++){var r=i[n];o(r,e,t)}}var i=e.module("cjt2.validate",[]),d=(i.config(["$compileProvider",function(e){i.compileProvider=e}]),function(e,t,i,n,a,r,s){return!!t.$isEmpty(a)||(n=n(a,r,s),u.updateExtendedReporting(n.isValid,t,i,e,n),n.isValid)}),h=function(e,t,i,n,a,r,s,o){var l=e.defer();return i.$isEmpty(r)||a(r,s,o).then(function(e){u.updateExtendedReporting(e.isValid,i,n,t,e),i.$setValidity(t,e.isValid),e.isValid?l.resolve():l.reject()},function(e){l.reject(e)}),l.promise},o=function(e,l,c){i.compileProvider.directive(e,function(){var o=e;return{require:"ngModel",link:function(n,e,a,r){var s=e.controller("form");u.initializeExtendedReporting(r,s),r.$validators[o]=function(e){var t=a[o],i=l[o];return i.async?h(c,o,r,s,i,e,t,n):d(o,r,s,i,e,t,n)},n.$watch(function(){return a[o]},function(e){r.$validate()})}}})};return i.factory("validatorFactory",function(){return{generate:t}}),{run:d,runAsync:h}}),define("cjt/views/applicationController",["angular","cjt/core","cjt/util/locale","cjt/util/httpStatus","ngRoute","cjt/services/alertService","cjt/services/viewNavigationApi"],function(o,l,c,u){o.module("cjt2.views.applicationController",["ngRoute","cjt2.services.alert","cjt2.services.viewNavigationApi"]).controller("applicationController",["$scope","$location","$anchorScroll","$route","$rootScope","alertService","viewNavigationApi",function(e,n,a,t,i,r,s){o.module("ngRoute")&&i.$on("$routeChangeError",function(e,t,i,n){var a;n&&200!==n.status?(a=c.maketext("The system failed to change the route with the following error: [_1] - [_2]",n.status,u.convertHttpStatusToReadable(n.status)),401!==n.status&&403!==n.status||(a+=" "+c.maketext("Your session may have expired or you logged out of the system. [output,url,_1,Log in] again to continue.",l.getLoginPath())),r.add({message:a,type:"danger"})):r.add({message:c.maketext("The system failed to change the route, but there is no information about the error."),type:"danger"})}),e.getCurrentRoute=function(){return t.current},e.loadView=s.loadView,e.scrollTo=function(e,t){var i;t&&(i=n.hash()),n.hash(e),a(),t&&n.hash(i)},e.viewDoneLoading=!1,e.hideViewLoadingPanel=function(){e.viewDoneLoading=!0},e.showViewLoadingPanel=function(){e.viewDoneLoading=!1},e.translatable=function(e){return e}}])}),define("cjt/services/popupService",["angular","lodash"],function(p,f){var e=p.module("cjt2.services.popupService",[]);e.value("popupServiceDefaults",{top:0,left:0,width:400,height:300,autoCenter:!0,name:"_blank"}),e.service("popupService",["$window","popupServiceDefaults",function(l,c){var u={top:!0,left:!0,width:!0,height:!0},d={scrollbar:!0,menubar:!0,toolbar:!0,location:!0,status:!0},h={autoCenter:!0,newTab:!0,name:!0};return{openPopupWindow:function(e,t,i){i=i||{},t=t||c.name,f.each(u,function(e,t){p.isUndefined(i[t])&&p.isUndefined(c[t])||(i[t]=i[t]||c[t])}),f.each(d,function(e,t){p.isUndefined(i[t])&&p.isUndefined(c[t])||(i[t]=i[t]||c[t])}),!i.newTab&&i.autoCenter&&(r=p.isUndefined(l.screen.availTop)?l.screenTop:l.screen.availTop,n=p.isUndefined(l.screen.availLeft)?l.screenLeft:l.screen.availLeft,o=p.isUndefined(l.screen.availHeight)?l.screen.height:l.screen.availHeight,a=p.isUndefined(l.screen.availWidth)?l.screen.width:l.screen.availWidth,i.top=r+o/2-i.height/2,i.left=n+a/2-i.width/2),i.newTab&&(delete i.top,delete i.left,delete i.width,delete i.height),r=i,s=[],f.each(r,function(e,t){if(u[t]&&!p.isUndefined(e)&&p.isNumber(e))s.push(t+"="+e);else if(d[t]&&!p.isUndefined(e))s.push(t+"="+(e?"yes":"no"));else if(!h[t])throw"Unsupported property: "+t});var n,a,r,s,o=s.join(",");return l.open(e,t,o)},defaults:c}}])}),define("cjt/services/windowMonitorService",["angular","lodash"],function(c,u){var e=c.module("cjt2.services.windowMonitor",[]);e.constant("windowMonitorServiceConfig",{monitorInterval:250}),e.factory("windowMonitorService",["$q","$interval","windowMonitorServiceConfig",function(e,a,r){var s=0,o={};function n(e){e&&(a.cancel(e.promise),delete o[e.id])}var l={start:function(e,t,i){var n=s++,i=i||r.monitorInterval;if(e&&c.isFunction(t))return i=a(function(){e.closed&&(t("closed",e),l.stop(e,!0))},i),o[n]={id:n,handle:e,promise:i,callback:t},e;throw new ReferenceError("Both an window and a callback function are required.")},stop:function(t,e){if(!t)throw new ReferenceError("The stop method requires an window handle argument.");var i;(i=c.isDefined(t.closed)?u.find(o,function(e){return t===e.handle}):i)&&(e||i.callback("canceled",i.handle),n(i))},isMonitoring:function(){return o&&0<Object.keys(o).length},stopAll:function(){c.forEach(o,function(e){n(e)})}};return l}])}),define("cjt/services/pageIdentifierService",["angular","cjt/core","cjt/util/locale"],function(e,t,i){e.module("cjt2.services.pageIdentiferService",[]).factory("pageIdentifierService",["$document",function(e){return{_pageIdentifier:null,_getDocument:function(){return e},_getDocumentId:function(){return this._getDocument().find("body").attr("id")},_buildPageIdentifier:function(){if(!this._pageIdentifier){if(!t.applicationName)throw new Error(i.maketext("The system could not generate a page identifier with the [asis,pageIdentiferService]. It also could not determine the “[asis,(cjt/core).applicationName]” for the running application."));var e=this._getDocumentId();if(!e)throw new Error(i.maketext("The system could not generate a page identifier with the [asis,pageIdentiferService]. You must specify the [asis,body.id]."));t.applicationName&&e&&(this._pageIdentifier="CSSS_"+t.applicationName+"_"+e)}return this._pageIdentifier},getPageIdentifier:function(){return this._pageIdentifier||this._buildPageIdentifier()}}}])}),define("cjt/models/searchSettingsModel",["angular","cjt/util/locale"],function(r,a){r.module("cjt2.directives.searchSettingsModel",[]).factory("SearchSettingsModel",["$filter",function(t){function e(e,i){var n=this;n.settings=null,n.settings_values=null,i=i||{},n._initate_values=function(){if(n.settings)return!0;n.settings={},n.settings_values={},r.forEach(e,function(e,t){n.settings[t]=e,n.settings_values[t]={},r.forEach(e.options,function(e){i[t]&&!r.isUndefined(i[t][e.value])?n.settings_values[t][e.value]=i[t][e.value]:n.settings_values[t][e.value]=!0})})}}return r.extend(e.prototype,{get_settings:function(){return this._initate_values(),this.settings},get_values:function(){return this._initate_values(),this.settings_values},get_filtered_values:function(t){var e=this.settings[t],i=[],n=this.get_values();return n?(e&&r.forEach(e.options,function(e){n[t][e.value]&&i.push(e.value)}),i):[]},get_filtered_labels:function(t){var e=this.settings[t],i=[],n=this.get_values();return!n||e&&(r.forEach(e.options,function(e){n[t][e.value]&&i.push(e.label)}),i.length===e.options.length)?[]:i.length?i:[a.maketext("None")]},set_search_filter_values:function(i,n){var a=this;r.forEach(a.settings_values[i],function(e,t){a.settings_values[i][t]=n})},show_only:function(e,t){this.set_search_filter_values(e,!1),this.settings_values[e]&&(this.settings_values[e][t]=!0)},filter:function(e){var n={},a=this;return r.forEach(a.settings,function(e,t){var i=[];r.forEach(e.options,function(e){a.settings_values[t][e.value]&&i.push(e.value)}),i.length!==e.options.length&&(n[t]={},r.forEach(i,function(e){n[t][e]=1}))}),t("filter")(e,function(e){for(var t in n)if(n.hasOwnProperty(t)){var i=e[a.settings[t].item_key];if(!a.settings_values[t][i])return!1}return!0})}}),e}])}),define("cjt/modules",[PAGE.CJT2_MODULES_DEPENDENCY_PATH,"cjt/util/module","cjt/bootstrap","cjt/decorators/$httpDecorator","cjt/decorators/alertAPIReporter","cjt/decorators/angularChosenDecorator","cjt/decorators/dynamicName","cjt/decorators/growlAPIReporter","cjt/decorators/growlDecorator","cjt/decorators/paginationDecorator","cjt/decorators/uibTypeaheadDecorator","cjt/diag/routeDirective","cjt/directives/actionButtonDirective","cjt/directives/alert","cjt/directives/alertList","cjt/directives/autoFocus","cjt/directives/boolToInt","cjt/directives/breadcrumbs","cjt/directives/bytesInput","cjt/directives/callout","cjt/directives/checkStrength","cjt/directives/copyField","cjt/directives/datePicker","cjt/directives/deepTriStateCheckbox","cjt/directives/disableAnimations","cjt/directives/displayPasswordStrength","cjt/directives/dynamicValidatorDirective","cjt/directives/focusFirstErrorDirective","cjt/directives/focusInput","cjt/directives/formWaiting","cjt/directives/includeExclude","cjt/directives/jsonFieldDirective","cjt/directives/labelSuffixDirective","cjt/directives/lastItem","cjt/directives/limitRange","cjt/directives/loadingPanel","cjt/directives/multiFieldEditor","cjt/directives/multiFieldEditorItem","cjt/directives/indeterminateState","cjt/directives/ngDebounceDirective","cjt/directives/onKeyupDirective","cjt/directives/pageSizeDirective","cjt/directives/pageSizeButtonDirective","cjt/directives/passwordFieldDirective","cjt/directives/preventDefaultOnEnter","cjt/directives/preventNavigationOnBackspaceDirective","cjt/directives/processingIconDirective","cjt/directives/quickFiltersDirective","cjt/directives/quickFilterItemDirective","cjt/directives/responsiveSortDirective","cjt/directives/responsiveSortInsertDirective","cjt/directives/searchDirective","cjt/directives/selectSortDirective","cjt/directives/spinnerDirective","cjt/directives/statsDirective","cjt/directives/terminal","cjt/directives/timePicker","cjt/directives/toggleLabelInfoDirective","cjt/directives/toggleSortDirective","cjt/directives/toggleSwitchDirective","cjt/directives/triStateCheckbox","cjt/directives/updatePasswordStrengthDirective","cjt/directives/validateEqualsDirective","cjt/directives/validateMinimumPasswordStrength","cjt/directives/validationContainerDirective","cjt/directives/validationItemDirective","cjt/filters/breakFilter","cjt/filters/htmlFilter","cjt/filters/jsonFilter","cjt/filters/nospaceFilter","cjt/filters/notApplicableFilter","cjt/filters/replaceFilter","cjt/filters/splitFilter","cjt/filters/startFromFilter","cjt/filters/timezoneFilter","cjt/filters/wrapFilter","cjt/filters/rangeFilter","cjt/services/APIFailures","cjt/services/APICatcher","cjt/services/APIService","cjt/services/alertService","cjt/services/autoTopService","cjt/services/dataCacheService","cjt/services/onBeforeUnload","cjt/services/passwordStrengthService","cjt/services/viewNavigationApi","cjt/validator/validateDirectiveFactory","cjt/views/applicationController","cjt/filters/qaSafeIDFilter","cjt/services/popupService","cjt/services/windowMonitorService","cjt/services/pageIdentifierService","cjt/models/searchSettingsModel"],function(e,t){t.createModule(PAGE.CJT2_ANGULAR_MODULE_NAME,["cjt2.decorators.$http","cjt2.decorators.alertAPIReporter","cjt2.decorators.angularChosenDecorator","cjt2.decorators.dynamicName","cjt2.decorators.growlAPIReporter","cjt2.decorators.growlDecorator","cjt2.decorators.paginationDecorator","cjt2.decorators.uibTypeaheadDecorator","cjt2.diag.route","cjt2.directives.actionButton","cjt2.directives.alert","cjt2.directives.alertList","cjt2.directives.autoFocus","cjt2.directives.boolToInt","cjt2.directives.breadcrumbs","cjt2.directives.bytesInput","cjt2.directives.callout","cjt2.directives.checkPasswordStrength","cjt2.directives.copyField","cjt2.directives.datePicker","cjt2.directives.deepTriStateCheckbox","cjt2.directives.disableAnimations","cjt2.directives.displayPasswordStrength","cjt2.directives.dynamicValidator","cjt2.directives.focusFirstError","cjt2.directives.focusInput","cjt2.directives.formWaiting","cjt2.directives.excludeCharacters","cjt2.directives.includeCharacters","cjt2.directives.jsonFieldDirective","cjt2.directives.labelSuffix","cjt2.directives.lastItem","cjt2.directives.limitRange","cjt2.directives.loadingPanel","cjt2.directives.multiFieldEditor","cjt2.directives.multiFieldEditorItem","cjt2.directives.indeterminateState","cjt2.directives.ngDebounce","cjt2.directives.onKeyUp","cjt2.directives.pageSize","cjt2.directives.pageSizeButton","cjt2.directives.password","cjt2.directives.preventDefaultOnEnter","cjt2.directives.preventNavigationOnBackspace","cjt2.directives.processingIcon","cjt2.directives.quickFilters","cjt2.directives.quickFilterItem","cjt2.directives.responsiveSort","cjt2.directives.responsiveSortInsert","cjt2.directives.search","cjt2.directives.selectSort","cjt2.directives.spinner","cjt2.directives.statsDirective","cjt2.directives.terminal","cjt2.directives.timePicker","cjt2.directives.toggleLabelInfo","cjt2.directives.toggleSort","cjt2.directives.toggleSwitch","cjt2.directives.triStateCheckbox","cjt2.directives.updatePasswordStrength","cjt2.directives.validateEquals","cjt2.directives.minimumPasswordStrength","cjt2.directives.validationContainer","cjt2.directives.validationItem","cjt2.filters.break","cjt2.filters.encodeHtml","cjt2.filters.json","cjt2.filters.nospace","cjt2.filters.na","cjt2.filters.replace","cjt2.filters.split","cjt2.filters.startFrom","cjt2.filters.timezone","cjt2.filters.wrap","cjt2.filters.qaSafeID","cjt2.filters.range","cjt2.services.alert","cjt2.services.api","cjt2.services.apifailures","cjt2.services.apicatcher","cjt2.services.autoTop","cjt2.services.dataCache","cjt2.services.onBeforeUnload","cjt2.services.passwordStrength","cjt2.services.pageIdentiferService","cjt2.services.popupService","cjt2.services.viewNavigationApi","cjt2.services.windowMonitor","cjt2.views.applicationController","cjt2.validate"].concat(e))}),define("cjt/directives/copyField",["angular","cjt/util/locale","cjt/core","cjt/modules","cjt/services/alertService"],function(e,n,t){function a(e){e=document.getElementById(e);return e.focus(),e.select(),document.execCommand("copy")}function i(t,e,i){t._onSuccess=function(){i.success(n.maketext("Successfully copied to the clipboard.")),t.copying=!0,e(function(){t.copying=!1},3e3)},t._execCopy=function(){return a(t.copyFieldID)},t.copyToClipboard=function(){t._execCopy()&&t._onSuccess()},t.processText=function(){var e;t.text&&1<(e=t.text.split("\n")).length&&(t.multilineRows=e.length-1)},t.$watch("text",t.processText),t.processText()}function r(e,t,i){e.multilineRows=1,e.copyFieldID=e.parentID+"_recordField",e.copying=!1,e.placeholderText=i.placeholder||n.maketext("Nothing to copy"),e.copyLabel=i.copyLabel||n.maketext("Copy")}var s="libraries/cjt2/directives/",o=t.config.debug?t.buildFullPath(s):s,t=(o+="copyField.phtml","cjt2.directives.copyField"),l=["$scope","$timeout","alertService"],s=e.module(t,["cjt2.services.alert"]);return s.directive("copyField",function(){return{templateUrl:o,scope:{parentID:"@id",text:"=",label:"@"},restrict:"E",replace:!0,transclude:!0,link:r,controller:l.concat(i)}}),{class:i,namespace:t,link:r,template:o,execCopyToClipboard:a}}),define("cjt/directives/searchSettingsPanelFactory",["angular","cjt/core","cjt/util/locale","ngSanitize","cjt/models/searchSettingsModel"],function(s,n,a){return function(e,t){var e=s.module(e,t),t="libraries/cjt2/directives/",i=(n.config.debug?n.buildFullPath(t):t)+"searchSettingsPanel.phtml";e.directive("searchSettingsPanel",["componentSettingSaverService",function(t){return{templateUrl:i,restrict:"EA",transclude:!0,scope:{ngModel:"=",parentID:"@id",ngChange:"&",showCount:"=?",displaySetValues:"=",displaySettingsPanel:"="},link:function(r){r.options=r.ngModel.get_settings(),r.values=r.ngModel.get_values(),r.filteredItemsToDisplay=!1,r.searchSettingsID=r.parentID+"_SearchSettingsPanel",r.setValuesID=r.parentID+"_SetValuePanel",r.all_label=a.maketext("All"),r.all_checked={},r.set_search_filter_values=function(e,t){r.ngModel.set_search_filter_values(e,t),r.update()},r.update_display_values=function(){var i=!1;s.forEach(r.options,function(e,t){r.all_checked[t]=!1,r.get_filtered_labels(t).length&&(i=!0),r.get_filtered_values(t).length===e.options.length&&(r.all_checked[t]=!0)}),r.filteredItemsToDisplay=i},r.open_settings=function(){r.displaySettingsPanel=!0},r.saveSettings=function(){t.set(r.parentID,r.values)},r.update=function(){r.update_display_values(),r.saveSettings(),r.ngChange()},r.update_display_labels=function(){r.all_label=r.all_label+" ("+r.showCount.length+")";var e=r.showCount,a={};s.forEach(r.options,function(e,t){a[t]={},s.forEach(e.options,function(e){e=e.value;a[t][e]=0})}),s.forEach(e,function(n){s.forEach(a,function(e,t){var i=r.options[t].item_key,i=n[i];a[t][i]++})}),s.forEach(r.options,function(e,i){s.forEach(e.options,function(e){var t=e.value,t=(e.original_label||(e.original_label=e.label),a[i][t]);e.label=e.original_label+" ("+t+")"})})},r.showCount&&"object"==typeof r.showCount&&(r.update_display_labels(),r.$watch("showCount",function(){r.displaySettingsPanel&&r.update_display_labels()},!0),r.$watch("displaySettingsPanel",function(e,t){e&&e!==t&&r.update_display_labels()})),r.get_filtered_labels=r.ngModel.get_filtered_labels.bind(r.ngModel),r.get_filtered_values=r.ngModel.get_filtered_values.bind(r.ngModel);var e=t.register(r.parentID);e&&e.then(function(e){s.forEach(e,function(e,i){r.options[i]&&s.forEach(e,function(e,t){s.isUndefined(r.values[i][t])||(r.values[i][t]=e)})}),r.update_display_values(),r.ngChange(),r.$watch(function(){return r.values},function(){r.update()},!0)}),r.$on("$destroy",function(){t.unregister(r.parentID)})}}}])}}),window.__collectedErrors=[],window.onerror=function(e){window.__collectedErrors.push(e)},window.getJavascriptErrors=function(){return window.__collectedErrors},window.clearJavascriptErrors=function(){window.__collectedErrors=[]},define("cjt/e2e",function(){}),define("cjt/jquery/plugins/rangeSelection",["jquery"],function(e){e.fn.selectRange=function(t,i){return i=i||t,this.each(function(){var e;this.setSelectionRange?(this.focus(),this.setSelectionRange(t,i)):this.createTextRange&&((e=this.createTextRange()).collapse(!0),e.moveEnd("character",i),e.moveStart("character",t),e.select())})}}),define("cjt/modules.unprotected",[],function(){return[]}),(()=>{var s=/%/,o=function(e){return!0};function r(e){var t,i,n,a,r;e.locale?e.locale.isInitialized||(e.locale.isLocalizable?e.locale.isLocalizable=("string"==typeof(i=e.locale.isLocalizable)?(n=new RegExp(i),a=function(e){return n.test(e)}):i instanceof RegExp?a=function(e){return i.test(e)}:(r=i)&&"[object Function]"==={}.toString.call(r)&&(a=i),a=a||o):e.locale.isLocalizable=o,e.locale.replace?e.locale.replace=("string"==typeof(r=e.locale.replace)?t=new RegExp(r):r instanceof RegExp&&(t=r),t=t||s):e.locale.replace=s,e.locale.extension||(e.locale.extension="-%"),e.locale.isInitialized=!0):e.locale={disabled:!0,isInitialized:!0}}define("cjt/plugins/locale",{version:"2.1.0",name:"cPanel locale requirejs plugin",description:"The locale requirejs plugin loads files and their related locale file.",load:function(e,t,i,n){var a;r(n=n||{}),!n.locale.disabled&&(a=n)&&a.locale&&void 0!==a.locale.currentLocale&&""!==a.locale.currentLocale&&n.locale.isLocalizable(e)?(a=(t.toUrl(e)||"").split("?"),t([a[0]+(n.locale.addMin&&-1===a[0].indexOf(".min")?".min":"")+".js?locale="+n.locale.currentLocale+"&locale_revision="+n.locale.revision],function(e,t){i(e,t)})):t([e],function(e){i(e)})}})})(),define("cjt/services/componentSettingSaverFactory",["angular","cjt/core","cjt/util/locale","cjt/services/pageIdentifierService"],function(n,e,o){return function(e,t){return n.module(e,t).factory("componentSettingSaverService",["nvDataService","$log","$q","$window","pageIdentifierService",function(a,r,i,t,s){return{_currentGetPromise:null,_lastUpdateRequest:-1,_lastSavedRequest:0,_components:{},_registeredComponents:{},register:function(e){if(!e)throw new Error(o.maketext("The [asis,register] method requires the [asis,componentName]."));if(!s.getPageIdentifier())throw new Error(o.maketext("[asis,ComponentSettingSaverService] failed to register the component “[_1]”. You must set the page identifier.",e));if(n.isFunction(t.register_interfacecfg_nvdata)?t.register_interfacecfg_nvdata(this._pageIdentifier):r.warn(o.maketext("The system could not register the page for the interface settings reset. Is the [asis,interfacereset.js] file missing?")),this._registeredComponents[e])throw new Error(o.maketext("[asis,ComponentSettingSaverService] failed to register the component “[_1]”. A component with the same identifier already exists.",e));return this._registeredComponents[e]=e,this.get(e)},unregister:function(e){return this._registeredComponents[e]?(delete this._registeredComponents[e],!0):(r.error(o.maketext("[asis,ComponentSettingSaverService] failed to unregister the component “[_1]”. No such component exists.",e)),!1)},set:function(e,t){var i=s.getPageIdentifier();if(!i)return r.error(o.maketext("[asis,ComponentSettingSaverService] failed to save the component settings for “[_1]”. You must set the page identifier.",e)),!1;this._components[e]=t;e={};return e[i]=JSON.stringify(this._components),this._lastSavedRequest=(new Date).getTime(),a.setObject(e)},get:function(e){var n=this;if(!n._currentGetPromise){if(n._lastSavedRequest<n._lastUpdateRequest)return t=i.defer(),e?t.resolve(n._components[e]):t.resolve(n._components),t.promise;n._lastUpdateRequest=(new Date).getTime();var t=s.getPageIdentifier();if(!t)return r.error(o.maketext("[asis,ComponentSettingSaverService] failed to retrieve the requested component settings. You must set the page identifier.")),!1;n._currentGetPromise=a.get(t).then(function(t){t=t.pop().value;if(t){try{t=JSON.parse(t)}catch(e){var i=s.getPageIdentifier();r.error(o.maketext("[asis,ComponentSettingSaverService] failed to parse the stored [asis,NVData] file for this page “[_1]”.",i)),t={}}n._components=t}return n._currentGetPromise=null,n.get(e)}).finally(function(){n._currentGetPromise=null})}return n._currentGetPromise},getCached:function(e){return{cachedValue:e?this._components[e]:this._components,requestInProgress:Boolean(this._currentGetPromise)}}}}])}}),define("cjt/services/fuzzy",[],function(){return function(e){this._storedSet=e||[],this._cache={},this._cacheBySet={},this._distanceSort=function(e,t){return e.distance===t.distance?e.lengthDiff===t.lengthDiff?0:e.lengthDiff<t.lengthDiff?-1:1:e.distance<t.distance?-1:1},this._setCache=function(e,t,i,n){return e[t]=e[t]||{},e[t][i]=n},this._getCache=function(e,t,i){if(e[t]&&e[t][i])return e[t][i]},this._searchStrings=function(e,t){if(e===t)return this._setCache(this._cache,e,t,{distance:0,substring:e,pattern:t,match:e});for(var i,n,a=t.length,r=e.length,s=[],o=[],l=[],c=[],u=0;u<=a;u++)for(i=o,o=s,s=i,i=c,c=l,l=i,n=0;n<=r;n++)u&&n?(s[n]=s[n-1]+1,l[n]=l[n-1],i=o[n-1]+(e[n-1]===t[u-1]?0:1),s[n]>i&&(s[n]=i,l[n]=c[n-1]),s[n]>o[n]+1&&(s[n]=o[n]+1,l[n]=c[n])):(s[n]=u,l[n]=n);for(i=0,n=s.length-1;1<=n;n--)s[n]<s[i]&&(i=n);var d=e.slice(l[i],i);return this._setCache(this._cache,e,t,{distance:s[i]+1,substring:d,lengthDiff:Math.abs(a-r),pattern:t,match:e})},this.search=function(i,e){e?this.loadSet(e):e=this.getSet();var n,t=e.join("");return this._getCache(this._cacheBySet,t,i)?this._getCache(this._cacheBySet,t,i):(n=[],e.forEach(function(e,t){n[t]=this._searchStrings(e,i)},this),n=n.sort(this._distanceSort),this._setCache(this._cacheBySet,t,i,n))},this.getSet=function(){return this._storedSet},this.loadSet=function(e){this._storedSet=e}}}),define("cjt/startup",[],function(){function t(e){if(Array.isArray(e))return e;if("string"==typeof e)return[e];throw"You must pass either an array of dependencies or a single string dependency"}return{startApplication:function(e){return e=t(e||"app/index"),require(e,function(e){e&&e()}),this},startMaster:function(e){return e=t(e||"master/master"),require(e,function(e){e&&e()}),this},deferStartMaster:function(e){var t=this;return setTimeout(function(){t.startMaster(e)}),this}}}),define("cjt/util/base64",[],function(){return{decodeUTF8:function(e){return decodeURIComponent(escape(atob(e)))}}}),define("cjt/util/class",[],function(){return{subclass:function subclass(parentConstructor,name,myConstructor){var instantiate,newClass;if(name)return instantiate=function(){parentConstructor.apply(this,arguments),myConstructor&&myConstructor.apply(this,arguments)},newClass=eval("[function %() { instantiate.apply(this, arguments) }][0]".replace(/%/,name)),newClass.prototype=Object.create(parentConstructor.prototype),newClass;throw console.log(arguments),"I need a name!"}}}),define("cjt/util/dumper",[],function(){return{dump:function e(t,i){(i=i||{}).tabs=i.tabs||0,i.tabCharacter=i.tabCharacter||"\t",i.nlCharacter=i.nlCharacter||"\n";var n,a="";for(n in t){if("string"==typeof(r=t[n]))r="'"+r+"'";else if("function"==typeof r)r="function(){ ... }";else if("object"==typeof r)if(r instanceof Array){for(var r,s=0,o=(r="["+i.nlCharacter).length;s<o;s++)r+=e(r[s],{tabs:i.tabs+1});r+=[i.tabs].join(i.tabCharacter)+"]"+i.nlCharacter}else r="{"+i.nlCharacter,r=(r+=e(r,{tabs:i.tabs+1}))+([i.tabs].join(i.tabCharacter)+"}"+i.nlCharacter);a=(a=a+[i.tabs].join(i.tabCharacter)+("'"+n+"' : "+r+","))+i.nlCharacter}return a}}}),define("cjt/util/flatObject",[],function(){return{flatten:function e(t){var i,n={};for(i in t)if(t.hasOwnProperty(i))if("object"==typeof t[i]){var a,r=e(t[i]);for(a in r)r.hasOwnProperty(a)&&(n[i+"."+a]=r[a])}else n[i]=t[i];return n}}}),define("cjt/util/promise",["jquery"],function(i){var n;return n={MODULE_NAME:"cjt/util/promise",MODULE_DESC:"Native Promise wrapper",MODULE_VERSION:"1.0",create:function(e){var t;return e=n._Promise?new n._Promise(e):(t=i.Deferred(),e(function(e){t.resolveWith(window,[e])},function(e){t.rejectWith(window,[e])}),t.promise())},_Promise:window.Promise}}),define("cjt/util/getScript",["cjt/util/promise"],function(t){var s;return s={MODULE_NAME:"cjt/util/getScript",MODULE_DESC:"Improved version of jQuery getScript",MODULE_VERSION:"1.0",getScript:function(a,e){var r=e&&e.context||window;return t.create(function(i,n){var e=new s._XMLHttpRequest;e.addEventListener("load",function(e){if(200===this.status){var t="'use strict'; "+this.responseText;try{Function(t).bind(r)(),i(e)}catch(e){n(new Error("Parse error ("+a+"): "+e))}}else n(new Error("HTTP error ("+a+"): "+this.statusText))}),e.addEventListener("error",function(e){n(new Error("Network error ("+a+"): "+e))}),e.open("GET",a),e.send()})},_XMLHttpRequest:window.XMLHttpRequest}}),define("cjt/util/unicode",["punycode"],function(e){var s=e.ucs2.encode;function n(e,t,i,n){for(var a=0;a<e.length;a++)if(e[a]instanceof Array)for(var r=e[a][0];r<=e[a][1];r++)t[n?s([r]):r]=i;else t[n?s([e[a]]):e[a]]=i;return t}return{createCharacterLookup:function(e){return n(e,{},!0,!0)},augmentCodePointLookup:function(e,t,i){return n(e,t,i,!1)}}}),define("cjt/util/idnDisallowed",["lodash","punycode","cjt/util/unicode"],function(s,o,l){var c,u=[[0,44],[46,47],[58,96],[123,182],[184,222],247,256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,[306,308],310,313,315,317,[319,321],323,325,327,[329,330],332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,383,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,461],463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,500],[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,[688,696],[706,709],[722,747],749,[751,767],[832,833],[835,837],847,880,882,884,886,890,894,[900,906],908,[910,911],[913,929],[931,939],[975,982],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,[1008,1010],[1012,1015],[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1154,[1160,1162],1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,[1329,1366],[1370,1375],1415,[1417,1418],1470,1472,1475,1478,[1536,1539],[1542,1551],1563,[1566,1567],1600,[1642,1645],[1653,1656],1748,[1757,1758],1769,[1792,1805],1807,[2038,2042],[2096,2110],[2392,2399],[2404,2405],2416,[2524,2525],2527,[2546,2555],2611,2614,[2649,2651],2654,2801,[2908,2909],2928,[3056,3066],[3192,3199],[3440,3445],3449,3572,3635,3647,3663,[3674,3675],3763,[3804,3805],[3841,3850],[3852,3863],[3866,3871],[3882,3892],3894,3896,[3898,3901],3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3973,3987,3997,4002,4007,4012,4025,[4030,4037],[4039,4044],[4046,4056],[4170,4175],[4254,4293],[4347,4348],[4352,4607],[4960,4988],[5008,5017],5120,[5741,5742],5760,[5787,5788],[5867,5872],[5941,5942],[6068,6069],[6100,6102],[6104,6107],[6128,6137],[6144,6158],6464,[6468,6469],[6622,6655],[6686,6687],[6816,6822],[6824,6829],[7002,7018],[7028,7036],[7227,7231],[7294,7295],7379,[7468,7470],[7472,7482],[7484,7501],[7503,7530],7544,[7579,7615],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,[7834,7835],7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],8049,8051,8053,8055,8057,8059,8061,[8064,8111],[8114,8116],[8119,8132],[8135,8143],8147,[8152,8155],[8157,8159],8163,[8168,8175],[8178,8180],[8183,8190],[8192,8203],[8206,8292],[8298,8305],[8308,8334],[8336,8340],[8352,8376],[8400,8432],[8448,8525],[8527,8579],[8581,8585],[8592,9192],[9216,9254],[9280,9290],[9312,9933],[9935,9953],9955,[9960,9983],[9985,9988],[9990,9993],[9996,10023],[10025,10059],10061,[10063,10066],[10070,10078],[10081,10132],[10136,10159],[10161,10174],[10176,10186],10188,[10192,11084],[11088,11097],[11264,11310],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11388,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,[11493,11499],11501,[11513,11519],11631,[11776,11822],[11824,11825],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12288,12292],[12296,12329],[12334,12347],[12349,12351],[12443,12444],[12447,12448],12543,[12593,12686],[12688,12703],[12736,12771],[12800,12830],[12832,13054],[13056,13311],[19904,19967],[42128,42182],[42238,42239],[42509,42511],42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42594,42596,42598,42600,42602,42604,[42608,42611],42622,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,[42726,42735],[42738,42743],[42752,42774],[42784,42786],42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42864,42873,42875,[42877,42878],42880,42882,42884,42886,[42889,42891],[43048,43051],[43056,43065],[43124,43127],[43214,43215],[43256,43258],[43310,43311],[43359,43388],[43457,43469],[43486,43487],[43612,43615],[43639,43641],[43742,43743],44011,[55216,55238],[55243,55291],[55296,64013],64016,64018,[64021,64030],64032,64034,[64037,64038],[64042,64045],[64048,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64831],[64848,64911],[64914,64967],[64976,65021],[65024,65049],[65072,65106],[65108,65126],[65128,65131],[65136,65138],65140,[65142,65276],65279,[65281,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65529,65535],[65792,65794],[65799,65843],[65847,65930],[65936,65947],[66e3,66044],[66336,66339],66369,66378,66463,[66512,66517],[66560,66599],[67671,67679],[67862,67867],67871,67903,[68160,68167],[68176,68184],[68221,68223],[68409,68415],[68440,68447],[68472,68479],[69216,69246],[69819,69825],[74752,74850],[74864,74867],[118784,119029],[119040,119078],[119081,119261],[119296,119365],[119552,119638],[119648,119665],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126976,127019],[127024,127123],[127232,127242],[127248,127278],127281,127293,127295,127298,127302,[127306,127310],127319,127327,127353,[127355,127356],127359,[127370,127373],127376,127488,[127504,127537],[127552,127560],[131070,131071],[194560,195101],[196606,196607],[262142,262143],[327678,327679],[393214,393215],[458750,458751],[524286,524287],[589822,589823],[655358,655359],[720894,720895],[786430,786431],[851966,851967],[917502,917503],917505,[917536,917631],[917760,917999],[983038,1114111],6618];return{getDisallowedInLabel:function(e){for(var t,i=c=c||l.createCharacterLookup(u),n=o.ucs2.decode(e),a=[],r=0;r<n.length;r++)i[t=65535<n[r]?o.ucs2.encode([n[r]]):String.fromCharCode(n[r])]&&a.push(t);return s.uniq(a)}}}),define("cjt/util/idn",["lodash","punycode","cjt/util/locale","cjt/util/idnDisallowed","cjt/util/unicode"],function(s,o,a,r,i){var n,l={greek:[[880,883],885,[886,887],[891,893],895,[910,929],[931,993],[1008,1013],[1015,1023],[7462,7466],[7936,7957],[7968,8005],[8016,8023],[8031,8061],[8064,8116],[8118,8124],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8182,8188],43877,[65856,65908],[65909,65912],[65913,65929],[65930,65931],[65932,65934],65952],hebrew:[[1425,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1523,1524],64286],hiragana:[[12353,12438],[12445,12446],[110593,110878],[110928,110930]],katakana:[[12449,12538],[12541,12542],[12784,12799],110592,[110948,110951]],han:[12293,12295,[13312,19893],[19968,40943],[63744,64109],[131072,173782],[173824,177972],[177984,178205],[178208,183969],[183984,191456]]},c=[2381,2509,2637,2765,2893,3021,3149,3277,3387,3388,3405,3530,3642,3770,3972,4153,4154,5908,5940,6098,6752,6980,7082,7083,7154,7155,11647,43014,43204,43347,43456,43766,44013,68159,69702,69759,69817,69939,69940,70080,70197,70378,70477,70722,70850,71103,71231,71350,71467,71737,72160,72244,72263,72345,72767,73028,73029,73111],u={han:!0,katakana:!0,hiragana:!0};function d(e){var t;return n||(t=Object.keys(l),n={},t.forEach(function(e){i.augmentCodePointLookup(l[e],n,e)})),n[e]}function h(e){return o.ucs2.encode([e])}function p(e){return e.map(function(e){return"U+"+s.padStart(e.toString(16).toUpperCase(),4,"0")})}return{getLabelDefects:function(e){var t,i=[],n=r.getDisallowedInLabel(e);return n.length&&(t=p(o.ucs2.decode(n.join(""))),i.push(a.maketext("Domain names may not contain [list_or_quoted,_1] ([list_or,_2]).",n,t))),(n=(e=>{var t,i=[],n=o.ucs2.decode(e);e:for(var a=0;a<n.length;a++)switch(n[a]){case 8204:break;case 8205:-1===c.indexOf(n[a-1])&&i.push(n[a]);break;case 183:108===n[a-1]&&108===n[a+1]||i.push(n[a]);break;case 885:"greek"!==d(n[a+1])&&i.push(n[a]);break;case 1523:case 1524:"hebrew"!==d(n[a-1])&&i.push(n[a]);break;case 12539:for(t=0;t<n.length;t++){var r=d(n[t]);if(u[r])continue e}i.push(n[a]);break;default:if(1632<=n[a]&&n[a]<=1641)for(t=0;t<n.length;t++)if(1776<=n[t]&&n[t]<=1785){i.push(n[a]);break}if(1776<=n[a]&&n[a]<=1785)for(t=0;t<n.length;t++)if(1632<=n[t]&&n[t]<=1641){i.push(n[a]);break}}return s.uniq(i)})(e)).length&&(t=n.map(h),n=p(n),i.push(a.maketext("You must use [list_and_quoted,_1] ([list_and,_2]) properly in domain names.",t,n))),"--"===e.substr(2,2)&&i.push(a.maketext("“[_1]” is forbidden at the third position of a domain label.","--")),/^-|-$/.test(e)&&i.push(a.maketext("“[_1]” is forbidden at the start or end of a domain label.","-")),i},_lists:s.assign({},l,{virama:c})}}),((e,t)=>{"function"==typeof define&&define.amd?define("cjt/util/inet6",[],t):"object"==typeof exports?module.exports=t():e.CPANEL?e.CPANEL.inet6=t():e.inet6=t()})(this,function(){var f={},g=/^\d{1,3}(?:\.\d{1,3}){3}$/,m=/^[0-9a-f]{1,4}$/i,e=(f.Address=function(e){if(void 0===e||"[object String]"!==Object.prototype.toString.call(e))throw"Invalid input: Not a String";var t=e.split(".");if(4<t.length)throw"Invalid IPv4 address: Too many components";if(t.length<4)throw"Invalid IPv4 address: Too few components";for(var i=0,n=t.length;i<n;i++){var a=t[i];if(255<a||a<0)throw"Invalid IPv4 address: Invalid component";this.push(a)}},f.Address.prototype=[],f.Address.prototype.toString=function(){return this.join(".")},{});return e.Address=function(e){var i=this;function t(e){for(var t=0;t<e;t++)i.push(0)}if(void 0===e||"[object String]"!==Object.prototype.toString.call(e))throw"Invalid input: Not a String";var n,a,r=e.split(":"),s=r.length,o=r.length,l=!1,c=!1;if(o<3)throw"Invalid IPv6 address: Too few components";if(3<o&&""===r[0]&&""===r[1]&&""===r[o-1]&&""===r[o-2])throw"Invalid IPv6 address: Too many colons";if(""===r[0]&&""!==r[1])throw"Invalid IPv6 address: Missing beginning component";if(""===r[o-1]&&""!==r[o-2])throw"Invalid IPv6 address: Missing end component";if(""===r[0]&&""===r[1]&&(r.shift(),o=r.length,s=r.length),""===r[r.length-1]&&""===r[r.length-2]&&(r.pop(),o=r.length,s=r.length),1===o&&""===r[0])t(8);else{for(var u=0,d=0;d<o;d++)n=r[d].trim(),g.test(n)&&s++;for(d=0;d<o;d++){if(n=r[d].trim(),a=null,g.test(n)){if(d!==o-1)throw"Invalid IPv6 address: Embedded IPv4 address not at end";for(var h=4;h<8-s;h++)this.shift();var p=new f.Address(n);this.push(p[0]<<8|p[1]),a=p[2]<<8|p[3],c=!0}else if(m.test(n))a=parseInt(n,16);else{if(""!==n)throw"Invalid IPv6 address: Invalid component "+n;u++,l||(t(8-s),l=!0),a=0}this.push(a)}if(1<u)throw"Invalid IPv6 address: Too many colons";if(this.length<8)throw"Invalid IPv6 address: Too few components";if(8<this.length)throw"Invalid IPv6 address: Too many components";if(c){for(d=0;d<5;d++)if(0!==this[d])throw"Invalid IPv4 compatible address";if(65535!==this[5])throw"Invalid IPv6 compatible address"}}},e.Address.prototype=[],e.Address.prototype.toString_v4Compat=function(){var e=[];return e.push((65280&this[6])>>8),e.push(255&this[6]),e.push((65280&this[7])>>8),e.push(255&this[7]),"::ffff:"+e.join(".")},e.Address.prototype.isv4Compat=function(){for(var e=0;e<5;e++)if(0!==this[e])return 0;return 65535===this[5]},e.Address.prototype.toString=function(){var e=[],t=this.length,i=null,n=null,a=null;if(this.isv4Compat())return this.toString_v4Compat();for(var r=0;r<t;r++){var s=this[r],o=((0!==s||0===s&&0!==i)&&e.push({value:s,first:r,last:r,longest:!1}),(a=e[e.length-1]).last=r,null===n&&(n=a),a.last-a.first),l=n.last-n.first;0===s&&l<o&&(n=a),i=s}for(var c=[],u=e.length,r=0;r<u;r++)if(0===(a=e[r]).value&&a===n)0===r&&c.push(""),c.push(""),r===u-1&&c.push("");else for(var d=a.first;d<=a.last;d++)c.push(a.value.toString(16));return c.join(":")},e.isValid=function(e){try{return this.parse(e),!0}catch(e){return!1}},e.parse=function(e){if(void 0===e||"[object String]"!==Object.prototype.toString.call(e))throw"Invalid input: Not a String";return new this.Address(e)},e.formatForDisplay=function(t){try{var i=new this.Address(t).toString()}catch(e){i=t}return i},e}),define("cjt/util/limits",[],function(){var t="unlimited";return{UNLIMITED:-1,UNLIMITED_STR:t,parseMaxLimit:function(e){return e?parseInt(e.max===t?-1:e._max,10):0},parseTotalItems:function(e){return e?parseInt(e._count,10):0},outOfLimits:function(e,t){return-1!==e&&e<=t}}}),define("cjt/util/logic",["require"],function(e){return{compareOrDefault:function(e,t,i){return void 0!==e?e===t:i},translateBinaryAndToState:function(e,t,i,n,a,r){return e&&t?i:e?n:t?a:r}}}),define("cjt/util/logMetaformat",[],function(){return{MODULE_NAME:"cjt/io/logMetaformat",MODULE_DESC:"Parser for the encoding of Cpanel::Log::MetaFormat",MODULE_VERSION:"1.0",parse:function(e,i){return e=e.replace(/\.(\.|[^.\n][^\n]*\n)/gm,function(e,t){return"."===t?".":(t=JSON.parse(t),i[t[0]]=t[1],"")})}}}),define("cjt/util/scrollSelect",[],function(){return{MODULE_NAME:"cjt/io/scrollSelect",MODULE_DESC:"Utilities for scrolling a DOM <select> node",MODULE_VERSION:"1.0",scrollToEnd:function(e){e.scrollTop=e.scrollHeight},isAtEnd:function(e){return e.scrollTop+e.offsetHeight+1>=e.scrollHeight||e.scrollHeight<=e.offsetHeight}}}),define("cjt/util/table",["lodash","cjt/util/locale"],function(l,e){function t(){this.items=[],this.filteredList=this.items,this.selected=[],this.allDisplayedRowsSelected=!1,this.searchFunction=void 0,this.filterOptionFunction=void 0,this.meta={sortBy:"",sortDirection:"asc",totalItems:0,pageNumber:1,pageSize:10,pageSizes:[10,20,50,100],start:0,limit:0,searchText:"",filterOption:""},this.meta.maxPages=0,this.last_id=0}return t.prototype.load=function(e){if(!l.isArray(e))throw"Developer Exception: load requires an array";this.last_id=0,this.items=e;for(var t=0,i=this.items.length;t<i;t++){if(!l.isObject(this.items[t]))throw"Developer Exception: load requires an array of objects";this.items[t]._id=t,this.items[t].selected&&this.selected.push(this.items[t]._id)}this.last_id=t},t.prototype.setSearchFunction=function(e){if(!l.isFunction(e))throw"Developer Error: setSearchFunction requires a function";this.searchFunction=e},t.prototype.setFilterOptionFunction=function(e){if(!l.isFunction(e))throw"Developer Error: setFilterOptionFunction requires a function";this.filterOptionFunction=e},t.prototype.setSort=function(e,t){l.isUndefined(e)||(this.meta.sortBy=e),l.isUndefined(t)||(this.meta.sortDirection=t)},t.prototype.getMetadata=function(){return this.meta},t.prototype.getList=function(){return this.filteredList},t.prototype.getSelectedList=function(){return this.items.filter(function(e){return e.selected})},t.prototype.areAllDisplayedRowsSelected=function(){return this.allDisplayedRowsSelected},t.prototype.getTotalRowsSelected=function(){return this.selected.length},t.prototype.selectAllDisplayed=function(){for(var e=0,t=this.filteredList.length;e<t;e++){var i=this.filteredList[e];i.selected=!0,-1===this.selected.indexOf(i._id)&&this.selected.push(i._id)}this.allDisplayedRowsSelected=!0},t.prototype.unselectAllDisplayed=function(){var e=this.filteredList.map(function(e){return e.selected=!1,e._id});this.selected=l.difference(this.selected,e),this.allDisplayedRowsSelected=!1},t.prototype.selectItem=function(e){l.isUndefined(e)||(e.selected=!0,-1===this.selected.indexOf(e._id)&&(this.selected.push(e._id),this.allDisplayedRowsSelected=this.filteredList.every(function(e){return e.selected})))},t.prototype.unselectItem=function(t){l.isUndefined(t)||(t.selected=!1,this.selected=this.selected.filter(function(e){return e!==t._id}),this.allDisplayedRowsSelected=!1)},t.prototype.clearAllSelections=function(){this.selected=[];for(var e=0,t=this.items.length;e<t;e++)this.items[e].selected=!1;this.allDisplayedRowsSelected=!1},t.prototype.clear=function(){this.items=[],this.selected=[],this.last_id=0,this.allDisplayedRowsSelected=!1,this.update()},t.prototype.update=function(){for(var e,t=[],i=this,n=(t=null!=this.meta.searchText&&""!==this.meta.searchText&&void 0!==this.searchFunction?this.items.filter(function(e){return i.searchFunction(e,i.meta.searchText)}):this.items,null!=this.meta.filterOption&&""!==this.meta.filterOption&&void 0!==this.filterOptionFunction&&(t=t.filter(function(e){return i.filterOptionFunction(e,i.meta.filterOption)})),this.meta.sortBy.split(",")),a=(""!==this.meta.sortDirection&&n.length&&(t=l.orderBy(t,n,[this.meta.sortDirection])),this.meta.totalItems=t.length,this.meta.totalItems>l.min(this.meta.pageSizes)?(n=(this.meta.pageNumber-1)*this.meta.pageSize,e=this.meta.pageNumber*this.meta.pageSize,t=l.slice(t,n,e),this.meta.start=1+n,this.meta.limit=n+t.length):(0===t.length?this.meta.start=0:this.meta.start=1,this.meta.limit=t.length),0),r=0,s=t.length;r<s;r++){var o=t[r];-1!==this.selected.indexOf(o._id)?o.selected=!0:(o.selected=!1,a++)}return this.filteredList=t,this.allDisplayedRowsSelected=0<t.length&&0===a,t},t.prototype.add=function(e){if(!l.isObject(e))throw"Developer Exception: add requires an object";this.last_id++,e._id=this.last_id,this.items.push(e),this.update()},t.prototype.remove=function(e){if(!l.isObject(e))throw"Developer Exception: remove requires an object";var t=!1;if(e.hasOwnProperty("_id")){for(var i=0,n=this.items.length;i<n;i++)if(this.items[i]._id===e._id){t=!0;break}t&&(this.items.splice(i,1),this.update())}},t.prototype.paginationMessage=function(){return e.maketext("Displaying [numf,_1] to [numf,_2] out of [quant,_3,item,items]",this.meta.start,this.meta.limit,this.meta.totalItems)},t}),define("cjt/util/unique",[],function(){return function(e){return e+"_"+Math.random().toString().substr(2,9)}}),define("cjt/util/url",[],function(){return{join:function(){for(var e=[],t=0,i=arguments.length;t<i;t++){var n=arguments[t];0<t&&(n=n.replace(/^[\/]/,"")),(n=t!==i-1?n.replace(/[\/]$/,""):n)&&e.push(n)}return e.join("/")}}}),define("cjt/validator/ascii-data-validators",["angular","cjt/validator/validator-utils","cjt/util/locale","cjt/validator/validateDirectiveFactory"],function(e,a,r){var t={alpha:function(e){var t=a.initializeValidationResult();return""!==e&&/^[a-zA-Z]+$/.test(e)||(t.isValid=!1,t.add("alpha",r.maketext("The value should only contain the letters [asis,a-z] and [asis,A-Z]."))),t},upperCaseOnly:function(e){var t=a.initializeValidationResult();return""!==e&&/^[A-Z]+$/.test(e)||(t.isValid=!1,t.add("upperCaseOnly",r.maketext("The value should only contain uppercase letters."))),t},lowerCaseOnly:function(e){var t=a.initializeValidationResult();return""!==e&&/^[a-z]+$/.test(e)||(t.isValid=!1,t.add("lowerCaseOnly",r.maketext("The value should only contain lowercase letters."))),t},alphaNumeric:function(e){var t=a.initializeValidationResult();return""!==e&&/^\w+$/.test(e)||(t.isValid=!1,t.add("alphaNumeric",r.maketext("The value should only contain alphanumeric characters."))),t},startsWith:function(e,t){var i=a.initializeValidationResult(),n=new RegExp("^"+t);return""!==e&&n.test(e)||(i.isValid=!1,i.add("startsWith",r.maketext("The value should start with “[_1]”.",t))),i},endsWith:function(e,t){var i=a.initializeValidationResult(),n=new RegExp(t+"$");return""!==e&&n.test(e)||(i.isValid=!1,i.add("endsWith",r.maketext("The value should end with “[_1]”.",t))),i}};return e.module("cjt2.validate").run(["validatorFactory",function(e){e.generate(t)}]),{methods:t,name:"ascii-data-validators",description:"Validation library for ascii values.",version:2}}),define("cjt/validator/compare-validators",["angular","lodash","cjt/validator/validator-utils","cjt/util/locale","cjt/validator/validateDirectiveFactory"],function(e,l,c,u){function d(e,t,i){var n=parseFloat(t);if(isNaN(n))e.isValid=!1,e.messages.default=u.maketext("The entered value, [_1], is not a number.",t);else{t=parseFloat(i);if(!isNaN(t))return{val:n,valCmp:t};e.isValid=!1,e.messages.default=u.maketext("The compare-to value, [_1], is not a number.",i)}}var h=/\.([0-9]+)$/,i=/^[^\s]+$/,t={stringEqual:function(e,t){var i=c.initializeValidationResult();return"string"==typeof e&&e!==t&&(i.isValid=!1,i.add("stringEqual",u.maketext("The text you have entered is not equal to “[_1]”.",t))),i},stringEqualIgnoreCase:function(e,t){var i=c.initializeValidationResult();return"string"==typeof e&&e.toLowerCase()!==t.toLowerCase()&&(i.isValid=!1,i.add("stringEqualIgnoreCase",u.maketext("The text you have entered is not equal to “[_1]”.",t))),i},numEqual:function(e,t){var i=c.initializeValidationResult(),e=d(i,e,t);return e&&e.val!==e.valCmp&&(i.isValid=!1,i.add("numEqual",u.maketext("The number you have entered is not equal to [numf,_1].",t))),i},numLessThan:function(e,t){var i,n=c.initializeValidationResult(),e=d(n,e,t);return e&&(i=e.val,e.valCmp<=i)&&(n.isValid=!1,n.add("numLessThan",u.maketext("The number should be less than [numf,_1].",t))),n},numLessThanEqual:function(e,t){var i,n=c.initializeValidationResult(),e=d(n,e,t);return e&&(i=e.val,e.valCmp<i)&&(n.isValid=!1,n.add("numLessThanEqual",u.maketext("The number should be less than or equal to [numf,_1].",t))),n},numGreaterThan:function(e,t){var i=c.initializeValidationResult(),e=d(i,e,t);return e&&e.val<=e.valCmp&&(i.isValid=!1,i.add("numGreaterThan",u.maketext("The number should be greater than [numf,_1].",t))),i},numGreaterThanEqual:function(e,t){var i=c.initializeValidationResult(),e=d(i,e,t);return e&&e.val<e.valCmp&&(i.isValid=!1,i.add("numGreaterThanEqual",u.maketext("The number should be greater than or equal to [numf,_1].",t))),i},numIsMultipleOf:function(e,t){var i=c.initializeValidationResult(),e=d(i,e,t);if(e){for(var n=""+e.val,a=""+e.valCmp,e=(h.test(n)||(n+=".0"),h.test(a)||(a+=".0"),n.match(h)),r=a.match(h),s=Math.max(e[1].length,r[1].length),o=0;o<s;o++)n+="0",a+="0";e=new RegExp("\\.([0-9]{"+s+"})"),n=n.replace(e,"$1."),a=a.replace(e,"$1.");parseInt(n,10)%parseInt(a,10)&&(i.isValid=!1,i.add("numMultipleOf",u.maketext("The number must be an even multiple of [numf,_1].",t)))}return i},excludeCharacters:function(e,t){var i=c.initializeValidationResult();if(null!==t){for(var n,a=[],r=0,s=(n=l.isString(t)?t.split(""):t).length;r<s;r++){var o=n[r];-1!==e.indexOf(o)&&a.push(o)}0<a.length&&(i.isValid=!1,i.add("excludeCharacters",u.maketext("The value contains the following excluded characters, which are not allowed: [_1]",a.join())))}return i},noSpaces:function(e){var t=c.initializeValidationResult();return e&&""!==e&&(t.isValid=i.test(e),t.isValid||t.add("noSpaces",u.maketext("The value contains spaces."))),t},stringNotEqual:function(e,t){var i=c.initializeValidationResult();return e===t&&(i.isValid=!1,i.add("stringNotEqual",u.maketext("The text you have entered can not be equal to “[_1]”.",t))),i},stringNotEqualIgnoreCase:function(e,t){var i=c.initializeValidationResult();return e.toLowerCase()===t.toLowerCase()&&(i.isValid=!1,i.add("stringNotEqualIgnoreCase",u.maketext("The text that you entered cannot be equal to “[_1]”.",t))),i},numNotEqual:function(e,t){var i=c.initializeValidationResult(),e=d(i,e,t);return e&&e.val===e.valCmp&&(i.isValid=!1,i.add("numNotEqual",u.maketext("The number you have entered can not be equal to [numf,_1].",t))),i}};return e.module("cjt2.validate").run(["validatorFactory",function(e){e.generate(t)}]),{methods:t,name:"compare-validators",description:"Validation library for comparison of values.",version:2}}),define("cjt/validator/datatype-validators",["angular","lodash","cjt/validator/validator-utils","cjt/util/locale","cjt/validator/validateDirectiveFactory"],function(e,n,a,r){var i=/^[0-9]+(?:\.[0-9]{1,2})?$/;function s(e,t,i){return t=n.isFinite(parseInt(t))?t:"",new RegExp("^"+(i?"-?":"")+"\\d+(\\.\\d"+("{1,"+t+"}")+")?$").test(e)}var o={digits:function(e){var t=a.initializeValidationResult();return""!==e&&/^\d+$/.test(e)||(t.isValid=!1,t.add("digits",r.maketext("The input should only contains numbers."))),t},isDollarAmount:function(e){var t=a.initializeValidationResult();return""!==e&&i.test(e)||(t.isValid=!1,t.add("isDollarAmount",r.maketext("The input should contain a dollar (USD) amount."))),t},integer:function(e){var t=a.initializeValidationResult();return""!==e&&/^-?\d+$/.test(e)||(t.isValid=!1,t.add("integer",r.maketext("The input should be a whole number."))),t},positiveInteger:function(e,t){var i=a.initializeValidationResult(),t=t||r.maketext("The input should be a positive whole number.");return""!==e&&/^\d+$/.test(e)||(i.isValid=!1,i.add("positiveInteger",t)),i},positiveOrZeroInteger:function(e){var t=r.maketext("The input should be zero or a positive whole number.");return o.positiveInteger(e,t)},negativeInteger:function(e){var t=a.initializeValidationResult();return""!==e&&/^-\d+$/.test(e)||(t.isValid=!1,t.add("negativeInteger",r.maketext("The input should be a negative whole number."))),t},float:function(e,t){var i=a.initializeValidationResult();return s(e,t,!0)||(i.isValid=!1,i.add("float",r.maketext("The input must be a float number with up to [quant,_1, decimal place, decimal places].",t))),i},positiveFloat:function(e,t){var i=a.initializeValidationResult();return s(e,t,!1)||(i.isValid=!1,i.add("positiveFloat",r.maketext("The input must be a positive float number with up to [quant,_1, decimal place, decimal places].",t))),i},hexColor:function(e){var t=a.initializeValidationResult();return""!==e&&/^([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e)||(t.isValid=!1,t.add("hexColor",r.maketext("The input should be a valid hexadecimal color (excluding the pound sign)."))),t}};return e.module("cjt2.validate").run(["validatorFactory",function(e){e.generate(o)}]),{methods:o,name:"datatype-validators",description:"Validation library for integer, digit, and similar.",version:2}}),define("cjt/validator/ip-validators",["angular","cjt/validator/validator-utils","cjt/util/locale","cjt/util/inet6","cjt/validator/validateDirectiveFactory"],function(e,a,s,i){var r=/^\d+$/,o=/^0+[0-9]+$/,t={ipv4:function(e){var t=a.initializeValidationResult();if(null==e)t.isValid=!1,t.add("ipv4",s.maketext("You must specify a valid [asis,IP] address."));else{var i=e.split(".");if(4!==i.length||"0"===i[0])t.isValid=!1,t.add("ipv4",s.maketext("You must specify a valid [asis,IP] address."));else{for(var n=0;n<i.length;n++){if(!r.test(i[n])){t.isValid=!1;break}if(255<i[n]){t.isValid=!1;break}if(o.test(i[n])){t.isValid=!1;break}}t.isValid||t.add("ipv4",s.maketext("You must specify a valid [asis,IP] address."))}}return t},ipv6:function(e){var t=a.initializeValidationResult();return i.isValid(e)||(t.isValid=!1,t.add("ipv6",s.maketext("You must specify a valid [asis,IP] address."))),t},cidr4:function(e){var e=e.split("/"),t=e[1],e=e[0],n=this.ipv4(e);if(n.isValid)if(t){if(t<0||32<t)return n.isValid=!1,n.add("cidr",s.maketext("You must specify a valid [asis,CIDR] range between 0 and 32.")),n;var a=e.split(/\./),r={32:{},31:{d:{min:0,max:254,by:2}},30:{d:{min:0,max:252,by:4}},29:{d:{min:0,max:248,by:8}},28:{d:{min:0,max:240,by:16}},27:{d:{min:0,max:224,by:32}},26:{d:[0,64,128,192]},25:{d:[0,128]},24:{d:0},23:{d:0,c:{min:0,max:254,by:2}},22:{d:0,c:{min:0,max:252,by:4}},21:{d:0,c:{min:0,max:248,by:8}},20:{d:0,c:{min:0,max:240,by:16}},19:{d:0,c:{min:0,max:224,by:32}},18:{d:0,c:[0,64,128,192]},17:{d:0,c:[0,128]},16:{d:0,c:0},15:{d:0,c:0,b:{min:0,max:254,by:2}},14:{d:0,c:0,b:{min:0,max:252,by:4}},13:{d:0,c:0,b:{min:0,max:248,by:8}},12:{d:0,c:0,b:{min:0,max:240,by:16}},11:{d:0,c:0,b:{min:0,max:224,by:32}},10:{d:0,c:0,b:[0,64,128,192]},9:{d:0,c:0,b:[0,128]},8:{d:0,c:0,b:0},7:{d:0,c:0,b:0,a:{min:0,max:254,by:2}},6:{d:0,c:0,b:0,a:{min:0,max:252,by:4}},5:{d:0,c:0,b:0,a:{min:0,max:248,by:8}},4:{d:0,c:0,b:0,a:{min:0,max:240,by:16}},3:{d:0,c:0,b:0,a:{min:0,max:224,by:32}},2:{d:0,c:0,b:0,a:[0,64,128,192]},1:{d:0,c:0,b:0,a:[0,128]},0:{d:0,c:0,b:0,a:0}}[t];["a","b","c","d"].reduce(function(e,t,i){return e=e&&((e,t,i,n)=>{if(!e)return!1;if(Object.prototype.hasOwnProperty.call(e,i)){if(0===e[i]&&0!==t)return n.add("cidr-details",s.maketext("In an [asis,IP] address like [asis,a.b.c.d], the “[_1]” octet must be the value 0 for this CIDR range.",i)),!1;if(e[i].length&&!e[i].includes(t))return n.add("cidr-details",s.maketext("In an [asis,IP] address like [asis,a.b.c.d], the “[_1]” octet must be one of the values in: [list_or,_2].",i,e[i])),!1;if(e[i].max){if(t<e[i].min||t>e[i].max)return n.add("cidr-details",s.maketext("In an [asis,IP] address like [asis,a.b.c.d], the “[_1]” octet must be greater than or equal to “[_2]” and less than or equal to “[_3]”.",i,e[i].min,e[i].max)),!1;if(t%e[i].by!=0)return n.add("cidr-details",s.maketext("In an [asis,IP] address like [asis,a.b.c.d], the “[_1]” octet must be evenly divisible by “[_2]”.",i,e[i].by)),!1}}return!0})(r,Number(a[i]),t,n)},!0)||(n.isValid=!1,n.add("cidr",s.maketext("The [asis,IP] address, [_1], in the [asis,CIDR] range is not supported for the range /[_2].",e,t)))}else n.isValid=!1,n.add("cidr",s.maketext("The [asis,CIDR] range must include a ‘/’ followed by the range."));return n}};return e.module("cjt2.validate").run(["validatorFactory",function(e){e.generate(t)}]),{methods:t,name:"ip-validators",description:"Validation library for IP Addresses.",version:2}}),define("cjt/validator/domain-validators",["lodash","angular","punycode","cjt/validator/validator-utils","cjt/util/locale","cjt/util/string","cjt/validator/ip-validators","cjt/util/idn","cjt/validator/validateDirectiveFactory"],function(e,t,i,l,c,n,a,r){var s=/^[a-zA-Z0-9\u0080-\uffff]([a-zA-Z0-9\u0080-\uffff-]*[a-zA-Z0-9\u0080-\uffff])?$/,o=/^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$/,u=/^[\w]([\w-]*[\w])?$/,d=/^[.][a-zA-Z0-9]+$/,h=/^[.]xn--[a-zA-Z0-9-]+$/,p=/(?:([^:/?#]+):)?(?:\/\/([^/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/,f=/:(\d+)$/,g=/[^a-z0-9:/?#[\]@!$&'()*+,;=._~%-]/i,m=/%[^0-9a-f]/i,v=/%[0-9a-f](:?[^0-9a-f]|$)/i,_=63;function b(e,t){if(e&&"."!==e.charAt(e.length-1)&&(e+="."),254<e.length)t.addError("length",c.maketext("The domain or record name cannot exceed [quant,_1,character,characters].",254));else{if(!(254<i.toASCII(e).length))return 1;e=n.getNonASCII(e),t.addError("length",c.maketext("The [asis,Punycode] representation of this domain or record name cannot exceed [quant,_1,character,characters]. (Non-[asis,ASCII] characters, like “[_2]”, require multiple characters to represent in [asis,Punycode].)",254,e[0]))}}function w(e,t){0===e.length?t.addError("labelLength",c.maketext("A [asis,DNS] label must not be empty.")):_<e.length?t.addError("labelLength",c.maketext("A [asis,DNS] label must not exceed [quant,_1,character,characters].",_)):i.toASCII(e).length>_&&(e=n.getNonASCII(e),t.addError("labelLength",c.maketext("The [asis,DNS] label’s [asis,Punycode] representation cannot exceed [quant,_1,byte,bytes]. (Non-[asis,ASCII] characters, like “[_2]”, require multiple characters to represent in [asis,Punycode].)",_,e[0])))}function y(e,t){var i=a.methods.ipv4(e).isValid,e=a.methods.ipv6(e).isValid;(i||e)&&(t.isValid=!1,t.add("ip",c.maketext("The domain or record name cannot be [asis,IPv4] or [asis,IPv6].")))}function j(e,t){u.test(e)||(t.isValid=!1,t.add("dnsLabel",c.maketext("The [asis,DNS] label must contain only the following characters: [list_and,_1].",["a-z","A-Z","0-9","-","_"])))}function x(e){return e=e&&"."===e.charAt(e.length-1)?e.slice(0,-1):e}var k={wildcardFqdnAllowTld:function(e){var n,a=l.initializeValidationResult();return e.length?"."===e[0]?a.addError("form",c.maketext("A domain name cannot begin with “[_1]”.",".")):"."===e[e.length-1]?a.addError("form",c.maketext("A domain name cannot end with “[_1]”.",".")):/\.\./.test(e)?a.addError("form",c.maketext("A domain name cannot contain two consecutive dots.")):/^[0-9.]+$/.test(e)?a.addError("form",c.maketext("A domain name cannot contain only numerals.")):b(e,a)&&((e,t)=>{if(!(e.length<2))return 1;t.addError("labels",c.maketext("The domain name must include at least two labels."))})(e=e.split("."),a)&&(n={},e.forEach(function(e,t){var i;"*"===e?0!==t&&a.addError("form",c.maketext("“[_1]” can appear only at the start of a wildcard domain name.","*")):n[e]||(i=I(t=e,i=a),s.test(t)?/[\u0080-\uffff]/.test(t)&&(t=r.getLabelDefects(t)).length&&i.addError("charCondition",t.join(" ")):i.addError("charCondition",c.maketext("The [asis,DNS] label must contain only non-[asis,ASCII] characters and the following: [list_and,_1].",["a-z","A-Z","0-9","-"]))),n[e]=!0})):a.addError("empty",c.maketext("You must enter a domain name.")),a},fqdn:function(e){var t=l.initializeValidationResult(),i=e.split(".");if(i.length<2)t.isValid=!1,t.add("oneDomain",c.maketext("The domain name must include at least two labels."));else if(b(e,t)&&(t=D(i[0])).isValid&&(t=S("."+i[i.length-1])).isValid)for(var n=1,a=i.length-1;n<a;n++)if(!(t=D(i[n])).isValid)return t;return t},threePartFqdn:function(e){var t=k.fqdn(e);return t.isValid&&e.split(".").length<3&&(t.isValid=!1,t.add("threeParts",c.maketext("A fully qualified domain name must contain at least 3 parts."))),t},wildcardFqdn:function(e){var t=l.initializeValidationResult(),i=e.split(".");if(i.length<2)t.isValid=!1,t.add("oneDomain",c.maketext("The domain name must include at least two labels."));else if(254<e.length)t.isValid=!1,t.add("length",c.maketext("The domain name cannot exceed [quant,_1,character,characters].",254));else{if(2<i.length){if("*"!==i[0]&&!(t=D(i[0])).isValid)return t}else if(!(t=D(i[0])).isValid)return t;if((t=S("."+i[i.length-1])).isValid)for(var n=1,a=i.length-1;n<a;n++)if(!(t=D(i[n])).isValid)return t}return t},subdomain:function(e){for(var t=l.initializeValidationResult(),i=e.split("."),n=0,a=i.length;n<a;n++)if(!(t=D(i[n])).isValid)return t;return t},url:function(e){var t=l.initializeValidationResult();if(null==e)return t.isValid=!1,t.add("url",c.maketext("You must specify a [asis,URL].")),t;var i,t=e,e=l.initializeValidationResult();if(g.test(t))e.isValid=!1,e.add("url",c.maketext("A [asis,URL] must not contain illegal characters."));else if(m.test(t)||v.test(t))e.isValid=!1,e.add("url",c.maketext("A [asis,URL] must not contain invalid hexadecimal escaped characters."));else if(t=(e=>((e=p.exec(e)).splice(0,1),e))(t),i=t[0],t=t[1],void 0===i)e.isValid=!1,e.add("url",c.maketext("A [asis,URL] must contain a valid protocol."));else if("http"!==(i=i.toLowerCase())&&"https"!==i)e.isValid=!1,e.add("url",c.maketext("A [asis,URL] must contain a valid protocol."));else if(void 0===t||0===t.length)e.isValid=!1,e.add("url",c.maketext("A [asis,URL] must contain a domain."));else{if(t=t.replace(f,""),!(i=k.fqdn(t)).isValid)return i;e.isValid=!0}return e},addonDomain:function(e){var t=l.initializeValidationResult(),i=e.split(".");if(i.length<2)t.isValid=!1,t.add("domainLength",c.maketext("The domain name must include at least two labels."));else for(var n=0,a=i.length;n<a;n++)if(0===n){if(!(t=this.subdomain(i[n])).isValid)return t}else if(n===i.length-1){if(!(t=S("."+i[n])).isValid)return t}else if(!(t=D(i[n])).isValid)return t;return t},domainName:function(e){var t=l.initializeValidationResult(),e=x(e);if(e){b(e,t),y(e,t);for(var i=e.split("."),n=0;n<i.length;n++)w(i[n],t),j(i[n],t)}else t.isValid=!1,t.add("domainName",c.maketext("You must specify a valid domain name."));return t},hostname:function(e){var t=l.initializeValidationResult(),e=x(e);if(e){b(e,t),y(e,t);for(var i=e.split("."),n=0;n<i.length;n++)D(i[n],t)}else t.isValid=!1,t.add("hostname",c.maketext("You must specify a valid hostname."));return t},mbox:function(e){var t=l.initializeValidationResult(),e=x(e);if(e){var i=e.split(".");/^[a-zA-Z0-9]([a-zA-Z0-9-+#]*[a-zA-Z0-9])?$/.test(i[0])||(t.isValid=!1,t.add("mbox",c.maketext("The first [asis,mbox] label must contain only the following characters: [list_and,_1]. The label cannot begin or end with a symbol.",["a-z","A-Z","0-9","-","+","#"])));for(var n=1;n<i.length;n++)D(i[n],t)}else t.isValid=!1,t.add("mbox",c.maketext("You must specify a valid [asis,mbox] name."));return t},redirectUrl:function(e){var t=l.initializeValidationResult(),i=e.search(/:\/\//),i=(e=i?e.substring(i+3):e).search(/\//),e=(-1===i&&(i=e.length),e.substring(0,i));return t=e?this.fqdn(e):t},zoneName:function(e,t){var i=l.initializeValidationResult(),n=x(e);if(n){if("A"===t||"AAAA"===t)for(var a=e.split("."),r=0,s=a.length;r<s;r++)if(a[r].includes("_"))return i.isValid=!1,i.add("zoneName",c.maketext("An “[_1]” record may not contain an underscore. Are you trying to create a “[asis,CNAME]”?",t)),i;b(n,i);var o=n.split("."),r=0;"*"===o[0]&&(r=1);for(s=o.length;r<s;r++)w(o[r],i),j(o[r],i)}else i.isValid=!1,i.add("zoneName",c.maketext("You must specify a valid zone name."));return i},zoneFqdn:function(e){var t,i,n=l.initializeValidationResult();return null==e?(n.isValid=!1,n.add("zoneFqdn",c.maketext("You must specify a fully qualified domain name.")),n):(t=a.methods.ipv4(e),i=a.methods.ipv6(e),t.isValid||i.isValid?(n.isValid=!1,n.add("zoneFqdn",c.maketext("The domain cannot be [asis,IPv4] or [asis,IPv6].")),n):k.fqdn(e.replace(/\.$/,"")))}};function S(e){var t=l.initializeValidationResult();return d.test(e)||h.test(e)||(t.isValid=!1,t.add("tld",c.maketext("The domain name must include a valid [output,acronym,TLD,Top Level Domain]."))),t}function I(e,t){return t=t||l.initializeValidationResult(),0===e.length?t.addError("length",c.maketext("A [asis,DNS] label must not be empty.")):e.length>_?t.addError("length",c.maketext("A [asis,DNS] label must not exceed [quant,_1,character,characters].",_)):"-"===e[0]?t.addError("charCondition",c.maketext("A [asis,DNS] label must not begin with “[_1]”.","-")):"-"===e[e.length-1]?t.addError("charCondition",c.maketext("A [asis,DNS] label must not end with “[_1]”.","-")):i.toASCII(e).length>_&&(e=n.getNonASCII(e),t.addError("length",c.maketext("The [asis,DNS] label’s [asis,Punycode] representation cannot exceed [quant,_1,byte,bytes]. (Non-[asis,ASCII] characters, like “[_2]”, require multiple characters to represent in [asis,Punycode].)",_,e[0]))),t}function D(e,t){return t=I(e,t),o.test(e)||t.addError("labelCharCondition",c.maketext("The [asis,DNS] label must contain only the following characters: [list_and,_1].",["a-z","A-Z","0-9","-"])),t}return t.module("cjt2.validate").run(["validatorFactory",function(e){e.generate(k)}]),{methods:k,name:"domain-validators",description:"Validation library for domain names.",version:2}}),define("cjt/validator/email-validator",["angular","lodash","cjt/validator/domain-validators","cjt/validator/validator-utils","cjt/validator/validateDirectiveFactory","cjt/util/locale"],function(c,a,r,u,e,d){var s=64;function i(e,t,i){var n=u.initializeValidationResult();if(/^[^@]+@.+$/.test(e)&&(i=!c.isDefined(i)||!!i,t)&&(t=c.isString(t)?[t]:t).length)for(var a=0,r=t.length;a<r;a++){var s=t[a];if(!/^[^@]+@.+$/.test(s))return n;var o=e===s,s=i&&(s=s,!!/[^+]+[+][^+]*@.+/.test(l=e))&&(l=l.split("@"),s=s.split("@"),l[1]===s[1])&&l[0]!==s[0]&&(l=l[0],new RegExp("^"+s[0]+"[+].*$").test(l));if(o||s){var l=i&&s?d.maketext("You must use an email address that does not exist in the following list: [list_or,_1], or a [asis,subaddress] of [quant,_2,this email address, one of these email addresses].",t,t.length):d.maketext("You must use an email address that does not exist in the following list: [list_or,_1].",t);n.addError("reservedEmail",l);break}}return n}var t={email:function(e,t){if(!a.includes(["cpanel","rfc"],t=t||"rfc"))throw new Error("Invalid spec passed to email() validator: "+t+".");var i=u.initializeValidationResult();if(""!==e){e=e.split("@");if(2!==e.length)return i.addError("twoParts",d.maketext("The email must contain a username and a domain.")),i;var n=e[1];(i=l(e[0],t)).isValid&&(i=(0,r.methods.fqdn)(n))}return i},emailNotReservedIncludeSubAddresses:function(e,t){return i(e,t,!0)},emailNotReserved:function(e,t){return i(e,t,!1)},username:function(e,t){if(a.includes(["cpanel","rfc"],t=t||"rfc"))return l(e,t);throw"Invalid spec passed to email() validator: "+t+"."}},o={username:{rfc:{emptyString:d.maketext("You must enter a username."),maxLength:d.maketext("The username cannot exceed [numf,_1] characters.",s),invalidChars:d.maketext("The username can only contain the following characters: [asis,a-zA-Z0-9!#$%][output,asis,amp()][output,apos][asis,*+/=?^_`{|}~-]"),atSign:d.maketext("Do not include the [asis,@] character or the domain name."),startEndPeriod:d.maketext("The username cannot begin or end with a period."),doublePeriod:d.maketext("The username cannot contain two consecutive periods.")},cpanel:{emptyString:d.maketext("You must enter a username."),maxLength:d.maketext("The username cannot exceed [numf,_1] characters.",s),invalidChars:d.maketext("The username can only contain letters, numbers, periods, hyphens, and underscores."),atSign:d.maketext("Do not include the [asis,@] character or the domain name."),startEndPeriod:d.maketext("The username cannot begin or end with a period."),doublePeriod:d.maketext("The username cannot contain two consecutive periods.")}}};function l(e,t){var i,n,e=((e,t)=>{var i,n=[];if(t=t||"rfc",""===e)n.push("emptyString");else{if(e.length>s&&n.push("maxLength"),"cpanel"!==t&&"rfc"!==t)throw"CJT2/validator/email-validator: invalid spec argument!";"rfc"===t?i=new RegExp("[^.a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]"):"cpanel"===t&&(i=new RegExp("[^.a-zA-Z0-9_-]")),!0===i.test(e)&&n.push("invalidChars"),-1<e.indexOf("@")&&n.push("atSign"),"."!==e.charAt(0)&&"."!==e.charAt(e.length-1)||n.push("startEndPeriod"),!0===/\.\./.test(e)&&n.push("doublePeriod")}return n})(e,t);return e=e,i=o.username[t],n=u.initializeValidationResult(),e.forEach(function(e){n.addError(e,i[e])}),n}return c.module("cjt2.validate").run(["validatorFactory",function(e){e.generate(t)}]),{methods:t,name:"email-validators",description:"Validation library for email addresses.",version:2}}),define("cjt/validator/length-validators",["angular","lodash","cjt/validator/validator-utils","cjt/util/locale","cjt/util/string","cjt/validator/validateDirectiveFactory"],function(e,a,r,s,n){var o={length:function(e,t){var i=r.initializeValidationResult();return e.length!==t&&(i.isValid=!1,i.add("length",s.maketext("The length of the string should be [quant,_1,character,characters,zero].",t))),i},maxLength:function(e,t){var i=r.initializeValidationResult();return e.length>t&&(i.isValid=!1,i.add("maxLength",s.maketext("The length of the string cannot be greater than [quant,_1,character,characters].",t))),i},maxUTF8Length:function(e,t){var i;return e.length>t?o.maxLength(e,t):(i=r.initializeValidationResult(),n.getUTF8ByteCount(e)>t&&(i.isValid=!1,i.add("maxUTF8Length",s.maketext("This string is too long or complex. Shorten it, or replace complex (non-[asis,ASCII]) characters with simple ([asis,ASCII]) ones. (The string’s [asis,UTF-8] encoding cannot exceed [quant,_1,byte,bytes].)",t))),i)},minLength:function(e,t){var i=r.initializeValidationResult();return e.length<t&&(i.isValid=!1,i.add("minLength",s.maketext("The length of the string cannot be less than [quant,_1,character,characters].",t))),i},minSelect:function(e,t){var i,n=r.initializeValidationResult();return(i=null!==e&&a.isArray(e)?e.length:i)<t&&(n.isValid=!1,n.add("minSelect",s.maketext("Select at least [quant,_1,item,items] from the list.",t))),n}};return e.module("cjt2.validate").run(["validatorFactory",function(e){e.generate(o)}]),{methods:o,name:"length-validators",description:"Validation library for length measurement of strings.",version:2}}),define("cjt/validator/path-validators",["angular","lodash","cjt/validator/validator-utils","cjt/util/locale","cjt/validator/validateDirectiveFactory"],function(e,t,s,o){var l=["\\","*","|",'"',"<",">"],c=new RegExp("["+t.escapeRegExp(l.join(""))+"]"),i={validPath:function(e){var t=s.initializeValidationResult();if(null==e)t.isValid=!1,t.add("path",o.maketext("You must specify a valid path."));else if(c.test(e))t.isValid=!1,t.add("path",o.maketext("The path cannot contain the following characters: [join, ,_1]",l));else{var i=e.split("/");if(i&&0<i.length)for(var n=0,a=i.length;n<a;n++){var r=i[n];if(255<r.length)return t.isValid=!1,t.add("path",o.maketext("Folder name is long by [quant,_1,byte,bytes]. The maximum allowed length is [quant,_2,byte,bytes].",r.length-255,255)),t;if("."===r||".."===r)return t.isValid=!1,t.add("path",o.maketext("You cannot use the [list_and,_1] directories.",[".",".."])),t}}return t}};return e.module("cjt2.validate").run(["validatorFactory",function(e){e.generate(i)}]),{methods:i,name:"path-validators",description:"Validation library for paths.",version:2}}),define("cjt/validator/sql-data-validators",["angular","lodash","cjt/validator/validator-utils","cjt/util/locale","cjt/validator/validateDirectiveFactory"],function(e,t,i,n,a){var r={sqlAlphaNumeric:function(e){var t=i.initializeValidationResult();return""===e?(t.isValid=!1,t.messages.notEmpty="The sql name can not be empty"):!0===/_$/.test(e)?(t.isValid=!1,t.messages.trailingUnderscore="The sql name can not contain a trailing underscore"):!0===/^[a-zA-Z0-9_-]+$/.test(e)&&(t.isValid=!1,t.messages.regexRule="The sql name should only contain alpha numeric _ and -"),t}};e.module("cjt2.validate").run(["validatorFactory",function(e){e.generate(r)}])}),define("cjt/validator/username-validators",["angular","lodash","cjt/validator/validator-utils","cjt/util/locale","cjt/validator/validateDirectiveFactory"],function(e,t,i,n){var a={ftpUsername:function(e){var t=i.initializeValidationResult();if("string"==typeof e){if("ftp"===e.toLowerCase())return t.isValid=!1,t.add("ftpUsername",n.maketext("User name cannot be “[_1]”.","ftp")),t;if(25<e.length)return t.isValid=!1,t.add("ftpUsername",n.maketext("User name cannot be longer than [quant,_1,character,characters].",25)),t;if(!0===new RegExp("[^0-9a-zA-Z_-]").test(e))t.isValid=!1,t.add("ftpUsername",n.maketext("The user name should only contain the following characters: [asis,a-zA-Z0-9-]."))}return t}};return e.module("cjt2.validate").run(["validatorFactory",function(e){e.generate(a)}]),{methods:a,name:"username-validators",description:"Validation library for usernames.",version:2}}),window.__accessibilityViolations=[],window.getAccessibilityViolations=function(){return window.__accessibilityViolations},window.setAccessibilityViolations=function(e){window.__accessibilityViolations=e},window.clearAccessibilityViolations=function(){window.__accessibilityViolations=[]},window.runAccessibilityChecker=function(e){var e=e||window.AXE_CONFIG.context||document,t=window.AXE_CONFIG.options||{};return window.axe.run(e,t).then(function(e){window.setAccessibilityViolations(e.violations)})},define("cjt/webAccessibilityChecker",function(){}),define("cjt2.unprotected.cmb",function(){})}();
Back to Directory
File Manager