@smartbit4all/ng-client 4.5.38 → 4.5.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/esm2022/lib/session/smart-backend-bootstrap.config.mjs +1 -1
  2. package/esm2022/lib/session/smart-backend-bootstrap.service.mjs +4 -4
  3. package/esm2022/lib/theme/theme.service.mjs +48 -0
  4. package/esm2022/lib/view-context/api/api/view.service.mjs +82 -1
  5. package/esm2022/lib/view-context/api/api-default/binaryContentData.mjs +2 -0
  6. package/esm2022/lib/view-context/api/model/deviceInfo.mjs +1 -1
  7. package/esm2022/lib/view-context/api/model/models.mjs +4 -1
  8. package/esm2022/lib/view-context/api/model/shellProperties.mjs +13 -0
  9. package/esm2022/lib/view-context/api/model/themeDefinition.mjs +2 -0
  10. package/esm2022/lib/view-context/api/model/themeDescriptor.mjs +2 -0
  11. package/esm2022/lib/view-context/smart-ui-action/components/theme-selector/theme-selector.component.mjs +35 -0
  12. package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +4 -3
  13. package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +6 -5
  14. package/esm2022/lib/view-context/smart-view-context.module.mjs +5 -2
  15. package/esm2022/lib/view-context/smart-view-context.service.mjs +9 -5
  16. package/fesm2022/smartbit4all-ng-client.mjs +186 -13
  17. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
  18. package/lib/session/smart-backend-bootstrap.config.d.ts +1 -1
  19. package/lib/theme/theme.service.d.ts +17 -0
  20. package/lib/view-context/api/api/view.service.d.ts +37 -0
  21. package/lib/view-context/api/api-default/binaryContentData.d.ts +2 -0
  22. package/lib/view-context/api/model/deviceInfo.d.ts +1 -0
  23. package/lib/view-context/api/model/models.d.ts +3 -0
  24. package/lib/view-context/api/model/shellProperties.d.ts +15 -0
  25. package/lib/view-context/api/model/themeDefinition.d.ts +22 -0
  26. package/lib/view-context/api/model/themeDescriptor.d.ts +16 -0
  27. package/lib/view-context/smart-ui-action/components/theme-selector/theme-selector.component.d.ts +16 -0
  28. package/lib/view-context/smart-view-context.module.d.ts +49 -48
  29. package/lib/view-context/smart-view-context.service.d.ts +4 -2
  30. package/package.json +1 -1
  31. package/smartbit4all-ng-client-4.5.40.tgz +0 -0
  32. package/smartbit4all-ng-client-4.5.38.tgz +0 -0
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1iYWNrZW5kLWJvb3RzdHJhcC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkRlc2NyaXB0b3IgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvYXBpJztcclxuaW1wb3J0IHsgU21hcnRWaWV3SGFuZGxlck1vZGVsIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2RlbCc7XHJcbmltcG9ydCB7IFNlc3Npb25FcnJvciB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi1oYW5kbGVyLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEV4dGVybmFsbHkgcHJvdmlkZWQgc2Vzc2lvbiArIHZpZXdDb250ZXh0IHRvIGh5ZHJhdGUgdGhlIGJvb3RzdHJhcCB3aXRoLFxyXG4gKiBieXBhc3NpbmcgdGhlIHJlZ3VsYXIgYHN0YXJ0KClgIGZsb3cuIFR5cGljYWwgdXNlIGNhc2U6IGEgbmF0aXZlIG1vYmlsZVxyXG4gKiBzaGVsbCB0aGF0IHBlcmZvcm1lZCBhdXRoZW50aWNhdGlvbiBpdHNlbGYgYW5kIGhhbmRzIG9mZiB0aGUgcmVzdWx0IHRvIGFcclxuICogd2Vidmlldy1ob3N0ZWQgQW5ndWxhciBhcHAgdmlhIFVSTCBmcmFnbWVudC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMge1xyXG4gIC8qKiBTSUQgaXNzdWVkIGJ5IHRoZSBiYWNrZW5kOyB3aWxsIGJlIHNlbnQgYXMgYEF1dGhvcml6YXRpb246IEJlYXJlciA8c2Vzc2lvblRva2VuPmAuICovXHJcbiAgc2Vzc2lvblRva2VuOiBzdHJpbmc7XHJcbiAgLyoqIFVVSUQgb2YgYW4gYWxyZWFkeS1leGlzdGluZyB2aWV3Q29udGV4dCBvbiB0aGUgYmFja2VuZC4gKi9cclxuICB2aWV3Q29udGV4dFV1aWQ6IHN0cmluZztcclxuICAvKipcclxuICAgKiBPcHRpb25hbCBsb25nLWxpdmVkIHJlZnJlc2ggdG9rZW4gcGFpcmVkIHdpdGggdGhlIFNJRC4gSWYgcHJvdmlkZWQsIGl0IGlzXHJcbiAgICogcGVyc2lzdGVkIHRvIGxvY2FsU3RvcmFnZSBzbyB0aGUgYXV0b25vbW91cyBgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3JgXHJcbiAgICogUkVGUkVTSCBmbG93IGNhbiByZWNvdmVyIGZyb20gYHNlc3Npb24uZXhwaXJlZGAgZXJyb3JzIHdpdGhvdXQgZHJvcHBpbmdcclxuICAgKiB0aGUgdXNlciBiYWNrIHRvIGEgZnJlc2ggYW5vbnltb3VzIHNlc3Npb24uXHJcbiAgICovXHJcbiAgcmVmcmVzaFRva2VuPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0QmFja2VuZEJvb3RzdHJhcENvbmZpZyB7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgY29va2llTmFtZTogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFZpZXcgbmFtZSB0aGUgYmFja2VuZCB1c2VzIGZvciBnZW5lcmljIG1lc3NhZ2UgZGlhbG9ncy4gRGVmYXVsdHMgdG9cclxuICAgKiBgJ21lc3NhZ2UtZGlhbG9nJ2AgKHRoZSBwbGF0Zm9ybSBjb252ZW50aW9uKSB3aGVuIG9taXR0ZWQuXHJcbiAgICovXHJcbiAgbWVzc2FnZURpYWxvZ05hbWU/OiBzdHJpbmc7XHJcbiAgdmlld0hhbmRsZXJzOiBTbWFydFZpZXdIYW5kbGVyTW9kZWxbXTtcclxuICBhY3Rpb25EZXNjcmlwdG9yczogTWFwPHN0cmluZywgVWlBY3Rpb25EZXNjcmlwdG9yPjtcclxuXHJcbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgaGFuZGxlU2Vzc2lvbkVycm9yYCBmbG93LiAqL1xyXG4gIG9uU2Vzc2lvbkVycm9yPzogKGVycjogU2Vzc2lvbkVycm9yKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcclxuXHJcbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgb3BlblNtYXJ0TGlua2AgaGFuZGxlci4gKi9cclxuICBvblNtYXJ0TGluaz86IChjaGFubmVsOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkO1xyXG5cclxuICAvKiogSG9vayBmb3IgaG9zdCBVWCB3aGVuIGBzdGFydCgpYCByZWplY3RzIChzbmFja2JhciArIHJldHJ5KS4gKi9cclxuICBvblN0YXJ0RXJyb3I/OiAoZXJyOiB1bmtub3duKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogSG9vayBjYWxsZWQgd2hlbiBhIEJGRiBjYWxsIGZhaWxzIGF0IHRoZSB0cmFuc3BvcnQgbGV2ZWwg4oCUIHNlcnZlclxyXG4gICAqIHVucmVhY2hhYmxlIChzdGF0dXMgMCksIGdhdGV3YXkvc2VydmljZS11bmF2YWlsYWJsZSAoNTAyLzUwMy81MDQpLCBvclxyXG4gICAqIGdlbmVyaWMgc2VydmVyLWVycm9yICg1MDApLiBEZWZhdWx0OiBhIGNvbnNvbGUud2FybiBsaW5lOyB0aGUgcmVxdWVzdFxyXG4gICAqIHN0aWxsIHJlamVjdHMgd2l0aCB0aGUgb3JpZ2luYWwgZXJyb3IsIGFsbG93aW5nIHBlci1jYWxsIGhhbmRsaW5nLlxyXG4gICAqXHJcbiAgICogRmlyZS1hbmQtZm9yZ2V0OiBldmVyeSBmYWlsZWQgcmVxdWVzdCBpbnZva2VzIHRoZSBob29rIChubyBkZWR1cCk7IHRoZVxyXG4gICAqIGhvc3QgaXMgcmVzcG9uc2libGUgZm9yIG93biBVSSBkZWR1cGxpY2F0aW9uIGlmIG5lZWRlZCAoZS5nLiBzbmFja2JhclxyXG4gICAqIHdpdGggYSBcInRoaXMgbWVzc2FnZSBpcyBhbHJlYWR5IHNob3dpbmdcIiBndWFyZCkuXHJcbiAgICovXHJcbiAgb25UcmFuc3BvcnRFcnJvcj86IChlcnI6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogSG9vayBjYWxsZWQgd2hlbiB0aGUgYmFja2VuZCByZXBvcnRzIHRoZSBjdXJyZW50IHZpZXdDb250ZXh0IGlzIGdvbmVcclxuICAgKiAobG9nb3V0LCBzZXNzaW9uIGV4cGlyeSwgYmFja2VuZCByZXN0YXJ0KSDigJQgaS5lLiB3aGVuIHRoZVxyXG4gICAqIGBTbWFydEVycm9yQ2F0Y2hpbmdJbnRlcmNlcHRvcmAgd291bGQgaGlzdG9yaWNhbGx5IGF1dG8tdHJpZ2dlclxyXG4gICAqIGBSRVNUQVJUX1ZJRVdDT05URVhUYC5cclxuICAgKlxyXG4gICAqIERlZmF1bHQ6IHJlYnVpbGRzIGEgZnJlc2ggYW5vbnltb3VzIHZpZXdDb250ZXh0IHZpYVxyXG4gICAqIGB2aWV3Q29udGV4dC5pbml0TmV3Vmlld0NvbnRleHQoKWAgKHRoZSBoaXN0b3JpY2FsIHdlYiBmbG93KS5cclxuICAgKlxyXG4gICAqIE1vYmlsZS9lbWJlZGRlZCBob3N0cyBvdmVycmlkZSB0aGlzIHRvIGZ1bGx5IGRlbGVnYXRlIHRvIHRoZSBzaGVsbCDigJRcclxuICAgKiB0eXBpY2FsbHkgYnkgY2FsbGluZyBhIEpTIGJyaWRnZSB0aGF0IHNpZ25hbHMgdGhlIG5hdGl2ZSBzaWRlIHRvXHJcbiAgICogdGVhciBkb3duIHRoZSB3ZWJ2aWV3IGFuZCByZXR1cm4gdG8gdGhlIG5hdGl2ZSBsb2dpbiBwYWdlLlxyXG4gICAqL1xyXG4gIG9uVmlld0NvbnRleHRMb3N0PzogKGVycjogU2Vzc2lvbkVycm9yKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc2Vzc2lvbi9zbWFydC1iYWNrZW5kLWJvb3RzdHJhcC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbkRlc2NyaXB0b3IgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvYXBpJztcclxuaW1wb3J0IHsgU21hcnRWaWV3SGFuZGxlck1vZGVsIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2RlbCc7XHJcbmltcG9ydCB7IFNlc3Npb25FcnJvciB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi1oYW5kbGVyLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEV4dGVybmFsbHkgcHJvdmlkZWQgc2Vzc2lvbiArIHZpZXdDb250ZXh0IHRvIGh5ZHJhdGUgdGhlIGJvb3RzdHJhcCB3aXRoLFxyXG4gKiBieXBhc3NpbmcgdGhlIHJlZ3VsYXIgYHN0YXJ0KClgIGZsb3cuIFR5cGljYWwgdXNlIGNhc2U6IGEgbmF0aXZlIG1vYmlsZVxyXG4gKiBzaGVsbCB0aGF0IHBlcmZvcm1lZCBhdXRoZW50aWNhdGlvbiBpdHNlbGYgYW5kIGhhbmRzIG9mZiB0aGUgcmVzdWx0IHRvIGFcclxuICogd2Vidmlldy1ob3N0ZWQgQW5ndWxhciBhcHAgdmlhIFVSTCBmcmFnbWVudC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMge1xyXG4gIC8qKiBTSUQgaXNzdWVkIGJ5IHRoZSBiYWNrZW5kOyB3aWxsIGJlIHNlbnQgYXMgYEF1dGhvcml6YXRpb246IEJlYXJlciA8c2Vzc2lvblRva2VuPmAuICovXHJcbiAgc2Vzc2lvblRva2VuOiBzdHJpbmc7XHJcbiAgLyoqIFVVSUQgb2YgYW4gYWxyZWFkeS1leGlzdGluZyB2aWV3Q29udGV4dCBvbiB0aGUgYmFja2VuZC4gKi9cclxuICB2aWV3Q29udGV4dFV1aWQ6IHN0cmluZztcclxuICAvKipcclxuICAgKiBPcHRpb25hbCBsb25nLWxpdmVkIHJlZnJlc2ggdG9rZW4gcGFpcmVkIHdpdGggdGhlIFNJRC4gSWYgcHJvdmlkZWQsIGl0IGlzXHJcbiAgICogcGVyc2lzdGVkIHRvIGxvY2FsU3RvcmFnZSBzbyB0aGUgYXV0b25vbW91cyBgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3JgXHJcbiAgICogUkVGUkVTSCBmbG93IGNhbiByZWNvdmVyIGZyb20gYHNlc3Npb24uZXhwaXJlZGAgZXJyb3JzIHdpdGhvdXQgZHJvcHBpbmdcclxuICAgKiB0aGUgdXNlciBiYWNrIHRvIGEgZnJlc2ggYW5vbnltb3VzIHNlc3Npb24uXHJcbiAgICovXHJcbiAgcmVmcmVzaFRva2VuPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0QmFja2VuZEJvb3RzdHJhcENvbmZpZyB7XHJcbiAgdXJsOiBzdHJpbmc7XHJcbiAgY29va2llTmFtZTogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFZpZXcgbmFtZSB0aGUgYmFja2VuZCB1c2VzIGZvciBnZW5lcmljIG1lc3NhZ2UgZGlhbG9ncy4gRGVmYXVsdHMgdG9cclxuICAgKiBgJ21lc3NhZ2UtZGlhbG9nJ2AgKHRoZSBwbGF0Zm9ybSBjb252ZW50aW9uKSB3aGVuIG9taXR0ZWQuXHJcbiAgICovXHJcbiAgbWVzc2FnZURpYWxvZ05hbWU/OiBzdHJpbmc7XHJcbiAgdmlld0hhbmRsZXJzOiBTbWFydFZpZXdIYW5kbGVyTW9kZWxbXTtcclxuICBhY3Rpb25EZXNjcmlwdG9yczogTWFwPHN0cmluZywgVWlBY3Rpb25EZXNjcmlwdG9yPjtcclxuXHJcbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgaGFuZGxlU2Vzc2lvbkVycm9yYCBmbG93LiAqL1xyXG4gIG9uU2Vzc2lvbkVycm9yPzogKGVycjogU2Vzc2lvbkVycm9yKSA9PiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcclxuXHJcbiAgLyoqIE9wdGlvbmFsIG92ZXJyaWRlIGZvciB0aGUgZGVmYXVsdCBgb3BlblNtYXJ0TGlua2AgaGFuZGxlci4gKi9cclxuICBvblNtYXJ0TGluaz86IChjaGFubmVsOiBzdHJpbmcsIHV1aWQ6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQ7XHJcblxyXG4gIC8qKiBIb29rIGZvciBob3N0IFVYIHdoZW4gYHN0YXJ0KClgIHJlamVjdHMgKHNuYWNrYmFyICsgcmV0cnkpLiAqL1xyXG4gIG9uU3RhcnRFcnJvcj86IChlcnI6IHVua25vd24pID0+IFByb21pc2U8dm9pZD4gfCB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBIb29rIGNhbGxlZCB3aGVuIGEgQkZGIGNhbGwgZmFpbHMgYXQgdGhlIHRyYW5zcG9ydCBsZXZlbCDigJQgc2VydmVyXHJcbiAgICogdW5yZWFjaGFibGUgKHN0YXR1cyAwKSwgZ2F0ZXdheS9zZXJ2aWNlLXVuYXZhaWxhYmxlICg1MDIvNTAzLzUwNCksIG9yXHJcbiAgICogZ2VuZXJpYyBzZXJ2ZXItZXJyb3IgKDUwMCkuIERlZmF1bHQ6IGEgY29uc29sZS53YXJuIGxpbmU7IHRoZSByZXF1ZXN0XHJcbiAgICogc3RpbGwgcmVqZWN0cyB3aXRoIHRoZSBvcmlnaW5hbCBlcnJvciwgYWxsb3dpbmcgcGVyLWNhbGwgaGFuZGxpbmcuXHJcbiAgICpcclxuICAgKiBGaXJlLWFuZC1mb3JnZXQ6IGV2ZXJ5IGZhaWxlZCByZXF1ZXN0IGludm9rZXMgdGhlIGhvb2sgKG5vIGRlZHVwKTsgdGhlXHJcbiAgICogaG9zdCBpcyByZXNwb25zaWJsZSBmb3Igb3duIFVJIGRlZHVwbGljYXRpb24gaWYgbmVlZGVkIChlLmcuIHNuYWNrYmFyXHJcbiAgICogd2l0aCBhIFwidGhpcyBtZXNzYWdlIGlzIGFscmVhZHkgc2hvd2luZ1wiIGd1YXJkKS5cclxuICAgKi9cclxuICBvblRyYW5zcG9ydEVycm9yPzogKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkO1xyXG5cclxuICAvKipcclxuICAgKiBIb29rIGNhbGxlZCB3aGVuIHRoZSBiYWNrZW5kIHJlcG9ydHMgdGhlIGN1cnJlbnQgdmlld0NvbnRleHQgaXMgZ29uZVxyXG4gICAqIChsb2dvdXQsIHNlc3Npb24gZXhwaXJ5LCBiYWNrZW5kIHJlc3RhcnQpIOKAlCBpLmUuIHdoZW4gdGhlXHJcbiAgICogYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCB3b3VsZCBoaXN0b3JpY2FsbHkgYXV0by10cmlnZ2VyXHJcbiAgICogYFJFU1RBUlRfVklFV0NPTlRFWFRgLlxyXG4gICAqXHJcbiAgICogRGVmYXVsdDogcmVidWlsZHMgYSBmcmVzaCBhbm9ueW1vdXMgdmlld0NvbnRleHQgdmlhXHJcbiAgICogYHZpZXdDb250ZXh0LmluaXROZXdWaWV3Q29udGV4dCgpYCAodGhlIGhpc3RvcmljYWwgd2ViIGZsb3cpLlxyXG4gICAqXHJcbiAgICogTW9iaWxlL2VtYmVkZGVkIGhvc3RzIG92ZXJyaWRlIHRoaXMgdG8gZnVsbHkgZGVsZWdhdGUgdG8gdGhlIHNoZWxsIOKAlFxyXG4gICAqIHR5cGljYWxseSBieSBjYWxsaW5nIGEgSlMgYnJpZGdlIHRoYXQgc2lnbmFscyB0aGUgbmF0aXZlIHNpZGUgdG9cclxuICAgKiB0ZWFyIGRvd24gdGhlIHdlYnZpZXcgYW5kIHJldHVybiB0byB0aGUgbmF0aXZlIGxvZ2luIHBhZ2UuXHJcbiAgICovXHJcbiAgb25WaWV3Q29udGV4dExvc3Q/OiAoZXJyOiBTZXNzaW9uRXJyb3IpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkO1xyXG59XHJcbiJdfQ==
@@ -35,12 +35,12 @@ export class SmartBackendBootstrapService {
35
35
  this.viewContext.setMessageDialogName(config.messageDialogName ?? 'message-dialog');
36
36
  this.viewContext.setActionDescriptors(config.actionDescriptors);
37
37
  this.viewContext.openSmartLink.subscribe(([channel, uuid]) => {
38
- this.handleSmartLink(channel);
38
+ this.handleSmartLink(channel, uuid);
39
39
  });
40
40
  }
