@senior-gestao-empresarial/angular-components 6.9.0 → 6.9.2

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.
Files changed (21) hide show
  1. package/bundles/senior-gestao-empresarial-angular-components.umd.js +99 -32
  2. package/bundles/senior-gestao-empresarial-angular-components.umd.js.map +1 -1
  3. package/bundles/senior-gestao-empresarial-angular-components.umd.min.js +1 -1
  4. package/bundles/senior-gestao-empresarial-angular-components.umd.min.js.map +1 -1
  5. package/components/lookups/entities/xt-integration/entity-person-product-lookup.d.ts +8 -0
  6. package/components/websocket/websocket.service.d.ts +5 -9
  7. package/esm2015/components/lookups/entities/xt-integration/entity-person-product-lookup.js +49 -0
  8. package/esm2015/components/lookups/erp-lookups.module.js +4 -2
  9. package/esm2015/components/websocket/websocket.service.js +49 -34
  10. package/esm2015/senior-gestao-empresarial-angular-components.js +4 -3
  11. package/esm5/components/lookups/entities/xt-integration/entity-person-product-lookup.js +52 -0
  12. package/esm5/components/lookups/erp-lookups.module.js +4 -2
  13. package/esm5/components/websocket/websocket.service.js +56 -36
  14. package/esm5/senior-gestao-empresarial-angular-components.js +4 -3
  15. package/fesm2015/senior-gestao-empresarial-angular-components.js +88 -30
  16. package/fesm2015/senior-gestao-empresarial-angular-components.js.map +1 -1
  17. package/fesm5/senior-gestao-empresarial-angular-components.js +98 -32
  18. package/fesm5/senior-gestao-empresarial-angular-components.js.map +1 -1
  19. package/package.json +1 -1
  20. package/senior-gestao-empresarial-angular-components.d.ts +3 -2
  21. package/senior-gestao-empresarial-angular-components.metadata.json +1 -1
