@ardium-ui/ui 3.2.5 → 3.2.6

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.
@@ -27,7 +27,9 @@ export class ArdiumInputComponent extends _SimpleInputComponentBase {
27
27
  this.inputModel = new InputModel(this);
28
28
  //! allowlist/denylist of characters
29
29
  //use standard string for denylist, prepend with ^ for allowlist
30
- this.charlistFromInput = input(undefined, {
30
+ this.charlistFromInput = input(this._DEFAULTS.charlist
31
+ ? escapeAndCreateRegex(this._DEFAULTS.charlist, '', this._DEFAULTS.charlist.startsWith('^'))
32
+ : undefined, {
31
33
  alias: 'charlist',
32
34
  transform: v => {
33
35
  if (!isString(v)) {
@@ -37,7 +39,9 @@ export class ArdiumInputComponent extends _SimpleInputComponentBase {
37
39
  return escapeAndCreateRegex(v, '', !negated);
38
40
  },
39
41
  });
40
- this.charlistCaseInsensitive = input(false, { transform: v => coerceBooleanProperty(v) });
42
+ this.charlistCaseInsensitive = input(this._DEFAULTS.charlistCaseInsensitive, {
43
+ transform: v => coerceBooleanProperty(v),
44
+ });
41
45
  this.charlist = computed(() => {
42
46
  const c = this.charlistFromInput();
43
47
  if (!this.charlistCaseInsensitive() || !c) {
@@ -57,14 +61,14 @@ export class ArdiumInputComponent extends _SimpleInputComponentBase {
57
61
  this.placeholderTemplate = contentChild(ArdInputPlaceholderTemplateDirective);
58
62
  //! suggestions
59
63
  this.suggestionStorage = new SimplestItemStorage(this);
60
- this.valueFrom = input(undefined, { alias: 'suggValueFrom' });
61
- this.labelFrom = input(undefined, { alias: 'suggLabelFrom' });
64
+ this.valueFrom = input(this._DEFAULTS.suggLabelFrom, { alias: 'suggValueFrom' });
65
+ this.labelFrom = input(this._DEFAULTS.suggLabelFrom, { alias: 'suggLabelFrom' });
62
66
  this.acceptSuggestionEvent = output({ alias: 'acceptSuggestion' });
63
67
  this.suggestionItems = this.suggestionStorage.items;
64
68
  this._suggestionDropdowOpen = signal(false);
65
69
  this.shouldDisplaySuggestions = computed(() => !this.disabled() && (this.suggestionItems().length > 0 || this.areSuggestionsLoading()) && this._suggestionDropdowOpen());
66
70
  this.areSuggestionsLoading = input(false, { transform: v => coerceBooleanProperty(v) });
67
- this.suggestionsLoadingText = input(this.DEFAULTS.suggestionsLoadingText);
71
+ this.suggestionsLoadingText = input(this._DEFAULTS.suggestionsLoadingText);
68
72
  this.suggestionTemplate = contentChild(ArdInputSuggestionTemplateDirective);
69
73
  this.suggestionLoadingTemplate = contentChild(ArdInputLoadingTemplateDirective);
70
74
  //! suggestions overlay
@@ -73,7 +77,7 @@ export class ArdiumInputComponent extends _SimpleInputComponentBase {
73
77
  //! suggestion-highligh-related
74
78
  this._isMouseBeingUsed = false;
75
79
  //! suggestion appearance
76
- this.dropdownAppearance = input(undefined);
80
+ this.dropdownAppearance = input(this._DEFAULTS.dropdownAppearance);
77
81
  this.dropdownAppearanceOrDefault = computed(() => {
78
82
  if (this.dropdownAppearance())
79
83
  return this.dropdownAppearance();
@@ -81,7 +85,7 @@ export class ArdiumInputComponent extends _SimpleInputComponentBase {
81
85
  return DropdownPanelAppearance.Outlined;
82
86
  return DropdownPanelAppearance.Raised;
83
87
  });
84
- this.dropdownVariant = input(undefined);
88
+ this.dropdownVariant = input(this._DEFAULTS.dropdownVariant);
85
89
  this.dropdownVariantOrDefault = computed(() => {
86
90
  if (this.dropdownVariant())
87
91
  return this.dropdownVariant();
@@ -262,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
262
266
  type: HostListener,
263
267
  args: ['keydown', ['$event']]
264
268
  }] } });
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixPQUFPLEVBQUUsYUFBYSxFQUFjLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQTJCLE1BQU0scURBQXFELENBQUM7QUFDbkgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFMUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUs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aUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDOytHQWpRVSxvQkFBb0Isa0JBVVgsa0JBQWtCO21HQVYzQixvQkFBb0IscXdEQVJwQjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7Z0JBQ25ELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRixzRUFvRCtDLCtCQUErQixpR0FDL0IsK0JBQStCLHNHQUcxQixvQ0FBb0MscUdBK0I5QyxtQ0FBbUMsNEdBQzVCLGdDQUFnQyxzUkFJYixXQUFXLG9FQ2xKbEYscW9HQThGQTs7NEZEdENhLG9CQUFvQjtrQkFkaEMsU0FBUzsrQkFDRSxXQUFXLGlCQUdOLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUscUJBQXFCLENBQUM7NEJBQ25ELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzswQkFZWSxNQUFNOzJCQUFDLGtCQUFrQjt5Q0F5RGxDLFdBQVc7c0JBRGQsS0FBSztnQkEyRE4sY0FBYztzQkFEYixZQUFZO3VCQUFDLGVBQWU7Z0JBaUI3QixXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVztnQkFrRXpCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiwgU2Nyb2xsU3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkLFxuICBmb3J3YXJkUmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbiAgdmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29lcmNlQXJyYXlQcm9wZXJ0eSwgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFyZGl1bS11aS9kZXZraXQnO1xuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICdzaW1wbGUtYm9vbCc7XG5pbXBvcnQgeyBTaW1wbGVzdEl0ZW1TdG9yYWdlLCBTaW1wbGVzdEl0ZW1TdG9yYWdlSG9zdCB9IGZyb20gJy4uLy4uL19pbnRlcm5hbC9pdGVtLXN0b3JhZ2VzL3NpbXBsZXN0LWl0ZW0tc3RvcmFnZSc7XG5pbXBvcnQgeyBEcm9wZG93blBhbmVsQXBwZWFyYW5jZSwgRHJvcGRvd25QYW5lbFZhcmlhbnQgfSBmcm9tICcuLi8uLi9kcm9wZG93bi1wYW5lbC9kcm9wZG93bi1wYW5lbC50eXBlcyc7XG5pbXBvcnQgeyBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtIH0gZnJvbSAnLi4vLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcbmltcG9ydCB7IEZvcm1FbGVtZW50QXBwZWFyYW5jZSwgRm9ybUVsZW1lbnRWYXJpYW50IH0gZnJvbSAnLi4vLi4vdHlwZXMvdGhlbWluZy50eXBlcyc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJy4uLy4uL3R5cGVzL3V0aWxpdHkudHlwZXMnO1xuaW1wb3J0IHsgX1NpbXBsZUlucHV0Q29tcG9uZW50QmFzZSB9IGZyb20gJy4uL19zaW1wbGUtaW5wdXQtYmFzZSc7XG5pbXBvcnQgeyBPcHRpb25Db250ZXh0IH0gZnJvbSAnLi8uLi8uLi90eXBlcy9pdGVtLXN0b3JhZ2UudHlwZXMnO1xuaW1wb3J0IHsgSW5wdXRNb2RlbCwgSW5wdXRNb2RlbEhvc3QsIGVzY2FwZUFuZENyZWF0ZVJlZ2V4IH0gZnJvbSAnLi8uLi9pbnB1dC11dGlscyc7XG5pbXBvcnQgeyBBUkRfSU5QVVRfREVGQVVMVFMsIEFyZElucHV0RGVmYXVsdHMgfSBmcm9tICcuL2lucHV0LmRlZmF1bHRzJztcbmltcG9ydCB7XG4gIEFyZElucHV0TG9hZGluZ1RlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRJbnB1dFBsYWNlaG9sZGVyVGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZElucHV0UHJlZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZElucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUsXG4gIEFyZElucHV0U3VnZ2VzdGlvblRlbXBsYXRlRGlyZWN0aXZlLFxufSBmcm9tICcuL2lucHV0LmRpcmVjdGl2ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcmQtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9pbnB1dC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBcmRpdW1JbnB1dENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBcmRpdW1JbnB1dENvbXBvbmVudFxuICBleHRlbmRzIF9TaW1wbGVJbnB1dENvbXBvbmVudEJhc2VcbiAgaW1wbGVtZW50cyBJbnB1dE1vZGVsSG9zdCwgU2ltcGxlc3RJdGVtU3RvcmFnZUhvc3QsIEFmdGVyVmlld0luaXRcbntcbiAgcHJpdmF0ZSByZWFkb25seSBvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbFN0cmF0ZWd5T3B0cyA9IGluamVjdChTY3JvbGxTdHJhdGVneU9wdGlvbnMpO1xuICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IF9ERUZBVUxUUyE6IEFyZElucHV0RGVmYXVsdHM7XG4gIHB1YmxpYyByZWFkb25seSBERUZBVUxUUyE6IEFyZElucHV0RGVmYXVsdHM7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQVJEX0lOUFVUX0RFRkFVTFRTKSBkZWZhdWx0czogQXJkSW5wdXREZWZhdWx0cykge1xuICAgIHN1cGVyKGRlZmF1bHRzKTtcblxuICAgIHRoaXMuREVGQVVMVFMgPSB0aGlzLl9ERUZBVUxUUztcbiAgfVxuXG4gIC8vISBpbnB1dCB2aWV3XG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBpbnB1dE1vZGVsID0gbmV3IElucHV0TW9kZWwodGhpcyk7XG5cbiAgLy8hIGFsbG93bGlzdC9kZW55bGlzdCBvZiBjaGFyYWN0ZXJzXG4gIC8vdXNlIHN0YW5kYXJkIHN0cmluZyBmb3IgZGVueWxpc3QsIHByZXBlbmQgd2l0aCBeIGZvciBhbGxvd2xpc3RcbiAgcmVhZG9ubHkgY2hhcmxpc3RGcm9tSW5wdXQgPSBpbnB1dDxSZWdFeHAgfCB1bmRlZmluZWQsIHN0cmluZz4odW5kZWZpbmVkLCB7XG4gICAgYWxpYXM6ICdjaGFybGlzdCcsXG4gICAgdHJhbnNmb3JtOiB2ID0+IHtcbiAgICAgIGlmICghaXNTdHJpbmcodikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBUkQtRlQwMDMzOiBbY2hhcmxpc3RdIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nLCBnb3QgXCJcIi4nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5lZ2F0ZWQgPSB2LnN0YXJ0c1dpdGgoJ14nKTtcbiAgICAgIHJldHVybiBlc2NhcGVBbmRDcmVhdGVSZWdleCh2LCAnJywgIW5lZ2F0ZWQpO1xuICAgIH0sXG4gIH0pO1xuICByZWFkb25seSBjaGFybGlzdENhc2VJbnNlbnNpdGl2ZSA9IGlucHV0PGJvb2xlYW4sIGFueT4oZmFsc2UsIHsgdHJhbnNmb3JtOiB2ID0+IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KSB9KTtcblxuICByZWFkb25seSBjaGFybGlzdCA9IGNvbXB1dGVkPFJlZ0V4cCB8IHVuZGVmaW5lZD4oKCkgPT4ge1xuICAgIGNvbnN0IGMgPSB0aGlzLmNoYXJsaXN0RnJvbUlucHV0KCk7XG4gICAgaWYgKCF0aGlzLmNoYXJsaXN0Q2FzZUluc2Vuc2l0aXZlKCkgfHwgIWMpIHtcbiAgICAgIHJldHVybiBjO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFJlZ0V4cChjLnNvdXJjZSwgJ2knKTtcbiAgfSk7XG5cbiAgLy8hIGF1dG9jb21wbGV0ZVxuICByZWFkb25seSBhdXRvY29tcGxldGUgPSBpbnB1dDxOdWxsYWJsZTxzdHJpbmc+Pih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IHNob3VsZERpc3BsYXlBdXRvY29tcGxldGUgPSBjb21wdXRlZDxib29sZWFuPigoKSA9PiAhdGhpcy5kaXNhYmxlZCgpICYmIEJvb2xlYW4odGhpcy5hdXRvY29tcGxldGUoKSkpO1xuXG4gIC8vYXV0b2NvbXBsZXRlIGV2ZW50XG4gIHJlYWRvbmx5IGFjY2VwdEF1dG9jb21wbGV0ZUV2ZW50ID0gb3V0cHV0KHsgYWxpYXM6ICdhY2NlcHRBdXRvY29tcGxldGUnIH0pO1xuXG4gIC8vISBwcmVmaXggJiBzdWZmaXhcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgcHJlZml4VGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkSW5wdXRQcmVmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHN1ZmZpeFRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZElucHV0U3VmZml4VGVtcGxhdGVEaXJlY3RpdmUpO1xuXG4gIC8vISBwbGFjZWhvbGRlclxuICBvdmVycmlkZSByZWFkb25seSBwbGFjZWhvbGRlclRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZElucHV0UGxhY2Vob2xkZXJUZW1wbGF0ZURpcmVjdGl2ZSk7XG5cbiAgLy8hIHN1Z2dlc3Rpb25zXG4gIHJlYWRvbmx5IHN1Z2dlc3Rpb25TdG9yYWdlID0gbmV3IFNpbXBsZXN0SXRlbVN0b3JhZ2UodGhpcyk7XG5cbiAgcmVhZG9ubHkgdmFsdWVGcm9tID0gaW5wdXQ8TnVsbGFibGU8c3RyaW5nPj4odW5kZWZpbmVkLCB7IGFsaWFzOiAnc3VnZ1ZhbHVlRnJvbScgfSk7XG4gIHJlYWRvbmx5IGxhYmVsRnJvbSA9IGlucHV0PE51bGxhYmxlPHN0cmluZz4+KHVuZGVmaW5lZCwgeyBhbGlhczogJ3N1Z2dMYWJlbEZyb20nIH0pO1xuXG4gIHJlYWRvbmx5IGFjY2VwdFN1Z2dlc3Rpb25FdmVudCA9IG91dHB1dDxhbnk+KHsgYWxpYXM6ICdhY2NlcHRTdWdnZXN0aW9uJyB9KTtcblxuICByZWFkb25seSBzdWdnZXN0aW9uSXRlbXMgPSB0aGlzLnN1Z2dlc3Rpb25TdG9yYWdlLml0ZW1zO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBzdWdnZXN0aW9ucyh2YWx1ZTogYW55KSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkgdmFsdWUgPSBjb2VyY2VBcnJheVByb3BlcnR5KHZhbHVlKTtcblxuICAgIHRoaXMuc3VnZ2VzdGlvblN0b3JhZ2Uuc2V0SXRlbXModmFsdWUpO1xuXG4gICAgdGhpcy5fc3VnZ2VzdGlvbkRyb3Bkb3dPcGVuLnNldCh0cnVlKTtcbiAgICB0aGlzLnN1Z2dlc3Rpb25TdG9yYWdlLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3VnZ2VzdGlvbkRyb3Bkb3dPcGVuID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSBzaG91bGREaXNwbGF5U3VnZ2VzdGlvbnMgPSBjb21wdXRlZChcbiAgICAoKSA9PiAhdGhpcy5kaXNhYmxlZCgpICYmICh0aGlzLnN1Z2dlc3Rpb25JdGVtcygpLmxlbmd0aCA+IDAgfHwgdGhpcy5hcmVTdWdnZXN0aW9uc0xvYWRpbmcoKSkgJiYgdGhpcy5fc3VnZ2VzdGlvbkRyb3Bkb3dPcGVuKClcbiAgKTtcblxuICByZWFkb25seSBhcmVTdWdnZXN0aW9uc0xvYWRpbmcgPSBpbnB1dDxib29sZWFuLCBhbnk+KGZhbHNlLCB7IHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodikgfSk7XG4gIHJlYWRvbmx5IHN1Z2dlc3Rpb25zTG9hZGluZ1RleHQgPSBpbnB1dDxzdHJpbmc+KHRoaXMuREVGQVVMVFMuc3VnZ2VzdGlvbnNMb2FkaW5nVGV4dCk7XG5cbiAgcmVhZG9ubHkgc3VnZ2VzdGlvblRlbXBsYXRlID0gY29udGVudENoaWxkKEFyZElucHV0U3VnZ2VzdGlvblRlbXBsYXRlRGlyZWN0aXZlKTtcbiAgcmVhZG9ubHkgc3VnZ2VzdGlvbkxvYWRpbmdUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRJbnB1dExvYWRpbmdUZW1wbGF0ZURpcmVjdGl2ZSk7XG5cbiAgLy8hIHN1Z2dlc3Rpb25zIG92ZXJsYXlcbiAgcmVhZG9ubHkgZHJvcGRvd25Ib3N0ID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+Pignc3VnZ2VzdGlvbnNIb3N0Jyk7XG4gIHJlYWRvbmx5IGRyb3Bkb3duVGVtcGxhdGUgPSB2aWV3Q2hpbGQoJ3N1Z2dlc3Rpb25zVGVtcGxhdGUnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pO1xuXG4gIHByaXZhdGUgZHJvcGRvd25PdmVybGF5ITogT3ZlcmxheVJlZjtcblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG5cbiAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgLnBvc2l0aW9uKClcbiAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRoaXMuZHJvcGRvd25Ib3N0KCkhKVxuICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICB7XG4gICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIH0gYXMgQ29ubmVjdGVkUG9zaXRpb24sXG4gICAgICBdKVxuICAgICAgLndpdGhQdXNoKGZhbHNlKTtcblxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHN0cmF0ZWd5LFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuc2Nyb2xsU3RyYXRlZ3lPcHRzLmJsb2NrKCksXG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgfSk7XG5cbiAgICB0aGlzLmRyb3Bkb3duT3ZlcmxheSA9IHRoaXMub3ZlcmxheS5jcmVhdGUoY29uZmlnKTtcblxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmRyb3Bkb3duVGVtcGxhdGUoKSEsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgdGhpcy5kcm9wZG93bk92ZXJsYXkuYXR0YWNoKHBvcnRhbCk7XG5cbiAgICB0aGlzLnNldE92ZXJsYXlTaXplKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgc2V0T3ZlcmxheVNpemUoKTogdm9pZCB7XG4gICAgY29uc3QgcmVjdCA9IHRoaXMuZHJvcGRvd25Ib3N0KCk/Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgdGhpcy5kcm9wZG93bk92ZXJsYXkudXBkYXRlU2l6ZSh7IHdpZHRoOiByZWN0Py53aWR0aCB9KTtcbiAgfVxuXG4gIGdldE9wdGlvbkNvbnRleHQoaXRlbTogQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSk6IE9wdGlvbkNvbnRleHQ8QXJkU2ltcGxlc3RTdG9yYWdlSXRlbT4ge1xuICAgIHJldHVybiB7XG4gICAgICAkaW1wbGljaXQ6IGl0ZW0sXG4gICAgICBpdGVtLFxuICAgICAgaXRlbURhdGE6IGl0ZW0uaXRlbURhdGEsXG4gICAgfTtcbiAgfVxuXG4gIC8vISBzdWdnZXN0aW9uLWhpZ2hsaWdoLXJlbGF0ZWRcbiAgcHJpdmF0ZSBfaXNNb3VzZUJlaW5nVXNlZCA9IGZhbHNlO1xuICBASG9zdExpc3RlbmVyKCdtb3VzZW1vdmUnKVxuICBvbk1vdXNlTW92ZSgpIHtcbiAgICB0aGlzLl9pc01vdXNlQmVpbmdVc2VkID0gdHJ1ZTtcbiAgfVxuICBvblN1Z2dlc3Rpb25Nb3VzZUVudGVyKGl0ZW06IEFyZFNpbXBsZXN0U3RvcmFnZUl0ZW0sIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc01vdXNlQmVpbmdVc2VkKSByZXR1cm47XG4gICAgdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5oaWdobGlnaHRJdGVtKGl0ZW0pO1xuXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbiAgb25TdWdnZXN0aW9uTW91c2VMZWF2ZShpdGVtOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5faXNNb3VzZUJlaW5nVXNlZCkgcmV0dXJuO1xuICAgIHRoaXMuc3VnZ2VzdGlvblN0b3JhZ2UudW5oaWdobGlnaHRJdGVtKGl0ZW0pO1xuXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICAvLyEgc3VnZ2VzdGlvbiBzZWxlY3Rpb25cbiAgc2VsZWN0U3VnZ2VzdGlvbihpdGVtOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtLCBldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgdGhpcy5fc2VsZWN0U3VnZ2VzdGlvbihpdGVtKTtcbiAgfVxuICBwcml2YXRlIF9zZWxlY3RTdWdnZXN0aW9uKGl0ZW06IEFyZFNpbXBsZXN0U3RvcmFnZUl0ZW0pOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuc3VnZ2VzdGlvblN0b3JhZ2Uuc2VsZWN0SXRlbShpdGVtKTtcbiAgICB0aGlzLndyaXRlVmFsdWUoc2VsZWN0ZWQgPz8gJycpO1xuXG4gICAgdGhpcy5hY2NlcHRTdWdnZXN0aW9uRXZlbnQuZW1pdChzZWxlY3RlZCk7XG5cbiAgICAvL2ltcG9ydGFudCB0byBkbyB0aG9zZSB0d28gdGhpbmdzIGluIHRoaXMgZXhhY3Qgb3JkZXJcbiAgICB0aGlzLmZvY3VzKCk7XG4gICAgdGhpcy5fc3VnZ2VzdGlvbkRyb3Bkb3dPcGVuLnNldChmYWxzZSk7XG4gIH1cbiAgaGFuZGxlU3VnZ2VzdGlvbkNsaWNrT3V0c2lkZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zaG91bGREaXNwbGF5U3VnZ2VzdGlvbnMoKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGlmICh0aGlzLnZpZXdDb250YWluZXJSZWYuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldCkpIHJldHVybjtcblxuICAgIHRoaXMuX3N1Z2dlc3Rpb25Ecm9wZG93T3Blbi5zZXQoZmFsc2UpO1xuICB9XG4gIC8vISBzdWdnZXN0aW9uIGFwcGVhcmFuY2VcbiAgcmVhZG9ubHkgZHJvcGRvd25BcHBlYXJhbmNlID0gaW5wdXQ8TnVsbGFibGU8RHJvcGRvd25QYW5lbEFwcGVhcmFuY2U+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBkcm9wZG93bkFwcGVhcmFuY2VPckRlZmF1bHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuZHJvcGRvd25BcHBlYXJhbmNlKCkpIHJldHVybiB0aGlzLmRyb3Bkb3duQXBwZWFyYW5jZSgpITtcbiAgICBpZiAodGhpcy5hcHBlYXJhbmNlKCkgPT09IEZvcm1FbGVtZW50QXBwZWFyYW5jZS5PdXRsaW5lZCkgcmV0dXJuIERyb3Bkb3duUGFuZWxBcHBlYXJhbmNlLk91dGxpbmVkO1xuICAgIHJldHVybiBEcm9wZG93blBhbmVsQXBwZWFyYW5jZS5SYWlzZWQ7XG4gIH0pO1xuICByZWFkb25seSBkcm9wZG93blZhcmlhbnQgPSBpbnB1dDxOdWxsYWJsZTxEcm9wZG93blBhbmVsVmFyaWFudD4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGRyb3Bkb3duVmFyaWFudE9yRGVmYXVsdCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5kcm9wZG93blZhcmlhbnQoKSkgcmV0dXJuIHRoaXMuZHJvcGRvd25WYXJpYW50KCkhO1xuICAgIGNvbnN0IHZhcmlhbnQgPSB0aGlzLnZhcmlhbnQoKTtcbiAgICBpZiAodmFyaWFudCA9PT0gRm9ybUVsZW1lbnRWYXJpYW50LlBpbGwpIHJldHVybiBEcm9wZG93blBhbmVsVmFyaWFudC5Sb3VuZGVkO1xuICAgIHJldHVybiB2YXJpYW50O1xuICB9KTtcblxuICAvLyEgZm9jdXMgb3ZlcnJpZGVcbiAgb3ZlcnJpZGUgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3N1Z2dlc3Rpb25Ecm9wZG93T3Blbi5zZXQodHJ1ZSk7XG4gICAgaWYgKCF0aGlzLnN1Z2dlc3Rpb25TdG9yYWdlLmhpZ2hsaWdodGVkSXRlbSgpKSB0aGlzLnN1Z2dlc3Rpb25TdG9yYWdlLmhpZ2hsaWdodEZpcnN0SXRlbSgpO1xuXG4gICAgc3VwZXIub25Gb2N1cyhldmVudCk7XG4gIH1cblxuICAvLyEga2V5IHByZXNzIGhhbmRsZXJzXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBvbktleVByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgc3dpdGNoIChldmVudC5jb2RlKSB7XG4gICAgICBjYXNlICdFbnRlcic6IHtcbiAgICAgICAgdGhpcy5fb25UYWJPckVudGVyUHJlc3MoZXZlbnQpO1xuICAgICAgICB0aGlzLl9vbkVudGVyUHJlc3MoZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjYXNlICdUYWInOiB7XG4gICAgICAgIHRoaXMuX29uVGFiT3JFbnRlclByZXNzKGV2ZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY2FzZSAnQXJyb3dEb3duJzoge1xuICAgICAgICB0aGlzLl9vbkFycm93RG93blByZXNzKGV2ZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY2FzZSAnQXJyb3dVcCc6IHtcbiAgICAgICAgdGhpcy5fb25BcnJvd1VwUHJlc3MoZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBfb25UYWJPckVudGVyUHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkRGlzcGxheUF1dG9jb21wbGV0ZSgpKSByZXR1cm47XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMub25JbnB1dCh0aGlzLmF1dG9jb21wbGV0ZSgpID8/ICcnKTtcbiAgICB0aGlzLmFjY2VwdEF1dG9jb21wbGV0ZUV2ZW50LmVtaXQoKTtcbiAgfVxuICBwcml2YXRlIF9vbkVudGVyUHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkRGlzcGxheVN1Z2dlc3Rpb25zKCkpIHJldHVybjtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5oaWdobGlnaHRlZEl0ZW0oKTtcbiAgICBpZiAoIWl0ZW0pIHJldHVybjtcblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5fc2VsZWN0U3VnZ2VzdGlvbihpdGVtKTtcbiAgfVxuICBwcml2YXRlIF9vbkFycm93RG93blByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNob3VsZERpc3BsYXlTdWdnZXN0aW9ucygpKSByZXR1cm47XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMuX2lzTW91c2VCZWluZ1VzZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuc3VnZ2VzdGlvblN0b3JhZ2UuaGlnaGxpZ2h0TmV4dEl0ZW0oKzEpO1xuICB9XG4gIHByaXZhdGUgX29uQXJyb3dVcFByZXNzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNob3VsZERpc3BsYXlTdWdnZXN0aW9ucygpKSByZXR1cm47XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMuX2lzTW91c2VCZWluZ1VzZWQgPSBmYWxzZTtcblxuICAgIHRoaXMuc3VnZ2VzdGlvblN0b3JhZ2UuaGlnaGxpZ2h0TmV4dEl0ZW0oLTEpO1xuICB9XG59XG4iLCI8YXJkLWZvcm0tZmllbGQtZnJhbWVcbiAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZSgpXCJcbiAgW3ZhcmlhbnRdPVwidmFyaWFudCgpXCJcbiAgW2NvbXBhY3RdPVwiY29tcGFjdCgpXCJcbiAgW2lzRm9jdXNlZF09XCJpc0ZvY3VzZWRcIlxuICBbcHJlZml4VGVtcGxhdGVdPVwicHJlZml4VGVtcGxhdGUoKT8udGVtcGxhdGVcIlxuICBbc3VmZml4VGVtcGxhdGVdPVwic3VmZml4VGVtcGxhdGUoKT8udGVtcGxhdGVcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJhcmQtaW5wdXRcIlxuICAgICNzdWdnZXN0aW9uc0hvc3RcbiAgICBbbmdDbGFzc109XCJuZ0NsYXNzZXMoKVwiXG4gICAgW2NsYXNzLmFyZC1oYXMtdmFsdWVdPVwidmFsdWVcIlxuICAgIChjbGljayk9XCJmb2N1cygpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJhcmQtaW5wdXQtY29udGFpbmVyXCI+XG4gICAgICBAaWYgKHNob3VsZERpc3BsYXlBdXRvY29tcGxldGUoKSkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLWF1dG9jb21wbGV0ZVwiPnt7IGF1dG9jb21wbGV0ZSgpIH19PC9kaXY+XG4gICAgICB9XG4gICAgICBAaWYgKHNob3VsZERpc3BsYXlQbGFjZWhvbGRlcigpKSB7XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFBsYWNlaG9sZGVyVGVtcGxhdGU+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1wbGFjZWhvbGRlclwiPnt7IHBsYWNlaG9sZGVyKCkgfX08L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwicGxhY2Vob2xkZXJUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICB9XG4gICAgICA8aW5wdXRcbiAgICAgICAgI3RleHRJbnB1dFxuICAgICAgICAjZm9jdXNhYmxlRWxlbWVudFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIFthdHRyLmlkXT1cImlucHV0SWQoKVwiXG4gICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYkluZGV4KClcIlxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQodGV4dElucHV0LnZhbHVlKVwiXG4gICAgICAgIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIlxuICAgICAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgICAgIChjb3B5KT1cIm9uQ29weSgkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgPC9kaXY+XG5cbiAgICBAaWYgKHNob3VsZFNob3dDbGVhckJ1dHRvbigpKSB7XG4gICAgICA8YXJkLWNsZWFyLWJ1dHRvblxuICAgICAgICBbdGl0bGVdPVwiY2xlYXJCdXR0b25UaXRsZSgpXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xlYXJCdXR0b25DbGljaygkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgfVxuICA8L2Rpdj5cbjwvYXJkLWZvcm0tZmllbGQtZnJhbWU+XG5cbjxuZy10ZW1wbGF0ZSAjc3VnZ2VzdGlvbnNUZW1wbGF0ZT5cbiAgPGFyZC1kcm9wZG93bi1wYW5lbFxuICAgIGNsYXNzPVwiYXJkLWRyb3Bkb3duLXBhbmVsIGFyZC1pbnB1dC1zdWdnZXN0aW9ucy1wYW5lbFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIFtjb21wYWN0XT1cImNvbXBhY3RcIlxuICAgIGFyaWEtbGFiZWw9XCJTdWdnZXN0aW9uc1wiXG4gICAgW2FwcGVhcmFuY2VdPVwiZHJvcGRvd25BcHBlYXJhbmNlT3JEZWZhdWx0KClcIlxuICAgIFt2YXJpYW50XT1cImRyb3Bkb3duVmFyaWFudE9yRGVmYXVsdCgpXCJcbiAgICBbaXNPcGVuXT1cInNob3VsZERpc3BsYXlTdWdnZXN0aW9ucygpXCJcbiAgICAoYXJkQ2xpY2tPdXRzaWRlKT1cImhhbmRsZVN1Z2dlc3Rpb25DbGlja091dHNpZGUoJGV2ZW50KVwiXG4gICAgKG1vdXNlbW92ZSk9XCJvbk1vdXNlTW92ZSgpXCJcbiAgPlxuICAgIEBmb3IgKGl0ZW0gb2Ygc3VnZ2VzdGlvbkl0ZW1zKCk7IHRyYWNrIGl0ZW0uaW5kZXgpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJhcmQtb3B0aW9uXCJcbiAgICAgICAgcm9sZT1cIm9wdGlvblwiXG4gICAgICAgIFtjbGFzcy5hcmQtb3B0aW9uLXNlbGVjdGVkXT1cIml0ZW0uc2VsZWN0ZWQoKVwiXG4gICAgICAgIFtjbGFzcy5hcmQtb3B0aW9uLWhpZ2hsaWdodGVkXT1cIml0ZW0uaGlnaGxpZ2h0ZWQoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZCgpXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdFN1Z2dlc3Rpb24oaXRlbSwgJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cIm9uU3VnZ2VzdGlvbk1vdXNlRW50ZXIoaXRlbSwgJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZWxlYXZlKT1cIm9uU3VnZ2VzdGlvbk1vdXNlTGVhdmUoaXRlbSwgJGV2ZW50KVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXJkLW9wdGlvbi1sYWJlbFwiPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvblRlbXBsYXRlPlxuICAgICAgICAgICAge3sgaXRlbS5sYWJlbCgpIH19XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwic3VnZ2VzdGlvblRlbXBsYXRlKCk/LnRlbXBsYXRlIHx8IGRlZmF1bHRPcHRpb25UZW1wbGF0ZVwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwiZ2V0T3B0aW9uQ29udGV4dChpdGVtKVwiXG4gICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAaWYgKGFyZVN1Z2dlc3Rpb25zTG9hZGluZygpKSB7XG4gICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRMb2FkaW5nUGxhY2Vob2xkZXJUZW1wbGF0ZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFyZC1vcHRpb24gYXJkLW9wdGlvbi1kaXNhYmxlZFwiPnt7IHN1Z2dlc3Rpb25zTG9hZGluZ1RleHQoKSB9fTwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInN1Z2dlc3Rpb25Mb2FkaW5nVGVtcGxhdGUoKT8udGVtcGxhdGUgfHwgZGVmYXVsdExvYWRpbmdQbGFjZWhvbGRlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICB9XG4gIDwvYXJkLWRyb3Bkb3duLXBhbmVsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pbnB1dHMvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixPQUFPLEVBQUUsYUFBYSxFQUFjLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsbUJBQW1CLEVBQTJCLE1BQU0scURBQXFELENBQUM7QUFDbkgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFMUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUs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QixVQUFVO3NCQURULFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYsIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIGNvbnRlbnRDaGlsZCxcbiAgZm9yd2FyZFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgb3V0cHV0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGNvZXJjZUFycmF5UHJvcGVydHksIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0BhcmRpdW0tdWkvZGV2a2l0JztcbmltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnc2ltcGxlLWJvb2wnO1xuaW1wb3J0IHsgU2ltcGxlc3RJdGVtU3RvcmFnZSwgU2ltcGxlc3RJdGVtU3RvcmFnZUhvc3QgfSBmcm9tICcuLi8uLi9faW50ZXJuYWwvaXRlbS1zdG9yYWdlcy9zaW1wbGVzdC1pdGVtLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRHJvcGRvd25QYW5lbEFwcGVhcmFuY2UsIERyb3Bkb3duUGFuZWxWYXJpYW50IH0gZnJvbSAnLi4vLi4vZHJvcGRvd24tcGFuZWwvZHJvcGRvd24tcGFuZWwudHlwZXMnO1xuaW1wb3J0IHsgQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSB9IGZyb20gJy4uLy4uL3R5cGVzL2l0ZW0tc3RvcmFnZS50eXBlcyc7XG5pbXBvcnQgeyBGb3JtRWxlbWVudEFwcGVhcmFuY2UsIEZvcm1FbGVtZW50VmFyaWFudCB9IGZyb20gJy4uLy4uL3R5cGVzL3RoZW1pbmcudHlwZXMnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICcuLi8uLi90eXBlcy91dGlsaXR5LnR5cGVzJztcbmltcG9ydCB7IF9TaW1wbGVJbnB1dENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi9fc2ltcGxlLWlucHV0LWJhc2UnO1xuaW1wb3J0IHsgT3B0aW9uQ29udGV4dCB9IGZyb20gJy4vLi4vLi4vdHlwZXMvaXRlbS1zdG9yYWdlLnR5cGVzJztcbmltcG9ydCB7IElucHV0TW9kZWwsIElucHV0TW9kZWxIb3N0LCBlc2NhcGVBbmRDcmVhdGVSZWdleCB9IGZyb20gJy4vLi4vaW5wdXQtdXRpbHMnO1xuaW1wb3J0IHsgQVJEX0lOUFVUX0RFRkFVTFRTLCBBcmRJbnB1dERlZmF1bHRzIH0gZnJvbSAnLi9pbnB1dC5kZWZhdWx0cyc7XG5pbXBvcnQge1xuICBBcmRJbnB1dExvYWRpbmdUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgQXJkSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRJbnB1dFN1ZmZpeFRlbXBsYXRlRGlyZWN0aXZlLFxuICBBcmRJbnB1dFN1Z2dlc3Rpb25UZW1wbGF0ZURpcmVjdGl2ZSxcbn0gZnJvbSAnLi9pbnB1dC5kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXJkLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXJkaXVtSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQXJkaXVtSW5wdXRDb21wb25lbnRcbiAgZXh0ZW5kcyBfU2ltcGxlSW5wdXRDb21wb25lbnRCYXNlXG4gIGltcGxlbWVudHMgSW5wdXRNb2RlbEhvc3QsIFNpbXBsZXN0SXRlbVN0b3JhZ2VIb3N0LCBBZnRlclZpZXdJbml0XG57XG4gIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheSA9IGluamVjdChPdmVybGF5KTtcbiAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxTdHJhdGVneU9wdHMgPSBpbmplY3QoU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKTtcbiAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSBfREVGQVVMVFMhOiBBcmRJbnB1dERlZmF1bHRzO1xuICBwdWJsaWMgcmVhZG9ubHkgREVGQVVMVFMhOiBBcmRJbnB1dERlZmF1bHRzO1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFSRF9JTlBVVF9ERUZBVUxUUykgZGVmYXVsdHM6IEFyZElucHV0RGVmYXVsdHMpIHtcbiAgICBzdXBlcihkZWZhdWx0cyk7XG5cbiAgICB0aGlzLkRFRkFVTFRTID0gdGhpcy5fREVGQVVMVFM7XG4gIH1cblxuICAvLyEgaW5wdXQgdmlld1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgaW5wdXRNb2RlbCA9IG5ldyBJbnB1dE1vZGVsKHRoaXMpO1xuXG4gIC8vISBhbGxvd2xpc3QvZGVueWxpc3Qgb2YgY2hhcmFjdGVyc1xuICAvL3VzZSBzdGFuZGFyZCBzdHJpbmcgZm9yIGRlbnlsaXN0LCBwcmVwZW5kIHdpdGggXiBmb3IgYWxsb3dsaXN0XG4gIHJlYWRvbmx5IGNoYXJsaXN0RnJvbUlucHV0ID0gaW5wdXQ8UmVnRXhwIHwgdW5kZWZpbmVkLCBzdHJpbmc+KFxuICAgIHRoaXMuX0RFRkFVTFRTLmNoYXJsaXN0XG4gICAgICA/IGVzY2FwZUFuZENyZWF0ZVJlZ2V4KHRoaXMuX0RFRkFVTFRTLmNoYXJsaXN0LCAnJywgdGhpcy5fREVGQVVMVFMuY2hhcmxpc3Quc3RhcnRzV2l0aCgnXicpKVxuICAgICAgOiB1bmRlZmluZWQsXG4gICAge1xuICAgICAgYWxpYXM6ICdjaGFybGlzdCcsXG4gICAgICB0cmFuc2Zvcm06IHYgPT4ge1xuICAgICAgICBpZiAoIWlzU3RyaW5nKHYpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBUkQtRlQwMDMzOiBbY2hhcmxpc3RdIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nLCBnb3QgXCJcIi4nKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZWdhdGVkID0gdi5zdGFydHNXaXRoKCdeJyk7XG4gICAgICAgIHJldHVybiBlc2NhcGVBbmRDcmVhdGVSZWdleCh2LCAnJywgIW5lZ2F0ZWQpO1xuICAgICAgfSxcbiAgICB9XG4gICk7XG4gIHJlYWRvbmx5IGNoYXJsaXN0Q2FzZUluc2Vuc2l0aXZlID0gaW5wdXQ8Ym9vbGVhbiwgYW55Pih0aGlzLl9ERUZBVUxUUy5jaGFybGlzdENhc2VJbnNlbnNpdGl2ZSwge1xuICAgIHRyYW5zZm9ybTogdiA9PiBjb2VyY2VCb29sZWFuUHJvcGVydHkodiksXG4gIH0pO1xuXG4gIHJlYWRvbmx5IGNoYXJsaXN0ID0gY29tcHV0ZWQ8UmVnRXhwIHwgdW5kZWZpbmVkPigoKSA9PiB7XG4gICAgY29uc3QgYyA9IHRoaXMuY2hhcmxpc3RGcm9tSW5wdXQoKTtcbiAgICBpZiAoIXRoaXMuY2hhcmxpc3RDYXNlSW5zZW5zaXRpdmUoKSB8fCAhYykge1xuICAgICAgcmV0dXJuIGM7XG4gICAgfVxuICAgIHJldHVybiBuZXcgUmVnRXhwKGMuc291cmNlLCAnaScpO1xuICB9KTtcblxuICAvLyEgYXV0b2NvbXBsZXRlXG4gIHJlYWRvbmx5IGF1dG9jb21wbGV0ZSA9IGlucHV0PE51bGxhYmxlPHN0cmluZz4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgc2hvdWxkRGlzcGxheUF1dG9jb21wbGV0ZSA9IGNvbXB1dGVkPGJvb2xlYW4+KCgpID0+ICF0aGlzLmRpc2FibGVkKCkgJiYgQm9vbGVhbih0aGlzLmF1dG9jb21wbGV0ZSgpKSk7XG5cbiAgLy9hdXRvY29tcGxldGUgZXZlbnRcbiAgcmVhZG9ubHkgYWNjZXB0QXV0b2NvbXBsZXRlRXZlbnQgPSBvdXRwdXQoeyBhbGlhczogJ2FjY2VwdEF1dG9jb21wbGV0ZScgfSk7XG5cbiAgLy8hIHByZWZpeCAmIHN1ZmZpeFxuICBvdmVycmlkZSByZWFkb25seSBwcmVmaXhUZW1wbGF0ZSA9IGNvbnRlbnRDaGlsZChBcmRJbnB1dFByZWZpeFRlbXBsYXRlRGlyZWN0aXZlKTtcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgc3VmZml4VGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkSW5wdXRTdWZmaXhUZW1wbGF0ZURpcmVjdGl2ZSk7XG5cbiAgLy8hIHBsYWNlaG9sZGVyXG4gIG92ZXJyaWRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkSW5wdXRQbGFjZWhvbGRlclRlbXBsYXRlRGlyZWN0aXZlKTtcblxuICAvLyEgc3VnZ2VzdGlvbnNcbiAgcmVhZG9ubHkgc3VnZ2VzdGlvblN0b3JhZ2UgPSBuZXcgU2ltcGxlc3RJdGVtU3RvcmFnZSh0aGlzKTtcblxuICByZWFkb25seSB2YWx1ZUZyb20gPSBpbnB1dDxOdWxsYWJsZTxzdHJpbmc+Pih0aGlzLl9ERUZBVUxUUy5zdWdnTGFiZWxGcm9tLCB7IGFsaWFzOiAnc3VnZ1ZhbHVlRnJvbScgfSk7XG4gIHJlYWRvbmx5IGxhYmVsRnJvbSA9IGlucHV0PE51bGxhYmxlPHN0cmluZz4+KHRoaXMuX0RFRkFVTFRTLnN1Z2dMYWJlbEZyb20sIHsgYWxpYXM6ICdzdWdnTGFiZWxGcm9tJyB9KTtcblxuICByZWFkb25seSBhY2NlcHRTdWdnZXN0aW9uRXZlbnQgPSBvdXRwdXQ8YW55Pih7IGFsaWFzOiAnYWNjZXB0U3VnZ2VzdGlvbicgfSk7XG5cbiAgcmVhZG9ubHkgc3VnZ2VzdGlvbkl0ZW1zID0gdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5pdGVtcztcblxuICBASW5wdXQoKVxuICBzZXQgc3VnZ2VzdGlvbnModmFsdWU6IGFueSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHZhbHVlID0gY29lcmNlQXJyYXlQcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICB0aGlzLnN1Z2dlc3Rpb25TdG9yYWdlLnNldEl0ZW1zKHZhbHVlKTtcblxuICAgIHRoaXMuX3N1Z2dlc3Rpb25Ecm9wZG93T3Blbi5zZXQodHJ1ZSk7XG4gICAgdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5oaWdobGlnaHRGaXJzdEl0ZW0oKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1Z2dlc3Rpb25Ecm9wZG93T3BlbiA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgcmVhZG9ubHkgc2hvdWxkRGlzcGxheVN1Z2dlc3Rpb25zID0gY29tcHV0ZWQoXG4gICAgKCkgPT4gIXRoaXMuZGlzYWJsZWQoKSAmJiAodGhpcy5zdWdnZXN0aW9uSXRlbXMoKS5sZW5ndGggPiAwIHx8IHRoaXMuYXJlU3VnZ2VzdGlvbnNMb2FkaW5nKCkpICYmIHRoaXMuX3N1Z2dlc3Rpb25Ecm9wZG93T3BlbigpXG4gICk7XG5cbiAgcmVhZG9ubHkgYXJlU3VnZ2VzdGlvbnNMb2FkaW5nID0gaW5wdXQ8Ym9vbGVhbiwgYW55PihmYWxzZSwgeyB0cmFuc2Zvcm06IHYgPT4gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpIH0pO1xuICByZWFkb25seSBzdWdnZXN0aW9uc0xvYWRpbmdUZXh0ID0gaW5wdXQ8c3RyaW5nPih0aGlzLl9ERUZBVUxUUy5zdWdnZXN0aW9uc0xvYWRpbmdUZXh0KTtcblxuICByZWFkb25seSBzdWdnZXN0aW9uVGVtcGxhdGUgPSBjb250ZW50Q2hpbGQoQXJkSW5wdXRTdWdnZXN0aW9uVGVtcGxhdGVEaXJlY3RpdmUpO1xuICByZWFkb25seSBzdWdnZXN0aW9uTG9hZGluZ1RlbXBsYXRlID0gY29udGVudENoaWxkKEFyZElucHV0TG9hZGluZ1RlbXBsYXRlRGlyZWN0aXZlKTtcblxuICAvLyEgc3VnZ2VzdGlvbnMgb3ZlcmxheVxuICByZWFkb25seSBkcm9wZG93bkhvc3QgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCdzdWdnZXN0aW9uc0hvc3QnKTtcbiAgcmVhZG9ubHkgZHJvcGRvd25UZW1wbGF0ZSA9IHZpZXdDaGlsZCgnc3VnZ2VzdGlvbnNUZW1wbGF0ZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSk7XG5cbiAgcHJpdmF0ZSBkcm9wZG93bk92ZXJsYXkhOiBPdmVybGF5UmVmO1xuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIGNvbnN0IHN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAucG9zaXRpb24oKVxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5kcm9wZG93bkhvc3QoKSEpXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgIHtcbiAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgfSBhcyBDb25uZWN0ZWRQb3NpdGlvbixcbiAgICAgIF0pXG4gICAgICAud2l0aFB1c2goZmFsc2UpO1xuXG4gICAgY29uc3QgY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogc3RyYXRlZ3ksXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5zY3JvbGxTdHJhdGVneU9wdHMuYmxvY2soKSxcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIHRoaXMuZHJvcGRvd25PdmVybGF5ID0gdGhpcy5vdmVybGF5LmNyZWF0ZShjb25maWcpO1xuXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuZHJvcGRvd25UZW1wbGF0ZSgpISwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICB0aGlzLmRyb3Bkb3duT3ZlcmxheS5hdHRhY2gocG9ydGFsKTtcblxuICAgIHRoaXMuc2V0T3ZlcmxheVNpemUoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICBzZXRPdmVybGF5U2l6ZSgpOiB2b2lkIHtcbiAgICBjb25zdCByZWN0ID0gdGhpcy5kcm9wZG93bkhvc3QoKT8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLmRyb3Bkb3duT3ZlcmxheS51cGRhdGVTaXplKHsgd2lkdGg6IHJlY3Q/LndpZHRoIH0pO1xuICB9XG5cbiAgZ2V0T3B0aW9uQ29udGV4dChpdGVtOiBBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtKTogT3B0aW9uQ29udGV4dDxBcmRTaW1wbGVzdFN0b3JhZ2VJdGVtPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICRpbXBsaWNpdDogaXRlbSxcbiAgICAgIGl0ZW0sXG4gICAgICBpdGVtRGF0YTogaXRlbS5pdGVtRGF0YSxcbiAgICB9O1xuICB9XG5cbiAgLy8hIHN1Z2dlc3Rpb24taGlnaGxpZ2gtcmVsYXRlZFxuICBwcml2YXRlIF9pc01vdXNlQmVpbmdVc2VkID0gZmFsc2U7XG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbW92ZScpXG4gIG9uTW91c2VNb3ZlKCkge1xuICAgIHRoaXMuX2lzTW91c2VCZWluZ1VzZWQgPSB0cnVlO1xuICB9XG4gIG9uU3VnZ2VzdGlvbk1vdXNlRW50ZXIoaXRlbTogQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSwgZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2lzTW91c2VCZWluZ1VzZWQpIHJldHVybjtcbiAgICB0aGlzLnN1Z2dlc3Rpb25TdG9yYWdlLmhpZ2hsaWdodEl0ZW0oaXRlbSk7XG5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuICBvblN1Z2dlc3Rpb25Nb3VzZUxlYXZlKGl0ZW06IEFyZFNpbXBsZXN0U3RvcmFnZUl0ZW0sIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLl9pc01vdXNlQmVpbmdVc2VkKSByZXR1cm47XG4gICAgdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS51bmhpZ2hsaWdodEl0ZW0oaXRlbSk7XG5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIC8vISBzdWdnZXN0aW9uIHNlbGVjdGlvblxuICBzZWxlY3RTdWdnZXN0aW9uKGl0ZW06IEFyZFNpbXBsZXN0U3RvcmFnZUl0ZW0sIGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICB0aGlzLl9zZWxlY3RTdWdnZXN0aW9uKGl0ZW0pO1xuICB9XG4gIHByaXZhdGUgX3NlbGVjdFN1Z2dlc3Rpb24oaXRlbTogQXJkU2ltcGxlc3RTdG9yYWdlSXRlbSk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5zZWxlY3RJdGVtKGl0ZW0pO1xuICAgIHRoaXMud3JpdGVWYWx1ZShzZWxlY3RlZCA/PyAnJyk7XG5cbiAgICB0aGlzLmFjY2VwdFN1Z2dlc3Rpb25FdmVudC5lbWl0KHNlbGVjdGVkKTtcblxuICAgIC8vaW1wb3J0YW50IHRvIGRvIHRob3NlIHR3byB0aGluZ3MgaW4gdGhpcyBleGFjdCBvcmRlclxuICAgIHRoaXMuZm9jdXMoKTtcbiAgICB0aGlzLl9zdWdnZXN0aW9uRHJvcGRvd09wZW4uc2V0KGZhbHNlKTtcbiAgfVxuICBoYW5kbGVTdWdnZXN0aW9uQ2xpY2tPdXRzaWRlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNob3VsZERpc3BsYXlTdWdnZXN0aW9ucygpKSByZXR1cm47XG5cbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgaWYgKHRoaXMudmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkgcmV0dXJuO1xuXG4gICAgdGhpcy5fc3VnZ2VzdGlvbkRyb3Bkb3dPcGVuLnNldChmYWxzZSk7XG4gIH1cbiAgLy8hIHN1Z2dlc3Rpb24gYXBwZWFyYW5jZVxuICByZWFkb25seSBkcm9wZG93bkFwcGVhcmFuY2UgPSBpbnB1dDxOdWxsYWJsZTxEcm9wZG93blBhbmVsQXBwZWFyYW5jZT4+KHRoaXMuX0RFRkFVTFRTLmRyb3Bkb3duQXBwZWFyYW5jZSk7XG4gIHJlYWRvbmx5IGRyb3Bkb3duQXBwZWFyYW5jZU9yRGVmYXVsdCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5kcm9wZG93bkFwcGVhcmFuY2UoKSkgcmV0dXJuIHRoaXMuZHJvcGRvd25BcHBlYXJhbmNlKCkhO1xuICAgIGlmICh0aGlzLmFwcGVhcmFuY2UoKSA9PT0gRm9ybUVsZW1lbnRBcHBlYXJhbmNlLk91dGxpbmVkKSByZXR1cm4gRHJvcGRvd25QYW5lbEFwcGVhcmFuY2UuT3V0bGluZWQ7XG4gICAgcmV0dXJuIERyb3Bkb3duUGFuZWxBcHBlYXJhbmNlLlJhaXNlZDtcbiAgfSk7XG4gIHJlYWRvbmx5IGRyb3Bkb3duVmFyaWFudCA9IGlucHV0PE51bGxhYmxlPERyb3Bkb3duUGFuZWxWYXJpYW50Pj4odGhpcy5fREVGQVVMVFMuZHJvcGRvd25WYXJpYW50KTtcbiAgcmVhZG9ubHkgZHJvcGRvd25WYXJpYW50T3JEZWZhdWx0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLmRyb3Bkb3duVmFyaWFudCgpKSByZXR1cm4gdGhpcy5kcm9wZG93blZhcmlhbnQoKSE7XG4gICAgY29uc3QgdmFyaWFudCA9IHRoaXMudmFyaWFudCgpO1xuICAgIGlmICh2YXJpYW50ID09PSBGb3JtRWxlbWVudFZhcmlhbnQuUGlsbCkgcmV0dXJuIERyb3Bkb3duUGFuZWxWYXJpYW50LlJvdW5kZWQ7XG4gICAgcmV0dXJuIHZhcmlhbnQ7XG4gIH0pO1xuXG4gIC8vISBmb2N1cyBvdmVycmlkZVxuICBvdmVycmlkZSBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5fc3VnZ2VzdGlvbkRyb3Bkb3dPcGVuLnNldCh0cnVlKTtcbiAgICBpZiAoIXRoaXMuc3VnZ2VzdGlvblN0b3JhZ2UuaGlnaGxpZ2h0ZWRJdGVtKCkpIHRoaXMuc3VnZ2VzdGlvblN0b3JhZ2UuaGlnaGxpZ2h0Rmlyc3RJdGVtKCk7XG5cbiAgICBzdXBlci5vbkZvY3VzKGV2ZW50KTtcbiAgfVxuXG4gIC8vISBrZXkgcHJlc3MgaGFuZGxlcnNcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBzd2l0Y2ggKGV2ZW50LmNvZGUpIHtcbiAgICAgIGNhc2UgJ0VudGVyJzoge1xuICAgICAgICB0aGlzLl9vblRhYk9yRW50ZXJQcmVzcyhldmVudCk7XG4gICAgICAgIHRoaXMuX29uRW50ZXJQcmVzcyhldmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ1RhYic6IHtcbiAgICAgICAgdGhpcy5fb25UYWJPckVudGVyUHJlc3MoZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjYXNlICdBcnJvd0Rvd24nOiB7XG4gICAgICAgIHRoaXMuX29uQXJyb3dEb3duUHJlc3MoZXZlbnQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjYXNlICdBcnJvd1VwJzoge1xuICAgICAgICB0aGlzLl9vbkFycm93VXBQcmVzcyhldmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcHJvdGVjdGVkIF9vblRhYk9yRW50ZXJQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zaG91bGREaXNwbGF5QXV0b2NvbXBsZXRlKCkpIHJldHVybjtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5vbklucHV0KHRoaXMuYXV0b2NvbXBsZXRlKCkgPz8gJycpO1xuICAgIHRoaXMuYWNjZXB0QXV0b2NvbXBsZXRlRXZlbnQuZW1pdCgpO1xuICB9XG4gIHByaXZhdGUgX29uRW50ZXJQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zaG91bGREaXNwbGF5U3VnZ2VzdGlvbnMoKSkgcmV0dXJuO1xuICAgIGNvbnN0IGl0ZW0gPSB0aGlzLnN1Z2dlc3Rpb25TdG9yYWdlLmhpZ2hsaWdodGVkSXRlbSgpO1xuICAgIGlmICghaXRlbSkgcmV0dXJuO1xuXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLl9zZWxlY3RTdWdnZXN0aW9uKGl0ZW0pO1xuICB9XG4gIHByaXZhdGUgX29uQXJyb3dEb3duUHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkRGlzcGxheVN1Z2dlc3Rpb25zKCkpIHJldHVybjtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5faXNNb3VzZUJlaW5nVXNlZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5oaWdobGlnaHROZXh0SXRlbSgrMSk7XG4gIH1cbiAgcHJpdmF0ZSBfb25BcnJvd1VwUHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkRGlzcGxheVN1Z2dlc3Rpb25zKCkpIHJldHVybjtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgdGhpcy5faXNNb3VzZUJlaW5nVXNlZCA9IGZhbHNlO1xuXG4gICAgdGhpcy5zdWdnZXN0aW9uU3RvcmFnZS5oaWdobGlnaHROZXh0SXRlbSgtMSk7XG4gIH1cbn1cbiIsIjxhcmQtZm9ybS1maWVsZC1mcmFtZVxuICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICBbdmFyaWFudF09XCJ2YXJpYW50KClcIlxuICBbY29tcGFjdF09XCJjb21wYWN0KClcIlxuICBbaXNGb2N1c2VkXT1cImlzRm9jdXNlZFwiXG4gIFtwcmVmaXhUZW1wbGF0ZV09XCJwcmVmaXhUZW1wbGF0ZSgpPy50ZW1wbGF0ZVwiXG4gIFtzdWZmaXhUZW1wbGF0ZV09XCJzdWZmaXhUZW1wbGF0ZSgpPy50ZW1wbGF0ZVwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cImFyZC1pbnB1dFwiXG4gICAgI3N1Z2dlc3Rpb25zSG9zdFxuICAgIFtuZ0NsYXNzXT1cIm5nQ2xhc3NlcygpXCJcbiAgICBbY2xhc3MuYXJkLWhhcy12YWx1ZV09XCJ2YWx1ZVwiXG4gICAgKGNsaWNrKT1cImZvY3VzKClcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImFyZC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIEBpZiAoc2hvdWxkRGlzcGxheUF1dG9jb21wbGV0ZSgpKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcmQtYXV0b2NvbXBsZXRlXCI+e3sgYXV0b2NvbXBsZXRlKCkgfX08L2Rpdj5cbiAgICAgIH1cbiAgICAgIEBpZiAoc2hvdWxkRGlzcGxheVBsYWNlaG9sZGVyKCkpIHtcbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0UGxhY2Vob2xkZXJUZW1wbGF0ZT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLXBsYWNlaG9sZGVyXCI+e3sgcGxhY2Vob2xkZXIoKSB9fTwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJwbGFjZWhvbGRlclRlbXBsYXRlKCk/LnRlbXBsYXRlIHx8IGRlZmF1bHRQbGFjZWhvbGRlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgIH1cbiAgICAgIDxpbnB1dFxuICAgICAgICAjdGV4dElucHV0XG4gICAgICAgICNmb2N1c2FibGVFbGVtZW50XG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgW2F0dHIuaWRdPVwiaW5wdXRJZCgpXCJcbiAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXgoKVwiXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seSgpXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgICAgICAoaW5wdXQpPVwib25JbnB1dCh0ZXh0SW5wdXQudmFsdWUpXCJcbiAgICAgICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAgICAgKGNvcHkpPVwib25Db3B5KCRldmVudClcIlxuICAgICAgLz5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoc2hvdWxkU2hvd0NsZWFyQnV0dG9uKCkpIHtcbiAgICAgIDxhcmQtY2xlYXItYnV0dG9uXG4gICAgICAgIFt0aXRsZV09XCJjbGVhckJ1dHRvblRpdGxlKClcIlxuICAgICAgICAoY2xpY2spPVwib25DbGVhckJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgLz5cbiAgICB9XG4gIDwvZGl2PlxuPC9hcmQtZm9ybS1maWVsZC1mcmFtZT5cblxuPG5nLXRlbXBsYXRlICNzdWdnZXN0aW9uc1RlbXBsYXRlPlxuICA8YXJkLWRyb3Bkb3duLXBhbmVsXG4gICAgY2xhc3M9XCJhcmQtZHJvcGRvd24tcGFuZWwgYXJkLWlucHV0LXN1Z2dlc3Rpb25zLXBhbmVsXCJcbiAgICByb2xlPVwibGlzdGJveFwiXG4gICAgW2NvbXBhY3RdPVwiY29tcGFjdFwiXG4gICAgYXJpYS1sYWJlbD1cIlN1Z2dlc3Rpb25zXCJcbiAgICBbYXBwZWFyYW5jZV09XCJkcm9wZG93bkFwcGVhcmFuY2VPckRlZmF1bHQoKVwiXG4gICAgW3ZhcmlhbnRdPVwiZHJvcGRvd25WYXJpYW50T3JEZWZhdWx0KClcIlxuICAgIFtpc09wZW5dPVwic2hvdWxkRGlzcGxheVN1Z2dlc3Rpb25zKClcIlxuICAgIChhcmRDbGlja091dHNpZGUpPVwiaGFuZGxlU3VnZ2VzdGlvbkNsaWNrT3V0c2lkZSgkZXZlbnQpXCJcbiAgICAobW91c2Vtb3ZlKT1cIm9uTW91c2VNb3ZlKClcIlxuICA+XG4gICAgQGZvciAoaXRlbSBvZiBzdWdnZXN0aW9uSXRlbXMoKTsgdHJhY2sgaXRlbS5pbmRleCkge1xuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImFyZC1vcHRpb25cIlxuICAgICAgICByb2xlPVwib3B0aW9uXCJcbiAgICAgICAgW2NsYXNzLmFyZC1vcHRpb24tc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZCgpXCJcbiAgICAgICAgW2NsYXNzLmFyZC1vcHRpb24taGlnaGxpZ2h0ZWRdPVwiaXRlbS5oaWdobGlnaHRlZCgpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkKClcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0U3VnZ2VzdGlvbihpdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNlZW50ZXIpPVwib25TdWdnZXN0aW9uTW91c2VFbnRlcihpdGVtLCAkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNlbGVhdmUpPVwib25TdWdnZXN0aW9uTW91c2VMZWF2ZShpdGVtLCAkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhcmQtb3B0aW9uLWxhYmVsXCI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0T3B0aW9uVGVtcGxhdGU+XG4gICAgICAgICAgICB7eyBpdGVtLmxhYmVsKCkgfX1cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJzdWdnZXN0aW9uVGVtcGxhdGUoKT8udGVtcGxhdGUgfHwgZGVmYXVsdE9wdGlvblRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJnZXRPcHRpb25Db250ZXh0KGl0ZW0pXCJcbiAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoYXJlU3VnZ2VzdGlvbnNMb2FkaW5nKCkpIHtcbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdExvYWRpbmdQbGFjZWhvbGRlclRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXJkLW9wdGlvbiBhcmQtb3B0aW9uLWRpc2FibGVkXCI+e3sgc3VnZ2VzdGlvbnNMb2FkaW5nVGV4dCgpIH19PC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic3VnZ2VzdGlvbkxvYWRpbmdUZW1wbGF0ZSgpPy50ZW1wbGF0ZSB8fCBkZWZhdWx0TG9hZGluZ1BsYWNlaG9sZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgIH1cbiAgPC9hcmQtZHJvcGRvd24tcGFuZWw+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -5,6 +5,10 @@ const _inputDefaults = {
5
5
  suggValueFrom: 'value',
6
6
  suggLabelFrom: 'label',
7
7
  suggestionsLoadingText: 'Loading...',
8
+ charlist: undefined,
9
+ charlistCaseInsensitive: false,
10
+ dropdownAppearance: undefined,
11
+ dropdownVariant: undefined,
8
12
  };
9
13
  export const ARD_INPUT_DEFAULTS = new InjectionToken('ard-input-defaults', {
10
14
  factory: () => ({
@@ -14,4 +18,4 @@ export const ARD_INPUT_DEFAULTS = new InjectionToken('ard-input-defaults', {
14
18
  export function provideInputDefaults(config) {
15
19
  return { provide: ARD_INPUT_DEFAULTS, useValue: { ..._inputDefaults, ...config } };
16
20
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9pbnB1dC9pbnB1dC5kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBaUMsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVFyRyxNQUFNLGNBQWMsR0FBcUI7SUFDdkMsR0FBRyw2QkFBNkI7SUFDaEMsYUFBYSxFQUFFLE9BQU87SUFDdEIsYUFBYSxFQUFFLE9BQU87SUFDdEIsc0JBQXNCLEVBQUUsWUFBWTtDQUNyQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQW1CLG9CQUFvQixFQUFFO0lBQzNGLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ2QsR0FBRyxjQUFjO0tBQ2xCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsTUFBaUM7SUFDcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLGNBQWMsRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgX1NpbXBsZUlucHV0Q29tcG9uZW50RGVmYXVsdHMsIF9zaW1wbGVJbnB1dENvbXBvbmVudERlZmF1bHRzIH0gZnJvbSAnLi4vX3NpbXBsZS1pbnB1dC1iYXNlJztcblxuZXhwb3J0IGludGVyZmFjZSBBcmRJbnB1dERlZmF1bHRzIGV4dGVuZHMgX1NpbXBsZUlucHV0Q29tcG9uZW50RGVmYXVsdHMge1xuICBzdWdnVmFsdWVGcm9tOiBzdHJpbmc7XG4gIHN1Z2dMYWJlbEZyb206IHN0cmluZztcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nVGV4dDogc3RyaW5nO1xufVxuXG5jb25zdCBfaW5wdXREZWZhdWx0czogQXJkSW5wdXREZWZhdWx0cyA9IHtcbiAgLi4uX3NpbXBsZUlucHV0Q29tcG9uZW50RGVmYXVsdHMsXG4gIHN1Z2dWYWx1ZUZyb206ICd2YWx1ZScsXG4gIHN1Z2dMYWJlbEZyb206ICdsYWJlbCcsXG4gIHN1Z2dlc3Rpb25zTG9hZGluZ1RleHQ6ICdMb2FkaW5nLi4uJyxcbn07XG5cbmV4cG9ydCBjb25zdCBBUkRfSU5QVVRfREVGQVVMVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXJkSW5wdXREZWZhdWx0cz4oJ2FyZC1pbnB1dC1kZWZhdWx0cycsIHtcbiAgZmFjdG9yeTogKCkgPT4gKHtcbiAgICAuLi5faW5wdXREZWZhdWx0cyxcbiAgfSksXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVJbnB1dERlZmF1bHRzKGNvbmZpZzogUGFydGlhbDxBcmRJbnB1dERlZmF1bHRzPik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHsgcHJvdmlkZTogQVJEX0lOUFVUX0RFRkFVTFRTLCB1c2VWYWx1ZTogeyAuLi5faW5wdXREZWZhdWx0cywgLi4uY29uZmlnIH0gfTtcbn1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lucHV0cy9pbnB1dC9pbnB1dC5kZWZhdWx0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBaUMsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVlyRyxNQUFNLGNBQWMsR0FBcUI7SUFDdkMsR0FBRyw2QkFBNkI7SUFDaEMsYUFBYSxFQUFFLE9BQU87SUFDdEIsYUFBYSxFQUFFLE9BQU87SUFDdEIsc0JBQXNCLEVBQUUsWUFBWTtJQUNwQyxRQUFRLEVBQUUsU0FBUztJQUNuQix1QkFBdUIsRUFBRSxLQUFLO0lBQzlCLGtCQUFrQixFQUFFLFNBQVM7SUFDN0IsZUFBZSxFQUFFLFNBQVM7Q0FDM0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUFtQixvQkFBb0IsRUFBRTtJQUMzRixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNkLEdBQUcsY0FBYztLQUNsQixDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQWlDO0lBQ3BFLE9BQU8sRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBRyxjQUFjLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDO0FBQ3JGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyb3Bkb3duUGFuZWxBcHBlYXJhbmNlLCBEcm9wZG93blBhbmVsVmFyaWFudCB9IGZyb20gJy4uLy4uL2Ryb3Bkb3duLXBhbmVsL2Ryb3Bkb3duLXBhbmVsLnR5cGVzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnLi4vLi4vdHlwZXMvdXRpbGl0eS50eXBlcyc7XG5pbXBvcnQgeyBfU2ltcGxlSW5wdXRDb21wb25lbnREZWZhdWx0cywgX3NpbXBsZUlucHV0Q29tcG9uZW50RGVmYXVsdHMgfSBmcm9tICcuLi9fc2ltcGxlLWlucHV0LWJhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFyZElucHV0RGVmYXVsdHMgZXh0ZW5kcyBfU2ltcGxlSW5wdXRDb21wb25lbnREZWZhdWx0cyB7XG4gIHN1Z2dWYWx1ZUZyb206IHN0cmluZztcbiAgc3VnZ0xhYmVsRnJvbTogc3RyaW5nO1xuICBzdWdnZXN0aW9uc0xvYWRpbmdUZXh0OiBzdHJpbmc7XG4gIGNoYXJsaXN0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGNoYXJsaXN0Q2FzZUluc2Vuc2l0aXZlOiBib29sZWFuO1xuICBkcm9wZG93bkFwcGVhcmFuY2U6IE51bGxhYmxlPERyb3Bkb3duUGFuZWxBcHBlYXJhbmNlPjtcbiAgZHJvcGRvd25WYXJpYW50OiBOdWxsYWJsZTxEcm9wZG93blBhbmVsVmFyaWFudD47XG59XG5cbmNvbnN0IF9pbnB1dERlZmF1bHRzOiBBcmRJbnB1dERlZmF1bHRzID0ge1xuICAuLi5fc2ltcGxlSW5wdXRDb21wb25lbnREZWZhdWx0cyxcbiAgc3VnZ1ZhbHVlRnJvbTogJ3ZhbHVlJyxcbiAgc3VnZ0xhYmVsRnJvbTogJ2xhYmVsJyxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nVGV4dDogJ0xvYWRpbmcuLi4nLFxuICBjaGFybGlzdDogdW5kZWZpbmVkLFxuICBjaGFybGlzdENhc2VJbnNlbnNpdGl2ZTogZmFsc2UsXG4gIGRyb3Bkb3duQXBwZWFyYW5jZTogdW5kZWZpbmVkLFxuICBkcm9wZG93blZhcmlhbnQ6IHVuZGVmaW5lZCxcbn07XG5cbmV4cG9ydCBjb25zdCBBUkRfSU5QVVRfREVGQVVMVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXJkSW5wdXREZWZhdWx0cz4oJ2FyZC1pbnB1dC1kZWZhdWx0cycsIHtcbiAgZmFjdG9yeTogKCkgPT4gKHtcbiAgICAuLi5faW5wdXREZWZhdWx0cyxcbiAgfSksXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVJbnB1dERlZmF1bHRzKGNvbmZpZzogUGFydGlhbDxBcmRJbnB1dERlZmF1bHRzPik6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHsgcHJvdmlkZTogQVJEX0lOUFVUX0RFRkFVTFRTLCB1c2VWYWx1ZTogeyAuLi5faW5wdXREZWZhdWx0cywgLi4uY29uZmlnIH0gfTtcbn1cbiJdfQ==
@@ -1485,6 +1485,10 @@ const _inputDefaults = {
1485
1485
  suggValueFrom: 'value',
1486
1486
  suggLabelFrom: 'label',
1487
1487
  suggestionsLoadingText: 'Loading...',
1488
+ charlist: undefined,
1489
+ charlistCaseInsensitive: false,
1490
+ dropdownAppearance: undefined,
1491
+ dropdownVariant: undefined,
1488
1492
  };
1489
1493
  const ARD_INPUT_DEFAULTS = new InjectionToken('ard-input-defaults', {
1490
1494
  factory: () => ({
@@ -1561,7 +1565,9 @@ class ArdiumInputComponent extends _SimpleInputComponentBase {
1561
1565
  this.inputModel = new InputModel(this);
1562
1566
  //! allowlist/denylist of characters
1563
1567
  //use standard string for denylist, prepend with ^ for allowlist
1564
- this.charlistFromInput = input(undefined, {
1568
+ this.charlistFromInput = input(this._DEFAULTS.charlist
1569
+ ? escapeAndCreateRegex(this._DEFAULTS.charlist, '', this._DEFAULTS.charlist.startsWith('^'))
1570
+ : undefined, {
1565
1571
  alias: 'charlist',
1566
1572
  transform: v => {
1567
1573
  if (!isString(v)) {
@@ -1571,7 +1577,9 @@ class ArdiumInputComponent extends _SimpleInputComponentBase {
1571
1577
  return escapeAndCreateRegex(v, '', !negated);
1572
1578
  },
1573
1579
  });
1574
- this.charlistCaseInsensitive = input(false, { transform: v => coerceBooleanProperty(v) });
1580
+ this.charlistCaseInsensitive = input(this._DEFAULTS.charlistCaseInsensitive, {
1581
+ transform: v => coerceBooleanProperty(v),
1582
+ });
1575
1583
  this.charlist = computed(() => {
1576
1584
  const c = this.charlistFromInput();
1577
1585
  if (!this.charlistCaseInsensitive() || !c) {
@@ -1591,14 +1599,14 @@ class ArdiumInputComponent extends _SimpleInputComponentBase {
1591
1599
  this.placeholderTemplate = contentChild(ArdInputPlaceholderTemplateDirective);
1592
1600
  //! suggestions
1593
1601
  this.suggestionStorage = new SimplestItemStorage(this);
1594
- this.valueFrom = input(undefined, { alias: 'suggValueFrom' });
1595
- this.labelFrom = input(undefined, { alias: 'suggLabelFrom' });
1602
+ this.valueFrom = input(this._DEFAULTS.suggLabelFrom, { alias: 'suggValueFrom' });
1603
+ this.labelFrom = input(this._DEFAULTS.suggLabelFrom, { alias: 'suggLabelFrom' });
1596
1604
  this.acceptSuggestionEvent = output({ alias: 'acceptSuggestion' });
1597
1605
  this.suggestionItems = this.suggestionStorage.items;
1598
1606
  this._suggestionDropdowOpen = signal(false);
1599
1607
  this.shouldDisplaySuggestions = computed(() => !this.disabled() && (this.suggestionItems().length > 0 || this.areSuggestionsLoading()) && this._suggestionDropdowOpen());
1600
1608
  this.areSuggestionsLoading = input(false, { transform: v => coerceBooleanProperty(v) });
1601
- this.suggestionsLoadingText = input(this.DEFAULTS.suggestionsLoadingText);
1609
+ this.suggestionsLoadingText = input(this._DEFAULTS.suggestionsLoadingText);
1602
1610
  this.suggestionTemplate = contentChild(ArdInputSuggestionTemplateDirective);
1603
1611
  this.suggestionLoadingTemplate = contentChild(ArdInputLoadingTemplateDirective);
1604
1612
  //! suggestions overlay
@@ -1607,7 +1615,7 @@ class ArdiumInputComponent extends _SimpleInputComponentBase {
1607
1615
  //! suggestion-highligh-related
1608
1616
  this._isMouseBeingUsed = false;
1609
1617
  //! suggestion appearance
1610
- this.dropdownAppearance = input(undefined);
1618
+ this.dropdownAppearance = input(this._DEFAULTS.dropdownAppearance);
1611
1619
  this.dropdownAppearanceOrDefault = computed(() => {
1612
1620
  if (this.dropdownAppearance())
1613
1621
  return this.dropdownAppearance();
@@ -1615,7 +1623,7 @@ class ArdiumInputComponent extends _SimpleInputComponentBase {
1615
1623
  return DropdownPanelAppearance.Outlined;
1616
1624
  return DropdownPanelAppearance.Raised;
1617
1625
  });
1618
- this.dropdownVariant = input(undefined);
1626
+ this.dropdownVariant = input(this._DEFAULTS.dropdownVariant);
1619
1627
  this.dropdownVariantOrDefault = computed(() => {
1620
1628
  if (this.dropdownVariant())
1621
1629
  return this.dropdownVariant();