@tuki-io/tuki-widgets 0.0.219-dev.8 → 0.0.219-dev.9

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 (171) hide show
  1. package/README.md +24 -24
  2. package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +1 -1
  3. package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +1 -1
  4. package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +3 -3
  5. package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
  6. package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
  7. package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +17 -17
  8. package/esm2020/lib/widgets.component.mjs +9 -9
  9. package/esm2020/lib/widgets.module.mjs +1 -1
  10. package/esm2020/lib/widgets.service.mjs +1 -1
  11. package/esm2020/public-api.mjs +1 -1
  12. package/esm2020/user-creation/src/app.constants.mjs +1 -1
  13. package/esm2020/user-creation/src/classes/notification.mjs +1 -1
  14. package/esm2020/user-creation/src/classes/site.mjs +1 -1
  15. package/esm2020/user-creation/src/environments/environment.mjs +1 -1
  16. package/esm2020/user-creation/src/interfaces/user-creation-wizard.interfaces.mjs +1 -1
  17. package/esm2020/user-creation/src/shared/components/notification/notification.component.mjs +3 -3
  18. package/esm2020/user-creation/src/shared/pipes/truncate.pipe.mjs +1 -1
  19. package/esm2020/user-creation/src/shared/services/notification.service.mjs +1 -1
  20. package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +1 -1
  21. package/esm2020/user-creation/src/shared/services/utils.mjs +1 -1
  22. package/esm2020/user-creation/src/utils/app-loader/app-loader.mjs +3 -3
  23. package/esm2020/user-creation/src/utils/build-savable-end-user.mjs +1 -1
  24. package/esm2020/user-creation/src/utils/device-default-prefix.mjs +19 -2
  25. package/esm2020/user-creation/src/utils/device-name-dynamic-tokens.mjs +4 -0
  26. package/esm2020/user-creation/src/utils/device-name-validation.mjs +1 -1
  27. package/esm2020/user-creation/src/utils/model.mjs +1 -1
  28. package/esm2020/user-creation/src/utils/parse-device-name-rule.mjs +6 -3
  29. package/esm2020/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.mjs +60 -13
  30. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +3 -3
  31. package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.service.mjs +13 -9
  32. package/esm2020/user-device-manage/public-api.mjs +1 -1
  33. package/esm2020/user-device-manage/src/app.constants.mjs +1 -1
  34. package/esm2020/user-device-manage/src/classes/device.mjs +1 -1
  35. package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
  36. package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +1 -1
  37. package/esm2020/user-device-manage/src/classes/line-association.mjs +1 -1
  38. package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +1 -1
  39. package/esm2020/user-device-manage/src/classes/line-directory.mjs +1 -1
  40. package/esm2020/user-device-manage/src/classes/line.mjs +1 -1
  41. package/esm2020/user-device-manage/src/classes/notification.mjs +1 -1
  42. package/esm2020/user-device-manage/src/classes/recording-options.mjs +1 -1
  43. package/esm2020/user-device-manage/src/classes/simplified-user.mjs +1 -1
  44. package/esm2020/user-device-manage/src/classes/site-defaults.mjs +1 -1
  45. package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +1 -1
  46. package/esm2020/user-device-manage/src/classes/types.mjs +1 -1
  47. package/esm2020/user-device-manage/src/common-functions.mjs +1 -1
  48. package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +3 -3
  49. package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +3 -3
  50. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +3 -3
  51. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
  52. package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +1 -1
  53. package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
  54. package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +2 -2
  55. package/esm2020/user-device-manage/src/environments/environment.mjs +1 -1
  56. package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +1 -1
  57. package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  58. package/esm2020/user-device-manage/src/material.module.mjs +1 -1
  59. package/esm2020/user-device-manage/src/notifications/notification.component.mjs +3 -3
  60. package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
  61. package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
  62. package/esm2020/user-device-manage/src/services/device.service.mjs +1 -1
  63. package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
  64. package/esm2020/user-device-manage/src/services/line.service.mjs +1 -1
  65. package/esm2020/user-device-manage/src/services/notification.service.mjs +1 -1
  66. package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +1 -1
  67. package/esm2020/user-device-manage/src/services/site-settings.service.mjs +1 -1
  68. package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +1 -1
  69. package/esm2020/user-device-manage/src/services/user.service.mjs +1 -1
  70. package/esm2020/user-device-manage/src/services/utils.service.mjs +1 -1
  71. package/esm2020/user-device-manage/src/services/validation.service.mjs +1 -1
  72. package/esm2020/user-device-manage/src/shared/tk-page-section/page-section.component.mjs +1 -1
  73. package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
  74. package/esm2020/user-manage/public-api.mjs +1 -1
  75. package/esm2020/user-manage/src/app.constants.mjs +1 -1
  76. package/esm2020/user-manage/src/classes/device.mjs +1 -1
  77. package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
  78. package/esm2020/user-manage/src/classes/line-association.mjs +1 -1
  79. package/esm2020/user-manage/src/classes/line-call-info-display.mjs +1 -1
  80. package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
  81. package/esm2020/user-manage/src/classes/line.mjs +1 -1
  82. package/esm2020/user-manage/src/classes/notification.mjs +1 -1
  83. package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
  84. package/esm2020/user-manage/src/classes/recording-options.mjs +1 -1
  85. package/esm2020/user-manage/src/classes/simplified-user.mjs +1 -1
  86. package/esm2020/user-manage/src/classes/table-data.mjs +1 -1
  87. package/esm2020/user-manage/src/classes/translation-pattern.mjs +1 -1
  88. package/esm2020/user-manage/src/classes/user-list.mjs +1 -1
  89. package/esm2020/user-manage/src/common-functions.mjs +1 -1
  90. package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
  91. package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
  92. package/esm2020/user-manage/src/environments/environment.mjs +1 -1
  93. package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +1 -1
  94. package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
  95. package/esm2020/user-manage/src/material.module.mjs +1 -1
  96. package/esm2020/user-manage/src/notifications/notification.component.mjs +3 -3
  97. package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +1 -1
  98. package/esm2020/user-manage/src/services/api.service.mjs +1 -1
  99. package/esm2020/user-manage/src/services/dns.service.mjs +1 -1
  100. package/esm2020/user-manage/src/services/line.service.mjs +1 -1
  101. package/esm2020/user-manage/src/services/notification.service.mjs +1 -1
  102. package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +1 -1
  103. package/esm2020/user-manage/src/services/site-settings.service.mjs +1 -1
  104. package/esm2020/user-manage/src/services/sorting-utils.service.mjs +1 -1
  105. package/esm2020/user-manage/src/services/user.service.mjs +1 -1
  106. package/esm2020/user-manage/src/services/utils.service.mjs +1 -1
  107. package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +3 -3
  108. package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
  109. package/esm2020/user-manage/src/user-manage-widget.component.mjs +2 -2
  110. package/esm2020/user-manage/src/user-manage.module.mjs +1 -1
  111. package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
  112. package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +3 -3
  113. package/esm2020/users-list/public-api.mjs +1 -1
  114. package/esm2020/users-list/src/app.constants.mjs +1 -1
  115. package/esm2020/users-list/src/classes/app-location.mjs +1 -1
  116. package/esm2020/users-list/src/classes/device.mjs +1 -1
  117. package/esm2020/users-list/src/classes/line.mjs +1 -1
  118. package/esm2020/users-list/src/classes/move-user.mjs +1 -1
  119. package/esm2020/users-list/src/classes/notification.mjs +1 -1
  120. package/esm2020/users-list/src/classes/simlified-user.mjs +1 -1
  121. package/esm2020/users-list/src/classes/table-data.mjs +1 -1
  122. package/esm2020/users-list/src/classes/user-list.mjs +1 -1
  123. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +3 -3
  124. package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +3 -3
  125. package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +3 -3
  126. package/esm2020/users-list/src/services/api-webex.service.mjs +1 -1
  127. package/esm2020/users-list/src/services/api.service.mjs +1 -1
  128. package/esm2020/users-list/src/services/dns.service.mjs +1 -1
  129. package/esm2020/users-list/src/services/events-communication.service.mjs +1 -1
  130. package/esm2020/users-list/src/services/notification.service.mjs +1 -1
  131. package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +1 -1
  132. package/esm2020/users-list/src/services/site-settings.service.mjs +1 -1
  133. package/esm2020/users-list/src/services/user.service.mjs +1 -1
  134. package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +3 -3
  135. package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
  136. package/esm2020/users-list/src/utils/common-functions.mjs +1 -1
  137. package/esm2020/users-list/src/utils/notifications/notification.component.mjs +3 -3
  138. package/esm2020/users-list/src/utils/utils.service.mjs +1 -1
  139. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +2 -2
  140. package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  141. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +20 -20
  142. package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  143. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +109 -33
  144. package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  145. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +18 -18
  146. package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  147. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +18 -18
  148. package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  149. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +12 -12
  150. package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  151. package/fesm2015/tuki-io-tuki-widgets.mjs +8 -8
  152. package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -1
  153. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +2 -2
  154. package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
  155. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +20 -20
  156. package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
  157. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +102 -29
  158. package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
  159. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +18 -18
  160. package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
  161. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +18 -18
  162. package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
  163. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +12 -12
  164. package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
  165. package/fesm2020/tuki-io-tuki-widgets.mjs +8 -8
  166. package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -1
  167. package/package.json +1 -1
  168. package/user-creation/src/utils/device-default-prefix.d.ts +7 -2
  169. package/user-creation/src/utils/device-name-dynamic-tokens.d.ts +1 -0
  170. package/user-creation/src/utils/parse-device-name-rule.d.ts +1 -0
  171. package/user-creation/src/widgets/user-creation-wizard/components/user-details-step/user-details-step.component.d.ts +2 -0
