<!doctypehtml><html dir=ltr xmlns=http://www.w3.org/1999/xhtml><head lang=en><meta charset=utf-8><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=format-detection content="telephone=no"><meta name=robots content=noindex,nofollow><link rel=manifest href={{{domainurl}}}manifest.json><link rel="shortcut icon"href={{{domainurl}}}favicon.ico><link rel=icon type=image/png sizes=16x16 href={{{domainurl}}}favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href={{{domainurl}}}favicon-32x32.png><link rel=apple-touch-icon href=/favicon-303x303.png><meta name=apple-mobile-web-app-capable content=yes><meta name=apple-mobile-web-app-status-bar-style content=#ffffff><meta name=apple-mobile-web-app-title content={{{title}}}><script src=scripts/common-0.0.1{{min}}.js></script><script src=scripts/u2f-api{{min}}.js></script><meta name=msapplication-TileColor content=#00aba9><meta name=theme-color content=#ffffff><title>{{{title}}} - Login</title><style>a{color:#036;text-decoration:underline}#footer a{color:#fff;text-decoration:underline}#footer a:hover{color:#fff;text-decoration:none}</style><body onload='"undefined"!=typeof startup&&startup()'style="overflow-y:hidden;margin:0;padding:0;border:0;color:#000;font-size:13px;font-family:\'Trebuchet MS\',Arial,Helvetica,sans-serif"><div id=container><div id=mastheadx></div><div id=masthead style="background:url(logo.png) 0 0;background-size:341px 50px;background-color:#036;background-repeat:no-repeat;height:50px;width:100%;overflow:hidden"><div style=float:left;height:66px;color:#c8c8c8;padding-left:10px;padding-top:6px><strong><font style=font-size:36px;font-family:Arial,Helvetica,sans-serif>{{{title}}}</font></strong></div><div style=float:left;height:66px;color:#c8c8c8;padding-left:5px;padding-top:10px><strong><font style=font-size:12px;font-family:Arial,Helvetica,sans-serif>{{{title2}}}</font></strong></div></div><div id=page_content style=overflow-y:scroll;position:absolute;bottom:32px;top:50px;width:100%;display:flex;align-items:center><div id=column_l style=padding:10px;width:100%><table style=width:100%><tr><td align=center><div id=loginpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;clear:both;display:none><form method=post><input type=hidden name=action value=login><div id=message1></div><div><b>लॉग इन करें</b></div><table><tr><td id=loginusername align=right width=100>उपयोगकर्ता नाम:<td><input id=username autocomplete=username maxlength=64 name=username required onchange=validateLogin(1) onkeyup=validateLogin(1,event)><tr><td align=right>कुंजिका:<td><input id=password type=password autocomplete=current-password maxlength=256 name=password required onchange=validateLogin(2) onkeyup=validateLogin(2,event)><tr><td><div id=showPassHintLink style=display:none><a onclick=showPassHint() style=cursor:pointer>संकेत दिखाएं</a></div><td align=right><input id=loginButton type=submit value="लॉग इन करें"></table><div id=hrAccountDiv style=display:none><hr></div><div id=resetAccountDiv style=display:none;padding:2px><span id=resetAccountSpan>उपयोगकर्ता / पासवर्ड भूल गए?</span> <a onclick=xgo(3) style=cursor:pointer>खाता रीसेट करें</a>.</div><div id=newAccountDiv style=display:none;padding:2px>खाता नहीं है? <a onclick=xgo(2) style=cursor:pointer>एक बनाए</a>.</div><input id=loginformargs name=urlargs type=hidden><div id=authStrategies style=display:none><hr><div style=margin-bottom:8px>किसी मौजूदा खाते का उपयोग करके लॉग इन करें</div><a id=auth-twitter href=auth-twitter style=display:none><img src=images/login/twitter32.png 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="ट्विटर का उपयोग कर साइन-इन करें"></a><a id=auth-google href=auth-google style=display:none><img src=images/login/google32.png 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="Google का उपयोग कर साइन-इन करें"></a><a id=auth-github href=auth-github style=display:none><img src=images/login/github32.png 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="GitHub का उपयोग कर साइन-इन करें"></a><a id=auth-azure href=auth-azure style=display:none><img src=images/login/azure32.png 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="साइन-इन एज़्योर का उपयोग करना"></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="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 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="जंपक्लाउड का उपयोग कर साइन-इन करें"></a><a id=auth-intel href=auth-intel style=display:none><img src=images/login/intel32.png 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="इंटेल का उपयोग कर साइन-इन करें"></a><a id=auth-saml href=auth-saml style=display:none><img src=images/login/generic32.png 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="सिंगल साइन-इन"></a></div></form></div><div id=createpanel style=display:none><div style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;clear:both;position:relative><form method=post><input type=hidden name=action value=createaccount><div id=message2></div><div><b>खाता निर्माण</b></div><div id=passwordPolicyCallout style="left:-5px;top:10px;width:100px;position:absolute;background-color:#ffc;border-radius:5px;padding:5px;box-shadow:0 0 15px #666;font-size:10px"></div><table><tr id=nuUserRow><td align=right width=100>उपयोगकर्ता नाम:<td><input id=ausername autocomplete=username name=username onchange=validateCreate(1) maxlength=64 onkeydown=haltReturn(event) onkeyup=validateCreate(1,event)><tr><td align=right width=100>ईमेल:<td><input id=aemail autocomplete=email inputmode=email name=email onchange=validateCreate(2) maxlength=256 onkeydown=haltReturn(event) onkeyup=validateCreate(2,event)><tr><td align=right>कुंजिका:<td><input id=apassword1 type=password autocomplete=current-password name=password1 maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(3) onkeyup=validateCreate(3,event)><tr><td align=right>कुंजिका:<td><input id=apassword2 type=password autocomplete=current-password name=password2 maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(4) onkeyup=validateCreate(4,event)><tr id=createPanelHint style=display:none><td align=right>पास का संकेत:<td><input id=apasswordhint name=apasswordhint autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(5) onkeyup=validateCreate(5,event)><tr id=newAccountPass title="खाता निर्माण टोकन दर्ज करें"><td align=right>निर्माण टोकन:<td><input id=anewaccountpass type=password name=anewaccountpass autocomplete=off maxlength=256 onkeydown=haltReturn(event) onchange=validateCreate(6) onkeyup=validateCreate(6,event)><tr id=newAccountCaptchaImg title="CAPTCHA image"><td><td colspan=2><img src={{{newAccountCaptchaImage}}} loading=lazy><tr id=newAccountCaptcha title="Security check"><td id=nuCaptcha align=right>Security Check:<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=submit value="खाता बनाएं"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick=xgo(1) style=cursor:pointer>लॉगिन पर वापस जाएं</a> <input id=createformargs name=urlargs type=hidden> <input id=createformcaptcha name=captchaargs type=hidden value={{{newAccountCaptcha}}}></form></div></div><div id=resetpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;display:none;clear:both><form method=post><input type=hidden name=action value=resetaccount><div id=message3></div><div><b>खाता रीसेट करें</b></div><table><tr><td align=right width=100>ईमेल:<td><input id=remail inputmode=email autocomplete=email name=email maxlength=256 onchange=validateReset() onkeyup=validateReset(event)><tr><td colspan=2><div style=float:right><input id=eresetButton type=submit value="खाता रीसेट करें"disabled></div><div id=passWarning style=padding-top:6px></div></table><hr><a onclick=xgo(1) style=cursor:pointer>लॉगिन पर वापस जाएं</a> <input id=resetformargs name=urlargs type=hidden></form></div><div id=tokenpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;display:none;clear:both><form method=post autocomplete=off><input type=hidden name=action value=tokenlogin> <input type=hidden name=hwstate value={{{hwstate}}}><div id=message4></div><table><tr><td align=right width=100>लॉग इन टोकन:<td><input id=tokenInput autocomplete=one-time-code inputmode=numeric name=token maxlength=50 onchange=checkToken(event) onkeyup=checkToken(event) onkeydown=checkToken(event) onfocus=checkTokenTimer(1) onblur=checkTokenTimer(0)> <input id=hwtokenInput name=hwtoken style=display:none><tr><td colspan=2 style=align-content:center><label id=tokenInputRememberLabel><input id=tokenInputRemember name=remembertoken type=checkbox><span id=tokenInputRememberSpan></span></label><tr><td colspan=2><div style=float:right><input id=tokenOkButton type=submit value="लॉग इन करें"disabled></div><div style=float:right><input style=display:none;float:right id=securityKeyButton type=button value="सुरक्षा कुंजी का उपयोग करें"onclick=useSecurityKey()> <input style=display:none;float:right id=emailKeyButton type=button value=ईमेल onclick=useEmailToken()> <input style=display:none;float:right id=smsKeyButton type=button value=एसएमएस onclick=useSMSToken()></div></table><hr><a onclick=xgo(1) style=cursor:pointer>लॉगिन पर वापस जाएं</a> <input id=tokenformargs name=urlargs type=hidden></form></div><div id=resettokenpanel style=background-color:#979797;border-radius:16px;width:260px;padding:16px;text-align:center;display:none;clear:both><form method=post autocomplete=off><input type=hidden name=action value=resetaccount><div id=message5></div><table><tr><td align=right width=100>लॉग इन टोकन:<td><input id=resetTokenInput name=token maxlength=50 onchange=resetCheckToken(event) onpaste=resetCheckToken(event) onkeyup=resetCheckToken(event) onkeydown=resetCheckToken(event)> <input id=resetHwtokenInput name=hwtoken style=display:none><tr><td colspan=2><div style=float:right><input id=resetTokenOkButton type=submit value="लॉग इन करें"disabled></div></table><hr><a onclick=xgo(1) style=cursor:pointer>लॉगिन पर वापस जाएं</a> <input id=resettokenformargs name=urlargs type=hidden></form></div><div id=resetpasswordpanel style=position:relative;background-color:#979797;border-radius:16px;width:300px;padding:16px;text-align:center;display:none><form method=post><input type=hidden name=action value=resetpassword><div id=message6></div><div id=rpasswordPolicyCallout style="left:-10px;width:100px;display:none;position:absolute;background-color:#ffc;border-radius:5px;padding:5px;box-shadow:0 0 15px #666;font-size:10px"></div><table><tr><td id=rnuPass1 width=100 align=right>कुंजिका:<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>कुंजिका:<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>पासवर्ड संकेत:<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=submit value="पासवर्ड रीसेट"disabled></div><div id=rpassWarning style=padding-top:6px></div></table><hr><a onclick=xgo(1) style=cursor:pointer>लॉगिन पर वापस जाएं</a> <input id=resetpasswordformargs name=urlargs type=hidden></form></div><div id=checkemailpanel style=position:relative;background-color:#979797;border-radius:16px;width:300px;padding:16px;text-align:center;display:none><form 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="ईमेल पता बदलें"onclick=changeEmailAddress()> <input id=checkEmailButton2 type=button value="पुष्टिकरण ईमेल पुन: भेजें"onclick=resentEmailConfirmation()> <input id=checkEmailButton type=submit style=display:none> <input id=checkEmailVal name=email type=hidden></div></table><hr><a onclick="return xgo(1,event)"href=# style=cursor:pointer>लॉगिन पर वापस जाएं</a> <input id=checkemailformargs name=urlargs type=hidden></form></div></table></div></div><div id=footer style=height:32px;width:100%;text-align:center;background-color:#113962;position:absolute;bottom:0><table cellpadding=0 cellspacing=6 style=width:100%><tr><td style=text-align:left;color:#fff>{{{footer}}}<td style=text-align:right>{{{rootCertLink}}}&nbsp;<a href=terms>शर्तें और गोपनीयता</a></table></div></div><div id=dialog style="z-index:1000;background-color:#eee;box-shadow:0 0 15px #666;font-family:Arial,Helvetica,sans-serif;border-radius:5px;position:fixed;top:180px;width:300px;display:none"><div style="width:100%;background-color:#036;color:#fff;border-radius:5px 5px 0 0"><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 style=margin-right:16px;margin-left:8px><div id=dialog1 style=margin:auto;text-align:center;margin:3px><div id=id_dialogMessage style=padding:10px></div></div><div id=dialog2 style=margin:auto;margin:3px><div id=id_dialogOptions></div></div></div><div id=idx_dlgButtonBar style=padding:10px;margin-bottom:20px><input id=idx_dlgCancelButton type=button value="रद्द करना"style=float:right;width:80px;margin-left:5px onclick=dialogclose(0)> <input id=idx_dlgOkButton type=button value=ठीक style=float:right;width:80px onclick=dialogclose(1)></div></div><script>var random="{{{randomlength}}}",loginMode="{{{loginmode}}}",newAccount="{{{newAccount}}}",passhint="{{{passhint}}}",newAccountPass=parseInt("{{{newAccountPass}}}"),newAccountCaptcha="{{{newAccountCaptcha}}}",emailCheck="{{{emailcheck}}}",features=parseInt("{{{features}}}"),passRequirements="{{{passRequirements}}}",passRequirementsEx=null!=(passRequirements=""!=passRequirements?JSON.parse(decodeURIComponent(passRequirements)):{}).min||null!=passRequirements.max||null!=passRequirements.upper||null!=passRequirements.lower||null!=passRequirements.numeric||null!=passRequirements.nonalpha,hardwareKeyChallenge=decodeURIComponent("{{{hkey}}}"),publicKeyCredentialRequestOptions=null,currentpanel=0,otpemail=!1,otpsms=!1,autofido="true"===decodeURIComponent("{{{autofido}}}"),twoFactorCookieDays=parseInt("{{{twoFactorCookieDays}}}"),authStrategies="{{{authStrategies}}}".split(","),tokenTimeout=parseInt("{{{tokenTimeout}}}"),messageid=parseInt("{{{messageid}}}"),okmessages=["","यदि मान्य है, तो भेजे गए मेल को रीसेट करें।","ईमेल भेजा।","ईमेल सत्यापन की आवश्यकता है, अपने मेलबॉक्स की जांच करें और पुष्टि लिंक पर क्लिक करें।","एसएमएस भेजा गया।"],failmessages=["खाता बनाने में असमर्थ।","खाता सीमा तक पहुंच गया।","इस ईमेल पते के साथ मौजूदा खाता।","अमान्य खाता निर्माण टोकन।","उपयोगकर्ता का नाम पहले से मौजूद है।","पासवर्ड खारिज कर दिया, एक अलग का उपयोग करें।","अवैध ईमेल।","खता नहीं मिला।","अमान्य टोकन, पुनः प्रयास करें।","ईमेल भेजने में असमर्थ।","खाता बंद।","पहुंच अस्वीकृत।","लॉगिन विफल, उपयोगकर्ता नाम और पासवर्ड की जाँच करें।","पासवर्ड परिवर्तन का अनुरोध किया।","IP पता अवरुद्ध, बाद में पुन: प्रयास करें।","रखरखाव के तहत सर्वर।","डिवाइस सूचना भेजने में असमर्थ।","Invalid security check."];if(0<messageid){var msg="";if(messageid<100&&messageid<okmessages.length?msg=okmessages[messageid]:100<=messageid&&messageid-100<failmessages.length&&(msg=failmessages[messageid-100]),""!=msg){msg=100<=messageid?'<span class="msg error"><b style=color:#8C001A>'+msg+"<b></span><br /><br />":'<span class="msg success"><b>'+msg+"</b></span><br /><br />";for(var i=1;i<8;i++)QH("message"+i,msg)}}var urlargs,flashErrors=JSON.parse("{{{flashErrors}}}");if(flashErrors&&0<flashErrors.length){for(msg="",i=0;i<flashErrors.length;i++)flashErrors[i]&&(msg+='<span class="msg error"><b style=color:#8C001A>'+flashErrors[i]+"<b></span><br /><br />");QH("message1",msg),QV("message1",!0)}function startup(){if(0==(32&features)){var e=null;try{e=top.location.toString().toLowerCase()}catch(e){}if(top!=self&&(null==e||0==top.active))return void(top.location=self.location)}if(2097152&features&&(QH("loginusername","ईमेल:"),QH("resetAccountSpan","पासवर्ड भूल गए?"),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),(window.onresize=center)(),validateCreate(),0!=loginMode.length?go(parseInt(loginMode)):go(1),QV("newAccountDiv","1"===newAccount||"true"===newAccount),!0===passRequirements.hint&&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 a=null!=hardwareKeyChallenge&&"webAuthn"==hardwareKeyChallenge.type;QV("securityKeyButton",a),QV("emailKeyButton",otpemail&&2!=messageid&&4!=messageid),QV("smsKeyButton",otpsms&&2!=messageid&&4!=messageid),autofido&&a&&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}if(a=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 t=0;t<hardwareKeyChallenge.keyIds.length;t++)publicKeyCredentialRequestOptions.allowCredentials.push({id:Uint8Array.from(atob(hardwareKeyChallenge.keyIds[t]),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)))};Q("resetHwtokenInput").value=JSON.stringify(e),QE("resetTokenOkButton",!0),Q("resetTokenOkButton").click()},function(e){console.log("credentials-get error",e)})}}}function useSecurityKey(){if(!xxdialogMode&&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)))};Q("hwtokenInput").value=JSON.stringify(e),QE("tokenOkButton",!0),Q("tokenOkButton").click()},function(e){console.log("credentials-get error",e)})}}function useEmailToken(){xxdialogMode||1==otpemail&&setDialogMode(1,"सुरक्षित लॉगइन",3,useEmailKeyEx,"ईमेल पते पर टोकन भेजें?")}function useEmailKeyEx(){Q("hwtokenInput").value="**email**",QE("tokenOkButton",!0),Q("tokenOkButton").click()}function useSMSToken(){1==otpsms&&setDialogMode(1,"सुरक्षित लॉगइन",3,useSMSTokenEx,"विनियमित फोन नंबर पर टोकन भेजें?")}function useSMSTokenEx(){Q("hwtokenInput").value="**sms**",QE("tokenOkButton",!0),Q("tokenOkButton").click()}function showPassHint(){!0===passRequirements.hint&&messagebox("पासवर्ड संकेत",passhint)}function xgo(e){QV("message1",!1),QV("message2",!1),QV("message3",!1),QV("message4",!1),QV("message5",!1),QV("message6",!1),QV("message7",!1),go(e)}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),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 validateLogin(e,a){setTimeout(function(){setDialogMode(0),null!=a&&13==a.keyCode&&(1==e?Q("password").focus():2==e&&Q("loginButton").click()),null!=a&&haltEvent(a)},100)}function validateCreate(e,a){setDialogMode(0);var t,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(",");n&=1==validateEmail(Q("aemail").value)&&0<Q("apassword1").value.length&&Q("apassword2").value==Q("apassword1").value,1==newAccountPass&&0==Q("anewaccountpass").value.length&&(n=!1),""==Q("apassword1").value?(QH("passWarning",""),QV("passwordPolicyCallout",!1)):passRequirementsEx?0==checkPasswordRequirements(Q("apassword1").value,passRequirements)?(n=!1,QH("passWarning","<span style=color:red><b>पासवर्ड नीति</b><span>"),QV("passwordPolicyCallout",!0),QH("passwordPolicyCallout",passwordPolicyText(Q("apassword1").value))):(QH("passWarning",""),QV("passwordPolicyCallout",!1)):80<=(t=checkPasswordStrength(Q("apassword1").value))?QH("passWarning","<span style=color:green><b>मजबूत पासवर्ड</b><span>"):60<=t?QH("passWarning","<span style=color:blue><b>अच्छा पासवर्ड</b><span>"):QH("passWarning","<span style=color:red><b>कमजोर पासवर्ड</b><span>"),QE("createButton",n),null!=a&&13==a.keyCode&&(1==e&&Q("aemail").focus(),2==e&&Q("apassword1").focus(),3==e&&Q("apassword2").focus(),4==e&&Q("apasswordhint").focus(),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)}function validatePassReset(e,a){setDialogMode(0);var t=0<Q("rapassword1").value.length,n=0<Q("rapassword2").value.length&&Q("rapassword2").value==Q("rapassword1").value,s=t&&n;QS("rnuPass1").color=t?"black":"#7b241c",QS("rnuPass2").color=n?"black":"#7b241c",""==Q("rapassword1").value?(QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1)):passRequirementsEx?0==checkPasswordRequirements(Q("rapassword1").value,passRequirements)?(s=!1,QS("rnuPass1").color="#7b241c",QS("rnuPass2").color="#7b241c",QH("rpassWarning","<div style=color:red;cursor:pointer onclick=showPasswordPolicy()><b>पासवर्ड नीति</b><div>"),QV("rpasswordPolicyCallout",!0),QH("rpasswordPolicyCallout",passwordPolicyText(Q("rapassword1").value))):(QH("rpassWarning",""),QV("rpasswordPolicyCallout",!1)):80<=(t=checkPasswordStrength(Q("rapassword1").value))?QH("rpassWarning","<span style=color:green><b>मजबूत पासवर्ड</b><span>"):60<=t?QH("rpassWarning","<span style=color:blue><b>अच्छा पासवर्ड</b><span>"):QH("rpassWarning","<span style=color:red><b>कमजोर पासवर्ड</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",s)}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 passwordPolicyText(e){var a="<div style=text-align:left>",t=strCount(e);return passRequirements.min&&(null==e||e.length<passRequirements.min)&&(a+=format("{0} की न्यूनतम लंबाई",passRequirements.min)+"<br />"),passRequirements.max&&(null==e||e.length>passRequirements.max)&&(a+=format("{0} की अधिकतम लंबाई",passRequirements.max)+"<br />"),passRequirements.upper&&(null==e||t.upper<passRequirements.upper)&&(a+=format("{0} ऊपरी मामला",passRequirements.upper)+"<br />"),passRequirements.lower&&(null==e||t.lower<passRequirements.lower)&&(a+=format("{0} लोअर केस",passRequirements.lower)+"<br />"),passRequirements.numeric&&(null==e||t.numeric<passRequirements.numeric)&&(a+=format("{0} संख्यात्मक",passRequirements.numeric)+"<br />"),passRequirements.nonalpha&&(null==e||t.nonalpha<passRequirements.nonalpha)&&(a+=format("{0} गैर-अल्फ़ान्यूमेरिक",passRequirements.nonalpha)+"<br />"),a+="</div>"}function checkPasswordStrength(e){var a=0,t={},n=0,s={digits:/\d/.test(e),lower:/[a-z]/.test(e),upper:/[A-Z]/.test(e),nonWords:/\W/.test(e)};if(!e)return 0;for(var r,o=0;o<e.length;o++)t[e[o]]=(t[e[o]]||0)+1,a+=5/t[e[o]];for(r in s)n+=1==s[r]?1:0;return parseInt(a+10*(n-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 t=0;t<e.length;t++)/\d/.test(e[t])&&a.numeric++,/[a-z]/.test(e[t])&&a.lower++,/[A-Z]/.test(e[t])&&a.upper++,/\W/.test(e[t])&&a.nonalpha++;return a}0<window.location.href.indexOf("?")&&(urlargs=window.location.href.substring(window.location.href.indexOf("?")),Q("loginformargs").value=urlargs,Q("createformargs").value=urlargs,Q("resetformargs").value=urlargs,Q("tokenformargs").value=urlargs,Q("resettokenformargs").value=urlargs,Q("resetpasswordformargs").value=urlargs),0<twoFactorCookieDays?(QV("tokenInputRememberLabel",!0),QH("tokenInputRememberSpan",format("इस डिवाइस को {0} दिनों तक याद रखें।",twoFactorCookieDays))):QV("tokenInputRememberLabel",!1);var xxdialogMode,xxdialogFunc,xxdialogButtons,xxdialogTag,xcheckTokenTimer=null;function checkTokenTimer(e){0==e&&null!=xcheckTokenTimer&&(clearInterval(xcheckTokenTimer),xcheckTokenTimer=null),1==e&&null==xcheckTokenTimer&&(xcheckTokenTimer=setInterval(checkToken,200))}function checkToken(){var e=Q("tokenInput").value,a=e.split(" ").join("");e!=a&&(Q("tokenInput").value=a),QE("tokenOkButton",6==Q("tokenInput").value.length||8==Q("tokenInput").value.length||44==Q("tokenInput").value.length)}function resetCheckToken(){var e=Q("resetTokenInput").value,a=e.split(" ").join("");e!=a&&(Q("resetTokenInput").value=a),QE("resetTokenOkButton",6==Q("resetTokenInput").value.length||8==Q("resetTokenInput").value.length||44==Q("resetTokenInput").value.length)}function changeEmailAddress(){setDialogMode(1,"ईमेल की पुष्टि",3,changeEmailAddressEx,addHtmlValue("ईमेल",'<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,t,n,s,r){xxdialogMode=e,xxdialogFunc=n,xxdialogButtons=t,xxdialogTag=r,QE("idx_dlgOkButton",!0),QV("idx_dlgOkButton",1&t),QV("idx_dlgCancelButton",2&t),QV("id_dialogclose",2&t||8&t),QV("idx_dlgButtonBar",7&t),a&&QH("id_dialogtitle",a);for(var o=1;o<24;o++)QV("dialog"+o,o==e);QV("dialog",e),s&&(2==e?QH("id_dialogOptions",s):QH("id_dialogMessage",s))}function dialogclose(e){var a=xxdialogFunc,t=xxdialogButtons,n=xxdialogTag;setDialogMode(),(8&t||e)&&a&&a(e,n)}function center(){QS("dialog").left=(getDocWidth()-300)/2+"px"}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 format(e){var t=Array.prototype.slice.call(arguments,1);return e.replace(/{(\d+)}/g,function(e,a){return void 0!==t[a]?t[a]:e})}function addHtmlValue(e,a){return"<table><td style=text-align:left>"+e+"<td><b>"+a+"</b></table>"}</script>