text:
@import url(https://fonts.googleapis.com/css?family=Open+Sans);
@import url(https://fonts.googleapis.com/css?family=Source+Serif+Pro);
@import url(https://fonts.googleapis.com/css?family=Roboto:400,300);
@import url('https://fonts.googleapis.com/css?family=Dancing+Script:700');

/* Main Body Styling */

html {
  -webkit-font-smoothing: antialiased;
}

body {
  max-height: 50%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  font-family: 'Open Sans', sans-serif;
  background: #352d2c;
  color: #000;
}

/* Mobile Nav Bar */

/* Don't Display Desktop Navigation */

#desk-nav {
  display: none;
}

#mobile-bar {
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 64px;
  background: #181818;
  -webkit-box-shadow: rgba(0, 0, 0, 0.380392) 0px 2px 5px;
  box-shadow: rgba(0, 0, 0, 0.380392) 0px 2px 5px;
}

/* Header */

/*  Front-logo svg  */

#front-logo {
  width: 60%;
  display: flex;
}

header {
  position: relative;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  display: block;
}

header #bg-photo {
  position: fixed;
  display: block;
  width: 100%;
  height: 100vh;
  object-fit: cover;
  z-index: -99;
  opacity: .9;
}

#location {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: .85em;
  text-align: center;
  width: 100%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #EDEEEF;
  font-family: 'Open Sans', sans-serif;
  line-height: 120%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

#location a {
  color: #EDEEEF;
  text-decoration: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}

#menu-front {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.8em;
  text-align: center;
  width: 100%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #EDEEEF;
  font-family: 'Open Sans', sans-serif;
  line-height: 120%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-top: 50px;
  margin-bottom: 30px;
}

#menu-front a {
  width: 123px;
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
  padding: 13px 0px;
  border: 1px solid #EDEEEF;
  border-radius: 4.2px;
  color: #352d2c;
  text-decoration: none;
  background: #edeeef;
  text-shadow: none;
  overflow: hidden;
  position: relative;
  -webkit-transition: all .25s cubic-bezier(0.14, 0.59, 1, 1.01);
  transition: all .25s cubic-bezier(0.14, 0.59, 1, 1.01);
}

#menu-front a:hover p {
  opacity: 1;
  transform: translateX(5px);
}

#arrow-hover {
  display: inline-block;
  position: absolute;
  transform: translateX(40px);
  opacity: 0;
  padding: 0;
  margin: 0;
  -webkit-transition: all .25s cubic-bezier(0.14, 0.59, 1, 1.01);
  transition: all .25s cubic-bezier(0.14, 0.59, 1, 1.01);
}

#content-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100vh;
  position: relative;
  width: 100%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  text-shadow: 1px 1px 30px #1e1e1e;
}

#mobile-hero::after {
  content: '';
  background: url('https://raw.githubusercontent.com/atloomer/atloomer.github.io/master/img/seperator.png') no-repeat 60% 60%;
  width: 37%;
  height: 1.875rem;
  display: block;
  background-size: contain;
  margin: auto;
}

#mobile-hero {
  display: block;
  width: 100%;
  font-family: 'Source Serif Pro', serif;
  font-size: 2.37em;
  color: #EDEEEF;
  text-align: center;
  padding: 0;
  text-transform: none;
  margin-bottom: 0;
}

#desk-hero {
  display: none;
}

/* Mobile Navigation */

/* drawer menu */

.drawer-menu {
  z-index: 9999;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  width: 250px;
  height: 100%;
  padding: 90px 0 120px 0;
  background: #1c1c1a;
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: .8s;
  transition-duration: .8s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: translateX(-500px);
  transform: translateX(-500px);
  opacity: 1;
  box-shadow: 0px 0px 5px #000;
  overflow: scroll;
}

.drawer-menu ul {
  padding-left: 0;
  font-family: 'Roboto', sans-serif;
  text-transform: uppercase;
  font-weight: lighter;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  width: 85%;
  margin: auto;
}

.drawer-menu li {
  text-align: left;
  list-style-type: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.drawer-menu li a {
  padding-left: 10%;
  display: block;
  height: 55px;
  line-height: 62px;
  font-size: 17px;
  color: #EDEEEF;
  text-decoration: none;
  -webkit-transition: all .5s;
  transition: all .5s;
  letter-spacing: 2px;
}

/* Checkbox to Display Nav Content */

.check {
  display: none;
}

/* Menu Button - Label Tag */

.menu-btn {
  position: fixed;
  display: block;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  top: 17px;
  left: 22px;
  width: 50px;
  height: 50px;
  font-size: 10px;
  cursor: pointer;
  z-index: 9999;
}

.bar {
  display: block;
  width: 30px;
  height: 1px;
  margin-top: 7px;
  background: #EDEEEF;
  -webkit-transition: all .5s;
  transition: all .5s;
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

.bar.middle {
  top: 10px;
  opacity: 1;
}

.bar.bottom {
  top: 20px;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}

.menu-btn__text {
  position: absolute;
  bottom: -15px;
  left: 0;
  right: 0;
  margin: auto;
  color: #fff;
  -webkit-transition: all .5s;
  transition: all .5s;
  display: block;
  visibility: visible;
  opacity: 1;
}

/* Close Menu */

.close-menu {
  position: fixed;
  top: 0;
  left: 250px;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0);
  -webkit-transition-property: all;
  transition-property: all;
  -webkit-transition-duration: .15s;
  transition-duration: .15s;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  visibility: hidden;
}

/* Checked Effects */

.check:checked~.drawer-menu {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform: none;
  transform: none;
  opacity: 1;
  z-index: 999;
}

.check:checked~.contents {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  -webkit-transform: translateX(300px);
  transform: translateX(300px);
}

.check:checked~.menu-btn .menu-btn__text {
  visibility: hidden;
  opacity: 0;
}

.check:checked~.menu-btn .bar.top {
  width: 33px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.check:checked~.menu-btn .bar.middle {
  opacity: 0;
  -webkit-transform: translateX(-100px);
  transform: translateX(-100px);
}

.check:checked~.menu-btn .bar.bottom {
  width: 33px;
  margin-top: 14px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.check:checked~.close-menu {
  -webkit-transition-duration: .8s;
  transition-duration: .8s;
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
  background: rgba(0, 0, 0, .5);
  visibility: visible;
  opacity: 1;
  z-index: 3;
}

/*  Carousel  */

.gallery {
  /* full width */
  height: 200px;
  background: #edeeef;
  padding-bottom: 20px;
}

.gallery .gallery-cell {
  height: 100%;
  width: 100%;
}

.gallery .gallery-cell img {
  width: 100%;
  height: 100%;
  overflow: hidden;
  object-fit: cover;
  margin: auto;
  position: absolute;
}

.gallery h2 {
  position: relative;
  text-align: center;
  color: #fff;
  text-shadow: 0 1.3px 2.3px #2d2d2d;
  font-size: 2em;
  font-weight: lighter;
  margin-top: 90px;
}

/* position dots in gallery */

.flickity-page-dots {
  bottom: 12px;
}

/* white circles */

.flickity-page-dots .dot {
  width: 12px;
  height: 12px;
  opacity: 1;
  background: transparent;
}

/* fill-in selected dot */

.flickity-page-dots .dot.is-selected {
  background: #181818;
}

/* McGlinn's Hours */

#hours {
  display: block;
  width: 100%;
  background: #EDEEEF;
  padding-top: 60px;
  letter-spacing: 1.23px;
  padding-bottom: 50px;
}

#hours h2 {
  width: 100%;
  font-family: 'Source Serif Pro', serif;
  font-size: 2em;
  text-align: center;
  padding-bottom: 10px;
}

#breakfast {
  text-align: center;
  padding-bottom: 50px;
  font-size: .8em;
}

#hours h3 {
  text-align: center;
  font-family: 'Source Serif Pro';
  text-transform: uppercase;
}

.days {
  display: block;
  text-align: center;
  width: 80%;
  margin: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  border-top: 1px solid #c9c9c9;
}

p#closeAt {
  display: flex;
  font-size: .8em;
  text-align: center;
  font-family: 'Open Sans', sans-serif;
  line-height: 150%;
  letter-spacing: 1px;
  padding-top: 10px;
  border-top: 1px solid #c9c9c9;
  opacity: 0.78;
}

/*  Temporary Late Night Hours and Menu  */

#late-night {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  margin: auto;
  width: 100%;
  padding: 70px 0;
  background: #e4e7e4;
}

#late-night h3 {
  margin: 0 40px;
  font-size: 1.3em;
  color: #2d2d2d;
  padding-bottom: 10px;
}

#split-window {
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  width: 100%;
  align-items: center;
  line-height: 200%;
  color: #2d2d2d;
  font-size: .85em;
}

#split-window p {
  padding: 40px 0;
  width: 80%;
  text-align: center;
  opacity: 0.8;
  line-height: 250%;
}

#split-window ul {
  list-style-type: none;
  text-align: center;
  padding: 0;
  border-top: 1px solid gray;
  padding: 40px 0;
  width: 80%;
  opacity: 0.7;
  text-transform: uppercase;
}

/* Don't Display Desktop .days Hours */

.desk-days {
  display: none;
}

#desk-hours {
  display: none;
}

/* About McGlinn's */

#about-text {
  display: block;
  width: 100%;
  background: #EDEEEF;
  padding-top: 80px;
  padding-bottom: 150px;
  letter-spacing: 1.23px;
}

#about-text h2 {
  width: 100%;
  font-family: 'Source Serif Pro', serif;
  font-size: 2em;
  text-align: center;
  padding-bottom: 20px;
}

#aboutLayout {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

#aboutLayout p {
  text-align: center;
  font-size: .8em;
  margin: 0 10%;
  letter-spacing: 0.5px;
}

#quote {
  width: 100%;
  display: flex;
  justify-content: center;
  text-align: center;
  color: #edeeef;
  background: #181818;
  padding: 80px 0;
  margin-top: 150px;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}

#quote h3 {
  width: 85%;
  -ms-align-self: center;
  align-self: center;
  margin-bottom: 0;
  font-size: 1em;
  font-weight: normal;
}

#quote h4 {
  font-style: italic;
}

/*  Menu Page  */

/*  Title for Menu Page  */

#title-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 260px;
  overflow: hidden;
  padding: 0;
  margin: 0;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  justify-content: center;
}

#title-menu img {
  position: fixed;
  width: 100%;
  height: 60vh;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: .8;
  top: 60px;
  -webkit-animation: bg-fade-in .8s ease-out;
  -o-animation: bg-fade-in .8s ease-out;
  animation: bg-fade-in .8s ease-out;
  z-index: -99;
}

#title-menu h2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  font-family: 'Roboto', sans-serif;
  font-size: 1.5em;
  text-shadow: rgba(0, 0, 0, 0.74902) 0px 2px 5px;
  color: #EDEEEF;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-shadow: 0 1.3px 2.3px #2d2d2d;
  z-index: 9;
  padding-top: 60px;
}

