@rededor/site-front-end-lib 0.0.17 → 0.0.19

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 (69) hide show
  1. package/README.md +80 -80
  2. package/esm2022/lib/components/footer/components/footer-disclaimer/footer-disclaimer.component.mjs +3 -3
  3. package/esm2022/lib/components/footer/components/footer-menu/footer-menu.component.mjs +3 -3
  4. package/esm2022/lib/components/footer/components/footer-menu-item/footer-menu-item.component.mjs +3 -3
  5. package/esm2022/lib/components/footer/components/footer-social-medias/footer-social-medias.component.mjs +5 -5
  6. package/esm2022/lib/components/footer/footer.component.mjs +3 -3
  7. package/esm2022/lib/components/header/components/header-action-menu/header-action-menu.component.mjs +3 -3
  8. package/esm2022/lib/components/header/components/header-aux-menu/header-aux-menu.component.mjs +3 -3
  9. package/esm2022/lib/components/header/components/header-aux-menu-container/header-aux-menu-container.component.mjs +3 -3
  10. package/esm2022/lib/components/header/components/header-aux-menu-item/header-aux-menu-item.component.mjs +3 -3
  11. package/esm2022/lib/components/header/components/header-aux-menu-item-dropdown/header-aux-menu-item-dropdown.component.mjs +3 -3
  12. package/esm2022/lib/components/header/components/header-logo/header-logo.component.mjs +3 -3
  13. package/esm2022/lib/components/header/components/header-main-menu/header-main-menu.component.mjs +3 -3
  14. package/esm2022/lib/components/header/components/header-main-menu-item/header-main-menu-item.component.mjs +3 -3
  15. package/esm2022/lib/components/header/components/header-main-menu-item-dropdown/header-main-menu-item-dropdown.component.mjs +3 -3
  16. package/esm2022/lib/components/header/components/header-side-menu/header-side-menu.component.mjs +3 -3
  17. package/esm2022/lib/components/header/components/header-side-menu-item/header-side-menu-item.component.mjs +5 -5
  18. package/esm2022/lib/components/header/header.component.mjs +4 -4
  19. package/esm2022/lib/components/header/helpers/headerTheme.func.mjs +1 -1
  20. package/esm2022/lib/components/header/services/header.service.mjs +3 -3
  21. package/esm2022/lib/components/index.mjs +2 -1
  22. package/esm2022/lib/components/load-screen/load-screen.component.mjs +23 -0
  23. package/esm2022/lib/components/overlay/overlay.component.mjs +3 -3
  24. package/esm2022/lib/components/search/search.component.mjs +5 -5
  25. package/esm2022/lib/components/side-ctas/components/side-ctas-bottom/side-ctas-bottom.component.mjs +5 -5
  26. package/esm2022/lib/components/side-ctas/components/side-ctas-right-bottom/side-ctas-right-bottom.component.mjs +5 -5
  27. package/esm2022/lib/components/side-ctas/components/side-ctas-right-middle/side-ctas-right-middle.component.mjs +5 -5
  28. package/esm2022/lib/components/side-ctas/components/side-ctas-right-top/side-ctas-right-top.component.mjs +5 -5
  29. package/esm2022/lib/components/side-ctas/models/SideCta.model.mjs +1 -1
  30. package/esm2022/lib/components/side-ctas/side-ctas.component.mjs +5 -5
  31. package/esm2022/lib/components/test/test.component.mjs +3 -3
  32. package/esm2022/lib/directives/rdsite-click-outside/rdsite-click-outside.directive.mjs +3 -3
  33. package/esm2022/lib/directives/rdsite-link/rdsite-link.directive.mjs +3 -3
  34. package/esm2022/lib/directives/rdsite-phone-modal/rdsite-phone-modal.directive.mjs +4 -4
  35. package/esm2022/lib/enums/RdsiteModalComponentStyle.enum.mjs +1 -1
  36. package/esm2022/lib/enums/RdsiteModalDrawerComponentStyle.enum.mjs +1 -1
  37. package/esm2022/lib/enums/index.mjs +1 -1
  38. package/esm2022/lib/helpers/formatPhone.func.mjs +1 -1
  39. package/esm2022/lib/json/unidades.json +5370 -1956
  40. package/esm2022/lib/json/unidadesOnco.json +3857 -3925
  41. package/esm2022/lib/models/wordpress/unidade/wp-unidade-onco.model.mjs +1 -1
  42. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site-detalhe.model.mjs +1 -1
  43. package/esm2022/lib/models/wordpress/unidade/wp-unidade-site.model.mjs +1 -1
  44. package/esm2022/lib/pipes/index.mjs +1 -1
  45. package/esm2022/lib/pipes/phone/phone.pipe.mjs +4 -4
  46. package/esm2022/lib/services/algolia/algolia.service.mjs +3 -3
  47. package/esm2022/lib/services/cura/cura.service.mjs +4 -4
  48. package/esm2022/lib/services/http-client/http-client.service.mjs +3 -3
  49. package/esm2022/lib/services/log/log.service.mjs +3 -3
  50. package/esm2022/lib/services/modal/modal.service.mjs +4 -4
  51. package/esm2022/lib/services/modal-drawer/modal-drawer.service.mjs +4 -4
  52. package/esm2022/lib/services/ngu-carousel/ngu-carousel.service.mjs +3 -3
  53. package/esm2022/lib/services/phone/phone.service.mjs +4 -4
  54. package/esm2022/lib/services/privacy-tools/privacy-tools.service.mjs +3 -3
  55. package/esm2022/lib/services/seo/seo.service.mjs +4 -4
  56. package/esm2022/lib/services/server-response/server-response.service.mjs +3 -3
  57. package/esm2022/lib/services/site-back-end/site-back-end.service.mjs +28 -46
  58. package/esm2022/lib/services/ssr-loading/ssr-loading.service.mjs +3 -3
  59. package/esm2022/lib/services/transfer-state/transfer-state.service.mjs +3 -3
  60. package/esm2022/public-api.mjs +1 -1
  61. package/fesm2022/rededor-site-front-end-lib.mjs +9164 -4046
  62. package/fesm2022/rededor-site-front-end-lib.mjs.map +1 -1
  63. package/lib/components/index.d.ts +1 -0
  64. package/lib/components/load-screen/load-screen.component.d.ts +13 -0
  65. package/lib/models/wordpress/unidade/wp-unidade-onco.model.d.ts +3 -3
  66. package/lib/models/wordpress/unidade/wp-unidade-site-detalhe.model.d.ts +20 -20
  67. package/lib/models/wordpress/unidade/wp-unidade-site.model.d.ts +13 -13
  68. package/lib/services/site-back-end/site-back-end.service.d.ts +17 -17
  69. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
