ngx-bimplus-components 0.0.75 → 0.0.76

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 (215) hide show
  1. package/assets/images/27_Center_Menu.svg +3 -3
  2. package/assets/images/27_Center_Menu_active.svg +3 -3
  3. package/assets/images/27_Center_Menu_opened.svg +14 -14
  4. package/assets/images/6-dots-gray.svg +10 -10
  5. package/assets/images/6_dots_gray.svg +8 -8
  6. package/assets/images/Add_Issue_active.svg +12 -12
  7. package/assets/images/Add_Issue_disabled.svg +12 -12
  8. package/assets/images/Allplan-Cloud-Viewer-Logo.svg +17 -17
  9. package/assets/images/Allplan-Connexis-Logo.svg +8 -8
  10. package/assets/images/Allplan_Bimplus_Logo.svg +14 -14
  11. package/assets/images/Fullscreen_active.svg +6 -6
  12. package/assets/images/Fullscreen_disabled.svg +8 -8
  13. package/assets/images/Hide_active.svg +12 -12
  14. package/assets/images/Hide_disabled.svg +12 -12
  15. package/assets/images/IsolateMenuClipped.svg +19 -19
  16. package/assets/images/IsolateMenuClipped_orange.svg +19 -19
  17. package/assets/images/IsolateMenuHidden.svg +8 -8
  18. package/assets/images/IsolateMenuHidden_orange.svg +8 -8
  19. package/assets/images/IsolateMenuNormal.svg +29 -29
  20. package/assets/images/IsolateMenuNormal_orange.svg +29 -29
  21. package/assets/images/IsolationMenuParams.svg +5 -5
  22. package/assets/images/IsolationMenuParamsOrange.svg +5 -5
  23. package/assets/images/Isolation_active.svg +12 -12
  24. package/assets/images/Isolation_disabled.svg +12 -12
  25. package/assets/images/Markup_active.svg +11 -11
  26. package/assets/images/Markup_disabled.svg +11 -11
  27. package/assets/images/Navigation_Map_active.svg +3 -3
  28. package/assets/images/Navigation_Map_disabled.svg +5 -5
  29. package/assets/images/Project_Navigation_active.svg +10 -10
  30. package/assets/images/Project_Navigation_disabled.svg +10 -10
  31. package/assets/images/Quantity_active.svg +3 -3
  32. package/assets/images/Quantity_disabled.svg +5 -5
  33. package/assets/images/Reset_active.svg +10 -10
  34. package/assets/images/Reset_disabled.svg +10 -10
  35. package/assets/images/Section_active.svg +3 -3
  36. package/assets/images/Section_disabled.svg +5 -5
  37. package/assets/images/Spinner_18_disabled.svg +15 -15
  38. package/assets/images/View_active.svg +4 -4
  39. package/assets/images/View_disabled.svg +6 -6
  40. package/assets/images/bimplus_Components_Account_Settings.svg +14 -14
  41. package/assets/images/bimplus_Components_Autoconverter.svg +14 -14
  42. package/assets/images/bimplus_Components_Autoconverter_Active.svg +14 -14
  43. package/assets/images/bimplus_Components_Autoconverter_Disabled.svg +14 -14
  44. package/assets/images/bimplus_Components_BIM_Explorer.svg +18 -18
  45. package/assets/images/bimplus_Components_BIM_Explorer_Active.svg +18 -18
  46. package/assets/images/bimplus_Components_BIM_Explorer_Disabled.svg +18 -18
  47. package/assets/images/bimplus_Components_Clear_Cache.svg +16 -16
  48. package/assets/images/bimplus_Components_Close.svg +3 -3
  49. package/assets/images/bimplus_Components_Connexis.svg +4 -4
  50. package/assets/images/bimplus_Components_Connexis_Active.svg +4 -4
  51. package/assets/images/bimplus_Components_Connexis_Disabled.svg +4 -4
  52. package/assets/images/bimplus_Components_Desktop_Mode.svg +15 -15
  53. package/assets/images/bimplus_Components_Documents.svg +14 -14
  54. package/assets/images/bimplus_Components_Documents_Active.svg +14 -14
  55. package/assets/images/bimplus_Components_Documents_Disabled.svg +14 -14
  56. package/assets/images/bimplus_Components_Edit_Profile.svg +8 -8
  57. package/assets/images/bimplus_Components_Forum.svg +10 -10
  58. package/assets/images/bimplus_Components_IFC_viewer.svg +9 -9
  59. package/assets/images/bimplus_Components_IFC_viewer_Active.svg +16 -16
  60. package/assets/images/bimplus_Components_IFC_viewer_Disabled.svg +9 -9
  61. package/assets/images/bimplus_Components_ISO.svg +3 -3
  62. package/assets/images/bimplus_Components_ISO_Active.svg +3 -3
  63. package/assets/images/bimplus_Components_ISO_Disabled.svg +3 -3
  64. package/assets/images/bimplus_Components_Info.svg +16 -16
  65. package/assets/images/bimplus_Components_Info_Active.svg +16 -16
  66. package/assets/images/bimplus_Components_Languages.svg +5 -5
  67. package/assets/images/bimplus_Components_Logout.svg +12 -12
  68. package/assets/images/bimplus_Components_Models.svg +3 -3
  69. package/assets/images/bimplus_Components_Models_Active.svg +3 -3
  70. package/assets/images/bimplus_Components_Models_Disabled.svg +3 -3
  71. package/assets/images/bimplus_Components_Notify_Alert.svg +6 -6
  72. package/assets/images/bimplus_Components_Notify_Close.svg +3 -3
  73. package/assets/images/bimplus_Components_Notify_Empty.svg +5 -5
  74. package/assets/images/bimplus_Components_Notify_Main.svg +5 -5
  75. package/assets/images/bimplus_Components_Notify_Tick_Up.svg +3 -3
  76. package/assets/images/bimplus_Components_Projects_Folder.svg +10 -10
  77. package/assets/images/bimplus_Components_Projects_Folder_Active.svg +10 -10
  78. package/assets/images/bimplus_Components_Projects_Folder_Disabled.svg +10 -10
  79. package/assets/images/bimplus_Components_Property_Manager.svg +5 -5
  80. package/assets/images/bimplus_Components_Property_Manager_Active.svg +5 -5
  81. package/assets/images/bimplus_Components_Property_Manager_Disabled.svg +5 -5
  82. package/assets/images/bimplus_Components_Setting_Active.svg +3 -3
  83. package/assets/images/bimplus_Components_Settings.svg +3 -3
  84. package/assets/images/bimplus_Components_Settings_Disabled.svg +3 -3
  85. package/assets/images/bimplus_Components_Shop.svg +13 -13
  86. package/assets/images/bimplus_Components_Shop_Disabled.svg +13 -13
  87. package/assets/images/bimplus_Components_Support.svg +21 -21
  88. package/assets/images/bimplus_Components_Team_Members.svg +4 -4
  89. package/assets/images/bimplus_Components_Team_Members_Active.svg +4 -4
  90. package/assets/images/bimplus_Components_Touch_Mode.svg +16 -16
  91. package/assets/images/bimplus_Components_User_Guide.svg +17 -17
  92. package/assets/images/bimplus_Components_Users.svg +4 -4
  93. package/assets/images/bimplus_Components_Users_Active.svg +4 -4
  94. package/assets/images/bimplus_Components_Users_Disabled.svg +4 -4
  95. package/assets/images/bimplus_Components_Zoom.svg +5 -5
  96. package/assets/images/bimplus_Components_navbar_menu.svg +6 -6
  97. package/assets/images/bimplus_Components_navbar_menu_active.svg +6 -6
  98. package/assets/images/bimplus_Components_navbar_menu_disabled.svg +6 -6
  99. package/assets/images/bimplus_Components_submenu_arrow.svg +4 -4
  100. package/assets/images/bimplus_Remove_Conection.svg +15 -15
  101. package/assets/images/bimplus_WebIcons_Cross.svg +1 -1
  102. package/assets/images/checkbox_off.svg +3 -3
  103. package/assets/images/checkbox_off_disabled.svg +3 -3
  104. package/assets/images/checkbox_off_hovered.svg +3 -3
  105. package/assets/images/checkbox_on.svg +4 -4
  106. package/assets/images/checkbox_on_disabled.svg +4 -4
  107. package/assets/images/checkbox_on_hovered.svg +4 -4
  108. package/assets/images/cm_view_front_black.svg +4 -4
  109. package/assets/images/cm_view_front_orange.svg +4 -4
  110. package/assets/images/cm_view_perspective_black.svg +3 -3
  111. package/assets/images/cm_view_perspective_orange.svg +3 -3
  112. package/assets/images/cm_view_side_black.svg +4 -4
  113. package/assets/images/cm_view_side_orange.svg +4 -4
  114. package/assets/images/cm_view_top_black.svg +4 -4
  115. package/assets/images/cm_view_top_orange.svg +4 -4
  116. package/assets/images/collapsed_18.svg +3 -3
  117. package/assets/images/collapsed_18_small.svg +3 -3
  118. package/assets/images/expanded_18.svg +3 -3
  119. package/assets/images/expanded_18_small.svg +3 -3
  120. package/assets/images/ic_drag.svg +8 -8
  121. package/assets/images/ic_eye_black.svg +5 -5
  122. package/assets/images/ic_eye_orange.svg +5 -5
  123. package/assets/images/ic_make_transparent.svg +4 -4
  124. package/assets/images/ic_make_transparent_active.svg +4 -4
  125. package/assets/images/ic_reset.svg +3 -3
  126. package/assets/images/ic_thin_arrow_left.svg +3 -3
  127. package/assets/images/ic_toggle_off_gray.svg +4 -4
  128. package/assets/images/ic_toggle_on_green.svg +4 -4
  129. package/assets/images/ic_toggle_on_light_green.svg +4 -4
  130. package/assets/images/icon-hide-param-orange.svg +5 -5
  131. package/assets/images/icon-hide-param-white.svg +5 -5
  132. package/assets/images/resize_handle_ne.svg +4 -4
  133. package/assets/images/resize_handle_se.svg +4 -4
  134. package/assets/languages/strings_cs.json +2310 -2310
  135. package/assets/languages/strings_de.json +2310 -2310
  136. package/assets/languages/strings_en.json +2352 -2352
  137. package/assets/languages/strings_es.json +2310 -2310
  138. package/assets/languages/strings_fr.json +2310 -2310
  139. package/assets/languages/strings_it.json +2310 -2310
  140. package/assets/languages/strings_nl.json +796 -796
  141. package/assets/languages/strings_ro.json +2310 -2310
  142. package/assets/languages/strings_ru.json +2310 -2310
  143. package/assets/languages/strings_tr.json +2310 -2310
  144. package/assets/languages/strings_us.json +2263 -2263
  145. package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.mjs +3 -3
  146. package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.mjs +1 -1
  147. package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.component.mjs +3 -3
  148. package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.interface.mjs +1 -1
  149. package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.service.mjs +1 -1
  150. package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.component.mjs +3 -3
  151. package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.interface.mjs +1 -1
  152. package/esm2022/lib/components/bimplus-contact/bimplus-contact.component.mjs +3 -3
  153. package/esm2022/lib/components/bimplus-context-menu/bimplus-context-menu.component.mjs +3 -3
  154. package/esm2022/lib/components/bimplus-context-menu/bimplus-context-menu.interface.mjs +1 -1
  155. package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.mjs +3 -3
  156. package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.interface.mjs +1 -1
  157. package/esm2022/lib/components/bimplus-floating-bar/bimplus-floating-bar.component.mjs +3 -3
  158. package/esm2022/lib/components/bimplus-floating-bar/bimplus-floating-bar.interface.mjs +1 -1
  159. package/esm2022/lib/components/bimplus-floating-bar-body/bimplus-floating-bar-body.component.mjs +3 -3
  160. package/esm2022/lib/components/bimplus-floating-bar-dragger/bimplus-floating-bar-dragger.component.mjs +3 -3
  161. package/esm2022/lib/components/bimplus-floating-bar-header-content/bimplus-floating-bar-header-content.component.mjs +3 -3
  162. package/esm2022/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.mjs +3 -3
  163. package/esm2022/lib/components/bimplus-floating-bar-hide-objects/bimplus-floating-bar-hide-objects.component.mjs +3 -3
  164. package/esm2022/lib/components/bimplus-floating-bar-isolation-objects/bimplus-floating-bar-isolation-objects.component.mjs +3 -3
  165. package/esm2022/lib/components/bimplus-floating-bar-project-navigator/bimplus-floating-bar-project-navigator.component.mjs +3 -3
  166. package/esm2022/lib/components/bimplus-language-menu/bimplus-language-menu.component.mjs +3 -3
  167. package/esm2022/lib/components/bimplus-main-menu/bimplus-main-menu.component.mjs +3 -3
  168. package/esm2022/lib/components/bimplus-navbar/bimplus-navbar.component.mjs +3 -3
  169. package/esm2022/lib/components/bimplus-navbar/logo-state.enum.mjs +1 -1
  170. package/esm2022/lib/components/bimplus-notify/bimplus-notify.component.mjs +3 -3
  171. package/esm2022/lib/components/bimplus-object-complex-properties/bimplus-object-complex-properties.interface.mjs +1 -1
  172. package/esm2022/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.mjs +3 -3
  173. package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.mjs +3 -3
  174. package/esm2022/lib/components/bimplus-object-navigator/filter-criterium/filter-criterium.component.mjs +2 -2
  175. package/esm2022/lib/components/bimplus-object-navigator/object-filter-result/object-filter-result.component.mjs +3 -3
  176. package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.interface.mjs +1 -1
  177. package/esm2022/lib/components/bimplus-panel-toolbar/bimplus-panel-toolbar.component.mjs +3 -3
  178. package/esm2022/lib/components/bimplus-project-menu/bimplus-project-menu.component.mjs +3 -3
  179. package/esm2022/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.mjs +3 -3
  180. package/esm2022/lib/components/bimplus-sidenav/bimplus-sidenav.component.mjs +3 -3
  181. package/esm2022/lib/components/bimplus-sidenav-drawer-content/bimplus-sidenav-drawer-content.component.mjs +3 -3
  182. package/esm2022/lib/components/bimplus-storage-info/bimplus-storage-info.component.mjs +3 -3
  183. package/esm2022/lib/components/bimplus-text-message/bimplus-text-message.component.mjs +3 -3
  184. package/esm2022/lib/components/bimplus-tool-hub/bimplus-tool-hub.component.mjs +3 -3
  185. package/esm2022/lib/components/bimplus-tool-hub/svgGenerator.mjs +1 -1
  186. package/esm2022/lib/components/bimplus-tool-hub/tool-hub-item/tool-hub-item.component.mjs +3 -3
  187. package/esm2022/lib/components/bimplus-tool-hub/tool-hub-sub-item/tool-hub-sub-item.component.mjs +3 -3
  188. package/esm2022/lib/components/bimplus-tooltip-message/bimplus-tooltip-message.component.mjs +3 -3
  189. package/esm2022/lib/components/bimplus-tooltip-message/bimplus-tooltip-message.interface.mjs +1 -1
  190. package/esm2022/lib/components/bimplus-touch-menu/bimplus-touch-menu.component.mjs +3 -3
  191. package/esm2022/lib/components/bimplus-user-menu/bimplus-user-menu.component.mjs +3 -3
  192. package/esm2022/lib/components/bimplus-zoom/bimplus-zoom.component.mjs +3 -3
  193. package/esm2022/lib/components/expansion-panel/expansion-panel.component.mjs +3 -3
  194. package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +3 -3
  195. package/esm2022/lib/components/project-models/project-models.component.mjs +3 -3
  196. package/esm2022/lib/components/project-models/project-models.interface.mjs +1 -1
  197. package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +1 -1
  198. package/esm2022/lib/interfaces/bimplus-opacity-properties.interface.mjs +1 -1
  199. package/esm2022/lib/interfaces/bimplus-visibility-properties.interface.mjs +1 -1
  200. package/esm2022/lib/services/layout-manager.service.mjs +1 -1
  201. package/esm2022/lib/types/types.mjs +1 -1
  202. package/esm2022/lib/utils/filterString.mjs +1 -1
  203. package/esm2022/lib/utils/filterStructureFetcher.mjs +1 -1
  204. package/esm2022/lib/utils/utils.mjs +1 -1
  205. package/esm2022/public-api.mjs +1 -1
  206. package/fesm2022/ngx-bimplus-components.mjs +78 -78
  207. package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
  208. package/lib/components/bimplus-object-complex-properties/bimplus-object-complex-properties.interface.d.ts +0 -1
  209. package/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.d.ts +0 -1
  210. package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.d.ts +0 -1
  211. package/lib/components/bimplus-object-navigator/object-filter-result/object-filter-result.component.d.ts +0 -1
  212. package/lib/components/bimplus-object-structure/bimplus-object-structure.interface.d.ts +0 -1
  213. package/lib/components/project-models/project-models.interface.d.ts +0 -1
  214. package/lib/utils/filterStructureFetcher.d.ts +0 -1
  215. package/package.json +1 -1
@@ -92,11 +92,11 @@ export class BimplusContextMenuComponent {
92
92
  event.stopPropagation();
93
93
  }