.menu-page {
  display: flex;
  width: 100%;
  background: #EDEEEF;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}

.menu-page h2 {
  width: 100%;
  display: flex;
  padding-top: 50px;
  font-family: 'Source Serif Pro', serif;
  font-size: 1.6em;
  justify-content: center;
}

#menu-pdf {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
  width: 80%;
  align-self: center;
  padding-bottom: 41px;
  border-bottom: 1px solid #ccc;
}

#menu-pdf a {
  color: #181818;
  border: 1px solid #352d2c;
  text-align: center;
  font-size: 0.8em;
  width: 123px;
  padding: 13px 0px;
  border: 1px solid #181818;
  border-radius: 4.2px;
  text-decoration: none;
  transition: all .15s cubic-bezier(0.14, 0.59, 1, 1.01);
  margin-top: 60px;
}

#menu-pdf a:hover {
  color: #EDEEEF;
  background: #352d2c;
}

/*  Gluten free and takeout information  */

#menu-information {
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  width: 100%;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  padding: 5px 0 50px 0;
}

#menu-information h4 {
  font-weight: lighter;
  font-size: 1em;
  text-align: center;
}

#gluten-free {
  width: 95%;
}

#takeout {
  width: 95%;
}

#takeout a {
  text-decoration: none;
  color: #000;
  line-height: 300%;
}

/*  Tabs  */

ul.tabs {
  display: flex;
  margin: 0;
  padding: 0;
  float: left;
  list-style: none;
  width: 100%;
  justify-content: center;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}

ul.tabs li {
  border: 1px solid #EDEEEF;
  text-align: center;
  display: flex;
  margin: 0 5px;
  cursor: pointer;
  padding: 5px 21px;
  background-color: #352d2c;
  color: #ccc;
  overflow: hidden;
  justify-content: center;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  font-size: 1em;
  border: 2px solid #9c9a99;
}

.menu-page h2.tabs {
  padding-top: 50px;
}

ul.tabs li:hover {
  background-color: #ccc;
  color: #333;
}

ul.tabs li.active {
  background-color: #fff;
  color: #333;
  border-bottom: 1px solid #fff;
  display: inline-flex;
}

.tab_container {
  border-top: none;
  clear: both;
  float: left;
  width: 100%;
  background: #fff;
}

.tab_content {
  padding-bottom: 50px;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.tab_drawer_heading {
  display: none;
}

/*  Menu Styling  */

.tab_content h2 {
  font-family: 'Roboto', sans-serif;
  text-transform: uppercase;
  text-align: center;
}

.tab_content h3 {
  display: inline-block;
  padding: 0 2px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 1.2em;
  padding-left: 20px;
}

.tab_content h6 {
  margin: 2px 90px 0px 15px;
  padding-bottom: 10px;
  font-weight: 200;
  text-transform: none;
  font-style: italic;
}

.seasonal {
  color: #89a66e;
}

h3.cursive {
  font-family: 'Dancing Script', cursive;
  color: #89a66e;
  font-size: 2.5em;
  text-transform: capitalize;
  margin: 0;
  padding-left: 0;
  padding-top: 15px;
}

.tab_content ul {
  text-transform: uppercase;
  list-style-type: none;
  margin: 0;
  padding-top: 15px;
  padding-bottom: 15px;
  border-top: 1px solid #cbcbcb;
  padding-left: 5px;
}

div#tab2.tab_content ul {
  padding-left: 25px;
}

.tab_content li {
  text-indent: -25px;
  padding-left: 25px;
}

.menu-left {
  width: 88%;
  align-self: center;
}

.menu-left li {
  display: flex;
  justify-content: space-between;
}

.menu-right li {
  display: flex;
  justify-content: space-between;
}

.menu-left li p {
  margin: 0 20px 0 30px;
  padding: 0;
  font-size: .8em;
  text-align: right;
}

.menu-right li p {
  margin: 0 20px 0 30px;
  padding: 0;
  font-size: .8em;
  text-align: right;
}

.menu-right {
  width: 88%;
  align-self: center;
}

.desk-lunch-dinner {
  display: none;
}

.mobile-lunch-dinner {
  display: block;
}

.food-options {
  text-align: right;
  font-size: .7em;
  font-weight: bold;
}

/*  Two Column Layout for Parklet and News/Events  */

#news {
  padding-top: 72.2px;
  width: 100%;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  background: #EDEEEF;
}

.image-window {
  display: block;
  height: 180px;
  align-self: center;
  padding: 0;
  min-width: 80%;
  position: relative;
  overflow: hidden;
}

.image-window img {
  display: block;
  object-fit: cover;
  height: 180px;
  width: 100%;
  align-self: center;
  position: absolute;
}

#event-layout {
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}

.event-block {
  width: 80%;
  border-left: 10px solid #626b39;
  background: #fff;
  padding: 20px;
  align-self: center;
  margin: 10px 0;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}

.event-block .event-seperator {
  height: 1px;
  width: 100%;
  background: #626b39;
  margin: 10px 0;
}

#events h2.event-name {
  font-size: 1.2em;
  font-family: 'Open Sans', sans-serif;
  text-align: left;
  padding: 0;
  margin-left: 10px;
  text-transform: uppercase;
  margin: 0;
}

/*  TEMPORARY HOLIDAY EVENT  */

.event-block {
  overflow: hidden;
}

#events p.event-date {
  text-align: left;
  text-transform: uppercase;
  padding: 0;
  margin: 0;
}

/*  Parklet  */

#parklet {
  background: #EDEEEF;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  padding-bottom: 100px;
  width: 100%;
}

#parklet h2 {
  width: 100%;
  font-family: 'Source Serif Pro', serif;
  font-size: 2em;
  text-align: center;
  padding: 30px 0 15px 0;
  margin-bottom: 0;
}

#parklet p {
  text-align: center;
  font-size: .8em;
  margin: 0 10%;
  letter-spacing: 0.5px;
}

/*  Events  */

#events {
  background: #EDEEEF;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  padding-bottom: 100px;
  width: 100%;
}

#events h2 {
  width: 100%;
  font-family: 'Source Serif Pro', serif;
  font-size: 2em;
  text-align: center;
  padding: 30px 0 15px 0;
  margin-bottom: 0;
}

#events p {
  text-align: center;
  font-size: .8em;
  margin: 0 10%;
  letter-spacing: 0.5px;
}

/*  Contact  */

#contact {
  width: 100%;
  background: #fff;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  padding: 80px 0 150px 0;
}

#left-contact, #right-contact {
  margin: 0 0 0 10%;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
}

#contact img {
  width: 15px;
  padding-right: 15px;
}

#left-contact {
  padding-bottom: 40px;
}

#contact p {
  padding-bottom: 20px;
  width: 75%;
}

#contact ul {
  list-style-type: none;
  padding: 0;
}

#contact li {
  padding: 10px 0;
}

#mail-button {
  font-size: .8em;
  margin-left: 10%;
  width: 80px;
  text-decoration: none;
  background: #181818;
  color: #edeeef;
  border: 1px solid #181818;
  border-radius: 5px;
  padding: 5px 0;
  transition: all .15s cubic-bezier(.14, .59, 1, 1.01);
  margin: 0;
  text-align: center;
}

#mail-button:hover {
  background: #fff;
  color: #181818;
}

#contact ul a {
  text-decoration: none;
  color: #181818;
}

/*  Balance Check Link  */

#balance-check-link {
  width: 100%;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
  text-align: center;
  padding: 150px 0;
  background: #181818;
}

#balance-check-link h1 {
  font-family: 'Source Serif Pro', serif;
  font-weight: lighter;
  width: 90%;
  font-size: 1.8em;
  margin: 0 0 30px 0;
  color: #626b39;
}

#balance-check-link h3 {
  font-weight: normal;
  width: 90%;
  margin: 0 0 50px 0;
  font-size: .9em;
  color: #969697;
}

#balance-check-link a {
  border: 1px solid #969697;
  border-radius: 4.2px;
  padding: 15px 30px;
  font-size: .75em;
  color: #181818;
  cursor: pointer;
  background: #969697;
  text-decoration: none;
  -webkit-transition: all .15s cubic-bezier(0.14, 0.59, 1, 1.01);
  transition: all .15s cubic-bezier(0.14, 0.59, 1, 1.01);
}

#balance-check-link a:hover p {
  opacity: 1;
  transform: translateX(5px);
}

/*  End Balance Check Link  */

/* Footer */

footer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  background: #181818;
  color: #ccc;
  font-size: .8em;
  padding: 40px 0;
  text-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 200%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

footer h2 {
  padding-top: 0;
  margin-top: 0;
  padding-bottom: 10px;
  color: #9c9a99;
}

footer p {
  opacity: .4;
  display: inline;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 0;
}

footer svg {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  width: 20px;
  height: 15px;
  padding: 0;
  margin: 0;
  opacity: .5;
  overflow: visible;
  padding-bottom: 20px;
}

footer svg path {
  fill: #edeeef;
}

footer a {
  margin: auto;
  padding-bottom: 20px;
  color: #ccc;
}

#media-icons img {
  width: 30px;
  height: 30px;
  padding: 10px;
}

#media-icons a {
  text-decoration: none;
}

/* Media Queries to resize to desktop view */

@media screen and (min-width:500px) {
  /*  Resize Tabs to Row  */
  ul.tabs {
    display: flex;
    margin: 0;
    padding: 0;
    float: left;
    list-style: none;
    width: 100%;
    justify-content: center;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    -o-flex-direction: row;
    flex-direction: row;
  }
  ul.tabs li {
    border: none;
    text-align: center;
    display: flex;
    margin: 0 5px;
    cursor: pointer;
    padding: 5px 21px;
    background-color: #352d2c;
    color: #ccc;
    overflow: hidden;
    justify-content: center;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    font-size: 1em;
  }
}

