<commit_before>app_page.features.push(tc.user_handler({
	user_handler:function(){
		window.location = '/useraccount';
	}
}));

app_page.features.push(function(app){
	tc.util.log('Give A Minute: Register');
	
	tc.jQ('a.login-facebook, a.login-twitter').bind('click', {buttons:tc.jQ('a.login-facebook, a.login-twitter')}, function(e){
		var $t;
		$t = tc.jQ(this);
		if($t.hasClass('has-been-clicked') || $t.hasClass('cannot-be-clicked')){
			e.preventDefault();
		}
		$t.addClass('has-been-clicked').siblings().addClass('cannot-be-clicked');
	});
	
	app.components.merlin = new tc.merlin(app,{
		dom:tc.jQ('form.merlin'),
		progress_element:tc.jQ('.merlin-progress'),
		next_button:tc.jQ('.ca-btn'),
		back_button:tc.jQ('.foothills .back'),
		error_indicator:tc.jQ('.oops'),
		watch_keypress:true,
		magic:false,
		first_step:app.app_page.data.first_join_step,
		data:{
			f_name:null,
			l_name:null,
			email:null,
			password:<PASSWORD>,
			sms_phone:'-1',
			beta_code:null,
			main_text:""
		},
		steps:{
			/* Step: Start  */
			'start':{
				progress_selector:'.1',
				selector:'.start',
				prev_step:null,
				next_step:'user-info',
				use_for_history:true,
				init:function(merlin,dom){
					tc.jQ('.foothills a.back').hide();
				},
				finish:function(merlin,dom){
					tc.jQ('.foothills a.back').show();
				}
			},
			/* Step: user-info  */
			'user-info':{
				progress_selector:'.2',
				selector:'.user-info',
				prev_step:'start',
				next_step:'email-lookup',
				use_for_history:true,
				inputs:{
					f_name:{
						selector:'input.f_name',
						validators:['max-128','min-2','required'],
						hint:'First name'
					},
					l_name:{
						selector:'input.l_name',
						validators:['max-128','min-2','required'],
						hint:'Last name'
					},
					email:{
						selector:'input.email',
						validators:['max-254','min-6','email','required'],
						hint:''
					},
					password:{
						selector:'input.password',
						validators:['password-35','required'],
						hint:''
					},
					main_text:{
						selector:'input.main_text',
						validators:['max-0']
					},
					tos_user_info:{
						selector:'input.tos-user-info',
						validators:['required']
					},
					invite:{
						selector:'input.invite-code',
						validators:function(merlin,dom,current_step){
							if(merlin.app.app_page.data.app_mode == 'beta'){
								return tc.validate(dom,['max-10','min-10','required']);
							}
							return tc.validate(dom,['max-10','min-10']);
						},
						hint:''
					}
				},
				init:function(merlin,dom){
					if(merlin.app.app_page.data.app_mode == 'beta'){
						tc.jQ('.merlin-progress a.indicator.1').hide();
						tc.jQ('.merlin-progress a.indicator.2 .num').html('1');
						tc.jQ('.merlin-progress a.indicator.3 .num').html('2');
						tc.jQ('.foothills a.back').hide();
					}
				},
				finish:function(merlin,dom){
					merlin.options.data = tc.jQ.extend(merlin.options.data,{
						f_name:merlin.current_step.inputs.f_name.dom.val(),
						l_name:merlin.current_step.inputs.l_name.dom.val(),
						email:merlin.current_step.inputs.email.dom.val(),
						main_text:merlin.current_step.inputs.main_text.dom.val(),
						password:<PASSWORD>.current_step.inputs.password.dom.val(),
						beta_code:merlin.current_step.inputs.invite.dom.val()
					});
					
					if(merlin.app.app_page.data.app_mode == 'beta'){
						tc.jQ('.foothills a.back').show();
					}
					
				}
			},
			/* Step: twitter-login  */
			'twitter-login':{
				progress_selector:'.2',
				selector:'.twitter-step',
				prev_step:'start',
				next_step:'email-lookup',
				use_for_history:true,
				inputs:{
					f_name:{
						selector:'input.f_name',
						validators:['max-128','min-3','required'],
						hint:'First name'
					},
					l_name:{
						selector:'input.l_name',
						validators:['max-128','min-3','required'],
						hint:'Last name'
					},
					email:{
						selector:'input.email',
						validators:['max-254,'min-6','email','required'],
						hint:''
					},
					tos_email:{
						selector:'input.tos-user-info',
						validators:['required'],
						hint:''
					}
				},
				finish:function(merlin,dom){
					merlin.options.data = tc.jQ.extend(merlin.options.data,{
						f_name:merlin.current_step.inputs.f_name.dom.val(),
						l_name:merlin.current_step.inputs.l_name.dom.val(),
						email:merlin.current_step.inputs.email.dom.val()
					});
					merlin.options.steps['email-lookup'].data.last_step = 'twitter-login';
				}
			},
			/* Step: facebook-login-preprocess  */
			'facebook-login-preprocess':{
				supress_hash:true,
				progress_selector:'.2',
				selector:'.facebook-login-preprocess',
				prev_step:'start',
				inputs:{},
				init:function(merlin,dom){},
				finish:function(merlin,dom){}
			},
			/* Step: facebook-login  */
			'facebook-login':{
				progress_selector:'.2',<commit_msg>Typo missing a quote caused facebook join to fail<commit_after>app_page.features.push(tc.user_handler({
	user_handler:function(){
		window.location = '/useraccount';
	}
}));

app_page.features.push(function(app){
	tc.util.log('Give A Minute: Register');
	
	tc.jQ('a.login-facebook, a.login-twitter').bind('click', {buttons:tc.jQ('a.login-facebook, a.login-twitter')}, function(e){
		var $t;
		$t = tc.jQ(this);
		if($t.hasClass('has-been-clicked') || $t.hasClass('cannot-be-clicked')){
			e.preventDefault();
		}
		$t.addClass('has-been-clicked').siblings().addClass('cannot-be-clicked');
	});
	
	app.components.merlin = new tc.merlin(app,{
		dom:tc.jQ('form.merlin'),
		progress_element:tc.jQ('.merlin-progress'),
		next_button:tc.jQ('.ca-btn'),
		back_button:tc.jQ('.foothills .back'),
		error_indicator:tc.jQ('.oops'),
		watch_keypress:true,
		magic:false,
		first_step:app.app_page.data.first_join_step,
		data:{
			f_name:null,
			l_name:null,
			email:null,
			password:<PASSWORD>,
			sms_phone:'-1',
			beta_code:null,
			main_text:""
		},
		steps:{
			/* Step: Start  */
			'start':{
				progress_selector:'.1',
				selector:'.start',
				prev_step:null,
				next_step:'user-info',
				use_for_history:true,
				init:function(merlin,dom){
					tc.jQ('.foothills a.back').hide();
				},
				finish:function(merlin,dom){
					tc.jQ('.foothills a.back').show();
				}
			},
			/* Step: user-info  */
			'user-info':{
				progress_selector:'.2',
				selector:'.user-info',
				prev_step:'start',
				next_step:'email-lookup',
				use_for_history:true,
				inputs:{
					f_name:{
						selector:'input.f_name',
						validators:['max-128','min-2','required'],
						hint:'First name'
					},
					l_name:{
						selector:'input.l_name',
						validators:['max-128','min-2','required'],
						hint:'Last name'
					},
					email:{
						selector:'input.email',
						validators:['max-254','min-6','email','required'],
						hint:''
					},
					password:{
						selector:'input.password',
						validators:['<PASSWORD>','required'],
						hint:''
					},
					main_text:{
						selector:'input.main_text',
						validators:['max-0']
					},
					tos_user_info:{
						selector:'input.tos-user-info',
						validators:['required']
					},
					invite:{
						selector:'input.invite-code',
						validators:function(merlin,dom,current_step){
							if(merlin.app.app_page.data.app_mode == 'beta'){
								return tc.validate(dom,['max-10','min-10','required']);
							}
							return tc.validate(dom,['max-10','min-10']);
						},
						hint:''
					}
				},
				init:function(merlin,dom){
					if(merlin.app.app_page.data.app_mode == 'beta'){
						tc.jQ('.merlin-progress a.indicator.1').hide();
						tc.jQ('.merlin-progress a.indicator.2 .num').html('1');
						tc.jQ('.merlin-progress a.indicator.3 .num').html('2');
						tc.jQ('.foothills a.back').hide();
					}
				},
				finish:function(merlin,dom){
					merlin.options.data = tc.jQ.extend(merlin.options.data,{
						f_name:merlin.current_step.inputs.f_name.dom.val(),
						l_name:merlin.current_step.inputs.l_name.dom.val(),
						email:merlin.current_step.inputs.email.dom.val(),
						main_text:merlin.current_step.inputs.main_text.dom.val(),
						password:<PASSWORD>_step.inputs.password.<PASSWORD>(),
						beta_code:merlin.current_step.inputs.invite.dom.val()
					});
					
					if(merlin.app.app_page.data.app_mode == 'beta'){
						tc.jQ('.foothills a.back').show();
					}
					
				}
			},
			/* Step: twitter-login  */
			'twitter-login':{
				progress_selector:'.2',
				selector:'.twitter-step',
				prev_step:'start',
				next_step:'email-lookup',
				use_for_history:true,
				inputs:{
					f_name:{
						selector:'input.f_name',
						validators:['max-128','min-3','required'],
						hint:'First name'
					},
					l_name:{
						selector:'input.l_name',
						validators:['max-128','min-3','required'],
						hint:'Last name'
					},
					email:{
						selector:'input.email',
						validators:['max-254','min-6','email','required'],
						hint:''
					},
					tos_email:{
						selector:'input.tos-user-info',
						validators:['required'],
						hint:''
					}
				},
				finish:function(merlin,dom){
					merlin.options.data = tc.jQ.extend(merlin.options.data,{
						f_name:merlin.current_step.inputs.f_name.dom.val(),
						l_name:merlin.current_step.inputs.l_name.dom.val(),
						email:merlin.current_step.inputs.email.dom.val()
					});
					merlin.options.steps['email-lookup'].data.last_step = 'twitter-login';
				}
			},
			/* Step: facebook-login-preprocess  */
			'facebook-login-preprocess':{
				supress_hash:true,
				progress_selector:'.2',
				selector:'.facebook-login-preprocess',
				prev_step:'start',
				inputs:{},
				init:function(merlin,dom){},
				finish:function(merlin,dom){}
			},
			/* Step: facebook-login  */
			'facebook-login':{
				progress_selector:'.2',
{'fraction_non_alphanumeric': 0.19504166238041354, 'fraction_numerical': 0.009258306758563933, 'mean_word_length': 3.004118616144975, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, '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': '4857710', 'n_tokens_mistral': 4694, 'n_tokens_neox': 3515, 'n_words': 357}