From 9148fa6e2fad9d54e3451a4478e03f55f0a9fa3c Mon Sep 17 00:00:00 2001 From: RossTheRoss Date: Sun, 16 May 2021 21:38:59 -0500 Subject: Rearrange files --- csci4131/hw1/strap012.zip | Bin 1842 -> 0 bytes csci4131/hw1/strap012/myContacts.html | 73 -- csci4131/hw1/strap012/myWidgets.html | 33 - csci4131/hw2/strap012/MyForm.html | 50 -- csci4131/hw2/strap012/carlson.jpg | Bin 39588 -> 0 bytes csci4131/hw2/strap012/gophers-mascot.png | Bin 82836 -> 0 bytes csci4131/hw2/strap012/johnston.jpg | Bin 47355 -> 0 bytes csci4131/hw2/strap012/morrill.jpg | Bin 48670 -> 0 bytes csci4131/hw2/strap012/myContacts.html | 86 -- csci4131/hw2/strap012/myWidgets.html | 148 ---- csci4131/hw2/strap012/passwordcheck.css | 60 -- csci4131/hw2/strap012/passwordcheck.js | 42 - csci4131/hw2/strap012/shepherd.jpg | Bin 675244 -> 0 bytes csci4131/hw2/strap012/snyder.jpg | Bin 45356 -> 0 bytes csci4131/hw2/strap012/style.css | 61 -- csci4131/hw2/strap012/walter.jpg | Bin 150800 -> 0 bytes csci4131/hw3/strap012/MyForm.html | 55 -- csci4131/hw3/strap012/Untitled.png | Bin 91 -> 0 bytes csci4131/hw3/strap012/carlson.jpg | Bin 39588 -> 0 bytes csci4131/hw3/strap012/contacts.js | 221 ----- csci4131/hw3/strap012/gophers-mascot.png | Bin 82836 -> 0 bytes csci4131/hw3/strap012/johnston.jpg | Bin 47355 -> 0 bytes csci4131/hw3/strap012/morrill.jpg | Bin 48670 -> 0 bytes csci4131/hw3/strap012/myContacts.html | 113 --- csci4131/hw3/strap012/myWidgets.html | 148 ---- csci4131/hw3/strap012/passwordcheck.css | 60 -- csci4131/hw3/strap012/passwordcheck.js | 42 - csci4131/hw3/strap012/shepherd.jpg | Bin 675244 -> 0 bytes csci4131/hw3/strap012/snyder.jpg | Bin 45356 -> 0 bytes csci4131/hw3/strap012/style.css | 118 --- csci4131/hw3/strap012/walter.jpg | Bin 150800 -> 0 bytes csci4131/hw4/strap012/403.html | 11 - csci4131/hw4/strap012/404.html | 11 - csci4131/hw4/strap012/Coffman.html | 14 - csci4131/hw4/strap012/Coffman_N_OuttaSpace.html | 27 - csci4131/hw4/strap012/MyContacts.html | 114 --- csci4131/hw4/strap012/MyForm.html | 56 -- csci4131/hw4/strap012/MyServer.html | 42 - csci4131/hw4/strap012/MyWidgets.html | 149 ---- csci4131/hw4/strap012/OuttaSpace.html | 18 - csci4131/hw4/strap012/OuttaSpace.mp3 | Bin 735638 -> 0 bytes csci4131/hw4/strap012/Untitled.png | Bin 91 -> 0 bytes csci4131/hw4/strap012/carlson.jpg | Bin 39588 -> 0 bytes csci4131/hw4/strap012/coffman.jpg | Bin 7610 -> 0 bytes csci4131/hw4/strap012/coffman.png | Bin 161853 -> 0 bytes csci4131/hw4/strap012/contacts.js | 221 ----- csci4131/hw4/strap012/gophers-mascot.png | Bin 82836 -> 0 bytes csci4131/hw4/strap012/johnston.jpg | Bin 47355 -> 0 bytes csci4131/hw4/strap012/morrill.jpg | Bin 48670 -> 0 bytes csci4131/hw4/strap012/passwordcheck.css | 60 -- csci4131/hw4/strap012/passwordcheck.js | 42 - csci4131/hw4/strap012/private.html | 10 - csci4131/hw4/strap012/shepherd.jpg | Bin 675244 -> 0 bytes csci4131/hw4/strap012/snyder.jpg | Bin 45356 -> 0 bytes csci4131/hw4/strap012/strap012.py | 147 --- csci4131/hw4/strap012/style.css | 118 --- csci4131/hw4/strap012/walter.jpg | Bin 150800 -> 0 bytes csci4131/hw5/strap012_hw5/client/addContact.html | 113 --- csci4131/hw5/strap012_hw5/client/contacts.html | 73 -- csci4131/hw5/strap012_hw5/client/index.html | 27 - csci4131/hw5/strap012_hw5/client/stock.html | 123 --- csci4131/hw5/strap012_hw5/contacts.json | 22 - csci4131/hw5/strap012_hw5/createServer.js | 90 -- csci4131/hw5/strap012_hw5/package.json | 11 - csci4131/hw6/strap012_hw6/README.txt | 2 - csci4131/hw6/strap012_hw6/api/utilities.js | 48 - csci4131/hw6/strap012_hw6/create_accounts_table.js | 41 - csci4131/hw6/strap012_hw6/create_contacts_table.js | 44 - csci4131/hw6/strap012_hw6/dbio.js | 74 -- csci4131/hw6/strap012_hw6/index.js | 109 --- .../hw6/strap012_hw6/insert_into_accounts_table.js | 45 - csci4131/hw6/strap012_hw6/login.html | 48 - csci4131/hw6/strap012_hw6/package.json | 18 - csci4131/hw6/strap012_hw6/public/addContact.html | 106 --- csci4131/hw6/strap012_hw6/public/contacts.html | 78 -- csci4131/hw6/strap012_hw6/public/stock.html | 124 --- csci4131/hw6/strap012_hw6/public/welcome.html | 53 -- csci4131/hw7/api/utilities.js | 64 -- csci4131/hw7/create_accounts_table.js | 41 - csci4131/hw7/create_contacts_table.js | 44 - csci4131/hw7/dbconfig.xml | 8 - csci4131/hw7/dbio.js | 136 --- csci4131/hw7/index.js | 109 --- csci4131/hw7/insert_into_accounts_table.js | 45 - csci4131/hw7/login.html | 48 - csci4131/hw7/package-lock.json | 982 --------------------- csci4131/hw7/package.json | 21 - csci4131/hw7/public/contacts_old.html | 82 -- csci4131/hw7/public/stock.html | 123 --- csci4131/hw7/public/welcome.html | 53 -- csci4131/lec/08ShepherdLabs960.jpg | Bin 675244 -> 0 bytes csci4131/lec/Lec10Ex1.html | 18 - csci4131/lec/Lec23Ex1.xml | 5 - csci4131/lec/Lec2Ex1.html | 12 - csci4131/lec/Lec3Ex2.html | 32 - csci4131/lec/Lec4Ex1.html | 28 - csci4131/lec/Lec5Ex1.html | 23 - csci4131/lec/Lec6Ex1.html | 39 - csci4131/lec/Lec6Ex2.html | 37 - csci4131/lec/Lec7Ex1.html | 20 - csci4131/lec/Lex8Ex1.html | 15 - csci4131/lec/gophers-mascot.png | Bin 82836 -> 0 bytes csci4131/lec/lec7big3/CPE.png | Bin 4140 -> 0 bytes csci4131/lec/lec7big3/EPT.png | Bin 4319 -> 0 bytes csci4131/lec/lec7big3/GPP.png | Bin 3760 -> 0 bytes csci4131/lec/lec7big3/GUI.png | Bin 4055 -> 0 bytes csci4131/lec/lec7big3/PERF.png | Bin 3282 -> 0 bytes csci4131/lec/lec7big3/PORT.png | Bin 3768 -> 0 bytes csci4131/lec/lec7big3/RandomPicture.js | 21 - csci4131/lec/lec7big3/SEO.png | Bin 3862 -> 0 bytes csci4131/lec/lec7big3/big31.html | 17 - csci4131/lec/mystyle8.css | 41 - 112 files changed, 5663 deletions(-) delete mode 100644 csci4131/hw1/strap012.zip delete mode 100644 csci4131/hw1/strap012/myContacts.html delete mode 100644 csci4131/hw1/strap012/myWidgets.html delete mode 100644 csci4131/hw2/strap012/MyForm.html delete mode 100644 csci4131/hw2/strap012/carlson.jpg delete mode 100644 csci4131/hw2/strap012/gophers-mascot.png delete mode 100644 csci4131/hw2/strap012/johnston.jpg delete mode 100644 csci4131/hw2/strap012/morrill.jpg delete mode 100644 csci4131/hw2/strap012/myContacts.html delete mode 100644 csci4131/hw2/strap012/myWidgets.html delete mode 100644 csci4131/hw2/strap012/passwordcheck.css delete mode 100644 csci4131/hw2/strap012/passwordcheck.js delete mode 100644 csci4131/hw2/strap012/shepherd.jpg delete mode 100644 csci4131/hw2/strap012/snyder.jpg delete mode 100644 csci4131/hw2/strap012/style.css delete mode 100644 csci4131/hw2/strap012/walter.jpg delete mode 100644 csci4131/hw3/strap012/MyForm.html delete mode 100644 csci4131/hw3/strap012/Untitled.png delete mode 100644 csci4131/hw3/strap012/carlson.jpg delete mode 100644 csci4131/hw3/strap012/contacts.js delete mode 100644 csci4131/hw3/strap012/gophers-mascot.png delete mode 100644 csci4131/hw3/strap012/johnston.jpg delete mode 100644 csci4131/hw3/strap012/morrill.jpg delete mode 100644 csci4131/hw3/strap012/myContacts.html delete mode 100644 csci4131/hw3/strap012/myWidgets.html delete mode 100644 csci4131/hw3/strap012/passwordcheck.css delete mode 100644 csci4131/hw3/strap012/passwordcheck.js delete mode 100644 csci4131/hw3/strap012/shepherd.jpg delete mode 100644 csci4131/hw3/strap012/snyder.jpg delete mode 100644 csci4131/hw3/strap012/style.css delete mode 100644 csci4131/hw3/strap012/walter.jpg delete mode 100644 csci4131/hw4/strap012/403.html delete mode 100644 csci4131/hw4/strap012/404.html delete mode 100644 csci4131/hw4/strap012/Coffman.html delete mode 100644 csci4131/hw4/strap012/Coffman_N_OuttaSpace.html delete mode 100644 csci4131/hw4/strap012/MyContacts.html delete mode 100644 csci4131/hw4/strap012/MyForm.html delete mode 100644 csci4131/hw4/strap012/MyServer.html delete mode 100644 csci4131/hw4/strap012/MyWidgets.html delete mode 100644 csci4131/hw4/strap012/OuttaSpace.html delete mode 100644 csci4131/hw4/strap012/OuttaSpace.mp3 delete mode 100644 csci4131/hw4/strap012/Untitled.png delete mode 100644 csci4131/hw4/strap012/carlson.jpg delete mode 100644 csci4131/hw4/strap012/coffman.jpg delete mode 100644 csci4131/hw4/strap012/coffman.png delete mode 100644 csci4131/hw4/strap012/contacts.js delete mode 100644 csci4131/hw4/strap012/gophers-mascot.png delete mode 100644 csci4131/hw4/strap012/johnston.jpg delete mode 100644 csci4131/hw4/strap012/morrill.jpg delete mode 100644 csci4131/hw4/strap012/passwordcheck.css delete mode 100644 csci4131/hw4/strap012/passwordcheck.js delete mode 100644 csci4131/hw4/strap012/private.html delete mode 100644 csci4131/hw4/strap012/shepherd.jpg delete mode 100644 csci4131/hw4/strap012/snyder.jpg delete mode 100644 csci4131/hw4/strap012/strap012.py delete mode 100644 csci4131/hw4/strap012/style.css delete mode 100644 csci4131/hw4/strap012/walter.jpg delete mode 100755 csci4131/hw5/strap012_hw5/client/addContact.html delete mode 100755 csci4131/hw5/strap012_hw5/client/contacts.html delete mode 100755 csci4131/hw5/strap012_hw5/client/index.html delete mode 100755 csci4131/hw5/strap012_hw5/client/stock.html delete mode 100755 csci4131/hw5/strap012_hw5/contacts.json delete mode 100755 csci4131/hw5/strap012_hw5/createServer.js delete mode 100755 csci4131/hw5/strap012_hw5/package.json delete mode 100644 csci4131/hw6/strap012_hw6/README.txt delete mode 100644 csci4131/hw6/strap012_hw6/api/utilities.js delete mode 100644 csci4131/hw6/strap012_hw6/create_accounts_table.js delete mode 100644 csci4131/hw6/strap012_hw6/create_contacts_table.js delete mode 100644 csci4131/hw6/strap012_hw6/dbio.js delete mode 100644 csci4131/hw6/strap012_hw6/index.js delete mode 100644 csci4131/hw6/strap012_hw6/insert_into_accounts_table.js delete mode 100644 csci4131/hw6/strap012_hw6/login.html delete mode 100644 csci4131/hw6/strap012_hw6/package.json delete mode 100644 csci4131/hw6/strap012_hw6/public/addContact.html delete mode 100644 csci4131/hw6/strap012_hw6/public/contacts.html delete mode 100644 csci4131/hw6/strap012_hw6/public/stock.html delete mode 100644 csci4131/hw6/strap012_hw6/public/welcome.html delete mode 100644 csci4131/hw7/api/utilities.js delete mode 100644 csci4131/hw7/create_accounts_table.js delete mode 100644 csci4131/hw7/create_contacts_table.js delete mode 100644 csci4131/hw7/dbconfig.xml delete mode 100644 csci4131/hw7/dbio.js delete mode 100644 csci4131/hw7/index.js delete mode 100644 csci4131/hw7/insert_into_accounts_table.js delete mode 100644 csci4131/hw7/login.html delete mode 100644 csci4131/hw7/package-lock.json delete mode 100644 csci4131/hw7/package.json delete mode 100644 csci4131/hw7/public/contacts_old.html delete mode 100644 csci4131/hw7/public/stock.html delete mode 100644 csci4131/hw7/public/welcome.html delete mode 100644 csci4131/lec/08ShepherdLabs960.jpg delete mode 100644 csci4131/lec/Lec10Ex1.html delete mode 100644 csci4131/lec/Lec23Ex1.xml delete mode 100644 csci4131/lec/Lec2Ex1.html delete mode 100644 csci4131/lec/Lec3Ex2.html delete mode 100644 csci4131/lec/Lec4Ex1.html delete mode 100644 csci4131/lec/Lec5Ex1.html delete mode 100644 csci4131/lec/Lec6Ex1.html delete mode 100644 csci4131/lec/Lec6Ex2.html delete mode 100644 csci4131/lec/Lec7Ex1.html delete mode 100644 csci4131/lec/Lex8Ex1.html delete mode 100644 csci4131/lec/gophers-mascot.png delete mode 100644 csci4131/lec/lec7big3/CPE.png delete mode 100644 csci4131/lec/lec7big3/EPT.png delete mode 100644 csci4131/lec/lec7big3/GPP.png delete mode 100644 csci4131/lec/lec7big3/GUI.png delete mode 100644 csci4131/lec/lec7big3/PERF.png delete mode 100644 csci4131/lec/lec7big3/PORT.png delete mode 100644 csci4131/lec/lec7big3/RandomPicture.js delete mode 100644 csci4131/lec/lec7big3/SEO.png delete mode 100644 csci4131/lec/lec7big3/big31.html delete mode 100644 csci4131/lec/mystyle8.css (limited to 'csci4131') diff --git a/csci4131/hw1/strap012.zip b/csci4131/hw1/strap012.zip deleted file mode 100644 index 02c03bc..0000000 Binary files a/csci4131/hw1/strap012.zip and /dev/null differ diff --git a/csci4131/hw1/strap012/myContacts.html b/csci4131/hw1/strap012/myContacts.html deleted file mode 100644 index 866b999..0000000 --- a/csci4131/hw1/strap012/myContacts.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - My Contacts - - - - - - -

