@testgorilla/tgo-ui 2.26.8 → 2.26.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,9 +1,9 @@
1
1
  import { AfterViewInit, ElementRef, EventEmitter, OnInit, SimpleChanges } from '@angular/core';
2
- import { IconName } from '../icon/icon.model';
3
- import { ButtonBadgeConfig, ButtonColor, ButtonIconPosition, ButtonSize, ButtonState, ButtonType, IconButtonSize, LinkUrlTarget } from './button.model';
4
2
  import { MatButton } from '@angular/material/button';
5
- import { ApplicationTheme } from '../../models/application-theme.model';
6
3
  import { TooltipPosition } from '@angular/material/tooltip';
4
+ import { ApplicationTheme } from '../../models/application-theme.model';
5
+ import { IconName } from '../icon/icon.model';
6
+ import { ButtonBadgeConfig, ButtonColor, ButtonIconPosition, ButtonSize, ButtonState, ButtonType, IconButtonSize, LinkUrlTarget } from './button.model';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class ButtonComponent implements OnInit, AfterViewInit {
9
9
  private readonly defaultAppTheme;
@@ -244,13 +244,13 @@ export class ButtonComponent {
244
244
  this.buttonHoverEvent.emit(event);
245
245
  this.buttonState = 'hover';
246
246
  if (this.shouldChangeFilledStatus && this.icon) {
247
- this.icon = this.getIconName(this.icon, '-filled');
247
+ this.icon = this.getIconName(this.iconName, '-filled');
248
248
  }
249
249
  }
250
250
  else {
251
251
  this.hover = false;
252
252
  if (this.shouldChangeFilledStatus && this.icon) {
253
- this.icon = this.getIconName(this.icon, '-in-line');
253
+ this.icon = this.iconName;
254
254
  }
255
255
  this.buttonState = 'default';
256
256
  }
@@ -442,4 +442,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
442
442
  type: HostBinding,
443
443
  args: ['style.--color']
444
444
  }] } });