41
- async handleSmartLink(channel) {
41
+ async handleSmartLink(channel, uuid) {
42
42
  if (this.config?.onSmartLink) {
43
- await this.config.onSmartLink(channel);
43
+ await this.config.onSmartLink(channel, uuid);
44
44
  return;
45
45
  }
46
46
  // Default: simply unblock showPublishedView's `await openSmartLink.toPromise()`.
@@ -211,4 +211,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
211
211
  type: Injectable,
212
212
  args: [{ providedIn: 'root' }]
213
213
  }], ctorParameters: () => [{ type: i1.SmartSessionService }, { type: i2.SmartViewContextService }] });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVzNDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsS0FBSztJQUNoRDtRQUNFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcseUJBQXlCLENBQUM7SUFDeEMsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLDRCQUE0QjtJQVF2QyxZQUNVLE9BQTRCLEVBQzVCLFdBQW9DO1FBRHBDLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQVB0QyxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVE1QixDQUFDO0lBRUosU0FBUyxDQUFDLE1BQW1DO1FBQzNDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQ1YsdUZBQXVGLENBQ3hGLENBQUM7WUFDRixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxNQUFN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QUM7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ2xDLENBQUM7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFpQjtRQUM3QyxJQUFJLENBQUM7WUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RDLE9BQU87WUFDVCxDQUFDO1lBQ0Qsa0ZBQWtGO1lBQ2xGLGlGQUFpRjtZQUNqRixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQyxDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDOytHQXZPVSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQURmLE1BQU07OzRGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU21hcnRTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IsIFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1zZXNzaW9uLWhhbmRsZXIuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ29uZmlnLFxyXG4gIFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzLFxyXG59IGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnJztcclxuXHJcbnR5cGUgQm9vdHN0cmFwTW9kZSA9ICdzdGFydCcgfCAnYm9vdHN0cmFwV2l0aCc7XHJcblxyXG4vKipcclxuICogVGhyb3duIGJ5IGB3aGVuUmVhZHkoKWAgd2hlbiB0aGUgdmlld2NvbnRleHQgd2FzIHJlYnVpbHQgYmV0d2VlbiB0aGVcclxuICogY2FsbGVyJ3MgZW50cnkgaW50byBgd2hlblJlYWR5KClgIGFuZCB0aGUgZ2F0ZSByZWxlYXNpbmcuIEFueSB1dWlkIHRoZVxyXG4gKiBjYWxsZXIgcmVzb2x2ZWQgYmVmb3JlIGVudGVyaW5nIGlzIG5vdyBzdGFsZTsgYFNtYXJ0Q29tcG9uZW50QXBpQ2xpZW50LnJ1bigpYFxyXG4gKiBjYXRjaGVzIHRoaXMgYW5kIHNraXBzIHRoZSBsb2FkIOKAlCB0aGUgY29tcG9uZW50IGlzIGV4cGVjdGVkIHRvIHJlY2VpdmUgYVxyXG4gKiBmcmVzaCB1dWlkIHRocm91Z2ggYHV1aWRPZlBhZ2VIYXNCZWVuQ2hhbmdlZGAgKE5PUk1BTCB2aWV3cykgb3IgdG8gYmVcclxuICogcmVjcmVhdGVkIGJ5IGBvcGVuVmlld2AgKEVNQkVEREVEL0RJQUxPRyB2aWV3cykuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVmlld0NvbnRleHRSZWJ1aWx0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignVmlld0NvbnRleHRSZWJ1aWx0Jyk7XHJcbiAgICB0aGlzLm5hbWUgPSAnVmlld0NvbnRleHRSZWJ1aWx0RXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgaW1wbGVtZW50cyBTbWFydFNlc3Npb25IYW5kbGVyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjb25maWc/OiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWc7XHJcbiAgcHJpdmF0ZSBydW5uaW5nSW5pdD86IFByb21pc2U8dm9pZD47XHJcbiAgcHJpdmF0ZSBsYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgbW9kZT86IEJvb3RzdHJhcE1vZGU7XHJcbiAgcHJpdmF0ZSBydW5uaW5nVmlld0NvbnRleHRMb3N0PzogUHJvbWlzZTx2b2lkPjtcclxuICBwcml2YXRlIHJ1bm5pbmdTZXNzaW9uRXJyb3I/OiBQcm9taXNlPHZvaWQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2Vzc2lvbjogU21hcnRTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgdmlld0NvbnRleHQ6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBjb25maWd1cmUoY29uZmlnOiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZykge1xyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgYWxyZWFkeSBjb25maWd1cmVkOyBpZ25vcmluZyBkdXBsaWNhdGUgY29uZmlndXJlKCkgY2FsbC4nXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xyXG5cclxuICAgIHRoaXMuc2Vzc2lvbi5zZXRVcmwoY29uZmlnLnVybCk7XHJcbiAgICB0aGlzLnNlc3Npb24uc2V0Q29va2llTmFtZShjb25maWcuY29va2llTmFtZSk7XHJcbiAgICB0aGlzLnNlc3Npb24uc2V0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlKHRoaXMpO1xyXG5cclxuICAgIHRoaXMudmlld0NvbnRleHQuc2V0Vmlld0hhbmRsZXJzKGNvbmZpZy52aWV3SGFuZGxlcnMpO1xyXG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRNZXNzYWdlRGlhbG9nTmFtZShjb25maWcubWVzc2FnZURpYWxvZ05hbWUgPz8gJ21lc3NhZ2UtZGlhbG9nJyk7XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldEFjdGlvbkRlc2NyaXB0b3JzKGNvbmZpZy5hY3Rpb25EZXNjcmlwdG9ycyk7XHJcblxyXG4gICAgdGhpcy52aWV3Q29udGV4dC5vcGVuU21hcnRMaW5rLnN1YnNjcmliZSgoW2NoYW5uZWwsIHV1aWRdKSA9PiB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU21hcnRMaW5rKGNoYW5uZWwpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZVNtYXJ0TGluayhjaGFubmVsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TbWFydExpbmspIHtcclxuICAgICAgYXdhaXQgdGhpcy5jb25maWcub25TbWFydExpbmsoY2hhbm5lbCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIERlZmF1bHQ6IHNpbXBseSB1bmJsb2NrIHNob3dQdWJsaXNoZWRWaWV3J3MgYGF3YWl0IG9wZW5TbWFydExpbmsudG9Qcm9taXNlKClgLlxyXG4gICAgLy8gVGhlIHZpZXdDb250ZXh0IGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQgYnkgc3RhcnQoKS9ib290c3RyYXBXaXRoKCkg4oCUIGNhbGxpbmdcclxuICAgIC8vIGluaXRpYWxpemUoKSBoZXJlIHdpdGhvdXQgYSB1dWlkIHdvdWxkIGFsd2F5cyB0cmlnZ2VyIHN0YXJ0Vmlld0NvbnRleHQoKSxcclxuICAgIC8vIGNyZWF0aW5nIGEgc2Vjb25kIHZpZXdjb250ZXh0IGFuZCBwcm9kdWNpbmcgZHVwbGljYXRlIFVJIChlLmcuIHR3byBsb2dpbiBwYWdlcykuXHJcbiAgICB0aGlzLnZpZXdDb250ZXh0Lm9wZW5TbWFydExpbmsuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHN0YXJ0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXHJcbiAgICAgICAgbmV3IEVycm9yKCdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBzdGFydCgpLicpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnYm9vdHN0cmFwV2l0aCcgJiYgIXRoaXMubGFzdEluaXRGYWlsZWQpIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxyXG4gICAgICAgIG5ldyBFcnJvcihcclxuICAgICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmJvb3RzdHJhcFdpdGgoKSB3YXMgYWxyZWFkeSBjYWxsZWQ7IHN0YXJ0KCkgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggaXQuIENhbGwgcmVzZXQoKSBmaXJzdCB0byBzd2l0Y2ggZW50cnkgcG9pbnRzLidcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ydW5uaW5nSW5pdCAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcclxuICAgIH1cclxuICAgIHRoaXMubW9kZSA9ICdzdGFydCc7XHJcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnJ1bm5pbmdJbml0ID0gdGhpcy5ydW5Jbml0KCk7XHJcbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcclxuICB9XHJcblxyXG4gIGJvb3RzdHJhcFdpdGgoY3JlZHM6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcclxuICAgICAgICBuZXcgRXJyb3IoJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuY29uZmlndXJlKCkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGJvb3RzdHJhcFdpdGgoKS4nKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3N0YXJ0JyAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXHJcbiAgICAgICAgbmV3IEVycm9yKFxyXG4gICAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2Uuc3RhcnQoKSB3YXMgYWxyZWFkeSBjYWxsZWQ7IGJvb3RzdHJhcFdpdGgoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJ1xyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJ1bm5pbmdJbml0ICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xyXG4gICAgfVxyXG4gICAgdGhpcy5tb2RlID0gJ2Jvb3RzdHJhcFdpdGgnO1xyXG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5ydW5uaW5nSW5pdCA9IHRoaXMucnVuQm9vdHN0cmFwV2l0aChjcmVkcyk7XHJcbiAgICByZXR1cm4gdGhpcy5ydW5uaW5nSW5pdDtcclxuICB9XHJcblxyXG4gIGFzeW5jIHdoZW5SZWFkeSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5ydW5uaW5nSW5pdCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Jvb3RzdHJhcE5vdFN0YXJ0ZWQnKTtcclxuICAgIH1cclxuICAgIGF3YWl0IHRoaXMucnVubmluZ0luaXQ7XHJcbiAgICBjb25zdCBnZW5lcmF0aW9uQmVmb3JlID0gdGhpcy52aWV3Q29udGV4dC5nZXRHZW5lcmF0aW9uKCk7XHJcbiAgICAvLyBHYXRlIG9uIGFueSBpbi1mbGlnaHQgc2Vzc2lvbi92aWV3Y29udGV4dCByZWNvdmVyeSBzbyBhIGNvbXBvbmVudCdzXHJcbiAgICAvLyBCRkYgY2FsbCBjYW5ub3QgcmFjZSBhZ2FpbnN0IHRoZSBzZXNzaW9uIGJlaW5nIHRvcm4gZG93biBhbmQgcmVidWlsdC5cclxuICAgIC8vIFRoZSBsb29wIGhhbmRsZXMgY2FzY2FkaW5nIHJlY292ZXJpZXMgKGUuZy4gdmMtbG9zdCBzdXJmYWNlcyBkdXJpbmdcclxuICAgIC8vIGEgc2Vzc2lvbiByZXN0YXJ0KTogZWFjaCBzZXR0bGUgY2xlYXJzIGl0cyBvd24gbGF0Y2ggaW4gZmluYWxseSwgYW5kXHJcbiAgICAvLyB0aGUgbmV4dCBpdGVyYXRpb24gcGlja3MgdXAgd2hhdGV2ZXIgc3RhcnRlZCBpbiB0aGUgbWVhbnRpbWUuXHJcbiAgICB3aGlsZSAodGhpcy5ydW5uaW5nVmlld0NvbnRleHRMb3N0IHx8IHRoaXMucnVubmluZ1Nlc3Npb25FcnJvcikge1xyXG4gICAgICBhd2FpdCB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3Q7XHJcbiAgICAgIGF3YWl0IHRoaXMucnVubmluZ1Nlc3Npb25FcnJvcjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnZpZXdDb250ZXh0LmdldEdlbmVyYXRpb24oKSAhPT0gZ2VuZXJhdGlvbkJlZm9yZSkge1xyXG4gICAgICB0aHJvdyBuZXcgVmlld0NvbnRleHRSZWJ1aWx0RXJyb3IoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIHJlc2V0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5ydW5uaW5nSW5pdCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMubW9kZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdCA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMucnVubmluZ1Nlc3Npb25FcnJvciA9IHVuZGVmaW5lZDtcclxuICAgIHJldHVybiB0aGlzLnN0YXJ0KCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgYnkgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCB3aGVuIHRoZSBiYWNrZW5kIHJlcG9ydHNcclxuICAgKiBgc2Vzc2lvbi52aWV3Y29udGV4dC5taXNzaW5nYC4gSWRlbXBvdGVudCBhY3Jvc3MgY29uY3VycmVudCBhbmRcclxuICAgKiBzZXF1ZW50aWFsIGNhbGxzIHVudGlsIHRoZSBuZXh0IGByZXNldCgpYCDigJQgbXVsdGlwbGUgcmFjaW5nIEJGRlxyXG4gICAqIGZhaWx1cmVzIGNvbGxhcHNlIGludG8gYSBzaW5nbGUgcmVjb3ZlcnkgYXR0ZW1wdC5cclxuICAgKi9cclxuICBoYW5kbGVWaWV3Q29udGV4dExvc3QoZXJyOiBTZXNzaW9uRXJyb3IpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5jb25maWcpIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxyXG4gICAgICAgIG5ldyBFcnJvcihcclxuICAgICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVWaWV3Q29udGV4dExvc3QoKS4nXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5ydW5uaW5nVmlld0NvbnRleHRMb3N0O1xyXG4gICAgfVxyXG4gICAgdGhpcy5ydW5uaW5nVmlld0NvbnRleHRMb3N0ID0gdGhpcy5ydW5WaWV3Q29udGV4dExvc3QoZXJyKTtcclxuICAgIHJldHVybiB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHJ1blZpZXdDb250ZXh0TG9zdChlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKHRoaXMuY29uZmlnPy5vblZpZXdDb250ZXh0TG9zdCkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uVmlld0NvbnRleHRMb3N0KGVycik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQuaW5pdE5ld1ZpZXdDb250ZXh0KCk7XHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxsZWQgYnkgYFNtYXJ0RXJyb3JDYXRjaGluZ0ludGVyY2VwdG9yYCBmb3IgdHJhbnNwb3J0LWxldmVsIGZhaWx1cmVzXHJcbiAgICogKHN0YXR1cyAwLCA1eHgpLiBGaXJlLWFuZC1mb3JnZXQ7IHRoZSByZXF1ZXN0IHN0aWxsIHJlamVjdHMgd2l0aCB0aGVcclxuICAgKiBvcmlnaW5hbCBlcnJvciBzbyBjYWxsZXJzIGNhbiBkbyBwZXItY2FsbCBoYW5kbGluZy5cclxuICAgKi9cclxuICBhc3luYyBoYW5kbGVUcmFuc3BvcnRFcnJvcihlcnI6IEh0dHBFcnJvclJlc3BvbnNlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcclxuICAgICAgICBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAnU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgaGFuZGxlVHJhbnNwb3J0RXJyb3IoKS4nXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY29uZmlnLm9uVHJhbnNwb3J0RXJyb3IpIHtcclxuICAgICAgYXdhaXQgdGhpcy5jb25maWcub25UcmFuc3BvcnRFcnJvcihlcnIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLndhcm4oJ1RyYW5zcG9ydCBlcnJvciDigJQgc2VydmVyIHVucmVhY2hhYmxlIG9yIDV4eCcsIGVycik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHJ1bkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLnNlc3Npb24uaW5pdGlhbGl6ZSgpO1xyXG4gICAgICBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmluaXRWaWV3Q29udGV4dCgpO1xyXG4gICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlSW5pdEZhaWx1cmUoZXJyKTtcclxuICAgICAgdGhyb3cgZXJyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBydW5Cb290c3RyYXBXaXRoKGNyZWRzOiBTbWFydEJhY2tlbmRCb290c3RyYXBDcmVkZW50aWFscyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5zZXNzaW9uLnNldFNlc3Npb25Ub2tlbihjcmVkcy5zZXNzaW9uVG9rZW4sIGNyZWRzLnJlZnJlc2hUb2tlbik7XHJcbiAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQuaW5pdEZyb21FeGlzdGluZ1ZpZXdDb250ZXh0KGNyZWRzLnZpZXdDb250ZXh0VXVpZCk7XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVJbml0RmFpbHVyZShlcnIpO1xyXG4gICAgICB0aHJvdyBlcnI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZUluaXRGYWlsdXJlKGVycjogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IHRydWU7XHJcbiAgICBpZiAodGhpcy5jb25maWc/Lm9uU3RhcnRFcnJvcikge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU3RhcnRFcnJvcihlcnIpO1xyXG4gICAgICB9IGNhdGNoIChjYWxsYmFja0Vycikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2Uub25TdGFydEVycm9yIGNhbGxiYWNrIHRocmV3JywgY2FsbGJhY2tFcnIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZXNzaW9uRXJyb3IoZXJyOiBTZXNzaW9uRXJyb3IpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5jb25maWcpIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxyXG4gICAgICAgIG5ldyBFcnJvcihcclxuICAgICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVTZXNzaW9uRXJyb3IoKS4nXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucnVubmluZ1Nlc3Npb25FcnJvcikge1xyXG4gICAgICByZXR1cm4gdGhpcy5ydW5uaW5nU2Vzc2lvbkVycm9yO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ydW5uaW5nU2Vzc2lvbkVycm9yID0gdGhpcy5ydW5TZXNzaW9uRXJyb3IoZXJyKTtcclxuICAgIHJldHVybiB0aGlzLnJ1bm5pbmdTZXNzaW9uRXJyb3I7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHJ1blNlc3Npb25FcnJvcihlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKHRoaXMuY29uZmlnPy5vblNlc3Npb25FcnJvcikge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9uU2Vzc2lvbkVycm9yKGVycik7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIERlZmF1bHQ6IGNsZWFyIHRoZSBzZXNzaW9uIGFuZCBsZXQgdGhlIGJhY2tlbmQgcmVidWlsZCB2aWEgUkVTVEFSVF9WSUVXQ09OVEVYVC5cclxuICAgICAgLy8gTm8gcm91dGVyIG5hdmlnYXRpb24gaGVyZSDigJQgdGhlIG5ldyB2aWV3Y29udGV4dCBkcml2ZXMgbmF2aWdhdGlvbiBzZXJ2ZXItc2lkZS5cclxuICAgICAgYXdhaXQgdGhpcy5zZXNzaW9uLmNsZWFyQW5kU3RhcnROZXdTZXNzaW9uKCk7XHJcbiAgICB9IGZpbmFsbHkge1xyXG4gICAgICB0aGlzLnJ1bm5pbmdTZXNzaW9uRXJyb3IgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3Nlc3Npb24vc21hcnQtYmFja2VuZC1ib290c3RyYXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVzNDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsS0FBSztJQUNoRDtRQUNFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcseUJBQXlCLENBQUM7SUFDeEMsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLDRCQUE0QjtJQVF2QyxZQUNVLE9BQTRCLEVBQzVCLFdBQW9DO1FBRHBDLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQVB0QyxtQkFBYyxHQUFHLEtBQUssQ0FBQztJQVE1QixDQUFDO0lBRUosU0FBUyxDQUFDLE1BQW1DO1FBQzNDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQ1YsdUZBQXVGLENBQ3hGLENBQUM7WUFDRixPQUFPO1FBQ1QsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxNQUFN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c0ZBQXNGLENBQ3ZGLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ2xDLENBQUM7UUFDRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFpQjtRQUM3QyxJQUFJLENBQUM7WUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RDLE9BQU87WUFDVCxDQUFDO1lBQ0Qsa0ZBQWtGO1lBQ2xGLGlGQUFpRjtZQUNqRixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQyxDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDO1FBQ3ZDLENBQUM7SUFDSCxDQUFDOytHQXZPVSw0QkFBNEI7bUhBQTVCLDRCQUE0QixjQURmLE1BQU07OzRGQUNuQiw0QkFBNEI7a0JBRHhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU21hcnRTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc21hcnQtc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uRXJyb3IsIFNtYXJ0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydC1zZXNzaW9uLWhhbmRsZXIuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgU21hcnRCYWNrZW5kQm9vdHN0cmFwQ29uZmlnLFxyXG4gIFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzLFxyXG59IGZyb20gJy4vc21hcnQtYmFja2VuZC1ib290c3RyYXAuY29uZmlnJztcclxuXHJcbnR5cGUgQm9vdHN0cmFwTW9kZSA9ICdzdGFydCcgfCAnYm9vdHN0cmFwV2l0aCc7XHJcblxyXG4vKipcclxuICogVGhyb3duIGJ5IGB3aGVuUmVhZHkoKWAgd2hlbiB0aGUgdmlld2NvbnRleHQgd2FzIHJlYnVpbHQgYmV0d2VlbiB0aGVcclxuICogY2FsbGVyJ3MgZW50cnkgaW50byBgd2hlblJlYWR5KClgIGFuZCB0aGUgZ2F0ZSByZWxlYXNpbmcuIEFueSB1dWlkIHRoZVxyXG4gKiBjYWxsZXIgcmVzb2x2ZWQgYmVmb3JlIGVudGVyaW5nIGlzIG5vdyBzdGFsZTsgYFNtYXJ0Q29tcG9uZW50QXBpQ2xpZW50LnJ1bigpYFxyXG4gKiBjYXRjaGVzIHRoaXMgYW5kIHNraXBzIHRoZSBsb2FkIOKAlCB0aGUgY29tcG9uZW50IGlzIGV4cGVjdGVkIHRvIHJlY2VpdmUgYVxyXG4gKiBmcmVzaCB1dWlkIHRocm91Z2ggYHV1aWRPZlBhZ2VIYXNCZWVuQ2hhbmdlZGAgKE5PUk1BTCB2aWV3cykgb3IgdG8gYmVcclxuICogcmVjcmVhdGVkIGJ5IGBvcGVuVmlld2AgKEVNQkVEREVEL0RJQUxPRyB2aWV3cykuXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVmlld0NvbnRleHRSZWJ1aWx0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignVmlld0NvbnRleHRSZWJ1aWx0Jyk7XHJcbiAgICB0aGlzLm5hbWUgPSAnVmlld0NvbnRleHRSZWJ1aWx0RXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgaW1wbGVtZW50cyBTbWFydFNlc3Npb25IYW5kbGVyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBjb25maWc/OiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWc7XHJcbiAgcHJpdmF0ZSBydW5uaW5nSW5pdD86IFByb21pc2U8dm9pZD47XHJcbiAgcHJpdmF0ZSBsYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgbW9kZT86IEJvb3RzdHJhcE1vZGU7XHJcbiAgcHJpdmF0ZSBydW5uaW5nVmlld0NvbnRleHRMb3N0PzogUHJvbWlzZTx2b2lkPjtcclxuICBwcml2YXRlIHJ1bm5pbmdTZXNzaW9uRXJyb3I/OiBQcm9taXNlPHZvaWQ+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2Vzc2lvbjogU21hcnRTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgdmlld0NvbnRleHQ6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBjb25maWd1cmUoY29uZmlnOiBTbWFydEJhY2tlbmRCb290c3RyYXBDb25maWcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZykge1xyXG4gICAgICBjb25zb2xlLndhcm4oXHJcbiAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UgYWxyZWFkeSBjb25maWd1cmVkOyBpZ25vcmluZyBkdXBsaWNhdGUgY29uZmlndXJlKCkgY2FsbC4nXHJcbiAgICAgICk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xyXG5cclxuICAgIHRoaXMuc2Vzc2lvbi5zZXRVcmwoY29uZmlnLnVybCk7XHJcbiAgICB0aGlzLnNlc3Npb24uc2V0Q29va2llTmFtZShjb25maWcuY29va2llTmFtZSk7XHJcbiAgICB0aGlzLnNlc3Npb24uc2V0U2Vzc2lvbkhhbmRsZXJTZXJ2aWNlKHRoaXMpO1xyXG5cclxuICAgIHRoaXMudmlld0NvbnRleHQuc2V0Vmlld0hhbmRsZXJzKGNvbmZpZy52aWV3SGFuZGxlcnMpO1xyXG4gICAgdGhpcy52aWV3Q29udGV4dC5zZXRNZXNzYWdlRGlhbG9nTmFtZShjb25maWcubWVzc2FnZURpYWxvZ05hbWUgPz8gJ21lc3NhZ2UtZGlhbG9nJyk7XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0LnNldEFjdGlvbkRlc2NyaXB0b3JzKGNvbmZpZy5hY3Rpb25EZXNjcmlwdG9ycyk7XHJcblxyXG4gICAgdGhpcy52aWV3Q29udGV4dC5vcGVuU21hcnRMaW5rLnN1YnNjcmliZSgoW2NoYW5uZWwsIHV1aWRdKSA9PiB7XHJcbiAgICAgIHRoaXMuaGFuZGxlU21hcnRMaW5rKGNoYW5uZWwsIHV1aWQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIGhhbmRsZVNtYXJ0TGluayhjaGFubmVsOiBzdHJpbmcsIHV1aWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5vblNtYXJ0TGluaykge1xyXG4gICAgICBhd2FpdCB0aGlzLmNvbmZpZy5vblNtYXJ0TGluayhjaGFubmVsLCB1dWlkKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgLy8gRGVmYXVsdDogc2ltcGx5IHVuYmxvY2sgc2hvd1B1Ymxpc2hlZFZpZXcncyBgYXdhaXQgb3BlblNtYXJ0TGluay50b1Byb21pc2UoKWAuXHJcbiAgICAvLyBUaGUgdmlld0NvbnRleHQgaXMgYWxyZWFkeSBpbml0aWFsaXplZCBieSBzdGFydCgpL2Jvb3RzdHJhcFdpdGgoKSDigJQgY2FsbGluZ1xyXG4gICAgLy8gaW5pdGlhbGl6ZSgpIGhlcmUgd2l0aG91dCBhIHV1aWQgd291bGQgYWx3YXlzIHRyaWdnZXIgc3RhcnRWaWV3Q29udGV4dCgpLFxyXG4gICAgLy8gY3JlYXRpbmcgYSBzZWNvbmQgdmlld2NvbnRleHQgYW5kIHByb2R1Y2luZyBkdXBsaWNhdGUgVUkgKGUuZy4gdHdvIGxvZ2luIHBhZ2VzKS5cclxuICAgIHRoaXMudmlld0NvbnRleHQub3BlblNtYXJ0TGluay5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcclxuICAgICAgICBuZXcgRXJyb3IoJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuY29uZmlndXJlKCkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIHN0YXJ0KCkuJylcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdib290c3RyYXBXaXRoJyAmJiAhdGhpcy5sYXN0SW5pdEZhaWxlZCkge1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXHJcbiAgICAgICAgbmV3IEVycm9yKFxyXG4gICAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuYm9vdHN0cmFwV2l0aCgpIHdhcyBhbHJlYWR5IGNhbGxlZDsgc3RhcnQoKSBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCBpdC4gQ2FsbCByZXNldCgpIGZpcnN0IHRvIHN3aXRjaCBlbnRyeSBwb2ludHMuJ1xyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnJ1bm5pbmdJbml0ICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xyXG4gICAgfVxyXG4gICAgdGhpcy5tb2RlID0gJ3N0YXJ0JztcclxuICAgIHRoaXMubGFzdEluaXRGYWlsZWQgPSBmYWxzZTtcclxuICAgIHRoaXMucnVubmluZ0luaXQgPSB0aGlzLnJ1bkluaXQoKTtcclxuICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xyXG4gIH1cclxuXHJcbiAgYm9vdHN0cmFwV2l0aChjcmVkczogU21hcnRCYWNrZW5kQm9vdHN0cmFwQ3JlZGVudGlhbHMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5jb25maWcpIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxyXG4gICAgICAgIG5ldyBFcnJvcignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5jb25maWd1cmUoKSBtdXN0IGJlIGNhbGxlZCBiZWZvcmUgYm9vdHN0cmFwV2l0aCgpLicpXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnc3RhcnQnICYmICF0aGlzLmxhc3RJbml0RmFpbGVkKSB7XHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcclxuICAgICAgICBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAnU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5zdGFydCgpIHdhcyBhbHJlYWR5IGNhbGxlZDsgYm9vdHN0cmFwV2l0aCgpIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIGl0LiBDYWxsIHJlc2V0KCkgZmlyc3QgdG8gc3dpdGNoIGVudHJ5IHBvaW50cy4nXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucnVubmluZ0luaXQgJiYgIXRoaXMubGFzdEluaXRGYWlsZWQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucnVubmluZ0luaXQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLm1vZGUgPSAnYm9vdHN0cmFwV2l0aCc7XHJcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gZmFsc2U7XHJcbiAgICB0aGlzLnJ1bm5pbmdJbml0ID0gdGhpcy5ydW5Cb290c3RyYXBXaXRoKGNyZWRzKTtcclxuICAgIHJldHVybiB0aGlzLnJ1bm5pbmdJbml0O1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgd2hlblJlYWR5KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLnJ1bm5pbmdJbml0KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignQm9vdHN0cmFwTm90U3RhcnRlZCcpO1xyXG4gICAgfVxyXG4gICAgYXdhaXQgdGhpcy5ydW5uaW5nSW5pdDtcclxuICAgIGNvbnN0IGdlbmVyYXRpb25CZWZvcmUgPSB0aGlzLnZpZXdDb250ZXh0LmdldEdlbmVyYXRpb24oKTtcclxuICAgIC8vIEdhdGUgb24gYW55IGluLWZsaWdodCBzZXNzaW9uL3ZpZXdjb250ZXh0IHJlY292ZXJ5IHNvIGEgY29tcG9uZW50J3NcclxuICAgIC8vIEJGRiBjYWxsIGNhbm5vdCByYWNlIGFnYWluc3QgdGhlIHNlc3Npb24gYmVpbmcgdG9ybiBkb3duIGFuZCByZWJ1aWx0LlxyXG4gICAgLy8gVGhlIGxvb3AgaGFuZGxlcyBjYXNjYWRpbmcgcmVjb3ZlcmllcyAoZS5nLiB2Yy1sb3N0IHN1cmZhY2VzIGR1cmluZ1xyXG4gICAgLy8gYSBzZXNzaW9uIHJlc3RhcnQpOiBlYWNoIHNldHRsZSBjbGVhcnMgaXRzIG93biBsYXRjaCBpbiBmaW5hbGx5LCBhbmRcclxuICAgIC8vIHRoZSBuZXh0IGl0ZXJhdGlvbiBwaWNrcyB1cCB3aGF0ZXZlciBzdGFydGVkIGluIHRoZSBtZWFudGltZS5cclxuICAgIHdoaWxlICh0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QgfHwgdGhpcy5ydW5uaW5nU2Vzc2lvbkVycm9yKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdDtcclxuICAgICAgYXdhaXQgdGhpcy5ydW5uaW5nU2Vzc2lvbkVycm9yO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudmlld0NvbnRleHQuZ2V0R2VuZXJhdGlvbigpICE9PSBnZW5lcmF0aW9uQmVmb3JlKSB7XHJcbiAgICAgIHRocm93IG5ldyBWaWV3Q29udGV4dFJlYnVpbHRFcnJvcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgcmVzZXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnJ1bm5pbmdJbml0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5sYXN0SW5pdEZhaWxlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5tb2RlID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5ydW5uaW5nVmlld0NvbnRleHRMb3N0ID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5ydW5uaW5nU2Vzc2lvbkVycm9yID0gdW5kZWZpbmVkO1xyXG4gICAgcmV0dXJuIHRoaXMuc3RhcnQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGxlZCBieSBgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3JgIHdoZW4gdGhlIGJhY2tlbmQgcmVwb3J0c1xyXG4gICAqIGBzZXNzaW9uLnZpZXdjb250ZXh0Lm1pc3NpbmdgLiBJZGVtcG90ZW50IGFjcm9zcyBjb25jdXJyZW50IGFuZFxyXG4gICAqIHNlcXVlbnRpYWwgY2FsbHMgdW50aWwgdGhlIG5leHQgYHJlc2V0KClgIOKAlCBtdWx0aXBsZSByYWNpbmcgQkZGXHJcbiAgICogZmFpbHVyZXMgY29sbGFwc2UgaW50byBhIHNpbmdsZSByZWNvdmVyeSBhdHRlbXB0LlxyXG4gICAqL1xyXG4gIGhhbmRsZVZpZXdDb250ZXh0TG9zdChlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXHJcbiAgICAgICAgbmV3IEVycm9yKFxyXG4gICAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuY29uZmlndXJlKCkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGhhbmRsZVZpZXdDb250ZXh0TG9zdCgpLidcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ydW5uaW5nVmlld0NvbnRleHRMb3N0KSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3Q7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJ1bm5pbmdWaWV3Q29udGV4dExvc3QgPSB0aGlzLnJ1blZpZXdDb250ZXh0TG9zdChlcnIpO1xyXG4gICAgcmV0dXJuIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcnVuVmlld0NvbnRleHRMb3N0KGVycjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAodGhpcy5jb25maWc/Lm9uVmlld0NvbnRleHRMb3N0KSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jb25maWcub25WaWV3Q29udGV4dExvc3QoZXJyKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0TmV3Vmlld0NvbnRleHQoKTtcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIHRoaXMucnVubmluZ1ZpZXdDb250ZXh0TG9zdCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGxlZCBieSBgU21hcnRFcnJvckNhdGNoaW5nSW50ZXJjZXB0b3JgIGZvciB0cmFuc3BvcnQtbGV2ZWwgZmFpbHVyZXNcclxuICAgKiAoc3RhdHVzIDAsIDV4eCkuIEZpcmUtYW5kLWZvcmdldDsgdGhlIHJlcXVlc3Qgc3RpbGwgcmVqZWN0cyB3aXRoIHRoZVxyXG4gICAqIG9yaWdpbmFsIGVycm9yIHNvIGNhbGxlcnMgY2FuIGRvIHBlci1jYWxsIGhhbmRsaW5nLlxyXG4gICAqL1xyXG4gIGFzeW5jIGhhbmRsZVRyYW5zcG9ydEVycm9yKGVycjogSHR0cEVycm9yUmVzcG9uc2UpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5jb25maWcpIHtcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KFxyXG4gICAgICAgIG5ldyBFcnJvcihcclxuICAgICAgICAgICdTbWFydEJhY2tlbmRCb290c3RyYXBTZXJ2aWNlLmNvbmZpZ3VyZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBoYW5kbGVUcmFuc3BvcnRFcnJvcigpLidcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jb25maWcub25UcmFuc3BvcnRFcnJvcikge1xyXG4gICAgICBhd2FpdCB0aGlzLmNvbmZpZy5vblRyYW5zcG9ydEVycm9yKGVycik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnNvbGUud2FybignVHJhbnNwb3J0IGVycm9yIOKAlCBzZXJ2ZXIgdW5yZWFjaGFibGUgb3IgNXh4JywgZXJyKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcnVuSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuc2Vzc2lvbi5pbml0aWFsaXplKCk7XHJcbiAgICAgIGF3YWl0IHRoaXMudmlld0NvbnRleHQuaW5pdFZpZXdDb250ZXh0KCk7XHJcbiAgICB9IGNhdGNoIChlcnIpIHtcclxuICAgICAgYXdhaXQgdGhpcy5oYW5kbGVJbml0RmFpbHVyZShlcnIpO1xyXG4gICAgICB0aHJvdyBlcnI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIHJ1bkJvb3RzdHJhcFdpdGgoY3JlZHM6IFNtYXJ0QmFja2VuZEJvb3RzdHJhcENyZWRlbnRpYWxzKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICB0aGlzLnNlc3Npb24uc2V0U2Vzc2lvblRva2VuKGNyZWRzLnNlc3Npb25Ub2tlbiwgY3JlZHMucmVmcmVzaFRva2VuKTtcclxuICAgICAgYXdhaXQgdGhpcy52aWV3Q29udGV4dC5pbml0RnJvbUV4aXN0aW5nVmlld0NvbnRleHQoY3JlZHMudmlld0NvbnRleHRVdWlkKTtcclxuICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZUluaXRGYWlsdXJlKGVycik7XHJcbiAgICAgIHRocm93IGVycjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgaGFuZGxlSW5pdEZhaWx1cmUoZXJyOiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmxhc3RJbml0RmFpbGVkID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmNvbmZpZz8ub25TdGFydEVycm9yKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jb25maWcub25TdGFydEVycm9yKGVycik7XHJcbiAgICAgIH0gY2F0Y2ggKGNhbGxiYWNrRXJyKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignU21hcnRCYWNrZW5kQm9vdHN0cmFwU2VydmljZS5vblN0YXJ0RXJyb3IgY2FsbGJhY2sgdGhyZXcnLCBjYWxsYmFja0Vycik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVNlc3Npb25FcnJvcihlcnI6IFNlc3Npb25FcnJvcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZykge1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXHJcbiAgICAgICAgbmV3IEVycm9yKFxyXG4gICAgICAgICAgJ1NtYXJ0QmFja2VuZEJvb3RzdHJhcFNlcnZpY2UuY29uZmlndXJlKCkgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGhhbmRsZVNlc3Npb25FcnJvcigpLidcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5ydW5uaW5nU2Vzc2lvbkVycm9yKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJ1bm5pbmdTZXNzaW9uRXJyb3I7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJ1bm5pbmdTZXNzaW9uRXJyb3IgPSB0aGlzLnJ1blNlc3Npb25FcnJvcihlcnIpO1xyXG4gICAgcmV0dXJuIHRoaXMucnVubmluZ1Nlc3Npb25FcnJvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcnVuU2Vzc2lvbkVycm9yKGVycjogU2Vzc2lvbkVycm9yKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAodGhpcy5jb25maWc/Lm9uU2Vzc2lvbkVycm9yKSB7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5jb25maWcub25TZXNzaW9uRXJyb3IoZXJyKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgLy8gRGVmYXVsdDogY2xlYXIgdGhlIHNlc3Npb24gYW5kIGxldCB0aGUgYmFja2VuZCByZWJ1aWxkIHZpYSBSRVNUQVJUX1ZJRVdDT05URVhULlxyXG4gICAgICAvLyBObyByb3V0ZXIgbmF2aWdhdGlvbiBoZXJlIOKAlCB0aGUgbmV3IHZpZXdjb250ZXh0IGRyaXZlcyBuYXZpZ2F0aW9uIHNlcnZlci1zaWRlLlxyXG4gICAgICBhd2FpdCB0aGlzLnNlc3Npb24uY2xlYXJBbmRTdGFydE5ld1Nlc3Npb24oKTtcclxuICAgIH0gZmluYWxseSB7XHJcbiAgICAgIHRoaXMucnVubmluZ1Nlc3Npb25FcnJvciA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,48 @@
