@aws-amplify/ui-angular 3.2.16 → 3.2.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,5 @@
1
- import { __awaiter } from "tslib";
2
1
  import { Component, ContentChildren, Input, ViewEncapsulation, } from '@angular/core';
3
- import { authenticatorTextUtil, configureComponent, defaultAuthHubHandler, listenToAuthHub, } from '@aws-amplify/ui';
2
+ import { authenticatorTextUtil, configureComponent, } from '@aws-amplify/ui';
4
3
  import { AmplifySlotDirective } from '../../../../utilities/amplify-slot/amplify-slot.directive';
5
4
  import { CustomComponentsService } from '../../../../services/custom-components.service';
6
5
  import { VERSION } from '../../../../../version';
@@ -40,10 +39,9 @@ export class AuthenticatorComponent {
40
39
  packageName: '@aws-amplify/ui-angular',
41
40
  version: VERSION,
42
41
  });
43
- const { authService, initializeMachine } = this.authenticator;
44
- this.unsubscribeHub = listenToAuthHub(authService, (data, service) => __awaiter(this, void 0, void 0, function* () {
45
- yield defaultAuthHubHandler(data, service);
46
- /**
42
+ const { initializeMachine } = this.authenticator;
43
+ this.authenticator.hubSubject.subscribe(() => {
44
+ /*
47
45
  * Hub events aren't properly caught by Angular, because they are
48
46
  * synchronous events. Angular tracks async network events and
49
47
  * html events, but not synchronous events like hub.
@@ -51,7 +49,7 @@ export class AuthenticatorComponent {
51
49
  * On any notable hub events, we run change detection manually.
52
50
  */
53
51
  this.changeDetector.detectChanges();
54
- /**
52
+ /*
55
53
  * Hub events that we handle can lead to multiple state changes:
56
54
  * e.g. `authenticated` -> `signOut` -> initialState.
57
55
  *
@@ -60,7 +58,7 @@ export class AuthenticatorComponent {
60
58
  * to true to until we reach initial state.
61
59
  */
62
60
  this.isHandlingHubEvent = true;
63
- }));
61
+ });
64
62
  /**
65
63
  * Subscribes to state machine changes and sends INIT event
66
64
  * once machine reaches 'setup' state.
@@ -103,8 +101,6 @@ export class AuthenticatorComponent {
103
101
  ngOnDestroy() {
104
102
  if (this.unsubscribeMachine)
105
103
  this.unsubscribeMachine();
106
- if (this.unsubscribeHub)
107
- this.unsubscribeHub();
108
104
  }
109
105
  /**
110
106
  * Class Functions
@@ -182,4 +178,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
182
178
  type: ContentChildren,
183
179
  args: [AmplifySlotDirective]
184
180
  }] } });
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvYXV0aGVudGljYXRvci9hdXRoZW50aWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2F1dGhlbnRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLEtBQUssRUFLTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGVBQWUsR0FFaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV6RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVqRCxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxxQkFBcUIsQ0FBQztBQVFyRSxNQUFNLE9BQU8sc0JBQXNCO0lBd0JqQyxZQUNVLGFBQW1DLEVBQ25DLGNBQXVDLEVBQ3ZDLGNBQWlDO1FBRmpDLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBeUI7UUFDdkMsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBZG5DLHlCQUFvQixHQUFvQyxJQUFJLENBQUM7UUFFckUsbUJBQW1CO1FBQ1osZ0JBQVcsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUVoQyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2Qix1QkFBa0IsR0FBRyxLQUFLLENBQUM7SUFRaEMsQ0FBQztJQUVKLFFBQVE7UUFDTixNQUFNLEVBQ0osWUFBWSxFQUNaLGVBQWUsRUFDZixRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixVQUFVLEdBQ1gsR0FBRyxJQUFJLENBQUM7UUFFVCxrQkFBa0IsQ0FBQztZQUNqQixXQUFXLEVBQUUseUJBQXlCO1lBQ3RDLE9BQU8sRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQztRQUVILE1BQU0sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRTlELElBQUksQ0FBQyxjQUFjLEdBQUcsZUFBZSxDQUNuQyxXQUFXLEVBQ1gsQ0FBTyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDdEIsTUFBTSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDM0M7Ozs7OztlQU1HO1lBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUVwQzs7Ozs7OztlQU9HO1lBQ0gsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDLENBQUEsQ0FDRixDQUFDO1FBRUY7OztXQUdHO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUVyQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFFcEMsTUFBTSx1QkFBdUIsR0FBRyxZQUFZLGFBQVosWUFBWSxjQUFaLFlBQVksR0FBSSxRQUFRLENBQUM7Z0JBRXpELHlFQUF5RTtnQkFDekUsSUFBSSxLQUFLLEtBQUssdUJBQXVCLEVBQUU7b0JBQ3JDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7aUJBQ2pDO2FBQ0Y7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFO2dCQUM3QyxpQkFBaUIsQ0FBQztvQkFDaEIsWUFBWTtvQkFDWixlQUFlO29CQUNmLFFBQVE7b0JBQ1IsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLFVBQVU7aUJBQ1gsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO2FBQzVCO1FBQ0gsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1FBRWY7OztXQUdHO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQzdELElBQUksQ0FBQyxvQkFBb0IsQ0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsa0JBQWtCO1lBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsY0FBYztZQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7O09BRUc7SUFFSCx5Q0FBeUM7SUFDekMsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFDdkMsSUFBSSxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDL0I7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRU0sT0FBTztRQUNaLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3JDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssUUFBUSxDQUFDO0lBQ2xELENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFFckMsUUFBUSxLQUFLLEVBQUU7WUFDYixLQUFLLGVBQWUsQ0FBQztZQUNyQixLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxTQUFTLENBQUM7WUFDZixLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxLQUFLLENBQUM7WUFDZjtnQkFDRSxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0gsQ0FBQztJQUVPLG1CQUFtQixDQUN6QixjQUErQztRQUUvQyxJQUFJLENBQUMsY0FBYztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQy9CLE1BQU0sZ0JBQWdCLEdBQXFDLEVBQUUsQ0FBQztRQUM5RCxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGdCQUFnQixDQUFDO0lBQzFCLENBQUM7O29IQWxMVSxzQkFBc0I7d0dBQXRCLHNCQUFzQiwwU0FIdEIsQ0FBQyx1QkFBdUIsQ0FBQywrREFlbkIsb0JBQW9CLDZCQzdDdkMsNi9IQTBJQTs0RkR6R2Esc0JBQXNCO2tCQU5sQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxnQ0FBZ0M7b0JBQzdDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNwQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7aUxBSVUsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0Usb0JBQW9CO3NCQUQzQixlQUFlO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnMsXG4gIGF1dGhlbnRpY2F0b3JUZXh0VXRpbCxcbiAgY29uZmlndXJlQ29tcG9uZW50LFxuICBkZWZhdWx0QXV0aEh1YkhhbmRsZXIsXG4gIGxpc3RlblRvQXV0aEh1YixcbiAgU29jaWFsUHJvdmlkZXIsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBBbXBsaWZ5U2xvdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9hbXBsaWZ5LXNsb3QvYW1wbGlmeS1zbG90LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDdXN0b21Db21wb25lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2N1c3RvbS1jb21wb25lbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3ZlcnNpb24nO1xuXG5jb25zdCB7IGdldFNpZ25JblRhYlRleHQsIGdldFNpZ25VcFRhYlRleHQgfSA9IGF1dGhlbnRpY2F0b3JUZXh0VXRpbDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYW1wbGlmeS1hdXRoZW50aWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGhlbnRpY2F0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtDdXN0b21Db21wb25lbnRzU2VydmljZV0sIC8vIG1ha2Ugc3VyZSBjdXN0b20gY29tcG9uZW50cyBhcmUgc2NvcGVkIHRvIHRoaXMgYXV0aGVudGljYXRvciBvbmx5XG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0b3JDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKSBmb3JtRmllbGRzOiBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnNbJ2Zvcm1GaWVsZHMnXTtcbiAgQElucHV0KCkgaW5pdGlhbFN0YXRlOiBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnNbJ2luaXRpYWxTdGF0ZSddO1xuICBASW5wdXQoKSBsb2dpbk1lY2hhbmlzbXM6IEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9uc1snbG9naW5NZWNoYW5pc21zJ107XG4gIEBJbnB1dCgpIHNlcnZpY2VzOiBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnNbJ3NlcnZpY2VzJ107XG4gIEBJbnB1dCgpIHNpZ25VcEF0dHJpYnV0ZXM6IEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9uc1snc2lnblVwQXR0cmlidXRlcyddO1xuICBASW5wdXQoKSBzb2NpYWxQcm92aWRlcnM6IFNvY2lhbFByb3ZpZGVyW107XG4gIEBJbnB1dCgpIHZhcmlhdGlvbjogJ2RlZmF1bHQnIHwgJ21vZGFsJztcbiAgQElucHV0KCkgaGlkZVNpZ25VcDogYm9vbGVhbjtcblxuICBAQ29udGVudENoaWxkcmVuKEFtcGxpZnlTbG90RGlyZWN0aXZlKVxuICBwcml2YXRlIGN1c3RvbUNvbXBvbmVudFF1ZXJ5OiBRdWVyeUxpc3Q8QW1wbGlmeVNsb3REaXJlY3RpdmU+ID0gbnVsbDtcblxuICAvLyB0cmFuc2xhdGVkIHRleHRzXG4gIHB1YmxpYyBzaWduSW5UaXRsZSA9IGdldFNpZ25JblRhYlRleHQoKTtcbiAgcHVibGljIHNpZ25VcFRpdGxlID0gZ2V0U2lnblVwVGFiVGV4dCgpO1xuXG4gIHByaXZhdGUgaGFzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBpc0hhbmRsaW5nSHViRXZlbnQgPSBmYWxzZTtcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZU1hY2hpbmU6ICgpID0+IHZvaWQ7XG4gIHByaXZhdGUgdW5zdWJzY3JpYmVIdWI6IFJldHVyblR5cGU8dHlwZW9mIGxpc3RlblRvQXV0aEh1Yj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhdXRoZW50aWNhdG9yOiBBdXRoZW50aWNhdG9yU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDdXN0b21Db21wb25lbnRzU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgY29uc3Qge1xuICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgbG9naW5NZWNoYW5pc21zLFxuICAgICAgc2VydmljZXMsXG4gICAgICBzaWduVXBBdHRyaWJ1dGVzLFxuICAgICAgc29jaWFsUHJvdmlkZXJzLFxuICAgICAgZm9ybUZpZWxkcyxcbiAgICB9ID0gdGhpcztcblxuICAgIGNvbmZpZ3VyZUNvbXBvbmVudCh7XG4gICAgICBwYWNrYWdlTmFtZTogJ0Bhd3MtYW1wbGlmeS91aS1hbmd1bGFyJyxcbiAgICAgIHZlcnNpb246IFZFUlNJT04sXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IGF1dGhTZXJ2aWNlLCBpbml0aWFsaXplTWFjaGluZSB9ID0gdGhpcy5hdXRoZW50aWNhdG9yO1xuXG4gICAgdGhpcy51bnN1YnNjcmliZUh1YiA9IGxpc3RlblRvQXV0aEh1YihcbiAgICAgIGF1dGhTZXJ2aWNlLFxuICAgICAgYXN5bmMgKGRhdGEsIHNlcnZpY2UpID0+IHtcbiAgICAgICAgYXdhaXQgZGVmYXVsdEF1dGhIdWJIYW5kbGVyKGRhdGEsIHNlcnZpY2UpO1xuICAgICAgICAvKipcbiAgICAgICAgICogSHViIGV2ZW50cyBhcmVuJ3QgcHJvcGVybHkgY2F1Z2h0IGJ5IEFuZ3VsYXIsIGJlY2F1c2UgdGhleSBhcmVcbiAgICAgICAgICogc3luY2hyb25vdXMgZXZlbnRzLiBBbmd1bGFyIHRyYWNrcyBhc3luYyBuZXR3b3JrIGV2ZW50cyBhbmRcbiAgICAgICAgICogaHRtbCBldmVudHMsIGJ1dCBub3Qgc3luY2hyb25vdXMgZXZlbnRzIGxpa2UgaHViLlxuICAgICAgICAgKlxuICAgICAgICAgKiBPbiBhbnkgbm90YWJsZSBodWIgZXZlbnRzLCB3ZSBydW4gY2hhbmdlIGRldGVjdGlvbiBtYW51YWxseS5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBIdWIgZXZlbnRzIHRoYXQgd2UgaGFuZGxlIGNhbiBsZWFkIHRvIG11bHRpcGxlIHN0YXRlIGNoYW5nZXM6XG4gICAgICAgICAqIGUuZy4gYGF1dGhlbnRpY2F0ZWRgIC0+IGBzaWduT3V0YCAtPiBpbml0aWFsU3RhdGUuXG4gICAgICAgICAqXG4gICAgICAgICAqIFdlIHdhbnQgdG8gZW5zdXJlIGNoYW5nZSBkZXRlY3Rpb24gcnVucyBhbGwgdGhlIHdheSwgdW50aWxcbiAgICAgICAgICogd2UgcmVhY2ggYmFjayB0byB0aGUgaW5pdGlhbCBzdGF0ZS4gU2V0dGluZyB0aGUgYmVsb3cgZmxhZ1xuICAgICAgICAgKiB0byB0cnVlIHRvIHVudGlsIHdlIHJlYWNoIGluaXRpYWwgc3RhdGUuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmlzSGFuZGxpbmdIdWJFdmVudCA9IHRydWU7XG4gICAgICB9XG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIFN1YnNjcmliZXMgdG8gc3RhdGUgbWFjaGluZSBjaGFuZ2VzIGFuZCBzZW5kcyBJTklUIGV2ZW50XG4gICAgICogb25jZSBtYWNoaW5lIHJlYWNoZXMgJ3NldHVwJyBzdGF0ZS5cbiAgICAgKi9cbiAgICB0aGlzLnVuc3Vic2NyaWJlTWFjaGluZSA9IHRoaXMuYXV0aGVudGljYXRvci5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgeyByb3V0ZSB9ID0gdGhpcy5hdXRoZW50aWNhdG9yO1xuXG4gICAgICBpZiAodGhpcy5pc0hhbmRsaW5nSHViRXZlbnQpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbFN0YXRlV2l0aERlZmF1bHQgPSBpbml0aWFsU3RhdGUgPz8gJ3NpZ25Jbic7XG5cbiAgICAgICAgLy8gV2UgY2FuIHN0b3AgbWFudWFsIGNoYW5nZSBkZXRlY3Rpb24gaWYgd2UncmUgYmFjayB0byB0aGUgaW5pdGlhbCBzdGF0ZVxuICAgICAgICBpZiAocm91dGUgPT09IGluaXRpYWxTdGF0ZVdpdGhEZWZhdWx0KSB7XG4gICAgICAgICAgdGhpcy5pc0hhbmRsaW5nSHViRXZlbnQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuaGFzSW5pdGlhbGl6ZWQgJiYgcm91dGUgPT09ICdzZXR1cCcpIHtcbiAgICAgICAgaW5pdGlhbGl6ZU1hY2hpbmUoe1xuICAgICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgICBsb2dpbk1lY2hhbmlzbXMsXG4gICAgICAgICAgc2VydmljZXMsXG4gICAgICAgICAgc2lnblVwQXR0cmlidXRlcyxcbiAgICAgICAgICBzb2NpYWxQcm92aWRlcnMsXG4gICAgICAgICAgZm9ybUZpZWxkcyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5oYXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSkudW5zdWJzY3JpYmU7XG5cbiAgICAvKipcbiAgICAgKiBoYW5kbGluZyB0cmFuc2xhdGlvbnMgYWZ0ZXIgY29udGVudCBpbml0LCBiZWNhdXNlIGF1dGhlbnRpY2F0b3IgYW5kIGl0c1xuICAgICAqIHRyYW5zbGF0aW9ucyBtaWdodCBiZSBpbml0aWFsaXplZCBiZWZvcmUgdGhlIG1haW4gYXBwJ3MgYG5nT25Jbml0YCBpcyBydW4uXG4gICAgICovXG4gICAgdGhpcy5zaWduSW5UaXRsZSA9IGdldFNpZ25JblRhYlRleHQoKTtcbiAgICB0aGlzLnNpZ25VcFRpdGxlID0gZ2V0U2lnblVwVGFiVGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBNZXRob2RzXG4gICAqL1xuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0U2VydmljZS5jdXN0b21Db21wb25lbnRzID0gdGhpcy5tYXBDdXN0b21Db21wb25lbnRzKFxuICAgICAgdGhpcy5jdXN0b21Db21wb25lbnRRdWVyeVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy51bnN1YnNjcmliZU1hY2hpbmUpIHRoaXMudW5zdWJzY3JpYmVNYWNoaW5lKCk7XG4gICAgaWYgKHRoaXMudW5zdWJzY3JpYmVIdWIpIHRoaXMudW5zdWJzY3JpYmVIdWIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGFzcyBGdW5jdGlvbnNcbiAgICovXG5cbiAgLy8gY29udGV4dCBwYXNzZWQgdG8gXCJhdXRoZW50aWNhdGVkXCIgc2xvdFxuICBwdWJsaWMgZ2V0IGNvbnRleHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5zbG90Q29udGV4dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcm91dGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRvci5yb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBvblRhYkNoYW5nZSgpIHtcbiAgICBjb25zdCByb3V0ZSA9IHRoaXMuYXV0aGVudGljYXRvci5yb3V0ZTtcbiAgICBpZiAocm91dGUgPT09ICdzaWduSW4nKSB7XG4gICAgICB0aGlzLmF1dGhlbnRpY2F0b3IudG9TaWduVXAoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hdXRoZW50aWNhdG9yLnRvU2lnbkluKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc1RhYnMoKSB7XG4gICAgY29uc3QgeyByb3V0ZSB9ID0gdGhpcy5hdXRoZW50aWNhdG9yO1xuICAgIHJldHVybiByb3V0ZSA9PT0gJ3NpZ25JbicgfHwgcm91dGUgPT09ICdzaWduVXAnO1xuICB9XG5cbiAgcHVibGljIGhhc1JvdXRlQ29tcG9uZW50KCkge1xuICAgIGNvbnN0IHsgcm91dGUgfSA9IHRoaXMuYXV0aGVudGljYXRvcjtcblxuICAgIHN3aXRjaCAocm91dGUpIHtcbiAgICAgIGNhc2UgJ2F1dGhlbnRpY2F0ZWQnOlxuICAgICAgY2FzZSAnaWRsZSc6XG4gICAgICBjYXNlICdzZXR1cCc6XG4gICAgICBjYXNlICdzaWduT3V0JzpcbiAgICAgIGNhc2UgJ3RyYW5zaXRpb24nOlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG1hcEN1c3RvbUNvbXBvbmVudHMoXG4gICAgY29tcG9uZW50UXVlcnk6IFF1ZXJ5TGlzdDxBbXBsaWZ5U2xvdERpcmVjdGl2ZT5cbiAgKTogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4ge1xuICAgIGlmICghY29tcG9uZW50UXVlcnkpIHJldHVybiB7fTtcbiAgICBjb25zdCBjdXN0b21Db21wb25lbnRzOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZVJlZjxhbnk+PiA9IHt9O1xuICAgIGNvbXBvbmVudFF1ZXJ5LmZvckVhY2goKGNvbXBvbmVudCkgPT4ge1xuICAgICAgY3VzdG9tQ29tcG9uZW50c1tjb21wb25lbnQubmFtZV0gPSBjb21wb25lbnQudGVtcGxhdGU7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gY3VzdG9tQ29tcG9uZW50cztcbiAgfVxufVxuIiwiPGRpdlxuICBkYXRhLWFtcGxpZnktYXV0aGVudGljYXRvclxuICBbYXR0ci5kYXRhLXZhcmlhdGlvbl09XCJ2YXJpYXRpb25cIlxuICAqbmdJZj1cImhhc1JvdXRlQ29tcG9uZW50KClcIlxuPlxuICA8ZGl2IGRhdGEtYW1wbGlmeS1jb250YWluZXI+XG4gICAgPGFtcGxpZnktc2xvdCBuYW1lPVwiaGVhZGVyXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvYW1wbGlmeS1zbG90PlxuICAgIDxkaXZcbiAgICAgIGRhdGEtYW1wbGlmeS1yb3V0ZXJcbiAgICAgIFthdHRyLmRhdGEtYW1wbGlmeS1yb3V0ZXItY29udGVudF09XCJoYXNUYWJzKCkgPyB1bmRlZmluZWQgOiAnJ1wiXG4gICAgPlxuICAgICAgPGFtcGxpZnktdGFic1xuICAgICAgICAodGFiQ2hhbmdlKT1cIm9uVGFiQ2hhbmdlKClcIlxuICAgICAgICAqbmdJZj1cIihyb3V0ZSA9PT0gJ3NpZ25JbicgfHwgcm91dGUgPT09ICdzaWduVXAnKSAmJiAhaGlkZVNpZ25VcFwiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LXRhYi1pdGVtXG4gICAgICAgICAgW3RpdGxlXT1cInNpZ25JblRpdGxlXCJcbiAgICAgICAgICBbYWN0aXZlXT1cInJvdXRlID09PSAnc2lnbkluJ1wiXG4gICAgICAgICAgZGF0YS1hbXBsaWZ5LXJvdXRlci1jb250ZW50XG4gICAgICAgID5cbiAgICAgICAgICA8IS0tIHNpZ25JbiBjb21wb25lbnQgLS0+XG4gICAgICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICAgICAgbmFtZT1cInNpZ24taW5cIlxuICAgICAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnc2lnbkluJ1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGFtcGxpZnktc2lnbi1pbj48L2FtcGxpZnktc2lnbi1pbj5cbiAgICAgICAgICA8L2FtcGxpZnktc2xvdD5cbiAgICAgICAgPC9hbXBsaWZ5LXRhYi1pdGVtPlxuICAgICAgICA8YW1wbGlmeS10YWItaXRlbVxuICAgICAgICAgIFt0aXRsZV09XCJzaWduVXBUaXRsZVwiXG4gICAgICAgICAgW2FjdGl2ZV09XCJyb3V0ZSA9PT0gJ3NpZ25VcCdcIlxuICAgICAgICAgIGRhdGEtYW1wbGlmeS1yb3V0ZXItY29udGVudFxuICAgICAgICA+XG4gICAgICAgICAgPCEtLSBzaWduVXAgY29tcG9uZW50IC0tPlxuICAgICAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgICAgIG5hbWU9XCJzaWduLXVwXCJcbiAgICAgICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAgICAgKm5nSWY9XCJyb3V0ZSA9PT0gJ3NpZ25VcCdcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhbXBsaWZ5LXNpZ24tdXA+PC9hbXBsaWZ5LXNpZ24tdXA+XG4gICAgICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG4gICAgICAgIDwvYW1wbGlmeS10YWItaXRlbT5cbiAgICAgIDwvYW1wbGlmeS10YWJzPlxuXG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJzaWduLWluXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdzaWduSW4nICYmIGhpZGVTaWduVXBcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1zaWduLWluPjwvYW1wbGlmeS1zaWduLWluPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG5cbiAgICAgIDwhLS0gY29uZmlybVNpZ25VcCBjb250ZW50IC0tPlxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwiY29uZmlybS1zaWduLXVwXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdjb25maXJtU2lnblVwJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LWNvbmZpcm0tc2lnbi11cD48L2FtcGxpZnktY29uZmlybS1zaWduLXVwPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG5cbiAgICAgIDwhLS0gY29uZmlybVNpZ25JbiBjb250ZW50IC0tPlxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwiY29uZmlybS1zaWduLWluXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdjb25maXJtU2lnbkluJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LWNvbmZpcm0tc2lnbi1pbj48L2FtcGxpZnktY29uZmlybS1zaWduLWluPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG5cbiAgICAgIDwhLS0gc2V0dXBUb3RwIGNvbnRlbnQgLS0+XG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJzZXR1cC10b3RwXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdzZXR1cFRPVFAnXCJcbiAgICAgID5cbiAgICAgICAgPGFtcGxpZnktc2V0dXAtdG90cD48L2FtcGxpZnktc2V0dXAtdG90cD5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIGZvcmNlTmV3UGFzc3dvcmQgY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cImZvcmNlLW5ldy1wYXNzd29yZFwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnZm9yY2VOZXdQYXNzd29yZCdcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1mb3JjZS1uZXctcGFzc3dvcmQ+PC9hbXBsaWZ5LWZvcmNlLW5ldy1wYXNzd29yZD5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIHJlc2V0UGFzc3dvcmQgY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cInJlc2V0LXBhc3N3b3JkXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdyZXNldFBhc3N3b3JkJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LXJlc2V0LXBhc3N3b3JkPjwvYW1wbGlmeS1yZXNldC1wYXNzd29yZD5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIGNvbmZpcm1SZXNldFBhc3N3b3JkIGNvbnRlbnQgLS0+XG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJjb25maXJtLXJlc2V0LXBhc3N3b3JkXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdjb25maXJtUmVzZXRQYXNzd29yZCdcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1jb25maXJtLXJlc2V0LXBhc3N3b3JkPjwvYW1wbGlmeS1jb25maXJtLXJlc2V0LXBhc3N3b3JkPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG5cbiAgICAgIDwhLS0gdmVyaWZ5VXNlciBjb250ZW50IC0tPlxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwidmVyaWZ5LXVzZXJcIlxuICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgKm5nSWY9XCJyb3V0ZSA9PT0gJ3ZlcmlmeVVzZXInXCJcbiAgICAgID5cbiAgICAgICAgPGFtcGxpZnktdmVyaWZ5LXVzZXI+PC9hbXBsaWZ5LXZlcmlmeS11c2VyPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG5cbiAgICAgIDwhLS0gY29uZmlybVZlcmlmeVVzZXIgY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cImNvbmZpcm0tdmVyaWZ5LXVzZXJcIlxuICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgKm5nSWY9XCJyb3V0ZSA9PT0gJ2NvbmZpcm1WZXJpZnlVc2VyJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LWNvbmZpcm0tdmVyaWZ5LXVzZXI+PC9hbXBsaWZ5LWNvbmZpcm0tdmVyaWZ5LXVzZXI+XG4gICAgICA8L2FtcGxpZnktc2xvdD5cbiAgICA8L2Rpdj5cblxuICAgIDxhbXBsaWZ5LXNsb3QgbmFtZT1cImZvb3RlclwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2FtcGxpZnktc2xvdD5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBzaWduZWRJbiBjb250ZW50IGlzIHJlbmRlcmVkIG91dHNpZGUgYXV0aGVudGljYXRvciBzbyBpdCdzIG5vdCBzdHlsZWQgYnkgYXV0aGVudGljYXRvciAtLT5cbjxhbXBsaWZ5LXNsb3RcbiAgbmFtZT1cImF1dGhlbnRpY2F0ZWRcIlxuICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgKm5nSWY9XCJyb3V0ZSA9PT0gJ2F1dGhlbnRpY2F0ZWQnXCJcbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9hbXBsaWZ5LXNsb3Q+XG4iXX0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2NvbXBvbmVudHMvYXV0aGVudGljYXRvci9hdXRoZW50aWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2F1dGhlbnRpY2F0b3IvY29tcG9uZW50cy9hdXRoZW50aWNhdG9yL2F1dGhlbnRpY2F0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUtMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwscUJBQXFCLEVBQ3JCLGtCQUFrQixHQUVuQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXpGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWpELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLHFCQUFxQixDQUFDO0FBUXJFLE1BQU0sT0FBTyxzQkFBc0I7SUF1QmpDLFlBQ1UsYUFBbUMsRUFDbkMsY0FBdUMsRUFDdkMsY0FBaUM7UUFGakMsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLG1CQUFjLEdBQWQsY0FBYyxDQUF5QjtRQUN2QyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFibkMseUJBQW9CLEdBQW9DLElBQUksQ0FBQztRQUVyRSxtQkFBbUI7UUFDWixn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QkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0Usb0JBQW9CO3NCQUQzQixlQUFlO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBdXRoZW50aWNhdG9yTWFjaGluZU9wdGlvbnMsXG4gIGF1dGhlbnRpY2F0b3JUZXh0VXRpbCxcbiAgY29uZmlndXJlQ29tcG9uZW50LFxuICBTb2NpYWxQcm92aWRlcixcbn0gZnJvbSAnQGF3cy1hbXBsaWZ5L3VpJztcbmltcG9ydCB7IEFtcGxpZnlTbG90RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL2FtcGxpZnktc2xvdC9hbXBsaWZ5LXNsb3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IEN1c3RvbUNvbXBvbmVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvY3VzdG9tLWNvbXBvbmVudHMuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdmVyc2lvbic7XG5cbmNvbnN0IHsgZ2V0U2lnbkluVGFiVGV4dCwgZ2V0U2lnblVwVGFiVGV4dCB9ID0gYXV0aGVudGljYXRvclRleHRVdGlsO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhbXBsaWZ5LWF1dGhlbnRpY2F0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0aGVudGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW0N1c3RvbUNvbXBvbmVudHNTZXJ2aWNlXSwgLy8gbWFrZSBzdXJlIGN1c3RvbSBjb21wb25lbnRzIGFyZSBzY29wZWQgdG8gdGhpcyBhdXRoZW50aWNhdG9yIG9ubHlcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQXV0aGVudGljYXRvckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgpIGZvcm1GaWVsZHM6IEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9uc1snZm9ybUZpZWxkcyddO1xuICBASW5wdXQoKSBpbml0aWFsU3RhdGU6IEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9uc1snaW5pdGlhbFN0YXRlJ107XG4gIEBJbnB1dCgpIGxvZ2luTWVjaGFuaXNtczogQXV0aGVudGljYXRvck1hY2hpbmVPcHRpb25zWydsb2dpbk1lY2hhbmlzbXMnXTtcbiAgQElucHV0KCkgc2VydmljZXM6IEF1dGhlbnRpY2F0b3JNYWNoaW5lT3B0aW9uc1snc2VydmljZXMnXTtcbiAgQElucHV0KCkgc2lnblVwQXR0cmlidXRlczogQXV0aGVudGljYXRvck1hY2hpbmVPcHRpb25zWydzaWduVXBBdHRyaWJ1dGVzJ107XG4gIEBJbnB1dCgpIHNvY2lhbFByb3ZpZGVyczogU29jaWFsUHJvdmlkZXJbXTtcbiAgQElucHV0KCkgdmFyaWF0aW9uOiAnZGVmYXVsdCcgfCAnbW9kYWwnO1xuICBASW5wdXQoKSBoaWRlU2lnblVwOiBib29sZWFuO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oQW1wbGlmeVNsb3REaXJlY3RpdmUpXG4gIHByaXZhdGUgY3VzdG9tQ29tcG9uZW50UXVlcnk6IFF1ZXJ5TGlzdDxBbXBsaWZ5U2xvdERpcmVjdGl2ZT4gPSBudWxsO1xuXG4gIC8vIHRyYW5zbGF0ZWQgdGV4dHNcbiAgcHVibGljIHNpZ25JblRpdGxlID0gZ2V0U2lnbkluVGFiVGV4dCgpO1xuICBwdWJsaWMgc2lnblVwVGl0bGUgPSBnZXRTaWduVXBUYWJUZXh0KCk7XG5cbiAgcHJpdmF0ZSBoYXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICBwcml2YXRlIGlzSGFuZGxpbmdIdWJFdmVudCA9IGZhbHNlO1xuICBwcml2YXRlIHVuc3Vic2NyaWJlTWFjaGluZTogKCkgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGF1dGhlbnRpY2F0b3I6IEF1dGhlbnRpY2F0b3JTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGV4dFNlcnZpY2U6IEN1c3RvbUNvbXBvbmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCB7XG4gICAgICBpbml0aWFsU3RhdGUsXG4gICAgICBsb2dpbk1lY2hhbmlzbXMsXG4gICAgICBzZXJ2aWNlcyxcbiAgICAgIHNpZ25VcEF0dHJpYnV0ZXMsXG4gICAgICBzb2NpYWxQcm92aWRlcnMsXG4gICAgICBmb3JtRmllbGRzLFxuICAgIH0gPSB0aGlzO1xuXG4gICAgY29uZmlndXJlQ29tcG9uZW50KHtcbiAgICAgIHBhY2thZ2VOYW1lOiAnQGF3cy1hbXBsaWZ5L3VpLWFuZ3VsYXInLFxuICAgICAgdmVyc2lvbjogVkVSU0lPTixcbiAgICB9KTtcblxuICAgIGNvbnN0IHsgaW5pdGlhbGl6ZU1hY2hpbmUgfSA9IHRoaXMuYXV0aGVudGljYXRvcjtcblxuICAgIHRoaXMuYXV0aGVudGljYXRvci5odWJTdWJqZWN0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvKlxuICAgICAgICogSHViIGV2ZW50cyBhcmVuJ3QgcHJvcGVybHkgY2F1Z2h0IGJ5IEFuZ3VsYXIsIGJlY2F1c2UgdGhleSBhcmVcbiAgICAgICAqIHN5bmNocm9ub3VzIGV2ZW50cy4gQW5ndWxhciB0cmFja3MgYXN5bmMgbmV0d29yayBldmVudHMgYW5kXG4gICAgICAgKiBodG1sIGV2ZW50cywgYnV0IG5vdCBzeW5jaHJvbm91cyBldmVudHMgbGlrZSBodWIuXG4gICAgICAgKlxuICAgICAgICogT24gYW55IG5vdGFibGUgaHViIGV2ZW50cywgd2UgcnVuIGNoYW5nZSBkZXRlY3Rpb24gbWFudWFsbHkuXG4gICAgICAgKi9cbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAvKlxuICAgICAgICogSHViIGV2ZW50cyB0aGF0IHdlIGhhbmRsZSBjYW4gbGVhZCB0byBtdWx0aXBsZSBzdGF0ZSBjaGFuZ2VzOlxuICAgICAgICogZS5nLiBgYXV0aGVudGljYXRlZGAgLT4gYHNpZ25PdXRgIC0+IGluaXRpYWxTdGF0ZS5cbiAgICAgICAqXG4gICAgICAgKiBXZSB3YW50IHRvIGVuc3VyZSBjaGFuZ2UgZGV0ZWN0aW9uIHJ1bnMgYWxsIHRoZSB3YXksIHVudGlsXG4gICAgICAgKiB3ZSByZWFjaCBiYWNrIHRvIHRoZSBpbml0aWFsIHN0YXRlLiBTZXR0aW5nIHRoZSBiZWxvdyBmbGFnXG4gICAgICAgKiB0byB0cnVlIHRvIHVudGlsIHdlIHJlYWNoIGluaXRpYWwgc3RhdGUuXG4gICAgICAgKi9cbiAgICAgIHRoaXMuaXNIYW5kbGluZ0h1YkV2ZW50ID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFN1YnNjcmliZXMgdG8gc3RhdGUgbWFjaGluZSBjaGFuZ2VzIGFuZCBzZW5kcyBJTklUIGV2ZW50XG4gICAgICogb25jZSBtYWNoaW5lIHJlYWNoZXMgJ3NldHVwJyBzdGF0ZS5cbiAgICAgKi9cbiAgICB0aGlzLnVuc3Vic2NyaWJlTWFjaGluZSA9IHRoaXMuYXV0aGVudGljYXRvci5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgeyByb3V0ZSB9ID0gdGhpcy5hdXRoZW50aWNhdG9yO1xuXG4gICAgICBpZiAodGhpcy5pc0hhbmRsaW5nSHViRXZlbnQpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbFN0YXRlV2l0aERlZmF1bHQgPSBpbml0aWFsU3RhdGUgPz8gJ3NpZ25Jbic7XG5cbiAgICAgICAgLy8gV2UgY2FuIHN0b3AgbWFudWFsIGNoYW5nZSBkZXRlY3Rpb24gaWYgd2UncmUgYmFjayB0byB0aGUgaW5pdGlhbCBzdGF0ZVxuICAgICAgICBpZiAocm91dGUgPT09IGluaXRpYWxTdGF0ZVdpdGhEZWZhdWx0KSB7XG4gICAgICAgICAgdGhpcy5pc0hhbmRsaW5nSHViRXZlbnQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuaGFzSW5pdGlhbGl6ZWQgJiYgcm91dGUgPT09ICdzZXR1cCcpIHtcbiAgICAgICAgaW5pdGlhbGl6ZU1hY2hpbmUoe1xuICAgICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgICBsb2dpbk1lY2hhbmlzbXMsXG4gICAgICAgICAgc2VydmljZXMsXG4gICAgICAgICAgc2lnblVwQXR0cmlidXRlcyxcbiAgICAgICAgICBzb2NpYWxQcm92aWRlcnMsXG4gICAgICAgICAgZm9ybUZpZWxkcyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5oYXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSkudW5zdWJzY3JpYmU7XG5cbiAgICAvKipcbiAgICAgKiBoYW5kbGluZyB0cmFuc2xhdGlvbnMgYWZ0ZXIgY29udGVudCBpbml0LCBiZWNhdXNlIGF1dGhlbnRpY2F0b3IgYW5kIGl0c1xuICAgICAqIHRyYW5zbGF0aW9ucyBtaWdodCBiZSBpbml0aWFsaXplZCBiZWZvcmUgdGhlIG1haW4gYXBwJ3MgYG5nT25Jbml0YCBpcyBydW4uXG4gICAgICovXG4gICAgdGhpcy5zaWduSW5UaXRsZSA9IGdldFNpZ25JblRhYlRleHQoKTtcbiAgICB0aGlzLnNpZ25VcFRpdGxlID0gZ2V0U2lnblVwVGFiVGV4dCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpZmVjeWNsZSBNZXRob2RzXG4gICAqL1xuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0U2VydmljZS5jdXN0b21Db21wb25lbnRzID0gdGhpcy5tYXBDdXN0b21Db21wb25lbnRzKFxuICAgICAgdGhpcy5jdXN0b21Db21wb25lbnRRdWVyeVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy51bnN1YnNjcmliZU1hY2hpbmUpIHRoaXMudW5zdWJzY3JpYmVNYWNoaW5lKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2xhc3MgRnVuY3Rpb25zXG4gICAqL1xuXG4gIC8vIGNvbnRleHQgcGFzc2VkIHRvIFwiYXV0aGVudGljYXRlZFwiIHNsb3RcbiAgcHVibGljIGdldCBjb250ZXh0KCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0b3Iuc2xvdENvbnRleHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJvdXRlKCkge1xuICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0b3Iucm91dGU7XG4gIH1cblxuICBwdWJsaWMgb25UYWJDaGFuZ2UoKSB7XG4gICAgY29uc3Qgcm91dGUgPSB0aGlzLmF1dGhlbnRpY2F0b3Iucm91dGU7XG4gICAgaWYgKHJvdXRlID09PSAnc2lnbkluJykge1xuICAgICAgdGhpcy5hdXRoZW50aWNhdG9yLnRvU2lnblVwKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXV0aGVudGljYXRvci50b1NpZ25JbigpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNUYWJzKCkge1xuICAgIGNvbnN0IHsgcm91dGUgfSA9IHRoaXMuYXV0aGVudGljYXRvcjtcbiAgICByZXR1cm4gcm91dGUgPT09ICdzaWduSW4nIHx8IHJvdXRlID09PSAnc2lnblVwJztcbiAgfVxuXG4gIHB1YmxpYyBoYXNSb3V0ZUNvbXBvbmVudCgpIHtcbiAgICBjb25zdCB7IHJvdXRlIH0gPSB0aGlzLmF1dGhlbnRpY2F0b3I7XG5cbiAgICBzd2l0Y2ggKHJvdXRlKSB7XG4gICAgICBjYXNlICdhdXRoZW50aWNhdGVkJzpcbiAgICAgIGNhc2UgJ2lkbGUnOlxuICAgICAgY2FzZSAnc2V0dXAnOlxuICAgICAgY2FzZSAnc2lnbk91dCc6XG4gICAgICBjYXNlICd0cmFuc2l0aW9uJzpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtYXBDdXN0b21Db21wb25lbnRzKFxuICAgIGNvbXBvbmVudFF1ZXJ5OiBRdWVyeUxpc3Q8QW1wbGlmeVNsb3REaXJlY3RpdmU+XG4gICk6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlUmVmPGFueT4+IHtcbiAgICBpZiAoIWNvbXBvbmVudFF1ZXJ5KSByZXR1cm4ge307XG4gICAgY29uc3QgY3VzdG9tQ29tcG9uZW50czogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVSZWY8YW55Pj4gPSB7fTtcbiAgICBjb21wb25lbnRRdWVyeS5mb3JFYWNoKChjb21wb25lbnQpID0+IHtcbiAgICAgIGN1c3RvbUNvbXBvbmVudHNbY29tcG9uZW50Lm5hbWVdID0gY29tcG9uZW50LnRlbXBsYXRlO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGN1c3RvbUNvbXBvbmVudHM7XG4gIH1cbn1cbiIsIjxkaXZcbiAgZGF0YS1hbXBsaWZ5LWF1dGhlbnRpY2F0b3JcbiAgW2F0dHIuZGF0YS12YXJpYXRpb25dPVwidmFyaWF0aW9uXCJcbiAgKm5nSWY9XCJoYXNSb3V0ZUNvbXBvbmVudCgpXCJcbj5cbiAgPGRpdiBkYXRhLWFtcGxpZnktY29udGFpbmVyPlxuICAgIDxhbXBsaWZ5LXNsb3QgbmFtZT1cImhlYWRlclwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2FtcGxpZnktc2xvdD5cbiAgICA8ZGl2XG4gICAgICBkYXRhLWFtcGxpZnktcm91dGVyXG4gICAgICBbYXR0ci5kYXRhLWFtcGxpZnktcm91dGVyLWNvbnRlbnRdPVwiaGFzVGFicygpID8gdW5kZWZpbmVkIDogJydcIlxuICAgID5cbiAgICAgIDxhbXBsaWZ5LXRhYnNcbiAgICAgICAgKHRhYkNoYW5nZSk9XCJvblRhYkNoYW5nZSgpXCJcbiAgICAgICAgKm5nSWY9XCIocm91dGUgPT09ICdzaWduSW4nIHx8IHJvdXRlID09PSAnc2lnblVwJykgJiYgIWhpZGVTaWduVXBcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS10YWItaXRlbVxuICAgICAgICAgIFt0aXRsZV09XCJzaWduSW5UaXRsZVwiXG4gICAgICAgICAgW2FjdGl2ZV09XCJyb3V0ZSA9PT0gJ3NpZ25JbidcIlxuICAgICAgICAgIGRhdGEtYW1wbGlmeS1yb3V0ZXItY29udGVudFxuICAgICAgICA+XG4gICAgICAgICAgPCEtLSBzaWduSW4gY29tcG9uZW50IC0tPlxuICAgICAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgICAgIG5hbWU9XCJzaWduLWluXCJcbiAgICAgICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAgICAgKm5nSWY9XCJyb3V0ZSA9PT0gJ3NpZ25JbidcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhbXBsaWZ5LXNpZ24taW4+PC9hbXBsaWZ5LXNpZ24taW4+XG4gICAgICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG4gICAgICAgIDwvYW1wbGlmeS10YWItaXRlbT5cbiAgICAgICAgPGFtcGxpZnktdGFiLWl0ZW1cbiAgICAgICAgICBbdGl0bGVdPVwic2lnblVwVGl0bGVcIlxuICAgICAgICAgIFthY3RpdmVdPVwicm91dGUgPT09ICdzaWduVXAnXCJcbiAgICAgICAgICBkYXRhLWFtcGxpZnktcm91dGVyLWNvbnRlbnRcbiAgICAgICAgPlxuICAgICAgICAgIDwhLS0gc2lnblVwIGNvbXBvbmVudCAtLT5cbiAgICAgICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgICAgICBuYW1lPVwic2lnbi11cFwiXG4gICAgICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdzaWduVXAnXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YW1wbGlmeS1zaWduLXVwPjwvYW1wbGlmeS1zaWduLXVwPlxuICAgICAgICAgIDwvYW1wbGlmeS1zbG90PlxuICAgICAgICA8L2FtcGxpZnktdGFiLWl0ZW0+XG4gICAgICA8L2FtcGxpZnktdGFicz5cblxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwic2lnbi1pblwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnc2lnbkluJyAmJiBoaWRlU2lnblVwXCJcbiAgICAgID5cbiAgICAgICAgPGFtcGxpZnktc2lnbi1pbj48L2FtcGxpZnktc2lnbi1pbj5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIGNvbmZpcm1TaWduVXAgY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cImNvbmZpcm0tc2lnbi11cFwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnY29uZmlybVNpZ25VcCdcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1jb25maXJtLXNpZ24tdXA+PC9hbXBsaWZ5LWNvbmZpcm0tc2lnbi11cD5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIGNvbmZpcm1TaWduSW4gY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cImNvbmZpcm0tc2lnbi1pblwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnY29uZmlybVNpZ25JbidcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1jb25maXJtLXNpZ24taW4+PC9hbXBsaWZ5LWNvbmZpcm0tc2lnbi1pbj5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIHNldHVwVG90cCBjb250ZW50IC0tPlxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwic2V0dXAtdG90cFwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnc2V0dXBUT1RQJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LXNldHVwLXRvdHA+PC9hbXBsaWZ5LXNldHVwLXRvdHA+XG4gICAgICA8L2FtcGxpZnktc2xvdD5cblxuICAgICAgPCEtLSBmb3JjZU5ld1Bhc3N3b3JkIGNvbnRlbnQgLS0+XG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJmb3JjZS1uZXctcGFzc3dvcmRcIlxuICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICAgICAgKm5nSWY9XCJyb3V0ZSA9PT0gJ2ZvcmNlTmV3UGFzc3dvcmQnXCJcbiAgICAgID5cbiAgICAgICAgPGFtcGxpZnktZm9yY2UtbmV3LXBhc3N3b3JkPjwvYW1wbGlmeS1mb3JjZS1uZXctcGFzc3dvcmQ+XG4gICAgICA8L2FtcGxpZnktc2xvdD5cblxuICAgICAgPCEtLSByZXNldFBhc3N3b3JkIGNvbnRlbnQgLS0+XG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJyZXNldC1wYXNzd29yZFwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAncmVzZXRQYXNzd29yZCdcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1yZXNldC1wYXNzd29yZD48L2FtcGxpZnktcmVzZXQtcGFzc3dvcmQ+XG4gICAgICA8L2FtcGxpZnktc2xvdD5cblxuICAgICAgPCEtLSBjb25maXJtUmVzZXRQYXNzd29yZCBjb250ZW50IC0tPlxuICAgICAgPGFtcGxpZnktc2xvdFxuICAgICAgICBuYW1lPVwiY29uZmlybS1yZXNldC1wYXNzd29yZFwiXG4gICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIlxuICAgICAgICAqbmdJZj1cInJvdXRlID09PSAnY29uZmlybVJlc2V0UGFzc3dvcmQnXCJcbiAgICAgID5cbiAgICAgICAgPGFtcGxpZnktY29uZmlybS1yZXNldC1wYXNzd29yZD48L2FtcGxpZnktY29uZmlybS1yZXNldC1wYXNzd29yZD5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIHZlcmlmeVVzZXIgY29udGVudCAtLT5cbiAgICAgIDxhbXBsaWZ5LXNsb3RcbiAgICAgICAgbmFtZT1cInZlcmlmeS11c2VyXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICd2ZXJpZnlVc2VyJ1wiXG4gICAgICA+XG4gICAgICAgIDxhbXBsaWZ5LXZlcmlmeS11c2VyPjwvYW1wbGlmeS12ZXJpZnktdXNlcj5cbiAgICAgIDwvYW1wbGlmeS1zbG90PlxuXG4gICAgICA8IS0tIGNvbmZpcm1WZXJpZnlVc2VyIGNvbnRlbnQgLS0+XG4gICAgICA8YW1wbGlmeS1zbG90XG4gICAgICAgIG5hbWU9XCJjb25maXJtLXZlcmlmeS11c2VyXCJcbiAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgICAgICpuZ0lmPVwicm91dGUgPT09ICdjb25maXJtVmVyaWZ5VXNlcidcIlxuICAgICAgPlxuICAgICAgICA8YW1wbGlmeS1jb25maXJtLXZlcmlmeS11c2VyPjwvYW1wbGlmeS1jb25maXJtLXZlcmlmeS11c2VyPlxuICAgICAgPC9hbXBsaWZ5LXNsb3Q+XG4gICAgPC9kaXY+XG5cbiAgICA8YW1wbGlmeS1zbG90IG5hbWU9XCJmb290ZXJcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9hbXBsaWZ5LXNsb3Q+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjwhLS0gc2lnbmVkSW4gY29udGVudCBpcyByZW5kZXJlZCBvdXRzaWRlIGF1dGhlbnRpY2F0b3Igc28gaXQncyBub3Qgc3R5bGVkIGJ5IGF1dGhlbnRpY2F0b3IgLS0+XG48YW1wbGlmeS1zbG90XG4gIG5hbWU9XCJhdXRoZW50aWNhdGVkXCJcbiAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICpuZ0lmPVwicm91dGUgPT09ICdhdXRoZW50aWNhdGVkJ1wiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvYW1wbGlmeS1zbG90PlxuIl19
@@ -1,7 +1,10 @@
1
+ import { __awaiter } from "tslib";
1
2
  import { Injectable } from '@angular/core';
2
- import { Logger } from '@aws-amplify/core';
3
- import { createAuthenticatorMachine, getServiceFacade, } from '@aws-amplify/ui';
3
+ import { Subject } from 'rxjs';
4
4
  import { interpret } from 'xstate';
5
+ import { Auth } from 'aws-amplify';
6
+ import { Logger } from '@aws-amplify/core';
7
+ import { createAuthenticatorMachine, defaultAuthHubHandler, getServiceFacade, listenToAuthHub, } from '@aws-amplify/ui';
5
8
  import { translate } from '@aws-amplify/ui';
6
9
  import * as i0 from "@angular/core";
7
10
  const logger = new Logger('state-machine');
@@ -10,21 +13,18 @@ const logger = new Logger('state-machine');
10
13
  */