@media screen and (min-width:768px) {
  /*  Desktop Nav  */
  #desk-nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 62px;
    background: #181818;
    position: fixed;
    z-index: 99;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-shadow: rgba(0, 0, 0, 0.380392) 0px 2px 5px;
    box-shadow: rgba(0, 0, 0, 0.380392) 0px 2px 5px;
  }
  #desk-nav ul {
    list-style-type: none;
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
  #desk-nav ul li {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
  }
  #desk-nav svg {
    padding: 0 6px;
    width: 40px;
    height: 40px;
  }
  #desk-nav svg path {
    fill: #626b39;
  }
  #desk-nav a {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    color: #EDEEEF;
    text-decoration: none;
    letter-spacing: 1.2px;
    padding: 5px 17px;
    opacity: .75;
    margin: 5px 12px;
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
    font-size: .8em;
    align-items: center;
    font-weight: lighter;
  }
  /*  Nav Item Hover Effects  */
  #desk-nav a:before {
    content: '';
    position: absolute;
    bottom: 0;
    width: 0;
    border-bottom: 1px solid #EDEEEF;
  }
  #desk-nav a:before {
    left: 0;
  }
  #desk-nav a:hover {
    color: #EDEEEF;
    opacity: 1;
  }
  #desk-nav a:hover:before {
    width: 100%;
  }
  #desk-nav a:before {
    -webkit-transition: width .2s cubic-bezier(0.14, 0.59, 1, 1.01);
    transition: width .2s cubic-bezier(0.14, 0.59, 1, 1.01);
  }
  /*  Don't Display Mobile Navigation  */
  .drawer-menu {
    display: none;
  }
  .close-menu {
    display: none;
  }
  #mobile-bar {
    display: none;
  }
  .menu-btn {
    display: none;
  }
  /*  Resize Landing Page Content  */
  #content-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100vh;
    position: relative;
    width: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    top: 20px;
    align-items: center;
  }
  #front-logo {
    width: 40%;
  }
  #desk-hero {
    display: block;
    width: 100%;
    font-family: 'Source Serif Pro', serif;
    font-weight: lighter;
    font-size: 4em;
    color: #EDEEEF;
    text-align: center;
    padding: 0;
    text-transform: none;
    position: relative;
    margin-bottom: 0;
    z-index: 1;
  }
  #desk-hero::after {
    content: '';
    background: url('https://raw.githubusercontent.com/atloomer/atloomer.github.io/master/img/seperator.png') no-repeat 60% 60%;
    width: 20%;
    height: 1.875rem;
    display: block;
    background-size: contain;
    margin: auto;
  }
  #menu-front {
    font-size: 0.85em;
    margin-top: 70px;
    margin-bottom: 0px;
  }
  #menu-front a {
    width: 150px;
    -webkit-align-self: center;
    -ms-flex-item-align: center;
    align-self: center;
    padding: 16px 4px;
    border: 1px solid #EDEEEF;
    border-radius: 4.2px;
    text-decoration: none;
    -webkit-transition: all .15s cubic-bezier(0.14, 0.59, 1, 1.01);
    transition: all .15s cubic-bezier(0.14, 0.59, 1, 1.01);
  }
  /*  Menu Page  */
  /*  Title for Menu Page  */
  #title-menu {
    height: 450px;
  }
  #title-menu img {
    height: 100%;
    top: 60px;
    z-index: -99;
    position: fixed;
  }
  #title-menu h2 {
    font-size: 2.2em;
    padding-top: 60px;
  }
  #location {
    font-size: 1.2em;
  }
  #mobile-hero {
    display: none;
  }
  /*  Resizing Carousel for desktop  */
  .gallery {
    /* full width */
    height: 420px;
    background: #edeeef;
    padding-bottom: 20px;
  }
  .gallery h2 {
    margin-top: 185px;
    font-size: 3em;
  }
  /*   Resize Late Night Hours Section   */
  #late-night {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    margin: auto;
    width: 100%;
    padding: 70px 0;
    background: #e4e7e4;
  }
  #late-night h3 {
    font-size: 1.5em;
    color: #2d2d2d;
    padding-bottom: 50px;
  }
  #split-window {
    display: flex;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    -o-flex-direction: row;
    flex-direction: row;
    width: 100%;
    align-items: center;
    line-height: 200%;
    font-size: 1em;
  }
  #split-window p {
    padding: 40px 0;
    width: 50%;
    text-align: center;
    opacity: 0.8;
  }
  #split-window ul {
    list-style-type: none;
    text-align: center;
    padding: 0;
    border-top: none;
    border-left: 1px solid gray;
    padding: 40px 0;
    width: 50%;
    opacity: 0.7;
    text-transform: uppercase;
  }
  /*  Resize and Change the About Layout  */
  #about {
    height: 300px;
  }
  #about img {
    height: 300px;
  }
  #about-text h2 {
    font-size: 2.32em;
  }
  h2#about-header {
    font-size: 2.5em;
  }
  #aboutLayout p {
    margin: 0px 20%;
    line-height: 175%;
    font-size: 1em;
  }
  #quote h3 {
    width: 60%;
    font-size: 1.2em;
  }
  /*  Resize and Change the Parklet Layout  */
  #parklet p {
    margin: 0 20%;
    line-height: 150%;
  }
  #parklet {
    border-right: 1px solid #c0c0c0;
  }
  /*  Resize and Change the Events Layout  */
  #events p {
    margin: 0 20%;
    line-height: 150%;
  }
  /*  Balance Check Link  */
  #balance-check-link {
    width: 100%;
    display: flex;
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    -o-flex-direction: column;
    flex-direction: column;
    -ms-align-items: center;
    align-items: center;
    text-align: center;
    padding: 150px 0;
    background: #181818;
  }
  #balance-check-link h1 {
    width: 80%;
    font-size: 2.5em;
  }
  #balance-check-link h3 {
    width: 50%;
    font-size: 1em;
  }
  #balance-check-link a {
    font-size: .85em;
  }
  #balance-check-link a:hover p {
    opacity: 1;
    transform: translateX(5px);
  }
  /*  End Balance Check Link  */
  /*  McGlinn's Menu Page  */
  .menu-page h2 {
    font-size: 2.37em;
  }
  #menu-pdf a {
    font-size: 0.85em;
  }
  /*  The Parklet  */
  #parklet h2 {
    font-size: 2.32em;
  }
  /*  Menu tabs  */
  .tab_content {
    padding-bottom: 50px;
    display: flex;
    justify-content: space-around;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    -o-flex-direction: row;
    flex-direction: row;
  }
  /*  Menu Styling  */
  .tab_content h2 {
    font-family: 'Roboto', sans-serif;
    text-transform: uppercase;
  }
  .tab_content h3 {
    display: inline-block;
    padding: 0 2px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1.2em;
    padding-left: 20px;
  }
  li.wine-bottle {
    color: #652f54;
  }
  h3.cursive {
    font-family: 'Dancing Script', cursive;
    color: #89a66e;
    font-size: 3em;
    text-transform: capitalize;
    margin: 0;
    padding-left: 0;
  }
  .tab_content ul {
    text-transform: uppercase;
    list-style-type: none;
    margin: 0;
    padding-top: 15px;
    border-top: 1px solid #cbcbcb;
    padding-bottom: 15px;
  }
  .menu-left {
    width: 43%;
    align-self: auto
  }
  .menu-right {
    width: 43%;
    align-self: auto;
  }
  .desk-lunch-dinner {
    display: block;
  }
  .mobile-lunch-dinner {
    display: none;
  }
}

@media screen and (min-width:900px) {
  /*  Front Logo  */
  #front-logo {
    width: 30%;
  }
  /*  Events  */
  #events h2 {
    font-size: 2.32em;
  }
  /*  Don't Display Mobile .days Hours  */
  .days {
    display: none;
  }
  /*  Resize and Change Hours Layout  */
  #hours h2 {
    font-size: 2.32em;
    padding-bottom: 20px;
  }
  #breakfast {
    padding-bottom: 70px;
  }
  #desk-hours {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .desk-days {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 13%;
    margin-bottom: 70px;
    padding: 22.3px 0px;
    font-family: 'Source Serif Pro', serif;
  }
  .desk-days:nth-child(even) {
    border-right: 1px solid #c9c9c9;
  }
  .desk-days:nth-child(1) {
    border-right: 1px solid #c9c9c9;
  }
  .desk-days:nth-child(3) {
    border-right: 1px solid #c9c9c9;
  }
  .desk-days:nth-child(5) {
    border-right: 1px solid #c9c9c9;
  }
  .desk-days h3 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    font-weight: lighter;
  }
  .desk-days span {
    line-height: 130%;
    text-transform: none;
  }
  .desk-days span:nth-child(1) {
    font-size: 1.2em;
  }
  .desk-days span:nth-child(2) {
    font-size: 1em;
  }
  .desk-days span:nth-child(3) {
    font-size: .9em;
    padding-bottom: 10px;
  }
  .desk-days p {
    font-weight: bold;
  }
  #hourArrow {
    margin: 0;
    font-size: 1.2em;
    color: #000;
    opacity: 0.7;
  }
  /*  Resize Parklet and News/Events and Change Flex Direction for Two Column Layout  */
  #news {
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    -o-flex-direction: row;
    flex-direction: row;
    justify-content: center;
    padding-bottom: 70px;
    background: #EDEEEF;
  }
  .image-window {
    display: flex;
    height: 300px;
    align-self: center;
    padding: 0;
    min-width: 80%;
    position: relative;
    overflow: hidden;
  }
  .image-window img {
    object-fit: cover;
    height: 300px;
    width: 100%;
    align-self: center;
    position: absolute;
  }
  #parklet {
    padding-top: 30px;
    width: 50%;
    background: #EDEEEF;
  }
  #parklet p {
    font-size: .9em;
  }
  #events {
    padding-top: 30px;
    width: 50%;
    background: #EDEEEF;
  }
  #events p {
    font-size: .9em;
  }
  /*  Resize gift card link  */
  #balance-check-link h3 {
    width: 30%;
    font-size: 1em;
  }
  /*  End gift card link  */
  /*  Desktop Contact  */
  #contact {
    width: 100%;
    display: flex;
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    -o-flex-direction: row;
    flex-direction: row;
    padding: 100px 0 150px 0;
  }
  #left-contact {
    width: 60%;
  }
  #right-contact {
    width: 40%;
  }
}

/*  Flickity carousel  */

.carousel {
  background: #edeeef;
}

.carousel-cell {
  margin-right: 20px;
  overflow: hidden;
}

.carousel-cell img {
  display: block;
  height: 200px;
}

@media screen and ( min-width: 768px) {
  .carousel-cell img {
    height: 400px;
  }
}

/*  Events HTML Page */

#title-menu.events-title {
  height: 50vh;
}

#title-menu.events-title h2 {
  color: #edeeef;
  padding-left: 10%;
  justify-content: flex-start;
  font-size: 2em;
}

.events-title span {
  width: 65%;
  height: 1px;
  background: #edeeef;
  margin-left: 10%;
}

/*  Coming this Week  */
.coming-this-week {
  display: flex;
  width: 100%;
  background: #352d2c;
  height: 200px;
}


text:
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using CSC.CSClassroom.Model.Classrooms;
using CSC.CSClassroom.Model.Communications;
using CSC.CSClassroom.Model.Users;
using CSC.CSClassroom.Service.Classrooms;
using CSC.CSClassroom.Service.Communications;
using CSC.CSClassroom.Service.Identity;
using CSC.CSClassroom.WebApp.Filters;
using CSC.CSClassroom.WebApp.ViewModels.Shared;
using Microsoft.AspNetCore.Mvc;
using ReflectionIT.Mvc.Paging;

namespace CSC.CSClassroom.WebApp.Controllers
{
	/// <summary>
	/// The classroom controller.
	/// </summary>
	public class ClassroomController : BaseController
	{
		/// <summary>
		/// The classroom service.
		/// </summary>
		private IClassroomService ClassroomService { get; }

		/// <summary>
		/// The user service.
		/// </summary>
		private IUserService UserService { get; }

	    /// <summary>
	    /// The classroom service.
	    /// </summary>
	    private IAnnouncementService AnnouncementService { get; }

        /// <summary>
        /// Constructor.
        /// </summary>
        public ClassroomController(
			BaseControllerArgs args,
			IClassroomService classroomService,
			IUserService userService,
            IAnnouncementService announcementService)
				: base(args)
		{
			ClassroomService = classroomService;
			UserService = userService;
		    AnnouncementService = announcementService;

		}

