/**
 * Import Compass
 */
/* ==========================================================================
   Icon Library Mixin
   ========================================================================== */
/* ==========================================================================
   Shadows
   ========================================================================== */
/* ==========================================================================
   Forms
   ========================================================================== */
.t-Form-fieldContainer {
  border-spacing: 0;
  width: auto;
  clear: both;
  /* display the icon to the left of the input field */ }
  .col > .t-Form-fieldContainer {
    margin-right: -8px;
    margin-left: -8px; }
  .t-Form-fieldContainer .apex-item-icon {
    float: none;
    position: relative;
    padding: 4px;
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    left: 24px;
    margin-left: -24px; }
    .u-RTL .t-Form-fieldContainer .apex-item-icon {
      left: auto;
      right: 24px; }
    .u-RTL .t-Form-fieldContainer .apex-item-icon {
      margin-left: 0px;
      margin-right: -24px; }
  .t-Form-fieldContainer .apex-item-has-icon {
    text-indent: 20px; }
    .t-Form-fieldContainer .apex-item-has-icon:focus + .apex-item-icon {
      z-index: 2; }

.t-Form-labelContainer,
.t-Form-inputContainer {
  padding: .8rem; }

.t-Form-labelContainer {
  text-align: right;
  float: left; }
  .u-RTL .t-Form-labelContainer {
    text-align: left; }

.t-Form-inputContainer {
  position: relative;
  overflow: hidden; }

.t-Form-itemWrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

/* Input Field Ordering
   --
   Necessary for proper item icon positioning
   ========================================================================== */
