@openmrs/ngx-formentry 3.0.1-pre.19 → 3.0.1-pre.25
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/bundles/openmrs-ngx-formentry.umd.js +78 -83
- package/bundles/openmrs-ngx-formentry.umd.js.map +1 -1
- package/bundles/openmrs-ngx-formentry.umd.min.js +1 -1
- package/bundles/openmrs-ngx-formentry.umd.min.js.map +1 -1
- package/components/check-box/checkbox.component.d.ts +1 -0
- package/components/ngx-datetime-picker/ngx-datetime-picker.component.d.ts +1 -0
- package/components/ngx-tabset/components/{tab-set.d.ts → ngx-tab-set.component.d.ts} +2 -2
- package/components/ngx-tabset/components/{tab.d.ts → tab.component.d.ts} +0 -0
- package/esm2015/components/appointments-overview/appointments-overview.component.js +2 -2
- package/esm2015/components/check-box/checkbox.component.js +3 -2
- package/esm2015/components/custom-component-wrapper/custom-component-wrapper.component.js +2 -2
- package/esm2015/components/custom-control-wrapper/custom-control-wrapper.component.js +2 -2
- package/esm2015/components/ngx-datetime-picker/ngx-datetime-picker.component.js +4 -2
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-body.component.js +2 -2
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-month-view.component.js +2 -2
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-multi-year-view.component.js +2 -2
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar-year-view.component.js +2 -2
- package/esm2015/components/ngx-pick-datetime/lib/date-time/calendar.component.js +2 -2
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-inline.component.js +2 -2
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time-picker-container.component.js +2 -2
- package/esm2015/components/ngx-pick-datetime/lib/date-time/date-time.class.js +1 -1
- package/esm2015/components/ngx-pick-datetime/lib/date-time/timer-box.component.js +2 -2
- package/esm2015/components/ngx-pick-datetime/lib/date-time/timer.component.js +2 -2
- package/esm2015/components/ngx-remote-select/ngx-remote-select.component.js +2 -2
- package/esm2015/components/ngx-tabset/components/ngx-tab-set.component.js +67 -0
- package/esm2015/components/ngx-tabset/components/tab.component.js +26 -0
- package/esm2015/components/ngx-tabset/modules/ngx-tabset.module.js +5 -5
- package/esm2015/components/number-input/number-input.component.js +2 -2
- package/esm2015/form-entry/error-renderer/error-renderer.component.js +2 -2
- package/esm2015/form-entry/form-factory/form-node.js +1 -1
- package/esm2015/form-entry/form-factory/question.factory.js +26 -1
- package/esm2015/form-entry/form-renderer/form-renderer.component.js +4 -37
- package/esm2015/form-entry/question-models/interfaces/base-options.js +1 -1
- package/esm2015/form-entry/question-models/question-base.js +1 -1
- package/esm2015/form-entry/services/historical-encounter-data.service.js +2 -2
- package/esm2015/openmrs-ngx-formentry.js +14 -15
- package/fesm2015/openmrs-ngx-formentry.js +60 -254
- package/fesm2015/openmrs-ngx-formentry.js.map +1 -1
- package/form-entry/form-renderer/form-renderer.component.d.ts +1 -1
- package/form-entry/question-models/interfaces/base-options.d.ts +1 -0
- package/form-entry/question-models/question-base.d.ts +3 -0
- package/openmrs-ngx-formentry.d.ts +23 -24
- package/openmrs-ngx-formentry.metadata.json +1 -1
- package/package.json +1 -1
- package/styles/ngx-formentry.css +1 -1
- package/esm2015/components/ngx-tabset/components/tab-set.js +0 -67
- package/esm2015/components/ngx-tabset/components/tab.js +0 -35
- package/esm2015/form-entry/form-renderer/form-renderer.component.css.js +0 -182
- package/form-entry/form-renderer/form-renderer.component.css.d.ts +0 -1
|
@@ -1,16 +1,10 @@
|
|
|
1
1
|
import { Component, Input, Inject } from '@angular/core';
|
|
2
|
-
// import 'hammerjs';
|
|
3
|
-
import { DEFAULT_STYLES } from './form-renderer.component.css';
|
|
4
2
|
import { DOCUMENT } from '@angular/common';
|
|
5
3
|
import { DataSources } from '../data-sources/data-sources';
|
|
6
4
|
import { NodeBase, GroupNode } from '../form-factory/form-node';
|
|
7
5
|
import { AfeFormGroup } from '../../abstract-controls-extension/afe-form-group';
|
|
8
6
|
import { ValidationFactory } from '../form-factory/validation.factory';
|
|
9
7
|
import { FormErrorsService } from '../services/form-errors.service';
|
|
10
|
-
// import { concat, of, Observable, Subject, BehaviorSubject } from 'rxjs';
|
|
11
|
-
// import * as _ from 'lodash';
|
|
12
|
-
// import { debounceTime, distinctUntilChanged, tap, switchMap, catchError, map } from 'rxjs/operators';
|
|
13
|
-
// import { QuestionBase } from '../question-models';
|
|
14
8
|
export class FormRendererComponent {
|
|
15
9
|
constructor(validationFactory, dataSources, formErrorsService, document) {
|
|
16
10
|
this.validationFactory = validationFactory;
|
|
@@ -61,30 +55,7 @@ export class FormRendererComponent {
|
|
|
61
55
|
if (this.node &&
|
|
62
56
|
this.node.question.extras &&
|
|
63
57
|
this.node.question.renderingType === 'remote-select') {
|
|
64
|
-
// let selectQuestion = this.node.form.searchNodeByQuestionId(this.node.question.key)[0];
|
|
65
58
|
this.dataSource = this.dataSources.dataSources[this.node.question.dataSource];
|
|
66
|
-
/*
|
|
67
|
-
let defaltValues = of([]);
|
|
68
|
-
if (this.dataSource.resolveSelectedValue(selectQuestion.control.value)) {
|
|
69
|
-
defaltValues = this.dataSource.resolveSelectedValue(selectQuestion.control.value).pipe(
|
|
70
|
-
catchError(() => of([])), // empty list on error
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
this.items$ = concat(
|
|
74
|
-
defaltValues,
|
|
75
|
-
this.itemsInput$.pipe(
|
|
76
|
-
debounceTime(200),
|
|
77
|
-
distinctUntilChanged(),
|
|
78
|
-
tap(() => this.itemsLoading = true),
|
|
79
|
-
switchMap(term => this.dataSource.searchOptions(term).pipe(
|
|
80
|
-
catchError(() => of([])), // empty list on error
|
|
81
|
-
tap(() => {
|
|
82
|
-
this.itemsLoading = false
|
|
83
|
-
})
|
|
84
|
-
))
|
|
85
|
-
)
|
|
86
|
-
);
|
|
87
|
-
*/
|
|
88
59
|
if (this.dataSource && this.node.question.dataSourceOptions) {
|
|
89
60
|
this.dataSource.dataSourceOptions = this.node.question.dataSourceOptions;
|
|
90
61
|
}
|
|
@@ -95,8 +66,6 @@ export class FormRendererComponent {
|
|
|
95
66
|
this.node.question.extras &&
|
|
96
67
|
this.node.question.renderingType === 'file') {
|
|
97
68
|
this.dataSource = this.dataSources.dataSources[this.node.question.dataSource];
|
|
98
|
-
// console.log('Key', this.node.question);
|
|
99
|
-
// console.log('Data source', this.dataSource);
|
|
100
69
|
}
|
|
101
70
|
}
|
|
102
71
|
loadLabels() {
|
|
@@ -184,12 +153,10 @@ export class FormRendererComponent {
|
|
|
184
153
|
}, 200);
|
|
185
154
|
}
|
|
186
155
|
onDateChanged(node) {
|
|
187
|
-
// console.log('Node', node);
|
|
188
156
|
this.node = node;
|
|
189
157
|
}
|
|
190
158
|
upload(event) {
|
|
191
|
-
//
|
|
192
|
-
// console.log('Data', this.dataSource);
|
|
159
|
+
// TO DO Add upload functionality
|
|
193
160
|
}
|
|
194
161
|
toggleInformation(infoId) {
|
|
195
162
|
const e = document.getElementById(infoId);
|
|
@@ -211,8 +178,8 @@ export class FormRendererComponent {
|
|
|
211
178
|
FormRendererComponent.decorators = [
|
|
212
179
|
{ type: Component, args: [{
|
|
213
180
|
selector: 'form-renderer',
|
|
214
|
-
template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ngx-tabset (onSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ngx-tab [tabTitle]=\"question.label\" *ngFor=\"let question of node.question.questions; let i = index\">\n <form-renderer [node]=\"node.children[question.key]\" [parentComponent]=\"this\" [parentGroup]=\"node.control\" [labelMap]=\"labelMap\">\n </form-renderer>\n </ngx-tab>\n <error-renderer [form]=\"node.form\"></error-renderer>\n </ngx-tabset>\n\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <app-custom-component-wrapper [dark]=\"theme === 'light'\" [componentConfigs]=\"node.question.componentConfigs\">\n </app-custom-component-wrapper>\n <form-renderer *ngFor=\"let question of node.question.questions\" [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\" [parentGroup]=\"parentGroup\" [labelMap]=\"labelMap\"></form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div class=\"cds--accordion__item\" [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\">\n <button class=\"cds--accordion__heading\" type=\"button\" [attr.aria-expanded]=\"isCollapsed ? 'false' : 'true'\"\n aria-controls=\"accordion-item-0\" (click)=\"isCollapsed = !isCollapsed\">\n <svg class=\"cds--accordion__arrow\" ibmIcon=\"chevron--right\" size=\"16\" xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\" aria-hidden=\"true\" width=\"16\" height=\"16\"\n viewBox=\"0 0 16 16\">\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <p class=\"cds--accordion__title\">\n {{ node.question.label }}\n </p>\n </button>\n <div [collapse]=\"isCollapsed\">\n <!--Section Components-->\n <app-custom-component-wrapper [dark]=\"(theme === 'light')\" [componentConfigs]=\"node.question.componentConfigs\">\n </app-custom-component-wrapper>\n <div class=\"cds--accordion__content accordion-content-override\" [ngClass]=\"{\n 'accordion-content-dark': theme === 'light'}\">\n <form-renderer *ngFor=\"let question of node.question.questions\" [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\" [parentGroup]=\"parentGroup\" [labelMap]=\"labelMap\"></form-renderer>\n </div>\n </div>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\" class=\"alert alert-warning\">\n <a class=\"close\" data-dismiss=\"alert\">×</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n\n<div *ngIf=\"node.question.controlType === 0\" [formGroup]=\"parentGroup\" [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\">\n <app-custom-component-wrapper [dark]=\"!(theme === 'light')\" [componentConfigs]=\"node.question.componentConfigs\">\n </app-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a class=\"form-tooltip pull-right\" (click)=\"toggleInformation(node.question.extras.id)\" data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \">\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label *ngIf=\"node.question.label\" [style.color]=\"hasErrors() ? 'red' : ''\" class=\"cds--label\"\n [attr.for]=\"node.question.key\">\n {{ node.question.required ? '*' : '' }} {{ node.question.label }}\n </label>\n\n <div *ngIf=\"node.question.extras.questionOptions.customControl; else nativeControls\">\n <app-custom-control-wrapper [formControlName]=\"node.question.key\" [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\">\n </app-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ibm-select [theme]=\"theme\" *ngSwitchCase=\"'select'\" [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\">\n <option *ngFor=\"let o of node.question.options\" [value]=\"o.value\">\n {{ o.label }}\n </option>\n </ibm-select>\n\n <!-- <app-file-upload *ngSwitchCase=\"'file'\" [dataSource]=\"dataSource\" [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\" (fileChanged)=\"upload($event)\">\n </app-file-upload> -->\n <div *ngSwitchCase=\"'file'\">\n <app-file-upload [dataSource]=\"dataSource\" [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\" (fileChanged)=\"upload($event)\">\n </app-file-upload>\n </div>\n\n <textarea [theme]=\"theme\" ibmTextArea [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\" [placeholder]=\"node.question.placeholder\" [rows]=\"node.question.rows\" class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\" [formControlName]=\"node.question.key\" [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\">\n </textarea>\n\n <ngx-remote-select [theme]=\"theme\" *ngSwitchCase=\"'remote-select'\" [placeholder]=\"node.question.placeholder\"\n tabindex=\"0\" [dataSource]=\"dataSource\" [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\" [id]=\"node.question.key + 'id'\"></ngx-remote-select>\n\n <ngx-datetimepicker [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\" [theme]=\"theme\" [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\" *ngSwitchCase=\"'date'\">\n </ngx-datetimepicker>\n <ng-select [ngClass]=\"{'afe-custom': theme === 'light'}\" [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\" [items]=\"node.question.options\" bindLabel=\"label\" bindValue=\"value\"\n [multiple]=\"true\" placeholder=\"\" clearAllText=\"Clear\" [formControlName]=\"node.question.key\">\n </ng-select>\n\n <ng-select [ngClass]=\"{'afe-custom': theme === 'light'}\" [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\" [items]=\"node.question.options\" bindLabel=\"label\" bindValue=\"value\"\n placeholder=\"\" clearAllText=\"Clear\" [formControlName]=\"node.question.key\">\n </ng-select>\n\n <number-input [theme]=\"theme\" *ngSwitchCase=\"'number'\" [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\" [max]=\"node.question.extras.questionOptions.max\"\n [formControlName]=\"node.question.key\" [attr.placeholder]=\"node.question.placeholder\">\n </number-input>\n\n <input [theme]=\"theme\" class=\"cds--text-input\" ibmText *ngSwitchDefault [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder\" [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\" [readOnly]=\"node.question.extras.readOnly\"/>\n\n <div *ngSwitchCase=\"'radio'\">\n <div *ngFor=\"let o of node.question.options\">\n <label class=\"form-control no-border\">\n <input type=\"radio\" [formControlName]=\"node.question.key\" [id]=\"node.question.key + 'id'\"\n [value]=\"o.value\" />\n {{ o.label }}\n </label>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <checkbox [id]=\"node.question.key + 'id'\" [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\" [selected]=\"node.control.value\"></checkbox>\n </div>\n\n <div *ngIf=\"\n node.question.enableHistoricalValue && node.question.historicalDisplay\n \" style=\"margin-top: 2px\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\">Previous Value: </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\">{{ node.question.historicalDisplay?._date }}\n </strong>\n <span class=\"text-primary\" *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \">\n ({{ node.question.historicalDisplay._date | timeAgo }})</span>\n </span>\n </div>\n <button type=\"button\" [node]=\"node\" [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\">\n Use Value\n </button>\n </div>\n </div>\n </div>\n <appointments-overview [node]=\"node\"></appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n\n\n <div class=\"question-info col-md-12 col-lg-12 col-sm-12\" id=\"{{ node.question.extras.id }}\" *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \">\n {{ node.question.extras.questionInfo }}\n </div>\n </div>\n </div>\n</div>\n<div *ngIf=\"node.question.controlType === 1\" [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\">\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">{{ node.question.label }}</h4>\n <hr style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \" />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <form-renderer *ngFor=\"let question of child.question.questions\" [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\" [parentGroup]=\"child.control\" [labelMap]=\"labelMap\"></form-renderer>\n <div>{{ child.orderNumber }}</div>\n <button type=\"button \" class=\"cds--btn cds--btn--danger cds--btn--sm\" (click)=\"node.removeAt(i)\">\n Remove\n </button>\n <br />\n <hr style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \" />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <form-renderer *ngFor=\"let question of child.question.questions\" [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\" [parentGroup]=\"child.control\" [labelMap]=\"labelMap\"></form-renderer>\n <button type=\"button \" class=\"cds--btn cds--btn--danger cds--btn--sm\" (click)=\"node.removeAt(i)\">\n Remove\n </button>\n <br />\n <hr style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \" />\n </div>\n </div>\n </div>\n <button type=\"button\" class=\"cds--btn cds--btn--primary\" (click)=\"node.createChildNode()\">\n Add\n </button>\n </div>\n </div>\n</div>\n<div *ngIf=\"node.question.controlType === 2\" [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\">\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <form-renderer *ngFor=\"let question of node.question.questions\" [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\" [parentGroup]=\"node.control\" [labelMap]=\"labelMap\"></form-renderer>\n </div>\n <div *ngSwitchCase=\"'field-set'\" style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\">\n <form-renderer *ngFor=\"let question of node.question.questions\" [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\" [parentGroup]=\"node.control\" [labelMap]=\"labelMap\"></form-renderer>\n </div>\n </div>\n</div>\n",
|
|
215
|
-
styles: [
|
|
181
|
+
template: "<!--CONTAINERS-->\n<div *ngIf=\"node.question.renderingType === 'form'\">\n <ngx-tab-set (onSelect)=\"tabSelected($event)\" [selectedIndex]=\"activeTab\">\n <ngx-tab\n [tabTitle]=\"question.label\"\n *ngFor=\"let question of node.question.questions; let i = index\"\n >\n <form-renderer\n [node]=\"node.children[question.key]\"\n [parentComponent]=\"this\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n >\n </form-renderer>\n </ngx-tab>\n <error-renderer [form]=\"node.form\"></error-renderer>\n </ngx-tab-set>\n</div>\n<div *ngIf=\"node.question.renderingType === 'page'\">\n <!--Page Components-->\n <app-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </app-custom-component-wrapper>\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n</div>\n<div *ngIf=\"node.question.renderingType === 'section' && checkSection(node)\">\n <div\n class=\"cds--accordion__item\"\n [ngClass]=\"{ 'cds--accordion__item--active': !isCollapsed }\"\n >\n <button\n class=\"cds--accordion__heading\"\n type=\"button\"\n [attr.aria-expanded]=\"isCollapsed ? 'false' : 'true'\"\n aria-controls=\"accordion-item-0\"\n (click)=\"isCollapsed = !isCollapsed\"\n >\n <svg\n class=\"cds--accordion__arrow\"\n ibmIcon=\"chevron--right\"\n size=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"xMidYMid meet\"\n aria-hidden=\"true\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n >\n <path d=\"M11 8L6 13 5.3 12.3 9.6 8 5.3 3.7 6 3z\"></path>\n </svg>\n <p class=\"cds--accordion__title\">\n {{ node.question.label }}\n </p>\n </button>\n <div [collapse]=\"isCollapsed\">\n <!--Section Components-->\n <app-custom-component-wrapper\n [dark]=\"theme === 'light'\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </app-custom-component-wrapper>\n <div\n class=\"cds--accordion__content accordion-content-override\"\n [ngClass]=\"{\n 'accordion-content-dark': theme === 'light'\n }\"\n >\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"parentGroup\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n </div>\n </div>\n </div>\n</div>\n\n<!-- MESSAGES -->\n<div\n *ngIf=\"node.control && node.control.alert && node.control.alert !== ''\"\n class=\"alert alert-warning\"\n>\n <a class=\"close\" data-dismiss=\"alert\">×</a> {{ node.control.alert }}\n</div>\n\n<!--CONTROLS-->\n\n<div\n *ngIf=\"node.question.controlType === 0\"\n [formGroup]=\"parentGroup\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <app-custom-component-wrapper\n [dark]=\"!(theme === 'light')\"\n [componentConfigs]=\"node.question.componentConfigs\"\n >\n </app-custom-component-wrapper>\n <div class=\"cds--form-item\">\n <!--LEAF CONTROL-->\n <div class=\"question-area\">\n <a\n class=\"form-tooltip pull-right\"\n (click)=\"toggleInformation(node.question.extras.id)\"\n data-placement=\"right\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n <i class=\"glyphicon glyphicon-question-sign\" aria-hidden=\"true\"></i>\n </a>\n\n <label\n *ngIf=\"node.question.label\"\n [style.color]=\"hasErrors() ? 'red' : ''\"\n class=\"cds--label\"\n [attr.for]=\"node.question.key\"\n >\n {{ node.question.required ? '*' : '' }}\n {{ node.question.prefix ? node.question.prefix + ' ' : ''\n }}{{ node.question.label }}\n </label>\n\n <div\n *ngIf=\"\n node.question.extras.questionOptions.customControl;\n else nativeControls\n \"\n >\n <app-custom-control-wrapper\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [question]=\"node.question\"\n >\n </app-custom-control-wrapper>\n </div>\n\n <ng-template #nativeControls>\n <div class=\"afe-control\" [ngSwitch]=\"node.question.renderingType\">\n <ibm-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'select'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n >\n <option *ngFor=\"let o of node.question.options\" [value]=\"o.value\">\n {{ o.label }}\n </option>\n </ibm-select>\n\n <div *ngSwitchCase=\"'file'\">\n <app-file-upload\n [dataSource]=\"dataSource\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n (fileChanged)=\"upload($event)\"\n >\n </app-file-upload>\n </div>\n\n <textarea\n [theme]=\"theme\"\n ibmTextArea\n [ngClass]=\"{\n 'cds--text-area--light': theme === 'light',\n 'cds--text-area--invalid': !node.control.valid\n }\"\n [placeholder]=\"node.question.placeholder\"\n [rows]=\"node.question.rows\"\n class=\"cds--text-area\"\n *ngSwitchCase=\"'textarea'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n >\n </textarea>\n\n <ngx-remote-select\n [theme]=\"theme\"\n *ngSwitchCase=\"'remote-select'\"\n [placeholder]=\"node.question.placeholder\"\n tabindex=\"0\"\n [dataSource]=\"dataSource\"\n [componentID]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n ></ngx-remote-select>\n\n <ngx-datetimepicker\n [weeks]=\"node.question.extras.questionOptions.weeksList\"\n [showWeeks]=\"node.question.showWeeksAdder\"\n [theme]=\"theme\"\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n *ngSwitchCase=\"'date'\"\n [datePickerFormat]=\"node.question.datePickerFormat\"\n >\n </ngx-datetimepicker>\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'multi-select'\"\n [items]=\"node.question.options\"\n bindLabel=\"label\"\n bindValue=\"value\"\n [multiple]=\"true\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n </ng-select>\n\n <ng-select\n [ngClass]=\"{ 'afe-custom': theme === 'light' }\"\n [id]=\"node.question.key + 'id'\"\n *ngSwitchCase=\"'single-select'\"\n [items]=\"node.question.options\"\n bindLabel=\"label\"\n bindValue=\"value\"\n placeholder=\"\"\n clearAllText=\"Clear\"\n [formControlName]=\"node.question.key\"\n >\n </ng-select>\n\n <number-input\n [theme]=\"theme\"\n *ngSwitchCase=\"'number'\"\n [id]=\"node.question.key + 'id'\"\n [min]=\"node.question.extras.questionOptions.min\"\n [max]=\"node.question.extras.questionOptions.max\"\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder\"\n >\n </number-input>\n\n <input\n [theme]=\"theme\"\n class=\"cds--text-input\"\n ibmText\n *ngSwitchDefault\n [formControlName]=\"node.question.key\"\n [attr.placeholder]=\"node.question.placeholder\"\n [type]=\"node.question.renderingType\"\n [id]=\"node.question.key + 'id'\"\n [readOnly]=\"node.question.extras.readOnly\"\n />\n\n <div *ngSwitchCase=\"'radio'\">\n <div\n *ngFor=\"let o of node.question.options\"\n [ngClass]=\"{\n 'in-line': node.question.orientation === 'horizontal'\n }\"\n >\n <label class=\"form-control no-border\">\n <input\n type=\"radio\"\n [formControlName]=\"node.question.key\"\n [id]=\"node.question.key + 'id'\"\n [value]=\"o.value\"\n />\n {{ o.label }}\n </label>\n </div>\n </div>\n\n <div *ngSwitchCase=\"'checkbox'\">\n <checkbox\n [id]=\"node.question.key + 'id'\"\n [formControlName]=\"node.question.key\"\n [options]=\"node.question.options\"\n [selected]=\"node.control.value\"\n ></checkbox>\n </div>\n\n <div\n *ngIf=\"\n node.question.enableHistoricalValue &&\n node.question.historicalDisplay\n \"\n style=\"margin-top: 2px\"\n >\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-xs-9\">\n <span class=\"text-warning\">Previous Value: </span>\n <strong>{{ node.question.historicalDisplay?.text }}</strong>\n <span *ngIf=\"node.question.showHistoricalValueDate\">\n <span> | </span>\n <strong class=\"text-primary\"\n >{{ node.question.historicalDisplay?._date | date }}\n </strong>\n <span\n class=\"text-primary\"\n *ngIf=\"\n node.question.historicalDisplay &&\n node.question.historicalDisplay._date\n \"\n >\n ({{\n node.question.historicalDisplay._date | timeAgo\n }})</span\n >\n </span>\n </div>\n <button\n type=\"button\"\n [node]=\"node\"\n [name]=\"'historyValue'\"\n class=\"cds--btn cds--btn--primary cds--btn--sm col-xs-3\"\n >\n Use Value\n </button>\n </div>\n </div>\n </div>\n <appointments-overview [node]=\"node\"></appointments-overview>\n <div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let e of errors()\">\n <span class=\"text-danger\">{{ e }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n\n <div\n class=\"question-info col-md-12 col-lg-12 col-sm-12\"\n id=\"{{ node.question.extras.id }}\"\n *ngIf=\"\n node.question &&\n node.question.extras.questionInfo &&\n node.question.extras.questionInfo !== '' &&\n node.question.extras.questionInfo !== ' '\n \"\n >\n {{ node.question.extras.questionInfo }}\n </div>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 1\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--ARRAY CONTROL-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div class=\"well\" style=\"padding: 2px\" *ngSwitchCase=\"'repeating'\">\n <h4 style=\"margin: 2px; font-weight: bold\">{{ node.question.label }}</h4>\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 2px;\n \"\n />\n <div [ngSwitch]=\"node.question.extras.type\">\n <div *ngSwitchCase=\"'testOrder'\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n <div>{{ child.orderNumber }}</div>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n\n <div *ngSwitchCase=\"'obsGroup'\" style=\"margin-bottom: 20px\">\n <div *ngFor=\"let child of node.children; let i = index\">\n <form-renderer\n *ngFor=\"let question of child.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"child.children[question.key]\"\n [parentGroup]=\"child.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n <button\n type=\"button \"\n class=\"cds--btn cds--btn--danger cds--btn--sm\"\n (click)=\"node.removeAt(i)\"\n >\n Remove\n </button>\n <br />\n <hr\n style=\"\n margin-left: -2px;\n margin-right: -2px;\n margin-bottom: 4px;\n margin-top: 8px;\n border-width: 1px;\n \"\n />\n </div>\n </div>\n </div>\n <button\n type=\"button\"\n class=\"cds--btn cds--btn--primary\"\n (click)=\"node.createChildNode()\"\n >\n Add\n </button>\n </div>\n </div>\n</div>\n<div\n *ngIf=\"node.question.controlType === 2\"\n [hidden]=\"node.control.hidden\"\n [ngClass]=\"{ disabled: node.control.disabled }\"\n>\n <!--GROUP-->\n <div [ngSwitch]=\"node.question.renderingType\">\n <div *ngSwitchCase=\"'group'\">\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n </div>\n <div\n *ngSwitchCase=\"'field-set'\"\n style=\"border: 1px solid #eeeeee; padding: 2px; margin: 2px\"\n >\n <form-renderer\n *ngFor=\"let question of node.question.questions\"\n [parentComponent]=\"this\"\n [node]=\"node.children[question.key]\"\n [parentGroup]=\"node.control\"\n [labelMap]=\"labelMap\"\n ></form-renderer>\n </div>\n </div>\n</div>\n",
|
|
182
|
+
styles: [".slider{width:auto;margin:30px}.slick-next:before,.slick-prev:before{color:#337ab7}.slick-dots{bottom:-40px}.slick-slide{outline:none}", "a{color:#fff;text-decoration:none;font-size:12px;text-transform:uppercase}ul{list-style-type:none;margin:2px auto;position:relative}li{display:block;padding:10px 20px;white-space:nowrap;transition:all .3s ease-in;border-bottom:4px solid transparent}li:hover{border-bottom:4px solid #fff;opacity:.7;cursor:pointer}.owl-theme .owl-controls .owl-nav{position:absolute;width:100%;top:0}.owl-theme .owl-controls .owl-nav [class*=owl-]{position:absolute;background:none;color:#000}.owl-theme .owl-controls .owl-nav [class*=owl-]:hover{background:none;color:#000}.owl-theme .owl-controls .owl-nav .owl-next{right:0;transform:translate(120%)}.owl-theme .owl-controls .owl-nav .owl-prev{left:0;transform:translate(-120%)}.slick-initialized .swipe-tab-content{position:relative;min-height:365px}@media screen and (min-width:767px){.slick-initialized .swipe-tab-content{min-height:500px}}.slick-initialized .swipe-tab{display:flex;align-items:center;justify-content:center;height:50px;background:none;border:0;color:#757575;cursor:pointer;text-align:center;border-bottom:2px solid rgba(51,122,183,0);transition:all .5s}.slick-initialized .swipe-tab:hover{color:#337ab7}.slick-initialized .swipe-tab.active-tab{border-bottom-color:#337ab7;color:#337ab7;font-weight:700}.disabled{opacity:.5;pointer-events:none}.select2-container{margin-top:-5px}.btn{padding:0 12px!important}.form-tooltip{color:#337ab7;display:inline-block}.question-info{opacity:0;transition-duration:opacity 1s ease-out;transtion-delay:.5s;padding-top:2px;padding-bottom:2px;color:#696969;border:1px ridge #337ab7;margin-top:2px}.hide-info,.question-info{height:0;display:none}.form-tooltip:hover~.question-info{display:block;opacity:1;height:auto}.form-tooltip .tooltipcontent:after{content:\" \";position:absolute;bottom:100%;right:0;margin-left:-5px;border:5px solid transparent;border-bottom-color:#337ab7}ng-select.form-control{padding-top:0;height:auto;padding-bottom:0}.forms-dropdown-menu{max-height:450px;overflow-y:scroll}.no-border{border:0;box-shadow:none}.text-danger{color:var(--cds-support-01,#da1e28)}.error{margin-bottom:3rem}.afe-control{margin-bottom:1.5rem}[hidden]{display:none!important}.accordion-content-dark{background-color:#f4f4f4;padding-right:1rem}.accordion-content-override{box-sizing:content-box}.question-area{width:100%;max-width:18rem}.in-line{display:inline-block;padding-right:.5rem}"]
|
|
216
183
|
},] }
|
|
217
184
|
];
|
|
218
185
|
FormRendererComponent.ctorParameters = () => [
|
|
@@ -228,4 +195,4 @@ FormRendererComponent.propDecorators = {
|
|
|
228
195
|
theme: [{ type: Input }],
|
|
229
196
|
labelMap: [{ type: Input }]
|
|
230
197
|
};
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9mb3JtLWVudHJ5L2Zvcm0tcmVuZGVyZXIvZm9ybS1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUtQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLHFCQUFxQjtBQUNyQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFZLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUlwRSwyRUFBMkU7QUFDM0UsK0JBQStCO0FBRS9CLHdHQUF3RztBQUN4RyxxREFBcUQ7QUFPckQsTUFBTSxPQUFPLHFCQUFxQjtJQW1CaEMsWUFDVSxpQkFBb0MsRUFDcEMsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ2xCLFFBQWE7UUFIL0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFuQnpCLFVBQUssR0FBRyxPQUFPLENBQUM7UUFFekIsb0JBQWUsR0FBNEIsRUFBRSxDQUFDO1FBSzlDLGdCQUFXLEdB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QUMsSUFBYztRQUM5QixNQUFNLE1BQU0sR0FBUSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUV4QyxJQUFJLE1BQU0sRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOzs7WUF6UEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6Qixrc2FBQTJDO3lCQUNsQyxxQkFBcUIsRUFBRSxjQUFjO2FBQy9DOzs7WUFoQlEsaUJBQWlCO1lBSGpCLFdBQVc7WUFLWCxpQkFBaUI7NENBc0NyQixNQUFNLFNBQUMsUUFBUTs7OzhCQXRCakIsS0FBSzttQkFDTCxLQUFLOzBCQUNMLEtBQUs7b0JBQ0wsS0FBSzt1QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBPbkluaXQsXG4gIElucHV0LFxuICBJbmplY3QsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXNcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBpbXBvcnQgJ2hhbW1lcmpzJztcbmltcG9ydCB7IERFRkFVTFRfU1RZTEVTIH0gZnJvbSAnLi9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudC5jc3MnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGF0YVNvdXJjZXMgfSBmcm9tICcuLi9kYXRhLXNvdXJjZXMvZGF0YS1zb3VyY2VzJztcbmltcG9ydCB7IE5vZGVCYXNlLCBMZWFmTm9kZSwgR3JvdXBOb2RlIH0gZnJvbSAnLi4vZm9ybS1mYWN0b3J5L2Zvcm0tbm9kZSc7XG5pbXBvcnQgeyBBZmVGb3JtR3JvdXAgfSBmcm9tICcuLi8uLi9hYnN0cmFjdC1jb250cm9scy1leHRlbnNpb24vYWZlLWZvcm0tZ3JvdXAnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkZhY3RvcnkgfSBmcm9tICcuLi9mb3JtLWZhY3RvcnkvdmFsaWRhdGlvbi5mYWN0b3J5JztcbmltcG9ydCB7IERhdGFTb3VyY2UgfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQgeyBGb3JtRXJyb3JzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Zvcm0tZXJyb3JzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUXVlc3Rpb25Hcm91cCB9IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy9ncm91cC1xdWVzdGlvbic7XG5pbXBvcnQgeyBTZWxlY3RPcHRpb24gfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9zZWxlY3Qtb3B0aW9uJztcblxuLy8gaW1wb3J0IHsgY29uY2F0LCBvZiwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG4vLyBpbXBvcnQgKiBhcyBfIGZyb20gJ2xvZGFzaCc7XG5cbi8vIGltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRhcCwgc3dpdGNoTWFwLCBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG4vLyBpbXBvcnQgeyBRdWVzdGlvbkJhc2UgfSBmcm9tICcuLi9xdWVzdGlvbi1tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmb3JtLXJlbmRlcmVyJyxcbiAgdGVtcGxhdGVVcmw6ICdmb3JtLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbJy4uLy4uL3N0eWxlL2FwcC5jc3MnLCBERUZBVUxUX1NUWUxFU11cbn0pXG5leHBvcnQgY2xhc3MgRm9ybVJlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBwdWJsaWMgcGFyZW50Q29tcG9uZW50OiBGb3JtUmVuZGVyZXJDb21wb25lbnQ7XG4gIEBJbnB1dCgpIHB1YmxpYyBub2RlOiBOb2RlQmFzZTtcbiAgQElucHV0KCkgcHVibGljIHBhcmVudEdyb3VwOiBBZmVGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aGVtZSA9ICdsaWdodCc7XG4gIEBJbnB1dCgpIHB1YmxpYyBsYWJlbE1hcDogT2JqZWN0O1xuICBwdWJsaWMgY2hpbGRDb21wb25lbnRzOiBGb3JtUmVuZGVyZXJDb21wb25lbnRbXSA9IFtdO1xuICBwdWJsaWMgc2hvd1RpbWU6IGJvb2xlYW47XG4gIHB1YmxpYyBzaG93V2Vla3M6IGJvb2xlYW47XG4gIHB1YmxpYyBhY3RpdmVUYWI6IG51bWJlcjtcbiAgcHVibGljIGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIHB1YmxpYyBpc0NvbGxhcHNlZCA9IGZhbHNlO1xuICBwdWJsaWMgYXV0bzogYW55O1xuICBwdWJsaWMgZm9sbG93Rm9jdXMgPSB0cnVlO1xuICBwdWJsaWMgY2FjaGVBY3RpdmUgPSBmYWxzZTtcbiAgcHVibGljIGlzTmF2aWdhdGlvbiA9IHRydWU7XG4gIHB1YmxpYyB0eXBlID0gJ2RlZmF1bHQnO1xuICBpbmxpbmVEYXRlUGlja2VyOiBEYXRlID0gbmV3IERhdGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHZhbGlkYXRpb25GYWN0b3J5OiBWYWxpZGF0aW9uRmFjdG9yeSxcbiAgICBwcml2YXRlIGRhdGFTb3VyY2VzOiBEYXRhU291cmNlcyxcbiAgICBwcml2YXRlIGZvcm1FcnJvcnNTZXJ2aWNlOiBGb3JtRXJyb3JzU2VydmljZSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnlcbiAgKSB7XG4gICAgdGhpcy5hY3RpdmVUYWIgPSAwO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0VXBSZW1vdGVTZWxlY3QoKTtcbiAgICB0aGlzLnNldFVwRmlsZVVwbG9hZCgpO1xuICAgIHRoaXMubG9hZExhYmVscygpO1xuICAgIGlmICh0aGlzLm5vZGUgJiYgdGhpcy5ub2RlLmZvcm0pIHtcbiAgICAgIGNvbnN0IHRhYiA9IHRoaXMubm9kZS5mb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm8ubGFzdEZvcm1UYWI7XG4gICAgICBpZiAodGFiICYmIHRhYiAhPT0gdGhpcy5hY3RpdmVUYWIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVUYWIgPSB0YWI7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLm5vZGUgJiYgdGhpcy5ub2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUgPT09ICdmb3JtJykge1xuICAgICAgdGhpcy5mb3JtRXJyb3JzU2VydmljZS5hbm5vdW5jZUVycm9yRmllbGQkLnN1YnNjcmliZSgoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0NvbnRyb2woZXJyb3IpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubm9kZSAmJiB0aGlzLm5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSA9PT0gJ3NlY3Rpb24nKSB7XG4gICAgICB0aGlzLmlzQ29sbGFwc2VkID0gISh0aGlzLm5vZGUucXVlc3Rpb24gYXMgUXVlc3Rpb25Hcm91cCkuaXNFeHBhbmRlZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wYXJlbnRDb21wb25lbnQpIHtcbiAgICAgIHRoaXMucGFyZW50Q29tcG9uZW50LmFkZENoaWxkQ29tcG9uZW50KHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMubGFiZWxNYXApIHtcbiAgICAgIHRoaXMubG9hZExhYmVscygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRDaGlsZENvbXBvbmVudChjaGlsZDogRm9ybVJlbmRlcmVyQ29tcG9uZW50KSB7XG4gICAgdGhpcy5jaGlsZENvbXBvbmVudHMucHVzaChjaGlsZCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VXBSZW1vdGVTZWxlY3QoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5ub2RlICYmXG4gICAgICB0aGlzLm5vZGUucXVlc3Rpb24uZXh0cmFzICYmXG4gICAgICB0aGlzLm5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSA9PT0gJ3JlbW90ZS1zZWxlY3QnXG4gICAgKSB7XG4gICAgICAvLyBsZXQgc2VsZWN0UXVlc3Rpb24gPSB0aGlzLm5vZGUuZm9ybS5zZWFyY2hOb2RlQnlRdWVzdGlvbklkKHRoaXMubm9kZS5xdWVzdGlvbi5rZXkpWzBdO1xuICAgICAgdGhpcy5kYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlcy5kYXRhU291cmNlc1tcbiAgICAgICAgdGhpcy5ub2RlLnF1ZXN0aW9uLmRhdGFTb3VyY2VcbiAgICAgIF07XG4gICAgICAvKlxuICAgICAgbGV0IGRlZmFsdFZhbHVlcyA9IG9mKFtdKTtcbiAgICAgIGlmICh0aGlzLmRhdGFTb3VyY2UucmVzb2x2ZVNlbGVjdGVkVmFsdWUoc2VsZWN0UXVlc3Rpb24uY29udHJvbC52YWx1ZSkpIHtcbiAgICAgICAgZGVmYWx0VmFsdWVzID0gdGhpcy5kYXRhU291cmNlLnJlc29sdmVTZWxlY3RlZFZhbHVlKHNlbGVjdFF1ZXN0aW9uLmNvbnRyb2wudmFsdWUpLnBpcGUoXG4gICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpLCAvLyBlbXB0eSBsaXN0IG9uIGVycm9yXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0aGlzLml0ZW1zJCA9IGNvbmNhdChcbiAgICAgICAgZGVmYWx0VmFsdWVzLFxuICAgICAgICB0aGlzLml0ZW1zSW5wdXQkLnBpcGUoXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDIwMCksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5pdGVtc0xvYWRpbmcgPSB0cnVlKSxcbiAgICAgICAgICBzd2l0Y2hNYXAodGVybSA9PiB0aGlzLmRhdGFTb3VyY2Uuc2VhcmNoT3B0aW9ucyh0ZXJtKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihbXSkpLCAvLyBlbXB0eSBsaXN0IG9uIGVycm9yXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLml0ZW1zTG9hZGluZyA9IGZhbHNlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICkpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICAqL1xuICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSAmJiB0aGlzLm5vZGUucXVlc3Rpb24uZGF0YVNvdXJjZU9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGFTb3VyY2VPcHRpb25zID0gdGhpcy5ub2RlLnF1ZXN0aW9uLmRhdGFTb3VyY2VPcHRpb25zO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRVcEZpbGVVcGxvYWQoKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5ub2RlICYmXG4gICAgICB0aGlzLm5vZGUucXVlc3Rpb24uZXh0cmFzICYmXG4gICAgICB0aGlzLm5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSA9PT0gJ2ZpbGUnXG4gICAgKSB7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UgPSB0aGlzLmRhdGFTb3VyY2VzLmRhdGFTb3VyY2VzW1xuICAgICAgICB0aGlzLm5vZGUucXVlc3Rpb24uZGF0YVNvdXJjZVxuICAgICAgXTtcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdLZXknLCB0aGlzLm5vZGUucXVlc3Rpb24pO1xuICAgICAgLy8gY29uc29sZS5sb2coJ0RhdGEgc291cmNlJywgdGhpcy5kYXRhU291cmNlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbG9hZExhYmVscygpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5ub2RlLnF1ZXN0aW9uLmxhYmVsICYmXG4gICAgICB0aGlzLmxhYmVsTWFwW3RoaXMubm9kZS5xdWVzdGlvbi5leHRyYXM/LnF1ZXN0aW9uT3B0aW9ucz8uY29uY2VwdF1cbiAgICApIHtcbiAgICAgIHRoaXMubm9kZS5xdWVzdGlvbi5sYWJlbCA9IHRoaXMubGFiZWxNYXBbXG4gICAgICAgIHRoaXMubm9kZS5xdWVzdGlvbi5leHRyYXMucXVlc3Rpb25PcHRpb25zLmNvbmNlcHRcbiAgICAgIF07XG4gICAgfVxuICAgIGlmICh0aGlzLm5vZGUucXVlc3Rpb24ub3B0aW9ucykge1xuICAgICAgdGhpcy5ub2RlLnF1ZXN0aW9uLm9wdGlvbnMuZm9yRWFjaCgob3B0aW9uKSA9PiB7XG4gICAgICAgIGlmICghb3B0aW9uLmxhYmVsICYmIHRoaXMubGFiZWxNYXBbb3B0aW9uLnZhbHVlXSkge1xuICAgICAgICAgIG9wdGlvbi5sYWJlbCA9IHRoaXMubGFiZWxNYXBbb3B0aW9uLnZhbHVlXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tTZWN0aW9uKG5vZGU6IE5vZGVCYXNlKSB7XG4gICAgaWYgKG5vZGUucXVlc3Rpb24ucmVuZGVyaW5nVHlwZSA9PT0gJ3NlY3Rpb24nKSB7XG4gICAgICBsZXQgZ3JvdXBDaGlsZHJlbkhpZGRlbiA9IGZhbHNlO1xuICAgICAgY29uc3QgYWxsU2VjdGlvbkNvbnRyb2xzSGlkZGVuID0gT2JqZWN0LmtleXMobm9kZS5jaGlsZHJlbikuZXZlcnkoKGspID0+IHtcbiAgICAgICAgY29uc3QgaW5uZXJOb2RlID0gbm9kZS5jaGlsZHJlbltrXTtcbiAgICAgICAgaWYgKGlubmVyTm9kZSBpbnN0YW5jZW9mIEdyb3VwTm9kZSkge1xuICAgICAgICAgIGdyb3VwQ2hpbGRyZW5IaWRkZW4gPSBPYmplY3Qua2V5cyhpbm5lck5vZGUuY2hpbGRyZW4pLmV2ZXJ5KFxuICAgICAgICAgICAgKGkpID0+IGlubmVyTm9kZS5jaGlsZHJlbltpXS5jb250cm9sLmhpZGRlblxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vZGUuY2hpbGRyZW5ba10uY29udHJvbC5oaWRkZW4gfHwgZ3JvdXBDaGlsZHJlbkhpZGRlbjtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuICFhbGxTZWN0aW9uQ29udHJvbHNIaWRkZW47XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGNsaWNrVGFiKHRhYk51bWJlcikge1xuICAgIHRoaXMuYWN0aXZlVGFiID0gdGFiTnVtYmVyO1xuICB9XG5cbiAgcHVibGljIGxvYWRQcmV2aW91c1RhYigpIHtcbiAgICBpZiAoIXRoaXMuaXNDdXJyZW50VGFiRmlyc3QoKSkge1xuICAgICAgdGhpcy5jbGlja1RhYih0aGlzLmFjdGl2ZVRhYiAtIDEpO1xuICAgICAgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSAwO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0N1cnJlbnRUYWJGaXJzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVUYWIgPT09IDA7XG4gIH1cblxuICBwdWJsaWMgaXNDdXJyZW50VGFiTGFzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVUYWIgPT09IHRoaXMubm9kZS5xdWVzdGlvblsncXVlc3Rpb25zJ10ubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkTmV4dFRhYigpIHtcbiAgICBpZiAoIXRoaXMuaXNDdXJyZW50VGFiTGFzdCgpKSB7XG4gICAgICB0aGlzLmNsaWNrVGFiKHRoaXMuYWN0aXZlVGFiICsgMSk7XG4gICAgICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9IDA7XG4gICAgfVxuICB9XG4gIHB1YmxpYyB0YWJTZWxlY3RlZCgkZXZlbnQpIHtcbiAgICB0aGlzLmFjdGl2ZVRhYiA9ICRldmVudDtcbiAgICB0aGlzLnNldFByZXZpb3VzVGFiKCk7XG4gIH1cbiAgcHVibGljIHNldFByZXZpb3VzVGFiKCkge1xuICAgIGlmICh0aGlzLm5vZGUgJiYgdGhpcy5ub2RlLmZvcm0pIHtcbiAgICAgIHRoaXMubm9kZS5mb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm9bJ2xhc3RGb3JtVGFiJ10gPSB0aGlzLmFjdGl2ZVRhYjtcbiAgICB9XG4gIH1cbiAgcHVibGljIGhhc0Vycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlLmNvbnRyb2wudG91Y2hlZCAmJiAhdGhpcy5ub2RlLmNvbnRyb2wudmFsaWQ7XG4gIH1cblxuICBwdWJsaWMgZXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLmdldEVycm9ycyh0aGlzLm5vZGUpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFRvQ29udHJvbChlcnJvcjogc3RyaW5nKSB7XG4gICAgY29uc3QgdGFiOiBudW1iZXIgPSArZXJyb3Iuc3BsaXQoJywnKVswXTtcbiAgICBjb25zdCBlbFNlbGVjdG9yID0gZXJyb3Iuc3BsaXQoJywnKVsxXSArICdpZCc7XG5cbiAgICAvLyB0aGUgdGFiIGNvbXBvbmVudHNcbiAgICBjb25zdCB0YWJDb21wb25lbnQ6IEZvcm1SZW5kZXJlckNvbXBvbmVudCA9IHRoaXMuY2hpbGRDb21wb25lbnRzW3RhYl07XG5cbiAgICB0aGlzLmNsaWNrVGFiKHRhYik7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8vIGV4cGFuZCBhbGwgc2VjdGlvbnNcbiAgICAgIHRhYkNvbXBvbmVudC5jaGlsZENvbXBvbmVudHMuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xuICAgICAgICBzZWN0aW9uLmlzQ29sbGFwc2VkID0gZmFsc2U7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgZWxlbWVudDogYW55ID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbFNlbGVjdG9yKTtcbiAgICAgICAgICBpZiAoZWxlbWVudCAhPT0gbnVsbCAmJiBlbGVtZW50LmZvY3VzKSB7XG4gICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCAxMDApO1xuICAgICAgfSk7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVDaGFuZ2VkKG5vZGU6IExlYWZOb2RlKSB7XG4gICAgLy8gY29uc29sZS5sb2coJ05vZGUnLCBub2RlKTtcbiAgICB0aGlzLm5vZGUgPSBub2RlO1xuICB9XG5cbiAgcHVibGljIHVwbG9hZChldmVudCkge1xuICAgIC8vIGNvbnNvbGUubG9nKCdFdmVudCcsIGV2ZW50KTtcbiAgICAvLyBjb25zb2xlLmxvZygnRGF0YScsIHRoaXMuZGF0YVNvdXJjZSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlSW5mb3JtYXRpb24oaW5mb0lkKSB7XG4gICAgY29uc3QgZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGluZm9JZCk7XG5cbiAgICBpZiAoZS5zdHlsZS5kaXNwbGF5ID09PSAnYmxvY2snKSB7XG4gICAgICBlLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGUuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgZ2V0RXJyb3JzKG5vZGU6IE5vZGVCYXNlKSB7XG4gICAgY29uc3QgZXJyb3JzOiBhbnkgPSBub2RlLmNvbnRyb2wuZXJyb3JzO1xuXG4gICAgaWYgKGVycm9ycykge1xuICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGlvbkZhY3RvcnkuZXJyb3JzKGVycm9ycywgbm9kZS5xdWVzdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG4iXX0=
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZm9ybWVudHJ5L3NyYy9mb3JtLWVudHJ5L2Zvcm0tcmVuZGVyZXIvZm9ybS1yZW5kZXJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUdQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBWSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDaEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFdkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFTcEUsTUFBTSxPQUFPLHFCQUFxQjtJQW1CaEMsWUFDVSxpQkFBb0MsRUFDcEMsV0FBd0IsRUFDeEIsaUJBQW9DLEVBQ2xCLFFBQWE7UUFIL0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ2xCLGFBQVEsR0FBUixRQUFRLENBQUs7UUFuQnpCLFVBQUssR0FBRyxPQUFPLENBQUM7UUFFekIsb0JBQWUsR0FBNEIsRUFBRSxDQUFDO1FBSzlDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLFNBQUksR0FB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QUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLHNnZkFBMkM7O2FBRTVDOzs7WUFWUSxpQkFBaUI7WUFIakIsV0FBVztZQUtYLGlCQUFpQjs0Q0FnQ3JCLE1BQU0sU0FBQyxRQUFROzs7OEJBdEJqQixLQUFLO21CQUNMLEtBQUs7MEJBQ0wsS0FBSztvQkFDTCxLQUFLO3VCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIE9uSW5pdCxcbiAgSW5wdXQsXG4gIEluamVjdCxcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQgeyBEYXRhU291cmNlcyB9IGZyb20gJy4uL2RhdGEtc291cmNlcy9kYXRhLXNvdXJjZXMnO1xuaW1wb3J0IHsgTm9kZUJhc2UsIExlYWZOb2RlLCBHcm91cE5vZGUgfSBmcm9tICcuLi9mb3JtLWZhY3RvcnkvZm9ybS1ub2RlJztcbmltcG9ydCB7IEFmZUZvcm1Hcm91cCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtZm9ybS1ncm91cCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRmFjdG9yeSB9IGZyb20gJy4uL2Zvcm0tZmFjdG9yeS92YWxpZGF0aW9uLmZhY3RvcnknO1xuaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJy4uL3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL2RhdGEtc291cmNlJztcbmltcG9ydCB7IEZvcm1FcnJvcnNTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZm9ybS1lcnJvcnMuc2VydmljZSc7XG5pbXBvcnQgeyBRdWVzdGlvbkdyb3VwIH0gZnJvbSAnLi4vcXVlc3Rpb24tbW9kZWxzL2dyb3VwLXF1ZXN0aW9uJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Zvcm0tcmVuZGVyZXInLFxuICB0ZW1wbGF0ZVVybDogJ2Zvcm0tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vc3R5bGUvYXBwLmNzcycsICcuL2Zvcm0tcmVuZGVyZXIuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1SZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcHVibGljIHBhcmVudENvbXBvbmVudDogRm9ybVJlbmRlcmVyQ29tcG9uZW50O1xuICBASW5wdXQoKSBwdWJsaWMgbm9kZTogTm9kZUJhc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBwYXJlbnRHcm91cDogQWZlRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgdGhlbWUgPSAnbGlnaHQnO1xuICBASW5wdXQoKSBwdWJsaWMgbGFiZWxNYXA6IE9iamVjdDtcbiAgcHVibGljIGNoaWxkQ29tcG9uZW50czogRm9ybVJlbmRlcmVyQ29tcG9uZW50W10gPSBbXTtcbiAgcHVibGljIHNob3dUaW1lOiBib29sZWFuO1xuICBwdWJsaWMgc2hvd1dlZWtzOiBib29sZWFuO1xuICBwdWJsaWMgYWN0aXZlVGFiOiBudW1iZXI7XG4gIHB1YmxpYyBkYXRhU291cmNlOiBEYXRhU291cmNlO1xuICBwdWJsaWMgaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgcHVibGljIGF1dG86IGFueTtcbiAgcHVibGljIGZvbGxvd0ZvY3VzID0gdHJ1ZTtcbiAgcHVibGljIGNhY2hlQWN0aXZlID0gZmFsc2U7XG4gIHB1YmxpYyBpc05hdmlnYXRpb24gPSB0cnVlO1xuICBwdWJsaWMgdHlwZSA9ICdkZWZhdWx0JztcbiAgaW5saW5lRGF0ZVBpY2tlcjogRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB2YWxpZGF0aW9uRmFjdG9yeTogVmFsaWRhdGlvbkZhY3RvcnksXG4gICAgcHJpdmF0ZSBkYXRhU291cmNlczogRGF0YVNvdXJjZXMsXG4gICAgcHJpdmF0ZSBmb3JtRXJyb3JzU2VydmljZTogRm9ybUVycm9yc1NlcnZpY2UsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55XG4gICkge1xuICAgIHRoaXMuYWN0aXZlVGFiID0gMDtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldFVwUmVtb3RlU2VsZWN0KCk7XG4gICAgdGhpcy5zZXRVcEZpbGVVcGxvYWQoKTtcbiAgICB0aGlzLmxvYWRMYWJlbHMoKTtcbiAgICBpZiAodGhpcy5ub2RlICYmIHRoaXMubm9kZS5mb3JtKSB7XG4gICAgICBjb25zdCB0YWIgPSB0aGlzLm5vZGUuZm9ybS52YWx1ZVByb2Nlc3NpbmdJbmZvLmxhc3RGb3JtVGFiO1xuICAgICAgaWYgKHRhYiAmJiB0YWIgIT09IHRoaXMuYWN0aXZlVGFiKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlVGFiID0gdGFiO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5ub2RlICYmIHRoaXMubm9kZS5xdWVzdGlvbi5yZW5kZXJpbmdUeXBlID09PSAnZm9ybScpIHtcbiAgICAgIHRoaXMuZm9ybUVycm9yc1NlcnZpY2UuYW5ub3VuY2VFcnJvckZpZWxkJC5zdWJzY3JpYmUoKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Db250cm9sKGVycm9yKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm5vZGUgJiYgdGhpcy5ub2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUgPT09ICdzZWN0aW9uJykge1xuICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9ICEodGhpcy5ub2RlLnF1ZXN0aW9uIGFzIFF1ZXN0aW9uR3JvdXApLmlzRXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGFyZW50Q29tcG9uZW50KSB7XG4gICAgICB0aGlzLnBhcmVudENvbXBvbmVudC5hZGRDaGlsZENvbXBvbmVudCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmxhYmVsTWFwKSB7XG4gICAgICB0aGlzLmxvYWRMYWJlbHMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkQ2hpbGRDb21wb25lbnQoY2hpbGQ6IEZvcm1SZW5kZXJlckNvbXBvbmVudCkge1xuICAgIHRoaXMuY2hpbGRDb21wb25lbnRzLnB1c2goY2hpbGQpO1xuICB9XG5cbiAgcHVibGljIHNldFVwUmVtb3RlU2VsZWN0KCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMubm9kZSAmJlxuICAgICAgdGhpcy5ub2RlLnF1ZXN0aW9uLmV4dHJhcyAmJlxuICAgICAgdGhpcy5ub2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUgPT09ICdyZW1vdGUtc2VsZWN0J1xuICAgICkge1xuICAgICAgdGhpcy5kYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlcy5kYXRhU291cmNlc1tcbiAgICAgICAgdGhpcy5ub2RlLnF1ZXN0aW9uLmRhdGFTb3VyY2VcbiAgICAgIF07XG5cbiAgICAgIGlmICh0aGlzLmRhdGFTb3VyY2UgJiYgdGhpcy5ub2RlLnF1ZXN0aW9uLmRhdGFTb3VyY2VPcHRpb25zKSB7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhU291cmNlT3B0aW9ucyA9IHRoaXMubm9kZS5xdWVzdGlvbi5kYXRhU291cmNlT3B0aW9ucztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0VXBGaWxlVXBsb2FkKCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMubm9kZSAmJlxuICAgICAgdGhpcy5ub2RlLnF1ZXN0aW9uLmV4dHJhcyAmJlxuICAgICAgdGhpcy5ub2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUgPT09ICdmaWxlJ1xuICAgICkge1xuICAgICAgdGhpcy5kYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlcy5kYXRhU291cmNlc1tcbiAgICAgICAgdGhpcy5ub2RlLnF1ZXN0aW9uLmRhdGFTb3VyY2VcbiAgICAgIF07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxvYWRMYWJlbHMoKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMubm9kZS5xdWVzdGlvbi5sYWJlbCAmJlxuICAgICAgdGhpcy5sYWJlbE1hcFt0aGlzLm5vZGUucXVlc3Rpb24uZXh0cmFzPy5xdWVzdGlvbk9wdGlvbnM/LmNvbmNlcHRdXG4gICAgKSB7XG4gICAgICB0aGlzLm5vZGUucXVlc3Rpb24ubGFiZWwgPSB0aGlzLmxhYmVsTWFwW1xuICAgICAgICB0aGlzLm5vZGUucXVlc3Rpb24uZXh0cmFzLnF1ZXN0aW9uT3B0aW9ucy5jb25jZXB0XG4gICAgICBdO1xuICAgIH1cbiAgICBpZiAodGhpcy5ub2RlLnF1ZXN0aW9uLm9wdGlvbnMpIHtcbiAgICAgIHRoaXMubm9kZS5xdWVzdGlvbi5vcHRpb25zLmZvckVhY2goKG9wdGlvbikgPT4ge1xuICAgICAgICBpZiAoIW9wdGlvbi5sYWJlbCAmJiB0aGlzLmxhYmVsTWFwW29wdGlvbi52YWx1ZV0pIHtcbiAgICAgICAgICBvcHRpb24ubGFiZWwgPSB0aGlzLmxhYmVsTWFwW29wdGlvbi52YWx1ZV07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrU2VjdGlvbihub2RlOiBOb2RlQmFzZSkge1xuICAgIGlmIChub2RlLnF1ZXN0aW9uLnJlbmRlcmluZ1R5cGUgPT09ICdzZWN0aW9uJykge1xuICAgICAgbGV0IGdyb3VwQ2hpbGRyZW5IaWRkZW4gPSBmYWxzZTtcbiAgICAgIGNvbnN0IGFsbFNlY3Rpb25Db250cm9sc0hpZGRlbiA9IE9iamVjdC5rZXlzKG5vZGUuY2hpbGRyZW4pLmV2ZXJ5KChrKSA9PiB7XG4gICAgICAgIGNvbnN0IGlubmVyTm9kZSA9IG5vZGUuY2hpbGRyZW5ba107XG4gICAgICAgIGlmIChpbm5lck5vZGUgaW5zdGFuY2VvZiBHcm91cE5vZGUpIHtcbiAgICAgICAgICBncm91cENoaWxkcmVuSGlkZGVuID0gT2JqZWN0LmtleXMoaW5uZXJOb2RlLmNoaWxkcmVuKS5ldmVyeShcbiAgICAgICAgICAgIChpKSA9PiBpbm5lck5vZGUuY2hpbGRyZW5baV0uY29udHJvbC5oaWRkZW5cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlLmNoaWxkcmVuW2tdLmNvbnRyb2wuaGlkZGVuIHx8IGdyb3VwQ2hpbGRyZW5IaWRkZW47XG4gICAgICB9KTtcbiAgICAgIHJldHVybiAhYWxsU2VjdGlvbkNvbnRyb2xzSGlkZGVuO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBjbGlja1RhYih0YWJOdW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMuYWN0aXZlVGFiID0gdGFiTnVtYmVyO1xuICB9XG5cbiAgcHVibGljIGxvYWRQcmV2aW91c1RhYigpIHtcbiAgICBpZiAoIXRoaXMuaXNDdXJyZW50VGFiRmlyc3QoKSkge1xuICAgICAgdGhpcy5jbGlja1RhYih0aGlzLmFjdGl2ZVRhYiAtIDEpO1xuICAgICAgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgPSAwO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0N1cnJlbnRUYWJGaXJzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVUYWIgPT09IDA7XG4gIH1cblxuICBwdWJsaWMgaXNDdXJyZW50VGFiTGFzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVUYWIgPT09IHRoaXMubm9kZS5xdWVzdGlvblsncXVlc3Rpb25zJ10ubGVuZ3RoIC0gMTtcbiAgfVxuXG4gIHB1YmxpYyBsb2FkTmV4dFRhYigpIHtcbiAgICBpZiAoIXRoaXMuaXNDdXJyZW50VGFiTGFzdCgpKSB7XG4gICAgICB0aGlzLmNsaWNrVGFiKHRoaXMuYWN0aXZlVGFiICsgMSk7XG4gICAgICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9IDA7XG4gICAgfVxuICB9XG4gIHB1YmxpYyB0YWJTZWxlY3RlZCgkZXZlbnQpIHtcbiAgICB0aGlzLmFjdGl2ZVRhYiA9ICRldmVudDtcbiAgICB0aGlzLnNldFByZXZpb3VzVGFiKCk7XG4gIH1cbiAgcHVibGljIHNldFByZXZpb3VzVGFiKCkge1xuICAgIGlmICh0aGlzLm5vZGUgJiYgdGhpcy5ub2RlLmZvcm0pIHtcbiAgICAgIHRoaXMubm9kZS5mb3JtLnZhbHVlUHJvY2Vzc2luZ0luZm9bJ2xhc3RGb3JtVGFiJ10gPSB0aGlzLmFjdGl2ZVRhYjtcbiAgICB9XG4gIH1cbiAgcHVibGljIGhhc0Vycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlLmNvbnRyb2wudG91Y2hlZCAmJiAhdGhpcy5ub2RlLmNvbnRyb2wudmFsaWQ7XG4gIH1cblxuICBwdWJsaWMgZXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLmdldEVycm9ycyh0aGlzLm5vZGUpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbFRvQ29udHJvbChlcnJvcjogc3RyaW5nKSB7XG4gICAgY29uc3QgdGFiOiBudW1iZXIgPSArZXJyb3Iuc3BsaXQoJywnKVswXTtcbiAgICBjb25zdCBlbFNlbGVjdG9yID0gZXJyb3Iuc3BsaXQoJywnKVsxXSArICdpZCc7XG5cbiAgICAvLyB0aGUgdGFiIGNvbXBvbmVudHNcbiAgICBjb25zdCB0YWJDb21wb25lbnQ6IEZvcm1SZW5kZXJlckNvbXBvbmVudCA9IHRoaXMuY2hpbGRDb21wb25lbnRzW3RhYl07XG5cbiAgICB0aGlzLmNsaWNrVGFiKHRhYik7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIC8vIGV4cGFuZCBhbGwgc2VjdGlvbnNcbiAgICAgIHRhYkNvbXBvbmVudC5jaGlsZENvbXBvbmVudHMuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xuICAgICAgICBzZWN0aW9uLmlzQ29sbGFwc2VkID0gZmFsc2U7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgY29uc3QgZWxlbWVudDogYW55ID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlbFNlbGVjdG9yKTtcbiAgICAgICAgICBpZiAoZWxlbWVudCAhPT0gbnVsbCAmJiBlbGVtZW50LmZvY3VzKSB7XG4gICAgICAgICAgICBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LCAxMDApO1xuICAgICAgfSk7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRhdGVDaGFuZ2VkKG5vZGU6IExlYWZOb2RlKSB7XG4gICAgdGhpcy5ub2RlID0gbm9kZTtcbiAgfVxuXG4gIHB1YmxpYyB1cGxvYWQoZXZlbnQpIHtcbiAgICAvLyBUTyBETyBBZGQgdXBsb2FkIGZ1bmN0aW9uYWxpdHlcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVJbmZvcm1hdGlvbihpbmZvSWQpIHtcbiAgICBjb25zdCBlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5mb0lkKTtcblxuICAgIGlmIChlLnN0eWxlLmRpc3BsYXkgPT09ICdibG9jaycpIHtcbiAgICAgIGUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB9IGVsc2Uge1xuICAgICAgZS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXRFcnJvcnMobm9kZTogTm9kZUJhc2UpIHtcbiAgICBjb25zdCBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgPSBub2RlLmNvbnRyb2wuZXJyb3JzO1xuXG4gICAgaWYgKGVycm9ycykge1xuICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGlvbkZhY3RvcnkuZXJyb3JzKGVycm9ycywgbm9kZS5xdWVzdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9iYXNlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRpb25Nb2RlbCB9IGZyb20gJy4uL3ZhbGlkYXRpb24ubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VPcHRpb25zIHtcbiAgZGVmYXVsdFZhbHVlPzogYW55O1xuICBvcmlnaW5hbFZhbHVlPzogYW55O1xuICB0eXBlOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgb3JkZXI/OiBudW1iZXI7XG4gIGV4dHJhcz86IGFueTtcbiAgdmFsaWRhdG9ycz86IEFycmF5PFZhbGlkYXRpb25Nb2RlbD47XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgcXVlc3Rpb25PcHRpb25zPzogYW55O1xuICBoaWRlPzogc3RyaW5nIHwgYm9vbGVhbjtcbiAgYWxlcnQ/OiBhbnk7XG4gIGRpc2FibGU/OiBzdHJpbmcgfCBib29sZWFuO1xuICByZWFkT25seT86IHN0cmluZyB8IGJvb2xlYW47XG4gIGVuYWJsZUhpc3RvcmljYWxWYWx1ZT86IGJvb2xlYW47XG4gIGhpc3RvcmljYWxEYXRhVmFsdWU/OiBhbnk7XG4gIGNhbGN1bGF0ZUV4cHJlc3Npb24/OiBzdHJpbmc7XG4gIHF1ZXN0aW9ucz86IGFueTtcbiAgcGxhY2Vob2xkZXI/OiBhbnk7XG4gIGhpZGRlbj86IGFueTtcbiAgc2hvd1RpbWU/OiBhbnk7XG4gIHNob3dXZWVrPzogYW55O1xuICBoaXN0b3JpY2FsRGlzcGxheT86IGFueTtcbiAgcm93cz86IGFueTtcbiAgc2hvd1dlZWtzQWRkZXI/OiBhbnk7XG59XG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9iYXNlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRpb25Nb2RlbCB9IGZyb20gJy4uL3ZhbGlkYXRpb24ubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VPcHRpb25zIHtcbiAgZGVmYXVsdFZhbHVlPzogYW55O1xuICBvcmlnaW5hbFZhbHVlPzogYW55O1xuICB0eXBlOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgb3JkZXI/OiBudW1iZXI7XG4gIGV4dHJhcz86IGFueTtcbiAgdmFsaWRhdG9ycz86IEFycmF5PFZhbGlkYXRpb25Nb2RlbD47XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgcXVlc3Rpb25PcHRpb25zPzogYW55O1xuICBoaWRlPzogc3RyaW5nIHwgYm9vbGVhbjtcbiAgYWxlcnQ/OiBhbnk7XG4gIGRpc2FibGU/OiBzdHJpbmcgfCBib29sZWFuO1xuICByZWFkT25seT86IHN0cmluZyB8IGJvb2xlYW47XG4gIGVuYWJsZUhpc3RvcmljYWxWYWx1ZT86IGJvb2xlYW47XG4gIGhpc3RvcmljYWxEYXRhVmFsdWU/OiBhbnk7XG4gIGNhbGN1bGF0ZUV4cHJlc3Npb24/OiBzdHJpbmc7XG4gIHF1ZXN0aW9ucz86IGFueTtcbiAgcGxhY2Vob2xkZXI/OiBhbnk7XG4gIGhpZGRlbj86IGFueTtcbiAgc2hvd1RpbWU/OiBhbnk7XG4gIHNob3dXZWVrPzogYW55O1xuICBoaXN0b3JpY2FsRGlzcGxheT86IGFueTtcbiAgcm93cz86IGFueTtcbiAgc2hvd1dlZWtzQWRkZXI/OiBhbnk7XG4gIGRhdGVQaWNrZXJGb3JtYXQ/OiBhbnk7XG59XG4iXX0=
|
|
@@ -22,4 +22,4 @@ export class QuestionBase {
|
|
|
22
22
|
this.showHistoricalValueDate = v === undefined ? true : v;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlc3Rpb24tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1mb3JtZW50cnkvc3JjL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL3F1ZXN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLFlBQVk7SUF3Q3ZCLFlBQVksT0FBb0I7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztRQUN2RCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDO0lBQ3pELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxDQUFVO1FBQzNCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELDJCQUEyQixDQUFDLENBQVc7UUFDckMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2Jhc2Utb3B0aW9ucyc7XG5pbXBvcnQgeyBBZmVDb250cm9sVHlwZSB9IGZyb20gJy4uLy4uL2Fic3RyYWN0LWNvbnRyb2xzLWV4dGVuc2lvbi9hZmUtY29udHJvbC10eXBlJztcbmltcG9ydCB7IFZhbGlkYXRpb25Nb2RlbCB9IGZyb20gJy4vdmFsaWRhdGlvbi5tb2RlbCc7XG5cbmV4cG9ydCBjbGFzcyBRdWVzdGlvbkJhc2UgaW1wbGVtZW50cyBCYXNlT3B0aW9ucyB7XG4gIHR5cGU6IHN0cmluZztcbiAgb3JkZXI/OiBudW1iZXI7XG4gIHF1ZXN0aW9uT3B0aW9ucz86IGFueTtcbiAgcXVlc3Rpb25zPzogYW55O1xuICBwbGFjZWhvbGRlcj86IGFueTtcbiAgaGlkZGVuPzogYW55O1xuICBzaG93VGltZT86IGFueTtcbiAgc2hvd1dlZWs/OiBhbnk7XG4gIGhpc3RvcmljYWxEaXNwbGF5PzogYW55O1xuICByb3dzPzogYW55O1xuICBzaG93V2Vla3NBZGRlcj86IGFueTtcbiAgZGF0ZVBpY2tlckZvcm1hdDogc3RyaW5nO1xuICBrZXk6IHN0cmluZztcbiAgYWxlcnQ/OiBhbnk7XG5cbiAgbGFiZWw/OiBzdHJpbmc7XG4gIHByZWZpeD86IHN0cmluZztcbiAgcmVuZGVyaW5nVHlwZTogc3RyaW5nO1xuXG4gIG9yaWVudGF0aW9uPzogc3RyaW5nO1xuICBkZWZhdWx0VmFsdWU/OiBhbnk7XG4gIG9yaWdpbmFsVmFsdWU/OiBhbnk7XG4gIGVuYWJsZUhpc3RvcmljYWxWYWx1ZT86IGJvb2xlYW47XG4gIHNob3dIaXN0b3JpY2FsVmFsdWVEYXRlPzogYm9vbGVhbjtcbiAgaGlzdG9yaWNhbERhdGFWYWx1ZT86IGFueTtcbiAgZXh0cmFzPzogYW55O1xuICBkYXRhU291cmNlPzogc3RyaW5nO1xuICBkYXRhU291cmNlT3B0aW9ucz86IGFueTtcblxuICBjb250cm9sVHlwZT86IEFmZUNvbnRyb2xUeXBlO1xuICB2YWxpZGF0b3JzPzogQXJyYXk8VmFsaWRhdGlvbk1vZGVsPjtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBoaWRlPzogc3RyaW5nIHwgYm9vbGVhbjtcbiAgZGlzYWJsZT86IHN0cmluZyB8IGJvb2xlYW47XG4gIHJlYWRPbmx5Pzogc3RyaW5nIHwgYm9vbGVhbjtcbiAgY2FsY3VsYXRlRXhwcmVzc2lvbj86IHN0cmluZztcbiAgY29tcG9uZW50Q29uZmlnczogQXJyYXk8YW55PjtcbiAgb3B0aW9ucz86IGFueTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBCYXNlT3B0aW9ucykge1xuICAgIHRoaXMuZGVmYXVsdFZhbHVlID0gb3B0aW9ucy5kZWZhdWx0VmFsdWU7XG4gICAgdGhpcy5vcmlnaW5hbFZhbHVlID0gb3B0aW9ucy5vcmlnaW5hbFZhbHVlO1xuICAgIHRoaXMuZXh0cmFzID0gb3B0aW9ucy5leHRyYXM7XG4gICAgdGhpcy5yZW5kZXJpbmdUeXBlID0gb3B0aW9ucy50eXBlO1xuICAgIHRoaXMua2V5ID0gb3B0aW9ucy5rZXkgfHwgJyc7XG4gICAgdGhpcy5sYWJlbCA9IG9wdGlvbnMubGFiZWwgfHwgJyc7XG4gICAgdGhpcy52YWxpZGF0b3JzID0gb3B0aW9ucy52YWxpZGF0b3JzIHx8IFtdO1xuICAgIHRoaXMucmVxdWlyZWQgPSBvcHRpb25zLnJlcXVpcmVkO1xuICAgIHRoaXMuaGlkZSA9IG9wdGlvbnMuaGlkZTtcbiAgICB0aGlzLmRpc2FibGUgPSBvcHRpb25zLmRpc2FibGU7XG4gICAgdGhpcy5yZWFkT25seSA9IG9wdGlvbnMucmVhZE9ubHk7XG4gICAgdGhpcy5hbGVydCA9IG9wdGlvbnMuYWxlcnQ7XG4gICAgdGhpcy5oaXN0b3JpY2FsRGF0YVZhbHVlID0gb3B0aW9ucy5oaXN0b3JpY2FsRGF0YVZhbHVlO1xuICAgIHRoaXMuY2FsY3VsYXRlRXhwcmVzc2lvbiA9IG9wdGlvbnMuY2FsY3VsYXRlRXhwcmVzc2lvbjtcbiAgfVxuXG4gIHNldEhpc3RvcmljYWxWYWx1ZSh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5lbmFibGVIaXN0b3JpY2FsVmFsdWUgPSB2O1xuICB9XG4gIHNob3dIaXN0b3JpY2FsRW5jb3VudGVyRGF0ZSh2PzogYm9vbGVhbikge1xuICAgIHRoaXMuc2hvd0hpc3RvcmljYWxWYWx1ZURhdGUgPSB2ID09PSB1bmRlZmluZWQgPyB0cnVlIDogdjtcbiAgfVxufVxuIl19
|
|
@@ -48,7 +48,7 @@ export class HistoricalEncounterDataService {
|
|
|
48
48
|
if (answers.length > 0) {
|
|
49
49
|
return {
|
|
50
50
|
value: answers[0],
|
|
51
|
-
valueDate: moment(object.encounterDatetime).format('
|
|
51
|
+
valueDate: moment(object.encounterDatetime).format('YYYY-MM-DDTHH:mm:ss')
|
|
52
52
|
};
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -167,4 +167,4 @@ HistoricalEncounterDataService.decorators = [
|
|
|
167
167
|
{ type: Injectable }
|
|
168
168
|
];
|
|
169
169
|
HistoricalEncounterDataService.ctorParameters = () => [];
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1lbmNvdW50ZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9zZXJ2aWNlcy9oaXN0b3JpY2FsLWVuY291bnRlci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyw4QkFBOEI7SUFFekM7UUFEQSxnQkFBVyxHQUFRLEVBQUUsQ0FBQztJQUNQLENBQUM7SUFFaEIsa0JBQWtCLENBQUMsSUFBWSxFQUFFLFVBQWU7UUFDOUMsTUFBTSxRQUFRLEdBQVE7WUFDcEIsSUFBSSxFQUFFLEVBQUU7WUFDUixRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBTyxFQUFFO2dCQUN4QyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUN4QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDNUQ7Z0JBQ0QsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxhQUFhLEVBQUUsR0FBRyxFQUFFO2dCQUNsQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDdkIsQ0FBQztZQUNELGVBQWUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsRUFBRTtnQkFDN0IsT0FBTyxRQUFRLENB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QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ2hDO2FBQ0Y7aUJBQU07Z0JBQ0wsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QjtTQUNGO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7O1lBbkxGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEhpc3RvcmljYWxFbmNvdW50ZXJEYXRhU2VydmljZSB7XG4gIGRhdGFTb3VyY2VzOiBhbnkgPSB7fTtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHJlZ2lzdGVyRW5jb3VudGVycyhuYW1lOiBzdHJpbmcsIGVuY291bnRlcnM6IGFueSkge1xuICAgIGNvbnN0IGVuY1N0b3JlOiBhbnkgPSB7XG4gICAgICBkYXRhOiBbXSxcbiAgICAgIGdldFZhbHVlOiAoa2V5OiBzdHJpbmcsIGluZGV4ID0gMCk6IGFueSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGhBcnJheSA9IGtleS5zcGxpdCgnLicpO1xuICAgICAgICBpZiAocGF0aEFycmF5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRGaXJzdFZhbHVlKHBhdGhBcnJheSwgZW5jU3RvcmUuZGF0YVtpbmRleF0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbmNTdG9yZS5kYXRhW2luZGV4XVtrZXldO1xuICAgICAgfSxcbiAgICAgIGdldEFsbE9iamVjdHM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY1N0b3JlLmRhdGE7XG4gICAgICB9LFxuICAgICAgZ2V0U2luZ2xlT2JqZWN0OiAoaW5kZXggPSAwKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNTdG9yZS5kYXRhW2luZGV4XTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKF8uaXNBcnJheShlbmNvdW50ZXJzKSkge1xuICAgICAgY29uc3QgZ3JvdXA6IEFycmF5PGFueT4gPSBbXTtcbiAgICAgIF8uZWFjaChlbmNvdW50ZXJzLCAoZW5jb3VudGVyKSA9PiB7XG4gICAgICAgIGdyb3VwLnB1c2godGhpcy5fdHJhbnNmb3JtRW5jb3VudGVyKGVuY291bnRlcikpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIFNvcnQgdGhlbSBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXJcbiAgICAgIGVuY1N0b3JlLmRhdGEgPSBfLnNvcnRCeShncm91cCwgJ2VuY291bnRlckRhdGV0aW1lJykucmV2ZXJzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBBc3N1bWUgYSBzaW5nbGUgb3Blbm1ycyByZXN0IGVuY291bnRlciBvYmplY3QuXG4gICAgICBlbmNTdG9yZS5kYXRhLnB1c2godGhpcy5fdHJhbnNmb3JtRW5jb3VudGVyKGVuY291bnRlcnMpKTtcbiAgICB9XG5cbiAgICB0aGlzLnB1dE9iamVjdChuYW1lLCBlbmNTdG9yZSk7XG4gIH1cblxuICBwdXRPYmplY3QobmFtZSwgb2JqZWN0KTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU291cmNlc1tuYW1lXSA9IG9iamVjdDtcbiAgfVxuXG4gIGdldE9iamVjdChuYW1lOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VzW25hbWVdIHx8IG51bGw7XG4gIH1cblxuICBnZXRGaXJzdFZhbHVlKHBhdGg6IEFycmF5PHN0cmluZz4sIG9iamVjdDogYW55KTogYW55IHtcbiAgICBjb25zdCBhbnN3ZXJzID0gW107XG5cbiAgICB0aGlzLmdldEFsbFZhbHVlcyhwYXRoLCBvYmplY3QsIGFuc3dlcnMpO1xuXG4gICAgaWYgKGFuc3dlcnMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWU6IGFuc3dlcnNbMF0sXG4gICAgICAgIHZhbHVlRGF0ZTogbW9tZW50KG9iamVjdC5lbmNvdW50ZXJEYXRldGltZSkuZm9ybWF0KCdsbCcpXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGdldEFsbFZhbHVlcyhwYXRoLCBvYmplY3QsIGFuc3dlcnMpIHtcbiAgICBpZiAoXy5pc05pbChvYmplY3QpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHBhdGgubGVuZ3RoIDw9IDEpIHtcbiAgICAgIGlmICghXy5pc05pbChvYmplY3RbcGF0aFswXV0pKSB7XG4gICAgICAgIGFuc3dlcnMucHVzaChvYmplY3RbcGF0aFswXV0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld3BhdGggPSBwYXRoLnNwbGljZSgxKTtcbiAgICBjb25zdCBrZXkgPSBwYXRoWzBdO1xuXG4gICAgaWYgKF8uaXNBcnJheShvYmplY3Rba2V5XSkgJiYgb2JqZWN0W2tleV0ubGVuZ3RoID4gMCkge1xuICAgICAgXy5lYWNoKG9iamVjdFtrZXldLCAoY2hpbGRPYmplY3QpID0+IHtcbiAgICAgICAgdGhpcy5nZXRBbGxWYWx1ZXMobmV3cGF0aC5zbGljZSgwKSwgY2hpbGRPYmplY3QsIGFuc3dlcnMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ2V0QWxsVmFsdWVzKG5ld3BhdGguc2xpY2UoMCksIG9iamVjdFtrZXldLCBhbnN3ZXJzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF90cmFuc2Zvcm1FbmNvdW50ZXIoZW5jb3VudGVyOiBhbnkpIHtcbiAgICBpZiAoXy5pc05pbChlbmNvdW50ZXIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFRyYW5zZm9ybSBlbmNvdW50ZXIgTGV2ZWwgZGV0YWlscyB0byBrZXkgdmFsdWUgcGFpcnMuXG4gICAgY29uc3QgcHJldkVuY291bnRlcjogYW55ID0ge1xuICAgICAgZW5jb3VudGVyRGF0ZXRpbWU6IGVuY291bnRlci5lbmNvdW50ZXJEYXRldGltZVxuICAgIH07XG5cbiAgICBpZiAoZW5jb3VudGVyLmxvY2F0aW9uICYmIGVuY291bnRlci5sb2NhdGlvbi51dWlkKSB7XG4gICAgICBwcmV2RW5jb3VudGVyLmxvY2F0aW9uID0gZW5jb3VudGVyLmxvY2F0aW9uLnV1aWQ7XG4gICAgfVxuXG4gICAgaWYgKGVuY291bnRlci5wYXRpZW50ICYmIGVuY291bnRlci5wYXRpZW50LnV1aWQpIHtcbiAgICAgIHByZXZFbmNvdW50ZXIucGF0aWVudCA9IGVuY291bnRlci5wYXRpZW50LnV1aWQ7XG4gICAgfVxuXG4gICAgaWYgKGVuY291bnRlci5mb3JtICYmIGVuY291bnRlci5mb3JtLnV1aWQpIHtcbiAgICAgIHByZXZFbmNvdW50ZXIuZm9ybSA9IGVuY291bnRlci5mb3JtLnV1aWQ7XG4gICAgfVxuXG4gICAgaWYgKGVuY291bnRlci5lbmNvdW50ZXJUeXBlICYmIGVuY291bnRlci5lbmNvdW50ZXJUeXBlLnV1aWQpIHtcbiAgICAgIHByZXZFbmNvdW50ZXIuZW5jb3VudGVyVHlwZSA9IGVuY291bnRlci5lbmNvdW50ZXJUeXBlLnV1aWQ7XG4gICAgfVxuXG4gICAgaWYgKGVuY291bnRlci5wcm92aWRlcikge1xuICAgICAgY29uc3QgcHJvdmlkZXIgPSBlbmNvdW50ZXIucHJvdmlkZXI7XG4gICAgICBwcmV2RW5jb3VudGVyLnByb3ZpZGVyID0gcHJvdmlkZXIudXVpZDtcbiAgICB9XG5cbiAgICAvLyBEZWFsIHdpdGggb2JzLlxuICAgIGlmIChlbmNvdW50ZXIub2JzKSB7XG4gICAgICBjb25zdCBwcm9jZXNzZWRPYnM6IGFueSA9IHRoaXMuX3RyYW5zZm9ybU9icyhlbmNvdW50ZXIub2JzKTtcblxuICAgICAgLy8gYWRkIGluIGluZGl2aWR1YWwgcHJvY2Vzc2VkIG9icyB0byBwcmV2RW5jb3VudGVyXG4gICAgICBfLmV4dGVuZChwcmV2RW5jb3VudGVyLCBwcm9jZXNzZWRPYnMpO1xuICAgIH1cblxuICAgIHJldHVybiBwcmV2RW5jb3VudGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtT2JzKG9iczogYW55KTogYW55IHtcbiAgICBpZiAoIW9icykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzUmVwOiBhbnkgPSB7fTtcbiAgICBpZiAoXy5pc0FycmF5KG9icykpIHtcbiAgICAgIF8uZWFjaChvYnMsIChzaW5nbGVPYnMpID0+IHtcbiAgICAgICAgdGhpcy5fYXVndW1lbnRPYnMob2JzUmVwLCB0aGlzLl90cmFuc2Zvcm1PYnMoc2luZ2xlT2JzKSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBvYnNSZXA7XG4gICAgfSBlbHNlIGlmIChvYnMuZ3JvdXBNZW1iZXJzKSB7XG4gICAgICBjb25zdCBncm91cDogYW55ID0ge307XG4gICAgICBfLmVhY2gob2JzLmdyb3VwTWVtYmVycywgKG1lbWJlcikgPT4ge1xuICAgICAgICB0aGlzLl9hdWd1bWVudE9icyhncm91cCwgdGhpcy5fdHJhbnNmb3JtT2JzKG1lbWJlcikpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIEhhbmRsZSBhbHJlYWR5IGV4aXN0aW5nIGRhdGFcbiAgICAgIGlmIChvYnNSZXBbb2JzLmNvbmNlcHQudXVpZF0gJiYgXy5pc0FycmF5KG9ic1JlcFtvYnMuY29uY2VwdC51dWlkXSkpIHtcbiAgICAgICAgb2JzUmVwW29icy5jb25jZXB0LnV1aWRdLnB1c2goZ3JvdXApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JzUmVwW29icy5jb25jZXB0LnV1aWRdID0gW2dyb3VwXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvYnNSZXA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChvYnMudmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgb2JzUmVwW29icy5jb25jZXB0LnV1aWRdID0gb2JzLnZhbHVlLnV1aWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnNSZXBbb2JzLmNvbmNlcHQudXVpZF0gPSBvYnMudmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JzUmVwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2F1Z3VtZW50T2JzKGV4aXN0aW5nOiBhbnksIHRvQWRkOiBhbnkpOiBhbnkge1xuICAgIGZvciAoY29uc3Qga2V5IGluIHRvQWRkKSB7XG4gICAgICBpZiAoXy5oYXMoZXhpc3RpbmcsIGtleSkpIHtcbiAgICAgICAgLy8gY2hlY2sgaWYgbm90IGFuIGFycmF5IHlldFxuICAgICAgICBpZiAoIV8uaXNBcnJheShleGlzdGluZ1trZXldKSkge1xuICAgICAgICAgIGNvbnN0IHRlbXAgPSBleGlzdGluZ1trZXldO1xuICAgICAgICAgIGV4aXN0aW5nW2tleV0gPSBbdGVtcF07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBpbmNvbWluZyBpcyBhcnJheSAoZm9yIGdyb3VwIG1lbWJlcnMpXG4gICAgICAgIGlmIChfLmlzQXJyYXkodG9BZGRba2V5XSkpIHtcbiAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShleGlzdGluZ1trZXldLCB0b0FkZFtrZXldKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBleGlzdGluZ1trZXldLnB1c2godG9BZGRba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4aXN0aW5nW2tleV0gPSB0b0FkZFtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXhpc3Rpbmc7XG4gIH1cbn1cbiJdfQ==
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbC1lbmNvdW50ZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvZm9ybS1lbnRyeS9zZXJ2aWNlcy9oaXN0b3JpY2FsLWVuY291bnRlci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRTVCLE1BQU0sT0FBTyw4QkFBOEI7SUFFekM7UUFEQSxnQkFBVyxHQUFRLEVBQUUsQ0FBQztJQUNQLENBQUM7SUFFaEIsa0JBQWtCLENBQUMsSUFBWSxFQUFFLFVBQWU7UUFDOUMsTUFBTSxRQUFRLEdBQVE7WUFDcEIsSUFBSSxFQUFFLEVBQUU7WUFDUixRQUFRLEVBQUUsQ0FBQyxHQUFXLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBTyxFQUFFO2dCQUN4QyxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO29CQUN4QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDNUQ7Z0JBQ0QsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCxhQUFhLEVBQUUsR0FBRyxFQUFFO2dCQUNsQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDdkIsQ0FBQztZQUNELGVBQWUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsRUFBRTtnQkFDN0IsT0FBTyxRQUFRLENB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Q0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7aUJBQ2hDO2FBQ0Y7aUJBQU07Z0JBQ0wsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUM1QjtTQUNGO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7O1lBckxGLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEhpc3RvcmljYWxFbmNvdW50ZXJEYXRhU2VydmljZSB7XG4gIGRhdGFTb3VyY2VzOiBhbnkgPSB7fTtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHJlZ2lzdGVyRW5jb3VudGVycyhuYW1lOiBzdHJpbmcsIGVuY291bnRlcnM6IGFueSkge1xuICAgIGNvbnN0IGVuY1N0b3JlOiBhbnkgPSB7XG4gICAgICBkYXRhOiBbXSxcbiAgICAgIGdldFZhbHVlOiAoa2V5OiBzdHJpbmcsIGluZGV4ID0gMCk6IGFueSA9PiB7XG4gICAgICAgIGNvbnN0IHBhdGhBcnJheSA9IGtleS5zcGxpdCgnLicpO1xuICAgICAgICBpZiAocGF0aEFycmF5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRGaXJzdFZhbHVlKHBhdGhBcnJheSwgZW5jU3RvcmUuZGF0YVtpbmRleF0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBlbmNTdG9yZS5kYXRhW2luZGV4XVtrZXldO1xuICAgICAgfSxcbiAgICAgIGdldEFsbE9iamVjdHM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIGVuY1N0b3JlLmRhdGE7XG4gICAgICB9LFxuICAgICAgZ2V0U2luZ2xlT2JqZWN0OiAoaW5kZXggPSAwKSA9PiB7XG4gICAgICAgIHJldHVybiBlbmNTdG9yZS5kYXRhW2luZGV4XTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKF8uaXNBcnJheShlbmNvdW50ZXJzKSkge1xuICAgICAgY29uc3QgZ3JvdXA6IEFycmF5PGFueT4gPSBbXTtcbiAgICAgIF8uZWFjaChlbmNvdW50ZXJzLCAoZW5jb3VudGVyKSA9PiB7XG4gICAgICAgIGdyb3VwLnB1c2godGhpcy5fdHJhbnNmb3JtRW5jb3VudGVyKGVuY291bnRlcikpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIFNvcnQgdGhlbSBpbiByZXZlcnNlIGNocm9ub2xvZ2ljYWwgb3JkZXJcbiAgICAgIGVuY1N0b3JlLmRhdGEgPSBfLnNvcnRCeShncm91cCwgJ2VuY291bnRlckRhdGV0aW1lJykucmV2ZXJzZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBBc3N1bWUgYSBzaW5nbGUgb3Blbm1ycyByZXN0IGVuY291bnRlciBvYmplY3QuXG4gICAgICBlbmNTdG9yZS5kYXRhLnB1c2godGhpcy5fdHJhbnNmb3JtRW5jb3VudGVyKGVuY291bnRlcnMpKTtcbiAgICB9XG5cbiAgICB0aGlzLnB1dE9iamVjdChuYW1lLCBlbmNTdG9yZSk7XG4gIH1cblxuICBwdXRPYmplY3QobmFtZSwgb2JqZWN0KTogdm9pZCB7XG4gICAgdGhpcy5kYXRhU291cmNlc1tuYW1lXSA9IG9iamVjdDtcbiAgfVxuXG4gIGdldE9iamVjdChuYW1lOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2VzW25hbWVdIHx8IG51bGw7XG4gIH1cblxuICBnZXRGaXJzdFZhbHVlKHBhdGg6IEFycmF5PHN0cmluZz4sIG9iamVjdDogYW55KTogYW55IHtcbiAgICBjb25zdCBhbnN3ZXJzID0gW107XG5cbiAgICB0aGlzLmdldEFsbFZhbHVlcyhwYXRoLCBvYmplY3QsIGFuc3dlcnMpO1xuXG4gICAgaWYgKGFuc3dlcnMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsdWU6IGFuc3dlcnNbMF0sXG4gICAgICAgIHZhbHVlRGF0ZTogbW9tZW50KG9iamVjdC5lbmNvdW50ZXJEYXRldGltZSkuZm9ybWF0KFxuICAgICAgICAgICdZWVlZLU1NLUREVEhIOm1tOnNzJ1xuICAgICAgICApXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGdldEFsbFZhbHVlcyhwYXRoLCBvYmplY3QsIGFuc3dlcnMpIHtcbiAgICBpZiAoXy5pc05pbChvYmplY3QpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHBhdGgubGVuZ3RoIDw9IDEpIHtcbiAgICAgIGlmICghXy5pc05pbChvYmplY3RbcGF0aFswXV0pKSB7XG4gICAgICAgIGFuc3dlcnMucHVzaChvYmplY3RbcGF0aFswXV0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld3BhdGggPSBwYXRoLnNwbGljZSgxKTtcbiAgICBjb25zdCBrZXkgPSBwYXRoWzBdO1xuXG4gICAgaWYgKF8uaXNBcnJheShvYmplY3Rba2V5XSkgJiYgb2JqZWN0W2tleV0ubGVuZ3RoID4gMCkge1xuICAgICAgXy5lYWNoKG9iamVjdFtrZXldLCAoY2hpbGRPYmplY3QpID0+IHtcbiAgICAgICAgdGhpcy5nZXRBbGxWYWx1ZXMobmV3cGF0aC5zbGljZSgwKSwgY2hpbGRPYmplY3QsIGFuc3dlcnMpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZ2V0QWxsVmFsdWVzKG5ld3BhdGguc2xpY2UoMCksIG9iamVjdFtrZXldLCBhbnN3ZXJzKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF90cmFuc2Zvcm1FbmNvdW50ZXIoZW5jb3VudGVyOiBhbnkpIHtcbiAgICBpZiAoXy5pc05pbChlbmNvdW50ZXIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFRyYW5zZm9ybSBlbmNvdW50ZXIgTGV2ZWwgZGV0YWlscyB0byBrZXkgdmFsdWUgcGFpcnMuXG4gICAgY29uc3QgcHJldkVuY291bnRlcjogYW55ID0ge1xuICAgICAgZW5jb3VudGVyRGF0ZXRpbWU6IGVuY291bnRlci5lbmNvdW50ZXJEYXRldGltZVxuICAgIH07XG5cbiAgICBpZiAoZW5jb3VudGVyLmxvY2F0aW9uICYmIGVuY291bnRlci5sb2NhdGlvbi51dWlkKSB7XG4gICAgICBwcmV2RW5jb3VudGVyLmxvY2F0aW9uID0gZW5jb3VudGVyLmxvY2F0aW9uLnV1aWQ7XG4gICAgfVxuXG4gICAgaWYgKGVuY291bnRlci5wYXRpZW50ICYmIGVuY291bnRlci5wYXRpZW50LnV1aWQpIHtcbiAgICAgIHByZXZFbmNvdW50ZXIucGF0aWVudCA9IGVuY291bnRlci5wYXRpZW50LnV1aWQ7XG4gICAgfVxuXG4gICAgaWYgKGVuY291bnRlci5mb3JtICYmIGVuY291bnRlci5mb3JtLnV1aWQpIHtcbiAgICAgIHByZXZFbmNvdW50ZXIuZm9ybSA9IGVuY291bnRlci5mb3JtLnV1aWQ7XG4gICAgfVxuXG4gICAgaWYgKGVuY291bnRlci5lbmNvdW50ZXJUeXBlICYmIGVuY291bnRlci5lbmNvdW50ZXJUeXBlLnV1aWQpIHtcbiAgICAgIHByZXZFbmNvdW50ZXIuZW5jb3VudGVyVHlwZSA9IGVuY291bnRlci5lbmNvdW50ZXJUeXBlLnV1aWQ7XG4gICAgfVxuXG4gICAgaWYgKGVuY291bnRlci5wcm92aWRlcikge1xuICAgICAgY29uc3QgcHJvdmlkZXIgPSBlbmNvdW50ZXIucHJvdmlkZXI7XG4gICAgICBwcmV2RW5jb3VudGVyLnByb3ZpZGVyID0gcHJvdmlkZXIudXVpZDtcbiAgICB9XG5cbiAgICAvLyBEZWFsIHdpdGggb2JzLlxuICAgIGlmIChlbmNvdW50ZXIub2JzKSB7XG4gICAgICBjb25zdCBwcm9jZXNzZWRPYnM6IGFueSA9IHRoaXMuX3RyYW5zZm9ybU9icyhlbmNvdW50ZXIub2JzKTtcblxuICAgICAgLy8gYWRkIGluIGluZGl2aWR1YWwgcHJvY2Vzc2VkIG9icyB0byBwcmV2RW5jb3VudGVyXG4gICAgICBfLmV4dGVuZChwcmV2RW5jb3VudGVyLCBwcm9jZXNzZWRPYnMpO1xuICAgIH1cblxuICAgIHJldHVybiBwcmV2RW5jb3VudGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtT2JzKG9iczogYW55KTogYW55IHtcbiAgICBpZiAoIW9icykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgb2JzUmVwOiBhbnkgPSB7fTtcbiAgICBpZiAoXy5pc0FycmF5KG9icykpIHtcbiAgICAgIF8uZWFjaChvYnMsIChzaW5nbGVPYnMpID0+IHtcbiAgICAgICAgdGhpcy5fYXVndW1lbnRPYnMob2JzUmVwLCB0aGlzLl90cmFuc2Zvcm1PYnMoc2luZ2xlT2JzKSk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiBvYnNSZXA7XG4gICAgfSBlbHNlIGlmIChvYnMuZ3JvdXBNZW1iZXJzKSB7XG4gICAgICBjb25zdCBncm91cDogYW55ID0ge307XG4gICAgICBfLmVhY2gob2JzLmdyb3VwTWVtYmVycywgKG1lbWJlcikgPT4ge1xuICAgICAgICB0aGlzLl9hdWd1bWVudE9icyhncm91cCwgdGhpcy5fdHJhbnNmb3JtT2JzKG1lbWJlcikpO1xuICAgICAgfSk7XG5cbiAgICAgIC8vIEhhbmRsZSBhbHJlYWR5IGV4aXN0aW5nIGRhdGFcbiAgICAgIGlmIChvYnNSZXBbb2JzLmNvbmNlcHQudXVpZF0gJiYgXy5pc0FycmF5KG9ic1JlcFtvYnMuY29uY2VwdC51dWlkXSkpIHtcbiAgICAgICAgb2JzUmVwW29icy5jb25jZXB0LnV1aWRdLnB1c2goZ3JvdXApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JzUmVwW29icy5jb25jZXB0LnV1aWRdID0gW2dyb3VwXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvYnNSZXA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChvYnMudmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgICAgb2JzUmVwW29icy5jb25jZXB0LnV1aWRdID0gb2JzLnZhbHVlLnV1aWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvYnNSZXBbb2JzLmNvbmNlcHQudXVpZF0gPSBvYnMudmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JzUmVwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2F1Z3VtZW50T2JzKGV4aXN0aW5nOiBhbnksIHRvQWRkOiBhbnkpOiBhbnkge1xuICAgIGZvciAoY29uc3Qga2V5IGluIHRvQWRkKSB7XG4gICAgICBpZiAoXy5oYXMoZXhpc3RpbmcsIGtleSkpIHtcbiAgICAgICAgLy8gY2hlY2sgaWYgbm90IGFuIGFycmF5IHlldFxuICAgICAgICBpZiAoIV8uaXNBcnJheShleGlzdGluZ1trZXldKSkge1xuICAgICAgICAgIGNvbnN0IHRlbXAgPSBleGlzdGluZ1trZXldO1xuICAgICAgICAgIGV4aXN0aW5nW2tleV0gPSBbdGVtcF07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBpbmNvbWluZyBpcyBhcnJheSAoZm9yIGdyb3VwIG1lbWJlcnMpXG4gICAgICAgIGlmIChfLmlzQXJyYXkodG9BZGRba2V5XSkpIHtcbiAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShleGlzdGluZ1trZXldLCB0b0FkZFtrZXldKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBleGlzdGluZ1trZXldLnB1c2godG9BZGRba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4aXN0aW5nW2tleV0gPSB0b0FkZFtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZXhpc3Rpbmc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './public_api';
|
|
5
|
-
export { AfeNgSelectComponent as
|
|
6
|
-
export { AppointmentsOverviewComponent as
|
|
5
|
+
export { AfeNgSelectComponent as ɵcv } from './components/afe-ng-select.component';
|
|
6
|
+
export { AppointmentsOverviewComponent as ɵcw } from './components/appointments-overview/appointments-overview.component';
|
|
7
7
|
export { CheckboxControlComponent as ɵw } from './components/check-box/checkbox.component';
|
|
8
8
|
export { CheckboxModule as ɵv } from './components/check-box/checkbox.module';
|
|
9
9
|
export { CustomComponentWrapperModule as ɵco } from './components/custom-component-wrapper/custom-component-wrapper..module';
|
|
@@ -51,8 +51,8 @@ export { OwlDialogModule as ɵy } from './components/ngx-pick-datetime/lib/dialo
|
|
|
51
51
|
export { OWL_DIALOG_DEFAULT_OPTIONS as ɵbd, OWL_DIALOG_SCROLL_STRATEGY as ɵba, OWL_DIALOG_SCROLL_STRATEGY_PROVIDER as ɵbc, OWL_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY as ɵbb, OwlDialogService as ɵbe } from './components/ngx-pick-datetime/lib/dialog/dialog.service';
|
|
52
52
|
export { RemoteSelectComponent as ɵq } from './components/ngx-remote-select/ngx-remote-select.component';
|
|
53
53
|
export { NgxRemoteSelectModule as ɵp } from './components/ngx-remote-select/ngx-remote-select.module';
|
|
54
|
-
export {
|
|
55
|
-
export {
|
|
54
|
+
export { TabSetComponent as ɵcs } from './components/ngx-tabset/components/ngx-tab-set.component';
|
|
55
|
+
export { TabComponent as ɵcr } from './components/ngx-tabset/components/tab.component';
|
|
56
56
|
export { HoverClassDirective as ɵct } from './components/ngx-tabset/directives/hover-class.directive';
|
|
57
57
|
export { NgxTabSetModule as ɵcq } from './components/ngx-tabset/modules/ngx-tabset.module';
|
|
58
58
|
export { NumberInputComponent as ɵf } from './components/number-input/number-input.component';
|
|
@@ -61,16 +61,15 @@ export { OptGroup as ɵd } from './components/select/optgroup.directive';
|
|
|
61
61
|
export { Option as ɵc } from './components/select/option.directive';
|
|
62
62
|
export { Select as ɵb } from './components/select/select.component';
|
|
63
63
|
export { SelectModule as ɵa } from './components/select/select.module';
|
|
64
|
-
export { CollapseDirective as
|
|
65
|
-
export { HistoricalValueDirective as
|
|
66
|
-
export { ErrorRendererComponent as
|
|
67
|
-
export { ExpressionRunner as
|
|
68
|
-
export { HidersDisablersFactory as
|
|
69
|
-
export { AlertsFactory as
|
|
64
|
+
export { CollapseDirective as ɵdb } from './form-entry/directives/collapse.directive';
|
|
65
|
+
export { HistoricalValueDirective as ɵcx } from './form-entry/directives/historical-value-directive';
|
|
66
|
+
export { ErrorRendererComponent as ɵcz } from './form-entry/error-renderer/error-renderer.component';
|
|
67
|
+
export { ExpressionRunner as ɵdd } from './form-entry/expression-runner/expression-runner';
|
|
68
|
+
export { HidersDisablersFactory as ɵdc } from './form-entry/form-factory/hiders-disablers.factory';
|
|
69
|
+
export { AlertsFactory as ɵdf } from './form-entry/form-factory/show-messages.factory';
|
|
70
70
|
export { FormRendererComponent as ɵcu } from './form-entry/form-renderer/form-renderer.component';
|
|
71
|
-
export {
|
|
72
|
-
export {
|
|
73
|
-
export {
|
|
74
|
-
export { DebugModeService as ɵdf } from './form-entry/services/debug-mode.service';
|
|
71
|
+
export { HistoricalFieldHelperService as ɵcy } from './form-entry/helpers/historical-field-helper-service';
|
|
72
|
+
export { TimeAgoPipe as ɵda } from './form-entry/pipes/time-ago.pipe';
|
|
73
|
+
export { DebugModeService as ɵde } from './form-entry/services/debug-mode.service';
|
|
75
74
|
export { SharedModule as ɵs } from './shared.module';
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbm1ycy1uZ3gtZm9ybWVudHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvb3Blbm1ycy1uZ3gtZm9ybWVudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEdBQUcsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxHQUFHLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUN4SCxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDekYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsNEJBQTRCLElBQUksR0FBRyxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDM0gsT0FBTyxFQUFDLCtCQUErQixJQUFJLEdBQUcsRUFBQyxNQUFNLDBFQUEwRSxDQUFDO0FBQ2hJLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUNySCxPQUFPLEVBQUMsNkJBQTZCLElBQUksR0FBRyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDMUgsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN2RyxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFDakYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLGlFQUFpRSxDQUFD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QUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNuRyxPQUFPLEVBQUMsc0JBQXNCLElBQUksR0FBRyxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDbkcsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEdBQUcsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEdBQUcsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsY0FBYyxJQUFJLEdBQUcsRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQzdGLE9BQU8sRUFBQyw0QkFBNEIsSUFBSSxHQUFHLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUN6RyxPQUFPLEVBQUMsV0FBVyxJQUFJLEdBQUcsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBV3BFLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxHQUFHLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuXG5leHBvcnQge0FmZU5nU2VsZWN0Q29tcG9uZW50IGFzIMm1Y3d9IGZyb20gJy4vY29tcG9uZW50cy9hZmUtbmctc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge0FwcG9pbnRtZW50c092ZXJ2aWV3Q29tcG9uZW50IGFzIMm1Y3h9IGZyb20gJy4vY29tcG9uZW50cy9hcHBvaW50bWVudHMtb3ZlcnZpZXcvYXBwb2ludG1lbnRzLW92ZXJ2aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge0NoZWNrYm94Q29udHJvbENvbXBvbmVudCBhcyDJtXd9IGZyb20gJy4vY29tcG9uZW50cy9jaGVjay1ib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCB7Q2hlY2tib3hNb2R1bGUgYXMgybV2fSBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2stYm94L2NoZWNrYm94Lm1vZHVsZSc7XG5leHBvcnQge0N1c3RvbUNvbXBvbmVudFdyYXBwZXJNb2R1bGUgYXMgybVjb30gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1jb21wb25lbnQtd3JhcHBlci9jdXN0b20tY29tcG9uZW50LXdyYXBwZXIuLm1vZHVsZSc7XG5leHBvcnQge0N1c3RvbUNvbXBvbmVudFdyYXBwZXJDb21wb25lbnQgYXMgybVjcH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1jb21wb25lbnQtd3JhcHBlci9jdXN0b20tY29tcG9uZW50LXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCB7Q3VzdG9tQ29udHJvbFdyYXBwZXJNb2R1bGUgYXMgybVjbX0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1jb250cm9sLXdyYXBwZXIvY3VzdG9tLWNvbnRyb2wtd3JhcHBlci4ubW9kdWxlJztcbmV4cG9ydCB7Q3VzdG9tQ29udHJvbFdyYXBwZXJDb21wb25lbnQgYXMgybVjbn0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1jb250cm9sLXdyYXBwZXIvY3VzdG9tLWNvbnRyb2wtd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRlUGlja2VyQ29tcG9uZW50IGFzIMm1a30gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0ZVRpbWVQaWNrZXJDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQge01vZGFsQ29tcG9uZW50IGFzIMm1bX0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvcGlja2VyLW1vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5leHBvcnQge01vbWVudFBpcGUgYXMgybVufSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci9waXBlcy9tb21lbnQucGlwZSc7XG5leHBvcnQge1RpbWVQaWNrZXJDb21wb25lbnQgYXMgybVsfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0ZS10aW1lLXBpY2tlci90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWxlVXBsb2FkQ29tcG9uZW50IGFzIMm1dX0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudCc7XG5leHBvcnQge1JlbW90ZUZpbGVVcGxvYWRNb2R1bGUgYXMgybVyfSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQubW9kdWxlJztcbmV4cG9ydCB7U2VjdXJlUGlwZSBhcyDJtXR9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9zZWN1cmUucGlwZSc7XG5leHBvcnQge1RleHRJbnB1dCBhcyDJtWp9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC9pbnB1dC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtJbnB1dE1vZHVsZSBhcyDJtWd9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC9pbnB1dC5tb2R1bGUnO1xuZXhwb3J0IHtMYWJlbCBhcyDJtWh9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC9sYWJlbC5jb21wb25lbnQnO1xuZXhwb3J0IHtUZXh0QXJlYSBhcyDJtWl9IGZyb20gJy4vY29tcG9uZW50cy9pbnB1dC90ZXh0LWFyZWEuZGlyZWN0aXZlJztcbmV4cG9ydCB7Tmd4RGF0ZXRpbWVDb21wb25lbnQgYXMgybVjbH0gZnJvbSAnLi9jb21wb25lbnRzL25neC1kYXRldGltZS1waWNrZXIvbmd4LWRhdGV0aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtEYXRlVGltZUFkYXB0ZXIgYXMgybVibSxPV0xfREFURV9USU1FX0xPQ0FMRSBhcyDJtWJrLE9XTF9EQVRFX1RJTUVfTE9DQUxFX0ZBQ1RPUlkgYXMgybVibH0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvYWRhcHRlci9kYXRlLXRpbWUtYWRhcHRlci5jbGFzcyc7XG5leHBvcnQge09XTF9EQVRFX1RJTUVfRk9STUFUUyBhcyDJtWJpLE93bERhdGVUaW1lRm9ybWF0cyBhcyDJtWJofSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9hZGFwdGVyL2RhdGUtdGltZS1mb3JtYXQuY2xhc3MnO1xuZXhwb3J0IHtOYXRpdmVEYXRlVGltZUFkYXB0ZXIgYXMgybVjan0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvYWRhcHRlci9uYXRpdmUtZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MnO1xuZXhwb3J0IHtPV0xfTkFUSVZFX0RBVEVfVElNRV9GT1JNQVRTIGFzIMm1Y2t9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2FkYXB0ZXIvbmF0aXZlLWRhdGUtdGltZS1mb3JtYXQuY2xhc3MnO1xuZXhwb3J0IHtOYXRpdmVEYXRlVGltZU1vZHVsZSBhcyDJtWNoLE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlIGFzIMm1Y2l9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2FkYXB0ZXIvbmF0aXZlLWRhdGUtdGltZS5tb2R1bGUnO1xuZXhwb3J0IHtPd2xDYWxlbmRhckJvZHlDb21wb25lbnQgYXMgybVjY30gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvY2FsZW5kYXItYm9keS5jb21wb25lbnQnO1xuZXhwb3J0IHtPd2xNb250aFZpZXdDb21wb25lbnQgYXMgybVjZX0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvY2FsZW5kYXItbW9udGgtdmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtPd2xNdWx0aVllYXJWaWV3Q29tcG9uZW50IGFzIMm1Y2J9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2NhbGVuZGFyLW11bHRpLXllYXItdmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtPd2xZZWFyVmlld0NvbXBvbmVudCBhcyDJtWNkfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9jYWxlbmRhci15ZWFyLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7T3dsQ2FsZW5kYXJDb21wb25lbnQgYXMgybViZ30gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvY2FsZW5kYXIuY29tcG9uZW50JztcbmV4cG9ydCB7T1dMX0RBVEVUSU1FX1ZBTFVFX0FDQ0VTU09SIGFzIMm1YngsT3dsRGF0ZVRpbWVJbmxpbmVDb21wb25lbnQgYXMgybVieX0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvZGF0ZS10aW1lLWlubGluZS5jb21wb25lbnQnO1xuZXhwb3J0IHtPd2xEYXRlVGltZUNvbnRhaW5lckNvbXBvbmVudCBhcyDJtWJ6fSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9kYXRlLXRpbWUtcGlja2VyLWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0IHtPV0xfREFURVRJTUVfVkFMSURBVE9SUyBhcyDJtWJxLE9XTF9EQVRFVElNRV9WQUxVRV9BQ0NFU1NPUiBhcyDJtWJwLE93bERhdGVUaW1lSW5wdXREaXJlY3RpdmUgYXMgybVicn0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvZGF0ZS10aW1lLXBpY2tlci1pbnB1dC5kaXJlY3RpdmUnO1xuZXhwb3J0IHtPd2xEYXRlVGltZUludGwgYXMgybVian0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvZGF0ZS10aW1lLXBpY2tlci1pbnRsLnNlcnZpY2UnO1xuZXhwb3J0IHtPd2xEYXRlVGltZVRyaWdnZXJEaXJlY3RpdmUgYXMgybVib30gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvZGF0ZS10aW1lLXBpY2tlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQge293bERhdGVUaW1lUGlja2VyQW5pbWF0aW9ucyBhcyDJtWNhfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9kYXRlLXRpbWUtcGlja2VyLmFuaW1hdGlvbnMnO1xuZXhwb3J0IHtPV0xfRFRQSUNLRVJfU0NST0xMX1NUUkFURUdZIGFzIMm1YnMsT1dMX0RUUElDS0VSX1NDUk9MTF9TVFJBVEVHWV9QUk9WSURFUiBhcyDJtWJ1LE9XTF9EVFBJQ0tFUl9TQ1JPTExfU1RSQVRFR1lfUFJPVklERVJfRkFDVE9SWSBhcyDJtWJ0LE93bERhdGVUaW1lQ29tcG9uZW50IGFzIMm1YnZ9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7T3dsRGF0ZVRpbWUgYXMgybVid30gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvZGF0ZS10aW1lLmNsYXNzJztcbmV4cG9ydCB7T3dsRGF0ZVRpbWVNb2R1bGUgYXMgybV4fSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9kYXRlLXRpbWUubW9kdWxlJztcbmV4cG9ydCB7TnVtYmVyRml4ZWRMZW5QaXBlIGFzIMm1Y2d9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL251bWJlcmVkRml4TGVuLnBpcGUnO1xuZXhwb3J0IHtPd2xUaW1lckJveENvbXBvbmVudCBhcyDJtWNmfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS90aW1lci1ib3guY29tcG9uZW50JztcbmV4cG9ydCB7T3dsVGltZXJDb21wb25lbnQgYXMgybVibn0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvdGltZXIuY29tcG9uZW50JztcbmV4cG9ydCB7T3dsRGlhbG9nQ29uZmlnIGFzIMm1YmZ9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGlhbG9nL2RpYWxvZy1jb25maWcuY2xhc3MnO1xuZXhwb3J0IHtPd2xEaWFsb2dDb250YWluZXJDb21wb25lbnQgYXMgybV6fSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RpYWxvZy9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQge093bERpYWxvZ01vZHVsZSBhcyDJtXl9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGlhbG9nL2RpYWxvZy5tb2R1bGUnO1xuZXhwb3J0IHtPV0xfRElBTE9HX0RFRkFVTFRfT1BUSU9OUyBhcyDJtWJkLE9XTF9ESUFMT0dfU0NST0xMX1NUUkFURUdZIGFzIMm1YmEsT1dMX0RJQUxPR19TQ1JPTExfU1RSQVRFR1lfUFJPVklERVIgYXMgybViYyxPV0xfRElBTE9HX1NDUk9MTF9TVFJBVEVHWV9QUk9WSURFUl9GQUNUT1JZIGFzIMm1YmIsT3dsRGlhbG9nU2VydmljZSBhcyDJtWJlfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XG5leHBvcnQge1JlbW90ZVNlbGVjdENvbXBvbmVudCBhcyDJtXF9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcmVtb3RlLXNlbGVjdC9uZ3gtcmVtb3RlLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHtOZ3hSZW1vdGVTZWxlY3RNb2R1bGUgYXMgybVwfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXJlbW90ZS1zZWxlY3Qvbmd4LXJlbW90ZS1zZWxlY3QubW9kdWxlJztcbmV4cG9ydCB7VGFiQ29tcG9uZW50IGFzIMm1Y3J9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtdGFic2V0L2NvbXBvbmVudHMvdGFiJztcbmV4cG9ydCB7VGFic2V0Q29tcG9uZW50IGFzIMm1Y3N9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtdGFic2V0L2NvbXBvbmVudHMvdGFiLXNldCc7XG5leHBvcnQge0hvdmVyQ2xhc3NEaXJlY3RpdmUgYXMgybVjdH0gZnJvbSAnLi9jb21wb25lbnRzL25neC10YWJzZXQvZGlyZWN0aXZlcy9ob3Zlci1jbGFzcy5kaXJlY3RpdmUnO1xuZXhwb3J0IHtOZ3hUYWJTZXRNb2R1bGUgYXMgybVjcX0gZnJvbSAnLi9jb21wb25lbnRzL25neC10YWJzZXQvbW9kdWxlcy9uZ3gtdGFic2V0Lm1vZHVsZSc7XG5leHBvcnQge051bWJlcklucHV0Q29tcG9uZW50IGFzIMm1Zn0gZnJvbSAnLi9jb21wb25lbnRzL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCB7TnVtYmVySW5wdXRNb2R1bGUgYXMgybVlfSBmcm9tICcuL2NvbXBvbmVudHMvbnVtYmVyLWlucHV0L251bWJlci1pbnB1dC5tb2R1bGUnO1xuZXhwb3J0IHtPcHRHcm91cCBhcyDJtWR9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvb3B0Z3JvdXAuZGlyZWN0aXZlJztcbmV4cG9ydCB7T3B0aW9uIGFzIMm1Y30gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC9vcHRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7U2VsZWN0IGFzIMm1Yn0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7U2VsZWN0TW9kdWxlIGFzIMm1YX0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QubW9kdWxlJztcbmV4cG9ydCB7Q29sbGFwc2VEaXJlY3RpdmUgYXMgybVkY30gZnJvbSAnLi9mb3JtLWVudHJ5L2RpcmVjdGl2ZXMvY29sbGFwc2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7SGlzdG9yaWNhbFZhbHVlRGlyZWN0aXZlIGFzIMm1Y3l9IGZyb20gJy4vZm9ybS1lbnRyeS9kaXJlY3RpdmVzL2hpc3RvcmljYWwtdmFsdWUtZGlyZWN0aXZlJztcbmV4cG9ydCB7RXJyb3JSZW5kZXJlckNvbXBvbmVudCBhcyDJtWRhfSBmcm9tICcuL2Zvcm0tZW50cnkvZXJyb3ItcmVuZGVyZXIvZXJyb3ItcmVuZGVyZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RXhwcmVzc2lvblJ1bm5lciBhcyDJtWRlfSBmcm9tICcuL2Zvcm0tZW50cnkvZXhwcmVzc2lvbi1ydW5uZXIvZXhwcmVzc2lvbi1ydW5uZXInO1xuZXhwb3J0IHtIaWRlcnNEaXNhYmxlcnNGYWN0b3J5IGFzIMm1ZGR9IGZyb20gJy4vZm9ybS1lbnRyeS9mb3JtLWZhY3RvcnkvaGlkZXJzLWRpc2FibGVycy5mYWN0b3J5JztcbmV4cG9ydCB7QWxlcnRzRmFjdG9yeSBhcyDJtWRnfSBmcm9tICcuL2Zvcm0tZW50cnkvZm9ybS1mYWN0b3J5L3Nob3ctbWVzc2FnZXMuZmFjdG9yeSc7XG5leHBvcnQge0Zvcm1SZW5kZXJlckNvbXBvbmVudCBhcyDJtWN1fSBmcm9tICcuL2Zvcm0tZW50cnkvZm9ybS1yZW5kZXJlci9mb3JtLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQge0RFRkFVTFRfU1RZTEVTIGFzIMm1Y3Z9IGZyb20gJy4vZm9ybS1lbnRyeS9mb3JtLXJlbmRlcmVyL2Zvcm0tcmVuZGVyZXIuY29tcG9uZW50LmNzcyc7XG5leHBvcnQge0hpc3RvcmljYWxGaWVsZEhlbHBlclNlcnZpY2UgYXMgybVjen0gZnJvbSAnLi9mb3JtLWVudHJ5L2hlbHBlcnMvaGlzdG9yaWNhbC1maWVsZC1oZWxwZXItc2VydmljZSc7XG5leHBvcnQge1RpbWVBZ29QaXBlIGFzIMm1ZGJ9IGZyb20gJy4vZm9ybS1lbnRyeS9waXBlcy90aW1lLWFnby5waXBlJztcbmV4cG9ydCB7Q2hlY2tib3hPcHRpb25zIGFzIMm1ZGh9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9jaGVja2JveC1vcHRpb25zJztcbmV4cG9ydCB7RGF0ZVF1ZXN0aW9uT3B0aW9ucyBhcyDJtWRpfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvZGF0ZS1xdWVzdGlvbi1vcHRpb25zJztcbmV4cG9ydCB7RmlsZVVwbG9hZFF1ZXN0aW9uT3B0aW9ucyBhcyDJtWRqfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvZmlsZS11cGxvYWQtcXVlc3Rpb24tb3B0aW9ucyc7XG5leHBvcnQge011bHRpU2VsZWN0UXVlc3Rpb25PcHRpb25zIGFzIMm1ZGx9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy9tdWx0aS1zZWxlY3Qtb3B0aW9ucyc7XG5leHBvcnQge1NlbGVjdE9wdGlvbiBhcyDJtWRtfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvc2VsZWN0LW9wdGlvbic7XG5leHBvcnQge1NlbGVjdFF1ZXN0aW9uT3B0aW9ucyBhcyDJtWRrfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvc2VsZWN0LXF1ZXN0aW9uLW9wdGlvbnMnO1xuZXhwb3J0IHtUZXN0T3JkZXJRdWVzdGlvbk9wdGlvbnMgYXMgybVkbn0gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL3Rlc3Qtb3JkZXItcXVlc3Rpb24tb3B0aW9ucyc7XG5leHBvcnQge1RleHRBcmVhUXVlc3Rpb25PcHRpb25zIGFzIMm1ZHB9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy90ZXh0LWFyZWEtcXVlc3Rpb24tb3B0aW9ucyc7XG5leHBvcnQge1RleHRRdWVzdGlvbk9wdGlvbnMgYXMgybVkb30gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL3RleHQtcXVlc3Rpb24tb3B0aW9ucyc7XG5leHBvcnQge1VpU2VsZWN0UXVlc3Rpb25PcHRpb25zIGFzIMm1ZHF9IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy91aS1zZWxlY3QtcXVlc3Rpb24tb3B0aW9ucyc7XG5leHBvcnQge0RlYnVnTW9kZVNlcnZpY2UgYXMgybVkZn0gZnJvbSAnLi9mb3JtLWVudHJ5L3NlcnZpY2VzL2RlYnVnLW1vZGUuc2VydmljZSc7XG5leHBvcnQge1NoYXJlZE1vZHVsZSBhcyDJtXN9IGZyb20gJy4vc2hhcmVkLm1vZHVsZSc7Il19
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3Blbm1ycy1uZ3gtZm9ybWVudHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmd4LWZvcm1lbnRyeS9zcmMvb3Blbm1ycy1uZ3gtZm9ybWVudHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEdBQUcsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2pGLE9BQU8sRUFBQyw2QkFBNkIsSUFBSSxHQUFHLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUN4SCxPQUFPLEVBQUMsd0JBQXdCLElBQUksRUFBRSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDekYsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsNEJBQTRCLElBQUksR0FBRyxFQUFDLE1BQU0sd0VBQXdFLENBQUM7QUFDM0gsT0FBTyxFQUFDLCtCQUErQixJQUFJLEdBQUcsRUFBQyxNQUFNLDBFQUEwRSxDQUFDO0FBQ2hJLE9BQU8sRUFBQywwQkFBMEIsSUFBSSxHQUFHLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUNySCxPQUFPLEVBQUMsNkJBQTZCLElBQUksR0FBRyxFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFDMUgsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyx1QkFBdUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN2RyxPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLDREQUE0RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFDakYsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLGlFQUFpRSxDQUFD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QUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxZQUFZLElBQUksRUFBRSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBQyxNQUFNLDRDQUE0QyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNuRyxPQUFPLEVBQUMsc0JBQXNCLElBQUksR0FBRyxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDbkcsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEdBQUcsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxHQUFHLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNqRyxPQUFPLEVBQUMsYUFBYSxJQUFJLEdBQUcsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxHQUFHLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUNoRyxPQUFPLEVBQUMsNEJBQTRCLElBQUksR0FBRyxFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDekcsT0FBTyxFQUFDLFdBQVcsSUFBSSxHQUFHLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQVdwRSxPQUFPLEVBQUMsZ0JBQWdCLElBQUksR0FBRyxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFDLFlBQVksSUFBSSxFQUFFLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtBZmVOZ1NlbGVjdENvbXBvbmVudCBhcyDJtWN2fSBmcm9tICcuL2NvbXBvbmVudHMvYWZlLW5nLXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0IHtBcHBvaW50bWVudHNPdmVydmlld0NvbXBvbmVudCBhcyDJtWN3fSBmcm9tICcuL2NvbXBvbmVudHMvYXBwb2ludG1lbnRzLW92ZXJ2aWV3L2FwcG9pbnRtZW50cy1vdmVydmlldy5jb21wb25lbnQnO1xuZXhwb3J0IHtDaGVja2JveENvbnRyb2xDb21wb25lbnQgYXMgybV3fSBmcm9tICcuL2NvbXBvbmVudHMvY2hlY2stYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQge0NoZWNrYm94TW9kdWxlIGFzIMm1dn0gZnJvbSAnLi9jb21wb25lbnRzL2NoZWNrLWJveC9jaGVja2JveC5tb2R1bGUnO1xuZXhwb3J0IHtDdXN0b21Db21wb25lbnRXcmFwcGVyTW9kdWxlIGFzIMm1Y299IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tY29tcG9uZW50LXdyYXBwZXIvY3VzdG9tLWNvbXBvbmVudC13cmFwcGVyLi5tb2R1bGUnO1xuZXhwb3J0IHtDdXN0b21Db21wb25lbnRXcmFwcGVyQ29tcG9uZW50IGFzIMm1Y3B9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tY29tcG9uZW50LXdyYXBwZXIvY3VzdG9tLWNvbXBvbmVudC13cmFwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQge0N1c3RvbUNvbnRyb2xXcmFwcGVyTW9kdWxlIGFzIMm1Y219IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tY29udHJvbC13cmFwcGVyL2N1c3RvbS1jb250cm9sLXdyYXBwZXIuLm1vZHVsZSc7XG5leHBvcnQge0N1c3RvbUNvbnRyb2xXcmFwcGVyQ29tcG9uZW50IGFzIMm1Y259IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tY29udHJvbC13cmFwcGVyL2N1c3RvbS1jb250cm9sLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0ZVBpY2tlckNvbXBvbmVudCBhcyDJtWt9IGZyb20gJy4vY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQge0RhdGVUaW1lUGlja2VyQ29tcG9uZW50IGFzIMm1b30gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0IHtNb2RhbENvbXBvbmVudCBhcyDJtW19IGZyb20gJy4vY29tcG9uZW50cy9kYXRlLXRpbWUtcGlja2VyL3BpY2tlci1tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xuZXhwb3J0IHtNb21lbnRQaXBlIGFzIMm1bn0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvcGlwZXMvbW9tZW50LnBpcGUnO1xuZXhwb3J0IHtUaW1lUGlja2VyQ29tcG9uZW50IGFzIMm1bH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGUtdGltZS1waWNrZXIvdGltZS1waWNrZXIvdGltZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RmlsZVVwbG9hZENvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuZXhwb3J0IHtSZW1vdGVGaWxlVXBsb2FkTW9kdWxlIGFzIMm1cn0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLm1vZHVsZSc7XG5leHBvcnQge1NlY3VyZVBpcGUgYXMgybV0fSBmcm9tICcuL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvc2VjdXJlLnBpcGUnO1xuZXhwb3J0IHtUZXh0SW5wdXQgYXMgybVqfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7SW5wdXRNb2R1bGUgYXMgybVnfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQubW9kdWxlJztcbmV4cG9ydCB7TGFiZWwgYXMgybVofSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQvbGFiZWwuY29tcG9uZW50JztcbmV4cG9ydCB7VGV4dEFyZWEgYXMgybVpfSBmcm9tICcuL2NvbXBvbmVudHMvaW5wdXQvdGV4dC1hcmVhLmRpcmVjdGl2ZSc7XG5leHBvcnQge05neERhdGV0aW1lQ29tcG9uZW50IGFzIMm1Y2x9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtZGF0ZXRpbWUtcGlja2VyL25neC1kYXRldGltZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCB7RGF0ZVRpbWVBZGFwdGVyIGFzIMm1Ym0sT1dMX0RBVEVfVElNRV9MT0NBTEUgYXMgybViayxPV0xfREFURV9USU1FX0xPQ0FMRV9GQUNUT1JZIGFzIMm1Ymx9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2FkYXB0ZXIvZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MnO1xuZXhwb3J0IHtPV0xfREFURV9USU1FX0ZPUk1BVFMgYXMgybViaSxPd2xEYXRlVGltZUZvcm1hdHMgYXMgybViaH0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvYWRhcHRlci9kYXRlLXRpbWUtZm9ybWF0LmNsYXNzJztcbmV4cG9ydCB7TmF0aXZlRGF0ZVRpbWVBZGFwdGVyIGFzIMm1Y2p9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2FkYXB0ZXIvbmF0aXZlLWRhdGUtdGltZS1hZGFwdGVyLmNsYXNzJztcbmV4cG9ydCB7T1dMX05BVElWRV9EQVRFX1RJTUVfRk9STUFUUyBhcyDJtWNrfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9hZGFwdGVyL25hdGl2ZS1kYXRlLXRpbWUtZm9ybWF0LmNsYXNzJztcbmV4cG9ydCB7TmF0aXZlRGF0ZVRpbWVNb2R1bGUgYXMgybVjaCxPd2xOYXRpdmVEYXRlVGltZU1vZHVsZSBhcyDJtWNpfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9hZGFwdGVyL25hdGl2ZS1kYXRlLXRpbWUubW9kdWxlJztcbmV4cG9ydCB7T3dsQ2FsZW5kYXJCb2R5Q29tcG9uZW50IGFzIMm1Y2N9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2NhbGVuZGFyLWJvZHkuY29tcG9uZW50JztcbmV4cG9ydCB7T3dsTW9udGhWaWV3Q29tcG9uZW50IGFzIMm1Y2V9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2NhbGVuZGFyLW1vbnRoLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7T3dsTXVsdGlZZWFyVmlld0NvbXBvbmVudCBhcyDJtWNifSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9jYWxlbmRhci1tdWx0aS15ZWFyLXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCB7T3dsWWVhclZpZXdDb21wb25lbnQgYXMgybVjZH0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvY2FsZW5kYXIteWVhci12aWV3LmNvbXBvbmVudCc7XG5leHBvcnQge093bENhbGVuZGFyQ29tcG9uZW50IGFzIMm1Ymd9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5leHBvcnQge09XTF9EQVRFVElNRV9WQUxVRV9BQ0NFU1NPUiBhcyDJtWJ4LE93bERhdGVUaW1lSW5saW5lQ29tcG9uZW50IGFzIMm1Ynl9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2RhdGUtdGltZS1pbmxpbmUuY29tcG9uZW50JztcbmV4cG9ydCB7T3dsRGF0ZVRpbWVDb250YWluZXJDb21wb25lbnQgYXMgybVien0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvZGF0ZS10aW1lLXBpY2tlci1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCB7T1dMX0RBVEVUSU1FX1ZBTElEQVRPUlMgYXMgybVicSxPV0xfREFURVRJTUVfVkFMVUVfQUNDRVNTT1IgYXMgybVicCxPd2xEYXRlVGltZUlucHV0RGlyZWN0aXZlIGFzIMm1YnJ9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2RhdGUtdGltZS1waWNrZXItaW5wdXQuZGlyZWN0aXZlJztcbmV4cG9ydCB7T3dsRGF0ZVRpbWVJbnRsIGFzIMm1Ymp9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2RhdGUtdGltZS1waWNrZXItaW50bC5zZXJ2aWNlJztcbmV4cG9ydCB7T3dsRGF0ZVRpbWVUcmlnZ2VyRGlyZWN0aXZlIGFzIMm1Ym99IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2RhdGUtdGltZS1waWNrZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtvd2xEYXRlVGltZVBpY2tlckFuaW1hdGlvbnMgYXMgybVjYX0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvZGF0ZS10aW1lLXBpY2tlci5hbmltYXRpb25zJztcbmV4cG9ydCB7T1dMX0RUUElDS0VSX1NDUk9MTF9TVFJBVEVHWSBhcyDJtWJzLE9XTF9EVFBJQ0tFUl9TQ1JPTExfU1RSQVRFR1lfUFJPVklERVIgYXMgybVidSxPV0xfRFRQSUNLRVJfU0NST0xMX1NUUkFURUdZX1BST1ZJREVSX0ZBQ1RPUlkgYXMgybVidCxPd2xEYXRlVGltZUNvbXBvbmVudCBhcyDJtWJ2fSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQge093bERhdGVUaW1lIGFzIMm1Ynd9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL2RhdGUtdGltZS5jbGFzcyc7XG5leHBvcnQge093bERhdGVUaW1lTW9kdWxlIGFzIMm1eH0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvZGF0ZS10aW1lLm1vZHVsZSc7XG5leHBvcnQge051bWJlckZpeGVkTGVuUGlwZSBhcyDJtWNnfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RhdGUtdGltZS9udW1iZXJlZEZpeExlbi5waXBlJztcbmV4cG9ydCB7T3dsVGltZXJCb3hDb21wb25lbnQgYXMgybVjZn0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kYXRlLXRpbWUvdGltZXItYm94LmNvbXBvbmVudCc7XG5leHBvcnQge093bFRpbWVyQ29tcG9uZW50IGFzIMm1Ym59IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtcGljay1kYXRldGltZS9saWIvZGF0ZS10aW1lL3RpbWVyLmNvbXBvbmVudCc7XG5leHBvcnQge093bERpYWxvZ0NvbmZpZyBhcyDJtWJmfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RpYWxvZy9kaWFsb2ctY29uZmlnLmNsYXNzJztcbmV4cG9ydCB7T3dsRGlhbG9nQ29udGFpbmVyQ29tcG9uZW50IGFzIMm1en0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kaWFsb2cvZGlhbG9nLWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0IHtPd2xEaWFsb2dNb2R1bGUgYXMgybV5fSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXBpY2stZGF0ZXRpbWUvbGliL2RpYWxvZy9kaWFsb2cubW9kdWxlJztcbmV4cG9ydCB7T1dMX0RJQUxPR19ERUZBVUxUX09QVElPTlMgYXMgybViZCxPV0xfRElBTE9HX1NDUk9MTF9TVFJBVEVHWSBhcyDJtWJhLE9XTF9ESUFMT0dfU0NST0xMX1NUUkFURUdZX1BST1ZJREVSIGFzIMm1YmMsT1dMX0RJQUxPR19TQ1JPTExfU1RSQVRFR1lfUFJPVklERVJfRkFDVE9SWSBhcyDJtWJiLE93bERpYWxvZ1NlcnZpY2UgYXMgybViZX0gZnJvbSAnLi9jb21wb25lbnRzL25neC1waWNrLWRhdGV0aW1lL2xpYi9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0IHtSZW1vdGVTZWxlY3RDb21wb25lbnQgYXMgybVxfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXJlbW90ZS1zZWxlY3Qvbmd4LXJlbW90ZS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCB7Tmd4UmVtb3RlU2VsZWN0TW9kdWxlIGFzIMm1cH0gZnJvbSAnLi9jb21wb25lbnRzL25neC1yZW1vdGUtc2VsZWN0L25neC1yZW1vdGUtc2VsZWN0Lm1vZHVsZSc7XG5leHBvcnQge1RhYlNldENvbXBvbmVudCBhcyDJtWNzfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXRhYnNldC9jb21wb25lbnRzL25neC10YWItc2V0LmNvbXBvbmVudCc7XG5leHBvcnQge1RhYkNvbXBvbmVudCBhcyDJtWNyfSBmcm9tICcuL2NvbXBvbmVudHMvbmd4LXRhYnNldC9jb21wb25lbnRzL3RhYi5jb21wb25lbnQnO1xuZXhwb3J0IHtIb3ZlckNsYXNzRGlyZWN0aXZlIGFzIMm1Y3R9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtdGFic2V0L2RpcmVjdGl2ZXMvaG92ZXItY2xhc3MuZGlyZWN0aXZlJztcbmV4cG9ydCB7Tmd4VGFiU2V0TW9kdWxlIGFzIMm1Y3F9IGZyb20gJy4vY29tcG9uZW50cy9uZ3gtdGFic2V0L21vZHVsZXMvbmd4LXRhYnNldC5tb2R1bGUnO1xuZXhwb3J0IHtOdW1iZXJJbnB1dENvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vY29tcG9uZW50cy9udW1iZXItaW5wdXQvbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQge051bWJlcklucHV0TW9kdWxlIGFzIMm1ZX0gZnJvbSAnLi9jb21wb25lbnRzL251bWJlci1pbnB1dC9udW1iZXItaW5wdXQubW9kdWxlJztcbmV4cG9ydCB7T3B0R3JvdXAgYXMgybVkfSBmcm9tICcuL2NvbXBvbmVudHMvc2VsZWN0L29wdGdyb3VwLmRpcmVjdGl2ZSc7XG5leHBvcnQge09wdGlvbiBhcyDJtWN9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvb3B0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQge1NlbGVjdCBhcyDJtWJ9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge1NlbGVjdE1vZHVsZSBhcyDJtWF9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3Qvc2VsZWN0Lm1vZHVsZSc7XG5leHBvcnQge0NvbGxhcHNlRGlyZWN0aXZlIGFzIMm1ZGJ9IGZyb20gJy4vZm9ybS1lbnRyeS9kaXJlY3RpdmVzL2NvbGxhcHNlLmRpcmVjdGl2ZSc7XG5leHBvcnQge0hpc3RvcmljYWxWYWx1ZURpcmVjdGl2ZSBhcyDJtWN4fSBmcm9tICcuL2Zvcm0tZW50cnkvZGlyZWN0aXZlcy9oaXN0b3JpY2FsLXZhbHVlLWRpcmVjdGl2ZSc7XG5leHBvcnQge0Vycm9yUmVuZGVyZXJDb21wb25lbnQgYXMgybVjen0gZnJvbSAnLi9mb3JtLWVudHJ5L2Vycm9yLXJlbmRlcmVyL2Vycm9yLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQge0V4cHJlc3Npb25SdW5uZXIgYXMgybVkZH0gZnJvbSAnLi9mb3JtLWVudHJ5L2V4cHJlc3Npb24tcnVubmVyL2V4cHJlc3Npb24tcnVubmVyJztcbmV4cG9ydCB7SGlkZXJzRGlzYWJsZXJzRmFjdG9yeSBhcyDJtWRjfSBmcm9tICcuL2Zvcm0tZW50cnkvZm9ybS1mYWN0b3J5L2hpZGVycy1kaXNhYmxlcnMuZmFjdG9yeSc7XG5leHBvcnQge0FsZXJ0c0ZhY3RvcnkgYXMgybVkZn0gZnJvbSAnLi9mb3JtLWVudHJ5L2Zvcm0tZmFjdG9yeS9zaG93LW1lc3NhZ2VzLmZhY3RvcnknO1xuZXhwb3J0IHtGb3JtUmVuZGVyZXJDb21wb25lbnQgYXMgybVjdX0gZnJvbSAnLi9mb3JtLWVudHJ5L2Zvcm0tcmVuZGVyZXIvZm9ybS1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0IHtIaXN0b3JpY2FsRmllbGRIZWxwZXJTZXJ2aWNlIGFzIMm1Y3l9IGZyb20gJy4vZm9ybS1lbnRyeS9oZWxwZXJzL2hpc3RvcmljYWwtZmllbGQtaGVscGVyLXNlcnZpY2UnO1xuZXhwb3J0IHtUaW1lQWdvUGlwZSBhcyDJtWRhfSBmcm9tICcuL2Zvcm0tZW50cnkvcGlwZXMvdGltZS1hZ28ucGlwZSc7XG5leHBvcnQge0NoZWNrYm94T3B0aW9ucyBhcyDJtWRnfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvY2hlY2tib3gtb3B0aW9ucyc7XG5leHBvcnQge0RhdGVRdWVzdGlvbk9wdGlvbnMgYXMgybVkaH0gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL2RhdGUtcXVlc3Rpb24tb3B0aW9ucyc7XG5leHBvcnQge0ZpbGVVcGxvYWRRdWVzdGlvbk9wdGlvbnMgYXMgybVkaX0gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL2ZpbGUtdXBsb2FkLXF1ZXN0aW9uLW9wdGlvbnMnO1xuZXhwb3J0IHtNdWx0aVNlbGVjdFF1ZXN0aW9uT3B0aW9ucyBhcyDJtWRrfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvbXVsdGktc2VsZWN0LW9wdGlvbnMnO1xuZXhwb3J0IHtTZWxlY3RPcHRpb24gYXMgybVkbH0gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL3NlbGVjdC1vcHRpb24nO1xuZXhwb3J0IHtTZWxlY3RRdWVzdGlvbk9wdGlvbnMgYXMgybVkan0gZnJvbSAnLi9mb3JtLWVudHJ5L3F1ZXN0aW9uLW1vZGVscy9pbnRlcmZhY2VzL3NlbGVjdC1xdWVzdGlvbi1vcHRpb25zJztcbmV4cG9ydCB7VGVzdE9yZGVyUXVlc3Rpb25PcHRpb25zIGFzIMm1ZG19IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy90ZXN0LW9yZGVyLXF1ZXN0aW9uLW9wdGlvbnMnO1xuZXhwb3J0IHtUZXh0QXJlYVF1ZXN0aW9uT3B0aW9ucyBhcyDJtWRvfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvdGV4dC1hcmVhLXF1ZXN0aW9uLW9wdGlvbnMnO1xuZXhwb3J0IHtUZXh0UXVlc3Rpb25PcHRpb25zIGFzIMm1ZG59IGZyb20gJy4vZm9ybS1lbnRyeS9xdWVzdGlvbi1tb2RlbHMvaW50ZXJmYWNlcy90ZXh0LXF1ZXN0aW9uLW9wdGlvbnMnO1xuZXhwb3J0IHtVaVNlbGVjdFF1ZXN0aW9uT3B0aW9ucyBhcyDJtWRwfSBmcm9tICcuL2Zvcm0tZW50cnkvcXVlc3Rpb24tbW9kZWxzL2ludGVyZmFjZXMvdWktc2VsZWN0LXF1ZXN0aW9uLW9wdGlvbnMnO1xuZXhwb3J0IHtEZWJ1Z01vZGVTZXJ2aWNlIGFzIMm1ZGV9IGZyb20gJy4vZm9ybS1lbnRyeS9zZXJ2aWNlcy9kZWJ1Zy1tb2RlLnNlcnZpY2UnO1xuZXhwb3J0IHtTaGFyZWRNb2R1bGUgYXMgybVzfSBmcm9tICcuL3NoYXJlZC5tb2R1bGUnOyJdfQ==
|