11
14
  export class AuthenticatorService {
12
15
  constructor() {
16
+ this._authStatus = 'configuring';
13
17
  const machine = createAuthenticatorMachine();
14
- const authService = interpret(machine).start();
15
- this._machineSubscription = authService.subscribe((state) => {
16
- const newState = state;
17
- this._authState = newState;
18
- this._facade = getServiceFacade({
19
- send: authService.send,
20
- state: newState,
21
- });
22
- });
23
- this._authService = authService;
18
+ this._authService = interpret(machine).start();
19
+ this.setupMachineSubscription();
20
+ this.setupHubListener();
21
+ this.getInitialAuthStatus();
24
22
  }
25
23
  ngOnDestroy() {
26
24
  if (this._machineSubscription)
27
25
  this._machineSubscription.unsubscribe();
26
+ if (this._unsubscribeHub)
27
+ this._unsubscribeHub();
28
28
  }
29
29
  /**
30
30
  * Context facades
@@ -46,8 +46,7 @@ export class AuthenticatorService {
46
46
  return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.route;
47
47
  }
48
48
  get authStatus() {
49
- var _a;
50
- return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.authStatus;
49
+ return this._authStatus;
51
50
  }
52
51
  get user() {
53
52
  var _a;
@@ -123,6 +122,10 @@ export class AuthenticatorService {
123
122
  get slotContext() {
124
123
  return Object.assign(Object.assign({}, this._facade), { $implicit: this._facade });
125
124
  }
125
+ /** @deprecated For internal use only */
126
+ get hubSubject() {
127
+ return this._hubSubject;
128
+ }
126
129
  subscribe(callback) {
127
130
  if (!this._authService) {
128
131
  logger.error('Subscription attempted before machine was created. This is likely a bug on the library, please consider filing a bug.');
@@ -136,6 +139,40 @@ export class AuthenticatorService {
136
139
  send(event) {
137
140
  this.authService.send(event);
138
141
  }
142
+ getInitialAuthStatus() {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ try {
145
+ yield Auth.currentAuthenticatedUser();
146
+ this._authStatus = 'authenticated';
147
+ }
148
+ catch (e) {
149
+ this._authStatus = 'unauthenticated';
150
+ }
151
+ });
152
+ }
153
+ setupHubListener() {
154
+ this._hubSubject = new Subject();
155
+ const onSignIn = () => {
156
+ this._authStatus = 'authenticated';
157
+ };
158
+ const onSignOut = () => {
159
+ this._authStatus = 'unauthenticated';
160
+ };
161
+ this._unsubscribeHub = listenToAuthHub(this._authService, (data, service) => __awaiter(this, void 0, void 0, function* () {
162
+ yield defaultAuthHubHandler(data, service, { onSignIn, onSignOut });
163
+ this._hubSubject.next();
164
+ }));
165
+ }
166
+ setupMachineSubscription() {
167
+ this._machineSubscription = this._authService.subscribe((state) => {
168
+ const newState = state;
169
+ this._authState = newState;
170
+ this._facade = getServiceFacade({
171
+ send: this._authService.send,
172
+ state: newState,
173
+ });
174
+ });
175
+ }
139
176
  }
140
177
  AuthenticatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthenticatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
141
178
  AuthenticatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthenticatorService, providedIn: 'root' });