- import { Injectable, Inject, PLATFORM_ID } from "@angular/core";
1
+ import { Injectable, Inject, PLATFORM_ID } from '@angular/core';
2
2
  import { isPlatformServer } from '@angular/common';
3
- import { Observable } from "rxjs";
3
+ import { catchError, of, timeout } from 'rxjs';
4
4
  import { LIB_CONFIG } from '../../tokens/LibConfig';
5
- import { toQueryParams } from "../../helpers/toQueryParams.func";
6
- import * as unidadesWpMock from "../../json/unidades.json";
7
- import * as unidadesOncoWpMock from "../../json/unidadesOnco.json";
5
+ import { toQueryParams } from '../../helpers/toQueryParams.func';
6
+ import * as unidadesWpMock from '../../json/unidades.json';
7
+ import * as unidadesOncoWpMock from '../../json/unidadesOnco.json';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "../http-client/http-client.service";
10
10
  import * as i2 from "../log/log.service";
@@ -26,40 +26,22 @@ export class SiteBackendService {
26
26
  return this.httpClientService.get(`${this.siteApiUrl}unidades${toQueryParams(params)}`);
27
27
  }
28
28
  getUnidadesWP() {
29
- return new Observable((subscriber) => {
30
- this.httpClientService.get(`${this.siteApiUrl}unidades/wp`).subscribe({
31
- next: (unidades) => {
32
- subscriber.next(unidades);
33
- subscriber.complete();
34
- },
35
- error: async (err) => {
36
- this.log.logMsg(JSON.stringify(err), "ERROR");
37
- this.log.logMsg("Utilizando json de unidades wordpress.", "FALLBACK");
38
- subscriber.next(Array.from(unidadesWpMock));
39
- subscriber.complete();
40
- },
41
- });
42
- });
43
- }
44
- getUnidadesMenusWP(unidadeSlug = "") {
45
- const unidade = unidadeSlug && unidadeSlug !== "/" ? unidadeSlug : "";
29
+ return this.httpClientService.get(`${this.siteApiUrl}unidades/wp`).pipe(timeout(1500), catchError((err) => {
30
+ this.log.logMsg(JSON.stringify(err), 'ERROR');
31
+ this.log.logMsg('Utilizando json de unidades wordpress.', 'FALLBACK');
32
+ return of(Array.from(unidadesWpMock));
33
+ }));
34
+ }
35
+ getUnidadesMenusWP(unidadeSlug = '') {
36
+ const unidade = unidadeSlug && unidadeSlug !== '/' ? unidadeSlug : '';
46
37
  return this.httpClientService.get(`${this.siteApiUrl}unidades/wp/menus/${unidade}`);
47
38
  }
48
39
  getUnidadesOncoWP() {
49
- return new Observable((subscriber) => {
50
- this.httpClientService.get(`${this.siteApiUrl}unidades/wp-onco`).subscribe({
51
- next: (unidades) => {
52
- subscriber.next(unidades);
53
- subscriber.complete();
54
- },
55
- error: async (err) => {
56
- this.log.logMsg(JSON.stringify(err), "ERROR");
57
- this.log.logMsg("Utilizando json de unidades onco wordpress.", "FALLBACK");
58
- subscriber.next(Array.from(unidadesOncoWpMock));
59
- subscriber.complete();
60
- },
61
- });
62
- });
40
+ return this.httpClientService.get(`${this.siteApiUrl}unidades/wp-onco`).pipe(timeout(1500), catchError((err) => {
41
+ this.log.logMsg(JSON.stringify(err), 'ERROR');
42
+ this.log.logMsg('Utilizando json de unidades onco wordpress.', 'FALLBACK');
43
+ return of(Array.from(unidadesOncoWpMock));
44
+ }));
63
45
  }
