1const Errors=Object.freeze({invalid_email:1,emails_dont_match:2,password_too_short:3,passwords_dont_match:4,server_error:5,no_connection:6});function sha512(text){let hash=new jsSHA("SHA-512","TEXT");hash.update(text);return hash.getHash("HEX")}function onError(code,text){let alert=$("#alert-text");if(typeof text==="undefined"||text===null){alert.text(Strings.unknown_error+": # "+code)}else{alert.text(text)}$("#alert-card").removeClass("cr-success-card").addClass("cr-fail-card");$("#alert-wrapper").show();$("#form-submit-button").prop("disabled",false);$("#loading").hide()}function createPasswordSha512Input(password){let p=document.createElement("input");p.name="passwordSha512";p.type="hidden";p.value=sha512(password);return p}function submitRegister(form,onSuccess){let email=form.email.value;let email2=form.email2.value;let password=form.password.value;let password2=form.password2.value;if(email!==email2){onError(Errors.emails_dont_match,Strings.emails_dont_match);return false}if(!validateEmail(email)){onError(Errors.invalid_email,Strings.invalid_email);return false}if(password.length<6){onError(Errors.password_too_short,Strings.pwd_is_too_short);return false}if(password!==password2){onError(Errors.emails_dont_match,Strings.pwds_dont_match);return false}$("[name=passwordSha512]").remove();form.appendChild(createPasswordSha512Input(password));$("#form-submit-button").prop("disabled",true);$("#loading").show();onSuccess();return true}function decodeHtmlEntities(str){const parser=new DOMParser;const doc=parser.parseFromString(str,"text/html");return doc.documentElement.textContent}function executeRegister(){let actionForm=$("#register-form").attr("action");let formData=$('input[name="email"],input[name="passwordSha512"],textarea[name="g-recaptcha-response"],input[name="request"],input[name="form-token"]').serialize();$.ajax({type:"POST",dataType:"json",data:formData,url:actionForm}).done((function(response){if(response.error){onError(response.code,response.message)}else{$("#alert-wrapper").hide();$("#section_register-form").hide();$("#section_account-created").show();history.replaceState({},"",decodeHtmlEntities(Strings.loginUrl))}})).fail((function(jqXHR,exception){if(jqXHR.status===0){onError(Errors.no_connection,Strings.no_connection)}else{onError(Errors.server_error,Strings.server_error)}}))}function executeLogin(){let actionForm=$("#login-form").attr("action");let formData=$('input[name="email"],input[name="passwordSha512"],input[name="request"],input[name="form-token"]').serialize();$.ajax({type:"POST",dataType:"json",data:formData,url:actionForm}).done((function(response){if(response.error){onError(response.code,response.message)}else{document.location=response.redirect}})).fail((function(jqXHR,exception){if(jqXHR.status===0){onError(Errors.no_connection,Strings.no_connection)}else{onError(Errors.server_error,Strings.server_error)}}))}function submitLogin(form){let email=form.email.value;let password=form.password.value;if(!validateEmail(email)){onError(Errors.invalid_email,Strings.invalid_email);return false}if(password.length<6){onError(Errors.password_too_short,Strings.pwd_is_too_short);return false}$("[name=passwordSha512]").remove();form.appendChild(createPasswordSha512Input(password));$("#form-submit-button").prop("disabled",true);$("#loading").show();executeLogin();return true}function executeForgotPassword(){let actionForm=$("#forgot-password-form").attr("action");let formData=$('input[name="email"],textarea[name="g-recaptcha-response"],input[name="request"],input[name="form-token"]').serialize();$.ajax({type:"POST",dataType:"json",data:formData,url:actionForm}).done((function(response){if(response.error){onError(response.code,response.message)}else{$("#alert-wrapper").hide();$("#section_forgot-password").hide();$("#section_password-reset").show()}})).fail((function(jqXHR,exception){if(jqXHR.status===0){onError(Errors.no_connection,Strings.no_connection)}else{onError(Errors.server_error,Strings.server_error)}}))}function submitForgotPassword(form){let email=form.email.value;if(!validateEmail(email)){onError(Errors.invalid_email,Strings.invalid_email);return false}$("#form-submit-button").prop("disabled",true);$("#loading").show();executeForgotPassword();return true}function submitResetPassword(form){let password=form.password.value;let password2=form.password2.value;if(password.length<6){onError(Errors.password_too_short,Strings.pwd_is_too_short);return false}if(password!==password2){onError(Errors.emails_dont_match,Strings.pwds_dont_match);return false}$("[name=passwordSha512]").remove();form.appendChild(createPasswordSha512Input(password));$("#form-submit-button").prop("disabled",true);$("#loading").show();executeResetPassword();return true}function executeResetPassword(){let actionForm=$("#reset-password-form").attr("action");let formData=$('input[name="selector"],input[name="token"],input[name="passwordSha512"],input[name="request"],input[name="form-token"]').serialize();$.ajax({type:"POST",dataType:"json",data:formData,url:actionForm}).done((function(response){if(response.error){onError(response.code,response.message)}else{document.location=response.redirect}})).fail((function(jqXHR,exception){if(jqXHR.status===0){onError(Errors.no_connection,Strings.no_connection)}else{onError(Errors.server_error,Strings.server_error)}}))}function callAction(element){let actionForm=element.getAttribute("data-action");let formToken=element.getAttribute("data-token");$.ajax({type:"POST",dataType:"json",data:"form-token="+encodeURIComponent(formToken),url:actionForm}).done((function(response){if(typeof response.url!=="undefined"&&response.url!==null){window.location=response.url}else if(response.reload){window.location.reload()}}))}function callForm(type,dataType,element,actionAttr,serialize,callback){let form=$(element).closest("form");let actionForm=form.attr(actionAttr);let data;if(serialize==="all"){data=form.serialize()}else{data=form.find(serialize).serialize()}$.ajax({type:type,url:actionForm,dataType:dataType,data:data}).done((function(data){callback(form,data)}))}function validateEmail(email){let re=/^(([^<>()[\]\\.,;:\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,}))$/;return re.test(email)}function showOverlay(){const overlay=document.createElement("div");overlay.className="progress-overlay";overlay.id="my-overlay";const spinner=document.createElement("div");spinner.className="spinner-arc";overlay.appendChild(spinner);document.body.appendChild(overlay)}function hideOverlay(){const overlay=document.getElementById("my-overlay");if(overlay)overlay.remove()}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.