/**
 * Import Compass
 */
/* ==========================================================================
   Icon Library Mixin
   ========================================================================== */
/* ==========================================================================
   Shadows
   ========================================================================== */
/******************************************************************************
Month Calendar
******************************************************************************/
.t-ClassicCalendar-title {
  margin: 0;
  padding: 16px 12px;
  font-size: 2.4rem;
  line-height: 3.32rem;
  font-weight: 200;
  text-align: center; }

.t-ClassicCalendar-calendar {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed; }

.t-ClassicCalendar-dayColumn {
  text-align: center;
  padding: 4px 8px;
  font-weight: normal;
  font-size: 1.2rem;
  line-height: 1.6rem;
  border-width: 1px;
  border-style: solid; }

.t-ClassicCalendar-day {
  height: 72px;
  vertical-align: top;
  border-width: 1px;
  border-style: solid; }
  .t-ClassicCalendar-day.is-today .t-ClassicCalendar-date {
    margin: 4px;
    padding: 0;
    font-weight: bold;
    width: 20px;
    height: 20px;
    line-height: 20px;
    border-radius: 100%;
    text-align: center;
    overflow: hidden; }

.t-ClassicCalendar-date {
  font-size: 1.2rem;
  line-height: 1.2rem;
  float: right;
  padding: 4px 8px; }

.t-ClassicCalendar-dayEvents {
  margin-top: 20px;
  font-size: 1.2rem;
  line-height: 1.6rem; }
  .t-ClassicCalendar-day .t-ClassicCalendar-dayEvents {
    margin-top: 28px; }

.t-ClassicCalendar-event {
  display: block;
  margin: 2px;
  padding: 2px 8px;
  border-radius: 2px; }
  .t-ClassicCalendar-event a {
    display: block;
    margin: -2px -8px;
    padding: 2px 8px;
    border-radius: 2px; }

/******************************************************************************
Weekly and Daily
******************************************************************************/
.t-ClassicCalendar--weekly .t-ClassicCalendar-calendar,
.t-ClassicCalendar--daily .t-ClassicCalendar-calendar {
  table-layout: auto; }

.t-ClassicCalendar--weekly .t-ClassicCalendar-day,
.t-ClassicCalendar--daily .t-ClassicCalendar-day {
  height: 12px;
  width: 14%; }

.t-ClassicCalendar--weekly .t-ClassicCalendar-dayEvents,
.t-ClassicCalendar--daily .t-ClassicCalendar-dayEvents {
  margin-top: 0; }
  .t-ClassicCalendar--weekly .t-ClassicCalendar-dayEvents a,
  .t-ClassicCalendar--daily .t-ClassicCalendar-dayEvents a {
    display: block;
    padding: 2px 8px;
    border-radius: 2px;
    margin: 2px; }

.t-ClassicCalendar--weekly .t-ClassicCalendar-timeCol,
.t-ClassicCalendar--daily .t-ClassicCalendar-timeCol {
  width: 4%; }

.t-ClassicCalendar--daily .t-ClassicCalendar-timeCol {
  width: 1%; }

/******************************************************************************
List Calendar
******************************************************************************/
.t-ClassicCalendar-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid; }

.t-ClassicCalendar-listTitle,
.t-ClassicCalendar-listEvent {
  display: block;
  padding: 4px 8px;
  border-width: 1px 0 0 0;
  border-style: solid;
  overflow: hidden; }

.t-ClassicCalendar-listTitle {
  font-size: 1.6rem;
  line-height: 2.4rem;
  font-weight: 400; }
  .t-ClassicCalendar-listTitle:first-child {
    border-top-width: 0; }

.t-ClassicCalendar-listEvent {
  font-size: 1.4rem;
  line-height: 2.0rem; }

.t-ClassicCalendar-listDayDate {
  float: right;
  font-size: 1.2rem; }

