<commit_before><form (ngSubmit)="onSubmit()" class="space-before" #credentialsForm="ngForm" novalidate>
	<!-- Email -->
	<div class="form-group row col-10 mx-auto">
		<label for="email" class="col-3 col-form-label font-weight-bold" i18n>E-Mail</label>
		<div class="col-9">
			<input type="email" class="form-control" id="email" required [(ngModel)]="model.username" name="email" #email="ngModel" pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9._-]+\.[a-z]{2,3}$">
		</div>
	</div>

	<!-- Password -->
	<div class="form-group row col-10 mx-auto">
		<label for="password" class="col-3 col-form-label font-weight-bold" i18n>Password</label>
		<div class="col-9">
			<input type="password" class="form-control" id="password" required [(ngModel)]="model.password" name="password" #password="<PASSWORD>" pattern=".{6,}">
		</div>
	</div>

	<!-- Submit -->
	<div class="row col-12 actions-row">
		<div class="col-9 call-status-col">
			<call-status [callStatus]="submitCallStatus"></call-status>
		</div>
		<!--
		<div class="col-2">
			<button type="button" class="btn btn-outline-secondary action" (click)="credentialsForm.reset();reset()" [hidden]="credentialsForm.form.pristine" i18n>Reset</button>
		</div>
		-->
		<div class="col-2">
			<button type="submit" class="btn btn-primary action" [disabled]="!credentialsForm.form.valid || submitCallStatus.isLoading()" i18n>Submit</button>
		</div>
	</div>

	<!-- Forgot password -->
	<div class="row col-11 space-before">
		<div class="col-12 d-flex flex-row-reverse">
			<a [href]="pwLink" class="mx-left" target="_blank">Forgot your password?</a>
		</div>
	</div>
	
	<div *ngIf="debug">
		<div [hidden]="!submitted">
			<hr/>
			<p>Request:</p>
			<pre>{{ objToSubmit | json }}</pre>
		</div>
		<div [hidden]="!callback">
			<hr/>
			<p>Response:</p>
			<pre>{{ response | json }}</pre>
		</div>
	</div>

</form><commit_msg>Added direct link from login to registration page (FMP-189)<commit_after><form (ngSubmit)="onSubmit()" class="space-before" #credentialsForm="ngForm" novalidate>
	<!-- Email -->
	<div class="form-group row col-10 mx-auto">
		<label for="email" class="col-3 col-form-label font-weight-bold" i18n>E-Mail</label>
		<div class="col-9">
			<input type="email" class="form-control" id="email" required [(ngModel)]="model.username" name="email" #email="ngModel" pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9._-]+\.[a-z]{2,3}$">
		</div>
	</div>

	<!-- Password -->
	<div class="form-group row col-10 mx-auto">
		<label for="password" class="col-3 col-form-label font-weight-bold" i18n>Password</label>
		<div class="col-9">
			<input type="password" class="form-control" id="password" required [(ngModel)]="model.password" name="password" #password="<PASSWORD>" pattern=".{6,}">
		</div>
	</div>

	<!-- Submit -->
	<div class="row col-10 mx-auto actions-row" style="padding-right:15px !important; padding-left:15px !important;">
		<div class="col-9 call-status-col">
			<call-status [callStatus]="submitCallStatus"></call-status>
		</div>
		<!--
		<div class="col-2">
			<button type="button" class="btn btn-outline-secondary action" (click)="credentialsForm.reset();reset()" [hidden]="credentialsForm.form.pristine" i18n>Reset</button>
		</div>
		-->
		<div class="col-3">
			<button type="submit" class="btn btn-primary action" [disabled]="!credentialsForm.form.valid || submitCallStatus.isLoading()" i18n>Submit</button>
		</div>
	</div>

	<!-- Forgot password -->
	<div class="row col-10 mx-auto space-before">
		<div class="col-12 d-flex flex-row-reverse">
			<a [href]="pwLink" class="mx-left" target="_blank">Forgot your password?</a>
		</div>
	</div>

	<!-- Register -->
	<div class="row col-10 mx-auto space-before">
		<div class="col-12 d-flex flex-row-reverse">
			<a routerLink="/user-mgmt/registration" class="mx-left">Not yet registered?</a>
		</div>
	</div>

	<div *ngIf="debug">
		<div [hidden]="!submitted">
			<hr/>
			<p>Request:</p>
			<pre>{{ objToSubmit | json }}</pre>
		</div>
		<div [hidden]="!callback">
			<hr/>
			<p>Response:</p>
			<pre>{{ response | json }}</pre>
		</div>
	</div>

</form>
{'fraction_non_alphanumeric': 0.2321692080668962, 'fraction_numerical': 0.018445646827348745, 'mean_word_length': 4.35836627140975, 'pattern_counts': {'":': 0, '<': 126, '<?xml version=': 0, '>': 126, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2488544', 'n_tokens_mistral': 1650, 'n_tokens_neox': 1495, 'n_words': 288}