		/// <summary>
		/// Shows all classrooms.
		/// </summary>
		[Route("Classes")]
		[Authorization(RequiredAccess.SuperUser)]
		public async Task<IActionResult> Index()
		{
			var classrooms = await ClassroomService.GetClassroomsAsync();

			return View(classrooms);
		}

		/// <summary>
		/// Creates a new classroom.
		/// </summary>
		[Route("CreateClass")]
		[Authorization(RequiredAccess.SuperUser)]
		public IActionResult Create()
		{
			return View("CreateEdit");
		}

		/// <summary>
		/// Creates a new classroom.
		/// </summary>
		[HttpPost]
		[ValidateAntiForgeryToken]
		[Route("CreateClass")]
		[Authorization(RequiredAccess.SuperUser)]
		public async Task<IActionResult> Create(Classroom classroom)
		{
			if (ModelState.IsValid)
			{
				await ClassroomService.CreateClassroomAsync(classroom);

				return RedirectToAction("Index");
			}
			else
			{
				return View("CreateEdit", classroom);
			}
		}

		/// <summary>
		/// Edits a classroom.
		/// </summary>
		[Route("Classes/{className}/Edit")]
		[Authorization(RequiredAccess.SuperUser)]
		public async Task<IActionResult> Edit(string className)
		{
			if (className == null)
			{
				return NotFound();
			}

			var classroom = await ClassroomService.GetClassroomAsync(className);
			if (classroom == null)
			{
				return NotFound();
			}

			return View("CreateEdit", classroom);
		}

		/// <summary>
		/// Edits a classroom.
		/// </summary>
		[HttpPost]
		[ValidateAntiForgeryToken]
		[Route("Classes/{className}/Edit")]
		[Authorization(RequiredAccess.SuperUser)]
		public async Task<IActionResult> Edit(string className, Classroom classroom)
		{
			if (ModelState.IsValid)
			{
				await ClassroomService.UpdateClassroomAsync(classroom);

				return RedirectToAction("Index");
			}
			else
			{
				return View("CreateEdit", classroom);
			}
		}

		/// <summary>
		/// Archives a classroom.
		/// </summary>
		[Route("Classes/{className}/Archive")]
		[Authorization(RequiredAccess.SuperUser)]
		public async Task<IActionResult> Archive(string className)
		{
			if (className == null)
			{
				return NotFound();
			}

			var classroom = await ClassroomService.GetClassroomAsync(className);
			if (classroom == null)
			{
				return NotFound();
			}

			return View("Archive", classroom);
		}

		/// <summary>
		/// Archives a classroom.
		/// </summary>
		[HttpPost]
		[ValidateAntiForgeryToken]
		[Route("Classes/{className}/Archive")]
		[Authorization(RequiredAccess.SuperUser)]
		public async Task<IActionResult> Archive(
			string className,
			string archivedClassName)
		{
			var result = await ClassroomService.ArchiveClassroomAsync
			(
				className,
				archivedClassName
			);

			if (!result)
			{
				return NotFound();
			}

			return RedirectToAction("Index");
		}

		/// <summary>
		/// Deletes a classroom.
		/// </summary>
		[Route("Classes/{className}/Delete")]
		[Authorization(RequiredAccess.SuperUser)]
		public async Task<IActionResult> Delete(string className)
		{
			if (className == null)
			{
				return NotFound();
			}

			var classroom = await ClassroomService.GetClassroomAsync(className);
			if (classroom == null)
			{
				return NotFound();
			}

			return View(classroom);
		}

		/// <summary>
		/// Deletes a classroom.
		/// </summary>
		[HttpPost, ActionName("Delete")]
		[ValidateAntiForgeryToken]
		[Route("Classes/{className}/Delete")]
		[Authorization(RequiredAccess.SuperUser)]
		public async Task<IActionResult> DeleteConfirmed(string className)
		{
			await ClassroomService.DeleteClassroomAsync(className);

			return RedirectToAction("Index");
		}
	}
}

redpajama_set_name: RedPajamaGithub


text:
CREATE PROCEDURE usp_GetHoldersFullName AS
BEGIN
	SELECT ah.FirstName + ' ' + ah.LastName FROM dbo.AccountHolders AS ah
END

--CREATE TABLE AccountHolders(
--ID INT PRIMARY KEY IDENTITY,
--FirstName VARCHAR(50),
--LastName VARCHAR(50),
--SSN VARCHAR(50)
--)

--CREATE TABLE Accounts(
--Id INT PRIMARY KEY IDENTITY,
--Balance MONEY,
--AccountHolderId INT, CONSTRAINT FK_Accounts_AccountHolders FOREIGN KEY (Id) REFERENCES AccountHolders(Id)
--)

--INSERT INTO AccountHolders (FirstName, LastName)
--VALUES
--('Petar', 'Dimitrov'),
--('Nikolay', 'Petkov'),
--('Lidinka', 'Plamenova'),
--('Svetoslav', 'Dimitrov'),
--('Alexander', 'Krustev')


text:
@implementation HRWServerDownLoadCardRequestModel
- (instancetype)initWithuserId:(NSString *)userId cardId:(NSString *)cardId typeId:(NSString *)typeId
{
    self = [super init];
    if (self) {
        self.userId = userId;
        self.cardId = cardId;
        self.typeId = typeId;
    }
    return self;
}

@end


text:
#!python3
"""Requests - A nustack wrapper for the python requests module

Makes heavy use of the new (v0.10) attribute access. For example, to get the text of the webpage "http://example.com"
just run
```
`Requests import
"http://example.com" Requests::get
/* We now get the text attribute of the response object on top of the stack */
::text show
```
You can access every attribute and method of the [python requests Response object](http://docs.python-requests.org/en/master/api/#lower-level-classes) this way.
"""

from nustack.extensionbase import Module, Token
module = Module("std::Requests")

import requests
import urllib.parse

def wrap_req(req):
    return Token("request_obj", req)

@module.register("get")
def get(env) -> "(url -- response_object)":
    "Returns a request object that represents a GET request to the given url"
    url = env.stack.pop().val
    req = wrap_req(requests.get(url))
    env.stack.push(req)

@module.register("head")
def get(env) -> "(url -- response_object)":
    "Returns a request object that represents a HEAD request to the given url"
    url = env.stack.pop().val
    req = wrap_req(requests.head(url))
    env.stack.push(req)

@module.register("head")
def get(env) -> "(url -- response_object)":
    "Returns a request object that represents a HEAD request to the given url"
    url = env.stack.pop().val
    req = wrap_req(requests.head(url))
    env.stack.push(req)

@module.register("delete")
def get(env) -> "(url -- response_object)":
    "Returns a request object that represents a DELETE request to the given url"
    url = env.stack.pop().val
    req = wrap_req(requests.delet(url))
    env.stack.push(req)

@module.register("options")
def get(env) -> "(url -- response_object)":
    "Returns a request object that represents a OPTIONS request to the given url"
    url = env.stack.pop().val
    req = wrap_req(requests.options(url))
    env.stack.push(req)

@module.register("post")
def get(env) -> "(url data -- response_object)":
    "Returns a request object that represents a POST request to the given url. `data` is a hash map."
    url, data = env.stack.popN(2)
    url = url.val
    data = {k.val: v.val for (k,v) in data.val.items()}
    req = wrap_req(requests.post(url, data=data))
    env.stack.push(req)

@module.register("put")
def get(env) -> "(url data -- response_object)":
    "Returns a request object that represents a PUT request to the given url. `data` is a hash map."
    url, data = env.stack.popN(2)
    url = url.val
    data = {k.val:  v.val for (k,v) in data.val.items()}
    req = wrap_req(requests.put(url, data=data))
    env.stack.push(req)

@module.register("encode.params")
def enc_params(env) -> "(hash -- string)":
    "Encode the hash mqp `hash` as a query string suitable to concatenate to the end of an url"
    params = env.stack.pop().val
    params = {k.val: v.val for (k,v) in params.val.items()}
    env.stack.push(Token("lit_string", urllib.parse.urlencode(params)))


text:
require 'matrix'

describe "Matrix::Scalar#-" do
  it "needs to be reviewed for spec completeness"
end


text:
<?php

namespace LaravelEnso\Core\app\Http\Requests;

use LaravelEnso\Core\app\Models\User;
use Illuminate\Foundation\Http\FormRequest;

class ValidatePasswordRequest extends FormRequest
{
    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'email' => 'exists:users,email',
            'password' => 'nullable|confirmed|min:'.config('enso.auth.password.minLength'),
        ];
    }

    public function withValidator($validator)
    {
        $user = $this->route('user')
            ?? User::whereEmail($this->get('email'))->first();

        if ($this->filled('password')) {
            $validator->after(function ($validator) use ($user) {
                (new PasswordValidator(
                    $this, $validator, $user)
                )->handle();
            });
        }
    }
}


text:
    NSLocalizedStringFromTableInBundle( \
    __key, \
    @"KYAPreferences", \
    NSBundle.mainBundle, \
    __comment)

#define KYA_PREFS_L10N_PREFERENCES_TITLE KYA_PREFS_LOCALIZED_STRING(@"KeepingYouAwake – Settings", @"KeepingYouAwake – Settings")

#define KYA_PREFS_L10N_GENERAL KYA_PREFS_LOCALIZED_STRING(@"General", @"General")
#define KYA_PREFS_L10N_ACTIVATION_DURATION KYA_PREFS_LOCALIZED_STRING(@"Activation Duration", @"Activation Duration")
#define KYA_PREFS_L10N_BATTERY KYA_PREFS_LOCALIZED_STRING(@"Battery", @"Battery")
#define KYA_PREFS_L10N_ADVANCED KYA_PREFS_LOCALIZED_STRING(@"Advanced", @"Advanced")
#define KYA_PREFS_L10N_UPDATES KYA_PREFS_LOCALIZED_STRING(@"Updates", @"Updates")
#define KYA_PREFS_L10N_ABOUT KYA_PREFS_LOCALIZED_STRING(@"About", @"About")


text:
import getElementStyle from './getElementStyle';

const defaultOptions = {
  duration: 300,
  updateTranslate: true,
  updateScale: true,
  updateOpacity: true,
  delay: 0,
  durationMultiplier: 1,
  getElementStyle: getElementStyle,
  timing: time =>
    Math.pow(time, 2) / (Math.pow(time, 2) + Math.pow(1 - time, 2))
};

class Flip {
  constructor({ element, options, debug = false }) {
    this.element = element;
    this.optionCreator = options;
    this.updateOptions();
    this.debug = debug;

    this.animate = this.animate.bind(this);
  }

  updateOptions() {
    if (typeof this.optionCreator === 'function') {
      this.options = Object.assign({}, defaultOptions, this.optionCreator());
    } else {
      this.options = Object.assign({}, defaultOptions, this.optionCreator);
    }
    if (process.env.NODE_ENV === 'development' && this.debug) {
      console.debug('Options updated', this.options.id, this.options);
    }
  }