@@ -145,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
145
182
  providedIn: 'root', // ensure we have a singleton service
146
183
  }]
147
184
  }], ctorParameters: function () { return []; } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQyxPQUFPLEVBS0wsMEJBQTBCLEVBQzFCLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBUyxTQUFTLEVBQWdCLE1BQU0sUUFBUSxDQUFDO0FBRXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0M7O0dBRUc7QUFJSCxNQUFNLE9BQU8sb0JBQW9CO0lBTS9CO1FBQ0UsTUFBTSxPQUFPLEdBQUcsMEJBQTBCLEVBQUUsQ0FBQztRQUU3QyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFL0MsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRTtZQUNuRSxNQUFNLFFBQVEsR0FBRyxLQUF5QixDQUFDO1lBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQzlCLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtnQkFDdEIsS0FBSyxFQUFFLFFBQVE7YUFDaEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztJQUNsQyxD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RCx3Q0FBd0M7SUFDeEMsSUFBVyxXQUFXO1FBQ3BCLHVDQUNLLElBQUksQ0FBQyxPQUFPLEtBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQ3ZCO0lBQ0osQ0FBQztJQUVNLFNBQVMsQ0FBQyxRQUFrQztRQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixNQUFNLENBQUMsS0FBSyxDQUNWLHVIQUF1SCxDQUN4SCxDQUFDO1NBQ0g7UUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEQsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRCx3Q0FBd0M7SUFDakMsSUFBSSxDQUFDLEtBQXVCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7O2tIQWxLVSxvQkFBb0I7c0hBQXBCLG9CQUFvQixjQUZuQixNQUFNOzRGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTSxFQUFFLHFDQUFxQztpQkFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9jb3JlJztcbmltcG9ydCB7XG4gIEF1dGhDb250ZXh0LFxuICBBdXRoRXZlbnQsXG4gIEF1dGhJbnRlcnByZXRlcixcbiAgQXV0aE1hY2hpbmVTdGF0ZSxcbiAgY3JlYXRlQXV0aGVudGljYXRvck1hY2hpbmUsXG4gIGdldFNlcnZpY2VGYWNhZGUsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyBFdmVudCwgaW50ZXJwcmV0LCBTdWJzY3JpcHRpb24gfSBmcm9tICd4c3RhdGUnO1xuaW1wb3J0IHsgQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrIH0gZnJvbSAnLi4vY29tbW9uJztcbmltcG9ydCB7IHRyYW5zbGF0ZSB9IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3N0YXRlLW1hY2hpbmUnKTtcblxuLyoqXG4gKiBBdXRoZW50aWNhdG9yU2VydmljZSBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGF1dGhlbnRpY2F0b3Igc3RhdGUgYW5kIGNvbnRleHQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLCAvLyBlbnN1cmUgd2UgaGF2ZSBhIHNpbmdsZXRvbiBzZXJ2aWNlXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0b3JTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfYXV0aFN0YXRlOiBBdXRoTWFjaGluZVN0YXRlO1xuICBwcml2YXRlIF9hdXRoU2VydmljZTogQXV0aEludGVycHJldGVyO1xuICBwcml2YXRlIF9tYWNoaW5lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX2ZhY2FkZTogUmV0dXJuVHlwZTx0eXBlb2YgZ2V0U2VydmljZUZhY2FkZT47XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgbWFjaGluZSA9IGNyZWF0ZUF1dGhlbnRpY2F0b3JNYWNoaW5lKCk7XG5cbiAgICBjb25zdCBhdXRoU2VydmljZSA9IGludGVycHJldChtYWNoaW5lKS5zdGFydCgpO1xuXG4gICAgdGhpcy5fbWFjaGluZVN1YnNjcmlwdGlvbiA9IGF1dGhTZXJ2aWNlLnN1YnNjcmliZSgoc3RhdGU6IHVua25vd24pID0+IHtcbiAgICAgIGNvbnN0IG5ld1N0YXRlID0gc3RhdGUgYXMgQXV0aE1hY2hpbmVTdGF0ZTtcbiAgICAgIHRoaXMuX2F1dGhTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgdGhpcy5fZmFjYWRlID0gZ2V0U2VydmljZUZhY2FkZSh7XG4gICAgICAgIHNlbmQ6IGF1dGhTZXJ2aWNlLnNlbmQsXG4gICAgICAgIHN0YXRlOiBuZXdTdGF0ZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fYXV0aFNlcnZpY2UgPSBhdXRoU2VydmljZTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9tYWNoaW5lU3Vic2NyaXB0aW9uKSB0aGlzLl9tYWNoaW5lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udGV4dCBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgZXJyb3IoKSB7XG4gICAgcmV0dXJuIHRyYW5zbGF0ZSh0aGlzLl9mYWNhZGU/LmVycm9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmFsaWRhdGlvbkVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5oYXNWYWxpZGF0aW9uRXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1BlbmRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uaXNQZW5kaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCByb3V0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5yb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5hdXRoU3RhdHVzO1xuICB9XG5cbiAgcHVibGljIGdldCB1c2VyKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnVzZXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbGlkYXRpb25FcnJvcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8udmFsaWRhdGlvbkVycm9ycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29kZURlbGl2ZXJ5RGV0YWlscygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5jb2RlRGVsaXZlcnlEZXRhaWxzO1xuICB9XG5cbiAgcHVibGljIGdldCB0b3RwU2VjcmV0Q29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy50b3RwU2VjcmV0Q29kZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXJ2aWNlIGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCBpbml0aWFsaXplTWFjaGluZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLmluaXRpYWxpemVNYWNoaW5lO1xuICB9XG5cbiAgcHVibGljIGdldCB1cGRhdGVGb3JtKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUudXBkYXRlRm9ybTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXBkYXRlQmx1cigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnVwZGF0ZUJsdXI7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc2VuZENvZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS5yZXNlbmRDb2RlO1xuICB9XG5cbiAgcHVibGljIGdldCBzaWduT3V0KCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUuc2lnbk91dDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3VibWl0Rm9ybSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnN1Ym1pdEZvcm07XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNpdGlvbiBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgdG9GZWRlcmF0ZWRTaWduSW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS50b0ZlZGVyYXRlZFNpZ25JbjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG9SZXNldFBhc3N3b3JkKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUudG9SZXNldFBhc3N3b3JkO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1NpZ25JbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnRvU2lnbkluO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1NpZ25VcCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnRvU2lnblVwO1xuICB9XG5cbiAgcHVibGljIGdldCBza2lwVmVyaWZpY2F0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUuc2tpcFZlcmlmaWNhdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnRlcm5hbCB1dGlsaXR5IGZ1bmN0aW9uc1xuICAgKi9cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXRlKCk6IEF1dGhNYWNoaW5lU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU3RhdGU7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgYXV0aFNlcnZpY2UoKTogQXV0aEludGVycHJldGVyIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFNlcnZpY2U7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgY29udGV4dCgpOiBBdXRoQ29udGV4dCB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0ZS5jb250ZXh0O1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgZ2V0IHNsb3RDb250ZXh0KCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi50aGlzLl9mYWNhZGUsXG4gICAgICAkaW1wbGljaXQ6IHRoaXMuX2ZhY2FkZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHN1YnNjcmliZShjYWxsYmFjazogQXV0aFN1YnNjcmlwdGlvbkNhbGxiYWNrKTogU3Vic2NyaXB0aW9uIHtcbiAgICBpZiAoIXRoaXMuX2F1dGhTZXJ2aWNlKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoXG4gICAgICAgICdTdWJzY3JpcHRpb24gYXR0ZW1wdGVkIGJlZm9yZSBtYWNoaW5lIHdhcyBjcmVhdGVkLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBvbiB0aGUgbGlicmFyeSwgcGxlYXNlIGNvbnNpZGVyIGZpbGluZyBhIGJ1Zy4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHRoaXMuX2F1dGhTZXJ2aWNlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjYWxsYmFjayh0aGlzLl9mYWNhZGUpO1xuICAgIH0pO1xuICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBzZW5kKGV2ZW50OiBFdmVudDxBdXRoRXZlbnQ+KSB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5zZW5kKGV2ZW50KTtcbiAgfVxufVxuIl19
