.validation-message{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;font-family:var(--ids-font-family-default),var(--ids-font-family-system-sans);margin-top:var(--ids-space-2xs);max-width:var(--ids-input-width-full)}.validation-message.has-custom-icon{color:var(--ids-icon-color-default)}.validation-message.disabled{color:var(--ids-input-color-text-disabled)}.validation-message .ids-icon{margin-inline-end:var(--ids-space-2xs)}.validation-message.alert{color:var(--ids-color-caution-default)}.validation-message.alert.disabled{color:var(--ids-color-yellow-30)}.validation-message.warning{color:var(--ids-color-warning-default)}.validation-message.warning.disabled{color:var(--ids-color-orange-30)}.validation-message.error{color:var(--ids-color-error-default)}.validation-message.error.disabled{color:var(--ids-color-red-30)}.validation-message.info{color:var(--ids-color-info-default)}.validation-message.info.disabled{color:var(--ids-color-blue-30)}.validation-message.success{color:var(--ids-color-success-default)}.validation-message.success.disabled{color:var(--ids-color-green-30)}.validation-message[hidden]{display:none}:host([suppress-error-message]) .validation-message{display:none}.icon-error-tracker{position:absolute;color:var(--ids-input-error-tracker-color-background, var(--ids-color-red-60));top:0;pointer-events:none}.icon-error-tracker[dir=rtl]{transform:rotate(90deg);top:0}.icon-field-indicator{position:absolute;top:0;pointer-events:none}.icon-field-indicator[dir=rtl]{transform:rotate(90deg);top:0}.icon-field-indicator-info{display:var(--ids-field-indicator-info-visibility, flex);align-items:center;margin-inline-end:var(--ids-field-indicator-info-margin, var(--ids-space-xs));cursor:pointer;color:var(--ids-field-indicator-icon-color, --ids-color-info-default)}.field-indicator-neutral{--ids-field-indicator-icon-color: var(--ids-color-accent-neutral-weak)}.field-indicator-neutral .icon-field-indicator{color:var(--ids-color-accent-neutral-weak)}.field-indicator-info{--ids-field-indicator-icon-color: var(--ids-color-info-default)}.field-indicator-info .icon-field-indicator{color:var(--ids-color-info-default)}.field-indicator-success{--ids-field-indicator-icon-color: var(--ids-color-success-default)}.field-indicator-success .icon-field-indicator{color:var(--ids-color-success-default)}.field-indicator-caution{--ids-field-indicator-icon-color: var(--ids-color-caution-default)}.field-indicator-caution .icon-field-indicator{color:var(--ids-color-caution-default)}.field-indicator-warning{--ids-field-indicator-icon-color: var(--ids-color-warning-default)}.field-indicator-warning .icon-field-indicator{color:var(--ids-color-warning-default)}.field-indicator-error{--ids-field-indicator-icon-color: var(--ids-color-error-default)}.field-indicator-error .icon-field-indicator{color:var(--ids-color-error-default)}[class*=field-indicator-].has-focus .icon-field-indicator-info{display:none}:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea{display:flex;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:0;box-sizing:border-box;flex-shrink:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{width:100%;margin-block-start:var(--ids-space-2xs)}@media(max-width: 927px){:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{margin-inline-start:0}}@media(width > 320px){:host([label-position=inline-start]) .ids-input .ids-label-text,:host([label-position=inline-start]) .ids-textarea .ids-label-text{margin-inline-end:0;margin-block-end:0}}@container (width > $breakpoint-xs){:host([label-position=inline-start]) .ids-input .ids-label-text,:host([label-position=inline-start]) .ids-textarea .ids-label-text{margin-inline-end:0;margin-block-end:0}}@media(min-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea{flex-wrap:wrap;gap:8px}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label{flex:0 0 auto;margin-bottom:unset;order:1}:host([label-position=inline-start]) .ids-input .field-container,:host([label-position=inline-start]) .ids-textarea .field-container{order:2}:host([label-position=inline-start]) .ids-input .textarea-field-group,:host([label-position=inline-start]) .ids-textarea .textarea-field-group{order:2;flex:1 1 auto;min-width:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message{flex:1 1 100%;min-width:100%;order:3;margin-block-start:calc(0px - var(--ids-space-2xs));margin-inline-start:calc(var(--ids-label-width) + 6px)}}:host([label-position=inline-start]) .ids-checkbox{margin-top:var(--ids-space-00)}@media(min-width: 320px){:host([label-position=inline-start]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}:host([label-position=inline-start]) .ids-checkbox.label-state-collapsed .validation-message{margin-inline-start:unset}}@container (min-width: 320px){:host([label-position=inline-start]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox{container-type:normal}@media(width <= 320px){:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, center)}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox label{display:flex;align-items:center;width:100%;padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);box-sizing:border-box;gap:var(--ids-space-xs)}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .label-checkbox{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .checkbox-wrapper{position:relative;display:inline-flex}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .field-container{flex:1}:host([label-position=inline-start][horizontal-aligned]) .ids-checkbox .validation-message{width:100%;margin-inline-start:calc(var(--ids-label-width) + var(--ids-space-xs));margin-block-start:var(--ids-space-2xs)}}:host([label-position=inline-start][label-alignment=end]) .ids-input,:host([label-position=inline-start][label-alignment=end]) .ids-textarea{gap:var(--ids-label-alignment-gap)}:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{display:inline-flex;align-items:var(--ids-label-align-y, center);justify-content:flex-end;text-align:end}@container (width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start}}:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{position:relative}@media(width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start;text-align:start;align-self:start}}@container (width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text{justify-content:flex-start;text-align:start;align-self:start}}:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{margin-inline-end:0;position:absolute;margin-top:unset;inset-inline-end:-5px;top:7px}@container (width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{position:initial;margin-top:unset;inset-inline-end:initial}}@media(width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-input label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea label.required::after,:host([label-position=inline-start][label-alignment=end]) .ids-textarea .ids-label-text.required::after{position:initial;margin-top:unset;inset-inline-end:initial}}:host([label-position=inline-start][label-alignment=end]) .field-container{flex:1}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:end;padding-inline-end:0}@media(width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:start}}@container (width <= 320px){:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label{text-align:start}}:host([label-position=inline-start][label-alignment=end]) .ids-checkbox label.required .label-checkbox span::after{margin-inline-end:0;position:absolute;margin-top:unset;right:-5px;top:-5px}@media(width > 767px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{display:inline-flex;align-items:center;justify-content:flex-end;text-align:end}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{justify-content:flex-start}}}@media(width > 767px)and (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-switch label{justify-content:flex-start}}:host([label-position=inline-start][label-alignment=end]) .ids-radio-group ids-text.group-label-text{display:inline-flex;align-items:center;justify-content:flex-end}@container (width < 320px){:host([label-position=inline-start][label-alignment=end]) .ids-radio-group ids-text.group-label-text{justify-content:flex-start}}:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-input label,:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-textarea label,:host([label-position=inline-start][label-alignment][label-state=collapsed]) .ids-textarea .ids-label-text{display:none}:host([label-position=inline-start][label-alignment=end][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input,:host([label-position=inline-start][label-alignment=end][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea{column-gap:var(--ids-label-alignment-gap)}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea{display:flex;flex-wrap:nowrap}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input label,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea label{flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea .field-container{min-width:0;flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count][error-tracker]) .ids-textarea .validation-message{width:auto;margin-inline-start:0}:host(.in-flex-item[label-position=inline-start]) .ids-input,:host(.in-flex-item[label-position=inline-start]) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea{display:grid;gap:0;grid-template-columns:auto minmax(0, 1fr);column-gap:var(--ids-label-alignment-gap)}:host(.in-flex-item[label-position=inline-start]) .ids-input label,:host(.in-flex-item[label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input label,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea label{grid-column:1;grid-row:1}:host(.in-flex-item[label-position=inline-start]) .ids-input .field-container,:host(.in-flex-item[label-position=inline-start]) .ids-textarea .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input .field-container,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea .field-container{grid-column:2;grid-row:1;min-width:0}:host(.in-flex-item[label-position=inline-start]) .ids-input .validation-message,:host(.in-flex-item[label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea .validation-message{grid-column:1/-1;grid-row:2;width:auto;margin-inline-start:0;margin-block-start:var(--ids-space-2xs)}:host(.in-flex-item[label-position=inline-start]) .ids-input.wrapped .validation-message,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.wrapped .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.wrapped .validation-message{grid-column:2;margin-inline-start:0}:host(.in-flex-item[label-position=inline-start]) .ids-input.sm,:host(.in-flex-item[label-position=inline-start]) .ids-input.mm,:host(.in-flex-item[label-position=inline-start]) .ids-input.md,:host(.in-flex-item[label-position=inline-start]) .ids-input.lg,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.sm,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.mm,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.md,:host(.in-flex-item[label-position=inline-start]) .ids-textarea.lg,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.sm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.mm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.md,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-input.lg,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.sm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.mm,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.md,:host([label-position=inline-start][label-break=shrink-value][validation-message-count]:not([error-tracker])) .ids-textarea.lg{grid-template-columns:auto minmax(0, 1fr)}:host(.in-flex-item[label-position=inline-start]) .ids-input label{max-height:var(--ids-label-max-height-inline-start)}:host(.in-flex-item[label-position=inline-start]) .ids-checkbox input[type=checkbox]~.checkmark{inset-inline-end:0;margin-inline-end:0}:host(.in-flex-item[label-position=inline-start]) .ids-radio-group ids-text.group-label-text,:host(.in-flex-item[label-position=inline-start]) .ids-radio-group.label-inline ids-text.group-label-text{margin-top:0}@media(width > 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@container (width > 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex-shrink:0}:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@media(width < 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-input,:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea{display:block}:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea{gap:0}}@container (width < 320px){:host([label-position=inline-start][label-break=shrink-value]) .ids-input,:host([label-position=inline-start][label-break=shrink-value]) .ids-textarea,:host([label-position=inline-start][label-break=shrink-value]) .ids-radio-group{flex-wrap:wrap}}@media(width <= 320px){:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea{display:block;gap:0}:host([label-position=inline-start][label-break=shrink-value]:not([validation-message-count])) .ids-textarea label{min-height:auto;margin-bottom:var(--ids-input-margin-bottom)}}@media(width > 320px){:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}@container (width > 320px){:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);flex:0 1 auto}:host([label-position=inline-start][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0}}:host([label-position=inline-start][label-break=break]) .ids-input,:host([label-position=inline-start][label-break=break]) .ids-textarea{display:flex;flex-direction:column;align-items:stretch}:host([label-position=inline-start][label-break=break]) .ids-input label,:host([label-position=inline-start][label-break=break]) .ids-textarea label{width:auto;flex-shrink:0}:host([label-position=inline-start][label-break=break]) .ids-input .field-container,:host([label-position=inline-start][label-break=break]) .ids-textarea .field-container{min-width:0;flex:0 1 auto}:host([label-position=inline-start][label-break=break]) .ids-input .validation-message,:host([label-position=inline-start][label-break=break]) .ids-textarea .validation-message{width:auto;margin-inline-start:0}:host([label-position=inline-start][label-width="0px"]) .ids-label-text,:host([label-position=inline-start][label-width="0"]) .ids-label-text{display:none}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text{overflow:visible}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text.required,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text.required{padding-inline-end:0}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input .ids-label-text.required::after,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea .ids-label-text.required::after{inset-inline-end:-7px}:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis-no-stretch]) .ids-textarea.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-input.wrapped .validation-message,:host([label-position=inline-start][label-alignment=end][label-wrap=ellipsis]) .ids-textarea.wrapped .validation-message{margin-inline-start:calc(var(--ids-label-width) + 11px)}:host([label-position=inline-end][label-break=shrink-value]) .ids-input,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea{display:flex}:host([label-position=inline-end][label-break=shrink-value]) .ids-input label,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea label{flex-shrink:0;order:2}:host([label-position=inline-end][label-break=shrink-value]) .ids-input .field-container,:host([label-position=inline-end][label-break=shrink-value]) .ids-textarea .field-container{min-width:0;flex:0 1 auto;order:1}:host([label-position=inline-end][label-break=shrink-value]) .ids-input{gap:var(--ids-space-2, 0.5rem)}@media(width > 320px){:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group{display:flex;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group ids-text.group-label-text{width:var(--ids-label-width);justify-content:end;flex:0 1 auto;order:2}:host([label-position=inline-end][label-break=shrink-label]) .ids-radio-group slot{display:flex;flex-direction:column;flex-shrink:0;order:1}}:host([label-position=inline-end][label-break=break]) .ids-input,:host([label-position=inline-end][label-break=break]) .ids-textarea{display:flex;flex-direction:column;align-items:stretch}:host([label-position=inline-end][label-break=break]) .ids-input label,:host([label-position=inline-end][label-break=break]) .ids-textarea label{width:auto;flex-shrink:0;order:2}:host([label-position=inline-end][label-break=break]) .ids-input .field-container,:host([label-position=inline-end][label-break=break]) .ids-textarea .field-container{min-width:0;flex:0 1 auto;order:1}:host([label-position=inline-end][label-break=break]) .ids-input .validation-message,:host([label-position=inline-end][label-break=break]) .ids-textarea .validation-message{margin-inline-start:0;order:3}:host([label-position=inline-end][label-break=break]) .ids-input{gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-start]){--ids-label-width: var(--ids-label-width-inline-start)}:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-input label,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-textarea label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-input label,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-textarea label{align-self:var(--ids-label-align-y, center)}:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=ellipsis-no-stretch]) .ids-textarea .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-input .ids-label-text,:host([label-position=inline-start][label-wrap=wrap-no-stretch]) .ids-textarea .ids-label-text{overflow:visible}@media(width > 767px){:host([label-position=inline-start]:not([label-break=shrink-value]):not([size=full])) .ids-textarea{max-width:calc(370px + var(--ids-label-width))}:host([label-position=inline-start]:not([label-break=shrink-value]):not([size=full])) .ids-textarea .textarea-field{width:calc(370px + var(--ids-label-width))}}@media(width > 767px){:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-filter-field label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);box-sizing:border-box}:host([label-position=inline-start]) .ids-filter-field #operator-button{position:relative;inset-inline-start:var(--ids-label-width)}:host([label-position=inline-start]) .ids-filter-field .validation-message{width:100%;margin-block-start:var(--ids-space-2xs)}}@media(width < 767px){:host([label-position=inline-start][dir=rtl]) .ids-checkbox label{--ids-checkbox-padding-inline-start: inherit}:host([label-position=inline-start][dir=rtl]) .ids-checkbox .validation-message{margin-inline-start:initial}}@media(min-width: 767px){:host([label-position=inline-start][dir=rtl]) .ids-checkbox input[type=checkbox]~.checkmark{right:initial}:host([label-position=inline-start][dir=rtl]) .ids-checkbox .validation-message{margin-block-start:0}}:host([label-position=inline-start]) .ids-radio-group.label-inline,:host([label-position=inline-end]) .ids-radio-group.label-inline{display:flex;align-items:var(--ids-label-align-y, flex-start);gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-start]) .ids-radio-group.label-inline ids-text.group-label-text,:host([label-position=inline-end]) .ids-radio-group.label-inline ids-text.group-label-text{min-width:var(--ids-label-width);margin-top:calc(var(--ids-space-xs) - 2px)}:host([label-position=inline-start]) .ids-radio-group.label-inline slot,:host([label-position=inline-end]) .ids-radio-group.label-inline slot{display:flex;flex-direction:column}:host([label-position=inline-start]) .ids-radio-group.label-inline.horizontal slot,:host([label-position=inline-end]) .ids-radio-group.label-inline.horizontal slot{flex-direction:row;flex-wrap:wrap}:host([label-position=inline-end]) .ids-radio-group.label-inline ids-text.group-label-text{justify-content:end;order:2}:host([label-position=inline-end]) .ids-radio-group.label-inline slot{order:1}:host([label-position=inline-end]) .ids-radio-group.label-inline-end-stacked{display:flex;align-items:var(--ids-label-align-y, baseline);gap:var(--ids-space-2, 0.5rem);flex-direction:column}:host([label-position=inline-end]) .ids-radio-group.label-inline-end-stacked ids-text.group-label-text{min-width:var(--ids-label-width);order:2}:host([label-position=inline-end]) .ids-radio-group.label-inline-end-stacked slot{display:flex;flex-direction:column;order:1}@media(width > 767px){:host([label-position=inline-start]) .ids-switch{display:flex;flex-wrap:wrap;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-switch label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);padding-inline-end:var(--ids-label-padding-inline-end);padding-inline-start:0;box-sizing:border-box}:host([label-position=inline-start]) .ids-switch input[type=checkbox]~.slider{left:unset;right:-45px}:host([label-position=inline-start][label-state=collapsed]) .ids-switch label{padding-inline-end:0;width:0}:host([label-position=inline-start][dir=rtl]) .ids-switch input[type=checkbox]~.slider{left:-45px;right:initial}}@media(width > 767px){:host([label-position=inline-start]) .ids-data-label{display:flex;flex-direction:row;gap:8px;align-items:var(--ids-label-align-y, baseline)}:host([label-position=inline-start]) .ids-data-label .label{width:var(--ids-label-width);padding-block:var(--ids-label-padding-block);box-sizing:border-box;margin-block-end:0;white-space:nowrap}:host([label-position=inline-start]) .ids-data-label .data,:host([label-position=inline-start]) .ids-data-label .description{display:flex;padding-block:var(--ids-label-padding-block)}}@media(max-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea,:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start]) .ids-filter-field .validation-message{margin-inline-start:0}:host([label-position=inline-end]) .ids-input,:host([label-position=inline-end]) .ids-textarea,:host([label-position=inline-end]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset;gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-end]) .ids-input label,:host([label-position=inline-end]) .ids-textarea label,:host([label-position=inline-end]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-end]) .ids-input .validation-message,:host([label-position=inline-end]) .ids-textarea .validation-message,:host([label-position=inline-end]) .ids-filter-field .validation-message{margin-inline-start:0}}:host([label-state=collapsed]){--ids-label-width: 0;width:fit-content}:host(ids-checkbox[label-state=collapsed]){width:fit-content;display:block}@container (max-width: 320px){:host([label-position=inline-start]) .ids-input,:host([label-position=inline-start]) .ids-textarea,:host([label-position=inline-start]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset}:host([label-position=inline-start]) .ids-input label,:host([label-position=inline-start]) .ids-textarea label,:host([label-position=inline-start]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-start]) .ids-input .validation-message,:host([label-position=inline-start]) .ids-textarea .validation-message,:host([label-position=inline-start]) .ids-filter-field .validation-message{margin-inline-start:0}:host([label-position=inline-end]) .ids-input,:host([label-position=inline-end]) .ids-textarea,:host([label-position=inline-end]) .ids-filter-field{display:flex;flex-direction:column;align-items:unset;gap:var(--ids-space-2, 0.5rem)}:host([label-position=inline-end]) .ids-input label,:host([label-position=inline-end]) .ids-textarea label,:host([label-position=inline-end]) .ids-filter-field label{width:auto;text-align:start;padding-inline:0}:host([label-position=inline-end]) .ids-input .validation-message,:host([label-position=inline-end]) .ids-textarea .validation-message,:host([label-position=inline-end]) .ids-filter-field .validation-message{margin-inline-start:0}}@media(max-width: 320px){:host([label-position=inline-start][label-state=hidden]) .ids-input .ids-label-text{display:none}}@container (max-width: 320px){:host([label-position=inline-start][label-state=hidden]) .ids-input .ids-label-text{display:none}}:host .ids-input label,:host .ids-input .label,:host .ids-textarea label,:host .ids-textarea .label,:host .ids-checkbox label,:host .ids-checkbox .label,:host .ids-radio label,:host .ids-radio .label,:host .ids-switch label,:host .ids-switch .label,:host .ids-data-label label,:host .ids-data-label .label,:host .ids-filter-field label,:host .ids-filter-field .label{width:var(--ids-label-width)}:host([label-position=inline-start][label-state=collapsed]) .ids-radio-group ids-text.group-label-text,:host([label-position=inline-end][label-state=collapsed]) .ids-radio-group ids-text.group-label-text{display:none}:host([label-position=inline-start][label-state=hidden]) .ids-radio-group ids-text.group-label-text,:host([label-position=inline-end][label-state=hidden]) .ids-radio-group ids-text.group-label-text{visibility:hidden}:host{--ids-button-tertiary-color-background-hover: var(--ids-color-transparent);--ids-button-tertiary-color-border-hover: var(--ids-color-transparent);--ids-button-tertiary-color-background-pressed: var(--ids-color-transparent);--ids-button-tertiary-color-border-pressed: var(--ids-color-transparent);display:block}:host .ids-dropdown{display:inline-block;max-width:100%;width:var(--ids-box-dropdown-width, auto)}:host([field-indicator]){--ids-field-indicator-info-margin: 0}:host([field-indicator][readonly]),:host([field-indicator][disabled]){--ids-field-indicator-info-visibility: none}:host([hidden]){display:none}:host([label-position=inline-start]) ids-trigger-field::part(container){justify-content:var(--ids-box-justify-content, flex-start)}ids-trigger-field[readonly-background]:not([disabled])::part(input){cursor:var(--ids-cursor-pointer)}ids-trigger-field:not([autoselect])::part(input)::selection{background-color:var(--ids-color-transparent)}.ids-dropdown{display:block;position:relative}.ids-dropdown ids-trigger-field[size=full]{display:block}.ids-dropdown.full{display:block}.ids-dropdown.full ids-trigger-field,.ids-dropdown.full .ids-trigger-field{display:block}.ids-dropdown ::slotted(ids-list-box){height:var(--ids-popup-maxheight)}.trigger-icon{color:var(--ids-dropdown-color-icon);margin:0 0 0 var(--ids-dropdown-space-text);position:relative;top:0}:host([mode=light]) .typeahead.is-open ids-trigger-field::part(field-container){background-color:var(--ids-dropdown-typeahead-color-background)}:host([dir=rtl]) .trigger-icon{margin:0 var(--ids-dropdown-space-text) 0 0}::slotted(.sub-group){border-top:1px solid var(--ids-dropdown-separator-color-border);padding-top:var(--ids-dropdown-separator-padding)}.ids-dropdown.color-variant-borderless ids-trigger-field::part(field-container),.ids-dropdown.color-variant-in-cell ids-trigger-field::part(field-container){margin:0;border-radius:0}.ids-dropdown.color-variant-borderless ids-trigger-field::part(label),.ids-dropdown.color-variant-in-cell ids-trigger-field::part(label){display:none}.ids-dropdown.color-variant-borderless ids-trigger-field::part(container){margin:-1px}.ids-dropdown.color-variant-borderless ids-trigger-field::part(field-container){box-shadow:none !important}.ids-dropdown.color-variant-borderless.is-open .ids-trigger-field-slot-trigger-end{margin-block-start:2px}.ids-dropdown.color-variant-borderless.field-height-lg ids-trigger-field::part(input){padding-inline:12px;height:50px}.ids-dropdown.color-variant-borderless.field-height-lg.is-open .ids-trigger-field-slot-trigger-end{margin-inline-end:3px}.ids-dropdown.color-variant-borderless.field-height-md ids-trigger-field::part(input){padding-inline:13px;height:40px}.ids-dropdown.color-variant-borderless.field-height-md.is-open .ids-trigger-field-slot-trigger-end{margin-inline-end:10px}.ids-dropdown.color-variant-borderless.field-height-sm ids-trigger-field::part(input){padding-inline:9px;height:35px}.ids-dropdown.color-variant-borderless.field-height-sm.is-open .ids-trigger-field-slot-trigger-end{margin-inline-end:3px}.ids-dropdown.color-variant-borderless.field-height-xs ids-trigger-field::part(input){padding-inline:5px;height:30px}.ids-dropdown.color-variant-borderless.field-height-xs.is-open .ids-trigger-field-slot-trigger-end{margin-inline-end:-2px}.ids-dropdown.color-variant-borderless.field-height-xxs ids-trigger-field::part(input){padding-inline:3px;height:30px}.ids-dropdown.color-variant-borderless.field-height-xxs.is-open .ids-trigger-field-slot-trigger-end{margin-inline-end:-1px;margin-block-start:-2px}:host([combobox]) .ids-dropdown.color-variant-borderless .ids-trigger-field-slot-trigger-end{display:flex;align-items:center;margin-block-start:2px}:host([combobox]) .ids-dropdown.color-variant-borderless.field-height-lg .ids-trigger-field-slot-trigger-end{margin-inline-end:3px;height:48px}:host([combobox]) .ids-dropdown.color-variant-borderless.field-height-md .ids-trigger-field-slot-trigger-end{margin-inline-end:-1px;height:39px}:host([combobox]) .ids-dropdown.color-variant-borderless.field-height-sm .ids-trigger-field-slot-trigger-end{margin-inline-end:-5px;height:33px}:host([combobox]) .ids-dropdown.color-variant-borderless.field-height-xs .ids-trigger-field-slot-trigger-end{margin-inline-end:-10px;height:29px}:host([combobox]) .ids-dropdown.color-variant-borderless.field-height-xxs .ids-trigger-field-slot-trigger-end{margin-inline-end:-10px;margin-block-start:0}.ids-dropdown.color-variant-in-cell ids-trigger-field::part(container){margin:1px 0}.ids-dropdown.color-variant-module-nav{color:var(--ids-module-nav-search-input-text-color);display:block;margin-block-end:0}.ids-dropdown.color-variant-module-nav ::slotted(ids-list-box){color:var(--ids-module-nav-search-input-text-color)}.ids-dropdown.color-variant-module-nav ::slotted(ids-list-box-option){color:inherit}.ids-dropdown.color-variant-module-nav ids-trigger-field::part(field-container){background-color:var(--ids-module-nav-input-bg-color);border-radius:var(--ids-module-nav-common-border-radius);border:var(--ids-module-nav-input-border-width) solid var(--ids-module-nav-input-border-color);box-shadow:none;color:inherit;overflow:hidden}.ids-dropdown.color-variant-module-nav ids-trigger-field:hover::part(field-container){background-color:var(--ids-module-nav-input-hover-bg-color)}.ids-dropdown.color-variant-module-nav ids-trigger-field:active::part(field-container){background-color:var(--ids-module-nav-item-selected-bg-color);border-color:var(--ids-module-nav-item-selected-text-color);color:var(--ids-module-nav-item-selected-text-color)}.ids-dropdown.color-variant-module-nav ids-trigger-field:focus-within::part(field-container){background-color:var(--ids-module-nav-input-focus-bg-color)}.ids-dropdown.color-variant-module-nav ids-trigger-field::part(input){background-color:var(--ids-color-transparent);color:inherit}.ids-dropdown.color-variant-module-nav ids-trigger-field::part(trigger-button){background-color:var(--ids-color-transparent)}.ids-dropdown.color-variant-module-nav ids-trigger-field::part(input::placeholder){color:var(--ids-module-nav-search-input-placeholder-text-color)}.ids-dropdown.color-variant-module-nav ids-trigger-field::part(input:active){color:var(--ids-module-nav-search-input-text-color)}.ids-dropdown.color-variant-module-nav ids-dropdown-list::part(dropdown-list){max-width:var(--ids-module-nav-expanded-size);width:calc(var(--ids-module-nav-switcher-dropdown-width) + var(--ids-module-nav-switcher-button-gutter-size) + var(--ids-module-nav-switcher-button-size))}.ids-dropdown.color-variant-module-nav ids-list-box-option{min-height:var(--ids-module-nav-item-height)}.ids-dropdown.color-variant-module-nav .fieldset{display:contents}.ids-dropdown.color-variant-module-nav .ids-input-field{padding-inline-start:var(--ids-module-nav-item-expanded-icon-text-space-size)}:host ids-dropdown-list{max-width:var(--ids-input-width-40)}:host([size=xs]) ids-dropdown-list{max-width:var(--ids-input-width-10)}:host([size=sm]) ids-dropdown-list{max-width:var(--ids-input-width-20)}:host([size=mm]) ids-dropdown-list{max-width:var(--ids-input-width-30)}:host([size=md]) ids-dropdown-list{max-width:var(--ids-input-width-40)}:host([size=lg]) ids-dropdown-list{max-width:var(--ids-input-width-50)}:host([size=full]) ids-dropdown-list{max-width:var(--ids-input-width-full)}:host ids-dropdown-list,:host([size=full]){width:var(--ids-input-width-full)}:host(.in-flex-item[size=xs]){min-width:var(--ids-input-width-10)}:host(.in-flex-item[size=sm]){min-width:var(--ids-input-width-20)}:host(.in-flex-item[size=mm]){min-width:var(--ids-input-width-30)}:host(.in-flex-item[size=md]){min-width:var(--ids-input-width-40)}:host(.in-flex-item[size=lg]){min-width:var(--ids-input-width-50)}:host(.in-flex-item[label-break=shrink-value][size]),:host(.in-flex-item[label-position=inline-start][size]){min-width:0}:host([list]:not([disabled])){cursor:var(--ids-cursor-pointer)}:host([auto-size=true]) ids-trigger-field::part(input){padding-inline-end:0}:host([text-align=end]) ids-trigger-field::part(input){padding-inline-end:var(--ids-dropdown-space-text)}:host([text-align=end][compact]) ids-trigger-field::part(input){padding-inline-end:var(--ids-dropdown-space-text-compact)}.ids-dropdown ids-trigger-field::part(clearable-button){margin-inline-end:-6px}.ids-checkbox{margin-bottom:0}ids-trigger-field ids-tag{align-self:center;display:flex;margin-top:var(--ids-space-2xs);margin-inline-start:var(--ids-space-2xs);max-width:100%}ids-trigger-field ids-tag[disabled]::part(tag){cursor:var(--ids-cursor-default)}ids-trigger-field ids-tag ids-icon{padding-left:6px;padding-right:1px;width:12px;top:0}:host([tags]),:host(:not([typeahead]):not([tags])){--ids-checkbox-padding-inline-start: 18px}:host([tags]) ids-trigger-field::part(content-area),:host(:not([typeahead]):not([tags])) ids-trigger-field::part(content-area){display:flex;width:calc(100% - 38px);flex-wrap:wrap}:host([tags]) ids-trigger-field::part(input),:host(:not([typeahead]):not([tags])) ids-trigger-field::part(input){opacity:0;color:rgba(0,0,0,0);width:0;padding:0;flex:1}:host([tags]) ids-trigger-field::part(input)::placeholder,:host(:not([typeahead]):not([tags])) ids-trigger-field::part(input)::placeholder{visibility:hidden}:host([tags]) ids-trigger-field::part(input)::selection,:host(:not([typeahead]):not([tags])) ids-trigger-field::part(input)::selection{color:var(--ids-color-transparent);background:var(--ids-color-transparent)}:host([tags]) ids-trigger-field ids-text,:host(:not([typeahead]):not([tags])) ids-trigger-field ids-text{max-width:100%}:host([tags]) ids-trigger-field ids-text.placeholder,:host(:not([typeahead]):not([tags])) ids-trigger-field ids-text.placeholder{color:var(--ids-multiselect-section-header-color)}:host([tags]) ids-trigger-field ids-text::part(text),:host(:not([typeahead]):not([tags])) ids-trigger-field ids-text::part(text){padding-inline-start:var(--ids-space-xs)}:host([tags]) ids-trigger-field[compact] ids-text::part(text),:host([tags]) ids-trigger-field[field-height=xs] ids-text::part(text),:host(:not([typeahead]):not([tags])) ids-trigger-field[compact] ids-text::part(text),:host(:not([typeahead]):not([tags])) ids-trigger-field[field-height=xs] ids-text::part(text){padding-inline-start:var(--ids-space-2xs);font-size:var(--ids-multiselect-font-size)}:host(:not([tags])) ids-trigger-field ids-text.placeholder{color:var(--ids-multiselect-section-header-color)}:host(:not([tags])) ids-trigger-field ids-text.placeholder::part(text){padding-inline-start:0}:host([overflow=ellipsis]:not([typeahead]):not([tags])) ids-trigger-field::part(content-area){width:calc(100% - 28px)}:host(.datagrid-editor) ids-trigger-field ids-text{margin-inline-start:5px}:host(:not([disabled])) .has-value ids-trigger-field::part(field-container){cursor:var(--ids-cursor-pointer)}:host([disabled]) ids-trigger-field::part(field-container){pointer-events:none}:host .trigger-icon,:host ids-trigger-button ids-icon{color:var(--ids-multiselect-dropdown-icon-color)}.is-open ids-trigger-field::part(field-container){box-shadow:var(--ids-multiselect-dropdown-box-shadow)}.is-open ids-trigger-field::part(field-container):not(.error){background-color:var(--ids-multiselect-open-background-color);border:var(--ids-multiselect-border-open)}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2J1aWxkcy9pbmZvci1kZXNpZ24vZW50ZXJwcmlzZS13Yy9zcmMvY29tcG9uZW50cy9pZHMtbXVsdGlzZWxlY3QiLCJzb3VyY2VzIjpbIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLXZhbGlkYXRpb24tbWl4aW4uc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWNvcmUtbWl4aW5zLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1lcnJvci10cmFja2VyLW1peGluLnNjc3MiLCIuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1maWVsZC1pbmRpY2F0b3ItbWl4aW4uc2NzcyIsIi4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWxhYmVsLXBvc2l0aW9uLW1peGluLnNjc3MiLCIuLi9pZHMtZHJvcGRvd24vaWRzLWRyb3Bkb3duLnNjc3MiLCJpZHMtbXVsdGlzZWxlY3Quc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxvQkNRRSxtQ0FDQSxrQ0ROQSxhQUNBLDhFQUNBLGdDQUNBLHNDQUVBLG9DQUNFLG9DQUdGLDZCQUNFLDJDQUdGLDhCQUNFLHVDQUdGLDBCQUNFLHVDQUVBLG1DQUNFLGlDQUlKLDRCQUNFLHVDQUVBLHFDQUNFLGlDQUlKLDBCQUNFLHFDQUVBLG1DQUNFLDhCQUlKLHlCQUNFLG9DQUVBLGtDQUNFLCtCQUlKLDRCQUNFLHVDQUVBLHFDQUNFLGdDQUlKLDRCQUNFLGFBS0Ysb0RBQ0UsYUVwRUosb0JBQ0Usa0JBQ0EsK0VBQ0EsTUFDQSxvQkFFQSw2QkFDRSx3QkFDQSxNQ1JKLHNCQUNFLGtCQUNBLE1BQ0Esb0JBRUEsK0JBQ0Usd0JBQ0EsTUFJSiwyQkFDRSx5REFDQSxtQkFDQSw4RUFDQSxlQUNBLHNFQW9CRix5QkFmRSx1RUFTQSwrQ0FDRSwyQ0FTSixzQkFuQkUsZ0VBU0EsNENBQ0Usb0NBYUoseUJBdkJFLG1FQVNBLCtDQUNFLHVDQWlCSix5QkEzQkUsbUVBU0EsK0NBQ0UsdUNBcUJKLHlCQS9CRSxtRUFTQSwrQ0FD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c291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzIG1peGlucztcblxuLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gIEBpbmNsdWRlIG1peGlucy5hbnRpYWxpYXNlZCgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1pZHMtZm9udC1mYW1pbHktZGVmYXVsdCksIHZhcigtLWlkcy1mb250LWZhbWlseS1zeXN0ZW0tc2Fucyk7XG4gIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC1mdWxsKTtcblxuICAmLmhhcy1jdXN0b20taWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1pY29uLWNvbG9yLWRlZmF1bHQpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1pbnB1dC1jb2xvci10ZXh0LWRpc2FibGVkKTtcbiAgfVxuXG4gIC5pZHMtaWNvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICB9XG5cbiAgJi5hbGVydCB7XG4gICAgY29sb3I6IHZhcigtLWlkcy1jb2xvci1jYXV0aW9uLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXllbGxvdy0zMCk7XG4gICAgfVxuICB9XG5cbiAgJi53YXJuaW5nIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXdhcm5pbmctZGVmYXVsdCk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3Itb3JhbmdlLTMwKTtcbiAgICB9XG4gIH1cblxuICAmLmVycm9yIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWVycm9yLWRlZmF1bHQpO1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXJlZC0zMCk7XG4gICAgfVxuICB9XG5cbiAgJi5pbmZvIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLWluZm8tZGVmYXVsdCk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItYmx1ZS0zMCk7XG4gICAgfVxuICB9XG5cbiAgJi5zdWNjZXNzIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLWNvbG9yLXN1Y2Nlc3MtZGVmYXVsdCk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItZ3JlZW4tMzApO1xuICAgIH1cbiAgfVxuXG4gICZbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG46aG9zdChbc3VwcHJlc3MtZXJyb3ItbWVzc2FnZV0pIHtcbiAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludHMgLSB0aGlzIGNhbnQgYmUgdG9rZW5zXG4kYnJlYWtwb2ludC14eGw6IDI0NjNweDtcbiRicmVha3BvaW50LXhsOiAxMTgzcHg7XG4kYnJlYWtwb2ludC1sZzogOTI4cHg7XG4kYnJlYWtwb2ludC1tZDogOTI3cHg7XG4kYnJlYWtwb2ludC1zbTogNzY3cHg7XG4kYnJlYWtwb2ludC14czogMzIwcHg7XG5cbi8vIFNldHMgVGV4dCBBbnRpYWxpYXNpbmdcbkBtaXhpbiBhbnRpYWxpYXNlZCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyB2ZW5kb3IgcHJlZml4ZWQgdHJhbnNpdGlvbnMgZm9yIHJlZ3VsYXIgYXR0cmlidXRlcyAobm9uLXZlbmRvciBwcmVmaXhlZClcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9ucy1saXN0Li4uKSB7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICAjeyRwcmVmaXh9dHJhbnNpdGlvbjogJHRyYW5zaXRpb25zLWxpc3Q7XG4gIH1cbn1cblxuLy8gbWFrZSB0aGUgdGV4dCBpbnZpc2libGUgdmlzdWFsbHkgYnV0IHJlYWRhYmxlIGJ5IHNjcmVlbiByZWFkZXJzXG5AbWl4aW4gYXVkaWJsZSgpIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LW5vLWRlcHJlY2F0ZWQgKi9cbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAwO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xufVxuIiwiLy8gR2VuZXJhbCBFcnJvci1UcmFja2VyIGljb24gcGxhY2VtZW50XG4uaWNvbi1lcnJvci10cmFja2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogdmFyKC0taWRzLWlucHV0LWVycm9yLXRyYWNrZXItY29sb3ItYmFja2dyb3VuZCwgdmFyKC0taWRzLWNvbG9yLXJlZC02MCkpO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICZbZGlyPSdydGwnXSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRvcDogMDtcbiAgfVxufVxuIiwiLy8gRmllbGQgSW5kaWNhdG9yIGljb24gcGxhY2VtZW50XG4uaWNvbi1maWVsZC1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJltkaXI9J3J0bCddIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbi5pY29uLWZpZWxkLWluZGljYXRvci1pbmZvIHtcbiAgZGlzcGxheTogdmFyKC0taWRzLWZpZWxkLWluZGljYXRvci1pbmZvLXZpc2liaWxpdHksIGZsZXgpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0taWRzLWZpZWxkLWluZGljYXRvci1pbmZvLW1hcmdpbiwgdmFyKC0taWRzLXNwYWNlLXhzKSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHZhcigtLWlkcy1maWVsZC1pbmRpY2F0b3ItaWNvbi1jb2xvciwgLS1pZHMtY29sb3ItaW5mby1kZWZhdWx0KTtcbn1cblxuLy8gTWl4aW4gdG8gYXBwbHkgZmllbGQgaW5kaWNhdG9yIGNvbG9yIHZhcmlhYmxlc1xuQG1peGluIGZpZWxkLWluZGljYXRvci1jb2xvcigkY29sb3IsICRib3JkZXItY29sb3I6IG51bGwpIHtcbiAgLS1pZHMtZmllbGQtaW5kaWNhdG9yLWljb24tY29sb3I6ICN7JGNvbG9yfTtcblxuICBAaWYgJGJvcmRlci1jb2xvciB7XG4gICAgLS1pZHMtaW5wdXQtYm9yZGVyLWRlZmF1bHQtY29sb3I6ICN7JGJvcmRlci1jb2xvcn07XG4gICAgLS1pZHMtaW5wdXQtY29sb3ItYm9yZGVyLWhvdmVyOiAjeyRib3JkZXItY29sb3J9O1xuICAgIC0taWRzLWlucHV0LWNvbG9yLWJvcmRlci1kaXNhYmxlZDogI3skYm9yZGVyLWNvbG9yfTtcbiAgICAtLWlkcy1pbnB1dC1jb2xvci1ib3JkZXItZm9jdXM6ICN7JGJvcmRlci1jb2xvcn07XG4gIH1cblxuICAuaWNvbi1maWVsZC1pbmRpY2F0b3Ige1xuICAgIGNvbG9yOiAjeyRjb2xvcn07XG4gIH1cbn1cblxuLy8gRmllbGQgaW5kaWNhdG9yIHR5cGUgY2xhc3NlcyDigJQgYXBwbGllZCB0byB0aGUgZmllbGQgY29udGFpbmVyLlxuLmZpZWxkLWluZGljYXRvci1uZXV0cmFsIHtcbiAgQGluY2x1ZGUgZmllbGQtaW5kaWNhdG9yLWNvbG9yKHZhcigtLWlkcy1jb2xvci1hY2NlbnQtbmV1dHJhbC13ZWFrKSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItaW5mbyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3ItaW5mby1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3Itc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3Itc3VjY2Vzcy1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItY2F1dGlvbiB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3ItY2F1dGlvbi1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3Itd2FybmluZyB7XG4gIEBpbmNsdWRlIGZpZWxkLWluZGljYXRvci1jb2xvcih2YXIoLS1pZHMtY29sb3Itd2FybmluZy1kZWZhdWx0KSk7XG59XG5cbi5maWVsZC1pbmRpY2F0b3ItZXJyb3Ige1xuICBAaW5jbHVkZSBmaWVsZC1pbmRpY2F0b3ItY29sb3IodmFyKC0taWRzLWNvbG9yLWVycm9yLWRlZmF1bHQpKTtcbn1cblxuW2NsYXNzKj1cImZpZWxkLWluZGljYXRvci1cIl0uaGFzLWZvY3VzIHtcbiAgLmljb24tZmllbGQtaW5kaWNhdG9yLWluZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIExhYmVsIHBvc2l0aW9uIHN0eWxlc1xuQHVzZSAnLi4vLi4vdGhlbWVzL21peGlucy9pZHMtY29yZS1taXhpbnMnIGFzICo7XG5cbi8vIExlZnQgYWxpZ25lZCBhbmQgUmlnaHQgQWxpZ25lZCBMYWJlbHNcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG5cbiAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLy8gVmFsaWRhdGlvbiBvbiB0aGUgYm90dG9tXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhzKSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IDhweDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0YXJlYS1maWVsZC1ncm91cCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYygwcHggLSB2YXIoLS1pZHMtc3BhY2UtMnhzKSk7XG5cbiAgICAgICAgLy8gTGFiZWwgYW5kIGZpZWxkIHNpdCBzaWRlLWJ5LXNpZGUgYXQgdGhpcyBicmVha3BvaW50LCBzbyB0aGUgd3JhcHBlZFxuICAgICAgICAvLyBtZXNzYWdlIGJlbG93IG11c3QgaW5kZW50IHRvIHRoZSBmaWVsZCBzdGFydC4gQXBwbGllZCB1bmNvbmRpdGlvbmFsbHlcbiAgICAgICAgLy8gKG5vdCBvbmx5IHZpYSB0aGUgSlMgYC53cmFwcGVkYCBjbGFzcykgc28gYWxpZ25tZW50IGlzIGRldGVybWluaXN0aWNcbiAgICAgICAgLy8gYW5kIG5vdCBzdWJqZWN0IHRvIFJlc2l6ZU9ic2VydmVyIHRpbWluZy5cbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgNnB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaWRzLWNoZWNrYm94IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1pZHMtc3BhY2UtMDApO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBjZW50ZXIpO1xuXG4gICAgICAvLyBBZGp1c3QgdGhlIGxhYmVsXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLXhzKTtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsLWNoZWNrYm94IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAuY2hlY2tib3gtd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0taWRzLWxhYmVsLXdpZHRoKSArIHZhcigtLWlkcy1zcGFjZS14cykpO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuXG4gICAgICAmLmxhYmVsLXN0YXRlLWNvbGxhcHNlZCB7XG4gICAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciAobWluLXdpZHRoOiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcblxuICAgICAgLy8gQWRqdXN0IHRoZSBsYWJlbFxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyB2YXIoLS1pZHMtc3BhY2UteHMpKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBhbGlnbmVkOiB1c2Ugdmlld3BvcnQgbWVkaWEgcXVlcnkgaW5zdGVhZCBvZiBjb250YWluZXIgcXVlcnlcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11baG9yaXpvbnRhbC1hbGlnbmVkXSkge1xuICAuaWRzLWNoZWNrYm94IHtcbiAgICBjb250YWluZXItdHlwZTogbm9ybWFsO1xuXG4gICAgQG1lZGlhICh3aWR0aCA8PSAkYnJlYWtwb2ludC14cykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWlubGluZS1lbmQpO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBnYXA6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbC1jaGVja2JveCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgLmNoZWNrYm94LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLWlkcy1sYWJlbC13aWR0aCkgKyB2YXIoLS1pZHMtc3BhY2UteHMpKTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1hbGlnbm1lbnQ9XCJlbmRcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG5cbiAgICBsYWJlbCxcbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGNlbnRlcik7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgdGV4dC1hbGlnbjogZW5kO1xuXG4gICAgICBAY29udGFpbmVyICh3aWR0aCA8PSAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLy8gQXQvdW5kZXIgdGhlIHhzIGJyZWFrcG9pbnQgdGhlIGxhYmVsIHN0YWNrcyBvbiB0b3Agb2YgdGhlIGZpZWxkLCBzbyB0aGVcbiAgICAgIC8vIGVuZCBhbGlnbm1lbnQgKHJpZ2h0LWFsaWduZWQsIGZ1bGwgbGFiZWwgd2lkdGgpIG11c3QgcmVzZXQgdG8gc3RhcnQuXG4gICAgICAvLyBLZXB0IGluIHN5bmMgd2l0aCB0aGUgc3RhY2tpbmcgcnVsZSBiZWxvdyAoYG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNgKVxuICAgICAgLy8gc28gdGhlIGJvdW5kYXJ5IGF0IGV4YWN0bHkgJGJyZWFrcG9pbnQteHMgZG9lc24ndCBsZWF2ZSB0aGUgbGFiZWxcbiAgICAgIC8vIHJpZ2h0LWFsaWduZWQgYW5kIG92ZXJmbG93aW5nIHRoZSBmaWVsZC5cbiAgICAgIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoIDw9ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAmLnJlcXVpcmVkIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAtNXB4O1xuICAgICAgICAgIHRvcDogN3B4O1xuXG4gICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgQGNvbnRhaW5lciAod2lkdGggPD0gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBpbml0aWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiBpbml0aWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5maWVsZC1jb250YWluZXIge1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAuaWRzLWNoZWNrYm94IHtcbiAgICBsYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG5cbiAgICAgIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICB9XG5cbiAgICAgIEBjb250YWluZXIgKHdpZHRoIDw9ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgfVxuXG4gICAgICAmLnJlcXVpcmVkIC5sYWJlbC1jaGVja2JveCBzcGFuIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICByaWdodDogLTVweDtcbiAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTd2l0Y2ggbGFiZWwtYWxpZ25tZW50IGVuZFxuICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgICAuaWRzLXN3aXRjaCB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG5cbiAgICAgICAgQGNvbnRhaW5lciAod2lkdGggPCAjeyRicmVha3BvaW50LXhzfSkge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJhZGlvIGdyb3VwIGxhYmVsLWFsaWdubWVudCBlbmRcbiAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKHdpZHRoIDwgI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoZW4gdGhlIGxhYmVsIGlzIGNvbGxhcHNlZCwgcmVtb3ZlIGl0IGZyb20gdGhlIGlucHV0L3RleHRhcmVhIGxheW91dCBzbyB0aGVcbi8vIGVuZC1hbGlnbmVkIGxhYmVsIGRvZXMgbm90IHJlc2VydmUgc3BhY2UuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudF1bbGFiZWwtc3RhdGU9J2NvbGxhcHNlZCddKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGxhYmVsLFxuICAgIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ11bdmFsaWRhdGlvbi1tZXNzYWdlLWNvdW50XTpub3QoW2Vycm9yLXRyYWNrZXJdKSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG4gIH1cbn1cblxuLy8gTGFiZWwgYnJlYWsgYmVoYXZpb3IgZm9yIGlubGluZS1zdGFydCBwb3NpdGlvblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ106bm90KFt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdKSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdW2Vycm9yLXRyYWNrZXJdKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICBsYWJlbCB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdmFsaWRhdGlvbiBtZXNzYWdlcyBiZWxvdyB0aGUgZmllbGRcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2hlbiB2YWxpZGF0aW9uIGlzIHByZXNlbnQgd2l0aCBzaHJpbmstdmFsdWUsIHVzZSBncmlkIHRvIGtlZXAgZmllbGQgd2lkdGggc3RhYmxlXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXVt2YWxpZGF0aW9uLW1lc3NhZ2UtY291bnRdOm5vdChbZXJyb3ItdHJhY2tlcl0pKSB7XG4gIC5pZHMtaW5wdXQsXG4gIC5pZHMtdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ25tZW50LWdhcCk7XG5cbiAgICBsYWJlbCB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLXJvdzogMTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICBncmlkLXJvdzogMjtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0taWRzLXNwYWNlLTJ4cyk7XG4gICAgfVxuXG4gICAgJi53cmFwcGVkIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgIH1cblxuICAgICYuc20sICYubW0sICYubWQsICYubGcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCguaW4tZmxleC1pdGVtW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkge1xuICAuaWRzLWlucHV0IGxhYmVsIHtcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1pZHMtbGFiZWwtbWF4LWhlaWdodC1pbmxpbmUtc3RhcnQpO1xuICB9XG5cbiAgLmlkcy1jaGVja2JveCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pZHMtcmFkaW8tZ3JvdXAsXG4gIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lIHtcbiAgICBpZHMtdGV4dCB7XG4gICAgICAmLmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSkge1xuICBAbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBjb250YWluZXIgKHdpZHRoID4gI3skYnJlYWtwb2ludC14c30pIHtcbiAgICAuaWRzLXJhZGlvLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgICAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAod2lkdGggPCAkYnJlYWtwb2ludC14cykge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIGdhcDogMDtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyICh3aWR0aCA8ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXTpub3QoW3ZhbGlkYXRpb24tbWVzc2FnZS1jb3VudF0pKSB7XG4gIEBtZWRpYSAod2lkdGggPD0gJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLXRleHRhcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZ2FwOiAwO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWlkcy1pbnB1dC1tYXJnaW4tYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLWxhYmVsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICB9XG5cbiAgICAgIHNsb3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAgQGNvbnRhaW5lciAod2lkdGggPiAjeyRicmVha3BvaW50LXhzfSkge1xuICAgIC5pZHMtcmFkaW8tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgYmFzZWxpbmUpO1xuXG4gICAgICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzbG90IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtYnJlYWs9J2JyZWFrJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgIC8vIEtlZXAgdmFsaWRhdGlvbiBtZXNzYWdlcyBiZWxvdyB0aGUgZmllbGRcbiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC13aWR0aD1cIjBweFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLXdpZHRoPVwiMFwiXSkge1xuICAvLyBXaGVuIGEgbGFiZWwgaXMgXCJpbmxpbmUtc3RhcnRcIiBhbmQgYGxhYmVsLXdpZHRoPVwiMHB4XCJgIHNpbXBseSBkb24ndCBkaXNwbGF5IGl0XG4gIC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXMtbm8tc3RyZXRjaFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2xhYmVsLWFsaWdubWVudD1cImVuZFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXNcIl0pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgLmlkcy1sYWJlbC10ZXh0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAmLnJlcXVpcmVkIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBpbnNldC1pbmxpbmUtZW5kOiAtN3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi53cmFwcGVkIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1pZHMtbGFiZWwtd2lkdGgpICsgMTFweCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTGFiZWwgYnJlYWsgYmVoYXZpb3IgZm9yIGlubGluZS1lbmQgcG9zaXRpb25cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLWJyZWFrPSdzaHJpbmstdmFsdWUnXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgbGFiZWwge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAuZmllbGQtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pbnB1dCB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXVtsYWJlbC1icmVhaz0nc2hyaW5rLWxhYmVsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXhzKSB7XG4gICAgLmlkcy1yYWRpby1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgICAgICB3aWR0aDogdmFyKC0taWRzLWxhYmVsLXdpZHRoKTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cblxuICAgICAgc2xvdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtYnJlYWs9J2JyZWFrJ10pIHtcbiAgLmlkcy1pbnB1dCxcbiAgLmlkcy10ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cblxuICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAvLyBLZWVwIHZhbGlkYXRpb24gbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgICAgb3JkZXI6IDM7XG4gICAgfVxuICB9XG5cbiAgLmlkcy1pbnB1dCB7XG4gICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcbiAgfVxufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgLS1pZHMtbGFiZWwtd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aC1pbmxpbmUtc3RhcnQpO1xufVxuXG4vLyBXaGVuIGxhYmVsLXdyYXAgY29uc3RyYWlucyB0aGUgbGFiZWwgc2l6ZSwgZW5zdXJlIGl0IHN0YXlzIHZlcnRpY2FsbHkgY2VudGVyZWRcbi8vIGluc3RlYWQgb2Ygc3RyZXRjaGluZyB0byBmaWxsIHRoZSBmbGV4IGNvbnRhaW5lciBoZWlnaHRcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXVtsYWJlbC13cmFwPVwiZWxsaXBzaXMtbm8tc3RyZXRjaFwiXSksXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtd3JhcD1cIndyYXAtbm8tc3RyZXRjaFwiXSkge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhIHtcbiAgICBsYWJlbCB7XG4gICAgICBhbGlnbi1zZWxmOiB2YXIoLS1pZHMtbGFiZWwtYWxpZ24teSwgY2VudGVyKTtcbiAgICB9XG5cbiAgICAuaWRzLWxhYmVsLXRleHQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG59XG5cbi8vIFRleHQgYXJlYVxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J106bm90KFtsYWJlbC1icmVhaz0nc2hyaW5rLXZhbHVlJ10pOm5vdChbc2l6ZT0nZnVsbCddKSkge1xuICAgIC5pZHMtdGV4dGFyZWEge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDM3MHB4ICsgdmFyKC0taWRzLWxhYmVsLXdpZHRoKSk7XG5cbiAgICAgIC50ZXh0YXJlYS1maWVsZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDM3MHB4ICsgdmFyKC0taWRzLWxhYmVsLXdpZHRoKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbHRlciBmaWVsZFxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIHtcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLWlkcy1sYWJlbC1wYWRkaW5nLWJsb2NrKTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIH1cblxuICAgICAgLy8gRmlsdGVyIGZpZWxkIHNwZWNpZmljIHJ1bGVzXG4gICAgICAjb3BlcmF0b3ItYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFZhbGlkYXRpb24gb24gdGhlIGJvdHRvbVxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDaGVja2JveGVzXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2Rpcj0ncnRsJ10pIHtcbiAgQG1lZGlhICh3aWR0aCA8ICRicmVha3BvaW50LXNtKSB7XG4gICAgLmlkcy1jaGVja2JveCB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIC0taWRzLWNoZWNrYm94LXBhZGRpbmctaW5saW5lLXN0YXJ0OiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bZGlyPSdydGwnXSkgLmlkcy1jaGVja2JveCB7XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB+IC5jaGVja21hcmsge1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gUmFkaW8gYnV0dG9uc1xuLy8gVGhlIGlubGluZSAoc2lkZSkgbGFiZWwgbGF5b3V0IGlzIHRvZ2dsZWQgYnkgYG9uTGFiZWxQb3NpdGlvbkNoYW5nZWAgaW5cbi8vIGlkcy1yYWRpby1ncm91cCB2aWEgdGhlIGBsYWJlbC1pbmxpbmVgIC8gYGxhYmVsLWlubGluZS1lbmQtc3RhY2tlZGAgY2xhc3Nlcyxcbi8vIHdoaWNoIGFyZSBkcml2ZW4gYnkgdGhlIGdyb3VwJ3Mgb3duIHdpZHRoLiBUaGlzIGxldHMgdGhlIGxheW91dCByZXNwb25kIHRvXG4vLyBpdHMgY29udGFpbmVyIHJhdGhlciB0aGFuIHRoZSB2aWV3cG9ydC5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBmbGV4LXN0YXJ0KTtcbiAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcblxuICBpZHMtdGV4dC5ncm91cC1sYWJlbC10ZXh0IHtcbiAgICBtaW4td2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1pZHMtc3BhY2UteHMpIC0gMnB4KTtcbiAgfVxuXG4gIHNsb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuXG4vLyBXaGVuIGBob3Jpem9udGFsYCBpcyBzZXQsIHRoZSBvcHRpb25zIGZsb3cgaW4gYSByb3cgcmVnYXJkbGVzcyBvZiB0aGUgaW5saW5lXG4vLyBsYWJlbCBwb3NpdGlvbiwgc28gdGhlIHNsb3QgbXVzdCBub3QgZm9yY2UgYSB2ZXJ0aWNhbCBzdGFjay5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lLmhvcml6b250YWwsXG46aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1lbmQnXSkgLmlkcy1yYWRpby1ncm91cC5sYWJlbC1pbmxpbmUuaG9yaXpvbnRhbCB7XG4gIHNsb3Qge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddKSAuaWRzLXJhZGlvLWdyb3VwLmxhYmVsLWlubGluZSB7XG4gIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgc2xvdCB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cblxuLy8gTmFycm93IGBpbmxpbmUtZW5kYDogc3RhY2sgd2l0aCB0aGUgbGFiZWwgYmVuZWF0aCB0aGUgb3B0aW9uc1xuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ10pIC5pZHMtcmFkaW8tZ3JvdXAubGFiZWwtaW5saW5lLWVuZC1zdGFja2VkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG4gIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgbWluLXdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgc2xvdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG9yZGVyOiAxO1xuICB9XG59XG5cbi8vIFN3aXRjaFxuQG1lZGlhICh3aWR0aCA+ICRicmVha3BvaW50LXNtKSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J10pIC5pZHMtc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogdmFyKC0taWRzLWxhYmVsLWFsaWduLXksIGJhc2VsaW5lKTtcblxuICAgIGxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgICAgcGFkZGluZy1ibG9jazogdmFyKC0taWRzLWxhYmVsLXBhZGRpbmctYmxvY2spO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLnNsaWRlciB7XG4gICAgICBsZWZ0OiB1bnNldDtcbiAgICAgIHJpZ2h0OiAtNDVweDtcbiAgICB9XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl1bbGFiZWwtc3RhdGU9XCJjb2xsYXBzZWRcIl0pIC5pZHMtc3dpdGNoIGxhYmVsIHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW2Rpcj0ncnRsJ10pIC5pZHMtc3dpdGNoIHtcbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIH4gLnNsaWRlciB7XG4gICAgICBsZWZ0OiAtNDVweDtcbiAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEYXRhIExhYmVsXG5AbWVkaWEgKHdpZHRoID4gJGJyZWFrcG9pbnQtc20pIHtcbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXSkgLmlkcy1kYXRhLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiA4cHg7XG4gICAgYWxpZ24taXRlbXM6IHZhcigtLWlkcy1sYWJlbC1hbGlnbi15LCBiYXNlbGluZSk7XG5cbiAgICAubGFiZWwge1xuICAgICAgd2lkdGg6IHZhcigtLWlkcy1sYWJlbC13aWR0aCk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgLmRhdGEsXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoLS1pZHMtbGFiZWwtcGFkZGluZy1ibG9jayk7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgYmVoYXZpb3JcbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14cykge1xuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgICAuaWRzLWlucHV0LFxuICAgIC5pZHMtdGV4dGFyZWEsXG4gICAgLmlkcy1maWx0ZXItZmllbGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogdW5zZXQ7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPVwiaW5saW5lLWVuZFwiXSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcbiAgICAgIGdhcDogdmFyKC0taWRzLXNwYWNlLTIsIDAuNXJlbSk7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtsYWJlbC1zdGF0ZT1cImNvbGxhcHNlZFwiXSkge1xuICAtLWlkcy1sYWJlbC13aWR0aDogMDtcblxuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbjpob3N0KGlkcy1jaGVja2JveFtsYWJlbC1zdGF0ZT1cImNvbGxhcHNlZFwiXSkge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj1cImlubGluZS1zdGFydFwiXSkge1xuICAgIC5pZHMtaW5wdXQsXG4gICAgLmlkcy10ZXh0YXJlYSxcbiAgICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA6aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtZW5kXCJdKSB7XG4gICAgLmlkcy1pbnB1dCxcbiAgICAuaWRzLXRleHRhcmVhLFxuICAgIC5pZHMtZmlsdGVyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHVuc2V0O1xuICAgICAgZ2FwOiB2YXIoLS1pZHMtc3BhY2UtMiwgMC41cmVtKTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1zdGF0ZT1cImhpZGRlblwiXSkge1xuICBAbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHMpIHtcbiAgICAuaWRzLWlucHV0IC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AY29udGFpbmVyIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnQteHN9KSB7XG4gIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9XCJoaWRkZW5cIl0pIHtcbiAgICAuaWRzLWlucHV0IC5pZHMtbGFiZWwtdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBKdXN0IHRoZSBsYWJlbCB3aWR0aFxuOmhvc3Qge1xuICAuaWRzLWlucHV0LFxuICAuaWRzLXRleHRhcmVhLFxuICAuaWRzLWNoZWNrYm94LFxuICAuaWRzLXJhZGlvLFxuICAuaWRzLXN3aXRjaCxcbiAgLmlkcy1kYXRhLWxhYmVsLFxuICAuaWRzLWZpbHRlci1maWVsZCB7XG4gICAgbGFiZWwsXG4gICAgLmxhYmVsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1pZHMtbGFiZWwtd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEZWNsYXJlZCBsYXN0IHNvIGxhYmVsLXN0YXRlIHdpbnMgb3ZlciBsYWJlbC1hbGlnbm1lbnQvbGFiZWwtYnJlYWsvbGFiZWwtd3JhcCxcbi8vIGtlZXBpbmcgdGhlIHJhZGlvIGdyb3VwIGxhYmVsIGhpZGRlbiByZWdhcmRsZXNzIG9mIHRoZSBvdGhlciBsYXlvdXQgYXR0cmlidXRlcy5cbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLXN0YXJ0J11bbGFiZWwtc3RhdGU9J2NvbGxhcHNlZCddKSxcbjpob3N0KFtsYWJlbC1wb3NpdGlvbj0naW5saW5lLWVuZCddW2xhYmVsLXN0YXRlPSdjb2xsYXBzZWQnXSkge1xuICAuaWRzLXJhZGlvLWdyb3VwIGlkcy10ZXh0Lmdyb3VwLWxhYmVsLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtc3RhcnQnXVtsYWJlbC1zdGF0ZT0naGlkZGVuJ10pLFxuOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSdpbmxpbmUtZW5kJ11bbGFiZWwtc3RhdGU9J2hpZGRlbiddKSB7XG4gIC5pZHMtcmFkaW8tZ3JvdXAgaWRzLXRleHQuZ3JvdXAtbGFiZWwtdGV4dCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCIvKiBJZHMgRHJvcGRvd24gQ29tcG9uZW50ICovXG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy12YWxpZGF0aW9uLW1peGluJztcbkB1c2UgJy4uLy4uL3RoZW1lcy9taXhpbnMvaWRzLWVycm9yLXRyYWNrZXItbWl4aW4nIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1maWVsZC1pbmRpY2F0b3ItbWl4aW4nIGFzICo7XG5AdXNlICcuLi8uLi90aGVtZXMvbWl4aW5zL2lkcy1sYWJlbC1wb3NpdGlvbi1taXhpbi5zY3NzJyBhcyBsYWJlbC1wb3NpdGlvbjtcblxuOmhvc3Qge1xuICAtLWlkcy1idXR0b24tdGVydGlhcnktY29sb3ItYmFja2dyb3VuZC1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1ob3ZlcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJhY2tncm91bmQtcHJlc3NlZDogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgLS1pZHMtYnV0dG9uLXRlcnRpYXJ5LWNvbG9yLWJvcmRlci1wcmVzc2VkOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC5pZHMtZHJvcGRvd24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IHZhcigtLWlkcy1ib3gtZHJvcGRvd24td2lkdGgsIGF1dG8pO1xuICB9XG59XG5cbjpob3N0KFtmaWVsZC1pbmRpY2F0b3JdKSB7XG4gIC0taWRzLWZpZWxkLWluZGljYXRvci1pbmZvLW1hcmdpbjogMDtcbn1cblxuOmhvc3QoW2ZpZWxkLWluZGljYXRvcl1bcmVhZG9ubHldKSxcbjpob3N0KFtmaWVsZC1pbmRpY2F0b3JdW2Rpc2FibGVkXSkge1xuICAtLWlkcy1maWVsZC1pbmRpY2F0b3ItaW5mby12aXNpYmlsaXR5OiBub25lO1xufVxuXG46aG9zdChbaGlkZGVuXSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG46aG9zdChbbGFiZWwtcG9zaXRpb249XCJpbmxpbmUtc3RhcnRcIl0pIHtcbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoY29udGFpbmVyKSB7XG4gICAganVzdGlmeS1jb250ZW50OiB2YXIoLS1pZHMtYm94LWp1c3RpZnktY29udGVudCwgZmxleC1zdGFydCk7XG4gIH1cbn1cblxuaWRzLXRyaWdnZXItZmllbGRbcmVhZG9ubHktYmFja2dyb3VuZF06bm90KFtkaXNhYmxlZF0pOjpwYXJ0KGlucHV0KSB7XG4gIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1wb2ludGVyKTtcbn1cblxuaWRzLXRyaWdnZXItZmllbGQ6bm90KFthdXRvc2VsZWN0XSk6OnBhcnQoaW5wdXQpIHtcbiAgJjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICB9XG59XG5cbi8vIE1vc3QgU3R5bGVzIGFyZSBpbiBsaXN0LWJveCwgcG9wdXAgYW5kIHRyaWdnZXIgZmllbGRcbi5pZHMtZHJvcGRvd24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGlkcy10cmlnZ2VyLWZpZWxkIHtcbiAgICAmW3NpemU9J2Z1bGwnXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLmZ1bGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgaWRzLXRyaWdnZXItZmllbGQsXG4gICAgLmlkcy10cmlnZ2VyLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIDo6c2xvdHRlZChpZHMtbGlzdC1ib3gpIHtcbiAgICBoZWlnaHQ6IHZhcigtLWlkcy1wb3B1cC1tYXhoZWlnaHQpO1xuICB9XG59XG5cbi8vIEljb24gUGxhY2VtZW50XG4udHJpZ2dlci1pY29uIHtcbiAgY29sb3I6IHZhcigtLWlkcy1kcm9wZG93bi1jb2xvci1pY29uKTtcbiAgbWFyZ2luOiAwIDAgMCB2YXIoLS1pZHMtZHJvcGRvd24tc3BhY2UtdGV4dCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xufVxuXG46aG9zdChbbW9kZT0nbGlnaHQnXSkge1xuICAudHlwZWFoZWFkLmlzLW9wZW4gaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoZmllbGQtY29udGFpbmVyKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWRyb3Bkb3duLXR5cGVhaGVhZC1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG46aG9zdChbZGlyPSdydGwnXSkgLnRyaWdnZXItaWNvbiB7XG4gIG1hcmdpbjogMCB2YXIoLS1pZHMtZHJvcGRvd24tc3BhY2UtdGV4dCkgMCAwO1xufVxuXG46OnNsb3R0ZWQoLnN1Yi1ncm91cCkge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0taWRzLWRyb3Bkb3duLXNlcGFyYXRvci1jb2xvci1ib3JkZXIpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0taWRzLWRyb3Bkb3duLXNlcGFyYXRvci1wYWRkaW5nKTtcbn1cblxuLy8gRHJvcGRvd24gRWRpdG9yXG4uaWRzLWRyb3Bkb3duLmNvbG9yLXZhcmlhbnQtYm9yZGVybGVzcyxcbi5pZHMtZHJvcGRvd24uY29sb3ItdmFyaWFudC1pbi1jZWxsIHtcbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoZmllbGQtY29udGFpbmVyKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChsYWJlbCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gRHJvcGRvd24gRWRpdG9yIEJvcmRlcmxlc3Ncbi5pZHMtZHJvcGRvd24uY29sb3ItdmFyaWFudC1ib3JkZXJsZXNzIHtcbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoY29udGFpbmVyKSB7XG4gICAgbWFyZ2luOiAtMXB4O1xuICB9XG5cbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoZmllbGQtY29udGFpbmVyKSB7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICAuaWRzLXRyaWdnZXItZmllbGQtc2xvdC10cmlnZ2VyLWVuZCB7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDJweDtcbiAgICB9XG4gIH1cblxuICAmLmZpZWxkLWhlaWdodC1sZyB7XG4gICAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiAxMnB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cblxuICAgICYuaXMtb3BlbiB7XG4gICAgICAuaWRzLXRyaWdnZXItZmllbGQtc2xvdC10cmlnZ2VyLWVuZCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQtbWQge1xuICAgIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGlucHV0KSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogMTNweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgLmlkcy10cmlnZ2VyLWZpZWxkLXNsb3QtdHJpZ2dlci1lbmQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZpZWxkLWhlaWdodC1zbSB7XG4gICAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiA5cHg7XG4gICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgfVxuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIC5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZpZWxkLWhlaWdodC14cyB7XG4gICAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoaW5wdXQpIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiA1cHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIC5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0ycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5maWVsZC1oZWlnaHQteHhzIHtcbiAgICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChpbnB1dCkge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IDNweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgLmlkcy10cmlnZ2VyLWZpZWxkLXNsb3QtdHJpZ2dlci1lbmQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogLTFweDtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAtMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG46aG9zdChbY29tYm9ib3hdKSB7XG4gIC5pZHMtZHJvcGRvd24uY29sb3ItdmFyaWFudC1ib3JkZXJsZXNzIHtcbiAgICAuaWRzLXRyaWdnZXItZmllbGQtc2xvdC10cmlnZ2VyLWVuZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMnB4O1xuICAgIH1cblxuICAgICYuZmllbGQtaGVpZ2h0LWxnIHtcbiAgICAgIC5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDNweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZmllbGQtaGVpZ2h0LW1kIHtcbiAgICAgIC5pZHMtdHJpZ2dlci1maWVsZC1zbG90LXRyaWdnZXItZW5kIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IC0xcHg7XG4gICAgICAgIGhlaWdodDogMzlweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZpZWxkLWhlaWdodC1zbSB7XG4gICAgICAuaWRzLXRyaWdnZXItZmllbGQtc2xvdC10cmlnZ2VyLWVuZCB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAtNXB4O1xuICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5maWVsZC1oZWlnaHQteHMge1xuICAgICAgLmlkcy10cmlnZ2VyLWZpZWxkLXNsb3QtdHJpZ2dlci1lbmQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogLTEwcHg7XG4gICAgICAgIGhlaWdodDogMjlweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZpZWxkLWhlaWdodC14eHMge1xuICAgICAgLmlkcy10cmlnZ2VyLWZpZWxkLXNsb3QtdHJpZ2dlci1lbmQge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogLTEwcHg7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRHJvcGRvd24gRWRpdG9yIEluIENlbGxcbi5pZHMtZHJvcGRvd24uY29sb3ItdmFyaWFudC1pbi1jZWxsIHtcbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoY29udGFpbmVyKSB7XG4gICAgbWFyZ2luOiAxcHggMDtcbiAgfVxufVxuXG4vLyBNb2R1bGUgTmF2IENvbG9yIFZhcmlhbnRcbi5pZHMtZHJvcGRvd24uY29sb3ItdmFyaWFudC1tb2R1bGUtbmF2IHtcbiAgY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LXNlYXJjaC1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG5cbiAgOjpzbG90dGVkKGlkcy1saXN0LWJveCkge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zZWFyY2gtaW5wdXQtdGV4dC1jb2xvcik7XG4gIH1cblxuICA6OnNsb3R0ZWQoaWRzLWxpc3QtYm94LW9wdGlvbikge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoZmllbGQtY29udGFpbmVyKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtaW5wdXQtYmctY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWNvbW1vbi1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXI6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWlucHV0LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0taWRzLW1vZHVsZS1uYXYtaW5wdXQtYm9yZGVyLWNvbG9yKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICBpZHMtdHJpZ2dlci1maWVsZDpob3Zlcjo6cGFydChmaWVsZC1jb250YWluZXIpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pbnB1dC1ob3Zlci1iZy1jb2xvcik7XG4gIH1cblxuICBpZHMtdHJpZ2dlci1maWVsZDphY3RpdmU6OnBhcnQoZmllbGQtY29udGFpbmVyKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtaXRlbS1zZWxlY3RlZC1iZy1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pdGVtLXNlbGVjdGVkLXRleHQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pdGVtLXNlbGVjdGVkLXRleHQtY29sb3IpO1xuICB9XG5cbiAgaWRzLXRyaWdnZXItZmllbGQ6Zm9jdXMtd2l0aGluOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWlucHV0LWZvY3VzLWJnLWNvbG9yKTtcbiAgfVxuXG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGlucHV0KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KHRyaWdnZXItYnV0dG9uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taWRzLWNvbG9yLXRyYW5zcGFyZW50KTtcbiAgfVxuXG4gIGlkcy10cmlnZ2VyLWZpZWxkOjpwYXJ0KGlucHV0OjpwbGFjZWhvbGRlcikge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItdGV4dC1jb2xvcik7XG4gIH1cblxuICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChpbnB1dDphY3RpdmUpIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLW1vZHVsZS1uYXYtc2VhcmNoLWlucHV0LXRleHQtY29sb3IpO1xuICB9XG5cbiAgaWRzLWRyb3Bkb3duLWxpc3Q6OnBhcnQoZHJvcGRvd24tbGlzdCkge1xuICAgIG1heC13aWR0aDogdmFyKC0taWRzLW1vZHVsZS1uYXYtZXhwYW5kZWQtc2l6ZSk7XG4gICAgd2lkdGg6IGNhbGModmFyKC0taWRzLW1vZHVsZS1uYXYtc3dpdGNoZXItZHJvcGRvd24td2lkdGgpICsgdmFyKC0taWRzLW1vZHVsZS1uYXYtc3dpdGNoZXItYnV0dG9uLWd1dHRlci1zaXplKSArIHZhcigtLWlkcy1tb2R1bGUtbmF2LXN3aXRjaGVyLWJ1dHRvbi1zaXplKSk7XG4gIH1cblxuICBpZHMtbGlzdC1ib3gtb3B0aW9uIHtcbiAgICBtaW4taGVpZ2h0OiB2YXIoLS1pZHMtbW9kdWxlLW5hdi1pdGVtLWhlaWdodCk7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG5cbiAgLmlkcy1pbnB1dC1maWVsZCB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1tb2R1bGUtbmF2LWl0ZW0tZXhwYW5kZWQtaWNvbi10ZXh0LXNwYWNlLXNpemUpO1xuICB9XG59XG5cbi8vIERyb3Bkb3duIG1lbnUgd2lkdGhcbjpob3N0IGlkcy1kcm9wZG93bi1saXN0IHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtNDApO1xufVxuXG46aG9zdChbc2l6ZT0neHMnXSkgaWRzLWRyb3Bkb3duLWxpc3Qge1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC0xMCk7XG59XG5cbjpob3N0KFtzaXplPSdzbSddKSBpZHMtZHJvcGRvd24tbGlzdCB7XG4gIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLTIwKTtcbn1cblxuOmhvc3QoW3NpemU9J21tJ10pIGlkcy1kcm9wZG93bi1saXN0IHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtMzApO1xufVxuXG46aG9zdChbc2l6ZT0nbWQnXSkgaWRzLWRyb3Bkb3duLWxpc3Qge1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC00MCk7XG59XG5cbjpob3N0KFtzaXplPSdsZyddKSBpZHMtZHJvcGRvd24tbGlzdCB7XG4gIG1heC13aWR0aDogdmFyKC0taWRzLWlucHV0LXdpZHRoLTUwKTtcbn1cblxuOmhvc3QoW3NpemU9J2Z1bGwnXSkgaWRzLWRyb3Bkb3duLWxpc3Qge1xuICBtYXgtd2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC1mdWxsKTtcbn1cblxuOmhvc3QgaWRzLWRyb3Bkb3duLWxpc3QsXG46aG9zdChbc2l6ZT0nZnVsbCddKSB7XG4gIHdpZHRoOiB2YXIoLS1pZHMtaW5wdXQtd2lkdGgtZnVsbCk7XG59XG5cbjpob3N0KC5pbi1mbGV4LWl0ZW1bc2l6ZT0neHMnXSkge1xuICBtaW4td2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC0xMCk7XG59XG5cbjpob3N0KC5pbi1mbGV4LWl0ZW1bc2l6ZT0nc20nXSkge1xuICBtaW4td2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC0yMCk7XG59XG5cbjpob3N0KC5pbi1mbGV4LWl0ZW1bc2l6ZT0nbW0nXSkge1xuICBtaW4td2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC0zMCk7XG59XG5cbjpob3N0KC5pbi1mbGV4LWl0ZW1bc2l6ZT0nbWQnXSkge1xuICBtaW4td2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC00MCk7XG59XG5cbjpob3N0KC5pbi1mbGV4LWl0ZW1bc2l6ZT0nbGcnXSkge1xuICBtaW4td2lkdGg6IHZhcigtLWlkcy1pbnB1dC13aWR0aC01MCk7XG59XG5cbjpob3N0KC5pbi1mbGV4LWl0ZW1bbGFiZWwtYnJlYWs9J3Nocmluay12YWx1ZSddW3NpemVdKSxcbjpob3N0KC5pbi1mbGV4LWl0ZW1bbGFiZWwtcG9zaXRpb249J2lubGluZS1zdGFydCddW3NpemVdKSB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLy8gQ2hhbmdlIHN0YXRlIGZvciBleHRlcm5hbCBkcm9wZG93biBsaXN0XG46aG9zdChbbGlzdF06bm90KFtkaXNhYmxlZF0pKSB7XG4gIGN1cnNvcjogdmFyKC0taWRzLWN1cnNvci1wb2ludGVyKTtcbn1cblxuOmhvc3QoW2F1dG8tc2l6ZT1cInRydWVcIl0pIHtcbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoaW5wdXQpIHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG4gIH1cbn1cblxuOmhvc3QoW3RleHQtYWxpZ249XCJlbmRcIl0pIHtcbiAgaWRzLXRyaWdnZXItZmllbGQ6OnBhcnQoaW5wdXQpIHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLWlkcy1kcm9wZG93bi1zcGFjZS10ZXh0KTtcbiAgfVxufVxuXG46aG9zdChbdGV4dC1hbGlnbj1cImVuZFwiXVtjb21wYWN0XSkge1xuICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChpbnB1dCkge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0taWRzLWRyb3Bkb3duLXNwYWNlLXRleHQtY29tcGFjdCk7XG4gIH1cbn1cblxuLmlkcy1kcm9wZG93biBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChjbGVhcmFibGUtYnV0dG9uKSB7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAtNnB4O1xufVxuIiwiLyogSWRzIE11bHRpIFNlbGVjdCBDb21wb25lbnQgKi9cbkB1c2UgJy4uL2lkcy1kcm9wZG93bi9pZHMtZHJvcGRvd24nIGFzICo7XG5cbi5pZHMtY2hlY2tib3gge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5pZHMtdHJpZ2dlci1maWVsZCB7XG4gIGlkcy10YWcge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS0yeHMpO1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbZGlzYWJsZWRdOjpwYXJ0KHRhZykge1xuICAgICAgY3Vyc29yOiB2YXIoLS1pZHMtY3Vyc29yLWRlZmF1bHQpO1xuICAgIH1cblxuICAgIGlkcy1pY29ue1xuICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoW3RhZ3NdKSxcbjpob3N0KDpub3QoW3R5cGVhaGVhZF0pOm5vdChbdGFnc10pKSB7XG4gIC0taWRzLWNoZWNrYm94LXBhZGRpbmctaW5saW5lLXN0YXJ0OiAxOHB4O1xuXG4gIGlkcy10cmlnZ2VyLWZpZWxkIHtcbiAgICAmOjpwYXJ0KGNvbnRlbnQtYXJlYSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzOHB4KTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAmOjpwYXJ0KGlucHV0KSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxleDogMTtcblxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgICY6OnNlbGVjdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pZHMtY29sb3ItdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlkcy10ZXh0IHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgJi5wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pZHMtbXVsdGlzZWxlY3Qtc2VjdGlvbi1oZWFkZXItY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmOjpwYXJ0KHRleHQpIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLWlkcy1zcGFjZS14cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltjb21wYWN0XSxcbiAgICAmW2ZpZWxkLWhlaWdodD0neHMnXSB7XG4gICAgICBpZHMtdGV4dDo6cGFydCh0ZXh0KSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1pZHMtc3BhY2UtMnhzKTtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1pZHMtbXVsdGlzZWxlY3QtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuOmhvc3QoOm5vdChbdGFnc10pKSBpZHMtdHJpZ2dlci1maWVsZCB7XG4gIGlkcy10ZXh0LnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0taWRzLW11bHRpc2VsZWN0LXNlY3Rpb24taGVhZGVyLWNvbG9yKTtcblxuICAgICY6OnBhcnQodGV4dCkge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtvdmVyZmxvdz0nZWxsaXBzaXMnXTpub3QoW3R5cGVhaGVhZF0pOm5vdChbdGFnc10pKSB7XG4gIGlkcy10cmlnZ2VyLWZpZWxkIHtcbiAgICAmOjpwYXJ0KGNvbnRlbnQtYXJlYSkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI4cHgpO1xuICAgIH1cbiAgfVxufVxuXG46aG9zdCguZGF0YWdyaWQtZWRpdG9yKSBpZHMtdHJpZ2dlci1maWVsZCB7XG4gIGlkcy10ZXh0IHtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiA1cHg7XG4gIH1cbn1cblxuOmhvc3QoOm5vdChbZGlzYWJsZWRdKSkge1xuICAuaGFzLXZhbHVlIHtcbiAgICBpZHMtdHJpZ2dlci1maWVsZCB7XG4gICAgICAmOjpwYXJ0KGZpZWxkLWNvbnRhaW5lcikge1xuICAgICAgICBjdXJzb3I6IHZhcigtLWlkcy1jdXJzb3ItcG9pbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjpob3N0KFtkaXNhYmxlZF0pIHtcbiAgaWRzLXRyaWdnZXItZmllbGQge1xuICAgICY6OnBhcnQoZmllbGQtY29udGFpbmVyKSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuOmhvc3Qge1xuICAudHJpZ2dlci1pY29uLFxuICBpZHMtdHJpZ2dlci1idXR0b24gaWRzLWljb24ge1xuICAgIGNvbG9yOiB2YXIoLS1pZHMtbXVsdGlzZWxlY3QtZHJvcGRvd24taWNvbi1jb2xvcik7XG4gIH1cbn1cblxuLmlzLW9wZW4ge1xuICBpZHMtdHJpZ2dlci1maWVsZDo6cGFydChmaWVsZC1jb250YWluZXIpIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1pZHMtbXVsdGlzZWxlY3QtZHJvcGRvd24tYm94LXNoYWRvdyk7XG5cbiAgICAmOm5vdCguZXJyb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWlkcy1tdWx0aXNlbGVjdC1vcGVuLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgYm9yZGVyOiB2YXIoLS1pZHMtbXVsdGlzZWxlY3QtYm9yZGVyLW9wZW4pO1xuICAgIH1cbiAgfVxufVxuIl19 */