  first() {
    this._first = this.options.getElementStyle(this.element);
    if (process.env.NODE_ENV === 'development' && this.debug) {
      console.debug(this.options.id, this._first);
    }
  }

  last() {
    this._last = this.options.getElementStyle(this.element);
    if (process.env.NODE_ENV === 'development' && this.debug) {
      console.debug(this.options.id, this._last);
    }
  }

  invert() {
    if (!this._first || !this._last) {
      if (process.env.NODE_ENV === 'development' && this.debug) {
        console.warn(
          this.options.id,
          'Make sure to call `flip.first()` and `flip.last()` before calling `flip.invert()`'
        );
      }
      return;
    }

    this.updateOptions();

    this._invert = {
      translateX: 0,
      translateY: 0,
      scaleX: 1,
      scaleY: 1,
      opacity: 0
    };

    if (this.options.updateTranslate) {
      this._invert.translateX = this._first.left - this._last.left;
      this._invert.translateY = this._first.top - this._last.top;
    }
    if (this.options.updateScale) {
      this._invert.scaleX = this._first.width / this._last.width;
      this._invert.scaleY = this._first.height / this._last.height;
    }
    if (this.options.updateOpacity) {
      this._invert.opacity = this._first.opacity - this._last.opacity;
    }

    if (
      this._invert.translateX === 0 &&
      this._invert.translateY === 0 &&
      this._invert.scaleX === 1 &&
      this._invert.scaleY === 1 &&
      this._invert.opacity === 0
    ) {
      if (process.env.NODE_ENV === 'development' && this.debug) {
        console.warn(this.options.id, 'Nothing to animate', this.element);
      }
      this.resetStyle();
      return;
    }

    this.updateStyle(0);
    this.element.style.zIndex = Math.max(this._first.zIndex, this._last.zIndex);
    this.element.style.transformOrigin = '0 0';
    this.element.style.willChange = 'transform, opacity';
    if (process.env.NODE_ENV === 'development' && this.debug) {
      console.debug(this.options.id, 'Ready to animate');
    }
    return true;
  }

  play(startTime) {
    if (!this._invert) {
      if (process.env.NODE_ENV === 'development' && this.debug) {
        console.warn(
          this.options.id,
          'Make sure to call `flip.invert()` before calling `flip.play()`'
        );
      }
      return;
    }

    this._start = window.performance.now() +
      this.options.delay * this.options.durationMultiplier;

    const promise = new Promise((resolve, reject) => {
      this.resolve = resolve;
      this.reject = reject;
    });

    if (process.env.NODE_ENV === 'development' && this.debug) {
      console.debug(this.options.id, 'Starting animation at', this._start);
    }
    window.requestAnimationFrame(this.animate);

    return promise;
  }

  animate() {
    const end = window.performance.now();
    let time = (end - this._start) /
      (this.options.duration * this.options.durationMultiplier);
    time = Math.min(1, Math.max(0, time));

    this.updateStyle(this.options.timing(time));

    if (time < 1) {
      window.requestAnimationFrame(this.animate);
    } else {
      if (process.env.NODE_ENV === 'development' && this.debug) {
        console.debug(this.options.id, 'Ending animation at', end);
        console.debug(this.options.id, 'Total duration:', end - this._start);
        console.debug(
          this.options.id,
          'Actual duration:',
          this.options.duration * this.options.durationMultiplier
        );
      }
      this.resetStyle();
    }
  }

  updateStyle(time) {
    const transform = {
      translateX: this._invert.translateX * (1 - time),
      translateY: this._invert.translateY * (1 - time),
      scaleX: this._invert.scaleX + (1 - this._invert.scaleX) * time,
      scaleY: this._invert.scaleY + (1 - this._invert.scaleY) * time,
      opacity: this._last.opacity + this._invert.opacity * (1 - time)
    };
    this.element.style.transform = `
      translate(${transform.translateX}px, ${transform.translateY}px)
      scale(${transform.scaleX}, ${transform.scaleY})
    `;
    this.element.style.opacity = transform.opacity;
  }

  resetStyle() {
    this._invert = null;
    this.element.style.transformOrigin = null;
    this.element.style.transform = null;
    this.element.style.opacity = null;
    this.element.style.willChange = null;
    this.element.style.zIndex = null;
    this.resolve && this.resolve();
  }
}

export default Flip;


text:
//
//  StringUtil.h
//  AirTouch
//
//  Created by huangfujun on 15/2/4.
//  Copyright (c) 2015年 Honeywell. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <QuartzCore/QuartzCore.h>
#import <CoreText/CTStringAttributes.h>
#import <CoreText/CoreText.h>

@interface StringUtil : NSObject

+ (NSMutableAttributedString *)plainStringToAttributedUnits:(NSString *)string;
/**
 *  @author Wang Lei, 15-08-05 14:08:03
 *
 *  @brief  generate different style in same text
 *
 *  @param string show text
 *  @param array  attribute array
 *  @[@[[UIFont systemFontOfSize:10.0],[UIColor redColor],   NSStringFromRange(NSMakeRange(0, [@"123456789" length]))],
 *    @[[UIFont systemFontOfSize:20.0],[UIColor blueColor],  NSStringFromRange(NSMakeRange(2, 2))],
 *    @[[UIFont systemFontOfSize:30.0],[UIColor yellowColor],NSStringFromRange(NSMakeRange(4, 2))]
 *   ]
 *  @return NSMutableAttributedString object
 *
 *  @since 1640
 */
+(NSMutableAttributedString *)attributedWithString:(NSString *)string attributeArray:(NSArray *)array;

+(NSMutableAttributedString *)attributedWithString:(NSString *)string attributeArray:(NSArray *)array targetView:(UIView *)targetView;

/**
 *  @author Wang Lei, 15-08-05 14:08:03
 *
 *  @brief  generate different style in same text
 *
 *  @param string show text
 *  @param array  attribute array
 *  @[@[10.0],              : all text
 *    @[20.0,spicalText],   : spical text
 *    @[20.0,spicalText],   : spical text
 *         ....
 *   ]
 *  @return NSMutableAttributedString object
 *
 *  @since 1720
 */
+(NSMutableAttributedString *)defaultAttributedWithString:(NSString *)string attributeArray:(NSArray *)array targetView:(UIView *)targetView;

/**
 *  @author Wang Lei, 15-10-27 22:10:12
 *
 *  @brief  generate different style in same text with image
 *
 *  @param string                string show text
 *  @param array                 attribute array
 *  @param imageAttributedString imageAttributedString
 *  @param targetView            targetView
 *
 *  @return NSMutableAttributedString object
 *
 *  @since 1940
 */
+(NSMutableAttributedString *)defaultAttributedWithString:(NSString *)string attributeArray:(NSArray *)array imageAttributedString:(NSAttributedString *)imageAttributedString imageIndex:(long)index targetView:(UIView *)targetView;

@end


text:
<!DOCTYPE html>
<html lang="en" itemscope itemtype="https://schema.org/WebPage">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <meta name="theme-color" content="#466BB0"/>
        <meta name="title" content="ControlZ / {{template "title" .}}">

        <title>ControlZ / {{template "title" .}}</title>

        <link rel="shortcut icon" href="/favicons/favicon.ico" >
        <link rel="apple-touch-icon" href="/favicons/apple-touch-icon-180x180.png" sizes="180x180">
        <link rel="icon" type="image/png" href="/favicons/favicon-16x16.png" sizes="16x16">
        <link rel="icon" type="image/png" href="/favicons/favicon-32x32.png" sizes="32x32">
        <link rel="icon" type="image/png" href="/favicons/android-36x36.png" sizes="36x36">
        <link rel="icon" type="image/png" href="/favicons/android-48x48.png" sizes="48x48">
        <link rel="icon" type="image/png" href="/favicons/android-72x72.png" sizes="72x72">
        <link rel="icon" type="image/png" href="/favicons/android-96x196.png" sizes="96x196">
        <link rel="icon" type="image/png" href="/favicons/android-144x144.png" sizes="144x144">
        <link rel="icon" type="image/png" href="/favicons/android-192x192.png" sizes="192x192">

        <!-- app manifests -->
        <link rel="manifest" href="/manifest.json">
        <meta name="apple-mobile-web-app-title" content="Istio ControlZ">
        <meta name="application-name" content="Istio">

        <!-- style sheets -->
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,100,100italic,300,300italic,400italic,500,500italic,700,700italic,900,900italic">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
        <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.6/css/all.css">
        <link rel="stylesheet" href="/css/all.css">
        <link rel="stylesheet" href="/css/dark_syntax.css">
    </head>

    <body>
        {{template "header" .}}
        {{template "main" .}}

        <!-- libraries we pull in -->
        <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script>
        <script src="/js/prism.min.js"></script>

        <!-- our own scripts -->
        <script src="/js/misc.js"></script>
    </body>
</html>


text:
<?php

namespace FragSeb\Supervisor\Test\Response;

use FragSeb\Supervisor\Response\Response;
use FragSeb\Supervisor\Response\ResponseInterface;

/**
 * @covers \FragSeb\Supervisor\Response\Response
 */
class ResponseTest extends \PHPUnit_Framework_TestCase
{
    /**
     * @var ResponseInterface
     */
    private $response;

    public function setUp()
    {
        $this->response = new Response('test', ['foo' => 'bar']);
    }

    public function testGetMethod()
    {
        static::assertEquals('test', $this->response->getMethod());
    }

    public function testGetContent()
    {
        static::assertEquals(['foo' => 'bar'], $this->response->getContent());
    }
}


text:
package org.springframework.richclient.settings.j2seprefs;

import java.io.IOException;
import java.util.prefs.Preferences;
import java.util.prefs.PreferencesFactory;

import org.springframework.richclient.settings.Settings;
import org.springframework.richclient.settings.SettingsFactory;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;

/**
 * Settings factory that uses J2SE Preferences.
 *
 * @author Peter De Bruycker
 */
public class PreferencesSettingsFactory implements SettingsFactory {
	private PreferencesFactory preferencesFactory;

	private String id;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public PreferencesFactory getPreferencesFactory() {
		return preferencesFactory;
	}

	public void setPreferencesFactory(PreferencesFactory preferencesFactory) {
		this.preferencesFactory = preferencesFactory;
	}

	private Preferences getForId(Preferences root, String id) {
		Assert.notNull(root);
		Preferences result = root;
		String[] idParts = id.split("\\.");
		for (int i = 0; i < idParts.length; i++) {
			result = result.node(idParts[i]);
		}
		return result;
	}

	public Settings createSettings(String name) {
		Assert.state(StringUtils.hasText(id), "An id must be assigned.");
		Settings settings = null;
		if (preferencesFactory == null) {
			settings = new PreferencesSettings(getForId(Preferences.userRoot(), id).node(name));
		} else {
			settings = new PreferencesSettings(getForId(preferencesFactory.userRoot(), id).node(name));
		}

		try {
			settings.load();
		} catch (IOException e) {
			throw new RuntimeException(e);
		}

		return settings;
	}

}


text:
@interface SelectLoginUserViewController : BaseViewController