94
94
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusContextMenuComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
95
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.10", type: BimplusContextMenuComponent, isStandalone: true, selector: "lib-bimplus-context-menu", inputs: { showIcons: ["showIcons", "showIcons", booleanAttribute], triggerTitle: "triggerTitle", items: "items", data: "data" }, outputs: { triggerSelected: "triggerSelected" }, ngImport: i0, template: "<div class=\"basic-context-menu\" libClickOutside (clickOutside)=\"_clickOutside()\">\n <div class=\"context-menu-trigger\" (click)=\"_toggleDropdown($event)\" title=\"{{triggerTitle}}\">\n </div>\n <ul\n class=\"basic-context-menu__list\"\n *ngIf=\"_showDropdown\"\n [ngStyle]=\"{\n 'top.px': _position.posY\n , 'left.px': _position.posX\n }\"\n >\n <ng-container *ngFor=\"let item of _items\">\n <li class=\"basic-context-menu__item\"\n [class.basic-context-menu__item--disabled]=\"_disabled(item)\"\n *ngIf=\"item.id !== 'separator'\"\n (click)=\"_actionClick(item)\"\n >\n <div class=\"basic-context-menu__item__icon\" [style.background-image]=\"'url(' + item.icon + ')'\" *ngIf=\"showIcons\">\n </div>\n <div class=\"basic-context-menu__item__label\" title=\"{{item.tooltip ? item.tooltip : item.title}}\">\n {{item.title}}\n </div>\n </li>\n <div class=\"basic-context-menu__item__separator\" *ngIf=\"item.id === 'separator'\"></div>\n </ng-container>\n </ul>\n</div>\n", styles: [".text-selected{color:#fe5000}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.no-transition{-moz-transition:none;-webkit-transition:none;-o-transition:color 0 ease-in;transition:none}.ml-1{margin-left:1rem}.mr-1{margin-right:1rem}.h-full{height:100%}.fixed{position:fixed}.basic-context-menu{display:block;font-family:var(--context-menu-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--context-menu-font-size, 1.4rem)}.basic-context-menu>.context-menu-trigger{min-width:var(--context-menu-trigger-width, 2.5rem);max-width:var(--context-menu-trigger-width, 2.5rem);min-height:var(--context-menu-trigger-height, 2.5rem);max-height:var(--context-menu-trigger-height, 2.5rem);background-repeat:no-repeat;background-position:center;background-image:url('data:image/svg+xml,<svg width=\"4\" height=\"18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 2a2 2 0 11-4 0 2 2 0 014 0zm0 7a2 2 0 11-4 0 2 2 0 014 0zm-2 9a2 2 0 100-4 2 2 0 000 4z\" fill=\"%23444\"/></svg>');background-color:var(--context-menu-trigger-bkg-color, transparent)}.basic-context-menu>.context-menu-trigger:hover{background-image:url('data:image/svg+xml,<svg width=\"4\" height=\"18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 2a2 2 0 11-4 0 2 2 0 014 0zm0 7a2 2 0 11-4 0 2 2 0 014 0zm-2 9a2 2 0 100-4 2 2 0 000 4z\" fill=\"%23FE5000\"/></svg>')}.basic-context-menu>.basic-context-menu__list{z-index:1;margin:0;position:fixed;top:-2000;left:-2000;translate:var(--context-menu-translate-x, 0) var(--context-menu-translate-y, 0);border:thin solid var(--context-menu-border-color, #E0E0E0);border-top-width:0;padding-top:.8rem;padding-bottom:.8rem;padding-left:0;padding-right:0;border-bottom-left-radius:var(--context-menu-border-radius, .6rem);border-bottom-right-radius:var(--context-menu-border-radius, .6rem);border-top-left-radius:var(--context-menu-border-radius, .6rem);border-top-right-radius:var(--context-menu-border-radius, .6rem);-webkit-box-shadow:0 .2rem .6rem rgba(0,0,0,.5);-moz-box-shadow:0 .2rem .6rem rgba(0,0,0,.5);box-shadow:0 .2rem .6rem #00000080;width:fit-content;min-width:var(--context-menu-min-width, 10rem);max-width:var(--context-menu-max-width, 30rem);background-color:var(--context-menu-bkg-color, #ffffff)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item{display:flex;flex-direction:row;cursor:pointer;line-height:var(--context-menu-item-line-height, 3.2rem);list-style-type:none;padding-left:1.2rem;padding-right:2.1rem}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item>.basic-context-menu__item__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:var(--context-menu-font-weight, 700);color:#333}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item>.basic-context-menu__item__icon{height:var(--context-menu-item-line-height, 3.2rem);width:var(--context-menu-item-line-height, 3.2rem);min-width:var(--context-menu-item-line-height, 3.2rem);background-repeat:no-repeat;background-size:var(--context-menu-item-icon-size, 1.8rem);margin-right:.6rem;background-position:center;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23F05423;}%0A%09.st1{fill:%23FFFFFF;}%0A<\\/style>%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0A<g>%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0A</g>%0A<g>%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0A</g>%0A</svg>%0A')}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item:hover{background-color:var(--context-menu-hover-color, #F5F5F5)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item__separator{border-top:solid .2rem var(--context-menu-separator-color, #f5f5f5)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled{background-color:transparent;cursor:default}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled>*{opacity:var(--context-menu-item-disabled-opacity, .3)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled:hover{cursor:default;background-color:var(--context-menu-hover-color, #F5F5F5)}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[libClickOutside]", outputs: ["clickOutside"] }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
95
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.10", type: BimplusContextMenuComponent, isStandalone: true, selector: "lib-bimplus-context-menu", inputs: { showIcons: ["showIcons", "showIcons", booleanAttribute], triggerTitle: "triggerTitle", items: "items", data: "data" }, outputs: { triggerSelected: "triggerSelected" }, ngImport: i0, template: "<div class=\"basic-context-menu\" libClickOutside (clickOutside)=\"_clickOutside()\">\r\n <div class=\"context-menu-trigger\" (click)=\"_toggleDropdown($event)\" title=\"{{triggerTitle}}\">\r\n </div>\r\n <ul\r\n class=\"basic-context-menu__list\"\r\n *ngIf=\"_showDropdown\"\r\n [ngStyle]=\"{\r\n 'top.px': _position.posY\r\n , 'left.px': _position.posX\r\n }\"\r\n >\r\n <ng-container *ngFor=\"let item of _items\">\r\n <li class=\"basic-context-menu__item\"\r\n [class.basic-context-menu__item--disabled]=\"_disabled(item)\"\r\n *ngIf=\"item.id !== 'separator'\"\r\n (click)=\"_actionClick(item)\"\r\n >\r\n <div class=\"basic-context-menu__item__icon\" [style.background-image]=\"'url(' + item.icon + ')'\" *ngIf=\"showIcons\">\r\n </div>\r\n <div class=\"basic-context-menu__item__label\" title=\"{{item.tooltip ? item.tooltip : item.title}}\">\r\n {{item.title}}\r\n </div>\r\n </li>\r\n <div class=\"basic-context-menu__item__separator\" *ngIf=\"item.id === 'separator'\"></div>\r\n </ng-container>\r\n </ul>\r\n</div>\r\n", styles: [".text-selected{color:#fe5000}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.no-transition{-moz-transition:none;-webkit-transition:none;-o-transition:color 0 ease-in;transition:none}.ml-1{margin-left:1rem}.mr-1{margin-right:1rem}.h-full{height:100%}.fixed{position:fixed}.basic-context-menu{display:block;font-family:var(--context-menu-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--context-menu-font-size, 1.4rem)}.basic-context-menu>.context-menu-trigger{min-width:var(--context-menu-trigger-width, 2.5rem);max-width:var(--context-menu-trigger-width, 2.5rem);min-height:var(--context-menu-trigger-height, 2.5rem);max-height:var(--context-menu-trigger-height, 2.5rem);background-repeat:no-repeat;background-position:center;background-image:url('data:image/svg+xml,<svg width=\"4\" height=\"18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 2a2 2 0 11-4 0 2 2 0 014 0zm0 7a2 2 0 11-4 0 2 2 0 014 0zm-2 9a2 2 0 100-4 2 2 0 000 4z\" fill=\"%23444\"/></svg>');background-color:var(--context-menu-trigger-bkg-color, transparent)}.basic-context-menu>.context-menu-trigger:hover{background-image:url('data:image/svg+xml,<svg width=\"4\" height=\"18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 2a2 2 0 11-4 0 2 2 0 014 0zm0 7a2 2 0 11-4 0 2 2 0 014 0zm-2 9a2 2 0 100-4 2 2 0 000 4z\" fill=\"%23FE5000\"/></svg>')}.basic-context-menu>.basic-context-menu__list{z-index:1;margin:0;position:fixed;top:-2000;left:-2000;translate:var(--context-menu-translate-x, 0) var(--context-menu-translate-y, 0);border:thin solid var(--context-menu-border-color, #E0E0E0);border-top-width:0;padding-top:.8rem;padding-bottom:.8rem;padding-left:0;padding-right:0;border-bottom-left-radius:var(--context-menu-border-radius, .6rem);border-bottom-right-radius:var(--context-menu-border-radius, .6rem);border-top-left-radius:var(--context-menu-border-radius, .6rem);border-top-right-radius:var(--context-menu-border-radius, .6rem);-webkit-box-shadow:0 .2rem .6rem rgba(0,0,0,.5);-moz-box-shadow:0 .2rem .6rem rgba(0,0,0,.5);box-shadow:0 .2rem .6rem #00000080;width:fit-content;min-width:var(--context-menu-min-width, 10rem);max-width:var(--context-menu-max-width, 30rem);background-color:var(--context-menu-bkg-color, #ffffff)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item{display:flex;flex-direction:row;cursor:pointer;line-height:var(--context-menu-item-line-height, 3.2rem);list-style-type:none;padding-left:1.2rem;padding-right:2.1rem}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item>.basic-context-menu__item__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:var(--context-menu-font-weight, 700);color:#333}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item>.basic-context-menu__item__icon{height:var(--context-menu-item-line-height, 3.2rem);width:var(--context-menu-item-line-height, 3.2rem);min-width:var(--context-menu-item-line-height, 3.2rem);background-repeat:no-repeat;background-size:var(--context-menu-item-icon-size, 1.8rem);margin-right:.6rem;background-position:center;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23F05423;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item:hover{background-color:var(--context-menu-hover-color, #F5F5F5)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item__separator{border-top:solid .2rem var(--context-menu-separator-color, #f5f5f5)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled{background-color:transparent;cursor:default}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled>*{opacity:var(--context-menu-item-disabled-opacity, .3)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled:hover{cursor:default;background-color:var(--context-menu-hover-color, #F5F5F5)}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[libClickOutside]", outputs: ["clickOutside"] }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
96
96
  }