-

University Contacts

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameLocationInformationEmailURL
Joan Gabel100 Church Street SE
202 Morrill Hall
Minneapolis MN 55455
President of the University of Minnesotaupres@umn.eduHome Page
Mostafa Kaveh117 Pleasant St SE
105 Walter Library
Minneapolis MN 55455
Dean of the College of Science and Engineeringmos@umn.eduHome Page
John Coleman101 Pleasant Street SE
215 Johnston Hall
Minneapolis MN 55455
Dean of the College of Liberal Artscoleman@umn.eduHome Page
Valery Forbes1475 Gortner Avenue
123 Snyder Hall
St. Paul MN 55108
Dean of the College of Biological Sciencescbsdeans@umn.eduHome Page
Sri Zaheer321 19th Avenue S
Suite 4-300 Carlson School of Management
Minneapolis MN 55455
Dean of the Carlson School of Managementszaheer@umn.eduHome Page
- - - - diff --git a/csci4131/hw1/strap012/myWidgets.html b/csci4131/hw1/strap012/myWidgets.html deleted file mode 100644 index 9d470e5..0000000 --- a/csci4131/hw1/strap012/myWidgets.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - My Widgets - - - - - - -
    -
  1. -
  2. -
  3. -
- - - - diff --git a/csci4131/hw2/strap012/MyForm.html b/csci4131/hw2/strap012/MyForm.html deleted file mode 100644 index 261d8df..0000000 --- a/csci4131/hw2/strap012/MyForm.html +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - There is no form - - - -
-

Simple Form

-
-

- - - - - - -

-

- - -

-
- diff --git a/csci4131/hw2/strap012/carlson.jpg b/csci4131/hw2/strap012/carlson.jpg deleted file mode 100644 index d82c37c..0000000 Binary files a/csci4131/hw2/strap012/carlson.jpg and /dev/null differ diff --git a/csci4131/hw2/strap012/gophers-mascot.png b/csci4131/hw2/strap012/gophers-mascot.png deleted file mode 100644 index 44e62fa..0000000 Binary files a/csci4131/hw2/strap012/gophers-mascot.png and /dev/null differ diff --git a/csci4131/hw2/strap012/johnston.jpg b/csci4131/hw2/strap012/johnston.jpg deleted file mode 100644 index b8b7f68..0000000 Binary files a/csci4131/hw2/strap012/johnston.jpg and /dev/null differ diff --git a/csci4131/hw2/strap012/morrill.jpg b/csci4131/hw2/strap012/morrill.jpg deleted file mode 100644 index 144d458..0000000 Binary files a/csci4131/hw2/strap012/morrill.jpg and /dev/null differ diff --git a/csci4131/hw2/strap012/myContacts.html b/csci4131/hw2/strap012/myContacts.html deleted file mode 100644 index c1d9f34..0000000 --- a/csci4131/hw2/strap012/myContacts.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - My Contacts - - - - - - - - - -
-

University Contacts

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameCategoryLocationInformationEmailURL
Joan GabelIndustry100 Church Street SE
202 Morrill Hall
Minneapolis MN 55455
President of the University of Minnesota
upres@umn.eduHome Page
Mostafa KavehIndustry117 Pleasant St SE
105 Walter Library
Minneapolis MN 55455
Dean of the College of Science and Engineering
mos@umn.eduHome Page
John ColemanIndustry101 Pleasant Street SE
215 Johnston Hall
Minneapolis MN 55455
Dean of the College of Liberal Arts
coleman@umn.eduHome Page
Valery ForbesIndustry1475 Gortner Avenue
123 Snyder Hall
St. Paul MN 55108
Dean of the College of Biological Sciences
cbsdeans@umn.eduHome Page
Sri ZaheerIndustry321 19th Avenue S
Suite 4-300 Carlson School of Management
Minneapolis MN 55455
Dean of the Carlson School of Management
szaheer@umn.eduHome Page
-
- Goldy Gopher -
- - - - diff --git a/csci4131/hw2/strap012/myWidgets.html b/csci4131/hw2/strap012/myWidgets.html deleted file mode 100644 index 79fc15e..0000000 --- a/csci4131/hw2/strap012/myWidgets.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - My Widgets - - - - - - - - -

-
-
- -
- - -
- - - -
- -
-
- - - -
-
-
-
-
- - - - diff --git a/csci4131/hw2/strap012/passwordcheck.css b/csci4131/hw2/strap012/passwordcheck.css deleted file mode 100644 index beceb1c..0000000 --- a/csci4131/hw2/strap012/passwordcheck.css +++ /dev/null @@ -1,60 +0,0 @@ -#password{ - margin: 0; - padding: 0; - font-family: 'Raleway', sans-serif; - font-size: 15px; - line-height: 1.5; -} -#container { - width: 535px; - background: #ffffff; - padding: 20px; - margin: 90px auto; - border-radius: 5px; - height: 150px; - border: 2px solid gray; -} -#header { - text-align: center; - background-color: #FEFFED; - border-radius: 5px; - margin: -39px -20px 10px -20px; -} -.password{ - padding-top: 10px; -} -#content { - margin-left: 57px; - margin-top: 40px; -} -#register label{ - margin-right:5px; -} -#register input { - padding: 5px 14px; - border: 1px solid #d5d9da; - box-shadow: 0 0 9px #0E34F5 inset; - width: 272px; - font-size: 1em; - height: 25px; -} -#register .short{ - font-weight:bold; - color:#FF0000; - font-size:larger; -} -#register .weak{ - font-weight:bold; - color:orange; - font-size:larger; -} -#register .good{ - font-weight:bold; - color:#2D98F3; - font-size:larger; -} -#register .strong{ - font-weight:bold; - color: limegreen; - font-size:larger; -} diff --git a/csci4131/hw2/strap012/passwordcheck.js b/csci4131/hw2/strap012/passwordcheck.js deleted file mode 100644 index 97a2918..0000000 --- a/csci4131/hw2/strap012/passwordcheck.js +++ /dev/null @@ -1,42 +0,0 @@ -var input; -var result = document.querySelector("span"); -window.addEventListener('DOMContentLoaded', (event) => { - input = document.getElementsByName("password")[0]; -}); -function checkStrength() { - var password = input.value; - var strength = 0; - if (password.length < 6) { - result.removeAttribute("class"); - result.classList.add('short'); - result.innerHTML = "Too short"; - return; - } - if (password.length > 7) { strength += 1;} - // If password contains both lower and uppercase characters, increase strength value. - if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) { strength += 1;} - // If it has numbers and characters, increase strength value. - if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) { strength += 1;} - // If it has one special character, increase strength value. - if (password.match(/([!,%,&,@,#,$,^,*,?,_,~])/)) { strength += 1;} - // If it has two special characters, increase strength value. - if (password.match(/(.*[!,%,&,@,#,$,^,*,?,_,~].*[!,%,&,@,#,$,^,*,?,_,~])/)) { strength += 1;} - // Calculated strength value, we can return messages - // If value is less than 2 - if (strength < 2) { - result.removeAttribute("class"); - result.classList.add('weak'); - result.innerHTML = 'Weak'; - return; - } else if (strength == 2) { - result.removeAttribute("class"); - result.classList.add('good'); - result.innerHTML = 'Good'; - return; - } else { - result.removeAttribute("class"); - result.classList.add('strong'); - result.innerHTML = 'Strong'; - return; - } -} diff --git a/csci4131/hw2/strap012/shepherd.jpg b/csci4131/hw2/strap012/shepherd.jpg deleted file mode 100644 index d1262f8..0000000 Binary files a/csci4131/hw2/strap012/shepherd.jpg and /dev/null differ diff --git a/csci4131/hw2/strap012/snyder.jpg b/csci4131/hw2/strap012/snyder.jpg deleted file mode 100644 index 4531a58..0000000 Binary files a/csci4131/hw2/strap012/snyder.jpg and /dev/null differ diff --git a/csci4131/hw2/strap012/style.css b/csci4131/hw2/strap012/style.css deleted file mode 100644 index 1f03947..0000000 --- a/csci4131/hw2/strap012/style.css +++ /dev/null @@ -1,61 +0,0 @@ -body { - background-color:antiquewhite; -} - -.linkTable { - border: 1px solid black; - margin-left: 20px; - background-color: white; - border-collapse: separate; -} - -.smol { - max-height: 100%; - width: 6em; -} - -#bigboi { - float: right; - height: auto; - max-width: 28%; -} - -.Form { - background-color: whitesmoke; - padding-left: 5%; - max-width: 15%; -} - -.grid { - align-content: center; - display: inline-grid; - grid-template-columns: 40% 40%; - grid-template-rows: 30%; - gap: .1em 10%; -} - -.griditem { - padding: 10%; -} - -table, th, td { - max-width: 90%; - overflow-x:auto; - border: 1px solid black; - border-collapse: collapse; -} -table { - float:left; - max-width: 70%; -} -tr:nth-child(even) { - background-color:blanchedalmond; -} -tr:nth-child(odd) { - background-color: burlywood; -} -iframe { - border: 0px; -} - - diff --git a/csci4131/hw2/strap012/walter.jpg b/csci4131/hw2/strap012/walter.jpg deleted file mode 100644 index 37d0d56..0000000 Binary files a/csci4131/hw2/strap012/walter.jpg and /dev/null differ diff --git a/csci4131/hw3/strap012/MyForm.html b/csci4131/hw3/strap012/MyForm.html deleted file mode 100644 index 4e2760d..0000000 --- a/csci4131/hw3/strap012/MyForm.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - There is no form - - - - -
-

Simple Form

-
-

- - - - - - -

-

- - -

