@norwegian/core-components 6.55.1 → 6.56.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.
@@ -65,4 +65,5 @@ export * from './input-text/index';
65
65
  export * from './number-field-new/index';
66
66
  export * from './radio-new/index';
67
67
  export * from './slide-toggle-new/index';
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWNjb3JkaW9uL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vYWlycG9ydC1zZWxlY3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9haXJwb3J0LXNlbGVjdC1uZXcvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9ib3gvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRhaW5lci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRpbnVlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY292ZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1uZXcvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zb3J0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZ3JpZC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uLWxpc3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9pbmZvL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zaW1wbGUtbGlzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGFsL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLWZpZWxkL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1mb290ZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlLWhlYWRlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtaGVhZGVyLW9sZC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3Bhc3Nlbmdlci1zZWxlY3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXNzZW5nZXItc2VsZWN0LW5ldy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3ByZW1pdW0tdG9nZ2xlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcmFkaW8vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGlubmVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc3RhdHVzLWJveC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3N1YnNpZHktZGlzY291bnQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi90b2dnbGUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi93ZWF0aGVyLWljb24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vam91cm5leS1hdmFpbGFiaWxpdHktbGlzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2pvdXJuZXktYXZhaWxhYmlsaXR5L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY2hpcC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3RhYi1ncm91cC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGVwaWNrZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlcGlja2VyLW5ldy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGVwaWNrZXItY29tYm8vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlcGlja2VyLWNvbWJvLW5ldy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3Bob25lLW51bWJlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9jb21wbGV0ZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9jb21wbGV0ZS1uZXcvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi90cmlwLXN1bW1hcnkvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9qb3VybmV5L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vam91cm5leS1zdG9wb3Zlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHRhcmVhL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc3VnZ2VzdGlvbnMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9qb3VybmV5LXNlbGVjdGlvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2JhY2tkcm9wL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2xpZGUtdG9nZ2xlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc2xpZGVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9kaXZpZGVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdGFnL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vYWxlcnQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9taWNyby1idXR0b24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnbi1oZWFkZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24tbmV3L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY2hlY2tib3gtbmV3L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtdGV4dC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL251bWJlci1maWVsZC1uZXcvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9yYWRpby1uZXcvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGlkZS10b2dnbGUtbmV3L2luZGV4JztcbiJdfQ==
68
+ export * from './ribbon-banner/index';
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY2NvcmRpb24vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9haXJwb3J0LXNlbGVjdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2FpcnBvcnQtc2VsZWN0LW5ldy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2JveC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGFpbmVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGludWUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3Zlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLW5ldy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NvcnQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9ncmlkL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2ljb24tbGlzdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2luZm8vaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NpbXBsZS1saXN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbW9kYWwvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXItZmllbGQvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlLWZvb3Rlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2UtaGVhZGVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZS1oZWFkZXItb2xkL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcGFzc2VuZ2VyLXNlbGVjdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3Bhc3Nlbmdlci1zZWxlY3QtbmV3L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcHJlbWl1bS10b2dnbGUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9yYWRpby9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NwaW5uZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0dXMtYm94L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2lkeS1kaXNjb3VudC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3RvZ2dsZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3dlYXRoZXItaWNvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3QvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9qb3VybmV5LWF2YWlsYWJpbGl0eS1saXN0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vam91cm5leS1hdmFpbGFiaWxpdHkvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGlwL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdGFiLWdyb3VwL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXBpY2tlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGVwaWNrZXItbmV3L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZXBpY2tlci1jb21iby9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGVwaWNrZXItY29tYm8tbmV3L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcGhvbmUtbnVtYmVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b2NvbXBsZXRlL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b2NvbXBsZXRlLW5ldy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3RyaXAtc3VtbWFyeS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2pvdXJuZXkvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9qb3VybmV5LXN0b3BvdmVyL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGFyZWEvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zdWdnZXN0aW9ucy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2pvdXJuZXktc2VsZWN0aW9uL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vYmFja2Ryb3AvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGlkZS10b2dnbGUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zbGlkZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi90YWJsZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2RpdmlkZXIvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi90YWcvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9hbGVydC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL21pY3JvLWJ1dHRvbi9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2NhbXBhaWduLWhlYWRlci9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2J1dHRvbi1uZXcvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC1uZXcvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC10ZXh0L2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLWZpZWxkLW5ldy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3JhZGlvLW5ldy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3NsaWRlLXRvZ2dsZS1uZXcvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9yaWJib24tYmFubmVyL2luZGV4JztcbiJdfQ==
@@ -369,11 +369,11 @@ export class PassengerSelectNewComponent extends NasComponentBase {
369
369
  }
370
370
  }