- (instancetype)initWithCallBackBlock:(void (^)(AccountInfo *user))block
                            chainUser:(NSArray *)chainUser
                         selectedUser:(AccountInfo *)selectedUser;

@end


text:
import django_filters

from .models import (
    GeoCodeSource,
    GeoCodeMethod,
    FacilityCoordinates,
    WorldBorder,
    CountyBoundary,
    ConstituencyBoundary,
    WardBoundary
)

from common.filters.filter_shared import (
    CommonFieldsFilterset,
    ListCharFilter
)

class GeoCodeSourceFilter(CommonFieldsFilterset):
    name = django_filters.CharFilter(lookup_type='icontains')
    description = django_filters.CharFilter(lookup_type='icontains')
    abbreviation = django_filters.CharFilter(lookup_type='icontains')

    class Meta(object):
        model = GeoCodeSource

class GeoCodeMethodFilter(CommonFieldsFilterset):
    name = django_filters.CharFilter(lookup_type='icontains')
    description = django_filters.CharFilter(lookup_type='icontains')

    class Meta(object):
        model = GeoCodeMethod

class FacilityCoordinatesFilter(CommonFieldsFilterset):

    ward = ListCharFilter(lookup_type='exact', name='facility__ward')
    constituency = ListCharFilter(
        lookup_type='exact', name='facility__ward__constituency'
    )
    county = ListCharFilter(
        lookup_type='exact', name='facility__ward__constituency__county'
    )

    class Meta(object):
        model = FacilityCoordinates

class WorldBorderFilter(CommonFieldsFilterset):
    name = ListCharFilter(lookup_type='icontains')
    code = ListCharFilter(lookup_type='icontains')

    class Meta(object):
        model = WorldBorder

class CountyBoundaryFilter(CommonFieldsFilterset):
    id = ListCharFilter(lookup_type='icontains')
    name = ListCharFilter(lookup_type='icontains')
    code = ListCharFilter(lookup_type='exact')
    area = ListCharFilter(lookup_type='exact')

    class Meta(object):
        model = CountyBoundary

class ConstituencyBoundaryFilter(CommonFieldsFilterset):
    id = ListCharFilter(lookup_type='icontains')
    name = ListCharFilter(lookup_type='icontains')
    code = ListCharFilter(lookup_type='exact')
    area = ListCharFilter(lookup_type='exact')

    class Meta(object):
        model = ConstituencyBoundary

class WardBoundaryFilter(CommonFieldsFilterset):
    id = ListCharFilter(lookup_type='icontains')
    name = ListCharFilter(lookup_type='icontains')
    code = ListCharFilter(lookup_type='exact')
    area = ListCharFilter(lookup_type='exact')

    class Meta(object):
        model = WardBoundary


text:
<?php

namespace N98\Magento\Command\Developer\Module\Dependencies;

class FromCommand extends AbstractCommand
{
    /**#@+
     * Command texts to output
     *
     * @var string
     */
    const COMMAND_NAME               = 'dev:module:dependencies:from';
    const COMMAND_DESCRIPTION        = 'Show list of modules which depend on %s module';
    const COMMAND_SECTION_TITLE_TEXT = "List of modules which depend on %s module";
    const COMMAND_NO_RESULTS_TEXT    = "No modules depend on %s module";
    /**#@-*/

    /**
     * Find dependencies of given module $moduleName.
     * If $recursive = true, dependencies will be collected recursively for all module dependencies
     *
     * @param string $moduleName
     * @param bool $recursive
     * @return array
     * @throws \InvalidArgumentException
     */
    protected function findModuleDependencies($moduleName, $recursive = false)
    {
        if ($this->modules === null) {
            $this->modules = \Mage::app()->getConfig()->getNode('modules')->asArray();
        }

        if (isset($this->modules[$moduleName])) {
            $dependencies = array();
            foreach ($this->modules as $dependencyName => $module) {
                if (isset($module['depends'][$moduleName])) {
                    $dependencies[$dependencyName] = array(
                        $dependencyName,
                        isset($module['active']) ? $this->formatActive($module['active']) : '-',
                        isset($module['version']) ? $module['version'] : '-',
                        isset($module['codePool']) ? $module['codePool'] : '-',
                    );
                    if ($recursive) {
                        $dependencies = array_merge(
                            $dependencies,
                            $this->findModuleDependencies($dependencyName, $recursive)
                        );
                    }
                }
            }

            return $dependencies;
        } else {
            throw new \InvalidArgumentException(sprintf("Module %s was not found", $moduleName));
        }
    }
}


text:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.badlogicgames.gradletest"
    android:versionCode="1"
    android:versionName="1.0" >
    <!-- Tell the system this app requires OpenGL ES 2.0. -->
    <uses-feature android:glEsVersion="0x00020000" android:required="true" />
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity android:screenOrientation="portrait" android:configChanges="orientation|keyboardHidden"
                  android:name="com.badlogicgames.gradletest.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


text:
package org.apache.reef.mock;

import org.apache.reef.annotations.Unstable;
import org.apache.reef.driver.client.JobMessageObserver;
import org.apache.reef.driver.context.ActiveContext;
import org.apache.reef.driver.context.ClosedContext;
import org.apache.reef.driver.context.ContextMessage;
import org.apache.reef.driver.context.FailedContext;
import org.apache.reef.driver.evaluator.AllocatedEvaluator;
import org.apache.reef.driver.evaluator.CompletedEvaluator;
import org.apache.reef.driver.evaluator.EvaluatorRequestor;
import org.apache.reef.driver.evaluator.FailedEvaluator;
import org.apache.reef.driver.parameters.*;
import org.apache.reef.driver.task.*;
import org.apache.reef.mock.runtime.MockClock;
import org.apache.reef.mock.runtime.MockEvaluatorRequestor;
import org.apache.reef.mock.runtime.MockRuntimeDriver;
import org.apache.reef.tang.formats.ConfigurationModule;
import org.apache.reef.tang.formats.ConfigurationModuleBuilder;
import org.apache.reef.tang.formats.OptionalImpl;
import org.apache.reef.tang.formats.RequiredImpl;
import org.apache.reef.wake.EventHandler;
import org.apache.reef.wake.time.Clock;
import org.apache.reef.wake.time.event.StartTime;
import org.apache.reef.wake.time.event.StopTime;

/**
 * Configure a mock runtime.
 */
@Unstable
public class MockConfiguration extends ConfigurationModuleBuilder {

  /**
   * The event handler invoked right after the driver boots up.
   */
  public static final RequiredImpl<EventHandler<StartTime>> ON_DRIVER_STARTED = new RequiredImpl<>();

  /**
   * The event handler invoked right before the driver shuts down. Defaults to ignore.
   */
  public static final OptionalImpl<EventHandler<StopTime>> ON_DRIVER_STOP = new OptionalImpl<>();

  // ***** EVALUATOR HANDLER BINDINGS:

  /**
   * Event handler for allocated evaluators. Defaults to returning the evaluator if not bound.
   */
  public static final OptionalImpl<EventHandler<AllocatedEvaluator>> ON_EVALUATOR_ALLOCATED = new OptionalImpl<>();

  /**
   * Event handler for completed evaluators. Defaults to logging if not bound.
   */
  public static final OptionalImpl<EventHandler<CompletedEvaluator>> ON_EVALUATOR_COMPLETED = new OptionalImpl<>();

  /**
   * Event handler for failed evaluators. Defaults to job failure if not bound.
   */
  public static final OptionalImpl<EventHandler<FailedEvaluator>> ON_EVALUATOR_FAILED = new OptionalImpl<>();

  // ***** TASK HANDLER BINDINGS:

  /**
   * Event handler for task messages. Defaults to logging if not bound.
   */
  public static final OptionalImpl<EventHandler<TaskMessage>> ON_TASK_MESSAGE = new OptionalImpl<>();

  /**
   * Event handler for completed tasks. Defaults to closing the context the task ran on if not bound.
   */
  public static final OptionalImpl<EventHandler<CompletedTask>> ON_TASK_COMPLETED = new OptionalImpl<>();

  /**
   * Event handler for failed tasks. Defaults to job failure if not bound.
   */
  public static final OptionalImpl<EventHandler<FailedTask>> ON_TASK_FAILED = new OptionalImpl<>();

  /**
   * Event handler for running tasks. Defaults to logging if not bound.
   */
  public static final OptionalImpl<EventHandler<RunningTask>> ON_TASK_RUNNING = new OptionalImpl<>();

  /**
   * Event handler for suspended tasks. Defaults to job failure if not bound. Rationale: many jobs don't support
   * task suspension. Hence, this parameter should be optional. The only sane default is to crash the job, then.
   */
  public static final OptionalImpl<EventHandler<SuspendedTask>> ON_TASK_SUSPENDED = new OptionalImpl<>();

  // ***** CONTEXT HANDLER BINDINGS:

  /**
   * Event handler for active context. Defaults to closing the context if not bound.
   */
  public static final OptionalImpl<EventHandler<ActiveContext>> ON_CONTEXT_ACTIVE = new OptionalImpl<>();

  /**
   * Event handler for closed context. Defaults to logging if not bound.
   */
  public static final OptionalImpl<EventHandler<ClosedContext>> ON_CONTEXT_CLOSED = new OptionalImpl<>();

  /**
   * Event handler for closed context. Defaults to job failure if not bound.
   */
  public static final OptionalImpl<EventHandler<FailedContext>> ON_CONTEXT_FAILED = new OptionalImpl<>();

  /**
   * Event handler for context messages. Defaults to logging if not bound.
   */
  public static final OptionalImpl<EventHandler<ContextMessage>> ON_CONTEXT_MESSAGE = new OptionalImpl<>();

  /**
   * Receiver of messages sent by the Driver to the client.
   */
  public static final OptionalImpl<JobMessageObserver> ON_JOB_MESSAGE = new OptionalImpl<>();

  /**
   *  An implementation of a task return value provider.
   */
  public static final OptionalImpl<MockTaskReturnValueProvider> TASK_RETURN_VALUE_PROVIDER = new OptionalImpl<>();

  public static final ConfigurationModule CONF = new MockConfiguration()
      .bindImplementation(EvaluatorRequestor.class, MockEvaluatorRequestor.class) // requesting evaluators
      .bindImplementation(MockRuntime.class, MockRuntimeDriver.class)
      .bindImplementation(MockFailure.class, MockRuntimeDriver.class)
      .bindImplementation(Clock.class, MockClock.class)
      .bindImplementation(MockTaskReturnValueProvider.class, TASK_RETURN_VALUE_PROVIDER)

      // client handlers
      .bindImplementation(JobMessageObserver.class, ON_JOB_MESSAGE) // sending message to job client

      // Driver start/stop handlers
      .bindSetEntry(DriverStartHandler.class, ON_DRIVER_STARTED)
      .bindSetEntry(Clock.StopHandler.class, ON_DRIVER_STOP)

      // Evaluator handlers
      .bindSetEntry(EvaluatorAllocatedHandlers.class, ON_EVALUATOR_ALLOCATED)
      .bindSetEntry(EvaluatorCompletedHandlers.class, ON_EVALUATOR_COMPLETED)
      .bindSetEntry(EvaluatorFailedHandlers.class, ON_EVALUATOR_FAILED)