185
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL2F1dGhlbnRpY2F0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBUyxTQUFTLEVBQWdCLE1BQU0sUUFBUSxDQUFDO0FBRXhELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNDLE9BQU8sRUFNTCwwQkFBMEIsRUFDMUIscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixlQUFlLEdBQ2hCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUk1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUUzQzs7R0FFRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFTL0I7UUFQUSxnQkFBVyxHQUFlLGFBQWEsQ0FBQztRQVE5QyxNQUFNLE9BQU8sR0FBRywwQkFBMEIsRUFBRSxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRS9DLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsb0JBQW9CO1lBQUUsSUFBSSxDQUFDLG9CQUFv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Q0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQ3BDLElBQUksQ0FBQyxZQUFZLEVBQ2pCLENBQU8sSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO1lBQ3RCLE1BQU0scUJBQXFCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUIsQ0FBQyxDQUFBLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUNyRCxDQUFDLEtBQWMsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sUUFBUSxHQUFHLEtBQXlCLENBQUM7WUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQztnQkFDOUIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSTtnQkFDNUIsS0FBSyxFQUFFLFFBQVE7YUFDaEIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUNGLENBQUM7SUFDSixDQUFDOztrSEEzTVUsb0JBQW9CO3NIQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU0sRUFBRSxxQ0FBcUM7aUJBQzFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFdmVudCwgaW50ZXJwcmV0LCBTdWJzY3JpcHRpb24gfSBmcm9tICd4c3RhdGUnO1xuXG5pbXBvcnQgeyBBdXRoIH0gZnJvbSAnYXdzLWFtcGxpZnknO1xuaW1wb3J0IHsgTG9nZ2VyIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2NvcmUnO1xuaW1wb3J0IHtcbiAgQXV0aENvbnRleHQsXG4gIEF1dGhFdmVudCxcbiAgQXV0aEludGVycHJldGVyLFxuICBBdXRoTWFjaGluZVN0YXRlLFxuICBBdXRoU3RhdHVzLFxuICBjcmVhdGVBdXRoZW50aWNhdG9yTWFjaGluZSxcbiAgZGVmYXVsdEF1dGhIdWJIYW5kbGVyLFxuICBnZXRTZXJ2aWNlRmFjYWRlLFxuICBsaXN0ZW5Ub0F1dGhIdWIsXG59IGZyb20gJ0Bhd3MtYW1wbGlmeS91aSc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdAYXdzLWFtcGxpZnkvdWknO1xuXG5pbXBvcnQgeyBBdXRoU3Vic2NyaXB0aW9uQ2FsbGJhY2sgfSBmcm9tICcuLi9jb21tb24nO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdzdGF0ZS1tYWNoaW5lJyk7XG5cbi8qKlxuICogQXV0aGVudGljYXRvclNlcnZpY2UgcHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBhdXRoZW50aWNhdG9yIHN0YXRlIGFuZCBjb250ZXh0LlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290JywgLy8gZW5zdXJlIHdlIGhhdmUgYSBzaW5nbGV0b24gc2VydmljZVxufSlcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdG9yU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2F1dGhTdGF0ZTogQXV0aE1hY2hpbmVTdGF0ZTtcbiAgcHJpdmF0ZSBfYXV0aFN0YXR1czogQXV0aFN0YXR1cyA9ICdjb25maWd1cmluZyc7XG4gIHByaXZhdGUgX2F1dGhTZXJ2aWNlOiBBdXRoSW50ZXJwcmV0ZXI7XG4gIHByaXZhdGUgX21hY2hpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfZmFjYWRlOiBSZXR1cm5UeXBlPHR5cGVvZiBnZXRTZXJ2aWNlRmFjYWRlPjtcbiAgcHJpdmF0ZSBfaHViU3ViamVjdDogU3ViamVjdDx2b2lkPjtcbiAgcHJpdmF0ZSBfdW5zdWJzY3JpYmVIdWI6ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgbWFjaGluZSA9IGNyZWF0ZUF1dGhlbnRpY2F0b3JNYWNoaW5lKCk7XG4gICAgdGhpcy5fYXV0aFNlcnZpY2UgPSBpbnRlcnByZXQobWFjaGluZSkuc3RhcnQoKTtcblxuICAgIHRoaXMuc2V0dXBNYWNoaW5lU3Vic2NyaXB0aW9uKCk7XG4gICAgdGhpcy5zZXR1cEh1Ykxpc3RlbmVyKCk7XG4gICAgdGhpcy5nZXRJbml0aWFsQXV0aFN0YXR1cygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX21hY2hpbmVTdWJzY3JpcHRpb24pIHRoaXMuX21hY2hpbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICBpZiAodGhpcy5fdW5zdWJzY3JpYmVIdWIpIHRoaXMuX3Vuc3Vic2NyaWJlSHViKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udGV4dCBmYWNhZGVzXG4gICAqL1xuXG4gIHB1YmxpYyBnZXQgZXJyb3IoKSB7XG4gICAgcmV0dXJuIHRyYW5zbGF0ZSh0aGlzLl9mYWNhZGU/LmVycm9yKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzVmFsaWRhdGlvbkVycm9ycygpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5oYXNWYWxpZGF0aW9uRXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGdldCBpc1BlbmRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uaXNQZW5kaW5nO1xuICB9XG5cbiAgcHVibGljIGdldCByb3V0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy5yb3V0ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYXV0aFN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFN0YXR1cztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdXNlcigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlPy51c2VyO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWxpZGF0aW9uRXJyb3JzKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGU/LnZhbGlkYXRpb25FcnJvcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNvZGVEZWxpdmVyeURldGFpbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8uY29kZURlbGl2ZXJ5RGV0YWlscztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG90cFNlY3JldENvZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZT8udG90cFNlY3JldENvZGU7XG4gIH1cblxuICAvKipcbiAgICogU2VydmljZSBmYWNhZGVzXG4gICAqL1xuICBwdWJsaWMgZ2V0IGluaXRpYWxpemVNYWNoaW5lKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUuaW5pdGlhbGl6ZU1hY2hpbmU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHVwZGF0ZUZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS51cGRhdGVGb3JtO1xuICB9XG5cbiAgcHVibGljIGdldCB1cGRhdGVCbHVyKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUudXBkYXRlQmx1cjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzZW5kQ29kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnJlc2VuZENvZGU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpZ25PdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS5zaWduT3V0O1xuICB9XG5cbiAgcHVibGljIGdldCBzdWJtaXRGb3JtKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUuc3VibWl0Rm9ybTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2l0aW9uIGZhY2FkZXNcbiAgICovXG5cbiAgcHVibGljIGdldCB0b0ZlZGVyYXRlZFNpZ25JbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZmFjYWRlLnRvRmVkZXJhdGVkU2lnbkluO1xuICB9XG5cbiAgcHVibGljIGdldCB0b1Jlc2V0UGFzc3dvcmQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS50b1Jlc2V0UGFzc3dvcmQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvU2lnbkluKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUudG9TaWduSW47XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRvU2lnblVwKCkge1xuICAgIHJldHVybiB0aGlzLl9mYWNhZGUudG9TaWduVXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNraXBWZXJpZmljYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZhY2FkZS5za2lwVmVyaWZpY2F0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIHV0aWxpdHkgZnVuY3Rpb25zXG4gICAqL1xuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBhdXRoU3RhdGUoKTogQXV0aE1hY2hpbmVTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dGhTdGF0ZTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBhdXRoU2VydmljZSgpOiBBdXRoSW50ZXJwcmV0ZXIge1xuICAgIHJldHVybiB0aGlzLl9hdXRoU2VydmljZTtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCBGb3IgaW50ZXJuYWwgdXNlIG9ubHkgKi9cbiAgcHVibGljIGdldCBjb250ZXh0KCk6IEF1dGhDb250ZXh0IHtcbiAgICByZXR1cm4gdGhpcy5fYXV0aFN0YXRlLmNvbnRleHQ7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgc2xvdENvbnRleHQoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnRoaXMuX2ZhY2FkZSxcbiAgICAgICRpbXBsaWNpdDogdGhpcy5fZmFjYWRlLFxuICAgIH07XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgRm9yIGludGVybmFsIHVzZSBvbmx5ICovXG4gIHB1YmxpYyBnZXQgaHViU3ViamVjdCgpOiBTdWJqZWN0PHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5faHViU3ViamVjdDtcbiAgfVxuXG4gIHB1YmxpYyBzdWJzY3JpYmUoY2FsbGJhY2s6IEF1dGhTdWJzY3JpcHRpb25DYWxsYmFjayk6IFN1YnNjcmlwdGlvbiB7XG4gICAgaWYgKCF0aGlzLl9hdXRoU2VydmljZSkge1xuICAgICAgbG9nZ2VyLmVycm9yKFxuICAgICAgICAnU3Vic2NyaXB0aW9uIGF0dGVtcHRlZCBiZWZvcmUgbWFjaGluZSB3YXMgY3JlYXRlZC4gVGhpcyBpcyBsaWtlbHkgYSBidWcgb24gdGhlIGxpYnJhcnksIHBsZWFzZSBjb25zaWRlciBmaWxpbmcgYSBidWcuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLl9hdXRoU2VydmljZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY2FsbGJhY2sodGhpcy5fZmFjYWRlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIEZvciBpbnRlcm5hbCB1c2Ugb25seSAqL1xuICBwdWJsaWMgc2VuZChldmVudDogRXZlbnQ8QXV0aEV2ZW50Pikge1xuICAgIHRoaXMuYXV0aFNlcnZpY2Uuc2VuZChldmVudCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEluaXRpYWxBdXRoU3RhdHVzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBBdXRoLmN1cnJlbnRBdXRoZW50aWNhdGVkVXNlcigpO1xuICAgICAgdGhpcy5fYXV0aFN0YXR1cyA9ICdhdXRoZW50aWNhdGVkJztcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLl9hdXRoU3RhdHVzID0gJ3VuYXV0aGVudGljYXRlZCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEh1Ykxpc3RlbmVyKCk6IHZvaWQge1xuICAgIHRoaXMuX2h1YlN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3Qgb25TaWduSW4gPSAoKSA9PiB7XG4gICAgICB0aGlzLl9hdXRoU3RhdHVzID0gJ2F1dGhlbnRpY2F0ZWQnO1xuICAgIH07XG4gICAgY29uc3Qgb25TaWduT3V0ID0gKCkgPT4ge1xuICAgICAgdGhpcy5fYXV0aFN0YXR1cyA9ICd1bmF1dGhlbnRpY2F0ZWQnO1xuICAgIH07XG5cbiAgICB0aGlzLl91bnN1YnNjcmliZUh1YiA9IGxpc3RlblRvQXV0aEh1YihcbiAgICAgIHRoaXMuX2F1dGhTZXJ2aWNlLFxuICAgICAgYXN5bmMgKGRhdGEsIHNlcnZpY2UpID0+IHtcbiAgICAgICAgYXdhaXQgZGVmYXVsdEF1dGhIdWJIYW5kbGVyKGRhdGEsIHNlcnZpY2UsIHsgb25TaWduSW4sIG9uU2lnbk91dCB9KTtcbiAgICAgICAgdGhpcy5faHViU3ViamVjdC5uZXh0KCk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBNYWNoaW5lU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX21hY2hpbmVTdWJzY3JpcHRpb24gPSB0aGlzLl9hdXRoU2VydmljZS5zdWJzY3JpYmUoXG4gICAgICAoc3RhdGU6IHVua25vd24pID0+IHtcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSBzdGF0ZSBhcyBBdXRoTWFjaGluZVN0YXRlO1xuICAgICAgICB0aGlzLl9hdXRoU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICAgICAgdGhpcy5fZmFjYWRlID0gZ2V0U2VydmljZUZhY2FkZSh7XG4gICAgICAgICAgc2VuZDogdGhpcy5fYXV0aFNlcnZpY2Uuc2VuZCxcbiAgICAgICAgICBzdGF0ZTogbmV3U3RhdGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export const VERSION = '3.2.16';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzMuMi4xNic7XG4iXX0=
1
+ export const VERSION = '3.2.17';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3VpLWFuZ3VsYXIvc3JjL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzMuMi4xNyc7XG4iXX0=
@@ -2,15 +2,16 @@ import * as i0 from '@angular/core';
2
2
  import { Directive, Input, Injectable, Component, HostBinding, EventEmitter, ContentChildren, Output, ViewEncapsulation, NgModule } from '@angular/core';