@@ -0,0 +1,8 @@
1
+ import { TranslateService } from "@ngx-translate/core";
2
+ import { ErpLookups } from "../../erp-lookups";
3
+ import { ErpLookupsService } from "../../erp-lookups.service";
4
+ export declare class EntityPersonProductLookup extends ErpLookups {
5
+ protected lookupService: ErpLookupsService;
6
+ protected translate: TranslateService;
7
+ constructor(lookupService: ErpLookupsService, translate: TranslateService);
8
+ }
@@ -1,10 +1,8 @@
1
- import { FrameImpl } from "@stomp/stompjs";
2
- import { Observable } from "rxjs";
1
+ import { FrameImpl } from '@stomp/stompjs';
2
+ import { Observable } from 'rxjs';
3
3
  export declare class WebsocketService {
4
- /** @private */
5
- private static readonly RECONNECT_INTERVAL;
6
- /** @private */
7
- private static CONNECTION_TIMEOUT;
4
+ static readonly RECONNECT_INTERVAL = 3000;
5
+ static CONNECTION_TIMEOUT: number;
8
6
  /** @private */
9
7
  private static BASE_URL_COOKIE;
10
8
  /** @private */
@@ -22,9 +20,7 @@ export declare class WebsocketService {
22
20
  /** @private */
23
21
  private isConnecting;
24
22
  /** @private */
25
- private isReconnecting;
26
- /** @private */
27
- private primitiveManagers;
23
+ private readonly primitiveManagers;
28
24
  /** @private */
29
25
  private connect$;
30
26
  /** @private */
@@ -0,0 +1,49 @@
1
+ import { __decorate } from "tslib";
2
+ import { FieldType } from "@seniorsistemas/angular-components";
3
+ import { TranslateService } from "@ngx-translate/core";
4
+ import { Injectable } from "@angular/core";
5
+ import { ErpLookups } from "../../erp-lookups";
6
+ import { ErpLookupsService } from "../../erp-lookups.service";
7
+ let EntityPersonProductLookup = class EntityPersonProductLookup extends ErpLookups {
8
+ constructor(lookupService, translate) {
9
+ super(lookupService, translate, "entityFacade", [
10
+ {
11
+ name: "entityCode",
12
+ type: FieldType.String
13
+ },
14
+ {
15
+ name: "entityDesc",
16
+ type: FieldType.String
17
+ },
18
+ ], [
19
+ {
20
+ name: "entityCode",
21
+ type: FieldType.String
22
+ },
23
+ {
24
+ name: "entityDesc",
25
+ type: FieldType.String
26
+ },
27
+ ], [
28
+ {
29
+ name: "entityCode",
30
+ type: FieldType.String
31
+ },
32
+ {
33
+ name: "entityDesc",
34
+ type: FieldType.String
35
+ },
36
+ ], "erpx_cpl_xt", "integration");
37
+ this.lookupService = lookupService;
38
+ this.translate = translate;
39
+ }
40
+ };
41
+ EntityPersonProductLookup.ctorParameters = () => [
42
+ { type: ErpLookupsService },
43
+ { type: TranslateService }
44
+ ];
45
+ EntityPersonProductLookup = __decorate([
46
+ Injectable()
47
+ ], EntityPersonProductLookup);
48
+ export { EntityPersonProductLookup };
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBlcnNvbi1wcm9kdWN0LWxvb2t1cC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbG9va3Vwcy9lbnRpdGllcy94dC1pbnRlZ3JhdGlvbi9lbnRpdHktcGVyc29uLXByb2R1Y3QtbG9va3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHOUQsSUFBYSx5QkFBeUIsR0FBdEMsTUFBYSx5QkFBMEIsU0FBUSxVQUFVO0lBQ3JELFlBQ2MsYUFBZ0MsRUFDaEMsU0FBMkI7UUFFckMsS0FBSyxDQUNELGFBQWEsRUFDYixTQUFTLEVBQ1QsY0FBYyxFQUNkO1lBQ0k7Z0JBQ0ksSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QjtZQUNEO2dCQUNJLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDekI7U0FDSixFQUNEO1lBQ0k7Z0JBQ0ksSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QjtZQUNEO2dCQUNJLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDekI7U0FDSixFQUNEO1lBQ0k7Z0JBQ0ksSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTthQUN6QjtZQUNEO2dCQUNJLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDekI7U0FDSixFQUNELGFBQWEsRUFDYixhQUFhLENBQ2hCLENBQUM7UUF2Q1Esa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBdUN6QyxDQUFDO0NBQ0osQ0FBQTs7WUF6Q2dDLGlCQUFpQjtZQUNyQixnQkFBZ0I7O0FBSGhDLHlCQUF5QjtJQURyQyxVQUFVLEVBQUU7R0FDQSx5QkFBeUIsQ0EyQ3JDO1NBM0NZLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCJAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzXCI7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBFcnBMb29rdXBzIH0gZnJvbSBcIi4uLy4uL2VycC1sb29rdXBzXCI7XG5pbXBvcnQgeyBFcnBMb29rdXBzU2VydmljZSB9IGZyb20gXCIuLi8uLi9lcnAtbG9va3Vwcy5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFbnRpdHlQZXJzb25Qcm9kdWN0TG9va3VwIGV4dGVuZHMgRXJwTG9va3VwcyB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBsb29rdXBTZXJ2aWNlOiBFcnBMb29rdXBzU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcihcbiAgICAgICAgICAgIGxvb2t1cFNlcnZpY2UsXG4gICAgICAgICAgICB0cmFuc2xhdGUsXG4gICAgICAgICAgICBcImVudGl0eUZhY2FkZVwiLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJlbnRpdHlDb2RlXCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJlbnRpdHlEZXNjXCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiZW50aXR5Q29kZVwiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiZW50aXR5RGVzY1wiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImVudGl0eUNvZGVcIixcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImVudGl0eURlc2NcIixcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJlcnB4X2NwbF94dFwiLFxuICAgICAgICAgICAgXCJpbnRlZ3JhdGlvblwiXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -106,6 +106,7 @@ import { E090HrpComGerLookup } from './entities/e-090-hrp-com-ger-lookup';
106
106
  import { AgreementLookup } from './entities/agreement-lookup';
107
107
  import { NotaFiscalEntradaLookup } from './entities/nota-fiscal-entrada-lookup';
108
108
  import { SegmentoLookup } from './entities/segmento-lookup';
109
+ import { EntityPersonProductLookup } from './entities/xt-integration/entity-person-product-lookup';
109
110
  let ErpLookupsModule = class ErpLookupsModule {
110
111
  };
111
112
  ErpLookupsModule = __decorate([
@@ -219,11 +220,12 @@ ErpLookupsModule = __decorate([
219
220
  E501TcpLookup,
220
221
  AgreementLookup,
221
222
  NotaFiscalEntradaLookup,
222
- SegmentoLookup
223
+ SegmentoLookup,
224
+ EntityPersonProductLookup
223
225
  ],
224
226
  declarations: [],
225
227
  exports: [],
226
228
  })
227
229
  ], ErpLookupsModule);
228
230
  export { ErpLookupsModule };
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWxvb2t1cHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9sb29rdXBzL2VycC1sb29rdXBzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEs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ICcuL2VudGl0aWVzL2UtNTAxLXRjcC1sb29rdXAnO1xuaW1wb3J0IHsgRTA2OUdyZUxvb2t1cCB9IGZyb20gJy4vZW50aXRpZXMvZS0wNjktZ3JlLWxvb2t1cCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBIdHRwSW50ZXJjZXB0b3JNb2R1bGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL3BsYXRmb3JtLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IEUwMDFFbmRMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAwMS1lbmQtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDAxUGVzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMDEtcGVzLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAwMVRuc0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDAxLXRucy1sb29rdXBcIjtcbmltcG9ydCB7IEUwMDFUbnNTdXBFc3RMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAwMS10bnMtc3VwLWVzdC1sb29rdXBcIjtcbmltcG9ydCB7IEUwMDJUcHRMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAwMi10cHQtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDA3VWZzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMDctdWZzLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAwOENlcExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDA4LWNlcC1sb29rdXBcIjtcbmltcG9ydCB7IEUwMDhSYWlMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAwOC1yYWktbG9va3VwXCI7XG5pbXBvcnQgeyBFMDEyRmFtTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMTItZmFtLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAxNU1lZExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDE1LW1lZC1sb29rdXBcIjtcbmltcG9ydCB7IEUwMjBTbmZMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAyMC1zbmYtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDIxTW90TG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMjEtbW90LWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAyM0NycExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDIzLWNycC1sb29rdXBcIjtcbmltcG9ydCB7IEUwMjRNc2dMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAyNC1tc2ctbG9va3VwXCI7XG5pbXBvcnQgeyBFMDI3RXFpTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMjctZXFpLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAyN1N0ckxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDI3LXN0ci1sb29rdXBcIjtcbmltcG9ydCB7IEUwMjhDcGdMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAyOC1jcGctbG9va3VwXCI7XG5pbXBvcnQgeyBFMDMwQWdlTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMzAtYWdlLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAzMEJhbkxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDMwLWJhbi1sb29rdXBcIjtcbmltcG9ydCB7IEUwMzFNb2VMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAzMS1tb2UtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDMyRWRjTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMzItZWRjLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAzNU9jckxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDM1LW9jci1sb29rdXBcIjtcbmltcG9ydCB7IEUwMzZJbnNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAzNi1pbnMtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDM5UG9yTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMzktcG9yLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA0NENjdUZpblJhdERlcExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDQ0LWNjdS1maW4tcmF0LWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA0NENjdUxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDQ0LWNjdS1sb29rdXBcIjtcbmltcG9ydCB7IEUwNDVQbGFMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA0NS1wbGEtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDQ2SHBkTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNDYtaHBkLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA0N050Z0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDQ3LW50Zy1sb29rdXBcIjtcbmltcG9ydCB7IEUwNTFEaXNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA1MS1kaXMtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDY2RnBnTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNjYtZnBnLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA2N0Zpbkxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDY3LWZpbi1sb29rdXBcIjtcbmltcG9ydCB7IEUwNzBFbXBMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA3MC1lbXAtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDcwRW50TG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNzAtZW50LWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA3MEZpbExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDcwLWZpbC1sb29rdXBcIjtcbmltcG9ydCB7IEUwNzNQZXNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA3My1wZXMtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDczVmVpTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNzMtdmVpLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA3NURlckxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDc1LWRlci1sb29rdXBcIjtcbmltcG9ydCB7IEUwODBTZXJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA4MC1zZXItbG9va3VwXCI7XG5pbXBvcnQgeyBFMDgxVGFiTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wODEtdGFiLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA4MlRwckxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDgyLXRwci1sb29rdXBcIjtcbmltcG9ydCB7IEUwODVQZXNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA4NS1wZXMtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDkwUGVzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wOTAtcGVzLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA5MVBsZkZpblJhdExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDkxLXBsZi1maW4tcmF0LWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA5NVBlc0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDk1LXBlcy1sb29rdXBcIjtcbmltcG9ydCB7IEUwOTlVc3VDb21HZXJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA5OS11c3UtY29tLWdlci1sb29rdXBcIjtcbmltcG9ydCB7IEUxNDBJbnNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTE0MC1pbnMtbG9va3VwXCI7XG5pbXBvcnQgeyBFMTQwTmZzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0xNDAtbmZzLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTIwMExvdExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMjAwLWxvdC1sb29rdXBcIjtcbmltcG9ydCB7IEUyMDBTZXJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTIwMC1zZXItbG9va3VwXCI7XG5pbXBvcnQgeyBFMjA1RGVwTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0yMDUtZGVwLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTIxMER4cEUwNzVEZXJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTIxMC1keHAtZS0wNzUtZGVyLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTIxMER4cExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMjEwLWR4cC1sb29rdXBcIjtcbmltcG9ydCB7IEUzMDFUY3JMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTMwMS10Y3ItbG9va3VwXCI7XG5pbXBvcnQgeyBFNDAzRnByTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS00MDMtZnByLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTQyMEljcExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtNDIwLWljcC1sb29rdXBcIjtcbmltcG9ydCB7IEU0MjBJcGNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTQyMC1pcGMtbG9va3VwXCI7XG5pbXBvcnQgeyBFNDIwT2NwTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS00MjAtb2NwLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTYwMENjb0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtNjAwLWNjby1sb29rdXBcIjtcbmltcG9ydCB7IEU2NDBMb3RMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTY0MC1sb3QtbG9va3VwXCI7XG5pbXBvcnQgeyBMaWdhY2FvSXRlbUZvcm5lY2Vkb3JMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9saWdhY2FvLWl0ZW0tZm9ybmVjZWRvci1sb29rdXBcIjtcbmltcG9ydCB7IE5jbUxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL25jbS1sb29rdXBcIjtcbmltcG9ydCB7IFByb2R1dG9TZXJ2aWNvTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcHJvZHV0b1NlcnZpY28tbG9va3VwXCI7XG5pbXBvcnQgeyBRdWFudGlkYWRlRGlzcG9uaXZlbERlbWFuZGFMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9xdGQtZGlzcG9uaXZlbC1kZW1hbmRhLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTAwMUVuZExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwMS1lbmQtbG9va3VwXCI7XG5pbXBvcnQgeyBDcGxUcmlOb3RhU2FpZGFFMDAxUGVzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDAxLXBlcy1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwMDFUbnNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMDEtdG5zLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTAwN1Vmc0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwNy11ZnMtbG9va3VwXCI7XG5pbXBvcnQgeyBDcGxUcmlOb3RhU2FpZGFFMDA4UmFpTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDA4LXJhaS1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwMjBTbmZMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMjAtc25mLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTAzMkVkY0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAzMi1lZGMtbG9va3VwXCI7XG5pbXBvcnQgeyBDcGxUcmlOb3RhU2FpZGFFMDcwRW1wTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDcwLWVtcC1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwNzBGaWxMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNzAtZmlsLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhTmNtTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLW5jbS1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwMTVNZWRMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMTUtbWVkLWxvb2t1cFwiO1xuaW1wb3J0IHsgUmVxdWlzaWNhb0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcXVpc2ljYW8tbG9va3VwXCI7XG5pbXBvcnQgeyBVbmlkYWRlTWVkaWRhTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvdW5pZGFkZS1tZWRpZGEtbG9va3VwXCI7XG5pbXBvcnQgeyBFcnBMb29rdXBzU2VydmljZSB9IGZyb20gXCIuL2VycC1sb29rdXBzLnNlcnZpY2VcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwNzVEZXJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNzUtZGVyLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTA4MFNlckxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA4MC1zZXItbG9va3VwXCI7XG5pbXBvcnQgeyBuYXR1cmV6YVJlY2VpdGFQaXNDb2ZpbnMgfSBmcm9tIFwiLi9lbnRpdGllcy9uYXR1cmV6YS1yZWNlaXRhLXBpcy1jb2ZpbnMubG9va3VwXCI7XG5pbXBvcnQgeyBFMDQ4RmN0TG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNDgtZmN0LWxvb2t1cFwiO1xuaW1wb3J0IHtcbiAgICBDcGxUcmlOb3RhU2FpZGFOYXR1cmV6YVJlY2VpdGFQaXNDb2ZpbnNMb29rdXBcbn0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLW5hdHVyZXphLXJlY2VpdGEtcGlzLWNvZmluc1wiO1xuaW1wb3J0IHsgRXF1aXBtZW50TG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZXF1aXBtZW50LWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhTmZTYWlkYUxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1uZi1zYWlkYS1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYU5mRW50cmFkYUxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1uZi1lbnRyYWRhLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTA2NkZwZ0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA2Ni1mcGctbG9va3VwXCI7XG5pbXBvcnQgeyBDcGxUcmlOb3RhU2FpZGFFMDI4Q3BnTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDI4LWNwZy1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwNTFEaXNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNTEtZGlzLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTAyNE1zZ0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAyNC1tc2ctbG9va3VwXCI7XG5pbXBvcnQgeyBFMDQ4U2ZjTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNDgtc2ZjLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3VycmVuY3lMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy93aXphcmQtZW50aXRpZXMvY3VycmVuY3ktbG9va3VwXCI7XG5pbXBvcnQgeyBDb3VudHJ5TG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvd2l6YXJkLWVudGl0aWVzL2NvdW50cnktbG9va3VwXCI7XG5pbXBvcnQgeyBCYW5rTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvd2l6YXJkLWVudGl0aWVzL2JhbmstbG9va3VwXCI7XG5pbXBvcnQgeyBUeXBlVGF4ZXNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9hcHVyYWNhby1mb3VuZGF0aW9uL3R5cGUtdGF4ZXMtbG9va3VwXCI7XG5pbXBvcnQgeyBQYXJhbWV0ZXJzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvYXB1cmFjYW8tZm91bmRhdGlvbi9wYXJhbWV0ZXJzLWxvb2t1cFwiO1xuaW1wb3J0IHsgQmVuZWZpY2lvRmlzY2FsTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvYmVuZWZpY2lvLWZpc2NhbC1sb29rdXBcIjtcbmltcG9ydCB7IERvY3VtZW50b0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2RvY3VtZW50by1sb29rdXBcIjtcbmltcG9ydCB7IEUwOTlVc3VTdXBDcHJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA5OS11c3Utc3VwLWNwci1sb29rdXBcIjtcbmltcG9ydCB7IEUwOTBIcnBDb21HZXJMb29rdXAgfSBmcm9tICcuL2VudGl0aWVzL2UtMDkwLWhycC1jb20tZ2VyLWxvb2t1cCc7XG5pbXBvcnQgeyBBZ3JlZW1lbnRMb29rdXAgfSBmcm9tICcuL2VudGl0aWVzL2FncmVlbWVudC1sb29rdXAnO1xuaW1wb3J0IHsgTm90YUZpc2NhbEVudHJhZGFMb29rdXAgfSBmcm9tICcuL2VudGl0aWVzL25vdGEtZmlzY2FsLWVudHJhZGEtbG9va3VwJztcbmltcG9ydCB7IFNlZ21lbnRvTG9va3VwIH0gZnJvbSAnLi9lbnRpdGllcy9zZWdtZW50by1sb29rdXAnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgSHR0cEludGVyY2VwdG9yTW9kdWxlXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgRXJwTG9va3Vwc1NlcnZpY2UsXG4gICAgICAgIEUwOTlVc3VDb21HZXJMb29rdXAsXG4gICAgICAgIEUwOTlVc3VDb21HZXJMb29rdXAsXG4gICAgICAgIFByb2R1dG9TZXJ2aWNvTG9va3VwLFxuICAgICAgICBFMDQ0Q2N1RmluUmF0RGVwTG9va3VwLFxuICAgICAgICBMaWdhY2FvSXRlbUZvcm5lY2Vkb3JMb29rdXAsXG4gICAgICAgIEUwMDdVZnNMb29rdXAsXG4gICAgICAgIEUwMDhDZXBMb29rdXAsXG4gICAgICAgIEUwMDhSYWlMb29rdXAsXG4gICAgICAgIEUwMjBTbmZMb29rdXAsXG4gICAgICAgIEUwMjFNb3RMb29rdXAsXG4gICAgICAgIEUwMjNDcnBMb29rdXAsXG4gICAgICAgIEUwMjhDcGdMb29rdXAsXG4gICAgICAgIEUwMzVPY3JMb29rdXAsXG4gICAgICAgIEUwMzZJbnNMb29rdXAsXG4gICAgICAgIEUwMzlQb3JMb29rdXAsXG4gICAgICAgIEUwNDdOdGdMb29rdXAsXG4gICAgICAgIEUwNDVQbGFMb29rdXAsXG4gICAgICAgIEUwNzBFbXBMb29rdXAsXG4gICAgICAgIEUwNzBGaWxMb29rdXAsXG4gICAgICAgIEUwNzNQZXNMb29rdXAsXG4gICAgICAgIEUwMDFQZXNMb29rdXAsXG4gICAgICAgIEUwMDFUbnNMb29rdXAsXG4gICAgICAgIEUwMDJUcHRMb29rdXAsXG4gICAgICAgIEUwNjdGaW5Mb29rdXAsXG4gICAgICAgIEUwMTVNZWRMb29rdXAsXG4gICAgICAgIEUwODVQZXNMb29rdXAsXG4gICAgICAgIEUwOTBQZXNMb29rdXAsXG4gICAgICAgIEUwOTBIcnBDb21HZXJMb29rdXAsXG4gICAgICAgIEUwNzVEZXJMb29rdXAsXG4gICAgICAgIEUwODBTZXJMb29rdXAsXG4gICAgICAgIEUwODFUYWJMb29rdXAsXG4gICAgICAgIEUwMjRNc2dMb29rdXAsXG4gICAgICAgIEUwMzJFZGNMb29rdXAsXG4gICAgICAgIEUwODJUcHJMb29rdXAsXG4gICAgICAgIEUwOTVQZXNMb29rdXAsXG4gICAgICAgIEUyMDBMb3RMb29rdXAsXG4gICAgICAgIEUyMDBTZXJMb29rdXAsXG4gICAgICAgIEUyMTBEeHBMb29rdXAsXG4gICAgICAgIEU0MDNGcHJMb29rdXAsXG4gICAgICAgIEUwMjdFcWlMb29rdXAsXG4gICAgICAgIEUwMjdTdHJMb29rdXAsXG4gICAgICAgIEUwNjZGcGdMb29rdXAsXG4gICAgICAgIEU0MjBPY3BMb29rdXAsXG4gICAgICAgIEU0MjBJcGNMb29rdXAsXG4gICAgICAgIEU0MjBJY3BMb29rdXAsXG4gICAgICAgIEUwNzNWZWlMb29rdXAsXG4gICAgICAgIEU2MDBDY29Mb29rdXAsXG4gICAgICAgIEUwMzBCYW5Mb29rdXAsXG4gICAgICAgIEUwMzFNb2VMb29rdXAsXG4gICAgICAgIEUwMzBBZ2VMb29rdXAsXG4gICAgICAgIEUyMDVEZXBMb29rdXAsXG4gICAgICAgIEUwMDFUbnNTdXBFc3RMb29rdXAsXG4gICAgICAgIEUxNDBOZnNMb29rdXAsXG4gICAgICAgIEUxNDBJbnNMb29rdXAsXG4gICAgICAgIEUwMTJGYW1Mb29rdXAsXG4gICAgICAgIEUwOTFQbGZGaW5SYXRMb29rdXAsXG4gICAgICAgIEUyMTBEeHBFMDc1RGVyTG9va3VwLFxuICAgICAgICBFMDAxRW5kTG9va3VwLFxuICAgICAgICBFMDcwRW50TG9va3VwLFxuICAgICAgICBFMzAxVGNyTG9va3VwLFxuICAgICAgICBOY21Mb29rdXAsXG4gICAgICAgIFF1YW50aWRhZGVEaXNwb25pdmVsRGVtYW5kYUxvb2t1cCxcbiAgICAgICAgVW5pZGFkZU1lZGlkYUxvb2t1cCxcbiAgICAgICAgUmVxdWlzaWNhb0xvb2t1cCxcbiAgICAgICAgRTY0MExvdExvb2t1cCxcbiAgICAgICAgRTA0NkhwZExvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTA3MEVtcExvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTA3MEZpbExvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTAwMVBlc0xvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTAyMFNuZkxvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTAzMkVkY0xvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTAwMUVuZExvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTAwN1Vmc0xvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTAwOFJhaUxvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTAwMVRuc0xvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTAxNU1lZExvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTA3NURlckxvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTA4MFNlckxvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhTmNtTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFOYXR1cmV6YVJlY2VpdGFQaXNDb2ZpbnNMb29rdXAsXG4gICAgICAgIENwbFRyaU5vdGFTYWlkYU5mU2FpZGFMb29rdXAsXG4gICAgICAgIENwbFRyaU5vdGFTYWlkYU5mRW50cmFkYUxvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTA2NkZwZ0xvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTAyOENwZ0xvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTA1MURpc0xvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhRTAyNE1zZ0xvb2t1cCxcbiAgICAgICAgRTA1MURpc0xvb2t1cCxcbiAgICAgICAgRTA0NENjdUxvb2t1cCxcbiAgICAgICAgbmF0dXJlemFSZWNlaXRhUGlzQ29maW5zLFxuICAgICAgICBFMDQ4RmN0TG9va3VwLFxuICAgICAgICBFcXVpcG1lbnRMb29rdXAsXG4gICAgICAgIEUwNDhTZmNMb29rdXAsXG4gICAgICAgIEN1cnJlbmN5TG9va3VwLFxuICAgICAgICBDb3VudHJ5TG9va3VwLFxuICAgICAgICBCYW5rTG9va3VwLFxuICAgICAgICBUeXBlVGF4ZXNMb29rdXAsXG4gICAgICAgIFBhcmFtZXRlcnNMb29rdXAsXG4gICAgICAgIEJlbmVmaWNpb0Zpc2NhbExvb2t1cCxcbiAgICAgICAgRG9jdW1lbnRvTG9va3VwLFxuICAgICAgICBFMDk5VXN1U3VwQ3ByTG9va3VwLFxuICAgICAgICBFMDY5R3JlTG9va3VwLFxuICAgICAgICBFNTAxVGNwTG9va3VwLFxuICAgICAgICBBZ3JlZW1lbnRMb29rdXAsXG4gICAgICAgIE5vdGFGaXNjYWxFbnRyYWRhTG9va3VwLFxuICAgICAgICBTZWdtZW50b0xvb2t1cFxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBleHBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgRXJwTG9va3Vwc01vZHVsZSB7IH1cbiJdfQ==
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWxvb2t1cHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tZW1wcmVzYXJpYWwvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9sb29rdXBzL2VycC1sb29rdXBzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEs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LGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEU1MDFUY3BMb29rdXAgfSBmcm9tICcuL2VudGl0aWVzL2UtNTAxLXRjcC1sb29rdXAnO1xuaW1wb3J0IHsgRTA2OUdyZUxvb2t1cCB9IGZyb20gJy4vZW50aXRpZXMvZS0wNjktZ3JlLWxvb2t1cCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBIdHRwSW50ZXJjZXB0b3JNb2R1bGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL3BsYXRmb3JtLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IEUwMDFFbmRMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAwMS1lbmQtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDAxUGVzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMDEtcGVzLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAwMVRuc0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDAxLXRucy1sb29rdXBcIjtcbmltcG9ydCB7IEUwMDFUbnNTdXBFc3RMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAwMS10bnMtc3VwLWVzdC1sb29rdXBcIjtcbmltcG9ydCB7IEUwMDJUcHRMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAwMi10cHQtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDA3VWZzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMDctdWZzLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAwOENlcExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDA4LWNlcC1sb29rdXBcIjtcbmltcG9ydCB7IEUwMDhSYWlMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAwOC1yYWktbG9va3VwXCI7XG5pbXBvcnQgeyBFMDEyRmFtTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMTItZmFtLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAxNU1lZExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDE1LW1lZC1sb29rdXBcIjtcbmltcG9ydCB7IEUwMjBTbmZMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAyMC1zbmYtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDIxTW90TG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMjEtbW90LWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAyM0NycExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDIzLWNycC1sb29rdXBcIjtcbmltcG9ydCB7IEUwMjRNc2dMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAyNC1tc2ctbG9va3VwXCI7XG5pbXBvcnQgeyBFMDI3RXFpTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMjctZXFpLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAyN1N0ckxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDI3LXN0ci1sb29rdXBcIjtcbmltcG9ydCB7IEUwMjhDcGdMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAyOC1jcGctbG9va3VwXCI7XG5pbXBvcnQgeyBFMDMwQWdlTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMzAtYWdlLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAzMEJhbkxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDMwLWJhbi1sb29rdXBcIjtcbmltcG9ydCB7IEUwMzFNb2VMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAzMS1tb2UtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDMyRWRjTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMzItZWRjLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTAzNU9jckxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDM1LW9jci1sb29rdXBcIjtcbmltcG9ydCB7IEUwMzZJbnNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTAzNi1pbnMtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDM5UG9yTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wMzktcG9yLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA0NENjdUZpblJhdERlcExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDQ0LWNjdS1maW4tcmF0LWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA0NENjdUxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDQ0LWNjdS1sb29rdXBcIjtcbmltcG9ydCB7IEUwNDVQbGFMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA0NS1wbGEtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDQ2SHBkTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNDYtaHBkLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA0N050Z0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDQ3LW50Zy1sb29rdXBcIjtcbmltcG9ydCB7IEUwNTFEaXNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA1MS1kaXMtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDY2RnBnTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNjYtZnBnLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA2N0Zpbkxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDY3LWZpbi1sb29rdXBcIjtcbmltcG9ydCB7IEUwNzBFbXBMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA3MC1lbXAtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDcwRW50TG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNzAtZW50LWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA3MEZpbExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDcwLWZpbC1sb29rdXBcIjtcbmltcG9ydCB7IEUwNzNQZXNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA3My1wZXMtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDczVmVpTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNzMtdmVpLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA3NURlckxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDc1LWRlci1sb29rdXBcIjtcbmltcG9ydCB7IEUwODBTZXJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA4MC1zZXItbG9va3VwXCI7XG5pbXBvcnQgeyBFMDgxVGFiTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wODEtdGFiLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA4MlRwckxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDgyLXRwci1sb29rdXBcIjtcbmltcG9ydCB7IEUwODVQZXNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA4NS1wZXMtbG9va3VwXCI7XG5pbXBvcnQgeyBFMDkwUGVzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wOTAtcGVzLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA5MVBsZkZpblJhdExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDkxLXBsZi1maW4tcmF0LWxvb2t1cFwiO1xuaW1wb3J0IHsgRTA5NVBlc0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMDk1LXBlcy1sb29rdXBcIjtcbmltcG9ydCB7IEUwOTlVc3VDb21HZXJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA5OS11c3UtY29tLWdlci1sb29rdXBcIjtcbmltcG9ydCB7IEUxNDBJbnNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTE0MC1pbnMtbG9va3VwXCI7XG5pbXBvcnQgeyBFMTQwTmZzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0xNDAtbmZzLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTIwMExvdExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMjAwLWxvdC1sb29rdXBcIjtcbmltcG9ydCB7IEUyMDBTZXJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTIwMC1zZXItbG9va3VwXCI7XG5pbXBvcnQgeyBFMjA1RGVwTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0yMDUtZGVwLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTIxMER4cEUwNzVEZXJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTIxMC1keHAtZS0wNzUtZGVyLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTIxMER4cExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtMjEwLWR4cC1sb29rdXBcIjtcbmltcG9ydCB7IEUzMDFUY3JMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTMwMS10Y3ItbG9va3VwXCI7XG5pbXBvcnQgeyBFNDAzRnByTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS00MDMtZnByLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTQyMEljcExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtNDIwLWljcC1sb29rdXBcIjtcbmltcG9ydCB7IEU0MjBJcGNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTQyMC1pcGMtbG9va3VwXCI7XG5pbXBvcnQgeyBFNDIwT2NwTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS00MjAtb2NwLWxvb2t1cFwiO1xuaW1wb3J0IHsgRTYwMENjb0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2UtNjAwLWNjby1sb29rdXBcIjtcbmltcG9ydCB7IEU2NDBMb3RMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTY0MC1sb3QtbG9va3VwXCI7XG5pbXBvcnQgeyBMaWdhY2FvSXRlbUZvcm5lY2Vkb3JMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9saWdhY2FvLWl0ZW0tZm9ybmVjZWRvci1sb29rdXBcIjtcbmltcG9ydCB7IE5jbUxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL25jbS1sb29rdXBcIjtcbmltcG9ydCB7IFByb2R1dG9TZXJ2aWNvTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcHJvZHV0b1NlcnZpY28tbG9va3VwXCI7XG5pbXBvcnQgeyBRdWFudGlkYWRlRGlzcG9uaXZlbERlbWFuZGFMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9xdGQtZGlzcG9uaXZlbC1kZW1hbmRhLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTAwMUVuZExvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwMS1lbmQtbG9va3VwXCI7XG5pbXBvcnQgeyBDcGxUcmlOb3RhU2FpZGFFMDAxUGVzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDAxLXBlcy1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwMDFUbnNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMDEtdG5zLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTAwN1Vmc0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAwNy11ZnMtbG9va3VwXCI7XG5pbXBvcnQgeyBDcGxUcmlOb3RhU2FpZGFFMDA4UmFpTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDA4LXJhaS1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwMjBTbmZMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMjAtc25mLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTAzMkVkY0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAzMi1lZGMtbG9va3VwXCI7XG5pbXBvcnQgeyBDcGxUcmlOb3RhU2FpZGFFMDcwRW1wTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDcwLWVtcC1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwNzBGaWxMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNzAtZmlsLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhTmNtTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLW5jbS1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwMTVNZWRMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wMTUtbWVkLWxvb2t1cFwiO1xuaW1wb3J0IHsgUmVxdWlzaWNhb0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcXVpc2ljYW8tbG9va3VwXCI7XG5pbXBvcnQgeyBVbmlkYWRlTWVkaWRhTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvdW5pZGFkZS1tZWRpZGEtbG9va3VwXCI7XG5pbXBvcnQgeyBFcnBMb29rdXBzU2VydmljZSB9IGZyb20gXCIuL2VycC1sb29rdXBzLnNlcnZpY2VcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwNzVEZXJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNzUtZGVyLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTA4MFNlckxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA4MC1zZXItbG9va3VwXCI7XG5pbXBvcnQgeyBuYXR1cmV6YVJlY2VpdGFQaXNDb2ZpbnMgfSBmcm9tIFwiLi9lbnRpdGllcy9uYXR1cmV6YS1yZWNlaXRhLXBpcy1jb2ZpbnMubG9va3VwXCI7XG5pbXBvcnQgeyBFMDQ4RmN0TG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNDgtZmN0LWxvb2t1cFwiO1xuaW1wb3J0IHtcbiAgICBDcGxUcmlOb3RhU2FpZGFOYXR1cmV6YVJlY2VpdGFQaXNDb2ZpbnNMb29rdXBcbn0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLW5hdHVyZXphLXJlY2VpdGEtcGlzLWNvZmluc1wiO1xuaW1wb3J0IHsgRXF1aXBtZW50TG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZXF1aXBtZW50LWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhTmZTYWlkYUxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1uZi1zYWlkYS1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYU5mRW50cmFkYUxvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1uZi1lbnRyYWRhLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTA2NkZwZ0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTA2Ni1mcGctbG9va3VwXCI7XG5pbXBvcnQgeyBDcGxUcmlOb3RhU2FpZGFFMDI4Q3BnTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvcmVwbGljYXRpb24tZW50aXRpZXMvY3BsLXRyaS1ub3RhLXNhaWRhLWUtMDI4LWNwZy1sb29rdXBcIjtcbmltcG9ydCB7IENwbFRyaU5vdGFTYWlkYUUwNTFEaXNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9yZXBsaWNhdGlvbi1lbnRpdGllcy9jcGwtdHJpLW5vdGEtc2FpZGEtZS0wNTEtZGlzLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3BsVHJpTm90YVNhaWRhRTAyNE1zZ0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL3JlcGxpY2F0aW9uLWVudGl0aWVzL2NwbC10cmktbm90YS1zYWlkYS1lLTAyNC1tc2ctbG9va3VwXCI7XG5pbXBvcnQgeyBFMDQ4U2ZjTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvZS0wNDgtc2ZjLWxvb2t1cFwiO1xuaW1wb3J0IHsgQ3VycmVuY3lMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy93aXphcmQtZW50aXRpZXMvY3VycmVuY3ktbG9va3VwXCI7XG5pbXBvcnQgeyBDb3VudHJ5TG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvd2l6YXJkLWVudGl0aWVzL2NvdW50cnktbG9va3VwXCI7XG5pbXBvcnQgeyBCYW5rTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvd2l6YXJkLWVudGl0aWVzL2JhbmstbG9va3VwXCI7XG5pbXBvcnQgeyBUeXBlVGF4ZXNMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9hcHVyYWNhby1mb3VuZGF0aW9uL3R5cGUtdGF4ZXMtbG9va3VwXCI7XG5pbXBvcnQgeyBQYXJhbWV0ZXJzTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvYXB1cmFjYW8tZm91bmRhdGlvbi9wYXJhbWV0ZXJzLWxvb2t1cFwiO1xuaW1wb3J0IHsgQmVuZWZpY2lvRmlzY2FsTG9va3VwIH0gZnJvbSBcIi4vZW50aXRpZXMvYmVuZWZpY2lvLWZpc2NhbC1sb29rdXBcIjtcbmltcG9ydCB7IERvY3VtZW50b0xvb2t1cCB9IGZyb20gXCIuL2VudGl0aWVzL2RvY3VtZW50by1sb29rdXBcIjtcbmltcG9ydCB7IEUwOTlVc3VTdXBDcHJMb29rdXAgfSBmcm9tIFwiLi9lbnRpdGllcy9lLTA5OS11c3Utc3VwLWNwci1sb29rdXBcIjtcbmltcG9ydCB7IEUwOTBIcnBDb21HZXJMb29rdXAgfSBmcm9tICcuL2VudGl0aWVzL2UtMDkwLWhycC1jb20tZ2VyLWxvb2t1cCc7XG5pbXBvcnQgeyBBZ3JlZW1lbnRMb29rdXAgfSBmcm9tICcuL2VudGl0aWVzL2FncmVlbWVudC1sb29rdXAnO1xuaW1wb3J0IHsgTm90YUZpc2NhbEVudHJhZGFMb29rdXAgfSBmcm9tICcuL2VudGl0aWVzL25vdGEtZmlzY2FsLWVudHJhZGEtbG9va3VwJztcbmltcG9ydCB7IFNlZ21lbnRvTG9va3VwIH0gZnJvbSAnLi9lbnRpdGllcy9zZWdtZW50by1sb29rdXAnO1xuaW1wb3J0IHsgRW50aXR5UGVyc29uUHJvZHVjdExvb2t1cCB9IGZyb20gJy4vZW50aXRpZXMveHQtaW50ZWdyYXRpb24vZW50aXR5LXBlcnNvbi1wcm9kdWN0LWxvb2t1cCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBIdHRwSW50ZXJjZXB0b3JNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBFcnBMb29rdXBzU2VydmljZSxcbiAgICAgICAgRTA5OVVzdUNvbUdlckxvb2t1cCxcbiAgICAgICAgRTA5OVVzdUNvbUdlckxvb2t1cCxcbiAgICAgICAgUHJvZHV0b1NlcnZpY29Mb29rdXAsXG4gICAgICAgIEUwNDRDY3VGaW5SYXREZXBMb29rdXAsXG4gICAgICAgIExpZ2FjYW9JdGVtRm9ybmVjZWRvckxvb2t1cCxcbiAgICAgICAgRTAwN1Vmc0xvb2t1cCxcbiAgICAgICAgRTAwOENlcExvb2t1cCxcbiAgICAgICAgRTAwOFJhaUxvb2t1cCxcbiAgICAgICAgRTAyMFNuZkxvb2t1cCxcbiAgICAgICAgRTAyMU1vdExvb2t1cCxcbiAgICAgICAgRTAyM0NycExvb2t1cCxcbiAgICAgICAgRTAyOENwZ0xvb2t1cCxcbiAgICAgICAgRTAzNU9jckxvb2t1cCxcbiAgICAgICAgRTAzNkluc0xvb2t1cCxcbiAgICAgICAgRTAzOVBvckxvb2t1cCxcbiAgICAgICAgRTA0N050Z0xvb2t1cCxcbiAgICAgICAgRTA0NVBsYUxvb2t1cCxcbiAgICAgICAgRTA3MEVtcExvb2t1cCxcbiAgICAgICAgRTA3MEZpbExvb2t1cCxcbiAgICAgICAgRTA3M1Blc0xvb2t1cCxcbiAgICAgICAgRTAwMVBlc0xvb2t1cCxcbiAgICAgICAgRTAwMVRuc0xvb2t1cCxcbiAgICAgICAgRTAwMlRwdExvb2t1cCxcbiAgICAgICAgRTA2N0Zpbkxvb2t1cCxcbiAgICAgICAgRTAxNU1lZExvb2t1cCxcbiAgICAgICAgRTA4NVBlc0xvb2t1cCxcbiAgICAgICAgRTA5MFBlc0xvb2t1cCxcbiAgICAgICAgRTA5MEhycENvbUdlckxvb2t1cCxcbiAgICAgICAgRTA3NURlckxvb2t1cCxcbiAgICAgICAgRTA4MFNlckxvb2t1cCxcbiAgICAgICAgRTA4MVRhYkxvb2t1cCxcbiAgICAgICAgRTAyNE1zZ0xvb2t1cCxcbiAgICAgICAgRTAzMkVkY0xvb2t1cCxcbiAgICAgICAgRTA4MlRwckxvb2t1cCxcbiAgICAgICAgRTA5NVBlc0xvb2t1cCxcbiAgICAgICAgRTIwMExvdExvb2t1cCxcbiAgICAgICAgRTIwMFNlckxvb2t1cCxcbiAgICAgICAgRTIxMER4cExvb2t1cCxcbiAgICAgICAgRTQwM0Zwckxvb2t1cCxcbiAgICAgICAgRTAyN0VxaUxvb2t1cCxcbiAgICAgICAgRTAyN1N0ckxvb2t1cCxcbiAgICAgICAgRTA2NkZwZ0xvb2t1cCxcbiAgICAgICAgRTQyME9jcExvb2t1cCxcbiAgICAgICAgRTQyMElwY0xvb2t1cCxcbiAgICAgICAgRTQyMEljcExvb2t1cCxcbiAgICAgICAgRTA3M1ZlaUxvb2t1cCxcbiAgICAgICAgRTYwMENjb0xvb2t1cCxcbiAgICAgICAgRTAzMEJhbkxvb2t1cCxcbiAgICAgICAgRTAzMU1vZUxvb2t1cCxcbiAgICAgICAgRTAzMEFnZUxvb2t1cCxcbiAgICAgICAgRTIwNURlcExvb2t1cCxcbiAgICAgICAgRTAwMVRuc1N1cEVzdExvb2t1cCxcbiAgICAgICAgRTE0ME5mc0xvb2t1cCxcbiAgICAgICAgRTE0MEluc0xvb2t1cCxcbiAgICAgICAgRTAxMkZhbUxvb2t1cCxcbiAgICAgICAgRTA5MVBsZkZpblJhdExvb2t1cCxcbiAgICAgICAgRTIxMER4cEUwNzVEZXJMb29rdXAsXG4gICAgICAgIEUwMDFFbmRMb29rdXAsXG4gICAgICAgIEUwNzBFbnRMb29rdXAsXG4gICAgICAgIEUzMDFUY3JMb29rdXAsXG4gICAgICAgIE5jbUxvb2t1cCxcbiAgICAgICAgUXVhbnRpZGFkZURpc3Bvbml2ZWxEZW1hbmRhTG9va3VwLFxuICAgICAgICBVbmlkYWRlTWVkaWRhTG9va3VwLFxuICAgICAgICBSZXF1aXNpY2FvTG9va3VwLFxuICAgICAgICBFNjQwTG90TG9va3VwLFxuICAgICAgICBFMDQ2SHBkTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDcwRW1wTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDcwRmlsTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDAxUGVzTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDIwU25mTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDMyRWRjTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDAxRW5kTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDA3VWZzTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDA4UmFpTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDAxVG5zTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDE1TWVkTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDc1RGVyTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDgwU2VyTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFOY21Mb29rdXAsXG4gICAgICAgIENwbFRyaU5vdGFTYWlkYU5hdHVyZXphUmVjZWl0YVBpc0NvZmluc0xvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhTmZTYWlkYUxvb2t1cCxcbiAgICAgICAgQ3BsVHJpTm90YVNhaWRhTmZFbnRyYWRhTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDY2RnBnTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDI4Q3BnTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDUxRGlzTG9va3VwLFxuICAgICAgICBDcGxUcmlOb3RhU2FpZGFFMDI0TXNnTG9va3VwLFxuICAgICAgICBFMDUxRGlzTG9va3VwLFxuICAgICAgICBFMDQ0Q2N1TG9va3VwLFxuICAgICAgICBuYXR1cmV6YVJlY2VpdGFQaXNDb2ZpbnMsXG4gICAgICAgIEUwNDhGY3RMb29rdXAsXG4gICAgICAgIEVxdWlwbWVudExvb2t1cCxcbiAgICAgICAgRTA0OFNmY0xvb2t1cCxcbiAgICAgICAgQ3VycmVuY3lMb29rdXAsXG4gICAgICAgIENvdW50cnlMb29rdXAsXG4gICAgICAgIEJhbmtMb29rdXAsXG4gICAgICAgIFR5cGVUYXhlc0xvb2t1cCxcbiAgICAgICAgUGFyYW1ldGVyc0xvb2t1cCxcbiAgICAgICAgQmVuZWZpY2lvRmlzY2FsTG9va3VwLFxuICAgICAgICBEb2N1bWVudG9Mb29rdXAsXG4gICAgICAgIEUwOTlVc3VTdXBDcHJMb29rdXAsXG4gICAgICAgIEUwNjlHcmVMb29rdXAsXG4gICAgICAgIEU1MDFUY3BMb29rdXAsXG4gICAgICAgIEFncmVlbWVudExvb2t1cCxcbiAgICAgICAgTm90YUZpc2NhbEVudHJhZGFMb29rdXAsXG4gICAgICAgIFNlZ21lbnRvTG9va3VwLFxuICAgICAgICBFbnRpdHlQZXJzb25Qcm9kdWN0TG9va3VwXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtdLFxuICAgIGV4cG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBFcnBMb29rdXBzTW9kdWxlIHsgfVxuIl19
@@ -1,11 +1,11 @@
1
1
  var WebsocketService_1;
2
2
  import { __decorate } from "tslib";
3
- import { Injectable } from "@angular/core";
4
- import { Stomp } from "@stomp/stompjs";
5
- import * as Cookies from "js-cookie";
6
- import { EMPTY, Subject, fromEvent, iif, of, timer } from "rxjs";
7
- import { filter, finalize, first, switchMap, take, map } from "rxjs/operators";
8
- import * as SockJS from "sockjs-client";
3
+ import { Injectable } from '@angular/core';
4
+ import { Stomp } from '@stomp/stompjs';
5
+ import * as Cookies from 'js-cookie';
6
+ import { Subject, fromEvent, iif, of, race, timer } from 'rxjs';
7
+ import { filter, finalize, first, map, switchMap, take } from 'rxjs/operators';
8
+ import * as SockJS from 'sockjs-client';
9
9
  import * as i0 from "@angular/core";
10
10
  let WebsocketService = WebsocketService_1 = class WebsocketService {
11
11
  constructor() {
@@ -16,8 +16,6 @@ let WebsocketService = WebsocketService_1 = class WebsocketService {
16
16
  /** @private */
17
17
  this.isConnecting = false;
18
18
  /** @private */
19
- this.isReconnecting = false;
20
- /** @private */
21
19
  this.primitiveManagers = new Map();
22
20
  /** @private */
23
21
  this.connect$ = new Subject();
@@ -60,9 +58,10 @@ let WebsocketService = WebsocketService_1 = class WebsocketService {
60
58
  */
61
59
  onSubscribe({ domain, service, primitive }) {
62
60
  const key = this.getPrimitiveManagerKey(domain, service, primitive);
63
- return this.onConnect().pipe(switchMap(() => this.primitiveManagers.has(key) && this.primitiveManagers.get(key).isSubscribed
61
+ return this.onConnect().pipe(switchMap(() => this.primitiveManagers.has(key) &&
62
+ this.primitiveManagers.get(key).isSubscribed
64
63
  ? of(void 0).pipe(take(1))
65
- : this.subscribe$.pipe(filter(primitiveManager => this.getPrimitiveManagerKey(primitiveManager.domain, primitiveManager.service, primitiveManager.primitive) === key), take(1), (map(() => void 0)))));
64
+ : this.subscribe$.pipe(filter((primitiveManager) => this.getPrimitiveManagerKey(primitiveManager.domain, primitiveManager.service, primitiveManager.primitive) === key), take(1), map(() => void 0))));
66
65
  }
67
66
  /**
68
67
  * Observable responsável por emitir uma notificação quando ocorre algum erro.
@@ -91,21 +90,25 @@ let WebsocketService = WebsocketService_1 = class WebsocketService {
91
90
  primitive: primitive,
92
91
  stompSubscriptions: [],
93
92
  event$: new Subject(),
94
- isSubscribed: false,
93
+ isSubscribed: false
95
94
  };
96
95
  this.primitiveManagers.set(key, primitiveManager);
97
96
  if (this.isConnected) {
98
97
  this.createStompSubscriptions(primitiveManager);
99
- return primitiveManager.event$.asObservable().pipe(finalize(() => this.disconnectPrimitiveOnFinalize(primitiveManager)));
98
+ return primitiveManager.event$
99
+ .asObservable()
100
+ .pipe(finalize(() => this.disconnectPrimitiveOnFinalize(primitiveManager)));
100
101
  }
101
102
  else {
102
- if (!this.isReconnecting && !this.isConnecting) {
103
+ if (!this.isConnecting) {
103
104
  this.connect();
104
105
  }
105
106
  this.connect$.pipe(first()).subscribe(() => {
106
107
  this.createStompSubscriptions(primitiveManager);
107
108
  });
108
- return primitiveManager.event$.asObservable().pipe(finalize(() => this.disconnectPrimitiveOnFinalize(primitiveManager)));
109
+ return primitiveManager.event$
110
+ .asObservable()
111
+ .pipe(finalize(() => this.disconnectPrimitiveOnFinalize(primitiveManager)));
109
112
  }
110
113
  }
111
114
  /** @private */
@@ -114,7 +117,10 @@ let WebsocketService = WebsocketService_1 = class WebsocketService {
114
117
  const stompSubscriptionWithToken = this.createStompSubscription(withTokenUrl, primitiveManager);
115
118
  const withoutTokenUrl = this.getSubscriptionUrlWithoutToken(primitiveManager.domain, primitiveManager.service, primitiveManager.primitive);
116
119
  const stompSubscriptionWithoutToken = this.createStompSubscription(withoutTokenUrl, primitiveManager);
117
- primitiveManager.stompSubscriptions = [stompSubscriptionWithToken, stompSubscriptionWithoutToken];
120
+ primitiveManager.stompSubscriptions = [
121
+ stompSubscriptionWithToken,
122
+ stompSubscriptionWithoutToken
123
+ ];
118
124
  primitiveManager.isSubscribed = true;
119
125
  this.subscribe$.next(primitiveManager);
120
126
  }
@@ -124,7 +130,6 @@ let WebsocketService = WebsocketService_1 = class WebsocketService {
124
130
  this.isConnecting = true;
125
131
  this._stompClient.connect({}, () => {
126
132
  this.isConnecting = false;
127
- this.isReconnecting = false;
128
133
  this.isConnected = true;
129
134
  if (this.wasConnected) {
130
135
  this.reconnectPrimitives();
@@ -138,16 +143,22 @@ let WebsocketService = WebsocketService_1 = class WebsocketService {
138
143
  }, (error) => {
139
144
  this.isConnected = false;
140
145
  this.error$.next(error);
141
- this.isReconnecting = true;
142
- timer(WebsocketService_1.RECONNECT_INTERVAL)
143
- .pipe(switchMap(() => iif(() => document.hidden, fromEvent(document, "visibilitychange").pipe(first()), EMPTY)))
144
- .subscribe({ complete: () => this.connect() });
146
+ race(this.disconnect$.pipe(take(1), map(() => ({ wasDisconnected: true }))), timer(WebsocketService_1.RECONNECT_INTERVAL).pipe(take(1), switchMap(() => iif(() => document.hidden, fromEvent(document, 'visibilitychange').pipe(first()), of(void 0))), map(() => ({ wasDisconnected: false }))))
147
+ .pipe(take(1))
148
+ .subscribe({
149
+ next: ({ wasDisconnected }) => {
150
+ if (!wasDisconnected &&
151
+ !(this.isConnected || this.isConnecting)) {
152
+ this.connect();
153
+ }
154
+ }
155
+ });
145
156
  });
146
157
  }
147
158
  disconnect() {
148
- const observersCount = this.getObserversCount();
149
- if (observersCount > 0)
159
+ if (this.getObserversCount() > 0) {
150
160
  return;
161
+ }
151
162
  for (const primitiveManager of this.primitiveManagers.values()) {
152
163
  for (const stompSubscription of primitiveManager.stompSubscriptions) {
153
164
  stompSubscription.unsubscribe();
@@ -166,19 +177,25 @@ let WebsocketService = WebsocketService_1 = class WebsocketService {
166
177
  }
167
178
  /** @private */
168
179
  getSubscriptionUrlWithToken(domain, service, primitive) {
169
- const tenant = WebsocketService_1.TOKEN ? WebsocketService_1.TOKEN.username.split("@")[1] : null;
170
- const token = WebsocketService_1.TOKEN ? WebsocketService_1.TOKEN.access_token : null;
180
+ const tenant = WebsocketService_1.TOKEN
181
+ ? WebsocketService_1.TOKEN.username.split('@')[1]
182
+ : null;
183
+ const token = WebsocketService_1.TOKEN
184
+ ? WebsocketService_1.TOKEN.access_token
185
+ : null;
171
186
  return `/topic/${tenant}/${token}/${domain}/${service}/${primitive}`;
172
187
  }
173
188
  /** @private */
174
189
  getSubscriptionUrlWithoutToken(domain, service, primitive) {
175
- const tenant = WebsocketService_1.TOKEN ? WebsocketService_1.TOKEN.username.split("@")[1] : null;
190
+ const tenant = WebsocketService_1.TOKEN
191
+ ? WebsocketService_1.TOKEN.username.split('@')[1]
192
+ : null;
176
193
  return `/topic/${tenant}/${domain}/${service}/${primitive}`;
177
194
  }
178
195
  /** @private */
179
196
  createStompSubscription(destination, primitiveManager) {
180
197
  return this._stompClient.subscribe(destination, (message) => {
181
- const event = JSON.parse(message.body || "{}");
198
+ const event = JSON.parse(message.body || '{}');
182
199
  primitiveManager.event$.next(event);
183
200
  });
184
201
  }
@@ -221,23 +238,21 @@ let WebsocketService = WebsocketService_1 = class WebsocketService {
221
238
  return `${domain}/${service}/${primitive}`;
222
239
  }
223
240
  };
224
- /** @private */
225
241
  WebsocketService.RECONNECT_INTERVAL = 3000;
226
- /** @private */
227
242
  WebsocketService.CONNECTION_TIMEOUT = 15000;
228
243
  /** @private */
229
- WebsocketService.BASE_URL_COOKIE = "com.senior.base.url";
244
+ WebsocketService.BASE_URL_COOKIE = 'com.senior.base.url';
230
245
  /** @private */
231
- WebsocketService.TOKEN_COOKIE = "com.senior.token";
246
+ WebsocketService.TOKEN_COOKIE = 'com.senior.token';
232
247
  /** @private */
233
- WebsocketService.TOKEN = JSON.parse(Cookies.get(WebsocketService_1.TOKEN_COOKIE) || "{}");
248
+ WebsocketService.TOKEN = JSON.parse(Cookies.get(WebsocketService_1.TOKEN_COOKIE) || '{}');
234
249
  /** @private */
235
- WebsocketService.WEBSOCKET_URL = Cookies.get(WebsocketService_1.BASE_URL_COOKIE) + "/websocket/";
250
+ WebsocketService.WEBSOCKET_URL = Cookies.get(WebsocketService_1.BASE_URL_COOKIE) + '/websocket/';
236
251
  WebsocketService.ɵprov = i0.ɵɵdefineInjectable({ factory: function WebsocketService_Factory() { return new WebsocketService(); }, token: WebsocketService, providedIn: "root" });
237
252
  WebsocketService = WebsocketService_1 = __decorate([
238
253
  Injectable({
239
- providedIn: "root",
254
+ providedIn: 'root'
240
255
  })
241
256
  ], WebsocketService);
242
257
  export { WebsocketService };
243
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3dlYnNvY2tldC93ZWJzb2NrZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUEyQixLQUFLLEVBQXFCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxLQUFLLE9BQU8sTUFBTSxXQUFXLENBQUM7QUFDckMsT0FBTyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDOztBQWV4QyxJQUFhLGdCQUFnQix3QkFBN0IsTUFBYSxnQkFBZ0I7SUFtRHpCO1FBN0JBLGVBQWU7UUFDUCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUU3QixlQUFlO1FBQ1AsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFNUIsZUFBZTtRQUNQLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTdCLGVBQWU7UUFDUCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUUvQixlQUFlO1FBQ1Asc0JBQWlCLEdBQWtDLElBQUksR0FBRyxFQUE0QixDQUFDO1FBRS9GLGVBQWU7UUFDUCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV2QyxlQUFlO1FBQ1AsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTFDLGVBQWU7UUFDUCxlQUFVLEdBQUcsSUFBSSxP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QUMsa0JBQWdCLENBQUMsZUFBZSxDQUFDLEdBQUcsYUFBYSxDQUFDOztBQWpCcEYsZ0JBQWdCO0lBSDVCLFVBQVUsQ0FBQztRQUNSLFVBQVUsRUFBRSxNQUFNO0tBQ3JCLENBQUM7R0FDVyxnQkFBZ0IsQ0F3VTVCO1NBeFVZLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBDb21wYXRDbGllbnQsIEZyYW1lSW1wbCwgU3RvbXAsIFN0b21wU3Vic2NyaXB0aW9uIH0gZnJvbSBcIkBzdG9tcC9zdG9tcGpzXCI7XHJcbmltcG9ydCAqIGFzIENvb2tpZXMgZnJvbSBcImpzLWNvb2tpZVwiO1xyXG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZnJvbUV2ZW50LCBpaWYsIG9mLCB0aW1lciB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGZpbHRlciwgZmluYWxpemUsIGZpcnN0LCBzd2l0Y2hNYXAsIHRha2UsIG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgKiBhcyBTb2NrSlMgZnJvbSBcInNvY2tqcy1jbGllbnRcIjtcclxuXHJcbi8qKiBAcHJpdmF0ZSAqL1xyXG5pbnRlcmZhY2UgUHJpbWl0aXZlTWFuYWdlciB7XHJcbiAgICBkb21haW46IHN0cmluZztcclxuICAgIHNlcnZpY2U6IHN0cmluZztcclxuICAgIHByaW1pdGl2ZTogc3RyaW5nO1xyXG4gICAgc3RvbXBTdWJzY3JpcHRpb25zOiBTdG9tcFN1YnNjcmlwdGlvbltdO1xyXG4gICAgZXZlbnQkOiBTdWJqZWN0PGFueT47XHJcbiAgICBpc1N1YnNjcmliZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgV2Vic29ja2V0U2VydmljZSB7XHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFJFQ09OTkVDVF9JTlRFUlZBTCA9IDMwMDA7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBDT05ORUNUSU9OX1RJTUVPVVQgPSAxNTAwMDtcclxuXHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgc3RhdGljIEJBU0VfVVJMX0NPT0tJRSA9IFwiY29tLnNlbmlvci5iYXNlLnVybFwiO1xyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgVE9LRU5fQ09PS0lFID0gXCJjb20uc2VuaW9yLnRva2VuXCI7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBUT0tFTiA9IEpTT04ucGFyc2UoQ29va2llcy5nZXQoV2Vic29ja2V0U2VydmljZS5UT0tFTl9DT09LSUUpIHx8IFwie31cIik7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBXRUJTT0NLRVRfVVJMID0gQ29va2llcy5nZXQoV2Vic29ja2V0U2VydmljZS5CQVNFX1VSTF9DT09LSUUpICsgXCIvd2Vic29ja2V0L1wiO1xyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBfc3RvbXBDbGllbnQ6IENvbXBhdENsaWVudDtcclxuXHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgd2FzQ29ubmVjdGVkID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIGlzQ29ubmVjdGVkID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIGlzQ29ubmVjdGluZyA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBpc1JlY29ubmVjdGluZyA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBwcmltaXRpdmVNYW5hZ2VyczogTWFwPHN0cmluZywgUHJpbWl0aXZlTWFuYWdlcj4gPSBuZXcgTWFwPHN0cmluZywgUHJpbWl0aXZlTWFuYWdlcj4oKTtcclxuXHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgY29ubmVjdCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBkaXNjb25uZWN0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIHJlY29ubmVjdCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBlcnJvciQgPSBuZXcgU3ViamVjdDxGcmFtZUltcGw+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpYmUkID0gbmV3IFN1YmplY3Q8UHJpbWl0aXZlTWFuYWdlcj4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICB0aGlzLmNvbm5lY3QoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9ic2VydmFibGUgcmVzcG9uc8OhdmVsIHBvciBlbWl0aXIgdW1hIG5vdGlmaWNhw6fDo28gcXVhbmRvIGEgY29uZXjDo28gd2Vic29ja2V0IMOpIGVzdGFiZWxlY2lkYSBwZWxhIHByaW1laXJhIHZlei5cclxuICAgICAqIEByZXR1cm4gVW0gYE9ic2VydmFibGU8dm9pZD5gIHF1ZSBlbWl0ZSB1bWEgbm90aWZpY2HDp8OjbyBxdWFuZG8gYSBjb25leMOjbyB3ZWJzb2NrZXQgw6kgZXN0YWJlbGVjaWRhIHBlbGEgcHJpbWVpcmEgdmV6LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25Db25uZWN0KCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmlzQ29ubmVjdGVkIHx8IHRoaXMud2FzQ29ubmVjdGVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpLnBpcGUodGFrZSgxKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0JC5hc09ic2VydmFibGUoKS5waXBlKHRha2UoMSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2JzZXJ2YWJsZSByZXNwb25zw6F2ZWwgcG9yIGVtaXRpciB1bWEgbm90aWZpY2HDp8OjbyBxdWFuZG8gYSBjb25leMOjbyDDqSBkZXNjb25lY3RhZGEuXHJcbiAgICAgKiBAcmV0dXJuIFVtIGBPYnNlcnZhYmxlPHZvaWQ+YCBxdWUgZW1pdGUgdW1hIG5vdGlmaWNhw6fDo28gcXVhbmRvIGEgY29uZXjDo28gw6kgZGVzY29uZWN0YWRhLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25EaXNjb25uZWN0KCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRpc2Nvbm5lY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2JzZXJ2YWJsZSByZXNwb25zw6F2ZWwgcG9yIGVtaXRpciB1bWEgbm90aWZpY2HDp8OjbyBxdWFuZG8gYSBjb25leMOjbyDDqSByZWNvbmVjdGFkYS5cclxuICAgICAqIEByZXR1cm4gVW0gYE9ic2VydmFibGU8dm9pZD5gIHF1ZSBlbWl0ZSB1bWEgbm90aWZpY2HDp8OjbyBxdWFuZG8gYSBjb25leMOjbyDDqSByZWNvbmVjdGFkYS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uUmVjb25uZWN0KCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnJlY29ubmVjdCQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPYnNlcnZhYmxlIHJlc3BvbnPDoXZlbCBwb3IgZW1pdGlyIHVtYSBub3RpZmljYcOnw6NvIGFww7NzIG8gc3Vic2NyaWJlIGRvIGV2ZW50byBwZWxhIHByaW1laXJhIHZlei5cclxuICAgICAqIEByZXR1cm4gVW0gYE9ic2VydmFibGU8dm9pZD5gIHF1ZSBlbWl0ZSB1bWEgbm90aWZpY2HDp8OjbyBhcMOzcyBvIHN1YnNjcmliZSBkbyBldmVudG8gcGVsYSBwcmltZWlyYSB2ZXouXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvblN1YnNjcmliZSh7IGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlIH06IHsgZG9tYWluOiBzdHJpbmc7IHNlcnZpY2U6IHN0cmluZzsgcHJpbWl0aXZlOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0UHJpbWl0aXZlTWFuYWdlcktleShkb21haW4sIHNlcnZpY2UsIHByaW1pdGl2ZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLm9uQ29ubmVjdCgpLnBpcGUoXHJcbiAgICAgICAgICAgIHN3aXRjaE1hcChcclxuICAgICAgICAgICAgICAgICgpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcmltaXRpdmVNYW5hZ2Vycy5oYXMoa2V5KSAmJiB0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLmdldChrZXkpLmlzU3Vic2NyaWJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IG9mKHZvaWQgMCkucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc3Vic2NyaWJlJC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRQcmltaXRpdmVNYW5hZ2VyS2V5KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLmRvbWFpbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5zZXJ2aWNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnByaW1pdGl2ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgPT09IGtleVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFwKCgpID0+IHZvaWQgMCkpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9ic2VydmFibGUgcmVzcG9uc8OhdmVsIHBvciBlbWl0aXIgdW1hIG5vdGlmaWNhw6fDo28gcXVhbmRvIG9jb3JyZSBhbGd1bSBlcnJvLlxyXG4gICAgICogQHJldHVybiBVbSBgT2JzZXJ2YWJsZTxGcmFtZUltcGw+YCBxdWUgZW1pdGUgdW1hIG5vdGlmaWNhw6fDo28gcXVhbmRvIG9jb3JyZSBhbGd1bSBlcnJvLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25FcnJvcigpOiBPYnNlcnZhYmxlPEZyYW1lSW1wbD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yJC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEB0eXBlUGFyYW0gYDxUPmAgVGlwbyBkbyBvYmpldG8gcXVlIG8gcmV0b3JubyBkbyBgb2JzZXJ2YWJsZWAgdmFpIGRldm9sdmVyLlxyXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgT2JqZXRvIGRlIGNvbmZpZ3VyYcOnw6NvIGRvIGV2ZW50by5cclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmRvbWFpbiBEb23DrW5pbyBkYSBwcmltaXRpdmEuXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5zZXJ2aWNlIFNlcnZpw6dvIGRhIHByaW1pdGl2YS5cclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnByaW1pdGl2ZSAgUHJpbWl0aXZhIHF1ZSBzZXLDoSBcIm9ic2VydmFkYVwiLlxyXG4gICAgICogQHJldHVybiBVbSBPYnNlcnZhYmxlPFQ+IHF1ZSBlbWl0ZSBub3RpZmljYcOnw7VlcyB0b2RhIHZleiBxdWUgbyByZXNwZWN0aXZvIGV2ZW50byDDqSBwdWJsaWNhZG8uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkV2ZW50PFQ+KG9wdGlvbnM6IHsgZG9tYWluOiBzdHJpbmc7IHNlcnZpY2U6IHN0cmluZzsgcHJpbWl0aXZlOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIGNvbnN0IHsgZG9tYWluLCBzZXJ2aWNlLCBwcmltaXRpdmUgfSA9IG9wdGlvbnM7XHJcblxyXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0UHJpbWl0aXZlTWFuYWdlcktleShkb21haW4sIHNlcnZpY2UsIHByaW1pdGl2ZSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLmhhcyhrZXkpKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLmdldChrZXkpLmV2ZW50JC5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHByaW1pdGl2ZU1hbmFnZXI6IFByaW1pdGl2ZU1hbmFnZXIgPSB7XHJcbiAgICAgICAgICAgIGRvbWFpbjogZG9tYWluLFxyXG4gICAgICAgICAgICBzZXJ2aWNlOiBzZXJ2aWNlLFxyXG4gICAgICAgICAgICBwcmltaXRpdmU6IHByaW1pdGl2ZSxcclxuICAgICAgICAgICAgc3RvbXBTdWJzY3JpcHRpb25zOiBbXSxcclxuICAgICAgICAgICAgZXZlbnQkOiBuZXcgU3ViamVjdDxUPigpLFxyXG4gICAgICAgICAgICBpc1N1YnNjcmliZWQ6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuc2V0KGtleSwgcHJpbWl0aXZlTWFuYWdlcik7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzQ29ubmVjdGVkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlU3RvbXBTdWJzY3JpcHRpb25zKHByaW1pdGl2ZU1hbmFnZXIpO1xyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZU1hbmFnZXIuZXZlbnQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5kaXNjb25uZWN0UHJpbWl0aXZlT25GaW5hbGl6ZShwcmltaXRpdmVNYW5hZ2VyKSkpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1JlY29ubmVjdGluZyAmJiAhdGhpcy5pc0Nvbm5lY3RpbmcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdCgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmNvbm5lY3QkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlU3RvbXBTdWJzY3JpcHRpb25zKHByaW1pdGl2ZU1hbmFnZXIpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBwcmltaXRpdmVNYW5hZ2VyLmV2ZW50JC5hc09ic2VydmFibGUoKS5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuZGlzY29ubmVjdFByaW1pdGl2ZU9uRmluYWxpemUocHJpbWl0aXZlTWFuYWdlcikpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZVN0b21wU3Vic2NyaXB0aW9ucyhwcmltaXRpdmVNYW5hZ2VyOiBQcmltaXRpdmVNYW5hZ2VyKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgd2l0aFRva2VuVXJsID0gdGhpcy5nZXRTdWJzY3JpcHRpb25VcmxXaXRoVG9rZW4oXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuZG9tYWluLFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnNlcnZpY2UsXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIucHJpbWl0aXZlXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3Qgc3RvbXBTdWJzY3JpcHRpb25XaXRoVG9rZW4gPSB0aGlzLmNyZWF0ZVN0b21wU3Vic2NyaXB0aW9uKHdpdGhUb2tlblVybCwgcHJpbWl0aXZlTWFuYWdlcik7XHJcblxyXG4gICAgICAgIGNvbnN0IHdpdGhvdXRUb2tlblVybCA9IHRoaXMuZ2V0U3Vic2NyaXB0aW9uVXJsV2l0aG91dFRva2VuKFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLmRvbWFpbixcclxuICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5zZXJ2aWNlLFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnByaW1pdGl2ZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbnN0IHN0b21wU3Vic2NyaXB0aW9uV2l0aG91dFRva2VuID0gdGhpcy5jcmVhdGVTdG9tcFN1YnNjcmlwdGlvbih3aXRob3V0VG9rZW5VcmwsIHByaW1pdGl2ZU1hbmFnZXIpO1xyXG5cclxuICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnN0b21wU3Vic2NyaXB0aW9ucyA9IFtzdG9tcFN1YnNjcmlwdGlvbldpdGhUb2tlbiwgc3RvbXBTdWJzY3JpcHRpb25XaXRob3V0VG9rZW5dO1xyXG5cclxuICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLmlzU3Vic2NyaWJlZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmUkLm5leHQocHJpbWl0aXZlTWFuYWdlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIGNvbm5lY3QoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jcmVhdGVTdG9tcENsaWVudCgpO1xyXG5cclxuICAgICAgICB0aGlzLmlzQ29ubmVjdGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMuX3N0b21wQ2xpZW50LmNvbm5lY3QoXHJcbiAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ29ubmVjdGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1JlY29ubmVjdGluZyA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuaXNDb25uZWN0ZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLndhc0Nvbm5lY3RlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVjb25uZWN0UHJpbWl0aXZlcygpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3QkLm5leHQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlY29ubmVjdCQubmV4dCgpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLndhc0Nvbm5lY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0JC5uZXh0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIChlcnJvcjogRnJhbWVJbXBsKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ29ubmVjdGVkID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvciQubmV4dChlcnJvcik7XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1JlY29ubmVjdGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgICAgICAgICAgdGltZXIoV2Vic29ja2V0U2VydmljZS5SRUNPTk5FQ1RfSU5URVJWQUwpXHJcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKCgpID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpaWYoKCkgPT4gZG9jdW1lbnQuaGlkZGVuLCBmcm9tRXZlbnQoZG9jdW1lbnQsIFwidmlzaWJpbGl0eWNoYW5nZVwiKS5waXBlKGZpcnN0KCkpLCBFTVBUWSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgKSlcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHsgY29tcGxldGU6ICgpID0+IHRoaXMuY29ubmVjdCgpIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZGlzY29ubmVjdCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCBvYnNlcnZlcnNDb3VudCA9IHRoaXMuZ2V0T2JzZXJ2ZXJzQ291bnQoKTtcclxuXHJcbiAgICAgICAgaWYgKG9ic2VydmVyc0NvdW50ID4gMCkgcmV0dXJuO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IHByaW1pdGl2ZU1hbmFnZXIgb2YgdGhpcy5wcmltaXRpdmVNYW5hZ2Vycy52YWx1ZXMoKSkge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHN0b21wU3Vic2NyaXB0aW9uIG9mIHByaW1pdGl2ZU1hbmFnZXIuc3RvbXBTdWJzY3JpcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICBzdG9tcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IHByaW1pdGl2ZU1hbmFnZXIgb2YgdGhpcy5wcmltaXRpdmVNYW5hZ2Vycy52YWx1ZXMoKSkge1xyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLmV2ZW50JC5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5wcmltaXRpdmVNYW5hZ2Vycy5jbGVhcigpO1xyXG5cclxuICAgICAgICB0aGlzLl9zdG9tcENsaWVudC5kaXNjb25uZWN0KCk7XHJcbiAgICAgICAgdGhpcy5fc3RvbXBDbGllbnQuZGVhY3RpdmF0ZSgpO1xyXG5cclxuICAgICAgICB0aGlzLmlzQ29ubmVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLndhc0Nvbm5lY3RlZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLmRpc2Nvbm5lY3QkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgZ2V0U3Vic2NyaXB0aW9uVXJsV2l0aFRva2VuKGRvbWFpbjogc3RyaW5nLCBzZXJ2aWNlOiBzdHJpbmcsIHByaW1pdGl2ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB0ZW5hbnQgPSBXZWJzb2NrZXRTZXJ2aWNlLlRPS0VOID8gV2Vic29ja2V0U2VydmljZS5UT0tFTi51c2VybmFtZS5zcGxpdChcIkBcIilbMV0gOiBudWxsO1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gV2Vic29ja2V0U2VydmljZS5UT0tFTiA/IFdlYnNvY2tldFNlcnZpY2UuVE9LRU4uYWNjZXNzX3Rva2VuIDogbnVsbDtcclxuXHJcbiAgICAgICAgcmV0dXJuIGAvdG9waWMvJHt0ZW5hbnR9LyR7dG9rZW59LyR7ZG9tYWlufS8ke3NlcnZpY2V9LyR7cHJpbWl0aXZlfWA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIGdldFN1YnNjcmlwdGlvblVybFdpdGhvdXRUb2tlbihkb21haW46IHN0cmluZywgc2VydmljZTogc3RyaW5nLCBwcmltaXRpdmU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgdGVuYW50ID0gV2Vic29ja2V0U2VydmljZS5UT0tFTiA/IFdlYnNvY2tldFNlcnZpY2UuVE9LRU4udXNlcm5hbWUuc3BsaXQoXCJAXCIpWzFdIDogbnVsbDtcclxuXHJcbiAgICAgICAgcmV0dXJuIGAvdG9waWMvJHt0ZW5hbnR9LyR7ZG9tYWlufS8ke3NlcnZpY2V9LyR7cHJpbWl0aXZlfWA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZVN0b21wU3Vic2NyaXB0aW9uKGRlc3RpbmF0aW9uOiBzdHJpbmcsIHByaW1pdGl2ZU1hbmFnZXI6IFByaW1pdGl2ZU1hbmFnZXIpOiBTdG9tcFN1YnNjcmlwdGlvbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0b21wQ2xpZW50LnN1YnNjcmliZShkZXN0aW5hdGlvbiwgKG1lc3NhZ2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBldmVudCA9IEpTT04ucGFyc2UobWVzc2FnZS5ib2R5IHx8IFwie31cIik7XHJcblxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLmV2ZW50JC5uZXh0KGV2ZW50KTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgY3JlYXRlU3RvbXBDbGllbnQoKTogdm9pZCB7XHJcbiAgICAgICAgY29uc3Qgd3MgPSBuZXcgU29ja0pTKGAke1dlYnNvY2tldFNlcnZpY2UuV0VCU09DS0VUX1VSTH1zdWJzY3JpcHRpb25gLCBudWxsLCB7IHRpbWVvdXQ6IFdlYnNvY2tldFNlcnZpY2UuQ09OTkVDVElPTl9USU1FT1VUIH0pO1xyXG4gICAgICAgIHRoaXMuX3N0b21wQ2xpZW50ID0gU3RvbXAub3Zlcih3cyk7XHJcbiAgICAgICAgdGhpcy5fc3RvbXBDbGllbnQuZGVidWcgPSAoKSA9PiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSByZWNvbm5lY3RQcmltaXRpdmVzKCk6IHZvaWQge1xyXG4gICAgICAgIGZvciAoY29uc3QgcHJpbWl0aXZlTWFuYWdlciBvZiB0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLnZhbHVlcygpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlU3RvbXBTdWJzY3JpcHRpb25zKHByaW1pdGl2ZU1hbmFnZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgZ2V0T2JzZXJ2ZXJzQ291bnQoKTogbnVtYmVyIHtcclxuICAgICAgICBsZXQgb2JzZXJ2ZXJzQ291bnQgPSAwO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IHByaW1pdGl2ZU1hbmFnZXIgb2YgdGhpcy5wcmltaXRpdmVNYW5hZ2Vycy52YWx1ZXMoKSkge1xyXG4gICAgICAgICAgICBvYnNlcnZlcnNDb3VudCArPSBwcmltaXRpdmVNYW5hZ2VyLmV2ZW50JC5vYnNlcnZlcnMubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9ic2VydmVyc0NvdW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBkaXNjb25uZWN0UHJpbWl0aXZlT25GaW5hbGl6ZShwcmltaXRpdmVNYW5hZ2VyOiBQcmltaXRpdmVNYW5hZ2VyKTogdm9pZCB7XHJcbiAgICAgICAgLy8gQElNUE9SVEFOVDogUmVwbGFjZSAub2JzZXJ2ZXJzLmxlbmd0aCA9PT0gMSB3aXRoIC5vYnNlcnZlZCBpbiByeGpzIDcuMCtcclxuICAgICAgICBjb25zdCBoYXNPYnNlcnZlcnMgPSAhKHByaW1pdGl2ZU1hbmFnZXIuZXZlbnQkLm9ic2VydmVycy5sZW5ndGggPT09IDEpO1xyXG5cclxuICAgICAgICBpZiAoaGFzT2JzZXJ2ZXJzKSByZXR1cm47XHJcblxyXG4gICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuZXZlbnQkLmNvbXBsZXRlKCk7XHJcblxyXG4gICAgICAgIGZvciAoY29uc3Qgc3RvbXBTdWJzY3JpcHRpb24gb2YgcHJpbWl0aXZlTWFuYWdlci5zdG9tcFN1YnNjcmlwdGlvbnMpIHtcclxuICAgICAgICAgICAgc3RvbXBTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGtleSA9IHRoaXMuZ2V0UHJpbWl0aXZlTWFuYWdlcktleShwcmltaXRpdmVNYW5hZ2VyLmRvbWFpbiwgcHJpbWl0aXZlTWFuYWdlci5zZXJ2aWNlLCBwcmltaXRpdmVNYW5hZ2VyLnByaW1pdGl2ZSk7XHJcblxyXG4gICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuZGVsZXRlKGtleSk7XHJcblxyXG4gICAgICAgIHRoaXMuZGlzY29ubmVjdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBnZXRQcmltaXRpdmVNYW5hZ2VyS2V5KGRvbWFpbjogc3RyaW5nLCBzZXJ2aWNlOiBzdHJpbmcsIHByaW1pdGl2ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7ZG9tYWlufS8ke3NlcnZpY2V9LyR7cHJpbWl0aXZlfWA7XHJcbiAgICB9XHJcbn1cclxuIl19
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3dlYnNvY2tldC93ZWJzb2NrZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUdILEtBQUssRUFFUixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sS0FBSyxPQUFPLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFFSCxPQUFPLEVBQ1AsU0FBUyxFQUNULEdBQUcsRUFDSCxFQUFFLEVBQ0YsSUFBSSxFQUNKLEtBQUssRUFDUixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9FLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDOztBQWV4QyxJQUFhLGdCQUFnQix3QkFBN0IsTUFBYSxnQkFBZ0I7SUFvRHpCO1FBN0JBLGVBQWU7UUFDUCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUU3QixlQUFlO1FBQ1AsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFNUIsZUFBZTtRQUNQLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRTdCLGVBQWU7UUFDRSxzQkFBaUIsR0FBa0MsSUFBSSxHQUFHLEVBR3hFLENBQUM7UUFFSixlQUFlO1FBQ1AsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdkMsZUFBZTtRQUNQLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUxQyxlQUFlO1FBQ1AsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFekMsZUFBZTtRQUNQLFdBQU0sR0FBRyxJ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QUFHLElBQUksQ0FBQztBQUVuQyxtQ0FBa0IsR0FBRyxLQUFLLENBQUM7QUFFbEMsZUFBZTtBQUNBLGdDQUFlLEdBQUcscUJBQXFCLENBQUM7QUFFdkQsZUFBZTtBQUNBLDZCQUFZLEdBQUcsa0JBQWtCLENBQUM7QUFFakQsZUFBZTtBQUNBLHNCQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLENBQ3JELENBQUM7QUFFRixlQUFlO0FBQ0EsOEJBQWEsR0FDeEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBZ0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxhQUFhLENBQUM7O0FBbEJ6RCxnQkFBZ0I7SUFINUIsVUFBVSxDQUFDO1FBQ1IsVUFBVSxFQUFFLE1BQU07S0FDckIsQ0FBQztHQUNXLGdCQUFnQixDQWdhNUI7U0FoYVksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgQ29tcGF0Q2xpZW50LFxyXG4gICAgRnJhbWVJbXBsLFxyXG4gICAgU3RvbXAsXHJcbiAgICBTdG9tcFN1YnNjcmlwdGlvblxyXG59IGZyb20gJ0BzdG9tcC9zdG9tcGpzJztcclxuaW1wb3J0ICogYXMgQ29va2llcyBmcm9tICdqcy1jb29raWUnO1xyXG5pbXBvcnQge1xyXG4gICAgT2JzZXJ2YWJsZSxcclxuICAgIFN1YmplY3QsXHJcbiAgICBmcm9tRXZlbnQsXHJcbiAgICBpaWYsXHJcbiAgICBvZixcclxuICAgIHJhY2UsXHJcbiAgICB0aW1lclxyXG59IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIGZpbmFsaXplLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCAqIGFzIFNvY2tKUyBmcm9tICdzb2NranMtY2xpZW50JztcclxuXHJcbi8qKiBAcHJpdmF0ZSAqL1xyXG5pbnRlcmZhY2UgUHJpbWl0aXZlTWFuYWdlciB7XHJcbiAgICBkb21haW46IHN0cmluZztcclxuICAgIHNlcnZpY2U6IHN0cmluZztcclxuICAgIHByaW1pdGl2ZTogc3RyaW5nO1xyXG4gICAgc3RvbXBTdWJzY3JpcHRpb25zOiBTdG9tcFN1YnNjcmlwdGlvbltdO1xyXG4gICAgZXZlbnQkOiBTdWJqZWN0PGFueT47XHJcbiAgICBpc1N1YnNjcmliZWQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2Vic29ja2V0U2VydmljZSB7XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgUkVDT05ORUNUX0lOVEVSVkFMID0gMzAwMDtcclxuXHJcbiAgICBzdGF0aWMgQ09OTkVDVElPTl9USU1FT1VUID0gMTUwMDA7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBCQVNFX1VSTF9DT09LSUUgPSAnY29tLnNlbmlvci5iYXNlLnVybCc7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBUT0tFTl9DT09LSUUgPSAnY29tLnNlbmlvci50b2tlbic7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBUT0tFTiA9IEpTT04ucGFyc2UoXHJcbiAgICAgICAgQ29va2llcy5nZXQoV2Vic29ja2V0U2VydmljZS5UT0tFTl9DT09LSUUpIHx8ICd7fSdcclxuICAgICk7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIHN0YXRpYyBXRUJTT0NLRVRfVVJMID1cclxuICAgICAgICBDb29raWVzLmdldChXZWJzb2NrZXRTZXJ2aWNlLkJBU0VfVVJMX0NPT0tJRSkgKyAnL3dlYnNvY2tldC8nO1xyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBfc3RvbXBDbGllbnQ6IENvbXBhdENsaWVudDtcclxuXHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgd2FzQ29ubmVjdGVkID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIGlzQ29ubmVjdGVkID0gZmFsc2U7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIGlzQ29ubmVjdGluZyA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmltaXRpdmVNYW5hZ2VyczogTWFwPHN0cmluZywgUHJpbWl0aXZlTWFuYWdlcj4gPSBuZXcgTWFwPFxyXG4gICAgICAgIHN0cmluZyxcclxuICAgICAgICBQcmltaXRpdmVNYW5hZ2VyXHJcbiAgICA+KCk7XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIGNvbm5lY3QkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgZGlzY29ubmVjdCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSByZWNvbm5lY3QkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgZXJyb3IkID0gbmV3IFN1YmplY3Q8RnJhbWVJbXBsPigpO1xyXG5cclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PFByaW1pdGl2ZU1hbmFnZXI+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPYnNlcnZhYmxlIHJlc3BvbnPDoXZlbCBwb3IgZW1pdGlyIHVtYSBub3RpZmljYcOnw6NvIHF1YW5kbyBhIGNvbmV4w6NvIHdlYnNvY2tldCDDqSBlc3RhYmVsZWNpZGEgcGVsYSBwcmltZWlyYSB2ZXouXHJcbiAgICAgKiBAcmV0dXJuIFVtIGBPYnNlcnZhYmxlPHZvaWQ+YCBxdWUgZW1pdGUgdW1hIG5vdGlmaWNhw6fDo28gcXVhbmRvIGEgY29uZXjDo28gd2Vic29ja2V0IMOpIGVzdGFiZWxlY2lkYSBwZWxhIHByaW1laXJhIHZlei5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uQ29ubmVjdCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgICAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZCB8fCB0aGlzLndhc0Nvbm5lY3RlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKS5waXBlKHRha2UoMSkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdCQuYXNPYnNlcnZhYmxlKCkucGlwZSh0YWtlKDEpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9ic2VydmFibGUgcmVzcG9uc8OhdmVsIHBvciBlbWl0aXIgdW1hIG5vdGlmaWNhw6fDo28gcXVhbmRvIGEgY29uZXjDo28gw6kgZGVzY29uZWN0YWRhLlxyXG4gICAgICogQHJldHVybiBVbSBgT2JzZXJ2YWJsZTx2b2lkPmAgcXVlIGVtaXRlIHVtYSBub3RpZmljYcOnw6NvIHF1YW5kbyBhIGNvbmV4w6NvIMOpIGRlc2NvbmVjdGFkYS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG9uRGlzY29ubmVjdCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kaXNjb25uZWN0JC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9ic2VydmFibGUgcmVzcG9uc8OhdmVsIHBvciBlbWl0aXIgdW1hIG5vdGlmaWNhw6fDo28gcXVhbmRvIGEgY29uZXjDo28gw6kgcmVjb25lY3RhZGEuXHJcbiAgICAgKiBAcmV0dXJuIFVtIGBPYnNlcnZhYmxlPHZvaWQ+YCBxdWUgZW1pdGUgdW1hIG5vdGlmaWNhw6fDo28gcXVhbmRvIGEgY29uZXjDo28gw6kgcmVjb25lY3RhZGEuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvblJlY29ubmVjdCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZWNvbm5lY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT2JzZXJ2YWJsZSByZXNwb25zw6F2ZWwgcG9yIGVtaXRpciB1bWEgbm90aWZpY2HDp8OjbyBhcMOzcyBvIHN1YnNjcmliZSBkbyBldmVudG8gcGVsYSBwcmltZWlyYSB2ZXouXHJcbiAgICAgKiBAcmV0dXJuIFVtIGBPYnNlcnZhYmxlPHZvaWQ+YCBxdWUgZW1pdGUgdW1hIG5vdGlmaWNhw6fDo28gYXDDs3MgbyBzdWJzY3JpYmUgZG8gZXZlbnRvIHBlbGEgcHJpbWVpcmEgdmV6LlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25TdWJzY3JpYmUoe1xyXG4gICAgICAgIGRvbWFpbixcclxuICAgICAgICBzZXJ2aWNlLFxyXG4gICAgICAgIHByaW1pdGl2ZVxyXG4gICAgfToge1xyXG4gICAgICAgIGRvbWFpbjogc3RyaW5nO1xyXG4gICAgICAgIHNlcnZpY2U6IHN0cmluZztcclxuICAgICAgICBwcmltaXRpdmU6IHN0cmluZztcclxuICAgIH0pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcclxuICAgICAgICBjb25zdCBrZXkgPSB0aGlzLmdldFByaW1pdGl2ZU1hbmFnZXJLZXkoZG9tYWluLCBzZXJ2aWNlLCBwcmltaXRpdmUpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5vbkNvbm5lY3QoKS5waXBlKFxyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoXHJcbiAgICAgICAgICAgICAgICAoKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuaGFzKGtleSkgJiZcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLmdldChrZXkpLmlzU3Vic2NyaWJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IG9mKHZvaWQgMCkucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMuc3Vic2NyaWJlJC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXIoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJpbWl0aXZlTWFuYWdlcikgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFByaW1pdGl2ZU1hbmFnZXJLZXkoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuZG9tYWluLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIucHJpbWl0aXZlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA9PT0ga2V5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB2b2lkIDApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9ic2VydmFibGUgcmVzcG9uc8OhdmVsIHBvciBlbWl0aXIgdW1hIG5vdGlmaWNhw6fDo28gcXVhbmRvIG9jb3JyZSBhbGd1bSBlcnJvLlxyXG4gICAgICogQHJldHVybiBVbSBgT2JzZXJ2YWJsZTxGcmFtZUltcGw+YCBxdWUgZW1pdGUgdW1hIG5vdGlmaWNhw6fDo28gcXVhbmRvIG9jb3JyZSBhbGd1bSBlcnJvLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgb25FcnJvcigpOiBPYnNlcnZhYmxlPEZyYW1lSW1wbD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yJC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEB0eXBlUGFyYW0gYDxUPmAgVGlwbyBkbyBvYmpldG8gcXVlIG8gcmV0b3JubyBkbyBgb2JzZXJ2YWJsZWAgdmFpIGRldm9sdmVyLlxyXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgT2JqZXRvIGRlIGNvbmZpZ3VyYcOnw6NvIGRvIGV2ZW50by5cclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmRvbWFpbiBEb23DrW5pbyBkYSBwcmltaXRpdmEuXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5zZXJ2aWNlIFNlcnZpw6dvIGRhIHByaW1pdGl2YS5cclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnByaW1pdGl2ZSAgUHJpbWl0aXZhIHF1ZSBzZXLDoSBcIm9ic2VydmFkYVwiLlxyXG4gICAgICogQHJldHVybiBVbSBPYnNlcnZhYmxlPFQ+IHF1ZSBlbWl0ZSBub3RpZmljYcOnw7VlcyB0b2RhIHZleiBxdWUgbyByZXNwZWN0aXZvIGV2ZW50byDDqSBwdWJsaWNhZG8uXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbkV2ZW50PFQ+KG9wdGlvbnM6IHtcclxuICAgICAgICBkb21haW46IHN0cmluZztcclxuICAgICAgICBzZXJ2aWNlOiBzdHJpbmc7XHJcbiAgICAgICAgcHJpbWl0aXZlOiBzdHJpbmc7XHJcbiAgICB9KTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgY29uc3QgeyBkb21haW4sIHNlcnZpY2UsIHByaW1pdGl2ZSB9ID0gb3B0aW9ucztcclxuXHJcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5nZXRQcmltaXRpdmVNYW5hZ2VyS2V5KGRvbWFpbiwgc2VydmljZSwgcHJpbWl0aXZlKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuaGFzKGtleSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuZ2V0KGtleSkuZXZlbnQkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgcHJpbWl0aXZlTWFuYWdlcjogUHJpbWl0aXZlTWFuYWdlciA9IHtcclxuICAgICAgICAgICAgZG9tYWluOiBkb21haW4sXHJcbiAgICAgICAgICAgIHNlcnZpY2U6IHNlcnZpY2UsXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZTogcHJpbWl0aXZlLFxyXG4gICAgICAgICAgICBzdG9tcFN1YnNjcmlwdGlvbnM6IFtdLFxyXG4gICAgICAgICAgICBldmVudCQ6IG5ldyBTdWJqZWN0PFQ+KCksXHJcbiAgICAgICAgICAgIGlzU3Vic2NyaWJlZDogZmFsc2VcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLnNldChrZXksIHByaW1pdGl2ZU1hbmFnZXIpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVN0b21wU3Vic2NyaXB0aW9ucyhwcmltaXRpdmVNYW5hZ2VyKTtcclxuXHJcbiAgICAgICAgICAgIHJldHVybiBwcmltaXRpdmVNYW5hZ2VyLmV2ZW50JFxyXG4gICAgICAgICAgICAgICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2Nvbm5lY3RQcmltaXRpdmVPbkZpbmFsaXplKHByaW1pdGl2ZU1hbmFnZXIpXHJcbiAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNDb25uZWN0aW5nKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3QoKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5jb25uZWN0JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVN0b21wU3Vic2NyaXB0aW9ucyhwcmltaXRpdmVNYW5hZ2VyKTtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gcHJpbWl0aXZlTWFuYWdlci5ldmVudCRcclxuICAgICAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxyXG4gICAgICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNjb25uZWN0UHJpbWl0aXZlT25GaW5hbGl6ZShwcmltaXRpdmVNYW5hZ2VyKVxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBjcmVhdGVTdG9tcFN1YnNjcmlwdGlvbnMocHJpbWl0aXZlTWFuYWdlcjogUHJpbWl0aXZlTWFuYWdlcik6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IHdpdGhUb2tlblVybCA9IHRoaXMuZ2V0U3Vic2NyaXB0aW9uVXJsV2l0aFRva2VuKFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLmRvbWFpbixcclxuICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5zZXJ2aWNlLFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnByaW1pdGl2ZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbnN0IHN0b21wU3Vic2NyaXB0aW9uV2l0aFRva2VuID0gdGhpcy5jcmVhdGVTdG9tcFN1YnNjcmlwdGlvbihcclxuICAgICAgICAgICAgd2l0aFRva2VuVXJsLFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3Qgd2l0aG91dFRva2VuVXJsID0gdGhpcy5nZXRTdWJzY3JpcHRpb25VcmxXaXRob3V0VG9rZW4oXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuZG9tYWluLFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnNlcnZpY2UsXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIucHJpbWl0aXZlXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgY29uc3Qgc3RvbXBTdWJzY3JpcHRpb25XaXRob3V0VG9rZW4gPSB0aGlzLmNyZWF0ZVN0b21wU3Vic2NyaXB0aW9uKFxyXG4gICAgICAgICAgICB3aXRob3V0VG9rZW5VcmwsXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXJcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnN0b21wU3Vic2NyaXB0aW9ucyA9IFtcclxuICAgICAgICAgICAgc3RvbXBTdWJzY3JpcHRpb25XaXRoVG9rZW4sXHJcbiAgICAgICAgICAgIHN0b21wU3Vic2NyaXB0aW9uV2l0aG91dFRva2VuXHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5pc1N1YnNjcmliZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaWJlJC5uZXh0KHByaW1pdGl2ZU1hbmFnZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBjb25uZWN0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY3JlYXRlU3RvbXBDbGllbnQoKTtcclxuXHJcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLl9zdG9tcENsaWVudC5jb25uZWN0KFxyXG4gICAgICAgICAgICB7fSxcclxuICAgICAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0Nvbm5lY3RpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ29ubmVjdGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy53YXNDb25uZWN0ZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlY29ubmVjdFByaW1pdGl2ZXMoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0JC5uZXh0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWNvbm5lY3QkLm5leHQoKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy53YXNDb25uZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdCQubmV4dCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAoZXJyb3I6IEZyYW1lSW1wbCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IkLm5leHQoZXJyb3IpO1xyXG5cclxuICAgICAgICAgICAgICAgIHJhY2UoXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNjb25uZWN0JC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gKHsgd2FzRGlzY29ubmVjdGVkOiB0cnVlIH0pKVxyXG4gICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgdGltZXIoV2Vic29ja2V0U2VydmljZS5SRUNPTk5FQ1RfSU5URVJWQUwpLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWlmKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgpID0+IGRvY3VtZW50LmhpZGRlbixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tRXZlbnQoZG9jdW1lbnQsICd2aXNpYmlsaXR5Y2hhbmdlJykucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3QoKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Yodm9pZCAwKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gKHsgd2FzRGlzY29ubmVjdGVkOiBmYWxzZSB9KSlcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dDogKHsgd2FzRGlzY29ubmVjdGVkIH0pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhd2FzRGlzY29ubmVjdGVkICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgISh0aGlzLmlzQ29ubmVjdGVkIHx8IHRoaXMuaXNDb25uZWN0aW5nKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGRpc2Nvbm5lY3QoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0T2JzZXJ2ZXJzQ291bnQoKSA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBwcmltaXRpdmVNYW5hZ2VyIG9mIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMudmFsdWVzKCkpIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBzdG9tcFN1YnNjcmlwdGlvbiBvZiBwcmltaXRpdmVNYW5hZ2VyLnN0b21wU3Vic2NyaXB0aW9ucykge1xyXG4gICAgICAgICAgICAgICAgc3RvbXBTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBwcmltaXRpdmVNYW5hZ2VyIG9mIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMudmFsdWVzKCkpIHtcclxuICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5ldmVudCQuY29tcGxldGUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuY2xlYXIoKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc3RvbXBDbGllbnQuZGlzY29ubmVjdCgpO1xyXG4gICAgICAgIHRoaXMuX3N0b21wQ2xpZW50LmRlYWN0aXZhdGUoKTtcclxuXHJcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNDb25uZWN0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy53YXNDb25uZWN0ZWQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgdGhpcy5kaXNjb25uZWN0JC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIGdldFN1YnNjcmlwdGlvblVybFdpdGhUb2tlbihcclxuICAgICAgICBkb21haW46IHN0cmluZyxcclxuICAgICAgICBzZXJ2aWNlOiBzdHJpbmcsXHJcbiAgICAgICAgcHJpbWl0aXZlOiBzdHJpbmdcclxuICAgICk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgdGVuYW50ID0gV2Vic29ja2V0U2VydmljZS5UT0tFTlxyXG4gICAgICAgICAgICA/IFdlYnNvY2tldFNlcnZpY2UuVE9LRU4udXNlcm5hbWUuc3BsaXQoJ0AnKVsxXVxyXG4gICAgICAgICAgICA6IG51bGw7XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBXZWJzb2NrZXRTZXJ2aWNlLlRPS0VOXHJcbiAgICAgICAgICAgID8gV2Vic29ja2V0U2VydmljZS5UT0tFTi5hY2Nlc3NfdG9rZW5cclxuICAgICAgICAgICAgOiBudWxsO1xyXG5cclxuICAgICAgICByZXR1cm4gYC90b3BpYy8ke3RlbmFudH0vJHt0b2tlbn0vJHtkb21haW59LyR7c2VydmljZX0vJHtwcmltaXRpdmV9YDtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgZ2V0U3Vic2NyaXB0aW9uVXJsV2l0aG91dFRva2VuKFxyXG4gICAgICAgIGRvbWFpbjogc3RyaW5nLFxyXG4gICAgICAgIHNlcnZpY2U6IHN0cmluZyxcclxuICAgICAgICBwcmltaXRpdmU6IHN0cmluZ1xyXG4gICAgKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCB0ZW5hbnQgPSBXZWJzb2NrZXRTZXJ2aWNlLlRPS0VOXHJcbiAgICAgICAgICAgID8gV2Vic29ja2V0U2VydmljZS5UT0tFTi51c2VybmFtZS5zcGxpdCgnQCcpWzFdXHJcbiAgICAgICAgICAgIDogbnVsbDtcclxuXHJcbiAgICAgICAgcmV0dXJuIGAvdG9waWMvJHt0ZW5hbnR9LyR7ZG9tYWlufS8ke3NlcnZpY2V9LyR7cHJpbWl0aXZlfWA7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBwcml2YXRlICovXHJcbiAgICBwcml2YXRlIGNyZWF0ZVN0b21wU3Vic2NyaXB0aW9uKFxyXG4gICAgICAgIGRlc3RpbmF0aW9uOiBzdHJpbmcsXHJcbiAgICAgICAgcHJpbWl0aXZlTWFuYWdlcjogUHJpbWl0aXZlTWFuYWdlclxyXG4gICAgKTogU3RvbXBTdWJzY3JpcHRpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdG9tcENsaWVudC5zdWJzY3JpYmUoZGVzdGluYXRpb24sIChtZXNzYWdlOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBKU09OLnBhcnNlKG1lc3NhZ2UuYm9keSB8fCAne30nKTtcclxuXHJcbiAgICAgICAgICAgIHByaW1pdGl2ZU1hbmFnZXIuZXZlbnQkLm5leHQoZXZlbnQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBjcmVhdGVTdG9tcENsaWVudCgpOiB2b2lkIHtcclxuICAgICAgICBjb25zdCB3cyA9IG5ldyBTb2NrSlMoXHJcbiAgICAgICAgICAgIGAke1dlYnNvY2tldFNlcnZpY2UuV0VCU09DS0VUX1VSTH1zdWJzY3JpcHRpb25gLFxyXG4gICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICB7IHRpbWVvdXQ6IFdlYnNvY2tldFNlcnZpY2UuQ09OTkVDVElPTl9USU1FT1VUIH1cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuX3N0b21wQ2xpZW50ID0gU3RvbXAub3Zlcih3cyk7XHJcbiAgICAgICAgdGhpcy5fc3RvbXBDbGllbnQuZGVidWcgPSAoKSA9PiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSByZWNvbm5lY3RQcmltaXRpdmVzKCk6IHZvaWQge1xyXG4gICAgICAgIGZvciAoY29uc3QgcHJpbWl0aXZlTWFuYWdlciBvZiB0aGlzLnByaW1pdGl2ZU1hbmFnZXJzLnZhbHVlcygpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlU3RvbXBTdWJzY3JpcHRpb25zKHByaW1pdGl2ZU1hbmFnZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQHByaXZhdGUgKi9cclxuICAgIHByaXZhdGUgZ2V0T2JzZXJ2ZXJzQ291bnQoKTogbnVtYmVyIHtcclxuICAgICAgICBsZXQgb2JzZXJ2ZXJzQ291bnQgPSAwO1xyXG5cclxuICAgICAgICBmb3IgKGNvbnN0IHByaW1pdGl2ZU1hbmFnZXIgb2YgdGhpcy5wcmltaXRpdmVNYW5hZ2Vycy52YWx1ZXMoKSkge1xyXG4gICAgICAgICAgICBvYnNlcnZlcnNDb3VudCArPSBwcmltaXRpdmVNYW5hZ2VyLmV2ZW50JC5vYnNlcnZlcnMubGVuZ3RoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG9ic2VydmVyc0NvdW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBkaXNjb25uZWN0UHJpbWl0aXZlT25GaW5hbGl6ZShcclxuICAgICAgICBwcmltaXRpdmVNYW5hZ2VyOiBQcmltaXRpdmVNYW5hZ2VyXHJcbiAgICApOiB2b2lkIHtcclxuICAgICAgICAvLyBASU1QT1JUQU5UOiBSZXBsYWNlIC5vYnNlcnZlcnMubGVuZ3RoID09PSAxIHdpdGggLm9ic2VydmVkIGluIHJ4anMgNy4wK1xyXG4gICAgICAgIGNvbnN0IGhhc09ic2VydmVycyA9ICEocHJpbWl0aXZlTWFuYWdlci5ldmVudCQub2JzZXJ2ZXJzLmxlbmd0aCA9PT0gMSk7XHJcblxyXG4gICAgICAgIGlmIChoYXNPYnNlcnZlcnMpIHJldHVybjtcclxuXHJcbiAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5ldmVudCQuY29tcGxldGUoKTtcclxuXHJcbiAgICAgICAgZm9yIChjb25zdCBzdG9tcFN1YnNjcmlwdGlvbiBvZiBwcmltaXRpdmVNYW5hZ2VyLnN0b21wU3Vic2NyaXB0aW9ucykge1xyXG4gICAgICAgICAgICBzdG9tcFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3Qga2V5ID0gdGhpcy5nZXRQcmltaXRpdmVNYW5hZ2VyS2V5KFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLmRvbWFpbixcclxuICAgICAgICAgICAgcHJpbWl0aXZlTWFuYWdlci5zZXJ2aWNlLFxyXG4gICAgICAgICAgICBwcmltaXRpdmVNYW5hZ2VyLnByaW1pdGl2ZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIHRoaXMucHJpbWl0aXZlTWFuYWdlcnMuZGVsZXRlKGtleSk7XHJcblxyXG4gICAgICAgIHRoaXMuZGlzY29ubmVjdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAcHJpdmF0ZSAqL1xyXG4gICAgcHJpdmF0ZSBnZXRQcmltaXRpdmVNYW5hZ2VyS2V5KFxyXG4gICAgICAgIGRvbWFpbjogc3RyaW5nLFxyXG4gICAgICAgIHNlcnZpY2U6IHN0cmluZyxcclxuICAgICAgICBwcmltaXRpdmU6IHN0cmluZ1xyXG4gICAgKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7ZG9tYWlufS8ke3NlcnZpY2V9LyR7cHJpbWl0aXZlfWA7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -2,7 +2,8 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public-api';
5
+ export { EntityPersonProductLookup as ɵb } from './components/lookups/entities/xt-integration/entity-person-product-lookup';
5
6
  export { ErpLookupsService as ɵa } from './components/lookups/erp-lookups.service';
6
- export { VerifyModulePermissionService as ɵc } from './components/permissions/verify-module-permission-service';
7
- export { StorageService as ɵb } from './components/storage/storage.service';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC1hbmd1bGFyLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsLWFuZ3VsYXItY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxpQkFBaUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUMsNkJBQTZCLElBQUksRUFBRSxFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDOUcsT0FBTyxFQUFDLGNBQWMsSUFBSSxFQUFFLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtFcnBMb29rdXBzU2VydmljZSBhcyDJtWF9IGZyb20gJy4vY29tcG9uZW50cy9sb29rdXBzL2VycC1sb29rdXBzLnNlcnZpY2UnO1xuZXhwb3J0IHtWZXJpZnlNb2R1bGVQZXJtaXNzaW9uU2VydmljZSBhcyDJtWN9IGZyb20gJy4vY29tcG9uZW50cy9wZXJtaXNzaW9ucy92ZXJpZnktbW9kdWxlLXBlcm1pc3Npb24tc2VydmljZSc7XG5leHBvcnQge1N0b3JhZ2VTZXJ2aWNlIGFzIMm1Yn0gZnJvbSAnLi9jb21wb25lbnRzL3N0b3JhZ2Uvc3RvcmFnZS5zZXJ2aWNlJzsiXX0=
7
+ export { VerifyModulePermissionService as ɵd } from './components/permissions/verify-module-permission-service';
8
+ export { StorageService as ɵc } from './components/storage/storage.service';
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC1hbmd1bGFyLWNvbXBvbmVudHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1lbXByZXNhcmlhbC9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsLWFuZ3VsYXItY29tcG9uZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyx5QkFBeUIsSUFBSSxFQUFFLEVBQUMsTUFBTSwyRUFBMkUsQ0FBQztBQUMxSCxPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFDLDZCQUE2QixJQUFJLEVBQUUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzlHLE9BQU8sRUFBQyxjQUFjLElBQUksRUFBRSxFQUFDLE1BQU0sc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7RW50aXR5UGVyc29uUHJvZHVjdExvb2t1cCBhcyDJtWJ9IGZyb20gJy4vY29tcG9uZW50cy9sb29rdXBzL2VudGl0aWVzL3h0LWludGVncmF0aW9uL2VudGl0eS1wZXJzb24tcHJvZHVjdC1sb29rdXAnO1xuZXhwb3J0IHtFcnBMb29rdXBzU2VydmljZSBhcyDJtWF9IGZyb20gJy4vY29tcG9uZW50cy9sb29rdXBzL2VycC1sb29rdXBzLnNlcnZpY2UnO1xuZXhwb3J0IHtWZXJpZnlNb2R1bGVQZXJtaXNzaW9uU2VydmljZSBhcyDJtWR9IGZyb20gJy4vY29tcG9uZW50cy9wZXJtaXNzaW9ucy92ZXJpZnktbW9kdWxlLXBlcm1pc3Npb24tc2VydmljZSc7XG5leHBvcnQge1N0b3JhZ2VTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9jb21wb25lbnRzL3N0b3JhZ2Uvc3RvcmFnZS5zZXJ2aWNlJzsiXX0=
@@ -0,0 +1,52 @@
1
+ import { __decorate, __extends } from "tslib";
2
+ import { FieldType } from "@seniorsistemas/angular-components";
3
+ import { TranslateService } from "@ngx-translate/core";
4
+ import { Injectable } from "@angular/core";
5
+ import { ErpLookups } from "../../erp-lookups";
6
+ import { ErpLookupsService } from "../../erp-lookups.service";
7
+ var EntityPersonProductLookup = /** @class */ (function (_super) {
8
+ __extends(EntityPersonProductLookup, _super);
9
+ function EntityPersonProductLookup(lookupService, translate) {
10
+ var _this = _super.call(this, lookupService, translate, "entityFacade", [
11
+ {
12
+ name: "entityCode",
13
+ type: FieldType.String
14
+ },
15
+ {
16
+ name: "entityDesc",
17
+ type: FieldType.String
18
+ },
19
+ ], [
20
+ {
21
+ name: "entityCode",
22
+ type: FieldType.String
23
+ },
24
+ {
25
+ name: "entityDesc",
26
+ type: FieldType.String
27
+ },
28
+ ], [
29
+ {
30
+ name: "entityCode",
31
+ type: FieldType.String
32
+ },
33
+ {
34
+ name: "entityDesc",
35
+ type: FieldType.String
36
+ },
37
+ ], "erpx_cpl_xt", "integration") || this;
38
+ _this.lookupService = lookupService;
39
+ _this.translate = translate;
40
+ return _this;
41
+ }
42
+ EntityPersonProductLookup.ctorParameters = function () { return [
43
+ { type: ErpLookupsService },
44
+ { type: TranslateService }
45
+ ]; };
46
+ EntityPersonProductLookup = __decorate([
47
+ Injectable()
48
+ ], EntityPersonProductLookup);
49
+ return EntityPersonProductLookup;
50
+ }(ErpLookups));
51
+ export { EntityPersonProductLookup };
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXBlcnNvbi1wcm9kdWN0LWxvb2t1cC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvbG9va3Vwcy9lbnRpdGllcy94dC1pbnRlZ3JhdGlvbi9lbnRpdHktcGVyc29uLXByb2R1Y3QtbG9va3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHOUQ7SUFBK0MsNkNBQVU7SUFDckQsbUNBQ2MsYUFBZ0MsRUFDaEMsU0FBMkI7UUFGekMsWUFJSSxrQkFDSSxhQUFhLEVBQ2IsU0FBUyxFQUNULGNBQWMsRUFDZDtZQUNJO2dCQUNJLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDekI7WUFDRDtnQkFDSSxJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2FBQ3pCO1NBQ0osRUFDRDtZQUNJO2dCQUNJLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDekI7WUFDRDtnQkFDSSxJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2FBQ3pCO1NBQ0osRUFDRDtZQUNJO2dCQUNJLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07YUFDekI7WUFDRDtnQkFDSSxJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2FBQ3pCO1NBQ0osRUFDRCxhQUFhLEVBQ2IsYUFBYSxDQUNoQixTQUNKO1FBeENhLG1CQUFhLEdBQWIsYUFBYSxDQUFtQjtRQUNoQyxlQUFTLEdBQVQsU0FBUyxDQUFrQjs7SUF1Q3pDLENBQUM7O2dCQXhDNEIsaUJBQWlCO2dCQUNyQixnQkFBZ0I7O0lBSGhDLHlCQUF5QjtRQURyQyxVQUFVLEVBQUU7T0FDQSx5QkFBeUIsQ0EyQ3JDO0lBQUQsZ0NBQUM7Q0FBQSxBQTNDRCxDQUErQyxVQUFVLEdBMkN4RDtTQTNDWSx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50c1wiO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRXJwTG9va3VwcyB9IGZyb20gXCIuLi8uLi9lcnAtbG9va3Vwc1wiO1xuaW1wb3J0IHsgRXJwTG9va3Vwc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZXJwLWxvb2t1cHMuc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRW50aXR5UGVyc29uUHJvZHVjdExvb2t1cCBleHRlbmRzIEVycExvb2t1cHMge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgbG9va3VwU2VydmljZTogRXJwTG9va3Vwc1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgICBsb29rdXBTZXJ2aWNlLFxuICAgICAgICAgICAgdHJhbnNsYXRlLFxuICAgICAgICAgICAgXCJlbnRpdHlGYWNhZGVcIixcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiZW50aXR5Q29kZVwiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiZW50aXR5RGVzY1wiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImVudGl0eUNvZGVcIixcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcImVudGl0eURlc2NcIixcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJlbnRpdHlDb2RlXCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJlbnRpdHlEZXNjXCIsXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwiZXJweF9jcGxfeHRcIixcbiAgICAgICAgICAgIFwiaW50ZWdyYXRpb25cIlxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==