info-library 2.14.51 → 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.
@@ -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==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1RSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFdBQVcsQ0FBQztBQUUxQixXQUFXO0FBQ1gsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDM0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDMUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDMUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdEUsVUFBVTtBQUNWLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IEFQSUNPTlRST0xMRVJfQ09ORklHLCBESUNUSU9OQVJJRVNfQ09ORklHIH0gZnJvbSAnLi9nbG9iYWwtY29uZmlnJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudW0nO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2UnO1xyXG5cclxuLy8gQ29udHJvbHNcclxuZXhwb3J0IHsgSW5mb0FsZXJ0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9hbGVydC9hbGVydC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvQXV0b0NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9CaWdDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvYmlnLWNoZWNrYm94L2JpZy1jaGVja2JveC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvY2FyZC9jYXJkLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9NZW51Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvY2FyZC1tZW51L2NhcmQtbWVudS5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9EYXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9kYXRlL2RhdGUuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb0RhdGVNb250aENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZGF0ZS1tb250aC9kYXRlLW1vbnRoLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9HcmlkQ29tcG9uZW50LCBJbmZvR3JpZE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9ncmlkL2dyaWQuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvSW5wdXRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9pbnB1dC1saXN0L2lucHV0LWxpc3QuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb0xpc3RDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvbGlzdC1jaGVja2JveC9saXN0LWNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9NZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9tZXNzYWdlL21lc3NhZ2UuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb1BhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvcGFnaW5hdG9yL3BhZ2luYXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvU2VsZWN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9UaW1lbGluZUNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29udHJvbHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL2NvbnRyb2xzL211bHRpLXNlbGVjdC9tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb0NoaXBzQ29tcG9uZW50IH0gZnJvbSAnLi9jb250cm9scy9jaGlwcy9jaGlwcy5jb21wb25lbnQnO1xyXG5cclxuLy8gTGF5b3V0c1xyXG5leHBvcnQgeyBJbmZvTWFpbkNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9tYWluL21haW4uY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb1NpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9Ub3BiYXJDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvdG9wYmFyL3RvcGJhci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvVG9wTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy90b3BtZW51L3RvcG1lbnUuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb0RpYWxvZ0NvbXBvbmVudCwgSW5mb0RpYWxvZ01vZGFsIH0gZnJvbSAnLi9sYXlvdXRzL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb0ZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IEluZm9Mb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9sYXlvdXRzL2xvYWRpbmcvbG9hZGluZy5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBJbmZvTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcclxuZXhwb3J0IHsgSW5mb1BhZ2ViYXJDb21wb25lbnQgfSBmcm9tICcuL2xheW91dHMvcGFnZWJhci9wYWdlYmFyLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgeyBJbmZvTGlicmFyeU1vZHVsZSB9IGZyb20gJy4vaW5mby1saWJyYXJ5Lm1vZHVsZSc7Il19
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