/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/dialog.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
.modal.dialog {
  min-height: 236px;
}
.modal.dialog:not(.modal-big) {
  height: auto !important;
}
.modal.dialog.modal-big img.content-image {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.modal.dialog .modal-content {
  padding-bottom: 72px;
}
.modal.dialog .modal-header {
  padding: 18px 24px;
  border-bottom: 1px solid #ccc;
  border-radius: 5px 5px 0 0;
  font-size: large;
  font-weight: bold;
  color: #444;
}
.modal.dialog.error .modal-header {
  background-color: #ffebee;
  color: #f44336;
  border-color: #ffcdd2;
}
.modal.dialog.warning .modal-header {
  background-color: #fff8e1;
  color: #ffc107;
  border-color: #ffecb3;
}
.modal.dialog.info .modal-header {
  background-color: #e8eaf6;
  color: #3f51b5;
  border-color: #c5cae9;
}
.modal.dialog.success .modal-header {
  background-color: #e0f2f1;
  color: #009688;
  border-color: #b2dfdb;
}
/*!*********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/ajax-card.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************/
.ajax-card .white-space {
  flex: 1;
}
.ajax-card .ajax-card-error {
  display: flex;
  flex-direction: column;
  transition: 250ms ease-in-out;
  padding: 0;
  height: 0;
  overflow: auto;
  color: #eee;
  background-color: #333 !important;
}
.ajax-card .ajax-card-error.show {
  padding: 0.5rem;
  height: auto;
}
.ajax-card .ajax-card-error .errno, .ajax-card .ajax-card-error .err {
  margin: 0;
}
.ajax-card .ajax-card-error .errno {
  margin-bottom: 5px;
  font-weight: bold;
  color: #ff5500;
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/empleados-bulk-actions.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
.empleados-bulk-actions-element {
  position: fixed;
  top: 45%;
  right: 0;
  width: 70px;
  height: 45px;
  background-color: var(--primary-color);
  color: var(--font-on-primary-color-main);
  border-radius: 0.5rem 0 0 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  transition: all ease-in-out 0.3s;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
  cursor: pointer;
}
.empleados-bulk-actions-element.hidden {
  right: -70px;
}
.empleados-bulk-actions-element:hover {
  width: 85px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4);
  background-color: var(--md-sys-color-on-primary-container);
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/ausencias-calendar.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
.descanso-event {
  padding-left: 2rem;
  position: relative;
  cursor: pointer;
}
.descanso-event::before {
  font-family: "MaterialSymbolsSharp" !important;
  position: absolute;
  left: 2px;
  top: 50%;
  transform: translateY(-50%);
  color: white;
  font-size: 1.3rem;
}
.descanso-event.Permiso::before {
  content: "task_alt";
}
.descanso-event.Vacaciones::before {
  content: "kayaking";
}
.descanso-event.Incapacidad::before {
  content: "medical_services";
}
.descanso-event.Justificación::before {
  content: "description";
}
.descanso-event .fc-event-title {
  vertical-align: baseline !important;
}
/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/calendar.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************/
.calendar-container .calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: 0.5fr repeat(5, 1fr);
  row-gap: 5px;
  column-gap: 5px;
  padding: 5px !important;
}
.calendar-container .calendar .slot {
  min-height: 6rem;
  background-color: #ddd;
  border-radius: 5px;
  padding: 5px;
  transition: all 250ms ease-in-out;
  user-select: none;
}
.calendar-container .calendar .slot.active {
  background-color: #eeeaaa;
}
.calendar-container .calendar .slot.header {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0 !important;
  background-color: #aaaeee;
}
.calendar-container .calendar .slot:hover {
  background-color: #aeeeaa;
}
.calendar-container .calendar .slot.selected {
  background-color: #eaaaee;
}
.calendar-container .navigation {
  display: flex;
  flex-direction: row;
  padding: 10px 5px !important;
  justify-content: center;
  align-items: center;
}
.calendar-container .navigation .input-field:nth-child(2) {
  flex-grow: 1;
}
/*!*************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/calendar-view.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************/
.calendar-view {
  padding: 0 24px 8px 24px;
}
.calendar-view .calendar-content {
  min-height: 65vh;
  max-height: calc(100vh - 300px);
}
.calendar-view .itinerario-card .fc-event-main {
  display: flex;
  flex-direction: row;
  align-items: center;
  cursor: pointer;
  padding: 5px;
}
.calendar-view .itinerario-card .fc-event-main .title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.calendar-view .itinerario-card .fc-event-main .icon {
  --color: var(--color-primary);
  background-color: whitesmoke;
  color: var(--color);
  border-radius: 100px;
  margin-right: 10px;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.calendar-view .programada {
  color: #ffca28;
}
.calendar-view .abierta {
  color: #26a69a;
}
.calendar-view .cerrada {
  color: #ef5350;
}
.calendar-view .time {
  margin-top: 2px;
  white-space: nowrap;
}
.calendar-view .time span {
  background-color: rgba(245, 245, 245, 0.6666666667);
  padding: 0 5px;
  border-radius: 2px;
}
/*!***********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/indicadores.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************/
@property --porcentaje {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}
.estadisticas-asistencia .indicador {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  aspect-ratio: 1;
  max-width: 250px;
  min-width: 150px;
  position: relative;
  background-color: #eee;
  margin: 1rem 0 0.5rem 0;
  animation: fadeIn 0.5s ease-in-out;
}
.estadisticas-asistencia .indicador .progress {
  --porcentaje: 0%;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: conic-gradient(var(--md-sys-color-primary) var(--porcentaje), var(--background-color-card) 0deg);
  transition: --porcentaje ease-in-out 0.5s;
  margin: 0;
}
.estadisticas-asistencia .indicador .container {
  position: absolute;
  width: 80%;
  height: 80%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background-color: white;
}
.estadisticas-asistencia .indicador .display {
  position: absolute;
  font-size: 1.2em;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.estadisticas-asistencia .indicador .display .value {
  font-size: 1.5em;
  color: #444;
  font-weight: bold;
}
.estadisticas-asistencia .indicador .display .total {
  font-size: 0.8em;
}
.estadisticas-asistencia .indicador .text {
  position: absolute;
  font-size: 0.8em;
  font-weight: bold;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/calendario-actividades-empleado.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************/
.calendario-actividades-empleado .fc-daygrid-day-top {
  justify-content: space-between;
  align-items: center;
}
.calendario-actividades-empleado .fc-daygrid-day-top .day-cell-icon {
  font-size: 1rem;
  margin-left: 5px;
  border-radius: 50%;
  background-color: var(--secondary-container-color);
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  cursor: pointer;
}
.calendario-actividades-empleado td.fc-day:not(:has(.day-cell-icon)) {
  background-color: #eee;
}
.calendario-actividades-empleado td.fc-day:not(.day-selected):hover {
  background-color: #f5f5f5;
}
.calendario-actividades-empleado .fc-day-today {
  background-color: #ffe0b2 !important;
}
.calendario-actividades-empleado .day-selected {
  background-color: #b3e5fc !important;
}

.detalle-dia .material-icons {
  margin-right: 1rem;
}
.detalle-dia .data {
  padding: 1rem;
}
.detalle-dia .title {
  font-size: 1rem;
  font-weight: bold;
  color: #444;
}
.detalle-dia .subtitle {
  font-size: 0.9rem;
  color: #555;
}
.detalle-dia .description {
  font-size: 1rem;
  color: #666;
  margin-top: 5px;
}
.detalle-dia .action {
  border-top: 1px solid var(--fc-border-color);
  padding: 5px 10px;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/fp_svg.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
svg g.finger.selected.active.has-fingerprint path {
  fill: #ffcdd2 !important;
}
svg g.finger.selected path {
  fill: #b2dfdb;
}
svg g.finger.active path {
  fill: #b3e5fc;
  cursor: pointer;
}
svg g.finger.active.selected path {
  fill: #ffcdd2;
}
svg g.finger.active.selected:hover path {
  fill: #cf9ea3 !important;
}
svg g.finger:hover:not(.selected):not(.active) path {
  fill: #eeeeee;
  cursor: pointer;
}
svg g.finger.selected:hover path {
  fill: #8cb6b2 !important;
  cursor: pointer;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/color.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************/
[data-controller=color] {
  height: 14px;
  width: 100%;
  display: inline-block;
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/datepicker.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
.datepicker-container .datepicker-controls {
  align-items: center;
}
.datepicker-container button {
  margin: 0 !important;
  padding: 5px;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/datetime-range.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
.datetime-range-dropdown {
  padding: 1rem !important;
}
.datetime-range-dropdown .btn {
  width: 100%;
  justify-content: center;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.datetime-range-dropdown .btn:not(:first-child) {
  margin-top: 5px;
}
.datetime-range-dropdown .flex .btn:not(:first-child) {
  margin-top: 0 !important;
  margin-left: 5px !important;
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/dual-range.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
.range_container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.range_container.disabled {
  opacity: 0.5;
  pointer-events: none;
}
.range_container.disabled .bubble, .range_container.disabled #ini, .range_container.disabled #fin {
  display: none;
}
.range_container .sliders_control {
  position: relative;
  min-height: 50px;
}
.range_container input[type=range]::-moz-range-track {
  background: none transparent;
  border: none;
}
.range_container input[type=range]::-webkit-slider-runnable-track {
  background: none transparent;
  border: none;
}
.range_container input[type=range] {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  position: absolute;
  pointer-events: none;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 1;
  margin: 0;
}
.range_container input[type=range]::-moz-range-thumb {
  pointer-events: all;
  cursor: pointer;
  border-radius: 0 !important;
  width: 8px;
  height: 20px;
}
.range_container input[type=range]::-webkit-slider-thumb {
  pointer-events: all;
  cursor: pointer;
  border-radius: 0 !important;
  width: 8px;
  height: 20px;
}
.range_container .track {
  position: absolute;
  width: 100%;
  height: 2px;
  background: var(--secondary-color-hover-solid);
  transform: translate(0, -50%);
  pointer-events: none;
  top: 50%;
}
.range_container .ticks {
  position: absolute;
  width: 100%;
  top: 50%;
  transform: translate(0, -50%);
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 0;
}
.range_container .ticks .tick {
  --tick-value: "";
  width: 2px;
  height: 15px;
  background: var(--secondary-color-hover-solid);
}
.range_container .ticks .tick.mid {
  height: 10px;
}
.range_container .ticks .tick.day-begin {
  height: 20px;
  background-color: #ef5350;
}
.range_container .bubble {
  position: absolute;
  left: var(--bubble-position);
  transform: translate(-50%);
  background: #444;
  color: white;
  padding: 2px 5px;
  border-radius: 5px;
  font-size: 12px;
  pointer-events: none;
  z-index: 2;
  top: -5px;
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/editor-fomularios-grid.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
.editor-fomularios-grid {
  position: relative;
  flex-grow: 1;
  margin-left: 1rem;
}
.editor-fomularios-grid:not(.empty) {
  height: max-content;
}
.editor-fomularios-grid.empty::after {
  content: "Arrastra un campo para empezar a editar";
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4666666667);
  color: white;
  font-size: 1.5rem;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/editor-formularios.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.editor-formularios {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.editor-formularios .editor-formularios-status {
  flex: 1 0 100%;
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/editor-formularios-field-configure.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************/
.editor-formularios-field-configure {
  min-height: 56px;
}
.editor-formularios-field-configure .effc-dropdown {
  padding: 1rem;
}
.editor-formularios-field-configure .effc-dropdown .input-field:not(:last-child) {
  margin-bottom: 1rem;
}
.editor-formularios-field-configure .options {
  padding: 0.5rem 0;
}
.editor-formularios-field-configure .options .btn {
  margin-right: 0.7rem;
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/editor-formularios-field.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
.editor-formularios-field {
  padding: 1rem;
  display: flex;
  flex-direction: row;
  justify-content: left;
  align-items: center;
  user-select: none;
  transition: all ease-in-out 0.2s;
  margin-top: 1rem;
}
.editor-formularios-field .icon {
  margin-right: 1rem;
}
.editor-formularios-field .label {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  flex-grow: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.editor-formularios-field .grab {
  margin-left: 1rem;
  color: #999;
  cursor: grab;
}
.editor-formularios-field.dragging {
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.28), 0 6px 2px -4px rgba(0, 0, 0, 0.24), 0 2px 10px 0 rgba(0, 0, 0, 0.4);
}
.editor-formularios-field :active {
  cursor: grabbing;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/editor-formularios-sidebar.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************/
.editor-formularios-sidebar {
  max-width: 250px;
}
/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/empleado-detalle-checadores.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/
.checador-container {
  min-width: 150px;
  max-width: 240px;
  width: 15%;
  height: auto;
  margin: 0.5rem;
  background-color: white;
  cursor: pointer;
  transition: all 350ms ease-in-out;
}
.checador-container.empleado-in-it {
  background-color: #e3f2fd;
}
.checador-container:not(.empleado-in-it) {
  background-color: #fafafa;
}
.checador-container:hover {
  transform: scale(1.03);
}
.checador-container.selected {
  background-color: #bbdefb;
}
.checador-container .card-title {
  font-size: 1.2rem !important;
}
.checador-container .card-image {
  padding: 1rem;
}
.checador-container .card-content {
  border-top-color: var(--fc-border-color);
  border-top-width: 1px;
  border-top-style: solid;
  padding: 5px 1rem !important;
}
/*!*************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/eo-controller.scss ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************/
.node {
  --color: var(--primary-color);
  background-color: var(--color);
  height: 100%;
  width: 100%;
  display: flex;
  border-radius: 10px;
  padding: 1rem;
  color: #eee;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.node.non-empleado .hc {
  border-radius: 20px;
  background-color: #eee;
  color: #444;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.node.non-empleado .title {
  display: flex;
  align-items: center;
  flex-grow: 1;
}
.node.non-empleado .title * {
  margin: 0 5px;
}
.node.non-empleado .add-button {
  margin-left: 5px;
}
.node.empleado .pp {
  border-radius: 50%;
  height: 65px;
  border: solid 6px var(--color);
  margin-right: 1rem;
}
.node.empleado .data {
  overflow: hidden;
}
.node.empleado .nombre {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.eo-controller {
  position: relative;
  padding: 0 !important;
  height: calc(100vh - 65px);
}
.eo-controller .filters-card {
  transition: all 0.3s ease-in-out;
  position: absolute;
  opacity: 0.3;
  top: 1rem;
  right: 1rem;
}
.eo-controller .filters-card:hover {
  opacity: 1;
}
.eo-controller .link {
  stroke: #444 !important;
}
.eo-controller .diagram {
  height: 100%;
}
.eo-controller .diagram svg {
  height: 100% !important;
  width: 100% !important;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/fcm-controller.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
.toast.notification {
  flex-direction: column !important;
  align-items: start !important;
  max-width: 500px;
}
.toast.notification .notif-title {
  font-size: 1.5rem !important;
  font-weight: bold !important;
  margin: 0 0 0.5rem 0 !important;
}
.toast.notification .notif-body {
  margin: 0 !important;
}
.toast.notification div {
  width: 100%;
}
/*!*********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/file-type.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************/
.file-type {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 10px;
  background-color: var(--background-color);
  border: 1px solid var(--font-color-medium);
  border-radius: 4px;
  height: 56px;
  cursor: pointer;
}
.file-type .message {
  text-align: center;
}
.file-type .icon {
  position: relative;
}
.file-type:hover {
  background-color: var(--hover-color);
  color: var(--primary-color);
}
.file-type input[type=file] {
  height: 1px;
  opacity: 0;
}
.file-type.highlight {
  background-color: var(--primary-color);
  color: var(--background-color);
}
.file-type.dropped .icon, .file-type.dropped .message {
  display: none;
}
.file-type .thumbnail {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.file-type .thumbnail img {
  height: 2rem;
}
.file-type .thumbnail .clear {
  font-family: MaterialSymbolsSharp;
  border: 1px solid var(--error-color);
  border-radius: 15px;
  height: 15px;
  width: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--error-color);
  color: white;
  margin-left: 5px;
  cursor: pointer;
}
/*!************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/horario-type.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************/
.horario-type .horario-type-body .horario-type-row {
  display: flex;
  align-items: center;
}
.horario-type .horario-type-body .horario-type-row .tl {
  flex-grow: 1;
}
.horario-type .horario-type-body .horario-type-row .laboral {
  min-width: 120px;
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/jsoneditor.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
.json-editor-container .header {
  padding: 0.5rem 1rem;
  display: flex;
  align-items: center;
  flex-direction: row;
  background-color: #dddddd;
  border-top: 1px solid #cccccc;
  border-left: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  border-radius: 10px;
}
.json-editor-container .header .name {
  flex-grow: 1;
}
.json-editor-container .json-editor {
  transition: all 200ms ease-in-out;
}
.json-editor-container.collapsed .json-editor {
  height: 0 !important;
  overflow: hidden;
}
/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/map.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
.map {
  position: relative;
  min-height: 500px;
  border: 1px solid var(--font-color-medium);
  border-radius: 4px;
}
.map .buscador {
  position: absolute;
  padding: 1rem;
  top: 0;
  left: 0;
  overflow-y: hidden;
  opacity: 0.5;
  transition: all ease-in-out 250ms;
}
.map .buscador.focused {
  height: 100%;
}
.map .buscador:hover {
  opacity: 1;
}
.map .buscador input {
  height: 45px !important;
}
.map .buscador .suffix {
  top: 12px !important;
  cursor: pointer;
}
.map .buscador .destinos {
  display: flex;
  flex-direction: column;
  max-height: calc(100% - 45px);
  overflow-y: auto;
}
.map .buscador .destinos .destino {
  cursor: pointer;
  display: flex;
  padding: 1rem;
  border-bottom: 1px #aaa solid;
}
.map .buscador .destinos .destino:hover, .map .buscador .destinos .destino.selected {
  background-color: var(--primary-color);
  color: var(--font-on-primary-color-main);
}
.map .map-container {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #eee;
}
.map .map-container .switch-layer {
  position: absolute;
  bottom: 5px;
  right: 5px;
}
.map .map-container .switch-action-mode {
  position: absolute;
  top: 5px;
  right: 5px;
}
.map .map-container .switch-action-mode .material-icons {
  pointer-events: none;
}
.map .map-container .switch-action-mode button:not(:last-child) {
  margin-right: 5px;
}
.map > input {
  position: absolute;
  top: 50%;
  left: 40%;
  width: 0 !important;
  height: 0 !important;
  border: none;
  background: none;
  z-index: -1;
}
/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/mapa_ubicaciones.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
.muc-container {
  display: flex;
  width: 100%;
  height: calc(100svh - 64px);
}
.muc-container .muc-mapa {
  width: 100%;
  height: 100%;
}
.muc-container .lateral-panel {
  width: 0;
  height: 100%;
  padding: 1rem;
  overflow-y: auto;
  padding: 0 !important;
}
.muc-container .lateral-panel.open {
  width: 30%;
  padding: 1rem !important;
}
.muc-container .ol-overlaycontainer-stopevent {
  position: relative;
  width: 100%;
  height: 100%;
}
.muc-container .muc-zoom {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  top: 1rem;
  right: 1rem;
  position: absolute;
}
.muc-container .muc-near-and-search {
  position: absolute;
  width: fit-content;
  top: 9rem;
  right: 1rem;
}
.muc-container .muc-near-and-search button {
  overflow: visible;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.muc-container .muc-near-and-search button:not(.loading)::after {
  content: attr(data-number-of-locations);
  position: absolute;
  top: -0.5rem;
  right: -0.5rem;
  background-color: red;
  color: white;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  z-index: 2;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/maquila-nomina.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
.maquila-nomina-container {
  padding: 0 !important;
  width: 100% !important;
  height: calc(100svh - 64px) !important;
  overflow: scroll;
  scroll-padding-top: 200px;
}
.maquila-nomina-container .header {
  writing-mode: sideways-lr;
  pointer-events: none;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.maquila-nomina-container .jexcel thead td {
  background-color: var(--primary-color) !important;
  color: #eee;
  border-left: #aaa solid 1px !important;
  border-right: #aaa solid 1px !important;
}
.maquila-nomina-container .jexcel thead td.arrow-down {
  background-image: none !important;
}
.maquila-nomina-container .jexcel thead td.arrow-down:after {
  content: "▼";
  font-size: 12px;
  color: #eee;
  position: absolute;
  bottom: 10px;
  right: 50%;
  transform: translateX(50%);
}
.maquila-nomina-container .jexcel thead td.arrow-up {
  background-image: none !important;
}
.maquila-nomina-container .jexcel thead td.arrow-up:after {
  content: "▲";
  font-size: 12px;
  color: #eee;
  position: absolute;
  top: 10px;
  right: 50%;
  transform: translateX(50%);
}
.maquila-nomina-container .jexcel tbody td.readonly {
  color: #333;
  font-weight: 500;
}
.maquila-nomina-container .jexcel tbody tr:nth-child(even), .maquila-nomina-container .jexcel tbody tr:nth-child(even) .jexcel_row {
  background-color: #EEE9F1 !important;
}
.maquila-nomina-container .jexcel tbody tr:nth-child(even) .jexcel_row.selected {
  background-color: #D6C9E0 !important;
}
.maquila-nomina-container .jexcel tbody tr:nth-child(even) .percepciones {
  background-color: #e0f2f1 !important;
}
.maquila-nomina-container .jexcel tbody tr:nth-child(even) .deducciones {
  background-color: #ffebee !important;
}
.maquila-nomina-container .jexcel tbody tr:nth-child(even) .total-percepciones {
  background-color: #80cbc4 !important;
}
.maquila-nomina-container .jexcel tbody tr:nth-child(even) .total-deducciones {
  background-color: #ef9a9a !important;
}
.maquila-nomina-container .jexcel tbody .total-percepciones {
  background-color: #b2dfdb !important;
  font-weight: bold !important;
}
.maquila-nomina-container .jexcel tbody .total-deducciones {
  background-color: #ffcdd2 !important;
  font-weight: bold !important;
}

.maquila-nomina-search-container {
  width: 350px;
  position: fixed;
  top: 78px;
  left: 250px;
  z-index: 1000;
  background-color: #404040;
  border-radius: 5px;
  overflow: hidden;
}
.maquila-nomina-search-container input {
  background-color: transparent;
  border: none;
  padding: 1rem;
  color: #eee !important;
}
/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/money-cell.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
.money-cell {
  text-align: end;
  padding: 0 1rem;
  position: relative;
}
.money-cell::before {
  content: "$";
  position: absolute;
  left: 0;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/monitor-vigilancia.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
.monitor-vigilancia .left-panel, .monitor-vigilancia .right-panel, .monitor-vigilancia .data > .row, .monitor-vigilancia .log {
  height: 100%;
}
.monitor-vigilancia .data {
  height: calc(100% - 104px);
  padding: 0 !important;
}
.monitor-vigilancia .data .row {
  gap: 0;
}
.monitor-vigilancia .dentro, .monitor-vigilancia .fuera {
  height: 50%;
}
.monitor-vigilancia .dentro, .monitor-vigilancia .fuera, .monitor-vigilancia .log {
  padding: 1rem;
}
.monitor-vigilancia .col > .card {
  height: calc(100svh - 140px);
}
.monitor-vigilancia .dentro {
  border-bottom: 1px #ddd solid;
}
.monitor-vigilancia .log {
  border-left: 1px #ddd solid;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/multi-entity-form.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
.multi-entity-form {
  min-height: 5rem;
  border: 1px solid var(--font-color-medium);
  border-radius: 4px;
  position: relative;
  padding-bottom: 10px;
  margin-top: 10px;
  background-color: #efefef;
}
.multi-entity-form .no-data {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  text-align: center;
}
.multi-entity-form .no-data .material-icons {
  vertical-align: middle;
}
.multi-entity-form .input {
  width: 0 !important;
  height: 0 !important;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
.multi-entity-form .label {
  top: -8px;
  left: 16px;
  margin-left: -4px;
  padding: 0 4px;
  background-color: var(--background-color);
  position: absolute;
  transform: scale(0.75);
  transform-origin: top left;
  color: var(--font-color-medium);
  user-select: none;
  font-size: 16px;
}
.multi-entity-form .lines {
  background-color: inherit;
}
.multi-entity-form .lines .line {
  position: relative;
  padding: 1.5rem 1.5rem 1rem 1.5rem;
}
.multi-entity-form .lines .line:not(:last-child) {
  border-bottom: 1px solid var(--font-color-medium);
}
.multi-entity-form .lines .line .delete-line {
  position: absolute;
  top: 50%;
  transform: translate(50%, -35%);
  right: 0;
}
.multi-entity-form .lines .line::after {
  content: "#" attr(data-line-number);
  position: absolute;
  top: 50%;
  background-color: var(--background-color);
  padding: 4px 0;
  transform: translate(-50%, -35%);
  left: 0;
}
.multi-entity-form .lines .line input.disabled {
  color: rgba(var(--md_sys_color_on-surface), 0.7);
  border-color: rgba(var(--md_sys_color_on-surface), 0.3);
  background-color: rgba(0, 0, 0, 0.03);
  pointer-events: none;
}
.multi-entity-form .add-line {
  position: absolute;
  bottom: 0;
  right: 1rem;
  transform: translateY(50%);
}
.multi-entity-form .search {
  position: absolute;
  bottom: 0;
  right: 4rem;
  transform: translateY(50%);
}
.multi-entity-form .alert {
  animation: shake 0.7s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

.searchModal .search-input {
  padding-top: 0 !important;
}
.searchModal .search-clear {
  cursor: pointer;
}
.searchModal .modal-content {
  padding: 0 !important;
}
.searchModal .modal-content .line {
  display: flex;
  padding: 1rem;
  border-bottom: 1px solid var(--font-color-medium);
  cursor: pointer;
}
.searchModal .modal-content .line:hover {
  background-color: var(--md-sys-color-primary);
  color: #eee;
}
.searchModal .modal-content .line.active {
  background-color: var(--md-sys-color-secondary);
  color: #eee;
}

@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }
  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0);
  }
  40%, 60% {
    transform: translate3d(4px, 0, 0);
  }
}
/*!*********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/multiview.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************/
.multiview::before {
  content: attr(data-multiview-title-value);
  font-size: 24px;
  font-weight: 300;
  margin: 1rem 2rem 0 2rem;
  display: block;
}
.multiview .card-action {
  flex-wrap: wrap;
}
.multiview .card-action > *:not(button) {
  margin: 0 5px;
  padding: 2px;
}
@media screen and (max-width: 600px) {
  .multiview .card-action .input-field {
    flex-grow: 1;
  }
}
.multiview .card-action #multiview-pagination {
  flex-grow: 1;
  display: flex;
  flex-direction: row;
  justify-content: end;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .multiview .card-action #multiview-pagination {
    justify-content: space-around;
  }
}
.multiview .card-action #multiview-pagination .btn {
  width: 40px;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.multiview .suffix:has(+ .filterInput:placeholder-shown) {
  display: none;
}
.multiview tbody tr:last-child {
  border-bottom: none;
}
.multiview tr {
  padding: 0 1rem;
}
.multiview td.highlighted {
  background-color: var(--md-sys-color-primary-container);
  border: 1px solid var(--md-sys-color-primary);
}
.multiview td.prev-highlighted {
  background-color: var(--md-sys-color-tertiary-dark);
  border: 1px solid var(--md-sys-color-tertiary);
}
.multiview th.sortable {
  user-select: none;
  cursor: pointer;
}
.multiview th.sortable::before {
  content: "sort_by_alpha";
  font-family: "MaterialSymbolsSharp";
  margin-right: 5px;
  color: #999;
}
.multiview th.sortable.asc::after {
  content: "arrow_drop_down";
  font-family: "MaterialSymbolsSharp";
}
.multiview th.sortable.desc::after {
  content: "arrow_drop_up";
  font-family: "MaterialSymbolsSharp";
}
.multiview .grid-view {
  grid-auto-rows: 1fr;
  padding: 0 24px 8px 24px;
}
.multiview .card-body {
  padding: 5px 0 0 0 !important;
  height: calc(100% - 57px);
}
.multiview .card-filters {
  padding: 1rem !important;
  margin-top: 0 !important;
}
.multiview .multiselect-checkbox {
  width: 20px;
  height: 20px;
  border: 2px solid var(--md-sys-color-primary);
  display: inline-block;
  position: relative;
  transition: all 0.1s ease-in-out;
}
.multiview .multiselect-checkbox::before {
  content: "";
  outline: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: var(--md-sys-on-surface);
  display: none;
}
.multiview .multiselect-checkbox::after {
  content: "check";
  font-family: "MaterialSymbolsSharp";
  color: var(--md-sys-color-primary);
  position: absolute;
  font-weight: bold;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: none;
}
.multiview .multiselect-checkbox:hover {
  background-color: var(--md-sys-color-primary);
}
.multiview .multiselect-checkbox.checked {
  background-color: var(--md-sys-color-primary);
}
.multiview .multiselect-checkbox.checked::after {
  display: block !important;
  color: white;
}
.multiview .multiselect-checkbox:focus-visible ::before {
  display: block;
}

.multiview-focus-stats {
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  background-color: var(--md-sys-color-primary);
  color: var(--md-sys-color-on-primary);
  padding: 0.5rem;
  border-radius: 0.5rem;
  font-size: 0.8rem;
  font-weight: 300;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  transition: all 0.3s ease-in-out;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.multiview-focus-stats.hidden {
  opacity: 0;
  transform: translateY(100px);
}
.multiview-focus-stats div {
  margin: 0 0.5rem;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/reporte-button.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
.reporte-button {
  height: 100%;
  --side-color: var(--primary-color);
}
.reporte-button .card-image {
  padding: 1rem;
  background-color: var(--side-color);
  color: #fefefe;
}
.reporte-button .card-image .material-icons {
  font-size: 2rem;
}
.reporte-button a {
  background-color: var(--side-color);
}
.reporte-button a .material-icons {
  color: #fefefe;
}

.placeholder {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px dashed var(--primary-color);
  border-radius: 12px;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
  background-color: #dfdfdf;
}
.placeholder::before {
  content: "";
  font-size: larger;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border: 1px dashed var(--primary-color);
  border-radius: 12px;
}
.placeholder::after {
  content: "";
  position: absolute;
  height: calc(100% - 2rem);
  width: 1px;
  background-color: var(--primary-color);
  left: 5rem;
}
/*!*********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/navegador.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************/
.navegador .page.fadeIn {
  animation: fadeIn 500ms ease-in-out forwards;
}
.navegador .page.fadeOut {
  animation: fadeOut 500ms ease-in-out forwards;
}
.navegador.no-animations .page {
  animation-duration: 0s !important;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/*!***********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/organigrama.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************/
.organigrama-container {
  width: 100%;
  height: calc(100vh - 64px);
  position: relative;
}
.organigrama-container .card:has([data-organigrama-target=filtros]) {
  position: absolute;
  top: 1rem;
  right: 0;
  opacity: 0.3;
  transition: all 0.3s ease-in-out;
  z-index: 1000;
}
.organigrama-container .card:has([data-organigrama-target=filtros]):hover {
  opacity: 1;
}
.organigrama-container .card:has([data-organigrama-target=filtros]).collapsed {
  transform: translateX(calc(100% - 5rem));
}
/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/process.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
.process-parent {
  margin: 0 2rem;
  width: 100%;
  height: 40px;
  display: flex;
  align-items: center;
}
.process-parent .process-container {
  position: relative;
  width: 100%;
}
.process-parent .process-container .progress {
  margin: 1rem 0 !important;
}
.process-parent .process-container .indicator {
  --left: 60%;
  position: absolute;
  left: var(--left);
  top: 50%;
  transform: translate(-50%, -50%);
  width: 2rem;
  height: 2rem;
  background-color: var(--md-sys-color-surface-variant);
  border-radius: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 250ms ease-in-out;
}
.process-parent .process-container .indicator.active {
  border: 2px solid var(--primary-color);
}
.process-parent .process-container .indicator:hover, .process-parent .process-container .indicator.completed {
  background-color: var(--primary-color);
  color: var(--font-on-primary-color-main);
}
.process-parent .process-container .indicator:hover {
  border: 1px solid var(--background-color-card);
}

.process-targets {
  position: relative;
}
.process-targets .process-target {
  width: 100%;
  display: none;
  position: absolute;
}
.process-targets .process-target.enter-left {
  display: block;
  animation: enterLeftAnimation 250ms ease-in-out forwards;
}
.process-targets .process-target.enter-right {
  display: block;
  animation: enterRightAnimation 250ms ease-in-out forwards;
}
.process-targets .process-target.exit-left {
  display: block;
  animation: exitLeftAnimation 250ms ease-in-out forwards;
}
.process-targets .process-target.exit-right {
  display: block;
  animation: exitRightAnimation 250ms ease-in-out forwards;
}

@keyframes enterLeftAnimation {
  0% {
    opacity: 0;
    transform: translateX(-50%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes exitLeftAnimation {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(50%);
  }
}
@keyframes enterRightAnimation {
  0% {
    opacity: 0;
    transform: translateX(50%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes exitRightAnimation {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(-50%);
  }
}
/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/sapbo-mv.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************/
.sapb1-multiview {
  padding: 1rem 1rem 0 1rem;
}

.show {
  display: flex;
  flex-direction: row;
  justify-items: flex-start;
  align-items: center;
  flex-grow: 1;
}
.show select {
  max-width: 100px;
  margin-right: 1rem;
}
/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/searchable-select.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
.searchable-select {
  position: relative;
}
.searchable-select .fake-select {
  user-select: none;
  cursor: pointer;
}
.searchable-select .carret {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  z-index: 0;
  fill: var(--font-color-main);
  pointer-events: none;
}

.searchable-select-dropdown .search {
  padding: 5px;
}
.searchable-select-dropdown .search input {
  height: 50px !important;
}
.searchable-select-dropdown span {
  font-size: 16px;
  color: var(--primary-color);
  display: block;
  line-height: 22px;
  padding: 14px 16px;
}
.searchable-select-dropdown li {
  clear: both;
  color: var(--font-color-main);
  cursor: pointer;
  min-height: 50px;
  line-height: 1.5rem;
  width: 100%;
  text-align: left;
  position: relative;
}
.searchable-select-dropdown li.selected:not(.disabled) {
  background-color: var(--focus-color);
}
.searchable-select-dropdown li:focus, .searchable-select-dropdown li.focused, .searchable-select-dropdown li:hover {
  background-color: var(--hover-color);
}
.searchable-select-dropdown li:focus::after, .searchable-select-dropdown li.focused::after {
  content: "";
  position: absolute;
  top: 0;
  right: 1rem;
  bottom: 0;
  background-color: var(--primary-color);
  border-radius: 5px;
  width: 5px;
  height: 5px;
  margin: auto;
}
/*!********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/shortcut.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************/
#shortcut-trigger {
  position: fixed;
  bottom: 0;
  right: 35px;
  padding: 3px;
  z-index: 10;
}
#shortcut-trigger .btn {
  padding: 0 3px;
  height: 24px;
}

#shortcut-modal .input-field input {
  padding-top: 0 !important;
}
#shortcut-modal .modal-content {
  padding: 0 !important;
}
#shortcut-modal .shortcut-card {
  display: flex;
  flex-direction: row;
  padding: 1rem;
  align-items: center;
  cursor: pointer;
}
#shortcut-modal .shortcut-card .data {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
#shortcut-modal .shortcut-card .data .titulo {
  font-weight: bold;
  color: #222;
}
#shortcut-modal .shortcut-card:hover {
  background-color: var(--md-sys-color-primary);
  color: #eee;
}
#shortcut-modal .shortcut-card:hover .titulo {
  color: white;
}
#shortcut-modal .shortcut-card.active {
  background-color: var(--md-sys-color-secondary);
  color: #eee;
}
#shortcut-modal .shortcut-card.active .titulo {
  color: white;
}
#shortcut-modal .shortcut-card:not(:last-child) {
  border-bottom: 1px #aaa solid;
}
/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/sidebar.scss ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
:root {
  --sidebar-collapsed-width: 60px;
  --sidebar-expanded-width: 200px;
  --sidebar-background-color: #222233;
  --sidebar-text-color: #eee;
  --sidebar-hover-text-color: #B2B8F0;
}

.sidebar {
  overflow-x: hidden;
  transition: 250ms ease-in-out;
  padding: 0 !important;
  margin: 0 !important;
  width: var(--sidebar-expanded-width);
  height: 100svh;
  position: fixed;
  color: var(--sidebar-text-color);
  background-color: var(--sidebar-background-color);
}
.sidebar.collapsed {
  width: var(--sidebar-collapsed-width);
}
.sidebar.collapsed .logo {
  width: 0;
  padding: 0;
  margin: 0;
  opacity: 0;
  pointer-events: none;
  flex-grow: 0;
}
.sidebar.collapsed li.link a .text {
  width: 0;
  flex-grow: 0;
  padding: 0;
  opacity: 0;
}
.sidebar.collapsed .collapsible-header {
  color: transparent;
}
.sidebar.collapsed .collapsible-header::before {
  content: attr(data-siglas);
  color: var(--sidebar-text-color);
  font-size: 1.2rem;
  text-align: center;
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-weight: 600;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
}
.sidebar.collapsed .collapsible-body li {
  padding-left: 0 !important;
}
.sidebar .collapsible {
  background-color: transparent;
  border: none;
  margin: 0 !important;
  box-shadow: none !important;
}
.sidebar .collapsible .collapsible-header {
  position: relative;
  background-color: transparent;
  border-bottom: none;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 0.8rem;
  user-select: none;
}
.sidebar .collapsible .collapsible-body {
  background-color: rgba(255, 255, 255, 0.03);
  border: none;
  padding: 0;
  position: relative;
}
.sidebar .collapsible .collapsible-body li {
  padding-left: 1rem;
}
.sidebar .collapsible .collapsible-body::before {
  position: absolute;
  left: 0.5rem;
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: var(--sidebar-text-color);
  margin: 0.5rem 0;
  top: -8px;
}
.sidebar.closed {
  width: 0 !important;
}
.sidebar li.header {
  list-style-type: none;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 12px 10px;
}
.sidebar li.header .logo {
  font-size: 2rem;
  flex-grow: 1;
  color: var(--sidebar-text-color);
}
.sidebar li.link a {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  padding: 12px 10px;
  color: var(--sidebar-text-color);
}
.sidebar li.link a:hover {
  color: var(--sidebar-hover-text-color);
}
.sidebar li.link a .material-icons {
  font-size: 1.5rem;
}
.sidebar li.link a .text {
  flex-grow: 1;
  padding-left: 1rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 0.8rem;
}
.sidebar li.link.active {
  background-color: #333344;
}
.sidebar li.link.active .material-icons {
  color: var(--primary-color);
}
.sidebar img {
  height: 25px;
  width: auto;
}

#sidebar-toggle {
  width: 64px;
  height: 64px;
  justify-content: center;
}

main {
  transition: 250ms ease-in-out all;
}

main.sidebar-collapsed {
  margin-left: var(--sidebar-collapsed-width);
}

main.sidebar-expanded {
  margin-left: var(--sidebar-expanded-width);
}

main.sidebar-closed {
  margin-left: 0;
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/text-truncator.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
.text-truncator {
  --max-width: 150px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: var(--max-width);
  display: inline-block;
  cursor: help;
}
/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/time-controller.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
.time-controller .toggle {
  cursor: pointer;
  text-decoration: underline;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/topbar.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
:root {
  --topbar-background-color: #363652;
}

.topbar {
  background-color: var(--topbar-background-color);
  padding: 0 1rem;
  display: flex;
  flex-direction: row;
  align-items: center;
}
.topbar .breadcrumb {
  color: #aaaaaa;
}
.topbar .breadcrumbs {
  white-space: nowrap;
  overflow-x: auto;
}
@media only screen and (max-width: 600px) {
  .topbar {
    padding: 0 0;
  }
}
/*!***********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/unidad-card.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************/
.unidad-card .card-image {
  background-color: var(--primary-color);
  padding: 1rem;
}
.unidad-card .card-image i {
  font-size: 3rem;
  color: var(--font-on-primary-color-main);
  opacity: 0.9;
}
.unidad-card .modelo, .unidad-card .tipo {
  margin-top: 0.5rem !important;
  font-size: 1.1rem;
}
.unidad-card .modelo strong, .unidad-card .tipo strong {
  color: var(--font-on-primary-color-medium);
}
.unidad-card .label {
  font-weight: bold;
  color: var(--font-color-main);
}
/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/visita-cp-formulario.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
.visita-cp-formulario #ningunVisitante, .visita-cp-formulario #ningunaUnidad {
  padding: 1rem;
  border: 1px solid #aaa;
  background-color: #eee;
  border-radius: 10px;
  margin: 0;
}
.visita-cp-formulario #ningunVisitante #noPerson, .visita-cp-formulario #ningunaUnidad #noPerson {
  font-size: 3rem;
  color: #444;
}
.visita-cp-formulario #buscar-visitante, .visita-cp-formulario #buscar-unidad {
  min-width: 70%;
  background-color: #eee;
}
.visita-cp-formulario #buscar-visitante .row, .visita-cp-formulario #buscar-unidad .row {
  margin-top: 0;
  padding-bottom: 4rem;
  position: relative;
  grid-template-rows: max-content;
}
.visita-cp-formulario #buscar-visitante .message, .visita-cp-formulario #buscar-unidad .message {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.visita-cp-formulario #buscar-visitante .message i, .visita-cp-formulario #buscar-unidad .message i {
  font-size: 3rem;
  color: #444;
}
.visita-cp-formulario #buscar-visitante .modal-footer, .visita-cp-formulario #buscar-unidad .modal-footer {
  z-index: 10;
}
.visita-cp-formulario #buscar-visitante .modal-search, .visita-cp-formulario #buscar-unidad .modal-search {
  height: 60px;
  position: relative;
}
.visita-cp-formulario #buscar-visitante .modal-search input, .visita-cp-formulario #buscar-unidad .modal-search input {
  position: absolute;
  width: 100%;
  height: 60px;
  padding-left: 3rem;
  z-index: 1;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #ccc;
  background-color: white;
}
.visita-cp-formulario #buscar-visitante .modal-search .search, .visita-cp-formulario #buscar-unidad .modal-search .search {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  z-index: 2;
  color: #444;
  pointer-events: none;
}
.visita-cp-formulario #buscar-visitante .modal-search .delete, .visita-cp-formulario #buscar-unidad .modal-search .delete {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  z-index: 2;
  color: #444;
  cursor: pointer;
}
.visita-cp-formulario #buscar-visitante .modal-search .delete:hover, .visita-cp-formulario #buscar-unidad .modal-search .delete:hover {
  color: var(--primary-color);
}
/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/visitante-card.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
.visitante-card {
  position: relative;
  height: 140px;
  z-index: 2;
}
.visitante-card .img {
  position: absolute;
  width: 120px;
  height: 120px;
  background-color: white;
  border-radius: 100px;
  border: 1px solid #444;
  overflow: hidden;
  z-index: 3;
  top: 50%;
  transform: translateY(-50%);
}
.visitante-card .img img {
  width: 100%;
}
.visitante-card .content {
  background-color: white;
  overflow: hidden;
  padding-left: 72px;
  position: absolute;
  right: 0;
  z-index: 2;
  width: calc(100% - 60px);
  top: 50%;
  transform: translateY(-50%);
}
.visitante-card .content p {
  text-transform: uppercase;
}
.visitante-card .content p:not(.doc-indicator) {
  margin: 1rem 0 8px 0 !important;
}
.visitante-card .separator {
  border-top: #ddd 1px solid;
}
.visitante-card.wiggle {
  animation: wiggle 700ms;
  animation-iteration-count: 2;
}
.visitante-card .doc-indicator {
  margin: 0 0 8px 0 !important;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

@keyframes wiggle {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }
  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0);
  }
  40%, 60% {
    transform: translate3d(4px, 0, 0);
  }
}
/*!***************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/app.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
:root {
  --md-source: #006495;
  /* primary */
  --md-ref-palette-primary0: #000000;
  --md-ref-palette-primary10: #001e30;
  --md-ref-palette-primary20: #003450;
  --md-ref-palette-primary25: #003f60;
  --md-ref-palette-primary30: #004b71;
  --md-ref-palette-primary35: #005783;
  --md-ref-palette-primary40: #006495;
  --md-ref-palette-primary50: #0f7eb8;
  --md-ref-palette-primary60: #3d98d4;
  --md-ref-palette-primary70: #5db3f0;
  --md-ref-palette-primary80: #8fcdff;
  --md-ref-palette-primary90: #cbe6ff;
  --md-ref-palette-primary95: #e6f2ff;
  --md-ref-palette-primary98: #f7f9ff;
  --md-ref-palette-primary99: #fcfcff;
  --md-ref-palette-primary100: #ffffff;
  /* secondary */
  --md-ref-palette-secondary0: #000000;
  --md-ref-palette-secondary10: #0d1d29;
  --md-ref-palette-secondary20: #22323f;
  --md-ref-palette-secondary25: #2d3d4b;
  --md-ref-palette-secondary30: #394856;
  --md-ref-palette-secondary35: #445462;
  --md-ref-palette-secondary40: #50606f;
  --md-ref-palette-secondary50: #697988;
  --md-ref-palette-secondary60: #8293a2;
  --md-ref-palette-secondary70: #9dadbd;
  --md-ref-palette-secondary80: #b8c8d9;
  --md-ref-palette-secondary90: #d4e4f6;
  --md-ref-palette-secondary95: #e6f2ff;
  --md-ref-palette-secondary98: #f7f9ff;
  --md-ref-palette-secondary99: #fcfcff;
  --md-ref-palette-secondary100: #ffffff;
  /* tertiary */
  --md-ref-palette-tertiary0: #000000;
  --md-ref-palette-tertiary10: #211634;
  --md-ref-palette-tertiary20: #362b4a;
  --md-ref-palette-tertiary25: #423656;
  --md-ref-palette-tertiary30: #4d4162;
  --md-ref-palette-tertiary35: #594c6e;
  --md-ref-palette-tertiary40: #66587b;
  --md-ref-palette-tertiary50: #7f7195;
  --md-ref-palette-tertiary60: #998ab0;
  --md-ref-palette-tertiary70: #b4a4cb;
  --md-ref-palette-tertiary80: #d0bfe7;
  --md-ref-palette-tertiary90: #ecdcff;
  --md-ref-palette-tertiary95: #f7edff;
  --md-ref-palette-tertiary98: #fef7ff;
  --md-ref-palette-tertiary99: #fffbff;
  --md-ref-palette-tertiary100: #ffffff;
  /* neutral */
  --md-ref-palette-neutral0: #000000;
  --md-ref-palette-neutral10: #1a1c1e;
  --md-ref-palette-neutral20: #2e3133;
  --md-ref-palette-neutral25: #3a3c3e;
  --md-ref-palette-neutral30: #454749;
  --md-ref-palette-neutral35: #515255;
  --md-ref-palette-neutral40: #5d5e61;
  --md-ref-palette-neutral50: #76777a;
  --md-ref-palette-neutral60: #8f9194;
  --md-ref-palette-neutral70: #aaabae;
  --md-ref-palette-neutral80: #c6c6c9;
  --md-ref-palette-neutral90: #e2e2e5;
  --md-ref-palette-neutral95: #f0f0f3;
  --md-ref-palette-neutral98: #f9f9fc;
  --md-ref-palette-neutral99: #fcfcff;
  --md-ref-palette-neutral100: #ffffff;
  /* neutral-variant */
  --md-ref-palette-neutral-variant0: #000000;
  --md-ref-palette-neutral-variant10: #161c22;
  --md-ref-palette-neutral-variant20: #2b3137;
  --md-ref-palette-neutral-variant25: #363c42;
  --md-ref-palette-neutral-variant30: #41474d;
  --md-ref-palette-neutral-variant35: #4d5359;
  --md-ref-palette-neutral-variant40: #595f65;
  --md-ref-palette-neutral-variant50: #72787e;
  --md-ref-palette-neutral-variant60: #8b9198;
  --md-ref-palette-neutral-variant70: #a6acb3;
  --md-ref-palette-neutral-variant80: #c1c7ce;
  --md-ref-palette-neutral-variant90: #dee3ea;
  --md-ref-palette-neutral-variant95: #ecf1f9;
  --md-ref-palette-neutral-variant98: #f7f9ff;
  --md-ref-palette-neutral-variant99: #fcfcff;
  --md-ref-palette-neutral-variant100: #ffffff;
  /* error */
  --md-ref-palette-error0: #000000;
  --md-ref-palette-error10: #410002;
  --md-ref-palette-error20: #690005;
  --md-ref-palette-error25: #7e0007;
  --md-ref-palette-error30: #93000a;
  --md-ref-palette-error35: #a80710;
  --md-ref-palette-error40: #ba1a1a;
  --md-ref-palette-error50: #de3730;
  --md-ref-palette-error60: #ff5449;
  --md-ref-palette-error70: #ff897d;
  --md-ref-palette-error80: #ffb4ab;
  --md-ref-palette-error90: #ffdad6;
  --md-ref-palette-error95: #ffedea;
  --md-ref-palette-error98: #fff8f7;
  --md-ref-palette-error99: #fffbff;
  --md-ref-palette-error100: #ffffff;
  /* light */
  --md-sys-color-primary-light: #006495;
  --md-sys-color-on-primary-light: #ffffff;
  --md-sys-color-primary-container-light: #cbe6ff;
  --md-sys-color-on-primary-container-light: #001e30;
  --md-sys-color-secondary-light: #50606f;
  --md-sys-color-on-secondary-light: #ffffff;
  --md-sys-color-secondary-container-light: #d4e4f6;
  --md-sys-color-on-secondary-container-light: #0d1d29;
  --md-sys-color-tertiary-light: #66587b;
  --md-sys-color-on-tertiary-light: #ffffff;
  --md-sys-color-tertiary-container-light: #ecdcff;
  --md-sys-color-on-tertiary-container-light: #211634;
  --md-sys-color-error-light: #ba1a1a;
  --md-sys-color-error-container-light: #ffdad6;
  --md-sys-color-on-error-light: #ffffff;
  --md-sys-color-on-error-container-light: #410002;
  --md-sys-color-background-light: #fcfcff;
  --md-sys-color-on-background-light: #1a1c1e;
  --md-sys-color-surface-light: #fcfcff;
  --md-sys-color-on-surface-light: #1a1c1e;
  --md-sys-color-surface-variant-light: #dee3ea;
  --md-sys-color-on-surface-variant-light: #41474d;
  --md-sys-color-outline-light: #72787e;
  --md-sys-color-inverse-on-surface-light: #f0f0f3;
  --md-sys-color-inverse-surface-light: #2e3133;
  --md-sys-color-inverse-primary-light: #8fcdff;
  --md-sys-color-shadow-light: #000000;
  --md-sys-color-surface-tint-light: #006495;
  --md-sys-color-outline-variant-light: #c1c7ce;
  --md-sys-color-scrim-light: #000000;
  /* dark */
  --md-sys-color-primary-dark: #8fcdff;
  --md-sys-color-on-primary-dark: #003450;
  --md-sys-color-primary-container-dark: #004b71;
  --md-sys-color-on-primary-container-dark: #cbe6ff;
  --md-sys-color-secondary-dark: #b8c8d9;
  --md-sys-color-on-secondary-dark: #22323f;
  --md-sys-color-secondary-container-dark: #394856;
  --md-sys-color-on-secondary-container-dark: #d4e4f6;
  --md-sys-color-tertiary-dark: #d0bfe7;
  --md-sys-color-on-tertiary-dark: #362b4a;
  --md-sys-color-tertiary-container-dark: #4d4162;
  --md-sys-color-on-tertiary-container-dark: #ecdcff;
  --md-sys-color-error-dark: #ffb4ab;
  --md-sys-color-error-container-dark: #93000a;
  --md-sys-color-on-error-dark: #690005;
  --md-sys-color-on-error-container-dark: #ffdad6;
  --md-sys-color-background-dark: #1a1c1e;
  --md-sys-color-on-background-dark: #e2e2e5;
  --md-sys-color-surface-dark: #1a1c1e;
  --md-sys-color-on-surface-dark: #e2e2e5;
  --md-sys-color-surface-variant-dark: #41474d;
  --md-sys-color-on-surface-variant-dark: #c1c7ce;
  --md-sys-color-outline-dark: #8b9198;
  --md-sys-color-inverse-on-surface-dark: #1a1c1e;
  --md-sys-color-inverse-surface-dark: #e2e2e5;
  --md-sys-color-inverse-primary-dark: #006495;
  --md-sys-color-shadow-dark: #000000;
  --md-sys-color-surface-tint-dark: #8fcdff;
  --md-sys-color-outline-variant-dark: #41474d;
  --md-sys-color-scrim-dark: #000000;
  /* display - large */
  --md-sys-typescale-display-large-font-family-name: Roboto;
  --md-sys-typescale-display-large-font-family-style: Regular;
  --md-sys-typescale-display-large-font-weight: 400px;
  --md-sys-typescale-display-large-font-size: 57px;
  --md-sys-typescale-display-large-line-height: 64px;
  --md-sys-typescale-display-large-letter-spacing: -0.25px;
  /* display - medium */
  --md-sys-typescale-display-medium-font-family-name: Roboto;
  --md-sys-typescale-display-medium-font-family-style: Regular;
  --md-sys-typescale-display-medium-font-weight: 400px;
  --md-sys-typescale-display-medium-font-size: 45px;
  --md-sys-typescale-display-medium-line-height: 52px;
  --md-sys-typescale-display-medium-letter-spacing: 0px;
  /* display - small */
  --md-sys-typescale-display-small-font-family-name: Roboto;
  --md-sys-typescale-display-small-font-family-style: Regular;
  --md-sys-typescale-display-small-font-weight: 400px;
  --md-sys-typescale-display-small-font-size: 36px;
  --md-sys-typescale-display-small-line-height: 44px;
  --md-sys-typescale-display-small-letter-spacing: 0px;
  /* headline - large */
  --md-sys-typescale-headline-large-font-family-name: Roboto;
  --md-sys-typescale-headline-large-font-family-style: Regular;
  --md-sys-typescale-headline-large-font-weight: 400px;
  --md-sys-typescale-headline-large-font-size: 32px;
  --md-sys-typescale-headline-large-line-height: 40px;
  --md-sys-typescale-headline-large-letter-spacing: 0px;
  /* headline - medium */
  --md-sys-typescale-headline-medium-font-family-name: Roboto;
  --md-sys-typescale-headline-medium-font-family-style: Regular;
  --md-sys-typescale-headline-medium-font-weight: 400px;
  --md-sys-typescale-headline-medium-font-size: 28px;
  --md-sys-typescale-headline-medium-line-height: 36px;
  --md-sys-typescale-headline-medium-letter-spacing: 0px;
  /* headline - small */
  --md-sys-typescale-headline-small-font-family-name: Roboto;
  --md-sys-typescale-headline-small-font-family-style: Regular;
  --md-sys-typescale-headline-small-font-weight: 400px;
  --md-sys-typescale-headline-small-font-size: 24px;
  --md-sys-typescale-headline-small-line-height: 32px;
  --md-sys-typescale-headline-small-letter-spacing: 0px;
  /* body - large */
  --md-sys-typescale-body-large-font-family-name: Roboto;
  --md-sys-typescale-body-large-font-family-style: Regular;
  --md-sys-typescale-body-large-font-weight: 400px;
  --md-sys-typescale-body-large-font-size: 16px;
  --md-sys-typescale-body-large-line-height: 24px;
  --md-sys-typescale-body-large-letter-spacing: 0.50px;
  /* body - medium */
  --md-sys-typescale-body-medium-font-family-name: Roboto;
  --md-sys-typescale-body-medium-font-family-style: Regular;
  --md-sys-typescale-body-medium-font-weight: 400px;
  --md-sys-typescale-body-medium-font-size: 14px;
  --md-sys-typescale-body-medium-line-height: 20px;
  --md-sys-typescale-body-medium-letter-spacing: 0.25px;
  /* body - small */
  --md-sys-typescale-body-small-font-family-name: Roboto;
  --md-sys-typescale-body-small-font-family-style: Regular;
  --md-sys-typescale-body-small-font-weight: 400px;
  --md-sys-typescale-body-small-font-size: 12px;
  --md-sys-typescale-body-small-line-height: 16px;
  --md-sys-typescale-body-small-letter-spacing: 0.40px;
  /* label - large */
  --md-sys-typescale-label-large-font-family-name: Roboto;
  --md-sys-typescale-label-large-font-family-style: Medium;
  --md-sys-typescale-label-large-font-weight: 500px;
  --md-sys-typescale-label-large-font-size: 14px;
  --md-sys-typescale-label-large-line-height: 20px;
  --md-sys-typescale-label-large-letter-spacing: 0.10px;
  /* label - medium */
  --md-sys-typescale-label-medium-font-family-name: Roboto;
  --md-sys-typescale-label-medium-font-family-style: Medium;
  --md-sys-typescale-label-medium-font-weight: 500px;
  --md-sys-typescale-label-medium-font-size: 12px;
  --md-sys-typescale-label-medium-line-height: 16px;
  --md-sys-typescale-label-medium-letter-spacing: 0.50px;
  /* label - small */
  --md-sys-typescale-label-small-font-family-name: Roboto;
  --md-sys-typescale-label-small-font-family-style: Medium;
  --md-sys-typescale-label-small-font-weight: 500px;
  --md-sys-typescale-label-small-font-size: 11px;
  --md-sys-typescale-label-small-line-height: 16px;
  --md-sys-typescale-label-small-letter-spacing: 0.50px;
  /* title - large */
  --md-sys-typescale-title-large-font-family-name: Roboto;
  --md-sys-typescale-title-large-font-family-style: Regular;
  --md-sys-typescale-title-large-font-weight: 400px;
  --md-sys-typescale-title-large-font-size: 22px;
  --md-sys-typescale-title-large-line-height: 28px;
  --md-sys-typescale-title-large-letter-spacing: 0px;
  /* title - medium */
  --md-sys-typescale-title-medium-font-family-name: Roboto;
  --md-sys-typescale-title-medium-font-family-style: Medium;
  --md-sys-typescale-title-medium-font-weight: 500px;
  --md-sys-typescale-title-medium-font-size: 16px;
  --md-sys-typescale-title-medium-line-height: 24px;
  --md-sys-typescale-title-medium-letter-spacing: 0.15px;
  /* title - small */
  --md-sys-typescale-title-small-font-family-name: Roboto;
  --md-sys-typescale-title-small-font-family-style: Medium;
  --md-sys-typescale-title-small-font-weight: 500px;
  --md-sys-typescale-title-small-font-size: 14px;
  --md-sys-typescale-title-small-line-height: 20px;
  --md-sys-typescale-title-small-letter-spacing: 0.10px;
}

.primary {
  background-color: var(--md-sys-color-primary);
}

.primary-text {
  color: var(--md-sys-color-primary);
}

.on-primary {
  background-color: var(--md-sys-color-on-primary);
}

.on-primary-text {
  color: var(--md-sys-color-on-primary);
}

.primary-container {
  background-color: var(--md-sys-color-primary-container);
}

.primary-container-text {
  color: var(--md-sys-color-primary-container);
}

.on-primary-container {
  background-color: var(--md-sys-color-on-primary-container);
}

.on-primary-container-text {
  color: var(--md-sys-color-on-primary-container);
}

.secondary {
  background-color: var(--md-sys-color-secondary);
}

.secondary-text {
  color: var(--md-sys-color-secondary);
}

.on-secondary {
  background-color: var(--md-sys-color-on-secondary);
}

.on-secondary-text {
  color: var(--md-sys-color-on-secondary);
}

.secondary-container {
  background-color: var(--md-sys-color-secondary-container);
}

.secondary-container-text {
  color: var(--md-sys-color-secondary-container);
}

.on-secondary-container {
  background-color: var(--md-sys-color-on-secondary-container);
}

.on-secondary-container-text {
  color: var(--md-sys-color-on-secondary-container);
}

.tertiary {
  background-color: var(--md-sys-color-tertiary);
}

.tertiary-text {
  color: var(--md-sys-color-tertiary);
}

.on-tertiary {
  background-color: var(--md-sys-color-on-tertiary);
}

.on-tertiary-text {
  color: var(--md-sys-color-on-tertiary);
}

.tertiary-container {
  background-color: var(--md-sys-color-tertiary-container);
}

.tertiary-container-text {
  color: var(--md-sys-color-tertiary-container);
}

.on-tertiary-container {
  background-color: var(--md-sys-color-on-tertiary-container);
}

.on-tertiary-container-text {
  color: var(--md-sys-color-on-tertiary-container);
}

.error {
  background-color: var(--md-sys-color-error);
}

.error-text {
  color: var(--md-sys-color-error);
}

.on-error {
  background-color: var(--md-sys-color-on-error);
}

.on-error-text {
  color: var(--md-sys-color-on-error);
}

.error-container {
  background-color: var(--md-sys-color-error-container);
}

.error-container-text {
  color: var(--md-sys-color-error-container);
}

.on-error-container {
  background-color: var(--md-sys-color-on-error-container);
}

.on-error-container-text {
  color: var(--md-sys-color-on-error-container);
}

.background {
  background-color: var(--md-sys-color-background);
}

.background-text {
  color: var(--md-sys-color-background);
}

.on-background {
  background-color: var(--md-sys-color-on-background);
}

.on-background-text {
  color: var(--md-sys-color-on-background);
}

.surface, .switch label input[type=checkbox]:checked + .lever:after {
  background-color: var(--md-sys-color-surface);
}

.surface-text {
  color: var(--md-sys-color-surface);
}

.on-surface {
  background-color: var(--md-sys-color-on-surface);
}

.on-surface-text {
  color: var(--md-sys-color-on-surface);
}

.surface-variant, .progress, input[type=range]::-moz-range-track, input[type=range]::-webkit-slider-runnable-track, .switch label .lever {
  background-color: var(--md-sys-color-surface-variant);
}

.surface-variant-text {
  color: var(--md-sys-color-surface-variant);
}

.on-surface-variant {
  background-color: var(--md-sys-color-on-surface-variant);
}

.on-surface-variant-text, .chip > .material-icons {
  color: var(--md-sys-color-on-surface-variant);
}

.outline, .switch label .lever:after {
  background-color: var(--md-sys-color-outline);
}

.outline-text {
  color: var(--md-sys-color-outline);
}

.inverse-on-surface {
  background-color: var(--md-sys-color-inverse-on-surface);
}

.inverse-on-surface-text {
  color: var(--md-sys-color-inverse-on-surface);
}

.inverse-surface {
  background-color: var(--md-sys-color-inverse-surface);
}

.inverse-surface-text {
  color: var(--md-sys-color-inverse-surface);
}

.inverse-primary {
  background-color: var(--md-sys-color-inverse-primary);
}

.inverse-primary-text {
  color: var(--md-sys-color-inverse-primary);
}

.shadow {
  background-color: var(--md-sys-color-shadow);
}

.shadow-text {
  color: var(--md-sys-color-shadow);
}

.surface-tint {
  background-color: var(--md-sys-color-surface-tint);
}

.surface-tint-text {
  color: var(--md-sys-color-surface-tint);
}

.outline-variant {
  background-color: var(--md-sys-color-outline-variant);
}

.outline-variant-text {
  color: var(--md-sys-color-outline-variant);
}

.scrim {
  background-color: var(--md-sys-color-scrim);
}

.scrim-text {
  color: var(--md-sys-color-scrim);
}

.display-large {
  font-family: var(--md-sys-typescale-display-large-font-family-name);
  font-style: var(--md-sys-typescale-display-large-font-family-style);
  font-weight: var(--md-sys-typescale-display-large-font-weight);
  font-size: var(--md-sys-typescale-display-large-font-size);
  letter-spacing: var(--md-sys-typescale-display-large-tracking);
  line-height: var(--md-sys-typescale-display-large-height);
  text-transform: var(--md-sys-typescale-display-large-text-transform);
  text-decoration: var(--md-sys-typescale-display-large-text-decoration);
}

.display-medium {
  font-family: var(--md-sys-typescale-display-medium-font-family-name);
  font-style: var(--md-sys-typescale-display-medium-font-family-style);
  font-weight: var(--md-sys-typescale-display-medium-font-weight);
  font-size: var(--md-sys-typescale-display-medium-font-size);
  letter-spacing: var(--md-sys-typescale-display-medium-tracking);
  line-height: var(--md-sys-typescale-display-medium-height);
  text-transform: var(--md-sys-typescale-display-medium-text-transform);
  text-decoration: var(--md-sys-typescale-display-medium-text-decoration);
}

.display-small {
  font-family: var(--md-sys-typescale-display-small-font-family-name);
  font-style: var(--md-sys-typescale-display-small-font-family-style);
  font-weight: var(--md-sys-typescale-display-small-font-weight);
  font-size: var(--md-sys-typescale-display-small-font-size);
  letter-spacing: var(--md-sys-typescale-display-small-tracking);
  line-height: var(--md-sys-typescale-display-small-height);
  text-transform: var(--md-sys-typescale-display-small-text-transform);
  text-decoration: var(--md-sys-typescale-display-small-text-decoration);
}

.headline-large {
  font-family: var(--md-sys-typescale-headline-large-font-family-name);
  font-style: var(--md-sys-typescale-headline-large-font-family-style);
  font-weight: var(--md-sys-typescale-headline-large-font-weight);
  font-size: var(--md-sys-typescale-headline-large-font-size);
  letter-spacing: var(--md-sys-typescale-headline-large-tracking);
  line-height: var(--md-sys-typescale-headline-large-height);
  text-transform: var(--md-sys-typescale-headline-large-text-transform);
  text-decoration: var(--md-sys-typescale-headline-large-text-decoration);
}

.headline-medium {
  font-family: var(--md-sys-typescale-headline-medium-font-family-name);
  font-style: var(--md-sys-typescale-headline-medium-font-family-style);
  font-weight: var(--md-sys-typescale-headline-medium-font-weight);
  font-size: var(--md-sys-typescale-headline-medium-font-size);
  letter-spacing: var(--md-sys-typescale-headline-medium-tracking);
  line-height: var(--md-sys-typescale-headline-medium-height);
  text-transform: var(--md-sys-typescale-headline-medium-text-transform);
  text-decoration: var(--md-sys-typescale-headline-medium-text-decoration);
}

.headline-small {
  font-family: var(--md-sys-typescale-headline-small-font-family-name);
  font-style: var(--md-sys-typescale-headline-small-font-family-style);
  font-weight: var(--md-sys-typescale-headline-small-font-weight);
  font-size: var(--md-sys-typescale-headline-small-font-size);
  letter-spacing: var(--md-sys-typescale-headline-small-tracking);
  line-height: var(--md-sys-typescale-headline-small-height);
  text-transform: var(--md-sys-typescale-headline-small-text-transform);
  text-decoration: var(--md-sys-typescale-headline-small-text-decoration);
}

.body-large {
  font-family: var(--md-sys-typescale-body-large-font-family-name);
  font-style: var(--md-sys-typescale-body-large-font-family-style);
  font-weight: var(--md-sys-typescale-body-large-font-weight);
  font-size: var(--md-sys-typescale-body-large-font-size);
  letter-spacing: var(--md-sys-typescale-body-large-tracking);
  line-height: var(--md-sys-typescale-body-large-height);
  text-transform: var(--md-sys-typescale-body-large-text-transform);
  text-decoration: var(--md-sys-typescale-body-large-text-decoration);
}

.body-medium {
  font-family: var(--md-sys-typescale-body-medium-font-family-name);
  font-style: var(--md-sys-typescale-body-medium-font-family-style);
  font-weight: var(--md-sys-typescale-body-medium-font-weight);
  font-size: var(--md-sys-typescale-body-medium-font-size);
  letter-spacing: var(--md-sys-typescale-body-medium-tracking);
  line-height: var(--md-sys-typescale-body-medium-height);
  text-transform: var(--md-sys-typescale-body-medium-text-transform);
  text-decoration: var(--md-sys-typescale-body-medium-text-decoration);
}

.body-small {
  font-family: var(--md-sys-typescale-body-small-font-family-name);
  font-style: var(--md-sys-typescale-body-small-font-family-style);
  font-weight: var(--md-sys-typescale-body-small-font-weight);
  font-size: var(--md-sys-typescale-body-small-font-size);
  letter-spacing: var(--md-sys-typescale-body-small-tracking);
  line-height: var(--md-sys-typescale-body-small-height);
  text-transform: var(--md-sys-typescale-body-small-text-transform);
  text-decoration: var(--md-sys-typescale-body-small-text-decoration);
}

.label-large {
  font-family: var(--md-sys-typescale-label-large-font-family-name);
  font-style: var(--md-sys-typescale-label-large-font-family-style);
  font-weight: var(--md-sys-typescale-label-large-font-weight);
  font-size: var(--md-sys-typescale-label-large-font-size);
  letter-spacing: var(--md-sys-typescale-label-large-tracking);
  line-height: var(--md-sys-typescale-label-large-height);
  text-transform: var(--md-sys-typescale-label-large-text-transform);
  text-decoration: var(--md-sys-typescale-label-large-text-decoration);
}

.label-medium {
  font-family: var(--md-sys-typescale-label-medium-font-family-name);
  font-style: var(--md-sys-typescale-label-medium-font-family-style);
  font-weight: var(--md-sys-typescale-label-medium-font-weight);
  font-size: var(--md-sys-typescale-label-medium-font-size);
  letter-spacing: var(--md-sys-typescale-label-medium-tracking);
  line-height: var(--md-sys-typescale-label-medium-height);
  text-transform: var(--md-sys-typescale-label-medium-text-transform);
  text-decoration: var(--md-sys-typescale-label-medium-text-decoration);
}

.label-small {
  font-family: var(--md-sys-typescale-label-small-font-family-name);
  font-style: var(--md-sys-typescale-label-small-font-family-style);
  font-weight: var(--md-sys-typescale-label-small-font-weight);
  font-size: var(--md-sys-typescale-label-small-font-size);
  letter-spacing: var(--md-sys-typescale-label-small-tracking);
  line-height: var(--md-sys-typescale-label-small-height);
  text-transform: var(--md-sys-typescale-label-small-text-transform);
  text-decoration: var(--md-sys-typescale-label-small-text-decoration);
}

.title-large {
  font-family: var(--md-sys-typescale-title-large-font-family-name);
  font-style: var(--md-sys-typescale-title-large-font-family-style);
  font-weight: var(--md-sys-typescale-title-large-font-weight);
  font-size: var(--md-sys-typescale-title-large-font-size);
  letter-spacing: var(--md-sys-typescale-title-large-tracking);
  line-height: var(--md-sys-typescale-title-large-height);
  text-transform: var(--md-sys-typescale-title-large-text-transform);
  text-decoration: var(--md-sys-typescale-title-large-text-decoration);
}

.title-medium {
  font-family: var(--md-sys-typescale-title-medium-font-family-name);
  font-style: var(--md-sys-typescale-title-medium-font-family-style);
  font-weight: var(--md-sys-typescale-title-medium-font-weight);
  font-size: var(--md-sys-typescale-title-medium-font-size);
  letter-spacing: var(--md-sys-typescale-title-medium-tracking);
  line-height: var(--md-sys-typescale-title-medium-height);
  text-transform: var(--md-sys-typescale-title-medium-text-transform);
  text-decoration: var(--md-sys-typescale-title-medium-text-decoration);
}

.title-small {
  font-family: var(--md-sys-typescale-title-small-font-family-name);
  font-style: var(--md-sys-typescale-title-small-font-family-style);
  font-weight: var(--md-sys-typescale-title-small-font-weight);
  font-size: var(--md-sys-typescale-title-small-font-size);
  letter-spacing: var(--md-sys-typescale-title-small-tracking);
  line-height: var(--md-sys-typescale-title-small-height);
  text-transform: var(--md-sys-typescale-title-small-text-transform);
  text-decoration: var(--md-sys-typescale-title-small-text-decoration);
}

:root {
  --md-sys-color-primary: var(--md-sys-color-primary-light);
  --md-sys-color-on-primary: var(--md-sys-color-on-primary-light);
  --md-sys-color-primary-container: var(--md-sys-color-primary-container-light);
  --md-sys-color-on-primary-container: var(--md-sys-color-on-primary-container-light);
  --md-sys-color-secondary: var(--md-sys-color-secondary-light);
  --md-sys-color-on-secondary: var(--md-sys-color-on-secondary-light);
  --md-sys-color-secondary-container: var(--md-sys-color-secondary-container-light);
  --md-sys-color-on-secondary-container: var(--md-sys-color-on-secondary-container-light);
  --md-sys-color-tertiary: var(--md-sys-color-tertiary-light);
  --md-sys-color-on-tertiary: var(--md-sys-color-on-tertiary-light);
  --md-sys-color-tertiary-container: var(--md-sys-color-tertiary-container-light);
  --md-sys-color-on-tertiary-container: var(--md-sys-color-on-tertiary-container-light);
  --md-sys-color-error: var(--md-sys-color-error-light);
  --md-sys-color-on-error: var(--md-sys-color-on-error-light);
  --md-sys-color-error-container: var(--md-sys-color-error-container-light);
  --md-sys-color-on-error-container: var(--md-sys-color-on-error-container-light);
  --md-sys-color-outline: var(--md-sys-color-outline-light);
  --md-sys-color-background: var(--md-sys-color-background-light);
  --md-sys-color-on-background: var(--md-sys-color-on-background-light);
  --md-sys-color-surface: var(--md-sys-color-surface-light);
  --md-sys-color-on-surface: var(--md-sys-color-on-surface-light);
  --md-sys-color-surface-variant: var(--md-sys-color-surface-variant-light);
  --md-sys-color-on-surface-variant: var(--md-sys-color-on-surface-variant-light);
  --md-sys-color-inverse-surface: var(--md-sys-color-inverse-surface-light);
  --md-sys-color-inverse-on-surface: var(--md-sys-color-inverse-on-surface-light);
  --md-sys-color-inverse-primary: var(--md-sys-color-inverse-primary-light);
  --md-sys-color-shadow: var(--md-sys-color-shadow-light);
  --md-sys-color-surface-tint: var(--md-sys-color-surface-tint-light);
  --md-sys-color-outline-variant: var(--md-sys-color-outline-variant-light);
  --md-sys-color-scrim: var(--md-sys-color-scrim-light);
}

:root[theme=dark] {
  --md-sys-color-primary: var(--md-sys-color-primary-dark);
  --md-sys-color-on-primary: var(--md-sys-color-on-primary-dark);
  --md-sys-color-primary-container: var(--md-sys-color-primary-container-dark);
  --md-sys-color-on-primary-container: var(--md-sys-color-on-primary-container-dark);
  --md-sys-color-secondary: var(--md-sys-color-secondary-dark);
  --md-sys-color-on-secondary: var(--md-sys-color-on-secondary-dark);
  --md-sys-color-secondary-container: var(--md-sys-color-secondary-container-dark);
  --md-sys-color-on-secondary-container: var(--md-sys-color-on-secondary-container-dark);
  --md-sys-color-tertiary: var(--md-sys-color-tertiary-dark);
  --md-sys-color-on-tertiary: var(--md-sys-color-on-tertiary-dark);
  --md-sys-color-tertiary-container: var(--md-sys-color-tertiary-container-dark);
  --md-sys-color-on-tertiary-container: var(--md-sys-color-on-tertiary-container-dark);
  --md-sys-color-error: var(--md-sys-color-error-dark);
  --md-sys-color-on-error: var(--md-sys-color-on-error-dark);
  --md-sys-color-error-container: var(--md-sys-color-error-container-dark);
  --md-sys-color-on-error-container: var(--md-sys-color-on-error-container-dark);
  --md-sys-color-outline: var(--md-sys-color-outline-dark);
  --md-sys-color-background: var(--md-sys-color-background-dark);
  --md-sys-color-on-background: var(--md-sys-color-on-background-dark);
  --md-sys-color-surface: var(--md-sys-color-surface-dark);
  --md-sys-color-on-surface: var(--md-sys-color-on-surface-dark);
  --md-sys-color-surface-variant: var(--md-sys-color-surface-variant-dark);
  --md-sys-color-on-surface-variant: var(--md-sys-color-on-surface-variant-dark);
  --md-sys-color-inverse-surface: var(--md-sys-color-inverse-surface-dark);
  --md-sys-color-inverse-on-surface: var(--md-sys-color-inverse-on-surface-dark);
  --md-sys-color-inverse-primary: var(--md-sys-color-inverse-primary-dark);
  --md-sys-color-shadow: var(--md-sys-color-shadow-dark);
  --md-sys-color-surface-tint: var(--md-sys-color-surface-tint-dark);
  --md-sys-color-outline-variant: var(--md-sys-color-outline-variant-dark);
  --md-sys-color-scrim: var(--md-sys-color-scrim-dark);
}

:root, :host {
  --surface-color: var(--md-sys-color-surface);
  --background-color: var(--md-sys-color-background);
  --font-color-main: var(--md-sys-color-on-background);
  --font-color-medium: var(--md-sys-color-on-surface-variant);
  --font-color-disabled: var(--md-sys-color-on-surface);
  --font-on-primary-color-main: var(--md-sys-color-on-primary);
  --font-on-primary-color-dark-main: var(--md-sys-color-on-primary-dark);
  --font-on-primary-color-dark-medium: var(--md-sys-color-on-surface-variant-dark);
  --font-on-primary-color-medium: var(--md-sys-color-on-surface-variant);
  --font-on-primary-color-disabled: rgba(255, 255, 255, 0.38);
  --font-on-secondary-color-main: var(--md-sys-color-on-secondary);
  --hover-color: rgba(0, 0, 0, 0.04);
  --focus-color: rgba(0, 0, 0, 0.12);
  --focus-color-solid: #E0E0E0;
  --background-color-disabled: rgba(0, 0, 0, 0.12);
  --background-color-level-4dp: rgba(0, 0, 0, 0.09);
  --background-color-level-16dp-solid: var(--surface-color);
  --background-color-slight-emphasis: rgba(0, 0, 0, 0.08);
  --background-color-card: var(--surface-color);
  --tooltip-background-color: #313033;
  --tooltip-font-color: rgba(255, 255, 255, 0.77);
  --separator-color: #DDDDDD; /* borders between components */
  --error-color: #F44336;
  --slider-track-color: var(--md-sys-color-shadow-light);
  --switch-thumb-off-color: var(--md-ref-palette-primary100);
  --carousel-indicator-color: rgba(255, 255, 255, 0.45);
  --carousel-indicator-active-color: var(--md-ref-palette-primary100);
  --primary-color: var(--md-sys-color-primary);
  --primary-color-dark: var(--md-sys-color-primary-dark);
  --primary-color-raised-hover-solid: var(--md-ref-palette-primary70);
  --primary-color-raised-focus-solid: var(--md-ref-palette-primary80);
  --primary-color-font-medium-color: rgba(var(--primary-color-numeric), 0.7);
  --primary-color-font-disabled-color: rgba(var(--primary-color-numeric), 0.4);
  --primary-color-hover-opaque: rgba(var(--primary-color-numeric), 0.06);
  --primary-color-focus-opaque: rgba(var(--primary-color-numeric), 0.18);
  --secondary-color: var(--md-sys-color-secondary);
  --secondary-color-hover-solid: var(--md-ref-palette-secondary70);
  --secondary-color-focus-solid: var(--md-ref-palette-secondary80);
  --secondary-container-color: var(--md-sys-color-secondary-container);
  --font-on-secondary-container-color: var(--md-sys-color-on-secondary-container);
  --md_sys_color_on-surface: 28, 27, 31;
}

:root[theme=dark] {
  --font-on-primary-color-disabled: rgba(0, 0, 0, 0.38);
  --hover-color: rgba(255, 255, 255, 0.04);
  --focus-color: rgba(255, 255, 255, 0.12);
  --focus-color-solid: #424242;
  --background-color-disabled: rgba(255, 255, 255, 0.12);
  --background-color-level-4dp: rgba(255, 255, 255, 0.09);
  --background-color-slight-emphasis: rgba(255, 255, 255, 0.05);
  --separator-color: #424242; /* borders between components */
  --error-color: #CF6679;
  --switch-thumb-off-color: #bababa;
  --md_sys_color_on-surface: 230, 225, 229;
}

.materialize-red {
  background-color: #e51c23 !important;
}

.materialize-red-text {
  color: #e51c23 !important;
}

.materialize-red.lighten-5 {
  background-color: #fdeaeb !important;
}

.materialize-red-text.text-lighten-5 {
  color: #fdeaeb !important;
}

.materialize-red.lighten-4 {
  background-color: #f8c1c3 !important;
}

.materialize-red-text.text-lighten-4 {
  color: #f8c1c3 !important;
}

.materialize-red.lighten-3 {
  background-color: #f3989b !important;
}

.materialize-red-text.text-lighten-3 {
  color: #f3989b !important;
}

.materialize-red.lighten-2 {
  background-color: #ee6e73 !important;
}

.materialize-red-text.text-lighten-2 {
  color: #ee6e73 !important;
}

.materialize-red.lighten-1 {
  background-color: #ea454b !important;
}

.materialize-red-text.text-lighten-1 {
  color: #ea454b !important;
}

.materialize-red.darken-1 {
  background-color: #d0181e !important;
}

.materialize-red-text.text-darken-1 {
  color: #d0181e !important;
}

.materialize-red.darken-2 {
  background-color: #b9151b !important;
}

.materialize-red-text.text-darken-2 {
  color: #b9151b !important;
}

.materialize-red.darken-3 {
  background-color: #a21318 !important;
}

.materialize-red-text.text-darken-3 {
  color: #a21318 !important;
}

.materialize-red.darken-4 {
  background-color: #8b1014 !important;
}

.materialize-red-text.text-darken-4 {
  color: #8b1014 !important;
}

.red {
  background-color: #F44336 !important;
}

.red-text {
  color: #F44336 !important;
}

.red.lighten-5 {
  background-color: #FFEBEE !important;
}

.red-text.text-lighten-5 {
  color: #FFEBEE !important;
}

.red.lighten-4 {
  background-color: #FFCDD2 !important;
}

.red-text.text-lighten-4 {
  color: #FFCDD2 !important;
}

.red.lighten-3 {
  background-color: #EF9A9A !important;
}

.red-text.text-lighten-3 {
  color: #EF9A9A !important;
}

.red.lighten-2 {
  background-color: #E57373 !important;
}

.red-text.text-lighten-2 {
  color: #E57373 !important;
}

.red.lighten-1 {
  background-color: #EF5350 !important;
}

.red-text.text-lighten-1 {
  color: #EF5350 !important;
}

.red.darken-1 {
  background-color: #E53935 !important;
}

.red-text.text-darken-1 {
  color: #E53935 !important;
}

.red.darken-2 {
  background-color: #D32F2F !important;
}

.red-text.text-darken-2 {
  color: #D32F2F !important;
}

.red.darken-3 {
  background-color: #C62828 !important;
}

.red-text.text-darken-3 {
  color: #C62828 !important;
}

.red.darken-4 {
  background-color: #B71C1C !important;
}

.red-text.text-darken-4 {
  color: #B71C1C !important;
}

.red.accent-1 {
  background-color: #FF8A80 !important;
}

.red-text.text-accent-1 {
  color: #FF8A80 !important;
}

.red.accent-2 {
  background-color: #FF5252 !important;
}

.red-text.text-accent-2 {
  color: #FF5252 !important;
}

.red.accent-3 {
  background-color: #FF1744 !important;
}

.red-text.text-accent-3 {
  color: #FF1744 !important;
}

.red.accent-4 {
  background-color: #D50000 !important;
}

.red-text.text-accent-4 {
  color: #D50000 !important;
}

.pink {
  background-color: #e91e63 !important;
}

.pink-text {
  color: #e91e63 !important;
}

.pink.lighten-5 {
  background-color: #fce4ec !important;
}

.pink-text.text-lighten-5 {
  color: #fce4ec !important;
}

.pink.lighten-4 {
  background-color: #f8bbd0 !important;
}

.pink-text.text-lighten-4 {
  color: #f8bbd0 !important;
}

.pink.lighten-3 {
  background-color: #f48fb1 !important;
}

.pink-text.text-lighten-3 {
  color: #f48fb1 !important;
}

.pink.lighten-2 {
  background-color: #f06292 !important;
}

.pink-text.text-lighten-2 {
  color: #f06292 !important;
}

.pink.lighten-1 {
  background-color: #ec407a !important;
}

.pink-text.text-lighten-1 {
  color: #ec407a !important;
}

.pink.darken-1 {
  background-color: #d81b60 !important;
}

.pink-text.text-darken-1 {
  color: #d81b60 !important;
}

.pink.darken-2 {
  background-color: #c2185b !important;
}

.pink-text.text-darken-2 {
  color: #c2185b !important;
}

.pink.darken-3 {
  background-color: #ad1457 !important;
}

.pink-text.text-darken-3 {
  color: #ad1457 !important;
}

.pink.darken-4 {
  background-color: #880e4f !important;
}

.pink-text.text-darken-4 {
  color: #880e4f !important;
}

.pink.accent-1 {
  background-color: #ff80ab !important;
}

.pink-text.text-accent-1 {
  color: #ff80ab !important;
}

.pink.accent-2 {
  background-color: #ff4081 !important;
}

.pink-text.text-accent-2 {
  color: #ff4081 !important;
}

.pink.accent-3 {
  background-color: #f50057 !important;
}

.pink-text.text-accent-3 {
  color: #f50057 !important;
}

.pink.accent-4 {
  background-color: #c51162 !important;
}

.pink-text.text-accent-4 {
  color: #c51162 !important;
}

.purple {
  background-color: #9c27b0 !important;
}

.purple-text {
  color: #9c27b0 !important;
}

.purple.lighten-5 {
  background-color: #f3e5f5 !important;
}

.purple-text.text-lighten-5 {
  color: #f3e5f5 !important;
}

.purple.lighten-4 {
  background-color: #e1bee7 !important;
}

.purple-text.text-lighten-4 {
  color: #e1bee7 !important;
}

.purple.lighten-3 {
  background-color: #ce93d8 !important;
}

.purple-text.text-lighten-3 {
  color: #ce93d8 !important;
}

.purple.lighten-2 {
  background-color: #ba68c8 !important;
}

.purple-text.text-lighten-2 {
  color: #ba68c8 !important;
}

.purple.lighten-1 {
  background-color: #ab47bc !important;
}

.purple-text.text-lighten-1 {
  color: #ab47bc !important;
}

.purple.darken-1 {
  background-color: #8e24aa !important;
}

.purple-text.text-darken-1 {
  color: #8e24aa !important;
}

.purple.darken-2 {
  background-color: #7b1fa2 !important;
}

.purple-text.text-darken-2 {
  color: #7b1fa2 !important;
}

.purple.darken-3 {
  background-color: #6a1b9a !important;
}

.purple-text.text-darken-3 {
  color: #6a1b9a !important;
}

.purple.darken-4 {
  background-color: #4a148c !important;
}

.purple-text.text-darken-4 {
  color: #4a148c !important;
}

.purple.accent-1 {
  background-color: #ea80fc !important;
}

.purple-text.text-accent-1 {
  color: #ea80fc !important;
}

.purple.accent-2 {
  background-color: #e040fb !important;
}

.purple-text.text-accent-2 {
  color: #e040fb !important;
}

.purple.accent-3 {
  background-color: #d500f9 !important;
}

.purple-text.text-accent-3 {
  color: #d500f9 !important;
}

.purple.accent-4 {
  background-color: #aa00ff !important;
}

.purple-text.text-accent-4 {
  color: #aa00ff !important;
}

.deep-purple {
  background-color: #673ab7 !important;
}

.deep-purple-text {
  color: #673ab7 !important;
}

.deep-purple.lighten-5 {
  background-color: #ede7f6 !important;
}

.deep-purple-text.text-lighten-5 {
  color: #ede7f6 !important;
}

.deep-purple.lighten-4 {
  background-color: #d1c4e9 !important;
}

.deep-purple-text.text-lighten-4 {
  color: #d1c4e9 !important;
}

.deep-purple.lighten-3 {
  background-color: #b39ddb !important;
}

.deep-purple-text.text-lighten-3 {
  color: #b39ddb !important;
}

.deep-purple.lighten-2 {
  background-color: #9575cd !important;
}

.deep-purple-text.text-lighten-2 {
  color: #9575cd !important;
}

.deep-purple.lighten-1 {
  background-color: #7e57c2 !important;
}

.deep-purple-text.text-lighten-1 {
  color: #7e57c2 !important;
}

.deep-purple.darken-1 {
  background-color: #5e35b1 !important;
}

.deep-purple-text.text-darken-1 {
  color: #5e35b1 !important;
}

.deep-purple.darken-2 {
  background-color: #512da8 !important;
}

.deep-purple-text.text-darken-2 {
  color: #512da8 !important;
}

.deep-purple.darken-3 {
  background-color: #4527a0 !important;
}

.deep-purple-text.text-darken-3 {
  color: #4527a0 !important;
}

.deep-purple.darken-4 {
  background-color: #311b92 !important;
}

.deep-purple-text.text-darken-4 {
  color: #311b92 !important;
}

.deep-purple.accent-1 {
  background-color: #b388ff !important;
}

.deep-purple-text.text-accent-1 {
  color: #b388ff !important;
}

.deep-purple.accent-2 {
  background-color: #7c4dff !important;
}

.deep-purple-text.text-accent-2 {
  color: #7c4dff !important;
}

.deep-purple.accent-3 {
  background-color: #651fff !important;
}

.deep-purple-text.text-accent-3 {
  color: #651fff !important;
}

.deep-purple.accent-4 {
  background-color: #6200ea !important;
}

.deep-purple-text.text-accent-4 {
  color: #6200ea !important;
}

.indigo {
  background-color: #3f51b5 !important;
}

.indigo-text {
  color: #3f51b5 !important;
}

.indigo.lighten-5 {
  background-color: #e8eaf6 !important;
}

.indigo-text.text-lighten-5 {
  color: #e8eaf6 !important;
}

.indigo.lighten-4 {
  background-color: #c5cae9 !important;
}

.indigo-text.text-lighten-4 {
  color: #c5cae9 !important;
}

.indigo.lighten-3 {
  background-color: #9fa8da !important;
}

.indigo-text.text-lighten-3 {
  color: #9fa8da !important;
}

.indigo.lighten-2 {
  background-color: #7986cb !important;
}

.indigo-text.text-lighten-2 {
  color: #7986cb !important;
}

.indigo.lighten-1 {
  background-color: #5c6bc0 !important;
}

.indigo-text.text-lighten-1 {
  color: #5c6bc0 !important;
}

.indigo.darken-1 {
  background-color: #3949ab !important;
}

.indigo-text.text-darken-1 {
  color: #3949ab !important;
}

.indigo.darken-2 {
  background-color: #303f9f !important;
}

.indigo-text.text-darken-2 {
  color: #303f9f !important;
}

.indigo.darken-3 {
  background-color: #283593 !important;
}

.indigo-text.text-darken-3 {
  color: #283593 !important;
}

.indigo.darken-4 {
  background-color: #1a237e !important;
}

.indigo-text.text-darken-4 {
  color: #1a237e !important;
}

.indigo.accent-1 {
  background-color: #8c9eff !important;
}

.indigo-text.text-accent-1 {
  color: #8c9eff !important;
}

.indigo.accent-2 {
  background-color: #536dfe !important;
}

.indigo-text.text-accent-2 {
  color: #536dfe !important;
}

.indigo.accent-3 {
  background-color: #3d5afe !important;
}

.indigo-text.text-accent-3 {
  color: #3d5afe !important;
}

.indigo.accent-4 {
  background-color: #304ffe !important;
}

.indigo-text.text-accent-4 {
  color: #304ffe !important;
}

.blue {
  background-color: #2196F3 !important;
}

.blue-text {
  color: #2196F3 !important;
}

.blue.lighten-5 {
  background-color: #E3F2FD !important;
}

.blue-text.text-lighten-5 {
  color: #E3F2FD !important;
}

.blue.lighten-4 {
  background-color: #BBDEFB !important;
}

.blue-text.text-lighten-4 {
  color: #BBDEFB !important;
}

.blue.lighten-3 {
  background-color: #90CAF9 !important;
}

.blue-text.text-lighten-3 {
  color: #90CAF9 !important;
}

.blue.lighten-2 {
  background-color: #64B5F6 !important;
}

.blue-text.text-lighten-2 {
  color: #64B5F6 !important;
}

.blue.lighten-1 {
  background-color: #42A5F5 !important;
}

.blue-text.text-lighten-1 {
  color: #42A5F5 !important;
}

.blue.darken-1 {
  background-color: #1E88E5 !important;
}

.blue-text.text-darken-1 {
  color: #1E88E5 !important;
}

.blue.darken-2 {
  background-color: #1976D2 !important;
}

.blue-text.text-darken-2 {
  color: #1976D2 !important;
}

.blue.darken-3 {
  background-color: #1565C0 !important;
}

.blue-text.text-darken-3 {
  color: #1565C0 !important;
}

.blue.darken-4 {
  background-color: #0D47A1 !important;
}

.blue-text.text-darken-4 {
  color: #0D47A1 !important;
}

.blue.accent-1 {
  background-color: #82B1FF !important;
}

.blue-text.text-accent-1 {
  color: #82B1FF !important;
}

.blue.accent-2 {
  background-color: #448AFF !important;
}

.blue-text.text-accent-2 {
  color: #448AFF !important;
}

.blue.accent-3 {
  background-color: #2979FF !important;
}

.blue-text.text-accent-3 {
  color: #2979FF !important;
}

.blue.accent-4 {
  background-color: #2962FF !important;
}

.blue-text.text-accent-4 {
  color: #2962FF !important;
}

.light-blue {
  background-color: #03a9f4 !important;
}

.light-blue-text {
  color: #03a9f4 !important;
}

.light-blue.lighten-5 {
  background-color: #e1f5fe !important;
}

.light-blue-text.text-lighten-5 {
  color: #e1f5fe !important;
}

.light-blue.lighten-4 {
  background-color: #b3e5fc !important;
}

.light-blue-text.text-lighten-4 {
  color: #b3e5fc !important;
}

.light-blue.lighten-3 {
  background-color: #81d4fa !important;
}

.light-blue-text.text-lighten-3 {
  color: #81d4fa !important;
}

.light-blue.lighten-2 {
  background-color: #4fc3f7 !important;
}

.light-blue-text.text-lighten-2 {
  color: #4fc3f7 !important;
}

.light-blue.lighten-1 {
  background-color: #29b6f6 !important;
}

.light-blue-text.text-lighten-1 {
  color: #29b6f6 !important;
}

.light-blue.darken-1 {
  background-color: #039be5 !important;
}

.light-blue-text.text-darken-1 {
  color: #039be5 !important;
}

.light-blue.darken-2 {
  background-color: #0288d1 !important;
}

.light-blue-text.text-darken-2 {
  color: #0288d1 !important;
}

.light-blue.darken-3 {
  background-color: #0277bd !important;
}

.light-blue-text.text-darken-3 {
  color: #0277bd !important;
}

.light-blue.darken-4 {
  background-color: #01579b !important;
}

.light-blue-text.text-darken-4 {
  color: #01579b !important;
}

.light-blue.accent-1 {
  background-color: #80d8ff !important;
}

.light-blue-text.text-accent-1 {
  color: #80d8ff !important;
}

.light-blue.accent-2 {
  background-color: #40c4ff !important;
}

.light-blue-text.text-accent-2 {
  color: #40c4ff !important;
}

.light-blue.accent-3 {
  background-color: #00b0ff !important;
}

.light-blue-text.text-accent-3 {
  color: #00b0ff !important;
}

.light-blue.accent-4 {
  background-color: #0091ea !important;
}

.light-blue-text.text-accent-4 {
  color: #0091ea !important;
}

.cyan {
  background-color: #00bcd4 !important;
}

.cyan-text {
  color: #00bcd4 !important;
}

.cyan.lighten-5 {
  background-color: #e0f7fa !important;
}

.cyan-text.text-lighten-5 {
  color: #e0f7fa !important;
}

.cyan.lighten-4 {
  background-color: #b2ebf2 !important;
}

.cyan-text.text-lighten-4 {
  color: #b2ebf2 !important;
}

.cyan.lighten-3 {
  background-color: #80deea !important;
}

.cyan-text.text-lighten-3 {
  color: #80deea !important;
}

.cyan.lighten-2 {
  background-color: #4dd0e1 !important;
}

.cyan-text.text-lighten-2 {
  color: #4dd0e1 !important;
}

.cyan.lighten-1 {
  background-color: #26c6da !important;
}

.cyan-text.text-lighten-1 {
  color: #26c6da !important;
}

.cyan.darken-1 {
  background-color: #00acc1 !important;
}

.cyan-text.text-darken-1 {
  color: #00acc1 !important;
}

.cyan.darken-2 {
  background-color: #0097a7 !important;
}

.cyan-text.text-darken-2 {
  color: #0097a7 !important;
}

.cyan.darken-3 {
  background-color: #00838f !important;
}

.cyan-text.text-darken-3 {
  color: #00838f !important;
}

.cyan.darken-4 {
  background-color: #006064 !important;
}

.cyan-text.text-darken-4 {
  color: #006064 !important;
}

.cyan.accent-1 {
  background-color: #84ffff !important;
}

.cyan-text.text-accent-1 {
  color: #84ffff !important;
}

.cyan.accent-2 {
  background-color: #18ffff !important;
}

.cyan-text.text-accent-2 {
  color: #18ffff !important;
}

.cyan.accent-3 {
  background-color: #00e5ff !important;
}

.cyan-text.text-accent-3 {
  color: #00e5ff !important;
}

.cyan.accent-4 {
  background-color: #00b8d4 !important;
}

.cyan-text.text-accent-4 {
  color: #00b8d4 !important;
}

.teal {
  background-color: #009688 !important;
}

.teal-text {
  color: #009688 !important;
}

.teal.lighten-5 {
  background-color: #e0f2f1 !important;
}

.teal-text.text-lighten-5 {
  color: #e0f2f1 !important;
}

.teal.lighten-4 {
  background-color: #b2dfdb !important;
}

.teal-text.text-lighten-4 {
  color: #b2dfdb !important;
}

.teal.lighten-3 {
  background-color: #80cbc4 !important;
}

.teal-text.text-lighten-3 {
  color: #80cbc4 !important;
}

.teal.lighten-2 {
  background-color: #4db6ac !important;
}

.teal-text.text-lighten-2 {
  color: #4db6ac !important;
}

.teal.lighten-1 {
  background-color: #26a69a !important;
}

.teal-text.text-lighten-1 {
  color: #26a69a !important;
}

.teal.darken-1 {
  background-color: #00897b !important;
}

.teal-text.text-darken-1 {
  color: #00897b !important;
}

.teal.darken-2 {
  background-color: #00796b !important;
}

.teal-text.text-darken-2 {
  color: #00796b !important;
}

.teal.darken-3 {
  background-color: #00695c !important;
}

.teal-text.text-darken-3 {
  color: #00695c !important;
}

.teal.darken-4 {
  background-color: #004d40 !important;
}

.teal-text.text-darken-4 {
  color: #004d40 !important;
}

.teal.accent-1 {
  background-color: #a7ffeb !important;
}

.teal-text.text-accent-1 {
  color: #a7ffeb !important;
}

.teal.accent-2 {
  background-color: #64ffda !important;
}

.teal-text.text-accent-2 {
  color: #64ffda !important;
}

.teal.accent-3 {
  background-color: #1de9b6 !important;
}

.teal-text.text-accent-3 {
  color: #1de9b6 !important;
}

.teal.accent-4 {
  background-color: #00bfa5 !important;
}

.teal-text.text-accent-4 {
  color: #00bfa5 !important;
}

.green {
  background-color: #4CAF50 !important;
}

.green-text {
  color: #4CAF50 !important;
}

.green.lighten-5 {
  background-color: #E8F5E9 !important;
}

.green-text.text-lighten-5 {
  color: #E8F5E9 !important;
}

.green.lighten-4 {
  background-color: #C8E6C9 !important;
}

.green-text.text-lighten-4 {
  color: #C8E6C9 !important;
}

.green.lighten-3 {
  background-color: #A5D6A7 !important;
}

.green-text.text-lighten-3 {
  color: #A5D6A7 !important;
}

.green.lighten-2 {
  background-color: #81C784 !important;
}

.green-text.text-lighten-2 {
  color: #81C784 !important;
}

.green.lighten-1 {
  background-color: #66BB6A !important;
}

.green-text.text-lighten-1 {
  color: #66BB6A !important;
}

.green.darken-1 {
  background-color: #43A047 !important;
}

.green-text.text-darken-1 {
  color: #43A047 !important;
}

.green.darken-2 {
  background-color: #388E3C !important;
}

.green-text.text-darken-2 {
  color: #388E3C !important;
}

.green.darken-3 {
  background-color: #2E7D32 !important;
}

.green-text.text-darken-3 {
  color: #2E7D32 !important;
}

.green.darken-4 {
  background-color: #1B5E20 !important;
}

.green-text.text-darken-4 {
  color: #1B5E20 !important;
}

.green.accent-1 {
  background-color: #B9F6CA !important;
}

.green-text.text-accent-1 {
  color: #B9F6CA !important;
}

.green.accent-2 {
  background-color: #69F0AE !important;
}

.green-text.text-accent-2 {
  color: #69F0AE !important;
}

.green.accent-3 {
  background-color: #00E676 !important;
}

.green-text.text-accent-3 {
  color: #00E676 !important;
}

.green.accent-4 {
  background-color: #00C853 !important;
}

.green-text.text-accent-4 {
  color: #00C853 !important;
}

.light-green {
  background-color: #8bc34a !important;
}

.light-green-text {
  color: #8bc34a !important;
}

.light-green.lighten-5 {
  background-color: #f1f8e9 !important;
}

.light-green-text.text-lighten-5 {
  color: #f1f8e9 !important;
}

.light-green.lighten-4 {
  background-color: #dcedc8 !important;
}

.light-green-text.text-lighten-4 {
  color: #dcedc8 !important;
}

.light-green.lighten-3 {
  background-color: #c5e1a5 !important;
}

.light-green-text.text-lighten-3 {
  color: #c5e1a5 !important;
}

.light-green.lighten-2 {
  background-color: #aed581 !important;
}

.light-green-text.text-lighten-2 {
  color: #aed581 !important;
}

.light-green.lighten-1 {
  background-color: #9ccc65 !important;
}

.light-green-text.text-lighten-1 {
  color: #9ccc65 !important;
}

.light-green.darken-1 {
  background-color: #7cb342 !important;
}

.light-green-text.text-darken-1 {
  color: #7cb342 !important;
}

.light-green.darken-2 {
  background-color: #689f38 !important;
}

.light-green-text.text-darken-2 {
  color: #689f38 !important;
}

.light-green.darken-3 {
  background-color: #558b2f !important;
}

.light-green-text.text-darken-3 {
  color: #558b2f !important;
}

.light-green.darken-4 {
  background-color: #33691e !important;
}

.light-green-text.text-darken-4 {
  color: #33691e !important;
}

.light-green.accent-1 {
  background-color: #ccff90 !important;
}

.light-green-text.text-accent-1 {
  color: #ccff90 !important;
}

.light-green.accent-2 {
  background-color: #b2ff59 !important;
}

.light-green-text.text-accent-2 {
  color: #b2ff59 !important;
}

.light-green.accent-3 {
  background-color: #76ff03 !important;
}

.light-green-text.text-accent-3 {
  color: #76ff03 !important;
}

.light-green.accent-4 {
  background-color: #64dd17 !important;
}

.light-green-text.text-accent-4 {
  color: #64dd17 !important;
}

.lime {
  background-color: #cddc39 !important;
}

.lime-text {
  color: #cddc39 !important;
}

.lime.lighten-5 {
  background-color: #f9fbe7 !important;
}

.lime-text.text-lighten-5 {
  color: #f9fbe7 !important;
}

.lime.lighten-4 {
  background-color: #f0f4c3 !important;
}

.lime-text.text-lighten-4 {
  color: #f0f4c3 !important;
}

.lime.lighten-3 {
  background-color: #e6ee9c !important;
}

.lime-text.text-lighten-3 {
  color: #e6ee9c !important;
}

.lime.lighten-2 {
  background-color: #dce775 !important;
}

.lime-text.text-lighten-2 {
  color: #dce775 !important;
}

.lime.lighten-1 {
  background-color: #d4e157 !important;
}

.lime-text.text-lighten-1 {
  color: #d4e157 !important;
}

.lime.darken-1 {
  background-color: #c0ca33 !important;
}

.lime-text.text-darken-1 {
  color: #c0ca33 !important;
}

.lime.darken-2 {
  background-color: #afb42b !important;
}

.lime-text.text-darken-2 {
  color: #afb42b !important;
}

.lime.darken-3 {
  background-color: #9e9d24 !important;
}

.lime-text.text-darken-3 {
  color: #9e9d24 !important;
}

.lime.darken-4 {
  background-color: #827717 !important;
}

.lime-text.text-darken-4 {
  color: #827717 !important;
}

.lime.accent-1 {
  background-color: #f4ff81 !important;
}

.lime-text.text-accent-1 {
  color: #f4ff81 !important;
}

.lime.accent-2 {
  background-color: #eeff41 !important;
}

.lime-text.text-accent-2 {
  color: #eeff41 !important;
}

.lime.accent-3 {
  background-color: #c6ff00 !important;
}

.lime-text.text-accent-3 {
  color: #c6ff00 !important;
}

.lime.accent-4 {
  background-color: #aeea00 !important;
}

.lime-text.text-accent-4 {
  color: #aeea00 !important;
}

.yellow {
  background-color: #ffeb3b !important;
}

.yellow-text {
  color: #ffeb3b !important;
}

.yellow.lighten-5 {
  background-color: #fffde7 !important;
}

.yellow-text.text-lighten-5 {
  color: #fffde7 !important;
}

.yellow.lighten-4 {
  background-color: #fff9c4 !important;
}

.yellow-text.text-lighten-4 {
  color: #fff9c4 !important;
}

.yellow.lighten-3 {
  background-color: #fff59d !important;
}

.yellow-text.text-lighten-3 {
  color: #fff59d !important;
}

.yellow.lighten-2 {
  background-color: #fff176 !important;
}

.yellow-text.text-lighten-2 {
  color: #fff176 !important;
}

.yellow.lighten-1 {
  background-color: #ffee58 !important;
}

.yellow-text.text-lighten-1 {
  color: #ffee58 !important;
}

.yellow.darken-1 {
  background-color: #fdd835 !important;
}

.yellow-text.text-darken-1 {
  color: #fdd835 !important;
}

.yellow.darken-2 {
  background-color: #fbc02d !important;
}

.yellow-text.text-darken-2 {
  color: #fbc02d !important;
}

.yellow.darken-3 {
  background-color: #f9a825 !important;
}

.yellow-text.text-darken-3 {
  color: #f9a825 !important;
}

.yellow.darken-4 {
  background-color: #f57f17 !important;
}

.yellow-text.text-darken-4 {
  color: #f57f17 !important;
}

.yellow.accent-1 {
  background-color: #ffff8d !important;
}

.yellow-text.text-accent-1 {
  color: #ffff8d !important;
}

.yellow.accent-2 {
  background-color: #ffff00 !important;
}

.yellow-text.text-accent-2 {
  color: #ffff00 !important;
}

.yellow.accent-3 {
  background-color: #ffea00 !important;
}

.yellow-text.text-accent-3 {
  color: #ffea00 !important;
}

.yellow.accent-4 {
  background-color: #ffd600 !important;
}

.yellow-text.text-accent-4 {
  color: #ffd600 !important;
}

.amber {
  background-color: #ffc107 !important;
}

.amber-text {
  color: #ffc107 !important;
}

.amber.lighten-5 {
  background-color: #fff8e1 !important;
}

.amber-text.text-lighten-5 {
  color: #fff8e1 !important;
}

.amber.lighten-4 {
  background-color: #ffecb3 !important;
}

.amber-text.text-lighten-4 {
  color: #ffecb3 !important;
}

.amber.lighten-3 {
  background-color: #ffe082 !important;
}

.amber-text.text-lighten-3 {
  color: #ffe082 !important;
}

.amber.lighten-2 {
  background-color: #ffd54f !important;
}

.amber-text.text-lighten-2 {
  color: #ffd54f !important;
}

.amber.lighten-1 {
  background-color: #ffca28 !important;
}

.amber-text.text-lighten-1 {
  color: #ffca28 !important;
}

.amber.darken-1 {
  background-color: #ffb300 !important;
}

.amber-text.text-darken-1 {
  color: #ffb300 !important;
}

.amber.darken-2 {
  background-color: #ffa000 !important;
}

.amber-text.text-darken-2 {
  color: #ffa000 !important;
}

.amber.darken-3 {
  background-color: #ff8f00 !important;
}

.amber-text.text-darken-3 {
  color: #ff8f00 !important;
}

.amber.darken-4 {
  background-color: #ff6f00 !important;
}

.amber-text.text-darken-4 {
  color: #ff6f00 !important;
}

.amber.accent-1 {
  background-color: #ffe57f !important;
}

.amber-text.text-accent-1 {
  color: #ffe57f !important;
}

.amber.accent-2 {
  background-color: #ffd740 !important;
}

.amber-text.text-accent-2 {
  color: #ffd740 !important;
}

.amber.accent-3 {
  background-color: #ffc400 !important;
}

.amber-text.text-accent-3 {
  color: #ffc400 !important;
}

.amber.accent-4 {
  background-color: #ffab00 !important;
}

.amber-text.text-accent-4 {
  color: #ffab00 !important;
}

.orange {
  background-color: #ff9800 !important;
}

.orange-text {
  color: #ff9800 !important;
}

.orange.lighten-5 {
  background-color: #fff3e0 !important;
}

.orange-text.text-lighten-5 {
  color: #fff3e0 !important;
}

.orange.lighten-4 {
  background-color: #ffe0b2 !important;
}

.orange-text.text-lighten-4 {
  color: #ffe0b2 !important;
}

.orange.lighten-3 {
  background-color: #ffcc80 !important;
}

.orange-text.text-lighten-3 {
  color: #ffcc80 !important;
}

.orange.lighten-2 {
  background-color: #ffb74d !important;
}

.orange-text.text-lighten-2 {
  color: #ffb74d !important;
}

.orange.lighten-1 {
  background-color: #ffa726 !important;
}

.orange-text.text-lighten-1 {
  color: #ffa726 !important;
}

.orange.darken-1 {
  background-color: #fb8c00 !important;
}

.orange-text.text-darken-1 {
  color: #fb8c00 !important;
}

.orange.darken-2 {
  background-color: #f57c00 !important;
}

.orange-text.text-darken-2 {
  color: #f57c00 !important;
}

.orange.darken-3 {
  background-color: #ef6c00 !important;
}

.orange-text.text-darken-3 {
  color: #ef6c00 !important;
}

.orange.darken-4 {
  background-color: #e65100 !important;
}

.orange-text.text-darken-4 {
  color: #e65100 !important;
}

.orange.accent-1 {
  background-color: #ffd180 !important;
}

.orange-text.text-accent-1 {
  color: #ffd180 !important;
}

.orange.accent-2 {
  background-color: #ffab40 !important;
}

.orange-text.text-accent-2 {
  color: #ffab40 !important;
}

.orange.accent-3 {
  background-color: #ff9100 !important;
}

.orange-text.text-accent-3 {
  color: #ff9100 !important;
}

.orange.accent-4 {
  background-color: #ff6d00 !important;
}

.orange-text.text-accent-4 {
  color: #ff6d00 !important;
}

.deep-orange {
  background-color: #ff5722 !important;
}

.deep-orange-text {
  color: #ff5722 !important;
}

.deep-orange.lighten-5 {
  background-color: #fbe9e7 !important;
}

.deep-orange-text.text-lighten-5 {
  color: #fbe9e7 !important;
}

.deep-orange.lighten-4 {
  background-color: #ffccbc !important;
}

.deep-orange-text.text-lighten-4 {
  color: #ffccbc !important;
}

.deep-orange.lighten-3 {
  background-color: #ffab91 !important;
}

.deep-orange-text.text-lighten-3 {
  color: #ffab91 !important;
}

.deep-orange.lighten-2 {
  background-color: #ff8a65 !important;
}

.deep-orange-text.text-lighten-2 {
  color: #ff8a65 !important;
}

.deep-orange.lighten-1 {
  background-color: #ff7043 !important;
}

.deep-orange-text.text-lighten-1 {
  color: #ff7043 !important;
}

.deep-orange.darken-1 {
  background-color: #f4511e !important;
}

.deep-orange-text.text-darken-1 {
  color: #f4511e !important;
}

.deep-orange.darken-2 {
  background-color: #e64a19 !important;
}

.deep-orange-text.text-darken-2 {
  color: #e64a19 !important;
}

.deep-orange.darken-3 {
  background-color: #d84315 !important;
}

.deep-orange-text.text-darken-3 {
  color: #d84315 !important;
}

.deep-orange.darken-4 {
  background-color: #bf360c !important;
}

.deep-orange-text.text-darken-4 {
  color: #bf360c !important;
}

.deep-orange.accent-1 {
  background-color: #ff9e80 !important;
}

.deep-orange-text.text-accent-1 {
  color: #ff9e80 !important;
}

.deep-orange.accent-2 {
  background-color: #ff6e40 !important;
}

.deep-orange-text.text-accent-2 {
  color: #ff6e40 !important;
}

.deep-orange.accent-3 {
  background-color: #ff3d00 !important;
}

.deep-orange-text.text-accent-3 {
  color: #ff3d00 !important;
}

.deep-orange.accent-4 {
  background-color: #dd2c00 !important;
}

.deep-orange-text.text-accent-4 {
  color: #dd2c00 !important;
}

.brown {
  background-color: #795548 !important;
}

.brown-text {
  color: #795548 !important;
}

.brown.lighten-5 {
  background-color: #efebe9 !important;
}

.brown-text.text-lighten-5 {
  color: #efebe9 !important;
}

.brown.lighten-4 {
  background-color: #d7ccc8 !important;
}

.brown-text.text-lighten-4 {
  color: #d7ccc8 !important;
}

.brown.lighten-3 {
  background-color: #bcaaa4 !important;
}

.brown-text.text-lighten-3 {
  color: #bcaaa4 !important;
}

.brown.lighten-2 {
  background-color: #a1887f !important;
}

.brown-text.text-lighten-2 {
  color: #a1887f !important;
}

.brown.lighten-1 {
  background-color: #8d6e63 !important;
}

.brown-text.text-lighten-1 {
  color: #8d6e63 !important;
}

.brown.darken-1 {
  background-color: #6d4c41 !important;
}

.brown-text.text-darken-1 {
  color: #6d4c41 !important;
}

.brown.darken-2 {
  background-color: #5d4037 !important;
}

.brown-text.text-darken-2 {
  color: #5d4037 !important;
}

.brown.darken-3 {
  background-color: #4e342e !important;
}

.brown-text.text-darken-3 {
  color: #4e342e !important;
}

.brown.darken-4 {
  background-color: #3e2723 !important;
}

.brown-text.text-darken-4 {
  color: #3e2723 !important;
}

.blue-grey {
  background-color: #607d8b !important;
}

.blue-grey-text {
  color: #607d8b !important;
}

.blue-grey.lighten-5 {
  background-color: #eceff1 !important;
}

.blue-grey-text.text-lighten-5 {
  color: #eceff1 !important;
}

.blue-grey.lighten-4 {
  background-color: #cfd8dc !important;
}

.blue-grey-text.text-lighten-4 {
  color: #cfd8dc !important;
}

.blue-grey.lighten-3 {
  background-color: #b0bec5 !important;
}

.blue-grey-text.text-lighten-3 {
  color: #b0bec5 !important;
}

.blue-grey.lighten-2 {
  background-color: #90a4ae !important;
}

.blue-grey-text.text-lighten-2 {
  color: #90a4ae !important;
}

.blue-grey.lighten-1 {
  background-color: #78909c !important;
}

.blue-grey-text.text-lighten-1 {
  color: #78909c !important;
}

.blue-grey.darken-1 {
  background-color: #546e7a !important;
}

.blue-grey-text.text-darken-1 {
  color: #546e7a !important;
}

.blue-grey.darken-2 {
  background-color: #455a64 !important;
}

.blue-grey-text.text-darken-2 {
  color: #455a64 !important;
}

.blue-grey.darken-3 {
  background-color: #37474f !important;
}

.blue-grey-text.text-darken-3 {
  color: #37474f !important;
}

.blue-grey.darken-4 {
  background-color: #263238 !important;
}

.blue-grey-text.text-darken-4 {
  color: #263238 !important;
}

.grey {
  background-color: #9e9e9e !important;
}

.grey-text {
  color: #9e9e9e !important;
}

.grey.lighten-5 {
  background-color: #fafafa !important;
}

.grey-text.text-lighten-5 {
  color: #fafafa !important;
}

.grey.lighten-4 {
  background-color: #f5f5f5 !important;
}

.grey-text.text-lighten-4 {
  color: #f5f5f5 !important;
}

.grey.lighten-3 {
  background-color: #eeeeee !important;
}

.grey-text.text-lighten-3 {
  color: #eeeeee !important;
}

.grey.lighten-2 {
  background-color: #e0e0e0 !important;
}

.grey-text.text-lighten-2 {
  color: #e0e0e0 !important;
}

.grey.lighten-1 {
  background-color: #bdbdbd !important;
}

.grey-text.text-lighten-1 {
  color: #bdbdbd !important;
}

.grey.darken-1 {
  background-color: #757575 !important;
}

.grey-text.text-darken-1 {
  color: #757575 !important;
}

.grey.darken-2 {
  background-color: #616161 !important;
}

.grey-text.text-darken-2 {
  color: #616161 !important;
}

.grey.darken-3 {
  background-color: #424242 !important;
}

.grey-text.text-darken-3 {
  color: #424242 !important;
}

.grey.darken-4 {
  background-color: #212121 !important;
}

.grey-text.text-darken-4 {
  color: #212121 !important;
}

.black {
  background-color: #000000 !important;
}

.black-text {
  color: #000000 !important;
}

.white {
  background-color: #FFFFFF !important;
}

.white-text {
  color: #FFFFFF !important;
}

.transparent {
  background-color: transparent !important;
}

.transparent-text {
  color: transparent !important;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

button,
input,
optgroup,
select,
textarea {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

a {
  color: #039be5;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.valign-wrapper {
  display: flex;
  align-items: center;
}

.clearfix {
  clear: both;
}

.z-depth-0 {
  box-shadow: none !important;
}

/* 2dp elevation modified*/
.z-depth-1, .sidenav, .collapsible, .dropdown-content, .btn-floating, .btn.elevated, .elevated.btn-small, .elevated.btn-large, .toast, .card, .card-panel, nav {
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
}

.z-depth-1-half, .btn-floating:focus, .btn-floating:hover, .btn:focus, .btn-small:focus, .btn-large:focus, .btn:hover, .btn-small:hover, .btn-large:hover {
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
}

/* 6dp elevation modified*/
.z-depth-2 {
  box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
}

/* 12dp elevation modified*/
.z-depth-3 {
  box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
}

/* 16dp elevation */
.z-depth-4 {
  box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2);
}

/* 24dp elevation */
.z-depth-5, .modal {
  box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.2);
}

.hoverable {
  transition: box-shadow 0.25s;
}
.hoverable:hover {
  box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.divider {
  height: 1px;
  overflow: hidden;
  background-color: var(--separator-color);
}

blockquote {
  margin: 20px 0;
  padding-left: 1.5rem;
  border-left: 5px solid var(--primary-color);
}

i {
  line-height: inherit;
}
i.left {
  float: left;
  margin-left: -8px;
}
i.right {
  float: right;
}
i.tiny {
  font-size: 1rem;
}
i.small {
  font-size: 2rem;
}
i.medium {
  font-size: 4rem;
}
i.large {
  font-size: 6rem;
}

img.responsive-img,
video.responsive-video {
  max-width: 100%;
  height: auto;
}

.pagination li {
  display: inline-block;
  border-radius: 2px;
  text-align: center;
  vertical-align: top;
  height: 30px;
}
.pagination li a {
  color: var(--font-color-medium);
  display: inline-block;
  font-size: 1.2rem;
  padding: 0 10px;
  line-height: 30px;
}
.pagination li:hover:not(.disabled) {
  background-color: var(--primary-color-hover-opaque);
}
.pagination li.active a {
  color: var(--font-on-primary-color-main);
}
.pagination li.active, .pagination li.active:hover {
  background-color: var(--primary-color);
}
.pagination li.disabled a {
  cursor: default;
  color: var(--font-color-disabled);
}
.pagination li i {
  font-size: 2rem;
}
.pagination li.pages ul li {
  display: inline-block;
  float: none;
}

@media only screen and (max-width : 992.99px) {
  .pagination {
    width: 100%;
  }
  .pagination li.prev,
  .pagination li.next {
    width: 10%;
  }
  .pagination li.pages {
    width: 80%;
    overflow: hidden;
    white-space: nowrap;
  }
}
.breadcrumb {
  display: inline-block;
  font-size: 18px;
  color: var(--font-on-primary-color-medium);
}
.breadcrumb i,
.breadcrumb [class^=mdi-], .breadcrumb [class*=mdi-],
.breadcrumb i.material-icons, .breadcrumb i.material-symbols-outlined,
.breadcrumb i.material-symbols-rounded, .breadcrumb i.material-symbols-sharp {
  display: block;
  float: left;
  font-size: 24px;
}
.breadcrumb:before {
  content: "\e5cc";
  color: var(--font-on-primary-color-medium);
  vertical-align: top;
  display: inline-block;
  font-family: "Material Symbols Outlined", "Material Symbols Rounded", "Material Symbols Sharp", "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 25px;
  margin: 0 10px 0 8px;
  -webkit-font-smoothing: antialiased;
  float: left;
}
.breadcrumb:first-child:before {
  display: none;
}
.breadcrumb:last-child {
  color: var(--font-on-primary-color-main);
}

.parallax-container {
  position: relative;
  overflow: hidden;
  height: 500px;
}
.parallax-container .parallax {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.parallax-container .parallax img {
  opacity: 0;
  position: absolute;
  left: 50%;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  transform: translate3d(0, 0, 0);
  transform: translateX(-50%);
}

.pin-top, .pin-bottom {
  position: relative;
}

.pinned {
  position: fixed !important;
}

/*********************
  Transition Classes
**********************/
ul.staggered-list li {
  opacity: 0;
}

.fade-in {
  opacity: 0;
  transform-origin: 0 50%;
}

/*********************
  Media Query Classes
**********************/
@media only screen and (max-width : 600.99px) {
  .hide-on-small-only, .hide-on-small-and-down {
    display: none !important;
  }
}

@media only screen and (max-width : 992.99px) {
  .hide-on-med-and-down {
    display: none !important;
  }
}

@media only screen and (min-width : 601px) {
  .hide-on-med-and-up {
    display: none !important;
  }
}

@media only screen and (min-width: 601px) and (max-width: 992.99px) {
  .hide-on-med-only {
    display: none !important;
  }
}

@media only screen and (min-width : 993px) {
  .hide-on-large-only {
    display: none !important;
  }
}

@media only screen and (min-width : 1201px) {
  .hide-on-extra-large-only {
    display: none !important;
  }
}

@media only screen and (min-width : 1201px) {
  .show-on-extra-large {
    display: block !important;
  }
}

@media only screen and (min-width : 993px) {
  .show-on-large {
    display: block !important;
  }
}

@media only screen and (min-width: 601px) and (max-width: 992.99px) {
  .show-on-medium {
    display: block !important;
  }
}

@media only screen and (max-width : 600.99px) {
  .show-on-small {
    display: block !important;
  }
}

@media only screen and (min-width : 601px) {
  .show-on-medium-and-up {
    display: block !important;
  }
}

@media only screen and (max-width : 992.99px) {
  .show-on-medium-and-down {
    display: block !important;
  }
}

@media only screen and (max-width : 600.99px) {
  .center-on-small-only {
    text-align: center;
  }
}

.page-footer {
  padding-top: 20px;
  color: var(--font-on-primary-color-main);
  background-color: var(--primary-color);
}
.page-footer a {
  color: var(--font-on-primary-color-main);
}
.page-footer .footer-copyright,
.page-footer .footer-copyright a {
  overflow: hidden;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0px;
  color: var(--font-on-primary-color-dark-medium);
  background-color: var(--primary-color-dark);
}

.page-footer ul {
  padding-left: 0;
  list-style-type: none;
}

table, th, td {
  border: none;
}

table {
  width: 100%;
  display: table;
  border-collapse: collapse;
  border-spacing: 0;
}
table.striped tr {
  border-bottom: none;
}
table.striped tbody > tr:nth-child(odd) {
  background-color: var(--background-color-slight-emphasis);
}
table.highlight > tbody > tr {
  transition: background-color 0.25s ease;
}
table.highlight > tbody > tr:hover {
  background-color: var(--hover-color);
}
table thead {
  color: var(--font-color-medium);
}
table.centered thead tr th, table.centered tbody tr td {
  text-align: center;
}

tr {
  border-bottom: 1px solid var(--separator-color);
}

td, th {
  padding: 15px 5px;
  display: table-cell;
  text-align: left;
  vertical-align: middle;
  border-radius: 0;
}

@media only screen and (max-width : 992.99px) {
  table.responsive-table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    display: block;
    position: relative;
    /* sort out borders */
  }
  table.responsive-table td:empty:before {
    content: " ";
  }
  table.responsive-table th,
  table.responsive-table td {
    margin: 0;
    vertical-align: top;
  }
  table.responsive-table th {
    text-align: left;
  }
  table.responsive-table thead {
    display: block;
    float: left;
  }
  table.responsive-table thead tr {
    display: block;
    padding: 0 10px 0 0;
  }
  table.responsive-table thead tr th::before {
    content: " ";
  }
  table.responsive-table tbody {
    display: block;
    width: auto;
    position: relative;
    overflow-x: auto;
    white-space: nowrap;
  }
  table.responsive-table tbody tr {
    display: inline-block;
    vertical-align: top;
  }
  table.responsive-table th {
    display: block;
    text-align: right;
  }
  table.responsive-table td {
    display: block;
    min-height: 1.25em;
    text-align: left;
  }
  table.responsive-table tr {
    border-bottom: none;
    padding: 0 10px;
  }
  table.responsive-table thead {
    border: 0;
    border-right: 1px solid var(--separator-color);
  }
}
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.video-container iframe, .video-container object, .video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*******************
  Utility Classes
*******************/
.hide {
  display: none !important;
}

.left-align {
  text-align: left;
}

.right-align {
  text-align: right;
}

.center, .center-align {
  text-align: center;
}

.left {
  float: left !important;
}

.right {
  float: right !important;
}

.no-select, input[type=range],
input[type=range] + .thumb {
  user-select: none;
}

.circle {
  border-radius: 50%;
}

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.truncate {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.no-padding {
  padding: 0 !important;
}

/**************************
  Utility Spacing Classes
**************************/
.m-0 {
  margin: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.m-1 {
  margin: 0.25rem !important;
}

.mt-1 {
  margin-top: 0.25rem !important;
}

.mr-1 {
  margin-right: 0.25rem !important;
}

.mb-1 {
  margin-bottom: 0.25rem !important;
}

.ml-1 {
  margin-left: 0.25rem !important;
}

.mx-1 {
  margin-left: 0.25rem !important;
  margin-right: 0.25rem !important;
}

.my-1 {
  margin-top: 0.25rem !important;
  margin-bottom: 0.25rem !important;
}

.m-2 {
  margin: 0.5rem !important;
}

.mt-2 {
  margin-top: 0.5rem !important;
}

.mr-2 {
  margin-right: 0.5rem !important;
}

.mb-2 {
  margin-bottom: 0.5rem !important;
}

.ml-2 {
  margin-left: 0.5rem !important;
}

.mx-2 {
  margin-left: 0.5rem !important;
  margin-right: 0.5rem !important;
}

.my-2 {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.m-3 {
  margin: 0.75rem !important;
}

.mt-3 {
  margin-top: 0.75rem !important;
}

.mr-3 {
  margin-right: 0.75rem !important;
}

.mb-3 {
  margin-bottom: 0.75rem !important;
}

.ml-3 {
  margin-left: 0.75rem !important;
}

.mx-3 {
  margin-left: 0.75rem !important;
  margin-right: 0.75rem !important;
}

.my-3 {
  margin-top: 0.75rem !important;
  margin-bottom: 0.75rem !important;
}

.m-4 {
  margin: 1rem !important;
}

.mt-4 {
  margin-top: 1rem !important;
}

.mr-4 {
  margin-right: 1rem !important;
}

.mb-4 {
  margin-bottom: 1rem !important;
}

.ml-4 {
  margin-left: 1rem !important;
}

.mx-4 {
  margin-left: 1rem !important;
  margin-right: 1rem !important;
}

.my-4 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.m-5 {
  margin: 1.5rem !important;
}

.mt-5 {
  margin-top: 1.5rem !important;
}

.mr-5 {
  margin-right: 1.5rem !important;
}

.mb-5 {
  margin-bottom: 1.5rem !important;
}

.ml-5 {
  margin-left: 1.5rem !important;
}

.mx-5 {
  margin-left: 1.5rem !important;
  margin-right: 1.5rem !important;
}

.my-5 {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.m-6 {
  margin: 3rem !important;
}

.mt-6 {
  margin-top: 3rem !important;
}

.mr-6 {
  margin-right: 3rem !important;
}

.mb-6 {
  margin-bottom: 3rem !important;
}

.ml-6 {
  margin-left: 3rem !important;
}

.mx-6 {
  margin-left: 3rem !important;
  margin-right: 3rem !important;
}

.my-6 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.m-auto {
  margin: auto !important;
}

.mt-auto {
  margin-top: auto !important;
}

.mr-auto {
  margin-right: auto !important;
}

.mb-auto {
  margin-bottom: auto !important;
}

.ml-auto {
  margin-left: auto !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.p-1 {
  padding: 0.25rem !important;
}

.pt-1 {
  padding-top: 0.25rem !important;
}

.pr-1 {
  padding-right: 0.25rem !important;
}

.pb-1 {
  padding-bottom: 0.25rem !important;
}

.pl-1 {
  padding-left: 0.25rem !important;
}

.px-1 {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

.py-1 {
  padding-top: 0.25rem !important;
  padding-bottom: 0.25rem !important;
}

.p-2 {
  padding: 0.5rem !important;
}

.pt-2 {
  padding-top: 0.5rem !important;
}

.pr-2 {
  padding-right: 0.5rem !important;
}

.pb-2 {
  padding-bottom: 0.5rem !important;
}

.pl-2 {
  padding-left: 0.5rem !important;
}

.px-2 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.p-3 {
  padding: 0.75rem !important;
}

.pt-3 {
  padding-top: 0.75rem !important;
}

.pr-3 {
  padding-right: 0.75rem !important;
}

.pb-3 {
  padding-bottom: 0.75rem !important;
}

.pl-3 {
  padding-left: 0.75rem !important;
}

.px-3 {
  padding-left: 0.75rem !important;
  padding-right: 0.75rem !important;
}

.py-3 {
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
}

.p-4 {
  padding: 1rem !important;
}

.pt-4 {
  padding-top: 1rem !important;
}

.pr-4 {
  padding-right: 1rem !important;
}

.pb-4 {
  padding-bottom: 1rem !important;
}

.pl-4 {
  padding-left: 1rem !important;
}

.px-4 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.py-4 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.p-5 {
  padding: 1.5rem !important;
}

.pt-5 {
  padding-top: 1.5rem !important;
}

.pr-5 {
  padding-right: 1.5rem !important;
}

.pb-5 {
  padding-bottom: 1.5rem !important;
}

.pl-5 {
  padding-left: 1.5rem !important;
}

.px-5 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.py-5 {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.p-6 {
  padding: 3rem !important;
}

.pt-6 {
  padding-top: 3rem !important;
}

.pr-6 {
  padding-right: 3rem !important;
}

.pb-6 {
  padding-bottom: 3rem !important;
}

.pl-6 {
  padding-left: 3rem !important;
}

.px-6 {
  padding-left: 3rem !important;
  padding-right: 3rem !important;
}

.py-6 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.p-auto {
  padding: auto !important;
}

.pt-auto {
  padding-top: auto !important;
}

.pr-auto {
  padding-right: auto !important;
}

.pb-auto {
  padding-bottom: auto !important;
}

.pl-auto {
  padding-left: auto !important;
}

.px-auto {
  padding-left: auto !important;
  padding-right: auto !important;
}

.py-auto {
  padding-top: auto !important;
  padding-bottom: auto !important;
}

.collection {
  padding-left: 0;
  list-style-type: none;
  margin: 0.5rem 0 1rem 0;
  border: 1px solid var(--separator-color);
  border-radius: 2px;
  overflow: hidden;
  position: relative;
}
.collection .collection-item {
  background-color: transparent;
  line-height: 1.5rem;
  padding: 10px 20px;
  margin: 0;
  border-bottom: 1px solid var(--separator-color);
}
.collection .collection-item.avatar {
  min-height: 84px;
  padding-left: 72px;
  position: relative;
}
.collection .collection-item.avatar:not(.circle-clipper) > .circle,
.collection .collection-item.avatar :not(.circle-clipper) > .circle {
  position: absolute;
  width: 42px;
  height: 42px;
  overflow: hidden;
  left: 15px;
  display: inline-block;
  vertical-align: middle;
}
.collection .collection-item.avatar i.circle {
  font-size: 18px;
  line-height: 42px;
  color: #fff;
  background-color: var(--slider-track-color);
  text-align: center;
}
.collection .collection-item.avatar .title {
  font-size: 16px;
}
.collection .collection-item.avatar p {
  margin: 0;
}
.collection .collection-item.avatar .secondary-content {
  position: absolute;
  top: 16px;
  right: 16px;
}
.collection .collection-item:last-child {
  border-bottom: none;
}
.collection .collection-item.active {
  background-color: var(--primary-color);
  color: var(--font-on-primary-color-main);
}
.collection .collection-item.active .secondary-content {
  color: var(--font-on-primary-color-main);
}
.collection a.collection-item {
  display: block;
  transition: 0.25s;
  color: var(--primary-color);
}
.collection a.collection-item:not(.active):hover {
  background-color: var(--hover-color);
}
.collection.with-header .collection-header {
  background-color: transparent;
  border-bottom: 1px solid var(--separator-color);
  padding: 10px 20px;
}
.collection.with-header .collection-item {
  padding-left: 30px;
}
.collection.with-header .collection-item.avatar {
  padding-left: 72px;
}

.secondary-content {
  float: right;
  color: var(--primary-color);
}

.collapsible .collection {
  margin: 0;
  border: none;
}

span.badge {
  min-width: 3rem;
  padding: 0 6px;
  margin-left: 14px;
  text-align: center;
  font-size: 1rem;
  line-height: 22px;
  height: 22px;
  color: var(--font-color-medium);
  float: right;
  box-sizing: border-box;
}
span.badge.new {
  font-weight: 300;
  font-size: 0.8rem;
  color: var(--font-on-primary-color-main);
  background-color: var(--primary-color);
  border-radius: 2px;
}
span.badge.new:after {
  content: " new";
}
span.badge[data-badge-caption]::after {
  content: " " attr(data-badge-caption);
}

.active span.badge {
  color: var(--font-on-primary-color-main);
}

nav ul a span.badge {
  display: inline-block;
  float: none;
  margin-left: 4px;
  line-height: 22px;
  height: 22px;
  -webkit-font-smoothing: auto;
}

.collection-item span.badge {
  margin-top: calc(0.75rem - 11px);
}

.collapsible span.badge {
  margin-left: auto;
}

.collapsible .active span.badge:not(.new) {
  color: var(--font-color-medium);
}

.sidenav span.badge {
  margin-top: calc(24px - 11px);
}

table span.badge {
  display: inline-block;
  float: none;
  margin-left: auto;
}

/* This is needed for some mobile phones to display the Google Icon font properly */
.material-icons, .material-symbols-outlined,
.material-symbols-rounded, .material-symbols-sharp {
  text-rendering: optimizeLegibility;
  font-feature-settings: "liga";
}

.container {
  margin: 0 auto;
  max-width: 1280px;
  width: 90%;
}

@media only screen and (min-width : 601px) {
  .container {
    width: 85%;
  }
}
@media only screen and (min-width : 993px) {
  .container {
    width: 70%;
  }
}
.section {
  padding: 1rem 0;
}

.row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}
.row .s1 {
  grid-column: auto/span 1;
}
.row .s2 {
  grid-column: auto/span 2;
}
.row .s3 {
  grid-column: auto/span 3;
}
.row .s4 {
  grid-column: auto/span 4;
}
.row .s5 {
  grid-column: auto/span 5;
}
.row .s6 {
  grid-column: auto/span 6;
}
.row .s7 {
  grid-column: auto/span 7;
}
.row .s8 {
  grid-column: auto/span 8;
}
.row .s9 {
  grid-column: auto/span 9;
}
.row .s10 {
  grid-column: auto/span 10;
}
.row .s11 {
  grid-column: auto/span 11;
}
.row .s12 {
  grid-column: auto/span 12;
}
.row .offset-s1 {
  grid-column-start: 3;
}
.row .offset-s2 {
  grid-column-start: 2;
}
.row .offset-s3 {
  grid-column-start: 4;
}
.row .offset-s4 {
  grid-column-start: 5;
}
.row .offset-s5 {
  grid-column-start: 6;
}
.row .offset-s6 {
  grid-column-start: 7;
}
.row .offset-s7 {
  grid-column-start: 8;
}
.row .offset-s8 {
  grid-column-start: 9;
}
.row .offset-s9 {
  grid-column-start: 10;
}
.row .offset-s10 {
  grid-column-start: 11;
}
.row .offset-s11 {
  grid-column-start: 12;
}
@media only screen and (min-width : 601px) {
  .row .m1 {
    grid-column: auto/span 1;
  }
  .row .m2 {
    grid-column: auto/span 2;
  }
  .row .m3 {
    grid-column: auto/span 3;
  }
  .row .m4 {
    grid-column: auto/span 4;
  }
  .row .m5 {
    grid-column: auto/span 5;
  }
  .row .m6 {
    grid-column: auto/span 6;
  }
  .row .m7 {
    grid-column: auto/span 7;
  }
  .row .m8 {
    grid-column: auto/span 8;
  }
  .row .m9 {
    grid-column: auto/span 9;
  }
  .row .m10 {
    grid-column: auto/span 10;
  }
  .row .m11 {
    grid-column: auto/span 11;
  }
  .row .m12 {
    grid-column: auto/span 12;
  }
  .row .offset-m1 {
    grid-column-start: 2;
  }
  .row .offset-m2 {
    grid-column-start: 3;
  }
  .row .offset-m3 {
    grid-column-start: 4;
  }
  .row .offset-m4 {
    grid-column-start: 5;
  }
  .row .offset-m5 {
    grid-column-start: 6;
  }
  .row .offset-m6 {
    grid-column-start: 7;
  }
  .row .offset-m7 {
    grid-column-start: 8;
  }
  .row .offset-m8 {
    grid-column-start: 9;
  }
  .row .offset-m9 {
    grid-column-start: 10;
  }
  .row .offset-m10 {
    grid-column-start: 11;
  }
  .row .offset-m11 {
    grid-column-start: 12;
  }
}
@media only screen and (min-width : 993px) {
  .row .l1 {
    grid-column: auto/span 1;
  }
  .row .l2 {
    grid-column: auto/span 2;
  }
  .row .l3 {
    grid-column: auto/span 3;
  }
  .row .l4 {
    grid-column: auto/span 4;
  }
  .row .l5 {
    grid-column: auto/span 5;
  }
  .row .l6 {
    grid-column: auto/span 6;
  }
  .row .l7 {
    grid-column: auto/span 7;
  }
  .row .l8 {
    grid-column: auto/span 8;
  }
  .row .l9 {
    grid-column: auto/span 9;
  }
  .row .l10 {
    grid-column: auto/span 10;
  }
  .row .l11 {
    grid-column: auto/span 11;
  }
  .row .l12 {
    grid-column: auto/span 12;
  }
  .row .offset-l1 {
    grid-column-start: 2;
  }
  .row .offset-l2 {
    grid-column-start: 3;
  }
  .row .offset-l3 {
    grid-column-start: 4;
  }
  .row .offset-l4 {
    grid-column-start: 5;
  }
  .row .offset-l5 {
    grid-column-start: 6;
  }
  .row .offset-l6 {
    grid-column-start: 7;
  }
  .row .offset-l7 {
    grid-column-start: 8;
  }
  .row .offset-l8 {
    grid-column-start: 9;
  }
  .row .offset-l9 {
    grid-column-start: 10;
  }
  .row .offset-l10 {
    grid-column-start: 11;
  }
  .row .offset-l11 {
    grid-column-start: 12;
  }
}
@media only screen and (min-width : 1201px) {
  .row .xl1 {
    grid-column: auto/span 1;
  }
  .row .xl2 {
    grid-column: auto/span 2;
  }
  .row .xl3 {
    grid-column: auto/span 3;
  }
  .row .xl4 {
    grid-column: auto/span 4;
  }
  .row .xl5 {
    grid-column: auto/span 5;
  }
  .row .xl6 {
    grid-column: auto/span 6;
  }
  .row .xl7 {
    grid-column: auto/span 7;
  }
  .row .xl8 {
    grid-column: auto/span 8;
  }
  .row .xl9 {
    grid-column: auto/span 9;
  }
  .row .xl10 {
    grid-column: auto/span 10;
  }
  .row .xl11 {
    grid-column: auto/span 11;
  }
  .row .xl12 {
    grid-column: auto/span 12;
  }
  .row .offset-xl1 {
    grid-column-start: 2;
  }
  .row .offset-xl2 {
    grid-column-start: 3;
  }
  .row .offset-xl3 {
    grid-column-start: 4;
  }
  .row .offset-xl4 {
    grid-column-start: 5;
  }
  .row .offset-xl5 {
    grid-column-start: 6;
  }
  .row .offset-xl6 {
    grid-column-start: 7;
  }
  .row .offset-xl7 {
    grid-column-start: 8;
  }
  .row .offset-xl8 {
    grid-column-start: 9;
  }
  .row .offset-xl9 {
    grid-column-start: 10;
  }
  .row .offset-xl10 {
    grid-column-start: 11;
  }
  .row .offset-xl11 {
    grid-column-start: 12;
  }
}

nav {
  color: var(--font-on-primary-color-main);
  background-color: var(--secondary-container-color);
  width: 100%;
  height: 56px;
  line-height: 56px;
}
nav.nav-extended {
  height: auto;
}
nav.nav-extended .nav-wrapper {
  min-height: 56px;
  height: auto;
}
nav.nav-extended .nav-content {
  position: relative;
  line-height: normal;
}
nav a {
  color: var(--font-on-primary-color-main);
}
nav i,
nav [class^=mdi-], nav [class*=mdi-],
nav i.material-icons, nav i.material-symbols-outlined,
nav i.material-symbols-rounded, nav i.material-symbols-sharp {
  display: block;
  font-size: 24px;
  height: 56px;
  line-height: 56px;
}
nav .nav-wrapper {
  position: relative;
  height: 100%;
}
@media only screen and (min-width : 993px) {
  nav a.sidenav-trigger {
    display: none;
  }
}
nav .sidenav-trigger {
  float: left;
  position: relative;
  z-index: 1;
  height: 56px;
  margin: 0 18px;
}
nav .sidenav-trigger i {
  height: 56px;
  line-height: 56px;
}
nav .brand-logo {
  position: absolute;
  color: var(--font-on-primary-color-main);
  display: inline-block;
  font-size: 2.1rem;
  padding: 0;
}
nav .brand-logo.center {
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width : 992.99px) {
  nav .brand-logo {
    left: 50%;
    transform: translateX(-50%);
  }
  nav .brand-logo.left, nav .brand-logo.right {
    padding: 0;
    transform: none;
  }
  nav .brand-logo.left {
    left: 0.5rem;
  }
  nav .brand-logo.right {
    right: 0.5rem;
    left: auto;
  }
}
nav .brand-logo.right {
  right: 0.5rem;
  padding: 0;
}
nav .brand-logo i,
nav .brand-logo [class^=mdi-], nav .brand-logo [class*=mdi-],
nav .brand-logo i.material-icons, nav .brand-logo i.material-symbols-outlined,
nav .brand-logo i.material-symbols-rounded, nav .brand-logo i.material-symbols-sharp {
  float: left;
  margin-right: 15px;
}
nav .nav-title {
  display: inline-block;
  font-size: 32px;
  padding: 28px 0;
}
nav ul:not(.dropdown-content) {
  list-style-type: none;
  margin: 0;
}
nav ul:not(.dropdown-content) > li {
  transition: background-color 0.3s;
  float: left;
  padding: 0;
}
nav ul:not(.dropdown-content) > li > a {
  transition: background-color 0.3s;
  font-size: 1rem;
  color: var(--font-on-primary-color-main);
  display: block;
  padding: 0 15px;
  cursor: pointer;
}
nav ul:not(.dropdown-content) > li > a.active {
  background-color: var(--primary-color-raised-focus-solid);
}
nav ul:not(.dropdown-content) > li > a:hover:not(.active) {
  background-color: var(--primary-color-raised-hover-solid);
}
nav ul:not(.dropdown-content) > li > a.btn, nav ul:not(.dropdown-content) > li > a.btn-small, nav ul:not(.dropdown-content) > li > a.btn-large, nav ul:not(.dropdown-content) > li > a.btn-flat, nav ul:not(.dropdown-content) > li > a.btn-floating {
  margin-top: -2px;
  margin-left: 15px;
  margin-right: 15px;
  display: inline-block;
}
nav ul:not(.dropdown-content) > li > a.btn > .material-icons, nav ul:not(.dropdown-content) > li > a.btn-small > .material-icons, nav ul:not(.dropdown-content) > li > a.btn > .material-symbols-outlined, nav ul:not(.dropdown-content) > li > a.btn-small > .material-symbols-outlined, nav ul:not(.dropdown-content) > li > a.btn > .material-symbols-rounded, nav ul:not(.dropdown-content) > li > a.btn-small > .material-symbols-rounded, nav ul:not(.dropdown-content) > li > a.btn > .material-symbols-sharp, nav ul:not(.dropdown-content) > li > a.btn-small > .material-symbols-sharp, nav ul:not(.dropdown-content) > li > a.btn-large > .material-icons, nav ul:not(.dropdown-content) > li > a.btn-large > .material-symbols-outlined, nav ul:not(.dropdown-content) > li > a.btn-large > .material-symbols-rounded, nav ul:not(.dropdown-content) > li > a.btn-large > .material-symbols-sharp, nav ul:not(.dropdown-content) > li > a.btn-flat > .material-icons, nav ul:not(.dropdown-content) > li > a.btn-flat > .material-symbols-outlined, nav ul:not(.dropdown-content) > li > a.btn-flat > .material-symbols-rounded, nav ul:not(.dropdown-content) > li > a.btn-flat > .material-symbols-sharp, nav ul:not(.dropdown-content) > li > a.btn-floating > .material-icons, nav ul:not(.dropdown-content) > li > a.btn-floating > .material-symbols-outlined, nav ul:not(.dropdown-content) > li > a.btn-floating > .material-symbols-rounded, nav ul:not(.dropdown-content) > li > a.btn-floating > .material-symbols-sharp {
  height: inherit;
  line-height: inherit;
}
nav ul:not(.dropdown-content).left {
  float: left;
}
nav form {
  height: 100%;
}
nav .input-field {
  margin: 0;
  height: 100%;
}
nav .input-field input[type=search] {
  height: 100%;
  font-size: 1.2rem;
  border: none;
  padding-left: 2rem;
  color: #888;
}
nav .input-field input[type=search]:focus, nav .input-field input[type=search][type=text]:valid, nav .input-field input[type=search][type=password]:valid, nav .input-field input[type=search][type=email]:valid, nav .input-field input[type=search][type=url]:valid, nav .input-field input[type=search][type=date]:valid {
  border: none;
  box-shadow: none;
}
nav .input-field label {
  top: 0;
  left: 0;
}
nav .input-field label i {
  color: var(--font-on-primary-color-medium);
  transition: color 0.3s;
}
nav .input-field label.active i {
  color: var(--font-on-primary-color-main);
}

.navbar-fixed {
  position: relative;
  height: 56px;
  z-index: 997;
}
.navbar-fixed nav {
  position: fixed;
  right: 0;
}

@media only screen and (min-width : 601px) {
  nav.nav-extended .nav-wrapper {
    min-height: 64px;
  }
  nav, nav .nav-wrapper i, nav a.sidenav-trigger, nav a.sidenav-trigger i {
    height: 64px;
    line-height: 64px;
  }
  .navbar-fixed {
    height: 64px;
  }
}
a {
  text-decoration: none;
}

html {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  font-weight: normal;
  color: var(--font-color-main);
}
@media only screen and (min-width: 0) {
  html {
    font-size: 14px;
  }
}
@media only screen and (min-width: 993px) {
  html {
    font-size: 14.5px;
  }
}
@media only screen and (min-width: 1201px) {
  html {
    font-size: 15px;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  line-height: 1.3;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: inherit;
}

h1 {
  font-size: 4.2rem;
  line-height: 110%;
  margin: 2.8rem 0 1.68rem 0;
}

h2 {
  font-size: 3.56rem;
  line-height: 110%;
  margin: 2.3733333333rem 0 1.424rem 0;
}

h3 {
  font-size: 2.92rem;
  line-height: 110%;
  margin: 1.9466666667rem 0 1.168rem 0;
}

h4 {
  font-size: 2.28rem;
  line-height: 110%;
  margin: 1.52rem 0 0.912rem 0;
}

h5 {
  font-size: 1.64rem;
  line-height: 110%;
  margin: 1.0933333333rem 0 0.656rem 0;
}

h6 {
  font-size: 1.15rem;
  line-height: 110%;
  margin: 0.7666666667rem 0 0.46rem 0;
}

em {
  font-style: italic;
}

strong {
  font-weight: 500;
}

small {
  font-size: 75%;
}

.light {
  font-weight: 300;
}

.thin {
  font-weight: 200;
}

@media only screen and (min-width: 360px) {
  .flow-text {
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 390px) {
  .flow-text {
    font-size: 1.224rem;
  }
}
@media only screen and (min-width: 420px) {
  .flow-text {
    font-size: 1.248rem;
  }
}
@media only screen and (min-width: 450px) {
  .flow-text {
    font-size: 1.272rem;
  }
}
@media only screen and (min-width: 480px) {
  .flow-text {
    font-size: 1.296rem;
  }
}
@media only screen and (min-width: 510px) {
  .flow-text {
    font-size: 1.32rem;
  }
}
@media only screen and (min-width: 540px) {
  .flow-text {
    font-size: 1.344rem;
  }
}
@media only screen and (min-width: 570px) {
  .flow-text {
    font-size: 1.368rem;
  }
}
@media only screen and (min-width: 600px) {
  .flow-text {
    font-size: 1.392rem;
  }
}
@media only screen and (min-width: 630px) {
  .flow-text {
    font-size: 1.416rem;
  }
}
@media only screen and (min-width: 660px) {
  .flow-text {
    font-size: 1.44rem;
  }
}
@media only screen and (min-width: 690px) {
  .flow-text {
    font-size: 1.464rem;
  }
}
@media only screen and (min-width: 720px) {
  .flow-text {
    font-size: 1.488rem;
  }
}
@media only screen and (min-width: 750px) {
  .flow-text {
    font-size: 1.512rem;
  }
}
@media only screen and (min-width: 780px) {
  .flow-text {
    font-size: 1.536rem;
  }
}
@media only screen and (min-width: 810px) {
  .flow-text {
    font-size: 1.56rem;
  }
}
@media only screen and (min-width: 840px) {
  .flow-text {
    font-size: 1.584rem;
  }
}
@media only screen and (min-width: 870px) {
  .flow-text {
    font-size: 1.608rem;
  }
}
@media only screen and (min-width: 900px) {
  .flow-text {
    font-size: 1.632rem;
  }
}
@media only screen and (min-width: 930px) {
  .flow-text {
    font-size: 1.656rem;
  }
}
@media only screen and (min-width: 960px) {
  .flow-text {
    font-size: 1.68rem;
  }
}
@media only screen and (max-width: 360px) {
  .flow-text {
    font-size: 1.2rem;
  }
}

.scale-transition {
  transition: transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
}
.scale-transition.scale-out {
  transform: scale(0);
  transition: transform 0.2s !important;
}
.scale-transition.scale-in {
  transform: scale(1);
}

.card-panel {
  transition: box-shadow 0.25s;
  padding: 24px;
  margin: 0.5rem 0 1rem 0;
  border-radius: 12px;
  background-color: var(--background-color-card);
}

.card {
  overflow: hidden;
  position: relative;
  background-color: var(--background-color-card);
  transition: box-shadow 0.25s;
  border-radius: 12px;
}
.card .card-title {
  font-size: 24px;
  font-weight: 300;
}
.card .card-title.activator {
  cursor: pointer;
}
.card.small, .card.medium, .card.large {
  position: relative;
}
.card.small .card-image, .card.medium .card-image, .card.large .card-image {
  max-height: 60%;
  overflow: hidden;
}
.card.small .card-image + .card-content, .card.medium .card-image + .card-content, .card.large .card-image + .card-content {
  max-height: 40%;
}
.card.small .card-content, .card.medium .card-content, .card.large .card-content {
  max-height: 100%;
  overflow: hidden;
}
.card.small .card-action, .card.medium .card-action, .card.large .card-action {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.card.small {
  height: 300px;
}
.card.medium {
  height: 400px;
}
.card.large {
  height: 500px;
}
.card.horizontal {
  display: flex;
}
.card.horizontal.small .card-image, .card.horizontal.medium .card-image, .card.horizontal.large .card-image {
  height: 100%;
  max-height: none;
  overflow: visible;
}
.card.horizontal.small .card-image img, .card.horizontal.medium .card-image img, .card.horizontal.large .card-image img {
  height: 100%;
}
.card.horizontal .card-image {
  max-width: 50%;
}
.card.horizontal .card-image img {
  border-radius: 2px 0 0 2px;
  max-width: 100%;
  width: auto;
}
.card.horizontal .card-stacked {
  display: flex;
  flex-direction: column;
  flex: 1;
  position: relative;
}
.card.horizontal .card-stacked .card-content {
  flex-grow: 1;
}
.card.sticky-action .card-action {
  z-index: 2;
}
.card.sticky-action .card-reveal {
  z-index: 1;
  padding-bottom: 64px;
}
.card .card-image {
  position: relative;
}
.card .card-image img {
  display: block;
  border-radius: 2px 2px 0 0;
  position: relative;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
}
.card .card-image .card-title {
  color: var(--background-color-card);
  position: absolute;
  bottom: 0;
  left: 0;
  max-width: 100%;
  padding: 24px;
}
.card .card-content {
  padding: 24px;
  border-radius: 0 0 2px 2px;
}
.card .card-content p {
  margin: 0;
}
.card .card-content .card-title {
  display: block;
  line-height: 32px;
  margin-bottom: 8px;
}
.card .card-content .card-title i {
  line-height: 32px;
}
.card .card-action {
  border-top: 1px solid var(--separator-color);
  position: relative;
  background-color: inherit;
}
.card .card-action:last-child {
  border-radius: 0 0 2px 2px;
}
.card .card-action a {
  padding: 16px 24px;
  display: inline-block;
}
.card .card-action a:not(.btn):not(.btn-small):not(.btn-large):not(.btn-large):not(.btn-floating) {
  color: var(--primary-color);
  transition: color 0.3s ease;
}
.card .card-action a:not(.btn):not(.btn-small):not(.btn-large):not(.btn-large):not(.btn-floating):hover {
  background-color: var(--primary-color-hover-opaque);
}
.card .card-reveal {
  padding: 24px;
  position: absolute;
  background-color: var(--background-color-card);
  width: 100%;
  overflow-y: auto;
  left: 0;
  top: 100%;
  height: 100%;
  z-index: 3;
  display: none;
}
.card .card-reveal .card-title {
  cursor: pointer;
  display: block;
}

#toast-container {
  display: block;
  position: fixed;
  z-index: 10000;
}
@media only screen and (max-width : 600.99px) {
  #toast-container {
    min-width: 100%;
    bottom: 0%;
  }
}
@media only screen and (min-width : 601px) and (max-width : 992.99px) {
  #toast-container {
    left: 5%;
    bottom: 7%;
    max-width: 90%;
  }
}
@media only screen and (min-width : 993px) {
  #toast-container {
    top: 10%;
    right: 7%;
    max-width: 86%;
  }
}

.toast {
  border-radius: 2px;
  top: 35px;
  width: auto;
  margin-top: 10px;
  position: relative;
  max-width: 100%;
  height: auto;
  min-height: 48px;
  line-height: 1.5em;
  background-color: var(--tooltip-background-color);
  padding: 10px 25px;
  font-size: 1rem;
  font-weight: 400;
  color: var(--tooltip-font-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: default;
}
.toast .toast-action {
  color: #eeff41;
  font-weight: 500;
  margin-right: -25px;
  margin-left: 3rem;
}
.toast.rounded {
  border-radius: 24px;
}
@media only screen and (max-width : 600.99px) {
  .toast {
    width: 100%;
    border-radius: 0;
  }
}

.tabs {
  padding-left: 0;
  list-style-type: none;
  position: relative;
  overflow-x: auto;
  overflow-y: hidden;
  height: 48px;
  width: 100%;
  background-color: var(--surface-color);
  margin: 0 auto;
  white-space: nowrap;
}
.tabs.tabs-transparent {
  background-color: transparent;
}
.tabs.tabs-transparent .tab a {
  color: var(--font-on-primary-color-medium);
}
.tabs.tabs-transparent .tab.disabled a,
.tabs.tabs-transparent .tab.disabled a:hover,
.tabs.tabs-transparent .tab.disabled a:focus {
  color: var(--font-on-primary-color-disabled);
}
.tabs.tabs-transparent .tab a:hover {
  background-color: var(--hover-color);
}
.tabs.tabs-transparent .tab a.active,
.tabs.tabs-transparent .tab a:focus {
  background-color: transparent;
}
.tabs.tabs-transparent .tab a:hover,
.tabs.tabs-transparent .tab a.active,
.tabs.tabs-transparent .tab a:focus {
  color: var(--font-on-primary-color-main);
}
.tabs.tabs-transparent .indicator {
  background-color: var(--font-on-primary-color-main);
}
.tabs.tabs-fixed-width {
  display: flex;
}
.tabs.tabs-fixed-width .tab {
  flex-grow: 1;
}
.tabs .tab {
  padding-left: 0;
  list-style-type: none;
  display: inline-block;
  text-align: center;
  line-height: 48px;
  height: 48px;
  padding: 0;
  margin: 0;
}
.tabs .tab a {
  color: var(--font-color-medium);
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 24px;
  font-size: 14px;
  text-overflow: ellipsis;
  overflow: hidden;
  transition: color 0.28s ease, background-color 0.28s ease;
}
.tabs .tab a.active {
  background-color: transparent;
}
.tabs .tab a.active, .tabs .tab a:focus, .tabs .tab a:hover {
  color: var(--primary-color);
}
.tabs .tab a:hover {
  background-color: var(--primary-color-hover-opaque);
}
.tabs .tab a:focus, .tabs .tab a.active {
  background-color: var(--primary-color-focus-opaque);
  outline: none;
}
.tabs .tab.disabled a, .tabs .tab.disabled a:hover {
  color: var(--font-color-disabled);
  cursor: default;
  background-color: transparent;
}
.tabs .tab.disabled a:not(:focus), .tabs .tab.disabled a:hover:not(:focus) {
  background-color: transparent;
}
.tabs .indicator {
  position: absolute;
  bottom: 0;
  height: 2px;
  background-color: var(--primary-color);
  will-change: left, right;
}

@media only screen and (max-width : 992.99px) {
  .tabs {
    display: flex;
  }
  .tabs .tab {
    flex-grow: 1;
  }
  .tabs .tab a {
    padding: 0 12px;
  }
}
.material-tooltip {
  padding: 0 8px;
  border-radius: 4px;
  background-color: var(--md-sys-color-inverse-surface);
  color: var(--md-sys-color-inverse-on-surface);
  font-family: var(--md-sys-typescale-body-small-font-family-name);
  font-size: var(--md-sys-typescale-body-small-font-size);
  line-height: var(--md-sys-typescale-body-small-line-height);
  font-weight: var(--md-sys-typescale-body-small-font-weight);
  min-height: 24px;
  opacity: 0;
  text-align: center;
  position: absolute;
  max-width: calc(100% - 4px);
  overflow: hidden;
  left: 0;
  top: 0;
  pointer-events: none;
  display: flex;
  align-items: center;
  visibility: hidden;
  z-index: 2000;
}

.backdrop {
  position: absolute;
  opacity: 0;
  height: 7px;
  width: 14px;
  border-radius: 0 0 50% 50%;
  background-color: var(--md-sys-color-inverse-surface);
  z-index: -1;
  transform-origin: 50% 0;
  visibility: hidden;
}

.btn, .btn-small, .btn-large, .btn-floating, .btn-flat {
  --font-size-icon: 16px;
  --padding: 24px;
  --padding-icon: 16px;
  --gap-icon: 8px;
  height: 40px;
  border: none;
  border-radius: 4px;
  padding-left: var(--padding);
  padding-right: var(--padding);
  color: var(--font-on-primary-color-main);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  white-space: nowrap;
  outline: 0;
  user-select: none;
  transition: background-color 0.2s ease-out;
}

.btn.icon-left, .icon-left.btn-small, .icon-left.btn-large, .btn.icon-right, .icon-right.btn-small, .icon-right.btn-large {
  position: relative;
}

.btn.icon-left, .icon-left.btn-small, .icon-left.btn-large {
  padding-left: calc(var(--padding-icon) + var(--font-size-icon) + var(--gap-icon));
}

.btn.icon-right, .icon-right.btn-small, .icon-right.btn-large {
  padding-right: calc(var(--padding-icon) + var(--font-size-icon) + var(--gap-icon));
}

.btn.icon-left i, .icon-left.btn-small i, .icon-left.btn-large i, .btn.icon-right i, .icon-right.btn-small i, .icon-right.btn-large i {
  position: absolute;
  font-size: var(--font-size-icon);
}

.btn.icon-left i, .icon-left.btn-small i, .icon-left.btn-large i {
  left: var(--padding-icon);
}

.btn.icon-right i, .icon-right.btn-small i, .icon-right.btn-large i {
  right: var(--padding-icon);
}

.btn.disabled,
.btn-floating.disabled,
.btn-large.disabled,
.btn-small.disabled,
.btn-flat.disabled,
.btn:disabled,
.btn-floating:disabled,
.btn-large:disabled,
.btn-small:disabled,
.btn-flat:disabled,
.btn[disabled],
.btn-floating[disabled],
.btn-large[disabled],
.btn-small[disabled],
.btn-flat[disabled] {
  pointer-events: none;
  background-color: var(--background-color-disabled) !important;
  box-shadow: none;
  color: var(--font-color-disabled) !important;
  cursor: default;
}
.btn.disabled:hover,
.btn-floating.disabled:hover,
.btn-large.disabled:hover,
.btn-small.disabled:hover,
.btn-flat.disabled:hover,
.btn:disabled:hover,
.btn-floating:disabled:hover,
.btn-large:disabled:hover,
.btn-small:disabled:hover,
.btn-flat:disabled:hover,
.btn[disabled]:hover,
.btn-floating[disabled]:hover,
.btn-large[disabled]:hover,
.btn-small[disabled]:hover,
.btn-flat[disabled]:hover {
  background-color: var(--background-color-disabled) !important;
  color: var(--font-color-disabled) !important;
}

.btn.filled, .btn, .btn-small, .btn-large {
  background-color: var(--md-sys-color-primary);
}

.btn.tonal, .tonal.btn-small, .tonal.btn-large, .btn.elevated, .elevated.btn-small, .elevated.btn-large {
  background-color: var(--md-sys-color-secondary-container);
  color: var(--md-sys-color-on-secondary-container);
}

.btn.text, .text.btn-small, .text.btn-large, .btn-flat {
  box-shadow: none;
  background-color: transparent;
  color: var(--md-sys-color-primary);
  cursor: pointer;
  transition: background-color 0.2s;
}
.btn.text:focus, .text.btn-small:focus, .text.btn-large:focus, .btn.text:hover, .text.btn-small:hover, .text.btn-large:hover, .btn-flat:focus, .btn-flat:hover {
  box-shadow: none;
  background-color: var(--hover-color);
}
.btn.text:focus, .text.btn-small:focus, .text.btn-large:focus, .btn-flat:focus {
  background-color: var(--focus-color);
}
.btn.text.disabled, .text.disabled.btn-small, .text.disabled.btn-large, .btn.text.btn.text[disabled], .text.text[disabled].btn-small, .text.text[disabled].btn-large, .btn.text.btn-flat[disabled], .btn-flat.disabled, .btn-flat.btn.text[disabled], .btn-flat.btn-flat[disabled] {
  background-color: transparent !important;
  color: var(--font-color-disabled) !important;
  cursor: default;
}

.btn.outlined, .outlined.btn-small, .outlined.btn-large {
  background-color: transparent;
  color: var(--primary-color);
  border: 1px solid var(--primary-color);
}

.btn:hover, .btn-small:hover, .btn-large:hover {
  background-color: var(--primary-color-raised-hover-solid);
}
.btn:focus, .btn-small:focus, .btn-large:focus {
  background-color: var(--primary-color-raised-focus-solid);
}

.btn-floating {
  color: var(--font-on-secondary-color-main);
  width: 40px;
  height: 40px;
  background-color: var(--secondary-color);
  border-radius: 16px;
  padding: 0;
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: background-color 0.3s;
  cursor: pointer;
  vertical-align: middle;
}
.btn-floating:hover {
  background-color: var(--secondary-color-hover-solid);
}
.btn-floating:focus {
  background-color: var(--secondary-color-focus-solid);
}
.btn-floating:before {
  border-radius: 0;
}
.btn-floating.btn-large {
  width: 56px;
  height: 56px;
  padding: 0;
}
.btn-floating.btn-large.halfway-fab {
  bottom: -28px;
}
.btn-floating.btn-small {
  width: 30px;
  height: 30px;
}
.btn-floating.btn-small.halfway-fab {
  bottom: -15px;
}
.btn-floating.halfway-fab {
  position: absolute;
  right: 24px;
  bottom: -20px;
}
.btn-floating.halfway-fab.left {
  right: auto;
  left: 24px;
}
.btn-floating i {
  color: var(--font-on-secondary-color-main);
  font-size: 1.6rem;
  width: inherit;
  display: inline-block;
  text-align: center;
}

button.btn-floating {
  border: none;
}

.fixed-action-btn {
  position: fixed;
  right: 23px;
  bottom: 23px;
  padding-top: 15px;
  margin-bottom: 0;
  z-index: 997;
}
.fixed-action-btn.active ul {
  visibility: visible;
  padding-left: 0;
  list-style-type: none;
}
.fixed-action-btn.direction-left, .fixed-action-btn.direction-right {
  padding: 0 0 0 15px;
}
.fixed-action-btn.direction-left ul, .fixed-action-btn.direction-right ul {
  text-align: right;
  right: 64px;
  top: 50%;
  transform: translateY(-50%);
  height: 100%;
  left: auto;
  /*width 100% only goes to width of button container */
  width: 500px;
}
.fixed-action-btn.direction-left ul li, .fixed-action-btn.direction-right ul li {
  display: inline-block;
  margin: 7.5px 15px 0 0;
}
.fixed-action-btn.direction-right {
  padding: 0 15px 0 0;
}
.fixed-action-btn.direction-right ul {
  text-align: left;
  direction: rtl;
  left: 64px;
  right: auto;
}
.fixed-action-btn.direction-right ul li {
  margin: 7.5px 0 0 15px;
}
.fixed-action-btn.direction-bottom {
  padding: 0 0 15px 0;
}
.fixed-action-btn.direction-bottom ul {
  top: 64px;
  bottom: auto;
  display: flex;
  flex-direction: column-reverse;
}
.fixed-action-btn.direction-bottom ul li {
  margin: 15px 0 0 0;
}
.fixed-action-btn.toolbar {
  padding: 0;
  height: 56px;
}
.fixed-action-btn.toolbar.active > a i {
  opacity: 0;
}
.fixed-action-btn.toolbar ul {
  display: flex;
  top: 0;
  bottom: 0;
  z-index: 1;
}
.fixed-action-btn.toolbar ul li {
  flex: 1;
  display: inline-block;
  margin: 0;
  height: 100%;
  transition: none;
}
.fixed-action-btn.toolbar ul li a {
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  background-color: transparent;
  box-shadow: none;
  color: var(--font-on-secondary-color-main);
  line-height: 56px;
  z-index: 1;
}
.fixed-action-btn.toolbar ul li a i {
  line-height: inherit;
}
.fixed-action-btn ul {
  left: 0;
  right: 0;
  text-align: center;
  position: absolute;
  bottom: 64px;
  margin: 0;
  visibility: hidden;
}
.fixed-action-btn ul li {
  margin-bottom: 15px;
}
.fixed-action-btn ul a.btn-floating {
  opacity: 0;
}
.fixed-action-btn .fab-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 40px;
  height: 40px;
  background-color: var(--secondary-color);
  border-radius: 16px;
  transform: scale(0);
}

.btn-large {
  height: 60px;
  font-size: 18px;
  padding: 0 28px;
}
.btn-large i {
  font-size: 1.6rem;
}

.btn-small {
  height: 30px;
  line-height: 30px;
  font-size: 13px;
}
.btn-small i {
  font-size: 1.2rem;
}

.btn-block {
  display: block;
}

.btn.rounded, .rounded.btn-large, .rounded.btn-small {
  border-radius: 99999px;
}

.dropdown-content {
  padding-left: 0;
  list-style-type: none;
  background-color: var(--surface-color);
  margin: 0;
  display: none;
  min-width: 100px;
  overflow-y: auto;
  opacity: 0;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 9999;
  transform-origin: 0 0;
}
.dropdown-content:focus {
  outline: 0;
}
.dropdown-content li {
  clear: both;
  color: var(--font-color-main);
  cursor: pointer;
  min-height: 50px;
  line-height: 1.5rem;
  width: 100%;
  text-align: left;
}
.dropdown-content li:hover, .dropdown-content li.active {
  background-color: var(--hover-color);
}
.dropdown-content li:focus {
  outline: none;
}
.dropdown-content li.divider {
  min-height: 0;
  height: 1px;
}
.dropdown-content li > a, .dropdown-content li > span {
  font-size: 16px;
  color: var(--primary-color);
  display: block;
  line-height: 22px;
  padding: 14px 16px;
}
.dropdown-content li > span > label {
  top: 1px;
  left: 0;
  height: 18px;
}
.dropdown-content li > a > i {
  height: inherit;
  line-height: inherit;
  float: left;
  margin: 0 24px 0 0;
  width: 24px;
}

body.keyboard-focused .dropdown-content li:focus {
  background-color: var(--focus-color);
}

.input-field.col .dropdown-content [type=checkbox] + label {
  top: 1px;
  left: 0;
  height: 18px;
  transform: none;
}

.dropdown-trigger {
  cursor: pointer;
}

.modal {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  background-color: var(--background-color-level-16dp-solid);
  padding: 0;
  max-height: 70%;
  width: 55%;
  margin: auto;
  overflow-y: auto;
  border-radius: 2px;
  will-change: top, opacity;
}
.modal:focus {
  outline: none;
}
@media only screen and (max-width : 992.99px) {
  .modal {
    width: 80%;
  }
}
.modal h1, .modal h2, .modal h3, .modal h4 {
  margin-top: 0;
}
.modal .modal-content {
  padding: 24px;
  overflow-y: hidden;
}
.modal .modal-close {
  cursor: pointer;
}
.modal .modal-footer {
  border-radius: 0 0 2px 2px;
  background-color: var(--background-color-level-16dp-solid);
  padding: 4px 6px;
  height: 56px;
  width: 100%;
  text-align: right;
}
.modal .modal-footer .btn, .modal .modal-footer .btn-large, .modal .modal-footer .btn-small, .modal .modal-footer .btn-flat {
  margin: 6px 0;
}

.modal-overlay {
  position: fixed;
  z-index: 999;
  top: -25%;
  left: 0;
  bottom: 0;
  right: 0;
  height: 125%;
  width: 100%;
  background: #000;
  display: none;
  will-change: opacity;
}

.modal.modal-fixed-footer {
  padding: 0;
  height: 70%;
}
.modal.modal-fixed-footer .modal-content {
  position: absolute;
  height: calc(100% - 56px);
  max-height: 100%;
  width: 100%;
  overflow-y: auto;
}
.modal.modal-fixed-footer .modal-footer {
  border-top: 1px solid var(--separator-color);
  position: absolute;
  bottom: 0;
}

.modal.bottom-sheet {
  top: auto;
  bottom: -100%;
  margin: 0;
  width: 100%;
  max-height: 45%;
  border-radius: 0;
  will-change: bottom, opacity;
}

.collapsible {
  padding-left: 0;
  list-style-type: none;
  border-top: 1px solid var(--separator-color);
  border-right: 1px solid var(--separator-color);
  border-left: 1px solid var(--separator-color);
  margin: 0.5rem 0 1rem 0;
}

.collapsible-header {
  display: flex;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  line-height: 1.5;
  padding: 1rem;
  border-bottom: 1px solid var(--separator-color);
  background-color: var(--surface-color);
}
.collapsible-header:focus {
  outline: 0;
}
.collapsible-header i {
  width: 2rem;
  font-size: 1.6rem;
  display: inline-block;
  text-align: center;
  margin-right: 1rem;
}

.collapsible-header::after {
  content: "▾";
  text-align: right;
  margin-right: 0.25rem;
  width: 100%;
}

.active .collapsible-header::after {
  content: "▴";
}

.keyboard-focused .collapsible-header:focus {
  background-color: var(--focus-color);
}

.collapsible-body {
  max-height: 0;
  border-bottom: 1px solid var(--separator-color);
  box-sizing: border-box;
  padding: 0 2rem;
  overflow: hidden;
  background-color: var(--surface-color);
}

.collapsible.popout {
  border: none;
  box-shadow: none;
}
.collapsible.popout > li {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
  margin: 0 24px;
  transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.collapsible.popout > li.active {
  box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
  margin: 16px 0;
}

.chip {
  --font-size: 14px;
  --font-size-icon: 18px;
  --padding: 8px;
  background-color: var(--background-color-level-4dp);
  display: inline-flex;
  white-space: nowrap;
  gap: 8px;
  margin: 0;
  height: 32px;
  padding-left: var(--padding);
  padding-right: var(--padding);
  font-size: var(--font-size);
  font-weight: 500;
  color: var(--font-color-medium);
  border-radius: 8px;
  align-items: center;
  user-select: none;
  vertical-align: top;
}
.chip:focus {
  outline: none;
  background-color: var(--primary-color);
  color: var(--font-on-primary-color-main);
}

.chip.outlined {
  background-color: transparent;
  border-color: var(--md-sys-color-outline);
  border-width: 1px;
  border-style: solid;
}

.chip > img {
  margin: 0;
  width: 24px;
  height: 24px;
  object-fit: cover;
  border-radius: 12px;
}

.chip > .material-icons {
  font-size: var(--font-size-icon);
}

.chip .close {
  border-radius: 50%;
  height: 24px;
  width: 24px;
  padding: 0;
  display: grid;
  justify-content: center;
  align-content: center;
  cursor: pointer;
}

.chip .close:hover {
  background-color: rgba(136, 136, 136, 0.5333333333);
}

.chips {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  border: none;
  border-bottom: 1px solid var(--font-color-medium);
  box-shadow: none;
  margin: 0 0 8px 0;
  padding: 4px;
  outline: none;
  transition: all 0.3s;
}
.chips.focus {
  border-bottom: 1px solid var(--primary-color);
  box-shadow: 0 1px 0 0 var(--primary-color);
}
.chips:hover {
  cursor: text;
}
.chips input:not([type]):not(.browser-default).input {
  background: none;
  border: 0;
  color: var(--font-color-main);
  display: inline-block;
  font-size: 16px;
  height: 32px;
  outline: 0;
  margin: 0;
  padding: 0;
  width: 120px;
}
.chips input:not([type]):not(.browser-default).input:focus {
  border: 0;
  box-shadow: none;
}
.chips .autocomplete-content {
  margin-top: 0;
  margin-bottom: 0;
}

.prefix ~ .chips {
  margin-left: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}

.suffix ~ .chips {
  margin-right: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}

.chips:empty ~ label {
  font-size: 0.8rem;
  transform: translateY(-140%);
}

.materialboxed {
  display: block;
  cursor: zoom-in;
  position: relative;
  transition: opacity 0.4s;
  -webkit-backface-visibility: hidden;
}
.materialboxed:hover:not(.active) {
  opacity: 0.8;
}
.materialboxed.active {
  cursor: zoom-out;
}

#materialbox-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--md-sys-color-background);
  z-index: 1000;
  will-change: opacity;
}

.materialbox-caption {
  position: fixed;
  display: none;
  color: var(--font-color-main);
  line-height: 50px;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
  padding: 0% 15%;
  height: 50px;
  z-index: 1000;
  -webkit-font-smoothing: antialiased;
}

select:focus {
  outline: 1px solid var(--primary-color-raised-focus-solid);
}

button:focus {
  outline: none;
  background-color: var(--primary-color-raised-focus-solid);
}

label {
  font-size: 0.8rem;
  color: var(--font-color-medium);
}

/* Text Inputs + Textarea
   ========================================================================== */
/* Style Placeholders */
::placeholder {
  color: var(--font-color-medium);
}

/* Text inputs */
input:not([type]):not(.browser-default),
input[type=text]:not(.browser-default),
input[type=password]:not(.browser-default),
input[type=email]:not(.browser-default),
input[type=url]:not(.browser-default),
input[type=time]:not(.browser-default),
input[type=date]:not(.browser-default),
input[type=datetime]:not(.browser-default),
input[type=datetime-local]:not(.browser-default),
input[type=month]:not(.browser-default),
input[type=tel]:not(.browser-default),
input[type=number]:not(.browser-default),
input[type=search]:not(.browser-default),
textarea.materialize-textarea {
  outline: none;
  color: var(--font-color-main);
  width: 100%;
  font-size: 16px;
  height: 56px;
}

/* Validation Sass Placeholders */
/*
%custom-success-message {
  content: attr(data-success);
  color: $input-success-color;
}
%custom-error-message {
  content: attr(data-error);
  color: $input-error-color;
}
*/
.input-field {
  position: relative;
  clear: both;
}
.input-field input, .input-field textarea {
  box-sizing: border-box; /* https://stackoverflow.com/questions/1377719/padding-within-inputs-breaks-width-100*/
  padding: 0 16px;
  padding-top: 20px;
  background-color: var(--surface-color);
  border: none;
  border-radius: 4px;
  border-bottom: 1px solid var(--font-color-medium);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.input-field input:focus:not([readonly]), .input-field textarea:focus:not([readonly]) {
  border-bottom: 2px solid var(--primary-color);
  padding-top: 21px;
}
.input-field input:disabled, .input-field input[readonly=readonly], .input-field textarea:disabled, .input-field textarea[readonly=readonly] {
  color: rgba(var(--md_sys_color_on-surface), 0.38);
  border-color: rgba(var(--md_sys_color_on-surface), 0.12);
  background-color: rgba(var(--md_sys_color_on-surface), 0.04);
}
.input-field input:focus:not([readonly]) + label, .input-field textarea:focus:not([readonly]) + label {
  color: var(--primary-color);
}
.input-field input:focus:not([readonly]) + label, .input-field input:not([placeholder=" "]) + label, .input-field input:not(:placeholder-shown) + label, .input-field textarea:focus:not([readonly]) + label, .input-field textarea:not([placeholder=" "]) + label, .input-field textarea:not(:placeholder-shown) + label {
  transform: scale(0.75);
  top: 8px;
}
.input-field input:disabled + label, .input-field input[readonly=readonly] + label, .input-field textarea:disabled + label, .input-field textarea[readonly=readonly] + label {
  color: rgba(var(--md_sys_color_on-surface), 0.38);
}
.input-field input::placeholder {
  user-select: none;
}
.input-field > label {
  color: var(--font-color-medium);
  user-select: none;
  font-size: 16px;
  position: absolute;
  left: 16px;
  top: 16px;
  cursor: text;
  transform-origin: top left;
  transition: left 0.2s ease-out, top 0.2s ease-out, transform 0.2s ease-out;
}
.input-field .supporting-text {
  color: var(--font-color-medium);
  font-size: 12px;
  padding: 0 16px;
  margin-top: 4px;
}
.input-field .character-counter {
  color: var(--font-color-medium);
  font-size: 12px;
  float: right;
  padding: 0 16px;
  margin-top: 4px;
}
.input-field .prefix {
  position: absolute;
  left: 12px;
  top: 16px;
  user-select: none;
  display: flex;
  align-self: center;
}
.input-field .suffix {
  position: absolute;
  right: 12px;
  top: 16px;
  user-select: none;
}
.input-field .prefix ~ input, .input-field .prefix ~ textarea {
  padding-left: 52px;
}
.input-field .suffix ~ input, .input-field .suffix ~ textarea {
  padding-right: 52px;
}
.input-field .prefix ~ label {
  left: 52px;
}
.input-field.outlined input, .input-field.outlined textarea {
  padding-top: 0;
  background-color: var(--background-color);
  border: 1px solid var(--font-color-medium);
  border-radius: 4px;
}
.input-field.outlined input:focus:not([readonly]), .input-field.outlined textarea:focus:not([readonly]) {
  border: 2px solid var(--primary-color);
  padding-top: 0;
  margin-left: -1px;
}
.input-field.outlined input:focus:not([readonly]) + label, .input-field.outlined textarea:focus:not([readonly]) + label {
  color: var(--primary-color);
}
.input-field.outlined input:focus:not([readonly]) + label, .input-field.outlined input:not([placeholder=" "]) + label, .input-field.outlined input:not(:placeholder-shown) + label, .input-field.outlined textarea:focus:not([readonly]) + label, .input-field.outlined textarea:not([placeholder=" "]) + label, .input-field.outlined textarea:not(:placeholder-shown) + label {
  top: -8px;
  left: 16px;
  margin-left: -4px;
  padding: 0 4px;
  background-color: var(--background-color);
}
.input-field.outlined input:disabled, .input-field.outlined input[readonly=readonly], .input-field.outlined textarea:disabled, .input-field.outlined textarea[readonly=readonly] {
  color: rgba(var(--md_sys_color_on-surface), 0.38);
  border-color: rgba(var(--md_sys_color_on-surface), 0.12);
}
.input-field.error input, .input-field.error textarea {
  border-color: var(--error-color);
}
.input-field.error input:focus:not([readonly]), .input-field.error textarea:focus:not([readonly]) {
  border-color: var(--error-color);
}
.input-field.error input:focus:not([readonly]) + label, .input-field.error textarea:focus:not([readonly]) + label {
  color: var(--error-color);
}
.input-field.error label {
  color: var(--error-color);
}
.input-field.error .supporting-text {
  color: var(--error-color);
}
.input-field.error .suffix {
  color: var(--error-color);
}

/* Search Field */
.searchbar .prefix {
  position: absolute;
  padding-left: 1rem;
  top: 0;
  user-select: none;
  display: flex;
  align-self: center;
}
.searchbar > input {
  border-width: 0;
  background-color: transparent;
  padding-left: 3rem;
}

.searchbar.has-sidebar {
  margin-left: 0;
}
@media only screen and (min-width : 993px) {
  .searchbar.has-sidebar {
    margin-left: 300px;
  }
}

/*
.input-field input[type=search] {
  display: block;
  line-height: inherit;

  .nav-wrapper & {
    height: inherit;
    padding-left: 4rem;
    width: calc(100% - 4rem);
    border: 0;
    box-shadow: none;
  }
  &:focus:not(.browser-default) {
    border: 0;
    box-shadow: none;
  }
  & + .label-icon {
    transform: none;
    left: 1rem;
  }
}
*/
/* Textarea */
textarea {
  width: 100%;
  height: 3rem;
  background-color: transparent;
}
textarea.materialize-textarea {
  padding-top: 26px !important;
  padding-bottom: 4px !important;
  line-height: normal;
  overflow-y: hidden; /* prevents scroll bar flash */
  resize: none;
  min-height: 3rem;
  box-sizing: border-box;
}

.hiddendiv {
  visibility: hidden;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-wrap: break-word; /* future version of deprecated 'word-wrap' */
  padding-top: 1.2rem; /* prevents text jump on Enter keypress */
  position: absolute;
  top: 0;
  z-index: -1;
}

/* Autocomplete Items */
.autocomplete-content li .highlight {
  color: var(--font-color-main);
}
.autocomplete-content li img {
  height: 40px;
  width: 40px;
  margin: 5px 15px;
}

/* Radio Buttons
   ========================================================================== */
[type=radio]:not(:checked),
[type=radio]:checked {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

[type=radio]:not(:checked) + span,
[type=radio]:checked + span {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  display: inline-block;
  height: 25px;
  line-height: 25px;
  font-size: 1rem;
  transition: 0.28s ease;
  user-select: none;
}

[type=radio] + span:before,
[type=radio] + span:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  margin: 4px;
  width: 16px;
  height: 16px;
  z-index: 0;
  transition: 0.28s ease;
}

/* Unchecked styles */
[type=radio]:not(:checked) + span:before,
[type=radio]:not(:checked) + span:after,
[type=radio]:checked + span:before,
[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:before,
[type=radio].with-gap:checked + span:after {
  border-radius: 50%;
}

[type=radio]:not(:checked) + span:before,
[type=radio]:not(:checked) + span:after {
  border: 2px solid var(--font-color-medium);
}

[type=radio]:not(:checked) + span:after {
  transform: scale(0);
}

/* Checked styles */
[type=radio]:checked + span:before {
  border: 2px solid transparent;
}

[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:before,
[type=radio].with-gap:checked + span:after {
  border: 2px solid var(--primary-color);
}

[type=radio]:checked + span:after,
[type=radio].with-gap:checked + span:after {
  background-color: var(--primary-color);
}

[type=radio]:checked + span:after {
  transform: scale(1.02);
}

/* Radio With gap */
[type=radio].with-gap:checked + span:after {
  transform: scale(0.5);
}

/* Focused styles */
[type=radio].tabbed:focus + span:before {
  box-shadow: 0 0 0 10px var(--primary-color-focus-opaque);
}

/* Disabled Radio With gap */
[type=radio].with-gap:disabled:checked + span:before {
  border: 2px solid var(--font-color-disabled);
}

[type=radio].with-gap:disabled:checked + span:after {
  border: none;
  background-color: var(--font-color-disabled);
}

/* Disabled style */
[type=radio]:disabled:not(:checked) + span:before,
[type=radio]:disabled:checked + span:before {
  background-color: transparent;
  border-color: var(--font-color-disabled);
}

[type=radio]:disabled + span {
  color: var(--font-color-disabled);
}

[type=radio]:disabled:not(:checked) + span:before {
  border-color: var(--font-color-disabled);
}

[type=radio]:disabled:checked + span:after {
  background-color: var(--font-color-disabled);
  border-color: var(--font-color-disabled);
}

/* Checkboxes
   ========================================================================== */
/* Remove default checkbox */
[type=checkbox]:not(:checked),
[type=checkbox]:checked {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

[type=checkbox] {
  /* checkbox aspect */
}
[type=checkbox] + span:not(.lever) {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  display: inline-block;
  height: 25px;
  line-height: 25px;
  font-size: 1rem;
  user-select: none;
}
[type=checkbox] + span:not(.lever):before, [type=checkbox]:not(.filled-in) + span:not(.lever):after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  z-index: 0;
  border: 2px solid var(--font-color-medium);
  border-radius: 1px;
  margin-top: 3px;
  transition: 0.2s;
}
[type=checkbox]:not(.filled-in) + span:not(.lever):after {
  border: 0;
  transform: scale(0);
}
[type=checkbox]:not(:checked):disabled + span:not(.lever):before {
  border: none;
  background-color: var(--font-color-disabled);
}
[type=checkbox].tabbed:focus + span:not(.lever):after {
  transform: scale(1);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 0 0 10px var(--focus-color);
  background-color: var(--focus-color);
}

[type=checkbox]:checked + span:not(.lever):before {
  top: -4px;
  left: -5px;
  width: 12px;
  height: 22px;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  border-right: 2px solid var(--primary-color);
  border-bottom: 2px solid var(--primary-color);
  transform: rotate(40deg);
  backface-visibility: hidden;
  transform-origin: 100% 100%;
}
[type=checkbox]:checked:disabled + span:before {
  border-right: 2px solid var(--font-color-disabled);
  border-bottom: 2px solid var(--font-color-disabled);
}

/* Indeterminate checkbox */
[type=checkbox]:indeterminate + span:not(.lever):before {
  top: -11px;
  left: -12px;
  width: 10px;
  height: 22px;
  border-top: none;
  border-left: none;
  border-right: 2px solid var(--primary-color);
  border-bottom: none;
  transform: rotate(90deg);
  backface-visibility: hidden;
  transform-origin: 100% 100%;
}
[type=checkbox]:indeterminate:disabled + span:not(.lever):before {
  border-right: 2px solid var(--font-color-disabled);
  background-color: transparent;
}

[type=checkbox].filled-in + span:not(.lever):after {
  border-radius: 2px;
}
[type=checkbox].filled-in + span:not(.lever):before,
[type=checkbox].filled-in + span:not(.lever):after {
  content: "";
  left: 0;
  position: absolute;
  /* .1s delay is for check animation */
  transition: border 0.25s, background-color 0.25s, width 0.2s 0.1s, height 0.2s 0.1s, top 0.2s 0.1s, left 0.2s 0.1s;
  z-index: 1;
}
[type=checkbox].filled-in:not(:checked) + span:not(.lever):before {
  width: 0;
  height: 0;
  border: 3px solid transparent;
  left: 6px;
  top: 10px;
  transform: rotateZ(37deg);
  transform-origin: 100% 100%;
}
[type=checkbox].filled-in:not(:checked) + span:not(.lever):after {
  height: 20px;
  width: 20px;
  background-color: transparent;
  border: 2px solid var(--font-color-medium);
  top: 0px;
  z-index: 0;
}
[type=checkbox].filled-in:checked + span:not(.lever):before {
  top: 0;
  left: 1px;
  width: 8px;
  height: 13px;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  border-right: 2px solid var(--font-on-primary-color-main);
  border-bottom: 2px solid var(--font-on-primary-color-main);
  transform: rotateZ(37deg);
  transform-origin: 100% 100%;
}
[type=checkbox].filled-in:checked + span:not(.lever):after {
  top: 0;
  width: 20px;
  height: 20px;
  border: 2px solid var(--primary-color);
  background-color: var(--primary-color);
  z-index: 0;
}
[type=checkbox].filled-in.tabbed:focus + span:not(.lever):after {
  border-radius: 2px;
  border-color: var(--font-color-medium);
  background-color: var(--focus-color);
}
[type=checkbox].filled-in.tabbed:checked:focus + span:not(.lever):after {
  border-radius: 2px;
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}
[type=checkbox].filled-in:disabled:not(:checked) + span:not(.lever):before {
  background-color: transparent;
  border: 2px solid transparent;
}
[type=checkbox].filled-in:disabled:not(:checked) + span:not(.lever):after {
  border-color: transparent;
  background-color: var(--font-color-disabled);
}
[type=checkbox].filled-in:disabled:checked + span:not(.lever):before {
  background-color: transparent;
}
[type=checkbox].filled-in:disabled:checked + span:not(.lever):after {
  background-color: var(--font-color-disabled);
  border-color: var(--font-color-disabled);
}

/* Switch
   ========================================================================== */
.switch {
  --track-height: 32px;
  --track-width: 52px;
  --border-width: 2px;
  --size-off: 16px;
  --size-on: 24px;
  --icon-size: 16px;
  --gap-on: calc(((var(--track-height) - var(--size-on)) / 2) - var(--border-width));
  --gap-off: calc(((var(--track-height) - var(--size-off)) / 2) - var(--border-width));
}

.switch,
.switch * {
  -webkit-tap-highlight-color: transparent;
  user-select: none;
}

.switch label {
  cursor: pointer;
}

.switch label input[type=checkbox] {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch label input[type=checkbox]:checked + .lever {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}
.switch label input[type=checkbox]:checked + .lever:before, .switch label input[type=checkbox]:checked + .lever:after {
  top: var(--gap-on);
  left: calc(var(--track-width) - var(--size-on) - var(--gap-on) - 2 * var(--border-width));
  width: var(--size-on);
  height: var(--size-on);
}
.switch label .lever {
  content: "";
  display: inline-block;
  position: relative;
  width: var(--track-width);
  height: var(--track-height);
  border-style: solid;
  border-width: 2px;
  border-color: var(--md-sys-color-outline);
  border-radius: 15px;
  margin-right: 10px;
  transition: background 0.3s ease;
  vertical-align: middle;
  margin: 0 16px;
}
.switch label .lever:before, .switch label .lever:after {
  content: "";
  position: absolute;
  display: inline-block;
  width: var(--size-off);
  height: var(--size-off);
  border-radius: 50%;
  left: var(--gap-off);
  top: var(--gap-off);
  transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease, transform 0.1s ease;
}
.switch label .lever:after {
  height: var(--size-off);
  width: var(--size-off);
}

input[type=checkbox]:not(:disabled) ~ .lever:active:before,
input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before,
input[type=checkbox]:not(:disabled) ~ .lever:hover::before {
  transform: scale(2.4);
}

input[type=checkbox]:checked:not(:disabled) ~ .lever:hover::before {
  background-color: var(--primary-color-hover-opaque);
}

input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,
input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before {
  background-color: var(--primary-color-focus-opaque);
}

input[type=checkbox]:not(:disabled) ~ .lever:hover::before {
  background-color: var(--hover-color);
}

input[type=checkbox]:not(:disabled) ~ .lever:active:before,
input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before {
  background-color: var(--focus-color);
}

.switch input[type=checkbox][disabled] + .lever {
  cursor: default;
  opacity: 0.5;
}

/* Select Field
   ========================================================================== */
select.browser-default {
  opacity: 1;
  color: var(--font-color-main);
}

select {
  opacity: 0;
  background-color: var(--surface-color);
  width: 100%;
  padding: 5px;
  border: 1px solid var(--separator-color);
  border-radius: 2px;
  height: 3rem;
}

.select-wrapper {
  /*
  &.valid .helper-text[data-success],
  &.invalid ~ .helper-text[data-error] {
    @extend %hidden-text;
  }

  &.valid {
    & > input.select-dropdown {
      @extend %valid-input-style;
    }
    & ~ .helper-text:after {
      //@extend %custom-success-message;
    }
  }

  &.invalid {
    & > input.select-dropdown,
    & > input.select-dropdown:focus {
      @extend %invalid-input-style;
    }
    & ~ .helper-text:after {
      //@extend %custom-error-message;
    }
  }

  &.valid + label,
  &.invalid + label {
    width: 100%;
    pointer-events: none;
  }
  & + label:after {
    //@extend %input-after-style;
  }
  */
  position: relative;
  /*
  input.select-dropdown {    
    &:focus {
      border-bottom: 1px solid $input-focus-color;
    }
    position: relative;
    cursor: pointer;
    background-color: transparent;
    border: none;
    border-bottom: $input-border;
    outline: none;
    height: $input-height;
    line-height: $input-height;
    width: 100%;
    font-size: $input-font-size;
    margin: $input-margin;
    padding: 0;
    display: block;
    user-select:none;
    z-index: 1;
    color: $select-input-color;
  }
  */
  /*
  & + label {
    position: absolute;
    top: -26px;
    font-size: $label-font-size;
  }
  */
}
.select-wrapper .caret {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  z-index: 0;
  fill: var(--font-color-main);
}
.select-wrapper .hide-select {
  width: 0;
  height: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  z-index: -1;
}

select:disabled {
  color: var(--font-color-disabled);
}

.select-wrapper.disabled + label {
  color: var(--font-color-disabled);
}
.select-wrapper.disabled .caret {
  fill: var(--font-color-disabled);
}

.select-wrapper input.select-dropdown:disabled {
  color: var(--font-color-disabled);
  cursor: default;
  user-select: none;
}

.select-wrapper i {
  color: var(--font-color-disabled);
}

.select-dropdown li.disabled,
.select-dropdown li.disabled > span,
.select-dropdown li.optgroup {
  color: var(--font-color-disabled);
  background-color: transparent;
}

body.keyboard-focused .select-dropdown.dropdown-content li:focus {
  background-color: var(--focus-color);
}

.select-dropdown.dropdown-content li:hover:not(.disabled) {
  background-color: var(--hover-color);
}
.select-dropdown.dropdown-content li.selected:not(.disabled) {
  background-color: var(--focus-color);
}

/*
// Prefix Icons
.prefix ~ .select-wrapper {
  margin-left: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}
.prefix ~ label { margin-left: 3rem; }
// Suffix Icons
.suffix ~ .select-wrapper {
  margin-right: 3rem;
  width: 92%;
  width: calc(100% - 3rem);
}
.suffix ~ label { margin-right: 3rem; }
*/
.select-dropdown li img {
  height: 40px;
  width: 40px;
  margin: 5px 15px;
  float: right;
}

.select-dropdown li.optgroup {
  border-top: 1px solid var(--hover-color);
}
.select-dropdown li.optgroup.selected > span {
  color: var(--font-color-main);
}
.select-dropdown li.optgroup > span {
  color: var(--font-color-medium);
}
.select-dropdown li.optgroup ~ li.optgroup-option {
  padding-left: 1rem;
}

/* File Input
   ========================================================================== */
.file-field {
  display: grid;
  grid-template-columns: min-content auto;
  gap: 10px;
}
.file-field .file-path-wrapper {
  overflow: hidden;
}
.file-field input.file-path {
  width: 100%;
}
.file-field .btn, .file-field .btn-large, .file-field .btn-small {
  height: 3rem;
  line-height: 3rem;
}
.file-field span {
  cursor: pointer;
}
.file-field input[type=file] {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  cursor: pointer;
  width: 100%;
  margin: 0;
  padding: 0;
  opacity: 0;
  font-size: 20px;
  filter: alpha(opacity=0);
}
.file-field input[type=file]::-webkit-file-upload-button {
  display: none;
}

/* Range
   ========================================================================== */
.range-field {
  position: relative;
}

input[type=range],
input[type=range] + .thumb {
  cursor: pointer;
}

input[type=range] {
  position: relative;
  background-color: transparent;
  border: none;
  outline: none;
  width: 100%;
  margin: 15px 0;
  padding: 0;
}
input[type=range]:focus {
  outline: none;
}

input[type=range] + .thumb {
  position: absolute;
  top: 10px;
  left: 0;
  border: none;
  height: 0;
  width: 0;
  border-radius: 50%;
  background-color: var(--primary-color);
  margin-left: 7px;
  transform-origin: 50% 50%;
  transform: rotate(-45deg);
}
input[type=range] + .thumb .value {
  display: block;
  width: 30px;
  text-align: center;
  color: var(--primary-color);
  font-size: 0;
  transform: rotate(45deg);
}
input[type=range] + .thumb.active {
  border-radius: 50% 50% 50% 0;
}
input[type=range] + .thumb.active .value {
  color: var(--font-on-primary-color-main);
  margin-left: -1px;
  margin-top: 8px;
  font-size: 10px;
}

input[type=range] {
  -webkit-appearance: none;
}

input[type=range]::-webkit-slider-runnable-track {
  height: 3px;
  border: none;
}

input[type=range]::-webkit-slider-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: var(--primary-color);
  transition: box-shadow 0.3s;
  -webkit-appearance: none;
  background-color: var(--primary-color);
  transform-origin: 50% 50%;
  margin: -5px 0 0 0;
}

.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb {
  box-shadow: 0 0 0 10px var(--primary-color-focus-opaque);
}

input[type=range] {
  /*required for proper track sizing in FF*/
}

input[type=range]::-moz-range-track {
  height: 3px;
  border: none;
}

input[type=range]::-moz-focus-inner {
  border: 0;
}

input[type=range]::-moz-range-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: var(--primary-color);
  transition: box-shadow 0.3s;
  margin-top: -5px;
}

input[type=range]:-moz-focusring {
  outline: 1px solid #fff;
  outline-offset: -1px;
}

.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb {
  box-shadow: 0 0 0 10px var(--primary-color-focus-opaque);
}

input[type=range]::-ms-track {
  height: 3px;
  background: transparent;
  border-color: transparent;
  border-width: 6px 0;
  /*remove default tick marks*/
  color: transparent;
}

input[type=range]::-ms-fill-lower,
input[type=range]::-moz-range-progress {
  background: var(--primary-color);
}

input[type=range]::-ms-fill-upper,
input[type=range]::-moz-range-track {
  background: var(--slider-track-color);
}

input[type=range]::-ms-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: var(--primary-color);
  transition: box-shadow 0.3s;
}

.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb {
  box-shadow: 0 0 0 10px var(--primary-color-focus-opaque);
}

/***************
    Nav List
***************/
.table-of-contents.fixed {
  position: fixed;
}
.table-of-contents li {
  padding: 0;
}
.table-of-contents a {
  display: inline-block;
  font-weight: 400;
  color: var(--font-color-medium);
  padding-left: 16px;
  height: 2rem;
  line-height: 2rem;
  border-left: 1px solid var(--separator-color);
}
.table-of-contents a:hover {
  color: var(--font-color-main);
  padding-left: 15px;
}
.table-of-contents a.active {
  color: var(--primary-color);
  font-weight: 500;
  padding-left: 14px;
  border-left: 2px solid var(--primary-color);
}

/* This should be an UL-Element*/
.sidenav {
  position: fixed;
  width: 300px;
  left: 0;
  top: 0;
  margin: 0;
  transform: translateX(-100%);
  height: 100vh;
  padding: 0;
  background-color: var(--background-color-level-16dp-solid);
  z-index: 999;
  overflow-y: auto;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateX(-105%);
  user-select: none;
  /* Hover only on top row */
}
.sidenav.right-aligned {
  right: 0;
  transform: translateX(105%);
  left: auto;
  transform: translateX(100%);
}
.sidenav .collapsible {
  margin: 0;
}
.sidenav a:hover {
  background-color: var(--hover-color);
}
.sidenav a:focus {
  background-color: var(--focus-color);
}
.sidenav li.active > a:not(.collapsible-header):not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-small):not(.btn-flat):not(.btn-large):not(.btn-floating) {
  color: var(--font-on-secondary-container-color);
  background-color: var(--secondary-container-color);
}
.sidenav .collapsible-body > ul {
  padding-left: 10px;
}
.sidenav li {
  list-style: none;
  display: grid;
  align-content: center;
}
.sidenav li > a {
  /* https://stackoverflow.com/questions/5848090/full-width-hover-background-for-nested-lists */
  margin: 0 12px;
  padding: 0 16px;
  /*
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  */
  display: flex;
  height: 48px;
  font-size: 14px;
  font-weight: 500;
  align-items: center;
  overflow: hidden;
  border-radius: 100px;
  /* TODO: Use special class in future like "mw-icon" */
}
.sidenav li > a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-flat):not(.btn-large):not(.btn-floating) {
  color: var(--font-color-main);
}
.sidenav li > a.btn, .sidenav li > a.btn-small, .sidenav li > a.btn-large, .sidenav li > a.btn-flat, .sidenav li > a.btn-floating {
  margin: 10px 15px;
}
.sidenav li > a > .material-icons, .sidenav li > a > .material-symbols-outlined, .sidenav li > a > .material-symbols-rounded, .sidenav li > a > .material-symbols-sharp {
  display: inline-flex;
  vertical-align: middle;
  color: var(--font-color-medium);
  margin-right: 12px;
}
.sidenav .divider {
  margin: 8px 0 0 0;
}
.sidenav .subheader {
  cursor: initial;
  pointer-events: none;
  color: var(--font-color-medium);
  font-size: 14px;
  font-weight: 500;
  line-height: 48px;
}
.sidenav .user-view {
  position: relative;
  padding: 32px 32px 0;
  margin-bottom: 8px;
}
.sidenav .user-view > a {
  height: auto;
  padding: 0;
}
.sidenav .user-view > a:hover {
  background-color: transparent;
}
.sidenav .user-view .background {
  overflow: hidden;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.sidenav .user-view .circle, .sidenav .user-view .name, .sidenav .user-view .email {
  display: block;
}
.sidenav .user-view .circle {
  height: 64px;
  width: 64px;
}
.sidenav .user-view .name,
.sidenav .user-view .email {
  font-size: 14px;
  line-height: 24px;
}
.sidenav .user-view .name {
  margin-top: 16px;
  font-weight: 500;
}
.sidenav .user-view .email {
  padding-bottom: 16px;
  font-weight: 400;
}

.drag-target {
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
}
.drag-target.right-aligned {
  right: 0;
}

.sidenav.sidenav-fixed {
  left: 0;
  transform: translateX(0);
  position: fixed;
}
.sidenav.sidenav-fixed.right-aligned {
  right: 0;
  left: auto;
}

@media only screen and (max-width : 992.99px) {
  .sidenav.sidenav-fixed {
    transform: translateX(-105%);
  }
  .sidenav.sidenav-fixed.right-aligned {
    transform: translateX(105%);
  }
  .sidenav > a {
    padding: 0 16px;
  }
  .sidenav .user-view {
    padding: 16px 16px 0;
  }
}
.sidenav .collapsible-body {
  padding: 0;
}

.sidenav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  opacity: 0;
  height: 120vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 997;
  display: none;
}

.sidenav .collapsible,
.sidenav.sidenav-fixed .collapsible {
  border: none;
  box-shadow: none;
}
.sidenav .collapsible-header,
.sidenav.sidenav-fixed .collapsible-header {
  border: none;
}
.sidenav .collapsible-body,
.sidenav.sidenav-fixed .collapsible-body {
  border: none;
}

.progress {
  position: relative;
  height: 4px;
  display: block;
  width: 100%;
  border-radius: 2px;
  margin: 0.5rem 0 1rem 0;
  overflow: hidden;
}
.progress .determinate {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  background-color: var(--primary-color);
  transition: width 0.3s linear;
}
.progress .indeterminate {
  background-color: var(--primary-color);
}
.progress .indeterminate:before {
  content: "";
  position: absolute;
  background-color: inherit;
  top: 0;
  left: 0;
  bottom: 0;
  will-change: left, right;
  animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
}
.progress .indeterminate:after {
  content: "";
  position: absolute;
  background-color: inherit;
  top: 0;
  left: 0;
  bottom: 0;
  will-change: left, right;
  animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
  animation-delay: 1.15s;
}

@keyframes indeterminate {
  0% {
    left: -35%;
    right: 100%;
  }
  60% {
    left: 100%;
    right: -90%;
  }
  100% {
    left: 100%;
    right: -90%;
  }
}
@keyframes indeterminate-short {
  0% {
    left: -200%;
    right: 100%;
  }
  60% {
    left: 107%;
    right: -8%;
  }
  100% {
    left: 107%;
    right: -8%;
  }
}
/*
    @license
    Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
    This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
    The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
    The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
    Code distributed by Google as part of the polymer project is also
    subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
 */
/**************************/
/* STYLES FOR THE SPINNER */
/**************************/
/*
 * Constants:
 *      STROKEWIDTH = 3px
 *      ARCSIZE     = 270 degrees (amount of circle the arc takes up)
 *      ARCTIME     = 1333ms (time it takes to expand and contract arc)
 *      ARCSTARTROT = 216 degrees (how much the start location of the arc
 *                                should rotate each time, 216 gives us a
 *                                5 pointed star shape (it's 360/5 * 3).
 *                                For a 7 pointed star, we might do
 *                                360/7 * 3 = 154.286)
 *      CONTAINERWIDTH = 28px
 *      SHRINK_TIME = 400ms
 */
.preloader-wrapper {
  display: inline-block;
  position: relative;
  width: 50px;
  height: 50px;
}
.preloader-wrapper.small {
  width: 36px;
  height: 36px;
}
.preloader-wrapper.big {
  width: 64px;
  height: 64px;
}
.preloader-wrapper.active {
  /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */
  -webkit-animation: container-rotate 1568ms linear infinite;
  animation: container-rotate 1568ms linear infinite;
}

@-webkit-keyframes container-rotate {
  to {
    -webkit-transform: rotate(360deg);
  }
}
@keyframes container-rotate {
  to {
    transform: rotate(360deg);
  }
}
.spinner-layer {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  border-color: var(--primary-color);
}

.spinner-blue,
.spinner-blue-only {
  border-color: #4285f4;
}

.spinner-red,
.spinner-red-only {
  border-color: #db4437;
}

.spinner-yellow,
.spinner-yellow-only {
  border-color: #f4b400;
}

.spinner-green,
.spinner-green-only {
  border-color: #0f9d58;
}

/**
 * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):
 *
 * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't
 * guarantee that the animation will start _exactly_ after that value. So we avoid using
 * animation-delay and instead set custom keyframes for each color (as redundant as it
 * seems).
 *
 * We write out each animation in full (instead of separating animation-name,
 * animation-duration, etc.) because under the polyfill, Safari does not recognize those
 * specific properties properly, treats them as -webkit-animation, and overrides the
 * other animation rules. See https://github.com/Polymer/platform/issues/53.
 */
.active .spinner-layer.spinner-blue {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer.spinner-red {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer.spinner-yellow {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer.spinner-green {
  /* durations: 4 * ARCTIME */
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .spinner-layer,
.active .spinner-layer.spinner-blue-only,
.active .spinner-layer.spinner-red-only,
.active .spinner-layer.spinner-yellow-only,
.active .spinner-layer.spinner-green-only {
  /* durations: 4 * ARCTIME */
  opacity: 1;
  -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

@-webkit-keyframes fill-unfill-rotate {
  12.5% {
    -webkit-transform: rotate(135deg);
  } /* 0.5 * ARCSIZE */
  25% {
    -webkit-transform: rotate(270deg);
  } /* 1   * ARCSIZE */
  37.5% {
    -webkit-transform: rotate(405deg);
  } /* 1.5 * ARCSIZE */
  50% {
    -webkit-transform: rotate(540deg);
  } /* 2   * ARCSIZE */
  62.5% {
    -webkit-transform: rotate(675deg);
  } /* 2.5 * ARCSIZE */
  75% {
    -webkit-transform: rotate(810deg);
  } /* 3   * ARCSIZE */
  87.5% {
    -webkit-transform: rotate(945deg);
  } /* 3.5 * ARCSIZE */
  to {
    -webkit-transform: rotate(1080deg);
  } /* 4   * ARCSIZE */
}
@keyframes fill-unfill-rotate {
  12.5% {
    transform: rotate(135deg);
  } /* 0.5 * ARCSIZE */
  25% {
    transform: rotate(270deg);
  } /* 1   * ARCSIZE */
  37.5% {
    transform: rotate(405deg);
  } /* 1.5 * ARCSIZE */
  50% {
    transform: rotate(540deg);
  } /* 2   * ARCSIZE */
  62.5% {
    transform: rotate(675deg);
  } /* 2.5 * ARCSIZE */
  75% {
    transform: rotate(810deg);
  } /* 3   * ARCSIZE */
  87.5% {
    transform: rotate(945deg);
  } /* 3.5 * ARCSIZE */
  to {
    transform: rotate(1080deg);
  } /* 4   * ARCSIZE */
}
@-webkit-keyframes blue-fade-in-out {
  from {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  26% {
    opacity: 0;
  }
  89% {
    opacity: 0;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes blue-fade-in-out {
  from {
    opacity: 1;
  }
  25% {
    opacity: 1;
  }
  26% {
    opacity: 0;
  }
  89% {
    opacity: 0;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes red-fade-in-out {
  from {
    opacity: 0;
  }
  15% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  51% {
    opacity: 0;
  }
}
@keyframes red-fade-in-out {
  from {
    opacity: 0;
  }
  15% {
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  50% {
    opacity: 1;
  }
  51% {
    opacity: 0;
  }
}
@-webkit-keyframes yellow-fade-in-out {
  from {
    opacity: 0;
  }
  40% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  76% {
    opacity: 0;
  }
}
@keyframes yellow-fade-in-out {
  from {
    opacity: 0;
  }
  40% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  75% {
    opacity: 1;
  }
  76% {
    opacity: 0;
  }
}
@-webkit-keyframes green-fade-in-out {
  from {
    opacity: 0;
  }
  65% {
    opacity: 0;
  }
  75% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes green-fade-in-out {
  from {
    opacity: 0;
  }
  65% {
    opacity: 0;
  }
  75% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/**
 * Patch the gap that appear between the two adjacent div.circle-clipper while the
 * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).
 */
.gap-patch {
  position: absolute;
  top: 0;
  left: 45%;
  width: 10%;
  height: 100%;
  overflow: hidden;
  border-color: inherit;
}

.gap-patch .circle {
  width: 1000%;
  left: -450%;
}

.circle-clipper {
  display: inline-block;
  position: relative;
  width: 50%;
  height: 100%;
  overflow: hidden;
  border-color: inherit;
}
.circle-clipper .circle {
  width: 200%;
  height: 100%;
  border-width: 3px; /* STROKEWIDTH */
  border-style: solid;
  border-color: inherit;
  border-bottom-color: transparent !important;
  border-radius: 50%;
  -webkit-animation: none;
  animation: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
}
.circle-clipper.left .circle {
  left: 0;
  border-right-color: transparent !important;
  -webkit-transform: rotate(129deg);
  transform: rotate(129deg);
}
.circle-clipper.right .circle {
  left: -100%;
  border-left-color: transparent !important;
  -webkit-transform: rotate(-129deg);
  transform: rotate(-129deg);
}

.active .circle-clipper.left .circle {
  /* duration: ARCTIME */
  -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.active .circle-clipper.right .circle {
  /* duration: ARCTIME */
  -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
  animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

@-webkit-keyframes left-spin {
  from {
    -webkit-transform: rotate(130deg);
  }
  50% {
    -webkit-transform: rotate(-5deg);
  }
  to {
    -webkit-transform: rotate(130deg);
  }
}
@keyframes left-spin {
  from {
    transform: rotate(130deg);
  }
  50% {
    transform: rotate(-5deg);
  }
  to {
    transform: rotate(130deg);
  }
}
@-webkit-keyframes right-spin {
  from {
    -webkit-transform: rotate(-130deg);
  }
  50% {
    -webkit-transform: rotate(5deg);
  }
  to {
    -webkit-transform: rotate(-130deg);
  }
}
@keyframes right-spin {
  from {
    transform: rotate(-130deg);
  }
  50% {
    transform: rotate(5deg);
  }
  to {
    transform: rotate(-130deg);
  }
}
#spinnerContainer.cooldown {
  /* duration: SHRINK_TIME */
  -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);
  animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

@-webkit-keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fade-out {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.slider {
  position: relative;
  height: 400px;
  width: 100%;
}
.slider.fullscreen {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.slider.fullscreen ul.slides {
  padding-left: 0;
  list-style-type: none;
  height: 100%;
}
.slider.fullscreen ul.indicators {
  padding-left: 0;
  list-style-type: none;
  z-index: 2;
  bottom: 30px;
}
.slider.fullscreen ul.indicators .indicator-item {
  background-color: var(--carousel-indicator-color);
}
.slider.fullscreen ul.indicators .indicator-item.active {
  background-color: var(--carousel-indicator-active-color);
}
.slider .slides {
  background-color: var(--surface-color);
  margin: 0;
  height: 400px;
  padding-left: 0;
  list-style-type: none;
}
.slider .slides li {
  padding-left: 0;
  list-style-type: none;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: inherit;
  overflow: hidden;
}
.slider .slides li img {
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
}
.slider .slides li .caption {
  color: #fff;
  position: absolute;
  top: 15%;
  left: 15%;
  width: 70%;
  opacity: 0;
}
.slider .slides li .caption p {
  color: rgba(255, 255, 255, 0.75);
}
.slider .slides li.active {
  z-index: 2;
}
.slider .indicators {
  padding-left: 0;
  list-style-type: none;
  position: absolute;
  text-align: center;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
}
.slider .indicators .indicator-item {
  display: inline-block;
  position: relative;
  height: 16px;
  width: 16px;
  margin: 0 12px;
}
.slider .indicators .indicator-item-btn {
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
  background-color: var(--slider-track-color);
  transition: background-color 0.3s;
  border-radius: 50%;
  border-width: 0;
  width: 100%;
  height: 100%;
}
.slider .indicators .indicator-item-btn.active {
  background-color: var(--primary-color);
}

.carousel {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 400px;
  perspective: 500px;
  transform-style: preserve-3d;
  transform-origin: 0% 50%;
}
.carousel.carousel-slider {
  top: 0;
  left: 0;
}
.carousel.carousel-slider .carousel-fixed-item {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 20px;
  z-index: 1;
}
.carousel.carousel-slider .carousel-fixed-item.with-indicators {
  bottom: 68px;
}
.carousel.carousel-slider .carousel-item {
  width: 100%;
  height: 100%;
  min-height: 400px;
  position: absolute;
  top: 0;
  left: 0;
}
.carousel.carousel-slider .carousel-item h2 {
  font-size: 24px;
  font-weight: 500;
  line-height: 32px;
}
.carousel.carousel-slider .carousel-item p {
  font-size: 15px;
}
.carousel .carousel-item {
  visibility: hidden;
  width: 200px;
  height: 200px;
  position: absolute;
  top: 0;
  left: 0;
}
.carousel .carousel-item > img {
  width: 100%;
}
.carousel .indicators {
  padding-left: 0;
  list-style-type: none;
  position: absolute;
  text-align: center;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
}
.carousel .indicators .indicator-item {
  display: inline-block;
  position: relative;
  cursor: pointer;
  height: 8px;
  width: 8px;
  margin: 24px 4px;
  background-color: var(--carousel-indicator-color);
  transition: background-color 0.3s;
  border-radius: 50%;
}
.carousel .indicators .indicator-item.active {
  background-color: var(--carousel-indicator-active-color);
}
.carousel.scrolling .carousel-item .materialboxed,
.carousel .carousel-item:not(.active) .materialboxed {
  pointer-events: none;
}

.tap-target-wrapper {
  width: 800px;
  height: 800px;
  position: fixed;
  z-index: 1000;
  visibility: hidden;
  transition: visibility 0s 0.3s;
}

.tap-target-wrapper.open {
  visibility: visible;
  transition: visibility 0s;
}
.tap-target-wrapper.open .tap-target {
  transform: scale(1);
  opacity: 0.95;
  transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}
.tap-target-wrapper.open .tap-target-wave::before {
  transform: scale(1);
}
.tap-target-wrapper.open .tap-target-wave::after {
  visibility: visible;
  animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
  transition: opacity 0.3s, transform 0.3s, visibility 0s 1s;
}

.tap-target {
  position: absolute;
  font-size: 1rem;
  border-radius: 50%;
  background-color: var(--secondary-color);
  color: var(--font-on-secondary-color-main);
  box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 10px 50px 0 rgba(0, 0, 0, 0.12), 0 30px 10px -20px rgba(0, 0, 0, 0.2);
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(0);
  transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}

.tap-target-content {
  position: relative;
  display: table-cell;
}

.tap-target-wave {
  position: absolute;
  border-radius: 50%;
  z-index: 10001;
}
.tap-target-wave::before, .tap-target-wave::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: var(--surface-color);
}
.tap-target-wave::before {
  transform: scale(0);
  transition: transform 0.3s;
}
.tap-target-wave::after {
  visibility: hidden;
  transition: opacity 0.3s, transform 0.3s, visibility 0s;
  z-index: -1;
}

.tap-target-origin {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10002;
  position: absolute !important;
}
.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small), .tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover {
  background: none;
}

@media only screen and (max-width: 600px) {
  .tap-target, .tap-target-wrapper {
    width: 600px;
    height: 600px;
  }
}
.pulse {
  overflow: visible;
  position: relative;
}
.pulse::before {
  content: "";
  display: block;
  position: absolute;
  pointer-events: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: inherit;
  border-radius: inherit;
  transition: opacity 0.3s, transform 0.3s;
  animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
  z-index: -1;
}

@keyframes pulse-animation {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0;
    transform: scale(1.5);
  }
  100% {
    opacity: 0;
    transform: scale(1.5);
  }
}
/* Modal */
.datepicker-modal {
  max-width: 325px;
  min-width: 300px;
  max-height: none;
}

.datepicker-container.modal-content {
  display: flex;
  flex-direction: column;
  padding: 0;
  background-color: var(--surface-color);
}

.datepicker-controls {
  display: flex;
  justify-content: space-between;
  width: 280px;
  margin: 0 auto;
}
.datepicker-controls .selects-container {
  display: flex;
}
.datepicker-controls .select-wrapper input {
  border-bottom: none;
  text-align: center;
  margin: 0;
}
.datepicker-controls .select-wrapper input:focus {
  border-bottom: none;
}
.datepicker-controls .select-wrapper .caret {
  display: none;
}
.datepicker-controls .select-year input {
  width: 50px;
}
.datepicker-controls .select-month input {
  width: 80px;
}
.datepicker-controls .month-prev,
.datepicker-controls .month-next {
  display: inline-flex;
  align-items: center;
}
.datepicker-controls .month-prev > svg,
.datepicker-controls .month-next > svg {
  fill: var(--font-color-medium);
}

.month-prev, .month-next {
  margin-top: 4px;
  cursor: pointer;
  background-color: transparent;
  border: none;
}

/* Date Display */
.datepicker-date-display {
  flex: 1 auto;
  background-color: var(--primary-color);
  color: var(--font-on-primary-color-main);
  padding: 20px 22px;
  font-weight: 500;
}
.datepicker-date-display .year-text {
  display: block;
  font-size: 1.5rem;
  line-height: 25px;
  color: var(--font-on-primary-color-main);
}
.datepicker-date-display .date-text {
  display: block;
  font-size: 2.8rem;
  line-height: 47px;
  font-weight: 500;
}

/* Calendar */
.datepicker-calendar-container {
  flex: 2.5 auto;
}

.datepicker-table {
  width: 280px;
  font-size: 1rem;
  margin: 0 auto;
}
.datepicker-table thead {
  border-bottom: none;
}
.datepicker-table th {
  padding: 10px 5px;
  text-align: center;
}
.datepicker-table tr {
  border: none;
}
.datepicker-table abbr {
  text-decoration: none;
  color: var(--font-color-medium);
}
.datepicker-table td {
  color: var(--font-color-main);
  border-radius: 50%;
  padding: 0;
}
.datepicker-table td.is-today {
  color: var(--primary-color);
}
.datepicker-table td.is-selected {
  background-color: var(--primary-color);
  color: var(--font-on-primary-color-main);
}
.datepicker-table td.is-outside-current-month, .datepicker-table td.is-disabled {
  color: var(--font-color-disabled);
  pointer-events: none;
}

.datepicker-day-button {
  background-color: transparent;
  border: none;
  line-height: 38px;
  display: block;
  width: 100%;
  border-radius: 50%;
  padding: 0 5px;
  cursor: pointer;
  color: inherit;
}
.datepicker-day-button:hover {
  background-color: var(--primary-color-hover-opaque);
}
.datepicker-day-button:focus {
  background-color: var(--primary-color-focus-opaque);
}

/* Footer */
.datepicker-footer {
  width: 280px;
  margin: 0 auto;
  padding-bottom: 5px;
  display: flex;
  justify-content: space-between;
}

.datepicker-cancel,
.datepicker-clear,
.datepicker-today,
.datepicker-done {
  color: var(--primary-color);
  padding: 0 1rem;
}

.datepicker-clear {
  color: var(--error-color);
}

/* Media Queries */
@media only screen and (min-width : 601px) {
  .datepicker-modal {
    max-width: 625px;
  }
  .datepicker-container.modal-content {
    flex-direction: row;
  }
  .datepicker-date-display {
    flex: 0 1 270px;
  }
  .datepicker-controls,
  .datepicker-table,
  .datepicker-footer {
    width: 320px;
  }
  .datepicker-day-button {
    line-height: 44px;
  }
}
/* Timepicker Containers */
.timepicker-modal {
  max-width: 325px;
  max-height: none;
}

.timepicker-container.modal-content {
  display: flex;
  flex-direction: column;
  padding: 0;
}

.text-primary {
  color: var(--font-on-primary-color-main);
}

/* Clock Digital Display */
.timepicker-digital-display {
  width: 200px;
  flex: 1 auto;
  background-color: var(--primary-color);
  padding: 10px;
  font-weight: 300;
}

.timepicker-text-container {
  font-size: 4rem;
  font-weight: bold;
  text-align: center;
  color: var(--font-on-primary-color-medium);
  font-weight: 400;
  position: relative;
  user-select: none;
}
.timepicker-text-container input[type=text] {
  height: 4rem;
  color: rgba(255, 255, 255, 0.6);
  border-bottom: 0px;
  font-size: 4rem;
  direction: ltr;
}

.timepicker-input-hours,
.timepicker-input-minutes,
.timepicker-span-am-pm div {
  cursor: pointer;
}

input[type=text].timepicker-input-hours {
  text-align: right;
  width: 28%;
  margin-right: 3px;
}

input[type=text].timepicker-input-minutes {
  width: 33%;
  margin-left: 3px;
}

input[type=text].text-primary {
  color: rgb(255, 255, 255);
}

.timepicker-display-am-pm {
  font-size: 1.3rem;
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  font-weight: 400;
}

/* Analog Clock Display */
.timepicker-analog-display {
  flex: 2.5 auto;
  background-color: var(--surface-color);
}

.timepicker-plate {
  background-color: var(--background-color-level-4dp);
  border-radius: 50%;
  width: 270px;
  height: 270px;
  overflow: visible;
  position: relative;
  margin: auto;
  margin-top: 25px;
  margin-bottom: 5px;
  user-select: none;
}

.timepicker-canvas,
.timepicker-dial {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.timepicker-minutes {
  visibility: hidden;
}

.timepicker-tick {
  border-radius: 50%;
  color: var(--font-color-main);
  line-height: 40px;
  text-align: center;
  width: 40px;
  height: 40px;
  position: absolute;
  cursor: pointer;
  font-size: 15px;
}

.timepicker-tick.active,
.timepicker-tick:hover {
  background-color: var(--primary-color-hover-opaque);
}

.timepicker-dial {
  transition: transform 350ms, opacity 350ms;
}

.timepicker-dial-out {
  opacity: 0;
}
.timepicker-dial-out.timepicker-hours {
  transform: scale(1.1, 1.1);
}
.timepicker-dial-out.timepicker-minutes {
  transform: scale(0.8, 0.8);
}

.timepicker-canvas {
  transition: opacity 175ms;
}
.timepicker-canvas line {
  stroke: var(--primary-color);
  stroke-width: 4;
  stroke-linecap: round;
}

.timepicker-canvas-out {
  opacity: 0.25;
}

.timepicker-canvas-bearing {
  stroke: none;
  fill: var(--primary-color);
}

.timepicker-canvas-bg {
  stroke: none;
  fill: var(--primary-color);
}

/* Footer */
.timepicker-footer {
  margin: 0 auto;
  padding: 5px 1rem;
  display: flex;
  justify-content: space-between;
}

.timepicker-clear {
  color: var(--error-color);
}

.timepicker-close {
  color: var(--primary-color);
}

.timepicker-clear,
.timepicker-close {
  padding: 0 20px;
}

/* Media Queries */
@media only screen and (min-width : 601px) {
  .timepicker-modal {
    max-width: 600px;
  }
  .timepicker-container.modal-content {
    flex-direction: row;
  }
  .timepicker-text-container {
    top: 32%;
  }
  .timepicker-display-am-pm {
    position: relative;
    right: auto;
    bottom: auto;
    text-align: center;
    margin-top: 1.2rem;
  }
}
.visita-resumen {
  --card-color: var(--primary-color);
}
.visita-resumen .card-image {
  background-color: var(--card-color);
  padding: 1rem;
}
.visita-resumen .card-image i {
  font-size: 3rem;
  color: var(--font-on-primary-color-main);
  opacity: 0.9;
}
.visita-resumen .indicadores {
  margin: 1rem 0;
  cursor: help;
}
.visita-resumen .indicadores .indicador:not(:last-child) {
  margin-right: 1rem;
}
.visita-resumen .folio {
  font-size: 2rem;
  color: var(--font-color-main);
}
.visita-resumen .tipo, .visita-resumen .proveedor {
  margin-top: 0.5rem !important;
  font-size: 1.1rem;
}
.visita-resumen .tipo strong, .visita-resumen .proveedor strong {
  color: var(--font-on-primary-color-medium);
}
.card.itinerario {
  padding: 5px 1rem;
}
.card.itinerario .fecha, .card.itinerario .hora {
  margin-top: 5px;
  margin-bottom: 0 !important;
}

.complemento.estado p {
  font-size: 1rem;
  font-weight: bold;
  text-transform: uppercase;
}

.visitante-resumen, .empleado-resumen {
  --status-color: var(--primary-color);
  position: relative;
  overflow: visible;
  padding-top: 72px;
  margin-top: 45px;
}
.visitante-resumen .pp, .empleado-resumen .pp {
  position: absolute;
  top: -45px;
  left: 50%;
  max-width: 128px;
  transform: translateX(-50%);
  border: 3px solid var(--status-color);
  border-radius: 80px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
.visitante-resumen .indicadores, .empleado-resumen .indicadores {
  margin: 1rem 0;
  cursor: help;
}
.visitante-resumen .indicadores .indicador:not(:last-child), .empleado-resumen .indicadores .indicador:not(:last-child) {
  margin-right: 1rem;
}
.visitante-resumen .procedencia, .visitante-resumen .estado, .visitante-resumen .situacion, .empleado-resumen .procedencia, .empleado-resumen .estado, .empleado-resumen .situacion {
  margin-top: 5px !important;
}
.visitante-resumen .nombre, .empleado-resumen .nombre {
  margin-bottom: 1rem;
  font-weight: bold;
  white-space: nowrap;
}

.unidad-resumen .card-image {
  background-color: var(--primary-color);
  padding: 1rem;
}
.unidad-resumen .card-image i {
  font-size: 3rem;
  color: var(--font-on-primary-color-main);
  opacity: 0.9;
}
.unidad-resumen .indicadores {
  margin-top: 1rem;
  cursor: help;
}
.unidad-resumen .indicadores .indicador:not(:last-child) {
  margin-right: 1rem;
}
.unidad-resumen .modelo, .unidad-resumen .tipo {
  margin-top: 0.5rem !important;
  font-size: 1.1rem;
}
.unidad-resumen .modelo strong, .unidad-resumen .tipo strong {
  color: var(--font-on-primary-color-medium);
}
.unidad-resumen .label {
  font-weight: bold;
  color: var(--font-color-main);
}

.timeline {
  --child-min-cross-axis-height: 8rem;
  --background-color: var(--surface-color);
  display: flex;
  position: relative;
}
.timeline::before {
  content: "";
  position: absolute;
}
.timeline.horizontal {
  flex-direction: row;
}
.timeline.horizontal::before {
  height: 2px;
  width: 100%;
  background-color: var(--primary-color);
  top: 50%;
  transform: translateY(-50%);
}
.timeline.horizontal.alternate .timeslot:nth-child(even) {
  flex-direction: column-reverse;
}
.timeline.horizontal.alternate .timeslot:nth-child(even) .data {
  align-items: center;
}
.timeline.horizontal.alternate .timeslot:nth-child(even) .data::before {
  width: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 15px solid var(--primary-color);
  content: " ";
}
.timeline.horizontal.alternate .timeslot:nth-child(even) .complemento {
  justify-content: flex-end;
}
.timeline.horizontal.alternate .timeslot:nth-child(odd) {
  flex-direction: column;
}
.timeline.horizontal.alternate .timeslot:nth-child(odd) .data {
  align-items: center;
}
.timeline.horizontal.alternate .timeslot:nth-child(odd) .data::after {
  width: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 15px solid var(--primary-color);
  content: " ";
}
.timeline.horizontal .timeslot .data, .timeline.horizontal .timeslot .complemento {
  flex-direction: column;
  min-height: var(--child-min-cross-axis-height);
}
.timeline.horizontal .timeslot .block {
  height: 2rem;
}
.timeline.vertical {
  flex-direction: column;
}
.timeline.vertical.alternate .timeslot:nth-child(odd) {
  flex-direction: row-reverse;
}
.timeline.vertical.alternate .timeslot:nth-child(even) {
  flex-direction: row;
}
.timeline.vertical .timeslot {
  width: var(--child-cross-axis-height);
}
.timeline.between {
  justify-content: space-between;
}
.timeline.center {
  justify-content: center;
}
.timeline.even {
  justify-content: space-evenly;
}
.timeline.start {
  justify-content: flex-start;
}
.timeline.end {
  justify-content: flex-end;
}
.timeline.around {
  justify-content: space-around;
}
.timeline .timeslot {
  display: flex;
  position: relative;
  justify-content: center;
}
.timeline .timeslot .data, .timeline .timeslot .complemento {
  display: flex;
}
.timeline .timeslot::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  border: 2px solid var(--primary-color);
  border-radius: 20px;
  background-color: #eee;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.timeline .timeslot.active::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border: 2px solid var(--primary-color);
  border-radius: 20px;
  background-color: var(--primary-color);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.timeline .timeslot.active .itinerario {
  background-color: var(--primary-color);
  color: #eee;
}
.timeline .timeslot.closed::before {
  background-color: var(--primary-color);
}

.cumpleanos-item {
  position: relative;
  margin: 5px 1rem;
  text-align: center;
  padding: 32px 5px 32px 5px;
  color: var(--font-color-main);
  transition: all 0.15s;
}
.cumpleanos-item .data {
  position: absolute;
  padding: 15px;
  height: 60px;
  font-size: 0.7rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 10px);
}
.cumpleanos-item .data::after {
  content: attr(data-edad);
  position: absolute;
  top: 0;
  right: 0;
  transform: rotate(25deg);
  font-size: 1rem;
}
.cumpleanos-item .data > * {
  margin-top: 5px;
}
.cumpleanos-item .gorrito {
  position: absolute;
  top: 32px;
  left: 65%;
  transform: translate(-50%, -50%);
}
.cumpleanos-item:hover {
  background-color: var(--bg-color-hover);
  transform: scale(1.05);
}
.cumpleanos-item.hbd {
  border: 1px dashed var(--primary-color);
  border-radius: 5px;
}

.login-logo {
  max-width: 300px;
}

@font-face {
  font-family: "MaterialSymbolsSharp";
  font-style: normal;
  src: url(/build/fonts/MaterialSymbolsSharp.14034e54.woff) format("woff");
}
@font-face {
  font-family: "MaterialSymbolsFilled";
  src: url(/build/fonts/MaterialSymbolsSharp.14034e54.woff) format("woff");
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
}
.primary {
  background-color: var(--primary-color);
}

.text-primary {
  color: var(--primary-color);
}

.text-on-primary {
  color: var(--font-on-primary-color-main);
}

button.primary {
  background-color: var(--primary-color);
  color: white;
}
button.primary:hover {
  background-color: var(--primary-color-dark);
}

.material-icons {
  font-family: "MaterialSymbolsSharp" !important;
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
}

.row {
  gap: 1rem;
}
.row:not(:first-child) {
  margin-top: 1rem;
}

.module {
  padding: 1rem;
}

.card.horizontal.reverse {
  flex-direction: row-reverse;
}

body {
  background-color: #eee;
}

.surface, .switch label input[type=checkbox]:checked + .lever:after {
  --md-elevation-level: 3;
}

input:required + label::before,
input:required + span::before,
textarea:required + label::before,
.input-field.required label::before {
  content: "* ";
  color: #ff4400;
}

.input-field.outlined input:focus:not([readonly]) + label, .input-field.outlined input:not([placeholder=" "]) + label, .input-field.outlined input:not(:placeholder-shown) + label, .input-field.outlined textarea:focus:not([readonly]) + label, .input-field.outlined textarea:not([placeholder=" "]) + label, .input-field.outlined textarea:not(:placeholder-shown) + label {
  white-space: nowrap;
  overflow-x: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

input:disabled + label,
textarea:disabled + label,
select:disabled + label {
  background-color: #f4f4f7 !important;
}

.card-action {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: end;
}
.card-action button {
  margin-left: 5px;
}

a.skip {
  display: inline-flex !important;
}

.fullH {
  height: 100svh;
}
.fullH .row {
  width: 100%;
}

.loader {
  margin: 5px;
  width: 30px;
  aspect-ratio: 1;
  --c: linear-gradient(var(--primary-color) 0 0);
  --m: radial-gradient(farthest-side, var(--primary-color) 92%, #0000);
  background: var(--c), var(--m), var(--c), var(--m), var(--c), var(--m);
  background-size: 8px 12px, 8px 8px;
  background-repeat: no-repeat;
  animation: l13 1s infinite alternate;
}

@keyframes l13 {
  0%, 100% {
    background-position: 0 0, 0 100%, 50% 0, 50% 100%, 100% 0, 100% 100%;
  }
  20% {
    background-position: 0 calc(50% - 6px), 0 calc(50% + 4px), 50% 0, 50% 100%, 100% 0, 100% 100%;
  }
  40% {
    background-position: 0 calc(50% - 6px), 0 calc(50% + 4px), 50% calc(50% - 6px), 50% calc(50% + 4px), 100% 0, 100% 100%;
  }
  60% {
    background-position: 0 0, 0 100%, 50% calc(50% - 6px), 50% calc(50% + 4px), 100% calc(50% - 6px), 100% calc(50% + 4px);
  }
  80% {
    background-position: 0 0, 0 100%, 50% 0, 50% 100%, 100% calc(50% - 6px), 100% calc(50% + 4px);
  }
}
.loader-circle {
  width: 25px !important;
  height: 25px !important;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  background: linear-gradient(0deg, rgba(255, 61, 0, 0.2) 33%, #ff3d00 100%);
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}

.loader-circle::after {
  content: "";
  box-sizing: border-box;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: #009688;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.btn.tight, .tight.btn-large, .tight.btn-small {
  padding: 0 10px;
}

.btn-small.tight {
  height: 20px;
  line-height: 20px;
}
.btn-small.tight .material-icons {
  font-size: 16px;
}

.btn-med.tight {
  height: 24px;
  line-height: 24px;
}
.btn-med.tight .material-icons {
  font-size: 22px;
}

.preload * {
  transition: none !important;
}

.card-content {
  overflow-x: auto;
}

.userMiniCard,
.empleadoMiniCard {
  display: flex;
  flex-direction: row;
  align-items: center;
  height: 100%;
  padding: 1rem;
}
.userMiniCard img,
.empleadoMiniCard img {
  max-width: 30%;
}
.userMiniCard .data,
.empleadoMiniCard .data {
  padding-left: 1rem;
  height: 100%;
  flex-grow: 1;
  max-width: 70%;
}
.userMiniCard .data p,
.empleadoMiniCard .data p {
  text-overflow: ellipsis;
  overflow: hidden;
}
.userMiniCard .username,
.empleadoMiniCard .username {
  font-weight: bold;
}
.userMiniCard .last-ip,
.userMiniCard .last-access,
.empleadoMiniCard .last-ip,
.empleadoMiniCard .last-access {
  text-align: end;
  font-size: small;
}

.btn.text.active, .text.active.btn-large, .text.active.btn-small {
  background-color: var(--md-sys-color-primary);
  color: #eee;
}

table td {
  padding: 8px 5px;
}
table th:not(:first-child),
table td:not(:first-child) {
  border-left: solid var(--separator-color) 1px;
}

img.max-h {
  --max-height: 512px;
  max-height: var(--max-height);
}

table.thin td,
table.thin th {
  padding: 5px 5px !important;
}

table.soft th {
  color: #333;
}

table.hdata th {
  background-color: #efefef;
}
table.hdata th::after {
  content: ":";
}

.helper-text {
  font-size: smaller;
  color: var(--md-ref-palette-neutral60);
}

.input-field.outlined input:disabled,
.input-field.outlined input[readonly=readonly],
.input-field.outlined textarea:disabled,
.input-field.outlined textarea[readonly=readonly] {
  color: rgba(var(--md_sys_color_on-surface), 0.7);
  border-color: rgba(var(--md_sys_color_on-surface), 0.3);
  background-color: rgba(0, 0, 0, 0.03);
}

.flex {
  display: flex;
}
.flex.flex-row {
  flex-direction: row;
}
.flex.flex-col {
  flex-direction: column;
}
.flex.justify-center {
  justify-content: center;
}
.flex.justify-space-between {
  justify-content: space-between;
}
.flex.justify-space-around {
  justify-content: space-around;
}
.flex.justify-end {
  justify-content: flex-end;
}
.flex.items-center {
  align-items: center;
}
.flex.wrap {
  flex-wrap: wrap;
}

.flex.force {
  display: flex !important;
}

.horizontal-rem-1 {
  width: 1rem;
}

.grow-1 {
  flex-grow: 1;
}

.user-img {
  height: 100%;
}

strong {
  font-weight: 700 !important;
}

.m-h-1-rem {
  margin-left: 1rem;
  margin-right: 1rem;
}

.m-h-5-px {
  margin-left: 5px;
  margin-right: 5px;
}

.m-v-1-rem {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.m-b-1-rem {
  margin-bottom: 1rem;
}

.h-100-p {
  height: 100%;
}

.w-100-p {
  width: 100%;
}

.profileTrigger {
  color: var(--font-on-primary-color-main) !important;
}

.font-size-xs {
  font-size: 0.6rem;
}

.font-size-s {
  font-size: 0.8rem;
}

.font-size-l {
  font-size: 1.2rem;
}

.font-size-xl {
  font-size: 1.4rem;
}

#profile {
  color: #333;
  padding: 1rem;
}
#profile * {
  line-height: normal;
}
#profile .logout-button {
  width: 100%;
}

.margin-left-10 {
  margin-left: 2rem !important;
}

.margin-bottom-0 {
  margin-bottom: 0 !important;
}

.margin-left-5-px {
  margin-left: 5px !important;
}

.no-margin {
  margin: 0 !important;
}

.btn.center, .center.btn-large, .center.btn-small {
  justify-content: center;
}

.btn.all-width, .all-width.btn-large, .all-width.btn-small {
  width: 100%;
}

.suffix.delete {
  cursor: pointer;
}

.card-title-image {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 0.5rem;
  background-color: var(--md-sys-color-primary);
  opacity: 0.9;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  color: white;
}

.card-action {
  padding: 5px;
}
.card-action a:not(.padding) {
  padding: 0 !important;
}
.card-action a.padding {
  display: inline-flex !important;
}

.padding-1rem {
  padding: 1rem !important;
}

.padding-1rem-05rem {
  padding: 1rem 0.5rem !important;
}

.fixed-action-btn {
  position: fixed;
  right: 25px;
  bottom: 40px;
  padding-top: 15px;
  margin-bottom: 0;
  z-index: 997;
}

.btn.elevated, .elevated.btn-large, .elevated.btn-small {
  background-color: var(--md-sys-color-primary);
  color: white;
}

.btn.elevated.white, .elevated.white.btn-large, .elevated.white.btn-small {
  color: var(--md-sys-color-primary);
}

.card-title-label {
  position: absolute;
  top: 0;
  transform: translateY(-50%);
  background-color: var(--background-color-card);
  padding: 2px 1rem;
  border-radius: 5px;
}
.card-title-label:not(.right) {
  right: auto;
  left: 1.5rem;
}
.card-title-label.right {
  left: auto;
  right: 1.5rem;
}
.card-title-label.wide {
  padding: 10px 10px;
}
.card-title-label.angle {
  transform: rotateZ(45deg);
}

.card:has(.card-title-label) {
  overflow: visible !important;
  margin-top: 5px;
}

.p-v-5 {
  padding: 5px 0;
}

.breadcrumb::before {
  font-family: "MaterialSymbolsSharp";
  color: #aaa;
}
@media screen and (max-width: 600px) {
  .breadcrumb {
    font-size: small;
  }
}

.overflow-auto {
  overflow: auto;
}

.modal-content {
  overflow: hidden;
}
.modal-content .modal-title {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  font-size: 2rem;
  padding: 12px 24px;
  color: var(--md-sys-color-on-primary);
  background-color: var(--error-color);
  overflow: hidden;
  text-overflow: ellipsis;
}
.modal-content .modal-title.info {
  background-color: var(--md-sys-color-primary);
}
.modal-content:has(.modal-title) {
  padding-top: 3.2rem;
}

.modal {
  overflow: hidden;
}

.modal:has(.modal-title) {
  overflow: hidden;
}

.big {
  font-size: 1.5rem;
}

.full-element-loading-parent {
  position: relative;
}

.full-screen-loading,
.full-element-loading {
  z-index: 10000;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6666666667);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.full-screen-loading .message,
.full-element-loading .message {
  color: #aaa;
}

.full-element-loading {
  position: absolute;
}

.full-screen-loading {
  position: fixed;
}

.full-screen-badge-loading {
  position: fixed;
  z-index: 10000;
  bottom: 3rem;
  right: 0;
  background-color: var(--background-color-card);
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 30px 0 0 30px;
  min-width: 14rem;
  min-height: 5rem;
  padding: 0 1rem;
  transition: all 750ms ease-in-out;
}
.full-screen-badge-loading.hide {
  right: -14rem;
  display: flex !important;
  opacity: 0;
}
.full-screen-badge-loading .progress-container {
  --progress: 0deg display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
  background: conic-gradient(var(--md-sys-color-primary) var(--progress), var(--background-color-card) 0deg);
  padding: 8px;
  border-radius: 50%;
}
.full-screen-badge-loading .progress-container .quant {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: var(--sidebar-background-color);
  color: #eee;
  text-align: center;
  line-height: 48px;
}
.full-screen-badge-loading .progress-container .message {
  flex-grow: 1;
}

.empleado-pp {
  height: calc(100% - 51px);
}

.input-field .caret {
  pointer-events: none;
}
.input-field.little-margin {
  margin: 0 5px;
}

.input-field textarea.materialize-textarea {
  padding: 16px !important;
}

span.hl {
  background-color: #eeeeaa;
  color: #333;
}

.itinerario-collection {
  display: flex;
  flex-direction: row;
}
.itinerario-collection .itinerario-card:not(:only-child):not(:last-child)::after {
  content: "keyboard_double_arrow_right";
  font-family: "MaterialSymbolsSharp" !important;
  position: absolute;
  font-size: x-large;
  top: 50%;
  left: calc(100% + 5px);
  transform: translateY(-50%);
  color: #333;
}
.itinerario-collection .itinerario-card:not(:first-child) {
  margin-left: 1rem;
}
.itinerario-collection .itinerario-card:not(:last-child) {
  margin-right: 1rem;
}
.itinerario-collection .itinerario-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  border: solid var(--separator-color) 1px;
  border-radius: 10px;
  flex: 1;
}
.itinerario-collection .itinerario-card div {
  margin: 6px 0;
}

.title-type {
  color: #777;
  border-bottom: solid var(--separator-color) 1px;
  margin-top: 0.4rem;
  margin-bottom: 0.2rem;
}

.input-field input[type=color] {
  width: 100%;
  height: 100%;
  padding: 0;
}

.nowrap {
  white-space: nowrap;
}

.fixed-action-btn {
  bottom: 64px;
}

.btn.outlined, .outlined.btn-large, .outlined.btn-small {
  margin: 0 5px;
}

.btn.margin-h, .margin-h.btn-large, .margin-h.btn-small {
  margin: 0 5px !important;
}

a.inline {
  margin: 0 10px;
}

.etiquetasChips .chip {
  --bgColor: #000;
  background-color: var(--bgColor);
  color: white;
  height: 20px;
}
.etiquetasChips .chip .delete {
  cursor: pointer;
  color: white;
  border-radius: 20px;
  animation: all 0.3s ease-in-out;
}
.etiquetasChips .chip .delete:hover {
  color: var(--bgColor);
  background-color: white;
}

.card-action.upper {
  border-bottom: 1px solid var(--separator-color);
  position: relative;
  background-color: inherit;
}

.card-content.bottom {
  padding: 1rem 24px;
}

.small {
  font-size: 0.8rem;
}

.inline-icon {
  vertical-align: bottom;
  font-size: 18px !important;
}

.error-page {
  background-color: var(--primary-color);
}
.error-page .error-image {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
  display: block;
}
.error-page .error-code {
  font-size: 2rem;
  color: var(--error-color);
}

.input-field.visual-disabled input,
.input-field.visual-disabled textarea {
  pointer-events: none;
  color: rgba(var(--md_sys_color_on-surface), 0.38);
  border-color: rgba(var(--md_sys_color_on-surface), 0.12);
  background-color: rgba(var(--md_sys_color_on-surface), 0.04);
}

.enlace-field {
  padding: 15px;
  border: 1px solid var(--separator-color);
  background-color: #feffc7;
  text-align: center;
  margin: 1rem 0;
}

.pagination li a {
  padding: 0 10px !important;
}
.pagination li.active a {
  color: white !important;
}

.underlined {
  text-decoration: underline;
}

p.large {
  font-size: 1.5rem;
}

strong {
  font-weight: bold;
}

table.transparent th,
table.transparent td,
table.transparent tr {
  border-color: transparent;
}

table.hard th,
table.hard td {
  border: 1px solid #444;
}

td.money {
  position: relative;
  text-align: end !important;
  padding: 5px 15px 5px 30px;
  background-color: rgba(245, 245, 245, 0.5);
}
td.money::before {
  content: "$";
  position: absolute;
  left: 5px;
}

td.stretch {
  width: 1%;
  white-space: nowrap;
}

.margin-right-rem-1 {
  margin-right: 1rem;
}

.wiggle {
  animation: wiggle 0.7s ease-in-out;
  animation-iteration-count: 2;
}

@keyframes wiggle {
  0% {
    transform: rotate(0deg);
    background-color: white;
  }
  20% {
    transform: rotate(1deg);
  }
  50% {
    transform: rotate(-1deg);
  }
  80% {
    transform: rotate(1deg);
    background-color: var(--md-sys-color-primary);
    color: white;
  }
  100% {
    transform: rotate(0deg);
  }
}
.bounce-shadow {
  animation: bounceShadow 2s ease-in-out infinite;
}

@keyframes bounceShadow {
  0% {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
  }
  75% {
    box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.2);
  }
  100% {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
  }
}
tr.smoothIn {
  animation: trSmoothIn 0.3s ease-in-out;
}

tr.error {
  background-color: var(--md-sys-color-error);
  color: #eee;
}

.input-field.x-small input {
  height: 20px !important;
  padding: 0 5px !important;
  font-size: 14px;
  max-width: 6rem;
}

.input-field.small .select-wrapper input {
  height: 27px !important;
}

@keyframes trSmoothIn {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.transition-all {
  transition: all 0.3s ease-in-out;
}

.po-header {
  padding: 24px 24px 0 24px;
  position: absolute;
  width: 100%;
  background-color: #fafafa;
  z-index: 1;
}

.modal:has(.po-header) {
  height: 90% !important;
  width: 70%;
}
.modal:has(.po-header) .modal-content {
  padding-top: calc(216px + 1rem);
  z-index: 0;
}
.modal:has(.po-header) .modal-content p.large {
  margin: 10px 0;
}

table.stretch {
  width: 100%;
}
table.stretch td {
  padding: 2px 5px;
}

.dropdown-content li {
  display: flex;
  align-items: center;
}
.dropdown-content li button {
  width: 100%;
}

.overflow-hidden {
  overflow: hidden;
}

.empleado-resumen .card-image {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.empleado-resumen .card-image img {
  margin: 1rem;
  border-radius: 50% !important;
  border: solid 3px var(--primary-color);
  width: 150px;
}
.empleado-resumen .card-content {
  flex-grow: 1;
}

.empleado-resumen {
  --status-color: var(--primary-color);
  position: relative;
  overflow: visible;
  padding-top: 72px;
  margin-top: 45px;
}
.empleado-resumen .pp {
  position: absolute;
  top: -45px;
  left: 50%;
  max-width: 128px;
  transform: translateX(-50%);
  border: 3px solid var(--status-color);
  border-radius: 80px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}
.empleado-resumen .card-content div {
  margin-bottom: 0.5rem;
}
.empleado-resumen .card-content .direccion span {
  position: relative;
  padding-right: 1rem;
}
.empleado-resumen .card-content .direccion span:not(:last-child):after {
  content: "\e5cc";
  font-family: "MaterialSymbolsSharp";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #444;
}

.card-content.no-bottom-padding {
  padding-bottom: 0;
}

.card-content.no-top-padding {
  padding-top: 0;
}

.input-field textarea {
  padding: 1rem 16px !important;
}

.flex .card-title {
  margin-bottom: 0 !important;
}

.collection-item.thin {
  padding: 5px 10px;
}

.tabs-floating {
  transition: box-shadow 0.25s;
  border-radius: 12px;
  margin-bottom: 5px;
}

.tabs .indicator {
  height: 3px;
  border-radius: 3px 3px 0 0;
}

.badge-indicator {
  width: 23px;
  height: 23px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--md-sys-color-primary);
  color: white;
  line-height: 20px;
  text-align: center;
  font-size: 0.8rem;
  pointer-events: none;
}

img.cumpleanos {
  width: 120px;
}

input[type=checkbox].no-label + span:not(.lever) {
  height: 20px !important;
  padding-left: 20px !important;
}

.long-material-icons {
  font-size: 3rem;
  color: var(--md-sys-color-primary);
}

tr.inactive {
  background-color: #f5f5f5;
}
tr.inactive td:not(:first-child) {
  opacity: 0.6;
}

.head-count-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  padding: 1rem;
  margin: 1rem 1rem;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  min-width: 100px;
  background-color: var(--color);
  color: #ddd;
  text-shadow: #333 0px 0px 2px;
}
.head-count-card.resumen-card {
  text-shadow: none;
  border: none;
  color: white;
}
.head-count-card.resumen-card .card-title-label {
  color: #000;
}
.head-count-card .headcount {
  font-size: 2rem;
  color: #333;
  text-shadow: #ddd 0px 0px 2px;
}
.head-count-card .nombre {
  font-size: 0.7rem;
  font-weight: bold;
  text-align: center;
}
.head-count-card .info {
  position: absolute;
  right: 0;
  top: 0;
}
.head-count-card .info:hover {
  color: var(--primary-color);
}
.head-count-card:hover {
  transform: scale(1.1);
}
.head-count-card.auto-hover {
  transform-origin: center;
  animation: hc-hover 1s ease-in-out infinite;
}
.head-count-card span.center-text {
  text-align: center;
}

@keyframes hc-hover {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.hc-breadcrumb {
  color: #333;
}
.hc-breadcrumb .breadcrumb:last-child {
  color: var(--md-sys-color-primary);
}

.asistencia-ok {
  background-color: #d9f7be;
}

.asistencia-warning {
  background-color: #fff9c4;
}

.asistencia-error {
  background-color: #ffccbc;
}

.asistencia-special {
  background-color: rgba(187, 222, 251, 0.6666666667);
}

.asistencia-rose {
  background-color: #f8bbd0;
}

.asistencia-neutral {
  background-color: #f5f5f5;
}

button[disabled].tooltipped {
  pointer-events: initial !important;
}

.tabTitle {
  margin-bottom: 0 !important;
}

.low-priority {
  background-color: #f5f5f5;
}

.medium-priority {
  background-color: #fff9c4;
}

.high-priority {
  background-color: #ffccbc;
}

.ot-por-revisar {
  background-color: #f5f5f5;
}

.ot-por-autorizar {
  background-color: #fff9c4;
}

.ot-autorizadas {
  background-color: #d9f7be;
}

.ot-rechazadas {
  background-color: #ffccbc;
}

.ot-pagadas {
  background-color: #bbdefb;
}

.same-day {
  background-color: #d9f7be;
}

.title {
  font-size: 1rem;
  color: #444;
  font-weight: bold;
}

.modal .modal-warning {
  padding: 24px;
}
.modal:has(.modal-warning + .modal-content) .modal-content {
  padding-bottom: 200px !important;
}

.card .card-panel.placa-engomado {
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}
.card .card-panel.placa-engomado span {
  color: white;
  font-weight: 500;
  font-size: 1.25rem;
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.65);
}
.card .card-content .placa-encabezado h2 {
  margin: 1.3rem;
}
.card .contenido-reporte {
  min-height: 22vh;
}

.card.placa-contenido {
  transition: all 0.2s ease-in-out;
}
.card.placa-contenido:hover {
  transform: scale(1.04);
}

.observaciones-reporte {
  background: #F2F2F2;
  border-left: 0.3rem solid #2A4759;
  padding: 1rem 1rem;
  margin-bottom: 1rem;
  border-radius: 5px;
  margin-bottom: 0.3rem;
  cursor: pointer;
}

.contenerodr-observaciones {
  overflow: auto;
  max-height: 50vh;
  height: 90%;
}

.sin-reporte {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}

.trapecio-inverso {
  clip-path: polygon(0% 0%, 100% 0%, 90% 100%, 10% 100%);
}

.contenido-reporte {
  overflow: auto;
}
.contenido-reporte figure {
  display: flex;
  flex-direction: column;
  max-height: 13rem;
}
.contenido-reporte figcaption div {
  width: 100%;
}
.contenido-reporte .evidencia-container {
  min-width: 25rem;
}
.contenido-reporte .img-evidencia-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 14rem;
  background-color: #dddddd;
}
.contenido-reporte p {
  text-transform: uppercase;
  font-size: 0.9rem;
}
.contenido-reporte img {
  cursor: pointer;
  max-width: 80%;
}
.contenido-reporte .description-image {
  background-color: #274c6b;
  border-radius: 5px;
  padding: 0.5rem;
  color: white;
}

.status-flotilla.active::before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border-radius: 7.5px;
  background-color: rgb(15, 219, 97);
}

.status-flotilla.inactive::before {
  content: "";
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border-radius: 7.5px;
  background-color: rgb(219, 32, 15);
}

i.on {
  text-shadow: 0px 0px 15px rgba(51, 214, 62, 0.7);
}
i.on:hover {
  text-shadow: 0px 0px 20px rgba(213, 13, 13, 0.7);
}
i.off {
  text-shadow: 0px 0px 15px rgba(213, 13, 13, 0.7);
}
i.off:hover {
  text-shadow: 0px 0px 20px rgba(51, 214, 62, 0.7);
}

.small-card-container {
  flex-wrap: wrap;
  display: flex;
  justify-content: center;
  position: relative;
  transition: all 0.2s ease-in-out;
}
.small-card-container .data-container {
  border-radius: 8px 8px 0px 0px;
  background-color: white;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0px 0px 4px #878787;
}
.small-card-container .img-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.small-card-container .img-container img {
  border: solid #6e6eb0 2px;
  border-radius: 50%;
}
.small-card-container .image-label {
  background-color: #7f7fc4;
  border-radius: 8px;
  color: white;
  padding: 5px;
}
.small-card-container p {
  width: 100px;
  word-break: break-word;
}
.small-card-container:not(.responsable-modulo):hover {
  transform: scale(1.04);
  cursor: pointer;
}

.file-flotilla {
  transition: opacity 0.5s ease;
}
.file-flotilla .card-content {
  height: 13rem;
}
.file-flotilla .card-content div {
  height: 30%;
}

.container-resumen-cards {
  gap: 3rem;
  justify-content: space-around;
}

.add-btn-input {
  position: absolute;
  top: 20px;
  right: 10px;
}

table.centered th {
  text-align: center;
}

.big-number {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 2rem;
  border-radius: 8px;
  padding: 1rem;
}
.big-number .number {
  font-size: clamp(1.5rem, 3vw, 3rem);
  font-weight: bold;
}
.big-number .title {
  font-size: 1.2rem;
  font-weight: lighter;
  margin-top: 0.5rem;
  color: inherit !important;
}

.table-dashboard-fleet {
  text-transform: capitalize;
  text-align: center;
}

span.label-dashboard {
  font-size: 1.5rem;
  color: white;
}

.container-no-files {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 25vh;
}
.container-no-files p {
  font-weight: bold;
}

.space-forms .modal-content {
  display: flex;
  flex-direction: column;
  gap: 1.3rem;
}

#documentos-unidad .documentos-container {
  height: 55vh;
}
#documentos-unidad .card-content {
  max-height: 55vh;
}
#documentos-unidad .card-action {
  display: flex;
  flex-wrap: wrap;
}

#periodos .card-content {
  width: 100%;
}

.btn-floating.btn-large {
  opacity: 0.5;
  transition: opacity 0.3s ease-in-out;
}
.btn-floating.btn-large:hover {
  opacity: 1;
}

.reglamento-container {
  transition: all 0.2s ease-in-out;
}
.reglamento-container:hover {
  transform: scale(1.08);
}
.reglamento-container a {
  color: black;
}

.mapa-flotillas {
  height: 30vw;
}

.card-action {
  border-radius: 0 0 12px 12px !important;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTtFQUNJO0FBQ0o7QUFBSTtFQUNJO0FBRVI7QUFFUTtFQUNJO0VBQ0E7RUFDQTtBQUFaO0FBSUk7RUFDSTtBQUZSO0FBS0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFIUjtBQU9RO0VBQ0k7RUFDQTtFQUNBO0FBTFo7QUFTUTtFQUNJO0VBQ0E7RUFDQTtBQVBaO0FBV1E7RUFDSTtFQUNBO0VBQ0E7QUFUWjtBQWFRO0VBQ0k7RUFDQTtFQUNBO0FBWFosQzs7OztBQ3hDSTtFQUNJO0FBQVI7QUFFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFBUjtBQUNRO0VBQ0k7RUFDQTtBQUNaO0FBQ1E7RUFDSTtBQUNaO0FBQ1E7RUFDSTtFQUNBO0VBQ0E7QUFDWixDOzs7O0FDeEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDSjtBQUNJO0VBQ0k7QUFDUjtBQUVJO0VBQ0k7RUFDQTtFQUNBO0FBQVIsQzs7OztBQ3pCQSxnQkFBZ0I7QUFBaEI7RUFDSTtFQUNBO0VBQ0E7QUFFSjtBQURJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFHUjtBQUFRO0VBQ0k7QUFFWjtBQUdRO0VBQ0k7QUFEWjtBQU1RO0VBQ0k7QUFKWjtBQVFRO0VBQ0k7QUFOWjtBQVVJO0VBQ0k7QUFSUixDOzs7O0FDNUJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQVI7QUFDUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNaO0FBQVk7RUFDSTtBQUVoQjtBQUFZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVoQjtBQUFZO0VBQ0k7QUFFaEI7QUFBWTtFQUNJO0FBRWhCO0FBRUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQVI7QUFDUTtFQUNJO0FBQ1osQzs7OztBQ3pDQTtFQUNJO0FBQ0o7QUFBSTtFQUNJO0VBQ0E7QUFFUjtBQUNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNaO0FBQ1k7RUFDSTtFQUNBO0VBQ0E7QUFDaEI7QUFFWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQWhCO0FBS0k7RUFDSTtBQUhSO0FBS0k7RUFDSTtBQUhSO0FBS0k7RUFDSTtBQUhSO0FBT0k7RUFDSTtFQU1BO0FBVlI7QUFLUTtFQUNJO0VBQ0E7RUFDQTtBQUhaLEM7Ozs7QUNoREE7RUFDSTtFQUNBO0VBQ0E7QUFDSjtBQUVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQVI7QUFFUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFBWjtBQUdRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQURaO0FBSVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRlo7QUFHWTtFQUNJO0VBQ0E7RUFDQTtBQURoQjtBQUdZO0VBQ0k7QUFEaEI7QUFLUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUhaOztBQVFBO0VBQ0k7SUFDSTtFQUxOO0VBT0U7SUFDSTtFQUxOO0FBQ0YsQzs7OztBQ2xFSTtFQUNJO0VBQ0E7QUFBUjtBQUNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNaO0FBSVE7RUFDSTtBQUZaO0FBSVE7RUFDSTtBQUZaO0FBTUk7RUFDSTtBQUpSO0FBT0k7RUFDSTtBQUxSOztBQVVJO0VBQ0k7QUFQUjtBQVNJO0VBQ0k7QUFQUjtBQVNJO0VBQ0k7RUFDQTtFQUNBO0FBUFI7QUFTSTtFQUNJO0VBQ0E7QUFQUjtBQVNJO0VBQ0k7RUFDQTtFQUNBO0FBUFI7QUFVSTtFQUNJO0VBQ0E7QUFSUixDOzs7O0FDcERJO0VBQ0k7QUFBUjtBQUdJO0VBQ0k7QUFEUjtBQUlJO0VBQ0k7RUFDQTtBQUZSO0FBS0k7RUFDSTtBQUhSO0FBTUk7RUFDSTtBQUpSO0FBT0k7RUFDSTtFQUNBO0FBTFI7QUFRSTtFQUNJO0VBQ0E7QUFOUixDOzs7O0FDdkJBO0VBQ0k7RUFDQTtFQUNBO0FBQ0osQzs7OztBQ0hJO0VBQ0k7QUFBUjtBQUVJO0VBQ0k7RUFDQTtBQUFSLEM7Ozs7QUNIQTtFQUNJO0FBRko7QUFHSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBRFI7QUFFUTtFQUNJO0FBQVo7QUFLUTtFQUNJO0VBQ0E7QUFIWixDOzs7O0FDUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQU5KO0FBUUk7RUFDSTtFQUNBO0FBTlI7QUFPUTtFQUNJO0FBTFo7QUFTSTtFQUNJO0VBQ0E7QUFQUjtBQVVJO0VBQ0k7RUFDQTtBQVJSO0FBVUk7RUFDSTtFQUNBO0FBUlI7QUFXSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVRSO0FBakNRO0VBNkNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFUUjtBQXhDUTtFQTZDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRlI7QUFLSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBSFI7QUFNSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUpSO0FBTVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUpaO0FBS1k7RUFDSTtBQUhoQjtBQUtZO0VBQ0k7RUFDQTtBQUhoQjtBQVFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQU5SLEM7Ozs7QUMvRkE7RUFDSTtFQUNBO0VBQ0E7QUFDSjtBQUFJO0VBQ0k7QUFFUjtBQUFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVSLEM7Ozs7QUNwQkE7RUFDSTtFQUNBO0VBQ0E7QUFDSjtBQUFJO0VBQ0k7QUFFUixDOzs7O0FDUEE7RUFDSTtBQUNKO0FBQUk7RUFDSTtBQUVSO0FBRFE7RUFDSTtBQUdaO0FBQUk7RUFDSTtBQUVSO0FBRFE7RUFDSTtBQUdaLEM7Ozs7QUNkQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDSjtBQUFJO0VBQ0k7QUFFUjtBQUFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFUjtBQUFJO0VBQ0k7RUFDQTtFQUNBO0FBRVI7QUFBSTtFQUNJO0FBRVI7QUFBSTtFQUNJO0FBRVIsQzs7OztBQ2hDQTtFQUNJO0FBQ0osQzs7OztBQ0ZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNKO0FBQ0k7RUFDSTtBQUNSO0FBRUk7RUFDSTtBQUFSO0FBR0k7RUFDSTtBQURSO0FBSUk7RUFDSTtBQUZSO0FBS0k7RUFDSTtBQUhSO0FBTUk7RUFDSTtBQUpSO0FBT0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUxSLEM7Ozs7QUNqQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ0o7QUFFUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFBWjtBQUdRO0VBQ0k7RUFDQTtFQUNBO0FBRFo7QUFFWTtFQUNJO0FBQWhCO0FBSVE7RUFDSTtBQUZaO0FBT1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUxaO0FBT1E7RUFDSTtBQUxaO0FBT1E7RUFDSTtFQUNBO0VBQ0E7QUFMWjs7QUFXQTtFQUNJO0VBQ0E7RUFDQTtBQVJKO0FBU0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBUFI7QUFRUTtFQUNJO0FBTlo7QUFTSTtFQUNJO0FBUFI7QUFTSTtFQUNJO0FBUFI7QUFRUTtFQUNJO0VBQ0E7QUFOWixDOzs7O0FDekVBO0VBQ0k7RUFDQTtFQUNBO0FBQ0o7QUFBSTtFQUNJO0VBQ0E7RUFDQTtBQUVSO0FBQUk7RUFDSTtBQUVSO0FBQUk7RUFDSTtBQUVSLEM7Ozs7QUNmQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDSjtBQUFJO0VBQ0k7QUFFUjtBQUFJO0VBQ0k7QUFFUjtBQUFJO0VBQ0k7RUFDQTtBQUVSO0FBQUk7RUFDSTtFQUNBO0FBRVI7QUFBSTtFQUNJO0VBQ0E7QUFFUjtBQUNRO0VBQ0k7QUFDWjtBQUVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFBUjtBQUNRO0VBQ0k7QUFDWjtBQUNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ1osQzs7OztBQ3REUTtFQUNJO0VBQ0E7QUFEWjtBQUVZO0VBQ0k7QUFBaEI7QUFFWTtFQUNJO0FBQWhCLEM7Ozs7QUNSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUFSO0FBQ1E7RUFDSTtBQUNaO0FBRUk7RUFDSTtBQUFSO0FBR1E7RUFDSTtFQUNBO0FBRFosQzs7OztBQ3BCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBQ0o7QUFBSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRVI7QUFEUTtFQUNJO0FBR1o7QUFEUTtFQUNJO0FBR1o7QUFEUTtFQUNJO0FBR1o7QUFEUTtFQUNJO0VBQ0E7QUFHWjtBQURRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFHWjtBQUZZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFJaEI7QUFIZ0I7RUFDSTtFQUNBO0FBS3BCO0FBQUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUVSO0FBRFE7RUFDSTtFQUNBO0VBQ0E7QUFHWjtBQURRO0VBQ0k7RUFDQTtFQUNBO0FBR1o7QUFGWTtFQUNJO0FBSWhCO0FBRlk7RUFDSTtBQUloQjtBQUFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVSLEM7Ozs7QUMzRUE7RUFDSTtFQUNBO0VBQ0E7QUFDSjtBQUFJO0VBQ0k7RUFDQTtBQUVSO0FBQUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRVI7QUFEUTtFQUNJO0VBQ0E7QUFHWjtBQUFJO0VBQ0k7RUFDQTtFQUNBO0FBRVI7QUFBSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVSO0FBQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUNSO0FBQVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUVaO0FBRFk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBR2hCLEM7Ozs7QUM1REEsZ0JBQWdCO0FBQWhCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVGO0FBQUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFSjtBQUVJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFBTjtBQUNNO0VBQ0U7QUFDUjtBQUFRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFVjtBQUNNO0VBQ0U7QUFDUjtBQUFRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFVjtBQUtJO0VBQ0U7RUFDQTtBQUhOO0FBTU07RUFDRTtBQUpSO0FBTU07RUFDRTtBQUpSO0FBTU07RUFDRTtBQUpSO0FBTU07RUFDRTtBQUpSO0FBTU07RUFDRTtBQUpSO0FBTU07RUFDRTtBQUpSO0FBT0k7RUFDRTtFQUNBO0FBTE47QUFPSTtFQUNFO0VBQ0E7QUFMTjs7QUFVQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFQRjtBQVNFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFQSixDOzs7O0FDNUZBO0VBQ0k7RUFDQTtFQUNBO0FBQ0o7QUFBSTtFQUNJO0VBQ0E7RUFDQTtBQUVSLEM7Ozs7QUNSSTtFQUNJO0FBQVI7QUFFSTtFQUNJO0VBQ0E7QUFBUjtBQUNRO0VBQ0k7QUFDWjtBQUVJO0VBQ0k7QUFBUjtBQUVJO0VBQ0k7QUFBUjtBQUVJO0VBQ0k7QUFBUjtBQUVJO0VBQ0k7QUFBUjtBQUVJO0VBQ0k7QUFBUixDOzs7O0FDeEJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDSjtBQUFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRVI7QUFEUTtFQUNJO0FBR1o7QUFBSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRVI7QUFBSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFUjtBQUFJO0VBQ0k7QUFFUjtBQURRO0VBQ0k7RUFDQTtBQUdaO0FBRlk7RUFDSTtBQUloQjtBQUZZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFJaEI7QUFGWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBSWhCO0FBRlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUloQjtBQUFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFFUjtBQUFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFFUjtBQUFJO0VBQ0k7QUFFUjs7QUFFSTtFQUNJO0FBQ1I7QUFDSTtFQUNJO0FBQ1I7QUFDSTtFQUNJO0FBQ1I7QUFBUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBRVo7QUFEWTtFQUNJO0VBQ0E7QUFHaEI7QUFEWTtFQUNJO0VBQ0E7QUFHaEI7O0FBR0E7RUFDSTtJQUNJO0VBQU47RUFHRTtJQUNJO0VBRE47RUFJRTtJQUNJO0VBRk47RUFLRTtJQUNJO0VBSE47QUFDRixDOzs7O0FDN0hJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUFSO0FBRUk7RUFDSTtBQUFSO0FBQ1E7RUFDSTtFQUNBO0FBQ1o7QUFFWTtFQURKO0lBRVE7RUFDZDtBQUNGO0FBQ1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0FBRlo7QUFEWTtFQUxKO0lBTVE7RUFJZDtBQUNGO0FBRlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBSWhCO0FBQUk7RUFDSTtBQUVSO0FBQUk7RUFDSTtBQUVSO0FBQUk7RUFDSTtBQUVSO0FBQ0k7RUFDSTtFQUNBO0FBQ1I7QUFFSTtFQUNJO0VBQ0E7QUFBUjtBQUdJO0VBQ0k7RUFDQTtBQURSO0FBRVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUFaO0FBRVE7RUFDSTtFQUNBO0FBQVo7QUFFUTtFQUNJO0VBQ0E7QUFBWjtBQUdJO0VBQ0k7RUFDQTtBQURSO0FBR0k7RUFDSTtFQUNBO0FBRFI7QUFHSTtFQUNJO0VBQ0E7QUFEUjtBQUlJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRlI7QUFHUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRFo7QUFHUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQURaO0FBR1E7RUFDSTtBQURaO0FBR1E7RUFDSTtBQURaO0FBRVk7RUFDSTtFQUNBO0FBQWhCO0FBR1E7RUFDSTtBQURaOztBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBT0E7RUFDQTtFQUNBO0VBQ0E7QUFUSjtBQUNJO0VBQ0k7RUFDQTtBQUNSO0FBT0k7RUFDSTtBQUxSLEM7Ozs7QUN2SkE7RUFDSTtFQUNBO0FBQ0o7QUFBSTtFQUNJO0VBQ0E7RUFDQTtBQUVSO0FBRFE7RUFDSTtBQUdaO0FBQUk7RUFDSTtBQUVSO0FBRFE7RUFDSTtBQUdaOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDSjtBQUFJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRVI7QUFBSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVSLEM7Ozs7QUMvQ1E7RUFDSTtBQURaO0FBR1E7RUFDSTtBQURaO0FBS1E7RUFDSTtBQUhaOztBQVFBO0VBQ0k7SUFDSTtFQUxOO0VBT0U7SUFDSTtFQUxOO0FBQ0Y7QUFRQTtFQUNJO0lBQ0k7RUFOTjtFQVFFO0lBQ0k7RUFOTjtBQUNGLEM7Ozs7QUN6QkE7RUFDSTtFQUNBO0VBQ0E7QUFDSjtBQUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ1I7QUFBUTtFQUNJO0FBRVo7QUFBUTtFQUNJO0FBRVosQzs7OztBQ2xCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDSjtBQUFJO0VBQ0k7RUFDQTtBQUVSO0FBRFE7RUFDSTtBQUdaO0FBRFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBR1o7QUFGWTtFQUNJO0FBSWhCO0FBRlk7RUFDSTtFQUNBO0FBSWhCO0FBRlk7RUFDSTtBQUloQjs7QUFFQTtFQUNJO0FBQ0o7QUFBSTtFQUNJO0VBQ0E7RUFDQTtBQUVSO0FBRFE7RUFDSTtFQUNBO0FBR1o7QUFEUTtFQUNJO0VBQ0E7QUFHWjtBQURRO0VBQ0k7RUFDQTtBQUdaO0FBRFE7RUFDSTtFQUNBO0FBR1o7O0FBRUE7RUFDSTtJQUNJO0lBQ0E7RUFDTjtFQUNFO0lBQ0k7SUFDQTtFQUNOO0FBQ0Y7QUFFQTtFQUNJO0lBQ0k7SUFDQTtFQUFOO0VBRUU7SUFDSTtJQUNBO0VBQU47QUFDRjtBQUdBO0VBQ0k7SUFDSTtJQUNBO0VBRE47RUFHRTtJQUNJO0lBQ0E7RUFETjtBQUNGO0FBSUE7RUFDSTtJQUNJO0lBQ0E7RUFGTjtFQUlFO0lBQ0k7SUFDQTtFQUZOO0FBQ0YsQzs7OztBQ3pHQTtFQUNJO0FBQ0o7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRUo7QUFESTtFQUNJO0VBQ0E7QUFHUixDOzs7O0FDZEE7RUFDSTtBQUNKO0FBQUk7RUFDSTtFQUNBO0FBRVI7QUFBSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFUjs7QUFFSTtFQUNJO0FBQ1I7QUFBUTtFQUNJO0FBRVo7QUFDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDUjtBQUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNSO0FBQ1E7RUFDSTtBQUNaO0FBRVE7RUFDSTtBQUFaO0FBR1E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQURaLEM7Ozs7QUMxREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ0o7QUFBSTtFQUNJO0VBQ0E7QUFFUjs7QUFHSTtFQUNJO0FBQVI7QUFFSTtFQUNJO0FBQVI7QUFFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFBUjtBQUVRO0VBQ0k7RUFDQTtFQUNBO0FBQVo7QUFDWTtFQUNJO0VBQ0E7QUFDaEI7QUFFUTtFQUNJO0VBQ0E7QUFBWjtBQUNZO0VBQ0k7QUFDaEI7QUFFUTtFQUNJO0VBQ0E7QUFBWjtBQUNZO0VBQ0k7QUFDaEI7QUFFUTtFQUNJO0FBQVosQzs7OztBQ2xEQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDSjs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVKO0FBREk7RUFDSTtBQUdSO0FBRlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFJWjtBQUZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFJWjtBQURRO0VBQ0k7QUFHWjtBQUZZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBSWhCO0FBQVk7RUFDSTtBQUVoQjtBQUVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFBUjtBQUNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDWjtBQUNRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFDWjtBQUNZO0VBQ0k7QUFDaEI7QUFFWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUFoQjtBQUlJO0VBQ0k7QUFGUjtBQUlJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRlI7QUFJUTtFQUNJO0VBQ0E7RUFDQTtBQUZaO0FBS0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFIUjtBQUlRO0VBQ0k7QUFGWjtBQUtRO0VBQ0k7QUFIWjtBQU1RO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBSlo7QUFRSTtFQUNJO0FBTlI7QUFPUTtFQUNJO0FBTFo7QUFTSTtFQUNJO0VBQ0E7QUFQUjs7QUFXQTtFQUNJO0VBQ0E7RUFDQTtBQVJKOztBQVVBO0VBQ0k7QUFQSjs7QUFTQTtFQUNJO0FBTko7O0FBUUE7RUFDSTtBQUxKOztBQU9BO0VBQ0k7QUFKSixDOzs7O0FDbktBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDSixDOzs7O0FDUEk7RUFDSTtFQUNBO0FBQVIsQzs7OztBQ0hBO0VBQ0k7QUFDSjs7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFSjtBQUFJO0VBQ0k7QUFFUjtBQUFJO0VBQ0k7RUFDQTtBQUVSO0FBQUk7RUFkSjtJQWVRO0VBR047QUFDRixDOzs7O0FDckJJO0VBQ0k7RUFDQTtBQUFSO0FBQ1E7RUFDSTtFQUNBO0VBQ0E7QUFDWjtBQUVJO0VBQ0k7RUFDQTtBQUFSO0FBQ1E7RUFDSTtBQUNaO0FBRUk7RUFDSTtFQUNBO0FBQVIsQzs7OztBQ2xCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFBUjtBQUNRO0VBQ0k7RUFDQTtBQUNaO0FBRUk7RUFDSTtFQUNBO0FBQVI7QUFDUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBQ1o7QUFDUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBQ1o7QUFBWTtFQUNJO0VBQ0E7QUFFaEI7QUFDUTtFQUNJO0FBQ1o7QUFDUTtFQUNJO0VBQ0E7QUFDWjtBQUFZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFFaEI7QUFBWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBRWhCO0FBQVk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVoQjtBQURnQjtFQUNJO0FBR3BCLEM7Ozs7QUNyRUE7RUFDSTtFQUNBO0VBQ0E7QUFBSjtBQUNJO0VBQ0k7RUFDQSxZQVBFO0VBUUYsYUFSRTtFQVNGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ1I7QUFBUTtFQUNJO0FBRVo7QUFDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUNSO0FBQVE7RUFDSTtBQUVaO0FBRFk7RUFDSTtBQUdoQjtBQUNJO0VBQ0k7QUFDUjtBQUNJO0VBQ0k7RUFDQTtBQUNSO0FBQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQUNSOztBQUVBO0VBQ0k7SUFBVztFQUViO0VBREU7SUFBVztFQUliO0VBSEU7SUFBZ0I7RUFNbEI7RUFMRTtJQUFXO0VBUWI7QUFDRixDOzs7O0FDaEVBLGdCQUFnQjtBQ0FoQjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBREdGOztBRWpSQTtFQUNFO0FGb1JGOztBRWxSQTtFQUNFO0FGcVJGOztBRW5SQTtFQUNFO0FGc1JGOztBRXBSQTtFQUNFO0FGdVJGOztBRXJSQTtFQUNFO0FGd1JGOztBRXRSQTtFQUNFO0FGeVJGOztBRXZSQTtFQUNFO0FGMFJGOztBRXhSQTtFQUNFO0FGMlJGOztBRXpSQTtFQUNFO0FGNFJGOztBRTFSQTtFQUNFO0FGNlJGOztBRTNSQTtFQUNFO0FGOFJGOztBRTVSQTtFQUNFO0FGK1JGOztBRTdSQTtFQUNFO0FGZ1NGOztBRTlSQTtFQUNFO0FGaVNGOztBRS9SQTtFQUNFO0FGa1NGOztBRWhTQTtFQUNFO0FGbVNGOztBRWpTQTtFQUNFO0FGb1NGOztBRWxTQTtFQUNFO0FGcVNGOztBRW5TQTtFQUNFO0FGc1NGOztBRXBTQTtFQUNFO0FGdVNGOztBRXJTQTtFQUNFO0FGd1NGOztBRXRTQTtFQUNFO0FGeVNGOztBRXZTQTtFQUNFO0FGMFNGOztBRXhTQTtFQUNFO0FGMlNGOztBRXpTQTtFQUNFO0FGNFNGOztBRTFTQTtFQUNFO0FGNlNGOztBRTNTQTtFQUNFO0FGOFNGOztBRTVTQTtFQUNFO0FGK1NGOztBRTdTQTtFQUNFO0FGZ1RGOztBRTlTQTtFQUNFO0FGaVRGOztBRS9TQTtFQUNFO0FGa1RGOztBRWhUQTtFQUNFO0FGbVRGOztBRWpUQTtFQUNFO0FGb1RGOztBRWxUQTtFQUNFO0FGcVRGOztBRW5UQTtFQUNFO0FGc1RGOztBRXBUQTtFQUNFO0FGdVRGOztBRXJUQTtFQUNFO0FGd1RGOztBRXRUQTtFQUNFO0FGeVRGOztBRXZUQTtFQUNFO0FGMFRGOztBRXhUQTtFQUNFO0FGMlRGOztBRXpUQTtFQUNFO0FGNFRGOztBRTFUQTtFQUNFO0FGNlRGOztBRTNUQTtFQUNFO0FGOFRGOztBRTVUQTtFQUNFO0FGK1RGOztBRTdUQTtFQUNFO0FGZ1VGOztBRTlUQTtFQUNFO0FGaVVGOztBRS9UQTtFQUNFO0FGa1VGOztBRWhVQTtFQUNFO0FGbVVGOztBRWpVQTtFQUNFO0FGb1VGOztBRWxVQTtFQUNFO0FGcVVGOztBRW5VQTtFQUNFO0FGc1VGOztBRXBVQTtFQUNFO0FGdVVGOztBRXJVQTtFQUNFO0FGd1VGOztBRXRVQTtFQUNFO0FGeVVGOztBRXZVQTtFQUNFO0FGMFVGOztBRXhVQTtFQUNFO0FGMlVGOztBRXpVQTtFQUNFO0FGNFVGOztBRTFVQTtFQUNFO0FGNlVGOztBRTNVQTtFQUNFO0FGOFVGOztBRTVVQTtFQUNFO0FGK1VGOztBR2pnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIb2dCRjs7QUdsZ0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHFnQkY7O0FHbmdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhzZ0JGOztBR3BnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIdWdCRjs7QUdyZ0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHdnQkY7O0FHdGdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUh5Z0JGOztBR3ZnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIMGdCRjs7QUd4Z0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSDJnQkY7O0FHemdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUg0Z0JGOztBRzFnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FINmdCRjs7QUczZ0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSDhnQkY7O0FHNWdCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUgrZ0JGOztBRzdnQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FIZ2hCRjs7QUc5Z0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSGloQkY7O0FHL2dCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhraEJGOztBSXRxQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUp5cUJEOztBS3ZzQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUwwc0JEOztBTXh1QkE7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUVBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FOK3RCSjs7QU0zdEJBO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBRUE7RUFFQTtBTnd0Qko7O0FPN3hCTTtFQUNFO0FQZ3lCUjs7QU85eEJNO0VBQ0U7QVBpeUJSOztBTzd4Qk07RUFDRTtBUGd5QlI7O0FPOXhCTTtFQUNFO0FQaXlCUjs7QU9yeUJNO0VBQ0U7QVB3eUJSOztBT3R5Qk07RUFDRTtBUHl5QlI7O0FPN3lCTTtFQUNFO0FQZ3pCUjs7QU85eUJNO0VBQ0U7QVBpekJSOztBT3J6Qk07RUFDRTtBUHd6QlI7O0FPdHpCTTtFQUNFO0FQeXpCUjs7QU83ekJNO0VBQ0U7QVBnMEJSOztBTzl6Qk07RUFDRTtBUGkwQlI7O0FPcjBCTTtFQUNFO0FQdzBCUjs7QU90MEJNO0VBQ0U7QVB5MEJSOztBTzcwQk07RUFDRTtBUGcxQlI7O0FPOTBCTTtFQUNFO0FQaTFCUjs7QU9yMUJNO0VBQ0U7QVB3MUJSOztBT3QxQk07RUFDRTtBUHkxQlI7O0FPNzFCTTtFQUNFO0FQZzJCUjs7QU85MUJNO0VBQ0U7QVBpMkJSOztBTzcyQk07RUFDRTtBUGczQlI7O0FPOTJCTTtFQUNFO0FQaTNCUjs7QU83MkJNO0VBQ0U7QVBnM0JSOztBTzkyQk07RUFDRTtBUGkzQlI7O0FPcjNCTTtFQUNFO0FQdzNCUjs7QU90M0JNO0VBQ0U7QVB5M0JSOztBTzczQk07RUFDRTtBUGc0QlI7O0FPOTNCTTtFQUNFO0FQaTRCUjs7QU9yNEJNO0VBQ0U7QVB3NEJSOztBT3Q0Qk07RUFDRTtBUHk0QlI7O0FPNzRCTTtFQUNFO0FQZzVCUjs7QU85NEJNO0VBQ0U7QVBpNUJSOztBT3I1Qk07RUFDRTtBUHc1QlI7O0FPdDVCTTtFQUNFO0FQeTVCUjs7QU83NUJNO0VBQ0U7QVBnNkJSOztBTzk1Qk07RUFDRTtBUGk2QlI7O0FPcjZCTTtFQUNFO0FQdzZCUjs7QU90NkJNO0VBQ0U7QVB5NkJSOztBTzc2Qk07RUFDRTtBUGc3QlI7O0FPOTZCTTtFQUNFO0FQaTdCUjs7QU9yN0JNO0VBQ0U7QVB3N0JSOztBT3Q3Qk07RUFDRTtBUHk3QlI7O0FPNzdCTTtFQUNFO0FQZzhCUjs7QU85N0JNO0VBQ0U7QVBpOEJSOztBT3I4Qk07RUFDRTtBUHc4QlI7O0FPdDhCTTtFQUNFO0FQeThCUjs7QU83OEJNO0VBQ0U7QVBnOUJSOztBTzk4Qk07RUFDRTtBUGk5QlI7O0FPNzlCTTtFQUNFO0FQZytCUjs7QU85OUJNO0VBQ0U7QVBpK0JSOztBTzc5Qk07RUFDRTtBUGcrQlI7O0FPOTlCTTtFQUNFO0FQaStCUjs7QU9yK0JNO0VBQ0U7QVB3K0JSOztBT3QrQk07RUFDRTtBUHkrQlI7O0FPNytCTTtFQUNFO0FQZy9CUjs7QU85K0JNO0VBQ0U7QVBpL0JSOztBT3IvQk07RUFDRTtBUHcvQlI7O0FPdC9CTTtFQUNFO0FQeS9CUjs7QU83L0JNO0VBQ0U7QVBnZ0NSOztBTzkvQk07RUFDRTtBUGlnQ1I7O0FPcmdDTTtFQUNFO0FQd2dDUjs7QU90Z0NNO0VBQ0U7QVB5Z0NSOztBTzdnQ007RUFDRTtBUGdoQ1I7O0FPOWdDTTtFQUNFO0FQaWhDUjs7QU9yaENNO0VBQ0U7QVB3aENSOztBT3RoQ007RUFDRTtBUHloQ1I7O0FPN2hDTTtFQUNFO0FQZ2lDUjs7QU85aENNO0VBQ0U7QVBpaUNSOztBT3JpQ007RUFDRTtBUHdpQ1I7O0FPdGlDTTtFQUNFO0FQeWlDUjs7QU83aUNNO0VBQ0U7QVBnakNSOztBTzlpQ007RUFDRTtBUGlqQ1I7O0FPcmpDTTtFQUNFO0FQd2pDUjs7QU90akNNO0VBQ0U7QVB5akNSOztBTzdqQ007RUFDRTtBUGdrQ1I7O0FPOWpDTTtFQUNFO0FQaWtDUjs7QU83a0NNO0VBQ0U7QVBnbENSOztBTzlrQ007RUFDRTtBUGlsQ1I7O0FPN2tDTTtFQUNFO0FQZ2xDUjs7QU85a0NNO0VBQ0U7QVBpbENSOztBT3JsQ007RUFDRTtBUHdsQ1I7O0FPdGxDTTtFQUNFO0FQeWxDUjs7QU83bENNO0VBQ0U7QVBnbUNSOztBTzlsQ007RUFDRTtBUGltQ1I7O0FPcm1DTTtFQUNFO0FQd21DUjs7QU90bUNNO0VBQ0U7QVB5bUNSOztBTzdtQ007RUFDRTtBUGduQ1I7O0FPOW1DTTtFQUNFO0FQaW5DUjs7QU9ybkNNO0VBQ0U7QVB3bkNSOztBT3RuQ007RUFDRTtBUHluQ1I7O0FPN25DTTtFQUNFO0FQZ29DUjs7QU85bkNNO0VBQ0U7QVBpb0NSOztBT3JvQ007RUFDRTtBUHdvQ1I7O0FPdG9DTTtFQUNFO0FQeW9DUjs7QU83b0NNO0VBQ0U7QVBncENSOztBTzlvQ007RUFDRTtBUGlwQ1I7O0FPcnBDTTtFQUNFO0FQd3BDUjs7QU90cENNO0VBQ0U7QVB5cENSOztBTzdwQ007RUFDRTtBUGdxQ1I7O0FPOXBDTTtFQUNFO0FQaXFDUjs7QU9ycUNNO0VBQ0U7QVB3cUNSOztBT3RxQ007RUFDRTtBUHlxQ1I7O0FPN3FDTTtFQUNFO0FQZ3JDUjs7QU85cUNNO0VBQ0U7QVBpckNSOztBTzdyQ007RUFDRTtBUGdzQ1I7O0FPOXJDTTtFQUNFO0FQaXNDUjs7QU83ckNNO0VBQ0U7QVBnc0NSOztBTzlyQ007RUFDRTtBUGlzQ1I7O0FPcnNDTTtFQUNFO0FQd3NDUjs7QU90c0NNO0VBQ0U7QVB5c0NSOztBTzdzQ007RUFDRTtBUGd0Q1I7O0FPOXNDTTtFQUNFO0FQaXRDUjs7QU9ydENNO0VBQ0U7QVB3dENSOztBT3R0Q007RUFDRTtBUHl0Q1I7O0FPN3RDTTtFQUNFO0FQZ3VDUjs7QU85dENNO0VBQ0U7QVBpdUNSOztBT3J1Q007RUFDRTtBUHd1Q1I7O0FPdHVDTTtFQUNFO0FQeXVDUjs7QU83dUNNO0VBQ0U7QVBndkNSOztBTzl1Q007RUFDRTtBUGl2Q1I7O0FPcnZDTTtFQUNFO0FQd3ZDUjs7QU90dkNNO0VBQ0U7QVB5dkNSOztBTzd2Q007RUFDRTtBUGd3Q1I7O0FPOXZDTTtFQUNFO0FQaXdDUjs7QU9yd0NNO0VBQ0U7QVB3d0NSOztBT3R3Q007RUFDRTtBUHl3Q1I7O0FPN3dDTTtFQUNFO0FQZ3hDUjs7QU85d0NNO0VBQ0U7QVBpeENSOztBT3J4Q007RUFDRTtBUHd4Q1I7O0FPdHhDTTtFQUNFO0FQeXhDUjs7QU83eENNO0VBQ0U7QVBneUNSOztBTzl4Q007RUFDRTtBUGl5Q1I7O0FPN3lDTTtFQUNFO0FQZ3pDUjs7QU85eUNNO0VBQ0U7QVBpekNSOztBTzd5Q007RUFDRTtBUGd6Q1I7O0FPOXlDTTtFQUNFO0FQaXpDUjs7QU9yekNNO0VBQ0U7QVB3ekNSOztBT3R6Q007RUFDRTtBUHl6Q1I7O0FPN3pDTTtFQUNFO0FQZzBDUjs7QU85ekNNO0VBQ0U7QVBpMENSOztBT3IwQ007RUFDRTtBUHcwQ1I7O0FPdDBDTTtFQUNFO0FQeTBDUjs7QU83MENNO0VBQ0U7QVBnMUNSOztBTzkwQ007RUFDRTtBUGkxQ1I7O0FPcjFDTTtFQUNFO0FQdzFDUjs7QU90MUNNO0VBQ0U7QVB5MUNSOztBTzcxQ007RUFDRTtBUGcyQ1I7O0FPOTFDTTtFQUNFO0FQaTJDUjs7QU9yMkNNO0VBQ0U7QVB3MkNSOztBT3QyQ007RUFDRTtBUHkyQ1I7O0FPNzJDTTtFQUNFO0FQZzNDUjs7QU85MkNNO0VBQ0U7QVBpM0NSOztBT3IzQ007RUFDRTtBUHczQ1I7O0FPdDNDTTtFQUNFO0FQeTNDUjs7QU83M0NNO0VBQ0U7QVBnNENSOztBTzkzQ007RUFDRTtBUGk0Q1I7O0FPcjRDTTtFQUNFO0FQdzRDUjs7QU90NENNO0VBQ0U7QVB5NENSOztBTzc0Q007RUFDRTtBUGc1Q1I7O0FPOTRDTTtFQUNFO0FQaTVDUjs7QU83NUNNO0VBQ0U7QVBnNkNSOztBTzk1Q007RUFDRTtBUGk2Q1I7O0FPNzVDTTtFQUNFO0FQZzZDUjs7QU85NUNNO0VBQ0U7QVBpNkNSOztBT3I2Q007RUFDRTtBUHc2Q1I7O0FPdDZDTTtFQUNFO0FQeTZDUjs7QU83NkNNO0VBQ0U7QVBnN0NSOztBTzk2Q007RUFDRTtBUGk3Q1I7O0FPcjdDTTtFQUNFO0FQdzdDUjs7QU90N0NNO0VBQ0U7QVB5N0NSOztBTzc3Q007RUFDRTtBUGc4Q1I7O0FPOTdDTTtFQUNFO0FQaThDUjs7QU9yOENNO0VBQ0U7QVB3OENSOztBT3Q4Q007RUFDRTtBUHk4Q1I7O0FPNzhDTTtFQUNFO0FQZzlDUjs7QU85OENNO0VBQ0U7QVBpOUNSOztBT3I5Q007RUFDRTtBUHc5Q1I7O0FPdDlDTTtFQUNFO0FQeTlDUjs7QU83OUNNO0VBQ0U7QVBnK0NSOztBTzk5Q007RUFDRTtBUGkrQ1I7O0FPcitDTTtFQUNFO0FQdytDUjs7QU90K0NNO0VBQ0U7QVB5K0NSOztBTzcrQ007RUFDRTtBUGcvQ1I7O0FPOStDTTtFQUNFO0FQaS9DUjs7QU9yL0NNO0VBQ0U7QVB3L0NSOztBT3QvQ007RUFDRTtBUHkvQ1I7O0FPNy9DTTtFQUNFO0FQZ2dEUjs7QU85L0NNO0VBQ0U7QVBpZ0RSOztBTzdnRE07RUFDRTtBUGdoRFI7O0FPOWdETTtFQUNFO0FQaWhEUjs7QU83Z0RNO0VBQ0U7QVBnaERSOztBTzlnRE07RUFDRTtBUGloRFI7O0FPcmhETTtFQUNFO0FQd2hEUjs7QU90aERNO0VBQ0U7QVB5aERSOztBTzdoRE07RUFDRTtBUGdpRFI7O0FPOWhETTtFQUNFO0FQaWlEUjs7QU9yaURNO0VBQ0U7QVB3aURSOztBT3RpRE07RUFDRTtBUHlpRFI7O0FPN2lETTtFQUNFO0FQZ2pEUjs7QU85aURNO0VBQ0U7QVBpakRSOztBT3JqRE07RUFDRTtBUHdqRFI7O0FPdGpETTtFQUNFO0FQeWpEUjs7QU83akRNO0VBQ0U7QVBna0RSOztBTzlqRE07RUFDRTtBUGlrRFI7O0FPcmtETTtFQUNFO0FQd2tEUjs7QU90a0RNO0VBQ0U7QVB5a0RSOztBTzdrRE07RUFDRTtBUGdsRFI7O0FPOWtETTtFQUNFO0FQaWxEUjs7QU9ybERNO0VBQ0U7QVB3bERSOztBT3RsRE07RUFDRTtBUHlsRFI7O0FPN2xETTtFQUNFO0FQZ21EUjs7QU85bERNO0VBQ0U7QVBpbURSOztBT3JtRE07RUFDRTtBUHdtRFI7O0FPdG1ETTtFQUNFO0FQeW1EUjs7QU83bURNO0VBQ0U7QVBnbkRSOztBTzltRE07RUFDRTtBUGluRFI7O0FPN25ETTtFQUNFO0FQZ29EUjs7QU85bkRNO0VBQ0U7QVBpb0RSOztBTzduRE07RUFDRTtBUGdvRFI7O0FPOW5ETTtFQUNFO0FQaW9EUjs7QU9yb0RNO0VBQ0U7QVB3b0RSOztBT3RvRE07RUFDRTtBUHlvRFI7O0FPN29ETTtFQUNFO0FQZ3BEUjs7QU85b0RNO0VBQ0U7QVBpcERSOztBT3JwRE07RUFDRTtBUHdwRFI7O0FPdHBETTtFQUNFO0FQeXBEUjs7QU83cERNO0VBQ0U7QVBncURSOztBTzlwRE07RUFDRTtBUGlxRFI7O0FPcnFETTtFQUNFO0FQd3FEUjs7QU90cURNO0VBQ0U7QVB5cURSOztBTzdxRE07RUFDRTtBUGdyRFI7O0FPOXFETTtFQUNFO0FQaXJEUjs7QU9yckRNO0VBQ0U7QVB3ckRSOztBT3RyRE07RUFDRTtBUHlyRFI7O0FPN3JETTtFQUNFO0FQZ3NEUjs7QU85ckRNO0VBQ0U7QVBpc0RSOztBT3JzRE07RUFDRTtBUHdzRFI7O0FPdHNETTtFQUNFO0FQeXNEUjs7QU83c0RNO0VBQ0U7QVBndERSOztBTzlzRE07RUFDRTtBUGl0RFI7O0FPcnRETTtFQUNFO0FQd3REUjs7QU90dERNO0VBQ0U7QVB5dERSOztBTzd0RE07RUFDRTtBUGd1RFI7O0FPOXRETTtFQUNFO0FQaXVEUjs7QU83dURNO0VBQ0U7QVBndkRSOztBTzl1RE07RUFDRTtBUGl2RFI7O0FPN3VETTtFQUNFO0FQZ3ZEUjs7QU85dURNO0VBQ0U7QVBpdkRSOztBT3J2RE07RUFDRTtBUHd2RFI7O0FPdHZETTtFQUNFO0FQeXZEUjs7QU83dkRNO0VBQ0U7QVBnd0RSOztBTzl2RE07RUFDRTtBUGl3RFI7O0FPcndETTtFQUNFO0FQd3dEUjs7QU90d0RNO0VBQ0U7QVB5d0RSOztBTzd3RE07RUFDRTtBUGd4RFI7O0FPOXdETTtFQUNFO0FQaXhEUjs7QU9yeERNO0VBQ0U7QVB3eERSOztBT3R4RE07RUFDRTtBUHl4RFI7O0FPN3hETTtFQUNFO0FQZ3lEUjs7QU85eERNO0VBQ0U7QVBpeURSOztBT3J5RE07RUFDRTtBUHd5RFI7O0FPdHlETTtFQUNFO0FQeXlEUjs7QU83eURNO0VBQ0U7QVBnekRSOztBTzl5RE07RUFDRTtBUGl6RFI7O0FPcnpETTtFQUNFO0FQd3pEUjs7QU90ekRNO0VBQ0U7QVB5ekRSOztBTzd6RE07RUFDRTtBUGcwRFI7O0FPOXpETTtFQUNFO0FQaTBEUjs7QU9yMERNO0VBQ0U7QVB3MERSOztBT3QwRE07RUFDRTtBUHkwRFI7O0FPNzBETTtFQUNFO0FQZzFEUjs7QU85MERNO0VBQ0U7QVBpMURSOztBTzcxRE07RUFDRTtBUGcyRFI7O0FPOTFETTtFQUNFO0FQaTJEUjs7QU83MURNO0VBQ0U7QVBnMkRSOztBTzkxRE07RUFDRTtBUGkyRFI7O0FPcjJETTtFQUNFO0FQdzJEUjs7QU90MkRNO0VBQ0U7QVB5MkRSOztBTzcyRE07RUFDRTtBUGczRFI7O0FPOTJETTtFQUNFO0FQaTNEUjs7QU9yM0RNO0VBQ0U7QVB3M0RSOztBT3QzRE07RUFDRTtBUHkzRFI7O0FPNzNETTtFQUNFO0FQZzREUjs7QU85M0RNO0VBQ0U7QVBpNERSOztBT3I0RE07RUFDRTtBUHc0RFI7O0FPdDRETTtFQUNFO0FQeTREUjs7QU83NERNO0VBQ0U7QVBnNURSOztBTzk0RE07RUFDRTtBUGk1RFI7O0FPcjVETTtFQUNFO0FQdzVEUjs7QU90NURNO0VBQ0U7QVB5NURSOztBTzc1RE07RUFDRTtBUGc2RFI7O0FPOTVETTtFQUNFO0FQaTZEUjs7QU9yNkRNO0VBQ0U7QVB3NkRSOztBT3Q2RE07RUFDRTtBUHk2RFI7O0FPNzZETTtFQUNFO0FQZzdEUjs7QU85NkRNO0VBQ0U7QVBpN0RSOztBT3I3RE07RUFDRTtBUHc3RFI7O0FPdDdETTtFQUNFO0FQeTdEUjs7QU83N0RNO0VBQ0U7QVBnOERSOztBTzk3RE07RUFDRTtBUGk4RFI7O0FPNzhETTtFQUNFO0FQZzlEUjs7QU85OERNO0VBQ0U7QVBpOURSOztBTzc4RE07RUFDRTtBUGc5RFI7O0FPOThETTtFQUNFO0FQaTlEUjs7QU9yOURNO0VBQ0U7QVB3OURSOztBT3Q5RE07RUFDRTtBUHk5RFI7O0FPNzlETTtFQUNFO0FQZytEUjs7QU85OURNO0VBQ0U7QVBpK0RSOztBT3IrRE07RUFDRTtBUHcrRFI7O0FPdCtETTtFQUNFO0FQeStEUjs7QU83K0RNO0VBQ0U7QVBnL0RSOztBTzkrRE07RUFDRTtBUGkvRFI7O0FPci9ETTtFQUNFO0FQdy9EUjs7QU90L0RNO0VBQ0U7QVB5L0RSOztBTzcvRE07RUFDRTtBUGdnRVI7O0FPOS9ETTtFQUNFO0FQaWdFUjs7QU9yZ0VNO0VBQ0U7QVB3Z0VSOztBT3RnRU07RUFDRTtBUHlnRVI7O0FPN2dFTTtFQUNFO0FQZ2hFUjs7QU85Z0VNO0VBQ0U7QVBpaEVSOztBT3JoRU07RUFDRTtBUHdoRVI7O0FPdGhFTTtFQUNFO0FQeWhFUjs7QU83aEVNO0VBQ0U7QVBnaUVSOztBTzloRU07RUFDRTtBUGlpRVI7O0FPcmlFTTtFQUNFO0FQd2lFUjs7QU90aUVNO0VBQ0U7QVB5aUVSOztBTzdpRU07RUFDRTtBUGdqRVI7O0FPOWlFTTtFQUNFO0FQaWpFUjs7QU83akVNO0VBQ0U7QVBna0VSOztBTzlqRU07RUFDRTtBUGlrRVI7O0FPN2pFTTtFQUNFO0FQZ2tFUjs7QU85akVNO0VBQ0U7QVBpa0VSOztBT3JrRU07RUFDRTtBUHdrRVI7O0FPdGtFTTtFQUNFO0FQeWtFUjs7QU83a0VNO0VBQ0U7QVBnbEVSOztBTzlrRU07RUFDRTtBUGlsRVI7O0FPcmxFTTtFQUNFO0FQd2xFUjs7QU90bEVNO0VBQ0U7QVB5bEVSOztBTzdsRU07RUFDRTtBUGdtRVI7O0FPOWxFTTtFQUNFO0FQaW1FUjs7QU9ybUVNO0VBQ0U7QVB3bUVSOztBT3RtRU07RUFDRTtBUHltRVI7O0FPN21FTTtFQUNFO0FQZ25FUjs7QU85bUVNO0VBQ0U7QVBpbkVSOztBT3JuRU07RUFDRTtBUHduRVI7O0FPdG5FTTtFQUNFO0FQeW5FUjs7QU83bkVNO0VBQ0U7QVBnb0VSOztBTzluRU07RUFDRTtBUGlvRVI7O0FPcm9FTTtFQUNFO0FQd29FUjs7QU90b0VNO0VBQ0U7QVB5b0VSOztBTzdvRU07RUFDRTtBUGdwRVI7O0FPOW9FTTtFQUNFO0FQaXBFUjs7QU9ycEVNO0VBQ0U7QVB3cEVSOztBT3RwRU07RUFDRTtBUHlwRVI7O0FPN3BFTTtFQUNFO0FQZ3FFUjs7QU85cEVNO0VBQ0U7QVBpcUVSOztBTzdxRU07RUFDRTtBUGdyRVI7O0FPOXFFTTtFQUNFO0FQaXJFUjs7QU83cUVNO0VBQ0U7QVBnckVSOztBTzlxRU07RUFDRTtBUGlyRVI7O0FPcnJFTTtFQUNFO0FQd3JFUjs7QU90ckVNO0VBQ0U7QVB5ckVSOztBTzdyRU07RUFDRTtBUGdzRVI7O0FPOXJFTTtFQUNFO0FQaXNFUjs7QU9yc0VNO0VBQ0U7QVB3c0VSOztBT3RzRU07RUFDRTtBUHlzRVI7O0FPN3NFTTtFQUNFO0FQZ3RFUjs7QU85c0VNO0VBQ0U7QVBpdEVSOztBT3J0RU07RUFDRTtBUHd0RVI7O0FPdHRFTTtFQUNFO0FQeXRFUjs7QU83dEVNO0VBQ0U7QVBndUVSOztBTzl0RU07RUFDRTtBUGl1RVI7O0FPcnVFTTtFQUNFO0FQd3VFUjs7QU90dUVNO0VBQ0U7QVB5dUVSOztBTzd1RU07RUFDRTtBUGd2RVI7O0FPOXVFTTtFQUNFO0FQaXZFUjs7QU9ydkVNO0VBQ0U7QVB3dkVSOztBT3R2RU07RUFDRTtBUHl2RVI7O0FPN3ZFTTtFQUNFO0FQZ3dFUjs7QU85dkVNO0VBQ0U7QVBpd0VSOztBT3J3RU07RUFDRTtBUHd3RVI7O0FPdHdFTTtFQUNFO0FQeXdFUjs7QU83d0VNO0VBQ0U7QVBneEVSOztBTzl3RU07RUFDRTtBUGl4RVI7O0FPN3hFTTtFQUNFO0FQZ3lFUjs7QU85eEVNO0VBQ0U7QVBpeUVSOztBTzd4RU07RUFDRTtBUGd5RVI7O0FPOXhFTTtFQUNFO0FQaXlFUjs7QU9yeUVNO0VBQ0U7QVB3eUVSOztBT3R5RU07RUFDRTtBUHl5RVI7O0FPN3lFTTtFQUNFO0FQZ3pFUjs7QU85eUVNO0VBQ0U7QVBpekVSOztBT3J6RU07RUFDRTtBUHd6RVI7O0FPdHpFTTtFQUNFO0FQeXpFUjs7QU83ekVNO0VBQ0U7QVBnMEVSOztBTzl6RU07RUFDRTtBUGkwRVI7O0FPcjBFTTtFQUNFO0FQdzBFUjs7QU90MEVNO0VBQ0U7QVB5MEVSOztBTzcwRU07RUFDRTtBUGcxRVI7O0FPOTBFTTtFQUNFO0FQaTFFUjs7QU9yMUVNO0VBQ0U7QVB3MUVSOztBT3QxRU07RUFDRTtBUHkxRVI7O0FPNzFFTTtFQUNFO0FQZzJFUjs7QU85MUVNO0VBQ0U7QVBpMkVSOztBT3IyRU07RUFDRTtBUHcyRVI7O0FPdDJFTTtFQUNFO0FQeTJFUjs7QU83MkVNO0VBQ0U7QVBnM0VSOztBTzkyRU07RUFDRTtBUGkzRVI7O0FPcjNFTTtFQUNFO0FQdzNFUjs7QU90M0VNO0VBQ0U7QVB5M0VSOztBTzczRU07RUFDRTtBUGc0RVI7O0FPOTNFTTtFQUNFO0FQaTRFUjs7QU83NEVNO0VBQ0U7QVBnNUVSOztBTzk0RU07RUFDRTtBUGk1RVI7O0FPNzRFTTtFQUNFO0FQZzVFUjs7QU85NEVNO0VBQ0U7QVBpNUVSOztBT3I1RU07RUFDRTtBUHc1RVI7O0FPdDVFTTtFQUNFO0FQeTVFUjs7QU83NUVNO0VBQ0U7QVBnNkVSOztBTzk1RU07RUFDRTtBUGk2RVI7O0FPcjZFTTtFQUNFO0FQdzZFUjs7QU90NkVNO0VBQ0U7QVB5NkVSOztBTzc2RU07RUFDRTtBUGc3RVI7O0FPOTZFTTtFQUNFO0FQaTdFUjs7QU9yN0VNO0VBQ0U7QVB3N0VSOztBT3Q3RU07RUFDRTtBUHk3RVI7O0FPNzdFTTtFQUNFO0FQZzhFUjs7QU85N0VNO0VBQ0U7QVBpOEVSOztBT3I4RU07RUFDRTtBUHc4RVI7O0FPdDhFTTtFQUNFO0FQeThFUjs7QU83OEVNO0VBQ0U7QVBnOUVSOztBTzk4RU07RUFDRTtBUGk5RVI7O0FPcjlFTTtFQUNFO0FQdzlFUjs7QU90OUVNO0VBQ0U7QVB5OUVSOztBTzc5RU07RUFDRTtBUGcrRVI7O0FPOTlFTTtFQUNFO0FQaStFUjs7QU9yK0VNO0VBQ0U7QVB3K0VSOztBT3QrRU07RUFDRTtBUHkrRVI7O0FPNytFTTtFQUNFO0FQZy9FUjs7QU85K0VNO0VBQ0U7QVBpL0VSOztBTzcvRU07RUFDRTtBUGdnRlI7O0FPOS9FTTtFQUNFO0FQaWdGUjs7QU83L0VNO0VBQ0U7QVBnZ0ZSOztBTzkvRU07RUFDRTtBUGlnRlI7O0FPcmdGTTtFQUNFO0FQd2dGUjs7QU90Z0ZNO0VBQ0U7QVB5Z0ZSOztBTzdnRk07RUFDRTtBUGdoRlI7O0FPOWdGTTtFQUNFO0FQaWhGUjs7QU9yaEZNO0VBQ0U7QVB3aEZSOztBT3RoRk07RUFDRTtBUHloRlI7O0FPN2hGTTtFQUNFO0FQZ2lGUjs7QU85aEZNO0VBQ0U7QVBpaUZSOztBT3JpRk07RUFDRTtBUHdpRlI7O0FPdGlGTTtFQUNFO0FQeWlGUjs7QU83aUZNO0VBQ0U7QVBnakZSOztBTzlpRk07RUFDRTtBUGlqRlI7O0FPcmpGTTtFQUNFO0FQd2pGUjs7QU90akZNO0VBQ0U7QVB5akZSOztBTzdqRk07RUFDRTtBUGdrRlI7O0FPOWpGTTtFQUNFO0FQaWtGUjs7QU9ya0ZNO0VBQ0U7QVB3a0ZSOztBT3RrRk07RUFDRTtBUHlrRlI7O0FPN2tGTTtFQUNFO0FQZ2xGUjs7QU85a0ZNO0VBQ0U7QVBpbEZSOztBT3JsRk07RUFDRTtBUHdsRlI7O0FPdGxGTTtFQUNFO0FQeWxGUjs7QU83bEZNO0VBQ0U7QVBnbUZSOztBTzlsRk07RUFDRTtBUGltRlI7O0FPN21GTTtFQUNFO0FQZ25GUjs7QU85bUZNO0VBQ0U7QVBpbkZSOztBTzdtRk07RUFDRTtBUGduRlI7O0FPOW1GTTtFQUNFO0FQaW5GUjs7QU9ybkZNO0VBQ0U7QVB3bkZSOztBT3RuRk07RUFDRTtBUHluRlI7O0FPN25GTTtFQUNFO0FQZ29GUjs7QU85bkZNO0VBQ0U7QVBpb0ZSOztBT3JvRk07RUFDRTtBUHdvRlI7O0FPdG9GTTtFQUNFO0FQeW9GUjs7QU83b0ZNO0VBQ0U7QVBncEZSOztBTzlvRk07RUFDRTtBUGlwRlI7O0FPcnBGTTtFQUNFO0FQd3BGUjs7QU90cEZNO0VBQ0U7QVB5cEZSOztBTzdwRk07RUFDRTtBUGdxRlI7O0FPOXBGTTtFQUNFO0FQaXFGUjs7QU9ycUZNO0VBQ0U7QVB3cUZSOztBT3RxRk07RUFDRTtBUHlxRlI7O0FPN3FGTTtFQUNFO0FQZ3JGUjs7QU85cUZNO0VBQ0U7QVBpckZSOztBTzdyRk07RUFDRTtBUGdzRlI7O0FPOXJGTTtFQUNFO0FQaXNGUjs7QU83ckZNO0VBQ0U7QVBnc0ZSOztBTzlyRk07RUFDRTtBUGlzRlI7O0FPcnNGTTtFQUNFO0FQd3NGUjs7QU90c0ZNO0VBQ0U7QVB5c0ZSOztBTzdzRk07RUFDRTtBUGd0RlI7O0FPOXNGTTtFQUNFO0FQaXRGUjs7QU9ydEZNO0VBQ0U7QVB3dEZSOztBT3R0Rk07RUFDRTtBUHl0RlI7O0FPN3RGTTtFQUNFO0FQZ3VGUjs7QU85dEZNO0VBQ0U7QVBpdUZSOztBT3J1Rk07RUFDRTtBUHd1RlI7O0FPdHVGTTtFQUNFO0FQeXVGUjs7QU83dUZNO0VBQ0U7QVBndkZSOztBTzl1Rk07RUFDRTtBUGl2RlI7O0FPcnZGTTtFQUNFO0FQd3ZGUjs7QU90dkZNO0VBQ0U7QVB5dkZSOztBTzd2Rk07RUFDRTtBUGd3RlI7O0FPOXZGTTtFQUNFO0FQaXdGUjs7QU83d0ZNO0VBQ0U7QVBneEZSOztBTzl3Rk07RUFDRTtBUGl4RlI7O0FPN3dGTTtFQUNFO0FQZ3hGUjs7QU85d0ZNO0VBQ0U7QVBpeEZSOztBT3J4Rk07RUFDRTtBUHd4RlI7O0FPdHhGTTtFQUNFO0FQeXhGUjs7QU83eEZNO0VBQ0U7QVBneUZSOztBTzl4Rk07RUFDRTtBUGl5RlI7O0FPcnlGTTtFQUNFO0FQd3lGUjs7QU90eUZNO0VBQ0U7QVB5eUZSOztBTzd5Rk07RUFDRTtBUGd6RlI7O0FPOXlGTTtFQUNFO0FQaXpGUjs7QU9yekZNO0VBQ0U7QVB3ekZSOztBT3R6Rk07RUFDRTtBUHl6RlI7O0FPN3pGTTtFQUNFO0FQZzBGUjs7QU85ekZNO0VBQ0U7QVBpMEZSOztBT3IwRk07RUFDRTtBUHcwRlI7O0FPdDBGTTtFQUNFO0FQeTBGUjs7QU83MEZNO0VBQ0U7QVBnMUZSOztBTzkwRk07RUFDRTtBUGkxRlI7O0FPejBGRTtFQUNFO0FQNDBGSjs7QU8xMEZFO0VBQ0U7QVA2MEZKOztBT2oxRkU7RUFDRTtBUG8xRko7O0FPbDFGRTtFQUNFO0FQcTFGSjs7QU96MUZFO0VBQ0U7QVA0MUZKOztBTzExRkU7RUFDRTtBUDYxRko7O0FRMTNGQTtBQUVBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDRTtFQUNBO0FSMDNGRjs7QVF2M0ZBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FSdzNGRjs7QVFyM0ZBOztFQUFBO0FBSUE7RUFDRTtBUnUzRkY7O0FRcDNGQTs7O0VBQUE7QUFLQTtFQUNFO0VBQ0E7QVJzM0ZGOztBUW4zRkE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTtBUm8zRkY7O0FRajNGQTs7O0VBQUE7QUFLQTtFQUNFO0VBQ0E7QVJtM0ZGOztBUWgzRkE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0U7QVJpM0ZGOztBUTkyRkE7OztFQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7QVJnM0ZGOztBUTcyRkE7O0VBQUE7QUFJQTs7RUFFRTtBUisyRkY7O0FRNTJGQTs7O0VBQUE7QUFLQTs7O0VBR0U7RUFDQTtBUjgyRkY7O0FRMzJGQTs7RUFBQTtBQUlBO0VBQ0U7QVI2MkZGOztBUTEyRkE7OztFQUFBO0FBS0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QVI0MkZGOztBUXoyRkE7RUFDRTtBUjQyRkY7O0FRejJGQTtFQUNFO0FSNDJGRjs7QVF6MkZBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FSMDJGRjs7QVF2MkZBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7Ozs7O0VBS0U7RUFDQTtFQUNBO0VBQ0E7QVJ3MkZGOztBUXIyRkE7OztFQUFBO0FBS0E7UUFDUTtFQUNOO0FSdTJGRjs7QVFwMkZBOzs7RUFBQTtBQUtBO1NBQ1M7RUFDUDtBUnMyRkY7O0FRbjJGQTs7RUFBQTtBQUlBOzs7O0VBSUU7QVJxMkZGOztBUWwyRkE7O0VBQUE7QUFJQTs7OztFQUlFO0VBQ0E7QVJvMkZGOztBUWoyRkE7O0VBQUE7QUFJQTs7OztFQUlFO0FSbTJGRjs7QVFoMkZBOztFQUFBO0FBSUE7RUFDRTtBUmsyRkY7O0FRLzFGQTs7Ozs7RUFBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FSaTJGRjs7QVE5MUZBOztFQUFBO0FBSUE7RUFDRTtBUmcyRkY7O0FRNzFGQTs7RUFBQTtBQUlBO0VBQ0U7QVIrMUZGOztBUTUxRkE7OztFQUFBO0FBS0E7O0VBRUU7RUFDQTtBUjgxRkY7O0FRMzFGQTs7RUFBQTtBQUlBOztFQUVFO0FSNjFGRjs7QVExMUZBOzs7RUFBQTtBQUtBO0VBQ0U7RUFDQTtBUjQxRkY7O0FRejFGQTs7RUFBQTtBQUlBO0VBQ0U7QVIyMUZGOztBUXgxRkE7OztFQUFBO0FBS0E7RUFDRTtFQUNBO0FSMDFGRjs7QVF2MUZBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FSdzFGRjs7QVFyMUZBOztFQUFBO0FBSUE7RUFDRTtBUnUxRkY7O0FRcDFGQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRTtBUnExRkY7O0FRbDFGQTs7RUFBQTtBQUlBO0VBQ0U7QVJvMUZGOztBUy9xR0E7RUFDRTtBVGtyR0Y7O0FTL3FHQTtFQUNFO0FUa3JHRjs7QVMvcUdBOzs7OztFQUtFLGdJQ21XVztBViswRmI7O0FTL3FHQTtFQUNFLGNDb0RXO0VEbkRYO0VBRUE7QVRpckdGOztBUzdxR0E7RUFDRTtFQUNBO0FUZ3JHRjs7QVM1cUdBO0VBQ0U7QVQrcUdGOztBUzNxR0E7RUFDRTtBVDhxR0Y7O0FTM3FHQTtBQUNBO0VBQ0U7QVQ4cUdGOztBU3pxR0E7RUFDRTtBVDRxR0Y7O0FTenFHQTtBQUNBO0VBQ0U7QVQ0cUdGOztBU3ZxR0E7QUFDQTtFQUNFO0FUMHFHRjs7QVNycUdBO0FBQ0E7RUFDRTtBVHdxR0Y7O0FTbnFHQTtBQUNBO0VBQ0U7QVRzcUdGOztBU2pxR0E7RUFDRTtBVG9xR0Y7QVNucUdFO0VBQ0U7QVRxcUdKOztBU2hxR0E7RUFDRTtFQUNBO0VBQ0Esd0NDZGM7QVZpckdoQjs7QVMvcEdBO0VBQ0U7RUFDQTtFQUNBO0FUa3FHRjs7QVM5cEdBO0VBQ0U7QVRpcUdGO0FTaHFHRTtFQUNFO0VBQ0E7QVRrcUdKO0FTL3BHRTtFQUNFO0FUaXFHSjtBUzlwR0U7RUFDRTtBVGdxR0o7QVM5cEdFO0VBQ0U7QVRncUdKO0FTOXBHRTtFQUNFO0FUZ3FHSjtBUzlwR0U7RUFDRTtBVGdxR0o7O0FTM3BHQTs7RUFFRTtFQUNBO0FUOHBHRjs7QVN4cEdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVDJwR0o7QVN6cEdJO0VBQ0UsK0JDMUZjO0VEMkZkO0VBQ0E7RUFDQTtFQUNBO0FUMnBHTjtBU3hwR0k7RUFDRSxtREN0R3VCO0FWZ3dHN0I7QVN2cEdJO0VBQ0Usd0NDbkd1QjtBVjR2RzdCO0FTdHBHSTtFQUVFLHNDQ3RIVTtBVjZ3R2hCO0FTcHBHSTtFQUNFO0VBQ0EsaUNDL0dnQjtBVnF3R3RCO0FTbnBHSTtFQUNFO0FUcXBHTjtBU2hwR0U7RUFDRTtFQUNBO0FUa3BHSjs7QVM5b0dBO0VBQ0U7SUFDRTtFVGlwR0Y7RVMvb0dFOztJQUVFO0VUaXBHSjtFUzlvR0U7SUFDRTtJQUNBO0lBQ0E7RVRncEdKO0FBQ0Y7QVMzb0dBO0VBQ0U7RUFDQTtFQUNBLDBDQ2hKNkI7QVY2eEcvQjtBUzNvR0U7Ozs7RUFJRTtFQUNBO0VBQ0E7QVQ2b0dKO0FTMW9HRTtFQUNFO0VBQ0EsMENDN0oyQjtFRDhKM0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUNG9HSjtBU3pvR0U7RUFDRTtBVDJvR0o7QVN4b0dFO0VBQ0Usd0NDL0t5QjtBVnl6RzdCOztBU3JvR0E7RUFDRTtFQUNBO0VBQ0E7QVR3b0dGO0FTdG9HRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHdvR0o7QVN0b0dJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVHdvR047O0FTbG9HQTtFQUNFO0FUcW9HRjs7QVNsb0dBO0VBQ0U7QVRxb0dGOztBU2xvR0E7O3NCQUFBO0FBSUE7RUFDRTtBVG9vR0Y7O0FTam9HQTtFQUNFO0VBQ0E7QVRvb0dGOztBU2hvR0E7O3NCQUFBO0FBSUU7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUy9uR0U7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUy9uR0U7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUy9uR0U7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUy9uR0U7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUy9uR0U7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUy9uR0U7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUy9uR0U7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUy9uR0U7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUy9uR0U7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUy9uR0U7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUy9uR0U7RUFERjtJQUVJO0VUbW9HRjtBQUNGOztBUzduR0U7RUFERjtJQUVJO0VUaW9HRjtBQUNGOztBUzduR0E7RUFDRTtFQUNBLHdDQzNUMkI7RUQ0VDNCLHNDQzFVYztBVjA4R2hCO0FTOW5HRTtFQUNFLHdDQy9UeUI7QVYrN0c3QjtBUzduR0U7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsK0NDRjBCO0VERzFCLDJDQ3hWaUI7QVZ1OUdyQjs7QVMzbkdBO0VBQ0U7RUFDQTtBVDhuR0Y7O0FTMW5HQTtFQUNFO0FUNm5HRjs7QVMxbkdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVQ2bkdGO0FTMW5HSTtFQUNFO0FUNG5HTjtBUzFuR0k7RUFDRSx5RENsRWdCO0FWOHJHdEI7QVN4bkdFO0VBQ0U7QVQwbkdKO0FTeG5HSTtFQUNFLG9DQzVWdUI7QVZzOUc3QjtBU3RuR0U7RUFDRSwrQkNwWGdCO0FWNCtHcEI7QVNwbkdJO0VBQ0U7QVRzbkdOOztBU2puR0E7RUFDRTtBVG9uR0Y7O0FTam5HQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRvbkdGOztBU2huR0E7RUFFRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUEyREE7RVR3akdGO0VTam5HRTtJQUNFO0VUbW5HSjtFU2huR0U7O0lBRUU7SUFDQTtFVGtuR0o7RVMvbUdFO0lBQ0U7RVRpbkdKO0VTOW1HRTtJQUNFO0lBQ0E7RVRnbkdKO0VTOW1HSTtJQUNFO0lBQ0E7RVRnbkdOO0VTOW1HTTtJQUNFO0VUZ25HUjtFUzNtR0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VUNm1HSjtFUzNtR0k7SUFDRTtJQUNBO0VUNm1HTjtFU3ptR0U7SUFDRTtJQUNBO0VUMm1HSjtFU3htR0U7SUFDRTtJQUNBO0lBQ0E7RVQwbUdKO0VTdm1HRTtJQUNFO0lBQ0E7RVR5bUdKO0VTcm1HRTtJQUNFO0lBQ0E7RVR1bUdKO0FBQ0Y7QVNsbUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVRvbUdGO0FTbG1HRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVRvbUdKOztBU2htR0E7O21CQUFBO0FBSUE7RUFDRTtBVGttR0Y7O0FTL2xHQTtFQUNFO0FUa21HRjs7QVNobUdBO0VBQ0U7QVRtbUdGOztBU2ptR0E7RUFDRTtBVG9tR0Y7O0FTaG1HQTtFQUNFO0FUbW1HRjs7QVNqbUdBO0VBQ0U7QVRvbUdGOztBU2htR0E7O0VBQ0U7QVRvbUdGOztBU2xtR0E7RUFDRTtBVHFtR0Y7O0FTbm1HQTtFQUNFO0VBQ0E7RUFDQTtBVHNtR0Y7O0FTcG1HQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FUdW1HRjs7QVNybUdBO0VBQ0U7QVR3bUdGOztBU3JtR0E7OzBCQUFBO0FBY0k7RUFDRTtBVDZsR047O0FTeGxHTTtFQUNFO0FUMmxHUjs7QVM1bEdNO0VBQ0U7QVQrbEdSOztBU2htR007RUFDRTtBVG1tR1I7O0FTcG1HTTtFQUNFO0FUdW1HUjs7QVNqbUdPO0VBQ0U7RUFDQTtBVG9tR1Q7O0FTOWxHTTtFQUNFO0VBQ0E7QVRpbUdSOztBU3huR0k7RUFDRTtBVDJuR047O0FTdG5HTTtFQUNFO0FUeW5HUjs7QVMxbkdNO0VBQ0U7QVQ2bkdSOztBUzluR007RUFDRTtBVGlvR1I7O0FTbG9HTTtFQUNFO0FUcW9HUjs7QVMvbkdPO0VBQ0U7RUFDQTtBVGtvR1Q7O0FTNW5HTTtFQUNFO0VBQ0E7QVQrbkdSOztBU3RwR0k7RUFDRTtBVHlwR047O0FTcHBHTTtFQUNFO0FUdXBHUjs7QVN4cEdNO0VBQ0U7QVQycEdSOztBUzVwR007RUFDRTtBVCtwR1I7O0FTaHFHTTtFQUNFO0FUbXFHUjs7QVM3cEdPO0VBQ0U7RUFDQTtBVGdxR1Q7O0FTMXBHTTtFQUNFO0VBQ0E7QVQ2cEdSOztBU3ByR0k7RUFDRTtBVHVyR047O0FTbHJHTTtFQUNFO0FUcXJHUjs7QVN0ckdNO0VBQ0U7QVR5ckdSOztBUzFyR007RUFDRTtBVDZyR1I7O0FTOXJHTTtFQUNFO0FUaXNHUjs7QVMzckdPO0VBQ0U7RUFDQTtBVDhyR1Q7O0FTeHJHTTtFQUNFO0VBQ0E7QVQyckdSOztBU2x0R0k7RUFDRTtBVHF0R047O0FTaHRHTTtFQUNFO0FUbXRHUjs7QVNwdEdNO0VBQ0U7QVR1dEdSOztBU3h0R007RUFDRTtBVDJ0R1I7O0FTNXRHTTtFQUNFO0FUK3RHUjs7QVN6dEdPO0VBQ0U7RUFDQTtBVDR0R1Q7O0FTdHRHTTtFQUNFO0VBQ0E7QVR5dEdSOztBU2h2R0k7RUFDRTtBVG12R047O0FTOXVHTTtFQUNFO0FUaXZHUjs7QVNsdkdNO0VBQ0U7QVRxdkdSOztBU3R2R007RUFDRTtBVHl2R1I7O0FTMXZHTTtFQUNFO0FUNnZHUjs7QVN2dkdPO0VBQ0U7RUFDQTtBVDB2R1Q7O0FTcHZHTTtFQUNFO0VBQ0E7QVR1dkdSOztBUzl3R0k7RUFDRTtBVGl4R047O0FTNXdHTTtFQUNFO0FUK3dHUjs7QVNoeEdNO0VBQ0U7QVRteEdSOztBU3B4R007RUFDRTtBVHV4R1I7O0FTeHhHTTtFQUNFO0FUMnhHUjs7QVNyeEdPO0VBQ0U7RUFDQTtBVHd4R1Q7O0FTbHhHTTtFQUNFO0VBQ0E7QVRxeEdSOztBUzV5R0k7RUFDRTtBVCt5R047O0FTMXlHTTtFQUNFO0FUNnlHUjs7QVM5eUdNO0VBQ0U7QVRpekdSOztBU2x6R007RUFDRTtBVHF6R1I7O0FTdHpHTTtFQUNFO0FUeXpHUjs7QVNuekdPO0VBQ0U7RUFDQTtBVHN6R1Q7O0FTaHpHTTtFQUNFO0VBQ0E7QVRtekdSOztBUzEwR0k7RUFDRTtBVDYwR047O0FTeDBHTTtFQUNFO0FUMjBHUjs7QVM1MEdNO0VBQ0U7QVQrMEdSOztBU2gxR007RUFDRTtBVG0xR1I7O0FTcDFHTTtFQUNFO0FUdTFHUjs7QVNqMUdPO0VBQ0U7RUFDQTtBVG8xR1Q7O0FTOTBHTTtFQUNFO0VBQ0E7QVRpMUdSOztBU3gyR0k7RUFDRTtBVDIyR047O0FTdDJHTTtFQUNFO0FUeTJHUjs7QVMxMkdNO0VBQ0U7QVQ2MkdSOztBUzkyR007RUFDRTtBVGkzR1I7O0FTbDNHTTtFQUNFO0FUcTNHUjs7QVMvMkdPO0VBQ0U7RUFDQTtBVGszR1Q7O0FTNTJHTTtFQUNFO0VBQ0E7QVQrMkdSOztBU3Q0R0k7RUFDRTtBVHk0R047O0FTcDRHTTtFQUNFO0FUdTRHUjs7QVN4NEdNO0VBQ0U7QVQyNEdSOztBUzU0R007RUFDRTtBVCs0R1I7O0FTaDVHTTtFQUNFO0FUbTVHUjs7QVM3NEdPO0VBQ0U7RUFDQTtBVGc1R1Q7O0FTMTRHTTtFQUNFO0VBQ0E7QVQ2NEdSOztBU3A2R0k7RUFDRTtBVHU2R047O0FTbDZHTTtFQUNFO0FUcTZHUjs7QVN0NkdNO0VBQ0U7QVR5NkdSOztBUzE2R007RUFDRTtBVDY2R1I7O0FTOTZHTTtFQUNFO0FUaTdHUjs7QVMzNkdPO0VBQ0U7RUFDQTtBVDg2R1Q7O0FTeDZHTTtFQUNFO0VBQ0E7QVQyNkdSOztBU2w4R0k7RUFDRTtBVHE4R047O0FTaDhHTTtFQUNFO0FUbThHUjs7QVNwOEdNO0VBQ0U7QVR1OEdSOztBU3g4R007RUFDRTtBVDI4R1I7O0FTNThHTTtFQUNFO0FUKzhHUjs7QVN6OEdPO0VBQ0U7RUFDQTtBVDQ4R1Q7O0FTdDhHTTtFQUNFO0VBQ0E7QVR5OEdSOztBU2grR0k7RUFDRTtBVG0rR047O0FTOTlHTTtFQUNFO0FUaStHUjs7QVNsK0dNO0VBQ0U7QVRxK0dSOztBU3QrR007RUFDRTtBVHkrR1I7O0FTMStHTTtFQUNFO0FUNitHUjs7QVN2K0dPO0VBQ0U7RUFDQTtBVDArR1Q7O0FTcCtHTTtFQUNFO0VBQ0E7QVR1K0dSOztBUzkvR0k7RUFDRTtBVGlnSE47O0FTNS9HTTtFQUNFO0FUKy9HUjs7QVNoZ0hNO0VBQ0U7QVRtZ0hSOztBU3BnSE07RUFDRTtBVHVnSFI7O0FTeGdITTtFQUNFO0FUMmdIUjs7QVNyZ0hPO0VBQ0U7RUFDQTtBVHdnSFQ7O0FTbGdITTtFQUNFO0VBQ0E7QVRxZ0hSOztBUzVoSEk7RUFDRTtBVCtoSE47O0FTMWhITTtFQUNFO0FUNmhIUjs7QVM5aEhNO0VBQ0U7QVRpaUhSOztBU2xpSE07RUFDRTtBVHFpSFI7O0FTdGlITTtFQUNFO0FUeWlIUjs7QVNuaUhPO0VBQ0U7RUFDQTtBVHNpSFQ7O0FTaGlITTtFQUNFO0VBQ0E7QVRtaUhSOztBV2pwSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCRGdaeUI7RUMvWXpCO0VBQ0E7QVhvcElGO0FXbHBJRTtFQUNFLDZCRHFZa0I7RUNwWWxCLG1CRHlZcUI7RUN4WXJCO0VBQ0E7RUFDQTtBWG9wSUo7QVdqcElJO0VBQ0U7RUFDQTtFQUNBO0FYbXBJTjtBV2hwSU07O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhrcElSO0FXL29JTTtFQUNFO0VBQ0E7RUFDQSxXRGtYOEI7RUNqWDlCLDJDRGdYNEI7RUMvVzVCO0FYaXBJUjtBVzdvSU07RUFDRTtBWCtvSVI7QVc1b0lNO0VBQ0U7QVg4b0lSO0FXM29JTTtFQUNFO0VBQ0E7RUFDQTtBWDZvSVI7QVd2b0lJO0VBQ0U7QVh5b0lOO0FXdG9JSTtFQUNFLHNDRHhCVTtFQ3lCVix3Q0RYdUI7QVZtcEk3QjtBV3RvSU07RUFDRSx3Q0RkcUI7QVZzcEk3QjtBV25vSUU7RUFDRTtFQUNBO0VBQ0EsMkJEcENZO0FWeXFJaEI7QVdsb0lNO0VBQ0Usb0NEVnFCO0FWOG9JN0I7QVc5bklJO0VBQ0UsNkJEdVRnQjtFQ3RUaEI7RUFDQTtBWGdvSU47QVc3bklJO0VBQ0U7QVgrbklOO0FXNW5JSTtFQUNFO0FYOG5JTjs7QVd2bklBO0VBQ0U7RUFDQSwyQkRsRWM7QVY0ckloQjs7QVd2bklBO0VBQ0U7RUFDQTtBWDBuSUY7O0FZMXVJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQkYwRWE7RUV6RWIsWUZ5RWE7RUV4RWIsK0JGeUVZO0VFeEVaO0VBQ0E7QVo2dUlGO0FZM3VJRTtFQUNFO0VBQ0E7RUFDQSx3Q0Z3Q3lCO0VFdkN6QixzQ0Z5Qlk7RUV4Qlo7QVo2dUlKO0FZM3VJRTtFQUNFO0FaNnVJSjtBWTF1SUU7RUFDRTtBWjR1SUo7O0FZeHVJQTtFQUNFLHdDRnFEbUI7QVZzcklyQjs7QVl2dUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsaUJGMkNhO0VFMUNiLFlGMENhO0VFekNiO0FaMHVJRjs7QVl0dUlBO0VBQ0U7QVp5dUlGOztBWXR1SUE7RUFDRTtBWnl1SUY7O0FZdHVJQTtFQUNFLCtCRjZCWTtBVjRzSWQ7O0FZdHVJQTtFQUNFO0FaeXVJRjs7QVl0dUlBO0VBQ0U7RUFDQTtFQUNBO0FaeXVJRjs7QWF4eUlBO0FBQ0E7O0VBRUU7RUFDQTtBYjJ5SUY7O0FjNXlJQTtFQUNFO0VBQ0E7RUFDQTtBZCt5SUY7O0FjN3lJQTtFQUNFO0lBQ0U7RWRneklGO0FBQ0Y7QWM5eUlBO0VBQ0U7SUFDRTtFZGd6SUY7QUFDRjtBYzd5SUE7RUFDRTtBZCt5SUY7O0FjenhJQTtFQUVFO0VBQ0E7QWQyeElGO0FjdHhJRTtFQUFPO0FkeXhJVDtBY3h4SUU7RUFBTztBZDJ4SVQ7QWMxeElFO0VBQU87QWQ2eElUO0FjNXhJRTtFQUFPO0FkK3hJVDtBYzl4SUU7RUFBTztBZGl5SVQ7QWNoeUlFO0VBQU87QWRteUlUO0FjbHlJRTtFQUFPO0FkcXlJVDtBY3B5SUU7RUFBTztBZHV5SVQ7QWN0eUlFO0VBQU87QWR5eUlUO0FjeHlJRTtFQUFPO0FkMnlJVDtBYzF5SUU7RUFBTztBZDZ5SVQ7QWM1eUlFO0VBQU87QWQreUlUO0FjN3lJRTtFQUFhO0FkZ3pJZjtBYy95SUU7RUFBYTtBZGt6SWY7QWNqeklFO0VBQWE7QWRveklmO0FjbnpJRTtFQUFhO0Fkc3pJZjtBY3J6SUU7RUFBYTtBZHd6SWY7QWN2eklFO0VBQWE7QWQweklmO0FjenpJRTtFQUFhO0FkNHpJZjtBYzN6SUU7RUFBYTtBZDh6SWY7QWM3eklFO0VBQWE7QWRnMElmO0FjL3pJRTtFQUFjO0FkazBJaEI7QWNqMElFO0VBQWM7QWRvMEloQjtBY2owSUU7RUFDRTtJQUFPO0VkbzBJVDtFY24wSUU7SUFBTztFZHMwSVQ7RWNyMElFO0lBQU87RWR3MElUO0VjdjBJRTtJQUFPO0VkMDBJVDtFY3owSUU7SUFBTztFZDQwSVQ7RWMzMElFO0lBQU87RWQ4MElUO0VjNzBJRTtJQUFPO0VkZzFJVDtFYy8wSUU7SUFBTztFZGsxSVQ7RWNqMUlFO0lBQU87RWRvMUlUO0VjbjFJRTtJQUFPO0VkczFJVDtFY3IxSUU7SUFBTztFZHcxSVQ7RWN2MUlFO0lBQU87RWQwMUlUO0VjeDFJRTtJQUFhO0VkMjFJZjtFYzExSUU7SUFBYTtFZDYxSWY7RWM1MUlFO0lBQWE7RWQrMUlmO0VjOTFJRTtJQUFhO0VkaTJJZjtFY2gySUU7SUFBYTtFZG0ySWY7RWNsMklFO0lBQWE7RWRxMklmO0VjcDJJRTtJQUFhO0VkdTJJZjtFY3QySUU7SUFBYTtFZHkySWY7RWN4MklFO0lBQWE7RWQyMklmO0VjMTJJRTtJQUFjO0VkNjJJaEI7RWM1MklFO0lBQWM7RWQrMkloQjtBQUNGO0FjNTJJRTtFQUNFO0lBQU87RWQrMklUO0VjOTJJRTtJQUFPO0VkaTNJVDtFY2gzSUU7SUFBTztFZG0zSVQ7RWNsM0lFO0lBQU87RWRxM0lUO0VjcDNJRTtJQUFPO0VkdTNJVDtFY3QzSUU7SUFBTztFZHkzSVQ7RWN4M0lFO0lBQU87RWQyM0lUO0VjMTNJRTtJQUFPO0VkNjNJVDtFYzUzSUU7SUFBTztFZCszSVQ7RWM5M0lFO0lBQU87RWRpNElUO0VjaDRJRTtJQUFPO0VkbTRJVDtFY2w0SUU7SUFBTztFZHE0SVQ7RWNuNElFO0lBQWM7RWRzNEloQjtFY3I0SUU7SUFBYztFZHc0SWhCO0VjdjRJRTtJQUFjO0VkMDRJaEI7RWN6NElFO0lBQWM7RWQ0NEloQjtFYzM0SUU7SUFBYztFZDg0SWhCO0VjNzRJRTtJQUFjO0VkZzVJaEI7RWMvNElFO0lBQWM7RWRrNUloQjtFY2o1SUU7SUFBYztFZG81SWhCO0VjbjVJRTtJQUFjO0VkczVJaEI7RWNyNUlFO0lBQWM7RWR3NUloQjtFY3Y1SUU7SUFBYztFZDA1SWhCO0FBQ0Y7QWN2NUlFO0VBQ0U7SUFBUTtFZDA1SVY7RWN6NUlFO0lBQVE7RWQ0NUlWO0VjMzVJRTtJQUFRO0VkODVJVjtFYzc1SUU7SUFBUTtFZGc2SVY7RWMvNUlFO0lBQVE7RWRrNklWO0VjajZJRTtJQUFRO0VkbzZJVjtFY242SUU7SUFBUTtFZHM2SVY7RWNyNklFO0lBQVE7RWR3NklWO0VjdjZJRTtJQUFRO0VkMDZJVjtFY3o2SUU7SUFBUTtFZDQ2SVY7RWMzNklFO0lBQVE7RWQ4NklWO0VjNzZJRTtJQUFRO0VkZzdJVjtFYzk2SUU7SUFBYztFZGk3SWhCO0VjaDdJRTtJQUFjO0VkbTdJaEI7RWNsN0lFO0lBQWM7RWRxN0loQjtFY3A3SUU7SUFBYztFZHU3SWhCO0VjdDdJRTtJQUFjO0VkeTdJaEI7RWN4N0lFO0lBQWM7RWQyN0loQjtFYzE3SUU7SUFBYztFZDY3SWhCO0VjNTdJRTtJQUFjO0VkKzdJaEI7RWM5N0lFO0lBQWM7RWRpOEloQjtFY2g4SUU7SUFBZTtFZG04SWpCO0VjbDhJRTtJQUFlO0VkcThJakI7QUFDRjs7QWVsbUpBO0VBZUUsd0NMeUMyQjtFS3ZDM0Isa0RMK0MwQjtFSzdDMUI7RUFDQSxZTG1ScUI7RUtsUnJCLGlCTGtScUI7QVZtMEl2QjtBZXptSkU7RUFDRTtBZjJtSko7QWV6bUpJO0VBQ0UsZ0JMa1NpQjtFS2pTakI7QWYybUpOO0FleG1KSTtFQUNFO0VBQ0E7QWYwbUpOO0FlOWxKRTtFQUNFLHdDTGdDeUI7QVZna0o3QjtBZTdsSkU7Ozs7RUFJRTtFQUNBO0VBQ0EsWUxzUW1CO0VLclFuQixpQkxxUW1CO0FWMDFJdkI7QWU1bEpFO0VBQ0U7RUFDQTtBZjhsSko7QWUzbEpFO0VBQ0U7SUFDRTtFZjZsSko7QUFDRjtBZXpsSkU7RUFDRTtFQUNBO0VBQ0E7RUFDQSxZTGtQbUI7RUtqUG5CO0FmMmxKSjtBZXpsSkk7RUFDRSxZTDhPaUI7RUs3T2pCLGlCTDZPaUI7QVY4Mkl2QjtBZXRsSkU7RUFDRTtFQUNBLHdDTFR5QjtFS1V6QjtFQUNBLGlCTDBPcUI7RUt6T3JCO0Fmd2xKSjtBZXRsSkk7RUFDRTtFQUNBO0Fmd2xKTjtBZXJsSkk7RUFaRjtJQWFJO0lBQ0E7RWZ3bEpKO0VldGxKSTtJQUNFO0lBQ0E7RWZ3bEpOO0VlcmxKSTtJQUNFO0VmdWxKTjtFZXJsSkk7SUFDRTtJQUNBO0VmdWxKTjtBQUNGO0FlcGxKSTtFQUNFO0VBQ0E7QWZzbEpOO0FlbmxKSTs7OztFQUlFO0VBQ0E7QWZxbEpOO0FlL2tKRTtFQUNFO0VBQ0E7RUFDQTtBZmlsSko7QWU1a0pFO0VBQ0U7RUFDQTtBZjhrSko7QWU1a0pJO0VBQ0U7RUFDQTtFQUNBO0FmOGtKTjtBZTVrSk07RUFDRTtFQUNBLGVMeUtXO0VLeEtYLHdDTHpFcUI7RUswRXJCO0VBQ0E7RUFDQTtBZjhrSlI7QWU1a0pRO0VBQ0UseURMMUZ5QjtBVndxSm5DO0FlM2tKUTtFQUNFLHlETC9GeUI7QVY0cUpuQztBZTFrSlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBZjRrSlY7QWUxa0pVO0VBRUU7RUFDQTtBZjJrSlo7QWVya0pJO0VBQ0U7QWZ1a0pOO0FlbGtKRTtFQUNFO0Fmb2tKSjtBZWprSkU7RUFDRTtFQUNBO0FmbWtKSjtBZWprSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmbWtKTjtBZWprSk07RUFFRTtFQUNBO0Fma2tKUjtBZTlqSkk7RUFDRTtFQUNBO0FmZ2tKTjtBZTlqSk07RUFDRSwwQ0xySXVCO0VLc0l2QjtBZmdrSlI7QWU3akpNO0VBQ0Usd0NMM0lxQjtBVjBzSjdCOztBZXhqSkE7RUFDRTtFQUNBLFlMMkZxQjtFSzFGckI7QWYyakpGO0FlempKRTtFQUNFO0VBQ0E7QWYyakpKOztBZXZqSkE7RUFDRTtJQUNFLGdCTDhFWTtFVjQrSWQ7RWV4akpBO0lBQ0UsWUwyRVk7SUsxRVosaUJMMEVZO0VWZy9JZDtFZXhqSkE7SUFDRSxZTHVFWTtFVm0vSWQ7QUFDRjtBZ0J0eEpBO0VBQ0U7QWhCd3hKRjs7QWdCcnhKQTtFQWVFLGdJTjBWVztFTXpWWDtFQUNBLDZCTnlWVztBVmk3SWI7QWdCeHhKRTtFQUhGO0lBSUk7RWhCMnhKRjtBQUNGO0FnQnp4SkU7RUFQRjtJQVFJO0VoQjR4SkY7QUFDRjtBZ0IxeEpFO0VBWEY7SUFZSTtFaEI2eEpGO0FBQ0Y7O0FnQnR4SkE7RUFDQztFQUNBO0FoQnl4SkQ7O0FnQnJ4SkE7RUFBcUM7QWhCeXhKckM7O0FnQnh4SkE7RUFBSyxpQk5pVlM7RU1qVmdCO0VBQW1CO0FoQjh4SmpEOztBZ0I3eEpBO0VBQUssa0JOaVZTO0VNalZnQjtFQUFtQjtBaEJteUpqRDs7QWdCbHlKQTtFQUFLLGtCTmlWUztFTWpWZ0I7RUFBbUI7QWhCd3lKakQ7O0FnQnZ5SkE7RUFBSyxrQk5pVlM7RU1qVmdCO0VBQW1CO0FoQjZ5SmpEOztBZ0I1eUpBO0VBQUssa0JOaVZTO0VNalZnQjtFQUFtQjtBaEJrekpqRDs7QWdCanpKQTtFQUFLLGtCTmlWUztFTWpWZ0I7RUFBbUI7QWhCdXpKakQ7O0FnQnB6SkE7RUFBSztBaEJ3ekpMOztBZ0J2ekpBO0VBQVM7QWhCMnpKVDs7QWdCMXpKQTtFQUFRO0FoQjh6SlI7O0FnQjd6SkE7RUFBUztBaEJpMEpUOztBZ0JoMEpBO0VBQVE7QWhCbzBKUjs7QWdCL3pKSTtFQUhKO0lBSU07RWhCbTBKSjtBQUNGO0FnQnIwSkk7RUFISjtJQUlNO0VoQncwSko7QUFDRjtBZ0IxMEpJO0VBSEo7SUFJTTtFaEI2MEpKO0FBQ0Y7QWdCLzBKSTtFQUhKO0lBSU07RWhCazFKSjtBQUNGO0FnQnAxSkk7RUFISjtJQUlNO0VoQnUxSko7QUFDRjtBZ0J6MUpJO0VBSEo7SUFJTTtFaEI0MUpKO0FBQ0Y7QWdCOTFKSTtFQUhKO0lBSU07RWhCaTJKSjtBQUNGO0FnQm4ySkk7RUFISjtJQUlNO0VoQnMySko7QUFDRjtBZ0J4MkpJO0VBSEo7SUFJTTtFaEIyMkpKO0FBQ0Y7QWdCNzJKSTtFQUhKO0lBSU07RWhCZzNKSjtBQUNGO0FnQmwzSkk7RUFISjtJQUlNO0VoQnEzSko7QUFDRjtBZ0J2M0pJO0VBSEo7SUFJTTtFaEIwM0pKO0FBQ0Y7QWdCNTNKSTtFQUhKO0lBSU07RWhCKzNKSjtBQUNGO0FnQmo0Skk7RUFISjtJQUlNO0VoQm80Sko7QUFDRjtBZ0J0NEpJO0VBSEo7SUFJTTtFaEJ5NEpKO0FBQ0Y7QWdCMzRKSTtFQUhKO0lBSU07RWhCODRKSjtBQUNGO0FnQmg1Skk7RUFISjtJQUlNO0VoQm01Sko7QUFDRjtBZ0JyNUpJO0VBSEo7SUFJTTtFaEJ3NUpKO0FBQ0Y7QWdCMTVKSTtFQUhKO0lBSU07RWhCNjVKSjtBQUNGO0FnQi81Skk7RUFISjtJQUlNO0VoQms2Sko7QUFDRjtBZ0JwNkpJO0VBSEo7SUFJTTtFaEJ1NkpKO0FBQ0Y7QWdCbDZKRTtFQVZGO0lBV0k7RWhCcTZKRjtBQUNGOztBaUJoK0pBO0VBVUU7QWpCMDlKRjtBaUJuK0pFO0VBQ0U7RUFDQTtBakJxK0pKO0FpQmwrSkU7RUFDRTtBakJvK0pKOztBa0IxK0pBO0VBQ0U7RUFDQSxhUnVJYTtFUXRJYjtFQUNBO0VBRUEsOENSb0ljO0FWdzJKaEI7O0FrQnorSkE7RUFDRTtFQUNBO0VBRUEsOENSNkhjO0VRNUhkO0VBQ0E7QWxCMitKRjtBa0J4K0pFO0VBQ0U7RUFDQTtBbEIwK0pKO0FrQnorSkk7RUFDRTtBbEIyK0pOO0FrQnQrSkU7RUFDRTtBbEJ3K0pKO0FrQnQrSkk7RUFDRTtFQUNBO0FsQncrSk47QWtCdCtKSTtFQUNFO0FsQncrSk47QWtCdCtKSTtFQUNFO0VBQ0E7QWxCdytKTjtBa0J0K0pJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWxCdytKTjtBa0JwK0pFO0VBQ0U7QWxCcytKSjtBa0JuK0pFO0VBQ0U7QWxCcStKSjtBa0JsK0pFO0VBQ0U7QWxCbytKSjtBa0JoK0pFO0VBYUU7QWxCczlKSjtBa0JqK0pNO0VBQ0U7RUFDQTtFQUNBO0FsQm0rSlI7QWtCaitKUTtFQUNFO0FsQm0rSlY7QWtCNTlKSTtFQUNFO0FsQjg5Sk47QWtCNzlKTTtFQUNFO0VBQ0E7RUFDQTtBbEIrOUpSO0FrQjM5Skk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEI2OUpOO0FrQjM5Sk07RUFDRTtBbEI2OUpSO0FrQnQ5Skk7RUFDRTtBbEJ3OUpOO0FrQnI5Skk7RUFDRTtFQUNBO0FsQnU5Sk47QWtCaDlKRTtFQUNFO0FsQms5Sko7QWtCLzhKSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCaTlKTjtBa0I5OEpJO0VBQ0UsbUNSU1U7RVFSVjtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFSR1M7QVY2OEpmO0FrQjU4SkU7RUFDRSxhUkZXO0VRR1g7QWxCODhKSjtBa0I1OEpJO0VBQ0U7QWxCODhKTjtBa0I1OEpJO0VBQ0U7RUFDQTtFQUNBO0FsQjg4Sk47QWtCNThKTTtFQUNFO0FsQjg4SlI7QWtCejhKRTtFQUtFO0VBQ0E7RUFDQTtBbEJ1OEpKO0FrQjc4Skk7RUFDRTtBbEIrOEpOO0FrQng4Skk7RUFDRTtFQUNBO0FsQjA4Sk47QWtCdjhKSTtFQUNFLDJCUm5JVTtFUW9JVjtBbEJ5OEpOO0FrQnY4Sk07RUFDRSxtRFJoSXFCO0FWeWtLN0I7QWtCcDhKRTtFQUNFLGFSNUNXO0VRNkNYO0VBQ0EsOENSN0NZO0VROENaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQnM4Sko7QWtCcDhKSTtFQUNFO0VBQ0E7QWxCczhKTjs7QW1CMW9LQTtFQUNFO0VBQ0E7RUFDQTtBbkI2b0tGO0FtQjNvS0U7RUFMRjtJQU1JO0lBQ0E7RW5COG9LRjtBQUNGO0FtQjdvS0U7RUFURjtJQVVJO0lBQ0E7SUFDQTtFbkJncEtGO0FBQ0Y7QW1CL29LRTtFQWRGO0lBZUk7SUFDQTtJQUNBO0VuQmtwS0Y7QUFDRjs7QW1CL29LQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JUa1VhO0VTalViO0VBQ0EsaURUaVVZO0VTaFVaO0VBQ0E7RUFDQTtFQUNBLGdDVDhUaUI7RVM3VGpCO0VBQ0E7RUFDQTtFQUNBO0FuQmlwS0Y7QW1CL29LRTtFQUNFLGNUd1RpQjtFU3ZUakI7RUFDQTtFQUNBO0FuQmlwS0o7QW1COW9LRTtFQUNFO0FuQmdwS0o7QW1CN29LRTtFQWhDRjtJQWlDSTtJQUNBO0VuQmdwS0Y7QUFDRjs7QW9CeHNLQTtFQUNFO0VBQ0E7RUEwQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNDVnNCYztFVXJCZDtFQUNBO0FwQmtxS0Y7QW9CanRLRTtFQUNFO0FwQm10S0o7QW9CanRLSTtFQUNFLDBDVmlEeUI7QVZrcUsvQjtBb0JodEtJOzs7RUFHRSw0Q1Y0QzJCO0FWc3FLakM7QW9CL3NLSTtFQUNFLG9DVnNEdUI7QVYycEs3QjtBb0I5c0tJOztFQUVFO0FwQmd0S047QW9CN3NLSTs7O0VBR0Usd0NWMkJ1QjtBVm9ySzdCO0FvQjVzS0k7RUFDRSxtRFZ1QnVCO0FWdXJLN0I7QW9CMXNLRTtFQUNFO0FwQjRzS0o7QW9CM3NLSTtFQUNFO0FwQjZzS047QW9CaHNLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCa3NLSjtBb0Joc0tJO0VBcUJFLCtCVi9CYztFVWdDZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQjhxS047QW9CMXNLTTtFQUNFO0FwQjRzS1I7QW9CenNLTTtFQUdFLDJCVjdCUTtBVnN1S2hCO0FvQnRzS007RUFDRSxtRFYxQnFCO0FWa3VLN0I7QW9CcnNLTTtFQUVFLG1EVjlCcUI7RVUrQnJCO0FwQnNzS1I7QW9CeHJLSTtFQU1FLGlDVi9DZ0I7RVVnRGhCO0VBQ0E7QXBCcXJLTjtBb0IzcktNO0VBQ0U7QXBCNnJLUjtBb0JwcktFO0VBQ0U7RUFDQTtFQUNBO0VBQ0Esc0NWckVZO0VVc0VaO0FwQnNyS0o7O0FvQmpyS0E7RUFDRTtJQUNFO0VwQm9yS0Y7RW9CbHJLRTtJQUNFO0VwQm9yS0o7RW9CbHJLSTtJQUNFO0VwQm9yS047QUFDRjtBcUJsektBO0VBQ0U7RUFDQTtFQUVBLHFEWHFXaUI7RVdwV2pCLDZDWHFXbUI7RVduV25CO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7QXJCOHlLRjs7QXFCM3lLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxxRFhxVWlCO0VXcFVqQjtFQUNBO0VBQ0E7QXJCOHlLRjs7QXNCcjFLQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUEsWVo4RmM7RVkzRmQsWVp1RmM7RVl0RmQsa0JaNEZjO0VZekZkO0VBQ0E7RUFFQSx3Q1p3QzJCO0VZdkMzQixlWmlGaUI7RVloRmpCO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0F0QiswS0Y7O0FzQjMwS0E7RUFDRTtBdEI4MEtGOztBc0I1MEtBO0VBQ0U7QXRCKzBLRjs7QXNCNzBLQTtFQUNFO0F0QmcxS0Y7O0FzQjkwS0E7RUFDRTtFQUNBO0F0QmkxS0Y7O0FzQi8wS0E7RUFDRTtBdEJrMUtGOztBc0JoMUtBO0VBQ0U7QXRCbTFLRjs7QXNCOTBLQTs7Ozs7Ozs7Ozs7Ozs7O0VBZUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJpMUtGO0FzQmgxS0U7Ozs7Ozs7Ozs7Ozs7OztFQUNFO0VBQ0E7QXRCZzJLSjs7QXNCMzFLQTtFQUNFO0F0QjgxS0Y7O0FzQjMxS0E7RUFDRTtFQUNBO0F0QjgxS0Y7O0FzQjMxS0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QjgxS0Y7QXNCNzFLRTtFQUVFO0VBQ0Esb0Nac0JpQztBVncwS3JDO0FzQjUxS0U7RUFDRSxvQ1pvQmlDO0FWMDBLckM7QXNCNTFLRTtFQUVFO0VBQ0E7RUFDQTtBdEI2MUtKOztBc0J6MUtBO0VBQ0U7RUFDQSwyQloxRWM7RVkyRWQ7QXRCNDFLRjs7QXNCOTBLRTtFQUNFLHlEWnhGK0I7QVZ5NktuQztBc0I3MEtFO0VBQ0UseURaNUYrQjtBVjI2S25DOztBc0JyektBO0VBd0RFLDBDWmhLNkI7RVlrSzdCLFdaekZxQjtFWTBGckIsWVoxRnFCO0VZNkZyQix3Q1pwS2dCO0VZcUtoQixtQlo3RnVCO0VZOEZ2QjtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBdEIydktGO0FzQnIwS0U7RUFDRSxvRFp4R2lDO0FWKzZLckM7QXNCbjBLRTtFQUNFLG9EWjVHaUM7QVZpN0tyQztBc0JqMEtFO0VBQ0U7QXRCbTBLSjtBc0JoMEtFO0VBSUUsV1p2RXlCO0VZd0V6QixZWnhFeUI7RVl5RXpCO0F0Qit6S0o7QXNCcDBLSTtFQUNFO0F0QnMwS047QXNCM3pLRTtFQUlFLFdaN0V5QjtFWThFekIsWVo5RXlCO0FWdzRLN0I7QXNCOXpLSTtFQUNFO0F0QmcwS047QXNCdnpLRTtFQUtFO0VBQ0E7RUFDQTtBdEJxektKO0FzQjN6S0k7RUFDRTtFQUNBO0F0QjZ6S047QXNCMXhLRTtFQUNFLDBDWnZMMkI7RVl3TDNCLGlCWnJJMEI7RVl1STFCO0VBQ0E7RUFDQTtBdEIyeEtKOztBc0J2eEtBO0VBQ0UsWVo1SmM7QVZzN0toQjs7QXNCdnhLQTtFQTBGRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCaXNLRjtBc0I5eEtJO0VBQ0U7RUFDQTtFQUNBO0F0Qmd5S047QXNCM3hLRTtFQUVFO0F0QjR4S0o7QXNCM3hLSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCNnhLTjtBc0I1eEtNO0VBQ0U7RUFDQTtBdEI4eEtSO0FzQjF4S0U7RUFDRTtBdEI0eEtKO0FzQjN4S0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEI2eEtOO0FzQjV4S007RUFDRTtBdEI4eEtSO0FzQjF4S0U7RUFDRTtBdEI0eEtKO0FzQjN4S0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEI2eEtOO0FzQjV4S007RUFDRTtBdEI4eEtSO0FzQjF4S0U7RUFNRTtFQUNBLFlaMU15QjtBVmkrSzdCO0FzQjV4S007RUFDRTtBdEI4eEtSO0FzQnp4S0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEIyeEtOO0FzQjF4S007RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QjR4S1I7QXNCM3hLUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsMENablJxQjtFWW9SckIsaUJaL05tQjtFWWdPbkI7QXRCNnhLVjtBc0IzeEtVO0VBQ0U7QXRCNnhLWjtBc0JqeEtFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCbXhLSjtBc0JseEtJO0VBQ0U7QXRCb3hLTjtBc0JseEtJO0VBQ0U7QXRCb3hLTjtBc0JqeEtFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXWi9PbUI7RVlnUG5CLFlaaFBtQjtFWWlQbkIsd0NaeFRjO0VZeVRkLG1CWmpQcUI7RVlrUHJCO0F0Qm14S0o7O0FzQjV3S0E7RUFFRSxZWmpSb0I7RVltUnBCLGVaclJ1QjtFWXNSdkI7QXRCNndLRjtBc0I1d0tFO0VBQ0UsaUJadlIwQjtBVnFpTDlCOztBc0J6d0tBO0VBRUUsWVp2Um9CO0VZd1JwQixpQlp4Um9CO0VZeVJwQixlWjNSdUI7QVZzaUx6QjtBc0Ixd0tFO0VBQ0UsaUJaNVIwQjtBVndpTDlCOztBc0J2d0tBO0VBQ0U7QXRCMHdLRjs7QXNCdndLQTtFQUNFO0F0QjB3S0Y7O0F1QnBxTEE7RUFDRTtFQUNBO0VBT0Esc0NiOERjO0VhN0RkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QmlxTEY7QXVCaHJMRTtFQUNFO0F2QmtyTEo7QXVCanFMRTtFQXNDRTtFQUNBLDZCYm9UUztFYW5UVDtFQUNBLGdCYjJIbUI7RWExSG5CO0VBQ0E7RUFDQTtBdkI4bkxKO0F1QnpxTEk7RUFDRSxvQ2JnRHVCO0FWMm5MN0I7QXVCeHFMSTtFQUNFO0F2QjBxTE47QXVCdnFMSTtFQUNFO0VBQ0E7QXZCeXFMTjtBdUJ0cUxJO0VBQ0U7RUFDQSwyQmJJVTtFYUhWO0VBQ0E7RUFDQTtBdkJ3cUxOO0F1QnJxTEk7RUFDRTtFQUNBO0VBQ0E7QXZCdXFMTjtBdUJucUxJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJxcUxOOztBdUJ0cExFO0VBQ0Usb0NiQ3lCO0FWd3BMN0I7O0F1QnBwTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdkJ1cExGOztBdUJwcExBO0VBQ0U7QXZCdXBMRjs7QXdCNXVMQTtFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsMERkd1p1QjtFY3ZadkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QXhCd3VMRjtBd0IxdkxFO0VBQ0U7QXhCNHZMSjtBd0J6dUxFO0VBckJGO0lBc0JJO0V4QjR1TEY7QUFDRjtBd0IxdUxFO0VBQ0U7QXhCNHVMSjtBd0J6dUxFO0VBQ0U7RUFDQTtBeEIydUxKO0F3Qnh1TEU7RUFDRTtBeEIwdUxKO0F3QnZ1TEU7RUFDRTtFQUNBLDBEZDJYcUI7RWMxWHJCO0VBQ0E7RUFDQTtFQUNBO0F4Qnl1TEo7QXdCdnVMSTtFQUNFO0F4Qnl1TE47O0F3QnB1TEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4QnV1TEY7O0F3Qm51TEE7RUFDRTtFQUNBO0F4QnN1TEY7QXdCcHVMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCc3VMSjtBd0JudUxFO0VBQ0U7RUFDQTtFQUNBO0F4QnF1TEo7O0F3Qmh1TEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEJtdUxGOztBeUJqMExBO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0F6Qm0wTEY7O0F5Qi96TEE7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQ2ZpRGM7QVY2d0xoQjtBeUJ4MExFO0VBQ0U7QXpCMDBMSjtBeUIvekxFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekJpMExKOztBeUI3ekxBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXpCZzBMRjs7QXlCOXpMQTtFQUNFO0F6QmkwTEY7O0F5Qjd6TEE7RUFDRSxvQ2Y0QjJCO0FWb3lMN0I7O0F5Qjd6TEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0NmaUJjO0FWK3lMaEI7O0F5QjN6TEE7RUFDRTtFQUNBO0F6Qjh6TEY7QXlCNXpMRTtFQUNFO0VBRUE7RUFDQTtBekI2ekxKO0F5QjF6TEU7RUFDRTtFQUNBO0F6QjR6TEo7O0EwQnA0TEE7RUFDRTtFQUNBO0VBQ0E7RUFFQSxtRGhCeVBjO0VnQnZQZDtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQSwrQmhCa0NrQjtFZ0JoQ2xCO0VBRUE7RUFDQTtFQUNBO0ExQmc0TEY7QTBCOTNMRTtFQUNFO0VBQ0Esc0NoQmFZO0VnQlpaLHdDaEIwQnlCO0FWczJMN0I7O0EwQjUzTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBMUIrM0xGOztBMEI1M0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUIrM0xGOztBMEI1M0xBO0VBQ0U7QTFCKzNMRjs7QTBCMzNMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCODNMRjs7QTBCMzNMQTtFQUNFO0ExQjgzTEY7O0EwQnozTEE7RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQSxpQmhCMkhhO0VnQnpIYjtFQUdBO0VBQ0E7QTFCdzNMRjtBMEJ0M0xFO0VBQ0U7RUFDQTtBMUJ3M0xKO0EwQnIzTEU7RUFDRTtBMUJ1M0xKO0EwQnAzTEU7RUFDRTtFQUNBO0VBQ0EsNkJoQmdHVTtFZ0IvRlY7RUFDQSxlaEJtR2M7RWdCOUZkO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QTFCaTNMSjtBMEI5MkxJO0VBQ0U7RUFDQTtBMUJnM0xOO0EwQjMyTEU7RUFDRTtFQUNBO0ExQjYyTEo7O0EwQngyTEE7RUFDRTtFQUNBO0VBQ0E7QTFCMjJMRjs7QTBCeDJMQTtFQUNFO0VBQ0E7RUFDQTtBMUIyMkxGOztBMEJ6MkxBO0VBQ0U7RUFDQTtBMUI0MkxGOztBMkJ6L0xBO0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0JzL0xGO0EyQi8vTEk7RUFDRTtBM0JpZ01OO0EyQnYvTEU7RUFDRTtBM0J5L0xKOztBMkJyL0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0J3L0xGOztBMkJyL0xBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQncvTEY7O0E0QmhpTUE7RUFDRSwwRGxCcU9hO0FWOHpMZjs7QTRCaGlNQTtFQUNFO0VBQ0EseURsQnNDaUM7QVY2L0xuQzs7QTRCaGlNQTtFQUNFLGlCbEJpTWdCO0VrQmhNaEIsK0JsQnNMbUI7QVY2MkxyQjs7QTZCL2lNQTsrRUFBQTtBQUdBO0FBQ0E7RUFDRSwrQm5CNk11QjtBVm8yTHpCOztBNkI5aU1BO0FBQ0E7Ozs7Ozs7Ozs7Ozs7O0VBY0U7RUFDQSw2Qm5CMktZO0VtQjFLWjtFQUNBLGVuQlFpQztFbUJQakM7QTdCaWpNRjs7QTZCOWlNQTtBQWNBOzs7Ozs7Ozs7Q0FBQTtBQVdBO0VBQ0U7RUFDQTtBN0JtaU1GO0E2Qi9oTUU7RUFDRTtFQUVBO0VBQ0E7RUFFQSxzQ25CSVk7RW1CRlo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0I4aE1KO0E2QjVoTUk7RUFDRTtFQUNBO0E3QjhoTU47QTZCM2hNSTtFQUNFLGlEbkJxSXFCO0VtQnBJckIsd0RuQm1JNEI7RW1CbEk1Qiw0RG5CaUk4QjtBVjQ1THBDO0E2QnpoTUk7RUFDRSwyQm5COUNVO0FWeWtNaEI7QTZCemhNSTtFQUtFO0VBQ0E7QTdCdWhNTjtBNkJwaE1JO0VBQ0UsaURuQmtIcUI7QVZvNkwzQjtBNkJsaE1FO0VBQ0U7QTdCb2hNSjtBNkJqaE1FO0VBQ0UsK0JuQnFGaUI7RW1CcEZqQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDBFQUNFO0E3QmtoTU47QTZCMWdNRTtFQUNFLCtCbkJtRWlCO0VtQmxFakI7RUFDQTtFQUNBO0E3QjRnTUo7QTZCemdNRTtFQUNFLCtCbkI0RGlCO0VtQjNEakI7RUFDQTtFQUNBO0VBQ0E7QTdCMmdNSjtBNkJ4Z01FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3QjBnTUo7QTZCdmdNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E3QnlnTUo7QTZCdGdNRTtFQUNFO0E3QndnTUo7QTZCdGdNRTtFQUNFO0E3QndnTUo7QTZCdGdNRTtFQUNFO0E3QndnTUo7QTZCamdNSTtFQUNFO0VBRUE7RUFFQTtFQUNBO0E3QmlnTU47QTZCLy9MTTtFQUNFO0VBQ0E7RUFDQTtBN0JpZ01SO0E2QjcvTE07RUFDRSwyQm5CakpRO0FWZ3BNaEI7QTZCNy9MTTtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCNi9MUjtBNkIxL0xNO0VBQ0UsaURuQmNtQjtFbUJibkIsd0RuQlkwQjtBVmcvTGxDO0E2QnAvTEk7RUFDRTtBN0JzL0xOO0E2QnAvTEk7RUFDRTtBN0JzL0xOO0E2QnAvTEk7RUFDRTtBN0JzL0xOO0E2QnAvTEk7RUFDRTtBN0JzL0xOO0E2QnAvTEk7RUFDRTtBN0JzL0xOO0E2QnAvTEk7RUFDRTtBN0JzL0xOOztBNkJqL0xBO0FBRUU7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCay9MSjtBNkIvK0xFO0VBQ0U7RUFDQTtFQUNBO0E3QmkvTEo7O0E2QjkrTEE7RUFDRTtBN0JpL0xGO0E2QmgvTEU7RUFGRjtJQUdJLGtCbkJ1RFk7RVY0N0xkO0FBQ0Y7O0E2QmgvTEE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQUFBO0FBdUJBO0FBRUE7RUFDRTtFQUNBLFluQnpGYTtFbUIwRmI7QTdCaS9MRjtBNkIvK0xFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCbkJsR1c7RW1CbUdYO0E3QmkvTEo7O0E2QjUrTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0E3QjYrTEY7O0E2QjErTEE7QUFHSTtFQUFhLDZCbkJyUUM7QVZpdk1sQjtBNkIzK0xJO0VBQ0U7RUFDQTtFQUNBO0E3QjYrTE47O0E4QjF5TUE7K0VBQUE7QUFJQTs7RUFFRTtFQUNBO0VBQ0E7QTlCMnlNRjs7QThCeHlNQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCMnlNRjs7QThCeHlNQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCMnlNRjs7QThCeHlNQTtBQUNBOzs7Ozs7RUFNRTtBOUIyeU1GOztBOEJ4eU1BOztFQUVFO0E5QjJ5TUY7O0E4Qnh5TUE7RUFDRTtBOUIyeU1GOztBOEJ4eU1BO0FBQ0E7RUFDRTtBOUIyeU1GOztBOEJ4eU1BOzs7RUFHRSxzQ3BCNEphO0FWK29NZjs7QThCeHlNQTs7RUFFRSxzQ3BCM0JjO0FWczBNaEI7O0E4Qnh5TUE7RUFDRTtBOUIyeU1GOztBOEJ4eU1BO0FBQ0E7RUFDRTtBOUIyeU1GOztBOEJ4eU1BO0FBQ0E7RUFDRTtBOUIyeU1GOztBOEJ4eU1BO0FBQ0E7RUFDRTtBOUIyeU1GOztBOEJ4eU1BO0VBQ0U7RUFDQSw0Q3BCZ0hxQjtBVjJyTXZCOztBOEJ4eU1BO0FBQ0E7O0VBRUU7RUFDQSx3Q3BCeUdxQjtBVmtzTXZCOztBOEJ4eU1BO0VBQ0UsaUNwQnFHcUI7QVZzc012Qjs7QThCeHlNQTtFQUNFLHdDcEJpR3FCO0FWMHNNdkI7O0E4Qnh5TUE7RUFDRSw0Q3BCNkZxQjtFb0I1RnJCLHdDcEI2RjJCO0FWOHNNN0I7O0ErQjU1TUE7K0VBQUE7QUFHQTtBQUNBOztFQUVFO0VBQ0E7RUFDQTtBL0I4NU1GOztBK0IxNU1BO0VBYUU7QS9CaTVNRjtBK0I1NU1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0I4NU1KO0ErQjE1TUU7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQjI1TUo7QStCeDVNRTtFQUNFO0VBQ0E7QS9CMDVNSjtBK0J2NU1FO0VBQ0U7RUFDQSw0Q3JCNkptQjtBVjR2TXZCO0ErQnI1TUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG9DckJnQnlCO0FWdTRNN0I7O0ErQmw1TUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw0Q3JCdUpXO0VxQnRKWCw2Q3JCc0pXO0VxQnJKWDtFQUNBO0VBQ0E7QS9CcTVNSjtBK0JsNU1FO0VBQ0U7RUFDQTtBL0JvNU1KOztBK0JoNU1BO0FBRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw0Q3JCaUlXO0VxQmhJWDtFQUNBO0VBQ0E7RUFDQTtBL0JrNU1KO0ErQjk0TUU7RUFDRTtFQUNBO0EvQmc1TUo7O0ErQno0TUU7RUFDRTtBL0I0NE1KO0ErQno0TUU7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQjI0TUo7QStCdjRNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQnk0TUo7QStCdDRNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0J3NE1KO0ErQm40TUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0JxNE1OO0ErQmw0TUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNDckJ4SFU7RXFCeUhWO0EvQm80TU47QStCLzNNRTtFQUNFO0VBQ0Esc0NyQmlEZ0I7RXFCaERoQixvQ3JCbEd5QjtBVm0rTTdCO0ErQjkzTUU7RUFDRTtFQUNBLHNDckJ0SVk7RXFCdUlaLGtDckJ2SVk7QVZ1Z05oQjtBK0I1M01FO0VBQ0U7RUFDQTtBL0I4M01KO0ErQjMzTUU7RUFDRTtFQUNBLDRDckJrQnlCO0FWMjJNN0I7QStCMTNNRTtFQUNFO0EvQjQzTUo7QStCejNNRTtFQUNFLDRDckJVeUI7RXFCVHpCLHdDckJTeUI7QVZrM003Qjs7QWdDaGtOQTsrRUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaENra05GOztBZ0Mvak5BOztFQUVFO0VBQ0E7QWhDa2tORjs7QWdDL2pOQTtFQUNFO0FoQ2trTkY7O0FnQy9qTkE7RUFDRTtFQUNBO0VBQ0E7QWhDa2tORjtBZ0M5ak5FO0VBQ0U7RUFDQTtBaENna05KO0FnQzVqTkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEM4ak5OO0FnQ3RqTkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBS0EsbUJ0QjJMYztFc0IxTGQ7RUFDQTtFQUNBO0VBQ0E7QWhDb2pORjtBZ0Nqak5FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0FoQ2lqTko7QWdDN2lORTtFQUVFO0VBQ0E7QWhDOGlOSjs7QWdDdmlOQTs7O0VBR0k7QWhDMGlOSjs7QWdDdmlOQTtFQUNFLG1EdEJwRDJCO0FWOGxON0I7O0FnQ3RpTkE7O0VBRUUsbUR0QnpEMkI7QVZrbU43Qjs7QWdDdGlOQTtFQUNFLG9DdEJ2QzJCO0FWZ2xON0I7O0FnQ3RpTkE7O0VBRUUsb0N0QjNDMkI7QVZvbE43Qjs7QWdDcmlOQTtFQUNFO0VBQ0E7QWhDd2lORjs7QWlDbHFOQTsrRUFBQTtBQUdBO0VBQ0U7RUFDQSw2QnZCeU9tQjtBVjI3TXJCOztBaUNqcU5BO0VBQ0U7RUFDQSxzQ3ZCNkRjO0V1QjVEZDtFQUNBLFl2QitOZTtFdUI5TmYsd0N2QndOYztFdUJ2TmQsa0J2QjhOYztFdUI3TmQsWXZCa0xhO0FWay9NZjs7QWlDNXBOQTtFQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FBQTtFQXFDQTtFQUVBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBQUE7RUFrQ0E7Ozs7OztHQUFBO0FqQ3NwTkY7QWlDaHFORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDRCdkJnSmlCO0FWa2hOckI7QWlDcnBORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakN1cE5KOztBaUNscE5BO0VBQ0UsaUN2QnNGcUI7QVYrak52Qjs7QWlDanBORTtFQUNFLGlDdkJpRm1CO0FWbWtOdkI7QWlDbHBORTtFQUNFLGdDdkI4RW1CO0FWc2tOdkI7O0FpQ2hwTkE7RUFDRSxpQ3ZCeUVxQjtFdUJ4RXJCO0VBQ0E7QWpDbXBORjs7QWlDaHBOQTtFQUNFLGlDdkJtR3NCO0FWZ2pOeEI7O0FpQ2hwTkE7OztFQUdFLGlDdkI2RnNCO0V1QjVGdEI7QWpDbXBORjs7QWlDL29ORTtFQUNFLG9DdkI3RXlCO0FWK3RON0I7O0FpQzVvTkk7RUFDRSxvQ3ZCckZ1QjtBVm91TjdCO0FpQzVvTkk7RUFDRSxvQ3ZCeEZ1QjtBVnN1TjdCOztBaUN6b05BOzs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQW1CRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqQ3lvTko7O0FpQ3BvTkE7RUFDRTtBakN1b05GO0FpQ3JvTkU7RUFDRSw2QnZCbEpjO0FWeXhObEI7QWlDcG9ORTtFQUNFLCtCdkJySmdCO0FWMnhOcEI7QWlDbm9ORTtFQUNFO0FqQ3FvTko7O0FrQ24xTkE7K0VBQUE7QUFHQTtFQUVFO0VBQ0E7RUFDQTtBbENvMU5GO0FrQ2oxTkU7RUFDRTtBbENtMU5KO0FrQ2gxTkU7RUFBa0I7QWxDbTFOcEI7QWtDajFORTtFQUNFLFl4QmdMVztFd0IvS1gsaUJ4QitLVztBVm9xTmY7QWtDaDFORTtFQUNFO0FsQ2sxTko7QWtDLzBORTtFQU1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEMyME5KO0FrQzMxTkk7RUFDRTtBbEM2MU5OOztBbUN6M05BOytFQUFBO0FBR0E7RUFDRTtBbkMyM05GOztBbUN4M05BOztFQUdFO0FuQzAzTkY7O0FtQ3YzTkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkMwM05GO0FtQ3gzTkU7RUFDRTtBbkMwM05KOztBbUN0M05BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQ3pCT2M7RXlCTmQ7RUFFQTtFQUNBO0FuQ3czTkY7QW1DdDNORTtFQUNFO0VBQ0E7RUFDQTtFQUNBLDJCekJIWTtFeUJJWjtFQUNBO0FuQ3czTko7QW1DcjNORTtFQUNFO0FuQ3UzTko7QW1DcjNOSTtFQUNFLHdDekJFdUI7RXlCRHZCO0VBQ0E7RUFDQTtBbkN1M05OOztBbUNqMk5BO0VBQ0U7QW5DbzJORjs7QW1DajJOQTtFQW5CRSxXekJpS2E7RXlCL0piO0FuQ3UzTkY7O0FtQ2wyTkE7RUFqQkU7RUFDQSxZekJ3SmE7RXlCdkpiLFd6QndKWTtFeUJ2Slo7RUFDQSxnQ3pCaENjO0V5QmlDZDtFQWNBO0VBQ0Esc0N6QmhEYztFeUJpRGQ7RUFDQTtBbkMwMk5GOztBbUN0Mk5BO0VBQ0U7QW5DeTJORjs7QW1DcjJOQTtFQUVFO0FuQ3UyTkY7O0FtQ3AyTkE7RUExQ0UsV3pCaUthO0V5Qi9KYjtBbkNpNU5GOztBbUNyMk5BO0VBQ0U7QW5DdzJORjs7QW1DcjJOQTtFQTVDRTtFQUNBLFl6QndKYTtFeUJ2SmIsV3pCd0pZO0V5QnZKWjtFQUNBLGdDekJoQ2M7RXlCaUNkO0VBeUNBO0FuQzYyTkY7O0FtQ3oyTkE7RUFDRTtFQUNBO0FuQzQyTkY7O0FtQ3oyTkE7RUFDRTtBbkM0Mk5GOztBbUN4Mk5BO0VBQ0UsV3pCOEZhO0V5QjNGYjtFQUdBO0VBQ0E7RUFFQTtFQUNBO0FuQ3MyTkY7O0FtQ24yTkE7O0VBRUUsZ0N6QnhHYztBVjg4TmhCOztBbUNuMk5BOztFQUVFLHFDekIyRWtCO0FWMnhOcEI7O0FtQ24yTkE7RUFwRkU7RUFDQSxZekJ3SmE7RXlCdkpiLFd6QndKWTtFeUJ2Slo7RUFDQSxnQ3pCaENjO0V5QmlDZDtBbkMyN05GOztBbUN4Mk5BO0VBQ0U7QW5DMjJORjs7QW9DMWdPQTs7ZUFBQTtBQUlFO0VBQ0U7QXBDNGdPSjtBb0N6Z09FO0VBQ0U7QXBDMmdPSjtBb0N4Z09FO0VBQ0U7RUFDQTtFQUNBLCtCMUJzQ2dCO0UwQnJDaEI7RUFDQTtFQUNBO0VBQ0E7QXBDMGdPSjtBb0N4Z09JO0VBQ0UsNkIxQjhCWTtFMEI3Qlo7QXBDMGdPTjtBb0N4Z09JO0VBQ0UsMkIxQmdCVTtFMEJmVjtFQUNBO0VBQ0E7QXBDMGdPTjs7QXFDdmlPQTtBQUNBO0VBQ0U7RUFDQSxZM0IrU2M7RTJCOVNkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDBEM0IyU2lCO0UyQjFTakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBZ0JBO0FyQzJoT0Y7QXFDdGlPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FyQ3dpT0o7QXFDcmlPRTtFQUNFO0FyQ3VpT0o7QXFDbmlPRTtFQUNFLG9DM0J5RmlDO0FWNDhOckM7QXFDbmlPRTtFQUNFLG9DM0J1RmlDO0FWODhOckM7QXFDbGlPRTtFQUNFLCtDM0J3QmdDO0UyQnZCaEMsa0QzQnNCd0I7QVY4Z081QjtBcUNqaU9FO0VBQXlCO0FyQ29pTzNCO0FxQ2xpT0U7RUFDRTtFQUNBO0VBQ0E7QXJDb2lPSjtBcUNsaU9FO0VBQ0U7RUFHQTtFQUNBO0VBSUE7Ozs7O0dBQUE7RUFPQTtFQUNBLFkzQm9Qa0I7RTJCblBsQixlM0I2T2dCO0UyQjVPaEI7RUFDQTtFQUNBO0VBQ0E7RUFVQTtBckNxaE9KO0FxQzdoT0k7RUFDRSw2QjNCdU9lO0FWd3pOckI7QXFDNWhPSTtFQUNFO0FyQzhoT047QXFDMWhPSTtFQUVFO0VBQ0E7RUFDQSwrQjNCNk5lO0UyQjVOZjtBckMyaE9OO0FxQ3ZoT0U7RUFDRTtBckN5aE9KO0FxQ3RoT0U7RUFDRTtFQUNBO0VBQ0EsK0IzQmtOc0I7RTJCak50QixlM0I2TWdCO0UyQjVNaEI7RUFDQSxpQjNCaU5rQjtBVnUwTnRCO0FxQ3BoT0U7RUFDRTtFQUNBO0VBQ0E7QXJDc2hPSjtBcUNwaE9JO0VBS0U7RUFDQTtBckNraE9OO0FxQ3ZoT007RUFDRTtBckN5aE9SO0FxQ2xoT0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckNvaE9OO0FxQ2poT0k7RUFDRTtBckNtaE9OO0FxQ2hoT0k7RUFDRTtFQUNBO0FyQ2toT047QXFDL2dPSTs7RUFFRSxlM0JvS2M7RTJCbktkO0FyQ2loT047QXFDOWdPSTtFQUNFO0VBQ0E7QXJDZ2hPTjtBcUM3Z09JO0VBQ0U7RUFDQTtBckMrZ09OOztBcUN6Z09BO0VBS0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckN3Z09GO0FxQy9nT0U7RUFDRTtBckNpaE9KOztBcUN2Z09BO0VBTUU7RUFDQTtFQUNBO0FyQ3FnT0Y7QXFDM2dPRTtFQUNFO0VBQ0E7QXJDNmdPSjs7QXFDcmdPQTtFQUVJO0lBQ0U7RXJDdWdPSjtFcUNyZ09JO0lBQ0U7RXJDdWdPTjtFcUNwZ09FO0lBQ0U7RXJDc2dPSjtFcUNwZ09FO0lBQ0U7RXJDc2dPSjtBQUNGO0FxQ2xnT0E7RUFDRTtBckNvZ09GOztBcUNqZ09BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQ29nT0Y7O0FxQzkvTkU7O0VBQ0U7RUFDQTtBckNrZ09KO0FxQ2hnT0U7O0VBQ0U7QXJDbWdPSjtBcUNqZ09FOztFQUNFO0FyQ29nT0o7O0FzQ3p1T0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTtBdEN5dU9GO0FzQ3Z1T0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHNDNUJ3Qlk7RTRCdkJaO0F0Q3l1T0o7QXNDdHVPRTtFQUNFLHNDNUJtQlk7QVZxdE9oQjtBc0N0dU9JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBdEN1dU9OO0FzQ251T0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QXRDb3VPTjs7QXNDL3RPQTtFQUNFO0lBQ0U7SUFDQTtFdENrdU9GO0VzQ2h1T0E7SUFDRTtJQUNBO0V0Q2t1T0Y7RXNDaHVPQTtJQUNFO0lBQ0E7RXRDa3VPRjtBQUNGO0FzQy90T0E7RUFDRTtJQUNFO0lBQ0E7RXRDaXVPRjtFc0MvdE9BO0lBQ0U7SUFDQTtFdENpdU9GO0VzQy90T0E7SUFDRTtJQUNBO0V0Q2l1T0Y7QUFDRjtBc0M1dE9BOzs7Ozs7OztFQUFBO0FBVUE7QUFDQTtBQUNBO0FBRUE7Ozs7Ozs7Ozs7OztFQUFBO0FBZUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEMwdE9GO0FzQ3h0T0U7RUFDRTtFQUNBO0F0QzB0T0o7QXNDdnRPRTtFQUNFO0VBQ0E7QXRDeXRPSjtBc0N0dE9FO0VBQ0U7RUFDQTtFQUNBO0F0Q3d0T0o7O0FzQ3B0T0E7RUFDRTtJQUFLO0V0Q3d0T0w7QUFDRjtBc0N0dE9BO0VBQ0U7SUFBSztFdEN5dE9MO0FBQ0Y7QXNDdnRPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0M1QjVHYztBVnEwT2hCOztBc0N0dE9BOztFQUVFO0F0Q3l0T0Y7O0FzQ3R0T0E7O0VBRUU7QXRDeXRPRjs7QXNDdHRPQTs7RUFFRTtBdEN5dE9GOztBc0N0dE9BOztFQUVFO0F0Q3l0T0Y7O0FzQ3R0T0E7Ozs7Ozs7Ozs7OztFQUFBO0FBYUE7RUFDRTtFQUNBO0VBQ0E7QXRDeXRPRjs7QXNDdHRPQTtFQUNFO0VBQ0E7RUFDQTtBdEN5dE9GOztBc0N0dE9BO0VBQ0U7RUFDQTtFQUNBO0F0Q3l0T0Y7O0FzQ3R0T0E7RUFDRTtFQUNBO0VBQ0E7QXRDeXRPRjs7QXNDdHRPQTs7Ozs7RUFLRTtFQUNBO0VBQ0E7RUFDQTtBdEN5dE9GOztBc0N0dE9BO0VBQ0U7SUFBUTtFdEMwdE9SLEVzQzF0TzhDO0VBQzlDO0lBQVE7RXRDNHRPUixFc0M1dE84QztFQUM5QztJQUFRO0V0Qzh0T1IsRXNDOXRPOEM7RUFDOUM7SUFBUTtFdENndU9SLEVzQ2h1TzhDO0VBQzlDO0lBQVE7RXRDa3VPUixFc0NsdU84QztFQUM5QztJQUFRO0V0Q291T1IsRXNDcHVPOEM7RUFDOUM7SUFBUTtFdENzdU9SLEVzQ3R1TzhDO0VBQzlDO0lBQVE7RXRDd3VPUixFc0N4dU84QztBdEN5dU9oRDtBc0N0dU9BO0VBQ0U7SUFBUTtFdEN5dU9SLEVzQ3p1T3NDO0VBQ3RDO0lBQVE7RXRDMnVPUixFc0MzdU9zQztFQUN0QztJQUFRO0V0QzZ1T1IsRXNDN3VPc0M7RUFDdEM7SUFBUTtFdEMrdU9SLEVzQy91T3NDO0VBQ3RDO0lBQVE7RXRDaXZPUixFc0Nqdk9zQztFQUN0QztJQUFRO0V0Q212T1IsRXNDbnZPc0M7RUFDdEM7SUFBUTtFdENxdk9SLEVzQ3J2T3NDO0VBQ3RDO0lBQVE7RXRDdXZPUixFc0N2dk9zQztBdEN3dk94QztBc0Nydk9BO0VBQ0U7SUFBTztFdEN3dk9QO0VzQ3Z2T0E7SUFBTTtFdEMwdk9OO0VzQ3p2T0E7SUFBTTtFdEM0dk9OO0VzQzN2T0E7SUFBTTtFdEM4dk9OO0VzQzd2T0E7SUFBTTtFdENnd09OO0VzQy92T0E7SUFBTztFdENrd09QO0FBQ0Y7QXNDaHdPQTtFQUNFO0lBQU87RXRDbXdPUDtFc0Nsd09BO0lBQU07RXRDcXdPTjtFc0Nwd09BO0lBQU07RXRDdXdPTjtFc0N0d09BO0lBQU07RXRDeXdPTjtFc0N4d09BO0lBQU07RXRDMndPTjtFc0Mxd09BO0lBQU87RXRDNndPUDtBQUNGO0FzQzN3T0E7RUFDRTtJQUFPO0V0Qzh3T1A7RXNDN3dPQTtJQUFNO0V0Q2d4T047RXNDL3dPQTtJQUFNO0V0Q2t4T047RXNDanhPQTtJQUFNO0V0Q294T047RXNDbnhPQTtJQUFNO0V0Q3N4T047QUFDRjtBc0NweE9BO0VBQ0U7SUFBTztFdEN1eE9QO0VzQ3R4T0E7SUFBTTtFdEN5eE9OO0VzQ3h4T0E7SUFBTTtFdEMyeE9OO0VzQzF4T0E7SUFBTTtFdEM2eE9OO0VzQzV4T0E7SUFBTTtFdEMreE9OO0FBQ0Y7QXNDN3hPQTtFQUNFO0lBQU87RXRDZ3lPUDtFc0MveE9BO0lBQU07RXRDa3lPTjtFc0NqeU9BO0lBQU07RXRDb3lPTjtFc0NueU9BO0lBQU07RXRDc3lPTjtFc0NyeU9BO0lBQU07RXRDd3lPTjtBQUNGO0FzQ3R5T0E7RUFDRTtJQUFPO0V0Q3l5T1A7RXNDeHlPQTtJQUFNO0V0QzJ5T047RXNDMXlPQTtJQUFNO0V0QzZ5T047RXNDNXlPQTtJQUFNO0V0Qyt5T047RXNDOXlPQTtJQUFNO0V0Q2l6T047QUFDRjtBc0MveU9BO0VBQ0U7SUFBTztFdENrek9QO0VzQ2p6T0E7SUFBTTtFdENvek9OO0VzQ256T0E7SUFBTTtFdENzek9OO0VzQ3J6T0E7SUFBTTtFdEN3ek9OO0VzQ3Z6T0E7SUFBTztFdEMwek9QO0FBQ0Y7QXNDeHpPQTtFQUNFO0lBQU87RXRDMnpPUDtFc0Mxek9BO0lBQU07RXRDNnpPTjtFc0M1ek9BO0lBQU07RXRDK3pPTjtFc0M5ek9BO0lBQU07RXRDaTBPTjtFc0NoME9BO0lBQU87RXRDbTBPUDtBQUNGO0FzQ2owT0E7OztFQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdENtME9GOztBc0NoME9BO0VBQ0U7RUFDQTtBdENtME9GOztBc0NoME9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q20wT0Y7QXNDajBPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q20wT0o7QXNDaDBPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0Q2swT0o7QXNDaDBPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0Q2swT0o7O0FzQzV6T0E7RUFDRTtFQUNBO0VBQ0E7QXRDK3pPRjs7QXNDNXpPQTtFQUNFO0VBQ0E7RUFDQTtBdEMrek9GOztBc0M1ek9BO0VBQ0U7SUFBTztFdENnME9QO0VzQy96T0E7SUFBTTtFdENrME9OO0VzQ2owT0E7SUFBSztFdENvME9MO0FBQ0Y7QXNDbDBPQTtFQUNFO0lBQU87RXRDcTBPUDtFc0NwME9BO0lBQU07RXRDdTBPTjtFc0N0ME9BO0lBQUs7RXRDeTBPTDtBQUNGO0FzQ3YwT0E7RUFDRTtJQUFPO0V0QzAwT1A7RXNDejBPQTtJQUFNO0V0QzQwT047RXNDMzBPQTtJQUFLO0V0QzgwT0w7QUFDRjtBc0M1ME9BO0VBQ0U7SUFBTztFdEMrME9QO0VzQzkwT0E7SUFBTTtFdENpMU9OO0VzQ2gxT0E7SUFBSztFdENtMU9MO0FBQ0Y7QXNDajFPQTtFQUNFO0VBQ0E7RUFDQTtBdENtMU9GOztBc0NoMU9BO0VBQ0U7SUFBTztFdENvMU9QO0VzQ24xT0E7SUFBSztFdENzMU9MO0FBQ0Y7QXNDcDFPQTtFQUNFO0lBQU87RXRDdTFPUDtFc0N0MU9BO0lBQUs7RXRDeTFPTDtBQUNGO0F1QzN2UEE7RUFDRTtFQUNBO0VBQ0E7QXZDNnZQRjtBdUMxdlBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDNHZQSjtBdUMxdlBJO0VBQ0U7RUFDQTtFQUNBO0F2QzR2UE47QXVDenZQSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F2QzJ2UE47QXVDenZQTTtFQUNFLGlEN0IySG1CO0FWZ29QM0I7QXVDenZQUTtFQUNFLHdEN0J5SHdCO0FWa29QbEM7QXVDcHZQRTtFQUNFLHNDN0JnQ1k7RTZCL0JaO0VBQ0E7RUFDQTtFQUNBO0F2Q3N2UEo7QXVDcHZQSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Q3N2UE47QXVDcHZQTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F2Q3N2UFI7QXVDbnZQTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkNxdlBSO0F1Q252UFE7RUFDRTtBdkNxdlBWO0F1Q2p2UE07RUFDRTtBdkNtdlBSO0F1Qzl1UEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Q2d2UEo7QXVDOXVQSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDZ3ZQTjtBdUM3dVBJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSwyQzdCdU5tQjtFNkJyTm5CO0VBQ0E7RUFDQTtFQU1BO0VBQ0E7QXZDeXVQTjtBdUM5dVBNO0VBQ0Usc0M3QnZFUTtBVnV6UGhCOztBd0NqMlBBO0VBcUNFO0VBQ0E7RUFDQTtFQUNBLGE5QjJHZ0I7RThCMUdoQjtFQUNBO0VBQ0E7QXhDZzBQRjtBd0MxMlBFO0VBQ0U7RUFDQTtBeEM0MlBKO0F3QzEyUEk7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4Q3cyUE47QXdDaDNQTTtFQUNFO0F4Q2szUFI7QXdDeDJQSTtFQUNFO0VBQ0E7RUFDQSxpQjlCK0hZO0U4QjlIWjtFQUNBO0VBQ0E7QXhDMDJQTjtBd0N4MlBNO0VBQ0U7RUFDQTtFQUNBO0F4QzAyUFI7QXdDdjJQTTtFQUNFO0F4Q3kyUFI7QXdDNTFQRTtFQUNFO0VBQ0EsWTlCcUdtQjtFOEJwR25CLGE5Qm9HbUI7RThCbkduQjtFQUNBO0VBQ0E7QXhDODFQSjtBd0M1MVBJO0VBQ0U7QXhDODFQTjtBd0MxMVBFO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEMyMVBKO0F3Q3oxUEk7RUFLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpRDlCdUVxQjtFOEJyRXJCO0VBQ0E7QXhDczFQTjtBd0NuMlBNO0VBQ0Usd0Q5QmlGMEI7QVZveFBsQztBd0NwMVBFOztFQUVFO0F4Q3MxUEo7O0F5Q2g3UEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpDbTdQRjs7QXlDaDdQQTtFQUNFO0VBQ0E7QXpDbTdQRjtBeUNqN1BFO0VBQ0U7RUFDQTtFQUNBLHNHQUNFO0F6Q2s3UE47QXlDOTZQRTtFQUNFO0F6Q2c3UEo7QXlDOTZQRTtFQUNFO0VBQ0E7RUFDQSwwREFDRTtBekMrNlBOOztBeUN6NlBBO0VBQ0U7RUFDQTtFQUNBO0VBQ0Esd0MvQnVCZ0I7RStCdEJoQiwwQy9Cb0I2QjtFK0JuQjdCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekM0NlBGOztBeUN4NlBBO0VBQ0U7RUFDQTtBekMyNlBGOztBeUN4NlBBO0VBd0JFO0VBQ0E7RUFDQTtBekNvNVBGO0F5Qzc2UEU7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQy9CUVk7QVZzNlBoQjtBeUM1NlBFO0VBQ0U7RUFDQTtBekM4NlBKO0F5QzU2UEU7RUFDRTtFQUNBLHVEQUNFO0VBR0Y7QXpDMjZQSjs7QXlDbjZQQTtFQU1FO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QXpDZzZQRjtBeUMxNlBFO0VBRUU7QXpDMjZQSjs7QXlDaDZQQTtFQUNFO0lBQ0U7SUFDQTtFekNtNlBGO0FBQ0Y7QTBDeGdRQTtFQWlCRTtFQUNBO0ExQzAvUEY7QTBDM2dRRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQzZnUUo7O0EwQ3RnUUE7RUFDRTtJQUNFO0lBQ0E7RTFDeWdRRjtFMEN2Z1FBO0lBQ0U7SUFDQTtFMUN5Z1FGO0UwQ3ZnUUE7SUFDRTtJQUNBO0UxQ3lnUUY7QUFDRjtBMkMxaVFBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7QTNDNGlRRjs7QTJDemlRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHNDakM0RGM7QVZnL1BoQjs7QTJDemlRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzQzRpUUY7QTJDMWlRRTtFQUNFO0EzQzRpUUo7QTJDeGlRSTtFQUtFO0VBQ0E7RUFDQTtBM0NzaVFOO0EyQzVpUU07RUFDRTtBM0M4aVFSO0EyQ3RpUUk7RUFDRTtBM0N3aVFOO0EyQ3BpUUU7RUFDRTtBM0NzaVFKO0EyQ25pUUU7RUFDRTtBM0NxaVFKO0EyQ2xpUUU7O0VBRUU7RUFDQTtBM0NvaVFKO0EyQ2ppUUU7O0VBRUUsOEJqQ2tFZ0I7QVZpK1BwQjs7QTJDL2hRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzQ2tpUUY7O0EyQzloUUE7QUFDQTtFQUNFO0VBQ0Esc0NqQzdCYztFaUM4QmQsd0NqQ2hCMkI7RWlDaUIzQjtFQUNBO0EzQ2lpUUY7QTJDL2hRRTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHdDakN4QnlCO0FWeWpRN0I7QTJDOWhRRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzQ2dpUUo7O0EyQzNoUUE7QUFDQTtFQUNFO0EzQzhoUUY7O0EyQzNoUUE7RUFDRTtFQUNBO0VBQ0E7QTNDOGhRRjtBMkM1aFFFO0VBQ0U7QTNDOGhRSjtBMkMzaFFFO0VBQ0U7RUFDQTtBM0M2aFFKO0EyQzFoUUU7RUFDRTtBM0M0aFFKO0EyQ3poUUU7RUFDRTtFQUNBLCtCakNoRWdCO0FWMmxRcEI7QTJDeGhRRTtFQUNFLDZCakNyRWM7RWlDc0ZkO0VBQ0E7QTNDMGdRSjtBMkMxaFFJO0VBQ0UsMkJqQ2xGVTtBVjhtUWhCO0EyQ3poUUk7RUFDRSxzQ2pDdEZVO0VpQ3VGVix3Q2pDekV1QjtBVm9tUTdCO0EyQ3hoUUk7RUFFRSxpQ2pDaEZnQjtFaUNpRmhCO0EzQ3loUU47O0EyQ2poUUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDb2hRRjtBMkNsaFFFO0VBQ0UsbURqQzFHeUI7QVY4blE3QjtBMkNqaFFFO0VBQ0UsbURqQzdHeUI7QVZnb1E3Qjs7QTJDOWdRQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0NpaFFGOztBMkM5Z1FBOzs7O0VBSUUsMkJqQ3ZJYztFaUN3SWQ7QTNDaWhRRjs7QTJDOWdRQTtFQUNFLHlCakNsSFk7QVZtb1FkOztBMkM3Z1FBO0FBQ0E7RUFDRTtJQUNFO0UzQ2doUUY7RTJDN2dRQTtJQUNFO0UzQytnUUY7RTJDNWdRQTtJQUNFO0UzQzhnUUY7RTJDM2dRQTs7O0lBR0U7RTNDNmdRRjtFMkMxZ1FBO0lBQ0U7RTNDNGdRRjtBQUNGO0E0QzV0UUE7QUFDQTtFQUNFO0VBQ0E7QTVDOHRRRjs7QTRDM3RRQTtFQUNFO0VBQ0E7RUFDQTtBNUM4dFFGOztBNEMzdFFBO0VBQ0Usd0NsQzJDMkI7QVZtclE3Qjs7QTRDMXRRQTtBQUNBO0VBQ0U7RUFDQTtFQUNBLHNDbENxQmM7RWtDcEJkO0VBQ0E7QTVDNnRRRjs7QTRDMXRRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLDBDbEMyQjZCO0VrQzFCN0I7RUFDQTtFQUNBO0E1QzZ0UUY7QTRDM3RRRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDNnRRSjs7QTRDenRRQTs7O0VBR0U7QTVDNHRRRjs7QTRDenRRQTtFQUNFO0VBQ0E7RUFDQTtBNUM0dFFGOztBNEN6dFFBO0VBQ0U7RUFDQTtBNUM0dFFGOztBNEN6dFFBO0VBQ0U7QTVDNHRRRjs7QTRDenRRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDNHRRRjs7QTRDeHRRQTtBQUNBO0VBQ0U7RUFDQSxzQ2xDTmM7QVZpdVFoQjs7QTRDeHRRQTtFQUNFLG1EbEMrRjBCO0VrQzlGMUI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1QzJ0UUY7O0E0Q3h0UUE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUMydFFGOztBNEN4dFFBO0VBQ0U7QTVDMnRRRjs7QTRDeHRRQTtFQUNFO0VBQ0EsNkJsQ21FdUI7RWtDbEV2QjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUMydFFGOztBNEN4dFFBOztFQUVFLG1EbEN2RTJCO0FWa3lRN0I7O0E0Q3h0UUE7RUFDRTtBNUMydFFGOztBNEN4dFFBO0VBU0U7QTVDbXRRRjtBNEMzdFFFO0VBQ0U7QTVDNnRRSjtBNEMxdFFFO0VBQ0U7QTVDNHRRSjs7QTRDdHRRQTtFQUNFO0E1Q3l0UUY7QTRDdnRRRTtFQUNFLDRCbENyR1k7RWtDc0daO0VBQ0E7QTVDeXRRSjs7QTRDcnRRQTtFQUNFO0E1Q3d0UUY7O0E0Q3J0UUE7RUFDRTtFQUNBLDBCbENqSGM7QVZ5MFFoQjs7QTRDcnRRQTtFQUNFO0VBQ0EsMEJsQ3RIYztBVjgwUWhCOztBNENwdFFBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUN1dFFGOztBNENwdFFBO0VBQ0UseUJsQ3pHWTtBVmcwUWQ7O0E0Q3B0UUE7RUFDRSwyQmxDdkljO0FWODFRaEI7O0E0Q3B0UUE7O0VBRUU7QTVDdXRRRjs7QTRDcHRRQTtBQUNBO0VBQ0U7SUFDRTtFNUN1dFFGO0U0Q3B0UUE7SUFDRTtFNUNzdFFGO0U0Q250UUE7SUFDRTtFNUNxdFFGO0U0Q2x0UUE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1Q290UUY7QUFDRjtBNkNqNlFBO0VBQ0k7QTdDbTZRSjtBNkNsNlFJO0VBQ0k7RUFDQTtBN0NvNlFSO0E2Q242UVE7RUFDSTtFQUNBO0VBQ0E7QTdDcTZRWjtBNkNqNlFJO0VBQ0k7RUFDQTtBN0NtNlFSO0E2Q2w2UVE7RUFDSTtBN0NvNlFaO0E2Q2g2UUk7RUFDSTtFQUNBO0E3Q2s2UVI7QTZDLzVRSTtFQUNJO0VBQ0E7QTdDaTZRUjtBNkNoNlFRO0VBQ0k7QTdDazZRWjtBNkMxNVFBO0VBQ0k7QTdDNDVRSjtBNkMzNVFJO0VBQ0k7RUFDQTtBN0M2NVFSOztBNkN6NVFBO0VBQ0k7RUFDQTtFQUNBO0E3QzQ1UUo7O0E4QzU4UUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Qys4UUo7QThDOThRSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlDZzlRUjtBOEM3OFFJO0VBQ0k7RUFDQTtBOUMrOFFSO0E4Qzk4UVE7RUFDSTtBOUNnOVFaO0E4QzU4UUk7RUFDSTtBOUM4OFFSO0E4QzU4UUk7RUFDSTtFQUNBO0VBQ0E7QTlDODhRUjs7QStDNStRSTtFQUNJO0VBQ0E7QS9DKytRUjtBK0M5K1FRO0VBQ0k7RUFDQTtFQUNBO0EvQ2cvUVo7QStDNytRSTtFQUNJO0VBQ0E7QS9DKytRUjtBK0M5K1FRO0VBQ0k7QS9DZy9RWjtBK0M1K1FJO0VBQ0k7RUFDQTtBL0M4K1FSO0ErQzcrUVE7RUFDSTtBL0MrK1FaO0ErQzMrUUk7RUFDSTtFQUNBO0EvQzYrUVI7O0FnRHpnUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBaEQ0Z1JKO0FnRDFnUkk7RUFDSTtFQUNBO0FoRDRnUlI7QWdEemdSSTtFQVVJO0FoRGtnUlI7QWdEMWdSUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhENGdSWjtBZ0R2Z1JZO0VBQ0k7QWhEeWdSaEI7QWdEeGdSZ0I7RUFDSTtBaEQwZ1JwQjtBZ0R6Z1JvQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEMmdSeEI7QWdEeGdSZ0I7RUFDSTtBaEQwZ1JwQjtBZ0R2Z1JZO0VBQ0k7QWhEeWdSaEI7QWdEeGdSZ0I7RUFDSTtBaEQwZ1JwQjtBZ0R6Z1JvQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhEMmdSeEI7QWdEcmdSWTtFQUNJO0VBQ0E7QWhEdWdSaEI7QWdEcmdSWTtFQUNJO0FoRHVnUmhCO0FnRG5nUkk7RUFDSTtBaERxZ1JSO0FnRG5nUlk7RUFDSTtBaERxZ1JoQjtBZ0RuZ1JZO0VBQ0k7QWhEcWdSaEI7QWdEbGdSUTtFQUNJO0FoRG9nUlo7QWdEaGdSSTtFQUNJO0FoRGtnUlI7QWdEaGdSSTtFQUNJO0FoRGtnUlI7QWdEaGdSSTtFQUNJO0FoRGtnUlI7QWdEaGdSSTtFQUNJO0FoRGtnUlI7QWdEaGdSSTtFQUNJO0FoRGtnUlI7QWdEaGdSSTtFQUNJO0FoRGtnUlI7QWdELy9RSTtFQUNJO0VBQ0E7RUFDQTtBaERpZ1JSO0FnRGhnUlE7RUFDSTtBaERrZ1JaO0FnRGhnUlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaERrZ1JaO0FnRGhnUlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaERrZ1JaO0FnRGhnUlE7RUFDSTtFQUNBO0FoRGtnUlo7QWdEaGdSUTtFQUNJO0FoRGtnUlo7O0FpRHZvUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEMG9SSjtBaUR6b1JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRDJvUlI7QWlEMW9SUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQ0b1JaO0FpRDFvUlE7RUFDSTtBakQ0b1JaO0FpRHpvUkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakQyb1JSO0FpRHpvUkk7RUFDSTtFQUNBO0FqRDJvUlI7QWlEeG9SSTtFQUNJO0VBQ0E7QWpEMG9SUjs7QUEvcVJBO0VBQ0k7QUFrclJKOztBQS9xUkE7RUFDSTtFQUNBO0VBQ0E7QUFrclJKO0FBaHJSQTtFQUNJO0VBQ0E7RUFDQSxrRUFDSTtBQWlyUlI7QUExcVJBO0VBQ0k7QUE0cVJKOztBQXpxUkE7RUFDSTtBQTRxUko7O0FBenFSQTtFQUNJO0FBNHFSSjs7QUExcVJBO0VBQ0k7RUFDQTtBQTZxUko7QUEzcVJJO0VBQ0k7QUE2cVJSOztBQXpxUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNHFSSjs7QUF6cVJBO0VBQ0k7QUE0cVJKO0FBMXFSSTtFQUNJO0FBNHFSUjs7QUF4cVJBO0VBQ0k7QUEycVJKOztBQXhxUkE7RUFDSTtBQTJxUko7O0FBeHFSQTtFQUNJO0FBMnFSSjs7QUF4cVJBO0VBQ0k7QUEycVJKOztBQXhxUkE7Ozs7RUFJSTtFQUNBO0FBMnFSSjs7QUF4cVJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUEycVJKOztBQXhxUkE7OztFQUdJO0FBMnFSSjs7QUF0cVJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUF5cVJKO0FBeHFSSTtFQUNJO0FBMHFSUjs7QUF0cVJBO0VBQ0k7QUF5cVJKOztBQXRxUkE7RUFDSTtBQXlxUko7QUF2cVJJO0VBQ0k7QUF5cVJSOztBQXJxUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esc0VBQ0k7RUFHSjtFQUNBO0VBQ0E7QUFxcVJKOztBQWxxUkE7RUFFSTtJQUVJO0VBbXFSTjtFQWhxUkU7SUFDSTtFQWtxUk47RUEvcFJFO0lBQ0k7RUFpcVJOO0VBOXBSRTtJQUNJO0VBZ3FSTjtFQTdwUkU7SUFDSTtFQStwUk47QUFDRjtBQTVwUkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBOHBSRjs7QUE1cFJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUErcFJGOztBQTdwUkE7RUFDRTtJQUFLO0VBaXFSTDtFQWhxUkE7SUFBTztFQW1xUlA7QUFDRjtBQWpxUkE7RUFDSTtBQW1xUko7O0FBaHFSQTtFQUNJO0VBQ0E7QUFtcVJKO0FBbHFSSTtFQUNJO0FBb3FSUjs7QUFocVJBO0VBQ0k7RUFDQTtBQW1xUko7QUFscVJJO0VBQ0k7QUFvcVJSOztBQWhxUkE7RUFDSTtBQW1xUko7O0FBaHFSQTtFQUNJO0FBbXFSSjs7QUEvcFJBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFrcVJKO0FBaHFSSTs7RUFDSTtBQW1xUlI7QUFocVJJOztFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBbXFSUjtBQWpxUlE7O0VBQ0k7RUFDQTtBQW9xUlo7QUFocVJJOztFQUNJO0FBbXFSUjtBQWhxUkk7Ozs7RUFFSTtFQUNBO0FBb3FSUjs7QUFocVJBO0VBQ0k7RUFDQTtBQW1xUko7O0FBL3BSSTtFQUNJO0FBa3FSUjtBQS9wUkk7O0VBRUk7QUFpcVJSOztBQTdwUkE7RUFDSTtFQUNBO0FBZ3FSSjs7QUEzcFJJOztFQUVJO0FBOHBSUjs7QUExcFJBO0VBQ0k7QUE2cFJKOztBQXpwUkk7RUFDSTtBQTRwUlI7QUExcFJRO0VBQ0k7QUE0cFJaOztBQXZwUkE7RUFDSTtFQUNBO0FBMHBSSjs7QUF2cFJBOzs7O0VBSUk7RUFDQTtFQUNBO0FBMHBSSjs7QUF2cFJBO0VBQ0k7QUEwcFJKO0FBeHBSSTtFQUNJO0FBMHBSUjtBQXZwUkk7RUFDSTtBQXlwUlI7QUF0cFJJO0VBQ0k7QUF3cFJSO0FBcnBSSTtFQUNJO0FBdXBSUjtBQXBwUkk7RUFDSTtBQXNwUlI7QUFucFJJO0VBQ0k7QUFxcFJSO0FBbHBSSTtFQUNJO0FBb3BSUjtBQWpwUkk7RUFDSTtBQW1wUlI7O0FBL29SQTtFQUNJO0FBa3BSSjs7QUEvb1JBO0VBQ0k7QUFrcFJKOztBQS9vUkE7RUFDSTtBQWtwUko7O0FBL29SQTtFQUNJO0FBa3BSSjs7QUEvb1JBO0VBQ0k7QUFrcFJKOztBQS9vUkE7RUFDSTtFQUNBO0FBa3BSSjs7QUEvb1JBO0VBQ0k7RUFDQTtBQWtwUko7O0FBL29SQTtFQUNJO0VBQ0E7QUFrcFJKOztBQS9vUkE7RUFDSTtBQWtwUko7O0FBL29SQTtFQUNJO0FBa3BSSjs7QUEvb1JBO0VBQ0k7QUFrcFJKOztBQS9vUkE7RUFDSTtBQWtwUko7O0FBL29SQTtFQUNJO0FBa3BSSjs7QUEvb1JBO0VBQ0k7QUFrcFJKOztBQS9vUkE7RUFDSTtBQWtwUko7O0FBL29SQTtFQUNJO0FBa3BSSjs7QUE5b1JBO0VBQ0k7RUFDQTtBQWlwUko7QUEvb1JJO0VBQ0k7QUFpcFJSO0FBOW9SSTtFQUNJO0FBZ3BSUjs7QUE1b1JBO0VBQ0k7QUErb1JKOztBQTVvUkE7RUFDSTtBQStvUko7O0FBNW9SQTtFQUNJO0FBK29SSjs7QUE3b1JBO0VBQ0k7QUFncFJKOztBQTdvUkE7RUFDSTtBQWdwUko7O0FBN29SQTtFQUNJO0FBZ3BSSjs7QUE3b1JBO0VBQ0k7QUFncFJKOztBQTdvUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWdwUko7O0FBN29SQTtFQUNJO0FBZ3BSSjtBQTlvUkk7RUFDSTtBQWdwUlI7QUE3b1JJO0VBQ0k7QUErb1JSOztBQTNvUkE7RUFDSTtBQThvUko7O0FBM29SQTtFQUNJO0FBOG9SSjs7QUEzb1JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBOG9SSjs7QUEzb1JBO0VBQ0k7RUFDQTtBQThvUko7O0FBM29SQTtFQUNJO0FBOG9SSjs7QUEzb1JBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBOG9SSjtBQTVvUkk7RUFDSTtFQUNBO0FBOG9SUjtBQTVvUkk7RUFDSTtFQUNBO0FBOG9SUjtBQTVvUkk7RUFDSTtBQThvUlI7QUE1b1JJO0VBQ0k7QUE4b1JSOztBQTFvUkE7RUFDSTtFQUNBO0FBNm9SSjs7QUExb1JBO0VBQ0k7QUE2b1JKOztBQXpvUkk7RUFDSTtFQUNBO0FBNG9SUjtBQXpvUkk7RUFOSjtJQU9RO0VBNG9STjtBQUNGOztBQXpvUkE7RUFDSTtBQTRvUko7O0FBem9SQTtFQUNJO0FBNG9SSjtBQTFvUkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTRvUlI7QUEzb1JRO0VBQ0k7QUE2b1JaO0FBem9SSTtFQUNJO0FBMm9SUjs7QUF2b1JBO0VBQ0k7QUEwb1JKOztBQXZvUkE7RUFDSTtBQTBvUko7O0FBdm9SQTtFQUNJO0FBMG9SSjs7QUF2b1JBO0VBQ0k7QUEwb1JKOztBQXZvUkE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEwb1JKO0FBeG9SSTs7RUFDSTtBQTJvUlI7O0FBdm9SQTtFQUNJO0FBMG9SSjs7QUF4b1JBO0VBQ0k7QUEyb1JKOztBQXhvUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTJvUko7QUF6b1JJO0VBQ0k7RUFDQTtFQUNBO0FBMm9SUjtBQXhvUkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTBvUlI7QUF4b1JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUEwb1JaO0FBdm9SUTtFQUNJO0FBeW9SWjs7QUFwb1JBO0VBQ0k7QUF1b1JKOztBQW5vUkk7RUFDSTtBQXNvUlI7QUFub1JJO0VBQ0k7QUFxb1JSOztBQWhvUkk7RUFDSTtBQW1vUlI7O0FBL25SQTtFQUNJO0VBQ0E7QUFrb1JKOztBQS9uUkE7RUFDSTtFQUNBO0FBa29SSjtBQWhvUkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBa29SUjtBQS9uUkk7RUFDSTtBQWlvUlI7QUE5blJJO0VBQ0k7QUFnb1JSO0FBN25SSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQStuUlI7QUE3blJRO0VBQ0k7QUErblJaOztBQTFuUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQTZuUko7O0FBem5SSTtFQUNJO0VBQ0E7RUFDQTtBQTRuUlI7O0FBeG5SQTtFQUNJO0FBMm5SSjs7QUF4blJBO0VBQ0k7QUEyblJKOztBQXhuUkE7RUFDSTtBQTJuUko7O0FBem5SQTtFQUNJO0FBNG5SSjs7QUF6blJBO0VBQ0k7QUE0blJKOztBQXhuUkk7RUFDSTtFQUNBO0VBQ0E7RUFjQTtBQThtUlI7QUExblJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUE0blJaO0FBMW5SWTtFQUNJO0VBQ0E7QUE0blJoQjs7QUFwblJBO0VBQ0k7RUFDQTtFQUNBO0FBdW5SSjs7QUFwblJBO0VBQ0k7QUF1blJKOztBQXBuUkE7RUFDSTtBQXVuUko7O0FBcG5SQTtFQUNJO0VBQ0E7QUF1blJKOztBQXBuUkE7RUFDSTtBQXVuUko7QUFyblJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUF1blJSO0FBcG5SSTtFQUNJO0VBQ0E7QUFzblJSOztBQWhuUkk7O0VBRUk7RUFDQSxpRFUzbUJtQjtFVjRtQm5CLHdEVTdtQjBCO0VWOG1CMUIsNERVL21CNEI7QVZrdVNwQzs7QUEvbVJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQWtuUko7O0FBOW1SSTtFQUNJO0FBaW5SUjtBQTVtUlE7RUFDSTtBQThtUlo7O0FBem1SQTtFQUNJO0FBNG1SSjs7QUF6bVJBO0VBQ0k7QUE0bVJKOztBQXptUkE7RUFDSTtBQTRtUko7O0FBdm1SSTs7O0VBR0k7QUEwbVJSOztBQXBtUkk7O0VBRUk7QUF1bVJSOztBQW5tUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQXNtUko7QUFwbVJJO0VBQ0k7RUFDQTtFQUNBO0FBc21SUjs7QUFsbVJBO0VBQ0k7RUFDQTtBQXFtUko7O0FBbG1SQTtFQUNJO0FBcW1SSjs7QUFsbVJBO0VBQ0k7RUFDQTtBQXFtUko7O0FBbG1SQTtFQUNJO0lBQ0k7SUFDQTtFQXFtUk47RUFsbVJFO0lBQ0k7RUFvbVJOO0VBam1SRTtJQUNJO0VBbW1STjtFQWhtUkU7SUFDSTtJQUNBO0lBQ0E7RUFrbVJOO0VBL2xSRTtJQUNJO0VBaW1STjtBQUNGO0FBOWxSQTtFQUNJO0FBZ21SSjs7QUE3bFJBO0VBQ0k7SUFDSTtFQWdtUk47RUEzbFJFO0lBQ0k7RUE2bFJOO0VBeGxSRTtJQUNJO0VBMGxSTjtBQUNGO0FBcmxSQTtFQUNJO0FBdWxSSjs7QUFwbFJBO0VBQ0k7RUFDQTtBQXVsUko7O0FBbmxSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBc2xSUjs7QUFobFJRO0VBQ0k7QUFtbFJaOztBQTlrUkE7RUFDSTtJQUNJO0lBQ0E7RUFpbFJOO0VBOWtSRTtJQUNJO0lBQ0E7RUFnbFJOO0FBQ0Y7QUE3a1JBO0VBQ0k7QUEra1JKOztBQTVrUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBK2tSSjs7QUE1a1JBO0VBQ0k7RUFDQTtBQStrUko7QUE3a1JJO0VBQ0k7RUFDQTtBQStrUlI7QUE3a1JRO0VBQ0k7QUEra1JaOztBQTFrUkE7RUFDSTtBQTZrUko7QUEza1JJO0VBQ0k7QUE2a1JSOztBQXhrUkk7RUFDSTtFQUNBO0FBMmtSUjtBQXprUlE7RUFDSTtBQTJrUlo7O0FBdGtSQTtFQUNJO0FBeWtSSjs7QUFya1JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUF3a1JSO0FBdGtSUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBd2tSWjtBQXBrUkk7RUFDSTtBQXNrUlI7O0FBbGtSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFxa1JKO0FBbmtSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFxa1JSO0FBamtSUTtFQUNJO0FBbWtSWjtBQS9qUlk7RUFDSTtFQUNBO0FBaWtSaEI7QUEvalJnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBaWtScEI7O0FBMWpSQTtFQUNJO0FBNmpSSjs7QUEzalJBO0VBQ0k7QUE4alJKOztBQTNqUkE7RUFDSTtBQThqUko7O0FBMWpSSTtFQUNJO0FBNmpSUjs7QUF6alJBO0VBQ0k7QUE0alJKOztBQXpqUkE7RUFDSTtFQUNBO0VBQ0E7QUE0alJKOztBQXpqUkE7RUFDSTtFQUNBO0FBNGpSSjs7QUF6alJBO0VBQ0k7RUFDRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNGpSRjs7QUF6alJBO0VBQ0k7QUE0alJKOztBQXpqUkE7RUFDSTtFQUNBO0FBNGpSSjs7QUF6alJBO0VBQ0k7RUFDQTtBQTRqUko7O0FBempSQTtFQUNJO0FBNGpSSjtBQTNqUkk7RUFDSTtBQTZqUlI7O0FBempSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNGpSSjtBQTFqUkk7RUFDSTtFQUNBO0VBQ0E7QUE0alJSO0FBMWpSUTtFQUNJO0FBNGpSWjtBQXhqUkk7RUFDSTtFQUNBO0VBQ0E7QUEwalJSO0FBdmpSSTtFQUNJO0VBQ0E7RUFDQTtBQXlqUlI7QUF0alJJO0VBQ0k7RUFDQTtFQUNBO0FBd2pSUjtBQXRqUlE7RUFDSTtBQXdqUlo7QUFwalJJO0VBQ0k7QUFzalJSO0FBbmpSSTtFQUNJO0VBQ0E7QUFxalJSO0FBbGpSSTtFQUNJO0FBb2pSUjs7QUFoalJBO0VBQ0k7SUFBTztFQW9qUlQ7RUFualJFO0lBQU87RUFzalJUO0VBcmpSRTtJQUFPO0VBd2pSVDtBQUNGO0FBdGpSQTtFQUNJO0FBd2pSSjtBQXZqUkk7RUFDSTtBQXlqUlI7O0FBcmpSQTtFQUNJO0FBd2pSSjs7QUF0alJBO0VBQ0k7QUF5alJKOztBQXZqUkE7RUFDSTtBQTBqUko7O0FBeGpSQTtFQUNJO0FBMmpSSjs7QUF6alJBO0VBQ0k7QUE0alJKOztBQTFqUkE7RUFDSTtBQTZqUko7O0FBMWpSQTtFQUNJO0FBNmpSSjs7QUExalJBO0VBQ0k7QUE2alJKOztBQTFqUkE7RUFDSTtBQTZqUko7O0FBM2pSQTtFQUNJO0FBOGpSSjs7QUE1alJBO0VBQ0k7QUEralJKOztBQTVqUkE7RUFDSTtBQStqUko7O0FBN2pSQTtFQUNJO0FBZ2tSSjs7QUE5alJBO0VBQ0k7QUFpa1JKOztBQS9qUkE7RUFDSTtBQWtrUko7O0FBaGtSQTtFQUNJO0FBbWtSSjs7QUFoa1JBO0VBQ0k7QUFta1JKOztBQWhrUkE7RUFDSTtFQUNBO0VBQ0E7QUFta1JKOztBQS9qUkk7RUFDSTtBQWtrUlI7QUE5alJRO0VBQ0k7QUFna1JaOztBQTFqUkk7RUFDSTtFQUNBO0VBQ0E7QUE2alJSO0FBNWpSUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBOGpSWjtBQXpqUlk7RUFDSTtBQTJqUmhCO0FBdmpSSTtFQUNJO0FBeWpSUjs7QUFyalJBO0VBQ0k7QUF3alJKO0FBdmpSSTtFQUNJO0FBeWpSUjs7QUFyalJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUF3alJKOztBQXJqUkE7RUFDSTtFQUNBO0VBQ0E7QUF3alJKOztBQXJqUkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQXdqUko7O0FBcmpSQTtFQUNFO0FBd2pSRjs7QUFyalJBO0VBQ0k7QUF3alJKO0FBdmpSSTtFQUNJO0VBQ0E7RUFDQTtBQXlqUlI7QUF0alJRO0VBQ0k7QUF3alJaO0FBcmpSSTtFQUNJO0FBdWpSUjtBQXJqUkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBdWpSUjtBQXJqUkk7RUFDSTtFQUNBO0FBdWpSUjtBQXJqUkk7RUFDSTtFQUNBO0FBdWpSUjtBQXJqUkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQXVqUlI7O0FBampSSTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQztBQW9qUlI7O0FBL2lSSTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQztBQWtqUlI7O0FBN2lSSTtFQUNJO0FBZ2pSUjtBQS9pUlE7RUFDSTtBQWlqUlo7QUE5aVJJO0VBQ0k7QUFnalJSO0FBL2lSUTtFQUNJO0FBaWpSWjs7QUE1aVJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQStpUko7QUE3aVJJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE4aVJSO0FBNWlSSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBQTZpUlI7QUE1aVJRO0VBQ0k7RUFDQTtBQThpUlo7QUEzaVJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUE2aVJSO0FBM2lSSTtFQUNJO0VBQ0E7QUE2aVJSO0FBM2lSSTtFQUNJO0VBQ0E7QUE2aVJSOztBQXppUkE7RUFDSTtBQTRpUko7QUEzaVJJO0VBQ0k7QUE2aVJSO0FBNWlSUTtFQUVJO0FBNmlSWjs7QUF4aVJBO0VBQ0k7RUFDQTtBQTJpUko7O0FBeGlSQTtFQUNJO0VBQ0E7RUFDQTtBQTJpUko7O0FBeGlSQTtFQUNJO0FBMmlSSjs7QUF4aVJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTJpUko7QUF6aVJJO0VBQ0k7RUFDQTtBQTJpUlI7QUF4aVJJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUEwaVJSOztBQXRpUkE7RUFDSTtFQUNBO0FBeWlSSjs7QUF0aVJBO0VBQ0k7RUFDQTtBQXlpUko7O0FBdGlSQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBeWlSSjtBQXhpUkk7RUFDSTtBQTBpUlI7O0FBcmlSSTtFQUNJO0VBQ0E7RUFDQTtBQXdpUlI7O0FBbmlSSTtFQUNJO0FBc2lSUjtBQXBpUkk7RUFDSTtBQXNpUlI7QUFwaVJJO0VBQ0k7RUFDQTtBQXNpUlI7O0FBamlSSTtFQUNJO0FBb2lSUjs7QUFoaVJBO0VBQ0k7RUFDQTtBQW1pUko7QUFsaVJJO0VBQ0k7QUFvaVJSOztBQWhpUkE7RUFJSTtBQWdpUko7QUFuaVJJO0VBQ0k7QUFxaVJSO0FBbGlSSTtFQUNJO0FBb2lSUjs7QUFoaVJBO0VBQ0k7QUFtaVJKOztBQWhpUkE7RUFDSTtBQW1pUkosQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvZGlhbG9nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hamF4LWNhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2VtcGxlYWRvcy1idWxrLWFjdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2F1c2VuY2lhcy1jYWxlbmRhci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvY2FsZW5kYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NhbGVuZGFyLXZpZXcuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2luZGljYWRvcmVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9jYWxlbmRhcmlvLWFjdGl2aWRhZGVzLWVtcGxlYWRvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9mcF9zdmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2NvbG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9kYXRlcGlja2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9kYXRldGltZS1yYW5nZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvZHVhbC1yYW5nZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvZWRpdG9yLWZvbXVsYXJpb3MtZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvZWRpdG9yLWZvcm11bGFyaW9zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9lZGl0b3ItZm9ybXVsYXJpb3MtZmllbGQtY29uZmlndXJlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9lZGl0b3ItZm9ybXVsYXJpb3MtZmllbGQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2VkaXRvci1mb3JtdWxhcmlvcy1zaWRlYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9lbXBsZWFkby1kZXRhbGxlLWNoZWNhZG9yZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2VvLWNvbnRyb2xsZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2ZjbS1jb250cm9sbGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9maWxlLXR5cGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2hvcmFyaW8tdHlwZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvanNvbmVkaXRvci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbWFwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9tYXBhX3ViaWNhY2lvbmVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9tYXF1aWxhLW5vbWluYS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbW9uZXktY2VsbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbW9uaXRvci12aWdpbGFuY2lhLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9tdWx0aS1lbnRpdHktZm9ybS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbXVsdGl2aWV3LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9yZXBvcnRlLWJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbmF2ZWdhZG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9vcmdhbmlncmFtYS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcHJvY2Vzcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc2FwYm8tbXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3NlYXJjaGFibGUtc2VsZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zaG9ydGN1dC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc2lkZWJhci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvdGV4dC10cnVuY2F0b3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3RpbWUtY29udHJvbGxlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvdG9wYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy91bmlkYWQtY2FyZC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvdmlzaXRhLWNwLWZvcm11bGFyaW8uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Zpc2l0YW50ZS1jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy90b2tlbnMubW9kdWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvY29sb3JzLm1vZHVsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL3R5cG9ncmFwaHkubW9kdWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvdGhlbWUubGlnaHQubW9kdWxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvdGhlbWUuZGFyay5tb2R1bGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fdGhlbWVfdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2NvbG9yLWNsYXNzZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2dsb2JhbC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fY29sbGVjdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL19iYWRnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9faWNvbnMtbWF0ZXJpYWwtZGVzaWduLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fbmF2YmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fdHJhbnNpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fdG9hc3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fY29sbGFwc2libGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fY2hpcHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fbWF0ZXJpYWxib3guc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9mb3Jtcy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9mb3Jtcy9faW5wdXQtZmllbGRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvZm9ybXMvX3JhZGlvLWJ1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9mb3Jtcy9fY2hlY2tib3hlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL2Zvcm1zL19zd2l0Y2hlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9mb3Jtcy9fZmlsZS1pbnB1dC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL2Zvcm1zL19yYW5nZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL190YWJsZV9vZl9jb250ZW50cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL19zaWRlbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX3ByZWxvYWRlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fdGFwVGFyZ2V0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX3B1bHNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BtYXRlcmlhbGl6ZWNzcy9tYXRlcmlhbGl6ZS9zYXNzL2NvbXBvbmVudHMvX2RhdGVwaWNrZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQG1hdGVyaWFsaXplY3NzL21hdGVyaWFsaXplL3Nhc3MvY29tcG9uZW50cy9fdGltZXBpY2tlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvdmlzaXRhLXJlc3VtZW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3Zpc2l0YW50ZS1yZXN1bWVuLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy91bmlkYWQtcmVzdW1lbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvdGltZWxpbmUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL2N1bXBsZWFub3MtaXRlbS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi5tb2RhbC5kaWFsb2cge1xuICAgIG1pbi1oZWlnaHQ6IDIzNnB4O1xuICAgICY6bm90KC5tb2RhbC1iaWcpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLm1vZGFsLWJpZ3tcbiAgICAgICAgaW1nLmNvbnRlbnQtaW1hZ2V7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3MnB4O1xuICAgIH1cbiAgICBcbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMThweCAyNHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogbGFyZ2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogIzQ0NDtcbiAgICB9XG5cbiAgICAmLmVycm9yIHsgXG4gICAgICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWJlZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZjQ0MzM2O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZjZGQyO1xuICAgICAgICB9XG4gICAgfVxuICAgICYud2FybmluZyB7IFxuICAgICAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY4ZTE7XG4gICAgICAgICAgICBjb2xvcjogI2ZmYzEwNztcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZWNiMztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmluZm8geyBcbiAgICAgICAgLm1vZGFsLWhlYWRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlYWY2O1xuICAgICAgICAgICAgY29sb3I6ICMzZjUxYjU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNjNWNhZTk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zdWNjZXNzIHsgXG4gICAgICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZjJmMSA7XG4gICAgICAgICAgICBjb2xvcjogIzAwOTY4OCA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNiMmRmZGIgO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5hamF4LWNhcmQge1xuICAgIC53aGl0ZS1zcGFjZSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxuICAgIC5hamF4LWNhcmQtZXJyb3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0cmFuc2l0aW9uOiAyNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgY29sb3I6ICNlZWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMgIWltcG9ydGFudDtcbiAgICAgICAgJi5zaG93IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAuZXJybm8sIC5lcnIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5lcnJubyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmY1NTAwO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn0iLCIuZW1wbGVhZG9zLWJ1bGstYWN0aW9ucy1lbGVtZW50IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA0NSU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LW9uLXByaW1hcnktY29sb3ItbWFpbik7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtIDAgMCAwLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZS1pbi1vdXQgMC4zcztcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmLmhpZGRlbiB7XG4gICAgICAgIHJpZ2h0OiAtNzBweDtcbiAgICB9XHRcblxuICAgICY6aG92ZXIge1xuICAgICAgICB3aWR0aDogODVweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1vbi1wcmltYXJ5LWNvbnRhaW5lcik7XG4gICAgfVxufSIsIi5kZXNjYW5zby1ldmVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTWF0ZXJpYWxTeW1ib2xzU2hhcnBcIiAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICB9XG4gICAgJi5QZXJtaXNvIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwidGFza19hbHRcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuVmFjYWNpb25lcyB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcImtheWFraW5nXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLkluY2FwYWNpZGFkIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwibWVkaWNhbF9zZXJ2aWNlc1wiO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuSnVzdGlmaWNhY2nDs24ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJkZXNjcmlwdGlvblwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZjLWV2ZW50LXRpdGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gICAgfVxufSIsIi5jYWxlbmRhci1jb250YWluZXIge1xuICAgIC5jYWxlbmRhciB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMC41ZnIgcmVwZWF0KDUsIDFmcik7XG4gICAgICAgIHJvdy1nYXA6IDVweDtcbiAgICAgICAgY29sdW1uLWdhcDogNXB4O1xuICAgICAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcbiAgICAgICAgLnNsb3Qge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNnJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlYWFhO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5oZWFkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhYWVlZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWVlYWE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFhYWVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcGFkZGluZzogMTBweCA1cHggIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC5pbnB1dC1maWVsZDpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5jYWxlbmRhci12aWV3IHtcbiAgICBwYWRkaW5nOiAwIDI0cHggOHB4IDI0cHg7IFxuICAgIC5jYWxlbmRhci1jb250ZW50IHtcbiAgICAgICAgbWluLWhlaWdodDogNjV2aDtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMwMHB4KTtcbiAgICB9XG4gICAgLml0aW5lcmFyaW8tY2FyZCB7XG4gICAgICAgIC5mYy1ldmVudC1tYWluIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICAtLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvcik7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZ3JhbWFkYSB7XG4gICAgICAgIGNvbG9yOiAjZmZjYTI4O1xuICAgIH1cbiAgICAuYWJpZXJ0YSB7XG4gICAgICAgIGNvbG9yOiAjMjZhNjlhO1xuICAgIH1cbiAgICAuY2VycmFkYSB7XG4gICAgICAgIGNvbG9yOiAjZWY1MzUwO1xuICAgIH1cbiAgICBcblxuICAgIC50aW1lIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjVhYTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICB9XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxufSIsIkBwcm9wZXJ0eSAtLXBvcmNlbnRhamUge1xuICAgIHN5bnRheDogXCI8cGVyY2VudGFnZT5cIjtcbiAgICBpbmhlcml0czogZmFsc2U7XG4gICAgaW5pdGlhbC12YWx1ZTogMCU7XG59XG4uZXN0YWRpc3RpY2FzLWFzaXN0ZW5jaWEge1xuICAgIC5pbmRpY2Fkb3Ige1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMC41cmVtIDA7XG4gICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgXG4gICAgICAgIC5wcm9ncmVzcyB7XG4gICAgICAgICAgICAtLXBvcmNlbnRhamU6IDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb25pYy1ncmFkaWVudCh2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSkgdmFyKC0tcG9yY2VudGFqZSksIHZhcigtLWJhY2tncm91bmQtY29sb3ItY2FyZCkgMGRlZyk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAtLXBvcmNlbnRhamUgZWFzZS1pbi1vdXQgMC41cztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAuZGlzcGxheSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzQ0NDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50b3RhbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBib3R0b206IDI1cHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn0iLCIuY2FsZW5kYXJpby1hY3RpdmlkYWRlcy1lbXBsZWFkbyB7XG4gICAgLmZjLWRheWdyaWQtZGF5LXRvcCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLmRheS1jZWxsLWljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb250YWluZXItY29sb3IpO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0ZC5mYy1kYXkge1xuICAgICAgICAmOm5vdCg6aGFzKC5kYXktY2VsbC1pY29uKSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgfVxuICAgICAgICAmOm5vdCguZGF5LXNlbGVjdGVkKTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZjLWRheS10b2RheSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUwYjIgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZGF5LXNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IzZTVmYyAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmRldGFsbGUtZGlhIHtcbiAgICAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuICAgIC5kYXRhIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgfVxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBjb2xvcjogIzU1NTtcbiAgICB9XG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cblxuICAgIC5hY3Rpb24ge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZmMtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgfVxufSIsInN2ZyBnLmZpbmdlciB7XG4gICAgJi5zZWxlY3RlZC5hY3RpdmUuaGFzLWZpbmdlcnByaW50IHBhdGgge1xuICAgICAgICBmaWxsOiAjZmZjZGQyICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5zZWxlY3RlZCBwYXRoIHtcbiAgICAgICAgZmlsbDogI2IyZGZkYjtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSBwYXRoIHtcbiAgICAgICAgZmlsbDogI2IzZTVmYztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuYWN0aXZlLnNlbGVjdGVkIHBhdGgge1xuICAgICAgICBmaWxsOiAjZmZjZGQyO1xuICAgIH1cblxuICAgICYuYWN0aXZlLnNlbGVjdGVkOmhvdmVyIHBhdGgge1xuICAgICAgICBmaWxsOiAjY2Y5ZWEzICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoLnNlbGVjdGVkKTpub3QoLmFjdGl2ZSkgcGF0aCB7XG4gICAgICAgIGZpbGw6ICNlZWVlZWU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLnNlbGVjdGVkOmhvdmVyIHBhdGgge1xuICAgICAgICBmaWxsOiAjOGNiNmIyICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59IiwiW2RhdGEtY29udHJvbGxlcj0nY29sb3InXSB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn0iLCIuZGF0ZXBpY2tlci1jb250YWluZXIge1xuICAgIC5kYXRlcGlja2VyLWNvbnRyb2xzIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICB9XG59IiwiLmRhdGV0aW1lLXJhbmdlIHtcbiAgICBcbn1cbi5kYXRldGltZS1yYW5nZS1kcm9wZG93biB7XG4gICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICAgIC5idG4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mbGV4IHtcbiAgICAgICAgLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQG1peGluIHNwbGl0LXJ1bGVzKCRzZWxlY3Rvcikge1xuICAgIEBlYWNoICRjb21wbGV4IGluIHNlbGVjdG9yLXBhcnNlKCRzZWxlY3Rvcikge1xuICAgICAgICAjeyRjb21wbGV4fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5yYW5nZV9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgLmJ1YmJsZSwgI2luaSwgI2ZpbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zbGlkZXJzX2NvbnRyb2wge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXJhbmdlXSB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgc3BsaXQtcnVsZXMoXCJpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10aHVtYiwgaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1iXCIpIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC50cmFjayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zZWNvbmRhcnktY29sb3ItaG92ZXItc29saWQpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgIH1cblxuICAgIC50aWNrcyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgXG4gICAgICAgIC50aWNrIHtcbiAgICAgICAgICAgIC0tdGljay12YWx1ZTogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zZWNvbmRhcnktY29sb3ItaG92ZXItc29saWQpO1xuICAgICAgICAgICAgJi5taWQge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuZGF5LWJlZ2luIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmNTM1MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idWJibGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IHZhcigtLWJ1YmJsZS1wb3NpdGlvbik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDQ0O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdG9wOiAtNXB4O1xuICAgIH1cbn1cbiAgXG4iLCIuZWRpdG9yLWZvbXVsYXJpb3MtZ3JpZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAmOm5vdCguZW1wdHkpIHtcbiAgICAgICAgaGVpZ2h0OiBtYXgtY29udGVudDtcbiAgICB9XG4gICAgJi5lbXB0eTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnQXJyYXN0cmEgdW4gY2FtcG8gcGFyYSBlbXBlemFyIGEgZWRpdGFyJztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwNzc7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxufSIsIi5lZGl0b3ItZm9ybXVsYXJpb3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLmVkaXRvci1mb3JtdWxhcmlvcy1zdGF0dXMge1xuICAgICAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICB9XG59IiwiLmVkaXRvci1mb3JtdWxhcmlvcy1maWVsZC1jb25maWd1cmUge1xuICAgIG1pbi1oZWlnaHQ6IDU2cHg7XG4gICAgLmVmZmMtZHJvcGRvd24ge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAuaW5wdXQtZmllbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5vcHRpb25zIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjdyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmVkaXRvci1mb3JtdWxhcmlvcy1maWVsZCB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDAuMnM7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAuaWNvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG4gICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuICAgIC5ncmFiIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICBjdXJzb3I6IGdyYWI7XG4gICAgfVxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMjgpLCAwIDZweCAycHggLTRweCByZ2JhKDAsIDAsIDAsIDAuMjQpLCAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIH1cbiAgICA6YWN0aXZlIHtcbiAgICAgICAgY3Vyc29yOiBncmFiYmluZztcbiAgICB9XG59IiwiLmVkaXRvci1mb3JtdWxhcmlvcy1zaWRlYmFyIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xufSIsIi5jaGVjYWRvci1jb250YWluZXIge1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICB3aWR0aDogMTUlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2UtaW4tb3V0O1xuXG4gICAgJi5lbXBsZWFkby1pbi1pdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlM2YyZmQgO1xuICAgIH1cblxuICAgICY6bm90KC5lbXBsZWFkby1pbi1pdCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIH1cblxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJkZWZiO1xuICAgIH1cblxuICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgIH1cblxuICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1mYy1ib3JkZXItY29sb3IpO1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBwYWRkaW5nOiA1cHggMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cbn0iLCIubm9kZSB7XG4gICAgLS1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3IpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBjb2xvcjogI2VlZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJi5ub24tZW1wbGVhZG8ge1xuICAgICAgICAuaGMge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICAgICAgICBjb2xvcjogIzQ0NDtcbiAgICAgICAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGQtYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmVtcGxlYWRvIHtcbiAgICAgICAgLnBwIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgNnB4IHZhcigtLWNvbG9yKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgICAgICAuZGF0YSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5ub21icmUge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uZW8tY29udHJvbGxlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2NXB4KTtcbiAgICAuZmlsdGVycy1jYXJkIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxpbmsge1xuICAgICAgICBzdHJva2U6ICM0NDQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmRpYWdyYW0ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnRvYXN0Lm5vdGlmaWNhdGlvbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgLm5vdGlmLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC41cmVtIDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5vdGlmLWJvZHkge1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgZGl2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufSIsIi5maWxlLXR5cGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWZvbnQtY29sb3ItbWVkaXVtKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAubWVzc2FnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmljb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlci1jb2xvcik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1maWxlXSB7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAmLmhpZ2hsaWdodCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuICAgICYuZHJvcHBlZCB7XG4gICAgICAgIC5pY29uLCAubWVzc2FnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC50aHVtYm5haWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgfVxuICAgICAgICAuY2xlYXIge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IE1hdGVyaWFsU3ltYm9sc1NoYXJwO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZXJyb3ItY29sb3IpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLWNvbG9yKTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmhvcmFyaW8tdHlwZSB7XG4gICAgLmhvcmFyaW8tdHlwZS1ib2R5IHtcbiAgICAgICAgLmhvcmFyaW8tdHlwZS1yb3cge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAudGwge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5sYWJvcmFsIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5qc29uLWVkaXRvci1jb250YWluZXIge1xuICAgIC5oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZGRkZDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjY2NjYztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjY2NjYztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5qc29uLWVkaXRvciB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dDtcbiAgICB9XG4gICAgJi5jb2xsYXBzZWQge1xuICAgICAgICAuanNvbi1lZGl0b3Ige1xuICAgICAgICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5tYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1mb250LWNvbG9yLW1lZGl1bSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIC5idXNjYWRvciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UtaW4tb3V0IDI1MG1zO1xuICAgICAgICAmLmZvY3VzZWQge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuc3VmZml4IHtcbiAgICAgICAgICAgIHRvcDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICAgIC5kZXN0aW5vcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDQ1cHgpO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIC5kZXN0aW5vIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCAjYWFhIHNvbGlkO1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1hcC1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICAgIC5zd2l0Y2gtbGF5ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICB9XG4gICAgICAgIC5zd2l0Y2gtYWN0aW9uLW1vZGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgICAgLm1hdGVyaWFsLWljb25zIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmPmlucHV0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNDAlO1xuICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG59IiwiLm11Yy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHN2aCAtIDY0cHgpO1xuICAgIC5tdWMtbWFwYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5sYXRlcmFsLXBhbmVsIHtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAub2wtb3ZlcmxheWNvbnRhaW5lci1zdG9wZXZlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5tdWMtem9vbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLm11Yy1uZWFyLWFuZC1zZWFyY2gge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgdG9wOiA5cmVtO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgJjpub3QoLmxvYWRpbmcpOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLW51bWJlci1vZi1sb2NhdGlvbnMpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0wLjVyZW07XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0wLjVyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLm1hcXVpbGEtbm9taW5hLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBjYWxjKDEwMHN2aCAtIDY0cHgpICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIHNjcm9sbC1wYWRkaW5nLXRvcDogMjAwcHg7XG5cbiAgLmhlYWRlciB7XG4gICAgd3JpdGluZy1tb2RlOiBzaWRld2F5cy1scjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuamV4Y2VsIHRoZWFkIHtcbiAgICB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICNlZWU7XG4gICAgICBib3JkZXItbGVmdDogI2FhYSBzb2xpZCAxcHggIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodDogI2FhYSBzb2xpZCAxcHggIWltcG9ydGFudDtcbiAgICAgICYuYXJyb3ctZG93biB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJ+KWvCc7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIGNvbG9yOiAjZWVlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5hcnJvdy11cCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJ+KWsic7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIGNvbG9yOiAjZWVlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLmpleGNlbCB0Ym9keSB7XG4gICAgdGQucmVhZG9ubHkge1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgJiwuamV4Y2VsX3JvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUU5RjEgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5qZXhjZWxfcm93LnNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Q2QzlFMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnBlcmNlcGNpb25lcyB7IFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBmMmYxICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuZGVkdWNjaW9uZXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlYmVlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAudG90YWwtcGVyY2VwY2lvbmVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzgwY2JjNCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnRvdGFsLWRlZHVjY2lvbmVzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmOWE5YSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAudG90YWwtcGVyY2VwY2lvbmVzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMmRmZGIgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC50b3RhbC1kZWR1Y2Npb25lcyB7IFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2RkMiAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLm1hcXVpbGEtbm9taW5hLXNlYXJjaC1jb250YWluZXIge1xuICB3aWR0aDogMzUwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA3OHB4O1xuICBsZWZ0OiAyNTBweDtcbiAgei1pbmRleDogMTAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDA0MDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBjb2xvcjogI2VlZSAhaW1wb3J0YW50O1xuICB9XG59IiwiLm1vbmV5LWNlbGwge1xuICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICckJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbn0iLCIubW9uaXRvci12aWdpbGFuY2lhIHtcbiAgICAubGVmdC1wYW5lbCwgLnJpZ2h0LXBhbmVsLCAuZGF0YT4ucm93LCAubG9nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICAuZGF0YSB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTA0cHgpO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgZ2FwOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5kZW50cm8sIC5mdWVyYSB7XG4gICAgICAgIGhlaWdodDogNTAlO1xuICAgIH1cbiAgICAuZGVudHJvLCAuZnVlcmEsIC5sb2cge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgIH1cbiAgICAuY29sPi5jYXJkIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHN2aCAtIDE0MHB4KTtcbiAgICB9XG4gICAgLmRlbnRybyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCAjZGRkIHNvbGlkO1xuICAgIH1cbiAgICAubG9nIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCAjZGRkIHNvbGlkO1xuICAgIH1cbn0iLCIubXVsdGktZW50aXR5LWZvcm0ge1xuICAgIG1pbi1oZWlnaHQ6IDVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZm9udC1jb2xvci1tZWRpdW0pO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgIC5uby1kYXRhIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW5wdXQge1xuICAgICAgICB3aWR0aDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAubGFiZWwge1xuICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW1lZGl1bSk7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICAgIC5saW5lcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIC5saW5lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMXJlbSAxLjVyZW07XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1mb250LWNvbG9yLW1lZGl1bSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGVsZXRlLWxpbmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC0zNSUpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcjJyBhdHRyKGRhdGEtbGluZS1udW1iZXIpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMzUlKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW5wdXQuZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKHZhcigtLW1kX3N5c19jb2xvcl9vbi1zdXJmYWNlKSwgMC43MCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLW1kX3N5c19jb2xvcl9vbi1zdXJmYWNlKSwgMC4zMCk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwMDAwLCAwLjAzKTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWRkLWxpbmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgIH1cbiAgICAuc2VhcmNoIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiA0cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICB9XG4gICAgLmFsZXJ0IHtcbiAgICAgICAgYW5pbWF0aW9uOiBzaGFrZSAwLjdzIGN1YmljLWJlemllcigwLjM2LCAwLjA3LCAwLjE5LCAwLjk3KSBib3RoO1xuICAgIH1cbn1cbi5zZWFyY2hNb2RhbCB7XG4gICAgLnNlYXJjaC1pbnB1dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zZWFyY2gtY2xlYXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAubGluZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1mb250LWNvbG9yLW1lZGl1bSk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlZWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNlZWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICAgIDEwJSwgOTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMXB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICAyMCUsIDgwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMnB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICAzMCUsIDUwJSwgNzAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNHB4LCAwLCAwKTtcbiAgICB9XG5cbiAgICA0MCUsIDYwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNHB4LCAwLCAwKTtcbiAgICB9XG59IiwiLm11bHRpdmlldyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLW11bHRpdmlldy10aXRsZS12YWx1ZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDJyZW0gMCAycmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmNhcmQtYWN0aW9uIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAmPiAqOm5vdChidXR0b24pIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgIH1cbiAgICAgICAgLmlucHV0LWZpZWxkIHtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICNtdWx0aXZpZXctcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3VmZml4OmhhcygrIC5maWx0ZXJJbnB1dDpwbGFjZWhvbGRlci1zaG93bikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICB0Ym9keSB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgdHIge1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgfVxuXG4gICAgdGQuaGlnaGxpZ2h0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeS1jb250YWluZXIpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgdGQucHJldi1oaWdobGlnaHRlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci10ZXJ0aWFyeS1kYXJrKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWQtc3lzLWNvbG9yLXRlcnRpYXJ5KTtcbiAgICB9XG5cbiAgICB0aC5zb3J0YWJsZSB7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcInNvcnRfYnlfYWxwaGFcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWxTeW1ib2xzU2hhcnAnO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgfVxuICAgICAgICAmLmFzYzo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJhcnJvd19kcm9wX2Rvd25cIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWxTeW1ib2xzU2hhcnAnO1xuICAgICAgICB9XG4gICAgICAgICYuZGVzYzo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJhcnJvd19kcm9wX3VwXCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsU3ltYm9sc1NoYXJwJztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZ3JpZC12aWV3IHtcbiAgICAgICAgZ3JpZC1hdXRvLXJvd3M6IDFmcjtcbiAgICAgICAgcGFkZGluZzogMCAyNHB4IDhweCAyNHB4O1xuICAgIH1cbiAgICAuY2FyZC1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogNXB4IDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTdweCk7XG4gICAgfVxuICAgIC5jYXJkLWZpbHRlcnMge1xuICAgICAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubXVsdGlzZWxlY3QtY2hlY2tib3gge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtb24tc3VyZmFjZSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiY2hlY2tcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWxTeW1ib2xzU2hhcnAnO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5jaGVja2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzLXZpc2libGUgOjpiZWZvcmV7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm11bHRpdmlldy1mb2N1cy1zdGF0cyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMXJlbTtcbiAgICBsZWZ0OiAxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXByaW1hcnkpO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAmLmhpZGRlbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDBweCk7XG4gICAgfVxuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgZGl2IHtcbiAgICAgICAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgICB9XG5cbiAgICBzcGFuLnRhYiB7XG4gICAgICAgIFxuICAgIH1cbn0iLCIucmVwb3J0ZS1idXR0b24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtLXNpZGUtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2lkZS1jb2xvcik7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaWRlLWNvbG9yKTtcbiAgICAgICAgLm1hdGVyaWFsLWljb25zIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGxhY2Vob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBmb250LXNpemU6IGxhcmdlcjtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnJlbSk7XG4gICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgbGVmdDogNXJlbTtcbiAgICB9XG59XG4iLCIubmF2ZWdhZG9yIHtcbiAgICAucGFnZSB7XG4gICAgICAgICYuZmFkZUluIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDUwMG1zIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xuICAgICAgICB9XG4gICAgICAgICYuZmFkZU91dCB7XG4gICAgICAgICAgICBhbmltYXRpb246IGZhZGVPdXQgNTAwbXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5uby1hbmltYXRpb25zIHtcbiAgICAgICAgLnBhZ2Uge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwcyAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59IiwiLm9yZ2FuaWdyYW1hLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjRweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNhcmQ6aGFzKFtkYXRhLW9yZ2FuaWdyYW1hLXRhcmdldD1cImZpbHRyb3NcIl0pIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFyZW07XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwJSAtIDVyZW0pKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIucHJvY2Vzcy1wYXJlbnQge1xuICAgIG1hcmdpbjogMCAycmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLnByb2Nlc3MtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLnByb2dyZXNzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmluZGljYXRvciB7XG4gICAgICAgICAgICAtLWxlZnQ6IDYwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IHZhcigtLWxlZnQpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXN1cmZhY2UtdmFyaWFudCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIsICYuY29tcGxldGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1haW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1jb2xvci1jYXJkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2Nlc3MtdGFyZ2V0cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5wcm9jZXNzLXRhcmdldCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICYuZW50ZXItbGVmdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZW50ZXJMZWZ0QW5pbWF0aW9uIDI1MG1zIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xuICAgICAgICB9XG4gICAgICAgICYuZW50ZXItcmlnaHQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBhbmltYXRpb246IGVudGVyUmlnaHRBbmltYXRpb24gMjUwbXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICAgICAgJi5leGl0LWxlZnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBhbmltYXRpb246IGV4aXRMZWZ0QW5pbWF0aW9uIDI1MG1zIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xuICAgICAgICB9XG4gICAgICAgICYuZXhpdC1yaWdodCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZXhpdFJpZ2h0QW5pbWF0aW9uIDI1MG1zIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGVudGVyTGVmdEFuaW1hdGlvbiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGV4aXRMZWZ0QW5pbWF0aW9uIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBlbnRlclJpZ2h0QW5pbWF0aW9uIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBleGl0UmlnaHRBbmltYXRpb24ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbn0iLCIuc2FwYjEtbXVsdGl2aWV3IHtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMCAxcmVtO1xufVxuLnNob3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHNlbGVjdCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG59IiwiLnNlYXJjaGFibGUtc2VsZWN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmZha2Utc2VsZWN0IHtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLmNhcnJldCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgZmlsbDogdmFyKC0tZm9udC1jb2xvci1tYWluKTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxufVxuLnNlYXJjaGFibGUtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAuc2VhcmNoIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1tYWluKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYuc2VsZWN0ZWQ6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9jdXMtY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cywgJi5mb2N1c2VkLCAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXM6OmFmdGVyLCAmLmZvY3VzZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufSIsIiNzaG9ydGN1dC10cmlnZ2VyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAzNXB4O1xuICAgIHBhZGRpbmc6IDNweDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICAuYnRuIHtcbiAgICAgICAgcGFkZGluZzogMCAzcHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICB9XG59XG5cbiNzaG9ydGN1dC1tb2RhbCB7XG4gICAgLmlucHV0LWZpZWxkIGlucHV0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zaG9ydGN1dC1jYXJkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC5kYXRhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgLnRpdHVsbyB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMyMjI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogI2VlZTtcbiAgICAgICAgICAgIC50aXR1bG8ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiAjZWVlO1xuICAgICAgICAgICAgLnRpdHVsbyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggI2FhYSBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCI6cm9vdCB7XG4gICAgLS1zaWRlYmFyLWNvbGxhcHNlZC13aWR0aDogNjBweDtcbiAgICAtLXNpZGViYXItZXhwYW5kZWQtd2lkdGg6IDIwMHB4O1xuICAgIC0tc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjMzO1xuICAgIC0tc2lkZWJhci10ZXh0LWNvbG9yOiAjZWVlO1xuICAgIC0tc2lkZWJhci1ob3Zlci10ZXh0LWNvbG9yOiAjQjJCOEYwO1xufVxuLnNpZGViYXIge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiAyNTBtcyBlYXNlLWluLW91dDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IHZhcigtLXNpZGViYXItZXhwYW5kZWQtd2lkdGgpO1xuICAgIGhlaWdodDogMTAwc3ZoO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBjb2xvcjogdmFyKC0tc2lkZWJhci10ZXh0LWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaWRlYmFyLWJhY2tncm91bmQtY29sb3IpO1xuICAgICYuY29sbGFwc2VkIHtcbiAgICAgICAgd2lkdGg6IHZhcigtLXNpZGViYXItY29sbGFwc2VkLXdpZHRoKTtcbiAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICB9XG4gICAgICAgIGxpLmxpbmsgYSAudGV4dCB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbGxhcHNpYmxlLWhlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1zaWdsYXMpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvbGxhcHNpYmxlLWJvZHkge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb2xsYXBzaWJsZXtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgLmNvbGxhcHNpYmxlLWhlYWRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5jb2xsYXBzaWJsZS1ib2R5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiB3aGl0ZSwgJGFscGhhOiAwLjAzKTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zaWRlYmFyLXRleHQtY29sb3IpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMC41cmVtIDA7XG4gICAgICAgICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuY2xvc2VkIHtcbiAgICAgICAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgbGkuaGVhZGVyIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTJweCAxMHB4O1xuXG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLXRleHQtY29sb3IpXG4gICAgICAgIH1cbiAgICB9XG4gICAgbGkubGluayBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTBweDtcbiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItdGV4dC1jb2xvcik7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItaG92ZXItdGV4dC1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaS5saW5rLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzNDQ7XG4gICAgICAgIC5tYXRlcmlhbC1pY29ucyB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cdFxufVxuXG4jc2lkZWJhci10b2dnbGUge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbm1haW4ge1xuICAgIHRyYW5zaXRpb246IDI1MG1zIGVhc2UtaW4tb3V0IGFsbDtcbn1cbm1haW4uc2lkZWJhci1jb2xsYXBzZWQge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaWRlYmFyLWNvbGxhcHNlZC13aWR0aCk7XG59XG5tYWluLnNpZGViYXItZXhwYW5kZWQge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaWRlYmFyLWV4cGFuZGVkLXdpZHRoKTtcbn1cbm1haW4uc2lkZWJhci1jbG9zZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufSIsIi50ZXh0LXRydW5jYXRvciB7XG4gICAgLS1tYXgtd2lkdGg6IDE1MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBoZWxwO1xufSIsIi50aW1lLWNvbnRyb2xsZXIge1xuICAgIC50b2dnbGUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn0iLCI6cm9vdCB7XG4gICAgLS10b3BiYXItYmFja2dyb3VuZC1jb2xvcjogIzM2MzY1Mjtcbn1cbi50b3BiYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRvcGJhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICAgIGNvbG9yOiAjYWFhYWFhO1xuICAgIH1cbiAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMDtcbiAgICB9XG59IiwiLnVuaWRhZC1jYXJkIHtcbiAgICAuY2FyZC1pbWFnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1mb250LW9uLXByaW1hcnktY29sb3ItbWFpbik7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1vZGVsbywgLnRpcG8ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1lZGl1bSk7XG4gICAgICAgIH0gICBcbiAgICB9XG4gICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW1haW4pO1xuICAgIH1cbn0iLCIudmlzaXRhLWNwLWZvcm11bGFyaW8ge1xuICAgICNuaW5ndW5WaXNpdGFudGUsICNuaW5ndW5hVW5pZGFkIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAjbm9QZXJzb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgI2J1c2Nhci12aXNpdGFudGUsICNidXNjYXItdW5pZGFkIHtcbiAgICAgICAgbWluLXdpZHRoOiA3MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtYXgtY29udGVudDtcbiAgICAgICAgfVxuICAgICAgICAubWVzc2FnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cbiAgICAgICAgLm1vZGFsLXNlYXJjaCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNlYXJjaCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGVsZXRlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICNyZWdpc3RyYXItdmlzaXRhbnRlIHtcbiAgICAgICAgXG4gICAgfVxufSIsIiRpbWdTaXplOiAxMjBweDtcbi52aXNpdGFudGUtY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogJGltZ1NpemUgKyAyMHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgLmltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6ICRpbWdTaXplO1xuICAgICAgICBoZWlnaHQ6ICRpbWdTaXplO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0NDQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbWdTaXplICogMC42O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gJGltZ1NpemUvMik7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICY6bm90KC5kb2MtaW5kaWNhdG9yKXtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMCA4cHggMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zZXBhcmF0b3Ige1xuICAgICAgICBib3JkZXItdG9wOiAjZGRkIDFweCBzb2xpZDtcbiAgICB9XG4gICAgJi53aWdnbGUge1xuICAgICAgICBhbmltYXRpb246IHdpZ2dsZSA3MDBtcztcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMjtcbiAgICB9XG4gICAgLmRvYy1pbmRpY2F0b3Ige1xuICAgICAgICBtYXJnaW46IDAgMCA4cHggMCAhaW1wb3J0YW50O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHdpZ2dsZSB7XG4gICAgMTAlLCA5MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xcHgsIDAsIDApOyB9XG4gICAgMjAlLCA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJweCwgMCwgMCk7IH1cbiAgICAzMCUsIDUwJSwgNzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNHB4LCAwLCAwKTsgfVxuICAgIDQwJSwgNjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0cHgsIDAsIDApOyB9XG59IiwiQGltcG9ydCBcIi4uLy4uL25vZGVfbW9kdWxlcy9AbWF0ZXJpYWxpemVjc3MvbWF0ZXJpYWxpemUvc2Fzcy9tYXRlcmlhbGl6ZS5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZsYWctaWNvbnMvY3NzL2ZsYWctaWNvbnMuY3NzXCI7XG5AaW1wb3J0IFwidmlzaXRhLXJlc3VtZW4uc2Nzc1wiO1xuQGltcG9ydCBcInZpc2l0YW50ZS1yZXN1bWVuLnNjc3NcIjtcbkBpbXBvcnQgXCJ1bmlkYWQtcmVzdW1lbi5zY3NzXCI7XG5AaW1wb3J0IFwidGltZWxpbmUuc2Nzc1wiO1xuQGltcG9ydCBcImN1bXBsZWFub3MtaXRlbS5zY3NzXCI7XG5cbi5sb2dpbi1sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJNYXRlcmlhbFN5bWJvbHNTaGFycFwiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL01hdGVyaWFsU3ltYm9sc1NoYXJwLndvZmZcIikgZm9ybWF0KCd3b2ZmJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJNYXRlcmlhbFN5bWJvbHNGaWxsZWRcIjtcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL01hdGVyaWFsU3ltYm9sc1NoYXJwLndvZmZcIikgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6XG4gICAgICAgICdGSUxMJyAxLFxuICAgICAgICAnd2dodCcgNDAwLFxuICAgICAgICAnR1JBRCcgMCxcbiAgICAgICAgJ29wc3onIDI0XG4gICAgO1xufVxuXG4ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG59XG5cbi50ZXh0LXByaW1hcnkge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbn1cblxuLnRleHQtb24tcHJpbWFyeSB7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluKTtcbn1cbmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvci1kYXJrKTtcbiAgICB9XG59XG5cbi5tYXRlcmlhbC1pY29ucyB7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbFN5bWJvbHNTaGFycCcgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXJlY3Rpb246IGx0cjtcbn1cblxuLnJvdyB7XG4gICAgZ2FwOiAxcmVtO1xuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxufVxuXG4ubW9kdWxlIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xufVxuXG4uY2FyZC5ob3Jpem9udGFsLnJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuYm9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbn1cblxuLnN1cmZhY2Uge1xuICAgIC0tbWQtZWxldmF0aW9uLWxldmVsOiAzO1xufVxuXG5pbnB1dDpyZXF1aXJlZCtsYWJlbDo6YmVmb3JlLFxuaW5wdXQ6cmVxdWlyZWQrc3Bhbjo6YmVmb3JlLFxudGV4dGFyZWE6cmVxdWlyZWQrbGFiZWw6OmJlZm9yZSxcbi5pbnB1dC1maWVsZC5yZXF1aXJlZCBsYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiogXCI7XG4gICAgY29sb3I6ICNmZjQ0MDA7XG59XG5cbi5pbnB1dC1maWVsZC5vdXRsaW5lZCBpbnB1dDpmb2N1czpub3QoW3JlYWRvbmx5XSkgKyBsYWJlbCwgLmlucHV0LWZpZWxkLm91dGxpbmVkIGlucHV0Om5vdChbcGxhY2Vob2xkZXI9XCIgXCJdKSArIGxhYmVsLCAuaW5wdXQtZmllbGQub3V0bGluZWQgaW5wdXQ6bm90KDpwbGFjZWhvbGRlci1zaG93bikgKyBsYWJlbCwgLmlucHV0LWZpZWxkLm91dGxpbmVkIHRleHRhcmVhOmZvY3VzOm5vdChbcmVhZG9ubHldKSArIGxhYmVsLCAuaW5wdXQtZmllbGQub3V0bGluZWQgdGV4dGFyZWE6bm90KFtwbGFjZWhvbGRlcj1cIiBcIl0pICsgbGFiZWwsIC5pbnB1dC1maWVsZC5vdXRsaW5lZCB0ZXh0YXJlYTpub3QoOnBsYWNlaG9sZGVyLXNob3duKSArIGxhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0OmRpc2FibGVkK2xhYmVsLFxudGV4dGFyZWE6ZGlzYWJsZWQrbGFiZWwsXG5zZWxlY3Q6ZGlzYWJsZWQrbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjcgIWltcG9ydGFudDtcbn1cblxuXG5cbi5jYXJkLWFjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG59XG5cbmEuc2tpcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbn1cblxuLmZ1bGxIIHtcbiAgICBoZWlnaHQ6IDEwMHN2aDtcblxuICAgIC5yb3cge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5sb2FkZXIge1xuICAgIG1hcmdpbjogNXB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAtLWM6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1wcmltYXJ5LWNvbG9yKSAwIDApO1xuICAgIC0tbTogcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUsIHZhcigtLXByaW1hcnktY29sb3IpIDkyJSwgIzAwMDApO1xuICAgIGJhY2tncm91bmQ6XG4gICAgICAgIHZhcigtLWMpLCB2YXIoLS1tKSxcbiAgICAgICAgdmFyKC0tYyksIHZhcigtLW0pLFxuICAgICAgICB2YXIoLS1jKSwgdmFyKC0tbSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4cHggMTJweCwgOHB4IDhweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGFuaW1hdGlvbjogbDEzIDFzIGluZmluaXRlIGFsdGVybmF0ZTtcbn1cblxuQGtleWZyYW1lcyBsMTMge1xuXG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwgMCAxMDAlLCA1MCUgMCwgNTAlIDEwMCUsIDEwMCUgMCwgMTAwJSAxMDAlXG4gICAgfVxuXG4gICAgMjAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCBjYWxjKDUwJSAtIDZweCksIDAgY2FsYyg1MCUgKyA0cHgpLCA1MCUgMCwgNTAlIDEwMCUsIDEwMCUgMCwgMTAwJSAxMDAlXG4gICAgfVxuXG4gICAgNDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCBjYWxjKDUwJSAtIDZweCksIDAgY2FsYyg1MCUgKyA0cHgpLCA1MCUgY2FsYyg1MCUgLSA2cHgpLCA1MCUgY2FsYyg1MCUgKyA0cHgpLCAxMDAlIDAsIDEwMCUgMTAwJVxuICAgIH1cblxuICAgIDYwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwgMCAxMDAlLCA1MCUgY2FsYyg1MCUgLSA2cHgpLCA1MCUgY2FsYyg1MCUgKyA0cHgpLCAxMDAlIGNhbGMoNTAlIC0gNnB4KSwgMTAwJSBjYWxjKDUwJSArIDRweClcbiAgICB9XG5cbiAgICA4MCUge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDAgMTAwJSwgNTAlIDAsIDUwJSAxMDAlLCAxMDAlIGNhbGMoNTAlIC0gNnB4KSwgMTAwJSBjYWxjKDUwJSArIDRweClcbiAgICB9XG59XG5cbi5sb2FkZXItY2lyY2xlIHtcbiAgd2lkdGg6IDI1cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1NSwgNjEsIDAsIDAuMikgMzMlLCAjZmYzZDAwIDEwMCUpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBhbmltYXRpb246IHJvdGF0aW9uIDFzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi5sb2FkZXItY2lyY2xlOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnOyAgXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogIzAwOTY4ODtcbn1cbkBrZXlmcmFtZXMgcm90YXRpb24ge1xuICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIH1cbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyl9XG59IFxuXG4uYnRuLnRpZ2h0IHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5idG4tc21hbGwudGlnaHQge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufVxuXG4uYnRuLW1lZC50aWdodCB7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIC5tYXRlcmlhbC1pY29ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB9XG59XG5cbi5wcmVsb2FkICoge1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtY29udGVudCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuXG4udXNlck1pbmlDYXJkLFxuLmVtcGxlYWRvTWluaUNhcmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgfVxuXG4gICAgLmRhdGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDcwJTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51c2VybmFtZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5sYXN0LWlwLFxuICAgIC5sYXN0LWFjY2VzcyB7XG4gICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICAgICAgZm9udC1zaXplOiBzbWFsbDtcbiAgICB9XG59XG5cbi5idG4udGV4dC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1wcmltYXJ5KTtcbiAgICBjb2xvcjogI2VlZTtcbn1cblxudGFibGUge1xuICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDVweDtcbiAgICB9XG5cbiAgICB0aDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICB0ZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCB2YXIoLS1zZXBhcmF0b3ItY29sb3IpIDFweDtcbiAgICB9XG59XG5cbmltZy5tYXgtaCB7XG4gICAgLS1tYXgtaGVpZ2h0OiA1MTJweDtcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1tYXgtaGVpZ2h0KTtcbn1cblxudGFibGUudGhpbiB7XG5cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCA1cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbnRhYmxlLnNvZnQgdGgge1xuICAgIGNvbG9yOiAjMzMzO1xufVxuXG50YWJsZS5oZGF0YSB7XG4gICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhlbHBlci10ZXh0IHtcbiAgICBmb250LXNpemU6IHNtYWxsZXI7XG4gICAgY29sb3I6IHZhcigtLW1kLXJlZi1wYWxldHRlLW5ldXRyYWw2MCk7XG59XG5cbi5pbnB1dC1maWVsZC5vdXRsaW5lZCBpbnB1dDpkaXNhYmxlZCxcbi5pbnB1dC1maWVsZC5vdXRsaW5lZCBpbnB1dFtyZWFkb25seT1cInJlYWRvbmx5XCJdLFxuLmlucHV0LWZpZWxkLm91dGxpbmVkIHRleHRhcmVhOmRpc2FibGVkLFxuLmlucHV0LWZpZWxkLm91dGxpbmVkIHRleHRhcmVhW3JlYWRvbmx5PVwicmVhZG9ubHlcIl0ge1xuICAgIGNvbG9yOiByZ2JhKHZhcigtLW1kX3N5c19jb2xvcl9vbi1zdXJmYWNlKSwgMC43MCk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLW1kX3N5c19jb2xvcl9vbi1zdXJmYWNlKSwgMC4zMCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwMDAwLCAwLjAzKTtcbn1cblxuLmZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmLmZsZXgtcm93IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAmLmZsZXgtY29sIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmLmp1c3RpZnktY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi5qdXN0aWZ5LXNwYWNlLWJldHdlZW4ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJi5qdXN0aWZ5LXNwYWNlLWFyb3VuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIH1cblxuICAgICYuanVzdGlmeS1lbmQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgICYuaXRlbXMtY2VudGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLndyYXAge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxufVxuXG4uZmxleC5mb3JjZSB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4uaG9yaXpvbnRhbC1yZW0tMSB7XG4gICAgd2lkdGg6IDFyZW07XG59XG5cbi5ncm93LTEge1xuICAgIGZsZXgtZ3JvdzogMTtcbn1cblxuLnVzZXItaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xufVxuXG4ubS1oLTEtcmVtIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi5tLWgtNS1weCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLm0tdi0xLXJlbSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubS1iLTEtcmVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uaC0xMDAtcCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4udy0xMDAtcCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9maWxlVHJpZ2dlciB7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluKSAhaW1wb3J0YW50O1xufVxuXG4uZm9udC1zaXplLXhzIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTtcbn1cblxuLmZvbnQtc2l6ZS1zIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLmZvbnQtc2l6ZS1sIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuLmZvbnQtc2l6ZS14bCB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG59XG5cblxuI3Byb2ZpbGUge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICAqIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAubG9nb3V0LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLm1hcmdpbi1sZWZ0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogMnJlbSAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWJvdHRvbS0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGVmdC01LXB4IHtcbiAgICBtYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnQ7XG59XG4ubm8tbWFyZ2luIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn0gICBcblxuLmJ0bi5jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYnRuLmFsbC13aWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zdWZmaXguZGVsZXRlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jYXJkLXRpdGxlLWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSk7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5jYXJkLWFjdGlvbiB7XG4gICAgcGFkZGluZzogNXB4O1xuXG4gICAgYTpub3QoLnBhZGRpbmcpIHtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEucGFkZGluZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ucGFkZGluZy0xcmVtIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYWRkaW5nLTFyZW0tMDVyZW0ge1xuICAgIHBhZGRpbmc6IDFyZW0gMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5maXhlZC1hY3Rpb24tYnRuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDI1cHg7XG4gICAgYm90dG9tOiA0MHB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgei1pbmRleDogOTk3O1xufVxuXG4uYnRuLmVsZXZhdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSk7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uYnRuLmVsZXZhdGVkLndoaXRlIHtcbiAgICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uY2FyZC10aXRsZS1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvci1jYXJkKTtcbiAgICBwYWRkaW5nOiAycHggMXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG5cbiAgICAmOm5vdCgucmlnaHQpIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDEuNXJlbTtcbiAgICB9XG4gICAgJi5yaWdodCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgfVxuICAgICYud2lkZSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICB9XG4gICAgJi5hbmdsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWig0NWRlZyk7IFxuICAgIH1cbn1cblxuLmNhcmQ6aGFzKC5jYXJkLXRpdGxlLWxhYmVsKSB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5wLXYtNSB7XG4gICAgcGFkZGluZzogNXB4IDA7XG59XG5cbi5icmVhZGNydW1iIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJNYXRlcmlhbFN5bWJvbHNTaGFycFwiO1xuICAgICAgICBjb2xvcjogI2FhYTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBmb250LXNpemU6IHNtYWxsO1xuICAgIH1cbn1cblxuLm92ZXJmbG93LWF1dG8ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4ubW9kYWwtY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tcHJpbWFyeSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWVycm9yLWNvbG9yKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICYuaW5mbyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhhcygubW9kYWwtdGl0bGUpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuMnJlbTtcbiAgICB9XG59XG5cbi5tb2RhbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1vZGFsOmhhcygubW9kYWwtdGl0bGUpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYmlnIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuLmZ1bGwtZWxlbWVudC1sb2FkaW5nLXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZnVsbC1zY3JlZW4tbG9hZGluZyxcbi5mdWxsLWVsZW1lbnQtbG9hZGluZyB7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDBhYTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5tZXNzYWdlIHtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgfVxufVxuXG4uZnVsbC1lbGVtZW50LWxvYWRpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5mdWxsLXNjcmVlbi1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5mdWxsLXNjcmVlbi1iYWRnZS1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogMTAwMDA7XG4gICAgYm90dG9tOiAzcmVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3ItY2FyZCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDAgMCAzMHB4O1xuICAgIG1pbi13aWR0aDogMTRyZW07XG4gICAgbWluLWhlaWdodDogNXJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDc1MG1zIGVhc2UtaW4tb3V0O1xuXG4gICAgJi5oaWRlIHtcbiAgICAgICAgcmlnaHQ6IC0xNHJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC5wcm9ncmVzcy1jb250YWluZXIge1xuICAgICAgICAtLXByb2dyZXNzOiAwZGVnIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbmljLWdyYWRpZW50KHZhcigtLW1kLXN5cy1jb2xvci1wcmltYXJ5KSB2YXIoLS1wcm9ncmVzcyksIHZhcigtLWJhY2tncm91bmQtY29sb3ItY2FyZCkgMGRlZyk7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgIC5xdWFudCB7XG4gICAgICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNpZGViYXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICBjb2xvcjogI2VlZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lc3NhZ2Uge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZW1wbGVhZG8tcHAge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTFweCk7XG59XG5cbi5pbnB1dC1maWVsZCB7XG4gICAgLmNhcmV0IHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5saXR0bGUtbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICB9XG59XG5cbi5pbnB1dC1maWVsZCB7XG4gICAgdGV4dGFyZWEubWF0ZXJpYWxpemUtdGV4dGFyZWEge1xuICAgICAgICBwYWRkaW5nOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5zcGFuLmhsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWFhO1xuICAgIGNvbG9yOiAjMzMzO1xufVxuXG4uaXRpbmVyYXJpby1jb2xsZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAuaXRpbmVyYXJpby1jYXJkOm5vdCg6b25seS1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAna2V5Ym9hcmRfZG91YmxlX2Fycm93X3JpZ2h0JztcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbFN5bWJvbHNTaGFycCcgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBmb250LXNpemU6IHgtbGFyZ2U7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyA1cHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgIH1cblxuICAgIC5pdGluZXJhcmlvLWNhcmQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG5cbiAgICAuaXRpbmVyYXJpby1jYXJkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxuXG4gICAgLml0aW5lcmFyaW8tY2FyZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGJvcmRlcjogc29saWQgdmFyKC0tc2VwYXJhdG9yLWNvbG9yKSAxcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbjogNnB4IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50aXRsZS10eXBlIHtcbiAgICBjb2xvcjogIzc3NztcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCB2YXIoLS1zZXBhcmF0b3ItY29sb3IpIDFweDtcbiAgICBtYXJnaW4tdG9wOiAwLjRyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4ycmVtO1xufVxuXG4uaW5wdXQtZmllbGQge1xuICAgIGlucHV0W3R5cGU9J2NvbG9yJ10ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLm5vd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZpeGVkLWFjdGlvbi1idG4ge1xuICAgIGJvdHRvbTogNjRweDtcbn1cblxuLmJ0bi5vdXRsaW5lZCB7XG4gICAgbWFyZ2luOiAwIDVweDtcbn1cbi5idG4ubWFyZ2luLWh7XG4gICAgbWFyZ2luOiAwIDVweCAhaW1wb3J0YW50O1xufVxuXG5hLmlubGluZSB7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG59XG5cbi5ldGlxdWV0YXNDaGlwcyB7XG4gICAgLmNoaXAge1xuICAgICAgICAtLWJnQ29sb3I6ICMwMDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnQ29sb3IpO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICAgLmRlbGV0ZSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJnQ29sb3IpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuLmNhcmQtYWN0aW9uLnVwcGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tc2VwYXJhdG9yLWNvbG9yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cblxuLmNhcmQtY29udGVudC5ib3R0b20ge1xuICAgIHBhZGRpbmc6IDFyZW0gMjRweDtcbn1cblxuLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLmlubGluZS1pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xufVxuXG4uZXJyb3ItcGFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG5cbiAgICAuZXJyb3ItaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5lcnJvci1jb2RlIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tZXJyb3ItY29sb3IpO1xuICAgIH1cbn1cblxuLmlucHV0LWZpZWxkLnZpc3VhbC1kaXNhYmxlZCB7XG5cbiAgICBpbnB1dCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBjb2xvcjogJHRleHRmaWVsZF9kaXNhYmxlZF9jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGV4dGZpZWxkX2Rpc2FibGVkX291dGxpbmVjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHRmaWVsZF9kaXNhYmxlZF9jb250YWluZXJjb2xvcjtcbiAgICB9XG59XG5cbi5lbmxhY2UtZmllbGQge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2VwYXJhdG9yLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZmM3O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDFyZW0gMDtcbn1cblxuLnBhZ2luYXRpb24ge1xuICAgIGxpIGEge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggIWltcG9ydGFudDtcblxuICAgIH1cblxuICAgIGxpLmFjdGl2ZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi51bmRlcmxpbmVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxucC5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG59XG5cbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbnRhYmxlLnRyYW5zcGFyZW50IHtcblxuICAgIHRoLFxuICAgIHRkLFxuICAgIHRyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG59XG5cbnRhYmxlLmhhcmQge1xuXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDQ0O1xuICAgIH1cbn1cblxudGQubW9uZXkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBlbmQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuNSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJCc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNXB4O1xuICAgIH1cbn1cblxudGQuc3RyZXRjaCB7XG4gICAgd2lkdGg6IDElO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5tYXJnaW4tcmlnaHQtcmVtLTEge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uOiB3aWdnbGUgMC43cyBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAyO1xufVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgMjAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMWRlZyk7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTFkZWcpO1xuICAgIH1cblxuICAgIDgwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDFkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxufVxuXG4uYm91bmNlLXNoYWRvdyB7XG4gICAgYW5pbWF0aW9uOiBib3VuY2VTaGFkb3cgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlU2hhZG93IHtcbiAgICAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksXG4gICAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksXG4gICAgICAgIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB9XG5cbiAgICA3NSUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSxcbiAgICAgICAgMCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKSxcbiAgICAgICAgMCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuICAgIFxuICAgIDEwMCUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLFxuICAgICAgICAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTIpLFxuICAgICAgICAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxufVxuXG50ci5zbW9vdGhJbiB7XG4gICAgYW5pbWF0aW9uOiB0clNtb290aEluIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbnRyLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItZXJyb3IpO1xuICAgIGNvbG9yOiAjZWVlO1xufVxuXG4uaW5wdXQtZmllbGQueC1zbWFsbCB7XG4gICAgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCA1cHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDZyZW07XG4gICAgfVxufVxuXG4uaW5wdXQtZmllbGQuc21hbGwge1xuICAgIC5zZWxlY3Qtd3JhcHBlciB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGhlaWdodDogMjdweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRyU21vb3RoSW4ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLnRyYW5zaXRpb24tYWxsIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLnBvLWhlYWRlciB7XG4gICAgcGFkZGluZzogMjRweCAyNHB4IDAgMjRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4ubW9kYWw6aGFzKC5wby1oZWFkZXIpIHtcbiAgICBoZWlnaHQ6IDkwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA3MCU7XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDIxNnB4ICsgMXJlbSk7XG4gICAgICAgIHotaW5kZXg6IDA7XG5cbiAgICAgICAgcC5sYXJnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxudGFibGUuc3RyZXRjaCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgfVxufVxuXG4uZHJvcGRvd24tY29udGVudCB7XG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm92ZXJmbG93LWhpZGRlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmVtcGxlYWRvLXJlc3VtZW4ge1xuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAzcHggdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZC1jb250ZW50IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbn1cblxuLmVtcGxlYWRvLXJlc3VtZW4ge1xuICAgIC0tc3RhdHVzLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcGFkZGluZy10b3A6IDcycHg7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcblxuICAgIC5wcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNDVweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEyOHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLXN0YXR1cy1jb2xvcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDgwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIH1cblxuICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRpcmVjY2lvbiB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcblxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGU1Y2MnO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsU3ltYm9sc1NoYXJwJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZC1jb250ZW50Lm5vLWJvdHRvbS1wYWRkaW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5jYXJkLWNvbnRlbnQubm8tdG9wLXBhZGRpbmcge1xuICAgIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uaW5wdXQtZmllbGQgdGV4dGFyZWEge1xuICAgIHBhZGRpbmc6IDFyZW0gMTZweCAhaW1wb3J0YW50O1xufVxuXG4uZmxleCB7XG4gICAgLmNhcmQtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uY29sbGVjdGlvbi1pdGVtLnRoaW4ge1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuXG4udGFicy1mbG9hdGluZyB7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjI1cztcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnRhYnMgLmluZGljYXRvciB7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7XG59XG5cbi5iYWRnZS1pbmRpY2F0b3Ige1xuICAgIHdpZHRoOiAyM3B4O1xuICBoZWlnaHQ6IDIzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5pbWcuY3VtcGxlYW5vcyB7XG4gICAgd2lkdGg6IDEyMHB4O1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ubm8tbGFiZWwgKyBzcGFuOm5vdCgubGV2ZXIpICB7XG4gICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5sb25nLW1hdGVyaWFsLWljb25zIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1wcmltYXJ5KTtcbn1cblxudHIuaW5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgdGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBvcGFjaXR5OiAwLjYwO1xuICAgIH1cbn1cblxuLmhlYWQtY291bnQtY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgbWFyZ2luOiAxcmVtIDFyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3IpO1xuICAgIGNvbG9yOiAjZGRkO1xuICAgIHRleHQtc2hhZG93OiAjMzMzIDBweCAwcHggMnB4O1xuXG4gICAgJi5yZXN1bWVuLWNhcmR7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgXG4gICAgICAgIC5jYXJkLXRpdGxlLWxhYmVse1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGNvdW50IHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgdGV4dC1zaGFkb3c6ICNkZGQgMHB4IDBweCAycHg7XG4gICAgfVxuICAgIFxuICAgIC5ub21icmUge1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaW5mbyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIH1cbiAgICBcbiAgICAmLmF1dG8taG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIGFuaW1hdGlvbjogaGMtaG92ZXIgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgc3Bhbi5jZW50ZXItdGV4dHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBoYy1ob3ZlciB7XG4gICAgMCUgICB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICA1MCUgIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuLmhjLWJyZWFkY3J1bWIge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIC5icmVhZGNydW1iOmxhc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cbn1cblxuLmFzaXN0ZW5jaWEtb2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWY3YmU7XG59XG4uYXNpc3RlbmNpYS13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOWM0O1xufVxuLmFzaXN0ZW5jaWEtZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmNjYmM7XG59XG4uYXNpc3RlbmNpYS1zcGVjaWFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJkZWZiYWE7XG59XG4uYXNpc3RlbmNpYS1yb3NlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhiYmQwO1xufVxuLmFzaXN0ZW5jaWEtbmV1dHJhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuYnV0dG9uW2Rpc2FibGVkXS50b29sdGlwcGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbCAhaW1wb3J0YW50O1xufVxuXG4udGFiVGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmxvdy1wcmlvcml0eSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbi5tZWRpdW0tcHJpb3JpdHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY5YzQ7XG59XG4uaGlnaC1wcmlvcml0eSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2NiYztcbn1cblxuLm90LXBvci1yZXZpc2FyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuLm90LXBvci1hdXRvcml6YXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY5YzQ7XG59XG4ub3QtYXV0b3JpemFkYXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWY3YmU7XG59XG4ub3QtcmVjaGF6YWRhcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmY2NiYztcbn1cbi5vdC1wYWdhZGFzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJkZWZiO1xufVxuXG4uc2FtZS1kYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWY3YmU7XG59XG5cbi50aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubW9kYWwge1xuICAgIC5tb2RhbC13YXJuaW5nIHtcbiAgICAgICAgcGFkZGluZzogMjRweDtcbiAgICB9XG4gICAgXG4gICAgJjpoYXMoLm1vZGFsLXdhcm5pbmcgKyAubW9kYWwtY29udGVudCkge1xuICAgICAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmR7XG4gICAgLmNhcmQtcGFuZWwucGxhY2EtZW5nb21hZG97XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgc3BhbntcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCA0cHggcmdiYSgwLCAwLCAwLCAwLjY1KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2FyZC1jb250ZW50e1xuICAgICAgICAucGxhY2EtZW5jYWJlemFkb3tcbiAgICAgICAgICAgIGgye1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMS4zcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250ZW5pZG8tcmVwb3J0ZXtcbiAgICAgICAgbWluLWhlaWdodDogMjJ2aDtcbiAgICB9XG59XG5cbi5jYXJkLnBsYWNhLWNvbnRlbmlkb3tcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcbiAgICB9XG59XG5cbi5vYnNlcnZhY2lvbmVzLXJlcG9ydGV7XG4gICAgYmFja2dyb3VuZDogI0YyRjJGMjtcbiAgICBib3JkZXItbGVmdDogMC4zcmVtIHNvbGlkICMyQTQ3NTk7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb250ZW5lcm9kci1vYnNlcnZhY2lvbmVze1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgaGVpZ2h0OiA5MCU7XG59XG5cbi5zaW4tcmVwb3J0ZXtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50cmFwZWNpby1pbnZlcnNvIHtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDAlLCA5MCUgMTAwJSwgMTAlIDEwMCUpO1xufVxuXG4uY29udGVuaWRvLXJlcG9ydGV7XG4gICAgb3ZlcmZsb3c6ICBhdXRvO1xuICAgIGZpZ3VyZXtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWF4LWhlaWdodDogMTNyZW07XG4gICAgfVxuICAgIGZpZ2NhcHRpb257XG4gICAgICAgIGRpdntcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ldmlkZW5jaWEtY29udGFpbmVye1xuICAgICAgICBtaW4td2lkdGg6IDI1cmVtO1xuICAgIH1cbiAgICAuaW1nLWV2aWRlbmNpYS1jb250YWluZXJ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDE0cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRkO1xuICAgIH1cbiAgICBwe1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICB9XG4gICAgaW1ne1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuICAgIH1cbiAgICAuZGVzY3JpcHRpb24taW1hZ2V7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNzRjNmI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxufVxuXG5cbi5zdGF0dXMtZmxvdGlsbGEuYWN0aXZle1xuICAgICY6OmJlZm9yZXtcbiAgICAgICBjb250ZW50OiAnJztcbiAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgIGJvcmRlci1yYWRpdXM6IDcuNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTUsIDIxOSwgOTcpO1xuICAgIH1cbn1cblxuLnN0YXR1cy1mbG90aWxsYS5pbmFjdGl2ZXtcbiAgICAmOjpiZWZvcmV7XG4gICAgICAgY29udGVudDogJyc7XG4gICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICBib3JkZXItcmFkaXVzOiA3LjVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxOSwgMzIsIDE1KTtcbiAgICB9XG59XG5cbml7XG4gICAgJi5vbntcbiAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggMTVweCByZ2JhKDUxLCAyMTQsIDYyLCAwLjcpO1xuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggMjBweCByZ2JhKDIxMywgMTMsIDEzLCAwLjcpO1xuICAgICAgICB9XG4gICAgfVxuICAgICYub2Zme1xuICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxNXB4IHJnYmEoMjEzLCAxMywgMTMsIDAuNyk7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAyMHB4IHJnYmEoNTEsIDIxNCwgNjIsIDAuNyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbWFsbC1jYXJkLWNvbnRhaW5lcntcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgXG4gICAgLmRhdGEtY29udGFpbmVye1xuICAgICAgICAvLyB3aWR0aDogODAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDBweCAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA0cHggIzg3ODc4NztcbiAgICB9XG4gICAgLmltZy1jb250YWluZXJ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIGxlZnQ6IDIwcHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIGJvcmRlcjogc29saWQgIzZlNmViMCAycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlLWxhYmVse1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2Y3ZmM0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgIH1cbiAgICBwe1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICAgICY6bm90KC5yZXNwb25zYWJsZS1tb2R1bG8pOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cblxuLmZpbGUtZmxvdGlsbGF7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gICAgLmNhcmQtY29udGVudHtcbiAgICAgICAgaGVpZ2h0OiAxM3JlbTtcbiAgICAgICAgZGl2e1xuICAgICAgICAgICAgLy8gaGVpZ2h0OiA4NSU7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRhaW5lci1yZXN1bWVuLWNhcmRze1xuICAgIGdhcDogM3JlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmFkZC1idG4taW5wdXR7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICByaWdodDogMTBweDtcbn1cblxudGFibGUuY2VudGVyZWQgdGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJpZy1udW1iZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICAubnVtYmVyIHtcbiAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxLjVyZW0sIDN2dywgM3JlbSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnRhYmxlLWRhc2hib2FyZC1mbGVldCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5zcGFuLmxhYmVsLWRhc2hib2FyZCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4uY29udGFpbmVyLW5vLWZpbGVze1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAyNXZoO1xuICAgIHB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLnNwYWNlLWZvcm1ze1xuICAgIC5tb2RhbC1jb250ZW50e1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDEuM3JlbTtcbiAgICB9XG59XG5cbiNkb2N1bWVudG9zLXVuaWRhZHtcbiAgICAuZG9jdW1lbnRvcy1jb250YWluZXJ7XG4gICAgICAgIGhlaWdodDogNTV2aDtcbiAgICB9XG4gICAgLmNhcmQtY29udGVudHtcbiAgICAgICAgbWF4LWhlaWdodDogNTV2aDtcbiAgICB9XG4gICAgLmNhcmQtYWN0aW9ue1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxufVxuXG4jcGVyaW9kb3N7XG4gICAgLmNhcmQtY29udGVudHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uYnRuLWZsb2F0aW5nLmJ0bi1sYXJnZSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5yZWdsYW1lbnRvLWNvbnRhaW5lcntcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KTtcbiAgICB9XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgYXtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cbn1cblxuLm1hcGEtZmxvdGlsbGFze1xuICAgIGhlaWdodDogMzB2dztcbn1cblxuLmNhcmQtYWN0aW9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTJweCAxMnB4ICFpbXBvcnRhbnQ7XG59IiwiOnJvb3Qge1xuICAtLW1kLXNvdXJjZTogIzAwNjQ5NTtcbiAgLyogcHJpbWFyeSAqL1xuICAtLW1kLXJlZi1wYWxldHRlLXByaW1hcnkwOiAjMDAwMDAwO1xuICAtLW1kLXJlZi1wYWxldHRlLXByaW1hcnkxMDogIzAwMWUzMDtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1wcmltYXJ5MjA6ICMwMDM0NTA7XG4gIC0tbWQtcmVmLXBhbGV0dGUtcHJpbWFyeTI1OiAjMDAzZjYwO1xuICAtLW1kLXJlZi1wYWxldHRlLXByaW1hcnkzMDogIzAwNGI3MTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1wcmltYXJ5MzU6ICMwMDU3ODM7XG4gIC0tbWQtcmVmLXBhbGV0dGUtcHJpbWFyeTQwOiAjMDA2NDk1O1xuICAtLW1kLXJlZi1wYWxldHRlLXByaW1hcnk1MDogIzBmN2ViODtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1wcmltYXJ5NjA6ICMzZDk4ZDQ7XG4gIC0tbWQtcmVmLXBhbGV0dGUtcHJpbWFyeTcwOiAjNWRiM2YwO1xuICAtLW1kLXJlZi1wYWxldHRlLXByaW1hcnk4MDogIzhmY2RmZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1wcmltYXJ5OTA6ICNjYmU2ZmY7XG4gIC0tbWQtcmVmLXBhbGV0dGUtcHJpbWFyeTk1OiAjZTZmMmZmO1xuICAtLW1kLXJlZi1wYWxldHRlLXByaW1hcnk5ODogI2Y3ZjlmZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1wcmltYXJ5OTk6ICNmY2ZjZmY7XG4gIC0tbWQtcmVmLXBhbGV0dGUtcHJpbWFyeTEwMDogI2ZmZmZmZjtcbiAgLyogc2Vjb25kYXJ5ICovXG4gIC0tbWQtcmVmLXBhbGV0dGUtc2Vjb25kYXJ5MDogIzAwMDAwMDtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnkxMDogIzBkMWQyOTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnkyMDogIzIyMzIzZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnkyNTogIzJkM2Q0YjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnkzMDogIzM5NDg1NjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnkzNTogIzQ0NTQ2MjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnk0MDogIzUwNjA2ZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnk1MDogIzY5Nzk4ODtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnk2MDogIzgyOTNhMjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnk3MDogIzlkYWRiZDtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnk4MDogI2I4YzhkOTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnk5MDogI2Q0ZTRmNjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnk5NTogI2U2ZjJmZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnk5ODogI2Y3ZjlmZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnk5OTogI2ZjZmNmZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1zZWNvbmRhcnkxMDA6ICNmZmZmZmY7XG4gIC8qIHRlcnRpYXJ5ICovXG4gIC0tbWQtcmVmLXBhbGV0dGUtdGVydGlhcnkwOiAjMDAwMDAwO1xuICAtLW1kLXJlZi1wYWxldHRlLXRlcnRpYXJ5MTA6ICMyMTE2MzQ7XG4gIC0tbWQtcmVmLXBhbGV0dGUtdGVydGlhcnkyMDogIzM2MmI0YTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS10ZXJ0aWFyeTI1OiAjNDIzNjU2O1xuICAtLW1kLXJlZi1wYWxldHRlLXRlcnRpYXJ5MzA6ICM0ZDQxNjI7XG4gIC0tbWQtcmVmLXBhbGV0dGUtdGVydGlhcnkzNTogIzU5NGM2ZTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS10ZXJ0aWFyeTQwOiAjNjY1ODdiO1xuICAtLW1kLXJlZi1wYWxldHRlLXRlcnRpYXJ5NTA6ICM3ZjcxOTU7XG4gIC0tbWQtcmVmLXBhbGV0dGUtdGVydGlhcnk2MDogIzk5OGFiMDtcbiAgLS1tZC1yZWYtcGFsZXR0ZS10ZXJ0aWFyeTcwOiAjYjRhNGNiO1xuICAtLW1kLXJlZi1wYWxldHRlLXRlcnRpYXJ5ODA6ICNkMGJmZTc7XG4gIC0tbWQtcmVmLXBhbGV0dGUtdGVydGlhcnk5MDogI2VjZGNmZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS10ZXJ0aWFyeTk1OiAjZjdlZGZmO1xuICAtLW1kLXJlZi1wYWxldHRlLXRlcnRpYXJ5OTg6ICNmZWY3ZmY7XG4gIC0tbWQtcmVmLXBhbGV0dGUtdGVydGlhcnk5OTogI2ZmZmJmZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS10ZXJ0aWFyeTEwMDogI2ZmZmZmZjtcbiAgLyogbmV1dHJhbCAqL1xuICAtLW1kLXJlZi1wYWxldHRlLW5ldXRyYWwwOiAjMDAwMDAwO1xuICAtLW1kLXJlZi1wYWxldHRlLW5ldXRyYWwxMDogIzFhMWMxZTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsMjA6ICMyZTMxMzM7XG4gIC0tbWQtcmVmLXBhbGV0dGUtbmV1dHJhbDI1OiAjM2EzYzNlO1xuICAtLW1kLXJlZi1wYWxldHRlLW5ldXRyYWwzMDogIzQ1NDc0OTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsMzU6ICM1MTUyNTU7XG4gIC0tbWQtcmVmLXBhbGV0dGUtbmV1dHJhbDQwOiAjNWQ1ZTYxO1xuICAtLW1kLXJlZi1wYWxldHRlLW5ldXRyYWw1MDogIzc2Nzc3YTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsNjA6ICM4ZjkxOTQ7XG4gIC0tbWQtcmVmLXBhbGV0dGUtbmV1dHJhbDcwOiAjYWFhYmFlO1xuICAtLW1kLXJlZi1wYWxldHRlLW5ldXRyYWw4MDogI2M2YzZjOTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsOTA6ICNlMmUyZTU7XG4gIC0tbWQtcmVmLXBhbGV0dGUtbmV1dHJhbDk1OiAjZjBmMGYzO1xuICAtLW1kLXJlZi1wYWxldHRlLW5ldXRyYWw5ODogI2Y5ZjlmYztcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsOTk6ICNmY2ZjZmY7XG4gIC0tbWQtcmVmLXBhbGV0dGUtbmV1dHJhbDEwMDogI2ZmZmZmZjtcbiAgLyogbmV1dHJhbC12YXJpYW50ICovXG4gIC0tbWQtcmVmLXBhbGV0dGUtbmV1dHJhbC12YXJpYW50MDogIzAwMDAwMDtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQxMDogIzE2MWMyMjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQyMDogIzJiMzEzNztcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQyNTogIzM2M2M0MjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQzMDogIzQxNDc0ZDtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQzNTogIzRkNTM1OTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQ0MDogIzU5NWY2NTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQ1MDogIzcyNzg3ZTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQ2MDogIzhiOTE5ODtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQ3MDogI2E2YWNiMztcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQ4MDogI2MxYzdjZTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQ5MDogI2RlZTNlYTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQ5NTogI2VjZjFmOTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQ5ODogI2Y3ZjlmZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQ5OTogI2ZjZmNmZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1uZXV0cmFsLXZhcmlhbnQxMDA6ICNmZmZmZmY7XG4gIC8qIGVycm9yICovXG4gIC0tbWQtcmVmLXBhbGV0dGUtZXJyb3IwOiAjMDAwMDAwO1xuICAtLW1kLXJlZi1wYWxldHRlLWVycm9yMTA6ICM0MTAwMDI7XG4gIC0tbWQtcmVmLXBhbGV0dGUtZXJyb3IyMDogIzY5MDAwNTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1lcnJvcjI1OiAjN2UwMDA3O1xuICAtLW1kLXJlZi1wYWxldHRlLWVycm9yMzA6ICM5MzAwMGE7XG4gIC0tbWQtcmVmLXBhbGV0dGUtZXJyb3IzNTogI2E4MDcxMDtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1lcnJvcjQwOiAjYmExYTFhO1xuICAtLW1kLXJlZi1wYWxldHRlLWVycm9yNTA6ICNkZTM3MzA7XG4gIC0tbWQtcmVmLXBhbGV0dGUtZXJyb3I2MDogI2ZmNTQ0OTtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1lcnJvcjcwOiAjZmY4OTdkO1xuICAtLW1kLXJlZi1wYWxldHRlLWVycm9yODA6ICNmZmI0YWI7XG4gIC0tbWQtcmVmLXBhbGV0dGUtZXJyb3I5MDogI2ZmZGFkNjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1lcnJvcjk1OiAjZmZlZGVhO1xuICAtLW1kLXJlZi1wYWxldHRlLWVycm9yOTg6ICNmZmY4Zjc7XG4gIC0tbWQtcmVmLXBhbGV0dGUtZXJyb3I5OTogI2ZmZmJmZjtcbiAgLS1tZC1yZWYtcGFsZXR0ZS1lcnJvcjEwMDogI2ZmZmZmZjtcbiAgLyogbGlnaHQgKi9cbiAgLS1tZC1zeXMtY29sb3ItcHJpbWFyeS1saWdodDogIzAwNjQ5NTtcbiAgLS1tZC1zeXMtY29sb3Itb24tcHJpbWFyeS1saWdodDogI2ZmZmZmZjtcbiAgLS1tZC1zeXMtY29sb3ItcHJpbWFyeS1jb250YWluZXItbGlnaHQ6ICNjYmU2ZmY7XG4gIC0tbWQtc3lzLWNvbG9yLW9uLXByaW1hcnktY29udGFpbmVyLWxpZ2h0OiAjMDAxZTMwO1xuICAtLW1kLXN5cy1jb2xvci1zZWNvbmRhcnktbGlnaHQ6ICM1MDYwNmY7XG4gIC0tbWQtc3lzLWNvbG9yLW9uLXNlY29uZGFyeS1saWdodDogI2ZmZmZmZjtcbiAgLS1tZC1zeXMtY29sb3Itc2Vjb25kYXJ5LWNvbnRhaW5lci1saWdodDogI2Q0ZTRmNjtcbiAgLS1tZC1zeXMtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lci1saWdodDogIzBkMWQyOTtcbiAgLS1tZC1zeXMtY29sb3ItdGVydGlhcnktbGlnaHQ6ICM2NjU4N2I7XG4gIC0tbWQtc3lzLWNvbG9yLW9uLXRlcnRpYXJ5LWxpZ2h0OiAjZmZmZmZmO1xuICAtLW1kLXN5cy1jb2xvci10ZXJ0aWFyeS1jb250YWluZXItbGlnaHQ6ICNlY2RjZmY7XG4gIC0tbWQtc3lzLWNvbG9yLW9uLXRlcnRpYXJ5LWNvbnRhaW5lci1saWdodDogIzIxMTYzNDtcbiAgLS1tZC1zeXMtY29sb3ItZXJyb3ItbGlnaHQ6ICNiYTFhMWE7XG4gIC0tbWQtc3lzLWNvbG9yLWVycm9yLWNvbnRhaW5lci1saWdodDogI2ZmZGFkNjtcbiAgLS1tZC1zeXMtY29sb3Itb24tZXJyb3ItbGlnaHQ6ICNmZmZmZmY7XG4gIC0tbWQtc3lzLWNvbG9yLW9uLWVycm9yLWNvbnRhaW5lci1saWdodDogIzQxMDAwMjtcbiAgLS1tZC1zeXMtY29sb3ItYmFja2dyb3VuZC1saWdodDogI2ZjZmNmZjtcbiAgLS1tZC1zeXMtY29sb3Itb24tYmFja2dyb3VuZC1saWdodDogIzFhMWMxZTtcbiAgLS1tZC1zeXMtY29sb3Itc3VyZmFjZS1saWdodDogI2ZjZmNmZjtcbiAgLS1tZC1zeXMtY29sb3Itb24tc3VyZmFjZS1saWdodDogIzFhMWMxZTtcbiAgLS1tZC1zeXMtY29sb3Itc3VyZmFjZS12YXJpYW50LWxpZ2h0OiAjZGVlM2VhO1xuICAtLW1kLXN5cy1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQtbGlnaHQ6ICM0MTQ3NGQ7XG4gIC0tbWQtc3lzLWNvbG9yLW91dGxpbmUtbGlnaHQ6ICM3Mjc4N2U7XG4gIC0tbWQtc3lzLWNvbG9yLWludmVyc2Utb24tc3VyZmFjZS1saWdodDogI2YwZjBmMztcbiAgLS1tZC1zeXMtY29sb3ItaW52ZXJzZS1zdXJmYWNlLWxpZ2h0OiAjMmUzMTMzO1xuICAtLW1kLXN5cy1jb2xvci1pbnZlcnNlLXByaW1hcnktbGlnaHQ6ICM4ZmNkZmY7XG4gIC0tbWQtc3lzLWNvbG9yLXNoYWRvdy1saWdodDogIzAwMDAwMDtcbiAgLS1tZC1zeXMtY29sb3Itc3VyZmFjZS10aW50LWxpZ2h0OiAjMDA2NDk1O1xuICAtLW1kLXN5cy1jb2xvci1vdXRsaW5lLXZhcmlhbnQtbGlnaHQ6ICNjMWM3Y2U7XG4gIC0tbWQtc3lzLWNvbG9yLXNjcmltLWxpZ2h0OiAjMDAwMDAwO1xuICAvKiBkYXJrICovXG4gIC0tbWQtc3lzLWNvbG9yLXByaW1hcnktZGFyazogIzhmY2RmZjtcbiAgLS1tZC1zeXMtY29sb3Itb24tcHJpbWFyeS1kYXJrOiAjMDAzNDUwO1xuICAtLW1kLXN5cy1jb2xvci1wcmltYXJ5LWNvbnRhaW5lci1kYXJrOiAjMDA0YjcxO1xuICAtLW1kLXN5cy1jb2xvci1vbi1wcmltYXJ5LWNvbnRhaW5lci1kYXJrOiAjY2JlNmZmO1xuICAtLW1kLXN5cy1jb2xvci1zZWNvbmRhcnktZGFyazogI2I4YzhkOTtcbiAgLS1tZC1zeXMtY29sb3Itb24tc2Vjb25kYXJ5LWRhcms6ICMyMjMyM2Y7XG4gIC0tbWQtc3lzLWNvbG9yLXNlY29uZGFyeS1jb250YWluZXItZGFyazogIzM5NDg1NjtcbiAgLS1tZC1zeXMtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lci1kYXJrOiAjZDRlNGY2O1xuICAtLW1kLXN5cy1jb2xvci10ZXJ0aWFyeS1kYXJrOiAjZDBiZmU3O1xuICAtLW1kLXN5cy1jb2xvci1vbi10ZXJ0aWFyeS1kYXJrOiAjMzYyYjRhO1xuICAtLW1kLXN5cy1jb2xvci10ZXJ0aWFyeS1jb250YWluZXItZGFyazogIzRkNDE2MjtcbiAgLS1tZC1zeXMtY29sb3Itb24tdGVydGlhcnktY29udGFpbmVyLWRhcms6ICNlY2RjZmY7XG4gIC0tbWQtc3lzLWNvbG9yLWVycm9yLWRhcms6ICNmZmI0YWI7XG4gIC0tbWQtc3lzLWNvbG9yLWVycm9yLWNvbnRhaW5lci1kYXJrOiAjOTMwMDBhO1xuICAtLW1kLXN5cy1jb2xvci1vbi1lcnJvci1kYXJrOiAjNjkwMDA1O1xuICAtLW1kLXN5cy1jb2xvci1vbi1lcnJvci1jb250YWluZXItZGFyazogI2ZmZGFkNjtcbiAgLS1tZC1zeXMtY29sb3ItYmFja2dyb3VuZC1kYXJrOiAjMWExYzFlO1xuICAtLW1kLXN5cy1jb2xvci1vbi1iYWNrZ3JvdW5kLWRhcms6ICNlMmUyZTU7XG4gIC0tbWQtc3lzLWNvbG9yLXN1cmZhY2UtZGFyazogIzFhMWMxZTtcbiAgLS1tZC1zeXMtY29sb3Itb24tc3VyZmFjZS1kYXJrOiAjZTJlMmU1O1xuICAtLW1kLXN5cy1jb2xvci1zdXJmYWNlLXZhcmlhbnQtZGFyazogIzQxNDc0ZDtcbiAgLS1tZC1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LWRhcms6ICNjMWM3Y2U7XG4gIC0tbWQtc3lzLWNvbG9yLW91dGxpbmUtZGFyazogIzhiOTE5ODtcbiAgLS1tZC1zeXMtY29sb3ItaW52ZXJzZS1vbi1zdXJmYWNlLWRhcms6ICMxYTFjMWU7XG4gIC0tbWQtc3lzLWNvbG9yLWludmVyc2Utc3VyZmFjZS1kYXJrOiAjZTJlMmU1O1xuICAtLW1kLXN5cy1jb2xvci1pbnZlcnNlLXByaW1hcnktZGFyazogIzAwNjQ5NTtcbiAgLS1tZC1zeXMtY29sb3Itc2hhZG93LWRhcms6ICMwMDAwMDA7XG4gIC0tbWQtc3lzLWNvbG9yLXN1cmZhY2UtdGludC1kYXJrOiAjOGZjZGZmO1xuICAtLW1kLXN5cy1jb2xvci1vdXRsaW5lLXZhcmlhbnQtZGFyazogIzQxNDc0ZDtcbiAgLS1tZC1zeXMtY29sb3Itc2NyaW0tZGFyazogIzAwMDAwMDtcbiAgLyogZGlzcGxheSAtIGxhcmdlICovXG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LWxhcmdlLWZvbnQtZmFtaWx5LW5hbWU6IFJvYm90bztcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktbGFyZ2UtZm9udC1mYW1pbHktc3R5bGU6IFJlZ3VsYXI7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LWxhcmdlLWZvbnQtd2VpZ2h0OiA0MDBweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktbGFyZ2UtZm9udC1zaXplOiA1N3B4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1sYXJnZS1saW5lLWhlaWdodDogNjRweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktbGFyZ2UtbGV0dGVyLXNwYWNpbmc6IC0wLjI1cHg7XG4gIC8qIGRpc3BsYXkgLSBtZWRpdW0gKi9cbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktbWVkaXVtLWZvbnQtZmFtaWx5LW5hbWU6IFJvYm90bztcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktbWVkaXVtLWZvbnQtZmFtaWx5LXN0eWxlOiBSZWd1bGFyO1xuICAtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1tZWRpdW0tZm9udC13ZWlnaHQ6IDQwMHB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1tZWRpdW0tZm9udC1zaXplOiA0NXB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1tZWRpdW0tbGluZS1oZWlnaHQ6IDUycHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LW1lZGl1bS1sZXR0ZXItc3BhY2luZzogMHB4O1xuICAvKiBkaXNwbGF5IC0gc21hbGwgKi9cbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktc21hbGwtZm9udC1mYW1pbHktbmFtZTogUm9ib3RvO1xuICAtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1zbWFsbC1mb250LWZhbWlseS1zdHlsZTogUmVndWxhcjtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktc21hbGwtZm9udC13ZWlnaHQ6IDQwMHB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1zbWFsbC1mb250LXNpemU6IDM2cHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LXNtYWxsLWxpbmUtaGVpZ2h0OiA0NHB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1zbWFsbC1sZXR0ZXItc3BhY2luZzogMHB4O1xuICAvKiBoZWFkbGluZSAtIGxhcmdlICovXG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1sYXJnZS1mb250LWZhbWlseS1uYW1lOiBSb2JvdG87XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1sYXJnZS1mb250LWZhbWlseS1zdHlsZTogUmVndWxhcjtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLWxhcmdlLWZvbnQtd2VpZ2h0OiA0MDBweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLWxhcmdlLWZvbnQtc2l6ZTogMzJweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLWxhcmdlLWxpbmUtaGVpZ2h0OiA0MHB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtaGVhZGxpbmUtbGFyZ2UtbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgLyogaGVhZGxpbmUgLSBtZWRpdW0gKi9cbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLW1lZGl1bS1mb250LWZhbWlseS1uYW1lOiBSb2JvdG87XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1tZWRpdW0tZm9udC1mYW1pbHktc3R5bGU6IFJlZ3VsYXI7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1tZWRpdW0tZm9udC13ZWlnaHQ6IDQwMHB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtaGVhZGxpbmUtbWVkaXVtLWZvbnQtc2l6ZTogMjhweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLW1lZGl1bS1saW5lLWhlaWdodDogMzZweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLW1lZGl1bS1sZXR0ZXItc3BhY2luZzogMHB4O1xuICAvKiBoZWFkbGluZSAtIHNtYWxsICovXG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1zbWFsbC1mb250LWZhbWlseS1uYW1lOiBSb2JvdG87XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1zbWFsbC1mb250LWZhbWlseS1zdHlsZTogUmVndWxhcjtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLXNtYWxsLWZvbnQtd2VpZ2h0OiA0MDBweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLXNtYWxsLWZvbnQtc2l6ZTogMjRweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLXNtYWxsLWxpbmUtaGVpZ2h0OiAzMnB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtaGVhZGxpbmUtc21hbGwtbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgLyogYm9keSAtIGxhcmdlICovXG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LWxhcmdlLWZvbnQtZmFtaWx5LW5hbWU6IFJvYm90bztcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktbGFyZ2UtZm9udC1mYW1pbHktc3R5bGU6IFJlZ3VsYXI7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LWxhcmdlLWZvbnQtd2VpZ2h0OiA0MDBweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktbGFyZ2UtZm9udC1zaXplOiAxNnB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1sYXJnZS1saW5lLWhlaWdodDogMjRweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktbGFyZ2UtbGV0dGVyLXNwYWNpbmc6IDAuNTBweDtcbiAgLyogYm9keSAtIG1lZGl1bSAqL1xuICAtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1tZWRpdW0tZm9udC1mYW1pbHktbmFtZTogUm9ib3RvO1xuICAtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1tZWRpdW0tZm9udC1mYW1pbHktc3R5bGU6IFJlZ3VsYXI7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LW1lZGl1bS1mb250LXdlaWdodDogNDAwcHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LW1lZGl1bS1mb250LXNpemU6IDE0cHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LW1lZGl1bS1saW5lLWhlaWdodDogMjBweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktbWVkaXVtLWxldHRlci1zcGFjaW5nOiAwLjI1cHg7XG4gIC8qIGJvZHkgLSBzbWFsbCAqL1xuICAtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1zbWFsbC1mb250LWZhbWlseS1uYW1lOiBSb2JvdG87XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LXNtYWxsLWZvbnQtZmFtaWx5LXN0eWxlOiBSZWd1bGFyO1xuICAtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1zbWFsbC1mb250LXdlaWdodDogNDAwcHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LXNtYWxsLWZvbnQtc2l6ZTogMTJweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktc21hbGwtbGluZS1oZWlnaHQ6IDE2cHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LXNtYWxsLWxldHRlci1zcGFjaW5nOiAwLjQwcHg7XG4gIC8qIGxhYmVsIC0gbGFyZ2UgKi9cbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLWxhcmdlLWZvbnQtZmFtaWx5LW5hbWU6IFJvYm90bztcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLWxhcmdlLWZvbnQtZmFtaWx5LXN0eWxlOiBNZWRpdW07XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1sYXJnZS1mb250LXdlaWdodDogNTAwcHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1sYXJnZS1mb250LXNpemU6IDE0cHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1sYXJnZS1saW5lLWhlaWdodDogMjBweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLWxhcmdlLWxldHRlci1zcGFjaW5nOiAwLjEwcHg7XG4gIC8qIGxhYmVsIC0gbWVkaXVtICovXG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1tZWRpdW0tZm9udC1mYW1pbHktbmFtZTogUm9ib3RvO1xuICAtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtbWVkaXVtLWZvbnQtZmFtaWx5LXN0eWxlOiBNZWRpdW07XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1tZWRpdW0tZm9udC13ZWlnaHQ6IDUwMHB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtbWVkaXVtLWZvbnQtc2l6ZTogMTJweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLW1lZGl1bS1saW5lLWhlaWdodDogMTZweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLW1lZGl1bS1sZXR0ZXItc3BhY2luZzogMC41MHB4O1xuICAvKiBsYWJlbCAtIHNtYWxsICovXG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1zbWFsbC1mb250LWZhbWlseS1uYW1lOiBSb2JvdG87XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1zbWFsbC1mb250LWZhbWlseS1zdHlsZTogTWVkaXVtO1xuICAtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtc21hbGwtZm9udC13ZWlnaHQ6IDUwMHB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtc21hbGwtZm9udC1zaXplOiAxMXB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtc21hbGwtbGluZS1oZWlnaHQ6IDE2cHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1zbWFsbC1sZXR0ZXItc3BhY2luZzogMC41MHB4O1xuICAvKiB0aXRsZSAtIGxhcmdlICovXG4gIC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1sYXJnZS1mb250LWZhbWlseS1uYW1lOiBSb2JvdG87XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1sYXJnZS1mb250LWZhbWlseS1zdHlsZTogUmVndWxhcjtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLWxhcmdlLWZvbnQtd2VpZ2h0OiA0MDBweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLWxhcmdlLWZvbnQtc2l6ZTogMjJweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLWxhcmdlLWxpbmUtaGVpZ2h0OiAyOHB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtdGl0bGUtbGFyZ2UtbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgLyogdGl0bGUgLSBtZWRpdW0gKi9cbiAgLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLW1lZGl1bS1mb250LWZhbWlseS1uYW1lOiBSb2JvdG87XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1tZWRpdW0tZm9udC1mYW1pbHktc3R5bGU6IE1lZGl1bTtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLW1lZGl1bS1mb250LXdlaWdodDogNTAwcHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1tZWRpdW0tZm9udC1zaXplOiAxNnB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtdGl0bGUtbWVkaXVtLWxpbmUtaGVpZ2h0OiAyNHB4O1xuICAtLW1kLXN5cy10eXBlc2NhbGUtdGl0bGUtbWVkaXVtLWxldHRlci1zcGFjaW5nOiAwLjE1cHg7XG4gIC8qIHRpdGxlIC0gc21hbGwgKi9cbiAgLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLXNtYWxsLWZvbnQtZmFtaWx5LW5hbWU6IFJvYm90bztcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLXNtYWxsLWZvbnQtZmFtaWx5LXN0eWxlOiBNZWRpdW07XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1zbWFsbC1mb250LXdlaWdodDogNTAwcHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1zbWFsbC1mb250LXNpemU6IDE0cHg7XG4gIC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1zbWFsbC1saW5lLWhlaWdodDogMjBweDtcbiAgLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLXNtYWxsLWxldHRlci1zcGFjaW5nOiAwLjEwcHg7XG59XG4iLCIucHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1wcmltYXJ5KTtcbn1cbi5wcmltYXJ5LXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXByaW1hcnkpO1xufVxuLm9uLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tcHJpbWFyeSk7XG59XG4ub24tcHJpbWFyeS10ZXh0IHtcbiAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1vbi1wcmltYXJ5KTtcbn1cbi5wcmltYXJ5LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1wcmltYXJ5LWNvbnRhaW5lcik7XG59XG4ucHJpbWFyeS1jb250YWluZXItdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeS1jb250YWluZXIpO1xufVxuLm9uLXByaW1hcnktY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXByaW1hcnktY29udGFpbmVyKTtcbn1cbi5vbi1wcmltYXJ5LWNvbnRhaW5lci10ZXh0IHtcbiAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1vbi1wcmltYXJ5LWNvbnRhaW5lcik7XG59XG4uc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXNlY29uZGFyeSk7XG59XG4uc2Vjb25kYXJ5LXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXNlY29uZGFyeSk7XG59XG4ub24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXNlY29uZGFyeSk7XG59XG4ub24tc2Vjb25kYXJ5LXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXNlY29uZGFyeSk7XG59XG4uc2Vjb25kYXJ5LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1zZWNvbmRhcnktY29udGFpbmVyKTtcbn1cbi5zZWNvbmRhcnktY29udGFpbmVyLXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXNlY29uZGFyeS1jb250YWluZXIpO1xufVxuLm9uLXNlY29uZGFyeS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lcik7XG59XG4ub24tc2Vjb25kYXJ5LWNvbnRhaW5lci10ZXh0IHtcbiAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1vbi1zZWNvbmRhcnktY29udGFpbmVyKTtcbn1cbi50ZXJ0aWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci10ZXJ0aWFyeSk7XG59XG4udGVydGlhcnktdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItdGVydGlhcnkpO1xufVxuLm9uLXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXRlcnRpYXJ5KTtcbn1cbi5vbi10ZXJ0aWFyeS10ZXh0IHtcbiAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1vbi10ZXJ0aWFyeSk7XG59XG4udGVydGlhcnktY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXRlcnRpYXJ5LWNvbnRhaW5lcik7XG59XG4udGVydGlhcnktY29udGFpbmVyLXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXRlcnRpYXJ5LWNvbnRhaW5lcik7XG59XG4ub24tdGVydGlhcnktY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXRlcnRpYXJ5LWNvbnRhaW5lcik7XG59XG4ub24tdGVydGlhcnktY29udGFpbmVyLXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXRlcnRpYXJ5LWNvbnRhaW5lcik7XG59XG4uZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItZXJyb3IpO1xufVxuLmVycm9yLXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWVycm9yKTtcbn1cbi5vbi1lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1vbi1lcnJvcik7XG59XG4ub24tZXJyb3ItdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tZXJyb3IpO1xufVxuLmVycm9yLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1lcnJvci1jb250YWluZXIpO1xufVxuLmVycm9yLWNvbnRhaW5lci10ZXh0IHtcbiAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1lcnJvci1jb250YWluZXIpO1xufVxuLm9uLWVycm9yLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1vbi1lcnJvci1jb250YWluZXIpO1xufVxuLm9uLWVycm9yLWNvbnRhaW5lci10ZXh0IHtcbiAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1vbi1lcnJvci1jb250YWluZXIpO1xufVxuLmJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItYmFja2dyb3VuZCk7XG59XG4uYmFja2dyb3VuZC10ZXh0IHtcbiAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cbi5vbi1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLWJhY2tncm91bmQpO1xufVxuLm9uLWJhY2tncm91bmQtdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tYmFja2dyb3VuZCk7XG59XG4uc3VyZmFjZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1zdXJmYWNlKTtcbn1cbi5zdXJmYWNlLXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXN1cmZhY2UpO1xufVxuLm9uLXN1cmZhY2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tc3VyZmFjZSk7XG59XG4ub24tc3VyZmFjZS10ZXh0IHtcbiAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1vbi1zdXJmYWNlKTtcbn1cbi5zdXJmYWNlLXZhcmlhbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itc3VyZmFjZS12YXJpYW50KTtcbn1cbi5zdXJmYWNlLXZhcmlhbnQtdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itc3VyZmFjZS12YXJpYW50KTtcbn1cbi5vbi1zdXJmYWNlLXZhcmlhbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50KTtcbn1cbi5vbi1zdXJmYWNlLXZhcmlhbnQtdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50KTtcbn1cbi5vdXRsaW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW91dGxpbmUpO1xufVxuLm91dGxpbmUtdGV4dCB7XG4gIGNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itb3V0bGluZSk7XG59XG4uaW52ZXJzZS1vbi1zdXJmYWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWludmVyc2Utb24tc3VyZmFjZSk7XG59XG4uaW52ZXJzZS1vbi1zdXJmYWNlLXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWludmVyc2Utb24tc3VyZmFjZSk7XG59XG4uaW52ZXJzZS1zdXJmYWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWludmVyc2Utc3VyZmFjZSk7XG59XG4uaW52ZXJzZS1zdXJmYWNlLXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWludmVyc2Utc3VyZmFjZSk7XG59XG4uaW52ZXJzZS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWludmVyc2UtcHJpbWFyeSk7XG59XG4uaW52ZXJzZS1wcmltYXJ5LXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWludmVyc2UtcHJpbWFyeSk7XG59XG4uc2hhZG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXNoYWRvdyk7XG59XG4uc2hhZG93LXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXNoYWRvdyk7XG59XG4uc3VyZmFjZS10aW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXN1cmZhY2UtdGludCk7XG59XG4uc3VyZmFjZS10aW50LXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXN1cmZhY2UtdGludCk7XG59XG4ub3V0bGluZS12YXJpYW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW91dGxpbmUtdmFyaWFudCk7XG59XG4ub3V0bGluZS12YXJpYW50LXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW91dGxpbmUtdmFyaWFudCk7XG59XG4uc2NyaW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itc2NyaW0pO1xufVxuLnNjcmltLXRleHQge1xuICBjb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXNjcmltKTtcbn1cbiIsIi5kaXNwbGF5LWxhcmdle1xuICBmb250LWZhbWlseTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LWxhcmdlLWZvbnQtZmFtaWx5LW5hbWUpO1xuICBmb250LXN0eWxlOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktbGFyZ2UtZm9udC1mYW1pbHktc3R5bGUpO1xuICBmb250LXdlaWdodDogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LWxhcmdlLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktbGFyZ2UtZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1sYXJnZS10cmFja2luZyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktbGFyZ2UtaGVpZ2h0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1sYXJnZS10ZXh0LXRyYW5zZm9ybSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LWxhcmdlLXRleHQtZGVjb3JhdGlvbik7XG59XG4uZGlzcGxheS1tZWRpdW17XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktbWVkaXVtLWZvbnQtZmFtaWx5LW5hbWUpO1xuICBmb250LXN0eWxlOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktbWVkaXVtLWZvbnQtZmFtaWx5LXN0eWxlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1tZWRpdW0tZm9udC13ZWlnaHQpO1xuICBmb250LXNpemU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1tZWRpdW0tZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1tZWRpdW0tdHJhY2tpbmcpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LW1lZGl1bS1oZWlnaHQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LW1lZGl1bS10ZXh0LXRyYW5zZm9ybSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LW1lZGl1bS10ZXh0LWRlY29yYXRpb24pO1xufVxuLmRpc3BsYXktc21hbGx7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktc21hbGwtZm9udC1mYW1pbHktbmFtZSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1zbWFsbC1mb250LWZhbWlseS1zdHlsZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktc21hbGwtZm9udC13ZWlnaHQpO1xuICBmb250LXNpemU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1zbWFsbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LXNtYWxsLXRyYWNraW5nKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtZGlzcGxheS1zbWFsbC1oZWlnaHQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1kaXNwbGF5LXNtYWxsLXRleHQtdHJhbnNmb3JtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWRpc3BsYXktc21hbGwtdGV4dC1kZWNvcmF0aW9uKTtcbn1cbi5oZWFkbGluZS1sYXJnZXtcbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtaGVhZGxpbmUtbGFyZ2UtZm9udC1mYW1pbHktbmFtZSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtaGVhZGxpbmUtbGFyZ2UtZm9udC1mYW1pbHktc3R5bGUpO1xuICBmb250LXdlaWdodDogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1sYXJnZS1mb250LXdlaWdodCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1sYXJnZS1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1sYXJnZS10cmFja2luZyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLWxhcmdlLWhlaWdodCk7XG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLWxhcmdlLXRleHQtdHJhbnNmb3JtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLWxhcmdlLXRleHQtZGVjb3JhdGlvbik7XG59XG4uaGVhZGxpbmUtbWVkaXVte1xuICBmb250LWZhbWlseTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1tZWRpdW0tZm9udC1mYW1pbHktbmFtZSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtaGVhZGxpbmUtbWVkaXVtLWZvbnQtZmFtaWx5LXN0eWxlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtaGVhZGxpbmUtbWVkaXVtLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLW1lZGl1bS1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1tZWRpdW0tdHJhY2tpbmcpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1tZWRpdW0taGVpZ2h0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtaGVhZGxpbmUtbWVkaXVtLXRleHQtdHJhbnNmb3JtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLW1lZGl1bS10ZXh0LWRlY29yYXRpb24pO1xufVxuLmhlYWRsaW5lLXNtYWxse1xuICBmb250LWZhbWlseTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1zbWFsbC1mb250LWZhbWlseS1uYW1lKTtcbiAgZm9udC1zdHlsZTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1oZWFkbGluZS1zbWFsbC1mb250LWZhbWlseS1zdHlsZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLXNtYWxsLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWhlYWRsaW5lLXNtYWxsLXRyYWNraW5nKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtaGVhZGxpbmUtc21hbGwtaGVpZ2h0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtaGVhZGxpbmUtc21hbGwtdGV4dC10cmFuc2Zvcm0pO1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtaGVhZGxpbmUtc21hbGwtdGV4dC1kZWNvcmF0aW9uKTtcbn1cbi5ib2R5LWxhcmdle1xuICBmb250LWZhbWlseTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LWxhcmdlLWZvbnQtZmFtaWx5LW5hbWUpO1xuICBmb250LXN0eWxlOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktbGFyZ2UtZm9udC1mYW1pbHktc3R5bGUpO1xuICBmb250LXdlaWdodDogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LWxhcmdlLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktbGFyZ2UtZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1sYXJnZS10cmFja2luZyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktbGFyZ2UtaGVpZ2h0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1sYXJnZS10ZXh0LXRyYW5zZm9ybSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LWxhcmdlLXRleHQtZGVjb3JhdGlvbik7XG59XG4uYm9keS1tZWRpdW17XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktbWVkaXVtLWZvbnQtZmFtaWx5LW5hbWUpO1xuICBmb250LXN0eWxlOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktbWVkaXVtLWZvbnQtZmFtaWx5LXN0eWxlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1tZWRpdW0tZm9udC13ZWlnaHQpO1xuICBmb250LXNpemU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1tZWRpdW0tZm9udC1zaXplKTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1tZWRpdW0tdHJhY2tpbmcpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LW1lZGl1bS1oZWlnaHQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LW1lZGl1bS10ZXh0LXRyYW5zZm9ybSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LW1lZGl1bS10ZXh0LWRlY29yYXRpb24pO1xufVxuLmJvZHktc21hbGx7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktc21hbGwtZm9udC1mYW1pbHktbmFtZSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1zbWFsbC1mb250LWZhbWlseS1zdHlsZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktc21hbGwtZm9udC13ZWlnaHQpO1xuICBmb250LXNpemU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1zbWFsbC1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LXNtYWxsLXRyYWNraW5nKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1zbWFsbC1oZWlnaHQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1ib2R5LXNtYWxsLXRleHQtdHJhbnNmb3JtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktc21hbGwtdGV4dC1kZWNvcmF0aW9uKTtcbn1cbi5sYWJlbC1sYXJnZXtcbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtbGFyZ2UtZm9udC1mYW1pbHktbmFtZSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtbGFyZ2UtZm9udC1mYW1pbHktc3R5bGUpO1xuICBmb250LXdlaWdodDogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1sYXJnZS1mb250LXdlaWdodCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1sYXJnZS1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1sYXJnZS10cmFja2luZyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLWxhcmdlLWhlaWdodCk7XG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLWxhcmdlLXRleHQtdHJhbnNmb3JtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLWxhcmdlLXRleHQtZGVjb3JhdGlvbik7XG59XG4ubGFiZWwtbWVkaXVte1xuICBmb250LWZhbWlseTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1tZWRpdW0tZm9udC1mYW1pbHktbmFtZSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtbWVkaXVtLWZvbnQtZmFtaWx5LXN0eWxlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtbWVkaXVtLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLW1lZGl1bS1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1tZWRpdW0tdHJhY2tpbmcpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1tZWRpdW0taGVpZ2h0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtbWVkaXVtLXRleHQtdHJhbnNmb3JtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLW1lZGl1bS10ZXh0LWRlY29yYXRpb24pO1xufVxuLmxhYmVsLXNtYWxse1xuICBmb250LWZhbWlseTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1zbWFsbC1mb250LWZhbWlseS1uYW1lKTtcbiAgZm9udC1zdHlsZTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS1sYWJlbC1zbWFsbC1mb250LWZhbWlseS1zdHlsZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLXNtYWxsLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWxhYmVsLXNtYWxsLXRyYWNraW5nKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtc21hbGwtaGVpZ2h0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtc21hbGwtdGV4dC10cmFuc2Zvcm0pO1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtbGFiZWwtc21hbGwtdGV4dC1kZWNvcmF0aW9uKTtcbn1cbi50aXRsZS1sYXJnZXtcbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtdGl0bGUtbGFyZ2UtZm9udC1mYW1pbHktbmFtZSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtdGl0bGUtbGFyZ2UtZm9udC1mYW1pbHktc3R5bGUpO1xuICBmb250LXdlaWdodDogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1sYXJnZS1mb250LXdlaWdodCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1sYXJnZS1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1sYXJnZS10cmFja2luZyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLWxhcmdlLWhlaWdodCk7XG4gIHRleHQtdHJhbnNmb3JtOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLWxhcmdlLXRleHQtdHJhbnNmb3JtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLWxhcmdlLXRleHQtZGVjb3JhdGlvbik7XG59XG4udGl0bGUtbWVkaXVte1xuICBmb250LWZhbWlseTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1tZWRpdW0tZm9udC1mYW1pbHktbmFtZSk7XG4gIGZvbnQtc3R5bGU6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtdGl0bGUtbWVkaXVtLWZvbnQtZmFtaWx5LXN0eWxlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtdGl0bGUtbWVkaXVtLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLW1lZGl1bS1mb250LXNpemUpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1tZWRpdW0tdHJhY2tpbmcpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1tZWRpdW0taGVpZ2h0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtdGl0bGUtbWVkaXVtLXRleHQtdHJhbnNmb3JtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLW1lZGl1bS10ZXh0LWRlY29yYXRpb24pO1xufVxuLnRpdGxlLXNtYWxse1xuICBmb250LWZhbWlseTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1zbWFsbC1mb250LWZhbWlseS1uYW1lKTtcbiAgZm9udC1zdHlsZTogdmFyKC0tbWQtc3lzLXR5cGVzY2FsZS10aXRsZS1zbWFsbC1mb250LWZhbWlseS1zdHlsZSk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLXNtYWxsLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLXNtYWxsLWZvbnQtc2l6ZSk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLXRpdGxlLXNtYWxsLXRyYWNraW5nKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtdGl0bGUtc21hbGwtaGVpZ2h0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtdGl0bGUtc21hbGwtdGV4dC10cmFuc2Zvcm0pO1xuICB0ZXh0LWRlY29yYXRpb246IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtdGl0bGUtc21hbGwtdGV4dC1kZWNvcmF0aW9uKTtcbn1cbiIsIjpyb290IHtcbiAtLW1kLXN5cy1jb2xvci1wcmltYXJ5OiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeS1saWdodCk7XG4gLS1tZC1zeXMtY29sb3Itb24tcHJpbWFyeTogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXByaW1hcnktbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLXByaW1hcnktY29udGFpbmVyOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeS1jb250YWluZXItbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLW9uLXByaW1hcnktY29udGFpbmVyOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tcHJpbWFyeS1jb250YWluZXItbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLXNlY29uZGFyeTogdmFyKC0tbWQtc3lzLWNvbG9yLXNlY29uZGFyeS1saWdodCk7XG4gLS1tZC1zeXMtY29sb3Itb24tc2Vjb25kYXJ5OiB2YXIoLS1tZC1zeXMtY29sb3Itb24tc2Vjb25kYXJ5LWxpZ2h0KTtcbiAtLW1kLXN5cy1jb2xvci1zZWNvbmRhcnktY29udGFpbmVyOiB2YXIoLS1tZC1zeXMtY29sb3Itc2Vjb25kYXJ5LWNvbnRhaW5lci1saWdodCk7XG4gLS1tZC1zeXMtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXItbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLXRlcnRpYXJ5OiB2YXIoLS1tZC1zeXMtY29sb3ItdGVydGlhcnktbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLW9uLXRlcnRpYXJ5OiB2YXIoLS1tZC1zeXMtY29sb3Itb24tdGVydGlhcnktbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLXRlcnRpYXJ5LWNvbnRhaW5lcjogdmFyKC0tbWQtc3lzLWNvbG9yLXRlcnRpYXJ5LWNvbnRhaW5lci1saWdodCk7XG4gLS1tZC1zeXMtY29sb3Itb24tdGVydGlhcnktY29udGFpbmVyOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tdGVydGlhcnktY29udGFpbmVyLWxpZ2h0KTtcbiAtLW1kLXN5cy1jb2xvci1lcnJvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWVycm9yLWxpZ2h0KTtcbiAtLW1kLXN5cy1jb2xvci1vbi1lcnJvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLWVycm9yLWxpZ2h0KTtcbiAtLW1kLXN5cy1jb2xvci1lcnJvci1jb250YWluZXI6IHZhcigtLW1kLXN5cy1jb2xvci1lcnJvci1jb250YWluZXItbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLW9uLWVycm9yLWNvbnRhaW5lcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLWVycm9yLWNvbnRhaW5lci1saWdodCk7XG4gLS1tZC1zeXMtY29sb3Itb3V0bGluZTogdmFyKC0tbWQtc3lzLWNvbG9yLW91dGxpbmUtbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLWJhY2tncm91bmQ6IHZhcigtLW1kLXN5cy1jb2xvci1iYWNrZ3JvdW5kLWxpZ2h0KTtcbiAtLW1kLXN5cy1jb2xvci1vbi1iYWNrZ3JvdW5kOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tYmFja2dyb3VuZC1saWdodCk7XG4gLS1tZC1zeXMtY29sb3Itc3VyZmFjZTogdmFyKC0tbWQtc3lzLWNvbG9yLXN1cmZhY2UtbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLW9uLXN1cmZhY2U6IHZhcigtLW1kLXN5cy1jb2xvci1vbi1zdXJmYWNlLWxpZ2h0KTtcbiAtLW1kLXN5cy1jb2xvci1zdXJmYWNlLXZhcmlhbnQ6IHZhcigtLW1kLXN5cy1jb2xvci1zdXJmYWNlLXZhcmlhbnQtbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudDogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXN1cmZhY2UtdmFyaWFudC1saWdodCk7XG4gLS1tZC1zeXMtY29sb3ItaW52ZXJzZS1zdXJmYWNlOiB2YXIoLS1tZC1zeXMtY29sb3ItaW52ZXJzZS1zdXJmYWNlLWxpZ2h0KTtcbiAtLW1kLXN5cy1jb2xvci1pbnZlcnNlLW9uLXN1cmZhY2U6IHZhcigtLW1kLXN5cy1jb2xvci1pbnZlcnNlLW9uLXN1cmZhY2UtbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLWludmVyc2UtcHJpbWFyeTogdmFyKC0tbWQtc3lzLWNvbG9yLWludmVyc2UtcHJpbWFyeS1saWdodCk7XG4gLS1tZC1zeXMtY29sb3Itc2hhZG93OiB2YXIoLS1tZC1zeXMtY29sb3Itc2hhZG93LWxpZ2h0KTtcbiAtLW1kLXN5cy1jb2xvci1zdXJmYWNlLXRpbnQ6IHZhcigtLW1kLXN5cy1jb2xvci1zdXJmYWNlLXRpbnQtbGlnaHQpO1xuIC0tbWQtc3lzLWNvbG9yLW91dGxpbmUtdmFyaWFudDogdmFyKC0tbWQtc3lzLWNvbG9yLW91dGxpbmUtdmFyaWFudC1saWdodCk7XG4gLS1tZC1zeXMtY29sb3Itc2NyaW06IHZhcigtLW1kLXN5cy1jb2xvci1zY3JpbS1saWdodCk7XG59XG4iLCI6cm9vdFt0aGVtZT0nZGFyayddIHtcbiAtLW1kLXN5cy1jb2xvci1wcmltYXJ5OiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeS1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1vbi1wcmltYXJ5OiB2YXIoLS1tZC1zeXMtY29sb3Itb24tcHJpbWFyeS1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1wcmltYXJ5LWNvbnRhaW5lcjogdmFyKC0tbWQtc3lzLWNvbG9yLXByaW1hcnktY29udGFpbmVyLWRhcmspO1xuIC0tbWQtc3lzLWNvbG9yLW9uLXByaW1hcnktY29udGFpbmVyOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tcHJpbWFyeS1jb250YWluZXItZGFyayk7XG4gLS1tZC1zeXMtY29sb3Itc2Vjb25kYXJ5OiB2YXIoLS1tZC1zeXMtY29sb3Itc2Vjb25kYXJ5LWRhcmspO1xuIC0tbWQtc3lzLWNvbG9yLW9uLXNlY29uZGFyeTogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXNlY29uZGFyeS1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1zZWNvbmRhcnktY29udGFpbmVyOiB2YXIoLS1tZC1zeXMtY29sb3Itc2Vjb25kYXJ5LWNvbnRhaW5lci1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1vbi1zZWNvbmRhcnktY29udGFpbmVyOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tc2Vjb25kYXJ5LWNvbnRhaW5lci1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci10ZXJ0aWFyeTogdmFyKC0tbWQtc3lzLWNvbG9yLXRlcnRpYXJ5LWRhcmspO1xuIC0tbWQtc3lzLWNvbG9yLW9uLXRlcnRpYXJ5OiB2YXIoLS1tZC1zeXMtY29sb3Itb24tdGVydGlhcnktZGFyayk7XG4gLS1tZC1zeXMtY29sb3ItdGVydGlhcnktY29udGFpbmVyOiB2YXIoLS1tZC1zeXMtY29sb3ItdGVydGlhcnktY29udGFpbmVyLWRhcmspO1xuIC0tbWQtc3lzLWNvbG9yLW9uLXRlcnRpYXJ5LWNvbnRhaW5lcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXRlcnRpYXJ5LWNvbnRhaW5lci1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1lcnJvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWVycm9yLWRhcmspO1xuIC0tbWQtc3lzLWNvbG9yLW9uLWVycm9yOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tZXJyb3ItZGFyayk7XG4gLS1tZC1zeXMtY29sb3ItZXJyb3ItY29udGFpbmVyOiB2YXIoLS1tZC1zeXMtY29sb3ItZXJyb3ItY29udGFpbmVyLWRhcmspO1xuIC0tbWQtc3lzLWNvbG9yLW9uLWVycm9yLWNvbnRhaW5lcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLWVycm9yLWNvbnRhaW5lci1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1vdXRsaW5lOiB2YXIoLS1tZC1zeXMtY29sb3Itb3V0bGluZS1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1iYWNrZ3JvdW5kOiB2YXIoLS1tZC1zeXMtY29sb3ItYmFja2dyb3VuZC1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1vbi1iYWNrZ3JvdW5kOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tYmFja2dyb3VuZC1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1zdXJmYWNlOiB2YXIoLS1tZC1zeXMtY29sb3Itc3VyZmFjZS1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1vbi1zdXJmYWNlOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tc3VyZmFjZS1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1zdXJmYWNlLXZhcmlhbnQ6IHZhcigtLW1kLXN5cy1jb2xvci1zdXJmYWNlLXZhcmlhbnQtZGFyayk7XG4gLS1tZC1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50OiB2YXIoLS1tZC1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LWRhcmspO1xuIC0tbWQtc3lzLWNvbG9yLWludmVyc2Utc3VyZmFjZTogdmFyKC0tbWQtc3lzLWNvbG9yLWludmVyc2Utc3VyZmFjZS1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1pbnZlcnNlLW9uLXN1cmZhY2U6IHZhcigtLW1kLXN5cy1jb2xvci1pbnZlcnNlLW9uLXN1cmZhY2UtZGFyayk7XG4gLS1tZC1zeXMtY29sb3ItaW52ZXJzZS1wcmltYXJ5OiB2YXIoLS1tZC1zeXMtY29sb3ItaW52ZXJzZS1wcmltYXJ5LWRhcmspO1xuIC0tbWQtc3lzLWNvbG9yLXNoYWRvdzogdmFyKC0tbWQtc3lzLWNvbG9yLXNoYWRvdy1kYXJrKTtcbiAtLW1kLXN5cy1jb2xvci1zdXJmYWNlLXRpbnQ6IHZhcigtLW1kLXN5cy1jb2xvci1zdXJmYWNlLXRpbnQtZGFyayk7XG4gLS1tZC1zeXMtY29sb3Itb3V0bGluZS12YXJpYW50OiB2YXIoLS1tZC1zeXMtY29sb3Itb3V0bGluZS12YXJpYW50LWRhcmspO1xuIC0tbWQtc3lzLWNvbG9yLXNjcmltOiB2YXIoLS1tZC1zeXMtY29sb3Itc2NyaW0tZGFyayk7XG59XG4iLCI6cm9vdCwgOmhvc3Qge1xuICAgIC0tc3VyZmFjZS1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXN1cmZhY2UpO1xuICAgIC0tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWJhY2tncm91bmQpO1xuXG4gICAgLS1mb250LWNvbG9yLW1haW46IHZhcigtLW1kLXN5cy1jb2xvci1vbi1iYWNrZ3JvdW5kKTtcbiAgICAtLWZvbnQtY29sb3ItbWVkaXVtOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50KTtcbiAgICAtLWZvbnQtY29sb3ItZGlzYWJsZWQ6IHZhcigtLW1kLXN5cy1jb2xvci1vbi1zdXJmYWNlKTtcblxuICAgIC0tZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1haW46IHZhcigtLW1kLXN5cy1jb2xvci1vbi1wcmltYXJ5KTtcbiAgICAtLWZvbnQtb24tcHJpbWFyeS1jb2xvci1kYXJrLW1haW46IHZhcigtLW1kLXN5cy1jb2xvci1vbi1wcmltYXJ5LWRhcmspO1xuICAgIC0tZm9udC1vbi1wcmltYXJ5LWNvbG9yLWRhcmstbWVkaXVtOiB2YXIoLS1tZC1zeXMtY29sb3Itb24tc3VyZmFjZS12YXJpYW50LWRhcmspO1xuICAgIC0tZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1lZGl1bTogIHZhcigtLW1kLXN5cy1jb2xvci1vbi1zdXJmYWNlLXZhcmlhbnQpO1xuICAgIC0tZm9udC1vbi1wcmltYXJ5LWNvbG9yLWRpc2FibGVkOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzgpO1xuICAgIC0tZm9udC1vbi1zZWNvbmRhcnktY29sb3ItbWFpbjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXNlY29uZGFyeSk7XG5cbiAgICAtLWhvdmVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAgIC0tZm9jdXMtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgLS1mb2N1cy1jb2xvci1zb2xpZDogI0UwRTBFMDtcblxuICAgIC0tYmFja2dyb3VuZC1jb2xvci1kaXNhYmxlZDogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAtLWJhY2tncm91bmQtY29sb3ItbGV2ZWwtNGRwOiByZ2JhKDAsIDAsIDAsIDAuMDkpO1xuICAgIC0tYmFja2dyb3VuZC1jb2xvci1sZXZlbC0xNmRwLXNvbGlkOiB2YXIoLS1zdXJmYWNlLWNvbG9yKTtcbiAgICAtLWJhY2tncm91bmQtY29sb3Itc2xpZ2h0LWVtcGhhc2lzOiByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIC0tYmFja2dyb3VuZC1jb2xvci1jYXJkOiB2YXIoLS1zdXJmYWNlLWNvbG9yKTtcblxuICAgIC0tdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAjMzEzMDMzO1xuICAgIC0tdG9vbHRpcC1mb250LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzcpO1xuXG4gICAgLS1zZXBhcmF0b3ItY29sb3I6ICNEREREREQ7IC8qIGJvcmRlcnMgYmV0d2VlbiBjb21wb25lbnRzICovXG5cbiAgICAtLWVycm9yLWNvbG9yOiAjRjQ0MzM2O1xuXG4gICAgLS1zbGlkZXItdHJhY2stY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1zaGFkb3ctbGlnaHQpO1xuICAgIC0tc3dpdGNoLXRodW1iLW9mZi1jb2xvcjogdmFyKC0tbWQtcmVmLXBhbGV0dGUtcHJpbWFyeTEwMCk7XG5cbiAgICAtLWNhcm91c2VsLWluZGljYXRvci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ1KTtcbiAgICAtLWNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtY29sb3I6IHZhcigtLW1kLXJlZi1wYWxldHRlLXByaW1hcnkxMDApO1xuXG4gICAgLS1wcmltYXJ5LWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItcHJpbWFyeSk7XG4gICAgLS1wcmltYXJ5LWNvbG9yLWRhcms6IHZhcigtLW1kLXN5cy1jb2xvci1wcmltYXJ5LWRhcmspOyAgICBcbiAgICAtLXByaW1hcnktY29sb3ItcmFpc2VkLWhvdmVyLXNvbGlkOiB2YXIoLS1tZC1yZWYtcGFsZXR0ZS1wcmltYXJ5NzApO1xuICAgIC0tcHJpbWFyeS1jb2xvci1yYWlzZWQtZm9jdXMtc29saWQ6IHZhcigtLW1kLXJlZi1wYWxldHRlLXByaW1hcnk4MCk7XG4gICAgLS1wcmltYXJ5LWNvbG9yLWZvbnQtbWVkaXVtLWNvbG9yOiByZ2JhKHZhcigtLXByaW1hcnktY29sb3ItbnVtZXJpYyksIDAuNyk7XG4gICAgLS1wcmltYXJ5LWNvbG9yLWZvbnQtZGlzYWJsZWQtY29sb3I6IHJnYmEodmFyKC0tcHJpbWFyeS1jb2xvci1udW1lcmljKSwgMC40KTtcbiAgICAtLXByaW1hcnktY29sb3ItaG92ZXItb3BhcXVlOiByZ2JhKHZhcigtLXByaW1hcnktY29sb3ItbnVtZXJpYyksIDAuMDYpO1xuICAgIC0tcHJpbWFyeS1jb2xvci1mb2N1cy1vcGFxdWU6IHJnYmEodmFyKC0tcHJpbWFyeS1jb2xvci1udW1lcmljKSwgMC4xOCk7XG5cbiAgICAtLXNlY29uZGFyeS1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgLS1zZWNvbmRhcnktY29sb3ItaG92ZXItc29saWQ6IHZhcigtLW1kLXJlZi1wYWxldHRlLXNlY29uZGFyeTcwKTtcbiAgICAtLXNlY29uZGFyeS1jb2xvci1mb2N1cy1zb2xpZDogIHZhcigtLW1kLXJlZi1wYWxldHRlLXNlY29uZGFyeTgwKTtcbiAgICAtLXNlY29uZGFyeS1jb250YWluZXItY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1zZWNvbmRhcnktY29udGFpbmVyKTtcbiAgICAtLWZvbnQtb24tc2Vjb25kYXJ5LWNvbnRhaW5lci1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW9uLXNlY29uZGFyeS1jb250YWluZXIpO1xuXG4gICAgLS1tZF9zeXNfY29sb3Jfb24tc3VyZmFjZTogMjgsIDI3LCAzMTtcbn1cblxuLy9pbXBvcnRhbnQ6IHdoZW4gYWxsIHZhcmlhYmxlcyBhcmUgYXNzaWduZWQgdGhpcyBjb3VsZCBiZSByZW1vdmVkIGFzIHdpbGwgYmUgbm8gZGlmZmVyZW5jZVxuOnJvb3RbdGhlbWU9J2RhcmsnXSB7XG4gICAgLS1mb250LW9uLXByaW1hcnktY29sb3ItZGlzYWJsZWQ6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG5cbiAgICAtLWhvdmVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpO1xuICAgIC0tZm9jdXMtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgLS1mb2N1cy1jb2xvci1zb2xpZDogIzQyNDI0MjtcblxuICAgIC0tYmFja2dyb3VuZC1jb2xvci1kaXNhYmxlZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICAtLWJhY2tncm91bmQtY29sb3ItbGV2ZWwtNGRwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDkpO1xuICAgIC0tYmFja2dyb3VuZC1jb2xvci1zbGlnaHQtZW1waGFzaXM6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG5cbiAgICAtLXNlcGFyYXRvci1jb2xvcjogIzQyNDI0MjsgLyogYm9yZGVycyBiZXR3ZWVuIGNvbXBvbmVudHMgKi9cblxuICAgIC0tZXJyb3ItY29sb3I6ICNDRjY2Nzk7XG5cbiAgICAtLXN3aXRjaC10aHVtYi1vZmYtY29sb3I6ICNiYWJhYmE7XG5cbiAgICAtLW1kX3N5c19jb2xvcl9vbi1zdXJmYWNlOiAyMzAsIDIyNSwgMjI5O1xufVxuXG5cbiIsIi8vIENvbG9yIENsYXNzZXNcblxuQGVhY2ggJGNvbG9yX25hbWUsICRjb2xvciBpbiAkY29sb3JzIHtcbiAgQGVhY2ggJGNvbG9yX3R5cGUsICRjb2xvcl92YWx1ZSBpbiAkY29sb3Ige1xuICAgIEBpZiAkY29sb3JfdHlwZSA9PSBcImJhc2VcIiB7XG4gICAgICAuI3skY29sb3JfbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfdmFsdWUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC4jeyRjb2xvcl9uYW1lfS10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRjb2xvcl92YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sb3JfbmFtZSAhPSBcInNoYWRlc1wiIHtcbiAgICAgIC4jeyRjb2xvcl9uYW1lfS4jeyRjb2xvcl90eXBlfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl92YWx1ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLiN7JGNvbG9yX25hbWV9LXRleHQudGV4dC0jeyRjb2xvcl90eXBlfSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3JfdmFsdWUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2hhZGUgY2xhc3Nlc1xuQGVhY2ggJGNvbG9yLCAkY29sb3JfdmFsdWUgaW4gJHNoYWRlcyB7XG4gIC4jeyRjb2xvcn0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl92YWx1ZSAhaW1wb3J0YW50O1xuICB9XG4gIC4jeyRjb2xvcn0tdGV4dCB7XG4gICAgY29sb3I6ICRjb2xvcl92YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufSIsImh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjaztcbn1cblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAvLyBHZXRzIHJpZCBvZiB0YXAgYWN0aXZlIHN0YXRlXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIFBvc2l0aW9uaW5nXG4udmFsaWduLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vLyBjbGFzc2ljIGNsZWFyZml4XG4uY2xlYXJmaXgge1xuICBjbGVhcjogYm90aDtcbn1cblxuLy8gWi1sZXZlbHNcbi56LWRlcHRoLTAge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIDJkcCBlbGV2YXRpb24gbW9kaWZpZWQqL1xuLnotZGVwdGgtMSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksXG4gIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xMiksXG4gIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLnotZGVwdGgtMS1oYWxmIHtcbiAgYm94LXNoYWRvdzogMCAzcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggMXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4vKiA2ZHAgZWxldmF0aW9uIG1vZGlmaWVkKi9cbi56LWRlcHRoLTIge1xuICBib3gtc2hhZG93OiAwIDRweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLFxuICAwIDFweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSxcbiAgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4vKiAxMmRwIGVsZXZhdGlvbiBtb2RpZmllZCovXG4uei1kZXB0aC0zIHtcbiAgYm94LXNoYWRvdzogMCA4cHggMTdweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSxcbiAgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSxcbiAgMCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4vKiAxNmRwIGVsZXZhdGlvbiAqL1xuLnotZGVwdGgtNCB7XG4gIGJveC1zaGFkb3c6IDAgMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLFxuICAwIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpLFxuICAwIDhweCAxMHB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4vKiAyNGRwIGVsZXZhdGlvbiAqL1xuLnotZGVwdGgtNSB7XG4gIGJveC1zaGFkb3c6IDAgMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLFxuICAwIDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpLFxuICAwIDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmhvdmVyYWJsZSB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjI1cztcbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMTdweCAwIHJnYmEoMCwgMCwgMCwgMC4yKSwgMCA2cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xOSk7XG4gIH1cbn1cblxuLy8gRGl2aWRlcnNcbi5kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRkaXZpZGVyLWNvbG9yO1xufVxuXG4vLyAgQmxvY2txdW90ZVxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbn1cblxuLy8gSWNvbiBTdHlsZXNcbmkge1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgJi5sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAvLyBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIC8vIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICB9XG4gICYudGlueSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG4gICYuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuICAmLm1lZGl1bSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG4gICYubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgfVxufVxuXG4vLyBJbWFnZXNcbmltZy5yZXNwb25zaXZlLWltZyxcbnZpZGVvLnJlc3BvbnNpdmUtdmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gUGFnaW5hdGlvblxuLnBhZ2luYXRpb24ge1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGhlaWdodDogMzBweDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRmb250LWNvbG9yLW1lZGl1bTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1ob3Zlci1vcGFxdWU7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgYSB7XG4gICAgICBjb2xvcjogJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluO1xuICAgIH1cblxuICAgICYuYWN0aXZlLFxuICAgICYuYWN0aXZlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQgYSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBjb2xvcjogJGZvbnQtY29sb3ItZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgfVxuICB9XG5cblxuICBsaS5wYWdlcyB1bCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAjeyRtZWRpdW0tYW5kLWRvd259IHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgbGkucHJldixcbiAgICBsaS5uZXh0IHtcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgfVxuXG4gICAgbGkucGFnZXMge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCcmVhZGNydW1ic1xuLmJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICRmb250LW9uLXByaW1hcnktY29sb3ItbWVkaXVtO1xuXG4gIGksXG4gIFtjbGFzc149XCJtZGktXCJdLCBbY2xhc3MqPVwibWRpLVwiXSxcbiAgaS5tYXRlcmlhbC1pY29ucywgaS5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuICBpLm1hdGVyaWFsLXN5bWJvbHMtcm91bmRlZCwgaS5tYXRlcmlhbC1zeW1ib2xzLXNoYXJwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcRTVDQyc7XG4gICAgY29sb3I6ICRmb250LW9uLXByaW1hcnktY29sb3ItbWVkaXVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCcsICdNYXRlcmlhbCBTeW1ib2xzIFJvdW5kZWQnLCAnTWF0ZXJpYWwgU3ltYm9scyBTaGFycCcsICdNYXRlcmlhbCBJY29ucyc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIG1hcmdpbjogMCAxMHB4IDAgOHB4O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGNvbG9yOiAkZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1haW47XG4gIH1cbn1cblxuLy8gUGFyYWxsYXhcbi5wYXJhbGxheC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogNTAwcHg7XG5cbiAgLnBhcmFsbGF4IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgaW1nIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHVzaHBpblxuLnBpbi10b3AsIC5waW4tYm90dG9tIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGlubmVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiAgVHJhbnNpdGlvbiBDbGFzc2VzXG4qKioqKioqKioqKioqKioqKioqKioqL1xuXG51bC5zdGFnZ2VyZWQtbGlzdCBsaSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5mYWRlLWluIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuICBNZWRpYSBRdWVyeSBDbGFzc2VzXG4qKioqKioqKioqKioqKioqKioqKioqL1xuLmhpZGUtb24tc21hbGwtb25seSwgLmhpZGUtb24tc21hbGwtYW5kLWRvd24ge1xuICBAbWVkaWEgI3skc21hbGwtYW5kLWRvd259IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGUtb24tbWVkLWFuZC1kb3duIHtcbiAgQG1lZGlhICN7JG1lZGl1bS1hbmQtZG93bn0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZS1vbi1tZWQtYW5kLXVwIHtcbiAgQG1lZGlhICN7JG1lZGl1bS1hbmQtdXB9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGUtb24tbWVkLW9ubHkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzbWFsbC1zY3JlZW4tdXApIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtLXNjcmVlbikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZS1vbi1sYXJnZS1vbmx5IHtcbiAgQG1lZGlhICN7JGxhcmdlLWFuZC11cH0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZS1vbi1leHRyYS1sYXJnZS1vbmx5IHtcbiAgQG1lZGlhICN7JGV4dHJhLWxhcmdlLWFuZC11cH0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2hvdy1vbi1leHRyYS1sYXJnZSB7XG4gIEBtZWRpYSAjeyRleHRyYS1sYXJnZS1hbmQtdXB9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaG93LW9uLWxhcmdlIHtcbiAgQG1lZGlhICN7JGxhcmdlLWFuZC11cH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnNob3ctb24tbWVkaXVtIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc21hbGwtc2NyZWVuLXVwKSBhbmQgKG1heC13aWR0aDogJG1lZGl1bS1zY3JlZW4pIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaG93LW9uLXNtYWxsIHtcbiAgQG1lZGlhICN7JHNtYWxsLWFuZC1kb3dufSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2hvdy1vbi1tZWRpdW0tYW5kLXVwIHtcbiAgQG1lZGlhICN7JG1lZGl1bS1hbmQtdXB9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaG93LW9uLW1lZGl1bS1hbmQtZG93biB7XG4gIEBtZWRpYSAjeyRtZWRpdW0tYW5kLWRvd259IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8gQ2VudGVyIHRleHQgb24gbW9iaWxlXG4uY2VudGVyLW9uLXNtYWxsLW9ubHkge1xuICBAbWVkaWEgI3skc21hbGwtYW5kLWRvd259IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gRm9vdGVyXG4ucGFnZS1mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgY29sb3I6ICRmb290ZXItZm9udC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1iZy1jb2xvcjtcblxuICBhIHtcbiAgICBjb2xvcjogJGZvb3Rlci1mb250LWNvbG9yO1xuICB9XG5cbiAgLmZvb3Rlci1jb3B5cmlnaHQsXG4gIC5mb290ZXItY29weXJpZ2h0IGEge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmc6IDEwcHggMHB4O1xuICAgIGNvbG9yOiAkZm9vdGVyLWNvcHlyaWdodC1mb250LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItY29weXJpZ2h0LWJnLWNvbG9yO1xuICB9XG59XG5cbi5wYWdlLWZvb3RlciB1bCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLyBUYWJsZXNcbnRhYmxlLCB0aCwgdGQge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcblxuICAmLnN0cmlwZWQge1xuICAgIHRyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgIHRib2R5ID4gdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5oaWdobGlnaHQgPiB0Ym9keSA+IHRyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2UtaG92ZXItY29sb3Itb3BhcXVlO1xuICAgIH1cbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBjb2xvcjogJGZvbnQtY29sb3ItbWVkaXVtO1xuICB9XG5cbiAgJi5jZW50ZXJlZCB7XG4gICAgdGhlYWQgdHIgdGgsIHRib2R5IHRyIHRkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxudHIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbn1cblxudGQsIHRoIHtcbiAgcGFkZGluZzogMTVweCA1cHg7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFJlc3BvbnNpdmUgVGFibGVcbkBtZWRpYSAjeyRtZWRpdW0tYW5kLWRvd259IHtcblxuICB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHRkOmVtcHR5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwwMGEwJztcbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIHRoIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgdHIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcblxuICAgICAgICB0aDo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcMDBhMFwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGJvZHkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWluLWhlaWdodDogMS4yNWVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cblxuICAgIC8qIHNvcnQgb3V0IGJvcmRlcnMgKi9cbiAgICB0aGVhZCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXNwb25zaXZlIFZpZGVvc1xuLnZpZGVvLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSwgb2JqZWN0LCBlbWJlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKlxuICBVdGlsaXR5IENsYXNzZXNcbioqKioqKioqKioqKioqKioqKiovXG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLy8gVGV4dCBBbGlnblxuLmxlZnQtYWxpZ24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnJpZ2h0LWFsaWduIHtcbiAgdGV4dC1hbGlnbjogcmlnaHRcbn1cbi5jZW50ZXIsIC5jZW50ZXItYWxpZ24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vIFRPRE86IFJlbW92ZSB0aGlzXG4ubGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG4ucmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLy8gTm8gVGV4dCBTZWxlY3Rcbi5uby1zZWxlY3Qge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4uY2VudGVyLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4udHJ1bmNhdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG4ubm8tcGFkZGluZyB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIFV0aWxpdHkgU3BhY2luZyBDbGFzc2VzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuJHNwYWNpbmctc2hvcnRjdXRzOiAoXCJtYXJnaW5cIjogXCJtXCIsIFwicGFkZGluZ1wiOiBcInBcIikgIWRlZmF1bHQ7XG4kc3BhY2luZy1kaXJlY3Rpb25zOiAoXCJ0b3BcIjogXCJ0XCIsIFwicmlnaHRcIjogXCJyXCIsIFwiYm90dG9tXCI6IFwiYlwiLCBcImxlZnRcIjogXCJsXCIpICFkZWZhdWx0O1xuJHNwYWNpbmctaG9yaXpvbnRhbDogXCJ4XCIgIWRlZmF1bHQ7XG4kc3BhY2luZy12ZXJ0aWNhbDogXCJ5XCIgIWRlZmF1bHQ7XG4kc3BhY2luZy12YWx1ZXM6IChcIjBcIjogMCwgXCIxXCI6IDAuMjVyZW0sIFwiMlwiOiAwLjVyZW0sIFwiM1wiOiAwLjc1cmVtLCBcIjRcIjogMXJlbSwgXCI1XCI6IDEuNXJlbSwgXCI2XCI6IDNyZW0sIFwiYXV0b1wiOiBhdXRvKSAhZGVmYXVsdDsgXG5cbkBlYWNoICRwcm9wZXJ0eSwgJHNob3J0Y3V0IGluICRzcGFjaW5nLXNob3J0Y3V0c3tcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkc3BhY2luZy12YWx1ZXN7XG4gICAgLy8gQWxsIGRpcmVjdGlvbiBzcGFjaW5nXG5cbiAgICAuI3skc2hvcnRjdXR9LSN7JG5hbWV9e1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyAodCwgYiwgciwgbCkgc3BhY2luZ1xuICAgIEBlYWNoICRkaXJlY3Rpb24sICRzdWZmaXggaW4gJHNwYWNpbmctZGlyZWN0aW9uc3tcbiAgICAgIC4jeyRzaG9ydGN1dH0jeyRzdWZmaXh9LSN7JG5hbWV9e1xuICAgICAgICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufTogJHZhbHVlICFpbXBvcnRhbnQgXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8geCBzcGFjaW5nXG4gICAgQGlmICRzcGFjaW5nLWhvcml6b250YWwgIT0gbnVsbHtcbiAgICAgICAuI3skc2hvcnRjdXR9I3skc3BhY2luZy1ob3Jpem9udGFsfS0jeyRuYW1lfXtcbiAgICAgICAgICN7JHByb3BlcnR5fS1sZWZ0OiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICN7JHByb3BlcnR5fS1yaWdodDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgfVxuICAgIH1cblxuICAgIC8vIHkgc3BhY2luZ1xuICAgIEBpZiAkc3BhY2luZy12ZXJ0aWNhbCAhPSBudWxse1xuICAgICAgLiN7JHNob3J0Y3V0fSN7JHNwYWNpbmctdmVydGljYWx9LSN7JG5hbWV9e1xuICAgICAgICAjeyRwcm9wZXJ0eX0tdG9wOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICAgICAgI3skcHJvcGVydHl9LWJvdHRvbTogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICAgIFxuICB9XG59ICIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNYXRlcmlhbGl6ZSB2YXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gIDEuIENvbG9yc1xuLy8gIDIuIEJhZGdlc1xuLy8gIDMuIEJ1dHRvbnNcbi8vICA0LiBDYXJkc1xuLy8gIDUuIENhcm91c2VsXG4vLyAgNi4gQ29sbGFwc2libGVcbi8vICA3LiBEYXRlICsgVGltZSBQaWNrZXJcbi8vICA4LiBEcm9wZG93blxuLy8gIDkuIEZvcm1zXG4vLyAgMTAuIENoaXBzXG4vLyAgMTEuIEdsb2JhbFxuLy8gIDEyLiBHcmlkXG4vLyAgMTMuIE5hdmlnYXRpb24gQmFyXG4vLyAgMTQuIFNpZGUgTmF2aWdhdGlvblxuLy8gIDE1LiBQaG90byBTbGlkZXJcbi8vICAxNi4gU3Bpbm5lcnMgfCBMb2FkZXJzXG4vLyAgMTcuIFRhYnNcbi8vICAxOC4gVGFibGVzXG4vLyAgMTkuIFRvYXN0c1xuLy8gIDIwLiBUb29sdGlwc1xuLy8gIDIxLiBUeXBvZ3JhcGh5XG4vLyAgMjIuIEZvb3RlclxuLy8gIDIzLiBGbG93IFRleHRcbi8vICAyNC4gQ29sbGVjdGlvbnNcbi8vICAyNS4gUHJvZ3Jlc3MgQmFyXG5cblxuLy8gVHlwZVNjYWxlXG4kbWRfc3lzX3R5cGVzY2FsZV9ib2R5LWxhcmdlX3NpemU6IDE2cHg7XG5cblxuLy8gMS4gQ29sb3JzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbiRwcmltYXJ5LWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRwcmltYXJ5LWNvbG9yLWRhcms6IHZhcigtLXByaW1hcnktY29sb3ItZGFyaykgIWRlZmF1bHQ7XG4kcHJpbWFyeS1jb2xvci13aGVuLWhvdmVyZWQtc29saWQ6IHZhcigtLXByaW1hcnktY29sb3ItcmFpc2VkLWhvdmVyLXNvbGlkKSAhZGVmYXVsdDtcbiRwcmltYXJ5LWNvbG9yLXdoZW4tZm9jdXNlZC1zb2xpZDogdmFyKC0tcHJpbWFyeS1jb2xvci1yYWlzZWQtZm9jdXMtc29saWQpICFkZWZhdWx0O1xuJHByaW1hcnktY29sb3ItZm9udC1lbXBoYXNpemUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHByaW1hcnktY29sb3ItZm9udC1tZWRpdW0tY29sb3I6IHZhcigtLXByaW1hcnktY29sb3ItZm9udC1tZWRpdW0tY29sb3IpICFkZWZhdWx0O1xuJHByaW1hcnktY29sb3ItZm9udC1kaXNhYmxlZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvci1mb250LWRpc2FibGVkLWNvbG9yKSAhZGVmYXVsdDtcbiRwcmltYXJ5LWNvbG9yLWhvdmVyLW9wYXF1ZTogdmFyKC0tcHJpbWFyeS1jb2xvci1ob3Zlci1vcGFxdWUpICFkZWZhdWx0O1xuJHByaW1hcnktY29sb3ItZm9jdXMtb3BhcXVlOiB2YXIoLS1wcmltYXJ5LWNvbG9yLWZvY3VzLW9wYXF1ZSkgIWRlZmF1bHQ7XG5cbiRmb250LWNvbG9yLW1haW46IHZhcigtLWZvbnQtY29sb3ItbWFpbikgIWRlZmF1bHQ7XG4kZm9udC1jb2xvci1tZWRpdW06IHZhcigtLWZvbnQtY29sb3ItbWVkaXVtKSAhZGVmYXVsdDtcbiRmb250LWNvbG9yLWRpc2FibGVkOiB2YXIoLS1mb250LWNvbG9yLWRpc2FibGVkKSAhZGVmYXVsdDtcblxuJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluOiB2YXIoLS1mb250LW9uLXByaW1hcnktY29sb3ItbWFpbikgIWRlZmF1bHQ7XG4kZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1lZGl1bTogdmFyKC0tZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1lZGl1bSkgIWRlZmF1bHQ7XG4kZm9udC1vbi1wcmltYXJ5LWNvbG9yLWRpc2FibGVkOiB2YXIoLS1mb250LW9uLXByaW1hcnktY29sb3ItZGlzYWJsZWQpICFkZWZhdWx0O1xuJGZvbnQtb24tc2Vjb25kYXJ5LWNvbG9yLW1haW46IHZhcigtLWZvbnQtb24tc2Vjb25kYXJ5LWNvbG9yLW1haW4pICFkZWZhdWx0O1xuXG4kc2Vjb25kYXJ5LWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvci13aGVuLWhvdmVyZWQtc29saWQ6IHZhcigtLXNlY29uZGFyeS1jb2xvci1ob3Zlci1zb2xpZCkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yLXdoZW4tZm9jdXNlZC1zb2xpZDogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yLWZvY3VzLXNvbGlkKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktY29udGFpbmVyLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29udGFpbmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb250LW9uLXNlY29uZGFyeS1jb250YWluZXItY29sb3I6IHZhcigtLWZvbnQtb24tc2Vjb25kYXJ5LWNvbnRhaW5lci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRzdWNjZXNzLWNvbG9yOiBjb2xvcihcImdyZWVuXCIsIFwiYmFzZVwiKSAhZGVmYXVsdDtcbiRlcnJvci1jb2xvcjogdmFyKC0tZXJyb3ItY29sb3IpICFkZWZhdWx0O1xuJGxpbmstY29sb3I6IGNvbG9yKFwibGlnaHQtYmx1ZVwiLCBcImRhcmtlbi0xXCIpICFkZWZhdWx0O1xuXG4kc3VyZmFjZS1jb2xvcjogdmFyKC0tc3VyZmFjZS1jb2xvcikgIWRlZmF1bHQ7XG4kc3VyZmFjZS1ob3Zlci1jb2xvci1vcGFxdWU6IHZhcigtLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRzdXJmYWNlLWZvY3VzLWNvbG9yLW9wYXF1ZTogdmFyKC0tZm9jdXMtY29sb3IpICFkZWZhdWx0O1xuXG4kZGl2aWRlci1jb2xvcjogdmFyKC0tc2VwYXJhdG9yLWNvbG9yKTtcblxuLy8gMi4gQmFkZ2VzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFkZ2UtYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGJhZGdlLWhlaWdodDogMjJweCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogdmFyKC0tZm9udC1jb2xvci1tZWRpdW0pICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yLWFjdGl2ZTogdmFyKC0tZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1haW4pICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yLW5ldzogJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluICFkZWZhdWx0O1xuXG4vLyAzLiBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBSYWlzZWQgYnV0dG9uc1xuJGJ1dHRvbi1yYWlzZWQtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXJhaXNlZC1iYWNrZ3JvdW5kLWhvdmVyOiAkcHJpbWFyeS1jb2xvci13aGVuLWhvdmVyZWQtc29saWQgIWRlZmF1bHQ7XG4kYnV0dG9uLXJhaXNlZC1iYWNrZ3JvdW5kLWZvY3VzOiAkcHJpbWFyeS1jb2xvci13aGVuLWZvY3VzZWQtc29saWQgIWRlZmF1bHQ7XG4kYnV0dG9uLXJhaXNlZC1jb2xvcjogJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluICFkZWZhdWx0O1xuXG4vLyBTaGFyZWQgc3R5bGVzXG4kYnV0dG9uLWJvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRidXR0b24tYmFja2dyb3VuZC1mb2N1czogJGJ1dHRvbi1yYWlzZWQtYmFja2dyb3VuZC1mb2N1cyAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1zaXplOiAxNHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1pY29uLWZvbnQtc2l6ZTogMThweCAhZGVmYXVsdDtcbiRidXR0b24taGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwIDE2cHggIWRlZmF1bHQ7XG4kYnV0dG9uLXJhZGl1czogNHB4ICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlZCBzdHlsZXNcbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1jb2xvci1kaXNhYmxlZCkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiB2YXIoLS1mb250LWNvbG9yLWRpc2FibGVkKSAhZGVmYXVsdDtcblxuLy8gTGFyZ2UgYnV0dG9uc1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6IDE4cHggIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWljb24tZm9udC1zaXplOiAxLjZyZW0gIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWhlaWdodDogJGJ1dHRvbi1oZWlnaHQgKiAxLjUgIWRlZmF1bHQ7XG4kYnV0dG9uLWZsb2F0aW5nLWxhcmdlLXNpemU6IDU2cHggIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIGJ1dHRvbnNcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAxM3B4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1pY29uLWZvbnQtc2l6ZTogMS4ycmVtICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1oZWlnaHQ6ICRidXR0b24taGVpZ2h0ICogLjc1ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nOiAwIDhweCAhZGVmYXVsdDtcbiRidXR0b24tZmxvYXRpbmctc21hbGwtc2l6ZTogJGJ1dHRvbi1oZWlnaHQgKiAuNzUgIWRlZmF1bHQ7XG5cbi8vIEZsYXQgYnV0dG9uc1xuJGJ1dHRvbi1mbGF0LWNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW1lZGl1bSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWZsYXQtaG92ZXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXItY29sb3IpICFkZWZhdWx0O1xuJGJ1dHRvbi1mbGF0LWZvY3VzLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvY3VzLWNvbG9yKSAhZGVmYXVsdDtcbiRidXR0b24tZmxhdC1kaXNhYmxlZC1jb2xvcjogdmFyKC0tZm9udC1jb2xvci1kaXNhYmxlZCkgIWRlZmF1bHQ7XG5cbi8vIEZsb2F0aW5nIGJ1dHRvbnNcbiRidXR0b24tZmxvYXRpbmctYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZmxvYXRpbmctYmFja2dyb3VuZC1ob3ZlcjogJHNlY29uZGFyeS1jb2xvci13aGVuLWhvdmVyZWQtc29saWQgIWRlZmF1bHQ7XG4kYnV0dG9uLWZsb2F0aW5nLWJhY2tncm91bmQtZm9jdXM6ICRzZWNvbmRhcnktY29sb3Itd2hlbi1mb2N1c2VkLXNvbGlkICFkZWZhdWx0O1xuJGJ1dHRvbi1mbG9hdGluZy1jb2xvcjogJGZvbnQtb24tc2Vjb25kYXJ5LWNvbG9yLW1haW4gIWRlZmF1bHQ7XG4kYnV0dG9uLWZsb2F0aW5nLXNpemU6IDQwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLWZsb2F0aW5nLXJhZGl1czogMTZweCAhZGVmYXVsdDtcblxuXG4vLyA0LiBDYXJkc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNhcmQtcGFkZGluZzogMjRweCAhZGVmYXVsdDtcbiRjYXJkLWJnLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yLWNhcmQpICFkZWZhdWx0O1xuJGNhcmQtbGluay1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gNS4gQ2Fyb3VzZWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjYXJvdXNlbC1oZWlnaHQ6IDQwMHB4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWl0ZW0taGVpZ2h0OiAkY2Fyb3VzZWwtaGVpZ2h0ICogMC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWl0ZW0td2lkdGg6ICRjYXJvdXNlbC1pdGVtLWhlaWdodCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci1jb2xvcjogdmFyKC0tY2Fyb3VzZWwtaW5kaWNhdG9yLWNvbG9yKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItY29sb3ItYWN0aXZlOiB2YXIoLS1jYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yKSAhZGVmYXVsdDtcblxuLy8gNi4gQ29sbGFwc2libGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb2xsYXBzaWJsZS1oZWlnaHQ6IDNyZW0gIWRlZmF1bHQ7XG4kY29sbGFwc2libGUtbGluZS1oZWlnaHQ6ICRjb2xsYXBzaWJsZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY29sbGFwc2libGUtYm9yZGVyLWNvbG9yOiAkZGl2aWRlci1jb2xvciAhZGVmYXVsdDtcbiRjb2xsYXBzaWJsZS1iZy1jb2xvcjogJHN1cmZhY2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gNy4gRGF0ZSArIFRpbWUgUGlja2VyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZGF0ZXBpY2tlci1kaXNwbGF5LWZvbnQtc2l6ZTogMi44cmVtO1xuJGRhdGVwaWNrZXItY2FsZW5kYXItaGVhZGVyLWNvbG9yOiAkZm9udC1jb2xvci1tZWRpdW07XG4kZGF0ZXBpY2tlci15ZWFyOiAkZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1haW4gIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlci1kYXktZm9jdXM6ICRwcmltYXJ5LWNvbG9yLWZvY3VzLW9wYXF1ZSAhZGVmYXVsdDtcbiRkYXRlcGlja2VyLWRheS1ob3ZlcjogJHByaW1hcnktY29sb3ItaG92ZXItb3BhcXVlICFkZWZhdWx0O1xuJGRhdGVwaWNrZXItZGF5LWZvbnQtY29sb3I6ICRmb250LWNvbG9yLW1haW4gIWRlZmF1bHQ7XG4kZGF0ZXBpY2tlci1kYXktZm9udC1jb2xvci1kaXNhYmxlZDogJGZvbnQtY29sb3ItZGlzYWJsZWQgIWRlZmF1bHQ7XG5cbiR0aW1lcGlja2VyLWNsb2NrLWJnOiAkc3VyZmFjZS1jb2xvciAhZGVmYXVsdDtcbiR0aW1lcGlja2VyLWNsb2NrLWNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW1haW4pICFkZWZhdWx0O1xuJHRpbWVwaWNrZXItY2xvY2stcGxhdGUtYmc6IHZhcigtLWJhY2tncm91bmQtY29sb3ItbGV2ZWwtNGRwKSAhZGVmYXVsdDtcblxuXG4vLyA4LiBEcm9wZG93blxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRyb3Bkb3duLWJnLWNvbG9yOiAkc3VyZmFjZS1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1ob3Zlci1iZy1jb2xvcjogJHN1cmZhY2UtaG92ZXItY29sb3Itb3BhcXVlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvY3VzLWJnLWNvbG9yOiAkc3VyZmFjZS1mb2N1cy1jb2xvci1vcGFxdWUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0taGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xuXG5cbi8vIDkuIEZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBUZXh0IElucHV0cyArIFRleHRhcmVhXG4kaW5wdXQtaGVpZ2h0OiAzcmVtICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogdmFyKC0tZm9udC1jb2xvci1tZWRpdW0pICFkZWZhdWx0O1xuJGlucHV0LWNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW1haW4pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlcjogMnB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItY29sb3I6ICRlcnJvci1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1zdWNjZXNzLWNvbG9yOiAkc3VjY2Vzcy1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGlucHV0LW1hcmdpbi1ib3R0b206IDhweDtcbiRpbnB1dC1tYXJnaW46IDAgMCAkaW5wdXQtbWFyZ2luLWJvdHRvbSAwICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAuOHJlbSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogdmFyKC0tZm9udC1jb2xvci1kaXNhYmxlZCkgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtc29saWQtY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGlzYWJsZWQpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJvcmRlcjogMnB4IHNvbGlkICRpbnB1dC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1pbnZhbGlkLWJvcmRlcjogMnB4IHNvbGlkICRpbnB1dC1lcnJvci1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1pY29uLXNpemU6IDJyZW07XG4kcGxhY2Vob2xkZXItdGV4dC1jb2xvcjogdmFyKC0tZm9udC1jb2xvci1tZWRpdW0pICFkZWZhdWx0O1xuXG4kdGV4dGZpZWxkX2Rpc2FibGVkX2NvbnRhaW5lcmNvbG9yOiByZ2JhKHZhcigtLW1kX3N5c19jb2xvcl9vbi1zdXJmYWNlKSwgMC4wNCk7XG4kdGV4dGZpZWxkX2Rpc2FibGVkX291dGxpbmVjb2xvcjogcmdiYSh2YXIoLS1tZF9zeXNfY29sb3Jfb24tc3VyZmFjZSksIDAuMTIpO1xuJHRleHRmaWVsZF9kaXNhYmxlZF9jb2xvcjogcmdiYSh2YXIoLS1tZF9zeXNfY29sb3Jfb24tc3VyZmFjZSksIDAuMzgpO1xuXG4vLyBSYWRpbyBCdXR0b25zXG4kcmFkaW8tZmlsbC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcmFkaW8tZm9jdXMtY29sb3I6ICRwcmltYXJ5LWNvbG9yLWZvY3VzLW9wYXF1ZSAhZGVmYXVsdDtcbiRyYWRpby1lbXB0eS1jb2xvcjogdmFyKC0tZm9udC1jb2xvci1tZWRpdW0pICFkZWZhdWx0O1xuJHJhZGlvLWJvcmRlcjogMnB4IHNvbGlkICRyYWRpby1maWxsLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBSYW5nZVxuJHJhbmdlLWhlaWdodDogMTRweCAhZGVmYXVsdDtcbiRyYW5nZS13aWR0aDogMTRweCAhZGVmYXVsdDtcbiR0cmFjay1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcbiRyYW5nZS10cmFjay1jb2xvcjogdmFyKC0tc2xpZGVyLXRyYWNrLWNvbG9yKSAhZGVmYXVsdDtcblxuLy8gU2VsZWN0XG4kc2VsZWN0LWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNlcGFyYXRvci1jb2xvcikgIWRlZmF1bHQ7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICRzdXJmYWNlLWNvbG9yICFkZWZhdWx0O1xuJHNlbGVjdC1mb2N1czogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yLXdoZW4tZm9jdXNlZC1zb2xpZCAhZGVmYXVsdDtcbiRzZWxlY3Qtb3B0aW9uLWhvdmVyOiAkc3VyZmFjZS1ob3Zlci1jb2xvci1vcGFxdWUgIWRlZmF1bHQ7XG4kc2VsZWN0LW9wdGlvbi1mb2N1czogJHN1cmZhY2UtZm9jdXMtY29sb3Itb3BhcXVlICFkZWZhdWx0O1xuJHNlbGVjdC1vcHRpb24tc2VsZWN0ZWQ6ICRzdXJmYWNlLWZvY3VzLWNvbG9yLW9wYXF1ZSAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJHNlbGVjdC1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiRzZWxlY3QtZGlzYWJsZWQtY29sb3I6IHZhcigtLWZvbnQtY29sb3ItZGlzYWJsZWQpICFkZWZhdWx0O1xuJHNlbGVjdC1pbnB1dC1jb2xvcjogdmFyKC0tZm9udC1jb2xvci1tYWluKSAhZGVmYXVsdDtcblxuLy8gU3dpdGNoZXNcbiRzd2l0Y2gtdGh1bWItY2hlY2tlZC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kc3dpdGNoLXRodW1iLXVuY2hlY2tlZC1jb2xvcjogdmFyKC0tc3dpdGNoLXRodW1iLW9mZi1jb2xvcik7XG4kc3dpdGNoLXJlYWN0aW9uLWNoZWNrZWQtZm9jdXMtY29sb3I6ICRwcmltYXJ5LWNvbG9yLWZvY3VzLW9wYXF1ZSAhZGVmYXVsdDtcbiRzd2l0Y2gtcmVhY3Rpb24tdW5jaGVja2VkLWZvY3VzLWNvbG9yOiAkc3VyZmFjZS1mb2N1cy1jb2xvci1vcGFxdWUgIWRlZmF1bHQ7XG4kc3dpdGNoLXJlYWN0aW9uLWNoZWNrZWQtaG92ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yLWhvdmVyLW9wYXF1ZSAhZGVmYXVsdDtcbiRzd2l0Y2gtcmVhY3Rpb24tdW5jaGVja2VkLWhvdmVyLWNvbG9yOiAkc3VyZmFjZS1ob3Zlci1jb2xvci1vcGFxdWUgIWRlZmF1bHQ7XG4kc3dpdGNoLXRyYWNrLWNoZWNrZWQtYmc6IHJnYmEodmFyKC0tcHJpbWFyeS1jb2xvci1udW1lcmljKSwgMC4zMikgIWRlZmF1bHQ7XG4kc3dpdGNoLXRyYWNrLXVuY2hlY2tlZC1iZzogdmFyKC0tc2xpZGVyLXRyYWNrLWNvbG9yKSAhZGVmYXVsdDtcbiRzd2l0Y2gtcmFkaXVzOiAxNXB4ICFkZWZhdWx0O1xuXG4vLyAxMC4gQ2hpcHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjaGlwLWJnLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yLWxldmVsLTRkcCkgIWRlZmF1bHQ7XG4kY2hpcC1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY2hpcC1mb250LWNvbG9yOiAkZm9udC1jb2xvci1tZWRpdW0gIWRlZmF1bHQ7XG4kY2hpcC1zZWxlY3RlZC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2hpcC1zZWxlY3RlZC1mb250LWNvbG9yOiAkZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1haW4gIWRlZmF1bHQ7XG4kY2hpcC1tYXJnaW46IDVweCAhZGVmYXVsdDtcblxuXG4vLyAxMS4gR2xvYmFsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBNZWRpYSBRdWVyeSBSYW5nZXNcbiRzbWFsbC1zY3JlZW4tdXA6IDYwMXB4ICFkZWZhdWx0O1xuJG1lZGl1bS1zY3JlZW4tdXA6IDk5M3B4ICFkZWZhdWx0O1xuJGxhcmdlLXNjcmVlbi11cDogMTIwMXB4ICFkZWZhdWx0O1xuJHNtYWxsLXNjcmVlbjogNjAwLjk5cHggIWRlZmF1bHQ7XG4kbWVkaXVtLXNjcmVlbjogOTkyLjk5cHggIWRlZmF1bHQ7XG4kbGFyZ2Utc2NyZWVuOiAxMjAwLjk5cHggIWRlZmF1bHQ7XG5cbiRtZWRpdW0tYW5kLXVwOiBcIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogI3skc21hbGwtc2NyZWVuLXVwfSlcIiAhZGVmYXVsdDtcbiRsYXJnZS1hbmQtdXA6IFwib25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAjeyRtZWRpdW0tc2NyZWVuLXVwfSlcIiAhZGVmYXVsdDtcbiRleHRyYS1sYXJnZS1hbmQtdXA6IFwib25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAjeyRsYXJnZS1zY3JlZW4tdXB9KVwiICFkZWZhdWx0O1xuJHNtYWxsLWFuZC1kb3duOiBcIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogI3skc21hbGwtc2NyZWVufSlcIiAhZGVmYXVsdDtcbiRtZWRpdW0tYW5kLWRvd246IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiAjeyRtZWRpdW0tc2NyZWVufSlcIiAhZGVmYXVsdDtcbiRtZWRpdW0tb25seTogXCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6ICN7JHNtYWxsLXNjcmVlbi11cH0pIGFuZCAobWF4LXdpZHRoIDogI3skbWVkaXVtLXNjcmVlbn0pXCIgIWRlZmF1bHQ7XG5cblxuLy8gMTIuIEdyaWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRudW0tY29sczogMTIgIWRlZmF1bHQ7XG4kZ3V0dGVyLXdpZHRoOiAxLjVyZW0gIWRlZmF1bHQ7XG4kZWxlbWVudC10b3AtbWFyZ2luOiBtYXRoLmRpdigkZ3V0dGVyLXdpZHRoLCAzKSAhZGVmYXVsdDtcbiRlbGVtZW50LWJvdHRvbS1tYXJnaW46IG1hdGguZGl2KCRndXR0ZXItd2lkdGgqMiwgMykgIWRlZmF1bHQ7XG5cblxuLy8gMTMuIE5hdmlnYXRpb24gQmFyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2YmFyLWhlaWdodDogNjRweCAhZGVmYXVsdDtcbiRuYXZiYXItbGluZS1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJG5hdmJhci1oZWlnaHQtbW9iaWxlOiA1NnB4ICFkZWZhdWx0O1xuJG5hdmJhci1saW5lLWhlaWdodC1tb2JpbGU6ICRuYXZiYXItaGVpZ2h0LW1vYmlsZSAhZGVmYXVsdDtcbiRuYXZiYXItZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJG5hdmJhci1mb250LWNvbG9yOiAkZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1haW4gIWRlZmF1bHQ7XG4kbmF2YmFyLWJnLWNvbG9yLWZvY3VzOiAkcHJpbWFyeS1jb2xvci13aGVuLWZvY3VzZWQtc29saWQgIWRlZmF1bHQ7XG4kbmF2YmFyLWJnLWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvci13aGVuLWhvdmVyZWQtc29saWQgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogMi4xcmVtICFkZWZhdWx0O1xuXG4vLyAxNC4gU2lkZSBOYXZpZ2F0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2lkZW5hdi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kc2lkZW5hdi1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XG4kc2lkZW5hdi1mb250LWNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW1haW4pICFkZWZhdWx0O1xuJHNpZGVuYXYtYmctY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3ItbGV2ZWwtMTZkcC1zb2xpZCkgIWRlZmF1bHQ7XG4kc2lkZW5hdi1pY29uLWNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW1lZGl1bSkgIWRlZmF1bHQ7XG4kc2lkZW5hdi1zdWJoZWFkZXItY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbWVkaXVtKSAhZGVmYXVsdDtcbiRzaWRlbmF2LXBhZGRpbmc6IDE2cHggIWRlZmF1bHQ7XG4kc2lkZW5hdi1pdGVtLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbiRzaWRlbmF2LWxpbmUtaGVpZ2h0OiAkc2lkZW5hdi1pdGVtLWhlaWdodCAhZGVmYXVsdDtcblxuXG4vLyAxNS4gUGhvdG8gU2xpZGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2xpZGVyLWJnLWNvbG9yOiAkc3VyZmFjZS1jb2xvciAhZGVmYXVsdDtcbiRzbGlkZXItaW5kaWNhdG9yLWNvbG9yOiB2YXIoLS1zbGlkZXItdHJhY2stY29sb3IpICFkZWZhdWx0O1xuJHNsaWRlci1pbmRpY2F0b3ItY29sb3ItYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRzbGlkZXItZnVsbHNjcmVlbi1pbmRpY2F0b3ItY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItY29sb3IgIWRlZmF1bHQ7XG4kc2xpZGVyLWZ1bGxzY3JlZW4taW5kaWNhdG9yLWNvbG9yLWFjdGl2ZTogJGNhcm91c2VsLWluZGljYXRvci1jb2xvci1hY3RpdmUgIWRlZmF1bHQ7XG5cblxuLy8gMTYuIFNwaW5uZXJzIHwgTG9hZGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNwaW5uZXItZGVmYXVsdC1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gMTcuIFRhYnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWJzLXRleHQtYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1mb250LWVtcGhhc2l6ZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJzLXRleHQtaW5hY3RpdmUtY29sb3I6ICRmb250LWNvbG9yLW1lZGl1bSAhZGVmYXVsdDtcbiR0YWJzLXRleHQtZGlzYWJsZWQtY29sb3I6ICRmb250LWNvbG9yLWRpc2FibGVkICFkZWZhdWx0O1xuJHRhYnMtdW5kZXJsaW5lLWNvbG9yOiAkdGFicy10ZXh0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJzLWJnLWNvbG9yOiAkc3VyZmFjZS1jb2xvciAhZGVmYXVsdDtcblxuLy8gMTguIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRhYmxlLWJvcmRlci1jb2xvcjogJGRpdmlkZXItY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvci1zbGlnaHQtZW1waGFzaXMpICFkZWZhdWx0O1xuXG5cbi8vIDE5LiBUb2FzdHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0b2FzdC1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kdG9hc3QtY29sb3I6IHZhcigtLXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcikgIWRlZmF1bHQ7XG4kdG9hc3QtdGV4dC1jb2xvcjogdmFyKC0tdG9vbHRpcC1mb250LWNvbG9yKSAhZGVmYXVsdDtcbiR0b2FzdC1hY3Rpb24tY29sb3I6ICNlZWZmNDE7XG5cblxuLy8gMjAuIFRvb2x0aXBzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdG9vbHRpcC1iZy1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWludmVyc2Utc3VyZmFjZSkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3ItaW52ZXJzZS1vbi1zdXJmYWNlKSAhZGVmYXVsdDtcblxuXG4vLyAyMS4gVHlwb2dyYXBoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvbnQtc3RhY2s6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbi1TYW5zLCBVYnVudHUsIENhbnRhcmVsbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJHRleHQtY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbWFpbikgIWRlZmF1bHQ7XG4vLyBIZWFkZXIgU3R5bGVzXG4kaDEtZm9udHNpemU6IDQuMnJlbSAhZGVmYXVsdDtcbiRoMi1mb250c2l6ZTogMy41NnJlbSAhZGVmYXVsdDtcbiRoMy1mb250c2l6ZTogMi45MnJlbSAhZGVmYXVsdDtcbiRoNC1mb250c2l6ZTogMi4yOHJlbSAhZGVmYXVsdDtcbiRoNS1mb250c2l6ZTogMS42NHJlbSAhZGVmYXVsdDtcbiRoNi1mb250c2l6ZTogMS4xNXJlbSAhZGVmYXVsdDtcblxuXG4vLyAyMi4gRm9vdGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9vdGVyLWZvbnQtY29sb3I6ICRmb250LW9uLXByaW1hcnktY29sb3ItbWFpbiAhZGVmYXVsdDtcbiRmb290ZXItYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGZvb3Rlci1jb3B5cmlnaHQtZm9udC1jb2xvcjogdmFyKC0tZm9udC1vbi1wcmltYXJ5LWNvbG9yLWRhcmstbWVkaXVtKSAhZGVmYXVsdDtcbiRmb290ZXItY29weXJpZ2h0LWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1kYXJrICFkZWZhdWx0O1xuXG5cbi8vIDIzLiBGbG93IFRleHRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRyYW5nZTogJGxhcmdlLXNjcmVlbiAtICRzbWFsbC1zY3JlZW4gIWRlZmF1bHQ7XG4kaW50ZXJ2YWxzOiAyMCAhZGVmYXVsdDtcbiRpbnRlcnZhbC1zaXplOiBtYXRoLmRpdigkcmFuZ2UsICRpbnRlcnZhbHMpICFkZWZhdWx0O1xuXG5cbi8vIDI0LiBDb2xsZWN0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG9yOiAkZGl2aWRlci1jb2xvciAhZGVmYXVsdDtcbiRjb2xsZWN0aW9uLWJnLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRjb2xsZWN0aW9uLWFjdGl2ZS1iZy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY29sbGVjdGlvbi1hY3RpdmUtY29sb3I6ICRmb250LW9uLXByaW1hcnktY29sb3ItbWFpbiAhZGVmYXVsdDtcbiRjb2xsZWN0aW9uLWhvdmVyLWJnLWNvbG9yOiAkc3VyZmFjZS1ob3Zlci1jb2xvci1vcGFxdWUgIWRlZmF1bHQ7XG4kY29sbGVjdGlvbi1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjb2xsZWN0aW9uLWxpbmUtaGVpZ2h0OiAxLjVyZW0gIWRlZmF1bHQ7XG4kY29sbGVjdGlvbi1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kY29sbGVjdGlvbi1hdmF0YXItY2lyY2xlLWJnLWNvbG9yOiB2YXIoLS1zbGlkZXItdHJhY2stY29sb3IpICFkZWZhdWx0O1xuJGNvbGxlY3Rpb24tYXZhdGFyLWNpcmNsZS1pY29uLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuXG5cbi8vIDI1LiBQcm9ncmVzcyBCYXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwcm9ncmVzcy1iYXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci10cmFjay1jb2xvcjogcmdiYSh2YXIoLS1wcmltYXJ5LWNvbG9yLW51bWVyaWMpLCA0MCUpICFkZWZhdWx0O1xuXG4vLyAyNi4gTW9kYWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kbW9kYWwtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvci1sZXZlbC0xNmRwLXNvbGlkKSAhZGVmYXVsdDtcbiIsIi8vIENvbGxlY3Rpb25zXG4uY29sbGVjdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46ICRlbGVtZW50LXRvcC1tYXJnaW4gMCAkZWxlbWVudC1ib3R0b20tbWFyZ2luIDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xsZWN0aW9uLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogJGNvbGxlY3Rpb24tYm9yZGVyLXJhZGl1cztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5jb2xsZWN0aW9uLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xsZWN0aW9uLWJnLWNvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAkY29sbGVjdGlvbi1saW5lLWhlaWdodDtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sbGVjdGlvbi1ib3JkZXItY29sb3I7XG5cbiAgICAvLyBBdmF0YXIgQ29sbGVjdGlvblxuICAgICYuYXZhdGFyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDg0cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDcycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vIERvbid0IHN0eWxlIGNpcmNsZXMgaW5zaWRlIHByZWxvYWRlciBjbGFzc2VzLlxuICAgICAgJjpub3QoLmNpcmNsZS1jbGlwcGVyKSA+IC5jaXJjbGUsXG4gICAgICA6bm90KC5jaXJjbGUtY2xpcHBlcikgPiAuY2lyY2xlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgIGkuY2lyY2xlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgY29sb3I6ICRjb2xsZWN0aW9uLWF2YXRhci1jaXJjbGUtaWNvbi1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbGxlY3Rpb24tYXZhdGFyLWNpcmNsZS1iZy1jb2xvcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgLnNlY29uZGFyeS1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgfVxuXG4gICAgfVxuXG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sbGVjdGlvbi1hY3RpdmUtYmctY29sb3I7XG4gICAgICBjb2xvcjogJGNvbGxlY3Rpb24tYWN0aXZlLWNvbG9yO1xuXG4gICAgICAuc2Vjb25kYXJ5LWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEuY29sbGVjdGlvbi1pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiAuMjVzO1xuICAgIGNvbG9yOiAkY29sbGVjdGlvbi1saW5rLWNvbG9yO1xuXG4gICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xsZWN0aW9uLWhvdmVyLWJnLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYud2l0aC1oZWFkZXIge1xuICAgIC5jb2xsZWN0aW9uLWhlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sbGVjdGlvbi1iZy1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sbGVjdGlvbi1ib3JkZXItY29sb3I7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgfVxuXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLmNvbGxlY3Rpb24taXRlbS5hdmF0YXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiA3MnB4O1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIE1hZGUgbGVzcyBzcGVjaWZpYyB0byBhbGxvdyBlYXNpZXIgb3ZlcnJpZGluZ1xuLnNlY29uZGFyeS1jb250ZW50IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG59XG5cbi5jb2xsYXBzaWJsZSAuY29sbGVjdGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xufSIsIi8vIEJhZGdlc1xuc3Bhbi5iYWRnZSB7XG4gIG1pbi13aWR0aDogM3JlbTtcbiAgcGFkZGluZzogMCA2cHg7XG4gIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6ICRiYWRnZS1oZWlnaHQ7XG4gIGhlaWdodDogJGJhZGdlLWhlaWdodDtcbiAgY29sb3I6ICRiYWRnZS1jb2xvcjtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICYubmV3IHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3ItbmV3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS1iZy1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gIH1cbiAgJi5uZXc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIG5ld1wiO1xuICB9XG5cbiAgJltkYXRhLWJhZGdlLWNhcHRpb25dOjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCIgYXR0cihkYXRhLWJhZGdlLWNhcHRpb24pO1xuICB9XG59XG5cbi5hY3RpdmUgc3Bhbi5iYWRnZSB7XG4gIGNvbG9yOiAkYmFkZ2UtY29sb3ItYWN0aXZlO1xufVxuXG4vLyBTcGVjaWFsIGNhc2VzXG5uYXYgdWwgYSBzcGFuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgbGluZS1oZWlnaHQ6ICRiYWRnZS1oZWlnaHQ7XG4gIGhlaWdodDogJGJhZGdlLWhlaWdodDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcbn1cblxuLy8gTGluZSBoZWlnaHQgY2VudGVyaW5nXG4uY29sbGVjdGlvbi1pdGVtIHNwYW4uYmFkZ2Uge1xuICBtYXJnaW4tdG9wOiBjYWxjKCN7JGNvbGxlY3Rpb24tbGluZS1oZWlnaHQgKiAwLjV9IC0gI3skYmFkZ2UtaGVpZ2h0ICogMC41fSk7XG59XG5cbi5jb2xsYXBzaWJsZSBzcGFuLmJhZGdlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jb2xsYXBzaWJsZSAuYWN0aXZlIHNwYW4uYmFkZ2U6bm90KC5uZXcpIHtcbiAgY29sb3I6ICRiYWRnZS1jb2xvcjtcbn1cblxuLnNpZGVuYXYgc3Bhbi5iYWRnZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoI3skc2lkZW5hdi1saW5lLWhlaWdodCAqIDAuNX0gLSAjeyRiYWRnZS1oZWlnaHQgKiAwLjV9KTtcbn1cblxudGFibGUgc3Bhbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuIiwiLyogVGhpcyBpcyBuZWVkZWQgZm9yIHNvbWUgbW9iaWxlIHBob25lcyB0byBkaXNwbGF5IHRoZSBHb29nbGUgSWNvbiBmb250IHByb3Blcmx5ICovXG4ubWF0ZXJpYWwtaWNvbnMsIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuLm1hdGVyaWFsLXN5bWJvbHMtcm91bmRlZCwgLm1hdGVyaWFsLXN5bWJvbHMtc2hhcnAge1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gQ29udGFpbmVyXG4uY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogOTAlO1xufVxuQG1lZGlhICN7JG1lZGl1bS1hbmQtdXB9IHtcbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDg1JTtcbiAgfVxufVxuQG1lZGlhICN7JGxhcmdlLWFuZC11cH0ge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogNzAlO1xuICB9XG59XG5cbi5zZWN0aW9uIHtcbiAgcGFkZGluZzogMXJlbSAwO1xufVxuXG4vLyBNaXhpbnMgdG8gZWxpbWluYXRlIGNvZGUgcmVwZXRpdGlvblxuQG1peGluIHJlc2V0LW9mZnNldCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbn1cblxuQG1peGluIGdyaWQtY2xhc3Nlcygkc2l6ZSwgJGksICRwZXJjKSB7XG4gICYub2Zmc2V0LSN7JHNpemV9I3skaX0ge1xuICAgIG1hcmdpbi1sZWZ0OiAkcGVyYztcbiAgfVxuICAmLnB1bGwtI3skc2l6ZX0jeyRpfSB7XG4gICAgcmlnaHQ6ICRwZXJjO1xuICB9XG4gICYucHVzaC0jeyRzaXplfSN7JGl9IHtcbiAgICBsZWZ0OiAkcGVyYztcbiAgfVxufVxuXG4ucm93IHtcbiAgLy8tLWdyaWQtZ2FwOiAxcmVtO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTsgLy9yZXBlYXQoMTIsIGNhbGMoOC4zMyUgLSB2YXIoLS1ncmlkLWdhcCkgKyAodmFyKC0tZ3JpZC1nYXApIC8gMTIpKSk7XG4gIC8vZ2FwOiB2YXIoLS1ncmlkLWdhcCk7XG5cbiAgLy8tLS0gU1xuXG4gIC5zMSAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMTsgfVxuICAuczIgIHsgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDI7IH1cbiAgLnMzICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAzOyB9XG4gIC5zNCAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNDsgfVxuICAuczUgIHsgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDU7IH1cbiAgLnM2ICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA2OyB9XG4gIC5zNyAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNzsgfVxuICAuczggIHsgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDg7IH1cbiAgLnM5ICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA5OyB9XG4gIC5zMTAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMTA7IH1cbiAgLnMxMSB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAxMTsgfVxuICAuczEyIHsgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDEyOyB9XG5cbiAgLm9mZnNldC1zMSB7IGdyaWQtY29sdW1uLXN0YXJ0OiAgMzsgfVxuICAub2Zmc2V0LXMyIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICAyOyB9XG4gIC5vZmZzZXQtczMgeyBncmlkLWNvbHVtbi1zdGFydDogIDQ7IH1cbiAgLm9mZnNldC1zNCB7IGdyaWQtY29sdW1uLXN0YXJ0OiAgNTsgfVxuICAub2Zmc2V0LXM1IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICA2OyB9XG4gIC5vZmZzZXQtczYgeyBncmlkLWNvbHVtbi1zdGFydDogIDc7IH1cbiAgLm9mZnNldC1zNyB7IGdyaWQtY29sdW1uLXN0YXJ0OiAgODsgfVxuICAub2Zmc2V0LXM4IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICA5OyB9XG4gIC5vZmZzZXQtczkgeyBncmlkLWNvbHVtbi1zdGFydDogMTA7IH1cbiAgLm9mZnNldC1zMTAgeyBncmlkLWNvbHVtbi1zdGFydDogMTE7IH1cbiAgLm9mZnNldC1zMTEgeyBncmlkLWNvbHVtbi1zdGFydDogMTI7IH1cblxuICAvLy0tLSBNXG4gIEBtZWRpYSAjeyRtZWRpdW0tYW5kLXVwfSB7XG4gICAgLm0xICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAxOyB9XG4gICAgLm0yICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAyOyB9XG4gICAgLm0zICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAzOyB9XG4gICAgLm00ICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA0OyB9XG4gICAgLm01ICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA1OyB9XG4gICAgLm02ICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA2OyB9XG4gICAgLm03ICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA3OyB9XG4gICAgLm04ICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA4OyB9XG4gICAgLm05ICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA5OyB9XG4gICAgLm0xMCB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAxMDsgfVxuICAgIC5tMTEgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMTE7IH1cbiAgICAubTEyIHsgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDEyOyB9XG4gIFxuICAgIC5vZmZzZXQtbTEgeyBncmlkLWNvbHVtbi1zdGFydDogIDI7IH1cbiAgICAub2Zmc2V0LW0yIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICAzOyB9XG4gICAgLm9mZnNldC1tMyB7IGdyaWQtY29sdW1uLXN0YXJ0OiAgNDsgfVxuICAgIC5vZmZzZXQtbTQgeyBncmlkLWNvbHVtbi1zdGFydDogIDU7IH1cbiAgICAub2Zmc2V0LW01IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICA2OyB9XG4gICAgLm9mZnNldC1tNiB7IGdyaWQtY29sdW1uLXN0YXJ0OiAgNzsgfVxuICAgIC5vZmZzZXQtbTcgeyBncmlkLWNvbHVtbi1zdGFydDogIDg7IH1cbiAgICAub2Zmc2V0LW04IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICA5OyB9XG4gICAgLm9mZnNldC1tOSB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxMDsgfVxuICAgIC5vZmZzZXQtbTEwIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDExOyB9XG4gICAgLm9mZnNldC1tMTEgeyBncmlkLWNvbHVtbi1zdGFydDogMTI7IH1cbiAgfVxuXG4gIC8vLS0tIExcbiAgQG1lZGlhICN7JGxhcmdlLWFuZC11cH0ge1xuICAgIC5sMSAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMTsgfVxuICAgIC5sMiAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMjsgfVxuICAgIC5sMyAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMzsgfVxuICAgIC5sNCAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNDsgfVxuICAgIC5sNSAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNTsgfVxuICAgIC5sNiAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNjsgfVxuICAgIC5sNyAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNzsgfVxuICAgIC5sOCAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gODsgfVxuICAgIC5sOSAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gOTsgfVxuICAgIC5sMTAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMTA7IH1cbiAgICAubDExIHsgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDExOyB9XG4gICAgLmwxMiB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAxMjsgfVxuICBcbiAgICAub2Zmc2V0LWwxICB7IGdyaWQtY29sdW1uLXN0YXJ0OiAgMjsgfVxuICAgIC5vZmZzZXQtbDIgIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICAzOyB9XG4gICAgLm9mZnNldC1sMyAgeyBncmlkLWNvbHVtbi1zdGFydDogIDQ7IH1cbiAgICAub2Zmc2V0LWw0ICB7IGdyaWQtY29sdW1uLXN0YXJ0OiAgNTsgfVxuICAgIC5vZmZzZXQtbDUgIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICA2OyB9XG4gICAgLm9mZnNldC1sNiAgeyBncmlkLWNvbHVtbi1zdGFydDogIDc7IH1cbiAgICAub2Zmc2V0LWw3ICB7IGdyaWQtY29sdW1uLXN0YXJ0OiAgODsgfVxuICAgIC5vZmZzZXQtbDggIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICA5OyB9XG4gICAgLm9mZnNldC1sOSAgeyBncmlkLWNvbHVtbi1zdGFydDogMTA7IH1cbiAgICAub2Zmc2V0LWwxMCB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxMTsgfVxuICAgIC5vZmZzZXQtbDExIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDEyOyB9XG4gIH1cblxuICAvLy0tLSBYTFxuICBAbWVkaWEgI3skZXh0cmEtbGFyZ2UtYW5kLXVwfSB7XG4gICAgLnhsMSAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMTsgfVxuICAgIC54bDIgIHsgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDI7IH1cbiAgICAueGwzICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAzOyB9XG4gICAgLnhsNCAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNDsgfVxuICAgIC54bDUgIHsgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDU7IH1cbiAgICAueGw2ICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA2OyB9XG4gICAgLnhsNyAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNzsgfVxuICAgIC54bDggIHsgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDg7IH1cbiAgICAueGw5ICB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA5OyB9XG4gICAgLnhsMTAgeyBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMTA7IH1cbiAgICAueGwxMSB7IGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAxMTsgfVxuICAgIC54bDEyIHsgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDEyOyB9XG4gIFxuICAgIC5vZmZzZXQteGwxIHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICAyOyB9XG4gICAgLm9mZnNldC14bDIgeyBncmlkLWNvbHVtbi1zdGFydDogIDM7IH1cbiAgICAub2Zmc2V0LXhsMyB7IGdyaWQtY29sdW1uLXN0YXJ0OiAgNDsgfVxuICAgIC5vZmZzZXQteGw0IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICA1OyB9XG4gICAgLm9mZnNldC14bDUgeyBncmlkLWNvbHVtbi1zdGFydDogIDY7IH1cbiAgICAub2Zmc2V0LXhsNiB7IGdyaWQtY29sdW1uLXN0YXJ0OiAgNzsgfVxuICAgIC5vZmZzZXQteGw3IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6ICA4OyB9XG4gICAgLm9mZnNldC14bDggeyBncmlkLWNvbHVtbi1zdGFydDogIDk7IH1cbiAgICAub2Zmc2V0LXhsOSB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxMDsgfVxuICAgIC5vZmZzZXQteGwxMCB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxMTsgfVxuICAgIC5vZmZzZXQteGwxMSB7IGdyaWQtY29sdW1uLXN0YXJ0OiAxMjsgfVxuICB9XG5cbn1cbiIsIm5hdiB7XG4gICYubmF2LWV4dGVuZGVkIHtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAubmF2LXdyYXBwZXIge1xuICAgICAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHQtbW9iaWxlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5uYXYtY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxuXG4gIGNvbG9yOiAkbmF2YmFyLWZvbnQtY29sb3I7XG4gIEBleHRlbmQgLnotZGVwdGgtMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250YWluZXItY29sb3I7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJG5hdmJhci1oZWlnaHQtbW9iaWxlO1xuICBsaW5lLWhlaWdodDogJG5hdmJhci1saW5lLWhlaWdodC1tb2JpbGU7XG5cbiAgYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZm9udC1jb2xvcjtcbiAgfVxuXG4gIGksXG4gIFtjbGFzc149XCJtZGktXCJdLCBbY2xhc3MqPVwibWRpLVwiXSxcbiAgaS5tYXRlcmlhbC1pY29ucywgaS5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuICBpLm1hdGVyaWFsLXN5bWJvbHMtcm91bmRlZCwgaS5tYXRlcmlhbC1zeW1ib2xzLXNoYXJwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgaGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tb2JpbGU7XG4gICAgbGluZS1oZWlnaHQ6ICRuYXZiYXItbGluZS1oZWlnaHQtbW9iaWxlO1xuICB9XG5cbiAgLm5hdi13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhICN7JGxhcmdlLWFuZC11cH0ge1xuICAgIGEuc2lkZW5hdi10cmlnZ2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sbGFwc2UgYnV0dG9uXG4gIC5zaWRlbmF2LXRyaWdnZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGhlaWdodDogJG5hdmJhci1oZWlnaHQtbW9iaWxlO1xuICAgIG1hcmdpbjogMCAxOHB4O1xuXG4gICAgaSB7XG4gICAgICBoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0LW1vYmlsZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbmF2YmFyLWxpbmUtaGVpZ2h0LW1vYmlsZTtcbiAgICB9XG4gIH1cblxuICAvLyBMb2dvXG4gIC5icmFuZC1sb2dvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29sb3I6ICRuYXZiYXItZm9udC1jb2xvcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJi5jZW50ZXIge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tYW5kLWRvd259IHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgJi5sZWZ0LCAmLnJpZ2h0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLmxlZnQge1xuICAgICAgICBsZWZ0OiAwLjVyZW07XG4gICAgICB9XG4gICAgICAmLnJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGksXG4gICAgW2NsYXNzXj1cIm1kaS1cIl0sIFtjbGFzcyo9XCJtZGktXCJdLFxuICAgIGkubWF0ZXJpYWwtaWNvbnMsIGkubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbiAgICBpLm1hdGVyaWFsLXN5bWJvbHMtcm91bmRlZCwgaS5tYXRlcmlhbC1zeW1ib2xzLXNoYXJwIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gVGl0bGVcbiAgLm5hdi10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBwYWRkaW5nOiAyOHB4IDA7XG4gIH1cblxuXG4gIC8vIE5hdmJhciBMaW5rc1xuICB1bDpub3QoLmRyb3Bkb3duLWNvbnRlbnQpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgJiA+IGxpIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmID4gYSB7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzO1xuICAgICAgICBmb250LXNpemU6ICRuYXZiYXItZm9udC1zaXplO1xuICAgICAgICBjb2xvcjogJG5hdmJhci1mb250LWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItYmctY29sb3ItZm9jdXM7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYnRuLCAmLmJ0bi1sYXJnZSwgJi5idG4tZmxhdCwgJi5idG4tZmxvYXRpbmcge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICYgPiAubWF0ZXJpYWwtaWNvbnMsICYgPiAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbiAgICAgICAgICAmID4gLm1hdGVyaWFsLXN5bWJvbHMtcm91bmRlZCwgJiA+IC5tYXRlcmlhbC1zeW1ib2xzLXNoYXJwIHtcbiAgICAgICAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYubGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAvLyBOYXZiYXIgU2VhcmNoIEZvcm1cbiAgZm9ybSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmlucHV0LWZpZWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgY29sb3I6ICM4ODg7IC8vJG5hdmJhci1mb250LWNvbG9yO1xuXG4gICAgICAmOmZvY3VzLCAmW3R5cGU9dGV4dF06dmFsaWQsICZbdHlwZT1wYXNzd29yZF06dmFsaWQsXG4gICAgICAmW3R5cGU9ZW1haWxdOnZhbGlkLCAmW3R5cGU9dXJsXTp2YWxpZCwgJlt0eXBlPWRhdGVdOnZhbGlkIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIGkge1xuICAgICAgICBjb2xvcjogJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tZWRpdW07XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcztcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUgaSB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWZvbnQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpeGVkIE5hdmJhclxuLm5hdmJhci1maXhlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkbmF2YmFyLWhlaWdodC1tb2JpbGU7XG4gIHotaW5kZXg6IDk5NztcblxuICBuYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgI3skbWVkaXVtLWFuZC11cH0ge1xuICBuYXYubmF2LWV4dGVuZGVkIC5uYXYtd3JhcHBlciB7XG4gICAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHQ7XG4gIH1cbiAgbmF2LCBuYXYgLm5hdi13cmFwcGVyIGksIG5hdiBhLnNpZGVuYXYtdHJpZ2dlciwgbmF2IGEuc2lkZW5hdi10cmlnZ2VyIGkge1xuICAgIGhlaWdodDogJG5hdmJhci1oZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRuYXZiYXItbGluZS1oZWlnaHQ7XG4gIH1cbiAgLm5hdmJhci1maXhlZCB7XG4gICAgaGVpZ2h0OiAkbmF2YmFyLWhlaWdodDtcbiAgfVxufVxuIiwiXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmh0bWx7XG4gIC8vIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaXVtLXNjcmVlbi11cCkge1xuICAgIGZvbnQtc2l6ZTogMTQuNXB4O1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG5cbiAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRsaW5lLWhlaWdodDogMS4zO1xufVxuXG4vLyBIZWFkZXIgU3R5bGVzXG5oMSBhLCBoMiBhLCBoMyBhLCBoNCBhLCBoNSBhLCBoNiBhIHsgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cbmgxIHsgZm9udC1zaXplOiAkaDEtZm9udHNpemU7IGxpbmUtaGVpZ2h0OiAxMTAlOyBtYXJnaW46IG1hdGguZGl2KCRoMS1mb250c2l6ZSwgMS41KSAwIG1hdGguZGl2KCRoMS1mb250c2l6ZSwgMi41KSAwO31cbmgyIHsgZm9udC1zaXplOiAkaDItZm9udHNpemU7IGxpbmUtaGVpZ2h0OiAxMTAlOyBtYXJnaW46IG1hdGguZGl2KCRoMi1mb250c2l6ZSwgMS41KSAwIG1hdGguZGl2KCRoMi1mb250c2l6ZSwgMi41KSAwO31cbmgzIHsgZm9udC1zaXplOiAkaDMtZm9udHNpemU7IGxpbmUtaGVpZ2h0OiAxMTAlOyBtYXJnaW46IG1hdGguZGl2KCRoMy1mb250c2l6ZSwgMS41KSAwIG1hdGguZGl2KCRoMy1mb250c2l6ZSwgMi41KSAwO31cbmg0IHsgZm9udC1zaXplOiAkaDQtZm9udHNpemU7IGxpbmUtaGVpZ2h0OiAxMTAlOyBtYXJnaW46IG1hdGguZGl2KCRoNC1mb250c2l6ZSwgMS41KSAwIG1hdGguZGl2KCRoNC1mb250c2l6ZSwgMi41KSAwO31cbmg1IHsgZm9udC1zaXplOiAkaDUtZm9udHNpemU7IGxpbmUtaGVpZ2h0OiAxMTAlOyBtYXJnaW46IG1hdGguZGl2KCRoNS1mb250c2l6ZSwgMS41KSAwIG1hdGguZGl2KCRoNS1mb250c2l6ZSwgMi41KSAwO31cbmg2IHsgZm9udC1zaXplOiAkaDYtZm9udHNpemU7IGxpbmUtaGVpZ2h0OiAxMTAlOyBtYXJnaW46IG1hdGguZGl2KCRoNi1mb250c2l6ZSwgMS41KSAwIG1hdGguZGl2KCRoNi1mb250c2l6ZSwgMi41KSAwO31cblxuLy8gVGV4dCBTdHlsZXNcbmVtIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5zdHJvbmcgeyBmb250LXdlaWdodDogNTAwOyB9XG5zbWFsbCB7IGZvbnQtc2l6ZTogNzUlOyB9XG4ubGlnaHQgeyBmb250LXdlaWdodDogMzAwOyB9XG4udGhpbiB7IGZvbnQtd2VpZ2h0OiAyMDA7IH1cblxuLmZsb3ctdGV4dHtcbiAgJGk6IDA7XG4gIEB3aGlsZSAkaSA8PSAkaW50ZXJ2YWxzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAzNjAgKyAoJGkgKiAkaW50ZXJ2YWwtc2l6ZSkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtICogKDEgKyAoLjAyICogJGkpKTtcbiAgICB9XG4gICAgJGk6ICRpICsgMTtcbiAgfVxuXG4gIC8vIEhhbmRsZSBiZWxvdyAzNjBweCBzY3JlZW5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB9XG59XG4iLCIvLyBTY2FsZSB0cmFuc2l0aW9uXG4uc2NhbGUtdHJhbnNpdGlvbiB7XG4gICYuc2NhbGUtb3V0IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuc2NhbGUtaW4ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLjUzLCAwLjAxLCAwLjM2LCAxLjYzKSAhaW1wb3J0YW50O1xufSIsIlxuXG4uY2FyZC1wYW5lbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjI1cztcbiAgcGFkZGluZzogJGNhcmQtcGFkZGluZztcbiAgbWFyZ2luOiAkZWxlbWVudC10b3AtbWFyZ2luIDAgJGVsZW1lbnQtYm90dG9tLW1hcmdpbiAwO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBAZXh0ZW5kIC56LWRlcHRoLTE7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnLWNvbG9yO1xufVxuXG4uY2FyZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy9tYXJnaW46ICRlbGVtZW50LXRvcC1tYXJnaW4gMCAkZWxlbWVudC1ib3R0b20tbWFyZ2luIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnLWNvbG9yO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4yNXM7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIEBleHRlbmQgLnotZGVwdGgtMTtcblxuICAuY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgJi5hY3RpdmF0b3Ige1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhcmQgU2l6ZXNcbiAgJi5zbWFsbCwgJi5tZWRpdW0sICYubGFyZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDYwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5jYXJkLWltYWdlICsgLmNhcmQtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiA0MCU7XG4gICAgfVxuICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5jYXJkLWFjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJi5zbWFsbCB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgfVxuXG4gICYubWVkaXVtIHtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICB9XG5cbiAgJi5sYXJnZSB7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgfVxuXG4gIC8vIEhvcml6b250YWwgQ2FyZHNcbiAgJi5ob3Jpem9udGFsIHtcbiAgICAmLnNtYWxsLCAmLm1lZGl1bSwgJi5sYXJnZSB7XG4gICAgICAuY2FyZC1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLmNhcmQtaW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBpbWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHggMCAwIDJweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZC1zdGFja2VkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZmxleDogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmNhcmQtY29udGVudCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdGlja3kgQWN0aW9uIFNlY3Rpb25cbiAgJi5zdGlja3ktYWN0aW9uIHtcbiAgICAuY2FyZC1hY3Rpb24ge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAuY2FyZC1yZXZlYWwge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgIH1cbiAgfVxuXG5cblxuXG4gIC5jYXJkLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBJbWFnZSBiYWNrZ3JvdW5kIGZvciBjb250ZW50XG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY2FyZC10aXRsZSB7XG4gICAgICBjb2xvcjogJGNhcmQtYmctY29sb3I7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogJGNhcmQtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAuY2FyZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAycHggMnB4O1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgICAgIGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2FyZC1hY3Rpb24ge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMnB4IDJweDtcbiAgICB9XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGRpdmlkZXItY29sb3I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG5cbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6IDE2cHggJGNhcmQtcGFkZGluZztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBhOm5vdCguYnRuKTpub3QoLmJ0bi1sYXJnZSk6bm90KC5idG4tZmxvYXRpbmcpIHtcbiAgICAgIGNvbG9yOiAkY2FyZC1saW5rLWNvbG9yO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjNzIGVhc2U7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1ob3Zlci1vcGFxdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtcmV2ZWFsIHtcbiAgICBwYWRkaW5nOiAkY2FyZC1wYWRkaW5nO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1iZy1jb2xvcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAuY2FyZC10aXRsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIiN0b2FzdC1jb250YWluZXIge1xuICBkaXNwbGF5OmJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwMDAwO1xuXG4gIEBtZWRpYSAjeyRzbWFsbC1hbmQtZG93bn0ge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBib3R0b206IDAlO1xuICB9XG4gIEBtZWRpYSAjeyRtZWRpdW0tb25seX0ge1xuICAgIGxlZnQ6IDUlO1xuICAgIGJvdHRvbTogNyU7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gIH1cbiAgQG1lZGlhICN7JGxhcmdlLWFuZC11cH0ge1xuICAgIHRvcDogMTAlO1xuICAgIHJpZ2h0OiA3JTtcbiAgICBtYXgtd2lkdGg6IDg2JTtcbiAgfVxufVxuXG4udG9hc3Qge1xuICBAZXh0ZW5kIC56LWRlcHRoLTE7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgdG9wOiAzNXB4O1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogJHRvYXN0LWhlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9hc3QtY29sb3I7XG4gIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogJHRvYXN0LXRleHQtY29sb3I7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gIC50b2FzdC1hY3Rpb24ge1xuICAgIGNvbG9yOiAkdG9hc3QtYWN0aW9uLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMjVweDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgfVxuXG4gICYucm91bmRlZHtcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICB9XG5cbiAgQG1lZGlhICN7JHNtYWxsLWFuZC1kb3dufSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuIiwiLnRhYnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAmLnRhYnMtdHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgLnRhYiBhIHtcbiAgICAgIGNvbG9yOiAkZm9udC1vbi1wcmltYXJ5LWNvbG9yLW1lZGl1bTtcbiAgICB9XG5cbiAgICAudGFiLmRpc2FibGVkIGEsXG4gICAgLnRhYi5kaXNhYmxlZCBhOmhvdmVyLFxuICAgIC50YWIuZGlzYWJsZWQgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogJGZvbnQtb24tcHJpbWFyeS1jb2xvci1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAudGFiIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2UtaG92ZXItY29sb3Itb3BhcXVlO1xuICAgIH1cblxuICAgIC50YWIgYS5hY3RpdmUsXG4gICAgLnRhYiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC50YWIgYTpob3ZlcixcbiAgICAudGFiIGEuYWN0aXZlLFxuICAgIC50YWIgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluO1xuICAgIH1cblxuICAgIC5pbmRpY2F0b3Ige1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluO1xuICAgIH1cbiAgfVxuXG4gICYudGFicy1maXhlZC13aWR0aCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAudGFiIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtYmctY29sb3I7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC50YWIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBhIHtcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHRhYnMtdGV4dC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvci1ob3Zlci1vcGFxdWU7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLWZvY3VzLW9wYXF1ZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgY29sb3I6ICR0YWJzLXRleHQtaW5hY3RpdmUtY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMCAyNHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjI4cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIC4yOHMgZWFzZTtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIGEsXG4gICAgJi5kaXNhYmxlZCBhOmhvdmVyIHtcbiAgICAgICY6bm90KDpmb2N1cykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgY29sb3I6ICR0YWJzLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLXVuZGVybGluZS1jb2xvcjtcbiAgICB3aWxsLWNoYW5nZTogbGVmdCwgcmlnaHQ7XG4gIH1cbn1cblxuLy8gRml4ZWQgU2lkZW5hdiBoaWRlIG9uIHNtYWxsZXJcbkBtZWRpYSAjeyRtZWRpdW0tYW5kLWRvd259IHtcbiAgLnRhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAudGFiIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tYXRlcmlhbC10b29sdGlwIHtcbiAgcGFkZGluZzogMCA4cHg7ICBcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gIGNvbG9yOiAkdG9vbHRpcC1mb250LWNvbG9yO1xuICBcbiAgZm9udC1mYW1pbHk6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1zbWFsbC1mb250LWZhbWlseS1uYW1lKTtcbiAgZm9udC1zaXplOiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktc21hbGwtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLW1kLXN5cy10eXBlc2NhbGUtYm9keS1zbWFsbC1saW5lLWhlaWdodCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1tZC1zeXMtdHlwZXNjYWxlLWJvZHktc21hbGwtZm9udC13ZWlnaHQpO1xuXG4gIG1pbi1oZWlnaHQ6IDI0cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0cHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDIwMDA7XG59XG5cbi5iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiA3cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gIHotaW5kZXg6IC0xO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiLmJ0biwgLmJ0bi1mbG9hdGluZywgLmJ0bi1sYXJnZSwgLmJ0bi1zbWFsbCwgLmJ0bi1mbGF0IHtcbiAgLS1mb250LXNpemUtaWNvbjogMTZweDtcbiAgLS1wYWRkaW5nOiAyNHB4O1xuICAtLXBhZGRpbmctaWNvbjogMTZweDtcbiAgLS1nYXAtaWNvbjogOHB4O1xuICBcbiAgaGVpZ2h0OiAkYnV0dG9uLWhlaWdodDtcbiAgXG4gIC8vIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWhlaWdodDtcbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7ICBcbiAgXG4gIC8vIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWRkaW5nKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkZGluZyk7XG4gIFxuICBjb2xvcjogJGJ1dHRvbi1yYWlzZWQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBHZXRzIHJpZCBvZiB0YXAgYWN0aXZlIHN0YXRlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG91dGxpbmU6IDA7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1vdXQ7XG59XG5cbi8vIEljb25cbi5idG4uaWNvbi1sZWZ0LCAuYnRuLmljb24tcmlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYnRuLmljb24tbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1wYWRkaW5nLWljb24pICsgdmFyKC0tZm9udC1zaXplLWljb24pICsgdmFyKC0tZ2FwLWljb24pKTtcbn1cbi5idG4uaWNvbi1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGFkZGluZy1pY29uKSArIHZhcigtLWZvbnQtc2l6ZS1pY29uKSArIHZhcigtLWdhcC1pY29uKSk7IFxufVxuLmJ0bi5pY29uLWxlZnQgaSwgLmJ0bi5pY29uLXJpZ2h0IGkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWljb24pO1xufVxuLmJ0bi5pY29uLWxlZnQgaSB7XG4gIGxlZnQ6IHZhcigtLXBhZGRpbmctaWNvbik7XG59XG4uYnRuLmljb24tcmlnaHQgaSB7XG4gIHJpZ2h0OiB2YXIoLS1wYWRkaW5nLWljb24pO1xufVxuXG5cbi8vIERpc2FibGVkIHNoYXJlZCBzdHlsZVxuLmJ0bi5kaXNhYmxlZCxcbi5idG4tZmxvYXRpbmcuZGlzYWJsZWQsXG4uYnRuLWxhcmdlLmRpc2FibGVkLFxuLmJ0bi1zbWFsbC5kaXNhYmxlZCxcbi5idG4tZmxhdC5kaXNhYmxlZCxcbi5idG46ZGlzYWJsZWQsXG4uYnRuLWZsb2F0aW5nOmRpc2FibGVkLFxuLmJ0bi1sYXJnZTpkaXNhYmxlZCxcbi5idG4tc21hbGw6ZGlzYWJsZWQsXG4uYnRuLWZsYXQ6ZGlzYWJsZWQsXG4uYnRuW2Rpc2FibGVkXSxcbi5idG4tZmxvYXRpbmdbZGlzYWJsZWRdLFxuLmJ0bi1sYXJnZVtkaXNhYmxlZF0sXG4uYnRuLXNtYWxsW2Rpc2FibGVkXSxcbi5idG4tZmxhdFtkaXNhYmxlZF0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRidXR0b24tZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy0tLSBGaWxsZWQgQnV0dG9uXG4uYnRuLmZpbGxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1wcmltYXJ5KTtcbn1cbi8vLS0tIEZpbGxlZCBUb25hbFxuLmJ0bi50b25hbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1zZWNvbmRhcnktY29udGFpbmVyKTtcbiAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1vbi1zZWNvbmRhcnktY29udGFpbmVyKTtcbn1cbi8vLS0tIFRleHQtQnV0dG9uIChGbGF0KVxuLmJ0bi50ZXh0LCAuYnRuLWZsYXQge1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLW1kLXN5cy1jb2xvci1wcmltYXJ5KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4ycztcbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWZsYXQtaG92ZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWZsYXQtZm9jdXMtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmLmJ0bi50ZXh0W2Rpc2FibGVkXSwgJi5idG4tZmxhdFtkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRidXR0b24tZmxhdC1kaXNhYmxlZC1jb2xvciAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxufVxuLy8tLS0gT3V0bGluZWQtQnV0dG9uXG4uYnRuLm91dGxpbmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkYnV0dG9uLXJhaXNlZC1iYWNrZ3JvdW5kO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYnV0dG9uLXJhaXNlZC1iYWNrZ3JvdW5kO1xufVxuLy8tLS0gRWxldmF0ZWRcbi5idG4uZWxldmF0ZWQge1xuICBAZXh0ZW5kIC50b25hbDtcbiAgQGV4dGVuZCAuei1kZXB0aC0xO1xufVxuXG5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09IFN0YXRlcyAoSG92ZXIsIEZvY3VzZWQsIC4uLilcblxuLmJ0biB7XG4gIEBleHRlbmQgLmZpbGxlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXJhaXNlZC1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIEBleHRlbmQgLnotZGVwdGgtMS1oYWxmO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1yYWlzZWQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBAZXh0ZW5kIC56LWRlcHRoLTEtaGFsZjtcbiAgfSAgXG59XG5cblxuXG4vLy0tLS0tLS0tLS1cbi8vIC5idG4tZmxvYXRpbmcge1xuLy8gICBib3JkZXItcmFkaXVzOiAxNnB4O1xuLy8gICB3aWR0aDogdW5zZXQ7XG4vLyAgIGRpc3BsYXk6IGdyaWQ7XG4vLyAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4vLyAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgIHBhZGRpbmc6IDE2cHggIWltcG9ydGFudDtcbi8vICAgcGFkZGluZy1yaWdodDogMjRweCAhaW1wb3J0YW50OyAvKiBvbmx5IHdpdGggaWNvbiAqL1xuLy8gICBnYXA6IDhweDtcbi8vIH1cbi8vIC5idG4tZmxvYXRpbmcuYnRuLWxhcmdlIHtcbi8vICAgd2lkdGg6IHVuc2V0O1xuLy8gfVxuLy8gLmJ0bi1sYXJnZSB7XG4vLyAgIGZvbnQtc2l6ZTogMTRweDtcbi8vIH1cbi8vLS0tLS1cbi8vIEZsb2F0aW5nIGJ1dHRvblxuLmJ0bi1mbG9hdGluZyB7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1mbG9hdGluZy1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIEBleHRlbmQgLnotZGVwdGgtMS1oYWxmO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1mbG9hdGluZy1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIEBleHRlbmQgLnotZGVwdGgtMS1oYWxmO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICAmLmJ0bi1sYXJnZSB7XG4gICAgJi5oYWxmd2F5LWZhYiB7XG4gICAgICBib3R0b206IC0kYnV0dG9uLWZsb2F0aW5nLWxhcmdlLXNpemUgKiAwLjU7XG4gICAgfVxuICAgIHdpZHRoOiAkYnV0dG9uLWZsb2F0aW5nLWxhcmdlLXNpemU7XG4gICAgaGVpZ2h0OiAkYnV0dG9uLWZsb2F0aW5nLWxhcmdlLXNpemU7XG4gICAgcGFkZGluZzogMDtcbiAgICAvLyBmb250LXNpemU6IFxuICAgIC8vIGkge1xuICAgIC8vICAgLy8gbGluZS1oZWlnaHQ6ICRidXR0b24tZmxvYXRpbmctbGFyZ2Utc2l6ZTtcbiAgICAvLyB9XG4gIH1cblxuICAmLmJ0bi1zbWFsbCB7XG4gICAgJi5oYWxmd2F5LWZhYiB7XG4gICAgICBib3R0b206IC0kYnV0dG9uLWZsb2F0aW5nLXNtYWxsLXNpemUgKiAwLjU7XG4gICAgfVxuICAgIHdpZHRoOiAkYnV0dG9uLWZsb2F0aW5nLXNtYWxsLXNpemU7XG4gICAgaGVpZ2h0OiAkYnV0dG9uLWZsb2F0aW5nLXNtYWxsLXNpemU7XG4gICAgLy8gaSB7XG4gICAgLy8gICBsaW5lLWhlaWdodDogJGJ1dHRvbi1mbG9hdGluZy1zbWFsbC1zaXplO1xuICAgIC8vIH1cbiAgfVxuXG4gICYuaGFsZndheS1mYWIge1xuICAgICYubGVmdCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDI0cHg7XG4gICAgfVxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjRweDtcbiAgICBib3R0b206IC0kYnV0dG9uLWZsb2F0aW5nLXNpemUgKiAwLjU7XG4gIH1cblxuICAvLyBGSVhFU1xuICAvLyB3aWR0aDogdW5zZXQ7ICBcbiAgLy8gcGFkZGluZzogMTZweCAhaW1wb3J0YW50O1xuICAvLyBwYWRkaW5nLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7IC8qIG9ubHkgd2l0aCBpY29uICovXG4gIC8vIGdhcDogOHB4O1xuXG4gIGNvbG9yOiAkYnV0dG9uLWZsb2F0aW5nLWNvbG9yO1xuICBcbiAgd2lkdGg6ICRidXR0b24tZmxvYXRpbmctc2l6ZTtcbiAgaGVpZ2h0OiAkYnV0dG9uLWZsb2F0aW5nLXNpemU7XG4gIC8vIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWZsb2F0aW5nLXNpemU7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1mbG9hdGluZy1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLWZsb2F0aW5nLXJhZGl1cztcbiAgcGFkZGluZzogMDtcblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgQGV4dGVuZCAuei1kZXB0aC0xO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gIGkge1xuICAgIGNvbG9yOiAkYnV0dG9uLWZsb2F0aW5nLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1sYXJnZS1pY29uLWZvbnQtc2l6ZTtcbiAgICAvLyBsaW5lLWhlaWdodDogJGJ1dHRvbi1mbG9hdGluZy1zaXplO1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi8vIGJ1dHRvbiBmaXhcbmJ1dHRvbi5idG4tZmxvYXRpbmcge1xuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xufVxuLy8gRml4ZWQgQWN0aW9uIEJ1dHRvblxuLmZpeGVkLWFjdGlvbi1idG4ge1xuICAmLmFjdGl2ZSB7XG4gICAgdWwge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgICAgXG4gICAgfVxuICB9XG5cbiAgLy8gRGlyZWN0aW9uc1xuICAmLmRpcmVjdGlvbi1sZWZ0LFxuICAmLmRpcmVjdGlvbi1yaWdodCB7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDtcbiAgICB1bCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHJpZ2h0OiA2NHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgLyp3aWR0aCAxMDAlIG9ubHkgZ29lcyB0byB3aWR0aCBvZiBidXR0b24gY29udGFpbmVyICovXG4gICAgICB3aWR0aDogNTAwcHg7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiA3LjVweCAxNXB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5kaXJlY3Rpb24tcmlnaHQge1xuICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7XG4gICAgdWwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGRpcmVjdGlvbjogcnRsO1xuICAgICAgbGVmdDogNjRweDtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW46IDcuNXB4IDAgMCAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmRpcmVjdGlvbi1ib3R0b20ge1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4IDA7XG4gICAgdWwge1xuICAgICAgdG9wOiA2NHB4O1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMCAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnRvb2xiYXIge1xuICAgICYuYWN0aXZlIHtcbiAgICAgICY+YSBpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6ICRidXR0b24tZmxvYXRpbmctbGFyZ2Utc2l6ZTtcbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxpIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICRidXR0b24tZmxvYXRpbmctY29sb3I7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICRidXR0b24tZmxvYXRpbmctbGFyZ2Utc2l6ZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgaSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMjNweDtcbiAgYm90dG9tOiAyM3B4O1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgei1pbmRleDogOTk3O1xuICB1bCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNjRweDtcbiAgICBtYXJnaW46IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgIGEuYnRuLWZsb2F0aW5nIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG4gIC5mYWItYmFja2Ryb3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB3aWR0aDogJGJ1dHRvbi1mbG9hdGluZy1zaXplO1xuICAgIGhlaWdodDogJGJ1dHRvbi1mbG9hdGluZy1zaXplO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZmxvYXRpbmctYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLWZsb2F0aW5nLXJhZGl1cztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG59XG5cbi8vLS0tIEhlbHBlciBjbGFzc2VzIChmb3IgYWxsKVxuXG4vLyBMYXJnZSBidXR0b25cbi5idG4tbGFyZ2Uge1xuICBAZXh0ZW5kIC5idG47XG4gIGhlaWdodDogJGJ1dHRvbi1sYXJnZS1oZWlnaHQ7XG4gIC8vIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxhcmdlLWhlaWdodDtcbiAgZm9udC1zaXplOiAkYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTtcbiAgcGFkZGluZzogMCAyOHB4O1xuICBpIHtcbiAgICBmb250LXNpemU6ICRidXR0b24tbGFyZ2UtaWNvbi1mb250LXNpemU7XG4gIH1cbn1cblxuLy8gU21hbGwgYnV0dG9uXG4uYnRuLXNtYWxsIHtcbiAgQGV4dGVuZCAuYnRuO1xuICBoZWlnaHQ6ICRidXR0b24tc21hbGwtaGVpZ2h0O1xuICBsaW5lLWhlaWdodDogJGJ1dHRvbi1zbWFsbC1oZWlnaHQ7XG4gIGZvbnQtc2l6ZTogJGJ1dHRvbi1zbWFsbC1mb250LXNpemU7XG4gIGkge1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1zbWFsbC1pY29uLWZvbnQtc2l6ZTtcbiAgfVxufVxuXG4vLyBCbG9jayBidXR0b25cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJ0bi5yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogOTk5OTlweDtcbn0iLCIuZHJvcGRvd24tY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICBAZXh0ZW5kIC56LWRlcHRoLTE7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iZy1jb2xvcjtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTk5OTsgLy8gVE9ETzogQ2hlY2sgaWYgdGhpcyBkb2Vzbid0IGJyZWFrIG90aGVyIHRoaW5nc1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG5cblxuICBsaSB7XG4gICAgJjpob3ZlciwgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWhvdmVyLWJnLWNvbG9yO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRpdmlkZXIge1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgIH1cblxuICAgICYgPiBhLCAmID4gc3BhbiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIHBhZGRpbmc6ICgoJGRyb3Bkb3duLWl0ZW0taGVpZ2h0IC0gMjIpICogMC41KSAxNnB4O1xuICAgIH1cblxuICAgICYgPiBzcGFuID4gbGFiZWwge1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgIH1cblxuICAgIC8vIEljb24gYWxpZ25tZW50IG92ZXJyaWRlXG4gICAgJiA+IGEgPiBpIHtcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDAgMjRweCAwIDA7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICB9XG5cblxuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWluLWhlaWdodDogJGRyb3Bkb3duLWl0ZW0taGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG5ib2R5LmtleWJvYXJkLWZvY3VzZWQge1xuICAuZHJvcGRvd24tY29udGVudCBsaTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWZvY3VzLWJnLWNvbG9yO1xuICB9XG59XG5cbi8vIElucHV0IGZpZWxkIHNwZWNpZmljaXR5IGJ1Z2ZpeFxuLmlucHV0LWZpZWxkLmNvbCAuZHJvcGRvd24tY29udGVudCBbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwge1xuICB0b3A6IDFweDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxOHB4O1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5kcm9wZG93bi10cmlnZ2VyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLm1vZGFsIHtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIEBleHRlbmQgLnotZGVwdGgtNTtcblxuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2dyb3VuZC1jb2xvcjtcbiAgcGFkZGluZzogMDtcbiAgbWF4LWhlaWdodDogNzAlO1xuICB3aWR0aDogNTUlO1xuICBtYXJnaW46IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB3aWxsLWNoYW5nZTogdG9wLCBvcGFjaXR5O1xuXG4gIEBtZWRpYSAjeyRtZWRpdW0tYW5kLWRvd259IHtcbiAgICB3aWR0aDogODAlO1xuICB9XG5cbiAgaDEsaDIsaDMsaDQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIH1cblxuICAubW9kYWwtY2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5tb2RhbC1mb290ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAycHggMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgLmJ0biwgLmJ0bi1mbGF0IHtcbiAgICAgIG1hcmdpbjogNnB4IDA7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk7XG4gIHRvcDogLTI1JTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMjUlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi8vIE1vZGFsIHdpdGggZml4ZWQgYWN0aW9uIGZvb3RlclxuLm1vZGFsLm1vZGFsLWZpeGVkLWZvb3RlciB7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogNzAlO1xuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1NnB4KTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGRpdmlkZXItY29sb3I7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBNb2RhbCBCb3R0b20gU2hlZXQgU3R5bGVcbi5tb2RhbC5ib3R0b20tc2hlZXQge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogLTEwMCU7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDQ1JTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgd2lsbC1jaGFuZ2U6IGJvdHRvbSwgb3BhY2l0eTtcbn1cbiIsIi5jb2xsYXBzaWJsZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sbGFwc2libGUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sbGFwc2libGUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xsYXBzaWJsZS1ib3JkZXItY29sb3I7XG4gIG1hcmdpbjogJGVsZW1lbnQtdG9wLW1hcmdpbiAwICRlbGVtZW50LWJvdHRvbS1tYXJnaW4gMDtcbiAgQGV4dGVuZCAuei1kZXB0aC0xO1xufVxuXG4uY29sbGFwc2libGUtaGVhZGVyIHtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMFxuICB9XG5cbiAgZGlzcGxheTogZmxleDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbGxhcHNpYmxlLWJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbGxhcHNpYmxlLWJnLWNvbG9yO1xuXG4gIGkge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG59XG5cbi5jb2xsYXBzaWJsZS1oZWFkZXI6OmFmdGVyIHtcbiAgY29udGVudDogJ+KWvic7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuLmFjdGl2ZSAuY29sbGFwc2libGUtaGVhZGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi4pa0XCI7XG59XG5cblxuLmtleWJvYXJkLWZvY3VzZWQgLmNvbGxhcHNpYmxlLWhlYWRlcjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLWZvY3VzLWNvbG9yLW9wYXF1ZTtcbn1cblxuLmNvbGxhcHNpYmxlLWJvZHkge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbGxhcHNpYmxlLWJvcmRlci1jb2xvcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCAycmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sbGFwc2libGUtYmctY29sb3I7XG59XG5cbi8vIFBvcG91dCBDb2xsYXBzaWJsZVxuXG4uY29sbGFwc2libGUucG9wb3V0IHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuXG4gID4gbGkge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNiksIDAgMnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIC8vIHRyYW5zZm9ybTogc2NhbGVYKC45Mik7XG4gICAgbWFyZ2luOiAwIDI0cHg7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luIC4zNXMgY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiAgfVxuXG4gID4gbGkuYWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE4KSwgMCA0cHggMTVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgbWFyZ2luOiAxNnB4IDA7XG4gICAgLy8gdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cbn1cbiIsIi5jaGlwIHtcbiAgLS1mb250LXNpemU6IDE0cHg7XG4gIC0tZm9udC1zaXplLWljb246IDE4cHg7XG4gIC0tcGFkZGluZzogOHB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRjaGlwLWJnLWNvbG9yO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBnYXA6IDhweDtcblxuICBtYXJnaW46IDA7XG4gIGhlaWdodDogMzJweDtcblxuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmcpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWRkaW5nKTtcbiAgXG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgIFxuICBjb2xvcjogJGNoaXAtZm9udC1jb2xvcjtcbiAgXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGlwLXNlbGVjdGVkLWNvbG9yO1xuICAgIGNvbG9yOiAkY2hpcC1zZWxlY3RlZC1mb250LWNvbG9yO1xuICB9XG59XG5cbi5jaGlwLm91dGxpbmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLW91dGxpbmUpO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLmNoaXAgPiBpbWcge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuXG4uY2hpcCA+IC5tYXRlcmlhbC1pY29ucyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWljb24pO1xuICBAZXh0ZW5kIC5vbi1zdXJmYWNlLXZhcmlhbnQtdGV4dDtcbn1cblxuLmNoaXAgLmNsb3NlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAyNHB4O1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jaGlwIC5jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ODg4O1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jaGlwcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNoaXAtYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiBub25lO1xuICBtYXJnaW46ICRpbnB1dC1tYXJnaW47XG5cbiAgcGFkZGluZzogNHB4O1xuICAvLyBtaW4taGVpZ2h0OiA0NXB4O1xuXG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAuM3M7XG5cbiAgJi5mb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjaGlwLXNlbGVjdGVkLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDAgMCAkY2hpcC1zZWxlY3RlZC1jb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogdGV4dDtcbiAgfVxuXG4gIGlucHV0Om5vdChbdHlwZV0pOm5vdCguYnJvd3Nlci1kZWZhdWx0KS5pbnB1dCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuXG4gICAgLy8gaGVpZ2h0OiAzMnB4O1xuICAgIC8vIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICAvLyBsaW5lLWhlaWdodDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG5cbiAgICBvdXRsaW5lOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMjBweDtcblxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG9jb21wbGV0ZVxuICAuYXV0b2NvbXBsZXRlLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBGb3JtIHByZWZpeFxuLnByZWZpeCB+IC5jaGlwcyB7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtO1xuICB3aWR0aDogOTIlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG59XG4vLyBGb3JtIHN1ZmZpeFxuLnN1ZmZpeCB+IC5jaGlwcyB7XG4gIG1hcmdpbi1yaWdodDogM3JlbTtcbiAgd2lkdGg6IDkyJTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pO1xufVxuLmNoaXBzOmVtcHR5IH4gbGFiZWwgIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTQwJSk7XG59XG4iLCIubWF0ZXJpYWxib3hlZCB7XG4gICY6aG92ZXIge1xuICAgICY6bm90KC5hY3RpdmUpIHtcbiAgICAgIG9wYWNpdHk6IC44O1xuICAgIH1cbiAgfVxuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHpvb20taW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNHM7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICYuYWN0aXZlIHtcbiAgICBjdXJzb3I6IHpvb20tb3V0O1xuICB9XG59XG5cbiNtYXRlcmlhbGJveC1vdmVybGF5IHtcbiAgcG9zaXRpb246Zml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbWQtc3lzLWNvbG9yLWJhY2tncm91bmQpO1xuICB6LWluZGV4OiAxMDAwO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbn1cblxuLm1hdGVyaWFsYm94LWNhcHRpb24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW1haW4pO1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwJSAxNSU7XG4gIGhlaWdodDogNTBweDtcbiAgei1pbmRleDogMTAwMDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59IiwiLy8gUmVtb3ZlIEZvY3VzIEJveGVzXG5zZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiAkc2VsZWN0LWZvY3VzO1xufVxuXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQtZm9jdXM7XG59XG5cbmxhYmVsIHtcbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbn1cblxuQGltcG9ydCAnaW5wdXQtZmllbGRzJztcbkBpbXBvcnQgJ3JhZGlvLWJ1dHRvbnMnO1xuQGltcG9ydCAnY2hlY2tib3hlcyc7XG5AaW1wb3J0ICdzd2l0Y2hlcyc7XG5AaW1wb3J0ICdzZWxlY3QnO1xuQGltcG9ydCAnZmlsZS1pbnB1dCc7XG5AaW1wb3J0ICdyYW5nZSc7XG4iLCIvKiBUZXh0IElucHV0cyArIFRleHRhcmVhXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBTdHlsZSBQbGFjZWhvbGRlcnMgKi9cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogJHBsYWNlaG9sZGVyLXRleHQtY29sb3I7XG59XG5cbi8qIFRleHQgaW5wdXRzICovXG5pbnB1dDpub3QoW3R5cGVdKTpub3QoLmJyb3dzZXItZGVmYXVsdCksXG5pbnB1dFt0eXBlPXRleHRdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxcbmlucHV0W3R5cGU9cGFzc3dvcmRdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxcbmlucHV0W3R5cGU9ZW1haWxdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxcbmlucHV0W3R5cGU9dXJsXTpub3QoLmJyb3dzZXItZGVmYXVsdCksXG5pbnB1dFt0eXBlPXRpbWVdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxcbmlucHV0W3R5cGU9ZGF0ZV06bm90KC5icm93c2VyLWRlZmF1bHQpLFxuaW5wdXRbdHlwZT1kYXRldGltZV06bm90KC5icm93c2VyLWRlZmF1bHQpLFxuaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF06bm90KC5icm93c2VyLWRlZmF1bHQpLFxuaW5wdXRbdHlwZT1tb250aF06bm90KC5icm93c2VyLWRlZmF1bHQpLFxuaW5wdXRbdHlwZT10ZWxdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxcbmlucHV0W3R5cGU9bnVtYmVyXTpub3QoLmJyb3dzZXItZGVmYXVsdCksXG5pbnB1dFt0eXBlPXNlYXJjaF06bm90KC5icm93c2VyLWRlZmF1bHQpLFxudGV4dGFyZWEubWF0ZXJpYWxpemUtdGV4dGFyZWEgeyBcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgd2lkdGg6IDEwMCU7ICBcbiAgZm9udC1zaXplOiAkbWRfc3lzX3R5cGVzY2FsZV9ib2R5LWxhcmdlX3NpemU7IC8vJGlucHV0LWZvbnQtc2l6ZTsgLy8gPT4gMTYgZHBcbiAgaGVpZ2h0OiA1NnB4OyAvLyA1NmRwICRpbnB1dC1oZWlnaHQ7XG59XG5cbi8qIFZhbGlkYXRpb24gU2FzcyBQbGFjZWhvbGRlcnMgKi9cbiV2YWxpZC1pbnB1dC1zdHlsZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaW5wdXQtc3VjY2Vzcy1jb2xvcjtcbiAgYm94LXNoYWRvdzogMCAxcHggMCAwICRpbnB1dC1zdWNjZXNzLWNvbG9yO1xufVxuJWludmFsaWQtaW5wdXQtc3R5bGUge1xuICBib3JkZXItYm90dG9tOiAkaW5wdXQtaW52YWxpZC1ib3JkZXI7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgMCAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG4laGlkZGVuLXRleHQge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8qXG4lY3VzdG9tLXN1Y2Nlc3MtbWVzc2FnZSB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1zdWNjZXNzKTtcbiAgY29sb3I6ICRpbnB1dC1zdWNjZXNzLWNvbG9yO1xufVxuJWN1c3RvbS1lcnJvci1tZXNzYWdlIHtcbiAgY29udGVudDogYXR0cihkYXRhLWVycm9yKTtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cbiovXG5cbi5pbnB1dC1maWVsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY2xlYXI6IGJvdGg7XG4gXG4gIC8vIERlZmF1bHRcblxuICBpbnB1dCwgdGV4dGFyZWEge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzEzNzc3MTkvcGFkZGluZy13aXRoaW4taW5wdXRzLWJyZWFrcy13aWR0aC0xMDAqL1xuXG4gICAgcGFkZGluZzogMCAxNnB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2UtY29sb3I7XG5cbiAgICBib3JkZXI6IG5vbmU7IC8vIHJlc2V0XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyAvLyBtZC5zeXMuc2hhcGUuY29ybmVyLmV4dHJhLXNtYWxsLnRvcFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICBcbiAgICAmOmZvY3VzOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgICAgcGFkZGluZy10b3A6IDIwcHggKyAxcHg7IC8vIGFkZCBib3JkZXItd2lkdGhcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkLCAmW3JlYWRvbmx5PVwicmVhZG9ubHlcIl0ge1xuICAgICAgY29sb3I6ICR0ZXh0ZmllbGRfZGlzYWJsZWRfY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICR0ZXh0ZmllbGRfZGlzYWJsZWRfb3V0bGluZWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHRmaWVsZF9kaXNhYmxlZF9jb250YWluZXJjb2xvcjtcbiAgICB9XG5cbiAgICAvLyBMYWJlbFxuICAgICY6Zm9jdXM6bm90KFtyZWFkb25seV0pICsgbGFiZWwge1xuICAgICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICB9XG4gICAgJjpmb2N1czpub3QoW3JlYWRvbmx5XSkgKyBsYWJlbCxcbiAgICAmOm5vdChbcGxhY2Vob2xkZXI9JyAnXSkgKyBsYWJlbCxcbiAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pICsgbGFiZWwge1xuICAgICAgLy9mb250LXNpemU6IDEycHg7IC8vIG1kLnN5cy50eXBlc2NhbGUuYm9keS1zbWFsbC5zaXplXG4gICAgICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDcxNzQ5Mi9jc3MtdHJhbnNpdGlvbi1mb250LXNpemUtYXZvaWQtaml0dGVyaW5nLXdpZ2dsaW5nXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKGNhbGMoMTIgLyAxNikpO1xuICAgICAgdG9wOiA4cHg7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCArIGxhYmVsLCAmW3JlYWRvbmx5PVwicmVhZG9ubHlcIl0gKyBsYWJlbCB7XG4gICAgICBjb2xvcjogJHRleHRmaWVsZF9kaXNhYmxlZF9jb2xvcjtcbiAgICB9XG4gIH1cblxuICBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgJiA+IGxhYmVsIHtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDE2cHg7XG4gICAgdG9wOiAxNnB4O1xuICAgIGN1cnNvcjogdGV4dDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgbGVmdCAwLjJzIGVhc2Utb3V0LFxuICAgICAgdG9wIDAuMnMgZWFzZS1vdXQsXG4gICAgICB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dFxuICAgIDtcbiAgfVxuXG4gIC8vIFN1Yi1JbmZvc1xuXG4gIC5zdXBwb3J0aW5nLXRleHQge1xuICAgIGNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICB9XG5cbiAgLmNoYXJhY3Rlci1jb3VudGVyIHtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICAucHJlZml4IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMTJweDtcbiAgICB0b3A6IDE2cHg7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICAuc3VmZml4IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgdG9wOiAxNnB4OyAgICBcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC5wcmVmaXggfiBpbnB1dCwgLnByZWZpeCB+IHRleHRhcmVhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMTJweCArIDI0cHggKyAxNnB4KTtcbiAgfVxuICAuc3VmZml4IH4gaW5wdXQsIC5zdWZmaXggfiB0ZXh0YXJlYSB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygxMnB4ICsgMjRweCArIDE2cHgpO1xuICB9XG4gIC5wcmVmaXggfiBsYWJlbCB7XG4gICAgbGVmdDogY2FsYygxMnB4ICsgMjRweCArIDE2cHgpO1xuICB9XG5cbiAgLy8gT3V0bGluZWRcblxuICAmLm91dGxpbmVkIHtcblxuICAgIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7IC8vIG1kLnN5cy5zaGFwZS5jb3JuZXIuZXh0cmEtc21hbGxcblxuICAgICAgJjpmb2N1czpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDsgLy8gc3VidHJhY3QgYm9yZGVyLXdpZHRoXG5cbiAgICAgIH1cbiAgICAgIC8vIExhYmVsXG4gICAgICAmOmZvY3VzOm5vdChbcmVhZG9ubHldKSArIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXM6bm90KFtyZWFkb25seV0pICsgbGFiZWwsXG4gICAgICAmOm5vdChbcGxhY2Vob2xkZXI9JyAnXSkgKyBsYWJlbCxcbiAgICAgICY6bm90KDpwbGFjZWhvbGRlci1zaG93bikgKyBsYWJlbCB7XG4gICAgICAgIHRvcDogLThweDtcbiAgICAgICAgbGVmdDogMTZweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJjpkaXNhYmxlZCwgJltyZWFkb25seT1cInJlYWRvbmx5XCJdIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0ZmllbGRfZGlzYWJsZWRfY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRleHRmaWVsZF9kaXNhYmxlZF9vdXRsaW5lY29sb3I7XG4gICAgICB9XG4gICAgICBcbiAgICB9XG4gIH1cblxuICAvLyBFcnJvclxuICAmLmVycm9yIHtcbiAgICBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lcnJvci1jb2xvcik7XG4gICAgfVxuICAgIGlucHV0OmZvY3VzOm5vdChbcmVhZG9ubHldKSwgdGV4dGFyZWE6Zm9jdXM6bm90KFtyZWFkb25seV0pIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZXJyb3ItY29sb3IpO1xuICAgIH1cbiAgICBpbnB1dDpmb2N1czpub3QoW3JlYWRvbmx5XSkgKyBsYWJlbCwgdGV4dGFyZWE6Zm9jdXM6bm90KFtyZWFkb25seV0pICsgbGFiZWwge1xuICAgICAgY29sb3I6IHZhcigtLWVycm9yLWNvbG9yKTtcbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6IHZhcigtLWVycm9yLWNvbG9yKTtcbiAgICB9XG4gICAgLnN1cHBvcnRpbmctdGV4dCB7XG4gICAgICBjb2xvcjogdmFyKC0tZXJyb3ItY29sb3IpO1xuICAgIH1cbiAgICAuc3VmZml4IHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lcnJvci1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8qIFNlYXJjaCBGaWVsZCAqL1xuLnNlYXJjaGJhciB7ICBcbiAgLnByZWZpeCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vbGVmdDogMTJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgdG9wOiAwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5cbiAgJiA+IGlucHV0IHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtO1xuICB9XG59XG4uc2VhcmNoYmFyLmhhcy1zaWRlYmFyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIEBtZWRpYSAjeyRsYXJnZS1hbmQtdXB9IHtcbiAgICBtYXJnaW4tbGVmdDogJHNpZGVuYXYtd2lkdGg7XG4gIH1cbn1cblxuLypcbi5pbnB1dC1maWVsZCBpbnB1dFt0eXBlPXNlYXJjaF0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgLm5hdi13cmFwcGVyICYge1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDRyZW0pO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gICY6Zm9jdXM6bm90KC5icm93c2VyLWRlZmF1bHQpIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAmICsgLmxhYmVsLWljb24ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG4qL1xuXG4vKiBUZXh0YXJlYSAqL1xuLy8gRGVmYXVsdCB0ZXh0YXJlYVxudGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmLm1hdGVyaWFsaXplLXRleHRhcmVhIHtcbiAgICBwYWRkaW5nLXRvcDogMjZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgLyogcHJldmVudHMgc2Nyb2xsIGJhciBmbGFzaCAqL1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbn1cblxuLy8gRm9yIHRleHRhcmVhIGF1dG9yZXNpemVcbi5oaWRkZW5kaXYge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyAvKiBmdXR1cmUgdmVyc2lvbiBvZiBkZXByZWNhdGVkICd3b3JkLXdyYXAnICovXG4gIHBhZGRpbmctdG9wOiAxLjJyZW07IC8qIHByZXZlbnRzIHRleHQganVtcCBvbiBFbnRlciBrZXlwcmVzcyAqL1xuXG4gIC8vIFJlZHVjZXMgcmVwYWludHNcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4vKiBBdXRvY29tcGxldGUgSXRlbXMgKi9cbi5hdXRvY29tcGxldGUtY29udGVudCB7XG4gIGxpIHtcbiAgICAuaGlnaGxpZ2h0IHsgY29sb3I6ICRmb250LWNvbG9yLW1haW47IH1cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAkZHJvcGRvd24taXRlbS1oZWlnaHQgLSAxMDtcbiAgICAgIHdpZHRoOiAkZHJvcGRvd24taXRlbS1oZWlnaHQgLSAxMDtcbiAgICAgIG1hcmdpbjogNXB4IDE1cHg7XG4gICAgfVxuICB9XG59IiwiLyogUmFkaW8gQnV0dG9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gUmVtb3ZlIGRlZmF1bHQgUmFkaW8gQnV0dG9uc1xuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpLFxuW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgc3Bhbixcblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMjVweDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdHJhbnNpdGlvbjogLjI4cyBlYXNlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuW3R5cGU9XCJyYWRpb1wiXSArIHNwYW46YmVmb3JlLFxuW3R5cGU9XCJyYWRpb1wiXSArIHNwYW46YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbjogNHB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2l0aW9uOiAuMjhzIGVhc2U7XG59XG5cbi8qIFVuY2hlY2tlZCBzdHlsZXMgKi9cblt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKSArIHNwYW46YmVmb3JlLFxuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgc3BhbjphZnRlcixcblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46YmVmb3JlLFxuW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgc3BhbjphZnRlcixcblt0eXBlPVwicmFkaW9cIl0ud2l0aC1nYXA6Y2hlY2tlZCArIHNwYW46YmVmb3JlLFxuW3R5cGU9XCJyYWRpb1wiXS53aXRoLWdhcDpjaGVja2VkICsgc3BhbjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgc3BhbjpiZWZvcmUsXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBzcGFuOmFmdGVyIHtcbiAgYm9yZGVyOiAycHggc29saWQgJHJhZGlvLWVtcHR5LWNvbG9yO1xufVxuXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBzcGFuOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbn1cblxuLyogQ2hlY2tlZCBzdHlsZXMgKi9cblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46YmVmb3JlIHtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46YWZ0ZXIsXG5bdHlwZT1cInJhZGlvXCJdLndpdGgtZ2FwOmNoZWNrZWQgKyBzcGFuOmJlZm9yZSxcblt0eXBlPVwicmFkaW9cIl0ud2l0aC1nYXA6Y2hlY2tlZCArIHNwYW46YWZ0ZXIge1xuICBib3JkZXI6ICRyYWRpby1ib3JkZXI7XG59XG5cblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46YWZ0ZXIsXG5bdHlwZT1cInJhZGlvXCJdLndpdGgtZ2FwOmNoZWNrZWQgKyBzcGFuOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJhZGlvLWZpbGwtY29sb3I7XG59XG5cblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIHNwYW46YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG4vKiBSYWRpbyBXaXRoIGdhcCAqL1xuW3R5cGU9XCJyYWRpb1wiXS53aXRoLWdhcDpjaGVja2VkICsgc3BhbjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLjUpO1xufVxuXG4vKiBGb2N1c2VkIHN0eWxlcyAqL1xuW3R5cGU9XCJyYWRpb1wiXS50YWJiZWQ6Zm9jdXMgKyBzcGFuOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggJHByaW1hcnktY29sb3ItZm9jdXMtb3BhcXVlO1xufVxuXG4vKiBEaXNhYmxlZCBSYWRpbyBXaXRoIGdhcCAqL1xuW3R5cGU9XCJyYWRpb1wiXS53aXRoLWdhcDpkaXNhYmxlZDpjaGVja2VkICsgc3BhbjpiZWZvcmUge1xuICBib3JkZXI6IDJweCBzb2xpZCAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG59XG5cblt0eXBlPVwicmFkaW9cIl0ud2l0aC1nYXA6ZGlzYWJsZWQ6Y2hlY2tlZCArIHNwYW46YWZ0ZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbn1cblxuLyogRGlzYWJsZWQgc3R5bGUgKi9cblt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQ6bm90KDpjaGVja2VkKSArIHNwYW46YmVmb3JlLFxuW3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZDpjaGVja2VkICsgc3BhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtY29sb3I7XG59XG5cblt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgKyBzcGFuIHtcbiAgY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbn1cblxuW3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgc3BhbjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbn1cblxuW3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZDpjaGVja2VkICsgc3BhbjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtc29saWQtY29sb3I7XG59XG4iLCIvKiBDaGVja2JveGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBSZW1vdmUgZGVmYXVsdCBjaGVja2JveCAqL1xuW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLFxuW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLy8gQ2hlY2tib3ggU3R5bGVzXG5bdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgLy8gVGV4dCBMYWJlbCBTdHlsZVxuICArIHNwYW46bm90KC5sZXZlcikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLyogY2hlY2tib3ggYXNwZWN0ICovXG4gICsgc3Bhbjpub3QoLmxldmVyKTpiZWZvcmUsXG4gICY6bm90KC5maWxsZWQtaW4pICsgc3Bhbjpub3QoLmxldmVyKTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRyYWRpby1lbXB0eS1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIHRyYW5zaXRpb246IC4ycztcbiAgfVxuXG4gICY6bm90KC5maWxsZWQtaW4pICsgc3Bhbjpub3QoLmxldmVyKTphZnRlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cblxuICAmOm5vdCg6Y2hlY2tlZCk6ZGlzYWJsZWQgKyBzcGFuOm5vdCgubGV2ZXIpOmJlZm9yZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC8vIEZvY3VzZWQgc3R5bGVzXG4gICYudGFiYmVkOmZvY3VzICsgc3Bhbjpub3QoLmxldmVyKTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggJHN1cmZhY2UtZm9jdXMtY29sb3Itb3BhcXVlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLWZvY3VzLWNvbG9yLW9wYXF1ZTtcbiAgfVxufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICArIHNwYW46bm90KC5sZXZlcik6YmVmb3JlIHtcbiAgICB0b3A6IC00cHg7XG4gICAgbGVmdDogLTVweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkcmFkaW8tYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206ICRyYWRpby1ib3JkZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDBkZWcpO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIH1cblxuICAmOmRpc2FibGVkICsgc3BhbjpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICB9XG59XG5cbi8qIEluZGV0ZXJtaW5hdGUgY2hlY2tib3ggKi9cblt0eXBlPVwiY2hlY2tib3hcIl06aW5kZXRlcm1pbmF0ZSB7XG4gICsgc3Bhbjpub3QoLmxldmVyKTpiZWZvcmUge1xuICAgIHRvcDogLTExcHg7XG4gICAgbGVmdDogLTEycHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiAkcmFkaW8tYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBpbmRldGVybWluYXRlXG4gICY6ZGlzYWJsZWQgKyBzcGFuOm5vdCgubGV2ZXIpOmJlZm9yZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vIEZpbGxlZCBpbiBTdHlsZVxuW3R5cGU9XCJjaGVja2JveFwiXS5maWxsZWQtaW4ge1xuICAvLyBHZW5lcmFsXG4gICsgc3Bhbjpub3QoLmxldmVyKTphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG5cbiAgKyBzcGFuOm5vdCgubGV2ZXIpOmJlZm9yZSxcbiAgKyBzcGFuOm5vdCgubGV2ZXIpOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvKiAuMXMgZGVsYXkgaXMgZm9yIGNoZWNrIGFuaW1hdGlvbiAqL1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAuMjVzLCBiYWNrZ3JvdW5kLWNvbG9yIC4yNXMsIHdpZHRoIC4yMHMgLjFzLCBoZWlnaHQgLjIwcyAuMXMsIHRvcCAuMjBzIC4xcywgbGVmdCAuMjBzIC4xcztcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLy8gVW5jaGVja2VkIHN0eWxlXG4gICY6bm90KDpjaGVja2VkKSArIHNwYW46bm90KC5sZXZlcik6YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgbGVmdDogNnB4O1xuICAgIHRvcDogMTBweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMzdkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgfVxuXG4gICY6bm90KDpjaGVja2VkKSArIHNwYW46bm90KC5sZXZlcik6YWZ0ZXIge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkcmFkaW8tZW1wdHktY29sb3I7XG4gICAgdG9wOiAwcHg7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC8vIENoZWNrZWQgc3R5bGVcbiAgJjpjaGVja2VkIHtcbiAgICArIHNwYW46bm90KC5sZXZlcik6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIHdpZHRoOiA4cHg7XG4gICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRmb250LW9uLXByaW1hcnktY29sb3ItbWFpbjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWigzN2RlZyk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gICAgfVxuXG4gICAgKyBzcGFuOm5vdCgubGV2ZXIpOmFmdGVyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9jdXNlZCBzdHlsZXNcbiAgJi50YWJiZWQ6Zm9jdXMgKyBzcGFuOm5vdCgubGV2ZXIpOmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAkcmFkaW8tZW1wdHktY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1cmZhY2UtZm9jdXMtY29sb3Itb3BhcXVlO1xuICB9XG5cbiAgJi50YWJiZWQ6Y2hlY2tlZDpmb2N1cyArIHNwYW46bm90KC5sZXZlcik6YWZ0ZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgJjpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgc3Bhbjpub3QoLmxldmVyKTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgc3Bhbjpub3QoLmxldmVyKTphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtc29saWQtY29sb3I7XG4gIH1cblxuICAmOmRpc2FibGVkOmNoZWNrZWQgKyBzcGFuOm5vdCgubGV2ZXIpOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOmRpc2FibGVkOmNoZWNrZWQgKyBzcGFuOm5vdCgubGV2ZXIpOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtc29saWQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtc29saWQtY29sb3I7XG4gIH1cbn1cbiIsIi8qIFN3aXRjaFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnN3aXRjaCB7XG4gIC0tdHJhY2staGVpZ2h0OiAzMnB4O1xuICAtLXRyYWNrLXdpZHRoOiA1MnB4O1xuICAtLWJvcmRlci13aWR0aDogMnB4O1xuICAtLXNpemUtb2ZmOiAxNnB4O1xuICAtLXNpemUtb246IDI0cHg7XG4gIC0taWNvbi1zaXplOiAxNnB4O1xuICAtLWdhcC1vbjogY2FsYygoKHZhcigtLXRyYWNrLWhlaWdodCkgLSB2YXIoLS1zaXplLW9uKSkgLyAyKSAtIHZhcigtLWJvcmRlci13aWR0aCkpO1xuICAtLWdhcC1vZmY6IGNhbGMoKCh2YXIoLS10cmFjay1oZWlnaHQpIC0gdmFyKC0tc2l6ZS1vZmYpKSAvIDIpIC0gdmFyKC0tYm9yZGVyLXdpZHRoKSk7XG59XG5cbi5zd2l0Y2gsXG4uc3dpdGNoICoge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnN3aXRjaCBsYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnN3aXRjaCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgLy8gQ0hFQ0tFRFxuICAvLyBUcmFja1xuICAmOmNoZWNrZWQgKyAubGV2ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgfVxuICAvLyBEb3RcbiAgJjpjaGVja2VkICsgLmxldmVyIHtcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICB0b3A6IHZhcigtLWdhcC1vbik7XG4gICAgICBsZWZ0OiBjYWxjKHZhcigtLXRyYWNrLXdpZHRoKSAtIHZhcigtLXNpemUtb24pIC0gdmFyKC0tZ2FwLW9uKSAtIDIgKiB2YXIoLS1ib3JkZXItd2lkdGgpKTtcbiAgICAgIHdpZHRoOiB2YXIoLS1zaXplLW9uKTtcbiAgICAgIGhlaWdodDogdmFyKC0tc2l6ZS1vbik7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgQGV4dGVuZCAuc3VyZmFjZTtcbiAgICB9XG4gIH1cbn1cblxuLnN3aXRjaCBsYWJlbCAubGV2ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IHZhcigtLXRyYWNrLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS10cmFjay1oZWlnaHQpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1tZC1zeXMtY29sb3Itb3V0bGluZSk7XG5cbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkc3dpdGNoLXRyYWNrLXVuY2hlY2tlZC1iZztcbiAgQGV4dGVuZCAuc3VyZmFjZS12YXJpYW50O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMTZweDtcblxuICAvLyBET1RcbiAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogdmFyKC0tc2l6ZS1vZmYpO1xuICAgIGhlaWdodDogdmFyKC0tc2l6ZS1vZmYpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGxlZnQ6IHZhcigtLWdhcC1vZmYpO1xuICAgIHRvcDogdmFyKC0tZ2FwLW9mZik7XG5cbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZSwgYmFja2dyb3VuZCAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIHRyYW5zZm9ybSAuMXMgZWFzZTtcbiAgfVxuXG4gIC8vIE5PVCBDSEVDS0VEIFtET1RdXG4gICY6YWZ0ZXIge1xuICAgIEBleHRlbmQgLm91dGxpbmU7IFxuICAgIGhlaWdodDogdmFyKC0tc2l6ZS1vZmYpO1xuICAgIHdpZHRoOiB2YXIoLS1zaXplLW9mZik7XG5cbiAgICAvL0BleHRlbmQgLnN1cmZhY2UtdmFyaWFudDtcbiAgICAvL2JveC1zaGFkb3c6IDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpkaXNhYmxlZCkgfiAubGV2ZXI6YWN0aXZlOmJlZm9yZSxcbmlucHV0W3R5cGU9Y2hlY2tib3hdOm5vdCg6ZGlzYWJsZWQpLnRhYmJlZDpmb2N1cyB+IC5sZXZlcjo6YmVmb3JlLFxuaW5wdXRbdHlwZT1jaGVja2JveF06bm90KDpkaXNhYmxlZCkgfiAubGV2ZXI6aG92ZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgyLjQpO1xufVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOm5vdCg6ZGlzYWJsZWQpIH4gLmxldmVyOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3dpdGNoLXJlYWN0aW9uLWNoZWNrZWQtaG92ZXItY29sb3I7XG59XG5cbi8vIFN3aXRjaCBhY3RpdmUgc3R5bGVcbmlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6bm90KDpkaXNhYmxlZCkgfiAubGV2ZXI6YWN0aXZlOjpiZWZvcmUsXG5pbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOm5vdCg6ZGlzYWJsZWQpLnRhYmJlZDpmb2N1cyB+IC5sZXZlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHN3aXRjaC1yZWFjdGlvbi1jaGVja2VkLWZvY3VzLWNvbG9yO1xufVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmRpc2FibGVkKSB+IC5sZXZlcjpob3Zlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHN3aXRjaC1yZWFjdGlvbi11bmNoZWNrZWQtaG92ZXItY29sb3I7XG59XG5cbmlucHV0W3R5cGU9Y2hlY2tib3hdOm5vdCg6ZGlzYWJsZWQpIH4gLmxldmVyOmFjdGl2ZTpiZWZvcmUsXG5pbnB1dFt0eXBlPWNoZWNrYm94XTpub3QoOmRpc2FibGVkKS50YWJiZWQ6Zm9jdXMgfiAubGV2ZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzd2l0Y2gtcmVhY3Rpb24tdW5jaGVja2VkLWZvY3VzLWNvbG9yO1xufVxuXG4vLyBEaXNhYmxlZCBTdHlsZXNcbi5zd2l0Y2ggaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdICsgLmxldmVyIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbiIsIi8qIFNlbGVjdCBGaWVsZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuc2VsZWN0LmJyb3dzZXItZGVmYXVsdCB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAkc2VsZWN0LWlucHV0LWNvbG9yO1xufVxuXG5zZWxlY3Qge1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkc2VsZWN0LXBhZGRpbmc7XG4gIGJvcmRlcjogJHNlbGVjdC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG59XG5cbi8vIC5zZWxlY3QtbGFiZWwge1xuLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyB9XG5cblxuLnNlbGVjdC13cmFwcGVyIHtcbiAgLypcbiAgJi52YWxpZCAuaGVscGVyLXRleHRbZGF0YS1zdWNjZXNzXSxcbiAgJi5pbnZhbGlkIH4gLmhlbHBlci10ZXh0W2RhdGEtZXJyb3JdIHtcbiAgICBAZXh0ZW5kICVoaWRkZW4tdGV4dDtcbiAgfVxuXG4gICYudmFsaWQge1xuICAgICYgPiBpbnB1dC5zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgQGV4dGVuZCAldmFsaWQtaW5wdXQtc3R5bGU7XG4gICAgfVxuICAgICYgfiAuaGVscGVyLXRleHQ6YWZ0ZXIge1xuICAgICAgLy9AZXh0ZW5kICVjdXN0b20tc3VjY2Vzcy1tZXNzYWdlO1xuICAgIH1cbiAgfVxuXG4gICYuaW52YWxpZCB7XG4gICAgJiA+IGlucHV0LnNlbGVjdC1kcm9wZG93bixcbiAgICAmID4gaW5wdXQuc2VsZWN0LWRyb3Bkb3duOmZvY3VzIHtcbiAgICAgIEBleHRlbmQgJWludmFsaWQtaW5wdXQtc3R5bGU7XG4gICAgfVxuICAgICYgfiAuaGVscGVyLXRleHQ6YWZ0ZXIge1xuICAgICAgLy9AZXh0ZW5kICVjdXN0b20tZXJyb3ItbWVzc2FnZTtcbiAgICB9XG4gIH1cblxuICAmLnZhbGlkICsgbGFiZWwsXG4gICYuaW52YWxpZCArIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAmICsgbGFiZWw6YWZ0ZXIge1xuICAgIC8vQGV4dGVuZCAlaW5wdXQtYWZ0ZXItc3R5bGU7XG4gIH1cbiAgKi9cblxuXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8qXG4gIGlucHV0LnNlbGVjdC1kcm9wZG93biB7ICAgIFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICB9XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogJGlucHV0LWJvcmRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgbWFyZ2luOiAkaW5wdXQtbWFyZ2luO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGNvbG9yOiAkc2VsZWN0LWlucHV0LWNvbG9yO1xuICB9XG4gICovXG5cbiAgLmNhcmV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGZpbGw6ICRzZWxlY3QtaW5wdXQtY29sb3I7XG4gIH1cblxuICAvKlxuICAmICsgbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yNnB4O1xuICAgIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgfVxuICAqL1xuXG4gIC8vIEhpZGUgc2VsZWN0IHdpdGggb3ZlcmZsb3cgaGlkZGVuIGluc3RlYWQgb2YgdXNpbmcgZGlzcGxheSBub25lXG4gIC8vICh0aGlzIHByZXZlbnRzIGZvcm0gdmFsaWRhdGlvbiBlcnJvcnMgd2l0aCBoaWRkZW4gZm9ybSBlbGVtZW50cylcbiAgLmhpZGUtc2VsZWN0IHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG59XG5cbi8vIERpc2FibGVkIHN0eWxlc1xuc2VsZWN0OmRpc2FibGVkIHtcbiAgY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbn1cblxuLnNlbGVjdC13cmFwcGVyLmRpc2FibGVkIHtcbiAgKyBsYWJlbCB7XG4gICAgY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuICAuY2FyZXQge1xuICAgIGZpbGw6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgfVxufVxuXG4uc2VsZWN0LXdyYXBwZXIgaW5wdXQuc2VsZWN0LWRyb3Bkb3duOmRpc2FibGVkIHtcbiAgY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1jb2xvcjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnNlbGVjdC13cmFwcGVyIGkge1xuICBjb2xvcjogJHNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbn1cblxuLnNlbGVjdC1kcm9wZG93biBsaS5kaXNhYmxlZCxcbi5zZWxlY3QtZHJvcGRvd24gbGkuZGlzYWJsZWQgPiBzcGFuLFxuLnNlbGVjdC1kcm9wZG93biBsaS5vcHRncm91cCB7XG4gIGNvbG9yOiAkc2VsZWN0LWRpc2FibGVkLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuYm9keS5rZXlib2FyZC1mb2N1c2VkIHtcbiAgLnNlbGVjdC1kcm9wZG93bi5kcm9wZG93bi1jb250ZW50IGxpOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LW9wdGlvbi1mb2N1cztcbiAgfVxufVxuXG4uc2VsZWN0LWRyb3Bkb3duLmRyb3Bkb3duLWNvbnRlbnQge1xuICBsaSB7XG4gICAgJjpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LW9wdGlvbi1ob3ZlcjtcbiAgICB9XG5cbiAgICAmLnNlbGVjdGVkOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3Qtb3B0aW9uLXNlbGVjdGVkO1xuICAgIH1cbiAgfVxufVxuXG4vKlxuLy8gUHJlZml4IEljb25zXG4ucHJlZml4IH4gLnNlbGVjdC13cmFwcGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDNyZW07XG4gIHdpZHRoOiA5MiU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbn1cbi5wcmVmaXggfiBsYWJlbCB7IG1hcmdpbi1sZWZ0OiAzcmVtOyB9XG4vLyBTdWZmaXggSWNvbnNcbi5zdWZmaXggfiAuc2VsZWN0LXdyYXBwZXIge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW07XG4gIHdpZHRoOiA5MiU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbn1cbi5zdWZmaXggfiBsYWJlbCB7IG1hcmdpbi1yaWdodDogM3JlbTsgfVxuKi9cblxuLy8gSWNvbnNcbi5zZWxlY3QtZHJvcGRvd24gbGkge1xuICBpbWcge1xuICAgIGhlaWdodDogJGRyb3Bkb3duLWl0ZW0taGVpZ2h0IC0gMTA7XG4gICAgd2lkdGg6ICRkcm9wZG93bi1pdGVtLWhlaWdodCAtIDEwO1xuICAgIG1hcmdpbjogNXB4IDE1cHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbi8vIE9wdGdyb3VwIHN0eWxlc1xuLnNlbGVjdC1kcm9wZG93biBsaS5vcHRncm91cCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZHJvcGRvd24taG92ZXItYmctY29sb3I7XG5cbiAgJi5zZWxlY3RlZCA+IHNwYW4ge1xuICAgIGNvbG9yOiAkZm9udC1jb2xvci1tYWluO1xuICB9XG5cbiAgJiA+IHNwYW4ge1xuICAgIGNvbG9yOiAkZm9udC1jb2xvci1tZWRpdW07XG4gIH1cblxuICAmIH4gbGkub3B0Z3JvdXAtb3B0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cbn1cbiIsIi8qIEZpbGUgSW5wdXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5maWxlLWZpZWxkIHtcbiAgLy9wb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgYXV0bztcbiAgZ2FwOiAxMHB4O1xuICBcblxuICAuZmlsZS1wYXRoLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICBpbnB1dC5maWxlLXBhdGggeyB3aWR0aDogMTAwJTsgfVxuXG4gIC5idG4ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIGlucHV0W3R5cGU9ZmlsZV0ge1xuICAgIC8vIE5lZWRlZCB0byBvdmVycmlkZSB3ZWJraXQgYnV0dG9uXG4gICAgJjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBmb250LXNpemU6IDIwcHg7ICAgIFxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgfVxufVxuIiwiLyogUmFuZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5yYW5nZS1maWVsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV0sXG5pbnB1dFt0eXBlPXJhbmdlXSArIC50aHVtYiB7XG4gIEBleHRlbmQgLm5vLXNlbGVjdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTVweCAwO1xuICBwYWRkaW5nOiAwO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1yYW5nZV0gKyAudGh1bWIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyYWRpby1maWxsLWNvbG9yO1xuICBtYXJnaW4tbGVmdDogN3B4O1xuXG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgLnZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICRyYWRpby1maWxsLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlIDUwJSA1MCUgMDtcblxuICAgIC52YWx1ZSB7XG4gICAgICBjb2xvcjogJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIFNoYXJlZFxuQG1peGluIHJhbmdlLXRyYWNrIHtcbiAgaGVpZ2h0OiAkdHJhY2staGVpZ2h0O1xuICBAZXh0ZW5kIC5zdXJmYWNlLXZhcmlhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuQG1peGluIHJhbmdlLXRodW1iIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6ICRyYW5nZS1oZWlnaHQ7XG4gIHdpZHRoOiAkcmFuZ2Utd2lkdGg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogJHJhZGlvLWZpbGwtY29sb3I7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgLjNzO1xufVxuXG4vLyBXZWJLaXRcbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBAaW5jbHVkZSByYW5nZS10cmFjaztcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgQGluY2x1ZGUgcmFuZ2UtdGh1bWI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJhZGlvLWZpbGwtY29sb3I7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIG1hcmdpbjogLTVweCAwIDAgMDtcblxufVxuXG4ua2V5Ym9hcmQtZm9jdXNlZCBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1czpub3QoLmFjdGl2ZSk6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTBweCAkcmFkaW8tZm9jdXMtY29sb3I7XG59XG5cbi8vIEZpcmVGb3hcbmlucHV0W3R5cGU9cmFuZ2VdIHtcblxuICAvKnJlcXVpcmVkIGZvciBwcm9wZXIgdHJhY2sgc2l6aW5nIGluIEZGKi9cbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBAaW5jbHVkZSByYW5nZS10cmFjaztcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG59XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1iIHtcbiAgQGluY2x1ZGUgcmFuZ2UtdGh1bWI7XG4gIG1hcmdpbi10b3A6IC01cHg7XG59XG5cbi8vIGhpZGUgdGhlIG91dGxpbmUgYmVoaW5kIHRoZSBib3JkZXJcbmlucHV0W3R5cGU9cmFuZ2VdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkICNmZmY7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xufVxuXG4ua2V5Ym9hcmQtZm9jdXNlZCBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1czpub3QoLmFjdGl2ZSk6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDAgMCAxMHB4ICRyYWRpby1mb2N1cy1jb2xvcjtcbn1cblxuLy8gSUUgMTArXG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNrIHtcbiAgaGVpZ2h0OiAkdHJhY2staGVpZ2h0O1xuXG4gIC8vIHJlbW92ZSBiZyBjb2xvdXIgZnJvbSB0aGUgdHJhY2ssIHdlJ2xsIHVzZSBtcy1maWxsLWxvd2VyIGFuZCBtcy1maWxsLXVwcGVyIGluc3RlYWRcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgLy8gbGVhdmUgcm9vbSBmb3IgdGhlIGxhcmdlciB0aHVtYiB0byBvdmVyZmxvdyB3aXRoIGEgdHJhbnNwYXJlbnQgYm9yZGVyICovXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogNnB4IDA7XG5cbiAgLypyZW1vdmUgZGVmYXVsdCB0aWNrIG1hcmtzKi9cbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtbG93ZXIsXG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtdXBwZXIsXG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICRyYW5nZS10cmFjay1jb2xvcjtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10aHVtYiB7XG4gIEBpbmNsdWRlIHJhbmdlLXRodW1iO1xufVxuXG4ua2V5Ym9hcmQtZm9jdXNlZCBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1czpub3QoLmFjdGl2ZSk6Oi1tcy10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggJHJhZGlvLWZvY3VzLWNvbG9yO1xufVxuIiwiLyoqKioqKioqKioqKioqKlxuICAgIE5hdiBMaXN0XG4qKioqKioqKioqKioqKiovXG4udGFibGUtb2YtY29udGVudHMge1xuICAmLmZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cblxuICBsaSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkZm9udC1jb2xvci1tZWRpdW07XG4gICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRkaXZpZGVyLWNvbG9yO1xuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRmb250LWNvbG9yLW1haW47XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgfVxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLyogVGhpcyBzaG91bGQgYmUgYW4gVUwtRWxlbWVudCovXG4uc2lkZW5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6ICRzaWRlbmF2LXdpZHRoO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGVuYXYtYmctY29sb3I7XG4gIHotaW5kZXg6IDk5OTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwNSUpOyBcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgQGV4dGVuZCAuei1kZXB0aC0xO1xuXG4gIC8vIFJpZ2h0IEFsaWduXG4gICYucmlnaHQtYWxpZ25lZCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwNSUpO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG5cbiAgLmNvbGxhcHNpYmxlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBIb3ZlciBvbmx5IG9uIHRvcCByb3cgKi9cbiAgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1mbGF0LWhvdmVyLWJhY2tncm91bmQtY29sb3I7XG4gIH1cbiAgYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1mbGF0LWZvY3VzLWJhY2tncm91bmQtY29sb3I7XG4gIH1cblxuICBsaS5hY3RpdmUgPiBhOm5vdCguY29sbGFwc2libGUtaGVhZGVyKTpub3QoLmJ0bik6bm90KC5idG4tbGFyZ2UpOm5vdCguYnRuLXNtYWxsKTpub3QoLmJ0bi1mbGF0KTpub3QoLmJ0bi1sYXJnZSk6bm90KC5idG4tZmxvYXRpbmcpICB7XG4gICAgY29sb3I6ICRmb250LW9uLXNlY29uZGFyeS1jb250YWluZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb250YWluZXItY29sb3I7XG4gIH1cblxuICAuY29sbGFwc2libGUtYm9keSA+IHVsIHsgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbiAgbGkgeyAgICBcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG4gIGxpID4gYSB7XG4gICAgLyogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTg0ODA5MC9mdWxsLXdpZHRoLWhvdmVyLWJhY2tncm91bmQtZm9yLW5lc3RlZC1saXN0cyAqL1xuICAgIC8vcGFkZGluZy1sZWZ0OiBjYWxjKDEwMCUgKyAkc2lkZW5hdi1wYWRkaW5nKTtcbiAgICAvL21hcmdpbi1sZWZ0OiAtMTAwJTtcbiAgICBtYXJnaW46IDAgMTJweDtcbiAgICBwYWRkaW5nOiAwICRzaWRlbmF2LXBhZGRpbmc7XG4gICAgLy9wYWRkaW5nLWxlZnQ6ICRzaWRlbmF2LXBhZGRpbmc7XG5cbiAgICAvLyBUcnVuY2F0ZSB0b28gbG9uZyB0ZXh0XG4gICAgLypcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICovXG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogJHNpZGVuYXYtaXRlbS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkc2lkZW5hdi1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG5cbiAgICAmOm5vdCguYnRuKTpub3QoLmJ0bi1mbGF0KTpub3QoLmJ0bi1sYXJnZSk6bm90KC5idG4tZmxvYXRpbmcpIHtcbiAgICAgIGNvbG9yOiAkc2lkZW5hdi1mb250LWNvbG9yO1xuICAgIH1cblxuICAgICYuYnRuLCAmLmJ0bi1sYXJnZSwgJi5idG4tZmxhdCwgJi5idG4tZmxvYXRpbmcge1xuICAgICAgbWFyZ2luOiAxMHB4IDE1cHg7XG4gICAgfVxuXG4gICAgLyogVE9ETzogVXNlIHNwZWNpYWwgY2xhc3MgaW4gZnV0dXJlIGxpa2UgXCJtdy1pY29uXCIgKi9cbiAgICAmID4gLm1hdGVyaWFsLWljb25zLCAmID4gLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQsXG4gICAgJiA+IC5tYXRlcmlhbC1zeW1ib2xzLXJvdW5kZWQsICYgPiAubWF0ZXJpYWwtc3ltYm9scy1zaGFycCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBjb2xvcjogJHNpZGVuYXYtaWNvbi1jb2xvcjtcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICB9XG4gIH1cblxuICAuZGl2aWRlciB7XG4gICAgbWFyZ2luOiAoJHNpZGVuYXYtcGFkZGluZyAqIDAuNSkgMCAwIDA7XG4gIH1cblxuICAuc3ViaGVhZGVyIHtcbiAgICBjdXJzb3I6IGluaXRpYWw7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29sb3I6ICRzaWRlbmF2LXN1YmhlYWRlci1jb2xvcjtcbiAgICBmb250LXNpemU6ICRzaWRlbmF2LWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkc2lkZW5hdi1saW5lLWhlaWdodDtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGlzPyBpcyB2ZXJ5IGN1c3RvbVxuICAudXNlci12aWV3IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogKCRzaWRlbmF2LXBhZGRpbmcgKiAyKSAoJHNpZGVuYXYtcGFkZGluZyAqIDIpIDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNpZGVuYXYtcGFkZGluZyAqIDAuNTtcblxuICAgICYgPiBhIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgLmNpcmNsZSwgLm5hbWUsIC5lbWFpbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuY2lyY2xlIHtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIHdpZHRoOiA2NHB4O1xuICAgIH1cblxuICAgIC5uYW1lLFxuICAgIC5lbWFpbCB7XG4gICAgICBmb250LXNpemU6ICRzaWRlbmF2LWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkc2lkZW5hdi1saW5lLWhlaWdodCAqIDAuNTtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAuZW1haWwge1xuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUb3VjaCBpbnRlcmFjdGlvblxuLmRyYWctdGFyZ2V0IHtcbiAgLy8gUmlnaHQgQWxpZ25cbiAgJi5yaWdodC1hbGlnbmVkIHtcbiAgICByaWdodDogMDtcbiAgfVxuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTg7XG59XG5cbi8vIEZpeGVkIFNpZGVuYXYgc2hvd25cbi5zaWRlbmF2LnNpZGVuYXYtZml4ZWQge1xuICAvLyBSaWdodCBBbGlnblxuICAmLnJpZ2h0LWFsaWduZWQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi8vIEZpeGVkIFNpZGVuYXYgaGlkZSBvbiBzbWFsbGVyXG5AbWVkaWEgI3skbWVkaXVtLWFuZC1kb3dufSB7XG4gIC5zaWRlbmF2IHtcbiAgICAmLnNpZGVuYXYtZml4ZWQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDUlKTtcblxuICAgICAgJi5yaWdodC1hbGlnbmVkIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwNSUpO1xuICAgICAgfVxuICAgIH1cbiAgICA+IGEge1xuICAgICAgcGFkZGluZzogMCAkc2lkZW5hdi1wYWRkaW5nO1xuICAgIH1cbiAgICAudXNlci12aWV3IHtcbiAgICAgIHBhZGRpbmc6ICRzaWRlbmF2LXBhZGRpbmcgJHNpZGVuYXYtcGFkZGluZyAwO1xuICAgIH1cbiAgfVxufVxuXG4uc2lkZW5hdiAuY29sbGFwc2libGUtYm9keSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zaWRlbmF2LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMTIwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjUpO1xuICB6LWluZGV4OiA5OTc7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIFNpZGVuYXYgY29sbGFwc2libGUgc3R5bGluZyAoVGFrZW4gZnJvbSBDb2xsYXBzaWJsZS5zY3NzKVxuLnNpZGVuYXYsXG4uc2lkZW5hdi5zaWRlbmF2LWZpeGVkIHtcbiAgLmNvbGxhcHNpYmxlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAuY29sbGFwc2libGUtaGVhZGVyIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbiAgLmNvbGxhcHNpYmxlLWJvZHkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgQmFyXG4ucHJvZ3Jlc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGV4dGVuZCAuc3VyZmFjZS12YXJpYW50O1xuXG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbWFyZ2luOiAkZWxlbWVudC10b3AtbWFyZ2luIDAgJGVsZW1lbnQtYm90dG9tLW1hcmdpbiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5kZXRlcm1pbmF0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcyBsaW5lYXI7XG4gIH1cblxuICAuaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB3aWxsLWNoYW5nZTogbGVmdCwgcmlnaHQ7XG4gICAgICAvLyBDdXN0b20gYmV6aWVyXG4gICAgICBhbmltYXRpb246IGluZGV0ZXJtaW5hdGUgMi4xcyBjdWJpYy1iZXppZXIoMC42NTAsIDAuODE1LCAwLjczNSwgMC4zOTUpIGluZmluaXRlO1xuXG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lsbC1jaGFuZ2U6IGxlZnQsIHJpZ2h0O1xuICAgICAgLy8gQ3VzdG9tIGJlemllclxuICAgICAgYW5pbWF0aW9uOiBpbmRldGVybWluYXRlLXNob3J0IDIuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0MCwgMC40NDAsIDEuMDAwKSBpbmZpbml0ZTtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogMS4xNXM7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgaW5kZXRlcm1pbmF0ZSB7XG4gIDAlIHtcbiAgICBsZWZ0OiAtMzUlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICB9XG4gIDYwJSB7XG4gICAgbGVmdDogMTAwJTtcbiAgICByaWdodDogLTkwJTtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHJpZ2h0OiAtOTAlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaW5kZXRlcm1pbmF0ZS1zaG9ydCB7XG4gIDAlIHtcbiAgICBsZWZ0OiAtMjAwJTtcbiAgICByaWdodDogMTAwJTtcbiAgfVxuICA2MCUge1xuICAgIGxlZnQ6IDEwNyU7XG4gICAgcmlnaHQ6IC04JTtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAxMDclO1xuICAgIHJpZ2h0OiAtOCU7XG4gIH1cbn1cblxuXG5cbi8qXG4gICAgQGxpY2Vuc2VcbiAgICBDb3B5cmlnaHQgKGMpIDIwMTQgVGhlIFBvbHltZXIgUHJvamVjdCBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICAgIFRoaXMgY29kZSBtYXkgb25seSBiZSB1c2VkIHVuZGVyIHRoZSBCU0Qgc3R5bGUgbGljZW5zZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vTElDRU5TRS50eHRcbiAgICBUaGUgY29tcGxldGUgc2V0IG9mIGF1dGhvcnMgbWF5IGJlIGZvdW5kIGF0IGh0dHA6Ly9wb2x5bWVyLmdpdGh1Yi5pby9BVVRIT1JTLnR4dFxuICAgIFRoZSBjb21wbGV0ZSBzZXQgb2YgY29udHJpYnV0b3JzIG1heSBiZSBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vQ09OVFJJQlVUT1JTLnR4dFxuICAgIENvZGUgZGlzdHJpYnV0ZWQgYnkgR29vZ2xlIGFzIHBhcnQgb2YgdGhlIHBvbHltZXIgcHJvamVjdCBpcyBhbHNvXG4gICAgc3ViamVjdCB0byBhbiBhZGRpdGlvbmFsIElQIHJpZ2h0cyBncmFudCBmb3VuZCBhdCBodHRwOi8vcG9seW1lci5naXRodWIuaW8vUEFURU5UUy50eHRcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTVFlMRVMgRk9SIFRIRSBTUElOTkVSICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qXG4gKiBDb25zdGFudHM6XG4gKiAgICAgIFNUUk9LRVdJRFRIID0gM3B4XG4gKiAgICAgIEFSQ1NJWkUgICAgID0gMjcwIGRlZ3JlZXMgKGFtb3VudCBvZiBjaXJjbGUgdGhlIGFyYyB0YWtlcyB1cClcbiAqICAgICAgQVJDVElNRSAgICAgPSAxMzMzbXMgKHRpbWUgaXQgdGFrZXMgdG8gZXhwYW5kIGFuZCBjb250cmFjdCBhcmMpXG4gKiAgICAgIEFSQ1NUQVJUUk9UID0gMjE2IGRlZ3JlZXMgKGhvdyBtdWNoIHRoZSBzdGFydCBsb2NhdGlvbiBvZiB0aGUgYXJjXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkIHJvdGF0ZSBlYWNoIHRpbWUsIDIxNiBnaXZlcyB1cyBhXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNSBwb2ludGVkIHN0YXIgc2hhcGUgKGl0J3MgMzYwLzUgKiAzKS5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGb3IgYSA3IHBvaW50ZWQgc3Rhciwgd2UgbWlnaHQgZG9cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNjAvNyAqIDMgPSAxNTQuMjg2KVxuICogICAgICBDT05UQUlORVJXSURUSCA9IDI4cHhcbiAqICAgICAgU0hSSU5LX1RJTUUgPSA0MDBtc1xuICovXG5cblxuLnByZWxvYWRlci13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG5cbiAgJi5zbWFsbCB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICB9XG5cbiAgJi5iaWcge1xuICAgIHdpZHRoOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICAvKiBkdXJhdGlvbjogMzYwICogQVJDVElNRSAvIChBUkNTVEFSVFJPVCArICgzNjAtQVJDU0laRSkpICovXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGNvbnRhaW5lci1yb3RhdGUgMTU2OG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgICBhbmltYXRpb246IGNvbnRhaW5lci1yb3RhdGUgMTU2OG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgY29udGFpbmVyLXJvdGF0ZSB7XG4gIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIH1cbn1cblxuQGtleWZyYW1lcyBjb250YWluZXItcm90YXRlIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIH1cbn1cblxuLnNwaW5uZXItbGF5ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIGJvcmRlci1jb2xvcjogJHNwaW5uZXItZGVmYXVsdC1jb2xvcjtcbn1cblxuLnNwaW5uZXItYmx1ZSxcbi5zcGlubmVyLWJsdWUtb25seSB7XG4gIGJvcmRlci1jb2xvcjogIzQyODVmNDtcbn1cblxuLnNwaW5uZXItcmVkLFxuLnNwaW5uZXItcmVkLW9ubHkge1xuICBib3JkZXItY29sb3I6ICNkYjQ0Mzc7XG59XG5cbi5zcGlubmVyLXllbGxvdyxcbi5zcGlubmVyLXllbGxvdy1vbmx5IHtcbiAgYm9yZGVyLWNvbG9yOiAjZjRiNDAwO1xufVxuXG4uc3Bpbm5lci1ncmVlbixcbi5zcGlubmVyLWdyZWVuLW9ubHkge1xuICBib3JkZXItY29sb3I6ICMwZjlkNTg7XG59XG5cbi8qKlxuICogSU1QT1JUQU5UIE5PVEUgQUJPVVQgQ1NTIEFOSU1BVElPTiBQUk9QRVJUSUVTIChrZWFudWxlZSk6XG4gKlxuICogaU9TIFNhZmFyaSAodGVzdGVkIG9uIGlPUyA4LjEpIGRvZXMgbm90IGhhbmRsZSBhbmltYXRpb24tZGVsYXkgdmVyeSB3ZWxsIC0gaXQgZG9lc24ndFxuICogZ3VhcmFudGVlIHRoYXQgdGhlIGFuaW1hdGlvbiB3aWxsIHN0YXJ0IF9leGFjdGx5XyBhZnRlciB0aGF0IHZhbHVlLiBTbyB3ZSBhdm9pZCB1c2luZ1xuICogYW5pbWF0aW9uLWRlbGF5IGFuZCBpbnN0ZWFkIHNldCBjdXN0b20ga2V5ZnJhbWVzIGZvciBlYWNoIGNvbG9yIChhcyByZWR1bmRhbnQgYXMgaXRcbiAqIHNlZW1zKS5cbiAqXG4gKiBXZSB3cml0ZSBvdXQgZWFjaCBhbmltYXRpb24gaW4gZnVsbCAoaW5zdGVhZCBvZiBzZXBhcmF0aW5nIGFuaW1hdGlvbi1uYW1lLFxuICogYW5pbWF0aW9uLWR1cmF0aW9uLCBldGMuKSBiZWNhdXNlIHVuZGVyIHRoZSBwb2x5ZmlsbCwgU2FmYXJpIGRvZXMgbm90IHJlY29nbml6ZSB0aG9zZVxuICogc3BlY2lmaWMgcHJvcGVydGllcyBwcm9wZXJseSwgdHJlYXRzIHRoZW0gYXMgLXdlYmtpdC1hbmltYXRpb24sIGFuZCBvdmVycmlkZXMgdGhlXG4gKiBvdGhlciBhbmltYXRpb24gcnVsZXMuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vUG9seW1lci9wbGF0Zm9ybS9pc3N1ZXMvNTMuXG4gKi9cbi5hY3RpdmUgLnNwaW5uZXItbGF5ZXIuc3Bpbm5lci1ibHVlIHtcbiAgLyogZHVyYXRpb25zOiA0ICogQVJDVElNRSAqL1xuICAtd2Via2l0LWFuaW1hdGlvbjogZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSkgaW5maW5pdGUgYm90aCwgYmx1ZS1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG4gIGFuaW1hdGlvbjogZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSkgaW5maW5pdGUgYm90aCwgYmx1ZS1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbi5hY3RpdmUgLnNwaW5uZXItbGF5ZXIuc3Bpbm5lci1yZWQge1xuICAvKiBkdXJhdGlvbnM6IDQgKiBBUkNUSU1FICovXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmaWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoLCByZWQtZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoO1xuICBhbmltYXRpb246IGZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGgsIHJlZC1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbi5hY3RpdmUgLnNwaW5uZXItbGF5ZXIuc3Bpbm5lci15ZWxsb3cge1xuICAvKiBkdXJhdGlvbnM6IDQgKiBBUkNUSU1FICovXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmaWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoLCB5ZWxsb3ctZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoO1xuICBhbmltYXRpb246IGZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGgsIHllbGxvdy1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbi5hY3RpdmUgLnNwaW5uZXItbGF5ZXIuc3Bpbm5lci1ncmVlbiB7XG4gIC8qIGR1cmF0aW9uczogNCAqIEFSQ1RJTUUgKi9cbiAgLXdlYmtpdC1hbmltYXRpb246IGZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGgsIGdyZWVuLWZhZGUtaW4tb3V0IDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuMiwgMSkgaW5maW5pdGUgYm90aDtcbiAgYW5pbWF0aW9uOiBmaWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoLCBncmVlbi1mYWRlLWluLW91dCA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbi5hY3RpdmUgLnNwaW5uZXItbGF5ZXIsXG4uYWN0aXZlIC5zcGlubmVyLWxheWVyLnNwaW5uZXItYmx1ZS1vbmx5LFxuLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5zcGlubmVyLXJlZC1vbmx5LFxuLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5zcGlubmVyLXllbGxvdy1vbmx5LFxuLmFjdGl2ZSAuc3Bpbm5lci1sYXllci5zcGlubmVyLWdyZWVuLW9ubHkge1xuICAvKiBkdXJhdGlvbnM6IDQgKiBBUkNUSU1FICovXG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmaWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoO1xuICBhbmltYXRpb246IGZpbGwtdW5maWxsLXJvdGF0ZSA1MzMybXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmaWxsLXVuZmlsbC1yb3RhdGUge1xuICAxMi41JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgIH0gLyogMC41ICogQVJDU0laRSAqL1xuICAyNSUgICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgIH0gLyogMSAgICogQVJDU0laRSAqL1xuICAzNy41JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKTsgIH0gLyogMS41ICogQVJDU0laRSAqL1xuICA1MCUgICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNTQwZGVnKTsgIH0gLyogMiAgICogQVJDU0laRSAqL1xuICA2Mi41JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNjc1ZGVnKTsgIH0gLyogMi41ICogQVJDU0laRSAqL1xuICA3NSUgICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoODEwZGVnKTsgIH0gLyogMyAgICogQVJDU0laRSAqL1xuICA4Ny41JSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTQ1ZGVnKTsgIH0gLyogMy41ICogQVJDU0laRSAqL1xuICB0byAgICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTA4MGRlZyk7IH0gLyogNCAgICogQVJDU0laRSAqL1xufVxuXG5Aa2V5ZnJhbWVzIGZpbGwtdW5maWxsLXJvdGF0ZSB7XG4gIDEyLjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgIH0gLyogMC41ICogQVJDU0laRSAqL1xuICAyNSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7ICB9IC8qIDEgICAqIEFSQ1NJWkUgKi9cbiAgMzcuNSUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyAgfSAvKiAxLjUgKiBBUkNTSVpFICovXG4gIDUwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNTQwZGVnKTsgIH0gLyogMiAgICogQVJDU0laRSAqL1xuICA2Mi41JSB7IHRyYW5zZm9ybTogcm90YXRlKDY3NWRlZyk7ICB9IC8qIDIuNSAqIEFSQ1NJWkUgKi9cbiAgNzUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg4MTBkZWcpOyAgfSAvKiAzICAgKiBBUkNTSVpFICovXG4gIDg3LjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoOTQ1ZGVnKTsgIH0gLyogMy41ICogQVJDU0laRSAqL1xuICB0byAgICB7IHRyYW5zZm9ybTogcm90YXRlKDEwODBkZWcpOyB9IC8qIDQgICAqIEFSQ1NJWkUgKi9cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJsdWUtZmFkZS1pbi1vdXQge1xuICBmcm9tIHsgb3BhY2l0eTogMTsgfVxuICAyNSUgeyBvcGFjaXR5OiAxOyB9XG4gIDI2JSB7IG9wYWNpdHk6IDA7IH1cbiAgODklIHsgb3BhY2l0eTogMDsgfVxuICA5MCUgeyBvcGFjaXR5OiAxOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbkBrZXlmcmFtZXMgYmx1ZS1mYWRlLWluLW91dCB7XG4gIGZyb20geyBvcGFjaXR5OiAxOyB9XG4gIDI1JSB7IG9wYWNpdHk6IDE7IH1cbiAgMjYlIHsgb3BhY2l0eTogMDsgfVxuICA4OSUgeyBvcGFjaXR5OiAwOyB9XG4gIDkwJSB7IG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJlZC1mYWRlLWluLW91dCB7XG4gIGZyb20geyBvcGFjaXR5OiAwOyB9XG4gIDE1JSB7IG9wYWNpdHk6IDA7IH1cbiAgMjUlIHsgb3BhY2l0eTogMTsgfVxuICA1MCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUxJSB7IG9wYWNpdHk6IDA7IH1cbn1cblxuQGtleWZyYW1lcyByZWQtZmFkZS1pbi1vdXQge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgfVxuICAxNSUgeyBvcGFjaXR5OiAwOyB9XG4gIDI1JSB7IG9wYWNpdHk6IDE7IH1cbiAgNTAlIHsgb3BhY2l0eTogMTsgfVxuICA1MSUgeyBvcGFjaXR5OiAwOyB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB5ZWxsb3ctZmFkZS1pbi1vdXQge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgfVxuICA0MCUgeyBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDE7IH1cbiAgNzUlIHsgb3BhY2l0eTogMTsgfVxuICA3NiUgeyBvcGFjaXR5OiAwOyB9XG59XG5cbkBrZXlmcmFtZXMgeWVsbG93LWZhZGUtaW4tb3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgNDAlIHsgb3BhY2l0eTogMDsgfVxuICA1MCUgeyBvcGFjaXR5OiAxOyB9XG4gIDc1JSB7IG9wYWNpdHk6IDE7IH1cbiAgNzYlIHsgb3BhY2l0eTogMDsgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZ3JlZW4tZmFkZS1pbi1vdXQge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgfVxuICA2NSUgeyBvcGFjaXR5OiAwOyB9XG4gIDc1JSB7IG9wYWNpdHk6IDE7IH1cbiAgOTAlIHsgb3BhY2l0eTogMTsgfVxuICAxMDAlIHsgb3BhY2l0eTogMDsgfVxufVxuXG5Aa2V5ZnJhbWVzIGdyZWVuLWZhZGUtaW4tb3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgNjUlIHsgb3BhY2l0eTogMDsgfVxuICA3NSUgeyBvcGFjaXR5OiAxOyB9XG4gIDkwJSB7IG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbn1cblxuLyoqXG4gKiBQYXRjaCB0aGUgZ2FwIHRoYXQgYXBwZWFyIGJldHdlZW4gdGhlIHR3byBhZGphY2VudCBkaXYuY2lyY2xlLWNsaXBwZXIgd2hpbGUgdGhlXG4gKiBzcGlubmVyIGlzIHJvdGF0aW5nIChhcHBlYXJzIG9uIENocm9tZSAzOCwgU2FmYXJpIDcuMSwgYW5kIElFIDExKS5cbiAqL1xuLmdhcC1wYXRjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA0NSU7XG4gIHdpZHRoOiAxMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuXG4uZ2FwLXBhdGNoIC5jaXJjbGUge1xuICB3aWR0aDogMTAwMCU7XG4gIGxlZnQ6IC00NTAlO1xufVxuXG4uY2lyY2xlLWNsaXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cbiAgLmNpcmNsZSB7XG4gICAgd2lkdGg6IDIwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci13aWR0aDogM3B4OyAvKiBTVFJPS0VXSURUSCAqL1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuXG4gICYubGVmdCAuY2lyY2xlIHtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEyOWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTI5ZGVnKTtcbiAgfVxuICAmLnJpZ2h0IC5jaXJjbGUge1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEyOWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyOWRlZyk7XG4gIH1cbn1cblxuXG5cbi5hY3RpdmUgLmNpcmNsZS1jbGlwcGVyLmxlZnQgLmNpcmNsZSB7XG4gIC8qIGR1cmF0aW9uOiBBUkNUSU1FICovXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsZWZ0LXNwaW4gMTMzM21zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoO1xuICBhbmltYXRpb246IGxlZnQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbi5hY3RpdmUgLmNpcmNsZS1jbGlwcGVyLnJpZ2h0IC5jaXJjbGUge1xuICAvKiBkdXJhdGlvbjogQVJDVElNRSAqL1xuICAtd2Via2l0LWFuaW1hdGlvbjogcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG4gIGFuaW1hdGlvbjogcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMC4wLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsZWZ0LXNwaW4ge1xuICBmcm9tIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpOyB9XG4gIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgbGVmdC1zcGluIHtcbiAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDEzMGRlZyk7IH1cbiAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMTMwZGVnKTsgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcmlnaHQtc3BpbiB7XG4gIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpOyB9XG4gIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgdG8geyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgcmlnaHQtc3BpbiB7XG4gIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgtMTMwZGVnKTsgfVxuICA1MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpOyB9XG59XG5cbiNzcGlubmVyQ29udGFpbmVyLmNvb2xkb3duIHtcbiAgLyogZHVyYXRpb246IFNIUklOS19USU1FICovXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBjb250YWluZXItcm90YXRlIDE1NjhtcyBsaW5lYXIgaW5maW5pdGUsIGZhZGUtb3V0IDQwMG1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKTtcbiAgYW5pbWF0aW9uOiBjb250YWluZXItcm90YXRlIDE1NjhtcyBsaW5lYXIgaW5maW5pdGUsIGZhZGUtb3V0IDQwMG1zIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC4yLCAxKTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtb3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDE7IH1cbiAgdG8geyBvcGFjaXR5OiAwOyB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZS1vdXQge1xuICBmcm9tIHsgb3BhY2l0eTogMTsgfVxuICB0byB7IG9wYWNpdHk6IDA7IH1cbn1cbiIsIi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vIEZ1bGxzY3JlZW4gc2xpZGVyXG4gICYuZnVsbHNjcmVlbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG5cbiAgICB1bC5zbGlkZXMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHVsLmluZGljYXRvcnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJvdHRvbTogMzBweDtcblxuICAgICAgLmluZGljYXRvci1pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1mdWxsc2NyZWVuLWluZGljYXRvci1jb2xvcjtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1mdWxsc2NyZWVuLWluZGljYXRvci1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIC5zbGlkZXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmctY29sb3I7XG4gICAgbWFyZ2luOiAwO1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgXG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmNhcHRpb24ge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE1JTtcbiAgICAgICAgbGVmdDogMTUlO1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5kaWNhdG9ycyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIC5pbmRpY2F0b3ItaXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIG1hcmdpbjogMCAxMnB4O1xuICAgIH1cblxuICAgIC5pbmRpY2F0b3ItaXRlbS1idG4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaW5kaWNhdG9yLWNvbG9yO1xuXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgIFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWluZGljYXRvci1jb2xvci1hY3RpdmU7XG4gICAgICB9XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi5jYXJvdXNlbCB7XG4gICYuY2Fyb3VzZWwtc2xpZGVyIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIC5jYXJvdXNlbC1maXhlZC1pdGVtIHtcbiAgICAgICYud2l0aC1pbmRpY2F0b3JzIHtcbiAgICAgICAgYm90dG9tOiA2OHB4O1xuICAgICAgfVxuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogJGNhcm91c2VsLWhlaWdodDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjYXJvdXNlbC1oZWlnaHQ7XG4gIHBlcnNwZWN0aXZlOiA1MDBweDtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuXG4gIC5jYXJvdXNlbC1pdGVtIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6ICRjYXJvdXNlbC1pdGVtLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWl0ZW0taGVpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgICYgPiBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmluZGljYXRvcnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIC5pbmRpY2F0b3ItaXRlbSB7XG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItY29sb3ItYWN0aXZlO1xuICAgICAgfVxuXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIHdpZHRoOiA4cHg7XG4gICAgICBtYXJnaW46IDI0cHggNHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcm91c2VsLWluZGljYXRvci1jb2xvcjtcblxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3M7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuICB9XG5cbiAgLy8gTWF0ZXJpYWxib3ggY29tcGF0aWJpbGl0eVxuICAmLnNjcm9sbGluZyAuY2Fyb3VzZWwtaXRlbSAubWF0ZXJpYWxib3hlZCxcbiAgLmNhcm91c2VsLWl0ZW06bm90KC5hY3RpdmUpIC5tYXRlcmlhbGJveGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuIiwiLnRhcC10YXJnZXQtd3JhcHBlciB7XG4gIHdpZHRoOiA4MDBweDtcbiAgaGVpZ2h0OiA4MDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgLjNzO1xufVxuXG4udGFwLXRhcmdldC13cmFwcGVyLm9wZW4ge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzO1xuXG4gIC50YXAtdGFyZ2V0IHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IC45NTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoLjQyLDAsLjU4LDEpLFxuICAgICAgb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40MiwwLC41OCwxKTtcbiAgfVxuXG4gIC50YXAtdGFyZ2V0LXdhdmU6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAudGFwLXRhcmdldC13YXZlOjphZnRlciB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBhbmltYXRpb246IHB1bHNlLWFuaW1hdGlvbiAxcyBjdWJpYy1iZXppZXIoMC4yNCwgMCwgMC4zOCwgMSkgaW5maW5pdGU7XG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIG9wYWNpdHkgLjNzLFxuICAgICAgdHJhbnNmb3JtIC4zcyxcbiAgICAgIHZpc2liaWxpdHkgMHMgMXM7XG4gIH1cbn1cblxuLnRhcC10YXJnZXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICBjb2xvcjogJGZvbnQtb24tc2Vjb25kYXJ5LWNvbG9yLW1haW47XG4gIGJveC1zaGFkb3c6IDAgMjBweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAxMHB4IDUwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDMwcHggMTBweCAtMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKC40MiwgMCwgLjU4LCAxKSxcbiAgb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKC40MiwgMCwgLjU4LCAxKTtcbn1cblxuLnRhcC10YXJnZXQtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbn1cblxuLnRhcC10YXJnZXQtd2F2ZSB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLWNvbG9yXG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgb3BhY2l0eSAuM3MsXG4gICAgICB0cmFuc2Zvcm0gLjNzLFxuICAgICAgdmlzaWJpbGl0eSAwcztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB6LWluZGV4OiAxMDAwMTtcbn1cblxuLnRhcC10YXJnZXQtb3JpZ2luIHtcbiAgJjpub3QoLmJ0biksXG4gICY6bm90KC5idG4pOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcblxuICB6LWluZGV4OiAxMDAwMjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLnRhcC10YXJnZXQsIC50YXAtdGFyZ2V0LXdyYXBwZXIge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICB9XG59XG4iLCIucHVsc2Uge1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzLCB0cmFuc2Zvcm0gLjNzO1xuICAgIGFuaW1hdGlvbjogcHVsc2UtYW5pbWF0aW9uIDFzIGN1YmljLWJlemllcigwLjI0LCAwLCAwLjM4LCAxKSBpbmZpbml0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBrZXlmcmFtZXMgcHVsc2UtYW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB9XG59XG4iLCIvKiBNb2RhbCAqL1xuLmRhdGVwaWNrZXItbW9kYWwge1xuICBtYXgtd2lkdGg6IDMyNXB4O1xuICBtaW4td2lkdGg6IDMwMHB4O1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuXG4uZGF0ZXBpY2tlci1jb250YWluZXIubW9kYWwtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzdXJmYWNlLWNvbG9yO1xufVxuXG4uZGF0ZXBpY2tlci1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDI4MHB4O1xuICBtYXJnaW46IDAgYXV0bztcblxuICAuc2VsZWN0cy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAuc2VsZWN0LXdyYXBwZXIge1xuICAgIGlucHV0IHtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuXG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5jYXJldCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5zZWxlY3QteWVhciBpbnB1dCB7XG4gICAgd2lkdGg6IDUwcHg7XG4gIH1cblxuICAuc2VsZWN0LW1vbnRoIGlucHV0IHtcbiAgICB3aWR0aDogODBweDtcbiAgfVxuXG4gIC5tb250aC1wcmV2LFxuICAubW9udGgtbmV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC5tb250aC1wcmV2ID4gc3ZnLFxuICAubW9udGgtbmV4dCA+IHN2ZyB7XG4gICAgZmlsbDogJGJ1dHRvbi1mbGF0LWNvbG9yO1xuICB9XG59XG5cbi5tb250aC1wcmV2LCAubW9udGgtbmV4dCB7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5cbi8qIERhdGUgRGlzcGxheSAqL1xuLmRhdGVwaWNrZXItZGF0ZS1kaXNwbGF5IHtcbiAgZmxleDogMSBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgY29sb3I6ICRmb250LW9uLXByaW1hcnktY29sb3ItbWFpbjtcbiAgcGFkZGluZzogMjBweCAyMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIC55ZWFyLXRleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGNvbG9yOiAkZGF0ZXBpY2tlci15ZWFyO1xuICB9XG5cbiAgLmRhdGUtdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDQ3cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxufVxuXG5cbi8qIENhbGVuZGFyICovXG4uZGF0ZXBpY2tlci1jYWxlbmRhci1jb250YWluZXIge1xuICBmbGV4OiAyLjUgYXV0bztcbn1cblxuLmRhdGVwaWNrZXItdGFibGUge1xuICB3aWR0aDogMjgwcHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgdGhlYWQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cblxuICB0aCB7XG4gICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgdHIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gIGFiYnIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGRhdGVwaWNrZXItY2FsZW5kYXItaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgdGQge1xuICAgIGNvbG9yOiAkZGF0ZXBpY2tlci1kYXktZm9udC1jb2xvcjtcblxuICAgICYuaXMtdG9kYXkge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICYuaXMtc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBjb2xvcjogJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluO1xuICAgIH1cblxuICAgICYuaXMtb3V0c2lkZS1jdXJyZW50LW1vbnRoLFxuICAgICYuaXMtZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRkYXRlcGlja2VyLWRheS1mb250LWNvbG9yLWRpc2FibGVkO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLmRhdGVwaWNrZXItZGF5LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhdGVwaWNrZXItZGF5LWhvdmVyO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhdGVwaWNrZXItZGF5LWZvY3VzO1xuICB9XG59XG5cblxuLyogRm9vdGVyICovXG4uZGF0ZXBpY2tlci1mb290ZXIge1xuICB3aWR0aDogMjgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5kYXRlcGlja2VyLWNhbmNlbCxcbi5kYXRlcGlja2VyLWNsZWFyLFxuLmRhdGVwaWNrZXItdG9kYXksXG4uZGF0ZXBpY2tlci1kb25lIHtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBwYWRkaW5nOiAwIDFyZW07XG59XG5cbi5kYXRlcGlja2VyLWNsZWFyIHtcbiAgY29sb3I6ICRlcnJvci1jb2xvcjtcbn1cblxuXG4vKiBNZWRpYSBRdWVyaWVzICovXG5AbWVkaWEgI3skbWVkaXVtLWFuZC11cH0ge1xuICAuZGF0ZXBpY2tlci1tb2RhbCB7XG4gICAgbWF4LXdpZHRoOiA2MjVweDtcbiAgfVxuXG4gIC5kYXRlcGlja2VyLWNvbnRhaW5lci5tb2RhbC1jb250ZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLmRhdGVwaWNrZXItZGF0ZS1kaXNwbGF5IHtcbiAgICBmbGV4OiAwIDEgMjcwcHg7XG4gIH1cblxuICAuZGF0ZXBpY2tlci1jb250cm9scyxcbiAgLmRhdGVwaWNrZXItdGFibGUsXG4gIC5kYXRlcGlja2VyLWZvb3RlciB7XG4gICAgd2lkdGg6IDMyMHB4O1xuICB9XG5cbiAgLmRhdGVwaWNrZXItZGF5LWJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIH1cbn1cbiIsIi8qIFRpbWVwaWNrZXIgQ29udGFpbmVycyAqL1xuLnRpbWVwaWNrZXItbW9kYWwge1xuICBtYXgtd2lkdGg6IDMyNXB4O1xuICBtYXgtaGVpZ2h0OiBub25lO1xufVxuXG4udGltZXBpY2tlci1jb250YWluZXIubW9kYWwtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDA7XG59XG5cbi50ZXh0LXByaW1hcnkge1xuICBjb2xvcjogJGZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluO1xufVxuXG5cbi8qIENsb2NrIERpZ2l0YWwgRGlzcGxheSAqL1xuLnRpbWVwaWNrZXItZGlnaXRhbC1kaXNwbGF5IHtcbiAgd2lkdGg6IDIwMHB4O1xuICBmbGV4OiAxIGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBwYWRkaW5nOiAxMHB4O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4udGltZXBpY2tlci10ZXh0LWNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICRmb250LW9uLXByaW1hcnktY29sb3ItbWVkaXVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIGlucHV0W3R5cGU9dGV4dF17XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgYm9yZGVyLWJvdHRvbTogMHB4O1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgfVxufVxuXG4udGltZXBpY2tlci1pbnB1dC1ob3Vycyxcbi50aW1lcGlja2VyLWlucHV0LW1pbnV0ZXMsXG4udGltZXBpY2tlci1zcGFuLWFtLXBtIGRpdiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuaW5wdXRbdHlwZT10ZXh0XS50aW1lcGlja2VyLWlucHV0LWhvdXJzIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdpZHRoOiAyOCU7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xufVxuXG5pbnB1dFt0eXBlPXRleHRdLnRpbWVwaWNrZXItaW5wdXQtbWludXRlcyB7XG4gIHdpZHRoOiAzMyU7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbmlucHV0W3R5cGU9dGV4dF0udGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7XG59XG5cbi50aW1lcGlja2VyLWRpc3BsYXktYW0tcG0ge1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMXJlbTtcbiAgYm90dG9tOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5cbi8qIEFuYWxvZyBDbG9jayBEaXNwbGF5ICovXG4udGltZXBpY2tlci1hbmFsb2ctZGlzcGxheSB7XG4gIGZsZXg6IDIuNSBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGltZXBpY2tlci1jbG9jay1iZztcbn1cblxuLnRpbWVwaWNrZXItcGxhdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGltZXBpY2tlci1jbG9jay1wbGF0ZS1iZztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogMjcwcHg7XG4gIGhlaWdodDogMjcwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnRpbWVwaWNrZXItY2FudmFzLFxuLnRpbWVwaWNrZXItZGlhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG4udGltZXBpY2tlci1taW51dGVzIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udGltZXBpY2tlci10aWNrIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogJHRpbWVwaWNrZXItY2xvY2stY29sb3I7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbi50aW1lcGlja2VyLXRpY2suYWN0aXZlLFxuLnRpbWVwaWNrZXItdGljazpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yLWhvdmVyLW9wYXF1ZTtcbn1cblxuLnRpbWVwaWNrZXItZGlhbCB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzNTBtcywgb3BhY2l0eSAzNTBtcztcbn1cblxuLnRpbWVwaWNrZXItZGlhbC1vdXQge1xuICAmLnRpbWVwaWNrZXItaG91cnMge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xLCAxLjEpO1xuICB9XG5cbiAgJi50aW1lcGlja2VyLW1pbnV0ZXMge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjgsIC44KTtcbiAgfVxuXG4gIG9wYWNpdHk6IDA7XG59XG5cbi50aW1lcGlja2VyLWNhbnZhcyB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTc1bXM7XG5cbiAgbGluZSB7XG4gICAgc3Ryb2tlOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBzdHJva2Utd2lkdGg6IDQ7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICB9XG59XG5cbi50aW1lcGlja2VyLWNhbnZhcy1vdXQge1xuICBvcGFjaXR5OiAwLjI1O1xufVxuXG4udGltZXBpY2tlci1jYW52YXMtYmVhcmluZyB7XG4gIHN0cm9rZTogbm9uZTtcbiAgZmlsbDogJHByaW1hcnktY29sb3I7XG59XG5cbi50aW1lcGlja2VyLWNhbnZhcy1iZyB7XG4gIHN0cm9rZTogbm9uZTtcbiAgZmlsbDogJHByaW1hcnktY29sb3I7XG59XG5cblxuLyogRm9vdGVyICovXG4udGltZXBpY2tlci1mb290ZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogNXB4IDFyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnRpbWVwaWNrZXItY2xlYXIge1xuICBjb2xvcjogJGVycm9yLWNvbG9yO1xufVxuXG4udGltZXBpY2tlci1jbG9zZSB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuLnRpbWVwaWNrZXItY2xlYXIsXG4udGltZXBpY2tlci1jbG9zZSB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbn1cblxuLyogTWVkaWEgUXVlcmllcyAqL1xuQG1lZGlhICN7JG1lZGl1bS1hbmQtdXB9IHtcbiAgLnRpbWVwaWNrZXItbW9kYWwge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gIH1cblxuICAudGltZXBpY2tlci1jb250YWluZXIubW9kYWwtY29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gIC50aW1lcGlja2VyLXRleHQtY29udGFpbmVyIHtcbiAgICB0b3A6IDMyJTtcbiAgfVxuXG4gIC50aW1lcGlja2VyLWRpc3BsYXktYW0tcG0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDEuMnJlbTtcbiAgfVxufVxuIiwiLnZpc2l0YS1yZXN1bWVuIHtcbiAgICAtLWNhcmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2FyZC1jb2xvcik7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbmRpY2Fkb3JlcyB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICBjdXJzb3I6IGhlbHA7XG4gICAgICAgIC5pbmRpY2Fkb3I6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9saW8ge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG9yLW1haW4pO1xuICAgIH1cblxuICAgIC50aXBvLCAucHJvdmVlZG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWZvbnQtb24tcHJpbWFyeS1jb2xvci1tZWRpdW0pO1xuICAgICAgICB9ICAgXG4gICAgfVxuXG4gICAgLmNvbWVudGFyaW9zIHtcblxuICAgIH0gICAgXG59XG4uY2FyZC5pdGluZXJhcmlvIHtcbiAgICBwYWRkaW5nOiA1cHggMXJlbTtcbiAgICAuZmVjaGEsIC5ob3JhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5jb21wbGVtZW50by5lc3RhZG8gcCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59IiwiLnZpc2l0YW50ZS1yZXN1bWVuLCAuZW1wbGVhZG8tcmVzdW1lbiB7XG4gICAgLS1zdGF0dXMtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwYWRkaW5nLXRvcDogNzJweDtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgIC5wcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNDVweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEyOHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLXN0YXR1cy1jb2xvcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDgwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIH1cbiAgICBcbiAgICAuaW5kaWNhZG9yZXMge1xuICAgICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICAgICAgY3Vyc29yOiBoZWxwO1xuICAgICAgICAuaW5kaWNhZG9yOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2NlZGVuY2lhLCAuZXN0YWRvLCAuc2l0dWFjaW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5ub21icmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbn0iLCIudW5pZGFkLXJlc3VtZW4ge1xuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWZvbnQtb24tcHJpbWFyeS1jb2xvci1tYWluKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW5kaWNhZG9yZXMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBjdXJzb3I6IGhlbHA7XG4gICAgICAgIC5pbmRpY2Fkb3I6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kZWxvLCAudGlwbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1mb250LW9uLXByaW1hcnktY29sb3ItbWVkaXVtKTtcbiAgICAgICAgfSAgIFxuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvci1tYWluKTtcbiAgICB9XG59IiwiLnRpbWVsaW5lIHtcbiAgICAtLWNoaWxkLW1pbi1jcm9zcy1heGlzLWhlaWdodDogOHJlbTtcbiAgICAtLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXN1cmZhY2UtY29sb3IpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgICYuaG9yaXpvbnRhbCB7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgJi5hbHRlcm5hdGUge1xuICAgICAgICAgICAgLnRpbWVzbG90Om50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAgICAgIC5kYXRhIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxNXB4IHNvbGlkIHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNvbXBsZW1lbnRvIHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAudGltZXNsb3Q6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgLmRhdGEge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTVweCBzb2xpZCB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50aW1lc2xvdCB7XG4gICAgICAgICAgICAuZGF0YSwgLmNvbXBsZW1lbnRvIHsgXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1jaGlsZC1taW4tY3Jvc3MtYXhpcy1oZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJsb2NrIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICYuYWx0ZXJuYXRlIHtcbiAgICAgICAgICAgIC50aW1lc2xvdDpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnRpbWVzbG90Om50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGltZXNsb3Qge1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLWNoaWxkLWNyb3NzLWF4aXMtaGVpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmJldHdlZW4ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgICYuY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICYuZXZlbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgIH1cbiAgICAmLnN0YXJ0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAmLmVuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICAgICYuYXJvdW5kIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuXG4gICAgLnRpbWVzbG90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLmRhdGEsIC5jb21wbGVtZW50byB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIC5pdGluZXJhcmlvIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgICAgICAgICAgY29sb3I6ICNlZWU7XG4gICAgICAgIH1cbiAgICAgICAgJi5jbG9zZWQ6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuY3VtcGxlYW5vcy1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiA1cHggMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzJweCA1cHggMzJweCA1cHg7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3ItbWFpbik7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xuICAgIC5kYXRhIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1lZGFkKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjVkZWcpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG4gICAgICAgICYgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZ29ycml0byB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzMnB4O1xuICAgICAgICBsZWZ0OiA2NSU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItaG92ZXIpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cblxuICAgICYuaGJkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLXByaW1hcnktY29sb3IpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/