      // Task handlers
      .bindSetEntry(TaskRunningHandlers.class, ON_TASK_RUNNING)
      .bindSetEntry(TaskFailedHandlers.class, ON_TASK_FAILED)
      .bindSetEntry(TaskMessageHandlers.class, ON_TASK_MESSAGE)
      .bindSetEntry(TaskCompletedHandlers.class, ON_TASK_COMPLETED)
      .bindSetEntry(TaskSuspendedHandlers.class, ON_TASK_SUSPENDED)

      // Context handlers
      .bindSetEntry(ContextActiveHandlers.class, ON_CONTEXT_ACTIVE)
      .bindSetEntry(ContextClosedHandlers.class, ON_CONTEXT_CLOSED)
      .bindSetEntry(ContextMessageHandlers.class, ON_CONTEXT_MESSAGE)
      .bindSetEntry(ContextFailedHandlers.class, ON_CONTEXT_FAILED)

      .build();

}


text:
package org.apache.ibatis.cache;

import java.io.Serializable;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;

/**
 * @author Clinton Begin
 */
public class CacheKey implements Cloneable, Serializable {

  private static final long serialVersionUID = 1146682552656046210L;

  public static final CacheKey NULL_CACHE_KEY = new NullCacheKey();

  private static final int DEFAULT_MULTIPLYER = 37;
  private static final int DEFAULT_HASHCODE = 17;

  private int multiplier;
  private int hashcode;
  private long checksum;
  private int count;
  private List<Object> updateList;

  public CacheKey() {
    this.hashcode = DEFAULT_HASHCODE;
    this.multiplier = DEFAULT_MULTIPLYER;
    this.count = 0;
    this.updateList = new ArrayList<Object>();
  }

  public CacheKey(Object[] objects) {
    this();
    updateAll(objects);
  }

  public int getUpdateCount() {
    return updateList.size();
  }

  public void update(Object object) {
    if (object != null && object.getClass().isArray()) {
      int length = Array.getLength(object);
      for (int i = 0; i < length; i++) {
        Object element = Array.get(object, i);
        doUpdate(element);
      }
    } else {
      doUpdate(object);
    }
  }

  private void doUpdate(Object object) {
    int baseHashCode = object == null ? 1 : object.hashCode();

    count++;
    checksum += baseHashCode;
    baseHashCode *= count;

    hashcode = multiplier * hashcode + baseHashCode;

    updateList.add(object);
  }

  public void updateAll(Object[] objects) {
    for (Object o : objects) {
      update(o);
    }
  }

  @Override
  public boolean equals(Object object) {
    if (this == object) {
      return true;
    }
    if (!(object instanceof CacheKey)) {
      return false;
    }

    final CacheKey cacheKey = (CacheKey) object;

    if (hashcode != cacheKey.hashcode) {
      return false;
    }
    if (checksum != cacheKey.checksum) {
      return false;
    }
    if (count != cacheKey.count) {
      return false;
    }

    for (int i = 0; i < updateList.size(); i++) {
      Object thisObject = updateList.get(i);
      Object thatObject = cacheKey.updateList.get(i);
      if (thisObject == null) {
        if (thatObject != null) {
          return false;
        }
      } else {
        if (!thisObject.equals(thatObject)) {
          return false;
        }
      }
    }
    return true;
  }

  @Override
  public int hashCode() {
    return hashcode;
  }

  @Override
  public String toString() {
    StringBuilder returnValue = new StringBuilder().append(hashcode).append(':').append(checksum);
    for (int i = 0; i < updateList.size(); i++) {
      returnValue.append(':').append(updateList.get(i));
    }

    return returnValue.toString();
  }

  @Override
  public CacheKey clone() throws CloneNotSupportedException {
    CacheKey clonedCacheKey = (CacheKey) super.clone();
    clonedCacheKey.updateList = new ArrayList<Object>(updateList);
    return clonedCacheKey;
  }

}


text:
class CreateComments < ActiveRecord::Migration
  def change
  	create_table :comments do |t|
  		t.text :text
  		t.belongs_to :user
  		t.belongs_to :post
  		t.timestamps
  	end
  end
end


text:
from amusement.parks.disney.MagicKingdom import MagicKingdom
from amusement.parks.disney.Epcot import Epcot
from amusement.parks.disney.HollywoodStudios import HollywoodStudios
from amusement.parks.disney.AnimalKingdom import AnimalKingdom
from amusement.parks.disney.Disneyland import Disneyland
from amusement.parks.disney.CaliforniaAdventure import CaliforniaAdventure
from amusement.parks.universal.UniversalStudiosFlorida import UniversalStudiosFlorida
from amusement.parks.universal.IslandsOfAdventure import IslandsOfAdventure
from amusement.parks.universal.UniversalStudiosHollywood import UniversalStudiosHollywood
from amusement.parks.universal.UniversalJapan import UniversalJapan
from amusement.parks.HersheyPark import HersheyPark

Parks = {
    'magic-kingdom' : MagicKingdom(),
    'epcot' : Epcot(),
    'hollywood-studios' : HollywoodStudios(),
    'animal-kingdom' : AnimalKingdom(),
    'disneyland' : Disneyland(),
    'ca-adventure' : CaliforniaAdventure(),
    'universal-florida' : UniversalStudiosFlorida(),
    'islands-adventure' : IslandsOfAdventure(),
    'universal-hollywood' : UniversalStudiosHollywood(),
    'universal-japan' : UniversalJapan(),
    'hersheypark' : HersheyPark(),
}


text:
import {Component} from 'angular2/core';
import {ROUTER_DIRECTIVES, RouteConfig} from 'angular2/router';
import {NavbarComponent} from './navbar.component';
import {ToolbarComponent} from './toolbar.component';
import {ModelMetaService} from '../shared/index';
import {LookupComponent} from '../+lookup/index';
import {AboutComponent} from '../+about/index';
import {LookupGraphComponent} from '../+lookupgraph/index';

@Component({
  selector: 'mb-app',
  viewProviders: [ModelMetaService],
  templateUrl: 'app/components/app.component.html',
  styleUrls: ['app/components/app.component.css'],
  directives: [ROUTER_DIRECTIVES, NavbarComponent, ToolbarComponent]
})
@RouteConfig([
  {
    path: '/lookup',
    name: 'Lookup',
    component: LookupComponent
  },
  {
    path: '/about',
    name: 'About',
    component: AboutComponent
  },
  {
    path: '/',
    name: 'LookupGraph',
    component: LookupGraphComponent
  }
])
export class AppComponent {}


text:
import tornado.gen

from tornado.gen import sleep, Future
from tornado.httpclient import HTTPRequest, HTTPError
from tornado.simple_httpclient import SimpleAsyncHTTPClient

from .. import options as _opts
from anthill.common.internal import Internal, InternalError
from anthill.common.validate import validate_value
from anthill.common.server import Server
from . util import promise, PromiseContext, APIError

API_TIMEOUT = 5

# noinspection PyUnusedLocal
@promise
async def sleep(delay, handler=None):
    await tornado.gen.sleep(delay)

# noinspection PyUnusedLocal
@promise
async def moment(handler=None):
    await tornado.gen.moment

def log(message):
    handler = PromiseContext.current
    if handler:
        handler.log(message)

class AdminAPI(object):
    @promise
    async def delete_accounts(self, accounts, gamespace_only=True, handler=None, *args, **kwargs):
        application = Server.instance()

        publisher = await application.acquire_publisher()

        await publisher.publish("DEL", {
            "gamespace": handler.env["gamespace"],
            "accounts": accounts,
            "gamespace_only": gamespace_only
        })

# noinspection PyUnusedLocal
class WebAPI(object):
    def __init__(self):
        self.http_client = SimpleAsyncHTTPClient()
        self.rc_cache = {}

    @promise
    async def get(self, url, headers=None, *args, **kwargs):
        request = HTTPRequest(url=url, use_gzip=True, headers=headers)

        existing_futures = self.rc_cache.get(url, None)

        if existing_futures is not None:
            future = Future()
            existing_futures.append(future)
            result = await future
            return result

        new_futures = []
        self.rc_cache[url] = new_futures

        try:
            response = await self.http_client.fetch(request)
        except HTTPError as e:
            e = APIError(e.code, e.message)

            for future in new_futures:
                future.set_exception(e)

            del self.rc_cache[url]
            raise e
        else:
            body = response.body

            for future in new_futures:
                future.set_result(body)

            del self.rc_cache[url]

        return body

# noinspection PyUnusedLocal
class ConfigAPI(object):
    @promise
    async def get(self, handler=None, *ignored):

        app_name = handler.env["application_name"]
        app_version = handler.env["application_version"]

        key = "config:" + str(app_name) + ":" + str(app_version)
        cached = handler.get_cache(key)
        if cached:
            return cached

        internal = Internal()

        try:
            info = await internal.request(
                "config", "get_configuration",
                timeout=API_TIMEOUT,
                app_name=app_name,
                app_version=app_version,
                gamespace=handler.env["gamespace"])
        except InternalError as e:
            raise APIError(e.code, e.body)

        handler.set_cache(key, info)
        return info

# noinspection PyUnusedLocal
class StoreAPI(object):

    @promise
    async def get(self, name, handler=None, *ignored):

        if not isinstance(name, str):
            raise APIError(400, "name should be a string")

        key = "store:" + str(name)
        cached = handler.get_cache(key)
        if cached:
            return cached

        internal = Internal()

        try:
            config = await internal.request(
                "store", "get_store",
                timeout=API_TIMEOUT,
                gamespace=handler.env["gamespace"],
                name=name)
        except InternalError as e:
            raise APIError(e.code, e.body)

        handler.set_cache(key, config)
        return config

    @promise
    async def new_order(self, store, item, currency, amount, component, env=None, handler=None, *ignored):

        internal = Internal()

        try:
            result = await internal.request(
                "store", "new_order",
                timeout=API_TIMEOUT,
                gamespace=handler.env["gamespace"],
                account=handler.env["account"],
                store=store,
                item=item,
                currency=currency,
                amount=amount,
                component=component,
                env=env)
        except InternalError as e:
            raise APIError(e.code, e.body)

        return result

    @promise
    async def update_order(self, order_id, handler=None, *ignored):

        internal = Internal()

        try:
            result = await internal.request(
                "store", "update_order",
                timeout=API_TIMEOUT,
                gamespace=handler.env["gamespace"],
                account=handler.env["account"],
                order_id=order_id)
        except InternalError as e:
            raise APIError(e.code, e.body)

        return result

    @promise
    async def update_orders(self, handler=None, *ignored):

        internal = Internal()

        try:
            result = await internal.request(
                "store", "update_orders",
                timeout=API_TIMEOUT,
                gamespace=handler.env["gamespace"],
                account=handler.env["account"])
        except InternalError as e:
            raise APIError(e.code, e.body)

        return result