@@ -113,4 +113,4 @@ UserCreationApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0
113
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCreationApiService, decorators: [{
114
114
  type: Injectable
115
115
  }], ctorParameters: function () { return []; } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jcmVhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvc2VydmljZXMvdXNlci1jcmVhdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZFLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFHaEQsTUFBTSxPQUFPLHNCQUFzQjtJQVdqQztRQVRRLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDZCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNyRCxlQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWxELDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUEwQixFQUFFLENBQUMsQ0FBQztRQUMxRSxtQkFBYyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVuRSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXhCLENBQUM7SUFFVixZQUFZO0lBRW5CLENBQUM7SUFFTSwwQkFBMEIsQ0FBQyxVQUFrQjtRQUNsRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsbUNBQW1DLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMvRixPQUFP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QUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsSUFBUyxFQUFFLFVBQWtCLEVBQUUsTUFBYztRQUNuRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsVUFBa0I7UUFDekQsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDMUIsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQ25GLENBQUM7SUFDSixDQUFDOztvSEE3SFUsc0JBQXNCO3dIQUF0QixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBtYXAsIE9ic2VydmFibGUsIHRhcCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBTaXRlLCBTaXRlRGVmYXVsdHMsIFNpdGVJbnRlcmZhY2UsIFNpdGVUZW1wbGF0ZUludGVyZmFjZSB9IGZyb20gXCIuLi8uLi9jbGFzc2VzL3NpdGVcIjtcbmltcG9ydCB7IERldmljZURlZmF1bHRzSW50ZXJmYWNlLCBVc2VyVGVtcGxhdGVJbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy91c2VyLWNyZWF0aW9uLXdpemFyZC5pbnRlcmZhY2VzXCI7XG4vLyBpbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSBcIi4vYXBpLnNlcnZpY2VcIjtcbmltcG9ydCB7IEFQSSwgTUFYX0lOVEVHRVIgfSBmcm9tIFwiLi4vLi4vYXBwLmNvbnN0YW50c1wiO1xuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gXCIuLi9hcGkvYXBpLnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVzZXJDcmVhdGlvbkFwaVNlcnZpY2Uge1xuXG4gIHByaXZhdGUgX2FsbFNpdGVzOiBTaXRlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzaXRlc0xpc3RTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2l0ZVtdPihbXSk7XG4gIHB1YmxpYyByZWFkb25seSBzaXRlc0xpc3QkID0gdGhpcy5zaXRlc0xpc3RTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlc0xpc3RTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VXNlclRlbXBsYXRlSW50ZXJmYWNlW10+KFtdKTtcbiAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlc0xpc3QkID0gdGhpcy50ZW1wbGF0ZXNMaXN0U3ViamVjdCQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFQSVNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIGdldFNpdGVzTGlzdCgpIHtcblxuICB9XG5cbiAgcHVibGljIGNoZWNrQ29udHJvbEh1YkludGVncmF0aW9uKGN1c3RvbWVySWQ6IHN0cmluZykge1xuICAgIGNvbnN0IFVSTCA9IEFQSS5XRUJFWF9DSEVDS19DT05UUk9MX0hVQl9JTlRFR1JBVElPTi5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIFN0cmluZyhjdXN0b21lcklkKSk7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChVUkwpO1xuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldEFsbEN1c3RvbWVyU2l0ZXMoY3VzdG9tZXJJZDogc3RyaW5nLCBvbmx5U2l0ZXNXaXRoTG9jYXRpb24/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxTaXRlW10+IHtcbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBpZiAob25seVNpdGVzV2l0aExvY2F0aW9uKSB7XG4gICAgICBwYXJhbXNbJ29ubHlTaXRlc1dpdGhMb2NhdGlvbiddID0gJ3RydWUnO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoUGFnaW5hdGlvbihBUEkuU0lURVMucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBTdHJpbmcoY3VzdG9tZXJJZCkpLCBNQVhfSU5URUdFUiwgMCwgcGFyYW1zLCBmYWxzZSlcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgLy8gdGhpcy5fYWxsU2l0ZXMgPSBbXTtcbiAgICAgICAgICAvLyBpZiAocmVzLnBhZ2VEYXRhICYmIHJlcy5wYWdlRGF0YS5sZW5ndGgpIHtcbiAgICAgICAgICAvLyB0aGlzLmFzc2lnbkFsbFNpdGVzKGN1c3RvbWVySWQsIHJlcy5wYWdlRGF0YSk7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgIC8vIHRoaXMuYWxsQ3VzdG9tZXJTaXRlcyQubmV4dCh0cnVlKTtcbiAgICAgICAgICAvLyByZXR1cm4gdGhpcy5fYWxsU2l0ZXM7XG4gICAgICAgICAgdGhpcy5zaXRlc0xpc3RTdWJqZWN0JC5uZXh0KFsuLi5yZXMucGFnZURhdGFdKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAvLyAgIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldFNpdGVBbGxEYXRhKHNpdGVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAvLyB0aGlzLmRhdGFQZW5kaW5nID0gdHJ1ZTtcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgdGhpcy5nZXRTaXRlKHNpdGVJZCksXG4gICAgICB0aGlzLmdldFNpdGVEZWZhdWx0cyhzaXRlSWQsIGZhbHNlKSxcbiAgICAgIC8vIHRoaXMuZ2V0RGV2aWNlVHlwZXMoc2l0ZUlkKSxcbiAgICAgIC8vIHRoaXMuZ2V0Vm9pY2VNYWlsVXNlclRlbXBsYXRlcyhzaXRlSWQpXG4gICAgXSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U2l0ZShzaXRlSWQ6IG51bWJlciwgaXNFZGl0PzogYm9vbGVhbik6IE9ic2VydmFibGU8U2l0ZUludGVyZmFjZT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLlNJVEUucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKSwgbnVsbCwgZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIGdldERldmljZVR5cGVzKHNpdGVJZDogbnVtYmVyIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLkRFVklDRV9UWVBFUy5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLCBudWxsLCB0cnVlKVxuICAgIC8vICAgLnBpcGUoXG4gICAgLy8gICAgIG1hcCgodHlwZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgLy8gICAgICAgICAvLyB0aGlzLmRldmljZVR5cGVzID0gdHlwZXMpXG4gICAgLy8gICAgIH0pXG4gICAgLy8gKTtcbiAgICAvLyAgIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IoZmFsc2UsIHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTaXRlRGVmYXVsdHMoc2l0ZUlkOiBudW1iZXIsIGRpcmVjdEFjY2VzczogYm9vbGVhbiwgc2hhcmVkTGluZVNpdGVJZHM/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNpdGVEZWZhdWx0cz4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IHsgZGlyZWN0QWNjZXNzOiBkaXJlY3RBY2Nlc3MgfTtcbiAgICAvLyBpZiAoc2hhcmVkTGluZVNpdGVJZHMpIHtcbiAgICAvLyAgIHBhcmFtc1snc2hhcmVkTGluZVNpdGVJZHMnXSA9IHNoYXJlZExpbmVTaXRlSWRzO1xuICAgIC8vIH1cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5TSVRFX1NFVFRJTkdTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSksIHBhcmFtcylcbiAgICAvLyAgIC5waXBlKG1hcCgoc2l0ZURlZmF1bHRzOiBTaXRlVGVtcGxhdGVJbnRlcmZhY2UpID0+IHtcbiAgICAvLyAgICAgLy8gdGhpcy5zaXRlRGVmYXVsdHMgPSBuZXcgU2l0ZURlZmF1bHRzKHNpdGVEZWZhdWx0cywgISFzaGFyZWRMaW5lU2l0ZUlkcyk7XG4gICAgLy8gICAgIC8vIGNvbnN0IGNvcGllZFNpdGVEZWZhdWx0cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc2l0ZURlZmF1bHRzKSk7XG4gICAgLy8gICAgIC8vIHRoaXMub3JpZ2luYWxTaXRlRGVmYXVsdHMgPSBuZXcgU2l0ZURlZmF1bHRzKGNvcGllZFNpdGVEZWZhdWx0cywgISFzaGFyZWRMaW5lU2l0ZUlkcyk7XG4gICAgLy8gICB9KSk7XG4gICAgLy8gICAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRWb2ljZU1haWxVc2VyVGVtcGxhdGVzKHNpdGVJZDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuVk1fVVNFUl9URU1QTEFURVMucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKSwgbnVsbCwgdHJ1ZSlcbiAgICAgIC5waXBlKG1hcCgodGVtcGxhdGVzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICAvLyB0aGlzLnZvaWNlTWFpbFRlbXBsYXRlcyA9IHRlbXBsYXRlcztcbiAgICAgIH0pKTtcbiAgICAvLyAgIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IoZmFsc2UsIHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaEFsbFVzZXJUZW1wbGF0ZXMoc2l0ZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFVzZXJUZW1wbGF0ZUludGVyZmFjZVtdPiB7XG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgc2l0ZUlkOiBzaXRlSWQsXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX1RFTVBMQVRFU19VUExPQURfTElTVCwgcGFyYW1zKVxuICAgICAgLnBpcGUodGFwKChyZXN1bHQ6IFVzZXJUZW1wbGF0ZUludGVyZmFjZVtdKSA9PiB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzTGlzdFN1YmplY3QkLm5leHQocmVzdWx0KTtcbiAgICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyVGVtcGxhdGVUb2tlbihpZDogc3RyaW5nLCBjdXN0b21lcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLlVTRVJfVEVNUExBVEVfVE9LRU4ucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBjdXN0b21lcklkKS5yZXBsYWNlKCc6aWQnLCBpZCkpXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldEF2YWlsYWJsZURuSW5SYW5nZXMoc2l0ZUlkOiBzdHJpbmcsIHBhcmFtczogYW55KTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5BVkFJTEFCTEVfRE5fSU5fUkFOR0VTLnJlcGxhY2UoJzpzaXRlSWQnLCBzaXRlSWQpLCBwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIGdldExkYXBVc2VycyhzaXRlSWQ6IHN0cmluZywgcGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLkxEQVBfVVNFUlMucmVwbGFjZSgnOnNpdGVJZCcsIHNpdGVJZCksIHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tVc2VySWRFeGlzdGluZyhzaXRlSWQ6IHN0cmluZywgdXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLlVTRVJfQ0hFQ0tfSURfRVhJU1RJTkcucmVwbGFjZSgnOnNpdGVJZCcsIHNpdGVJZCkucmVwbGFjZSgnOnVzZXJJZCcsIHVzZXJJZCkpO1xuICB9XG5cbiAgcHVibGljIHNhdmVUZW1wbGF0ZVVzZXIodXNlcjogYW55LCB0ZW1wbGF0ZUlkOiBzdHJpbmcsIHNpdGVJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLkNSRUFURV9ORVdfVVNFUl9GUk9NX1RFTVBMQVRFLCB1c2VyLCB7IHNpdGVJZDogc2l0ZUlkLCB0ZW1wbGF0ZUlkOiB0ZW1wbGF0ZUlkIH0pO1xuICB9XG5cbiAgcHVibGljIGdldERldmljZURlZmF1bHRzKHNpdGVJZDogc3RyaW5nLCBkZXZpY2VUeXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERldmljZURlZmF1bHRzSW50ZXJmYWNlPiB7XG4gICAgY29uc3QgZW5jb2RlZFR5cGUgPSBlbmNvZGVVUklDb21wb25lbnQoZGV2aWNlVHlwZSk7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChcbiAgICAgIEFQSS5ERVZJQ0VfREVGQVVMVFMucmVwbGFjZSgnOnNpdGVJZCcsIHNpdGVJZCkucmVwbGFjZSgnOmRldmljZVR5cGUnLCBlbmNvZGVkVHlwZSlcbiAgICApO1xuICB9XG59XG4iXX0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jcmVhdGlvbi1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy9zaGFyZWQvc2VydmljZXMvdXNlci1jcmVhdGlvbi1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3ZFLDhDQUE4QztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFHaEQsTUFBTSxPQUFPLHNCQUFzQjtJQVdqQztRQVRRLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDZCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNyRCxlQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWxELDBCQUFxQixHQUFHLElBQUksZUFBZSxDQUEwQixFQUFFLENBQUMsQ0FBQztRQUMxRSxtQkFBYyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVuRSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXhCLENBQUM7SUFFVixZQUFZO0lBRW5CLENBQUM7SUFFTSwwQkFBMEIsQ0FBQyxVQUFrQjtRQUNsRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsbUNBQW1DLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMvRixPQUFP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QUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsSUFBUyxFQUFFLFVBQWtCLEVBQUUsTUFBYztRQUNuRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsRUFBRSxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsVUFBa0I7UUFDekQsTUFBTSxXQUFXLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FDMUIsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQ25GLENBQUM7SUFDSixDQUFDOztvSEE3SFUsc0JBQXNCO3dIQUF0QixzQkFBc0I7NEZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIG1hcCwgT2JzZXJ2YWJsZSwgdGFwIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgU2l0ZSwgU2l0ZURlZmF1bHRzLCBTaXRlSW50ZXJmYWNlLCBTaXRlVGVtcGxhdGVJbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vY2xhc3Nlcy9zaXRlXCI7XHJcbmltcG9ydCB7IERldmljZURlZmF1bHRzSW50ZXJmYWNlLCBVc2VyVGVtcGxhdGVJbnRlcmZhY2UgfSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy91c2VyLWNyZWF0aW9uLXdpemFyZC5pbnRlcmZhY2VzXCI7XHJcbi8vIGltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tIFwiLi9hcGkuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBUEksIE1BWF9JTlRFR0VSIH0gZnJvbSBcIi4uLy4uL2FwcC5jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgQVBJU2VydmljZSB9IGZyb20gXCIuLi9hcGkvYXBpLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFVzZXJDcmVhdGlvbkFwaVNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIF9hbGxTaXRlczogU2l0ZVtdID0gW107XHJcbiAgcHJpdmF0ZSByZWFkb25seSBzaXRlc0xpc3RTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2l0ZVtdPihbXSk7XHJcbiAgcHVibGljIHJlYWRvbmx5IHNpdGVzTGlzdCQgPSB0aGlzLnNpdGVzTGlzdFN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHRlbXBsYXRlc0xpc3RTdWJqZWN0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VXNlclRlbXBsYXRlSW50ZXJmYWNlW10+KFtdKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGVzTGlzdCQgPSB0aGlzLnRlbXBsYXRlc0xpc3RTdWJqZWN0JC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgcHJpdmF0ZSBhcGlTZXJ2aWNlID0gaW5qZWN0KEFQSVNlcnZpY2UpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBwdWJsaWMgZ2V0U2l0ZXNMaXN0KCkge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja0NvbnRyb2xIdWJJbnRlZ3JhdGlvbihjdXN0b21lcklkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IFVSTCA9IEFQSS5XRUJFWF9DSEVDS19DT05UUk9MX0hVQl9JTlRFR1JBVElPTi5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIFN0cmluZyhjdXN0b21lcklkKSk7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKFVSTCk7XHJcbiAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIHRydWUpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBbGxDdXN0b21lclNpdGVzKGN1c3RvbWVySWQ6IHN0cmluZywgb25seVNpdGVzV2l0aExvY2F0aW9uPzogYm9vbGVhbik6IE9ic2VydmFibGU8U2l0ZVtdPiB7XHJcbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICAgIGlmIChvbmx5U2l0ZXNXaXRoTG9jYXRpb24pIHtcclxuICAgICAgcGFyYW1zWydvbmx5U2l0ZXNXaXRoTG9jYXRpb24nXSA9ICd0cnVlJztcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2hQYWdpbmF0aW9uKEFQSS5TSVRFUy5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIFN0cmluZyhjdXN0b21lcklkKSksIE1BWF9JTlRFR0VSLCAwLCBwYXJhbXMsIGZhbHNlKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YXAoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICAvLyB0aGlzLl9hbGxTaXRlcyA9IFtdO1xyXG4gICAgICAgICAgLy8gaWYgKHJlcy5wYWdlRGF0YSAmJiByZXMucGFnZURhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgICAvLyB0aGlzLmFzc2lnbkFsbFNpdGVzKGN1c3RvbWVySWQsIHJlcy5wYWdlRGF0YSk7XHJcbiAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAvLyB0aGlzLmFsbEN1c3RvbWVyU2l0ZXMkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgICAvLyByZXR1cm4gdGhpcy5fYWxsU2l0ZXM7XHJcbiAgICAgICAgICB0aGlzLnNpdGVzTGlzdFN1YmplY3QkLm5leHQoWy4uLnJlcy5wYWdlRGF0YV0pO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIC8vICAgLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U2l0ZUFsbERhdGEoc2l0ZUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgLy8gdGhpcy5kYXRhUGVuZGluZyA9IHRydWU7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xyXG4gICAgICB0aGlzLmdldFNpdGUoc2l0ZUlkKSxcclxuICAgICAgdGhpcy5nZXRTaXRlRGVmYXVsdHMoc2l0ZUlkLCBmYWxzZSksXHJcbiAgICAgIC8vIHRoaXMuZ2V0RGV2aWNlVHlwZXMoc2l0ZUlkKSxcclxuICAgICAgLy8gdGhpcy5nZXRWb2ljZU1haWxVc2VyVGVtcGxhdGVzKHNpdGVJZClcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFNpdGUoc2l0ZUlkOiBudW1iZXIsIGlzRWRpdD86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFNpdGVJbnRlcmZhY2U+IHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLlNJVEUucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKSwgbnVsbCwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERldmljZVR5cGVzKHNpdGVJZDogbnVtYmVyIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuREVWSUNFX1RZUEVTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSksIG51bGwsIHRydWUpXHJcbiAgICAvLyAgIC5waXBlKFxyXG4gICAgLy8gICAgIG1hcCgodHlwZXM6IHN0cmluZ1tdKSA9PiB7XHJcbiAgICAvLyAgICAgICAgIC8vIHRoaXMuZGV2aWNlVHlwZXMgPSB0eXBlcylcclxuICAgIC8vICAgICB9KVxyXG4gICAgLy8gKTtcclxuICAgIC8vICAgLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFNpdGVEZWZhdWx0cyhzaXRlSWQ6IG51bWJlciwgZGlyZWN0QWNjZXNzOiBib29sZWFuLCBzaGFyZWRMaW5lU2l0ZUlkcz86IHN0cmluZyk6IE9ic2VydmFibGU8U2l0ZURlZmF1bHRzPiB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7IGRpcmVjdEFjY2VzczogZGlyZWN0QWNjZXNzIH07XHJcbiAgICAvLyBpZiAoc2hhcmVkTGluZVNpdGVJZHMpIHtcclxuICAgIC8vICAgcGFyYW1zWydzaGFyZWRMaW5lU2l0ZUlkcyddID0gc2hhcmVkTGluZVNpdGVJZHM7XHJcbiAgICAvLyB9XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5TSVRFX1NFVFRJTkdTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSksIHBhcmFtcylcclxuICAgIC8vICAgLnBpcGUobWFwKChzaXRlRGVmYXVsdHM6IFNpdGVUZW1wbGF0ZUludGVyZmFjZSkgPT4ge1xyXG4gICAgLy8gICAgIC8vIHRoaXMuc2l0ZURlZmF1bHRzID0gbmV3IFNpdGVEZWZhdWx0cyhzaXRlRGVmYXVsdHMsICEhc2hhcmVkTGluZVNpdGVJZHMpO1xyXG4gICAgLy8gICAgIC8vIGNvbnN0IGNvcGllZFNpdGVEZWZhdWx0cyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoc2l0ZURlZmF1bHRzKSk7XHJcbiAgICAvLyAgICAgLy8gdGhpcy5vcmlnaW5hbFNpdGVEZWZhdWx0cyA9IG5ldyBTaXRlRGVmYXVsdHMoY29waWVkU2l0ZURlZmF1bHRzLCAhIXNoYXJlZExpbmVTaXRlSWRzKTtcclxuICAgIC8vICAgfSkpO1xyXG4gICAgLy8gICAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIHRydWUpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRWb2ljZU1haWxVc2VyVGVtcGxhdGVzKHNpdGVJZDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5WTV9VU0VSX1RFTVBMQVRFUy5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLCBudWxsLCB0cnVlKVxyXG4gICAgICAucGlwZShtYXAoKHRlbXBsYXRlczogc3RyaW5nW10pID0+IHtcclxuICAgICAgICAvLyB0aGlzLnZvaWNlTWFpbFRlbXBsYXRlcyA9IHRlbXBsYXRlcztcclxuICAgICAgfSkpO1xyXG4gICAgLy8gICAucGlwZSh0aGlzLmhhbmRsZUVycm9yKGZhbHNlLCB0cnVlKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmV0Y2hBbGxVc2VyVGVtcGxhdGVzKHNpdGVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxVc2VyVGVtcGxhdGVJbnRlcmZhY2VbXT4ge1xyXG4gICAgY29uc3QgcGFyYW1zID0ge1xyXG4gICAgICBzaXRlSWQ6IHNpdGVJZCxcclxuICAgIH07XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX1RFTVBMQVRFU19VUExPQURfTElTVCwgcGFyYW1zKVxyXG4gICAgICAucGlwZSh0YXAoKHJlc3VsdDogVXNlclRlbXBsYXRlSW50ZXJmYWNlW10pID0+IHtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlc0xpc3RTdWJqZWN0JC5uZXh0KHJlc3VsdCk7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRVc2VyVGVtcGxhdGVUb2tlbihpZDogc3RyaW5nLCBjdXN0b21lcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuVVNFUl9URU1QTEFURV9UT0tFTi5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIGN1c3RvbWVySWQpLnJlcGxhY2UoJzppZCcsIGlkKSlcclxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IoZmFsc2UsIHRydWUpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRBdmFpbGFibGVEbkluUmFuZ2VzKHNpdGVJZDogc3RyaW5nLCBwYXJhbXM6IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5BVkFJTEFCTEVfRE5fSU5fUkFOR0VTLnJlcGxhY2UoJzpzaXRlSWQnLCBzaXRlSWQpLCBwYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldExkYXBVc2VycyhzaXRlSWQ6IHN0cmluZywgcGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuTERBUF9VU0VSUy5yZXBsYWNlKCc6c2l0ZUlkJywgc2l0ZUlkKSwgcGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja1VzZXJJZEV4aXN0aW5nKHNpdGVJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX0NIRUNLX0lEX0VYSVNUSU5HLnJlcGxhY2UoJzpzaXRlSWQnLCBzaXRlSWQpLnJlcGxhY2UoJzp1c2VySWQnLCB1c2VySWQpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlVGVtcGxhdGVVc2VyKHVzZXI6IGFueSwgdGVtcGxhdGVJZDogc3RyaW5nLCBzaXRlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLkNSRUFURV9ORVdfVVNFUl9GUk9NX1RFTVBMQVRFLCB1c2VyLCB7IHNpdGVJZDogc2l0ZUlkLCB0ZW1wbGF0ZUlkOiB0ZW1wbGF0ZUlkIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERldmljZURlZmF1bHRzKHNpdGVJZDogc3RyaW5nLCBkZXZpY2VUeXBlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERldmljZURlZmF1bHRzSW50ZXJmYWNlPiB7XHJcbiAgICBjb25zdCBlbmNvZGVkVHlwZSA9IGVuY29kZVVSSUNvbXBvbmVudChkZXZpY2VUeXBlKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goXHJcbiAgICAgIEFQSS5ERVZJQ0VfREVGQVVMVFMucmVwbGFjZSgnOnNpdGVJZCcsIHNpdGVJZCkucmVwbGFjZSgnOmRldmljZVR5cGUnLCBlbmNvZGVkVHlwZSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -16,4 +16,4 @@ export const getSavableData = (model, exclude) => {
16
16
  return result;
17
17
  }, {});