445
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFZdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7O0FBVTdELE1BQU0sT0FBTyxlQUFlO0lBQzFCLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDeEMsQ0FBQztJQTJORCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBZUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsWUFDNkUsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBbFA5Rzs7Ozs7V0FLRztRQUNNLFNBQUksR0FBZSxLQUFLLENBQUM7UUFDbEM7Ozs7O1dBS0c7UUFHSCxZQUFPLEdBQWdCLFNBQVMsQ0FBQztRQUVqQzs7OztX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QkFBZixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBU0csSUFBSTtzQkFBWixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBU0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQVdOLGdCQUFnQjtzQkFGZixXQUFXO3VCQUFDLFlBQVk7O3NCQUN4QixLQUFLO2dCQVVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQVFHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBU0csY0FBYztzQkFBdEIsS0FBSztnQkFRRyxlQUFlO3NCQUF2QixLQUFLO2dCQU9rQyxjQUFjO3NCQUFyRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU9FLGFBQWE7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUTdCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFFd0MsYUFBYTtzQkFBM0QsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQVF6QyxTQUFTO3NCQURaLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEBhbmd1bGFyLWVzbGludC91c2UtbGlmZWN5Y2xlLWludGVyZmFjZSAqL1xuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2RlbCc7XG5pbXBvcnQge1xuICBCdXR0b25CYWRnZUNvbmZpZyxcbiAgQnV0dG9uQ29sb3IsXG4gIEJ1dHRvbkljb25Qb3NpdGlvbixcbiAgQnV0dG9uU2l6ZSxcbiAgQnV0dG9uU3RhdGUsXG4gIEJ1dHRvblR5cGUsXG4gIEljb25CdXR0b25TaXplLFxuICBMaW5rVXJsVGFyZ2V0XG59IGZyb20gJy4vYnV0dG9uLm1vZGVsJztcbmltcG9ydCB7IGFkanVzdExpZ2h0bmVzcyB9IGZyb20gJy4uLy4uL3V0aWxzL2NvbG9yLWNvbnRyYXN0JztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBBcHBsaWNhdGlvblRoZW1lIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcGxpY2F0aW9uLXRoZW1lLm1vZGVsJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd1aS1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wb2ludGVyLWV2ZW50cycpXG4gIGdldCBlbmFibGVkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAnbm9uZScgOiAnYWxsJztcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3Rvb2x0aXBFbGVtZW50JykgdG9vbHRpcEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIC8qKlxuICAgKiBEZWZpbmUgYnV0dG9uIGhlaWdodFxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uU2l6ZX1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgc2l6ZTogQnV0dG9uU2l6ZSA9ICdiaWcnO1xuICAvKipcbiAgICogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIHdoaWxlIGluIGFjdGl2ZSBzdGF0ZVxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uQ29sb3J9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci5idG4tdmFyaWFudCcpXG4gIEBJbnB1dCgpXG4gIHZhcmlhbnQ6IEJ1dHRvbkNvbG9yID0gJ3ByaW1hcnknO1xuXG4gIC8qKlxuICAgKiBUZXh0IGNvbnRlbnQgdG8gYXBwZWFyIG9uIHRoZSBidXR0b25cbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbGFiZWwgPSAnJztcblxuICAvKipcbiAgICogUG9zaXRpb25pbmcgb2YgdGhlIGljb24gKHdoZW4gZXhpc3RhbnQpXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25JY29uUG9zaXRpb259XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbj86IEJ1dHRvbkljb25Qb3NpdGlvbiA9ICdyaWdodCc7XG5cbiAgLyoqXG4gICAqIERlZmluZSBpZiBidXR0b24gaGFzIG9ubHkgaWNvbiB3aXRob3V0IHRleHRcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkganVzdEljb24gPSBmYWxzZTtcblxuICAvKipcbiAgICogTmFtZSBvZiB1aS1pY29uXG4gICAqXG4gICAqIEB0eXBlIHtJY29uTmFtZX1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaWNvbk5hbWU6IEljb25OYW1lID0gJyc7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBpZiB0aGUgYnV0dG9uIHNob3VsZCBiZSBkaXNhYmxlZFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3IgaWYgdGhlIGxvYWRpbmcgaWNvbiBzaG91bGQgYmUgc2hvd25cbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0b3Igb2YgdGhlIGJ1dHRvbiB3aWR0aFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICAvKipcbiAgICogVXJsIG9mIGJ1dHRvbiBpZiBpdCBpcyBhIGxpbmtcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVcmwncyB0YXJnZXQgb2YgYnV0dG9uIGlmIGl0IGlzIGEgbGlua1xuICAgKlxuICAgKiBAdHlwZSB7QHR5cGUge0xpbmtVcmxUYXJnZXR9fVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB1cmxUYXJnZXQ/OiBMaW5rVXJsVGFyZ2V0O1xuXG4gIC8qKlxuICAgKiBCdXR0b24gdmFsdWVcbiAgICpcbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSB0b29sdGlwXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgdG9vbHRpcCB0aGF0IGlzIGRpc3BsYXllZCBvbiBob3Zlci4gUmVxdWlyZWQgZm9yIGljb24tYnV0dG9uIHR5cGVcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdG9vbHRpcCA9ICcnO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgaXNQcmVtaXVtXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgaWNvbiB0aGF0IGlzIGRpc3BsYXllZCBmb3IgUHJlbWl1bSBidXR0b25cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGlzUHJlbWl1bSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgYnV0dG9uLlxuICAgKlxuICAgKiBAdHlwZSB7QnV0dG9uVHlwZX1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKiBAZGVmYXVsdCAnYnV0dG9uJ1xuICAgKi9cbiAgQElucHV0KCkgdHlwZTogQnV0dG9uVHlwZSA9ICdidXR0b24nO1xuXG4gIC8qKlxuICAgKiBDb2xvciBvZiB0aGUgYnV0dG9uLlxuICAgKiBEZWZhdWx0cyB0byBUZXN0IEdvcmlsbGEgcHJpbWFyeSBjb2xvci5cbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgY29tcGFueUNvbG9yOiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgLyoqXG4gICAqIENvbmZpZyBmb3IgdGhlIGJ1dHRvbiBiYWRnZSB2YXJpYXRpb25cbiAgICogQHR5cGUge0J1dHRvbkJhZGdlQ29uZmlnfVxuICAgKiBAcHJvcGVydHkgYmFkZ2VUeXBlIFR5cGUgb2YgYmFkZ2Ugb24gdGhlIGJ1dHRvblxuICAgKiBAcHJvcGVydHkgYmFkZ2VMYWJlbCBMYWJlbCB0ZXh0IGZvciB0aGUgYmFkZ2VcbiAgICogQHByb3BlcnR5IGJhZGdlTm90aWZpY2F0aW9uQW1vdW50IFRoZSBhbW91bnQgZm9yIG5vdGlmaWNhdGlvbiBpbiB0aGUgYmFkZ2VcbiAgICovXG4gIEBJbnB1dCgpIGJ1dHRvbkJhZGdlQ29uZmlnOiBCdXR0b25CYWRnZUNvbmZpZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICpcbiAgICogRGVmaW5lcyB0aGUgYXBwbGljYXRpb24gdGhlbWUgd2hlcmUgYnV0dG9ucyBpcyB1c2VkXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGhlbWUnKVxuICBASW5wdXQoKVxuICBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICAvKipcbiAgICpcbiAgICogRGlzYWJsZWQgYnV0dG9uIHNjYWxlIG9uIGNsaWNrXG4gICAqXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZFNjYWxlT25DbGljayA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgbGFiZWwgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgbGFiZWwgaXMgdXNlZCB0byBwcm92aWRlIGFuIGFjY2Vzc2libGUgbmFtZSBmb3IgdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYVJlcXVpcmVkID0gZmFsc2U7XG5cblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gc3VibWlzc2lvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsbGVkYnkgPSAnJztcblxuICAvKipcbiAgICogQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBBUklBIHJlcXVpcmVtZW50IGZvciBhY2Nlc3NpYmlsaXR5LlxuICAgKiBUaGlzIGF0dHJpYnV0ZSBpcyB1c2VkIHRvIGluZGljYXRlIHdoZXRoZXIgYW4gaW5wdXQgZmllbGQgaXMgcmVxdWlyZWQgZm9yIGZvcm0gc3VibWlzc2lvbi5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYURlc2NyaWJlZGJ5ID0gJyc7XG5cbiAgLyoqXG4gICAqIFByZXZlbnRzIGRlZmF1bHQgYnV0dG9uIGNsaWNrIGJlaGF2aW9yXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgcHJldmVudERlZmF1bHQgPSBmYWxzZTtcblxuICAvKipcbiAgICogR2hvc3QgdmFyaWFudCB3aXRoIHdoaXRlIGJhY2tncm91bmRcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNCYWNrZ3JvdW5kID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNldHMgdG9vbHRpcCBwb3NpdGlvblxuICAgKlxuICAgKiBAdHlwZSB7VG9vbHRpcFBvc2l0aW9ufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwUG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9ICdiZWxvdyc7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKSBidXR0b25Ib3ZlckV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBAVmlld0NoaWxkKCdidXR0b25FbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIGJ1dHRvbkVsZW1lbnQ6IE1hdEJ1dHRvbjtcblxuXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWNvbG9yJylcbiAgZ2V0IGNvbXBDb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDb21wYW55Q29sb3I7XG4gIH1cblxuICBjbGFzc0Nzczogc3RyaW5nO1xuICBzdHlsZUNzczogYW55O1xuICBpc0J1dHRvbkxpbms6IGJvb2xlYW47XG4gIGlzTGFiZWw6IGJvb2xlYW47XG4gIGJ1dHRvblN0YXRlOiBCdXR0b25TdGF0ZTtcbiAgaG92ZXIgPSBmYWxzZTtcbiAgaWNvbkJ1dHRvblNpemU6IEljb25CdXR0b25TaXplID0gJzQwJztcbiAgYWxsb3dCdXR0b25UeXBlRm9yUHJlbWl1bTogQnV0dG9uQ29sb3JbXSA9IFsnc2Vjb25kYXJ5JywgJ3ByaW1hcnknLCAnZ2hvc3QnLCAnb3V0bGluZWQnLCAnZGVzdHJ1Y3RpdmUnXTtcbiAgaXNGaWxsZWRJY29uOiBib29sZWFuO1xuICBjb2xvcmVkSWNvbnMgPSBbJ0dvb2dsZS1pbi1saW5lJywgJ0dvb2dsZScsICdHb29nbGUtZmlsbGVkJ107XG4gIGxhYmVsRWxsaXBzaXMgPSBmYWxzZTtcbiAgaWNvbjogSWNvbk5hbWUgPSAnJztcblxuICBnZXQgdHlwZUluY2x1ZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmFsbG93QnV0dG9uVHlwZUZvclByZW1pdW0uaW5jbHVkZXModGhpcy52YXJpYW50KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoJ0NBTk9QWVVJX0RFRkFVTFRfQVBQTElDQVRJT05fVEhFTUUnKSBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRBcHBUaGVtZTogQXBwbGljYXRpb25UaGVtZSxcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xhc3NDc3MgPSB0aGlzLnNldENzc0NsYXNzKCk7XG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB0aGlzLmlzQnV0dG9uTGluayA9IHRoaXMuc2hvd0J1dHRvbkxpbmsoKTtcbiAgICB0aGlzLmlzTGFiZWwgPSB0aGlzLnNob3dMYWJlbCgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydkaXNhYmxlZCddKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ2RlZmF1bHQnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYXBwbGljYXRpb25UaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3R5cGUnXSkge1xuICAgICAgdGhpcy5pc0J1dHRvbkxpbmsgPSB0aGlzLnNob3dCdXR0b25MaW5rKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydsb2FkaW5nJ10pIHtcbiAgICAgIHRoaXMuaXNMYWJlbCA9IHRoaXMuc2hvd0xhYmVsKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydpY29uTmFtZSddKSB7XG4gICAgICB0aGlzLmljb24gPSBjaGFuZ2VzWydpY29uTmFtZSddLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgY2hhbmdlc1sndHlwZSddIHx8XG4gICAgICBjaGFuZ2VzWydmdWxsV2lkdGgnXSB8fFxuICAgICAgY2hhbmdlc1snaWNvbk5hbWUnXSB8fFxuICAgICAgY2hhbmdlc1snanVzdEljb24nXSB8fFxuICAgICAgY2hhbmdlc1snaWNvblBvc2l0aW9uJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2Rpc2FibGVkJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2NvbXBhbnlDb2xvciddIHx8XG4gICAgICBjaGFuZ2VzWydhcHBsaWNhdGlvblRoZW1lJ11cbiAgICApIHtcbiAgICAgIHRoaXMuY2xhc3NDc3MgPSB0aGlzLnNldENzc0NsYXNzKCk7XG4gICAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1sndmFyaWFudCddPy5jdXJyZW50VmFsdWUgPT09ICdpY29uLWJ1dHRvbicgfHwgKGNoYW5nZXNbJ3ZhcmlhbnQnXT8uY3VycmVudFZhbHVlID09PSAnbWVudVRyaWdnZXInICYmIHRoaXMuYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnKSkge1xuICAgICAgdGhpcy5pY29uQnV0dG9uU2l6ZSA9IHRoaXMuc2V0SWNvbkJ1dHRvblNpemUoKTtcbiAgICB9XG5cbiAgICB0aGlzLmlzRmlsbGVkSWNvbiA9IHRoaXMuYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnICYmICh0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdzZWNvbmRhcnknKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnRvb2x0aXBFbGVtZW50Lm5hdGl2ZUVsZW1lbnQub25jbGljayA9IGV2ID0+IHtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9O1xuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdpY29uLWJ1dHRvbicgJiYgIXRoaXMudG9vbHRpcCkge1xuICAgICAgY29uc29sZS53YXJuKCd1aS1idXR0b24gQnV0dG9uQ29tcG9uZW50XFxuICAgIFt0b29sdGlwXSBpcyByZXF1aXJlZCBmb3IgW3R5cGVdIGljb24tYnV0dG9uIScpO1xuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYW50ID09PSAnZGVzdHJ1Y3RpdmUnICYmICF0aGlzLmljb24gJiYgIXRoaXMubG9hZGluZyAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJykge1xuICAgICAgY29uc29sZS53YXJuKCd1aS1idXR0b24gQnV0dG9uQ29tcG9uZW50XFxuICBbaWNvbl0gaXMgcmVxdWlyZWQgZm9yIFt0eXBlXSBkZXN0cnVjdGl2ZScpO1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZXZlbnREZWZhdWx0KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICAgIHRoaXMuYnV0dG9uQ2xpY2tFdmVudC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIGJ1dHRvbkhvdmVyKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC50eXBlID09PSAnbW91c2VlbnRlcicpIHtcbiAgICAgIHRoaXMuaG92ZXIgPSB0cnVlO1xuICAgICAgdGhpcy5idXR0b25Ib3ZlckV2ZW50LmVtaXQoZXZlbnQpO1xuICAgICAgdGhpcy5idXR0b25TdGF0ZSA9ICdob3Zlcic7XG4gICAgICBpZiAodGhpcy5zaG91bGRDaGFuZ2VGaWxsZWRTdGF0dXMgJiYgdGhpcy5pY29uKSB7XG4gICAgICAgIHRoaXMuaWNvbiA9IHRoaXMuZ2V0SWNvbk5hbWUodGhpcy5pY29uLCAnLWZpbGxlZCcpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvdmVyID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5zaG91bGRDaGFuZ2VGaWxsZWRTdGF0dXMgJiYgdGhpcy5pY29uKSB7XG4gICAgICAgIHRoaXMuaWNvbiA9IHRoaXMuZ2V0SWNvbk5hbWUodGhpcy5pY29uLCAnLWluLWxpbmUnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgfVxuXG4gIC8vU2hvdyBvciBoaWRlIGxhYmVsXG4gIHNob3dMYWJlbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMubG9hZGluZztcbiAgfVxuXG4gIC8vU2V0IGNzcyBjbGFzcyBhY2NvcmRpbmcgaW5wdXRzXG4gIHNldENzc0NsYXNzKCk6IHN0cmluZyB7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmZ1bGxXaWR0aCA/ICdmdWxsLXdpZHRoJyA6ICcnO1xuICAgIGNvbnN0IGhhc0ljb24gPSB0aGlzLmljb25OYW1lID09PSBudWxsID8gJycgOiAnaWNvbic7XG4gICAgY29uc3QganVzdEljb24gPSB0aGlzLmp1c3RJY29uIHx8IHRoaXMudmFyaWFudCA9PT0gJ2ljb24tYnV0dG9uJyA/ICdvbmx5LWljb24nIDogJyc7XG4gICAgY29uc3QgaWNvblBvc2l0aW9uID0gdGhpcy5pY29uUG9zaXRpb24gPT09IHVuZGVmaW5lZCA/ICcnIDogdGhpcy5pY29uUG9zaXRpb247XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkICYmIHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknID8gJ3ByaW1hcnktZGlzYWJsZWQnIDogJyc7XG4gICAgY29uc3QgdmFyaWFudCA9IHRoaXMudmFyaWFudCA9PT0gJ2dob3N0JyAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICdvdXRsaW5lZCcgOiB0aGlzLnZhcmlhbnQ7XG4gICAgY29uc3QgY29tcGFueUNvbG9yID0gdGhpcy5jb21wYW55Q29sb3IgPyAnaGFzLWNvbXBhbnktY29sb3InIDogJyc7XG4gICAgcmV0dXJuIGAke3RoaXMuc2l6ZX0gJHtpY29uUG9zaXRpb259ICR7dmFyaWFudH0gJHt3aWR0aH0gJHtoYXNJY29ufSAke2p1c3RJY29ufSAke2Rpc2FibGVkfSAke2NvbXBhbnlDb2xvcn0gJHt0aGlzLmFwcGxpY2F0aW9uVGhlbWV9LXRoZW1lYDtcbiAgfVxuXG4gIHNldENzc1N0eWxlKCk6IGFueSB7XG4gICAgdGhpcy5idXR0b25TdGF0ZSA9IHRoaXMuZGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogdGhpcy5idXR0b25TdGF0ZTtcbiAgICBjb25zdCBzdHlsZU9iajogYW55ID0ge307XG5cbiAgICBpZiAoKHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RleHQnKSAmJiB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiAodGhpcy5idXR0b25TdGF0ZSA9PT0gJ2hvdmVyJyB8fCB0aGlzLmJ1dHRvblN0YXRlID09PSAncHJlc3NlZCcpKSB7XG4gICAgICBzdHlsZU9ialt0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyA/ICdiYWNrZ3JvdW5kLWNvbG9yJyA6ICdjb2xvciddID0gYWRqdXN0TGlnaHRuZXNzKHRoaXMuZ2V0Q29tcGFueUNvbG9yLCB0aGlzLmJ1dHRvblN0YXRlKTtcbiAgICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICd0ZXh0Jykge1xuICAgICAgICBzdHlsZU9ialsnLS1hY3RpdmUtY29sb3InXSA9IHRoaXMuY29tcGFueUNvbG9yID8gYWRqdXN0TGlnaHRuZXNzKHRoaXMuZ2V0Q29tcGFueUNvbG9yLCB0aGlzLmJ1dHRvblN0YXRlKSA6ICcjNjY2NjY2JztcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCh0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICd0ZXh0JykgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgJiYgdGhpcy5idXR0b25TdGF0ZSAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICBzdHlsZU9ialt0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyA/ICdiYWNrZ3JvdW5kLWNvbG9yJyA6ICdjb2xvciddID0gYWRqdXN0TGlnaHRuZXNzKHRoaXMuZ2V0Q29tcGFueUNvbG9yLCB0aGlzLmJ1dHRvblN0YXRlLCAnY2xhc3NpYycpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5nZXRDb21wYW55Q29sb3IgJiYgKHRoaXMudmFyaWFudCA9PT0gJ2xpbmsnIHx8IHRoaXMudmFyaWFudCA9PT0gJ3RlcnRpYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdpY29uLWJ1dHRvbicpKSB7XG4gICAgICBzdHlsZU9ialsnY29sb3InXSA9IHRoaXMuZ2V0Q29tcGFueUNvbG9yO1xuICAgIH0gZWxzZSBpZiAodGhpcy5oYXNCYWNrZ3JvdW5kKSB7XG4gICAgICBzdHlsZU9ialsnLS1naG9zdC1iYWNrZ3JvdW5kJ10gPSAnI2ZmZmZmZic7XG4gICAgfVxuICAgIHJldHVybiBzdHlsZU9iajtcbiAgfVxuXG4gIC8vU2hvdyBvciBoaWRlIHNwaW5uZXJcbiAgZ2V0IHNob3dTcGlubmVyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzTm90VGFiID0gdGhpcy52YXJpYW50ICE9PSAndGFiJztcbiAgICBjb25zdCBpc05vdExpbmsgPSB0aGlzLnZhcmlhbnQgIT09ICdsaW5rJztcbiAgICBjb25zdCBpc0xvYWRpbmcgPSB0aGlzLmxvYWRpbmcgPT09IHRydWU7XG4gICAgcmV0dXJuIGlzTG9hZGluZyAmJiBpc05vdFRhYiAmJiBpc05vdExpbms7XG4gIH1cblxuICAvL1Nob3cgYnV0dG9uIHdpdGggPGJ1dHRvbj4gb3IgPGE+IHRhZ1xuICBzaG93QnV0dG9uTGluaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYW50ICE9PSAnbGluayc7XG4gIH1cblxuICBzZXRJY29uQnV0dG9uU2l6ZSgpOiBJY29uQnV0dG9uU2l6ZSB7XG4gICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2JpZycgPyAnNDAnIDogdGhpcy5zaXplID09PSAnc21hbGwnID8gJzI0JyA6ICczMic7XG4gIH1cblxuICBvblByZXNzZWQoZXY6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2LnR5cGUgPT09ICdtb3VzZWRvd24nKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ3ByZXNzZWQnO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gdGhpcy5ob3ZlciA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgfVxuXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuYnV0dG9uRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgZ2V0IGdldENvbXBhbnlDb2xvcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbXBhbnlDb2xvciB8fCAodGhpcy52YXJpYW50ID09PSAndGV4dCcgPyB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPT09ICdkYXJrJyA/ICcjZmZmZmZmJyA6ICcjMjQyNDI0JyA6ICh0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPT09ICdjbGFzc2ljJyA/ICcjNDZBOTk3JyA6ICcjRDQxMEFBJykpO1xuICB9XG5cbiAgZ2V0IHNob3VsZENoYW5nZUZpbGxlZFN0YXR1cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgdGhpcy52YXJpYW50ICE9PSAncHJpbWFyeScgJiYgdGhpcy52YXJpYW50ICE9PSAnc2Vjb25kYXJ5JyAmJiAhdGhpcy5jb2xvcmVkSWNvbnMuaW5jbHVkZXModGhpcy5pY29uKTtcbiAgfVxuXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgIHRhcmdldC5jbGljaygpO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAncHJlc3NlZCc7XG4gICAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gdGhpcy5ob3ZlciA/ICdob3ZlcicgOiAnZGVmYXVsdCc7XG4gICAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICAgIH1cbiAgfVxuXG4gIG9uTGFiZWxFbGxpcHNpc0NoYW5nZShzdGF0ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMubGFiZWxFbGxpcHNpcyA9IHN0YXRlO1xuICB9XG5cbiAgZ2V0SWNvbk5hbWUoaWNvbk5hbWU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBzdHJpbmcpOiBJY29uTmFtZSB7XG4gICAgaWYgKGljb25OYW1lLmluY2x1ZGVzKCdmaWxsZWQnKSkge1xuICAgICAgcmV0dXJuIGljb25OYW1lLnJlcGxhY2UoL2ZpbGxlZC8sICdpbi1saW5lJykgYXMgSWNvbk5hbWVcbiAgICB9IGVsc2UgaWYgKGljb25OYW1lLmluY2x1ZGVzKCdpbi1saW5lJykpIHtcbiAgICAgIHJldHVybiBpY29uTmFtZS5yZXBsYWNlKC9pbi1saW5lLywgJ2ZpbGxlZCcpIGFzIEljb25OYW1lXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBpY29uTmFtZSArIGRlZmF1bHRWYWx1ZSBhcyBJY29uTmFtZTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgI3Rvb2x0aXBFbGVtZW50IGNsYXNzPVwidG9vbHRpcFwiXG4gICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAgPyB0b29sdGlwIDogbGFiZWxFbGxpcHNpcyA/IGxhYmVsIDogJydcIlxuICAgICBbbWF0VG9vbHRpcENsYXNzXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuPjwvZGl2PlxuPGRpdlxuICBjbGFzcz1cImJ1dHRvbi13cmFwcGVyXCJcbiAgW25nQ2xhc3NdPVwieyAnZnVsbC13aWR0aCc6IGZ1bGxXaWR0aCwgJ3JvdW5kZWQtaWNvbic6IGFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiBpY29uICYmICFsYWJlbCwgbGluazogIWlzQnV0dG9uTGluayB9XCJcbj5cbiAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsgJ2Rpc2FibGVkJzogZGlzYWJsZWQsICdidXR0b24tc2NhbGUnOiBidXR0b25TdGF0ZSA9PT0gJ3ByZXNzZWQnICYmIGFwcGxpY2F0aW9uVGhlbWUgIT09ICdjbGFzc2ljJyAmJiAhZGlzYWJsZWRTY2FsZU9uQ2xpY2sgfVwiXG4gID5cbiAgICAgPHNwYW4gKm5nSWY9XCJpc1ByZW1pdW0gJiYgdHlwZUluY2x1ZGVkXCIgY2xhc3M9XCJyaWdodC10b3BcIj5cbiAgICAgPGltZyBbYXR0ci5zcmNdPVwiJy9pbWFnZXMvcHJlbWl1bS5zdmcnXCIgW2FsdF09XCIncHJlbWl1bS1pY29uJ1wiPlxuICAgPC9zcGFuPlxuICAgIDx1aS1iYWRnZVxuICAgICAgaWQ9XCJiYWRnZVwiXG4gICAgICAqbmdJZj1cImJ1dHRvbkJhZGdlQ29uZmlnPy5iYWRnZVR5cGVcIlxuICAgICAgW3JlYnJhbmRDb2xvcl09XCJidXR0b25CYWRnZUNvbmZpZz8ucmVicmFuZENvbG9yID8/ICdicmFuZCdcIlxuICAgICAgW3ZhcmlhbnRdPVwiYnV0dG9uQmFkZ2VDb25maWchLmJhZGdlVHlwZSFcIlxuICAgICAgW2xhYmVsXT1cImJ1dHRvbkJhZGdlQ29uZmlnPy5iYWRnZUxhYmVsID8/ICcnXCJcbiAgICAgIFtub3RpZmljYXRpb25zQW1vdW50XT1cImJ1dHRvbkJhZGdlQ29uZmlnPy5iYWRnZU5vdGlmaWNhdGlvbkFtb3VudCA/PyAwXCJcbiAgICAgIGNsYXNzPVwicmlnaHQtdG9wXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2JhZGdlLXByaW1hcnknOiBidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VUeXBlID09PSAncHJpbWFyeScsICdiYWRnZS1ub3RpZmljYXRpb24nOiBidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VUeXBlID09PSAnbm90aWZpY2F0aW9uJyB9XCJcbiAgICA+PC91aS1iYWRnZT5cbiAgICA8YnV0dG9uXG4gICAgICBbc3R5bGVdPVwiJy0taWNvbi1idXR0b24tc2l6ZTonICsgaWNvbkJ1dHRvblNpemUgKyAncHgnXCJcbiAgICAgIFtuZ0NsYXNzXT1cImNsYXNzQ3NzXCJcbiAgICAgIFtuZ1N0eWxlXT1cInN0eWxlQ3NzXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAoY2xpY2spPVwiYnV0dG9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAobW91c2VsZWF2ZSk9XCJidXR0b25Ib3ZlcigkZXZlbnQpXCJcbiAgICAgIChtb3VzZWVudGVyKT1cImJ1dHRvbkhvdmVyKCRldmVudClcIlxuICAgICAgKG1vdXNlZG93bik9XCJvblByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAobW91c2V1cCk9XCJvblByZXNzZWQoJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCJcbiAgICAgICpuZ0lmPVwiaXNCdXR0b25MaW5rXCJcbiAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwiYXJpYVJlcXVpcmVkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInbGFiZWxsZWRieSdcIlxuICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInZGVzY3JpYmVkYnknXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICBbZGlzYWJsZVJpcHBsZV09XCJhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYydcIlxuICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCA/IHRvb2x0aXAgOiBsYWJlbEVsbGlwc2lzID8gbGFiZWwgOiAnJ1wiXG4gICAgICBbbWF0VG9vbHRpcENsYXNzXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgW21hdFRvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb25cIlxuICAgICAgI2J1dHRvbkVsZW1lbnRcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgbWF0LWZsYXQtYnV0dG9uPlxuICAgICAgPHNwYW4gaWQ9XCJkZXNjcmliZWRieVwiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyAoaXNQcmVtaXVtID8gKGxhYmVsICsgJyAnICsgKCdCVVRUT04uUFJFTUlVTV9GRUFUVVJFJyB8IHVpVHJhbnNsYXRlIHwgYXN5bmMpKSA6IGFyaWFEZXNjcmliZWRieSkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGlkPVwibGFiZWxsZWRieVwiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyBhcmlhTGFiZWxsZWRieSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dTcGlubmVyOyBlbHNlIGljb25zXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwic3Bpbm5lci13cmFwcGVyXCI+XG4gICAgICAgICAgPG1hdC1zcGlubmVyIGNsYXNzPVwicG9zaXRpb24tc3Bpbm5lclwiIGFyaWEtbGFiZWw9XCJsb2FkaW5nXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBkaWFtZXRlcj1cIjI0XCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctdGVtcGxhdGUgI2ljb25zPlxuICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLW9ubHktd3JhcHBlclwiICpuZ0lmPVwianVzdEljb24gJiYgISFpY29uXCI+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJpY29uIG9ubHlcIlxuICAgICAgICAgIHJvbGU9XCJsYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8dWktaWNvblxuICAgICAgICAgICAgW2NvbG9yXT1cIidpbmhlcml0J1wiXG4gICAgICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImljb25cIlxuICAgICAgICAgICAgW2ZpbGxlZF09XCJpc0ZpbGxlZEljb25cIlxuICAgICAgICAgICAgW3VzZUZ1bGxJY29uTmFtZV09XCJ0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgIFtzaXplXT1cInNpemUgPT09ICdzbWFsbCcgPyAnMTYnIDogJzI0J1wiXG4gICAgICAgICAgPjwvdWktaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1sYWJlbC13cmFwcGVyXCIgW25nQ2xhc3NdPVwieydjZW50ZXItdGV4dCc6IGljb25OYW1lID09PSAnJ31cIiAqbmdJZj1cIiFqdXN0SWNvblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwiaWNvblwiXG4gICAgICAgICAgKm5nSWY9XCJpY29uUG9zaXRpb24gPT09ICdsZWZ0JyAmJiAhIWljb25OYW1lXCJcbiAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICA+XG4gICAgICAgICAgPHVpLWljb25cbiAgICAgICAgICAgIFtjb2xvcl09XCInaW5oZXJpdCdcIlxuICAgICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJpY29uXCJcbiAgICAgICAgICAgIFtmaWxsZWRdPVwiaXNGaWxsZWRJY29uXCJcbiAgICAgICAgICAgIFt1c2VGdWxsSWNvbk5hbWVdPVwidGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplID09PSAnc21hbGwnID8gJzE2JyA6ICcyNCdcIlxuICAgICAgICAgID48L3VpLWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICAqbmdJZj1cImlzTGFiZWxcIlxuICAgICAgICAgIGNsYXNzPVwibGFiZWxcIlxuICAgICAgICAgIGlkPVwibGFiZWxcIlxuICAgICAgICAgIHVpRWxsaXBzZVRleHRcbiAgICAgICAgICBbaXNNdWx0aWxpbmVdPVwidHJ1ZVwiXG4gICAgICAgICAgKG9uQ2hhbmdlVGV4dFN0YXRlKT1cIm9uTGFiZWxFbGxpcHNpc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGxhYmVsIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpY29uXCIgKm5nSWY9XCJpY29uUG9zaXRpb24gPT09ICdyaWdodCcgJiYgISFpY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVpLWljb25cbiAgICAgICAgICBbY29sb3JdPVwiJ2luaGVyaXQnXCIgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiIFtuYW1lXT1cImljb25cIiBbZmlsbGVkXT1cImlzRmlsbGVkSWNvblwiXG4gICAgICAgICAgW3NpemVdPVwic2l6ZSA9PT0gJ3NtYWxsJyA/ICcxNicgOiAnMjQnXCIgW3VzZUZ1bGxJY29uTmFtZV09XCJ0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICdzZWNvbmRhcnknXCI+PC91aS1pY29uPjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9idXR0b24+XG4gICAgPGFcbiAgICAgICNidXR0b25FbGVtZW50XG4gICAgICBbbmdDbGFzc109XCJjbGFzc0Nzc1wiXG4gICAgICBbbmdTdHlsZV09XCJzdHlsZUNzc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgKG1vdXNlZW50ZXIpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2VsZWF2ZSk9XCJidXR0b25Ib3ZlcigkZXZlbnQpXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKG1vdXNldXApPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudCk7XCJcbiAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIlxuICAgICAgW2Rpc2FibGVSaXBwbGVdPVwidHJ1ZVwiXG4gICAgICAqbmdJZj1cIiFpc0J1dHRvbkxpbmtcIlxuICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJhcmlhUmVxdWlyZWRcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidsYWJlbGxlZGJ5LWxpbmsnXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5LWxpbmsnXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcCA/IHRvb2x0aXAgOiBsYWJlbEVsbGlwc2lzID8gbGFiZWwgOiAnJ1wiXG4gICAgICBbbWF0VG9vbHRpcENsYXNzXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgcm9sZT1cImxpbmtcIlxuICAgICAgW2hyZWZdPVwidXJsXCJcbiAgICAgIFt0YXJnZXRdPVwidXJsVGFyZ2V0XCJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvbj5cbiAgICAgIDxzcGFuIGlkPVwiZGVzY3JpYmVkYnktbGlua1wiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyBhcmlhRGVzY3JpYmVkYnkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuIGlkPVwibGFiZWxsZWRieS1saW5rXCIgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCI+XG4gICAgICAgIHt7IGFyaWFMYWJlbGxlZGJ5IH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImljb24tbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvYT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
445
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCxPQUFPLEVBRUwsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sRUFDTixLQUFLLEVBRUwsUUFBUSxFQUNSLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7Ozs7O0FBa0I3RCxNQUFNLE9BQU8sZUFBZTtJQUMxQixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3hDLENBQUM7SUEyTkQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQWVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFlBQzZFLGVBQWlDO1FBQWpDLG9CQUFlLEdBQWYsZUFBZSxDQUFrQjtRQWxQOUc7Ozs7O1dBS0c7UUFDTSxTQUFJLEdBQWUsS0FBSyxDQUFDO1FBQ2xDOzs7OztXQUtHO1FBR0gsWUFBTyxHQUFnQixTQUFTLENBQUM7UUFFakM7Ozs7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QkFTRyxJQUFJO3NCQUFaLEtBQUs7Z0JBU0csWUFBWTtzQkFBcEIsS0FBSztnQkFTRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBV04sZ0JBQWdCO3NCQUZmLFdBQVc7dUJBQUMsWUFBWTs7c0JBQ3hCLEtBQUs7Z0JBVUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBUUcsWUFBWTtzQkFBcEIsS0FBSztnQkFTRyxjQUFjO3NCQUF0QixLQUFLO2dCQVFHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBT2tDLGNBQWM7c0JBQXJELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBT0UsYUFBYTtzQkFBcEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFRN0IsZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRUcsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUV3QyxhQUFhO3NCQUEzRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBUXpDLFNBQVM7c0JBRFosV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L3VzZS1saWZlY3ljbGUtaW50ZXJmYWNlICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBUb29sdGlwUG9zaXRpb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHsgYWRqdXN0TGlnaHRuZXNzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sb3ItY29udHJhc3QnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kZWwnO1xuaW1wb3J0IHtcbiAgQnV0dG9uQmFkZ2VDb25maWcsXG4gIEJ1dHRvbkNvbG9yLFxuICBCdXR0b25JY29uUG9zaXRpb24sXG4gIEJ1dHRvblNpemUsXG4gIEJ1dHRvblN0YXRlLFxuICBCdXR0b25UeXBlLFxuICBJY29uQnV0dG9uU2l6ZSxcbiAgTGlua1VybFRhcmdldFxufSBmcm9tICcuL2J1dHRvbi5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBvaW50ZXItZXZlbnRzJylcbiAgZ2V0IGVuYWJsZWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnO1xuICB9XG5cbiAgQFZpZXdDaGlsZCgndG9vbHRpcEVsZW1lbnQnKSB0b29sdGlwRWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgLyoqXG4gICAqIERlZmluZSBidXR0b24gaGVpZ2h0XG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25TaXplfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBzaXplOiBCdXR0b25TaXplID0gJ2JpZyc7XG4gIC8qKlxuICAgKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gd2hpbGUgaW4gYWN0aXZlIHN0YXRlXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25Db2xvcn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmJ0bi12YXJpYW50JylcbiAgQElucHV0KClcbiAgdmFyaWFudDogQnV0dG9uQ29sb3IgPSAncHJpbWFyeSc7XG5cbiAgLyoqXG4gICAqIFRleHQgY29udGVudCB0byBhcHBlYXIgb24gdGhlIGJ1dHRvblxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuXG4gIC8qKlxuICAgKiBQb3NpdGlvbmluZyBvZiB0aGUgaWNvbiAod2hlbiBleGlzdGFudClcbiAgICpcbiAgICogQHR5cGUge0J1dHRvbkljb25Qb3NpdGlvbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaWNvblBvc2l0aW9uPzogQnV0dG9uSWNvblBvc2l0aW9uID0gJ3JpZ2h0JztcblxuICAvKipcbiAgICogRGVmaW5lIGlmIGJ1dHRvbiBoYXMgb25seSBpY29uIHdpdGhvdXQgdGV4dFxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBqdXN0SWNvbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHVpLWljb25cbiAgICpcbiAgICogQHR5cGUge0ljb25OYW1lfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBpY29uTmFtZTogSWNvbk5hbWUgPSAnJztcblxuICAvKipcbiAgICogSW5kaWNhdG9yIGlmIHRoZSBidXR0b24gc2hvdWxkIGJlIGRpc2FibGVkXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBpZiB0aGUgbG9hZGluZyBpY29uIHNob3VsZCBiZSBzaG93blxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRvciBvZiB0aGUgYnV0dG9uIHdpZHRoXG4gICAqXG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBVcmwgb2YgYnV0dG9uIGlmIGl0IGlzIGEgbGlua1xuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB1cmw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVybCdzIHRhcmdldCBvZiBidXR0b24gaWYgaXQgaXMgYSBsaW5rXG4gICAqXG4gICAqIEB0eXBlIHtAdHlwZSB7TGlua1VybFRhcmdldH19XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHVybFRhcmdldD86IExpbmtVcmxUYXJnZXQ7XG5cbiAgLyoqXG4gICAqIEJ1dHRvbiB2YWx1ZVxuICAgKlxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB2YWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IHRvb2x0aXBcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB0b29sdGlwIHRoYXQgaXMgZGlzcGxheWVkIG9uIGhvdmVyLiBSZXF1aXJlZCBmb3IgaWNvbi1idXR0b24gdHlwZVxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSB0b29sdGlwID0gJyc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBpc1ByZW1pdW1cbiAgICogQGRlc2NyaXB0aW9uIFRoZSBpY29uIHRoYXQgaXMgZGlzcGxheWVkIGZvciBQcmVtaXVtIGJ1dHRvblxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgaXNQcmVtaXVtID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRoZSBidXR0b24uXG4gICAqXG4gICAqIEB0eXBlIHtCdXR0b25UeXBlfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqIEBkZWZhdWx0ICdidXR0b24nXG4gICAqL1xuICBASW5wdXQoKSB0eXBlOiBCdXR0b25UeXBlID0gJ2J1dHRvbic7XG5cbiAgLyoqXG4gICAqIENvbG9yIG9mIHRoZSBidXR0b24uXG4gICAqIERlZmF1bHRzIHRvIFRlc3QgR29yaWxsYSBwcmltYXJ5IGNvbG9yLlxuICAgKlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBjb21wYW55Q29sb3I6IHN0cmluZyB8IG51bGwgPSAnJztcblxuICAvKipcbiAgICogQ29uZmlnIGZvciB0aGUgYnV0dG9uIGJhZGdlIHZhcmlhdGlvblxuICAgKiBAdHlwZSB7QnV0dG9uQmFkZ2VDb25maWd9XG4gICAqIEBwcm9wZXJ0eSBiYWRnZVR5cGUgVHlwZSBvZiBiYWRnZSBvbiB0aGUgYnV0dG9uXG4gICAqIEBwcm9wZXJ0eSBiYWRnZUxhYmVsIExhYmVsIHRleHQgZm9yIHRoZSBiYWRnZVxuICAgKiBAcHJvcGVydHkgYmFkZ2VOb3RpZmljYXRpb25BbW91bnQgVGhlIGFtb3VudCBmb3Igbm90aWZpY2F0aW9uIGluIHRoZSBiYWRnZVxuICAgKi9cbiAgQElucHV0KCkgYnV0dG9uQmFkZ2VDb25maWc6IEJ1dHRvbkJhZGdlQ29uZmlnIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEZWZpbmVzIHRoZSBhcHBsaWNhdGlvbiB0aGVtZSB3aGVyZSBidXR0b25zIGlzIHVzZWRcbiAgICpcbiAgICogQHR5cGUge0FwcGxpY2F0aW9uVGhlbWV9XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci50aGVtZScpXG4gIEBJbnB1dCgpXG4gIGFwcGxpY2F0aW9uVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuXG4gIC8qKlxuICAgKlxuICAgKiBEaXNhYmxlZCBidXR0b24gc2NhbGUgb24gY2xpY2tcbiAgICpcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGRpc2FibGVkU2NhbGVPbkNsaWNrID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSBsYWJlbCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBsYWJlbCBpcyB1c2VkIHRvIHByb3ZpZGUgYW4gYWNjZXNzaWJsZSBuYW1lIGZvciB0aGUgaW5wdXQgZWxlbWVudC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgQVJJQSByZXF1aXJlbWVudCBmb3IgYWNjZXNzaWJpbGl0eS5cbiAgICogVGhpcyBhdHRyaWJ1dGUgaXMgdXNlZCB0byBpbmRpY2F0ZSB3aGV0aGVyIGFuIGlucHV0IGZpZWxkIGlzIHJlcXVpcmVkIGZvciBmb3JtIHN1Ym1pc3Npb24uXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhUmVxdWlyZWQgPSBmYWxzZTtcblxuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhTGFiZWxsZWRieSA9ICcnO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIEFSSUEgcmVxdWlyZW1lbnQgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAqIFRoaXMgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5kaWNhdGUgd2hldGhlciBhbiBpbnB1dCBmaWVsZCBpcyByZXF1aXJlZCBmb3IgZm9ybSBzdWJtaXNzaW9uLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAbWVtYmVyb2YgQnV0dG9uQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcmlhRGVzY3JpYmVkYnkgPSAnJztcblxuICAvKipcbiAgICogUHJldmVudHMgZGVmYXVsdCBidXR0b24gY2xpY2sgYmVoYXZpb3JcbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBwcmV2ZW50RGVmYXVsdCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBHaG9zdCB2YXJpYW50IHdpdGggd2hpdGUgYmFja2dyb3VuZFxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQG1lbWJlcm9mIEJ1dHRvbkNvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc0JhY2tncm91bmQgPSBmYWxzZTtcblxuICAvKipcbiAgICogU2V0cyB0b29sdGlwIHBvc2l0aW9uXG4gICAqXG4gICAqIEB0eXBlIHtUb29sdGlwUG9zaXRpb259XG4gICAqIEBtZW1iZXJvZiBCdXR0b25Db21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvbjogVG9vbHRpcFBvc2l0aW9uID0gJ2JlbG93JztcblxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2tFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkhvdmVyRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbkVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgYnV0dG9uRWxlbWVudDogTWF0QnV0dG9uO1xuXG5cbiAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tY29sb3InKVxuICBnZXQgY29tcENvbG9yKCkge1xuICAgIHJldHVybiB0aGlzLmdldENvbXBhbnlDb2xvcjtcbiAgfVxuXG4gIGNsYXNzQ3NzOiBzdHJpbmc7XG4gIHN0eWxlQ3NzOiBhbnk7XG4gIGlzQnV0dG9uTGluazogYm9vbGVhbjtcbiAgaXNMYWJlbDogYm9vbGVhbjtcbiAgYnV0dG9uU3RhdGU6IEJ1dHRvblN0YXRlO1xuICBob3ZlciA9IGZhbHNlO1xuICBpY29uQnV0dG9uU2l6ZTogSWNvbkJ1dHRvblNpemUgPSAnNDAnO1xuICBhbGxvd0J1dHRvblR5cGVGb3JQcmVtaXVtOiBCdXR0b25Db2xvcltdID0gWydzZWNvbmRhcnknLCAncHJpbWFyeScsICdnaG9zdCcsICdvdXRsaW5lZCcsICdkZXN0cnVjdGl2ZSddO1xuICBpc0ZpbGxlZEljb246IGJvb2xlYW47XG4gIGNvbG9yZWRJY29ucyA9IFsnR29vZ2xlLWluLWxpbmUnLCAnR29vZ2xlJywgJ0dvb2dsZS1maWxsZWQnXTtcbiAgbGFiZWxFbGxpcHNpcyA9IGZhbHNlO1xuICBpY29uOiBJY29uTmFtZSA9ICcnO1xuXG4gIGdldCB0eXBlSW5jbHVkZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dCdXR0b25UeXBlRm9yUHJlbWl1bS5pbmNsdWRlcyh0aGlzLnZhcmlhbnQpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdCgnQ0FOT1BZVUlfREVGQVVMVF9BUFBMSUNBVElPTl9USEVNRScpIHByaXZhdGUgcmVhZG9ubHkgZGVmYXVsdEFwcFRoZW1lOiBBcHBsaWNhdGlvblRoZW1lLFxuICApIHtcbiAgICBpZiAoZGVmYXVsdEFwcFRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSBkZWZhdWx0QXBwVGhlbWU7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jbGFzc0NzcyA9IHRoaXMuc2V0Q3NzQ2xhc3MoKTtcbiAgICB0aGlzLnN0eWxlQ3NzID0gdGhpcy5zZXRDc3NTdHlsZSgpO1xuICAgIHRoaXMuaXNCdXR0b25MaW5rID0gdGhpcy5zaG93QnV0dG9uTGluaygpO1xuICAgIHRoaXMuaXNMYWJlbCA9IHRoaXMuc2hvd0xhYmVsKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ2Rpc2FibGVkJ10pIHtcbiAgICAgIHRoaXMuYnV0dG9uU3RhdGUgPSAnZGVmYXVsdCc7XG4gICAgfVxuICAgIGlmICghdGhpcy5hcHBsaWNhdGlvblRoZW1lKSB7XG4gICAgICB0aGlzLmFwcGxpY2F0aW9uVGhlbWUgPSAnbGlnaHQnO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1sndHlwZSddKSB7XG4gICAgICB0aGlzLmlzQnV0dG9uTGluayA9IHRoaXMuc2hvd0J1dHRvbkxpbmsoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2xvYWRpbmcnXSkge1xuICAgICAgdGhpcy5pc0xhYmVsID0gdGhpcy5zaG93TGFiZWwoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ2ljb25OYW1lJ10pIHtcbiAgICAgIHRoaXMuaWNvbiA9IGNoYW5nZXNbJ2ljb25OYW1lJ10uY3VycmVudFZhbHVlO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWyd0eXBlJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2Z1bGxXaWR0aCddIHx8XG4gICAgICBjaGFuZ2VzWydpY29uTmFtZSddIHx8XG4gICAgICBjaGFuZ2VzWydqdXN0SWNvbiddIHx8XG4gICAgICBjaGFuZ2VzWydpY29uUG9zaXRpb24nXSB8fFxuICAgICAgY2hhbmdlc1snZGlzYWJsZWQnXSB8fFxuICAgICAgY2hhbmdlc1snY29tcGFueUNvbG9yJ10gfHxcbiAgICAgIGNoYW5nZXNbJ2FwcGxpY2F0aW9uVGhlbWUnXVxuICAgICkge1xuICAgICAgdGhpcy5jbGFzc0NzcyA9IHRoaXMuc2V0Q3NzQ2xhc3MoKTtcbiAgICAgIHRoaXMuc3R5bGVDc3MgPSB0aGlzLnNldENzc1N0eWxlKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWyd2YXJpYW50J10/LmN1cnJlbnRWYWx1ZSA9PT0gJ2ljb24tYnV0dG9uJyB8fCAoY2hhbmdlc1sndmFyaWFudCddPy5jdXJyZW50VmFsdWUgPT09ICdtZW51VHJpZ2dlcicgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycpKSB7XG4gICAgICB0aGlzLmljb25CdXR0b25TaXplID0gdGhpcy5zZXRJY29uQnV0dG9uU2l6ZSgpO1xuICAgIH1cblxuICAgIHRoaXMuaXNGaWxsZWRJY29uID0gdGhpcy5hcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgKHRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3NlY29uZGFyeScpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMudG9vbHRpcEVsZW1lbnQubmF0aXZlRWxlbWVudC5vbmNsaWNrID0gZXYgPT4ge1xuICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH07XG4gICAgaWYgKHRoaXMudmFyaWFudCA9PT0gJ2ljb24tYnV0dG9uJyAmJiAhdGhpcy50b29sdGlwKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ3VpLWJ1dHRvbiBCdXR0b25Db21wb25lbnRcXG4gICAgW3Rvb2x0aXBdIGlzIHJlcXVpcmVkIGZvciBbdHlwZV0gaWNvbi1idXR0b24hJyk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhbnQgPT09ICdkZXN0cnVjdGl2ZScgJiYgIXRoaXMuaWNvbiAmJiAhdGhpcy5sb2FkaW5nICYmIHRoaXMuYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ3VpLWJ1dHRvbiBCdXR0b25Db21wb25lbnRcXG4gIFtpY29uXSBpcyByZXF1aXJlZCBmb3IgW3R5cGVdIGRlc3RydWN0aXZlJyk7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJldmVudERlZmF1bHQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gICAgdGhpcy5idXR0b25DbGlja0V2ZW50LmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgYnV0dG9uSG92ZXIoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdtb3VzZWVudGVyJykge1xuICAgICAgdGhpcy5ob3ZlciA9IHRydWU7XG4gICAgICB0aGlzLmJ1dHRvbkhvdmVyRXZlbnQuZW1pdChldmVudCk7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ2hvdmVyJztcbiAgICAgIGlmICh0aGlzLnNob3VsZENoYW5nZUZpbGxlZFN0YXR1cyAmJiB0aGlzLmljb24pIHtcbiAgICAgICAgdGhpcy5pY29uID0gdGhpcy5nZXRJY29uTmFtZSh0aGlzLmljb25OYW1lLCAnLWZpbGxlZCcpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhvdmVyID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5zaG91bGRDaGFuZ2VGaWxsZWRTdGF0dXMgJiYgdGhpcy5pY29uKSB7XG4gICAgICAgIHRoaXMuaWNvbiA9IHRoaXMuaWNvbk5hbWU7XG4gICAgICB9XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ2RlZmF1bHQnO1xuICAgIH1cblxuICAgIHRoaXMuc3R5bGVDc3MgPSB0aGlzLnNldENzc1N0eWxlKCk7XG4gIH1cblxuICAvL1Nob3cgb3IgaGlkZSBsYWJlbFxuICBzaG93TGFiZWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmxvYWRpbmc7XG4gIH1cblxuICAvL1NldCBjc3MgY2xhc3MgYWNjb3JkaW5nIGlucHV0c1xuICBzZXRDc3NDbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5mdWxsV2lkdGggPyAnZnVsbC13aWR0aCcgOiAnJztcbiAgICBjb25zdCBoYXNJY29uID0gdGhpcy5pY29uTmFtZSA9PT0gbnVsbCA/ICcnIDogJ2ljb24nO1xuICAgIGNvbnN0IGp1c3RJY29uID0gdGhpcy5qdXN0SWNvbiB8fCB0aGlzLnZhcmlhbnQgPT09ICdpY29uLWJ1dHRvbicgPyAnb25seS1pY29uJyA6ICcnO1xuICAgIGNvbnN0IGljb25Qb3NpdGlvbiA9IHRoaXMuaWNvblBvc2l0aW9uID09PSB1bmRlZmluZWQgPyAnJyA6IHRoaXMuaWNvblBvc2l0aW9uO1xuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCAmJiB0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyA/ICdwcmltYXJ5LWRpc2FibGVkJyA6ICcnO1xuICAgIGNvbnN0IHZhcmlhbnQgPSB0aGlzLnZhcmlhbnQgPT09ICdnaG9zdCcgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgPyAnb3V0bGluZWQnIDogdGhpcy52YXJpYW50O1xuICAgIGNvbnN0IGNvbXBhbnlDb2xvciA9IHRoaXMuY29tcGFueUNvbG9yID8gJ2hhcy1jb21wYW55LWNvbG9yJyA6ICcnO1xuICAgIHJldHVybiBgJHt0aGlzLnNpemV9ICR7aWNvblBvc2l0aW9ufSAke3ZhcmlhbnR9ICR7d2lkdGh9ICR7aGFzSWNvbn0gJHtqdXN0SWNvbn0gJHtkaXNhYmxlZH0gJHtjb21wYW55Q29sb3J9ICR7dGhpcy5hcHBsaWNhdGlvblRoZW1lfS10aGVtZWA7XG4gIH1cblxuICBzZXRDc3NTdHlsZSgpOiBhbnkge1xuICAgIHRoaXMuYnV0dG9uU3RhdGUgPSB0aGlzLmRpc2FibGVkID8gJ2Rpc2FibGVkJyA6IHRoaXMuYnV0dG9uU3RhdGU7XG4gICAgY29uc3Qgc3R5bGVPYmo6IGFueSA9IHt9O1xuXG4gICAgaWYgKCh0aGlzLnZhcmlhbnQgPT09ICdwcmltYXJ5JyB8fCB0aGlzLnZhcmlhbnQgPT09ICd0ZXh0JykgJiYgdGhpcy5hcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgKHRoaXMuYnV0dG9uU3RhdGUgPT09ICdob3ZlcicgfHwgdGhpcy5idXR0b25TdGF0ZSA9PT0gJ3ByZXNzZWQnKSkge1xuICAgICAgc3R5bGVPYmpbdGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgPyAnYmFja2dyb3VuZC1jb2xvcicgOiAnY29sb3InXSA9IGFkanVzdExpZ2h0bmVzcyh0aGlzLmdldENvbXBhbnlDb2xvciwgdGhpcy5idXR0b25TdGF0ZSk7XG4gICAgICBpZiAodGhpcy52YXJpYW50ID09PSAndGV4dCcpIHtcbiAgICAgICAgc3R5bGVPYmpbJy0tYWN0aXZlLWNvbG9yJ10gPSB0aGlzLmNvbXBhbnlDb2xvciA/IGFkanVzdExpZ2h0bmVzcyh0aGlzLmdldENvbXBhbnlDb2xvciwgdGhpcy5idXR0b25TdGF0ZSkgOiAnIzY2NjY2Nic7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICgodGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAndGV4dCcpICYmIHRoaXMuYXBwbGljYXRpb25UaGVtZSA9PT0gJ2NsYXNzaWMnICYmIHRoaXMuYnV0dG9uU3RhdGUgIT09ICdkZWZhdWx0Jykge1xuICAgICAgc3R5bGVPYmpbdGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgPyAnYmFja2dyb3VuZC1jb2xvcicgOiAnY29sb3InXSA9IGFkanVzdExpZ2h0bmVzcyh0aGlzLmdldENvbXBhbnlDb2xvciwgdGhpcy5idXR0b25TdGF0ZSwgJ2NsYXNzaWMnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZ2V0Q29tcGFueUNvbG9yICYmICh0aGlzLnZhcmlhbnQgPT09ICdsaW5rJyB8fCB0aGlzLnZhcmlhbnQgPT09ICd0ZXJ0aWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnaWNvbi1idXR0b24nKSkge1xuICAgICAgc3R5bGVPYmpbJ2NvbG9yJ10gPSB0aGlzLmdldENvbXBhbnlDb2xvcjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGFzQmFja2dyb3VuZCkge1xuICAgICAgc3R5bGVPYmpbJy0tZ2hvc3QtYmFja2dyb3VuZCddID0gJyNmZmZmZmYnO1xuICAgIH1cbiAgICByZXR1cm4gc3R5bGVPYmo7XG4gIH1cblxuICAvL1Nob3cgb3IgaGlkZSBzcGlubmVyXG4gIGdldCBzaG93U3Bpbm5lcigpOiBib29sZWFuIHtcbiAgICBjb25zdCBpc05vdFRhYiA9IHRoaXMudmFyaWFudCAhPT0gJ3RhYic7XG4gICAgY29uc3QgaXNOb3RMaW5rID0gdGhpcy52YXJpYW50ICE9PSAnbGluayc7XG4gICAgY29uc3QgaXNMb2FkaW5nID0gdGhpcy5sb2FkaW5nID09PSB0cnVlO1xuICAgIHJldHVybiBpc0xvYWRpbmcgJiYgaXNOb3RUYWIgJiYgaXNOb3RMaW5rO1xuICB9XG5cbiAgLy9TaG93IGJ1dHRvbiB3aXRoIDxidXR0b24+IG9yIDxhPiB0YWdcbiAgc2hvd0J1dHRvbkxpbmsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFudCAhPT0gJ2xpbmsnO1xuICB9XG5cbiAgc2V0SWNvbkJ1dHRvblNpemUoKTogSWNvbkJ1dHRvblNpemUge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdiaWcnID8gJzQwJyA6IHRoaXMuc2l6ZSA9PT0gJ3NtYWxsJyA/ICcyNCcgOiAnMzInO1xuICB9XG5cbiAgb25QcmVzc2VkKGV2OiBFdmVudCk6IHZvaWQge1xuICAgIGlmIChldi50eXBlID09PSAnbW91c2Vkb3duJykge1xuICAgICAgdGhpcy5idXR0b25TdGF0ZSA9ICdwcmVzc2VkJztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5idXR0b25TdGF0ZSA9IHRoaXMuaG92ZXIgPyAnaG92ZXInIDogJ2RlZmF1bHQnO1xuICAgIH1cblxuICAgIHRoaXMuc3R5bGVDc3MgPSB0aGlzLnNldENzc1N0eWxlKCk7XG4gIH1cblxuICBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvbkVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGdldCBnZXRDb21wYW55Q29sb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb21wYW55Q29sb3IgfHwgKHRoaXMudmFyaWFudCA9PT0gJ3RleHQnID8gdGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnZGFyaycgPyAnI2ZmZmZmZicgOiAnIzI0MjQyNCcgOiAodGhpcy5hcHBsaWNhdGlvblRoZW1lID09PSAnY2xhc3NpYycgPyAnIzQ2QTk5NycgOiAnI0Q0MTBBQScpKTtcbiAgfVxuXG4gIGdldCBzaG91bGRDaGFuZ2VGaWxsZWRTdGF0dXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnICYmIHRoaXMudmFyaWFudCAhPT0gJ3ByaW1hcnknICYmIHRoaXMudmFyaWFudCAhPT0gJ3NlY29uZGFyeScgJiYgIXRoaXMuY29sb3JlZEljb25zLmluY2x1ZGVzKHRoaXMuaWNvbik7XG4gIH1cblxuICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnICcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICB0YXJnZXQuY2xpY2soKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInIHx8IGV2ZW50LmtleSA9PT0gJyAnKSB7XG4gICAgICB0aGlzLmJ1dHRvblN0YXRlID0gJ3ByZXNzZWQnO1xuICAgICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB9XG4gIH1cblxuICBvbktleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJykge1xuICAgICAgdGhpcy5idXR0b25TdGF0ZSA9IHRoaXMuaG92ZXIgPyAnaG92ZXInIDogJ2RlZmF1bHQnO1xuICAgICAgdGhpcy5zdHlsZUNzcyA9IHRoaXMuc2V0Q3NzU3R5bGUoKTtcbiAgICB9XG4gIH1cblxuICBvbkxhYmVsRWxsaXBzaXNDaGFuZ2Uoc3RhdGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmxhYmVsRWxsaXBzaXMgPSBzdGF0ZTtcbiAgfVxuXG4gIGdldEljb25OYW1lKGljb25OYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogc3RyaW5nKTogSWNvbk5hbWUge1xuICAgIGlmIChpY29uTmFtZS5pbmNsdWRlcygnZmlsbGVkJykpIHtcbiAgICAgIHJldHVybiBpY29uTmFtZS5yZXBsYWNlKC9maWxsZWQvLCAnaW4tbGluZScpIGFzIEljb25OYW1lXG4gICAgfSBlbHNlIGlmIChpY29uTmFtZS5pbmNsdWRlcygnaW4tbGluZScpKSB7XG4gICAgICByZXR1cm4gaWNvbk5hbWUucmVwbGFjZSgvaW4tbGluZS8sICdmaWxsZWQnKSBhcyBJY29uTmFtZVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaWNvbk5hbWUgKyBkZWZhdWx0VmFsdWUgYXMgSWNvbk5hbWU7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICN0b29sdGlwRWxlbWVudCBjbGFzcz1cInRvb2x0aXBcIlxuICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwID8gdG9vbHRpcCA6IGxhYmVsRWxsaXBzaXMgPyBsYWJlbCA6ICcnXCJcbiAgICAgW21hdFRvb2x0aXBDbGFzc109XCJhcHBsaWNhdGlvblRoZW1lXCJcbj48L2Rpdj5cbjxkaXZcbiAgY2xhc3M9XCJidXR0b24td3JhcHBlclwiXG4gIFtuZ0NsYXNzXT1cInsgJ2Z1bGwtd2lkdGgnOiBmdWxsV2lkdGgsICdyb3VuZGVkLWljb24nOiBhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgaWNvbiAmJiAhbGFiZWwsIGxpbms6ICFpc0J1dHRvbkxpbmsgfVwiXG4+XG4gIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCJcbiAgICAgICBbbmdDbGFzc109XCJ7ICdkaXNhYmxlZCc6IGRpc2FibGVkLCAnYnV0dG9uLXNjYWxlJzogYnV0dG9uU3RhdGUgPT09ICdwcmVzc2VkJyAmJiBhcHBsaWNhdGlvblRoZW1lICE9PSAnY2xhc3NpYycgJiYgIWRpc2FibGVkU2NhbGVPbkNsaWNrIH1cIlxuICA+XG4gICAgIDxzcGFuICpuZ0lmPVwiaXNQcmVtaXVtICYmIHR5cGVJbmNsdWRlZFwiIGNsYXNzPVwicmlnaHQtdG9wXCI+XG4gICAgIDxpbWcgW2F0dHIuc3JjXT1cIicvaW1hZ2VzL3ByZW1pdW0uc3ZnJ1wiIFthbHRdPVwiJ3ByZW1pdW0taWNvbidcIj5cbiAgIDwvc3Bhbj5cbiAgICA8dWktYmFkZ2VcbiAgICAgIGlkPVwiYmFkZ2VcIlxuICAgICAgKm5nSWY9XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VUeXBlXCJcbiAgICAgIFtyZWJyYW5kQ29sb3JdPVwiYnV0dG9uQmFkZ2VDb25maWc/LnJlYnJhbmRDb2xvciA/PyAnYnJhbmQnXCJcbiAgICAgIFt2YXJpYW50XT1cImJ1dHRvbkJhZGdlQ29uZmlnIS5iYWRnZVR5cGUhXCJcbiAgICAgIFtsYWJlbF09XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VMYWJlbCA/PyAnJ1wiXG4gICAgICBbbm90aWZpY2F0aW9uc0Ftb3VudF09XCJidXR0b25CYWRnZUNvbmZpZz8uYmFkZ2VOb3RpZmljYXRpb25BbW91bnQgPz8gMFwiXG4gICAgICBjbGFzcz1cInJpZ2h0LXRvcFwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdiYWRnZS1wcmltYXJ5JzogYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlVHlwZSA9PT0gJ3ByaW1hcnknLCAnYmFkZ2Utbm90aWZpY2F0aW9uJzogYnV0dG9uQmFkZ2VDb25maWc/LmJhZGdlVHlwZSA9PT0gJ25vdGlmaWNhdGlvbicgfVwiXG4gICAgPjwvdWktYmFkZ2U+XG4gICAgPGJ1dHRvblxuICAgICAgW3N0eWxlXT1cIictLWljb24tYnV0dG9uLXNpemU6JyArIGljb25CdXR0b25TaXplICsgJ3B4J1wiXG4gICAgICBbbmdDbGFzc109XCJjbGFzc0Nzc1wiXG4gICAgICBbbmdTdHlsZV09XCJzdHlsZUNzc1wiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrKCRldmVudClcIlxuICAgICAgKG1vdXNlbGVhdmUpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2VlbnRlcik9XCJidXR0b25Ib3ZlcigkZXZlbnQpXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKG1vdXNldXApPVwib25QcmVzc2VkKCRldmVudClcIlxuICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiXG4gICAgICAqbmdJZj1cImlzQnV0dG9uTGlua1wiXG4gICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImFyaWFSZXF1aXJlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2xhYmVsbGVkYnknXCJcbiAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ2Rlc2NyaWJlZGJ5J1wiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgW2Rpc2FibGVSaXBwbGVdPVwiYXBwbGljYXRpb25UaGVtZSAhPT0gJ2NsYXNzaWMnXCJcbiAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAgPyB0b29sdGlwIDogbGFiZWxFbGxpcHNpcyA/IGxhYmVsIDogJydcIlxuICAgICAgW21hdFRvb2x0aXBDbGFzc109XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgIFttYXRUb29sdGlwUG9zaXRpb25dPVwidG9vbHRpcFBvc2l0aW9uXCJcbiAgICAgICNidXR0b25FbGVtZW50XG4gICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgIG1hdC1mbGF0LWJ1dHRvbj5cbiAgICAgIDxzcGFuIGlkPVwiZGVzY3JpYmVkYnlcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj5cbiAgICAgICAge3sgKGlzUHJlbWl1bSA/IChsYWJlbCArICcgJyArICgnQlVUVE9OLlBSRU1JVU1fRkVBVFVSRScgfCB1aVRyYW5zbGF0ZSB8IGFzeW5jKSkgOiBhcmlhRGVzY3JpYmVkYnkpIH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBpZD1cImxhYmVsbGVkYnlcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj5cbiAgICAgICAge3sgYXJpYUxhYmVsbGVkYnkgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93U3Bpbm5lcjsgZWxzZSBpY29uc1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNwaW5uZXItd3JhcHBlclwiPlxuICAgICAgICAgIDxtYXQtc3Bpbm5lciBjbGFzcz1cInBvc2l0aW9uLXNwaW5uZXJcIiBhcmlhLWxhYmVsPVwibG9hZGluZ1wiIG1vZGU9XCJpbmRldGVybWluYXRlXCIgZGlhbWV0ZXI9XCIyNFwiPjwvbWF0LXNwaW5uZXI+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLXRlbXBsYXRlICNpY29ucz5cbiAgICAgIDxzcGFuIGNsYXNzPVwiaWNvbi1vbmx5LXdyYXBwZXJcIiAqbmdJZj1cImp1c3RJY29uICYmICEhaWNvblwiPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwiaWNvbiBvbmx5XCJcbiAgICAgICAgICByb2xlPVwibGFiZWxcIlxuICAgICAgICA+XG4gICAgICAgICAgPHVpLWljb25cbiAgICAgICAgICAgIFtjb2xvcl09XCInaW5oZXJpdCdcIlxuICAgICAgICAgICAgW2FwcGxpY2F0aW9uVGhlbWVdPVwiYXBwbGljYXRpb25UaGVtZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJpY29uXCJcbiAgICAgICAgICAgIFtmaWxsZWRdPVwiaXNGaWxsZWRJY29uXCJcbiAgICAgICAgICAgIFt1c2VGdWxsSWNvbk5hbWVdPVwidGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICBbc2l6ZV09XCJzaXplID09PSAnc21hbGwnID8gJzE2JyA6ICcyNCdcIlxuICAgICAgICAgID48L3VpLWljb24+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgICA8c3BhbiBjbGFzcz1cImljb24tbGFiZWwtd3JhcHBlclwiIFtuZ0NsYXNzXT1cInsnY2VudGVyLXRleHQnOiBpY29uTmFtZSA9PT0gJyd9XCIgKm5nSWY9XCIhanVzdEljb25cIj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cImljb25cIlxuICAgICAgICAgICpuZ0lmPVwiaWNvblBvc2l0aW9uID09PSAnbGVmdCcgJiYgISFpY29uTmFtZVwiXG4gICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx1aS1pY29uXG4gICAgICAgICAgICBbY29sb3JdPVwiJ2luaGVyaXQnXCJcbiAgICAgICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIlxuICAgICAgICAgICAgW25hbWVdPVwiaWNvblwiXG4gICAgICAgICAgICBbZmlsbGVkXT1cImlzRmlsbGVkSWNvblwiXG4gICAgICAgICAgICBbdXNlRnVsbEljb25OYW1lXT1cInRoaXMudmFyaWFudCA9PT0gJ3ByaW1hcnknIHx8IHRoaXMudmFyaWFudCA9PT0gJ3NlY29uZGFyeSdcIlxuICAgICAgICAgICAgW3NpemVdPVwic2l6ZSA9PT0gJ3NtYWxsJyA/ICcxNicgOiAnMjQnXCJcbiAgICAgICAgICA+PC91aS1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgKm5nSWY9XCJpc0xhYmVsXCJcbiAgICAgICAgICBjbGFzcz1cImxhYmVsXCJcbiAgICAgICAgICBpZD1cImxhYmVsXCJcbiAgICAgICAgICB1aUVsbGlwc2VUZXh0XG4gICAgICAgICAgW2lzTXVsdGlsaW5lXT1cInRydWVcIlxuICAgICAgICAgIChvbkNoYW5nZVRleHRTdGF0ZSk9XCJvbkxhYmVsRWxsaXBzaXNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWNvblwiICpuZ0lmPVwiaWNvblBvc2l0aW9uID09PSAncmlnaHQnICYmICEhaWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1aS1pY29uXG4gICAgICAgICAgW2NvbG9yXT1cIidpbmhlcml0J1wiIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWVcIiBbbmFtZV09XCJpY29uXCIgW2ZpbGxlZF09XCJpc0ZpbGxlZEljb25cIlxuICAgICAgICAgIFtzaXplXT1cInNpemUgPT09ICdzbWFsbCcgPyAnMTYnIDogJzI0J1wiIFt1c2VGdWxsSWNvbk5hbWVdPVwidGhpcy52YXJpYW50ID09PSAncHJpbWFyeScgfHwgdGhpcy52YXJpYW50ID09PSAnc2Vjb25kYXJ5J1wiPjwvdWktaWNvbj48L3NwYW4+XG4gICAgICA8L3NwYW4+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvYnV0dG9uPlxuICAgIDxhXG4gICAgICAjYnV0dG9uRWxlbWVudFxuICAgICAgW25nQ2xhc3NdPVwiY2xhc3NDc3NcIlxuICAgICAgW25nU3R5bGVdPVwic3R5bGVDc3NcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCJidXR0b25DbGljaygkZXZlbnQpXCJcbiAgICAgIChtb3VzZWVudGVyKT1cImJ1dHRvbkhvdmVyKCRldmVudClcIlxuICAgICAgKG1vdXNlbGVhdmUpPVwiYnV0dG9uSG92ZXIoJGV2ZW50KVwiXG4gICAgICAobW91c2Vkb3duKT1cIm9uUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgIChtb3VzZXVwKT1cIm9uUHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5ZG93bigkZXZlbnQpO1wiXG4gICAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCJcbiAgICAgIFtkaXNhYmxlUmlwcGxlXT1cInRydWVcIlxuICAgICAgKm5nSWY9XCIhaXNCdXR0b25MaW5rXCJcbiAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwiYXJpYVJlcXVpcmVkXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInbGFiZWxsZWRieS1saW5rJ1wiXG4gICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidkZXNjcmliZWRieS1saW5rJ1wiXG4gICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAgPyB0b29sdGlwIDogbGFiZWxFbGxpcHNpcyA/IGxhYmVsIDogJydcIlxuICAgICAgW21hdFRvb2x0aXBDbGFzc109XCJhcHBsaWNhdGlvblRoZW1lXCJcbiAgICAgIHJvbGU9XCJsaW5rXCJcbiAgICAgIFtocmVmXT1cInVybFwiXG4gICAgICBbdGFyZ2V0XT1cInVybFRhcmdldFwiXG4gICAgICBtYXQtZmxhdC1idXR0b24+XG4gICAgICA8c3BhbiBpZD1cImRlc2NyaWJlZGJ5LWxpbmtcIiBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIj5cbiAgICAgICAge3sgYXJpYURlc2NyaWJlZGJ5IH19XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBpZD1cImxhYmVsbGVkYnktbGlua1wiIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiPlxuICAgICAgICB7eyBhcmlhTGFiZWxsZWRieSB9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJpY29uLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2E+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -5350,13 +5350,13 @@ class ButtonComponent {
5350
5350
  this.buttonHoverEvent.emit(event);
5351
5351
  this.buttonState = 'hover';
5352
5352
  if (this.shouldChangeFilledStatus && this.icon) {
5353
- this.icon = this.getIconName(this.icon, '-filled');
5353
+ this.icon = this.getIconName(this.iconName, '-filled');
5354
5354
  }
5355
5355
  }
5356
5356
  else {
5357
5357
  this.hover = false;
5358
5358
  if (this.shouldChangeFilledStatus && this.icon) {
5359
- this.icon = this.getIconName(this.icon, '-in-line');
5359
+ this.icon = this.iconName;
5360
5360
  }
5361
5361
  this.buttonState = 'default';
5362
5362
  }