@po-ui/ng-components 16.4.1 → 16.5.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/esm2022/lib/components/po-field/po-field.module.mjs +17 -13
- package/esm2022/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.mjs +4 -4
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-base.component.mjs +30 -7
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.mjs +4 -4
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-literals.interface.mjs +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect.component.mjs +220 -51
- package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.mjs +3 -3
- package/esm2022/lib/components/po-listbox/po-item-list/po-item-list.component.mjs +2 -2
- package/esm2022/lib/components/po-table/po-table-base.component.mjs +5 -5
- package/esm2022/lib/components/po-tag/index.mjs +2 -1
- package/esm2022/lib/components/po-tag/interfaces/po-tag-literals.interface.mjs +2 -0
- package/esm2022/lib/components/po-tag/po-tag-base.component.mjs +70 -4
- package/esm2022/lib/components/po-tag/po-tag.component.mjs +52 -44
- package/esm2022/lib/enums/po-key-code.enum.mjs +5 -1
- package/fesm2022/po-ui-ng-components.mjs +701 -532
- package/fesm2022/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-field/po-field.module.d.ts +44 -44
- package/lib/components/po-field/po-multiselect/po-multiselect-base.component.d.ts +21 -2
- package/lib/components/po-field/po-multiselect/po-multiselect-literals.interface.d.ts +2 -0
- package/lib/components/po-field/po-multiselect/po-multiselect.component.d.ts +18 -6
- package/lib/components/po-table/po-table-base.component.d.ts +2 -2
- package/lib/components/po-tag/index.d.ts +1 -0
- package/lib/components/po-tag/interfaces/po-tag-literals.interface.d.ts +11 -0
- package/lib/components/po-tag/po-tag-base.component.d.ts +50 -2
- package/lib/components/po-tag/po-tag.component.d.ts +6 -6
- package/lib/enums/po-key-code.enum.d.ts +5 -1
- package/package.json +4 -4
- package/po-ui-ng-components-16.5.0.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v16/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-search/po-multiselect-search.component.mjs +0 -91
- package/esm2022/lib/components/po-tag/po-tag.literals.mjs +0 -15
- package/lib/components/po-field/po-multiselect/po-multiselect-search/po-multiselect-search.component.d.ts +0 -40
- package/lib/components/po-tag/po-tag.literals.d.ts +0 -14
- package/po-ui-ng-components-16.4.1.tgz +0 -0
|
@@ -1,11 +1,27 @@
|
|
|
1
1
|
import { Directive, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { PoColorPaletteEnum } from '../../enums/po-color-palette.enum';
|
|
3
3
|
import { convertToBoolean } from '../../utils/util';
|
|
4
|
+
import { poLocaleDefault } from '../../services/po-language/po-language.constant';
|
|
4
5
|
import { PoTagOrientation } from './enums/po-tag-orientation.enum';
|
|
5
6
|
import { PoTagType } from './enums/po-tag-type.enum';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "./../../services/po-language/po-language.service";
|
|
7
9
|
const poTagColors = Object.values(PoColorPaletteEnum);
|
|
8
10
|
const poTagOrientationDefault = PoTagOrientation.Vertical;
|
|
11
|
+
export const PoTagLiteralsDefault = {
|
|
12
|
+
en: {
|
|
13
|
+
remove: 'Clear'
|
|
14
|
+
},
|
|
15
|
+
es: {
|
|
16
|
+
remove: 'Eliminar'
|
|
17
|
+
},
|
|
18
|
+
pt: {
|
|
19
|
+
remove: 'Remover'
|
|
20
|
+
},
|
|
21
|
+
ru: {
|
|
22
|
+
remove: 'удалять'
|
|
23
|
+
}
|
|
24
|
+
};
|
|
9
25
|
/**
|
|
10
26
|
* @description
|
|
11
27
|
*
|
|
@@ -81,6 +97,8 @@ export class PoTagBaseComponent {
|
|
|
81
97
|
_inverse;
|
|
82
98
|
_orientation = poTagOrientationDefault;
|
|
83
99
|
_type;
|
|
100
|
+
_literals;
|
|
101
|
+
language;
|
|
84
102
|
/**
|
|
85
103
|
* @optional
|
|
86
104
|
*
|
|
@@ -262,12 +280,57 @@ export class PoTagBaseComponent {
|
|
|
262
280
|
get type() {
|
|
263
281
|
return this._type;
|
|
264
282
|
}
|
|
265
|
-
|
|
266
|
-
|
|
283
|
+
/**
|
|
284
|
+
* @optional
|
|
285
|
+
*
|
|
286
|
+
* @description
|
|
287
|
+
*
|
|
288
|
+
* Objeto com as literais usadas no `po-tag`.
|
|
289
|
+
*
|
|
290
|
+
*
|
|
291
|
+
* Para utilizar, basta passar a literal customizada:
|
|
292
|
+
*
|
|
293
|
+
* ```
|
|
294
|
+
* const customLiterals: PoTagLiterals = {
|
|
295
|
+
* remove: 'Remover itens'
|
|
296
|
+
* };
|
|
297
|
+
* ```
|
|
298
|
+
*
|
|
299
|
+
* E para carregar as literais customizadas, basta apenas passar o objeto para o componente:
|
|
300
|
+
*
|
|
301
|
+
* ```
|
|
302
|
+
* <po-tag
|
|
303
|
+
* [p-literals]="customLiterals">
|
|
304
|
+
* </po-tag>
|
|
305
|
+
* ```
|
|
306
|
+
*
|
|
307
|
+
* > O objeto padrão de literais será traduzido de acordo com o idioma do
|
|
308
|
+
* [`PoI18nService`](/documentation/po-i18n) ou do browser.
|
|
309
|
+
*/
|
|
310
|
+
set literals(value) {
|
|
311
|
+
if (value instanceof Object && !(value instanceof Array)) {
|
|
312
|
+
this._literals = {
|
|
313
|
+
...PoTagLiteralsDefault[poLocaleDefault],
|
|
314
|
+
...PoTagLiteralsDefault[this.language],
|
|
315
|
+
...value
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
this._literals = PoTagLiteralsDefault[this.language];
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
get literals() {
|
|
323
|
+
return this._literals || PoTagLiteralsDefault[this.language];
|
|
324
|
+
}
|
|
325
|
+
constructor(languageService) {
|
|
326
|
+
this.language = languageService.getShortLanguage();
|
|
327
|
+
}
|
|
328
|
+
static ɵfac = function PoTagBaseComponent_Factory(t) { return new (t || PoTagBaseComponent)(i0.ɵɵdirectiveInject(i1.PoLanguageService)); };
|
|
329
|
+
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoTagBaseComponent, inputs: { label: ["p-label", "label"], removable: ["p-removable", "removable", convertToBoolean], disabled: ["p-disabled", "disabled", convertToBoolean], value: ["p-value", "value"], color: ["p-color", "color"], textColor: ["p-text-color", "textColor"], icon: ["p-icon", "icon"], inverse: ["p-inverse", "inverse"], orientation: ["p-orientation", "orientation"], type: ["p-type", "type"], literals: ["p-literals", "literals"] }, outputs: { click: "p-click", remove: "p-close" }, features: [i0.ɵɵInputTransformsFeature] });
|
|
267
330
|
}
|
|
268
331
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoTagBaseComponent, [{
|
|
269
332
|
type: Directive
|
|
270
|
-
}],
|
|
333
|
+
}], function () { return [{ type: i1.PoLanguageService }]; }, { label: [{
|
|
271
334
|
type: Input,
|
|
272
335
|
args: ['p-label']
|
|
273
336
|
}], removable: [{
|
|
@@ -303,5 +366,8 @@ export class PoTagBaseComponent {
|
|
|
303
366
|
}], type: [{
|
|
304
367
|
type: Input,
|
|
305
368
|
args: ['p-type']
|
|
369
|
+
}], literals: [{
|
|
370
|
+
type: Input,
|
|
371
|
+
args: ['p-literals']
|
|
306
372
|
}] }); })();
|
|
307
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFnLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXRhZy9wby10YWctYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBR3JELE1BQU0sV0FBVyxHQUFTLE1BQU8sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUM3RCxNQUFNLHVCQUF1QixHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQztBQUUxRDs7Ozs7Ozs7OztHQVVHO0FBRUgsTUFBTSxPQUFPLGtCQUFrQjtJQUM3Qjs7Ozs7O09BTUc7SUFDZSxLQUFLLENBQVU7SUFFakM7Ozs7Ozs7O09BUUc7SUFDMkQsU0FBUyxHQUFZLEtBQUssQ0FBQztJQUV6Rjs7Ozs7Ozs7O09BU0c7SUFDMEQsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUV2RixvQkFBb0I7SUFDRixLQUFLLENBQVM7SUFFaEM7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNnQixLQUFLLEdBQXNCLElBQUksWUFBWSxFQUFhLENBQUM7SUFFNUU7Ozs7OztPQU1HO0lBQ2dCLE1BQU0sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUV6RCxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztJQUM3QyxXQUFXLENBQUM7SUFDWixlQUFlLENBQUM7SUFD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Q0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDbEY7SUFDSCxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7NEVBclFVLGtCQUFrQjs2REFBbEIsa0JBQWtCLGlGQW1CYSxnQkFBZ0Isd0NBWWpCLGdCQUFnQjs7dUZBL0I5QyxrQkFBa0I7Y0FEOUIsU0FBUztnQkFTVSxLQUFLO2tCQUF0QixLQUFLO21CQUFDLFNBQVM7WUFXOEMsU0FBUztrQkFBdEUsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBWUMsUUFBUTtrQkFBcEUsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBR3pDLEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQWdCRyxLQUFLO2tCQUF2QixNQUFNO21CQUFDLFNBQVM7WUFTRSxNQUFNO2tCQUF4QixNQUFNO21CQUFDLFNBQVM7WUF3Q0ssS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTO1lBdUNXLFNBQVM7a0JBQW5DLEtBQUs7bUJBQUMsY0FBYztZQTRDQSxJQUFJO2tCQUF4QixLQUFLO21CQUFDLFFBQVE7WUE0QlMsT0FBTztrQkFBOUIsS0FBSzttQkFBQyxXQUFXO1lBaUJVLFdBQVc7a0JBQXRDLEtBQUs7bUJBQUMsZUFBZTtZQTBCRCxJQUFJO2tCQUF4QixLQUFLO21CQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9Db2xvclBhbGV0dGVFbnVtIH0gZnJvbSAnLi4vLi4vZW51bXMvcG8tY29sb3ItcGFsZXR0ZS5lbnVtJztcbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgUG9UYWdPcmllbnRhdGlvbiB9IGZyb20gJy4vZW51bXMvcG8tdGFnLW9yaWVudGF0aW9uLmVudW0nO1xuaW1wb3J0IHsgUG9UYWdUeXBlIH0gZnJvbSAnLi9lbnVtcy9wby10YWctdHlwZS5lbnVtJztcbmltcG9ydCB7IFBvVGFnSXRlbSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10YWctaXRlbS5pbnRlcmZhY2UnO1xuXG5jb25zdCBwb1RhZ0NvbG9ycyA9ICg8YW55Pk9iamVjdCkudmFsdWVzKFBvQ29sb3JQYWxldHRlRW51bSk7XG5jb25zdCBwb1RhZ09yaWVudGF0aW9uRGVmYXVsdCA9IFBvVGFnT3JpZW50YXRpb24uVmVydGljYWw7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogRXN0ZSBjb21wb25lbnRlIHBlcm1pdGUgZXhpYmlyIHVtIHZhbG9yIGVtIGZvcm1hIGRlIHVtIG1hcmNhZG9yIGNvbG9yaWRvLCBzZW5kbyBwb3Nzw612ZWwgZGVmaW5pciB1bWEgbGVnZW5kYSBlIHJlYWxpemFyIGN1c3RvbWl6YcOnw7Vlc1xuICogbmEgY29yLCBpY29ub2dyYWZpYSBlIHRpcG8uXG4gKlxuICogQWzDqW0gZGlzc28sIMOpIHBvc3PDrXZlbCBkZWZpbmlyIHVtYSBhw6fDo28gcXVlIHNlcsOhIGV4ZWN1dGFkYSB0YW50byBhbyAqY2xpY2sqIHF1YW50byBhdHJhdsOpcyBkYXMgdGVjbGFzICplbnRlci9zcGFjZSogZW5xdWFudG8gbmF2ZWdhXG4gKiB1dGlsaXphbmRvIGEgdGVjbGEgKnRhYiouXG4gKlxuICogU2V1IHVzbyDDqSByZWNvbWVuZGFkbyBwYXJhIGluZm9ybWHDp8O1ZXMgcXVlIG5lY2Vzc2l0ZW0gZGUgZGVzdGFxdWUgZW0gZm9ybWEgZGUgbWFyY2HDp8Ojby5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUG9UYWdCYXNlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIHVtYSBsZWdlbmRhIHF1ZSBzZXLDoSBleGliaWRhIGFjaW1hIG91IGFvIGxhZG8gZGEgKnRhZyosIGRlIGFjb3JkbyBjb20gYSBgcC1vcmllbnRhdGlvbmAuXG4gICAqL1xuICBASW5wdXQoJ3AtbGFiZWwnKSBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBIYWJpbGl0YSBhIG9ww6fDo28gZGUgcmVtb3ZlciBhIHRhZ1xuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtcmVtb3ZhYmxlJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIHJlbW92YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlc2FiaWxpdGEgbyBgcG8tdGFnYCBlIG7Do28gcGVybWl0ZSBxdWUgbyB1c3XDoXJpbyBpbnRlcmFqYSBjb20gbyBtZXNtby5cbiAgICogPiBBIHByb3ByaWVkYWRlIGBwLWRpc2FibGVkYCBzb21lbnRlIHRlcsOhIGVmZWl0byBjYXNvIGEgcHJvcHJpZWRhZGUgYHAtcmVtb3ZhYmxlYCBlc3RlamEgZGVmaW5pZGEgY29tbyBgdHJ1ZWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1kaXNhYmxlZCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUZXh0byBkYSB0YWcuICovXG4gIEBJbnB1dCgncC12YWx1ZScpIHZhbHVlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIDE2LngueFxuICAgKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqICoqRGVwcmVjYXRlZCAxNi54LngqKi5cbiAgICpcbiAgICogPiBQb3IgcmVncmFzIGRlIGFjZXNzaWJpbGlkYWRlIGEgdGFnIG7Do28gdGVyw6EgbWFpcyBldmVudG8gZGUgY2xpY2suIEluZGljYW1vcyBvIHVzbyBkbyBgUG8tYnV0dG9uYCBvdSBgUG8tbGlua2BcbiAgICogY2FzbyBkZXNlamUgZXNzZSBjb21wb3J0YW1lbnRvLlxuICAgKlxuICAgKiBBw6fDo28gcXVlIHNlcsOhIGV4ZWN1dGFkYSBhbyBjbGljYXIgc29icmUgbyBgcG8tdGFnYCBlIHF1ZSByZWNlYmVyw6EgY29tbyBwYXLDom1ldHJvIHVtIG9iamV0byBjb250ZW5kbyBvIHNldSB2YWxvciBlIHRpcG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLWNsaWNrJykgY2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxQb1RhZ0l0ZW0+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQcOnw6NvIHF1ZSBzZXJhIGV4ZWN1dGFkYSBxdWFuZG8gY2xpY2FyIHNvYnJlIG8gw61jb25lIGRlIHJlbW92ZXIgbm8gYHBvLXRhZ2BcbiAgICovXG4gIEBPdXRwdXQoJ3AtY2xvc2UnKSByZW1vdmU6IEV2ZW50RW1pdHRlcjxudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVsbD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcG9UYWdPcmllbnRhdGlvbiA9IFBvVGFnT3JpZW50YXRpb247XG4gIHB1YmxpYyBjdXN0b21Db2xvcjtcbiAgcHVibGljIGN1c3RvbVRleHRDb2xvcjtcbiAgcHJpdmF0ZSBfY29sb3I/OiBzdHJpbmc7XG4gIHByaXZhdGUgX3RleHRDb2xvcj86IHN0cmluZztcbiAgcHJpdmF0ZSBfaWNvbj86IGJvb2xlYW4gfCBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgcHJpdmF0ZSBfaW52ZXJzZT86IGJvb2xlYW47XG4gIHByaXZhdGUgX29yaWVudGF0aW9uPzogUG9UYWdPcmllbnRhdGlvbiA9IHBvVGFnT3JpZW50YXRpb25EZWZhdWx0O1xuICBwcml2YXRlIF90eXBlPzogUG9UYWdUeXBlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERldGVybWluYSBhIGNvciBkYSB0YWcuIEFzIG1hbmVpcmFzIGRlIGN1c3RvbWl6YXIgYXMgY29yZXMgc8OjbzpcbiAgICogLSBIZXhhZGV4aW1hbCwgcG9yIGV4ZW1wbG8gYCNjNjQ4NDBgO1xuICAgKiAtIFJHQiwgY29tbyBgcmdiKDAsIDAsIDE2NSlgO1xuICAgKiAtIE8gbm9tZSBkYSBjb3IsIHBvciBleGVtcGxvIGBibHVlYDtcbiAgICogLSBVc2FuZG8gdW1hIGRhcyBjb3JlcyBkbyB0ZW1hIGRvIFBPOlxuICAgKiBWYWxvcmVzIHbDoWxpZG9zOlxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wMVwiPjwvc3Bhbj4gYGNvbG9yLTAxYFxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wMlwiPjwvc3Bhbj4gYGNvbG9yLTAyYFxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wM1wiPjwvc3Bhbj4gYGNvbG9yLTAzYFxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wNFwiPjwvc3Bhbj4gYGNvbG9yLTA0YFxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wNVwiPjwvc3Bhbj4gYGNvbG9yLTA1YFxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wNlwiPjwvc3Bhbj4gYGNvbG9yLTA2YFxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wN1wiPjwvc3Bhbj4gYGNvbG9yLTA3YFxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wOFwiPjwvc3Bhbj4gYGNvbG9yLTA4YFxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wOVwiPjwvc3Bhbj4gYGNvbG9yLTA5YFxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0xMFwiPjwvc3Bhbj4gYGNvbG9yLTEwYFxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0xMVwiPjwvc3Bhbj4gYGNvbG9yLTExYFxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0xMlwiPjwvc3Bhbj4gYGNvbG9yLTEyYFxuICAgKlxuICAgKiAtIFBhcmEgdW1hIG1lbGhvciBhY2Vzc2liaWxpZGFkZSBubyB1c28gZG8gY29tcG9uZW50ZSDDqSByZWNvbWVuZMOhdmVsIHV0aWxpemFyIGNvcmVzIGNvbSB1bSBtZWxob3IgY29udHJhc3RlIGVtIHJlbGHDp8OjbyBhbyBiYWNrZ3JvdW5kLlxuICAgKlxuICAgKiA+ICoqQXRlbsOnw6NvOioqIEEgcHJvcHJpZWRhZGUgYHAtdHlwZWAgc29icmVww7VlIGVzdGEgZGVmaW5pw6fDo28uXG4gICAqL1xuICBASW5wdXQoJ3AtY29sb3InKSBzZXQgY29sb3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbG9yID0gcG9UYWdDb2xvcnMuaW5jbHVkZXModmFsdWUpID8gdmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgaWYgKHRoaXMuX2NvbG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgIENTUy5zdXBwb3J0cygnY29sb3InLCB2YWx1ZSkgPyAodGhpcy5jdXN0b21Db2xvciA9IHZhbHVlKSA6ICh0aGlzLmN1c3RvbUNvbG9yID0gdW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZXRlcm1pbmEgYSBjb3IgZG8gdGV4dG8gZGEgdGFnLiBBcyBtYW5laXJhcyBkZSBjdXN0b21pemFyIGFzIGNvcmVzIHPDo286XG4gICAqIC0gSGV4YWRleGltYWwsIHBvciBleGVtcGxvIGAjYzY0ODQwYDtcbiAgICogLSBSR0IsIGNvbW8gYHJnYigwLCAwLCAxNjUpYDtcbiAgICogLSBPIG5vbWUgZGEgY29yLCBwb3IgZXhlbXBsbyBgYmx1ZWA7XG4gICAqIC0gVXNhbmRvIHVtYSBkYXMgY29yZXMgZG8gdGVtYSBkbyBQTzpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDFcIj48L3NwYW4+IGBjb2xvci0wMWBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDJcIj48L3NwYW4+IGBjb2xvci0wMmBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDNcIj48L3NwYW4+IGBjb2xvci0wM2BcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDRcIj48L3NwYW4+IGBjb2xvci0wNGBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDVcIj48L3NwYW4+IGBjb2xvci0wNWBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDZcIj48L3NwYW4+IGBjb2xvci0wNmBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDdcIj48L3NwYW4+IGBjb2xvci0wN2BcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDhcIj48L3NwYW4+IGBjb2xvci0wOGBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDlcIj48L3NwYW4+IGBjb2xvci0wOWBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMTBcIj48L3NwYW4+IGBjb2xvci0xMGBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMTFcIj48L3NwYW4+IGBjb2xvci0xMWBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMTJcIj48L3NwYW4+IGBjb2xvci0xMmBcbiAgICpcbiAgICogLSBQYXJhIHVtYSBtZWxob3IgYWNlc3NpYmlsaWRhZGUgbm8gdXNvIGRvIGNvbXBvbmVudGUgw6kgcmVjb21lbmTDoXZlbCB1dGlsaXphciBjb3JlcyBjb20gdW0gbWVsaG9yIGNvbnRyYXN0ZSBlbSByZWxhw6fDo28gYW8gYmFja2dyb3VuZC5cbiAgICpcbiAgICogPiAqKkF0ZW7Dp8OjbzoqKiBBIHByb3ByaWVkYWRlIGBwLXR5cGVgIHNvYnJlcMO1ZSBlc3RhIGRlZmluacOnw6NvLlxuICAgKi9cbiAgQElucHV0KCdwLXRleHQtY29sb3InKSBzZXQgdGV4dENvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl90ZXh0Q29sb3IgPSBwb1RhZ0NvbG9ycy5pbmNsdWRlcyh2YWx1ZSkgPyB2YWx1ZSA6IHVuZGVmaW5lZDtcbiAgICBpZiAodGhpcy5fdGV4dENvbG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgIENTUy5zdXBwb3J0cygnY29sb3InLCB2YWx1ZSkgPyAodGhpcy5jdXN0b21UZXh0Q29sb3IgPSB2YWx1ZSkgOiAodGhpcy5jdXN0b21UZXh0Q29sb3IgPSB1bmRlZmluZWQpO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0ZXh0Q29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdGV4dENvbG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIG91IGF0aXZhIHVtIMOtY29uZSBxdWUgc2Vyw6EgZXhpYmlkbyBhbyBsYWRvIGRvIHZhbG9yIGRhICp0YWcqLlxuICAgKlxuICAgKiBRdWFuZG8gYHAtdHlwZWAgZXN0aXZlciBkZWZpbmlkYSwgYmFzdGEgaW5mb3JtYXIgdW0gdmFsb3IgaWd1YWwgYSBgdHJ1ZWAgcGFyYSBxdWUgbyDDrWNvbmUgc2VqYSBleGliaWRvIGNvbmZvcm1lIGRlc2NyacOnw7VlcyBhYmFpeG86XG4gICAqIC0gPHNwYW4gY2xhc3M9XCJwby1pY29uIHBvLWljb24tb2tcIj48L3NwYW4+IC0gYHN1Y2Nlc3NgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJwby1pY29uIHBvLWljb24td2FybmluZ1wiPjwvc3Bhbj4gLSBgd2FybmluZ2BcbiAgICogLSA8c3BhbiBjbGFzcz1cInBvLWljb24gcG8taWNvbi1jbG9zZVwiPjwvc3Bhbj4gLSBgZGFuZ2VyYFxuICAgKiAtIDxzcGFuIGNsYXNzPVwicG8taWNvbiBwby1pY29uLWluZm9cIj48L3NwYW4+IC0gYGluZm9gXG4gICAqXG4gICAqIFRhbWLDqW0gw4kgcG9zc8OtdmVsIHVzYXIgcXVhbHF1ZXIgdW0gZG9zIMOtY29uZXMgZGEgW0JpYmxpb3RlY2EgZGUgw61jb25lc10oL2d1aWRlcy9pY29ucykuIGNvbmZvcm1lIGV4ZW1wbG8gYWJhaXhvOlxuICAgKiBgYGBcbiAgICogPHBvLXRhZyBwLWljb249XCJwby1pY29uLXVzZXJcIiBwLXZhbHVlPVwiUE8gVGFnXCI+PC9wby10YWc+XG4gICAqIGBgYFxuICAgKiBjb21vIHRhbWLDqW0gdXRpbGl6YXIgb3V0cmFzIGZvbnRlcyBkZSDDrWNvbmVzLCBwb3IgZXhlbXBsbyBhIGJpYmxpb3RlY2EgKkZvbnQgQXdlc29tZSosIGRhIHNlZ3VpbnRlIGZvcm1hOlxuICAgKiBgYGBcbiAgICogPHBvLXRhZyBwLWljb249XCJmYSBmYS1wb2RjYXN0XCIgcC12YWx1ZT1cIlBPIFRhZ1wiPjwvcG8tYnV0dG9uPlxuICAgKiBgYGBcbiAgICogT3V0cmEgb3DDp8OjbyBzZXJpYSBhIGN1c3RvbWl6YcOnw6NvIGRvIMOtY29uZSBhdHJhdsOpcyBkbyBgVGVtcGxhdGVSZWZgLCBjb25mb3JtZSBleGVtcGxvIGFiYWl4bzpcbiAgICogYGBgXG4gICAqIDxwby10YWcgW3AtaWNvbl09XCJ0ZW1wbGF0ZVwiIHAtdmFsdWU9XCJUYWcgdGVtcGxhdGUgaW9uaWNcIj48L3BvLWJ1dHRvbj5cbiAgICpcbiAgICogPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZT5cbiAgICogIDxpb24taWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogaW5oZXJpdFwiIG5hbWU9XCJoZWFydFwiPjwvaW9uLWljb24+XG4gICAqIDwvbmctdGVtcGxhdGU+XG4gICAqIGBgYFxuICAgKiA+IFBhcmEgbyDDrWNvbmUgZW5xdWFkcmFyIGNvcnJldGFtZW50ZSwgZGV2ZS1zZSB1dGlsaXphciBgZm9udC1zaXplOiBpbmhlcml0YCBjYXNvIG8gw61jb25lIHV0aWxpemFkbyBuw6NvIGFwbGlxdWUtby5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLWljb24nKSBzZXQgaWNvbih2YWx1ZTogYm9vbGVhbiB8IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+KSB7XG4gICAgaWYgKHRoaXMudHlwZSkge1xuICAgICAgdGhpcy5faWNvbiA9IGNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pY29uID0gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGljb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ljb247XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgMTYueC54XG4gICAqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogPiBQb3IgcmVncmFzIGRlIGFjZXNzaWJpbGlkYWRlIGUgdXNhYmlsaWRhZGUgYSB0YWcgbsOjbyB0ZXLDoSBhIGludmVyc8OjbyBkZSBjb3JlcyBubyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBBdGl2YSBhIGludmVyc8OjbyBkZSBjb3JlcyBjb25maWd1cmFkYXMgbm8gY29tcG9uZW50ZSwgcG9zc2liaWxpdGFuZG8gdW1hIHZpc3VhbGl6YcOnw6NvIGRlIHN0YXR1cyBhdGl2byBlIGluYXRpdm8uXG4gICAqXG4gICAqID4gQSBjb3IgZG8gdGV4dG8sIGRvIMOtY29uZSBlIGRhIGJvcmRhIGZpY2FtIGNvbSBhIGNvciB1dGlsaXphZGEgbmEgcHJvcHJpZWRhZGUgYHAtY29sb3JgIG91IGEgY29yIGNvcnJlc3BvbmRlbnRlIGFvIGBwLXR5cGVgLFxuICAgKiBlIGEgY29yIGRvIGZ1bmRvIGZpY2EgYnJhbmNhLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoJ3AtaW52ZXJzZScpIHNldCBpbnZlcnNlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faW52ZXJzZSA9IGNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpO1xuICB9XG5cbiAgZ2V0IGludmVyc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2ludmVyc2U7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgbyAqbGF5b3V0KiBkZSBleGliacOnw6NvLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdmVydGljYWxgXG4gICAqL1xuICBASW5wdXQoJ3Atb3JpZW50YXRpb24nKSBzZXQgb3JpZW50YXRpb24odmFsdWU6IFBvVGFnT3JpZW50YXRpb24pIHtcbiAgICB0aGlzLl9vcmllbnRhdGlvbiA9ICg8YW55Pk9iamVjdCkudmFsdWVzKFBvVGFnT3JpZW50YXRpb24pLmluY2x1ZGVzKHZhbHVlKSA/IHZhbHVlIDogcG9UYWdPcmllbnRhdGlvbkRlZmF1bHQ7XG4gIH1cblxuICBnZXQgb3JpZW50YXRpb24oKTogUG9UYWdPcmllbnRhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuX29yaWVudGF0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIG8gdGlwbyBkYSAqdGFnKi5cbiAgICpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICogIC0gYHN1Y2Nlc3NgOiBjb3IgdmVyZGUgdXRpbGl6YWRhIHBhcmEgc2ltYm9saXphciBzdWNlc3NvIG91IMOqeGl0by5cbiAgICogIC0gYHdhcm5pbmdgOiBjb3IgYW1hcmVsYSBxdWUgcmVwcmVzZW50YSBhdmlzbyBvdSBhZHZlcnTDqm5jaWEuXG4gICAqICAtIGBkYW5nZXJgOiBjb3IgdmVybWVsaGEgcGFyYSBlcnJvIG91IGF2aXNvIGNyw610aWNvLlxuICAgKiAgLSBgaW5mb2A6IGNvciBhenVsIGNsYXJvIHF1ZSBjYXJhY3Rlcml6YSBjb250ZcO6ZG8gaW5mb3JtYXRpdm8uXG4gICAqICAtIGBuZXV0cmFsYDogY29yIGNpbnphIGNsYXJvIHBhcmEgdXNvIGdlcmFsLlxuICAgKlxuICAgKiA+IFF1YW5kbyBlc3RhIHByb3ByaWVkYWRlIGZvciBkZWZpbmlkYSwgaXLDoSBzb2JyZXBvciBhIGRlZmluacOnw6NvIGRlIGBwLWNvbG9yYCBlIGBwLWljb25gIHNvbWVudGUgc2Vyw6EgZXhpYmlkbyBjYXNvIHNlamEgYHRydWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgaW5mb2BcbiAgICovXG4gIEBJbnB1dCgncC10eXBlJykgc2V0IHR5cGUodmFsdWU6IFBvVGFnVHlwZSkge1xuICAgIGlmICghdGhpcy5yZW1vdmFibGUpIHtcbiAgICAgIHRoaXMuX3R5cGUgPSAoPGFueT5PYmplY3QpLnZhbHVlcyhQb1RhZ1R5cGUpLmluY2x1ZGVzKHZhbHVlKSA/IHZhbHVlIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0eXBlKCk6IFBvVGFnVHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3R5cGU7XG4gIH1cbn1cbiJdfQ==
|
|
373
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFnLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLXRhZy9wby10YWctYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7QUFJckQsTUFBTSxXQUFXLEdBQVMsTUFBTyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzdELE1BQU0sdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDLEVBQUUsRUFBRTtRQUNGLE1BQU0sRUFBRSxPQUFPO0tBQ2hCO0lBQ0QsRUFBRSxFQUFFO1FBQ0YsTUFBTSxFQUFFLFVBQVU7S0FDbkI7SUFDRCxFQUFFLEVBQUU7UUFDRixNQUFNLEVBQUUsU0FBUztLQUNsQjtJQUNELEVBQUUsRUFBRTtRQUNGLE1BQU0sRUFBRSxTQUFTO0tBQ2xCO0NBQ0YsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFFSCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCOzs7Ozs7T0FNRztJQUNlLEtBQUssQ0FBVTtJQUVqQzs7Ozs7Ozs7T0FRRztJQUMyRCxTQUFTLEdBQVksS0FBSyxDQUFD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QWUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3JELENBQUM7NEVBdFRVLGtCQUFrQjs2REFBbEIsa0JBQWtCLGlGQW1CYSxnQkFBZ0Isd0NBWWpCLGdCQUFnQjs7dUZBL0I5QyxrQkFBa0I7Y0FEOUIsU0FBUztvRUFTVSxLQUFLO2tCQUF0QixLQUFLO21CQUFDLFNBQVM7WUFXOEMsU0FBUztrQkFBdEUsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBWUMsUUFBUTtrQkFBcEUsS0FBSzttQkFBQyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBR3pDLEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUztZQWdCRyxLQUFLO2tCQUF2QixNQUFNO21CQUFDLFNBQVM7WUFTRSxNQUFNO2tCQUF4QixNQUFNO21CQUFDLFNBQVM7WUEwQ0ssS0FBSztrQkFBMUIsS0FBSzttQkFBQyxTQUFTO1lBdUNXLFNBQVM7a0JBQW5DLEtBQUs7bUJBQUMsY0FBYztZQTRDQSxJQUFJO2tCQUF4QixLQUFLO21CQUFDLFFBQVE7WUE0QlMsT0FBTztrQkFBOUIsS0FBSzttQkFBQyxXQUFXO1lBaUJVLFdBQVc7a0JBQXRDLEtBQUs7bUJBQUMsZUFBZTtZQTBCRCxJQUFJO2tCQUF4QixLQUFLO21CQUFDLFFBQVE7WUFxQ1UsUUFBUTtrQkFBaEMsS0FBSzttQkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFBvQ29sb3JQYWxldHRlRW51bSB9IGZyb20gJy4uLy4uL2VudW1zL3BvLWNvbG9yLXBhbGV0dGUuZW51bSc7XG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IHBvTG9jYWxlRGVmYXVsdCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLmNvbnN0YW50JztcbmltcG9ydCB7IFBvVGFnT3JpZW50YXRpb24gfSBmcm9tICcuL2VudW1zL3BvLXRhZy1vcmllbnRhdGlvbi5lbnVtJztcbmltcG9ydCB7IFBvVGFnVHlwZSB9IGZyb20gJy4vZW51bXMvcG8tdGFnLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBQb1RhZ0l0ZW0gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFnLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IFBvVGFnTGl0ZXJhbHMgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFnLWxpdGVyYWxzLmludGVyZmFjZSc7XG5cbmNvbnN0IHBvVGFnQ29sb3JzID0gKDxhbnk+T2JqZWN0KS52YWx1ZXMoUG9Db2xvclBhbGV0dGVFbnVtKTtcbmNvbnN0IHBvVGFnT3JpZW50YXRpb25EZWZhdWx0ID0gUG9UYWdPcmllbnRhdGlvbi5WZXJ0aWNhbDtcblxuZXhwb3J0IGNvbnN0IFBvVGFnTGl0ZXJhbHNEZWZhdWx0ID0ge1xuICBlbjoge1xuICAgIHJlbW92ZTogJ0NsZWFyJ1xuICB9LFxuICBlczoge1xuICAgIHJlbW92ZTogJ0VsaW1pbmFyJ1xuICB9LFxuICBwdDoge1xuICAgIHJlbW92ZTogJ1JlbW92ZXInXG4gIH0sXG4gIHJ1OiB7XG4gICAgcmVtb3ZlOiAn0YPQtNCw0LvRj9GC0YwnXG4gIH1cbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogRXN0ZSBjb21wb25lbnRlIHBlcm1pdGUgZXhpYmlyIHVtIHZhbG9yIGVtIGZvcm1hIGRlIHVtIG1hcmNhZG9yIGNvbG9yaWRvLCBzZW5kbyBwb3Nzw612ZWwgZGVmaW5pciB1bWEgbGVnZW5kYSBlIHJlYWxpemFyIGN1c3RvbWl6YcOnw7Vlc1xuICogbmEgY29yLCBpY29ub2dyYWZpYSBlIHRpcG8uXG4gKlxuICogQWzDqW0gZGlzc28sIMOpIHBvc3PDrXZlbCBkZWZpbmlyIHVtYSBhw6fDo28gcXVlIHNlcsOhIGV4ZWN1dGFkYSB0YW50byBhbyAqY2xpY2sqIHF1YW50byBhdHJhdsOpcyBkYXMgdGVjbGFzICplbnRlci9zcGFjZSogZW5xdWFudG8gbmF2ZWdhXG4gKiB1dGlsaXphbmRvIGEgdGVjbGEgKnRhYiouXG4gKlxuICogU2V1IHVzbyDDqSByZWNvbWVuZGFkbyBwYXJhIGluZm9ybWHDp8O1ZXMgcXVlIG5lY2Vzc2l0ZW0gZGUgZGVzdGFxdWUgZW0gZm9ybWEgZGUgbWFyY2HDp8Ojby5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUG9UYWdCYXNlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIHVtYSBsZWdlbmRhIHF1ZSBzZXLDoSBleGliaWRhIGFjaW1hIG91IGFvIGxhZG8gZGEgKnRhZyosIGRlIGFjb3JkbyBjb20gYSBgcC1vcmllbnRhdGlvbmAuXG4gICAqL1xuICBASW5wdXQoJ3AtbGFiZWwnKSBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBIYWJpbGl0YSBhIG9ww6fDo28gZGUgcmVtb3ZlciBhIHRhZ1xuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtcmVtb3ZhYmxlJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIHJlbW92YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlc2FiaWxpdGEgbyBgcG8tdGFnYCBlIG7Do28gcGVybWl0ZSBxdWUgbyB1c3XDoXJpbyBpbnRlcmFqYSBjb20gbyBtZXNtby5cbiAgICogPiBBIHByb3ByaWVkYWRlIGBwLWRpc2FibGVkYCBzb21lbnRlIHRlcsOhIGVmZWl0byBjYXNvIGEgcHJvcHJpZWRhZGUgYHAtcmVtb3ZhYmxlYCBlc3RlamEgZGVmaW5pZGEgY29tbyBgdHJ1ZWAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1kaXNhYmxlZCcsIHRyYW5zZm9ybTogY29udmVydFRvQm9vbGVhbiB9KSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBUZXh0byBkYSB0YWcuICovXG4gIEBJbnB1dCgncC12YWx1ZScpIHZhbHVlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIDE2LngueFxuICAgKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqICoqRGVwcmVjYXRlZCAxNi54LngqKi5cbiAgICpcbiAgICogPiBQb3IgcmVncmFzIGRlIGFjZXNzaWJpbGlkYWRlIGEgdGFnIG7Do28gdGVyw6EgbWFpcyBldmVudG8gZGUgY2xpY2suIEluZGljYW1vcyBvIHVzbyBkbyBgUG8tYnV0dG9uYCBvdSBgUG8tbGlua2BcbiAgICogY2FzbyBkZXNlamUgZXNzZSBjb21wb3J0YW1lbnRvLlxuICAgKlxuICAgKiBBw6fDo28gcXVlIHNlcsOhIGV4ZWN1dGFkYSBhbyBjbGljYXIgc29icmUgbyBgcG8tdGFnYCBlIHF1ZSByZWNlYmVyw6EgY29tbyBwYXLDom1ldHJvIHVtIG9iamV0byBjb250ZW5kbyBvIHNldSB2YWxvciBlIHRpcG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLWNsaWNrJykgY2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxQb1RhZ0l0ZW0+KCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogQcOnw6NvIHF1ZSBzZXJhIGV4ZWN1dGFkYSBxdWFuZG8gY2xpY2FyIHNvYnJlIG8gw61jb25lIGRlIHJlbW92ZXIgbm8gYHBvLXRhZ2BcbiAgICovXG4gIEBPdXRwdXQoJ3AtY2xvc2UnKSByZW1vdmU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHBvVGFnT3JpZW50YXRpb24gPSBQb1RhZ09yaWVudGF0aW9uO1xuICBwdWJsaWMgY3VzdG9tQ29sb3I7XG4gIHB1YmxpYyBjdXN0b21UZXh0Q29sb3I7XG4gIHByaXZhdGUgX2NvbG9yPzogc3RyaW5nO1xuICBwcml2YXRlIF90ZXh0Q29sb3I/OiBzdHJpbmc7XG4gIHByaXZhdGUgX2ljb24/OiBib29sZWFuIHwgc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG4gIHByaXZhdGUgX2ludmVyc2U/OiBib29sZWFuO1xuICBwcml2YXRlIF9vcmllbnRhdGlvbj86IFBvVGFnT3JpZW50YXRpb24gPSBwb1RhZ09yaWVudGF0aW9uRGVmYXVsdDtcbiAgcHJpdmF0ZSBfdHlwZT86IFBvVGFnVHlwZTtcbiAgcHJpdmF0ZSBfbGl0ZXJhbHM6IFBvVGFnTGl0ZXJhbHM7XG4gIHByaXZhdGUgbGFuZ3VhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZXRlcm1pbmEgYSBjb3IgZGEgdGFnLiBBcyBtYW5laXJhcyBkZSBjdXN0b21pemFyIGFzIGNvcmVzIHPDo286XG4gICAqIC0gSGV4YWRleGltYWwsIHBvciBleGVtcGxvIGAjYzY0ODQwYDtcbiAgICogLSBSR0IsIGNvbW8gYHJnYigwLCAwLCAxNjUpYDtcbiAgICogLSBPIG5vbWUgZGEgY29yLCBwb3IgZXhlbXBsbyBgYmx1ZWA7XG4gICAqIC0gVXNhbmRvIHVtYSBkYXMgY29yZXMgZG8gdGVtYSBkbyBQTzpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDFcIj48L3NwYW4+IGBjb2xvci0wMWBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDJcIj48L3NwYW4+IGBjb2xvci0wMmBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDNcIj48L3NwYW4+IGBjb2xvci0wM2BcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDRcIj48L3NwYW4+IGBjb2xvci0wNGBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDVcIj48L3NwYW4+IGBjb2xvci0wNWBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDZcIj48L3NwYW4+IGBjb2xvci0wNmBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDdcIj48L3NwYW4+IGBjb2xvci0wN2BcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDhcIj48L3NwYW4+IGBjb2xvci0wOGBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDlcIj48L3NwYW4+IGBjb2xvci0wOWBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMTBcIj48L3NwYW4+IGBjb2xvci0xMGBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMTFcIj48L3NwYW4+IGBjb2xvci0xMWBcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMTJcIj48L3NwYW4+IGBjb2xvci0xMmBcbiAgICpcbiAgICogLSBQYXJhIHVtYSBtZWxob3IgYWNlc3NpYmlsaWRhZGUgbm8gdXNvIGRvIGNvbXBvbmVudGUgw6kgcmVjb21lbmTDoXZlbCB1dGlsaXphciBjb3JlcyBjb20gdW0gbWVsaG9yIGNvbnRyYXN0ZSBlbSByZWxhw6fDo28gYW8gYmFja2dyb3VuZC5cbiAgICpcbiAgICogPiAqKkF0ZW7Dp8OjbzoqKiBBIHByb3ByaWVkYWRlIGBwLXR5cGVgIHNvYnJlcMO1ZSBlc3RhIGRlZmluacOnw6NvLlxuICAgKi9cbiAgQElucHV0KCdwLWNvbG9yJykgc2V0IGNvbG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb2xvciA9IHBvVGFnQ29sb3JzLmluY2x1ZGVzKHZhbHVlKSA/IHZhbHVlIDogdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLl9jb2xvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBDU1Muc3VwcG9ydHMoJ2NvbG9yJywgdmFsdWUpID8gKHRoaXMuY3VzdG9tQ29sb3IgPSB2YWx1ZSkgOiAodGhpcy5jdXN0b21Db2xvciA9IHVuZGVmaW5lZCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGNvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGV0ZXJtaW5hIGEgY29yIGRvIHRleHRvIGRhIHRhZy4gQXMgbWFuZWlyYXMgZGUgY3VzdG9taXphciBhcyBjb3JlcyBzw6NvOlxuICAgKiAtIEhleGFkZXhpbWFsLCBwb3IgZXhlbXBsbyBgI2M2NDg0MGA7XG4gICAqIC0gUkdCLCBjb21vIGByZ2IoMCwgMCwgMTY1KWA7XG4gICAqIC0gTyBub21lIGRhIGNvciwgcG9yIGV4ZW1wbG8gYGJsdWVgO1xuICAgKiAtIFVzYW5kbyB1bWEgZGFzIGNvcmVzIGRvIHRlbWEgZG8gUE86XG4gICAqIFZhbG9yZXMgdsOhbGlkb3M6XG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTAxXCI+PC9zcGFuPiBgY29sb3ItMDFgXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTAyXCI+PC9zcGFuPiBgY29sb3ItMDJgXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTAzXCI+PC9zcGFuPiBgY29sb3ItMDNgXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA0XCI+PC9zcGFuPiBgY29sb3ItMDRgXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA1XCI+PC9zcGFuPiBgY29sb3ItMDVgXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA2XCI+PC9zcGFuPiBgY29sb3ItMDZgXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA3XCI+PC9zcGFuPiBgY29sb3ItMDdgXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA4XCI+PC9zcGFuPiBgY29sb3ItMDhgXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA5XCI+PC9zcGFuPiBgY29sb3ItMDlgXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTEwXCI+PC9zcGFuPiBgY29sb3ItMTBgXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTExXCI+PC9zcGFuPiBgY29sb3ItMTFgXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTEyXCI+PC9zcGFuPiBgY29sb3ItMTJgXG4gICAqXG4gICAqIC0gUGFyYSB1bWEgbWVsaG9yIGFjZXNzaWJpbGlkYWRlIG5vIHVzbyBkbyBjb21wb25lbnRlIMOpIHJlY29tZW5kw6F2ZWwgdXRpbGl6YXIgY29yZXMgY29tIHVtIG1lbGhvciBjb250cmFzdGUgZW0gcmVsYcOnw6NvIGFvIGJhY2tncm91bmQuXG4gICAqXG4gICAqID4gKipBdGVuw6fDo286KiogQSBwcm9wcmllZGFkZSBgcC10eXBlYCBzb2JyZXDDtWUgZXN0YSBkZWZpbmnDp8Ojby5cbiAgICovXG4gIEBJbnB1dCgncC10ZXh0LWNvbG9yJykgc2V0IHRleHRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fdGV4dENvbG9yID0gcG9UYWdDb2xvcnMuaW5jbHVkZXModmFsdWUpID8gdmFsdWUgOiB1bmRlZmluZWQ7XG4gICAgaWYgKHRoaXMuX3RleHRDb2xvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBDU1Muc3VwcG9ydHMoJ2NvbG9yJywgdmFsdWUpID8gKHRoaXMuY3VzdG9tVGV4dENvbG9yID0gdmFsdWUpIDogKHRoaXMuY3VzdG9tVGV4dENvbG9yID0gdW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICBnZXQgdGV4dENvbG9yKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RleHRDb2xvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBvdSBhdGl2YSB1bSDDrWNvbmUgcXVlIHNlcsOhIGV4aWJpZG8gYW8gbGFkbyBkbyB2YWxvciBkYSAqdGFnKi5cbiAgICpcbiAgICogUXVhbmRvIGBwLXR5cGVgIGVzdGl2ZXIgZGVmaW5pZGEsIGJhc3RhIGluZm9ybWFyIHVtIHZhbG9yIGlndWFsIGEgYHRydWVgIHBhcmEgcXVlIG8gw61jb25lIHNlamEgZXhpYmlkbyBjb25mb3JtZSBkZXNjcmnDp8O1ZXMgYWJhaXhvOlxuICAgKiAtIDxzcGFuIGNsYXNzPVwicG8taWNvbiBwby1pY29uLW9rXCI+PC9zcGFuPiAtIGBzdWNjZXNzYFxuICAgKiAtIDxzcGFuIGNsYXNzPVwicG8taWNvbiBwby1pY29uLXdhcm5pbmdcIj48L3NwYW4+IC0gYHdhcm5pbmdgXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJwby1pY29uIHBvLWljb24tY2xvc2VcIj48L3NwYW4+IC0gYGRhbmdlcmBcbiAgICogLSA8c3BhbiBjbGFzcz1cInBvLWljb24gcG8taWNvbi1pbmZvXCI+PC9zcGFuPiAtIGBpbmZvYFxuICAgKlxuICAgKiBUYW1iw6ltIMOJIHBvc3PDrXZlbCB1c2FyIHF1YWxxdWVyIHVtIGRvcyDDrWNvbmVzIGRhIFtCaWJsaW90ZWNhIGRlIMOtY29uZXNdKC9ndWlkZXMvaWNvbnMpLiBjb25mb3JtZSBleGVtcGxvIGFiYWl4bzpcbiAgICogYGBgXG4gICAqIDxwby10YWcgcC1pY29uPVwicG8taWNvbi11c2VyXCIgcC12YWx1ZT1cIlBPIFRhZ1wiPjwvcG8tdGFnPlxuICAgKiBgYGBcbiAgICogY29tbyB0YW1iw6ltIHV0aWxpemFyIG91dHJhcyBmb250ZXMgZGUgw61jb25lcywgcG9yIGV4ZW1wbG8gYSBiaWJsaW90ZWNhICpGb250IEF3ZXNvbWUqLCBkYSBzZWd1aW50ZSBmb3JtYTpcbiAgICogYGBgXG4gICAqIDxwby10YWcgcC1pY29uPVwiZmEgZmEtcG9kY2FzdFwiIHAtdmFsdWU9XCJQTyBUYWdcIj48L3BvLWJ1dHRvbj5cbiAgICogYGBgXG4gICAqIE91dHJhIG9ww6fDo28gc2VyaWEgYSBjdXN0b21pemHDp8OjbyBkbyDDrWNvbmUgYXRyYXbDqXMgZG8gYFRlbXBsYXRlUmVmYCwgY29uZm9ybWUgZXhlbXBsbyBhYmFpeG86XG4gICAqIGBgYFxuICAgKiA8cG8tdGFnIFtwLWljb25dPVwidGVtcGxhdGVcIiBwLXZhbHVlPVwiVGFnIHRlbXBsYXRlIGlvbmljXCI+PC9wby1idXR0b24+XG4gICAqXG4gICAqIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gICAqICA8aW9uLWljb24gc3R5bGU9XCJmb250LXNpemU6IGluaGVyaXRcIiBuYW1lPVwiaGVhcnRcIj48L2lvbi1pY29uPlxuICAgKiA8L25nLXRlbXBsYXRlPlxuICAgKiBgYGBcbiAgICogPiBQYXJhIG8gw61jb25lIGVucXVhZHJhciBjb3JyZXRhbWVudGUsIGRldmUtc2UgdXRpbGl6YXIgYGZvbnQtc2l6ZTogaW5oZXJpdGAgY2FzbyBvIMOtY29uZSB1dGlsaXphZG8gbsOjbyBhcGxpcXVlLW8uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1pY29uJykgc2V0IGljb24odmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPikge1xuICAgIGlmICh0aGlzLnR5cGUpIHtcbiAgICAgIHRoaXMuX2ljb24gPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faWNvbiA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpY29uKCkge1xuICAgIHJldHVybiB0aGlzLl9pY29uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIDE2LngueFxuICAgKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqID4gUG9yIHJlZ3JhcyBkZSBhY2Vzc2liaWxpZGFkZSBlIHVzYWJpbGlkYWRlIGEgdGFnIG7Do28gdGVyw6EgYSBpbnZlcnPDo28gZGUgY29yZXMgbm8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogQXRpdmEgYSBpbnZlcnPDo28gZGUgY29yZXMgY29uZmlndXJhZGFzIG5vIGNvbXBvbmVudGUsIHBvc3NpYmlsaXRhbmRvIHVtYSB2aXN1YWxpemHDp8OjbyBkZSBzdGF0dXMgYXRpdm8gZSBpbmF0aXZvLlxuICAgKlxuICAgKiA+IEEgY29yIGRvIHRleHRvLCBkbyDDrWNvbmUgZSBkYSBib3JkYSBmaWNhbSBjb20gYSBjb3IgdXRpbGl6YWRhIG5hIHByb3ByaWVkYWRlIGBwLWNvbG9yYCBvdSBhIGNvciBjb3JyZXNwb25kZW50ZSBhbyBgcC10eXBlYCxcbiAgICogZSBhIGNvciBkbyBmdW5kbyBmaWNhIGJyYW5jYS5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgQElucHV0KCdwLWludmVyc2UnKSBzZXQgaW52ZXJzZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2ludmVyc2UgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBpbnZlcnNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pbnZlcnNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIG8gKmxheW91dCogZGUgZXhpYmnDp8Ojby5cbiAgICpcbiAgICogQGRlZmF1bHQgYHZlcnRpY2FsYFxuICAgKi9cbiAgQElucHV0KCdwLW9yaWVudGF0aW9uJykgc2V0IG9yaWVudGF0aW9uKHZhbHVlOiBQb1RhZ09yaWVudGF0aW9uKSB7XG4gICAgdGhpcy5fb3JpZW50YXRpb24gPSAoPGFueT5PYmplY3QpLnZhbHVlcyhQb1RhZ09yaWVudGF0aW9uKS5pbmNsdWRlcyh2YWx1ZSkgPyB2YWx1ZSA6IHBvVGFnT3JpZW50YXRpb25EZWZhdWx0O1xuICB9XG5cbiAgZ2V0IG9yaWVudGF0aW9uKCk6IFBvVGFnT3JpZW50YXRpb24ge1xuICAgIHJldHVybiB0aGlzLl9vcmllbnRhdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSBvIHRpcG8gZGEgKnRhZyouXG4gICAqXG4gICAqIFZhbG9yZXMgdsOhbGlkb3M6XG4gICAqICAtIGBzdWNjZXNzYDogY29yIHZlcmRlIHV0aWxpemFkYSBwYXJhIHNpbWJvbGl6YXIgc3VjZXNzbyBvdSDDqnhpdG8uXG4gICAqICAtIGB3YXJuaW5nYDogY29yIGFtYXJlbGEgcXVlIHJlcHJlc2VudGEgYXZpc28gb3UgYWR2ZXJ0w6puY2lhLlxuICAgKiAgLSBgZGFuZ2VyYDogY29yIHZlcm1lbGhhIHBhcmEgZXJybyBvdSBhdmlzbyBjcsOtdGljby5cbiAgICogIC0gYGluZm9gOiBjb3IgYXp1bCBjbGFybyBxdWUgY2FyYWN0ZXJpemEgY29udGXDumRvIGluZm9ybWF0aXZvLlxuICAgKiAgLSBgbmV1dHJhbGA6IGNvciBjaW56YSBjbGFybyBwYXJhIHVzbyBnZXJhbC5cbiAgICpcbiAgICogPiBRdWFuZG8gZXN0YSBwcm9wcmllZGFkZSBmb3IgZGVmaW5pZGEsIGlyw6Egc29icmVwb3IgYSBkZWZpbmnDp8OjbyBkZSBgcC1jb2xvcmAgZSBgcC1pY29uYCBzb21lbnRlIHNlcsOhIGV4aWJpZG8gY2FzbyBzZWphIGB0cnVlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGluZm9gXG4gICAqL1xuICBASW5wdXQoJ3AtdHlwZScpIHNldCB0eXBlKHZhbHVlOiBQb1RhZ1R5cGUpIHtcbiAgICBpZiAoIXRoaXMucmVtb3ZhYmxlKSB7XG4gICAgICB0aGlzLl90eXBlID0gKDxhbnk+T2JqZWN0KS52YWx1ZXMoUG9UYWdUeXBlKS5pbmNsdWRlcyh2YWx1ZSkgPyB2YWx1ZSA6IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBnZXQgdHlwZSgpOiBQb1RhZ1R5cGUge1xuICAgIHJldHVybiB0aGlzLl90eXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogT2JqZXRvIGNvbSBhcyBsaXRlcmFpcyB1c2FkYXMgbm8gYHBvLXRhZ2AuXG4gICAqXG4gICAqXG4gICAqIFBhcmEgdXRpbGl6YXIsIGJhc3RhIHBhc3NhciBhIGxpdGVyYWwgY3VzdG9taXphZGE6XG4gICAqXG4gICAqIGBgYFxuICAgKiAgY29uc3QgY3VzdG9tTGl0ZXJhbHM6IFBvVGFnTGl0ZXJhbHMgPSB7XG4gICAqICAgIHJlbW92ZTogJ1JlbW92ZXIgaXRlbnMnXG4gICAqICB9O1xuICAgKiBgYGBcbiAgICpcbiAgICogRSBwYXJhIGNhcnJlZ2FyIGFzIGxpdGVyYWlzIGN1c3RvbWl6YWRhcywgYmFzdGEgYXBlbmFzIHBhc3NhciBvIG9iamV0byBwYXJhIG8gY29tcG9uZW50ZTpcbiAgICpcbiAgICogYGBgXG4gICAqIDxwby10YWdcbiAgICogICBbcC1saXRlcmFsc109XCJjdXN0b21MaXRlcmFsc1wiPlxuICAgKiA8L3BvLXRhZz5cbiAgICogYGBgXG4gICAqXG4gICAqID4gTyBvYmpldG8gcGFkcsOjbyBkZSBsaXRlcmFpcyBzZXLDoSB0cmFkdXppZG8gZGUgYWNvcmRvIGNvbSBvIGlkaW9tYSBkb1xuICAgKiBbYFBvSTE4blNlcnZpY2VgXSgvZG9jdW1lbnRhdGlvbi9wby1pMThuKSBvdSBkbyBicm93c2VyLlxuICAgKi9cbiAgQElucHV0KCdwLWxpdGVyYWxzJykgc2V0IGxpdGVyYWxzKHZhbHVlOiBQb1RhZ0xpdGVyYWxzKSB7XG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0ICYmICEodmFsdWUgaW5zdGFuY2VvZiBBcnJheSkpIHtcbiAgICAgIHRoaXMuX2xpdGVyYWxzID0ge1xuICAgICAgICAuLi5Qb1RhZ0xpdGVyYWxzRGVmYXVsdFtwb0xvY2FsZURlZmF1bHRdLFxuICAgICAgICAuLi5Qb1RhZ0xpdGVyYWxzRGVmYXVsdFt0aGlzLmxhbmd1YWdlXSxcbiAgICAgICAgLi4udmFsdWVcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2xpdGVyYWxzID0gUG9UYWdMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV07XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxpdGVyYWxzKCkge1xuICAgIHJldHVybiB0aGlzLl9saXRlcmFscyB8fCBQb1RhZ0xpdGVyYWxzRGVmYXVsdFt0aGlzLmxhbmd1YWdlXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UpIHtcbiAgICB0aGlzLmxhbmd1YWdlID0gbGFuZ3VhZ2VTZXJ2aWNlLmdldFNob3J0TGFuZ3VhZ2UoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,40 +1,41 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
|
|
2
|
-
import { PoTagBaseComponent } from './po-tag-base.component';
|
|
3
2
|
import { PoTagIcon } from './enums/po-tag-icon.enum';
|
|
4
3
|
import { PoTagType } from './enums/po-tag-type.enum';
|
|
5
|
-
import {
|
|
4
|
+
import { PoTagBaseComponent } from './po-tag-base.component';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
import * as i1 from "./../../services/po-language/po-language.service";
|
|
8
7
|
import * as i2 from "@angular/common";
|
|
9
8
|
import * as i3 from "../po-icon/po-icon.component";
|
|
10
9
|
import * as i4 from "../../directives/po-tooltip/po-tooltip.directive";
|
|
11
10
|
const _c0 = ["tagContainer"];
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
const _c1 = ["tagClose"];
|
|
12
|
+
const _c2 = ["poTag"];
|
|
13
|
+
function PoTagComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
14
|
+
i0.ɵɵelementStart(0, "div", 10)(1, "span", 11);
|
|
14
15
|
i0.ɵɵtext(2);
|
|
15
16
|
i0.ɵɵelementEnd()();
|
|
16
17
|
} if (rf & 2) {
|
|
17
|
-
const
|
|
18
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
18
19
|
i0.ɵɵadvance(2);
|
|
19
|
-
i0.ɵɵtextInterpolate(
|
|
20
|
+
i0.ɵɵtextInterpolate(ctx_r0.tagOrientation ? ctx_r0.label + ":" : ctx_r0.label);
|
|
20
21
|
} }
|
|
21
|
-
const
|
|
22
|
+
const _c3 = function (a0) { return { "color": a0 }; };
|
|
22
23
|
function PoTagComponent_po_icon_5_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
-
i0.ɵɵelement(0, "po-icon",
|
|
24
|
+
i0.ɵɵelement(0, "po-icon", 12);
|
|
24
25
|
} if (rf & 2) {
|
|
25
26
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
26
|
-
i0.ɵɵproperty("p-icon", !ctx_r2.type ? ctx_r2.icon : ctx_r2.iconFromType)("ngStyle", !ctx_r2.tagColor && ctx_r2.inverse && !ctx_r2.customTextColor ? i0.ɵɵpureFunction1(2,
|
|
27
|
+
i0.ɵɵproperty("p-icon", !ctx_r2.type ? ctx_r2.icon : ctx_r2.iconFromType)("ngStyle", !ctx_r2.tagColor && ctx_r2.inverse && !ctx_r2.customTextColor ? i0.ɵɵpureFunction1(2, _c3, ctx_r2.customColor) : !ctx_r2.type && ctx_r2.customTextColor ? i0.ɵɵpureFunction1(4, _c3, ctx_r2.customTextColor) : "");
|
|
27
28
|
} }
|
|
28
|
-
function
|
|
29
|
-
const
|
|
30
|
-
i0.ɵɵelementStart(0, "span",
|
|
31
|
-
i0.ɵɵlistener("click", function
|
|
29
|
+
function PoTagComponent_span_10_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
const _r7 = i0.ɵɵgetCurrentView();
|
|
31
|
+
i0.ɵɵelementStart(0, "span", 13, 14);
|
|
32
|
+
i0.ɵɵlistener("click", function PoTagComponent_span_10_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.onClose()); })("keydown.enter", function PoTagComponent_span_10_Template_span_keydown_enter_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.onClose("enter")); });
|
|
32
33
|
i0.ɵɵelementEnd();
|
|
33
34
|
} if (rf & 2) {
|
|
34
|
-
const
|
|
35
|
-
i0.ɵɵclassProp("po-clickable", !
|
|
36
|
-
i0.ɵɵproperty("tabindex", !
|
|
37
|
-
i0.ɵɵattribute("aria-label",
|
|
35
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
36
|
+
i0.ɵɵclassProp("po-clickable", !ctx_r4.disabled);
|
|
37
|
+
i0.ɵɵproperty("p-tooltip", ctx_r4.literals.remove)("tabindex", !ctx_r4.disabled ? 0 : -1);
|
|
38
|
+
i0.ɵɵattribute("aria-label", ctx_r4.setAriaLabel())("role", !ctx_r4.disabled ? "button" : "");
|
|
38
39
|
} }
|
|
39
40
|
const poTagTypeDefault = 'po-tag-' + PoTagType.Info;
|
|
40
41
|
/**
|
|
@@ -59,18 +60,13 @@ const poTagTypeDefault = 'po-tag-' + PoTagType.Info;
|
|
|
59
60
|
*/
|
|
60
61
|
export class PoTagComponent extends PoTagBaseComponent {
|
|
61
62
|
el;
|
|
62
|
-
languageService;
|
|
63
63
|
tagContainer;
|
|
64
|
+
tagClose;
|
|
65
|
+
poTag;
|
|
64
66
|
isClickable;
|
|
65
|
-
literals;
|
|
66
67
|
constructor(el, languageService) {
|
|
67
|
-
super();
|
|
68
|
+
super(languageService);
|
|
68
69
|
this.el = el;
|
|
69
|
-
this.languageService = languageService;
|
|
70
|
-
const language = this.languageService.getShortLanguage();
|
|
71
|
-
this.literals = {
|
|
72
|
-
...PoTagLiterals[language]
|
|
73
|
-
};
|
|
74
70
|
}
|
|
75
71
|
ngOnInit() {
|
|
76
72
|
this.isClickable = this.click.observers.length > 0;
|
|
@@ -101,22 +97,23 @@ export class PoTagComponent extends PoTagBaseComponent {
|
|
|
101
97
|
get tagOrientation() {
|
|
102
98
|
return this.orientation === this.poTagOrientation.Horizontal;
|
|
103
99
|
}
|
|
104
|
-
onClick() {
|
|
100
|
+
onClick(event = 'click') {
|
|
105
101
|
if (!this.removable && !this.disabled) {
|
|
106
|
-
const submittedTagItem = { value: this.value, type: this.type };
|
|
102
|
+
const submittedTagItem = { value: this.value, type: this.type, event: event };
|
|
107
103
|
this.click.emit(submittedTagItem);
|
|
108
104
|
}
|
|
109
105
|
}
|
|
110
|
-
onClose() {
|
|
106
|
+
onClose(event = 'click') {
|
|
111
107
|
if (!this.disabled) {
|
|
112
|
-
this.click.emit(
|
|
108
|
+
this.click.emit(event);
|
|
113
109
|
this.onRemove();
|
|
110
|
+
this.remove.emit(event);
|
|
114
111
|
}
|
|
115
112
|
}
|
|
116
113
|
onKeyPressed(event) {
|
|
117
114
|
event.preventDefault();
|
|
118
115
|
event.stopPropagation();
|
|
119
|
-
this.onClick();
|
|
116
|
+
this.onClick('enter');
|
|
120
117
|
}
|
|
121
118
|
styleTag() {
|
|
122
119
|
if (!this.tagColor && !this.inverse && !this.removable) {
|
|
@@ -146,33 +143,38 @@ export class PoTagComponent extends PoTagBaseComponent {
|
|
|
146
143
|
static ɵfac = function PoTagComponent_Factory(t) { return new (t || PoTagComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.PoLanguageService)); };
|
|
147
144
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoTagComponent, selectors: [["po-tag"]], viewQuery: function PoTagComponent_Query(rf, ctx) { if (rf & 1) {
|
|
148
145
|
i0.ɵɵviewQuery(_c0, 7);
|
|
146
|
+
i0.ɵɵviewQuery(_c1, 7);
|
|
147
|
+
i0.ɵɵviewQuery(_c2, 7);
|
|
149
148
|
} if (rf & 2) {
|
|
150
149
|
let _t;
|
|
151
150
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tagContainer = _t.first);
|
|
152
|
-
|
|
153
|
-
i0.ɵɵ
|
|
154
|
-
|
|
155
|
-
i0.ɵɵelementStart(
|
|
156
|
-
i0.ɵɵ
|
|
151
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tagClose = _t.first);
|
|
152
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.poTag = _t.first);
|
|
153
|
+
} }, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 24, consts: [[1, "po-tag-container"], ["class", "po-tag-title po-text-nowrap", 4, "ngIf"], [1, "po-tag-sub-container"], [1, "po-tag", 3, "ngClass", "ngStyle", "tabindex", "click", "keydown.enter", "keydown.space", "keyup.space"], ["poTag", ""], ["class", "po-tag-icon", 3, "p-icon", "ngStyle", 4, "ngIf"], ["p-tooltip-position", "top", 1, "po-tag-value", 3, "p-tooltip"], ["tagContainer", ""], [3, "ngStyle"], ["p-tooltip-position", "top", "class", "po-tag-remove po-icon po-icon-close", 3, "p-tooltip", "po-clickable", "tabindex", "click", "keydown.enter", 4, "ngIf"], [1, "po-tag-title", "po-text-nowrap"], [1, "po-tag-label"], [1, "po-tag-icon", 3, "p-icon", "ngStyle"], ["p-tooltip-position", "top", 1, "po-tag-remove", "po-icon", "po-icon-close", 3, "p-tooltip", "tabindex", "click", "keydown.enter"], ["tagClose", ""]], template: function PoTagComponent_Template(rf, ctx) { if (rf & 1) {
|
|
154
|
+
i0.ɵɵelementStart(0, "div", 0);
|
|
155
|
+
i0.ɵɵtemplate(1, PoTagComponent_div_1_Template, 3, 1, "div", 1);
|
|
156
|
+
i0.ɵɵelementStart(2, "div", 2)(3, "div", 3, 4);
|
|
157
|
+
i0.ɵɵlistener("click", function PoTagComponent_Template_div_click_3_listener() { return ctx.onClick(); })("keydown.enter", function PoTagComponent_Template_div_keydown_enter_3_listener($event) { return ctx.onKeyPressed($event); })("keydown.space", function PoTagComponent_Template_div_keydown_space_3_listener($event) { return $event.preventDefault(); })("keyup.space", function PoTagComponent_Template_div_keyup_space_3_listener($event) { return ctx.onKeyPressed($event); });
|
|
157
158
|
i0.ɵɵtemplate(5, PoTagComponent_po_icon_5_Template, 1, 6, "po-icon", 5);
|
|
158
|
-
i0.ɵɵelementStart(6, "div", 6)(
|
|
159
|
-
i0.ɵɵtext(
|
|
159
|
+
i0.ɵɵelementStart(6, "div", 6, 7)(8, "span", 8);
|
|
160
|
+
i0.ɵɵtext(9);
|
|
160
161
|
i0.ɵɵelementEnd()();
|
|
161
|
-
i0.ɵɵtemplate(
|
|
162
|
+
i0.ɵɵtemplate(10, PoTagComponent_span_10_Template, 2, 6, "span", 9);
|
|
162
163
|
i0.ɵɵelementEnd()()();
|
|
163
164
|
} if (rf & 2) {
|
|
164
165
|
i0.ɵɵclassProp("po-tag-container-horizontal", ctx.tagOrientation);
|
|
165
|
-
i0.ɵɵ
|
|
166
|
-
i0.ɵɵadvance(2);
|
|
166
|
+
i0.ɵɵadvance(1);
|
|
167
167
|
i0.ɵɵproperty("ngIf", ctx.label);
|
|
168
168
|
i0.ɵɵadvance(2);
|
|
169
169
|
i0.ɵɵclassProp("po-clickable", ctx.isClickable && !ctx.disabled && !ctx.removable)("po-tag-inverse", ctx.inverse && !ctx.type && !ctx.customTextColor && !ctx.removable)("po-tag-removable", ctx.removable)("po-tag-disabled", ctx.disabled && ctx.removable);
|
|
170
170
|
i0.ɵɵproperty("ngClass", ctx.tagColor)("ngStyle", ctx.styleTag())("tabindex", ctx.isClickable && !ctx.removable ? 0 : -1);
|
|
171
171
|
i0.ɵɵattribute("role", ctx.isClickable && !ctx.disabled ? "button" : "");
|
|
172
|
-
i0.ɵɵadvance(
|
|
172
|
+
i0.ɵɵadvance(2);
|
|
173
173
|
i0.ɵɵproperty("ngIf", ctx.icon && !ctx.removable);
|
|
174
|
+
i0.ɵɵadvance(1);
|
|
175
|
+
i0.ɵɵproperty("p-tooltip", ctx.getWidthTag() ? ctx.value : "");
|
|
174
176
|
i0.ɵɵadvance(2);
|
|
175
|
-
i0.ɵɵproperty("ngStyle", !ctx.tagColor && ctx.inverse && !ctx.customTextColor ? i0.ɵɵpureFunction1(20,
|
|
177
|
+
i0.ɵɵproperty("ngStyle", !ctx.tagColor && ctx.inverse && !ctx.customTextColor ? i0.ɵɵpureFunction1(20, _c3, ctx.customColor) : !ctx.type && ctx.customTextColor && !ctx.removable ? i0.ɵɵpureFunction1(22, _c3, ctx.customTextColor) : "");
|
|
176
178
|
i0.ɵɵadvance(1);
|
|
177
179
|
i0.ɵɵtextInterpolate(ctx.value);
|
|
178
180
|
i0.ɵɵadvance(1);
|
|
@@ -181,9 +183,15 @@ export class PoTagComponent extends PoTagBaseComponent {
|
|
|
181
183
|
}
|
|
182
184
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoTagComponent, [{
|
|
183
185
|
type: Component,
|
|
184
|
-
args: [{ selector: 'po-tag', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div
|
|
186
|
+
args: [{ selector: 'po-tag', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"po-tag-container\" [class.po-tag-container-horizontal]=\"tagOrientation\">\n <div *ngIf=\"label\" class=\"po-tag-title po-text-nowrap\">\n <span class=\"po-tag-label\">{{ tagOrientation ? label + ':' : label }}</span>\n </div>\n\n <div class=\"po-tag-sub-container\">\n <div\n #poTag\n class=\"po-tag\"\n [attr.role]=\"isClickable && !disabled ? 'button' : ''\"\n [class.po-clickable]=\"isClickable && !disabled && !removable\"\n [class.po-tag-inverse]=\"inverse && !type && !customTextColor && !removable\"\n [class.po-tag-removable]=\"removable\"\n [class.po-tag-disabled]=\"disabled && removable\"\n [ngClass]=\"tagColor\"\n [ngStyle]=\"styleTag()\"\n [tabindex]=\"isClickable && !removable ? 0 : -1\"\n (click)=\"onClick()\"\n (keydown.enter)=\"onKeyPressed($event)\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"onKeyPressed($event)\"\n >\n <po-icon\n *ngIf=\"icon && !removable\"\n class=\"po-tag-icon\"\n [p-icon]=\"!type ? icon : iconFromType\"\n [ngStyle]=\"\n !tagColor && inverse && !customTextColor\n ? { 'color': customColor }\n : !type && customTextColor\n ? { 'color': customTextColor }\n : ''\n \"\n >\n </po-icon>\n\n <div #tagContainer class=\"po-tag-value\" [p-tooltip]=\"getWidthTag() ? value : ''\" p-tooltip-position=\"top\">\n <span\n [ngStyle]=\"\n !tagColor && inverse && !customTextColor\n ? { 'color': customColor }\n : !type && customTextColor && !removable\n ? { 'color': customTextColor }\n : ''\n \"\n >{{ value }}</span\n >\n </div>\n\n <span\n #tagClose\n *ngIf=\"removable\"\n p-tooltip-position=\"top\"\n [p-tooltip]=\"literals.remove\"\n [attr.aria-label]=\"setAriaLabel()\"\n class=\"po-tag-remove po-icon po-icon-close\"\n [class.po-clickable]=\"!disabled\"\n [tabindex]=\"!disabled ? 0 : -1\"\n [attr.role]=\"!disabled ? 'button' : ''\"\n (click)=\"onClose()\"\n (keydown.enter)=\"onClose('enter')\"\n >\n </span>\n </div>\n </div>\n</div>\n" }]
|
|
185
187
|
}], function () { return [{ type: i0.ElementRef }, { type: i1.PoLanguageService }]; }, { tagContainer: [{
|
|
186
188
|
type: ViewChild,
|
|
187
189
|
args: ['tagContainer', { static: true }]
|
|
190
|
+
}], tagClose: [{
|
|
191
|
+
type: ViewChild,
|
|
192
|
+
args: ['tagClose', { static: true }]
|
|
193
|
+
}], poTag: [{
|
|
194
|
+
type: ViewChild,
|
|
195
|
+
args: ['poTag', { static: true }]
|
|
188
196
|
}] }); })();
|
|
189
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWcvcG8tdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWcvcG8tdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXNCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNBaEQsOEJBQXVELGVBQUE7SUFDMUIsWUFBMEM7SUFBQSxpQkFBTyxFQUFBOzs7SUFBakQsZUFBMEM7SUFBMUMsK0VBQTBDOzs7O0lBbUJuRSw4QkFZVTs7O0lBVFIseUVBQXNDLDhOQUFBOzs7O0lBd0J4QyxnQ0FTQztJQUZDLDBKQUFTLGVBQUEsZ0JBQVMsQ0FBQSxJQUFDLDZKQUNGLGVBQUEsZ0JBQVMsQ0FBQSxJQURQO0lBR3JCLGlCQUFPOzs7SUFOTCxnREFBZ0M7SUFDaEMsb0RBQStCO0lBSC9CLG1EQUFrQywwQ0FBQTs7QUQvQzFDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUM7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFNSCxNQUFNLE9BQU8sY0FBZSxTQUFRLGtCQUFrQjtJQU1oQztJQUF3QjtJQUxDLFlBQVksQ0FBYTtJQUV0RSxXQUFXLENBQVU7SUFD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Q0FNQztZQUNDLCtEQUVNO1lBRU4sOEJBQWtDLGFBQUE7WUFXOUIsd0ZBQVMsYUFBUyxJQUFDLGlHQUNGLHdCQUFvQixJQURsQixpR0FFRix1QkFBdUIsSUFGckIsNkZBR0osd0JBQW9CLElBSGhCO1lBS25CLHVFQVlVO1lBRVYsOEJBQTBCLGNBQUE7WUFTckIsWUFBVztZQUFBLGlCQUNiLEVBQUE7WUFHSCxpRUFVTztZQUNULGlCQUFNLEVBQUEsRUFBQTs7WUE5RFIsaUVBQW9EO1lBQ3BELDhEQUF3QztZQUdsQyxlQUFXO1lBQVgsZ0NBQVc7WUFRYixlQUE2RDtZQUE3RCxrRkFBNkQsc0ZBQUEsbUNBQUEsa0RBQUE7WUFJN0Qsc0NBQW9CLDJCQUFBLHdEQUFBO1lBTHBCLHdFQUFzRDtZQWNuRCxlQUF3QjtZQUF4QixpREFBd0I7WUFldkIsZUFNQztZQU5ELDBPQU1DO1lBQ0EsZUFBVztZQUFYLCtCQUFXO1lBS2IsZUFBZTtZQUFmLG9DQUFlOzs7dUZEbkJYLGNBQWM7Y0FMMUIsU0FBUzsyQkFDRSxRQUFRLG1CQUVELHVCQUF1QixDQUFDLE1BQU07NkZBR0YsWUFBWTtrQkFBeEQsU0FBUzttQkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUG9UYWdCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby10YWctYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9UYWdJY29uIH0gZnJvbSAnLi9lbnVtcy9wby10YWctaWNvbi5lbnVtJztcbmltcG9ydCB7IFBvVGFnSXRlbSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10YWctaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUG9UYWdUeXBlIH0gZnJvbSAnLi9lbnVtcy9wby10YWctdHlwZS5lbnVtJztcbmltcG9ydCB7IFBvVGFnTGl0ZXJhbHMgfSBmcm9tICcuL3BvLXRhZy5saXRlcmFscyc7XG5cbmNvbnN0IHBvVGFnVHlwZURlZmF1bHQgPSAncG8tdGFnLScgKyBQb1RhZ1R5cGUuSW5mbztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9UYWdCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tdGFnLWJhc2ljXCIgdGl0bGU9XCJQTyBUYWcgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhZy1iYXNpYy9zYW1wbGUtcG8tdGFnLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhZy1iYXNpYy9zYW1wbGUtcG8tdGFnLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXRhZy1sYWJzXCIgdGl0bGU9XCJQTyBUYWcgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFnLWxhYnMvc2FtcGxlLXBvLXRhZy1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhZy1sYWJzL3NhbXBsZS1wby10YWctbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby10YWctYmFuay1hY2NvdW50XCIgdGl0bGU9XCJQTyBUYWcgLSBCYW5rIEFjY291bnRcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhZy1iYW5rLWFjY291bnQvc2FtcGxlLXBvLXRhZy1iYW5rLWFjY291bnQuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFnLWJhbmstYWNjb3VudC9zYW1wbGUtcG8tdGFnLWJhbmstYWNjb3VudC5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby10YWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUG9UYWdDb21wb25lbnQgZXh0ZW5kcyBQb1RhZ0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCd0YWdDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWdDb250YWluZXI6IEVsZW1lbnRSZWY7XG5cbiAgaXNDbGlja2FibGU6IGJvb2xlYW47XG4gIGxpdGVyYWxzOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCBsYW5ndWFnZSA9IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmdldFNob3J0TGFuZ3VhZ2UoKTtcbiAgICB0aGlzLmxpdGVyYWxzID0ge1xuICAgICAgLi4uUG9UYWdMaXRlcmFsc1tsYW5ndWFnZV1cbiAgICB9O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc0NsaWNrYWJsZSA9IHRoaXMuY2xpY2sub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBnZXQgaWNvbkZyb21UeXBlKCkge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIFBvVGFnVHlwZS5EYW5nZXI6XG4gICAgICAgIHJldHVybiBQb1RhZ0ljb24uRGFuZ2VyO1xuXG4gICAgICBjYXNlIFBvVGFnVHlwZS5JbmZvOlxuICAgICAgICByZXR1cm4gUG9UYWdJY29uLkluZm87XG5cbiAgICAgIGNhc2UgUG9UYWdUeXBlLlN1Y2Nlc3M6XG4gICAgICAgIHJldHVybiBQb1RhZ0ljb24uU3VjY2VzcztcblxuICAgICAgY2FzZSBQb1RhZ1R5cGUuV2FybmluZzpcbiAgICAgICAgcmV0dXJuIFBvVGFnSWNvbi5XYXJuaW5nO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0YWdDb2xvcigpIHtcbiAgICBpZiAodGhpcy50eXBlICYmICF0aGlzLnJlbW92YWJsZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaW52ZXJzZSA/IGBwby10YWctJHt0aGlzLnR5cGV9LWludmVyc2VgIDogYHBvLXRhZy0ke3RoaXMudHlwZX1gO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbG9yICYmICF0aGlzLnJlbW92YWJsZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaW52ZXJzZSA/IGBwby10ZXh0LSR7dGhpcy5jb2xvcn1gIDogYHBvLSR7dGhpcy5jb2xvcn1gO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jdXN0b21Db2xvciAmJiAhdGhpcy5yZW1vdmFibGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmludmVyc2UgPyBgJHtwb1RhZ1R5cGVEZWZhdWx0fS1pbnZlcnNlYCA6IHBvVGFnVHlwZURlZmF1bHQ7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHRhZ09yaWVudGF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLm9yaWVudGF0aW9uID09PSB0aGlzLnBvVGFnT3JpZW50YXRpb24uSG9yaXpvbnRhbDtcbiAgfVxuXG4gIG9uQ2xpY2soKSB7XG4gICAgaWYgKCF0aGlzLnJlbW92YWJsZSAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgY29uc3Qgc3VibWl0dGVkVGFnSXRlbTogUG9UYWdJdGVtID0geyB2YWx1ZTogdGhpcy52YWx1ZSwgdHlwZTogdGhpcy50eXBlIH07XG4gICAgICB0aGlzLmNsaWNrLmVtaXQoc3VibWl0dGVkVGFnSXRlbSk7XG4gICAgfVxuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY2xpY2suZW1pdChudWxsKTtcbiAgICAgIHRoaXMub25SZW1vdmUoKTtcbiAgICB9XG4gIH1cblxuICBvbktleVByZXNzZWQoZXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMub25DbGljaygpO1xuICB9XG5cbiAgc3R5bGVUYWcoKSB7XG4gICAgaWYgKCF0aGlzLnRhZ0NvbG9yICYmICF0aGlzLmludmVyc2UgJiYgIXRoaXMucmVtb3ZhYmxlKSB7XG4gICAgICByZXR1cm4geyAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuY3VzdG9tQ29sb3IsICdjb2xvcic6ICd3aGl0ZScgfTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnRhZ0NvbG9yICYmIHRoaXMuaW52ZXJzZSAmJiAhdGhpcy5jdXN0b21UZXh0Q29sb3IpIHtcbiAgICAgIHJldHVybiB7ICdib3JkZXInOiAnMXB4IHNvbGlkICcgKyB0aGlzLmN1c3RvbUNvbG9yIH07XG4gICAgfSBlbHNlIGlmICghdGhpcy50YWdDb2xvciAmJiB0aGlzLmludmVyc2UgJiYgdGhpcy5jdXN0b21UZXh0Q29sb3IpIHtcbiAgICAgIHJldHVybiB7ICdib3JkZXInOiAnMXB4IHNvbGlkICcgKyB0aGlzLmN1c3RvbVRleHRDb2xvciwgJ2JhY2tncm91bmQtY29sb3InOiB0aGlzLmN1c3RvbUNvbG9yIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cblxuICBnZXRXaWR0aFRhZygpIHtcbiAgICByZXR1cm4gdGhpcy50YWdDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA+IDE1NTtcbiAgfVxuXG4gIHNldEFyaWFMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbCA/IHRoaXMubGFiZWwgKyAnICcgKyB0aGlzLmxpdGVyYWxzLnJlbW92ZSA6IHRoaXMudmFsdWUgKyAnICcgKyB0aGlzLmxpdGVyYWxzLnJlbW92ZTtcbiAgfVxuXG4gIHByaXZhdGUgb25SZW1vdmUoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICN0YWdDb250YWluZXJcbiAgY2xhc3M9XCJwby10YWctY29udGFpbmVyXCJcbiAgW2NsYXNzLnBvLXRhZy1jb250YWluZXItaG9yaXpvbnRhbF09XCJ0YWdPcmllbnRhdGlvblwiXG4gIFtwLXRvb2x0aXBdPVwiZ2V0V2lkdGhUYWcoKSA/IHZhbHVlIDogJydcIlxuICBwLXRvb2x0aXAtcG9zaXRpb249XCJ0b3BcIlxuPlxuICA8ZGl2ICpuZ0lmPVwibGFiZWxcIiBjbGFzcz1cInBvLXRhZy10aXRsZSBwby10ZXh0LW5vd3JhcFwiPlxuICAgIDxzcGFuIGNsYXNzPVwicG8tdGFnLWxhYmVsXCI+e3sgdGFnT3JpZW50YXRpb24gPyBsYWJlbCArICc6JyA6IGxhYmVsIH19PC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwicG8tdGFnLXN1Yi1jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInBvLXRhZ1wiXG4gICAgICBbYXR0ci5yb2xlXT1cImlzQ2xpY2thYmxlICYmICFkaXNhYmxlZCA/ICdidXR0b24nIDogJydcIlxuICAgICAgW2NsYXNzLnBvLWNsaWNrYWJsZV09XCJpc0NsaWNrYWJsZSAmJiAhZGlzYWJsZWQgJiYgIXJlbW92YWJsZVwiXG4gICAgICBbY2xhc3MucG8tdGFnLWludmVyc2VdPVwiaW52ZXJzZSAmJiAhdHlwZSAmJiAhY3VzdG9tVGV4dENvbG9yICYmICFyZW1vdmFibGVcIlxuICAgICAgW2NsYXNzLnBvLXRhZy1yZW1vdmFibGVdPVwicmVtb3ZhYmxlXCJcbiAgICAgIFtjbGFzcy5wby10YWctZGlzYWJsZWRdPVwiZGlzYWJsZWQgJiYgcmVtb3ZhYmxlXCJcbiAgICAgIFtuZ0NsYXNzXT1cInRhZ0NvbG9yXCJcbiAgICAgIFtuZ1N0eWxlXT1cInN0eWxlVGFnKClcIlxuICAgICAgW3RhYmluZGV4XT1cImlzQ2xpY2thYmxlICYmICFyZW1vdmFibGUgPyAwIDogLTFcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbktleVByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bi5zcGFjZSk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAoa2V5dXAuc3BhY2UpPVwib25LZXlQcmVzc2VkKCRldmVudClcIlxuICAgID5cbiAgICAgIDxwby1pY29uXG4gICAgICAgICpuZ0lmPVwiaWNvbiAmJiAhcmVtb3ZhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJwby10YWctaWNvblwiXG4gICAgICAgIFtwLWljb25dPVwiIXR5cGUgPyBpY29uIDogaWNvbkZyb21UeXBlXCJcbiAgICAgICAgW25nU3R5bGVdPVwiXG4gICAgICAgICAgIXRhZ0NvbG9yICYmIGludmVyc2UgJiYgIWN1c3RvbVRleHRDb2xvclxuICAgICAgICAgICAgPyB7ICdjb2xvcic6IGN1c3RvbUNvbG9yIH1cbiAgICAgICAgICAgIDogIXR5cGUgJiYgY3VzdG9tVGV4dENvbG9yXG4gICAgICAgICAgICA/IHsgJ2NvbG9yJzogY3VzdG9tVGV4dENvbG9yIH1cbiAgICAgICAgICAgIDogJydcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgIDwvcG8taWNvbj5cblxuICAgICAgPGRpdiBjbGFzcz1cInBvLXRhZy12YWx1ZVwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIFtuZ1N0eWxlXT1cIlxuICAgICAgICAgICAgIXRhZ0NvbG9yICYmIGludmVyc2UgJiYgIWN1c3RvbVRleHRDb2xvclxuICAgICAgICAgICAgICA/IHsgJ2NvbG9yJzogY3VzdG9tQ29sb3IgfVxuICAgICAgICAgICAgICA6ICF0eXBlICYmIGN1c3RvbVRleHRDb2xvciAmJiAhcmVtb3ZhYmxlXG4gICAgICAgICAgICAgID8geyAnY29sb3InOiBjdXN0b21UZXh0Q29sb3IgfVxuICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgXCJcbiAgICAgICAgICA+e3sgdmFsdWUgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwicmVtb3ZhYmxlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzZXRBcmlhTGFiZWwoKVwiXG4gICAgICAgIGNsYXNzPVwicG8tdGFnLXJlbW92ZSBwby1pY29uIHBvLWljb24tY2xvc2VcIlxuICAgICAgICBbY2xhc3MucG8tY2xpY2thYmxlXT1cIiFkaXNhYmxlZFwiXG4gICAgICAgIFt0YWJpbmRleF09XCIhZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICBbYXR0ci5yb2xlXT1cIiFkaXNhYmxlZCA/ICdidXR0b24nIDogJydcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25DbG9zZSgpXCJcbiAgICAgID5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWcvcG8tdGFnLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWcvcG8tdGFnLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXNCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdsRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7O0lDSjNELCtCQUF1RCxlQUFBO0lBQzFCLFlBQTBDO0lBQUEsaUJBQU8sRUFBQTs7O0lBQWpELGVBQTBDO0lBQTFDLCtFQUEwQzs7OztJQW9CbkUsOEJBWVU7OztJQVRSLHlFQUFzQyw4TkFBQTs7OztJQXdCeEMsb0NBWUM7SUFGQywySkFBUyxlQUFBLGdCQUFTLENBQUEsSUFBQyw4SkFDRixlQUFBLGVBQVEsT0FBTyxDQUFDLENBQUEsSUFEZDtJQUdyQixpQkFBTzs7O0lBTkwsZ0RBQWdDO0lBSGhDLGtEQUE2Qix1Q0FBQTtJQUM3QixtREFBa0MsMENBQUE7O0FEOUMxQyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO0FBRXBEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBTUgsTUFBTSxPQUFPLGNBQWUsU0FBUSxrQkFBa0I7SUFPaEM7SUFOeUIsWUFBWSxDQUFhO0lBQzdCLFFBQVEsQ0FBYTtJQUN4QixLQUFLLENBQWE7SUFFeEQsV0FBVyxDQUFVO0lBRXJCLFlBQW9CLEVBQWMsRUFBRSxlQUFrQztRQUNwRSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFETCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBRWxDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxTQUFTLENBQUMsTUFBTTtnQkFDbkIsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBRTFCLEtBQUssU0FBUyxDQUFDLElBQUk7Z0JBQ2pCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztZQUV4QixLQUFLLFNBQVMsQ0FBQyxPQUFPO2dCQUNwQixPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUM7WUFFM0IsS0FBSyxTQUFTLENBQUMsT0FBTztnQkFDcEIsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDN0U7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3BFO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxnQkFBZ0IsVUFBVSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztTQUN4RTtJQUNILENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDckMsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUM5RSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFLLEdBQUcsT0FBTztRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQUs7UUFDaEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7U0FDbkU7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEQ7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDaEc7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQztJQUMzRCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ3hHLENBQUM7SUFFTyxRQUFRO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDaEM7SUFDSCxDQUFDO3dFQTlGVSxjQUFjOzZEQUFkLGNBQWM7Ozs7Ozs7Ozs7WUNuQzNCLDhCQUFtRjtZQUNqRiwrREFFTTtZQUVOLDhCQUFrQyxnQkFBQTtZQVk5Qix3RkFBUyxhQUFTLElBQUMsaUdBQ0Ysd0JBQW9CLElBRGxCLGlHQUVGLHVCQUF1QixJQUZyQiw2RkFHSix3QkFBb0IsSUFIaEI7WUFLbkIsdUVBWVU7WUFFVixpQ0FBMEcsY0FBQTtZQVNyRyxZQUFXO1lBQUEsaUJBQ2IsRUFBQTtZQUdILG1FQWFPO1lBQ1QsaUJBQU0sRUFBQSxFQUFBOztZQS9Eb0IsaUVBQW9EO1lBQzFFLGVBQVc7WUFBWCxnQ0FBVztZQVNiLGVBQTZEO1lBQTdELGtGQUE2RCxzRkFBQSxtQ0FBQSxrREFBQTtZQUk3RCxzQ0FBb0IsMkJBQUEsd0RBQUE7WUFMcEIsd0VBQXNEO1lBY25ELGVBQXdCO1lBQXhCLGlEQUF3QjtZQWFhLGVBQXdDO1lBQXhDLDhEQUF3QztZQUU1RSxlQU1DO1lBTkQsME9BTUM7WUFDQSxlQUFXO1lBQVgsK0JBQVc7WUFNYixlQUFlO1lBQWYsb0NBQWU7Ozt1RkRoQlgsY0FBYztjQUwxQixTQUFTOzJCQUNFLFFBQVEsbUJBRUQsdUJBQXVCLENBQUMsTUFBTTs2RkFHRixZQUFZO2tCQUF4RCxTQUFTO21CQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDRixRQUFRO2tCQUFoRCxTQUFTO21CQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDRCxLQUFLO2tCQUExQyxTQUFTO21CQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBQb1RhZ0ljb24gfSBmcm9tICcuL2VudW1zL3BvLXRhZy1pY29uLmVudW0nO1xuaW1wb3J0IHsgUG9UYWdUeXBlIH0gZnJvbSAnLi9lbnVtcy9wby10YWctdHlwZS5lbnVtJztcbmltcG9ydCB7IFBvVGFnQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tdGFnLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvVGFnTGl0ZXJhbHMgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFnLWxpdGVyYWxzLmludGVyZmFjZSc7XG5cbmNvbnN0IHBvVGFnVHlwZURlZmF1bHQgPSAncG8tdGFnLScgKyBQb1RhZ1R5cGUuSW5mbztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9UYWdCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tdGFnLWJhc2ljXCIgdGl0bGU9XCJQTyBUYWcgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhZy1iYXNpYy9zYW1wbGUtcG8tdGFnLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhZy1iYXNpYy9zYW1wbGUtcG8tdGFnLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXRhZy1sYWJzXCIgdGl0bGU9XCJQTyBUYWcgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFnLWxhYnMvc2FtcGxlLXBvLXRhZy1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhZy1sYWJzL3NhbXBsZS1wby10YWctbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby10YWctYmFuay1hY2NvdW50XCIgdGl0bGU9XCJQTyBUYWcgLSBCYW5rIEFjY291bnRcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXRhZy1iYW5rLWFjY291bnQvc2FtcGxlLXBvLXRhZy1iYW5rLWFjY291bnQuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdGFnLWJhbmstYWNjb3VudC9zYW1wbGUtcG8tdGFnLWJhbmstYWNjb3VudC5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby10YWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tdGFnLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUG9UYWdDb21wb25lbnQgZXh0ZW5kcyBQb1RhZ0Jhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCd0YWdDb250YWluZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWdDb250YWluZXI6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3RhZ0Nsb3NlJywgeyBzdGF0aWM6IHRydWUgfSkgdGFnQ2xvc2U6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3BvVGFnJywgeyBzdGF0aWM6IHRydWUgfSkgcG9UYWc6IEVsZW1lbnRSZWY7XG5cbiAgaXNDbGlja2FibGU6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZiwgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSkge1xuICAgIHN1cGVyKGxhbmd1YWdlU2VydmljZSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmlzQ2xpY2thYmxlID0gdGhpcy5jbGljay5vYnNlcnZlcnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGdldCBpY29uRnJvbVR5cGUoKSB7XG4gICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgIGNhc2UgUG9UYWdUeXBlLkRhbmdlcjpcbiAgICAgICAgcmV0dXJuIFBvVGFnSWNvbi5EYW5nZXI7XG5cbiAgICAgIGNhc2UgUG9UYWdUeXBlLkluZm86XG4gICAgICAgIHJldHVybiBQb1RhZ0ljb24uSW5mbztcblxuICAgICAgY2FzZSBQb1RhZ1R5cGUuU3VjY2VzczpcbiAgICAgICAgcmV0dXJuIFBvVGFnSWNvbi5TdWNjZXNzO1xuXG4gICAgICBjYXNlIFBvVGFnVHlwZS5XYXJuaW5nOlxuICAgICAgICByZXR1cm4gUG9UYWdJY29uLldhcm5pbmc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHRhZ0NvbG9yKCkge1xuICAgIGlmICh0aGlzLnR5cGUgJiYgIXRoaXMucmVtb3ZhYmxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnZlcnNlID8gYHBvLXRhZy0ke3RoaXMudHlwZX0taW52ZXJzZWAgOiBgcG8tdGFnLSR7dGhpcy50eXBlfWA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29sb3IgJiYgIXRoaXMucmVtb3ZhYmxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5pbnZlcnNlID8gYHBvLXRleHQtJHt0aGlzLmNvbG9yfWAgOiBgcG8tJHt0aGlzLmNvbG9yfWA7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmN1c3RvbUNvbG9yICYmICF0aGlzLnJlbW92YWJsZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaW52ZXJzZSA/IGAke3BvVGFnVHlwZURlZmF1bHR9LWludmVyc2VgIDogcG9UYWdUeXBlRGVmYXVsdDtcbiAgICB9XG4gIH1cblxuICBnZXQgdGFnT3JpZW50YXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24gPT09IHRoaXMucG9UYWdPcmllbnRhdGlvbi5Ib3Jpem9udGFsO1xuICB9XG5cbiAgb25DbGljayhldmVudCA9ICdjbGljaycpIHtcbiAgICBpZiAoIXRoaXMucmVtb3ZhYmxlICYmICF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjb25zdCBzdWJtaXR0ZWRUYWdJdGVtID0geyB2YWx1ZTogdGhpcy52YWx1ZSwgdHlwZTogdGhpcy50eXBlLCBldmVudDogZXZlbnQgfTtcbiAgICAgIHRoaXMuY2xpY2suZW1pdChzdWJtaXR0ZWRUYWdJdGVtKTtcbiAgICB9XG4gIH1cblxuICBvbkNsb3NlKGV2ZW50ID0gJ2NsaWNrJykge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5jbGljay5lbWl0KGV2ZW50KTtcbiAgICAgIHRoaXMub25SZW1vdmUoKTtcbiAgICAgIHRoaXMucmVtb3ZlLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5UHJlc3NlZChldmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgdGhpcy5vbkNsaWNrKCdlbnRlcicpO1xuICB9XG5cbiAgc3R5bGVUYWcoKSB7XG4gICAgaWYgKCF0aGlzLnRhZ0NvbG9yICYmICF0aGlzLmludmVyc2UgJiYgIXRoaXMucmVtb3ZhYmxlKSB7XG4gICAgICByZXR1cm4geyAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuY3VzdG9tQ29sb3IsICdjb2xvcic6ICd3aGl0ZScgfTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnRhZ0NvbG9yICYmIHRoaXMuaW52ZXJzZSAmJiAhdGhpcy5jdXN0b21UZXh0Q29sb3IpIHtcbiAgICAgIHJldHVybiB7ICdib3JkZXInOiAnMXB4IHNvbGlkICcgKyB0aGlzLmN1c3RvbUNvbG9yIH07XG4gICAgfSBlbHNlIGlmICghdGhpcy50YWdDb2xvciAmJiB0aGlzLmludmVyc2UgJiYgdGhpcy5jdXN0b21UZXh0Q29sb3IpIHtcbiAgICAgIHJldHVybiB7ICdib3JkZXInOiAnMXB4IHNvbGlkICcgKyB0aGlzLmN1c3RvbVRleHRDb2xvciwgJ2JhY2tncm91bmQtY29sb3InOiB0aGlzLmN1c3RvbUNvbG9yIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gIH1cblxuICBnZXRXaWR0aFRhZygpIHtcbiAgICByZXR1cm4gdGhpcy50YWdDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA+IDE1NTtcbiAgfVxuXG4gIHNldEFyaWFMYWJlbCgpIHtcbiAgICByZXR1cm4gdGhpcy5sYWJlbCA/IHRoaXMubGFiZWwgKyAnICcgKyB0aGlzLmxpdGVyYWxzLnJlbW92ZSA6IHRoaXMudmFsdWUgKyAnICcgKyB0aGlzLmxpdGVyYWxzLnJlbW92ZTtcbiAgfVxuXG4gIHByaXZhdGUgb25SZW1vdmUoKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicG8tdGFnLWNvbnRhaW5lclwiIFtjbGFzcy5wby10YWctY29udGFpbmVyLWhvcml6b250YWxdPVwidGFnT3JpZW50YXRpb25cIj5cbiAgPGRpdiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJwby10YWctdGl0bGUgcG8tdGV4dC1ub3dyYXBcIj5cbiAgICA8c3BhbiBjbGFzcz1cInBvLXRhZy1sYWJlbFwiPnt7IHRhZ09yaWVudGF0aW9uID8gbGFiZWwgKyAnOicgOiBsYWJlbCB9fTwvc3Bhbj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cInBvLXRhZy1zdWItY29udGFpbmVyXCI+XG4gICAgPGRpdlxuICAgICAgI3BvVGFnXG4gICAgICBjbGFzcz1cInBvLXRhZ1wiXG4gICAgICBbYXR0ci5yb2xlXT1cImlzQ2xpY2thYmxlICYmICFkaXNhYmxlZCA/ICdidXR0b24nIDogJydcIlxuICAgICAgW2NsYXNzLnBvLWNsaWNrYWJsZV09XCJpc0NsaWNrYWJsZSAmJiAhZGlzYWJsZWQgJiYgIXJlbW92YWJsZVwiXG4gICAgICBbY2xhc3MucG8tdGFnLWludmVyc2VdPVwiaW52ZXJzZSAmJiAhdHlwZSAmJiAhY3VzdG9tVGV4dENvbG9yICYmICFyZW1vdmFibGVcIlxuICAgICAgW2NsYXNzLnBvLXRhZy1yZW1vdmFibGVdPVwicmVtb3ZhYmxlXCJcbiAgICAgIFtjbGFzcy5wby10YWctZGlzYWJsZWRdPVwiZGlzYWJsZWQgJiYgcmVtb3ZhYmxlXCJcbiAgICAgIFtuZ0NsYXNzXT1cInRhZ0NvbG9yXCJcbiAgICAgIFtuZ1N0eWxlXT1cInN0eWxlVGFnKClcIlxuICAgICAgW3RhYmluZGV4XT1cImlzQ2xpY2thYmxlICYmICFyZW1vdmFibGUgPyAwIDogLTFcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbktleVByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bi5zcGFjZSk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAoa2V5dXAuc3BhY2UpPVwib25LZXlQcmVzc2VkKCRldmVudClcIlxuICAgID5cbiAgICAgIDxwby1pY29uXG4gICAgICAgICpuZ0lmPVwiaWNvbiAmJiAhcmVtb3ZhYmxlXCJcbiAgICAgICAgY2xhc3M9XCJwby10YWctaWNvblwiXG4gICAgICAgIFtwLWljb25dPVwiIXR5cGUgPyBpY29uIDogaWNvbkZyb21UeXBlXCJcbiAgICAgICAgW25nU3R5bGVdPVwiXG4gICAgICAgICAgIXRhZ0NvbG9yICYmIGludmVyc2UgJiYgIWN1c3RvbVRleHRDb2xvclxuICAgICAgICAgICAgPyB7ICdjb2xvcic6IGN1c3RvbUNvbG9yIH1cbiAgICAgICAgICAgIDogIXR5cGUgJiYgY3VzdG9tVGV4dENvbG9yXG4gICAgICAgICAgICA/IHsgJ2NvbG9yJzogY3VzdG9tVGV4dENvbG9yIH1cbiAgICAgICAgICAgIDogJydcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgIDwvcG8taWNvbj5cblxuICAgICAgPGRpdiAjdGFnQ29udGFpbmVyIGNsYXNzPVwicG8tdGFnLXZhbHVlXCIgW3AtdG9vbHRpcF09XCJnZXRXaWR0aFRhZygpID8gdmFsdWUgOiAnJ1wiIHAtdG9vbHRpcC1wb3NpdGlvbj1cInRvcFwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIFtuZ1N0eWxlXT1cIlxuICAgICAgICAgICAgIXRhZ0NvbG9yICYmIGludmVyc2UgJiYgIWN1c3RvbVRleHRDb2xvclxuICAgICAgICAgICAgICA/IHsgJ2NvbG9yJzogY3VzdG9tQ29sb3IgfVxuICAgICAgICAgICAgICA6ICF0eXBlICYmIGN1c3RvbVRleHRDb2xvciAmJiAhcmVtb3ZhYmxlXG4gICAgICAgICAgICAgID8geyAnY29sb3InOiBjdXN0b21UZXh0Q29sb3IgfVxuICAgICAgICAgICAgICA6ICcnXG4gICAgICAgICAgXCJcbiAgICAgICAgICA+e3sgdmFsdWUgfX08L3NwYW5cbiAgICAgICAgPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxzcGFuXG4gICAgICAgICN0YWdDbG9zZVxuICAgICAgICAqbmdJZj1cInJlbW92YWJsZVwiXG4gICAgICAgIHAtdG9vbHRpcC1wb3NpdGlvbj1cInRvcFwiXG4gICAgICAgIFtwLXRvb2x0aXBdPVwibGl0ZXJhbHMucmVtb3ZlXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJzZXRBcmlhTGFiZWwoKVwiXG4gICAgICAgIGNsYXNzPVwicG8tdGFnLXJlbW92ZSBwby1pY29uIHBvLWljb24tY2xvc2VcIlxuICAgICAgICBbY2xhc3MucG8tY2xpY2thYmxlXT1cIiFkaXNhYmxlZFwiXG4gICAgICAgIFt0YWJpbmRleF09XCIhZGlzYWJsZWQgPyAwIDogLTFcIlxuICAgICAgICBbYXR0ci5yb2xlXT1cIiFkaXNhYmxlZCA/ICdidXR0b24nIDogJydcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib25DbG9zZSgnZW50ZXInKVwiXG4gICAgICA+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -27,5 +27,9 @@ export var PoKeyCodeEnum;
|
|
|
27
27
|
PoKeyCodeEnum[PoKeyCodeEnum["space"] = 32] = "space";
|
|
28
28
|
/** Tab */
|
|
29
29
|
PoKeyCodeEnum[PoKeyCodeEnum["tab"] = 9] = "tab";
|
|
30
|
+
/** Arrow Left */
|
|
31
|
+
PoKeyCodeEnum[PoKeyCodeEnum["left"] = 37] = "left";
|
|
32
|
+
/** Arrow Right */
|
|
33
|
+
PoKeyCodeEnum[PoKeyCodeEnum["right"] = 39] = "right";
|
|
30
34
|
})(PoKeyCodeEnum || (PoKeyCodeEnum = {}));
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8ta2V5LWNvZGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvZW51bXMvcG8ta2V5LWNvZGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQU4sSUFBWSxhQW9DWDtBQXBDRCxXQUFZLGFBQWE7SUFDdkIsc0JBQXNCO0lBQ3RCLDREQUFjLENBQUE7SUFFZCxxQkFBcUI7SUFDckIsd0RBQVksQ0FBQTtJQUVaLGdCQUFnQjtJQUNoQiwyREFBYSxDQUFBO0lBRWIsYUFBYTtJQUNiLHNEQUFXLENBQUE7SUFFWCxZQUFZO0lBQ1osb0RBQVUsQ0FBQTtJQUVWLFVBQVU7SUFDVixnREFBUSxDQUFBO0lBRVIsY0FBYztJQUNkLGtEQUFTLENBQUE7SUFFVCxjQUFjO0lBQ2Qsa0RBQVMsQ0FBQTtJQUVULGFBQWE7SUFDYixvREFBVSxDQUFBO0lBRVYsVUFBVTtJQUNWLCtDQUFPLENBQUE7SUFFUCxpQkFBaUI7SUFDakIsa0RBQVMsQ0FBQTtJQUVULGtCQUFrQjtJQUNsQixvREFBVSxDQUFBO0FBQ1osQ0FBQyxFQXBDVyxhQUFhLEtBQWIsYUFBYSxRQW9DeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkb2NzUHJpdmF0ZVxuICpcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIEVudW0gcXVlIGNvbnTDqW0gb3MgdmFsb3JlcyBudW3DqXJpY29zIGRvcyAqa2V5Q29kZXMqLlxuICovXG5leHBvcnQgZW51bSBQb0tleUNvZGVFbnVtIHtcbiAgLyoqIFNldGEgcGFyYSBiYWl4byAqL1xuICBhcnJvd0Rvd24gPSA0MCxcblxuICAvKiogU2V0YSBwYXJhIGNpbWEgKi9cbiAgYXJyb3dVcCA9IDM4LFxuXG4gIC8qKiBCYWNrc3BhY2UgKi9cbiAgYmFja3NwYWNlID0gOCxcblxuICAvKiogRGVsZXRlICovXG4gIGRlbGV0ZSA9IDQ2LFxuXG4gIC8qKiBFbnRlciAqL1xuICBlbnRlciA9IDEzLFxuXG4gIC8qKiBFc2MgKi9cbiAgZXNjID0gMjcsXG5cbiAgLyoqIFRlY2xhIEsgKi9cbiAga2V5SyA9IDc1LFxuXG4gIC8qKiBUZWNsYSBMICovXG4gIGtleUwgPSA3NixcblxuICAvKiogRXNwYcOnbyAqL1xuICBzcGFjZSA9IDMyLFxuXG4gIC8qKiBUYWIgKi9cbiAgdGFiID0gOSxcblxuICAvKiogQXJyb3cgTGVmdCAqL1xuICBsZWZ0ID0gMzcsXG5cbiAgLyoqIEFycm93IFJpZ2h0ICovXG4gIHJpZ2h0ID0gMzlcbn1cbiJdfQ==
|