ng-zenduit 2.0.10 → 2.0.11

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.
@@ -105,7 +105,7 @@ export class ZenduInputComponent {
105
105
  /**
106
106
  * Phone input maximum length
107
107
  */
108
- this.phoneMaxLength = 12;
108
+ this.phoneMaxLength = 13;
109
109
  /**
110
110
  * Phone number value (for tel type)
111
111
  */
@@ -355,7 +355,7 @@ export class ZenduInputComponent {
355
355
  // Phone input methods
356
356
  parsePhoneNumber() {
357
357
  try {
358
- this.phoneText = this.phone;
358
+ this.phoneText = this.phone || '';
359
359
  if (this.phone) {
360
360
  const countryFromList = this.countryList.find(country => this.phone.startsWith(country.countryCallingCode) ||
361
361
  `+${this.phone}`.startsWith(country.countryCallingCode));
@@ -554,4 +554,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
554
554
  type: HostBinding,
555
555
  args: ['class.zen-input-wrapper']
556
556
  }] } });
557
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVuZHUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctemVuZHVpdC9zcmMvbGliL2lucHV0L3plbmR1LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9pbnB1dC96ZW5kdS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBS1QsV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFvQnhELE1BQU0sT0FBTyxtQkFBbUI7SUFaaEM7UUFnQkk7O1dBRUc7UUFDTSxTQUFJLEdBQXdFLE1BQU0sQ0FBQztRQUU1Rjs7V0FFRztRQUNNLFlBQU8sR0FBc0csU0FBUyxDQUFDO1FBRWhJOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFMUI7O1dBRUc7UUFDTSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRXBCOztXQUVHO1FBQ00sYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUV2Qjs7V0FFRztRQUNNLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRTFCOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7V0FFRztRQUNNLGdCQUFXLEdBQUcsbUJBQW1CLENBQUM7UUFFM0M7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3Qjs7V0FFRztRQUNNLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRTNCOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7V0FF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QUFuQixNQUFNO2dCQUtHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFLRywwQkFBMEI7c0JBQW5DLE1BQU07Z0JBS0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUtHLDJCQUEyQjtzQkFBcEMsTUFBTTtnQkFLRyxhQUFhO3NCQUF0QixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csV0FBVztzQkFBcEIsTUFBTTtnQkFLRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBK0NILFNBQVM7c0JBRFosV0FBVzt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBcbiAgICBDb21wb25lbnQsIFxuICAgIElucHV0LCBcbiAgICBPdXRwdXQsIFxuICAgIEV2ZW50RW1pdHRlciwgXG4gICAgZm9yd2FyZFJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgSG9zdEJpbmRpbmdcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQaG9uZU51bWJlclV0aWwgfSBmcm9tICdnb29nbGUtbGlicGhvbmVudW1iZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyb3Bkb3duT3B0aW9uIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gICAgaWNvbj86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd6ZW4taW5wdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi96ZW5kdS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vemVuZHUtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBaZW5kdUlucHV0Q29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFplbmR1SW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIFxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgICBcbiAgICAvKipcbiAgICAgKiBJbnB1dCB0eXBlIGF0dHJpYnV0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHR5cGU6ICd0ZXh0JyB8ICdlbWFpbCcgfCAncGFzc3dvcmQnIHwgJ3RlbCcgfCAnbnVtYmVyJyB8ICd1cmwnIHwgJ3NlYXJjaCcgPSAndGV4dCc7XG4gICAgXG4gICAgLyoqXG4gICAgICogSW5wdXQgdmFyaWFudCB0eXBlXG4gICAgICovXG4gICAgQElucHV0KCkgdmFyaWFudDogJ2RlZmF1bHQnIHwgJ2lucHV0LWZpZWxkJyB8ICdwYXltZW50JyB8ICdsZWFkaW5nLWRyb3Bkb3duJyB8ICdsZWFkaW5nLXRleHQnIHwgJ3RyYWlsaW5nLWRyb3Bkb3duJyA9ICdkZWZhdWx0JztcbiAgICBcbiAgICAvKipcbiAgICAgKiBQbGFjZWhvbGRlciB0ZXh0XG4gICAgICovXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBMYWJlbCB0ZXh0IChzaG93biBhYm92ZSBpbnB1dClcbiAgICAgKi9cbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIEhpbnQgdGV4dCAoc2hvd24gYmVsb3cgaW5wdXQpXG4gICAgICovXG4gICAgQElucHV0KCkgaGludFRleHQgPSAnJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBMZWFkaW5nIGljb24gbmFtZSAoTWF0ZXJpYWwgSWNvbnMpXG4gICAgICovXG4gICAgQElucHV0KCkgbGVhZGluZ0ljb24gPSAnJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBTaG93IGhlbHAgaWNvbiB3aXRoIHRvb2x0aXBcbiAgICAgKi9cbiAgICBASW5wdXQoKSBoZWxwSWNvbiA9IGZhbHNlO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFRvb2x0aXAgdGV4dCBmb3IgaGVscCBpY29uXG4gICAgICovXG4gICAgQElucHV0KCkgaGVscFRvb2x0aXAgPSAnVGhpcyBpcyBhIHRvb2x0aXAnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIEVycm9yL2Rlc3RydWN0aXZlIHN0YXRlXG4gICAgICovXG4gICAgQElucHV0KCkgZGVzdHJ1Y3RpdmUgPSBmYWxzZTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBFcnJvciBtZXNzYWdlIHRvIGRpc3BsYXlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBlcnJvck1lc3NhZ2UgPSAnJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBEaXNhYmxlZCBzdGF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gICAgXG4gICAgLyoqXG4gICAgICogUmVxdWlyZWQgZmllbGRcbiAgICAgKi9cbiAgICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xuICAgIFxuICAgIC8qKlxuICAgICAqIE1heGltdW0gY2hhcmFjdGVyIGxlbmd0aFxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyO1xuICAgIFxuICAgIC8qKlxuICAgICAqIE1pbmltdW0gY2hhcmFjdGVyIGxlbmd0aFxuICAgICAqL1xuICAgIEBJbnB1dCgpIG1pbkxlbmd0aDogbnVtYmVyO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFBhdHRlcm4gZm9yIHZhbGlkYXRpb25cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwYXR0ZXJuOiBzdHJpbmc7XG4gICAgXG4gICAgLyoqXG4gICAgICogQXV0b2NvbXBsZXRlIGF0dHJpYnV0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGF1dG9jb21wbGV0ZSA9ICdvZmYnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIE5hbWUgYXR0cmlidXRlXG4gICAgICovXG4gICAgQElucHV0KCkgbmFtZSA9ICcnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIElEIGF0dHJpYnV0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGlkID0gJyc7XG4gICAgXG4gICAgLyoqXG4gICAgICogTGVhZGluZyBkcm9wZG93biBvcHRpb25zXG4gICAgICovXG4gICAgQElucHV0KCkgbGVhZGluZ0Ryb3Bkb3duT3B0aW9uczogRHJvcGRvd25PcHRpb25bXSA9IFtdO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFNlbGVjdGVkIGxlYWRpbmcgZHJvcGRvd24gdmFsdWVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBsZWFkaW5nRHJvcGRvd25WYWx1ZTogc3RyaW5nIHwgbnVtYmVyID0gJyc7XG4gICAgXG4gICAgLyoqXG4gICAgICogTGVhZGluZyBkcm9wZG93biBwbGFjZWhvbGRlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIGxlYWRpbmdEcm9wZG93blBsYWNlaG9sZGVyID0gJ1NlbGVjdCc7XG4gICAgXG4gICAgLyoqXG4gICAgICogVHJhaWxpbmcgZHJvcGRvd24gb3B0aW9uc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRyYWlsaW5nRHJvcGRvd25PcHRpb25zOiBEcm9wZG93bk9wdGlvbltdID0gW107XG4gICAgXG4gICAgLyoqXG4gICAgICogU2VsZWN0ZWQgdHJhaWxpbmcgZHJvcGRvd24gdmFsdWVcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0cmFpbGluZ0Ryb3Bkb3duVmFsdWU6IHN0cmluZyB8IG51bWJlciA9ICcnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFRyYWlsaW5nIGRyb3Bkb3duIHBsYWNlaG9sZGVyXG4gICAgICovXG4gICAgQElucHV0KCkgdHJhaWxpbmdEcm9wZG93blBsYWNlaG9sZGVyID0gJ1NlbGVjdCc7XG4gICAgXG4gICAgLyoqXG4gICAgICogTGVhZGluZyBzdGF0aWMgdGV4dFxuICAgICAqL1xuICAgIEBJbnB1dCgpIGxlYWRpbmdUZXh0ID0gJyc7XG4gICAgXG4gICAgLyoqXG4gICAgICogSW5wdXQgc2l6ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNpemU6ICdzbScgfCAnbWQnID0gJ21kJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBTaG93IGNoYXJhY3RlciBjb3VudGVyXG4gICAgICovXG4gICAgQElucHV0KCkgc2hvd0NoYXJhY3RlckNvdW50ID0gZmFsc2U7XG4gICAgXG4gICAgLyoqXG4gICAgICogUGhvbmUgaW5wdXQgbWF4aW11bSBsZW5ndGhcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwaG9uZU1heExlbmd0aDogbnVtYmVyID0gMTI7XG4gICAgXG4gICAgLyoqXG4gICAgICogUGhvbmUgbnVtYmVyIHZhbHVlIChmb3IgdGVsIHR5cGUpXG4gICAgICovXG4gICAgQElucHV0KCkgcGhvbmU6IHN0cmluZyA9ICcnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFdpZHRoIGZvciBwaG9uZSBpbnB1dFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmc7XG4gICAgXG4gICAgLyoqXG4gICAgICogVmFsdWUgY2hhbmdlIGV2ZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgXG4gICAgLyoqXG4gICAgICogRm9jdXMgZXZlbnRcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgaW5wdXRGb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBCbHVyIGV2ZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpIGlucHV0Qmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBLZXlkb3duIGV2ZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpIGlucHV0S2V5ZG93biA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBLZXl1cCBldmVudFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBpbnB1dEtleXVwID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuICAgIFxuICAgIC8qKlxuICAgICAqIExlYWRpbmcgZHJvcGRvd24gY2hhbmdlIGV2ZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpIGxlYWRpbmdEcm9wZG93bkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVtYmVyPigpO1xuICAgIFxuICAgIC8qKlxuICAgICAqIExlYWRpbmcgZHJvcGRvd24gdmFsdWUgY2hhbmdlIGV2ZW50IChmb3IgdHdvLXdheSBiaW5kaW5nKVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBsZWFkaW5nRHJvcGRvd25WYWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVtYmVyPigpO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFRyYWlsaW5nIGRyb3Bkb3duIGNoYW5nZSBldmVudFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0cmFpbGluZ0Ryb3Bkb3duQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudW1iZXI+KCk7XG4gICAgXG4gICAgLyoqXG4gICAgICogVHJhaWxpbmcgZHJvcGRvd24gdmFsdWUgY2hhbmdlIGV2ZW50IChmb3IgdHdvLXdheSBiaW5kaW5nKVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0cmFpbGluZ0Ryb3Bkb3duVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlcj4oKTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBIZWxwIGljb24gY2xpY2sgZXZlbnRcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgaGVscEljb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBQaG9uZSBjaGFuZ2UgZXZlbnRcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcGhvbmVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBQaG9uZSB2YWxpZCBjaGFuZ2UgZXZlbnRcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdmFsaWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgXG4gICAgLyoqXG4gICAgICogTGVhZGluZyBpY29uIGNsaWNrIGV2ZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpIGxlYWRpbmdJY29uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgXG4gICAgLy8gSW50ZXJuYWwgcHJvcGVydGllc1xuICAgIHB1YmxpYyB2YWx1ZSA9ICcnO1xuICAgIHB1YmxpYyBpc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgc2hvd0hlbHBUb29sdGlwID0gZmFsc2U7XG4gICAgcHVibGljIGxlYWRpbmdEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgdHJhaWxpbmdEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICBcbiAgICAvLyBQaG9uZSBpbnB1dCBwcm9wZXJ0aWVzXG4gICAgcHVibGljIHBob25lVGV4dCA9ICcnO1xuICAgIHB1YmxpYyBjb3VudHJ5TGlzdDogeyBjb3VudHJ5Q29kZTogc3RyaW5nLCBjb3VudHJ5TmFtZTogc3RyaW5nLCBjb3VudHJ5Q2FsbGluZ0NvZGU6IHN0cmluZywgZmxhZzogc3RyaW5nIH1bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgY291bnRyeUNvZGU6IFwiVVNcIixcbiAgICAgICAgICAgIGNvdW50cnlOYW1lOiBcIkFtZXJpY2FcIixcbiAgICAgICAgICAgIGNvdW50cnlDYWxsaW5nQ29kZTogXCIrMVwiLFxuICAgICAgICAgICAgZmxhZzogXCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vemVuZHVpdC1pY29ucy9GbGFncy9VU0Euc3ZnXCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgY291bnRyeUNvZGU6IFwiQ0FcIixcbiAgICAgICAgICAgIGNvdW50cnlOYW1lOiBcIkNhbmFkYVwiLFxuICAgICAgICAgICAgY291bnRyeUNhbGxpbmdDb2RlOiBcIisxXCIsXG4gICAgICAgICAgICBmbGFnOiBcImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS96ZW5kdWl0LWljb25zL0ZsYWdzL0NhbmFkYS5zdmdcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBjb3VudHJ5Q29kZTogXCJNWFwiLFxuICAgICAgICAgICAgY291bnRyeU5hbWU6IFwiTWV4aWNvXCIsXG4gICAgICAgICAgICBjb3VudHJ5Q2FsbGluZ0NvZGU6IFwiKzUyXCIsXG4gICAgICAgICAgICBmbGFnOiBcImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS96ZW5kdWl0LWljb25zL0ZsYWdzL01leGljby5zdmdcIlxuICAgICAgICB9XG4gICAgXTtcbiAgICBcbiAgICBwdWJsaWMgY3VzdG9tQ291bnRyeSA9IHtcbiAgICAgICAgY291bnRyeUNvZGU6IFwiXCIsXG4gICAgICAgIGNvdW50cnlOYW1lOiBcIkN1c3RvbVwiLFxuICAgICAgICBjb3VudHJ5Q2FsbGluZ0NvZGU6IFwiXCIsXG4gICAgICAgIGZsYWc6IFwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbmR1aXQtaWNvbnMvRmxhZ3MvQ3VzdG9tLnN2Z1wiXG4gICAgfTtcbiAgICBcbiAgICBwdWJsaWMgc2VsZWN0ZWRDb3VudHJ5OiB7IGNvdW50cnlDb2RlOiBzdHJpbmcsIGNvdW50cnlOYW1lOiBzdHJpbmcsIGNvdW50cnlDYWxsaW5nQ29kZTogc3RyaW5nLCBmbGFnOiBzdHJpbmcgfTtcbiAgICBwdWJsaWMgaXNQaG9uZURyb3Bkb3duRXhwYW5kZWQgPSBmYWxzZTtcbiAgICBcbiAgICAvLyBDb250cm9sVmFsdWVBY2Nlc3NvciBpbXBsZW1lbnRhdGlvblxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnplbi1pbnB1dC13cmFwcGVyJylcbiAgICBnZXQgaG9zdENsYXNzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIC8vIFNldCBkZWZhdWx0IElEIGlmIG5vdCBwcm92aWRlZFxuICAgICAgICBpZiAoIXRoaXMuaWQpIHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSBgemVuLWlucHV0LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vIEluaXRpYWxpemUgcGhvbmUgaW5wdXQgaWYgdHlwZSBpcyB0ZWxcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3RlbCcpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5jb3VudHJ5TGlzdFsxXTsgLy8gRGVmYXVsdCB0byBDYW5hZGFcbiAgICAgICAgICAgIHRoaXMucGFyc2VQaG9uZU51bWJlcigpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbXCJwaG9uZVwiXSAmJiB0aGlzLnR5cGUgPT09ICd0ZWwnICYmICghdGhpcy5zZWxlY3RlZENvdW50cnkgfHwgIXRoaXMuc2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlDb2RlKSkge1xuICAgICAgICAgICAgdGhpcy5wYXJzZVBob25lTnVtYmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgbWV0aG9kc1xuICAgIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWUgfHwgJyc7XG4gICAgfVxuICAgIFxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG4gICAgXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG4gICAgXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cbiAgICBcbiAgICAvLyBFdmVudCBoYW5kbGVyc1xuICAgIG9uSW5wdXRDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3RlbCcpIHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSBwaG9uZSBpbnB1dFxuICAgICAgICAgICAgdGhpcy5waG9uZVRleHQgPSB0YXJnZXQudmFsdWU7XG4gICAgICAgICAgICB0aGlzLm9uUGhvbmVDaGFuZ2VkKHRhcmdldCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBIYW5kbGUgcmVndWxhciBpbnB1dFxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgb25JbnB1dEZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5pbnB1dEZvY3VzLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgICBcbiAgICBvbklucHV0Qmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlucHV0Qmx1ci5lbWl0KGV2ZW50KTtcbiAgICB9XG4gICAgXG4gICAgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRLZXlkb3duLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgICBcbiAgICBvbktleXVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRLZXl1cC5lbWl0KGV2ZW50KTtcbiAgICB9XG4gICAgXG4gICAgb25MZWFkaW5nRHJvcGRvd25DaGFuZ2UodmFsdWU6IHN0cmluZyB8IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmxlYWRpbmdEcm9wZG93blZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMubGVhZGluZ0Ryb3Bkb3duQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICB0aGlzLmxlYWRpbmdEcm9wZG93blZhbHVlQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICB0aGlzLmxlYWRpbmdEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICB9XG4gICAgXG4gICAgb25UcmFpbGluZ0Ryb3Bkb3duQ2hhbmdlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cmFpbGluZ0Ryb3Bkb3duVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy50cmFpbGluZ0Ryb3Bkb3duQ2hhbmdlLmVtaXQodmFsdWUpO1xuICAgICAgICB0aGlzLnRyYWlsaW5nRHJvcGRvd25WYWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgdGhpcy50cmFpbGluZ0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgIH1cbiAgICBcbiAgICB0b2dnbGVMZWFkaW5nRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5sZWFkaW5nRHJvcGRvd25PcGVuID0gIXRoaXMubGVhZGluZ0Ryb3Bkb3duT3BlbjtcbiAgICAgICAgICAgIHRoaXMudHJhaWxpbmdEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICB0b2dnbGVUcmFpbGluZ0Ryb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMudHJhaWxpbmdEcm9wZG93bk9wZW4gPSAhdGhpcy50cmFpbGluZ0Ryb3Bkb3duT3BlbjtcbiAgICAgICAgICAgIHRoaXMubGVhZGluZ0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIG9uSGVscEljb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dIZWxwVG9vbHRpcCA9ICF0aGlzLnNob3dIZWxwVG9vbHRpcDtcbiAgICAgICAgdGhpcy5oZWxwSWNvbkNsaWNrLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgICBcbiAgICBjbG9zZURyb3Bkb3ducygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sZWFkaW5nRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMudHJhaWxpbmdEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICB9XG4gICAgXG4gICAgZ2V0IGhhc1ZhbHVlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAhPT0gJycgJiYgdGhpcy52YWx1ZSAhPT0gbnVsbCAmJiB0aGlzLnZhbHVlICE9PSB1bmRlZmluZWQ7XG4gICAgfVxuICAgIFxuICAgIGdldCBzaG93TGFiZWwoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMubGFiZWw7XG4gICAgfVxuICAgIFxuICAgIGdldCBzaG93SGludFRleHQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuaGludFRleHQgfHwgKHRoaXMuZGVzdHJ1Y3RpdmUgJiYgISF0aGlzLmVycm9yTWVzc2FnZSk7XG4gICAgfVxuICAgIFxuICAgIGdldCBkaXNwbGF5SGludFRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZGVzdHJ1Y3RpdmUgJiYgdGhpcy5lcnJvck1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5oaW50VGV4dDtcbiAgICB9XG4gICAgXG4gICAgZ2V0IGNoYXJhY3RlckNvdW50KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRMZW5ndGggPSB0aGlzLnZhbHVlID8gdGhpcy52YWx1ZS5sZW5ndGggOiAwO1xuICAgICAgICBpZiAodGhpcy5tYXhMZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtjdXJyZW50TGVuZ3RofS8ke3RoaXMubWF4TGVuZ3RofWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke2N1cnJlbnRMZW5ndGh9YDtcbiAgICB9XG4gICAgXG4gICAgZ2V0IGlucHV0Q2xhc3NlcygpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjbGFzc2VzID0gWyd6ZW4taW5wdXQtY29udGFpbmVyJ107XG4gICAgICAgIFxuICAgICAgICBpZiAodGhpcy5pc0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnZm9jdXNlZCcpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZiAodGhpcy5oYXNWYWx1ZSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCdmaWxsZWQnKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnZGlzYWJsZWQnKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMuZGVzdHJ1Y3RpdmUpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnZGVzdHJ1Y3RpdmUnKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMuc2l6ZSkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKGBzaXplLSR7dGhpcy5zaXplfWApO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpZiAodGhpcy52YXJpYW50KSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goYHZhcmlhbnQtJHt0aGlzLnZhcmlhbnR9YCk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgICB9XG4gICAgXG4gICAgZ2V0TGVhZGluZ0Ryb3Bkb3duTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLmxlYWRpbmdEcm9wZG93bk9wdGlvbnMuZmluZChvcHQgPT4gb3B0LnZhbHVlID09PSB0aGlzLmxlYWRpbmdEcm9wZG93blZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkID8gc2VsZWN0ZWQubGFiZWwgOiB0aGlzLmxlYWRpbmdEcm9wZG93blBsYWNlaG9sZGVyO1xuICAgIH1cbiAgICBcbiAgICBnZXRUcmFpbGluZ0Ryb3Bkb3duTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLnRyYWlsaW5nRHJvcGRvd25PcHRpb25zLmZpbmQob3B0ID0+IG9wdC52YWx1ZSA9PT0gdGhpcy50cmFpbGluZ0Ryb3Bkb3duVmFsdWUpO1xuICAgICAgICByZXR1cm4gc2VsZWN0ZWQgPyBzZWxlY3RlZC5sYWJlbCA6IHRoaXMudHJhaWxpbmdEcm9wZG93blBsYWNlaG9sZGVyO1xuICAgIH1cbiAgICBcbiAgICBmb2N1c0lucHV0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLyBQaG9uZSBpbnB1dCBtZXRob2RzXG4gICAgcGFyc2VQaG9uZU51bWJlcigpOiB2b2lkIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMucGhvbmVUZXh0ID0gdGhpcy5waG9uZTtcblxuICAgICAgICAgICAgaWYgKHRoaXMucGhvbmUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb3VudHJ5RnJvbUxpc3QgPSB0aGlzLmNvdW50cnlMaXN0LmZpbmQoY291bnRyeSA9PiBcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5waG9uZS5zdGFydHNXaXRoKGNvdW50cnkuY291bnRyeUNhbGxpbmdDb2RlKSB8fCBcbiAgICAgICAgICAgICAgICAgICAgYCske3RoaXMucGhvbmV9YC5zdGFydHNXaXRoKGNvdW50cnkuY291bnRyeUNhbGxpbmdDb2RlKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKGNvdW50cnlGcm9tTGlzdCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IGNvdW50cnlGcm9tTGlzdCB8fCB0aGlzLmN1c3RvbUNvdW50cnk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBob25lTnVtYmVyVXRpbCA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJzZWRQaG9uZSA9IHBob25lTnVtYmVyVXRpbC5wYXJzZSh0aGlzLnBob25lIHx8IFwiXCIsICdVUycpO1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnBob25lVGV4dC5zdGFydHNXaXRoKCcrJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBob25lVGV4dCA9IHRoaXMucGhvbmVUZXh0LnJlcGxhY2UoYCske3BhcnNlZFBob25lLmdldENvdW50cnlDb2RlKCl9YCwgXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucGhvbmVUZXh0LnN0YXJ0c1dpdGgocGFyc2VkUGhvbmUuZ2V0Q291bnRyeUNvZGUoKSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBob25lVGV4dCA9IHRoaXMucGhvbmVUZXh0LnJlcGxhY2UocGFyc2VkUGhvbmUuZ2V0Q291bnRyeUNvZGUoKSwgXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uUGhvbmVDaGFuZ2VkKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5jdXN0b21Db3VudHJ5OyAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuY3VzdG9tQ291bnRyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYENhbid0IHBhcnNlIHBob25lOiAke3RoaXMucGhvbmV9YCwgZXJyKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5jdXN0b21Db3VudHJ5O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIG9uQ291bnRyeUNoYW5nZWQoY291bnRyeSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUGhvbmVEcm9wZG93bkV4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gY291bnRyeTtcbiAgICAgICAgdGhpcy5vblBob25lQ2hhbmdlZCgpO1xuICAgIH1cbiAgICBcbiAgICBvblBob25lQ2hhbmdlZChpbnB1dD86IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgLy8gYWxsb3cgKyBpbiBjdXN0b20gY291bnRyeVxuICAgICAgICBsZXQgY3VzdG9tID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ291bnRyeSA9PT0gdGhpcy5jdXN0b21Db3VudHJ5ICYmIHRoaXMucGhvbmVUZXh0LmluY2x1ZGVzKCcrJykpIHtcbiAgICAgICAgICAgIGN1c3RvbSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGNvbnN0IHBob25lVGV4dCA9ICh0aGlzLnBob25lVGV4dCB8fCAnJykucmVwbGFjZSgvXFxEL2csICcnKTtcbiAgICAgICAgdGhpcy5waG9uZVRleHQgPSBjdXN0b20gPyBgKyR7cGhvbmVUZXh0fWAgOiBwaG9uZVRleHQ7XG4gICAgICAgIGlmIChpbnB1dCAmJiBpbnB1dC52YWx1ZSAhPT0gdGhpcy5waG9uZVRleHQpIHtcbiAgICAgICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5waG9uZVRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZnVsbE51bWJlciA9IGAke3RoaXMuc2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZX0ke3RoaXMucGhvbmVUZXh0fWA7XG4gICAgICAgIGlmICh0aGlzLnBob25lICE9PSBmdWxsTnVtYmVyKSB7XG4gICAgICAgICAgICB0aGlzLnBob25lQ2hhbmdlLmVtaXQoZnVsbE51bWJlcik7XG4gICAgICAgICAgICAvLyBBbHNvIHVwZGF0ZSB0aGUgbWFpbiB2YWx1ZSBmb3IgZm9ybSBpbnRlZ3JhdGlvblxuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IGZ1bGxOdW1iZXI7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBob25lTnVtYmVyVXRpbCA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENvdW50cnkgPT09IHRoaXMuY3VzdG9tQ291bnRyeSkge1xuICAgICAgICAgICAgdGhpcy52YWxpZENoYW5nZS5lbWl0KHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkQ2hhbmdlLmVtaXQocGhvbmVOdW1iZXJVdGlsLmlzVmFsaWROdW1iZXIocGhvbmVOdW1iZXJVdGlsLnBhcnNlQW5kS2VlcFJhd0lucHV0KGZ1bGxOdW1iZXIpKSk7XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbGlkQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhpZGVQaG9uZURyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUGhvbmVEcm9wZG93bkV4cGFuZGVkID0gZmFsc2U7XG4gICAgfVxuICAgIFxuICAgIHRvZ2dsZVBob25lRHJvcGRvd24oKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc1Bob25lRHJvcGRvd25FeHBhbmRlZCA9ICF0aGlzLmlzUGhvbmVEcm9wZG93bkV4cGFuZGVkO1xuICAgIH1cbiAgICBcbiAgICBvblBob25lSW5wdXRDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICB0aGlzLnBob25lVGV4dCA9IHRhcmdldC52YWx1ZTtcbiAgICAgICAgdGhpcy5vblBob25lQ2hhbmdlZCh0YXJnZXQpO1xuICAgIH1cbiAgICBcbiAgICBvbkxlYWRpbmdJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMubGVhZGluZ0ljb25DbGljay5lbWl0KGV2ZW50KTtcbiAgICAgICAgXG4gICAgICAgIC8vIEZvY3VzIHRoZSBpbnB1dCB3aGVuIGxlYWRpbmcgaWNvbiBpcyBjbGlja2VkXG4gICAgICAgIHRoaXMuZm9jdXNJbnB1dCgpO1xuICAgIH1cbn0iLCI8ZGl2IGNsYXNzPVwiemVuLWlucHV0LWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cImlucHV0Q2xhc3Nlc1wiPlxuICAgIDwhLS0gTGFiZWwgLS0+XG4gICAgPGxhYmVsICpuZ0lmPVwic2hvd0xhYmVsXCIgXG4gICAgICAgICAgIFtmb3JdPVwiaWRcIiBcbiAgICAgICAgICAgY2xhc3M9XCJ6ZW4taW5wdXQtbGFiZWwgdGV4dCB0ZXh0LXNtIHRleHQtd2VpZ2h0LW1lZGl1bVwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsncmVxdWlyZWQnOiByZXF1aXJlZCwgJ2Rpc2FibGVkJzogZGlzYWJsZWQsICdkZXN0cnVjdGl2ZSc6IGRlc3RydWN0aXZlfVwiPlxuICAgICAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8c3BhbiAqbmdJZj1cInJlcXVpcmVkXCIgY2xhc3M9XCJyZXF1aXJlZC1pbmRpY2F0b3JcIj4qPC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gICAgXG4gICAgPCEtLSBJbnB1dCB3cmFwcGVyIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJ6ZW4taW5wdXQtZmllbGQtd3JhcHBlclwiIChjbGljayk9XCJmb2N1c0lucHV0KClcIj5cbiAgICAgICAgXG4gICAgICAgIDwhLS0gTGVhZGluZyBpY29uIC0tPlxuICAgICAgICA8aSAqbmdJZj1cImxlYWRpbmdJY29uICYmIHZhcmlhbnQgPT09ICdkZWZhdWx0J1wiIFxuICAgICAgICAgICBjbGFzcz1cIm1hdGVyaWFsLWljb25zIHplbi1pbnB1dC1sZWFkaW5nLWljb25cIlxuICAgICAgICAgICAoY2xpY2spPVwib25MZWFkaW5nSWNvbkNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgIHt7IGxlYWRpbmdJY29uIH19XG4gICAgICAgIDwvaT5cbiAgICAgICAgXG4gICAgICAgIDwhLS0gTGVhZGluZyBkcm9wZG93biAtLT5cbiAgICAgICAgPGRpdiAqbmdJZj1cInZhcmlhbnQgPT09ICdsZWFkaW5nLWRyb3Bkb3duJ1wiIFxuICAgICAgICAgICAgIGNsYXNzPVwiemVuLWlucHV0LWxlYWRpbmctZHJvcGRvd25cIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLWRyb3Bkb3duLXRyaWdnZXJcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlTGVhZGluZ0Ryb3Bkb3duKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZHJvcGRvd24tbGFiZWxcIj57eyBnZXRMZWFkaW5nRHJvcGRvd25MYWJlbCgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgZHJvcGRvd24taWNvblwiPmV4cGFuZF9tb3JlPC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ6ZW4tZHJvcGRvd24tbWVudVwiIFxuICAgICAgICAgICAgICAgICAqbmdJZj1cImxlYWRpbmdEcm9wZG93bk9wZW5cIlxuICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J29wZW4nOiBsZWFkaW5nRHJvcGRvd25PcGVufVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBsZWFkaW5nRHJvcGRvd25PcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ6ZW4tZHJvcGRvd24tb3B0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOiBvcHRpb24udmFsdWUgPT09IGxlYWRpbmdEcm9wZG93blZhbHVlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25MZWFkaW5nRHJvcGRvd25DaGFuZ2Uob3B0aW9uLnZhbHVlKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwib3B0aW9uLmljb25cIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIG9wdGlvbi1pY29uXCI+e3sgb3B0aW9uLmljb24gfX08L2k+XG4gICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgPCEtLSBMZWFkaW5nIHRleHQgLS0+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwidmFyaWFudCA9PT0gJ2xlYWRpbmctdGV4dCdcIiBcbiAgICAgICAgICAgICAgY2xhc3M9XCJ6ZW4taW5wdXQtbGVhZGluZy10ZXh0IHRleHQgdGV4dC1tZCB0ZXh0LXdlaWdodC1yZWd1bGFyXCI+XG4gICAgICAgICAgICB7eyBsZWFkaW5nVGV4dCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIFxuICAgICAgICA8IS0tIFBheW1lbnQgY2FyZCBpY29uIC0tPlxuICAgICAgICA8ZGl2ICpuZ0lmPVwidmFyaWFudCA9PT0gJ3BheW1lbnQnXCIgXG4gICAgICAgICAgICAgY2xhc3M9XCJ6ZW4tcGF5bWVudC1jYXJkLWljb25cIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgY2FyZC1pY29uXCI+cGF5bWVudDwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIFxuICAgICAgICA8IS0tIElucHV0IGNvbnRlbnQgYmFzZWQgb24gdHlwZSAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09ICd0ZWwnOyBlbHNlIGRlZmF1bHRJbnB1dFRlbXBsYXRlXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGhvbmVJbnB1dFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICBcbiAgICAgICAgPCEtLSBEZWZhdWx0IGlucHV0IHRlbXBsYXRlIC0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRJbnB1dFRlbXBsYXRlPlxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dEVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgW2F0dHIubWlubGVuZ3RoXT1cIm1pbkxlbmd0aFwiXG4gICAgICAgICAgICAgICAgICAgW3BhdHRlcm5dPVwicGF0dGVyblwiXG4gICAgICAgICAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLWlucHV0LWZpZWxkIHRleHQgdGV4dC1tZCB0ZXh0LXdlaWdodC1yZWd1bGFyXCJcbiAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3plbi1wYXltZW50LWZpZWxkJzogdmFyaWFudCA9PT0gJ3BheW1lbnQnfVwiXG4gICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgKGZvY3VzKT1cIm9uSW5wdXRGb2N1cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgKGtleXVwKT1cIm9uS2V5dXAoJGV2ZW50KVwiIC8+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIFxuICAgICAgICA8IS0tIFRyYWlsaW5nIGVsZW1lbnRzIGNvbnRhaW5lciAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInplbi1pbnB1dC10cmFpbGluZy1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDwhLS0gQ2hhcmFjdGVyIGNvdW50ZXIgLS0+XG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNob3dDaGFyYWN0ZXJDb3VudCAmJiAhaGVscEljb24gJiYgdmFyaWFudCA9PT0gJ2RlZmF1bHQnXCIgXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1jaGFyYWN0ZXItY291bnQgdGV4dCB0ZXh0LXNtIHRleHQtd2VpZ2h0LXJlZ3VsYXJcIj5cbiAgICAgICAgICAgICAgICB7eyBjaGFyYWN0ZXJDb3VudCB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8IS0tIEhlbHAgaWNvbiAtLT5cbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJoZWxwSWNvbiAmJiB2YXJpYW50ICE9PSAndHJhaWxpbmctZHJvcGRvd24nXCIgXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1oZWxwLWljb25cIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25IZWxwSWNvbkNsaWNrKCRldmVudCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWRcIj5oZWxwX291dGxpbmU8L2k+XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgPCEtLSBIZWxwIHRvb2x0aXAgLS0+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInplbi1oZWxwLXRvb2x0aXBcIiBcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwic2hvd0hlbHBUb29sdGlwXCJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRvb2x0aXAtY29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaGVscFRvb2x0aXAgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWFycm93XCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPCEtLSBUcmFpbGluZyBkcm9wZG93biAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ2YXJpYW50ID09PSAndHJhaWxpbmctZHJvcGRvd24nXCIgXG4gICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLWlucHV0LXRyYWlsaW5nLWRyb3Bkb3duXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLWRyb3Bkb3duLXRyaWdnZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVUcmFpbGluZ0Ryb3Bkb3duKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duLWxhYmVsXCI+e3sgZ2V0VHJhaWxpbmdEcm9wZG93bkxhYmVsKCkgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgZHJvcGRvd24taWNvblwiPmV4cGFuZF9tb3JlPC9pPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ6ZW4tZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LXJpZ2h0XCIgXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInRyYWlsaW5nRHJvcGRvd25PcGVuXCJcbiAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnb3Blbic6IHRyYWlsaW5nRHJvcGRvd25PcGVufVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgdHJhaWxpbmdEcm9wZG93bk9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLWRyb3Bkb3duLW9wdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZCc6IG9wdGlvbi52YWx1ZSA9PT0gdHJhaWxpbmdEcm9wZG93blZhbHVlfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uVHJhaWxpbmdEcm9wZG93bkNoYW5nZShvcHRpb24udmFsdWUpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwib3B0aW9uLmljb25cIiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIG9wdGlvbi1pY29uXCI+e3sgb3B0aW9uLmljb24gfX08L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgXG4gICAgPCEtLSBIaW50IHRleHQgLyBFcnJvciBtZXNzYWdlIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJzaG93SGludFRleHRcIiBcbiAgICAgICAgIGNsYXNzPVwiemVuLWlucHV0LWhpbnQgdGV4dCB0ZXh0LXNtIHRleHQtd2VpZ2h0LXJlZ3VsYXJcIlxuICAgICAgICAgW25nQ2xhc3NdPVwieydkZXN0cnVjdGl2ZSc6IGRlc3RydWN0aXZlfVwiPlxuICAgICAgICA8aSAqbmdJZj1cImRlc3RydWN0aXZlXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCBoaW50LWljb25cIj5lcnJvcl9vdXRsaW5lPC9pPlxuICAgICAgICB7eyBkaXNwbGF5SGludFRleHQgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgICBcbiAgICA8IS0tIFBob25lIENvdW50cnkgRHJvcGRvd24gKGZvciB0ZWwgdHlwZSkgLS0+XG4gICAgPGRpdiAqbmdJZj1cInR5cGUgPT09ICd0ZWwnICYmIGlzUGhvbmVEcm9wZG93bkV4cGFuZGVkXCIgXG4gICAgICAgICBjbGFzcz1cInplbi1waG9uZS1kcm9wZG93bi1tZW51XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ6ZW4tcGhvbmUtZHJvcGRvd24tbGlzdFwiPlxuICAgICAgICAgICAgPCEtLSBDb3VudHJpZXMgTGlzdCAtLT5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLXBob25lLWRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgY291bnRyeSBvZiBjb3VudHJ5TGlzdFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogc2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlOYW1lID09PSBjb3VudHJ5LmNvdW50cnlOYW1lfVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNvdW50cnlDaGFuZ2VkKGNvdW50cnkpXCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInplbi1waG9uZS1jb3VudHJ5LWZsYWdcIlxuICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjb3VudHJ5LmZsYWdcIlxuICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJjb3VudHJ5LmNvdW50cnlOYW1lXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1uYW1lXCI+e3sgY291bnRyeS5jb3VudHJ5TmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInplbi1waG9uZS1jb3VudHJ5LWNvZGVcIj57eyBjb3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8IS0tIEN1c3RvbSBDb3VudHJ5IC0tPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ6ZW4tcGhvbmUtZHJvcGRvd24taXRlbVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogc2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlOYW1lID09PSBjdXN0b21Db3VudHJ5LmNvdW50cnlOYW1lfVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNvdW50cnlDaGFuZ2VkKGN1c3RvbUNvdW50cnkpXCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInplbi1waG9uZS1jb3VudHJ5LWZsYWdcIlxuICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJjdXN0b21Db3VudHJ5LmZsYWdcIlxuICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJjdXN0b21Db3VudHJ5LmNvdW50cnlOYW1lXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1uYW1lXCI+e3sgY3VzdG9tQ291bnRyeS5jb3VudHJ5TmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInplbi1waG9uZS1jb3VudHJ5LWNvZGVcIj57eyBjdXN0b21Db3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIFBob25lIElucHV0IFRlbXBsYXRlIC0tPlxuPG5nLXRlbXBsYXRlICNwaG9uZUlucHV0VGVtcGxhdGU+XG4gICAgPCEtLSBQaG9uZSBjb3VudHJ5IHNlbGVjdG9yIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1zZWxlY3RcIj5cbiAgICAgICAgPGltZyBjbGFzcz1cInplbi1waG9uZS1jb3VudHJ5LWZsYWdcIlxuICAgICAgICAgICAgIFtzcmNdPVwic2VsZWN0ZWRDb3VudHJ5LmZsYWdcIlxuICAgICAgICAgICAgIFthbHRdPVwic2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlOYW1lXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiemVuLXBob25lLWNvZGVcIj57eyBzZWxlY3RlZENvdW50cnkuY291bnRyeUNhbGxpbmdDb2RlIH19PC9zcGFuPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLXBob25lLWRyb3Bkb3duLWJ0blwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUGhvbmVEcm9wZG93bigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMgemVuLXBob25lLWV4cGFuZC1pY29uXCJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogaXNQaG9uZURyb3Bkb3duRXhwYW5kZWR9XCI+ZXhwYW5kX21vcmU8L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIFxuICAgIDwhLS0gUGhvbmUgaW5wdXQgZmllbGQgLS0+XG4gICAgPGlucHV0ICNpbnB1dEVsZW1lbnRcbiAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgW3ZhbHVlXT1cInBob25lVGV4dFwiXG4gICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJwaG9uZU1heExlbmd0aFwiXG4gICAgICAgICAgIFthdHRyLm1pbmxlbmd0aF09XCJtaW5MZW5ndGhcIlxuICAgICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICAgICAgIGNsYXNzPVwiemVuLWlucHV0LWZpZWxkIHRleHQgdGV4dC1tZCB0ZXh0LXdlaWdodC1yZWd1bGFyXCJcbiAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgIChibHVyKT1cIm9uSW5wdXRCbHVyKCRldmVudClcIlxuICAgICAgICAgICAoa2V5ZG93bik9XCJvbktleWRvd24oJGV2ZW50KVwiXG4gICAgICAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIiAvPlxuPC9uZy10ZW1wbGF0ZT5cblxuPCEtLSBDbGljayBvdXRzaWRlIGhhbmRsZXIgZm9yIGRyb3Bkb3ducyAtLT5cbjxkaXYgKm5nSWY9XCJsZWFkaW5nRHJvcGRvd25PcGVuIHx8IHRyYWlsaW5nRHJvcGRvd25PcGVuIHx8IGlzUGhvbmVEcm9wZG93bkV4cGFuZGVkXCIgXG4gICAgIGNsYXNzPVwiemVuLWRyb3Bkb3duLWJhY2tkcm9wXCIgXG4gICAgIChjbGljayk9XCJjbG9zZURyb3Bkb3ducygpOyBoaWRlUGhvbmVEcm9wZG93bigpXCI+PC9kaXY+Il19
557
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVuZHUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctemVuZHVpdC9zcmMvbGliL2lucHV0L3plbmR1LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9pbnB1dC96ZW5kdS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBS1QsV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFvQnhELE1BQU0sT0FBTyxtQkFBbUI7SUFaaEM7UUFnQkk7O1dBRUc7UUFDTSxTQUFJLEdBQXdFLE1BQU0sQ0FBQztRQUU1Rjs7V0FFRztRQUNNLFlBQU8sR0FBc0csU0FBUyxDQUFDO1FBRWhJOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFMUI7O1dBRUc7UUFDTSxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBRXBCOztXQUVHO1FBQ00sYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUV2Qjs7V0FFRztRQUNNLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRTFCOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7V0FFRztRQUNNLGdCQUFXLEdBQUcsbUJBQW1CLENBQUM7UUFFM0M7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3Qjs7V0FFRztRQUNNLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRTNCOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7V0FF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S0csVUFBVTtzQkFBbkIsTUFBTTtnQkFLRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBS0csMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUtHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFLRywyQkFBMkI7c0JBQXBDLE1BQU07Z0JBS0csYUFBYTtzQkFBdEIsTUFBTTtnQkFLRyxXQUFXO3NCQUFwQixNQUFNO2dCQUtHLFdBQVc7c0JBQXBCLE1BQU07Z0JBS0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQStDSCxTQUFTO3NCQURaLFdBQVc7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXG4gICAgQ29tcG9uZW50LCBcbiAgICBJbnB1dCwgXG4gICAgT3V0cHV0LCBcbiAgICBFdmVudEVtaXR0ZXIsIFxuICAgIGZvcndhcmRSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJVdGlsIH0gZnJvbSAnZ29vZ2xlLWxpYnBob25lbnVtYmVyJztcblxuZXhwb3J0IGludGVyZmFjZSBEcm9wZG93bk9wdGlvbiB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGljb24/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnemVuLWlucHV0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vemVuZHUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3plbmR1LWlucHV0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gWmVuZHVJbnB1dENvbXBvbmVudCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBaZW5kdUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBcbiAgICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnKSBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gICAgXG4gICAgLyoqXG4gICAgICogSW5wdXQgdHlwZSBhdHRyaWJ1dGVcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0eXBlOiAndGV4dCcgfCAnZW1haWwnIHwgJ3Bhc3N3b3JkJyB8ICd0ZWwnIHwgJ251bWJlcicgfCAndXJsJyB8ICdzZWFyY2gnID0gJ3RleHQnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIElucHV0IHZhcmlhbnQgdHlwZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHZhcmlhbnQ6ICdkZWZhdWx0JyB8ICdpbnB1dC1maWVsZCcgfCAncGF5bWVudCcgfCAnbGVhZGluZy1kcm9wZG93bicgfCAnbGVhZGluZy10ZXh0JyB8ICd0cmFpbGluZy1kcm9wZG93bicgPSAnZGVmYXVsdCc7XG4gICAgXG4gICAgLyoqXG4gICAgICogUGxhY2Vob2xkZXIgdGV4dFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyID0gJyc7XG4gICAgXG4gICAgLyoqXG4gICAgICogTGFiZWwgdGV4dCAoc2hvd24gYWJvdmUgaW5wdXQpXG4gICAgICovXG4gICAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBIaW50IHRleHQgKHNob3duIGJlbG93IGlucHV0KVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGhpbnRUZXh0ID0gJyc7XG4gICAgXG4gICAgLyoqXG4gICAgICogTGVhZGluZyBpY29uIG5hbWUgKE1hdGVyaWFsIEljb25zKVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGxlYWRpbmdJY29uID0gJyc7XG4gICAgXG4gICAgLyoqXG4gICAgICogU2hvdyBoZWxwIGljb24gd2l0aCB0b29sdGlwXG4gICAgICovXG4gICAgQElucHV0KCkgaGVscEljb24gPSBmYWxzZTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBUb29sdGlwIHRleHQgZm9yIGhlbHAgaWNvblxuICAgICAqL1xuICAgIEBJbnB1dCgpIGhlbHBUb29sdGlwID0gJ1RoaXMgaXMgYSB0b29sdGlwJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBFcnJvci9kZXN0cnVjdGl2ZSBzdGF0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGRlc3RydWN0aXZlID0gZmFsc2U7XG4gICAgXG4gICAgLyoqXG4gICAgICogRXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5XG4gICAgICovXG4gICAgQElucHV0KCkgZXJyb3JNZXNzYWdlID0gJyc7XG4gICAgXG4gICAgLyoqXG4gICAgICogRGlzYWJsZWQgc3RhdGVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFJlcXVpcmVkIGZpZWxkXG4gICAgICovXG4gICAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBNYXhpbXVtIGNoYXJhY3RlciBsZW5ndGhcbiAgICAgKi9cbiAgICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlcjtcbiAgICBcbiAgICAvKipcbiAgICAgKiBNaW5pbXVtIGNoYXJhY3RlciBsZW5ndGhcbiAgICAgKi9cbiAgICBASW5wdXQoKSBtaW5MZW5ndGg6IG51bWJlcjtcbiAgICBcbiAgICAvKipcbiAgICAgKiBQYXR0ZXJuIGZvciB2YWxpZGF0aW9uXG4gICAgICovXG4gICAgQElucHV0KCkgcGF0dGVybjogc3RyaW5nO1xuICAgIFxuICAgIC8qKlxuICAgICAqIEF1dG9jb21wbGV0ZSBhdHRyaWJ1dGVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhdXRvY29tcGxldGUgPSAnb2ZmJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBOYW1lIGF0dHJpYnV0ZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG5hbWUgPSAnJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBJRCBhdHRyaWJ1dGVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBpZCA9ICcnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIExlYWRpbmcgZHJvcGRvd24gb3B0aW9uc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGxlYWRpbmdEcm9wZG93bk9wdGlvbnM6IERyb3Bkb3duT3B0aW9uW10gPSBbXTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBTZWxlY3RlZCBsZWFkaW5nIGRyb3Bkb3duIHZhbHVlXG4gICAgICovXG4gICAgQElucHV0KCkgbGVhZGluZ0Ryb3Bkb3duVmFsdWU6IHN0cmluZyB8IG51bWJlciA9ICcnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIExlYWRpbmcgZHJvcGRvd24gcGxhY2Vob2xkZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKSBsZWFkaW5nRHJvcGRvd25QbGFjZWhvbGRlciA9ICdTZWxlY3QnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFRyYWlsaW5nIGRyb3Bkb3duIG9wdGlvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0cmFpbGluZ0Ryb3Bkb3duT3B0aW9uczogRHJvcGRvd25PcHRpb25bXSA9IFtdO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFNlbGVjdGVkIHRyYWlsaW5nIGRyb3Bkb3duIHZhbHVlXG4gICAgICovXG4gICAgQElucHV0KCkgdHJhaWxpbmdEcm9wZG93blZhbHVlOiBzdHJpbmcgfCBudW1iZXIgPSAnJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBUcmFpbGluZyBkcm9wZG93biBwbGFjZWhvbGRlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRyYWlsaW5nRHJvcGRvd25QbGFjZWhvbGRlciA9ICdTZWxlY3QnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIExlYWRpbmcgc3RhdGljIHRleHRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBsZWFkaW5nVGV4dCA9ICcnO1xuICAgIFxuICAgIC8qKlxuICAgICAqIElucHV0IHNpemVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaXplOiAnc20nIHwgJ21kJyA9ICdtZCc7XG4gICAgXG4gICAgLyoqXG4gICAgICogU2hvdyBjaGFyYWN0ZXIgY291bnRlclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dDaGFyYWN0ZXJDb3VudCA9IGZhbHNlO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFBob25lIGlucHV0IG1heGltdW0gbGVuZ3RoXG4gICAgICovXG4gICAgQElucHV0KCkgcGhvbmVNYXhMZW5ndGg6IG51bWJlciA9IDEzO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFBob25lIG51bWJlciB2YWx1ZSAoZm9yIHRlbCB0eXBlKVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHBob25lOiBzdHJpbmcgPSAnJztcbiAgICBcbiAgICAvKipcbiAgICAgKiBXaWR0aCBmb3IgcGhvbmUgaW5wdXRcbiAgICAgKi9cbiAgICBASW5wdXQoKSB3aWR0aDogc3RyaW5nO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFZhbHVlIGNoYW5nZSBldmVudFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIFxuICAgIC8qKlxuICAgICAqIEZvY3VzIGV2ZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpIGlucHV0Rm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG4gICAgXG4gICAgLyoqXG4gICAgICogQmx1ciBldmVudFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBpbnB1dEJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzRXZlbnQ+KCk7XG4gICAgXG4gICAgLyoqXG4gICAgICogS2V5ZG93biBldmVudFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBpbnB1dEtleWRvd24gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG4gICAgXG4gICAgLyoqXG4gICAgICogS2V5dXAgZXZlbnRcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgaW5wdXRLZXl1cCA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBMZWFkaW5nIGRyb3Bkb3duIGNoYW5nZSBldmVudFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBsZWFkaW5nRHJvcGRvd25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlcj4oKTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBMZWFkaW5nIGRyb3Bkb3duIHZhbHVlIGNoYW5nZSBldmVudCAoZm9yIHR3by13YXkgYmluZGluZylcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgbGVhZGluZ0Ryb3Bkb3duVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZyB8IG51bWJlcj4oKTtcbiAgICBcbiAgICAvKipcbiAgICAgKiBUcmFpbGluZyBkcm9wZG93biBjaGFuZ2UgZXZlbnRcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdHJhaWxpbmdEcm9wZG93bkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVtYmVyPigpO1xuICAgIFxuICAgIC8qKlxuICAgICAqIFRyYWlsaW5nIGRyb3Bkb3duIHZhbHVlIGNoYW5nZSBldmVudCAoZm9yIHR3by13YXkgYmluZGluZylcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgdHJhaWxpbmdEcm9wZG93blZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudW1iZXI+KCk7XG4gICAgXG4gICAgLyoqXG4gICAgICogSGVscCBpY29uIGNsaWNrIGV2ZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpIGhlbHBJY29uQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgXG4gICAgLyoqXG4gICAgICogUGhvbmUgY2hhbmdlIGV2ZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpIHBob25lQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgXG4gICAgLyoqXG4gICAgICogUGhvbmUgdmFsaWQgY2hhbmdlIGV2ZW50XG4gICAgICovXG4gICAgQE91dHB1dCgpIHZhbGlkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIFxuICAgIC8qKlxuICAgICAqIExlYWRpbmcgaWNvbiBjbGljayBldmVudFxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBsZWFkaW5nSWNvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICAgIFxuICAgIC8vIEludGVybmFsIHByb3BlcnRpZXNcbiAgICBwdWJsaWMgdmFsdWUgPSAnJztcbiAgICBwdWJsaWMgaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgcHVibGljIHNob3dIZWxwVG9vbHRpcCA9IGZhbHNlO1xuICAgIHB1YmxpYyBsZWFkaW5nRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgcHVibGljIHRyYWlsaW5nRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgXG4gICAgLy8gUGhvbmUgaW5wdXQgcHJvcGVydGllc1xuICAgIHB1YmxpYyBwaG9uZVRleHQgPSAnJztcbiAgICBwdWJsaWMgY291bnRyeUxpc3Q6IHsgY291bnRyeUNvZGU6IHN0cmluZywgY291bnRyeU5hbWU6IHN0cmluZywgY291bnRyeUNhbGxpbmdDb2RlOiBzdHJpbmcsIGZsYWc6IHN0cmluZyB9W10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGNvdW50cnlDb2RlOiBcIlVTXCIsXG4gICAgICAgICAgICBjb3VudHJ5TmFtZTogXCJBbWVyaWNhXCIsXG4gICAgICAgICAgICBjb3VudHJ5Q2FsbGluZ0NvZGU6IFwiKzFcIixcbiAgICAgICAgICAgIGZsYWc6IFwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbmR1aXQtaWNvbnMvRmxhZ3MvVVNBLnN2Z1wiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGNvdW50cnlDb2RlOiBcIkNBXCIsXG4gICAgICAgICAgICBjb3VudHJ5TmFtZTogXCJDYW5hZGFcIixcbiAgICAgICAgICAgIGNvdW50cnlDYWxsaW5nQ29kZTogXCIrMVwiLFxuICAgICAgICAgICAgZmxhZzogXCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vemVuZHVpdC1pY29ucy9GbGFncy9DYW5hZGEuc3ZnXCJcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgY291bnRyeUNvZGU6IFwiTVhcIixcbiAgICAgICAgICAgIGNvdW50cnlOYW1lOiBcIk1leGljb1wiLFxuICAgICAgICAgICAgY291bnRyeUNhbGxpbmdDb2RlOiBcIis1MlwiLFxuICAgICAgICAgICAgZmxhZzogXCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vemVuZHVpdC1pY29ucy9GbGFncy9NZXhpY28uc3ZnXCJcbiAgICAgICAgfVxuICAgIF07XG4gICAgXG4gICAgcHVibGljIGN1c3RvbUNvdW50cnkgPSB7XG4gICAgICAgIGNvdW50cnlDb2RlOiBcIlwiLFxuICAgICAgICBjb3VudHJ5TmFtZTogXCJDdXN0b21cIixcbiAgICAgICAgY291bnRyeUNhbGxpbmdDb2RlOiBcIlwiLFxuICAgICAgICBmbGFnOiBcImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS96ZW5kdWl0LWljb25zL0ZsYWdzL0N1c3RvbS5zdmdcIlxuICAgIH07XG4gICAgXG4gICAgcHVibGljIHNlbGVjdGVkQ291bnRyeTogeyBjb3VudHJ5Q29kZTogc3RyaW5nLCBjb3VudHJ5TmFtZTogc3RyaW5nLCBjb3VudHJ5Q2FsbGluZ0NvZGU6IHN0cmluZywgZmxhZzogc3RyaW5nIH07XG4gICAgcHVibGljIGlzUGhvbmVEcm9wZG93bkV4cGFuZGVkID0gZmFsc2U7XG4gICAgXG4gICAgLy8gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50YXRpb25cbiAgICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy56ZW4taW5wdXQtd3JhcHBlcicpXG4gICAgZ2V0IGhvc3RDbGFzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIFxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBTZXQgZGVmYXVsdCBJRCBpZiBub3QgcHJvdmlkZWRcbiAgICAgICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICAgICAgICB0aGlzLmlkID0gYHplbi1pbnB1dC0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA5KX1gO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBJbml0aWFsaXplIHBob25lIGlucHV0IGlmIHR5cGUgaXMgdGVsXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICd0ZWwnKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuY291bnRyeUxpc3RbMV07IC8vIERlZmF1bHQgdG8gQ2FuYWRhXG4gICAgICAgICAgICB0aGlzLnBhcnNlUGhvbmVOdW1iZXIoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzW1wicGhvbmVcIl0gJiYgdGhpcy50eXBlID09PSAndGVsJyAmJiAoIXRoaXMuc2VsZWN0ZWRDb3VudHJ5IHx8ICF0aGlzLnNlbGVjdGVkQ291bnRyeS5jb3VudHJ5Q29kZSkpIHtcbiAgICAgICAgICAgIHRoaXMucGFyc2VQaG9uZU51bWJlcigpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8vIENvbnRyb2xWYWx1ZUFjY2Vzc29yIG1ldGhvZHNcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlIHx8ICcnO1xuICAgIH1cbiAgICBcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuICAgIFxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuICAgIFxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG4gICAgXG4gICAgLy8gRXZlbnQgaGFuZGxlcnNcbiAgICBvbklucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICd0ZWwnKSB7XG4gICAgICAgICAgICAvLyBIYW5kbGUgcGhvbmUgaW5wdXRcbiAgICAgICAgICAgIHRoaXMucGhvbmVUZXh0ID0gdGFyZ2V0LnZhbHVlO1xuICAgICAgICAgICAgdGhpcy5vblBob25lQ2hhbmdlZCh0YXJnZXQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSGFuZGxlIHJlZ3VsYXIgaW5wdXRcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0YXJnZXQudmFsdWU7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIG9uSW5wdXRGb2N1cyhldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIHRoaXMuaW5wdXRGb2N1cy5lbWl0KGV2ZW50KTtcbiAgICB9XG4gICAgXG4gICAgb25JbnB1dEJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbnB1dEJsdXIuZW1pdChldmVudCk7XG4gICAgfVxuICAgIFxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0S2V5ZG93bi5lbWl0KGV2ZW50KTtcbiAgICB9XG4gICAgXG4gICAgb25LZXl1cChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0S2V5dXAuZW1pdChldmVudCk7XG4gICAgfVxuICAgIFxuICAgIG9uTGVhZGluZ0Ryb3Bkb3duQ2hhbmdlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sZWFkaW5nRHJvcGRvd25WYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmxlYWRpbmdEcm9wZG93bkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5sZWFkaW5nRHJvcGRvd25WYWx1ZUNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgdGhpcy5sZWFkaW5nRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgfVxuICAgIFxuICAgIG9uVHJhaWxpbmdEcm9wZG93bkNoYW5nZSh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJhaWxpbmdEcm9wZG93blZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMudHJhaWxpbmdEcm9wZG93bkNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICAgICAgdGhpcy50cmFpbGluZ0Ryb3Bkb3duVmFsdWVDaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICAgIHRoaXMudHJhaWxpbmdEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICB9XG4gICAgXG4gICAgdG9nZ2xlTGVhZGluZ0Ryb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMubGVhZGluZ0Ryb3Bkb3duT3BlbiA9ICF0aGlzLmxlYWRpbmdEcm9wZG93bk9wZW47XG4gICAgICAgICAgICB0aGlzLnRyYWlsaW5nRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgdG9nZ2xlVHJhaWxpbmdEcm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLnRyYWlsaW5nRHJvcGRvd25PcGVuID0gIXRoaXMudHJhaWxpbmdEcm9wZG93bk9wZW47XG4gICAgICAgICAgICB0aGlzLmxlYWRpbmdEcm9wZG93bk9wZW4gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBvbkhlbHBJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaG93SGVscFRvb2x0aXAgPSAhdGhpcy5zaG93SGVscFRvb2x0aXA7XG4gICAgICAgIHRoaXMuaGVscEljb25DbGljay5lbWl0KGV2ZW50KTtcbiAgICB9XG4gICAgXG4gICAgY2xvc2VEcm9wZG93bnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGVhZGluZ0Ryb3Bkb3duT3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRyYWlsaW5nRHJvcGRvd25PcGVuID0gZmFsc2U7XG4gICAgfVxuICAgIFxuICAgIGdldCBoYXNWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgIT09ICcnICYmIHRoaXMudmFsdWUgIT09IG51bGwgJiYgdGhpcy52YWx1ZSAhPT0gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBcbiAgICBnZXQgc2hvd0xhYmVsKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmxhYmVsO1xuICAgIH1cbiAgICBcbiAgICBnZXQgc2hvd0hpbnRUZXh0KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmhpbnRUZXh0IHx8ICh0aGlzLmRlc3RydWN0aXZlICYmICEhdGhpcy5lcnJvck1lc3NhZ2UpO1xuICAgIH1cbiAgICBcbiAgICBnZXQgZGlzcGxheUhpbnRUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmRlc3RydWN0aXZlICYmIHRoaXMuZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaGludFRleHQ7XG4gICAgfVxuICAgIFxuICAgIGdldCBjaGFyYWN0ZXJDb3VudCgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjdXJyZW50TGVuZ3RoID0gdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUubGVuZ3RoIDogMDtcbiAgICAgICAgaWYgKHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7Y3VycmVudExlbmd0aH0vJHt0aGlzLm1heExlbmd0aH1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBgJHtjdXJyZW50TGVuZ3RofWA7XG4gICAgfVxuICAgIFxuICAgIGdldCBpbnB1dENsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IFsnemVuLWlucHV0LWNvbnRhaW5lciddO1xuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMuaXNGb2N1c2VkKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2ZvY3VzZWQnKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMuaGFzVmFsdWUpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaCgnZmlsbGVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2Rpc2FibGVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLmRlc3RydWN0aXZlKSB7XG4gICAgICAgICAgICBjbGFzc2VzLnB1c2goJ2Rlc3RydWN0aXZlJyk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGlmICh0aGlzLnNpemUpIHtcbiAgICAgICAgICAgIGNsYXNzZXMucHVzaChgc2l6ZS0ke3RoaXMuc2l6ZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaWYgKHRoaXMudmFyaWFudCkge1xuICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKGB2YXJpYW50LSR7dGhpcy52YXJpYW50fWApO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gICAgfVxuICAgIFxuICAgIGdldExlYWRpbmdEcm9wZG93bkxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5sZWFkaW5nRHJvcGRvd25PcHRpb25zLmZpbmQob3B0ID0+IG9wdC52YWx1ZSA9PT0gdGhpcy5sZWFkaW5nRHJvcGRvd25WYWx1ZSk7XG4gICAgICAgIHJldHVybiBzZWxlY3RlZCA/IHNlbGVjdGVkLmxhYmVsIDogdGhpcy5sZWFkaW5nRHJvcGRvd25QbGFjZWhvbGRlcjtcbiAgICB9XG4gICAgXG4gICAgZ2V0VHJhaWxpbmdEcm9wZG93bkxhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy50cmFpbGluZ0Ryb3Bkb3duT3B0aW9ucy5maW5kKG9wdCA9PiBvcHQudmFsdWUgPT09IHRoaXMudHJhaWxpbmdEcm9wZG93blZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkID8gc2VsZWN0ZWQubGFiZWwgOiB0aGlzLnRyYWlsaW5nRHJvcGRvd25QbGFjZWhvbGRlcjtcbiAgICB9XG4gICAgXG4gICAgZm9jdXNJbnB1dCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gUGhvbmUgaW5wdXQgbWV0aG9kc1xuICAgIHBhcnNlUGhvbmVOdW1iZXIoKTogdm9pZCB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB0aGlzLnBob25lVGV4dCA9IHRoaXMucGhvbmUgfHwgJyc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnBob25lKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY291bnRyeUZyb21MaXN0ID0gdGhpcy5jb3VudHJ5TGlzdC5maW5kKGNvdW50cnkgPT4gXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGhvbmUuc3RhcnRzV2l0aChjb3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZSkgfHwgXG4gICAgICAgICAgICAgICAgICAgIGArJHt0aGlzLnBob25lfWAuc3RhcnRzV2l0aChjb3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChjb3VudHJ5RnJvbUxpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSBjb3VudHJ5RnJvbUxpc3QgfHwgdGhpcy5jdXN0b21Db3VudHJ5O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwaG9uZU51bWJlclV0aWwgPSBQaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkUGhvbmUgPSBwaG9uZU51bWJlclV0aWwucGFyc2UodGhpcy5waG9uZSB8fCBcIlwiLCAnVVMnKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5waG9uZVRleHQuc3RhcnRzV2l0aCgnKycpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5waG9uZVRleHQgPSB0aGlzLnBob25lVGV4dC5yZXBsYWNlKGArJHtwYXJzZWRQaG9uZS5nZXRDb3VudHJ5Q29kZSgpfWAsIFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnBob25lVGV4dC5zdGFydHNXaXRoKHBhcnNlZFBob25lLmdldENvdW50cnlDb2RlKCkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5waG9uZVRleHQgPSB0aGlzLnBob25lVGV4dC5yZXBsYWNlKHBhcnNlZFBob25lLmdldENvdW50cnlDb2RlKCksIFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vblBob25lQ2hhbmdlZCgpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuY3VzdG9tQ291bnRyeTsgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSB0aGlzLmN1c3RvbUNvdW50cnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBDYW4ndCBwYXJzZSBwaG9uZTogJHt0aGlzLnBob25lfWAsIGVycik7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuY3VzdG9tQ291bnRyeTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBvbkNvdW50cnlDaGFuZ2VkKGNvdW50cnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Bob25lRHJvcGRvd25FeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IGNvdW50cnk7XG4gICAgICAgIHRoaXMub25QaG9uZUNoYW5nZWQoKTtcbiAgICB9XG4gICAgXG4gICAgb25QaG9uZUNoYW5nZWQoaW5wdXQ/OiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIC8vIGFsbG93ICsgaW4gY3VzdG9tIGNvdW50cnlcbiAgICAgICAgbGV0IGN1c3RvbSA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENvdW50cnkgPT09IHRoaXMuY3VzdG9tQ291bnRyeSAmJiB0aGlzLnBob25lVGV4dC5pbmNsdWRlcygnKycpKSB7XG4gICAgICAgICAgICBjdXN0b20gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBjb25zdCBwaG9uZVRleHQgPSAodGhpcy5waG9uZVRleHQgfHwgJycpLnJlcGxhY2UoL1xcRC9nLCAnJyk7XG4gICAgICAgIHRoaXMucGhvbmVUZXh0ID0gY3VzdG9tID8gYCske3Bob25lVGV4dH1gIDogcGhvbmVUZXh0O1xuICAgICAgICBpZiAoaW5wdXQgJiYgaW5wdXQudmFsdWUgIT09IHRoaXMucGhvbmVUZXh0KSB7XG4gICAgICAgICAgICBpbnB1dC52YWx1ZSA9IHRoaXMucGhvbmVUZXh0O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZ1bGxOdW1iZXIgPSBgJHt0aGlzLnNlbGVjdGVkQ291bnRyeS5jb3VudHJ5Q2FsbGluZ0NvZGV9JHt0aGlzLnBob25lVGV4dH1gO1xuICAgICAgICBpZiAodGhpcy5waG9uZSAhPT0gZnVsbE51bWJlcikge1xuICAgICAgICAgICAgdGhpcy5waG9uZUNoYW5nZS5lbWl0KGZ1bGxOdW1iZXIpO1xuICAgICAgICAgICAgLy8gQWxzbyB1cGRhdGUgdGhlIG1haW4gdmFsdWUgZm9yIGZvcm0gaW50ZWdyYXRpb25cbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBmdWxsTnVtYmVyO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwaG9uZU51bWJlclV0aWwgPSBQaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoKTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID09PSB0aGlzLmN1c3RvbUNvdW50cnkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsaWRDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZENoYW5nZS5lbWl0KHBob25lTnVtYmVyVXRpbC5pc1ZhbGlkTnVtYmVyKHBob25lTnVtYmVyVXRpbC5wYXJzZUFuZEtlZXBSYXdJbnB1dChmdWxsTnVtYmVyKSkpO1xuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZENoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBoaWRlUGhvbmVEcm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Bob25lRHJvcGRvd25FeHBhbmRlZCA9IGZhbHNlO1xuICAgIH1cbiAgICBcbiAgICB0b2dnbGVQaG9uZURyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNQaG9uZURyb3Bkb3duRXhwYW5kZWQgPSAhdGhpcy5pc1Bob25lRHJvcGRvd25FeHBhbmRlZDtcbiAgICB9XG4gICAgXG4gICAgb25QaG9uZUlucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgdGhpcy5waG9uZVRleHQgPSB0YXJnZXQudmFsdWU7XG4gICAgICAgIHRoaXMub25QaG9uZUNoYW5nZWQodGFyZ2V0KTtcbiAgICB9XG4gICAgXG4gICAgb25MZWFkaW5nSWNvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmxlYWRpbmdJY29uQ2xpY2suZW1pdChldmVudCk7XG4gICAgICAgIFxuICAgICAgICAvLyBGb2N1cyB0aGUgaW5wdXQgd2hlbiBsZWFkaW5nIGljb24gaXMgY2xpY2tlZFxuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG59IiwiPGRpdiBjbGFzcz1cInplbi1pbnB1dC1jb250YWluZXJcIiBbbmdDbGFzc109XCJpbnB1dENsYXNzZXNcIj5cbiAgICA8IS0tIExhYmVsIC0tPlxuICAgIDxsYWJlbCAqbmdJZj1cInNob3dMYWJlbFwiIFxuICAgICAgICAgICBbZm9yXT1cImlkXCIgXG4gICAgICAgICAgIGNsYXNzPVwiemVuLWlucHV0LWxhYmVsIHRleHQgdGV4dC1zbSB0ZXh0LXdlaWdodC1tZWRpdW1cIlxuICAgICAgICAgICBbbmdDbGFzc109XCJ7J3JlcXVpcmVkJzogcmVxdWlyZWQsICdkaXNhYmxlZCc6IGRpc2FibGVkLCAnZGVzdHJ1Y3RpdmUnOiBkZXN0cnVjdGl2ZX1cIj5cbiAgICAgICAge3sgbGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJyZXF1aXJlZFwiIGNsYXNzPVwicmVxdWlyZWQtaW5kaWNhdG9yXCI+Kjwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICAgIFxuICAgIDwhLS0gSW5wdXQgd3JhcHBlciAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiemVuLWlucHV0LWZpZWxkLXdyYXBwZXJcIiAoY2xpY2spPVwiZm9jdXNJbnB1dCgpXCI+XG4gICAgICAgIFxuICAgICAgICA8IS0tIExlYWRpbmcgaWNvbiAtLT5cbiAgICAgICAgPGkgKm5nSWY9XCJsZWFkaW5nSWNvbiAmJiB2YXJpYW50ID09PSAnZGVmYXVsdCdcIiBcbiAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyB6ZW4taW5wdXQtbGVhZGluZy1pY29uXCJcbiAgICAgICAgICAgKGNsaWNrKT1cIm9uTGVhZGluZ0ljb25DbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICB7eyBsZWFkaW5nSWNvbiB9fVxuICAgICAgICA8L2k+XG4gICAgICAgIFxuICAgICAgICA8IS0tIExlYWRpbmcgZHJvcGRvd24gLS0+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ2YXJpYW50ID09PSAnbGVhZGluZy1kcm9wZG93bidcIiBcbiAgICAgICAgICAgICBjbGFzcz1cInplbi1pbnB1dC1sZWFkaW5nLWRyb3Bkb3duXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1kcm9wZG93bi10cmlnZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUxlYWRpbmdEcm9wZG93bigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duLWxhYmVsXCI+e3sgZ2V0TGVhZGluZ0Ryb3Bkb3duTGFiZWwoKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGRyb3Bkb3duLWljb25cIj5leHBhbmRfbW9yZTwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiemVuLWRyb3Bkb3duLW1lbnVcIiBcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJsZWFkaW5nRHJvcGRvd25PcGVuXCJcbiAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydvcGVuJzogbGVhZGluZ0Ryb3Bkb3duT3Blbn1cIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgbGVhZGluZ0Ryb3Bkb3duT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLWRyb3Bkb3duLW9wdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogb3B0aW9uLnZhbHVlID09PSBsZWFkaW5nRHJvcGRvd25WYWx1ZX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uTGVhZGluZ0Ryb3Bkb3duQ2hhbmdlKG9wdGlvbi52YWx1ZSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIm9wdGlvbi5pY29uXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBvcHRpb24taWNvblwiPnt7IG9wdGlvbi5pY29uIH19PC9pPlxuICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgXG4gICAgICAgIDwhLS0gTGVhZGluZyB0ZXh0IC0tPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInZhcmlhbnQgPT09ICdsZWFkaW5nLXRleHQnXCIgXG4gICAgICAgICAgICAgIGNsYXNzPVwiemVuLWlucHV0LWxlYWRpbmctdGV4dCB0ZXh0IHRleHQtbWQgdGV4dC13ZWlnaHQtcmVndWxhclwiPlxuICAgICAgICAgICAge3sgbGVhZGluZ1RleHQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICBcbiAgICAgICAgPCEtLSBQYXltZW50IGNhcmQgaWNvbiAtLT5cbiAgICAgICAgPGRpdiAqbmdJZj1cInZhcmlhbnQgPT09ICdwYXltZW50J1wiIFxuICAgICAgICAgICAgIGNsYXNzPVwiemVuLXBheW1lbnQtY2FyZC1pY29uXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGNhcmQtaWNvblwiPnBheW1lbnQ8L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBcbiAgICAgICAgPCEtLSBJbnB1dCBjb250ZW50IGJhc2VkIG9uIHR5cGUgLS0+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0eXBlID09PSAndGVsJzsgZWxzZSBkZWZhdWx0SW5wdXRUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBob25lSW5wdXRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgXG4gICAgICAgIDwhLS0gRGVmYXVsdCBpbnB1dCB0ZW1wbGF0ZSAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0SW5wdXRUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxpbnB1dCAjaW5wdXRFbGVtZW50XG4gICAgICAgICAgICAgICAgICAgW3R5cGVdPVwidHlwZVwiXG4gICAgICAgICAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhMZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgIFthdHRyLm1pbmxlbmd0aF09XCJtaW5MZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgIFtwYXR0ZXJuXT1cInBhdHRlcm5cIlxuICAgICAgICAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1pbnB1dC1maWVsZCB0ZXh0IHRleHQtbWQgdGV4dC13ZWlnaHQtcmVndWxhclwiXG4gICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyd6ZW4tcGF5bWVudC1maWVsZCc6IHZhcmlhbnQgPT09ICdwYXltZW50J31cIlxuICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIChmb2N1cyk9XCJvbklucHV0Rm9jdXMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgIChrZXl1cCk9XCJvbktleXVwKCRldmVudClcIiAvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICBcbiAgICAgICAgPCEtLSBUcmFpbGluZyBlbGVtZW50cyBjb250YWluZXIgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ6ZW4taW5wdXQtdHJhaWxpbmctY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8IS0tIENoYXJhY3RlciBjb3VudGVyIC0tPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzaG93Q2hhcmFjdGVyQ291bnQgJiYgIWhlbHBJY29uICYmIHZhcmlhbnQgPT09ICdkZWZhdWx0J1wiIFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ6ZW4tY2hhcmFjdGVyLWNvdW50IHRleHQgdGV4dC1zbSB0ZXh0LXdlaWdodC1yZWd1bGFyXCI+XG4gICAgICAgICAgICAgICAge3sgY2hhcmFjdGVyQ291bnQgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPCEtLSBIZWxwIGljb24gLS0+XG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaGVscEljb24gJiYgdmFyaWFudCAhPT0gJ3RyYWlsaW5nLWRyb3Bkb3duJ1wiIFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ6ZW4taGVscC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uSGVscEljb25DbGljaygkZXZlbnQpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zLW91dGxpbmVkXCI+aGVscF9vdXRsaW5lPC9pPlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDwhLS0gSGVscCB0b29sdGlwIC0tPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ6ZW4taGVscC10b29sdGlwXCIgXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInNob3dIZWxwVG9vbHRpcFwiXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b29sdGlwLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGhlbHBUb29sdGlwIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbHRpcC1hcnJvd1wiPjwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDwhLS0gVHJhaWxpbmcgZHJvcGRvd24gLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidmFyaWFudCA9PT0gJ3RyYWlsaW5nLWRyb3Bkb3duJ1wiIFxuICAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1pbnB1dC10cmFpbGluZy1kcm9wZG93blwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1kcm9wZG93bi10cmlnZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlVHJhaWxpbmdEcm9wZG93bigpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bi1sYWJlbFwiPnt7IGdldFRyYWlsaW5nRHJvcGRvd25MYWJlbCgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGRyb3Bkb3duLWljb25cIj5leHBhbmRfbW9yZTwvaT5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiemVuLWRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1yaWdodFwiIFxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0cmFpbGluZ0Ryb3Bkb3duT3BlblwiXG4gICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J29wZW4nOiB0cmFpbGluZ0Ryb3Bkb3duT3Blbn1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHRyYWlsaW5nRHJvcGRvd25PcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1kcm9wZG93bi1vcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOiBvcHRpb24udmFsdWUgPT09IHRyYWlsaW5nRHJvcGRvd25WYWx1ZX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRyYWlsaW5nRHJvcGRvd25DaGFuZ2Uob3B0aW9uLnZhbHVlKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cIm9wdGlvbi5pY29uXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBvcHRpb24taWNvblwiPnt7IG9wdGlvbi5pY29uIH19PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIFxuICAgIDwhLS0gSGludCB0ZXh0IC8gRXJyb3IgbWVzc2FnZSAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0hpbnRUZXh0XCIgXG4gICAgICAgICBjbGFzcz1cInplbi1pbnB1dC1oaW50IHRleHQgdGV4dC1zbSB0ZXh0LXdlaWdodC1yZWd1bGFyXCJcbiAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGVzdHJ1Y3RpdmUnOiBkZXN0cnVjdGl2ZX1cIj5cbiAgICAgICAgPGkgKm5nSWY9XCJkZXN0cnVjdGl2ZVwiIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnMtb3V0bGluZWQgaGludC1pY29uXCI+ZXJyb3Jfb3V0bGluZTwvaT5cbiAgICAgICAge3sgZGlzcGxheUhpbnRUZXh0IHwgdHJhbnNsYXRlIH19XG4gICAgPC9kaXY+XG4gICAgXG4gICAgPCEtLSBQaG9uZSBDb3VudHJ5IERyb3Bkb3duIChmb3IgdGVsIHR5cGUpIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJ0eXBlID09PSAndGVsJyAmJiBpc1Bob25lRHJvcGRvd25FeHBhbmRlZFwiIFxuICAgICAgICAgY2xhc3M9XCJ6ZW4tcGhvbmUtZHJvcGRvd24tbWVudVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiemVuLXBob25lLWRyb3Bkb3duLWxpc3RcIj5cbiAgICAgICAgICAgIDwhLS0gQ291bnRyaWVzIExpc3QgLS0+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1waG9uZS1kcm9wZG93bi1pdGVtXCJcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgY291bnRyeUxpc3RcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IHNlbGVjdGVkQ291bnRyeS5jb3VudHJ5TmFtZSA9PT0gY291bnRyeS5jb3VudHJ5TmFtZX1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Db3VudHJ5Q2hhbmdlZChjb3VudHJ5KVwiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiY291bnRyeS5mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiY291bnRyeS5jb3VudHJ5TmFtZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiemVuLXBob25lLWNvdW50cnktbmFtZVwiPnt7IGNvdW50cnkuY291bnRyeU5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1jb2RlXCI+e3sgY291bnRyeS5jb3VudHJ5Q2FsbGluZ0NvZGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgICAgPCEtLSBDdXN0b20gQ291bnRyeSAtLT5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLXBob25lLWRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IHNlbGVjdGVkQ291bnRyeS5jb3VudHJ5TmFtZSA9PT0gY3VzdG9tQ291bnRyeS5jb3VudHJ5TmFtZX1cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25Db3VudHJ5Q2hhbmdlZChjdXN0b21Db3VudHJ5KVwiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiY3VzdG9tQ291bnRyeS5mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiY3VzdG9tQ291bnRyeS5jb3VudHJ5TmFtZVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiemVuLXBob25lLWNvdW50cnktbmFtZVwiPnt7IGN1c3RvbUNvdW50cnkuY291bnRyeU5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1jb2RlXCI+e3sgY3VzdG9tQ291bnRyeS5jb3VudHJ5Q2FsbGluZ0NvZGUgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBQaG9uZSBJbnB1dCBUZW1wbGF0ZSAtLT5cbjxuZy10ZW1wbGF0ZSAjcGhvbmVJbnB1dFRlbXBsYXRlPlxuICAgIDwhLS0gUGhvbmUgY291bnRyeSBzZWxlY3RvciAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiemVuLXBob25lLWNvdW50cnktc2VsZWN0XCI+XG4gICAgICAgIDxpbWcgY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1mbGFnXCJcbiAgICAgICAgICAgICBbc3JjXT1cInNlbGVjdGVkQ291bnRyeS5mbGFnXCJcbiAgICAgICAgICAgICBbYWx0XT1cInNlbGVjdGVkQ291bnRyeS5jb3VudHJ5TmFtZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInplbi1waG9uZS1jb2RlXCI+e3sgc2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZSB9fTwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1waG9uZS1kcm9wZG93bi1idG5cIlxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBob25lRHJvcGRvd24oKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zIHplbi1waG9uZS1leHBhbmQtaWNvblwiXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGlzUGhvbmVEcm9wZG93bkV4cGFuZGVkfVwiPmV4cGFuZF9tb3JlPC9pPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICBcbiAgICA8IS0tIFBob25lIGlucHV0IGZpZWxkIC0tPlxuICAgIDxpbnB1dCAjaW5wdXRFbGVtZW50XG4gICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgICAgW25hbWVdPVwibmFtZVwiXG4gICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgIFt2YWx1ZV09XCJwaG9uZVRleHRcIlxuICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwicGhvbmVNYXhMZW5ndGhcIlxuICAgICAgICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWluTGVuZ3RoXCJcbiAgICAgICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgICAgICBjbGFzcz1cInplbi1pbnB1dC1maWVsZCB0ZXh0IHRleHQtbWQgdGV4dC13ZWlnaHQtcmVndWxhclwiXG4gICAgICAgICAgIChpbnB1dCk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKCRldmVudClcIlxuICAgICAgICAgICAoYmx1cik9XCJvbklucHV0Qmx1cigkZXZlbnQpXCJcbiAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlkb3duKCRldmVudClcIlxuICAgICAgICAgICAoa2V5dXApPVwib25LZXl1cCgkZXZlbnQpXCIgLz5cbjwvbmctdGVtcGxhdGU+XG5cbjwhLS0gQ2xpY2sgb3V0c2lkZSBoYW5kbGVyIGZvciBkcm9wZG93bnMgLS0+XG48ZGl2ICpuZ0lmPVwibGVhZGluZ0Ryb3Bkb3duT3BlbiB8fCB0cmFpbGluZ0Ryb3Bkb3duT3BlbiB8fCBpc1Bob25lRHJvcGRvd25FeHBhbmRlZFwiIFxuICAgICBjbGFzcz1cInplbi1kcm9wZG93bi1iYWNrZHJvcFwiIFxuICAgICAoY2xpY2spPVwiY2xvc2VEcm9wZG93bnMoKTsgaGlkZVBob25lRHJvcGRvd24oKVwiPjwvZGl2PiJdfQ==
@@ -15,7 +15,7 @@ const MODULE_LABELS = {
15
15
  more: 'More',
16
16
  };
