@taiga-ui/addon-commerce 2.28.0 → 2.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +7 -4
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-money.umd.js +2 -2
- package/bundles/taiga-ui-addon-commerce-components-money.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-enums.umd.js +284 -1
- package/bundles/taiga-ui-addon-commerce-enums.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-enums.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-commerce-enums.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.js +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.min.js +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.min.js.map +1 -1
- package/components/input-card-grouped/input-card-grouped.component.d.ts +2 -1
- package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.metadata.json +1 -1
- package/components/money/taiga-ui-addon-commerce-components-money.metadata.json +1 -1
- package/enums/currency-code.d.ts +141 -0
- package/enums/currency.d.ts +142 -1
- package/enums/taiga-ui-addon-commerce-enums.metadata.json +1 -1
- package/esm2015/components/input-card-grouped/input-card-grouped.component.js +9 -6
- package/esm2015/components/money/money.component.js +3 -3
- package/esm2015/enums/currency-code.js +142 -1
- package/esm2015/enums/currency.js +143 -2
- package/esm2015/utils/create-auto-corrected-expire-pipe.js +2 -2
- package/esm5/components/input-card-grouped/input-card-grouped.component.js +9 -6
- package/esm5/components/money/money.component.js +3 -3
- package/esm5/enums/currency-code.js +142 -1
- package/esm5/enums/currency.js +143 -2
- package/esm5/utils/create-auto-corrected-expire-pipe.js +2 -2
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +8 -5
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-money.js +2 -2
- package/fesm2015/taiga-ui-addon-commerce-components-money.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-enums.js +283 -1
- package/fesm2015/taiga-ui-addon-commerce-enums.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-utils.js +1 -1
- package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js +8 -5
- package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-components-money.js +2 -2
- package/fesm5/taiga-ui-addon-commerce-components-money.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-enums.js +283 -1
- package/fesm5/taiga-ui-addon-commerce-enums.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-utils.js +1 -1
- package/fesm5/taiga-ui-addon-commerce-utils.js.map +1 -1
- package/package.json +9 -9
|
@@ -5,7 +5,7 @@ import { NgControl } from '@angular/forms';
|
|
|
5
5
|
import { TUI_CARD_MASK, tuiDefaultCardValidator } from '@taiga-ui/addon-commerce/constants';
|
|
6
6
|
import { getPaymentSystem, tuiCreateAutoCorrectedExpirePipe, } from '@taiga-ui/addon-commerce/utils';
|
|
7
7
|
import { AbstractTuiNullableControl, isNativeFocused, isNativeFocusedIn, setNativeFocused, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiDefaultProp, tuiPure, tuiRequiredSetter, } from '@taiga-ui/cdk';
|
|
8
|
-
import { MODE_PROVIDER, TUI_DATA_LIST_HOST, TUI_DIGIT_REGEXP, TUI_MODE, TUI_NON_DIGIT_REGEXP, TuiDataListComponent, TuiDataListDirective, } from '@taiga-ui/core';
|
|
8
|
+
import { MODE_PROVIDER, TUI_DATA_LIST_HOST, TUI_DIGIT_REGEXP, TUI_MODE, TUI_NON_DIGIT_REGEXP, TUI_TEXTFIELD_APPEARANCE, TuiDataListComponent, TuiDataListDirective, } from '@taiga-ui/core';
|
|
9
9
|
import { Observable } from 'rxjs';
|
|
10
10
|
import { TUI_INPUT_CARD_GROUPED_TEXTS, } from './input-card-grouped.providers';
|
|
11
11
|
const STUB = {
|
|
@@ -22,11 +22,12 @@ const ICONS = {
|
|
|
22
22
|
};
|
|
23
23
|
// @dynamic
|
|
24
24
|
let TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = class TuiInputCardGroupedComponent extends AbstractTuiNullableControl {
|
|
25
|
-
constructor(control, changeDetectorRef, elementRef, mode$, cardGroupedTexts
|
|
25
|
+
constructor(control, changeDetectorRef, elementRef, mode$, cardGroupedTexts$, appearance) {
|
|
26
26
|
super(control, changeDetectorRef);
|
|
27
27
|
this.elementRef = elementRef;
|
|
28
28
|
this.mode$ = mode$;
|
|
29
29
|
this.cardGroupedTexts$ = cardGroupedTexts$;
|
|
30
|
+
this.appearance = appearance;
|
|
30
31
|
this.expireInert = false;
|
|
31
32
|
this.autocompleteEnabled = false;
|
|
32
33
|
this.cardSrc = null; // TODO(splincode): will be deleted `null` in v3.0
|
|
@@ -293,7 +294,8 @@ TuiInputCardGroupedComponent.ctorParameters = () => [
|
|
|
293
294
|
{ type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
|
|
294
295
|
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
295
296
|
{ type: Observable, decorators: [{ type: Inject, args: [TUI_MODE,] }] },
|
|
296
|
-
{ type: Observable, decorators: [{ type: Inject, args: [TUI_INPUT_CARD_GROUPED_TEXTS,] }] }
|
|
297
|
+
{ type: Observable, decorators: [{ type: Inject, args: [TUI_INPUT_CARD_GROUPED_TEXTS,] }] },
|
|
298
|
+
{ type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] }
|
|
297
299
|
];
|
|
298
300
|
__decorate([
|
|
299
301
|
ViewChild('inputCard')
|
|
@@ -349,7 +351,7 @@ __decorate([
|
|
|
349
351
|
TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
|
|
350
352
|
Component({
|
|
351
353
|
selector: 'tui-input-card-grouped',
|
|
352
|
-
template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n
|
|
354
|
+
template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n [tuiDropdown]=\"open\"\n [tuiDropdownContent]=\"dropdown || ''\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event.currentTarget)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label tuiPreventDefault=\"click\">\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n tuiInputMode=\"numeric\"\n class=\"t-input t-input_card\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"isCardCollapsed\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper: cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [class.t-collapsed_inactive]=\"!isCardCollapsed\"\n [attr.data-before]=\"masked\"\n >\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [class.t-value_collapsed]=\"isCardCollapsed\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n type=\"text\"\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n polymorpheus-outlet\n class=\"t-icon-outlet\"\n [content]=\"icon\"\n >\n <ng-template let-icon>\n <tui-svg\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</tui-wrapper>\n",
|
|
353
355
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
354
356
|
providers: [
|
|
355
357
|
MODE_PROVIDER,
|
|
@@ -374,7 +376,8 @@ TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
|
|
|
374
376
|
__param(1, Inject(ChangeDetectorRef)),
|
|
375
377
|
__param(2, Inject(ElementRef)),
|
|
376
378
|
__param(3, Inject(TUI_MODE)),
|
|
377
|
-
__param(4, Inject(TUI_INPUT_CARD_GROUPED_TEXTS))
|
|
379
|
+
__param(4, Inject(TUI_INPUT_CARD_GROUPED_TEXTS)),
|
|
380
|
+
__param(5, Inject(TUI_TEXTFIELD_APPEARANCE))
|
|
378
381
|
], TuiInputCardGroupedComponent);
|
|
379
382
|
export { TuiInputCardGroupedComponent };
|
|
380
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBRzNCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBRXBCLG9CQUFvQixFQUNwQixvQkFBb0IsR0FHdkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFDSCw0QkFBNEIsR0FFL0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxNQUFNLElBQUksR0FBWTtJQUNs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WUFBWSxDQUFDLGFBQWEsQ0FBQzt5REFHM0I7QUFJRDtJQUZDLFlBQVksQ0FBQywyQkFBMkIsRUFBRSxDQUFDLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNqRSxZQUFZLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7MkRBS2hFO0FBZ0hEO0lBREMsT0FBTzsrREFHUDtBQW5WUSw0QkFBNEI7SUFyQnhDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSx3QkFBd0I7UUFDbEMsc2hMQUFpRDtRQUVqRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtRQUMvQyxTQUFTLEVBQUU7WUFDUCxhQUFhO1lBQ2I7Z0JBQ0ksT0FBTyxFQUFFLDJCQUEyQjtnQkFDcEMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4QkFBNEIsQ0FBQzthQUM5RDtZQUNEO2dCQUNJLE9BQU8sRUFBRSxrQkFBa0I7Z0JBQzNCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsOEJBQTRCLENBQUM7YUFDOUQ7U0FDSjtRQUNELElBQUksRUFBRTtZQUNGLG9CQUFvQixFQUFFLE9BQU87WUFDN0Isb0JBQW9CLEVBQUUsR0FBRztTQUM1Qjs7S0FDSixDQUFDO0lBa0ZPLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFDVixXQUFBLElBQUksRUFBRSxDQUFBO0lBQ04sV0FBQSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFakIsV0FBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtJQUN6QixXQUFBLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNsQixXQUFBLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUNoQixXQUFBLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFBO0dBeEZoQyw0QkFBNEIsQ0F3WHhDO1NBeFhZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RVSV9DQVJEX01BU0ssIHR1aURlZmF1bHRDYXJkVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7VHVpQ2FyZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlDb2RlQ1ZDTGVuZ3RofSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBnZXRQYXltZW50U3lzdGVtLFxuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlSZXF1aXJlZFNldHRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1PREVfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX01PREUsXG4gICAgVFVJX05PTl9ESUdJVF9SRUdFWFAsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlEYXRhTGlzdENvbXBvbmVudCxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIFRVSV9JTlBVVF9DQVJEX0dST1VQRURfVEVYVFMsXG4gICAgVHVpQ2FyZEdyb3VwZWRUZXh0cyxcbn0gZnJvbSAnLi9pbnB1dC1jYXJkLWdyb3VwZWQucHJvdmlkZXJzJztcblxuY29uc3QgU1RVQjogVHVpQ2FyZCA9IHtcbiAgICBjYXJkOiAnJyxcbiAgICBleHBpcmU6ICcnLFxuICAgIGN2YzogJycsXG59O1xuY29uc3QgSUNPTlMgPSB7XG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWlyXTogJ3R1aUljb25NaXInLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLlZpc2FdOiAndHVpSWNvblZpc2EnLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLkVsZWN0cm9uXTogJ3R1aUljb25FbGVjdHJvbicsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWFzdGVyY2FyZF06ICd0dWlJY29uTWFzdGVyY2FyZCcsXG4gICAgW1R1aVBheW1lbnRTeXN0ZW0uTWFlc3Ryb106ICd0dWlJY29uTWFlc3RybycsXG59O1xuXG4vLyBAZHluYW1pY1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktaW5wdXQtY2FyZC1ncm91cGVkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY2FyZC1ncm91cGVkLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2lucHV0LWNhcmQtZ3JvdXBlZC5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIE1PREVfUFJPVklERVIsXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRVSV9GT0NVU0FCTEVfSVRFTV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnQpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJygkLmRhdGEtbW9kZS5hdHRyKSc6ICdtb2RlJCcsXG4gICAgICAgICdkYXRhLXR1aS1ob3N0LXNpemUnOiAnbCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudFxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlOdWxsYWJsZUNvbnRyb2w8VHVpQ2FyZD5cbiAgICBpbXBsZW1lbnRzIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciwgVHVpRGF0YUxpc3RIb3N0PFBhcnRpYWw8VHVpQ2FyZD4+XG57XG4gICAgQFZpZXdDaGlsZCgnaW5wdXRDYXJkJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlucHV0Q2FyZD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dEV4cGlyZScpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dEV4cGlyZT86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dENWQycpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dENWQz86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgICBwcml2YXRlIGV4cGlyZUluZXJ0ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgYXV0b2NvbXBsZXRlRW5hYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGNhcmRTcmM6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsID0gbnVsbDsgLy8gVE9ETyhzcGxpbmNvZGUpOiB3aWxsIGJlIGRlbGV0ZWQgYG51bGxgIGluIHYzLjBcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBleGFtcGxlVGV4dCA9ICcwMDAwIDAwMDAgMDAwMCAwMDAwJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYXJkVmFsaWRhdG9yOiBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmc+ID0gdHVpRGVmYXVsdENhcmRWYWxpZGF0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGNvZGVMZW5ndGgobGVuZ3RoOiBUdWlDb2RlQ1ZDTGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuZXhhbXBsZVRleHRDVkMgPSAnMCcucmVwZWF0KGxlbmd0aCk7XG4gICAgICAgIHRoaXMubWFza0NWQyA9IHtcbiAgICAgICAgICAgIG1hc2s6IG5ldyBBcnJheShsZW5ndGgpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYXV0b2ZpbGxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGJpbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZHJvcGRvd246IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3RDb21wb25lbnQpXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q/OiBUdWlEYXRhTGlzdENvbXBvbmVudDxUdWlDYXJkPjtcblxuICAgIGV4YW1wbGVUZXh0Q1ZDID0gJzAwMCc7XG5cbiAgICBtYXNrQ1ZDOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IG5ldyBBcnJheSgzKS5maWxsKFRVSV9ESUdJVF9SRUdFWFApLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IG1hc2tDYXJkOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IFRVSV9DQVJEX01BU0ssXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICAgICAgcGlwZTogY29uZm9ybWVkVmFsdWUgPT4gY29uZm9ybWVkVmFsdWUudHJpbSgpLFxuICAgIH07XG5cbiAgICByZWFkb25seSBtYXNrRXhwaXJlOiBUdWlUZXh0TWFza09wdGlvbnMgPSB7XG4gICAgICAgIG1hc2s6IFtcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgJy8nLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIF0sXG4gICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlKCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgY2FyZEdyb3VwZWRUZXh0cyQ6IE9ic2VydmFibGU8VHVpQ2FyZEdyb3VwZWRUZXh0cz4sXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0Q2FyZCA/IHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuIHx8IGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgY2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY2FyZCA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5leHBpcmUgPz8gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGN2YygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY3ZjID8/ICcnO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlICYmICF0aGlzLnJlYWRPbmx5ICYmICF0aGlzLmNvbXB1dGVkRGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGhhc0Ryb3Bkb3duKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmRyb3Bkb3duO1xuICAgIH1cblxuICAgIGdldCBkZWZhdWx0SWNvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3BheW1lbnRTeXN0ZW19ID0gdGhpcztcblxuICAgICAgICByZXR1cm4gcGF5bWVudFN5c3RlbSAmJiBJQ09OU1twYXltZW50U3lzdGVtXTtcbiAgICB9XG5cbiAgICBnZXQgaWNvbigpOiBQb2x5bW9ycGhldXNDb250ZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRTcmMgPz8gdGhpcy5kZWZhdWx0SWNvbjtcbiAgICB9XG5cbiAgICBnZXQgYmluKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5jYXJkLmxlbmd0aCA8IDZcbiAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgOiB0aGlzLnZhbHVlLmNhcmQuc3Vic3RyKDAsIDYpO1xuICAgIH1cblxuICAgIGdldCBwbGFjZWhvbGRlclJhaXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmNvbXB1dGVkRm9jdXNlZCAmJiAhdGhpcy5yZWFkT25seSkgfHwgISF0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGdldCBmb3JtYXR0ZWRDYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICYmICF0aGlzLmNhcmRQcmVmaWxsZWRcbiAgICAgICAgICAgID8gdGhpcy52YWx1ZS5jYXJkXG4gICAgICAgICAgICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgICAgICAgICAgICAubWFwKChjaGFyLCBpbmRleCkgPT4gKGluZGV4ICYmIGluZGV4ICUgNCA9PT0gMCA/IGAgJHtjaGFyfWAgOiBjaGFyKSlcbiAgICAgICAgICAgICAgICAgIC5qb2luKCcnKVxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG5cbiAgICBnZXQgaWRDYXJkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkICsgJ19jYXJkJztcbiAgICB9XG5cbiAgICBnZXQgaWRFeHBpcmUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQgKyAnX2V4cGlyZSc7XG4gICAgfVxuXG4gICAgZ2V0IGlkQ1ZDKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkICsgJ19jdmMnO1xuICAgIH1cblxuICAgIGdldCBpc0NhcmRDb2xsYXBzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuY2FyZEZvY3VzZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNhcmQoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY051bWJlclxuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlRXhwaXJlKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NFeHBcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUNWQygpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjQ3NjXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIC8vIFNhZmFyaSBleHBpcmF0aW9uIGRhdGUgYXV0b2ZpbGwgd29ya2Fyb3VuZFxuICAgIGdldCBuYW1lKCk6ICdjY2V4cGlyeXllYXInIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWQgPyAnY2NleHBpcnl5ZWFyJyA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRQcmVmaWxsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY2FyZC5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y1ByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jdmMubWF0Y2goVFVJX05PTl9ESUdJVF9SRUdFWFApO1xuICAgIH1cblxuICAgIGdldCBjYXJkRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgIXRoaXMuY2FyZFByZWZpbGxlZDtcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpICYmICF0aGlzLmV4cGlyZUluZXJ0O1xuICAgIH1cblxuICAgIGdldCBjdmNGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCk7XG4gICAgfVxuXG4gICAgZ2V0IG1hc2tlZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJkUHJlZmlsbGVkID8gYCoke3RoaXMuY2FyZC5zbGljZSgtNCl9YCA6ICcqJztcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzYycpXG4gICAgb25Fc2MoKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dEb3duLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnMSddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uYXJyb3dVcC5wcmV2ZW50JywgWyckZXZlbnQudGFyZ2V0JywgJy0xJ10pXG4gICAgb25BcnJvdyhlbGVtZW50OiBIVE1MRWxlbWVudCwgc3RlcDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMub3BlbiA9IHRoaXMuaGFzRHJvcGRvd247XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB0aGlzLmRhdGFsaXN0Py5vbktleURvd25BcnJvdyhlbGVtZW50LCBzdGVwKTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcHRpb24ob3B0aW9uOiBQYXJ0aWFsPFR1aUNhcmQ+KSB7XG4gICAgICAgIGNvbnN0IHtjYXJkID0gJycsIGV4cGlyZSA9ICcnLCBjdmMgPSAnJ30gPSBvcHRpb247XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgZWxlbWVudCA9XG4gICAgICAgICAgICAoIWV4cGlyZSAmJiB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50KSB8fCB0aGlzLmlucHV0Q1ZDPy5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoe2NhcmQsIGV4cGlyZSwgY3ZjfSk7XG4gICAgICAgIHRoaXMudXBkYXRlQmluKGJpbik7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISFleHBpcmU7XG5cbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNhcmRDaGFuZ2UoY2FyZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHt2YWx1ZSwgYmlufSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IGNhcmQuc3BsaXQoJyAnKS5qb2luKCcnKTtcblxuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUuY2FyZCA9PT0gcGFyc2VkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KHBhcnNlZCwgJ2NhcmQnKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcblxuICAgICAgICBpZiAodGhpcy5jYXJkVmFsaWRhdG9yKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dEV4cGlyZS5uYXRpdmVFbGVtZW50LCB0cnVlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRXhwaXJlQ2hhbmdlKGV4cGlyZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIEBiYWQgVE9ETzogV29ya2Fyb3VuZCB1bnRpbCBtYXNrIHBpcGUgY2FuIHJlcGxhY2UgY2hhcnMgYW5kIGtlZXAgY2FyZXQgcG9zaXRpb25cbiAgICAgICAgLy8gQGJhZCBUT0RPOiBUaGluayBhYm91dCBhIHNvbHV0aW9uIHdpdGhvdXQgbWFzayBhdCBhbGxcbiAgICAgICAgaWYgKCF0aGlzLmlucHV0RXhwaXJlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocGFyc2VJbnQoZXhwaXJlLnN1YnN0cigwLCAyKSwgMTApID4gMTIpIHtcbiAgICAgICAgICAgIGV4cGlyZSA9ICcxMicgKyBleHBpcmUuc3Vic3RyKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGlyZS5zdWJzdHIoMCwgMikgPT09ICcwMCcpIHtcbiAgICAgICAgICAgIGV4cGlyZSA9ICcwMScgKyBleHBpcmUuc3Vic3RyKDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pbnB1dEV4cGlyZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gZXhwaXJlO1xuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KGV4cGlyZSwgJ2V4cGlyZScpO1xuXG4gICAgICAgIGlmIChleHBpcmUubGVuZ3RoID09PSA1ICYmIHRoaXMuaW5wdXRDVkMpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dENWQy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ1ZDQ2hhbmdlKGN2Yzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkoY3ZjLCAnY3ZjJyk7XG4gICAgfVxuXG4gICAgb25BY3RpdmVab25lQ2hhbmdlKGFjdGl2ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUZvY3VzZWQoYWN0aXZlKTtcbiAgICAgICAgdGhpcy5vcGVuID0gYWN0aXZlICYmIHRoaXMub3BlbjtcbiAgICB9XG5cbiAgICBvbkhvdmVyZWQoaG92ZXJlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnVwZGF0ZUhvdmVyZWQoaG92ZXJlZCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZURvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLm1hdGNoZXMoJ2lucHV0JykpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH1cblxuICAgIG9uU2Nyb2xsKGVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IDA7XG4gICAgfVxuXG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUobnVsbCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaW5wdXRDYXJkKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlKCkge1xuICAgICAgICB0aGlzLm9wZW4gPSAhdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFR1aUNhcmQgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcblxuICAgICAgICBzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5leHBpcmVJbmVydCA9ICEhdGhpcy5leHBpcmUgJiYgdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNhcmRGb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmlucHV0Q2FyZCAmJiBpc05hdGl2ZUZvY3VzZWQodGhpcy5pbnB1dENhcmQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcGF5bWVudFN5c3RlbSgpOiBUdWlQYXltZW50U3lzdGVtIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICYmIGdldFBheW1lbnRTeXN0ZW0odGhpcy52YWx1ZS5jYXJkKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgaXNGb2N1c2FibGUoY2FyZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSAmJiAodGhpcy5jYXJkVmFsaWRhdG9yKGNhcmQpIHx8IHRoaXMuY2FyZFByZWZpbGxlZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVCaW4ob2xkQmluOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IHtiaW59ID0gdGhpcztcblxuICAgICAgICBpZiAoYmluICE9PSBvbGRCaW4gJiYgIXRoaXMuY2FyZFByZWZpbGxlZCkge1xuICAgICAgICAgICAgdGhpcy5iaW5DaGFuZ2UuZW1pdChiaW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVQcm9wZXJ0eShwcm9wVmFsdWU6IHN0cmluZywgcHJvcE5hbWU6ICdjYXJkJyB8ICdleHBpcmUnIHwgJ2N2YycpIHtcbiAgICAgICAgY29uc3Qge2NhcmQsIGV4cGlyZSwgY3ZjfSA9IHRoaXMudmFsdWUgfHwgU1RVQjtcbiAgICAgICAgY29uc3QgbmV3VmFsdWU6IFR1aUNhcmQgPSB7XG4gICAgICAgICAgICBjYXJkLFxuICAgICAgICAgICAgZXhwaXJlLFxuICAgICAgICAgICAgY3ZjLFxuICAgICAgICB9O1xuXG4gICAgICAgIG5ld1ZhbHVlW3Byb3BOYW1lXSA9IHByb3BWYWx1ZTtcblxuICAgICAgICBpZiAoIW5ld1ZhbHVlLmV4cGlyZSAmJiAhbmV3VmFsdWUuY3ZjICYmICFuZXdWYWx1ZS5jYXJkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzSW5wdXQoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgKHRoaXMuY2FyZEZvY3VzYWJsZSAmJiB0aGlzLmlucHV0Q2FyZD8ubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgICh0aGlzLmV4cGlyZUZvY3VzYWJsZSAmJiB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50KSB8fFxuICAgICAgICAgICAgdGhpcy5pbnB1dENWQz8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZChlbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
383
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBRzNCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUV4QixvQkFBb0IsRUFDcEIsb0JBQW9CLEdBR3ZCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQ0gsNEJBQTRCLEdBRS9CLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsTUFBTSxJ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QyxDQUFBO0dBMUY1Qiw0QkFBNEIsQ0EwWHhDO1NBMVhZLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT3V0cHV0LFxuICAgIFNlbGYsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RVSV9DQVJEX01BU0ssIHR1aURlZmF1bHRDYXJkVmFsaWRhdG9yfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2VudW1zJztcbmltcG9ydCB7VHVpQ2FyZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlDb2RlQ1ZDTGVuZ3RofSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBnZXRQYXltZW50U3lzdGVtLFxuICAgIHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdFR1aU51bGxhYmxlQ29udHJvbCxcbiAgICBpc05hdGl2ZUZvY3VzZWQsXG4gICAgaXNOYXRpdmVGb2N1c2VkSW4sXG4gICAgc2V0TmF0aXZlRm9jdXNlZCxcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgVHVpQm9vbGVhbkhhbmRsZXIsXG4gICAgVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSxcbiAgICB0dWlEZWZhdWx0UHJvcCxcbiAgICBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsXG4gICAgdHVpUHVyZSxcbiAgICB0dWlSZXF1aXJlZFNldHRlcixcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIE1PREVfUFJPVklERVIsXG4gICAgVFVJX0RBVEFfTElTVF9IT1NULFxuICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX01PREUsXG4gICAgVFVJX05PTl9ESUdJVF9SRUdFWFAsXG4gICAgVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpRGF0YUxpc3RDb21wb25lbnQsXG4gICAgVHVpRGF0YUxpc3REaXJlY3RpdmUsXG4gICAgVHVpRGF0YUxpc3RIb3N0LFxuICAgIFR1aVRleHRNYXNrT3B0aW9ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBUVUlfSU5QVVRfQ0FSRF9HUk9VUEVEX1RFWFRTLFxuICAgIFR1aUNhcmRHcm91cGVkVGV4dHMsXG59IGZyb20gJy4vaW5wdXQtY2FyZC1ncm91cGVkLnByb3ZpZGVycyc7XG5cbmNvbnN0IFNUVUI6IFR1aUNhcmQgPSB7XG4gICAgY2FyZDogJycsXG4gICAgZXhwaXJlOiAnJyxcbiAgICBjdmM6ICcnLFxufTtcbmNvbnN0IElDT05TID0ge1xuICAgIFtUdWlQYXltZW50U3lzdGVtLk1pcl06ICd0dWlJY29uTWlyJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5WaXNhXTogJ3R1aUljb25WaXNhJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5FbGVjdHJvbl06ICd0dWlJY29uRWxlY3Ryb24nLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLk1hc3RlcmNhcmRdOiAndHVpSWNvbk1hc3RlcmNhcmQnLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLk1hZXN0cm9dOiAndHVpSWNvbk1hZXN0cm8nLFxufTtcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LWNhcmQtZ3JvdXBlZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWNhcmQtZ3JvdXBlZC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1jYXJkLWdyb3VwZWQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RBVEFfTElTVF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiAnbW9kZSQnLFxuICAgICAgICAnZGF0YS10dWktaG9zdC1zaXplJzogJ2wnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aUNhcmQ+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxQYXJ0aWFsPFR1aUNhcmQ+Plxue1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Q2FyZCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dENhcmQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFeHBpcmUnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRFeHBpcmU/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRDVkMnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDVkM/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBleHBpcmVJbmVydCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGF1dG9jb21wbGV0ZUVuYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYXJkU3JjOiBQb2x5bW9ycGhldXNDb250ZW50IHwgbnVsbCA9IG51bGw7IC8vIFRPRE8oc3BsaW5jb2RlKTogd2lsbCBiZSBkZWxldGVkIGBudWxsYCBpbiB2My4wXG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZXhhbXBsZVRleHQgPSAnMDAwMCAwMDAwIDAwMDAgMDAwMCc7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgY2FyZFZhbGlkYXRvcjogVHVpQm9vbGVhbkhhbmRsZXI8c3RyaW5nPiA9IHR1aURlZmF1bHRDYXJkVmFsaWRhdG9yO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpUmVxdWlyZWRTZXR0ZXIoKVxuICAgIHNldCBjb2RlTGVuZ3RoKGxlbmd0aDogVHVpQ29kZUNWQ0xlbmd0aCkge1xuICAgICAgICB0aGlzLmV4YW1wbGVUZXh0Q1ZDID0gJzAnLnJlcGVhdChsZW5ndGgpO1xuICAgICAgICB0aGlzLm1hc2tDVkMgPSB7XG4gICAgICAgICAgICBtYXNrOiBuZXcgQXJyYXkobGVuZ3RoKS5maWxsKFRVSV9ESUdJVF9SRUdFWFApLFxuICAgICAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGF1dG9maWxsZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBiaW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bGw+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0RGlyZWN0aXZlLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHJlYWRvbmx5IGRyb3Bkb3duOiBQb2x5bW9ycGhldXNDb250ZW50ID0gJyc7XG5cbiAgICBAQ29udGVudENoaWxkKFR1aURhdGFMaXN0Q29tcG9uZW50KVxuICAgIHJlYWRvbmx5IGRhdGFsaXN0PzogVHVpRGF0YUxpc3RDb21wb25lbnQ8VHVpQ2FyZD47XG5cbiAgICBleGFtcGxlVGV4dENWQyA9ICcwMDAnO1xuXG4gICAgbWFza0NWQzogVHVpVGV4dE1hc2tPcHRpb25zID0ge1xuICAgICAgICBtYXNrOiBuZXcgQXJyYXkoMykuZmlsbChUVUlfRElHSVRfUkVHRVhQKSxcbiAgICAgICAgZ3VpZGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICByZWFkb25seSBtYXNrQ2FyZDogVHVpVGV4dE1hc2tPcHRpb25zID0ge1xuICAgICAgICBtYXNrOiBUVUlfQ0FSRF9NQVNLLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIHBpcGU6IGNvbmZvcm1lZFZhbHVlID0+IGNvbmZvcm1lZFZhbHVlLnRyaW0oKSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0V4cGlyZTogVHVpVGV4dE1hc2tPcHRpb25zID0ge1xuICAgICAgICBtYXNrOiBbXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgICcvJyxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBdLFxuICAgICAgICBwaXBlOiB0dWlDcmVhdGVBdXRvQ29ycmVjdGVkRXhwaXJlUGlwZSgpLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgfTtcblxuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBAU2VsZigpXG4gICAgICAgIEBJbmplY3QoTmdDb250cm9sKVxuICAgICAgICBjb250cm9sOiBOZ0NvbnRyb2wgfCBudWxsLFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoRWxlbWVudFJlZikgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChUVUlfTU9ERSkgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcyB8IG51bGw+LFxuICAgICAgICBASW5qZWN0KFRVSV9JTlBVVF9DQVJEX0dST1VQRURfVEVYVFMpXG4gICAgICAgIHJlYWRvbmx5IGNhcmRHcm91cGVkVGV4dHMkOiBPYnNlcnZhYmxlPFR1aUNhcmRHcm91cGVkVGV4dHM+LFxuICAgICAgICBASW5qZWN0KFRVSV9URVhURklFTERfQVBQRUFSQU5DRSlcbiAgICAgICAgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nLFxuICAgICkge1xuICAgICAgICBzdXBlcihjb250cm9sLCBjaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUZvY3VzYWJsZUVsZW1lbnQoKTogSFRNTElucHV0RWxlbWVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnB1dENhcmQgPyB0aGlzLmlucHV0Q2FyZC5uYXRpdmVFbGVtZW50IDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgZm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbiB8fCBpc05hdGl2ZUZvY3VzZWRJbih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/LmNhcmQgPz8gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGV4cGlyZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uZXhwaXJlID8/ICcnO1xuICAgIH1cblxuICAgIGdldCBjdmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU/LmN2YyA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2xlYW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZSAmJiAhdGhpcy5yZWFkT25seSAmJiAhdGhpcy5jb21wdXRlZERpc2FibGVkO1xuICAgIH1cblxuICAgIGdldCBoYXNEcm9wZG93bigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5kcm9wZG93bjtcbiAgICB9XG5cbiAgICBnZXQgZGVmYXVsdEljb24oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHtwYXltZW50U3lzdGVtfSA9IHRoaXM7XG5cbiAgICAgICAgcmV0dXJuIHBheW1lbnRTeXN0ZW0gJiYgSUNPTlNbcGF5bWVudFN5c3RlbV07XG4gICAgfVxuXG4gICAgZ2V0IGljb24oKTogUG9seW1vcnBoZXVzQ29udGVudCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5jYXJkU3JjID8/IHRoaXMuZGVmYXVsdEljb247XG4gICAgfVxuXG4gICAgZ2V0IGJpbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLnZhbHVlIHx8IHRoaXMudmFsdWUuY2FyZC5sZW5ndGggPCA2XG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogdGhpcy52YWx1ZS5jYXJkLnN1YnN0cigwLCA2KTtcbiAgICB9XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJSYWlzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAodGhpcy5jb21wdXRlZEZvY3VzZWQgJiYgIXRoaXMucmVhZE9ubHkpIHx8ICEhdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgZm9ybWF0dGVkQ2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkXG4gICAgICAgICAgICA/IHRoaXMudmFsdWUuY2FyZFxuICAgICAgICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgICAgICAgLm1hcCgoY2hhciwgaW5kZXgpID0+IChpbmRleCAmJiBpbmRleCAlIDQgPT09IDAgPyBgICR7Y2hhcn1gIDogY2hhcikpXG4gICAgICAgICAgICAgICAgICAuam9pbignJylcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxuXG4gICAgZ2V0IGlkQ2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCArICdfY2FyZCc7XG4gICAgfVxuXG4gICAgZ2V0IGlkRXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkICsgJ19leHBpcmUnO1xuICAgIH1cblxuICAgIGdldCBpZENWQygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCArICdfY3ZjJztcbiAgICB9XG5cbiAgICBnZXQgaXNDYXJkQ29sbGFwc2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpICYmICF0aGlzLmNhcmRGb2N1c2VkO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVDYXJkKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NOdW1iZXJcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgZ2V0IGF1dG9jb21wbGV0ZUV4cGlyZSgpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjRXhwXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVDVkMoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY0NzY1xuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICAvLyBTYWZhcmkgZXhwaXJhdGlvbiBkYXRlIGF1dG9maWxsIHdvcmthcm91bmRcbiAgICBnZXQgbmFtZSgpOiAnY2NleHBpcnl5ZWFyJyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkID8gJ2NjZXhwaXJ5eWVhcicgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBjYXJkUHJlZmlsbGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmNhcmQubWF0Y2goVFVJX05PTl9ESUdJVF9SRUdFWFApO1xuICAgIH1cblxuICAgIGdldCBjdmNQcmVmaWxsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuY3ZjLm1hdGNoKFRVSV9OT05fRElHSVRfUkVHRVhQKTtcbiAgICB9XG5cbiAgICBnZXQgY2FyZEZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9jdXNhYmxlICYmICF0aGlzLmNhcmRQcmVmaWxsZWQ7XG4gICAgfVxuXG4gICAgZ2V0IGV4cGlyZUZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKSAmJiAhdGhpcy5leHBpcmVJbmVydDtcbiAgICB9XG5cbiAgICBnZXQgY3ZjRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0ZvY3VzYWJsZSh0aGlzLmNhcmQpO1xuICAgIH1cblxuICAgIGdldCBtYXNrZWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FyZFByZWZpbGxlZCA/IGAqJHt0aGlzLmNhcmQuc2xpY2UoLTQpfWAgOiAnKic7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lc2MnKVxuICAgIG9uRXNjKCkge1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93RG93bi5wcmV2ZW50JywgWyckZXZlbnQudGFyZ2V0JywgJzEnXSlcbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmFycm93VXAucHJldmVudCcsIFsnJGV2ZW50LnRhcmdldCcsICctMSddKVxuICAgIG9uQXJyb3coZWxlbWVudDogSFRNTEVsZW1lbnQsIHN0ZXA6IG51bWJlcikge1xuICAgICAgICB0aGlzLm9wZW4gPSB0aGlzLmhhc0Ryb3Bkb3duO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgdGhpcy5kYXRhbGlzdD8ub25LZXlEb3duQXJyb3coZWxlbWVudCwgc3RlcCk7XG4gICAgfVxuXG4gICAgaGFuZGxlT3B0aW9uKG9wdGlvbjogUGFydGlhbDxUdWlDYXJkPikge1xuICAgICAgICBjb25zdCB7Y2FyZCA9ICcnLCBleHBpcmUgPSAnJywgY3ZjID0gJyd9ID0gb3B0aW9uO1xuICAgICAgICBjb25zdCB7YmlufSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPVxuICAgICAgICAgICAgKCFleHBpcmUgJiYgdGhpcy5pbnB1dEV4cGlyZT8ubmF0aXZlRWxlbWVudCkgfHwgdGhpcy5pbnB1dENWQz8ubmF0aXZlRWxlbWVudDtcblxuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHtjYXJkLCBleHBpcmUsIGN2Y30pO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuICAgICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5leHBpcmVJbmVydCA9ICEhZXhwaXJlO1xuXG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DYXJkQ2hhbmdlKGNhcmQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCB7dmFsdWUsIGJpbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBjYXJkLnNwbGl0KCcgJykuam9pbignJyk7XG5cbiAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLmNhcmQgPT09IHBhcnNlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShwYXJzZWQsICdjYXJkJyk7XG4gICAgICAgIHRoaXMudXBkYXRlQmluKGJpbik7XG5cbiAgICAgICAgaWYgKHRoaXMuY2FyZFZhbGlkYXRvcih0aGlzLmNhcmQpICYmICF0aGlzLmV4cGlyZSAmJiB0aGlzLmlucHV0RXhwaXJlKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRFeHBpcmUubmF0aXZlRWxlbWVudCwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkV4cGlyZUNoYW5nZShleHBpcmU6IHN0cmluZykge1xuICAgICAgICAvLyBAYmFkIFRPRE86IFdvcmthcm91bmQgdW50aWwgbWFzayBwaXBlIGNhbiByZXBsYWNlIGNoYXJzIGFuZCBrZWVwIGNhcmV0IHBvc2l0aW9uXG4gICAgICAgIC8vIEBiYWQgVE9ETzogVGhpbmsgYWJvdXQgYSBzb2x1dGlvbiB3aXRob3V0IG1hc2sgYXQgYWxsXG4gICAgICAgIGlmICghdGhpcy5pbnB1dEV4cGlyZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnNlSW50KGV4cGlyZS5zdWJzdHIoMCwgMiksIDEwKSA+IDEyKSB7XG4gICAgICAgICAgICBleHBpcmUgPSAnMTInICsgZXhwaXJlLnN1YnN0cigyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChleHBpcmUuc3Vic3RyKDAsIDIpID09PSAnMDAnKSB7XG4gICAgICAgICAgICBleHBpcmUgPSAnMDEnICsgZXhwaXJlLnN1YnN0cigyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5wdXRFeHBpcmUubmF0aXZlRWxlbWVudC52YWx1ZSA9IGV4cGlyZTtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShleHBpcmUsICdleHBpcmUnKTtcblxuICAgICAgICBpZiAoZXhwaXJlLmxlbmd0aCA9PT0gNSAmJiB0aGlzLmlucHV0Q1ZDKSB7XG4gICAgICAgICAgICBzZXROYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRDVkMubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNWQ0NoYW5nZShjdmM6IHN0cmluZykge1xuICAgICAgICB0aGlzLnVwZGF0ZVByb3BlcnR5KGN2YywgJ2N2YycpO1xuICAgIH1cblxuICAgIG9uQWN0aXZlWm9uZUNoYW5nZShhY3RpdmU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVGb2N1c2VkKGFjdGl2ZSk7XG4gICAgICAgIHRoaXMub3BlbiA9IGFjdGl2ZSAmJiB0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgb25Ib3ZlcmVkKGhvdmVyZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy51cGRhdGVIb3ZlcmVkKGhvdmVyZWQpO1xuICAgIH1cblxuICAgIG9uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGlmICgoZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5tYXRjaGVzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvblNjcm9sbChlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNjcm9sbExlZnQgPSAwO1xuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKG51bGwpO1xuXG4gICAgICAgIGlmICh0aGlzLmlucHV0Q2FyZCkge1xuICAgICAgICAgICAgc2V0TmF0aXZlRm9jdXNlZCh0aGlzLmlucHV0Q2FyZC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvZ2dsZSgpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBUdWlDYXJkIHwgbnVsbCkge1xuICAgICAgICBjb25zdCB7YmlufSA9IHRoaXM7XG5cbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlQmluKGJpbik7XG4gICAgICAgIHRoaXMuZXhwaXJlSW5lcnQgPSAhIXRoaXMuZXhwaXJlICYmIHRoaXMuY2FyZFByZWZpbGxlZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjYXJkRm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pbnB1dENhcmQgJiYgaXNOYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHBheW1lbnRTeXN0ZW0oKTogVHVpUGF5bWVudFN5c3RlbSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAmJiBnZXRQYXltZW50U3lzdGVtKHRoaXMudmFsdWUuY2FyZCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGlzRm9jdXNhYmxlKGNhcmQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgKHRoaXMuY2FyZFZhbGlkYXRvcihjYXJkKSB8fCB0aGlzLmNhcmRQcmVmaWxsZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQmluKG9sZEJpbjogc3RyaW5nIHwgbnVsbCkge1xuICAgICAgICBjb25zdCB7YmlufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGJpbiAhPT0gb2xkQmluICYmICF0aGlzLmNhcmRQcmVmaWxsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYmluQ2hhbmdlLmVtaXQoYmluKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJvcGVydHkocHJvcFZhbHVlOiBzdHJpbmcsIHByb3BOYW1lOiAnY2FyZCcgfCAnZXhwaXJlJyB8ICdjdmMnKSB7XG4gICAgICAgIGNvbnN0IHtjYXJkLCBleHBpcmUsIGN2Y30gPSB0aGlzLnZhbHVlIHx8IFNUVUI7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlOiBUdWlDYXJkID0ge1xuICAgICAgICAgICAgY2FyZCxcbiAgICAgICAgICAgIGV4cGlyZSxcbiAgICAgICAgICAgIGN2YyxcbiAgICAgICAgfTtcblxuICAgICAgICBuZXdWYWx1ZVtwcm9wTmFtZV0gPSBwcm9wVmFsdWU7XG5cbiAgICAgICAgaWYgKCFuZXdWYWx1ZS5leHBpcmUgJiYgIW5ld1ZhbHVlLmN2YyAmJiAhbmV3VmFsdWUuY2FyZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KCkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICh0aGlzLmNhcmRGb2N1c2FibGUgJiYgdGhpcy5pbnB1dENhcmQ/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAodGhpcy5leHBpcmVGb2N1c2FibGUgJiYgdGhpcy5pbnB1dEV4cGlyZT8ubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIHNldE5hdGl2ZUZvY3VzZWQoZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
|
@@ -92,10 +92,10 @@ TuiMoneyComponent = __decorate([
|
|
|
92
92
|
Component({
|
|
93
93
|
selector: 'tui-money',
|
|
94
94
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
95
|
-
template: "<span automation-id=\"tui-money__sign\">{{ signSymbol }}</span>\n<span automation-id=\"tui-money__integer-part\">{{ integerPart }}</span>\n<span class=\"t-lighter\">\n <span automation-id=\"tui-money__fraction-part\">{{ fractionPart }}</span>\n <span
|
|
96
|
-
styles: [":host{white-space:nowrap}:host._red{color:var(--tui-negative)}:host._green{color:var(--tui-positive)}:host:not(._inherit-color) .t-lighter{opacity:var(--tui-disabled-opacity)}"]
|
|
95
|
+
template: "<span automation-id=\"tui-money__sign\">{{ signSymbol }}</span>\n<span automation-id=\"tui-money__integer-part\">{{ integerPart }}</span>\n<span class=\"t-lighter\">\n <span automation-id=\"tui-money__fraction-part\">{{ fractionPart }}</span>\n <span\n automation-id=\"tui-money__currency\"\n class=\"t-currency\"\n [textContent]=\"currency | tuiCurrency\"\n ></span>\n</span>\n",
|
|
96
|
+
styles: [":host{white-space:nowrap}:host._red{color:var(--tui-negative)}:host._green{color:var(--tui-positive)}:host:not(._inherit-color) .t-lighter{opacity:var(--tui-disabled-opacity)}.t-currency{padding-left:.2rem}"]
|
|
97
97
|
}),
|
|
98
98
|
__param(0, Inject(TUI_NUMBER_FORMAT))
|
|
99
99
|
], TuiMoneyComponent);
|
|
100
100
|
export { TuiMoneyComponent };
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvbW9uZXkvIiwic291cmNlcyI6WyJtb25leS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxHQUNSLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBQyxZQUFZLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNELE9BQU8sRUFDSCxZQUFZLEVBRVosaUJBQWlCLEdBRXBCLE1BQU0sZ0JBQWdCLENBQUM7QUFReEIsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7SUFxRjFCLFlBRXFCLFlBQWtDO1FBQWxDLGlCQUFZLEdBQVosWUFBWSxDQUFzQjtRQXBGdkQsVUFBSyxHQUFHLEdBQUcsQ0FBQztRQUlaLFlBQU8sR0FBZ0IsVUFBVSxDQUFDO1FBSWxDLGFBQVEscUJBQTBDO1FBSWxELFNBQUksR0FBa0IsZUFBZSxDQUFDO1FBSXRDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFJaEIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUlkLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBNkRqQixDQUFDO0lBM0RKLElBQUksV0FBVztRQUNYLE9BQU8sWUFBWSxDQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFDaEMsSUFBSSxFQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQ3RDLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osTUFBTSxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTdELE9BQU8sT0FBTyxLQUFLLE9BQU87WUFDdEIsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLEtBQUssUUFBUSxDQUFDO1lBQ3RELENBQUMsQ0FBQyxFQUFFO1lBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixNQUFNLEVBQUMsSUFBSSxFQUFFLEtBQUssRUFBQyxHQUFHLElBQUksQ0FBQztRQUUzQixJQUFJLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLEtBQUssZUFBZSxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtZQUN2RSxPQUFPLEVBQUUsQ0FBQztTQUNiO1FBRUQsSUFBSSxJQUFJLEtBQUssZ0JBQWdCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3ZFLE9BQU8sWUFBWSxDQUFDO1NBQ3ZCO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBR0QsSUFBSSxHQUFHO1FBQ0gsT0FBTyxDQUNILElBQUksQ0FBQyxPQUFPO1lBQ1osQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLFlBQVk7Z0JBQzdCLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLENBQzFELENBQUM7SUFDTixDQUFDO0lBR0QsSUFBSSxLQUFLO1FBQ0wsT0FBTyxDQUNILElBQUksQ0FBQyxPQUFPO1lBQ1osQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLEdBQUc7Z0JBQ3BCLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLENBQzFELENBQUM7SUFDTixDQUFDO0lBR0QsSUFBSSxZQUFZO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7Q0FNSixDQUFBOzs0Q0FIUSxNQUFNLFNBQUMsaUJBQWlCOztBQW5GN0I7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7Z0RBQ0w7QUFJWjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtrREFDaUI7QUFJbEM7SUFGQyxLQUFLLEVBQUU7SUFDUCxjQUFjLEVBQUU7bURBQ2lDO0FBSWxEO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFOytDQUNxQjtBQUl0QztJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtrREFDRDtBQUloQjtJQUZDLEtBQUssRUFBRTtJQUNQLGNBQWMsRUFBRTtvREFDSDtBQUlkO0lBRkMsS0FBSyxFQUFFO0lBQ1AsY0FBYyxFQUFFO3NEQUNHO0FBb0NwQjtJQURDLFdBQVcsQ0FBQyxZQUFZLENBQUM7NENBT3pCO0FBR0Q7SUFEQyxXQUFXLENBQUMsY0FBYyxDQUFDOzhDQU8zQjtBQUdEO0lBREMsV0FBVyxDQUFDLHNCQUFzQixDQUFDO3FEQUduQztBQW5GUSxpQkFBaUI7SUFON0IsU0FBUyxDQUFDO1FBQ1AsUUFBUSxFQUFFLFdBQVc7UUFDckIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07UUFDL0Msb2FBQW9DOztLQUV2QyxDQUFDO0lBdUZPLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7R0F0RnJCLGlCQUFpQixDQXlGN0I7U0F6RlksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQ3VycmVuY3l9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9lbnVtcyc7XG5pbXBvcnQge1R1aUN1cnJlbmN5VmFyaWFudHMsIFR1aU1vbmV5U2lnblR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQge0NIQVJfRU5fREFTSCwgdHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBmb3JtYXROdW1iZXIsXG4gICAgTnVtYmVyRm9ybWF0U2V0dGluZ3MsXG4gICAgVFVJX05VTUJFUl9GT1JNQVQsXG4gICAgVHVpRGVjaW1hbFQsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktbW9uZXknLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb25leS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9tb25leS5zdHlsZS5sZXNzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFR1aU1vbmV5Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgdmFsdWUgPSBOYU47XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgZGVjaW1hbDogVHVpRGVjaW1hbFQgPSAnbm90LXplcm8nO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGN1cnJlbmN5OiBUdWlDdXJyZW5jeVZhcmlhbnRzID0gVHVpQ3VycmVuY3kuUnVibGU7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgc2lnbjogVHVpTW9uZXlTaWduVCA9ICduZWdhdGl2ZS1vbmx5JztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjb2xvcmVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcHJlY2lzaW9uID0gMjtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBzaW5nbGVDb2xvciA9IGZhbHNlO1xuXG4gICAgZ2V0IGludGVnZXJQYXJ0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmb3JtYXROdW1iZXIoXG4gICAgICAgICAgICBNYXRoLmZsb29yKE1hdGguYWJzKHRoaXMudmFsdWUpKSxcbiAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICB0aGlzLm51bWJlckZvcm1hdC5kZWNpbWFsU2VwYXJhdG9yLFxuICAgICAgICAgICAgdGhpcy5udW1iZXJGb3JtYXQudGhvdXNhbmRTZXBhcmF0b3IsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGZyYWN0aW9uUGFydCgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB7ZGVjaW1hbCwgdmFsdWV9ID0gdGhpcztcbiAgICAgICAgY29uc3QgZnJhY3Rpb24gPSB2YWx1ZS50b0ZpeGVkKHRoaXMucHJlY2lzaW9uKS5zcGxpdCgnLicpWzFdO1xuXG4gICAgICAgIHJldHVybiBkZWNpbWFsID09PSAnbmV2ZXInIHx8XG4gICAgICAgICAgICAocGFyc2VJbnQoZnJhY3Rpb24sIDEwKSA9PT0gMCAmJiBkZWNpbWFsICE9PSAnYWx3YXlzJylcbiAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgIDogdGhpcy5udW1iZXJGb3JtYXQuZGVjaW1hbFNlcGFyYXRvciArIGZyYWN0aW9uO1xuICAgIH1cblxuICAgIGdldCBzaWduU3ltYm9sKCk6ICcnIHwgdHlwZW9mIENIQVJfRU5fREFTSCB8ICcrJyB7XG4gICAgICAgIGNvbnN0IHtzaWduLCB2YWx1ZX0gPSB0aGlzO1xuXG4gICAgICAgIGlmIChzaWduID09PSAnbmV2ZXInIHx8ICF2YWx1ZSB8fCAoc2lnbiA9PT0gJ25lZ2F0aXZlLW9ubHknICYmIHZhbHVlID4gMCkpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaWduID09PSAnZm9yY2UtbmVnYXRpdmUnIHx8ICh2YWx1ZSA8IDAgJiYgc2lnbiAhPT0gJ2ZvcmNlLXBvc2l0aXZlJykpIHtcbiAgICAgICAgICAgIHJldHVybiBDSEFSX0VOX0RBU0g7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJysnO1xuICAgIH1cblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX3JlZCcpXG4gICAgZ2V0IHJlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuY29sb3JlZCAmJlxuICAgICAgICAgICAgKHRoaXMuc2lnblN5bWJvbCA9PT0gQ0hBUl9FTl9EQVNIIHx8XG4gICAgICAgICAgICAgICAgKHRoaXMudmFsdWUgPCAwICYmIHRoaXMuc2lnbiAhPT0gJ2ZvcmNlLXBvc2l0aXZlJykpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fZ3JlZW4nKVxuICAgIGdldCBncmVlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuY29sb3JlZCAmJlxuICAgICAgICAgICAgKHRoaXMuc2lnblN5bWJvbCA9PT0gJysnIHx8XG4gICAgICAgICAgICAgICAgKHRoaXMudmFsdWUgPiAwICYmIHRoaXMuc2lnbiAhPT0gJ2ZvcmNlLW5lZ2F0aXZlJykpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faW5oZXJpdC1jb2xvcicpXG4gICAgZ2V0IGluaGVyaXRDb2xvcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2luZ2xlQ29sb3IgfHwgKHRoaXMudmFsdWUgPT09IDAgJiYgdGhpcy5jb2xvcmVkKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfTlVNQkVSX0ZPUk1BVClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBudW1iZXJGb3JtYXQ6IE51bWJlckZvcm1hdFNldHRpbmdzLFxuICAgICkge31cbn1cbiJdfQ==
|
|
@@ -1,23 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* **Active ISO 4217 numeric currency codes**
|
|
3
|
+
*
|
|
4
|
+
* @description The ISO 4217 classification is used to describe alphabetic and numeric currency codes.
|
|
5
|
+
* @description Numeric code is also called "number-3".
|
|
6
|
+
*
|
|
7
|
+
* @link https://en.wikipedia.org/wiki/ISO_4217
|
|
8
|
+
*/
|
|
1
9
|
export var TuiCurrencyCode;
|
|
2
10
|
(function (TuiCurrencyCode) {
|
|
11
|
+
/**
|
|
12
|
+
* Russian ruble
|
|
13
|
+
*
|
|
14
|
+
* @description Numeric code: 643
|
|
15
|
+
* @description Alphabetic code: RUB
|
|
16
|
+
* @description Countries and territories: Russia
|
|
17
|
+
*/
|
|
3
18
|
TuiCurrencyCode["Ruble"] = "643";
|
|
19
|
+
/**
|
|
20
|
+
* Euro
|
|
21
|
+
*
|
|
22
|
+
* @description Numeric code: 978
|
|
23
|
+
* @description Alphabetic code: EUR
|
|
24
|
+
* @description Countries and territories: Åland Islands (AX), European Union (EU), Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), French Southern and Antarctic Lands (TF), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), French Guiana (GF), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Réunion (RE), Saint Barthélemy (BL), Saint Martin (MF), Saint Pierre and Miquelon (PM), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES), Vatican City (VA)
|
|
25
|
+
*/
|
|
4
26
|
TuiCurrencyCode["Euro"] = "978";
|
|
27
|
+
/**
|
|
28
|
+
* United States dollar
|
|
29
|
+
*
|
|
30
|
+
* @description Numeric code: 840
|
|
31
|
+
* @description Alphabetic code: USD
|
|
32
|
+
* @description Countries and territories: United States, American Samoa (AS), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ – Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA) (as well as Panamanian Balboa), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), United States Minor Outlying Islands (UM)
|
|
33
|
+
*/
|
|
5
34
|
TuiCurrencyCode["Dollar"] = "840";
|
|
35
|
+
/**
|
|
36
|
+
* Pound sterling
|
|
37
|
+
*
|
|
38
|
+
* @description Numeric code: 826
|
|
39
|
+
* @description Alphabetic code: GBP
|
|
40
|
+
* @description Countries and territories: United Kingdom, Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), Tristan da Cunha (SH-TA)
|
|
41
|
+
*/
|
|
6
42
|
TuiCurrencyCode["Pound"] = "826";
|
|
43
|
+
/**
|
|
44
|
+
* Thai baht
|
|
45
|
+
*
|
|
46
|
+
* @description Numeric code: 764
|
|
47
|
+
* @description Alphabetic code: THB
|
|
48
|
+
* @description Countries and territories: Thailand
|
|
49
|
+
*/
|
|
7
50
|
TuiCurrencyCode["Baht"] = "764";
|
|
51
|
+
/**
|
|
52
|
+
* Turkish lira
|
|
53
|
+
*
|
|
54
|
+
* @description Numeric code: 949
|
|
55
|
+
* @description Alphabetic code: TRY
|
|
56
|
+
* @description Countries and territories: Turkey
|
|
57
|
+
*/
|
|
8
58
|
TuiCurrencyCode["TurkishLira"] = "949";
|
|
59
|
+
/**
|
|
60
|
+
* Chinese yuan
|
|
61
|
+
*
|
|
62
|
+
* @description Numeric code: 156
|
|
63
|
+
* @description Alphabetic code: CNY
|
|
64
|
+
* @description Countries and territories: China
|
|
65
|
+
*/
|
|
9
66
|
TuiCurrencyCode["YuanRenminbi"] = "156";
|
|
67
|
+
/**
|
|
68
|
+
* Kazakhstani tenge
|
|
69
|
+
*
|
|
70
|
+
* @description Numeric code: 398
|
|
71
|
+
* @description Alphabetic code: KZT
|
|
72
|
+
* @description Countries and territories: Kazakhstan
|
|
73
|
+
*/
|
|
10
74
|
TuiCurrencyCode["Tenge"] = "398";
|
|
75
|
+
/**
|
|
76
|
+
* Israeli new shekel
|
|
77
|
+
*
|
|
78
|
+
* @description Numeric code: 376
|
|
79
|
+
* @description Alphabetic code: ILS
|
|
80
|
+
* @description Countries and territories: Israel
|
|
81
|
+
*/
|
|
11
82
|
TuiCurrencyCode["IsraeliShekel"] = "376";
|
|
83
|
+
/**
|
|
84
|
+
* Indian rupee
|
|
85
|
+
*
|
|
86
|
+
* @description Numeric code: 356
|
|
87
|
+
* @description Alphabetic code: INR
|
|
88
|
+
* @description Countries and territories: India, Bhutan
|
|
89
|
+
*/
|
|
12
90
|
TuiCurrencyCode["IndianRupee"] = "356";
|
|
91
|
+
/**
|
|
92
|
+
* Japanese yen
|
|
93
|
+
*
|
|
94
|
+
* @description Numeric code: 392
|
|
95
|
+
* @description Alphabetic code: JPY
|
|
96
|
+
* @description Countries and territories: Japan
|
|
97
|
+
*/
|
|
13
98
|
TuiCurrencyCode["Yen"] = "392";
|
|
99
|
+
/**
|
|
100
|
+
* South Korean won
|
|
101
|
+
*
|
|
102
|
+
* @description Numeric code: 410
|
|
103
|
+
* @description Alphabetic code: KRW
|
|
104
|
+
* @description Countries and territories: South Korea
|
|
105
|
+
*/
|
|
14
106
|
TuiCurrencyCode["Won"] = "410";
|
|
107
|
+
/**
|
|
108
|
+
* Swiss franc
|
|
109
|
+
*
|
|
110
|
+
* @description Numeric code: 756
|
|
111
|
+
* @description Alphabetic code: CHF
|
|
112
|
+
* @description Countries and territories: Switzerland, Liechtenstein (LI)
|
|
113
|
+
*/
|
|
15
114
|
TuiCurrencyCode["SwissFranc"] = "756";
|
|
115
|
+
/**
|
|
116
|
+
* Singapore dollar
|
|
117
|
+
*
|
|
118
|
+
* @description Numeric code: 702
|
|
119
|
+
* @description Alphabetic code: SGD
|
|
120
|
+
* @description Countries and territories: Singapore
|
|
121
|
+
*/
|
|
16
122
|
TuiCurrencyCode["SingaporeDollar"] = "702";
|
|
123
|
+
/**
|
|
124
|
+
* Australian dollar
|
|
125
|
+
*
|
|
126
|
+
* @description Numeric code: 036
|
|
127
|
+
* @description Alphabetic code: AUD
|
|
128
|
+
* @description Countries and territories: Australia, Christmas Island (CX), Cocos (Keeling) Islands (CC), Heard Island and McDonald Islands (HM), Kiribati (KI), Nauru (NR), Norfolk Island (NF), Tuvalu (TV)
|
|
129
|
+
*/
|
|
17
130
|
TuiCurrencyCode["AustralianDollar"] = "036";
|
|
131
|
+
/**
|
|
132
|
+
* Hong Kong dollar
|
|
133
|
+
*
|
|
134
|
+
* @description Numeric code: 344
|
|
135
|
+
* @description Alphabetic code: HKD
|
|
136
|
+
* @description Countries and territories: Hong Kong
|
|
137
|
+
*/
|
|
18
138
|
TuiCurrencyCode["HongKong_dollar"] = "344";
|
|
139
|
+
/**
|
|
140
|
+
* Canadian dollar
|
|
141
|
+
*
|
|
142
|
+
* @description Numeric code: 124
|
|
143
|
+
* @description Alphabetic code: CAD
|
|
144
|
+
* @description Countries and territories: Canada
|
|
145
|
+
*/
|
|
19
146
|
TuiCurrencyCode["CanadianDollar"] = "124";
|
|
147
|
+
/**
|
|
148
|
+
* Armenian dram
|
|
149
|
+
*
|
|
150
|
+
* @description Numeric code: 051
|
|
151
|
+
* @description Alphabetic code: AMD
|
|
152
|
+
* @description Countries and territories: Armenia
|
|
153
|
+
*/
|
|
20
154
|
TuiCurrencyCode["ArmenianDram"] = "051";
|
|
155
|
+
/**
|
|
156
|
+
* Ukrainian hryvnia
|
|
157
|
+
*
|
|
158
|
+
* @description Numeric code: 980
|
|
159
|
+
* @description Alphabetic code: UAH
|
|
160
|
+
* @description Countries and territories: Ukraine
|
|
161
|
+
*/
|
|
21
162
|
TuiCurrencyCode["Hryvnia"] = "980";
|
|
22
163
|
})(TuiCurrencyCode || (TuiCurrencyCode = {}));
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktY29kZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9lbnVtcy8iLCJzb3VyY2VzIjpbImN1cnJlbmN5LWNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBTixJQUFrQixlQTJLakI7QUEzS0QsV0FBa0IsZUFBZTtJQUM3Qjs7Ozs7O09BTUc7SUFDSCxnQ0FBYSxDQUFBO0lBRWI7Ozs7OztPQU1HO0lBQ0gsK0JBQVksQ0FBQTtJQUVaOzs7Ozs7T0FNRztJQUNILGlDQUFjLENBQUE7SUFFZDs7Ozs7O09BTUc7SUFDSCxnQ0FBYSxDQUFBO0lBRWI7Ozs7OztPQU1HO0lBQ0gsK0JBQVksQ0FBQTtJQUVaOzs7Ozs7T0FNRztJQUNILHNDQUFtQixDQUFBO0lBRW5COzs7Ozs7T0FNRztJQUNILHVDQUFvQixDQUFBO0lBRXBCOzs7Ozs7T0FNRztJQUNILGdDQUFhLENBQUE7SUFFYjs7Ozs7O09BTUc7SUFDSCx3Q0FBcUIsQ0FBQTtJQUVyQjs7Ozs7O09BTUc7SUFDSCxzQ0FBbUIsQ0FBQTtJQUVuQjs7Ozs7O09BTUc7SUFDSCw4QkFBVyxDQUFBO0lBRVg7Ozs7OztPQU1HO0lBQ0gsOEJBQVcsQ0FBQTtJQUVYOzs7Ozs7T0FNRztJQUNILHFDQUFrQixDQUFBO0lBRWxCOzs7Ozs7T0FNRztJQUNILDBDQUF1QixDQUFBO0lBRXZCOzs7Ozs7T0FNRztJQUNILDJDQUF3QixDQUFBO0lBRXhCOzs7Ozs7T0FNRztJQUNILDBDQUF1QixDQUFBO0lBRXZCOzs7Ozs7T0FNRztJQUNILHlDQUFzQixDQUFBO0lBRXRCOzs7Ozs7T0FNRztJQUNILHVDQUFvQixDQUFBO0lBRXBCOzs7Ozs7T0FNRztJQUNILGtDQUFlLENBQUE7QUFDbkIsQ0FBQyxFQTNLaUIsZUFBZSxLQUFmLGVBQWUsUUEyS2hDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAqKkFjdGl2ZSBJU08gNDIxNyBudW1lcmljIGN1cnJlbmN5IGNvZGVzKipcbiAqXG4gKiBAZGVzY3JpcHRpb24gVGhlIElTTyA0MjE3IGNsYXNzaWZpY2F0aW9uIGlzIHVzZWQgdG8gZGVzY3JpYmUgYWxwaGFiZXRpYyBhbmQgbnVtZXJpYyBjdXJyZW5jeSBjb2Rlcy5cbiAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGUgaXMgYWxzbyBjYWxsZWQgXCJudW1iZXItM1wiLlxuICpcbiAqIEBsaW5rIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT180MjE3XG4gKi9cbmV4cG9ydCBjb25zdCBlbnVtIFR1aUN1cnJlbmN5Q29kZSB7XG4gICAgLyoqXG4gICAgICogUnVzc2lhbiBydWJsZVxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogNjQzXG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogUlVCXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IFJ1c3NpYVxuICAgICAqL1xuICAgIFJ1YmxlID0gJzY0MycsXG5cbiAgICAvKipcbiAgICAgKiBFdXJvXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiA5NzhcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBFVVJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogw4VsYW5kIElzbGFuZHMgKEFYKSwgRXVyb3BlYW4gVW5pb24gKEVVKSwgQW5kb3JyYSAoQUQpLCBBdXN0cmlhIChBVCksIEJlbGdpdW0gKEJFKSwgQ3lwcnVzIChDWSksIEVzdG9uaWEgKEVFKSwgRmlubGFuZCAoRkkpLCBGcmFuY2UgKEZSKSwgRnJlbmNoIFNvdXRoZXJuIGFuZCBBbnRhcmN0aWMgTGFuZHMgKFRGKSwgR2VybWFueSAoREUpLCBHcmVlY2UgKEdSKSwgR3VhZGVsb3VwZSAoR1ApLCBJcmVsYW5kIChJRSksIEl0YWx5IChJVCksIExhdHZpYSAoTFYpLCBMaXRodWFuaWEgKExUKSwgTHV4ZW1ib3VyZyAoTFUpLCBNYWx0YSAoTVQpLCBGcmVuY2ggR3VpYW5hIChHRiksIE1hcnRpbmlxdWUgKE1RKSwgTWF5b3R0ZSAoWVQpLCBNb25hY28gKE1DKSwgTW9udGVuZWdybyAoTUUpLCBOZXRoZXJsYW5kcyAoTkwpLCBQb3J0dWdhbCAoUFQpLCBSw6l1bmlvbiAoUkUpLCBTYWludCBCYXJ0aMOpbGVteSAoQkwpLCBTYWludCBNYXJ0aW4gKE1GKSwgU2FpbnQgUGllcnJlIGFuZCBNaXF1ZWxvbiAoUE0pLCBTYW4gTWFyaW5vIChTTSksIFNsb3Zha2lhIChTSyksIFNsb3ZlbmlhIChTSSksIFNwYWluIChFUyksIFZhdGljYW4gQ2l0eSAoVkEpXG4gICAgICovXG4gICAgRXVybyA9ICc5NzgnLFxuXG4gICAgLyoqXG4gICAgICogVW5pdGVkIFN0YXRlcyBkb2xsYXJcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDg0MFxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IFVTRFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBVbml0ZWQgU3RhdGVzLCBBbWVyaWNhbiBTYW1vYSAoQVMpLCBCcml0aXNoIEluZGlhbiBPY2VhbiBUZXJyaXRvcnkgKElPKSAoYWxzbyB1c2VzIEdCUCksIEJyaXRpc2ggVmlyZ2luIElzbGFuZHMgKFZHKSwgQ2FyaWJiZWFuIE5ldGhlcmxhbmRzIChCUSDigJMgQm9uYWlyZSwgU2ludCBFdXN0YXRpdXMgYW5kIFNhYmEpLCBFY3VhZG9yIChFQyksIEVsIFNhbHZhZG9yIChTViksIEd1YW0gKEdVKSwgTWFyc2hhbGwgSXNsYW5kcyAoTUgpLCBGZWRlcmF0ZWQgU3RhdGVzIG9mIE1pY3JvbmVzaWEgKEZNKSwgTm9ydGhlcm4gTWFyaWFuYSBJc2xhbmRzIChNUCksIFBhbGF1IChQVyksIFBhbmFtYSAoUEEpIChhcyB3ZWxsIGFzIFBhbmFtYW5pYW4gQmFsYm9hKSwgUHVlcnRvIFJpY28gKFBSKSwgVGltb3ItTGVzdGUgKFRMKSwgVHVya3MgYW5kIENhaWNvcyBJc2xhbmRzIChUQyksIFUuUy4gVmlyZ2luIElzbGFuZHMgKFZJKSwgVW5pdGVkIFN0YXRlcyBNaW5vciBPdXRseWluZyBJc2xhbmRzIChVTSlcbiAgICAgKi9cbiAgICBEb2xsYXIgPSAnODQwJyxcblxuICAgIC8qKlxuICAgICAqIFBvdW5kIHN0ZXJsaW5nXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiA4MjZcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBHQlBcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogVW5pdGVkIEtpbmdkb20sIElzbGUgb2YgTWFuIChJTSwgc2VlIE1hbnggcG91bmQpLCBKZXJzZXkgKEpFLCBzZWUgSmVyc2V5IHBvdW5kKSwgR3Vlcm5zZXkgKEdHLCBzZWUgR3Vlcm5zZXkgcG91bmQpLCBUcmlzdGFuIGRhIEN1bmhhIChTSC1UQSlcbiAgICAgKi9cbiAgICBQb3VuZCA9ICc4MjYnLFxuXG4gICAgLyoqXG4gICAgICogVGhhaSBiYWh0XG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiA3NjRcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBUSEJcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogVGhhaWxhbmRcbiAgICAgKi9cbiAgICBCYWh0ID0gJzc2NCcsXG5cbiAgICAvKipcbiAgICAgKiBUdXJraXNoIGxpcmFcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDk0OVxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IFRSWVxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBUdXJrZXlcbiAgICAgKi9cbiAgICBUdXJraXNoTGlyYSA9ICc5NDknLFxuXG4gICAgLyoqXG4gICAgICogQ2hpbmVzZSB5dWFuXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiAxNTZcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBDTllcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogQ2hpbmFcbiAgICAgKi9cbiAgICBZdWFuUmVubWluYmkgPSAnMTU2JyxcblxuICAgIC8qKlxuICAgICAqIEthemFraHN0YW5pIHRlbmdlXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiAzOThcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBLWlRcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogS2F6YWtoc3RhblxuICAgICAqL1xuICAgIFRlbmdlID0gJzM5OCcsXG5cbiAgICAvKipcbiAgICAgKiBJc3JhZWxpIG5ldyBzaGVrZWxcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDM3NlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IElMU1xuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBJc3JhZWxcbiAgICAgKi9cbiAgICBJc3JhZWxpU2hla2VsID0gJzM3NicsXG5cbiAgICAvKipcbiAgICAgKiBJbmRpYW4gcnVwZWVcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDM1NlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IElOUlxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBJbmRpYSwgQmh1dGFuXG4gICAgICovXG4gICAgSW5kaWFuUnVwZWUgPSAnMzU2JyxcblxuICAgIC8qKlxuICAgICAqIEphcGFuZXNlIHllblxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogMzkyXG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogSlBZXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IEphcGFuXG4gICAgICovXG4gICAgWWVuID0gJzM5MicsXG5cbiAgICAvKipcbiAgICAgKiBTb3V0aCBLb3JlYW4gd29uXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiA0MTBcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBLUldcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogU291dGggS29yZWFcbiAgICAgKi9cbiAgICBXb24gPSAnNDEwJyxcblxuICAgIC8qKlxuICAgICAqIFN3aXNzIGZyYW5jXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiA3NTZcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBDSEZcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogU3dpdHplcmxhbmQsIExpZWNodGVuc3RlaW4gKExJKVxuICAgICAqL1xuICAgIFN3aXNzRnJhbmMgPSAnNzU2JyxcblxuICAgIC8qKlxuICAgICAqIFNpbmdhcG9yZSBkb2xsYXJcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDcwMlxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IFNHRFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBTaW5nYXBvcmVcbiAgICAgKi9cbiAgICBTaW5nYXBvcmVEb2xsYXIgPSAnNzAyJyxcblxuICAgIC8qKlxuICAgICAqIEF1c3RyYWxpYW4gZG9sbGFyXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiAwMzZcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBBVURcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogQXVzdHJhbGlhLCBDaHJpc3RtYXMgSXNsYW5kIChDWCksIENvY29zIChLZWVsaW5nKSBJc2xhbmRzIChDQyksIEhlYXJkIElzbGFuZCBhbmQgTWNEb25hbGQgSXNsYW5kcyAoSE0pLCBLaXJpYmF0aSAoS0kpLCBOYXVydSAoTlIpLCBOb3Jmb2xrIElzbGFuZCAoTkYpLCBUdXZhbHUgKFRWKVxuICAgICAqL1xuICAgIEF1c3RyYWxpYW5Eb2xsYXIgPSAnMDM2JyxcblxuICAgIC8qKlxuICAgICAqIEhvbmcgS29uZyBkb2xsYXJcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDM0NFxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IEhLRFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBIb25nIEtvbmdcbiAgICAgKi9cbiAgICBIb25nS29uZ19kb2xsYXIgPSAnMzQ0JyxcblxuICAgIC8qKlxuICAgICAqIENhbmFkaWFuIGRvbGxhclxuICAgICAqXG4gICAgICogQGRlc2NyaXB0aW9uIE51bWVyaWMgY29kZTogMTI0XG4gICAgICogQGRlc2NyaXB0aW9uIEFscGhhYmV0aWMgY29kZTogQ0FEXG4gICAgICogQGRlc2NyaXB0aW9uIENvdW50cmllcyBhbmQgdGVycml0b3JpZXM6IENhbmFkYVxuICAgICAqL1xuICAgIENhbmFkaWFuRG9sbGFyID0gJzEyNCcsXG5cbiAgICAvKipcbiAgICAgKiBBcm1lbmlhbiBkcmFtXG4gICAgICpcbiAgICAgKiBAZGVzY3JpcHRpb24gTnVtZXJpYyBjb2RlOiAwNTFcbiAgICAgKiBAZGVzY3JpcHRpb24gQWxwaGFiZXRpYyBjb2RlOiBBTURcbiAgICAgKiBAZGVzY3JpcHRpb24gQ291bnRyaWVzIGFuZCB0ZXJyaXRvcmllczogQXJtZW5pYVxuICAgICAqL1xuICAgIEFybWVuaWFuRHJhbSA9ICcwNTEnLFxuXG4gICAgLyoqXG4gICAgICogVWtyYWluaWFuIGhyeXZuaWFcbiAgICAgKlxuICAgICAqIEBkZXNjcmlwdGlvbiBOdW1lcmljIGNvZGU6IDk4MFxuICAgICAqIEBkZXNjcmlwdGlvbiBBbHBoYWJldGljIGNvZGU6IFVBSFxuICAgICAqIEBkZXNjcmlwdGlvbiBDb3VudHJpZXMgYW5kIHRlcnJpdG9yaWVzOiBVa3JhaW5lXG4gICAgICovXG4gICAgSHJ5dm5pYSA9ICc5ODAnLFxufVxuIl19
|