97
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusContextMenuComponent, decorators: [{
98
98
  type: Component,
99
- args: [{ selector: 'lib-bimplus-context-menu', standalone: true, imports: [NgFor, NgIf, NgStyle, ClickOutsideDirective], encapsulation: ViewEncapsulation.ShadowDom, template: "<div class=\"basic-context-menu\" libClickOutside (clickOutside)=\"_clickOutside()\">\n <div class=\"context-menu-trigger\" (click)=\"_toggleDropdown($event)\" title=\"{{triggerTitle}}\">\n </div>\n <ul\n class=\"basic-context-menu__list\"\n *ngIf=\"_showDropdown\"\n [ngStyle]=\"{\n 'top.px': _position.posY\n , 'left.px': _position.posX\n }\"\n >\n <ng-container *ngFor=\"let item of _items\">\n <li class=\"basic-context-menu__item\"\n [class.basic-context-menu__item--disabled]=\"_disabled(item)\"\n *ngIf=\"item.id !== 'separator'\"\n (click)=\"_actionClick(item)\"\n >\n <div class=\"basic-context-menu__item__icon\" [style.background-image]=\"'url(' + item.icon + ')'\" *ngIf=\"showIcons\">\n </div>\n <div class=\"basic-context-menu__item__label\" title=\"{{item.tooltip ? item.tooltip : item.title}}\">\n {{item.title}}\n </div>\n </li>\n <div class=\"basic-context-menu__item__separator\" *ngIf=\"item.id === 'separator'\"></div>\n </ng-container>\n </ul>\n</div>\n", styles: [".text-selected{color:#fe5000}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.no-transition{-moz-transition:none;-webkit-transition:none;-o-transition:color 0 ease-in;transition:none}.ml-1{margin-left:1rem}.mr-1{margin-right:1rem}.h-full{height:100%}.fixed{position:fixed}.basic-context-menu{display:block;font-family:var(--context-menu-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--context-menu-font-size, 1.4rem)}.basic-context-menu>.context-menu-trigger{min-width:var(--context-menu-trigger-width, 2.5rem);max-width:var(--context-menu-trigger-width, 2.5rem);min-height:var(--context-menu-trigger-height, 2.5rem);max-height:var(--context-menu-trigger-height, 2.5rem);background-repeat:no-repeat;background-position:center;background-image:url('data:image/svg+xml,<svg width=\"4\" height=\"18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 2a2 2 0 11-4 0 2 2 0 014 0zm0 7a2 2 0 11-4 0 2 2 0 014 0zm-2 9a2 2 0 100-4 2 2 0 000 4z\" fill=\"%23444\"/></svg>');background-color:var(--context-menu-trigger-bkg-color, transparent)}.basic-context-menu>.context-menu-trigger:hover{background-image:url('data:image/svg+xml,<svg width=\"4\" height=\"18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 2a2 2 0 11-4 0 2 2 0 014 0zm0 7a2 2 0 11-4 0 2 2 0 014 0zm-2 9a2 2 0 100-4 2 2 0 000 4z\" fill=\"%23FE5000\"/></svg>')}.basic-context-menu>.basic-context-menu__list{z-index:1;margin:0;position:fixed;top:-2000;left:-2000;translate:var(--context-menu-translate-x, 0) var(--context-menu-translate-y, 0);border:thin solid var(--context-menu-border-color, #E0E0E0);border-top-width:0;padding-top:.8rem;padding-bottom:.8rem;padding-left:0;padding-right:0;border-bottom-left-radius:var(--context-menu-border-radius, .6rem);border-bottom-right-radius:var(--context-menu-border-radius, .6rem);border-top-left-radius:var(--context-menu-border-radius, .6rem);border-top-right-radius:var(--context-menu-border-radius, .6rem);-webkit-box-shadow:0 .2rem .6rem rgba(0,0,0,.5);-moz-box-shadow:0 .2rem .6rem rgba(0,0,0,.5);box-shadow:0 .2rem .6rem #00000080;width:fit-content;min-width:var(--context-menu-min-width, 10rem);max-width:var(--context-menu-max-width, 30rem);background-color:var(--context-menu-bkg-color, #ffffff)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item{display:flex;flex-direction:row;cursor:pointer;line-height:var(--context-menu-item-line-height, 3.2rem);list-style-type:none;padding-left:1.2rem;padding-right:2.1rem}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item>.basic-context-menu__item__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:var(--context-menu-font-weight, 700);color:#333}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item>.basic-context-menu__item__icon{height:var(--context-menu-item-line-height, 3.2rem);width:var(--context-menu-item-line-height, 3.2rem);min-width:var(--context-menu-item-line-height, 3.2rem);background-repeat:no-repeat;background-size:var(--context-menu-item-icon-size, 1.8rem);margin-right:.6rem;background-position:center;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23F05423;}%0A%09.st1{fill:%23FFFFFF;}%0A<\\/style>%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0A<g>%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0A</g>%0A<g>%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0A</g>%0A</svg>%0A')}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item:hover{background-color:var(--context-menu-hover-color, #F5F5F5)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item__separator{border-top:solid .2rem var(--context-menu-separator-color, #f5f5f5)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled{background-color:transparent;cursor:default}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled>*{opacity:var(--context-menu-item-disabled-opacity, .3)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled:hover{cursor:default;background-color:var(--context-menu-hover-color, #F5F5F5)}\n"] }]
99
+ args: [{ selector: 'lib-bimplus-context-menu', standalone: true, imports: [NgFor, NgIf, NgStyle, ClickOutsideDirective], encapsulation: ViewEncapsulation.ShadowDom, template: "<div class=\"basic-context-menu\" libClickOutside (clickOutside)=\"_clickOutside()\">\r\n <div class=\"context-menu-trigger\" (click)=\"_toggleDropdown($event)\" title=\"{{triggerTitle}}\">\r\n </div>\r\n <ul\r\n class=\"basic-context-menu__list\"\r\n *ngIf=\"_showDropdown\"\r\n [ngStyle]=\"{\r\n 'top.px': _position.posY\r\n , 'left.px': _position.posX\r\n }\"\r\n >\r\n <ng-container *ngFor=\"let item of _items\">\r\n <li class=\"basic-context-menu__item\"\r\n [class.basic-context-menu__item--disabled]=\"_disabled(item)\"\r\n *ngIf=\"item.id !== 'separator'\"\r\n (click)=\"_actionClick(item)\"\r\n >\r\n <div class=\"basic-context-menu__item__icon\" [style.background-image]=\"'url(' + item.icon + ')'\" *ngIf=\"showIcons\">\r\n </div>\r\n <div class=\"basic-context-menu__item__label\" title=\"{{item.tooltip ? item.tooltip : item.title}}\">\r\n {{item.title}}\r\n </div>\r\n </li>\r\n <div class=\"basic-context-menu__item__separator\" *ngIf=\"item.id === 'separator'\"></div>\r\n </ng-container>\r\n </ul>\r\n</div>\r\n", styles: [".text-selected{color:#fe5000}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.no-transition{-moz-transition:none;-webkit-transition:none;-o-transition:color 0 ease-in;transition:none}.ml-1{margin-left:1rem}.mr-1{margin-right:1rem}.h-full{height:100%}.fixed{position:fixed}.basic-context-menu{display:block;font-family:var(--context-menu-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--context-menu-font-size, 1.4rem)}.basic-context-menu>.context-menu-trigger{min-width:var(--context-menu-trigger-width, 2.5rem);max-width:var(--context-menu-trigger-width, 2.5rem);min-height:var(--context-menu-trigger-height, 2.5rem);max-height:var(--context-menu-trigger-height, 2.5rem);background-repeat:no-repeat;background-position:center;background-image:url('data:image/svg+xml,<svg width=\"4\" height=\"18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 2a2 2 0 11-4 0 2 2 0 014 0zm0 7a2 2 0 11-4 0 2 2 0 014 0zm-2 9a2 2 0 100-4 2 2 0 000 4z\" fill=\"%23444\"/></svg>');background-color:var(--context-menu-trigger-bkg-color, transparent)}.basic-context-menu>.context-menu-trigger:hover{background-image:url('data:image/svg+xml,<svg width=\"4\" height=\"18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M4 2a2 2 0 11-4 0 2 2 0 014 0zm0 7a2 2 0 11-4 0 2 2 0 014 0zm-2 9a2 2 0 100-4 2 2 0 000 4z\" fill=\"%23FE5000\"/></svg>')}.basic-context-menu>.basic-context-menu__list{z-index:1;margin:0;position:fixed;top:-2000;left:-2000;translate:var(--context-menu-translate-x, 0) var(--context-menu-translate-y, 0);border:thin solid var(--context-menu-border-color, #E0E0E0);border-top-width:0;padding-top:.8rem;padding-bottom:.8rem;padding-left:0;padding-right:0;border-bottom-left-radius:var(--context-menu-border-radius, .6rem);border-bottom-right-radius:var(--context-menu-border-radius, .6rem);border-top-left-radius:var(--context-menu-border-radius, .6rem);border-top-right-radius:var(--context-menu-border-radius, .6rem);-webkit-box-shadow:0 .2rem .6rem rgba(0,0,0,.5);-moz-box-shadow:0 .2rem .6rem rgba(0,0,0,.5);box-shadow:0 .2rem .6rem #00000080;width:fit-content;min-width:var(--context-menu-min-width, 10rem);max-width:var(--context-menu-max-width, 30rem);background-color:var(--context-menu-bkg-color, #ffffff)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item{display:flex;flex-direction:row;cursor:pointer;line-height:var(--context-menu-item-line-height, 3.2rem);list-style-type:none;padding-left:1.2rem;padding-right:2.1rem}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item>.basic-context-menu__item__label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:var(--context-menu-font-weight, 700);color:#333}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item>.basic-context-menu__item__icon{height:var(--context-menu-item-line-height, 3.2rem);width:var(--context-menu-item-line-height, 3.2rem);min-width:var(--context-menu-item-line-height, 3.2rem);background-repeat:no-repeat;background-size:var(--context-menu-item-icon-size, 1.8rem);margin-right:.6rem;background-position:center;background-image:url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 30 30\" style=\"enable-background:new 0 0 30 30;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23F05423;}%0D%0A%09.st1{fill:%23FFFFFF;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M15,0C6.7,0,0,6.7,0,15s6.7,15,15,15s15-6.7,15-15S23.3,0,15,0z\"/>%0D%0A<g>%0D%0A%09<rect x=\"14\" y=\"6\" class=\"st1\" width=\"3\" height=\"3\"/>%0D%0A</g>%0D%0A<g>%0D%0A%09<polygon class=\"st1\" points=\"19,23 12,23 12,21 14,21 14,13 12,13 12,11 17,11 17,21 19,21 %09\"/>%0D%0A</g>%0D%0A</svg>%0D%0A')}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item:hover{background-color:var(--context-menu-hover-color, #F5F5F5)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item__separator{border-top:solid .2rem var(--context-menu-separator-color, #f5f5f5)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled{background-color:transparent;cursor:default}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled>*{opacity:var(--context-menu-item-disabled-opacity, .3)}.basic-context-menu>.basic-context-menu__list>.basic-context-menu__item--disabled:hover{cursor:default;background-color:var(--context-menu-hover-color, #F5F5F5)}\n"] }]
100
100
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { triggerSelected: [{
101
101
  type: Output
102
102
  }], showIcons: [{
@@ -109,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
109
109
  }], data: [{
110
110
  type: Input
111
111
  }] } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1jb250ZXh0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDUCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixpQkFBaUIsRUFFakIsWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFXOUMsTUFBTSxPQUFPLDJCQUEyQjtJQWV0QyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQWEsS0FBSyxDQUFDLEtBQXVEO1FBQ3hFLElBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBekJ4QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDUCxjQUFT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Q0FBQztJQUM5QixDQUFDO0lBRVMsZUFBZSxDQUFDLEtBQWlCO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3JDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNuQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0F4R1UsMkJBQTJCO21HQUEzQiwyQkFBMkIsNEdBRWxCLGdCQUFnQiwwSUN6QnRDLGdrQ0EyQkEsMHlLRFZZLEtBQUssbUhBQUUsSUFBSSw2RkFBRSxPQUFPLDJFQUFFLHFCQUFxQjs7NEZBTTFDLDJCQUEyQjtrQkFUdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUscUJBQXFCLENBQUMsaUJBR3ZDLGlCQUFpQixDQUFDLFNBQVM7K0VBSWhDLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ2lDLFNBQVM7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBZU8sS0FBSztzQkFBakIsS0FBSztnQkFlTyxJQUFJO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXG4gIENvbXBvbmVudFxuICAsIElucHV0XG4gICwgT3V0cHV0XG4gICwgYm9vbGVhbkF0dHJpYnV0ZVxuICAsIFZpZXdFbmNhcHN1bGF0aW9uXG4gICwgRWxlbWVudFJlZlxuICAsIEV2ZW50RW1pdHRlclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nRm9yLCBOZ0lmLCBOZ1N0eWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQmltcGx1c0NvbnRleHRNZW51SXRlbSwgQmltcGx1c0NvbnRleHRNZW51UG9zaXRpb24gfSBmcm9tICcuL2JpbXBsdXMtY29udGV4dC1tZW51LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDbGlja091dHNpZGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgZmlyZUV2ZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1jb250ZXh0LW1lbnUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdGb3IsIE5nSWYsIE5nU3R5bGUsIENsaWNrT3V0c2lkZURpcmVjdGl2ZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLWNvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9iaW1wbHVzLWNvbnRleHQtbWVudS5jb21wb25lbnQubGVzcycsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLlNoYWRvd0RvbVxufSlcblxuZXhwb3J0IGNsYXNzIEJpbXBsdXNDb250ZXh0TWVudUNvbXBvbmVudCB7XG4gIEBPdXRwdXQoKSB0cmlnZ2VyU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzaG93SWNvbnM6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSB0cmlnZ2VyVGl0bGUgOiBzdHJpbmcgPSBcIlwiO1xuXG4gIHByb3RlY3RlZCBfc2hvd0Ryb3Bkb3duOiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfaXRlbXM6IEFycmF5PEJpbXBsdXNDb250ZXh0TWVudUl0ZW0+ID0gbmV3IEFycmF5PEJpbXBsdXNDb250ZXh0TWVudUl0ZW0+KCk7XG4gIHByb3RlY3RlZCBfZGF0YT86IG9iamVjdCA9IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIF9wb3NpdGlvbjogQmltcGx1c0NvbnRleHRNZW51UG9zaXRpb24gPSB7XG4gICAgcG9zWDogLTIwMDBcbiAgICAsIHBvc1k6IC0yMDAwXG4gIH07XG4gIHByaXZhdGUgX2VsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIF9pbnRlcnZhbDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuXG4gIGdldCBpdGVtcygpOiBBcnJheTxCaW1wbHVzQ29udGV4dE1lbnVJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xuICB9XG4gIEBJbnB1dCgpIHNldCBpdGVtcyh2YWx1ZTogQXJyYXk8QmltcGx1c0NvbnRleHRNZW51SXRlbT4gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5faXRlbXMgPSB2YWx1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLl9lbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnNoYWRvd1Jvb3Q7XG4gIH1cblxuICBnZXQgZGF0YSgpOiB1bmRlZmluZWQgfCBvYmplY3Qge1xuICAgIHJldHVybiB0aGlzLl9kYXRhO1xuICB9XG4gIEBJbnB1dCgpIHNldCBkYXRhKGRhdGE6IG9iamVjdCkge1xuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9jbGlja091dHNpZGUoKSB7XG4gICAgdGhpcy5fc3RvcFRyaWdnZXJQb3NpdGlvblRyYWNraW5nKCk7XG4gICAgdGhpcy5fc2hvd0Ryb3Bkb3duID0gZmFsc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2FjdGlvbkNsaWNrKGl0ZW06IEJpbXBsdXNDb250ZXh0TWVudUl0ZW0pIHtcbiAgICB0aGlzLl9zaG93RHJvcGRvd24gPSBmYWxzZTtcblxuICAgIGlmKHR5cGVvZiBpdGVtLmRpc2FibGVkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZihpdGVtLmRpc2FibGVkPy4odGhpcy5fZGF0YSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaXRlbS5hY3Rpb24/Lih0aGlzLl9kYXRhKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZihpdGVtLmRpc2FibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGl0ZW0uYWN0aW9uPy4odGhpcy5fZGF0YSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2Rpc2FibGVkKGl0ZW06IEJpbXBsdXNDb250ZXh0TWVudUl0ZW0pOiBib29sZWFuIHtcbiAgICBpZighaXRlbS5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZih0eXBlb2YgaXRlbS5kaXNhYmxlZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIGl0ZW0uZGlzYWJsZWQ/Lih0aGlzLl9kYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW0uZGlzYWJsZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2NhbGN1bGF0ZUNvbnRleHRNZW51UG9zaXRpb24oKSB7XG4gICAgY29uc3QgX3RyaWdnZXJFbGFtZW50ID0gdGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNvbnRleHQtbWVudS10cmlnZ2VyXCIpO1xuICAgIGlmKCFfdHJpZ2dlckVsYW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBfdHJpZ2dlclJlY3RhbmdsZSA9IF90cmlnZ2VyRWxhbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB0aGlzLl9wb3NpdGlvbi5wb3NYID0gX3RyaWdnZXJSZWN0YW5nbGUucmlnaHQ7XG4gICAgdGhpcy5fcG9zaXRpb24ucG9zWSA9IF90cmlnZ2VyUmVjdGFuZ2xlLnRvcDtcbiAgfVxuXG4gIHByb3RlY3RlZCBfc3RvcFRyaWdnZXJQb3NpdGlvblRyYWNraW5nKCk6IHZvaWQge1xuICAgIGlmKCF0aGlzLl9pbnRlcnZhbCl7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7XG4gICAgdGhpcy5faW50ZXJ2YWwgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3N0YXJ0VHJpZ2dlclBvc2l0aW9uVHJhY2tpbmcoKTogdm9pZCB7XG4gICAgaWYodGhpcy5faW50ZXJ2YWwpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9pbnRlcnZhbCA9ICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICB0aGlzLl9jYWxjdWxhdGVDb250ZXh0TWVudVBvc2l0aW9uKCk7XG4gICAgfSwgNTApIGFzIHVua25vd24gYXMgbnVtYmVyO1xuICB9XG5cbiAgcHJvdGVjdGVkIF90b2dnbGVEcm9wZG93bihldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuX3Nob3dEcm9wZG93biA9ICF0aGlzLl9zaG93RHJvcGRvd247XG4gICAgdGhpcy5fY2FsY3VsYXRlQ29udGV4dE1lbnVQb3NpdGlvbigpO1xuICAgIHRoaXMuX3N0YXJ0VHJpZ2dlclBvc2l0aW9uVHJhY2tpbmcoKTtcbiAgICBmaXJlRXZlbnQodGhpcywgXCJ0cmlnZ2VyU2VsZWN0ZWRcIik7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJiYXNpYy1jb250ZXh0LW1lbnVcIiBsaWJDbGlja091dHNpZGUgKGNsaWNrT3V0c2lkZSk9XCJfY2xpY2tPdXRzaWRlKClcIj5cbiAgPGRpdiBjbGFzcz1cImNvbnRleHQtbWVudS10cmlnZ2VyXCIgKGNsaWNrKT1cIl90b2dnbGVEcm9wZG93bigkZXZlbnQpXCIgdGl0bGU9XCJ7e3RyaWdnZXJUaXRsZX19XCI+XG4gIDwvZGl2PlxuICA8dWxcbiAgICBjbGFzcz1cImJhc2ljLWNvbnRleHQtbWVudV9fbGlzdFwiXG4gICAgKm5nSWY9XCJfc2hvd0Ryb3Bkb3duXCJcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAndG9wLnB4JzogX3Bvc2l0aW9uLnBvc1lcbiAgICAgICwgJ2xlZnQucHgnOiBfcG9zaXRpb24ucG9zWFxuICAgIH1cIlxuICA+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBfaXRlbXNcIj5cbiAgICAgIDxsaSBjbGFzcz1cImJhc2ljLWNvbnRleHQtbWVudV9faXRlbVwiXG4gICAgICAgIFtjbGFzcy5iYXNpYy1jb250ZXh0LW1lbnVfX2l0ZW0tLWRpc2FibGVkXT1cIl9kaXNhYmxlZChpdGVtKVwiXG4gICAgICAgICpuZ0lmPVwiaXRlbS5pZCAhPT0gJ3NlcGFyYXRvcidcIlxuICAgICAgICAoY2xpY2spPVwiX2FjdGlvbkNsaWNrKGl0ZW0pXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJhc2ljLWNvbnRleHQtbWVudV9faXRlbV9faWNvblwiIFtzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXT1cIid1cmwoJyArIGl0ZW0uaWNvbiArICcpJ1wiICpuZ0lmPVwic2hvd0ljb25zXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYmFzaWMtY29udGV4dC1tZW51X19pdGVtX19sYWJlbFwiIHRpdGxlPVwie3tpdGVtLnRvb2x0aXAgPyBpdGVtLnRvb2x0aXAgOiBpdGVtLnRpdGxlfX1cIj5cbiAgICAgICAgICB7e2l0ZW0udGl0bGV9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbGk+XG4gICAgICA8ZGl2IGNsYXNzPVwiYmFzaWMtY29udGV4dC1tZW51X19pdGVtX19zZXBhcmF0b3JcIiAqbmdJZj1cIml0ZW0uaWQgPT09ICdzZXBhcmF0b3InXCI+PC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdWw+XG48L2Rpdj5cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1jb250ZXh0LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDUCxLQUFLLEVBQ0wsTUFBTSxFQUNOLGdCQUFnQixFQUNoQixpQkFBaUIsRUFFakIsWUFBWSxFQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFXOUMsTUFBTSxPQUFPLDJCQUEyQjtJQWV0QyxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELElBQWEsS0FBSyxDQUFDLEtBQXVEO1FBQ3hFLElBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBekJ4QixvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDUCxjQUFT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Q0FBQztJQUM5QixDQUFDO0lBRVMsZUFBZSxDQUFDLEtBQWlCO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQ3JDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNuQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQzsrR0F4R1UsMkJBQTJCO21HQUEzQiwyQkFBMkIsNEdBRWxCLGdCQUFnQiwwSUN6QnRDLHNuQ0EyQkEsMDFLRFZZLEtBQUssbUhBQUUsSUFBSSw2RkFBRSxPQUFPLDJFQUFFLHFCQUFxQjs7NEZBTTFDLDJCQUEyQjtrQkFUdkMsU0FBUzsrQkFDRSwwQkFBMEIsY0FDeEIsSUFBSSxXQUNQLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUscUJBQXFCLENBQUMsaUJBR3ZDLGlCQUFpQixDQUFDLFNBQVM7K0VBSWhDLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ2lDLFNBQVM7c0JBQWhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBZU8sS0FBSztzQkFBakIsS0FBSztnQkFlTyxJQUFJO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgXHJcbiAgQ29tcG9uZW50XHJcbiAgLCBJbnB1dFxyXG4gICwgT3V0cHV0XHJcbiAgLCBib29sZWFuQXR0cmlidXRlXHJcbiAgLCBWaWV3RW5jYXBzdWxhdGlvblxyXG4gICwgRWxlbWVudFJlZlxyXG4gICwgRXZlbnRFbWl0dGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nRm9yLCBOZ0lmLCBOZ1N0eWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCaW1wbHVzQ29udGV4dE1lbnVJdGVtLCBCaW1wbHVzQ29udGV4dE1lbnVQb3NpdGlvbiB9IGZyb20gJy4vYmltcGx1cy1jb250ZXh0LW1lbnUuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgZmlyZUV2ZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1jb250ZXh0LW1lbnUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW05nRm9yLCBOZ0lmLCBOZ1N0eWxlLCBDbGlja091dHNpZGVEaXJlY3RpdmVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaW1wbHVzLWNvbnRleHQtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2JpbXBsdXMtY29udGV4dC1tZW51LmNvbXBvbmVudC5sZXNzJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5TaGFkb3dEb21cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBCaW1wbHVzQ29udGV4dE1lbnVDb21wb25lbnQge1xyXG4gIEBPdXRwdXQoKSB0cmlnZ2VyU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dJY29uczogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgdHJpZ2dlclRpdGxlIDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHJvdGVjdGVkIF9zaG93RHJvcGRvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcm90ZWN0ZWQgX2l0ZW1zOiBBcnJheTxCaW1wbHVzQ29udGV4dE1lbnVJdGVtPiA9IG5ldyBBcnJheTxCaW1wbHVzQ29udGV4dE1lbnVJdGVtPigpO1xyXG4gIHByb3RlY3RlZCBfZGF0YT86IG9iamVjdCA9IHVuZGVmaW5lZDtcclxuICBwcm90ZWN0ZWQgX3Bvc2l0aW9uOiBCaW1wbHVzQ29udGV4dE1lbnVQb3NpdGlvbiA9IHtcclxuICAgIHBvc1g6IC0yMDAwXHJcbiAgICAsIHBvc1k6IC0yMDAwXHJcbiAgfTtcclxuICBwcml2YXRlIF9lbGVtZW50OiBIVE1MRWxlbWVudDtcclxuICBwcml2YXRlIF9pbnRlcnZhbDogbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG5cclxuICBnZXQgaXRlbXMoKTogQXJyYXk8QmltcGx1c0NvbnRleHRNZW51SXRlbT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xyXG4gIH1cclxuICBASW5wdXQoKSBzZXQgaXRlbXModmFsdWU6IEFycmF5PEJpbXBsdXNDb250ZXh0TWVudUl0ZW0+IHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgaWYoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9pdGVtcyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5fZWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5zaGFkb3dSb290O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRhdGEoKTogdW5kZWZpbmVkIHwgb2JqZWN0IHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gIH1cclxuICBASW5wdXQoKSBzZXQgZGF0YShkYXRhOiBvYmplY3QpIHtcclxuICAgIHRoaXMuX2RhdGEgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9jbGlja091dHNpZGUoKSB7XHJcbiAgICB0aGlzLl9zdG9wVHJpZ2dlclBvc2l0aW9uVHJhY2tpbmcoKTtcclxuICAgIHRoaXMuX3Nob3dEcm9wZG93biA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9hY3Rpb25DbGljayhpdGVtOiBCaW1wbHVzQ29udGV4dE1lbnVJdGVtKSB7XHJcbiAgICB0aGlzLl9zaG93RHJvcGRvd24gPSBmYWxzZTtcclxuXHJcbiAgICBpZih0eXBlb2YgaXRlbS5kaXNhYmxlZCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBpZihpdGVtLmRpc2FibGVkPy4odGhpcy5fZGF0YSkpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaXRlbS5hY3Rpb24/Lih0aGlzLl9kYXRhKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKGl0ZW0uZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaXRlbS5hY3Rpb24/Lih0aGlzLl9kYXRhKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfZGlzYWJsZWQoaXRlbTogQmltcGx1c0NvbnRleHRNZW51SXRlbSk6IGJvb2xlYW4ge1xyXG4gICAgaWYoIWl0ZW0uZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYodHlwZW9mIGl0ZW0uZGlzYWJsZWQgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIGl0ZW0uZGlzYWJsZWQ/Lih0aGlzLl9kYXRhKTtcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9jYWxjdWxhdGVDb250ZXh0TWVudVBvc2l0aW9uKCkge1xyXG4gICAgY29uc3QgX3RyaWdnZXJFbGFtZW50ID0gdGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiLmNvbnRleHQtbWVudS10cmlnZ2VyXCIpO1xyXG4gICAgaWYoIV90cmlnZ2VyRWxhbWVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgX3RyaWdnZXJSZWN0YW5nbGUgPSBfdHJpZ2dlckVsYW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICB0aGlzLl9wb3NpdGlvbi5wb3NYID0gX3RyaWdnZXJSZWN0YW5nbGUucmlnaHQ7XHJcbiAgICB0aGlzLl9wb3NpdGlvbi5wb3NZID0gX3RyaWdnZXJSZWN0YW5nbGUudG9wO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9zdG9wVHJpZ2dlclBvc2l0aW9uVHJhY2tpbmcoKTogdm9pZCB7XHJcbiAgICBpZighdGhpcy5faW50ZXJ2YWwpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7XHJcbiAgICB0aGlzLl9pbnRlcnZhbCA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfc3RhcnRUcmlnZ2VyUG9zaXRpb25UcmFja2luZygpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuX2ludGVydmFsKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faW50ZXJ2YWwgPSAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9jYWxjdWxhdGVDb250ZXh0TWVudVBvc2l0aW9uKCk7XHJcbiAgICB9LCA1MCkgYXMgdW5rbm93biBhcyBudW1iZXI7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX3RvZ2dsZURyb3Bkb3duKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLl9zaG93RHJvcGRvd24gPSAhdGhpcy5fc2hvd0Ryb3Bkb3duO1xyXG4gICAgdGhpcy5fY2FsY3VsYXRlQ29udGV4dE1lbnVQb3NpdGlvbigpO1xyXG4gICAgdGhpcy5fc3RhcnRUcmlnZ2VyUG9zaXRpb25UcmFja2luZygpO1xyXG4gICAgZmlyZUV2ZW50KHRoaXMsIFwidHJpZ2dlclNlbGVjdGVkXCIpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJiYXNpYy1jb250ZXh0LW1lbnVcIiBsaWJDbGlja091dHNpZGUgKGNsaWNrT3V0c2lkZSk9XCJfY2xpY2tPdXRzaWRlKClcIj5cclxuICA8ZGl2IGNsYXNzPVwiY29udGV4dC1tZW51LXRyaWdnZXJcIiAoY2xpY2spPVwiX3RvZ2dsZURyb3Bkb3duKCRldmVudClcIiB0aXRsZT1cInt7dHJpZ2dlclRpdGxlfX1cIj5cclxuICA8L2Rpdj5cclxuICA8dWxcclxuICAgIGNsYXNzPVwiYmFzaWMtY29udGV4dC1tZW51X19saXN0XCJcclxuICAgICpuZ0lmPVwiX3Nob3dEcm9wZG93blwiXHJcbiAgICBbbmdTdHlsZV09XCJ7XHJcbiAgICAgICd0b3AucHgnOiBfcG9zaXRpb24ucG9zWVxyXG4gICAgICAsICdsZWZ0LnB4JzogX3Bvc2l0aW9uLnBvc1hcclxuICAgIH1cIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2l0ZW1zXCI+XHJcbiAgICAgIDxsaSBjbGFzcz1cImJhc2ljLWNvbnRleHQtbWVudV9faXRlbVwiXHJcbiAgICAgICAgW2NsYXNzLmJhc2ljLWNvbnRleHQtbWVudV9faXRlbS0tZGlzYWJsZWRdPVwiX2Rpc2FibGVkKGl0ZW0pXCJcclxuICAgICAgICAqbmdJZj1cIml0ZW0uaWQgIT09ICdzZXBhcmF0b3InXCJcclxuICAgICAgICAoY2xpY2spPVwiX2FjdGlvbkNsaWNrKGl0ZW0pXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJiYXNpYy1jb250ZXh0LW1lbnVfX2l0ZW1fX2ljb25cIiBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCIndXJsKCcgKyBpdGVtLmljb24gKyAnKSdcIiAqbmdJZj1cInNob3dJY29uc1wiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJiYXNpYy1jb250ZXh0LW1lbnVfX2l0ZW1fX2xhYmVsXCIgdGl0bGU9XCJ7e2l0ZW0udG9vbHRpcCA/IGl0ZW0udG9vbHRpcCA6IGl0ZW0udGl0bGV9fVwiPlxyXG4gICAgICAgICAge3tpdGVtLnRpdGxlfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9saT5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhc2ljLWNvbnRleHQtbWVudV9faXRlbV9fc2VwYXJhdG9yXCIgKm5nSWY9XCJpdGVtLmlkID09PSAnc2VwYXJhdG9yJ1wiPjwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC91bD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1jb250ZXh0LW1lbnUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJpbXBsdXNDb250ZXh0TWVudUl0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBpY29uQ2xhc3M/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICB0b29sdGlwPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IEZ1bmN0aW9uIHwgYm9vbGVhbjtcbiAgYWN0aW9uPzogRnVuY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmltcGx1c0NvbnRleHRNZW51UG9zaXRpb24ge1xuICBwb3NYOiBudW1iZXI7XG4gIHBvc1k6IG51bWJlclxufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1jb250ZXh0LW1lbnUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1jb250ZXh0LW1lbnUvYmltcGx1cy1jb250ZXh0LW1lbnUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJpbXBsdXNDb250ZXh0TWVudUl0ZW0ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgaWNvbkNsYXNzPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgdG9vbHRpcD86IHN0cmluZztcclxuICBkaXNhYmxlZD86IEZ1bmN0aW9uIHwgYm9vbGVhbjtcclxuICBhY3Rpb24/OiBGdW5jdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCaW1wbHVzQ29udGV4dE1lbnVQb3NpdGlvbiB7XHJcbiAgcG9zWDogbnVtYmVyO1xyXG4gIHBvc1k6IG51bWJlclxyXG59Il19
@@ -268,7 +268,7 @@ export class BimplusFlatTreeComponent {
268
268
  return this._selectionList?.isSelected(node);
269
269
  }
270
270
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusFlatTreeComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
271
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: BimplusFlatTreeComponent, isStandalone: true, selector: "lib-bimplus-flat-tree", inputs: { treeDataStringified: "treeDataStringified", treeTitle: "treeTitle", paddingIndent: "paddingIndent", multiSelect: ["multiSelect", "multiSelect", booleanAttribute], oneLevelMultiSelect: ["oneLevelMultiSelect", "oneLevelMultiSelect", booleanAttribute], showFoldersIcons: ["showFoldersIcons", "showFoldersIcons", booleanAttribute], showObjectsIcons: ["showObjectsIcons", "showObjectsIcons", booleanAttribute], enableSelect: ["enableSelect", "enableSelect", booleanAttribute], enableParentHighlighting: ["enableParentHighlighting", "enableParentHighlighting", booleanAttribute], enableDragAndDrop: ["enableDragAndDrop", "enableDragAndDrop", booleanAttribute], dataTestPrefix: "dataTestPrefix", contextMenus: "contextMenus", treeData: "treeData", customNodeTemplate: "customNodeTemplate" }, outputs: { selectedNodes: "selectedNodes" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tree-container\">\n <div *ngIf=\"treeTitle\" class=\"tree-title\">{{treeTitle}}</div>\n <cdk-tree [dataSource]=\"_dataSource\" [treeControl]=\"_treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <cdk-tree-node\n [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n class=\"object-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <!-- use a disabled button to provide padding for tree leaf -->\n <button mat-icon-button disabled>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon object-icon\" *ngIf=\"showObjectsIcons\">\n </div>\n <span\n class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div>\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.objectContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.objectContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-tree-node [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node;when: _isExpendable\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n class=\"folder-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <button\n mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'Toggle ' + node.name\"\n >\n <div\n class=\"icon expand-collapse-icon\"\n [class.expand-more-icon]=\"_hasChildren(node) && !_treeControl.isExpanded(node)\"\n [class.collapse-icon]=\"_hasChildren(node) && _treeControl.isExpanded(node)\"\n >\n </div>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon folder-icon\" *ngIf=\"showFoldersIcons\">\n </div>\n <span class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n [class.selected-all-descendants-nodes]=\"_descendantsAllSelected(node) && _isSelected(node) && enableParentHighlighting\"\n [class.selected-partially-descendants-nodes]=\"_descendantsPartiallySelected(node) && enableParentHighlighting\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div class=\"node-label\">\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.folderContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.folderContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n </cdk-tree>\n</div>\n", styles: [".text-selected{color:#fe5000}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.tree-container{background-color:var(--flat-tree-bkg-color, #ffffff);width:calc(100% - 2 * var(--flat-tree-node-indent, 1rem));padding:var(--flat-tree-node-indent, 1rem);font-family:var(--flat-tree-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--flat-tree-font-size, 1.3rem);font-weight:var(--flat-tree-font-weight, 700);color:var(--flat-tree-color, #444444)}.tree-container>.tree-title{background-color:transparent;font-size:var(--flat-tree-title-font-size, 1.6rem);margin-bottom:1rem}.cdk-tree{background-color:transparent;width:100%}.cdk-tree>.cdk-tree-node{--mat-icon-button-touch-target-display: none;background-color:transparent;display:flex;align-items:center;cursor:pointer;line-height:var(--flat-tree-node-line-height, 2.4rem)}.cdk-tree>.cdk-tree-node.folder-node{font-weight:var(--flat-tree-folder-font-weight, 700)}.cdk-tree>.cdk-tree-node.object-node{font-weight:var(--flat-tree-object-font-weight, 400)}.cdk-tree>.cdk-tree-node>span.node-label{overflow:hidden;flex:1}.cdk-tree>.cdk-tree-node>span.node-label>div.node-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-tree>.cdk-tree-node lib-bimplus-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: var(--flat-tree-node-line-height, 2.4rem);--context-menu-trigger-bkg-color: transparent;--context-menu-translate-x: 1rem}.cdk-tree>.cdk-tree-node:not(.selected-node):not(:hover) lib-bimplus-context-menu{display:none}.cdk-tree-node.dragable-node:hover{background-color:var(--flat-tree-hover-color, #F5F5F5);background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<rect x=\"11\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A</svg>%0A');background-repeat:no-repeat;background-size:var(--flat-tree-node-icon-size, 1.8rem);background-position:left center}.mat-mdc-icon-button{padding:.2rem;width:var(--flat-tree-node-line-height, 2.4rem);height:var(--flat-tree-node-line-height, 2.4rem)}.selected-node{color:var(--flat-tree-selected-node-color, #2188ca);font-weight:var(--flat-tree-selected-node-font-weight, 700)!important}.selected-all-descendants-nodes{color:var(--flat-tree-selected-node-color, #2188ca)}.selected-partially-descendants-nodes{color:var(--flat-tree-partially-selected-node-color, rgba(0, 71, 171, .55))}.custom-drag-placeholder{height:0px}.icon{width:var(--flat-tree-node-icon-size, 1.8rem);height:var(--flat-tree-node-icon-size, 1.8rem);margin-right:.4rem;background-position:center;background-size:var(--flat-tree-node-icon-size, 1.8rem)}.icon.folder-icon{background:var(--flat-tree-folder-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23444444;}%0A<\\/style>%0A<path class=\"st0\" d=\"M17,7V5V4V1h-6L8,3H0v16h2h15l3-12H17z M8,5h0.6l0.5-0.3L11.6,3H15v1v1v2H3l-1,4V5H8z M15.4,17H2.6l2-8H15h2%0A%09h0.4L15.4,17z\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-folder-icon-size, 1.6rem);background-position:center}.icon.object-icon{background:var(--flat-tree-object-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23444;}%0A<\\/style>%0A<g>%0A%09<path class=\"st0\" d=\"M6,9h4V7H6V9z\"/>%0A%09<path class=\"st0\" d=\"M6,4v2h8V4H6z\"/>%0A%09<path class=\"st0\" d=\"M6,12h4v-2H6V12z\"/>%0A%09<path class=\"st0\" d=\"M17,1H3v18h10l0,0l0,0l4-4h0l0,0V1z M13,15v2H5V3h10v12H13z\"/>%0A</g>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-object-icon-size, 1.6rem);background-position:center}.icon.expand-collapse-icon.expand-more-icon{background:var(--flat-tree-node-expand-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M7.81235 5.64988C7.48497 5.38797 7 5.62106 7 6.04031L7 11.9597C7 12.3789 7.48497 12.612 7.81235 12.3501L11.512 9.39043C11.7622 9.19027 11.7622 8.80973 11.512 8.60957L7.81235 5.64988Z\" fill=\"%23ADADAD\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}.icon.expand-collapse-icon.collapse-icon{background:var(--flat-tree-node-collapse-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12.3501 7.81235C12.612 7.48497 12.3789 7 11.9597 7H6.04031C5.62106 7 5.38797 7.48497 5.64988 7.81235L8.60957 11.512C8.80973 11.7622 9.19027 11.7622 9.39043 11.512L12.3501 7.81235Z\" fill=\"%23444444\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}\n"], dependencies: [{ kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i1.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i1.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i1.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: CdkTreeModule }, { kind: "component", type: i3.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "trackBy"], exportAs: ["cdkTree"] }, { kind: "directive", type: i3.CdkTreeNode, selector: "cdk-tree-node", inputs: ["role"], exportAs: ["cdkTreeNode"] }, { kind: "component", type: BimplusContextMenuComponent, selector: "lib-bimplus-context-menu", inputs: ["showIcons", "triggerTitle", "items", "data"], outputs: ["triggerSelected"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
271
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: BimplusFlatTreeComponent, isStandalone: true, selector: "lib-bimplus-flat-tree", inputs: { treeDataStringified: "treeDataStringified", treeTitle: "treeTitle", paddingIndent: "paddingIndent", multiSelect: ["multiSelect", "multiSelect", booleanAttribute], oneLevelMultiSelect: ["oneLevelMultiSelect", "oneLevelMultiSelect", booleanAttribute], showFoldersIcons: ["showFoldersIcons", "showFoldersIcons", booleanAttribute], showObjectsIcons: ["showObjectsIcons", "showObjectsIcons", booleanAttribute], enableSelect: ["enableSelect", "enableSelect", booleanAttribute], enableParentHighlighting: ["enableParentHighlighting", "enableParentHighlighting", booleanAttribute], enableDragAndDrop: ["enableDragAndDrop", "enableDragAndDrop", booleanAttribute], dataTestPrefix: "dataTestPrefix", contextMenus: "contextMenus", treeData: "treeData", customNodeTemplate: "customNodeTemplate" }, outputs: { selectedNodes: "selectedNodes" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"tree-container\">\r\n <div *ngIf=\"treeTitle\" class=\"tree-title\">{{treeTitle}}</div>\r\n <cdk-tree [dataSource]=\"_dataSource\" [treeControl]=\"_treeControl\">\r\n <!-- This is the tree node template for leaf nodes -->\r\n <cdk-tree-node\r\n [matTreeNodePaddingIndent]=\"paddingIndent\"\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodePadding\r\n (click)=\"_toggleNode($event, node)\"\r\n class=\"object-node\"\r\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\r\n [class.selected-node]=\"_isSelected(node)\"\r\n [attr.data-test]=\"dataTestPrefix + node.id\"\r\n [title]=\"node.name\"\r\n [attr.node-id]=\"node.id\"\r\n >\r\n <!-- use a disabled button to provide padding for tree leaf -->\r\n <button mat-icon-button disabled>\r\n </button>\r\n @if (customNodeTemplate && _isCustomNodeType(node)) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"customNodeTemplate\" \r\n [ngTemplateOutletContext]=\"{node:node}\">\r\n </ng-container>\r\n }@else{\r\n <div class=\"icon object-icon\" *ngIf=\"showObjectsIcons\">\r\n </div>\r\n <span\r\n class=\"node-label\"\r\n [class.selected-node]=\"_isSelected(node)\"\r\n >\r\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\r\n <div>\r\n {{node.name}}\r\n </div>\r\n </span>\r\n }\r\n <lib-bimplus-context-menu\r\n [items]=\"contextMenus?.objectContextMenuitems\"\r\n [data]=\"node\"\r\n *ngIf=\"contextMenus?.objectContextMenuitems?.length\"\r\n (triggerSelected)=\"_toggleNode($event, node)\"\r\n >\r\n </lib-bimplus-context-menu>\r\n </cdk-tree-node>\r\n <!-- This is the tree node template for expandable nodes -->\r\n <cdk-tree-node [matTreeNodePaddingIndent]=\"paddingIndent\"\r\n *matTreeNodeDef=\"let node;when: _isExpendable\"\r\n matTreeNodePadding\r\n (click)=\"_toggleNode($event, node)\"\r\n class=\"folder-node\"\r\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\r\n [class.selected-node]=\"_isSelected(node)\"\r\n [attr.data-test]=\"dataTestPrefix + node.id\"\r\n [title]=\"node.name\"\r\n [attr.node-id]=\"node.id\"\r\n >\r\n <button\r\n mat-icon-button\r\n matTreeNodeToggle\r\n [attr.aria-label]=\"'Toggle ' + node.name\"\r\n >\r\n <div\r\n class=\"icon expand-collapse-icon\"\r\n [class.expand-more-icon]=\"_hasChildren(node) && !_treeControl.isExpanded(node)\"\r\n [class.collapse-icon]=\"_hasChildren(node) && _treeControl.isExpanded(node)\"\r\n >\r\n </div>\r\n </button>\r\n @if (customNodeTemplate && _isCustomNodeType(node)) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"customNodeTemplate\" \r\n [ngTemplateOutletContext]=\"{node:node}\">\r\n </ng-container>\r\n }@else{\r\n <div class=\"icon folder-icon\" *ngIf=\"showFoldersIcons\">\r\n </div>\r\n <span class=\"node-label\"\r\n [class.selected-node]=\"_isSelected(node)\"\r\n [class.selected-all-descendants-nodes]=\"_descendantsAllSelected(node) && _isSelected(node) && enableParentHighlighting\"\r\n [class.selected-partially-descendants-nodes]=\"_descendantsPartiallySelected(node) && enableParentHighlighting\"\r\n >\r\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\r\n <div class=\"node-label\">\r\n {{node.name}}\r\n </div>\r\n </span>\r\n }\r\n <lib-bimplus-context-menu\r\n [items]=\"contextMenus?.folderContextMenuitems\"\r\n [data]=\"node\"\r\n *ngIf=\"contextMenus?.folderContextMenuitems?.length\"\r\n (triggerSelected)=\"_toggleNode($event, node)\"\r\n >\r\n </lib-bimplus-context-menu>\r\n </cdk-tree-node>\r\n </cdk-tree>\r\n</div>\r\n", styles: [".text-selected{color:#fe5000}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.tree-container{background-color:var(--flat-tree-bkg-color, #ffffff);width:calc(100% - 2 * var(--flat-tree-node-indent, 1rem));padding:var(--flat-tree-node-indent, 1rem);font-family:var(--flat-tree-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--flat-tree-font-size, 1.3rem);font-weight:var(--flat-tree-font-weight, 700);color:var(--flat-tree-color, #444444)}.tree-container>.tree-title{background-color:transparent;font-size:var(--flat-tree-title-font-size, 1.6rem);margin-bottom:1rem}.cdk-tree{background-color:transparent;width:100%}.cdk-tree>.cdk-tree-node{--mat-icon-button-touch-target-display: none;background-color:transparent;display:flex;align-items:center;cursor:pointer;line-height:var(--flat-tree-node-line-height, 2.4rem)}.cdk-tree>.cdk-tree-node.folder-node{font-weight:var(--flat-tree-folder-font-weight, 700)}.cdk-tree>.cdk-tree-node.object-node{font-weight:var(--flat-tree-object-font-weight, 400)}.cdk-tree>.cdk-tree-node>span.node-label{overflow:hidden;flex:1}.cdk-tree>.cdk-tree-node>span.node-label>div.node-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-tree>.cdk-tree-node lib-bimplus-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: var(--flat-tree-node-line-height, 2.4rem);--context-menu-trigger-bkg-color: transparent;--context-menu-translate-x: 1rem}.cdk-tree>.cdk-tree-node:not(.selected-node):not(:hover) lib-bimplus-context-menu{display:none}.cdk-tree-node.dragable-node:hover{background-color:var(--flat-tree-hover-color, #F5F5F5);background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"11\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A<rect x=\"6\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A<rect x=\"11\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A<rect x=\"6\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A<rect x=\"11\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A<rect x=\"6\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:var(--flat-tree-node-icon-size, 1.8rem);background-position:left center}.mat-mdc-icon-button{padding:.2rem;width:var(--flat-tree-node-line-height, 2.4rem);height:var(--flat-tree-node-line-height, 2.4rem)}.selected-node{color:var(--flat-tree-selected-node-color, #2188ca);font-weight:var(--flat-tree-selected-node-font-weight, 700)!important}.selected-all-descendants-nodes{color:var(--flat-tree-selected-node-color, #2188ca)}.selected-partially-descendants-nodes{color:var(--flat-tree-partially-selected-node-color, rgba(0, 71, 171, .55))}.custom-drag-placeholder{height:0px}.icon{width:var(--flat-tree-node-icon-size, 1.8rem);height:var(--flat-tree-node-icon-size, 1.8rem);margin-right:.4rem;background-position:center;background-size:var(--flat-tree-node-icon-size, 1.8rem)}.icon.folder-icon{background:var(--flat-tree-folder-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444444;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M17,7V5V4V1h-6L8,3H0v16h2h15l3-12H17z M8,5h0.6l0.5-0.3L11.6,3H15v1v1v2H3l-1,4V5H8z M15.4,17H2.6l2-8H15h2%0D%0A%09h0.4L15.4,17z\"/>%0D%0A</svg>%0D%0A') no-repeat);background-size:var(--flat-tree-folder-icon-size, 1.6rem);background-position:center}.icon.object-icon{background:var(--flat-tree-object-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A<\\/style>%0D%0A<g>%0D%0A%09<path class=\"st0\" d=\"M6,9h4V7H6V9z\"/>%0D%0A%09<path class=\"st0\" d=\"M6,4v2h8V4H6z\"/>%0D%0A%09<path class=\"st0\" d=\"M6,12h4v-2H6V12z\"/>%0D%0A%09<path class=\"st0\" d=\"M17,1H3v18h10l0,0l0,0l4-4h0l0,0V1z M13,15v2H5V3h10v12H13z\"/>%0D%0A</g>%0D%0A</svg>%0D%0A') no-repeat);background-size:var(--flat-tree-object-icon-size, 1.6rem);background-position:center}.icon.expand-collapse-icon.expand-more-icon{background:var(--flat-tree-node-expand-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M7.81235 5.64988C7.48497 5.38797 7 5.62106 7 6.04031L7 11.9597C7 12.3789 7.48497 12.612 7.81235 12.3501L11.512 9.39043C11.7622 9.19027 11.7622 8.80973 11.512 8.60957L7.81235 5.64988Z\" fill=\"%23ADADAD\"/>%0D%0A</svg>%0D%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}.icon.expand-collapse-icon.collapse-icon{background:var(--flat-tree-node-collapse-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M12.3501 7.81235C12.612 7.48497 12.3789 7 11.9597 7H6.04031C5.62106 7 5.38797 7.48497 5.64988 7.81235L8.60957 11.512C8.80973 11.7622 9.19027 11.7622 9.39043 11.512L12.3501 7.81235Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}\n"], dependencies: [{ kind: "ngmodule", type: MatTreeModule }, { kind: "directive", type: i1.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i1.MatTreeNodePadding, selector: "[matTreeNodePadding]", inputs: ["matTreeNodePadding", "matTreeNodePaddingIndent"] }, { kind: "directive", type: i1.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: CdkTreeModule }, { kind: "component", type: i3.CdkTree, selector: "cdk-tree", inputs: ["dataSource", "treeControl", "trackBy"], exportAs: ["cdkTree"] }, { kind: "directive", type: i3.CdkTreeNode, selector: "cdk-tree-node", inputs: ["role"], exportAs: ["cdkTreeNode"] }, { kind: "component", type: BimplusContextMenuComponent, selector: "lib-bimplus-context-menu", inputs: ["showIcons", "triggerTitle", "items", "data"], outputs: ["triggerSelected"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
272
272
  }
273
273
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: BimplusFlatTreeComponent, decorators: [{
274
274
  type: Component,
@@ -278,7 +278,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
278
278
  CdkTreeModule,
279
279
  BimplusContextMenuComponent,
280
280
  CommonModule
281
- ], template: "<div class=\"tree-container\">\n <div *ngIf=\"treeTitle\" class=\"tree-title\">{{treeTitle}}</div>\n <cdk-tree [dataSource]=\"_dataSource\" [treeControl]=\"_treeControl\">\n <!-- This is the tree node template for leaf nodes -->\n <cdk-tree-node\n [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n class=\"object-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <!-- use a disabled button to provide padding for tree leaf -->\n <button mat-icon-button disabled>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon object-icon\" *ngIf=\"showObjectsIcons\">\n </div>\n <span\n class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div>\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.objectContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.objectContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n <!-- This is the tree node template for expandable nodes -->\n <cdk-tree-node [matTreeNodePaddingIndent]=\"paddingIndent\"\n *matTreeNodeDef=\"let node;when: _isExpendable\"\n matTreeNodePadding\n (click)=\"_toggleNode($event, node)\"\n class=\"folder-node\"\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\n [class.selected-node]=\"_isSelected(node)\"\n [attr.data-test]=\"dataTestPrefix + node.id\"\n [title]=\"node.name\"\n [attr.node-id]=\"node.id\"\n >\n <button\n mat-icon-button\n matTreeNodeToggle\n [attr.aria-label]=\"'Toggle ' + node.name\"\n >\n <div\n class=\"icon expand-collapse-icon\"\n [class.expand-more-icon]=\"_hasChildren(node) && !_treeControl.isExpanded(node)\"\n [class.collapse-icon]=\"_hasChildren(node) && _treeControl.isExpanded(node)\"\n >\n </div>\n </button>\n @if (customNodeTemplate && _isCustomNodeType(node)) {\n <ng-container \n [ngTemplateOutlet]=\"customNodeTemplate\" \n [ngTemplateOutletContext]=\"{node:node}\">\n </ng-container>\n }@else{\n <div class=\"icon folder-icon\" *ngIf=\"showFoldersIcons\">\n </div>\n <span class=\"node-label\"\n [class.selected-node]=\"_isSelected(node)\"\n [class.selected-all-descendants-nodes]=\"_descendantsAllSelected(node) && _isSelected(node) && enableParentHighlighting\"\n [class.selected-partially-descendants-nodes]=\"_descendantsPartiallySelected(node) && enableParentHighlighting\"\n >\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\n <div class=\"node-label\">\n {{node.name}}\n </div>\n </span>\n }\n <lib-bimplus-context-menu\n [items]=\"contextMenus?.folderContextMenuitems\"\n [data]=\"node\"\n *ngIf=\"contextMenus?.folderContextMenuitems?.length\"\n (triggerSelected)=\"_toggleNode($event, node)\"\n >\n </lib-bimplus-context-menu>\n </cdk-tree-node>\n </cdk-tree>\n</div>\n", styles: [".text-selected{color:#fe5000}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.tree-container{background-color:var(--flat-tree-bkg-color, #ffffff);width:calc(100% - 2 * var(--flat-tree-node-indent, 1rem));padding:var(--flat-tree-node-indent, 1rem);font-family:var(--flat-tree-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--flat-tree-font-size, 1.3rem);font-weight:var(--flat-tree-font-weight, 700);color:var(--flat-tree-color, #444444)}.tree-container>.tree-title{background-color:transparent;font-size:var(--flat-tree-title-font-size, 1.6rem);margin-bottom:1rem}.cdk-tree{background-color:transparent;width:100%}.cdk-tree>.cdk-tree-node{--mat-icon-button-touch-target-display: none;background-color:transparent;display:flex;align-items:center;cursor:pointer;line-height:var(--flat-tree-node-line-height, 2.4rem)}.cdk-tree>.cdk-tree-node.folder-node{font-weight:var(--flat-tree-folder-font-weight, 700)}.cdk-tree>.cdk-tree-node.object-node{font-weight:var(--flat-tree-object-font-weight, 400)}.cdk-tree>.cdk-tree-node>span.node-label{overflow:hidden;flex:1}.cdk-tree>.cdk-tree-node>span.node-label>div.node-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-tree>.cdk-tree-node lib-bimplus-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: var(--flat-tree-node-line-height, 2.4rem);--context-menu-trigger-bkg-color: transparent;--context-menu-translate-x: 1rem}.cdk-tree>.cdk-tree-node:not(.selected-node):not(:hover) lib-bimplus-context-menu{display:none}.cdk-tree-node.dragable-node:hover{background-color:var(--flat-tree-hover-color, #F5F5F5);background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<rect x=\"11\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"11\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A<rect x=\"6\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0A</svg>%0A');background-repeat:no-repeat;background-size:var(--flat-tree-node-icon-size, 1.8rem);background-position:left center}.mat-mdc-icon-button{padding:.2rem;width:var(--flat-tree-node-line-height, 2.4rem);height:var(--flat-tree-node-line-height, 2.4rem)}.selected-node{color:var(--flat-tree-selected-node-color, #2188ca);font-weight:var(--flat-tree-selected-node-font-weight, 700)!important}.selected-all-descendants-nodes{color:var(--flat-tree-selected-node-color, #2188ca)}.selected-partially-descendants-nodes{color:var(--flat-tree-partially-selected-node-color, rgba(0, 71, 171, .55))}.custom-drag-placeholder{height:0px}.icon{width:var(--flat-tree-node-icon-size, 1.8rem);height:var(--flat-tree-node-icon-size, 1.8rem);margin-right:.4rem;background-position:center;background-size:var(--flat-tree-node-icon-size, 1.8rem)}.icon.folder-icon{background:var(--flat-tree-folder-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23444444;}%0A<\\/style>%0A<path class=\"st0\" d=\"M17,7V5V4V1h-6L8,3H0v16h2h15l3-12H17z M8,5h0.6l0.5-0.3L11.6,3H15v1v1v2H3l-1,4V5H8z M15.4,17H2.6l2-8H15h2%0A%09h0.4L15.4,17z\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-folder-icon-size, 1.6rem);background-position:center}.icon.object-icon{background:var(--flat-tree-object-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0A<style type=\"text/css\">%0A%09.st0{fill:%23444;}%0A<\\/style>%0A<g>%0A%09<path class=\"st0\" d=\"M6,9h4V7H6V9z\"/>%0A%09<path class=\"st0\" d=\"M6,4v2h8V4H6z\"/>%0A%09<path class=\"st0\" d=\"M6,12h4v-2H6V12z\"/>%0A%09<path class=\"st0\" d=\"M17,1H3v18h10l0,0l0,0l4-4h0l0,0V1z M13,15v2H5V3h10v12H13z\"/>%0A</g>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-object-icon-size, 1.6rem);background-position:center}.icon.expand-collapse-icon.expand-more-icon{background:var(--flat-tree-node-expand-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M7.81235 5.64988C7.48497 5.38797 7 5.62106 7 6.04031L7 11.9597C7 12.3789 7.48497 12.612 7.81235 12.3501L11.512 9.39043C11.7622 9.19027 11.7622 8.80973 11.512 8.60957L7.81235 5.64988Z\" fill=\"%23ADADAD\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}.icon.expand-collapse-icon.collapse-icon{background:var(--flat-tree-node-collapse-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0A<path d=\"M12.3501 7.81235C12.612 7.48497 12.3789 7 11.9597 7H6.04031C5.62106 7 5.38797 7.48497 5.64988 7.81235L8.60957 11.512C8.80973 11.7622 9.19027 11.7622 9.39043 11.512L12.3501 7.81235Z\" fill=\"%23444444\"/>%0A</svg>%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}\n"] }]
281
+ ], template: "<div class=\"tree-container\">\r\n <div *ngIf=\"treeTitle\" class=\"tree-title\">{{treeTitle}}</div>\r\n <cdk-tree [dataSource]=\"_dataSource\" [treeControl]=\"_treeControl\">\r\n <!-- This is the tree node template for leaf nodes -->\r\n <cdk-tree-node\r\n [matTreeNodePaddingIndent]=\"paddingIndent\"\r\n *matTreeNodeDef=\"let node\"\r\n matTreeNodePadding\r\n (click)=\"_toggleNode($event, node)\"\r\n class=\"object-node\"\r\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\r\n [class.selected-node]=\"_isSelected(node)\"\r\n [attr.data-test]=\"dataTestPrefix + node.id\"\r\n [title]=\"node.name\"\r\n [attr.node-id]=\"node.id\"\r\n >\r\n <!-- use a disabled button to provide padding for tree leaf -->\r\n <button mat-icon-button disabled>\r\n </button>\r\n @if (customNodeTemplate && _isCustomNodeType(node)) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"customNodeTemplate\" \r\n [ngTemplateOutletContext]=\"{node:node}\">\r\n </ng-container>\r\n }@else{\r\n <div class=\"icon object-icon\" *ngIf=\"showObjectsIcons\">\r\n </div>\r\n <span\r\n class=\"node-label\"\r\n [class.selected-node]=\"_isSelected(node)\"\r\n >\r\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\r\n <div>\r\n {{node.name}}\r\n </div>\r\n </span>\r\n }\r\n <lib-bimplus-context-menu\r\n [items]=\"contextMenus?.objectContextMenuitems\"\r\n [data]=\"node\"\r\n *ngIf=\"contextMenus?.objectContextMenuitems?.length\"\r\n (triggerSelected)=\"_toggleNode($event, node)\"\r\n >\r\n </lib-bimplus-context-menu>\r\n </cdk-tree-node>\r\n <!-- This is the tree node template for expandable nodes -->\r\n <cdk-tree-node [matTreeNodePaddingIndent]=\"paddingIndent\"\r\n *matTreeNodeDef=\"let node;when: _isExpendable\"\r\n matTreeNodePadding\r\n (click)=\"_toggleNode($event, node)\"\r\n class=\"folder-node\"\r\n [class.dragable-node]=\"enableDragAndDrop && node.level > 0\"\r\n [class.selected-node]=\"_isSelected(node)\"\r\n [attr.data-test]=\"dataTestPrefix + node.id\"\r\n [title]=\"node.name\"\r\n [attr.node-id]=\"node.id\"\r\n >\r\n <button\r\n mat-icon-button\r\n matTreeNodeToggle\r\n [attr.aria-label]=\"'Toggle ' + node.name\"\r\n >\r\n <div\r\n class=\"icon expand-collapse-icon\"\r\n [class.expand-more-icon]=\"_hasChildren(node) && !_treeControl.isExpanded(node)\"\r\n [class.collapse-icon]=\"_hasChildren(node) && _treeControl.isExpanded(node)\"\r\n >\r\n </div>\r\n </button>\r\n @if (customNodeTemplate && _isCustomNodeType(node)) {\r\n <ng-container \r\n [ngTemplateOutlet]=\"customNodeTemplate\" \r\n [ngTemplateOutletContext]=\"{node:node}\">\r\n </ng-container>\r\n }@else{\r\n <div class=\"icon folder-icon\" *ngIf=\"showFoldersIcons\">\r\n </div>\r\n <span class=\"node-label\"\r\n [class.selected-node]=\"_isSelected(node)\"\r\n [class.selected-all-descendants-nodes]=\"_descendantsAllSelected(node) && _isSelected(node) && enableParentHighlighting\"\r\n [class.selected-partially-descendants-nodes]=\"_descendantsPartiallySelected(node) && enableParentHighlighting\"\r\n >\r\n <div class=\"custom-drag-placeholder\" *cdkDragPlaceholder></div>\r\n <div class=\"node-label\">\r\n {{node.name}}\r\n </div>\r\n </span>\r\n }\r\n <lib-bimplus-context-menu\r\n [items]=\"contextMenus?.folderContextMenuitems\"\r\n [data]=\"node\"\r\n *ngIf=\"contextMenus?.folderContextMenuitems?.length\"\r\n (triggerSelected)=\"_toggleNode($event, node)\"\r\n >\r\n </lib-bimplus-context-menu>\r\n </cdk-tree-node>\r\n </cdk-tree>\r\n</div>\r\n", styles: [".text-selected{color:#fe5000}.ui-icon22px{width:2.2rem;height:2.2rem;display:inline-block;float:right;border-radius:.4rem;background-position:center center;background-repeat:no-repeat;cursor:pointer}.ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat}.touch-ui-icon-sidemenu{width:2.4rem;height:2.4rem;background-size:1.8rem 1.8rem;background-position:center center;background-repeat:no-repeat;width:3.2rem;height:3.2rem}.ui-icon-sidemenu-important{width:2.4rem!important;height:2.4rem!important;background-size:1.8rem 1.8rem!important;background-position:center center;background-repeat:no-repeat}.tree-container{background-color:var(--flat-tree-bkg-color, #ffffff);width:calc(100% - 2 * var(--flat-tree-node-indent, 1rem));padding:var(--flat-tree-node-indent, 1rem);font-family:var(--flat-tree-font-family, \"Source Sans Pro\", Helvetica, Arial, tahoma, sans-serif);font-size:var(--flat-tree-font-size, 1.3rem);font-weight:var(--flat-tree-font-weight, 700);color:var(--flat-tree-color, #444444)}.tree-container>.tree-title{background-color:transparent;font-size:var(--flat-tree-title-font-size, 1.6rem);margin-bottom:1rem}.cdk-tree{background-color:transparent;width:100%}.cdk-tree>.cdk-tree-node{--mat-icon-button-touch-target-display: none;background-color:transparent;display:flex;align-items:center;cursor:pointer;line-height:var(--flat-tree-node-line-height, 2.4rem)}.cdk-tree>.cdk-tree-node.folder-node{font-weight:var(--flat-tree-folder-font-weight, 700)}.cdk-tree>.cdk-tree-node.object-node{font-weight:var(--flat-tree-object-font-weight, 400)}.cdk-tree>.cdk-tree-node>span.node-label{overflow:hidden;flex:1}.cdk-tree>.cdk-tree-node>span.node-label>div.node-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cdk-tree>.cdk-tree-node lib-bimplus-context-menu{--context-menu-trigger-width: 2.4rem;--context-menu-trigger-height: var(--flat-tree-node-line-height, 2.4rem);--context-menu-trigger-bkg-color: transparent;--context-menu-translate-x: 1rem}.cdk-tree>.cdk-tree-node:not(.selected-node):not(:hover) lib-bimplus-context-menu{display:none}.cdk-tree-node.dragable-node:hover{background-color:var(--flat-tree-hover-color, #F5F5F5);background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<rect x=\"11\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A<rect x=\"6\" y=\"2\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A<rect x=\"11\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A<rect x=\"6\" y=\"8\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A<rect x=\"11\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A<rect x=\"6\" y=\"14\" width=\"2\" height=\"2\" fill=\"%237B7B7B\"/>%0D%0A</svg>%0D%0A');background-repeat:no-repeat;background-size:var(--flat-tree-node-icon-size, 1.8rem);background-position:left center}.mat-mdc-icon-button{padding:.2rem;width:var(--flat-tree-node-line-height, 2.4rem);height:var(--flat-tree-node-line-height, 2.4rem)}.selected-node{color:var(--flat-tree-selected-node-color, #2188ca);font-weight:var(--flat-tree-selected-node-font-weight, 700)!important}.selected-all-descendants-nodes{color:var(--flat-tree-selected-node-color, #2188ca)}.selected-partially-descendants-nodes{color:var(--flat-tree-partially-selected-node-color, rgba(0, 71, 171, .55))}.custom-drag-placeholder{height:0px}.icon{width:var(--flat-tree-node-icon-size, 1.8rem);height:var(--flat-tree-node-icon-size, 1.8rem);margin-right:.4rem;background-position:center;background-size:var(--flat-tree-node-icon-size, 1.8rem)}.icon.folder-icon{background:var(--flat-tree-folder-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444444;}%0D%0A<\\/style>%0D%0A<path class=\"st0\" d=\"M17,7V5V4V1h-6L8,3H0v16h2h15l3-12H17z M8,5h0.6l0.5-0.3L11.6,3H15v1v1v2H3l-1,4V5H8z M15.4,17H2.6l2-8H15h2%0D%0A%09h0.4L15.4,17z\"/>%0D%0A</svg>%0D%0A') no-repeat);background-size:var(--flat-tree-folder-icon-size, 1.6rem);background-position:center}.icon.object-icon{background:var(--flat-tree-object-icon, url('data:image/svg+xml,<?xml version=\"1.0\" encoding=\"utf-8\"?>%0D%0A<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->%0D%0A<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"%0D%0A%09 viewBox=\"0 0 20 20\" style=\"enable-background:new 0 0 20 20;\" xml:space=\"preserve\">%0D%0A<style type=\"text/css\">%0D%0A%09.st0{fill:%23444;}%0D%0A<\\/style>%0D%0A<g>%0D%0A%09<path class=\"st0\" d=\"M6,9h4V7H6V9z\"/>%0D%0A%09<path class=\"st0\" d=\"M6,4v2h8V4H6z\"/>%0D%0A%09<path class=\"st0\" d=\"M6,12h4v-2H6V12z\"/>%0D%0A%09<path class=\"st0\" d=\"M17,1H3v18h10l0,0l0,0l4-4h0l0,0V1z M13,15v2H5V3h10v12H13z\"/>%0D%0A</g>%0D%0A</svg>%0D%0A') no-repeat);background-size:var(--flat-tree-object-icon-size, 1.6rem);background-position:center}.icon.expand-collapse-icon.expand-more-icon{background:var(--flat-tree-node-expand-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M7.81235 5.64988C7.48497 5.38797 7 5.62106 7 6.04031L7 11.9597C7 12.3789 7.48497 12.612 7.81235 12.3501L11.512 9.39043C11.7622 9.19027 11.7622 8.80973 11.512 8.60957L7.81235 5.64988Z\" fill=\"%23ADADAD\"/>%0D%0A</svg>%0D%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}.icon.expand-collapse-icon.collapse-icon{background:var(--flat-tree-node-collapse-icon, url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M12.3501 7.81235C12.612 7.48497 12.3789 7 11.9597 7H6.04031C5.62106 7 5.38797 7.48497 5.64988 7.81235L8.60957 11.512C8.80973 11.7622 9.19027 11.7622 9.39043 11.512L12.3501 7.81235Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A') no-repeat);background-size:var(--flat-tree-expand-collapse-icon-size, 1.8rem);background-position:center}\n"] }]
282
282
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { treeDataStringified: [{
283
283
  type: Input
284
284
  }], treeTitle: [{
@@ -317,4 +317,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
317
317
  }], selectedNodes: [{
318
318
  type: Output
319
319
  }] } });
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFNBQVMsRUFBVSxLQUFLLEVBQTJCLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbkosT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTyx3REFBd0QsQ0FBQzs7Ozs7O0FBcUJ0RyxNQUFNLE9BQU8sd0JBQXdCO0lBY25DLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBYnpCLHdCQUFtQixHQUFrQixJ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Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDa0MsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxtQkFBbUI7c0JBQTFELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZ0JBQWdCO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGdCQUFnQjtzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxZQUFZO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLHdCQUF3QjtzQkFBL0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxpQkFBaUI7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFRTyxRQUFRO3NCQUFwQixLQUFLO2dCQU1HLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZSwgYm9vbGVhbkF0dHJpYnV0ZSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0VHJlZUZsYXREYXRhU291cmNlLCBNYXRUcmVlRmxhdHRlbmVyLCBNYXRUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IENka1RyZWVNb2R1bGUsIEZsYXRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBmaXJlRXZlbnQgfSBmcm9tICcuLi8uLi91dGlscy91dGlscyc7XG5pbXBvcnQgeyBUcmVlTm9kZSwgRmxhdE5vZGUsIEZsYXRUcmVlQ29udGV4dE1lbnVzIH0gZnJvbSAnLi9iaW1wbHVzLWZsYXQtdHJlZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmltcGx1c0NvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAgJy4uL2JpbXBsdXMtY29udGV4dC1tZW51L2JpbXBsdXMtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5cbmludGVyZmFjZSBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRBdHRyaWJ1dGUgIHtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjsgLy8gQWRkIGluZGV4IHNpZ25hdHVyZSBhbGxvd2luZyBzdHJpbmcgaW5kZXhpbmdcbiAgIC8vT3RoZXIgcHJvcGVydGllcyBhbmQgbWV0aG9kcy4uLlxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItYmltcGx1cy1mbGF0LXRyZWUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0VHJlZU1vZHVsZVxuICAgICwgTWF0QnV0dG9uTW9kdWxlXG4gICAgLCBNYXRJY29uTW9kdWxlXG4gICAgLCBDZGtUcmVlTW9kdWxlXG4gICAgLCBCaW1wbHVzQ29udGV4dE1lbnVDb21wb25lbnRcbiAgICAsIENvbW1vbk1vZHVsZVxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50Lmxlc3MnXG59KVxuXG5leHBvcnQgY2xhc3MgQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXN7XG4gIEBJbnB1dCgpIHRyZWVEYXRhU3RyaW5naWZpZWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSB0cmVlVGl0bGUgOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBwYWRkaW5nSW5kZW50IDogc3RyaW5nID0gXCIyLjhyZW1cIlxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgbXVsdGlTZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG9uZUxldmVsTXVsdGlTZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dGb2xkZXJzSWNvbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dPYmplY3RzSWNvbnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGVuYWJsZVNlbGVjdDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBlbmFibGVQYXJlbnRIaWdobGlnaHRpbmc6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgZW5hYmxlRHJhZ0FuZERyb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZGF0YVRlc3RQcmVmaXggOiBzdHJpbmcgPSBcIlwiO1xuICBASW5wdXQoKSBjb250ZXh0TWVudXM6IEZsYXRUcmVlQ29udGV4dE1lbnVzIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBnZXQgdHJlZURhdGEoKSA6IEFycmF5PFRyZWVOb2RlPntcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZS5kYXRhO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IHRyZWVEYXRhKGRhdGE6IEFycmF5PFRyZWVOb2RlPikge1xuICAgIHRoaXMudHJlZURhdGFTdHJpbmdpZmllZCA9IG51bGw7XG4gICAgdGhpcy5fZGF0YVNvdXJjZS5kYXRhID0gZGF0YTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIEBJbnB1dCgpIGN1c3RvbU5vZGVUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwgPSBudWxsO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZE5vZGVzID0gbmV3IEV2ZW50RW1pdHRlcjxGbGF0Tm9kZVtdPigpO1xuXG4gIHByaXZhdGUgX3NlbGVjdGlvbkxpc3Q6IFNlbGVjdGlvbk1vZGVsPEZsYXROb2RlPiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgIChlbGVtZW50IGFzIHVua25vd24gYXMgQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50QXR0cmlidXRlKVsnZ2V0X25vZGUnXSA9IHRoaXMuZ2V0X25vZGUuYmluZCh0aGlzKTtcbiAgICAgIChlbGVtZW50IGFzIHVua25vd24gYXMgQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50QXR0cmlidXRlKVsnc2VsZWN0X25vZGUnXSA9IHRoaXMuc2VsZWN0X25vZGUuYmluZCh0aGlzKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZWxlY3Rpb25MaXN0ID0gbmV3IFNlbGVjdGlvbk1vZGVsPEZsYXROb2RlPih0aGlzLm11bHRpU2VsZWN0IHx8IHRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCk7XG4gICAgaWYodGhpcy50cmVlRGF0YVN0cmluZ2lmaWVkKXtcbiAgICAgIHRoaXMuX3NldE5ld0RhdGEodGhpcy50cmVlRGF0YVN0cmluZ2lmaWVkKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBleHBhbmRUcmVlKCl7XG4gICAgdGhpcy5fdHJlZUNvbnRyb2wuZXhwYW5kQWxsKCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXROb2RlKGlkOiBzdHJpbmcsIG5vZGVzOiBBcnJheTxUcmVlTm9kZT4pOiBUcmVlTm9kZSB8IG51bGwge1xuICAgIGZvcihjb25zdCBub2RlIG9mIG5vZGVzKSB7XG4gICAgICBpZihub2RlLmlkID09PSBpZCkge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH1cbiAgICAgIGlmKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgY29uc3QgX25vZGU6IFRyZWVOb2RlIHwgbnVsbCA9IHRoaXMuX2dldE5vZGUoaWQsIG5vZGUuY2hpbGRyZW4pO1xuICAgICAgICBpZihfbm9kZSkge1xuICAgICAgICAgIHJldHVybiBfbm9kZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRfbm9kZShpZDogeyBpZDogc3RyaW5nIH0gfCBzdHJpbmcsIGdldERPTUVsZW1lbnQ6IGJvb2xlYW4gPSBmYWxzZSk6IFRyZWVOb2RlIHwgRWxlbWVudCB8IG51bGwge1xuICAgIGlmKHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB0aGlzLl9nZXROb2RlKGlkLCB0aGlzLl9kYXRhU291cmNlLmRhdGEpO1xuICAgIH1cbiAgICBpZihnZXRET01FbGVtZW50KSB7XG4gICAgICBjb25zdCBfZWxlbWVudDogRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKGBbbm9kZS1pZD0nJHtpZC5pZH0nXWApO1xuICAgICAgcmV0dXJuIF9lbGVtZW50O1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZ2V0Tm9kZShpZC5pZCwgdGhpcy5fZGF0YVNvdXJjZS5kYXRhKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3Rfbm9kZShpZDogc3RyaW5nLCBza2lwRXZlbnQ6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IGlkKTtcbiAgICBpZighbm9kZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYodGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0ICYmIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWQubGVuZ3RoID4gMCkge1xuICAgICAgaWYodGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZFswXS5wYXJlbnQgIT09IG5vZGUucGFyZW50KSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QuY2xlYXIoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZih0aGlzLl9zZWxlY3Rpb25MaXN0LmlzU2VsZWN0ZWQobm9kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdChub2RlKTtcbiAgICBpZighdGhpcy5tdWx0aVNlbGVjdCAmJiAhdGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0ICYmICFza2lwRXZlbnQpIHtcbiAgICAgIGZpcmVFdmVudCh0aGlzLCBcInNlbGVjdGVkTm9kZXNcIiwgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZCApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmKCF0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QpIHtcbiAgICAgIHRoaXMuX3RvZ2dsZURlc2NlbmRhbnRzTm9kZXMobm9kZSk7XG4gICAgfVxuXG4gICAgaWYodGhpcy5lbmFibGVQYXJlbnRIaWdobGlnaHRpbmcpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhcmVudFNlbGVjdGlvbnMobm9kZSk7XG4gICAgfVxuXG4gICAgaWYoIXNraXBFdmVudCl7XG4gICAgICBmaXJlRXZlbnQodGhpcywgXCJzZWxlY3RlZE5vZGVzXCIsIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWQgKTtcbiAgICB9XG5cbiAgfVxuXG4gIHB1YmxpYyByZXNldF9zZWxlY3Rpb24oKXtcbiAgICB0aGlzLl9zZWxlY3Rpb25MaXN0Py5jbGVhcigpO1xuICB9XG5cbiAgcHVibGljIGV4cGFuZF9ub2RlKGlkIDogc3RyaW5nKXtcbiAgICBjb25zdCBub2RlID0gdGhpcy5fdHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBpZCk7XG4gICAgaWYoIW5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl90cmVlQ29udHJvbC5leHBhbmQobm9kZSk7XG4gIH1cblxuICBwdWJsaWMgaXNfZXhwYW5kZWQoaWQgOiBzdHJpbmcpe1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IGlkKTtcbiAgICBpZighbm9kZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl90cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpO1xuICB9XG5cbiAgcHVibGljIGlzX3NlbGVjdGVkKGlkIDogc3RyaW5nKXtcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdClcbiAgICAgIHJldHVybjtcblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IGlkKTtcbiAgICBpZighbm9kZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25MaXN0Py5pc1NlbGVjdGVkKG5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0TmV3RGF0YSh0cmVlRGF0YVN0cmluZ2lmaWVkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBfdHJlZV9kYXRhID0gSlNPTi5wYXJzZSh0cmVlRGF0YVN0cmluZ2lmaWVkKTtcbiAgICB0aGlzLl9kYXRhU291cmNlLmRhdGEgPSBfdHJlZV9kYXRhID8/IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hhbmdlZFRyZWVEYXRhKGNoYW5nZTogU2ltcGxlQ2hhbmdlKSB7XG4gICAgdGhpcy5fc2V0TmV3RGF0YShjaGFuZ2UuY3VycmVudFZhbHVlKVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pOiB2b2lkIHtcbiAgICBpZihjaGFuZ2VzWydtdWx0aVNlbGVjdCddIHx8IGNoYW5nZXNbJ29uZUxldmVsTXVsdGlTZWxlY3QnXSkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdCA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxGbGF0Tm9kZT4odGhpcy5tdWx0aVNlbGVjdCB8fCB0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QpO1xuICAgIH1cbiAgICBpZihjaGFuZ2VzWyd0cmVlRGF0YVN0cmluZ2lmaWVkJ10pIHtcbiAgICAgIHRoaXMuX2NoYW5nZWRUcmVlRGF0YShjaGFuZ2VzWyd0cmVlRGF0YVN0cmluZ2lmaWVkJ10pXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtZXIgPSAobm9kZTogVHJlZU5vZGUsIGxldmVsOiBudW1iZXIpOiBGbGF0Tm9kZSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGV4cGFuZGFibGU6IG5vZGUuY2hpbGRyZW4gIT09IHVuZGVmaW5lZCxcbiAgICAgIGNoaWxkcmVuX2NvdW50OiBub2RlLmNoaWxkcmVuPy5sZW5ndGgsXG4gICAgICBuYW1lOiBub2RlLm5hbWUsXG4gICAgICBpZDogbm9kZS5pZCxcbiAgICAgIGxldmVsOiBsZXZlbCxcbiAgICAgIHBhcmVudDogbm9kZS5wYXJlbnQsXG4gICAgICBub2RlVHlwZTogbm9kZS5ub2RlVHlwZVxuICAgIH07XG4gIH07XG5cbiAgcHJvdGVjdGVkIF90cmVlQ29udHJvbCA9IG5ldyBGbGF0VHJlZUNvbnRyb2w8RmxhdE5vZGU+KFxuICAgIG5vZGUgPT4gbm9kZS5sZXZlbCxcbiAgICBub2RlID0+IG5vZGUuZXhwYW5kYWJsZSxcbiAgKTtcblxuICBwcm90ZWN0ZWQgX3RyZWVGbGF0dGVuZXIgPSBuZXcgTWF0VHJlZUZsYXR0ZW5lcihcbiAgICB0aGlzLl90cmFuc2Zvcm1lcixcbiAgICBub2RlID0+IG5vZGUubGV2ZWwsXG4gICAgbm9kZSA9PiBub2RlLmV4cGFuZGFibGUsXG4gICAgbm9kZSA9PiBub2RlLmNoaWxkcmVuXG4gICk7XG5cbiAgcHJvdGVjdGVkIF9kYXRhU291cmNlID0gbmV3IE1hdFRyZWVGbGF0RGF0YVNvdXJjZSh0aGlzLl90cmVlQ29udHJvbCwgdGhpcy5fdHJlZUZsYXR0ZW5lcik7XG4gIHByb3RlY3RlZCBfaXNFeHBlbmRhYmxlID0gKF86IG51bWJlciwgbm9kZTogRmxhdE5vZGUpID0+IG5vZGUuZXhwYW5kYWJsZTtcbiAgcHJvdGVjdGVkIF9pc0N1c3RvbU5vZGVUeXBlKG5vZGU6IEZsYXROb2RlKTogYm9vbGVhbntcbiAgICByZXR1cm4gbm9kZS5ub2RlVHlwZSAhPSB1bmRlZmluZWQgJiYgbm9kZS5ub2RlVHlwZSAhPSBcIlwiO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9oYXNDaGlsZHJlbihub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW4ge1xuICAgIGlmKCFub2RlLmV4cGFuZGFibGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYobm9kZS5jaGlsZHJlbl9jb3VudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgcmV0dXJuIG5vZGUuY2hpbGRyZW5fY291bnQgPiAwXG4gIH1cblxuICBwcm90ZWN0ZWQgX2Rlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZTogRmxhdE5vZGUpOiBib29sZWFuIHtcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IF9zZWxlY3Rpb25MaXN0OiBTZWxlY3Rpb25Nb2RlbDxGbGF0Tm9kZT4gPSB0aGlzLl9zZWxlY3Rpb25MaXN0O1xuXG4gICAgY29uc3QgX2Rlc2NlbmRhbnRzID0gdGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSk7XG4gICAgaWYoX2Rlc2NlbmRhbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IF9kZXNjQWxsU2VsZWN0ZWQgPSBfZGVzY2VuZGFudHMubGVuZ3RoID4gMCAmJiBfZGVzY2VuZGFudHMuZXZlcnkoKGNoaWxkKSA9PiB7XG4gICAgICByZXR1cm4gX3NlbGVjdGlvbkxpc3QuaXNTZWxlY3RlZChjaGlsZCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIF9kZXNjQWxsU2VsZWN0ZWQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2Rlc2NlbmRhbnRzUGFydGlhbGx5U2VsZWN0ZWQobm9kZTogRmxhdE5vZGUpOiBib29sZWFuIHtcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBfc2VsZWN0aW9uTGlzdDogU2VsZWN0aW9uTW9kZWw8RmxhdE5vZGU+ID0gdGhpcy5fc2VsZWN0aW9uTGlzdDtcblxuICAgIGNvbnN0IF9kZXNjZW5kYW50cyA9IHRoaXMuX3RyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xuICAgIGNvbnN0IF9yZXN1bHQgPSBfZGVzY2VuZGFudHMuc29tZSgoY2hpbGQpID0+IHtcbiAgICAgIHJldHVybiBfc2VsZWN0aW9uTGlzdC5pc1NlbGVjdGVkKGNoaWxkKVxuICAgIH0pO1xuICAgIHJldHVybiBfcmVzdWx0ICYmICF0aGlzLl9kZXNjZW5kYW50c0FsbFNlbGVjdGVkKG5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdG9nZ2xlRGVzY2VuZGFudHNOb2Rlcyhub2RlOiBGbGF0Tm9kZSkge1xuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgX2lzTm9kZVNlbGVjdGVkID0gdGhpcy5fc2VsZWN0aW9uTGlzdC5pc1NlbGVjdGVkKG5vZGUpO1xuICAgIGlmKF9pc05vZGVTZWxlY3RlZCkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3QoLi4udGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QuZGVzZWxlY3QoLi4udGhpcy5fdHJlZUNvbnRyb2wuZ2V0RGVzY2VuZGFudHMobm9kZSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVBhcmVudFNlbGVjdGlvbnMobm9kZTogRmxhdE5vZGUpIHtcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBfcGFyZW50SWQgPSBub2RlLnBhcmVudDtcbiAgICBsZXQgX3BhcmVudE5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IF9wYXJlbnRJZClcbiAgICB3aGlsZShfcGFyZW50Tm9kZSkge1xuICAgICAgaWYodGhpcy5fZGVzY2VuZGFudHNBbGxTZWxlY3RlZChfcGFyZW50Tm9kZSkpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3QoX3BhcmVudE5vZGUpO1xuICAgICAgfVxuICAgICAgZWxzZXtcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5kZXNlbGVjdChfcGFyZW50Tm9kZSk7XG4gICAgICB9XG4gICAgICBfcGFyZW50SWQgPSBfcGFyZW50Tm9kZS5wYXJlbnQ7XG4gICAgICBfcGFyZW50Tm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gX3BhcmVudElkKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX3RvZ2dsZU5vZGUoZXZlbnQ6IE1vdXNlRXZlbnQsIG5vZGU6IEZsYXROb2RlKSB7XG4gICAgaWYoIW5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZighdGhpcy5lbmFibGVTZWxlY3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmKCFldmVudD8uY3RybEtleSkge1xuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5jbGVhcigpO1xuICAgIH1cblxuICAgIGlmKHRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCAmJiB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmKHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWRbMF0ucGFyZW50ICE9PSBub2RlLnBhcmVudCkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LmNsZWFyKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fc2VsZWN0aW9uTGlzdC50b2dnbGUobm9kZSk7XG4gICAgaWYoIXRoaXMubXVsdGlTZWxlY3QgJiYgIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCkge1xuICAgICAgZmlyZUV2ZW50KHRoaXMsIFwic2VsZWN0ZWROb2Rlc1wiLCB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYoIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCkge1xuICAgICAgdGhpcy5fdG9nZ2xlRGVzY2VuZGFudHNOb2Rlcyhub2RlKTtcbiAgICB9XG4gICAgXG4gICAgaWYodGhpcy5lbmFibGVQYXJlbnRIaWdobGlnaHRpbmcpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZVBhcmVudFNlbGVjdGlvbnMobm9kZSk7XG4gICAgfVxuICAgIFxuICAgIGZpcmVFdmVudCh0aGlzLCBcInNlbGVjdGVkTm9kZXNcIiwgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZCApO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9pc1NlbGVjdGVkKG5vZGU6IEZsYXROb2RlKTogYm9vbGVhbntcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTGlzdD8uaXNTZWxlY3RlZChub2RlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRyZWUtY29udGFpbmVyXCI+XG4gIDxkaXYgKm5nSWY9XCJ0cmVlVGl0bGVcIiBjbGFzcz1cInRyZWUtdGl0bGVcIj57e3RyZWVUaXRsZX19PC9kaXY+XG4gIDxjZGstdHJlZSBbZGF0YVNvdXJjZV09XCJfZGF0YVNvdXJjZVwiIFt0cmVlQ29udHJvbF09XCJfdHJlZUNvbnRyb2xcIj5cbiAgICA8IS0tIFRoaXMgaXMgdGhlIHRyZWUgbm9kZSB0ZW1wbGF0ZSBmb3IgbGVhZiBub2RlcyAtLT5cbiAgICA8Y2RrLXRyZWUtbm9kZVxuICAgICAgW21hdFRyZWVOb2RlUGFkZGluZ0luZGVudF09XCJwYWRkaW5nSW5kZW50XCJcbiAgICAgICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlXCJcbiAgICAgIG1hdFRyZWVOb2RlUGFkZGluZ1xuICAgICAgKGNsaWNrKT1cIl90b2dnbGVOb2RlKCRldmVudCwgbm9kZSlcIlxuICAgICAgY2xhc3M9XCJvYmplY3Qtbm9kZVwiXG4gICAgICBbY2xhc3MuZHJhZ2FibGUtbm9kZV09XCJlbmFibGVEcmFnQW5kRHJvcCAmJiBub2RlLmxldmVsID4gMFwiXG4gICAgICBbY2xhc3Muc2VsZWN0ZWQtbm9kZV09XCJfaXNTZWxlY3RlZChub2RlKVwiXG4gICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiZGF0YVRlc3RQcmVmaXggKyBub2RlLmlkXCJcbiAgICAgIFt0aXRsZV09XCJub2RlLm5hbWVcIlxuICAgICAgW2F0dHIubm9kZS1pZF09XCJub2RlLmlkXCJcbiAgICA+XG4gICAgICA8IS0tIHVzZSBhIGRpc2FibGVkIGJ1dHRvbiB0byBwcm92aWRlIHBhZGRpbmcgZm9yIHRyZWUgbGVhZiAtLT5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGRpc2FibGVkPlxuICAgICAgPC9idXR0b24+XG4gICAgICBAaWYgKGN1c3RvbU5vZGVUZW1wbGF0ZSAmJiBfaXNDdXN0b21Ob2RlVHlwZShub2RlKSkge1xuICAgICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU5vZGVUZW1wbGF0ZVwiIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bm9kZTpub2RlfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH1AZWxzZXtcbiAgICAgICAgPGRpdiBjbGFzcz1cImljb24gb2JqZWN0LWljb25cIiAqbmdJZj1cInNob3dPYmplY3RzSWNvbnNcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJub2RlLWxhYmVsXCJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtbm9kZV09XCJfaXNTZWxlY3RlZChub2RlKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWRyYWctcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICB7e25vZGUubmFtZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDxsaWItYmltcGx1cy1jb250ZXh0LW1lbnVcbiAgICAgICAgW2l0ZW1zXT1cImNvbnRleHRNZW51cz8ub2JqZWN0Q29udGV4dE1lbnVpdGVtc1wiXG4gICAgICAgIFtkYXRhXT1cIm5vZGVcIlxuICAgICAgICAqbmdJZj1cImNvbnRleHRNZW51cz8ub2JqZWN0Q29udGV4dE1lbnVpdGVtcz8ubGVuZ3RoXCJcbiAgICAgICAgKHRyaWdnZXJTZWxlY3RlZCk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgID5cbiAgICAgIDwvbGliLWJpbXBsdXMtY29udGV4dC1tZW51PlxuICAgIDwvY2RrLXRyZWUtbm9kZT5cbiAgICA8IS0tIFRoaXMgaXMgdGhlIHRyZWUgbm9kZSB0ZW1wbGF0ZSBmb3IgZXhwYW5kYWJsZSBub2RlcyAtLT5cbiAgICA8Y2RrLXRyZWUtbm9kZSBbbWF0VHJlZU5vZGVQYWRkaW5nSW5kZW50XT1cInBhZGRpbmdJbmRlbnRcIlxuICAgICAgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGU7d2hlbjogX2lzRXhwZW5kYWJsZVwiXG4gICAgICBtYXRUcmVlTm9kZVBhZGRpbmdcbiAgICAgIChjbGljayk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgIGNsYXNzPVwiZm9sZGVyLW5vZGVcIlxuICAgICAgW2NsYXNzLmRyYWdhYmxlLW5vZGVdPVwiZW5hYmxlRHJhZ0FuZERyb3AgJiYgbm9kZS5sZXZlbCA+IDBcIlxuICAgICAgW2NsYXNzLnNlbGVjdGVkLW5vZGVdPVwiX2lzU2VsZWN0ZWQobm9kZSlcIlxuICAgICAgW2F0dHIuZGF0YS10ZXN0XT1cImRhdGFUZXN0UHJlZml4ICsgbm9kZS5pZFwiXG4gICAgICBbdGl0bGVdPVwibm9kZS5uYW1lXCJcbiAgICAgIFthdHRyLm5vZGUtaWRdPVwibm9kZS5pZFwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgbWF0VHJlZU5vZGVUb2dnbGVcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInVG9nZ2xlICcgKyBub2RlLm5hbWVcIlxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJpY29uIGV4cGFuZC1jb2xsYXBzZS1pY29uXCJcbiAgICAgICAgICBbY2xhc3MuZXhwYW5kLW1vcmUtaWNvbl09XCJfaGFzQ2hpbGRyZW4obm9kZSkgJiYgIV90cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpXCJcbiAgICAgICAgICBbY2xhc3MuY29sbGFwc2UtaWNvbl09XCJfaGFzQ2hpbGRyZW4obm9kZSkgJiYgX3RyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSlcIlxuICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG4gICAgICBAaWYgKGN1c3RvbU5vZGVUZW1wbGF0ZSAmJiBfaXNDdXN0b21Ob2RlVHlwZShub2RlKSkge1xuICAgICAgICA8bmctY29udGFpbmVyIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU5vZGVUZW1wbGF0ZVwiIFxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bm9kZTpub2RlfVwiPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIH1AZWxzZXtcbiAgICAgICAgPGRpdiBjbGFzcz1cImljb24gZm9sZGVyLWljb25cIiAqbmdJZj1cInNob3dGb2xkZXJzSWNvbnNcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZS1sYWJlbFwiXG4gICAgICAgICAgW2NsYXNzLnNlbGVjdGVkLW5vZGVdPVwiX2lzU2VsZWN0ZWQobm9kZSlcIlxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZC1hbGwtZGVzY2VuZGFudHMtbm9kZXNdPVwiX2Rlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSkgJiYgX2lzU2VsZWN0ZWQobm9kZSkgJiYgZW5hYmxlUGFyZW50SGlnaGxpZ2h0aW5nXCJcbiAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWQtcGFydGlhbGx5LWRlc2NlbmRhbnRzLW5vZGVzXT1cIl9kZXNjZW5kYW50c1BhcnRpYWxseVNlbGVjdGVkKG5vZGUpICYmIGVuYWJsZVBhcmVudEhpZ2hsaWdodGluZ1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tLWRyYWctcGxhY2Vob2xkZXJcIiAqY2RrRHJhZ1BsYWNlaG9sZGVyPjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RlLWxhYmVsXCI+XG4gICAgICAgICAgICB7e25vZGUubmFtZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDxsaWItYmltcGx1cy1jb250ZXh0LW1lbnVcbiAgICAgICAgW2l0ZW1zXT1cImNvbnRleHRNZW51cz8uZm9sZGVyQ29udGV4dE1lbnVpdGVtc1wiXG4gICAgICAgIFtkYXRhXT1cIm5vZGVcIlxuICAgICAgICAqbmdJZj1cImNvbnRleHRNZW51cz8uZm9sZGVyQ29udGV4dE1lbnVpdGVtcz8ubGVuZ3RoXCJcbiAgICAgICAgKHRyaWdnZXJTZWxlY3RlZCk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgID5cbiAgICAgIDwvbGliLWJpbXBsdXMtY29udGV4dC1tZW51PlxuICAgIDwvY2RrLXRyZWUtbm9kZT5cbiAgPC9jZGstdHJlZT5cbjwvZGl2PlxuIl19
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFNBQVMsRUFBVSxLQUFLLEVBQTJCLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDbkosT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTyx3REFBd0QsQ0FBQzs7Ozs7O0FBcUJ0RyxNQUFNLE9BQU8sd0JBQXdCO0lBY25DLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBYnpCLHdCQUFtQixHQUFrQixJ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Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDa0MsV0FBVztzQkFBbEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxtQkFBbUI7c0JBQTFELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsZ0JBQWdCO3NCQUF2RCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLGdCQUFnQjtzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxZQUFZO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUNFLHdCQUF3QjtzQkFBL0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDRSxpQkFBaUI7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQzdCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFRTyxRQUFRO3NCQUFwQixLQUFLO2dCQU1HLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZSwgYm9vbGVhbkF0dHJpYnV0ZSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0VHJlZUZsYXREYXRhU291cmNlLCBNYXRUcmVlRmxhdHRlbmVyLCBNYXRUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xyXG5pbXBvcnQgeyBDZGtUcmVlTW9kdWxlLCBGbGF0VHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcclxuaW1wb3J0IHsgVHJlZU5vZGUsIEZsYXROb2RlLCBGbGF0VHJlZUNvbnRleHRNZW51cyB9IGZyb20gJy4vYmltcGx1cy1mbGF0LXRyZWUuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmltcGx1c0NvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAgJy4uL2JpbXBsdXMtY29udGV4dC1tZW51L2JpbXBsdXMtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XHJcblxyXG5pbnRlcmZhY2UgQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50QXR0cmlidXRlICB7XHJcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjsgLy8gQWRkIGluZGV4IHNpZ25hdHVyZSBhbGxvd2luZyBzdHJpbmcgaW5kZXhpbmdcclxuICAgLy9PdGhlciBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLi4uXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWJpbXBsdXMtZmxhdC10cmVlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtNYXRUcmVlTW9kdWxlXHJcbiAgICAsIE1hdEJ1dHRvbk1vZHVsZVxyXG4gICAgLCBNYXRJY29uTW9kdWxlXHJcbiAgICAsIENka1RyZWVNb2R1bGVcclxuICAgICwgQmltcGx1c0NvbnRleHRNZW51Q29tcG9uZW50XHJcbiAgICAsIENvbW1vbk1vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JpbXBsdXMtZmxhdC10cmVlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYmltcGx1cy1mbGF0LXRyZWUuY29tcG9uZW50Lmxlc3MnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXN7XHJcbiAgQElucHV0KCkgdHJlZURhdGFTdHJpbmdpZmllZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgdHJlZVRpdGxlIDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSBwYWRkaW5nSW5kZW50IDogc3RyaW5nID0gXCIyLjhyZW1cIlxyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBtdWx0aVNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBvbmVMZXZlbE11bHRpU2VsZWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dGb2xkZXJzSWNvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd09iamVjdHNJY29uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBlbmFibGVTZWxlY3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBlbmFibGVQYXJlbnRIaWdobGlnaHRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBlbmFibGVEcmFnQW5kRHJvcDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRhdGFUZXN0UHJlZml4IDogc3RyaW5nID0gXCJcIjtcclxuICBASW5wdXQoKSBjb250ZXh0TWVudXM6IEZsYXRUcmVlQ29udGV4dE1lbnVzIHwgbnVsbCB8IHVuZGVmaW5lZCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XHJcblxyXG4gIGdldCB0cmVlRGF0YSgpIDogQXJyYXk8VHJlZU5vZGU+e1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2UuZGF0YTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCB0cmVlRGF0YShkYXRhOiBBcnJheTxUcmVlTm9kZT4pIHtcclxuICAgIHRoaXMudHJlZURhdGFTdHJpbmdpZmllZCA9IG51bGw7XHJcbiAgICB0aGlzLl9kYXRhU291cmNlLmRhdGEgPSBkYXRhO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBASW5wdXQoKSBjdXN0b21Ob2RlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkTm9kZXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZsYXROb2RlW10+KCk7XHJcblxyXG4gIHByaXZhdGUgX3NlbGVjdGlvbkxpc3Q6IFNlbGVjdGlvbk1vZGVsPEZsYXROb2RlPiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuXHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcclxuICAgIGlmIChlbGVtZW50KSB7XHJcbiAgICAgIChlbGVtZW50IGFzIHVua25vd24gYXMgQmltcGx1c0ZsYXRUcmVlQ29tcG9uZW50QXR0cmlidXRlKVsnZ2V0X25vZGUnXSA9IHRoaXMuZ2V0X25vZGUuYmluZCh0aGlzKTtcclxuICAgICAgKGVsZW1lbnQgYXMgdW5rbm93biBhcyBCaW1wbHVzRmxhdFRyZWVDb21wb25lbnRBdHRyaWJ1dGUpWydzZWxlY3Rfbm9kZSddID0gdGhpcy5zZWxlY3Rfbm9kZS5iaW5kKHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QgPSBuZXcgU2VsZWN0aW9uTW9kZWw8RmxhdE5vZGU+KHRoaXMubXVsdGlTZWxlY3QgfHwgdGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0KTtcclxuICAgIGlmKHRoaXMudHJlZURhdGFTdHJpbmdpZmllZCl7XHJcbiAgICAgIHRoaXMuX3NldE5ld0RhdGEodGhpcy50cmVlRGF0YVN0cmluZ2lmaWVkKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cGFuZFRyZWUoKXtcclxuICAgIHRoaXMuX3RyZWVDb250cm9sLmV4cGFuZEFsbCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0Tm9kZShpZDogc3RyaW5nLCBub2RlczogQXJyYXk8VHJlZU5vZGU+KTogVHJlZU5vZGUgfCBudWxsIHtcclxuICAgIGZvcihjb25zdCBub2RlIG9mIG5vZGVzKSB7XHJcbiAgICAgIGlmKG5vZGUuaWQgPT09IGlkKSB7XHJcbiAgICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICAgIH1cclxuICAgICAgaWYobm9kZS5jaGlsZHJlbikge1xyXG4gICAgICAgIGNvbnN0IF9ub2RlOiBUcmVlTm9kZSB8IG51bGwgPSB0aGlzLl9nZXROb2RlKGlkLCBub2RlLmNoaWxkcmVuKTtcclxuICAgICAgICBpZihfbm9kZSkge1xyXG4gICAgICAgICAgcmV0dXJuIF9ub2RlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0X25vZGUoaWQ6IHsgaWQ6IHN0cmluZyB9IHwgc3RyaW5nLCBnZXRET01FbGVtZW50OiBib29sZWFuID0gZmFsc2UpOiBUcmVlTm9kZSB8IEVsZW1lbnQgfCBudWxsIHtcclxuICAgIGlmKHR5cGVvZiBpZCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2dldE5vZGUoaWQsIHRoaXMuX2RhdGFTb3VyY2UuZGF0YSk7XHJcbiAgICB9XHJcbiAgICBpZihnZXRET01FbGVtZW50KSB7XHJcbiAgICAgIGNvbnN0IF9lbGVtZW50OiBFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYFtub2RlLWlkPScke2lkLmlkfSddYCk7XHJcbiAgICAgIHJldHVybiBfZWxlbWVudDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9nZXROb2RlKGlkLmlkLCB0aGlzLl9kYXRhU291cmNlLmRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdF9ub2RlKGlkOiBzdHJpbmcsIHNraXBFdmVudDogYm9vbGVhbiA9IGZhbHNlKSB7XHJcbiAgICBjb25zdCBub2RlID0gdGhpcy5fdHJlZUNvbnRyb2wuZGF0YU5vZGVzLmZpbmQobiA9PiBuLmlkID09PSBpZCk7XHJcbiAgICBpZighbm9kZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYoIXRoaXMuX3NlbGVjdGlvbkxpc3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCAmJiB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYodGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZFswXS5wYXJlbnQgIT09IG5vZGUucGFyZW50KSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5jbGVhcigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYodGhpcy5fc2VsZWN0aW9uTGlzdC5pc1NlbGVjdGVkKG5vZGUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdChub2RlKTtcclxuICAgIGlmKCF0aGlzLm11bHRpU2VsZWN0ICYmICF0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QgJiYgIXNraXBFdmVudCkge1xyXG4gICAgICBmaXJlRXZlbnQodGhpcywgXCJzZWxlY3RlZE5vZGVzXCIsIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWQgKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKCF0aGlzLm9uZUxldmVsTXVsdGlTZWxlY3QpIHtcclxuICAgICAgdGhpcy5fdG9nZ2xlRGVzY2VuZGFudHNOb2Rlcyhub2RlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0aGlzLmVuYWJsZVBhcmVudEhpZ2hsaWdodGluZykge1xyXG4gICAgICB0aGlzLl91cGRhdGVQYXJlbnRTZWxlY3Rpb25zKG5vZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKCFza2lwRXZlbnQpe1xyXG4gICAgICBmaXJlRXZlbnQodGhpcywgXCJzZWxlY3RlZE5vZGVzXCIsIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWQgKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVzZXRfc2VsZWN0aW9uKCl7XHJcbiAgICB0aGlzLl9zZWxlY3Rpb25MaXN0Py5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cGFuZF9ub2RlKGlkIDogc3RyaW5nKXtcclxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IGlkKTtcclxuICAgIGlmKCFub2RlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl90cmVlQ29udHJvbC5leHBhbmQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNfZXhwYW5kZWQoaWQgOiBzdHJpbmcpe1xyXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gaWQpO1xyXG4gICAgaWYoIW5vZGUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl90cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzX3NlbGVjdGVkKGlkIDogc3RyaW5nKXtcclxuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KVxyXG4gICAgICByZXR1cm47XHJcblxyXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gaWQpO1xyXG4gICAgaWYoIW5vZGUpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3Rpb25MaXN0Py5pc1NlbGVjdGVkKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0TmV3RGF0YSh0cmVlRGF0YVN0cmluZ2lmaWVkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IF90cmVlX2RhdGEgPSBKU09OLnBhcnNlKHRyZWVEYXRhU3RyaW5naWZpZWQpO1xyXG4gICAgdGhpcy5fZGF0YVNvdXJjZS5kYXRhID0gX3RyZWVfZGF0YSA/PyBbXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NoYW5nZWRUcmVlRGF0YShjaGFuZ2U6IFNpbXBsZUNoYW5nZSkge1xyXG4gICAgdGhpcy5fc2V0TmV3RGF0YShjaGFuZ2UuY3VycmVudFZhbHVlKVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogeyBbcHJvcEtleTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlIH0pOiB2b2lkIHtcclxuICAgIGlmKGNoYW5nZXNbJ211bHRpU2VsZWN0J10gfHwgY2hhbmdlc1snb25lTGV2ZWxNdWx0aVNlbGVjdCddKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3QgPSBuZXcgU2VsZWN0aW9uTW9kZWw8RmxhdE5vZGU+KHRoaXMubXVsdGlTZWxlY3QgfHwgdGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0KTtcclxuICAgIH1cclxuICAgIGlmKGNoYW5nZXNbJ3RyZWVEYXRhU3RyaW5naWZpZWQnXSkge1xyXG4gICAgICB0aGlzLl9jaGFuZ2VkVHJlZURhdGEoY2hhbmdlc1sndHJlZURhdGFTdHJpbmdpZmllZCddKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdHJhbnNmb3JtZXIgPSAobm9kZTogVHJlZU5vZGUsIGxldmVsOiBudW1iZXIpOiBGbGF0Tm9kZSA9PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBleHBhbmRhYmxlOiBub2RlLmNoaWxkcmVuICE9PSB1bmRlZmluZWQsXHJcbiAgICAgIGNoaWxkcmVuX2NvdW50OiBub2RlLmNoaWxkcmVuPy5sZW5ndGgsXHJcbiAgICAgIG5hbWU6IG5vZGUubmFtZSxcclxuICAgICAgaWQ6IG5vZGUuaWQsXHJcbiAgICAgIGxldmVsOiBsZXZlbCxcclxuICAgICAgcGFyZW50OiBub2RlLnBhcmVudCxcclxuICAgICAgbm9kZVR5cGU6IG5vZGUubm9kZVR5cGVcclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgcHJvdGVjdGVkIF90cmVlQ29udHJvbCA9IG5ldyBGbGF0VHJlZUNvbnRyb2w8RmxhdE5vZGU+KFxyXG4gICAgbm9kZSA9PiBub2RlLmxldmVsLFxyXG4gICAgbm9kZSA9PiBub2RlLmV4cGFuZGFibGUsXHJcbiAgKTtcclxuXHJcbiAgcHJvdGVjdGVkIF90cmVlRmxhdHRlbmVyID0gbmV3IE1hdFRyZWVGbGF0dGVuZXIoXHJcbiAgICB0aGlzLl90cmFuc2Zvcm1lcixcclxuICAgIG5vZGUgPT4gbm9kZS5sZXZlbCxcclxuICAgIG5vZGUgPT4gbm9kZS5leHBhbmRhYmxlLFxyXG4gICAgbm9kZSA9PiBub2RlLmNoaWxkcmVuXHJcbiAgKTtcclxuXHJcbiAgcHJvdGVjdGVkIF9kYXRhU291cmNlID0gbmV3IE1hdFRyZWVGbGF0RGF0YVNvdXJjZSh0aGlzLl90cmVlQ29udHJvbCwgdGhpcy5fdHJlZUZsYXR0ZW5lcik7XHJcbiAgcHJvdGVjdGVkIF9pc0V4cGVuZGFibGUgPSAoXzogbnVtYmVyLCBub2RlOiBGbGF0Tm9kZSkgPT4gbm9kZS5leHBhbmRhYmxlO1xyXG4gIHByb3RlY3RlZCBfaXNDdXN0b21Ob2RlVHlwZShub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gbm9kZS5ub2RlVHlwZSAhPSB1bmRlZmluZWQgJiYgbm9kZS5ub2RlVHlwZSAhPSBcIlwiO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIF9oYXNDaGlsZHJlbihub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYoIW5vZGUuZXhwYW5kYWJsZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZihub2RlLmNoaWxkcmVuX2NvdW50ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gbm9kZS5jaGlsZHJlbl9jb3VudCA+IDBcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfZGVzY2VuZGFudHNBbGxTZWxlY3RlZChub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW4ge1xyXG4gICAgaWYoIXRoaXMuX3NlbGVjdGlvbkxpc3QpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IF9zZWxlY3Rpb25MaXN0OiBTZWxlY3Rpb25Nb2RlbDxGbGF0Tm9kZT4gPSB0aGlzLl9zZWxlY3Rpb25MaXN0O1xyXG5cclxuICAgIGNvbnN0IF9kZXNjZW5kYW50cyA9IHRoaXMuX3RyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xyXG4gICAgaWYoX2Rlc2NlbmRhbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IF9kZXNjQWxsU2VsZWN0ZWQgPSBfZGVzY2VuZGFudHMubGVuZ3RoID4gMCAmJiBfZGVzY2VuZGFudHMuZXZlcnkoKGNoaWxkKSA9PiB7XHJcbiAgICAgIHJldHVybiBfc2VsZWN0aW9uTGlzdC5pc1NlbGVjdGVkKGNoaWxkKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIF9kZXNjQWxsU2VsZWN0ZWQ7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgX2Rlc2NlbmRhbnRzUGFydGlhbGx5U2VsZWN0ZWQobm9kZTogRmxhdE5vZGUpOiBib29sZWFuIHtcclxuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IF9zZWxlY3Rpb25MaXN0OiBTZWxlY3Rpb25Nb2RlbDxGbGF0Tm9kZT4gPSB0aGlzLl9zZWxlY3Rpb25MaXN0O1xyXG5cclxuICAgIGNvbnN0IF9kZXNjZW5kYW50cyA9IHRoaXMuX3RyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpO1xyXG4gICAgY29uc3QgX3Jlc3VsdCA9IF9kZXNjZW5kYW50cy5zb21lKChjaGlsZCkgPT4ge1xyXG4gICAgICByZXR1cm4gX3NlbGVjdGlvbkxpc3QuaXNTZWxlY3RlZChjaGlsZClcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIF9yZXN1bHQgJiYgIXRoaXMuX2Rlc2NlbmRhbnRzQWxsU2VsZWN0ZWQobm9kZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF90b2dnbGVEZXNjZW5kYW50c05vZGVzKG5vZGU6IEZsYXROb2RlKSB7XHJcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgX2lzTm9kZVNlbGVjdGVkID0gdGhpcy5fc2VsZWN0aW9uTGlzdC5pc1NlbGVjdGVkKG5vZGUpO1xyXG4gICAgaWYoX2lzTm9kZVNlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0KC4uLnRoaXMuX3RyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLl9zZWxlY3Rpb25MaXN0LmRlc2VsZWN0KC4uLnRoaXMuX3RyZWVDb250cm9sLmdldERlc2NlbmRhbnRzKG5vZGUpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZVBhcmVudFNlbGVjdGlvbnMobm9kZTogRmxhdE5vZGUpIHtcclxuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgX3BhcmVudElkID0gbm9kZS5wYXJlbnQ7XHJcbiAgICBsZXQgX3BhcmVudE5vZGUgPSB0aGlzLl90cmVlQ29udHJvbC5kYXRhTm9kZXMuZmluZChuID0+IG4uaWQgPT09IF9wYXJlbnRJZClcclxuICAgIHdoaWxlKF9wYXJlbnROb2RlKSB7XHJcbiAgICAgIGlmKHRoaXMuX2Rlc2NlbmRhbnRzQWxsU2VsZWN0ZWQoX3BhcmVudE5vZGUpKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3QoX3BhcmVudE5vZGUpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5kZXNlbGVjdChfcGFyZW50Tm9kZSk7XHJcbiAgICAgIH1cclxuICAgICAgX3BhcmVudElkID0gX3BhcmVudE5vZGUucGFyZW50O1xyXG4gICAgICBfcGFyZW50Tm9kZSA9IHRoaXMuX3RyZWVDb250cm9sLmRhdGFOb2Rlcy5maW5kKG4gPT4gbi5pZCA9PT0gX3BhcmVudElkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfdG9nZ2xlTm9kZShldmVudDogTW91c2VFdmVudCwgbm9kZTogRmxhdE5vZGUpIHtcclxuICAgIGlmKCFub2RlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZighdGhpcy5lbmFibGVTZWxlY3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKCF0aGlzLl9zZWxlY3Rpb25MaXN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZighZXZlbnQ/LmN0cmxLZXkpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5jbGVhcigpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmKHRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCAmJiB0aGlzLl9zZWxlY3Rpb25MaXN0LnNlbGVjdGVkLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYodGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZFswXS5wYXJlbnQgIT09IG5vZGUucGFyZW50KSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0aW9uTGlzdC5jbGVhcigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fc2VsZWN0aW9uTGlzdC50b2dnbGUobm9kZSk7XHJcbiAgICBpZighdGhpcy5tdWx0aVNlbGVjdCAmJiAhdGhpcy5vbmVMZXZlbE11bHRpU2VsZWN0KSB7XHJcbiAgICAgIGZpcmVFdmVudCh0aGlzLCBcInNlbGVjdGVkTm9kZXNcIiwgdGhpcy5fc2VsZWN0aW9uTGlzdC5zZWxlY3RlZCApO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYoIXRoaXMub25lTGV2ZWxNdWx0aVNlbGVjdCkge1xyXG4gICAgICB0aGlzLl90b2dnbGVEZXNjZW5kYW50c05vZGVzKG5vZGUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZih0aGlzLmVuYWJsZVBhcmVudEhpZ2hsaWdodGluZykge1xyXG4gICAgICB0aGlzLl91cGRhdGVQYXJlbnRTZWxlY3Rpb25zKG5vZGUpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBmaXJlRXZlbnQodGhpcywgXCJzZWxlY3RlZE5vZGVzXCIsIHRoaXMuX3NlbGVjdGlvbkxpc3Quc2VsZWN0ZWQgKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBfaXNTZWxlY3RlZChub2RlOiBGbGF0Tm9kZSk6IGJvb2xlYW57XHJcbiAgICBpZighdGhpcy5fc2VsZWN0aW9uTGlzdCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uTGlzdD8uaXNTZWxlY3RlZChub2RlKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRyZWUtY29udGFpbmVyXCI+XHJcbiAgPGRpdiAqbmdJZj1cInRyZWVUaXRsZVwiIGNsYXNzPVwidHJlZS10aXRsZVwiPnt7dHJlZVRpdGxlfX08L2Rpdj5cclxuICA8Y2RrLXRyZWUgW2RhdGFTb3VyY2VdPVwiX2RhdGFTb3VyY2VcIiBbdHJlZUNvbnRyb2xdPVwiX3RyZWVDb250cm9sXCI+XHJcbiAgICA8IS0tIFRoaXMgaXMgdGhlIHRyZWUgbm9kZSB0ZW1wbGF0ZSBmb3IgbGVhZiBub2RlcyAtLT5cclxuICAgIDxjZGstdHJlZS1ub2RlXHJcbiAgICAgIFttYXRUcmVlTm9kZVBhZGRpbmdJbmRlbnRdPVwicGFkZGluZ0luZGVudFwiXHJcbiAgICAgICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlXCJcclxuICAgICAgbWF0VHJlZU5vZGVQYWRkaW5nXHJcbiAgICAgIChjbGljayk9XCJfdG9nZ2xlTm9kZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgY2xhc3M9XCJvYmplY3Qtbm9kZVwiXHJcbiAgICAgIFtjbGFzcy5kcmFnYWJsZS1ub2RlXT1cImVuYWJsZURyYWdBbmREcm9wICYmIG5vZGUubGV2ZWwgPiAwXCJcclxuICAgICAgW2NsYXNzLnNlbGVjdGVkLW5vZGVdPVwiX2lzU2VsZWN0ZWQobm9kZSlcIlxyXG4gICAgICBbYXR0ci5kYXRhLXRlc3RdPVwiZGF0YVRlc3RQcmVmaXggKyBub2RlLmlkXCJcclxuICAgICAgW3RpdGxlXT1cIm5vZGUubmFtZVwiXHJcbiAgICAgIFthdHRyLm5vZGUtaWRdPVwibm9kZS5pZFwiXHJcbiAgICA+XHJcbiAgICAgIDwhLS0gdXNlIGEgZGlzYWJsZWQgYnV0dG9uIHRvIHByb3ZpZGUgcGFkZGluZyBmb3IgdHJlZSBsZWFmIC0tPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlZD5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIEBpZiAoY3VzdG9tTm9kZVRlbXBsYXRlICYmIF9pc0N1c3RvbU5vZGVUeXBlKG5vZGUpKSB7XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBcclxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImN1c3RvbU5vZGVUZW1wbGF0ZVwiIFxyXG4gICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntub2RlOm5vZGV9XCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIH1AZWxzZXtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiBvYmplY3QtaWNvblwiICpuZ0lmPVwic2hvd09iamVjdHNJY29uc1wiPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cIm5vZGUtbGFiZWxcIlxyXG4gICAgICAgICAgW2NsYXNzLnNlbGVjdGVkLW5vZGVdPVwiX2lzU2VsZWN0ZWQobm9kZSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tZHJhZy1wbGFjZWhvbGRlclwiICpjZGtEcmFnUGxhY2Vob2xkZXI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICB7e25vZGUubmFtZX19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgPGxpYi1iaW1wbHVzLWNvbnRleHQtbWVudVxyXG4gICAgICAgIFtpdGVtc109XCJjb250ZXh0TWVudXM/Lm9iamVjdENvbnRleHRNZW51aXRlbXNcIlxyXG4gICAgICAgIFtkYXRhXT1cIm5vZGVcIlxyXG4gICAgICAgICpuZ0lmPVwiY29udGV4dE1lbnVzPy5vYmplY3RDb250ZXh0TWVudWl0ZW1zPy5sZW5ndGhcIlxyXG4gICAgICAgICh0cmlnZ2VyU2VsZWN0ZWQpPVwiX3RvZ2dsZU5vZGUoJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgID5cclxuICAgICAgPC9saWItYmltcGx1cy1jb250ZXh0LW1lbnU+XHJcbiAgICA8L2Nkay10cmVlLW5vZGU+XHJcbiAgICA8IS0tIFRoaXMgaXMgdGhlIHRyZWUgbm9kZSB0ZW1wbGF0ZSBmb3IgZXhwYW5kYWJsZSBub2RlcyAtLT5cclxuICAgIDxjZGstdHJlZS1ub2RlIFttYXRUcmVlTm9kZVBhZGRpbmdJbmRlbnRdPVwicGFkZGluZ0luZGVudFwiXHJcbiAgICAgICptYXRUcmVlTm9kZURlZj1cImxldCBub2RlO3doZW46IF9pc0V4cGVuZGFibGVcIlxyXG4gICAgICBtYXRUcmVlTm9kZVBhZGRpbmdcclxuICAgICAgKGNsaWNrKT1cIl90b2dnbGVOb2RlKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICBjbGFzcz1cImZvbGRlci1ub2RlXCJcclxuICAgICAgW2NsYXNzLmRyYWdhYmxlLW5vZGVdPVwiZW5hYmxlRHJhZ0FuZERyb3AgJiYgbm9kZS5sZXZlbCA+IDBcIlxyXG4gICAgICBbY2xhc3Muc2VsZWN0ZWQtbm9kZV09XCJfaXNTZWxlY3RlZChub2RlKVwiXHJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJkYXRhVGVzdFByZWZpeCArIG5vZGUuaWRcIlxyXG4gICAgICBbdGl0bGVdPVwibm9kZS5uYW1lXCJcclxuICAgICAgW2F0dHIubm9kZS1pZF09XCJub2RlLmlkXCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgIG1hdFRyZWVOb2RlVG9nZ2xlXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInVG9nZ2xlICcgKyBub2RlLm5hbWVcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJpY29uIGV4cGFuZC1jb2xsYXBzZS1pY29uXCJcclxuICAgICAgICAgIFtjbGFzcy5leHBhbmQtbW9yZS1pY29uXT1cIl9oYXNDaGlsZHJlbihub2RlKSAmJiAhX3RyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSlcIlxyXG4gICAgICAgICAgW2NsYXNzLmNvbGxhcHNlLWljb25dPVwiX2hhc0NoaWxkcmVuKG5vZGUpICYmIF90cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICBAaWYgKGN1c3RvbU5vZGVUZW1wbGF0ZSAmJiBfaXNDdXN0b21Ob2RlVHlwZShub2RlKSkge1xyXG4gICAgICAgIDxuZy1jb250YWluZXIgXHJcbiAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjdXN0b21Ob2RlVGVtcGxhdGVcIiBcclxuICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bm9kZTpub2RlfVwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICB9QGVsc2V7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImljb24gZm9sZGVyLWljb25cIiAqbmdJZj1cInNob3dGb2xkZXJzSWNvbnNcIj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5vZGUtbGFiZWxcIlxyXG4gICAgICAgICAgW2NsYXNzLnNlbGVjdGVkLW5vZGVdPVwiX2lzU2VsZWN0ZWQobm9kZSlcIlxyXG4gICAgICAgICAgW2NsYXNzLnNlbGVjdGVkLWFsbC1kZXNjZW5kYW50cy1ub2Rlc109XCJfZGVzY2VuZGFudHNBbGxTZWxlY3RlZChub2RlKSAmJiBfaXNTZWxlY3RlZChub2RlKSAmJiBlbmFibGVQYXJlbnRIaWdobGlnaHRpbmdcIlxyXG4gICAgICAgICAgW2NsYXNzLnNlbGVjdGVkLXBhcnRpYWxseS1kZXNjZW5kYW50cy1ub2Rlc109XCJfZGVzY2VuZGFudHNQYXJ0aWFsbHlTZWxlY3RlZChub2RlKSAmJiBlbmFibGVQYXJlbnRIaWdobGlnaHRpbmdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjdXN0b20tZHJhZy1wbGFjZWhvbGRlclwiICpjZGtEcmFnUGxhY2Vob2xkZXI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kZS1sYWJlbFwiPlxyXG4gICAgICAgICAgICB7e25vZGUubmFtZX19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgPGxpYi1iaW1wbHVzLWNvbnRleHQtbWVudVxyXG4gICAgICAgIFtpdGVtc109XCJjb250ZXh0TWVudXM/LmZvbGRlckNvbnRleHRNZW51aXRlbXNcIlxyXG4gICAgICAgIFtkYXRhXT1cIm5vZGVcIlxyXG4gICAgICAgICpuZ0lmPVwiY29udGV4dE1lbnVzPy5mb2xkZXJDb250ZXh0TWVudWl0ZW1zPy5sZW5ndGhcIlxyXG4gICAgICAgICh0cmlnZ2VyU2VsZWN0ZWQpPVwiX3RvZ2dsZU5vZGUoJGV2ZW50LCBub2RlKVwiXHJcbiAgICAgID5cclxuICAgICAgPC9saWItYmltcGx1cy1jb250ZXh0LW1lbnU+XHJcbiAgICA8L2Nkay10cmVlLW5vZGU+XHJcbiAgPC9jZGstdHJlZT5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1mbGF0LXRyZWUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaW1wbHVzQ29udGV4dE1lbnVJdGVtIH0gZnJvbSAgJy4uL2JpbXBsdXMtY29udGV4dC1tZW51L2JpbXBsdXMtY29udGV4dC1tZW51LmludGVyZmFjZSdcblxuZXhwb3J0IGludGVyZmFjZSBUcmVlTm9kZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgY2hpbGRyZW4/OiBBcnJheTxUcmVlTm9kZT47XG4gIGlkOiBzdHJpbmc7XG4gIHBhcmVudD86IHN0cmluZztcbiAgbm9kZVR5cGU/OiBzdHJpbmc7XG59XG5cbi8vIEZsYXQgbm9kZSB3aXRoIGV4cGFuZGFibGUgYW5kIGxldmVsIGluZm9ybWF0aW9uXG5leHBvcnQgaW50ZXJmYWNlIEZsYXROb2RlIHtcbiAgZXhwYW5kYWJsZTogYm9vbGVhbjtcbiAgY2hpbGRyZW5fY291bnQ6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgbmFtZTogc3RyaW5nO1xuICBsZXZlbDogbnVtYmVyO1xuICBpZDogc3RyaW5nO1xuICBwYXJlbnQ/OiBzdHJpbmc7XG4gIG5vZGVUeXBlPzogc3RyaW5nO1xufVxuXG4vLyBGbGF0IHRyZWUgY29udGV4dCBtZW51c1xuZXhwb3J0IGludGVyZmFjZSBGbGF0VHJlZUNvbnRleHRNZW51cyB7XG4gIG9iamVjdENvbnRleHRNZW51aXRlbXM/OiBBcnJheTxCaW1wbHVzQ29udGV4dE1lbnVJdGVtPjtcbiAgZm9sZGVyQ29udGV4dE1lbnVpdGVtcz86IEFycmF5PEJpbXBsdXNDb250ZXh0TWVudUl0ZW0+O1xufSJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1mbGF0LXRyZWUuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvYmltcGx1cy1mbGF0LXRyZWUvYmltcGx1cy1mbGF0LXRyZWUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCaW1wbHVzQ29udGV4dE1lbnVJdGVtIH0gZnJvbSAgJy4uL2JpbXBsdXMtY29udGV4dC1tZW51L2JpbXBsdXMtY29udGV4dC1tZW51LmludGVyZmFjZSdcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJlZU5vZGUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBjaGlsZHJlbj86IEFycmF5PFRyZWVOb2RlPjtcclxuICBpZDogc3RyaW5nO1xyXG4gIHBhcmVudD86IHN0cmluZztcclxuICBub2RlVHlwZT86IHN0cmluZztcclxufVxyXG5cclxuLy8gRmxhdCBub2RlIHdpdGggZXhwYW5kYWJsZSBhbmQgbGV2ZWwgaW5mb3JtYXRpb25cclxuZXhwb3J0IGludGVyZmFjZSBGbGF0Tm9kZSB7XHJcbiAgZXhwYW5kYWJsZTogYm9vbGVhbjtcclxuICBjaGlsZHJlbl9jb3VudDogbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBsZXZlbDogbnVtYmVyO1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgcGFyZW50Pzogc3RyaW5nO1xyXG4gIG5vZGVUeXBlPzogc3RyaW5nO1xyXG59XHJcblxyXG4vLyBGbGF0IHRyZWUgY29udGV4dCBtZW51c1xyXG5leHBvcnQgaW50ZXJmYWNlIEZsYXRUcmVlQ29udGV4dE1lbnVzIHtcclxuICBvYmplY3RDb250ZXh0TWVudWl0ZW1zPzogQXJyYXk8QmltcGx1c0NvbnRleHRNZW51SXRlbT47XHJcbiAgZm9sZGVyQ29udGV4dE1lbnVpdGVtcz86IEFycmF5PEJpbXBsdXNDb250ZXh0TWVudUl0ZW0+O1xyXG59Il19