371
371
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: PassengerSelectNewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
372
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: PassengerSelectNewComponent, selector: "nas-passenger-select-new", inputs: { passengers: "passengers", maxPaxCount: "maxPaxCount", minAdultCount: "minAdultCount", groupBookingLimit: "groupBookingLimit", title: "title", adultsLabel: "adultsLabel", childrenLabel: "childrenLabel", infantsLabel: "infantsLabel", youthsLabel: "youthsLabel", youngAdultsLabel: "youngAdultsLabel", groupBookingLabel: "groupBookingLabel", nasFormGroup: "nasFormGroup", nasFormControlGroupBooking: "nasFormControlGroupBooking", ariaLabelSubtract: "ariaLabelSubtract", ariaLabelAdd: "ariaLabelAdd" }, outputs: { passengersChange: "passengersChange", focusOnNext: "focusOnNext", focusOnPrevious: "focusOnPrevious" }, viewQueries: [{ propertyName: "numberFields", predicate: NumberFieldNewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<h2 *ngIf=\"title\"\n [nasClass]=\"getClass('title', isGroupBooking && 'group-booking')\">{{title}}<ng-container *ngIf=\"isGroupBooking\">:\n <div>{{groupBookingLabel}}</div>\n </ng-container>\n</h2>\n<ul [nasClass]=\"getClass('list')\">\n <li *ngFor=\"let item of passengers; index as count\"\n [nasClass]=\"getClass('list-item')\">\n <label [nasClass]=\"getClass('label')\"\n [attr.aria-label]=\"getLabel(item.type)\">{{getLabel(item.type)}}</label>\n <ng-container *ngIf=\"!item.formGroup || !item.formControlName; else reactiveForm\">\n <nas-number-field-new compact\n spaceless\n simple\n [ariaLabel]=\"getLabel(item.type)\"\n [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [ariaLabelAdd]=\"ariaLabelAdd\"\n [number]=\"item.count\"\n [max]=\"getMax(item)\"\n [min]=\"getMin(item)\"\n (numberChange)=\"setPassengersCount(item, $event)\"\n (keydown)=\"keyDown($event, count)\"></nas-number-field-new>\n </ng-container>\n <ng-template #reactiveForm>\n <nas-number-field-new compact\n spaceless\n simple\n [ariaLabel]=\"getLabel(item.type)\"\n [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [ariaLabelAdd]=\"ariaLabelAdd\"\n [nasFormGroup]=\"item.formGroup\"\n [nasFormControlName]=\"item.formControlName\"\n [number]=\"item.formGroup?.get(item.formControlName)?.value\"\n [max]=\"getMax(item)\"\n [min]=\"getMin(item)\"\n (keydown)=\"keyDown($event, count)\"\n (numberChange)=\"setPassengersCount(item, $event)\"></nas-number-field-new>\n </ng-template>\n </li>\n</ul>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-passenger-select-new{position:relative;display:flex;flex-wrap:wrap;margin:16px 0 24px}.nas-passenger-select-new__list{position:relative;background-color:#fff;border-left:2px solid #15273f;border-bottom:2px solid #15273f;border-right:2px solid #15273f}.nas-passenger-select-new__list-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0 0}.nas-passenger-select-new__list-item:not(:last-child){padding:6px 0 9px}.nas-passenger-select-new__list-item:first-child{padding-top:16px!important}.nas-passenger-select-new__list-item:last-child{padding-bottom:16px!important}.nas-passenger-select-new__label{flex-grow:2;margin:0 6px 0 0}.nas-passenger-select-new__title{font-size:18px;line-height:26px;display:block;min-width:124px}.nas-passenger-select-new__title--small{font-size:16px;line-height:26px;margin:0}.nas-passenger-select-new__title--group-booking{animation:pop-in-from-top .5s linear both}.nas-passenger-select-new__actions{display:flex}.nas-passenger-select-new__action{padding:12px;width:100%;background-color:#fff}.nas-passenger-select-new__action:hover,.nas-passenger-select-new__action:focus{background-color:#e3e3e3}.nas-passenger-select-new__action--active,.nas-passenger-select-new__action--active:hover,.nas-passenger-select-new__action--active:focus{color:#fff;background-color:#15273f}.nas-passenger-select-new__icon{margin-bottom:9px}.nas-passenger-select-new__dropdown{margin-right:9px;margin-bottom:6px}@media (min-width: 640px){.nas-passenger-select-new__dropdown{margin-right:9px;margin-bottom:0}.nas-passenger-select-new__dropdown:not(:first-child){margin-left:9px}}.nas-passenger-select-new__transit-icon{position:relative;display:flex;justify-content:center;width:calc(100% - 48px);margin:12px auto;height:24px;background-color:inherit}.nas-passenger-select-new__transit-icon:before{content:\"\";position:absolute;height:2px;left:0;width:100%;top:calc(50% - 1px);background-color:currentColor}.nas-passenger-select-new__transit-icon:after{content:\"\";position:absolute;width:10px;height:10px;right:0;top:calc(50% - 5px);border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.nas-passenger-select-new__transit-icon-stop{position:relative;top:calc(50% - 5px);width:10px;height:10px;border:2px solid currentColor;border-radius:50%;background-color:inherit}@media (min-width: 1000px){.nas-passenger-select-new--combined{margin:0}.nas-passenger-select-new--combined:after{content:\"\";position:absolute;bottom:-3px;left:-3px;width:calc(100% + 3px);border-bottom:3px solid #c3c3c3}.nas-passenger-select-new--combined .nas-passenger-select-new__dropdown{margin:0 3px 0 0}.nas-passenger-select-new--combined .nas-passenger-select-new__dropdown:last-child{margin:0}.nas-passenger-select-new--combined .dropdown__toggle{height:calc(100% - 3px);margin:0;padding-left:16px;padding-right:16px;background-color:#fff}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.NumberFieldNewComponent, selector: "nas-number-field-new", inputs: ["number", "max", "min", "label", "compact", "spaceless", "simple", "nasFormControlName", "nasFormGroup", "hideInput", "ariaLabelSubtract", "ariaLabelAdd", "ariaLabel"], outputs: ["numberChange"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }] }); }
372
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: PassengerSelectNewComponent, selector: "nas-passenger-select-new", inputs: { passengers: "passengers", maxPaxCount: "maxPaxCount", minAdultCount: "minAdultCount", groupBookingLimit: "groupBookingLimit", title: "title", adultsLabel: "adultsLabel", childrenLabel: "childrenLabel", infantsLabel: "infantsLabel", youthsLabel: "youthsLabel", youngAdultsLabel: "youngAdultsLabel", groupBookingLabel: "groupBookingLabel", nasFormGroup: "nasFormGroup", nasFormControlGroupBooking: "nasFormControlGroupBooking", ariaLabelSubtract: "ariaLabelSubtract", ariaLabelAdd: "ariaLabelAdd" }, outputs: { passengersChange: "passengersChange", focusOnNext: "focusOnNext", focusOnPrevious: "focusOnPrevious" }, viewQueries: [{ propertyName: "numberFields", predicate: NumberFieldNewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<h2 *ngIf=\"title || isGroupBooking\" [nasClass]=\"getClass('title')\">\n <span *ngIf=\"title\">{{title}}</span>\n <span *ngIf=\"isGroupBooking\" [nasClass]=\"getClass('title--group-booking')\">{{groupBookingLabel}}</span>\n</h2>\n<ul [nasClass]=\"getClass('list')\">\n <li *ngFor=\"let item of passengers; index as count\"\n [nasClass]=\"getClass('list-item')\">\n <label [nasClass]=\"getClass('label')\"\n [attr.aria-label]=\"getLabel(item.type)\">{{getLabel(item.type)}}</label>\n <ng-container *ngIf=\"!item.formGroup || !item.formControlName; else reactiveForm\">\n <nas-number-field-new compact\n spaceless\n simple\n [ariaLabel]=\"getLabel(item.type)\"\n [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [ariaLabelAdd]=\"ariaLabelAdd\"\n [number]=\"item.count\"\n [max]=\"getMax(item)\"\n [min]=\"getMin(item)\"\n (numberChange)=\"setPassengersCount(item, $event)\"\n (keydown)=\"keyDown($event, count)\"></nas-number-field-new>\n </ng-container>\n <ng-template #reactiveForm>\n <nas-number-field-new compact\n spaceless\n simple\n [ariaLabel]=\"getLabel(item.type)\"\n [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [ariaLabelAdd]=\"ariaLabelAdd\"\n [nasFormGroup]=\"item.formGroup\"\n [nasFormControlName]=\"item.formControlName\"\n [number]=\"item.formGroup?.get(item.formControlName)?.value\"\n [max]=\"getMax(item)\"\n [min]=\"getMin(item)\"\n (keydown)=\"keyDown($event, count)\"\n (numberChange)=\"setPassengersCount(item, $event)\"></nas-number-field-new>\n </ng-template>\n </li>\n</ul>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-passenger-select-new{position:relative;display:flex;flex-wrap:wrap;margin:16px 0 24px}.nas-passenger-select-new__list{position:relative;background-color:#fff;border-left:2px solid #15273f;border-bottom:2px solid #15273f;border-right:2px solid #15273f}.nas-passenger-select-new__list-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0 0}.nas-passenger-select-new__list-item:not(:last-child){padding:6px 0 9px}.nas-passenger-select-new__list-item:first-child{padding-top:16px!important}.nas-passenger-select-new__list-item:last-child{padding-bottom:16px!important}.nas-passenger-select-new__label{flex-grow:2;margin:0 6px 0 0}.nas-passenger-select-new__title{font-size:18px;line-height:26px;position:relative;background-color:#fff;display:block;min-width:124px;margin-bottom:0;border-left:2px solid #15273f;border-right:2px solid #15273f}.nas-passenger-select-new__title--small{font-size:16px;line-height:26px;margin:0}.nas-passenger-select-new__title--group-booking{animation:pop-in-from-top .5s linear both;display:block}.nas-passenger-select-new__actions{display:flex}.nas-passenger-select-new__action{padding:12px;width:100%;background-color:#fff}.nas-passenger-select-new__action:hover,.nas-passenger-select-new__action:focus{background-color:#e3e3e3}.nas-passenger-select-new__action--active,.nas-passenger-select-new__action--active:hover,.nas-passenger-select-new__action--active:focus{color:#fff;background-color:#15273f}.nas-passenger-select-new__icon{margin-bottom:9px}.nas-passenger-select-new__dropdown{margin-right:9px;margin-bottom:6px}@media (min-width: 640px){.nas-passenger-select-new__dropdown{margin-right:9px;margin-bottom:0}.nas-passenger-select-new__dropdown:not(:first-child){margin-left:9px}}.nas-passenger-select-new__transit-icon{position:relative;display:flex;justify-content:center;width:calc(100% - 48px);margin:12px auto;height:24px;background-color:inherit}.nas-passenger-select-new__transit-icon:before{content:\"\";position:absolute;height:2px;left:0;width:100%;top:calc(50% - 1px);background-color:currentColor}.nas-passenger-select-new__transit-icon:after{content:\"\";position:absolute;width:10px;height:10px;right:0;top:calc(50% - 5px);border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.nas-passenger-select-new__transit-icon-stop{position:relative;top:calc(50% - 5px);width:10px;height:10px;border:2px solid currentColor;border-radius:50%;background-color:inherit}@media (min-width: 1000px){.nas-passenger-select-new--combined{margin:0}.nas-passenger-select-new--combined:after{content:\"\";position:absolute;bottom:-3px;left:-3px;width:calc(100% + 3px);border-bottom:3px solid #c3c3c3}.nas-passenger-select-new--combined .nas-passenger-select-new__dropdown{margin:0 3px 0 0}.nas-passenger-select-new--combined .nas-passenger-select-new__dropdown:last-child{margin:0}.nas-passenger-select-new--combined .dropdown__toggle{height:calc(100% - 3px);margin:0;padding-left:16px;padding-right:16px;background-color:#fff}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.NumberFieldNewComponent, selector: "nas-number-field-new", inputs: ["number", "max", "min", "label", "compact", "spaceless", "simple", "nasFormControlName", "nasFormGroup", "hideInput", "ariaLabelSubtract", "ariaLabelAdd", "ariaLabel"], outputs: ["numberChange"] }, { kind: "directive", type: i3.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }] }); }
373
373
  }
374
374
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: PassengerSelectNewComponent, decorators: [{
375
375
  type: Component,
376
- args: [{ selector: 'nas-passenger-select-new', template: "<h2 *ngIf=\"title\"\n [nasClass]=\"getClass('title', isGroupBooking && 'group-booking')\">{{title}}<ng-container *ngIf=\"isGroupBooking\">:\n <div>{{groupBookingLabel}}</div>\n </ng-container>\n</h2>\n<ul [nasClass]=\"getClass('list')\">\n <li *ngFor=\"let item of passengers; index as count\"\n [nasClass]=\"getClass('list-item')\">\n <label [nasClass]=\"getClass('label')\"\n [attr.aria-label]=\"getLabel(item.type)\">{{getLabel(item.type)}}</label>\n <ng-container *ngIf=\"!item.formGroup || !item.formControlName; else reactiveForm\">\n <nas-number-field-new compact\n spaceless\n simple\n [ariaLabel]=\"getLabel(item.type)\"\n [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [ariaLabelAdd]=\"ariaLabelAdd\"\n [number]=\"item.count\"\n [max]=\"getMax(item)\"\n [min]=\"getMin(item)\"\n (numberChange)=\"setPassengersCount(item, $event)\"\n (keydown)=\"keyDown($event, count)\"></nas-number-field-new>\n </ng-container>\n <ng-template #reactiveForm>\n <nas-number-field-new compact\n spaceless\n simple\n [ariaLabel]=\"getLabel(item.type)\"\n [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [ariaLabelAdd]=\"ariaLabelAdd\"\n [nasFormGroup]=\"item.formGroup\"\n [nasFormControlName]=\"item.formControlName\"\n [number]=\"item.formGroup?.get(item.formControlName)?.value\"\n [max]=\"getMax(item)\"\n [min]=\"getMin(item)\"\n (keydown)=\"keyDown($event, count)\"\n (numberChange)=\"setPassengersCount(item, $event)\"></nas-number-field-new>\n </ng-template>\n </li>\n</ul>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-passenger-select-new{position:relative;display:flex;flex-wrap:wrap;margin:16px 0 24px}.nas-passenger-select-new__list{position:relative;background-color:#fff;border-left:2px solid #15273f;border-bottom:2px solid #15273f;border-right:2px solid #15273f}.nas-passenger-select-new__list-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0 0}.nas-passenger-select-new__list-item:not(:last-child){padding:6px 0 9px}.nas-passenger-select-new__list-item:first-child{padding-top:16px!important}.nas-passenger-select-new__list-item:last-child{padding-bottom:16px!important}.nas-passenger-select-new__label{flex-grow:2;margin:0 6px 0 0}.nas-passenger-select-new__title{font-size:18px;line-height:26px;display:block;min-width:124px}.nas-passenger-select-new__title--small{font-size:16px;line-height:26px;margin:0}.nas-passenger-select-new__title--group-booking{animation:pop-in-from-top .5s linear both}.nas-passenger-select-new__actions{display:flex}.nas-passenger-select-new__action{padding:12px;width:100%;background-color:#fff}.nas-passenger-select-new__action:hover,.nas-passenger-select-new__action:focus{background-color:#e3e3e3}.nas-passenger-select-new__action--active,.nas-passenger-select-new__action--active:hover,.nas-passenger-select-new__action--active:focus{color:#fff;background-color:#15273f}.nas-passenger-select-new__icon{margin-bottom:9px}.nas-passenger-select-new__dropdown{margin-right:9px;margin-bottom:6px}@media (min-width: 640px){.nas-passenger-select-new__dropdown{margin-right:9px;margin-bottom:0}.nas-passenger-select-new__dropdown:not(:first-child){margin-left:9px}}.nas-passenger-select-new__transit-icon{position:relative;display:flex;justify-content:center;width:calc(100% - 48px);margin:12px auto;height:24px;background-color:inherit}.nas-passenger-select-new__transit-icon:before{content:\"\";position:absolute;height:2px;left:0;width:100%;top:calc(50% - 1px);background-color:currentColor}.nas-passenger-select-new__transit-icon:after{content:\"\";position:absolute;width:10px;height:10px;right:0;top:calc(50% - 5px);border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.nas-passenger-select-new__transit-icon-stop{position:relative;top:calc(50% - 5px);width:10px;height:10px;border:2px solid currentColor;border-radius:50%;background-color:inherit}@media (min-width: 1000px){.nas-passenger-select-new--combined{margin:0}.nas-passenger-select-new--combined:after{content:\"\";position:absolute;bottom:-3px;left:-3px;width:calc(100% + 3px);border-bottom:3px solid #c3c3c3}.nas-passenger-select-new--combined .nas-passenger-select-new__dropdown{margin:0 3px 0 0}.nas-passenger-select-new--combined .nas-passenger-select-new__dropdown:last-child{margin:0}.nas-passenger-select-new--combined .dropdown__toggle{height:calc(100% - 3px);margin:0;padding-left:16px;padding-right:16px;background-color:#fff}}\n"] }]
376
+ args: [{ selector: 'nas-passenger-select-new', template: "<h2 *ngIf=\"title || isGroupBooking\" [nasClass]=\"getClass('title')\">\n <span *ngIf=\"title\">{{title}}</span>\n <span *ngIf=\"isGroupBooking\" [nasClass]=\"getClass('title--group-booking')\">{{groupBookingLabel}}</span>\n</h2>\n<ul [nasClass]=\"getClass('list')\">\n <li *ngFor=\"let item of passengers; index as count\"\n [nasClass]=\"getClass('list-item')\">\n <label [nasClass]=\"getClass('label')\"\n [attr.aria-label]=\"getLabel(item.type)\">{{getLabel(item.type)}}</label>\n <ng-container *ngIf=\"!item.formGroup || !item.formControlName; else reactiveForm\">\n <nas-number-field-new compact\n spaceless\n simple\n [ariaLabel]=\"getLabel(item.type)\"\n [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [ariaLabelAdd]=\"ariaLabelAdd\"\n [number]=\"item.count\"\n [max]=\"getMax(item)\"\n [min]=\"getMin(item)\"\n (numberChange)=\"setPassengersCount(item, $event)\"\n (keydown)=\"keyDown($event, count)\"></nas-number-field-new>\n </ng-container>\n <ng-template #reactiveForm>\n <nas-number-field-new compact\n spaceless\n simple\n [ariaLabel]=\"getLabel(item.type)\"\n [ariaLabelSubtract]=\"ariaLabelSubtract\"\n [ariaLabelAdd]=\"ariaLabelAdd\"\n [nasFormGroup]=\"item.formGroup\"\n [nasFormControlName]=\"item.formControlName\"\n [number]=\"item.formGroup?.get(item.formControlName)?.value\"\n [max]=\"getMax(item)\"\n [min]=\"getMin(item)\"\n (keydown)=\"keyDown($event, count)\"\n (numberChange)=\"setPassengersCount(item, $event)\"></nas-number-field-new>\n </ng-template>\n </li>\n</ul>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-passenger-select-new{position:relative;display:flex;flex-wrap:wrap;margin:16px 0 24px}.nas-passenger-select-new__list{position:relative;background-color:#fff;border-left:2px solid #15273f;border-bottom:2px solid #15273f;border-right:2px solid #15273f}.nas-passenger-select-new__list-item{display:flex;align-items:center;justify-content:space-between;padding:6px 0 0}.nas-passenger-select-new__list-item:not(:last-child){padding:6px 0 9px}.nas-passenger-select-new__list-item:first-child{padding-top:16px!important}.nas-passenger-select-new__list-item:last-child{padding-bottom:16px!important}.nas-passenger-select-new__label{flex-grow:2;margin:0 6px 0 0}.nas-passenger-select-new__title{font-size:18px;line-height:26px;position:relative;background-color:#fff;display:block;min-width:124px;margin-bottom:0;border-left:2px solid #15273f;border-right:2px solid #15273f}.nas-passenger-select-new__title--small{font-size:16px;line-height:26px;margin:0}.nas-passenger-select-new__title--group-booking{animation:pop-in-from-top .5s linear both;display:block}.nas-passenger-select-new__actions{display:flex}.nas-passenger-select-new__action{padding:12px;width:100%;background-color:#fff}.nas-passenger-select-new__action:hover,.nas-passenger-select-new__action:focus{background-color:#e3e3e3}.nas-passenger-select-new__action--active,.nas-passenger-select-new__action--active:hover,.nas-passenger-select-new__action--active:focus{color:#fff;background-color:#15273f}.nas-passenger-select-new__icon{margin-bottom:9px}.nas-passenger-select-new__dropdown{margin-right:9px;margin-bottom:6px}@media (min-width: 640px){.nas-passenger-select-new__dropdown{margin-right:9px;margin-bottom:0}.nas-passenger-select-new__dropdown:not(:first-child){margin-left:9px}}.nas-passenger-select-new__transit-icon{position:relative;display:flex;justify-content:center;width:calc(100% - 48px);margin:12px auto;height:24px;background-color:inherit}.nas-passenger-select-new__transit-icon:before{content:\"\";position:absolute;height:2px;left:0;width:100%;top:calc(50% - 1px);background-color:currentColor}.nas-passenger-select-new__transit-icon:after{content:\"\";position:absolute;width:10px;height:10px;right:0;top:calc(50% - 5px);border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg)}.nas-passenger-select-new__transit-icon-stop{position:relative;top:calc(50% - 5px);width:10px;height:10px;border:2px solid currentColor;border-radius:50%;background-color:inherit}@media (min-width: 1000px){.nas-passenger-select-new--combined{margin:0}.nas-passenger-select-new--combined:after{content:\"\";position:absolute;bottom:-3px;left:-3px;width:calc(100% + 3px);border-bottom:3px solid #c3c3c3}.nas-passenger-select-new--combined .nas-passenger-select-new__dropdown{margin:0 3px 0 0}.nas-passenger-select-new--combined .nas-passenger-select-new__dropdown:last-child{margin:0}.nas-passenger-select-new--combined .dropdown__toggle{height:calc(100% - 3px);margin:0;padding-left:16px;padding-right:16px;background-color:#fff}}\n"] }]
377
377
  }], ctorParameters: function () { return []; }, propDecorators: { numberFields: [{
378
378
  type: ViewChildren,
379
379
  args: [NumberFieldNewComponent]
@@ -414,4 +414,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
414
414
  }], focusOnPrevious: [{
415
415
  type: Output
416
416
  }] } });
