diff --git a/.gitignore b/.gitignore
index 5c2e673..34fbdf9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
venv/
*.pyc
+vn
diff --git a/JoinTech/App_Questions.txt b/JoinTech/App_Questions.txt
new file mode 100644
index 0000000..cb77a3c
--- /dev/null
+++ b/JoinTech/App_Questions.txt
@@ -0,0 +1,17 @@
+
+What is your first name?
+What is your last name?
+What school are you from?
+What grade are you in? (High School, 1st year, 2nd year, 3rd year, 4+ year, graduate, Other(or not in school?))
+Will you be able to provide your own transportation to Pasadena, CA?
+If we are able to send the below buses, which one would you get on?
+ - Stanford, Berkeley, UCLA, USC, Caltech, UCSD, UCI
+I’m interested in the following areas: Web Dev, Mobile Dev, AR/VR, Hardware, AI/ML, Other
+Please attach your resume (or if we can't build this, give a link to dropbox or google drive or pdf on your website. pdf pls)
+Do you have any links (GitHub, LinkedIn, Portfolio) you’d like us to see?
+Will you be the age of 18 or older by March 3, 2017?
+Write an acrostic poem based around the word “ROSE”
+What is something you did today that could have been simplified/automated/made more exciting with technology?
+What are some cool things you’d like to see at Hacktech? These could be mini-events, hardware, or anything really!
+If you have questions or have anything else you’d like to add, please do so here.
+Do you accept MLH Code of Conduct?
diff --git a/JoinTech/app.py b/JoinTech/app.py
new file mode 100644
index 0000000..165400f
--- /dev/null
+++ b/JoinTech/app.py
@@ -0,0 +1,251 @@
+import logging
+from logging.handlers import RotatingFileHandler
+import os
+from werkzeug.utils import secure_filename
+from flask import Flask, jsonify, render_template, request, escape
+from wtforms import Form, BooleanField, StringField, PasswordField, validators, IntegerField, TextAreaField
+import datetime, time
+from flask_sqlalchemy import SQLAlchemy
+from sqlalchemy import exc
+
+from utils.email_client import send_email
+
+app = Flask(__name__, static_folder='static/assets')
+
+# get the logger working
+if not app.debug:
+ log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(funcName)s(%(lineno)d) %(message)s')
+ logFile = 'server.log'
+ my_handler = RotatingFileHandler(logFile, mode='a', maxBytes=1*1024*1024,
+ backupCount=2, encoding=None, delay=0)
+ my_handler.setFormatter(log_formatter)
+ my_handler.setLevel(logging.INFO)
+ app.logger.addHandler(my_handler)
+
+# logging.basicConfig(filename='email_client.log',level=logging.DEBUG,
+# format='%(asctime)s %(message)s')
+
+# application configurations
+app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql:///hacktech'
+app.config['UPLOAD_FOLDER'] = '/home/potato/resumes'
+
+# constants
+ALLOWED_EXTENSIONS = set(['doc', 'docx', 'pdf', 'txt', 'rtf'])
+
+# models #######################################################################
+
+db = SQLAlchemy(app)
+
+# dict of max length of each column in the db
+COLUMN_LIMITS = {
+ 'fname' : 64,
+ 'lname' : 64,
+ 'email' : 64,
+ 'grade' : 32,
+ 'school' : 64,
+ 'busorigin' : 80,
+ 'website' : 80,
+ 'linkedin' : 80,
+ 'resumepath': 120,
+ 'major' : 80
+}
+
+class Hacker(db.Model):
+ id = db.Column(db.Integer, primary_key=True)
+ fname = db.Column(db.String(COLUMN_LIMITS['fname']))
+ lname = db.Column(db.String(COLUMN_LIMITS['lname']))
+ email = db.Column(db.String(COLUMN_LIMITS['email']), unique=True)
+ age = db.Column(db.Boolean)
+ grade = db.Column(db.String(COLUMN_LIMITS['grade']))
+ school = db.Column(db.String(COLUMN_LIMITS['school']))
+ busorigin = db.Column(db.String(COLUMN_LIMITS['busorigin']))
+ webdev = db.Column(db.Boolean)
+ mobiledev = db.Column(db.Boolean)
+ arvrdev = db.Column(db.Boolean)
+ hardwaredev = db.Column(db.Boolean)
+ aidev = db.Column(db.Boolean)
+ website = db.Column(db.String(COLUMN_LIMITS['website']))
+ linkedin = db.Column(db.String(COLUMN_LIMITS['linkedin']))
+ poem = db.Column(db.Text)
+ techsimplify = db.Column(db.Text)
+ hacktechsuggest = db.Column(db.Text)
+ othercomment = db.Column(db.Text)
+ accept_tos = db.Column(db.Boolean)
+ timestamp = db.Column(db.DateTime)
+ resumepath = db.Column(db.String(COLUMN_LIMITS['resumepath']))
+ major = db.Column(db.String(COLUMN_LIMITS['major']))
+
+ def __init__(self, fname, lname, email, age, grade, school, busorigin, webdev, mobiledev, arvrdev, hardwaredev, aidev, website, linkedin, poem, techsimplify, hacktechsuggest, othercomment, accept_tos, timestamp, resumepath, major):
+ '''
+ initialize the user database.
+ things that should be stored:
+ first name, last name, school, grade
+ transportation, which bus if any
+ interested in: web dev, mobile dev, AR/VR, hardware, AI/ML, other
+ resume file
+ links to github, linkedin, portfolio
+ over 18 by march 3, 2017?
+ acrostic poem based around the word "ROSE"
+ something you did today that could have been enhanced by tech
+ cool things you'd like to see at hacktech
+ questions/comments/concerns
+ do you accept MLH code of conduct?
+ '''
+ self.fname = fname
+ self.lname = lname
+ self.email = email
+ self.age = age
+ self.grade = grade
+ self.school = school
+ self.busorigin = busorigin
+ self.webdev = webdev
+ self.mobiledev = mobiledev
+ self.arvrdev = arvrdev
+ self.hardwaredev = hardwaredev
+ self.aidev = aidev
+ self.website = website
+ self.linkedin = linkedin
+ self.poem = poem
+ self.techsimplify = techsimplify
+ self.hacktechsuggest = hacktechsuggest
+ self.othercomment = othercomment
+ self.accept_tos = accept_tos
+ self.timestamp = timestamp
+ self.resumepath = resumepath
+ self.major = major
+
+ def __repr__(self):
+ return self.fname + ' ' + self.lname + ' ' + self.email + ' ' + str(self.age) + ' ' + self.grade + ' ' + self.school + ' ' + self.busorigin + ' ' + str(self.webdev) + ' ' + str(self.mobiledev) + ' ' + str(self.arvrdev) + ' ' + str(self.hardwaredev) + ' ' + str(self.aidev) + ' ' + self.website + ' ' + self.linkedin + ' ' + self.poem + ' ' + self.techsimplify + ' ' + self.hacktechsuggest + ' ' + self.othercomment + ' ' + str(self.accept_tos) + ' ' + str(self.timestamp) + ' ' + self.resumepath + ' ' + self.major
+
+
+
+
+
+
+
+
+
+
+
+
+
+# DONT PUSH
+
+
+
+
+
+
+db.create_all()
+db.session.commit()
+
+
+
+
+
+
+
+
+
+
+
+# forms ########################################################################
+
+# Registration form needed for backend validation
+class RegistrationForm(Form):
+ fname = StringField('First Name', [validators.Length(min=1, max=COLUMN_LIMITS['fname']), validators.DataRequired()])
+ lname = StringField('Last Name', [validators.Length(min=1, max=COLUMN_LIMITS['lname']), validators.DataRequired()])
+ email = StringField('Email', [validators.Length(min=6, max=COLUMN_LIMITS['email']), validators.Email(), validators.DataRequired()])
+ age = BooleanField('Age')
+ grade = StringField('Grade', [validators.Length(max=COLUMN_LIMITS['grade']), validators.DataRequired()])
+ school = StringField('School/University', [validators.Length(max=COLUMN_LIMITS['school']), validators.DataRequired()])
+ major = StringField('Major', [validators.Length(max=COLUMN_LIMITS['major']), validators.DataRequired()])
+ busorigin = StringField('Bus Origin')
+ webdev = BooleanField('Web Development')
+ mobiledev = BooleanField('Mobile Development')
+ arvrdev = BooleanField('AR/VR Development')
+ hardwaredev = BooleanField('Hardware Development')
+ aidev = BooleanField('AI Development')
+ website = StringField('Website', [validators.Length(max=COLUMN_LIMITS['website'])])
+ linkedin = StringField('LinkedIn Profile', [validators.Length(max=COLUMN_LIMITS['linkedin'])])
+ poem = TextAreaField('Question 1: Poem')
+ techsimplify = TextAreaField('Question 2: Simplify Something With Technology')
+ hacktechsuggest = TextAreaField('Question 3: Suggestions for Hacktech')
+ othercomment = TextAreaField('Question 4: Questions/Comments/Concerns')
+ accept_tos = BooleanField('I accept the TOS', [validators.DataRequired()])
+
+
+# views ########################################################################
+
+@app.route('/')
+def index():
+ return render_template('index.html')
+
+@app.route('/waiver/')
+def waiver():
+ return render_template('waiver.html')
+
+@app.route('/apply/', methods=['GET', 'POST'])
+def register():
+ form = RegistrationForm(request.form)
+ if request.method == 'POST' and form.validate():
+
+ buses = ["no", "tech", "stan", "ucb", "uci", "ucla", "ucsd", "usc"]
+ if escape(form.busorigin.data) not in buses:
+ return "There was a problem with your registration information.\nPlease check your information and try again."
+
+ # handle the resume
+ resumepath = ''
+ f = None
+ if 'resumefileinput' in request.files:
+ f = request.files['resumefileinput']
+ if f and f.filename != '' and allowed_file(f.filename):
+ filename = secure_filename(f.filename)
+ resumepath = os.path.join(app.config['UPLOAD_FOLDER'], str(int(time.time())) + filename)
+ else:
+ return "There was a problem with your Resume upload. Make sure it is a doc, docx, pdf, txt, or rtf."
+ else:
+ return "There was a problem with your Resume upload. Please check your upload and try again."
+
+ # Insert the form data into the db
+ hacker = Hacker(form.fname.data, form.lname.data, form.email.data.lower(), form.age.data, form.grade.data, form.school.data, form.busorigin.data, form.webdev.data, form.mobiledev.data, form.arvrdev.data, form.hardwaredev.data, form.aidev.data, form.website.data, form.linkedin.data, form.poem.data, form.techsimplify.data, form.hacktechsuggest.data, form.othercomment.data, form.accept_tos.data, datetime.datetime.utcnow(), resumepath, form.major.data)
+
+ # try to catch people applying with the same email multiple times
+ try:
+ db.session.add(hacker)
+ db.session.commit()
+ f.save(resumepath)
+ except exc.IntegrityError:
+ app.logger.info("Application try from prev app email " + str(escape(form.email.data)))
+ return "Stop clicking the Apply button, you've already applied with that email!"
+
+ app.logger.info("Application submitted by " + str(escape(form.email.data)))
+
+ # Now we'll send the email application confirmation
+ subject = "Thanks for Applying to Hacktech 2017!"
+ html = render_template('Hacktech2017_submitapplication.html')
+ send_email(hacker.email, subject, html, app_log=app.logger)
+
+ return "Thank you for registering, "+escape(form.fname.data)+". We've sent a confirmation link to "+escape(form.email.data)+"."
+ elif request.method == 'POST':
+ return "There was a problem with your registration information.\nPlease check your information and try again."
+ return render_template('register.html', form=form)
+
+def allowed_file(filename):
+ return '.' in filename and \
+ filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
+
+@app.errorhandler(404)
+def page_not_found(e):
+ return render_template('error.html', error_code=404)
+
+@app.errorhandler(403)
+def page_not_found(e):
+ return render_template('error.html', error_code=403)
+
+@app.errorhandler(410)
+def page_not_found(e):
+ return render_template('error.html', error_code=410)
+
+if __name__ == '__main__':
+ app.run()
diff --git a/JoinTech/template_config.py b/JoinTech/template_config.py
new file mode 100644
index 0000000..63beb01
--- /dev/null
+++ b/JoinTech/template_config.py
@@ -0,0 +1,5 @@
+# This is just the template config file so people don't randomly push the
+# password
+
+GMAIL_USER = ''
+GMAIL_PASSWORD = ''
\ No newline at end of file
diff --git a/JoinTech/utils/email_client.py b/JoinTech/utils/email_client.py
new file mode 100644
index 0000000..2a30097
--- /dev/null
+++ b/JoinTech/utils/email_client.py
@@ -0,0 +1,28 @@
+import logging
+import smtplib
+from email.MIMEMultipart import MIMEMultipart
+from email.mime.text import MIMEText
+from config import GMAIL_USER, GMAIL_PASSWORD
+from flask import escape
+
+# Send an email to the designated email with the passed subject and html body
+def send_email(email, subject, html, app_log=None):
+ msg = MIMEMultipart('alternative')
+ msg['Subject'] = subject
+ msg['From'] = "Hacktech <" + GMAIL_USER + ">"
+ msg['To'] = email
+ msg.attach(MIMEText(html, 'html'))
+
+ try:
+ server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
+ server.ehlo()
+ server.login(GMAIL_USER, GMAIL_PASSWORD)
+ server.sendmail(GMAIL_USER, [email], msg.as_string())
+ server.close()
+ # logging.info('Sent Application Confirmation Email to %s', email)
+ # print 'It worked!'
+ except Exception, e:
+ app_log.info('FAILED Sending Application Confirmation to %s', escape(email))
+ # print 'Something went wrong...'
+ # print str(e)
+
diff --git a/config.py b/config.py
new file mode 100644
index 0000000..2d9d040
--- /dev/null
+++ b/config.py
@@ -0,0 +1,9 @@
+DATABASE = {
+ 'drivername': 'postgres',
+ # 'host': 'localhost',
+ 'host': '52.8.169.4',
+ 'port': '5432',
+ 'username': 'ubuntu',
+ 'password': '',
+ 'database': 'hacktech'
+}
diff --git a/directory.py b/directory.py
index f88c9e0..9a5afa1 100644
--- a/directory.py
+++ b/directory.py
@@ -1,13 +1,13 @@
GAME_NAME_LIST = {
"code_golf_game" : "Code Golf",
- "chameleon_game" : "Chameleon Game",
+ "chameleon_game" : "Octocat-ch",
"trivia_game" : "Trivia Game",
"chart_game" : "Participant Data",
}
GAME_DESCRIPTION_LIST = {
"code_golf_game" : "Solve the challenge in the fewsest number of characters.",
- "chameleon_game" : "Click the chameleon as many times as you can.",
+ "chameleon_game" : "Click the Octocat as many times as you can.",
"trivia_game" : "Solve these trivia questions.",
"chart_game" : "This isn't even a game. Bruh. pls.",
}
@@ -20,123 +20,171 @@
}
TRIVIA_QUESTIONS_LIST = {
- 1 : "What is 4+5",
- 2 : "What is 1+9",
- 3 : "What is 1*5",
- 4 : "Andrew, or Andrew?",
- 5 : "What is a state located in the southeastern region of the United States?",
- 6 : "What is a U.S. state situated in the northwest extremity of the Americas?",
- 7 : "What is a state in the southwestern region of the United States?",
- 8 : "What is a state located in the southeastern region of the United States?",
- 9 : "What is the most populous state in the United States as well as the third most extensive by area?",
- 10 : "What is a state in the United States encompassing most of the Southern Rocky Mountains as well as the northeastern portion of the Colorado Plateau and the western edge of the Great Plains?",
- 11 : "What is the southernmost state in the New England region of the United States?",
- 12 : "What is one of the Mid-Atlantic states located in the Northeast megalopolis region of the United States?",
- 13 : "What is a state located in the southeastern region of the United States?",
- 15 : "What is the 50th and most recent state of the United States of America, receiving statehood on August 21, 1959?",
- 16 : "What is a state in the northwestern region of the United States?",
- 17 : "What is a state in the midwestern region of the United States?",
- 18 : "What is a U.S. state located in the midwestern and Great Lakes regions of North America?",
- 19 : "What is a U.S. state in the Midwestern United States, bordered by the Mississippi River on the east and the Missouri River and the Big Sioux River on the west?",
- 20 : "What is a U.S. state located in the Midwestern United States?",
- 21 : "What is a state located in the east south-central region of the United States?",
- 22 : "What is a state located in the southern region of the United States?",
- 23 : "What is a state in New England, in the United States?",
- 24 : "What is a state located in the Mid-Atlantic region of the United States, bordering Virginia, West Virginia, and Washington, D.C. to its south and west; Pennsylvania to its north; and Delaware to its east?",
- 25 : "What is the most populous state in the New England part of the northeastern region of the United States?",
- 26 : "What is a state located in the Great Lakes and midwestern regions of the United States?",
- 27 : "What is a state in the Midwestern United States?",
- 28 : "What is a state located in the southern region of the United States?",
- 29 : "What is a state located in the Midwestern United States?",
- 30 : "What is a state in the Western region of the United States?",
- 31 : "What is a state that lies in both the Great Plains and the Midwestern United States?",
- 32 : "What is a state in the Western, Mountain West, and Southwestern regions of the United States of America?",
- 33 : "What is a state in the New England region of the northeastern United States?",
- 34 : "What is a state in the northeastern and mid-Atlantic regions of the United States?",
- 35 : "What is a state located in the southwestern region of the United States of America?",
- 36 : "What is a state in the Northeastern United States and is the 27th-most extensive, fourth-most populous, and seventh-most densely populated U.S. state?",
- 37 : "What is a state in the southeastern region of the United States?",
- 38 : "What is the 39th state of the United States, having been admitted to the union on November 2, 1889?",
- 39 : "What is an Eastern state in the Great Lakes region of the United States?",
- 40 : "What is a state located in the South Central United States?",
- 41 : "What is a state in the Pacific Northwest region of the United States?",
- 42 : "What is a state located in the northern and Mid-Atlantic regions of the United States?",
- 43 : "What is a state in the New England region of the United States?",
- 44 : "What is a state in the southeastern region of the United States?",
- 45 : "What is a state located in the Midwestern region of the United States?",
- 46 : "What is a state located in the southeastern region of the United States?",
- 47 : "What is the second largest state in the United States by both area and population?",
- 48 : "What is a state in the western United States?",
- 49 : "What is a New England state in the northeastern region of the United States?",
- 50 : "What is a state located in the South Atlantic region of the United States?",
- 52 : "What is a state located in the Appalachian region of the Southern United States?",
- 53 : "What is a U.S. state located in the north-central United States, in the Midwest and Great Lakes regions?",
- 54 : "What is a state in the mountain region of the Western United States?",
+ 1 : "Which southeastern state in the United States has one of the nation's largest navigable waterways?",
+ 2 : "What is a U.S. state situated in the northwest extremity of the Americas?",
+ 3 : "Which southwestern state in the United States had part of its territory bought in 1853 as part of the Gadsden Purchase?",
+ 4 : "Which southeastern state in the United States contains parts of the Ozark and Ouachita Mountains?",
+ 5 : "Which state was admitted into the union in 1850 and is the birthplace of the film industry?",
+ 6 : "Whisk Four Corners state contains the peak of Mount Elbert?",
+ 7 : "Which northeastern state contains the Thames River as has Yankee Doodle as their state song?",
+ 8 : "A famous photograph of George Washington crossing a river on Christmas Day takes place in which state?",
+ 9 : "The Seminole Wars occurred in which state that borders the Gulf of Mexico?",
+ 10 : "Which southeastern state is also known as The Peach State?",
+ 11 : "Which state is primarily formed from volcanic activity?",
+ 12 : "Which northwestern state contains parts of the Great Basin, Snake River Plain, and Rocky Mountains?",
+ 13 : "Which midwestern US state contains the Erie Canal?",
+ 14 : "Which midwestern US state is also known as 'Land of the Indians'?",
+ 15 : "Which midwestern US state is bordered by the Mississippi River on the east and the Missouri River and the Big Sioux River on the west?",
+ 16 : "Which US state is Dorothy in 'The Wizard of Oz' from?",
+ 17 : "Which south-central US state is known for their nationally successful fast food chain?",
+ 18 : "Which US state is named in a land purchase between America and the French in 1803?",
+ 19 : "Which northeastern US state was admitted into the Union as part of the Missouri Compromise?",
+ 20 : "Which midatlantic US state borders Virginia and is known as the birthplace of religious freedom?",
+ 21 : "Which northeastern US state is well known for their higher education, engineering, and maritime trade?",
+ 22 : "Which US state is bounded by four Great Lakes?",
+ 23 : "Which midwestern US state contains the Metrodome?",
+ 24 : "Which southern US state carries the reputation of being the most religious state in the country?",
+ 25 : "Which midwest US state once held the starting points of the Pony Express, Santa Fe Trail, and Oregon Trail?",
+ 26 : "Which western US state has a landsize in the top 5 of all US states, but a population density in the bottom 5 of all US states?",
+ 27 : "Which midwestern US state is divided into the Dissected Till Plains and the Great Plains?",
+ 28 : "In which midwestern US state is prostitution legal?",
+ 29 : "Which northeastern US state contains the cities Manchester and Concord?",
+ 30 : "Which northeastern US state is known as the car theft capital of the world?",
+ 31 : "Which Four Corners state was named by Spanish explorers seeking the wealth of Mexico?",
+ 32 : "Which northeastern US state as 722 miles of subway track?",
+ 33 : "Which western US state contains Harker's Island?",
+ 34 : "Which northern US state grows omre sunflowers than any other state?",
+ 35 : "Which eastern state is also known as the Buckeye State?",
+ 36 : "Which south-central US state contains the Ouachitas, Arbuckles, Wichitas, and Kiamichis mountain ranges?",
+ 37 : "Which Pacific northwest state contains Crater Lake?",
+ 38 : "In which US state was the Hershey company founded in?",
+ 39 : "What is the smallest state in the United States?",
+ 40 : "In which US state did the first battle of the Civil War take place?",
+ 41 : "Which midwestern US state contains Mount Rushmore?",
+ 42 : "In which southeastern US state did bluegrass music and Jack Daniels originate from?",
+ 43 : "Which southern state is also known as the Lone Star State?",
+ 44 : "Which Four Corners state contains the Great Salt Lake?",
+ 45 : "Which northeastern US state has been previously claimed by both New Hampshire and New York?",
+ 46 : "Which US state holds the largest military base in the country?",
+ 47 : "Which northwest US state is home to the first revolving restaurant in the country?",
+ 48 : "Which state located in the Appalachian region was admitted into the United States during the American Civil War?",
+ 49 : "Which midwest US state is known as the dairy capital of the United States?",
+ 50 : "Which US state was the first state to give women the right to vote?",
+ 51 : "What color were the Witch of the East's slippers in the original Wizard of Oz?",
+ 52 : "In Star Wars, what is the Emporers last name?",
+ 53 : "What is the name of the Queen witch in Sleeping Beauty?",
+ 54 : "Which Disney film has a main character that doesn't speak?",
+ 55 : "What was the first Disney film to be nominated for an Oscar?",
+ 56 : "In Aladdin, what animal does Jafar turn into?",
+ 57 : "Which Disney princess has healing powers?",
+ 58 : "Which Disney princess is also known as 'The Fairest One of All?'",
+ 59 : "What is the name of the teacup in 'Beauty and the Beast'?",
+ 60 : "What is the name of the antagonist in 'The Emperor's New Groove'?",
+ 61 : "In 'The Little Mermaid,' what is the name of Ariel's father?",
+ 62 : "In 'The Emperor's New Groove,' what animal does Kuzco turn into?",
+ 63 : "In 'Cars,' what is Lightning McQueen's racing numbers?",
+ 64 : "What is the name of the antagonist in 'Toy Story 2'?",
+ 65 : "How any animal main characters are there in 'Winnie the Pooh'?",
+ 66 : "What is the name of the tree that attacks Harry and Ron in 'Harry Potter and the Chamber of Secrets'?",
+ 67 : "Who is the first to tell Harry Potter that he is a wizard?",
+ 68 : "In the Harry Potter universe, what is the name of the plant that screams when harvested?",
+ 69 : "Where did Harry Potter live before his parents died?",
+ 70 : "What is the shape of Harry Potter's patronus?"
}
TRIVIA_ANSWERS_LIST = {
- 1 : "9",
- 2 : "10",
- 3 : "5",
- 4: "yoonko",
- 5 : "Alabama",
- 6 : "Alaska",
- 7 : "Arizona",
- 8 : "Arkansas",
- 9 : "California",
- 10 : "Colorado",
- 11 : "Connecticut",
- 12 : "Delaware",
- 13 : "Florida",
- 15 : "Hawaii",
- 16 : "Idaho",
- 17 : "Illinois",
- 18 : "Indiana",
- 19 : "Iowa",
- 20 : "Kansas",
- 21 : "Kentucky",
- 22 : "Louisiana",
- 23 : "Maine",
- 24 : "Maryland",
- 25 : "Massachusetts",
- 26 : "Michigan",
- 27 : "Minnesota",
- 28 : "Mississippi",
- 29 : "Missouri",
- 30 : "Montana",
- 31 : "Nebraska",
- 32 : "Nevada",
- 33 : "New Hampshire",
- 34 : "New Jersey",
- 35 : "New Mexico",
- 36 : "New York",
- 37 : "North Carolina",
- 38 : "North Dakota",
- 39 : "Ohio",
- 40 : "Oklahoma",
- 41 : "Oregon",
- 42 : "Pennsylvania",
- 43 : "Rhode Island",
- 44 : "South Carolina",
- 45 : "South Dakota",
- 46 : "Tennessee",
- 47 : "Texas",
- 48 : "Utah",
- 49 : "Vermont",
- 50 : "Virginia",
- 52 : "West Virginia",
- 53 : "Wisconsin",
- 54 : "Wyoming",
+ 1 : "Alabama",
+ 2 : "Alaska",
+ 3 : "Arizona",
+ 4 : "Arkansas",
+ 5 : "California",
+ 6 : "Colorado",
+ 7 : "Connecticut",
+ 8 : "Delaware",
+ 9 : "Florida",
+ 10: "Georgia",
+ 11 : "Hawaii",
+ 12 : "Idaho",
+ 13 : "Illinois",
+ 14 : "Indiana",
+ 15 : "Iowa",
+ 16 : "Kansas",
+ 17 : "Kentucky",
+ 18 : "Louisiana",
+ 19 : "Maine",
+ 20 : "Maryland",
+ 21 : "Massachusetts",
+ 22 : "Michigan",
+ 23 : "Minnesota",
+ 24 : "Mississippi",
+ 25 : "Missouri",
+ 26 : "Montana",
+ 27 : "Nebraska",
+ 28 : "Nevada",
+ 29 : "New Hampshire",
+ 30 : "New Jersey",
+ 31 : "New Mexico",
+ 32 : "New York",
+ 33 : "North Carolina",
+ 34 : "North Dakota",
+ 35 : "Ohio",
+ 36 : "Oklahoma",
+ 37 : "Oregon",
+ 38 : "Pennsylvania",
+ 39 : "Rhode Island",
+ 40 : "South Carolina",
+ 41 : "South Dakota",
+ 42 : "Tennessee",
+ 43 : "Texas",
+ 44 : "Utah",
+ 45 : "Vermont",
+ 46 : "Virginia",
+ 47 : "Washington",
+ 48 : "West Virginia",
+ 49 : "Wisconsin",
+ 50 : "Wyoming",
+ 51 : "Silver",
+ 52 : "Palpatine",
+ 53 : "Maleficient",
+ 54 : "Dumbo",
+ 55 : "Beauty and the Beast",
+ 56 : "Cobra",
+ 57 : "Rapunzel",
+ 58 : "Snow White",
+ 59 : "Chip",
+ 60 : "Yzma",
+ 61 : "King Triton",
+ 62 : "Llama",
+ 63 : "95",
+ 64 : "Stinky Pete",
+ 65 : "8",
+ 66 : "The Whomping Willow",
+ 67 : "Hagrid",
+ 68 : "Mandrake",
+ 69 : "Godric's Hallow",
+ 70 : "Stag"
}
CODE_GOLF_QUESTIONS_LIST = {
"1" : "Write a function to multiply a number by 10",
- "2" : "Write a function to multiply a number by 5"
+ "2" : "Write a function to multiply a number by 5",
+ "3" : "Write a single line of Python code that will return a newline character.",
+ "4" : "Write a line of Python code which will add 10 to a number.",
+ "5" : "Join a list of strings into a single string, with each string separated from the next in the list by a single space character.",
+ "6" : "Create a list which is equal to the first 5 elements of the input list.",
+ "7" : "Write a boolean expression that tests whether a variable containing a python string has a vowel.",
+ "8" : "Write Python code which, when executed, changes a string with lowercase letters so that it's now uppercase and in reversed order."
}
CODE_GOLF_ANSWERS_LIST = {
"1" : {"inputs": [0, 1, 2, 10], "outputs": [0, 10, 20, 100]},
- "2" : {"inputs": [0, 1, 2, 10], "outputs": [0, 5, 10, 50]}
+ "2" : {"inputs": [0, 1, 2, 10], "outputs": [0, 5, 10, 50]},
+ "3" : {"inputs": ['', '', '', ''], "outputs": ['\n', '\n', '\n', '\n']},
+ "4" : {"inputs": [0, 1, 2, 10], "outputs": [10, 11, 12, 20]},
+ "5" : {"inputs": [['a', 'b', 'c'], ['a b c'],[]], "outputs": ['a b c', 'a b c', '']},
+ "6" : {"inputs": [[0, 1, 2, 3, 4, 5, 6]], "outputs": [[0, 1, 2, 3, 4]]},
+ "7" : {"inputs": ['"ab"', '"ef"', '"ig"', '"op"', '"uv"', '"bfgpv"','""'], "outputs": [True, True, True, True, True, False, False]},
+ "8" : {"inputs": ['""', '"a"', '"abc"'], "outputs": ['', 'A', 'CBA']}
}
USER_TO_PASS_LIST = {
diff --git a/server.py b/server.py
index 646e5e5..971d05d 100644
--- a/server.py
+++ b/server.py
@@ -1,11 +1,187 @@
-from flask import Flask, flash, redirect, render_template, request, session, abort, url_for, json
import directory
import re
import random
+<<<<<<< HEAD
+import logging
+from logging.handlers import RotatingFileHandler
+import os
+from werkzeug.utils import secure_filename
+from flask import Flask, jsonify, render_template, request, escape, flash, redirect, request, session, abort, url_for, json
+from wtforms import Form, BooleanField, StringField, PasswordField, validators, IntegerField, TextAreaField
+import datetime, time
+from flask_sqlalchemy import SQLAlchemy
+from sqlalchemy import exc
+import multiprocessing
+
+app = Flask(__name__, static_folder='static/assets')
+# app = Flask(__name__)
-app = Flask(__name__)
app.config['DEBUG'] = True
+# get the logger working
+if not app.debug:
+ log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(funcName)s(%(lineno)d) %(message)s')
+ logFile = 'server.log'
+ my_handler = RotatingFileHandler(logFile, mode='a', maxBytes=1*1024*1024,
+ backupCount=2, encoding=None, delay=0)
+ my_handler.setFormatter(log_formatter)
+ my_handler.setLevel(logging.INFO)
+ app.logger.addHandler(my_handler)
+
+# logging.basicConfig(filename='email_client.log',level=logging.DEBUG,
+# format='%(asctime)s %(message)s')
+
+# application configurations
+app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql:///hacktech'
+app.config['UPLOAD_FOLDER'] = '/home/potato/resumes'
+
+# constants
+ALLOWED_EXTENSIONS = set(['doc', 'docx', 'pdf', 'txt', 'rtf'])
+
+# models #######################################################################
+
+db = SQLAlchemy(app)
+
+# dict of max length of each column in the db
+COLUMN_LIMITS = {
+ 'fname' : 64,
+ 'lname' : 64,
+ 'email' : 64,
+ 'grade' : 32,
+ 'school' : 64,
+ 'busorigin' : 80,
+ 'website' : 80,
+ 'linkedin' : 80,
+ 'resumepath': 120,
+ 'major' : 80
+}
+
+class Hacker(db.Model):
+ id = db.Column(db.Integer, primary_key=True)
+ fname = db.Column(db.String(COLUMN_LIMITS['fname']))
+ lname = db.Column(db.String(COLUMN_LIMITS['lname']))
+ email = db.Column(db.String(COLUMN_LIMITS['email']), unique=True)
+ age = db.Column(db.Boolean)
+ grade = db.Column(db.String(COLUMN_LIMITS['grade']))
+ school = db.Column(db.String(COLUMN_LIMITS['school']))
+ busorigin = db.Column(db.String(COLUMN_LIMITS['busorigin']))
+ webdev = db.Column(db.Boolean)
+ mobiledev = db.Column(db.Boolean)
+ arvrdev = db.Column(db.Boolean)
+ hardwaredev = db.Column(db.Boolean)
+ aidev = db.Column(db.Boolean)
+ website = db.Column(db.String(COLUMN_LIMITS['website']))
+ linkedin = db.Column(db.String(COLUMN_LIMITS['linkedin']))
+ poem = db.Column(db.Text)
+ techsimplify = db.Column(db.Text)
+ hacktechsuggest = db.Column(db.Text)
+ othercomment = db.Column(db.Text)
+ accept_tos = db.Column(db.Boolean)
+ timestamp = db.Column(db.DateTime)
+ resumepath = db.Column(db.String(COLUMN_LIMITS['resumepath']))
+ major = db.Column(db.String(COLUMN_LIMITS['major']))
+
+ def __init__(self, fname, lname, email, age, grade, school, busorigin, webdev, mobiledev, arvrdev, hardwaredev, aidev, website, linkedin, poem, techsimplify, hacktechsuggest, othercomment, accept_tos, timestamp, resumepath, major):
+ '''
+ initialize the user database.
+ things that should be stored:
+ first name, last name, school, grade
+ transportation, which bus if any
+ interested in: web dev, mobile dev, AR/VR, hardware, AI/ML, other
+ resume file
+ links to github, linkedin, portfolio
+ over 18 by march 3, 2017?
+ acrostic poem based around the word "ROSE"
+ something you did today that could have been enhanced by tech
+ cool things you'd like to see at hacktech
+ questions/comments/concerns
+ do you accept MLH code of conduct?
+ '''
+ self.fname = fname
+ self.lname = lname
+ self.email = email
+ self.age = age
+ self.grade = grade
+ self.school = school
+ self.busorigin = busorigin
+ self.webdev = webdev
+ self.mobiledev = mobiledev
+ self.arvrdev = arvrdev
+ self.hardwaredev = hardwaredev
+ self.aidev = aidev
+ self.website = website
+ self.linkedin = linkedin
+ self.poem = poem
+ self.techsimplify = techsimplify
+ self.hacktechsuggest = hacktechsuggest
+ self.othercomment = othercomment
+ self.accept_tos = accept_tos
+ self.timestamp = timestamp
+ self.resumepath = resumepath
+ self.major = major
+
+ def __repr__(self):
+ return self.fname + ' ' + self.lname + ' ' + self.email + ' ' + str(self.age) + ' ' + self.grade + ' ' + self.school + ' ' + self.busorigin + ' ' + str(self.webdev) + ' ' + str(self.mobiledev) + ' ' + str(self.arvrdev) + ' ' + str(self.hardwaredev) + ' ' + str(self.aidev) + ' ' + self.website + ' ' + self.linkedin + ' ' + self.poem + ' ' + self.techsimplify + ' ' + self.hacktechsuggest + ' ' + self.othercomment + ' ' + str(self.accept_tos) + ' ' + str(self.timestamp) + ' ' + self.resumepath + ' ' + self.major
+
+
+
+
+
+
+
+
+
+
+
+
+
+# DONT PUSH
+
+
+
+
+
+
+db.create_all()
+db.session.commit()
+
+
+
+
+
+
+
+
+
+
+
+# forms ########################################################################
+
+# Registration form needed for backend validation
+class RegistrationForm(Form):
+ fname = StringField('First Name', [validators.Length(min=1, max=COLUMN_LIMITS['fname']), validators.DataRequired()])
+ lname = StringField('Last Name', [validators.Length(min=1, max=COLUMN_LIMITS['lname']), validators.DataRequired()])
+ email = StringField('Email', [validators.Length(min=6, max=COLUMN_LIMITS['email']), validators.Email(), validators.DataRequired()])
+ age = BooleanField('Age')
+ grade = StringField('Grade', [validators.Length(max=COLUMN_LIMITS['grade']), validators.DataRequired()])
+ school = StringField('School/University', [validators.Length(max=COLUMN_LIMITS['school']), validators.DataRequired()])
+ major = StringField('Major', [validators.Length(max=COLUMN_LIMITS['major']), validators.DataRequired()])
+ busorigin = StringField('Bus Origin')
+ webdev = BooleanField('Web Development')
+ mobiledev = BooleanField('Mobile Development')
+ arvrdev = BooleanField('AR/VR Development')
+ hardwaredev = BooleanField('Hardware Development')
+ aidev = BooleanField('AI Development')
+ website = StringField('Website', [validators.Length(max=COLUMN_LIMITS['website'])])
+ linkedin = StringField('LinkedIn Profile', [validators.Length(max=COLUMN_LIMITS['linkedin'])])
+ poem = TextAreaField('Question 1: Poem')
+ techsimplify = TextAreaField('Question 2: Simplify Something With Technology')
+ hacktechsuggest = TextAreaField('Question 3: Suggestions for Hacktech')
+ othercomment = TextAreaField('Question 4: Questions/Comments/Concerns')
+ accept_tos = BooleanField('I accept the TOS', [validators.DataRequired()])
+
+
+
@app.route('/leaderboard')
def leaderboard(name=None):
name = request.args["name"]
@@ -18,9 +194,25 @@ def check(code, inp, outp):
return ('Syntax error! Try again!', 0)
for test_case in range(len(inp)):
try:
- result = eval('f(' + str(inp[test_case]) + ')')
- if result != outp[test_case]:
- return ("Wrong Answer! Try again!", 0)
+ # Creating a child process that can be terminated after a time limit
+ p = multiprocessing.Process(target=f, name="F", args=(test_case,))
+ p.start()
+
+ # Wait a maximum of 5 seconds for foo
+ # Usage: join([timeout in seconds])
+ p.join(3)
+
+ # If thread is active
+ if p.is_alive():
+ # Terminate function
+ p.terminate()
+ p.join()
+ return ("Function is taking too long! Try again!", 0)
+
+ result = eval('f(' + str(inp[test_case]) + ')')
+
+ if result != outp[test_case]:
+ return ("Wrong Answer! Try again!", 0)
except:
return ("Function error! Try again!", 0)
return ("You passed with %d characters" %(len(code)), len(code))
@@ -56,20 +248,23 @@ def password_generation():
@app.route('/api/trivia_game', methods=['GET', 'POST'])
def trivia():
+ # GET pulls the next question in line in TRIVIA_QUESTIONS_LIST
if request.method == 'GET':
key = int(request.args.get('question'))
if key in directory.TRIVIA_QUESTIONS_LIST:
- return "%d. %s" % (key, directory.TRIVIA_QUESTIONS_LIST[key])
+ return directory.TRIVIA_QUESTIONS_LIST[key]
else:
return "No questions left! Check back later for more!"
+ # POST normalizes the user and database answers and compares them
elif request.method == 'POST':
- answer = normalize(request.form["answer"])
+ answer = request.form["answer"]
questionNum = int(request.form["question"])
-
- if (directory.TRIVIA_ANSWERS_LIST[questionNum] == answer):
+ if (normalize(directory.TRIVIA_ANSWERS_LIST[questionNum]) == \
+ normalize(answer)):
return json.dumps({"result": "Correct!"})
- return json.dumps({"result": "Wrong!"})
- return "pls"
+ return json.dumps({"result": "Wrong! Correct Answer: %s" \
+ %(directory.TRIVIA_ANSWERS_LIST[questionNum])})
+ return "Wrong request method given."
def normalize(string):
return re.sub(r'\W+', '', string.lower())
@@ -81,7 +276,7 @@ def play_game(gamename, username=None):
return redirect(url_for('login'))
return render_template('games/%s.html' % gamename, username=username)
-@app.route('/', methods=['GET', 'POST'])
+@app.route('/gametech', methods=['GET', 'POST'])
@app.route('/login', methods=['GET', 'POST'])
def login():
error = None
@@ -93,5 +288,75 @@ def login():
error = 'Invalid Credentials. Please try again.'
return render_template('login.html', error=error)
-if __name__ == "__main__":
+@app.route('/')
+def index():
+ return render_template('JoinTechTemplates/index.html')
+
+@app.route('/waiver/')
+def waiver():
+ return render_template('JoinTechTemplates/waiver.html')
+
+@app.route('/apply/', methods=['GET', 'POST'])
+def register():
+ form = RegistrationForm(request.form)
+ if request.method == 'POST' and form.validate():
+
+ buses = ["no", "tech", "stan", "ucb", "uci", "ucla", "ucsd", "usc"]
+ if escape(form.busorigin.data) not in buses:
+ return "There was a problem with your registration information.\nPlease check your information and try again."
+
+ # handle the resume
+ resumepath = ''
+ f = None
+ if 'resumefileinput' in request.files:
+ f = request.files['resumefileinput']
+ if f and f.filename != '' and allowed_file(f.filename):
+ filename = secure_filename(f.filename)
+ resumepath = os.path.join(app.config['UPLOAD_FOLDER'], str(int(time.time())) + filename)
+ else:
+ return "There was a problem with your Resume upload. Make sure it is a doc, docx, pdf, txt, or rtf."
+ else:
+ return "There was a problem with your Resume upload. Please check your upload and try again."
+
+ # Insert the form data into the db
+ hacker = Hacker(form.fname.data, form.lname.data, form.email.data.lower(), form.age.data, form.grade.data, form.school.data, form.busorigin.data, form.webdev.data, form.mobiledev.data, form.arvrdev.data, form.hardwaredev.data, form.aidev.data, form.website.data, form.linkedin.data, form.poem.data, form.techsimplify.data, form.hacktechsuggest.data, form.othercomment.data, form.accept_tos.data, datetime.datetime.utcnow(), resumepath, form.major.data)
+
+ # try to catch people applying with the same email multiple times
+ try:
+ db.session.add(hacker)
+ db.session.commit()
+ f.save(resumepath)
+ except exc.IntegrityError:
+ app.logger.info("Application try from prev app email " + str(escape(form.email.data)))
+ return "Stop clicking the Apply button, you've already applied with that email!"
+
+ app.logger.info("Application submitted by " + str(escape(form.email.data)))
+
+ # Now we'll send the email application confirmation
+ subject = "Thanks for Applying to Hacktech 2017!"
+ html = render_template('JoinTechTemplates/Hacktech2017_submitapplication.html')
+ send_email(hacker.email, subject, html, app_log=app.logger)
+
+ return "Thank you for registering, "+escape(form.fname.data)+". We've sent a confirmation link to "+escape(form.email.data)+"."
+ elif request.method == 'POST':
+ return "There was a problem with your registration information.\nPlease check your information and try again."
+ return render_template('JoinTechTemplates/register.html', form=form)
+
+def allowed_file(filename):
+ return '.' in filename and \
+ filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS
+
+@app.errorhandler(404)
+def page_not_found(e):
+ return render_template('JoinTechTemplates/error.html', error_code=404)
+
+@app.errorhandler(403)
+def page_not_found(e):
+ return render_template('JoinTechTemplates/error.html', error_code=403)
+
+@app.errorhandler(410)
+def page_not_found(e):
+ return render_template('JoinTechTemplates/error.html', error_code=410)
+
+if __name__ == '__main__':
app.run()
diff --git a/static/.DS_Store b/static/.DS_Store
new file mode 100644
index 0000000..fccd2e6
Binary files /dev/null and b/static/.DS_Store differ
diff --git a/static/assets/.DS_Store b/static/assets/.DS_Store
new file mode 100644
index 0000000..bfbc3e7
Binary files /dev/null and b/static/assets/.DS_Store differ
diff --git a/static/assets/css/.sass-cache/141b80a4339f25a730b576fed9331e3380311122/_mixins.scssc b/static/assets/css/.sass-cache/141b80a4339f25a730b576fed9331e3380311122/_mixins.scssc
new file mode 100644
index 0000000..329ea5e
Binary files /dev/null and b/static/assets/css/.sass-cache/141b80a4339f25a730b576fed9331e3380311122/_mixins.scssc differ
diff --git a/static/assets/css/.sass-cache/141b80a4339f25a730b576fed9331e3380311122/index.scssc b/static/assets/css/.sass-cache/141b80a4339f25a730b576fed9331e3380311122/index.scssc
new file mode 100644
index 0000000..3cda67b
Binary files /dev/null and b/static/assets/css/.sass-cache/141b80a4339f25a730b576fed9331e3380311122/index.scssc differ
diff --git a/static/assets/css/.sass-cache/3d6c827994dd5421228ad8909f088961d16e81dd/_mixins.scssc b/static/assets/css/.sass-cache/3d6c827994dd5421228ad8909f088961d16e81dd/_mixins.scssc
new file mode 100644
index 0000000..a1656d6
Binary files /dev/null and b/static/assets/css/.sass-cache/3d6c827994dd5421228ad8909f088961d16e81dd/_mixins.scssc differ
diff --git a/static/assets/css/.sass-cache/3d6c827994dd5421228ad8909f088961d16e81dd/index.scssc b/static/assets/css/.sass-cache/3d6c827994dd5421228ad8909f088961d16e81dd/index.scssc
new file mode 100644
index 0000000..834be9e
Binary files /dev/null and b/static/assets/css/.sass-cache/3d6c827994dd5421228ad8909f088961d16e81dd/index.scssc differ
diff --git a/static/assets/css/.sass-cache/87051c613bb9229486d7a4de197b0ccef1f3bc81/_mixins.scssc b/static/assets/css/.sass-cache/87051c613bb9229486d7a4de197b0ccef1f3bc81/_mixins.scssc
new file mode 100644
index 0000000..b63993f
Binary files /dev/null and b/static/assets/css/.sass-cache/87051c613bb9229486d7a4de197b0ccef1f3bc81/_mixins.scssc differ
diff --git a/static/assets/css/.sass-cache/87051c613bb9229486d7a4de197b0ccef1f3bc81/index.scssc b/static/assets/css/.sass-cache/87051c613bb9229486d7a4de197b0ccef1f3bc81/index.scssc
new file mode 100644
index 0000000..d14ff08
Binary files /dev/null and b/static/assets/css/.sass-cache/87051c613bb9229486d7a4de197b0ccef1f3bc81/index.scssc differ
diff --git a/static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/_mixins.scssc b/static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/_mixins.scssc
similarity index 100%
rename from static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/_mixins.scssc
rename to static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/_mixins.scssc
diff --git a/static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/chameleon_game.scssc b/static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/chameleon_game.scssc
similarity index 100%
rename from static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/chameleon_game.scssc
rename to static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/chameleon_game.scssc
diff --git a/static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/chart_game.scssc b/static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/chart_game.scssc
similarity index 100%
rename from static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/chart_game.scssc
rename to static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/chart_game.scssc
diff --git a/static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/code-golf_game.scssc b/static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/code-golf_game.scssc
similarity index 100%
rename from static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/code-golf_game.scssc
rename to static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/code-golf_game.scssc
diff --git a/static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/leaderboard.scssc b/static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/leaderboard.scssc
similarity index 100%
rename from static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/leaderboard.scssc
rename to static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/leaderboard.scssc
diff --git a/static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/login.scssc b/static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/login.scssc
similarity index 100%
rename from static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/login.scssc
rename to static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/login.scssc
diff --git a/static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/trivia_game.scssc b/static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/trivia_game.scssc
similarity index 100%
rename from static/stylesheets/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/trivia_game.scssc
rename to static/assets/css/Gametech/.sass-cache/afac55a93412159d56cf7f42ef441a25a2f6ed62/trivia_game.scssc
diff --git a/static/stylesheets/chameleon_game.css b/static/assets/css/Gametech/chameleon_game.css
similarity index 74%
rename from static/stylesheets/chameleon_game.css
rename to static/assets/css/Gametech/chameleon_game.css
index 585ef71..a69e7f1 100644
--- a/static/stylesheets/chameleon_game.css
+++ b/static/assets/css/Gametech/chameleon_game.css
@@ -4,14 +4,54 @@
/* breakpoints */
/* animations and keyframes */
/* transitions */
+/* taken from http://designmodo.github.io/Flat-UI/*/
@import url(https://fonts.googleapis.com/css?family=Roboto);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed);
+
+/* imported from free flat UI kit at http://designmodo.github.io/Flat-UI/ for Octocat Icon */
+@font-face {
+ font-family: 'Flat-UI-Icons';
+ src: url('../fonts/glyphicons/flat-ui-icons-regular.eot');
+ src: url('../fonts/glyphicons/flat-ui-icons-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons/flat-ui-icons-regular.woff') format('woff'), url('../fonts/glyphicons/flat-ui-icons-regular.ttf') format('truetype'), url('../fonts/glyphicons/flat-ui-icons-regular.svg#flat-ui-icons-regular') format('svg');
+}
/* variables */
+
+[class^="fui-"],
+[class*="fui-"] {
+ font-family: 'Flat-UI-Icons';
+ speak: none;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.display{
+ position: relative;
+ top: 5%;
+ left: 25%;
+ color: #b76e79;
+ font-size: 200%;
+}
+
+.game-OC{
+ color: #7F8C8D;
+ font-size: 230%;
+ position: relative;
+ top: 104%;
+}
+
+.fui-github:before {
+ content: "\e65c";
+}
+
* {
padding: 0;
margin: 0;
box-sizing: border-box;
- font-family: "Roboto Condensed", sans-serif; }
+ font-family: "Roboto Condensed", sans-serif; }
html, body, .viewport {
width: 100%;
@@ -83,6 +123,10 @@ p, div {
min-height: 70%;
height: 70%;
max-height: 70%; }
+
+#scores {
+ color: #b76e79;
+ font-size: 125%; }
#chameleon-game {
flex: 8 auto;
@@ -92,18 +136,18 @@ p, div {
position: relative;
width: 100%;
height: 100%;
- background-color: #32CD32;
- -webkit-transition: background 0.5s linear;
- -moz-transition: background 0.5s linear;
- -ms-transition: background 0.5s linear;
- -o-transition: background 0.5s linear;
- transition: background 0.5s linear; }
+ background-color: #80878e;
+ -webkit-transition: background 0s linear;
+ -moz-transition: background 0s linear;
+ -ms-transition: background 0s linear;
+ -o-transition: background 0s linear;
+ transition: background 0s linear; }
.submit-button {
margin-top: 30px;
padding: 10px 40px;
text-transform: uppercase;
- color: #e5cace;
+ color: #b76e79;
letter-spacing: 1.1;
border: none;
outline: none;
@@ -114,8 +158,9 @@ p, div {
display: none; }
.infocard {
+ font-size: 120%;
background-color: #fff;
- color: #e5cace;
+ color: #b76e79;
margin: 5px 20px;
padding: 30px; }
.infocard h3 {
@@ -125,6 +170,7 @@ p, div {
margin-top: 10px; }
.submit-button {
+ color: #b76e79;
-webkit-transition: color 0.8s ease;
-moz-transition: color 0.8s ease;
-ms-transition: color 0.8s ease;
@@ -157,7 +203,7 @@ p, div {
text-decoration: none;
padding: 5px 10px;
background-color: #fff;
- color: #e5cace;
+ color: #b76e79;
text-transform: uppercase;
letter-spacing: 1.1;
-webkit-transition: color 0.8s ease;
@@ -184,4 +230,4 @@ p, div {
color: #fff;
background-color: #e5cace; }
-/*# sourceMappingURL=chameleon_game.css.map */
+/*# sourceMappingURL=chameleon_game.css.map */
\ No newline at end of file
diff --git a/static/stylesheets/chameleon_game.css.map b/static/assets/css/Gametech/chameleon_game.css.map
similarity index 100%
rename from static/stylesheets/chameleon_game.css.map
rename to static/assets/css/Gametech/chameleon_game.css.map
diff --git a/static/stylesheets/chart_game.css b/static/assets/css/Gametech/chart_game.css
similarity index 100%
rename from static/stylesheets/chart_game.css
rename to static/assets/css/Gametech/chart_game.css
diff --git a/static/stylesheets/chart_game.css.map b/static/assets/css/Gametech/chart_game.css.map
similarity index 100%
rename from static/stylesheets/chart_game.css.map
rename to static/assets/css/Gametech/chart_game.css.map
diff --git a/static/stylesheets/code-golf_game.css b/static/assets/css/Gametech/code-golf_game.css
similarity index 100%
rename from static/stylesheets/code-golf_game.css
rename to static/assets/css/Gametech/code-golf_game.css
diff --git a/static/stylesheets/code-golf_game.css.map b/static/assets/css/Gametech/code-golf_game.css.map
similarity index 100%
rename from static/stylesheets/code-golf_game.css.map
rename to static/assets/css/Gametech/code-golf_game.css.map
diff --git a/static/stylesheets/jquery.mCustomScrollbar.css b/static/assets/css/Gametech/jquery.mCustomScrollbar.css
similarity index 100%
rename from static/stylesheets/jquery.mCustomScrollbar.css
rename to static/assets/css/Gametech/jquery.mCustomScrollbar.css
diff --git a/static/stylesheets/leaderboard.css b/static/assets/css/Gametech/leaderboard.css
similarity index 100%
rename from static/stylesheets/leaderboard.css
rename to static/assets/css/Gametech/leaderboard.css
diff --git a/static/stylesheets/leaderboard.css.map b/static/assets/css/Gametech/leaderboard.css.map
similarity index 100%
rename from static/stylesheets/leaderboard.css.map
rename to static/assets/css/Gametech/leaderboard.css.map
diff --git a/static/stylesheets/login.css b/static/assets/css/Gametech/login.css
similarity index 100%
rename from static/stylesheets/login.css
rename to static/assets/css/Gametech/login.css
diff --git a/static/stylesheets/login.css.map b/static/assets/css/Gametech/login.css.map
similarity index 100%
rename from static/stylesheets/login.css.map
rename to static/assets/css/Gametech/login.css.map
diff --git a/static/stylesheets/sass/_mixins.scss b/static/assets/css/Gametech/sass/_mixins.scss
similarity index 100%
rename from static/stylesheets/sass/_mixins.scss
rename to static/assets/css/Gametech/sass/_mixins.scss
diff --git a/static/stylesheets/sass/chameleon_game.scss b/static/assets/css/Gametech/sass/chameleon_game.scss
similarity index 100%
rename from static/stylesheets/sass/chameleon_game.scss
rename to static/assets/css/Gametech/sass/chameleon_game.scss
diff --git a/static/stylesheets/sass/chart_game.scss b/static/assets/css/Gametech/sass/chart_game.scss
similarity index 100%
rename from static/stylesheets/sass/chart_game.scss
rename to static/assets/css/Gametech/sass/chart_game.scss
diff --git a/static/stylesheets/sass/code-golf_game.scss b/static/assets/css/Gametech/sass/code-golf_game.scss
similarity index 100%
rename from static/stylesheets/sass/code-golf_game.scss
rename to static/assets/css/Gametech/sass/code-golf_game.scss
diff --git a/static/stylesheets/sass/leaderboard.scss b/static/assets/css/Gametech/sass/leaderboard.scss
similarity index 100%
rename from static/stylesheets/sass/leaderboard.scss
rename to static/assets/css/Gametech/sass/leaderboard.scss
diff --git a/static/stylesheets/sass/login.scss b/static/assets/css/Gametech/sass/login.scss
similarity index 100%
rename from static/stylesheets/sass/login.scss
rename to static/assets/css/Gametech/sass/login.scss
diff --git a/static/stylesheets/sass/trivia_game.scss b/static/assets/css/Gametech/sass/trivia_game.scss
similarity index 100%
rename from static/stylesheets/sass/trivia_game.scss
rename to static/assets/css/Gametech/sass/trivia_game.scss
diff --git a/static/stylesheets/style.css b/static/assets/css/Gametech/style.css
similarity index 100%
rename from static/stylesheets/style.css
rename to static/assets/css/Gametech/style.css
diff --git a/static/stylesheets/trivia_game.css b/static/assets/css/Gametech/trivia_game.css
similarity index 99%
rename from static/stylesheets/trivia_game.css
rename to static/assets/css/Gametech/trivia_game.css
index 0866076..cc19f4e 100644
--- a/static/stylesheets/trivia_game.css
+++ b/static/assets/css/Gametech/trivia_game.css
@@ -99,6 +99,7 @@ p, div {
text-transform: uppercase; }
#answer {
+ color: #fff;
margin-top: 20px;
font-size: 26px; }
diff --git a/static/stylesheets/trivia_game.css.map b/static/assets/css/Gametech/trivia_game.css.map
similarity index 100%
rename from static/stylesheets/trivia_game.css.map
rename to static/assets/css/Gametech/trivia_game.css.map
diff --git a/static/assets/css/fonts/glyphicons/flat-ui-icons-regular.ttf b/static/assets/css/fonts/glyphicons/flat-ui-icons-regular.ttf
new file mode 100644
index 0000000..f4933ff
Binary files /dev/null and b/static/assets/css/fonts/glyphicons/flat-ui-icons-regular.ttf differ
diff --git a/static/assets/css/fonts/glyphicons/flat-ui-icons-regular.woff b/static/assets/css/fonts/glyphicons/flat-ui-icons-regular.woff
new file mode 100644
index 0000000..f9e9805
Binary files /dev/null and b/static/assets/css/fonts/glyphicons/flat-ui-icons-regular.woff differ
diff --git a/static/assets/css/index.css b/static/assets/css/index.css
new file mode 100644
index 0000000..ca818e6
--- /dev/null
+++ b/static/assets/css/index.css
@@ -0,0 +1,389 @@
+/* taken from http://zerosixthree.se/8-sass-mixins-you-must-have-in-your-toolbox/ */
+/* set rem font size with pixel fallback */
+/* breakpoints */
+/* animations and keyframes */
+/* transitions */
+@import url(https://fonts.googleapis.com/css?family=Roboto);
+@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed);
+@import url(https://fonts.googleapis.com/css?family=Roboto+Slab);
+/* variables */
+* {
+ padding: 0;
+ margin: 0;
+ border-sizing: border-box; }
+
+html, body {
+ width: 100%;
+ height: 100%; }
+
+body {
+ font-family: "Roboto Condensed", sans-serif;
+ background-color: #cd989f;
+ color: #fff; }
+
+#landing {
+ height: 100%; }
+ #landing .contents {
+ height: 100%;
+ width: 100%;
+ display: -webkit-box;
+ display: -moz-box;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-flex-flow: column nowrap;
+ flex-flow: column nowrap;
+ flex: 1;
+ justify-content: center;
+ align-items: center; }
+ #landing img {
+ max-height: 40%;
+ width: auto; }
+ #landing h1 {
+ text-align: center;
+ text-transform: uppercase;
+ font-weight: 600;
+ margin-top: 20px;
+ font-size: 3.5em;
+ letter-spacing: .08em; }
+ #landing h3 {
+ text-transform: uppercase;
+ font-size: 1.2em;
+ letter-spacing: .08em; }
+ #landing #form {
+ margin: 30px 0px;
+ font-size: 0px;
+ text-align: center;
+ width: 45%; }
+ #landing #form h3 {
+ text-transform: uppercase;
+ color: #fff;
+ font-size: 1.2em;
+ letter-spacing: .08em; }
+ #landing #form button {
+ width: 10%;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: .08em;
+ font-size: 20px;
+ font-weight: bold;
+ /*margin-left: -4px;*/
+ outline: 0;
+ color: #fff;
+ border: 2px #fff solid;
+ background: none;
+ width: 35%;
+ padding: 4px;
+ margin-top: 10px;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing #form button:hover {
+ background-color: #fff;
+ color: #cd989f;
+ cursor: pointer;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing #form #ageExplain:hover {
+ background: none;
+ color: #fff;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing #form .label:hover {
+ background: none;
+ color: #fff;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing select {
+ width: 10%;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: .08em;
+ font-size: 20px;
+ font-weight: bold;
+ /*margin-left: -4px;*/
+ margin: 6px;
+ outline: 0;
+ color: #fff;
+ border: 2px #fff solid;
+ background: none;
+ width: 35%;
+ padding: 4px;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing select:hover {
+ background-color: #fff;
+ color: #cd989f;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing input {
+ outline: 0;
+ border: 0;
+ margin: 6px;
+ padding: 6px;
+ width: 45%;
+ font-size: 20px;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: .08em;
+ color: #cd989f; }
+ #landing textarea {
+ outline: 0;
+ border: 0;
+ margin: 6px;
+ padding: 6px;
+ width: 85%;
+ font-size: 20px;
+ /*text-transform: uppercase;*/
+ font-family: "Roboto Condensed", sans-serif;
+ /*letter-spacing: .08em;*/
+ color: #cd989f; }
+ #landing #age {
+ outline: 0;
+ border: 0;
+ margin: 0;
+ padding: 0;
+ width: 5%;
+ font-size: 0;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: 0;
+ color: #cd989f; }
+ #landing .checkbox {
+ outline: 0;
+ border: 0;
+ margin: 0;
+ padding: 0;
+ width: 5%;
+ font-size: 0;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: 0;
+ color: #cd989f; }
+ #landing #apply {
+ border: 0;
+ outline: 0;
+ font-family: "Roboto Condensed", sans-serif;
+ text-transform: uppercase;
+ font-weight: 600;
+ background-color: #fff;
+ color: #cd989f;
+ padding: 15px 30px;
+ font-size: 1.5em;
+ letter-spacing: .1em;
+ margin-top: 20px; }
+ #landing #form #formSubmit {
+ width: 10%;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: .08em;
+ font-size: 20px;
+ font-weight: bold;
+ /*margin-left: -4px;*/
+ outline: 0;
+ color: #fff;
+ border: 2px #fff solid;
+ background: none;
+ width: 35%;
+ padding: 4px;
+ margin-top: 10px;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing #form #formSubmit:hover {
+ background-color: #fff;
+ color: #cd989f;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+
+#intro {
+ background-color: #fff;
+ color: #cd989f; }
+ #intro .contents {
+ padding: 15% 15%;
+ display: -webkit-box;
+ display: -moz-box;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-flex-flow: column nowrap;
+ flex-flow: column nowrap;
+ flex: 1;
+ justify-content: center;
+ align-items: center; }
+ #intro p {
+ font-size: 1.5em;
+ text-align: center;
+ margin-bottom: 20px; }
+ #intro p b {
+ font-size: 2em; }
+
+#faq {
+ background-color: #cd989f; }
+ #faq .contents {
+ padding: 50px 10%;
+ text-align: center;
+ font-size: 20px; }
+ #faq h3 {
+ text-align: center;
+ font-size: 3em;
+ text-transform: uppercase;
+ letter-spacing: .03em;
+ margin-bottom: 30px; }
+ #faq .faqcolumn {
+ width: 45%;
+ display: inline-block;
+ margin: 0px 1%;
+ vertical-align: top; }
+ #faq .faqelem {
+ text-align: left;
+ margin-bottom: 20px; }
+ #faq .question {
+ background-color: #fff;
+ color: #cd989f;
+ padding: 20px 20px 14px 20px;
+ cursor: pointer; }
+ #faq .question:after {
+ color: #cd989f;
+ -webkit-font-smoothing: antialiased;
+ content: ">";
+ position: relative;
+ float: right;
+ font-size: 1em;
+ font-weight: bold;
+ -webkit-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg); }
+ #faq .answer {
+ border: 3px solid #fff;
+ padding: 0px 20px;
+ max-height: 0;
+ overflow-y: hidden;
+ -webkit-transition: all .25s;
+ -moz-transition: all .25s;
+ transition: all .25s;
+ -webkit-transition-timing-function: ease-out;
+ -moz-transition-timing-function: ease-out;
+ transition-timing-function: ease-out;
+ padding-right: 2em; }
+ #faq .answer a {
+ color: #fff; }
+ #faq .activeanswer {
+ padding: 20px;
+ max-height: 100%; }
+ #faq .flipButton:after {
+ -webkit-transform: rotate(270deg);
+ -ms-transform: rotate(270deg);
+ transform: rotate(270deg); }
+
+#sponsors {
+ background-color: #fff;
+ color: #cd989f;
+ padding-bottom: 20px;}
+ #sponsors .contents {
+ padding: 50px 13%;
+ text-align: center; }
+ #sponsors h3 {
+ font-size: 3em;
+ text-transform: uppercase;
+ letter-spacing: .03em;
+ margin-bottom: 15px; }
+ #sponsors h5 {
+ font-size: 1em;
+ letter-spacing: .03em;
+ margin-bottom: 20px; }
+ #sponsors h5 a {
+ color: #cd989f; }
+ #sponsors .sponsor {
+ display: inline-block;
+ max-height: 100px;
+ margin: 20px 20px;
+ opacity: 0.55;
+ -webkit-transition-duration: .5s;
+ -moz-transition-duration: .5s;
+ -o-transition-duration: .5s;
+ transition-duration: .5s; }
+ #sponsors .sponsor:hover {
+ opacity: 1.0;
+ -webkit-transition-duration: .5s;
+ -moz-transition-duration: .5s;
+ -o-transition-duration: .5s;
+ transition-duration: .5s; }
+ #sponsors #caltech {
+ max-height: 50px;
+ }
+ #sponsors #hackerfund {
+ max-height: 50px;
+ }
+
+#footer {
+ background-color: #cd989f;
+ color: #fff; }
+ #footer .contents {
+ padding: 50px 13%; }
+ #footer #social {
+ margin-bottom: 15px; }
+ #footer .socialicon {
+ max-height: 30px;
+ margin: 0px 10px; }
+
+::-webkit-scrollbar {
+ width: 12px; }
+
+/* Track */
+::-webkit-scrollbar-track {
+ background: #fff; }
+
+/* Handle */
+::-webkit-scrollbar-thumb {
+ background: #cd989f; }
+
+::-webkit-scrollbar-thumb:window-inactive {
+ background: #cd989f; }
+
+@media screen and (max-width: 1200px) {
+ #landing #form {
+ text-align: center; }
+ #landing #form button {
+ margin-top: 10px;
+ width: 80%; }
+ #landing #form input {
+ width: 100%; } }
+
+@media screen and (max-width: 968px) {
+ #sponsors .sponsor {
+ max-height: 50px; }
+ #sponsors #caltech {
+ max-height: 30px;
+ }
+ #sponsors #hackerfund {
+ max-height: 30px;
+ }
+ #faq .faqcolumn {
+ width: 100%; } }
+
+@media screen and (max-height: 700px) {
+ #landing img {
+ max-height: 40%; }
+ #landing h1 {
+ font-size: 2.5em; }
+ #landing h3 {
+ font-size: 1em; }
+ #landing #form button {
+ font-size: 14px; }
+ #landing input {
+ font-size: 14px; } }
diff --git a/static/assets/css/index.css.map b/static/assets/css/index.css.map
new file mode 100644
index 0000000..5b75ce5
--- /dev/null
+++ b/static/assets/css/index.css.map
@@ -0,0 +1,7 @@
+{
+"version": 3,
+"mappings": "AAAA,oFAAoF;AAEpF,2CAA2C;AAW3C,iBAAiB;AAmBjB,8BAA8B;AA2B9B,iBAAiB;AC1DT,2DAAmD;AACnD,qEAA6D;AAC7D,gEAAwD;AAEhE,eAAe;AAMf,CAAE;EACA,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;EACT,aAAa,EAAE,UAAU;;AAG3B,UAAU;EACR,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;;AAGb,IAAK;EACJ,WAAW,EAjBF,8BAA8B;EAkBvC,gBAAgB,EAhBP,OAAO;EAiBhB,KAAK,EAAE,IAAI;;AAGb,QAAS;EACP,MAAM,EAAE,IAAI;EACZ,kBAAU;IACR,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,IAAI;IACX,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,IAAI;IACb,iBAAiB,EAAE,aAAa;IAChC,IAAI,EAAE,CAAC;IACP,eAAe,EAAE,MAAM;IACvB,WAAW,EAAE,MAAM;EAGrB,YAAI;IACF,UAAU,EAAE,GAAG;IACf,KAAK,EAAE,IAAI;EAGb,WAAG;IACD,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,SAAS;IACzB,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,KAAK;IAChB,cAAc,EAAC,KAAK;EAGtB,WAAG;IACD,cAAc,EAAE,SAAS;IACzB,SAAS,EAAE,KAAK;IAChB,cAAc,EAAE,KAAK;EAGvB,cAAM;IACF,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,GAAG;IACd,UAAU,EAAE,MAAM;IAClB,KAAK,EAAE,GAAG;IAEV,qBAAO;MACL,KAAK,EAAE,GAAG;MACV,cAAc,EAAE,SAAS;MACzB,WAAW,EAnER,8BAA8B;MAoEjC,cAAc,EAAE,KAAK;MACrB,SAAS,EAAE,IAAI;MACf,WAAW,EAAC,IAAI;MAChB,sBAAsB;MACtB,OAAO,EAAE,CAAC;MACV,KAAK,EAAE,IAAI;MACX,MAAM,EAAE,cAAc;MACtB,UAAU,EAAE,IAAI;MAChB,KAAK,EAAE,GAAG;MACV,OAAO,EAAE,GAAG;MACZ,UAAU,EAAE,IAAI;MAChB,2BAA2B,EAAE,GAAG;MAChC,wBAAwB,EAAE,GAAG;MAC7B,sBAAsB,EAAE,GAAG;MAC3B,mBAAmB,EAAE,GAAG;IAG5B,2BAAa;MACX,gBAAgB,EAAE,IAAI;MACtB,KAAK,EArFA,OAAO;MAsFZ,2BAA2B,EAAE,GAAG;MAChC,wBAAwB,EAAE,GAAG;MAC7B,sBAAsB,EAAE,GAAG;MAC3B,mBAAmB,EAAE,GAAG;EAI5B,cAAM;IACJ,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,IAAI;IACf,cAAc,EAAE,SAAS;IACzB,WAAW,EAtGJ,8BAA8B;IAuGrC,cAAc,EAAE,KAAK;IACrB,KAAK,EAtGE,OAAO;EAyGhB,eAAO;IACL,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,CAAC;IACV,WAAW,EA9GJ,8BAA8B;IA+GrC,cAAc,EAAE,SAAS;IACzB,WAAW,EAAE,GAAG;IAChB,gBAAgB,EAAE,IAAI;IACtB,KAAK,EAhHE,OAAO;IAiHd,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,KAAK;IAChB,cAAc,EAAE,IAAI;IACpB,UAAU,EAAE,IAAI;;AAIpB,MAAO;EACL,gBAAgB,EAAE,IAAI;EACtB,KAAK,EA1HI,OAAO;EA4HhB,gBAAU;IACR,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,IAAI;IACb,iBAAiB,EAAE,aAAa;IAChC,IAAI,EAAE,CAAC;IACP,eAAe,EAAE,MAAM;IACvB,WAAW,EAAE,MAAM;EAGrB,QAAE;IACA,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,IAAI;IAEnB,UAAE;MACA,SAAS,EAAE,GAAG;;AAKpB,IAAK;EAEH,gBAAgB,EAtJP,OAAO;EAwJhB,cAAU;IACR,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,IAAI;EAGjB,OAAG;IACD,UAAU,EAAE,MAAM;IAClB,SAAS,EAAE,GAAG;IACd,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,IAAI;EAGrB,eAAW;IACT,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,MAAM;IACd,cAAc,EAAE,GAAG;EAGrB,aAAS;IACP,UAAU,EAAE,IAAI;IAChB,aAAa,EAAC,IAAI;EAGpB,cAAU;IACR,gBAAgB,EAAE,IAAI;IACtB,KAAK,EApLE,OAAO;IAqLd,OAAO,EAAC,mBAAmB;IAC3B,MAAM,EAAE,OAAO;EAGjB,oBAAgB;IAEd,KAAK,EA3LE,OAAO;IA4Ld,sBAAsB,EAAE,WAAW;IACnC,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,QAAQ;IAClB,KAAK,EAAC,KAAK;IACX,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,IAAI;IACjB,iBAAiB,EAAE,aAAa;IAChC,aAAa,EAAE,aAAa;IAC5B,SAAS,EAAE,aAAa;EAG1B,YAAQ;IACN,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,MAAM;IAClB,kBAAkB,EAAE,QAAQ;IAC5B,eAAe,EAAE,QAAQ;IACzB,UAAU,EAAE,QAAQ;IACpB,kCAAkC,EAAE,QAAQ;IAC5C,+BAA+B,EAAE,QAAQ;IACzC,0BAA0B,EAAE,QAAQ;IACpC,aAAa,EAAE,GAAG;IAElB,cAAE;MACA,KAAK,EAAE,IAAI;EAIf,kBAAc;IACZ,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,IAAI;EAGlB,sBAAkB;IACjB,iBAAiB,EAAE,cAAc;IACjC,aAAa,EAAE,cAAc;IAC7B,SAAS,EAAE,cAAc;;AAI5B,SAAU;EACR,gBAAgB,EAAE,IAAI;EACtB,KAAK,EAvOI,OAAO;EAyOhB,mBAAU;IACR,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,MAAM;EAGpB,YAAG;IACD,SAAS,EAAE,GAAG;IACd,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,IAAI;EAGrB,YAAG;IACD,SAAS,EAAE,GAAG;IACd,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,IAAI;IAEnB,cAAE;MACA,KAAK,EA3PA,OAAO;EA+PhB,kBAAS;IACP,OAAO,EAAE,YAAY;IACrB,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,IAAI;IACb,2BAA2B,EAAE,GAAG;IAChC,wBAAwB,EAAE,GAAG;IAC7B,sBAAsB,EAAE,GAAG;IAC3B,mBAAmB,EAAE,GAAG;EAG1B,wBAAe;IACb,OAAO,EAAE,GAAG;IACZ,2BAA2B,EAAE,GAAG;IAChC,wBAAwB,EAAE,GAAG;IAC7B,sBAAsB,EAAE,GAAG;IAC3B,mBAAmB,EAAE,GAAG;;AAI5B,OAAQ;EACN,gBAAgB,EApRP,OAAO;EAqRhB,KAAK,EAAE,IAAI;EAEX,iBAAU;IACR,OAAO,EAAE,QAAQ;EAGnB,eAAQ;IACN,aAAa,EAAE,IAAI;EAErB,mBAAY;IACV,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,QAAQ;;AAIpB,mBAAoB;EAChB,KAAK,EAAE,IAAI;;AAGf,WAAW;AACX,yBAA0B;EACxB,UAAU,EAAE,IAAI;;AAElB,YAAY;AACZ,yBAA0B;EACtB,UAAU,EA9SH,OAAO;;AAgTlB,yCAA0C;EACxC,UAAU,EAjTD,OAAO;;AAoTlB,qCAAsC;EAElC,cAAM;IACJ,UAAU,EAAE,MAAM;IAClB,qBAAO;MACL,UAAU,EAAE,IAAI;MAChB,KAAK,EAAE,GAAG;IAEZ,oBAAM;MACJ,KAAK,EAAE,IAAI;AAMnB,oCAAqC;EAEjC,kBAAS;IACP,UAAU,EAAE,IAAI;;EAKlB,eAAW;IACT,KAAK,EAAE,IAAI;AAKjB,qCAAqC;EAEjC,YAAI;IACF,UAAU,EAAE,GAAG;EAGjB,WAAG;IACD,SAAS,EAAE,KAAK;EAGlB,WAAG;IACD,SAAS,EAAE,GAAG;EAIhB,qBAAa;IACX,SAAS,EAAE,IAAI;EAGjB,cAAM;IACJ,SAAS,EAAE,IAAI",
+"sources": ["scss/_mixins.scss","scss/index.scss"],
+"names": [],
+"file": "index.css"
+}
\ No newline at end of file
diff --git a/static/assets/css/register.css b/static/assets/css/register.css
new file mode 100644
index 0000000..940a9ba
--- /dev/null
+++ b/static/assets/css/register.css
@@ -0,0 +1,431 @@
+/* taken from http://zerosixthree.se/8-sass-mixins-you-must-have-in-your-toolbox/ */
+/* set rem font size with pixel fallback */
+/* breakpoints */
+/* animations and keyframes */
+/* transitions */
+@import url(https://fonts.googleapis.com/css?family=Roboto);
+@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed);
+@import url(https://fonts.googleapis.com/css?family=Roboto+Slab);
+/* variables */
+* {
+ padding: 0;
+ margin: 0;
+ border-sizing: border-box; }
+
+html, body {
+ width: 100%;
+ height: 100%; }
+
+body {
+ font-family: "Roboto Condensed", sans-serif;
+ background-color: #cd989f;
+ color: #fff; }
+
+#landing {
+ height: auto; }
+ #landing .contents {
+ height: 100%;
+ width: 100%;
+ display: -webkit-box;
+ display: -moz-box;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-flex-flow: column nowrap;
+ flex-flow: column nowrap;
+ flex: 1;
+ justify-content: center;
+ align-items: center; }
+ #landing img {
+ max-height: 40%;
+ width: auto; }
+ #landing h1 {
+ text-align: center;
+ text-transform: uppercase;
+ font-weight: 600;
+ margin-top: 20px;
+ font-size: 3.5em;
+ letter-spacing: .08em; }
+ #landing h3 {
+ text-transform: uppercase;
+ font-size: 1.2em;
+ letter-spacing: .08em; }
+ #landing #form {
+ margin: 30px 0px;
+ text-align: center;
+ width: 45%; }
+ #landing #form h3 {
+ text-transform: uppercase;
+ color: #fff;
+ font-size: 1.2em;
+ letter-spacing: .08em; }
+ .label {
+ width: 10%;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: .08em;
+ font-size: 20px;
+ font-weight: bold;
+ /*margin-left: -4px;*/
+ outline: 0;
+ color: #fff;
+ cursor: text;
+ border: 2px #fff solid;
+ background: none;
+ width: 35%;
+ display: inline-block;
+ padding: 4px;
+ margin-top: 10px;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing #form button {
+ width: 10%;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: .08em;
+ font-size: 20px;
+ font-weight: bold;
+ /*margin-left: -4px;*/
+ outline: 0;
+ color: #fff;
+ border: 2px #fff solid;
+ background: none;
+ width: 35%;
+ padding: 4px;
+ margin-top: 10px;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing #form #ageExplain:hover {
+ background: none;
+ color: #fff;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing select {
+ width: 10%;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: .08em;
+ font-size: 20px;
+ font-weight: bold;
+ /*margin-left: -4px;*/
+ margin: 6px;
+ outline: 0;
+ color: #fff;
+ border: 2px #fff solid;
+ background: none;
+ width: 35%;
+ padding: 4px;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing select:hover {
+ background-color: #fff;
+ color: #cd989f;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing button:hover {
+ background-color: #fff;
+ color: #cd989f;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing .failure_flash {
+ background: none;
+ color: #fff; }
+ #landing input {
+ outline: 0;
+ border: 0;
+ margin: 6px;
+ padding: 6px;
+ width: 45%;
+ font-size: 20px;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: .08em;
+ color: #cd989f; }
+ #landing textarea {
+ outline: 0;
+ border: 0;
+ margin: 6px;
+ padding: 6px;
+ width: 85%;
+ font-size: 20px;
+ /*text-transform: uppercase;*/
+ font-family: "Roboto Condensed", sans-serif;
+ /*letter-spacing: .08em;*/
+ color: #cd989f; }
+ #landing #age {
+ outline: 0;
+ border: 0;
+ margin: 0;
+ padding: 0;
+ width: 5%;
+ font-size: 0;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: 0;
+ color: #cd989f; }
+ #landing .checkbox {
+ outline: 0;
+ border: 0;
+ margin: 0;
+ padding: 0;
+ width: 5%;
+ font-size: 0;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: 0;
+ color: #cd989f; }
+ #landing #apply {
+ border: 0;
+ outline: 0;
+ font-family: "Roboto Condensed", sans-serif;
+ text-transform: uppercase;
+ font-weight: 600;
+ background-color: #fff;
+ color: #cd989f;
+ padding: 15px 30px;
+ font-size: 1.5em;
+ letter-spacing: .1em;
+ margin-top: 20px; }
+ #landing #form #formSubmit {
+ width: 10%;
+ text-transform: uppercase;
+ font-family: "Roboto Condensed", sans-serif;
+ letter-spacing: .08em;
+ font-size: 20px;
+ font-weight: bold;
+ /*margin-left: -4px;*/
+ outline: 0;
+ color: #fff;
+ border: 2px #fff solid;
+ background: none;
+ width: 35%;
+ padding: 4px;
+ margin-top: 10px;
+ cursor: pointer;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing #form #formSubmit:hover {
+ background-color: #fff;
+ color: #cd989f;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+ #landing #form #resumeUploadBtn:hover {
+ background-color: #fff;
+ color: #cd989f;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s; }
+
+#intro {
+ background-color: #fff;
+ color: #cd989f; }
+ #intro .contents {
+ padding: 15% 15%;
+ display: -webkit-box;
+ display: -moz-box;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-flex-flow: column nowrap;
+ flex-flow: column nowrap;
+ flex: 1;
+ justify-content: center;
+ align-items: center; }
+ #intro p {
+ font-size: 1.5em;
+ text-align: center;
+ margin-bottom: 20px; }
+ #intro p b {
+ font-size: 2em; }
+
+#faq {
+ background-color: #cd989f; }
+ #faq .contents {
+ padding: 50px 10%;
+ text-align: center;
+ font-size: 20px; }
+ #faq h3 {
+ text-align: center;
+ font-size: 3em;
+ text-transform: uppercase;
+ letter-spacing: .03em;
+ margin-bottom: 30px; }
+ #faq .faqcolumn {
+ width: 45%;
+ display: inline-block;
+ margin: 0px 1%;
+ vertical-align: top; }
+ #faq .faqelem {
+ text-align: left;
+ margin-bottom: 20px; }
+ #faq .question {
+ background-color: #fff;
+ color: #cd989f;
+ padding: 20px 20px 14px 20px;
+ cursor: pointer; }
+ #faq .question:after {
+ color: #cd989f;
+ -webkit-font-smoothing: antialiased;
+ content: ">";
+ position: relative;
+ float: right;
+ font-size: 1em;
+ font-weight: bold;
+ -webkit-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg); }
+ #faq .answer {
+ border: 3px solid #fff;
+ padding: 0px 20px;
+ max-height: 0;
+ overflow-y: hidden;
+ -webkit-transition: all .25s;
+ -moz-transition: all .25s;
+ transition: all .25s;
+ -webkit-transition-timing-function: ease-out;
+ -moz-transition-timing-function: ease-out;
+ transition-timing-function: ease-out;
+ padding-right: 2em; }
+ #faq .answer a {
+ color: #fff; }
+ #faq .activeanswer {
+ padding: 20px;
+ max-height: 100%; }
+ #faq .flipButton:after {
+ -webkit-transform: rotate(270deg);
+ -ms-transform: rotate(270deg);
+ transform: rotate(270deg); }
+
+#sponsors {
+ background-color: #fff;
+ color: #cd989f; }
+ #sponsors .contents {
+ padding: 50px 13%;
+ text-align: center; }
+ #sponsors h3 {
+ font-size: 3em;
+ text-transform: uppercase;
+ letter-spacing: .03em;
+ margin-bottom: 15px; }
+ #sponsors h5 {
+ font-size: 1em;
+ letter-spacing: .03em;
+ margin-bottom: 20px; }
+ #sponsors h5 a {
+ color: #cd989f; }
+ #sponsors .sponsor {
+ display: inline-block;
+ max-height: 100px;
+ margin: 20px 20px;
+ opacity: 0.55;
+ -webkit-transition-duration: .5s;
+ -moz-transition-duration: .5s;
+ -o-transition-duration: .5s;
+ transition-duration: .5s; }
+ #sponsors .sponsor:hover {
+ opacity: 1.0;
+ -webkit-transition-duration: .5s;
+ -moz-transition-duration: .5s;
+ -o-transition-duration: .5s;
+ transition-duration: .5s; }
+
+#footer {
+ background-color: #cd989f;
+ color: #fff; }
+ #footer .contents {
+ padding: 50px 13%; }
+ #footer #social {
+ margin-bottom: 15px; }
+ #footer .socialicon {
+ max-height: 30px;
+ margin: 0px 10px; }
+
+::-webkit-scrollbar {
+ width: 12px; }
+
+/* Track */
+::-webkit-scrollbar-track {
+ background: #fff; }
+
+/* Handle */
+::-webkit-scrollbar-thumb {
+ background: #cd989f; }
+
+::-webkit-scrollbar-thumb:window-inactive {
+ background: #cd989f; }
+
+@media screen and (max-width: 1200px) {
+ #landing #form {
+ text-align: center; }
+ #landing #form button p {
+ margin-top: 10px;
+ width: 80%; } }
+
+@media screen and (max-width: 968px) {
+ #sponsors .sponsor {
+ max-height: 50px; }
+ #faq .faqcolumn {
+ width: 100%; } }
+
+@media screen and (max-height: 700px) {
+ #landing img {
+ max-height: 40%; }
+ #landing h1 {
+ font-size: 2.5em; }
+ #landing h3 {
+ font-size: 1em; }
+ #landing #form button {
+ font-size: 14px; }
+ #landing input {
+ font-size: 14px; } }
+
+/* For the long response questions */
+.longresponse {
+ width: 85%;
+ text-align: left;
+}
+
+a {
+ color: #fff;
+}
+
+::-webkit-input-placeholder {
+ color: #D0D0D0;
+}
+:-moz-placeholder { /* Firefox 18- */
+ color: #D0D0D0;
+}
+::-moz-placeholder { /* Firefox 19+ */
+ color: #D0D0D0;
+}
+:-ms-input-placeholder {
+ color: #D0D0D0;
+}
+
+/* Resizing form width for mobile */
+@media screen and (max-width: 1200px) {
+ #landing #form {
+ width: 55%; } }
+@media screen and (max-width: 968px) {
+ #landing #form {
+ width: 70%; } }
+@media screen and (max-width: 768px) {
+ #landing #form {
+ width: 80%; } }
diff --git a/static/assets/css/scss/_mixins.scss b/static/assets/css/scss/_mixins.scss
new file mode 100644
index 0000000..673eafd
--- /dev/null
+++ b/static/assets/css/scss/_mixins.scss
@@ -0,0 +1,67 @@
+/* taken from http://zerosixthree.se/8-sass-mixins-you-must-have-in-your-toolbox/ */
+
+/* set rem font size with pixel fallback */
+@function calculateRem($size) {
+ $remSize: $size / 16px;
+ @return $remSize * 1rem;
+}
+
+@mixin font-size($size) {
+ font-size: $size;
+ font-size: calculateRem($size);
+}
+
+/* breakpoints */
+@mixin bp-large {
+ @media only screen and (max-width: 60em) {
+ @content;
+ }
+}
+
+@mixin bp-medium {
+ @media only screen and (max-width: 40em) {
+ @content;
+ }
+}
+
+@mixin bp-small {
+ @media only screen and (max-width: 30em) {
+ @content;
+ }
+}
+
+/* animations and keyframes */
+@mixin keyframes($animation-name) {
+ @-webkit-keyframes #{$animation-name} {
+ @content;
+ }
+ @-moz-keyframes #{$animation-name} {
+ @content;
+ }
+ @-ms-keyframes #{$animation-name} {
+ @content;
+ }
+ @-o-keyframes #{$animation-name} {
+ @content;
+ }
+ @keyframes #{$animation-name} {
+ @content;
+ }
+}
+
+@mixin animation($str) {
+ -webkit-animation: #{$str};
+ -moz-animation: #{$str};
+ -ms-animation: #{$str};
+ -o-animation: #{$str};
+ animation: #{$str};
+}
+
+/* transitions */
+@mixin transition($args...) {
+ -webkit-transition: $args;
+ -moz-transition: $args;
+ -ms-transition: $args;
+ -o-transition: $args;
+ transition: $args;
+}
diff --git a/static/assets/css/scss/index.scss b/static/assets/css/scss/index.scss
new file mode 100644
index 0000000..e40e4cb
--- /dev/null
+++ b/static/assets/css/scss/index.scss
@@ -0,0 +1,401 @@
+@import 'mixins';
+@import url(https://fonts.googleapis.com/css?family=Roboto);
+@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed);
+@import url(https://fonts.googleapis.com/css?family=Roboto+Slab);
+
+/* variables */
+$bodyfont: 'Roboto Condensed', sans-serif;
+$titlefont: 'Roboto Slab', serif;
+$rosegold: #cd989f;
+$lighter: #f1e2e4;
+
+* {
+ padding: 0;
+ margin: 0;
+ border-sizing: border-box;
+}
+
+html, body{
+ width: 100%;
+ height: 100%;
+ }
+
+ body {
+ font-family: $bodyfont;
+ background-color: $rosegold;
+ color: #fff;
+}
+
+#landing {
+ height: 100%;
+ .contents {
+ height: 100%;
+ width: 100%;
+ display: -webkit-box;
+ display: -moz-box;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-flex-flow: column nowrap;
+ flex: 1;
+ justify-content: center;
+ align-items: center;
+ }
+
+ img {
+ max-height: 40%;
+ width: auto;
+ }
+
+ h1 {
+ text-align: center;
+ text-transform: uppercase;
+ font-weight: 600;
+ margin-top: 20px;
+ font-size: 3.5em;
+ letter-spacing:.08em;
+ }
+
+ h3 {
+ text-transform: uppercase;
+ font-size: 1.2em;
+ letter-spacing: .08em;
+ }
+
+ #form {
+ margin: 30px 0px;
+ font-size: 0px;
+ text-align: center;
+ width: 45%;
+
+ button {
+ width: 10%;
+ text-transform: uppercase;
+ font-family: $bodyfont;
+ letter-spacing: .08em;
+ font-size: 20px;
+ font-weight:bold;
+ /*margin-left: -4px;*/
+ outline: 0;
+ color: #fff;
+ border: 2px #fff solid;
+ background: none;
+ width: 35%;
+ padding: 4px;
+ margin-top: 10px;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s;
+ }
+
+ button:hover {
+ background-color: #fff;
+ color: $rosegold;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s;
+ }
+ }
+
+ select {
+ width: 10%;
+ text-transform: uppercase;
+ font-family: $bodyfont;
+ letter-spacing: .08em;
+ font-size: 20px;
+ font-weight:bold;
+ /*margin-left: -4px;*/
+ outline: 0;
+ color: #fff;
+ border: 2px #fff solid;
+ background: none;
+ width: 35%;
+ padding: 4px;
+ margin-top: 10px;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s;
+ }
+
+ select:hover {
+ background-color: #fff;
+ color: $rosegold;
+ -webkit-transition-duration: .3s;
+ -moz-transition-duration: .3s;
+ -o-transition-duration: .3s;
+ transition-duration: .3s;
+ }
+
+
+ input {
+ outline: 0;
+ border: 0;
+ margin: 6px;
+ padding: 6px;
+ width: 45%;
+ font-size: 20px;
+ text-transform: uppercase;
+ font-family: $bodyfont;
+ letter-spacing: .08em;
+ color: $rosegold;
+ }
+
+ #apply {
+ border: 0;
+ outline: 0;
+ font-family: $bodyfont;
+ text-transform: uppercase;
+ font-weight: 600;
+ background-color: #fff;
+ color: $rosegold;
+ padding: 15px 30px;
+ font-size: 1.5em;
+ letter-spacing: .1em;
+ margin-top: 20px;
+ }
+}
+
+#intro {
+ background-color: #fff;
+ color: $rosegold;
+
+ .contents {
+ padding: 15% 15%;
+ display: -webkit-box;
+ display: -moz-box;
+ display: -ms-flexbox;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-flex-flow: column nowrap;
+ flex: 1;
+ justify-content: center;
+ align-items: center;
+ }
+
+ p {
+ font-size: 1.5em;
+ text-align: center;
+ margin-bottom: 20px;
+
+ b {
+ font-size: 2em;
+ }
+ }
+}
+
+#faq {
+ //height: 100%;
+ background-color: $rosegold;
+
+ .contents {
+ padding: 50px 10%;
+ text-align: center;
+ font-size: 20px;
+ }
+
+ h3 {
+ text-align: center;
+ font-size: 3em;
+ text-transform: uppercase;
+ letter-spacing: .03em;
+ margin-bottom: 30px;
+ }
+
+ .faqcolumn {
+ width: 45%;
+ display: inline-block;
+ margin: 0px 1%;
+ vertical-align: top;
+ }
+
+ .faqelem {
+ text-align: left;
+ margin-bottom:20px;
+ }
+
+ .question {
+ background-color: #fff;
+ color: $rosegold;
+ padding:20px 20px 14px 20px;
+ cursor: pointer;
+ }
+
+ .question:after {
+ //font-family: 'squarespace-ui-font';
+ color: $rosegold;
+ -webkit-font-smoothing: antialiased;
+ content: ">";
+ position: relative;
+ float:right;
+ font-size: 1em;
+ font-weight: bold;
+ -webkit-transform: rotate(90deg);
+ -ms-transform: rotate(90deg);
+ transform: rotate(90deg);
+ }
+
+ .answer {
+ border: 3px solid #fff;
+ padding: 0px 20px;
+ max-height: 0;
+ overflow-y: hidden;
+ -webkit-transition: all .25s;
+ -moz-transition: all .25s;
+ transition: all .25s;
+ -webkit-transition-timing-function: ease-out;
+ -moz-transition-timing-function: ease-out;
+ transition-timing-function: ease-out;
+ padding-right: 2em;
+
+ a {
+ color: #fff;
+ }
+ }
+
+ .activeanswer {
+ padding: 20px;
+ max-height: 100%;
+ }
+
+ .flipButton:after {
+ -webkit-transform: rotate(270deg);
+ -ms-transform: rotate(270deg);
+ transform: rotate(270deg);
+ }
+}
+
+#sponsors {
+ background-color: #fff;
+ color: $rosegold;
+
+ .contents {
+ padding: 50px 13%;
+ text-align: center;
+ }
+
+ h3 {
+ font-size: 3em;
+ text-transform: uppercase;
+ letter-spacing: .03em;
+ margin-bottom: 15px;
+ }
+
+ h5 {
+ font-size: 1em;
+ letter-spacing: .03em;
+ margin-bottom: 20px;
+
+ a {
+ color: $rosegold;
+ }
+ }
+
+ .sponsor {
+ display: inline-block;
+ max-height: 100px;
+ margin: 20px 20px;
+ opacity: 0.55;
+ -webkit-transition-duration: .5s;
+ -moz-transition-duration: .5s;
+ -o-transition-duration: .5s;
+ transition-duration: .5s;
+ }
+
+ .sponsor:hover {
+ opacity: 1.0;
+ -webkit-transition-duration: .5s;
+ -moz-transition-duration: .5s;
+ -o-transition-duration: .5s;
+ transition-duration: .5s;
+ }
+}
+
+#footer {
+ background-color: $rosegold;
+ color: #fff;
+
+ .contents {
+ padding: 50px 13%;
+ }
+
+ #social {
+ margin-bottom: 15px;
+ }
+ .socialicon {
+ max-height: 30px;
+ margin: 0px 10px;
+ }
+}
+
+::-webkit-scrollbar {
+ width: 12px;
+}
+
+/* Track */
+::-webkit-scrollbar-track {
+ background: #fff;
+}
+/* Handle */
+::-webkit-scrollbar-thumb {
+ background: $rosegold;
+}
+::-webkit-scrollbar-thumb:window-inactive {
+ background: $rosegold;
+}
+
+@media screen and (max-width: 1200px) {
+ #landing {
+ #form {
+ text-align: center;
+ button {
+ margin-top: 10px;
+ width: 80%;
+ }
+ input {
+ width: 100%;
+ }
+ }
+ }
+}
+
+@media screen and (max-width: 968px) {
+ #sponsors {
+ .sponsor {
+ max-height: 50px;
+ }
+ }
+ #faq
+ {
+ .faqcolumn {
+ width: 100%;
+ }
+ }
+}
+
+@media screen and (max-height:700px) {
+#landing {
+ img {
+ max-height: 40%;
+ }
+
+ h1 {
+ font-size: 2.5em;
+ }
+
+ h3 {
+ font-size: 1em;
+ }
+
+
+ #form button {
+ font-size: 14px;
+ }
+
+ input {
+ font-size: 14px;
+ }
+ }
+}
diff --git a/static/assets/css/style.css b/static/assets/css/style.css
new file mode 100644
index 0000000..1e722a3
--- /dev/null
+++ b/static/assets/css/style.css
@@ -0,0 +1,112 @@
+@import url(https://fonts.googleapis.com/css?family=Roboto);
+@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed);
+@import url(https://fonts.googleapis.com/css?family=Roboto+Slab);
+
+* {
+ padding: 0;
+ margin: 0;
+ border-sizing: border-box; }
+
+html, body {
+ width: 100%;
+ height: 100%;
+}
+
+body {
+ background-color: #cd989f;
+ font-family: "Roboto Condensed", sans-serif;
+}
+
+.container {
+ padding: 3% 6%;
+}
+
+#waivtext {
+ margin-top: 3%;
+ background-color: #fff;
+ max-height: 48%;
+ overflow-y: scroll;
+ padding: 30px 20px 30px 30px;
+}
+
+::-webkit-scrollbar {
+ width: 10px; }
+
+/* Track */
+::-webkit-scrollbar-track {
+ background: #fff; }
+
+/* Handle */
+::-webkit-scrollbar-thumb {
+ background: #cd989f;
+ border: solid 3px #fff;}
+
+::-webkit-scrollbar-thumb:window-inactive {
+ background: #cd989f; }
+
+input {
+ border: none;
+ padding: 2px 5px 0px 5px;
+ font-family: "Roboto Condensed", sans-serif;
+ font-size: 0.8em;
+}
+
+input[id=inline-name] {
+ border-bottom: solid 2px #000;
+}
+
+form {
+ text-align: center;
+ margin-top: 4%;
+ color:#fff;
+}
+
+form p {
+ margin: 5px;
+}
+
+input[type=submit]
+{
+ background-color: #fff;
+ text-transform: uppercase;
+ color:#cd989f;
+ font-size: 1.1em;
+}
+
+.waiver-title {
+ color: white;
+ text-align: center;
+}
+
+.waiver {
+ margin: 15px;
+}
+
+.waiver-header1 {
+ text-decoration: underline;
+ margin: 15px;
+}
+
+.waiver-header2 {
+ margin: 15px;
+ text-align: center;
+}
+
+.waiver-warning {
+ margin: 15px;
+}
+
+.waiver-form {
+ margin: 15px;
+}
+
+.thanks {
+ text-align: center;
+ position: absolute;
+ top: 50%;
+ left: 0;
+ right: 0;
+ margin-top: -40px;
+ height: 90px;
+ color: white;
+}
diff --git a/static/assets/img/.DS_Store b/static/assets/img/.DS_Store
new file mode 100644
index 0000000..2553f42
Binary files /dev/null and b/static/assets/img/.DS_Store differ
diff --git a/static/assets/img/background.jpg b/static/assets/img/background.jpg
new file mode 100644
index 0000000..a254b5a
Binary files /dev/null and b/static/assets/img/background.jpg differ
diff --git a/static/assets/img/background1.png b/static/assets/img/background1.png
new file mode 100644
index 0000000..30e2720
Binary files /dev/null and b/static/assets/img/background1.png differ
diff --git a/static/images/chameleon.png b/static/assets/img/chameleon.png
similarity index 100%
rename from static/images/chameleon.png
rename to static/assets/img/chameleon.png
diff --git a/static/images/chart.png b/static/assets/img/chart.png
similarity index 100%
rename from static/images/chart.png
rename to static/assets/img/chart.png
diff --git a/static/images/code-golf.png b/static/assets/img/code-golf.png
similarity index 100%
rename from static/images/code-golf.png
rename to static/assets/img/code-golf.png
diff --git a/static/assets/img/email.png b/static/assets/img/email.png
new file mode 100644
index 0000000..c8e9379
Binary files /dev/null and b/static/assets/img/email.png differ
diff --git a/static/assets/img/facebook.png b/static/assets/img/facebook.png
new file mode 100644
index 0000000..0cce59b
Binary files /dev/null and b/static/assets/img/facebook.png differ
diff --git a/static/assets/img/favicon.ico b/static/assets/img/favicon.ico
new file mode 100644
index 0000000..2783985
Binary files /dev/null and b/static/assets/img/favicon.ico differ
diff --git a/static/assets/img/favicon.png b/static/assets/img/favicon.png
new file mode 100644
index 0000000..ad12104
Binary files /dev/null and b/static/assets/img/favicon.png differ
diff --git a/static/assets/img/flower_white.png b/static/assets/img/flower_white.png
new file mode 100644
index 0000000..11a2e0d
Binary files /dev/null and b/static/assets/img/flower_white.png differ
diff --git a/static/assets/img/linkedin.png b/static/assets/img/linkedin.png
new file mode 100644
index 0000000..8fd7eb0
Binary files /dev/null and b/static/assets/img/linkedin.png differ
diff --git a/static/assets/img/logo.png b/static/assets/img/logo.png
new file mode 100644
index 0000000..0b69cd3
Binary files /dev/null and b/static/assets/img/logo.png differ
diff --git a/static/assets/img/logo/Akuna-Capital.jpg b/static/assets/img/logo/Akuna-Capital.jpg
new file mode 100644
index 0000000..2a9859c
Binary files /dev/null and b/static/assets/img/logo/Akuna-Capital.jpg differ
diff --git a/static/assets/img/logo/bitalino.png b/static/assets/img/logo/bitalino.png
new file mode 100644
index 0000000..94f34f2
Binary files /dev/null and b/static/assets/img/logo/bitalino.png differ
diff --git a/static/assets/img/logo/caltech.png b/static/assets/img/logo/caltech.png
new file mode 100644
index 0000000..239343f
Binary files /dev/null and b/static/assets/img/logo/caltech.png differ
diff --git a/static/assets/img/logo/caltechfund.jpg b/static/assets/img/logo/caltechfund.jpg
new file mode 100644
index 0000000..498e89b
Binary files /dev/null and b/static/assets/img/logo/caltechfund.jpg differ
diff --git a/static/assets/img/logo/clarifai.png b/static/assets/img/logo/clarifai.png
new file mode 100644
index 0000000..8bc8ec1
Binary files /dev/null and b/static/assets/img/logo/clarifai.png differ
diff --git a/static/assets/img/logo/dottech.eps b/static/assets/img/logo/dottech.eps
new file mode 100644
index 0000000..8e4a681
Binary files /dev/null and b/static/assets/img/logo/dottech.eps differ
diff --git a/static/assets/img/logo/dottech.jpg b/static/assets/img/logo/dottech.jpg
new file mode 100644
index 0000000..e993ebf
Binary files /dev/null and b/static/assets/img/logo/dottech.jpg differ
diff --git a/static/assets/img/logo/drawattention.png b/static/assets/img/logo/drawattention.png
new file mode 100644
index 0000000..4de6059
Binary files /dev/null and b/static/assets/img/logo/drawattention.png differ
diff --git a/static/assets/img/logo/eddi.png b/static/assets/img/logo/eddi.png
new file mode 100644
index 0000000..029b38b
Binary files /dev/null and b/static/assets/img/logo/eddi.png differ
diff --git a/static/assets/img/logo/facebook.png b/static/assets/img/logo/facebook.png
new file mode 100644
index 0000000..9bdde31
Binary files /dev/null and b/static/assets/img/logo/facebook.png differ
diff --git a/static/assets/img/logo/google.jpg b/static/assets/img/logo/google.jpg
new file mode 100644
index 0000000..d4c9f73
Binary files /dev/null and b/static/assets/img/logo/google.jpg differ
diff --git a/static/assets/img/logo/hackerfund.png b/static/assets/img/logo/hackerfund.png
new file mode 100644
index 0000000..be6a6c8
Binary files /dev/null and b/static/assets/img/logo/hackerfund.png differ
diff --git a/static/assets/img/logo/hackerrank.svg b/static/assets/img/logo/hackerrank.svg
new file mode 100644
index 0000000..16f69bd
--- /dev/null
+++ b/static/assets/img/logo/hackerrank.svg
@@ -0,0 +1,146 @@
+
+
+
+
diff --git a/static/assets/img/logo/hellosign.png b/static/assets/img/logo/hellosign.png
new file mode 100644
index 0000000..8585642
Binary files /dev/null and b/static/assets/img/logo/hellosign.png differ
diff --git a/static/assets/img/logo/innovatepasadena.jpg b/static/assets/img/logo/innovatepasadena.jpg
new file mode 100644
index 0000000..f5c24b8
Binary files /dev/null and b/static/assets/img/logo/innovatepasadena.jpg differ
diff --git a/static/assets/img/logo/jetbrains.jpg b/static/assets/img/logo/jetbrains.jpg
new file mode 100644
index 0000000..5c547fc
Binary files /dev/null and b/static/assets/img/logo/jetbrains.jpg differ
diff --git a/static/assets/img/logo/kpcb.png b/static/assets/img/logo/kpcb.png
new file mode 100644
index 0000000..213b0cc
Binary files /dev/null and b/static/assets/img/logo/kpcb.png differ
diff --git a/static/assets/img/logo/microsoft.png b/static/assets/img/logo/microsoft.png
new file mode 100644
index 0000000..89fe176
Binary files /dev/null and b/static/assets/img/logo/microsoft.png differ
diff --git a/static/assets/img/logo/mlh.png b/static/assets/img/logo/mlh.png
new file mode 100644
index 0000000..06b0481
Binary files /dev/null and b/static/assets/img/logo/mlh.png differ
diff --git a/static/assets/img/logo/mlh_logo.png b/static/assets/img/logo/mlh_logo.png
new file mode 100644
index 0000000..06b0481
Binary files /dev/null and b/static/assets/img/logo/mlh_logo.png differ
diff --git a/static/assets/img/logo/movingparts.png b/static/assets/img/logo/movingparts.png
new file mode 100644
index 0000000..6edc27e
Binary files /dev/null and b/static/assets/img/logo/movingparts.png differ
diff --git a/static/assets/img/logo/namecheap.png b/static/assets/img/logo/namecheap.png
new file mode 100644
index 0000000..3680ead
Binary files /dev/null and b/static/assets/img/logo/namecheap.png differ
diff --git a/static/assets/img/logo/openx.png b/static/assets/img/logo/openx.png
new file mode 100644
index 0000000..25589a0
Binary files /dev/null and b/static/assets/img/logo/openx.png differ
diff --git a/static/assets/img/logo/openxlogo.jpg b/static/assets/img/logo/openxlogo.jpg
new file mode 100644
index 0000000..b74e5b0
Binary files /dev/null and b/static/assets/img/logo/openxlogo.jpg differ
diff --git a/static/assets/img/logo/plux.png b/static/assets/img/logo/plux.png
new file mode 100644
index 0000000..adc5c28
Binary files /dev/null and b/static/assets/img/logo/plux.png differ
diff --git a/static/assets/img/logo/postmates.png b/static/assets/img/logo/postmates.png
new file mode 100644
index 0000000..1a935cb
Binary files /dev/null and b/static/assets/img/logo/postmates.png differ
diff --git a/static/assets/img/logo/prompt.png b/static/assets/img/logo/prompt.png
new file mode 100644
index 0000000..0ec78a1
Binary files /dev/null and b/static/assets/img/logo/prompt.png differ
diff --git a/static/assets/img/logo/quantiacs.png b/static/assets/img/logo/quantiacs.png
new file mode 100644
index 0000000..c5ac724
Binary files /dev/null and b/static/assets/img/logo/quantiacs.png differ
diff --git a/static/assets/img/logo/readme.html b/static/assets/img/logo/readme.html
new file mode 100644
index 0000000..64bdda9
--- /dev/null
+++ b/static/assets/img/logo/readme.html
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
Partners
+
+Caltech
+
MLH
+
Hacker Fund
+
+
+
Sponsors (order matters)
+
+
+
Microsoft
+
Synaptics
+
Taboola
+
KPCB
+
Caltech Fund
+
Postmates
+
Twilio
+
Wolfram
+
OpenX
+
Facebook
+
Quantiacs
+
Namecheap
+
Google
+
HelloSign
+
Soylent
+
JetBrains
+
DrawAttention
+
HackerRank
+
Bitalino
+
Plux
+
Share the bus
+
UltraPress
+
Clarifai
+
+
diff --git a/static/assets/img/logo/sharethebus.png b/static/assets/img/logo/sharethebus.png
new file mode 100644
index 0000000..732f435
Binary files /dev/null and b/static/assets/img/logo/sharethebus.png differ
diff --git a/static/assets/img/logo/soylent.png b/static/assets/img/logo/soylent.png
new file mode 100644
index 0000000..870fc2f
Binary files /dev/null and b/static/assets/img/logo/soylent.png differ
diff --git a/static/assets/img/logo/synaptics.jpg b/static/assets/img/logo/synaptics.jpg
new file mode 100644
index 0000000..dafd747
Binary files /dev/null and b/static/assets/img/logo/synaptics.jpg differ
diff --git a/static/assets/img/logo/taboola.jpg b/static/assets/img/logo/taboola.jpg
new file mode 100644
index 0000000..6231b71
Binary files /dev/null and b/static/assets/img/logo/taboola.jpg differ
diff --git a/static/assets/img/logo/twilio.png b/static/assets/img/logo/twilio.png
new file mode 100644
index 0000000..b0db987
Binary files /dev/null and b/static/assets/img/logo/twilio.png differ
diff --git a/static/assets/img/logo/ultrapress.jpg b/static/assets/img/logo/ultrapress.jpg
new file mode 100644
index 0000000..73955b4
Binary files /dev/null and b/static/assets/img/logo/ultrapress.jpg differ
diff --git a/static/assets/img/logo/waterbottles.png b/static/assets/img/logo/waterbottles.png
new file mode 100644
index 0000000..4c2ccff
Binary files /dev/null and b/static/assets/img/logo/waterbottles.png differ
diff --git a/static/assets/img/logo/wolfram.png b/static/assets/img/logo/wolfram.png
new file mode 100644
index 0000000..916d467
Binary files /dev/null and b/static/assets/img/logo/wolfram.png differ
diff --git a/static/images/mCSB_buttons.png b/static/assets/img/mCSB_buttons.png
similarity index 100%
rename from static/images/mCSB_buttons.png
rename to static/assets/img/mCSB_buttons.png
diff --git a/static/assets/img/moles-01-01.png b/static/assets/img/moles-01-01.png
new file mode 100644
index 0000000..360bf1d
Binary files /dev/null and b/static/assets/img/moles-01-01.png differ
diff --git a/static/assets/img/octocat.png b/static/assets/img/octocat.png
new file mode 100644
index 0000000..64959e6
Binary files /dev/null and b/static/assets/img/octocat.png differ
diff --git a/static/images/trivia.png b/static/assets/img/trivia.png
similarity index 100%
rename from static/images/trivia.png
rename to static/assets/img/trivia.png
diff --git a/static/assets/img/twitter.png b/static/assets/img/twitter.png
new file mode 100644
index 0000000..ea0d4f1
Binary files /dev/null and b/static/assets/img/twitter.png differ
diff --git a/static/assets/js/app.js b/static/assets/js/app.js
new file mode 100644
index 0000000..c444559
--- /dev/null
+++ b/static/assets/js/app.js
@@ -0,0 +1,3 @@
+particlesJS.load('particles-js', 'static/assets/js/particlesjs.json', function() {
+ console.log('callback - particles.js config loaded');
+});
diff --git a/static/assets/js/chameleon_game.js b/static/assets/js/chameleon_game.js
new file mode 100644
index 0000000..dce3186
--- /dev/null
+++ b/static/assets/js/chameleon_game.js
@@ -0,0 +1,38 @@
+// Variables
+var score = 0;
+var BC_colors = ['#18b495','#159d82', '#2fd072', '#26a65b', '#3c9cdd', '#2981bc', '#a05fb9', '#9243ad', '#364d63', '#2d4052', '#ecc113', '#ec9b18', '#e67919', '#cc5200', '#e64533', '#bb392a', '#f0f3f4', '#bac0c4', '#90a1a2', '#80878e'];
+var OC_colors = ['#1abc9c','#16A085', '#2ECC71', '#27AE60', '#3498DB', '#2980B9', '#9B59B6', '#8E44AD', '#34495E', '#2C3E50', '#F1C40F', '#F39C12', '#E67E22', '#D35400', '#E74C3C', '#C0392B', '#ECF0F1', '#BDC3C7', '#95A5A6', '#7F8C8D'];
+
+function change_color(div_id, div_id2) {
+ // Function changes the Octocat color/position and game background and updates score whenever the Octocat is clicked
+ document.getElementById("confirm-submit").innerHTML = "Never mind...";
+ rando = Math.floor(Math.random() * 100) % 20;
+ document.getElementById(div_id).style.backgroundColor = BC_colors[rando];
+ document.getElementsByClassName(div_id2)[1].style.color = OC_colors[rando];
+ document.getElementsByClassName(div_id2)[1].style.position = "relative";
+ document.getElementsByClassName(div_id2)[1].style.top = random_percent_top();
+ document.getElementsByClassName(div_id2)[1].style.left = random_percent_left();
+ score++;
+ document.getElementById('scores').innerHTML = 'Your Current Score: ' + score.toString();
+}
+
+function random_percent_left(){
+ // Randomly generates a position as a string % to representing the horizontal position of Octocat (between -64% and 64%)
+ rando = Math.random() * 64;
+ rando2 = Math.random();
+ if (rando2 < 0.5){
+ rando = rando * -1;
+ }
+ return rando.toString() + '%';
+}
+
+function random_percent_top(){
+ // Randomly generates a position as a string % to representing the vertical position of Octocat (between -31% and 115%)
+ rando = Math.random() * 71;
+ rando2 = Math.random();
+ if (rando2 < 0.5){
+ rando = rando * -1;
+ }
+ rando = rando + 42;
+ return rando.toString() + '%';
+}
diff --git a/static/javascript/common.js b/static/assets/js/common.js
similarity index 100%
rename from static/javascript/common.js
rename to static/assets/js/common.js
diff --git a/static/javascript/firebase.js b/static/assets/js/firebase.js
similarity index 100%
rename from static/javascript/firebase.js
rename to static/assets/js/firebase.js
diff --git a/static/assets/js/index.js b/static/assets/js/index.js
new file mode 100644
index 0000000..4946d2c
--- /dev/null
+++ b/static/assets/js/index.js
@@ -0,0 +1,38 @@
+$("body").backstretch("/assets/img/background1.png");
+
+$(document).ready(function() {
+ $('.faqelem').click(function() {
+ var faqElement = $(this);
+ var question = faqElement.find('.question');
+ var answer = faqElement.find('.answer');
+ if (!answer.hasClass('activeanswer')) {
+ question.addClass('flipButton');
+ // answer.css('max-height', 'none');
+ // answer.css('max-height', answer.css("height"));
+ answer.addClass('activeanswer');
+ }
+ else if (answer.hasClass('activeanswer')) {
+ question.removeClass('flipButton');
+ // answer.css('max-height', 0);
+ answer.removeClass('activeanswer');
+ }
+ });
+});
+// Initialize Firebase
+/*
+
+
+// */
+// var config = {
+// apiKey: "AIzaSyAfRJWCG5g0EFpYsA3gX2NQIK_jRYttaFY",
+// authDomain: "hacktech-pre-registration.firebaseapp.com",
+// databaseURL: "https://hacktech-pre-registration.firebaseio.com",
+// storageBucket: "hacktech-pre-registration.appspot.com",
+// };
+// firebase.initializeApp(config);
+
+// function save() {
+// var eID = document.getElementById("hackerEmail").value;
+// firebase.database().ref().push({email: eID});
+// document.getElementById("hackerEmail").value = "Confirmed!";
+// };
diff --git a/static/javascript/jquery.mCustomScrollbar.concat.min.js b/static/assets/js/jquery.mCustomScrollbar.concat.min.js
similarity index 100%
rename from static/javascript/jquery.mCustomScrollbar.concat.min.js
rename to static/assets/js/jquery.mCustomScrollbar.concat.min.js
diff --git a/static/javascript/particles.js b/static/assets/js/particles.js
similarity index 100%
rename from static/javascript/particles.js
rename to static/assets/js/particles.js
diff --git a/static/javascript/particlesjs.json b/static/assets/js/particlesjs.json
similarity index 100%
rename from static/javascript/particlesjs.json
rename to static/assets/js/particlesjs.json
diff --git a/static/assets/js/register.js b/static/assets/js/register.js
new file mode 100644
index 0000000..2e60a38
--- /dev/null
+++ b/static/assets/js/register.js
@@ -0,0 +1,205 @@
+$("body").backstretch("/assets/img/moles-01-01.png");
+function updatePage(data) {
+ if(data.split(" ")[0] === "Thank") { // register success
+ document.getElementById("form").innerHTML = '
'+data+'
';
+ $("html, body").animate({ scrollTop: 0 }, "slow");
+ } else { // register failure
+ document.getElementById("formMessage").innerHTML = data;
+ document.getElementById("formMessage").style = "border: 2px; width: 95%;";
+ $("html, body").animate({ scrollTop: 0 }, "slow");
+ $("#form_message").addClass("failure_flash");
+ }
+}
+
+function constrain(amt, low, high){
+ if(amt < low || amt === null){
+ amt = low;
+ } else if(amt > high){
+ amt = high;
+ }
+ return amt;
+}
+
+function nonneg(amt){
+ if(amt < 0 || amt === null){
+ amt = 0;
+ }
+ return amt;
+}
+
+function validateEmail(email) {
+ var 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 validate_form() {
+ var fname = document.getElementById("fname").value;
+ if(fname.length < 1) {
+ updatePage("First name is required. Check your input and try again.");
+ return false;
+ }
+ if(fname.length > 64) {
+ updatePage("Your first name is too long. Check your input and try again.");
+ return false;
+ }
+
+
+ var lname = document.getElementById("lname").value;
+ if(lname.length < 1) {
+ updatePage("Your last name is required. Check your input and try again.");
+ return false;
+ }
+ if (lname.length > 64) {
+ updatePage("Your last name is too long. Check your input and try again.");
+ return false;
+ }
+
+
+ var email = document.getElementById("email").value;
+ if (email.length < 6) {
+ updatePage("Your email address is required. Check your input and try again.");
+ return false;
+ }
+ if (email.length > 64) {
+ updatePage("Your email address is too long. Check your input and try again.");
+ return false;
+ }
+ if (validateEmail(email) === false) {
+ updatePage("Your email address is invalid. Check your input and try again.");
+ return false;
+ }
+
+
+ var gradeDrop = document.getElementById("gradeDrop").value;
+ if(gradeDrop === "default" || (gradeDrop === "other" && (document.getElementById("formTextGrade").value.length < 1 || document.getElementById("formTextGrade").value.length > 32))) {
+ updatePage("Your grade is invalid. Check your input and try again.");
+ return false;
+ }
+
+
+ if(document.getElementById("school").value.length < 1 || document.getElementById("school").value.length > 64) {
+ updatePage("Your school is invalid. Check your input and try again.");
+ return false;
+ }
+
+ if(document.getElementById("major").value.length < 1 || document.getElementById("major").value.length > 80) {
+ updatePage("Your major is invalid. Check your input and try again.");
+ return false;
+ }
+
+ var buses = ["no", "tech", "stan", "ucb", "uci", "ucla", "ucsd", "usc"]
+ if(buses.indexOf(document.getElementById("formSelectBus").value) == -1) {
+ updatePage("Your selected bus is invalid. Check your input and try again.\nIf you don't need or want a bus, select 'No Bus Needed'.");
+ return false;
+ }
+
+
+ var website = document.getElementById("website").value;
+ if (website.length > 80) {
+ updatePage("Your personal website url is too long. Check your input and try again.");
+ return false;
+ }
+
+
+ var github = document.getElementById("github").value;
+ if (github.length > 80) {
+ updatePage("Your github url is too long. Check your input and try again.");
+ return false;
+ }
+
+
+ var linkedin = document.getElementById("linkedin").value;
+ if (linkedin.length > 80) {
+ updatePage("Your linkedin url is too long. Check your input and try again.");
+ return false;
+ }
+
+ if(document.getElementById("poem").value.length < 1) {
+ updatePage("Your acrostic poem is invalid. Check your input and try again.");
+ return false;
+ }
+ if(document.getElementById("techsimplify").value.length < 1) {
+ updatePage("Your response to the second free-response question is invalid. Check your input and try again.");
+ return false;
+ }
+ if(document.getElementById("hacktechsuggest").value.length < 1) {
+ updatePage("Your input for what you'd like to see at Hacktech is invalid. Check your input and try again.");
+ return false;
+ }
+ if(document.getElementById("accept_tos").checked === false) {
+ updatePage("You must accept the MLH Code of Conduct to participate at Hacktech.");
+ return false;
+ }
+ var file = document.getElementById("resumefileinput").files[0];
+ if(file === undefined) {
+ updatePage("You did not upload a resume. Check your input and try again.");
+ return false;
+ }
+ return true;
+}
+
+var frm = $('#registerForm');
+frm.submit(function (ev) {
+ if(validate_form() === true) {
+ $.ajax({
+ type: frm.attr('method'),
+ url: frm.attr('action'),
+ data: new FormData(this),
+ //data: frm.serialize(),
+ cache: false,
+ contentType: false,
+ processData: false,
+ success: function (data) {
+ updatePage(data);
+ }
+ });
+ }
+ ev.preventDefault();
+});
+
+function checkOther() {
+ if(document.getElementById('gradeDrop').value==="other") {
+ document.getElementById('gradeDrop').name = "gradeSelect";
+ document.getElementById('formTextGrade').name = "grade";
+ document.getElementById('formTextGrade').style="width: 30%";
+ document.getElementById('gradeDrop').style="width: 30%";
+ document.getElementById('gradeExplain').style="border: 2px; width: 30%";
+ } else {
+ document.getElementById('gradeDrop').name = "grade";
+ document.getElementById('formTextGrade').name = "gradeOther";
+ document.getElementById('formTextGrade').style="display: none;";
+ document.getElementById('gradeDrop').style="width: 50%";
+ document.getElementById('gradeExplain').style="border: 2px; width: 40%";
+ }
+}
+
+function uploadResume() {
+ document.getElementById("resumefileinput").click();
+}
+
+// Bit of a misnomer. updateBtnTxt also does clientside validation on the resume
+function updateBtnTxt() {
+ var file = document.getElementById("resumefileinput").files[0];
+ MAXFILESIZE = 1048576; // 1MB
+
+ // If they remove the resume, file will be undefined
+ if(file == undefined) {
+ document.getElementById("resumeUploadBtn").innerHTML = 'Click to Upload'
+ } else if (file.size > MAXFILESIZE) {
+ updatePage("Your resume is larger than 1MB. Please reduce the size and try again.");
+ } else {
+ document.getElementById("resumeUploadBtn").innerHTML = file.name;
+ }
+}
+
+function personalUpdate(id) {
+ if(document.getElementById(id).value.length <= 0) {
+ document.getElementById(id).value = 'http://';
+ }
+}
+
+function personalRemove(id) {
+ if(document.getElementById(id).value === 'http://') {
+ document.getElementById(id).value = "";
+ }
+}
diff --git a/static/javascript/src-noconflict/ace.js b/static/assets/js/src-noconflict/ace.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ace.js
rename to static/assets/js/src-noconflict/ace.js
diff --git a/static/javascript/src-noconflict/ext-beautify.js b/static/assets/js/src-noconflict/ext-beautify.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-beautify.js
rename to static/assets/js/src-noconflict/ext-beautify.js
diff --git a/static/javascript/src-noconflict/ext-chromevox.js b/static/assets/js/src-noconflict/ext-chromevox.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-chromevox.js
rename to static/assets/js/src-noconflict/ext-chromevox.js
diff --git a/static/javascript/src-noconflict/ext-elastic_tabstops_lite.js b/static/assets/js/src-noconflict/ext-elastic_tabstops_lite.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-elastic_tabstops_lite.js
rename to static/assets/js/src-noconflict/ext-elastic_tabstops_lite.js
diff --git a/static/javascript/src-noconflict/ext-emmet.js b/static/assets/js/src-noconflict/ext-emmet.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-emmet.js
rename to static/assets/js/src-noconflict/ext-emmet.js
diff --git a/static/javascript/src-noconflict/ext-error_marker.js b/static/assets/js/src-noconflict/ext-error_marker.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-error_marker.js
rename to static/assets/js/src-noconflict/ext-error_marker.js
diff --git a/static/javascript/src-noconflict/ext-keybinding_menu.js b/static/assets/js/src-noconflict/ext-keybinding_menu.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-keybinding_menu.js
rename to static/assets/js/src-noconflict/ext-keybinding_menu.js
diff --git a/static/javascript/src-noconflict/ext-language_tools.js b/static/assets/js/src-noconflict/ext-language_tools.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-language_tools.js
rename to static/assets/js/src-noconflict/ext-language_tools.js
diff --git a/static/javascript/src-noconflict/ext-linking.js b/static/assets/js/src-noconflict/ext-linking.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-linking.js
rename to static/assets/js/src-noconflict/ext-linking.js
diff --git a/static/javascript/src-noconflict/ext-modelist.js b/static/assets/js/src-noconflict/ext-modelist.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-modelist.js
rename to static/assets/js/src-noconflict/ext-modelist.js
diff --git a/static/javascript/src-noconflict/ext-old_ie.js b/static/assets/js/src-noconflict/ext-old_ie.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-old_ie.js
rename to static/assets/js/src-noconflict/ext-old_ie.js
diff --git a/static/javascript/src-noconflict/ext-searchbox.js b/static/assets/js/src-noconflict/ext-searchbox.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-searchbox.js
rename to static/assets/js/src-noconflict/ext-searchbox.js
diff --git a/static/javascript/src-noconflict/ext-settings_menu.js b/static/assets/js/src-noconflict/ext-settings_menu.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-settings_menu.js
rename to static/assets/js/src-noconflict/ext-settings_menu.js
diff --git a/static/javascript/src-noconflict/ext-spellcheck.js b/static/assets/js/src-noconflict/ext-spellcheck.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-spellcheck.js
rename to static/assets/js/src-noconflict/ext-spellcheck.js
diff --git a/static/javascript/src-noconflict/ext-split.js b/static/assets/js/src-noconflict/ext-split.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-split.js
rename to static/assets/js/src-noconflict/ext-split.js
diff --git a/static/javascript/src-noconflict/ext-static_highlight.js b/static/assets/js/src-noconflict/ext-static_highlight.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-static_highlight.js
rename to static/assets/js/src-noconflict/ext-static_highlight.js
diff --git a/static/javascript/src-noconflict/ext-statusbar.js b/static/assets/js/src-noconflict/ext-statusbar.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-statusbar.js
rename to static/assets/js/src-noconflict/ext-statusbar.js
diff --git a/static/javascript/src-noconflict/ext-textarea.js b/static/assets/js/src-noconflict/ext-textarea.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-textarea.js
rename to static/assets/js/src-noconflict/ext-textarea.js
diff --git a/static/javascript/src-noconflict/ext-themelist.js b/static/assets/js/src-noconflict/ext-themelist.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-themelist.js
rename to static/assets/js/src-noconflict/ext-themelist.js
diff --git a/static/javascript/src-noconflict/ext-whitespace.js b/static/assets/js/src-noconflict/ext-whitespace.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/ext-whitespace.js
rename to static/assets/js/src-noconflict/ext-whitespace.js
diff --git a/static/javascript/src-noconflict/keybinding-emacs.js b/static/assets/js/src-noconflict/keybinding-emacs.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/keybinding-emacs.js
rename to static/assets/js/src-noconflict/keybinding-emacs.js
diff --git a/static/javascript/src-noconflict/keybinding-vim.js b/static/assets/js/src-noconflict/keybinding-vim.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/keybinding-vim.js
rename to static/assets/js/src-noconflict/keybinding-vim.js
diff --git a/static/javascript/src-noconflict/mode-abap.js b/static/assets/js/src-noconflict/mode-abap.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-abap.js
rename to static/assets/js/src-noconflict/mode-abap.js
diff --git a/static/javascript/src-noconflict/mode-abc.js b/static/assets/js/src-noconflict/mode-abc.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-abc.js
rename to static/assets/js/src-noconflict/mode-abc.js
diff --git a/static/javascript/src-noconflict/mode-actionscript.js b/static/assets/js/src-noconflict/mode-actionscript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-actionscript.js
rename to static/assets/js/src-noconflict/mode-actionscript.js
diff --git a/static/javascript/src-noconflict/mode-ada.js b/static/assets/js/src-noconflict/mode-ada.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-ada.js
rename to static/assets/js/src-noconflict/mode-ada.js
diff --git a/static/javascript/src-noconflict/mode-apache_conf.js b/static/assets/js/src-noconflict/mode-apache_conf.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-apache_conf.js
rename to static/assets/js/src-noconflict/mode-apache_conf.js
diff --git a/static/javascript/src-noconflict/mode-applescript.js b/static/assets/js/src-noconflict/mode-applescript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-applescript.js
rename to static/assets/js/src-noconflict/mode-applescript.js
diff --git a/static/javascript/src-noconflict/mode-asciidoc.js b/static/assets/js/src-noconflict/mode-asciidoc.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-asciidoc.js
rename to static/assets/js/src-noconflict/mode-asciidoc.js
diff --git a/static/javascript/src-noconflict/mode-assembly_x86.js b/static/assets/js/src-noconflict/mode-assembly_x86.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-assembly_x86.js
rename to static/assets/js/src-noconflict/mode-assembly_x86.js
diff --git a/static/javascript/src-noconflict/mode-autohotkey.js b/static/assets/js/src-noconflict/mode-autohotkey.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-autohotkey.js
rename to static/assets/js/src-noconflict/mode-autohotkey.js
diff --git a/static/javascript/src-noconflict/mode-batchfile.js b/static/assets/js/src-noconflict/mode-batchfile.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-batchfile.js
rename to static/assets/js/src-noconflict/mode-batchfile.js
diff --git a/static/javascript/src-noconflict/mode-c9search.js b/static/assets/js/src-noconflict/mode-c9search.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-c9search.js
rename to static/assets/js/src-noconflict/mode-c9search.js
diff --git a/static/javascript/src-noconflict/mode-c_cpp.js b/static/assets/js/src-noconflict/mode-c_cpp.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-c_cpp.js
rename to static/assets/js/src-noconflict/mode-c_cpp.js
diff --git a/static/javascript/src-noconflict/mode-cirru.js b/static/assets/js/src-noconflict/mode-cirru.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-cirru.js
rename to static/assets/js/src-noconflict/mode-cirru.js
diff --git a/static/javascript/src-noconflict/mode-clojure.js b/static/assets/js/src-noconflict/mode-clojure.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-clojure.js
rename to static/assets/js/src-noconflict/mode-clojure.js
diff --git a/static/javascript/src-noconflict/mode-cobol.js b/static/assets/js/src-noconflict/mode-cobol.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-cobol.js
rename to static/assets/js/src-noconflict/mode-cobol.js
diff --git a/static/javascript/src-noconflict/mode-coffee.js b/static/assets/js/src-noconflict/mode-coffee.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-coffee.js
rename to static/assets/js/src-noconflict/mode-coffee.js
diff --git a/static/javascript/src-noconflict/mode-coldfusion.js b/static/assets/js/src-noconflict/mode-coldfusion.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-coldfusion.js
rename to static/assets/js/src-noconflict/mode-coldfusion.js
diff --git a/static/javascript/src-noconflict/mode-csharp.js b/static/assets/js/src-noconflict/mode-csharp.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-csharp.js
rename to static/assets/js/src-noconflict/mode-csharp.js
diff --git a/static/javascript/src-noconflict/mode-css.js b/static/assets/js/src-noconflict/mode-css.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-css.js
rename to static/assets/js/src-noconflict/mode-css.js
diff --git a/static/javascript/src-noconflict/mode-curly.js b/static/assets/js/src-noconflict/mode-curly.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-curly.js
rename to static/assets/js/src-noconflict/mode-curly.js
diff --git a/static/javascript/src-noconflict/mode-d.js b/static/assets/js/src-noconflict/mode-d.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-d.js
rename to static/assets/js/src-noconflict/mode-d.js
diff --git a/static/javascript/src-noconflict/mode-dart.js b/static/assets/js/src-noconflict/mode-dart.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-dart.js
rename to static/assets/js/src-noconflict/mode-dart.js
diff --git a/static/javascript/src-noconflict/mode-diff.js b/static/assets/js/src-noconflict/mode-diff.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-diff.js
rename to static/assets/js/src-noconflict/mode-diff.js
diff --git a/static/javascript/src-noconflict/mode-django.js b/static/assets/js/src-noconflict/mode-django.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-django.js
rename to static/assets/js/src-noconflict/mode-django.js
diff --git a/static/javascript/src-noconflict/mode-dockerfile.js b/static/assets/js/src-noconflict/mode-dockerfile.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-dockerfile.js
rename to static/assets/js/src-noconflict/mode-dockerfile.js
diff --git a/static/javascript/src-noconflict/mode-dot.js b/static/assets/js/src-noconflict/mode-dot.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-dot.js
rename to static/assets/js/src-noconflict/mode-dot.js
diff --git a/static/javascript/src-noconflict/mode-eiffel.js b/static/assets/js/src-noconflict/mode-eiffel.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-eiffel.js
rename to static/assets/js/src-noconflict/mode-eiffel.js
diff --git a/static/javascript/src-noconflict/mode-ejs.js b/static/assets/js/src-noconflict/mode-ejs.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-ejs.js
rename to static/assets/js/src-noconflict/mode-ejs.js
diff --git a/static/javascript/src-noconflict/mode-elixir.js b/static/assets/js/src-noconflict/mode-elixir.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-elixir.js
rename to static/assets/js/src-noconflict/mode-elixir.js
diff --git a/static/javascript/src-noconflict/mode-elm.js b/static/assets/js/src-noconflict/mode-elm.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-elm.js
rename to static/assets/js/src-noconflict/mode-elm.js
diff --git a/static/javascript/src-noconflict/mode-erlang.js b/static/assets/js/src-noconflict/mode-erlang.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-erlang.js
rename to static/assets/js/src-noconflict/mode-erlang.js
diff --git a/static/javascript/src-noconflict/mode-forth.js b/static/assets/js/src-noconflict/mode-forth.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-forth.js
rename to static/assets/js/src-noconflict/mode-forth.js
diff --git a/static/javascript/src-noconflict/mode-fortran.js b/static/assets/js/src-noconflict/mode-fortran.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-fortran.js
rename to static/assets/js/src-noconflict/mode-fortran.js
diff --git a/static/javascript/src-noconflict/mode-ftl.js b/static/assets/js/src-noconflict/mode-ftl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-ftl.js
rename to static/assets/js/src-noconflict/mode-ftl.js
diff --git a/static/javascript/src-noconflict/mode-gcode.js b/static/assets/js/src-noconflict/mode-gcode.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-gcode.js
rename to static/assets/js/src-noconflict/mode-gcode.js
diff --git a/static/javascript/src-noconflict/mode-gherkin.js b/static/assets/js/src-noconflict/mode-gherkin.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-gherkin.js
rename to static/assets/js/src-noconflict/mode-gherkin.js
diff --git a/static/javascript/src-noconflict/mode-gitignore.js b/static/assets/js/src-noconflict/mode-gitignore.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-gitignore.js
rename to static/assets/js/src-noconflict/mode-gitignore.js
diff --git a/static/javascript/src-noconflict/mode-glsl.js b/static/assets/js/src-noconflict/mode-glsl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-glsl.js
rename to static/assets/js/src-noconflict/mode-glsl.js
diff --git a/static/javascript/src-noconflict/mode-gobstones.js b/static/assets/js/src-noconflict/mode-gobstones.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-gobstones.js
rename to static/assets/js/src-noconflict/mode-gobstones.js
diff --git a/static/javascript/src-noconflict/mode-golang.js b/static/assets/js/src-noconflict/mode-golang.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-golang.js
rename to static/assets/js/src-noconflict/mode-golang.js
diff --git a/static/javascript/src-noconflict/mode-groovy.js b/static/assets/js/src-noconflict/mode-groovy.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-groovy.js
rename to static/assets/js/src-noconflict/mode-groovy.js
diff --git a/static/javascript/src-noconflict/mode-haml.js b/static/assets/js/src-noconflict/mode-haml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-haml.js
rename to static/assets/js/src-noconflict/mode-haml.js
diff --git a/static/javascript/src-noconflict/mode-handlebars.js b/static/assets/js/src-noconflict/mode-handlebars.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-handlebars.js
rename to static/assets/js/src-noconflict/mode-handlebars.js
diff --git a/static/javascript/src-noconflict/mode-haskell.js b/static/assets/js/src-noconflict/mode-haskell.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-haskell.js
rename to static/assets/js/src-noconflict/mode-haskell.js
diff --git a/static/javascript/src-noconflict/mode-haxe.js b/static/assets/js/src-noconflict/mode-haxe.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-haxe.js
rename to static/assets/js/src-noconflict/mode-haxe.js
diff --git a/static/javascript/src-noconflict/mode-html.js b/static/assets/js/src-noconflict/mode-html.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-html.js
rename to static/assets/js/src-noconflict/mode-html.js
diff --git a/static/javascript/src-noconflict/mode-html_elixir.js b/static/assets/js/src-noconflict/mode-html_elixir.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-html_elixir.js
rename to static/assets/js/src-noconflict/mode-html_elixir.js
diff --git a/static/javascript/src-noconflict/mode-html_ruby.js b/static/assets/js/src-noconflict/mode-html_ruby.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-html_ruby.js
rename to static/assets/js/src-noconflict/mode-html_ruby.js
diff --git a/static/javascript/src-noconflict/mode-ini.js b/static/assets/js/src-noconflict/mode-ini.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-ini.js
rename to static/assets/js/src-noconflict/mode-ini.js
diff --git a/static/javascript/src-noconflict/mode-io.js b/static/assets/js/src-noconflict/mode-io.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-io.js
rename to static/assets/js/src-noconflict/mode-io.js
diff --git a/static/javascript/src-noconflict/mode-jack.js b/static/assets/js/src-noconflict/mode-jack.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-jack.js
rename to static/assets/js/src-noconflict/mode-jack.js
diff --git a/static/javascript/src-noconflict/mode-jade.js b/static/assets/js/src-noconflict/mode-jade.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-jade.js
rename to static/assets/js/src-noconflict/mode-jade.js
diff --git a/static/javascript/src-noconflict/mode-java.js b/static/assets/js/src-noconflict/mode-java.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-java.js
rename to static/assets/js/src-noconflict/mode-java.js
diff --git a/static/javascript/src-noconflict/mode-javascript.js b/static/assets/js/src-noconflict/mode-javascript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-javascript.js
rename to static/assets/js/src-noconflict/mode-javascript.js
diff --git a/static/javascript/src-noconflict/mode-json.js b/static/assets/js/src-noconflict/mode-json.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-json.js
rename to static/assets/js/src-noconflict/mode-json.js
diff --git a/static/javascript/src-noconflict/mode-jsoniq.js b/static/assets/js/src-noconflict/mode-jsoniq.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-jsoniq.js
rename to static/assets/js/src-noconflict/mode-jsoniq.js
diff --git a/static/javascript/src-noconflict/mode-jsp.js b/static/assets/js/src-noconflict/mode-jsp.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-jsp.js
rename to static/assets/js/src-noconflict/mode-jsp.js
diff --git a/static/javascript/src-noconflict/mode-jsx.js b/static/assets/js/src-noconflict/mode-jsx.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-jsx.js
rename to static/assets/js/src-noconflict/mode-jsx.js
diff --git a/static/javascript/src-noconflict/mode-julia.js b/static/assets/js/src-noconflict/mode-julia.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-julia.js
rename to static/assets/js/src-noconflict/mode-julia.js
diff --git a/static/javascript/src-noconflict/mode-latex.js b/static/assets/js/src-noconflict/mode-latex.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-latex.js
rename to static/assets/js/src-noconflict/mode-latex.js
diff --git a/static/javascript/src-noconflict/mode-lean.js b/static/assets/js/src-noconflict/mode-lean.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-lean.js
rename to static/assets/js/src-noconflict/mode-lean.js
diff --git a/static/javascript/src-noconflict/mode-less.js b/static/assets/js/src-noconflict/mode-less.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-less.js
rename to static/assets/js/src-noconflict/mode-less.js
diff --git a/static/javascript/src-noconflict/mode-liquid.js b/static/assets/js/src-noconflict/mode-liquid.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-liquid.js
rename to static/assets/js/src-noconflict/mode-liquid.js
diff --git a/static/javascript/src-noconflict/mode-lisp.js b/static/assets/js/src-noconflict/mode-lisp.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-lisp.js
rename to static/assets/js/src-noconflict/mode-lisp.js
diff --git a/static/javascript/src-noconflict/mode-live_script.js b/static/assets/js/src-noconflict/mode-live_script.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-live_script.js
rename to static/assets/js/src-noconflict/mode-live_script.js
diff --git a/static/javascript/src-noconflict/mode-livescript.js b/static/assets/js/src-noconflict/mode-livescript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-livescript.js
rename to static/assets/js/src-noconflict/mode-livescript.js
diff --git a/static/javascript/src-noconflict/mode-logiql.js b/static/assets/js/src-noconflict/mode-logiql.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-logiql.js
rename to static/assets/js/src-noconflict/mode-logiql.js
diff --git a/static/javascript/src-noconflict/mode-lsl.js b/static/assets/js/src-noconflict/mode-lsl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-lsl.js
rename to static/assets/js/src-noconflict/mode-lsl.js
diff --git a/static/javascript/src-noconflict/mode-lua.js b/static/assets/js/src-noconflict/mode-lua.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-lua.js
rename to static/assets/js/src-noconflict/mode-lua.js
diff --git a/static/javascript/src-noconflict/mode-luapage.js b/static/assets/js/src-noconflict/mode-luapage.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-luapage.js
rename to static/assets/js/src-noconflict/mode-luapage.js
diff --git a/static/javascript/src-noconflict/mode-lucene.js b/static/assets/js/src-noconflict/mode-lucene.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-lucene.js
rename to static/assets/js/src-noconflict/mode-lucene.js
diff --git a/static/javascript/src-noconflict/mode-makefile.js b/static/assets/js/src-noconflict/mode-makefile.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-makefile.js
rename to static/assets/js/src-noconflict/mode-makefile.js
diff --git a/static/javascript/src-noconflict/mode-markdown.js b/static/assets/js/src-noconflict/mode-markdown.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-markdown.js
rename to static/assets/js/src-noconflict/mode-markdown.js
diff --git a/static/javascript/src-noconflict/mode-mask.js b/static/assets/js/src-noconflict/mode-mask.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-mask.js
rename to static/assets/js/src-noconflict/mode-mask.js
diff --git a/static/javascript/src-noconflict/mode-matlab.js b/static/assets/js/src-noconflict/mode-matlab.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-matlab.js
rename to static/assets/js/src-noconflict/mode-matlab.js
diff --git a/static/javascript/src-noconflict/mode-mavens_mate_log.js b/static/assets/js/src-noconflict/mode-mavens_mate_log.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-mavens_mate_log.js
rename to static/assets/js/src-noconflict/mode-mavens_mate_log.js
diff --git a/static/javascript/src-noconflict/mode-maze.js b/static/assets/js/src-noconflict/mode-maze.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-maze.js
rename to static/assets/js/src-noconflict/mode-maze.js
diff --git a/static/javascript/src-noconflict/mode-mel.js b/static/assets/js/src-noconflict/mode-mel.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-mel.js
rename to static/assets/js/src-noconflict/mode-mel.js
diff --git a/static/javascript/src-noconflict/mode-mips_assembler.js b/static/assets/js/src-noconflict/mode-mips_assembler.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-mips_assembler.js
rename to static/assets/js/src-noconflict/mode-mips_assembler.js
diff --git a/static/javascript/src-noconflict/mode-mipsassembler.js b/static/assets/js/src-noconflict/mode-mipsassembler.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-mipsassembler.js
rename to static/assets/js/src-noconflict/mode-mipsassembler.js
diff --git a/static/javascript/src-noconflict/mode-mushcode.js b/static/assets/js/src-noconflict/mode-mushcode.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-mushcode.js
rename to static/assets/js/src-noconflict/mode-mushcode.js
diff --git a/static/javascript/src-noconflict/mode-mysql.js b/static/assets/js/src-noconflict/mode-mysql.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-mysql.js
rename to static/assets/js/src-noconflict/mode-mysql.js
diff --git a/static/javascript/src-noconflict/mode-nix.js b/static/assets/js/src-noconflict/mode-nix.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-nix.js
rename to static/assets/js/src-noconflict/mode-nix.js
diff --git a/static/javascript/src-noconflict/mode-nsis.js b/static/assets/js/src-noconflict/mode-nsis.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-nsis.js
rename to static/assets/js/src-noconflict/mode-nsis.js
diff --git a/static/javascript/src-noconflict/mode-objectivec.js b/static/assets/js/src-noconflict/mode-objectivec.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-objectivec.js
rename to static/assets/js/src-noconflict/mode-objectivec.js
diff --git a/static/javascript/src-noconflict/mode-ocaml.js b/static/assets/js/src-noconflict/mode-ocaml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-ocaml.js
rename to static/assets/js/src-noconflict/mode-ocaml.js
diff --git a/static/javascript/src-noconflict/mode-pascal.js b/static/assets/js/src-noconflict/mode-pascal.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-pascal.js
rename to static/assets/js/src-noconflict/mode-pascal.js
diff --git a/static/javascript/src-noconflict/mode-perl.js b/static/assets/js/src-noconflict/mode-perl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-perl.js
rename to static/assets/js/src-noconflict/mode-perl.js
diff --git a/static/javascript/src-noconflict/mode-pgsql.js b/static/assets/js/src-noconflict/mode-pgsql.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-pgsql.js
rename to static/assets/js/src-noconflict/mode-pgsql.js
diff --git a/static/javascript/src-noconflict/mode-php.js b/static/assets/js/src-noconflict/mode-php.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-php.js
rename to static/assets/js/src-noconflict/mode-php.js
diff --git a/static/javascript/src-noconflict/mode-plain_text.js b/static/assets/js/src-noconflict/mode-plain_text.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-plain_text.js
rename to static/assets/js/src-noconflict/mode-plain_text.js
diff --git a/static/javascript/src-noconflict/mode-powershell.js b/static/assets/js/src-noconflict/mode-powershell.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-powershell.js
rename to static/assets/js/src-noconflict/mode-powershell.js
diff --git a/static/javascript/src-noconflict/mode-praat.js b/static/assets/js/src-noconflict/mode-praat.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-praat.js
rename to static/assets/js/src-noconflict/mode-praat.js
diff --git a/static/javascript/src-noconflict/mode-prolog.js b/static/assets/js/src-noconflict/mode-prolog.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-prolog.js
rename to static/assets/js/src-noconflict/mode-prolog.js
diff --git a/static/javascript/src-noconflict/mode-properties.js b/static/assets/js/src-noconflict/mode-properties.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-properties.js
rename to static/assets/js/src-noconflict/mode-properties.js
diff --git a/static/javascript/src-noconflict/mode-protobuf.js b/static/assets/js/src-noconflict/mode-protobuf.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-protobuf.js
rename to static/assets/js/src-noconflict/mode-protobuf.js
diff --git a/static/javascript/src-noconflict/mode-python.js b/static/assets/js/src-noconflict/mode-python.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-python.js
rename to static/assets/js/src-noconflict/mode-python.js
diff --git a/static/javascript/src-noconflict/mode-r.js b/static/assets/js/src-noconflict/mode-r.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-r.js
rename to static/assets/js/src-noconflict/mode-r.js
diff --git a/static/javascript/src-noconflict/mode-razor.js b/static/assets/js/src-noconflict/mode-razor.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-razor.js
rename to static/assets/js/src-noconflict/mode-razor.js
diff --git a/static/javascript/src-noconflict/mode-rdoc.js b/static/assets/js/src-noconflict/mode-rdoc.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-rdoc.js
rename to static/assets/js/src-noconflict/mode-rdoc.js
diff --git a/static/javascript/src-noconflict/mode-rhtml.js b/static/assets/js/src-noconflict/mode-rhtml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-rhtml.js
rename to static/assets/js/src-noconflict/mode-rhtml.js
diff --git a/static/javascript/src-noconflict/mode-rst.js b/static/assets/js/src-noconflict/mode-rst.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-rst.js
rename to static/assets/js/src-noconflict/mode-rst.js
diff --git a/static/javascript/src-noconflict/mode-ruby.js b/static/assets/js/src-noconflict/mode-ruby.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-ruby.js
rename to static/assets/js/src-noconflict/mode-ruby.js
diff --git a/static/javascript/src-noconflict/mode-rust.js b/static/assets/js/src-noconflict/mode-rust.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-rust.js
rename to static/assets/js/src-noconflict/mode-rust.js
diff --git a/static/javascript/src-noconflict/mode-sass.js b/static/assets/js/src-noconflict/mode-sass.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-sass.js
rename to static/assets/js/src-noconflict/mode-sass.js
diff --git a/static/javascript/src-noconflict/mode-scad.js b/static/assets/js/src-noconflict/mode-scad.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-scad.js
rename to static/assets/js/src-noconflict/mode-scad.js
diff --git a/static/javascript/src-noconflict/mode-scala.js b/static/assets/js/src-noconflict/mode-scala.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-scala.js
rename to static/assets/js/src-noconflict/mode-scala.js
diff --git a/static/javascript/src-noconflict/mode-scheme.js b/static/assets/js/src-noconflict/mode-scheme.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-scheme.js
rename to static/assets/js/src-noconflict/mode-scheme.js
diff --git a/static/javascript/src-noconflict/mode-scss.js b/static/assets/js/src-noconflict/mode-scss.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-scss.js
rename to static/assets/js/src-noconflict/mode-scss.js
diff --git a/static/javascript/src-noconflict/mode-sh.js b/static/assets/js/src-noconflict/mode-sh.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-sh.js
rename to static/assets/js/src-noconflict/mode-sh.js
diff --git a/static/javascript/src-noconflict/mode-sjs.js b/static/assets/js/src-noconflict/mode-sjs.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-sjs.js
rename to static/assets/js/src-noconflict/mode-sjs.js
diff --git a/static/javascript/src-noconflict/mode-smarty.js b/static/assets/js/src-noconflict/mode-smarty.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-smarty.js
rename to static/assets/js/src-noconflict/mode-smarty.js
diff --git a/static/javascript/src-noconflict/mode-snippets.js b/static/assets/js/src-noconflict/mode-snippets.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-snippets.js
rename to static/assets/js/src-noconflict/mode-snippets.js
diff --git a/static/javascript/src-noconflict/mode-soy_template.js b/static/assets/js/src-noconflict/mode-soy_template.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-soy_template.js
rename to static/assets/js/src-noconflict/mode-soy_template.js
diff --git a/static/javascript/src-noconflict/mode-space.js b/static/assets/js/src-noconflict/mode-space.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-space.js
rename to static/assets/js/src-noconflict/mode-space.js
diff --git a/static/javascript/src-noconflict/mode-sql.js b/static/assets/js/src-noconflict/mode-sql.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-sql.js
rename to static/assets/js/src-noconflict/mode-sql.js
diff --git a/static/javascript/src-noconflict/mode-sqlserver.js b/static/assets/js/src-noconflict/mode-sqlserver.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-sqlserver.js
rename to static/assets/js/src-noconflict/mode-sqlserver.js
diff --git a/static/javascript/src-noconflict/mode-stylus.js b/static/assets/js/src-noconflict/mode-stylus.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-stylus.js
rename to static/assets/js/src-noconflict/mode-stylus.js
diff --git a/static/javascript/src-noconflict/mode-svg.js b/static/assets/js/src-noconflict/mode-svg.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-svg.js
rename to static/assets/js/src-noconflict/mode-svg.js
diff --git a/static/javascript/src-noconflict/mode-swift.js b/static/assets/js/src-noconflict/mode-swift.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-swift.js
rename to static/assets/js/src-noconflict/mode-swift.js
diff --git a/static/javascript/src-noconflict/mode-swig.js b/static/assets/js/src-noconflict/mode-swig.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-swig.js
rename to static/assets/js/src-noconflict/mode-swig.js
diff --git a/static/javascript/src-noconflict/mode-tcl.js b/static/assets/js/src-noconflict/mode-tcl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-tcl.js
rename to static/assets/js/src-noconflict/mode-tcl.js
diff --git a/static/javascript/src-noconflict/mode-tex.js b/static/assets/js/src-noconflict/mode-tex.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-tex.js
rename to static/assets/js/src-noconflict/mode-tex.js
diff --git a/static/javascript/src-noconflict/mode-text.js b/static/assets/js/src-noconflict/mode-text.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-text.js
rename to static/assets/js/src-noconflict/mode-text.js
diff --git a/static/javascript/src-noconflict/mode-textile.js b/static/assets/js/src-noconflict/mode-textile.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-textile.js
rename to static/assets/js/src-noconflict/mode-textile.js
diff --git a/static/javascript/src-noconflict/mode-toml.js b/static/assets/js/src-noconflict/mode-toml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-toml.js
rename to static/assets/js/src-noconflict/mode-toml.js
diff --git a/static/javascript/src-noconflict/mode-twig.js b/static/assets/js/src-noconflict/mode-twig.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-twig.js
rename to static/assets/js/src-noconflict/mode-twig.js
diff --git a/static/javascript/src-noconflict/mode-typescript.js b/static/assets/js/src-noconflict/mode-typescript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-typescript.js
rename to static/assets/js/src-noconflict/mode-typescript.js
diff --git a/static/javascript/src-noconflict/mode-vala.js b/static/assets/js/src-noconflict/mode-vala.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-vala.js
rename to static/assets/js/src-noconflict/mode-vala.js
diff --git a/static/javascript/src-noconflict/mode-vbscript.js b/static/assets/js/src-noconflict/mode-vbscript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-vbscript.js
rename to static/assets/js/src-noconflict/mode-vbscript.js
diff --git a/static/javascript/src-noconflict/mode-velocity.js b/static/assets/js/src-noconflict/mode-velocity.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-velocity.js
rename to static/assets/js/src-noconflict/mode-velocity.js
diff --git a/static/javascript/src-noconflict/mode-verilog.js b/static/assets/js/src-noconflict/mode-verilog.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-verilog.js
rename to static/assets/js/src-noconflict/mode-verilog.js
diff --git a/static/javascript/src-noconflict/mode-vhdl.js b/static/assets/js/src-noconflict/mode-vhdl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-vhdl.js
rename to static/assets/js/src-noconflict/mode-vhdl.js
diff --git a/static/javascript/src-noconflict/mode-wollok.js b/static/assets/js/src-noconflict/mode-wollok.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-wollok.js
rename to static/assets/js/src-noconflict/mode-wollok.js
diff --git a/static/javascript/src-noconflict/mode-xml.js b/static/assets/js/src-noconflict/mode-xml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-xml.js
rename to static/assets/js/src-noconflict/mode-xml.js
diff --git a/static/javascript/src-noconflict/mode-xquery.js b/static/assets/js/src-noconflict/mode-xquery.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-xquery.js
rename to static/assets/js/src-noconflict/mode-xquery.js
diff --git a/static/javascript/src-noconflict/mode-yaml.js b/static/assets/js/src-noconflict/mode-yaml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/mode-yaml.js
rename to static/assets/js/src-noconflict/mode-yaml.js
diff --git a/static/javascript/src-noconflict/snippets/abap.js b/static/assets/js/src-noconflict/snippets/abap.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/abap.js
rename to static/assets/js/src-noconflict/snippets/abap.js
diff --git a/static/javascript/src-noconflict/snippets/abc.js b/static/assets/js/src-noconflict/snippets/abc.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/abc.js
rename to static/assets/js/src-noconflict/snippets/abc.js
diff --git a/static/javascript/src-noconflict/snippets/actionscript.js b/static/assets/js/src-noconflict/snippets/actionscript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/actionscript.js
rename to static/assets/js/src-noconflict/snippets/actionscript.js
diff --git a/static/javascript/src-noconflict/snippets/ada.js b/static/assets/js/src-noconflict/snippets/ada.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/ada.js
rename to static/assets/js/src-noconflict/snippets/ada.js
diff --git a/static/javascript/src-noconflict/snippets/apache_conf.js b/static/assets/js/src-noconflict/snippets/apache_conf.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/apache_conf.js
rename to static/assets/js/src-noconflict/snippets/apache_conf.js
diff --git a/static/javascript/src-noconflict/snippets/applescript.js b/static/assets/js/src-noconflict/snippets/applescript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/applescript.js
rename to static/assets/js/src-noconflict/snippets/applescript.js
diff --git a/static/javascript/src-noconflict/snippets/asciidoc.js b/static/assets/js/src-noconflict/snippets/asciidoc.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/asciidoc.js
rename to static/assets/js/src-noconflict/snippets/asciidoc.js
diff --git a/static/javascript/src-noconflict/snippets/assembly_x86.js b/static/assets/js/src-noconflict/snippets/assembly_x86.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/assembly_x86.js
rename to static/assets/js/src-noconflict/snippets/assembly_x86.js
diff --git a/static/javascript/src-noconflict/snippets/autohotkey.js b/static/assets/js/src-noconflict/snippets/autohotkey.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/autohotkey.js
rename to static/assets/js/src-noconflict/snippets/autohotkey.js
diff --git a/static/javascript/src-noconflict/snippets/batchfile.js b/static/assets/js/src-noconflict/snippets/batchfile.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/batchfile.js
rename to static/assets/js/src-noconflict/snippets/batchfile.js
diff --git a/static/javascript/src-noconflict/snippets/c9search.js b/static/assets/js/src-noconflict/snippets/c9search.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/c9search.js
rename to static/assets/js/src-noconflict/snippets/c9search.js
diff --git a/static/javascript/src-noconflict/snippets/c_cpp.js b/static/assets/js/src-noconflict/snippets/c_cpp.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/c_cpp.js
rename to static/assets/js/src-noconflict/snippets/c_cpp.js
diff --git a/static/javascript/src-noconflict/snippets/cirru.js b/static/assets/js/src-noconflict/snippets/cirru.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/cirru.js
rename to static/assets/js/src-noconflict/snippets/cirru.js
diff --git a/static/javascript/src-noconflict/snippets/clojure.js b/static/assets/js/src-noconflict/snippets/clojure.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/clojure.js
rename to static/assets/js/src-noconflict/snippets/clojure.js
diff --git a/static/javascript/src-noconflict/snippets/cobol.js b/static/assets/js/src-noconflict/snippets/cobol.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/cobol.js
rename to static/assets/js/src-noconflict/snippets/cobol.js
diff --git a/static/javascript/src-noconflict/snippets/coffee.js b/static/assets/js/src-noconflict/snippets/coffee.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/coffee.js
rename to static/assets/js/src-noconflict/snippets/coffee.js
diff --git a/static/javascript/src-noconflict/snippets/coldfusion.js b/static/assets/js/src-noconflict/snippets/coldfusion.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/coldfusion.js
rename to static/assets/js/src-noconflict/snippets/coldfusion.js
diff --git a/static/javascript/src-noconflict/snippets/csharp.js b/static/assets/js/src-noconflict/snippets/csharp.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/csharp.js
rename to static/assets/js/src-noconflict/snippets/csharp.js
diff --git a/static/javascript/src-noconflict/snippets/css.js b/static/assets/js/src-noconflict/snippets/css.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/css.js
rename to static/assets/js/src-noconflict/snippets/css.js
diff --git a/static/javascript/src-noconflict/snippets/curly.js b/static/assets/js/src-noconflict/snippets/curly.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/curly.js
rename to static/assets/js/src-noconflict/snippets/curly.js
diff --git a/static/javascript/src-noconflict/snippets/d.js b/static/assets/js/src-noconflict/snippets/d.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/d.js
rename to static/assets/js/src-noconflict/snippets/d.js
diff --git a/static/javascript/src-noconflict/snippets/dart.js b/static/assets/js/src-noconflict/snippets/dart.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/dart.js
rename to static/assets/js/src-noconflict/snippets/dart.js
diff --git a/static/javascript/src-noconflict/snippets/diff.js b/static/assets/js/src-noconflict/snippets/diff.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/diff.js
rename to static/assets/js/src-noconflict/snippets/diff.js
diff --git a/static/javascript/src-noconflict/snippets/django.js b/static/assets/js/src-noconflict/snippets/django.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/django.js
rename to static/assets/js/src-noconflict/snippets/django.js
diff --git a/static/javascript/src-noconflict/snippets/dockerfile.js b/static/assets/js/src-noconflict/snippets/dockerfile.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/dockerfile.js
rename to static/assets/js/src-noconflict/snippets/dockerfile.js
diff --git a/static/javascript/src-noconflict/snippets/dot.js b/static/assets/js/src-noconflict/snippets/dot.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/dot.js
rename to static/assets/js/src-noconflict/snippets/dot.js
diff --git a/static/javascript/src-noconflict/snippets/eiffel.js b/static/assets/js/src-noconflict/snippets/eiffel.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/eiffel.js
rename to static/assets/js/src-noconflict/snippets/eiffel.js
diff --git a/static/javascript/src-noconflict/snippets/ejs.js b/static/assets/js/src-noconflict/snippets/ejs.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/ejs.js
rename to static/assets/js/src-noconflict/snippets/ejs.js
diff --git a/static/javascript/src-noconflict/snippets/elixir.js b/static/assets/js/src-noconflict/snippets/elixir.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/elixir.js
rename to static/assets/js/src-noconflict/snippets/elixir.js
diff --git a/static/javascript/src-noconflict/snippets/elm.js b/static/assets/js/src-noconflict/snippets/elm.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/elm.js
rename to static/assets/js/src-noconflict/snippets/elm.js
diff --git a/static/javascript/src-noconflict/snippets/erlang.js b/static/assets/js/src-noconflict/snippets/erlang.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/erlang.js
rename to static/assets/js/src-noconflict/snippets/erlang.js
diff --git a/static/javascript/src-noconflict/snippets/forth.js b/static/assets/js/src-noconflict/snippets/forth.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/forth.js
rename to static/assets/js/src-noconflict/snippets/forth.js
diff --git a/static/javascript/src-noconflict/snippets/fortran.js b/static/assets/js/src-noconflict/snippets/fortran.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/fortran.js
rename to static/assets/js/src-noconflict/snippets/fortran.js
diff --git a/static/javascript/src-noconflict/snippets/ftl.js b/static/assets/js/src-noconflict/snippets/ftl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/ftl.js
rename to static/assets/js/src-noconflict/snippets/ftl.js
diff --git a/static/javascript/src-noconflict/snippets/gcode.js b/static/assets/js/src-noconflict/snippets/gcode.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/gcode.js
rename to static/assets/js/src-noconflict/snippets/gcode.js
diff --git a/static/javascript/src-noconflict/snippets/gherkin.js b/static/assets/js/src-noconflict/snippets/gherkin.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/gherkin.js
rename to static/assets/js/src-noconflict/snippets/gherkin.js
diff --git a/static/javascript/src-noconflict/snippets/gitignore.js b/static/assets/js/src-noconflict/snippets/gitignore.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/gitignore.js
rename to static/assets/js/src-noconflict/snippets/gitignore.js
diff --git a/static/javascript/src-noconflict/snippets/glsl.js b/static/assets/js/src-noconflict/snippets/glsl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/glsl.js
rename to static/assets/js/src-noconflict/snippets/glsl.js
diff --git a/static/javascript/src-noconflict/snippets/gobstones.js b/static/assets/js/src-noconflict/snippets/gobstones.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/gobstones.js
rename to static/assets/js/src-noconflict/snippets/gobstones.js
diff --git a/static/javascript/src-noconflict/snippets/golang.js b/static/assets/js/src-noconflict/snippets/golang.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/golang.js
rename to static/assets/js/src-noconflict/snippets/golang.js
diff --git a/static/javascript/src-noconflict/snippets/groovy.js b/static/assets/js/src-noconflict/snippets/groovy.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/groovy.js
rename to static/assets/js/src-noconflict/snippets/groovy.js
diff --git a/static/javascript/src-noconflict/snippets/haml.js b/static/assets/js/src-noconflict/snippets/haml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/haml.js
rename to static/assets/js/src-noconflict/snippets/haml.js
diff --git a/static/javascript/src-noconflict/snippets/handlebars.js b/static/assets/js/src-noconflict/snippets/handlebars.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/handlebars.js
rename to static/assets/js/src-noconflict/snippets/handlebars.js
diff --git a/static/javascript/src-noconflict/snippets/haskell.js b/static/assets/js/src-noconflict/snippets/haskell.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/haskell.js
rename to static/assets/js/src-noconflict/snippets/haskell.js
diff --git a/static/javascript/src-noconflict/snippets/haxe.js b/static/assets/js/src-noconflict/snippets/haxe.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/haxe.js
rename to static/assets/js/src-noconflict/snippets/haxe.js
diff --git a/static/javascript/src-noconflict/snippets/html.js b/static/assets/js/src-noconflict/snippets/html.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/html.js
rename to static/assets/js/src-noconflict/snippets/html.js
diff --git a/static/javascript/src-noconflict/snippets/html_elixir.js b/static/assets/js/src-noconflict/snippets/html_elixir.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/html_elixir.js
rename to static/assets/js/src-noconflict/snippets/html_elixir.js
diff --git a/static/javascript/src-noconflict/snippets/html_ruby.js b/static/assets/js/src-noconflict/snippets/html_ruby.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/html_ruby.js
rename to static/assets/js/src-noconflict/snippets/html_ruby.js
diff --git a/static/javascript/src-noconflict/snippets/ini.js b/static/assets/js/src-noconflict/snippets/ini.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/ini.js
rename to static/assets/js/src-noconflict/snippets/ini.js
diff --git a/static/javascript/src-noconflict/snippets/io.js b/static/assets/js/src-noconflict/snippets/io.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/io.js
rename to static/assets/js/src-noconflict/snippets/io.js
diff --git a/static/javascript/src-noconflict/snippets/jack.js b/static/assets/js/src-noconflict/snippets/jack.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/jack.js
rename to static/assets/js/src-noconflict/snippets/jack.js
diff --git a/static/javascript/src-noconflict/snippets/jade.js b/static/assets/js/src-noconflict/snippets/jade.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/jade.js
rename to static/assets/js/src-noconflict/snippets/jade.js
diff --git a/static/javascript/src-noconflict/snippets/java.js b/static/assets/js/src-noconflict/snippets/java.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/java.js
rename to static/assets/js/src-noconflict/snippets/java.js
diff --git a/static/javascript/src-noconflict/snippets/javascript.js b/static/assets/js/src-noconflict/snippets/javascript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/javascript.js
rename to static/assets/js/src-noconflict/snippets/javascript.js
diff --git a/static/javascript/src-noconflict/snippets/json.js b/static/assets/js/src-noconflict/snippets/json.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/json.js
rename to static/assets/js/src-noconflict/snippets/json.js
diff --git a/static/javascript/src-noconflict/snippets/jsoniq.js b/static/assets/js/src-noconflict/snippets/jsoniq.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/jsoniq.js
rename to static/assets/js/src-noconflict/snippets/jsoniq.js
diff --git a/static/javascript/src-noconflict/snippets/jsp.js b/static/assets/js/src-noconflict/snippets/jsp.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/jsp.js
rename to static/assets/js/src-noconflict/snippets/jsp.js
diff --git a/static/javascript/src-noconflict/snippets/jsx.js b/static/assets/js/src-noconflict/snippets/jsx.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/jsx.js
rename to static/assets/js/src-noconflict/snippets/jsx.js
diff --git a/static/javascript/src-noconflict/snippets/julia.js b/static/assets/js/src-noconflict/snippets/julia.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/julia.js
rename to static/assets/js/src-noconflict/snippets/julia.js
diff --git a/static/javascript/src-noconflict/snippets/latex.js b/static/assets/js/src-noconflict/snippets/latex.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/latex.js
rename to static/assets/js/src-noconflict/snippets/latex.js
diff --git a/static/javascript/src-noconflict/snippets/lean.js b/static/assets/js/src-noconflict/snippets/lean.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/lean.js
rename to static/assets/js/src-noconflict/snippets/lean.js
diff --git a/static/javascript/src-noconflict/snippets/less.js b/static/assets/js/src-noconflict/snippets/less.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/less.js
rename to static/assets/js/src-noconflict/snippets/less.js
diff --git a/static/javascript/src-noconflict/snippets/liquid.js b/static/assets/js/src-noconflict/snippets/liquid.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/liquid.js
rename to static/assets/js/src-noconflict/snippets/liquid.js
diff --git a/static/javascript/src-noconflict/snippets/lisp.js b/static/assets/js/src-noconflict/snippets/lisp.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/lisp.js
rename to static/assets/js/src-noconflict/snippets/lisp.js
diff --git a/static/javascript/src-noconflict/snippets/live_script.js b/static/assets/js/src-noconflict/snippets/live_script.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/live_script.js
rename to static/assets/js/src-noconflict/snippets/live_script.js
diff --git a/static/javascript/src-noconflict/snippets/livescript.js b/static/assets/js/src-noconflict/snippets/livescript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/livescript.js
rename to static/assets/js/src-noconflict/snippets/livescript.js
diff --git a/static/javascript/src-noconflict/snippets/logiql.js b/static/assets/js/src-noconflict/snippets/logiql.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/logiql.js
rename to static/assets/js/src-noconflict/snippets/logiql.js
diff --git a/static/javascript/src-noconflict/snippets/lsl.js b/static/assets/js/src-noconflict/snippets/lsl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/lsl.js
rename to static/assets/js/src-noconflict/snippets/lsl.js
diff --git a/static/javascript/src-noconflict/snippets/lua.js b/static/assets/js/src-noconflict/snippets/lua.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/lua.js
rename to static/assets/js/src-noconflict/snippets/lua.js
diff --git a/static/javascript/src-noconflict/snippets/luapage.js b/static/assets/js/src-noconflict/snippets/luapage.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/luapage.js
rename to static/assets/js/src-noconflict/snippets/luapage.js
diff --git a/static/javascript/src-noconflict/snippets/lucene.js b/static/assets/js/src-noconflict/snippets/lucene.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/lucene.js
rename to static/assets/js/src-noconflict/snippets/lucene.js
diff --git a/static/javascript/src-noconflict/snippets/makefile.js b/static/assets/js/src-noconflict/snippets/makefile.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/makefile.js
rename to static/assets/js/src-noconflict/snippets/makefile.js
diff --git a/static/javascript/src-noconflict/snippets/markdown.js b/static/assets/js/src-noconflict/snippets/markdown.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/markdown.js
rename to static/assets/js/src-noconflict/snippets/markdown.js
diff --git a/static/javascript/src-noconflict/snippets/mask.js b/static/assets/js/src-noconflict/snippets/mask.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/mask.js
rename to static/assets/js/src-noconflict/snippets/mask.js
diff --git a/static/javascript/src-noconflict/snippets/matlab.js b/static/assets/js/src-noconflict/snippets/matlab.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/matlab.js
rename to static/assets/js/src-noconflict/snippets/matlab.js
diff --git a/static/javascript/src-noconflict/snippets/maze.js b/static/assets/js/src-noconflict/snippets/maze.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/maze.js
rename to static/assets/js/src-noconflict/snippets/maze.js
diff --git a/static/javascript/src-noconflict/snippets/mel.js b/static/assets/js/src-noconflict/snippets/mel.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/mel.js
rename to static/assets/js/src-noconflict/snippets/mel.js
diff --git a/static/javascript/src-noconflict/snippets/mips_assembler.js b/static/assets/js/src-noconflict/snippets/mips_assembler.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/mips_assembler.js
rename to static/assets/js/src-noconflict/snippets/mips_assembler.js
diff --git a/static/javascript/src-noconflict/snippets/mipsassembler.js b/static/assets/js/src-noconflict/snippets/mipsassembler.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/mipsassembler.js
rename to static/assets/js/src-noconflict/snippets/mipsassembler.js
diff --git a/static/javascript/src-noconflict/snippets/mushcode.js b/static/assets/js/src-noconflict/snippets/mushcode.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/mushcode.js
rename to static/assets/js/src-noconflict/snippets/mushcode.js
diff --git a/static/javascript/src-noconflict/snippets/mysql.js b/static/assets/js/src-noconflict/snippets/mysql.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/mysql.js
rename to static/assets/js/src-noconflict/snippets/mysql.js
diff --git a/static/javascript/src-noconflict/snippets/nix.js b/static/assets/js/src-noconflict/snippets/nix.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/nix.js
rename to static/assets/js/src-noconflict/snippets/nix.js
diff --git a/static/javascript/src-noconflict/snippets/nsis.js b/static/assets/js/src-noconflict/snippets/nsis.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/nsis.js
rename to static/assets/js/src-noconflict/snippets/nsis.js
diff --git a/static/javascript/src-noconflict/snippets/objectivec.js b/static/assets/js/src-noconflict/snippets/objectivec.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/objectivec.js
rename to static/assets/js/src-noconflict/snippets/objectivec.js
diff --git a/static/javascript/src-noconflict/snippets/ocaml.js b/static/assets/js/src-noconflict/snippets/ocaml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/ocaml.js
rename to static/assets/js/src-noconflict/snippets/ocaml.js
diff --git a/static/javascript/src-noconflict/snippets/pascal.js b/static/assets/js/src-noconflict/snippets/pascal.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/pascal.js
rename to static/assets/js/src-noconflict/snippets/pascal.js
diff --git a/static/javascript/src-noconflict/snippets/perl.js b/static/assets/js/src-noconflict/snippets/perl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/perl.js
rename to static/assets/js/src-noconflict/snippets/perl.js
diff --git a/static/javascript/src-noconflict/snippets/pgsql.js b/static/assets/js/src-noconflict/snippets/pgsql.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/pgsql.js
rename to static/assets/js/src-noconflict/snippets/pgsql.js
diff --git a/static/javascript/src-noconflict/snippets/php.js b/static/assets/js/src-noconflict/snippets/php.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/php.js
rename to static/assets/js/src-noconflict/snippets/php.js
diff --git a/static/javascript/src-noconflict/snippets/plain_text.js b/static/assets/js/src-noconflict/snippets/plain_text.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/plain_text.js
rename to static/assets/js/src-noconflict/snippets/plain_text.js
diff --git a/static/javascript/src-noconflict/snippets/powershell.js b/static/assets/js/src-noconflict/snippets/powershell.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/powershell.js
rename to static/assets/js/src-noconflict/snippets/powershell.js
diff --git a/static/javascript/src-noconflict/snippets/praat.js b/static/assets/js/src-noconflict/snippets/praat.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/praat.js
rename to static/assets/js/src-noconflict/snippets/praat.js
diff --git a/static/javascript/src-noconflict/snippets/prolog.js b/static/assets/js/src-noconflict/snippets/prolog.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/prolog.js
rename to static/assets/js/src-noconflict/snippets/prolog.js
diff --git a/static/javascript/src-noconflict/snippets/properties.js b/static/assets/js/src-noconflict/snippets/properties.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/properties.js
rename to static/assets/js/src-noconflict/snippets/properties.js
diff --git a/static/javascript/src-noconflict/snippets/protobuf.js b/static/assets/js/src-noconflict/snippets/protobuf.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/protobuf.js
rename to static/assets/js/src-noconflict/snippets/protobuf.js
diff --git a/static/javascript/src-noconflict/snippets/python.js b/static/assets/js/src-noconflict/snippets/python.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/python.js
rename to static/assets/js/src-noconflict/snippets/python.js
diff --git a/static/javascript/src-noconflict/snippets/r.js b/static/assets/js/src-noconflict/snippets/r.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/r.js
rename to static/assets/js/src-noconflict/snippets/r.js
diff --git a/static/javascript/src-noconflict/snippets/razor.js b/static/assets/js/src-noconflict/snippets/razor.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/razor.js
rename to static/assets/js/src-noconflict/snippets/razor.js
diff --git a/static/javascript/src-noconflict/snippets/rdoc.js b/static/assets/js/src-noconflict/snippets/rdoc.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/rdoc.js
rename to static/assets/js/src-noconflict/snippets/rdoc.js
diff --git a/static/javascript/src-noconflict/snippets/rhtml.js b/static/assets/js/src-noconflict/snippets/rhtml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/rhtml.js
rename to static/assets/js/src-noconflict/snippets/rhtml.js
diff --git a/static/javascript/src-noconflict/snippets/rst.js b/static/assets/js/src-noconflict/snippets/rst.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/rst.js
rename to static/assets/js/src-noconflict/snippets/rst.js
diff --git a/static/javascript/src-noconflict/snippets/ruby.js b/static/assets/js/src-noconflict/snippets/ruby.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/ruby.js
rename to static/assets/js/src-noconflict/snippets/ruby.js
diff --git a/static/javascript/src-noconflict/snippets/rust.js b/static/assets/js/src-noconflict/snippets/rust.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/rust.js
rename to static/assets/js/src-noconflict/snippets/rust.js
diff --git a/static/javascript/src-noconflict/snippets/sass.js b/static/assets/js/src-noconflict/snippets/sass.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/sass.js
rename to static/assets/js/src-noconflict/snippets/sass.js
diff --git a/static/javascript/src-noconflict/snippets/scad.js b/static/assets/js/src-noconflict/snippets/scad.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/scad.js
rename to static/assets/js/src-noconflict/snippets/scad.js
diff --git a/static/javascript/src-noconflict/snippets/scala.js b/static/assets/js/src-noconflict/snippets/scala.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/scala.js
rename to static/assets/js/src-noconflict/snippets/scala.js
diff --git a/static/javascript/src-noconflict/snippets/scheme.js b/static/assets/js/src-noconflict/snippets/scheme.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/scheme.js
rename to static/assets/js/src-noconflict/snippets/scheme.js
diff --git a/static/javascript/src-noconflict/snippets/scss.js b/static/assets/js/src-noconflict/snippets/scss.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/scss.js
rename to static/assets/js/src-noconflict/snippets/scss.js
diff --git a/static/javascript/src-noconflict/snippets/sh.js b/static/assets/js/src-noconflict/snippets/sh.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/sh.js
rename to static/assets/js/src-noconflict/snippets/sh.js
diff --git a/static/javascript/src-noconflict/snippets/sjs.js b/static/assets/js/src-noconflict/snippets/sjs.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/sjs.js
rename to static/assets/js/src-noconflict/snippets/sjs.js
diff --git a/static/javascript/src-noconflict/snippets/smarty.js b/static/assets/js/src-noconflict/snippets/smarty.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/smarty.js
rename to static/assets/js/src-noconflict/snippets/smarty.js
diff --git a/static/javascript/src-noconflict/snippets/snippets.js b/static/assets/js/src-noconflict/snippets/snippets.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/snippets.js
rename to static/assets/js/src-noconflict/snippets/snippets.js
diff --git a/static/javascript/src-noconflict/snippets/soy_template.js b/static/assets/js/src-noconflict/snippets/soy_template.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/soy_template.js
rename to static/assets/js/src-noconflict/snippets/soy_template.js
diff --git a/static/javascript/src-noconflict/snippets/space.js b/static/assets/js/src-noconflict/snippets/space.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/space.js
rename to static/assets/js/src-noconflict/snippets/space.js
diff --git a/static/javascript/src-noconflict/snippets/sql.js b/static/assets/js/src-noconflict/snippets/sql.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/sql.js
rename to static/assets/js/src-noconflict/snippets/sql.js
diff --git a/static/javascript/src-noconflict/snippets/sqlserver.js b/static/assets/js/src-noconflict/snippets/sqlserver.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/sqlserver.js
rename to static/assets/js/src-noconflict/snippets/sqlserver.js
diff --git a/static/javascript/src-noconflict/snippets/stylus.js b/static/assets/js/src-noconflict/snippets/stylus.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/stylus.js
rename to static/assets/js/src-noconflict/snippets/stylus.js
diff --git a/static/javascript/src-noconflict/snippets/svg.js b/static/assets/js/src-noconflict/snippets/svg.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/svg.js
rename to static/assets/js/src-noconflict/snippets/svg.js
diff --git a/static/javascript/src-noconflict/snippets/swift.js b/static/assets/js/src-noconflict/snippets/swift.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/swift.js
rename to static/assets/js/src-noconflict/snippets/swift.js
diff --git a/static/javascript/src-noconflict/snippets/swig.js b/static/assets/js/src-noconflict/snippets/swig.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/swig.js
rename to static/assets/js/src-noconflict/snippets/swig.js
diff --git a/static/javascript/src-noconflict/snippets/tcl.js b/static/assets/js/src-noconflict/snippets/tcl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/tcl.js
rename to static/assets/js/src-noconflict/snippets/tcl.js
diff --git a/static/javascript/src-noconflict/snippets/tex.js b/static/assets/js/src-noconflict/snippets/tex.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/tex.js
rename to static/assets/js/src-noconflict/snippets/tex.js
diff --git a/static/javascript/src-noconflict/snippets/text.js b/static/assets/js/src-noconflict/snippets/text.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/text.js
rename to static/assets/js/src-noconflict/snippets/text.js
diff --git a/static/javascript/src-noconflict/snippets/textile.js b/static/assets/js/src-noconflict/snippets/textile.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/textile.js
rename to static/assets/js/src-noconflict/snippets/textile.js
diff --git a/static/javascript/src-noconflict/snippets/toml.js b/static/assets/js/src-noconflict/snippets/toml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/toml.js
rename to static/assets/js/src-noconflict/snippets/toml.js
diff --git a/static/javascript/src-noconflict/snippets/twig.js b/static/assets/js/src-noconflict/snippets/twig.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/twig.js
rename to static/assets/js/src-noconflict/snippets/twig.js
diff --git a/static/javascript/src-noconflict/snippets/typescript.js b/static/assets/js/src-noconflict/snippets/typescript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/typescript.js
rename to static/assets/js/src-noconflict/snippets/typescript.js
diff --git a/static/javascript/src-noconflict/snippets/vala.js b/static/assets/js/src-noconflict/snippets/vala.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/vala.js
rename to static/assets/js/src-noconflict/snippets/vala.js
diff --git a/static/javascript/src-noconflict/snippets/vbscript.js b/static/assets/js/src-noconflict/snippets/vbscript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/vbscript.js
rename to static/assets/js/src-noconflict/snippets/vbscript.js
diff --git a/static/javascript/src-noconflict/snippets/velocity.js b/static/assets/js/src-noconflict/snippets/velocity.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/velocity.js
rename to static/assets/js/src-noconflict/snippets/velocity.js
diff --git a/static/javascript/src-noconflict/snippets/verilog.js b/static/assets/js/src-noconflict/snippets/verilog.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/verilog.js
rename to static/assets/js/src-noconflict/snippets/verilog.js
diff --git a/static/javascript/src-noconflict/snippets/vhdl.js b/static/assets/js/src-noconflict/snippets/vhdl.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/vhdl.js
rename to static/assets/js/src-noconflict/snippets/vhdl.js
diff --git a/static/javascript/src-noconflict/snippets/wollok.js b/static/assets/js/src-noconflict/snippets/wollok.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/wollok.js
rename to static/assets/js/src-noconflict/snippets/wollok.js
diff --git a/static/javascript/src-noconflict/snippets/xml.js b/static/assets/js/src-noconflict/snippets/xml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/xml.js
rename to static/assets/js/src-noconflict/snippets/xml.js
diff --git a/static/javascript/src-noconflict/snippets/xquery.js b/static/assets/js/src-noconflict/snippets/xquery.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/xquery.js
rename to static/assets/js/src-noconflict/snippets/xquery.js
diff --git a/static/javascript/src-noconflict/snippets/yaml.js b/static/assets/js/src-noconflict/snippets/yaml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/snippets/yaml.js
rename to static/assets/js/src-noconflict/snippets/yaml.js
diff --git a/static/javascript/src-noconflict/theme-ambiance.js b/static/assets/js/src-noconflict/theme-ambiance.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-ambiance.js
rename to static/assets/js/src-noconflict/theme-ambiance.js
diff --git a/static/javascript/src-noconflict/theme-chaos.js b/static/assets/js/src-noconflict/theme-chaos.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-chaos.js
rename to static/assets/js/src-noconflict/theme-chaos.js
diff --git a/static/javascript/src-noconflict/theme-chrome.js b/static/assets/js/src-noconflict/theme-chrome.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-chrome.js
rename to static/assets/js/src-noconflict/theme-chrome.js
diff --git a/static/javascript/src-noconflict/theme-clouds.js b/static/assets/js/src-noconflict/theme-clouds.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-clouds.js
rename to static/assets/js/src-noconflict/theme-clouds.js
diff --git a/static/javascript/src-noconflict/theme-clouds_midnight.js b/static/assets/js/src-noconflict/theme-clouds_midnight.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-clouds_midnight.js
rename to static/assets/js/src-noconflict/theme-clouds_midnight.js
diff --git a/static/javascript/src-noconflict/theme-cobalt.js b/static/assets/js/src-noconflict/theme-cobalt.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-cobalt.js
rename to static/assets/js/src-noconflict/theme-cobalt.js
diff --git a/static/javascript/src-noconflict/theme-crimson_editor.js b/static/assets/js/src-noconflict/theme-crimson_editor.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-crimson_editor.js
rename to static/assets/js/src-noconflict/theme-crimson_editor.js
diff --git a/static/javascript/src-noconflict/theme-dawn.js b/static/assets/js/src-noconflict/theme-dawn.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-dawn.js
rename to static/assets/js/src-noconflict/theme-dawn.js
diff --git a/static/javascript/src-noconflict/theme-dreamweaver.js b/static/assets/js/src-noconflict/theme-dreamweaver.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-dreamweaver.js
rename to static/assets/js/src-noconflict/theme-dreamweaver.js
diff --git a/static/javascript/src-noconflict/theme-eclipse.js b/static/assets/js/src-noconflict/theme-eclipse.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-eclipse.js
rename to static/assets/js/src-noconflict/theme-eclipse.js
diff --git a/static/javascript/src-noconflict/theme-github.js b/static/assets/js/src-noconflict/theme-github.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-github.js
rename to static/assets/js/src-noconflict/theme-github.js
diff --git a/static/javascript/src-noconflict/theme-idle_fingers.js b/static/assets/js/src-noconflict/theme-idle_fingers.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-idle_fingers.js
rename to static/assets/js/src-noconflict/theme-idle_fingers.js
diff --git a/static/javascript/src-noconflict/theme-iplastic.js b/static/assets/js/src-noconflict/theme-iplastic.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-iplastic.js
rename to static/assets/js/src-noconflict/theme-iplastic.js
diff --git a/static/javascript/src-noconflict/theme-katzenmilch.js b/static/assets/js/src-noconflict/theme-katzenmilch.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-katzenmilch.js
rename to static/assets/js/src-noconflict/theme-katzenmilch.js
diff --git a/static/javascript/src-noconflict/theme-kr_theme.js b/static/assets/js/src-noconflict/theme-kr_theme.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-kr_theme.js
rename to static/assets/js/src-noconflict/theme-kr_theme.js
diff --git a/static/javascript/src-noconflict/theme-kuroir.js b/static/assets/js/src-noconflict/theme-kuroir.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-kuroir.js
rename to static/assets/js/src-noconflict/theme-kuroir.js
diff --git a/static/javascript/src-noconflict/theme-merbivore.js b/static/assets/js/src-noconflict/theme-merbivore.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-merbivore.js
rename to static/assets/js/src-noconflict/theme-merbivore.js
diff --git a/static/javascript/src-noconflict/theme-merbivore_soft.js b/static/assets/js/src-noconflict/theme-merbivore_soft.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-merbivore_soft.js
rename to static/assets/js/src-noconflict/theme-merbivore_soft.js
diff --git a/static/javascript/src-noconflict/theme-mono_industrial.js b/static/assets/js/src-noconflict/theme-mono_industrial.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-mono_industrial.js
rename to static/assets/js/src-noconflict/theme-mono_industrial.js
diff --git a/static/javascript/src-noconflict/theme-monokai.js b/static/assets/js/src-noconflict/theme-monokai.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-monokai.js
rename to static/assets/js/src-noconflict/theme-monokai.js
diff --git a/static/javascript/src-noconflict/theme-pastel_on_dark.js b/static/assets/js/src-noconflict/theme-pastel_on_dark.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-pastel_on_dark.js
rename to static/assets/js/src-noconflict/theme-pastel_on_dark.js
diff --git a/static/javascript/src-noconflict/theme-solarized_dark.js b/static/assets/js/src-noconflict/theme-solarized_dark.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-solarized_dark.js
rename to static/assets/js/src-noconflict/theme-solarized_dark.js
diff --git a/static/javascript/src-noconflict/theme-solarized_light.js b/static/assets/js/src-noconflict/theme-solarized_light.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-solarized_light.js
rename to static/assets/js/src-noconflict/theme-solarized_light.js
diff --git a/static/javascript/src-noconflict/theme-sqlserver.js b/static/assets/js/src-noconflict/theme-sqlserver.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-sqlserver.js
rename to static/assets/js/src-noconflict/theme-sqlserver.js
diff --git a/static/javascript/src-noconflict/theme-terminal.js b/static/assets/js/src-noconflict/theme-terminal.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-terminal.js
rename to static/assets/js/src-noconflict/theme-terminal.js
diff --git a/static/javascript/src-noconflict/theme-textmate.js b/static/assets/js/src-noconflict/theme-textmate.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-textmate.js
rename to static/assets/js/src-noconflict/theme-textmate.js
diff --git a/static/javascript/src-noconflict/theme-tomorrow.js b/static/assets/js/src-noconflict/theme-tomorrow.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-tomorrow.js
rename to static/assets/js/src-noconflict/theme-tomorrow.js
diff --git a/static/javascript/src-noconflict/theme-tomorrow_night.js b/static/assets/js/src-noconflict/theme-tomorrow_night.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-tomorrow_night.js
rename to static/assets/js/src-noconflict/theme-tomorrow_night.js
diff --git a/static/javascript/src-noconflict/theme-tomorrow_night_blue.js b/static/assets/js/src-noconflict/theme-tomorrow_night_blue.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-tomorrow_night_blue.js
rename to static/assets/js/src-noconflict/theme-tomorrow_night_blue.js
diff --git a/static/javascript/src-noconflict/theme-tomorrow_night_bright.js b/static/assets/js/src-noconflict/theme-tomorrow_night_bright.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-tomorrow_night_bright.js
rename to static/assets/js/src-noconflict/theme-tomorrow_night_bright.js
diff --git a/static/javascript/src-noconflict/theme-tomorrow_night_eighties.js b/static/assets/js/src-noconflict/theme-tomorrow_night_eighties.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-tomorrow_night_eighties.js
rename to static/assets/js/src-noconflict/theme-tomorrow_night_eighties.js
diff --git a/static/javascript/src-noconflict/theme-twilight.js b/static/assets/js/src-noconflict/theme-twilight.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-twilight.js
rename to static/assets/js/src-noconflict/theme-twilight.js
diff --git a/static/javascript/src-noconflict/theme-vibrant_ink.js b/static/assets/js/src-noconflict/theme-vibrant_ink.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-vibrant_ink.js
rename to static/assets/js/src-noconflict/theme-vibrant_ink.js
diff --git a/static/javascript/src-noconflict/theme-xcode.js b/static/assets/js/src-noconflict/theme-xcode.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/theme-xcode.js
rename to static/assets/js/src-noconflict/theme-xcode.js
diff --git a/static/javascript/src-noconflict/worker-coffee.js b/static/assets/js/src-noconflict/worker-coffee.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/worker-coffee.js
rename to static/assets/js/src-noconflict/worker-coffee.js
diff --git a/static/javascript/src-noconflict/worker-css.js b/static/assets/js/src-noconflict/worker-css.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/worker-css.js
rename to static/assets/js/src-noconflict/worker-css.js
diff --git a/static/javascript/src-noconflict/worker-html.js b/static/assets/js/src-noconflict/worker-html.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/worker-html.js
rename to static/assets/js/src-noconflict/worker-html.js
diff --git a/static/javascript/src-noconflict/worker-javascript.js b/static/assets/js/src-noconflict/worker-javascript.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/worker-javascript.js
rename to static/assets/js/src-noconflict/worker-javascript.js
diff --git a/static/javascript/src-noconflict/worker-json.js b/static/assets/js/src-noconflict/worker-json.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/worker-json.js
rename to static/assets/js/src-noconflict/worker-json.js
diff --git a/static/javascript/src-noconflict/worker-lua.js b/static/assets/js/src-noconflict/worker-lua.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/worker-lua.js
rename to static/assets/js/src-noconflict/worker-lua.js
diff --git a/static/javascript/src-noconflict/worker-php.js b/static/assets/js/src-noconflict/worker-php.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/worker-php.js
rename to static/assets/js/src-noconflict/worker-php.js
diff --git a/static/javascript/src-noconflict/worker-xml.js b/static/assets/js/src-noconflict/worker-xml.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/worker-xml.js
rename to static/assets/js/src-noconflict/worker-xml.js
diff --git a/static/javascript/src-noconflict/worker-xquery.js b/static/assets/js/src-noconflict/worker-xquery.js
old mode 100755
new mode 100644
similarity index 100%
rename from static/javascript/src-noconflict/worker-xquery.js
rename to static/assets/js/src-noconflict/worker-xquery.js
diff --git a/static/javascript/app.js b/static/javascript/app.js
deleted file mode 100644
index 744e18c..0000000
--- a/static/javascript/app.js
+++ /dev/null
@@ -1,3 +0,0 @@
-particlesJS.load('particles-js', 'static/javascript/particlesjs.json', function() {
- console.log('callback - particles.js config loaded');
-});
diff --git a/static/javascript/chameleon_game.js b/static/javascript/chameleon_game.js
deleted file mode 100644
index 0fe45ca..0000000
--- a/static/javascript/chameleon_game.js
+++ /dev/null
@@ -1,15 +0,0 @@
-var score = 0;
-
-function change_color(div_id) {
- document.getElementById("confirm-submit").innerHTML = "Never mind...";
- document.getElementById(div_id).style.backgroundColor = random_color();
- score++;
-}
-
-function random_color() {
- var c = '';
- while (c.length < 6) {
- c += (Math.random()).toString(16).substr(-6).substr(-1);
- }
- return '#'+c;
-}
diff --git a/templates/JoinTechTemplates/.DS_Store b/templates/JoinTechTemplates/.DS_Store
new file mode 100644
index 0000000..61f2062
Binary files /dev/null and b/templates/JoinTechTemplates/.DS_Store differ
diff --git a/templates/JoinTechTemplates/Hacktech2017_submitapplication.html b/templates/JoinTechTemplates/Hacktech2017_submitapplication.html
new file mode 100644
index 0000000..8cccff7
--- /dev/null
+++ b/templates/JoinTechTemplates/Hacktech2017_submitapplication.html
@@ -0,0 +1,421 @@
+
+
+
+
+
+
+
+
+ *|MC:SUBJECT|*
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
March 3-5, 2017, Pasadena, CA
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Thanks for applying to Hacktech 2017!
+Next Steps: You'll be hearing back from us in early February, 2017. Be sure to save the date March 3-5, 2017 and prepare yourself for some fantastic hacking, fun, and sun. If you have any questions, be sure to email team@hacktech.io. See you soon!
And what is Hacktech? A place where the only thing limiting what you build is your own creativity.
+ Stay up for 36 thrilling hours with the smartest people you'll ever meet, build the coolest things you have ever created,
+ and chug more caffeine than you ever thought possible.
+
+
+
+
+
FAQ
+
+
+
Tell me more!
+
Hacktech is Caltech's premier interdisciplinary hackathon: for 36 hours, 500 awesome student hackers will
+ combine computer science with engineering and science to build the most innovative and interdisciplinary creations of the future.
+
+
+
Who can come?
+
Any undergraduate or graduate students from anywhere in the world. We also admit high school students on a case-by-case basis.
+ We also welcome beginners - Hacktech is meant to be a learning experience! We want you to come here to have fun and leave having learned something.
+
+
+
How do teams work?
+
You can sign up as a team of up to four members. If you don't have a team before the event, don't fret!
+ We will help you find fellow hackers to work with once you arrive.
+
+
+
What should I bring?
+
A student ID, a laptop, and a charger are the only necessities. We recommend you bring clothes, toiletries, and a sleeping bag as well!
+
+
+
What can I create?
+
Absolutely anything you want - websites, apps, hardware, you name it. We encourage you to go above and beyond
+ the typical software project and make something that combines software with finance / medicine / electronics / science!
+
+
+
How much will it cost?
+
It's absolutely free! We'll be providing you with meals, a place to hack, and swag. We will also be offering travel reimbursements on a case-by-case basis!
+
+
+
+
+
How will I get there?
+
We will be sending buses free of charge to certain universities in SoCal and NorCal. We may also be giving out travel reimbursements for flights
+ to out-of-state hackers!
+
+
+
Anything else I should know?
+
There are a few things we don't encourage; you should refer to the MLH Code of Conduct here for some guidelines to follow. Also, be smart - don't use/bring
+ anything that you obviously shouldn't, including: alcohol, open flames, firearms, katanas, candy canes, maces, bassoons, etc.
+
+
+
Sounds great, how do I apply?
+
Just click the Apply Now button!
+
+
+
What if I'm a Caltech student?
+
The application process is no different for Caltech students.
+
+
+
Help!
+
Shoot us an email at team@hacktech.io and we'll get back to you before you can say "Hacktech is awesome!"
+ I, , am 18 years old or older and I voluntarily seek to participate in Hacktech, a hackathon (“the Program”) run by the California Institute of Technology (“Caltech”) from 7:00pm Pacific Standard Time on March 3, 2017 to 5:00pm PST on March 5, 2017.The activities of the Program include designing, developing, and presenting an innovative technical project over a thirty-six hour period.
+
+
+
+ Assumption of Risk, Waiver of Liability, and Indemnity Agreement
+
+
+
+ I understand that my participation in the Program is completely voluntary. I further understand that there are inherent risks of injury, serious bodily harm, and death associated with the Program that cannot be eliminated regardless of the care take to avoid injuries. The risks of the Program include but are not limited to, travel by bus and/or car, personal physical injury, malfunction of various electrical equipment, and damage to property. I expressly agree to accept and assume all such risks, including personal injury and death, arising in any way from my participation in the Program. I represent that I have no physical or mental condition that prevents me from participating in the Program in a manner that is safe for me and others.
+
+
+
+ READ CAREFULLY – YOU ARE WAIVING LEGAL RIGHTS
+
+
+
+ In consideration of the benefits I will receive from participating in the Program, I agree, for myself, my heirs, personal representatives and assigns, to release and discharge and promise not to sue Caltech and any subsidiary, affiliate or government sponsor of Caltech (collectively referred to as “Caltech”), as well as any person acting in his/her capacity as employee, officer, trustee, or agent of Caltech (collectively referred to as “Released Parties”), from and with respect to any and all claims that may arise from, are related to, or are in any way connected with the Program, resulting in injury, illness, death, damage or property loss, whether the claims result from the negligence of Caltech and/or any other Released Parties, or from any other cause, provided, however, that this does not extend to gross negligence, willful misconduct or a violation of law by Caltech or any other Released Parties. I knowingly and voluntarily waive any and all rights and benefits conferred upon me by the provisions of Section 1542 of the California Civil Code or by any similar law or provision, which Section reads as follows: “A GENERAL RELEASE DOES NOT EXTEND TO CLAIMS WHICH THE CREDITOR DOES NOT KNOW OR SUSPECT TO EXIST IN HIS OR HER FAVOR AT THE TIME OF EXECUTING THE RELEASE, WHICH IF KNOWN BY HIM OR HER MUST HAVE MATERIALLY AFFECTED HIS OR HER SETTLEMENT WITH THE DEBTOR.”
+
+
+
+ I agree to indemnify Caltech and the Released Parties for any and all claims and liabilities against them arising out of or relating to my participation in the Program. I understand and agree that if a claim, suit, or attachment is brought or sought against me as a result in any way of my participation in the Program, I shall not be entitled to any defense or indemnification by Caltech or the Released Parties in connection with such claim, suit, or attachment.
+
+
+
+ Permission for Use of Image and Statements
+
+
+
+ I agree that Caltech has the right to make, use, and create derivative works, and/or display photos, video and/or audio tape recordings of me. I understand that I may be photographed and/or video or audio taped verbatim and that Caltech may allow persons external to Caltech to view the pictures or recordings in part or in their entirety. I am fully aware and agree that such use of my image may include posting on publicly available internet sites and other publicly viewable social media sites. I waive any right that I may have to review or approve of any finished products, or the uses to which such products may be applied. I release and discharge Caltech and the Released Parties from any liability to me by virtue of any representation that may occur in the creation or use of said photos and/or video or audio tape recordings.
+
+
+
+ I HAVE CAREFULLY READ THE ABOVE PARAGRAPHS AND FULLY UNDERSTAND THEIR CONTENTS. I AM AWARE THAT THIS INCLUDES (1) AN ASSUMPTION OF RISK A WAIVER OF LIABILITY AND AN INDEMNITY AGREEMENT, AND (2) A PHOTO, VIDEO AND AUDIO RELEASE, AND I SIGN THIS OF MY OWN FREE WILL.
+
+
+
+ I UNDERSTAND THAT I AM GIVING UP SUBSTANTIAL RIGHTS, INCLUDING MY RIGHT TO SUE. I DECLARE UNDER PENALTY OF PERJURY UNDER THE LAWS OF THE STATE OF CALIFORNIA THAT THE FOREGOING IS TRUE AND CORRECT.
+