1
+ import { computed, Injectable, signal } from '@angular/core';
2
+ import { tap, lastValueFrom } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../view-context/api/api/api";
5
+ const THEME_CACHE_KEY = 'themeCache';
6
+ export class ThemeService {
7
+ constructor(viewService) {
8
+ this.viewService = viewService;
9
+ this._currentTheme = signal(localStorage.getItem(THEME_CACHE_KEY) ??
10
+ (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'));
11
+ this.currentTheme = computed(() => this._currentTheme());
12
+ this.themes = [];
13
+ }
14
+ setTheme(themeDescriptor) {
15
+ if (!themeDescriptor.name) {
16
+ throw new Error('No theme name given.');
17
+ }
18
+ document.documentElement.className = 'theme-' + themeDescriptor.name;
19
+ localStorage.setItem(THEME_CACHE_KEY, themeDescriptor.name);
20
+ this._currentTheme.set(themeDescriptor.name);
21
+ }
22
+ getThemes() {
23
+ return this.viewService.getThemes().pipe(tap((themes) => (this.themes = themes)));
24
+ }
25
+ async getSelectedTheme() {
26
+ if (this.themes.length === 0) {
27
+ this.themes = await lastValueFrom(this.getThemes());
28
+ }
29
+ var themeName = localStorage.getItem(THEME_CACHE_KEY) ?? this.getSystemTheme();
30
+ var theme = this.themes.find((t) => t.name === themeName) ?? this.themes.find((t) => t.name === 'light');
31
+ if (!theme) {
32
+ throw new Error('No theme found.');
33
+ }
34
+ return theme;
35
+ }
36
+ getSystemTheme() {
37
+ return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ThemeService, deps: [{ token: i1.ViewService }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ThemeService, decorators: [{
43
+ type: Injectable,
44
+ args: [{
45
+ providedIn: 'root',
46
+ }]
47
+ }], ctorParameters: () => [{ type: i1.ViewService }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3RoZW1lL3RoZW1lLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBYyxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFJdEQsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDO0FBS3JDLE1BQU0sT0FBTyxZQUFZO0lBU3ZCLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBUnBDLGtCQUFhLEdBQUcsTUFBTSxDQUM1QixZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztZQUNuQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQ2pGLENBQUM7UUFDSyxpQkFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUVuRCxXQUFNLEdBQXNCLEVBQUUsQ0FBQztJQUVRLENBQUM7SUFFekMsUUFBUSxDQUFDLGVBQWdDO1FBQzlDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsR0FBRyxRQUFRLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztRQUNyRSxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVNLEtBQUssQ0FBQyxnQkFBZ0I7UUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFFRCxJQUFJLFNBQVMsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMvRSxJQUFJLEtBQUssR0FDUCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQztRQUUvRixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDckMsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLDhCQUE4QixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUN0RixDQUFDOytHQTNDVSxZQUFZO21IQUFaLFlBQVksY0FGWCxNQUFNOzs0RkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBJbmplY3RhYmxlLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFwLCBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaS9hcGkvYXBpJztcclxuaW1wb3J0IHsgVGhlbWVEZXNjcmlwdG9yIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaSc7XHJcblxyXG5jb25zdCBUSEVNRV9DQUNIRV9LRVkgPSAndGhlbWVDYWNoZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9jdXJyZW50VGhlbWUgPSBzaWduYWw8c3RyaW5nPihcclxuICAgIGxvY2FsU3RvcmFnZS5nZXRJdGVtKFRIRU1FX0NBQ0hFX0tFWSkgPz9cclxuICAgICAgKHdpbmRvdy5tYXRjaE1lZGlhKCcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJykubWF0Y2hlcyA/ICdkYXJrJyA6ICdsaWdodCcpXHJcbiAgKTtcclxuICBwdWJsaWMgY3VycmVudFRoZW1lID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fY3VycmVudFRoZW1lKCkpO1xyXG5cclxuICBwcml2YXRlIHRoZW1lczogVGhlbWVEZXNjcmlwdG9yW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3U2VydmljZTogVmlld1NlcnZpY2UpIHt9XHJcblxyXG4gIHB1YmxpYyBzZXRUaGVtZSh0aGVtZURlc2NyaXB0b3I6IFRoZW1lRGVzY3JpcHRvcik6IHZvaWQge1xyXG4gICAgaWYgKCF0aGVtZURlc2NyaXB0b3IubmFtZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHRoZW1lIG5hbWUgZ2l2ZW4uJyk7XHJcbiAgICB9XHJcblxyXG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTmFtZSA9ICd0aGVtZS0nICsgdGhlbWVEZXNjcmlwdG9yLm5hbWU7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShUSEVNRV9DQUNIRV9LRVksIHRoZW1lRGVzY3JpcHRvci5uYW1lKTtcclxuICAgIHRoaXMuX2N1cnJlbnRUaGVtZS5zZXQodGhlbWVEZXNjcmlwdG9yLm5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRoZW1lcygpOiBPYnNlcnZhYmxlPFRoZW1lRGVzY3JpcHRvcltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy52aWV3U2VydmljZS5nZXRUaGVtZXMoKS5waXBlKHRhcCgodGhlbWVzKSA9PiAodGhpcy50aGVtZXMgPSB0aGVtZXMpKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0ZWRUaGVtZSgpOiBQcm9taXNlPFRoZW1lRGVzY3JpcHRvcj4ge1xyXG4gICAgaWYgKHRoaXMudGhlbWVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnRoZW1lcyA9IGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5nZXRUaGVtZXMoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIHRoZW1lTmFtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKFRIRU1FX0NBQ0hFX0tFWSkgPz8gdGhpcy5nZXRTeXN0ZW1UaGVtZSgpO1xyXG4gICAgdmFyIHRoZW1lID1cclxuICAgICAgdGhpcy50aGVtZXMuZmluZCgodCkgPT4gdC5uYW1lID09PSB0aGVtZU5hbWUpID8/IHRoaXMudGhlbWVzLmZpbmQoKHQpID0+IHQubmFtZSA9PT0gJ2xpZ2h0Jyk7XHJcblxyXG4gICAgaWYgKCF0aGVtZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHRoZW1lIGZvdW5kLicpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGVtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTeXN0ZW1UaGVtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHdpbmRvdy5tYXRjaE1lZGlhKCcocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspJykubWF0Y2hlcyA/ICdkYXJrJyA6ICdsaWdodCc7XHJcbiAgfVxyXG59XHJcbiJdfQ==