3
3
  import * as i6 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
- import { __awaiter } from 'tslib';
6
- import { createAuthenticatorMachine, getServiceFacade, translate, authenticatorTextUtil, FederatedIdentityProviders, countryDialCodes, ComponentClassName, getErrors, getSortedFormFields, getFormDataFromEvent, getActorContext, getTotpCodeURL, defaultFormFieldOptions, getActorState, configureComponent, listenToAuthHub, defaultAuthHubHandler } from '@aws-amplify/ui';
5
+ import { createAuthenticatorMachine, translate, listenToAuthHub, defaultAuthHubHandler, getServiceFacade, authenticatorTextUtil, FederatedIdentityProviders, countryDialCodes, ComponentClassName, getErrors, getSortedFormFields, getFormDataFromEvent, getActorContext, getTotpCodeURL, defaultFormFieldOptions, getActorState, configureComponent } from '@aws-amplify/ui';
7
6
  export { translations } from '@aws-amplify/ui';
8
- import { Logger } from '@aws-amplify/core';
7
+ import { __awaiter } from 'tslib';
8
+ import { Subject } from 'rxjs';
9
9
  import { interpret } from 'xstate';
10
+ import { Auth, Logger as Logger$1 } from 'aws-amplify';
11
+ import { Logger } from '@aws-amplify/core';
10
12
  import { nanoid } from 'nanoid';