@media only screen and (max-width: 640px) {
  .t-ClassicCalendar-day {
    height: 48px; }
  .t-ClassicCalendar-day.is-today .t-ClassicCalendar-date {
    margin: 2px;
    width: 16px;
    height: 16px;
    line-height: 16px; }
  .t-ClassicCalendar-date {
    font-size: 1.1rem;
    padding: 2px; }
  .t-ClassicCalendar-dayEvents {
    margin-top: 16px;
    font-size: 1.1rem; }
  .t-ClassicCalendar-day .t-ClassicCalendar-dayEvents {
    margin-top: 20px; }
  .t-ClassicCalendar-event {
    padding: 2px 4px; }
  .t-ClassicCalendar-event a {
    margin: -2px -4px;
    padding: 2px 4px; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNsYXNzaWNDYWxlbmRhci5zY3NzIiwiLi4vbW9kdWxlcy9fY29tbW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUM0T0g7O2dGQUVnRjtBQWNoRjs7Z0ZBRWdGO0FEM1BoRjs7K0VBRStFO0FBSS9FO0VBQ0UsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLGlCQUFpQjtFQUNqQixtQkFBbUIsRUFDcEI7O0FBSUQ7RUFDRSxZQUFZO0VBQ1osMEJBQTBCO0VBQzFCLG9CQUFvQixFQUNyQjs7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLGtCQUFrQjtFQUNsQixvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLG9CQUFvQixFQUNyQjs7QUFDRDtFQUNFLGFBQWE7RUFDYixvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLG9CQUFvQixFQVlyQjtFQWhCRDtJQU1JLFlBQVk7SUFDWixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsaUJBQWlCLEVBQ2xCOztBQUVIO0VBQ0Usa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixhQUFhO0VBQ2IsaUJBQWlCLEVBQ2xCOztBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFJckI7RUFIQztJQUNFLGlCQUFpQixFQUNsQjs7QUFFSDtFQUNFLGVBQWU7RUFDZixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLG1CQUFtQixFQU9wQjtFQVhEO0lBTUksZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsbUJBQW1CLEVBQ3BCOztBQWlDSDs7K0VBRStFO0FBRS9FOztFQUdJLG1CQUFtQixFQUNwQjs7QUFKSDs7RUFNSSxhQUFhO0VBQ2IsV0FBVyxFQUNaOztBQVJIOztFQVVJLGNBQWMsRUFPZjtFQWpCSDs7SUFZTSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixZQUFZLEVBQ2I7O0FBaEJMOztFQW1CSSxVQUFVLEVBQ1g7O0FBRUg7RUFFSSxVQUFVLEVBQ1g7O0FBSUg7OytFQUUrRTtBQUsvRTtFQUNFLFVBQVU7RUFDVixXQUFXO0VBQ1gsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUNuQjs7QUFDRDs7RUFFRSxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLHdCQUF3QjtFQUN4QixvQkFBb0I7RUFDcEIsaUJBQWlCLEVBQ2xCOztBQUNEO0VBSUUsa0JBQWtCO0VBQ2xCLG9CQUFvQjtFQUNwQixpQkFBaUIsRUFDbEI7RUFQRDtJQUVJLG9CQUFvQixFQUNyQjs7QUFLSDtFQUNFLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFDckI7O0FBQ0Q7RUFDRSxhQUFhO0VBQ2Isa0JBQWtCLEVBQ25COztBQ25KRztFRGlERjtJQUNFLGFBQWEsRUFPZDtFQVJEO0lBR0ksWUFBWTtJQUNaLFlBQVk7SUFDWixhQUFhO0lBQ2Isa0JBQWtCLEVBQ25CO0VBRUg7SUFDRSxrQkFBa0I7SUFDbEIsYUFBYSxFQUNkO0VBQ0Q7SUFDRSxpQkFBaUI7SUFDakIsa0JBQWtCLEVBSW5CO0VBSEM7SUFDRSxpQkFBaUIsRUFDbEI7RUFFSDtJQUNFLGlCQUFpQixFQUtsQjtFQU5EO0lBR0ksa0JBQWtCO0lBQ2xCLGlCQUFpQixFQUNsQixFQUFBIiwiZmlsZSI6IkNsYXNzaWNDYWxlbmRhci5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEltcG9ydCBDb21wYXNzXG4gKi9cbkBpbXBvcnQgXCIuLi9tb2R1bGVzL2NvbW1vblwiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5Nb250aCBDYWxlbmRhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udC1DbGFzc2ljQ2FsZW5kYXIge1xufVxuLnQtQ2xhc3NpY0NhbGVuZGFyLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxNnB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBsaW5lLWhlaWdodDogMy4zMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnQtQ2xhc3NpY0NhbGVuZGFyLWNvbnRhaW5lciB7XG5cbn1cbi50LUNsYXNzaWNDYWxlbmRhci1jYWxlbmRhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuLnQtQ2xhc3NpY0NhbGVuZGFyLWRheUNvbHVtbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuLnQtQ2xhc3NpY0NhbGVuZGFyLWRheSB7XG4gIGhlaWdodDogNzJweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICYuaXMtdG9kYXkgLnQtQ2xhc3NpY0NhbGVuZGFyLWRhdGUge1xuICAgIG1hcmdpbjogNHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbi50LUNsYXNzaWNDYWxlbmRhci1kYXRlIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZzogNHB4IDhweDtcbn1cbi50LUNsYXNzaWNDYWxlbmRhci1kYXlFdmVudHMge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgLnQtQ2xhc3NpY0NhbGVuZGFyLWRheSAmIHtcbiAgICBtYXJnaW4tdG9wOiAyOHB4O1xuICB9XG59XG4udC1DbGFzc2ljQ2FsZW5kYXItZXZlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAycHg7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAtMnB4IC04cHg7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC10byh4c3Mtc2NyZWVucykge1xuICAudC1DbGFzc2ljQ2FsZW5kYXItZGF5IHtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgJi5pcy10b2RheSAudC1DbGFzc2ljQ2FsZW5kYXItZGF0ZSB7XG4gICAgICBtYXJnaW46IDJweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgfVxuICB9XG4gIC50LUNsYXNzaWNDYWxlbmRhci1kYXRlIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBwYWRkaW5nOiAycHg7XG4gIH1cbiAgLnQtQ2xhc3NpY0NhbGVuZGFyLWRheUV2ZW50cyB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAudC1DbGFzc2ljQ2FsZW5kYXItZGF5ICYge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cbiAgLnQtQ2xhc3NpY0NhbGVuZGFyLWV2ZW50IHtcbiAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgIGEge1xuICAgICAgbWFyZ2luOiAtMnB4IC00cHg7XG4gICAgICBwYWRkaW5nOiAycHggNHB4O1xuICAgIH1cbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5XZWVrbHkgYW5kIERhaWx5XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi50LUNsYXNzaWNDYWxlbmRhci0td2Vla2x5LFxuLnQtQ2xhc3NpY0NhbGVuZGFyLS1kYWlseSB7XG4gIC50LUNsYXNzaWNDYWxlbmRhci1jYWxlbmRhciB7XG4gICAgdGFibGUtbGF5b3V0OiBhdXRvO1xuICB9XG4gIC50LUNsYXNzaWNDYWxlbmRhci1kYXkge1xuICAgIGhlaWdodDogMTJweDtcbiAgICB3aWR0aDogMTQlO1xuICB9XG4gIC50LUNsYXNzaWNDYWxlbmRhci1kYXlFdmVudHMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBtYXJnaW46IDJweDtcbiAgICB9XG4gIH1cbiAgLnQtQ2xhc3NpY0NhbGVuZGFyLXRpbWVDb2wge1xuICAgIHdpZHRoOiA0JTtcbiAgfVxufVxuLnQtQ2xhc3NpY0NhbGVuZGFyLS1kYWlseSB7XG4gIC50LUNsYXNzaWNDYWxlbmRhci10aW1lQ29sIHtcbiAgICB3aWR0aDogMSU7XG4gIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5MaXN0IENhbGVuZGFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi50LUNsYXNzaWNDYWxlbmRhci0tbGlzdCB7XG5cbn1cbi50LUNsYXNzaWNDYWxlbmRhci1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbn1cbi50LUNsYXNzaWNDYWxlbmRhci1saXN0VGl0bGUsXG4udC1DbGFzc2ljQ2FsZW5kYXItbGlzdEV2ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGJvcmRlci13aWR0aDogMXB4IDAgMCAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnQtQ2xhc3NpY0NhbGVuZGFyLWxpc3RUaXRsZSB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4udC1DbGFzc2ljQ2FsZW5kYXItbGlzdEV2ZW50IHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjByZW07XG59XG4udC1DbGFzc2ljQ2FsZW5kYXItbGlzdERheURhdGUge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufSIsIkBpbXBvcnQgJ3Njc3NfZnVuY3Rpb25zJztcblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLy8gKnpvb206IDE7XG59XG5cblxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBNZWRpYSBRdWVyaWVzXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vU1RBUlRfVEhFTUVST0xMRVJfSUdOT1JFXG4kZGlzcGxheS14eHM6IDQ4MHB4O1xuJGRpc3BsYXkteHNzOiA2NDBweDtcbiRkaXNwbGF5LXhzOiA3NjhweDtcbiRkaXNwbGF5LXNtYWxsOiA5OTJweDtcbiRkaXNwbGF5LW1lZGl1bTogMTIwMHB4O1xuJGRpc3BsYXktbGFyZ2U6IDE5MjBweDtcblxuQG1peGluIHJlc3BvbmQtdG8oJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0geHhzLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXkteHhzKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSB4c3Mtc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS14c3MpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IHhzLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXkteHMpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuXG4gIEBpZiAkbWVkaWEgPT0geHMtdG8teHNzLXNjcmVlbnMge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXhzcyArIDEpIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS14cyAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuXG4gIEBpZiAkbWVkaWEgPT0gc21hbGwtc2NyZWVucy1pbiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1zbWFsbCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMtaW4ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktbWVkaXVtKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsYXJnZS1zY3JlZW5zLWluIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LWxhcmdlKSB7IEBjb250ZW50OyB9XG4gIH1cblxuXG4gIEBpZiAkbWVkaWEgPT0geHNzLXNtYWxsLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXhzcyArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IHhzLXNtYWxsLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXhzICsgMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gc21hbGwtc2NyZWVucy1vdXQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktc21hbGwgKyAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBtZWRpdW0tc2NyZWVucy1vdXQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktbWVkaXVtICsgMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGFyZ2Utc2NyZWVucy1vdXQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktbGFyZ2UgKyAxKSB7IEBjb250ZW50OyB9XG4gIH1cblxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc21hbGwtc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS14cyArIDEpIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1zbWFsbCAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktc21hbGwgKyAxKSBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktbWVkaXVtIC0gMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBsYXJnZS1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LW1lZGl1bSArIDEpIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1sYXJnZSAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuXG4gIEBlbHNlIGlmICRtZWRpYSA9PSBsYXJnZXN0LXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXktbGFyZ2UpIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuLy9FTkRfVEhFTUVST0xMRVJfSUdOT1JFXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gRm9udCBBd2Vzb21lIEVtYmVkZGluZ1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbkBtaXhpbiBhcGV4NWljb24ge1xuICBmb250LWZhbWlseTogXCJhcGV4LTUtaWNvbi1mb250XCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuXG5AbWl4aW4gYXBleDVpY29uLWJhc2ljIHtcbiAgZm9udC1mYW1pbHk6IFwiYXBleC01LWljb24tZm9udFwiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBtaXhpbiB2aXN1YWxseUhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuXG5AbWl4aW4gdmVydGljYWwtYWxpZ24gIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5AbWl4aW4gZm9jdXNhYmxlVmlzdWFsbHlIaWRkZW4ge1xuICBAaW5jbHVkZSB2aXN1YWxseUhpZGRlbjtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiB0cmFuc2xhdGUzZC1sZXNzKCR4LCAkeTogMCwgJHo6IDApIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogICAgICAgdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgLW1zLXRyYW5zZm9ybTogXHRcdCB0cmFuc2xhdGUoJHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG59XG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi1sZWZ0KCR2YWwpIHtcbiAgbGVmdDogJHZhbDtcbiAgLnUtUlRMICYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6ICR2YWw7XG4gIH1cbn1cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLW1hcmdpbi1sZWZ0KCR2YWwpIHtcbiAgbWFyZ2luLWxlZnQ6ICR2YWw7XG4gIC51LVJUTCAmIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogJHZhbDtcbiAgfVxufVxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tcGFkZGluZy1sZWZ0KCR2YWwpIHtcbiAgcGFkZGluZy1sZWZ0OiAkdmFsO1xuICAudS1SVEwgJiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgcGFkZGluZy1yaWdodDogJHZhbDtcbiAgfVxufVxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tcmlnaHQoJHZhbCkge1xuICByaWdodDogJHZhbDtcbiAgLnUtUlRMICYge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6ICR2YWw7XG4gIH1cbn1cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLW1hcmdpbi1yaWdodCgkdmFsKSB7XG4gIG1hcmdpbi1yaWdodDogJHZhbDtcbiAgLnUtUlRMICYge1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi1wYWRkaW5nLXJpZ2h0KCR2YWwpIHtcbiAgcGFkZGluZy1yaWdodDogJHZhbDtcbiAgLnUtUlRMICYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6ICR2YWw7XG4gIH1cbn1cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLWZsb2F0LWVuZCB7XG4gIGZsb2F0OiByaWdodDtcbiAgLnUtUlRMICYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi1mbG9hdC1zdGFydCB7XG4gIGZsb2F0OiBsZWZ0O1xuICAudS1SVEwgJiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cblxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tdHJhbnNsYXRlKCR2YWwpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZC1sZXNzKCR2YWwsIDAsIDApO1xuICAgIC51LVJUTCAmIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QtbGVzcygtJHZhbCwgMCwwICk7XG4gICAgfVxufVxuXG5AbWl4aW4gdGV4dC1hbGlnbi1sZWZ0LWRpcmVjdGlvbigpIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgLnUtUlRMICYge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cblxuQG1peGluIHRleHQtYWxpZ24tcmlnaHQtZGlyZWN0aW9uKCkge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgLnUtUlRMICYge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEljb24gTGlicmFyeSBNaXhpblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtaXhpbiBpY29uLWxpYigkbGlicmFyeSkge1xuICBAaWYgJGxpYnJhcnkgPT0gYXdlc29tZSB7XG4gICAgLmFwZXgtaWNvbnMtZm9udGF3ZXNvbWUgJiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gXG4gIEBlbHNlIGlmICRsaWJyYXJ5ID09IGFwZXgge1xuICAgIC5hcGV4LWljb25zLWZvbnRhcGV4ICYge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaGFkb3dzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1peGluIHV0LWJsb2NrLXNoYWRvdygpIHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