64
46
  getConvenios(params) {
65
47
  return this.httpClientService.get(`${this.siteApiUrl}convenios${toQueryParams(params)}`);
@@ -97,12 +79,12 @@ export class SiteBackendService {
97
79
  return this.httpClientService.get(`${this.siteApiUrl}cirurgias/taxonomias`);
98
80
  }
99
81
  getGruposExames(unidadeSlug) {
100
- const slug = unidadeSlug ?? "/";
101
- const params = slug ? `?unidade=${slug}` : "";
82
+ const slug = unidadeSlug ?? '/';
83
+ const params = slug ? `?unidade=${slug}` : '';
102
84
  return this.httpClientService.get(`${this.siteApiUrl}exames-e-procedimentos${params}`);
103
85
  }
104
86
  getExamesByGrupo(unidadeSlug, slugGrupo) {
105
- const slug = unidadeSlug ?? "/";
87
+ const slug = unidadeSlug ?? '/';
106
88
  const params = `?unidade=${slug}&slugGrupo=${slugGrupo}`;
107
89
  return this.httpClientService.get(`${this.siteApiUrl}exames-e-procedimentos/grupo${params}`);
108
90
  }
@@ -110,12 +92,12 @@ export class SiteBackendService {
110
92
  return this.httpClientService.get(`${this.siteApiUrl}exames-e-procedimentos/api-dados`);
111
93
  }
112
94
  getGruposEspecialidades(unidadeSlug) {
113
- const params = unidadeSlug ? `?unidade=${unidadeSlug}` : "";
95
+ const params = unidadeSlug ? `?unidade=${unidadeSlug}` : '';
114
96
  return this.httpClientService.get(`${this.siteApiUrl}especialidades${params}`);
115
97
  }
116
98
  getEspecialidadesByGrupo(tituloGrupo, unidadeSlug) {
117
99
  const titulo = `?tituloGrupo=${encodeURI(tituloGrupo)}`;
118
- const slug = unidadeSlug ? `&unidade=${unidadeSlug}` : "";
100
+ const slug = unidadeSlug ? `&unidade=${unidadeSlug}` : '';
119
101
  const params = `${titulo}${slug}`;
120
102
  return this.httpClientService.get(`${this.siteApiUrl}especialidades/grupo${params}`);
121
103
  }
@@ -138,13 +120,13 @@ export class SiteBackendService {
138
120
  saveMedico(novoMedico) {
139
121
  return this.httpClientService.post(`${this.siteApiUrl}${this.libConfig.siteApi.centroEstudos}`, novoMedico);
140
122
  }
141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SiteBackendService, deps: [{ token: i1.HttpClientService }, { token: i2.LogService }, { token: LIB_CONFIG }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
142
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SiteBackendService, providedIn: "root" }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SiteBackendService, deps: [{ token: i1.HttpClientService }, { token: i2.LogService }, { token: LIB_CONFIG }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
124
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SiteBackendService, providedIn: 'root' }); }
143
125
  }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SiteBackendService, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SiteBackendService, decorators: [{
145
127
  type: Injectable,
146
128
  args: [{
147
- providedIn: "root"
129
+ providedIn: 'root',
148
130
  }]
149
131
  }], ctorParameters: () => [{ type: i1.HttpClientService }, { type: i2.LogService }, { type: undefined, decorators: [{
150
132
  type: Inject,
@@ -153,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
153
135
  type: Inject,
154
136
  args: [PLATFORM_ID]
155
137
  }] }] });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1iYWNrLWVuZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvc2VydmljZXMvc2l0ZS1iYWNrLWVuZC9zaXRlLWJhY2stZW5kLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQW1CakUsT0FBTyxLQUFLLGNBQWMsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEtBQUssa0JBQWtCLE1BQU0sOEJBQThCLENBQUE7Ozs7QUFLbEUsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixZQUNVLGlCQUFvQyxFQUNwQyxHQUFlLEVBQ0ssU0FBb0IsRUFDbkIsVUFBa0I7UUFIdkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ0ssY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQzdDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQUMsQ0FBQztJQUVqQyxTQUFTO1FBQ2YsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFlBQVks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QUM7SUFDekcsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxXQUFXLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELG9CQUFvQjtJQUNwQixXQUFXLENBQUMsY0FBc0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLFVBQVUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUN6SCxDQUFDO0lBRUQsVUFBVSxDQUFDLFVBQXNDO1FBQy9DLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDOUcsQ0FBQzsrR0E3SlUsa0JBQWtCLDZFQU1uQixVQUFVLGFBQ1YsV0FBVzttSEFQVixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBQTEFURk9STV9JRCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgTElCX0NPTkZJRywgTGliQ29uZmlnIH0gZnJvbSAnLi4vLi4vdG9rZW5zL0xpYkNvbmZpZyc7XHJcbmltcG9ydCB7IHRvUXVlcnlQYXJhbXMgfSBmcm9tIFwiLi4vLi4vaGVscGVycy90b1F1ZXJ5UGFyYW1zLmZ1bmNcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudFNlcnZpY2UgfSBmcm9tIFwiLi4vaHR0cC1jbGllbnQvaHR0cC1jbGllbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSBcIi4uL2xvZy9sb2cuc2VydmljZVwiO1xyXG5cclxuaW1wb3J0IHsgUkRTTENvbnZlbmlvLCBSRFNMQ29udmVuaW9QYXJhbXMgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3Jkc2wtY29udmVuaW8ubW9kZWxcIjtcclxuaW1wb3J0IHsgUkRTTFBsYW5vLCBSRFNMUGxhbm9QYXJhbXMgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3Jkc2wtcGxhbm9zLm1vZGVsXCI7XHJcbmltcG9ydCB7IFJEU0xDb2JlcnR1cmEsIFJEU0xDb2JlcnR1cmFQYXJhbXMgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3Jkc2wtY29iZXJ0dXJhLm1vZGVsXCI7XHJcbmltcG9ydCB7IFJEU0xVbmlkYWRlLCBSRFNMVW5pZGFkZXNQYXJhbXMgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3Jkc2wtdW5pZGFkZS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBSRFNMRXNwZWNpYWxpZGFkZSwgUkRTTEVzcGVjaWFsaWRhZGVzUGFyYW1zIH0gZnJvbSBcIi4uLy4uL21vZGVscy9yZHNsLWVzcGVjaWFsaWRhZGUubW9kZWxcIjtcclxuaW1wb3J0IHsgRG9lbmNhQmFja2VuZCB9IGZyb20gXCIuLi8uLi9tb2RlbHMvZG9lbmNhLWJhY2tlbmQubW9kZWxcIjtcclxuaW1wb3J0IHsgVGF4b25vbWlhc0RvZW5jYXNMaXN0IH0gZnJvbSBcIi4uLy4uL21vZGVscy9kb2VuY2EtdGF4b25vbXkubW9kZWxcIjtcclxuaW1wb3J0IHsgRXhhbWVBcGlEYWRvcywgRXhhbWVCYWNrZW5kIH0gZnJvbSBcIi4uLy4uL21vZGVscy9leGFtZS1iYWNrZW5kLm1vZGVsXCI7XHJcbmltcG9ydCB7IEVzcGVjaWFsaWRhZGVCYWNrZW5kLCBFc3BlY2lhbGlkYWRlR3J1cG9CYWNrZW5kIH0gZnJvbSBcIi4uLy4uL21vZGVscy9lc3BlY2lhbGlkYWRlLWJhY2tlbmQubW9kZWxcIjtcclxuaW1wb3J0IHsgQ2VudHJvRXN0dWRvc0JhY2tlbmRNZWRpY28gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NlbnRyby1lc3R1ZG9zLWJhY2tlbmQubW9kZWxcIjtcclxuaW1wb3J0IHsgV3BVbmlkYWRlU2l0ZSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvd29yZHByZXNzL3VuaWRhZGUvd3AtdW5pZGFkZS1zaXRlLm1vZGVsXCI7XHJcbmltcG9ydCB7IFdwVW5pZGFkZU9uY28gfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3dvcmRwcmVzcy91bmlkYWRlL3dwLXVuaWRhZGUtb25jby5tb2RlbFwiO1xyXG5pbXBvcnQgeyBVbmlmaWVkTWVudSB9IGZyb20gXCIuLi8uLi9tb2RlbHMvbWVudS1pdGVtLm1vZGVsXCI7XHJcbmltcG9ydCB7IE1lZGljb0N2IH0gZnJvbSBcIi4uLy4uL21vZGVscy9tZWRpY28tY3YubW9kZWxcIjtcclxuXHJcbmltcG9ydCAqIGFzIHVuaWRhZGVzV3BNb2NrIGZyb20gXCIuLi8uLi9qc29uL3VuaWRhZGVzLmpzb25cIjtcclxuaW1wb3J0ICogYXMgdW5pZGFkZXNPbmNvV3BNb2NrIGZyb20gXCIuLi8uLi9qc29uL3VuaWRhZGVzT25jby5qc29uXCJcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2l0ZUJhY2tlbmRTZXJ2aWNlIHtcclxuICBzaXRlQXBpVXJsOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50U2VydmljZTogSHR0cENsaWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxvZzogTG9nU2VydmljZSxcclxuICAgIEBJbmplY3QoTElCX0NPTkZJRykgcHJpdmF0ZSBsaWJDb25maWc6IExpYkNvbmZpZyxcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxyXG4gICkgeyB0aGlzLnNpdGVBcGlVcmwgPSB0aGlzLmdldEFwaVVybCgpOyB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QXBpVXJsKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRoaXMubGliQ29uZmlnLnNlcnZlcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5saWJDb25maWcuc2l0ZUFwaS5iYXNlSW50ZXJuYWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5saWJDb25maWcuc2l0ZUFwaS5iYXNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0VW5pZGFkZXMocGFyYW1zPzogUkRTTFVuaWRhZGVzUGFyYW1zKTogT2JzZXJ2YWJsZTxSRFNMVW5pZGFkZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfXVuaWRhZGVzJHt0b1F1ZXJ5UGFyYW1zKHBhcmFtcyl9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRVbmlkYWRlc1dQKCk6IE9ic2VydmFibGU8V3BVbmlkYWRlU2l0ZVtdPiB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8V3BVbmlkYWRlU2l0ZVtdPigoc3Vic2NyaWJlcikgPT4ge1xyXG4gICAgICB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldDxXcFVuaWRhZGVTaXRlW10+KGAke3RoaXMuc2l0ZUFwaVVybH11bmlkYWRlcy93cGApLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHVuaWRhZGVzKSA9PiB7XHJcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodW5pZGFkZXMpO1xyXG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IGFzeW5jIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nLmxvZ01zZyhKU09OLnN0cmluZ2lmeShlcnIpLCBcIkVSUk9SXCIpO1xyXG4gICAgICAgICAgdGhpcy5sb2cubG9nTXNnKFwiVXRpbGl6YW5kbyBqc29uIGRlIHVuaWRhZGVzIHdvcmRwcmVzcy5cIiwgXCJGQUxMQkFDS1wiKTtcclxuICAgICAgICAgIHN1YnNjcmliZXIubmV4dChBcnJheS5mcm9tKHVuaWRhZGVzV3BNb2NrKSBhcyBhbnkpO1xyXG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGdldFVuaWRhZGVzTWVudXNXUCh1bmlkYWRlU2x1ZyA9IFwiXCIpOiBPYnNlcnZhYmxlPFVuaWZpZWRNZW51PiB7XHJcbiAgICBjb25zdCB1bmlkYWRlID0gdW5pZGFkZVNsdWcgJiYgdW5pZGFkZVNsdWcgIT09IFwiL1wiID8gdW5pZGFkZVNsdWcgOiBcIlwiO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH11bmlkYWRlcy93cC9tZW51cy8ke3VuaWRhZGV9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRVbmlkYWRlc09uY29XUCgpOiBPYnNlcnZhYmxlPFdwVW5pZGFkZU9uY29bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFdwVW5pZGFkZU9uY29bXT4oKHN1YnNjcmliZXIpID0+IHtcclxuICAgICAgdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQ8V3BVbmlkYWRlT25jb1tdPihgJHt0aGlzLnNpdGVBcGlVcmx9dW5pZGFkZXMvd3Atb25jb2ApLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHVuaWRhZGVzKSA9PiB7XHJcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodW5pZGFkZXMpO1xyXG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IGFzeW5jIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9nLmxvZ01zZyhKU09OLnN0cmluZ2lmeShlcnIpLCBcIkVSUk9SXCIpO1xyXG4gICAgICAgICAgdGhpcy5sb2cubG9nTXNnKFwiVXRpbGl6YW5kbyBqc29uIGRlIHVuaWRhZGVzIG9uY28gd29yZHByZXNzLlwiLCBcIkZBTExCQUNLXCIpO1xyXG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KEFycmF5LmZyb20odW5pZGFkZXNPbmNvV3BNb2NrKSBhcyBhbnkpO1xyXG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0Q29udmVuaW9zKHBhcmFtcz86IFJEU0xDb252ZW5pb1BhcmFtcyk6IE9ic2VydmFibGU8UkRTTENvbnZlbmlvW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9Y29udmVuaW9zJHt0b1F1ZXJ5UGFyYW1zKHBhcmFtcyl9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRQbGFub3MocGFyYW1zPzogUkRTTFBsYW5vUGFyYW1zKTogT2JzZXJ2YWJsZTxSRFNMUGxhbm9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1wbGFub3Mke3RvUXVlcnlQYXJhbXMocGFyYW1zKX1gKTtcclxuICB9XHJcblxyXG4gIGdldENvYmVydHVyYXMocGxhbm9JZFFkOiBudW1iZXIsIHBhcmFtcz86IFJEU0xDb2JlcnR1cmFQYXJhbXMpOiBPYnNlcnZhYmxlPFJEU0xDb2JlcnR1cmFbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1wbGFub3MvJHtwbGFub0lkUWR9L2NvYmVydHVyYSR7dG9RdWVyeVBhcmFtcyhwYXJhbXMpfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RG9lbmNhcygpOiBPYnNlcnZhYmxlPERvZW5jYUJhY2tlbmRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1kb2VuY2FzYCk7XHJcbiAgfVxyXG5cclxuICBnZXREb2VuY2FzVGF4b25vbWllcygpIHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2l0ZUFwaVVybH1kb2VuY2FzL3RheG9ub21pYXNgO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0PFRheG9ub21pYXNEb2VuY2FzTGlzdD4odXJsKTtcclxuICB9XHJcblxyXG4gIGdldERvZW5jYXNVbmlxdWVMZXR0ZXJzKCk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2l0ZUFwaVVybH1kb2VuY2FzL2xldHRlcnNgO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KHVybCk7XHJcbiAgfVxyXG5cclxuICBnZXRWYWNpbmFzKCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9dmFjaW5hc2ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFjaW5hc1RheG9ub21pZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfXZhY2luYXMvdGF4b25vbWlhc2ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2lydXJnaWFzKCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9Y2lydXJnaWFzYCk7XHJcbiAgfVxyXG5cclxuICBnZXRDaXJ1cmdpYXNHcnVwb3MoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1jaXJ1cmdpYXMvZ3J1cG9zYCk7XHJcbiAgfVxyXG5cclxuICBnZXRDaXJ1cmdpYXNUYXhvbm9taWVzKCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9Y2lydXJnaWFzL3RheG9ub21pYXNgKTtcclxuICB9XHJcblxyXG4gIGdldEdydXBvc0V4YW1lcyh1bmlkYWRlU2x1Zzogc3RyaW5nKTogT2JzZXJ2YWJsZTxFeGFtZUJhY2tlbmRbXT4ge1xyXG4gICAgY29uc3Qgc2x1ZyA9IHVuaWRhZGVTbHVnID8/IFwiL1wiO1xyXG4gICAgY29uc3QgcGFyYW1zID0gc2x1ZyA/IGA/dW5pZGFkZT0ke3NsdWd9YCA6IFwiXCI7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWV4YW1lcy1lLXByb2NlZGltZW50b3Mke3BhcmFtc31gKTtcclxuICB9XHJcblxyXG4gIGdldEV4YW1lc0J5R3J1cG8odW5pZGFkZVNsdWc6IHN0cmluZywgc2x1Z0dydXBvOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV4YW1lQmFja2VuZFtdPiB7XHJcbiAgICBjb25zdCBzbHVnID0gdW5pZGFkZVNsdWcgPz8gXCIvXCI7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBgP3VuaWRhZGU9JHtzbHVnfSZzbHVnR3J1cG89JHtzbHVnR3J1cG99YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZXhhbWVzLWUtcHJvY2VkaW1lbnRvcy9ncnVwbyR7cGFyYW1zfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXhhbWVzQXBpRGFkb3MoKTogT2JzZXJ2YWJsZTxFeGFtZUFwaURhZG9zW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZXhhbWVzLWUtcHJvY2VkaW1lbnRvcy9hcGktZGFkb3NgKTtcclxuICB9XHJcblxyXG4gIGdldEdydXBvc0VzcGVjaWFsaWRhZGVzKHVuaWRhZGVTbHVnPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxFc3BlY2lhbGlkYWRlR3J1cG9CYWNrZW5kW10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHVuaWRhZGVTbHVnID8gYD91bmlkYWRlPSR7dW5pZGFkZVNsdWd9YCA6IFwiXCI7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWVzcGVjaWFsaWRhZGVzJHtwYXJhbXN9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRFc3BlY2lhbGlkYWRlc0J5R3J1cG8odGl0dWxvR3J1cG86IHN0cmluZywgdW5pZGFkZVNsdWc/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEVzcGVjaWFsaWRhZGVCYWNrZW5kW10+IHtcclxuICAgIGNvbnN0IHRpdHVsbyA9IGA/dGl0dWxvR3J1cG89JHtlbmNvZGVVUkkodGl0dWxvR3J1cG8pfWA7XHJcbiAgICBjb25zdCBzbHVnID0gdW5pZGFkZVNsdWcgPyBgJnVuaWRhZGU9JHt1bmlkYWRlU2x1Z31gIDogXCJcIjtcclxuICAgIGNvbnN0IHBhcmFtcyA9IGAke3RpdHVsb30ke3NsdWd9YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZXNwZWNpYWxpZGFkZXMvZ3J1cG8ke3BhcmFtc31gKTtcclxuICB9XHJcblxyXG4gIGdldEVzcGVjaWFsaWRhZGVzRHEocGFyYW1zPzogUkRTTEVzcGVjaWFsaWRhZGVzUGFyYW1zKTogT2JzZXJ2YWJsZTxSRFNMRXNwZWNpYWxpZGFkZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWVzcGVjaWFsaWRhZGVzL2VzcGVjaWFsaWRhZGVzLWRxJHt0b1F1ZXJ5UGFyYW1zKHBhcmFtcyl9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRHcnVwb3NFc3BlY2lhbGlkYWRlc0RxKHBhcmFtcz86IFJEU0xFc3BlY2lhbGlkYWRlc1BhcmFtcyk6IE9ic2VydmFibGU8UkRTTEVzcGVjaWFsaWRhZGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1lc3BlY2lhbGlkYWRlcy9ncnVwb3MtZHEke3RvUXVlcnlQYXJhbXMocGFyYW1zKX1gKTtcclxuICB9XHJcblxyXG4gIGdldFJlY2FwdGNoYVJlc3VsdCh0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLnBvc3QoYCR7dGhpcy5zaXRlQXBpVXJsfSR7dGhpcy5saWJDb25maWcuc2l0ZUFwaS5yZWNhcHRjaGF9YCwgeyB0b2tlbiB9KTtcclxuICB9XHJcblxyXG4gIGdldE1lZGljb0N2KG1lZGljb0lkOiBudW1iZXIpOiBPYnNlcnZhYmxlPE1lZGljb0N2PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfW1lZGljb3MvJHttZWRpY29JZH1gKTtcclxuICB9XHJcblxyXG4gIC8vIENlbnRybyBkZSBFc3R1ZG9zXHJcbiAgY2hlY2tNZWRpY28oY29uc2VsaG9Db2RpZ286IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfSR7dGhpcy5saWJDb25maWcuc2l0ZUFwaS5jZW50cm9Fc3R1ZG9zfT9lbWFpbD0ke2NvbnNlbGhvQ29kaWdvfWApO1xyXG4gIH1cclxuXHJcbiAgc2F2ZU1lZGljbyhub3ZvTWVkaWNvOiBDZW50cm9Fc3R1ZG9zQmFja2VuZE1lZGljbyk6IE9ic2VydmFibGU8Q2VudHJvRXN0dWRvc0JhY2tlbmRNZWRpY28+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLnBvc3QoYCR7dGhpcy5zaXRlQXBpVXJsfSR7dGhpcy5saWJDb25maWcuc2l0ZUFwaS5jZW50cm9Fc3R1ZG9zfWAsIG5vdm9NZWRpY28pO1xyXG4gIH1cclxufVxyXG4iXX0=
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1iYWNrLWVuZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvc2VydmljZXMvc2l0ZS1iYWNrLWVuZC9zaXRlLWJhY2stZW5kLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQWMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBbUJqRSxPQUFPLEtBQUssY0FBYyxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sS0FBSyxrQkFBa0IsTUFBTSw4QkFBOEIsQ0FBQzs7OztBQUtuRSxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQ1UsaUJBQW9DLEVBQ3BDLEdBQWUsRUFDSyxTQUFvQixFQUNuQixVQUFrQjtRQUh2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDSyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVE7UUFFL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDLFNBQVMs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LENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM5RyxDQUFDOytHQW5KVSxrQkFBa0IsNkVBTW5CLFVBQVUsYUFDVixXQUFXO21IQVBWLGtCQUFrQixjQUZqQixNQUFNOzs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QsIFBMQVRGT1JNX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBPYnNlcnZhYmxlLCBvZiwgdGltZW91dCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBMSUJfQ09ORklHLCBMaWJDb25maWcgfSBmcm9tICcuLi8uLi90b2tlbnMvTGliQ29uZmlnJztcclxuaW1wb3J0IHsgdG9RdWVyeVBhcmFtcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvdG9RdWVyeVBhcmFtcy5mdW5jJztcclxuaW1wb3J0IHsgSHR0cENsaWVudFNlcnZpY2UgfSBmcm9tICcuLi9odHRwLWNsaWVudC9odHRwLWNsaWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBSRFNMQ29udmVuaW8sIFJEU0xDb252ZW5pb1BhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9yZHNsLWNvbnZlbmlvLm1vZGVsJztcclxuaW1wb3J0IHsgUkRTTFBsYW5vLCBSRFNMUGxhbm9QYXJhbXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmRzbC1wbGFub3MubW9kZWwnO1xyXG5pbXBvcnQgeyBSRFNMQ29iZXJ0dXJhLCBSRFNMQ29iZXJ0dXJhUGFyYW1zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Jkc2wtY29iZXJ0dXJhLm1vZGVsJztcclxuaW1wb3J0IHsgUkRTTFVuaWRhZGUsIFJEU0xVbmlkYWRlc1BhcmFtcyB9IGZyb20gJy4uLy4uL21vZGVscy9yZHNsLXVuaWRhZGUubW9kZWwnO1xyXG5pbXBvcnQgeyBSRFNMRXNwZWNpYWxpZGFkZSwgUkRTTEVzcGVjaWFsaWRhZGVzUGFyYW1zIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Jkc2wtZXNwZWNpYWxpZGFkZS5tb2RlbCc7XHJcbmltcG9ydCB7IERvZW5jYUJhY2tlbmQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZG9lbmNhLWJhY2tlbmQubW9kZWwnO1xyXG5pbXBvcnQgeyBUYXhvbm9taWFzRG9lbmNhc0xpc3QgfSBmcm9tICcuLi8uLi9tb2RlbHMvZG9lbmNhLXRheG9ub215Lm1vZGVsJztcclxuaW1wb3J0IHsgRXhhbWVBcGlEYWRvcywgRXhhbWVCYWNrZW5kIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V4YW1lLWJhY2tlbmQubW9kZWwnO1xyXG5pbXBvcnQgeyBFc3BlY2lhbGlkYWRlQmFja2VuZCwgRXNwZWNpYWxpZGFkZUdydXBvQmFja2VuZCB9IGZyb20gJy4uLy4uL21vZGVscy9lc3BlY2lhbGlkYWRlLWJhY2tlbmQubW9kZWwnO1xyXG5pbXBvcnQgeyBDZW50cm9Fc3R1ZG9zQmFja2VuZE1lZGljbyB9IGZyb20gJy4uLy4uL21vZGVscy9jZW50cm8tZXN0dWRvcy1iYWNrZW5kLm1vZGVsJztcclxuaW1wb3J0IHsgV3BVbmlkYWRlU2l0ZSB9IGZyb20gJy4uLy4uL21vZGVscy93b3JkcHJlc3MvdW5pZGFkZS93cC11bmlkYWRlLXNpdGUubW9kZWwnO1xyXG5pbXBvcnQgeyBXcFVuaWRhZGVPbmNvIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3dvcmRwcmVzcy91bmlkYWRlL3dwLXVuaWRhZGUtb25jby5tb2RlbCc7XHJcbmltcG9ydCB7IFVuaWZpZWRNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUtaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7IE1lZGljb0N2IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lZGljby1jdi5tb2RlbCc7XHJcblxyXG5pbXBvcnQgKiBhcyB1bmlkYWRlc1dwTW9jayBmcm9tICcuLi8uLi9qc29uL3VuaWRhZGVzLmpzb24nO1xyXG5pbXBvcnQgKiBhcyB1bmlkYWRlc09uY29XcE1vY2sgZnJvbSAnLi4vLi4vanNvbi91bmlkYWRlc09uY28uanNvbic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2l0ZUJhY2tlbmRTZXJ2aWNlIHtcclxuICBzaXRlQXBpVXJsOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50U2VydmljZTogSHR0cENsaWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxvZzogTG9nU2VydmljZSxcclxuICAgIEBJbmplY3QoTElCX0NPTkZJRykgcHJpdmF0ZSBsaWJDb25maWc6IExpYkNvbmZpZyxcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcGxhdGZvcm1JZDogb2JqZWN0LFxyXG4gICkge1xyXG4gICAgdGhpcy5zaXRlQXBpVXJsID0gdGhpcy5nZXRBcGlVcmwoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QXBpVXJsKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybVNlcnZlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRoaXMubGliQ29uZmlnLnNlcnZlcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5saWJDb25maWcuc2l0ZUFwaS5iYXNlSW50ZXJuYWw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5saWJDb25maWcuc2l0ZUFwaS5iYXNlO1xyXG4gIH1cclxuXHJcbiAgZ2V0VW5pZGFkZXMocGFyYW1zPzogUkRTTFVuaWRhZGVzUGFyYW1zKTogT2JzZXJ2YWJsZTxSRFNMVW5pZGFkZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfXVuaWRhZGVzJHt0b1F1ZXJ5UGFyYW1zKHBhcmFtcyl9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRVbmlkYWRlc1dQKCk6IE9ic2VydmFibGU8V3BVbmlkYWRlU2l0ZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQ8V3BVbmlkYWRlU2l0ZVtdPihgJHt0aGlzLnNpdGVBcGlVcmx9dW5pZGFkZXMvd3BgKS5waXBlKFxyXG4gICAgICB0aW1lb3V0KDE1MDApLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aGlzLmxvZy5sb2dNc2coSlNPTi5zdHJpbmdpZnkoZXJyKSwgJ0VSUk9SJyk7XHJcbiAgICAgICAgdGhpcy5sb2cubG9nTXNnKCdVdGlsaXphbmRvIGpzb24gZGUgdW5pZGFkZXMgd29yZHByZXNzLicsICdGQUxMQkFDSycpO1xyXG4gICAgICAgIHJldHVybiBvZihBcnJheS5mcm9tKHVuaWRhZGVzV3BNb2NrKSBhcyBXcFVuaWRhZGVTaXRlW10pO1xyXG4gICAgICB9KSxcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRVbmlkYWRlc01lbnVzV1AodW5pZGFkZVNsdWcgPSAnJyk6IE9ic2VydmFibGU8VW5pZmllZE1lbnU+IHtcclxuICAgIGNvbnN0IHVuaWRhZGUgPSB1bmlkYWRlU2x1ZyAmJiB1bmlkYWRlU2x1ZyAhPT0gJy8nID8gdW5pZGFkZVNsdWcgOiAnJztcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9dW5pZGFkZXMvd3AvbWVudXMvJHt1bmlkYWRlfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VW5pZGFkZXNPbmNvV1AoKTogT2JzZXJ2YWJsZTxXcFVuaWRhZGVPbmNvW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldDxXcFVuaWRhZGVPbmNvW10+KGAke3RoaXMuc2l0ZUFwaVVybH11bmlkYWRlcy93cC1vbmNvYCkucGlwZShcclxuICAgICAgdGltZW91dCgxNTAwKSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2cubG9nTXNnKEpTT04uc3RyaW5naWZ5KGVyciksICdFUlJPUicpO1xyXG4gICAgICAgIHRoaXMubG9nLmxvZ01zZygnVXRpbGl6YW5kbyBqc29uIGRlIHVuaWRhZGVzIG9uY28gd29yZHByZXNzLicsICdGQUxMQkFDSycpO1xyXG4gICAgICAgIHJldHVybiBvZihBcnJheS5mcm9tKHVuaWRhZGVzT25jb1dwTW9jaykgYXMgV3BVbmlkYWRlT25jb1tdKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29udmVuaW9zKHBhcmFtcz86IFJEU0xDb252ZW5pb1BhcmFtcyk6IE9ic2VydmFibGU8UkRTTENvbnZlbmlvW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9Y29udmVuaW9zJHt0b1F1ZXJ5UGFyYW1zKHBhcmFtcyl9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRQbGFub3MocGFyYW1zPzogUkRTTFBsYW5vUGFyYW1zKTogT2JzZXJ2YWJsZTxSRFNMUGxhbm9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1wbGFub3Mke3RvUXVlcnlQYXJhbXMocGFyYW1zKX1gKTtcclxuICB9XHJcblxyXG4gIGdldENvYmVydHVyYXMocGxhbm9JZFFkOiBudW1iZXIsIHBhcmFtcz86IFJEU0xDb2JlcnR1cmFQYXJhbXMpOiBPYnNlcnZhYmxlPFJEU0xDb2JlcnR1cmFbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1wbGFub3MvJHtwbGFub0lkUWR9L2NvYmVydHVyYSR7dG9RdWVyeVBhcmFtcyhwYXJhbXMpfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RG9lbmNhcygpOiBPYnNlcnZhYmxlPERvZW5jYUJhY2tlbmRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1kb2VuY2FzYCk7XHJcbiAgfVxyXG5cclxuICBnZXREb2VuY2FzVGF4b25vbWllcygpIHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2l0ZUFwaVVybH1kb2VuY2FzL3RheG9ub21pYXNgO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0PFRheG9ub21pYXNEb2VuY2FzTGlzdD4odXJsKTtcclxuICB9XHJcblxyXG4gIGdldERvZW5jYXNVbmlxdWVMZXR0ZXJzKCk6IE9ic2VydmFibGU8c3RyaW5nW10+IHtcclxuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuc2l0ZUFwaVVybH1kb2VuY2FzL2xldHRlcnNgO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KHVybCk7XHJcbiAgfVxyXG5cclxuICBnZXRWYWNpbmFzKCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9dmFjaW5hc2ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmFjaW5hc1RheG9ub21pZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfXZhY2luYXMvdGF4b25vbWlhc2ApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2lydXJnaWFzKCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9Y2lydXJnaWFzYCk7XHJcbiAgfVxyXG5cclxuICBnZXRDaXJ1cmdpYXNHcnVwb3MoKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1jaXJ1cmdpYXMvZ3J1cG9zYCk7XHJcbiAgfVxyXG5cclxuICBnZXRDaXJ1cmdpYXNUYXhvbm9taWVzKCk6IE9ic2VydmFibGU8YW55W10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9Y2lydXJnaWFzL3RheG9ub21pYXNgKTtcclxuICB9XHJcblxyXG4gIGdldEdydXBvc0V4YW1lcyh1bmlkYWRlU2x1Zzogc3RyaW5nKTogT2JzZXJ2YWJsZTxFeGFtZUJhY2tlbmRbXT4ge1xyXG4gICAgY29uc3Qgc2x1ZyA9IHVuaWRhZGVTbHVnID8/ICcvJztcclxuICAgIGNvbnN0IHBhcmFtcyA9IHNsdWcgPyBgP3VuaWRhZGU9JHtzbHVnfWAgOiAnJztcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZXhhbWVzLWUtcHJvY2VkaW1lbnRvcyR7cGFyYW1zfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXhhbWVzQnlHcnVwbyh1bmlkYWRlU2x1Zzogc3RyaW5nLCBzbHVnR3J1cG86IHN0cmluZyk6IE9ic2VydmFibGU8RXhhbWVCYWNrZW5kW10+IHtcclxuICAgIGNvbnN0IHNsdWcgPSB1bmlkYWRlU2x1ZyA/PyAnLyc7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBgP3VuaWRhZGU9JHtzbHVnfSZzbHVnR3J1cG89JHtzbHVnR3J1cG99YDtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZXhhbWVzLWUtcHJvY2VkaW1lbnRvcy9ncnVwbyR7cGFyYW1zfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXhhbWVzQXBpRGFkb3MoKTogT2JzZXJ2YWJsZTxFeGFtZUFwaURhZG9zW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZXhhbWVzLWUtcHJvY2VkaW1lbnRvcy9hcGktZGFkb3NgKTtcclxuICB9XHJcblxyXG4gIGdldEdydXBvc0VzcGVjaWFsaWRhZGVzKHVuaWRhZGVTbHVnPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxFc3BlY2lhbGlkYWRlR3J1cG9CYWNrZW5kW10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHVuaWRhZGVTbHVnID8gYD91bmlkYWRlPSR7dW5pZGFkZVNsdWd9YCA6ICcnO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1lc3BlY2lhbGlkYWRlcyR7cGFyYW1zfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXNwZWNpYWxpZGFkZXNCeUdydXBvKHRpdHVsb0dydXBvOiBzdHJpbmcsIHVuaWRhZGVTbHVnPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxFc3BlY2lhbGlkYWRlQmFja2VuZFtdPiB7XHJcbiAgICBjb25zdCB0aXR1bG8gPSBgP3RpdHVsb0dydXBvPSR7ZW5jb2RlVVJJKHRpdHVsb0dydXBvKX1gO1xyXG4gICAgY29uc3Qgc2x1ZyA9IHVuaWRhZGVTbHVnID8gYCZ1bmlkYWRlPSR7dW5pZGFkZVNsdWd9YCA6ICcnO1xyXG4gICAgY29uc3QgcGFyYW1zID0gYCR7dGl0dWxvfSR7c2x1Z31gO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UuZ2V0KGAke3RoaXMuc2l0ZUFwaVVybH1lc3BlY2lhbGlkYWRlcy9ncnVwbyR7cGFyYW1zfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXNwZWNpYWxpZGFkZXNEcShwYXJhbXM/OiBSRFNMRXNwZWNpYWxpZGFkZXNQYXJhbXMpOiBPYnNlcnZhYmxlPFJEU0xFc3BlY2lhbGlkYWRlW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9ZXNwZWNpYWxpZGFkZXMvZXNwZWNpYWxpZGFkZXMtZHEke3RvUXVlcnlQYXJhbXMocGFyYW1zKX1gKTtcclxuICB9XHJcblxyXG4gIGdldEdydXBvc0VzcGVjaWFsaWRhZGVzRHEocGFyYW1zPzogUkRTTEVzcGVjaWFsaWRhZGVzUGFyYW1zKTogT2JzZXJ2YWJsZTxSRFNMRXNwZWNpYWxpZGFkZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50U2VydmljZS5nZXQoYCR7dGhpcy5zaXRlQXBpVXJsfWVzcGVjaWFsaWRhZGVzL2dydXBvcy1kcSR7dG9RdWVyeVBhcmFtcyhwYXJhbXMpfWApO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVjYXB0Y2hhUmVzdWx0KHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UucG9zdChgJHt0aGlzLnNpdGVBcGlVcmx9JHt0aGlzLmxpYkNvbmZpZy5zaXRlQXBpLnJlY2FwdGNoYX1gLCB7IHRva2VuIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0TWVkaWNvQ3YobWVkaWNvSWQ6IG51bWJlcik6IE9ic2VydmFibGU8TWVkaWNvQ3Y+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9bWVkaWNvcy8ke21lZGljb0lkfWApO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2VudHJvIGRlIEVzdHVkb3NcclxuICBjaGVja01lZGljbyhjb25zZWxob0NvZGlnbzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRTZXJ2aWNlLmdldChgJHt0aGlzLnNpdGVBcGlVcmx9JHt0aGlzLmxpYkNvbmZpZy5zaXRlQXBpLmNlbnRyb0VzdHVkb3N9P2VtYWlsPSR7Y29uc2VsaG9Db2RpZ299YCk7XHJcbiAgfVxyXG5cclxuICBzYXZlTWVkaWNvKG5vdm9NZWRpY286IENlbnRyb0VzdHVkb3NCYWNrZW5kTWVkaWNvKTogT2JzZXJ2YWJsZTxDZW50cm9Fc3R1ZG9zQmFja2VuZE1lZGljbz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFNlcnZpY2UucG9zdChgJHt0aGlzLnNpdGVBcGlVcmx9JHt0aGlzLmxpYkNvbmZpZy5zaXRlQXBpLmNlbnRyb0VzdHVkb3N9YCwgbm92b01lZGljbyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -33,10 +33,10 @@ export class SsrLoadingService {
33
33
  stopLoading() {
34
34
  this._loading = false;
35
35
  }
36
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SsrLoadingService, deps: [{ token: i1.LogService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SsrLoadingService, providedIn: 'root' }); }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SsrLoadingService, deps: [{ token: i1.LogService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable }); }
37
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SsrLoadingService, providedIn: 'root' }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SsrLoadingService, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SsrLoadingService, decorators: [{
40
40
  type: Injectable,
41
41
  args: [{
42
42
  providedIn: 'root',
@@ -47,10 +47,10 @@ export class TransferStateService {
47
47
  }
48
48
  this.transferState.remove(key);
49
49
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TransferStateService, deps: [{ token: i0.TransferState }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TransferStateService, providedIn: 'root' }); }
50
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TransferStateService, deps: [{ token: i0.TransferState }], target: i0.ɵɵFactoryTarget.Injectable }); }
51
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TransferStateService, providedIn: 'root' }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TransferStateService, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TransferStateService, decorators: [{
54
54
  type: Injectable,
55
55
  args: [{
56
56
  providedIn: 'root',
@@ -17,4 +17,4 @@ export * from './lib/enums';
17
17
  export * from './lib/tokens/CuraApi';
18
18
  export * from './lib/tokens/express.tokens';
19
19
  export * from './lib/tokens/LibConfig';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGFBQWE7QUFDYixjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGFBQWE7QUFDYixjQUFjLGtCQUFrQixDQUFDO0FBRWpDLFFBQVE7QUFDUixjQUFjLGFBQWEsQ0FBQztBQUU1QixVQUFVO0FBQ1YsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixVQUFVO0FBQ1YsY0FBYyxlQUFlLENBQUM7QUFFOUIsUUFBUTtBQUNSLGNBQWMsYUFBYSxDQUFDO0FBRTVCLFNBQVM7QUFDVCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygc2l0ZS1mcm9udC1lbmQtbGliXG4gKi9cblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cyc7XG5cbi8vIERpcmVjdGl2ZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMnO1xuXG4vLyBQaXBlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMnO1xuXG4vL1NlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5cbi8vIEhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hlbHBlcnMnO1xuXG4vLyBFbnVtc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZW51bXMnO1xuXG4vLyBUb2tlbnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucy9DdXJhQXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucy9leHByZXNzLnRva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMvTGliQ29uZmlnJztcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGFBQWE7QUFDYixjQUFjLGtCQUFrQixDQUFDO0FBRWpDLGFBQWE7QUFDYixjQUFjLGtCQUFrQixDQUFDO0FBRWpDLFFBQVE7QUFDUixjQUFjLGFBQWEsQ0FBQztBQUU1QixVQUFVO0FBQ1YsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixVQUFVO0FBQ1YsY0FBYyxlQUFlLENBQUM7QUFFOUIsUUFBUTtBQUNSLGNBQWMsYUFBYSxDQUFDO0FBRTVCLFNBQVM7QUFDVCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzaXRlLWZyb250LWVuZC1saWJcclxuICovXHJcblxyXG4vLyBDb21wb25lbnRzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMnO1xyXG5cclxuLy8gRGlyZWN0aXZlc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJztcclxuXHJcbi8vIFBpcGVzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzJztcclxuXHJcbi8vU2VydmljZXNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMnO1xyXG5cclxuLy8gSGVscGVyc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWxwZXJzJztcclxuXHJcbi8vIEVudW1zXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VudW1zJztcclxuXHJcbi8vIFRva2Vuc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMvQ3VyYUFwaSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucy9leHByZXNzLnRva2Vucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucy9MaWJDb25maWcnO1xyXG4iXX0=