11
13
  import classnames from 'classnames';
12
14
  import QRCode from 'qrcode';
13
- import { Logger as Logger$1 } from 'aws-amplify';
14
15
 
15
16
  class AmplifySlotDirective {
16
17
  constructor(template) {
@@ -54,7 +55,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
54
55
  }]
55
56
  }] });
56
57
 
57
- const VERSION = '3.2.16';
58
+ const VERSION = '3.2.17';
58
59
 
59
60
  const logger$1 = new Logger('state-machine');
60
61
  /**
@@ -62,21 +63,18 @@ const logger$1 = new Logger('state-machine');
62
63
  */
63
64
  class AuthenticatorService {
64
65
  constructor() {
66
+ this._authStatus = 'configuring';
65
67
  const machine = createAuthenticatorMachine();
66
- const authService = interpret(machine).start();
67
- this._machineSubscription = authService.subscribe((state) => {
68
- const newState = state;
69
- this._authState = newState;
70
- this._facade = getServiceFacade({
71
- send: authService.send,
72
- state: newState,
73
- });
74
- });
75
- this._authService = authService;
68
+ this._authService = interpret(machine).start();
69
+ this.setupMachineSubscription();
70
+ this.setupHubListener();
71
+ this.getInitialAuthStatus();
76
72
  }
77
73
  ngOnDestroy() {
78
74
  if (this._machineSubscription)
79
75
  this._machineSubscription.unsubscribe();
76
+ if (this._unsubscribeHub)
77
+ this._unsubscribeHub();
80
78
  }
81
79
  /**
82
80
  * Context facades
@@ -98,8 +96,7 @@ class AuthenticatorService {
98
96
  return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.route;
99
97
  }
100
98
  get authStatus() {
101
- var _a;
102
- return (_a = this._facade) === null || _a === void 0 ? void 0 : _a.authStatus;
99
+ return this._authStatus;
103
100
  }
104
101
  get user() {
105
102
  var _a;
@@ -175,6 +172,10 @@ class AuthenticatorService {
175
172
  get slotContext() {
176
173
  return Object.assign(Object.assign({}, this._facade), { $implicit: this._facade });
177
174
  }
175
+ /** @deprecated For internal use only */
176
+ get hubSubject() {
177
+ return this._hubSubject;
178
+ }
178
179
  subscribe(callback) {
179
180
  if (!this._authService) {
180
181
  logger$1.error('Subscription attempted before machine was created. This is likely a bug on the library, please consider filing a bug.');
@@ -188,6 +189,40 @@ class AuthenticatorService {
188
189
  send(event) {
189
190
  this.authService.send(event);
190
191
  }
192
+ getInitialAuthStatus() {
193
+ return __awaiter(this, void 0, void 0, function* () {
194
+ try {
195
+ yield Auth.currentAuthenticatedUser();
196
+ this._authStatus = 'authenticated';
197
+ }
198
+ catch (e) {
199
+ this._authStatus = 'unauthenticated';
200
+ }
201
+ });
202
+ }
203
+ setupHubListener() {
204
+ this._hubSubject = new Subject();
205
+ const onSignIn = () => {
206
+ this._authStatus = 'authenticated';
207
+ };
208
+ const onSignOut = () => {
209
+ this._authStatus = 'unauthenticated';
210
+ };
211
+ this._unsubscribeHub = listenToAuthHub(this._authService, (data, service) => __awaiter(this, void 0, void 0, function* () {
212
+ yield defaultAuthHubHandler(data, service, { onSignIn, onSignOut });
213
+ this._hubSubject.next();
214
+ }));
215
+ }
216
+ setupMachineSubscription() {
217
+ this._machineSubscription = this._authService.subscribe((state) => {
218
+ const newState = state;
219
+ this._authState = newState;
220
+ this._facade = getServiceFacade({
221
+ send: this._authService.send,
222
+ state: newState,
223
+ });
224
+ });
225
+ }
191
226
  }
192
227
  AuthenticatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthenticatorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
193
228
  AuthenticatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AuthenticatorService, providedIn: 'root' });
@@ -1210,10 +1245,9 @@ class AuthenticatorComponent {
1210
1245
  packageName: '@aws-amplify/ui-angular',
1211
1246
  version: VERSION,
1212
1247
  });
