@seniorsistemas/data-seniorx-core 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/config/dynamic-view-builder.config.d.ts +3 -0
- package/core/constants/dynamic-view-builder.const.d.ts +15 -0
- package/core/constants/picklist.const.d.ts +4 -0
- package/core/constants/timeline.const.d.ts +6 -0
- package/core/types/confirm.type.d.ts +1 -0
- package/core/types/dynamic-view-builder.type.d.ts +130 -0
- package/core/types/row-card.type.d.ts +10 -0
- package/core/types/timeline.type.d.ts +22 -0
- package/esm2022/core/config/dynamic-view-builder.config.mjs +396 -0
- package/esm2022/core/config/row-card.type.config.mjs +2 -1
- package/esm2022/core/constants/dynamic-view-builder.const.mjs +24 -0
- package/esm2022/core/constants/picklist.const.mjs +5 -1
- package/esm2022/core/constants/timeline.const.mjs +6 -0
- package/esm2022/core/handlers/sqlFormatter.mjs +3 -2
- package/esm2022/core/types/confirm.type.mjs +1 -1
- package/esm2022/core/types/dynamic-view-builder.type.mjs +2 -0
- package/esm2022/core/types/row-card.type.mjs +1 -1
- package/esm2022/core/types/timeline.type.mjs +2 -0
- package/esm2022/core/utils/layout.util.mjs +4 -4
- package/esm2022/core/utils/number-input.util.mjs +2 -2
- package/esm2022/features/breadcrumb/breadcrumb.component.mjs +21 -3
- package/esm2022/features/button/button.component.mjs +5 -5
- package/esm2022/features/card-list/card/card.component.mjs +4 -6
- package/esm2022/features/card-list/card-list.component.mjs +4 -7
- package/esm2022/features/code-editor/code-editor.component.mjs +5 -5
- package/esm2022/features/color-picker/color-picker.component.mjs +4 -4
- package/esm2022/features/combobox/combobox.component.mjs +8 -8
- package/esm2022/features/confirm/confirm.component.mjs +8 -4
- package/esm2022/features/country-phone-picker/country-phone-picker.component.mjs +6 -8
- package/esm2022/features/empty-state/empty-state.component.mjs +3 -3
- package/esm2022/features/hyperlink/hyperlink.component.mjs +10 -12
- package/esm2022/features/icon-picker/icon-picker.component.mjs +3 -3
- package/esm2022/features/info-sign/info-sign.component.mjs +3 -3
- package/esm2022/features/list/list.component.mjs +1 -1
- package/esm2022/features/loading-state/loading-state.component.mjs +20 -25
- package/esm2022/features/localized-number-input/localized-number-input.component.mjs +4 -4
- package/esm2022/features/mask/mask.component.mjs +4 -4
- package/esm2022/features/modal/modal.component.mjs +5 -5
- package/esm2022/features/modalc/modalc.component.mjs +1 -1
- package/esm2022/features/number-input/number-input.component.mjs +4 -4
- package/esm2022/features/numeric/numeric.component.mjs +4 -6
- package/esm2022/features/paginator/paginator.component.mjs +2 -2
- package/esm2022/features/password-strength/password-strength.component.mjs +3 -3
- package/esm2022/features/picklist/picklist.component.mjs +50 -9
- package/esm2022/features/radio/radio.component.mjs +12 -12
- package/esm2022/features/row-card-list/row-card/row-card.component.mjs +32 -9
- package/esm2022/features/row-card-list/row-card-list.component.mjs +3 -3
- package/esm2022/features/searchbox/searchbox.component.mjs +1 -1
- package/esm2022/features/sidebar/sidebar.component.mjs +7 -3
- package/esm2022/features/switch/switch.component.mjs +3 -3
- package/esm2022/features/table/table.component.mjs +3 -3
- package/esm2022/features/textarea/textarea.component.mjs +4 -4
- package/esm2022/features/textbox/textbox.component.mjs +4 -4
- package/esm2022/features/timeline/timeline.component.mjs +90 -0
- package/esm2022/features/toast/toast.component.mjs +4 -6
- package/esm2022/features/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/features/visual-sql-editor/visual-sql-editor.component.mjs +2810 -0
- package/esm2022/locales/en.json +202 -1
- package/esm2022/locales/es-CO.json +202 -1
- package/esm2022/locales/pt.json +202 -1
- package/esm2022/public-api.mjs +6 -1
- package/features/breadcrumb/breadcrumb.component.d.ts +2 -0
- package/features/button/button.component.d.ts +2 -2
- package/features/code-editor/code-editor.component.d.ts +2 -2
- package/features/hyperlink/hyperlink.component.d.ts +3 -3
- package/features/loading-state/loading-state.component.d.ts +3 -4
- package/features/modal/modal.component.d.ts +2 -2
- package/features/picklist/picklist.component.d.ts +10 -1
- package/features/radio/radio.component.d.ts +4 -4
- package/features/row-card-list/row-card/row-card.component.d.ts +8 -1
- package/features/sidebar/sidebar.component.d.ts +2 -1
- package/features/timeline/timeline.component.d.ts +27 -0
- package/features/visual-sql-editor/visual-sql-editor.component.d.ts +560 -0
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs +4161 -176
- package/fesm2022/seniorsistemas-data-seniorx-core.mjs.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +7 -0
- package/src/locales/en.json +211 -1
- package/src/locales/es-CO.json +211 -1
- package/src/locales/pt.json +211 -1
- package/styles.css +1 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
1
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Output, ViewEncapsulation, inject } from '@angular/core';
|
|
3
2
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
3
|
import { TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
@@ -8,8 +7,7 @@ import { toPositiveInteger } from '../../../core/utils/number.util';
|
|
|
8
7
|
import { characterLength, truncateCharacters } from '../../../core/utils/string.util';
|
|
9
8
|
import { ButtonComponent } from '../../button/button.component';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@
|
|
12
|
-
import * as i2 from "@ngx-translate/core";
|
|
10
|
+
import * as i1 from "@ngx-translate/core";
|
|
13
11
|
export class CardMiniComponent {
|
|
14
12
|
cdr = inject(ChangeDetectorRef);
|
|
15
13
|
translate = inject(TranslateService);
|
|
@@ -133,11 +131,11 @@ export class CardMiniComponent {
|
|
|
133
131
|
event?.stopPropagation();
|
|
134
132
|
}
|
|
135
133
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardMiniComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
136
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
134
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardMiniComponent, isStandalone: true, selector: "sdc-card-mini", inputs: { data: "data", options: "options" }, outputs: { cardAction: "cardAction" }, ngImport: i0, template: "<article class=\"sdc-card-mini dp-card\" [attr.aria-label]=\"fullName + ' - ' + fullCategory\">\n <header class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"data.icon || options?.icon\" aria-hidden=\"true\"></i>\n </div>\n\n <div class=\"sdc-card__header-text\">\n <h2 class=\"sdc-card__title\" [attr.aria-expanded]=\"isNameTruncated ? expandedName : null\">\n @if (!expandedName) {\n {{ shortName }}@if (isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandNameAriaLabelKey | translate\"\n (click)=\"expandName($event)\"\n (keydown.enter)=\"onNameEllipsisEnter($event)\"\n (keydown.space)=\"onNameEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullName }}\n }\n </h2>\n\n @if (expandedName && isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseName($event)\"\n [attr.aria-label]=\"collapseNameAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n\n <div class=\"sdc-card__subtitle\" [attr.aria-expanded]=\"isCategoryTruncated ? expandedCategory : null\">\n @if (!expandedCategory) {\n {{ shortCategory }}@if (isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandCategoryAriaLabelKey | translate\"\n (click)=\"expandCategory($event)\"\n (keydown.enter)=\"onCategoryEllipsisEnter($event)\"\n (keydown.space)=\"onCategoryEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullCategory }}\n }\n </div>\n\n @if (expandedCategory && isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseCategory($event)\"\n [attr.aria-label]=\"collapseCategoryAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </header>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n @if (descriptionLabel) {\n <div class=\"sdc-card__description-label\">{{ descriptionLabel }}</div>\n }\n\n <p class=\"sdc-card__description\" [attr.aria-expanded]=\"isDescriptionTruncated ? expandedDescription : null\">\n @if (!expandedDescription) {\n {{ shortDescription }}@if (isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandDescriptionAriaLabelKey | translate\"\n (click)=\"expandDescription($event)\"\n (keydown.enter)=\"onDescriptionEllipsisEnter($event)\"\n (keydown.space)=\"onDescriptionEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullDescription }}\n }\n </p>\n\n @if (expandedDescription && isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle\"\n (click)=\"collapseDescription($event)\"\n [attr.aria-label]=\"collapseDescriptionAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </div>\n\n <footer class=\"sdc-card__footer flex justify-content-end\">\n <div class=\"sdc-card__footer-action\">\n <sdc-button\n width=\"100%\"\n (onClick)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel!\"\n [attr.aria-label]=\"buttonAriaLabel\"\n >\n </sdc-button>\n </div>\n </footer>\n</article>\n", styles: [":host{display:block}.sdc-card-mini{width:100%;border-radius:var(--sdc-formfield-border-radius);border:var(--sdc-surface-border);overflow:hidden;display:flex;padding:var(--sdc-card-padding, 7px);flex-direction:column;min-height:var(--sdc-card-min-height, 19rem)}.sdc-card__header{display:flex;align-items:flex-start;justify-content:flex-start;gap:var(--sdc-card-header-gap, .75rem);padding:var(--sdc-card-header-padding, max(0px, var(--sdc-card-header-vertical-spacing, 1.25rem) - var(--sdc-card-padding, 7px)) var(--sdc-card-header-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-header-vertical-spacing, 1.25rem));position:relative;border-bottom:none}.sdc-card__header:after{content:\"\";position:absolute;bottom:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-bottom:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__icon{min-width:var(--sdc-card-icon-size, 2.9rem);min-height:var(--sdc-card-icon-size, 2.9rem);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sdc-card__header-text{display:flex;flex-direction:column;justify-content:flex-start;min-height:var(--sdc-card-icon-size, 2.9rem);width:100%;min-width:0;flex:1 1 auto}.sdc-card__body{padding:var(--sdc-card-body-padding, var(--sdc-card-body-padding-y, .3rem) var(--sdc-card-body-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))))}.sdc-card__title{margin:0;width:100%;min-width:0;font-size:1.4rem;font-weight:600;line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__subtitle{margin-top:.45rem;width:100%;min-width:0;font-weight:700;font-size:.775rem;color:var(--sdc-card-subtitle-color, var(--sdc-text-muted, #475569));line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__content{margin-top:.5rem}.sdc-card__description-label{margin:0 0 var(--sdc-card-description-label-gap, .35rem);color:var(--sdc-card-description-label-color, inherit);font-size:var(--sdc-card-description-label-font-size, inherit);font-weight:var(--sdc-card-description-label-font-weight, 700);line-height:var(--sdc-card-description-label-line-height, 1.2)}.sdc-card__description{text-align:justify;margin:0;overflow:hidden}.sdc-card__ellipsis{appearance:none;background:transparent;border:0;padding:0;font:inherit;display:inline;white-space:nowrap;margin-left:.05rem;color:var(--sdc-card-action-color, #3b82f6);font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1}.sdc-card__ellipsis:hover{text-decoration:underline}.sdc-card__ellipsis:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:0 var(--sdc-card-toggle-padding, .25rem)}.sdc-card__toggle{margin-top:.5rem;background:transparent;border:0;padding:0;font:inherit;font-size:var(--sdc-card-toggle-font-size, .72rem);line-height:var(--sdc-card-toggle-line-height, 1);cursor:pointer;color:var(--sdc-card-action-color, #3b82f6);font-weight:600;text-align:left}.sdc-card__toggle--inline{margin-top:.15rem}.sdc-card__toggle:hover{text-decoration:underline}.sdc-card__toggle:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:var(--sdc-card-toggle-padding, .25rem);margin-left:calc(-1 * var(--sdc-card-toggle-padding, .25rem))}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:var(--sdc-card-footer-padding, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) var(--sdc-card-footer-padding-right, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-bottom, max(0px, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-left, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))));display:flex;align-items:center;justify-content:flex-end;gap:var(--sdc-card-footer-gap, .5rem);min-height:var(--sdc-card-footer-min-height, auto);position:relative;border-top:none}.sdc-card__footer:before{content:\"\";position:absolute;top:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-top:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__footer-action{box-sizing:border-box;flex:0 1 var(--sdc-card-footer-action-width, 50%);max-width:100%;width:var(--sdc-card-footer-action-width, 50%)}.sdc-card__footer-action sdc-button{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
137
135
|
}
|
|
138
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardMiniComponent, decorators: [{
|
|
139
137
|
type: Component,
|
|
140
|
-
args: [{ selector: 'sdc-card-mini', imports: [
|
|
138
|
+
args: [{ selector: 'sdc-card-mini', imports: [ButtonComponent, TranslateModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.Emulated, template: "<article class=\"sdc-card-mini dp-card\" [attr.aria-label]=\"fullName + ' - ' + fullCategory\">\n <header class=\"sdc-card__header\">\n <div class=\"sdc-card__icon\" [style.background]=\"options?.backgroundIcon\" [style.color]=\"options?.iconColor\">\n <i [class]=\"data.icon || options?.icon\" aria-hidden=\"true\"></i>\n </div>\n\n <div class=\"sdc-card__header-text\">\n <h2 class=\"sdc-card__title\" [attr.aria-expanded]=\"isNameTruncated ? expandedName : null\">\n @if (!expandedName) {\n {{ shortName }}@if (isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandNameAriaLabelKey | translate\"\n (click)=\"expandName($event)\"\n (keydown.enter)=\"onNameEllipsisEnter($event)\"\n (keydown.space)=\"onNameEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullName }}\n }\n </h2>\n\n @if (expandedName && isNameTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseName($event)\"\n [attr.aria-label]=\"collapseNameAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n\n <div class=\"sdc-card__subtitle\" [attr.aria-expanded]=\"isCategoryTruncated ? expandedCategory : null\">\n @if (!expandedCategory) {\n {{ shortCategory }}@if (isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandCategoryAriaLabelKey | translate\"\n (click)=\"expandCategory($event)\"\n (keydown.enter)=\"onCategoryEllipsisEnter($event)\"\n (keydown.space)=\"onCategoryEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullCategory }}\n }\n </div>\n\n @if (expandedCategory && isCategoryTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle sdc-card__toggle--inline\"\n (click)=\"collapseCategory($event)\"\n [attr.aria-label]=\"collapseCategoryAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </header>\n\n <div class=\"sdc-card__body\">\n <div class=\"sdc-card__content\">\n @if (descriptionLabel) {\n <div class=\"sdc-card__description-label\">{{ descriptionLabel }}</div>\n }\n\n <p class=\"sdc-card__description\" [attr.aria-expanded]=\"isDescriptionTruncated ? expandedDescription : null\">\n @if (!expandedDescription) {\n {{ shortDescription }}@if (isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__ellipsis\"\n [attr.aria-label]=\"expandDescriptionAriaLabelKey | translate\"\n (click)=\"expandDescription($event)\"\n (keydown.enter)=\"onDescriptionEllipsisEnter($event)\"\n (keydown.space)=\"onDescriptionEllipsisSpace($event)\"\n >...</button\n >\n }\n } @else {\n {{ fullDescription }}\n }\n </p>\n\n @if (expandedDescription && isDescriptionTruncated) {\n <button\n type=\"button\"\n class=\"sdc-card__toggle\"\n (click)=\"collapseDescription($event)\"\n [attr.aria-label]=\"collapseDescriptionAriaLabelKey | translate\"\n >\n {{ showLessLabelKey | translate }}\n </button>\n }\n </div>\n </div>\n\n <footer class=\"sdc-card__footer flex justify-content-end\">\n <div class=\"sdc-card__footer-action\">\n <sdc-button\n width=\"100%\"\n (onClick)=\"cardAction.emit(data)\"\n [priority]=\"options?.buttonPriority!\"\n [label]=\"options?.buttonLabel!\"\n [attr.aria-label]=\"buttonAriaLabel\"\n >\n </sdc-button>\n </div>\n </footer>\n</article>\n", styles: [":host{display:block}.sdc-card-mini{width:100%;border-radius:var(--sdc-formfield-border-radius);border:var(--sdc-surface-border);overflow:hidden;display:flex;padding:var(--sdc-card-padding, 7px);flex-direction:column;min-height:var(--sdc-card-min-height, 19rem)}.sdc-card__header{display:flex;align-items:flex-start;justify-content:flex-start;gap:var(--sdc-card-header-gap, .75rem);padding:var(--sdc-card-header-padding, max(0px, var(--sdc-card-header-vertical-spacing, 1.25rem) - var(--sdc-card-padding, 7px)) var(--sdc-card-header-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-header-vertical-spacing, 1.25rem));position:relative;border-bottom:none}.sdc-card__header:after{content:\"\";position:absolute;bottom:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-bottom:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__icon{min-width:var(--sdc-card-icon-size, 2.9rem);min-height:var(--sdc-card-icon-size, 2.9rem);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.sdc-card__header-text{display:flex;flex-direction:column;justify-content:flex-start;min-height:var(--sdc-card-icon-size, 2.9rem);width:100%;min-width:0;flex:1 1 auto}.sdc-card__body{padding:var(--sdc-card-body-padding, var(--sdc-card-body-padding-y, .3rem) var(--sdc-card-body-padding-x, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))))}.sdc-card__title{margin:0;width:100%;min-width:0;font-size:1.4rem;font-weight:600;line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__subtitle{margin-top:.45rem;width:100%;min-width:0;font-weight:700;font-size:.775rem;color:var(--sdc-card-subtitle-color, var(--sdc-text-muted, #475569));line-height:1.1;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.sdc-card__content{margin-top:.5rem}.sdc-card__description-label{margin:0 0 var(--sdc-card-description-label-gap, .35rem);color:var(--sdc-card-description-label-color, inherit);font-size:var(--sdc-card-description-label-font-size, inherit);font-weight:var(--sdc-card-description-label-font-weight, 700);line-height:var(--sdc-card-description-label-line-height, 1.2)}.sdc-card__description{text-align:justify;margin:0;overflow:hidden}.sdc-card__ellipsis{appearance:none;background:transparent;border:0;padding:0;font:inherit;display:inline;white-space:nowrap;margin-left:.05rem;color:var(--sdc-card-action-color, #3b82f6);font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1}.sdc-card__ellipsis:hover{text-decoration:underline}.sdc-card__ellipsis:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:0 var(--sdc-card-toggle-padding, .25rem)}.sdc-card__toggle{margin-top:.5rem;background:transparent;border:0;padding:0;font:inherit;font-size:var(--sdc-card-toggle-font-size, .72rem);line-height:var(--sdc-card-toggle-line-height, 1);cursor:pointer;color:var(--sdc-card-action-color, #3b82f6);font-weight:600;text-align:left}.sdc-card__toggle--inline{margin-top:.15rem}.sdc-card__toggle:hover{text-decoration:underline}.sdc-card__toggle:focus-visible{outline:none;box-shadow:var(--sdc-card-action-focus, 0 0 0 2px #3b82f6);border-radius:var(--sdc-card-action-radius, .5rem);padding:var(--sdc-card-toggle-padding, .25rem);margin-left:calc(-1 * var(--sdc-card-toggle-padding, .25rem))}.sdc-card__tags{margin-top:.5rem;display:flex;gap:.5rem;flex-wrap:wrap}.sdc-card__footer{margin-top:auto;padding:var(--sdc-card-footer-padding, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) var(--sdc-card-footer-padding-right, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-bottom, max(0px, var(--sdc-card-footer-padding-y, var(--sdc-card-horizontal-spacing, 1rem)) - var(--sdc-card-padding, 7px))) var(--sdc-card-footer-padding-left, max(0px, var(--sdc-card-horizontal-spacing, 1rem) - var(--sdc-card-padding, 7px))));display:flex;align-items:center;justify-content:flex-end;gap:var(--sdc-card-footer-gap, .5rem);min-height:var(--sdc-card-footer-min-height, auto);position:relative;border-top:none}.sdc-card__footer:before{content:\"\";position:absolute;top:0;left:calc(-1 * var(--sdc-card-padding, 7px));right:calc(-1 * var(--sdc-card-padding, 7px));border-top:var(--sdc-card-divider-border, var(--sdc-surface-divider-border))}.sdc-card__footer-action{box-sizing:border-box;flex:0 1 var(--sdc-card-footer-action-width, 50%);max-width:100%;width:var(--sdc-card-footer-action-width, 50%)}.sdc-card__footer-action sdc-button{display:block;width:100%}\n"] }]
|
|
141
139
|
}], ctorParameters: () => [], propDecorators: { data: [{
|
|
142
140
|
type: Input
|
|
143
141
|
}], options: [{
|
|
@@ -145,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
145
143
|
}], cardAction: [{
|
|
146
144
|
type: Output
|
|
147
145
|
}] } });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NhcmQtbGlzdC9jYXJkL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEUsT0FBTyxFQUNMLHFDQUFxQyxFQUNyQyx3Q0FBd0MsRUFDeEMsaUNBQWlDLEVBQ2pDLDBCQUEwQixFQUMxQixnQ0FBZ0MsRUFDaEMsbUNBQW1DLEVBQ25DLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsc0NBQXNDLEVBQ3RDLCtCQUErQixFQUMvQix3QkFBd0IsRUFDekIsTUFBTSxvQ0FBb0MsQ0FBQztBQUU1QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBV2hFLE1BQU0sT0FBTyxpQkFBaUI7SUFDWCxHQUFHLEdBQUcsTUFB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QUFFLGVBQWU7OzRGQU83QyxpQkFBaUI7a0JBVDdCLFNBQVM7K0JBQ0UsZUFBZSxXQUNoQixDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDLGNBRTdDLElBQUksbUJBRUMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsUUFBUTt3REFjaEMsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQge1xuICBDQVJEX0NPTExBUFNFX0NBVEVHT1JZX0FSSUFfTEFCRUxfS0VZLFxuICBDQVJEX0NPTExBUFNFX0RFU0NSSVBUSU9OX0FSSUFfTEFCRUxfS0VZLFxuICBDQVJEX0NPTExBUFNFX05BTUVfQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfREVTQ1JJUFRJT05fTEFCRUxfS0VZLFxuICBDQVJEX0RFRkFVTFRfQ0FURUdPUllfTUFYX0xFTkdUSCxcbiAgQ0FSRF9ERUZBVUxUX0RFU0NSSVBUSU9OX01BWF9MRU5HVEgsXG4gIENBUkRfREVGQVVMVF9OQU1FX01BWF9MRU5HVEgsXG4gIENBUkRfRVhQQU5EX0NBVEVHT1JZX0FSSUFfTEFCRUxfS0VZLFxuICBDQVJEX0VYUEFORF9ERVNDUklQVElPTl9BUklBX0xBQkVMX0tFWSxcbiAgQ0FSRF9FWFBBTkRfTkFNRV9BUklBX0xBQkVMX0tFWSxcbiAgQ0FSRF9TSE9XX0xFU1NfTEFCRUxfS0VZXG59IGZyb20gJy4uLy4uLy4uL2NvcmUvY29uc3RhbnRzL2NhcmQuY29uc3QnO1xuaW1wb3J0IHsgQ2FyZCwgT3B0aW9uc0NhcmQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3R5cGVzL2NhcmQudHlwZSc7XG5pbXBvcnQgeyByZXNvbHZlVHJhbnNsYXRhYmxlVGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdXRpbHMvaTE4bi51dGlsJztcbmltcG9ydCB7IHRvUG9zaXRpdmVJbnRlZ2VyIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9udW1iZXIudXRpbCc7XG5pbXBvcnQgeyBjaGFyYWN0ZXJMZW5ndGgsIHRydW5jYXRlQ2hhcmFjdGVycyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdXRpbHMvc3RyaW5nLnV0aWwnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtY2FyZC1taW5pJyxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIENhcmRNaW5pQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hvd0xlc3NMYWJlbEtleSA9IENBUkRfU0hPV19MRVNTX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4cGFuZE5hbWVBcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9OQU1FX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29sbGFwc2VOYW1lQXJpYUxhYmVsS2V5ID0gQ0FSRF9DT0xMQVBTRV9OQU1FX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kQ2F0ZWdvcnlBcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9DQVRFR09SWV9BUklBX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbGxhcHNlQ2F0ZWdvcnlBcmlhTGFiZWxLZXkgPSBDQVJEX0NPTExBUFNFX0NBVEVHT1JZX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9ERVNDUklQVElPTl9BUklBX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbGxhcHNlRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgPSBDQVJEX0NPTExBUFNFX0RFU0NSSVBUSU9OX0FSSUFfTEFCRUxfS0VZO1xuXG4gIEBJbnB1dCgpIGRhdGEhOiBDYXJkO1xuICBASW5wdXQoKSBvcHRpb25zPzogT3B0aW9uc0NhcmQ7XG4gIEBPdXRwdXQoKSBjYXJkQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxDYXJkPigpO1xuXG4gIHByb3RlY3RlZCBleHBhbmRlZERlc2NyaXB0aW9uID0gZmFsc2U7XG4gIHByb3RlY3RlZCBleHBhbmRlZE5hbWUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGV4cGFuZGVkQ2F0ZWdvcnkgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZnVsbERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dCh0aGlzLmRhdGE/LmRlc2NyaXB0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMuZGF0YT8ubmFtZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGZ1bGxDYXRlZ29yeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5kYXRhPy5jYXRlZ29yeSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGRlc2NyaXB0aW9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMub3B0aW9ucz8uZGVzY3JpcHRpb25MYWJlbCA/PyBDQVJEX0RFU0NSSVBUSU9OX0xBQkVMX0tFWSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5vcHRpb25zPy5idXR0b25MYWJlbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBbdGhpcy5idXR0b25MYWJlbFRleHQsIHRoaXMuZnVsbE5hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgLSAnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGVzY3JpcHRpb25NYXhMZW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdG9Qb3NpdGl2ZUludGVnZXIodGhpcy5vcHRpb25zPy5kZXNjcmlwdGlvbk1heExlbmd0aCwgQ0FSRF9ERUZBVUxUX0RFU0NSSVBUSU9OX01BWF9MRU5HVEgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBuYW1lTWF4TGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRvUG9zaXRpdmVJbnRlZ2VyKHRoaXMub3B0aW9ucz8ubmFtZU1heExlbmd0aCwgQ0FSRF9ERUZBVUxUX05BTUVfTUFYX0xFTkdUSCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGNhdGVnb3J5TWF4TGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRvUG9zaXRpdmVJbnRlZ2VyKHRoaXMub3B0aW9ucz8uY2F0ZWdvcnlNYXhMZW5ndGgsIENBUkRfREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RIKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNEZXNjcmlwdGlvblRydW5jYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyTGVuZ3RoKHRoaXMuZnVsbERlc2NyaXB0aW9uKSA+IHRoaXMuZGVzY3JpcHRpb25NYXhMZW47XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzTmFtZVRydW5jYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyTGVuZ3RoKHRoaXMuZnVsbE5hbWUpID4gdGhpcy5uYW1lTWF4TGVuO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0NhdGVnb3J5VHJ1bmNhdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjaGFyYWN0ZXJMZW5ndGgodGhpcy5mdWxsQ2F0ZWdvcnkpID4gdGhpcy5jYXRlZ29yeU1heExlbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc2hvcnREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0cnVuY2F0ZUNoYXJhY3RlcnModGhpcy5mdWxsRGVzY3JpcHRpb24sIHRoaXMuZGVzY3JpcHRpb25NYXhMZW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBzaG9ydE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMuZnVsbE5hbWUsIHRoaXMubmFtZU1heExlbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHNob3J0Q2F0ZWdvcnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMuZnVsbENhdGVnb3J5LCB0aGlzLmNhdGVnb3J5TWF4TGVuKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBleHBhbmREZXNjcmlwdGlvbihldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdG9wKGV2ZW50KTtcblxuICAgIGlmICghdGhpcy5pc0Rlc2NyaXB0aW9uVHJ1bmNhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZERlc2NyaXB0aW9uID0gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb2xsYXBzZURlc2NyaXB0aW9uKGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AoZXZlbnQpO1xuICAgIHRoaXMuZXhwYW5kZWREZXNjcmlwdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGFuZE5hbWUoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcChldmVudCk7XG5cbiAgICBpZiAoIXRoaXMuaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZE5hbWUgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbGxhcHNlTmFtZShldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdG9wKGV2ZW50KTtcbiAgICB0aGlzLmV4cGFuZGVkTmFtZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGFuZENhdGVnb3J5KGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AoZXZlbnQpO1xuXG4gICAgaWYgKCF0aGlzLmlzQ2F0ZWdvcnlUcnVuY2F0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmV4cGFuZGVkQ2F0ZWdvcnkgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbGxhcHNlQ2F0ZWdvcnkoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcChldmVudCk7XG4gICAgdGhpcy5leHBhbmRlZENhdGVnb3J5ID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkVsbGlwc2lzRW50ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmREZXNjcmlwdGlvbihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkVsbGlwc2lzU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmREZXNjcmlwdGlvbihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25OYW1lRWxsaXBzaXNFbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZE5hbWUoZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTmFtZUVsbGlwc2lzU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmROYW1lKGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhdGVnb3J5RWxsaXBzaXNFbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZENhdGVnb3J5KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhdGVnb3J5RWxsaXBzaXNTcGFjZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZENhdGVnb3J5KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRlVGV4dCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcChldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59XG4iLCI8YXJ0aWNsZSBjbGFzcz1cInNkYy1jYXJkLW1pbmkgZHAtY2FyZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZnVsbE5hbWUgKyAnIC0gJyArIGZ1bGxDYXRlZ29yeVwiPlxuICA8aGVhZGVyIGNsYXNzPVwic2RjLWNhcmRfX2hlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9faWNvblwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm9wdGlvbnM/LmJhY2tncm91bmRJY29uXCIgW3N0eWxlLmNvbG9yXT1cIm9wdGlvbnM/Lmljb25Db2xvclwiPlxuICAgICAgPGkgW2NsYXNzXT1cImRhdGEuaWNvbiB8fCBvcHRpb25zPy5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19oZWFkZXItdGV4dFwiPlxuICAgICAgPGgyIGNsYXNzPVwic2RjLWNhcmRfX3RpdGxlXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc05hbWVUcnVuY2F0ZWQgPyBleHBhbmRlZE5hbWUgOiBudWxsXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZXhwYW5kZWROYW1lOyBlbHNlIGZ1bGxOYW1lVHBsXCI+XG4gICAgICAgICAge3sgc2hvcnROYW1lIH19PHNwYW5cbiAgICAgICAgICAgICpuZ0lmPVwiaXNOYW1lVHJ1bmNhdGVkXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX2VsbGlwc2lzXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZXhwYW5kTmFtZUFyaWFMYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZXhwYW5kTmFtZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uTmFtZUVsbGlwc2lzRW50ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbk5hbWVFbGxpcHNpc1NwYWNlKCRldmVudClcIlxuICAgICAgICAgICAgPi4uLjwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZnVsbE5hbWVUcGw+e3sgZnVsbE5hbWUgfX08L25nLXRlbXBsYXRlPlxuICAgICAgPC9oMj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImV4cGFuZGVkTmFtZSAmJiBpc05hbWVUcnVuY2F0ZWRcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJzZGMtY2FyZF9fdG9nZ2xlIHNkYy1jYXJkX190b2dnbGUtLWlubGluZVwiXG4gICAgICAgIChjbGljayk9XCJjb2xsYXBzZU5hbWUoJGV2ZW50KVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sbGFwc2VOYW1lQXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgID5cbiAgICAgICAge3sgc2hvd0xlc3NMYWJlbEtleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fc3VidGl0bGVcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzQ2F0ZWdvcnlUcnVuY2F0ZWQgPyBleHBhbmRlZENhdGVnb3J5IDogbnVsbFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWV4cGFuZGVkQ2F0ZWdvcnk7IGVsc2UgZnVsbENhdGVnb3J5VHBsXCI+XG4gICAgICAgICAge3sgc2hvcnRDYXRlZ29yeSB9fTxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cImlzQ2F0ZWdvcnlUcnVuY2F0ZWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtY2FyZF9fZWxsaXBzaXNcIlxuICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJleHBhbmRDYXRlZ29yeUFyaWFMYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZXhwYW5kQ2F0ZWdvcnkoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkNhdGVnb3J5RWxsaXBzaXNFbnRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cIm9uQ2F0ZWdvcnlFbGxpcHNpc1NwYWNlKCRldmVudClcIlxuICAgICAgICAgICAgPi4uLjwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZnVsbENhdGVnb3J5VHBsPnt7IGZ1bGxDYXRlZ29yeSB9fTwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImV4cGFuZGVkQ2F0ZWdvcnkgJiYgaXNDYXRlZ29yeVRydW5jYXRlZFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInNkYy1jYXJkX190b2dnbGUgc2RjLWNhcmRfX3RvZ2dsZS0taW5saW5lXCJcbiAgICAgICAgKGNsaWNrKT1cImNvbGxhcHNlQ2F0ZWdvcnkoJGV2ZW50KVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sbGFwc2VDYXRlZ29yeUFyaWFMYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICA+XG4gICAgICAgIHt7IHNob3dMZXNzTGFiZWxLZXkgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2hlYWRlcj5cblxuICA8ZGl2IGNsYXNzPVwic2RjLWNhcmRfX2JvZHlcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2RjLWNhcmRfX2NvbnRlbnRcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJkZXNjcmlwdGlvbkxhYmVsXCIgY2xhc3M9XCJzZGMtY2FyZF9fZGVzY3JpcHRpb24tbGFiZWxcIj57eyBkZXNjcmlwdGlvbkxhYmVsIH19PC9kaXY+XG5cbiAgICAgIDxwIGNsYXNzPVwic2RjLWNhcmRfX2Rlc2NyaXB0aW9uXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0Rlc2NyaXB0aW9uVHJ1bmNhdGVkID8gZXhwYW5kZWREZXNjcmlwdGlvbiA6IG51bGxcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFleHBhbmRlZERlc2NyaXB0aW9uOyBlbHNlIGZ1bGxEZXNjVHBsXCI+XG4gICAgICAgICAge3sgc2hvcnREZXNjcmlwdGlvbiB9fTxzcGFuXG4gICAgICAgICAgICAqbmdJZj1cImlzRGVzY3JpcHRpb25UcnVuY2F0ZWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJzZGMtY2FyZF9fZWxsaXBzaXNcIlxuICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJleHBhbmREZXNjcmlwdGlvbkFyaWFMYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZXhwYW5kRGVzY3JpcHRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkRlc2NyaXB0aW9uRWxsaXBzaXNFbnRlcigkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLnNwYWNlKT1cIm9uRGVzY3JpcHRpb25FbGxpcHNpc1NwYWNlKCRldmVudClcIlxuICAgICAgICAgICAgPi4uLjwvc3BhblxuICAgICAgICAgID5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZnVsbERlc2NUcGw+e3sgZnVsbERlc2NyaXB0aW9uIH19PC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvcD5cblxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImV4cGFuZGVkRGVzY3JpcHRpb24gJiYgaXNEZXNjcmlwdGlvblRydW5jYXRlZFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInNkYy1jYXJkX190b2dnbGVcIlxuICAgICAgICAoY2xpY2spPVwiY29sbGFwc2VEZXNjcmlwdGlvbigkZXZlbnQpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb2xsYXBzZURlc2NyaXB0aW9uQXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgID5cbiAgICAgICAge3sgc2hvd0xlc3NMYWJlbEtleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxmb290ZXIgY2xhc3M9XCJzZGMtY2FyZF9fZm9vdGVyIGZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fZm9vdGVyLWFjdGlvblwiPlxuICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiY2FyZEFjdGlvbi5lbWl0KGRhdGEpXCJcbiAgICAgICAgW3ByaW9yaXR5XT1cIm9wdGlvbnM/LmJ1dHRvblByaW9yaXR5IVwiXG4gICAgICAgIFtsYWJlbF09XCJvcHRpb25zPy5idXR0b25MYWJlbCFcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbkFyaWFMYWJlbFwiXG4gICAgICA+XG4gICAgICA8L3NkYy1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZm9vdGVyPlxuPC9hcnRpY2xlPlxuIl19
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NhcmQtbGlzdC9jYXJkL2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGliL3NyYy9mZWF0dXJlcy9jYXJkLWxpc3QvY2FyZC9jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RSxPQUFPLEVBQ0wscUNBQXFDLEVBQ3JDLHdDQUF3QyxFQUN4QyxpQ0FBaUMsRUFDakMsMEJBQTBCLEVBQzFCLGdDQUFnQyxFQUNoQyxtQ0FBbUMsRUFDbkMsNEJBQTRCLEVBQzVCLG1DQUFtQyxFQUNuQyxzQ0FBc0MsRUFDdEMsK0JBQStCLEVBQy9CLHdCQUF3QixFQUN6QixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQVdoRSxNQUFNLE9BQU8saUJBQWlCO0lBQ1gsR0FBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hDLFNBQVMsR0FBRyxNQUFN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QUMsZUFBZSxFQUFFLGVBQWUsQ0FBQyxjQUUvQixJQUFJLG1CQUVDLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLFFBQVE7d0RBY2hDLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7XG4gIENBUkRfQ09MTEFQU0VfQ0FURUdPUllfQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfQ09MTEFQU0VfREVTQ1JJUFRJT05fQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfQ09MTEFQU0VfTkFNRV9BUklBX0xBQkVMX0tFWSxcbiAgQ0FSRF9ERVNDUklQVElPTl9MQUJFTF9LRVksXG4gIENBUkRfREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RILFxuICBDQVJEX0RFRkFVTFRfREVTQ1JJUFRJT05fTUFYX0xFTkdUSCxcbiAgQ0FSRF9ERUZBVUxUX05BTUVfTUFYX0xFTkdUSCxcbiAgQ0FSRF9FWFBBTkRfQ0FURUdPUllfQVJJQV9MQUJFTF9LRVksXG4gIENBUkRfRVhQQU5EX0RFU0NSSVBUSU9OX0FSSUFfTEFCRUxfS0VZLFxuICBDQVJEX0VYUEFORF9OQU1FX0FSSUFfTEFCRUxfS0VZLFxuICBDQVJEX1NIT1dfTEVTU19MQUJFTF9LRVlcbn0gZnJvbSAnLi4vLi4vLi4vY29yZS9jb25zdGFudHMvY2FyZC5jb25zdCc7XG5pbXBvcnQgeyBDYXJkLCBPcHRpb25zQ2FyZCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvdHlwZXMvY2FyZC50eXBlJztcbmltcG9ydCB7IHJlc29sdmVUcmFuc2xhdGFibGVUZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9pMThuLnV0aWwnO1xuaW1wb3J0IHsgdG9Qb3NpdGl2ZUludGVnZXIgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3V0aWxzL251bWJlci51dGlsJztcbmltcG9ydCB7IGNoYXJhY3Rlckxlbmd0aCwgdHJ1bmNhdGVDaGFyYWN0ZXJzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS91dGlscy9zdHJpbmcudXRpbCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NkYy1jYXJkLW1pbmknLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnLi9jYXJkLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkXG59KVxuZXhwb3J0IGNsYXNzIENhcmRNaW5pQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hvd0xlc3NMYWJlbEtleSA9IENBUkRfU0hPV19MRVNTX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4cGFuZE5hbWVBcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9OQU1FX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29sbGFwc2VOYW1lQXJpYUxhYmVsS2V5ID0gQ0FSRF9DT0xMQVBTRV9OQU1FX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kQ2F0ZWdvcnlBcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9DQVRFR09SWV9BUklBX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbGxhcHNlQ2F0ZWdvcnlBcmlhTGFiZWxLZXkgPSBDQVJEX0NPTExBUFNFX0NBVEVHT1JZX0FSSUFfTEFCRUxfS0VZO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZXhwYW5kRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgPSBDQVJEX0VYUEFORF9ERVNDUklQVElPTl9BUklBX0xBQkVMX0tFWTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbGxhcHNlRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgPSBDQVJEX0NPTExBUFNFX0RFU0NSSVBUSU9OX0FSSUFfTEFCRUxfS0VZO1xuXG4gIEBJbnB1dCgpIGRhdGEhOiBDYXJkO1xuICBASW5wdXQoKSBvcHRpb25zPzogT3B0aW9uc0NhcmQ7XG4gIEBPdXRwdXQoKSBjYXJkQWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxDYXJkPigpO1xuXG4gIHByb3RlY3RlZCBleHBhbmRlZERlc2NyaXB0aW9uID0gZmFsc2U7XG4gIHByb3RlY3RlZCBleHBhbmRlZE5hbWUgPSBmYWxzZTtcbiAgcHJvdGVjdGVkIGV4cGFuZGVkQ2F0ZWdvcnkgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnRyYW5zbGF0ZS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZnVsbERlc2NyaXB0aW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlVGV4dCh0aGlzLmRhdGE/LmRlc2NyaXB0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMuZGF0YT8ubmFtZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGZ1bGxDYXRlZ29yeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5kYXRhPy5jYXRlZ29yeSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGRlc2NyaXB0aW9uTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVUZXh0KHRoaXMub3B0aW9ucz8uZGVzY3JpcHRpb25MYWJlbCA/PyBDQVJEX0RFU0NSSVBUSU9OX0xBQkVMX0tFWSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkxhYmVsVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVRleHQodGhpcy5vcHRpb25zPy5idXR0b25MYWJlbCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGJ1dHRvbkFyaWFMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBbdGhpcy5idXR0b25MYWJlbFRleHQsIHRoaXMuZnVsbE5hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgLSAnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGVzY3JpcHRpb25NYXhMZW4oKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdG9Qb3NpdGl2ZUludGVnZXIodGhpcy5vcHRpb25zPy5kZXNjcmlwdGlvbk1heExlbmd0aCwgQ0FSRF9ERUZBVUxUX0RFU0NSSVBUSU9OX01BWF9MRU5HVEgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBuYW1lTWF4TGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRvUG9zaXRpdmVJbnRlZ2VyKHRoaXMub3B0aW9ucz8ubmFtZU1heExlbmd0aCwgQ0FSRF9ERUZBVUxUX05BTUVfTUFYX0xFTkdUSCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGNhdGVnb3J5TWF4TGVuKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRvUG9zaXRpdmVJbnRlZ2VyKHRoaXMub3B0aW9ucz8uY2F0ZWdvcnlNYXhMZW5ndGgsIENBUkRfREVGQVVMVF9DQVRFR09SWV9NQVhfTEVOR1RIKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgaXNEZXNjcmlwdGlvblRydW5jYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyTGVuZ3RoKHRoaXMuZnVsbERlc2NyaXB0aW9uKSA+IHRoaXMuZGVzY3JpcHRpb25NYXhMZW47XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzTmFtZVRydW5jYXRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY2hhcmFjdGVyTGVuZ3RoKHRoaXMuZnVsbE5hbWUpID4gdGhpcy5uYW1lTWF4TGVuO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBpc0NhdGVnb3J5VHJ1bmNhdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjaGFyYWN0ZXJMZW5ndGgodGhpcy5mdWxsQ2F0ZWdvcnkpID4gdGhpcy5jYXRlZ29yeU1heExlbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc2hvcnREZXNjcmlwdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0cnVuY2F0ZUNoYXJhY3RlcnModGhpcy5mdWxsRGVzY3JpcHRpb24sIHRoaXMuZGVzY3JpcHRpb25NYXhMZW4pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBzaG9ydE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMuZnVsbE5hbWUsIHRoaXMubmFtZU1heExlbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IHNob3J0Q2F0ZWdvcnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdHJ1bmNhdGVDaGFyYWN0ZXJzKHRoaXMuZnVsbENhdGVnb3J5LCB0aGlzLmNhdGVnb3J5TWF4TGVuKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBleHBhbmREZXNjcmlwdGlvbihldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdG9wKGV2ZW50KTtcblxuICAgIGlmICghdGhpcy5pc0Rlc2NyaXB0aW9uVHJ1bmNhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZERlc2NyaXB0aW9uID0gdHJ1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjb2xsYXBzZURlc2NyaXB0aW9uKGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AoZXZlbnQpO1xuICAgIHRoaXMuZXhwYW5kZWREZXNjcmlwdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGFuZE5hbWUoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcChldmVudCk7XG5cbiAgICBpZiAoIXRoaXMuaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5leHBhbmRlZE5hbWUgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbGxhcHNlTmFtZShldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zdG9wKGV2ZW50KTtcbiAgICB0aGlzLmV4cGFuZGVkTmFtZSA9IGZhbHNlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGV4cGFuZENhdGVnb3J5KGV2ZW50PzogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3AoZXZlbnQpO1xuXG4gICAgaWYgKCF0aGlzLmlzQ2F0ZWdvcnlUcnVuY2F0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmV4cGFuZGVkQ2F0ZWdvcnkgPSB0cnVlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbGxhcHNlQ2F0ZWdvcnkoZXZlbnQ/OiBFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcChldmVudCk7XG4gICAgdGhpcy5leHBhbmRlZENhdGVnb3J5ID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkVsbGlwc2lzRW50ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmREZXNjcmlwdGlvbihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25EZXNjcmlwdGlvbkVsbGlwc2lzU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmREZXNjcmlwdGlvbihldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb25OYW1lRWxsaXBzaXNFbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZE5hbWUoZXZlbnQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uTmFtZUVsbGlwc2lzU3BhY2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmROYW1lKGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhdGVnb3J5RWxsaXBzaXNFbnRlcihldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZENhdGVnb3J5KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvbkNhdGVnb3J5RWxsaXBzaXNTcGFjZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZENhdGVnb3J5KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgdHJhbnNsYXRlVGV4dCh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcmVzb2x2ZVRyYW5zbGF0YWJsZVRleHQodGhpcy50cmFuc2xhdGUsIHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RvcChldmVudD86IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG59XG4iLCI8YXJ0aWNsZSBjbGFzcz1cInNkYy1jYXJkLW1pbmkgZHAtY2FyZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiZnVsbE5hbWUgKyAnIC0gJyArIGZ1bGxDYXRlZ29yeVwiPlxuICA8aGVhZGVyIGNsYXNzPVwic2RjLWNhcmRfX2hlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9faWNvblwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cIm9wdGlvbnM/LmJhY2tncm91bmRJY29uXCIgW3N0eWxlLmNvbG9yXT1cIm9wdGlvbnM/Lmljb25Db2xvclwiPlxuICAgICAgPGkgW2NsYXNzXT1cImRhdGEuaWNvbiB8fCBvcHRpb25zPy5pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19oZWFkZXItdGV4dFwiPlxuICAgICAgPGgyIGNsYXNzPVwic2RjLWNhcmRfX3RpdGxlXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc05hbWVUcnVuY2F0ZWQgPyBleHBhbmRlZE5hbWUgOiBudWxsXCI+XG4gICAgICAgIEBpZiAoIWV4cGFuZGVkTmFtZSkge1xuICAgICAgICAgIHt7IHNob3J0TmFtZSB9fUBpZiAoaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX19lbGxpcHNpc1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImV4cGFuZE5hbWVBcmlhTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4cGFuZE5hbWUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbk5hbWVFbGxpcHNpc0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25OYW1lRWxsaXBzaXNTcGFjZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID4uLi48L2J1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAge3sgZnVsbE5hbWUgfX1cbiAgICAgICAgfVxuICAgICAgPC9oMj5cblxuICAgICAgQGlmIChleHBhbmRlZE5hbWUgJiYgaXNOYW1lVHJ1bmNhdGVkKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX190b2dnbGUgc2RjLWNhcmRfX3RvZ2dsZS0taW5saW5lXCJcbiAgICAgICAgICAoY2xpY2spPVwiY29sbGFwc2VOYW1lKCRldmVudClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sbGFwc2VOYW1lQXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAge3sgc2hvd0xlc3NMYWJlbEtleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cblxuICAgICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19zdWJ0aXRsZVwiIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiaXNDYXRlZ29yeVRydW5jYXRlZCA/IGV4cGFuZGVkQ2F0ZWdvcnkgOiBudWxsXCI+XG4gICAgICAgIEBpZiAoIWV4cGFuZGVkQ2F0ZWdvcnkpIHtcbiAgICAgICAgICB7eyBzaG9ydENhdGVnb3J5IH19QGlmIChpc0NhdGVnb3J5VHJ1bmNhdGVkKSB7XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkX19lbGxpcHNpc1wiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImV4cGFuZENhdGVnb3J5QXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJleHBhbmRDYXRlZ29yeSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQ2F0ZWdvcnlFbGxpcHNpc0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uc3BhY2UpPVwib25DYXRlZ29yeUVsbGlwc2lzU3BhY2UoJGV2ZW50KVwiXG4gICAgICAgICAgICA+Li4uPC9idXR0b25cbiAgICAgICAgICAgID5cbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIHt7IGZ1bGxDYXRlZ29yeSB9fVxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cblxuICAgICAgQGlmIChleHBhbmRlZENhdGVnb3J5ICYmIGlzQ2F0ZWdvcnlUcnVuY2F0ZWQpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX3RvZ2dsZSBzZGMtY2FyZF9fdG9nZ2xlLS1pbmxpbmVcIlxuICAgICAgICAgIChjbGljayk9XCJjb2xsYXBzZUNhdGVnb3J5KCRldmVudClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29sbGFwc2VDYXRlZ29yeUFyaWFMYWJlbEtleSB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIHt7IHNob3dMZXNzTGFiZWxLZXkgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvaGVhZGVyPlxuXG4gIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fYm9keVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fY29udGVudFwiPlxuICAgICAgQGlmIChkZXNjcmlwdGlvbkxhYmVsKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZGMtY2FyZF9fZGVzY3JpcHRpb24tbGFiZWxcIj57eyBkZXNjcmlwdGlvbkxhYmVsIH19PC9kaXY+XG4gICAgICB9XG5cbiAgICAgIDxwIGNsYXNzPVwic2RjLWNhcmRfX2Rlc2NyaXB0aW9uXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0Rlc2NyaXB0aW9uVHJ1bmNhdGVkID8gZXhwYW5kZWREZXNjcmlwdGlvbiA6IG51bGxcIj5cbiAgICAgICAgQGlmICghZXhwYW5kZWREZXNjcmlwdGlvbikge1xuICAgICAgICAgIHt7IHNob3J0RGVzY3JpcHRpb24gfX1AaWYgKGlzRGVzY3JpcHRpb25UcnVuY2F0ZWQpIHtcbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX2VsbGlwc2lzXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZXhwYW5kRGVzY3JpcHRpb25BcmlhTGFiZWxLZXkgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImV4cGFuZERlc2NyaXB0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25EZXNjcmlwdGlvbkVsbGlwc2lzRW50ZXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvbkRlc2NyaXB0aW9uRWxsaXBzaXNTcGFjZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID4uLi48L2J1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAge3sgZnVsbERlc2NyaXB0aW9uIH19XG4gICAgICAgIH1cbiAgICAgIDwvcD5cblxuICAgICAgQGlmIChleHBhbmRlZERlc2NyaXB0aW9uICYmIGlzRGVzY3JpcHRpb25UcnVuY2F0ZWQpIHtcbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRfX3RvZ2dsZVwiXG4gICAgICAgICAgKGNsaWNrKT1cImNvbGxhcHNlRGVzY3JpcHRpb24oJGV2ZW50KVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb2xsYXBzZURlc2NyaXB0aW9uQXJpYUxhYmVsS2V5IHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICA+XG4gICAgICAgICAge3sgc2hvd0xlc3NMYWJlbEtleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGZvb3RlciBjbGFzcz1cInNkYy1jYXJkX19mb290ZXIgZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG4gICAgPGRpdiBjbGFzcz1cInNkYy1jYXJkX19mb290ZXItYWN0aW9uXCI+XG4gICAgICA8c2RjLWJ1dHRvblxuICAgICAgICB3aWR0aD1cIjEwMCVcIlxuICAgICAgICAob25DbGljayk9XCJjYXJkQWN0aW9uLmVtaXQoZGF0YSlcIlxuICAgICAgICBbcHJpb3JpdHldPVwib3B0aW9ucz8uYnV0dG9uUHJpb3JpdHkhXCJcbiAgICAgICAgW2xhYmVsXT1cIm9wdGlvbnM/LmJ1dHRvbkxhYmVsIVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYnV0dG9uQXJpYUxhYmVsXCJcbiAgICAgICAgPlxuICAgICAgPC9zZGMtYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Zvb3Rlcj5cbjwvYXJ0aWNsZT5cbiJdfQ==
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
1
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, computed, signal } from '@angular/core';
|
|
3
2
|
import { TranslateModule } from '@ngx-translate/core';
|
|
4
3
|
import { DEFAULT_CARD_LIST_OPTIONS } from '../../core/config/card.type.config';
|
|
@@ -11,8 +10,7 @@ import { LoadingStateComponent } from '../loading-state/loading-state.component'
|
|
|
11
10
|
import { PaginatorComponent } from '../paginator/paginator.component';
|
|
12
11
|
import { CardMiniComponent } from './card/card.component';
|
|
13
12
|
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "@
|
|
15
|
-
import * as i2 from "@ngx-translate/core";
|
|
13
|
+
import * as i1 from "@ngx-translate/core";
|
|
16
14
|
export class CardListComponent {
|
|
17
15
|
data = [];
|
|
18
16
|
set loading(value) {
|
|
@@ -128,19 +126,18 @@ export class CardListComponent {
|
|
|
128
126
|
this.options.set(merged);
|
|
129
127
|
}
|
|
130
128
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
131
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardListComponent, isStandalone: true, selector: "sdc-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"sdc-card-list\" [attr.aria-label]=\"'platform.datacore.accessibility.card_list' | translate\">\n <div class=\"sdc-card-list__wrapper\">\n <sdc-loading-state\n [loading]=\"isLoading()\"\n [blockWindow]=\"false\"\n [indicator]=\"'dots'\"\n class=\"sdc-cardlist-loading-state\"\n [blockDelayMs]=\"0\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n
|
|
129
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: CardListComponent, isStandalone: true, selector: "sdc-card-list", inputs: { data: "data", loading: "loading", config: "config" }, outputs: { cardButtonClick: "cardButtonClick" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"sdc-card-list\" [attr.aria-label]=\"'platform.datacore.accessibility.card_list' | translate\">\n <div class=\"sdc-card-list__wrapper\">\n <sdc-loading-state\n [loading]=\"isLoading()\"\n [blockWindow]=\"false\"\n [indicator]=\"'dots'\"\n class=\"sdc-cardlist-loading-state\"\n [blockDelayMs]=\"0\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n >\n @if (showSkeleton()) {\n <div\n class=\"relative sdc-card-list__viewport\"\n [class.sdc-card-list__viewport--side-buttons]=\"!isMobile && options().enableSideButtons && options().pagination.show\"\n >\n <ul class=\"grid flex-1 sdc-card-list__grid\" [attr.aria-label]=\"'platform.datacore.accessibility.card_grid' | translate\">\n @for (i of skeletonCards(); track i) {\n <li class=\"col-12 md:col-6 lg:col-4 xl:col-5th sdc-card-list__col\">\n <article class=\"sdc-card-mini sdc-card-mini--skeleton h-full\" aria-hidden=\"true\"></article>\n </li>\n }\n </ul>\n </div>\n } @else if (pagedData().length) {\n <div\n class=\"relative sdc-card-list__viewport\"\n [class.sdc-card-list__viewport--side-buttons]=\"!isMobile && options().enableSideButtons && options().pagination.show\"\n >\n @if (options().enableSideButtons && options().pagination.show) {\n @if (!isMobile) {\n <sdc-button\n width=\"3rem\"\n (clicked)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n [attr.aria-label]=\"'platform.datacore.accessibility.previous_page' | translate\"\n ></sdc-button>\n }\n }\n\n <ul class=\"grid flex-1 sdc-card-list__grid\" [attr.aria-label]=\"'platform.datacore.accessibility.card_grid' | translate\">\n @for (card of pagedData(); track card.id) {\n <li class=\"col-12 md:col-6 lg:col-4 xl:col-5th sdc-card-list__col\">\n <div class=\"h-full\">\n <sdc-card-mini\n [options]=\"options().customCard\"\n [data]=\"card\"\n (cardAction)=\"onCardClick($event)\"\n ></sdc-card-mini>\n </div>\n </li>\n }\n </ul>\n\n @if (options().enableSideButtons && options().pagination.show) {\n @if (!isMobile) {\n <sdc-button\n width=\"3rem\"\n [disabled]=\"isLastPage()\"\n (clicked)=\"nextPage()\"\n class=\"absolute right-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-right\"\n [attr.aria-label]=\"'platform.datacore.accessibility.next_page' | translate\"\n ></sdc-button>\n }\n }\n </div>\n } @else if (!isLoading()) {\n <sdc-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle()\"\n [description]=\"emptyText()\"\n class=\"sdc-cardlist-empty-state\"\n [attr.aria-label]=\"(emptyTitle() | translate) + ' - ' + (emptyText() | translate)\"\n ></sdc-empty-state>\n }\n\n @if (options().pagination.show) {\n <nav\n class=\"flex justify-content-between sdc-paginator sdc-card-list__paginator\"\n [class.justify-content-center]=\"isMobile || isTablet\"\n [class.sdc-card-list__paginator--side-buttons]=\"!isMobile && options().enableSideButtons\"\n [attr.aria-label]=\"'platform.datacore.accessibility.pagination' | translate\"\n >\n <sdc-paginator\n class=\"w-full\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"options().pagination.rowsPerPageOptions\"\n [showRowsPerPageSelector]=\"options().pagination.showRowsPerPageSelector\"\n [totalRecords]=\"filtered().length\"\n [totalRecordsLabel]=\"totalRecordsLabel()\"\n [isMobile]=\"isMobile\"\n ></sdc-paginator>\n </nav>\n }\n </sdc-loading-state>\n </div>\n</section>\n", styles: [":host{display:block}.sdc-card-list{min-height:var(--sdc-card-list-min-height, 25rem);min-width:var(--sdc-card-list-min-width, 17rem);align-content:var(--sdc-card-list-align-content, center)}.sdc-card-list ul{list-style:none;padding:0;margin:0}.sdc-card-list__viewport--side-buttons{padding-inline:var(--sdc-card-list-side-offset, 0rem)}.sdc-card-list__grid.grid{margin:calc(-1 * var(--sdc-card-list-gutter, .5rem))!important}.sdc-card-list__grid>li{padding:var(--sdc-card-list-gutter, .5rem)!important}.sdc-card-list__col{display:flex}.sdc-card-list__col>*{width:100%}.sdc-card-mini--skeleton{width:100%;min-height:var(--sdc-card-min-height, 19rem);border-radius:var(--sdc-formfield-border-radius);border:var(--sdc-surface-border);background:var(--sdc-surface-0, #fff);display:block;box-sizing:border-box}.sdc-card-list__paginator{width:100%;padding-top:var(--sdc-card-list-paginator-padding-top, 1rem);padding-inline:var(--sdc-card-list-paginator-padding-x, 0rem)}.sdc-card-list__paginator--side-buttons{padding-inline:calc(var(--sdc-card-list-paginator-padding-x, 0rem) + var(--sdc-card-list-side-offset, 0rem))}.sdc-cardlist-empty-state{width:100%;min-height:var(--sdc-card-list-empty-min-height, 19rem);border:var(--sdc-surface-border);border-radius:var(--sdc-formfield-border-radius);display:flex;align-items:center;justify-content:center;padding:1rem}@media screen and (min-width: 1200px){.xl\\:col-5th{flex:0 0 20%;max-width:20%}}@media screen and (min-width: 1400px){.\\32xl\\:col-5th{flex:0 0 20%;max-width:20%}}\n"], dependencies: [{ kind: "component", type: CardMiniComponent, selector: "sdc-card-mini", inputs: ["data", "options"], outputs: ["cardAction"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ButtonComponent, selector: "sdc-button", inputs: ["id", "label", "ariaLabel", "disabled", "width", "priority", "size", "type", "icon", "rightIcon", "auxiliary", "caret", "tooltip", "animation", "slide", "styleClass", "badge", "menuOptions", "menuContext", "model"], outputs: ["clicked"] }, { kind: "component", type: PaginatorComponent, selector: "sdc-paginator", inputs: ["first", "rows", "totalRecords", "rowsPerPageOptions", "showRowsPerPageSelector", "isMobile", "totalRecordsLabel"], outputs: ["pageChange"] }, { kind: "component", type: EmptyStateComponent, selector: "sdc-empty-state", inputs: ["id", "title", "variant", "titleParams", "iconClass", "description", "descriptionParams", "showPrimaryAction", "showSecondaryAction", "primaryActionLabel", "primaryActionLabelParams", "secondaryActionLabel", "secondaryActionLabelParams", "primaryModel"], outputs: ["primaryAction", "secondaryAction"] }, { kind: "component", type: LoadingStateComponent, selector: "sdc-loading-state", inputs: ["indicator", "id", "blockWindow", "blockDelayMs", "unblockDelayMs", "loading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
132
130
|
}
|
|
133
131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CardListComponent, decorators: [{
|
|
134
132
|
type: Component,
|
|
135
133
|
args: [{ selector: 'sdc-card-list', standalone: true, imports: [
|
|
136
|
-
CommonModule,
|
|
137
134
|
CardMiniComponent,
|
|
138
135
|
TranslateModule,
|
|
139
136
|
ButtonComponent,
|
|
140
137
|
PaginatorComponent,
|
|
141
138
|
EmptyStateComponent,
|
|
142
139
|
LoadingStateComponent
|
|
143
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"sdc-card-list\" [attr.aria-label]=\"'platform.datacore.accessibility.card_list' | translate\">\n <div class=\"sdc-card-list__wrapper\">\n <sdc-loading-state\n [loading]=\"isLoading()\"\n [blockWindow]=\"false\"\n [indicator]=\"'dots'\"\n class=\"sdc-cardlist-loading-state\"\n [blockDelayMs]=\"0\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n
|
|
140
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<section class=\"sdc-card-list\" [attr.aria-label]=\"'platform.datacore.accessibility.card_list' | translate\">\n <div class=\"sdc-card-list__wrapper\">\n <sdc-loading-state\n [loading]=\"isLoading()\"\n [blockWindow]=\"false\"\n [indicator]=\"'dots'\"\n class=\"sdc-cardlist-loading-state\"\n [blockDelayMs]=\"0\"\n [attr.aria-label]=\"'platform.datacore.accessibility.loading' | translate\"\n >\n @if (showSkeleton()) {\n <div\n class=\"relative sdc-card-list__viewport\"\n [class.sdc-card-list__viewport--side-buttons]=\"!isMobile && options().enableSideButtons && options().pagination.show\"\n >\n <ul class=\"grid flex-1 sdc-card-list__grid\" [attr.aria-label]=\"'platform.datacore.accessibility.card_grid' | translate\">\n @for (i of skeletonCards(); track i) {\n <li class=\"col-12 md:col-6 lg:col-4 xl:col-5th sdc-card-list__col\">\n <article class=\"sdc-card-mini sdc-card-mini--skeleton h-full\" aria-hidden=\"true\"></article>\n </li>\n }\n </ul>\n </div>\n } @else if (pagedData().length) {\n <div\n class=\"relative sdc-card-list__viewport\"\n [class.sdc-card-list__viewport--side-buttons]=\"!isMobile && options().enableSideButtons && options().pagination.show\"\n >\n @if (options().enableSideButtons && options().pagination.show) {\n @if (!isMobile) {\n <sdc-button\n width=\"3rem\"\n (clicked)=\"prevPage()\"\n [disabled]=\"isFirstPage()\"\n class=\"absolute left-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-left\"\n [attr.aria-label]=\"'platform.datacore.accessibility.previous_page' | translate\"\n ></sdc-button>\n }\n }\n\n <ul class=\"grid flex-1 sdc-card-list__grid\" [attr.aria-label]=\"'platform.datacore.accessibility.card_grid' | translate\">\n @for (card of pagedData(); track card.id) {\n <li class=\"col-12 md:col-6 lg:col-4 xl:col-5th sdc-card-list__col\">\n <div class=\"h-full\">\n <sdc-card-mini\n [options]=\"options().customCard\"\n [data]=\"card\"\n (cardAction)=\"onCardClick($event)\"\n ></sdc-card-mini>\n </div>\n </li>\n }\n </ul>\n\n @if (options().enableSideButtons && options().pagination.show) {\n @if (!isMobile) {\n <sdc-button\n width=\"3rem\"\n [disabled]=\"isLastPage()\"\n (clicked)=\"nextPage()\"\n class=\"absolute right-0 top-50 transform -translate-y-50 z-1\"\n type=\"button\"\n icon=\"fas fa-arrow-right\"\n [attr.aria-label]=\"'platform.datacore.accessibility.next_page' | translate\"\n ></sdc-button>\n }\n }\n </div>\n } @else if (!isLoading()) {\n <sdc-empty-state\n id=\"cardlist-empty\"\n iconClass=\"fa fa-inbox\"\n [title]=\"emptyTitle()\"\n [description]=\"emptyText()\"\n class=\"sdc-cardlist-empty-state\"\n [attr.aria-label]=\"(emptyTitle() | translate) + ' - ' + (emptyText() | translate)\"\n ></sdc-empty-state>\n }\n\n @if (options().pagination.show) {\n <nav\n class=\"flex justify-content-between sdc-paginator sdc-card-list__paginator\"\n [class.justify-content-center]=\"isMobile || isTablet\"\n [class.sdc-card-list__paginator--side-buttons]=\"!isMobile && options().enableSideButtons\"\n [attr.aria-label]=\"'platform.datacore.accessibility.pagination' | translate\"\n >\n <sdc-paginator\n class=\"w-full\"\n (pageChange)=\"onChangePaginator($event)\"\n [first]=\"page().first\"\n [rows]=\"page().rows\"\n [rowsPerPageOptions]=\"options().pagination.rowsPerPageOptions\"\n [showRowsPerPageSelector]=\"options().pagination.showRowsPerPageSelector\"\n [totalRecords]=\"filtered().length\"\n [totalRecordsLabel]=\"totalRecordsLabel()\"\n [isMobile]=\"isMobile\"\n ></sdc-paginator>\n </nav>\n }\n </sdc-loading-state>\n </div>\n</section>\n", styles: [":host{display:block}.sdc-card-list{min-height:var(--sdc-card-list-min-height, 25rem);min-width:var(--sdc-card-list-min-width, 17rem);align-content:var(--sdc-card-list-align-content, center)}.sdc-card-list ul{list-style:none;padding:0;margin:0}.sdc-card-list__viewport--side-buttons{padding-inline:var(--sdc-card-list-side-offset, 0rem)}.sdc-card-list__grid.grid{margin:calc(-1 * var(--sdc-card-list-gutter, .5rem))!important}.sdc-card-list__grid>li{padding:var(--sdc-card-list-gutter, .5rem)!important}.sdc-card-list__col{display:flex}.sdc-card-list__col>*{width:100%}.sdc-card-mini--skeleton{width:100%;min-height:var(--sdc-card-min-height, 19rem);border-radius:var(--sdc-formfield-border-radius);border:var(--sdc-surface-border);background:var(--sdc-surface-0, #fff);display:block;box-sizing:border-box}.sdc-card-list__paginator{width:100%;padding-top:var(--sdc-card-list-paginator-padding-top, 1rem);padding-inline:var(--sdc-card-list-paginator-padding-x, 0rem)}.sdc-card-list__paginator--side-buttons{padding-inline:calc(var(--sdc-card-list-paginator-padding-x, 0rem) + var(--sdc-card-list-side-offset, 0rem))}.sdc-cardlist-empty-state{width:100%;min-height:var(--sdc-card-list-empty-min-height, 19rem);border:var(--sdc-surface-border);border-radius:var(--sdc-formfield-border-radius);display:flex;align-items:center;justify-content:center;padding:1rem}@media screen and (min-width: 1200px){.xl\\:col-5th{flex:0 0 20%;max-width:20%}}@media screen and (min-width: 1400px){.\\32xl\\:col-5th{flex:0 0 20%;max-width:20%}}\n"] }]
|
|
144
141
|
}], propDecorators: { data: [{
|
|
145
142
|
type: Input
|
|
146
143
|
}], loading: [{
|
|
@@ -150,4 +147,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
150
147
|
}], cardButtonClick: [{
|
|
151
148
|
type: Output
|
|
152
149
|
}] } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvY2FyZC1saXN0L2NhcmQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NhcmQtbGlzdC9jYXJkLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFFBQVEsRUFDUixNQUFNLEVBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRzlILE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQWtCMUQsTUFBTSxPQUFPLGlCQUFpQjtJQUNuQixJQUFJLEdBQVcsRUFBRSxDQUFDO0lBRTNCLElBQ0ksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFUSxNQUFNLEdBQW9CLHlCQUF5QixDQUFDO0lBRW5ELGVBQWUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRWxDLFFBQVEsR0FBRyxRQUFRLEVBQUUsQ0FBQztJQUN0QixRQUFRLEdBQUcsUUFBUSxFQUFFLENBQUM7SUFFeEIsWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUzQixPQUFPLEdBQUcsTUFBTSxDQUFrQix5QkFBeUIsQ0FBQyxDQUFDO0lBQzdELGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0QsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVoRSxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQy9CLEtBQUssRUFBRSxvQkFBb0I7UUFDM0IsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxVQUFVLENBQUMsV0FBVyxJQUFJLGtCQUFrQixDQUFDLENBQUM7S0FDdkgsQ0FBQyxDQUFDO0lBRWdCLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssS0FBSyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3pFLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU5RixHQUFHLEdBQUcsTUFBTSxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLFFBQVEsR0FBRyxNQUFNLENBQVMsRUFBRSxDQUFDLENBQUM7SUFFOUIsWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQztJQUVuRixhQUFhLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUMvQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDOUYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztRQUMzRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RCxDQUFDLENBQUMsQ0FBQztJQUVnQixTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUMzQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFFNUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7UUFDdEYsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFFSyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBRXhCLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDM0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFUyxTQUFTO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxLQUFxQjtRQUMvQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUM1QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ1osS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLElBQUksb0JBQW9CO1lBQzFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJO1NBQ3JDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxRQUFRO1FBQ2hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFcEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxHQUFHLEtBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFUyxRQUFRO1FBQ2hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFcEMsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLG9CQUFvQixFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0lBRVMsV0FBVyxDQUFDLElBQVU7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxJQUFJLGtCQUFrQixDQUFDO1FBQ3BHLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixNQUFNLElBQUksR0FBRyx5QkFBeUIsQ0FBQztRQUN2QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLHlCQUF5QixDQUFDO1FBRXJELE1BQU0sTUFBTSxHQUFvQjtZQUM5QixHQUFHLElBQUk7WUFDUCxHQUFHLEdBQUc7WUFDTixLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRTtZQUN0RCxVQUFVLEVBQUUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUNyRSxVQUFVLEVBQUUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsRUFBRTtZQUNyRSxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRTtTQUN2RCxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0IsQ0FBQzt3R0FuSlUsaUJBQWlCOzRGQUFqQixpQkFBaUIsK01DM0M5QixrNUlBc0dBLDRpRER2RUksWUFBWSxtSUFDWixpQkFBaUIsK0dBQ2pCLGVBQWUsNEZBQ2YsZUFBZSw4U0FDZixrQkFBa0IsZ05BQ2xCLG1CQUFtQixtWEFDbkIscUJBQXFCOzs0RkFNWixpQkFBaUI7a0JBaEI3QixTQUFTOytCQUNFLGVBQWUsY0FDYixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIscUJBQXFCO3FCQUN0QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsSUFBSTtzQkFBWixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFLRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgY29tcHV0ZWQsXG4gIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBERUZBVUxUX0NBUkRfTElTVF9PUFRJT05TIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcvY2FyZC50eXBlLmNvbmZpZyc7XG5pbXBvcnQgeyBDQVJEX0xJU1RfRklSU1RfUEFHRSwgQ0FSRF9MSVNUX01JTl9ST1dTLCBDQVJEX0xJU1RfTUlOX1NLRUxFVE9OX0NBUkRTIH0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvY2FyZC1saXN0LmNvbnN0JztcbmltcG9ydCB7IENhcmQsIENhcmRMaXN0T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvY2FyZC50eXBlJztcbmltcG9ydCB0eXBlIHsgUGFnaW5hdG9yU3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3BhZ2luYXRvci50eXBlJztcbmltcG9ydCB7IGlzTW9iaWxlLCBpc1RhYmxldCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvbGF5b3V0LnV0aWwnO1xuaW1wb3J0IHsgc3RhYmxlU3RyaW5naWZ5IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IExvYWRpbmdTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRpbmctc3RhdGUvbG9hZGluZy1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FyZE1pbmlDb21wb25lbnQgfSBmcm9tICcuL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtY2FyZC1saXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDYXJkTWluaUNvbXBvbmVudCxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFBhZ2luYXRvckNvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIExvYWRpbmdTdGF0ZUNvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhcmQtbGlzdC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIENhcmRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBEb0NoZWNrIHtcbiAgQElucHV0KCkgZGF0YTogQ2FyZFtdID0gW107XG5cbiAgQElucHV0KClcbiAgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxvYWRpbmdTdGF0ZS5zZXQoISF2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKSBjb25maWc6IENhcmRMaXN0T3B0aW9ucyA9IERFRkFVTFRfQ0FSRF9MSVNUX09QVElPTlM7XG5cbiAgQE91dHB1dCgpIGNhcmRCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FyZD4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNNb2JpbGUgPSBpc01vYmlsZSgpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNUYWJsZXQgPSBpc1RhYmxldCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9hZGluZ1N0YXRlID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IHNpZ25hbDxDYXJkTGlzdE9wdGlvbnM+KERFRkFVTFRfQ0FSRF9MSVNUX09QVElPTlMpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG90YWxSZWNvcmRzTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKS50YWJsZT8udG90YWxSZWNvcmRzTGFiZWwgPz8gJycpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1wdHlUaXRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpLmVtcHR5Py50aXRsZSA/PyAnJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBlbXB0eVRleHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKS5lbXB0eT8ubWVzc2FnZSA/PyAnJyk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZ2UgPSBzaWduYWwoe1xuICAgIGZpcnN0OiBDQVJEX0xJU1RfRklSU1RfUEFHRSxcbiAgICByb3dzOiBNYXRoLm1heChDQVJEX0xJU1RfTUlOX1JPV1MsIE1hdGgudHJ1bmMoREVGQVVMVF9DQVJEX0xJU1RfT1BUSU9OUy5wYWdpbmF0aW9uLnJvd3NQZXJQYWdlID8/IENBUkRfTElTVF9NSU5fUk9XUykpXG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpc0ZpcnN0UGFnZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucGFnZSgpLmZpcnN0ID09PSBDQVJEX0xJU1RfRklSU1RfUEFHRSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc0xhc3RQYWdlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wYWdlKCkuZmlyc3QgKyB0aGlzLnBhZ2UoKS5yb3dzID49IHRoaXMuZmlsdGVyZWQoKS5sZW5ndGgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmF3ID0gc2lnbmFsPENhcmRbXT4oW10pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyZWQgPSBzaWduYWw8Q2FyZFtdPihbXSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNob3dTa2VsZXRvbiA9IGNvbXB1dGVkKCgpID0+IHRoaXMubG9hZGluZ1N0YXRlKCkgJiYgdGhpcy5maWx0ZXJlZCgpLmxlbmd0aCA9PT0gMCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNrZWxldG9uQ2FyZHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgcm93cyA9IE1hdGgubWF4KENBUkRfTElTVF9NSU5fUk9XUywgTWF0aC50cnVuYyh0aGlzLnBhZ2UoKS5yb3dzID8/IENBUkRfTElTVF9NSU5fUk9XUykpO1xuICAgIGNvbnN0IHRvdGFsID0gTWF0aC5tYXgocm93cywgQ0FSRF9MSVNUX01JTl9TS0VMRVRPTl9DQVJEUyk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IHRvdGFsIH0sIChfLCBpbmRleCkgPT4gaW5kZXgpO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFnZWREYXRhID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmZpbHRlcmVkKCk7XG4gICAgY29uc3Qgc2hvdyA9IHRoaXMub3B0aW9ucygpLnBhZ2luYXRpb24uc2hvdztcblxuICAgIGlmICghc2hvdykge1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfVxuXG4gICAgY29uc3QgeyBmaXJzdCwgcm93cyB9ID0gdGhpcy5wYWdlKCk7XG4gICAgY29uc3Qgc2FmZVJvd3MgPSBNYXRoLm1heChDQVJEX0xJU1RfTUlOX1JPV1MsIE1hdGgudHJ1bmMocm93cyA/PyBDQVJEX0xJU1RfTUlOX1JPV1MpKTtcbiAgICByZXR1cm4gbGlzdC5zbGljZShmaXJzdCwgZmlyc3QgKyBzYWZlUm93cyk7XG4gIH0pO1xuXG4gIHByaXZhdGUgY29uZmlnSGFzaCA9ICcnO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGF0YSddKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZGF0YSA/PyBbXTtcbiAgICAgIHRoaXMucmF3LnNldCh2YWx1ZSk7XG4gICAgICB0aGlzLmZpbHRlcmVkLnNldCh2YWx1ZSk7XG4gICAgICB0aGlzLnBhZ2Uuc2V0KHsgZmlyc3Q6IENBUkRfTElTVF9GSVJTVF9QQUdFLCByb3dzOiB0aGlzLnBhZ2UoKS5yb3dzIH0pO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgdGhpcy5hcHBseUNvbmZpZ09wdGlvbnMoKTtcbiAgICAgIHRoaXMucmVzZXRQYWdlRm9yQ29uZmlnKCk7XG4gICAgICB0aGlzLmNvbmZpZ0hhc2ggPSBzdGFibGVTdHJpbmdpZnkodGhpcy5jb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBjb25zdCBuZXh0SGFzaCA9IHN0YWJsZVN0cmluZ2lmeSh0aGlzLmNvbmZpZyk7XG5cbiAgICBpZiAobmV4dEhhc2ggIT09IHRoaXMuY29uZmlnSGFzaCkge1xuICAgICAgdGhpcy5jb25maWdIYXNoID0gbmV4dEhhc2g7XG4gICAgICB0aGlzLmFwcGx5Q29uZmlnT3B0aW9ucygpO1xuICAgICAgdGhpcy5yZXNldFBhZ2VGb3JDb25maWcoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRpbmdTdGF0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlUGFnaW5hdG9yKGV2ZW50OiBQYWdpbmF0b3JTdGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IHNob3cgPSB0aGlzLm9wdGlvbnMoKS5wYWdpbmF0aW9uLnNob3c7XG4gICAgaWYgKCFzaG93KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYWdlLnNldCh7XG4gICAgICBmaXJzdDogZXZlbnQuZmlyc3QgPz8gQ0FSRF9MSVNUX0ZJUlNUX1BBR0UsXG4gICAgICByb3dzOiBldmVudC5yb3dzID8/IHRoaXMucGFnZSgpLnJvd3NcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzaG93ID0gdGhpcy5vcHRpb25zKCkucGFnaW5hdGlvbi5zaG93O1xuICAgIGlmICghc2hvdykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MgfSA9IHRoaXMucGFnZSgpO1xuXG4gICAgaWYgKHRoaXMuZmlsdGVyZWQoKS5sZW5ndGggPiBmaXJzdCArIHJvd3MpIHtcbiAgICAgIHRoaXMucGFnZS5zZXQoeyBmaXJzdDogZmlyc3QgKyByb3dzLCByb3dzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2UGFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzaG93ID0gdGhpcy5vcHRpb25zKCkucGFnaW5hdGlvbi5zaG93O1xuICAgIGlmICghc2hvdykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MgfSA9IHRoaXMucGFnZSgpO1xuXG4gICAgaWYgKGZpcnN0IC0gcm93cyA+PSBDQVJEX0xJU1RfRklSU1RfUEFHRSkge1xuICAgICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiBmaXJzdCAtIHJvd3MsIHJvd3MgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2FyZENsaWNrKGNhcmQ6IENhcmQpOiB2b2lkIHtcbiAgICB0aGlzLmNhcmRCdXR0b25DbGljay5lbWl0KGNhcmQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFBhZ2VGb3JDb25maWcoKTogdm9pZCB7XG4gICAgY29uc3Qgcm93c1BlclBhZ2UgPSB0aGlzLm9wdGlvbnMoKS5wYWdpbmF0aW9uLnJvd3NQZXJQYWdlID8/IHRoaXMucGFnZSgpLnJvd3MgPz8gQ0FSRF9MSVNUX01JTl9ST1dTO1xuICAgIGNvbnN0IHJvd3MgPSBNYXRoLm1heChDQVJEX0xJU1RfTUlOX1JPV1MsIE1hdGgudHJ1bmMocm93c1BlclBhZ2UgfHwgQ0FSRF9MSVNUX01JTl9ST1dTKSk7XG4gICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiBDQVJEX0xJU1RfRklSU1RfUEFHRSwgcm93cyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlDb25maWdPcHRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGJhc2UgPSBERUZBVUxUX0NBUkRfTElTVF9PUFRJT05TO1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnID8/IERFRkFVTFRfQ0FSRF9MSVNUX09QVElPTlM7XG5cbiAgICBjb25zdCBtZXJnZWQ6IENhcmRMaXN0T3B0aW9ucyA9IHtcbiAgICAgIC4uLmJhc2UsXG4gICAgICAuLi5jZmcsXG4gICAgICB0YWJsZTogeyAuLi4oYmFzZS50YWJsZSA/PyB7fSksIC4uLihjZmcudGFibGUgPz8ge30pIH0sXG4gICAgICBwYWdpbmF0aW9uOiB7IC4uLihiYXNlLnBhZ2luYXRpb24gPz8ge30pLCAuLi4oY2ZnLnBhZ2luYXRpb24gPz8ge30pIH0sXG4gICAgICBjdXN0b21DYXJkOiB7IC4uLihiYXNlLmN1c3RvbUNhcmQgPz8ge30pLCAuLi4oY2ZnLmN1c3RvbUNhcmQgPz8ge30pIH0sXG4gICAgICBlbXB0eTogeyAuLi4oYmFzZS5lbXB0eSA/PyB7fSksIC4uLihjZmcuZW1wdHkgPz8ge30pIH1cbiAgICB9O1xuXG4gICAgdGhpcy5vcHRpb25zLnNldChtZXJnZWQpO1xuICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cInNkYy1jYXJkLWxpc3RcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmNhcmRfbGlzdCcgfCB0cmFuc2xhdGVcIj5cbiAgPGRpdiBjbGFzcz1cInNkYy1jYXJkLWxpc3RfX3dyYXBwZXJcIj5cbiAgICA8c2RjLWxvYWRpbmctc3RhdGVcbiAgICAgIFtsb2FkaW5nXT1cImlzTG9hZGluZygpXCJcbiAgICAgIFtibG9ja1dpbmRvd109XCJmYWxzZVwiXG4gICAgICBbaW5kaWNhdG9yXT1cIidkb3RzJ1wiXG4gICAgICBjbGFzcz1cInNkYy1jYXJkbGlzdC1sb2FkaW5nLXN0YXRlXCJcbiAgICAgIFtibG9ja0RlbGF5TXNdPVwiMFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmxvYWRpbmcnIHwgdHJhbnNsYXRlXCJcbiAgICA+XG4gICAgICBAaWYgKHNob3dTa2VsZXRvbigpKSB7XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInJlbGF0aXZlIHNkYy1jYXJkLWxpc3RfX3ZpZXdwb3J0XCJcbiAgICAgICAgICBbY2xhc3Muc2RjLWNhcmQtbGlzdF9fdmlld3BvcnQtLXNpZGUtYnV0dG9uc109XCIhaXNNb2JpbGUgJiYgb3B0aW9ucygpLmVuYWJsZVNpZGVCdXR0b25zICYmIG9wdGlvbnMoKS5wYWdpbmF0aW9uLnNob3dcIlxuICAgICAgICA+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiZ3JpZCBmbGV4LTEgc2RjLWNhcmQtbGlzdF9fZ3JpZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkuY2FyZF9ncmlkJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgQGZvciAoaSBvZiBza2VsZXRvbkNhcmRzKCk7IHRyYWNrIGkpIHtcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiY29sLTEyIG1kOmNvbC02IGxnOmNvbC00IHhsOmNvbC01dGggc2RjLWNhcmQtbGlzdF9fY29sXCI+XG4gICAgICAgICAgICAgICAgPGFydGljbGUgY2xhc3M9XCJzZGMtY2FyZC1taW5pIHNkYy1jYXJkLW1pbmktLXNrZWxldG9uIGgtZnVsbFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvYXJ0aWNsZT5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH0gQGVsc2UgaWYgKHBhZ2VkRGF0YSgpLmxlbmd0aCkge1xuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJyZWxhdGl2ZSBzZGMtY2FyZC1saXN0X192aWV3cG9ydFwiXG4gICAgICAgICAgW2NsYXNzLnNkYy1jYXJkLWxpc3RfX3ZpZXdwb3J0LS1zaWRlLWJ1dHRvbnNdPVwiIWlzTW9iaWxlICYmIG9wdGlvbnMoKS5lbmFibGVTaWRlQnV0dG9ucyAmJiBvcHRpb25zKCkucGFnaW5hdGlvbi5zaG93XCJcbiAgICAgICAgPlxuICAgICAgICAgIEBpZiAob3B0aW9ucygpLmVuYWJsZVNpZGVCdXR0b25zICYmIG9wdGlvbnMoKS5wYWdpbmF0aW9uLnNob3cpIHtcbiAgICAgICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgICAgIHdpZHRoPVwiM3JlbVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiIWlzTW9iaWxlXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwicHJldlBhZ2UoKVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJpc0ZpcnN0UGFnZSgpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBsZWZ0LTAgdG9wLTUwIHRyYW5zZm9ybSAtdHJhbnNsYXRlLXktNTAgei0xXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGljb249XCJmYXMgZmEtYXJyb3ctbGVmdFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkucHJldmlvdXNfcGFnZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgPjwvc2RjLWJ1dHRvbj5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICA8dWwgY2xhc3M9XCJncmlkIGZsZXgtMSBzZGMtY2FyZC1saXN0X19ncmlkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5jYXJkX2dyaWQnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICBAZm9yIChjYXJkIG9mIHBhZ2VkRGF0YSgpOyB0cmFjayBjYXJkLmlkKSB7XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNiBsZzpjb2wtNCB4bDpjb2wtNXRoIHNkYy1jYXJkLWxpc3RfX2NvbFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLWZ1bGxcIj5cbiAgICAgICAgICAgICAgICAgIDxzZGMtY2FyZC1taW5pXG4gICAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnMoKS5jdXN0b21DYXJkXCJcbiAgICAgICAgICAgICAgICAgICAgW2RhdGFdPVwiY2FyZFwiXG4gICAgICAgICAgICAgICAgICAgIChjYXJkQWN0aW9uKT1cIm9uQ2FyZENsaWNrKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgPjwvc2RjLWNhcmQtbWluaT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3VsPlxuXG4gICAgICAgICAgQGlmIChvcHRpb25zKCkuZW5hYmxlU2lkZUJ1dHRvbnMgJiYgb3B0aW9ucygpLnBhZ2luYXRpb24uc2hvdykge1xuICAgICAgICAgICAgPHNkYy1idXR0b25cbiAgICAgICAgICAgICAgd2lkdGg9XCIzcmVtXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhaXNNb2JpbGVcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMYXN0UGFnZSgpXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwibmV4dFBhZ2UoKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgcmlnaHQtMCB0b3AtNTAgdHJhbnNmb3JtIC10cmFuc2xhdGUteS01MCB6LTFcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgaWNvbj1cImZhcyBmYS1hcnJvdy1yaWdodFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkubmV4dF9wYWdlJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9IEBlbHNlIGlmICghaXNMb2FkaW5nKCkpIHtcbiAgICAgICAgPHNkYy1lbXB0eS1zdGF0ZVxuICAgICAgICAgIGlkPVwiY2FyZGxpc3QtZW1wdHlcIlxuICAgICAgICAgIGljb25DbGFzcz1cImZhIGZhLWluYm94XCJcbiAgICAgICAgICBbdGl0bGVdPVwiZW1wdHlUaXRsZSgpXCJcbiAgICAgICAgICBbZGVzY3JpcHRpb25dPVwiZW1wdHlUZXh0KClcIlxuICAgICAgICAgIGNsYXNzPVwic2RjLWNhcmRsaXN0LWVtcHR5LXN0YXRlXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIihlbXB0eVRpdGxlKCkgfCB0cmFuc2xhdGUpICsgJyAtICcgKyAoZW1wdHlUZXh0KCkgfCB0cmFuc2xhdGUpXCJcbiAgICAgICAgPjwvc2RjLWVtcHR5LXN0YXRlPlxuICAgICAgfVxuXG4gICAgICBAaWYgKG9wdGlvbnMoKS5wYWdpbmF0aW9uLnNob3cpIHtcbiAgICAgICAgPG5hdlxuICAgICAgICAgIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBzZGMtcGFnaW5hdG9yIHNkYy1jYXJkLWxpc3RfX3BhZ2luYXRvclwiXG4gICAgICAgICAgW2NsYXNzLmp1c3RpZnktY29udGVudC1jZW50ZXJdPVwiaXNNb2JpbGUgfHwgaXNUYWJsZXRcIlxuICAgICAgICAgIFtjbGFzcy5zZGMtY2FyZC1saXN0X19wYWdpbmF0b3ItLXNpZGUtYnV0dG9uc109XCIhaXNNb2JpbGUgJiYgb3B0aW9ucygpLmVuYWJsZVNpZGVCdXR0b25zXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LnBhZ2luYXRpb24nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzZGMtcGFnaW5hdG9yXG4gICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvbkNoYW5nZVBhZ2luYXRvcigkZXZlbnQpXCJcbiAgICAgICAgICAgIFtmaXJzdF09XCJwYWdlKCkuZmlyc3RcIlxuICAgICAgICAgICAgW3Jvd3NdPVwicGFnZSgpLnJvd3NcIlxuICAgICAgICAgICAgW3Jvd3NQZXJQYWdlT3B0aW9uc109XCJvcHRpb25zKCkucGFnaW5hdGlvbi5yb3dzUGVyUGFnZU9wdGlvbnNcIlxuICAgICAgICAgICAgW3Nob3dSb3dzUGVyUGFnZVNlbGVjdG9yXT1cIm9wdGlvbnMoKS5wYWdpbmF0aW9uLnNob3dSb3dzUGVyUGFnZVNlbGVjdG9yXCJcbiAgICAgICAgICAgIFt0b3RhbFJlY29yZHNdPVwiZmlsdGVyZWQoKS5sZW5ndGhcIlxuICAgICAgICAgICAgW3RvdGFsUmVjb3Jkc0xhYmVsXT1cInRvdGFsUmVjb3Jkc0xhYmVsKClcIlxuICAgICAgICAgICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICAgICAgICA+PC9zZGMtcGFnaW5hdG9yPlxuICAgICAgICA8L25hdj5cbiAgICAgIH1cbiAgICA8L3NkYy1sb2FkaW5nLXN0YXRlPlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9zcmMvZmVhdHVyZXMvY2FyZC1saXN0L2NhcmQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWIvc3JjL2ZlYXR1cmVzL2NhcmQtbGlzdC9jYXJkLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBRU4sUUFBUSxFQUNSLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0UsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLDRCQUE0QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHOUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFpQjFELE1BQU0sT0FBTyxpQkFBaUI7SUFDbkIsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUUzQixJQUNJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUks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aGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgY29tcHV0ZWQsXG4gIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBERUZBVUxUX0NBUkRfTElTVF9PUFRJT05TIH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWcvY2FyZC50eXBlLmNvbmZpZyc7XG5pbXBvcnQgeyBDQVJEX0xJU1RfRklSU1RfUEFHRSwgQ0FSRF9MSVNUX01JTl9ST1dTLCBDQVJEX0xJU1RfTUlOX1NLRUxFVE9OX0NBUkRTIH0gZnJvbSAnLi4vLi4vY29yZS9jb25zdGFudHMvY2FyZC1saXN0LmNvbnN0JztcbmltcG9ydCB7IENhcmQsIENhcmRMaXN0T3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUvdHlwZXMvY2FyZC50eXBlJztcbmltcG9ydCB0eXBlIHsgUGFnaW5hdG9yU3RhdGUgfSBmcm9tICcuLi8uLi9jb3JlL3R5cGVzL3BhZ2luYXRvci50eXBlJztcbmltcG9ydCB7IGlzTW9iaWxlLCBpc1RhYmxldCB9IGZyb20gJy4uLy4uL2NvcmUvdXRpbHMvbGF5b3V0LnV0aWwnO1xuaW1wb3J0IHsgc3RhYmxlU3RyaW5naWZ5IH0gZnJvbSAnLi4vLi4vY29yZS91dGlscy9vYmplY3QudXRpbCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbXB0eVN0YXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IExvYWRpbmdTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2xvYWRpbmctc3RhdGUvbG9hZGluZy1zdGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi4vcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2FyZE1pbmlDb21wb25lbnQgfSBmcm9tICcuL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZGMtY2FyZC1saXN0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENhcmRNaW5pQ29tcG9uZW50LFxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgUGFnaW5hdG9yQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgTG9hZGluZ1N0YXRlQ29tcG9uZW50XG5dLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhcmQtbGlzdC5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIENhcmRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBEb0NoZWNrIHtcbiAgQElucHV0KCkgZGF0YTogQ2FyZFtdID0gW107XG5cbiAgQElucHV0KClcbiAgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmxvYWRpbmdTdGF0ZS5zZXQoISF2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKSBjb25maWc6IENhcmRMaXN0T3B0aW9ucyA9IERFRkFVTFRfQ0FSRF9MSVNUX09QVElPTlM7XG5cbiAgQE91dHB1dCgpIGNhcmRCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FyZD4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNNb2JpbGUgPSBpc01vYmlsZSgpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNUYWJsZXQgPSBpc1RhYmxldCgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9hZGluZ1N0YXRlID0gc2lnbmFsKGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IHNpZ25hbDxDYXJkTGlzdE9wdGlvbnM+KERFRkFVTFRfQ0FSRF9MSVNUX09QVElPTlMpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG90YWxSZWNvcmRzTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKS50YWJsZT8udG90YWxSZWNvcmRzTGFiZWwgPz8gJycpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZW1wdHlUaXRsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMub3B0aW9ucygpLmVtcHR5Py50aXRsZSA/PyAnJyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBlbXB0eVRleHQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9wdGlvbnMoKS5lbXB0eT8ubWVzc2FnZSA/PyAnJyk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBhZ2UgPSBzaWduYWwoe1xuICAgIGZpcnN0OiBDQVJEX0xJU1RfRklSU1RfUEFHRSxcbiAgICByb3dzOiBNYXRoLm1heChDQVJEX0xJU1RfTUlOX1JPV1MsIE1hdGgudHJ1bmMoREVGQVVMVF9DQVJEX0xJU1RfT1BUSU9OUy5wYWdpbmF0aW9uLnJvd3NQZXJQYWdlID8/IENBUkRfTElTVF9NSU5fUk9XUykpXG4gIH0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpc0ZpcnN0UGFnZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucGFnZSgpLmZpcnN0ID09PSBDQVJEX0xJU1RfRklSU1RfUEFHRSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc0xhc3RQYWdlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5wYWdlKCkuZmlyc3QgKyB0aGlzLnBhZ2UoKS5yb3dzID49IHRoaXMuZmlsdGVyZWQoKS5sZW5ndGgpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmF3ID0gc2lnbmFsPENhcmRbXT4oW10pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsdGVyZWQgPSBzaWduYWw8Q2FyZFtdPihbXSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNob3dTa2VsZXRvbiA9IGNvbXB1dGVkKCgpID0+IHRoaXMubG9hZGluZ1N0YXRlKCkgJiYgdGhpcy5maWx0ZXJlZCgpLmxlbmd0aCA9PT0gMCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNrZWxldG9uQ2FyZHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgcm93cyA9IE1hdGgubWF4KENBUkRfTElTVF9NSU5fUk9XUywgTWF0aC50cnVuYyh0aGlzLnBhZ2UoKS5yb3dzID8/IENBUkRfTElTVF9NSU5fUk9XUykpO1xuICAgIGNvbnN0IHRvdGFsID0gTWF0aC5tYXgocm93cywgQ0FSRF9MSVNUX01JTl9TS0VMRVRPTl9DQVJEUyk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IHRvdGFsIH0sIChfLCBpbmRleCkgPT4gaW5kZXgpO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFnZWREYXRhID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGxpc3QgPSB0aGlzLmZpbHRlcmVkKCk7XG4gICAgY29uc3Qgc2hvdyA9IHRoaXMub3B0aW9ucygpLnBhZ2luYXRpb24uc2hvdztcblxuICAgIGlmICghc2hvdykge1xuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfVxuXG4gICAgY29uc3QgeyBmaXJzdCwgcm93cyB9ID0gdGhpcy5wYWdlKCk7XG4gICAgY29uc3Qgc2FmZVJvd3MgPSBNYXRoLm1heChDQVJEX0xJU1RfTUlOX1JPV1MsIE1hdGgudHJ1bmMocm93cyA/PyBDQVJEX0xJU1RfTUlOX1JPV1MpKTtcbiAgICByZXR1cm4gbGlzdC5zbGljZShmaXJzdCwgZmlyc3QgKyBzYWZlUm93cyk7XG4gIH0pO1xuXG4gIHByaXZhdGUgY29uZmlnSGFzaCA9ICcnO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snZGF0YSddKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZGF0YSA/PyBbXTtcbiAgICAgIHRoaXMucmF3LnNldCh2YWx1ZSk7XG4gICAgICB0aGlzLmZpbHRlcmVkLnNldCh2YWx1ZSk7XG4gICAgICB0aGlzLnBhZ2Uuc2V0KHsgZmlyc3Q6IENBUkRfTElTVF9GSVJTVF9QQUdFLCByb3dzOiB0aGlzLnBhZ2UoKS5yb3dzIH0pO1xuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzWydjb25maWcnXSkge1xuICAgICAgdGhpcy5hcHBseUNvbmZpZ09wdGlvbnMoKTtcbiAgICAgIHRoaXMucmVzZXRQYWdlRm9yQ29uZmlnKCk7XG4gICAgICB0aGlzLmNvbmZpZ0hhc2ggPSBzdGFibGVTdHJpbmdpZnkodGhpcy5jb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBjb25zdCBuZXh0SGFzaCA9IHN0YWJsZVN0cmluZ2lmeSh0aGlzLmNvbmZpZyk7XG5cbiAgICBpZiAobmV4dEhhc2ggIT09IHRoaXMuY29uZmlnSGFzaCkge1xuICAgICAgdGhpcy5jb25maWdIYXNoID0gbmV4dEhhc2g7XG4gICAgICB0aGlzLmFwcGx5Q29uZmlnT3B0aW9ucygpO1xuICAgICAgdGhpcy5yZXNldFBhZ2VGb3JDb25maWcoKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRpbmdTdGF0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2hhbmdlUGFnaW5hdG9yKGV2ZW50OiBQYWdpbmF0b3JTdGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IHNob3cgPSB0aGlzLm9wdGlvbnMoKS5wYWdpbmF0aW9uLnNob3c7XG4gICAgaWYgKCFzaG93KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5wYWdlLnNldCh7XG4gICAgICBmaXJzdDogZXZlbnQuZmlyc3QgPz8gQ0FSRF9MSVNUX0ZJUlNUX1BBR0UsXG4gICAgICByb3dzOiBldmVudC5yb3dzID8/IHRoaXMucGFnZSgpLnJvd3NcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBuZXh0UGFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzaG93ID0gdGhpcy5vcHRpb25zKCkucGFnaW5hdGlvbi5zaG93O1xuICAgIGlmICghc2hvdykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MgfSA9IHRoaXMucGFnZSgpO1xuXG4gICAgaWYgKHRoaXMuZmlsdGVyZWQoKS5sZW5ndGggPiBmaXJzdCArIHJvd3MpIHtcbiAgICAgIHRoaXMucGFnZS5zZXQoeyBmaXJzdDogZmlyc3QgKyByb3dzLCByb3dzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwcmV2UGFnZSgpOiB2b2lkIHtcbiAgICBjb25zdCBzaG93ID0gdGhpcy5vcHRpb25zKCkucGFnaW5hdGlvbi5zaG93O1xuICAgIGlmICghc2hvdykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgZmlyc3QsIHJvd3MgfSA9IHRoaXMucGFnZSgpO1xuXG4gICAgaWYgKGZpcnN0IC0gcm93cyA+PSBDQVJEX0xJU1RfRklSU1RfUEFHRSkge1xuICAgICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiBmaXJzdCAtIHJvd3MsIHJvd3MgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG9uQ2FyZENsaWNrKGNhcmQ6IENhcmQpOiB2b2lkIHtcbiAgICB0aGlzLmNhcmRCdXR0b25DbGljay5lbWl0KGNhcmQpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldFBhZ2VGb3JDb25maWcoKTogdm9pZCB7XG4gICAgY29uc3Qgcm93c1BlclBhZ2UgPSB0aGlzLm9wdGlvbnMoKS5wYWdpbmF0aW9uLnJvd3NQZXJQYWdlID8/IHRoaXMucGFnZSgpLnJvd3MgPz8gQ0FSRF9MSVNUX01JTl9ST1dTO1xuICAgIGNvbnN0IHJvd3MgPSBNYXRoLm1heChDQVJEX0xJU1RfTUlOX1JPV1MsIE1hdGgudHJ1bmMocm93c1BlclBhZ2UgfHwgQ0FSRF9MSVNUX01JTl9ST1dTKSk7XG4gICAgdGhpcy5wYWdlLnNldCh7IGZpcnN0OiBDQVJEX0xJU1RfRklSU1RfUEFHRSwgcm93cyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlDb25maWdPcHRpb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGJhc2UgPSBERUZBVUxUX0NBUkRfTElTVF9PUFRJT05TO1xuICAgIGNvbnN0IGNmZyA9IHRoaXMuY29uZmlnID8/IERFRkFVTFRfQ0FSRF9MSVNUX09QVElPTlM7XG5cbiAgICBjb25zdCBtZXJnZWQ6IENhcmRMaXN0T3B0aW9ucyA9IHtcbiAgICAgIC4uLmJhc2UsXG4gICAgICAuLi5jZmcsXG4gICAgICB0YWJsZTogeyAuLi4oYmFzZS50YWJsZSA/PyB7fSksIC4uLihjZmcudGFibGUgPz8ge30pIH0sXG4gICAgICBwYWdpbmF0aW9uOiB7IC4uLihiYXNlLnBhZ2luYXRpb24gPz8ge30pLCAuLi4oY2ZnLnBhZ2luYXRpb24gPz8ge30pIH0sXG4gICAgICBjdXN0b21DYXJkOiB7IC4uLihiYXNlLmN1c3RvbUNhcmQgPz8ge30pLCAuLi4oY2ZnLmN1c3RvbUNhcmQgPz8ge30pIH0sXG4gICAgICBlbXB0eTogeyAuLi4oYmFzZS5lbXB0eSA/PyB7fSksIC4uLihjZmcuZW1wdHkgPz8ge30pIH1cbiAgICB9O1xuXG4gICAgdGhpcy5vcHRpb25zLnNldChtZXJnZWQpO1xuICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cInNkYy1jYXJkLWxpc3RcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmNhcmRfbGlzdCcgfCB0cmFuc2xhdGVcIj5cbiAgPGRpdiBjbGFzcz1cInNkYy1jYXJkLWxpc3RfX3dyYXBwZXJcIj5cbiAgICA8c2RjLWxvYWRpbmctc3RhdGVcbiAgICAgIFtsb2FkaW5nXT1cImlzTG9hZGluZygpXCJcbiAgICAgIFtibG9ja1dpbmRvd109XCJmYWxzZVwiXG4gICAgICBbaW5kaWNhdG9yXT1cIidkb3RzJ1wiXG4gICAgICBjbGFzcz1cInNkYy1jYXJkbGlzdC1sb2FkaW5nLXN0YXRlXCJcbiAgICAgIFtibG9ja0RlbGF5TXNdPVwiMFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmxvYWRpbmcnIHwgdHJhbnNsYXRlXCJcbiAgICAgID5cbiAgICAgIEBpZiAoc2hvd1NrZWxldG9uKCkpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwicmVsYXRpdmUgc2RjLWNhcmQtbGlzdF9fdmlld3BvcnRcIlxuICAgICAgICAgIFtjbGFzcy5zZGMtY2FyZC1saXN0X192aWV3cG9ydC0tc2lkZS1idXR0b25zXT1cIiFpc01vYmlsZSAmJiBvcHRpb25zKCkuZW5hYmxlU2lkZUJ1dHRvbnMgJiYgb3B0aW9ucygpLnBhZ2luYXRpb24uc2hvd1wiXG4gICAgICAgICAgPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImdyaWQgZmxleC0xIHNkYy1jYXJkLWxpc3RfX2dyaWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmNhcmRfZ3JpZCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIEBmb3IgKGkgb2Ygc2tlbGV0b25DYXJkcygpOyB0cmFjayBpKSB7XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cImNvbC0xMiBtZDpjb2wtNiBsZzpjb2wtNCB4bDpjb2wtNXRoIHNkYy1jYXJkLWxpc3RfX2NvbFwiPlxuICAgICAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPVwic2RjLWNhcmQtbWluaSBzZGMtY2FyZC1taW5pLS1za2VsZXRvbiBoLWZ1bGxcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2FydGljbGU+XG4gICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC91bD5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9IEBlbHNlIGlmIChwYWdlZERhdGEoKS5sZW5ndGgpIHtcbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwicmVsYXRpdmUgc2RjLWNhcmQtbGlzdF9fdmlld3BvcnRcIlxuICAgICAgICAgIFtjbGFzcy5zZGMtY2FyZC1saXN0X192aWV3cG9ydC0tc2lkZS1idXR0b25zXT1cIiFpc01vYmlsZSAmJiBvcHRpb25zKCkuZW5hYmxlU2lkZUJ1dHRvbnMgJiYgb3B0aW9ucygpLnBhZ2luYXRpb24uc2hvd1wiXG4gICAgICAgICAgPlxuICAgICAgICAgIEBpZiAob3B0aW9ucygpLmVuYWJsZVNpZGVCdXR0b25zICYmIG9wdGlvbnMoKS5wYWdpbmF0aW9uLnNob3cpIHtcbiAgICAgICAgICAgIEBpZiAoIWlzTW9iaWxlKSB7XG4gICAgICAgICAgICAgIDxzZGMtYnV0dG9uXG4gICAgICAgICAgICAgICAgd2lkdGg9XCIzcmVtXCJcbiAgICAgICAgICAgICAgICAoY2xpY2tlZCk9XCJwcmV2UGFnZSgpXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2UoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBsZWZ0LTAgdG9wLTUwIHRyYW5zZm9ybSAtdHJhbnNsYXRlLXktNTAgei0xXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBpY29uPVwiZmFzIGZhLWFycm93LWxlZnRcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtLmRhdGFjb3JlLmFjY2Vzc2liaWxpdHkucHJldmlvdXNfcGFnZScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICA+PC9zZGMtYnV0dG9uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIDx1bCBjbGFzcz1cImdyaWQgZmxleC0xIHNkYy1jYXJkLWxpc3RfX2dyaWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybS5kYXRhY29yZS5hY2Nlc3NpYmlsaXR5LmNhcmRfZ3JpZCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgIEBmb3IgKGNhcmQgb2YgcGFnZWREYXRhKCk7IHRyYWNrIGNhcmQuaWQpIHtcbiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiY29sLTEyIG1kOmNvbC02IGxnOmNvbC00IHhsOmNvbC01dGggc2RjLWNhcmQtbGlzdF9fY29sXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtZnVsbFwiPlxuICAgICAgICAgICAgICAgICAgPHNkYy1jYXJkLW1pbmlcbiAgICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwib3B0aW9ucygpLmN1c3RvbUNhcmRcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJjYXJkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNhcmRBY3Rpb24pPVwib25DYXJkQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICA+PC9zZGMtY2FyZC1taW5pPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvdWw+XG5cbiAgICAgICAgICBAaWYgKG9wdGlvbnMoKS5lbmFibGVTaWRlQnV0dG9ucyAmJiBvcHRpb25zKCkucGFnaW5hdGlvbi5zaG93KSB7XG4gICAgICAgICAgICBAaWYgKCFpc01vYmlsZSkge1xuICAgICAgICAgICAgICA8c2RjLWJ1dHRvblxuICAgICAgICAgICAgICAgIHdpZHRoPVwiM3JlbVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTGFzdFBhZ2UoKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrZWQpPVwibmV4dFBhZ2UoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSByaWdodC0wIHRvcC01MCB0cmFuc2Zvcm0gLXRyYW5zbGF0ZS15LTUwIHotMVwiXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgaWNvbj1cImZhcyBmYS1hcnJvdy1yaWdodFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5uZXh0X3BhZ2UnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgPjwvc2RjLWJ1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgfSBAZWxzZSBpZiAoIWlzTG9hZGluZygpKSB7XG4gICAgICAgIDxzZGMtZW1wdHktc3RhdGVcbiAgICAgICAgICBpZD1cImNhcmRsaXN0LWVtcHR5XCJcbiAgICAgICAgICBpY29uQ2xhc3M9XCJmYSBmYS1pbmJveFwiXG4gICAgICAgICAgW3RpdGxlXT1cImVtcHR5VGl0bGUoKVwiXG4gICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cImVtcHR5VGV4dCgpXCJcbiAgICAgICAgICBjbGFzcz1cInNkYy1jYXJkbGlzdC1lbXB0eS1zdGF0ZVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIoZW1wdHlUaXRsZSgpIHwgdHJhbnNsYXRlKSArICcgLSAnICsgKGVtcHR5VGV4dCgpIHwgdHJhbnNsYXRlKVwiXG4gICAgICAgID48L3NkYy1lbXB0eS1zdGF0ZT5cbiAgICAgIH1cblxuICAgICAgQGlmIChvcHRpb25zKCkucGFnaW5hdGlvbi5zaG93KSB7XG4gICAgICAgIDxuYXZcbiAgICAgICAgICBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gc2RjLXBhZ2luYXRvciBzZGMtY2FyZC1saXN0X19wYWdpbmF0b3JcIlxuICAgICAgICAgIFtjbGFzcy5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXT1cImlzTW9iaWxlIHx8IGlzVGFibGV0XCJcbiAgICAgICAgICBbY2xhc3Muc2RjLWNhcmQtbGlzdF9fcGFnaW5hdG9yLS1zaWRlLWJ1dHRvbnNdPVwiIWlzTW9iaWxlICYmIG9wdGlvbnMoKS5lbmFibGVTaWRlQnV0dG9uc1wiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm0uZGF0YWNvcmUuYWNjZXNzaWJpbGl0eS5wYWdpbmF0aW9uJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgIDxzZGMtcGFnaW5hdG9yXG4gICAgICAgICAgICBjbGFzcz1cInctZnVsbFwiXG4gICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvbkNoYW5nZVBhZ2luYXRvcigkZXZlbnQpXCJcbiAgICAgICAgICAgIFtmaXJzdF09XCJwYWdlKCkuZmlyc3RcIlxuICAgICAgICAgICAgW3Jvd3NdPVwicGFnZSgpLnJvd3NcIlxuICAgICAgICAgICAgW3Jvd3NQZXJQYWdlT3B0aW9uc109XCJvcHRpb25zKCkucGFnaW5hdGlvbi5yb3dzUGVyUGFnZU9wdGlvbnNcIlxuICAgICAgICAgICAgW3Nob3dSb3dzUGVyUGFnZVNlbGVjdG9yXT1cIm9wdGlvbnMoKS5wYWdpbmF0aW9uLnNob3dSb3dzUGVyUGFnZVNlbGVjdG9yXCJcbiAgICAgICAgICAgIFt0b3RhbFJlY29yZHNdPVwiZmlsdGVyZWQoKS5sZW5ndGhcIlxuICAgICAgICAgICAgW3RvdGFsUmVjb3Jkc0xhYmVsXT1cInRvdGFsUmVjb3Jkc0xhYmVsKClcIlxuICAgICAgICAgICAgW2lzTW9iaWxlXT1cImlzTW9iaWxlXCJcbiAgICAgICAgICA+PC9zZGMtcGFnaW5hdG9yPlxuICAgICAgICA8L25hdj5cbiAgICAgIH1cbiAgICA8L3NkYy1sb2FkaW5nLXN0YXRlPlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==
|