# noinspection PyUnusedLocal
class ProfileAPI(object):

    @promise
    async def get(self, path="", handler=None, *ignored):

        if not isinstance(path, str):
            raise APIError(400, "Path should be a string")

        internal = Internal()

        try:
            profile = await internal.request(
                "profile", "get_my_profile",
                timeout=API_TIMEOUT,
                gamespace_id=handler.env["gamespace"],
                account_id=handler.env["account"],
                path=path)
        except InternalError as e:
            raise APIError(e.code, e.body)

        return profile

    @promise
    async def update(self, profile=None, path="", merge=True, handler=None, *ignored):

        if not isinstance(path, str):
            raise APIError(400, "Path should be a string")

        key = "profile:" + str(path)
        if not profile:
            profile = {}

        internal = Internal()

        try:
            profile = await internal.request(
                "profile", "update_profile",
                timeout=API_TIMEOUT,
                gamespace_id=handler.env["gamespace"],
                account_id=handler.env["account"],
                fields=profile,
                path=path,
                merge=merge)
        except InternalError as e:
            raise APIError(e.code, e.body)

        handler.set_cache(key, profile)
        return profile

    @promise
    async def query(self, query, limit=1000, handler=None, *ignored):

        if not validate_value(query, "json_dict"):
            raise APIError(400, "Query should be a JSON object")

        internal = Internal()

        try:
            results = await internal.request(
                "profile", "query_profiles",
                timeout=API_TIMEOUT,
                gamespace_id=handler.env["gamespace"],
                query=query,
                limit=limit)
        except InternalError as e:
            raise APIError(e.code, e.body)

        return results

# noinspection PyUnusedLocal
class SocialAPI(object):

    @promise
    async def acquire_name(self, kind, name, handler=None, *ignored):
        internal = Internal()

        try:
            profile = await internal.request(
                "social", "acquire_name",
                gamespace=handler.env["gamespace"],
                account=handler.env["account"],
                kind=kind,
                name=name)
        except InternalError as e:
            raise APIError(e.code, e.body)

        return profile

    @promise
    async def check_name(self, kind, name, handler=None, *ignored):
        internal = Internal()

        try:
            account_id = await internal.request(
                "social", "check_name",
                gamespace=handler.env["gamespace"],
                kind=kind,
                name=name)
        except InternalError as e:
            raise APIError(e.code, e.body)

        return account_id

    @promise
    async def release_name(self, kind, handler=None, *ignored):
        internal = Internal()

        try:
            released = await internal.request(
                "social", "release_name",
                gamespace=handler.env["gamespace"],
                account=handler.env["account"],
                kind=kind)
        except InternalError as e:
            raise APIError(e.code, e.body)

        return released

    @promise
    async def update_profile(self, group_id, profile=None, path=None, merge=True, handler=None, *ignored):
        if path and not isinstance(path, (list, tuple)):
            raise APIError(400, "Path should be a list/tuple")

        internal = Internal()

        try:
            profile = await internal.request(
                "social", "update_group_profile",
                timeout=API_TIMEOUT,
                gamespace=handler.env["gamespace"],
                group_id=group_id,
                profile=profile,
                path=path,
                merge=merge)
        except InternalError as e:
            raise APIError(e.code, e.body)

        return profile

    @promise
    async def update_group_profiles(self, group_profiles, path=None, merge=True, synced=False, handler=None, *ignored):
        if not isinstance(group_profiles, dict):
            raise APIError(400, "Group profiles should be a dict")

        if path and not isinstance(path, (list, tuple)):
            raise APIError(400, "Path should be a list/tuple")

        internal = Internal()

        try:
            profile = await internal.request(
                "social", "update_group_profiles",
                timeout=API_TIMEOUT,
                gamespace=handler.env["gamespace"],
                group_profiles=group_profiles,
                path=path or [],
                merge=merge,
                synced=synced)
        except InternalError as e:
            raise APIError(e.code, e.body)

        return profile

# noinspection PyUnusedLocal
class MessageAPI(object):

    @promise
    async def send_batch(self, sender, messages, authoritative=True, handler=None, *ignored):

        internal = Internal()

        try:
            await internal.request(
                "message", "send_batch",
                timeout=API_TIMEOUT,
                gamespace=handler.env["gamespace"],
                sender=sender,
                messages=messages,
                authoritative=authoritative)
        except InternalError as e:
            raise APIError(e.code, e.body)
        return "OK"

# noinspection PyUnusedLocal
class PromoAPI(object):

    @promise
    async def use_code(self, key, handler=None, *ignored):

        internal = Internal()

        try:
            result = await internal.request(
                "promo", "use_code",
                timeout=API_TIMEOUT,
                gamespace=handler.env["gamespace"],
                account=handler.env["account"],
                key=key)
        except InternalError as e:
            raise APIError(e.code, e.body)

        try:
            result = result["result"]
        except KeyError:
            raise APIError(500, "Response had no 'result' field.")

        return result

class EventAPI(object):
    @promise
    async def update_event_profile(self, event_id, profile, path=None, merge=True, handler=None):
        internal = Internal()

        try:
            events = await internal.request(
                "event", "update_event_profile",
                event_id=event_id,
                profile=profile,
                path=path,
                merge=merge,
                timeout=API_TIMEOUT,
                gamespace=handler.env["gamespace"],
                account=handler.env["account"])
        except InternalError as e:
            raise APIError(e.code, e.body)

        return events

    @promise
    async def list(self, extra_start_time=0, extra_end_time=0, handler=None):
        internal = Internal()

        try:
            events = await internal.request(
                "event", "get_list",
                timeout=API_TIMEOUT,
                gamespace=handler.env["gamespace"],
                account=handler.env["account"],
                extra_start_time=extra_start_time,
                extra_end_time=extra_end_time)
        except InternalError as e:
            raise APIError(e.code, e.body)

        return events

class APIS(object):
    config = ConfigAPI()
    store = StoreAPI()
    profile = ProfileAPI()
    social = SocialAPI()
    message = MessageAPI()
    promo = PromoAPI()
    web = WebAPI()
    event = EventAPI()
    admin = AdminAPI()

def expose(context, is_server=False):

    expose_objects = {
        "log": log,
        "sleep": sleep,
        "moment": moment,
        "web": APIS.web,
        "config": APIS.config,
        "store": APIS.store,
        "profile": APIS.profile,
        "social": APIS.social,
        "message": APIS.message,
        "promo": APIS.promo,
        "event": APIS.event
    }

    if is_server:
        expose_objects.update({
            "admin": APIS.admin
        })

    # define them as readonly
    for name, callback in expose_objects.items():
        context.Object.defineProperty(
            context.glob, name, {'value': callback, 'writable': False})


text:
package com.riversoft.weixin.pay.payment.wrapper;

import com.fasterxml.jackson.annotation.JsonUnwrapped;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.riversoft.weixin.pay.payment.bean.OrderQueryRequest;

/**
 * @borball on 1/13/2017.
 */
@JacksonXmlRootElement(localName = "xml")
public class OrderQueryRequestWrapper extends BaseSettings {

    @JsonUnwrapped
    private OrderQueryRequest request;

    public void setRequest(OrderQueryRequest request) {
        this.request = request;
    }

    public OrderQueryRequest getRequest() {
        return request;
    }
}


text:
package com.deleidos.rtws.core.framework;

import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * Annotation used to give a user configured value.
 */
@Target(METHOD)
@Retention(RUNTIME)
@Documented
public @interface UserConfigured {

	/**
	 * The user configured value.
	 *
	 * @return the user configured value as a string
	 */
	public String value();

	/**
	 * A description of the user configured value.
	 *
	 * @return the string
	 */
	public String description() default "";

	/**
	 * The information required to map the constraints of the value to a
	 * ActionScript built in/custom validator.
	 *
	 * @return the string representing the name and parameters of an
	 *         ActionScript validator
	 * @see Adobe
	 *      Validator SDK
	 */
	public String[] flexValidator() default {};

	/**
	 * The option to disallow the user from configuring a UserConfigured
	 * value.

	 *

	 * True indicates that the user will not be able to edit the value.
	 * The value will be treated as a SystemConfigured annotation
	 * and set the variable to the value defined in the value field.

	 * False gives user access to edit the value.
	 *
	 * @return true, if the user is allowed to configure the value. false, otherwise
	 */
	public String convertToSystemConfigured() default "false";
}


text:
Contains function definitions for the Windows API library slcext. See winapi for types and constants.

```toml
[dependencies]
slcext-sys = "0.0.1"
```

```rust
extern crate slcext;
```

[Documentation](https://retep998.github.io/doc/slcext/)


text:
#
#######################DISA INFORMATION##################################
# Group ID (Vulid): RHEL-06-000036
# Group Title: SRG-OS-999999
#

# Rule ID: RHEL-06-000036_rule
# Severity: medium
# Rule Version (STIG-ID): RHEL-06-000036
# Rule Title: The /etc/gshadow file must be owned by root.
#
# Vulnerability Discussion: The "/etc/gshadow" file contains group
# password hashes. Protection of this file is critical for system security.
#
# Responsibility:
# IAControls:
#
# Check Content:
#
# To check the ownership of "/etc/gshadow", run the command:

# $ ls -l /etc/gshadow

# If properly configured, the output should indicate the following owner:
# "root"
# If it does not, this is a finding.
#
# Fix Text:
#
# To properly set the owner of "/etc/gshadow", run the command:

# chown root /etc/gshadow

#######################DISA INFORMATION##################################
#
# Global Variables
PDI=RHEL-06-000036
SEVERITY=medium
#
#BEGIN_CHECK
. ./aqueduct_functions
MOD_MSG="/etc/gshadow root ownership"
if [ -a "/etc/gshadow" ]; then
        CUROWN=`stat -c %U /etc/gshadow`;
    	if [ "$CUROWN" != "root" ];then
#END_CHECK
#BEGIN_REMEDY
            	chown root /etc/gshadow
		show_message $PDI "$MOD_MSG" fixed

	else
		show_message $PDI "$MOD_MSG" pass
	fi
fi
#END_REMEDY


text:
import { Blaze } from 'meteor/blaze';
import { Template } from 'meteor/templating';
import './icon_list.js';

/**
 Icon selector input

 @class iconSelector
 @extends abstractinput
 @final
 **/
(function ($) {
  "use strict";

  var IconSelector = function (options) {
    this.init("iconSelector", options, IconSelector.defaults);
  };

  $.fn.editableutils.inherit(IconSelector, $.fn.editabletypes.abstractinput);

  $.extend(IconSelector.prototype, {
    render() {
      this.$input.parent().append('

');
      this.search = this.$input.parent().find(".x-editable-icon-selector");

      Blaze.renderWithData(Template.IconList, {
        xEditable: this
      }, this.search.get(0));

      if (this.options.parentInstance) {
        this.options.parentInstance.searchView = Blaze.getView(this.search.children().get(0))
      }
    }
  });

  IconSelector.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults, {
    /**
     @property tpl
     @default <input type="text">
     **/
    tpl: '<input type="hidden" class="x-editable-icon-value">',

    /**
     @property parentInstance
     @type object
     @default null
     **/
    parentInstance: null
  });

  $.fn.editabletypes.iconSelector = IconSelector;

}(window.jQuery));