417
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc2VuZ2VyLXNlbGVjdC1uZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9wYXNzZW5nZXItc2VsZWN0LW5ldy9wYXNzZW5nZXItc2VsZWN0LW5ldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3Nlbmdlci1zZWxlY3QtbmV3L3Bhc3Nlbmdlci1zZWxlY3QtbmV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFFOUQ7OztFQUdFO0FBTUYsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGdCQUFnQjtJQXVJL0Q7UUFDRSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQWxJcEM7Ozs7VUFJRTtRQUNPLGVBQVUsR0FBRyxJQUFJLEtBQUssRUFBbUIsQ0FBQztRQXVHbkQ7Ozs7VUFJRTtRQUNRLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUEwQixDQUFDO1FBRXhFOzs7O1VBSUU7UUFDUSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFaEQ7Ozs7VUFJRTtRQUNRLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUlwRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FB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LDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7MEVBS0csWUFBWTtzQkFBbEQsWUFBWTt1QkFBQyx1QkFBdUI7Z0JBVTVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxhQUFhO3NCQUFyQixLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxhQUFhO3NCQUFyQixLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBT0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBU0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9JLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFPRyxXQUFXO3NCQUFwQixNQUFNO2dCQU9HLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTm9yd2VnaWFuIEFpciBTaHV0dGxlLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBhc3NlbmdlclR5cGUgfSBmcm9tICcuL2VudW1zL3Bhc3Nlbmdlci10eXBlLmVudW0nO1xuaW1wb3J0IHsgUGFzc2VuZ2Vyc01vZGVsIH0gZnJvbSAnLi9tb2RlbHMvcGFzc2VuZ2Vycy5tb2RlbCc7XG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL25hcy1jb21wb25lbnQuYmFzZSc7XG5pbXBvcnQgeyBOdW1iZXJGaWVsZE5ld0NvbXBvbmVudCB9IGZyb20gJy4uL251bWJlci1maWVsZC1uZXcnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIFBhc3NlbmdlciBTZWxlY3QgQ29tcG9uZW50IHwgTmV3IGRlc2lnbiB8IEJldGFcbiovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduYXMtcGFzc2VuZ2VyLXNlbGVjdC1uZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc2VuZ2VyLXNlbGVjdC1uZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzZW5nZXItc2VsZWN0LW5ldy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhc3NlbmdlclNlbGVjdE5ld0NvbXBvbmVudCBleHRlbmRzIE5hc0NvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkcmVuKE51bWJlckZpZWxkTmV3Q29tcG9uZW50KSBudW1iZXJGaWVsZHMhOiBRdWVyeUxpc3Q8TnVtYmVyRmllbGROZXdDb21wb25lbnQ+O1xuXG4gIHRvdGFsQ291bnQ6IG51bWJlcjtcbiAgaXNHcm91cEJvb2tpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gYXJyYXkgb2YgZGlmZmVyZW50IHBhc3NlbmdlciB0eXBlcyB0aGF0IHdpbGwgYmUgZGlzcGxheWVkLlxuICAqL1xuICBASW5wdXQoKSBwYXNzZW5nZXJzID0gbmV3IEFycmF5PFBhc3NlbmdlcnNNb2RlbD4oKTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgdG90YWwgbWF4aW11bSBhbW91bnQgb2YgcGFzc2VuZ2Vycy5cbiAgKi9cbiAgQElucHV0KCkgbWF4UGF4Q291bnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgbWluaW11bSBhbW91bnQgb2YgYWR1bHRzIHRoYXQgY2FuIGJlIHNlbGVjdGVkLlxuICAqL1xuICBASW5wdXQoKSBtaW5BZHVsdENvdW50OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIGxpbWl0IGZvciB3aGVuIHRoZSB0b3RhbCBhbW91bnQgb2YgcGFzc2VuZ2VycyBleGNlZWRzIHRvIGJlIGEgZ3JvdXAgYm9va2luZy5cbiAgKi9cbiAgQElucHV0KCkgZ3JvdXBCb29raW5nTGltaXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIHRpdGxlIHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGUgZHJvcGRvd24uXG4gICovXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBsYWJlbCBmb3IgdGhlIGFkdWx0cyBwYXNzZW5nZXIgdHlwZS5cbiAgKi9cbiAgQElucHV0KCkgYWR1bHRzTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGxhYmVsIGZvciB0aGUgY2hpbGRyZW4gcGFzc2VuZ2VyIHR5cGUuXG4gICovXG4gIEBJbnB1dCgpIGNoaWxkcmVuTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbGFiZWwgZm9yIHRoZSBpbmZhbnRzIHBhc3NlbmdlciB0eXBlLlxuICAgKi9cbiAgQElucHV0KCkgaW5mYW50c0xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gKiBAcHJvcGVydHkgSW5wdXRcbiAqIEBkZXNjcmlwdGlvblxuICogQSBsYWJlbCBmb3IgdGhlIGFkdWx0cyBwYXNzZW5nZXIgdHlwZS5cbiovXG4gIEBJbnB1dCgpIHlvdXRoc0xhYmVsOiBzdHJpbmc7XG5cbi8qKlxuICogQHByb3BlcnR5IElucHV0XG4gKiBAZGVzY3JpcHRpb25cbiAqIEEgbGFiZWwgZm9yIHRoZSBhZHVsdHMgcGFzc2VuZ2VyIHR5cGUuXG4qL1xuICBASW5wdXQoKSB5b3VuZ0FkdWx0c0xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBsYWJlbCB0aGF0IHdpbGwgYXBwZWFyIHdoZW4gdG90YWwgbnVtYmVyIG9mIHNlbGVjdGVkIHBhc3NlbmdlcnMgZXhjZWVkcyB0aGUgZ3JvdXAgYm9va2luZyBsaW1pdFxuICAqL1xuICBASW5wdXQoKSBncm91cEJvb2tpbmdMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZHMgdGhlIHBhcmVudCdzIGZvcm0gZ3JvdXAuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IGlzIHJlcXVpZXJlZCB0byBiZSBmaWxsZWQgaWYgbmFzRm9ybUNvbnRyb2xOYW1lIGFkZGVkLlxuICAqL1xuICBASW5wdXQoKSBuYXNGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGEgZm9ybUNvbnRyb2xOYW1lIGRpcmVjdGl2ZSB0byB0aGUgaW5wdXQuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IHJlcXVpZXJzIHRoYXQgdGhlIG5hc0Zvcm1Hcm91cCBpbnB1dCBpcyBmaWxsZWQuXG4gICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Db250cm9sR3JvdXBCb29raW5nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQVJJQSBsYWJlbCBmb3IgdGhlIHN1YnRyYWN0IGJ1dHRvbnMuXG4gICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbFN1YnRyYWN0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQVJJQSBsYWJlbCBmb3IgdGhlIGFkZCBidXR0b25zLlxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsQWRkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGV2ZW50IHRoYXQgaXMgZmlyZWQgZXZlcnkgdGltZSBhIHBhc3NlbmdlciBzZWxlY3Rpb24gY2hhbmdlIGlzIHBlcmZvcm1lZC5cbiAgKi9cbiAgQE91dHB1dCgpIHBhc3NlbmdlcnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PFBhc3NlbmdlcnNNb2RlbD4+KCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGV2ZW50IHRoYXQgaXMgZmlyZWQgZXZlcnkgdGltZSBhIHBhc3NlbmdlciBzZWxlY3Rpb24gY2hhbmdlIGlzIHBlcmZvcm1lZC5cbiAgKi9cbiAgQE91dHB1dCgpIGZvY3VzT25OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGV2ZW50IHRoYXQgaXMgZmlyZWQgZXZlcnkgdGltZSBhIHBhc3NlbmdlciBzZWxlY3Rpb24gY2hhbmdlIGlzIHBlcmZvcm1lZC5cbiAgKi9cbiAgQE91dHB1dCgpIGZvY3VzT25QcmV2aW91cyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCduYXMtcGFzc2VuZ2VyLXNlbGVjdC1uZXcnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0VG90YWxDb3VudCgpO1xuICB9XG5cbiAgZ2V0TGFiZWwodHlwZTogUGFzc2VuZ2VyVHlwZSk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFBhc3NlbmdlclR5cGUuQWR1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLmFkdWx0c0xhYmVsO1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLkNoaWxkOlxuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbkxhYmVsO1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLkluZmFudDpcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5mYW50c0xhYmVsO1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLllvdXRoOlxuICAgICAgICByZXR1cm4gdGhpcy55b3V0aHNMYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy55b3VuZ0FkdWx0c0xhYmVsO1xuICAgIH1cbiAgfVxuXG4gIGtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5wYXNzZW5nZXJzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICB0aGlzLm51bWJlckZpZWxkcy5maXJzdC5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5udW1iZXJGaWVsZHMudG9BcnJheSgpW2luZGV4ICsgMV0uaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgIHRoaXMubnVtYmVyRmllbGRzLnRvQXJyYXkoKVt0aGlzLnBhc3NlbmdlcnMubGVuZ3RoIC0gMV0uaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubnVtYmVyRmllbGRzLnRvQXJyYXkoKVtpbmRleCAtIDFdLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIGlmICghZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzT25OZXh0LmVtaXQoKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgIHRoaXMuZm9jdXNPblByZXZpb3VzLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFBhc3NlbmdlcnNDb3VudChwYXNzZW5nZXJzOiBQYXNzZW5nZXJzTW9kZWwsIGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICBwYXNzZW5nZXJzLmNvdW50ID0gY291bnQ7XG5cbiAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0KSB7XG4gICAgICBpZiAodGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSkge1xuICAgICAgICBjb25zdCBpbmZhbnRzQ291bnQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpLmNvdW50O1xuICAgICAgICBpZiAoaW5mYW50c0NvdW50ID4gcGFzc2VuZ2Vycy5jb3VudCAmJiB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpKSB7XG4gICAgICAgICAgY29uc3QgaW5mYW50ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KTtcblxuICAgICAgICAgIGlmIChpbmZhbnQpIHtcbiAgICAgICAgICAgIGluZmFudC5jb3VudCA9IHBhc3NlbmdlcnMuY291bnQ7XG5cbiAgICAgICAgICAgIGlmIChpbmZhbnQuZm9ybUdyb3VwICYmIGluZmFudC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgICAgICAgaW5mYW50LmZvcm1Hcm91cC5nZXQoaW5mYW50LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZShpbmZhbnQuY291bnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCB5b3VuZ0FkdWx0ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdCk7XG4gICAgICBjb25zdCBjaGlsZCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkNoaWxkKTtcbiAgICAgIGlmICh5b3VuZ0FkdWx0ICYmIGNoaWxkKSB7XG4gICAgICAgIGlmICggcGFzc2VuZ2Vycy5jb3VudCA9PT0gMCAmJiBjaGlsZCkge1xuXG4gICAgICAgICAgaWYgKGNoaWxkKSB7XG4gICAgICAgICAgICBjaGlsZC5jb3VudCA9IDA7XG5cbiAgICAgICAgICAgIGlmIChjaGlsZC5mb3JtR3JvdXAgJiYgY2hpbGQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgICAgIGNoaWxkLmZvcm1Hcm91cC5nZXQoY2hpbGQuZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpIHtcbiAgICAgIGlmICh0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpKSB7XG4gICAgICAgIGNvbnN0IGluZmFudHNDb3VudCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCkuY291bnQ7XG4gICAgICAgIGlmIChpbmZhbnRzQ291bnQgPiBwYXNzZW5nZXJzLmNvdW50ICYmIHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCkpIHtcbiAgICAgICAgICBjb25zdCBpbmZhbnQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpO1xuXG4gICAgICAgICAgaWYgKGluZmFudCkge1xuICAgICAgICAgICAgaW5mYW50LmNvdW50ID0gcGFzc2VuZ2Vycy5jb3VudDtcblxuICAgICAgICAgICAgaWYgKGluZmFudC5mb3JtR3JvdXAgJiYgaW5mYW50LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgICBpbmZhbnQuZm9ybUdyb3VwLmdldChpbmZhbnQuZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKGluZmFudC5jb3VudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCB8fCBwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpIHtcbiAgICAgIGNvbnN0IGFkdWx0ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQpO1xuICAgICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG5cbiAgICAgIGlmIChhZHVsdCAmJiB5b3V0aCkge1xuICAgICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIGFkdWx0LmNvdW50ID4gMCkge1xuICAgICAgICAgIGlmICh5b3V0aC5mb3JtR3JvdXAgJiYgeW91dGguZm9ybUNvbnRyb2xOYW1lICYmIHlvdXRoLmNvdW50ICE9PSAwKSB7XG4gICAgICAgICAgICB5b3V0aC5mb3JtR3JvdXAuZ2V0KHlvdXRoLmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSgwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgeW91dGguY291bnQgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCkge1xuICAgICAgICAgIGFkdWx0LmNvdW50ID0geW91dGguY291bnQgPiAwID8gMCA6IGFkdWx0LmNvdW50O1xuXG4gICAgICAgICAgaWYgKGFkdWx0LmZvcm1Hcm91cCAmJiBhZHVsdC5mb3JtQ29udHJvbE5hbWUgJiYgeW91dGguZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubWluQWR1bHRDb3VudCAmJiB5b3V0aC5jb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICBhZHVsdC5mb3JtR3JvdXAuZ2V0KGFkdWx0LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSh0aGlzLm1pbkFkdWx0Q291bnQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh5b3V0aC5jb3VudCA+IDApIHtcbiAgICAgICAgICAgICAgYWR1bHQuZm9ybUdyb3VwLmdldChhZHVsdC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0IHx8IHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCkge1xuICAgICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG5cbiAgICAgIGlmICh5b3VuZ0FkdWx0ICYmIHlvdXRoKSB7XG4gICAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGggJiYgeW91dGguY291bnQgPiAwKSB7XG4gICAgICAgICAgaWYgKHlvdW5nQWR1bHQuZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSAmJiB5b3VuZ0FkdWx0LmNvdW50ICE9PSAwKSB7XG4gICAgICAgICAgICB5b3VuZ0FkdWx0LmZvcm1Hcm91cC5nZXQoeW91dGguZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB5b3VuZ0FkdWx0LmNvdW50ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdCkge1xuICAgICAgICAgIHlvdXRoLmNvdW50ID0geW91bmdBZHVsdC5jb3VudCA+IDAgPyAwIDogeW91dGguY291bnQ7XG5cbiAgICAgICAgICBpZiAoeW91dGguZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSAmJiB5b3VuZ0FkdWx0LmZvcm1Hcm91cCAmJiB5b3VuZ0FkdWx0LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubWluQWR1bHRDb3VudCAmJiB5b3VuZ0FkdWx0LmNvdW50ID09PSAwKSB7XG4gICAgICAgICAgICAgIHlvdXRoLmZvcm1Hcm91cC5nZXQoeW91dGguZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKHRoaXMubWluQWR1bHRDb3VudCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHlvdXRoLmNvdW50ID4gMCkge1xuICAgICAgICAgICAgICB5b3V0aC5mb3JtR3JvdXAuZ2V0KHlvdXRoLmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFRvdGFsQ291bnQoKTtcbiAgICB0aGlzLnBhc3NlbmdlcnNDaGFuZ2UuZW1pdCh0aGlzLnBhc3NlbmdlcnMpO1xuICB9XG5cbiAgZ2V0TWF4KHBhc3NlbmdlcnM6IFBhc3NlbmdlcnNNb2RlbCk6IG51bWJlciB7XG4gICAgaWYocGFzc2VuZ2Vycz8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBwYXNzZW5nZXJzPy5jb3VudDtcbiAgICB9XG5cbiAgICBjb25zdCBhZHVsdHMgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGhzID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpO1xuICAgIGNvbnN0IHlvdW5nQWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0KTtcblxuICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSB7XG4gICAgICBpZiAoYWR1bHRzICYmIGFkdWx0cy5jb3VudCA+IDApIHtcbiAgICAgICAgaWYgKCFhZHVsdHMuZm9ybUdyb3VwIHx8ICFhZHVsdHMuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIGFkdWx0cy5jb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFkdWx0c0Zvcm1Db250cm9sID0gYWR1bHRzLmZvcm1Hcm91cC5nZXQoYWR1bHRzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCFhZHVsdHNGb3JtQ29udHJvbCkge1xuICAgICAgICAgIHJldHVybiBhZHVsdHMuY291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWR1bHRzRm9ybUNvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoeW91dGhzICYmIHlvdXRocy5jb3VudCA+IDApIHtcbiAgICAgICAgaWYgKCF5b3V0aHMuZm9ybUdyb3VwIHx8ICF5b3V0aHMuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHlvdXRocy5jb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHlvdXRoc0Zvcm1Db250cm9sID0geW91dGhzLmZvcm1Hcm91cC5nZXQoeW91dGhzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCF5b3V0aHNGb3JtQ29udHJvbCkge1xuICAgICAgICAgIHJldHVybiB5b3V0aHMuY291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geW91dGhzRm9ybUNvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoeW91bmdBZHVsdCAmJiAoYWR1bHRzICYmIGFkdWx0cy5jb3VudCA8PSAwKSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgaWYgKHlvdW5nQWR1bHQgJiYgKHlvdXRocyAmJiB5b3V0aHMuY291bnQgPD0gMCkpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAwO1xuXG4gICAgfSBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQ2hpbGQgJiYgdGhpcy50b3RhbENvdW50IDwgMTApIHsgXG4gICAgICBpZiAoYWR1bHRzICYmIHlvdW5nQWR1bHQpIHtcbiAgICAgICAgaWYgKGFkdWx0cy5jb3VudCA8PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh5b3V0aHMgJiYgeW91bmdBZHVsdCkge1xuICAgICAgICBpZiAoeW91dGhzLmNvdW50IDw9IDApIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy50b3RhbENvdW50ID49IHRoaXMubWF4UGF4Q291bnQpIHtcblxuICAgICAgaWYgKCFwYXNzZW5nZXJzLmZvcm1Hcm91cCB8fCAhcGFzc2VuZ2Vycy5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHBhc3NlbmdlcnMuY291bnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhc3NlbmdlcnNGb3JtQ29udHJvbCA9IHBhc3NlbmdlcnMuZm9ybUdyb3VwLmdldChwYXNzZW5nZXJzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgIGlmICghcGFzc2VuZ2Vyc0Zvcm1Db250cm9sKSB7XG4gICAgICAgIHJldHVybiBwYXNzZW5nZXJzLmNvdW50O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFzc2VuZ2Vyc0Zvcm1Db250cm9sLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5tYXhQYXhDb3VudDtcbiAgICB9XG4gIH1cblxuICBnZXRNaW4ocGFzc2VuZ2VyczogUGFzc2VuZ2Vyc01vZGVsKTogbnVtYmVyIHtcbiAgICBpZiAocGFzc2VuZ2Vycz8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBwYXNzZW5nZXJzPy5jb3VudDtcbiAgICB9XG4gICAgY29uc3QgYWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG4gICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCAmJiB5b3V0aCkge1xuICAgICAgY29uc3QgbWluID0gIXRoaXMubWluQWR1bHRDb3VudCA/IDAgOiB0aGlzLm1pbkFkdWx0Q291bnQ7XG4gICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIGFkdWx0LmNvdW50IDwgbWluICYmIHlvdXRoLmNvdW50ID09PSAwKSB7XG4gICAgICAgIHBhc3NlbmdlcnMuY291bnQgPSBtaW47XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIGFkdWx0LmZvcm1Hcm91cCAmJiBhZHVsdC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIG1pbjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCAmJiB5b3VuZ0FkdWx0KSB7XG4gICAgICBjb25zdCBtaW4gPSAhdGhpcy5taW5BZHVsdENvdW50ID8gMCA6IHRoaXMubWluQWR1bHRDb3VudDtcbiAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGggJiYgeW91dGguY291bnQgPCBtaW4gJiYgeW91bmdBZHVsdC5jb3VudCA9PT0gMCkge1xuICAgICAgICBwYXNzZW5nZXJzLmNvdW50ID0gbWluO1xuICAgICAgICByZXR1cm4gbWluO1xuICAgICAgfVxuICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCAmJiB5b3V0aC5mb3JtR3JvdXAgJiYgeW91dGguZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghYWR1bHQgJiYgcGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBjb25zdCBtaW4gPSAhdGhpcy5taW5BZHVsdENvdW50ID8gMCA6IHRoaXMubWluQWR1bHRDb3VudDtcbiAgICAgIHJldHVybiBtaW47XG4gICAgfSBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQgJiYgeW91bmdBZHVsdCkge1xuICAgICAgaWYgKHlvdW5nQWR1bHQuY291bnQgPiAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubWluQWR1bHRDb3VudDtcbiAgICB9IGVsc2UgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0ICYmIGFkdWx0KSB7XG4gICAgICBpZiAoYWR1bHQuY291bnQgPiAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubWluQWR1bHRDb3VudDtcbiAgICB9ICBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQpIHtcbiAgICAgIHJldHVybiB0aGlzLm1pbkFkdWx0Q291bnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIHNldFRvdGFsQ291bnQoKSB7XG4gICAgY29uc3QgYWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG4gICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgIGNvbnN0IGNoaWxkID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQ2hpbGQpO1xuXG4gICAgbGV0IGFkdWx0Q291bnQgPSAwO1xuICAgIGxldCB5b3V0aENvdW50ID0gMDtcbiAgICBsZXQgeW91bmdBZHVsdENvdW50ID0gMDtcbiAgICBsZXQgY2hpbGRDb3VudCA9IDA7XG5cbiAgICBpZiAoYWR1bHQpIHtcblxuICAgICAgaWYgKCFhZHVsdC5mb3JtR3JvdXAgfHwgIWFkdWx0LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICBhZHVsdENvdW50ID0gYWR1bHQuY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBhZHVsdHNDb250cm9sID0gYWR1bHQuZm9ybUdyb3VwLmdldChhZHVsdC5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICghYWR1bHRzQ29udHJvbCkge1xuICAgICAgICAgIGFkdWx0Q291bnQgPSBhZHVsdC5jb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhZHVsdENvdW50ID0gYWR1bHRzQ29udHJvbC52YWx1ZSBhcyBudW1iZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoeW91dGgpIHtcbiAgICAgIGlmICgheW91dGguZm9ybUdyb3VwIHx8ICF5b3V0aC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgeW91dGhDb3VudCA9IHlvdXRoLmNvdW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgeW91dGhzQ29udHJvbCA9IHlvdXRoLmZvcm1Hcm91cC5nZXQoeW91dGguZm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgICBpZiAoIXlvdXRoc0NvbnRyb2wpIHtcbiAgICAgICAgICB5b3V0aENvdW50ID0geW91dGguY291bnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgeW91dGhDb3VudCA9IHlvdXRoc0NvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHlvdW5nQWR1bHQpIHtcbiAgICAgIGlmICgheW91bmdBZHVsdC5mb3JtR3JvdXAgfHwgIXlvdW5nQWR1bHQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIHlvdW5nQWR1bHRDb3VudCA9IHlvdW5nQWR1bHQuY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB5b3VuZ0FkdWx0c0NvbnRyb2wgPSB5b3VuZ0FkdWx0LmZvcm1Hcm91cC5nZXQoeW91bmdBZHVsdC5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICgheW91bmdBZHVsdHNDb250cm9sKSB7XG4gICAgICAgICAgeW91bmdBZHVsdENvdW50ID0geW91bmdBZHVsdC5jb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB5b3VuZ0FkdWx0Q291bnQgPSB5b3VuZ0FkdWx0c0NvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoaWxkKSB7XG4gICAgICBpZiAoIWNoaWxkLmZvcm1Hcm91cCB8fCAhY2hpbGQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIGNoaWxkQ291bnQgPSBjaGlsZC5jb3VudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNoaWxkc0NvbnRyb2wgPSBjaGlsZC5mb3JtR3JvdXAuZ2V0KGNoaWxkLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCFjaGlsZHNDb250cm9sKSB7XG4gICAgICAgICAgY2hpbGRDb3VudCA9IGNoaWxkLmNvdW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNoaWxkQ291bnQgPSBjaGlsZHNDb250cm9sLnZhbHVlIGFzIG51bWJlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudG90YWxDb3VudCA9IGFkdWx0Q291bnQgKyBjaGlsZENvdW50ICsgeW91dGhDb3VudCArIHlvdW5nQWR1bHRDb3VudDtcblxuICAgIGlmICh0aGlzLm5hc0Zvcm1Hcm91cCAmJiB0aGlzLm5hc0Zvcm1Db250cm9sR3JvdXBCb29raW5nKSB7XG4gICAgICBjb25zdCBncm91cEJvb2tpbmdDb250cm9sID0gdGhpcy5uYXNGb3JtR3JvdXAuZ2V0KHRoaXMubmFzRm9ybUNvbnRyb2xHcm91cEJvb2tpbmcpO1xuXG4gICAgICB0aGlzLmlzR3JvdXBCb29raW5nID0gdGhpcy50b3RhbENvdW50ID49IHRoaXMuZ3JvdXBCb29raW5nTGltaXQ7XG5cbiAgICAgIGlmICh0aGlzLmdyb3VwQm9va2luZ0xpbWl0IDwgMSkge1xuICAgICAgICB0aGlzLmlzR3JvdXBCb29raW5nID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChncm91cEJvb2tpbmdDb250cm9sLnZhbHVlICE9PSB0aGlzLmlzR3JvdXBCb29raW5nKSB7XG4gICAgICAgIGdyb3VwQm9va2luZ0NvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLmlzR3JvdXBCb29raW5nKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuZ3JvdXBCb29raW5nTGltaXQpIHtcbiAgICAgIHRoaXMuaXNHcm91cEJvb2tpbmcgPSB0aGlzLnRvdGFsQ291bnQgPj0gdGhpcy5ncm91cEJvb2tpbmdMaW1pdDtcbiAgICB9XG5cbiAgfVxuXG59XG4iLCI8aDIgKm5nSWY9XCJ0aXRsZVwiXG4gIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGl0bGUnLCBpc0dyb3VwQm9va2luZyAmJiAnZ3JvdXAtYm9va2luZycpXCI+e3t0aXRsZX19PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzR3JvdXBCb29raW5nXCI+OlxuICAgIDxkaXY+e3tncm91cEJvb2tpbmdMYWJlbH19PC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9oMj5cbjx1bCBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xpc3QnKVwiPlxuICA8bGkgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcGFzc2VuZ2VyczsgaW5kZXggYXMgY291bnRcIlxuICAgIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGlzdC1pdGVtJylcIj5cbiAgICA8bGFiZWwgW25hc0NsYXNzXT1cImdldENsYXNzKCdsYWJlbCcpXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0TGFiZWwoaXRlbS50eXBlKVwiPnt7Z2V0TGFiZWwoaXRlbS50eXBlKX19PC9sYWJlbD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uZm9ybUdyb3VwIHx8ICFpdGVtLmZvcm1Db250cm9sTmFtZTsgZWxzZSByZWFjdGl2ZUZvcm1cIj5cbiAgICAgIDxuYXMtbnVtYmVyLWZpZWxkLW5ldyBjb21wYWN0XG4gICAgICAgIHNwYWNlbGVzc1xuICAgICAgICBzaW1wbGVcbiAgICAgICAgW2FyaWFMYWJlbF09XCJnZXRMYWJlbChpdGVtLnR5cGUpXCJcbiAgICAgICAgW2FyaWFMYWJlbFN1YnRyYWN0XT1cImFyaWFMYWJlbFN1YnRyYWN0XCJcbiAgICAgICAgW2FyaWFMYWJlbEFkZF09XCJhcmlhTGFiZWxBZGRcIlxuICAgICAgICBbbnVtYmVyXT1cIml0ZW0uY291bnRcIlxuICAgICAgICBbbWF4XT1cImdldE1heChpdGVtKVwiXG4gICAgICAgIFttaW5dPVwiZ2V0TWluKGl0ZW0pXCJcbiAgICAgICAgKG51bWJlckNoYW5nZSk9XCJzZXRQYXNzZW5nZXJzQ291bnQoaXRlbSwgJGV2ZW50KVwiXG4gICAgICAgIChrZXlkb3duKT1cImtleURvd24oJGV2ZW50LCBjb3VudClcIj48L25hcy1udW1iZXItZmllbGQtbmV3PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSAjcmVhY3RpdmVGb3JtPlxuICAgICAgPG5hcy1udW1iZXItZmllbGQtbmV3IGNvbXBhY3RcbiAgICAgICAgc3BhY2VsZXNzXG4gICAgICAgIHNpbXBsZVxuICAgICAgICBbYXJpYUxhYmVsXT1cImdldExhYmVsKGl0ZW0udHlwZSlcIlxuICAgICAgICBbYXJpYUxhYmVsU3VidHJhY3RdPVwiYXJpYUxhYmVsU3VidHJhY3RcIlxuICAgICAgICBbYXJpYUxhYmVsQWRkXT1cImFyaWFMYWJlbEFkZFwiXG4gICAgICAgIFtuYXNGb3JtR3JvdXBdPVwiaXRlbS5mb3JtR3JvdXBcIlxuICAgICAgICBbbmFzRm9ybUNvbnRyb2xOYW1lXT1cIml0ZW0uZm9ybUNvbnRyb2xOYW1lXCJcbiAgICAgICAgW251bWJlcl09XCJpdGVtLmZvcm1Hcm91cD8uZ2V0KGl0ZW0uZm9ybUNvbnRyb2xOYW1lKT8udmFsdWVcIlxuICAgICAgICBbbWF4XT1cImdldE1heChpdGVtKVwiXG4gICAgICAgIFttaW5dPVwiZ2V0TWluKGl0ZW0pXCJcbiAgICAgICAgKGtleWRvd24pPVwia2V5RG93bigkZXZlbnQsIGNvdW50KVwiXG4gICAgICAgIChudW1iZXJDaGFuZ2UpPVwic2V0UGFzc2VuZ2Vyc0NvdW50KGl0ZW0sICRldmVudClcIj48L25hcy1udW1iZXItZmllbGQtbmV3PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbGk+XG48L3VsPiJdfQ==
417
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc2VuZ2VyLXNlbGVjdC1uZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS1jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9wYXNzZW5nZXItc2VsZWN0LW5ldy9wYXNzZW5nZXItc2VsZWN0LW5ldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Bhc3Nlbmdlci1zZWxlY3QtbmV3L3Bhc3Nlbmdlci1zZWxlY3QtbmV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sWUFBWSxFQUViLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFFOUQ7OztFQUdFO0FBTUYsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGdCQUFnQjtJQXVJL0Q7UUFDRSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQWxJcEM7Ozs7VUFJRTtRQUNPLGVBQVUsR0FBRyxJQUFJLEtBQUssRUFBbUIsQ0FBQztRQXVHbkQ7Ozs7VUFJRTtRQUNRLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUEwQixDQUFDO1FBRXhFOzs7O1VBSUU7UUFDUSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFaEQ7Ozs7VUFJRTtRQUNRLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUlwRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FB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LDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwwQkFBMEI7MEVBS0csWUFBWTtzQkFBbEQsWUFBWTt1QkFBQyx1QkFBdUI7Z0JBVTVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxhQUFhO3NCQUFyQixLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFPRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxhQUFhO3NCQUFyQixLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT0csV0FBVztzQkFBbkIsS0FBSztnQkFPRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBT0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQVNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBU0csMEJBQTBCO3NCQUFsQyxLQUFLO2dCQU9HLGlCQUFpQjtzQkFBekIsS0FBSztnQkFPRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9JLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFPRyxXQUFXO3NCQUFwQixNQUFNO2dCQU9HLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgTm9yd2VnaWFuIEFpciBTaHV0dGxlLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICovXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFBhc3NlbmdlclR5cGUgfSBmcm9tICcuL2VudW1zL3Bhc3Nlbmdlci10eXBlLmVudW0nO1xuaW1wb3J0IHsgUGFzc2VuZ2Vyc01vZGVsIH0gZnJvbSAnLi9tb2RlbHMvcGFzc2VuZ2Vycy5tb2RlbCc7XG5pbXBvcnQgeyBOYXNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL25hcy1jb21wb25lbnQuYmFzZSc7XG5pbXBvcnQgeyBOdW1iZXJGaWVsZE5ld0NvbXBvbmVudCB9IGZyb20gJy4uL251bWJlci1maWVsZC1uZXcnO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIFBhc3NlbmdlciBTZWxlY3QgQ29tcG9uZW50IHwgTmV3IGRlc2lnbiB8IEJldGFcbiovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduYXMtcGFzc2VuZ2VyLXNlbGVjdC1uZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc2VuZ2VyLXNlbGVjdC1uZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYXNzZW5nZXItc2VsZWN0LW5ldy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhc3NlbmdlclNlbGVjdE5ld0NvbXBvbmVudCBleHRlbmRzIE5hc0NvbXBvbmVudEJhc2UgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkcmVuKE51bWJlckZpZWxkTmV3Q29tcG9uZW50KSBudW1iZXJGaWVsZHMhOiBRdWVyeUxpc3Q8TnVtYmVyRmllbGROZXdDb21wb25lbnQ+O1xuXG4gIHRvdGFsQ291bnQ6IG51bWJlcjtcbiAgaXNHcm91cEJvb2tpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQW4gYXJyYXkgb2YgZGlmZmVyZW50IHBhc3NlbmdlciB0eXBlcyB0aGF0IHdpbGwgYmUgZGlzcGxheWVkLlxuICAqL1xuICBASW5wdXQoKSBwYXNzZW5nZXJzID0gbmV3IEFycmF5PFBhc3NlbmdlcnNNb2RlbD4oKTtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgdG90YWwgbWF4aW11bSBhbW91bnQgb2YgcGFzc2VuZ2Vycy5cbiAgKi9cbiAgQElucHV0KCkgbWF4UGF4Q291bnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBUaGUgbWluaW11bSBhbW91bnQgb2YgYWR1bHRzIHRoYXQgY2FuIGJlIHNlbGVjdGVkLlxuICAqL1xuICBASW5wdXQoKSBtaW5BZHVsdENvdW50OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVGhlIGxpbWl0IGZvciB3aGVuIHRoZSB0b3RhbCBhbW91bnQgb2YgcGFzc2VuZ2VycyBleGNlZWRzIHRvIGJlIGEgZ3JvdXAgYm9va2luZy5cbiAgKi9cbiAgQElucHV0KCkgZ3JvdXBCb29raW5nTGltaXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIHRpdGxlIHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGUgZHJvcGRvd24uXG4gICovXG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBsYWJlbCBmb3IgdGhlIGFkdWx0cyBwYXNzZW5nZXIgdHlwZS5cbiAgKi9cbiAgQElucHV0KCkgYWR1bHRzTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBBIGxhYmVsIGZvciB0aGUgY2hpbGRyZW4gcGFzc2VuZ2VyIHR5cGUuXG4gICovXG4gIEBJbnB1dCgpIGNoaWxkcmVuTGFiZWw6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgbGFiZWwgZm9yIHRoZSBpbmZhbnRzIHBhc3NlbmdlciB0eXBlLlxuICAgKi9cbiAgQElucHV0KCkgaW5mYW50c0xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gKiBAcHJvcGVydHkgSW5wdXRcbiAqIEBkZXNjcmlwdGlvblxuICogQSBsYWJlbCBmb3IgdGhlIGFkdWx0cyBwYXNzZW5nZXIgdHlwZS5cbiovXG4gIEBJbnB1dCgpIHlvdXRoc0xhYmVsOiBzdHJpbmc7XG5cbi8qKlxuICogQHByb3BlcnR5IElucHV0XG4gKiBAZGVzY3JpcHRpb25cbiAqIEEgbGFiZWwgZm9yIHRoZSBhZHVsdHMgcGFzc2VuZ2VyIHR5cGUuXG4qL1xuICBASW5wdXQoKSB5b3VuZ0FkdWx0c0xhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQSBsYWJlbCB0aGF0IHdpbGwgYXBwZWFyIHdoZW4gdG90YWwgbnVtYmVyIG9mIHNlbGVjdGVkIHBhc3NlbmdlcnMgZXhjZWVkcyB0aGUgZ3JvdXAgYm9va2luZyBsaW1pdFxuICAqL1xuICBASW5wdXQoKSBncm91cEJvb2tpbmdMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFkZHMgdGhlIHBhcmVudCdzIGZvcm0gZ3JvdXAuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IGlzIHJlcXVpZXJlZCB0byBiZSBmaWxsZWQgaWYgbmFzRm9ybUNvbnRyb2xOYW1lIGFkZGVkLlxuICAqL1xuICBASW5wdXQoKSBuYXNGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIGEgZm9ybUNvbnRyb2xOYW1lIGRpcmVjdGl2ZSB0byB0aGUgaW5wdXQuXG4gICAqIEl0IHJlcXVpcmVzIHRoYXQgdGhlIGNvbnN1bWVyIGluY2x1ZGVkIFJlYWN0aXZlRm9ybXNNb2R1bGUgaW4gaXQncyBtb2R1bGUuXG4gICAqIEl0IHJlcXVpZXJzIHRoYXQgdGhlIG5hc0Zvcm1Hcm91cCBpbnB1dCBpcyBmaWxsZWQuXG4gICovXG4gIEBJbnB1dCgpIG5hc0Zvcm1Db250cm9sR3JvdXBCb29raW5nOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQVJJQSBsYWJlbCBmb3IgdGhlIHN1YnRyYWN0IGJ1dHRvbnMuXG4gICovXG4gIEBJbnB1dCgpIGFyaWFMYWJlbFN1YnRyYWN0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQVJJQSBsYWJlbCBmb3IgdGhlIGFkZCBidXR0b25zLlxuICAgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsQWRkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGV2ZW50IHRoYXQgaXMgZmlyZWQgZXZlcnkgdGltZSBhIHBhc3NlbmdlciBzZWxlY3Rpb24gY2hhbmdlIGlzIHBlcmZvcm1lZC5cbiAgKi9cbiAgQE91dHB1dCgpIHBhc3NlbmdlcnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PFBhc3NlbmdlcnNNb2RlbD4+KCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGV2ZW50IHRoYXQgaXMgZmlyZWQgZXZlcnkgdGltZSBhIHBhc3NlbmdlciBzZWxlY3Rpb24gY2hhbmdlIGlzIHBlcmZvcm1lZC5cbiAgKi9cbiAgQE91dHB1dCgpIGZvY3VzT25OZXh0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBPdXRwdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEFuIGV2ZW50IHRoYXQgaXMgZmlyZWQgZXZlcnkgdGltZSBhIHBhc3NlbmdlciBzZWxlY3Rpb24gY2hhbmdlIGlzIHBlcmZvcm1lZC5cbiAgKi9cbiAgQE91dHB1dCgpIGZvY3VzT25QcmV2aW91cyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCduYXMtcGFzc2VuZ2VyLXNlbGVjdC1uZXcnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0VG90YWxDb3VudCgpO1xuICB9XG5cbiAgZ2V0TGFiZWwodHlwZTogUGFzc2VuZ2VyVHlwZSk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFBhc3NlbmdlclR5cGUuQWR1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLmFkdWx0c0xhYmVsO1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLkNoaWxkOlxuICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbkxhYmVsO1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLkluZmFudDpcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5mYW50c0xhYmVsO1xuICAgICAgY2FzZSBQYXNzZW5nZXJUeXBlLllvdXRoOlxuICAgICAgICByZXR1cm4gdGhpcy55b3V0aHNMYWJlbDtcbiAgICAgIGNhc2UgUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0OlxuICAgICAgICByZXR1cm4gdGhpcy55b3VuZ0FkdWx0c0xhYmVsO1xuICAgIH1cbiAgfVxuXG4gIGtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgc3dpdGNoIChldmVudC5rZXkpIHtcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgIGlmIChpbmRleCA9PT0gdGhpcy5wYXNzZW5nZXJzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICB0aGlzLm51bWJlckZpZWxkcy5maXJzdC5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5udW1iZXJGaWVsZHMudG9BcnJheSgpW2luZGV4ICsgMV0uaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQXJyb3dVcCc6XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgIHRoaXMubnVtYmVyRmllbGRzLnRvQXJyYXkoKVt0aGlzLnBhc3NlbmdlcnMubGVuZ3RoIC0gMV0uaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubnVtYmVyRmllbGRzLnRvQXJyYXkoKVtpbmRleCAtIDFdLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RhYic6XG4gICAgICAgIGlmICghZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICB0aGlzLmZvY3VzT25OZXh0LmVtaXQoKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5zaGlmdEtleSkge1xuICAgICAgICAgIHRoaXMuZm9jdXNPblByZXZpb3VzLmVtaXQoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFBhc3NlbmdlcnNDb3VudChwYXNzZW5nZXJzOiBQYXNzZW5nZXJzTW9kZWwsIGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICBwYXNzZW5nZXJzLmNvdW50ID0gY291bnQ7XG5cbiAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0KSB7XG4gICAgICBpZiAodGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSkge1xuICAgICAgICBjb25zdCBpbmZhbnRzQ291bnQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpLmNvdW50O1xuICAgICAgICBpZiAoaW5mYW50c0NvdW50ID4gcGFzc2VuZ2Vycy5jb3VudCAmJiB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpKSB7XG4gICAgICAgICAgY29uc3QgaW5mYW50ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KTtcblxuICAgICAgICAgIGlmIChpbmZhbnQpIHtcbiAgICAgICAgICAgIGluZmFudC5jb3VudCA9IHBhc3NlbmdlcnMuY291bnQ7XG5cbiAgICAgICAgICAgIGlmIChpbmZhbnQuZm9ybUdyb3VwICYmIGluZmFudC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgICAgICAgaW5mYW50LmZvcm1Hcm91cC5nZXQoaW5mYW50LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZShpbmZhbnQuY291bnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCB5b3VuZ0FkdWx0ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdCk7XG4gICAgICBjb25zdCBjaGlsZCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkNoaWxkKTtcbiAgICAgIGlmICh5b3VuZ0FkdWx0ICYmIGNoaWxkKSB7XG4gICAgICAgIGlmICggcGFzc2VuZ2Vycy5jb3VudCA9PT0gMCAmJiBjaGlsZCkge1xuXG4gICAgICAgICAgaWYgKGNoaWxkKSB7XG4gICAgICAgICAgICBjaGlsZC5jb3VudCA9IDA7XG5cbiAgICAgICAgICAgIGlmIChjaGlsZC5mb3JtR3JvdXAgJiYgY2hpbGQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgICAgIGNoaWxkLmZvcm1Hcm91cC5nZXQoY2hpbGQuZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpIHtcbiAgICAgIGlmICh0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpKSB7XG4gICAgICAgIGNvbnN0IGluZmFudHNDb3VudCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCkuY291bnQ7XG4gICAgICAgIGlmIChpbmZhbnRzQ291bnQgPiBwYXNzZW5nZXJzLmNvdW50ICYmIHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLkluZmFudCkpIHtcbiAgICAgICAgICBjb25zdCBpbmZhbnQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5JbmZhbnQpO1xuXG4gICAgICAgICAgaWYgKGluZmFudCkge1xuICAgICAgICAgICAgaW5mYW50LmNvdW50ID0gcGFzc2VuZ2Vycy5jb3VudDtcblxuICAgICAgICAgICAgaWYgKGluZmFudC5mb3JtR3JvdXAgJiYgaW5mYW50LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgICBpbmZhbnQuZm9ybUdyb3VwLmdldChpbmZhbnQuZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKGluZmFudC5jb3VudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCB8fCBwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpIHtcbiAgICAgIGNvbnN0IGFkdWx0ID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQpO1xuICAgICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG5cbiAgICAgIGlmIChhZHVsdCAmJiB5b3V0aCkge1xuICAgICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIGFkdWx0LmNvdW50ID4gMCkge1xuICAgICAgICAgIGlmICh5b3V0aC5mb3JtR3JvdXAgJiYgeW91dGguZm9ybUNvbnRyb2xOYW1lICYmIHlvdXRoLmNvdW50ICE9PSAwKSB7XG4gICAgICAgICAgICB5b3V0aC5mb3JtR3JvdXAuZ2V0KHlvdXRoLmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSgwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgeW91dGguY291bnQgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCkge1xuICAgICAgICAgIGFkdWx0LmNvdW50ID0geW91dGguY291bnQgPiAwID8gMCA6IGFkdWx0LmNvdW50O1xuXG4gICAgICAgICAgaWYgKGFkdWx0LmZvcm1Hcm91cCAmJiBhZHVsdC5mb3JtQ29udHJvbE5hbWUgJiYgeW91dGguZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubWluQWR1bHRDb3VudCAmJiB5b3V0aC5jb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgICBhZHVsdC5mb3JtR3JvdXAuZ2V0KGFkdWx0LmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSh0aGlzLm1pbkFkdWx0Q291bnQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh5b3V0aC5jb3VudCA+IDApIHtcbiAgICAgICAgICAgICAgYWR1bHQuZm9ybUdyb3VwLmdldChhZHVsdC5mb3JtQ29udHJvbE5hbWUpLnBhdGNoVmFsdWUoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0IHx8IHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCkge1xuICAgICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG5cbiAgICAgIGlmICh5b3VuZ0FkdWx0ICYmIHlvdXRoKSB7XG4gICAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGggJiYgeW91dGguY291bnQgPiAwKSB7XG4gICAgICAgICAgaWYgKHlvdW5nQWR1bHQuZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSAmJiB5b3VuZ0FkdWx0LmNvdW50ICE9PSAwKSB7XG4gICAgICAgICAgICB5b3VuZ0FkdWx0LmZvcm1Hcm91cC5nZXQoeW91dGguZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB5b3VuZ0FkdWx0LmNvdW50ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91bmdBZHVsdCkge1xuICAgICAgICAgIHlvdXRoLmNvdW50ID0geW91bmdBZHVsdC5jb3VudCA+IDAgPyAwIDogeW91dGguY291bnQ7XG5cbiAgICAgICAgICBpZiAoeW91dGguZm9ybUdyb3VwICYmIHlvdXRoLmZvcm1Db250cm9sTmFtZSAmJiB5b3VuZ0FkdWx0LmZvcm1Hcm91cCAmJiB5b3VuZ0FkdWx0LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubWluQWR1bHRDb3VudCAmJiB5b3VuZ0FkdWx0LmNvdW50ID09PSAwKSB7XG4gICAgICAgICAgICAgIHlvdXRoLmZvcm1Hcm91cC5nZXQoeW91dGguZm9ybUNvbnRyb2xOYW1lKS5wYXRjaFZhbHVlKHRoaXMubWluQWR1bHRDb3VudCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHlvdXRoLmNvdW50ID4gMCkge1xuICAgICAgICAgICAgICB5b3V0aC5mb3JtR3JvdXAuZ2V0KHlvdXRoLmZvcm1Db250cm9sTmFtZSkucGF0Y2hWYWx1ZSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNldFRvdGFsQ291bnQoKTtcbiAgICB0aGlzLnBhc3NlbmdlcnNDaGFuZ2UuZW1pdCh0aGlzLnBhc3NlbmdlcnMpO1xuICB9XG5cbiAgZ2V0TWF4KHBhc3NlbmdlcnM6IFBhc3NlbmdlcnNNb2RlbCk6IG51bWJlciB7XG4gICAgaWYocGFzc2VuZ2Vycz8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBwYXNzZW5nZXJzPy5jb3VudDtcbiAgICB9XG5cbiAgICBjb25zdCBhZHVsdHMgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGhzID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGgpO1xuICAgIGNvbnN0IHlvdW5nQWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0KTtcblxuICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuSW5mYW50KSB7XG4gICAgICBpZiAoYWR1bHRzICYmIGFkdWx0cy5jb3VudCA+IDApIHtcbiAgICAgICAgaWYgKCFhZHVsdHMuZm9ybUdyb3VwIHx8ICFhZHVsdHMuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIGFkdWx0cy5jb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFkdWx0c0Zvcm1Db250cm9sID0gYWR1bHRzLmZvcm1Hcm91cC5nZXQoYWR1bHRzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCFhZHVsdHNGb3JtQ29udHJvbCkge1xuICAgICAgICAgIHJldHVybiBhZHVsdHMuY291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWR1bHRzRm9ybUNvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoeW91dGhzICYmIHlvdXRocy5jb3VudCA+IDApIHtcbiAgICAgICAgaWYgKCF5b3V0aHMuZm9ybUdyb3VwIHx8ICF5b3V0aHMuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgICAgcmV0dXJuIHlvdXRocy5jb3VudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHlvdXRoc0Zvcm1Db250cm9sID0geW91dGhzLmZvcm1Hcm91cC5nZXQoeW91dGhzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCF5b3V0aHNGb3JtQ29udHJvbCkge1xuICAgICAgICAgIHJldHVybiB5b3V0aHMuY291bnQ7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geW91dGhzRm9ybUNvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgfVxuXG4gICAgICBpZiAoeW91bmdBZHVsdCAmJiAoYWR1bHRzICYmIGFkdWx0cy5jb3VudCA8PSAwKSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgaWYgKHlvdW5nQWR1bHQgJiYgKHlvdXRocyAmJiB5b3V0aHMuY291bnQgPD0gMCkpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAwO1xuXG4gICAgfSBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQ2hpbGQgJiYgdGhpcy50b3RhbENvdW50IDwgMTApIHsgXG4gICAgICBpZiAoYWR1bHRzICYmIHlvdW5nQWR1bHQpIHtcbiAgICAgICAgaWYgKGFkdWx0cy5jb3VudCA8PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh5b3V0aHMgJiYgeW91bmdBZHVsdCkge1xuICAgICAgICBpZiAoeW91dGhzLmNvdW50IDw9IDApIHtcbiAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy50b3RhbENvdW50ID49IHRoaXMubWF4UGF4Q291bnQpIHtcblxuICAgICAgaWYgKCFwYXNzZW5nZXJzLmZvcm1Hcm91cCB8fCAhcGFzc2VuZ2Vycy5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHBhc3NlbmdlcnMuY291bnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBhc3NlbmdlcnNGb3JtQ29udHJvbCA9IHBhc3NlbmdlcnMuZm9ybUdyb3VwLmdldChwYXNzZW5nZXJzLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgIGlmICghcGFzc2VuZ2Vyc0Zvcm1Db250cm9sKSB7XG4gICAgICAgIHJldHVybiBwYXNzZW5nZXJzLmNvdW50O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFzc2VuZ2Vyc0Zvcm1Db250cm9sLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5tYXhQYXhDb3VudDtcbiAgICB9XG4gIH1cblxuICBnZXRNaW4ocGFzc2VuZ2VyczogUGFzc2VuZ2Vyc01vZGVsKTogbnVtYmVyIHtcbiAgICBpZiAocGFzc2VuZ2Vycz8uZGlzYWJsZWQpIHtcbiAgICAgIHJldHVybiBwYXNzZW5nZXJzPy5jb3VudDtcbiAgICB9XG4gICAgY29uc3QgYWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG4gICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuXG4gICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCAmJiB5b3V0aCkge1xuICAgICAgY29uc3QgbWluID0gIXRoaXMubWluQWR1bHRDb3VudCA/IDAgOiB0aGlzLm1pbkFkdWx0Q291bnQ7XG4gICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIGFkdWx0LmNvdW50IDwgbWluICYmIHlvdXRoLmNvdW50ID09PSAwKSB7XG4gICAgICAgIHBhc3NlbmdlcnMuY291bnQgPSBtaW47XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgICBpZiAocGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLkFkdWx0ICYmIGFkdWx0LmZvcm1Hcm91cCAmJiBhZHVsdC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgcmV0dXJuIG1pbjtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCAmJiB5b3VuZ0FkdWx0KSB7XG4gICAgICBjb25zdCBtaW4gPSAhdGhpcy5taW5BZHVsdENvdW50ID8gMCA6IHRoaXMubWluQWR1bHRDb3VudDtcbiAgICAgIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuWW91dGggJiYgeW91dGguY291bnQgPCBtaW4gJiYgeW91bmdBZHVsdC5jb3VudCA9PT0gMCkge1xuICAgICAgICBwYXNzZW5nZXJzLmNvdW50ID0gbWluO1xuICAgICAgICByZXR1cm4gbWluO1xuICAgICAgfVxuICAgICAgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCAmJiB5b3V0aC5mb3JtR3JvdXAgJiYgeW91dGguZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIHJldHVybiBtaW47XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghYWR1bHQgJiYgcGFzc2VuZ2Vycy50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdXRoKSB7XG4gICAgICBjb25zdCBtaW4gPSAhdGhpcy5taW5BZHVsdENvdW50ID8gMCA6IHRoaXMubWluQWR1bHRDb3VudDtcbiAgICAgIHJldHVybiBtaW47XG4gICAgfSBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQgJiYgeW91bmdBZHVsdCkge1xuICAgICAgaWYgKHlvdW5nQWR1bHQuY291bnQgPiAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubWluQWR1bHRDb3VudDtcbiAgICB9IGVsc2UgaWYgKHBhc3NlbmdlcnMudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3VuZ0FkdWx0ICYmIGFkdWx0KSB7XG4gICAgICBpZiAoYWR1bHQuY291bnQgPiAwKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubWluQWR1bHRDb3VudDtcbiAgICB9ICBlbHNlIGlmIChwYXNzZW5nZXJzLnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQWR1bHQpIHtcbiAgICAgIHJldHVybiB0aGlzLm1pbkFkdWx0Q291bnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICBwcml2YXRlIHNldFRvdGFsQ291bnQoKSB7XG4gICAgY29uc3QgYWR1bHQgPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5BZHVsdCk7XG4gICAgY29uc3QgeW91dGggPSB0aGlzLnBhc3NlbmdlcnMuZmluZCh4ID0+IHgudHlwZSA9PT0gUGFzc2VuZ2VyVHlwZS5Zb3V0aCk7XG4gICAgY29uc3QgeW91bmdBZHVsdCA9IHRoaXMucGFzc2VuZ2Vycy5maW5kKHggPT4geC50eXBlID09PSBQYXNzZW5nZXJUeXBlLllvdW5nQWR1bHQpO1xuICAgIGNvbnN0IGNoaWxkID0gdGhpcy5wYXNzZW5nZXJzLmZpbmQoeCA9PiB4LnR5cGUgPT09IFBhc3NlbmdlclR5cGUuQ2hpbGQpO1xuXG4gICAgbGV0IGFkdWx0Q291bnQgPSAwO1xuICAgIGxldCB5b3V0aENvdW50ID0gMDtcbiAgICBsZXQgeW91bmdBZHVsdENvdW50ID0gMDtcbiAgICBsZXQgY2hpbGRDb3VudCA9IDA7XG5cbiAgICBpZiAoYWR1bHQpIHtcblxuICAgICAgaWYgKCFhZHVsdC5mb3JtR3JvdXAgfHwgIWFkdWx0LmZvcm1Db250cm9sTmFtZSkge1xuICAgICAgICBhZHVsdENvdW50ID0gYWR1bHQuY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBhZHVsdHNDb250cm9sID0gYWR1bHQuZm9ybUdyb3VwLmdldChhZHVsdC5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICghYWR1bHRzQ29udHJvbCkge1xuICAgICAgICAgIGFkdWx0Q291bnQgPSBhZHVsdC5jb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhZHVsdENvdW50ID0gYWR1bHRzQ29udHJvbC52YWx1ZSBhcyBudW1iZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoeW91dGgpIHtcbiAgICAgIGlmICgheW91dGguZm9ybUdyb3VwIHx8ICF5b3V0aC5mb3JtQ29udHJvbE5hbWUpIHtcbiAgICAgICAgeW91dGhDb3VudCA9IHlvdXRoLmNvdW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgeW91dGhzQ29udHJvbCA9IHlvdXRoLmZvcm1Hcm91cC5nZXQoeW91dGguZm9ybUNvbnRyb2xOYW1lKTtcblxuICAgICAgICBpZiAoIXlvdXRoc0NvbnRyb2wpIHtcbiAgICAgICAgICB5b3V0aENvdW50ID0geW91dGguY291bnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgeW91dGhDb3VudCA9IHlvdXRoc0NvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHlvdW5nQWR1bHQpIHtcbiAgICAgIGlmICgheW91bmdBZHVsdC5mb3JtR3JvdXAgfHwgIXlvdW5nQWR1bHQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIHlvdW5nQWR1bHRDb3VudCA9IHlvdW5nQWR1bHQuY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB5b3VuZ0FkdWx0c0NvbnRyb2wgPSB5b3VuZ0FkdWx0LmZvcm1Hcm91cC5nZXQoeW91bmdBZHVsdC5mb3JtQ29udHJvbE5hbWUpO1xuXG4gICAgICAgIGlmICgheW91bmdBZHVsdHNDb250cm9sKSB7XG4gICAgICAgICAgeW91bmdBZHVsdENvdW50ID0geW91bmdBZHVsdC5jb3VudDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB5b3VuZ0FkdWx0Q291bnQgPSB5b3VuZ0FkdWx0c0NvbnRyb2wudmFsdWUgYXMgbnVtYmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoaWxkKSB7XG4gICAgICBpZiAoIWNoaWxkLmZvcm1Hcm91cCB8fCAhY2hpbGQuZm9ybUNvbnRyb2xOYW1lKSB7XG4gICAgICAgIGNoaWxkQ291bnQgPSBjaGlsZC5jb3VudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNoaWxkc0NvbnRyb2wgPSBjaGlsZC5mb3JtR3JvdXAuZ2V0KGNoaWxkLmZvcm1Db250cm9sTmFtZSk7XG5cbiAgICAgICAgaWYgKCFjaGlsZHNDb250cm9sKSB7XG4gICAgICAgICAgY2hpbGRDb3VudCA9IGNoaWxkLmNvdW50O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNoaWxkQ291bnQgPSBjaGlsZHNDb250cm9sLnZhbHVlIGFzIG51bWJlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMudG90YWxDb3VudCA9IGFkdWx0Q291bnQgKyBjaGlsZENvdW50ICsgeW91dGhDb3VudCArIHlvdW5nQWR1bHRDb3VudDtcblxuICAgIGlmICh0aGlzLm5hc0Zvcm1Hcm91cCAmJiB0aGlzLm5hc0Zvcm1Db250cm9sR3JvdXBCb29raW5nKSB7XG4gICAgICBjb25zdCBncm91cEJvb2tpbmdDb250cm9sID0gdGhpcy5uYXNGb3JtR3JvdXAuZ2V0KHRoaXMubmFzRm9ybUNvbnRyb2xHcm91cEJvb2tpbmcpO1xuXG4gICAgICB0aGlzLmlzR3JvdXBCb29raW5nID0gdGhpcy50b3RhbENvdW50ID49IHRoaXMuZ3JvdXBCb29raW5nTGltaXQ7XG5cbiAgICAgIGlmICh0aGlzLmdyb3VwQm9va2luZ0xpbWl0IDwgMSkge1xuICAgICAgICB0aGlzLmlzR3JvdXBCb29raW5nID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChncm91cEJvb2tpbmdDb250cm9sLnZhbHVlICE9PSB0aGlzLmlzR3JvdXBCb29raW5nKSB7XG4gICAgICAgIGdyb3VwQm9va2luZ0NvbnRyb2wucGF0Y2hWYWx1ZSh0aGlzLmlzR3JvdXBCb29raW5nKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMuZ3JvdXBCb29raW5nTGltaXQpIHtcbiAgICAgIHRoaXMuaXNHcm91cEJvb2tpbmcgPSB0aGlzLnRvdGFsQ291bnQgPj0gdGhpcy5ncm91cEJvb2tpbmdMaW1pdDtcbiAgICB9XG5cbiAgfVxuXG59XG4iLCI8aDIgKm5nSWY9XCJ0aXRsZSB8fCBpc0dyb3VwQm9va2luZ1wiIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGl0bGUnKVwiPlxuICAgIDxzcGFuICpuZ0lmPVwidGl0bGVcIj57e3RpdGxlfX08L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCJpc0dyb3VwQm9va2luZ1wiIFtuYXNDbGFzc109XCJnZXRDbGFzcygndGl0bGUtLWdyb3VwLWJvb2tpbmcnKVwiPnt7Z3JvdXBCb29raW5nTGFiZWx9fTwvc3Bhbj5cbjwvaDI+XG48dWwgW25hc0NsYXNzXT1cImdldENsYXNzKCdsaXN0JylcIj5cbiAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIHBhc3NlbmdlcnM7IGluZGV4IGFzIGNvdW50XCJcbiAgICBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3MoJ2xpc3QtaXRlbScpXCI+XG4gICAgPGxhYmVsIFtuYXNDbGFzc109XCJnZXRDbGFzcygnbGFiZWwnKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldExhYmVsKGl0ZW0udHlwZSlcIj57e2dldExhYmVsKGl0ZW0udHlwZSl9fTwvbGFiZWw+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmZvcm1Hcm91cCB8fCAhaXRlbS5mb3JtQ29udHJvbE5hbWU7IGVsc2UgcmVhY3RpdmVGb3JtXCI+XG4gICAgICA8bmFzLW51bWJlci1maWVsZC1uZXcgY29tcGFjdFxuICAgICAgICBzcGFjZWxlc3NcbiAgICAgICAgc2ltcGxlXG4gICAgICAgIFthcmlhTGFiZWxdPVwiZ2V0TGFiZWwoaXRlbS50eXBlKVwiXG4gICAgICAgIFthcmlhTGFiZWxTdWJ0cmFjdF09XCJhcmlhTGFiZWxTdWJ0cmFjdFwiXG4gICAgICAgIFthcmlhTGFiZWxBZGRdPVwiYXJpYUxhYmVsQWRkXCJcbiAgICAgICAgW251bWJlcl09XCJpdGVtLmNvdW50XCJcbiAgICAgICAgW21heF09XCJnZXRNYXgoaXRlbSlcIlxuICAgICAgICBbbWluXT1cImdldE1pbihpdGVtKVwiXG4gICAgICAgIChudW1iZXJDaGFuZ2UpPVwic2V0UGFzc2VuZ2Vyc0NvdW50KGl0ZW0sICRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJrZXlEb3duKCRldmVudCwgY291bnQpXCI+PC9uYXMtbnVtYmVyLWZpZWxkLW5ldz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI3JlYWN0aXZlRm9ybT5cbiAgICAgIDxuYXMtbnVtYmVyLWZpZWxkLW5ldyBjb21wYWN0XG4gICAgICAgIHNwYWNlbGVzc1xuICAgICAgICBzaW1wbGVcbiAgICAgICAgW2FyaWFMYWJlbF09XCJnZXRMYWJlbChpdGVtLnR5cGUpXCJcbiAgICAgICAgW2FyaWFMYWJlbFN1YnRyYWN0XT1cImFyaWFMYWJlbFN1YnRyYWN0XCJcbiAgICAgICAgW2FyaWFMYWJlbEFkZF09XCJhcmlhTGFiZWxBZGRcIlxuICAgICAgICBbbmFzRm9ybUdyb3VwXT1cIml0ZW0uZm9ybUdyb3VwXCJcbiAgICAgICAgW25hc0Zvcm1Db250cm9sTmFtZV09XCJpdGVtLmZvcm1Db250cm9sTmFtZVwiXG4gICAgICAgIFtudW1iZXJdPVwiaXRlbS5mb3JtR3JvdXA/LmdldChpdGVtLmZvcm1Db250cm9sTmFtZSk/LnZhbHVlXCJcbiAgICAgICAgW21heF09XCJnZXRNYXgoaXRlbSlcIlxuICAgICAgICBbbWluXT1cImdldE1pbihpdGVtKVwiXG4gICAgICAgIChrZXlkb3duKT1cImtleURvd24oJGV2ZW50LCBjb3VudClcIlxuICAgICAgICAobnVtYmVyQ2hhbmdlKT1cInNldFBhc3NlbmdlcnNDb3VudChpdGVtLCAkZXZlbnQpXCI+PC9uYXMtbnVtYmVyLWZpZWxkLW5ldz5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2xpPlxuPC91bD4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './ribbon-banner.component';
2
+ export * from './ribbon-banner.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpYmJvbi1iYW5uZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yaWJib24tYmFubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JpYmJvbi1iYW5uZXIubW9kdWxlJztcbiJdfQ==
@@ -0,0 +1,57 @@
1
+ /**
2
+ * @license
3
+ * Copyright Norwegian Air Shuttle. All Rights Reserved.
4
+ */
5
+ import { Component, Input } from '@angular/core';
6
+ import { NasComponentBase } from '../../core/base/nas-component.base';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "../../core/directives/nas-class/nas-class.directive";
10
+ import * as i3 from "../icon/icon.component";
11
+ import * as i4 from "../button/button.component";
12
+ /**
13
+ * @description
14
+ * Norwegian Ribbon Banner Component | Dialogs and Modals
15
+ */
16
+ export class RibbonBannerComponent extends NasComponentBase {
17
+ constructor() {
18
+ super('nas-ribbon-banner');
19
+ /**
20
+ * @property Input
21
+ * @description
22
+ * Display ribbon banner, true is default
23
+ */
24
+ this.enable = true;
25
+ }
26
+ getModifiers() {
27
+ return [
28
+ this.exists(this.info) && 'info',
29
+ this.exists(this.warning) && 'warning'
30
+ ];
31
+ }
32
+ getClasses(element, modifiers) {
33
+ const classes = [this.getClass(element, modifiers)];
34
+ return classes;
35
+ }
36
+ getIcon() {
37
+ return this.exists(this.warning) ? 'warning--secondary' : 'info';
38
+ }
39
+ onClickClose() {
40
+ this.enable = false;
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: RibbonBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: RibbonBannerComponent, selector: "nas-ribbon-banner", inputs: { enable: "enable", infoModel: "infoModel", info: "info", warning: "warning" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"enable && infoModel\" [nasClass]=\"getClasses('')\">\n <div [nasClass]=\"getClasses('container', getModifiers())\">\n <div [nasClass]=\"getClasses('col-1')\">\n <div [nasClass]=\"getClasses('status', !infoModel.title && 'aligned')\">\n <nas-icon [icon]=\"getIcon()\"></nas-icon>\n </div>\n <div [nasClass]=\"getClasses('content')\">\n <h2 *ngIf=\"infoModel.title\" [nasClass]=\"getClasses('title')\">{{infoModel.title}}</h2>\n <div [nasClass]=\"getClasses('description')\">\n <span [nasClass]=\"getClasses('message')\" *ngFor=\"let message of infoModel?.messages\">{{message}}</span>\n <nas-button *ngIf=\"infoModel?.link?.text\" link [href]=\"infoModel?.link?.href\">{{infoModel?.link.text}}</nas-button>\n </div>\n </div>\n </div>\n <div [nasClass]=\"getClasses('col-2')\">\n <button [nasClass]=\"getClasses('close')\" (click)=\"onClickClose()\">\n <nas-icon [icon]=\"'close'\" [type]=\"'small'\"></nas-icon>\n </button>\n </div>\n </div>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-ribbon-banner__container{display:flex;min-height:72px;padding:8px 0 8px 16px;background-color:#f8f8f8;justify-content:center}.nas-ribbon-banner__container--info{background-color:#e0ebff}.nas-ribbon-banner__container--warning{background-color:#fff6ec}.nas-ribbon-banner__col-1{display:flex;margin:0 auto;padding-left:0}@media (min-width: 1000px){.nas-ribbon-banner__col-1{padding-left:72px}}.nas-ribbon-banner__col-2{display:flex;margin-left:auto}.nas-ribbon-banner__status{margin-right:8px}.nas-ribbon-banner__status--aligned,.nas-ribbon-banner__content{display:flex;flex-direction:column;justify-content:center}.nas-ribbon-banner__title{font-size:16px;line-height:26px;margin:0}.nas-ribbon-banner__message{display:inline;padding-right:6px}.nas-ribbon-banner__close{padding:16px 24px;border-left:1px solid #E9E7E4}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NasClassDirective, selector: "[nasClass]", inputs: ["nasClass", "attr.class"] }, { kind: "component", type: i3.IconComponent, selector: "nas-icon", inputs: ["icon", "type", "isIndicator", "lightCircularBackground", "cssClass"] }, { kind: "component", type: i4.ButtonComponent, selector: "nas-button", inputs: ["primary", "secondary", "link", "approve", "light", "large", "block", "flex", "compact", "right", "spaceless", "transparent", "href", "trackingvalue", "canContinueOnDisabled", "disabled", "type", "cssClass", "ariaLabel", "cssStyle", "tabindex", "overrideBaseCssClass", "useRouterLink", "id", "target"], outputs: ["clickChange"] }] }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: RibbonBannerComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'nas-ribbon-banner', template: "<div *ngIf=\"enable && infoModel\" [nasClass]=\"getClasses('')\">\n <div [nasClass]=\"getClasses('container', getModifiers())\">\n <div [nasClass]=\"getClasses('col-1')\">\n <div [nasClass]=\"getClasses('status', !infoModel.title && 'aligned')\">\n <nas-icon [icon]=\"getIcon()\"></nas-icon>\n </div>\n <div [nasClass]=\"getClasses('content')\">\n <h2 *ngIf=\"infoModel.title\" [nasClass]=\"getClasses('title')\">{{infoModel.title}}</h2>\n <div [nasClass]=\"getClasses('description')\">\n <span [nasClass]=\"getClasses('message')\" *ngFor=\"let message of infoModel?.messages\">{{message}}</span>\n <nas-button *ngIf=\"infoModel?.link?.text\" link [href]=\"infoModel?.link?.href\">{{infoModel?.link.text}}</nas-button>\n </div>\n </div>\n </div>\n <div [nasClass]=\"getClasses('col-2')\">\n <button [nasClass]=\"getClasses('close')\" (click)=\"onClickClose()\">\n <nas-icon [icon]=\"'close'\" [type]=\"'small'\"></nas-icon>\n </button>\n </div>\n </div>\n</div>", styles: ["@keyframes fade-in{0%{opacity:0}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}}@keyframes fade-in-left{0%{opacity:0;transform:translate(-30px)}}@keyframes fade-in-right{0%{opacity:0;transform:translate(30px)}}@keyframes fade-out{to{opacity:0}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-90deg)}40%{opacity:1;transform:rotateX(10deg)}}@keyframes flip-out{to{opacity:0;transform:rotateX(-90deg)}}@keyframes pop-in-from-top{0%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-100,1,1);opacity:0}6.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-30.227,1,1)}13.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,1.76,1,1)}20%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,7.08,1,1)}26.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,3.838,1,1)}33.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.902,1,1);opacity:1}40%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.237,1,1)}46.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.312,1,1)}53.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.141,1,1)}60%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.021,1,1)}66.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.015,1,1)}73.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.013,1,1)}80%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,.005,1,1)}86.67%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,1,1)}93.33%{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}to{transform:matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,-.001,1,1);-webkit-transform:translate3d(0,0,0)}}.nas-ribbon-banner__container{display:flex;min-height:72px;padding:8px 0 8px 16px;background-color:#f8f8f8;justify-content:center}.nas-ribbon-banner__container--info{background-color:#e0ebff}.nas-ribbon-banner__container--warning{background-color:#fff6ec}.nas-ribbon-banner__col-1{display:flex;margin:0 auto;padding-left:0}@media (min-width: 1000px){.nas-ribbon-banner__col-1{padding-left:72px}}.nas-ribbon-banner__col-2{display:flex;margin-left:auto}.nas-ribbon-banner__status{margin-right:8px}.nas-ribbon-banner__status--aligned,.nas-ribbon-banner__content{display:flex;flex-direction:column;justify-content:center}.nas-ribbon-banner__title{font-size:16px;line-height:26px;margin:0}.nas-ribbon-banner__message{display:inline;padding-right:6px}.nas-ribbon-banner__close{padding:16px 24px;border-left:1px solid #E9E7E4}\n"] }]
48
+ }], ctorParameters: function () { return []; }, propDecorators: { enable: [{
49
+ type: Input
50
+ }], infoModel: [{
51
+ type: Input
52
+ }], info: [{
53
+ type: Input
54
+ }], warning: [{
55
+ type: Input
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmliYm9uLWJhbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpYmJvbi1iYW5uZXIvcmliYm9uLWJhbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpYmJvbi1iYW5uZXIvcmliYm9uLWJhbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7O0FBRXRFOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUEwQjNEO1FBQ0ksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUExQjdCOzs7O1VBSUU7UUFDUSxXQUFNLEdBQUcsSUFBSSxDQUFDO0lBc0J4QixDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU87WUFDTCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNO1lBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVM7U0FDdkMsQ0FBQztJQUNKLENBQUM7SUFFSCxVQUFVLENBQUMsT0FBZ0IsRUFBRSxTQUFlO1FBQzFDLE1BQU0sT0FBTyxHQUFzQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO0lBQ3BFLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs4R0FoRFUscUJBQXFCO2tHQUFyQixxQkFBcUIsd0tDbEJsQyxvakNBb0JNOzsyRkRGTyxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1COzBFQVVuQixNQUFNO3NCQUFkLEtBQUs7Z0JBTUcsU0FBUztzQkFBakIsS0FBSztnQkFNRyxJQUFJO3NCQUFaLEtBQUs7Z0JBTUcsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IE5vcndlZ2lhbiBBaXIgU2h1dHRsZS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGFzc01vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMvY2xhc3MubW9kZWwnO1xuaW1wb3J0IHsgTmFzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS9uYXMtY29tcG9uZW50LmJhc2UnO1xuaW1wb3J0IHsgSW5mb01vZGVsIH0gZnJvbSAnLi4vaW5mbyc7XG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICogTm9yd2VnaWFuIFJpYmJvbiBCYW5uZXIgQ29tcG9uZW50IHwgRGlhbG9ncyBhbmQgTW9kYWxzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25hcy1yaWJib24tYmFubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JpYmJvbi1iYW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yaWJib24tYmFubmVyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmliYm9uQmFubmVyQ29tcG9uZW50IGV4dGVuZHMgTmFzQ29tcG9uZW50QmFzZSB7XG4gIC8qKlxuICAgKiBAcHJvcGVydHkgSW5wdXRcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIERpc3BsYXkgcmliYm9uIGJhbm5lciwgdHJ1ZSBpcyBkZWZhdWx0XG4gICovXG4gICBASW5wdXQoKSBlbmFibGUgPSB0cnVlO1xuICAvKipcbiAgICogQHByb3BlcnR5IElucHV0XG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBTZXRzIFJpYmJvbiBiYW5uZXIgdG8gaW5mbyBzdHlsaW5nXG4gICovXG4gICBASW5wdXQoKSBpbmZvTW9kZWw6IEluZm9Nb2RlbDtcbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBSaWJib24gYmFubmVyIHRvIGluZm8gc3R5bGluZ1xuICAqL1xuICAgQElucHV0KCkgaW5mbzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEBwcm9wZXJ0eSBJbnB1dFxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyBSaWJib24gYmFubmVyIHRvIHdhcm5pbmcgc3R5bGluZ1xuICAqL1xuICAgQElucHV0KCkgd2FybmluZzogYm9vbGVhbjtcblxuY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ25hcy1yaWJib24tYmFubmVyJyk7XG4gIH1cblxuICBnZXRNb2RpZmllcnMoKTogQXJyYXk8c3RyaW5nPiB7XG4gICAgICByZXR1cm4gW1xuICAgICAgICB0aGlzLmV4aXN0cyh0aGlzLmluZm8pICYmICdpbmZvJyxcbiAgICAgICAgdGhpcy5leGlzdHModGhpcy53YXJuaW5nKSAmJiAnd2FybmluZydcbiAgICAgIF07XG4gICAgfVxuICBcbiAgZ2V0Q2xhc3NlcyhlbGVtZW50Pzogc3RyaW5nLCBtb2RpZmllcnM/OiBhbnkpOiBBcnJheTxDbGFzc01vZGVsPiB7XG4gICAgY29uc3QgY2xhc3NlczogQXJyYXk8Q2xhc3NNb2RlbD4gPSBbdGhpcy5nZXRDbGFzcyhlbGVtZW50LCBtb2RpZmllcnMpXTtcbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIGdldEljb24oKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmV4aXN0cyh0aGlzLndhcm5pbmcpID8gJ3dhcm5pbmctLXNlY29uZGFyeScgOiAnaW5mbydcbiAgfVxuXG4gIG9uQ2xpY2tDbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmVuYWJsZSA9IGZhbHNlO1xuICB9XG4gIFxufVxuIiwiPGRpdiAqbmdJZj1cImVuYWJsZSAmJiBpbmZvTW9kZWxcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3NlcygnJylcIj5cbiAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3NlcygnY29udGFpbmVyJywgZ2V0TW9kaWZpZXJzKCkpXCI+XG4gICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3NlcygnY29sLTEnKVwiPlxuICAgICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3Nlcygnc3RhdHVzJywgIWluZm9Nb2RlbC50aXRsZSAmJiAnYWxpZ25lZCcpXCI+XG4gICAgICAgIDxuYXMtaWNvbiBbaWNvbl09XCJnZXRJY29uKClcIj48L25hcy1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtuYXNDbGFzc109XCJnZXRDbGFzc2VzKCdjb250ZW50JylcIj5cbiAgICAgICAgICA8aDIgKm5nSWY9XCJpbmZvTW9kZWwudGl0bGVcIiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3NlcygndGl0bGUnKVwiPnt7aW5mb01vZGVsLnRpdGxlfX08L2gyPlxuICAgICAgICAgIDxkaXYgW25hc0NsYXNzXT1cImdldENsYXNzZXMoJ2Rlc2NyaXB0aW9uJylcIj5cbiAgICAgICAgICAgIDxzcGFuIFtuYXNDbGFzc109XCJnZXRDbGFzc2VzKCdtZXNzYWdlJylcIiAqbmdGb3I9XCJsZXQgbWVzc2FnZSBvZiBpbmZvTW9kZWw/Lm1lc3NhZ2VzXCI+e3ttZXNzYWdlfX08L3NwYW4+XG4gICAgICAgICAgICA8bmFzLWJ1dHRvbiAqbmdJZj1cImluZm9Nb2RlbD8ubGluaz8udGV4dFwiIGxpbmsgW2hyZWZdPVwiaW5mb01vZGVsPy5saW5rPy5ocmVmXCI+e3tpbmZvTW9kZWw/LmxpbmsudGV4dH19PC9uYXMtYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBbbmFzQ2xhc3NdPVwiZ2V0Q2xhc3NlcygnY29sLTInKVwiPlxuICAgICAgICA8YnV0dG9uIFtuYXNDbGFzc109XCJnZXRDbGFzc2VzKCdjbG9zZScpXCIgKGNsaWNrKT1cIm9uQ2xpY2tDbG9zZSgpXCI+XG4gICAgICAgICAgPG5hcy1pY29uIFtpY29uXT1cIidjbG9zZSdcIiBbdHlwZV09XCInc21hbGwnXCI+PC9uYXMtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
@@ -0,0 +1,36 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { RouterModule } from '@angular/router';
4
+ import { RibbonBannerComponent } from './ribbon-banner.component';
5
+ import { NasClassModule } from '../../core/directives/nas-class/nas-class.module';
6
+ import { IconModule } from '../icon/icon.module';
7
+ import { ButtonModule } from '../button';
8
+ import * as i0 from "@angular/core";
9
+ export class RibbonBannerModule {
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: RibbonBannerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
11
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: RibbonBannerModule, declarations: [RibbonBannerComponent], imports: [CommonModule,
12
+ NasClassModule,
13
+ RouterModule,
14
+ IconModule,
15
+ ButtonModule], exports: [RibbonBannerComponent] }); }
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: RibbonBannerModule, imports: [CommonModule,
17
+ NasClassModule,
18
+ RouterModule,
19
+ IconModule,
20
+ ButtonModule] }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: RibbonBannerModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ declarations: [RibbonBannerComponent],
26
+ imports: [
27
+ CommonModule,
28
+ NasClassModule,
29
+ RouterModule,
30
+ IconModule,
31
+ ButtonModule
32
+ ],
33
+ exports: [RibbonBannerComponent],
34
+ }]
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmliYm9uLWJhbm5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3JpYmJvbi1iYW5uZXIvcmliYm9uLWJhbm5lci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFhekMsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsaUJBVmQscUJBQXFCLGFBRWxDLFlBQVk7WUFDWixjQUFjO1lBQ2QsWUFBWTtZQUNaLFVBQVU7WUFDVixZQUFZLGFBRUoscUJBQXFCOytHQUVwQixrQkFBa0IsWUFSM0IsWUFBWTtZQUNaLGNBQWM7WUFDZCxZQUFZO1lBQ1osVUFBVTtZQUNWLFlBQVk7OzJGQUlILGtCQUFrQjtrQkFYOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDckMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxZQUFZO3dCQUNaLFVBQVU7d0JBQ1YsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBSaWJib25CYW5uZXJDb21wb25lbnQgfSBmcm9tICcuL3JpYmJvbi1iYW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5hc0NsYXNzTW9kdWxlIH0gZnJvbSAnLi4vLi4vY29yZS9kaXJlY3RpdmVzL25hcy1jbGFzcy9uYXMtY2xhc3MubW9kdWxlJztcbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1JpYmJvbkJhbm5lckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTmFzQ2xhc3NNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEljb25Nb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtSaWJib25CYW5uZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBSaWJib25CYW5uZXJNb2R1bGUgeyB9Il19