18
18
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvc2hhcmVkL3NlcnZpY2VzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQVUsRUFBRSxPQUF1QixFQUFFLEVBQUU7SUFDcEUsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQzdCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDcEU7SUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDeEMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRTtZQUNwRixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDcEU7YUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRTtZQUNwRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzNDO2FBQU07WUFDTCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGdldFNhdmFibGVEYXRhID0gKG1vZGVsOiBhbnksIGV4Y2x1ZGU/OiBBcnJheTxzdHJpbmc+KSA9PiB7XG4gIGxldCByZXN1bHQgPSBPYmplY3Qua2V5cyhtb2RlbCk7XG4gIGlmIChleGNsdWRlICYmIGV4Y2x1ZGUubGVuZ3RoKSB7XG4gICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcihrZXkgPT4gIWV4Y2x1ZGUuc29tZShpdGVtID0+IGl0ZW0gPT09IGtleSkpO1xuICB9XG4gIHJldHVybiByZXN1bHQucmVkdWNlKChyZXN1bHQ6IGFueSwga2V5KSA9PiB7XG4gICAgaWYgKG1vZGVsW2tleV0gaW5zdGFuY2VvZiBBcnJheSAmJiBtb2RlbFtrZXldLmxlbmd0aCAmJiBtb2RlbFtrZXldWzBdLmdldFNhdmFibGVEYXRhKSB7XG4gICAgICByZXN1bHRba2V5XSA9IG1vZGVsW2tleV0ubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0uZ2V0U2F2YWJsZURhdGEoKSk7XG4gICAgfSBlbHNlIGlmIChtb2RlbFtrZXldIGluc3RhbmNlb2YgT2JqZWN0ICYmIG1vZGVsW2tleV0uZ2V0U2F2YWJsZURhdGEpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gbW9kZWxba2V5XS5nZXRTYXZhYmxlRGF0YSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHRba2V5XSA9IG1vZGVsW2tleV07XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0sIHt9KTtcbn07Il19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvc2hhcmVkL3NlcnZpY2VzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQVUsRUFBRSxPQUF1QixFQUFFLEVBQUU7SUFDcEUsSUFBSSxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1FBQzdCLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDcEU7SUFDRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDeEMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksS0FBSyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRTtZQUNwRixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDcEU7YUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRTtZQUNwRSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzNDO2FBQU07WUFDTCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGdldFNhdmFibGVEYXRhID0gKG1vZGVsOiBhbnksIGV4Y2x1ZGU/OiBBcnJheTxzdHJpbmc+KSA9PiB7XHJcbiAgbGV0IHJlc3VsdCA9IE9iamVjdC5rZXlzKG1vZGVsKTtcclxuICBpZiAoZXhjbHVkZSAmJiBleGNsdWRlLmxlbmd0aCkge1xyXG4gICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcihrZXkgPT4gIWV4Y2x1ZGUuc29tZShpdGVtID0+IGl0ZW0gPT09IGtleSkpO1xyXG4gIH1cclxuICByZXR1cm4gcmVzdWx0LnJlZHVjZSgocmVzdWx0OiBhbnksIGtleSkgPT4ge1xyXG4gICAgaWYgKG1vZGVsW2tleV0gaW5zdGFuY2VvZiBBcnJheSAmJiBtb2RlbFtrZXldLmxlbmd0aCAmJiBtb2RlbFtrZXldWzBdLmdldFNhdmFibGVEYXRhKSB7XHJcbiAgICAgIHJlc3VsdFtrZXldID0gbW9kZWxba2V5XS5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbS5nZXRTYXZhYmxlRGF0YSgpKTtcclxuICAgIH0gZWxzZSBpZiAobW9kZWxba2V5XSBpbnN0YW5jZW9mIE9iamVjdCAmJiBtb2RlbFtrZXldLmdldFNhdmFibGVEYXRhKSB7XHJcbiAgICAgIHJlc3VsdFtrZXldID0gbW9kZWxba2V5XS5nZXRTYXZhYmxlRGF0YSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVzdWx0W2tleV0gPSBtb2RlbFtrZXldO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9LCB7fSk7XHJcbn07Il19
@@ -6,9 +6,9 @@ export class AppLoaderComponent {
6
6
  }
7
7
  }
8
8
  AppLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- AppLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppLoaderComponent, selector: "app-loader", ngImport: i0, template: "<div class=\"overlay\">\n <mat-progress-spinner\n class=\"page-spinner\"\n mode=\"indeterminate\"\n [diameter]=\"70\"\n strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
9
+ AppLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AppLoaderComponent, selector: "app-loader", ngImport: i0, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None });
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppLoaderComponent, decorators: [{
11
11
  type: Component,
12
- args: [{ selector: 'app-loader', encapsulation: ViewEncapsulation.None, template: "<div class=\"overlay\">\n <mat-progress-spinner\n class=\"page-spinner\"\n mode=\"indeterminate\"\n [diameter]=\"70\"\n strokeWidth=\"3\"></mat-progress-spinner>\n</div>\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200;justify-content:center;align-items:center}\n"] }]
12
+ args: [{ selector: 'app-loader', encapsulation: ViewEncapsulation.None, template: "<div class=\"overlay\">\r\n <mat-progress-spinner\r\n class=\"page-spinner\"\r\n mode=\"indeterminate\"\r\n [diameter]=\"70\"\r\n strokeWidth=\"3\"></mat-progress-spinner>\r\n</div>\r\n", styles: [".overlay{position:fixed;width:100%;height:100%;inset:0;background-color:#fff3;z-index:200;justify-content:center;align-items:center}\n"] }]
13
13
  }], ctorParameters: function () { return []; } });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9hcHAtbG9hZGVyL2FwcC1sb2FkZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvdXRpbHMvYXBwLWxvYWRlci9hcHAtbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVE3RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCO0lBQ0EsQ0FBQzs7Z0hBRlUsa0JBQWtCO29HQUFsQixrQkFBa0Isa0RDUi9CLDBMQU9BOzRGRENhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1sb2FkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLWxvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FwcC1sb2FkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwTG9hZGVyQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cIm92ZXJsYXlcIj5cbiAgPG1hdC1wcm9ncmVzcy1zcGlubmVyXG4gICAgY2xhc3M9XCJwYWdlLXNwaW5uZXJcIlxuICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbiAgICBbZGlhbWV0ZXJdPVwiNzBcIlxuICAgIHN0cm9rZVdpZHRoPVwiM1wiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG48L2Rpdj5cbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9hcHAtbG9hZGVyL2FwcC1sb2FkZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvdXRpbHMvYXBwLWxvYWRlci9hcHAtbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVE3RCxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCO0lBQ0EsQ0FBQzs7Z0hBRlUsa0JBQWtCO29HQUFsQixrQkFBa0Isa0RDUi9CLHdNQU9BOzRGRENhLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxZQUFZLGlCQUdQLGlCQUFpQixDQUFDLElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1sb2FkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHAtbG9hZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hcHAtbG9hZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcExvYWRlckNvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwib3ZlcmxheVwiPlxyXG4gIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxyXG4gICAgY2xhc3M9XCJwYWdlLXNwaW5uZXJcIlxyXG4gICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxyXG4gICAgW2RpYW1ldGVyXT1cIjcwXCJcclxuICAgIHN0cm9rZVdpZHRoPVwiM1wiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -144,4 +144,4 @@ export function buildSavableEndUser(endUser, lines, devices, deviceProfiles, for
144
144
  }
145
145
  return user;
