rd-outer-component 0.0.70 → 0.0.72

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.
@@ -1,5 +1,6 @@
1
1
  import { Component, EventEmitter, forwardRef, Input, Output, } from '@angular/core';
2
2
  import { NG_VALIDATORS, NG_VALUE_ACCESSOR, } from '@angular/forms';
3
+ import { getTranslation } from '../../utils/form-vaild-lang';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
5
6
  import * as i2 from "@angular/forms";
@@ -21,11 +22,14 @@ export class CustomSelectComponent {
21
22
  const msg = this.errorMessages[firstError];
22
23
  switch (firstError) {
23
24
  case 'required':
24
- return msg || `Please enter ${this.label.toLowerCase()}`;
25
+ return (msg ||
26
+ `${getTranslation(this.lang, 'pleaseEnter')} ${this.label.toLowerCase()}`);
25
27
  case 'custom':
26
- return this.control?.errors['custom'] || 'Validation failed';
28
+ return (this.control?.errors['custom'] ||
29
+ getTranslation(this.lang, 'validationFailed'));
27
30
  default:
28
- return this.errorMessages[firstError] || 'Validation failed';
31
+ return (this.errorMessages[firstError] ||
32
+ getTranslation(this.lang, 'validationFailed'));
29
33
  }
30
34
  }
31
35
  get showError() {
@@ -33,6 +37,7 @@ export class CustomSelectComponent {
33
37
  }
34
38
  constructor(cdr) {
35
39
  this.cdr = cdr;
40
+ this.lang = 'en';
36
41
  this.label = '';
37
42
  this.name = '';
38
43
  this.disabled = false;
@@ -113,7 +118,7 @@ export class CustomSelectComponent {
113
118
  }
114
119
  }
115
120
  CustomSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomSelectComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
116
- CustomSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomSelectComponent, selector: "app-rd-select", inputs: { label: "label", customTpl: "customTpl", optionTpl: "optionTpl", name: "name", disabled: "disabled", nzMode: "nzMode", isCurrency: "isCurrency", currencyUrlMap: "currencyUrlMap", optionHeightPx: "optionHeightPx", isLoading: "isLoading", isShowSearch: "isShowSearch", isRemoteSearch: "isRemoteSearch", options: "options", errorMessages: "errorMessages" }, outputs: { searchChange: "searchChange", valueChange: "valueChange", scrollToBottomEmit: "scrollToBottomEmit" }, providers: [
121
+ CustomSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomSelectComponent, selector: "app-rd-select", inputs: { lang: "lang", label: "label", customTpl: "customTpl", optionTpl: "optionTpl", name: "name", disabled: "disabled", nzMode: "nzMode", isCurrency: "isCurrency", currencyUrlMap: "currencyUrlMap", optionHeightPx: "optionHeightPx", isLoading: "isLoading", isShowSearch: "isShowSearch", isRemoteSearch: "isRemoteSearch", options: "options", errorMessages: "errorMessages" }, outputs: { searchChange: "searchChange", valueChange: "valueChange", scrollToBottomEmit: "scrollToBottomEmit" }, providers: [
117
122
  {
118
123
  provide: NG_VALUE_ACCESSOR,
119
124
  useExisting: forwardRef(() => CustomSelectComponent),
@@ -139,7 +144,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
139
144
  multi: true,
140
145
  },
141
146
  ], template: "<app-rd-form-item\n [disabled]=\"disabled\"\n [focus]=\"!!searchInput || isFocus || isOpen\"\n [type]=\"'select'\"\n [label]=\"label\"\n [value]=\"nativeValue\"\n [errorMessage]=\"showError ? currentErrorMessage : ''\"\n>\n <nz-select\n class=\"rd-form-item-select\"\n nzBorderless\n [nzMode]=\"nzMode\"\n [nzShowArrow]=\"false\"\n [(ngModel)]=\"nativeValue\"\n [nzCustomTemplate]=\"\n customTpl\n ? customTpl\n : isCurrency\n ? currencySelectedTpl\n : defaultSelectedTpl\n \"\n (nzScrollToBottom)=\"onScrollToBottom()\"\n (ngModelChange)=\"handleValueChange($event)\"\n [disabled]=\"disabled\"\n (nzFocus)=\"isFocus = true\"\n (nzBlur)=\"isFocus = false\"\n [nzDropdownClassName]=\"\n nzMode === 'multiple'\n ? 'rd-form-item-multiple-select-dropdown'\n : 'rd-form-item-select-dropdown'\n \"\n [nzOptionOverflowSize]=\"5\"\n [nzOptionHeightPx]=\"optionHeightPx || 40\"\n [nzSuffixIcon]=\"customIcon\"\n [nzRemoveIcon]=\"removeIcon\"\n [nzShowSearch]=\"isShowSearch\"\n (nzOnSearch)=\"onSearch($event)\"\n (nzOpenChange)=\"handleOpenChange($event)\"\n >\n <nz-option\n *ngFor=\"let option of filteredOptions\"\n [nzValue]=\"option.value\"\n [nzLabel]=\"option.name || ''\"\n [nzDisabled]=\"option.disabled || false\"\n [nzCustomContent]=\"true\"\n >\n <ng-container *ngIf=\"optionTpl || isCurrency\">\n <ng-container\n *ngTemplateOutlet=\"\n isCurrency ? currencyOptionTpl : optionTpl;\n context: { $implicit: option }\n \"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!(optionTpl || isCurrency)\">\n {{ option.name }}\n </ng-container>\n </nz-option>\n <nz-option *ngIf=\"isLoading\" nzDisabled nzCustomContent>\n <nz-spin style=\"padding: 16px 0\"></nz-spin>\n </nz-option>\n </nz-select>\n</app-rd-form-item>\n\n<ng-template #defaultSelectedTpl let-selected>\n {{ selected?.nzLabel }}\n</ng-template>\n\n<ng-template #currencyOptionTpl let-option>\n <div class=\"rd-form-item-option-content\">\n <img [src]=\"option.iconUrl\" class=\"rd-token-icon\" alt=\"icon\" />\n <span>{{ option.name }}</span>\n </div>\n</ng-template>\n\n<ng-template #currencySelectedTpl let-selected let-extra>\n <div class=\"rd-form-item-option-content\">\n <img\n [src]=\"currencyUrlMap?.[selected.nzValue]\"\n class=\"rd-token-icon\"\n alt=\"icon\"\n />\n <span>{{ selected.nzLabel }}</span>\n </div>\n</ng-template>\n\n<ng-template #removeIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39645 2.39645C2.59171 2.20118 2.90829 2.20118 3.10355 2.39645L6 5.29289L8.89645 2.39645C9.09171 2.20118 9.40829 2.20118 9.60355 2.39645C9.79882 2.59171 9.79882 2.90829 9.60355 3.10355L6.70711 6L9.60355 8.89645C9.79882 9.09171 9.79882 9.40829 9.60355 9.60355C9.40829 9.79882 9.09171 9.79882 8.89645 9.60355L6 6.70711L3.10355 9.60355C2.90829 9.79882 2.59171 9.79882 2.39645 9.60355C2.20118 9.40829 2.20118 9.09171 2.39645 8.89645L5.29289 6L2.39645 3.10355C2.20118 2.90829 2.20118 2.59171 2.39645 2.39645Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n\n<ng-template #customIcon>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.60136 4.90777C2.83639 4.68743 3.20555 4.69934 3.42589 4.93437L8.00033 9.81377L12.5748 4.93437C12.7951 4.69934 13.1643 4.68743 13.3993 4.90777C13.6343 5.12812 13.6462 5.49727 13.4259 5.7323L8.42589 11.0656C8.31561 11.1833 8.16157 11.25 8.00033 11.25C7.83909 11.25 7.68504 11.1833 7.57476 11.0656L2.57476 5.7323C2.35442 5.49727 2.36633 5.12811 2.60136 4.90777Z\"\n fill=\"#030712\"\n />\n </svg>\n</ng-template>\n", styles: [":host .rd-form-item-select{width:100%}:host .rd-form-item-select ::ng-deep .ant-select-selection-search-input{padding:17px 5px 12px;color:#030712;font-size:14px;width:100%;font-weight:500}\n", "::ng-deep .rd-form-item-select{min-width:113px;min-height:52px;max-height:100%;position:relative}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-search{margin-inline-start:0}::ng-deep .rd-form-item-select .ant-select-selection-search-input{padding:12px 4px 0}::ng-deep .rd-form-item-select .ant-select-selection-search-input::placeholder{color:#9ca3af}::ng-deep .rd-form-item-select .ant-select-selection-search .ant-select-selection-search-input{padding:12px 4px 0;transform:translate(-2px,12px)!important}::ng-deep .rd-form-item-select .ant-select-show-search{transform:translateY(10px)}::ng-deep .rd-form-item-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{padding:14px 16px 10px;min-height:52px;height:-moz-fit-content;height:fit-content}::ng-deep .rd-form-item-select.ant-select-single .ant-select-selector .ant-select-selection-item:after{display:none}::ng-deep .rd-form-item-select.ant-select .ant-select-selection-item{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selector{padding:12px 16px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item{border-radius:4px;background:#f3f4f6;font-size:14px;font-weight:500;color:#030712;display:flex;align-items:center;gap:4px}::ng-deep .rd-form-item-select.ant-select-multiple .ant-select-selection-item .ant-select-selection-item-remove{line-height:1}::ng-deep .rd-form-item-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px}::ng-deep .rd-form-item-select.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector{border-radius:4px;border:1px solid #367af6;background:#fff;box-shadow:0 0 0 2px #367af61a}::ng-deep .rd-form-item-select .ant-select-selection-placeholder{color:#030712;font-weight:500;font-size:14px}::ng-deep .rd-form-item-select .ant-select-selection-item-content{color:#030712;font-weight:500}::ng-deep .rd-form-item-select .ant-select-arrow{transition:ease-in-out .2s all;cursor:pointer;pointer-events:initial}::ng-deep .rd-form-item-select:hover:has(.ant-select-clear) .ant-select-arrow{opacity:0}::ng-deep .rd-form-item-select.ant-select-focused .ant-select-arrow,::ng-deep .rd-form-item-select .ant-select-selector:focus-within .ant-select-arrow{transform:rotate(-180deg);transition:transform .2s ease}::ng-deep .rd-form-item-select-s{min-height:38px}::ng-deep .rd-form-item-select-s.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{height:100%;min-height:38px;padding:0 12px}::ng-deep .rd-form-item-select-dropdown .ant-select-dropdown,::ng-deep .rd-form-item-select-dropdown-s .ant-select-dropdown,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-dropdown{border-radius:4px;background:#fff;min-width:113px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option{background-color:transparent;padding:0 6px}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;padding:0 6px;display:flex;align-items:center;color:#030712;font-size:14px;min-height:40px;font-weight:600}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-active .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-active .ant-select-item-option-content{background:rgba(54,122,246,.1)}::ng-deep .rd-form-item-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-disabled .ant-select-item-option-content,::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-disabled .ant-select-item-option-content{color:#6b7280;background:#e5e7eb}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty img,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty img,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty img{width:61px;height:68px}::ng-deep .rd-form-item-select-dropdown .rd-form-item-empty p,::ng-deep .rd-form-item-select-dropdown-s .rd-form-item-empty p,::ng-deep .rd-form-item-multiple-select-dropdown .rd-form-item-empty p{font-size:13px;color:#9ca3af;font-weight:500;margin:0}::ng-deep .rd-form-item-select-dropdown-s .ant-select-item-option-content{padding:0 4px;min-height:32px}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content{border-radius:4px;color:#030712;font-size:14px;padding:0 6px 0 32px;position:relative}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-content:before{content:\"\";position:absolute;top:50%;left:6px;width:16px;height:16px;transform:translateY(-50%);border-radius:4px;border:1px solid #9ca3af}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-selected .ant-select-item-option-content:before{background-image:url(/assets/img/icon/checkbox.svg);background-size:contain;background-position:center;background-repeat:no-repeat;border:none}::ng-deep .rd-form-item-multiple-select-dropdown .ant-select-item-option-state{display:none}::ng-deep .rd-form-item-option-content{display:flex;align-items:center;gap:8px;height:100%}::ng-deep .rd-form-item-option-content span{font-size:14px;font-weight:500}::ng-deep .rd-form-item-option-content .rd-token-icon{width:20px;height:20px;transition:opacity .3s ease-in-out}\n"] }]