.t-Form-itemText--pre {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.t-Form-inputContainer input,
.t-Form-inputContainer select,
.t-Form-inputContainer textarea,
.t-Form-inputContainer .a-Button--calendar {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.t-Form-itemWrapper .apex-item-icon,
.t-Form-itemWrapper fieldset {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.t-Form-itemText--post {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.t-Form-itemWrapper .t-Button--helpButton {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.t-Form-itemWrapper .apex-quick-picks {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

.t-Form-itemWrapper .u-Processing--inline {
  -webkit-order: 999;
      -ms-flex-order: 999;
          order: 999; }

/* Responsive Handling
   ========================================================================== */
.t-Form-label {
  padding: .4rem 0;
  line-height: 1.6rem;
  display: inline-block;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  font-size: 1.2rem; }

.t-Form-inputContainer input[type="text"],
.t-Form-inputContainer select.selectlist[size="1"],
.t-Form-inputContainer select.yes_no,
.t-Form-inputContainer input.text_field,
.t-Form-inputContainer input.password,
.t-Form-inputContainer input.datepicker,
.t-Form-inputContainer input.popup_lov,
.u-TF-item--text,
.u-TF-item--datepicker,
.u-TF-item--select {
  height: 2.4rem; }

.t-Form-inputContainer span.display_only {
  min-height: 2.4rem; }

.t-Form-inputContainer input[type=text],
.t-Form-inputContainer input[type=password] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none; }

.t-Form-inputContainer input[type="text"],
.t-Form-inputContainer select.selectlist,
.t-Form-inputContainer select.yes_no,
.t-Form-inputContainer input.text_field,
.t-Form-inputContainer input.password,
.t-Form-inputContainer textarea.textarea,
.t-Form-inputContainer input.datepicker,
.t-Form-inputContainer span.display_only,
.t-Form-inputContainer input.popup_lov,
.t-Form-inputContainer select[multiple],
.u-TF-item--text,
.u-TF-item--textarea,
.u-TF-item--datepicker,
.u-TF-item--select {
  display: inline-block;
  font-size: 1.2rem;
  vertical-align: top;
  line-height: 1.6rem;
  padding: .3rem;
  border: 1px solid;
  border-radius: 2px;
  max-width: 100%;
  transition: background-color .1s ease, border .1s ease; }
  .t-Form-inputContainer input[type="text"]:focus,
  .t-Form-inputContainer select.selectlist:focus,
  .t-Form-inputContainer select.yes_no:focus,
  .t-Form-inputContainer input.text_field:focus,
  .t-Form-inputContainer input.password:focus,
  .t-Form-inputContainer textarea.textarea:focus,
  .t-Form-inputContainer input.datepicker:focus,
  .t-Form-inputContainer span.display_only:focus,
  .t-Form-inputContainer input.popup_lov:focus,
  .t-Form-inputContainer select[multiple]:focus,
  .u-TF-item--text:focus,
  .u-TF-item--textarea:focus,
  .u-TF-item--datepicker:focus,
  .u-TF-item--select:focus {
    z-index: 1;
    outline: none; }

.t-Form input.file {
  display: inline-block;
  font-size: 1.4rem;
  vertical-align: middle;
  line-height: 1.6rem; }

.t-Form-inputContainer textarea.textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  min-height: 6.4rem;
  font-family: 'Menlo', 'Consolas', monospace, serif; }

.t-Form-inputContainer span.display_only {
  box-shadow: none;
  font-weight: bold; }

.t-Form-inputContainer select.selectlist[size="1"].apex-item-has-icon,
.t-Form-inputContainer select.yes_no.apex-item-has-icon {
  text-indent: 20px; }

.a-IRR-selectList[size="1"],
.t-Form-inputContainer select.selectlist[size="1"],
.t-Form-inputContainer select.yes_no,
.u-TF-item--select {
  -webkit-appearance: none;
  -moz-appearance: none;
  text-indent: 0.01px;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MDAiIGhlaWdodD0iMjAwIiB2aWV3Qm94PSItOTkuNSAwLjUgNDAwIDIwMCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAtOTkuNSAwLjUgNDAwIDIwMCI+PHBhdGggZmlsbD0iIzQ0NCIgZD0iTTE1Ni4yNSA3My43YzAgMS42LS42MTIgMy4yLTEuODI1IDQuNDI1bC01NC40MjUgNTQuNDI1LTU0LjQyNS01NC40MjVjLTIuNDM4LTIuNDM4LTIuNDM4LTYuNCAwLTguODM3czYuNC0yLjQzOCA4LjgzNyAwbDQ1LjU4OCA0NS41NzQgNDUuNTc1LTQ1LjU3NWMyLjQzOC0yLjQzOCA2LjM5OS0yLjQzOCA4LjgzNyAwIDEuMjI2IDEuMjI2IDEuODM4IDIuODI1IDEuODM4IDQuNDEzeiIvPjwvc3ZnPg==);
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 32px 16px;
  padding-right: 3.2rem; }
  .ie9 .a-IRR-selectList[size="1"], .lt-ie9 .a-IRR-selectList[size="1"], .lt-ie10 .a-IRR-selectList[size="1"], .ie9
  .t-Form-inputContainer select.selectlist[size="1"], .lt-ie9
  .t-Form-inputContainer select.selectlist[size="1"], .lt-ie10
  .t-Form-inputContainer select.selectlist[size="1"], .ie9
  .t-Form-inputContainer select.yes_no, .lt-ie9
  .t-Form-inputContainer select.yes_no, .lt-ie10
  .t-Form-inputContainer select.yes_no, .ie9
  .u-TF-item--select, .lt-ie9
  .u-TF-item--select, .lt-ie10
  .u-TF-item--select {
    background-image: none;
    padding-right: 0px; }
  .u-RTL .a-IRR-selectList[size="1"], .u-RTL
  .t-Form-inputContainer select.selectlist[size="1"], .u-RTL
  .t-Form-inputContainer select.yes_no, .u-RTL
  .u-TF-item--select {
    background-position: 0 50%;
    padding-right: 0.8rem;
    padding-left: 3.2rem; }
  .a-IRR-selectList[size="1"]:focus,
  .t-Form-inputContainer select.selectlist[size="1"]:focus,
  .t-Form-inputContainer select.yes_no:focus,
  .u-TF-item--select:focus {
    outline: none; }
  .a-IRR-selectList[size="1"]:-moz-focusring, .a-IRR-selectList[size="1"]::-moz-focus-inner,
  .t-Form-inputContainer select.selectlist[size="1"]:-moz-focusring,
  .t-Form-inputContainer select.selectlist[size="1"]::-moz-focus-inner,
  .t-Form-inputContainer select.yes_no:-moz-focusring,
  .t-Form-inputContainer select.yes_no::-moz-focus-inner,
  .u-TF-item--select:-moz-focusring,
  .u-TF-item--select::-moz-focus-inner {
    outline: none; }

body:not(:-moz-handler-blocked) .t-Form-select {
  padding: .2rem 1.2rem .2rem .2rem; }

.t-Form-field--readOnly {
  border: none;
  box-shadow: none;
  font-weight: bold; }

.hasDatepicker {
  margin: 0; }

.u-TF-item--radio,
.u-TF-item--checkbox {
  margin-right: 4px; }

.t-Form-inputContainer fieldset.radio_group:focus,
.t-Form-inputContainer fieldset.checkbox_group:focus {
  outline: none; }

.t-Form-radioLabel,
.t-Form-inputContainer .radio_group label,
.t-Form-checkboxLabel,
.t-Form-inputContainer .checkbox_group label {
  font-size: 1.2rem;
  line-height: 1.6rem; }

.t-Form-inputContainer .radio_group input:checked + label,
.t-Form-inputContainer .checkbox_group input:checked + label {
  font-weight: bold; }

/* ==========================================================================
   Radio and Checkbox Styles
   ========================================================================== */
.t-Form-inputContainer fieldset {
  outline: none !important; }

.t-Form-inputContainer table.radio_group,
.t-Form-inputContainer table.checkbox_group {
  display: table;
  table-layout: fixed;
  border-spacing: 0; }
  .t-Form-inputContainer table.radio_group td,
  .t-Form-inputContainer table.checkbox_group td {
    padding: 0;
    padding-right: 8px; }
    .t-Form-inputContainer table.radio_group td:last-child,
    .t-Form-inputContainer table.checkbox_group td:last-child {
      padding-right: 0; }

/* ==========================================================================
   Validations
   ========================================================================== */
.a-Form-error,
.t-Form-error {
  font-size: 1.1rem;
  line-height: 1.6rem;
  display: block;
  margin-top: 4px;
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }
  .a-Form-error:empty,
  .t-Form-error:empty {
    display: none; }

/* ==========================================================================
   APEX Generated UI Buttons for Forms (Popup LOV)
   ========================================================================== */
.t-Form-inputContainer .a-Button,
.t-Form-inputContainer .t-Button {
  padding: .4rem .8rem;
  vertical-align: top; }

.u-TF-item--datepicker,
span.lov .u-TF-item--text {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important; }

span.lov,
.u-TF-itemWrap {
  white-space: nowrap; }

.t-Form-inputContainer fieldset.lov .a-Button,
.t-Form-inputContainer .a-Button--calendar,
.u-TF-item--datepicker + .a-Button--calendar,
.a-Button.a-Button--popupLOV {
  margin-left: -.1rem; }

.t-Form-inputContainer fieldset.lov td.lov {
  position: relative; }

.t-Form-inputContainer fieldset.lov .apex-item-icon {
  position: absolute; }

.t-Form-inputContainer fieldset .a-Button {
  vertical-align: top; }

.u-TF-item--datepicker + .a-Button--calendar,
.a-Button.a-Button--popupLOV {
  vertical-align: top;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important; }

/* ==========================================================================
   Help Button
   ========================================================================== */
.t-Button--helpButton {
  padding: .4rem .8rem;
  vertical-align: top; }
  .t-Button--helpButton .a-Icon {
    opacity: .25; }
  .t-Button--helpButton:hover .a-Icon {
    opacity: .75; }

/* ==========================================================================
   Large Form
   ========================================================================== */
.t-Form--large .t-Form-itemText,
.t-Form-fieldContainer--large .t-Form-itemText {
  line-height: 3.2rem;
  font-size: 1.4rem; }

.t-Form--large .apex-item-icon,
.t-Form-fieldContainer--large .apex-item-icon {
  padding: 8px;
  left: 32px;
  margin-left: -32px; }
  .u-RTL .t-Form--large .apex-item-icon, .u-RTL
  .t-Form-fieldContainer--large .apex-item-icon {
    left: auto;
    right: 32px; }
  .u-RTL .t-Form--large .apex-item-icon, .u-RTL
  .t-Form-fieldContainer--large .apex-item-icon {
    margin-left: 0px;
    margin-right: -32px; }

.t-Form--large .apex-item-has-icon,
.t-Form-fieldContainer--large .apex-item-has-icon {
  text-indent: 20px; }

.t-Form--large .t-Form-label,
.t-Form-fieldContainer--large .t-Form-label {
  padding: .8rem 0;
  line-height: 1.6rem;
  font-size: 1.4rem; }

.t-Form--large .t-Form-inputContainer input[type="text"],
.t-Form--large select.selectlist[size="1"],
.t-Form--large select.yes_no,
.t-Form--large input.text_field,
.t-Form--large input.password,
.t-Form--large input.datepicker,
.t-Form--large span.display_only,
.t-Form--large input.popup_lov,
.t-Form-fieldContainer--large .t-Form-inputContainer input[type="text"],
.t-Form-fieldContainer--large select.selectlist[size="1"],
.t-Form-fieldContainer--large select.yes_no,
.t-Form-fieldContainer--large input.text_field,
.t-Form-fieldContainer--large input.password,
.t-Form-fieldContainer--large input.datepicker,
.t-Form-fieldContainer--large span.display_only,
.t-Form-fieldContainer--large input.popup_lov {
  font-size: 1.4rem;
  padding: .7rem;
  height: 3.2rem; }

.t-Form--large select.selectlist,
.t-Form--large select.yes_no,
.t-Form-fieldContainer--large select.selectlist,
.t-Form-fieldContainer--large select.yes_no {
  font-size: 1.4rem;
  padding: .7rem; }

.t-Form--large select.selectlist[size="1"],
.t-Form--large select.yes_no,
.t-Form-fieldContainer--large select.selectlist[size="1"],
.t-Form-fieldContainer--large select.yes_no {
  padding-right: 4.0rem; }

.t-Form--large .t-Button.t-Button--helpButton,
.t-Form--large .a-Button.a-Button--calendar,
.t-Form-fieldContainer--large .t-Button.t-Button--helpButton,
.t-Form-fieldContainer--large .a-Button.a-Button--calendar {
  padding: .8rem 1.2rem; }

.t-Form--large .t-Form-radioLabel,
.t-Form--large .radio_group label,
.t-Form--large .t-Form-checkboxLabel,
.t-Form--large .checkbox_group label,
.t-Form--large select[multiple],
.t-Form-fieldContainer--large .t-Form-radioLabel,
.t-Form-fieldContainer--large .radio_group label,
.t-Form-fieldContainer--large .t-Form-checkboxLabel,
.t-Form-fieldContainer--large .checkbox_group label,
.t-Form-fieldContainer--large select[multiple] {
  font-size: 1.4rem;
  line-height: 2.0rem; }

.t-Form--large .t-Form-inputContainer .a-Button,
.t-Form-fieldContainer--large .t-Form-inputContainer .a-Button {
  padding: .8rem 1.2rem; }

.t-Form--large.t-Form--labelsAbove .t-Form-fieldContainer .t-Form-labelContainer--hiddenLabel,
.t-Form-fieldContainer--stacked.t-Form--fieldContainer--large .t-Form-labelContainer--hiddenLabel {
  height: 4.0rem; }

/* Button Groups for Radio Buttons */
.t-Form--large .t-Form-fieldContainer--radioButtonGroup table.radio_group input + label,
.t-Form-fieldContainer--large.t-Form-fieldContainer--radioButtonGroup table.radio_group input + label,
.t-Form--large .apex-button-group table.radio_group input + label,
.t-Form-fieldContainer--large .apex-button-group table.radio_group input + label {
  padding: 8px 12px;
  line-height: 1.6rem;
  font-size: 1.2rem; }

/* ==========================================================================
   X Large Form
   ========================================================================== */
.t-Form--xlarge .t-Form-itemText,
.t-Form-fieldContainer--xlarge .t-Form-itemText {
  line-height: 4.0rem;
  font-size: 1.6rem; }

.t-Form--xlarge .apex-item-icon,
.t-Form-fieldContainer--xlarge .apex-item-icon {
  padding: 12px 8px 12px 12px;
  left: 36px;
  margin-left: -36px; }

.t-Form--xlarge .apex-item-has-icon,
.t-Form-fieldContainer--xlarge .apex-item-has-icon {
  text-indent: 24px; }

.t-Form--xlarge .t-Form-inputContainer select.selectlist[size="1"].apex-item-has-icon,
.t-Form--xlarge .t-Form-inputContainer select.yes_no.apex-item-has-icon,
.t-Form-fieldContainer--xlarge .t-Form-inputContainer select.selectlist[size="1"].apex-item-has-icon,
.t-Form-fieldContainer--xlarge .t-Form-inputContainer select.yes_no.apex-item-has-icon {
  text-indent: 20px; }

.t-Form--xlarge .t-Form-label,
.t-Form-fieldContainer--xlarge .t-Form-label {
  padding: 1.2rem 0;
  line-height: 1.6rem;
  font-size: 1.6rem; }

.t-Form--xlarge .t-Form-inputContainer input[type="text"],
.t-Form--xlarge select.selectlist[size="1"],
.t-Form--xlarge select.yes_no,
.t-Form--xlarge input.text_field,
.t-Form--xlarge input.password,
.t-Form--xlarge input.datepicker,
.t-Form--xlarge span.display_only,
.t-Form--xlarge input.popup_lov,
.t-Form-fieldContainer--xlarge .t-Form-inputContainer input[type="text"],
.t-Form-fieldContainer--xlarge select.selectlist[size="1"],
.t-Form-fieldContainer--xlarge select.yes_no,
.t-Form-fieldContainer--xlarge input.text_field,
.t-Form-fieldContainer--xlarge input.password,
.t-Form-fieldContainer--xlarge input.datepicker,
.t-Form-fieldContainer--xlarge span.display_only,
.t-Form-fieldContainer--xlarge input.popup_lov {
  font-size: 1.6rem;
  padding: .9rem;
  height: 4.0rem; }

.t-Form--xlarge select.selectlist,
.t-Form--xlarge select.yes_no,
.t-Form-fieldContainer--xlarge select.selectlist,
.t-Form-fieldContainer--xlarge select.yes_no {
  font-size: 1.6rem;
  padding: .9rem;
  line-height: 2rem; }

.t-Form--xlarge select.selectlist[size="1"],
.t-Form--xlarge select.yes_no,
.t-Form-fieldContainer--xlarge select.selectlist[size="1"],
.t-Form-fieldContainer--xlarge select.yes_no {
  padding-right: 4.8rem; }

.t-Form--xlarge .t-Form-radioLabel,
.t-Form--xlarge .radio_group label,
.t-Form--xlarge .t-Form-checkboxLabel,
.t-Form--xlarge .checkbox_group label,
.t-Form--xlarge select[multiple],
.t-Form-fieldContainer--xlarge .t-Form-radioLabel,
.t-Form-fieldContainer--xlarge .radio_group label,
.t-Form-fieldContainer--xlarge .t-Form-checkboxLabel,
.t-Form-fieldContainer--xlarge .checkbox_group label,
.t-Form-fieldContainer--xlarge select[multiple] {
  font-size: 1.6rem;
  line-height: 3.2rem; }

.t-Form--xlarge .t-Form-inputContainer .a-Button,
.t-Form--xlarge .t-Form-inputContainer .t-Button,
.t-Form-fieldContainer--xlarge .t-Form-inputContainer .a-Button,
.t-Form-fieldContainer--xlarge .t-Form-inputContainer .t-Button {
  padding: 1.2rem; }

.t-Form-postText {
  display: block;
  font-size: 1.2rem;
  margin: 0; }

.t-Form--xlarge.t-Form--labelsAbove .t-Form-fieldContainer .t-Form-labelContainer--hiddenLabel,
.t-Form-fieldContainer--stacked.t-Form--fieldContainer--xlarge .t-Form-labelContainer--hiddenLabel {
  height: 4.8rem; }

/* Button Groups for Radio Buttons */
.t-Form--xlarge .t-Form-fieldContainer--radioButtonGroup table.radio_group input + label,
.t-Form-fieldContainer--xlarge.t-Form-fieldContainer--radioButtonGroup table.radio_group input + label,
.t-Form--xlarge .apex-button-group table.radio_group input + label,
.t-Form-fieldContainer--xlarge .apex-button-group table.radio_group input + label {
  padding: 12px;
  font-size: 1.4rem;
  line-height: 1.6rem; }

/* ==========================================================================
   No Padding
   ========================================================================== */
.t-Form--noPadding .t-Form-inputContainer,
.t-Form--noPadding .t-Form-labelContainer {
  padding-top: 0;
  padding-bottom: 0; }

/* ==========================================================================
   Slim Padding
   ========================================================================== */
.t-Form--slimPadding .t-Form-inputContainer,
.t-Form--slimPadding .t-Form-labelContainer {
  padding-top: 0.4rem;
  padding-bottom: 0.4rem; }

/* ==========================================================================
   Table Based
   ========================================================================== */
.t-Form--tableBased .t-Form-labelContainer {
  width: auto;
  margin-right: .8rem; }

.t-Form--tableBased select.selectlist {
  max-width: 100%; }

/* ==========================================================================
   Wizard
   ========================================================================== */
.t-Form--wizard select.selectlist,
.t-Form--wizard input.text_field {
  min-width: 32.0rem;
  max-width: 52.0rem; }

/* ==========================================================================
   Labels Above
   ========================================================================== */
.t-Form--labelsAbove .t-Form-fieldContainer.rel-col > .col,
.t-Form-fieldContainer--stacked.rel-col > .col {
  width: auto !important;
  float: none;
  display: block; }

.t-Form--labelsAbove .t-Form-fieldContainer .t-Button--helpButton,
.t-Form-fieldContainer--stacked .t-Button--helpButton {
  vertical-align: top; }

.t-Form--labelsAbove .t-Form-fieldContainer .t-Form-labelContainer,
.t-Form-fieldContainer--stacked .t-Form-labelContainer {
  width: auto;
  text-align: left;
  float: none;
  padding-bottom: 0; }
  .u-RTL .t-Form--labelsAbove .t-Form-fieldContainer .t-Form-labelContainer, .u-RTL
  .t-Form-fieldContainer--stacked .t-Form-labelContainer {
    text-align: right; }

.t-Form--labelsAbove .t-Form-fieldContainer .t-Form-labelContainer--hiddenLabel,
.t-Form-fieldContainer--stacked .t-Form-labelContainer--hiddenLabel {
  height: 3.2rem; }

.t-Form--labelsAbove .t-Form-fieldContainer .t-Form-inputContainer,
.t-Form-fieldContainer--stacked .t-Form-inputContainer {
  padding-top: 0; }

.t-Form--labelsAbove .t-Form-fieldContainer select.selectlist,
.t-Form-fieldContainer--stacked select.selectlist {
  max-width: 100%; }

.t-Form--labelsAbove .t-Form-fieldContainer .t-Form-radio,
.t-Form--labelsAbove .t-Form-fieldContainer .t-Form fieldset.radio_group,
.t-Form-fieldContainer--stacked .t-Form-radio,
.t-Form-fieldContainer--stacked .t-Form fieldset.radio_group {
  display: block;
  margin-left: 2.4rem; }

/* ==========================================================================
   Stretch Inputs
   ========================================================================== */
.t-Form--stretchInputs .t-Form-fieldContainer .t-Form-itemWrapper,
.t-Form-fieldContainer--stretchInputs .t-Form-itemWrapper {
  width: 100%; }

.t-Form--stretchInputs .t-Form-fieldContainer .t-Form-inputContainer input[type="text"],
.t-Form--stretchInputs .t-Form-fieldContainer select.selectlist,
.t-Form--stretchInputs .t-Form-fieldContainer select.yes_no,
.t-Form--stretchInputs .t-Form-fieldContainer input.text_field,
.t-Form--stretchInputs .t-Form-fieldContainer input.password,
.t-Form--stretchInputs .t-Form-fieldContainer input.datepicker,
.t-Form--stretchInputs .t-Form-fieldContainer span.display_only,
.t-Form--stretchInputs .t-Form-fieldContainer input.popup_lov,
.t-Form-fieldContainer--stretchInputs .t-Form-inputContainer input[type="text"],
.t-Form-fieldContainer--stretchInputs select.selectlist,
.t-Form-fieldContainer--stretchInputs select.yes_no,
.t-Form-fieldContainer--stretchInputs input.text_field,
.t-Form-fieldContainer--stretchInputs input.password,
.t-Form-fieldContainer--stretchInputs input.datepicker,
.t-Form-fieldContainer--stretchInputs span.display_only,
.t-Form-fieldContainer--stretchInputs input.popup_lov {
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0; }

.t-Form--stretchInputs .t-Form-fieldContainer fieldset,
.t-Form--stretchInputs .t-Form-fieldContainer textarea,
.t-Form--stretchInputs .t-Form-fieldContainer table,
.t-Form--stretchInputs .t-Form-fieldContainer td.lov,
.t-Form--stretchInputs .t-Form-fieldContainer input.popup_lov,
.t-Form-fieldContainer--stretchInputs fieldset,
.t-Form-fieldContainer--stretchInputs textarea,
.t-Form-fieldContainer--stretchInputs table,
.t-Form-fieldContainer--stretchInputs td.lov,
.t-Form-fieldContainer--stretchInputs input.popup_lov {
  width: 100%; }

/* ==========================================================================
   Responsive Checkbox Labels
   ========================================================================== */
.t-Form-fieldContainer--resCheckRadio fieldset.radio_group,
.t-Form-fieldContainer--resCheckRadio fieldset.checkbox_group {
  display: block; }

.t-Form-fieldContainer--resCheckRadio table.checkbox_group {
  display: block; }
  .t-Form-fieldContainer--resCheckRadio table.checkbox_group tbody, .t-Form-fieldContainer--resCheckRadio table.checkbox_group tr, .t-Form-fieldContainer--resCheckRadio table.checkbox_group td {
    display: block; }
  .t-Form-fieldContainer--resCheckRadio table.checkbox_group td {
    width: 50%;
    float: left; }

.t-Form-fieldContainer.is-required .t-Form-label:before, .t-Form-fieldContainer.is-required .t-Form-label:after {
  content: "\e058";
  font-family: "apex-5-icon-font" !important;
  font-size: 16px;
  vertical-align: bottom;
  color: red; }

.t-Form-fieldContainer.is-required .t-Form-label:after {
  display: none; }

.t-Form--leftLabels .t-Form-fieldContainer.is-required .t-Form-label:before {
  display: none; }

.t-Form--leftLabels .t-Form-fieldContainer.is-required .t-Form-label:after {
  display: inline-block;
  margin-left: -4px; }

.u-RTL .t-Form-fieldContainer.is-required .t-Form-label:before {
  display: none; }

.u-RTL .t-Form-fieldContainer.is-required .t-Form-label:after {
  display: inline; }

.u-RTL .t-Form--leftLabels .t-Form-fieldContainer.is-required .t-Form-label:before {
  display: inline; }

.u-RTL .t-Form--leftLabels .t-Form-fieldContainer.is-required .t-Form-label:after {
  display: none; }

/* ==========================================================================
   Login Form
   ========================================================================== */
.t-Form--login .t-Form-label {
  padding: .8rem 0;
  line-height: 1.6rem;
  font-size: 1.6rem; }

.t-Form--login .t-Form-inputContainer input[type="text"],
.t-Form--login select.selectlist,
.t-Form--login select.yes_no,
.t-Form--login input.text_field,
.t-Form--login input.password,
.t-Form--login input.datepicker,
.t-Form--login span.display_only,
.t-Form--login input.popup_lov {
  font-size: 1.6rem;
  padding: .8rem;
  height: 3.6rem; }

.t-Form--login select.selectlist,
.t-Form--login select.yes_no {
  background-size: contain;
  padding-right: 4.4rem; }

.t-Form--login .t-Form-radioLabel,
.t-Form--login .radio_group label,
.t-Form--login .t-Form-checkboxLabel,
.t-Form--login .checkbox_group label,
.t-Form--login select[multiple] {
  font-size: 1.6rem;
  line-height: 2.4rem; }

.t-Form--login .t-Form-inputContainer .a-Button,
.t-Form--login .t-Form-inputContainer .t-Button {
  padding: 1.0rem 1.2rem; }

/* ==========================================================================
   Hidden Label (using 0 label column span)
   ========================================================================== */

.t-Form-labelContainer.col-0:not(.t-Form-labelContainer--hiddenLabel) {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  padding: 0; }

.t-Form-labelContainer--hiddenLabel.col-0,
.t-Form-labelContainer--hiddenLabel.col-null {
  padding: 0 !important;
  height: 0 !important;
  width: 0 !important;
  min-height: 0;
  min-width: 0;
  float: none; }

.t-Form-fieldContainer--hiddenLabel > .t-Form-inputContainer.col-null {
  width: 100%;
  float: none; }

.t-Form-fieldContainer--hiddenLabel.t-Form-fieldContainer--noLabelSpacing.rel-col {
  margin-right: 0;
  margin-left: 0; }

.t-Form-fieldContainer--hiddenLabel.t-Form-fieldContainer--noLabelSpacing.rel-col > .t-Form-labelContainer--hiddenLabel.col {
  min-width: 0;
  width: 0;
  padding: 0; }

.t-Form-fieldContainer--hiddenLabel.t-Form-fieldContainer--noLabelSpacing.rel-col > .t-Form-inputContainer.col {
  width: 100%; }

.t-Form-labelContainer--hiddenLabel {
  min-height: 3.2rem;
  padding: .0rem;
  min-width: 0; }

/* ==========================================================================
   No Grid Support (Default Widths)
   ---
   Apply this grid for Optional / Required label templates
   when they are placed in a Display Position that does not support Grids
   ========================================================================== */
.t-Form-labelContainer.col-null {
  width: 25%; }

.t-Form-inputContainer.col-null {
  width: 75%; }

/* ==========================================================================
   Search Field
   ========================================================================== */
.t-Form--search .t-Form-labelContainer--hiddenLabel {
  width: 0;
  min-width: 0; }

.t-Form--search .t-Form-inputContainer {
  text-align: center; }

/* TODO: Remove t-Form-searchField as we have item icon support in 5.1 */
.t-Form-searchField:not(.apex-item-has-icon) {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJNMTQuNyAxNC43Yy0uNC40LTEgLjQtMS40IDBsLTMuNi0zLjZjLS45LjYtMiAuOS0zLjEuOS0zLjEgMC01LjYtMi41LTUuNi01LjVzMi41LTUuNSA1LjUtNS41IDUuNSAyLjUgNS41IDUuNWMwIDEuMi0uMyAyLjItLjkgMy4xbDMuNiAzLjZjLjQuNS40IDEuMSAwIDEuNXptLTguMi0xMS43Yy0xLjkgMC0zLjUgMS42LTMuNSAzLjVzMS42IDMuNSAzLjUgMy41IDMuNS0xLjYgMy41LTMuNS0xLjYtMy41LTMuNS0zLjV6IiBvcGFjaXR5PSIuNSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMyMzFGMjAiLz48L3N2Zz4=);
  background-position: .3rem .3rem;
  background-repeat: no-repeat;
  padding-left: 2.4rem;
  background-size: 1.6rem; }

/* TODO: Remove t-Form-searchField as we have item icon support in 5.1 */
input[type=text].t-Form-searchField:not(.apex-item-has-icon) {
  padding-left: 2.4rem; }

.t-Form--large,
.t-Form-fieldContainer--large {
  /* TODO: Remove t-Form-searchField as we have item icon support in 5.1 */ }
  .t-Form--large .t-Form-searchField:not(.apex-item-has-icon),
  .t-Form-fieldContainer--large .t-Form-searchField:not(.apex-item-has-icon) {
    background-size: 1.6rem;
    background-position: .8rem; }
    .u-RTL .t-Form--large .t-Form-searchField:not(.apex-item-has-icon), .u-RTL
    .t-Form-fieldContainer--large .t-Form-searchField:not(.apex-item-has-icon) {
      background-position: right .8rem top .7rem; }
  .t-Form--large input[type=text].t-Form-searchField:not(.apex-item-has-icon),
  .t-Form-fieldContainer--large input[type=text].t-Form-searchField:not(.apex-item-has-icon) {
    padding-left: 3.0rem; }
    .u-RTL .t-Form--large input[type=text].t-Form-searchField:not(.apex-item-has-icon), .u-RTL
    .t-Form-fieldContainer--large input[type=text].t-Form-searchField:not(.apex-item-has-icon) {
      padding-left: .7rem;
      padding-right: 3.0rem; }

.t-Form--xlarge .t-Form-searchField:not(.apex-item-has-icon),
.t-Form-fieldContainer--xlarge .t-Form-searchField:not(.apex-item-has-icon) {
  background-size: 2.2rem;
  background-position: .9rem; }
  .u-RTL .t-Form--xlarge .t-Form-searchField:not(.apex-item-has-icon), .u-RTL
  .t-Form-fieldContainer--xlarge .t-Form-searchField:not(.apex-item-has-icon) {
    background-position: right .9rem top .8rem; }

.t-Form--xlarge input[type=text].t-Form-searchField:not(.apex-item-has-icon),
.t-Form-fieldContainer--xlarge input[type=text].t-Form-searchField:not(.apex-item-has-icon) {
  padding-left: 4.0rem; }
  .u-RTL .t-Form--xlarge input[type=text].t-Form-searchField:not(.apex-item-has-icon), .u-RTL
  .t-Form-fieldContainer--xlarge input[type=text].t-Form-searchField:not(.apex-item-has-icon) {
    padding-left: 1.6rem;
    padding-right: 4.0rem; }

/* ==========================================================================
   Field Modifiers
   ========================================================================== */
.t-Form select.selectlist.stretch,
.t-Form input.text_field.stretch,
.t-Form input.password.stretch,
.t-Form-inputContainer input[type=text].stretch {
  width: 100%; }

/* ==========================================================================
   List Manager
   ========================================================================== */
fieldset.listmanager table {
  border-collapse: collapse; }

fieldset.listmanager td {
  padding: 0 !important; }

fieldset.listmanager select.listmanager {
  margin-top: .8rem; }

/* ==========================================================================
   Shuttles
   ========================================================================== */
fieldset.shuttle {
  width: 100%; }
  fieldset.shuttle table.shuttle {
    width: 100%;
    border-collapse: collapse; }
  fieldset.shuttle td {
    vertical-align: top; }
  fieldset.shuttle .shuttleControl,
  fieldset.shuttle .shuttleSort2 {
    width: 1%; }
  fieldset.shuttle .shuttleSelect1,
  fieldset.shuttle .shuttleSelect2 {
    width: 49%; }
  fieldset.shuttle select.shuttle_left,
  fieldset.shuttle select.shuttle_right {
    width: 100%;
    min-height: 14.0rem;
    margin: .4rem 0; }

/* ==========================================================================
   Form Alignment
   ========================================================================== */
.t-Form--alignLeft .col {
  width: auto; }

.t-Form--alignLeft .t-Form-fieldContainer {
  width: auto;
  display: inline-block;
  vertical-align: top; }

.t-Form--alignLeft .t-Form-labelContainer {
  width: auto;
  min-width: 0; }

.t-Form--floatLeft {
  overflow: hidden; }
  .t-Form--floatLeft .col {
    width: auto !important; }
    .u-RTL .t-Form--floatLeft .col {
      float: right; }
  .t-Form--floatLeft .t-Form-fieldContainer {
    width: auto;
    float: left;
    clear: none; }
    .u-RTL .t-Form--floatLeft .t-Form-fieldContainer {
      float: right; }
  .t-Form--floatLeft .t-Form-labelContainer {
    min-width: 0;
    width: auto; }
  .t-Form--floatLeft .t-Form-inputContainer select {
    max-width: 100%; }

.t-Form--leftLabels .t-Form-labelContainer {
  text-align: left; }
  .u-RTL .t-Form--leftLabels .t-Form-labelContainer {
    text-align: right; }

.t-Form--fixedLabels .t-Form-labelContainer {
  width: 16.0rem; }

body .t-Form-inputContainer select.yes_no,
body .t-Form-inputContainer select[multiple],
body .t-Form-inputContainer select.selectlist {
  padding-top: 0px;
  padding-bottom: 0px; }

.apex-tabular-form-error {
  border-color: #E92020 !important; }
  .apex-tabular-form-error + .a-Button {
    box-shadow: 0 0 0 1px #E92020 inset; }

.apex-tabular-highlight {
  border-color: #ffcc00 !important; }
  .apex-tabular-highlight + .a-Button {
    box-shadow: 0 0 0 1px #ffcc00 inset; }

/******************************************************************************
Checkbox + Radio Buttons
******************************************************************************/
.t-Form-inputContainer .checkbox_group input,
.t-Form-inputContainer .radio_group input {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  /* Disabled State
   ========================================================================== */
  /* Focus
   ========================================================================== */ }
  .t-Form-inputContainer .checkbox_group input + label,
  .t-Form-inputContainer .radio_group input + label {
    position: relative;
    padding-left: 20px;
    padding-right: 8px;
    cursor: pointer;
    display: inline-block;
    margin: 4px 0;
    vertical-align: top;
    min-height: 16px; }
    .u-RTL .t-Form-inputContainer .checkbox_group input + label, .u-RTL
    .t-Form-inputContainer .radio_group input + label {
      padding-right: 20px;
      padding-left: 8px; }
    .t-Form-inputContainer .checkbox_group input + label:before, .t-Form-inputContainer .checkbox_group input + label:after,
    .t-Form-inputContainer .radio_group input + label:before,
    .t-Form-inputContainer .radio_group input + label:after {
      width: 16px;
      height: 16px;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      content: '';
      transition: .25s ease; }
      .u-RTL .t-Form-inputContainer .checkbox_group input + label:before, .u-RTL .t-Form-inputContainer .checkbox_group input + label:after, .u-RTL
      .t-Form-inputContainer .radio_group input + label:before, .u-RTL
      .t-Form-inputContainer .radio_group input + label:after {
        right: 0;
        left: auto; }
    .t-Form-inputContainer .checkbox_group input + label:before,
    .t-Form-inputContainer .radio_group input + label:before {
      border: 1px solid rgba(0, 0, 0, 0.2);
      z-index: 90; }
    .t-Form-inputContainer .checkbox_group input + label:after,
    .t-Form-inputContainer .radio_group input + label:after {
      z-index: 100;
      opacity: 0; }
  .t-Form-inputContainer .checkbox_group input:disabled + label,
  .t-Form-inputContainer .radio_group input:disabled + label {
    opacity: .5;
    cursor: default;
    pointer-events: none; }
    .t-Form-inputContainer .checkbox_group input:disabled + label:before,
    .t-Form-inputContainer .radio_group input:disabled + label:before {
      opacity: .5; }
  .t-Form-inputContainer .checkbox_group input:focus + label:before,
  .t-Form-inputContainer .radio_group input:focus + label:before {
    box-shadow: rgba(0, 0, 0, 0.1) 0 1px 1px; }
  .t-Form-inputContainer .checkbox_group input:hover:checked + label:after
.t-Form-inputContainer .checkbox_group input:focus:checked + label:after,
  .t-Form-inputContainer .radio_group input:hover:checked + label:after
.t-Form-inputContainer .checkbox_group input:focus:checked + label:after, .t-Form-inputContainer .checkbox_group input:hover:checked + label:after
  .t-Form-inputContainer .radio_group input:focus:checked + label:after,
  .t-Form-inputContainer .radio_group input:hover:checked + label:after
  .t-Form-inputContainer .radio_group input:focus:checked + label:after {
    opacity: 1; }

/******************************************************************************
Checkbox Specific
******************************************************************************/
.t-Form-inputContainer .checkbox_group input {
  /* Unchecked
   ========================================================================== */
  /* Checked
   ========================================================================== */ }
  .t-Form-inputContainer .checkbox_group input + label:before {
    border-radius: 2px; }
  .t-Form-inputContainer .checkbox_group input + label:after {
    background-size: 16px;
    background-position: 50%;
    background-repeat: no-repeat; }
  .t-Form-inputContainer .checkbox_group input:hover + label:after,
  .t-Form-inputContainer .checkbox_group input:focus + label:after {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0; }

@-webkit-keyframes checkmark {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  75% {
    -webkit-transform: scale(1.25);
            transform: scale(1.25); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes checkmark {
  0% {
    -webkit-transform: scale(0);
            transform: scale(0); }
  75% {
    -webkit-transform: scale(1.25);
            transform: scale(1.25); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }
  .t-Form-inputContainer .checkbox_group input:checked + label:after {
    font-family: "apex-5-icon-font" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    speak: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: '\e007';
    color: white;
    font-size: 14px;
    width: 14px;
    height: 14px;
    padding: 1px;
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation: checkmark .25s ease-in-out;
            animation: checkmark .25s ease-in-out;
    animation-film-mode: forwards; }

/******************************************************************************
Radio Specific
******************************************************************************/
@-webkit-keyframes radio {
  0% {
    -webkit-transform: scale(3);
            transform: scale(3); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }
@keyframes radio {
  0% {
    -webkit-transform: scale(3);
            transform: scale(3); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

.t-Form-inputContainer .radio_group input {
  /* Unchecked
   ========================================================================== */
  /* Checked
   ========================================================================== */ }
  .t-Form-inputContainer .radio_group input + label:before {
    border-radius: 16px; }
  .t-Form-inputContainer .radio_group input + label:after {
    width: 6px;
    height: 6px;
    margin: 5px;
    border-radius: 100%; }
  .t-Form-inputContainer .radio_group input:checked + label:after {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-animation: radio .15s ease-in-out;
            animation: radio .15s ease-in-out;
    animation-film-mode: forwards; }

/* ==========================================================================
   Inline Help
   ---
   Display help text immediately below the input field.
   ========================================================================== */
/* Hide Inline Help
   ========================================================================== */
.t-Form-inlineHelp {
  display: block;
  width: 100%;
  font-size: 1.1rem;
  line-height: 1.6rem;
  margin-top: 4px; }

/* Same Column Item and Button Alignment
   ========================================================================== */
.t-Form-inputContainer-col .t-Form-labelContainer,
.t-Form-inputContainer-col .t-Form-inputContainer {
  padding-top: 0;
  padding-bottom: 0;
  display: block;
  padding-right: 0; }

.t-Form-inputContainer-col .t-Form-labelContainer {
  padding-right: 0; }

/* ==========================================================================
   Form Items in Side Columns
   ========================================================================== */
.t-Body-side .t-Form-fieldContainer:not(:first-child) {
  margin-top: 16px; }

.t-Body-side .t-Form-labelContainer,
.t-Body-side .t-Form-inputContainer,
.t-Body-side .t-Form-labelContainer.col,
.t-Body-side .t-Form-inputContainer.col {
  padding: 0; }

/* ==========================================================================
   Pre and Post Text Styles
   ========================================================================== */
.t-Form-itemText {
  line-height: 2.4rem;
  font-size: 1.2rem; }
  .t-Form-itemText:empty {
    display: none; }

.t-Form-fieldContainer--preTextBlock fieldset.radio_group,
.t-Form-fieldContainer--preTextBlock fieldset.checkbox_group,
.t-Form-fieldContainer--postTextBlock fieldset.radio_group,
.t-Form-fieldContainer--postTextBlock fieldset.checkbox_group {
  padding: 4px 8px; }

.t-Form-fieldContainer--preTextBlock .t-Form-itemText--pre,
.t-Form-fieldContainer--postTextBlock .t-Form-itemText--post {
  padding: 0 8px; }

.t-Form-fieldContainer--preTextBlock .t-Form-itemText--pre {
  margin-right: -1px; }

.t-Form-fieldContainer--postTextBlock .t-Form-itemText--post {
  margin-left: -1px; }

/* APEX Button Group (for Switch and Pill Buttons)
   ========================================================================== */
.apex-button-group .a-Button {
  padding-right: 1.2rem;
  padding-left: 1.2rem; }

/* File Upload Download Link
   ========================================================================== */
.apex-item-file-upload + a {
  -webkit-order: 10;
      -ms-flex-order: 10;
          order: 10;
  display: block;
  font-size: 12px; }

/* Quick Picks
   ========================================================================== */
.apex-quick-picks {
  font-size: 1.1rem;
  line-height: 1.6rem;
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }
@media only screen and (max-width: 640px) {
  .t-Form-labelContainer {
    text-align: left; }
  .u-RTL .t-Form-labelContainer {
    text-align: right; }
  :not(.t-Dialog) .t-Form-inputContainer {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  :not(.t-Dialog) .t-Form-inputContainer input[type="text"],
  :not(.t-Dialog) select.selectlist,
  :not(.t-Dialog) select.yes_no,
  :not(.t-Dialog) input.text_field,
  :not(.t-Dialog) input.password,
  :not(.t-Dialog) input.datepicker,
  :not(.t-Dialog) span.display_only,
  :not(.t-Dialog) input.popup_lov {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1; }
  :not(.t-Dialog) fieldset,
  :not(.t-Dialog) textarea,
  :not(.t-Dialog) table,
  :not(.t-Dialog) td.lov,
  :not(.t-Dialog) input.popup_lov {
    width: 100%; }
  .t-Form-labelContainer--hiddenLabel {
    min-height: 0 !important;
    height: 0 !important;
    padding: 0; } }
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .a-IRR-selectList::-ms-expand,
  .t-Report-report select[size="1"]::-ms-expand,
  .t-Form-inputContainer select[size="1"].selectlist::-ms-expand,
  .t-Form-inputContainer select.yes_no::-ms-expand,
  .t-Property-field--select::-ms-expand,
  .u-TF-item--select::-ms-expand {
    display: none !important; }
  .a-IRR-selectList:focus::-ms-value,
  .t-Report-report select[size="1"]:focus::-ms-value,
  .t-Form-inputContainer select[size="1"].selectlist:focus::-ms-value,
  .t-Form-inputContainer select.yes_no:focus::-ms-value,
  .t-Property-field--select:focus::-ms-value,
  .u-TF-item--select:focus::-ms-value {
    background: transparent !important; }
  .a-IRR-selectList,
  .t-Report-report select[size="1"],
  .t-Form-inputContainer select[size="1"].selectlist,
  .t-Form-inputContainer select.yes_no,
  .t-Property-field--select,
  .u-TF-item--select {
    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAHlBMVEXf39++vr7p6emAgIDh4eHPz89vb2/Z2dlmZmby8vLFd+SnAAAAm0lEQVR42u3WsQ6AIAxFUSuC8v8/bDQmd2CgzUtwKfs9E7Rs57l15SSQQAI+wEwD7LpMAJ4eIQLQI4QA+lIQAgD9viMEAPreESIAPUIEoEeIAfQIfoB+IgBMegQn8PWD4Aba2w9CcwNHpUeoR460BDjCRZKvsvyY5OesDhR1pKlDVR3r6mKRV5u+XNevdwT75YuDYDnSEkhgDXAD/8yIgY19CJcAAAAASUVORK5CYII=);
    background-size: contain; } }
@media (max-width: 567px) {
  .t-Dialog .t-Form-inputContainer {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .t-Dialog .t-Form-inputContainer input[type="text"],
  .t-Dialog select.selectlist,
  .t-Dialog select.yes_no,
  .t-Dialog input.text_field,
  .t-Dialog input.password,
  .t-Dialog input.datepicker,
  .t-Dialog span.display_only,
  .t-Dialog input.popup_lov {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1; }
  .t-Dialog fieldset,
  .t-Dialog textarea,
  .t-Dialog table,
  .t-Dialog td.lov,
  .t-Dialog input.popup_lov {
    width: 100%; } }
@media only screen and (min-width: 1201px) {
  .t-Form-fieldContainer--resCheckRadio table.checkbox_group td {
    width: 200px; } }
@media only screen and (max-width: 1200px) {
  .t-Form-fieldContainer--resCheckRadio table.checkbox_group td {
    width: 20%; } }
@media only screen and (max-width: 992px) {
  .t-Form-fieldContainer--resCheckRadio table.checkbox_group td {
    width: 25%; } }
@media only screen and (max-width: 480px) {
  .container > .row > .col:first-child > .t-Form-fieldContainer--hiddenLabel {
    margin-top: 8px; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZvcm0uc2NzcyIsIi4uL21vZHVsZXMvX2NvbW1vbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FDNE9IOztnRkFFZ0Y7QUFjaEY7O2dGQUVnRjtBRDNQaEY7O2dGQUVnRjtBQUtoRjtFQUNFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osWUFBWTtFQU9aLHFEQUFxRCxFQWdCdEQ7RUFyQkM7SUFDRSxtQkFBbUI7SUFDbkIsa0JBQWtCLEVBQ25CO0VBUkg7SUFZSSxZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixxQkFBcUI7SUFDckIsMEJBQWtCO09BQWxCLHVCQUFrQjtRQUFsQixzQkFBa0I7WUFBbEIsa0JBQWtCO0lDNkhwQixXRDVIbUM7SUNvSW5DLG1CRG5JMkMsRUFDMUM7SUMySEQ7TUFDRSxXQUFXO01BQ1gsWUQvSGlDLEVDZ0lsQztJQUtEO01BQ0UsaUJBQWlCO01BQ2pCLG9CRHRJeUMsRUN1STFDO0VEekpIO0lBcUJJLGtCQUFrQixFQUluQjtJQXpCSDtNQXVCTSxXQUFXLEVBQ1o7O0FBV0w7O0VBRUUsZUFBZSxFQUNoQjs7QUFFRDtFQ29MRSxrQkFBa0I7RURsTGxCLFlBQVksRUFJYjtFQytLQztJQUNFLGlCQUFpQixFQUNsQjs7QURoTEg7RUFDRSxtQkFBbUI7RUFDbkIsaUJBQWlCLEVBQ2xCOztBQUVEO0VBQ0Usc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCxnQ0FBd0I7TUFBeEIsc0JBQXdCO1VBQXhCLHdCQUF3QjtFQUN4Qix3QkFBZ0I7TUFBaEIsb0JBQWdCO1VBQWhCLGdCQUFnQixFQUNqQjs7QUFFRDs7O2dGQUdnRjtBQUVoRjtFQUNFLGlCQUFTO01BQVQsa0JBQVM7VUFBVCxTQUFTLEVBQ1Y7O0FBQ0Q7Ozs7RUFLSSxpQkFBUztNQUFULGtCQUFTO1VBQVQsU0FBUyxFQUNWOztBQUVIOztFQUVFLGlCQUFTO01BQVQsa0JBQVM7VUFBVCxTQUFTLEVBQ1Y7O0FBQ0Q7RUFDRSxpQkFBUztN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aEY7RUFDRSxzQkFBc0I7RUFDdEIscUJBQXFCLEVBQ3RCOztBQUVEO2dGQUNnRjtBQUNoRjtFQUNFLGtCQUFVO01BQVYsbUJBQVU7VUFBVixVQUFVO0VBQ1YsZUFBZTtFQUNmLGdCQUFnQixFQUNqQjs7QUFFRDtnRkFDZ0Y7QUFDaEY7RUFDRSxrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLHlCQUFpQjtNQUFqQiw4QkFBaUI7VUFBakIsaUJBQWlCLEVBQ2xCO0FDMzJDRztFRG9CSjtJQzRLRSxpQkFBaUIsRUR0S2xCO0VDdUtDO0lBQ0Usa0JBQWtCLEVBQ25CO0VEb2VIO0lBR00sc0JBQWM7SUFBZCxxQkFBYztJQUFkLGNBQWMsRUFDZjtFQUpMOzs7Ozs7OztJQWFNLGdCQUFRO0lBQVIsWUFBUTtJQUFSLFFBQVEsRUFDVDtFQWRMOzs7OztJQW9CTSxZQUFZLEVBQ2I7RUFpSkg7SUFDRSx5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLFdBQVcsRUFDWixFQzlvQkE7QURVSDtFQUNFOzs7Ozs7SUFPSSx5QkFBeUIsRUFDMUI7RUFSSDs7Ozs7O0lBVUksbUNBQW1DLEVBQ3BDO0VBWEg7Ozs7OztJQWFJLGtZQUFpWTtJQUNqWSx5QkFBeUIsRUFDMUIsRUFBQTtBQW1lSDtFQURGO0lBR00sc0JBQWM7SUFBZCxxQkFBYztJQUFkLGNBQWMsRUFDZjtFQUpMOzs7Ozs7OztJQWFNLGdCQUFRO0lBQVIsWUFBUTtJQUFSLFFBQVEsRUFDVDtFQWRMOzs7OztJQW9CTSxZQUFZLEVBQ2IsRUFBQTtBQ3JyQkQ7RUQ4ckJKO0lBY1EsYUFBYSxFQVdoQixFQUFBO0FDeHVCRDtFRCtzQko7SUFpQlEsV0FBVyxFQVFkLEVBQUE7QUMzdUJEO0VEa3RCSjtJQW9CUSxXQUFXLEVBS2QsRUFBQTtBQ3p2QkQ7RUQ0MUJKO0lBRUksZ0JBQWdCLEVBRW5CLEVBQUEiLCJmaWxlIjoiRm9ybS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEltcG9ydCBDb21wYXNzXG4gKi9cbkBpbXBvcnQgXCIuLi9tb2R1bGVzL2NvbW1vblwiO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50LUZvcm0ge1xufVxuXG4udC1Gb3JtLWZpZWxkQ29udGFpbmVyIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBjbGVhcjogYm90aDsgXG4gIC8vIFdoZW4gZm9ybSBpdGVtcyBhcmUgbm90IGluIGEgZ3JpZCwgYXBwbHkgdGhlIG5lZ2F0aXZlIG1hcmdpbnNcbiAgLmNvbCA+ICYge1xuICAgIG1hcmdpbi1yaWdodDogLThweDtcbiAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgfVxuXG4gIC8qIGRpc3BsYXkgdGhlIGljb24gdG8gdGhlIGxlZnQgb2YgdGhlIGlucHV0IGZpZWxkICovXG4gIC5hcGV4LWl0ZW0taWNvbiB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBAaW5jbHVkZSBhcGV4LWRpcmVjdGlvbi1sZWZ0KDI0cHgpO1xuICAgIEBpbmNsdWRlIGFwZXgtZGlyZWN0aW9uLW1hcmdpbi1sZWZ0KC0yNHB4KTtcbiAgfVxuICAuYXBleC1pdGVtLWhhcy1pY29uIHtcbiAgICB0ZXh0LWluZGVudDogMjBweDtcbiAgICAmOmZvY3VzICsgLmFwZXgtaXRlbS1pY29uIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92aW5nIHN0eWxlcyBmb3IgY2xhc3NlcyB3aXRob3V0IC5jb2wgYXMgXG4vLyB0aGlzIGlzIG5vIGxvbmdlciBwb3NzaWJsZSwgYWxsIGZvcm0gaXRlbXMgdXNlIFxuLy8gZ3JpZHMsIGFuZCB3aGVuIHRoZXkgZG8gbm90LCB0aGV5IGVtaXQgXG4vLyAuY29sLmNvbC1udWxsXG4vLyAudC1Gb3JtLWxhYmVsQ29udGFpbmVyLFxuLy8gLnQtRm9ybS1pbnB1dENvbnRhaW5lcixcblxuLnQtRm9ybS1sYWJlbENvbnRhaW5lcixcbi50LUZvcm0taW5wdXRDb250YWluZXIge1xuICBwYWRkaW5nOiAuOHJlbTtcbn1cblxuLnQtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHRleHQtYWxpZ24tcmlnaHQtZGlyZWN0aW9uKCk7XG4gIGZsb2F0OiBsZWZ0O1xuICBAaW5jbHVkZSByZXNwb25kLXRvKHhzcy1zY3JlZW5zKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1hbGlnbi1sZWZ0LWRpcmVjdGlvbigpO1xuICB9XG59XG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udC1Gb3JtLWl0ZW1XcmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLyogSW5wdXQgRmllbGQgT3JkZXJpbmdcbiAgIC0tXG4gICBOZWNlc3NhcnkgZm9yIHByb3BlciBpdGVtIGljb24gcG9zaXRpb25pbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50LUZvcm0taXRlbVRleHQtLXByZSB7XG4gIG9yZGVyOiAxO1xufVxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciB7XG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIHRleHRhcmVhLFxuICAuYS1CdXR0b24tLWNhbGVuZGFyIHtcbiAgICBvcmRlcjogMztcbiAgfVxufVxuLnQtRm9ybS1pdGVtV3JhcHBlciAuYXBleC1pdGVtLWljb24sXG4udC1Gb3JtLWl0ZW1XcmFwcGVyIGZpZWxkc2V0IHtcbiAgb3JkZXI6IDI7XG59XG4udC1Gb3JtLWl0ZW1UZXh0LS1wb3N0IHtcbiAgb3JkZXI6IDQ7XG59XG4udC1Gb3JtLWl0ZW1XcmFwcGVyIC50LUJ1dHRvbi0taGVscEJ1dHRvbiB7XG4gIG9yZGVyOiA1O1xufVxuLnQtRm9ybS1pdGVtV3JhcHBlciAuYXBleC1xdWljay1waWNrcyB7XG4gIG9yZGVyOiA2O1xufVxuLnQtRm9ybS1pdGVtV3JhcHBlciAudS1Qcm9jZXNzaW5nLS1pbmxpbmUge1xuICBvcmRlcjogOTk5O1xufVxuXG4vKiBSZXNwb25zaXZlIEhhbmRsaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udC1Gb3JtLWxhYmVsIHtcbiAgcGFkZGluZzogLjRyZW0gMDtcbiAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAgIC1tcy1oeXBoZW5zOiBhdXRvO1xuICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cblxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi50LUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0LnNlbGVjdGxpc3Rbc2l6ZT1cIjFcIl0sXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIHNlbGVjdC55ZXNfbm8sXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0LnRleHRfZmllbGQsXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0LnBhc3N3b3JkLFxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dC5kYXRlcGlja2VyLFxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dC5wb3B1cF9sb3YsXG4udS1URi1pdGVtLS10ZXh0LFxuLnUtVEYtaXRlbS0tZGF0ZXBpY2tlcixcbi51LVRGLWl0ZW0tLXNlbGVjdCAge1xuICBoZWlnaHQ6IDIuNHJlbTtcbn1cbi50LUZvcm0taW5wdXRDb250YWluZXIgc3Bhbi5kaXNwbGF5X29ubHkge1xuICBtaW4taGVpZ2h0OiAyLjRyZW07XG59XG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9dGV4dF0sXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9cGFzc3dvcmRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi50LUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0LnNlbGVjdGxpc3QsXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIHNlbGVjdC55ZXNfbm8sXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0LnRleHRfZmllbGQsXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0LnBhc3N3b3JkLFxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciB0ZXh0YXJlYS50ZXh0YXJlYSxcbi50LUZvcm0taW5wdXRDb250YWluZXIgaW5wdXQuZGF0ZXBpY2tlcixcbi50LUZvcm0taW5wdXRDb250YWluZXIgc3Bhbi5kaXNwbGF5X29ubHksXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0LnBvcHVwX2xvdixcbi50LUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0W211bHRpcGxlXSxcbi51LVRGLWl0ZW0tLXRleHQsXG4udS1URi1pdGVtLS10ZXh0YXJlYSxcbi51LVRGLWl0ZW0tLWRhdGVwaWNrZXIsXG4udS1URi1pdGVtLS1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBsaW5lLWhlaWdodDogMS42cmVtO1xuICBwYWRkaW5nOiAuM3JlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIC8vIGJveC1zaGFkb3c6IDAgLjFyZW0gMC4xcmVtIHJnYmEoMCwwLDAsLjA1KSBpbnNldDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjFzIGVhc2UsIGJvcmRlciAuMXMgZWFzZTtcbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gICY6aG92ZXIge1xuICB9XG59XG4udC1Gb3JtIGlucHV0LmZpbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMS42cmVtO1xufVxuXG5cblxuLy9cbi8vIFRleHQgQXJlYVxuLy9cbi50LUZvcm0taW5wdXRDb250YWluZXIgdGV4dGFyZWEudGV4dGFyZWEge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDYuNHJlbTtcbiAgZm9udC1mYW1pbHk6ICdNZW5sbycsICdDb25zb2xhcycsIG1vbm9zcGFjZSwgc2VyaWY7XG59XG5cbi8vXG4vLyBEaXNwbGF5IE9ubHlcbi8vXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIHNwYW4uZGlzcGxheV9vbmx5IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi50LUZvcm0tc2VsZWN0IHtcbn1cblxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3Quc2VsZWN0bGlzdFtzaXplPVwiMVwiXSxcbi50LUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0Lnllc19ubyB7XG4gICYuYXBleC1pdGVtLWhhcy1pY29uIHtcbiAgICB0ZXh0LWluZGVudDogMjBweFxuICB9XG59XG5cbi5hLUlSUi1zZWxlY3RMaXN0W3NpemU9XCIxXCJdLFxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3Quc2VsZWN0bGlzdFtzaXplPVwiMVwiXSxcbi50LUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0Lnllc19ubyxcbi51LVRGLWl0ZW0tLXNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB0ZXh0LWluZGVudDogMC4wMXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0kwTURBaUlHaGxhV2RvZEQwaU1qQXdJaUIyYVdWM1FtOTRQU0l0T1RrdU5TQXdMalVnTkRBd0lESXdNQ0lnWlc1aFlteGxMV0poWTJ0bmNtOTFibVE5SW01bGR5QXRPVGt1TlNBd0xqVWdOREF3SURJd01DSStQSEJoZEdnZ1ptbHNiRDBpSXpRME5DSWdaRDBpVFRFMU5pNHlOU0EzTXk0M1l6QWdNUzQyTFM0Mk1USWdNeTR5TFRFdU9ESTFJRFF1TkRJMWJDMDFOQzQwTWpVZ05UUXVOREkxTFRVMExqUXlOUzAxTkM0ME1qVmpMVEl1TkRNNExUSXVORE00TFRJdU5ETTRMVFl1TkNBd0xUZ3VPRE0zY3pZdU5DMHlMalF6T0NBNExqZ3pOeUF3YkRRMUxqVTRPQ0EwTlM0MU56UWdORFV1TlRjMUxUUTFMalUzTldNeUxqUXpPQzB5TGpRek9DQTJMak01T1MweUxqUXpPQ0E0TGpnek55QXdJREV1TWpJMklERXVNakkySURFdU9ETTRJREl1T0RJMUlERXVPRE00SURRdU5ERXplaUl2UGp3dmMzWm5QZz09KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMzJweCAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzLjJyZW07XG4gIC8vIHRleHQtb3ZlcmZsb3c6ICcgJztcbiAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmllOSAmLCAubHQtaWU5ICYsIC5sdC1pZTEwICYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xuICB9XG4gIC51LVJUTCAmIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjhyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzLjJyZW07XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICAmOi1tb3otZm9jdXNyaW5nLFxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5hLUlSUi1zZWxlY3RMaXN0LFxuICAudC1SZXBvcnQtcmVwb3J0IHNlbGVjdFtzaXplPVwiMVwiXSxcbiAgLnQtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3Rbc2l6ZT1cIjFcIl0uc2VsZWN0bGlzdCxcbiAgLnQtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3QueWVzX25vLFxuICAudC1Qcm9wZXJ0eS1maWVsZC0tc2VsZWN0LFxuICAudS1URi1pdGVtLS1zZWxlY3Qge1xuICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmZvY3VzOjotbXMtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FNQUFBQ2R0NEhzQUFBQUhsQk1WRVhmMzkrK3ZyN3A2ZW1BZ0lEaDRlSFB6ODl2YjIvWjJkbG1abWJ5OHZMRmQrU25BQUFBbTBsRVFWUjQydTNXc1E2QUlBeEZVU3VDOHY4L2JEUW1kMkNnelV0d0tmczlFN1JzNTdsMTVTU1FRQUkrd0V3RDdMcE1BSjRlSVFMUUk0UUErbElRQWdEOXZpTUVBUHJlRVNJQVBVSUVvRWVJQWZRSWZvQitJZ0JNZWdRbjhQV0Q0QWJhMnc5Q2N3TkhwVWVvUjQ2MEJEakNSWkt2c3Z5WTVPZXNEaFIxcEtsRFZSM3I2bUtSVjV1K1hOZXZkd1Q3NVl1RFlEblNFa2hnRFhBRC84eUlnWTE5Q0pjQUFBQUFTVVZPUks1Q1lJST0pO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIH1cbiAgfVxufVxuXG5cblxuYm9keTpub3QoOi1tb3otaGFuZGxlci1ibG9ja2VkKSAudC1Gb3JtLXNlbGVjdCB7XG4gIHBhZGRpbmc6IC4ycmVtIDEuMnJlbSAuMnJlbSAuMnJlbTtcbn1cblxuXG4vLyBSZWFkIE9ubHlcbi50LUZvcm0tZmllbGQtLXJlYWRPbmx5IHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG4vL1xuLy8gRGF0ZSBQaWNrZXJcbi8vXG4uaGFzRGF0ZXBpY2tlciB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gXG4vLyBSZXF1aXJlZCBJY29uXG4vLyBcbi50LUZvcm0tcmVxdWlyZWQgLmEtSWNvbiB7XG4gIC8vIGRpc3BsYXk6IG5vbmU7XG4gIC8vIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuXG4vL1xuLy8gUmFkaW8gR3JvdXBcbi8vXG4udS1URi1pdGVtLS1yYWRpbyxcbi51LVRGLWl0ZW0tLWNoZWNrYm94IHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIHtcbiAgZmllbGRzZXQucmFkaW9fZ3JvdXAsXG4gIGZpZWxkc2V0LmNoZWNrYm94X2dyb3VwIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG59XG4udC1Gb3JtLXJhZGlvTGFiZWwsXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIC5yYWRpb19ncm91cCBsYWJlbCxcbi50LUZvcm0tY2hlY2tib3hMYWJlbCxcbi50LUZvcm0taW5wdXRDb250YWluZXIgLmNoZWNrYm94X2dyb3VwIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG59XG5cbi50LUZvcm0taW5wdXRDb250YWluZXIgLnJhZGlvX2dyb3VwIGlucHV0OmNoZWNrZWQgKyBsYWJlbCxcbi50LUZvcm0taW5wdXRDb250YWluZXIgLmNoZWNrYm94X2dyb3VwIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmFkaW8gYW5kIENoZWNrYm94IFN0eWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciBmaWVsZHNldCB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciB0YWJsZS5yYWRpb19ncm91cCxcbi50LUZvcm0taW5wdXRDb250YWluZXIgdGFibGUuY2hlY2tib3hfZ3JvdXAge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIHRkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmFsaWRhdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hLUZvcm0tZXJyb3IsXG4udC1Gb3JtLWVycm9yIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIG9yZGVyOiAxO1xuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBUEVYIEdlbmVyYXRlZCBVSSBCdXR0b25zIGZvciBGb3JtcyAoUG9wdXAgTE9WKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUZvcm0taW5wdXRDb250YWluZXIgLmEtQnV0dG9uLFxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciAudC1CdXR0b24ge1xuICBwYWRkaW5nOiAuNHJlbSAuOHJlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51LVRGLWl0ZW0tLWRhdGVwaWNrZXIsXG5zcGFuLmxvdiAudS1URi1pdGVtLS10ZXh0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbnNwYW4ubG92LFxuLnUtVEYtaXRlbVdyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciBmaWVsZHNldC5sb3YgLmEtQnV0dG9uLFxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciAuYS1CdXR0b24tLWNhbGVuZGFyLFxuLnUtVEYtaXRlbS0tZGF0ZXBpY2tlciArIC5hLUJ1dHRvbi0tY2FsZW5kYXIsXG4uYS1CdXR0b24uYS1CdXR0b24tLXBvcHVwTE9WIHtcbiAgbWFyZ2luLWxlZnQ6IC0uMXJlbTtcbn1cblxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciBmaWVsZHNldC5sb3Yge1xuICB0ZC5sb3Yge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuYXBleC1pdGVtLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxuXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIGZpZWxkc2V0IHtcbiAgLmEtQnV0dG9uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG59XG5cbi51LVRGLWl0ZW0tLWRhdGVwaWNrZXIgKyAuYS1CdXR0b24tLWNhbGVuZGFyLFxuLmEtQnV0dG9uLmEtQnV0dG9uLS1wb3B1cExPViB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwIEJ1dHRvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnQtQnV0dG9uLS1oZWxwQnV0dG9uIHtcbiAgcGFkZGluZzogLjRyZW0gLjhyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC5hLUljb24ge1xuICAgIG9wYWNpdHk6IC4yNTtcbiAgfVxuICAmOmhvdmVyIC5hLUljb24ge1xuICAgIG9wYWNpdHk6IC43NTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGFyZ2UgRm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUZvcm0tLWxhcmdlLFxuLnQtRm9ybS1maWVsZENvbnRhaW5lci0tbGFyZ2Uge1xuICAudC1Gb3JtLWl0ZW1UZXh0IHtcbiAgICBsaW5lLWhlaWdodDogMy4ycmVtO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG4gIC5hcGV4LWl0ZW0taWNvbiB7IFxuICAgIHBhZGRpbmc6IDhweDsgXG4gICAgLy8gbGVmdDogMzJweDtcbiAgICAvLyBtYXJnaW4tbGVmdDogLTMycHg7XG4gICAgQGluY2x1ZGUgYXBleC1kaXJlY3Rpb24tbGVmdCgzMnB4KTtcbiAgICBAaW5jbHVkZSBhcGV4LWRpcmVjdGlvbi1tYXJnaW4tbGVmdCgtMzJweCk7XG4gIH1cbiAgLmFwZXgtaXRlbS1oYXMtaWNvbiB7IHRleHQtaW5kZW50OiAyMHB4OyB9XG4gIC50LUZvcm0tbGFiZWwge1xuICAgIHBhZGRpbmc6IC44cmVtIDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgfVxuICAudC1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBzZWxlY3Quc2VsZWN0bGlzdFtzaXplPVwiMVwiXSxcbiAgc2VsZWN0Lnllc19ubyxcbiAgaW5wdXQudGV4dF9maWVsZCxcbiAgaW5wdXQucGFzc3dvcmQsXG4gIGlucHV0LmRhdGVwaWNrZXIsXG4gIHNwYW4uZGlzcGxheV9vbmx5LFxuICBpbnB1dC5wb3B1cF9sb3Yge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHBhZGRpbmc6IC43cmVtO1xuICAgIGhlaWdodDogMy4ycmVtO1xuICB9XG4gIHNlbGVjdC5zZWxlY3RsaXN0LFxuICBzZWxlY3QueWVzX25vIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBwYWRkaW5nOiAuN3JlbTtcbiAgfVxuICBzZWxlY3Quc2VsZWN0bGlzdFtzaXplPVwiMVwiXSxcbiAgc2VsZWN0Lnllc19ubyB7XG4gICAgcGFkZGluZy1yaWdodDogNC4wcmVtO1xuICB9XG4gIC50LUJ1dHRvbi50LUJ1dHRvbi0taGVscEJ1dHRvbixcbiAgLmEtQnV0dG9uLmEtQnV0dG9uLS1jYWxlbmRhciB7XG4gICAgcGFkZGluZzogLjhyZW0gMS4ycmVtO1xuICB9XG4gIC50LUZvcm0tcmFkaW9MYWJlbCxcbiAgLnJhZGlvX2dyb3VwIGxhYmVsLFxuICAudC1Gb3JtLWNoZWNrYm94TGFiZWwsXG4gIC5jaGVja2JveF9ncm91cCBsYWJlbCxcbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMHJlbTtcbiAgfVxuICAudC1Gb3JtLWlucHV0Q29udGFpbmVyIC5hLUJ1dHRvbiB7XG4gICAgcGFkZGluZzogLjhyZW0gMS4ycmVtO1xuICB9XG59XG5cbi50LUZvcm0tLWxhcmdlLnQtRm9ybS0tbGFiZWxzQWJvdmUgLnQtRm9ybS1maWVsZENvbnRhaW5lcixcbi50LUZvcm0tZmllbGRDb250YWluZXItLXN0YWNrZWQudC1Gb3JtLS1maWVsZENvbnRhaW5lci0tbGFyZ2Uge1xuICAudC1Gb3JtLWxhYmVsQ29udGFpbmVyLS1oaWRkZW5MYWJlbCB7XG4gICAgaGVpZ2h0OiA0LjByZW07XG4gIH1cbn1cblxuLyogQnV0dG9uIEdyb3VwcyBmb3IgUmFkaW8gQnV0dG9ucyAqL1xuLnQtRm9ybS0tbGFyZ2UgLnQtRm9ybS1maWVsZENvbnRhaW5lci0tcmFkaW9CdXR0b25Hcm91cCxcbi50LUZvcm0tZmllbGRDb250YWluZXItLWxhcmdlLnQtRm9ybS1maWVsZENvbnRhaW5lci0tcmFkaW9CdXR0b25Hcm91cCxcbi50LUZvcm0tLWxhcmdlIC5hcGV4LWJ1dHRvbi1ncm91cCxcbi50LUZvcm0tZmllbGRDb250YWluZXItLWxhcmdlIC5hcGV4LWJ1dHRvbi1ncm91cCB7XG4gIHRhYmxlLnJhZGlvX2dyb3VwIGlucHV0ICsgbGFiZWwge1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFggTGFyZ2UgRm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUZvcm0tLXhsYXJnZSxcbi50LUZvcm0tZmllbGRDb250YWluZXItLXhsYXJnZSB7XG4gIC8vIExPRzUuMTogeGxhcmdlIGZvcm0gZmllbGRzIG5vIGxvbmdlciBoYXZlIGFkZGl0aW9uYWwgcGFkZGluZ1xuICAvLyAudC1Gb3JtLWxhYmVsQ29udGFpbmVyLFxuICAvLyAudC1Gb3JtLWlucHV0Q29udGFpbmVyIHtcbiAgLy8gICBwYWRkaW5nOiAxLjZyZW07XG4gIC8vICAgQGluY2x1ZGUgcmVzcG9uZC10byh4cy1zY3JlZW5zKSB7XG4gIC8vICAgICBwYWRkaW5nOiAwLjhyZW07XG4gIC8vICAgfVxuICAvLyB9XG4gIC50LUZvcm0taXRlbVRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiA0LjByZW07XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbiAgLmFwZXgtaXRlbS1pY29uIHsgXG4gICAgcGFkZGluZzogMTJweCA4cHggMTJweCAxMnB4OyBcbiAgICBsZWZ0OiAzNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMzZweDtcbiAgfVxuICAuYXBleC1pdGVtLWhhcy1pY29uIHsgdGV4dC1pbmRlbnQ6IDI0cHg7IH1cbiAgXG4gIC50LUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0LnNlbGVjdGxpc3Rbc2l6ZT1cIjFcIl0sXG4gIC50LUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0Lnllc19ubyB7XG4gICAgJi5hcGV4LWl0ZW0taGFzLWljb24ge1xuICAgICAgdGV4dC1pbmRlbnQ6IDIwcHhcbiAgICB9XG4gIH1cbiAgLnQtRm9ybS1sYWJlbCB7XG4gICAgcGFkZGluZzogMS4ycmVtIDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxuICAudC1Gb3JtLWlucHV0Q29udGFpbmVyIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBzZWxlY3Quc2VsZWN0bGlzdFtzaXplPVwiMVwiXSxcbiAgc2VsZWN0Lnllc19ubyxcbiAgaW5wdXQudGV4dF9maWVsZCxcbiAgaW5wdXQucGFzc3dvcmQsXG4gIGlucHV0LmRhdGVwaWNrZXIsXG4gIHNwYW4uZGlzcGxheV9vbmx5LFxuICBpbnB1dC5wb3B1cF9sb3Yge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIHBhZGRpbmc6IC45cmVtO1xuICAgIGhlaWdodDogNC4wcmVtO1xuICB9XG4gIHNlbGVjdC5zZWxlY3RsaXN0LFxuICBzZWxlY3QueWVzX25vIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBwYWRkaW5nOiAuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgfVxuICBzZWxlY3Quc2VsZWN0bGlzdFtzaXplPVwiMVwiXSxcbiAgc2VsZWN0Lnllc19ubyB7XG4gICAgcGFkZGluZy1yaWdodDogNC44cmVtO1xuICB9XG4gIC50LUZvcm0tcmFkaW9MYWJlbCxcbiAgLnJhZGlvX2dyb3VwIGxhYmVsLFxuICAudC1Gb3JtLWNoZWNrYm94TGFiZWwsXG4gIC5jaGVja2JveF9ncm91cCBsYWJlbCxcbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuMnJlbTtcbiAgfVxuICAudC1Gb3JtLWlucHV0Q29udGFpbmVyIC5hLUJ1dHRvbixcbiAgLnQtRm9ybS1pbnB1dENvbnRhaW5lciAudC1CdXR0b24ge1xuICAgIHBhZGRpbmc6IDEuMnJlbTtcbiAgfVxufVxuXG4vL1xuLy8gTGVnYWN5IFBvc3QgVGV4dCBDbGFzc1xuLy9cbi50LUZvcm0tcG9zdFRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIG1hcmdpbjogMDtcbn1cblxuLnQtRm9ybS0teGxhcmdlLnQtRm9ybS0tbGFiZWxzQWJvdmUgLnQtRm9ybS1maWVsZENvbnRhaW5lcixcbi50LUZvcm0tZmllbGRDb250YWluZXItLXN0YWNrZWQudC1Gb3JtLS1maWVsZENvbnRhaW5lci0teGxhcmdlIHtcbiAgLnQtRm9ybS1sYWJlbENvbnRhaW5lci0taGlkZGVuTGFiZWwge1xuICAgIGhlaWdodDogNC44cmVtO1xuICB9XG59XG5cbi8qIEJ1dHRvbiBHcm91cHMgZm9yIFJhZGlvIEJ1dHRvbnMgKi9cbi50LUZvcm0tLXhsYXJnZSAudC1Gb3JtLWZpZWxkQ29udGFpbmVyLS1yYWRpb0J1dHRvbkdyb3VwLFxuLnQtRm9ybS1maWVsZENvbnRhaW5lci0teGxhcmdlLnQtRm9ybS1maWVsZENvbnRhaW5lci0tcmFkaW9CdXR0b25Hcm91cCxcbi50LUZvcm0tLXhsYXJnZSAuYXBleC1idXR0b24tZ3JvdXAsXG4udC1Gb3JtLWZpZWxkQ29udGFpbmVyLS14bGFyZ2UgLmFwZXgtYnV0dG9uLWdyb3VwIHtcbiAgdGFibGUucmFkaW9fZ3JvdXAgaW5wdXQgKyBsYWJlbCB7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBObyBQYWRkaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtRm9ybS0tbm9QYWRkaW5nIHtcbiAgLnQtRm9ybS1pbnB1dENvbnRhaW5lcixcbiAgLnQtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2xpbSBQYWRkaW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtRm9ybS0tc2xpbVBhZGRpbmcge1xuICAudC1Gb3JtLWlucHV0Q29udGFpbmVyLFxuICAudC1Gb3JtLWxhYmVsQ29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMC40cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjRyZW07XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlIEJhc2VkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtRm9ybS0tdGFibGVCYXNlZCB7XG4gIC50LUZvcm0tbGFiZWxDb250YWluZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogLjhyZW07XG4gIH1cbiAgc2VsZWN0LnNlbGVjdGxpc3Qge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV2l6YXJkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtRm9ybS0td2l6YXJkIHtcbiAgc2VsZWN0LnNlbGVjdGxpc3QsXG4gIGlucHV0LnRleHRfZmllbGQge1xuICAgIG1pbi13aWR0aDogMzIuMHJlbTtcbiAgICBtYXgtd2lkdGg6IDUyLjByZW07XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExhYmVscyBBYm92ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUZvcm0tLWxhYmVsc0Fib3ZlIC50LUZvcm0tZmllbGRDb250YWluZXIsXG4udC1Gb3JtLWZpZWxkQ29udGFpbmVyLS1zdGFja2VkIHtcbiAgJi5yZWwtY29sID4gLmNvbCB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudC1CdXR0b24tLWhlbHBCdXR0b24ge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgLnQtRm9ybS1sYWJlbENvbnRhaW5lcixcbiAgLnQtRm9ybS1pbnB1dENvbnRhaW5lciB7XG4gICAgLy8gZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnQtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgQGluY2x1ZGUgdGV4dC1hbGlnbi1sZWZ0LWRpcmVjdGlvbigpO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC50LUZvcm0tbGFiZWxDb250YWluZXItLWhpZGRlbkxhYmVsIHtcbiAgICBoZWlnaHQ6IDMuMnJlbTtcbiAgfVxuICAudC1Gb3JtLWlucHV0Q29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICBzZWxlY3Quc2VsZWN0bGlzdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC50LUZvcm0tcmFkaW8sXG4gIC50LUZvcm0gZmllbGRzZXQucmFkaW9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAyLjRyZW07XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFN0cmV0Y2ggSW5wdXRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtRm9ybS0tc3RyZXRjaElucHV0cyAudC1Gb3JtLWZpZWxkQ29udGFpbmVyLFxuLnQtRm9ybS1maWVsZENvbnRhaW5lci0tc3RyZXRjaElucHV0cyB7XG4gIC50LUZvcm0taXRlbVdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC50LUZvcm0taW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIHNlbGVjdC5zZWxlY3RsaXN0LFxuICBzZWxlY3QueWVzX25vLFxuICBpbnB1dC50ZXh0X2ZpZWxkLFxuICBpbnB1dC5wYXNzd29yZCxcbiAgaW5wdXQuZGF0ZXBpY2tlcixcbiAgc3Bhbi5kaXNwbGF5X29ubHksXG4gIGlucHV0LnBvcHVwX2xvdiB7XG4gICBmbGV4OiAxO1xuICAgbWluLXdpZHRoOiAwO1xuICB9XG4gIGZpZWxkc2V0LFxuICB0ZXh0YXJlYSxcbiAgdGFibGUsXG4gIHRkLmxvdixcbiAgaW5wdXQucG9wdXBfbG92IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBTdHJldGNoIGZvcm0gaXRlbXMgd2hlbiBub3QgaW4gYSBkaWFsb2cgYW5kIHNjcmVlbiBpcyBzbWFsbFxuOm5vdCgudC1EaWFsb2cpIHtcbiAgQGluY2x1ZGUgcmVzcG9uZC10byh4c3Mtc2NyZWVucykge1xuICAgIC50LUZvcm0taW5wdXRDb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgLnQtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBzZWxlY3Quc2VsZWN0bGlzdCxcbiAgICBzZWxlY3QueWVzX25vLFxuICAgIGlucHV0LnRleHRfZmllbGQsXG4gICAgaW5wdXQucGFzc3dvcmQsXG4gICAgaW5wdXQuZGF0ZXBpY2tlcixcbiAgICBzcGFuLmRpc3BsYXlfb25seSxcbiAgICBpbnB1dC5wb3B1cF9sb3Yge1xuICAgICAgZmxleDogMTtcbiAgICB9XG4gICAgZmllbGRzZXQsXG4gICAgdGV4dGFyZWEsXG4gICAgdGFibGUsXG4gICAgdGQubG92LFxuICAgIGlucHV0LnBvcHVwX2xvdiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbi50LURpYWxvZyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NjdweCkge1xuICAgIC50LUZvcm0taW5wdXRDb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgLnQtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBzZWxlY3Quc2VsZWN0bGlzdCxcbiAgICBzZWxlY3QueWVzX25vLFxuICAgIGlucHV0LnRleHRfZmllbGQsXG4gICAgaW5wdXQucGFzc3dvcmQsXG4gICAgaW5wdXQuZGF0ZXBpY2tlcixcbiAgICBzcGFuLmRpc3BsYXlfb25seSxcbiAgICBpbnB1dC5wb3B1cF9sb3Yge1xuICAgICAgZmxleDogMTtcbiAgICB9XG4gICAgZmllbGRzZXQsXG4gICAgdGV4dGFyZWEsXG4gICAgdGFibGUsXG4gICAgdGQubG92LFxuICAgIGlucHV0LnBvcHVwX2xvdiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZXNwb25zaXZlIENoZWNrYm94IExhYmVsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUZvcm0tZmllbGRDb250YWluZXItLXJlc0NoZWNrUmFkaW8ge1xuICBmaWVsZHNldC5yYWRpb19ncm91cCxcbiAgZmllbGRzZXQuY2hlY2tib3hfZ3JvdXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIHRhYmxlLmNoZWNrYm94X2dyb3VwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0Ym9keSx0cix0ZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgdGQge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0tc2NyZWVucy1vdXQpIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZWRpdW0tc2NyZWVucy1pbikge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbWFsbC1zY3JlZW5zLWluKSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHhzLXNjcmVlbnMtaW4pIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4udC1Gb3JtLWZpZWxkQ29udGFpbmVyLmlzLXJlcXVpcmVkIHtcbiAgLnQtRm9ybS1sYWJlbCB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZTA1OFwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiYXBleC01LWljb24tZm9udFwiICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgY29sb3I6IHJlZDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAudC1Gb3JtLS1sZWZ0TGFiZWxzICYgLnQtRm9ybS1sYWJlbCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICB9XG4gIH1cbn1cblxuLnUtUlRMIHtcbiAgLnQtRm9ybS1maWVsZENvbnRhaW5lci5pcy1yZXF1aXJlZCAudC1Gb3JtLWxhYmVsIHtcbiAgICAmOmJlZm9yZSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAmOmFmdGVyICB7IGRpc3BsYXk6IGlubGluZTsgfVxuICB9XG4gIC50LUZvcm0tLWxlZnRMYWJlbHMgLnQtRm9ybS1maWVsZENvbnRhaW5lci5pcy1yZXF1aXJlZCAudC1Gb3JtLWxhYmVsIHtcbiAgICAmOmJlZm9yZSB7IGRpc3BsYXk6IGlubGluZTsgfVxuICAgICY6YWZ0ZXIgIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExvZ2luIEZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50LUZvcm0tLWxvZ2luIHtcbiAgLnQtRm9ybS1sYWJlbCB7XG4gICAgcGFkZGluZzogLjhyZW0gMDtcbiAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG4gIC50LUZvcm0taW5wdXRDb250YWluZXIgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIHNlbGVjdC5zZWxlY3RsaXN0LFxuICBzZWxlY3QueWVzX25vLFxuICBpbnB1dC50ZXh0X2ZpZWxkLFxuICBpbnB1dC5wYXNzd29yZCxcbiAgaW5wdXQuZGF0ZXBpY2tlcixcbiAgc3Bhbi5kaXNwbGF5X29ubHksXG4gIGlucHV0LnBvcHVwX2xvdiB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgcGFkZGluZzogLjhyZW07XG4gICAgaGVpZ2h0OiAzLjZyZW07XG4gIH1cbiAgc2VsZWN0LnNlbGVjdGxpc3QsXG4gIHNlbGVjdC55ZXNfbm8ge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0LjRyZW07XG4gIH1cbiAgLnQtRm9ybS1yYWRpb0xhYmVsLFxuICAucmFkaW9fZ3JvdXAgbGFiZWwsXG4gIC50LUZvcm0tY2hlY2tib3hMYWJlbCxcbiAgLmNoZWNrYm94X2dyb3VwIGxhYmVsLFxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICB9XG4gIC50LUZvcm0taW5wdXRDb250YWluZXIgLmEtQnV0dG9uLFxuICAudC1Gb3JtLWlucHV0Q29udGFpbmVyIC50LUJ1dHRvbiB7XG4gICAgcGFkZGluZzogMS4wcmVtIDEuMnJlbTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGlkZGVuIExhYmVsICh1c2luZyAwIGxhYmVsIGNvbHVtbiBzcGFuKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbmNsdWRlIHJlc3BvbmQtdG8oeHNzLXNjcmVlbnMpIHtcbiAgLnQtRm9ybS1sYWJlbENvbnRhaW5lci0taGlkZGVuTGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDsgLy9vdmVycmlkZSBsYXJnZSAvIHhsYXJnZSBoZWlnaHRzXG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4udC1Gb3JtLWxhYmVsQ29udGFpbmVyLmNvbC0wOm5vdCgudC1Gb3JtLWxhYmVsQ29udGFpbmVyLS1oaWRkZW5MYWJlbCkge1xuICBAaW5jbHVkZSB2aXN1YWxseUhpZGRlbjtcbiAgcGFkZGluZzogMDtcbn1cblxuLmNvbnRhaW5lciA+IC5yb3cgPiAuY29sOmZpcnN0LWNoaWxkID4gLnQtRm9ybS1maWVsZENvbnRhaW5lci0taGlkZGVuTGFiZWwge1xuICBAaW5jbHVkZSByZXNwb25kLXRvKHh4cy1zY3JlZW5zKSB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG59XG4udC1Gb3JtLWxhYmVsQ29udGFpbmVyLS1oaWRkZW5MYWJlbC5jb2wtMCxcbi50LUZvcm0tbGFiZWxDb250YWluZXItLWhpZGRlbkxhYmVsLmNvbC1udWxsIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBmbG9hdDogbm9uZTtcbn1cblxuLnQtRm9ybS1maWVsZENvbnRhaW5lci0taGlkZGVuTGFiZWwgPiAudC1Gb3JtLWlucHV0Q29udGFpbmVyLmNvbC1udWxsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBub25lO1xufVxuXG4udC1Gb3JtLWZpZWxkQ29udGFpbmVyLS1oaWRkZW5MYWJlbCB7XG4gICYudC1Gb3JtLWZpZWxkQ29udGFpbmVyLS1ub0xhYmVsU3BhY2luZy5yZWwtY29sIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgJi50LUZvcm0tZmllbGRDb250YWluZXItLW5vTGFiZWxTcGFjaW5nLnJlbC1jb2wgPiAudC1Gb3JtLWxhYmVsQ29udGFpbmVyLS1oaWRkZW5MYWJlbC5jb2wge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICYudC1Gb3JtLWZpZWxkQ29udGFpbmVyLS1ub0xhYmVsU3BhY2luZy5yZWwtY29sID4gLnQtRm9ybS1pbnB1dENvbnRhaW5lci5jb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi50LUZvcm0tbGFiZWxDb250YWluZXItLWhpZGRlbkxhYmVsIHtcbiAgbWluLWhlaWdodDogMy4ycmVtO1xuICBwYWRkaW5nOiAuMHJlbTtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5vIEdyaWQgU3VwcG9ydCAoRGVmYXVsdCBXaWR0aHMpXG4gICAtLS1cbiAgIEFwcGx5IHRoaXMgZ3JpZCBmb3IgT3B0aW9uYWwgLyBSZXF1aXJlZCBsYWJlbCB0ZW1wbGF0ZXNcbiAgIHdoZW4gdGhleSBhcmUgcGxhY2VkIGluIGEgRGlzcGxheSBQb3NpdGlvbiB0aGF0IGRvZXMgbm90IHN1cHBvcnQgR3JpZHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gIC50LUZvcm0tbGFiZWxDb250YWluZXIuY29sLW51bGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnQtRm9ybS1pbnB1dENvbnRhaW5lci5jb2wtbnVsbCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VhcmNoIEZpZWxkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtRm9ybS0tc2VhcmNoIHtcbiAgLnQtRm9ybS1sYWJlbENvbnRhaW5lci0taGlkZGVuTGFiZWwge1xuICAgIHdpZHRoOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuICAudC1Gb3JtLWlucHV0Q29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgaW5wdXQudC1Gb3JtLXNlYXJjaEZpZWxkIHtcbiAgfVxufVxuXG4vKiBUT0RPOiBSZW1vdmUgdC1Gb3JtLXNlYXJjaEZpZWxkIGFzIHdlIGhhdmUgaXRlbSBpY29uIHN1cHBvcnQgaW4gNS4xICovXG4udC1Gb3JtLXNlYXJjaEZpZWxkOm5vdCguYXBleC1pdGVtLWhhcy1pY29uKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXhOaUlnYUdWcFoyaDBQU0l4TmlJZ2RtbGxkMEp2ZUQwaU1DQXdJREUySURFMklqNDhjR0YwYUNCa1BTSk5NVFF1TnlBeE5DNDNZeTB1TkM0MExURWdMalF0TVM0MElEQnNMVE11TmkwekxqWmpMUzQ1TGpZdE1pQXVPUzB6TGpFdU9TMHpMakVnTUMwMUxqWXRNaTQxTFRVdU5pMDFMalZ6TWk0MUxUVXVOU0ExTGpVdE5TNDFJRFV1TlNBeUxqVWdOUzQxSURVdU5XTXdJREV1TWkwdU15QXlMakl0TGprZ015NHhiRE11TmlBekxqWmpMalF1TlM0MElERXVNU0F3SURFdU5YcHRMVGd1TWkweE1TNDNZeTB4TGprZ01DMHpMalVnTVM0MkxUTXVOU0F6TGpWek1TNDJJRE11TlNBekxqVWdNeTQxSURNdU5TMHhMallnTXk0MUxUTXVOUzB4TGpZdE15NDFMVE11TlMwekxqVjZJaUJ2Y0dGamFYUjVQU0l1TlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlJR1pwYkd3OUlpTXlNekZHTWpBaUx6NDhMM04yWno0PSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC4zcmVtIC4zcmVtO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwYWRkaW5nLWxlZnQ6IDIuNHJlbTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IDEuNnJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjZyZW07XG59XG4vKiBUT0RPOiBSZW1vdmUgdC1Gb3JtLXNlYXJjaEZpZWxkIGFzIHdlIGhhdmUgaXRlbSBpY29uIHN1cHBvcnQgaW4gNS4xICovXG5pbnB1dFt0eXBlPXRleHRdLnQtRm9ybS1zZWFyY2hGaWVsZDpub3QoLmFwZXgtaXRlbS1oYXMtaWNvbikge1xuICBwYWRkaW5nLWxlZnQ6IDIuNHJlbTtcbn1cbi50LUZvcm0tLWxhcmdlLFxuLnQtRm9ybS1maWVsZENvbnRhaW5lci0tbGFyZ2Uge1xuICAvKiBUT0RPOiBSZW1vdmUgdC1Gb3JtLXNlYXJjaEZpZWxkIGFzIHdlIGhhdmUgaXRlbSBpY29uIHN1cHBvcnQgaW4gNS4xICovXG4gIC50LUZvcm0tc2VhcmNoRmllbGQ6bm90KC5hcGV4LWl0ZW0taGFzLWljb24pIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNnJlbTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAuOHJlbTtcbiAgICAudS1SVEwgJiB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAuOHJlbSB0b3AgLjdyZW07IC8vIG5lZWQgdGhlIHRvcCBzbyB0aGUgQ1NTIHBhcnNlciBrbm93cyB0aGF0IHRoZSAuOHJlbSBpcyBmb3IgdGhlIHJpZ2h0IG9mZnNldCEgTm90IGFzIHRoZSBuZXh0IHRvcCB2YWx1ZS5cbiAgICB9XG4gIH1cbiAgaW5wdXRbdHlwZT10ZXh0XS50LUZvcm0tc2VhcmNoRmllbGQ6bm90KC5hcGV4LWl0ZW0taGFzLWljb24pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuMHJlbTtcbiAgICAudS1SVEwgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IC43cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMy4wcmVtO1xuICAgIH1cbiAgfVxufVxuLnQtRm9ybS0teGxhcmdlLFxuLnQtRm9ybS1maWVsZENvbnRhaW5lci0teGxhcmdlIHtcbiAgLnQtRm9ybS1zZWFyY2hGaWVsZDpub3QoLmFwZXgtaXRlbS1oYXMtaWNvbikge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMi4ycmVtO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC45cmVtO1xuICAgIC51LVJUTCAmIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC45cmVtIHRvcCAuOHJlbTtcbiAgICB9XG4gIH1cbiAgaW5wdXRbdHlwZT10ZXh0XS50LUZvcm0tc2VhcmNoRmllbGQ6bm90KC5hcGV4LWl0ZW0taGFzLWljb24pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuMHJlbTtcbiAgICAudS1SVEwgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNnJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQuMHJlbTtcbiAgICB9XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZpZWxkIE1vZGlmaWVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50LUZvcm0gc2VsZWN0LnNlbGVjdGxpc3QsXG4udC1Gb3JtIGlucHV0LnRleHRfZmllbGQsXG4udC1Gb3JtIGlucHV0LnBhc3N3b3JkLFxuLnQtRm9ybS1pbnB1dENvbnRhaW5lciBpbnB1dFt0eXBlPXRleHRdIHtcbiAgJi5zdHJldGNoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaXN0IE1hbmFnZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5maWVsZHNldC5saXN0bWFuYWdlciB7XG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB9XG4gIHRkIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgc2VsZWN0Lmxpc3RtYW5hZ2VyIHtcbiAgICBtYXJnaW4tdG9wOiAuOHJlbTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2h1dHRsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5maWVsZHNldC5zaHV0dGxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLnNodXR0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cbiAgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbiAgLnNodXR0bGVDb250cm9sLFxuICAuc2h1dHRsZVNvcnQyIHtcbiAgICB3aWR0aDogMSU7XG4gIH1cbiAgLnNodXR0bGVTZWxlY3QxLFxuICAuc2h1dHRsZVNlbGVjdDIge1xuICAgIHdpZHRoOiA0OSU7XG4gIH1cbiAgc2VsZWN0LnNodXR0bGVfbGVmdCxcbiAgc2VsZWN0LnNodXR0bGVfcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDE0LjByZW07XG4gICAgbWFyZ2luOiAuNHJlbSAwO1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm0gQWxpZ25tZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udC1Gb3JtLS1hbGlnbkxlZnQge1xuICAuY29sIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICAvLyBwYWRkaW5nOiAwO1xuICB9XG4gIC50LUZvcm0tZmllbGRDb250YWluZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG4gIC50LUZvcm0tbGFiZWxDb250YWluZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4udC1Gb3JtLS1mbG9hdExlZnQge1xuICAuY29sIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIC51LVJUTCAmIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLnQtRm9ybS1maWVsZENvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgLnUtUlRMICYge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuICAudC1Gb3JtLWxhYmVsQ29udGFpbmVyIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnQtRm9ybS1pbnB1dENvbnRhaW5lciB7XG4gICAgc2VsZWN0IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLnQtRm9ybS0tbGVmdExhYmVscyB7XG4gIC50LUZvcm0tbGFiZWxDb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLnUtUlRMICYge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi50LUZvcm0tLWZpeGVkTGFiZWxzIHtcbiAgLnQtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE2LjByZW07XG4gIH1cbn1cblxuYm9keSB7XG4gIC50LUZvcm0taW5wdXRDb250YWluZXIgc2VsZWN0Lnllc19ubyxcbiAgLnQtRm9ybS1pbnB1dENvbnRhaW5lciBzZWxlY3RbbXVsdGlwbGVdLFxuICAudC1Gb3JtLWlucHV0Q29udGFpbmVyIHNlbGVjdC5zZWxlY3RsaXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIH1cblxufVxuXG4uYXBleC10YWJ1bGFyLWZvcm0tZXJyb3Ige1xuICBib3JkZXItY29sb3I6ICNFOTIwMjAgIWltcG9ydGFudDtcbiAgJiArIC5hLUJ1dHRvbiB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNFOTIwMjAgaW5zZXQ7XG4gIH1cbn1cbi5hcGV4LXRhYnVsYXItaGlnaGxpZ2h0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZjYzAwICFpbXBvcnRhbnQ7XG4gICYgKyAuYS1CdXR0b24ge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZjYzAwIGluc2V0O1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbkNoZWNrYm94ICsgUmFkaW8gQnV0dG9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIC5jaGVja2JveF9ncm91cCBpbnB1dCxcbi50LUZvcm0taW5wdXRDb250YWluZXIgLnJhZGlvX2dyb3VwIGlucHV0IHtcbiAgQGluY2x1ZGUgdmlzdWFsbHlIaWRkZW47XG4gICYgKyBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDRweCAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWluLWhlaWdodDogMTZweDtcbiAgICAudS1SVEwgJiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgfVxuICAgICYgKyBiciB7XG4gICAgfVxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRyYW5zaXRpb246IC4yNXMgZWFzZTtcbiAgICAgIC51LVJUTCAmIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO1xuICAgICAgei1pbmRleDogOTA7XG5cbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuLyogRGlzYWJsZWQgU3RhdGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICY6ZGlzYWJsZWQgKyBsYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgIH1cbiAgfVxuLyogRm9jdXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICY6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICAgIC8vIGJvcmRlci1jb2xvcjogIzM5ZjtcbiAgICBib3gtc2hhZG93OiByZ2JhKDAsMCwwLC4xKSAwIDFweCAxcHg7XG4gIH1cbiAgJjpmb2N1czpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAvLyBib3JkZXItY29sb3I6ICMzOWY7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogIzM5ZjtcbiAgfVxuICAmOmhvdmVyOmNoZWNrZWQgKyBsYWJlbDphZnRlclxuICAmOmZvY3VzOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbkNoZWNrYm94IFNwZWNpZmljXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIC5jaGVja2JveF9ncm91cCBpbnB1dCB7XG4gICYgKyBsYWJlbCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuICB9XG5cbi8qIFVuY2hlY2tlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgJjpob3ZlciArIGxhYmVsOmFmdGVyLFxuICAmOmZvY3VzICsgbGFiZWw6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4vKiBDaGVja2VkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICBAa2V5ZnJhbWVzIGNoZWNrbWFyayB7XG4gICAgICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApfVxuICAgICAgNzUlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KX1cbiAgICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSl9XG4gIH1cbiAgJjpjaGVja2VkIHtcbiAgICAmICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIC8vIGJvcmRlci1jb2xvcjogIzYwNjA2MDtcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICM2MDYwNjA7XG4gICAgfVxuICAgICYgKyBsYWJlbDphZnRlciB7XG4gICAgICBAaW5jbHVkZSBhcGV4NWljb24tYmFzaWM7XG4gICAgICBjb250ZW50OiAnXFxlMDA3JztcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICBhbmltYXRpb246IGNoZWNrbWFyayAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgYW5pbWF0aW9uLWZpbG0tbW9kZTogZm9yd2FyZHM7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblJhZGlvIFNwZWNpZmljXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5Aa2V5ZnJhbWVzIHJhZGlvIHtcbiAgICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDMpfVxuICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSl9XG59XG4udC1Gb3JtLWlucHV0Q29udGFpbmVyIC5yYWRpb19ncm91cCBpbnB1dCB7XG4gICYgKyBsYWJlbCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICBtYXJnaW46IDVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgfVxuICB9XG5cbi8qIFVuY2hlY2tlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgJjpob3ZlciArIGxhYmVsOmFmdGVyLFxuICAmOmZvY3VzICsgbGFiZWw6YWZ0ZXIge1xuICB9XG5cbi8qIENoZWNrZWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICY6Y2hlY2tlZCB7XG4gICAgJiArIGxhYmVsOmJlZm9yZSB7XG4gICAgfVxuICAgICYgKyBsYWJlbDphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIGFuaW1hdGlvbjogcmFkaW8gLjE1cyBlYXNlLWluLW91dDtcbiAgICAgIGFuaW1hdGlvbi1maWxtLW1vZGU6IGZvcndhcmRzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJbmxpbmUgSGVscFxuICAgLS0tXG4gICBEaXNwbGF5IGhlbHAgdGV4dCBpbW1lZGlhdGVseSBiZWxvdyB0aGUgaW5wdXQgZmllbGQuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIaWRlIElubGluZSBIZWxwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtRm9ybS1pbmxpbmVIZWxwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4vKiBTYW1lIENvbHVtbiBJdGVtIGFuZCBCdXR0b24gQWxpZ25tZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtRm9ybS1pbnB1dENvbnRhaW5lci1jb2wge1xuICAudC1Gb3JtLWxhYmVsQ29udGFpbmVyLFxuICAudC1Gb3JtLWlucHV0Q29udGFpbmVye1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnQtRm9ybS1sYWJlbENvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtIEl0ZW1zIGluIFNpZGUgQ29sdW1uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnQtQm9keS1zaWRlIHtcbiAgLnQtRm9ybS1maWVsZENvbnRhaW5lcjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgfVxuICAudC1Gb3JtLWxhYmVsQ29udGFpbmVyLFxuICAudC1Gb3JtLWlucHV0Q29udGFpbmVyLFxuICAudC1Gb3JtLWxhYmVsQ29udGFpbmVyLmNvbCxcbiAgLnQtRm9ybS1pbnB1dENvbnRhaW5lci5jb2wge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJlIGFuZCBQb3N0IFRleHQgU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnQtRm9ybS1pdGVtVGV4dCB7XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAmOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLnQtRm9ybS1maWVsZENvbnRhaW5lci0tcHJlVGV4dEJsb2NrLFxuLnQtRm9ybS1maWVsZENvbnRhaW5lci0tcG9zdFRleHRCbG9jayB7XG4gIGZpZWxkc2V0LnJhZGlvX2dyb3VwLFxuICBmaWVsZHNldC5jaGVja2JveF9ncm91cCB7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgfVxufVxuLnQtRm9ybS1maWVsZENvbnRhaW5lci0tcHJlVGV4dEJsb2NrIC50LUZvcm0taXRlbVRleHQtLXByZSxcbi50LUZvcm0tZmllbGRDb250YWluZXItLXBvc3RUZXh0QmxvY2sgLnQtRm9ybS1pdGVtVGV4dC0tcG9zdCB7XG4gIHBhZGRpbmc6IDAgOHB4O1xufVxuLnQtRm9ybS1maWVsZENvbnRhaW5lci0tcHJlVGV4dEJsb2NrIHtcbiAgLnQtRm9ybS1pdGVtVGV4dC0tcHJlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gIH1cbn1cbi50LUZvcm0tZmllbGRDb250YWluZXItLXBvc3RUZXh0QmxvY2sge1xuICAudC1Gb3JtLWl0ZW1UZXh0LS1wb3N0IHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxufVxuXG4vKiBBUEVYIEJ1dHRvbiBHcm91cCAoZm9yIFN3aXRjaCBhbmQgUGlsbCBCdXR0b25zKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hcGV4LWJ1dHRvbi1ncm91cCAuYS1CdXR0b24ge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjJyZW07XG4gIHBhZGRpbmctbGVmdDogMS4ycmVtO1xufVxuXG4vKiBGaWxlIFVwbG9hZCBEb3dubG9hZCBMaW5rXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFwZXgtaXRlbS1maWxlLXVwbG9hZCArIGEge1xuICBvcmRlcjogMTA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi8qIFF1aWNrIFBpY2tzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFwZXgtcXVpY2stcGlja3Mge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgZmxleC1iYXNpczogMTAwJTtcbn0iLCJAaW1wb3J0ICdzY3NzX2Z1bmN0aW9ucyc7XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC8vICp6b29tOiAxO1xufVxuXG5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gTWVkaWEgUXVlcmllc1xuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vL1NUQVJUX1RIRU1FUk9MTEVSX0lHTk9SRVxuJGRpc3BsYXkteHhzOiA0ODBweDtcbiRkaXNwbGF5LXhzczogNjQwcHg7XG4kZGlzcGxheS14czogNzY4cHg7XG4kZGlzcGxheS1zbWFsbDogOTkycHg7XG4kZGlzcGxheS1tZWRpdW06IDEyMDBweDtcbiRkaXNwbGF5LWxhcmdlOiAxOTIwcHg7XG5cbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHh4cy1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXh4cykgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0geHNzLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXkteHNzKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSB4cy1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LXhzKSB7IEBjb250ZW50OyB9XG4gIH1cblxuICBAaWYgJG1lZGlhID09IHhzLXRvLXhzcy1zY3JlZW5zIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS14c3MgKyAxKSBhbmQgKG1heC13aWR0aDogJGRpc3BsYXkteHMgLSAxKSB7IEBjb250ZW50OyB9XG4gIH1cblxuICBAaWYgJG1lZGlhID09IHNtYWxsLXNjcmVlbnMtaW4ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktc21hbGwpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IG1lZGl1bS1zY3JlZW5zLWluIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LW1lZGl1bSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGFyZ2Utc2NyZWVucy1pbiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZGlzcGxheS1sYXJnZSkgeyBAY29udGVudDsgfVxuICB9XG5cblxuICBAaWYgJG1lZGlhID09IHhzcy1zbWFsbC1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS14c3MgKyAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSB4cy1zbWFsbC1zY3JlZW5zLW91dCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS14cyArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IHNtYWxsLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXNtYWxsICsgMSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LW1lZGl1bSArIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxhcmdlLXNjcmVlbnMtb3V0IHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LWxhcmdlICsgMSkgeyBAY29udGVudDsgfVxuICB9XG5cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtYWxsLXNjcmVlbnMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRpc3BsYXkteHMgKyAxKSBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktc21hbGwgLSAxKSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1lZGl1bS1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LXNtYWxsICsgMSkgYW5kIChtYXgtd2lkdGg6ICRkaXNwbGF5LW1lZGl1bSAtIDEpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbGFyZ2Utc2NyZWVucyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGlzcGxheS1tZWRpdW0gKyAxKSBhbmQgKG1heC13aWR0aDogJGRpc3BsYXktbGFyZ2UgLSAxKSB7IEBjb250ZW50OyB9XG4gIH1cblxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbGFyZ2VzdC1zY3JlZW5zIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkaXNwbGF5LWxhcmdlKSB7IEBjb250ZW50OyB9XG4gIH1cbn1cbi8vRU5EX1RIRU1FUk9MTEVSX0lHTk9SRVxuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIEZvbnQgQXdlc29tZSBFbWJlZGRpbmdcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5AbWl4aW4gYXBleDVpY29uIHtcbiAgZm9udC1mYW1pbHk6IFwiYXBleC01LWljb24tZm9udFwiICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbn1cblxuQG1peGluIGFwZXg1aWNvbi1iYXNpYyB7XG4gIGZvbnQtZmFtaWx5OiBcImFwZXgtNS1pY29uLWZvbnRcIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5AbWl4aW4gdmlzdWFsbHlIaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuQG1peGluIHZlcnRpY2FsLWFsaWduICB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIGZvY3VzYWJsZVZpc3VhbGx5SGlkZGVuIHtcbiAgQGluY2x1ZGUgdmlzdWFsbHlIaWRkZW47XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBjbGlwOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gdHJhbnNsYXRlM2QtbGVzcygkeCwgJHk6IDAsICR6OiAwKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06ICAgICAgIHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xuICAgIC1tcy10cmFuc2Zvcm06IFx0XHQgdHJhbnNsYXRlKCR4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xufVxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tbGVmdCgkdmFsKSB7XG4gIGxlZnQ6ICR2YWw7XG4gIC51LVJUTCAmIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi1tYXJnaW4tbGVmdCgkdmFsKSB7XG4gIG1hcmdpbi1sZWZ0OiAkdmFsO1xuICAudS1SVEwgJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6ICR2YWw7XG4gIH1cbn1cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLXBhZGRpbmctbGVmdCgkdmFsKSB7XG4gIHBhZGRpbmctbGVmdDogJHZhbDtcbiAgLnUtUlRMICYge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6ICR2YWw7XG4gIH1cbn1cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLXJpZ2h0KCR2YWwpIHtcbiAgcmlnaHQ6ICR2YWw7XG4gIC51LVJUTCAmIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi1tYXJnaW4tcmlnaHQoJHZhbCkge1xuICBtYXJnaW4tcmlnaHQ6ICR2YWw7XG4gIC51LVJUTCAmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBtYXJnaW4tbGVmdDogJHZhbDtcbiAgfVxufVxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tcGFkZGluZy1yaWdodCgkdmFsKSB7XG4gIHBhZGRpbmctcmlnaHQ6ICR2YWw7XG4gIC51LVJUTCAmIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAkdmFsO1xuICB9XG59XG5cbkBtaXhpbiBhcGV4LWRpcmVjdGlvbi1mbG9hdC1lbmQge1xuICBmbG9hdDogcmlnaHQ7XG4gIC51LVJUTCAmIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5AbWl4aW4gYXBleC1kaXJlY3Rpb24tZmxvYXQtc3RhcnQge1xuICBmbG9hdDogbGVmdDtcbiAgLnUtUlRMICYge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuXG5cblxuQG1peGluIGFwZXgtZGlyZWN0aW9uLXRyYW5zbGF0ZSgkdmFsKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QtbGVzcygkdmFsLCAwLCAwKTtcbiAgICAudS1SVEwgJiB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkLWxlc3MoLSR2YWwsIDAsMCApO1xuICAgIH1cbn1cblxuQG1peGluIHRleHQtYWxpZ24tbGVmdC1kaXJlY3Rpb24oKSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIC51LVJUTCAmIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG5cbkBtaXhpbiB0ZXh0LWFsaWduLXJpZ2h0LWRpcmVjdGlvbigpIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIC51LVJUTCAmIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJY29uIExpYnJhcnkgTWl4aW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWl4aW4gaWNvbi1saWIoJGxpYnJhcnkpIHtcbiAgQGlmICRsaWJyYXJ5ID09IGF3ZXNvbWUge1xuICAgIC5hcGV4LWljb25zLWZvbnRhd2Vzb21lICYge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IFxuICBAZWxzZSBpZiAkbGlicmFyeSA9PSBhcGV4IHtcbiAgICAuYXBleC1pY29ucy1mb250YXBleCAmIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2hhZG93c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtaXhpbiB1dC1ibG9jay1zaGFkb3coKSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