1213
- const { authService, initializeMachine } = this.authenticator;
1214
- this.unsubscribeHub = listenToAuthHub(authService, (data, service) => __awaiter(this, void 0, void 0, function* () {
1215
- yield defaultAuthHubHandler(data, service);
1216
- /**
1248
+ const { initializeMachine } = this.authenticator;
1249
+ this.authenticator.hubSubject.subscribe(() => {
1250
+ /*
1217
1251
  * Hub events aren't properly caught by Angular, because they are
1218
1252
  * synchronous events. Angular tracks async network events and
1219
1253
  * html events, but not synchronous events like hub.
@@ -1221,7 +1255,7 @@ class AuthenticatorComponent {
1221
1255
  * On any notable hub events, we run change detection manually.
1222
1256
  */
1223
1257
  this.changeDetector.detectChanges();
1224
- /**
1258
+ /*
1225
1259
  * Hub events that we handle can lead to multiple state changes:
1226
1260
  * e.g. `authenticated` -> `signOut` -> initialState.
1227
1261
  *
@@ -1230,7 +1264,7 @@ class AuthenticatorComponent {
1230
1264
  * to true to until we reach initial state.
1231
1265
  */
1232
1266
  this.isHandlingHubEvent = true;
1233
- }));
1267
+ });
1234
1268
  /**
1235
1269
  * Subscribes to state machine changes and sends INIT event
1236
1270
  * once machine reaches 'setup' state.
@@ -1273,8 +1307,6 @@ class AuthenticatorComponent {
1273
1307
  ngOnDestroy() {
1274
1308
  if (this.unsubscribeMachine)
1275
1309
  this.unsubscribeMachine();
1276
- if (this.unsubscribeHub)
1277
- this.unsubscribeHub();
1278
1310
  }
1279
1311
  /**
1280
1312
  * Class Functions