142
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
147
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { lang: [{
148
+ type: Input
149
+ }], label: [{
143
150
  type: Input
144
151
  }], customTpl: [{
145
152
  type: Input
@@ -174,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
174
181
  }], scrollToBottomEmit: [{
175
182
  type: Output
176
183
  }] } });
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20tc2VsZWN0L2N1c3RvbS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLXNlbGVjdC9jdXN0b20tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7QUFvQnhCLE1BQU0sT0FBTyxxQkFBcUI7SUFjaEMsSUFDSSxPQUFPLENBQUMsR0FBb0I7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBNkJELElBQUksbUJBQW1CO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU07WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFM0MsUUFBUSxVQUFVLEVBQUU7WUFDbEIsS0FBSyxVQUFVO2dCQUNiLE9BQU8sR0FBRyxJQUFJLGdCQUFnQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDM0QsS0FBSyxRQUFRO2dCQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksbUJBQW1CLENBQUM7WUFDL0Q7Z0JBQ0UsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLG1CQUFtQixDQUFDO1NBQ2hFO0lBQ0gsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUMxRSxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdkVqQyxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBR25CLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFdBQU0sR0FBMkIsU0FBUyxDQUFDO1FBSzNDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFVdkIsa0JBQWEsR0FBOEI7WUFDbEQsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixNQUFNLEVBQUUsbUJBQW1CO1NBQzVCLENBQUM7UUFFUSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDMUMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBbUMsQ0FBQztRQUNsRSx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRWhELGdCQUFXLEdBQW9CLEVBQUUsQ0FBQztRQUMxQyxvQkFBZSxHQUFvQixFQUFFLENBQUM7UUFFdEMsVUFBSyxHQUFnRCxTQUFTLENBQUM7UUFDL0QsZ0JBQVcsR0FDVCxTQUFTLENBQUM7UUFFWixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUVqQixhQUFRLEdBQ04sR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQ1gsY0FBUyxHQUFlLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUVqQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFUCxZQUFPLEdBQTJCLElBQUksQ0FBQztJQXdCRixDQUFDO0lBRTlDLFFBQVEsQ0FBQyxPQUErQjtRQUN0QyxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1NBQ3hCO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQXNDO1FBQy9DLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuRCxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssRUFBRSxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGlCQUFpQixDQUNmLEtBQXdEO1FBRXhELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3hFO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1NBQ2hFO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLFdBQW1CO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNwQyxPQUFPO1NBQ1I7UUFFRCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ3RELElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQWM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7bUhBNUlVLHFCQUFxQjt1R0FBckIscUJBQXFCLHFnQkFickI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNwRCxLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO1lBQ3BELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNoQ0gsay9IQXVIQTs0RkRyRmEscUJBQXFCO2tCQWpCakMsU0FBUzsrQkFDRSxlQUFlLGFBR2Q7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0dBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUYsT0FBTztzQkFEVixLQUFLO2dCQVNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBS0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgVmFsaWRhdGlvbkVycm9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSVNlbGVjdE9wdGlvbiB9IGZyb20gJy4uLy4uL3R5cGVzL2NvbW1vbi50eXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXJkLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuc2NzcycsICcuL3NlbGVjdC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ3VzdG9tU2VsZWN0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEN1c3RvbVNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21TZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY3VzdG9tVHBsOiBhbnk7XG4gIEBJbnB1dCgpIG9wdGlvblRwbDogYW55O1xuICBASW5wdXQoKSBuYW1lID0gJyc7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIG56TW9kZTogJ211bHRpcGxlJyB8ICdkZWZhdWx0JyA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgaXNDdXJyZW5jeT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGN1cnJlbmN5VXJsTWFwPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgQElucHV0KCkgb3B0aW9uSGVpZ2h0UHg/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgaXNMb2FkaW5nID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzU2hvd1NlYXJjaCA9IGZhbHNlO1xuICBASW5wdXQoKSBpc1JlbW90ZVNlYXJjaCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBzZXQgb3B0aW9ucyh2YWw6IElTZWxlY3RPcHRpb25bXSkge1xuICAgIHRoaXMuX3Jhd09wdGlvbnMgPSB2YWw7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB2YWw7XG4gIH1cbiAgZ2V0IG9wdGlvbnMoKTogSVNlbGVjdE9wdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5fcmF3T3B0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgcGF0dGVybjogJ0ludmFsaWQgZm9ybWF0JyxcbiAgICBjdXN0b206ICdWYWxpZGF0aW9uIGZhaWxlZCcsXG4gIH07XG5cbiAgQE91dHB1dCgpIHNlYXJjaENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPElTZWxlY3RPcHRpb24gfCBJU2VsZWN0T3B0aW9uW10+KCk7XG4gIEBPdXRwdXQoKSBzY3JvbGxUb0JvdHRvbUVtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfcmF3T3B0aW9uczogSVNlbGVjdE9wdGlvbltdID0gW107XG4gIGZpbHRlcmVkT3B0aW9uczogSVNlbGVjdE9wdGlvbltdID0gW107XG5cbiAgdmFsdWU6IElTZWxlY3RPcHRpb24gfCBJU2VsZWN0T3B0aW9uW10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gIG5hdGl2ZVZhbHVlOiBJU2VsZWN0T3B0aW9uWyd2YWx1ZSddIHwgSVNlbGVjdE9wdGlvblsndmFsdWUnXVtdIHwgdW5kZWZpbmVkID1cbiAgICB1bmRlZmluZWQ7XG5cbiAgc2VhcmNoSW5wdXQgPSAnJztcblxuICBvbkNoYW5nZTogKHZhbHVlOiBJU2VsZWN0T3B0aW9uIHwgSVNlbGVjdE9wdGlvbltdIHwgdW5kZWZpbmVkKSA9PiB2b2lkID1cbiAgICAoKSA9PiB7fTtcbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgaXNGb2N1cyA9IGZhbHNlO1xuICBpc09wZW4gPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwgPSBudWxsO1xuXG4gIGdldCBjdXJyZW50RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmNvbnRyb2w/LmVycm9ycykgcmV0dXJuICcnO1xuICAgIGNvbnN0IGZpcnN0RXJyb3IgPSBPYmplY3Qua2V5cyh0aGlzLmNvbnRyb2w/LmVycm9ycyB8fCB7fSlbMF07XG5cbiAgICBjb25zdCBtc2cgPSB0aGlzLmVycm9yTWVzc2FnZXNbZmlyc3RFcnJvcl07XG5cbiAgICBzd2l0Y2ggKGZpcnN0RXJyb3IpIHtcbiAgICAgIGNhc2UgJ3JlcXVpcmVkJzpcbiAgICAgICAgcmV0dXJuIG1zZyB8fCBgUGxlYXNlIGVudGVyICR7dGhpcy5sYWJlbC50b0xvd2VyQ2FzZSgpfWA7XG4gICAgICBjYXNlICdjdXN0b20nOlxuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sPy5lcnJvcnNbJ2N1c3RvbSddIHx8ICdWYWxpZGF0aW9uIGZhaWxlZCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2VzW2ZpcnN0RXJyb3JdIHx8ICdWYWxpZGF0aW9uIGZhaWxlZCc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHNob3dFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLmNvbnRyb2w/LmludmFsaWQgJiYgKHRoaXMuY29udHJvbD8udG91Y2hlZCB8fCB0aGlzLmNvbnRyb2w/LmRpcnR5KVxuICAgICk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAoY29udHJvbCkge1xuICAgICAgdGhpcy5jb250cm9sID0gY29udHJvbDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogSVNlbGVjdE9wdGlvbiB8IElTZWxlY3RPcHRpb25bXSk6IHZvaWQge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlLm1hcCgoaXRlbSkgPT4gaXRlbS52YWx1ZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdmFsdWU/LnZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBoYW5kbGVWYWx1ZUNoYW5nZShcbiAgICB2YWx1ZTogSVNlbGVjdE9wdGlvblsndmFsdWUnXSB8IElTZWxlY3RPcHRpb25bJ3ZhbHVlJ11bXVxuICApOiB2b2lkIHtcbiAgICB0aGlzLm5hdGl2ZVZhbHVlID0gdmFsdWU7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25zLmZpbHRlcigoaXRlbSkgPT4gdmFsdWUuaW5jbHVkZXMoaXRlbS52YWx1ZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25zLmZpbmQoKGl0ZW0pID0+IGl0ZW0udmFsdWUgPT09IHZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIG9uU2Nyb2xsVG9Cb3R0b20oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzTG9hZGluZykge1xuICAgICAgdGhpcy5zY3JvbGxUb0JvdHRvbUVtaXQuZW1pdCgpO1xuICAgIH1cbiAgfVxuXG4gIG9uU2VhcmNoKHNlYXJjaFZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0ID0gc2VhcmNoVmFsdWU7XG4gICAgaWYgKHRoaXMuaXNSZW1vdGVTZWFyY2gpIHtcbiAgICAgIHRoaXMuc2VhcmNoQ2hhbmdlLmVtaXQoc2VhcmNoVmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxvd2VyID0gc2VhcmNoVmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHRoaXMuX3Jhd09wdGlvbnMuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgaXRlbS5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyKVxuICAgICk7XG4gIH1cblxuICBoYW5kbGVPcGVuQ2hhbmdlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5pc09wZW4gPSB2YWx1ZTtcbiAgfVxufVxuIiwiPGFwcC1yZC1mb3JtLWl0ZW1cbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2ZvY3VzXT1cIiEhc2VhcmNoSW5wdXQgfHwgaXNGb2N1cyB8fCBpc09wZW5cIlxuICBbdHlwZV09XCInc2VsZWN0J1wiXG4gIFtsYWJlbF09XCJsYWJlbFwiXG4gIFt2YWx1ZV09XCJuYXRpdmVWYWx1ZVwiXG4gIFtlcnJvck1lc3NhZ2VdPVwic2hvd0Vycm9yID8gY3VycmVudEVycm9yTWVzc2FnZSA6ICcnXCJcbj5cbiAgPG56LXNlbGVjdFxuICAgIGNsYXNzPVwicmQtZm9ybS1pdGVtLXNlbGVjdFwiXG4gICAgbnpCb3JkZXJsZXNzXG4gICAgW256TW9kZV09XCJuek1vZGVcIlxuICAgIFtuelNob3dBcnJvd109XCJmYWxzZVwiXG4gICAgWyhuZ01vZGVsKV09XCJuYXRpdmVWYWx1ZVwiXG4gICAgW256Q3VzdG9tVGVtcGxhdGVdPVwiXG4gICAgICBjdXN0b21UcGxcbiAgICAgICAgPyBjdXN0b21UcGxcbiAgICAgICAgOiBpc0N1cnJlbmN5XG4gICAgICAgID8gY3VycmVuY3lTZWxlY3RlZFRwbFxuICAgICAgICA6IGRlZmF1bHRTZWxlY3RlZFRwbFxuICAgIFwiXG4gICAgKG56U2Nyb2xsVG9Cb3R0b20pPVwib25TY3JvbGxUb0JvdHRvbSgpXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIChuekZvY3VzKT1cImlzRm9jdXMgPSB0cnVlXCJcbiAgICAobnpCbHVyKT1cImlzRm9jdXMgPSBmYWxzZVwiXG4gICAgW256RHJvcGRvd25DbGFzc05hbWVdPVwiXG4gICAgICBuek1vZGUgPT09ICdtdWx0aXBsZSdcbiAgICAgICAgPyAncmQtZm9ybS1pdGVtLW11bHRpcGxlLXNlbGVjdC1kcm9wZG93bidcbiAgICAgICAgOiAncmQtZm9ybS1pdGVtLXNlbGVjdC1kcm9wZG93bidcbiAgICBcIlxuICAgIFtuek9wdGlvbk92ZXJmbG93U2l6ZV09XCI1XCJcbiAgICBbbnpPcHRpb25IZWlnaHRQeF09XCJvcHRpb25IZWlnaHRQeCB8fCA0MFwiXG4gICAgW256U3VmZml4SWNvbl09XCJjdXN0b21JY29uXCJcbiAgICBbbnpSZW1vdmVJY29uXT1cInJlbW92ZUljb25cIlxuICAgIFtuelNob3dTZWFyY2hdPVwiaXNTaG93U2VhcmNoXCJcbiAgICAobnpPblNlYXJjaCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICAobnpPcGVuQ2hhbmdlKT1cImhhbmRsZU9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gID5cbiAgICA8bnotb3B0aW9uXG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGZpbHRlcmVkT3B0aW9uc1wiXG4gICAgICBbbnpWYWx1ZV09XCJvcHRpb24udmFsdWVcIlxuICAgICAgW256TGFiZWxdPVwib3B0aW9uLm5hbWUgfHwgJydcIlxuICAgICAgW256RGlzYWJsZWRdPVwib3B0aW9uLmRpc2FibGVkIHx8IGZhbHNlXCJcbiAgICAgIFtuekN1c3RvbUNvbnRlbnRdPVwidHJ1ZVwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm9wdGlvblRwbCB8fCBpc0N1cnJlbmN5XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgICAgaXNDdXJyZW5jeSA/IGN1cnJlbmN5T3B0aW9uVHBsIDogb3B0aW9uVHBsO1xuICAgICAgICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IG9wdGlvbiB9XG4gICAgICAgICAgXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIShvcHRpb25UcGwgfHwgaXNDdXJyZW5jeSlcIj5cbiAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbnotb3B0aW9uPlxuICAgIDxuei1vcHRpb24gKm5nSWY9XCJpc0xvYWRpbmdcIiBuekRpc2FibGVkIG56Q3VzdG9tQ29udGVudD5cbiAgICAgIDxuei1zcGluIHN0eWxlPVwicGFkZGluZzogMTZweCAwXCI+PC9uei1zcGluPlxuICAgIDwvbnotb3B0aW9uPlxuICA8L256LXNlbGVjdD5cbjwvYXBwLXJkLWZvcm0taXRlbT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0U2VsZWN0ZWRUcGwgbGV0LXNlbGVjdGVkPlxuICB7eyBzZWxlY3RlZD8ubnpMYWJlbCB9fVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjdXJyZW5jeU9wdGlvblRwbCBsZXQtb3B0aW9uPlxuICA8ZGl2IGNsYXNzPVwicmQtZm9ybS1pdGVtLW9wdGlvbi1jb250ZW50XCI+XG4gICAgPGltZyBbc3JjXT1cIm9wdGlvbi5pY29uVXJsXCIgY2xhc3M9XCJyZC10b2tlbi1pY29uXCIgYWx0PVwiaWNvblwiIC8+XG4gICAgPHNwYW4+e3sgb3B0aW9uLm5hbWUgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjdXJyZW5jeVNlbGVjdGVkVHBsIGxldC1zZWxlY3RlZCBsZXQtZXh0cmE+XG4gIDxkaXYgY2xhc3M9XCJyZC1mb3JtLWl0ZW0tb3B0aW9uLWNvbnRlbnRcIj5cbiAgICA8aW1nXG4gICAgICBbc3JjXT1cImN1cnJlbmN5VXJsTWFwPy5bc2VsZWN0ZWQubnpWYWx1ZV1cIlxuICAgICAgY2xhc3M9XCJyZC10b2tlbi1pY29uXCJcbiAgICAgIGFsdD1cImljb25cIlxuICAgIC8+XG4gICAgPHNwYW4+e3sgc2VsZWN0ZWQubnpMYWJlbCB9fTwvc3Bhbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JlbW92ZUljb24+XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjEyXCJcbiAgICBoZWlnaHQ9XCIxMlwiXG4gICAgdmlld0JveD1cIjAgMCAxMiAxMlwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICA+XG4gICAgPHBhdGhcbiAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICBkPVwiTTIuMzk2NDUgMi4zOTY0NUMyLjU5MTcxIDIuMjAxMTggMi45MDgyOSAyLjIwMTE4IDMuMTAzNTUgMi4zOTY0NUw2IDUuMjkyODlMOC44OTY0NSAyLjM5NjQ1QzkuMDkxNzEgMi4yMDExOCA5LjQwODI5IDIuMjAxMTggOS42MDM1NSAyLjM5NjQ1QzkuNzk4ODIgMi41OTE3MSA5Ljc5ODgyIDIuOTA4MjkgOS42MDM1NSAzLjEwMzU1TDYuNzA3MTEgNkw5LjYwMzU1IDguODk2NDVDOS43OTg4MiA5LjA5MTcxIDkuNzk4ODIgOS40MDgyOSA5LjYwMzU1IDkuNjAzNTVDOS40MDgyOSA5Ljc5ODgyIDkuMDkxNzEgOS43OTg4MiA4Ljg5NjQ1IDkuNjAzNTVMNiA2LjcwNzExTDMuMTAzNTUgOS42MDM1NUMyLjkwODI5IDkuNzk4ODIgMi41OTE3MSA5Ljc5ODgyIDIuMzk2NDUgOS42MDM1NUMyLjIwMTE4IDkuNDA4MjkgMi4yMDExOCA5LjA5MTcxIDIuMzk2NDUgOC44OTY0NUw1LjI5Mjg5IDZMMi4zOTY0NSAzLjEwMzU1QzIuMjAxMTggMi45MDgyOSAyLjIwMTE4IDIuNTkxNzEgMi4zOTY0NSAyLjM5NjQ1WlwiXG4gICAgICBmaWxsPVwiIzAzMDcxMlwiXG4gICAgLz5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2N1c3RvbUljb24+XG4gIDxzdmdcbiAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICB3aWR0aD1cIjE2XCJcbiAgICBoZWlnaHQ9XCIxNlwiXG4gICAgdmlld0JveD1cIjAgMCAxNiAxNlwiXG4gICAgZmlsbD1cIm5vbmVcIlxuICA+XG4gICAgPHBhdGhcbiAgICAgIGZpbGwtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXG4gICAgICBkPVwiTTIuNjAxMzYgNC45MDc3N0MyLjgzNjM5IDQuNjg3NDMgMy4yMDU1NSA0LjY5OTM0IDMuNDI1ODkgNC45MzQzN0w4LjAwMDMzIDkuODEzNzdMMTIuNTc0OCA0LjkzNDM3QzEyLjc5NTEgNC42OTkzNCAxMy4xNjQzIDQuNjg3NDMgMTMuMzk5MyA0LjkwNzc3QzEzLjYzNDMgNS4xMjgxMiAxMy42NDYyIDUuNDk3MjcgMTMuNDI1OSA1LjczMjNMOC40MjU4OSAxMS4wNjU2QzguMzE1NjEgMTEuMTgzMyA4LjE2MTU3IDExLjI1IDguMDAwMzMgMTEuMjVDNy44MzkwOSAxMS4yNSA3LjY4NTA0IDExLjE4MzMgNy41NzQ3NiAxMS4wNjU2TDIuNTc0NzYgNS43MzIzQzIuMzU0NDIgNS40OTcyNyAyLjM2NjMzIDUuMTI4MTEgMi42MDEzNiA0LjkwNzc3WlwiXG4gICAgICBmaWxsPVwiIzAzMDcxMlwiXG4gICAgLz5cbiAgPC9zdmc+XG48L25nLXRlbXBsYXRlPlxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWQtbGliL3NyYy9saWIvbW9kdWxlcy9jdXN0b20tc2VsZWN0L2N1c3RvbS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL21vZHVsZXMvY3VzdG9tLXNlbGVjdC9jdXN0b20tc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxhQUFhLEVBQ2IsaUJBQWlCLEdBRWxCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBbUI3RCxNQUFNLE9BQU8scUJBQXFCO0lBZWhDLElBQ0ksT0FBTyxDQUFDLEdBQW9CO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQTZCRCxJQUFJLG1CQUFtQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDckMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU5RCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FB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O3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVGLE9BQU87c0JBRFYsS0FBSztnQkFTRyxhQUFhO3NCQUFyQixLQUFLO2dCQUtJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMSURBVE9SUyxcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElTZWxlY3RPcHRpb24gfSBmcm9tICcuLi8uLi90eXBlcy9jb21tb24udHlwZSc7XG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL2Zvcm0tdmFpbGQtbGFuZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1yZC1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2N1c3RvbS1zZWxlY3QuY29tcG9uZW50LnNjc3MnLCAnLi9zZWxlY3Quc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEN1c3RvbVNlbGVjdENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBDdXN0b21TZWxlY3RDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VzdG9tU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBsYW5nID0gJ2VuJztcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjdXN0b21UcGw6IGFueTtcbiAgQElucHV0KCkgb3B0aW9uVHBsOiBhbnk7XG4gIEBJbnB1dCgpIG5hbWUgPSAnJztcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgbnpNb2RlOiAnbXVsdGlwbGUnIHwgJ2RlZmF1bHQnID0gJ2RlZmF1bHQnO1xuICBASW5wdXQoKSBpc0N1cnJlbmN5PzogYm9vbGVhbjtcbiAgQElucHV0KCkgY3VycmVuY3lVcmxNYXA/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBASW5wdXQoKSBvcHRpb25IZWlnaHRQeD86IG51bWJlcjtcblxuICBASW5wdXQoKSBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgaXNTaG93U2VhcmNoID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzUmVtb3RlU2VhcmNoID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHNldCBvcHRpb25zKHZhbDogSVNlbGVjdE9wdGlvbltdKSB7XG4gICAgdGhpcy5fcmF3T3B0aW9ucyA9IHZhbDtcbiAgICB0aGlzLmZpbHRlcmVkT3B0aW9ucyA9IHZhbDtcbiAgfVxuICBnZXQgb3B0aW9ucygpOiBJU2VsZWN0T3B0aW9uW10ge1xuICAgIHJldHVybiB0aGlzLl9yYXdPcHRpb25zO1xuICB9XG5cbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICBwYXR0ZXJuOiAnSW52YWxpZCBmb3JtYXQnLFxuICAgIGN1c3RvbTogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgfTtcblxuICBAT3V0cHV0KCkgc2VhcmNoQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8SVNlbGVjdE9wdGlvbiB8IElTZWxlY3RPcHRpb25bXT4oKTtcbiAgQE91dHB1dCgpIHNjcm9sbFRvQm90dG9tRW1pdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIF9yYXdPcHRpb25zOiBJU2VsZWN0T3B0aW9uW10gPSBbXTtcbiAgZmlsdGVyZWRPcHRpb25zOiBJU2VsZWN0T3B0aW9uW10gPSBbXTtcblxuICB2YWx1ZTogSVNlbGVjdE9wdGlvbiB8IElTZWxlY3RPcHRpb25bXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgbmF0aXZlVmFsdWU6IElTZWxlY3RPcHRpb25bJ3ZhbHVlJ10gfCBJU2VsZWN0T3B0aW9uWyd2YWx1ZSddW10gfCB1bmRlZmluZWQgPVxuICAgIHVuZGVmaW5lZDtcblxuICBzZWFyY2hJbnB1dCA9ICcnO1xuXG4gIG9uQ2hhbmdlOiAodmFsdWU6IElTZWxlY3RPcHRpb24gfCBJU2VsZWN0T3B0aW9uW10gfCB1bmRlZmluZWQpID0+IHZvaWQgPVxuICAgICgpID0+IHt9O1xuICBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBpc0ZvY3VzID0gZmFsc2U7XG4gIGlzT3BlbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgY29udHJvbDogQWJzdHJhY3RDb250cm9sIHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0IGN1cnJlbnRFcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY29udHJvbD8uZXJyb3JzKSByZXR1cm4gJyc7XG4gICAgY29uc3QgZmlyc3RFcnJvciA9IE9iamVjdC5rZXlzKHRoaXMuY29udHJvbD8uZXJyb3JzIHx8IHt9KVswXTtcblxuICAgIGNvbnN0IG1zZyA9IHRoaXMuZXJyb3JNZXNzYWdlc1tmaXJzdEVycm9yXTtcblxuICAgIHN3aXRjaCAoZmlyc3RFcnJvcikge1xuICAgICAgY2FzZSAncmVxdWlyZWQnOlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIG1zZyB8fFxuICAgICAgICAgIGAke2dldFRyYW5zbGF0aW9uKFxuICAgICAgICAgICAgdGhpcy5sYW5nLFxuICAgICAgICAgICAgJ3BsZWFzZUVudGVyJ1xuICAgICAgICAgICl9ICR7dGhpcy5sYWJlbC50b0xvd2VyQ2FzZSgpfWBcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgJ2N1c3RvbSc6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgdGhpcy5jb250cm9sPy5lcnJvcnNbJ2N1c3RvbSddIHx8XG4gICAgICAgICAgZ2V0VHJhbnNsYXRpb24odGhpcy5sYW5nLCAndmFsaWRhdGlvbkZhaWxlZCcpXG4gICAgICAgICk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlc1tmaXJzdEVycm9yXSB8fFxuICAgICAgICAgIGdldFRyYW5zbGF0aW9uKHRoaXMubGFuZywgJ3ZhbGlkYXRpb25GYWlsZWQnKVxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICEhdGhpcy5jb250cm9sPy5pbnZhbGlkICYmICh0aGlzLmNvbnRyb2w/LnRvdWNoZWQgfHwgdGhpcy5jb250cm9sPy5kaXJ0eSlcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKGNvbnRyb2wpIHtcbiAgICAgIHRoaXMuY29udHJvbCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IElTZWxlY3RPcHRpb24gfCBJU2VsZWN0T3B0aW9uW10pOiB2b2lkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMubmF0aXZlVmFsdWUgPSB2YWx1ZS5tYXAoKGl0ZW0pID0+IGl0ZW0udmFsdWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlPy52YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgaGFuZGxlVmFsdWVDaGFuZ2UoXG4gICAgdmFsdWU6IElTZWxlY3RPcHRpb25bJ3ZhbHVlJ10gfCBJU2VsZWN0T3B0aW9uWyd2YWx1ZSddW11cbiAgKTogdm9pZCB7XG4gICAgdGhpcy5uYXRpdmVWYWx1ZSA9IHZhbHVlO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub3B0aW9ucy5maWx0ZXIoKGl0ZW0pID0+IHZhbHVlLmluY2x1ZGVzKGl0ZW0udmFsdWUpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMub3B0aW9ucy5maW5kKChpdGVtKSA9PiBpdGVtLnZhbHVlID09PSB2YWx1ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gIH1cblxuICBvblNjcm9sbFRvQm90dG9tKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc0xvYWRpbmcpIHtcbiAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b21FbWl0LmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaChzZWFyY2hWYWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWFyY2hJbnB1dCA9IHNlYXJjaFZhbHVlO1xuICAgIGlmICh0aGlzLmlzUmVtb3RlU2VhcmNoKSB7XG4gICAgICB0aGlzLnNlYXJjaENoYW5nZS5lbWl0KHNlYXJjaFZhbHVlKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsb3dlciA9IHNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCk7XG4gICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSB0aGlzLl9yYXdPcHRpb25zLmZpbHRlcigoaXRlbSkgPT5cbiAgICAgIGl0ZW0ubmFtZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlcilcbiAgICApO1xuICB9XG5cbiAgaGFuZGxlT3BlbkNoYW5nZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuaXNPcGVuID0gdmFsdWU7XG4gIH1cbn1cbiIsIjxhcHAtcmQtZm9ybS1pdGVtXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtmb2N1c109XCIhIXNlYXJjaElucHV0IHx8IGlzRm9jdXMgfHwgaXNPcGVuXCJcbiAgW3R5cGVdPVwiJ3NlbGVjdCdcIlxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbdmFsdWVdPVwibmF0aXZlVmFsdWVcIlxuICBbZXJyb3JNZXNzYWdlXT1cInNob3dFcnJvciA/IGN1cnJlbnRFcnJvck1lc3NhZ2UgOiAnJ1wiXG4+XG4gIDxuei1zZWxlY3RcbiAgICBjbGFzcz1cInJkLWZvcm0taXRlbS1zZWxlY3RcIlxuICAgIG56Qm9yZGVybGVzc1xuICAgIFtuek1vZGVdPVwibnpNb2RlXCJcbiAgICBbbnpTaG93QXJyb3ddPVwiZmFsc2VcIlxuICAgIFsobmdNb2RlbCldPVwibmF0aXZlVmFsdWVcIlxuICAgIFtuekN1c3RvbVRlbXBsYXRlXT1cIlxuICAgICAgY3VzdG9tVHBsXG4gICAgICAgID8gY3VzdG9tVHBsXG4gICAgICAgIDogaXNDdXJyZW5jeVxuICAgICAgICA/IGN1cnJlbmN5U2VsZWN0ZWRUcGxcbiAgICAgICAgOiBkZWZhdWx0U2VsZWN0ZWRUcGxcbiAgICBcIlxuICAgIChuelNjcm9sbFRvQm90dG9tKT1cIm9uU2Nyb2xsVG9Cb3R0b20oKVwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAobnpGb2N1cyk9XCJpc0ZvY3VzID0gdHJ1ZVwiXG4gICAgKG56Qmx1cik9XCJpc0ZvY3VzID0gZmFsc2VcIlxuICAgIFtuekRyb3Bkb3duQ2xhc3NOYW1lXT1cIlxuICAgICAgbnpNb2RlID09PSAnbXVsdGlwbGUnXG4gICAgICAgID8gJ3JkLWZvcm0taXRlbS1tdWx0aXBsZS1zZWxlY3QtZHJvcGRvd24nXG4gICAgICAgIDogJ3JkLWZvcm0taXRlbS1zZWxlY3QtZHJvcGRvd24nXG4gICAgXCJcbiAgICBbbnpPcHRpb25PdmVyZmxvd1NpemVdPVwiNVwiXG4gICAgW256T3B0aW9uSGVpZ2h0UHhdPVwib3B0aW9uSGVpZ2h0UHggfHwgNDBcIlxuICAgIFtuelN1ZmZpeEljb25dPVwiY3VzdG9tSWNvblwiXG4gICAgW256UmVtb3ZlSWNvbl09XCJyZW1vdmVJY29uXCJcbiAgICBbbnpTaG93U2VhcmNoXT1cImlzU2hvd1NlYXJjaFwiXG4gICAgKG56T25TZWFyY2gpPVwib25TZWFyY2goJGV2ZW50KVwiXG4gICAgKG56T3BlbkNoYW5nZSk9XCJoYW5kbGVPcGVuQ2hhbmdlKCRldmVudClcIlxuICA+XG4gICAgPG56LW9wdGlvblxuICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnNcIlxuICAgICAgW256VmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcbiAgICAgIFtuekxhYmVsXT1cIm9wdGlvbi5uYW1lIHx8ICcnXCJcbiAgICAgIFtuekRpc2FibGVkXT1cIm9wdGlvbi5kaXNhYmxlZCB8fCBmYWxzZVwiXG4gICAgICBbbnpDdXN0b21Db250ZW50XT1cInRydWVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJvcHRpb25UcGwgfHwgaXNDdXJyZW5jeVwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgIGlzQ3VycmVuY3kgPyBjdXJyZW5jeU9wdGlvblRwbCA6IG9wdGlvblRwbDtcbiAgICAgICAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBvcHRpb24gfVxuICAgICAgICAgIFwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiEob3B0aW9uVHBsIHx8IGlzQ3VycmVuY3kpXCI+XG4gICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L256LW9wdGlvbj5cbiAgICA8bnotb3B0aW9uICpuZ0lmPVwiaXNMb2FkaW5nXCIgbnpEaXNhYmxlZCBuekN1c3RvbUNvbnRlbnQ+XG4gICAgICA8bnotc3BpbiBzdHlsZT1cInBhZGRpbmc6IDE2cHggMFwiPjwvbnotc3Bpbj5cbiAgICA8L256LW9wdGlvbj5cbiAgPC9uei1zZWxlY3Q+XG48L2FwcC1yZC1mb3JtLWl0ZW0+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFNlbGVjdGVkVHBsIGxldC1zZWxlY3RlZD5cbiAge3sgc2VsZWN0ZWQ/Lm56TGFiZWwgfX1cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY3VycmVuY3lPcHRpb25UcGwgbGV0LW9wdGlvbj5cbiAgPGRpdiBjbGFzcz1cInJkLWZvcm0taXRlbS1vcHRpb24tY29udGVudFwiPlxuICAgIDxpbWcgW3NyY109XCJvcHRpb24uaWNvblVybFwiIGNsYXNzPVwicmQtdG9rZW4taWNvblwiIGFsdD1cImljb25cIiAvPlxuICAgIDxzcGFuPnt7IG9wdGlvbi5uYW1lIH19PC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY3VycmVuY3lTZWxlY3RlZFRwbCBsZXQtc2VsZWN0ZWQgbGV0LWV4dHJhPlxuICA8ZGl2IGNsYXNzPVwicmQtZm9ybS1pdGVtLW9wdGlvbi1jb250ZW50XCI+XG4gICAgPGltZ1xuICAgICAgW3NyY109XCJjdXJyZW5jeVVybE1hcD8uW3NlbGVjdGVkLm56VmFsdWVdXCJcbiAgICAgIGNsYXNzPVwicmQtdG9rZW4taWNvblwiXG4gICAgICBhbHQ9XCJpY29uXCJcbiAgICAvPlxuICAgIDxzcGFuPnt7IHNlbGVjdGVkLm56TGFiZWwgfX08L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNyZW1vdmVJY29uPlxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgd2lkdGg9XCIxMlwiXG4gICAgaGVpZ2h0PVwiMTJcIlxuICAgIHZpZXdCb3g9XCIwIDAgMTIgMTJcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgPlxuICAgIDxwYXRoXG4gICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgZD1cIk0yLjM5NjQ1IDIuMzk2NDVDMi41OTE3MSAyLjIwMTE4IDIuOTA4MjkgMi4yMDExOCAzLjEwMzU1IDIuMzk2NDVMNiA1LjI5Mjg5TDguODk2NDUgMi4zOTY0NUM5LjA5MTcxIDIuMjAxMTggOS40MDgyOSAyLjIwMTE4IDkuNjAzNTUgMi4zOTY0NUM5Ljc5ODgyIDIuNTkxNzEgOS43OTg4MiAyLjkwODI5IDkuNjAzNTUgMy4xMDM1NUw2LjcwNzExIDZMOS42MDM1NSA4Ljg5NjQ1QzkuNzk4ODIgOS4wOTE3MSA5Ljc5ODgyIDkuNDA4MjkgOS42MDM1NSA5LjYwMzU1QzkuNDA4MjkgOS43OTg4MiA5LjA5MTcxIDkuNzk4ODIgOC44OTY0NSA5LjYwMzU1TDYgNi43MDcxMUwzLjEwMzU1IDkuNjAzNTVDMi45MDgyOSA5Ljc5ODgyIDIuNTkxNzEgOS43OTg4MiAyLjM5NjQ1IDkuNjAzNTVDMi4yMDExOCA5LjQwODI5IDIuMjAxMTggOS4wOTE3MSAyLjM5NjQ1IDguODk2NDVMNS4yOTI4OSA2TDIuMzk2NDUgMy4xMDM1NUMyLjIwMTE4IDIuOTA4MjkgMi4yMDExOCAyLjU5MTcxIDIuMzk2NDUgMi4zOTY0NVpcIlxuICAgICAgZmlsbD1cIiMwMzA3MTJcIlxuICAgIC8+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjdXN0b21JY29uPlxuICA8c3ZnXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgd2lkdGg9XCIxNlwiXG4gICAgaGVpZ2h0PVwiMTZcIlxuICAgIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxuICAgIGZpbGw9XCJub25lXCJcbiAgPlxuICAgIDxwYXRoXG4gICAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcbiAgICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxuICAgICAgZD1cIk0yLjYwMTM2IDQuOTA3NzdDMi44MzYzOSA0LjY4NzQzIDMuMjA1NTUgNC42OTkzNCAzLjQyNTg5IDQuOTM0MzdMOC4wMDAzMyA5LjgxMzc3TDEyLjU3NDggNC45MzQzN0MxMi43OTUxIDQuNjk5MzQgMTMuMTY0MyA0LjY4NzQzIDEzLjM5OTMgNC45MDc3N0MxMy42MzQzIDUuMTI4MTIgMTMuNjQ2MiA1LjQ5NzI3IDEzLjQyNTkgNS43MzIzTDguNDI1ODkgMTEuMDY1NkM4LjMxNTYxIDExLjE4MzMgOC4xNjE1NyAxMS4yNSA4LjAwMDMzIDExLjI1QzcuODM5MDkgMTEuMjUgNy42ODUwNCAxMS4xODMzIDcuNTc0NzYgMTEuMDY1NkwyLjU3NDc2IDUuNzMyM0MyLjM1NDQyIDUuNDk3MjcgMi4zNjYzMyA1LjEyODExIDIuNjAxMzYgNC45MDc3N1pcIlxuICAgICAgZmlsbD1cIiMwMzA3MTJcIlxuICAgIC8+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ export const translations = {
2
+ en: {
3
+ pleaseEnter: 'Please enter',
4
+ lengthCannotBeLess: 'Length cannot be less than the minimum length',
5
+ lengthCannotExceed: 'Length cannot exceed the maximum length',
6
+ validationFailed: 'Validation failed',
7
+ cannotBeLessThan: 'cannot be less than the minimum value',
8
+ cannotExceed: 'cannot exceed the maximum value',
9
+ maxDecimalPlaces: 'The maximum number of decimal places is',
10
+ clearFilter: 'Clear filter',
11
+ },
12
+ zh: {
13
+ pleaseEnter: '請輸入',
14
+ lengthCannotBeLess: '長度不得少於最小長度',
15
+ lengthCannotExceed: '長度不得超過最大長度',
16
+ validationFailed: '驗證失敗',
17
+ cannotBeLessThan: '不得小於最小值',
18
+ cannotExceed: '不得超過最大值',
19
+ maxDecimalPlaces: '最大小數位數為',
20
+ clearFilter: '清除篩選',
21
+ },
22
+ };
23
+ export function getTranslation(lang, key) {
24
+ return translations[lang]?.[key] || translations.en[key];
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWlsZC1sYW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkLWxpYi9zcmMvbGliL3V0aWxzL2Zvcm0tdmFpbGQtbGFuZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFpQjtJQUN4QyxFQUFFLEVBQUU7UUFDRixXQUFXLEVBQUUsY0FBYztRQUMzQixrQkFBa0IsRUFBRSwrQ0FBK0M7UUFDbkUsa0JBQWtCLEVBQUUseUNBQXlDO1FBQzdELGdCQUFnQixFQUFFLG1CQUFtQjtRQUNyQyxnQkFBZ0IsRUFBRSx1Q0FBdUM7UUFDekQsWUFBWSxFQUFFLGlDQUFpQztRQUMvQyxnQkFBZ0IsRUFBRSx5Q0FBeUM7UUFDM0QsV0FBVyxFQUFFLGNBQWM7S0FDNUI7SUFDRCxFQUFFLEVBQUU7UUFDRixXQUFXLEVBQUUsS0FBSztRQUNsQixrQkFBa0IsRUFBRSxZQUFZO1FBQ2hDLGtCQUFrQixFQUFFLFlBQVk7UUFDaEMsZ0JBQWdCLEVBQUUsTUFBTTtRQUN4QixnQkFBZ0IsRUFBRSxTQUFTO1FBQzNCLFlBQVksRUFBRSxTQUFTO1FBQ3ZCLGdCQUFnQixFQUFFLFNBQVM7UUFDM0IsV0FBVyxFQUFFLE1BQU07S0FDcEI7Q0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsSUFBWSxFQUNaLEdBQTBCO0lBRTFCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbktleXMge1xuICBwbGVhc2VFbnRlcjogc3RyaW5nO1xuICBsZW5ndGhDYW5ub3RCZUxlc3M6IHN0cmluZztcbiAgbGVuZ3RoQ2Fubm90RXhjZWVkOiBzdHJpbmc7XG4gIHZhbGlkYXRpb25GYWlsZWQ6IHN0cmluZztcbiAgY2Fubm90QmVMZXNzVGhhbjogc3RyaW5nO1xuICBjYW5ub3RFeGNlZWQ6IHN0cmluZztcbiAgbWF4RGVjaW1hbFBsYWNlczogc3RyaW5nO1xuICBjbGVhckZpbHRlcjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9ucyB7XG4gIGVuOiBUcmFuc2xhdGlvbktleXM7XG4gIHpoOiBUcmFuc2xhdGlvbktleXM7XG4gIFtrZXk6IHN0cmluZ106IFRyYW5zbGF0aW9uS2V5cztcbn1cblxuZXhwb3J0IGNvbnN0IHRyYW5zbGF0aW9uczogVHJhbnNsYXRpb25zID0ge1xuICBlbjoge1xuICAgIHBsZWFzZUVudGVyOiAnUGxlYXNlIGVudGVyJyxcbiAgICBsZW5ndGhDYW5ub3RCZUxlc3M6ICdMZW5ndGggY2Fubm90IGJlIGxlc3MgdGhhbiB0aGUgbWluaW11bSBsZW5ndGgnLFxuICAgIGxlbmd0aENhbm5vdEV4Y2VlZDogJ0xlbmd0aCBjYW5ub3QgZXhjZWVkIHRoZSBtYXhpbXVtIGxlbmd0aCcsXG4gICAgdmFsaWRhdGlvbkZhaWxlZDogJ1ZhbGlkYXRpb24gZmFpbGVkJyxcbiAgICBjYW5ub3RCZUxlc3NUaGFuOiAnY2Fubm90IGJlIGxlc3MgdGhhbiB0aGUgbWluaW11bSB2YWx1ZScsXG4gICAgY2Fubm90RXhjZWVkOiAnY2Fubm90IGV4Y2VlZCB0aGUgbWF4aW11bSB2YWx1ZScsXG4gICAgbWF4RGVjaW1hbFBsYWNlczogJ1RoZSBtYXhpbXVtIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyBpcycsXG4gICAgY2xlYXJGaWx0ZXI6ICdDbGVhciBmaWx0ZXInLFxuICB9LFxuICB6aDoge1xuICAgIHBsZWFzZUVudGVyOiAn6KuL6Ly45YWlJyxcbiAgICBsZW5ndGhDYW5ub3RCZUxlc3M6ICfplbfluqbkuI3lvpflsJHmlrzmnIDlsI/plbfluqYnLFxuICAgIGxlbmd0aENhbm5vdEV4Y2VlZDogJ+mVt+W6puS4jeW+l+i2hemBjuacgOWkp+mVt+W6picsXG4gICAgdmFsaWRhdGlvbkZhaWxlZDogJ+mpl+itieWkseaVlycsXG4gICAgY2Fubm90QmVMZXNzVGhhbjogJ+S4jeW+l+Wwj+aWvOacgOWwj+WAvCcsXG4gICAgY2Fubm90RXhjZWVkOiAn5LiN5b6X6LaF6YGO5pyA5aSn5YC8JyxcbiAgICBtYXhEZWNpbWFsUGxhY2VzOiAn5pyA5aSn5bCP5pW45L2N5pW454K6JyxcbiAgICBjbGVhckZpbHRlcjogJ+a4hemZpOevqemBuCcsXG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHJhbnNsYXRpb24oXG4gIGxhbmc6IHN0cmluZyxcbiAga2V5OiBrZXlvZiBUcmFuc2xhdGlvbktleXNcbik6IHN0cmluZyB7XG4gIHJldHVybiB0cmFuc2xhdGlvbnNbbGFuZ10/LltrZXldIHx8IHRyYW5zbGF0aW9ucy5lbltrZXldO1xufVxuIl19