146
146
  }
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtc2F2YWJsZS1lbmQtdXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9idWlsZC1zYXZhYmxlLWVuZC11c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsT0FBTyxFQUFFLFNBQVM7Q0FDWixDQUFDO0FBb0JYLFNBQVMsU0FBUyxDQUFJLEtBQVE7SUFDMUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQU0sQ0FBQztBQUNsRCxDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxLQUFjO0lBQ3RDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1FBQ3BDLE9BQU8sTUFBTSxDQUFDO0tBQ2pCO0lBQ0QsSUFBSSxLQUFLLEtBQUssS0FBSyxJQUFJLEtBQUssS0FBSyxPQUFPLEVBQUU7UUFDdEMsT0FBTyxPQUFPLENBQUM7S0FDbEI7SUFDRCxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsS0FBYztJQUNwQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDaEIsT0FBTyxNQUFNLENBQUM7S0FDakI7SUFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDakIsT0FBTyxPQUFPLENBQUM7S0FDbEI7SUFDRCxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUM3QixlQUF3QjtJQUV4QixJQUFJLENBQUMsZUFBZSxFQUFFO1FBQ2xCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFDRCxJQUFJLE9BQU8sZUFBZSxLQUFLLFFBQVEsRUFBRTtRQUNyQyxJQUFJO1lBQ0EsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMzQyxPQUFPLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzNDO1FBQUMsTUFBTTtZQUNKLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7S0FDSjtJQUNELElBQUksT0FBTyxlQUFlLEtBQUssUUFBUSxFQUFFO1FBQ3JDLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFDRCxNQUFNLE1BQU0sR0FBRyxlQUEwQyxDQUFDO0lBQzFELE9BQU87UUFDSCxVQUFVLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7UUFDMUYsWUFBWSxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO1FBQ2hHLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTtRQUM1RyxZQUFZLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7S0FDbkcsQ0FBQztBQUNOLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUN4QixVQUFtQixFQUNuQixJQUFvQixFQUNwQixlQUF3QjtJQUV4QixJQUFJLFVBQVUsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLEVBQUU7UUFDOUMsT0FBTyxVQUErQixDQUFDO0tBQzFDO0lBQ0QsSUFBSSxPQUFPLFVBQVUsS0FBSyxRQUFRLElBQUksVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3JELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxVQUFVLEVBQUUsQ0FBQztLQUN4RDtJQUNELE1BQU0sRUFBRSxHQUFHLGVBQWUsSUFBSSxJQUFJLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQztJQUNyRSxJQUFJLEVBQUUsRUFBRTtRQUNKLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxFQUFFLEVBQUUsQ0FBQztLQUNoRDtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUM3QixlQUFtRDtJQUVuRCxNQUFNLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLGVBQWUsQ0FBQztJQUNqRSxPQUFPO1FBQ0gsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlLElBQUksRUFBRTtRQUMzQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCLElBQUksRUFBRTtRQUNqRCx1QkFBdUIsRUFBRSxJQUFJLENBQUMsdUJBQXVCO1FBQ3JELElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUk7UUFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSTtRQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJO0tBQ2hDLENBQUM7QUFDTixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FDM0IsV0FBNEIsRUFDNUIsSUFBb0I7SUFFcEIsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksRUFBRSxlQUFlLENBQUM7SUFFckMsSUFBSSxNQUFNLEVBQUU7UUFDUixRQUFRLENBQUMsZUFBZSxHQUFHO1lBQ3ZCLEdBQUcsUUFBUSxDQUFDLGVBQWU7WUFDM0IsZUFBZSxFQUFFLE1BQU0sQ0FBQyxlQUFlLElBQUksRUFBRTtZQUM3QyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsa0JBQWtCLElBQUksRUFBRTtZQUNuRCx1QkFBdUIsRUFDbkIsTUFBTSxDQUFDLHVCQUF1QjtnQkFDOUIsUUFBUSxDQUFDLGVBQWUsRUFBRSx1QkFBdUI7U0FDbEIsQ0FBQztLQUMzQztJQUVELFFBQVEsQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzlFLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDO0lBQ2xGLFFBQVEsQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBZ0QsSUFBSSxPQUFPLENBQUM7SUFDOUgsUUFBUSxDQUFDLGVBQWUsR0FBRyx3QkFBd0IsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFrRCxDQUFDO0lBQy9ILFFBQVEsQ0FBQyxVQUFVLEdBQUcsbUJBQW1CLENBQ3JDLFFBQVEsQ0FBQyxVQUFVLEVBQ25CLElBQUksRUFDSixRQUFRLENBQUMsZUFBZSxFQUFFLGVBQWUsQ0FDQSxDQUFDO0lBQzlDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBNEMsQ0FBQztJQUNyRyxRQUFRLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQTZDLENBQUM7SUFDeEcsUUFBUSxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQztJQUVsRCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBbUI7SUFDcEMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLFFBQVEsQ0FBQyxnQkFBZ0IsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDO0lBQ2xGLElBQUksUUFBUSxDQUFDLGVBQWUsRUFBRTtRQUMxQixRQUFRLENBQUMsZUFBZSxHQUFHLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUNqRjtJQUNELE9BQU8sUUFBUSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLE1BQXVCLEVBQUUsS0FBc0I7SUFDL0UsTUFBTSxDQUFDLGdCQUFnQixHQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNqRixzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3BELENBQUM7QUFDTixDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FDekIsTUFBdUIsRUFDdkIsTUFBYyxFQUNkLEtBQXNCLEVBQ3RCLFVBQWtCO0lBRWxCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFdkMsUUFBUSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7SUFDN0IsUUFBUSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUM7SUFDaEMsUUFBUSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFDbEYsUUFBUSxDQUFDLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUM7SUFFL0QsSUFBSSxRQUFRLENBQUMsWUFBWSxFQUFFO1FBQ3ZCLFFBQVEsQ0FBQyxZQUFZLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztLQUNqRDtJQUVELDBCQUEwQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QyxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDO0FBRUQsU0FBUywyQkFBMkIsQ0FBQyxJQUFzQjtJQUN2RCxNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQztJQUN6RixJQUFJLHNCQUFzQixFQUFFO1FBQ3hCLE9BQU8sc0JBQXNCLENBQUM7S0FDakM7SUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDO0lBQ3JELE9BQU8sV0FBVyxJQUFJLElBQUksQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUMvQixPQUF5QixFQUN6QixLQUFzQixFQUN0QixPQUEwQixFQUMxQixjQUFpQyxFQUNqQyxJQUFxQixFQUNyQixVQUFzQyxFQUFFO0lBRXhDLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO0lBQ3hELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUNyRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDNUMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFFNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxRCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNqRCxvQkFBb0IsQ0FDaEIsTUFBTSxFQUNOLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxFQUNqQixJQUFJLENBQUMsS0FBSyxFQUNWLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUNwRixDQUNKLENBQUM7SUFDRixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNoRSxvQkFBb0IsQ0FDaEIsT0FBTyxFQUNQLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxFQUNqQixJQUFJLENBQUMsS0FBSyxFQUNWLE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUM5RixDQUNKLENBQUM7SUFFRixJQUFJLENBQUMsb0JBQW9CLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFOUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGlCQUF3RixDQUFDO0lBQzFHLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUE2QyxDQUFDO0tBQzFFO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGV2aWNlSW50ZXJmYWNlLFxuICAgIEVuZFVzZXJJbnRlcmZhY2UsXG4gICAgTGluZUFzc29jaWF0aW9uLFxuICAgIExpbmVJbnRlcmZhY2UsXG4gICAgVXNlckRldGFpbHNGb3JtLFxufSBmcm9tICcuLi9pbnRlcmZhY2VzL3VzZXItY3JlYXRpb24td2l6YXJkLmludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgRU5USVRZX0NIQU5HRV9UWVBFID0ge1xuICAgIEFEREVEOiAnYWRkZWQnLFxuICAgIFVQREFURUQ6ICd1cGRhdGVkJyxcbiAgICBFWElTVElORzogJ2V4aXN0aW5nJyxcbiAgICBSRU1PVkVEOiAncmVtb3ZlZCcsXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbGxJbmZvRGlzcGxheVBheWxvYWQge1xuICAgIGNhbGxlck5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgIGNhbGxlck51bWJlcj86IHN0cmluZyB8IG51bGw7XG4gICAgcmVkaXJlY3RlZE51bWJlcj86IHN0cmluZyB8IG51bGw7XG4gICAgZGlhbGVkTnVtYmVyPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaWRQYXR0ZXJuUGF5bG9hZCB7XG4gICAgY2FsbGVkUGFydHlUcmFuc2Zvcm1hdGlvbk1hc2s/OiBzdHJpbmcgfCBudWxsO1xuICAgIHBhdHRlcm4/OiBzdHJpbmcgfCBudWxsO1xuICAgIFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRTYXZhYmxlRW5kVXNlck9wdGlvbnMge1xuICAgIHJlc29sdmVEZXZpY2VOYW1lPzogKGluZGV4OiBudW1iZXIsIGRldmljZTogRGV2aWNlSW50ZXJmYWNlKSA9PiBzdHJpbmc7XG4gICAgcmVzb2x2ZURldmljZVByb2ZpbGVOYW1lPzogKGluZGV4OiBudW1iZXIsIGRldmljZTogRGV2aWNlSW50ZXJmYWNlKSA9PiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGRlZXBDbG9uZTxUPih2YWx1ZTogVCk6IFQge1xuICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHZhbHVlKSkgYXMgVDtcbn1cblxuZnVuY3Rpb24gdG9BcGlCb29sZWFuU3RyaW5nKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHRydWUgfHwgdmFsdWUgPT09ICd0cnVlJykge1xuICAgICAgICByZXR1cm4gJ3RydWUnO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IGZhbHNlIHx8IHZhbHVlID09PSAnZmFsc2UnKSB7XG4gICAgICAgIHJldHVybiAnZmFsc2UnO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycgPyAnJyA6IFN0cmluZyh2YWx1ZSk7XG59XG5cbmZ1bmN0aW9uIHRvQXBpU3RyaW5nVmFsdWUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gJ3RydWUnO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiAnZmFsc2UnO1xuICAgIH1cbiAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCA/ICcnIDogU3RyaW5nKHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplQ2FsbEluZm9EaXNwbGF5KFxuICAgIGNhbGxJbmZvRGlzcGxheTogdW5rbm93blxuKTogQ2FsbEluZm9EaXNwbGF5UGF5bG9hZCB8IG51bGwge1xuICAgIGlmICghY2FsbEluZm9EaXNwbGF5KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGNhbGxJbmZvRGlzcGxheSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UoY2FsbEluZm9EaXNwbGF5KTtcbiAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVDYWxsSW5mb0Rpc3BsYXkocGFyc2VkKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAodHlwZW9mIGNhbGxJbmZvRGlzcGxheSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHNvdXJjZSA9IGNhbGxJbmZvRGlzcGxheSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICByZXR1cm4ge1xuICAgICAgICBjYWxsZXJOYW1lOiBzb3VyY2VbJ2NhbGxlck5hbWUnXSAhPSBudWxsID8gdG9BcGlCb29sZWFuU3RyaW5nKHNvdXJjZVsnY2FsbGVyTmFtZSddKSA6IG51bGwsXG4gICAgICAgIGNhbGxlck51bWJlcjogc291cmNlWydjYWxsZXJOdW1iZXInXSAhPSBudWxsID8gdG9BcGlCb29sZWFuU3RyaW5nKHNvdXJjZVsnY2FsbGVyTnVtYmVyJ10pIDogbnVsbCxcbiAgICAgICAgcmVkaXJlY3RlZE51bWJlcjogc291cmNlWydyZWRpcmVjdGVkTnVtYmVyJ10gIT0gbnVsbCA/IHRvQXBpQm9vbGVhblN0cmluZyhzb3VyY2VbJ3JlZGlyZWN0ZWROdW1iZXInXSkgOiBudWxsLFxuICAgICAgICBkaWFsZWROdW1iZXI6IHNvdXJjZVsnZGlhbGVkTnVtYmVyJ10gIT0gbnVsbCA/IHRvQXBpQm9vbGVhblN0cmluZyhzb3VyY2VbJ2RpYWxlZE51bWJlciddKSA6IG51bGwsXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplRGlkUGF0dGVybihcbiAgICBkaWRQYXR0ZXJuOiB1bmtub3duLFxuICAgIGxpbmU/OiBMaW5lSW50ZXJmYWNlLFxuICAgIGRpcmVjdG9yeU51bWJlcj86IHN0cmluZ1xuKTogRGlkUGF0dGVyblBheWxvYWQgfCBudWxsIHtcbiAgICBpZiAoZGlkUGF0dGVybiAmJiB0eXBlb2YgZGlkUGF0dGVybiA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIGRpZFBhdHRlcm4gYXMgRGlkUGF0dGVyblBheWxvYWQ7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZGlkUGF0dGVybiA9PT0gJ3N0cmluZycgJiYgZGlkUGF0dGVybi50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHsgY2FsbGVkUGFydHlUcmFuc2Zvcm1hdGlvbk1hc2s6IGRpZFBhdHRlcm4gfTtcbiAgICB9XG4gICAgY29uc3QgZG4gPSBkaXJlY3RvcnlOdW1iZXIgfHwgbGluZT8uZGlyZWN0b3J5TnVtYmVyPy5kaXJlY3RvcnlOdW1iZXI7XG4gICAgaWYgKGRuKSB7XG4gICAgICAgIHJldHVybiB7IGNhbGxlZFBhcnR5VHJhbnNmb3JtYXRpb25NYXNrOiBkbiB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplRGlyZWN0b3J5TnVtYmVyKFxuICAgIGRpcmVjdG9yeU51bWJlcjogTGluZUFzc29jaWF0aW9uWydkaXJlY3RvcnlOdW1iZXInXVxuKTogTGluZUFzc29jaWF0aW9uWydkaXJlY3RvcnlOdW1iZXInXSB7XG4gICAgY29uc3QgeyBkaXNwbGF5VmFsdWU6IF9kaXNwbGF5VmFsdWUsIC4uLnJlc3QgfSA9IGRpcmVjdG9yeU51bWJlcjtcbiAgICByZXR1cm4ge1xuICAgICAgICBkaXJlY3RvcnlOdW1iZXI6IHJlc3QuZGlyZWN0b3J5TnVtYmVyID8/ICcnLFxuICAgICAgICByb3V0ZVBhcnRpdGlvbk5hbWU6IHJlc3Qucm91dGVQYXJ0aXRpb25OYW1lID8/ICcnLFxuICAgICAgICB0ZW1wbGF0ZURpcmVjdG9yeU51bWJlcjogcmVzdC50ZW1wbGF0ZURpcmVjdG9yeU51bWJlcixcbiAgICAgICAgcGtpZDogcmVzdC5wa2lkIHx8IG51bGwsXG4gICAgICAgIGRuVHlwZTogcmVzdC5kblR5cGUgfHwgbnVsbCxcbiAgICAgICAgc3ViVHlwZTogcmVzdC5zdWJUeXBlID8/IG51bGwsXG4gICAgfTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZUxpbmVBc3NvY2lhdGlvbihcbiAgICBhc3NvY2lhdGlvbjogTGluZUFzc29jaWF0aW9uLFxuICAgIGxpbmU/OiBMaW5lSW50ZXJmYWNlXG4pOiBMaW5lQXNzb2NpYXRpb24ge1xuICAgIGNvbnN0IHByZXBhcmVkID0gZGVlcENsb25lKGFzc29jaWF0aW9uKTtcbiAgICBjb25zdCBsaW5lRG4gPSBsaW5lPy5kaXJlY3RvcnlOdW1iZXI7XG5cbiAgICBpZiAobGluZURuKSB7XG4gICAgICAgIHByZXBhcmVkLmRpcmVjdG9yeU51bWJlciA9IHtcbiAgICAgICAgICAgIC4uLnByZXBhcmVkLmRpcmVjdG9yeU51bWJlcixcbiAgICAgICAgICAgIGRpcmVjdG9yeU51bWJlcjogbGluZURuLmRpcmVjdG9yeU51bWJlciB8fCAnJyxcbiAgICAgICAgICAgIHJvdXRlUGFydGl0aW9uTmFtZTogbGluZURuLnJvdXRlUGFydGl0aW9uTmFtZSB8fCAnJyxcbiAgICAgICAgICAgIHRlbXBsYXRlRGlyZWN0b3J5TnVtYmVyOlxuICAgICAgICAgICAgICAgIGxpbmVEbi50ZW1wbGF0ZURpcmVjdG9yeU51bWJlciA/P1xuICAgICAgICAgICAgICAgIHByZXBhcmVkLmRpcmVjdG9yeU51bWJlcj8udGVtcGxhdGVEaXJlY3RvcnlOdW1iZXIsXG4gICAgICAgIH0gYXMgTGluZUFzc29jaWF0aW9uWydkaXJlY3RvcnlOdW1iZXInXTtcbiAgICB9XG5cbiAgICBwcmVwYXJlZC5kaXJlY3RvcnlOdW1iZXIgPSBub3JtYWxpemVEaXJlY3RvcnlOdW1iZXIocHJlcGFyZWQuZGlyZWN0b3J5TnVtYmVyKTtcbiAgICBwcmVwYXJlZC5lbnRpdHlDaGFuZ2VUeXBlID0gcHJlcGFyZWQuZW50aXR5Q2hhbmdlVHlwZSB8fCBFTlRJVFlfQ0hBTkdFX1RZUEUuQURERUQ7XG4gICAgcHJlcGFyZWQubG9nTWlzc2VkQ2FsbCA9IHRvQXBpQm9vbGVhblN0cmluZyhwcmVwYXJlZC5sb2dNaXNzZWRDYWxsKSBhcyB1bmtub3duIGFzIExpbmVBc3NvY2lhdGlvblsnbG9nTWlzc2VkQ2FsbCddIHx8ICdmYWxzZSc7XG4gICAgcHJlcGFyZWQuY2FsbEluZm9EaXNwbGF5ID0gbm9ybWFsaXplQ2FsbEluZm9EaXNwbGF5KHByZXBhcmVkLmNhbGxJbmZvRGlzcGxheSkgYXMgdW5rbm93biBhcyBMaW5lQXNzb2NpYXRpb25bJ2NhbGxJbmZvRGlzcGxheSddO1xuICAgIHByZXBhcmVkLmRpZFBhdHRlcm4gPSBub3JtYWxpemVEaWRQYXR0ZXJuKFxuICAgICAgICBwcmVwYXJlZC5kaWRQYXR0ZXJuLFxuICAgICAgICBsaW5lLFxuICAgICAgICBwcmVwYXJlZC5kaXJlY3RvcnlOdW1iZXI/LmRpcmVjdG9yeU51bWJlclxuICAgICkgYXMgdW5rbm93biBhcyBMaW5lQXNzb2NpYXRpb25bJ2RpZFBhdHRlcm4nXTtcbiAgICBwcmVwYXJlZC52aXN1YWxNV0kgPSB0b0FwaVN0cmluZ1ZhbHVlKHByZXBhcmVkLnZpc3VhbE1XSSkgYXMgdW5rbm93biBhcyBMaW5lQXNzb2NpYXRpb25bJ3Zpc3VhbE1XSSddO1xuICAgIHByZXBhcmVkLmF1ZGlibGVNV0kgPSB0b0FwaVN0cmluZ1ZhbHVlKHByZXBhcmVkLmF1ZGlibGVNV0kpIGFzIHVua25vd24gYXMgTGluZUFzc29jaWF0aW9uWydhdWRpYmxlTVdJJ107XG4gICAgcHJlcGFyZWQuYXNzb2NpYXRlZCA9IHByZXBhcmVkLmFzc29jaWF0ZWQgPz8gdHJ1ZTtcblxuICAgIHJldHVybiBwcmVwYXJlZDtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZUxpbmUobGluZTogTGluZUludGVyZmFjZSk6IExpbmVJbnRlcmZhY2Uge1xuICAgIGNvbnN0IHByZXBhcmVkID0gZGVlcENsb25lKGxpbmUpO1xuICAgIHByZXBhcmVkLmVudGl0eUNoYW5nZVR5cGUgPSBwcmVwYXJlZC5lbnRpdHlDaGFuZ2VUeXBlIHx8IEVOVElUWV9DSEFOR0VfVFlQRS5BRERFRDtcbiAgICBpZiAocHJlcGFyZWQuZGlyZWN0b3J5TnVtYmVyKSB7XG4gICAgICAgIHByZXBhcmVkLmRpcmVjdG9yeU51bWJlciA9IG5vcm1hbGl6ZURpcmVjdG9yeU51bWJlcihwcmVwYXJlZC5kaXJlY3RvcnlOdW1iZXIpO1xuICAgIH1cbiAgICByZXR1cm4gcHJlcGFyZWQ7XG59XG5cbmZ1bmN0aW9uIHN5bmNEZXZpY2VMaW5lQXNzb2NpYXRpb25zKGRldmljZTogRGV2aWNlSW50ZXJmYWNlLCBsaW5lczogTGluZUludGVyZmFjZVtdKTogdm9pZCB7XG4gICAgZGV2aWNlLmxpbmVBc3NvY2lhdGlvbnMgPSAoZGV2aWNlLmxpbmVBc3NvY2lhdGlvbnMgfHwgW10pLm1hcCgoYXNzb2NpYXRpb24sIGluZGV4KSA9PlxuICAgICAgICBwcmVwYXJlTGluZUFzc29jaWF0aW9uKGFzc29jaWF0aW9uLCBsaW5lc1tpbmRleF0pXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZURldmljZUZvclNhdmUoXG4gICAgZGV2aWNlOiBEZXZpY2VJbnRlcmZhY2UsXG4gICAgdXNlcklkOiBzdHJpbmcsXG4gICAgbGluZXM6IExpbmVJbnRlcmZhY2VbXSxcbiAgICBkZXZpY2VOYW1lOiBzdHJpbmdcbik6IERldmljZUludGVyZmFjZSB7XG4gICAgY29uc3QgcHJlcGFyZWQgPSBkZWVwQ2xvbmUoZGV2aWNlKTtcbiAgICBjb25zdCByZXNvbHZlZE5hbWUgPSBkZXZpY2VOYW1lLnRyaW0oKTtcblxuICAgIHByZXBhcmVkLm5hbWUgPSByZXNvbHZlZE5hbWU7XG4gICAgcHJlcGFyZWQubmV3TmFtZSA9IHJlc29sdmVkTmFtZTtcbiAgICBwcmVwYXJlZC5lbnRpdHlDaGFuZ2VUeXBlID0gcHJlcGFyZWQuZW50aXR5Q2hhbmdlVHlwZSB8fCBFTlRJVFlfQ0hBTkdFX1RZUEUuQURERUQ7XG4gICAgcHJlcGFyZWQuY3JlYXRlRGV2aWNlTW9kZSA9IHByZXBhcmVkLmNyZWF0ZURldmljZU1vZGUgPz8gZmFsc2U7XG5cbiAgICBpZiAocHJlcGFyZWQuZXh0cmFPcHRpb25zKSB7XG4gICAgICAgIHByZXBhcmVkLmV4dHJhT3B0aW9ucy5tb2JpbGl0eVVzZXJJZCA9IHVzZXJJZDtcbiAgICB9XG5cbiAgICBzeW5jRGV2aWNlTGluZUFzc29jaWF0aW9ucyhwcmVwYXJlZCwgbGluZXMpO1xuICAgIHJldHVybiBwcmVwYXJlZDtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVByaW1hcnlMaW5lUmVmZXJlbmNlKHVzZXI6IEVuZFVzZXJJbnRlcmZhY2UpOiB1bmtub3duIHwgbnVsbCB7XG4gICAgY29uc3QgZmlyc3REZXZpY2VBc3NvY2lhdGlvbiA9IHVzZXIuZGV2aWNlcz8uWzBdPy5saW5lQXNzb2NpYXRpb25zPy5bMF0/LmRpcmVjdG9yeU51bWJlcjtcbiAgICBpZiAoZmlyc3REZXZpY2VBc3NvY2lhdGlvbikge1xuICAgICAgICByZXR1cm4gZmlyc3REZXZpY2VBc3NvY2lhdGlvbjtcbiAgICB9XG4gICAgY29uc3QgZmlyc3RMaW5lRG4gPSB1c2VyLmxpbmVzPy5bMF0/LmRpcmVjdG9yeU51bWJlcjtcbiAgICByZXR1cm4gZmlyc3RMaW5lRG4gPz8gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU2F2YWJsZUVuZFVzZXIoXG4gICAgZW5kVXNlcjogRW5kVXNlckludGVyZmFjZSxcbiAgICBsaW5lczogTGluZUludGVyZmFjZVtdLFxuICAgIGRldmljZXM6IERldmljZUludGVyZmFjZVtdLFxuICAgIGRldmljZVByb2ZpbGVzOiBEZXZpY2VJbnRlcmZhY2VbXSxcbiAgICBmb3JtOiBVc2VyRGV0YWlsc0Zvcm0sXG4gICAgb3B0aW9uczogQnVpbGRTYXZhYmxlRW5kVXNlck9wdGlvbnMgPSB7fVxuKTogRW5kVXNlckludGVyZmFjZSB7XG4gICAgY29uc3QgdXNlciA9IGRlZXBDbG9uZShlbmRVc2VyKTtcblxuICAgIHVzZXIudXNlcmlkID0gZm9ybS51c2VySWQgfHwgdXNlci51c2VyaWQgfHwgJyc7XG4gICAgdXNlci5maXJzdE5hbWUgPSBmb3JtLmZpcnN0TmFtZSB8fCB1c2VyLmZpcnN0TmFtZSB8fCAnJztcbiAgICB1c2VyLmxhc3ROYW1lID0gZm9ybS5sYXN0TmFtZSB8fCB1c2VyLmxhc3ROYW1lIHx8ICcnO1xuICAgIHVzZXIuZW1haWwgPSBmb3JtLmVtYWlsIHx8IHVzZXIuZW1haWwgfHwgJyc7XG4gICAgdXNlci5jcmVhdGVVc2VyTW9kZSA9IGZhbHNlO1xuXG4gICAgdXNlci5saW5lcyA9IChsaW5lcyB8fCBbXSkubWFwKGxpbmUgPT4gcHJlcGFyZUxpbmUobGluZSkpO1xuICAgIHVzZXIuZGV2aWNlcyA9IChkZXZpY2VzIHx8IFtdKS5tYXAoKGRldmljZSwgaW5kZXgpID0+XG4gICAgICAgIHByZXBhcmVEZXZpY2VGb3JTYXZlKFxuICAgICAgICAgICAgZGV2aWNlLFxuICAgICAgICAgICAgdXNlci51c2VyaWQgfHwgJycsXG4gICAgICAgICAgICB1c2VyLmxpbmVzLFxuICAgICAgICAgICAgb3B0aW9ucy5yZXNvbHZlRGV2aWNlTmFtZT8uKGluZGV4LCBkZXZpY2UpID8/IGRldmljZS5uYW1lID8/IGRldmljZS5uZXdOYW1lID8/ICcnXG4gICAgICAgIClcbiAgICApO1xuICAgIHVzZXIuZGV2aWNlUHJvZmlsZXMgPSAoZGV2aWNlUHJvZmlsZXMgfHwgW10pLm1hcCgocHJvZmlsZSwgaW5kZXgpID0+XG4gICAgICAgIHByZXBhcmVEZXZpY2VGb3JTYXZlKFxuICAgICAgICAgICAgcHJvZmlsZSxcbiAgICAgICAgICAgIHVzZXIudXNlcmlkIHx8ICcnLFxuICAgICAgICAgICAgdXNlci5saW5lcyxcbiAgICAgICAgICAgIG9wdGlvbnMucmVzb2x2ZURldmljZVByb2ZpbGVOYW1lPy4oaW5kZXgsIHByb2ZpbGUpID8/IHByb2ZpbGUubmFtZSA/PyBwcm9maWxlLm5ld05hbWUgPz8gJydcbiAgICAgICAgKVxuICAgICk7XG5cbiAgICB1c2VyLnByaW1hcnlMaW5lUmVmZXJlbmNlID0gcmVzb2x2ZVByaW1hcnlMaW5lUmVmZXJlbmNlKHVzZXIpO1xuXG4gICAgY29uc3Qgc25yID0gdXNlci5zaW5nbGVOdW1iZXJSZWFjaCBhcyB7IHJlbW90ZURlc3RpbmF0aW9uUHJvZmlsZU5hbWU/OiBzdHJpbmcgfCBudWxsIH0gfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIGlmIChzbnIgJiYgIXNuci5yZW1vdGVEZXN0aW5hdGlvblByb2ZpbGVOYW1lKSB7XG4gICAgICAgIHVzZXIuc2luZ2xlTnVtYmVyUmVhY2ggPSBudWxsIGFzIEVuZFVzZXJJbnRlcmZhY2VbJ3NpbmdsZU51bWJlclJlYWNoJ107XG4gICAgfVxuXG4gICAgcmV0dXJuIHVzZXI7XG59XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQtc2F2YWJsZS1lbmQtdXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9idWlsZC1zYXZhYmxlLWVuZC11c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsUUFBUSxFQUFFLFVBQVU7SUFDcEIsT0FBTyxFQUFFLFNBQVM7Q0FDWixDQUFDO0FBb0JYLFNBQVMsU0FBUyxDQUFJLEtBQVE7SUFDMUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQU0sQ0FBQztBQUNsRCxDQUFDO0FBRUQsU0FBUyxrQkFBa0IsQ0FBQyxLQUFjO0lBQ3RDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1FBQ3BDLE9BQU8sTUFBTSxDQUFDO0tBQ2pCO0lBQ0QsSUFBSSxLQUFLLEtBQUssS0FBSyxJQUFJLEtBQUssS0FBSyxPQUFPLEVBQUU7UUFDdEMsT0FBTyxPQUFPLENBQUM7S0FDbEI7SUFDRCxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsS0FBYztJQUNwQyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7UUFDaEIsT0FBTyxNQUFNLENBQUM7S0FDakI7SUFDRCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUU7UUFDakIsT0FBTyxPQUFPLENBQUM7S0FDbEI7SUFDRCxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FB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XHJcbiAgICBEZXZpY2VJbnRlcmZhY2UsXHJcbiAgICBFbmRVc2VySW50ZXJmYWNlLFxyXG4gICAgTGluZUFzc29jaWF0aW9uLFxyXG4gICAgTGluZUludGVyZmFjZSxcclxuICAgIFVzZXJEZXRhaWxzRm9ybSxcclxufSBmcm9tICcuLi9pbnRlcmZhY2VzL3VzZXItY3JlYXRpb24td2l6YXJkLmludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEVOVElUWV9DSEFOR0VfVFlQRSA9IHtcclxuICAgIEFEREVEOiAnYWRkZWQnLFxyXG4gICAgVVBEQVRFRDogJ3VwZGF0ZWQnLFxyXG4gICAgRVhJU1RJTkc6ICdleGlzdGluZycsXHJcbiAgICBSRU1PVkVEOiAncmVtb3ZlZCcsXHJcbn0gYXMgY29uc3Q7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENhbGxJbmZvRGlzcGxheVBheWxvYWQge1xyXG4gICAgY2FsbGVyTmFtZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBjYWxsZXJOdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgcmVkaXJlY3RlZE51bWJlcj86IHN0cmluZyB8IG51bGw7XHJcbiAgICBkaWFsZWROdW1iZXI/OiBzdHJpbmcgfCBudWxsO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERpZFBhdHRlcm5QYXlsb2FkIHtcclxuICAgIGNhbGxlZFBhcnR5VHJhbnNmb3JtYXRpb25NYXNrPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIHBhdHRlcm4/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCdWlsZFNhdmFibGVFbmRVc2VyT3B0aW9ucyB7XHJcbiAgICByZXNvbHZlRGV2aWNlTmFtZT86IChpbmRleDogbnVtYmVyLCBkZXZpY2U6IERldmljZUludGVyZmFjZSkgPT4gc3RyaW5nO1xyXG4gICAgcmVzb2x2ZURldmljZVByb2ZpbGVOYW1lPzogKGluZGV4OiBudW1iZXIsIGRldmljZTogRGV2aWNlSW50ZXJmYWNlKSA9PiBzdHJpbmc7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGRlZXBDbG9uZTxUPih2YWx1ZTogVCk6IFQge1xyXG4gICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodmFsdWUpKSBhcyBUO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b0FwaUJvb2xlYW5TdHJpbmcodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xyXG4gICAgaWYgKHZhbHVlID09PSB0cnVlIHx8IHZhbHVlID09PSAndHJ1ZScpIHtcclxuICAgICAgICByZXR1cm4gJ3RydWUnO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbHVlID09PSBmYWxzZSB8fCB2YWx1ZSA9PT0gJ2ZhbHNlJykge1xyXG4gICAgICAgIHJldHVybiAnZmFsc2UnO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT09ICcnID8gJycgOiBTdHJpbmcodmFsdWUpO1xyXG59XHJcblxyXG5mdW5jdGlvbiB0b0FwaVN0cmluZ1ZhbHVlKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdHJ1ZSkge1xyXG4gICAgICAgIHJldHVybiAndHJ1ZSc7XHJcbiAgICB9XHJcbiAgICBpZiAodmFsdWUgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuICdmYWxzZSc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCA/ICcnIDogU3RyaW5nKHZhbHVlKTtcclxufVxyXG5cclxuZnVuY3Rpb24gbm9ybWFsaXplQ2FsbEluZm9EaXNwbGF5KFxyXG4gICAgY2FsbEluZm9EaXNwbGF5OiB1bmtub3duXHJcbik6IENhbGxJbmZvRGlzcGxheVBheWxvYWQgfCBudWxsIHtcclxuICAgIGlmICghY2FsbEluZm9EaXNwbGF5KSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIGNhbGxJbmZvRGlzcGxheSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKGNhbGxJbmZvRGlzcGxheSk7XHJcbiAgICAgICAgICAgIHJldHVybiBub3JtYWxpemVDYWxsSW5mb0Rpc3BsYXkocGFyc2VkKTtcclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBjYWxsSW5mb0Rpc3BsYXkgIT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzb3VyY2UgPSBjYWxsSW5mb0Rpc3BsYXkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGNhbGxlck5hbWU6IHNvdXJjZVsnY2FsbGVyTmFtZSddICE9IG51bGwgPyB0b0FwaUJvb2xlYW5TdHJpbmcoc291cmNlWydjYWxsZXJOYW1lJ10pIDogbnVsbCxcclxuICAgICAgICBjYWxsZXJOdW1iZXI6IHNvdXJjZVsnY2FsbGVyTnVtYmVyJ10gIT0gbnVsbCA/IHRvQXBpQm9vbGVhblN0cmluZyhzb3VyY2VbJ2NhbGxlck51bWJlciddKSA6IG51bGwsXHJcbiAgICAgICAgcmVkaXJlY3RlZE51bWJlcjogc291cmNlWydyZWRpcmVjdGVkTnVtYmVyJ10gIT0gbnVsbCA/IHRvQXBpQm9vbGVhblN0cmluZyhzb3VyY2VbJ3JlZGlyZWN0ZWROdW1iZXInXSkgOiBudWxsLFxyXG4gICAgICAgIGRpYWxlZE51bWJlcjogc291cmNlWydkaWFsZWROdW1iZXInXSAhPSBudWxsID8gdG9BcGlCb29sZWFuU3RyaW5nKHNvdXJjZVsnZGlhbGVkTnVtYmVyJ10pIDogbnVsbCxcclxuICAgIH07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG5vcm1hbGl6ZURpZFBhdHRlcm4oXHJcbiAgICBkaWRQYXR0ZXJuOiB1bmtub3duLFxyXG4gICAgbGluZT86IExpbmVJbnRlcmZhY2UsXHJcbiAgICBkaXJlY3RvcnlOdW1iZXI/OiBzdHJpbmdcclxuKTogRGlkUGF0dGVyblBheWxvYWQgfCBudWxsIHtcclxuICAgIGlmIChkaWRQYXR0ZXJuICYmIHR5cGVvZiBkaWRQYXR0ZXJuID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIHJldHVybiBkaWRQYXR0ZXJuIGFzIERpZFBhdHRlcm5QYXlsb2FkO1xyXG4gICAgfVxyXG4gICAgaWYgKHR5cGVvZiBkaWRQYXR0ZXJuID09PSAnc3RyaW5nJyAmJiBkaWRQYXR0ZXJuLnRyaW0oKSkge1xyXG4gICAgICAgIHJldHVybiB7IGNhbGxlZFBhcnR5VHJhbnNmb3JtYXRpb25NYXNrOiBkaWRQYXR0ZXJuIH07XHJcbiAgICB9XHJcbiAgICBjb25zdCBkbiA9IGRpcmVjdG9yeU51bWJlciB8fCBsaW5lPy5kaXJlY3RvcnlOdW1iZXI/LmRpcmVjdG9yeU51bWJlcjtcclxuICAgIGlmIChkbikge1xyXG4gICAgICAgIHJldHVybiB7IGNhbGxlZFBhcnR5VHJhbnNmb3JtYXRpb25NYXNrOiBkbiB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG5vcm1hbGl6ZURpcmVjdG9yeU51bWJlcihcclxuICAgIGRpcmVjdG9yeU51bWJlcjogTGluZUFzc29jaWF0aW9uWydkaXJlY3RvcnlOdW1iZXInXVxyXG4pOiBMaW5lQXNzb2NpYXRpb25bJ2RpcmVjdG9yeU51bWJlciddIHtcclxuICAgIGNvbnN0IHsgZGlzcGxheVZhbHVlOiBfZGlzcGxheVZhbHVlLCAuLi5yZXN0IH0gPSBkaXJlY3RvcnlOdW1iZXI7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGRpcmVjdG9yeU51bWJlcjogcmVzdC5kaXJlY3RvcnlOdW1iZXIgPz8gJycsXHJcbiAgICAgICAgcm91dGVQYXJ0aXRpb25OYW1lOiByZXN0LnJvdXRlUGFydGl0aW9uTmFtZSA/PyAnJyxcclxuICAgICAgICB0ZW1wbGF0ZURpcmVjdG9yeU51bWJlcjogcmVzdC50ZW1wbGF0ZURpcmVjdG9yeU51bWJlcixcclxuICAgICAgICBwa2lkOiByZXN0LnBraWQgfHwgbnVsbCxcclxuICAgICAgICBkblR5cGU6IHJlc3QuZG5UeXBlIHx8IG51bGwsXHJcbiAgICAgICAgc3ViVHlwZTogcmVzdC5zdWJUeXBlID8/IG51bGwsXHJcbiAgICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBwcmVwYXJlTGluZUFzc29jaWF0aW9uKFxyXG4gICAgYXNzb2NpYXRpb246IExpbmVBc3NvY2lhdGlvbixcclxuICAgIGxpbmU/OiBMaW5lSW50ZXJmYWNlXHJcbik6IExpbmVBc3NvY2lhdGlvbiB7XHJcbiAgICBjb25zdCBwcmVwYXJlZCA9IGRlZXBDbG9uZShhc3NvY2lhdGlvbik7XHJcbiAgICBjb25zdCBsaW5lRG4gPSBsaW5lPy5kaXJlY3RvcnlOdW1iZXI7XHJcblxyXG4gICAgaWYgKGxpbmVEbikge1xyXG4gICAgICAgIHByZXBhcmVkLmRpcmVjdG9yeU51bWJlciA9IHtcclxuICAgICAgICAgICAgLi4ucHJlcGFyZWQuZGlyZWN0b3J5TnVtYmVyLFxyXG4gICAgICAgICAgICBkaXJlY3RvcnlOdW1iZXI6IGxpbmVEbi5kaXJlY3RvcnlOdW1iZXIgfHwgJycsXHJcbiAgICAgICAgICAgIHJvdXRlUGFydGl0aW9uTmFtZTogbGluZURuLnJvdXRlUGFydGl0aW9uTmFtZSB8fCAnJyxcclxuICAgICAgICAgICAgdGVtcGxhdGVEaXJlY3RvcnlOdW1iZXI6XHJcbiAgICAgICAgICAgICAgICBsaW5lRG4udGVtcGxhdGVEaXJlY3RvcnlOdW1iZXIgPz9cclxuICAgICAgICAgICAgICAgIHByZXBhcmVkLmRpcmVjdG9yeU51bWJlcj8udGVtcGxhdGVEaXJlY3RvcnlOdW1iZXIsXHJcbiAgICAgICAgfSBhcyBMaW5lQXNzb2NpYXRpb25bJ2RpcmVjdG9yeU51bWJlciddO1xyXG4gICAgfVxyXG5cclxuICAgIHByZXBhcmVkLmRpcmVjdG9yeU51bWJlciA9IG5vcm1hbGl6ZURpcmVjdG9yeU51bWJlcihwcmVwYXJlZC5kaXJlY3RvcnlOdW1iZXIpO1xyXG4gICAgcHJlcGFyZWQuZW50aXR5Q2hhbmdlVHlwZSA9IHByZXBhcmVkLmVudGl0eUNoYW5nZVR5cGUgfHwgRU5USVRZX0NIQU5HRV9UWVBFLkFEREVEO1xyXG4gICAgcHJlcGFyZWQubG9nTWlzc2VkQ2FsbCA9IHRvQXBpQm9vbGVhblN0cmluZyhwcmVwYXJlZC5sb2dNaXNzZWRDYWxsKSBhcyB1bmtub3duIGFzIExpbmVBc3NvY2lhdGlvblsnbG9nTWlzc2VkQ2FsbCddIHx8ICdmYWxzZSc7XHJcbiAgICBwcmVwYXJlZC5jYWxsSW5mb0Rpc3BsYXkgPSBub3JtYWxpemVDYWxsSW5mb0Rpc3BsYXkocHJlcGFyZWQuY2FsbEluZm9EaXNwbGF5KSBhcyB1bmtub3duIGFzIExpbmVBc3NvY2lhdGlvblsnY2FsbEluZm9EaXNwbGF5J107XHJcbiAgICBwcmVwYXJlZC5kaWRQYXR0ZXJuID0gbm9ybWFsaXplRGlkUGF0dGVybihcclxuICAgICAgICBwcmVwYXJlZC5kaWRQYXR0ZXJuLFxyXG4gICAgICAgIGxpbmUsXHJcbiAgICAgICAgcHJlcGFyZWQuZGlyZWN0b3J5TnVtYmVyPy5kaXJlY3RvcnlOdW1iZXJcclxuICAgICkgYXMgdW5rbm93biBhcyBMaW5lQXNzb2NpYXRpb25bJ2RpZFBhdHRlcm4nXTtcclxuICAgIHByZXBhcmVkLnZpc3VhbE1XSSA9IHRvQXBpU3RyaW5nVmFsdWUocHJlcGFyZWQudmlzdWFsTVdJKSBhcyB1bmtub3duIGFzIExpbmVBc3NvY2lhdGlvblsndmlzdWFsTVdJJ107XHJcbiAgICBwcmVwYXJlZC5hdWRpYmxlTVdJID0gdG9BcGlTdHJpbmdWYWx1ZShwcmVwYXJlZC5hdWRpYmxlTVdJKSBhcyB1bmtub3duIGFzIExpbmVBc3NvY2lhdGlvblsnYXVkaWJsZU1XSSddO1xyXG4gICAgcHJlcGFyZWQuYXNzb2NpYXRlZCA9IHByZXBhcmVkLmFzc29jaWF0ZWQgPz8gdHJ1ZTtcclxuXHJcbiAgICByZXR1cm4gcHJlcGFyZWQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHByZXBhcmVMaW5lKGxpbmU6IExpbmVJbnRlcmZhY2UpOiBMaW5lSW50ZXJmYWNlIHtcclxuICAgIGNvbnN0IHByZXBhcmVkID0gZGVlcENsb25lKGxpbmUpO1xyXG4gICAgcHJlcGFyZWQuZW50aXR5Q2hhbmdlVHlwZSA9IHByZXBhcmVkLmVudGl0eUNoYW5nZVR5cGUgfHwgRU5USVRZX0NIQU5HRV9UWVBFLkFEREVEO1xyXG4gICAgaWYgKHByZXBhcmVkLmRpcmVjdG9yeU51bWJlcikge1xyXG4gICAgICAgIHByZXBhcmVkLmRpcmVjdG9yeU51bWJlciA9IG5vcm1hbGl6ZURpcmVjdG9yeU51bWJlcihwcmVwYXJlZC5kaXJlY3RvcnlOdW1iZXIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHByZXBhcmVkO1xyXG59XHJcblxyXG5mdW5jdGlvbiBzeW5jRGV2aWNlTGluZUFzc29jaWF0aW9ucyhkZXZpY2U6IERldmljZUludGVyZmFjZSwgbGluZXM6IExpbmVJbnRlcmZhY2VbXSk6IHZvaWQge1xyXG4gICAgZGV2aWNlLmxpbmVBc3NvY2lhdGlvbnMgPSAoZGV2aWNlLmxpbmVBc3NvY2lhdGlvbnMgfHwgW10pLm1hcCgoYXNzb2NpYXRpb24sIGluZGV4KSA9PlxyXG4gICAgICAgIHByZXBhcmVMaW5lQXNzb2NpYXRpb24oYXNzb2NpYXRpb24sIGxpbmVzW2luZGV4XSlcclxuICAgICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHByZXBhcmVEZXZpY2VGb3JTYXZlKFxyXG4gICAgZGV2aWNlOiBEZXZpY2VJbnRlcmZhY2UsXHJcbiAgICB1c2VySWQ6IHN0cmluZyxcclxuICAgIGxpbmVzOiBMaW5lSW50ZXJmYWNlW10sXHJcbiAgICBkZXZpY2VOYW1lOiBzdHJpbmdcclxuKTogRGV2aWNlSW50ZXJmYWNlIHtcclxuICAgIGNvbnN0IHByZXBhcmVkID0gZGVlcENsb25lKGRldmljZSk7XHJcbiAgICBjb25zdCByZXNvbHZlZE5hbWUgPSBkZXZpY2VOYW1lLnRyaW0oKTtcclxuXHJcbiAgICBwcmVwYXJlZC5uYW1lID0gcmVzb2x2ZWROYW1lO1xyXG4gICAgcHJlcGFyZWQubmV3TmFtZSA9IHJlc29sdmVkTmFtZTtcclxuICAgIHByZXBhcmVkLmVudGl0eUNoYW5nZVR5cGUgPSBwcmVwYXJlZC5lbnRpdHlDaGFuZ2VUeXBlIHx8IEVOVElUWV9DSEFOR0VfVFlQRS5BRERFRDtcclxuICAgIHByZXBhcmVkLmNyZWF0ZURldmljZU1vZGUgPSBwcmVwYXJlZC5jcmVhdGVEZXZpY2VNb2RlID8/IGZhbHNlO1xyXG5cclxuICAgIGlmIChwcmVwYXJlZC5leHRyYU9wdGlvbnMpIHtcclxuICAgICAgICBwcmVwYXJlZC5leHRyYU9wdGlvbnMubW9iaWxpdHlVc2VySWQgPSB1c2VySWQ7XHJcbiAgICB9XHJcblxyXG4gICAgc3luY0RldmljZUxpbmVBc3NvY2lhdGlvbnMocHJlcGFyZWQsIGxpbmVzKTtcclxuICAgIHJldHVybiBwcmVwYXJlZDtcclxufVxyXG5cclxuZnVuY3Rpb24gcmVzb2x2ZVByaW1hcnlMaW5lUmVmZXJlbmNlKHVzZXI6IEVuZFVzZXJJbnRlcmZhY2UpOiB1bmtub3duIHwgbnVsbCB7XHJcbiAgICBjb25zdCBmaXJzdERldmljZUFzc29jaWF0aW9uID0gdXNlci5kZXZpY2VzPy5bMF0/LmxpbmVBc3NvY2lhdGlvbnM/LlswXT8uZGlyZWN0b3J5TnVtYmVyO1xyXG4gICAgaWYgKGZpcnN0RGV2aWNlQXNzb2NpYXRpb24pIHtcclxuICAgICAgICByZXR1cm4gZmlyc3REZXZpY2VBc3NvY2lhdGlvbjtcclxuICAgIH1cclxuICAgIGNvbnN0IGZpcnN0TGluZURuID0gdXNlci5saW5lcz8uWzBdPy5kaXJlY3RvcnlOdW1iZXI7XHJcbiAgICByZXR1cm4gZmlyc3RMaW5lRG4gPz8gbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkU2F2YWJsZUVuZFVzZXIoXHJcbiAgICBlbmRVc2VyOiBFbmRVc2VySW50ZXJmYWNlLFxyXG4gICAgbGluZXM6IExpbmVJbnRlcmZhY2VbXSxcclxuICAgIGRldmljZXM6IERldmljZUludGVyZmFjZVtdLFxyXG4gICAgZGV2aWNlUHJvZmlsZXM6IERldmljZUludGVyZmFjZVtdLFxyXG4gICAgZm9ybTogVXNlckRldGFpbHNGb3JtLFxyXG4gICAgb3B0aW9uczogQnVpbGRTYXZhYmxlRW5kVXNlck9wdGlvbnMgPSB7fVxyXG4pOiBFbmRVc2VySW50ZXJmYWNlIHtcclxuICAgIGNvbnN0IHVzZXIgPSBkZWVwQ2xvbmUoZW5kVXNlcik7XHJcblxyXG4gICAgdXNlci51c2VyaWQgPSBmb3JtLnVzZXJJZCB8fCB1c2VyLnVzZXJpZCB8fCAnJztcclxuICAgIHVzZXIuZmlyc3ROYW1lID0gZm9ybS5maXJzdE5hbWUgfHwgdXNlci5maXJzdE5hbWUgfHwgJyc7XHJcbiAgICB1c2VyLmxhc3ROYW1lID0gZm9ybS5sYXN0TmFtZSB8fCB1c2VyLmxhc3ROYW1lIHx8ICcnO1xyXG4gICAgdXNlci5lbWFpbCA9IGZvcm0uZW1haWwgfHwgdXNlci5lbWFpbCB8fCAnJztcclxuICAgIHVzZXIuY3JlYXRlVXNlck1vZGUgPSBmYWxzZTtcclxuXHJcbiAgICB1c2VyLmxpbmVzID0gKGxpbmVzIHx8IFtdKS5tYXAobGluZSA9PiBwcmVwYXJlTGluZShsaW5lKSk7XHJcbiAgICB1c2VyLmRldmljZXMgPSAoZGV2aWNlcyB8fCBbXSkubWFwKChkZXZpY2UsIGluZGV4KSA9PlxyXG4gICAgICAgIHByZXBhcmVEZXZpY2VGb3JTYXZlKFxyXG4gICAgICAgICAgICBkZXZpY2UsXHJcbiAgICAgICAgICAgIHVzZXIudXNlcmlkIHx8ICcnLFxyXG4gICAgICAgICAgICB1c2VyLmxpbmVzLFxyXG4gICAgICAgICAgICBvcHRpb25zLnJlc29sdmVEZXZpY2VOYW1lPy4oaW5kZXgsIGRldmljZSkgPz8gZGV2aWNlLm5hbWUgPz8gZGV2aWNlLm5ld05hbWUgPz8gJydcclxuICAgICAgICApXHJcbiAgICApO1xyXG4gICAgdXNlci5kZXZpY2VQcm9maWxlcyA9IChkZXZpY2VQcm9maWxlcyB8fCBbXSkubWFwKChwcm9maWxlLCBpbmRleCkgPT5cclxuICAgICAgICBwcmVwYXJlRGV2aWNlRm9yU2F2ZShcclxuICAgICAgICAgICAgcHJvZmlsZSxcclxuICAgICAgICAgICAgdXNlci51c2VyaWQgfHwgJycsXHJcbiAgICAgICAgICAgIHVzZXIubGluZXMsXHJcbiAgICAgICAgICAgIG9wdGlvbnMucmVzb2x2ZURldmljZVByb2ZpbGVOYW1lPy4oaW5kZXgsIHByb2ZpbGUpID8/IHByb2ZpbGUubmFtZSA/PyBwcm9maWxlLm5ld05hbWUgPz8gJydcclxuICAgICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIHVzZXIucHJpbWFyeUxpbmVSZWZlcmVuY2UgPSByZXNvbHZlUHJpbWFyeUxpbmVSZWZlcmVuY2UodXNlcik7XHJcblxyXG4gICAgY29uc3Qgc25yID0gdXNlci5zaW5nbGVOdW1iZXJSZWFjaCBhcyB7IHJlbW90ZURlc3RpbmF0aW9uUHJvZmlsZU5hbWU/OiBzdHJpbmcgfCBudWxsIH0gfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gICAgaWYgKHNuciAmJiAhc25yLnJlbW90ZURlc3RpbmF0aW9uUHJvZmlsZU5hbWUpIHtcclxuICAgICAgICB1c2VyLnNpbmdsZU51bWJlclJlYWNoID0gbnVsbCBhcyBFbmRVc2VySW50ZXJmYWNlWydzaW5nbGVOdW1iZXJSZWFjaCddO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB1c2VyO1xyXG59XHJcbiJdfQ==
@@ -1,13 +1,30 @@
1
1
  /** Matches device types like `Cisco 8851`. */
