<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><head lang=en><meta http-equiv=X-UA-Compatible content="IE=edge"><meta content="text/html; charset=utf-8"http-equiv=Content-Type><meta name=viewport content="user-scalable=1,initial-scale=1,minimum-scale=1,maximum-scale=1"><meta name=apple-mobile-web-app-capable content=yes><meta name=format-detection content="telephone=no"><meta name=robots content=noindex,nofollow><link rel=manifest href={{{domainurl}}}manifest.json><link rel="shortcut icon"type=image/x-icon href={{{domainurl}}}favicon.ico><link keeplink=1 type=text/css href=styles/style.css media=screen rel=stylesheet title=CSS><link rel=apple-touch-icon href=/favicon-303x303.png><script src=scripts/common-0.0.1{{min}}.js></script><script keeplink=1 src=scripts/u2f-api{{min}}.js></script><title>{{{title}}} - Login</title><style>#body{background-color:#5f9ea0;background:linear-gradient(to bottom right,#369,#036)}#flink a:link{color:#c8c8c8}#flink a:visited{color:#c8c8c8}#flink a:hover{color:#c8c8c8}#flink a:active{color:#c8c8c8}#welcomeText a:link{color:#fff}#welcomeText a:visited{color:#fff}#welcomeText a:hover{color:#fff}#welcomeText a:active{color:#fff}</style><body id=body onload='"undefined"!=typeof startup&&startup()'class="arg_hide login"><div id=backgroundImage style="position:absolute;left:0;bottom:0;z-index:-1;height:60%;width:100%;opacity:.1;background-image:url(welcome.png);background-repeat:no-repeat;background-position:left bottom;background-size:contain"></div><table id=centralTable class=container style=height:100%;z-index:1><tr><td id=logincell>{{{titlehtml}}} <img id=loginPicture><div style="font-size:46px;font-family:Arial,Helvetica,sans-serif;font-weight:700;padding-bottom:10px;color:#c8c8c8;text-shadow:2px 2px 2px #000">{{{title1}}}<sup style=font-size:20px> {{{title2}}}</sup></div><div id=loginpanel style="display:none;box-shadow:1px 1px 4px #000"><form id=loginpanelform method=post><input type=hidden name=action value=login><div id=message1></div><div id=loginuserpassdiv style=display:none><table style=width:100%><tr><td><input id=username title="Nombre de Usuario"style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc {{{autocomplete}}}=username placeholder="Nombre de Usuario"maxlength=64 name=username required onchange=validateLogin(1) onkeyup=validateLogin(1,event)><tr><td><input id=password title=Contraseña style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc {{{autocomplete}}}=current-password placeholder=Contraseña type=password maxlength=256 name=password required onchange=validateLogin(2) onkeyup=validateLogin(2,event)><tr><td><div id=showPassHintLink title="Pista de la Contraseña:"style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc;display:none><a onclick="return showPassHint(event)"href=# style=cursor:pointer>Mostrar Pista</a></div><tr><td><input id=loginButton style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:6px onclick='submitButtonClicked("loginpanelform")'type=button value="Iniciar Sesión"><tr id=topLanguageSelectRow style=display:none><td id=topLanguageSelect></table><div id=hrAccountDiv style=display:none><hr></div><div id=resetAccountDiv style=display:none;padding:2px><span id=resetAccountSpan>¿Olvidó su nombre de usuario / contraseña?</span> <a onclick="return xgo(3,event)"href=# style=cursor:pointer>Restablecer cuenta</a>.</div><div id=newAccountDiv style=display:none;padding:2px;padding-top:10px>¿No tienes una cuenta? <a onclick="return xgo(2,event)"href=# style=cursor:pointer>Crear una</a>.</div></div><input id=loginformargs name=urlargs type=hidden><div id=authStrategies style=display:none><hr id=loginuserpasshr style=display:none><div style=margin-bottom:8px>Iniciar sesión usando una cuenta existente</div><a id=auth-twitter href=auth-twitter style=display:none><img src=images/login/twitter32.png srcset="images/login/twitter64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Ingresar usando Twitter"></a><a id=auth-google href=auth-google style=display:none><img src=images/login/google32.png srcset="images/login/google64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Ingresar usando Google"></a><a id=auth-github href=auth-github style=display:none><img src=images/login/github32.png srcset="images/login/github64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Ingresar usando GitHub"></a><a id=auth-azure href=auth-azure style=display:none><img src=images/login/azure32.png srcset="images/login/azure64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Ingresar usando Azure"></a><a id=auth-oidc href=auth-oidc style=display:none><img src=images/login/oidc32.png srcset="images/login/oidc64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Iniciar sesión con OpenID Connect"></a><a id=auth-oidc-azure href=auth-oidc style=display:none><img src=images/login/azure32.png srcset="images/login/azure64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Sign-in with Azure using OpenID Connect"></a><a id=auth-oidc-google href=auth-oidc style=display:none><img src=images/login/google32.png srcset="images/login/google64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Sign-in with Google using OpenID Connect"></a><a id=auth-jumpcloud href=auth-jumpcloud style=display:none><img src=images/login/jumpcloud32.png srcset="images/login/jumpcloud64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Ingresar usando JumpCloud"></a><a id=auth-intel href=auth-intel style=display:none><img src=images/login/intel32.png srcset="images/login/intel64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Ingresar usando Intel&amp;reg;"></a><a id=auth-saml href=auth-saml style=display:none><img src=images/login/generic32.png srcset="images/login/generic64.png 2x"loading=lazy width=32 height=32 style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer"title="Inicio de Sesión Único"></a></div></form></div><div id=createpanel style=display:none;position:relative><form id=createpanelform method=post><input type=hidden name=action value=createaccount><div id=message2></div><div><b>Creación de Cuenta</b></div><div id=passwordPolicyCallout style=display:none></div><table><tr id=nuUserRow><td id=nuUser align=right width=100>Nombre de Usuario:<td><input id=ausername {{{autocomplete}}}=username name=username onchange=validateCreate(1) maxlength=64 onkeydown=haltReturn(event) onkeyup=validateCreate(1,event)><tr><td id=nuEmail align=right width=100>Correo electrónico:<td><input id=aemail {{{autocomplete}}}=email inputmode=email name=email onchange=validateCreate(2) maxlength=256 onkeydown=haltReturn(event) onkeyup=validateCreate(2,event)><tr><td id=nuPass1 align=right>Contraseña:<td><input id=apassword1 type=password name=password1 {{{autocomplete}}}=new-password maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(3,event) onkeyup=validateCreate(3,event)><tr><td id=nuPass2 align=right>Contraseña:<td><input id=apassword2 type=password name=password2 {{{autocomplete}}}=new-password maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(4,event) onkeyup=validateCreate(4,event)><tr id=createPanelHint style=display:none><td id=nuHint align=right>Pista de la Contraseña:<td><input id=apasswordhint name=apasswordhint {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(5,event) onkeyup=validateCreate(5,event)><tr id=newAccountPass title="Ingresa el token de creación de cuenta"><td id=nuToken align=right>Token de Creación:<td><input id=anewaccountpass type=password name=anewaccountpass {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(6,event) onkeyup=validateCreate(6,event)><tr id=newAccountCaptchaImg title="Imagen CAPTCHA"><td><td colspan=2><img src={{{newAccountCaptchaImage}}} loading=lazy><tr id=newAccountCaptcha title="Revision de seguridad"><td id=nuCaptcha align=right>Revision de seguridad:<td><input id=anewaccountcaptcha name=anewaccountcaptcha {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(7,event) onkeyup=validateCreate(7,event)><tr><td colspan=2><div style=float:right><input id=createButton type=button onclick='submitButtonClicked("createpanelform")'value="Crear Cuenta"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Regresar al inicio de sesión</a> <input id=createformargs name=urlargs type=hidden> <input id=createformcaptcha name=captchaargs type=hidden value={{{newAccountCaptcha}}}></form></div><div id=resetpanel style=display:none><form id=resetpanelform method=post><input type=hidden name=action value=resetaccount><div id=message3></div><div><b>Restablecimiento de cuenta</b></div><table style=width:100%;margin-top:4px;margin-bottom:4px><tr><td><input id=remail title="Correo electrónico"style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc {{{autocomplete}}}=username placeholder="Correo electrónico"maxlength=256 name=email onchange=validateReset() onkeyup=validateReset(event)><tr><td><input id=eresetButton style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:6px type=button onclick='submitButtonClicked("resetpanelform")'value="Restablecer Cuenta"disabled></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Regresar al inicio de sesión</a> <input id=resetformargs name=urlargs type=hidden></form></div><div id=tokenpanel style=display:none><form id=tokenpanelform method=post {{{autocomplete}}}=off><input type=hidden name=action value=tokenlogin> <input type=hidden name=hwstate value={{{hwstate}}}><div id=message4></div><table style=width:100%><tr><td><input id=tokenInput {{{autocomplete}}}=one-time-code title=Token style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc placeholder=Token maxlength=50 name=token onchange=checkToken(event) onpaste=checkToken(event) onkeyup=checkToken(event) onkeydown=checkToken(event)><br><input id=hwtokenInput name=hwtoken style=display:none><tr><td><div><input id=tokenOkButton style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:6px type=button onclick='submitButtonClicked("tokenpanelform")'value="Iniciar Sesión"disabled></div><tr><td style=align-content:center;padding-top:10px><label id=tokenInputRememberLabel><input id=tokenInputRemember name=remembertoken type=checkbox><span id=tokenInputRememberSpan></span></label><tr id=2farow><td><hr><div><img id=securityKeyButton src=images/login/2fa-key-48.png srcset="images/login/2fa-key-96.png 2x"title="Usar Clave de Seguridad"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useSecurityKey(1)> <img id=smsKeyButton src=images/login/2fa-sms-48.png srcset="images/login/2fa-sms-96.png 2x"title=SMS loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useSMSToken(1)> <img id=msgKeyButton src=images/login/2fa-messaging-48.png srcset="images/login/2fa-messaging-96.png 2x"title=Mensajería loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useMsgToken(1)> <img id=emailKeyButton src=images/login/2fa-mail-48.png srcset="images/login/2fa-mail-96.png 2x"title="Correo electrónico"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useEmailToken(1)> <img id=pushKeyButton src=images/login/2fa-push-48.png srcset="images/login/2fa-push-96.png 2x"title="Autenticación de Dispositivos"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=usePushToken(1)> <img id=duoKeyButton src=images/login/2fa-duo-48.png srcset="images/login/2fa-duo-96.png 2x"title="Duo Authentication"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useDuoToken(1)></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Regresar al inicio de sesión</a> <input id=tokenformargs name=urlargs type=hidden></form></div><div id=resettokenpanel style=display:none><form id=resettokenpanelform method=post><input type=hidden name=action value=resetaccount><div id=message5></div><table style=width:100%><tr><td><input id=resetTokenInput {{{autocomplete}}}=one-time-code title=Token style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px;background-color:#fff8cc placeholder=Token maxlength=50 name=token onchange=resetCheckToken(event) onpaste=resetCheckToken(event) onkeyup=resetCheckToken(event) onkeydown=resetCheckToken(event)><br><input id=resetHwtokenInput name=hwtoken style=display:none><tr><td><div><input id=resetTokenOkButton style=box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:6px type=button onclick='submitButtonClicked("resettokenpanelform")'value="Iniciar Sesión"disabled></div><tr id=2farow2><td colspan=2><hr><div><img id=securityKeyButton2 src=images/login/2fa-key-48.png srcset="images/login/2fa-key-96.png 2x"title="Usar Clave de Seguridad"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useSecurityKey(2)> <img id=smsKeyButton2 src=images/login/2fa-sms-48.png srcset="images/login/2fa-sms-96.png 2x"title=SMS loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useSMSToken(2)> <img id=msgKeyButton2 src=images/login/2fa-msg-48.png srcset="images/login/2fa-msg-96.png 2x"title=SMS loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useMsgToken(2)> <img id=emailKeyButton2 src=images/login/2fa-mail-48.png srcset="images/login/2fa-mail-96.png 2x"title="Correo electrónico"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useEmailToken(2)> <img id=pushKeyButton2 src=images/login/2fa-push-48.png srcset="images/login/2fa-push-96.png 2x"title="Autenticación de Dispositivos"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=usePushToken(2)> <img id=duoKeyButton2 src=images/login/2fa-duo-48.png srcset="images/login/2fa-duo-96.png 2x"title="Duo Authentication"loading=lazy width=48 height=48 style="display:none;margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px #000;cursor:pointer;background-color:#fff"onclick=useDuoToken(2)></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Regresar al inicio de sesión</a> <input id=resettokenformargs name=urlargs type=hidden></form></div><div id=resetpasswordpanel style=display:none;position:relative><form id=resetpasswordpanelform method=post><input type=hidden name=action value=resetpassword><div id=message6></div><div id=rpasswordPolicyCallout style=display:none></div><table><tr><td id=rnuPass1 width=100 align=right>Contraseña:<td><input id=rapassword1 type=password name=rpassword1 {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(3,event) onkeyup=validatePassReset(3,event)><tr><td id=rnuPass2 align=right>Contraseña:<td><input id=rapassword2 type=password name=rpassword2 {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(4,event) onkeyup=validatePassReset(4,event)><tr id=resetpasswordpanelHint style=display:none><td id=rnuHint align=right>Pista de la Contraseña:<td><input id=rapasswordhint name=rpasswordhint {{{autocomplete}}}=off maxlength=256 onkeydown=haltReturn(event) onchange=validatePassReset(5,event) onkeyup=validatePassReset(5,event)><tr><td colspan=2><div style=float:right><input id=resetPassButton type=button onclick='submitButtonClicked("resetpasswordpanelform")'value="Restablecer la Contraseña"disabled></div><div id=rpassWarning style=padding-top:6px></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Regresar al inicio de sesión</a> <input id=resetpasswordformargs name=urlargs type=hidden></form></div><div id=checkemailpanel style=display:none;position:relative><form id=checkemailpanelform method=post><input type=hidden name=action value=checkemail><div id=message7></div><table id=checkCheckOperations style=width:100%;display:none><tr><td><div id=unconfirmedEmail></div><br><tr><td><div><input id=changeEmailButton type=button value="Cambiar Dirección de Correo Electrónico"onclick=changeEmailAddress()> <input id=checkEmailButton2 type=button value="Reenviar Correo Electrónico de Confirmación"onclick=resentEmailConfirmation()> <input id=checkEmailButton type=button onclick='submitButtonClicked("checkemailpanelform")'style=display:none> <input id=checkEmailVal name=email type=hidden></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Regresar al inicio de sesión</a> <input id=checkemailformargs name=urlargs type=hidden></form></div><div id=waitpushpanel style=display:none><form id=waitpushpanelform method=post><input type=hidden name=action value=pushlogin><div id=message8></div><table style=width:100%><tr><td style=align-content:center;padding-top:10px><img id=waitpushpanelimage src=images/login/push-150.png srcset="images/login/push-300.png 2x"style=opacity:.3 loading=lazy width=265 height=150><tr><td style=align-content:center;padding-top:10px><label id=tokenInputRememberLabel2><input id=tokenInputRemember2 name=remembertoken type=checkbox><span id=tokenInputRememberSpan2></span></label></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>Regresar al inicio de sesión</a> <input id=pushtokenformargs name=urlargs type=hidden> <input id=pushtokenInput name=hwstate type=hidden> <input id=pushOkButton onclick='submitButtonClicked("waitpushpanelform")'style=display:none></form></div><tr id=welcomeTextRow><td><div id=welcomeText style=color:#fff;text-align:center;margin-left:20px;margin-right:20px></div><tr id=bottomLanguageSelectRow style=display:none;text-align:center><td id=bottomLanguageSelect><tr style=height:20px><td><div><div id=flink style=float:right;margin-right:4px;color:#c8c8c8>{{{rootCertLink}}}&nbsp;<a href=terms>Términos y Privacidad</a></div><div id=flink style=margin-left:4px;color:#c8c8c8>{{{footer}}}</div></div></table><div id=dialog style=display:none><div id=dialogHeader><div id=id_dialogclose style=float:right;padding:5px;cursor:pointer onclick=setDialogMode()><b>X</b></div><div id=id_dialogtitle style=padding:5px></div><div style=width:100%;margin:6px></div></div><div id=dialogBody><div id=dialog1><div id=id_dialogMessage></div></div><div id=dialog2><div id=id_dialogOptions></div></div></div><div id=idx_dlgButtonBar><input id=idx_dlgCancelButton type=button value=Cancelar onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=OK onclick=dialogclose(1)></div></div><script>var xxdialogMode,xxdialogFunc,xxdialogButtons,xxdialogTag,random="{{{randomlength}}}",welcomePictureFullScreen="true"===decodeURIComponent("{{{welcomePictureFullScreen}}}"),passlogin="{{{passlogin}}}",passhint="{{{passhint}}}",loginMode="{{{loginmode}}}",newAccount="{{{newAccount}}}",newAccountPass=parseInt("{{{newAccountPass}}}"),newAccountCaptcha="{{{newAccountCaptcha}}}",emailCheck="{{{emailcheck}}}",passRequirements="{{{passRequirements}}}",hardwareKeyChallenge=decodeURIComponent("{{{hkey}}}"),passRequirementsEx=null!=(passRequirements=""!=passRequirements?JSON.parse(decodeURIComponent(passRequirements)):{}).min||null!=passRequirements.max||null!=passRequirements.upper||null!=passRequirements.lower||null!=passRequirements.numeric||null!=passRequirements.nonalpha,features=parseInt("{{{features}}}"),welcomeText=decodeURIComponent("{{{welcometext}}}"),currentpanel=0,publicKeyCredentialRequestOptions=null,otpduo="true"===decodeURIComponent("{{{otpduo}}}"),otpemail="true"===decodeURIComponent("{{{otpemail}}}"),otpsms="true"===decodeURIComponent("{{{otpsms}}}"),otpmsg="true"===decodeURIComponent("{{{otpmsg}}}"),otppush="true"===decodeURIComponent("{{{otppush}}}"),autofido="true"===decodeURIComponent("{{{autofido}}}"),twoFactorCookieDays=parseInt("{{{twoFactorCookieDays}}}"),authStrategies="{{{authStrategies}}}".split(","),tokenTimeout=parseInt("{{{tokenTimeout}}}"),websocket=null,formSubmitted=!1,serverLangs="{{{renderLanguages}}}".split(","),loclist={af:"Afrikaans",sq:"Albanés",ar:"Árabe (estándar)","ar-dz":"Árabe (Algeria)","ar-bh":"Árabe (Bahrain)","ar-eg":"Arabe (Egipto)","ar-iq":"Arabe (Irak)","ar-jo":"Árabe (Jordania)","ar-kw":"Árabe (Kuwait)","ar-lb":"Árabe (Líbano)","ar-ly":"Árabe (Libia)","ar-ma":"Árabe (Marruecos)","ar-om":"Árabe (Omán)","ar-qa":"Árabe (Qatar)","ar-sa":"Árabe (Arabia Saudita)","ar-sy":"Árabe (Siria)","ar-tn":"Árabe (Túnez)","ar-ae":"Árabe (U.A.E.)","ar-ye":"Árabe (Yemen)",an:"Aragonés",hy:"Armenio",as:"Asamés",ast:"Asturiano",az:"Azerbaiyano",eu:"Vasco",bg:"Búlgaro",be:"Bielorruso",bn:"Bengalí",bs:"Bosnio",br:"Bretón",my:"Birmano",ca:"Catalan",ch:"Chamorro",ce:"Checheno",zh:"Chino","zh-hk":"Chino (Hong Kong)","zh-cn":"Chino (PRC)","zh-sg":"Chino (Singapur)","zh-tw":"Chino (Taiwán)",cv:"Chuvash",co:"Corso",cr:"Cree",hr:"Croata",cs:"Checo",da:"Danés",nl:"Holandés (estándar)","nl-be":"Holandés (belga)",en:"Inglés","en-au":"Inglés (Australia)","en-bz":"Inglés (belice)","en-ca":"Inglés (Canadá)","en-ie":"Inglés (Irlanda)","en-jm":"Inglés (Jamaica)","en-nz":"Inglés (Nueva Zelanda)","en-ph":"Inglés (Filipinas)","en-za":"Inglés (Sudáfrica)","en-tt":"Inglés (Trinidad y Tobago)","en-gb":"Inglés (Reino Unido)","en-us":"Inglés (Estados Unidos)","en-zw":"Inglés (Zimbabwe)",eo:"Esperanto",et:"Estonio",fo:"Faeroese",fa:"Farsi (Persa)",fj:"Fiyiano",fi:"Finlandés",fr:"Francés (estándar)","fr-be":"Francés (Bélgica)","fr-ca":"Francés (Canadá)","fr-fr":"Francés (Francia)","fr-lu":"Francés (Luxemburgo)","fr-mc":"Francés (Mónaco)","fr-ch":"Francés (Suiza)",fy:"Friso",fur:"Friuliano",gd:"Gaélico (Escocés)","gd-ie":"Gaélico (Irlandés)",gl:"Gallego",ka:"Georgiano",de:"Alemán (Estándar)","de-at":"Alemán (Austria)","de-de":"Alemán (Alemania)","de-li":"Alemán (Liechtenstein)","de-lu":"Alemán (Luxemburgo)","de-ch":"Alemán (Suiza)",el:"Griego",gu:"Gujarati",ht:"Haitiano",he:"Hebreo",hi:"Hindi",hu:"Hungaro",is:"Islandés",id:"Indonesio",iu:"Inuktitut",ga:"Irlandesa",it:"Italiano (estándar)","it-ch":"Italiano (Suiza)",ja:"Japones",kn:"Kannada",ks:"Cachemira",kk:"Kazajo",km:"Jemer",ky:"Kirghiz",tlh:"Klingon",ko:"Coreano","ko-kp":"Coreano (Corea del Norte)","ko-kr":"Coreano (Corea del Sur)",la:"Latin",lv:"Letona",lt:"Lituano",lb:"Luxemburgués",mk:"Macedonio Macedonia",ms:"Malayo",ml:"Malayalam",mt:"Maltés",mi:"Maori",mr:"Marathi",mo:"Moldavo",nv:"Navajo",ng:"Ndonga",ne:"Nepali",no:"Noruego",nb:"Noruego (Bokmal)",nn:"Noruego (Nynorsk)",oc:"Occitano",or:"Oriya",om:"Oromo","fa-ir":"Persa / Irán",pl:"Polaco",pt:"Portugues","pt-br":"Portugues (Brazil)",pa:"Punjabi","pa-in":"Punjabi (India)","pa-pk":"Punjabi (Pakistan)",qu:"Quechua",rm:"Retorrománico",ro:"Rumano","ro-mo":"Rumano (Moldavia)",ru:"Ruso","ru-mo":"Ruso (Moldavia)",sz:"Sami (Lapona)",sg:"Sango",sa:"Sánscrito",sc:"Sardo",sd:"Sindhi",si:"Cingalés",sr:"Serbio",sk:"Eslovaco",sl:"Esloveno",so:"Somani",sb:"Sorbio",es:"Español","es-ar":"Español (Argentina)","es-bo":"Español (Bolivia)","es-cl":"Español (Chile)","es-co":"Español (Colombia)","es-cr":"Español (Costa Rica)","es-do":"Español (República Dominicana)","es-ec":"Español (Ecuador)","es-sv":"Español (El Salvador)","es-gt":"Español (Guatemala)","es-hn":"Español (Honduras)","es-mx":"Español (Mexico)","es-ni":"Español (Nicaragua)","es-pa":"Español (Panama)","es-py":"Español (Paraguay)","es-pe":"Español (Peru)","es-pr":"Español (Puerto Rico)","es-es":"Español (España)","es-uy":"Español (Uruguay)","es-ve":"Español (Venezuela)",sx:"Sutu",sw:"Swahili",sv:"Sueco","sv-fi":"Sueco (Finlandia)","sv-sv":"Sueco (Suecia)",ta:"Tamil",tt:"Tatar",te:"Teluga",th:"Tailandés",tig:"Tigre",ts:"Tsonga",tn:"Tswana",tr:"Turco",tk:"Turcomanos",uk:"Ucraniano",hsb:"Sorbio superior",ur:"Urdu",ve:"Venda",vi:"Vietnamita",vo:"Volapük",wa:"Valón",cy:"Galés",xh:"Xhosa",ji:"Yiddish",zu:"Zulu"},loclistex={"zh-chs":"Chino (simplificado)","zh-cht":"Chino tradicional)"},showLanguageSelect="{{{showLanguageSelect}}}";function startup(){"true"==decodeURIComponent("{{{loginpicture}}}")&&(Q("loginPicture").src="loginlogo.png"),QV("welcomeTextRow",""!=welcomeText),QH("welcomeText",welcomeText),welcomePictureFullScreen&&(QS("backgroundImage").height="100%",QS("backgroundImage").opacity="1",QS("backgroundImage")["background-position"]="center center",QS("backgroundImage")["background-size"]="cover");var e=parseInt("{{{messageid}}}"),a=["","Si es correcto, se envió correo de restablecimiento.","Correo electrónico enviado.","Se requiere verificación de correo electrónico, verifica tu buzón y haz clic en el enlace de confirmación.","SMS enviado.","Enviando notificación ...","Mensaje enviado."],n=["No se puede crear una cuenta.","Límite de cuenta alcanzado.","Cuenta existente con esta dirección de correo electrónico.","Token de creación de cuenta no inválido.","El nombre de usuario ya existe.","Contraseña rechazada, usa una diferente.","Correo electrónico no válido.","Cuenta no encontrada.","Token no válido, intente nuevamente.","No se puede enviar el correo electrónico.","Cuenta bloqueada.","Acceso denegado.","Error de inicio de sesión, verifique nombre de usuario y contraseña.","Cambio de contraseña requerido.","Dirección IP bloqueada, intenta nuevamente más tarde.","Servidor en mantenimiento.","No se pudo enviar la notificación del dispositivo.","Verificacion de seguridad invalida."];if(0<e){var o="";if(e<100&&e<a.length?o=a[e]:100<=e&&e-100<n.length&&(o=n[e-100]),""!=o)for(o=100<=e?'<span class="msg error"><b style=color:#8C001A>'+o+"<b></span><br /><br />":'<span class="msg success"><b>'+o+"</b></span><br /><br />",r=1;r<9;r++)QH("message"+r,o)}var t=JSON.parse("{{{flashErrors}}}");if(t&&0<t.length){o="";for(r=0;r<t.length;r++)t[r]&&(o+='<span class="msg error"><b style=color:#8C001A>'+t[r]+"<b></span><br /><br />");QH("message1",o),QV("message1",!0)}var s=parseUriArgs();if("top"===showLanguageSelect||"bottom"===showLanguageSelect){var r,i='<select id=d2langselect style="box-sizing:border-box;width:280px;border:0;border-radius:4px;padding:8px" onChange="changeLanguage()">';for(r in i+='<option value="*">Use Browser Language</option>',serverLangs){var l=serverLangs[r];i+='<option value="'+l+'"'+(s.lang==l?" selected":"")+">"+l+" - "+(loclist[l]||loclistex[l])+"</option>"}QH(showLanguageSelect+"LanguageSelect",i),"top"===showLanguageSelect&&(QS(showLanguageSelect+"LanguageSelect")["padding-top"]="5px"),QV(showLanguageSelect+"LanguageSelectRow",!0)}if(passlogin="true"==passlogin,1===s.passlogin&&(passlogin=!0),0===s.passlogin&&(passlogin=!1),QV("loginuserpassdiv",passlogin),QV("loginuserpasshr",passlogin),0<twoFactorCookieDays?(QV("tokenInputRememberLabel",!0),QH("tokenInputRememberSpan",format("Recuerdar este dispositivo por {0} días.",twoFactorCookieDays)),QV("tokenInputRememberLabel2",!0),QH("tokenInputRememberSpan2",format("Recuerdar este dispositivo por {0} días.",twoFactorCookieDays))):(QV("tokenInputRememberLabel",!1),QV("tokenInputRememberLabel2",!1)),0<window.location.href.indexOf("?")&&(a=window.location.href.substring(window.location.href.indexOf("?")),Q("loginformargs").value=a,Q("createformargs").value=a,Q("resetformargs").value=a,Q("tokenformargs").value=a,Q("pushtokenformargs").value=a,Q("resettokenformargs").value=a,Q("resetpasswordformargs").value=a,Q("checkemailformargs").value=a),0==(32&features)){n=null;try{n=top.location.toString().toLowerCase()}catch(e){}if(top!=self&&(null==n||0==top.active))return void(top.location=self.location)}if(2097152&features&&(Q("username").placeholder="Correo electrónico",QH("resetAccountSpan","¿Olvidó su contraseña?"),QV("nuUserRow",!1)),QV("createPanelHint",!0===passRequirements.hint),QV("resetpasswordpanelHint",!0===passRequirements.hint),""!=authStrategies&&(QV("authStrategies",!0),0<=authStrategies.indexOf("twitter")&&QV("auth-twitter",!0),0<=authStrategies.indexOf("google")&&QV("auth-google",!0),0<=authStrategies.indexOf("github")&&QV("auth-github",!0),0<=authStrategies.indexOf("azure")&&QV("auth-azure",!0),0<=authStrategies.indexOf("oidc")&&QV("auth-oidc",!0),0<=authStrategies.indexOf("oidc-azure")&&QV("auth-oidc-azure",!0),0<=authStrategies.indexOf("oidc-google")&&QV("auth-oidc-google",!0),0<=authStrategies.indexOf("jumpcloud")&&QV("auth-jumpcloud",!0),0<=authStrategies.indexOf("intel")&&QV("auth-intel",!0),0<=authStrategies.indexOf("saml"))&&QV("auth-saml",!0),validateCreate(),0!=loginMode.length?go(parseInt(loginMode)):go(1),QV("newAccountDiv","1"===newAccount||"true"===newAccount),null!=passhint&&0<passhint.length&&QV("showPassHintLink",!0),QV("newAccountPass",1==newAccountPass),QV("newAccountCaptcha",""!=newAccountCaptcha),QV("newAccountCaptchaImg",""!=newAccountCaptcha),QV("resetAccountDiv","true"==emailCheck),QV("hrAccountDiv","true"==emailCheck||1==newAccountPass),"4"==loginMode){0<tokenTimeout&&setTimeout(function(){Q("hwtokenInput").value="**timeout**",QE("tokenOkButton",!0),Q("tokenOkButton").click()},tokenTimeout);try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}var u=null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type,c=otpemail&&2!=e&&4!=e&&6!=e,d=otpsms&&2!=e&&4!=e&&6!=e,p=otpmsg&&2!=e&&4!=e&&6!=e,g=otppush&&2!=e&&4!=e&&6!=e,m=otpduo&&2!=e&&4!=e&&6!=e;QV("securityKeyButton",u),QV("emailKeyButton",c),QV("smsKeyButton",d),QV("msgKeyButton",p),QV("pushKeyButton",g),QV("duoKeyButton",m),QV("2farow",u||c||d||p||g||m),autofido&&u&&setTimeout(function(){useSecurityKey(1)},300)}if("5"==loginMode){0<tokenTimeout&&setTimeout(function(){Q("hwtokenInput").value="**timeout**",QE("tokenOkButton",!0),Q("tokenOkButton").click()},tokenTimeout);try{hardwareKeyChallenge=0<hardwareKeyChallenge.length?JSON.parse(hardwareKeyChallenge):null}catch(e){hardwareKeyChallenge=null}u=null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type,c=otpemail&&2!=e&&4!=e&&6!=e,d=otpsms&&2!=e&&4!=e&&6!=e,p=otpmsg&&2!=e&&4!=e&&6!=e,g=otppush&&2!=e&&4!=e&&6!=e,m=otpduo&&2!=e&&4!=e&&6!=e;QV("securityKeyButton2",u),QV("emailKeyButton2",c),QV("smsKeyButton2",d),QV("msgKeyButton2",p),QV("pushKeyButton2",g),QV("duoKeyButton2",m),QV("2farow2",u||c||d||p||g||m),autofido&&u&&setTimeout(function(){useSecurityKey(2)},300)}"8"==loginMode&&((websocket=new WebSocket(passhint)).onopen=function(e){QS("waitpushpanelimage").opacity="1"},websocket.onmessage=function(e){"string"!=typeof e.data&&this.close();var a=null;try{a=JSON.parse(e.data)}catch(e){}!0===a.sent?QH("message8",'<span class="msg success"><b>'+format("Solicitud enviada, {0}.",a.code)+"</b></span><br /><br />"):!1===a.sent?(QH("message8",'<span class="msg error"><b style=color:#8C001A>No se pudo enviar la solicitud.<b></span><br /><br />'),QV("tokenInputRememberLabel2",!1),this.close()):!0===a.approved?(this.close(),QV("tokenInputRememberLabel2",!1),QH("message8",'<span class="msg success"><b>Petición Aceptada.</b></span><br /><br />'),Q("pushtokenInput").value=a.token,Q("pushOkButton").click()):(QH("message8",'<span class="msg error"><b style=color:#8C001A>Acceso rechazado.<b></span><br /><br />'),QV("tokenInputRememberLabel2",!1),this.close())},websocket.onclose=function(e){QS("waitpushpanelimage").opacity="0.3"},websocket.onerror=function(e){QH("message8",'<span class="msg error"><b style=color:#8C001A>Error de Conexión<b></span><br /><br />'),QS("waitpushpanelimage").opacity="0.5"})}function changeLanguage(){var e=Q("d2langselect").value,a=new URLSearchParams(window.location.search),e=("*"==e?a.delete("lang"):a.set("lang",e),window.location.pathname+"?"+a.toString());window.location.href=e}function useSecurityKey(a){if(null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type){"string"==typeof hardwareKeyChallenge.challenge&&(hardwareKeyChallenge.challenge=Uint8Array.from(atob(hardwareKeyChallenge.challenge),function(e){return e.charCodeAt(0)}).buffer),publicKeyCredentialRequestOptions={challenge:hardwareKeyChallenge.challenge,allowCredentials:[],timeout:hardwareKeyChallenge.timeout};for(var e=0;e<hardwareKeyChallenge.keyIds.length;e++)publicKeyCredentialRequestOptions.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[e]),function(e){return e.charCodeAt(0)}),type:"public-key",transports:["usb","ble","nfc","internal"]});navigator.credentials.get({publicKey:publicKeyCredentialRequestOptions}).then(function(e){e={id:btoa(String.fromCharCode.apply(null,new Uint8Array(e.rawId))),clientDataJSON:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.clientDataJSON))),userHandle:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.userHandle))),signature:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.signature))),authenticatorData:btoa(String.fromCharCode.apply(null,new Uint8Array(e.response.authenticatorData)))};1==a?(Q("hwtokenInput").value=JSON.stringify(e),QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==a&&(Q("resetHwtokenInput").value=JSON.stringify(e),QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())},function(e){console.log("credentials-get error",e)})}}function useEmailToken(e){1==otpemail&&setDialogMode(1,"Inicio de Sesión Seguro",3,useEmailKeyEx,"¿Enviar token a la dirección de correo electrónico registrada?",e)}function useEmailKeyEx(e,a){1==a?(Q("hwtokenInput").value="**email**",QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==a&&(Q("resetHwtokenInput").value="**email**",QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())}function useSMSToken(e){1==otpsms&&setDialogMode(1,"Inicio de Sesión Seguro",3,useSMSTokenEx,"¿Enviar token al número de teléfono registrado?",e)}function useSMSTokenEx(e,a){1==a?(Q("hwtokenInput").value="**sms**",QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==a&&(Q("resetHwtokenInput").value="**sms**",QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())}function useMsgToken(e){1==otpmsg&&setDialogMode(1,"Inicio de Sesión Seguro",3,useMsgTokenEx,"Enviar Token a la aplicacion de mensajes?",e)}function useMsgTokenEx(e,a){1==a?(Q("hwtokenInput").value="**msg**",QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==a&&(Q("resetHwtokenInput").value="**msg**",QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())}function usePushToken(e){1==e?(Q("hwtokenInput").value="**push**",QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==e&&(Q("resetHwtokenInput").value="**push**",QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())}function useDuoToken(e){1==e?(Q("hwtokenInput").value="**duo**",QE("tokenOkButton",!0),Q("tokenOkButton").click()):2==e&&(Q("resetHwtokenInput").value="**duo**",QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click())}function showPassHint(e){return messagebox("Pista de la Contraseña:",passhint),haltEvent(e),!1}function xgo(e,a){return QV("message1",!1),QV("message2",!1),QV("message3",!1),QV("message4",!1),QV("message5",!1),QV("message6",!1),QV("message7",!1),go(e),haltEvent(a),!1}function go(e){currentpanel=e,setDialogMode(0),QV("showPassHintLink",!1),QV("loginpanel",1==e),QV("createpanel",2==e),QV("resetpanel",3==e),QV("tokenpanel",4==e),QV("resettokenpanel",5==e),QV("resetpasswordpanel",6==e),QV("checkemailpanel",7==e),QV("waitpushpanel",8==e),1==e&&Q("username").focus(),2==e&&(2097152&features?Q("aemail"):Q("ausername")).focus(),3==e&&Q("remail").focus(),4==e&&Q("tokenInput").focus(),5==e&&Q("resetTokenInput").focus(),6==e&&Q("rapassword1").focus(),7==e&&(QH("unconfirmedEmail",passhint),QV("checkCheckOperations",""!=Q("unconfirmedEmail").innerHTML),QH("checkEmailVal",passhint))}function submitButtonClicked(e){formSubmitted||(formSubmitted=!0,document.getElementById(e).submit())}function validateLogin(e,a){setTimeout(function(){setDialogMode(0),null!=a&&13==a.keyCode&&(1==e&&""!=Q("username").value?Q("password").focus():2==e&&""!=Q("password").value&&Q("loginButton").click()),null!=a&&haltEvent(a)},100)}function validateCreate(e,a){setDialogMode(0);var n=!1,n=!!(2097152&features)||0<Q("ausername").value.length&&-1==Q("ausername").value.indexOf(" ")&&-1==Q("ausername").value.indexOf('"')&&-1==Q("ausername").value.indexOf(","),o=1==validateEmail(Q("aemail").value),t=0<Q("apassword1").value.length,s=0<Q("apassword2").value.length&&Q("apassword2").value==Q("apassword1").value,r=0==newAccountPass||0<Q("anewaccountpass").value.length,i=""==newAccountCaptcha||0<Q("anewaccountcaptcha").value.length,l=n&&o&&t&&s&&r;QS("nuUser").color=n?"black":"#7b241c",QS("nuEmail").color=o?"black":"#7b241c",QS("nuPass1").color=t?"black":"#7b241c",QS("nuPass2").color=s?"black":"#7b241c",QS("nuToken").color=r?"black":"#7b241c",QS("nuCaptcha").color=i?"black":"#7b241c",""==Q("apassword1").value?(QH("passWarning",""),QV("passwordPolicyCallout",!1)):passRequirementsEx?0==checkPasswordRequirements(Q("apassword1").value,passRequirements)?(l=!1,QS("nuPass1").color="#7b241c",QS("nuPass2").color="#7b241c",QH("passWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Política de Contraseñas</b><div>"),QV("passwordPolicyCallout",!0),QH("passwordPolicyCallout",passwordPolicyText(Q("apassword1").value))):(QH("passWarning",""),QV("passwordPolicyCallout",!1)):80<=(r=checkPasswordStrength(Q("apassword1").value))?QH("passWarning","<span style=color:green><b>Contraseña Segura</b><span>"):60<=r?QH("passWarning","<span style=color:blue><b>Buena contraseña</b><span>"):QH("passWarning","<span style=color:red><b>Contraseña Débil</b><span>"),null!=a&&13==a.keyCode&&(1==e&&n&&Q("aemail").focus(),2==e&&o&&Q("apassword1").focus(),3==e&&t&&Q("apassword2").focus(),4==e&&s&&(!0===passRequirements.hint?Q("apasswordhint").focus():e=5),5==e&&(1==newAccountPass?Q("anewaccountpass").focus():e=6),6==e&&(""!=newAccountCaptcha?Q("anewaccountcaptcha").focus():e=7),7==e)&&Q("createButton").click(),null!=a&&haltEvent(a),QE("createButton",l)}function validatePassReset(e,a){setDialogMode(0);var n=0<Q("rapassword1").value.length,o=0<Q("rapassword2").value.length&&Q("rapassword2").value==Q("rapassword1").value,t=n&&o;QS("rnuPass1").color=n?"black":"#7b241c",QS("rnuPass2").color=o?"black":"#7b241c",""==Q("rapassword1").value?(QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1)):passRequirementsEx?0==checkPasswordRequirements(Q("rapassword1").value,passRequirements)?(t=!1,QS("rnuPass1").color="#7b241c",QS("rnuPass2").color="#7b241c",QH("rpassWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>Política de Contraseñas</b><div>"),QV("rpasswordPolicyCallout",!0),QH("rpasswordPolicyCallout",passwordPolicyText(Q("rapassword1").value))):(QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1)):80<=(n=checkPasswordStrength(Q("rapassword1").value))?QH("rpassWarning","<span style=color:green><b>Contraseña Segura</b><span>"):60<=n?QH("rpassWarning","<span style=color:blue><b>Buena contraseña</b><span>"):QH("rpassWarning","<span style=color:red><b>Contraseña Débil</b><span>"),null!=a&&13==a.keyCode&&(2==e&&Q("rapassword1").focus(),3==e&&Q("rapassword2").focus(),4==e&&Q("rapasswordhint").focus(),6==e)&&Q("resetPassButton").click(),null!=a&&haltEvent(a),QE("resetPassButton",t)}function passwordPolicyText(e){var a="<div style=text-align:left>",n=strCount(e);return passRequirements.min&&(null==e||e.length<passRequirements.min)&&(a+=format("Longitud mínima de {0}",passRequirements.min)+"<br />"),passRequirements.max&&(null==e||e.length>passRequirements.max)&&(a+=format("Longitud máxima de {0}",passRequirements.max)+"<br />"),passRequirements.upper&&(null==e||n.upper<passRequirements.upper)&&(a+=format("{0} mayúscula",passRequirements.upper)+"<br />"),passRequirements.lower&&(null==e||n.lower<passRequirements.lower)&&(a+=format("{0} minúscula",passRequirements.lower)+"<br />"),passRequirements.numeric&&(null==e||n.numeric<passRequirements.numeric)&&(a+=format("{0} numerico",passRequirements.numeric)+"<br />"),passRequirements.nonalpha&&(null==e||n.nonalpha<passRequirements.nonalpha)&&(a+=format("{0} no alfanumérico",passRequirements.nonalpha)+"<br />"),a+="</div>"}function showPasswordPolicy(){messagebox("Política de Contraseñas",passwordPolicyText())}function validateReset(e){setDialogMode(0);var a=validateEmail(Q("remail").value);QE("eresetButton",a),null!=e&&13==e.keyCode&&1==a&&Q("eresetButton").click(),null!=e&&haltEvent(e)}function checkPasswordStrength(e){var a=0,n={},o=0,t={digits:/\d/.test(e),lower:/[a-z]/.test(e),upper:/[A-Z]/.test(e),nonWords:/\W/.test(e)};if(!e)return 0;for(var s,r=0;r<e.length;r++)n[e[r]]=(n[e[r]]||0)+1,a+=5/n[e[r]];for(s in t)o+=1==t[s]?1:0;return parseInt(a+10*(o-1))}function checkPasswordRequirements(e,a){return null==a||""==a||"object"!=typeof a||!(a.min&&e.length<a.min||a.max&&e.length>a.max||(e=strCount(e),a.numeric&&e.numeric<a.numeric)||a.lower&&e.lower<a.lower||a.upper&&e.upper<a.upper||a.nonalpha&&e.nonalpha<a.nonalpha)}function strCount(e){var a={numeric:0,lower:0,upper:0,nonalpha:0};if("string"==typeof e)for(var n=0;n<e.length;n++)/\d/.test(e[n])&&a.numeric++,/[a-z]/.test(e[n])&&a.lower++,/[A-Z]/.test(e[n])&&a.upper++,/\W/.test(e[n])&&a.nonalpha++;return a}function checkToken(e){var a=Q("tokenInput").value,n=a.split(" ").join(""),a=(a!=n&&(Q("tokenInput").value=n),6==Q("tokenInput").value.length||8==Q("tokenInput").value.length||44==Q("tokenInput").value.length);QE("tokenOkButton",a),a&&null!=e&&13==e.keyCode&&submitButtonClicked("tokenpanelform")}function resetCheckToken(e){var a=Q("resetTokenInput").value,n=a.split(" ").join(""),a=(a!=n&&(Q("resetTokenInput").value=n),6==Q("resetTokenInput").value.length||8==Q("resetTokenInput").value.length||44==Q("resetTokenInput").value.length);QE("resetTokenOkButton",a),a&&null!=e&&13==e.keyCode&&submitButtonClicked("resettokenpanelform")}function changeEmailAddress(){setDialogMode(1,"Confirmación de Correo Electrónico",3,changeEmailAddressEx,addHtmlValue("Correo electrónico",'<input id=dp1email style=width:230px maxlength=256 value="'+Q("unconfirmedEmail").innerHTML+'" {{{autocomplete}}}=off onchange=validateEmailAddress() onkeyup=validateEmailAddress() />')),validateEmailAddress()}function validateEmailAddress(){QE("idx_dlgOkButton",1==validateEmail(Q("dp1email").value))}function changeEmailAddressEx(){Q("checkEmailVal").value=Q("dp1email").value,QH("unconfirmedEmail",Q("dp1email").value),Q("checkEmailButton").click()}function resentEmailConfirmation(){Q("checkEmailVal").value=Q("unconfirmedEmail").innerHTML,Q("checkEmailButton").click()}var xxcurrentView=0;function setDialogMode(e,a,n,o,t,s){xxdialogMode=e,xxdialogFunc=o,xxdialogButtons=n,xxdialogTag=s,QE("idx_dlgOkButton",!0),QV("idx_dlgOkButton",1&n),QV("idx_dlgCancelButton",2&n),QV("id_dialogclose",2&n||8&n),QV("idx_dlgButtonBar",7&n),a&&QH("id_dialogtitle",a);for(var r=1;r<24;r++)QV("dialog"+r,r==e);QV("dialog",e),t&&(2==e?QH("id_dialogOptions",t):QH("id_dialogMessage",t))}function dialogclose(e){var a=xxdialogFunc,n=xxdialogButtons,o=xxdialogTag;setDialogMode(),(8&n||e)&&a&&a(e,o)}function messagebox(e,a){QH("id_dialogMessage",a),setDialogMode(1,e,1)}function statusbox(e,a){QH("id_dialogMessage",a),setDialogMode(1,e)}function getDocWidth(){return window.innerWidth||(document.documentElement&&document.documentElement.clientWidth&&0!=document.documentElement.clientWidth?document.documentElement:document.getElementsByTagName("body")[0]).clientWidth}function haltEvent(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1}function haltReturn(e){13==e.keyCode&&haltEvent(e)}function validateEmail(e){return/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)}function putstore(e,a){try{"undefined"!=typeof localStorage&&localStorage.setItem(e,a)}catch(e){}}function getstore(e,a){try{var n;return"undefined"==typeof localStorage?a:null==(n=localStorage.getItem(e))?a:n}catch(e){return a}}function format(e){var n=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,a){return void 0!==n[a]?n[a]:e})}function addTextLink(e,a,n){var o=a.toLowerCase().indexOf(e.toLowerCase());return-1==o?a:a.substring(0,o)+'<a href="'+n+'">'+e+"</a>"+a.substring(o+e.length)}function addHtmlValue(e,a){return"<table><td style=width:120px;text-align:left>"+e+"<td><b>"+a+"</b></table>"}</script>