!function(e){e.su=e.su||{},e.su.Service=function(){var t=function(){if("object"==typeof this.constructor.instance)return this.constructor.instance;e.su.Observable.call(this),this.constructor.instance=this,e.su.serviceManager.register(this.name,this)};return e.su.inherit(e.su.Observable,t),t}()}(jQuery),function(e){e.su.Vtype=function(){var t=function(i){if("object"==typeof t.instance)return t.instance;this.name="vtype",e.su.Service.call(this),t.instance=this};return e.su.inherit(e.su.Service,t),t.types={email:{regex:/^(\w)+((\.){0,1}[\w-]+)*@([a-zA-Z0-9-]+\.)+[a-zA-Z0-9]{2,4}$/,vtypeText:e.su.CHAR.VALIDATION.EMAIL},float_positive:{regex:/^[0-9]\d*(.[0-9]\d*)?$/,vtypeText:e.su.CHAR.VALIDATION.NUMBER},float_number:{regex:/^-?[0-9]\d*(.[0-9]\d*)?$/,vtypeText:e.su.CHAR.VALIDATION.NUMBER,validator:function(t){if(t=parseFloat(t),(null!==this.max||void 0!==this.max)&&t>this.max){if(null!==this.min||void 0!==this.min){var i=e.su.CHAR.VALIDATION.NUMBER_MIN_MAX.replace("%min",this.min.toString()).replace("%max",this.max.toString());return i}var i=e.su.CHAR.VALIDATION.NUMBER_MAX.replace("%max",this.max.toString());return i}if((null!==this.min||void 0!==this.min)&&tthis.max){if(null!==this.min||void 0!==this.min){var i=e.su.CHAR.VALIDATION.NUMBER_MIN_MAX.replace("%min",this.min.toString()).replace("%max",this.max.toString());return i}var i=e.su.CHAR.VALIDATION.NUMBER_MAX.replace("%max",this.max.toString());return i}if((null!==this.min||void 0!==this.min)&&t57)&&i>32)&&void 0}},date:{format:"yyyy/MM/dd",validator:function(t){var i;if("MM/dd/yyyy"===this.format){i=/^(0[1-9]|1[0-2])\/(0[1-9]|1[0-9]|2[0-9]|3[0-1])\/([0-9]{4})$/;var a=t.split("/");if(parseInt(a[2],10)<1970)return e.su.CHAR.VALIDATION.DATE_INVALID;if(parseInt(a[2],10)>2030)return e.su.CHAR.VALIDATION.DATE_INVALID}else"yyyy/MM/dd"===this.format&&(i=/^([0-9]{4})\/(0[1-9]|1[0-2])\/(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/);return!1!==i.test(t)||e.su.CHAR.VALIDATION.DATE}},ipv6:{isPrefixFlag:!1,regex:/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,vtypeText:e.su.CHAR.VALIDATION.IPV6,validator:function(t){if(!new RegExp("^[2-3]{1}[0-9A-Fa-f]{3}:").test(t))return e.su.CHAR.VALIDATION.IPV6_NOT_GLOBAL;var i=new RegExp("::$"),a=new RegExp("^2002:");if(this.isPrefixFlag){if(!i.test(t))return e.su.CHAR.VALIDATION.IPV6_NOT_PREFIX;if(a.test(t))return e.su.CHAR.VALIDATION.IPV6_PREFIX}else if(i.test(t))return e.su.CHAR.VALIDATION.IPV6_NOT_GLOBAL;var r=t.match(/:/g);return!(this.isPrefixFlag&&r.length>5)||e.su.CHAR.VALIDATION.IPV6_NOT_PREFIX}},ip:{allowAllZeroFlag:!1,disallowAllZeroText:e.su.CHAR.VALIDATION.IP_NO_ALL_ZERO,allowLoopFlag:!1,disallowLoopText:e.su.CHAR.VALIDATION.IP_NO_LOOP,allowDTypeFlag:!1,disallowDTypeText:e.su.CHAR.VALIDATION.IP_NO_D_TYPE,allowETypeFlag:!1,disallowETypeText:e.su.CHAR.VALIDATION.IP_NO_E_TYPE,allowAllOneFlag:!1,disallowAllOneText:e.su.CHAR.VALIDATION.IP_NO_ALL_ONE,disallowFirstZeroFlag:!0,disallowFirstZeroText:e.su.CHAR.VALIDATION.IP_NO_FIRST_ZERO,disallowFirstAllOneText:e.su.CHAR.VALIDATION.IP_NO_FIRST_ALL_ONE,regex:/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]|0\d\d)(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]|0\d\d)){3}$/,validator:function(e){var t,i,a=e,r=[0,0,0,0];for(i=0;i<3;i++){var n=a.indexOf(".");r[i]=a.substring(0,n),t=a.substring(n+1),a=t}for(r[3]=t,i=0;i<4;i++)if(r[i]<0||r[i]>255)return!1;if(!this.allowLoopFlag&&127==r[0])return this.disallowLoopText;if(!this.allowDTypeFlag&&r[0]>=224&&r[0]<=239)return this.disallowDTypeText;if(!this.allowETypeFlag&&r[0]>=240&&r[0]<=254)return this.disallowETypeText;if(this.allowAllOneFlag){if(255==r[0]&&255==r[1]&&255==r[2]&&255==r[3]);else if(255==r[0])return this.disallowFirstAllOneText}else{if(255==r[0]&&255==r[1]&&255==r[2]&&255==r[3])return this.disallowAllOneText;if(255==r[0])return this.disallowFirstAllOneText}return this.allowAllZeroFlag||0!=r[0]||0!=r[1]||0!=r[2]||0!=r[3]?!this.disallowFirstZeroFlag||0!=r[0]||0==r[1]&&0==r[2]&&0==r[3]||this.disallowFirstZeroText:this.disallowAllZeroText},vtypeText:e.su.CHAR.VALIDATION.IP},ipRange:{validator:function(t){function i(e){var t=/^\s*[0-9]{1,3}\.{1}[0-9]{1,3}\.{1}[0-9]{1,3}\.{1}[0-9]{1,3}\s*$/,i=e.split(".");return 4!=i.length?-1:t.test(e)?Number(i[0])*(1<<24)+(Number(i[1])<<16|Number(i[2])<<8|Number(i[3])):-1}var a=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]|0\d\d)(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]|0\d\d)){3}$/,r=t.split("-");if(1!=r.length){if(2==r.length){var n=r[0],s=r[1];return 1!=a.test(n)&&0==a.test(n)?e.su.CHAR.VALIDATION.IP_FORMAT:1!=a.test(s)&&0==a.test(s)?e.su.CHAR.VALIDATION.IP_FORMAT:!(i(n)>=i(s))||e.su.CHAR.VALIDATION.IP_RANGE}return e.su.CHAR.VALIDATION.IP_RANGE_NUM}var n=r[0];return"0.0.0.0"==n?e.su.CHAR.VALIDATION.IP_ALL_ZERO:0!=a.test(n)||e.su.CHAR.VALIDATION.IP_FORMAT}},portRange:{validator:function(t){function i(t){return 0!=/^[0-9]+$/.test(t)||e.su.CHAR.VALIDATION.NUMBER}var a=t.split("-");if(1==a.length){var r=a[0];return Number(r)<1?e.su.CHAR.VALIDATION.PORT_START_ERR:Number(r)>65535?e.su.CHAR.VALIDATION.PORT_END_ERR:i(r)}if(2==a.length){var r=a[0],n=a[1];return i(r)&&i(n)?Number(r)65535)||e.su.CHAR.VALIDATION.PORT_END_ERR:e.su.CHAR.VALIDATION.PORT_RANGE_ERR:e.su.CHAR.VALIDATION.PORT_RANGE_FORMAT}return e.su.CHAR.VALIDATION.PORT_RANGE_INVALID}},timeRange:{validator:function(t){function i(e){var t=e.split(":");return data=t[0].toString()+t[1].toString(),data=Number(data),0==data&&(data="0000"),data}function a(t){if(!/^[0-9]{1,2}\:{1}[0-9]{1,2}$/g.test(t))return e.su.CHAR.VALIDATION.TIME_FORMAT;var i=t.indexOf(":"),a=parseInt(t.slice(0,i),10),r=parseInt(t.slice(i+1),10);return a<0||a>=24?e.su.CHAR.VALIDATION.TIME_FORMAT:r<0||r>=60?e.su.CHAR.VALIDATION.TIME_FORMAT:!(24==a&&r>0)||e.su.CHAR.VALIDATION.TIME_START}function r(t){if(!/^[0-9]{1,2}\:{1}[0-9]{1,2}$/g.test(t))return e.su.CHAR.VALIDATION.TIME_FORMAT;var i=t.indexOf(":"),a=parseInt(t.slice(0,i),10),r=parseInt(t.slice(i+1),10);return a<0||a>24?e.su.CHAR.VALIDATION.TIME_FORMAT:r<0||r>=60?e.su.CHAR.VALIDATION.TIME_FORMAT:(0!=a||0!=r)&&(!(24==a&&r>0)||e.su.CHAR.VALIDATION.TIME_END)}var n=t.split("-");if(""!=n&&1==n.length)return e.su.CHAR.VALIDATION.TIME_END;if(2!=n.length)return e.su.CHAR.VALIDATION.TIME_FORMAT;var s=n[0],A=n[1];if(1==a(s)&&1==r(A)){var s=i(n[0]),A=i(n[1]);return s=0)}},password:{regex:/^[A-Za-z0-9\`\~\!\@\#\$\&\*\(\)\-\=\_\+\[\]\{\}\;\:\'\"\\\|\/\?\.\,\<\>\%\^\/\ ]+$/,vtypeText:e.su.CHAR.VALIDATION.PWD},portal_password:{regex:/^[A-Za-z0-9_]+$/,vtypeText:e.su.CHAR.ERROR["00000259"],validator:function(e){return!(e.length<8||e.length>16)}},portal_domain_name:{regex:/((http|ftp|https):\/\/)*(([a-zA-Z0-9\._-]+\.[a-zA-Z]{2,6})|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,4})*(\/[a-zA-Z0-9\&%_\.\/-~-]*)?/,vtypeText:e.su.CHAR.VALIDATION.INVALIDTEXT},protal_title:{regex:/^\S+$/,vtypeText:e.su.CHAR.ERROR["00000256"],validator:function(e){return!(e.length>31)}},protal_content:{vtypeText:e.su.CHAR.ERROR["00000257"],validator:function(t){return!(t.length>1023)||e.su.CHAR.ERROR["00000257"]}},string_visible_allow_blank:{regex:/^(\S|\x20)+$/,vtypeText:e.su.CHAR.VALIDATION.STRING_VISIBLE_ALLOW_BLANK},string_visible_describe:{regex:/^[A-Za-z0-9\-\_]+$/,vtypeText:e.su.CHAR.VALIDATION.INVALIDTEXT},name:{regex:/^[A-Za-z0-9\_]+$/,vtypeText:e.su.CHAR.VALIDATION.NAME},name_special:{regex:/^[A-Za-z0-9\_\-]+$/,vtypeText:e.su.CHAR.VALIDATION.NAME,validator:function(e){return!(e.length<4)}},name_with_special_start:{regex:/^[a-zA-Z_]/,vtypeText:e.su.CHAR.VALIDATION.NAME_START},name_in_vpn:{regex:/^[a-zA-Z0-9\_][A-Za-z0-9\_\-]{0,14}$/,vtypeText:e.su.CHAR.VALIDATION.VPN_NAME_PWD},pwd_in_vpn:{regex:/^[A-Za-z0-9\_\-]{1,15}$/,vtypeText:e.su.CHAR.VALIDATION.VPN_NAME_PWD},cloud_username:{regex:/^[\s\S]*?$/,vtypeText:e.su.CHAR.VALIDATION.NAME},cloud_email:{regex:/^[a-zA-Z0-9\.\!\#\$\%\&\'\*\+\/\=\?\^\_\`\{\|\}\~\-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$/,vtypeText:e.su.CHAR.VALIDATION.EMAIL},cloud_pwd:{regex:/^[\x21-\x7E]{6,32}$/,vtypeText:e.su.CHAR.VALIDATION.PWD},note:{regex:/^[A-Za-z0-9\`\~\!\@\#\$\%\^\&\*\(\)\-\=\_\+\[\]\{\}\;\:\'\"\\\|\/\?\.\,\<\>\ ]*$/,vtypeText:e.su.CHAR.VALIDATION.NOTE},sim_pin:{regex:/^[0-9]{4}$/,vtypeText:e.su.CHAR.VALIDATION.SIM_PIN},sim_dialnum:{regex:/^[0-9*#]{0,118}$/,vtypeText:e.su.CHAR.VALIDATION.SIM_DIALNUM},port:{validator:function(t){var i=/^\s*[0-9]+\s*$/,a=t.toString(),r=a.split("-"),n=r.length;if(n>2)return e.su.CHAR.VALIDATION.PORT_RANGE_FORMAT;for(var s=0;s65535)return e.su.CHAR.VALIDATION.PORT_RANGE_OUT;return!0}},time_start:{validator:function(t){if(!/^[0-9]{1,2}\:{1}[0-9]{1,2}$/g.test(t))return e.su.CHAR.VALIDATION.TIME_FORMAT;var i=t.indexOf(":"),a=parseInt(t.slice(0,i),10),r=parseInt(t.slice(i+1),10);return a<0||a>=24?e.su.CHAR.VALIDATION.TIME_FORMAT:r<0||r>=60?e.su.CHAR.VALIDATION.TIME_FORMAT:!(24==a&&r>0)||e.su.CHAR.VALIDATION.TIME_START}},time_end:{validator:function(t){if(!/^[0-9]{1,2}\:{1}[0-9]{1,2}$/g.test(t))return e.su.CHAR.VALIDATION.TIME_FORMAT;var i=t.indexOf(":"),a=parseInt(t.slice(0,i),10),r=parseInt(t.slice(i+1),10);return a<0||a>24?e.su.CHAR.VALIDATION.TIME_FORMAT:r<0||r>=60?e.su.CHAR.VALIDATION.TIME_FORMAT:0==a&&0==r?e.su.CHAR.VALIDATION.TIME_END:!(24==a&&r>0)||e.su.CHAR.VALIDATION.TIME_END}},time:{format:"hh:mm:ss",validator:function(t){if("hh:mm:ss"===this.format){if(!1===/^(?:[01]\d|2[0-3])(?::[0-5]\d){2}$/.test(t))return e.su.CHAR.VALIDATION.TIME_FORMAT}else if("hh:mm"===this.format){var i=/^(?:[01]\d|2[0-3])(?::[0-5]\d){1}$/;if(!1===i.test(t))return e.su.CHAR.VALIDATION.TIME_FORMAT}return!0}},username:{regex:/^[A-Za-z0-9\`\~\!\@\#\$\%\^\&\*\(\)\-\=\_\+\[\]\{\}\;\:\'\"\\\|\/\?\.\,\<\>\ ]+$/,vtypeText:e.su.CHAR.VALIDATION.USERNAME},adminName:{regex:/^[A-Za-z0-9\-\_\@\.]+$/,vtypeText:e.su.CHAR.VALIDATION.USERNAME},securityPwd:{validator:function(t){if(t.length>=8&&t.length<64){var i=/^[A-Za-z0-9\`\~\!\@\#\$\&\*\(\)\-\=\_\+\[\]\{\}\;\:\'\"\\\|\/\?\.\,\<\>\%\^\ ]+$/;if(t&&!i.test(t))return e.su.CHAR.VALIDATION.ILLEGAL_PWD}else if(64==t.length){var i=/^[A-Fa-f0-9]+$/;if(t&&!i.test(t))return e.su.CHAR.VALIDATION.ILLEGAL_PWD}return!0}},wanPwd:{regex:/^[A-Za-z0-9\`\~\!\@\#\$\&\*\(\)\-\=\_\+\[\]\{\}\;\:\'\"\\\|\/\?\.\,\<\>\%\^\/\ ]+$/,vtypeText:e.su.CHAR.VALIDATION.PASSWORD_FORMAT},userPwd:{regex:/^[A-Za-z0-9\`\~\!\@\#\$\&\*\(\)\-\=\_\+\[\]\{\}\;\:\'\"\\\|\/\?\.\,\<\>\%\^\/]+$/,vtypeText:e.su.CHAR.VALIDATION.PASSWORD_FORMAT},serviceName:{regex:/^[A-Za-z0-9\`\~\!\@\#\$\&\*\(\)\-\=\_\+\[\]\{\}\;\:\'\"\\\|\/\?\.\,\<\>\%\^\/\ ]+$/,vtypeText:e.su.CHAR.VALIDATION.SERVICE_NAME},acName:{regex:/^[A-Za-z0-9\`\~\!\@\#\$\&\*\(\)\-\=\_\+\[\]\{\}\;\:\'\"\\\|\/\?\.\,\<\>\%\^\/\ ]+$/,vtypeText:e.su.CHAR.VALIDATION.AC_NAME},integer:{regex:/^[0-9]+$/,vtypeText:e.su.CHAR.VALIDATION.INTEGER_INVALID,validator:function(t){if((null!==this.max||void 0!==this.max)&&t>this.max){if(null!==this.min||void 0!==this.min){var i=e.su.CHAR.VALIDATION.NUMBER_MIN_MAX.replace("%min",this.min.toString()).replace("%max",this.max.toString());return i}var i=e.su.CHAR.VALIDATION.NUMBER_MAX.replace("%max",this.max.toString());return i}if((null!==this.min||void 0!==this.min)&&t1e6)||e.su.CHAR.VALIDATION.MAX_MILLION}},ipMask:{allowAllZero:!1,allowAny:!1,validator:function(t){var a=t.indexOf("/"),r=a>0?t.slice(0,a):t,n=t.slice(a+1,t.length);if(n<=0||n>32)return e.su.CHAR.VALIDATION.IP_MASK_UNION;if(!/^[0-9]{1,3}\.{1}[0-9]{1,3}\.{1}[0-9]{1,3}\.{1}[0-9]{1,3}$/.test(r))return e.su.CHAR.VALIDATION.IP_MASK_UNION;var s=r.split(".");for(i=0;i<4;i++)if(s[i]<0||s[i]>255)return e.su.CHAR.VALIDATION.IP_MASK_UNION;if(!this.allowAllZero&&0==parseInt(s[0],10)&&0==parseInt(s[1],10)&&0==parseInt(s[2],10)&&0==parseInt(s[3],10))return e.su.CHAR.VALIDATION.IP_MASK_UNION;if(255==s[0]){if(!this.allowAny)return e.su.CHAR.VALIDATION.IP_MASK_UNION;if(255!=s[1]||255!=s[2]||255!=s[3])return e.su.CHAR.VALIDATION.IP_MASK_UNION}return s[0]>=240&&s[0]<=254?e.su.CHAR.VALIDATION.IP_MASK_UNION:s[0]>=224&&s[0]<=239?e.su.CHAR.VALIDATION.IP_MASK_UNION:127!=s[0]||e.su.CHAR.VALIDATION.IP_MASK_UNION}},deviceName:{regex:/^[A-Za-z0-9\-\_]+$/,vtypeText:e.su.CHAR.VALIDATION.DEVICE_NAME_INVALID},noStartSpace:{validator:function(t){var i=/^\s+/;return!t||!i.test(t)||e.su.CHAR.VALIDATION.START_SPACE_IS_NOT_ALLOW}},noSpecialChar:{validator:function(t){var i=/[\s\$\`\#\&\(\)\;\"\'\<\>]+/;return!t||!i.test(t)||e.su.CHAR.VALIDATION.NO_SPECIAL_CHARACTER}},hex:{regex:/^[A-Fa-f0-9]*$/,vtypeText:e.su.CHAR.VALIDATION.INVALIDTEXT},string:{regex:/^[A-Za-z0-9\_\-\@\:\/\.]+$/,vtypeText:e.su.CHAR.VALIDATION.INVALIDTEXT},numberAndPoint:{regex:/^[0-9\.]+$/,vtypeText:e.su.CHAR.VALIDATION.INVALIDTEXT}},t.prototype.validate=function(i,a){var r={type:"sample",regex:/^[a-zA-Z0-9]&/,vtypeText:"",validator:null},n="",s={};if("string"===e.type(a))n=a;else if("object"===e.type(a)&&a.vtype&&(n=a.vtype,s=e.extend(!0,{},a),!n))return!0;if(!t.types[n]){for(var A=!1,l=n.split("||"),u=0;u0&&e[i]=0||p.children.push(T),a.view?e.su.router.loadView(a.module,a.view,function(t){"stopped"!=A.loadingModule[I][v]&&(r.load(t),"stopped"!=A.loadingModule[I][v]&&(e.su.moduleManager.launch(I,function(){delete A.loadingModule[I][v],!!n&&n()}),A.isBusy=!1))}):e.su.router.loadView(a.module,function(t){"stopped"!=A.loadingModule[I][v]&&(r.load(t),"stopped"!=A.loadingModule[I][v]&&(e.su.moduleManager.launch(I,function(){delete A.loadingModule[I][v],!!n&&n()}),A.isBusy=!1))})},t.prototype.unLoad=function(t){var i=function(t,a){var r=t[a].module,n=t[a].children;if(n&&n.length>0)for(var s=0;s