@c8y/ngx-components 1019.6.3 → 1019.6.10

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.
@@ -108,8 +108,8 @@ export declare class ApplicationOptions implements DevKitApplicationOptions {
108
108
  hideNavigator?: boolean;
109
109
  /** Show tabs horizontally or vertically. */
110
110
  tabsHorizontal?: boolean;
111
- /** Additional link to display on login screen. */
112
- loginExtraLink?: LoginExtraLink;
111
+ /** Additional link(s) to display on login screen. */
112
+ loginExtraLink?: LoginExtraLink | LoginExtraLink[];
113
113
  /** Enable or disable storage limitation feature. */
114
114
  storageLimitationFeatureEnabled?: boolean;
115
115
  /** Name of company handling support requests from app users (displayed in notification message). */
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationOptions.d.ts","sourceRoot":"","sources":["../../../core/common/ApplicationOptions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationOptions.d.ts","sourceRoot":"","sources":["../../../core/common/ApplicationOptions.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ import { OnInit, EventEmitter } from '@angular/core';
2
2
  import { LoginService } from './login.service';
3
3
  import { ICredentials } from '@c8y/client';
4
4
  import { AlertService } from '../alert/alert.service';
5
- import { AppStateService } from '../common/ui-state.service';
6
5
  import { LoginViews } from './login.model';
7
6
  import { CredentialsFromQueryParamsService } from './credentials-from-query-params.service';
8
7
  import { CredentialsComponentParams } from './credentials-component-params';
@@ -10,7 +9,6 @@ import * as i0 from "@angular/core";
10
9
  export declare class CredentialsComponent implements OnInit {
11
10
  loginService: LoginService;
12
11
  alert: AlertService;
13
- ui: AppStateService;
14
12
  private credentialsFromQueryParamsService;
15
13
  onChangeView: EventEmitter<any>;
16
14
  loginViewParams: CredentialsComponentParams;
@@ -23,7 +21,7 @@ export declare class CredentialsComponent implements OnInit {
23
21
  showTenant: boolean;
24
22
  private readonly PASSWORD_RESET_HEADER_NAME;
25
23
  private readonly NO_PHONE_HEADER_NAME;
26
- constructor(loginService: LoginService, alert: AlertService, ui: AppStateService, credentialsFromQueryParamsService: CredentialsFromQueryParamsService);
24
+ constructor(loginService: LoginService, alert: AlertService, credentialsFromQueryParamsService: CredentialsFromQueryParamsService);
27
25
  ngOnInit(): void;
28
26
  redirectToOauth(): void;
29
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.component.d.ts","sourceRoot":"","sources":["../../../core/login/credentials.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAiB,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;;AAE5E,qBAKa,oBAAqB,YAAW,MAAM;IAoBxC,YAAY,EAAE,YAAY;IAC1B,KAAK,EAAE,YAAY;IACnB,EAAE,EAAE,eAAe;IAC1B,OAAO,CAAC,iCAAiC;IAtBjC,YAAY,oBAAsB;IAEnC,eAAe,EAAE,0BAA0B,CAGlD;IAEF,WAAW,oBAAc;IACzB,KAAK,EAAE,YAAY,CAAM;IACzB,SAAS,UAAS;IAClB,aAAa,UAAS;IACtB,aAAa,UAAS;IACtB,YAAY,EAAE,GAAG,CAAM;IACvB,UAAU,UAAS;IAEnB,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAwB;IACnE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAmB;gBAG/C,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,YAAY,EACnB,EAAE,EAAE,eAAe,EAClB,iCAAiC,EAAE,iCAAiC;IAG9E,QAAQ;IAaR,eAAe;IAIf;;;OAGG;IACG,KAAK;IA6BX,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,2BAA2B;yCAtGxB,oBAAoB;2CAApB,oBAAoB;CA8GhC"}
1
+ {"version":3,"file":"credentials.component.d.ts","sourceRoot":"","sources":["../../../core/login/credentials.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAiB,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;;AAE5E,qBAKa,oBAAqB,YAAW,MAAM;IAoBxC,YAAY,EAAE,YAAY;IAC1B,KAAK,EAAE,YAAY;IAC1B,OAAO,CAAC,iCAAiC;IArBjC,YAAY,oBAAsB;IAEnC,eAAe,EAAE,0BAA0B,CAGlD;IAEF,WAAW,oBAAc;IACzB,KAAK,EAAE,YAAY,CAAM;IACzB,SAAS,UAAS;IAClB,aAAa,UAAS;IACtB,aAAa,UAAS;IACtB,YAAY,EAAE,GAAG,CAAM;IACvB,UAAU,UAAS;IAEnB,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAwB;IACnE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAmB;gBAG/C,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,YAAY,EAClB,iCAAiC,EAAE,iCAAiC;IAG9E,QAAQ;IAaR,eAAe;IAIf;;;OAGG;IACG,KAAK;IA6BX,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,2BAA2B;yCArGxB,oBAAoB;2CAApB,oBAAoB;CA6GhC"}
@@ -6,12 +6,14 @@ import { LoginViews } from './login.model';
6
6
  import { AlertService } from '../alert/alert.service';
7
7
  import { CredentialsFromQueryParamsService } from './credentials-from-query-params.service';
8
8
  import { CredentialsComponentParams } from './credentials-component-params';
9
+ import { AppStateService } from '../common/ui-state.service';
9
10
  import * as i0 from "@angular/core";
10
11
  export declare class LoginComponent implements OnInit, OnDestroy {
11
12
  loginService: LoginService;
12
13
  private options;
13
14
  private alert;
14
15
  private credentialsFromQueryParamsService;
16
+ ui: AppStateService;
15
17
  currentView: LoginViews;
16
18
  LOGIN_VIEWS: typeof LoginViews;
17
19
  disabled: boolean;
@@ -25,7 +27,7 @@ export declare class LoginComponent implements OnInit, OnDestroy {
25
27
  /**
26
28
  * Just DI.
27
29
  */
28
- constructor(loginService: LoginService, options: OptionsService, alert: AlertService, credentialsFromQueryParamsService: CredentialsFromQueryParamsService);
30
+ constructor(loginService: LoginService, options: OptionsService, alert: AlertService, credentialsFromQueryParamsService: CredentialsFromQueryParamsService, ui: AppStateService);
29
31
  ngOnInit(): void;
30
32
  ngOnDestroy(): void;
31
33
  handleLoginTemplate(event: {
@@ -1 +1 @@
1
- {"version":3,"file":"login.component.d.ts","sourceRoot":"","sources":["../../../core/login/login.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAgB,SAAS,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,YAAY,EAAyB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;;AAE5E,qBAKa,cAAe,YAAW,MAAM,EAAE,SAAS;IAiB7C,YAAY,EAAE,YAAY;IACjC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,iCAAiC;IAnB3C,WAAW,EAAE,UAAU,CAAmB;IAC1C,WAAW,oBAAc;IAEzB,QAAQ,UAAS;IAER,IAAI,EAAE,MAAM,CAAC;IAEtB,WAAW,EAAE,YAAY,CAAM;IAC/B,eAAe,EAAE,0BAA0B,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;IAC1E,aAAa,UAAS;IACtB,OAAO,CAAC,WAAW,CAAW;IAE9B;;OAEG;gBAEM,YAAY,EAAE,YAAY,EACzB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,EACnB,iCAAiC,EAAE,iCAAiC;IAG9E,QAAQ;IAaR,WAAW,IAAI,IAAI;IAKnB,mBAAmB,CAAC,KAAK,EAAE;QACzB,IAAI,EAAE,UAAU,CAAC;QACjB,WAAW,CAAC,EAAE,YAAY,CAAC;QAC3B,eAAe,CAAC,EAAE,0BAA0B,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;KACvE;IAMkC,OAAO,CAAC,KAAK,EAAE,aAAa;IAM/D,KAAK;YAMS,kBAAkB;IAuBhC,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,qBAAqB;yCAhGlB,cAAc;2CAAd,cAAc;CAuG1B"}
1
+ {"version":3,"file":"login.component.d.ts","sourceRoot":"","sources":["../../../core/login/login.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAgB,SAAS,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,YAAY,EAAyB,MAAM,aAAa,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;;AAE7D,qBAKa,cAAe,YAAW,MAAM,EAAE,SAAS;IAiB7C,YAAY,EAAE,YAAY;IACjC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,iCAAiC;IAClC,EAAE,EAAE,eAAe;IApB5B,WAAW,EAAE,UAAU,CAAmB;IAC1C,WAAW,oBAAc;IAEzB,QAAQ,UAAS;IAER,IAAI,EAAE,MAAM,CAAC;IAEtB,WAAW,EAAE,YAAY,CAAM;IAC/B,eAAe,EAAE,0BAA0B,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAM;IAC1E,aAAa,UAAS;IACtB,OAAO,CAAC,WAAW,CAAW;IAE9B;;OAEG;gBAEM,YAAY,EAAE,YAAY,EACzB,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY,EACnB,iCAAiC,EAAE,iCAAiC,EACrE,EAAE,EAAE,eAAe;IAG5B,QAAQ;IAaR,WAAW,IAAI,IAAI;IAKnB,mBAAmB,CAAC,KAAK,EAAE;QACzB,IAAI,EAAE,UAAU,CAAC;QACjB,WAAW,CAAC,EAAE,YAAY,CAAC;QAC3B,eAAe,CAAC,EAAE,0BAA0B,GAAG;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;KACvE;IAMkC,OAAO,CAAC,KAAK,EAAE,aAAa;IAM/D,KAAK;YAMS,kBAAkB;IAuBhC,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,qBAAqB;yCAjGlB,cAAc;2CAAd,cAAc;CAwG1B"}
@@ -7,4 +7,4 @@
7
7
  */
8
8
  export class ApplicationOptions {
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBb005QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiwgVmVyc2lvbmluZ01hdHJpeCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uT3B0aW9ucyBhcyBEZXZLaXRBcHBsaWNhdGlvbk9wdGlvbnMsXG4gIEJyYW5kaW5nQ3NzVmFycyxcbiAgTGFuZ3VhZ2VzLFxuICBJMThuRXh0cmEsXG4gIERvY3MsXG4gIEljb24sXG4gIExvZ2luRXh0cmFMaW5rLFxuICBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uLFxuICBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb24sXG4gIFJlbW90ZVBsdWdpbnMsXG4gIE1hcFRpbGVMYXllcixcbiAgTWFwRGVmYXVsdENvbmZpZyxcbiAgUGx1Z2luc0V4cG9ydHNcbn0gZnJvbSAnQGM4eS9kZXZraXQvb3B0aW9ucyc7XG5cbi8qXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVdBUk5JTkctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgZmlsZSBpbXBsZW1lbnRzIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBvcmlnaW4gRGV2S2l0QXBwbGljYXRpb25PcHRpb25zXG4gKiAqKk5FVkVSKiogY2hhbmdlIHRoaXMgZmlsZSBkcmllY3RseS4gSW5zdGVhZCBkbzpcbiAqIDEuIG9wZW4gcGFja2FnZXMvZGV2a2l0L3NyYy93ZWJwYWNrL0FwcGxpY2F0aW9uT3B0aW9ucy50cyBhbmQgYWRkIHlvdXIgcHJvcGVydHkgdGhlcmVcbiAqIDIuIGNoZWNrIGluIHRoaXMgZmlsZSBpZiBhbGwgb3B0aW9ucyBhcmUgaW1wbGVtZW50ZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbk9wdGlvbnMgaW1wbGVtZW50cyBEZXZLaXRBcHBsaWNhdGlvbk9wdGlvbnMge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbnRleHRQYXRoOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHdlYlNka1ZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBoeWJyaWQgYW5kIHVzZXMgQW5ndWxhciBhbmQgQW5ndWxhckpTIHNpbXVsdGFuZW91c2x5LiAqL1xuICB1cGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIGJyYW5kaW5nIGVudHJ5IGZpbGUuIChTZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBhbnkgc3R5bGluZy4gWW91IGNhbiBoYW5kbGUgdGhlIHN0eWxpbmcgdGhlbiBvbiB5b3VyIG93biBlLmcuIGluIGFuIGFuZ3VsYXIuanNvbiBmaWxlIHVzaW5nIG5nLWNsaSkgKi9cbiAgYnJhbmRpbmdFbnRyeT86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byBmYXZpY29uLiAqL1xuICBmYXZpY29uVXJsPzogc3RyaW5nO1xuICAvKiogVVJMIHRvICouY3NzIGZpbGUgd2hpY2ggd2lsbCByZXBsYWNlIGRlZmF1bHQgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nVXJsPzogc3RyaW5nO1xuICAvKiogT2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgY29udmVydGVkIHRvIENTUyBjdXN0b20gdmFyaWFibGVzLiAqL1xuICBicmFuZGluZ0Nzc1ZhcnM/OiBCcmFuZGluZ0Nzc1ZhcnM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBvciBvdmVycmlkaW5nIGxhbmd1YWdlcyBhdmFpbGFibGUgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqXG4gICAqIC0gYG5hbWVgOiBFbmdsaXNoIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGBuYXRpdmVOYW1lYDogbmF0aXZlIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGB1cmxgOiBmdWxsIFVSTCB0byBKU09OIGZpbGUgd2l0aCBjb21waWxlZCB0cmFuc2xhdGlvbnM7XG4gICAqICAgIGlmIG5vdCBkZWZpbmVkLCB0cmFuc2xhdGlvbnMgd2lsbCBiZSBsb2FkZWQgZnJvbSBgJHtsb2NhbGVQYXRofS8ke2xhbmdDb2RlfS5qc29uYC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogYGBganNvblxuICAgKiBcImxhbmd1YWdlc1wiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIm5hbWVcIjogXCJHZXJtYW5cIixcbiAgICogICAgIFwibmF0aXZlTmFtZVwiOiBcIkRldXRzY2hcIixcbiAgICogICAgIFwidXJsXCI6IFwiL2FwcHMvcHVibGljL3VpLWFzc2V0cy9kZS5qc29uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBsYW5ndWFnZXM/OiBMYW5ndWFnZXM7XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRkIGN1c3RvbSB0cmFuc2xhdGlvbnMuIEl0IGlzIGFuIG9wdGlvbmFsIHByb3BlcnR5LlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgKGh0dHBzOi8vY3VtdWxvY2l0eS5jb20vZ3VpZGVzL3VzZXJzLWd1aWRlL2dldHRpbmctc3RhcnRlZC8jYS1uYW1lLWxhbmd1YWdlcy1hLWF2YWlsYWJsZS1sYW5ndWFnZXMpXG4gICAqIGFuZCBpdHMgdmFsdWVzIGFyZSBvYmplY3RzIHdpdGgga2V5LXZhbHVlIHBhaXJzLCB3aGVyZSB0aGUga2V5IGlzIHRoZSBvcmlnaW5hbCBzdHJpbmcgaW4gRW5nbGlzaCBhbmQgdGhlIHZhbHVlIC0gaXRzIHRyYW5zbGF0aW9uLlxuICAgKlxuICAgKiAtIGBIb21lYDogXCJTdGFydHNlaXRlXCJcbiAgICpcbiAgICogRm9yIGV4YW1wbGUgeW91IGNhbiBhZGQgdGhlIHRyYW5zbGF0aW9uIG9mIHlvdXIgY3VzdG9tIGNvb2tpZSBiYW5uZXIgY29uZmlndXJlZCBpbiB0aGUgYnJhbmRpbmcgc2V0dGluZ3M6XG4gICAqIGBgYGpzb25cbiAgICogXCJpMThuRXh0cmFcIjoge1xuICAgKiAgIFwiZGVcIjoge1xuICAgKiAgICAgXCJBYm91dCBjb29raWVzIG9uIEN1bXVsb2NpdHkgSW9UXCI6IFwiSW5mb3JtYXRpb25lbiB6dSBDb29raWVzIGluIEN1bXVsb2NpdHkgSW9UXCIsXG4gICAqICAgICBcIkNsaWNrIEFncmVlIGFuZCBQcm9jZWVkIHRvIGFjY2VwdCBjb29raWVzIGFuZCBnbyBkaXJlY3RseSB0byB0aGUgcGxhdGZvcm0gb3IgY2xpY2sgb24gUHJpdmFjeSBQb2xpY3kgdG8gc2VlIGRldGFpbGVkIGRlc2NyaXB0aW9ucyBvZiB0aGUgdXNlZCBjb29raWVzLlwiOiBcIktsaWNrZW4gU2llIGF1ZiBadXN0aW1tZW4gdW5kIGZvcnRmYWhyZW4sIHVtIENvb2tpZXMgenUgYWt6ZXB0aWVyZW4gdW5kIGRpcmVrdCB6dXIgUGxhdHRmb3JtIHp1IGdlbGFuZ2VuLCBvZGVyIGtsaWNrZW4gU2llIGF1ZiBEYXRlbnNjaHV0enJpY2h0bGluaWUsIHVtIGRldGFpbGxpZXJ0ZSBCZXNjaHJlaWJ1bmdlbiBkZXIgdmVyd2VuZGV0ZW4gQ29va2llcyBhbnp1emVpZ2VuLlwiXG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgaTE4bkV4dHJhPzogSTE4bkV4dHJhO1xuICAvKiogUGF0aCB0byB0aGUgZm9sZGVyIGZyb20gd2hpY2ggKi5wbyBmaWxlcyB3aWxsIGJlIGxvYWRlZC4gKi9cbiAgbG9jYWxlUGF0aD86IHN0cmluZztcbiAgLyoqIEFycmF5IG9mIFVSTHMgdG8gYWRkaXRpb25hbCAqLmNzcyBmaWxlcyB0byBiZSBsb2FkZWQgYXQgcnVudGltZS4gKi9cbiAgZXh0cmFDc3NVcmxzPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uIGxpbmtzIHNldHRpbmdzLiAqL1xuICBkb2NzPzogRG9jcztcbiAgLyoqIEFwcGxpY2F0aW9uIGljb24gdG8gYmUgZGlzcGxheWVkIGluIGFwcCBzd2l0Y2hlciBhbmQgaGVhZGVyIGJhci4gKi9cbiAgaWNvbj86IEljb247XG5cbiAgLy8gVGhlc2UgYXJlIHRoZSBvbGQgb3B0aW9uc1xuICAvKiogSGlkZSBhcHBsaWNhdGlvbiBpbiBhcHAgc3dpdGNoZXIgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBub0FwcFN3aXRjaGVyPzogYm9vbGVhbjtcbiAgLyoqIEhUTUwgcGFnZSB0aXRsZS4gKi9cbiAgZ2xvYmFsVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBIaWRlIFwicG93ZXJlZCBieVwiIGFuZCB2ZXJzaW9uIGluZm8gYXQgdGhlIGJvdHRvbSBvZiB0aGUgbmF2aWdhdG9yIGFuZCBpbiB0aGUgcmlnaHQgZHJhd2VyLiAqL1xuICBoaWRlUG93ZXJlZD86IGJvb2xlYW47XG4gIC8qKiBIaWRlcyB0aGUgXCJQbGF0Zm9ybSBpbmZvcm1hdGlvblwiIGluIHRoZSByaWdodCBkcmF3ZXIsIHdpbGwgb3ZlcnJ1bGUgdGhlIFwiaGlkZVBvd2VyZWRcIiBvcHRpb24gKi9cbiAgaGlkZVBsYXRmb3JtSW5mb3JtYXRpb24/OiBib29sZWFuO1xuICAvKiogVVJMIHRvIHN1cHBvcnQgcGFnZSAoc2V0IHRvIGBmYWxzZWAgdG8gaGlkZSB0aGUgbGluaykuICovXG4gIHN1cHBvcnRVcmw/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKipcbiAgICogUmVwbGFjZW1lbnQgc3RyaW5nIGZvciBgdXNlcmAgZmllbGQgaW4gYXVkaXQgbG9ncyBmb3IgYWN0aW9ucyBwZXJmb3JtZWQgYnkgYSBzdXBwb3J0IHVzZXJcbiAgICogKGF2YWlsYWJsZSBwbGFjZWhvbGRlcnM6IGB7e3N1cHBvcnRfdXNlcn19YCwgYHt7c3VwcG9ydGVkX3VzZXJ9fWApLlxuICAgKi9cbiAgc3VwcG9ydFVzZXJTdHJpbmc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEaXNhYmxlcyByZWFsdGltZSB1cGRhdGVzIG9uIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRSZWFsdGltZURpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBhZGp1c3QgdGhlIGRlZmF1bHQgcGFnZXNpemUgb2YgMTAwIGl0ZW1zIG9mIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRQYWdlU2l6ZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBoaWRlIHRoZSBoaW50IHRoYXQgdGhlcmUgYXJlIG1vcmUgZGV2aWNlcyB3aXRoIGdlbyBjb29yZGluYXRlcyB0aGVuIGRpc3BsYXllZCBvbiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0SGlkZU1heERldmljZU9uTWFwSGludD86IGJvb2xlYW47XG4gIC8qKiBFbmFibGUgb3IgZGlzYWJsZSB0aGUgcmlnaHQgZHJhd2VyLiAqL1xuICByaWdodERyYXdlcj86IGJvb2xlYW47XG4gIC8qKiBFbmFibGUgb3IgZGlzYWJsZSBicmVhZGNydW1icyBpbiB0aGUgaGVhZGVyIGZvciBncm91cHMgYW5kIGRldmljZXMgKGRlZmF1bHQ6IGZhbHNlKS4gKi9cbiAgYnJlYWRjcnVtYnM/OiBib29sZWFuO1xuICAvKiogQ29sbGFwc2UgbmF2aWdhdG9yIG9uIGluaXRpYWwgbG9hZC4gKi9cbiAgaGlkZU5hdmlnYXRvcj86IGJvb2xlYW47XG4gIC8qKiBTaG93IHRhYnMgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuICovXG4gIHRhYnNIb3Jpem9udGFsPzogYm9vbGVhbjtcbiAgLyoqIEFkZGl0aW9uYWwgbGluayB0byBkaXNwbGF5IG9uIGxvZ2luIHNjcmVlbi4gKi9cbiAgbG9naW5FeHRyYUxpbms/OiBMb2dpbkV4dHJhTGluaztcbiAgLyoqIEVuYWJsZSBvciBkaXNhYmxlIHN0b3JhZ2UgbGltaXRhdGlvbiBmZWF0dXJlLiAqL1xuICBzdG9yYWdlTGltaXRhdGlvbkZlYXR1cmVFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIE5hbWUgb2YgY29tcGFueSBoYW5kbGluZyBzdXBwb3J0IHJlcXVlc3RzIGZyb20gYXBwIHVzZXJzIChkaXNwbGF5ZWQgaW4gbm90aWZpY2F0aW9uIG1lc3NhZ2UpLiAqL1xuICBjb21wYW55TmFtZT86IHN0cmluZztcbiAgLyoqIFVSTCB0ZW1wbGF0ZSBmb3IgZG9jdW1lbnRhdGlvbiBsaW5rcyAoZGVmYXVsdDogYCcke2RvY3NCYXNlVXJsfSR7cGFydGlhbFVybH0nYCkuICovXG4gIGd1aWRlSHJlZlRlbXBsYXRlPzogc3RyaW5nO1xuICAvKiogQmFzZSBVUkwgZm9yIGRvY3VtZW50YXRpb24gbGlua3MgKGluY2x1ZGUgYHt7IHZlcnNpb24gfX1gIHBsYWNlaG9sZGVyLCBpZiB5b3Ugd2FudCB2ZXJzaW9uZWQgbGlua3MpLiAqL1xuICBkb2NzQmFzZVVybD86IHN0cmluZztcbiAgLyoqIENTUCBzdHJpbmcgdG8gYmUgYXBwbGllZCB0byBgaW5kZXguaHRtbGAgYnkgcmVwbGFjaW5nIGRlZmF1bHQgdmFsdWVzLiAqL1xuICBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBzdHJpbmc7XG4gIC8qKiBFbmFibGVzIGNsb3VkIHNlbnNvciB3aXphcmQgKi9cbiAgc2Vuc29yUGhvbmU/OiBib29sZWFuO1xuICAvKiogU2hvdyBvciBoaWRlIGEgbmV3c2xldHRlciBzdWJzY3JpcHRpb24gY2hlY2tib3ggaW4gZWRpdCB1c2VyIG1vZGFsLiAqL1xuICBuZXdzbGV0dGVyPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIHJvb3Qgbm9kZV9tb2R1bGVzIGRpciAodXNlZnVsIHdoZW4gd29ya2luZyBpbiBtb25vcmVwbyBzZXR1cCwgZS5nLiB5YXJuIHdvcmtzcGFjZXMpLiAqL1xuICByb290Tm9kZU1vZHVsZXNQYXRoPzogc3RyaW5nO1xuICAvKiogQ29va2llIEJhbm5lciBjb25maWd1cmF0aW9uICovXG4gIGNvb2tpZUJhbm5lcj86IENvb2tpZUJhbm5lckNvbmZpZ3VyYXRpb247XG4gIC8qKiBDb29raWUgcHJlZmVyZW5jZXMgY29uZmlndXJhdGlvbi4gSGVyZSB5b3UgY2FuIGVuYWJsZSBvciBkaXNhYmxlIGNvb2tpZSBjYXRlZ29yaWVzICovXG4gIGNvb2tpZVByZWZlcmVuY2VzPzogQ29va2llUHJlZmVyZW5jZXNDb25maWd1cmF0aW9uO1xuICAvKiogQSBrZXkgZm9yIHRoZSBwcm9kdWN0IGV4cGVyaWVuY2Ugc29mdHdhcmUgR2FpbnNpZ2h0LiAqL1xuICBnYWluc2lnaHRLZXk/OiBzdHJpbmc7XG4gIC8qKiBEaXNhYmxlIHVzZXIgdHJhY2tpbmcgKi9cbiAgZGlzYWJsZVRyYWNraW5nPzogYm9vbGVhbjtcbiAgLyoqIE5nTW9kdWxlIGV4cG9ydCBmb3IgcGx1Z2lucy4gKi9cbiAgZXhwb3J0cz86IFBsdWdpbnNFeHBvcnRzW107XG4gIC8qKiBMaXN0IG9mIGltcG9ydGVkIHJlbW90ZSBwbHVnaW5zLiAqL1xuICByZW1vdGVzPzogUmVtb3RlUGx1Z2lucztcbiAgLyoqIFRoZSBwYWNrYWdlIHNvdXJjZSBhIGFwcGxpY2F0aW9uIG9yaWdpbnMgZnJvbSBhcyBJQXBwbGljYXRpb24gb3Igc2ltcGx5IHRoZSBpZCBvZiB0aGUgc291cmNlICovXG4gIHNvdXJjZT86IHN0cmluZyB8IG51bWJlciB8IElBcHBsaWNhdGlvbjtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgYXNzZXRzIHRvIGNvcHkgdG8gdGhlIGJ1aWxkIG91dHB1dC5cbiAgICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS93ZWJwYWNrLWNvbnRyaWIvY29weS13ZWJwYWNrLXBsdWdpbiBmb3IgbW9yZSBpbmZvcm1hdGlvblxuICAgKiBhYm91dCB0aGUgcGF0dGVybnMgdG8gYWRkIGhlcmUuXG4gICAqL1xuICBjb3B5PzogW107XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gZW5hYmxlIG9yIGRpc2FibGUgY29udGV4dCBoZWxwLCBvciB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBiYXNlIFVSTCB1c2VkIHRvIGxvYWQgaXRzIGNvbnRlbnRzLlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgY29udGV4dCBoZWxwIHVzZXMgdGhlIHNhbWUgYmFzZSBVUkwgYXMgZGVmaW5lZCBpbiB0aGUgYGRvY3NCYXNlVXJsYCBvcHRpb25cbiAgICogKGlmIHRoaXMgb3B0aW9uIGlzIHVuZGVmaW5lZCwgdGhlbiB0aGUgZm9sbG93aW5nIHZhbHVlIHdpbGwgYmUgdXNlZDogYGh0dHBzOi8vd3d3LmN1bXVsb2NpdHkuY29tL2d1aWRlcy97e3ZlcnNpb259fWApLlxuICAgKiBBbHRlcm5hdGl2ZWx5LCBpZiBhIHN0cmluZyBpcyBwcm92aWRlZCBoZXJlLCBpdCdsbCBiZSB1c2VkIGFzIHRoZSBiYXNlIFVSTFxuICAgKiBhbmQgYW55IGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlciB3aWxsIGJlIHJlcGxhY2VkIHdpdGggdGhlIHJlbGV2YW50IGRvY3MgdmVyc2lvbi5cbiAgICovXG4gIGNvbnRleHRIZWxwPzogYm9vbGVhbiB8IHN0cmluZztcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQsIGNvY2twaXQgYW5kIGRldmljZW1hbmFnZW1lbnQgdXNlIHRoZSBvbmx5Um9vdHMgcXVlcnkgdG8gcmVzb2x2ZSByb290IG5vZGVzLiBUaGlzXG4gICAqIGNvdWxkIGxlYWQgdG8gcGVyZm9ybWFuY2UgaXNzdWVzLCBpZiBhIGN1c3RvbWVyIGhhcyBhIGxvdCBvZiByb290IG5vZGVzLiBUaGVyZWZvcmUgeW91IGNhbiBkaXNhYmxlXG4gICAqIHRoZSB1c2Ugb2YgdGhpcyBxdWVyeSB3aXRoIHRoaXMgZmxhZy5cbiAgICovXG4gIGRpc2FibGVPbmx5Um9vdHNRdWVyeT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gZm9yY2Ugc2hvd2luZyB0aGUgc2V0dXAgd2l6YXJkLlxuICAgKi9cbiAgZm9yY2VTZXR1cD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGFwcGxpY2F0aW9uIG5lZWRzIHRvIHNob3cgdGhlIHNldHVwIHdpemFyZC5cbiAgICovXG4gIGlzU2V0dXA/OiBib29sZWFuO1xuICAvKipcbiAgICogQnkgZGVmYXVsdCBhIFdlYlNESyBhcHAgcmVxdWlyZXMgdGhlIHVzZXIgdG8gYmUgbG9nZ2VkIGluLlxuICAgKiBJbiBjYXNlIHlvdSB3b3VsZCBsaWtlIHRvIGRldmVsb3AganVzdCBhIHN0YXRpYyBhcHBsaWNhdGlvbiwgdGhhdCBkb2VzIG5vdCByZXF1aXJlIGFueSBraW5kIG9mIGFjY2VzcyB0byB0aGUgYmFja2VuZCxcbiAgICogeW91IGNhbiB1c2UgdGhpcyBmbGFnIHRvIGRpc2FibGUgdGhlIGxvZ2luIHNjcmVlbi5cbiAgICogTk9URTogbm90IGFsbCBXZWJTREsgY29tcG9uZW50cyBzdXBwb3J0IHRoaXMsIHNvbWUgbWlnaHQgcmVxdWlyZSB0aGUgdXNlciB0byBiZSBsb2dnZWQgaW4gYW5kIHdvbid0IHdvcmsuXG4gICAqL1xuICBub0xvZ2luPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBvcHQgb3V0IG9mIHN1cHBvcnRpbmcvbG9hZGluZyBwbHVnaW5zIGZvciB0aGlzIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgbm9QbHVnaW5zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBvcHQgb3V0IG9mIHRoZSB2ZXJzaW9uIHdhcm5pbmcgd2hpY2ggaXMgc2hvd24gaW4gdGhlIGRldiB0b29scy5cbiAgICovXG4gIG5vVmVyc2lvbldhcm5pbmc/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNldCB0aGUgbWFwIGxheWVycy4gSWYgbm90IHNldCwgZGVmYXVsdHMgdG8gb3BlbiBzdHJlZXQgbWFwIGxheWVyLlxuICAgKi9cbiAgbWFwTGF5ZXJzPzogTWFwVGlsZUxheWVyW107XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gc2V0IGRlZmF1bHQgY29uZmlndXJhdGlvbnMgb24gdGhlIG1hcHMuXG4gICAqL1xuICBtYXBDb25maWc/OiBNYXBEZWZhdWx0Q29uZmlnO1xuICBtYXBOb21pbmF0aW1Vcmw/OiBzdHJpbmc7XG4gIHJvb3RUYWdOYW1lPzogc3RyaW5nO1xuICB2ZXJzaW9uaW5nTWF0cml4PzogVmVyc2lvbmluZ01hdHJpeDtcbn1cbiJdfQ==
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBwbGljYXRpb25PcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9jb21tb24vQXBwbGljYXRpb25PcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0NBb005QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElBcHBsaWNhdGlvbiwgVmVyc2lvbmluZ01hdHJpeCB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uT3B0aW9ucyBhcyBEZXZLaXRBcHBsaWNhdGlvbk9wdGlvbnMsXG4gIEJyYW5kaW5nQ3NzVmFycyxcbiAgTGFuZ3VhZ2VzLFxuICBJMThuRXh0cmEsXG4gIERvY3MsXG4gIEljb24sXG4gIExvZ2luRXh0cmFMaW5rLFxuICBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uLFxuICBDb29raWVQcmVmZXJlbmNlc0NvbmZpZ3VyYXRpb24sXG4gIFJlbW90ZVBsdWdpbnMsXG4gIE1hcFRpbGVMYXllcixcbiAgTWFwRGVmYXVsdENvbmZpZyxcbiAgUGx1Z2luc0V4cG9ydHNcbn0gZnJvbSAnQGM4eS9kZXZraXQvb3B0aW9ucyc7XG5cbi8qXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVdBUk5JTkctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFRoaXMgZmlsZSBpbXBsZW1lbnRzIGFsbCBwcm9wZXJ0aWVzIG9mIHRoZSBvcmlnaW4gRGV2S2l0QXBwbGljYXRpb25PcHRpb25zXG4gKiAqKk5FVkVSKiogY2hhbmdlIHRoaXMgZmlsZSBkcmllY3RseS4gSW5zdGVhZCBkbzpcbiAqIDEuIG9wZW4gcGFja2FnZXMvZGV2a2l0L3NyYy93ZWJwYWNrL0FwcGxpY2F0aW9uT3B0aW9ucy50cyBhbmQgYWRkIHlvdXIgcHJvcGVydHkgdGhlcmVcbiAqIDIuIGNoZWNrIGluIHRoaXMgZmlsZSBpZiBhbGwgb3B0aW9ucyBhcmUgaW1wbGVtZW50ZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbk9wdGlvbnMgaW1wbGVtZW50cyBEZXZLaXRBcHBsaWNhdGlvbk9wdGlvbnMge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNvbnRleHRQYXRoOiBzdHJpbmc7XG4gIGtleTogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHdlYlNka1ZlcnNpb24/OiBzdHJpbmc7XG4gIC8qKiBTZXQgdG8gYHRydWVgIGlmIHRoZSBhcHBsaWNhdGlvbiBpcyBoeWJyaWQgYW5kIHVzZXMgQW5ndWxhciBhbmQgQW5ndWxhckpTIHNpbXVsdGFuZW91c2x5LiAqL1xuICB1cGdyYWRlPzogYm9vbGVhbjtcbiAgLyoqIFBhdGggdG8gdGhlIGJyYW5kaW5nIGVudHJ5IGZpbGUuIChTZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBhbnkgc3R5bGluZy4gWW91IGNhbiBoYW5kbGUgdGhlIHN0eWxpbmcgdGhlbiBvbiB5b3VyIG93biBlLmcuIGluIGFuIGFuZ3VsYXIuanNvbiBmaWxlIHVzaW5nIG5nLWNsaSkgKi9cbiAgYnJhbmRpbmdFbnRyeT86IHN0cmluZyB8IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRzY2NuZmlnLmpzb24gZmlsZSBpZiBUeXBlU2NyaXB0IGlzIHVzZWQgKGRlZmF1bHQ6IC4vdHNjb25maWcuanNvbikuICovXG4gIHRzQ29uZmlnUGF0aD86IHN0cmluZztcbiAgLyoqIEVudHJ5IG1vZHVsZSBmb3IgQW5ndWxhciBjb21waWxlciAob25seSB1c2VkIHdpdGggbGF6eSBsb2FkZWQgcm91dGVzKSwgZS5nLiBgJ2FwcC5tb2R1bGUudHMjQXBwTW9kdWxlJ2AuICovXG4gIGVudHJ5TW9kdWxlPzogc3RyaW5nO1xuICAvKiogUGF0aCB0byBjdXN0b20gaW5kZXguaHRtbCAob3RoZXJ3aXNlIGRlZmF1bHQgb25lIHdpbGwgYmUgdXNlZCkuICovXG4gIGluZGV4VGVtcGxhdGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdG8gZHluYW1pY2FsbHkgZmV0Y2hlZCBvcHRpb25zLiAqL1xuICBkeW5hbWljT3B0aW9uc1VybD86IHN0cmluZztcbiAgLyoqIFVSTCB0byBmYXZpY29uLiAqL1xuICBmYXZpY29uVXJsPzogc3RyaW5nO1xuICAvKiogVVJMIHRvICouY3NzIGZpbGUgd2hpY2ggd2lsbCByZXBsYWNlIGRlZmF1bHQgYnJhbmRpbmcuICovXG4gIGJyYW5kaW5nVXJsPzogc3RyaW5nO1xuICAvKiogT2JqZWN0IHdpdGggcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgY29udmVydGVkIHRvIENTUyBjdXN0b20gdmFyaWFibGVzLiAqL1xuICBicmFuZGluZ0Nzc1ZhcnM/OiBCcmFuZGluZ0Nzc1ZhcnM7XG4gIC8qKlxuICAgKiBBbGxvd3MgZm9yIGFkZGluZyBvciBvdmVycmlkaW5nIGxhbmd1YWdlcyBhdmFpbGFibGUgaW4gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgYW5kIGl0cyB2YWx1ZXMgYXJlIG9iamVjdHMgd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gICAqXG4gICAqIC0gYG5hbWVgOiBFbmdsaXNoIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGBuYXRpdmVOYW1lYDogbmF0aXZlIG5hbWUgb2YgdGhlIGxhbmd1YWdlLFxuICAgKiAtIGB1cmxgOiBmdWxsIFVSTCB0byBKU09OIGZpbGUgd2l0aCBjb21waWxlZCB0cmFuc2xhdGlvbnM7XG4gICAqICAgIGlmIG5vdCBkZWZpbmVkLCB0cmFuc2xhdGlvbnMgd2lsbCBiZSBsb2FkZWQgZnJvbSBgJHtsb2NhbGVQYXRofS8ke2xhbmdDb2RlfS5qc29uYC5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICogYGBganNvblxuICAgKiBcImxhbmd1YWdlc1wiOiB7XG4gICAqICAgXCJkZVwiOiB7XG4gICAqICAgICBcIm5hbWVcIjogXCJHZXJtYW5cIixcbiAgICogICAgIFwibmF0aXZlTmFtZVwiOiBcIkRldXRzY2hcIixcbiAgICogICAgIFwidXJsXCI6IFwiL2FwcHMvcHVibGljL3VpLWFzc2V0cy9kZS5qc29uXCJcbiAgICogICB9XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBsYW5ndWFnZXM/OiBMYW5ndWFnZXM7XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gYWRkIGN1c3RvbSB0cmFuc2xhdGlvbnMuIEl0IGlzIGFuIG9wdGlvbmFsIHByb3BlcnR5LlxuICAgKlxuICAgKiBJdHMga2V5cyBhcmUgbGFuZ3VhZ2UgY29kZXMgKGh0dHBzOi8vY3VtdWxvY2l0eS5jb20vZ3VpZGVzL3VzZXJzLWd1aWRlL2dldHRpbmctc3RhcnRlZC8jYS1uYW1lLWxhbmd1YWdlcy1hLWF2YWlsYWJsZS1sYW5ndWFnZXMpXG4gICAqIGFuZCBpdHMgdmFsdWVzIGFyZSBvYmplY3RzIHdpdGgga2V5LXZhbHVlIHBhaXJzLCB3aGVyZSB0aGUga2V5IGlzIHRoZSBvcmlnaW5hbCBzdHJpbmcgaW4gRW5nbGlzaCBhbmQgdGhlIHZhbHVlIC0gaXRzIHRyYW5zbGF0aW9uLlxuICAgKlxuICAgKiAtIGBIb21lYDogXCJTdGFydHNlaXRlXCJcbiAgICpcbiAgICogRm9yIGV4YW1wbGUgeW91IGNhbiBhZGQgdGhlIHRyYW5zbGF0aW9uIG9mIHlvdXIgY3VzdG9tIGNvb2tpZSBiYW5uZXIgY29uZmlndXJlZCBpbiB0aGUgYnJhbmRpbmcgc2V0dGluZ3M6XG4gICAqIGBgYGpzb25cbiAgICogXCJpMThuRXh0cmFcIjoge1xuICAgKiAgIFwiZGVcIjoge1xuICAgKiAgICAgXCJBYm91dCBjb29raWVzIG9uIEN1bXVsb2NpdHkgSW9UXCI6IFwiSW5mb3JtYXRpb25lbiB6dSBDb29raWVzIGluIEN1bXVsb2NpdHkgSW9UXCIsXG4gICAqICAgICBcIkNsaWNrIEFncmVlIGFuZCBQcm9jZWVkIHRvIGFjY2VwdCBjb29raWVzIGFuZCBnbyBkaXJlY3RseSB0byB0aGUgcGxhdGZvcm0gb3IgY2xpY2sgb24gUHJpdmFjeSBQb2xpY3kgdG8gc2VlIGRldGFpbGVkIGRlc2NyaXB0aW9ucyBvZiB0aGUgdXNlZCBjb29raWVzLlwiOiBcIktsaWNrZW4gU2llIGF1ZiBadXN0aW1tZW4gdW5kIGZvcnRmYWhyZW4sIHVtIENvb2tpZXMgenUgYWt6ZXB0aWVyZW4gdW5kIGRpcmVrdCB6dXIgUGxhdHRmb3JtIHp1IGdlbGFuZ2VuLCBvZGVyIGtsaWNrZW4gU2llIGF1ZiBEYXRlbnNjaHV0enJpY2h0bGluaWUsIHVtIGRldGFpbGxpZXJ0ZSBCZXNjaHJlaWJ1bmdlbiBkZXIgdmVyd2VuZGV0ZW4gQ29va2llcyBhbnp1emVpZ2VuLlwiXG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgaTE4bkV4dHJhPzogSTE4bkV4dHJhO1xuICAvKiogUGF0aCB0byB0aGUgZm9sZGVyIGZyb20gd2hpY2ggKi5wbyBmaWxlcyB3aWxsIGJlIGxvYWRlZC4gKi9cbiAgbG9jYWxlUGF0aD86IHN0cmluZztcbiAgLyoqIEFycmF5IG9mIFVSTHMgdG8gYWRkaXRpb25hbCAqLmNzcyBmaWxlcyB0byBiZSBsb2FkZWQgYXQgcnVudGltZS4gKi9cbiAgZXh0cmFDc3NVcmxzPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uIGxpbmtzIHNldHRpbmdzLiAqL1xuICBkb2NzPzogRG9jcztcbiAgLyoqIEFwcGxpY2F0aW9uIGljb24gdG8gYmUgZGlzcGxheWVkIGluIGFwcCBzd2l0Y2hlciBhbmQgaGVhZGVyIGJhci4gKi9cbiAgaWNvbj86IEljb247XG5cbiAgLy8gVGhlc2UgYXJlIHRoZSBvbGQgb3B0aW9uc1xuICAvKiogSGlkZSBhcHBsaWNhdGlvbiBpbiBhcHAgc3dpdGNoZXIgKHNhdmVkIHRvIHRoZSBzZXJ2ZXIpLiAqL1xuICBub0FwcFN3aXRjaGVyPzogYm9vbGVhbjtcbiAgLyoqIEhUTUwgcGFnZSB0aXRsZS4gKi9cbiAgZ2xvYmFsVGl0bGU/OiBzdHJpbmc7XG4gIC8qKiBIaWRlIFwicG93ZXJlZCBieVwiIGFuZCB2ZXJzaW9uIGluZm8gYXQgdGhlIGJvdHRvbSBvZiB0aGUgbmF2aWdhdG9yIGFuZCBpbiB0aGUgcmlnaHQgZHJhd2VyLiAqL1xuICBoaWRlUG93ZXJlZD86IGJvb2xlYW47XG4gIC8qKiBIaWRlcyB0aGUgXCJQbGF0Zm9ybSBpbmZvcm1hdGlvblwiIGluIHRoZSByaWdodCBkcmF3ZXIsIHdpbGwgb3ZlcnJ1bGUgdGhlIFwiaGlkZVBvd2VyZWRcIiBvcHRpb24gKi9cbiAgaGlkZVBsYXRmb3JtSW5mb3JtYXRpb24/OiBib29sZWFuO1xuICAvKiogVVJMIHRvIHN1cHBvcnQgcGFnZSAoc2V0IHRvIGBmYWxzZWAgdG8gaGlkZSB0aGUgbGluaykuICovXG4gIHN1cHBvcnRVcmw/OiBib29sZWFuIHwgc3RyaW5nO1xuICAvKipcbiAgICogUmVwbGFjZW1lbnQgc3RyaW5nIGZvciBgdXNlcmAgZmllbGQgaW4gYXVkaXQgbG9ncyBmb3IgYWN0aW9ucyBwZXJmb3JtZWQgYnkgYSBzdXBwb3J0IHVzZXJcbiAgICogKGF2YWlsYWJsZSBwbGFjZWhvbGRlcnM6IGB7e3N1cHBvcnRfdXNlcn19YCwgYHt7c3VwcG9ydGVkX3VzZXJ9fWApLlxuICAgKi9cbiAgc3VwcG9ydFVzZXJTdHJpbmc/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEaXNhYmxlcyByZWFsdGltZSB1cGRhdGVzIG9uIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRSZWFsdGltZURpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBhZGp1c3QgdGhlIGRlZmF1bHQgcGFnZXNpemUgb2YgMTAwIGl0ZW1zIG9mIHRoZSBtYXAgd2lkZ2V0IGFuZCBtYXBzIGluIGdlbmVyYWwuXG4gICAqL1xuICBtYXBXaWRnZXRQYWdlU2l6ZT86IG51bWJlcjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBoaWRlIHRoZSBoaW50IHRoYXQgdGhlcmUgYXJlIG1vcmUgZGV2aWNlcyB3aXRoIGdlbyBjb29yZGluYXRlcyB0aGVuIGRpc3BsYXllZCBvbiB0aGUgbWFwIHdpZGdldCBhbmQgbWFwcyBpbiBnZW5lcmFsLlxuICAgKi9cbiAgbWFwV2lkZ2V0SGlkZU1heERldmljZU9uTWFwSGludD86IGJvb2xlYW47XG4gIC8qKiBFbmFibGUgb3IgZGlzYWJsZSB0aGUgcmlnaHQgZHJhd2VyLiAqL1xuICByaWdodERyYXdlcj86IGJvb2xlYW47XG4gIC8qKiBFbmFibGUgb3IgZGlzYWJsZSBicmVhZGNydW1icyBpbiB0aGUgaGVhZGVyIGZvciBncm91cHMgYW5kIGRldmljZXMgKGRlZmF1bHQ6IGZhbHNlKS4gKi9cbiAgYnJlYWRjcnVtYnM/OiBib29sZWFuO1xuICAvKiogQ29sbGFwc2UgbmF2aWdhdG9yIG9uIGluaXRpYWwgbG9hZC4gKi9cbiAgaGlkZU5hdmlnYXRvcj86IGJvb2xlYW47XG4gIC8qKiBTaG93IHRhYnMgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuICovXG4gIHRhYnNIb3Jpem9udGFsPzogYm9vbGVhbjtcbiAgLyoqIEFkZGl0aW9uYWwgbGluayhzKSB0byBkaXNwbGF5IG9uIGxvZ2luIHNjcmVlbi4gKi9cbiAgbG9naW5FeHRyYUxpbms/OiBMb2dpbkV4dHJhTGluayB8IExvZ2luRXh0cmFMaW5rW107XG4gIC8qKiBFbmFibGUgb3IgZGlzYWJsZSBzdG9yYWdlIGxpbWl0YXRpb24gZmVhdHVyZS4gKi9cbiAgc3RvcmFnZUxpbWl0YXRpb25GZWF0dXJlRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBOYW1lIG9mIGNvbXBhbnkgaGFuZGxpbmcgc3VwcG9ydCByZXF1ZXN0cyBmcm9tIGFwcCB1c2VycyAoZGlzcGxheWVkIGluIG5vdGlmaWNhdGlvbiBtZXNzYWdlKS4gKi9cbiAgY29tcGFueU5hbWU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgdGVtcGxhdGUgZm9yIGRvY3VtZW50YXRpb24gbGlua3MgKGRlZmF1bHQ6IGAnJHtkb2NzQmFzZVVybH0ke3BhcnRpYWxVcmx9J2ApLiAqL1xuICBndWlkZUhyZWZUZW1wbGF0ZT86IHN0cmluZztcbiAgLyoqIEJhc2UgVVJMIGZvciBkb2N1bWVudGF0aW9uIGxpbmtzIChpbmNsdWRlIGB7eyB2ZXJzaW9uIH19YCBwbGFjZWhvbGRlciwgaWYgeW91IHdhbnQgdmVyc2lvbmVkIGxpbmtzKS4gKi9cbiAgZG9jc0Jhc2VVcmw/OiBzdHJpbmc7XG4gIC8qKiBDU1Agc3RyaW5nIHRvIGJlIGFwcGxpZWQgdG8gYGluZGV4Lmh0bWxgIGJ5IHJlcGxhY2luZyBkZWZhdWx0IHZhbHVlcy4gKi9cbiAgY29udGVudFNlY3VyaXR5UG9saWN5Pzogc3RyaW5nO1xuICAvKiogRW5hYmxlcyBjbG91ZCBzZW5zb3Igd2l6YXJkICovXG4gIHNlbnNvclBob25lPzogYm9vbGVhbjtcbiAgLyoqIFNob3cgb3IgaGlkZSBhIG5ld3NsZXR0ZXIgc3Vic2NyaXB0aW9uIGNoZWNrYm94IGluIGVkaXQgdXNlciBtb2RhbC4gKi9cbiAgbmV3c2xldHRlcj86IGJvb2xlYW47XG4gIC8qKiBQYXRoIHRvIHRoZSByb290IG5vZGVfbW9kdWxlcyBkaXIgKHVzZWZ1bCB3aGVuIHdvcmtpbmcgaW4gbW9ub3JlcG8gc2V0dXAsIGUuZy4geWFybiB3b3Jrc3BhY2VzKS4gKi9cbiAgcm9vdE5vZGVNb2R1bGVzUGF0aD86IHN0cmluZztcbiAgLyoqIENvb2tpZSBCYW5uZXIgY29uZmlndXJhdGlvbiAqL1xuICBjb29raWVCYW5uZXI/OiBDb29raWVCYW5uZXJDb25maWd1cmF0aW9uO1xuICAvKiogQ29va2llIHByZWZlcmVuY2VzIGNvbmZpZ3VyYXRpb24uIEhlcmUgeW91IGNhbiBlbmFibGUgb3IgZGlzYWJsZSBjb29raWUgY2F0ZWdvcmllcyAqL1xuICBjb29raWVQcmVmZXJlbmNlcz86IENvb2tpZVByZWZlcmVuY2VzQ29uZmlndXJhdGlvbjtcbiAgLyoqIEEga2V5IGZvciB0aGUgcHJvZHVjdCBleHBlcmllbmNlIHNvZnR3YXJlIEdhaW5zaWdodC4gKi9cbiAgZ2FpbnNpZ2h0S2V5Pzogc3RyaW5nO1xuICAvKiogRGlzYWJsZSB1c2VyIHRyYWNraW5nICovXG4gIGRpc2FibGVUcmFja2luZz86IGJvb2xlYW47XG4gIC8qKiBOZ01vZHVsZSBleHBvcnQgZm9yIHBsdWdpbnMuICovXG4gIGV4cG9ydHM/OiBQbHVnaW5zRXhwb3J0c1tdO1xuICAvKiogTGlzdCBvZiBpbXBvcnRlZCByZW1vdGUgcGx1Z2lucy4gKi9cbiAgcmVtb3Rlcz86IFJlbW90ZVBsdWdpbnM7XG4gIC8qKiBUaGUgcGFja2FnZSBzb3VyY2UgYSBhcHBsaWNhdGlvbiBvcmlnaW5zIGZyb20gYXMgSUFwcGxpY2F0aW9uIG9yIHNpbXBseSB0aGUgaWQgb2YgdGhlIHNvdXJjZSAqL1xuICBzb3VyY2U/OiBzdHJpbmcgfCBudW1iZXIgfCBJQXBwbGljYXRpb247XG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIGFzc2V0cyB0byBjb3B5IHRvIHRoZSBidWlsZCBvdXRwdXQuXG4gICAqIFNlZSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay1jb250cmliL2NvcHktd2VicGFjay1wbHVnaW4gZm9yIG1vcmUgaW5mb3JtYXRpb25cbiAgICogYWJvdXQgdGhlIHBhdHRlcm5zIHRvIGFkZCBoZXJlLlxuICAgKi9cbiAgY29weT86IFtdO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGVuYWJsZSBvciBkaXNhYmxlIGNvbnRleHQgaGVscCwgb3IgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmFzZSBVUkwgdXNlZCB0byBsb2FkIGl0cyBjb250ZW50cy5cbiAgICogQnkgZGVmYXVsdCwgdGhlIGNvbnRleHQgaGVscCB1c2VzIHRoZSBzYW1lIGJhc2UgVVJMIGFzIGRlZmluZWQgaW4gdGhlIGBkb2NzQmFzZVVybGAgb3B0aW9uXG4gICAqIChpZiB0aGlzIG9wdGlvbiBpcyB1bmRlZmluZWQsIHRoZW4gdGhlIGZvbGxvd2luZyB2YWx1ZSB3aWxsIGJlIHVzZWQ6IGBodHRwczovL3d3dy5jdW11bG9jaXR5LmNvbS9ndWlkZXMve3t2ZXJzaW9ufX1gKS5cbiAgICogQWx0ZXJuYXRpdmVseSwgaWYgYSBzdHJpbmcgaXMgcHJvdmlkZWQgaGVyZSwgaXQnbGwgYmUgdXNlZCBhcyB0aGUgYmFzZSBVUkxcbiAgICogYW5kIGFueSBge3sgdmVyc2lvbiB9fWAgcGxhY2Vob2xkZXIgd2lsbCBiZSByZXBsYWNlZCB3aXRoIHRoZSByZWxldmFudCBkb2NzIHZlcnNpb24uXG4gICAqL1xuICBjb250ZXh0SGVscD86IGJvb2xlYW4gfCBzdHJpbmc7XG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBjb2NrcGl0IGFuZCBkZXZpY2VtYW5hZ2VtZW50IHVzZSB0aGUgb25seVJvb3RzIHF1ZXJ5IHRvIHJlc29sdmUgcm9vdCBub2Rlcy4gVGhpc1xuICAgKiBjb3VsZCBsZWFkIHRvIHBlcmZvcm1hbmNlIGlzc3VlcywgaWYgYSBjdXN0b21lciBoYXMgYSBsb3Qgb2Ygcm9vdCBub2Rlcy4gVGhlcmVmb3JlIHlvdSBjYW4gZGlzYWJsZVxuICAgKiB0aGUgdXNlIG9mIHRoaXMgcXVlcnkgd2l0aCB0aGlzIGZsYWcuXG4gICAqL1xuICBkaXNhYmxlT25seVJvb3RzUXVlcnk/OiBib29sZWFuO1xuICAvKipcbiAgICogQWxsb3dzIHRvIGZvcmNlIHNob3dpbmcgdGhlIHNldHVwIHdpemFyZC5cbiAgICovXG4gIGZvcmNlU2V0dXA/OiBib29sZWFuO1xuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBhcHBsaWNhdGlvbiBuZWVkcyB0byBzaG93IHRoZSBzZXR1cCB3aXphcmQuXG4gICAqL1xuICBpc1NldHVwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgYSBXZWJTREsgYXBwIHJlcXVpcmVzIHRoZSB1c2VyIHRvIGJlIGxvZ2dlZCBpbi5cbiAgICogSW4gY2FzZSB5b3Ugd291bGQgbGlrZSB0byBkZXZlbG9wIGp1c3QgYSBzdGF0aWMgYXBwbGljYXRpb24sIHRoYXQgZG9lcyBub3QgcmVxdWlyZSBhbnkga2luZCBvZiBhY2Nlc3MgdG8gdGhlIGJhY2tlbmQsXG4gICAqIHlvdSBjYW4gdXNlIHRoaXMgZmxhZyB0byBkaXNhYmxlIHRoZSBsb2dpbiBzY3JlZW4uXG4gICAqIE5PVEU6IG5vdCBhbGwgV2ViU0RLIGNvbXBvbmVudHMgc3VwcG9ydCB0aGlzLCBzb21lIG1pZ2h0IHJlcXVpcmUgdGhlIHVzZXIgdG8gYmUgbG9nZ2VkIGluIGFuZCB3b24ndCB3b3JrLlxuICAgKi9cbiAgbm9Mb2dpbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gb3B0IG91dCBvZiBzdXBwb3J0aW5nL2xvYWRpbmcgcGx1Z2lucyBmb3IgdGhpcyBhcHBsaWNhdGlvbi5cbiAgICovXG4gIG5vUGx1Z2lucz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gb3B0IG91dCBvZiB0aGUgdmVyc2lvbiB3YXJuaW5nIHdoaWNoIGlzIHNob3duIGluIHRoZSBkZXYgdG9vbHMuXG4gICAqL1xuICBub1ZlcnNpb25XYXJuaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEFsbG93cyB0byBzZXQgdGhlIG1hcCBsYXllcnMuIElmIG5vdCBzZXQsIGRlZmF1bHRzIHRvIG9wZW4gc3RyZWV0IG1hcCBsYXllci5cbiAgICovXG4gIG1hcExheWVycz86IE1hcFRpbGVMYXllcltdO1xuICAvKipcbiAgICogQWxsb3dzIHRvIHNldCBkZWZhdWx0IGNvbmZpZ3VyYXRpb25zIG9uIHRoZSBtYXBzLlxuICAgKi9cbiAgbWFwQ29uZmlnPzogTWFwRGVmYXVsdENvbmZpZztcbiAgbWFwTm9taW5hdGltVXJsPzogc3RyaW5nO1xuICByb290VGFnTmFtZT86IHN0cmluZztcbiAgdmVyc2lvbmluZ01hdHJpeD86IFZlcnNpb25pbmdNYXRyaXg7XG59XG4iXX0=
@@ -1,28 +1,25 @@
1
1
  import { Component, Output, Input, EventEmitter } from '@angular/core';
2
2
  import { LoginService } from './login.service';
3
3
  import { AlertService } from '../alert/alert.service';
4
- import { AppStateService } from '../common/ui-state.service';
5
4
  import { gettext } from '../i18n/gettext';
6
5
  import { LoginViews } from './login.model';
7
6
  import { CredentialsFromQueryParamsService } from './credentials-from-query-params.service';
8
7
  import * as i0 from "@angular/core";
9
8
  import * as i1 from "./login.service";
10
9
  import * as i2 from "../alert/alert.service";
11
- import * as i3 from "../common/ui-state.service";
12
- import * as i4 from "./credentials-from-query-params.service";
13
- import * as i5 from "@angular/forms";
14
- import * as i6 from "../common/icon.directive";
15
- import * as i7 from "../i18n/c8y-translate.directive";
16
- import * as i8 from "@angular/common";
17
- import * as i9 from "../authentication/password-input.component";
18
- import * as i10 from "../forms/form-group.component";
19
- import * as i11 from "../forms/required-input-placeholder.directive";
20
- import * as i12 from "../i18n/c8y-translate.pipe";
10
+ import * as i3 from "./credentials-from-query-params.service";
11
+ import * as i4 from "@angular/forms";
12
+ import * as i5 from "../common/icon.directive";
13
+ import * as i6 from "../i18n/c8y-translate.directive";
14
+ import * as i7 from "@angular/common";
15
+ import * as i8 from "../authentication/password-input.component";
16
+ import * as i9 from "../forms/form-group.component";
17
+ import * as i10 from "../forms/required-input-placeholder.directive";
18
+ import * as i11 from "../i18n/c8y-translate.pipe";
21
19
  export class CredentialsComponent {
22
- constructor(loginService, alert, ui, credentialsFromQueryParamsService) {
20
+ constructor(loginService, alert, credentialsFromQueryParamsService) {
23
21
  this.loginService = loginService;
24
22
  this.alert = alert;
25
- this.ui = ui;
26
23
  this.credentialsFromQueryParamsService = credentialsFromQueryParamsService;
27
24
  this.onChangeView = new EventEmitter();
28
25
  this.loginViewParams = {
@@ -113,15 +110,15 @@ export class CredentialsComponent {
113
110
  this.onChangeView.emit({ view: LoginViews.ProvidePhoneNumber, credentials: this.model });
114
111
  this.alert.warning(gettext('Two-factor authentication has been turned on for this account. Provide your phone number above to save it in your user profile and start receiving verification codes via SMS.'));
115
112
  }
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CredentialsComponent, deps: [{ token: i1.LoginService }, { token: i2.AlertService }, { token: i3.AppStateService }, { token: i4.CredentialsFromQueryParamsService }], target: i0.ɵɵFactoryTarget.Component }); }
117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CredentialsComponent, selector: "c8y-credentials", inputs: { loginViewParams: "loginViewParams" }, outputs: { onChangeView: "onChangeView" }, ngImport: i0, template: "<div\n id=\"oauth\"\n *ngIf=\"oauthOptions.initRequest && oauthOptions.visibleOnLoginPage\"\n>\n <button\n class=\"btn btn-block btn-lg form-group\"\n title=\"{{ oauthOptions.buttonName | translate }}\"\n type=\"button\"\n (click)=\"redirectToOauth()\"\n >\n <i\n class=\"pull-left\"\n [c8yIcon]=\"'sign-in'\"\n ></i>\n {{ oauthOptions.buttonName | translate }}\n </button>\n</div>\n\n<form\n class=\"loginForm\"\n (ngSubmit)=\"login()\"\n #loginForm=\"ngForm\"\n *ngIf=\"showLoginForm\"\n novalidate\n>\n <span\n class=\"legend form-block center\"\n *ngIf=\"!(oauthOptions.initRequest && oauthOptions.visibleOnLoginPage); else orLegend\"\n translate\n >\n Login\n </span>\n\n <ng-template #orLegend>\n <div\n class=\"legend form-block center\"\n translate\n >\n or\n </div>\n </ng-template>\n\n <c8y-form-group\n class=\"tenantField\"\n id=\"tenantField\"\n *ngIf=\"showTenant\"\n >\n <label\n for=\"tenant\"\n translate\n >\n Tenant ID\n </label>\n <input\n class=\"form-control\"\n id=\"tenant\"\n placeholder=\"{{ 'e.g.' | translate }} t12345\"\n name=\"tenant\"\n type=\"text\"\n required\n [(ngModel)]=\"model.tenant\"\n #tenant=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n [readonly]=\"loginViewParams.disableTenant\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"user\"\n translate\n >\n Username\n </label>\n <input\n class=\"form-control\"\n id=\"user\"\n placeholder=\"{{ 'e.g. joe or joe.doe@example.com`LOCALIZE`' | translate }}\"\n name=\"user\"\n type=\"text\"\n required\n [(ngModel)]=\"model.user\"\n #user=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n />\n </c8y-form-group>\n <c8y-form-group>\n <label for=\"password\" translate>Password</label>\n <c8y-password-input\n [id]=\"'password'\"\n name=\"password\"\n required\n [(ngModel)]=\"model.password\"\n [autocomplete]=\"'off'\"\n ></c8y-password-input>\n </c8y-form-group>\n <div\n class=\"form-group\"\n *ngIf=\"showBasicAuth\"\n >\n <label\n class=\"c8y-checkbox\"\n title=\"{{ 'Remember me' | translate }}\"\n >\n <input\n name=\"remember\"\n type=\"checkbox\"\n [(ngModel)]=\"loginService.rememberMe\"\n />\n <span></span>\n <span>{{ 'Remember me' | translate }}</span>\n </label>\n </div>\n <button\n class=\"btn btn-primary btn-lg btn-block form-group\"\n title=\"{{ 'Log in' | translate }}\"\n type=\"submit\"\n [disabled]=\"!loginForm.form.valid || isLoading\"\n >\n {{ 'Log in' | translate }}\n </button>\n <div class=\"text-center m-t-8\">\n <button\n class=\"btn btn-link btn-sm\"\n title=\"{{ 'Forgot password?' | translate }}\"\n type=\"button\"\n (click)=\"onChangeView.emit({ view: LOGIN_VIEWS.RecoverPassword })\"\n >\n {{ 'Forgot password?' | translate }}\n </button>\n </div>\n <div\n class=\"text-center m-t-8\"\n *ngIf=\"!!(ui.state$ | async).loginExtraLink\"\n >\n <a\n class=\"small\"\n title=\"{{ (ui.state$ | async).loginExtraLink.label }}\"\n role=\"button\"\n [href]=\"(ui.state$ | async).loginExtraLink.url\"\n >\n {{ (ui.state$ | async).loginExtraLink.label }}\n </a>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i7.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i9.PasswordInputComponent, selector: "c8y-password-input", inputs: ["id", "autocomplete"] }, { kind: "component", type: i10.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i11.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "pipe", type: i12.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }] }); }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CredentialsComponent, deps: [{ token: i1.LoginService }, { token: i2.AlertService }, { token: i3.CredentialsFromQueryParamsService }], target: i0.ɵɵFactoryTarget.Component }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CredentialsComponent, selector: "c8y-credentials", inputs: { loginViewParams: "loginViewParams" }, outputs: { onChangeView: "onChangeView" }, ngImport: i0, template: "<div\n id=\"oauth\"\n *ngIf=\"oauthOptions.initRequest && oauthOptions.visibleOnLoginPage\"\n>\n <button\n class=\"btn btn-block btn-lg form-group\"\n title=\"{{ oauthOptions.buttonName | translate }}\"\n type=\"button\"\n (click)=\"redirectToOauth()\"\n >\n <i\n class=\"pull-left\"\n [c8yIcon]=\"'sign-in'\"\n ></i>\n {{ oauthOptions.buttonName | translate }}\n </button>\n</div>\n\n<form\n class=\"loginForm\"\n (ngSubmit)=\"login()\"\n #loginForm=\"ngForm\"\n *ngIf=\"showLoginForm\"\n novalidate\n>\n <span\n class=\"legend form-block center\"\n *ngIf=\"!(oauthOptions.initRequest && oauthOptions.visibleOnLoginPage); else orLegend\"\n translate\n >\n Login\n </span>\n\n <ng-template #orLegend>\n <div\n class=\"legend form-block center\"\n translate\n >\n or\n </div>\n </ng-template>\n\n <c8y-form-group\n class=\"tenantField\"\n id=\"tenantField\"\n *ngIf=\"showTenant\"\n >\n <label\n for=\"tenant\"\n translate\n >\n Tenant ID\n </label>\n <input\n class=\"form-control\"\n id=\"tenant\"\n placeholder=\"{{ 'e.g.' | translate }} t12345\"\n name=\"tenant\"\n type=\"text\"\n required\n [(ngModel)]=\"model.tenant\"\n #tenant=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n [readonly]=\"loginViewParams.disableTenant\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"user\"\n translate\n >\n Username\n </label>\n <input\n class=\"form-control\"\n id=\"user\"\n placeholder=\"{{ 'e.g. joe or joe.doe@example.com`LOCALIZE`' | translate }}\"\n name=\"user\"\n type=\"text\"\n required\n [(ngModel)]=\"model.user\"\n #user=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"password\"\n translate\n >\n Password\n </label>\n <c8y-password-input\n name=\"password\"\n required\n [id]=\"'password'\"\n [(ngModel)]=\"model.password\"\n [autocomplete]=\"'off'\"\n ></c8y-password-input>\n </c8y-form-group>\n <div\n class=\"form-group\"\n *ngIf=\"showBasicAuth\"\n >\n <label\n class=\"c8y-checkbox\"\n title=\"{{ 'Remember me' | translate }}\"\n >\n <input\n name=\"remember\"\n type=\"checkbox\"\n [(ngModel)]=\"loginService.rememberMe\"\n />\n <span></span>\n <span>{{ 'Remember me' | translate }}</span>\n </label>\n </div>\n <button\n class=\"btn btn-primary btn-lg btn-block form-group\"\n title=\"{{ 'Log in' | translate }}\"\n type=\"submit\"\n [disabled]=\"!loginForm.form.valid || isLoading\"\n >\n {{ 'Log in' | translate }}\n </button>\n <div class=\"text-center m-t-8\">\n <button\n class=\"btn btn-link btn-sm\"\n title=\"{{ 'Forgot password?' | translate }}\"\n type=\"button\"\n (click)=\"onChangeView.emit({ view: LOGIN_VIEWS.RecoverPassword })\"\n >\n {{ 'Forgot password?' | translate }}\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i6.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.PasswordInputComponent, selector: "c8y-password-input", inputs: ["id", "autocomplete"] }, { kind: "component", type: i9.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "directive", type: i10.RequiredInputPlaceholderDirective, selector: "input[required], input[formControlName]" }, { kind: "pipe", type: i11.C8yTranslatePipe, name: "translate" }] }); }
118
115
  }
119
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CredentialsComponent, decorators: [{
120
117
  type: Component,
121
- args: [{ selector: 'c8y-credentials', template: "<div\n id=\"oauth\"\n *ngIf=\"oauthOptions.initRequest && oauthOptions.visibleOnLoginPage\"\n>\n <button\n class=\"btn btn-block btn-lg form-group\"\n title=\"{{ oauthOptions.buttonName | translate }}\"\n type=\"button\"\n (click)=\"redirectToOauth()\"\n >\n <i\n class=\"pull-left\"\n [c8yIcon]=\"'sign-in'\"\n ></i>\n {{ oauthOptions.buttonName | translate }}\n </button>\n</div>\n\n<form\n class=\"loginForm\"\n (ngSubmit)=\"login()\"\n #loginForm=\"ngForm\"\n *ngIf=\"showLoginForm\"\n novalidate\n>\n <span\n class=\"legend form-block center\"\n *ngIf=\"!(oauthOptions.initRequest && oauthOptions.visibleOnLoginPage); else orLegend\"\n translate\n >\n Login\n </span>\n\n <ng-template #orLegend>\n <div\n class=\"legend form-block center\"\n translate\n >\n or\n </div>\n </ng-template>\n\n <c8y-form-group\n class=\"tenantField\"\n id=\"tenantField\"\n *ngIf=\"showTenant\"\n >\n <label\n for=\"tenant\"\n translate\n >\n Tenant ID\n </label>\n <input\n class=\"form-control\"\n id=\"tenant\"\n placeholder=\"{{ 'e.g.' | translate }} t12345\"\n name=\"tenant\"\n type=\"text\"\n required\n [(ngModel)]=\"model.tenant\"\n #tenant=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n [readonly]=\"loginViewParams.disableTenant\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"user\"\n translate\n >\n Username\n </label>\n <input\n class=\"form-control\"\n id=\"user\"\n placeholder=\"{{ 'e.g. joe or joe.doe@example.com`LOCALIZE`' | translate }}\"\n name=\"user\"\n type=\"text\"\n required\n [(ngModel)]=\"model.user\"\n #user=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n />\n </c8y-form-group>\n <c8y-form-group>\n <label for=\"password\" translate>Password</label>\n <c8y-password-input\n [id]=\"'password'\"\n name=\"password\"\n required\n [(ngModel)]=\"model.password\"\n [autocomplete]=\"'off'\"\n ></c8y-password-input>\n </c8y-form-group>\n <div\n class=\"form-group\"\n *ngIf=\"showBasicAuth\"\n >\n <label\n class=\"c8y-checkbox\"\n title=\"{{ 'Remember me' | translate }}\"\n >\n <input\n name=\"remember\"\n type=\"checkbox\"\n [(ngModel)]=\"loginService.rememberMe\"\n />\n <span></span>\n <span>{{ 'Remember me' | translate }}</span>\n </label>\n </div>\n <button\n class=\"btn btn-primary btn-lg btn-block form-group\"\n title=\"{{ 'Log in' | translate }}\"\n type=\"submit\"\n [disabled]=\"!loginForm.form.valid || isLoading\"\n >\n {{ 'Log in' | translate }}\n </button>\n <div class=\"text-center m-t-8\">\n <button\n class=\"btn btn-link btn-sm\"\n title=\"{{ 'Forgot password?' | translate }}\"\n type=\"button\"\n (click)=\"onChangeView.emit({ view: LOGIN_VIEWS.RecoverPassword })\"\n >\n {{ 'Forgot password?' | translate }}\n </button>\n </div>\n <div\n class=\"text-center m-t-8\"\n *ngIf=\"!!(ui.state$ | async).loginExtraLink\"\n >\n <a\n class=\"small\"\n title=\"{{ (ui.state$ | async).loginExtraLink.label }}\"\n role=\"button\"\n [href]=\"(ui.state$ | async).loginExtraLink.url\"\n >\n {{ (ui.state$ | async).loginExtraLink.label }}\n </a>\n </div>\n</form>\n" }]
122
- }], ctorParameters: function () { return [{ type: i1.LoginService }, { type: i2.AlertService }, { type: i3.AppStateService }, { type: i4.CredentialsFromQueryParamsService }]; }, propDecorators: { onChangeView: [{
118
+ args: [{ selector: 'c8y-credentials', template: "<div\n id=\"oauth\"\n *ngIf=\"oauthOptions.initRequest && oauthOptions.visibleOnLoginPage\"\n>\n <button\n class=\"btn btn-block btn-lg form-group\"\n title=\"{{ oauthOptions.buttonName | translate }}\"\n type=\"button\"\n (click)=\"redirectToOauth()\"\n >\n <i\n class=\"pull-left\"\n [c8yIcon]=\"'sign-in'\"\n ></i>\n {{ oauthOptions.buttonName | translate }}\n </button>\n</div>\n\n<form\n class=\"loginForm\"\n (ngSubmit)=\"login()\"\n #loginForm=\"ngForm\"\n *ngIf=\"showLoginForm\"\n novalidate\n>\n <span\n class=\"legend form-block center\"\n *ngIf=\"!(oauthOptions.initRequest && oauthOptions.visibleOnLoginPage); else orLegend\"\n translate\n >\n Login\n </span>\n\n <ng-template #orLegend>\n <div\n class=\"legend form-block center\"\n translate\n >\n or\n </div>\n </ng-template>\n\n <c8y-form-group\n class=\"tenantField\"\n id=\"tenantField\"\n *ngIf=\"showTenant\"\n >\n <label\n for=\"tenant\"\n translate\n >\n Tenant ID\n </label>\n <input\n class=\"form-control\"\n id=\"tenant\"\n placeholder=\"{{ 'e.g.' | translate }} t12345\"\n name=\"tenant\"\n type=\"text\"\n required\n [(ngModel)]=\"model.tenant\"\n #tenant=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n [readonly]=\"loginViewParams.disableTenant\"\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"user\"\n translate\n >\n Username\n </label>\n <input\n class=\"form-control\"\n id=\"user\"\n placeholder=\"{{ 'e.g. joe or joe.doe@example.com`LOCALIZE`' | translate }}\"\n name=\"user\"\n type=\"text\"\n required\n [(ngModel)]=\"model.user\"\n #user=\"ngModel\"\n autocapitalize=\"off\"\n autocorrect=\"off\"\n placeholder-no-required-hint\n />\n </c8y-form-group>\n <c8y-form-group>\n <label\n for=\"password\"\n translate\n >\n Password\n </label>\n <c8y-password-input\n name=\"password\"\n required\n [id]=\"'password'\"\n [(ngModel)]=\"model.password\"\n [autocomplete]=\"'off'\"\n ></c8y-password-input>\n </c8y-form-group>\n <div\n class=\"form-group\"\n *ngIf=\"showBasicAuth\"\n >\n <label\n class=\"c8y-checkbox\"\n title=\"{{ 'Remember me' | translate }}\"\n >\n <input\n name=\"remember\"\n type=\"checkbox\"\n [(ngModel)]=\"loginService.rememberMe\"\n />\n <span></span>\n <span>{{ 'Remember me' | translate }}</span>\n </label>\n </div>\n <button\n class=\"btn btn-primary btn-lg btn-block form-group\"\n title=\"{{ 'Log in' | translate }}\"\n type=\"submit\"\n [disabled]=\"!loginForm.form.valid || isLoading\"\n >\n {{ 'Log in' | translate }}\n </button>\n <div class=\"text-center m-t-8\">\n <button\n class=\"btn btn-link btn-sm\"\n title=\"{{ 'Forgot password?' | translate }}\"\n type=\"button\"\n (click)=\"onChangeView.emit({ view: LOGIN_VIEWS.RecoverPassword })\"\n >\n {{ 'Forgot password?' | translate }}\n </button>\n </div>\n</form>\n" }]
119
+ }], ctorParameters: function () { return [{ type: i1.LoginService }, { type: i2.AlertService }, { type: i3.CredentialsFromQueryParamsService }]; }, propDecorators: { onChangeView: [{
123
120
  type: Output
124
121
  }], loginViewParams: [{
125
122
  type: Input
126
123
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9sb2dpbi9jcmVkZW50aWFscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2xvZ2luL2NyZWRlbnRpYWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBUTVGLE1BQU0sT0FBTyxvQkFBb0I7SUFtQi9CLFlBQ1MsWUFBMEIsRUFDMUIsS0FBbUIsRUFDbkIsRUFBbUIsRUFDbEIsaUNBQW9FO1FBSHJFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUFDbEIsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQXRCcEUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRW5DLG9CQUFlLEdBQStCO1lBQ3JELGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLENBQUM7UUFFRixnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUN6QixVQUFLLEdBQWlCLEVBQUUsQ0FBQztRQUN6Qixj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QUVPLGtCQUFrQixDQUFDLE9BQWU7UUFDeEMsSUFBSSxpQ0FBaUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ2hCLE9BQU8sQ0FDTCxzR0FBc0csQ0FDdkcsQ0FDRixDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVPLDJCQUEyQjtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUNoQixPQUFPLENBQ0wsZ0xBQWdMLENBQ2pMLENBQ0YsQ0FBQztJQUNKLENBQUM7K0dBN0dVLG9CQUFvQjttR0FBcEIsb0JBQW9CLGtKQ2ZqQyxrL0dBb0pBOzs0RkRySWEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjs0TUFLakIsWUFBWTtzQkFBckIsTUFBTTtnQkFFRSxlQUFlO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE91dHB1dCwgSW5wdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IElDcmVkZW50aWFscyB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5pbXBvcnQgeyBMb2dpblZpZXdzIH0gZnJvbSAnLi9sb2dpbi5tb2RlbCc7XG5pbXBvcnQgeyBDcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtc1NlcnZpY2UgfSBmcm9tICcuL2NyZWRlbnRpYWxzLWZyb20tcXVlcnktcGFyYW1zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlZGVudGlhbHNDb21wb25lbnRQYXJhbXMgfSBmcm9tICcuL2NyZWRlbnRpYWxzLWNvbXBvbmVudC1wYXJhbXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktY3JlZGVudGlhbHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3JlZGVudGlhbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIENyZWRlbnRpYWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQE91dHB1dCgpIG9uQ2hhbmdlVmlldyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKSBsb2dpblZpZXdQYXJhbXM6IENyZWRlbnRpYWxzQ29tcG9uZW50UGFyYW1zID0ge1xuICAgIGRpc2FibGVUZW5hbnQ6IGZhbHNlLFxuICAgIHNob3dUZW5hbnQ6IGZhbHNlXG4gIH07XG5cbiAgTE9HSU5fVklFV1MgPSBMb2dpblZpZXdzO1xuICBtb2RlbDogSUNyZWRlbnRpYWxzID0ge307XG4gIGlzTG9hZGluZyA9IGZhbHNlO1xuICBzaG93TG9naW5Gb3JtID0gZmFsc2U7XG4gIHNob3dCYXNpY0F1dGggPSBmYWxzZTtcbiAgb2F1dGhPcHRpb25zOiBhbnkgPSB7fTtcbiAgc2hvd1RlbmFudCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgUEFTU1dPUkRfUkVTRVRfSEVBREVSX05BTUUgPSAncGFzc3dvcmRyZXNldHRva2VuJztcbiAgcHJpdmF0ZSByZWFkb25seSBOT19QSE9ORV9IRUFERVJfTkFNRSA9ICdOb1Bob25lSGVhZGVyJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgbG9naW5TZXJ2aWNlOiBMb2dpblNlcnZpY2UsXG4gICAgcHVibGljIGFsZXJ0OiBBbGVydFNlcnZpY2UsXG4gICAgcHVibGljIHVpOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtc1NlcnZpY2U6IENyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgY29uc3QgeyBvYXV0aE9wdGlvbnMsIGxvZ2luTW9kZSB9ID0gdGhpcy5sb2dpblNlcnZpY2U7XG4gICAgdGhpcy5tb2RlbC50ZW5hbnQgPSB0aGlzLmxvZ2luU2VydmljZS5nZXRUZW5hbnQoKTtcbiAgICB0aGlzLnNob3dMb2dpbkZvcm0gPVxuICAgICAgdHlwZW9mIGxvZ2luTW9kZS52aXNpYmxlT25Mb2dpblBhZ2UgPT09ICd1bmRlZmluZWQnIHx8IGxvZ2luTW9kZS52aXNpYmxlT25Mb2dpblBhZ2U7XG4gICAgdGhpcy5zaG93QmFzaWNBdXRoID0gbG9naW5Nb2RlLnR5cGUgPT09ICdCQVNJQyc7XG4gICAgdGhpcy5vYXV0aE9wdGlvbnMgPSBvYXV0aE9wdGlvbnM7XG4gICAgY29uc3QgY3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXMgPVxuICAgICAgdGhpcy5jcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtc1NlcnZpY2UuZ2V0Q3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXMoKTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMubW9kZWwsIGNyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zKTtcbiAgICB0aGlzLnNob3dUZW5hbnQgPSB0aGlzLmxvZ2luVmlld1BhcmFtcy5zaG93VGVuYW50IHx8IHRoaXMubG9naW5TZXJ2aWNlLnNob3dUZW5hbnQoKTtcbiAgfVxuXG4gIHJlZGlyZWN0VG9PYXV0aCgpIHtcbiAgICB0aGlzLmxvZ2luU2VydmljZS5yZWRpcmVjdFRvT2F1dGgoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgdG8gbG9naW4gaW50byB0aGUgYXBwbGljYXRpb24gdXNpbmcgYmFzaWMgYXV0aC5cbiAgICogSWYgc3VjY2Vzc2Z1bCBsb2dnZWQgaW4gdGhlIGNsaWVudCBpcyBzZXQgaW4gc2hhcmVkL2N1bXVsb2NpdHkuc2VydmljZS50c1xuICAgKi9cbiAgYXN5bmMgbG9naW4oKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIGNvbnN0IGJhc2ljQXV0aCA9IHRoaXMubG9naW5TZXJ2aWNlLnVzZUJhc2ljQXV0aCh0aGlzLm1vZGVsKTtcbiAgICAgIGF3YWl0IHRoaXMubG9naW5TZXJ2aWNlLmxvZ2luKGJhc2ljQXV0aCwgdGhpcy5tb2RlbCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGUucmVzICYmIGUucmVzLmhlYWRlcnMgJiYgZS5yZXMuaGVhZGVycy5nZXQodGhpcy5QQVNTV09SRF9SRVNFVF9IRUFERVJfTkFNRSkpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVQYXNzd29yZFJlc2V0KGUucmVzKTtcbiAgICAgIH0gZWxzZSBpZiAoZS5yZXMgJiYgZS5yZXMuc3RhdHVzID09PSA0MDEgJiYgL3Bpbi9pLnRlc3QoZS5kYXRhLm1lc3NhZ2UpKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlU21zQ2hhbGxlbmdlKGUuZGF0YS5tZXNzYWdlKTtcbiAgICAgIH0gZWxzZSBpZiAoZS5yZXMgJiYgZS5yZXMuc3RhdHVzID09PSA0MDEgJiYgL1RPVFAvaS50ZXN0KGUuZGF0YS5tZXNzYWdlKSkge1xuICAgICAgICB0aGlzLmhhbmRsZVRvdHBDaGFsbGVuZ2UoZS5kYXRhLm1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgZS5yZXMgJiZcbiAgICAgICAgZS5yZXMuaGVhZGVycyAmJlxuICAgICAgICBlLnJlcy5oZWFkZXJzLmdldCh0aGlzLk5PX1BIT05FX0hFQURFUl9OQU1FKSAmJlxuICAgICAgICAhdGhpcy5sb2dpblNlcnZpY2UuaXNTdXBwb3J0VXNlcih0aGlzLm1vZGVsKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlTm9QaG9uZU51bWJlclByb3ZpZGVkKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5nZW5lcmF0ZU9hdXRoVG9rZW4odGhpcy5tb2RlbCk7XG4gICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnJlc2V0KCk7XG4gICAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShlKTtcbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVBhc3N3b3JkUmVzZXQoZTogYW55KSB7XG4gICAgdGhpcy5hbGVydC5yZW1vdmVMYXN0RGFuZ2VyKCk7XG4gICAgdGhpcy5tb2RlbC50b2tlbiA9IGUuaGVhZGVycy5nZXQodGhpcy5QQVNTV09SRF9SRVNFVF9IRUFERVJfTkFNRSk7XG4gICAgdGhpcy5vbkNoYW5nZVZpZXcuZW1pdCh7IHZpZXc6IExvZ2luVmlld3MuQ2hhbmdlUGFzc3dvcmQsIGNyZWRlbnRpYWxzOiB0aGlzLm1vZGVsIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVUb3RwQ2hhbGxlbmdlKG1lc3NhZ2UpIHtcbiAgICBpZiAoL1RPVFAgc2V0dXAgcmVxdWlyZWQvaS50ZXN0KG1lc3NhZ2UpKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlVmlldy5lbWl0KHsgdmlldzogTG9naW5WaWV3cy5Ub3RwU2V0dXAsIGNyZWRlbnRpYWxzOiB0aGlzLm1vZGVsIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlVmlldy5lbWl0KHsgdmlldzogTG9naW5WaWV3cy5Ub3RwQ2hhbGxlbmdlLCBjcmVkZW50aWFsczogdGhpcy5tb2RlbCB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNtc0NoYWxsZW5nZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICBpZiAoL3BpbiBoYXMgYWxyZWFkeSBiZWVuIGdlbmVyYXRlZC9pLnRlc3QobWVzc2FnZSkpIHtcbiAgICAgIHRoaXMuYWxlcnQud2FybmluZyhcbiAgICAgICAgZ2V0dGV4dChcbiAgICAgICAgICAnVGhlIHZlcmlmaWNhdGlvbiBjb2RlIHdhcyBhbHJlYWR5IHNlbnQuIEZvciBhIG5ldyB2ZXJpZmljYXRpb24gY29kZSwgcGxlYXNlIGNsaWNrIG9uIHRoZSBsaW5rIGFib3ZlLidcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5hbGVydC5yZW1vdmVMYXN0RGFuZ2VyKCk7XG4gICAgdGhpcy5vbkNoYW5nZVZpZXcuZW1pdCh7IHZpZXc6IExvZ2luVmlld3MuU21zQ2hhbGxlbmdlLCBjcmVkZW50aWFsczogdGhpcy5tb2RlbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTm9QaG9uZU51bWJlclByb3ZpZGVkKCkge1xuICAgIHRoaXMub25DaGFuZ2VWaWV3LmVtaXQoeyB2aWV3OiBMb2dpblZpZXdzLlByb3ZpZGVQaG9uZU51bWJlciwgY3JlZGVudGlhbHM6IHRoaXMubW9kZWwgfSk7XG4gICAgdGhpcy5hbGVydC53YXJuaW5nKFxuICAgICAgZ2V0dGV4dChcbiAgICAgICAgJ1R3by1mYWN0b3IgYXV0aGVudGljYXRpb24gaGFzIGJlZW4gdHVybmVkIG9uIGZvciB0aGlzIGFjY291bnQuIFByb3ZpZGUgeW91ciBwaG9uZSBudW1iZXIgYWJvdmUgdG8gc2F2ZSBpdCBpbiB5b3VyIHVzZXIgcHJvZmlsZSBhbmQgc3RhcnQgcmVjZWl2aW5nIHZlcmlmaWNhdGlvbiBjb2RlcyB2aWEgU01TLidcbiAgICAgIClcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGlkPVwib2F1dGhcIlxuICAqbmdJZj1cIm9hdXRoT3B0aW9ucy5pbml0UmVxdWVzdCAmJiBvYXV0aE9wdGlvbnMudmlzaWJsZU9uTG9naW5QYWdlXCJcbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayBidG4tbGcgZm9ybS1ncm91cFwiXG4gICAgdGl0bGU9XCJ7eyBvYXV0aE9wdGlvbnMuYnV0dG9uTmFtZSB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgKGNsaWNrKT1cInJlZGlyZWN0VG9PYXV0aCgpXCJcbiAgPlxuICAgIDxpXG4gICAgICBjbGFzcz1cInB1bGwtbGVmdFwiXG4gICAgICBbYzh5SWNvbl09XCInc2lnbi1pbidcIlxuICAgID48L2k+XG4gICAge3sgb2F1dGhPcHRpb25zLmJ1dHRvbk5hbWUgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuPGZvcm1cbiAgY2xhc3M9XCJsb2dpbkZvcm1cIlxuICAobmdTdWJtaXQpPVwibG9naW4oKVwiXG4gICNsb2dpbkZvcm09XCJuZ0Zvcm1cIlxuICAqbmdJZj1cInNob3dMb2dpbkZvcm1cIlxuICBub3ZhbGlkYXRlXG4+XG4gIDxzcGFuXG4gICAgY2xhc3M9XCJsZWdlbmQgZm9ybS1ibG9jayBjZW50ZXJcIlxuICAgICpuZ0lmPVwiIShvYXV0aE9wdGlvbnMuaW5pdFJlcXVlc3QgJiYgb2F1dGhPcHRpb25zLnZpc2libGVPbkxvZ2luUGFnZSk7IGVsc2Ugb3JMZWdlbmRcIlxuICAgIHRyYW5zbGF0ZVxuICA+XG4gICAgTG9naW5cbiAgPC9zcGFuPlxuXG4gIDxuZy10ZW1wbGF0ZSAjb3JMZWdlbmQ+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJsZWdlbmQgZm9ybS1ibG9jayBjZW50ZXJcIlxuICAgICAgdHJhbnNsYXRlXG4gICAgPlxuICAgICAgb3JcbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8Yzh5LWZvcm0tZ3JvdXBcbiAgICBjbGFzcz1cInRlbmFudEZpZWxkXCJcbiAgICBpZD1cInRlbmFudEZpZWxkXCJcbiAgICAqbmdJZj1cInNob3dUZW5hbnRcIlxuICA+XG4gICAgPGxhYmVsXG4gICAgICBmb3I9XCJ0ZW5hbnRcIlxuICAgICAgdHJhbnNsYXRlXG4gICAgPlxuICAgICAgVGVuYW50IElEXG4gICAgPC9sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIGlkPVwidGVuYW50XCJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4nIHwgdHJhbnNsYXRlIH19IHQxMjM0NVwiXG4gICAgICBuYW1lPVwidGVuYW50XCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIHJlcXVpcmVkXG4gICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLnRlbmFudFwiXG4gICAgICAjdGVuYW50PVwibmdNb2RlbFwiXG4gICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXG4gICAgICBhdXRvY29ycmVjdD1cIm9mZlwiXG4gICAgICBwbGFjZWhvbGRlci1uby1yZXF1aXJlZC1oaW50XG4gICAgICBbcmVhZG9ubHldPVwibG9naW5WaWV3UGFyYW1zLmRpc2FibGVUZW5hbnRcIlxuICAgIC8+XG4gIDwvYzh5LWZvcm0tZ3JvdXA+XG4gIDxjOHktZm9ybS1ncm91cD5cbiAgICA8bGFiZWxcbiAgICAgIGZvcj1cInVzZXJcIlxuICAgICAgdHJhbnNsYXRlXG4gICAgPlxuICAgICAgVXNlcm5hbWVcbiAgICA8L2xhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgaWQ9XCJ1c2VyXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4gam9lIG9yIGpvZS5kb2VAZXhhbXBsZS5jb21gTE9DQUxJWkVgJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICBuYW1lPVwidXNlclwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICByZXF1aXJlZFxuICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC51c2VyXCJcbiAgICAgICN1c2VyPVwibmdNb2RlbFwiXG4gICAgICBhdXRvY2FwaXRhbGl6ZT1cIm9mZlwiXG4gICAgICBhdXRvY29ycmVjdD1cIm9mZlwiXG4gICAgICBwbGFjZWhvbGRlci1uby1yZXF1aXJlZC1oaW50XG4gICAgLz5cbiAgPC9jOHktZm9ybS1ncm91cD5cbiAgPGM4eS1mb3JtLWdyb3VwPlxuICAgIDxsYWJlbCBmb3I9XCJwYXNzd29yZFwiIHRyYW5zbGF0ZT5QYXNzd29yZDwvbGFiZWw+XG4gICAgPGM4eS1wYXNzd29yZC1pbnB1dFxuICAgICAgW2lkXT1cIidwYXNzd29yZCdcIlxuICAgICAgbmFtZT1cInBhc3N3b3JkXCJcbiAgICAgIHJlcXVpcmVkXG4gICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsLnBhc3N3b3JkXCJcbiAgICAgIFthdXRvY29tcGxldGVdPVwiJ29mZidcIlxuICAgID48L2M4eS1wYXNzd29yZC1pbnB1dD5cbiAgPC9jOHktZm9ybS1ncm91cD5cbiAgPGRpdlxuICAgIGNsYXNzPVwiZm9ybS1ncm91cFwiXG4gICAgKm5nSWY9XCJzaG93QmFzaWNBdXRoXCJcbiAgPlxuICAgIDxsYWJlbFxuICAgICAgY2xhc3M9XCJjOHktY2hlY2tib3hcIlxuICAgICAgdGl0bGU9XCJ7eyAnUmVtZW1iZXIgbWUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICA+XG4gICAgICA8aW5wdXRcbiAgICAgICAgbmFtZT1cInJlbWVtYmVyXCJcbiAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJsb2dpblNlcnZpY2UucmVtZW1iZXJNZVwiXG4gICAgICAvPlxuICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgPHNwYW4+e3sgJ1JlbWVtYmVyIG1lJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1sZyBidG4tYmxvY2sgZm9ybS1ncm91cFwiXG4gICAgdGl0bGU9XCJ7eyAnTG9nIGluJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgW2Rpc2FibGVkXT1cIiFsb2dpbkZvcm0uZm9ybS52YWxpZCB8fCBpc0xvYWRpbmdcIlxuICA+XG4gICAge3sgJ0xvZyBpbicgfCB0cmFuc2xhdGUgfX1cbiAgPC9idXR0b24+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLXQtOFwiPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rIGJ0bi1zbVwiXG4gICAgICB0aXRsZT1cInt7ICdGb3Jnb3QgcGFzc3dvcmQ/JyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJvbkNoYW5nZVZpZXcuZW1pdCh7IHZpZXc6IExPR0lOX1ZJRVdTLlJlY292ZXJQYXNzd29yZCB9KVwiXG4gICAgPlxuICAgICAge3sgJ0ZvcmdvdCBwYXNzd29yZD8nIHwgdHJhbnNsYXRlIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLXQtOFwiXG4gICAgKm5nSWY9XCIhISh1aS5zdGF0ZSQgfCBhc3luYykubG9naW5FeHRyYUxpbmtcIlxuICA+XG4gICAgPGFcbiAgICAgIGNsYXNzPVwic21hbGxcIlxuICAgICAgdGl0bGU9XCJ7eyAodWkuc3RhdGUkIHwgYXN5bmMpLmxvZ2luRXh0cmFMaW5rLmxhYmVsIH19XCJcbiAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgW2hyZWZdPVwiKHVpLnN0YXRlJCB8IGFzeW5jKS5sb2dpbkV4dHJhTGluay51cmxcIlxuICAgID5cbiAgICAgIHt7ICh1aS5zdGF0ZSQgfCBhc3luYykubG9naW5FeHRyYUxpbmsubGFiZWwgfX1cbiAgICA8L2E+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9sb2dpbi9jcmVkZW50aWFscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2xvZ2luL2NyZWRlbnRpYWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7Ozs7OztBQVE1RixNQUFNLE9BQU8sb0JBQW9CO0lBbUIvQixZQUNTLFlBQTBCLEVBQzFCLEtBQW1CLEVBQ2xCLGlDQUFvRTtRQUZyRSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ2xCLHNDQUFpQyxHQUFqQyxpQ0FBaUMsQ0FBbUM7UUFyQnBFLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVuQyxvQkFBZSxHQUErQjtZQUNyRCxhQUFhLEVBQUUsS0FBSztZQUNwQixVQUFVLEVBQUUsS0FBSztTQUNsQixDQUFDO1FBRUYsZ0JBQVcsR0FBRyxVQUFVLENBQUM7UUFDekIsVUFBSyxHQUFpQixFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixpQkFB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QyxLQUFLLENBQUMsT0FBTyxDQUNoQixPQUFPLENBQ0wsc0dBQXNHLENBQ3ZHLENBQ0YsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFTywyQkFBMkI7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDaEIsT0FBTyxDQUNMLGdMQUFnTCxDQUNqTCxDQUNGLENBQUM7SUFDSixDQUFDOytHQTVHVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixrSkNkakMsa3JHQTRJQTs7NEZEOUhhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxpQkFBaUI7OEtBS2pCLFlBQVk7c0JBQXJCLE1BQU07Z0JBRUUsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvZ2luU2VydmljZSB9IGZyb20gJy4vbG9naW4uc2VydmljZSc7XG5pbXBvcnQgeyBJQ3JlZGVudGlhbHMgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuLi9hbGVydC9hbGVydC5zZXJ2aWNlJztcbmltcG9ydCB7IGdldHRleHQgfSBmcm9tICcuLi9pMThuL2dldHRleHQnO1xuaW1wb3J0IHsgTG9naW5WaWV3cyB9IGZyb20gJy4vbG9naW4ubW9kZWwnO1xuaW1wb3J0IHsgQ3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXNTZXJ2aWNlIH0gZnJvbSAnLi9jcmVkZW50aWFscy1mcm9tLXF1ZXJ5LXBhcmFtcy5zZXJ2aWNlJztcbmltcG9ydCB7IENyZWRlbnRpYWxzQ29tcG9uZW50UGFyYW1zIH0gZnJvbSAnLi9jcmVkZW50aWFscy1jb21wb25lbnQtcGFyYW1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWNyZWRlbnRpYWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWRlbnRpYWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBDcmVkZW50aWFsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBvbkNoYW5nZVZpZXcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KCkgbG9naW5WaWV3UGFyYW1zOiBDcmVkZW50aWFsc0NvbXBvbmVudFBhcmFtcyA9IHtcbiAgICBkaXNhYmxlVGVuYW50OiBmYWxzZSxcbiAgICBzaG93VGVuYW50OiBmYWxzZVxuICB9O1xuXG4gIExPR0lOX1ZJRVdTID0gTG9naW5WaWV3cztcbiAgbW9kZWw6IElDcmVkZW50aWFscyA9IHt9O1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgc2hvd0xvZ2luRm9ybSA9IGZhbHNlO1xuICBzaG93QmFzaWNBdXRoID0gZmFsc2U7XG4gIG9hdXRoT3B0aW9uczogYW55ID0ge307XG4gIHNob3dUZW5hbnQgPSBmYWxzZTtcblxuICBwcml2YXRlIHJlYWRvbmx5IFBBU1NXT1JEX1JFU0VUX0hFQURFUl9OQU1FID0gJ3Bhc3N3b3JkcmVzZXR0b2tlbic7XG4gIHByaXZhdGUgcmVhZG9ubHkgTk9fUEhPTkVfSEVBREVSX05BTUUgPSAnTm9QaG9uZUhlYWRlcic7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGxvZ2luU2VydmljZTogTG9naW5TZXJ2aWNlLFxuICAgIHB1YmxpYyBhbGVydDogQWxlcnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgY3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXNTZXJ2aWNlOiBDcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtc1NlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IHsgb2F1dGhPcHRpb25zLCBsb2dpbk1vZGUgfSA9IHRoaXMubG9naW5TZXJ2aWNlO1xuICAgIHRoaXMubW9kZWwudGVuYW50ID0gdGhpcy5sb2dpblNlcnZpY2UuZ2V0VGVuYW50KCk7XG4gICAgdGhpcy5zaG93TG9naW5Gb3JtID1cbiAgICAgIHR5cGVvZiBsb2dpbk1vZGUudmlzaWJsZU9uTG9naW5QYWdlID09PSAndW5kZWZpbmVkJyB8fCBsb2dpbk1vZGUudmlzaWJsZU9uTG9naW5QYWdlO1xuICAgIHRoaXMuc2hvd0Jhc2ljQXV0aCA9IGxvZ2luTW9kZS50eXBlID09PSAnQkFTSUMnO1xuICAgIHRoaXMub2F1dGhPcHRpb25zID0gb2F1dGhPcHRpb25zO1xuICAgIGNvbnN0IGNyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zID1cbiAgICAgIHRoaXMuY3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXNTZXJ2aWNlLmdldENyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zKCk7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZGVsLCBjcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtcyk7XG4gICAgdGhpcy5zaG93VGVuYW50ID0gdGhpcy5sb2dpblZpZXdQYXJhbXMuc2hvd1RlbmFudCB8fCB0aGlzLmxvZ2luU2VydmljZS5zaG93VGVuYW50KCk7XG4gIH1cblxuICByZWRpcmVjdFRvT2F1dGgoKSB7XG4gICAgdGhpcy5sb2dpblNlcnZpY2UucmVkaXJlY3RUb09hdXRoKCk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3dzIHRvIGxvZ2luIGludG8gdGhlIGFwcGxpY2F0aW9uIHVzaW5nIGJhc2ljIGF1dGguXG4gICAqIElmIHN1Y2Nlc3NmdWwgbG9nZ2VkIGluIHRoZSBjbGllbnQgaXMgc2V0IGluIHNoYXJlZC9jdW11bG9jaXR5LnNlcnZpY2UudHNcbiAgICovXG4gIGFzeW5jIGxvZ2luKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICBjb25zdCBiYXNpY0F1dGggPSB0aGlzLmxvZ2luU2VydmljZS51c2VCYXNpY0F1dGgodGhpcy5tb2RlbCk7XG4gICAgICBhd2FpdCB0aGlzLmxvZ2luU2VydmljZS5sb2dpbihiYXNpY0F1dGgsIHRoaXMubW9kZWwpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmIChlLnJlcyAmJiBlLnJlcy5oZWFkZXJzICYmIGUucmVzLmhlYWRlcnMuZ2V0KHRoaXMuUEFTU1dPUkRfUkVTRVRfSEVBREVSX05BTUUpKSB7XG4gICAgICAgIHRoaXMuaGFuZGxlUGFzc3dvcmRSZXNldChlLnJlcyk7XG4gICAgICB9IGVsc2UgaWYgKGUucmVzICYmIGUucmVzLnN0YXR1cyA9PT0gNDAxICYmIC9waW4vaS50ZXN0KGUuZGF0YS5tZXNzYWdlKSkge1xuICAgICAgICB0aGlzLmhhbmRsZVNtc0NoYWxsZW5nZShlLmRhdGEubWVzc2FnZSk7XG4gICAgICB9IGVsc2UgaWYgKGUucmVzICYmIGUucmVzLnN0YXR1cyA9PT0gNDAxICYmIC9UT1RQL2kudGVzdChlLmRhdGEubWVzc2FnZSkpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVUb3RwQ2hhbGxlbmdlKGUuZGF0YS5tZXNzYWdlKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGUucmVzICYmXG4gICAgICAgIGUucmVzLmhlYWRlcnMgJiZcbiAgICAgICAgZS5yZXMuaGVhZGVycy5nZXQodGhpcy5OT19QSE9ORV9IRUFERVJfTkFNRSkgJiZcbiAgICAgICAgIXRoaXMubG9naW5TZXJ2aWNlLmlzU3VwcG9ydFVzZXIodGhpcy5tb2RlbClcbiAgICAgICkge1xuICAgICAgICB0aGlzLmhhbmRsZU5vUGhvbmVOdW1iZXJQcm92aWRlZCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UuZ2VuZXJhdGVPYXV0aFRva2VuKHRoaXMubW9kZWwpO1xuICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5yZXNldCgpO1xuICAgICAgICB0aGlzLmFsZXJ0LmFkZFNlcnZlckZhaWx1cmUoZSk7XG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVQYXNzd29yZFJlc2V0KGU6IGFueSkge1xuICAgIHRoaXMuYWxlcnQucmVtb3ZlTGFzdERhbmdlcigpO1xuICAgIHRoaXMubW9kZWwudG9rZW4gPSBlLmhlYWRlcnMuZ2V0KHRoaXMuUEFTU1dPUkRfUkVTRVRfSEVBREVSX05BTUUpO1xuICAgIHRoaXMub25DaGFuZ2VWaWV3LmVtaXQoeyB2aWV3OiBMb2dpblZpZXdzLkNoYW5nZVBhc3N3b3JkLCBjcmVkZW50aWFsczogdGhpcy5tb2RlbCB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlVG90cENoYWxsZW5nZShtZXNzYWdlKSB7XG4gICAgaWYgKC9UT1RQIHNldHVwIHJlcXVpcmVkL2kudGVzdChtZXNzYWdlKSkge1xuICAgICAgdGhpcy5vbkNoYW5nZVZpZXcuZW1pdCh7IHZpZXc6IExvZ2luVmlld3MuVG90cFNldHVwLCBjcmVkZW50aWFsczogdGhpcy5tb2RlbCB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vbkNoYW5nZVZpZXcuZW1pdCh7IHZpZXc6IExvZ2luVmlld3MuVG90cENoYWxsZW5nZSwgY3JlZGVudGlhbHM6IHRoaXMubW9kZWwgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTbXNDaGFsbGVuZ2UobWVzc2FnZTogc3RyaW5nKSB7XG4gICAgaWYgKC9waW4gaGFzIGFscmVhZHkgYmVlbiBnZW5lcmF0ZWQvaS50ZXN0KG1lc3NhZ2UpKSB7XG4gICAgICB0aGlzLmFsZXJ0Lndhcm5pbmcoXG4gICAgICAgIGdldHRleHQoXG4gICAgICAgICAgJ1RoZSB2ZXJpZmljYXRpb24gY29kZSB3YXMgYWxyZWFkeSBzZW50LiBGb3IgYSBuZXcgdmVyaWZpY2F0aW9uIGNvZGUsIHBsZWFzZSBjbGljayBvbiB0aGUgbGluayBhYm92ZS4nXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuYWxlcnQucmVtb3ZlTGFzdERhbmdlcigpO1xuICAgIHRoaXMub25DaGFuZ2VWaWV3LmVtaXQoeyB2aWV3OiBMb2dpblZpZXdzLlNtc0NoYWxsZW5nZSwgY3JlZGVudGlhbHM6IHRoaXMubW9kZWwgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU5vUGhvbmVOdW1iZXJQcm92aWRlZCgpIHtcbiAgICB0aGlzLm9uQ2hhbmdlVmlldy5lbWl0KHsgdmlldzogTG9naW5WaWV3cy5Qcm92aWRlUGhvbmVOdW1iZXIsIGNyZWRlbnRpYWxzOiB0aGlzLm1vZGVsIH0pO1xuICAgIHRoaXMuYWxlcnQud2FybmluZyhcbiAgICAgIGdldHRleHQoXG4gICAgICAgICdUd28tZmFjdG9yIGF1dGhlbnRpY2F0aW9uIGhhcyBiZWVuIHR1cm5lZCBvbiBmb3IgdGhpcyBhY2NvdW50LiBQcm92aWRlIHlvdXIgcGhvbmUgbnVtYmVyIGFib3ZlIHRvIHNhdmUgaXQgaW4geW91ciB1c2VyIHByb2ZpbGUgYW5kIHN0YXJ0IHJlY2VpdmluZyB2ZXJpZmljYXRpb24gY29kZXMgdmlhIFNNUy4nXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdlxuICBpZD1cIm9hdXRoXCJcbiAgKm5nSWY9XCJvYXV0aE9wdGlvbnMuaW5pdFJlcXVlc3QgJiYgb2F1dGhPcHRpb25zLnZpc2libGVPbkxvZ2luUGFnZVwiXG4+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cImJ0biBidG4tYmxvY2sgYnRuLWxnIGZvcm0tZ3JvdXBcIlxuICAgIHRpdGxlPVwie3sgb2F1dGhPcHRpb25zLmJ1dHRvbk5hbWUgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIChjbGljayk9XCJyZWRpcmVjdFRvT2F1dGgoKVwiXG4gID5cbiAgICA8aVxuICAgICAgY2xhc3M9XCJwdWxsLWxlZnRcIlxuICAgICAgW2M4eUljb25dPVwiJ3NpZ24taW4nXCJcbiAgICA+PC9pPlxuICAgIHt7IG9hdXRoT3B0aW9ucy5idXR0b25OYW1lIHwgdHJhbnNsYXRlIH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG5cbjxmb3JtXG4gIGNsYXNzPVwibG9naW5Gb3JtXCJcbiAgKG5nU3VibWl0KT1cImxvZ2luKClcIlxuICAjbG9naW5Gb3JtPVwibmdGb3JtXCJcbiAgKm5nSWY9XCJzaG93TG9naW5Gb3JtXCJcbiAgbm92YWxpZGF0ZVxuPlxuICA8c3BhblxuICAgIGNsYXNzPVwibGVnZW5kIGZvcm0tYmxvY2sgY2VudGVyXCJcbiAgICAqbmdJZj1cIiEob2F1dGhPcHRpb25zLmluaXRSZXF1ZXN0ICYmIG9hdXRoT3B0aW9ucy52aXNpYmxlT25Mb2dpblBhZ2UpOyBlbHNlIG9yTGVnZW5kXCJcbiAgICB0cmFuc2xhdGVcbiAgPlxuICAgIExvZ2luXG4gIDwvc3Bhbj5cblxuICA8bmctdGVtcGxhdGUgI29yTGVnZW5kPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwibGVnZW5kIGZvcm0tYmxvY2sgY2VudGVyXCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgID5cbiAgICAgIG9yXG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGM4eS1mb3JtLWdyb3VwXG4gICAgY2xhc3M9XCJ0ZW5hbnRGaWVsZFwiXG4gICAgaWQ9XCJ0ZW5hbnRGaWVsZFwiXG4gICAgKm5nSWY9XCJzaG93VGVuYW50XCJcbiAgPlxuICAgIDxsYWJlbFxuICAgICAgZm9yPVwidGVuYW50XCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgID5cbiAgICAgIFRlbmFudCBJRFxuICAgIDwvbGFiZWw+XG4gICAgPGlucHV0XG4gICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICBpZD1cInRlbmFudFwiXG4gICAgICBwbGFjZWhvbGRlcj1cInt7ICdlLmcuJyB8IHRyYW5zbGF0ZSB9fSB0MTIzNDVcIlxuICAgICAgbmFtZT1cInRlbmFudFwiXG4gICAgICB0eXBlPVwidGV4dFwiXG4gICAgICByZXF1aXJlZFxuICAgICAgWyhuZ01vZGVsKV09XCJtb2RlbC50ZW5hbnRcIlxuICAgICAgI3RlbmFudD1cIm5nTW9kZWxcIlxuICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgcGxhY2Vob2xkZXItbm8tcmVxdWlyZWQtaGludFxuICAgICAgW3JlYWRvbmx5XT1cImxvZ2luVmlld1BhcmFtcy5kaXNhYmxlVGVuYW50XCJcbiAgICAvPlxuICA8L2M4eS1mb3JtLWdyb3VwPlxuICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgPGxhYmVsXG4gICAgICBmb3I9XCJ1c2VyXCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgID5cbiAgICAgIFVzZXJuYW1lXG4gICAgPC9sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgIGlkPVwidXNlclwiXG4gICAgICBwbGFjZWhvbGRlcj1cInt7ICdlLmcuIGpvZSBvciBqb2UuZG9lQGV4YW1wbGUuY29tYExPQ0FMSVpFYCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgbmFtZT1cInVzZXJcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgcmVxdWlyZWRcbiAgICAgIFsobmdNb2RlbCldPVwibW9kZWwudXNlclwiXG4gICAgICAjdXNlcj1cIm5nTW9kZWxcIlxuICAgICAgYXV0b2NhcGl0YWxpemU9XCJvZmZcIlxuICAgICAgYXV0b2NvcnJlY3Q9XCJvZmZcIlxuICAgICAgcGxhY2Vob2xkZXItbm8tcmVxdWlyZWQtaGludFxuICAgIC8+XG4gIDwvYzh5LWZvcm0tZ3JvdXA+XG4gIDxjOHktZm9ybS1ncm91cD5cbiAgICA8bGFiZWxcbiAgICAgIGZvcj1cInBhc3N3b3JkXCJcbiAgICAgIHRyYW5zbGF0ZVxuICAgID5cbiAgICAgIFBhc3N3b3JkXG4gICAgPC9sYWJlbD5cbiAgICA8Yzh5LXBhc3N3b3JkLWlucHV0XG4gICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgcmVxdWlyZWRcbiAgICAgIFtpZF09XCIncGFzc3dvcmQnXCJcbiAgICAgIFsobmdNb2RlbCldPVwibW9kZWwucGFzc3dvcmRcIlxuICAgICAgW2F1dG9jb21wbGV0ZV09XCInb2ZmJ1wiXG4gICAgPjwvYzh5LXBhc3N3b3JkLWlucHV0PlxuICA8L2M4eS1mb3JtLWdyb3VwPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJmb3JtLWdyb3VwXCJcbiAgICAqbmdJZj1cInNob3dCYXNpY0F1dGhcIlxuICA+XG4gICAgPGxhYmVsXG4gICAgICBjbGFzcz1cImM4eS1jaGVja2JveFwiXG4gICAgICB0aXRsZT1cInt7ICdSZW1lbWJlciBtZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgID5cbiAgICAgIDxpbnB1dFxuICAgICAgICBuYW1lPVwicmVtZW1iZXJcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImxvZ2luU2VydmljZS5yZW1lbWJlck1lXCJcbiAgICAgIC8+XG4gICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICA8c3Bhbj57eyAnUmVtZW1iZXIgbWUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYnRuLWxnIGJ0bi1ibG9jayBmb3JtLWdyb3VwXCJcbiAgICB0aXRsZT1cInt7ICdMb2cgaW4nIHwgdHJhbnNsYXRlIH19XCJcbiAgICB0eXBlPVwic3VibWl0XCJcbiAgICBbZGlzYWJsZWRdPVwiIWxvZ2luRm9ybS5mb3JtLnZhbGlkIHx8IGlzTG9hZGluZ1wiXG4gID5cbiAgICB7eyAnTG9nIGluJyB8IHRyYW5zbGF0ZSB9fVxuICA8L2J1dHRvbj5cbiAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tdC04XCI+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmsgYnRuLXNtXCJcbiAgICAgIHRpdGxlPVwie3sgJ0ZvcmdvdCBwYXNzd29yZD8nIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm9uQ2hhbmdlVmlldy5lbWl0KHsgdmlldzogTE9HSU5fVklFV1MuUmVjb3ZlclBhc3N3b3JkIH0pXCJcbiAgICA+XG4gICAgICB7eyAnRm9yZ290IHBhc3N3b3JkPycgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Zvcm0+XG4iXX0=
@@ -6,29 +6,32 @@ import { LoginViews } from './login.model';
6
6
  import { AlertService } from '../alert/alert.service';
7
7
  import { gettext } from '../i18n/gettext';
8
8
  import { CredentialsFromQueryParamsService } from './credentials-from-query-params.service';
9
+ import { AppStateService } from '../common/ui-state.service';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "./login.service";
11
12
  import * as i2 from "../common/options.service";
12
13
  import * as i3 from "../alert/alert.service";
13
14
  import * as i4 from "./credentials-from-query-params.service";
14
- import * as i5 from "@angular/common";
15
- import * as i6 from "../authentication/sms-challenge.component";
16
- import * as i7 from "../authentication/provide-phone-number.component";
17
- import * as i8 from "../alert/alert-outlet.component";
18
- import * as i9 from "./recover-password.component";
19
- import * as i10 from "./change-password.component";
20
- import * as i11 from "./credentials.component";
21
- import * as i12 from "./totp-auth.component";
22
- import * as i13 from "./tenant-id-setup.component";
15
+ import * as i5 from "../common/ui-state.service";
16
+ import * as i6 from "@angular/common";
17
+ import * as i7 from "../authentication/sms-challenge.component";
18
+ import * as i8 from "../authentication/provide-phone-number.component";
19
+ import * as i9 from "../alert/alert-outlet.component";
20
+ import * as i10 from "./recover-password.component";
21
+ import * as i11 from "./change-password.component";
22
+ import * as i12 from "./credentials.component";
23
+ import * as i13 from "./totp-auth.component";
24
+ import * as i14 from "./tenant-id-setup.component";
23
25
  export class LoginComponent {
24
26
  /**
25
27
  * Just DI.
26
28
  */
27
- constructor(loginService, options, alert, credentialsFromQueryParamsService) {
29
+ constructor(loginService, options, alert, credentialsFromQueryParamsService, ui) {
28
30
  this.loginService = loginService;
29
31
  this.options = options;
30
32
  this.alert = alert;
31
33
  this.credentialsFromQueryParamsService = credentialsFromQueryParamsService;
34
+ this.ui = ui;
32
35
  this.currentView = LoginViews.None;
33
36
  this.LOGIN_VIEWS = LoginViews;
34
37
  this.disabled = false;
@@ -110,16 +113,16 @@ export class LoginComponent {
110
113
  }
111
114
  return token;
112
115
  }
113
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoginComponent, deps: [{ token: i1.LoginService }, { token: i2.OptionsService }, { token: i3.AlertService }, { token: i4.CredentialsFromQueryParamsService }], target: i0.ɵɵFactoryTarget.Component }); }
114
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LoginComponent, selector: "c8y-login", inputs: { name: "name" }, host: { listeners: { "keyup": "onkeyup($event)" } }, ngImport: i0, template: "<div\n class=\"loading card fadeInUp animated elevation-lg\"\n *ngIf=\"currentView !== LOGIN_VIEWS.None\"\n [ngSwitch]=\"currentView\"\n>\n <main class=\"card-block p-b-0\">\n <span class=\"mainlogo\"></span>\n\n <c8y-credentials\n *ngSwitchCase=\"LOGIN_VIEWS.Credentials\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [loginViewParams]=\"loginViewParams\"\n ></c8y-credentials>\n <c8y-recover-password\n *ngSwitchCase=\"LOGIN_VIEWS.RecoverPassword\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n ></c8y-recover-password>\n <c8y-change-password\n *ngSwitchCase=\"LOGIN_VIEWS.ChangePassword\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [credentials]=\"credentials\"\n ></c8y-change-password>\n <c8y-totp-auth\n *ngSwitchCase=\"LOGIN_VIEWS.TotpChallenge\"\n (onCancel)=\"reset()\"\n [view]=\"currentView\"\n [credentials]=\"credentials\"\n ></c8y-totp-auth>\n <c8y-totp-auth\n *ngSwitchCase=\"LOGIN_VIEWS.TotpSetup\"\n (onCancel)=\"reset()\"\n [view]=\"currentView\"\n [credentials]=\"credentials\"\n ></c8y-totp-auth>\n <c8y-sms-challenge\n *ngSwitchCase=\"LOGIN_VIEWS.SmsChallenge\"\n (onCancel)=\"reset()\"\n [credentials]=\"credentials\"\n ></c8y-sms-challenge>\n\n <c8y-provide-phone-number\n *ngSwitchCase=\"LOGIN_VIEWS.ProvidePhoneNumber\"\n (onCancel)=\"reset()\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [credentials]=\"credentials\"\n ></c8y-provide-phone-number>\n <c8y-tenant-id-setup\n *ngSwitchCase=\"LOGIN_VIEWS.TenantIdSetup\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n ></c8y-tenant-id-setup>\n\n <c8y-alert-outlet position=\"static\"></c8y-alert-outlet>\n </main>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i6.SmsChallengeComponent, selector: "c8y-sms-challenge", inputs: ["credentials"], outputs: ["onCancel"] }, { kind: "component", type: i7.ProvidePhoneNumberComponent, selector: "c8y-provide-phone-number", inputs: ["credentials"], outputs: ["onCancel", "onChangeView"] }, { kind: "component", type: i8.AlertOutletComponent, selector: "c8y-alert-outlet" }, { kind: "component", type: i9.RecoverPasswordComponent, selector: "c8y-recover-password", outputs: ["onChangeView"] }, { kind: "component", type: i10.ChangePasswordComponent, selector: "c8y-change-password", inputs: ["credentials"], outputs: ["onChangeView"] }, { kind: "component", type: i11.CredentialsComponent, selector: "c8y-credentials", inputs: ["loginViewParams"], outputs: ["onChangeView"] }, { kind: "component", type: i12.TotpAuthComponent, selector: "c8y-totp-auth", inputs: ["credentials", "view"], outputs: ["onCancel"] }, { kind: "component", type: i13.TenantIdSetupComponent, selector: "c8y-tenant-id-setup", outputs: ["onChangeView"] }] }); }
116
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoginComponent, deps: [{ token: i1.LoginService }, { token: i2.OptionsService }, { token: i3.AlertService }, { token: i4.CredentialsFromQueryParamsService }, { token: i5.AppStateService }], target: i0.ɵɵFactoryTarget.Component }); }
117
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: LoginComponent, selector: "c8y-login", inputs: { name: "name" }, host: { listeners: { "keyup": "onkeyup($event)" } }, ngImport: i0, template: "<div\n class=\"loading card fadeInUp animated elevation-lg\"\n *ngIf=\"currentView !== LOGIN_VIEWS.None\"\n [ngSwitch]=\"currentView\"\n>\n <main class=\"card-block p-b-0\">\n <span class=\"mainlogo\"></span>\n\n <c8y-credentials\n *ngSwitchCase=\"LOGIN_VIEWS.Credentials\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [loginViewParams]=\"loginViewParams\"\n ></c8y-credentials>\n <c8y-recover-password\n *ngSwitchCase=\"LOGIN_VIEWS.RecoverPassword\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n ></c8y-recover-password>\n <c8y-change-password\n *ngSwitchCase=\"LOGIN_VIEWS.ChangePassword\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [credentials]=\"credentials\"\n ></c8y-change-password>\n <c8y-totp-auth\n *ngSwitchCase=\"LOGIN_VIEWS.TotpChallenge\"\n (onCancel)=\"reset()\"\n [view]=\"currentView\"\n [credentials]=\"credentials\"\n ></c8y-totp-auth>\n <c8y-totp-auth\n *ngSwitchCase=\"LOGIN_VIEWS.TotpSetup\"\n (onCancel)=\"reset()\"\n [view]=\"currentView\"\n [credentials]=\"credentials\"\n ></c8y-totp-auth>\n <c8y-sms-challenge\n *ngSwitchCase=\"LOGIN_VIEWS.SmsChallenge\"\n (onCancel)=\"reset()\"\n [credentials]=\"credentials\"\n ></c8y-sms-challenge>\n\n <c8y-provide-phone-number\n *ngSwitchCase=\"LOGIN_VIEWS.ProvidePhoneNumber\"\n (onCancel)=\"reset()\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [credentials]=\"credentials\"\n ></c8y-provide-phone-number>\n <c8y-tenant-id-setup\n *ngSwitchCase=\"LOGIN_VIEWS.TenantIdSetup\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n ></c8y-tenant-id-setup>\n\n <div\n class=\"text-center m-t-8\"\n *ngIf=\"!!(ui.state$ | async).loginExtraLink\"\n >\n <div *ngIf=\"!!(ui.state$ | async).loginExtraLink.length; else singleExtraLink\">\n <a\n class=\"small d-block m-t-8\"\n title=\"{{ link.label }}\"\n role=\"button\"\n *ngFor=\"let link of (ui.state$ | async).loginExtraLink\"\n [href]=\"link.url\"\n >\n {{ link.label }}\n </a>\n </div>\n <ng-template #singleExtraLink>\n <a\n class=\"small\"\n title=\"{{ (ui.state$ | async).loginExtraLink.label }}\"\n role=\"button\"\n [href]=\"(ui.state$ | async).loginExtraLink.url\"\n >\n {{ (ui.state$ | async).loginExtraLink.label }}\n </a>\n </ng-template>\n </div>\n\n <c8y-alert-outlet position=\"static\"></c8y-alert-outlet>\n </main>\n</div>\n", dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i7.SmsChallengeComponent, selector: "c8y-sms-challenge", inputs: ["credentials"], outputs: ["onCancel"] }, { kind: "component", type: i8.ProvidePhoneNumberComponent, selector: "c8y-provide-phone-number", inputs: ["credentials"], outputs: ["onCancel", "onChangeView"] }, { kind: "component", type: i9.AlertOutletComponent, selector: "c8y-alert-outlet" }, { kind: "component", type: i10.RecoverPasswordComponent, selector: "c8y-recover-password", outputs: ["onChangeView"] }, { kind: "component", type: i11.ChangePasswordComponent, selector: "c8y-change-password", inputs: ["credentials"], outputs: ["onChangeView"] }, { kind: "component", type: i12.CredentialsComponent, selector: "c8y-credentials", inputs: ["loginViewParams"], outputs: ["onChangeView"] }, { kind: "component", type: i13.TotpAuthComponent, selector: "c8y-totp-auth", inputs: ["credentials", "view"], outputs: ["onCancel"] }, { kind: "component", type: i14.TenantIdSetupComponent, selector: "c8y-tenant-id-setup", outputs: ["onChangeView"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
115
118
  }
116
119
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LoginComponent, decorators: [{
117
120
  type: Component,
118
- args: [{ selector: 'c8y-login', template: "<div\n class=\"loading card fadeInUp animated elevation-lg\"\n *ngIf=\"currentView !== LOGIN_VIEWS.None\"\n [ngSwitch]=\"currentView\"\n>\n <main class=\"card-block p-b-0\">\n <span class=\"mainlogo\"></span>\n\n <c8y-credentials\n *ngSwitchCase=\"LOGIN_VIEWS.Credentials\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [loginViewParams]=\"loginViewParams\"\n ></c8y-credentials>\n <c8y-recover-password\n *ngSwitchCase=\"LOGIN_VIEWS.RecoverPassword\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n ></c8y-recover-password>\n <c8y-change-password\n *ngSwitchCase=\"LOGIN_VIEWS.ChangePassword\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [credentials]=\"credentials\"\n ></c8y-change-password>\n <c8y-totp-auth\n *ngSwitchCase=\"LOGIN_VIEWS.TotpChallenge\"\n (onCancel)=\"reset()\"\n [view]=\"currentView\"\n [credentials]=\"credentials\"\n ></c8y-totp-auth>\n <c8y-totp-auth\n *ngSwitchCase=\"LOGIN_VIEWS.TotpSetup\"\n (onCancel)=\"reset()\"\n [view]=\"currentView\"\n [credentials]=\"credentials\"\n ></c8y-totp-auth>\n <c8y-sms-challenge\n *ngSwitchCase=\"LOGIN_VIEWS.SmsChallenge\"\n (onCancel)=\"reset()\"\n [credentials]=\"credentials\"\n ></c8y-sms-challenge>\n\n <c8y-provide-phone-number\n *ngSwitchCase=\"LOGIN_VIEWS.ProvidePhoneNumber\"\n (onCancel)=\"reset()\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [credentials]=\"credentials\"\n ></c8y-provide-phone-number>\n <c8y-tenant-id-setup\n *ngSwitchCase=\"LOGIN_VIEWS.TenantIdSetup\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n ></c8y-tenant-id-setup>\n\n <c8y-alert-outlet position=\"static\"></c8y-alert-outlet>\n </main>\n</div>\n" }]
119
- }], ctorParameters: function () { return [{ type: i1.LoginService }, { type: i2.OptionsService }, { type: i3.AlertService }, { type: i4.CredentialsFromQueryParamsService }]; }, propDecorators: { name: [{
121
+ args: [{ selector: 'c8y-login', template: "<div\n class=\"loading card fadeInUp animated elevation-lg\"\n *ngIf=\"currentView !== LOGIN_VIEWS.None\"\n [ngSwitch]=\"currentView\"\n>\n <main class=\"card-block p-b-0\">\n <span class=\"mainlogo\"></span>\n\n <c8y-credentials\n *ngSwitchCase=\"LOGIN_VIEWS.Credentials\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [loginViewParams]=\"loginViewParams\"\n ></c8y-credentials>\n <c8y-recover-password\n *ngSwitchCase=\"LOGIN_VIEWS.RecoverPassword\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n ></c8y-recover-password>\n <c8y-change-password\n *ngSwitchCase=\"LOGIN_VIEWS.ChangePassword\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [credentials]=\"credentials\"\n ></c8y-change-password>\n <c8y-totp-auth\n *ngSwitchCase=\"LOGIN_VIEWS.TotpChallenge\"\n (onCancel)=\"reset()\"\n [view]=\"currentView\"\n [credentials]=\"credentials\"\n ></c8y-totp-auth>\n <c8y-totp-auth\n *ngSwitchCase=\"LOGIN_VIEWS.TotpSetup\"\n (onCancel)=\"reset()\"\n [view]=\"currentView\"\n [credentials]=\"credentials\"\n ></c8y-totp-auth>\n <c8y-sms-challenge\n *ngSwitchCase=\"LOGIN_VIEWS.SmsChallenge\"\n (onCancel)=\"reset()\"\n [credentials]=\"credentials\"\n ></c8y-sms-challenge>\n\n <c8y-provide-phone-number\n *ngSwitchCase=\"LOGIN_VIEWS.ProvidePhoneNumber\"\n (onCancel)=\"reset()\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n [credentials]=\"credentials\"\n ></c8y-provide-phone-number>\n <c8y-tenant-id-setup\n *ngSwitchCase=\"LOGIN_VIEWS.TenantIdSetup\"\n (onChangeView)=\"handleLoginTemplate($event)\"\n ></c8y-tenant-id-setup>\n\n <div\n class=\"text-center m-t-8\"\n *ngIf=\"!!(ui.state$ | async).loginExtraLink\"\n >\n <div *ngIf=\"!!(ui.state$ | async).loginExtraLink.length; else singleExtraLink\">\n <a\n class=\"small d-block m-t-8\"\n title=\"{{ link.label }}\"\n role=\"button\"\n *ngFor=\"let link of (ui.state$ | async).loginExtraLink\"\n [href]=\"link.url\"\n >\n {{ link.label }}\n </a>\n </div>\n <ng-template #singleExtraLink>\n <a\n class=\"small\"\n title=\"{{ (ui.state$ | async).loginExtraLink.label }}\"\n role=\"button\"\n [href]=\"(ui.state$ | async).loginExtraLink.url\"\n >\n {{ (ui.state$ | async).loginExtraLink.label }}\n </a>\n </ng-template>\n </div>\n\n <c8y-alert-outlet position=\"static\"></c8y-alert-outlet>\n </main>\n</div>\n" }]
122
+ }], ctorParameters: function () { return [{ type: i1.LoginService }, { type: i2.OptionsService }, { type: i3.AlertService }, { type: i4.CredentialsFromQueryParamsService }, { type: i5.AppStateService }]; }, propDecorators: { name: [{
120
123
  type: Input
121
124
  }], onkeyup: [{
122
125
  type: HostListener,
123
126
  args: ['keyup', ['$event']]
124
127
  }] } });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9sb2dpbi9sb2dpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFlBQVksRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFRNUYsTUFBTSxPQUFPLGNBQWM7SUFhekI7O09BRUc7SUFDSCxZQUNTLFlBQTBCLEVBQ3pCLE9BQXVCLEVBQ3ZCLEtBQW1CLEVBQ25CLGlDQUFvRTtRQUhyRSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUN6QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBQ25CLHNDQUFpQyxHQUFqQyxpQ0FBaUMsQ0FBbUM7UUFuQjlFLGdCQUFXLEdBQWUsVUFBVSxDQUFDLElBQUksQ0FBQztRQUMxQyxnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUV6QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSWpCLGdCQUFXLEdBQWlCLEVBQUUsQ0FBQztRQUMvQixvQkFBZSxHQUF3RCxFQUFFLENB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LENBQUMsQ0FBQztTQUM5RjthQUFNLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUM5QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7U0FDOUQ7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQVMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3pELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLGdCQUFnQjtTQUNoRTtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzsrR0F0R1UsY0FBYzttR0FBZCxjQUFjLGdJQ2YzQixveERBc0RBOzs0RkR2Q2EsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXOzJNQVVaLElBQUk7c0JBQVosS0FBSztnQkE2QzZCLE9BQU87c0JBQXpDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNyZWRlbnRpYWxzLCBUZW5hbnRMb2dpbk9wdGlvblR5cGUgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuL2xvZ2luLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2luVmlld3MgfSBmcm9tICcuL2xvZ2luLm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5pbXBvcnQgeyBDcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtc1NlcnZpY2UgfSBmcm9tICcuL2NyZWRlbnRpYWxzLWZyb20tcXVlcnktcGFyYW1zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlZGVudGlhbHNDb21wb25lbnRQYXJhbXMgfSBmcm9tICcuL2NyZWRlbnRpYWxzLWNvbXBvbmVudC1wYXJhbXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktbG9naW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBjdXJyZW50VmlldzogTG9naW5WaWV3cyA9IExvZ2luVmlld3MuTm9uZTtcbiAgTE9HSU5fVklFV1MgPSBMb2dpblZpZXdzO1xuXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuXG4gIGNyZWRlbnRpYWxzOiBJQ3JlZGVudGlhbHMgPSB7fTtcbiAgbG9naW5WaWV3UGFyYW1zOiBDcmVkZW50aWFsc0NvbXBvbmVudFBhcmFtcyB8IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgZGlzcGxheUFsZXJ0cyA9IGZhbHNlO1xuICBwcml2YXRlIFRPS0VOX1BBUkFNID0gJ3Rva2VuJztcblxuICAvKipcbiAgICogSnVzdCBESS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBsb2dpblNlcnZpY2U6IExvZ2luU2VydmljZSxcbiAgICBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnQ6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGNyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zU2VydmljZTogQ3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXNTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0UmVzZXRQYXNzd29yZFRva2VuKCk7XG4gICAgaWYgKHRoaXMubG9naW5TZXJ2aWNlLmlzRmlyc3RMb2dpbikge1xuICAgICAgaWYgKCF0b2tlbikge1xuICAgICAgICB0aGlzLmxvZ2luQXV0b21hdGljYWxseSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jcmVkZW50aWFscy50b2tlbiA9IHRva2VuO1xuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMubG9naW5TZXJ2aWNlLmlzRmlyc3RMb2dpbiA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gbWFrZSBzdXJlIHRoYXQgd2UgZG8gbm90IGhhdmUgYW55IHF1ZXJ5UGFyYW1ldGVycyByZWxhdGVkIHRvIGNyZWRlbnRpYWxzIGFmdGVyIGxvZ2dpbmcgaW4gb3IgZXZlbiBpZiB3ZSB3ZXJlIGFscmVhZHkgbG9nZ2VkIGluLlxuICAgIHRoaXMuY3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXNTZXJ2aWNlLnJlbW92ZUNyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zKCk7XG4gIH1cblxuICBoYW5kbGVMb2dpblRlbXBsYXRlKGV2ZW50OiB7XG4gICAgdmlldzogTG9naW5WaWV3cztcbiAgICBjcmVkZW50aWFscz86IElDcmVkZW50aWFscztcbiAgICBsb2dpblZpZXdQYXJhbXM/OiBDcmVkZW50aWFsc0NvbXBvbmVudFBhcmFtcyB8IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIH0pIHtcbiAgICB0aGlzLmN1cnJlbnRWaWV3ID0gZXZlbnQudmlldztcbiAgICB0aGlzLmNyZWRlbnRpYWxzID0gZXZlbnQuY3JlZGVudGlhbHMgfHwge307XG4gICAgdGhpcy5sb2dpblZpZXdQYXJhbXMgPSBldmVudC5sb2dpblZpZXdQYXJhbXMgfHwge307XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pIG9ua2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLmxvZ2luU2VydmljZS5jbGVhbk1lc3NhZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5sb2dpblNlcnZpY2UucmVzZXQoKTtcbiAgICB0aGlzLnNldFZpZXcoKTtcbiAgICB0aGlzLmxvZ2luU2VydmljZS5jbGVhbk1lc3NhZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvZ2luQXV0b21hdGljYWxseSgpIHtcbiAgICB0aGlzLmxvZ2luU2VydmljZS5hdXRvbWF0aWNMb2dpbkluUHJvZ3Jlc3MkLm5leHQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMubG9naW5TZXJ2aWNlLmxvZ2luKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc3QgcHJlZmVycmVkTG9naW5PcHRpb25UeXBlID0gdGhpcy5sb2dpblNlcnZpY2UubG9naW5Nb2RlLnR5cGU7XG4gICAgICBpZiAocHJlZmVycmVkTG9naW5PcHRpb25UeXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyKSB7XG4gICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnJlZGlyZWN0VG9PYXV0aCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcHJlZmVycmVkTG9naW5PcHRpb25UeXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyX0lOVEVSTkFMICYmXG4gICAgICAgICAgd2luZG93LmxvY2F0aW9uLnByb3RvY29sICE9PSAnaHR0cHM6J1xuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0LmRhbmdlcihnZXR0ZXh0KCdDdXJyZW50IGxvZ2luIG1vZGUgb25seSBzdXBwb3J0cyBIVFRQUy4nKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS5yZXMgJiYgZS5yZXMuc3RhdHVzID09PSA0MDMpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0LmFkZFNlcnZlckZhaWx1cmUoZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5sb2dpblNlcnZpY2UuYXV0b21hdGljTG9naW5JblByb2dyZXNzJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmlldygpIHtcbiAgICBpZiAodGhpcy5jcmVkZW50aWFscyAmJiB0aGlzLmNyZWRlbnRpYWxzLnRva2VuKSB7XG4gICAgICB0aGlzLmhhbmRsZUxvZ2luVGVtcGxhdGUoeyB2aWV3OiBMb2dpblZpZXdzLkNoYW5nZVBhc3N3b3JkLCBjcmVkZW50aWFsczogdGhpcy5jcmVkZW50aWFscyB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubG9naW5TZXJ2aWNlLnNob3dUZW5hbnRTZXR1cCgpKSB7XG4gICAgICB0aGlzLmhhbmRsZUxvZ2luVGVtcGxhdGUoeyB2aWV3OiBMb2dpblZpZXdzLlRlbmFudElkU2V0dXAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFuZGxlTG9naW5UZW1wbGF0ZSh7IHZpZXc6IExvZ2luVmlld3MuQ3JlZGVudGlhbHMgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXNldFBhc3N3b3JkVG9rZW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMub3B0aW9ucy5nZXQ8c3RyaW5nPih0aGlzLlRPS0VOX1BBUkFNKTtcbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIHRoaXMub3B0aW9ucy5zZXQodGhpcy5UT0tFTl9QQVJBTSwgdW5kZWZpbmVkKTsgLy8gb25seSB1c2Ugb25jZVxuICAgIH1cbiAgICByZXR1cm4gdG9rZW47XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJsb2FkaW5nIGNhcmQgZmFkZUluVXAgYW5pbWF0ZWQgZWxldmF0aW9uLWxnXCJcbiAgKm5nSWY9XCJjdXJyZW50VmlldyAhPT0gTE9HSU5fVklFV1MuTm9uZVwiXG4gIFtuZ1N3aXRjaF09XCJjdXJyZW50Vmlld1wiXG4+XG4gIDxtYWluIGNsYXNzPVwiY2FyZC1ibG9jayBwLWItMFwiPlxuICAgIDxzcGFuIGNsYXNzPVwibWFpbmxvZ29cIj48L3NwYW4+XG5cbiAgICA8Yzh5LWNyZWRlbnRpYWxzXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiTE9HSU5fVklFV1MuQ3JlZGVudGlhbHNcIlxuICAgICAgKG9uQ2hhbmdlVmlldyk9XCJoYW5kbGVMb2dpblRlbXBsYXRlKCRldmVudClcIlxuICAgICAgW2xvZ2luVmlld1BhcmFtc109XCJsb2dpblZpZXdQYXJhbXNcIlxuICAgID48L2M4eS1jcmVkZW50aWFscz5cbiAgICA8Yzh5LXJlY292ZXItcGFzc3dvcmRcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJMT0dJTl9WSUVXUy5SZWNvdmVyUGFzc3dvcmRcIlxuICAgICAgKG9uQ2hhbmdlVmlldyk9XCJoYW5kbGVMb2dpblRlbXBsYXRlKCRldmVudClcIlxuICAgID48L2M4eS1yZWNvdmVyLXBhc3N3b3JkPlxuICAgIDxjOHktY2hhbmdlLXBhc3N3b3JkXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiTE9HSU5fVklFV1MuQ2hhbmdlUGFzc3dvcmRcIlxuICAgICAgKG9uQ2hhbmdlVmlldyk9XCJoYW5kbGVMb2dpblRlbXBsYXRlKCRldmVudClcIlxuICAgICAgW2NyZWRlbnRpYWxzXT1cImNyZWRlbnRpYWxzXCJcbiAgICA+PC9jOHktY2hhbmdlLXBhc3N3b3JkPlxuICAgIDxjOHktdG90cC1hdXRoXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiTE9HSU5fVklFV1MuVG90cENoYWxsZW5nZVwiXG4gICAgICAob25DYW5jZWwpPVwicmVzZXQoKVwiXG4gICAgICBbdmlld109XCJjdXJyZW50Vmlld1wiXG4gICAgICBbY3JlZGVudGlhbHNdPVwiY3JlZGVudGlhbHNcIlxuICAgID48L2M4eS10b3RwLWF1dGg+XG4gICAgPGM4eS10b3RwLWF1dGhcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJMT0dJTl9WSUVXUy5Ub3RwU2V0dXBcIlxuICAgICAgKG9uQ2FuY2VsKT1cInJlc2V0KClcIlxuICAgICAgW3ZpZXddPVwiY3VycmVudFZpZXdcIlxuICAgICAgW2NyZWRlbnRpYWxzXT1cImNyZWRlbnRpYWxzXCJcbiAgICA+PC9jOHktdG90cC1hdXRoPlxuICAgIDxjOHktc21zLWNoYWxsZW5nZVxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIkxPR0lOX1ZJRVdTLlNtc0NoYWxsZW5nZVwiXG4gICAgICAob25DYW5jZWwpPVwicmVzZXQoKVwiXG4gICAgICBbY3JlZGVudGlhbHNdPVwiY3JlZGVudGlhbHNcIlxuICAgID48L2M4eS1zbXMtY2hhbGxlbmdlPlxuXG4gICAgPGM4eS1wcm92aWRlLXBob25lLW51bWJlclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIkxPR0lOX1ZJRVdTLlByb3ZpZGVQaG9uZU51bWJlclwiXG4gICAgICAob25DYW5jZWwpPVwicmVzZXQoKVwiXG4gICAgICAob25DaGFuZ2VWaWV3KT1cImhhbmRsZUxvZ2luVGVtcGxhdGUoJGV2ZW50KVwiXG4gICAgICBbY3JlZGVudGlhbHNdPVwiY3JlZGVudGlhbHNcIlxuICAgID48L2M4eS1wcm92aWRlLXBob25lLW51bWJlcj5cbiAgICA8Yzh5LXRlbmFudC1pZC1zZXR1cFxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIkxPR0lOX1ZJRVdTLlRlbmFudElkU2V0dXBcIlxuICAgICAgKG9uQ2hhbmdlVmlldyk9XCJoYW5kbGVMb2dpblRlbXBsYXRlKCRldmVudClcIlxuICAgID48L2M4eS10ZW5hbnQtaWQtc2V0dXA+XG5cbiAgICA8Yzh5LWFsZXJ0LW91dGxldCBwb3NpdGlvbj1cInN0YXRpY1wiPjwvYzh5LWFsZXJ0LW91dGxldD5cbiAgPC9tYWluPlxuPC9kaXY+XG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9sb2dpbi9sb2dpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLFlBQVksRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRTVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQU83RCxNQUFNLE9BQU8sY0FBYztJQWF6Qjs7T0FFRztJQUNILFlBQ1MsWUFBMEIsRUFDekIsT0FBdUIsRUFDdkIsS0FBbUIsRUFDbkIsaUNBQW9FLEVBQ3JFLEVBQW1CO1FBSm5CLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQUNyRSxPQUFFLEdBQUYsRUFBRSxDQUFpQjtRQXBCNUIsZ0JBQVcsR0FBZSxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQzFDLGdCQUFXLEdBQUcsVUFBVSxD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SSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzlGO2FBQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztTQUM5RDthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBUyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekQsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCO1NBQ2hFO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOytHQXZHVSxjQUFjO21HQUFkLGNBQWMsZ0lDaEIzQixvbEZBaUZBOzs0RkRqRWEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXO3lPQVVaLElBQUk7c0JBQVosS0FBSztnQkE4QzZCLE9BQU87c0JBQXpDLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBIb3N0TGlzdGVuZXIsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUNyZWRlbnRpYWxzLCBUZW5hbnRMb2dpbk9wdGlvblR5cGUgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuL2xvZ2luLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vb3B0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7IExvZ2luVmlld3MgfSBmcm9tICcuL2xvZ2luLm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5pbXBvcnQgeyBDcmVkZW50aWFsc0Zyb21RdWVyeVBhcmFtc1NlcnZpY2UgfSBmcm9tICcuL2NyZWRlbnRpYWxzLWZyb20tcXVlcnktcGFyYW1zLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ3JlZGVudGlhbHNDb21wb25lbnRQYXJhbXMgfSBmcm9tICcuL2NyZWRlbnRpYWxzLWNvbXBvbmVudC1wYXJhbXMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktbG9naW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vbG9naW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBjdXJyZW50VmlldzogTG9naW5WaWV3cyA9IExvZ2luVmlld3MuTm9uZTtcbiAgTE9HSU5fVklFV1MgPSBMb2dpblZpZXdzO1xuXG4gIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuXG4gIGNyZWRlbnRpYWxzOiBJQ3JlZGVudGlhbHMgPSB7fTtcbiAgbG9naW5WaWV3UGFyYW1zOiBDcmVkZW50aWFsc0NvbXBvbmVudFBhcmFtcyB8IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgZGlzcGxheUFsZXJ0cyA9IGZhbHNlO1xuICBwcml2YXRlIFRPS0VOX1BBUkFNID0gJ3Rva2VuJztcblxuICAvKipcbiAgICogSnVzdCBESS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBsb2dpblNlcnZpY2U6IExvZ2luU2VydmljZSxcbiAgICBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYWxlcnQ6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGNyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zU2VydmljZTogQ3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXNTZXJ2aWNlLFxuICAgIHB1YmxpYyB1aTogQXBwU3RhdGVTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0UmVzZXRQYXNzd29yZFRva2VuKCk7XG4gICAgaWYgKHRoaXMubG9naW5TZXJ2aWNlLmlzRmlyc3RMb2dpbikge1xuICAgICAgaWYgKCF0b2tlbikge1xuICAgICAgICB0aGlzLmxvZ2luQXV0b21hdGljYWxseSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jcmVkZW50aWFscy50b2tlbiA9IHRva2VuO1xuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMubG9naW5TZXJ2aWNlLmlzRmlyc3RMb2dpbiA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8gbWFrZSBzdXJlIHRoYXQgd2UgZG8gbm90IGhhdmUgYW55IHF1ZXJ5UGFyYW1ldGVycyByZWxhdGVkIHRvIGNyZWRlbnRpYWxzIGFmdGVyIGxvZ2dpbmcgaW4gb3IgZXZlbiBpZiB3ZSB3ZXJlIGFscmVhZHkgbG9nZ2VkIGluLlxuICAgIHRoaXMuY3JlZGVudGlhbHNGcm9tUXVlcnlQYXJhbXNTZXJ2aWNlLnJlbW92ZUNyZWRlbnRpYWxzRnJvbVF1ZXJ5UGFyYW1zKCk7XG4gIH1cblxuICBoYW5kbGVMb2dpblRlbXBsYXRlKGV2ZW50OiB7XG4gICAgdmlldzogTG9naW5WaWV3cztcbiAgICBjcmVkZW50aWFscz86IElDcmVkZW50aWFscztcbiAgICBsb2dpblZpZXdQYXJhbXM/OiBDcmVkZW50aWFsc0NvbXBvbmVudFBhcmFtcyB8IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIH0pIHtcbiAgICB0aGlzLmN1cnJlbnRWaWV3ID0gZXZlbnQudmlldztcbiAgICB0aGlzLmNyZWRlbnRpYWxzID0gZXZlbnQuY3JlZGVudGlhbHMgfHwge307XG4gICAgdGhpcy5sb2dpblZpZXdQYXJhbXMgPSBldmVudC5sb2dpblZpZXdQYXJhbXMgfHwge307XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pIG9ua2V5dXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLmxvZ2luU2VydmljZS5jbGVhbk1lc3NhZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgdGhpcy5sb2dpblNlcnZpY2UucmVzZXQoKTtcbiAgICB0aGlzLnNldFZpZXcoKTtcbiAgICB0aGlzLmxvZ2luU2VydmljZS5jbGVhbk1lc3NhZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvZ2luQXV0b21hdGljYWxseSgpIHtcbiAgICB0aGlzLmxvZ2luU2VydmljZS5hdXRvbWF0aWNMb2dpbkluUHJvZ3Jlc3MkLm5leHQodHJ1ZSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMubG9naW5TZXJ2aWNlLmxvZ2luKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc3QgcHJlZmVycmVkTG9naW5PcHRpb25UeXBlID0gdGhpcy5sb2dpblNlcnZpY2UubG9naW5Nb2RlLnR5cGU7XG4gICAgICBpZiAocHJlZmVycmVkTG9naW5PcHRpb25UeXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyKSB7XG4gICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnJlZGlyZWN0VG9PYXV0aCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgcHJlZmVycmVkTG9naW5PcHRpb25UeXBlID09PSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuT0FVVEgyX0lOVEVSTkFMICYmXG4gICAgICAgICAgd2luZG93LmxvY2F0aW9uLnByb3RvY29sICE9PSAnaHR0cHM6J1xuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0LmRhbmdlcihnZXR0ZXh0KCdDdXJyZW50IGxvZ2luIG1vZGUgb25seSBzdXBwb3J0cyBIVFRQUy4nKSk7XG4gICAgICAgIH0gZWxzZSBpZiAoZS5yZXMgJiYgZS5yZXMuc3RhdHVzID09PSA0MDMpIHtcbiAgICAgICAgICB0aGlzLmFsZXJ0LmFkZFNlcnZlckZhaWx1cmUoZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5sb2dpblNlcnZpY2UuYXV0b21hdGljTG9naW5JblByb2dyZXNzJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VmlldygpIHtcbiAgICBpZiAodGhpcy5jcmVkZW50aWFscyAmJiB0aGlzLmNyZWRlbnRpYWxzLnRva2VuKSB7XG4gICAgICB0aGlzLmhhbmRsZUxvZ2luVGVtcGxhdGUoeyB2aWV3OiBMb2dpblZpZXdzLkNoYW5nZVBhc3N3b3JkLCBjcmVkZW50aWFsczogdGhpcy5jcmVkZW50aWFscyB9KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubG9naW5TZXJ2aWNlLnNob3dUZW5hbnRTZXR1cCgpKSB7XG4gICAgICB0aGlzLmhhbmRsZUxvZ2luVGVtcGxhdGUoeyB2aWV3OiBMb2dpblZpZXdzLlRlbmFudElkU2V0dXAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFuZGxlTG9naW5UZW1wbGF0ZSh7IHZpZXc6IExvZ2luVmlld3MuQ3JlZGVudGlhbHMgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXNldFBhc3N3b3JkVG9rZW4oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMub3B0aW9ucy5nZXQ8c3RyaW5nPih0aGlzLlRPS0VOX1BBUkFNKTtcbiAgICBpZiAodG9rZW4pIHtcbiAgICAgIHRoaXMub3B0aW9ucy5zZXQodGhpcy5UT0tFTl9QQVJBTSwgdW5kZWZpbmVkKTsgLy8gb25seSB1c2Ugb25jZVxuICAgIH1cbiAgICByZXR1cm4gdG9rZW47XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJsb2FkaW5nIGNhcmQgZmFkZUluVXAgYW5pbWF0ZWQgZWxldmF0aW9uLWxnXCJcbiAgKm5nSWY9XCJjdXJyZW50VmlldyAhPT0gTE9HSU5fVklFV1MuTm9uZVwiXG4gIFtuZ1N3aXRjaF09XCJjdXJyZW50Vmlld1wiXG4+XG4gIDxtYWluIGNsYXNzPVwiY2FyZC1ibG9jayBwLWItMFwiPlxuICAgIDxzcGFuIGNsYXNzPVwibWFpbmxvZ29cIj48L3NwYW4+XG5cbiAgICA8Yzh5LWNyZWRlbnRpYWxzXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiTE9HSU5fVklFV1MuQ3JlZGVudGlhbHNcIlxuICAgICAgKG9uQ2hhbmdlVmlldyk9XCJoYW5kbGVMb2dpblRlbXBsYXRlKCRldmVudClcIlxuICAgICAgW2xvZ2luVmlld1BhcmFtc109XCJsb2dpblZpZXdQYXJhbXNcIlxuICAgID48L2M4eS1jcmVkZW50aWFscz5cbiAgICA8Yzh5LXJlY292ZXItcGFzc3dvcmRcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJMT0dJTl9WSUVXUy5SZWNvdmVyUGFzc3dvcmRcIlxuICAgICAgKG9uQ2hhbmdlVmlldyk9XCJoYW5kbGVMb2dpblRlbXBsYXRlKCRldmVudClcIlxuICAgID48L2M4eS1yZWNvdmVyLXBhc3N3b3JkPlxuICAgIDxjOHktY2hhbmdlLXBhc3N3b3JkXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiTE9HSU5fVklFV1MuQ2hhbmdlUGFzc3dvcmRcIlxuICAgICAgKG9uQ2hhbmdlVmlldyk9XCJoYW5kbGVMb2dpblRlbXBsYXRlKCRldmVudClcIlxuICAgICAgW2NyZWRlbnRpYWxzXT1cImNyZWRlbnRpYWxzXCJcbiAgICA+PC9jOHktY2hhbmdlLXBhc3N3b3JkPlxuICAgIDxjOHktdG90cC1hdXRoXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiTE9HSU5fVklFV1MuVG90cENoYWxsZW5nZVwiXG4gICAgICAob25DYW5jZWwpPVwicmVzZXQoKVwiXG4gICAgICBbdmlld109XCJjdXJyZW50Vmlld1wiXG4gICAgICBbY3JlZGVudGlhbHNdPVwiY3JlZGVudGlhbHNcIlxuICAgID48L2M4eS10b3RwLWF1dGg+XG4gICAgPGM4eS10b3RwLWF1dGhcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJMT0dJTl9WSUVXUy5Ub3RwU2V0dXBcIlxuICAgICAgKG9uQ2FuY2VsKT1cInJlc2V0KClcIlxuICAgICAgW3ZpZXddPVwiY3VycmVudFZpZXdcIlxuICAgICAgW2NyZWRlbnRpYWxzXT1cImNyZWRlbnRpYWxzXCJcbiAgICA+PC9jOHktdG90cC1hdXRoPlxuICAgIDxjOHktc21zLWNoYWxsZW5nZVxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIkxPR0lOX1ZJRVdTLlNtc0NoYWxsZW5nZVwiXG4gICAgICAob25DYW5jZWwpPVwicmVzZXQoKVwiXG4gICAgICBbY3JlZGVudGlhbHNdPVwiY3JlZGVudGlhbHNcIlxuICAgID48L2M4eS1zbXMtY2hhbGxlbmdlPlxuXG4gICAgPGM4eS1wcm92aWRlLXBob25lLW51bWJlclxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIkxPR0lOX1ZJRVdTLlByb3ZpZGVQaG9uZU51bWJlclwiXG4gICAgICAob25DYW5jZWwpPVwicmVzZXQoKVwiXG4gICAgICAob25DaGFuZ2VWaWV3KT1cImhhbmRsZUxvZ2luVGVtcGxhdGUoJGV2ZW50KVwiXG4gICAgICBbY3JlZGVudGlhbHNdPVwiY3JlZGVudGlhbHNcIlxuICAgID48L2M4eS1wcm92aWRlLXBob25lLW51bWJlcj5cbiAgICA8Yzh5LXRlbmFudC1pZC1zZXR1cFxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIkxPR0lOX1ZJRVdTLlRlbmFudElkU2V0dXBcIlxuICAgICAgKG9uQ2hhbmdlVmlldyk9XCJoYW5kbGVMb2dpblRlbXBsYXRlKCRldmVudClcIlxuICAgID48L2M4eS10ZW5hbnQtaWQtc2V0dXA+XG5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInRleHQtY2VudGVyIG0tdC04XCJcbiAgICAgICpuZ0lmPVwiISEodWkuc3RhdGUkIHwgYXN5bmMpLmxvZ2luRXh0cmFMaW5rXCJcbiAgICA+XG4gICAgICA8ZGl2ICpuZ0lmPVwiISEodWkuc3RhdGUkIHwgYXN5bmMpLmxvZ2luRXh0cmFMaW5rLmxlbmd0aDsgZWxzZSBzaW5nbGVFeHRyYUxpbmtcIj5cbiAgICAgICAgPGFcbiAgICAgICAgICBjbGFzcz1cInNtYWxsIGQtYmxvY2sgbS10LThcIlxuICAgICAgICAgIHRpdGxlPVwie3sgbGluay5sYWJlbCB9fVwiXG4gICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGxpbmsgb2YgKHVpLnN0YXRlJCB8IGFzeW5jKS5sb2dpbkV4dHJhTGlua1wiXG4gICAgICAgICAgW2hyZWZdPVwibGluay51cmxcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgbGluay5sYWJlbCB9fVxuICAgICAgICA8L2E+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2luZ2xlRXh0cmFMaW5rPlxuICAgICAgICA8YVxuICAgICAgICAgIGNsYXNzPVwic21hbGxcIlxuICAgICAgICAgIHRpdGxlPVwie3sgKHVpLnN0YXRlJCB8IGFzeW5jKS5sb2dpbkV4dHJhTGluay5sYWJlbCB9fVwiXG4gICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgW2hyZWZdPVwiKHVpLnN0YXRlJCB8IGFzeW5jKS5sb2dpbkV4dHJhTGluay51cmxcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgKHVpLnN0YXRlJCB8IGFzeW5jKS5sb2dpbkV4dHJhTGluay5sYWJlbCB9fVxuICAgICAgICA8L2E+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuXG4gICAgPGM4eS1hbGVydC1vdXRsZXQgcG9zaXRpb249XCJzdGF0aWNcIj48L2M4eS1hbGVydC1vdXRsZXQ+XG4gIDwvbWFpbj5cbjwvZGl2PlxuIl19