2
2
  export const CISCO_DIGIT_DEVICE_TYPE_PATTERN = /^Cisco\s+\d+$/i;
3
3
  export const DEFAULT_SEP_DEVICE_PREFIX = 'SEP';
4
- export function applyDefaultDevicePrefixIfMissing(device) {
4
+ /**
5
+ * Extracts a literal prefix from `deviceNameExplained` patterns such as
6
+ * `SEP[mac]`, `TCT[0-9A-Z._-]{1,12}`, or `[A-Z0-9]{1,15}` (no prefix).
7
+ */
8
+ export function extractDevicePrefixFromNameExplained(deviceNameExplained) {
9
+ const explained = deviceNameExplained?.trim() ?? '';
10
+ if (!explained) {
11
+ return null;
12
+ }
13
+ const match = explained.match(/^([A-Za-z]+)\[/);
14
+ return match?.[1] ?? null;
15
+ }
16
+ export function applyDefaultDevicePrefixIfMissing(device, defaults) {
5
17
  if (device.prefix?.trim()) {
6
18
  return;
7
19
  }
20
+ const prefixFromDefaults = extractDevicePrefixFromNameExplained(defaults.deviceNameExplained);
21
+ if (prefixFromDefaults) {
22
+ device.prefix = prefixFromDefaults;
23
+ return;
24
+ }
8
25
  const deviceType = device.deviceType?.trim() ?? '';
9
26
  if (CISCO_DIGIT_DEVICE_TYPE_PATTERN.test(deviceType)) {
10
27
  device.prefix = DEFAULT_SEP_DEVICE_PREFIX;
11
28
  }
12
29
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWRlZmF1bHQtcHJlZml4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItY3JlYXRpb24vc3JjL3V0aWxzL2RldmljZS1kZWZhdWx0LXByZWZpeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSw4Q0FBOEM7QUFDOUMsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsZ0JBQWdCLENBQUM7QUFFaEUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsS0FBSyxDQUFDO0FBRS9DLE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxNQUFzRDtJQUNwRyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDdkIsT0FBTztLQUNWO0lBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbkQsSUFBSSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDbEQsTUFBTSxDQUFDLE1BQU0sR0FBRyx5QkFBeUIsQ0FBQztLQUM3QztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3VzZXItY3JlYXRpb24td2l6YXJkLmludGVyZmFjZXMnO1xuXG4vKiogTWF0Y2hlcyBkZXZpY2UgdHlwZXMgbGlrZSBgQ2lzY28gODg1MWAuICovXG5leHBvcnQgY29uc3QgQ0lTQ09fRElHSVRfREVWSUNFX1RZUEVfUEFUVEVSTiA9IC9eQ2lzY29cXHMrXFxkKyQvaTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0VQX0RFVklDRV9QUkVGSVggPSAnU0VQJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5RGVmYXVsdERldmljZVByZWZpeElmTWlzc2luZyhkZXZpY2U6IFBpY2s8RGV2aWNlSW50ZXJmYWNlLCAncHJlZml4JyB8ICdkZXZpY2VUeXBlJz4pOiB2b2lkIHtcbiAgICBpZiAoZGV2aWNlLnByZWZpeD8udHJpbSgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBkZXZpY2VUeXBlID0gZGV2aWNlLmRldmljZVR5cGU/LnRyaW0oKSA/PyAnJztcbiAgICBpZiAoQ0lTQ09fRElHSVRfREVWSUNFX1RZUEVfUEFUVEVSTi50ZXN0KGRldmljZVR5cGUpKSB7XG4gICAgICAgIGRldmljZS5wcmVmaXggPSBERUZBVUxUX1NFUF9ERVZJQ0VfUFJFRklYO1xuICAgIH1cbn1cbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWRlZmF1bHQtcHJlZml4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItY3JlYXRpb24vc3JjL3V0aWxzL2RldmljZS1kZWZhdWx0LXByZWZpeC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSw4Q0FBOEM7QUFDOUMsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsZ0JBQWdCLENBQUM7QUFFaEUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsS0FBSyxDQUFDO0FBRS9DOzs7R0FHRztBQUNILE1BQU0sVUFBVSxvQ0FBb0MsQ0FBQyxtQkFBOEM7SUFDL0YsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3BELElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDWixPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2hELE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0FBQzlCLENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQUMsTUFBc0QsRUFBRSxRQUFpQztJQUN2SSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDdkIsT0FBTztLQUNWO0lBRUQsTUFBTSxrQkFBa0IsR0FBRyxvQ0FBb0MsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM5RixJQUFJLGtCQUFrQixFQUFFO1FBQ3BCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsa0JBQWtCLENBQUM7UUFDbkMsT0FBTztLQUNWO0lBRUQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbkQsSUFBSSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDbEQsTUFBTSxDQUFDLE1BQU0sR0FBRyx5QkFBeUIsQ0FBQztLQUM3QztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXZpY2VEZWZhdWx0c0ludGVyZmFjZSwgRGV2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy91c2VyLWNyZWF0aW9uLXdpemFyZC5pbnRlcmZhY2VzJztcclxuXHJcbi8qKiBNYXRjaGVzIGRldmljZSB0eXBlcyBsaWtlIGBDaXNjbyA4ODUxYC4gKi9cclxuZXhwb3J0IGNvbnN0IENJU0NPX0RJR0lUX0RFVklDRV9UWVBFX1BBVFRFUk4gPSAvXkNpc2NvXFxzK1xcZCskL2k7XHJcblxyXG5leHBvcnQgY29uc3QgREVGQVVMVF9TRVBfREVWSUNFX1BSRUZJWCA9ICdTRVAnO1xyXG5cclxuLyoqXHJcbiAqIEV4dHJhY3RzIGEgbGl0ZXJhbCBwcmVmaXggZnJvbSBgZGV2aWNlTmFtZUV4cGxhaW5lZGAgcGF0dGVybnMgc3VjaCBhc1xyXG4gKiBgU0VQW21hY11gLCBgVENUWzAtOUEtWi5fLV17MSwxMn1gLCBvciBgW0EtWjAtOV17MSwxNX1gIChubyBwcmVmaXgpLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3REZXZpY2VQcmVmaXhGcm9tTmFtZUV4cGxhaW5lZChkZXZpY2VOYW1lRXhwbGFpbmVkOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBjb25zdCBleHBsYWluZWQgPSBkZXZpY2VOYW1lRXhwbGFpbmVkPy50cmltKCkgPz8gJyc7XHJcbiAgICBpZiAoIWV4cGxhaW5lZCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG1hdGNoID0gZXhwbGFpbmVkLm1hdGNoKC9eKFtBLVphLXpdKylcXFsvKTtcclxuICAgIHJldHVybiBtYXRjaD8uWzFdID8/IG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhcHBseURlZmF1bHREZXZpY2VQcmVmaXhJZk1pc3NpbmcoZGV2aWNlOiBQaWNrPERldmljZUludGVyZmFjZSwgJ3ByZWZpeCcgfCAnZGV2aWNlVHlwZSc+LCBkZWZhdWx0czogRGV2aWNlRGVmYXVsdHNJbnRlcmZhY2UpOiB2b2lkIHtcclxuICAgIGlmIChkZXZpY2UucHJlZml4Py50cmltKCkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcHJlZml4RnJvbURlZmF1bHRzID0gZXh0cmFjdERldmljZVByZWZpeEZyb21OYW1lRXhwbGFpbmVkKGRlZmF1bHRzLmRldmljZU5hbWVFeHBsYWluZWQpO1xyXG4gICAgaWYgKHByZWZpeEZyb21EZWZhdWx0cykge1xyXG4gICAgICAgIGRldmljZS5wcmVmaXggPSBwcmVmaXhGcm9tRGVmYXVsdHM7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRldmljZVR5cGUgPSBkZXZpY2UuZGV2aWNlVHlwZT8udHJpbSgpID8/ICcnO1xyXG4gICAgaWYgKENJU0NPX0RJR0lUX0RFVklDRV9UWVBFX1BBVFRFUk4udGVzdChkZXZpY2VUeXBlKSkge1xyXG4gICAgICAgIGRldmljZS5wcmVmaXggPSBERUZBVUxUX1NFUF9ERVZJQ0VfUFJFRklYO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export function deviceNameHasDynamicTokens(name) {
2
+ return /\[DN\]|\[LN\]|\[FN\]/i.test(name ?? '');
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLW5hbWUtZHluYW1pYy10b2tlbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvdXRpbHMvZGV2aWNlLW5hbWUtZHluYW1pYy10b2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLDBCQUEwQixDQUFDLElBQStCO0lBQ3RFLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGRldmljZU5hbWVIYXNEeW5hbWljVG9rZW5zKG5hbWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAvXFxbRE5cXF18XFxbTE5cXF18XFxbRk5cXF0vaS50ZXN0KG5hbWUgPz8gJycpO1xyXG59XHJcbiJdfQ==
@@ -20,4 +20,4 @@ export function deviceNameValidator(options) {
20
20
  return null;
21
21
  };
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLW5hbWUtdmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9kZXZpY2UtbmFtZS12YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxPQUFtQztJQUNuRSxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUN6RCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsSUFBSTtZQUNBLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU87b0JBQ0gsVUFBVSxFQUFFO3dCQUNSLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLO3FCQUM1QztpQkFDSixDQUFDO2FBQ0w7U0FDSjtRQUFDLE1BQU07WUFDSixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlTmFtZVZhbGlkYXRvck9wdGlvbnMge1xuICAgIHJlZ2V4OiBzdHJpbmc7XG4gICAgY2FwdGlvbj86IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXZpY2VOYW1lVmFsaWRhdG9yKG9wdGlvbnM6IERldmljZU5hbWVWYWxpZGF0b3JPcHRpb25zKTogVmFsaWRhdG9yRm4ge1xuICAgIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgICAgICBjb25zdCByYXcgPSBTdHJpbmcoY29udHJvbC52YWx1ZSA/PyAnJykudHJpbSgpO1xuICAgICAgICBpZiAoIXJhdyB8fCAhb3B0aW9ucy5yZWdleD8udHJpbSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBydWxlID0gbmV3IFJlZ0V4cChgXig/OiR7b3B0aW9ucy5yZWdleH0pJGApO1xuICAgICAgICAgICAgaWYgKCFydWxlLnRlc3QocmF3KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIGRldmljZU5hbWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhcHRpb246IG9wdGlvbnMuY2FwdGlvbiB8fCBvcHRpb25zLnJlZ2V4LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLW5hbWUtdmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9kZXZpY2UtbmFtZS12YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxPQUFtQztJQUNuRSxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUN6RCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNoQyxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsSUFBSTtZQUNBLE1BQU0sSUFBSSxHQUFHLElBQUksTUFBTSxDQUFDLE9BQU8sT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2pCLE9BQU87b0JBQ0gsVUFBVSxFQUFFO3dCQUNSLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLO3FCQUM1QztpQkFDSixDQUFDO2FBQ0w7U0FDSjtRQUFDLE1BQU07WUFDSixPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERldmljZU5hbWVWYWxpZGF0b3JPcHRpb25zIHtcclxuICAgIHJlZ2V4OiBzdHJpbmc7XHJcbiAgICBjYXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGRldmljZU5hbWVWYWxpZGF0b3Iob3B0aW9uczogRGV2aWNlTmFtZVZhbGlkYXRvck9wdGlvbnMpOiBWYWxpZGF0b3JGbiB7XHJcbiAgICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHtcclxuICAgICAgICBjb25zdCByYXcgPSBTdHJpbmcoY29udHJvbC52YWx1ZSA/PyAnJykudHJpbSgpO1xyXG4gICAgICAgIGlmICghcmF3IHx8ICFvcHRpb25zLnJlZ2V4Py50cmltKCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBydWxlID0gbmV3IFJlZ0V4cChgXig/OiR7b3B0aW9ucy5yZWdleH0pJGApO1xyXG4gICAgICAgICAgICBpZiAoIXJ1bGUudGVzdChyYXcpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRldmljZU5hbWU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FwdGlvbjogb3B0aW9ucy5jYXB0aW9uIHx8IG9wdGlvbnMucmVnZXgsXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGNhdGNoIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH07XHJcbn1cclxuIl19
@@ -16,4 +16,4 @@ export const getSavableData = (model, exclude) => {
16
16
  return result;
17
17
  }, {});
18
18
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvdXRpbHMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBVSxFQUFFLE9BQXVCLEVBQUUsRUFBRTtJQUNwRSxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDN0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztLQUNwRTtJQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQVcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUN4QyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFO1lBQ3BGLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztTQUNwRTthQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFO1lBQ3BFLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDM0M7YUFBTTtZQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDMUI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZ2V0U2F2YWJsZURhdGEgPSAobW9kZWw6IGFueSwgZXhjbHVkZT86IEFycmF5PHN0cmluZz4pID0+IHtcbiAgbGV0IHJlc3VsdCA9IE9iamVjdC5rZXlzKG1vZGVsKTtcbiAgaWYgKGV4Y2x1ZGUgJiYgZXhjbHVkZS5sZW5ndGgpIHtcbiAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKGtleSA9PiAhZXhjbHVkZS5zb21lKGl0ZW0gPT4gaXRlbSA9PT0ga2V5KSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdC5yZWR1Y2UoKHJlc3VsdDogYW55LCBrZXkpID0+IHtcbiAgICBpZiAobW9kZWxba2V5XSBpbnN0YW5jZW9mIEFycmF5ICYmIG1vZGVsW2tleV0ubGVuZ3RoICYmIG1vZGVsW2tleV1bMF0uZ2V0U2F2YWJsZURhdGEpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gbW9kZWxba2V5XS5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbS5nZXRTYXZhYmxlRGF0YSgpKTtcbiAgICB9IGVsc2UgaWYgKG1vZGVsW2tleV0gaW5zdGFuY2VvZiBPYmplY3QgJiYgbW9kZWxba2V5XS5nZXRTYXZhYmxlRGF0YSkge1xuICAgICAgcmVzdWx0W2tleV0gPSBtb2RlbFtrZXldLmdldFNhdmFibGVEYXRhKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFtrZXldID0gbW9kZWxba2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfSwge30pO1xufTsiXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1jcmVhdGlvbi9zcmMvdXRpbHMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBVSxFQUFFLE9BQXVCLEVBQUUsRUFBRTtJQUNwRSxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDN0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztLQUNwRTtJQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQVcsRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUN4QyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsWUFBWSxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFO1lBQ3BGLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztTQUNwRTthQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFO1lBQ3BFLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDM0M7YUFBTTtZQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDMUI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZ2V0U2F2YWJsZURhdGEgPSAobW9kZWw6IGFueSwgZXhjbHVkZT86IEFycmF5PHN0cmluZz4pID0+IHtcclxuICBsZXQgcmVzdWx0ID0gT2JqZWN0LmtleXMobW9kZWwpO1xyXG4gIGlmIChleGNsdWRlICYmIGV4Y2x1ZGUubGVuZ3RoKSB7XHJcbiAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKGtleSA9PiAhZXhjbHVkZS5zb21lKGl0ZW0gPT4gaXRlbSA9PT0ga2V5KSk7XHJcbiAgfVxyXG4gIHJldHVybiByZXN1bHQucmVkdWNlKChyZXN1bHQ6IGFueSwga2V5KSA9PiB7XHJcbiAgICBpZiAobW9kZWxba2V5XSBpbnN0YW5jZW9mIEFycmF5ICYmIG1vZGVsW2tleV0ubGVuZ3RoICYmIG1vZGVsW2tleV1bMF0uZ2V0U2F2YWJsZURhdGEpIHtcclxuICAgICAgcmVzdWx0W2tleV0gPSBtb2RlbFtrZXldLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLmdldFNhdmFibGVEYXRhKCkpO1xyXG4gICAgfSBlbHNlIGlmIChtb2RlbFtrZXldIGluc3RhbmNlb2YgT2JqZWN0ICYmIG1vZGVsW2tleV0uZ2V0U2F2YWJsZURhdGEpIHtcclxuICAgICAgcmVzdWx0W2tleV0gPSBtb2RlbFtrZXldLmdldFNhdmFibGVEYXRhKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXN1bHRba2V5XSA9IG1vZGVsW2tleV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH0sIHt9KTtcclxufTsiXX0=
@@ -3,6 +3,7 @@
3
3
  * to validate the name field value (without matPrefix).
4
4
  *
5
5
  * - `([sS][eE][pP]|BAT)[0-9a-fA-F]{12}` → `[0-9a-fA-F]{12}`
6
+ * - `TCT[0-9A-Z._-]{1,12}` → `[0-9A-Z._-]{1,12}`
6
7
  * - `[a-zA-Z0-9]{1,15}` → `[a-zA-Z0-9]{1,15}` (unchanged)
7
8
  */
8
9
  export function parseDeviceNameRegexBody(deviceNameRegex) {
@@ -12,15 +13,17 @@ export function parseDeviceNameRegexBody(deviceNameRegex) {
12
13
  }
13
14
  return stripLeadingPrefixGroup(fullRegex);
14
15
  }
16
+ /** Character class with an optional trailing quantifier, e.g. `[0-9a-fA-F]{12}`. */
17
+ const CHAR_CLASS_WITH_QUANTIFIER = String.raw `\[[^\]]+\](?:\{[^}]+\})?`;
15
18
  function stripLeadingPrefixGroup(regex) {
16
- const parenMatch = regex.match(/^(\(.+?\))(.+)$/s);
19
+ const parenMatch = regex.match(new RegExp(`^(\\([^)]+\\))(${CHAR_CLASS_WITH_QUANTIFIER})$`));
17
20
  if (parenMatch?.[2]?.trim()) {
18
21
  return parenMatch[2];
19
22
  }
20
- const literalMatch = regex.match(/^([A-Za-z]+)(\[.+\])$/s);
23
+ const literalMatch = regex.match(new RegExp(`^([A-Za-z]+)(${CHAR_CLASS_WITH_QUANTIFIER})$`));
21
24
  if (literalMatch?.[2]?.trim()) {
22
25
  return literalMatch[2];
23
26
  }
24
27
  return regex;
25
28
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZGV2aWNlLW5hbWUtcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9wYXJzZS1kZXZpY2UtbmFtZS1ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxlQUEwQztJQUMvRSxNQUFNLFNBQVMsR0FBRyxlQUFlLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2hELElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDWixPQUFPLEVBQUUsQ0FBQztLQUNiO0lBRUQsT0FBTyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FBQyxLQUFhO0lBQzFDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNuRCxJQUFJLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3pCLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3hCO0lBRUQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNELElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDM0IsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDMUI7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTdHJpcHMgYSBsZWFkaW5nIGRldmljZS1wcmVmaXggZ3JvdXAgZnJvbSBgZGV2aWNlTmFtZVJlZ2V4YCwgcmV0dXJuaW5nIHRoZSBwYXR0ZXJuXG4gKiB0byB2YWxpZGF0ZSB0aGUgbmFtZSBmaWVsZCB2YWx1ZSAod2l0aG91dCBtYXRQcmVmaXgpLlxuICpcbiAqIC0gYChbc1NdW2VFXVtwUF18QkFUKVswLTlhLWZBLUZdezEyfWAg4oaSIGBbMC05YS1mQS1GXXsxMn1gXG4gKiAtIGBbYS16QS1aMC05XXsxLDE1fWAg4oaSIGBbYS16QS1aMC05XXsxLDE1fWAgKHVuY2hhbmdlZClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGV2aWNlTmFtZVJlZ2V4Qm9keShkZXZpY2VOYW1lUmVnZXg6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZ1bGxSZWdleCA9IGRldmljZU5hbWVSZWdleD8udHJpbSgpID8/ICcnO1xuICAgIGlmICghZnVsbFJlZ2V4KSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaXBMZWFkaW5nUHJlZml4R3JvdXAoZnVsbFJlZ2V4KTtcbn1cblxuZnVuY3Rpb24gc3RyaXBMZWFkaW5nUHJlZml4R3JvdXAocmVnZXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFyZW5NYXRjaCA9IHJlZ2V4Lm1hdGNoKC9eKFxcKC4rP1xcKSkoLispJC9zKTtcbiAgICBpZiAocGFyZW5NYXRjaD8uWzJdPy50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHBhcmVuTWF0Y2hbMl07XG4gICAgfVxuXG4gICAgY29uc3QgbGl0ZXJhbE1hdGNoID0gcmVnZXgubWF0Y2goL14oW0EtWmEtel0rKShcXFsuK1xcXSkkL3MpO1xuICAgIGlmIChsaXRlcmFsTWF0Y2g/LlsyXT8udHJpbSgpKSB7XG4gICAgICAgIHJldHVybiBsaXRlcmFsTWF0Y2hbMl07XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlZ2V4O1xufVxuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UtZGV2aWNlLW5hbWUtcnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLWNyZWF0aW9uL3NyYy91dGlscy9wYXJzZS1kZXZpY2UtbmFtZS1ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsZUFBMEM7SUFDL0UsTUFBTSxTQUFTLEdBQUcsZUFBZSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNoRCxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQ1osT0FBTyxFQUFFLENBQUM7S0FDYjtJQUVELE9BQU8sdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELG9GQUFvRjtBQUNwRixNQUFNLDBCQUEwQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUEsMEJBQTBCLENBQUM7QUFFeEUsU0FBUyx1QkFBdUIsQ0FBQyxLQUFhO0lBQzFDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsa0JBQWtCLDBCQUEwQixJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdGLElBQUksVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUU7UUFDekIsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDeEI7SUFFRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLGdCQUFnQiwwQkFBMEIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM3RixJQUFJLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQzNCLE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzFCO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBTdHJpcHMgYSBsZWFkaW5nIGRldmljZS1wcmVmaXggZ3JvdXAgZnJvbSBgZGV2aWNlTmFtZVJlZ2V4YCwgcmV0dXJuaW5nIHRoZSBwYXR0ZXJuXHJcbiAqIHRvIHZhbGlkYXRlIHRoZSBuYW1lIGZpZWxkIHZhbHVlICh3aXRob3V0IG1hdFByZWZpeCkuXHJcbiAqXHJcbiAqIC0gYChbc1NdW2VFXVtwUF18QkFUKVswLTlhLWZBLUZdezEyfWAg4oaSIGBbMC05YS1mQS1GXXsxMn1gXHJcbiAqIC0gYFRDVFswLTlBLVouXy1dezEsMTJ9YCDihpIgYFswLTlBLVouXy1dezEsMTJ9YFxyXG4gKiAtIGBbYS16QS1aMC05XXsxLDE1fWAg4oaSIGBbYS16QS1aMC05XXsxLDE1fWAgKHVuY2hhbmdlZClcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZURldmljZU5hbWVSZWdleEJvZHkoZGV2aWNlTmFtZVJlZ2V4OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGZ1bGxSZWdleCA9IGRldmljZU5hbWVSZWdleD8udHJpbSgpID8/ICcnO1xyXG4gICAgaWYgKCFmdWxsUmVnZXgpIHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHN0cmlwTGVhZGluZ1ByZWZpeEdyb3VwKGZ1bGxSZWdleCk7XHJcbn1cclxuXHJcbi8qKiBDaGFyYWN0ZXIgY2xhc3Mgd2l0aCBhbiBvcHRpb25hbCB0cmFpbGluZyBxdWFudGlmaWVyLCBlLmcuIGBbMC05YS1mQS1GXXsxMn1gLiAqL1xyXG5jb25zdCBDSEFSX0NMQVNTX1dJVEhfUVVBTlRJRklFUiA9IFN0cmluZy5yYXdgXFxbW15cXF1dK1xcXSg/Olxce1tefV0rXFx9KT9gO1xyXG5cclxuZnVuY3Rpb24gc3RyaXBMZWFkaW5nUHJlZml4R3JvdXAocmVnZXg6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJlbk1hdGNoID0gcmVnZXgubWF0Y2gobmV3IFJlZ0V4cChgXihcXFxcKFteKV0rXFxcXCkpKCR7Q0hBUl9DTEFTU19XSVRIX1FVQU5USUZJRVJ9KSRgKSk7XHJcbiAgICBpZiAocGFyZW5NYXRjaD8uWzJdPy50cmltKCkpIHtcclxuICAgICAgICByZXR1cm4gcGFyZW5NYXRjaFsyXTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsaXRlcmFsTWF0Y2ggPSByZWdleC5tYXRjaChuZXcgUmVnRXhwKGBeKFtBLVphLXpdKykoJHtDSEFSX0NMQVNTX1dJVEhfUVVBTlRJRklFUn0pJGApKTtcclxuICAgIGlmIChsaXRlcmFsTWF0Y2g/LlsyXT8udHJpbSgpKSB7XHJcbiAgICAgICAgcmV0dXJuIGxpdGVyYWxNYXRjaFsyXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVnZXg7XHJcbn1cclxuIl19