-
-
- - diff --git a/csci4131/hw3/strap012/Untitled.png b/csci4131/hw3/strap012/Untitled.png deleted file mode 100644 index 92a4aa1..0000000 Binary files a/csci4131/hw3/strap012/Untitled.png and /dev/null differ diff --git a/csci4131/hw3/strap012/carlson.jpg b/csci4131/hw3/strap012/carlson.jpg deleted file mode 100644 index d82c37c..0000000 Binary files a/csci4131/hw3/strap012/carlson.jpg and /dev/null differ diff --git a/csci4131/hw3/strap012/contacts.js b/csci4131/hw3/strap012/contacts.js deleted file mode 100644 index 8518ef6..0000000 --- a/csci4131/hw3/strap012/contacts.js +++ /dev/null @@ -1,221 +0,0 @@ -function change(small, row) { - document.getElementsByClassName("smol")[row].src = small; -} -function lucky() { - var image = ["carlson.jpg", "johnston.jpg", "morrill.jpg", "shepherd.jpg", "snyder.jpg", "walter.jpg"]; - document.getElementById("bigboi").src = image[Math.floor(6 * Math.random())]; -} -let isRotating=0; -function dizzy() { - if (!isRotating) { - document.getElementById("bigboi").classList.remove("isntRotating"); - } else { - document.getElementById("bigboi").classList.add("isntRotating"); - } - isRotating^=1; -} -function check(value) { - if(value==="Other") - document.getElementById('others').style.display = 'block'; - else - document.getElementById('others').style.display = 'none'; -} -let map; -var center = { lat: 44.9727, lng: -93.23540000000003 }; -function initMap() { - if (navigator.geolocation) { - navigator.geolocation.getCurrentPosition( - (position) => { - curLoc = { - lat: position.coords.latitude, - lng: position.coords.longitude, - }; - }, - () => { - alert("Geolocation failed. Directions will not work."); - } - ) - } - map = new google.maps.Map(document.getElementById("map"), { - center: center, - zoom: 14, - }); - - var service = new google.maps.places.PlacesService(map); - entries = document.getElementsByClassName("entry"); - locations = []; - for (e=0; e" + - "" + newEntry.getElementsByClassName("name")[0].textContent + "" + "
" + - newEntry.getElementsByClassName("category")[0].textContent + "
" + - newEntry.getElementsByClassName("room")[0].textContent + " " + newEntry.getElementsByClassName("street")[0].textContent + "
" + - newEntry.getElementsByClassName("city")[0].textContent + - "", - }, - }); - marker.addListener('click', function () { - if (!this.infoWindow) { - this.infoWindow = new google.maps.InfoWindow({ - content: this.data.content, - }); - this.infoWindow.open(map, this); - } - }) - } -} -var service; -var otherRadius; -var searchMarker = []; -function searchPlaces() { - var request; - if (document.getElementById("places").value!="Other") { - request = { - location: center, - radius: document.getElementById("distance").value, - type: document.getElementById("places").value, - }; - service = new google.maps.places.PlacesService(map); - service.nearbySearch(request, (results, status) => { - if (status === google.maps.places.PlacesServiceStatus.OK && results) { - addPointsSearch(results, false); - } - }); - } else { - request = { - location: center, - radius: document.getElementById("distance").value, - query: document.getElementById("others").value, - }; - otherRadius = request.radius; - service = new google.maps.places.PlacesService(map); - service.textSearch(request, (results, status) => { - if (status === google.maps.places.PlacesServiceStatus.OK && results) { - addPointsSearch(results, true); - } - }); - } -} - -function addPointsSearch(locations, isOther) { - deleteMarkers(); - for (x in locations) { - var marker; - if (isOther) { - if (google.maps.geometry.spherical.computeDistanceBetween(locations[x].geometry.location, map.getCenter()) < parseInt(otherRadius)) { - marker = new google.maps.Marker({ - map, - title: locations[x].name, - position: locations[x].geometry.location, - data: { - content: "" + locations[x].name + "" - + "
" + locations[x].formatted_address - }, - }); - } - } else { - marker = new google.maps.Marker({ - map, - title: locations[x].name, - position: locations[x].geometry.location, - data: { - content: "" + locations[x].name + "" - + "
" + locations[x].vicinity - }, - }); - } - if (marker) { - marker.addListener('click', function () { - if (!this.infoWindow) { - this.infoWindow = new google.maps.InfoWindow({ - content: this.data.content, - }); - this.infoWindow.open(map, this); - } - }) - searchMarker.push(marker); - } - - } -} -function deleteMarkers() { - for (let i = 0; i < searchMarker.length; i++) { - searchMarker[i].setMap(null); - } - searchMarker = []; -} - -var curLoc, directionsService, directionsRenderer; -function directions () { - directionsService = new google.maps.DirectionsService(); - directionsRenderer = new google.maps.DirectionsRenderer(); - document.getElementById("transitList").textContent = ""; - directionsRenderer.setPanel(document.getElementById("transitList")); - directionsRenderer.setMap(map); - var selectedMode = document.getElementById('means').value; - var dest = { - query: document.getElementById("destination").value, - fields: ['name', 'geometry'], - }; - service = new google.maps.places.PlacesService(map); - service.findPlaceFromQuery(dest, function (results, status) { - if (status === google.maps.places.PlacesServiceStatus.OK) { - console.log(results); - doDirections(results[0]); - } - }); -} - -function doDirections(input) { - var means; - var mean = document.getElementsByName('means'); - for (var i = 0; i < mean.length; i++) { - if (mean[i].checked) { - means = mean[i].value; - } - } - - var request = { - origin: curLoc, - destination: input.geometry.location, - // Note that JavaScript allows us to access the constant - // using square brackets and a string value as its - // "property." - travelMode: google.maps.TravelMode[means] - }; - directionsService.route(request, function (result, status) { - if (status == 'OK') { - directionsRenderer.setDirections(result); - } - }); -} - -function initForm() { - map = new google.maps.Map(document.getElementById("formap"), { - center: center, - zoom: 14, - }); -} \ No newline at end of file diff --git a/csci4131/hw3/strap012/gophers-mascot.png b/csci4131/hw3/strap012/gophers-mascot.png deleted file mode 100644 index 44e62fa..0000000 Binary files a/csci4131/hw3/strap012/gophers-mascot.png and /dev/null differ diff --git a/csci4131/hw3/strap012/johnston.jpg b/csci4131/hw3/strap012/johnston.jpg deleted file mode 100644 index b8b7f68..0000000 Binary files a/csci4131/hw3/strap012/johnston.jpg and /dev/null differ diff --git a/csci4131/hw3/strap012/morrill.jpg b/csci4131/hw3/strap012/morrill.jpg deleted file mode 100644 index 144d458..0000000 Binary files a/csci4131/hw3/strap012/morrill.jpg and /dev/null differ diff --git a/csci4131/hw3/strap012/myContacts.html b/csci4131/hw3/strap012/myContacts.html deleted file mode 100644 index 6e9293d..0000000 --- a/csci4131/hw3/strap012/myContacts.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - My Contacts - - - - - - - - -
-

University Contacts

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameCategoryLocationInformationEmailURL
Joan GabelIndustry100 Church Street SE
202 Morrill Hall
Minneapolis MN 55455
President of the University of Minnesota
upres@umn.eduHome Page
Mostafa KavehIndustry117 Pleasant St SE
105 Walter Library
Minneapolis MN 55455
Dean of the College of Science and Engineering
mos@umn.eduHome Page
John ColemanIndustry101 Pleasant Street SE
215 Johnston Hall
Minneapolis MN 55455
Dean of the College of Liberal Arts
coleman@umn.eduHome Page
Valery ForbesIndustry1475 Gortner Avenue
123 Snyder Hall
St. Paul MN 55108
Dean of the College of Biological Sciences
cbsdeans@umn.eduHome Page
Sri ZaheerIndustry321 19th Avenue S
Suite 4-300 Carlson School of Management
Minneapolis MN 55455
Dean of the Carlson School of Management
szaheer@umn.eduHome Page
- - Goldy Gopher
- - -
-
-
-
-
- -
- Directions to
-
- - - - - -
-
-
- - - - - diff --git a/csci4131/hw3/strap012/myWidgets.html b/csci4131/hw3/strap012/myWidgets.html deleted file mode 100644 index 79fc15e..0000000 --- a/csci4131/hw3/strap012/myWidgets.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - My Widgets - - - - - - - - -

- - - - - diff --git a/csci4131/hw3/strap012/passwordcheck.css b/csci4131/hw3/strap012/passwordcheck.css deleted file mode 100644 index beceb1c..0000000 --- a/csci4131/hw3/strap012/passwordcheck.css +++ /dev/null @@ -1,60 +0,0 @@ -#password{ - margin: 0; - padding: 0; - font-family: 'Raleway', sans-serif; - font-size: 15px; - line-height: 1.5; -} -#container { - width: 535px; - background: #ffffff; - padding: 20px; - margin: 90px auto; - border-radius: 5px; - height: 150px; - border: 2px solid gray; -} -#header { - text-align: center; - background-color: #FEFFED; - border-radius: 5px; - margin: -39px -20px 10px -20px; -} -.password{ - padding-top: 10px; -} -#content { - margin-left: 57px; - margin-top: 40px; -} -#register label{ - margin-right:5px; -} -#register input { - padding: 5px 14px; - border: 1px solid #d5d9da; - box-shadow: 0 0 9px #0E34F5 inset; - width: 272px; - font-size: 1em; - height: 25px; -} -#register .short{ - font-weight:bold; - color:#FF0000; - font-size:larger; -} -#register .weak{ - font-weight:bold; - color:orange; - font-size:larger; -} -#register .good{ - font-weight:bold; - color:#2D98F3; - font-size:larger; -} -#register .strong{ - font-weight:bold; - color: limegreen; - font-size:larger; -} diff --git a/csci4131/hw3/strap012/passwordcheck.js b/csci4131/hw3/strap012/passwordcheck.js deleted file mode 100644 index 97a2918..0000000 --- a/csci4131/hw3/strap012/passwordcheck.js +++ /dev/null @@ -1,42 +0,0 @@ -var input; -var result = document.querySelector("span"); -window.addEventListener('DOMContentLoaded', (event) => { - input = document.getElementsByName("password")[0]; -}); -function checkStrength() { - var password = input.value; - var strength = 0; - if (password.length < 6) { - result.removeAttribute("class"); - result.classList.add('short'); - result.innerHTML = "Too short"; - return; - } - if (password.length > 7) { strength += 1;} - // If password contains both lower and uppercase characters, increase strength value. - if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) { strength += 1;} - // If it has numbers and characters, increase strength value. - if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) { strength += 1;} - // If it has one special character, increase strength value. - if (password.match(/([!,%,&,@,#,$,^,*,?,_,~])/)) { strength += 1;} - // If it has two special characters, increase strength value. - if (password.match(/(.*[!,%,&,@,#,$,^,*,?,_,~].*[!,%,&,@,#,$,^,*,?,_,~])/)) { strength += 1;} - // Calculated strength value, we can return messages - // If value is less than 2 - if (strength < 2) { - result.removeAttribute("class"); - result.classList.add('weak'); - result.innerHTML = 'Weak'; - return; - } else if (strength == 2) { - result.removeAttribute("class"); - result.classList.add('good'); - result.innerHTML = 'Good'; - return; - } else { - result.removeAttribute("class"); - result.classList.add('strong'); - result.innerHTML = 'Strong'; - return; - } -} diff --git a/csci4131/hw3/strap012/shepherd.jpg b/csci4131/hw3/strap012/shepherd.jpg deleted file mode 100644 index d1262f8..0000000 Binary files a/csci4131/hw3/strap012/shepherd.jpg and /dev/null differ diff --git a/csci4131/hw3/strap012/snyder.jpg b/csci4131/hw3/strap012/snyder.jpg deleted file mode 100644 index 4531a58..0000000 Binary files a/csci4131/hw3/strap012/snyder.jpg and /dev/null differ diff --git a/csci4131/hw3/strap012/style.css b/csci4131/hw3/strap012/style.css deleted file mode 100644 index 9f28572..0000000 --- a/csci4131/hw3/strap012/style.css +++ /dev/null @@ -1,118 +0,0 @@ -/* Global */ -body { - background-color:antiquewhite; -} -.linkTable { - border: 1px solid black; - margin-left: 20px; - background-color: white; - border-collapse: separate; -} - -/* Contacts */ -table, th, td { - max-width: 80%; - overflow-x:auto; - border: 1px solid black; - border-collapse: collapse; -} -table { - float:left; - max-width: 60%; -} -tr:nth-child(even) { - background-color:blanchedalmond; -} -tr:nth-child(odd) { - background-color: burlywood; -} -.smol { - max-height: 100%; - width: 6em; -} -.large { - float: right; - max-width: max-content; -} -#bigboi { - width: 25em; - height: 15em; - object-fit: cover; - margin-right: 0; -} -.isRotating { - animation:5s rotate infinite linear; -} -.isntRotating { - animation-play-state: paused; -} -@keyframes rotate{ - 100%{ transform:rotate(1turn) } -} -#map, #formap { - /* clear: both; */ - float: left; - padding-top: 30%; - margin-top: 1em; - margin-left: .2em; - width: 50%; - height: 30%; - max-height: 40%; -} -#formap { - float: right; -} -#transitList { - float: left; - width: 20%; - color: white; -} -.id { - text-align: center; -} -#googlymap { - width: 100%; - overflow: auto; - /* display: flex; */ - /* position: absolute; */ -} - -.inputBox { - float: left; - border: 1px solid black; - width: 25%; -} -.inputBox:nth-child(even) { - background-color:blanchedalmond; -} -.inputBox:nth-child(odd) { - background-color: burlywood; -} -#others { - display:none; -} - -/* Form */ -.Form { - float: left; - background-color: whitesmoke; - padding-left: 5%; - max-width: 25%; -} -/* Widgets */ -.grid { - align-content: center; - display: inline-grid; - grid-template-columns: 40% 40%; - grid-template-rows: 30%; - gap: .1em 10%; -} -.griditem { - padding: 10%; -} -iframe { - border: 0px; -} - - - diff --git a/csci4131/hw3/strap012/walter.jpg b/csci4131/hw3/strap012/walter.jpg deleted file mode 100644 index 37d0d56..0000000 Binary files a/csci4131/hw3/strap012/walter.jpg and /dev/null differ diff --git a/csci4131/hw4/strap012/403.html b/csci4131/hw4/strap012/403.html deleted file mode 100644 index b73e28f..0000000 --- a/csci4131/hw4/strap012/403.html +++ /dev/null @@ -1,11 +0,0 @@ - - - 403: FORBIDDEN - - -
-

403: FORBIDDEN


- Go back to main page -
- - diff --git a/csci4131/hw4/strap012/404.html b/csci4131/hw4/strap012/404.html deleted file mode 100644 index 304d6a0..0000000 --- a/csci4131/hw4/strap012/404.html +++ /dev/null @@ -1,11 +0,0 @@ - - - 404: NOT FOUND - - -
-

404: NOT FOUND


- Go back to main page -
- - diff --git a/csci4131/hw4/strap012/Coffman.html b/csci4131/hw4/strap012/Coffman.html deleted file mode 100644 index 1d68c4b..0000000 --- a/csci4131/hw4/strap012/Coffman.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - A well known building - - -
- Coffman -
- - - - \ No newline at end of file diff --git a/csci4131/hw4/strap012/Coffman_N_OuttaSpace.html b/csci4131/hw4/strap012/Coffman_N_OuttaSpace.html deleted file mode 100644 index 655baa5..0000000 --- a/csci4131/hw4/strap012/Coffman_N_OuttaSpace.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - Gopher and Important Announcement - - - -
- Coffman -
-

- OuttaSpace -

- - - - - \ No newline at end of file diff --git a/csci4131/hw4/strap012/MyContacts.html b/csci4131/hw4/strap012/MyContacts.html deleted file mode 100644 index d30a03e..0000000 --- a/csci4131/hw4/strap012/MyContacts.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - My Contacts - - - - - - - - -
-

University Contacts

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameCategoryLocationInformationEmailURL
Joan GabelIndustry100 Church Street SE
202 Morrill Hall
Minneapolis MN 55455
President of the University of Minnesota
upres@umn.eduHome Page
Mostafa KavehIndustry117 Pleasant St SE
105 Walter Library
Minneapolis MN 55455
Dean of the College of Science and Engineering
mos@umn.eduHome Page
John ColemanIndustry101 Pleasant Street SE
215 Johnston Hall
Minneapolis MN 55455
Dean of the College of Liberal Arts
coleman@umn.eduHome Page
Valery ForbesIndustry1475 Gortner Avenue
123 Snyder Hall
St. Paul MN 55108
Dean of the College of Biological Sciences
cbsdeans@umn.eduHome Page
Sri ZaheerIndustry321 19th Avenue S
Suite 4-300 Carlson School of Management
Minneapolis MN 55455
Dean of the Carlson School of Management
szaheer@umn.eduHome Page
- - Goldy Gopher
- - -
-
-
-
-
- -
- Directions to
-
- - - - - -
-
-
- - - - - diff --git a/csci4131/hw4/strap012/MyForm.html b/csci4131/hw4/strap012/MyForm.html deleted file mode 100644 index 43529cd..0000000 --- a/csci4131/hw4/strap012/MyForm.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - There is no form - - - - -
-

Simple Form

-
-

- - - - - - -

-

- - -

-
-
- - diff --git a/csci4131/hw4/strap012/MyServer.html b/csci4131/hw4/strap012/MyServer.html deleted file mode 100644 index 7a2da07..0000000 --- a/csci4131/hw4/strap012/MyServer.html +++ /dev/null @@ -1,42 +0,0 @@ - - - MyServer - - - -
-

MyServer Page


-
- - -
-
- - - -
-
-
-
- Go to MyForm page -
- - diff --git a/csci4131/hw4/strap012/MyWidgets.html b/csci4131/hw4/strap012/MyWidgets.html deleted file mode 100644 index cffd3b5..0000000 --- a/csci4131/hw4/strap012/MyWidgets.html +++ /dev/null @@ -1,149 +0,0 @@ - - - - My Widgets - - - - - - - - -

- - - - - diff --git a/csci4131/hw4/strap012/OuttaSpace.html b/csci4131/hw4/strap012/OuttaSpace.html deleted file mode 100644 index 1ca6c63..0000000 --- a/csci4131/hw4/strap012/OuttaSpace.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - -Sound Test - - -

-OuttaSpace -

- - - - - \ No newline at end of file diff --git a/csci4131/hw4/strap012/OuttaSpace.mp3 b/csci4131/hw4/strap012/OuttaSpace.mp3 deleted file mode 100644 index 84d11e3..0000000 Binary files a/csci4131/hw4/strap012/OuttaSpace.mp3 and /dev/null differ diff --git a/csci4131/hw4/strap012/Untitled.png b/csci4131/hw4/strap012/Untitled.png deleted file mode 100644 index 92a4aa1..0000000 Binary files a/csci4131/hw4/strap012/Untitled.png and /dev/null differ diff --git a/csci4131/hw4/strap012/carlson.jpg b/csci4131/hw4/strap012/carlson.jpg deleted file mode 100644 index d82c37c..0000000 Binary files a/csci4131/hw4/strap012/carlson.jpg and /dev/null differ diff --git a/csci4131/hw4/strap012/coffman.jpg b/csci4131/hw4/strap012/coffman.jpg deleted file mode 100644 index 603870a..0000000 Binary files a/csci4131/hw4/strap012/coffman.jpg and /dev/null differ diff --git a/csci4131/hw4/strap012/coffman.png b/csci4131/hw4/strap012/coffman.png deleted file mode 100644 index f23b52c..0000000 Binary files a/csci4131/hw4/strap012/coffman.png and /dev/null differ diff --git a/csci4131/hw4/strap012/contacts.js b/csci4131/hw4/strap012/contacts.js deleted file mode 100644 index 8518ef6..0000000 --- a/csci4131/hw4/strap012/contacts.js +++ /dev/null @@ -1,221 +0,0 @@ -function change(small, row) { - document.getElementsByClassName("smol")[row].src = small; -} -function lucky() { - var image = ["carlson.jpg", "johnston.jpg", "morrill.jpg", "shepherd.jpg", "snyder.jpg", "walter.jpg"]; - document.getElementById("bigboi").src = image[Math.floor(6 * Math.random())]; -} -let isRotating=0; -function dizzy() { - if (!isRotating) { - document.getElementById("bigboi").classList.remove("isntRotating"); - } else { - document.getElementById("bigboi").classList.add("isntRotating"); - } - isRotating^=1; -} -function check(value) { - if(value==="Other") - document.getElementById('others').style.display = 'block'; - else - document.getElementById('others').style.display = 'none'; -} -let map; -var center = { lat: 44.9727, lng: -93.23540000000003 }; -function initMap() { - if (navigator.geolocation) { - navigator.geolocation.getCurrentPosition( - (position) => { - curLoc = { - lat: position.coords.latitude, - lng: position.coords.longitude, - }; - }, - () => { - alert("Geolocation failed. Directions will not work."); - } - ) - } - map = new google.maps.Map(document.getElementById("map"), { - center: center, - zoom: 14, - }); - - var service = new google.maps.places.PlacesService(map); - entries = document.getElementsByClassName("entry"); - locations = []; - for (e=0; e" + - "" + newEntry.getElementsByClassName("name")[0].textContent + "" + "
" + - newEntry.getElementsByClassName("category")[0].textContent + "
" + - newEntry.getElementsByClassName("room")[0].textContent + " " + newEntry.getElementsByClassName("street")[0].textContent + "
" + - newEntry.getElementsByClassName("city")[0].textContent + - "", - }, - }); - marker.addListener('click', function () { - if (!this.infoWindow) { - this.infoWindow = new google.maps.InfoWindow({ - content: this.data.content, - }); - this.infoWindow.open(map, this); - } - }) - } -} -var service; -var otherRadius; -var searchMarker = []; -function searchPlaces() { - var request; - if (document.getElementById("places").value!="Other") { - request = { - location: center, - radius: document.getElementById("distance").value, - type: document.getElementById("places").value, - }; - service = new google.maps.places.PlacesService(map); - service.nearbySearch(request, (results, status) => { - if (status === google.maps.places.PlacesServiceStatus.OK && results) { - addPointsSearch(results, false); - } - }); - } else { - request = { - location: center, - radius: document.getElementById("distance").value, - query: document.getElementById("others").value, - }; - otherRadius = request.radius; - service = new google.maps.places.PlacesService(map); - service.textSearch(request, (results, status) => { - if (status === google.maps.places.PlacesServiceStatus.OK && results) { - addPointsSearch(results, true); - } - }); - } -} - -function addPointsSearch(locations, isOther) { - deleteMarkers(); - for (x in locations) { - var marker; - if (isOther) { - if (google.maps.geometry.spherical.computeDistanceBetween(locations[x].geometry.location, map.getCenter()) < parseInt(otherRadius)) { - marker = new google.maps.Marker({ - map, - title: locations[x].name, - position: locations[x].geometry.location, - data: { - content: "" + locations[x].name + "" - + "
" + locations[x].formatted_address - }, - }); - } - } else { - marker = new google.maps.Marker({ - map, - title: locations[x].name, - position: locations[x].geometry.location, - data: { - content: "" + locations[x].name + "" - + "
" + locations[x].vicinity - }, - }); - } - if (marker) { - marker.addListener('click', function () { - if (!this.infoWindow) { - this.infoWindow = new google.maps.InfoWindow({ - content: this.data.content, - }); - this.infoWindow.open(map, this); - } - }) - searchMarker.push(marker); - } - - } -} -function deleteMarkers() { - for (let i = 0; i < searchMarker.length; i++) { - searchMarker[i].setMap(null); - } - searchMarker = []; -} - -var curLoc, directionsService, directionsRenderer; -function directions () { - directionsService = new google.maps.DirectionsService(); - directionsRenderer = new google.maps.DirectionsRenderer(); - document.getElementById("transitList").textContent = ""; - directionsRenderer.setPanel(document.getElementById("transitList")); - directionsRenderer.setMap(map); - var selectedMode = document.getElementById('means').value; - var dest = { - query: document.getElementById("destination").value, - fields: ['name', 'geometry'], - }; - service = new google.maps.places.PlacesService(map); - service.findPlaceFromQuery(dest, function (results, status) { - if (status === google.maps.places.PlacesServiceStatus.OK) { - console.log(results); - doDirections(results[0]); - } - }); -} - -function doDirections(input) { - var means; - var mean = document.getElementsByName('means'); - for (var i = 0; i < mean.length; i++) { - if (mean[i].checked) { - means = mean[i].value; - } - } - - var request = { - origin: curLoc, - destination: input.geometry.location, - // Note that JavaScript allows us to access the constant - // using square brackets and a string value as its - // "property." - travelMode: google.maps.TravelMode[means] - }; - directionsService.route(request, function (result, status) { - if (status == 'OK') { - directionsRenderer.setDirections(result); - } - }); -} - -function initForm() { - map = new google.maps.Map(document.getElementById("formap"), { - center: center, - zoom: 14, - }); -} \ No newline at end of file diff --git a/csci4131/hw4/strap012/gophers-mascot.png b/csci4131/hw4/strap012/gophers-mascot.png deleted file mode 100644 index 44e62fa..0000000 Binary files a/csci4131/hw4/strap012/gophers-mascot.png and /dev/null differ diff --git a/csci4131/hw4/strap012/johnston.jpg b/csci4131/hw4/strap012/johnston.jpg deleted file mode 100644 index b8b7f68..0000000 Binary files a/csci4131/hw4/strap012/johnston.jpg and /dev/null differ diff --git a/csci4131/hw4/strap012/morrill.jpg b/csci4131/hw4/strap012/morrill.jpg deleted file mode 100644 index 144d458..0000000 Binary files a/csci4131/hw4/strap012/morrill.jpg and /dev/null differ diff --git a/csci4131/hw4/strap012/passwordcheck.css b/csci4131/hw4/strap012/passwordcheck.css deleted file mode 100644 index beceb1c..0000000 --- a/csci4131/hw4/strap012/passwordcheck.css +++ /dev/null @@ -1,60 +0,0 @@ -#password{ - margin: 0; - padding: 0; - font-family: 'Raleway', sans-serif; - font-size: 15px; - line-height: 1.5; -} -#container { - width: 535px; - background: #ffffff; - padding: 20px; - margin: 90px auto; - border-radius: 5px; - height: 150px; - border: 2px solid gray; -} -#header { - text-align: center; - background-color: #FEFFED; - border-radius: 5px; - margin: -39px -20px 10px -20px; -} -.password{ - padding-top: 10px; -} -#content { - margin-left: 57px; - margin-top: 40px; -} -#register label{ - margin-right:5px; -} -#register input { - padding: 5px 14px; - border: 1px solid #d5d9da; - box-shadow: 0 0 9px #0E34F5 inset; - width: 272px; - font-size: 1em; - height: 25px; -} -#register .short{ - font-weight:bold; - color:#FF0000; - font-size:larger; -} -#register .weak{ - font-weight:bold; - color:orange; - font-size:larger; -} -#register .good{ - font-weight:bold; - color:#2D98F3; - font-size:larger; -} -#register .strong{ - font-weight:bold; - color: limegreen; - font-size:larger; -} diff --git a/csci4131/hw4/strap012/passwordcheck.js b/csci4131/hw4/strap012/passwordcheck.js deleted file mode 100644 index 97a2918..0000000 --- a/csci4131/hw4/strap012/passwordcheck.js +++ /dev/null @@ -1,42 +0,0 @@ -var input; -var result = document.querySelector("span"); -window.addEventListener('DOMContentLoaded', (event) => { - input = document.getElementsByName("password")[0]; -}); -function checkStrength() { - var password = input.value; - var strength = 0; - if (password.length < 6) { - result.removeAttribute("class"); - result.classList.add('short'); - result.innerHTML = "Too short"; - return; - } - if (password.length > 7) { strength += 1;} - // If password contains both lower and uppercase characters, increase strength value. - if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) { strength += 1;} - // If it has numbers and characters, increase strength value. - if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) { strength += 1;} - // If it has one special character, increase strength value. - if (password.match(/([!,%,&,@,#,$,^,*,?,_,~])/)) { strength += 1;} - // If it has two special characters, increase strength value. - if (password.match(/(.*[!,%,&,@,#,$,^,*,?,_,~].*[!,%,&,@,#,$,^,*,?,_,~])/)) { strength += 1;} - // Calculated strength value, we can return messages - // If value is less than 2 - if (strength < 2) { - result.removeAttribute("class"); - result.classList.add('weak'); - result.innerHTML = 'Weak'; - return; - } else if (strength == 2) { - result.removeAttribute("class"); - result.classList.add('good'); - result.innerHTML = 'Good'; - return; - } else { - result.removeAttribute("class"); - result.classList.add('strong'); - result.innerHTML = 'Strong'; - return; - } -} diff --git a/csci4131/hw4/strap012/private.html b/csci4131/hw4/strap012/private.html deleted file mode 100644 index 85c0635..0000000 --- a/csci4131/hw4/strap012/private.html +++ /dev/null @@ -1,10 +0,0 @@ - - - Private - - -
-

This file should trigger a 403 response!!!


-
- - diff --git a/csci4131/hw4/strap012/shepherd.jpg b/csci4131/hw4/strap012/shepherd.jpg deleted file mode 100644 index d1262f8..0000000 Binary files a/csci4131/hw4/strap012/shepherd.jpg and /dev/null differ diff --git a/csci4131/hw4/strap012/snyder.jpg b/csci4131/hw4/strap012/snyder.jpg deleted file mode 100644 index 4531a58..0000000 Binary files a/csci4131/hw4/strap012/snyder.jpg and /dev/null differ diff --git a/csci4131/hw4/strap012/strap012.py b/csci4131/hw4/strap012/strap012.py deleted file mode 100644 index 31668af..0000000 --- a/csci4131/hw4/strap012/strap012.py +++ /dev/null @@ -1,147 +0,0 @@ -#!/usr/bin/env python3 -# See https://docs.python.org/3.2/library/socket.html -# for a decscription of python socket and its parameters -import socket -import os -import stat - - -from threading import Thread -from argparse import ArgumentParser -from urllib.parse import unquote - -BUFSIZE = 4096 -CRLF = '\r\n' -NOT_FOUND = 'HTTP/1.1 404 NOT FOUND{}Connection: close{}{}'.format(CRLF, CRLF, CRLF) -FORBIDDEN = 'HTTP/1.1 403 FORBIDDEN{}Connection: close{}{}'.format(CRLF, CRLF, CRLF) -METHOD_NOT_ALLOWED = 'HTTP/1.1 405 METHOD NOT ALLOWED{}Allow: GET, HEAD, POST {}Connection: close{}{}'.format(CRLF, CRLF, CRLF, CRLF) -OK = 'HTTP/1.1 200 OK{}Connection: close{}'.format(CRLF, CRLF) # head request only - -# check file permissions -is file world readable? -def check_perms(resource): - stmode = os.stat(resource).st_mode - return(getattr(stat, 'S_IROTH') & stmode) > 0 - -# Puts together the HTML for the POST form return -def POST(form): - form = unquote(form) - form = form.replace("+", " ").split("&") - contents = "" - if len(form) == 0: - return contents - for x in form: - x = x.split("=") - contents = contents + "\n" + x[0] + "\n" + x[1] + "\n\n" - table = "" + contents + "
" - ret = "\n\n\n\n\nTest\n\n\n

\nFollowing Form Data Submitted Successfully:


\n{}\n\n".format(table) - return ret -#For Content Type -def getType(type): - if type == "html": - return "text/html" - elif type == "css": - return "text/css" - elif type == "js": - return "text/javascript" - elif type == "mp3": - return "audio/mpeg" - elif type == "jpg" or type == "jpeg": - return "image/jpeg" - elif type == "png": - return "image/png" - else: - raise TypeError - -def getContents(type, file, contents): - if type =="POST": - return b"".join( - [OK.encode(), "{}".format(CRLF).encode(), POST(contents).encode(), "{}{}".format(CRLF, CRLF).encode()]) - returnValue = "".encode() - try: - if file.split("?")[0] == "redirect": - contents = file.split("?")[1].split("=")[-1] - return "HTTP/1.1 307 TEMPORARY REDIRECT{}Connection: close{}Location:{}{}{}".format(CRLF, CRLF, "https://youtube.com/results?search_query=" + contents, CRLF, CRLF).encode() - if not check_perms(file): - raise PermissionError - content = open(file, 'rb') - except FileNotFoundError: - returnValue = NOT_FOUND.encode() - with open("404.html", "rb") as fof: - returnValue = b"".join( - [returnValue, fof.read(), "{}{}".format(CRLF, CRLF).encode()]) - except PermissionError: - returnValue = FORBIDDEN.encode() - with open("403.html", "rb") as forb: - returnValue = b"".join( - [returnValue, forb.read(), "{}{}".format(CRLF, CRLF).encode()]) - else: - returnValue = OK.encode() - if type == "HEAD": - returnValue = b"".join( - [returnValue, "{}{}".format(CRLF, CRLF).encode()]) - elif type == "GET": - ext = getType(file.split(".")[1]) - returnValue = b"".join( - [returnValue, "Content Type: {}".format(ext).encode(), "{}{}".format(CRLF, CRLF).encode()]) - returnValue = b"".join( - [returnValue, content.read(), "{}{}".format(CRLF, CRLF).encode()]) - else: - returnValue= METHOD_NOT_ALLOWED.encode() - content.close() - return returnValue - -def client_recv(client_sock, client_addr): - print('talking to {}'.format(client_addr)) - data = client_sock.recv(BUFSIZE) - data = data.decode('utf-8').strip("\r") - print(data) - data = data.split("\n") - request = data[0].split(" ") - if len(request) > 1: - want = getContents(request[0], request[1][1:], data[-1]) - client_sock.send(want) - client_sock.shutdown(1) - client_sock.close() - - print('connection closed.') - - -class EchoServer: - def __init__(self, host, port): - print("Server") - print('listening on port {}'.format(port)) - self.host = host - self.port = port - - self.setup_socket() - - self.accept() - - self.sock.shutdown() - self.sock.close() - - def setup_socket(self): - self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.sock.bind((self.host, self.port)) - self.sock.listen(128) - - def accept(self): - while True: - (client, address) = self.sock.accept() - th = Thread(target=client_recv, args=(client, address)) - th.start() - -def parse_args(): - parser = ArgumentParser() - parser.add_argument('--host', type=str, default='localhost', - help='specify a host to operate on (default: localhost)') - parser.add_argument('-p', '--port', type=int, default=9001, - help='specify a port to operate on (default: 9001)') - args = parser.parse_args() - return (args.host, args.port) - - -if __name__ == '__main__': - (host, port) = parse_args() - EchoServer(host, port) - diff --git a/csci4131/hw4/strap012/style.css b/csci4131/hw4/strap012/style.css deleted file mode 100644 index 9f28572..0000000 --- a/csci4131/hw4/strap012/style.css +++ /dev/null @@ -1,118 +0,0 @@ -/* Global */ -body { - background-color:antiquewhite; -} -.linkTable { - border: 1px solid black; - margin-left: 20px; - background-color: white; - border-collapse: separate; -} - -/* Contacts */ -table, th, td { - max-width: 80%; - overflow-x:auto; - border: 1px solid black; - border-collapse: collapse; -} -table { - float:left; - max-width: 60%; -} -tr:nth-child(even) { - background-color:blanchedalmond; -} -tr:nth-child(odd) { - background-color: burlywood; -} -.smol { - max-height: 100%; - width: 6em; -} -.large { - float: right; - max-width: max-content; -} -#bigboi { - width: 25em; - height: 15em; - object-fit: cover; - margin-right: 0; -} -.isRotating { - animation:5s rotate infinite linear; -} -.isntRotating { - animation-play-state: paused; -} -@keyframes rotate{ - 100%{ transform:rotate(1turn) } -} -#map, #formap { - /* clear: both; */ - float: left; - padding-top: 30%; - margin-top: 1em; - margin-left: .2em; - width: 50%; - height: 30%; - max-height: 40%; -} -#formap { - float: right; -} -#transitList { - float: left; - width: 20%; - color: white; -} -.id { - text-align: center; -} -#googlymap { - width: 100%; - overflow: auto; - /* display: flex; */ - /* position: absolute; */ -} - -.inputBox { - float: left; - border: 1px solid black; - width: 25%; -} -.inputBox:nth-child(even) { - background-color:blanchedalmond; -} -.inputBox:nth-child(odd) { - background-color: burlywood; -} -#others { - display:none; -} - -/* Form */ -.Form { - float: left; - background-color: whitesmoke; - padding-left: 5%; - max-width: 25%; -} -/* Widgets */ -.grid { - align-content: center; - display: inline-grid; - grid-template-columns: 40% 40%; - grid-template-rows: 30%; - gap: .1em 10%; -} -.griditem { - padding: 10%; -} -iframe { - border: 0px; -} - - - diff --git a/csci4131/hw4/strap012/walter.jpg b/csci4131/hw4/strap012/walter.jpg deleted file mode 100644 index 37d0d56..0000000 Binary files a/csci4131/hw4/strap012/walter.jpg and /dev/null differ diff --git a/csci4131/hw5/strap012_hw5/client/addContact.html b/csci4131/hw5/strap012_hw5/client/addContact.html deleted file mode 100755 index 12bfaa2..0000000 --- a/csci4131/hw5/strap012_hw5/client/addContact.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - -

- -
-
-


-
- -
-
-
-
-
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Name -
- -
-
Category -
- -
-
Location -
- -
-
Contact Information -
- -
-
Email -
- -
-
Website Name -
- -
-
Website URL -
- -
-
- -
-
-
-
-
-
-
- - diff --git a/csci4131/hw5/strap012_hw5/client/contacts.html b/csci4131/hw5/strap012_hw5/client/contacts.html deleted file mode 100755 index 15e4032..0000000 --- a/csci4131/hw5/strap012_hw5/client/contacts.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - -

- -
- - - - - - - - - - - - -
NameCategoryLocationContact InformationEmailWebsite
(URL)
-
- - - diff --git a/csci4131/hw5/strap012_hw5/client/index.html b/csci4131/hw5/strap012_hw5/client/index.html deleted file mode 100755 index 44c5d0f..0000000 --- a/csci4131/hw5/strap012_hw5/client/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - -


-
-
-
Welcome to Contact Management
-
-
- - diff --git a/csci4131/hw5/strap012_hw5/client/stock.html b/csci4131/hw5/strap012_hw5/client/stock.html deleted file mode 100755 index b55ffcb..0000000 --- a/csci4131/hw5/strap012_hw5/client/stock.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - -

- -
-
-
Welcome to Stock Page
-
-
- -
-
-
- - - - - - - - - - -
Company -
- -
-
- -
-
-
-
- -
-
-
- -
- - - - - - - -
-      
- -
Company-MetaDataStock-Info
-
- - - - diff --git a/csci4131/hw5/strap012_hw5/contacts.json b/csci4131/hw5/strap012_hw5/contacts.json deleted file mode 100755 index 54149e8..0000000 --- a/csci4131/hw5/strap012_hw5/contacts.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "contacts": [ - { - "name": "President Joan T.A. Gabel", - "category": "Academic", - "location": "202 Morrill Hall\r\n100 Church Street SE\r\nMinneapolis, MN 55455", - "contact": "President of the University of Minnesota System", - "email": "upres@umn.edu", - "website_name": "Home Page", - "website_url": "https://president.umn.edu/" - }, - { - "name": "Professor Dan Challou", - "category": "Academic", - "location": "383 Shepherd Laboratory\r\n100 Union Street SE\r\nMinneapolis, MN 55455", - "contact": "Professor of CSCI 4131 - Internet Programming", - "email": "chal0006@umn.edu", - "website_name": "Course Home Page", - "website_url": "https://canvas.umn.edu/courses/217376" - } - ] -} diff --git a/csci4131/hw5/strap012_hw5/createServer.js b/csci4131/hw5/strap012_hw5/createServer.js deleted file mode 100755 index 9c108cd..0000000 --- a/csci4131/hw5/strap012_hw5/createServer.js +++ /dev/null @@ -1,90 +0,0 @@ - -const http = require('http'); -const url = require('url'); -const fs = require('fs'); -const qs = require('querystring'); - -const port = 9001; -http.createServer(function (req, res) { - var q = url.parse(req.url, true); - var filename = "." + q.pathname; - if(req.url === '/'){ - res.writeHead(301, { 'Location': 'index.html' }); - return res.end("301 Permanent Redirect"); - } - else if (req.url === '/index.html') { - indexPage(req, res, '/index.html'); - } - else if (req.url === '/contacts.html') { - indexPage(req, res, '/contacts.html'); - } - else if (req.url === '/addContact.html') { - indexPage(req, res, '/addContact.html'); - } - else if (req.url === '/stock.html') { - indexPage(req, res, '/stock.html'); - } - else if (req.url === '/contacts.json') { - jsonSock(req, res, 'contacts.json') - } - else if (req.url === "/postContactEntry") { - POST(req, res); - res.writeHead(302, { 'Location': 'contacts.html' }); - return res.end("302 Temporary Redirect"); - } - else{ - res.writeHead(404, {'Content-Type': 'text/html'}); - return res.end("404 Not Found"); - } -}).listen(port); - -function indexPage(req, res, file) { - fs.readFile('client' + file, function(err, html) { - if(err) { - throw err; - } - res.statusCode = 200; - res.setHeader('Content-type', 'text/html'); - res.write(html); - res.end(); - }); -} - -function jsonSock(req, res, file) { - fs.readFile(file, function (err, json) { - if (err) { - throw err; - } - res.statusCode = 200; - res.setHeader('Content-type', 'text/json'); - res.write(json); - res.end(); - }); -} - -function POST(req, res) { - var reqBody = ''; - // server starts receiving the form data - req.on('data', function(data) { - reqBody+= data; - });// server has received all the form data - req.on('end', function() { - var jsonO = {} - var postObj = qs.parse(reqBody); - jsonO["name"] = postObj.name; - jsonO["category"] = postObj.category; - jsonO["location"] = postObj.location; - jsonO["contact"] = postObj.contact; - jsonO["email"] = postObj.email; - jsonO["website_name"] = postObj.website_name; - jsonO["website_url"] = postObj.website_url; - fs.readFile('./contacts.json', 'utf8', function(err, data) { - var file = JSON.parse(data); - file.contacts.push(jsonO); - var string = JSON.stringify(file); - fs.writeFile('./contacts.json', string, function(err, data) { - console.log(string); - }); //Write clojure - }); //Read clojure - }); //req clojure -} \ No newline at end of file diff --git a/csci4131/hw5/strap012_hw5/package.json b/csci4131/hw5/strap012_hw5/package.json deleted file mode 100755 index 90f2542..0000000 --- a/csci4131/hw5/strap012_hw5/package.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "strap012_hw5", - "version": "1.0.0", - "description": "Assignment 5", - "main": "createServer.js", - "scripts": { - "test": "node createServer.js" - }, - "author": "strap012", - "license": "ISC" -} diff --git a/csci4131/hw6/strap012_hw6/README.txt b/csci4131/hw6/strap012_hw6/README.txt deleted file mode 100644 index e056441..0000000 --- a/csci4131/hw6/strap012_hw6/README.txt +++ /dev/null @@ -1,2 +0,0 @@ -username: charlie -password: tango \ No newline at end of file diff --git a/csci4131/hw6/strap012_hw6/api/utilities.js b/csci4131/hw6/strap012_hw6/api/utilities.js deleted file mode 100644 index 65a087f..0000000 --- a/csci4131/hw6/strap012_hw6/api/utilities.js +++ /dev/null @@ -1,48 +0,0 @@ -const express = require('express') -const db = require ('../dbio') -const router = express.Router() -router.use(express.urlencoded({ extended: true })) - -router.get('/contacts', function (req, res) { - db.getContacts().then(function(table) { - res.send(table) - }); -}); - -router.post('/login', async function(req, res) { - var loginInfo = req.body; - var login = loginInfo.login; - var pwd = loginInfo.password; - let rows = []; - - // Query the database tbl_login with login and hashed password - db.query(login, pwd).then(function(rows) { - // Provided there is no error, and the results set is assigned to a variable named rows: - if (rows.length >= 1) {// the length should be 0 or 1, but this will work for now - //success, set the session, return success - req.session.user = login; - res.json({ status: 'success' }); - } else { - res.json({ status: 'fail' }); - } - }); - -}); - -router.get('/logout', function(req, res) { - if(!req.session.user) { - res.send('Session not started, can not logout!'); - } else { - req.session.destroy(); - res.redirect('/login'); - } -}); - -router.post('/addContact', function(req, res) { - var contact = req.body; - db.addContact(contact).then(function() { - res.redirect('/contacts'); - }); -}); - -module.exports = router; diff --git a/csci4131/hw6/strap012_hw6/create_accounts_table.js b/csci4131/hw6/strap012_hw6/create_accounts_table.js deleted file mode 100644 index 61b2602..0000000 --- a/csci4131/hw6/strap012_hw6/create_accounts_table.js +++ /dev/null @@ -1,41 +0,0 @@ -/* -TO DO: ------ -READ ALL COMMENTS AND REPLACE VALUES ACCORDINGLY -*/ - -const mysql = require("mysql"); - -const dbCon = mysql.createConnection({ - host: "cse-mysql-classes-01.cse.umn.edu", - user: "C4131S21U83", // replace with the database user provided to you - password: "6919", // replace with the database password provided to you - database: "C4131S21U83", // replace with the database user provided to you - port: 3306 -}); - -console.log("Attempting database connection"); -dbCon.connect(function (err) { - if (err) { - throw err; - } - console.log("Connected to database!"); - - const sql = `CREATE TABLE tbl_accounts ( - acc_id INT NOT NULL AUTO_INCREMENT, - acc_name VARCHAR(20), - acc_login VARCHAR(20), - acc_password VARCHAR(200), - PRIMARY KEY (acc_id) - )`; - - console.log("Attempting to create table: tbl_accounts"); - dbCon.query(sql, function (err, result) { - if (err) { - throw err; - } - console.log("Table tbl_accounts created"); - }); - - dbCon.end(); -}); diff --git a/csci4131/hw6/strap012_hw6/create_contacts_table.js b/csci4131/hw6/strap012_hw6/create_contacts_table.js deleted file mode 100644 index bcad389..0000000 --- a/csci4131/hw6/strap012_hw6/create_contacts_table.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -TO DO: ------ -READ ALL COMMENTS AND REPLACE VALUES ACCORDINGLY -*/ - -const mysql = require("mysql"); - -const dbCon = mysql.createConnection({ - host: "cse-mysql-classes-01.cse.umn.edu", - user: "C4131S21U83", // replace with the database user provided to you - password: "6919", // replace with the database password provided to you - database: "C4131S21U83", // replace with the database user provided to you - port: 3306 -}); - -console.log("Attempting database connection"); -dbCon.connect(function (err) { - if (err) { - throw err; - } - console.log("Connected to database!"); - - const sql = `CREATE TABLE tbl_contacts ( - contact_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - name VARCHAR(30), - category VARCHAR(40), - location VARCHAR(300), - contact_info VARCHAR(200), - email VARCHAR(30), - website VARCHAR(300), - website_url VARCHAR(300) - )`; - - console.log("Attempting to create table: tbl_contacts"); - dbCon.query(sql, function (err, result) { - if (err) { - throw err; - } - console.log("Table tbl_accounts created"); - }); - - dbCon.end(); -}); diff --git a/csci4131/hw6/strap012_hw6/dbio.js b/csci4131/hw6/strap012_hw6/dbio.js deleted file mode 100644 index 302334b..0000000 --- a/csci4131/hw6/strap012_hw6/dbio.js +++ /dev/null @@ -1,74 +0,0 @@ -var mysql = require("mysql"); -var bcrypt = require("bcrypt"); - -var connection = mysql.createConnection({ - host: "cse-mysql-classes-01.cse.umn.edu", - user: "C4131S21U83", - password: "6919", - database: "C4131S21U83", - port: 3306 -}); - -connection.connect(function(err) { - if (err) { - throw err; - }; - console.log("Connected to MYSQL database!"); -}); - -function passcheck(user,pass) { - return new Promise(function(resolve, reject) { - connection.query('SELECT * FROM tbl_accounts', function(err, rows, fields) { - let ret = []; - if (err) { - return reject(err); - } - for (var i = 0; i < rows.length; i++) { - if (rows[i].acc_login.localeCompare(user) === 0) { - if (bcrypt.compareSync(pass, rows[i].acc_password)) { - ret += rows[i]; - } - } - } - resolve(ret); - }); - }); -} - -function getContacts() { - return new Promise (function(resolve, reject) { - let conTab = [] - connection.query('SELECT * FROM tbl_contacts', function (err, rows, fields) { - if (err) { - return reject(err); - } - resolve(rows); - }); - }); -} - -function addContacts(contact) { - let newCon = { - name: contact.name, - category: contact.category, - location: contact.location, - contact_info: contact.contact, - email: contact.email, - website_url: contact.website_name, - } - return new Promise(function(resolve, reject) { - connection.query('INSERT tbl_contacts SET ?', newCon, function (err, result) { //Parameterized insert - if (err) throw err; - console.log("Values inserted"); - resolve(); - }); - }); - -} - - - - -exports.addContact = addContacts; -exports.query = passcheck; -exports.getContacts = getContacts; diff --git a/csci4131/hw6/strap012_hw6/index.js b/csci4131/hw6/strap012_hw6/index.js deleted file mode 100644 index 851b096..0000000 --- a/csci4131/hw6/strap012_hw6/index.js +++ /dev/null @@ -1,109 +0,0 @@ -// YOU CAN USE THIS FILE AS REFERENCE FOR SERVER DEVELOPMENT -const createError = require('http-errors'); - -// Include the express module -const express = require('express'); - -// helps in extracting the body portion of an incoming request stream -var bodyparser = require('body-parser'); - -// Path module - provides utilities for working with file and directory paths. -const path = require('path'); - -// Helps in managing user sessions -const session = require('express-session'); - -// include the mysql module -var mysql = require('mysql'); - -// Bcrypt library for comparing password hashes -const bcrypt = require('bcrypt'); - -// Include the express router. -const utilities = require('./api/utilities'); - -const port = 9001; - -// create an express application -const app = express(); - -// Use express-session -// In-memory session is sufficient for this assignment -app.use(session({ - secret: "csci4131secretkey", - saveUninitialized: true, - resave: false - } -)); - -// middle ware to serve static files -app.use(express.static(path.join(__dirname, 'public'))); - -// server listens on port for incoming connections -app.listen(port, () => console.log('Listening on port', port)); - -app.get('/', function (req, res) { - res.sendFile(path.join(__dirname, 'public/welcome.html')); -}); - -// GET method route for the contacts page. -// It serves contact.html present in public folder -app.get('/contacts', function(req, res) { - if(!req.session.user) { - res.redirect('/login'); - } else { - res.sendFile(path.join(__dirname, 'public/contacts.html')); - } -}); - -app.get('/stocks', function(req, res) { - res.redirect('/stock'); -}) - -app.get('/stock', function (req, res) { - if (!req.session.user) { - res.redirect('/login'); - } else { - res.sendFile(path.join(__dirname, 'public/stock.html')); - } -}); - -app.get('/addContact', function (req, res) { - if (!req.session.user) { - res.redirect('/login'); - } else { - res.sendFile(path.join(__dirname, 'public/addContact.html')); - } -}); - -app.get('/login', function (req, res) { - if (req.session.user) { - res.redirect('/contacts'); - } else { - res.sendFile(path.join(__dirname, 'login.html')); - } -}); - -app.get('/logout', function(req, res) { - res.redirect('/api/logout') -}); - -// Makes Express use a router called utilities -app.use('/api', utilities); - -// function to return the 404 message and error to client -app.use(function (req, res, next) { - next(createError(404)); -}); - -// error handler -app.use(function (err, req, res, next) { - // set locals, only providing error in development - res.locals.message = err.message; - res.locals.error = req.app.get('env') === 'development' ? err : {}; - - // render the error page - res.status(err.status || 500); - // res.render('error'); - res.send(); -}); diff --git a/csci4131/hw6/strap012_hw6/insert_into_accounts_table.js b/csci4131/hw6/strap012_hw6/insert_into_accounts_table.js deleted file mode 100644 index 3157ce3..0000000 --- a/csci4131/hw6/strap012_hw6/insert_into_accounts_table.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -TO DO: ------ -READ ALL COMMENTS AND REPLACE VALUES ACCORDINGLY -*/ - -const mysql = require("mysql"); -const bcrypt = require('bcrypt'); - -const dbCon = mysql.createConnection({ - host: "cse-mysql-classes-01.cse.umn.edu", - user: "C4131S21U83", // replace with the database user provided to you - password: "6919", // replace with the database password provided to you - database: "C4131S21U83", // replace with the database user provided to you - port: 3306 -}); - -console.log("Attempting database connection"); -dbCon.connect(function (err) { - if (err) { - throw err; - } - - console.log("Connected to database!"); - - const saltRounds = 10; - const myPlaintextPassword = 'tango'; // replace with password chosen by you OR retain the same value - const passwordHash = bcrypt.hashSync(myPlaintextPassword, saltRounds); - - const rowToBeInserted = { - acc_name: 'charlie', // replace with acc_name chosen by you OR retain the same value - acc_login: 'charlie', // replace with acc_login chosen by you OR retain the same value - acc_password: passwordHash - }; - - console.log("Attempting to insert record into tbl_accounts"); - dbCon.query('INSERT tbl_accounts SET ?', rowToBeInserted, function (err, result) { - if (err) { - throw err; - } - console.log("Table record inserted!"); - }); - - dbCon.end(); -}); diff --git a/csci4131/hw6/strap012_hw6/login.html b/csci4131/hw6/strap012_hw6/login.html deleted file mode 100644 index 9bb80cc..0000000 --- a/csci4131/hw6/strap012_hw6/login.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - -
-

Login Page

-
-

-
-
- - -
-
- - -
- -
-
- - - diff --git a/csci4131/hw6/strap012_hw6/package.json b/csci4131/hw6/strap012_hw6/package.json deleted file mode 100644 index db9cf8f..0000000 --- a/csci4131/hw6/strap012_hw6/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "strap012_hw6", - "version": "1.0.0", - "description": "Assignment 6", - "main": "index.js", - "scripts": { - "test": "node index.js" - }, - "author": "strap012", - "license": "ISC", - "dependencies": { - "bcrypt": "^5.0.1", - "body-parser": "^1.19.0", - "express": "^4.17.1", - "express-session": "^1.17.1", - "mysql": "^2.18.1" - } -} diff --git a/csci4131/hw6/strap012_hw6/public/addContact.html b/csci4131/hw6/strap012_hw6/public/addContact.html deleted file mode 100644 index 629f9b2..0000000 --- a/csci4131/hw6/strap012_hw6/public/addContact.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - - - - -

- -
-
-


-
- -
-
-
-
-
-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Name -
- -
-
Category -
- -
-
Location -
- -
-
Contact Information -
- -
-
Email -
- -
-
Website Name -
- -
-
- -
-
-
-
-
-
-
- - diff --git a/csci4131/hw6/strap012_hw6/public/contacts.html b/csci4131/hw6/strap012_hw6/public/contacts.html deleted file mode 100644 index 5cd2907..0000000 --- a/csci4131/hw6/strap012_hw6/public/contacts.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - -

- -
- - - - - - - - - - - - -
NameCategoryLocationContact InformationEmailWebsite
(URL)
-
- - - diff --git a/csci4131/hw6/strap012_hw6/public/stock.html b/csci4131/hw6/strap012_hw6/public/stock.html deleted file mode 100644 index d63b233..0000000 --- a/csci4131/hw6/strap012_hw6/public/stock.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - -

- -
-
-
Welcome to Stock Page
-
-
- -
-
-
- - - - - - - - - - -
Company -
- -
-
- -
-
-
-
- -
-
-
- -
- - - - - - - -
-      
- -
Company-MetaDataStock-Info
-
- - - - diff --git a/csci4131/hw6/strap012_hw6/public/welcome.html b/csci4131/hw6/strap012_hw6/public/welcome.html deleted file mode 100644 index 095023e..0000000 --- a/csci4131/hw6/strap012_hw6/public/welcome.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - Welcome to Node.js - - - - -
-

Welcome to Express (Node.js)

-

The objective of this assignment is to develop a basic website with:

-

Express which is a Node.js web application framework.

-
-

Following are some useful resources:

- - - -
-
- -
- -
-
-
- -
-
-
- - diff --git a/csci4131/hw7/api/utilities.js b/csci4131/hw7/api/utilities.js deleted file mode 100644 index 12e06aa..0000000 --- a/csci4131/hw7/api/utilities.js +++ /dev/null @@ -1,64 +0,0 @@ -const express = require('express') -const db = require ('../dbio') -const router = express.Router() -router.use(express.urlencoded({ extended: true })) - -router.get('/contacts', function (req, res) { - db.getContacts().then(function(table) { - res.send(table) - }); -}); - -router.post('/login', async function(req, res) { - var loginInfo = req.body; - var login = loginInfo.login; - var pwd = loginInfo.password; - let rows = []; - - // Query the database tbl_login with login and hashed password - db.query(login, pwd).then(function(rows) { - // Provided there is no error, and the results set is assigned to a variable named rows: - if (rows.length >= 1) {// the length should be 0 or 1, but this will work for now - //success, set the session, return success - req.session.user = login; - res.json({ status: 'success' }); - } else { - res.json({ status: 'fail' }); - } - }); - -}); - -router.get('/logout', function(req, res) { - if(!req.session.user) { - res.send('Session not started, can not logout!'); - } else { - req.session.destroy(); - res.redirect('/login'); - } -}); - -router.post('/addContact', function(req, res) { - var contact = req.body; - db.addContact(contact).then(function(r) { - res.send({flag: r}); - }).catch(function() { - - }) -}); - -router.post('/updateContact', function(req, res) { - var edit = req.body; - db.editContact(edit).then(function(f) { - res.send({flag:f}); - }); -}) - -router.post('/deleteContact', function(req, res) { - var contact = req.body.name; - db.deleteContact(contact).then(function(r) { - res.send({flag: r}); - }) -}) - -module.exports = router; diff --git a/csci4131/hw7/create_accounts_table.js b/csci4131/hw7/create_accounts_table.js deleted file mode 100644 index 61b2602..0000000 --- a/csci4131/hw7/create_accounts_table.js +++ /dev/null @@ -1,41 +0,0 @@ -/* -TO DO: ------ -READ ALL COMMENTS AND REPLACE VALUES ACCORDINGLY -*/ - -const mysql = require("mysql"); - -const dbCon = mysql.createConnection({ - host: "cse-mysql-classes-01.cse.umn.edu", - user: "C4131S21U83", // replace with the database user provided to you - password: "6919", // replace with the database password provided to you - database: "C4131S21U83", // replace with the database user provided to you - port: 3306 -}); - -console.log("Attempting database connection"); -dbCon.connect(function (err) { - if (err) { - throw err; - } - console.log("Connected to database!"); - - const sql = `CREATE TABLE tbl_accounts ( - acc_id INT NOT NULL AUTO_INCREMENT, - acc_name VARCHAR(20), - acc_login VARCHAR(20), - acc_password VARCHAR(200), - PRIMARY KEY (acc_id) - )`; - - console.log("Attempting to create table: tbl_accounts"); - dbCon.query(sql, function (err, result) { - if (err) { - throw err; - } - console.log("Table tbl_accounts created"); - }); - - dbCon.end(); -}); diff --git a/csci4131/hw7/create_contacts_table.js b/csci4131/hw7/create_contacts_table.js deleted file mode 100644 index bcad389..0000000 --- a/csci4131/hw7/create_contacts_table.js +++ /dev/null @@ -1,44 +0,0 @@ -/* -TO DO: ------ -READ ALL COMMENTS AND REPLACE VALUES ACCORDINGLY -*/ - -const mysql = require("mysql"); - -const dbCon = mysql.createConnection({ - host: "cse-mysql-classes-01.cse.umn.edu", - user: "C4131S21U83", // replace with the database user provided to you - password: "6919", // replace with the database password provided to you - database: "C4131S21U83", // replace with the database user provided to you - port: 3306 -}); - -console.log("Attempting database connection"); -dbCon.connect(function (err) { - if (err) { - throw err; - } - console.log("Connected to database!"); - - const sql = `CREATE TABLE tbl_contacts ( - contact_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, - name VARCHAR(30), - category VARCHAR(40), - location VARCHAR(300), - contact_info VARCHAR(200), - email VARCHAR(30), - website VARCHAR(300), - website_url VARCHAR(300) - )`; - - console.log("Attempting to create table: tbl_contacts"); - dbCon.query(sql, function (err, result) { - if (err) { - throw err; - } - console.log("Table tbl_accounts created"); - }); - - dbCon.end(); -}); diff --git a/csci4131/hw7/dbconfig.xml b/csci4131/hw7/dbconfig.xml deleted file mode 100644 index a7e83ba..0000000 --- a/csci4131/hw7/dbconfig.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - cse-mysql-classes-01.cse.umn.edu - C4131S21U83 - 6919 - C4131S21U83 - 3306 - diff --git a/csci4131/hw7/dbio.js b/csci4131/hw7/dbio.js deleted file mode 100644 index 96faf93..0000000 --- a/csci4131/hw7/dbio.js +++ /dev/null @@ -1,136 +0,0 @@ -var mysql = require("mysql"); -var bcrypt = require("bcrypt"); -var fs = require("fs"); -var xml2js = require("xml2js"); -var parser = new xml2js.Parser(); -var conInfo; -var connection; - -fs.readFile(__dirname + '/dbconfig.xml', function (err, data) { - if (err) throw err; - parser.parseString(data, function (err, result) { - if (err) throw err; - conInfo = result; - }); - connection = mysql.createConnection({ - host: conInfo.dbconfig.host[0], - user: conInfo.dbconfig.user[0], - password: conInfo.dbconfig.password[0], - database: conInfo.dbconfig.database[0], - port: conInfo.dbconfig.port[0] - }); - - connection.connect(function (err) { - if (err) { - throw err; - }; - console.log("Connected to MYSQL database!"); - }); -}); - - - -function passcheck(user,pass) { - return new Promise(function(resolve, reject) { - connection.query('SELECT * FROM tbl_accounts', function(err, rows, fields) { - let ret = []; - if (err) { - return reject(err); - } - for (var i = 0; i < rows.length; i++) { - if (rows[i].acc_login.localeCompare(user) === 0) { - if (bcrypt.compareSync(pass, rows[i].acc_password)) { - ret += rows[i]; - } - } - } - resolve(ret); - }); - }); -} - -function getContacts() { - return new Promise (function(resolve, reject) { - let conTab = [] - connection.query('SELECT * FROM tbl_contacts', function (err, rows, fields) { - if (err) throw err; - resolve(rows); - }); - }); -} - -function addContacts(contact) { - let newCon = { - name: contact.name, - category: contact.category, - location: contact.location, - contact_info: contact.contact, - email: contact.email, - website: contact.website, - } - return new Promise (function (resolve, reject) { - connection.query('SELECT * FROM tbl_contacts where name=?', contact.name, function(err, rows, fields) { - if (err) throw err; - console.log("Table found") - if (rows.length > 0) { - // Duplicate - console.log("found Duplicate name!"); - resolve(false); - } else { - connection.query('INSERT tbl_contacts SET ?', newCon, function (err, result) { //Parameterized insert - if (err) throw err; - console.log("Values inserted."); - resolve(true); - }); - } - }); - }); -} - - - -function editContact(contact) { - let edit = { - name: contact.name, - category: contact.category, - location: contact.location, - contact_info: contact.contact, - email: contact.email, - website: contact.website, - } - - return new Promise(function (resolve, reject) { - connection.query('SELECT * FROM tbl_contacts where name=?', contact.name, function (err, rows, fields) { - if (err) throw err; - if (rows.length == 0) { - console.log("Name Changed!"); - resolve(false); - } else { - connection.query('UPDATE tbl_contacts SET ? WHERE name=?', [edit, edit.name], function(err, result) { - if (err) throw err; - console.log("Value edited successfully?") - resolve(true); - }); - } - }); - }); -} - -function deleteContact(contact) { - return new Promise(function(resolve, reject) { - connection.query('DELETE FROM tbl_contacts WHERE name=?', contact, function (err, result) { - if (err) throw err; - console.log("Row deleted!") - resolve(); - }) - }) -} - - - - -exports.addContact = addContacts; -exports.query = passcheck; -exports.getContacts = getContacts; -exports.deleteContact = deleteContact; -exports.editContact = editContact; diff --git a/csci4131/hw7/index.js b/csci4131/hw7/index.js deleted file mode 100644 index 851b096..0000000 --- a/csci4131/hw7/index.js +++ /dev/null @@ -1,109 +0,0 @@ -// YOU CAN USE THIS FILE AS REFERENCE FOR SERVER DEVELOPMENT -const createError = require('http-errors'); - -// Include the express module -const express = require('express'); - -// helps in extracting the body portion of an incoming request stream -var bodyparser = require('body-parser'); - -// Path module - provides utilities for working with file and directory paths. -const path = require('path'); - -// Helps in managing user sessions -const session = require('express-session'); - -// include the mysql module -var mysql = require('mysql'); - -// Bcrypt library for comparing password hashes -const bcrypt = require('bcrypt'); - -// Include the express router. -const utilities = require('./api/utilities'); - -const port = 9001; - -// create an express application -const app = express(); - -// Use express-session -// In-memory session is sufficient for this assignment -app.use(session({ - secret: "csci4131secretkey", - saveUninitialized: true, - resave: false - } -)); - -// middle ware to serve static files -app.use(express.static(path.join(__dirname, 'public'))); - -// server listens on port for incoming connections -app.listen(port, () => console.log('Listening on port', port)); - -app.get('/', function (req, res) { - res.sendFile(path.join(__dirname, 'public/welcome.html')); -}); - -// GET method route for the contacts page. -// It serves contact.html present in public folder -app.get('/contacts', function(req, res) { - if(!req.session.user) { - res.redirect('/login'); - } else { - res.sendFile(path.join(__dirname, 'public/contacts.html')); - } -}); - -app.get('/stocks', function(req, res) { - res.redirect('/stock'); -}) - -app.get('/stock', function (req, res) { - if (!req.session.user) { - res.redirect('/login'); - } else { - res.sendFile(path.join(__dirname, 'public/stock.html')); - } -}); - -app.get('/addContact', function (req, res) { - if (!req.session.user) { - res.redirect('/login'); - } else { - res.sendFile(path.join(__dirname, 'public/addContact.html')); - } -}); - -app.get('/login', function (req, res) { - if (req.session.user) { - res.redirect('/contacts'); - } else { - res.sendFile(path.join(__dirname, 'login.html')); - } -}); - -app.get('/logout', function(req, res) { - res.redirect('/api/logout') -}); - -// Makes Express use a router called utilities -app.use('/api', utilities); - -// function to return the 404 message and error to client -app.use(function (req, res, next) { - next(createError(404)); -}); - -// error handler -app.use(function (err, req, res, next) { - // set locals, only providing error in development - res.locals.message = err.message; - res.locals.error = req.app.get('env') === 'development' ? err : {}; - - // render the error page - res.status(err.status || 500); - // res.render('error'); - res.send(); -}); diff --git a/csci4131/hw7/insert_into_accounts_table.js b/csci4131/hw7/insert_into_accounts_table.js deleted file mode 100644 index 0be14ce..0000000 --- a/csci4131/hw7/insert_into_accounts_table.js +++ /dev/null @@ -1,45 +0,0 @@ -/* -TO DO: ------ -READ ALL COMMENTS AND REPLACE VALUES ACCORDINGLY -*/ - -const mysql = require("mysql"); -const bcrypt = require('bcrypt'); - -const dbCon = mysql.createConnection({ - host: "cse-mysql-classes-01.cse.umn.edu", - user: "C4131S21U83", // replace with the database user provided to you - password: "6919", // replace with the database password provided to you - database: "C4131S21U83", // replace with the database user provided to you - port: 3306 -}); - -console.log("Attempting database connection"); -dbCon.connect(function (err) { - if (err) { - throw err; - } - - console.log("Connected to database!"); - - const saltRounds = 10; - const myPlaintextPassword = 'admin%'; // replace with password chosen by you OR retain the same value - const passwordHash = bcrypt.hashSync(myPlaintextPassword, saltRounds); - - const rowToBeInserted = { - acc_name: 'admin$', // replace with acc_name chosen by you OR retain the same value - acc_login: 'admin$', // replace with acc_login chosen by you OR retain the same value - acc_password: passwordHash - }; - - console.log("Attempting to insert record into tbl_accounts"); - dbCon.query('INSERT tbl_accounts SET ?', rowToBeInserted, function (err, result) { - if (err) { - throw err; - } - console.log("Table record inserted!"); - }); - - dbCon.end(); -}); diff --git a/csci4131/hw7/login.html b/csci4131/hw7/login.html deleted file mode 100644 index 9bb80cc..0000000 --- a/csci4131/hw7/login.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - -
-

Login Page

-
-

-
-
- - -
-
- - -
- -
-
- - - diff --git a/csci4131/hw7/package-lock.json b/csci4131/hw7/package-lock.json deleted file mode 100644 index 446a4b1..0000000 --- a/csci4131/hw7/package-lock.json +++ /dev/null @@ -1,982 +0,0 @@ -{ - "name": "strap012_hw7", - "version": "1.0.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@mapbox/node-pre-gyp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.4.tgz", - "integrity": "sha512-M669Qo4nRT7iDmQEjQYC7RU8Z6dpz9UmSbkJ1OFEja3uevCdLKh7IZZki7L1TZj02kRyl82snXFY8QqkyfowrQ==", - "requires": { - "detect-libc": "^1.0.3", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.1", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "rimraf": "^3.0.2", - "semver": "^7.3.4", - "tar": "^6.1.0" - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "bcrypt": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz", - "integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==", - "requires": { - "@mapbox/node-pre-gyp": "^1.0.0", - "node-addon-api": "^3.1.0" - } - }, - "bignumber.js": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", - "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", - "requires": { - "ms": "2.1.2" - } - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "express-session": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.1.tgz", - "integrity": "sha512-UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q==", - "requires": { - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~2.0.0", - "on-headers": "~1.0.2", - "parseurl": "~1.3.3", - "safe-buffer": "5.2.0", - "uid-safe": "~2.1.5" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "http-errors": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.0.tgz", - "integrity": "sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - } - } - }, - "https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - }, - "mime-db": { - "version": "1.47.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", - "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" - }, - "mime-types": { - "version": "2.1.30", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", - "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", - "requires": { - "mime-db": "1.47.0" - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "mysql": { - "version": "2.18.1", - "resolved": "https://registry.npmjs.org/mysql/-/mysql-2.18.1.tgz", - "integrity": "sha512-Bca+gk2YWmqp2Uf6k5NFEurwY/0td0cpebAucFpY/3jhrwrVGuxU2uQFCHjU19SJfje0yQvi+rVWdq78hR5lig==", - "requires": { - "bignumber.js": "9.0.0", - "readable-stream": "2.3.7", - "safe-buffer": "5.1.2", - "sqlstring": "2.3.1" - } - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" - }, - "node-addon-api": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz", - "integrity": "sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==" - }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "requires": { - "abbrev": "1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" - } - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "random-bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", - "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "sqlstring": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", - "integrity": "sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=" - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "tar": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz", - "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "uid-safe": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", - "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", - "requires": { - "random-bytes": "~1.0.0" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - } - }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - } -} diff --git a/csci4131/hw7/package.json b/csci4131/hw7/package.json deleted file mode 100644 index 0598cc4..0000000 --- a/csci4131/hw7/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "strap012_hw7", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "start": "node index.js", - "test": "node index.js" - }, - "author": "", - "license": "MIT", - "dependencies": { - "bcrypt": "^5.0.1", - "body-parser": "^1.19.0", - "express": "^4.17.1", - "express-session": "^1.17.1", - "http-errors": "^1.8.0", - "mysql": "^2.18.1", - "xml2js": "^0.4.23" - } -} diff --git a/csci4131/hw7/public/contacts_old.html b/csci4131/hw7/public/contacts_old.html deleted file mode 100644 index d0131ee..0000000 --- a/csci4131/hw7/public/contacts_old.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - -

- -
- - - - - - - - - - - - - -
NameCategoryLocationContact InformationEmailWebsite
(URL)
-
- - - \ No newline at end of file diff --git a/csci4131/hw7/public/stock.html b/csci4131/hw7/public/stock.html deleted file mode 100644 index ae9d077..0000000 --- a/csci4131/hw7/public/stock.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - -

- -
-
-
Welcome to Stock Page
-
-
- -
-
-
- - - - - - - - - - -
Company -
- -
-
- -
-
-
-
- -
-
-
- -
- - - - - - - -
-      
- -
Company-MetaDataStock-Info
-
- - - - diff --git a/csci4131/hw7/public/welcome.html b/csci4131/hw7/public/welcome.html deleted file mode 100644 index 095023e..0000000 --- a/csci4131/hw7/public/welcome.html +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - Welcome to Node.js - - - - -
-

Welcome to Express (Node.js)

-

The objective of this assignment is to develop a basic website with:

-

Express which is a Node.js web application framework.

-
-

Following are some useful resources:

- - - -
-
- -
- -
-
-
- -
-
-
- - diff --git a/csci4131/lec/08ShepherdLabs960.jpg b/csci4131/lec/08ShepherdLabs960.jpg deleted file mode 100644 index d1262f8..0000000 Binary files a/csci4131/lec/08ShepherdLabs960.jpg and /dev/null differ diff --git a/csci4131/lec/Lec10Ex1.html b/csci4131/lec/Lec10Ex1.html deleted file mode 100644 index a77bc41..0000000 --- a/csci4131/lec/Lec10Ex1.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - - Race Condition - - - - - - \ No newline at end of file diff --git a/csci4131/lec/Lec23Ex1.xml b/csci4131/lec/Lec23Ex1.xml deleted file mode 100644 index 5568c44..0000000 --- a/csci4131/lec/Lec23Ex1.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - Honda Civic - 2001 - \ No newline at end of file diff --git a/csci4131/lec/Lec2Ex1.html b/csci4131/lec/Lec2Ex1.html deleted file mode 100644 index d93bf20..0000000 --- a/csci4131/lec/Lec2Ex1.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - your name on the TAB opened by the browser - - - -

My Favourite Site

-Click here - - \ No newline at end of file diff --git a/csci4131/lec/Lec3Ex2.html b/csci4131/lec/Lec3Ex2.html deleted file mode 100644 index 8903571..0000000 --- a/csci4131/lec/Lec3Ex2.html +++ /dev/null @@ -1,32 +0,0 @@ - - - - - There is no title - - - -

My nonexistent list of Favorite Movies

- - - - - - - - - - - - - - - -
Favorite MovieFavorite Actor/Actress in Said Movie
Name of Favorite MovieName of Favorite Actor/Actress
Name of Favorite Movie 2Name of Favorite Actor/Actress 2
- - \ No newline at end of file diff --git a/csci4131/lec/Lec4Ex1.html b/csci4131/lec/Lec4Ex1.html deleted file mode 100644 index 9433abd..0000000 --- a/csci4131/lec/Lec4Ex1.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - There is no form - - -

Simple Form

-
-

- - - - - -

-

- - -

-
- \ No newline at end of file diff --git a/csci4131/lec/Lec5Ex1.html b/csci4131/lec/Lec5Ex1.html deleted file mode 100644 index 18f98ec..0000000 --- a/csci4131/lec/Lec5Ex1.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - Box Model Example - - - - - - -
-

The University of Minnesota

-

Educating the Leaders of Tomorrow for over 100 years. - There is always something happening at the U!

-
- - - - diff --git a/csci4131/lec/Lec6Ex1.html b/csci4131/lec/Lec6Ex1.html deleted file mode 100644 index 7b45e18..0000000 --- a/csci4131/lec/Lec6Ex1.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - Add and Multiply Program - - - - - - \ No newline at end of file diff --git a/csci4131/lec/Lec6Ex2.html b/csci4131/lec/Lec6Ex2.html deleted file mode 100644 index 99f5843..0000000 --- a/csci4131/lec/Lec6Ex2.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - Possible HW2 constructs - - - - - - - - - - -
Shepherd Labs 100 Union St SE
Minneapolis, MN 55455
-
- Goldy Gopher -
- - - - \ No newline at end of file diff --git a/csci4131/lec/Lec7Ex1.html b/csci4131/lec/Lec7Ex1.html deleted file mode 100644 index d7c46e4..0000000 --- a/csci4131/lec/Lec7Ex1.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - Titles are for better people - - - - - - - - \ No newline at end of file diff --git a/csci4131/lec/Lex8Ex1.html b/csci4131/lec/Lex8Ex1.html deleted file mode 100644 index e08b7ef..0000000 --- a/csci4131/lec/Lex8Ex1.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - -

Display a Telephone Input Field

- -
-

- - Format: 123-456-6789

- -
- - - \ No newline at end of file diff --git a/csci4131/lec/gophers-mascot.png b/csci4131/lec/gophers-mascot.png deleted file mode 100644 index 44e62fa..0000000 Binary files a/csci4131/lec/gophers-mascot.png and /dev/null differ diff --git a/csci4131/lec/lec7big3/CPE.png b/csci4131/lec/lec7big3/CPE.png deleted file mode 100644 index d137d51..0000000 Binary files a/csci4131/lec/lec7big3/CPE.png and /dev/null differ diff --git a/csci4131/lec/lec7big3/EPT.png b/csci4131/lec/lec7big3/EPT.png deleted file mode 100644 index 68b5863..0000000 Binary files a/csci4131/lec/lec7big3/EPT.png and /dev/null differ diff --git a/csci4131/lec/lec7big3/GPP.png b/csci4131/lec/lec7big3/GPP.png deleted file mode 100644 index 7d8bf3d..0000000 Binary files a/csci4131/lec/lec7big3/GPP.png and /dev/null differ diff --git a/csci4131/lec/lec7big3/GUI.png b/csci4131/lec/lec7big3/GUI.png deleted file mode 100644 index d7e2ccc..0000000 Binary files a/csci4131/lec/lec7big3/GUI.png and /dev/null differ diff --git a/csci4131/lec/lec7big3/PERF.png b/csci4131/lec/lec7big3/PERF.png deleted file mode 100644 index 807b7a0..0000000 Binary files a/csci4131/lec/lec7big3/PERF.png and /dev/null differ diff --git a/csci4131/lec/lec7big3/PORT.png b/csci4131/lec/lec7big3/PORT.png deleted file mode 100644 index 3d69844..0000000 Binary files a/csci4131/lec/lec7big3/PORT.png and /dev/null differ diff --git a/csci4131/lec/lec7big3/RandomPicture.js b/csci4131/lec/lec7big3/RandomPicture.js deleted file mode 100644 index b5f4d73..0000000 --- a/csci4131/lec/lec7big3/RandomPicture.js +++ /dev/null @@ -1,21 +0,0 @@ -var iconImg; - -function randImage() { - var index = Math.floor(Math.random()*7); - - var pictures = ["CPE", "EPT", "GPP", "GUI", "PERF", "PORT", "SEO"]; - var descriptions = ["Common Programming Error", - "Error-Prevention Tip", "Good Programming Practice", - "Look-and-Feel Observation", "Performance Tip", "Portability Tip", - "Software Engineering Observation"]; - - iconImg.src = pictures[index] + ".png"; - iconImg.alt = descriptions[index]; -} - -function start() { - iconImg = document.getElementById("image"); - iconImg.addEventListener("click", randImage, false); -} - -window.addEventListener("load", start); \ No newline at end of file diff --git a/csci4131/lec/lec7big3/SEO.png b/csci4131/lec/lec7big3/SEO.png deleted file mode 100644 index 73d4507..0000000 Binary files a/csci4131/lec/lec7big3/SEO.png and /dev/null differ diff --git a/csci4131/lec/lec7big3/big31.html b/csci4131/lec/lec7big3/big31.html deleted file mode 100644 index 574401a..0000000 --- a/csci4131/lec/lec7big3/big31.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - Random Image Generator - - - - - Common Programming Error - - - \ No newline at end of file diff --git a/csci4131/lec/mystyle8.css b/csci4131/lec/mystyle8.css deleted file mode 100644 index 5b2546d..0000000 --- a/csci4131/lec/mystyle8.css +++ /dev/null @@ -1,41 +0,0 @@ - /* A CSS Style file for formatting "the box" around some block elements */ - - -body { - border: .1875em dotted black; - margin: .625em; - max-width: 90%; - } - -section{ - border: .125em solid black; - max-width: 80%; - margin: 1.25em; /* all four sides */ - padding: .625em; /* all four sides */ - } -h1,p { - border: .0625em dashed black; - padding: .625em; - max-width: 80%; - } -h1{ - margin: .5em 0 .25em; /* .5em top,0 right and left, .25em bottom */ - padding-left: .9375em; -} -p{ - margin: 0; /* all four sides */ - padding-left: .9375em; -} -div { -border: .1875em dotted black; -color: red; -margin: .625em; -} - - - - - - - - \ No newline at end of file -- cgit v1.2.3