17
17
  const MODULE_ICONS = {
18
- fleet: 'map',
18
+ fleet: 'truck',
19
19
  safety: 'shield',
20
20
  operations: 'briefcase',
21
21
  reports: 'bar-chart-2',
@@ -75,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
75
75
  type: HostListener,
76
76
  args: ['document:mousedown', ['$event']]
77
77
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVuLW1vZHVsZS1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy16ZW5kdWl0L3NyYy9saWIvbW9kdWxlLXBvcHVwL3plbi1tb2R1bGUtcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctemVuZHVpdC9zcmMvbGliL21vZHVsZS1wb3B1cC96ZW4tbW9kdWxlLXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFjLE1BQU0sZUFBZSxDQUFDOzs7O0FBWWpHLE1BQU0sYUFBYSxHQUF5QztJQUMxRCxLQUFLLEVBQUUsT0FBTztJQUNkLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixRQUFRLEVBQUUsVUFBVTtJQUNwQixVQUFVLEVBQUUsWUFBWTtJQUN4QixTQUFTLEVBQUUsV0FBVztJQUN0QixJQUFJLEVBQUUsTUFBTTtDQUNiLENBQUM7QUFFRixNQUFNLFlBQVksR0FBeUM7SUFDekQsS0FBSyxFQUFFLEtBQUs7SUFDWixNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsV0FBVztJQUN2QixPQUFPLEVBQUUsYUFBYTtJQUN0QixHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxTQUFTO0lBQ2YsUUFBUSxFQUFFLE1BQU07SUFDaEIsVUFBVSxFQUFFLGFBQWE7SUFDekIsU0FBUyxFQUFFLFNBQVM7SUFDcEIsSUFBSSxFQUFFLGVBQWU7Q0FDdEIsQ0FBQztBQU9GLE1BQU0sT0FBTyx1QkFBdUI7SUFTbEMsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFQbEMsV0FBTSxHQUF5QixPQUFPLENBQUM7UUFDdkMsVUFBSyxHQUF5QixFQUFFLENBQUM7UUFDakMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVkLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUNuRCxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVHLENBQUM7SUFFL0MsSUFBSSxXQUFXO1FBQ2IsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE1BQU0sT0FBTyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNyQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTTtZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNuRSxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUF3QjtRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBR0QsZUFBZSxDQUFDLEtBQWlCO1FBQy9CLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7O3FIQWxDVSx1QkFBdUI7eUdBQXZCLHVCQUF1Qix1UEMzQ3BDLGdvQkFvQkE7NEZEdUJhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0I7aUdBTW5CLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQXVCUCxlQUFlO3NCQURkLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFplbk1vZHVsZVBvcHVwTW9kdWxlID1cbiAgfCAnZmxlZXQnIHwgJ3NhZmV0eScgfCAnb3BlcmF0aW9ucycgfCAncmVwb3J0cydcbiAgfCAnYnVzJyB8ICdmdWVsJyB8ICdtYWludGFpbicgfCAnZWZmaWNpZW5jeScgfCAnaW52ZW50b3J5JyB8ICdtb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBaZW5Nb2R1bGVQb3B1cEl0ZW0ge1xuICBsYWJlbDogc3RyaW5nO1xuICByb3V0ZT86IHN0cmluZztcbiAgdGFnPzogdW5rbm93bjtcbn1cblxuY29uc3QgTU9EVUxFX0xBQkVMUzogUmVjb3JkPFplbk1vZHVsZVBvcHVwTW9kdWxlLCBzdHJpbmc+ID0ge1xuICBmbGVldDogJ0ZsZWV0JyxcbiAgc2FmZXR5OiAnU2FmZXR5JyxcbiAgb3BlcmF0aW9uczogJ09wZXJhdGUnLFxuICByZXBvcnRzOiAnUmVwb3J0cycsXG4gIGJ1czogJ0J1cycsXG4gIGZ1ZWw6ICdGdWVsJyxcbiAgbWFpbnRhaW46ICdNYWludGFpbicsXG4gIGVmZmljaWVuY3k6ICdFZmZpY2llbmN5JyxcbiAgaW52ZW50b3J5OiAnSW52ZW50b3J5JyxcbiAgbW9yZTogJ01vcmUnLFxufTtcblxuY29uc3QgTU9EVUxFX0lDT05TOiBSZWNvcmQ8WmVuTW9kdWxlUG9wdXBNb2R1bGUsIHN0cmluZz4gPSB7XG4gIGZsZWV0OiAnbWFwJyxcbiAgc2FmZXR5OiAnc2hpZWxkJyxcbiAgb3BlcmF0aW9uczogJ2JyaWVmY2FzZScsXG4gIHJlcG9ydHM6ICdiYXItY2hhcnQtMicsXG4gIGJ1czogJ2J1cycsXG4gIGZ1ZWw6ICdkcm9wbGV0JyxcbiAgbWFpbnRhaW46ICd0b29sJyxcbiAgZWZmaWNpZW5jeTogJ3RyZW5kaW5nLXVwJyxcbiAgaW52ZW50b3J5OiAncGFja2FnZScsXG4gIG1vcmU6ICdtb3JlLXZlcnRpY2FsJyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3plbi1tb2R1bGUtcG9wdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vemVuLW1vZHVsZS1wb3B1cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3plbi1tb2R1bGUtcG9wdXAuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBaZW5Nb2R1bGVQb3B1cENvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgbW9kdWxlOiBaZW5Nb2R1bGVQb3B1cE1vZHVsZSA9ICdmbGVldCc7XG4gIEBJbnB1dCgpIGl0ZW1zOiBaZW5Nb2R1bGVQb3B1cEl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBpc09wZW4gPSBmYWxzZTtcblxuICBAT3V0cHV0KCkgaXRlbUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxaZW5Nb2R1bGVQb3B1cEl0ZW0+KCk7XG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIGdldCBtb2R1bGVMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBNT0RVTEVfTEFCRUxTW3RoaXMubW9kdWxlXSB8fCB0aGlzLm1vZHVsZTtcbiAgfVxuXG4gIGdldCBtb2R1bGVJY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE1PRFVMRV9JQ09OU1t0aGlzLm1vZHVsZV0gfHwgJ2NpcmNsZSc7XG4gIH1cblxuICBnZXQgaG9zdENsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc2VzID0gWyd6ZW4tbW9kdWxlLXBvcHVwJ107XG4gICAgaWYgKHRoaXMubW9kdWxlID09PSAnbW9yZScpIGNsYXNzZXMucHVzaCgnemVuLW1vZHVsZS1wb3B1cC0tbW9yZScpO1xuICAgIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIG9uSXRlbUNsaWNrKGl0ZW06IFplbk1vZHVsZVBvcHVwSXRlbSk6IHZvaWQge1xuICAgIHRoaXMuaXRlbUNsaWNrLmVtaXQoaXRlbSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZWRvd24nLCBbJyRldmVudCddKVxuICBvbkRvY3VtZW50Q2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc09wZW4gJiYgIXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJpc09wZW5cIiBbY2xhc3NdPVwiaG9zdENsYXNzZXNcIj5cbiAgPCEtLSBIZWFkZXIgLS0+XG4gIDxkaXYgY2xhc3M9XCJ6ZW4tbW9kdWxlLXBvcHVwX19oZWFkZXJcIj5cbiAgICA8emVuLWljb24gY2xhc3M9XCJ6ZW4tbW9kdWxlLXBvcHVwX19oZWFkZXItaWNvblwiXG4gICAgICAgICAgICAgIFtuYW1lXT1cIm1vZHVsZUljb25cIlxuICAgICAgICAgICAgICBbY3VzdG9tQ29sb3JdPVwiJyM5OEEyQjMnXCI+PC96ZW4taWNvbj5cbiAgICA8c3BhbiBjbGFzcz1cInplbi1tb2R1bGUtcG9wdXBfX2hlYWRlci1sYWJlbFwiPnt7IG1vZHVsZUxhYmVsIH19PC9zcGFuPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiemVuLW1vZHVsZS1wb3B1cF9fZGl2aWRlclwiPjwvZGl2PlxuXG4gIDwhLS0gSXRlbXMgLS0+XG4gIDxkaXYgY2xhc3M9XCJ6ZW4tbW9kdWxlLXBvcHVwX19pdGVtc1wiPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNcIlxuICAgICAgICAgY2xhc3M9XCJ6ZW4tbW9kdWxlLXBvcHVwX19pdGVtXCJcbiAgICAgICAgIChjbGljayk9XCJvbkl0ZW1DbGljayhpdGVtKVwiPlxuICAgICAge3sgaXRlbS5sYWJlbCB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVuLW1vZHVsZS1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy16ZW5kdWl0L3NyYy9saWIvbW9kdWxlLXBvcHVwL3plbi1tb2R1bGUtcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctemVuZHVpdC9zcmMvbGliL21vZHVsZS1wb3B1cC96ZW4tbW9kdWxlLXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFjLE1BQU0sZUFBZSxDQUFDOzs7O0FBWWpHLE1BQU0sYUFBYSxHQUF5QztJQUMxRCxLQUFLLEVBQUUsT0FBTztJQUNkLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLE1BQU07SUFDWixRQUFRLEVBQUUsVUFBVTtJQUNwQixVQUFVLEVBQUUsWUFBWTtJQUN4QixTQUFTLEVBQUUsV0FBVztJQUN0QixJQUFJLEVBQUUsTUFBTTtDQUNiLENBQUM7QUFFRixNQUFNLFlBQVksR0FBeUM7SUFDekQsS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFVLEVBQUUsV0FBVztJQUN2QixPQUFPLEVBQUUsYUFBYTtJQUN0QixHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxTQUFTO0lBQ2YsUUFBUSxFQUFFLE1BQU07SUFDaEIsVUFBVSxFQUFFLGFBQWE7SUFDekIsU0FBUyxFQUFFLFNBQVM7SUFDcEIsSUFBSSxFQUFFLGVBQWU7Q0FDdEIsQ0FBQztBQU9GLE1BQU0sT0FBTyx1QkFBdUI7SUFTbEMsWUFBb0IsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFQbEMsV0FBTSxHQUF5QixPQUFPLENBQUM7UUFDdkMsVUFBSyxHQUF5QixFQUFFLENBQUM7UUFDakMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVkLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUNuRCxVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUVHLENBQUM7SUFFL0MsSUFBSSxXQUFXO1FBQ2IsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE1BQU0sT0FBTyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUNyQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTTtZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUNuRSxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUF3QjtRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBR0QsZUFBZSxDQUFDLEtBQWlCO1FBQy9CLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7O3FIQWxDVSx1QkFBdUI7eUdBQXZCLHVCQUF1Qix1UEMzQ3BDLGdvQkFvQkE7NEZEdUJhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxrQkFBa0I7aUdBTW5CLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNO2dCQXVCUCxlQUFlO3NCQURkLFlBQVk7dUJBQUMsb0JBQW9CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFplbk1vZHVsZVBvcHVwTW9kdWxlID1cbiAgfCAnZmxlZXQnIHwgJ3NhZmV0eScgfCAnb3BlcmF0aW9ucycgfCAncmVwb3J0cydcbiAgfCAnYnVzJyB8ICdmdWVsJyB8ICdtYWludGFpbicgfCAnZWZmaWNpZW5jeScgfCAnaW52ZW50b3J5JyB8ICdtb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBaZW5Nb2R1bGVQb3B1cEl0ZW0ge1xuICBsYWJlbDogc3RyaW5nO1xuICByb3V0ZT86IHN0cmluZztcbiAgdGFnPzogdW5rbm93bjtcbn1cblxuY29uc3QgTU9EVUxFX0xBQkVMUzogUmVjb3JkPFplbk1vZHVsZVBvcHVwTW9kdWxlLCBzdHJpbmc+ID0ge1xuICBmbGVldDogJ0ZsZWV0JyxcbiAgc2FmZXR5OiAnU2FmZXR5JyxcbiAgb3BlcmF0aW9uczogJ09wZXJhdGUnLFxuICByZXBvcnRzOiAnUmVwb3J0cycsXG4gIGJ1czogJ0J1cycsXG4gIGZ1ZWw6ICdGdWVsJyxcbiAgbWFpbnRhaW46ICdNYWludGFpbicsXG4gIGVmZmljaWVuY3k6ICdFZmZpY2llbmN5JyxcbiAgaW52ZW50b3J5OiAnSW52ZW50b3J5JyxcbiAgbW9yZTogJ01vcmUnLFxufTtcblxuY29uc3QgTU9EVUxFX0lDT05TOiBSZWNvcmQ8WmVuTW9kdWxlUG9wdXBNb2R1bGUsIHN0cmluZz4gPSB7XG4gIGZsZWV0OiAndHJ1Y2snLFxuICBzYWZldHk6ICdzaGllbGQnLFxuICBvcGVyYXRpb25zOiAnYnJpZWZjYXNlJyxcbiAgcmVwb3J0czogJ2Jhci1jaGFydC0yJyxcbiAgYnVzOiAnYnVzJyxcbiAgZnVlbDogJ2Ryb3BsZXQnLFxuICBtYWludGFpbjogJ3Rvb2wnLFxuICBlZmZpY2llbmN5OiAndHJlbmRpbmctdXAnLFxuICBpbnZlbnRvcnk6ICdwYWNrYWdlJyxcbiAgbW9yZTogJ21vcmUtdmVydGljYWwnLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnemVuLW1vZHVsZS1wb3B1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi96ZW4tbW9kdWxlLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vemVuLW1vZHVsZS1wb3B1cC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFplbk1vZHVsZVBvcHVwQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBtb2R1bGU6IFplbk1vZHVsZVBvcHVwTW9kdWxlID0gJ2ZsZWV0JztcbiAgQElucHV0KCkgaXRlbXM6IFplbk1vZHVsZVBvcHVwSXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGlzT3BlbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBpdGVtQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFplbk1vZHVsZVBvcHVwSXRlbT4oKTtcbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgZ2V0IG1vZHVsZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE1PRFVMRV9MQUJFTFNbdGhpcy5tb2R1bGVdIHx8IHRoaXMubW9kdWxlO1xuICB9XG5cbiAgZ2V0IG1vZHVsZUljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gTU9EVUxFX0lDT05TW3RoaXMubW9kdWxlXSB8fCAnY2lyY2xlJztcbiAgfVxuXG4gIGdldCBob3N0Q2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBbJ3plbi1tb2R1bGUtcG9wdXAnXTtcbiAgICBpZiAodGhpcy5tb2R1bGUgPT09ICdtb3JlJykgY2xhc3Nlcy5wdXNoKCd6ZW4tbW9kdWxlLXBvcHVwLS1tb3JlJyk7XG4gICAgcmV0dXJuIGNsYXNzZXMuam9pbignICcpO1xuICB9XG5cbiAgb25JdGVtQ2xpY2soaXRlbTogWmVuTW9kdWxlUG9wdXBJdGVtKTogdm9pZCB7XG4gICAgdGhpcy5pdGVtQ2xpY2suZW1pdChpdGVtKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50Om1vdXNlZG93bicsIFsnJGV2ZW50J10pXG4gIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzT3BlbiAmJiAhdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiAqbmdJZj1cImlzT3BlblwiIFtjbGFzc109XCJob3N0Q2xhc3Nlc1wiPlxuICA8IS0tIEhlYWRlciAtLT5cbiAgPGRpdiBjbGFzcz1cInplbi1tb2R1bGUtcG9wdXBfX2hlYWRlclwiPlxuICAgIDx6ZW4taWNvbiBjbGFzcz1cInplbi1tb2R1bGUtcG9wdXBfX2hlYWRlci1pY29uXCJcbiAgICAgICAgICAgICAgW25hbWVdPVwibW9kdWxlSWNvblwiXG4gICAgICAgICAgICAgIFtjdXN0b21Db2xvcl09XCInIzk4QTJCMydcIj48L3plbi1pY29uPlxuICAgIDxzcGFuIGNsYXNzPVwiemVuLW1vZHVsZS1wb3B1cF9faGVhZGVyLWxhYmVsXCI+e3sgbW9kdWxlTGFiZWwgfX08L3NwYW4+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJ6ZW4tbW9kdWxlLXBvcHVwX19kaXZpZGVyXCI+PC9kaXY+XG5cbiAgPCEtLSBJdGVtcyAtLT5cbiAgPGRpdiBjbGFzcz1cInplbi1tb2R1bGUtcG9wdXBfX2l0ZW1zXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1wiXG4gICAgICAgICBjbGFzcz1cInplbi1tb2R1bGUtcG9wdXBfX2l0ZW1cIlxuICAgICAgICAgKGNsaWNrKT1cIm9uSXRlbUNsaWNrKGl0ZW0pXCI+XG4gICAgICB7eyBpdGVtLmxhYmVsIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -5,9 +5,10 @@ import * as i2 from "../side-nav-item/zen-side-nav-item.component";
5
5
  import * as i3 from "../module-popup/zen-module-popup.component";
6
6
  const MODULE_CONFIG = {
7
7
  dashboard: { icon: 'home', label: 'Dashboard' },
8
- fleet: { icon: 'map', label: 'Fleet' },
8
+ today: { icon: 'sun', label: 'Today' },
9
+ fleet: { icon: 'truck', label: 'Fleet' },
9
10
  safety: { icon: 'shield', label: 'Safety' },
10
- operations: { icon: 'briefcase', label: 'Operations' },
11
+ operations: { icon: 'briefcase', label: 'Operate' },
11
12
  reports: { icon: 'bar-chart-2', label: 'Reports' },
12
13
  bus: { icon: 'bus', label: 'Bus' },
13
14
  fuel: { icon: 'droplet', label: 'Fuel' },
@@ -16,10 +17,12 @@ const MODULE_CONFIG = {
16
17
  vehicles: { icon: 'truck', label: 'Vehicles' },
17
18
  drivers: { icon: 'users', label: 'Drivers' },
18
19
  admin: { icon: 'settings', label: 'Admin' },
19
- notification: { icon: 'bell', label: 'Notification' },
20
- message: { icon: 'message-square', label: 'Message' },
20
+ notification: { icon: 'bell', label: 'Alerts' },
21
+ message: { icon: 'message-square', label: 'Chat' },
21
22
  manage: { icon: 'sliders', label: 'Manage' },
22
23
  help: { icon: 'help-circle', label: 'Help' },
24
+ efficiency: { icon: 'trending-up', label: 'Efficiency' },
25
+ inventory: { icon: 'package', label: 'Inventory' },
23
26
  };
24
27
  const MODULE_TO_POPUP = {
25
28
  fleet: 'fleet',
@@ -30,6 +33,8 @@ const MODULE_TO_POPUP = {
30
33
  fuel: 'fuel',
31
34
  more: 'more',
32
35
  maintain: 'maintain',
36
+ efficiency: 'efficiency',
37
+ inventory: 'inventory',
33
38
  };
34
39
  export class ZenNavItemComponent {
35
40
  constructor() {
@@ -96,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
96
101
  }], expandedChange: [{
97
102
  type: Output
98
103
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVuLW5hdi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9uYXYtaXRlbS96ZW4tbmF2LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctemVuZHVpdC9zcmMvbGliL25hdi1pdGVtL3plbi1uYXYtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQWV2RSxNQUFNLGFBQWEsR0FBdUM7SUFDeEQsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO0lBQy9DLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtJQUN0QyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7SUFDM0MsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFO0lBQ3RELE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtJQUNsRCxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7SUFDbEMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO0lBQ3hDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtJQUM5QyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFV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QyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQzs7aUhBL0NVLG1CQUFtQjtxR0FBbkIsbUJBQW1CLG1TQ2xEaEMsNDJCQXlCQTs0RkR5QmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGNBQWM7OEJBTWYsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgWmVuU2lkZU5hdkl0ZW1UeXBlLCBaZW5TaWRlTmF2SXRlbVN0YXRlLCBaZW5TaWRlTmF2U3ViSXRlbSB9IGZyb20gJy4uL3NpZGUtbmF2LWl0ZW0vemVuLXNpZGUtbmF2LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFplbk1vZHVsZVBvcHVwTW9kdWxlLCBaZW5Nb2R1bGVQb3B1cEl0ZW0gfSBmcm9tICcuLi9tb2R1bGUtcG9wdXAvemVuLW1vZHVsZS1wb3B1cC5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBaZW5OYXZNb2R1bGUgPVxuICB8ICdkYXNoYm9hcmQnIHwgJ2ZsZWV0JyB8ICdzYWZldHknIHwgJ29wZXJhdGlvbnMnIHwgJ3JlcG9ydHMnXG4gIHwgJ2J1cycgfCAnZnVlbCcgfCAnbW9yZScgfCAnbWFpbnRhaW4nIHwgJ3ZlaGljbGVzJ1xuICB8ICdkcml2ZXJzJyB8ICdhZG1pbicgfCAnbm90aWZpY2F0aW9uJyB8ICdtZXNzYWdlJ1xuICB8ICdtYW5hZ2UnIHwgJ2hlbHAnO1xuXG5pbnRlcmZhY2UgTW9kdWxlQ29uZmlnIHtcbiAgaWNvbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG5jb25zdCBNT0RVTEVfQ09ORklHOiBSZWNvcmQ8WmVuTmF2TW9kdWxlLCBNb2R1bGVDb25maWc+ID0ge1xuICBkYXNoYm9hcmQ6IHsgaWNvbjogJ2hvbWUnLCBsYWJlbDogJ0Rhc2hib2FyZCcgfSxcbiAgZmxlZXQ6IHsgaWNvbjogJ21hcCcsIGxhYmVsOiAnRmxlZXQnIH0sXG4gIHNhZmV0eTogeyBpY29uOiAnc2hpZWxkJywgbGFiZWw6ICdTYWZldHknIH0sXG4gIG9wZXJhdGlvbnM6IHsgaWNvbjogJ2JyaWVmY2FzZScsIGxhYmVsOiAnT3BlcmF0aW9ucycgfSxcbiAgcmVwb3J0czogeyBpY29uOiAnYmFyLWNoYXJ0LTInLCBsYWJlbDogJ1JlcG9ydHMnIH0sXG4gIGJ1czogeyBpY29uOiAnYnVzJywgbGFiZWw6ICdCdXMnIH0sXG4gIGZ1ZWw6IHsgaWNvbjogJ2Ryb3BsZXQnLCBsYWJlbDogJ0Z1ZWwnIH0sXG4gIG1vcmU6IHsgaWNvbjogJ21vcmUtdmVydGljYWwnLCBsYWJlbDogJ01vcmUnIH0sXG4gIG1haW50YWluOiB7IGljb246ICd0b29sJywgbGFiZWw6ICdNYWludGFpbicgfSxcbiAgdmVoaWNsZXM6IHsgaWNvbjogJ3RydWNrJywgbGFiZWw6ICdWZWhpY2xlcycgfSxcbiAgZHJpdmVyczogeyBpY29uOiAndXNlcnMnLCBsYWJlbDogJ0RyaXZlcnMnIH0sXG4gIGFkbWluOiB7IGljb246ICdzZXR0aW5ncycsIGxhYmVsOiAnQWRtaW4nIH0sXG4gIG5vdGlmaWNhdGlvbjogeyBpY29uOiAnYmVsbCcsIGxhYmVsOiAnTm90aWZpY2F0aW9uJyB9LFxuICBtZXNzYWdlOiB7IGljb246ICdtZXNzYWdlLXNxdWFyZScsIGxhYmVsOiAnTWVzc2FnZScgfSxcbiAgbWFuYWdlOiB7IGljb246ICdzbGlkZXJzJywgbGFiZWw6ICdNYW5hZ2UnIH0sXG4gIGhlbHA6IHsgaWNvbjogJ2hlbHAtY2lyY2xlJywgbGFiZWw6ICdIZWxwJyB9LFxufTtcblxuY29uc3QgTU9EVUxFX1RPX1BPUFVQOiBSZWNvcmQ8c3RyaW5nLCBaZW5Nb2R1bGVQb3B1cE1vZHVsZT4gPSB7XG4gIGZsZWV0OiAnZmxlZXQnLFxuICBzYWZldHk6ICdzYWZldHknLFxuICBvcGVyYXRpb25zOiAnb3BlcmF0aW9ucycsXG4gIHJlcG9ydHM6ICdyZXBvcnRzJyxcbiAgYnVzOiAnYnVzJyxcbiAgZnVlbDogJ2Z1ZWwnLFxuICBtb3JlOiAnbW9yZScsXG4gIG1haW50YWluOiAnbWFpbnRhaW4nLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnemVuLW5hdi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3plbi1uYXYtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3plbi1uYXYtaXRlbS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFplbk5hdkl0ZW1Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpIG1vZHVsZTogWmVuTmF2TW9kdWxlID0gJ2Rhc2hib2FyZCc7XG4gIEBJbnB1dCgpIHR5cGU6IFplblNpZGVOYXZJdGVtVHlwZSA9ICdjb2xsYXBzZWQnO1xuICBASW5wdXQoKSBzdGF0ZTogWmVuU2lkZU5hdkl0ZW1TdGF0ZSA9ICdkZWZhdWx0JztcbiAgQElucHV0KCkgaGFzU3VibW9kdWxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHN1Ykl0ZW1zOiBaZW5TaWRlTmF2U3ViSXRlbVtdID0gW107XG4gIEBJbnB1dCgpIGV4cGFuZGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGFjdGl2YXRlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgc3ViSXRlbUFjdGl2YXRlID0gbmV3IEV2ZW50RW1pdHRlcjxaZW5TaWRlTmF2U3ViSXRlbT4oKTtcbiAgQE91dHB1dCgpIGV4cGFuZGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIHBvcHVwT3BlbiA9IGZhbHNlO1xuXG4gIGdldCBtb2R1bGVDb25maWcoKTogTW9kdWxlQ29uZmlnIHtcbiAgICByZXR1cm4gTU9EVUxFX0NPTkZJR1t0aGlzLm1vZHVsZV0gfHwgTU9EVUxFX0NPTkZJRy5kYXNoYm9hcmQ7XG4gIH1cblxuICBnZXQgcG9wdXBNb2R1bGUoKTogWmVuTW9kdWxlUG9wdXBNb2R1bGUgfCBudWxsIHtcbiAgICByZXR1cm4gTU9EVUxFX1RPX1BPUFVQW3RoaXMubW9kdWxlXSB8fCBudWxsO1xuICB9XG5cbiAgZ2V0IHBvcHVwSXRlbXMoKTogWmVuTW9kdWxlUG9wdXBJdGVtW10ge1xuICAgIHJldHVybiB0aGlzLnN1Ykl0ZW1zLm1hcChzID0+ICh7IGxhYmVsOiBzLmxhYmVsLCByb3V0ZTogcy5yb3V0ZSwgdGFnOiBzLnRhZyB9KSk7XG4gIH1cblxuICBnZXQgc2hvd1BvcHVwT25Ib3ZlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSAnY29sbGFwc2VkJyAmJiB0aGlzLmhhc1N1Ym1vZHVsZSAmJiB0aGlzLnN1Ykl0ZW1zLmxlbmd0aCA+IDA7XG4gIH1cblxuICBvbk1vdXNlRW50ZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2hvd1BvcHVwT25Ib3Zlcikge1xuICAgICAgdGhpcy5wb3B1cE9wZW4gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcHVwT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgb25Qb3B1cEl0ZW1DbGljayhpdGVtOiBaZW5Nb2R1bGVQb3B1cEl0ZW0pOiB2b2lkIHtcbiAgICBjb25zdCBzdWJJdGVtID0gdGhpcy5zdWJJdGVtcy5maW5kKHMgPT4gcy5sYWJlbCA9PT0gaXRlbS5sYWJlbCk7XG4gICAgaWYgKHN1Ykl0ZW0pIHtcbiAgICAgIHRoaXMuc3ViSXRlbUFjdGl2YXRlLmVtaXQoc3ViSXRlbSk7XG4gICAgfVxuICAgIHRoaXMucG9wdXBPcGVuID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ6ZW4tbmF2LWl0ZW1cIlxuICAgICAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiXG4gICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCI+XG4gIDx6ZW4tc2lkZS1uYXYtaXRlbVxuICAgIFt0eXBlXT1cInR5cGVcIlxuICAgIFtzdGF0ZV09XCJzdGF0ZVwiXG4gICAgW2ljb25dPVwibW9kdWxlQ29uZmlnLmljb25cIlxuICAgIFtsYWJlbF09XCJtb2R1bGVDb25maWcubGFiZWxcIlxuICAgIFtoYXNTdWJtb2R1bGVdPVwiaGFzU3VibW9kdWxlXCJcbiAgICBbc3ViSXRlbXNdPVwic3ViSXRlbXNcIlxuICAgIFtleHBhbmRlZF09XCJleHBhbmRlZFwiXG4gICAgKGFjdGl2YXRlKT1cImFjdGl2YXRlLmVtaXQoKVwiXG4gICAgKHN1Ykl0ZW1BY3RpdmF0ZSk9XCJzdWJJdGVtQWN0aXZhdGUuZW1pdCgkZXZlbnQpXCJcbiAgICAoZXhwYW5kZWRDaGFuZ2UpPVwiZXhwYW5kZWRDaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XG4gIDwvemVuLXNpZGUtbmF2LWl0ZW0+XG5cbiAgPCEtLSBDb2xsYXBzZWQgaG92ZXIgcG9wdXAgLS0+XG4gIDx6ZW4tbW9kdWxlLXBvcHVwICpuZ0lmPVwicG9wdXBPcGVuICYmIHBvcHVwTW9kdWxlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ6ZW4tbmF2LWl0ZW1fX3BvcHVwXCJcbiAgICAgICAgICAgICAgICAgICAgW21vZHVsZV09XCJwb3B1cE1vZHVsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpdGVtc109XCJwb3B1cEl0ZW1zXCJcbiAgICAgICAgICAgICAgICAgICAgW2lzT3Blbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgKGl0ZW1DbGljayk9XCJvblBvcHVwSXRlbUNsaWNrKCRldmVudClcIj5cbiAgPC96ZW4tbW9kdWxlLXBvcHVwPlxuPC9kaXY+XG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVuLW5hdi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9uYXYtaXRlbS96ZW4tbmF2LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctemVuZHVpdC9zcmMvbGliL25hdi1pdGVtL3plbi1uYXYtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQWV2RSxNQUFNLGFBQWEsR0FBdUM7SUFDeEQsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO0lBQy9DLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtJQUN0QyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUU7SUFDeEMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO0lBQzNDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtJQUNuRCxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7SUFDbEQsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO0lBQ2xDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtJQUN4QyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFN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LFlBQVk7UUFDVixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBd0I7UUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRSxJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQzs7aUhBL0NVLG1CQUFtQjtxR0FBbkIsbUJBQW1CLG1TQ3ZEaEMsNDJCQXlCQTs0RkQ4QmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGNBQWM7OEJBTWYsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgWmVuU2lkZU5hdkl0ZW1UeXBlLCBaZW5TaWRlTmF2SXRlbVN0YXRlLCBaZW5TaWRlTmF2U3ViSXRlbSB9IGZyb20gJy4uL3NpZGUtbmF2LWl0ZW0vemVuLXNpZGUtbmF2LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFplbk1vZHVsZVBvcHVwTW9kdWxlLCBaZW5Nb2R1bGVQb3B1cEl0ZW0gfSBmcm9tICcuLi9tb2R1bGUtcG9wdXAvemVuLW1vZHVsZS1wb3B1cC5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBaZW5OYXZNb2R1bGUgPVxuICB8ICdkYXNoYm9hcmQnIHwgJ3RvZGF5JyB8ICdmbGVldCcgfCAnc2FmZXR5JyB8ICdvcGVyYXRpb25zJyB8ICdyZXBvcnRzJ1xuICB8ICdidXMnIHwgJ2Z1ZWwnIHwgJ21vcmUnIHwgJ21haW50YWluJyB8ICd2ZWhpY2xlcydcbiAgfCAnZHJpdmVycycgfCAnYWRtaW4nIHwgJ25vdGlmaWNhdGlvbicgfCAnbWVzc2FnZSdcbiAgfCAnbWFuYWdlJyB8ICdoZWxwJyB8ICdlZmZpY2llbmN5JyB8ICdpbnZlbnRvcnknO1xuXG5pbnRlcmZhY2UgTW9kdWxlQ29uZmlnIHtcbiAgaWNvbjogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xufVxuXG5jb25zdCBNT0RVTEVfQ09ORklHOiBSZWNvcmQ8WmVuTmF2TW9kdWxlLCBNb2R1bGVDb25maWc+ID0ge1xuICBkYXNoYm9hcmQ6IHsgaWNvbjogJ2hvbWUnLCBsYWJlbDogJ0Rhc2hib2FyZCcgfSxcbiAgdG9kYXk6IHsgaWNvbjogJ3N1bicsIGxhYmVsOiAnVG9kYXknIH0sXG4gIGZsZWV0OiB7IGljb246ICd0cnVjaycsIGxhYmVsOiAnRmxlZXQnIH0sXG4gIHNhZmV0eTogeyBpY29uOiAnc2hpZWxkJywgbGFiZWw6ICdTYWZldHknIH0sXG4gIG9wZXJhdGlvbnM6IHsgaWNvbjogJ2JyaWVmY2FzZScsIGxhYmVsOiAnT3BlcmF0ZScgfSxcbiAgcmVwb3J0czogeyBpY29uOiAnYmFyLWNoYXJ0LTInLCBsYWJlbDogJ1JlcG9ydHMnIH0sXG4gIGJ1czogeyBpY29uOiAnYnVzJywgbGFiZWw6ICdCdXMnIH0sXG4gIGZ1ZWw6IHsgaWNvbjogJ2Ryb3BsZXQnLCBsYWJlbDogJ0Z1ZWwnIH0sXG4gIG1vcmU6IHsgaWNvbjogJ21vcmUtdmVydGljYWwnLCBsYWJlbDogJ01vcmUnIH0sXG4gIG1haW50YWluOiB7IGljb246ICd0b29sJywgbGFiZWw6ICdNYWludGFpbicgfSxcbiAgdmVoaWNsZXM6IHsgaWNvbjogJ3RydWNrJywgbGFiZWw6ICdWZWhpY2xlcycgfSxcbiAgZHJpdmVyczogeyBpY29uOiAndXNlcnMnLCBsYWJlbDogJ0RyaXZlcnMnIH0sXG4gIGFkbWluOiB7IGljb246ICdzZXR0aW5ncycsIGxhYmVsOiAnQWRtaW4nIH0sXG4gIG5vdGlmaWNhdGlvbjogeyBpY29uOiAnYmVsbCcsIGxhYmVsOiAnQWxlcnRzJyB9LFxuICBtZXNzYWdlOiB7IGljb246ICdtZXNzYWdlLXNxdWFyZScsIGxhYmVsOiAnQ2hhdCcgfSxcbiAgbWFuYWdlOiB7IGljb246ICdzbGlkZXJzJywgbGFiZWw6ICdNYW5hZ2UnIH0sXG4gIGhlbHA6IHsgaWNvbjogJ2hlbHAtY2lyY2xlJywgbGFiZWw6ICdIZWxwJyB9LFxuICBlZmZpY2llbmN5OiB7IGljb246ICd0cmVuZGluZy11cCcsIGxhYmVsOiAnRWZmaWNpZW5jeScgfSxcbiAgaW52ZW50b3J5OiB7IGljb246ICdwYWNrYWdlJywgbGFiZWw6ICdJbnZlbnRvcnknIH0sXG59O1xuXG5jb25zdCBNT0RVTEVfVE9fUE9QVVA6IFJlY29yZDxzdHJpbmcsIFplbk1vZHVsZVBvcHVwTW9kdWxlPiA9IHtcbiAgZmxlZXQ6ICdmbGVldCcsXG4gIHNhZmV0eTogJ3NhZmV0eScsXG4gIG9wZXJhdGlvbnM6ICdvcGVyYXRpb25zJyxcbiAgcmVwb3J0czogJ3JlcG9ydHMnLFxuICBidXM6ICdidXMnLFxuICBmdWVsOiAnZnVlbCcsXG4gIG1vcmU6ICdtb3JlJyxcbiAgbWFpbnRhaW46ICdtYWludGFpbicsXG4gIGVmZmljaWVuY3k6ICdlZmZpY2llbmN5JyxcbiAgaW52ZW50b3J5OiAnaW52ZW50b3J5Jyxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3plbi1uYXYtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi96ZW4tbmF2LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi96ZW4tbmF2LWl0ZW0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBaZW5OYXZJdGVtQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBtb2R1bGU6IFplbk5hdk1vZHVsZSA9ICdkYXNoYm9hcmQnO1xuICBASW5wdXQoKSB0eXBlOiBaZW5TaWRlTmF2SXRlbVR5cGUgPSAnY29sbGFwc2VkJztcbiAgQElucHV0KCkgc3RhdGU6IFplblNpZGVOYXZJdGVtU3RhdGUgPSAnZGVmYXVsdCc7XG4gIEBJbnB1dCgpIGhhc1N1Ym1vZHVsZSA9IGZhbHNlO1xuICBASW5wdXQoKSBzdWJJdGVtczogWmVuU2lkZU5hdlN1Ykl0ZW1bXSA9IFtdO1xuICBASW5wdXQoKSBleHBhbmRlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBhY3RpdmF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHN1Ykl0ZW1BY3RpdmF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8WmVuU2lkZU5hdlN1Ykl0ZW0+KCk7XG4gIEBPdXRwdXQoKSBleHBhbmRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBwb3B1cE9wZW4gPSBmYWxzZTtcblxuICBnZXQgbW9kdWxlQ29uZmlnKCk6IE1vZHVsZUNvbmZpZyB7XG4gICAgcmV0dXJuIE1PRFVMRV9DT05GSUdbdGhpcy5tb2R1bGVdIHx8IE1PRFVMRV9DT05GSUcuZGFzaGJvYXJkO1xuICB9XG5cbiAgZ2V0IHBvcHVwTW9kdWxlKCk6IFplbk1vZHVsZVBvcHVwTW9kdWxlIHwgbnVsbCB7XG4gICAgcmV0dXJuIE1PRFVMRV9UT19QT1BVUFt0aGlzLm1vZHVsZV0gfHwgbnVsbDtcbiAgfVxuXG4gIGdldCBwb3B1cEl0ZW1zKCk6IFplbk1vZHVsZVBvcHVwSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5zdWJJdGVtcy5tYXAocyA9PiAoeyBsYWJlbDogcy5sYWJlbCwgcm91dGU6IHMucm91dGUsIHRhZzogcy50YWcgfSkpO1xuICB9XG5cbiAgZ2V0IHNob3dQb3B1cE9uSG92ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gJ2NvbGxhcHNlZCcgJiYgdGhpcy5oYXNTdWJtb2R1bGUgJiYgdGhpcy5zdWJJdGVtcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgb25Nb3VzZUVudGVyKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dQb3B1cE9uSG92ZXIpIHtcbiAgICAgIHRoaXMucG9wdXBPcGVuID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBvbk1vdXNlTGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5wb3B1cE9wZW4gPSBmYWxzZTtcbiAgfVxuXG4gIG9uUG9wdXBJdGVtQ2xpY2soaXRlbTogWmVuTW9kdWxlUG9wdXBJdGVtKTogdm9pZCB7XG4gICAgY29uc3Qgc3ViSXRlbSA9IHRoaXMuc3ViSXRlbXMuZmluZChzID0+IHMubGFiZWwgPT09IGl0ZW0ubGFiZWwpO1xuICAgIGlmIChzdWJJdGVtKSB7XG4gICAgICB0aGlzLnN1Ykl0ZW1BY3RpdmF0ZS5lbWl0KHN1Ykl0ZW0pO1xuICAgIH1cbiAgICB0aGlzLnBvcHVwT3BlbiA9IGZhbHNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiemVuLW5hdi1pdGVtXCJcbiAgICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZUVudGVyKClcIlxuICAgICAobW91c2VsZWF2ZSk9XCJvbk1vdXNlTGVhdmUoKVwiPlxuICA8emVuLXNpZGUtbmF2LWl0ZW1cbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICBbc3RhdGVdPVwic3RhdGVcIlxuICAgIFtpY29uXT1cIm1vZHVsZUNvbmZpZy5pY29uXCJcbiAgICBbbGFiZWxdPVwibW9kdWxlQ29uZmlnLmxhYmVsXCJcbiAgICBbaGFzU3VibW9kdWxlXT1cImhhc1N1Ym1vZHVsZVwiXG4gICAgW3N1Ykl0ZW1zXT1cInN1Ykl0ZW1zXCJcbiAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxuICAgIChhY3RpdmF0ZSk9XCJhY3RpdmF0ZS5lbWl0KClcIlxuICAgIChzdWJJdGVtQWN0aXZhdGUpPVwic3ViSXRlbUFjdGl2YXRlLmVtaXQoJGV2ZW50KVwiXG4gICAgKGV4cGFuZGVkQ2hhbmdlKT1cImV4cGFuZGVkQ2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuICA8L3plbi1zaWRlLW5hdi1pdGVtPlxuXG4gIDwhLS0gQ29sbGFwc2VkIGhvdmVyIHBvcHVwIC0tPlxuICA8emVuLW1vZHVsZS1wb3B1cCAqbmdJZj1cInBvcHVwT3BlbiAmJiBwb3B1cE1vZHVsZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLW5hdi1pdGVtX19wb3B1cFwiXG4gICAgICAgICAgICAgICAgICAgIFttb2R1bGVdPVwicG9wdXBNb2R1bGVcIlxuICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwicG9wdXBJdGVtc1wiXG4gICAgICAgICAgICAgICAgICAgIFtpc09wZW5dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChpdGVtQ2xpY2spPVwib25Qb3B1cEl0ZW1DbGljaygkZXZlbnQpXCI+XG4gIDwvemVuLW1vZHVsZS1wb3B1cD5cbjwvZGl2PlxuIl19
@@ -60,7 +60,7 @@ export class ZenduPaginationBarComponent {
60
60
  }
61
61
  }
62
62
  ZenduPaginationBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ZenduPaginationBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- ZenduPaginationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ZenduPaginationBarComponent, selector: "zen-pagination-bar", inputs: { page: "page", perPage: "perPage", count: "count" }, outputs: { pageChange: "pageChange", perPageChange: "perPageChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pagination-component\">\n <div class=\"select-dropdown\">\n <label>{{\"Rows per page\" | translate}}:</label>\n <zen-select [(selectModel)]=\"perPage\"\n [options]=\"availablePagesSize\"\n [displayProp]=\"'text'\"\n [idProp]=\"'id'\"\n (selectModelChange)=\"updatePageSize()\"></zen-select>\n </div>\n <div class=\"pages\">\n <button class=\"pagination-button\"\n [disabled]=\"page - 1 <= 0\"\n (click)=\"prevPage()\">\n <i class=\"material-icons\">keyboard_arrow_left</i>\n </button>\n <label>{{((page - 1) * perPage) + 1 }} - {{endRowSize()}} of {{count}}</label>\n <button class=\"pagination-button\"\n [disabled]=\"page + 1 > totalPages\"\n (click)=\"nextPage()\">\n <i class=\"material-icons\">keyboard_arrow_right</i>\n </button>\n </div>\n</div>\n", styles: [".pagination-component{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.pagination-component .select-dropdown{display:flex;flex-direction:row;align-items:center;gap:8px}.pagination-component .select-dropdown label{margin:0;font-style:normal;font-weight:400;font-size:12px;line-height:120%;color:#4f4f4f}.pagination-component .pages{display:flex;flex-direction:row;align-items:center;gap:8px}.pagination-component .pages label{margin:0;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:#828282}.pagination-component .pages .pagination-button{display:flex;flex-direction:row;align-items:center;height:16px;padding:0;box-sizing:border-box;white-space:nowrap;border:none;border-radius:50%;transition:.1s;cursor:pointer;color:#828282;background:#FFFFFF}.pagination-component .pages .pagination-button:hover{color:#4f4f4f;background:#F2F2F2}.pagination-component .pages .pagination-button:focus{outline:none;color:#2188d9;background:#F4F9FD}.pagination-component .pages .pagination-button:disabled{color:#e0e0e0;background:#FFFFFF;cursor:not-allowed}.pagination-component .pages .pagination-button .material-icons{font-size:16px;height:16px;width:16px}\n"], dependencies: [{ kind: "component", type: i1.ZenduSelectComponent, selector: "zen-select", inputs: ["selectModel", "options", "label", "supportingText", "placeholder", "leadingType", "leadingIcon", "leadingAvatar", "leadingDotColor", "displayProp", "idProp", "hasSearch", "isMultiselect", "multiselect", "hideSelectAll", "hideTreeSearch", "disabled", "error", "errorMessage", "size", "returnOption", "isTruncate", "enableAddNewOption", "showDefaultAddOption", "newOptionText", "enableRemoveOption", "removeOptionText", "isLazyLoading", "lazyLoader"], outputs: ["selectModelChange", "addNewOption", "removeOption", "closed"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
63
+ ZenduPaginationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: ZenduPaginationBarComponent, selector: "zen-pagination-bar", inputs: { page: "page", perPage: "perPage", count: "count" }, outputs: { pageChange: "pageChange", perPageChange: "perPageChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pagination-component\">\n <div class=\"select-dropdown\">\n <label>{{\"Rows per page\" | translate}}:</label>\n <zen-select [(selectModel)]=\"perPage\"\n [options]=\"availablePagesSize\"\n [displayProp]=\"'text'\"\n [idProp]=\"'id'\"\n (selectModelChange)=\"updatePageSize()\"></zen-select>\n </div>\n <div class=\"pages\">\n <button class=\"pagination-button\"\n [disabled]=\"page - 1 <= 0\"\n (click)=\"prevPage()\">\n <i class=\"material-icons\">keyboard_arrow_left</i>\n </button>\n <label>{{((page - 1) * perPage) + 1 }} - {{endRowSize()}} of {{count}}</label>\n <button class=\"pagination-button\"\n [disabled]=\"page + 1 > totalPages\"\n (click)=\"nextPage()\">\n <i class=\"material-icons\">keyboard_arrow_right</i>\n </button>\n </div>\n</div>\n", styles: [".pagination-component{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.pagination-component .select-dropdown{display:flex;flex-direction:row;align-items:center;gap:8px}.pagination-component .select-dropdown label{margin:0;font-style:normal;font-weight:400;font-size:12px;line-height:120%;color:#4f4f4f}.pagination-component .pages{display:flex;flex-direction:row;align-items:center;gap:8px}.pagination-component .pages label{margin:0;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:#828282}.pagination-component .pages .pagination-button{display:flex;flex-direction:row;align-items:center;height:16px;padding:0;box-sizing:border-box;white-space:nowrap;border:none;border-radius:50%;transition:.1s;cursor:pointer;color:#828282;background:#FFFFFF}.pagination-component .pages .pagination-button:hover{color:#4f4f4f;background:#F2F2F2}.pagination-component .pages .pagination-button:focus{outline:none;color:#2188d9;background:#F4F9FD}.pagination-component .pages .pagination-button:disabled{color:#e0e0e0;background:#FFFFFF;cursor:not-allowed}.pagination-component .pages .pagination-button .material-icons{font-size:16px;height:16px;width:16px}\n"], dependencies: [{ kind: "component", type: i1.ZenduSelectComponent, selector: "zen-select", inputs: ["selectModel", "options", "label", "supportingText", "hintText", "placeholder", "leadingType", "leadingIcon", "leadingAvatar", "leadingDotColor", "displayProp", "idProp", "hasSearch", "isMultiselect", "multiselect", "hideSelectAll", "hideTreeSearch", "disabled", "error", "errorMessage", "destructive", "size", "returnOption", "isTruncate", "enableAddNewOption", "showDefaultAddOption", "newOptionText", "enableRemoveOption", "removeOptionText", "isLazyLoading", "lazyLoader", "preferredOpenDirection"], outputs: ["selectModelChange", "addNewOption", "removeOption", "closed"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ZenduPaginationBarComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{ selector: 'zen-pagination-bar', template: "<div class=\"pagination-component\">\n <div class=\"select-dropdown\">\n <label>{{\"Rows per page\" | translate}}:</label>\n <zen-select [(selectModel)]=\"perPage\"\n [options]=\"availablePagesSize\"\n [displayProp]=\"'text'\"\n [idProp]=\"'id'\"\n (selectModelChange)=\"updatePageSize()\"></zen-select>\n </div>\n <div class=\"pages\">\n <button class=\"pagination-button\"\n [disabled]=\"page - 1 <= 0\"\n (click)=\"prevPage()\">\n <i class=\"material-icons\">keyboard_arrow_left</i>\n </button>\n <label>{{((page - 1) * perPage) + 1 }} - {{endRowSize()}} of {{count}}</label>\n <button class=\"pagination-button\"\n [disabled]=\"page + 1 > totalPages\"\n (click)=\"nextPage()\">\n <i class=\"material-icons\">keyboard_arrow_right</i>\n </button>\n </div>\n</div>\n", styles: [".pagination-component{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.pagination-component .select-dropdown{display:flex;flex-direction:row;align-items:center;gap:8px}.pagination-component .select-dropdown label{margin:0;font-style:normal;font-weight:400;font-size:12px;line-height:120%;color:#4f4f4f}.pagination-component .pages{display:flex;flex-direction:row;align-items:center;gap:8px}.pagination-component .pages label{margin:0;font-style:normal;font-weight:400;font-size:12px;line-height:16px;color:#828282}.pagination-component .pages .pagination-button{display:flex;flex-direction:row;align-items:center;height:16px;padding:0;box-sizing:border-box;white-space:nowrap;border:none;border-radius:50%;transition:.1s;cursor:pointer;color:#828282;background:#FFFFFF}.pagination-component .pages .pagination-button:hover{color:#4f4f4f;background:#F2F2F2}.pagination-component .pages .pagination-button:focus{outline:none;color:#2188d9;background:#F4F9FD}.pagination-component .pages .pagination-button:disabled{color:#e0e0e0;background:#FFFFFF;cursor:not-allowed}.pagination-component .pages .pagination-button .material-icons{font-size:16px;height:16px;width:16px}\n"] }]
@@ -49,7 +49,7 @@ export class ZenduPhoneInputComponent {
49
49
  }
50
50
  parseNumber() {
51
51
  try {
52
- this.phoneText = this.phone;
52
+ this.phoneText = this.phone || '';
53
53
  if (this.phone) {
54
54
  const countryFromList = this.countryList.find(country => this.phone.startsWith(country.countryCallingCode) || `+${this.phone}`.startsWith(country.countryCallingCode));
55
55
  if (countryFromList) {
@@ -148,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
148
148
  }], width: [{
149
149
  type: Input
150
150
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVuZHUtcGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctemVuZHVpdC9zcmMvbGliL3Bob25lLWlucHV0L3plbmR1LXBob25lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9waG9uZS1pbnB1dC96ZW5kdS1waG9uZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQU94RCxNQUFNLE9BQU8sd0JBQXdCO0lBa0RuQztRQTVDUyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBRXRCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV6QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFM0MsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUluQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsZ0JBQVcsR0FBNkY7WUFDN0c7Z0JBQ0UsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFdBQVcsRUFBRSxTQUFTO2dCQUN0QixrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixJQUFJLEVBQUUsNERBQTREO2FBQ25FO1lBQ0Q7Z0JBQ0UsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFdBQVcsRUFBRSxRQUFRO2dCQUNyQixrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixJQUFJLEVBQUUsK0RBQStEO2FBQ3RFO1lBQ0Q7Z0JBQ0UsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFdBQVcsRUFBRSxRQUFRO2dCQUNyQixrQkFBa0IsRUFBRSxLQUFLO2dCQUN6QixJQUFJLEVB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QWEsQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3hHO1lBQUMsTUFBTTtnQkFDTixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM5QjtTQUNGO0lBQ0gsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDekM7SUFDSCxDQUFDOztzSEFoSlUsd0JBQXdCOzBHQUF4Qix3QkFBd0Isa1ZDUnJDLGs3RkFrRUE7NEZEMURhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSxpQkFBaUI7MEVBTVAsWUFBWTtzQkFBL0IsU0FBUzt1QkFBQyxPQUFPO2dCQUVULEtBQUs7c0JBQWIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsV0FBVztzQkFBcEIsTUFBTTtnQkFFRSxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaG9uZU51bWJlclV0aWwgfSBmcm9tICdnb29nbGUtbGlicGhvbmVudW1iZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd6ZW4tcGhvbmUtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vemVuZHUtcGhvbmUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi96ZW5kdS1waG9uZS1pbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFplbmR1UGhvbmVJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBASW5wdXQoKSBwaG9uZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyID0gMTI7XG5cbiAgQE91dHB1dCgpIHBob25lQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgQE91dHB1dCgpIHZhbGlkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZztcblxuICBwdWJsaWMgcGhvbmVUZXh0ID0gXCJcIjtcblxuICBwdWJsaWMgY291bnRyeUxpc3Q6IHsgY291bnRyeUNvZGU6IHN0cmluZywgY291bnRyeU5hbWU6IHN0cmluZywgY291bnRyeUNhbGxpbmdDb2RlOiBzdHJpbmcsIGZsYWc6IHN0cmluZyB9W10gPSBbXG4gICAge1xuICAgICAgY291bnRyeUNvZGU6IFwiVVNcIixcbiAgICAgIGNvdW50cnlOYW1lOiBcIkFtZXJpY2FcIixcbiAgICAgIGNvdW50cnlDYWxsaW5nQ29kZTogXCIrMVwiLFxuICAgICAgZmxhZzogXCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vemVuZHVpdC1pY29ucy9GbGFncy9VU0Euc3ZnXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvdW50cnlDb2RlOiBcIkNBXCIsXG4gICAgICBjb3VudHJ5TmFtZTogXCJDYW5hZGFcIixcbiAgICAgIGNvdW50cnlDYWxsaW5nQ29kZTogXCIrMVwiLFxuICAgICAgZmxhZzogXCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vemVuZHVpdC1pY29ucy9GbGFncy9DYW5hZGEuc3ZnXCJcbiAgICB9LFxuICAgIHtcbiAgICAgIGNvdW50cnlDb2RlOiBcIk1YXCIsXG4gICAgICBjb3VudHJ5TmFtZTogXCJNZXhpY29cIixcbiAgICAgIGNvdW50cnlDYWxsaW5nQ29kZTogXCIrNTJcIixcbiAgICAgIGZsYWc6IFwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbmR1aXQtaWNvbnMvRmxhZ3MvTWV4aWNvLnN2Z1wiXG4gICAgfVxuICBdO1xuXG4gIHB1YmxpYyBjdXN0b21Db3VudHJ5ID0ge1xuICAgIGNvdW50cnlDb2RlOiBcIlwiLFxuICAgIGNvdW50cnlOYW1lOiBcIkN1c3RvbVwiLFxuICAgIGNvdW50cnlDYWxsaW5nQ29kZTogXCJcIixcbiAgICBmbGFnOiBcImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS96ZW5kdWl0LWljb25zL0ZsYWdzL0N1c3RvbS5zdmdcIlxuICB9O1xuXG4gIHB1YmxpYyBzZWxlY3RlZENvdW50cnk6IHsgY291bnRyeUNvZGU6IHN0cmluZywgY291bnRyeU5hbWU6IHN0cmluZywgY291bnRyeUNhbGxpbmdDb2RlOiBzdHJpbmcsIGZsYWc6IHN0cmluZyB9O1xuXG4gIHB1YmxpYyBpc0V4cGFuZGVkID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5jb3VudHJ5TGlzdFsxXTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhcnNlTnVtYmVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzW1wicGhvbmVcIl0gJiYgKCF0aGlzLnNlbGVjdGVkQ291bnRyeSB8fCAhdGhpcy5zZWxlY3RlZENvdW50cnkuY291bnRyeUNvZGUpKSB7XG4gICAgICB0aGlzLnBhcnNlTnVtYmVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHBhcnNlTnVtYmVyKCk6IHZvaWQge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnBob25lVGV4dCA9IHRoaXMucGhvbmU7XG5cbiAgICAgIGlmICh0aGlzLnBob25lKSB7XG4gICAgICAgIGNvbnN0IGNvdW50cnlGcm9tTGlzdCA9IHRoaXMuY291bnRyeUxpc3QuZmluZChjb3VudHJ5ID0+IHRoaXMucGhvbmUuc3RhcnRzV2l0aChjb3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZSkgfHwgYCske3RoaXMucGhvbmV9YC5zdGFydHNXaXRoKGNvdW50cnkuY291bnRyeUNhbGxpbmdDb2RlKSk7XG4gICAgICAgIGlmIChjb3VudHJ5RnJvbUxpc3QpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IGNvdW50cnlGcm9tTGlzdCB8fCB0aGlzLmN1c3RvbUNvdW50cnk7XG4gICAgICAgICAgY29uc3QgcGhvbmVOdW1iZXJVdGlsID0gUGhvbmVOdW1iZXJVdGlsLmdldEluc3RhbmNlKCk7XG4gICAgICAgICAgY29uc3QgcGFyc2VkUGhvbmUgPSBwaG9uZU51bWJlclV0aWwucGFyc2UodGhpcy5waG9uZSB8fCBcIlwiLCAnVVMnKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnBob25lVGV4dC5zdGFydHNXaXRoKCcrJykpIHtcbiAgICAgICAgICAgICAgdGhpcy5waG9uZVRleHQgPSB0aGlzLnBob25lVGV4dC5yZXBsYWNlKGArJHtwYXJzZWRQaG9uZS5nZXRDb3VudHJ5Q29kZSgpfWAsIFwiXCIpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnBob25lVGV4dC5zdGFydHNXaXRoKHBhcnNlZFBob25lLmdldENvdW50cnlDb2RlKCkpKSB7XG4gICAgICAgICAgICAgIHRoaXMucGhvbmVUZXh0ID0gdGhpcy5waG9uZVRleHQucmVwbGFjZShwYXJzZWRQaG9uZS5nZXRDb3VudHJ5Q29kZSgpLCBcIlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucGhvbmVDaGFuZ2VkKCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSB0aGlzLmN1c3RvbUNvdW50cnk7ICBcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSB0aGlzLmN1c3RvbUNvdW50cnk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLndhcm4oYENhbid0IHBhcnNlIHBob25lOiAke3RoaXMucGhvbmV9YCwgZXJyKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5jdXN0b21Db3VudHJ5O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjb3VudHJ5Q2hhbmdlZChjb3VudHJ5KTogdm9pZCB7XG4gICAgdGhpcy5pc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSBjb3VudHJ5O1xuICAgIHRoaXMucGhvbmVDaGFuZ2VkKCk7XG4gIH1cblxuICBwdWJsaWMgcGhvbmVDaGFuZ2VkKGlucHV0PzogSFRNTElucHV0RWxlbWVudCk6IHZvaWQge1xuICAgIFxuICAgIC8vIGFsbG93ICsgaW4gY3VzdG9tIGNvdW50cnlcbiAgICBsZXQgY3VzdG9tID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID09PSB0aGlzLmN1c3RvbUNvdW50cnkgJiYgdGhpcy5waG9uZVRleHQuaW5jbHVkZXMoJysnKSkge1xuICAgICAgY3VzdG9tID0gdHJ1ZTtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgcGhvbmVUZXh0ID0gKHRoaXMucGhvbmVUZXh0IHx8ICcnKS5yZXBsYWNlKC9cXEQvZywgJycpO1xuICAgIHRoaXMucGhvbmVUZXh0ID0gY3VzdG9tID8gYCske3Bob25lVGV4dH1gOiBwaG9uZVRleHRcbiAgICBpZiAoaW5wdXQgJiYgaW5wdXQudmFsdWUgIT09IHRoaXMucGhvbmVUZXh0KSB7XG4gICAgICBpbnB1dC52YWx1ZSA9IHRoaXMucGhvbmVUZXh0O1xuICAgIH1cbiAgICBjb25zdCBmdWxsTnVtYmVyID0gYCR7dGhpcy5zZWxlY3RlZENvdW50cnkuY291bnRyeUNhbGxpbmdDb2RlfSR7dGhpcy5waG9uZVRleHR9YDtcbiAgICBpZiAodGhpcy5waG9uZSAhPT0gZnVsbE51bWJlcikge1xuICAgICAgdGhpcy5waG9uZUNoYW5nZS5lbWl0KGZ1bGxOdW1iZXIpO1xuICAgIH1cbiAgICBjb25zdCBwaG9uZU51bWJlclV0aWwgPSBQaG9uZU51bWJlclV0aWwuZ2V0SW5zdGFuY2UoKTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZENvdW50cnkgPT09IHRoaXMuY3VzdG9tQ291bnRyeSkge1xuICAgICAgdGhpcy52YWxpZENoYW5nZS5lbWl0KHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnZhbGlkQ2hhbmdlLmVtaXQocGhvbmVOdW1iZXJVdGlsLmlzVmFsaWROdW1iZXIocGhvbmVOdW1iZXJVdGlsLnBhcnNlQW5kS2VlcFJhd0lucHV0KGZ1bGxOdW1iZXIpKSk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgdGhpcy52YWxpZENoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGlkZURyb3BEb3duKCk6IHZvaWQge1xuICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZSgpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzRXhwYW5kZWQgPSAhdGhpcy5pc0V4cGFuZGVkO1xuICB9XG5cbiAgcHVibGljIGZvY3VzSW5wdXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50KSB7XG4gICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiemVuLWlucHV0LWNvbnRhaW5lclwiIFtzdHlsZS53aWR0aF09XCJ3aWR0aFwiPlxuICAgIDwhLS0gSW5wdXQgd3JhcHBlciAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiemVuLWlucHV0LWZpZWxkLXdyYXBwZXJcIiAoY2xpY2spPVwiZm9jdXNJbnB1dCgpXCI+XG5cbiAgICAgICAgPCEtLSBMZWFkaW5nIGRyb3Bkb3duOiBDb3VudHJ5IHNlbGVjdG9yIC0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiemVuLWlucHV0LWxlYWRpbmctZHJvcGRvd25cIj5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLWRyb3Bkb3duLXRyaWdnZXJcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwic2VsZWN0ZWRDb3VudHJ5LmZsYWdcIlxuICAgICAgICAgICAgICAgICAgICAgW2FsdF09XCJzZWxlY3RlZENvdW50cnkuY291bnRyeU5hbWVcIj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImRyb3Bkb3duLWxhYmVsXCI+e3sgc2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zIGRyb3Bkb3duLWljb25cIlxuICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogaXNFeHBhbmRlZH1cIj5leHBhbmRfbW9yZTwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIFBob25lIGlucHV0IGZpZWxkIC0tPlxuICAgICAgICA8aW5wdXQgI2lucHV0XG4gICAgICAgICAgICAgICBjbGFzcz1cInplbi1pbnB1dC1maWVsZCB0ZXh0IHRleHQtbWQgdGV4dC13ZWlnaHQtcmVndWxhclwiXG4gICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInBob25lVGV4dFwiXG4gICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwaG9uZUNoYW5nZWQoaW5wdXQpXCJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJpc0V4cGFuZGVkID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgIGNvdW50cnktY29kZT1cInNlbGVjdGVkQ291bnRyeS5jb3VudHJ5Q29kZVwiXG4gICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBDb3VudHJ5IGRyb3Bkb3duIG1lbnUgLS0+XG4gICAgPGRpdiBjbGFzcz1cInplbi1kcm9wZG93bi1tZW51XCJcbiAgICAgICAgICpuZ0lmPVwiaXNFeHBhbmRlZFwiXG4gICAgICAgICBbbmdDbGFzc109XCJ7J29wZW4nOiBpc0V4cGFuZGVkfVwiPlxuICAgICAgICA8IS0tIENvdW50cmllcyBMaXN0IC0tPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiemVuLWRyb3Bkb3duLW9wdGlvblwiXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGNvdW50cnkgb2YgY291bnRyeUxpc3RcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOiBzZWxlY3RlZENvdW50cnkuY291bnRyeU5hbWUgPT09IGNvdW50cnkuY291bnRyeU5hbWV9XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY291bnRyeUNoYW5nZWQoY291bnRyeSlcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1mbGFnXCJcbiAgICAgICAgICAgICAgICAgW3NyY109XCJjb3VudHJ5LmZsYWdcIlxuICAgICAgICAgICAgICAgICBbYWx0XT1cImNvdW50cnkuY291bnRyeU5hbWVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiemVuLXBob25lLWNvdW50cnktbmFtZVwiPnt7IGNvdW50cnkuY291bnRyeU5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInplbi1waG9uZS1jb3VudHJ5LWNvZGVcIj57eyBjb3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPCEtLSBDdXN0b20gQ291bnRyeSAtLT5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1kcm9wZG93bi1vcHRpb25cIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOiBzZWxlY3RlZENvdW50cnkuY291bnRyeU5hbWUgPT09IGN1c3RvbUNvdW50cnkuY291bnRyeU5hbWV9XCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY291bnRyeUNoYW5nZWQoY3VzdG9tQ291bnRyeSlcIj5cbiAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1mbGFnXCJcbiAgICAgICAgICAgICAgICAgW3NyY109XCJjdXN0b21Db3VudHJ5LmZsYWdcIlxuICAgICAgICAgICAgICAgICBbYWx0XT1cImN1c3RvbUNvdW50cnkuY291bnRyeU5hbWVcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiemVuLXBob25lLWNvdW50cnktbmFtZVwiPnt7IGN1c3RvbUNvdW50cnkuY291bnRyeU5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInplbi1waG9uZS1jb3VudHJ5LWNvZGVcIj57eyBjdXN0b21Db3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZSB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBDbGljayBvdXRzaWRlIGhhbmRsZXIgZm9yIGRyb3Bkb3duIC0tPlxuPGRpdiAqbmdJZj1cImlzRXhwYW5kZWRcIlxuICAgICBjbGFzcz1cInplbi1kcm9wZG93bi1iYWNrZHJvcFwiXG4gICAgIChjbGljayk9XCJoaWRlRHJvcERvd24oKVwiPjwvZGl2PlxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemVuZHUtcGhvbmUtaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctemVuZHVpdC9zcmMvbGliL3Bob25lLWlucHV0L3plbmR1LXBob25lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXplbmR1aXQvc3JjL2xpYi9waG9uZS1pbnB1dC96ZW5kdS1waG9uZS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7OztBQU94RCxNQUFNLE9BQU8sd0JBQXdCO0lBa0RuQztRQTVDUyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBRXRCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV6QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFM0MsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUluQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsZ0JBQVcsR0FBNkY7WUFDN0c7Z0JBQ0UsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFdBQVcsRUFBRSxTQUFTO2dCQUN0QixrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixJQUFJLEVBQUUsNERBQTREO2FBQ25FO1lBQ0Q7Z0JBQ0UsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFdBQVcsRUFBRSxRQUFRO2dCQUNyQixrQkFBa0IsRUFBRSxJQUFJO2dCQUN4QixJQUFJLEVBQUUsK0RBQStEO2FBQ3RFO1lBQ0Q7Z0JBQ0UsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFdBQVcsRUFBRSxRQUFRO2dCQUNyQixrQkFBa0IsRUFBRSxLQUFLO2dCQUN6QixJQUFJLEVB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QWUsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN4RztZQUFDLE1BQU07Z0JBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDOUI7U0FDRjtJQUNILENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQzs7c0hBaEpVLHdCQUF3QjswR0FBeEIsd0JBQXdCLGtWQ1JyQyxrN0ZBa0VBOzRGRDFEYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsaUJBQWlCOzBFQU1QLFlBQVk7c0JBQS9CLFNBQVM7dUJBQUMsT0FBTztnQkFFVCxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUUsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUGhvbmVOdW1iZXJVdGlsIH0gZnJvbSAnZ29vZ2xlLWxpYnBob25lbnVtYmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnemVuLXBob25lLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3plbmR1LXBob25lLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vemVuZHUtcGhvbmUtaW5wdXQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBaZW5kdVBob25lSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgQElucHV0KCkgcGhvbmU6IHN0cmluZztcblxuICBASW5wdXQoKSBtYXhMZW5ndGg6IG51bWJlciA9IDEyO1xuXG4gIEBPdXRwdXQoKSBwaG9uZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKSB2YWxpZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmc7XG5cbiAgcHVibGljIHBob25lVGV4dCA9IFwiXCI7XG5cbiAgcHVibGljIGNvdW50cnlMaXN0OiB7IGNvdW50cnlDb2RlOiBzdHJpbmcsIGNvdW50cnlOYW1lOiBzdHJpbmcsIGNvdW50cnlDYWxsaW5nQ29kZTogc3RyaW5nLCBmbGFnOiBzdHJpbmcgfVtdID0gW1xuICAgIHtcbiAgICAgIGNvdW50cnlDb2RlOiBcIlVTXCIsXG4gICAgICBjb3VudHJ5TmFtZTogXCJBbWVyaWNhXCIsXG4gICAgICBjb3VudHJ5Q2FsbGluZ0NvZGU6IFwiKzFcIixcbiAgICAgIGZsYWc6IFwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbmR1aXQtaWNvbnMvRmxhZ3MvVVNBLnN2Z1wiXG4gICAgfSxcbiAgICB7XG4gICAgICBjb3VudHJ5Q29kZTogXCJDQVwiLFxuICAgICAgY291bnRyeU5hbWU6IFwiQ2FuYWRhXCIsXG4gICAgICBjb3VudHJ5Q2FsbGluZ0NvZGU6IFwiKzFcIixcbiAgICAgIGZsYWc6IFwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3plbmR1aXQtaWNvbnMvRmxhZ3MvQ2FuYWRhLnN2Z1wiXG4gICAgfSxcbiAgICB7XG4gICAgICBjb3VudHJ5Q29kZTogXCJNWFwiLFxuICAgICAgY291bnRyeU5hbWU6IFwiTWV4aWNvXCIsXG4gICAgICBjb3VudHJ5Q2FsbGluZ0NvZGU6IFwiKzUyXCIsXG4gICAgICBmbGFnOiBcImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS96ZW5kdWl0LWljb25zL0ZsYWdzL01leGljby5zdmdcIlxuICAgIH1cbiAgXTtcblxuICBwdWJsaWMgY3VzdG9tQ291bnRyeSA9IHtcbiAgICBjb3VudHJ5Q29kZTogXCJcIixcbiAgICBjb3VudHJ5TmFtZTogXCJDdXN0b21cIixcbiAgICBjb3VudHJ5Q2FsbGluZ0NvZGU6IFwiXCIsXG4gICAgZmxhZzogXCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vemVuZHVpdC1pY29ucy9GbGFncy9DdXN0b20uc3ZnXCJcbiAgfTtcblxuICBwdWJsaWMgc2VsZWN0ZWRDb3VudHJ5OiB7IGNvdW50cnlDb2RlOiBzdHJpbmcsIGNvdW50cnlOYW1lOiBzdHJpbmcsIGNvdW50cnlDYWxsaW5nQ29kZTogc3RyaW5nLCBmbGFnOiBzdHJpbmcgfTtcblxuICBwdWJsaWMgaXNFeHBhbmRlZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuY291bnRyeUxpc3RbMV07XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5wYXJzZU51bWJlcigpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1tcInBob25lXCJdICYmICghdGhpcy5zZWxlY3RlZENvdW50cnkgfHwgIXRoaXMuc2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlDb2RlKSkge1xuICAgICAgdGhpcy5wYXJzZU51bWJlcigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBwYXJzZU51bWJlcigpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5waG9uZVRleHQgPSB0aGlzLnBob25lIHx8ICcnO1xuXG4gICAgICBpZiAodGhpcy5waG9uZSkge1xuICAgICAgICBjb25zdCBjb3VudHJ5RnJvbUxpc3QgPSB0aGlzLmNvdW50cnlMaXN0LmZpbmQoY291bnRyeSA9PiB0aGlzLnBob25lLnN0YXJ0c1dpdGgoY291bnRyeS5jb3VudHJ5Q2FsbGluZ0NvZGUpIHx8IGArJHt0aGlzLnBob25lfWAuc3RhcnRzV2l0aChjb3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZSkpO1xuICAgICAgICBpZiAoY291bnRyeUZyb21MaXN0KSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZENvdW50cnkgPSBjb3VudHJ5RnJvbUxpc3QgfHwgdGhpcy5jdXN0b21Db3VudHJ5O1xuICAgICAgICAgIGNvbnN0IHBob25lTnVtYmVyVXRpbCA9IFBob25lTnVtYmVyVXRpbC5nZXRJbnN0YW5jZSgpO1xuICAgICAgICAgIGNvbnN0IHBhcnNlZFBob25lID0gcGhvbmVOdW1iZXJVdGlsLnBhcnNlKHRoaXMucGhvbmUgfHwgXCJcIiwgJ1VTJyk7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5waG9uZVRleHQuc3RhcnRzV2l0aCgnKycpKSB7XG4gICAgICAgICAgICAgIHRoaXMucGhvbmVUZXh0ID0gdGhpcy5waG9uZVRleHQucmVwbGFjZShgKyR7cGFyc2VkUGhvbmUuZ2V0Q291bnRyeUNvZGUoKX1gLCBcIlwiKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5waG9uZVRleHQuc3RhcnRzV2l0aChwYXJzZWRQaG9uZS5nZXRDb3VudHJ5Q29kZSgpKSkge1xuICAgICAgICAgICAgICB0aGlzLnBob25lVGV4dCA9IHRoaXMucGhvbmVUZXh0LnJlcGxhY2UocGFyc2VkUGhvbmUuZ2V0Q291bnRyeUNvZGUoKSwgXCJcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBob25lQ2hhbmdlZCgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5jdXN0b21Db3VudHJ5OyAgXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gdGhpcy5jdXN0b21Db3VudHJ5O1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS53YXJuKGBDYW4ndCBwYXJzZSBwaG9uZTogJHt0aGlzLnBob25lfWAsIGVycik7XG4gICAgICB0aGlzLnNlbGVjdGVkQ291bnRyeSA9IHRoaXMuY3VzdG9tQ291bnRyeTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY291bnRyeUNoYW5nZWQoY291bnRyeSk6IHZvaWQge1xuICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID0gY291bnRyeTtcbiAgICB0aGlzLnBob25lQ2hhbmdlZCgpO1xuICB9XG5cbiAgcHVibGljIHBob25lQ2hhbmdlZChpbnB1dD86IEhUTUxJbnB1dEVsZW1lbnQpOiB2b2lkIHtcbiAgICBcbiAgICAvLyBhbGxvdyArIGluIGN1c3RvbSBjb3VudHJ5XG4gICAgbGV0IGN1c3RvbSA9IGZhbHNlO1xuICAgIGlmICh0aGlzLnNlbGVjdGVkQ291bnRyeSA9PT0gdGhpcy5jdXN0b21Db3VudHJ5ICYmIHRoaXMucGhvbmVUZXh0LmluY2x1ZGVzKCcrJykpIHtcbiAgICAgIGN1c3RvbSA9IHRydWU7XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IHBob25lVGV4dCA9ICh0aGlzLnBob25lVGV4dCB8fCAnJykucmVwbGFjZSgvXFxEL2csICcnKTtcbiAgICB0aGlzLnBob25lVGV4dCA9IGN1c3RvbSA/IGArJHtwaG9uZVRleHR9YDogcGhvbmVUZXh0XG4gICAgaWYgKGlucHV0ICYmIGlucHV0LnZhbHVlICE9PSB0aGlzLnBob25lVGV4dCkge1xuICAgICAgaW5wdXQudmFsdWUgPSB0aGlzLnBob25lVGV4dDtcbiAgICB9XG4gICAgY29uc3QgZnVsbE51bWJlciA9IGAke3RoaXMuc2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlDYWxsaW5nQ29kZX0ke3RoaXMucGhvbmVUZXh0fWA7XG4gICAgaWYgKHRoaXMucGhvbmUgIT09IGZ1bGxOdW1iZXIpIHtcbiAgICAgIHRoaXMucGhvbmVDaGFuZ2UuZW1pdChmdWxsTnVtYmVyKTtcbiAgICB9XG4gICAgY29uc3QgcGhvbmVOdW1iZXJVdGlsID0gUGhvbmVOdW1iZXJVdGlsLmdldEluc3RhbmNlKCk7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRDb3VudHJ5ID09PSB0aGlzLmN1c3RvbUNvdW50cnkpIHtcbiAgICAgIHRoaXMudmFsaWRDaGFuZ2UuZW1pdCh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy52YWxpZENoYW5nZS5lbWl0KHBob25lTnVtYmVyVXRpbC5pc1ZhbGlkTnVtYmVyKHBob25lTnVtYmVyVXRpbC5wYXJzZUFuZEtlZXBSYXdJbnB1dChmdWxsTnVtYmVyKSkpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHRoaXMudmFsaWRDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhpZGVEcm9wRG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGUoKSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5pc0V4cGFuZGVkID0gIXRoaXMuaXNFeHBhbmRlZDtcbiAgfVxuXG4gIHB1YmxpYyBmb2N1c0lucHV0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlucHV0RWxlbWVudCkge1xuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInplbi1pbnB1dC1jb250YWluZXJcIiBbc3R5bGUud2lkdGhdPVwid2lkdGhcIj5cbiAgICA8IS0tIElucHV0IHdyYXBwZXIgLS0+XG4gICAgPGRpdiBjbGFzcz1cInplbi1pbnB1dC1maWVsZC13cmFwcGVyXCIgKGNsaWNrKT1cImZvY3VzSW5wdXQoKVwiPlxuXG4gICAgICAgIDwhLS0gTGVhZGluZyBkcm9wZG93bjogQ291bnRyeSBzZWxlY3RvciAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cInplbi1pbnB1dC1sZWFkaW5nLWRyb3Bkb3duXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1kcm9wZG93bi10cmlnZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZSgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiemVuLXBob25lLWNvdW50cnktZmxhZ1wiXG4gICAgICAgICAgICAgICAgICAgICBbc3JjXT1cInNlbGVjdGVkQ291bnRyeS5mbGFnXCJcbiAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwic2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlOYW1lXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkcm9wZG93bi1sYWJlbFwiPnt7IHNlbGVjdGVkQ291bnRyeS5jb3VudHJ5Q2FsbGluZ0NvZGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29ucyBkcm9wZG93bi1pY29uXCJcbiAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2FjdGl2ZSc6IGlzRXhwYW5kZWR9XCI+ZXhwYW5kX21vcmU8L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPCEtLSBQaG9uZSBpbnB1dCBmaWVsZCAtLT5cbiAgICAgICAgPGlucHV0ICNpbnB1dFxuICAgICAgICAgICAgICAgY2xhc3M9XCJ6ZW4taW5wdXQtZmllbGQgdGV4dCB0ZXh0LW1kIHRleHQtd2VpZ2h0LXJlZ3VsYXJcIlxuICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwaG9uZVRleHRcIlxuICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGhvbmVDaGFuZ2VkKGlucHV0KVwiXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaXNFeHBhbmRlZCA9IGZhbHNlXCJcbiAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICAgICBjb3VudHJ5LWNvZGU9XCJzZWxlY3RlZENvdW50cnkuY291bnRyeUNvZGVcIlxuICAgICAgICAgICAgICAgW21heGxlbmd0aF09XCJtYXhMZW5ndGhcIj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gQ291bnRyeSBkcm9wZG93biBtZW51IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJ6ZW4tZHJvcGRvd24tbWVudVwiXG4gICAgICAgICAqbmdJZj1cImlzRXhwYW5kZWRcIlxuICAgICAgICAgW25nQ2xhc3NdPVwieydvcGVuJzogaXNFeHBhbmRlZH1cIj5cbiAgICAgICAgPCEtLSBDb3VudHJpZXMgTGlzdCAtLT5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInplbi1kcm9wZG93bi1vcHRpb25cIlxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb3VudHJ5IG9mIGNvdW50cnlMaXN0XCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogc2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlOYW1lID09PSBjb3VudHJ5LmNvdW50cnlOYW1lfVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvdW50cnlDaGFuZ2VkKGNvdW50cnkpXCI+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwiemVuLXBob25lLWNvdW50cnktZmxhZ1wiXG4gICAgICAgICAgICAgICAgIFtzcmNdPVwiY291bnRyeS5mbGFnXCJcbiAgICAgICAgICAgICAgICAgW2FsdF09XCJjb3VudHJ5LmNvdW50cnlOYW1lXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInplbi1waG9uZS1jb3VudHJ5LW5hbWVcIj57eyBjb3VudHJ5LmNvdW50cnlOYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1jb2RlXCI+e3sgY291bnRyeS5jb3VudHJ5Q2FsbGluZ0NvZGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDwhLS0gQ3VzdG9tIENvdW50cnkgLS0+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ6ZW4tZHJvcGRvd24tb3B0aW9uXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogc2VsZWN0ZWRDb3VudHJ5LmNvdW50cnlOYW1lID09PSBjdXN0b21Db3VudHJ5LmNvdW50cnlOYW1lfVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvdW50cnlDaGFuZ2VkKGN1c3RvbUNvdW50cnkpXCI+XG4gICAgICAgICAgICA8aW1nIGNsYXNzPVwiemVuLXBob25lLWNvdW50cnktZmxhZ1wiXG4gICAgICAgICAgICAgICAgIFtzcmNdPVwiY3VzdG9tQ291bnRyeS5mbGFnXCJcbiAgICAgICAgICAgICAgICAgW2FsdF09XCJjdXN0b21Db3VudHJ5LmNvdW50cnlOYW1lXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInplbi1waG9uZS1jb3VudHJ5LW5hbWVcIj57eyBjdXN0b21Db3VudHJ5LmNvdW50cnlOYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ6ZW4tcGhvbmUtY291bnRyeS1jb2RlXCI+e3sgY3VzdG9tQ291bnRyeS5jb3VudHJ5Q2FsbGluZ0NvZGUgfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gQ2xpY2sgb3V0c2lkZSBoYW5kbGVyIGZvciBkcm9wZG93biAtLT5cbjxkaXYgKm5nSWY9XCJpc0V4cGFuZGVkXCJcbiAgICAgY2xhc3M9XCJ6ZW4tZHJvcGRvd24tYmFja2Ryb3BcIlxuICAgICAoY2xpY2spPVwiaGlkZURyb3BEb3duKClcIj48L2Rpdj5cbiJdfQ==