info-library 2.14.52 → 2.14.53-beta.0
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.
- package/directives/index.d.ts +1 -0
- package/directives/safehtml.directive.d.ts +16 -0
- package/esm2020/directives/index.mjs +2 -0
- package/esm2020/directives/safehtml.directive.mjs +42 -0
- package/esm2020/global-config.mjs +2 -1
- package/esm2020/info-library.module.mjs +6 -1
- package/esm2020/model/html-sanitizer-config.model.mjs +9 -0
- package/esm2020/public_api.mjs +3 -2
- package/esm2020/service/configuration.service.mjs +20 -1
- package/fesm2015/info-library.mjs +144 -72
- package/fesm2015/info-library.mjs.map +1 -1
- package/fesm2020/info-library.mjs +139 -72
- package/fesm2020/info-library.mjs.map +1 -1
- package/global-config.d.ts +2 -0
- package/info-library.module.d.ts +53 -52
- package/model/html-sanitizer-config.model.d.ts +4 -0
- package/package.json +4 -4
- package/public_api.d.ts +2 -1
- package/service/configuration.service.d.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { InfoSafeHtmlDirective } from './safehtml.directive';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ElementRef, OnChanges } from '@angular/core';
|
|
2
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
+
import { HtmlSanitizerConfig } from '../model/html-sanitizer-config.model';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class InfoSafeHtmlDirective implements OnChanges {
|
|
6
|
+
private elementRef;
|
|
7
|
+
private sanitizer;
|
|
8
|
+
private config;
|
|
9
|
+
safeHtml: string;
|
|
10
|
+
readonly defaultConfig: HtmlSanitizerConfig;
|
|
11
|
+
private readonly domPurifyConfig;
|
|
12
|
+
constructor(elementRef: ElementRef, sanitizer: DomSanitizer, config: HtmlSanitizerConfig);
|
|
13
|
+
ngOnChanges(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InfoSafeHtmlDirective, never>;
|
|
15
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<InfoSafeHtmlDirective, "[safeHtml]", never, { "safeHtml": "safeHtml"; }, {}, never, never, false>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { InfoSafeHtmlDirective } from './safehtml.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBJbmZvU2FmZUh0bWxEaXJlY3RpdmUgfSBmcm9tICcuL3NhZmVodG1sLmRpcmVjdGl2ZSc7Il19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Directive, ElementRef, Inject, Input, SecurityContext } from '@angular/core';
|
|
2
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
3
|
+
import DOMPurify from 'dompurify';
|
|
4
|
+
import { HTML_SANITIZER_CONFIG } from '../global-config';
|
|
5
|
+
import { HtmlSanitizerConfig } from '../model/html-sanitizer-config.model';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/platform-browser";
|
|
8
|
+
import * as i2 from "../model/html-sanitizer-config.model";
|
|
9
|
+
export class InfoSafeHtmlDirective {
|
|
10
|
+
constructor(elementRef, sanitizer, config) {
|
|
11
|
+
this.elementRef = elementRef;
|
|
12
|
+
this.sanitizer = sanitizer;
|
|
13
|
+
this.config = config;
|
|
14
|
+
this.safeHtml = '';
|
|
15
|
+
this.defaultConfig = new HtmlSanitizerConfig();
|
|
16
|
+
this.domPurifyConfig = {
|
|
17
|
+
FORBID_TAGS: this.config?.forbiddenTags ?? this.defaultConfig.forbiddenTags,
|
|
18
|
+
FORBID_ATTR: this.config?.forbiddenAttributes ?? this.defaultConfig.forbiddenAttributes
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
ngOnChanges() {
|
|
22
|
+
if (!this.safeHtml)
|
|
23
|
+
return;
|
|
24
|
+
const sanitized = DOMPurify.sanitize(this.safeHtml, this.domPurifyConfig);
|
|
25
|
+
const finalHtml = this.sanitizer.sanitize(SecurityContext.HTML, sanitized) || '';
|
|
26
|
+
this.elementRef.nativeElement.innerHTML = finalHtml;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/** @nocollapse */ InfoSafeHtmlDirective.ɵfac = function InfoSafeHtmlDirective_Factory(t) { return new (t || InfoSafeHtmlDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.DomSanitizer), i0.ɵɵdirectiveInject(HTML_SANITIZER_CONFIG)); };
|
|
30
|
+
/** @nocollapse */ InfoSafeHtmlDirective.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: InfoSafeHtmlDirective, selectors: [["", "safeHtml", ""]], inputs: { safeHtml: "safeHtml" }, features: [i0.ɵɵNgOnChangesFeature] });
|
|
31
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoSafeHtmlDirective, [{
|
|
32
|
+
type: Directive,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: '[safeHtml]'
|
|
35
|
+
}]
|
|
36
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i2.HtmlSanitizerConfig, decorators: [{
|
|
37
|
+
type: Inject,
|
|
38
|
+
args: [HTML_SANITIZER_CONFIG]
|
|
39
|
+
}] }]; }, { safeHtml: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}] }); })();
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZWh0bWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9kaXJlY3RpdmVzL3NhZmVodG1sLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7O0FBSzNFLE1BQU0sT0FBTyxxQkFBcUI7SUFVaEMsWUFBb0IsVUFBc0IsRUFDaEMsU0FBdUIsRUFDUSxNQUEyQjtRQUZoRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDUSxXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQVYzRCxhQUFRLEdBQVcsRUFBRSxDQUFDO1FBRXRCLGtCQUFhLEdBQUcsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQ2xDLG9CQUFlLEdBQXFCO1lBQ25ELFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWE7WUFDM0UsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUI7U0FDdkYsQ0FBQztJQUlvRSxDQUFDO0lBRXhFLFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTNCLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDMUUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUUsSUFBSSxFQUFFLENBQUM7UUFDbEYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUN0RCxDQUFDOzs2R0FwQlUscUJBQXFCLG1HQVl0QixxQkFBcUI7dUdBWnBCLHFCQUFxQjt1RkFBckIscUJBQXFCO2NBSGpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTthQUN2Qjs7c0JBYUksTUFBTTt1QkFBQyxxQkFBcUI7d0JBVnRCLFFBQVE7a0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2VjdXJpdHlDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgRE9NUHVyaWZ5IGZyb20gJ2RvbXB1cmlmeSc7XHJcbmltcG9ydCB7IEhUTUxfU0FOSVRJWkVSX0NPTkZJRyB9IGZyb20gJy4uL2dsb2JhbC1jb25maWcnO1xyXG5pbXBvcnQgeyBIdG1sU2FuaXRpemVyQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWwvaHRtbC1zYW5pdGl6ZXItY29uZmlnLm1vZGVsJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3NhZmVIdG1sXSdcclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9TYWZlSHRtbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcblxyXG4gIEBJbnB1dCgpIHNhZmVIdG1sOiBzdHJpbmcgPSAnJztcclxuICBcclxuICByZWFkb25seSBkZWZhdWx0Q29uZmlnID0gbmV3IEh0bWxTYW5pdGl6ZXJDb25maWcoKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRvbVB1cmlmeUNvbmZpZzogRE9NUHVyaWZ5LkNvbmZpZyA9IHtcclxuICAgIEZPUkJJRF9UQUdTOiB0aGlzLmNvbmZpZz8uZm9yYmlkZGVuVGFncyA/PyB0aGlzLmRlZmF1bHRDb25maWcuZm9yYmlkZGVuVGFncyxcclxuICAgIEZPUkJJRF9BVFRSOiB0aGlzLmNvbmZpZz8uZm9yYmlkZGVuQXR0cmlidXRlcyA/PyB0aGlzLmRlZmF1bHRDb25maWcuZm9yYmlkZGVuQXR0cmlidXRlc1xyXG4gICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgQEluamVjdChIVE1MX1NBTklUSVpFUl9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBIdG1sU2FuaXRpemVyQ29uZmlnKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zYWZlSHRtbCkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHNhbml0aXplZCA9IERPTVB1cmlmeS5zYW5pdGl6ZSh0aGlzLnNhZmVIdG1sLCB0aGlzLmRvbVB1cmlmeUNvbmZpZyk7ICAgICBcclxuICAgIGNvbnN0IGZpbmFsSHRtbCA9IHRoaXMuc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCBzYW5pdGl6ZWQgKSB8fCAnJztcclxuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IGZpbmFsSHRtbDtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { InjectionToken } from "@angular/core";
|
|
2
2
|
export const DICTIONARIES_CONFIG = new InjectionToken('DICTIONARIES_CONFIG');
|
|
3
3
|
export const APICONTROLLER_CONFIG = new InjectionToken('APICONTROLLER_CONFIG');
|
|
4
|
-
|
|
4
|
+
export const HTML_SANITIZER_CONFIG = new InjectionToken('HTML_SANITIZER_CONFIG');
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvZ2xvYmFsLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUFNLHFCQUFxQixDQUFDLENBQUM7QUFDbEYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQU0sc0JBQXNCLENBQUMsQ0FBQztBQUNwRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBSSxJQUFJLGNBQWMsQ0FBc0IsdUJBQXVCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgSHRtbFNhbml0aXplckNvbmZpZyB9IGZyb20gXCIuL21vZGVsL2h0bWwtc2FuaXRpemVyLWNvbmZpZy5tb2RlbFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IERJQ1RJT05BUklFU19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignRElDVElPTkFSSUVTX0NPTkZJRycpO1xyXG5leHBvcnQgY29uc3QgQVBJQ09OVFJPTExFUl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48YW55PignQVBJQ09OVFJPTExFUl9DT05GSUcnKTtcclxuZXhwb3J0IGNvbnN0IEhUTUxfU0FOSVRJWkVSX0NPTkZJRyAgPSBuZXcgSW5qZWN0aW9uVG9rZW48SHRtbFNhbml0aXplckNvbmZpZz4oJ0hUTUxfU0FOSVRJWkVSX0NPTkZJRycpOyJdfQ==
|
|
@@ -25,6 +25,7 @@ import { InfoTranslatePipe } from './pipe/translate.pipe';
|
|
|
25
25
|
import { InfoMaskPipe } from './pipe/mask.pipe';
|
|
26
26
|
import { InfoMaskDirective } from './directives/mask.directive';
|
|
27
27
|
import { InfoUnmaskDirective } from './directives/unmask.directive';
|
|
28
|
+
import { InfoSafeHtmlDirective } from './directives/safehtml.directive';
|
|
28
29
|
import { Utilities } from './utils/utilities';
|
|
29
30
|
// Controls
|
|
30
31
|
import { InfoAlertComponent } from './controls/alert/alert.component';
|
|
@@ -120,6 +121,7 @@ export class InfoLibraryModule {
|
|
|
120
121
|
InfoMaskPipe,
|
|
121
122
|
InfoMaskDirective,
|
|
122
123
|
InfoUnmaskDirective,
|
|
124
|
+
InfoSafeHtmlDirective,
|
|
123
125
|
InfoAlertComponent,
|
|
124
126
|
InfoAutoCompleteComponent,
|
|
125
127
|
InfoBigCheckboxComponent,
|
|
@@ -155,6 +157,7 @@ export class InfoLibraryModule {
|
|
|
155
157
|
exports: [
|
|
156
158
|
InfoTranslatePipe,
|
|
157
159
|
InfoMaskPipe,
|
|
160
|
+
InfoSafeHtmlDirective,
|
|
158
161
|
InfoAlertComponent,
|
|
159
162
|
InfoAutoCompleteComponent,
|
|
160
163
|
InfoBigCheckboxComponent,
|
|
@@ -197,6 +200,7 @@ export class InfoLibraryModule {
|
|
|
197
200
|
InfoMaskPipe,
|
|
198
201
|
InfoMaskDirective,
|
|
199
202
|
InfoUnmaskDirective,
|
|
203
|
+
InfoSafeHtmlDirective,
|
|
200
204
|
InfoAlertComponent,
|
|
201
205
|
InfoAutoCompleteComponent,
|
|
202
206
|
InfoBigCheckboxComponent,
|
|
@@ -251,6 +255,7 @@ export class InfoLibraryModule {
|
|
|
251
255
|
AngularEditorModule,
|
|
252
256
|
MatChipsModule], exports: [InfoTranslatePipe,
|
|
253
257
|
InfoMaskPipe,
|
|
258
|
+
InfoSafeHtmlDirective,
|
|
254
259
|
InfoAlertComponent,
|
|
255
260
|
InfoAutoCompleteComponent,
|
|
256
261
|
InfoBigCheckboxComponent,
|
|
@@ -280,4 +285,4 @@ export class InfoLibraryModule {
|
|
|
280
285
|
InfoSidebarComponent,
|
|
281
286
|
InfoTopbarComponent,
|
|
282
287
|
InfoTopMenuComponent] }); })();
|
|
283
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1saWJyYXJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvaW5mby1saWJyYXJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVB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QUFvQjtRQUNwQixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEN1cnJlbmN5TWFza01vZHVsZSB9IGZyb20gJ25nMi1jdXJyZW5jeS1tYXNrJztcclxuaW1wb3J0IHsgTWF0TW9tZW50RGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgQW5ndWxhckVkaXRvck1vZHVsZSB9IGZyb20gJ0Brb2xrb3YvYW5ndWxhci1lZGl0b3InO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuXHJcbmltcG9ydCB7IEluZm9UcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi9waXBlL3RyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgSW5mb01hc2tQaXBlIH0gZnJvbSAnLi9waXBlL21hc2sucGlwZSc7XHJcbmltcG9ydCB7IEluZm9NYXNrRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL21hc2suZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSW5mb1VubWFza0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy91bm1hc2suZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgVXRpbGl0aWVzIH0gZnJvbSAnLi91dGlscy91dGlsaXRpZXMnO1xyXG5cclxuLy8gQ29udHJvbHNcclxuaW1wb3J0IHsgSW5mb0FsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9hbGVydC9hbGVydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvQXV0b0NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9CaWdDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvYmlnLWNoZWNrYm94L2JpZy1jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvY2FyZC9jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9NZW51Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvY2FyZC1tZW51L2NhcmQtbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9EYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9kYXRlL2RhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0RhdGVNb250aENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZGF0ZS1tb250aC9kYXRlLW1vbnRoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9HcmlkQ29tcG9uZW50LCBJbmZvR3JpZE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9ncmlkL2dyaWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvSW5wdXRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9pbnB1dC1saXN0L2lucHV0LWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0xpc3RDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvbGlzdC1jaGVja2JveC9saXN0LWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9NZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb1BhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9UaW1lbGluZUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0NoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xyXG5cclxuLy8gTGF5b3V0c1xyXG5pbXBvcnQgeyBJbmZvRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0xvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9NYWluQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL21haW4vbWFpbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb1BhZ2ViYXJDb21wb25lbnQsIEF0YWxob01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL3BhZ2ViYXIvcGFnZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb1RvcGJhckNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy90b3BiYXIvdG9wYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlZnJlc2hTZXNzaW9uVGltZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXJ2aWNlL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvVG9wTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy90b3BtZW51L3RvcG1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0ZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgICAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgICAgICBNYXRMaXN0TW9kdWxlLFxyXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcclxuICAgICAgICBNYXRDaGVja2JveE1vZHVsZSxcclxuICAgICAgICBNYXRSYWRpb01vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcclxuICAgICAgICBNYXRNb21lbnREYXRlTW9kdWxlLFxyXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgICAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcclxuICAgICAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXHJcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgICAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICAgICAgQ3VycmVuY3lNYXNrTW9kdWxlLFxyXG4gICAgICAgIEFuZ3VsYXJFZGl0b3JNb2R1bGUsXHJcbiAgICAgICAgTWF0Q2hpcHNNb2R1bGUsXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgSW5mb1RyYW5zbGF0ZVBpcGUsXHJcbiAgICAgICAgSW5mb01hc2tQaXBlLFxyXG4gICAgICAgIEluZm9NYXNrRGlyZWN0aXZlLFxyXG4gICAgICAgIEluZm9Vbm1hc2tEaXJlY3RpdmUsXHJcbiAgICAgICAgSW5mb0FsZXJ0Q29tcG9uZW50LFxyXG4gICAgICAgIEluZm9BdXRvQ29tcGxldGVDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0JpZ0NoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgICAgIEluZm9DYXJkQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9NZW51Q2FyZENvbXBvbmVudCxcclxuICAgICAgICBJbmZvQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0RhdGVDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0RhdGVNb250aENvbXBvbmVudCxcclxuICAgICAgICBJbmZvR3JpZENvbXBvbmVudCxcclxuXHRcdEluZm9HcmlkTW9kYWxDb21wb25lbnQsXHJcblx0XHRJbmZvSW5wdXRDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0lucHV0TGlzdENvbXBvbmVudCxcclxuICAgICAgICBJbmZvTGlzdENoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgICAgIEluZm9NZXNzYWdlQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9QYWdpbmF0b3JDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb1NlbGVjdENvbXBvbmVudCxcclxuICAgICAgICBJbmZvVGltZWxpbmVDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0VkaXRvckNvbXBvbmVudCxcclxuICAgICAgICBJbmZvTXVsdGlTZWxlY3RDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0NoaXBzQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9EaWFsb2dDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0ZpbHRlckNvbXBvbmVudCxcclxuICAgICAgICBJbmZvTG9hZGluZ0NvbXBvbmVudCxcclxuICAgICAgICBJbmZvTWFpbkNvbXBvbmVudCxcclxuICAgICAgICBJbmZvTW9kYWxDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb1BhZ2ViYXJDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb1NpZGViYXJDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb1RvcGJhckNvbXBvbmVudCxcclxuICAgICAgICBJbmZvVG9wTWVudUNvbXBvbmVudCxcclxuICAgICAgICBBdGFsaG9Nb2RhbENvbXBvbmVudCxcclxuICAgICAgICBSZWZyZXNoU2Vzc2lvblRpbWVNb2RhbENvbXBvbmVudCxcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgSW5mb1RyYW5zbGF0ZVBpcGUsXHJcbiAgICAgICAgSW5mb01hc2tQaXBlLFxyXG4gICAgICAgIEluZm9BbGVydENvbXBvbmVudCxcclxuICAgICAgICBJbmZvQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9CaWdDaGVja2JveENvbXBvbmVudCxcclxuICAgICAgICBJbmZvQ2FyZENvbXBvbmVudCxcclxuICAgICAgICBJbmZvTWVudUNhcmRDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0NoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgICAgIEluZm9EYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9EYXRlTW9udGhDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0dyaWRDb21wb25lbnQsXHJcblx0XHRJbmZvR3JpZE1vZGFsQ29tcG9uZW50LFxyXG5cdFx0SW5mb0lucHV0Q29tcG9uZW50LFxyXG4gICAgICAgIEluZm9JbnB1dExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0xpc3RDaGVja2JveENvbXBvbmVudCxcclxuICAgICAgICBJbmZvTWVzc2FnZUNvbXBvbmVudCxcclxuICAgICAgICBJbmZvUGFnaW5hdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9TZWxlY3RDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb1RpbWVsaW5lQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9FZGl0b3JDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb011bHRpU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgICAgIEluZm9DaGlwc0NvbXBvbmVudCxcclxuICAgICAgICBJbmZvRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9GaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0xvYWRpbmdDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb01haW5Db21wb25lbnQsXHJcbiAgICAgICAgSW5mb01vZGFsQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9QYWdlYmFyQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9TaWRlYmFyQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9Ub3BiYXJDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb1RvcE1lbnVDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgc2NoZW1hczogW1xyXG4gICAgICAgIENVU1RPTV9FTEVNRU5UU19TQ0hFTUFcclxuXHRdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgVXRpbGl0aWVzXHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb0xpYnJhcnlNb2R1bGUgeyB9Il19
|
|
288
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1saWJyYXJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvaW5mby1saWJyYXJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVB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O1FBQ3JCLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsaUJBQWlCO1FBQ3ZCLHNCQUFzQjtRQUN0QixrQkFBa0I7UUFDWixzQkFBc0I7UUFDdEIseUJBQXlCO1FBQ3pCLG9CQUFvQjtRQUNwQixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsd0JBQXdCO1FBQ3hCLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEN1cnJlbmN5TWFza01vZHVsZSB9IGZyb20gJ25nMi1jdXJyZW5jeS1tYXNrJztcclxuaW1wb3J0IHsgTWF0TW9tZW50RGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBNYXRSYWRpb01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3JhZGlvJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgQW5ndWxhckVkaXRvck1vZHVsZSB9IGZyb20gJ0Brb2xrb3YvYW5ndWxhci1lZGl0b3InO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuXHJcbmltcG9ydCB7IEluZm9UcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi9waXBlL3RyYW5zbGF0ZS5waXBlJztcclxuaW1wb3J0IHsgSW5mb01hc2tQaXBlIH0gZnJvbSAnLi9waXBlL21hc2sucGlwZSc7XHJcbmltcG9ydCB7IEluZm9NYXNrRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL21hc2suZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSW5mb1VubWFza0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy91bm1hc2suZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSW5mb1NhZmVIdG1sRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3NhZmVodG1sLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFV0aWxpdGllcyB9IGZyb20gJy4vdXRpbHMvdXRpbGl0aWVzJztcclxuXHJcbi8vIENvbnRyb2xzXHJcbmltcG9ydCB7IEluZm9BbGVydENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0F1dG9Db21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvQmlnQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2JpZy1jaGVja2JveC9iaWctY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2NhcmQvY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvTWVudUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2NhcmQtbWVudS9jYXJkLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0NoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvRGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZGF0ZS9kYXRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9EYXRlTW9udGhDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2RhdGUtbW9udGgvZGF0ZS1tb250aC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvR3JpZENvbXBvbmVudCwgSW5mb0dyaWRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZ3JpZC9ncmlkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvaW5wdXQvaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb0lucHV0TGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvaW5wdXQtbGlzdC9pbnB1dC1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9MaXN0Q2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2xpc3QtY2hlY2tib3gvbGlzdC1jaGVja2JveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvTWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvbWVzc2FnZS9tZXNzYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9QYWdpbmF0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb1NlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvc2VsZWN0L3NlbGVjdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvVGltZWxpbmVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2VkaXRvci9lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb011bHRpU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9tdWx0aS1zZWxlY3QvbXVsdGktc2VsZWN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9DaGlwc0NvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvY2hpcHMvY2hpcHMuY29tcG9uZW50JztcclxuXHJcbi8vIExheW91dHNcclxuaW1wb3J0IHsgSW5mb0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9Mb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbmZvTWFpbkNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9tYWluL21haW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb01vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9QYWdlYmFyQ29tcG9uZW50LCBBdGFsaG9Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9wYWdlYmFyL3BhZ2ViYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5mb1NpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9Ub3BiYXJDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvdG9wYmFyL3RvcGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWZyZXNoU2Vzc2lvblRpbWVNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vc2VydmljZS9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5mb1RvcE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvdG9wbWVudS90b3BtZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEluZm9GaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgSHR0cENsaWVudE1vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICAgICAgTWF0SWNvbk1vZHVsZSxcclxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcclxuICAgICAgICBNYXRTZWxlY3RNb2R1bGUsXHJcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICAgICAgTWF0UmFkaW9Nb2R1bGUsXHJcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXHJcbiAgICAgICAgTWF0TW9tZW50RGF0ZU1vZHVsZSxcclxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXHJcbiAgICAgICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxyXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICAgICAgUm91dGVyTW9kdWxlLFxyXG4gICAgICAgIEN1cnJlbmN5TWFza01vZHVsZSxcclxuICAgICAgICBBbmd1bGFyRWRpdG9yTW9kdWxlLFxyXG4gICAgICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIEluZm9UcmFuc2xhdGVQaXBlLFxyXG4gICAgICAgIEluZm9NYXNrUGlwZSxcclxuICAgICAgICBJbmZvTWFza0RpcmVjdGl2ZSxcclxuICAgICAgICBJbmZvVW5tYXNrRGlyZWN0aXZlLFxyXG4gICAgICAgIEluZm9TYWZlSHRtbERpcmVjdGl2ZSxcclxuICAgICAgICBJbmZvQWxlcnRDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0F1dG9Db21wbGV0ZUNvbXBvbmVudCxcclxuICAgICAgICBJbmZvQmlnQ2hlY2tib3hDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0NhcmRDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb01lbnVDYXJkQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9DaGVja2JveENvbXBvbmVudCxcclxuICAgICAgICBJbmZvRGF0ZUNvbXBvbmVudCxcclxuICAgICAgICBJbmZvRGF0ZU1vbnRoQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9HcmlkQ29tcG9uZW50LFxyXG5cdFx0SW5mb0dyaWRNb2RhbENvbXBvbmVudCxcclxuXHRcdEluZm9JbnB1dENvbXBvbmVudCxcclxuICAgICAgICBJbmZvSW5wdXRMaXN0Q29tcG9uZW50LFxyXG4gICAgICAgIEluZm9MaXN0Q2hlY2tib3hDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb01lc3NhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb1BhZ2luYXRvckNvbXBvbmVudCxcclxuICAgICAgICBJbmZvU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgICAgIEluZm9UaW1lbGluZUNvbXBvbmVudCxcclxuICAgICAgICBJbmZvRWRpdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9NdWx0aVNlbGVjdENvbXBvbmVudCxcclxuICAgICAgICBJbmZvQ2hpcHNDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0RpYWxvZ0NvbXBvbmVudCxcclxuICAgICAgICBJbmZvRmlsdGVyQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9Mb2FkaW5nQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9NYWluQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9Nb2RhbENvbXBvbmVudCxcclxuICAgICAgICBJbmZvUGFnZWJhckNvbXBvbmVudCxcclxuICAgICAgICBJbmZvU2lkZWJhckNvbXBvbmVudCxcclxuICAgICAgICBJbmZvVG9wYmFyQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9Ub3BNZW51Q29tcG9uZW50LFxyXG4gICAgICAgIEF0YWxob01vZGFsQ29tcG9uZW50LFxyXG4gICAgICAgIFJlZnJlc2hTZXNzaW9uVGltZU1vZGFsQ29tcG9uZW50LFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBJbmZvVHJhbnNsYXRlUGlwZSxcclxuICAgICAgICBJbmZvTWFza1BpcGUsXHJcbiAgICAgICAgSW5mb1NhZmVIdG1sRGlyZWN0aXZlLFxyXG4gICAgICAgIEluZm9BbGVydENvbXBvbmVudCxcclxuICAgICAgICBJbmZvQXV0b0NvbXBsZXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9CaWdDaGVja2JveENvbXBvbmVudCxcclxuICAgICAgICBJbmZvQ2FyZENvbXBvbmVudCxcclxuICAgICAgICBJbmZvTWVudUNhcmRDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0NoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgICAgIEluZm9EYXRlQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9EYXRlTW9udGhDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0dyaWRDb21wb25lbnQsXHJcblx0XHRJbmZvR3JpZE1vZGFsQ29tcG9uZW50LFxyXG5cdFx0SW5mb0lucHV0Q29tcG9uZW50LFxyXG4gICAgICAgIEluZm9JbnB1dExpc3RDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0xpc3RDaGVja2JveENvbXBvbmVudCxcclxuICAgICAgICBJbmZvTWVzc2FnZUNvbXBvbmVudCxcclxuICAgICAgICBJbmZvUGFnaW5hdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9TZWxlY3RDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb1RpbWVsaW5lQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9FZGl0b3JDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb011bHRpU2VsZWN0Q29tcG9uZW50LFxyXG4gICAgICAgIEluZm9DaGlwc0NvbXBvbmVudCxcclxuICAgICAgICBJbmZvRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9GaWx0ZXJDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb0xvYWRpbmdDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb01haW5Db21wb25lbnQsXHJcbiAgICAgICAgSW5mb01vZGFsQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9QYWdlYmFyQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9TaWRlYmFyQ29tcG9uZW50LFxyXG4gICAgICAgIEluZm9Ub3BiYXJDb21wb25lbnQsXHJcbiAgICAgICAgSW5mb1RvcE1lbnVDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gICAgc2NoZW1hczogW1xyXG4gICAgICAgIENVU1RPTV9FTEVNRU5UU19TQ0hFTUFcclxuXHRdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgVXRpbGl0aWVzXHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb0xpYnJhcnlNb2R1bGUgeyB9Il19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class HtmlSanitizerConfig {
|
|
2
|
+
constructor() {
|
|
3
|
+
//allowedTags: string[] = ['small', 'b', 'strong', 'i', 'em', 'u', 'br', 'p', 'span', 'ul', 'ol', 'li'];
|
|
4
|
+
//allowedAttributes: string[] = [ 'class' ];
|
|
5
|
+
this.forbiddenTags = ['img', 'iframe', 'script', 'svg', 'object', 'embed', 'video', 'audio', 'source', 'style'];
|
|
6
|
+
this.forbiddenAttributes = ['style', 'src', 'srcset', 'onerror', 'onclick', 'onload'];
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1zYW5pdGl6ZXItY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9tb2RlbC9odG1sLXNhbml0aXplci1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLG1CQUFtQjtJQUFoQztRQUNJLHdHQUF3RztRQUN4Ryw0Q0FBNEM7UUFDNUMsa0JBQWEsR0FBYSxDQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBRSxDQUFDO1FBQ3ZILHdCQUFtQixHQUFhLENBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUUsQ0FBQztJQUNqRyxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgSHRtbFNhbml0aXplckNvbmZpZyB7XHJcbiAgICAvL2FsbG93ZWRUYWdzOiBzdHJpbmdbXSA9IFsnc21hbGwnLCAnYicsICdzdHJvbmcnLCAnaScsICdlbScsICd1JywgJ2JyJywgJ3AnLCAnc3BhbicsICd1bCcsICdvbCcsICdsaSddO1xyXG4gICAgLy9hbGxvd2VkQXR0cmlidXRlczogc3RyaW5nW10gPSBbICdjbGFzcycgXTtcclxuICAgIGZvcmJpZGRlblRhZ3M6IHN0cmluZ1tdID0gWyAnaW1nJywgJ2lmcmFtZScsICdzY3JpcHQnLCAnc3ZnJywgJ29iamVjdCcsICdlbWJlZCcsICd2aWRlbycsICdhdWRpbycsICdzb3VyY2UnLCAnc3R5bGUnIF07XHJcbiAgICBmb3JiaWRkZW5BdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFsgJ3N0eWxlJywgJ3NyYycsICdzcmNzZXQnLCAnb25lcnJvcicsICdvbmNsaWNrJywgJ29ubG9hZCcgXTtcclxufSJdfQ==
|
package/esm2020/public_api.mjs
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { APICONTROLLER_CONFIG, DICTIONARIES_CONFIG } from './global-config';
|
|
1
|
+
export { APICONTROLLER_CONFIG, DICTIONARIES_CONFIG, HTML_SANITIZER_CONFIG } from './global-config';
|
|
2
|
+
export * from './directives';
|
|
2
3
|
export * from './model';
|
|
3
4
|
export * from './enum';
|
|
4
5
|
export * from './pipe';
|
|
@@ -34,4 +35,4 @@ export { InfoLoadingComponent } from './layouts/loading/loading.component';
|
|
|
34
35
|
export { InfoModalComponent } from './layouts/modal/modal.component';
|
|
35
36
|
export { InfoPagebarComponent } from './layouts/pagebar/pagebar.component';
|
|
36
37
|
export { InfoLibraryModule } from './info-library.module';
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFdBQVcsQ0FBQztBQUUxQixXQUFXO0FBQ1gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDMUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdEUsVUFBVTtBQUNWLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEFQSUNPTlRST0xMRVJfQ09ORklHLCBESUNUSU9OQVJJRVNfQ09ORklHLCBIVE1MX1NBTklUSVpFUl9DT05GSUcgfSBmcm9tICcuL2dsb2JhbC1jb25maWcnO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZW51bSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZSc7XHJcblxyXG4vLyBDb250cm9sc1xyXG5leHBvcnQgeyBJbmZvQWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9BdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb0JpZ0NoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9iaWctY2hlY2tib3gvYmlnLWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9jYXJkL2NhcmQuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb01lbnVDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9jYXJkLW1lbnUvY2FyZC1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9DaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb0RhdGVDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2RhdGUvZGF0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvRGF0ZU1vbnRoQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9kYXRlLW1vbnRoL2RhdGUtbW9udGguY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb0dyaWRDb21wb25lbnQsIEluZm9HcmlkTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2dyaWQvZ3JpZC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9JbnB1dExpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2lucHV0LWxpc3QvaW5wdXQtbGlzdC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvTGlzdENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9saXN0LWNoZWNrYm94L2xpc3QtY2hlY2tib3guY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb01lc3NhZ2VDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL21lc3NhZ2UvbWVzc2FnZS5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9wYWdpbmF0b3IvcGFnaW5hdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9TZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb1RpbWVsaW5lQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy90aW1lbGluZS90aW1lbGluZS5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9NdWx0aVNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvbXVsdGktc2VsZWN0L211bHRpLXNlbGVjdC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvQ2hpcHNDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2NoaXBzL2NoaXBzLmNvbXBvbmVudCc7XHJcblxyXG4vLyBMYXlvdXRzXHJcbmV4cG9ydCB7IEluZm9NYWluQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL21haW4vbWFpbi5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb1RvcGJhckNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy90b3BiYXIvdG9wYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9Ub3BNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL3RvcG1lbnUvdG9wbWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvRGlhbG9nQ29tcG9uZW50LCBJbmZvRGlhbG9nTW9kYWwgfSBmcm9tICcuL2xheW91dHMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb0xvYWRpbmdDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9Nb2RhbENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvUGFnZWJhckNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9wYWdlYmFyL3BhZ2ViYXIuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCB7IEluZm9MaWJyYXJ5TW9kdWxlIH0gZnJvbSAnLi9pbmZvLWxpYnJhcnkubW9kdWxlJzsiXX0=
|
|
@@ -3,6 +3,7 @@ import { HttpClient } from "@angular/common/http";
|
|
|
3
3
|
import { InfoPlatformModel } from "../model/platform.model";
|
|
4
4
|
import { InfoThemeService } from "./theme.service";
|
|
5
5
|
import { Utilities } from "../utils/utilities";
|
|
6
|
+
import DOMPurify from 'dompurify';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@angular/common/http";
|
|
8
9
|
import * as i2 from "../model/platform.model";
|
|
@@ -60,6 +61,7 @@ export class InfoConfigurationService {
|
|
|
60
61
|
this._themeService.setTheme(activeTheme || 'default-theme');
|
|
61
62
|
this._themeService.setMenuMin(menuMin == 'true');
|
|
62
63
|
this._themeService.setModePrime(prime == 'true');
|
|
64
|
+
this.configDOMPurify();
|
|
63
65
|
r(config);
|
|
64
66
|
});
|
|
65
67
|
});
|
|
@@ -74,6 +76,23 @@ export class InfoConfigurationService {
|
|
|
74
76
|
cssFile.innerHTML = this._utilities.descriptografar(xmlhttp.responseText);
|
|
75
77
|
document.head.appendChild(cssFile);
|
|
76
78
|
}
|
|
79
|
+
configDOMPurify() {
|
|
80
|
+
DOMPurify.addHook('afterSanitizeAttributes', (node) => {
|
|
81
|
+
if (node.tagName === 'A') {
|
|
82
|
+
const href = node.getAttribute('href');
|
|
83
|
+
if (!href)
|
|
84
|
+
return;
|
|
85
|
+
const isInternal = href.startsWith('/') ||
|
|
86
|
+
href.startsWith('#') ||
|
|
87
|
+
href.startsWith('mailto:');
|
|
88
|
+
if (!isInternal)
|
|
89
|
+
node.removeAttribute('href');
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
// DOMPurify.addHook('uponSanitizeElement', (node, data) => {
|
|
93
|
+
// if (!data.allowedTags[data.tagName]) console.warn('Blocked HTML tag:', data.tagName);
|
|
94
|
+
// });
|
|
95
|
+
}
|
|
77
96
|
}
|
|
78
97
|
/** @nocollapse */ InfoConfigurationService.ɵfac = function InfoConfigurationService_Factory(t) { return new (t || InfoConfigurationService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.InfoPlatformModel), i0.ɵɵinject(i3.InfoThemeService), i0.ɵɵinject(i4.Utilities)); };
|
|
79
98
|
/** @nocollapse */ InfoConfigurationService.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: InfoConfigurationService, factory: InfoConfigurationService.ɵfac, providedIn: 'root' });
|
|
@@ -83,4 +102,4 @@ export class InfoConfigurationService {
|
|
|
83
102
|
providedIn: 'root'
|
|
84
103
|
}]
|
|
85
104
|
}], function () { return [{ type: i1.HttpClient }, { type: i2.InfoPlatformModel }, { type: i3.InfoThemeService }, { type: i4.Utilities }]; }, null); })();
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9zZXJ2aWNlL2NvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQUsvQyxNQUFNLE9BQU8sd0JBQXdCO0lBRWpDLFlBQW9CLEtBQWlCLEVBQVUsV0FBOEIsRUFBVSxhQUErQixFQUFVLFVBQXFCO1FBQWpJLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFXO0lBQUksQ0FBQztJQUUxSixVQUFVO1FBRU4sT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsS0FBSztpQkFDTCxHQUFHLENBQXFCLGFBQWEsQ0FBQztpQkFDdEMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNoQixJQUFJLFdBQVcsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdFLElBQUksT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJ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QUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVO1FBQ04sTUFBTSxPQUFPLEdBQUcsSUFBSSxjQUFjLEVBQUUsQ0FBQztRQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsR0FBRyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5RyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxJQUFJO1lBQ3ZDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7O21IQXhFUSx3QkFBd0I7NkdBQXhCLHdCQUF3QixXQUF4Qix3QkFBd0IsbUJBRnJCLE1BQU07dUZBRVQsd0JBQXdCO2NBSHBDLFVBQVU7ZUFBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IEluZm9QbGF0Zm9ybU1vZGVsIH0gZnJvbSBcIi4uL21vZGVsL3BsYXRmb3JtLm1vZGVsXCI7XHJcbmltcG9ydCB7IEluZm9BcHBDb25maWdNb2RlbCB9IGZyb20gXCIuLi9tb2RlbC9hcHAtY29uZmlnLm1vZGVsXCI7XHJcbmltcG9ydCB7IEluZm9UaGVtZVNlcnZpY2UgfSBmcm9tIFwiLi90aGVtZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFV0aWxpdGllcyB9IGZyb20gXCIuLi91dGlscy91dGlsaXRpZXNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb0NvbmZpZ3VyYXRpb25TZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIF9wbGF0YWZvcm1hOiBJbmZvUGxhdGZvcm1Nb2RlbCwgcHJpdmF0ZSBfdGhlbWVTZXJ2aWNlOiBJbmZvVGhlbWVTZXJ2aWNlLCBwcml2YXRlIF91dGlsaXRpZXM6IFV0aWxpdGllcykgeyB9XHJcblxyXG4gICAgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPEluZm9BcHBDb25maWdNb2RlbD4ge1xyXG5cclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHIsIGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5faHR0cFxyXG4gICAgICAgICAgICAgICAgLmdldDxJbmZvQXBwQ29uZmlnTW9kZWw+KCdjb25maWcuanNvbicpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGNvbmZpZyA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGFjdGl2ZVRoZW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnYXQnKSB8fCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXQnKTtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgbWVudU1pbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ21tJykgfHwgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ21tJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHByaW1lID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgnbXAnKSB8fCBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbXAnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcGxhdGFmb3JtYS5Db25maWcgPSBjb25maWc7IFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BsYXRhZm9ybWEuQ29uZmlnSXNOdWxsID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9wbGF0YWZvcm1hLkNvbmZpZy51eCA9PSBudWxsIHx8IHRoaXMuX3BsYXRhZm9ybWEuQ29uZmlnLnV4ID09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fcGxhdGFmb3JtYS5Db25maWcudXggPSAyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fcGxhdGFmb3JtYS5Db25maWcudXggPT0gMilcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWVudU1pbiA9ICdmYWxzZSc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHVybEVtYmVkZGVkID0gJy9hc3NldHMvZW1iZWRkZWQvdGVtYXMuY3NzJztcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBodHRwRW1iZWRkZWQgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcclxuICAgICAgICAgICAgICAgICAgICBodHRwRW1iZWRkZWQub3BlbignR0VUJywgdXJsRW1iZWRkZWQsIGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICBodHRwRW1iZWRkZWQuc2VuZCgpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoaHR0cEVtYmVkZGVkLnN0YXR1cyA+PSAyMDAgJiYgaHR0cEVtYmVkZGVkLnN0YXR1cyA8IDMwMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjc3NUZXh0ID0gaHR0cEVtYmVkZGVkLnJlc3BvbnNlVGV4dCB8fCAnJztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjc3NUZXh0ICYmIGNzc1RleHQudHJpbSgpLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlLnNldEF0dHJpYnV0ZSgnZGF0YS1zb3VyY2UnLCB1cmxFbWJlZGRlZCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZS50ZXh0Q29udGVudCA9IGNzc1RleHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZENTU0FQSSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkQ1NTQVBJKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLl9wbGF0YWZvcm1hLkNvbmZpZy5zdHlsZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjc3NDbGllbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNzc0NsaWVudC5ocmVmID0gJy9hc3NldHMvJyArIHRoaXMuX3BsYXRhZm9ybWEuQ29uZmlnLnN0eWxlICsgJy9zdHlsZS5jc3MnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjc3NDbGllbnQudHlwZSA9ICd0ZXh0L2Nzcyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNzc0NsaWVudC5yZWwgPSAnc3R5bGVzaGVldCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoY3NzQ2xpZW50KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChhY3RpdmVUaGVtZSA9PSBudWxsIHx8IGFjdGl2ZVRoZW1lID09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aXZlVGhlbWUgPSBgXyR7dGhpcy5fcGxhdGFmb3JtYS5Db25maWcudGhlbWV9LXRoZW1lYDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldFRoZW1lKGFjdGl2ZVRoZW1lIHx8ICdkZWZhdWx0LXRoZW1lJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdGhlbWVTZXJ2aWNlLnNldE1lbnVNaW4obWVudU1pbiA9PSAndHJ1ZScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RoZW1lU2VydmljZS5zZXRNb2RlUHJpbWUocHJpbWUgPT0gJ3RydWUnKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcihjb25maWcpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZENTU0FQSSgpIHtcclxuICAgICAgICBjb25zdCB4bWxodHRwID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICAgICAgeG1saHR0cC5vcGVuKFwiR0VUXCIsIHRoaXMuX3BsYXRhZm9ybWEuQ29uZmlnLndlYmFwaVVybC5yZXBsYWNlKC9cXC9hcGlcXC8kL2lnLCAnJykgKyAnL2xheW91dC90ZW1hcy5jc3MnLCBmYWxzZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuX3BsYXRhZm9ybWEuQ29uZmlnLmhlYWRlcnMgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5fcGxhdGFmb3JtYS5Db25maWcuaGVhZGVycy5mb3JFYWNoKGhlYWRlciA9PiB4bWxodHRwLnNldFJlcXVlc3RIZWFkZXIoaGVhZGVyLmtleSwgaGVhZGVyLnZhbHVlKSk7XHJcbiAgICAgICAgeG1saHR0cC5zZW5kKCk7XHJcbiAgICAgICAgdmFyIGNzc0ZpbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xyXG4gICAgICAgIGNzc0ZpbGUuaW5uZXJIVE1MID0gdGhpcy5fdXRpbGl0aWVzLmRlc2NyaXB0b2dyYWZhcih4bWxodHRwLnJlc3BvbnNlVGV4dCk7ICAgXHJcbiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChjc3NGaWxlKTtcclxuICAgIH1cclxufSJdfQ==
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9zZXJ2aWNlL2NvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDOzs7Ozs7QUFLbEMsTUFBTSxPQUFPLHdCQUF3QjtJQUVqQyxZQUFvQixLQUFpQixFQUFVLFdBQThCLEVBQVUsYUFBK0IsRUFBVSxVQUFxQjtRQUFqSSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBVztJQUFJLENBQUM7SUFFMUosVUFBVTtRQUVOLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxDQUFDLEtBQUs7aUJBQ0wsR0FBRyxDQUFxQixhQUFhLENBQUM7aUJBQ3RDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxXQUFXLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3RSxJQUFJLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FB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LE9BQU87Z0JBRWxCLE1BQU0sVUFBVSxHQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztvQkFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFL0IsSUFBSSxDQUFDLFVBQVU7b0JBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUNqRDtRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsNkRBQTZEO1FBQzdELDRGQUE0RjtRQUM1RixNQUFNO0lBQ1YsQ0FBQzs7bUhBL0ZRLHdCQUF3Qjs2R0FBeEIsd0JBQXdCLFdBQXhCLHdCQUF3QixtQkFGckIsTUFBTTt1RkFFVCx3QkFBd0I7Y0FIcEMsVUFBVTtlQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcclxuaW1wb3J0IHsgSW5mb1BsYXRmb3JtTW9kZWwgfSBmcm9tIFwiLi4vbW9kZWwvcGxhdGZvcm0ubW9kZWxcIjtcclxuaW1wb3J0IHsgSW5mb0FwcENvbmZpZ01vZGVsIH0gZnJvbSBcIi4uL21vZGVsL2FwcC1jb25maWcubW9kZWxcIjtcclxuaW1wb3J0IHsgSW5mb1RoZW1lU2VydmljZSB9IGZyb20gXCIuL3RoZW1lLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVXRpbGl0aWVzIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxpdGllc1wiO1xyXG5pbXBvcnQgRE9NUHVyaWZ5IGZyb20gJ2RvbXB1cmlmeSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9Db25maWd1cmF0aW9uU2VydmljZSB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBfcGxhdGFmb3JtYTogSW5mb1BsYXRmb3JtTW9kZWwsIHByaXZhdGUgX3RoZW1lU2VydmljZTogSW5mb1RoZW1lU2VydmljZSwgcHJpdmF0ZSBfdXRpbGl0aWVzOiBVdGlsaXRpZXMpIHsgfVxyXG5cclxuICAgIGluaXRpYWxpemUoKTogUHJvbWlzZTxJbmZvQXBwQ29uZmlnTW9kZWw+IHtcclxuXHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyLCBlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2h0dHBcclxuICAgICAgICAgICAgICAgIC5nZXQ8SW5mb0FwcENvbmZpZ01vZGVsPignY29uZmlnLmpzb24nKVxyXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShjb25maWcgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBhY3RpdmVUaGVtZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2F0JykgfHwgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2F0Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1lbnVNaW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdtbScpIHx8IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdtbScpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwcmltZSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ21wJykgfHwgbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ21wJyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3BsYXRhZm9ybWEuQ29uZmlnID0gY29uZmlnOyBcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9wbGF0YWZvcm1hLkNvbmZpZ0lzTnVsbCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fcGxhdGFmb3JtYS5Db25maWcudXggPT0gbnVsbCB8fCB0aGlzLl9wbGF0YWZvcm1hLkNvbmZpZy51eCA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3BsYXRhZm9ybWEuQ29uZmlnLnV4ID0gMjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX3BsYXRhZm9ybWEuQ29uZmlnLnV4ID09IDIpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lbnVNaW4gPSAnZmFsc2UnO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cmxFbWJlZGRlZCA9ICcvYXNzZXRzL2VtYmVkZGVkL3RlbWFzLmNzcyc7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaHR0cEVtYmVkZGVkID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaHR0cEVtYmVkZGVkLm9wZW4oJ0dFVCcsIHVybEVtYmVkZGVkLCBmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaHR0cEVtYmVkZGVkLnNlbmQoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGh0dHBFbWJlZGRlZC5zdGF0dXMgPj0gMjAwICYmIGh0dHBFbWJlZGRlZC5zdGF0dXMgPCAzMDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY3NzVGV4dCA9IGh0dHBFbWJlZGRlZC5yZXNwb25zZVRleHQgfHwgJyc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY3NzVGV4dCAmJiBjc3NUZXh0LnRyaW0oKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZS5zZXRBdHRyaWJ1dGUoJ2RhdGEtc291cmNlJywgdXJsRW1iZWRkZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGUudGV4dENvbnRlbnQgPSBjc3NUZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzdHlsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRDU1NBUEkoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZENTU0FQSSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fcGxhdGFmb3JtYS5Db25maWcuc3R5bGUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3NzQ2xpZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjc3NDbGllbnQuaHJlZiA9ICcvYXNzZXRzLycgKyB0aGlzLl9wbGF0YWZvcm1hLkNvbmZpZy5zdHlsZSArICcvc3R5bGUuY3NzJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3NzQ2xpZW50LnR5cGUgPSAndGV4dC9jc3MnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjc3NDbGllbnQucmVsID0gJ3N0eWxlc2hlZXQnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGNzc0NsaWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoYWN0aXZlVGhlbWUgPT0gbnVsbCB8fCBhY3RpdmVUaGVtZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVRoZW1lID0gYF8ke3RoaXMuX3BsYXRhZm9ybWEuQ29uZmlnLnRoZW1lfS10aGVtZWA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RoZW1lU2VydmljZS5zZXRUaGVtZShhY3RpdmVUaGVtZSB8fCAnZGVmYXVsdC10aGVtZScpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RoZW1lU2VydmljZS5zZXRNZW51TWluKG1lbnVNaW4gPT0gJ3RydWUnKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl90aGVtZVNlcnZpY2Uuc2V0TW9kZVByaW1lKHByaW1lID09ICd0cnVlJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWdET01QdXJpZnkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcihjb25maWcpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZENTU0FQSSgpIHtcclxuICAgICAgICBjb25zdCB4bWxodHRwID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XHJcbiAgICAgICAgeG1saHR0cC5vcGVuKFwiR0VUXCIsIHRoaXMuX3BsYXRhZm9ybWEuQ29uZmlnLndlYmFwaVVybC5yZXBsYWNlKC9cXC9hcGlcXC8kL2lnLCAnJykgKyAnL2xheW91dC90ZW1hcy5jc3MnLCBmYWxzZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuX3BsYXRhZm9ybWEuQ29uZmlnLmhlYWRlcnMgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5fcGxhdGFmb3JtYS5Db25maWcuaGVhZGVycy5mb3JFYWNoKGhlYWRlciA9PiB4bWxodHRwLnNldFJlcXVlc3RIZWFkZXIoaGVhZGVyLmtleSwgaGVhZGVyLnZhbHVlKSk7XHJcbiAgICAgICAgeG1saHR0cC5zZW5kKCk7XHJcbiAgICAgICAgdmFyIGNzc0ZpbGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xyXG4gICAgICAgIGNzc0ZpbGUuaW5uZXJIVE1MID0gdGhpcy5fdXRpbGl0aWVzLmRlc2NyaXB0b2dyYWZhcih4bWxodHRwLnJlc3BvbnNlVGV4dCk7ICAgXHJcbiAgICAgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChjc3NGaWxlKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25maWdET01QdXJpZnkoKSB7XHJcbiAgICAgICAgRE9NUHVyaWZ5LmFkZEhvb2soJ2FmdGVyU2FuaXRpemVBdHRyaWJ1dGVzJywgKG5vZGU6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICAgICAgaWYgKG5vZGUudGFnTmFtZSA9PT0gJ0EnKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgaHJlZiA9IG5vZGUuZ2V0QXR0cmlidXRlKCdocmVmJyk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWhyZWYpIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgICAgICBjb25zdCBpc0ludGVybmFsID1cclxuICAgICAgICAgICAgICAgICAgICBocmVmLnN0YXJ0c1dpdGgoJy8nKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgIGhyZWYuc3RhcnRzV2l0aCgnIycpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgaHJlZi5zdGFydHNXaXRoKCdtYWlsdG86Jyk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKCFpc0ludGVybmFsKSBub2RlLnJlbW92ZUF0dHJpYnV0ZSgnaHJlZicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIC8vIERPTVB1cmlmeS5hZGRIb29rKCd1cG9uU2FuaXRpemVFbGVtZW50JywgKG5vZGUsIGRhdGEpID0+IHtcclxuICAgICAgICAvLyAgICAgaWYgKCFkYXRhLmFsbG93ZWRUYWdzW2RhdGEudGFnTmFtZV0pIGNvbnNvbGUud2FybignQmxvY2tlZCBIVE1MIHRhZzonLCBkYXRhLnRhZ05hbWUpO1xyXG4gICAgICAgIC8vIH0pO1xyXG4gICAgfVxyXG59Il19
|