@pepperi-addons/ngx-lib 0.2.59-query-builder.13 → 0.2.61-beta.2

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 (483) hide show
  1. package/README.md +39 -39
  2. package/address/address.component.theme.scss +5 -8
  3. package/address/pepperi-addons-ngx-lib-address.metadata.json +1 -1
  4. package/attachment/attachment.component.theme.scss +4 -3
  5. package/attachment/pepperi-addons-ngx-lib-attachment.metadata.json +1 -1
  6. package/bread-crumbs/bread-crumbs.component.theme.scss +9 -9
  7. package/bread-crumbs/pepperi-addons-ngx-lib-bread-crumbs.metadata.json +1 -1
  8. package/bundles/pepperi-addons-ngx-lib-address.umd.js +2 -2
  9. package/bundles/pepperi-addons-ngx-lib-address.umd.js.map +1 -1
  10. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js +2 -2
  11. package/bundles/pepperi-addons-ngx-lib-attachment.umd.js.map +1 -1
  12. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js +2 -2
  13. package/bundles/pepperi-addons-ngx-lib-bread-crumbs.umd.js.map +1 -1
  14. package/bundles/pepperi-addons-ngx-lib-button.umd.js +2 -2
  15. package/bundles/pepperi-addons-ngx-lib-button.umd.js.map +1 -1
  16. package/bundles/pepperi-addons-ngx-lib-carousel.umd.js.map +1 -1
  17. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js +2 -2
  18. package/bundles/pepperi-addons-ngx-lib-checkbox.umd.js.map +1 -1
  19. package/bundles/pepperi-addons-ngx-lib-color.umd.js +4 -4
  20. package/bundles/pepperi-addons-ngx-lib-color.umd.js.map +1 -1
  21. package/bundles/pepperi-addons-ngx-lib-date.umd.js +2 -2
  22. package/bundles/pepperi-addons-ngx-lib-date.umd.js.map +1 -1
  23. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js +3 -3
  24. package/bundles/pepperi-addons-ngx-lib-dialog.umd.js.map +1 -1
  25. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js +2 -2
  26. package/bundles/pepperi-addons-ngx-lib-field-title.umd.js.map +1 -1
  27. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js +2 -2
  28. package/bundles/pepperi-addons-ngx-lib-files-uploader.umd.js.map +1 -1
  29. package/bundles/pepperi-addons-ngx-lib-form.umd.js +9 -9
  30. package/bundles/pepperi-addons-ngx-lib-form.umd.js.map +1 -1
  31. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js +2 -2
  32. package/bundles/pepperi-addons-ngx-lib-group-buttons.umd.js.map +1 -1
  33. package/bundles/pepperi-addons-ngx-lib-icon.umd.js.map +1 -1
  34. package/bundles/pepperi-addons-ngx-lib-image.umd.js +2 -2
  35. package/bundles/pepperi-addons-ngx-lib-image.umd.js.map +1 -1
  36. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js +2 -2
  37. package/bundles/pepperi-addons-ngx-lib-images-filmstrip.umd.js.map +1 -1
  38. package/bundles/pepperi-addons-ngx-lib-list.umd.js +9 -9
  39. package/bundles/pepperi-addons-ngx-lib-list.umd.js.map +1 -1
  40. package/bundles/pepperi-addons-ngx-lib-menu.umd.js +2 -2
  41. package/bundles/pepperi-addons-ngx-lib-menu.umd.js.map +1 -1
  42. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js +1 -1
  43. package/bundles/pepperi-addons-ngx-lib-page-layout.umd.js.map +1 -1
  44. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js +2 -2
  45. package/bundles/pepperi-addons-ngx-lib-quantity-selector.umd.js.map +1 -1
  46. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js +45 -45
  47. package/bundles/pepperi-addons-ngx-lib-query-builder.umd.js.map +1 -1
  48. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js +2 -2
  49. package/bundles/pepperi-addons-ngx-lib-rich-html-textarea.umd.js.map +1 -1
  50. package/bundles/pepperi-addons-ngx-lib-search.umd.js +1 -1
  51. package/bundles/pepperi-addons-ngx-lib-search.umd.js.map +1 -1
  52. package/bundles/pepperi-addons-ngx-lib-select.umd.js +2 -2
  53. package/bundles/pepperi-addons-ngx-lib-select.umd.js.map +1 -1
  54. package/bundles/pepperi-addons-ngx-lib-separator.umd.js +2 -2
  55. package/bundles/pepperi-addons-ngx-lib-separator.umd.js.map +1 -1
  56. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js +2 -2
  57. package/bundles/pepperi-addons-ngx-lib-side-bar.umd.js.map +1 -1
  58. package/bundles/pepperi-addons-ngx-lib-signature.umd.js +2 -2
  59. package/bundles/pepperi-addons-ngx-lib-signature.umd.js.map +1 -1
  60. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js +1 -1
  61. package/bundles/pepperi-addons-ngx-lib-size-detector.umd.js.map +1 -1
  62. package/bundles/pepperi-addons-ngx-lib-slider.umd.js +2 -2
  63. package/bundles/pepperi-addons-ngx-lib-slider.umd.js.map +1 -1
  64. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js +8 -8
  65. package/bundles/pepperi-addons-ngx-lib-smart-filters.umd.js.map +1 -1
  66. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js +2 -2
  67. package/bundles/pepperi-addons-ngx-lib-textarea.umd.js.map +1 -1
  68. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js +1 -1
  69. package/bundles/pepperi-addons-ngx-lib-textbox-icon.umd.js.map +1 -1
  70. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js +2 -2
  71. package/bundles/pepperi-addons-ngx-lib-textbox.umd.js.map +1 -1
  72. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js +2 -2
  73. package/bundles/pepperi-addons-ngx-lib-top-bar.umd.js.map +1 -1
  74. package/bundles/pepperi-addons-ngx-lib.umd.js.map +1 -1
  75. package/button/button.component.theme.scss +0 -2
  76. package/button/pepperi-addons-ngx-lib-button.metadata.json +1 -1
  77. package/checkbox/checkbox.component.theme.scss +0 -2
  78. package/checkbox/pepperi-addons-ngx-lib-checkbox.metadata.json +1 -1
  79. package/color/color-picker.component.theme.scss +170 -175
  80. package/color/color.component.theme.scss +0 -7
  81. package/color/pepperi-addons-ngx-lib-color.metadata.json +1 -1
  82. package/date/date.component.theme.scss +39 -45
  83. package/date/pepperi-addons-ngx-lib-date.metadata.json +1 -1
  84. package/dialog/dialog.component.theme.scss +5 -5
  85. package/dialog/pepperi-addons-ngx-lib-dialog.metadata.json +1 -1
  86. package/esm2015/address/address.component.js +3 -3
  87. package/esm2015/address/address.module.js +1 -1
  88. package/esm2015/address/public-api.js +1 -1
  89. package/esm2015/attachment/attachment.component.js +3 -3
  90. package/esm2015/attachment/attachment.module.js +1 -1
  91. package/esm2015/attachment/public-api.js +1 -1
  92. package/esm2015/bread-crumbs/bread-crumbs.component.js +3 -3
  93. package/esm2015/bread-crumbs/bread-crumbs.model.js +1 -1
  94. package/esm2015/bread-crumbs/bread-crumbs.module.js +1 -1
  95. package/esm2015/bread-crumbs/public-api.js +1 -1
  96. package/esm2015/button/button.component.js +3 -3
  97. package/esm2015/button/button.model.js +1 -1
  98. package/esm2015/button/button.module.js +1 -1
  99. package/esm2015/button/public-api.js +1 -1
  100. package/esm2015/carousel/carousel-item.directive.js +1 -1
  101. package/esm2015/carousel/carousel.component.js +15 -15
  102. package/esm2015/carousel/carousel.module.js +1 -1
  103. package/esm2015/carousel/public-api.js +1 -1
  104. package/esm2015/checkbox/checkbox.component.js +3 -3
  105. package/esm2015/checkbox/checkbox.module.js +1 -1
  106. package/esm2015/checkbox/public-api.js +1 -1
  107. package/esm2015/color/color-picker.component.js +29 -29
  108. package/esm2015/color/color.component.js +3 -3
  109. package/esm2015/color/color.model.js +1 -1
  110. package/esm2015/color/color.module.js +1 -1
  111. package/esm2015/color/public-api.js +1 -1
  112. package/esm2015/core/clipboard/clipboard.directive.js +1 -1
  113. package/esm2015/core/clipboard/clipboard.service.js +1 -1
  114. package/esm2015/core/clipboard/index.js +1 -1
  115. package/esm2015/core/clipboard/public-api.js +1 -1
  116. package/esm2015/core/common/directives/auto-width.directive.js +1 -1
  117. package/esm2015/core/common/directives/button-blur.directive.js +1 -1
  118. package/esm2015/core/common/directives/button-loader.directive.js +1 -1
  119. package/esm2015/core/common/directives/data-qa.directive.js +1 -1
  120. package/esm2015/core/common/directives/index.js +1 -1
  121. package/esm2015/core/common/directives/menu-blur.directive.js +1 -1
  122. package/esm2015/core/common/directives/prevent-multi-click.directive.js +1 -1
  123. package/esm2015/core/common/directives/public-api.js +1 -1
  124. package/esm2015/core/common/index.js +1 -1
  125. package/esm2015/core/common/model/index.js +1 -1
  126. package/esm2015/core/common/model/papi.model.js +1 -1
  127. package/esm2015/core/common/model/public-api.js +1 -1
  128. package/esm2015/core/common/model/utilities.model.js +1 -1
  129. package/esm2015/core/common/model/wapi.model.js +1 -1
  130. package/esm2015/core/common/pipes/common-pipes.js +1 -1
  131. package/esm2015/core/common/pipes/index.js +1 -1
  132. package/esm2015/core/common/pipes/public-api.js +1 -1
  133. package/esm2015/core/common/public-api.js +1 -1
  134. package/esm2015/core/common/services/addon.service.js +1 -1
  135. package/esm2015/core/common/services/color.service.js +1 -1
  136. package/esm2015/core/common/services/cookie.service.js +1 -1
  137. package/esm2015/core/common/services/data-convertor.service.js +1 -1
  138. package/esm2015/core/common/services/file.service.js +1 -1
  139. package/esm2015/core/common/services/index.js +1 -1
  140. package/esm2015/core/common/services/jwt-helper.service.js +1 -1
  141. package/esm2015/core/common/services/public-api.js +1 -1
  142. package/esm2015/core/common/services/session.service.js +1 -1
  143. package/esm2015/core/common/services/utilities.service.js +1 -1
  144. package/esm2015/core/common/services/validator.service.js +1 -1
  145. package/esm2015/core/common/services/window-scrolling.service.js +5 -5
  146. package/esm2015/core/customization/customization.model.js +1 -1
  147. package/esm2015/core/customization/customization.service.js +1 -1
  148. package/esm2015/core/customization/index.js +1 -1
  149. package/esm2015/core/customization/public-api.js +1 -1
  150. package/esm2015/core/http/index.js +1 -1
  151. package/esm2015/core/http/interceptors/error.interceptor.js +1 -1
  152. package/esm2015/core/http/interceptors/index.js +1 -1
  153. package/esm2015/core/http/interceptors/loader.interceptor.js +1 -1
  154. package/esm2015/core/http/interceptors/profiler.interceptor.js +1 -1
  155. package/esm2015/core/http/public-api.js +1 -1
  156. package/esm2015/core/http/services/http.service.js +1 -1
  157. package/esm2015/core/http/services/loader.service.js +1 -1
  158. package/esm2015/core/index.js +1 -1
  159. package/esm2015/core/layout/index.js +1 -1
  160. package/esm2015/core/layout/layout.service.js +1 -1
  161. package/esm2015/core/layout/public-api.js +1 -1
  162. package/esm2015/core/layout/rtl.directive.js +1 -1
  163. package/esm2015/core/portal/attach.directive.js +1 -1
  164. package/esm2015/core/portal/index.js +1 -1
  165. package/esm2015/core/portal/portal.service.js +1 -1
  166. package/esm2015/core/portal/public-api.js +1 -1
  167. package/esm2015/core/portal/target.directive.js +1 -1
  168. package/esm2015/core/public-api.js +1 -1
  169. package/esm2015/core/scroll-to/index.js +1 -1
  170. package/esm2015/core/scroll-to/public-api.js +1 -1
  171. package/esm2015/core/scroll-to/scroll-to.service.js +1 -1
  172. package/esm2015/date/date.component.js +3 -3
  173. package/esm2015/date/date.module.js +1 -1
  174. package/esm2015/date/public-api.js +1 -1
  175. package/esm2015/dialog/default-dialog.component.js +2 -2
  176. package/esm2015/dialog/dialog.component.js +3 -3
  177. package/esm2015/dialog/dialog.model.js +1 -1
  178. package/esm2015/dialog/dialog.module.js +1 -1
  179. package/esm2015/dialog/dialog.service.js +1 -1
  180. package/esm2015/dialog/public-api.js +1 -1
  181. package/esm2015/field-title/field-title.component.js +3 -3
  182. package/esm2015/field-title/field-title.module.js +1 -1
  183. package/esm2015/field-title/public-api.js +1 -1
  184. package/esm2015/files-uploader/files-uploader.component.js +3 -3
  185. package/esm2015/files-uploader/files-uploader.module.js +1 -1
  186. package/esm2015/files-uploader/public-api.js +1 -1
  187. package/esm2015/form/field-generator.component.js +2 -2
  188. package/esm2015/form/form.component.js +2 -2
  189. package/esm2015/form/form.module.js +1 -1
  190. package/esm2015/form/indicators.component.js +3 -3
  191. package/esm2015/form/internal-button.component.js +2 -2
  192. package/esm2015/form/internal-carusel.component.js +2 -2
  193. package/esm2015/form/internal-carusel.service.js +1 -1
  194. package/esm2015/form/internal-list.component.js +2 -2
  195. package/esm2015/form/internal-menu.component.js +2 -2
  196. package/esm2015/form/internal-page.component.js +2 -2
  197. package/esm2015/form/internal-page.service.js +1 -1
  198. package/esm2015/form/public-api.js +1 -1
  199. package/esm2015/group-buttons/group-buttons.component.js +3 -3
  200. package/esm2015/group-buttons/group-buttons.module.js +1 -1
  201. package/esm2015/group-buttons/public-api.js +1 -1
  202. package/esm2015/icon/icon-generated-all.model.js +1 -1
  203. package/esm2015/icon/icon-generated.model.js +1 -1
  204. package/esm2015/icon/icon-registry.service.js +2 -2
  205. package/esm2015/icon/icon.component.js +1 -1
  206. package/esm2015/icon/icon.module.js +1 -1
  207. package/esm2015/icon/public-api.js +1 -1
  208. package/esm2015/image/image.component.js +3 -3
  209. package/esm2015/image/image.module.js +1 -1
  210. package/esm2015/image/public-api.js +1 -1
  211. package/esm2015/images-filmstrip/images-filmstrip.component.js +3 -3
  212. package/esm2015/images-filmstrip/images-filmstrip.module.js +1 -1
  213. package/esm2015/images-filmstrip/public-api.js +1 -1
  214. package/esm2015/list/list-actions.component.js +2 -2
  215. package/esm2015/list/list-carousel.component.js +2 -2
  216. package/esm2015/list/list-chooser.component.js +2 -2
  217. package/esm2015/list/list-pager.component.js +2 -2
  218. package/esm2015/list/list-sorting.component.js +2 -2
  219. package/esm2015/list/list-total.component.js +3 -3
  220. package/esm2015/list/list-views.component.js +2 -2
  221. package/esm2015/list/list.component.js +2 -2
  222. package/esm2015/list/list.model.js +1 -1
  223. package/esm2015/list/list.module.js +1 -1
  224. package/esm2015/list/public-api.js +1 -1
  225. package/esm2015/menu/menu-item.component.js +2 -2
  226. package/esm2015/menu/menu.component.js +2 -2
  227. package/esm2015/menu/menu.model.js +1 -1
  228. package/esm2015/menu/menu.module.js +1 -1
  229. package/esm2015/menu/public-api.js +1 -1
  230. package/esm2015/ngx-lib.module.js +1 -1
  231. package/esm2015/page-layout/page-layout.component.js +2 -2
  232. package/esm2015/page-layout/page-layout.module.js +1 -1
  233. package/esm2015/page-layout/public-api.js +1 -1
  234. package/esm2015/public-api.js +1 -1
  235. package/esm2015/quantity-selector/public-api.js +1 -1
  236. package/esm2015/quantity-selector/quantity-selector-validation.directive.js +1 -1
  237. package/esm2015/quantity-selector/quantity-selector.component.js +3 -3
  238. package/esm2015/quantity-selector/quantity-selector.module.js +1 -1
  239. package/esm2015/quantity-selector/quantity-selector.pipes.js +1 -1
  240. package/esm2015/query-builder/common/model/field.js +2 -0
  241. package/esm2015/query-builder/common/model/filter.js +1 -1
  242. package/esm2015/query-builder/common/model/legacy.js +1 -1
  243. package/esm2015/query-builder/common/model/operator-unit.js +1 -1
  244. package/esm2015/query-builder/common/model/operator.js +1 -1
  245. package/esm2015/query-builder/common/model/structure.js +1 -1
  246. package/esm2015/query-builder/common/model/type-map.js +1 -1
  247. package/esm2015/query-builder/common/model/type.js +1 -1
  248. package/esm2015/query-builder/common/services/output-query.service.js +5 -5
  249. package/esm2015/query-builder/common/services/type-convertor.service.js +1 -1
  250. package/esm2015/query-builder/public-api.js +1 -1
  251. package/esm2015/query-builder/query-builder-item/query-builder-item.component.js +28 -20
  252. package/esm2015/query-builder/query-builder-section/query-builder-section.component.js +3 -3
  253. package/esm2015/query-builder/query-builder.component.js +2 -2
  254. package/esm2015/query-builder/query-builder.module.js +1 -1
  255. package/esm2015/query-builder/query-builder.service.js +8 -20
  256. package/esm2015/rich-html-textarea/public-api.js +1 -1
  257. package/esm2015/rich-html-textarea/rich-html-textarea.component.js +3 -3
  258. package/esm2015/rich-html-textarea/rich-html-textarea.module.js +1 -1
  259. package/esm2015/search/public-api.js +1 -1
  260. package/esm2015/search/search.component.js +2 -2
  261. package/esm2015/search/search.model.js +1 -1
  262. package/esm2015/search/search.module.js +1 -1
  263. package/esm2015/select/public-api.js +1 -1
  264. package/esm2015/select/select.component.js +3 -3
  265. package/esm2015/select/select.module.js +1 -1
  266. package/esm2015/separator/public-api.js +1 -1
  267. package/esm2015/separator/separator.component.js +3 -3
  268. package/esm2015/separator/separator.module.js +1 -1
  269. package/esm2015/side-bar/public-api.js +1 -1
  270. package/esm2015/side-bar/side-bar.component.js +3 -3
  271. package/esm2015/side-bar/side-bar.model.js +1 -1
  272. package/esm2015/side-bar/side-bar.module.js +1 -1
  273. package/esm2015/signature/public-api.js +1 -1
  274. package/esm2015/signature/signature.component.js +3 -3
  275. package/esm2015/signature/signature.module.js +1 -1
  276. package/esm2015/size-detector/public-api.js +1 -1
  277. package/esm2015/size-detector/size-detector.component.js +2 -2
  278. package/esm2015/size-detector/size-detector.module.js +1 -1
  279. package/esm2015/slider/public-api.js +1 -1
  280. package/esm2015/slider/slider.component.js +3 -3
  281. package/esm2015/slider/slider.module.js +1 -1
  282. package/esm2015/smart-filters/boolean-filter/boolean-filter.component.js +2 -2
  283. package/esm2015/smart-filters/common/filter-actions.component.js +2 -2
  284. package/esm2015/smart-filters/common/model/base-filter-component.js +1 -1
  285. package/esm2015/smart-filters/common/model/creator.js +1 -1
  286. package/esm2015/smart-filters/common/model/field.js +1 -1
  287. package/esm2015/smart-filters/common/model/filter.js +1 -1
  288. package/esm2015/smart-filters/common/model/operator.js +1 -1
  289. package/esm2015/smart-filters/common/model/type.js +1 -1
  290. package/esm2015/smart-filters/date-filter/date-filter.component.js +2 -2
  291. package/esm2015/smart-filters/multi-select-filter/multi-select-filter.component.js +2 -2
  292. package/esm2015/smart-filters/number-filter/number-filter.component.js +2 -2
  293. package/esm2015/smart-filters/public-api.js +1 -1
  294. package/esm2015/smart-filters/smart-filters.component.js +3 -3
  295. package/esm2015/smart-filters/smart-filters.module.js +1 -1
  296. package/esm2015/smart-filters/text-filter/text-filter.component.js +2 -2
  297. package/esm2015/textarea/public-api.js +1 -1
  298. package/esm2015/textarea/textarea.component.js +3 -3
  299. package/esm2015/textarea/textarea.module.js +1 -1
  300. package/esm2015/textbox/public-api.js +1 -1
  301. package/esm2015/textbox/textbox-validation.directive.js +1 -1
  302. package/esm2015/textbox/textbox.component.js +3 -3
  303. package/esm2015/textbox/textbox.module.js +1 -1
  304. package/esm2015/textbox-icon/public-api.js +1 -1
  305. package/esm2015/textbox-icon/textbox-icon.component.js +2 -2
  306. package/esm2015/textbox-icon/textbox-icon.module.js +1 -1
  307. package/esm2015/top-bar/public-api.js +1 -1
  308. package/esm2015/top-bar/top-bar.component.js +3 -3
  309. package/esm2015/top-bar/top-bar.model.js +1 -1
  310. package/esm2015/top-bar/top-bar.module.js +1 -1
  311. package/fesm2015/pepperi-addons-ngx-lib-address.js +2 -2
  312. package/fesm2015/pepperi-addons-ngx-lib-address.js.map +1 -1
  313. package/fesm2015/pepperi-addons-ngx-lib-attachment.js +2 -2
  314. package/fesm2015/pepperi-addons-ngx-lib-attachment.js.map +1 -1
  315. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js +2 -2
  316. package/fesm2015/pepperi-addons-ngx-lib-bread-crumbs.js.map +1 -1
  317. package/fesm2015/pepperi-addons-ngx-lib-button.js +2 -2
  318. package/fesm2015/pepperi-addons-ngx-lib-button.js.map +1 -1
  319. package/fesm2015/pepperi-addons-ngx-lib-carousel.js +14 -14
  320. package/fesm2015/pepperi-addons-ngx-lib-carousel.js.map +1 -1
  321. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js +2 -2
  322. package/fesm2015/pepperi-addons-ngx-lib-checkbox.js.map +1 -1
  323. package/fesm2015/pepperi-addons-ngx-lib-color.js +30 -30
  324. package/fesm2015/pepperi-addons-ngx-lib-color.js.map +1 -1
  325. package/fesm2015/pepperi-addons-ngx-lib-date.js +2 -2
  326. package/fesm2015/pepperi-addons-ngx-lib-date.js.map +1 -1
  327. package/fesm2015/pepperi-addons-ngx-lib-dialog.js +3 -3
  328. package/fesm2015/pepperi-addons-ngx-lib-dialog.js.map +1 -1
  329. package/fesm2015/pepperi-addons-ngx-lib-field-title.js +2 -2
  330. package/fesm2015/pepperi-addons-ngx-lib-field-title.js.map +1 -1
  331. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js +2 -2
  332. package/fesm2015/pepperi-addons-ngx-lib-files-uploader.js.map +1 -1
  333. package/fesm2015/pepperi-addons-ngx-lib-form.js +9 -9
  334. package/fesm2015/pepperi-addons-ngx-lib-form.js.map +1 -1
  335. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js +2 -2
  336. package/fesm2015/pepperi-addons-ngx-lib-group-buttons.js.map +1 -1
  337. package/fesm2015/pepperi-addons-ngx-lib-icon.js +1 -1
  338. package/fesm2015/pepperi-addons-ngx-lib-icon.js.map +1 -1
  339. package/fesm2015/pepperi-addons-ngx-lib-image.js +2 -2
  340. package/fesm2015/pepperi-addons-ngx-lib-image.js.map +1 -1
  341. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js +2 -2
  342. package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.js.map +1 -1
  343. package/fesm2015/pepperi-addons-ngx-lib-list.js +9 -9
  344. package/fesm2015/pepperi-addons-ngx-lib-list.js.map +1 -1
  345. package/fesm2015/pepperi-addons-ngx-lib-menu.js +2 -2
  346. package/fesm2015/pepperi-addons-ngx-lib-menu.js.map +1 -1
  347. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js +1 -1
  348. package/fesm2015/pepperi-addons-ngx-lib-page-layout.js.map +1 -1
  349. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js +2 -2
  350. package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.js.map +1 -1
  351. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js +41 -45
  352. package/fesm2015/pepperi-addons-ngx-lib-query-builder.js.map +1 -1
  353. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js +2 -2
  354. package/fesm2015/pepperi-addons-ngx-lib-rich-html-textarea.js.map +1 -1
  355. package/fesm2015/pepperi-addons-ngx-lib-search.js +1 -1
  356. package/fesm2015/pepperi-addons-ngx-lib-search.js.map +1 -1
  357. package/fesm2015/pepperi-addons-ngx-lib-select.js +2 -2
  358. package/fesm2015/pepperi-addons-ngx-lib-select.js.map +1 -1
  359. package/fesm2015/pepperi-addons-ngx-lib-separator.js +2 -2
  360. package/fesm2015/pepperi-addons-ngx-lib-separator.js.map +1 -1
  361. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js +2 -2
  362. package/fesm2015/pepperi-addons-ngx-lib-side-bar.js.map +1 -1
  363. package/fesm2015/pepperi-addons-ngx-lib-signature.js +2 -2
  364. package/fesm2015/pepperi-addons-ngx-lib-signature.js.map +1 -1
  365. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js +1 -1
  366. package/fesm2015/pepperi-addons-ngx-lib-size-detector.js.map +1 -1
  367. package/fesm2015/pepperi-addons-ngx-lib-slider.js +2 -2
  368. package/fesm2015/pepperi-addons-ngx-lib-slider.js.map +1 -1
  369. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js +8 -8
  370. package/fesm2015/pepperi-addons-ngx-lib-smart-filters.js.map +1 -1
  371. package/fesm2015/pepperi-addons-ngx-lib-textarea.js +2 -2
  372. package/fesm2015/pepperi-addons-ngx-lib-textarea.js.map +1 -1
  373. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js +1 -1
  374. package/fesm2015/pepperi-addons-ngx-lib-textbox-icon.js.map +1 -1
  375. package/fesm2015/pepperi-addons-ngx-lib-textbox.js +2 -2
  376. package/fesm2015/pepperi-addons-ngx-lib-textbox.js.map +1 -1
  377. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js +2 -2
  378. package/fesm2015/pepperi-addons-ngx-lib-top-bar.js.map +1 -1
  379. package/fesm2015/pepperi-addons-ngx-lib.js +4 -4
  380. package/fesm2015/pepperi-addons-ngx-lib.js.map +1 -1
  381. package/field-title/field-title.component.theme.scss +0 -2
  382. package/field-title/pepperi-addons-ngx-lib-field-title.metadata.json +1 -1
  383. package/files-uploader/files-uploader.component.theme.scss +3 -2
  384. package/files-uploader/pepperi-addons-ngx-lib-files-uploader.metadata.json +1 -1
  385. package/form/indicators.component.theme.scss +7 -7
  386. package/form/pepperi-addons-ngx-lib-form.metadata.json +1 -1
  387. package/group-buttons/group-buttons.component.theme.scss +15 -15
  388. package/group-buttons/pepperi-addons-ngx-lib-group-buttons.metadata.json +1 -1
  389. package/image/image.component.theme.scss +33 -35
  390. package/image/pepperi-addons-ngx-lib-image.metadata.json +1 -1
  391. package/images-filmstrip/images-filmstrip.component.theme.scss +33 -32
  392. package/images-filmstrip/pepperi-addons-ngx-lib-images-filmstrip.metadata.json +1 -1
  393. package/list/list-total.component.theme.scss +10 -10
  394. package/list/pepperi-addons-ngx-lib-list.metadata.json +1 -1
  395. package/menu/pepperi-addons-ngx-lib-menu.metadata.json +1 -1
  396. package/package.json +5 -5
  397. package/page-layout/page-layout.component.theme.scss +7 -7
  398. package/page-layout/pepperi-addons-ngx-lib-page-layout.metadata.json +1 -1
  399. package/quantity-selector/pepperi-addons-ngx-lib-quantity-selector.metadata.json +1 -1
  400. package/quantity-selector/quantity-selector.component.theme.scss +79 -77
  401. package/query-builder/common/model/field.d.ts +8 -0
  402. package/query-builder/common/model/legacy.d.ts +5 -2
  403. package/query-builder/pepperi-addons-ngx-lib-query-builder.metadata.json +1 -1
  404. package/query-builder/query-builder-item/query-builder-item.component.d.ts +6 -3
  405. package/query-builder/query-builder-section/query-builder-section.component.theme.scss +6 -5
  406. package/query-builder/query-builder.service.d.ts +1 -1
  407. package/rich-html-textarea/pepperi-addons-ngx-lib-rich-html-textarea.metadata.json +1 -1
  408. package/rich-html-textarea/rich-html-textarea.component.theme.scss +243 -236
  409. package/search/pepperi-addons-ngx-lib-search.metadata.json +1 -1
  410. package/select/pepperi-addons-ngx-lib-select.metadata.json +1 -1
  411. package/select/select.component.theme.scss +97 -1
  412. package/separator/pepperi-addons-ngx-lib-separator.metadata.json +1 -1
  413. package/separator/separator.component.theme.scss +2 -2
  414. package/side-bar/pepperi-addons-ngx-lib-side-bar.metadata.json +1 -1
  415. package/side-bar/side-bar.component.theme.scss +26 -25
  416. package/signature/pepperi-addons-ngx-lib-signature.metadata.json +1 -1
  417. package/signature/signature.component.theme.scss +12 -28
  418. package/size-detector/pepperi-addons-ngx-lib-size-detector.metadata.json +1 -1
  419. package/slider/pepperi-addons-ngx-lib-slider.metadata.json +1 -1
  420. package/slider/slider.component.theme.scss +67 -65
  421. package/smart-filters/pepperi-addons-ngx-lib-smart-filters.metadata.json +1 -1
  422. package/smart-filters/smart-filters.component.theme.scss +9 -10
  423. package/src/assets/i18n/de.ngx-lib.json +77 -77
  424. package/src/assets/i18n/en.ngx-lib.json +139 -139
  425. package/src/assets/i18n/es.ngx-lib.json +77 -77
  426. package/src/assets/i18n/fr.ngx-lib.json +78 -78
  427. package/src/assets/i18n/he.ngx-lib.json +78 -78
  428. package/src/assets/i18n/hu.ngx-lib.json +78 -78
  429. package/src/assets/i18n/it.ngx-lib.json +78 -78
  430. package/src/assets/i18n/ja.ngx-lib.json +78 -78
  431. package/src/assets/i18n/nl.ngx-lib.json +78 -78
  432. package/src/assets/i18n/pl.ngx-lib.json +78 -78
  433. package/src/assets/i18n/pt.ngx-lib.json +78 -78
  434. package/src/assets/i18n/ru.ngx-lib.json +78 -78
  435. package/src/assets/i18n/zh.ngx-lib.json +76 -76
  436. package/src/assets/images/no-image.svg +41 -41
  437. package/src/core/style/abstracts/breakpoints.scss +37 -35
  438. package/src/core/style/abstracts/functions.scss +439 -422
  439. package/src/core/style/abstracts/mixins.scss +800 -797
  440. package/src/core/style/abstracts/variables.scss +545 -545
  441. package/src/core/style/base/base.scss +874 -873
  442. package/src/core/style/base/grids.scss +4 -4
  443. package/src/core/style/base/helpers.scss +70 -70
  444. package/src/core/style/base/typography.scss +259 -255
  445. package/src/core/style/components/button.scss +346 -349
  446. package/src/core/style/components/checkbox.scss +476 -473
  447. package/src/core/style/components/datetime.scss +182 -22
  448. package/src/core/style/components/file.scss +237 -219
  449. package/src/core/style/components/general.scss +988 -1088
  450. package/src/core/style/components/input.scss +91 -94
  451. package/src/core/style/components/quantity-selector.scss +17 -14
  452. package/src/core/style/components/radio-button.scss +152 -168
  453. package/src/core/style/components/select.scss +187 -185
  454. package/src/core/style/components/signature.scss +14 -12
  455. package/src/core/style/components/splitter.scss +67 -64
  456. package/src/core/style/components/textarea.scss +206 -195
  457. package/src/core/style/themes/black-theme.scss +7 -7
  458. package/src/core/style/themes/default-theme.scss +144 -144
  459. package/src/core/style/themes/light-theme.scss +7 -7
  460. package/src/core/style/themes/nature-theme.scss +7 -7
  461. package/src/core/style/vendors/normalize.scss +497 -497
  462. package/textarea/pepperi-addons-ngx-lib-textarea.metadata.json +1 -1
  463. package/textarea/textarea.component.theme.scss +3 -2
  464. package/textbox/pepperi-addons-ngx-lib-textbox.metadata.json +1 -1
  465. package/textbox/textbox.component.theme.scss +3 -3
  466. package/textbox-icon/pepperi-addons-ngx-lib-textbox-icon.metadata.json +1 -1
  467. package/theming.scss +126 -224
  468. package/top-bar/pepperi-addons-ngx-lib-top-bar.metadata.json +1 -1
  469. package/top-bar/top-bar.component.theme.scss +9 -9
  470. package/form/form.component.theme.scss +0 -2
  471. package/form/internal-button.component.theme.scss +0 -2
  472. package/form/internal-menu.component.theme.scss +0 -3
  473. package/list/list-actions.component.theme.scss +0 -3
  474. package/list/list-carousel.component.theme.scss +0 -9
  475. package/list/list-chooser.component.theme.scss +0 -3
  476. package/list/list-pager.component.theme.scss +0 -3
  477. package/list/list-sorting.component.theme.scss +0 -3
  478. package/list/list-views.component.theme.scss +0 -3
  479. package/list/list.component.theme.scss +0 -5
  480. package/list/list_old.component.theme.scss +0 -5
  481. package/menu/menu.component.theme.scss +0 -2
  482. package/search/search.component.theme.scss +0 -3
  483. package/textbox-icon/textbox-icon.component.theme.scss +0 -3
@@ -404,7 +404,7 @@ PepQuantitySelectorComponent.MINUS = '[-]';
404
404
  PepQuantitySelectorComponent.decorators = [
405
405
  { type: Component, args: [{
406
406
  selector: 'pep-quantity-selector',
407
- template: "<ng-container [formGroup]=\"form\">\r\n <ng-template #pepTemplate>\r\n <div #QSCont class=\"pep-quantity-selector-container {{ styleType }}\" [ngClass]=\"{\r\n 'hide-qs-actions' : layoutType === 'card' && rowSpan <= 1,\r\n 'pep-table-quantity-selector': layoutType === 'table',\r\n 'one-row': rowSpan === 1,\r\n caution: isCaution,\r\n 'matrix-qs': type === 'qsForMatrix',\r\n 'zero-quantity': formattedValue === '0'\r\n }\">\r\n <pep-field-title *ngIf=\"renderTitle && layoutType !== 'table' && layoutType !== 'card'\" [label]=\"label\"\r\n [mandatory]=\"mandatory\" [disabled]=\"disabled\" [showTitle]=\"showTitle\" [xAlignment]=\"xAlignment\">\r\n </pep-field-title>\r\n\r\n <ng-container *ngIf=\"type == 'qs'\">\r\n <ng-container *ngIf=\"readonly; then readonlyBlock; else editableQSBlock\"></ng-container>\r\n <ng-template #readonlyBlock>\r\n <button [id]=\"key\" mat-button class=\"pep-button {{ styleType }} disable \"\r\n [ngClass]=\"{caution: isCaution, md: rowSpan !== 1, xs: rowSpan === 1}\"\r\n title=\"{{ formattedValue }}\" disabled=\"true\">\r\n <span class=\"ellipsis\">\r\n {{ formattedValue }}\r\n </span>\r\n </button>\r\n </ng-template>\r\n <ng-template #editableQSBlock>\r\n <mat-form-field appearance=\"outline\">\r\n <input pepQsValidation [allowDecimal]=\"allowDecimal\" type=\"decimalNumber\" inputmode=\"decimal\"\r\n matInput #QSInput name=\"{{ key }}\" class=\"body-lg ellipsis\" title=\"{{ formattedValue }}\"\r\n autocomplete=\"off\" [id]=\"key\" [formControlName]=\"key\" [value]=\"displayValue\"\r\n (click)=\"$event.target.setSelectionRange(0, 999)\" (keydown)=\"onKeydown($event)\"\r\n (blur)=\"onBlur($event)\" (focus)=\"onFocus($event)\" />\r\n <button *ngIf=\"showQsBtn\" mat-button matPrefix (click)=\"decrement($event)\"\r\n class=\"pep-button icon-button sm weak qs-action\" [disabled]=\"disabled\" [ngClass]=\"{ disable: disabled, caution: isCaution && styleType !== 'strong',\r\n 'keep-background-on-focus': styleType === 'strong'}\">\r\n <mat-icon>\r\n <pep-icon name=\"number_minus\">\r\n </pep-icon>\r\n </mat-icon>\r\n </button>\r\n <button *ngIf=\"showQsBtn\" mat-button matSuffix (click)=\"increment($event)\"\r\n class=\"pep-button icon-button sm weak qs-action\" [disabled]=\"disabled\" [ngClass]=\"{ disable: disabled, caution: isCaution && styleType !== 'strong',\r\n 'keep-background-on-focus': styleType === 'strong'}\">\r\n <mat-icon>\r\n <pep-icon name=\"number_plus\">\r\n </pep-icon>\r\n </mat-icon>\r\n </button>\r\n <mat-error *ngIf=\"messages?.length > 0\">\r\n <span class=\"qs-error body-xs\" *ngFor=\"let msg of messages\"> {{ msg.Key | translate }} :\r\n {{ msg.Value }} </span>\r\n </mat-error>\r\n </mat-form-field>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"type == 'qsForMatrix'\">\r\n <ng-container *ngIf=\"readonly; then readonlyBlock; else editableQSBlock\"></ng-container>\r\n <ng-template #readonlyBlock>\r\n <button [id]=\"key\" mat-button class=\"pep-button {{ styleType }} disable\" disabled=\"true\"\r\n [ngClass]=\"{caution: isCaution, md: rowSpan !== 1, xs: rowSpan === 1}\">\r\n X\r\n </button>\r\n </ng-template>\r\n <ng-template #editableQSBlock>\r\n <span *ngIf=\" xAlignment=='right'\" class=\" body-sm additional-value prefix\"\r\n matBadge=\"{{ additionalValue }}\" matBadgePosition=\"before\"\r\n matBadgeSize=\"rowSpan === 1 ? small : medium\" [@showHide]=\"getAdditionalValue\"></span>\r\n\r\n <mat-form-field appearance=\"outline\" (mouseleave)=\"!isInFocus ? onMatrixMouseleave($event) : null\">\r\n <input pepQsValidation [allowDecimal]=\"allowDecimal\" type=\"decimalNumber\" inputmode=\"decimal\"\r\n matInput #QSInput name=\"{{ key }}\" title=\"{{ formattedValue }}\" class=\"body-sm ellipsis\"\r\n autocomplete=\"off\" [id]=\"key\" [formControlName]=\"key\" [value]=\"displayValue\"\r\n (click)=\"onMatrixClick($event); $event.target.setSelectionRange(0, 999)\"\r\n (keydown)=\"onKeydown($event)\" (blur)=\"onMatrixBlur($event)\"\r\n (focus)=\"onMatrixMouseEnter($event); onFocus($event)\"\r\n (mouseenter)=\"onMatrixMouseEnter($event)\" />\r\n\r\n <mat-error *ngIf=\"messages?.length > 0\">\r\n <span class=\"qs-error body-xs\" *ngFor=\"let msg of messages\"> {{ msg.Key | translate }} :\r\n {{ msg.Value }} </span>\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <span *ngIf=\"xAlignment != 'right'\" class=\"body-sm additional-value suffix\"\r\n matBadge=\"{{ additionalValue }}\" matBadgePosition=\"before\"\r\n matBadgeSize=\"rowSpan === 1 ? small : medium\" [@showHide]=\"getAdditionalValue\"></span>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"type == 'button'\">\r\n <ng-container *ngIf=\"(value | pepToNumber) == 0; then regularBlock; else withBadgeBlock\">\r\n </ng-container>\r\n <ng-template #regularBlock>\r\n <button mat-button [disabled]=\"disabled\" class=\"pep-button {{ styleType }} \" [id]=\"key\"\r\n name=\"{{ key }}\"\r\n [ngClass]=\"{ disable: disabled, caution: isCaution, md: rowSpan !== 1, xs: rowSpan === 1}\"\r\n [title]=\"'QS.ORDER' | translate\" (click)=\"enterChildren($event)\">\r\n <span class=\"ellipsis\">\r\n {{ 'QS.ORDER' | translate }}\r\n </span>\r\n </button>\r\n </ng-template>\r\n <ng-template #withBadgeBlock>\r\n <button mat-button matBadge=\"{{ formattedValue }}\"\r\n matBadgePosition=\"{{xAlignment == 'right' ? 'before' : 'after'}}\"\r\n [matBadgeSize]=\"layoutType === 'card' && rowSpan === 1 ? 'small' : 'medium'\"\r\n class=\"pep-button {{ styleType }} \" [id]=\"key\" name=\"{{ key }}\" [ngClass]=\"{ disable: disabled, caution: isCaution, md: rowSpan !== 1, xs: rowSpan === 1,\r\n 'right-alignment': xAlignment == 'right', 'left-alignment': xAlignment != 'right'}\"\r\n [title]=\"'QS.ORDER' | translate\" (click)=\"enterChildren($event)\" [disabled]=\"disabled\">\r\n <span class=\"ellipsis\">\r\n {{ 'QS.ORDER' | translate }}\r\n </span>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngIf=\"type == 'packageButton'\">\r\n <button mat-button class=\"pep-button {{ styleType }} \" [id]=\"key\" name=\"{{ key }}\"\r\n [ngClass]=\"{ disable: disabled, caution: isCaution, md: rowSpan !== 1, xs: rowSpan === 1}\"\r\n [title]=\"'QS.ORDER' | translate\" (click)=\"enterPackage($event)\" [disabled]=\"disabled\">\r\n <span class=\"ellipsis\">\r\n {{ 'QS.ORDER' | translate }} &#40;{{ formattedValue }}&#41;\r\n </span>\r\n </button>\r\n </ng-container>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-container *ngIf=\"layoutType === 'form'\">\r\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"layoutType === 'card'\">\r\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"layoutType === 'table'\">\r\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\r\n </ng-container>\r\n</ng-container>",
407
+ template: "<ng-container [formGroup]=\"form\">\n <ng-template #pepTemplate>\n <div #QSCont class=\"pep-quantity-selector-container {{ styleType }}\" [ngClass]=\"{\n 'hide-qs-actions' : layoutType === 'card' && rowSpan <= 1,\n 'pep-table-quantity-selector': layoutType === 'table',\n 'one-row': rowSpan === 1,\n caution: isCaution,\n 'matrix-qs': type === 'qsForMatrix',\n 'zero-quantity': formattedValue === '0'\n }\">\n <pep-field-title *ngIf=\"renderTitle && layoutType !== 'table' && layoutType !== 'card'\" [label]=\"label\"\n [mandatory]=\"mandatory\" [disabled]=\"disabled\" [showTitle]=\"showTitle\" [xAlignment]=\"xAlignment\">\n </pep-field-title>\n\n <ng-container *ngIf=\"type == 'qs'\">\n <ng-container *ngIf=\"readonly; then readonlyBlock; else editableQSBlock\"></ng-container>\n <ng-template #readonlyBlock>\n <button [id]=\"key\" mat-button class=\"pep-button {{ styleType }} disable \"\n [ngClass]=\"{caution: isCaution, md: rowSpan !== 1, xs: rowSpan === 1}\"\n title=\"{{ formattedValue }}\" disabled=\"true\">\n <span class=\"ellipsis\">\n {{ formattedValue }}\n </span>\n </button>\n </ng-template>\n <ng-template #editableQSBlock>\n <mat-form-field appearance=\"outline\">\n <input pepQsValidation [allowDecimal]=\"allowDecimal\" type=\"decimalNumber\" inputmode=\"decimal\"\n matInput #QSInput name=\"{{ key }}\" class=\"body-lg ellipsis\" title=\"{{ formattedValue }}\"\n autocomplete=\"off\" [id]=\"key\" [formControlName]=\"key\" [value]=\"displayValue\"\n (click)=\"$event.target.setSelectionRange(0, 999)\" (keydown)=\"onKeydown($event)\"\n (blur)=\"onBlur($event)\" (focus)=\"onFocus($event)\" />\n <button *ngIf=\"showQsBtn\" mat-button matPrefix (click)=\"decrement($event)\"\n class=\"pep-button icon-button sm weak qs-action\" [disabled]=\"disabled\" [ngClass]=\"{ disable: disabled, caution: isCaution && styleType !== 'strong',\n 'keep-background-on-focus': styleType === 'strong'}\">\n <mat-icon>\n <pep-icon name=\"number_minus\">\n </pep-icon>\n </mat-icon>\n </button>\n <button *ngIf=\"showQsBtn\" mat-button matSuffix (click)=\"increment($event)\"\n class=\"pep-button icon-button sm weak qs-action\" [disabled]=\"disabled\" [ngClass]=\"{ disable: disabled, caution: isCaution && styleType !== 'strong',\n 'keep-background-on-focus': styleType === 'strong'}\">\n <mat-icon>\n <pep-icon name=\"number_plus\">\n </pep-icon>\n </mat-icon>\n </button>\n <mat-error *ngIf=\"messages?.length > 0\">\n <span class=\"qs-error body-xs\" *ngFor=\"let msg of messages\"> {{ msg.Key | translate }} :\n {{ msg.Value }} </span>\n </mat-error>\n </mat-form-field>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"type == 'qsForMatrix'\">\n <ng-container *ngIf=\"readonly; then readonlyBlock; else editableQSBlock\"></ng-container>\n <ng-template #readonlyBlock>\n <button [id]=\"key\" mat-button class=\"pep-button {{ styleType }} disable\" disabled=\"true\"\n [ngClass]=\"{caution: isCaution, md: rowSpan !== 1, xs: rowSpan === 1}\">\n X\n </button>\n </ng-template>\n <ng-template #editableQSBlock>\n <span *ngIf=\" xAlignment=='right'\" class=\" body-sm additional-value prefix\"\n matBadge=\"{{ additionalValue }}\" matBadgePosition=\"before\"\n matBadgeSize=\"rowSpan === 1 ? small : medium\" [@showHide]=\"getAdditionalValue\"></span>\n\n <mat-form-field appearance=\"outline\" (mouseleave)=\"!isInFocus ? onMatrixMouseleave($event) : null\">\n <input pepQsValidation [allowDecimal]=\"allowDecimal\" type=\"decimalNumber\" inputmode=\"decimal\"\n matInput #QSInput name=\"{{ key }}\" title=\"{{ formattedValue }}\" class=\"body-sm ellipsis\"\n autocomplete=\"off\" [id]=\"key\" [formControlName]=\"key\" [value]=\"displayValue\"\n (click)=\"onMatrixClick($event); $event.target.setSelectionRange(0, 999)\"\n (keydown)=\"onKeydown($event)\" (blur)=\"onMatrixBlur($event)\"\n (focus)=\"onMatrixMouseEnter($event); onFocus($event)\"\n (mouseenter)=\"onMatrixMouseEnter($event)\" />\n\n <mat-error *ngIf=\"messages?.length > 0\">\n <span class=\"qs-error body-xs\" *ngFor=\"let msg of messages\"> {{ msg.Key | translate }} :\n {{ msg.Value }} </span>\n </mat-error>\n </mat-form-field>\n\n <span *ngIf=\"xAlignment != 'right'\" class=\"body-sm additional-value suffix\"\n matBadge=\"{{ additionalValue }}\" matBadgePosition=\"before\"\n matBadgeSize=\"rowSpan === 1 ? small : medium\" [@showHide]=\"getAdditionalValue\"></span>\n </ng-template>\n </ng-container>\n\n <ng-container *ngIf=\"type == 'button'\">\n <ng-container *ngIf=\"(value | pepToNumber) == 0; then regularBlock; else withBadgeBlock\">\n </ng-container>\n <ng-template #regularBlock>\n <button mat-button [disabled]=\"disabled\" class=\"pep-button {{ styleType }} \" [id]=\"key\"\n name=\"{{ key }}\"\n [ngClass]=\"{ disable: disabled, caution: isCaution, md: rowSpan !== 1, xs: rowSpan === 1}\"\n [title]=\"'QS.ORDER' | translate\" (click)=\"enterChildren($event)\">\n <span class=\"ellipsis\">\n {{ 'QS.ORDER' | translate }}\n </span>\n </button>\n </ng-template>\n <ng-template #withBadgeBlock>\n <button mat-button matBadge=\"{{ formattedValue }}\"\n matBadgePosition=\"{{xAlignment == 'right' ? 'before' : 'after'}}\"\n [matBadgeSize]=\"layoutType === 'card' && rowSpan === 1 ? 'small' : 'medium'\"\n class=\"pep-button {{ styleType }} \" [id]=\"key\" name=\"{{ key }}\" [ngClass]=\"{ disable: disabled, caution: isCaution, md: rowSpan !== 1, xs: rowSpan === 1,\n 'right-alignment': xAlignment == 'right', 'left-alignment': xAlignment != 'right'}\"\n [title]=\"'QS.ORDER' | translate\" (click)=\"enterChildren($event)\" [disabled]=\"disabled\">\n <span class=\"ellipsis\">\n {{ 'QS.ORDER' | translate }}\n </span>\n </button>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"type == 'packageButton'\">\n <button mat-button class=\"pep-button {{ styleType }} \" [id]=\"key\" name=\"{{ key }}\"\n [ngClass]=\"{ disable: disabled, caution: isCaution, md: rowSpan !== 1, xs: rowSpan === 1}\"\n [title]=\"'QS.ORDER' | translate\" (click)=\"enterPackage($event)\" [disabled]=\"disabled\">\n <span class=\"ellipsis\">\n {{ 'QS.ORDER' | translate }} &#40;{{ formattedValue }}&#41;\n </span>\n </button>\n </ng-container>\n </div>\n </ng-template>\n\n <ng-container *ngIf=\"layoutType === 'form'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'card'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"layoutType === 'table'\">\n <ng-container *ngTemplateOutlet=\"pepTemplate\"></ng-container>\n </ng-container>\n</ng-container>",
408
408
  changeDetection: ChangeDetectionStrategy.OnPush,
409
409
  animations: [
410
410
  trigger('showHide', [
@@ -420,7 +420,7 @@ PepQuantitySelectorComponent.decorators = [
420
420
  transition('hide => show', animate('250ms ease-in')),
421
421
  ]),
422
422
  ],
423
- styles: [":host{height:inherit;display:grid}.pep-quantity-selector-container,.pepperi-quantity-selector-container{display:flex;flex-flow:wrap;align-items:center;min-width:2rem;width:100%;height:inherit}.pep-quantity-selector-container input::-webkit-inner-spin-button,.pep-quantity-selector-container input::-webkit-outer-spin-button,.pepperi-quantity-selector-container input::-webkit-inner-spin-button,.pepperi-quantity-selector-container input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.pep-quantity-selector-container input[type=number],.pepperi-quantity-selector-container input[type=number]{-moz-appearance:textfield}.pep-quantity-selector-container .mat-input-element,.pepperi-quantity-selector-container .mat-input-element{padding:0 .25rem;text-align:center;font-weight:600;font-weight:var(--pep-font-weight-bold,600);width:100%}.pep-quantity-selector-container .mat-form-field .mat-form-field-wrapper .mat-form-field-subscript-wrapper,.pepperi-quantity-selector-container .mat-form-field .mat-form-field-wrapper .mat-form-field-subscript-wrapper{height:unset}.pep-quantity-selector-container .pep-button,.pep-quantity-selector-container .pepperi-button,.pepperi-quantity-selector-container .pep-button,.pepperi-quantity-selector-container .pepperi-button{width:100%}.pep-quantity-selector-container .pep-button.qs-action,.pep-quantity-selector-container .pepperi-button.qs-action,.pepperi-quantity-selector-container .pep-button.qs-action,.pepperi-quantity-selector-container .pepperi-button.qs-action{min-width:2rem;line-height:2rem;width:2rem!important;height:2rem!important}.pep-quantity-selector-container .pep-button.qs-action .mat-icon,.pep-quantity-selector-container .pepperi-button.qs-action .mat-icon,.pepperi-quantity-selector-container .pep-button.qs-action .mat-icon,.pepperi-quantity-selector-container .pepperi-button.qs-action .mat-icon{height:inherit;width:inherit}.pep-quantity-selector-container .qs-error,.pepperi-quantity-selector-container .qs-error{display:block}.pep-quantity-selector-container.hide-qs-actions .pep-button.qs-action,.pep-quantity-selector-container.hide-qs-actions .pepperi-button.qs-action,.pepperi-quantity-selector-container.hide-qs-actions .pep-button.qs-action,.pepperi-quantity-selector-container.hide-qs-actions .pepperi-button.qs-action{display:none}.pep-quantity-selector-container.matrix-qs .additional-value,.pepperi-quantity-selector-container.matrix-qs .additional-value{height:1.25rem;top:calc(.25rem * -1);top:calc(var(--pep-spacing-xs, .25rem) * -1);transform:unset!important;display:flex;align-self:flex-start;justify-content:flex-end}.pep-quantity-selector-container.matrix-qs .additional-value.prefix,.pepperi-quantity-selector-container.matrix-qs .additional-value.prefix{left:calc(.5rem * -1)!important;left:calc(var(--pep-spacing-sm, .5rem) * -1)!important}.pep-quantity-selector-container.matrix-qs .additional-value.suffix,.pepperi-quantity-selector-container.matrix-qs .additional-value.suffix{right:calc(.5rem * -1)!important;right:calc(var(--pep-spacing-sm, .5rem) * -1)!important}.pep-quantity-selector-container.matrix-qs .additional-value .mat-badge-content,.pepperi-quantity-selector-container.matrix-qs .additional-value .mat-badge-content{z-index:97;min-width:1.5rem;width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important;border-radius:.625rem;padding:0 .5rem;top:calc(.5rem * -1)!important;top:calc(var(--pep-spacing-sm, .5rem) * -1)!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:inherit}.pep-quantity-selector-container.matrix-qs .disable,.pepperi-quantity-selector-container.matrix-qs .disable{min-width:.5rem;padding:0 .25rem}.pep-quantity-selector-container.pep-table-quantity-selector .pep-button:not(.qs-action),.pep-quantity-selector-container.pep-table-quantity-selector .pepperi-button:not(.qs-action),.pep-quantity-selector-container.pepperi-table-quantity-selector .pep-button:not(.qs-action),.pep-quantity-selector-container.pepperi-table-quantity-selector .pepperi-button:not(.qs-action),.pepperi-quantity-selector-container.pep-table-quantity-selector .pep-button:not(.qs-action),.pepperi-quantity-selector-container.pep-table-quantity-selector .pepperi-button:not(.qs-action),.pepperi-quantity-selector-container.pepperi-table-quantity-selector .pep-button:not(.qs-action),.pepperi-quantity-selector-container.pepperi-table-quantity-selector .pepperi-button:not(.qs-action){height:2rem;line-height:2rem}.pep-quantity-selector-container.pep-table-quantity-selector .pep-button.qs-action,.pep-quantity-selector-container.pep-table-quantity-selector .pepperi-button.qs-action,.pep-quantity-selector-container.pepperi-table-quantity-selector .pep-button.qs-action,.pep-quantity-selector-container.pepperi-table-quantity-selector .pepperi-button.qs-action,.pepperi-quantity-selector-container.pep-table-quantity-selector .pep-button.qs-action,.pepperi-quantity-selector-container.pep-table-quantity-selector .pepperi-button.qs-action,.pepperi-quantity-selector-container.pepperi-table-quantity-selector .pep-button.qs-action,.pepperi-quantity-selector-container.pepperi-table-quantity-selector .pepperi-button.qs-action{min-width:1.5rem;line-height:1.5rem;width:1.5rem!important;height:1.5rem!important}"]
423
+ styles: [":host{height:inherit;display:grid}::ng-deep .pep-quantity-selector-container,::ng-deep .pepperi-quantity-selector-container{display:flex;flex-flow:wrap;align-items:center;min-width:2rem;width:100%;height:inherit}::ng-deep .pep-quantity-selector-container input::-webkit-inner-spin-button,::ng-deep .pep-quantity-selector-container input::-webkit-outer-spin-button,::ng-deep .pepperi-quantity-selector-container input::-webkit-inner-spin-button,::ng-deep .pepperi-quantity-selector-container input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}::ng-deep .pep-quantity-selector-container input[type=number],::ng-deep .pepperi-quantity-selector-container input[type=number]{-moz-appearance:textfield}::ng-deep .pep-quantity-selector-container .mat-input-element,::ng-deep .pepperi-quantity-selector-container .mat-input-element{padding:0 .25rem;text-align:center;font-weight:600;font-weight:var(--pep-font-weight-bold,600);width:100%}::ng-deep .pep-quantity-selector-container .mat-form-field .mat-form-field-wrapper .mat-form-field-subscript-wrapper,::ng-deep .pepperi-quantity-selector-container .mat-form-field .mat-form-field-wrapper .mat-form-field-subscript-wrapper{height:unset}::ng-deep .pep-quantity-selector-container .mat-form-field .mat-form-field-wrapper .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container .mat-form-field .mat-form-field-wrapper .mat-form-field-flex{padding:0 .25rem!important}::ng-deep .pep-quantity-selector-container .pep-button,::ng-deep .pep-quantity-selector-container .pepperi-button,::ng-deep .pepperi-quantity-selector-container .pep-button,::ng-deep .pepperi-quantity-selector-container .pepperi-button{width:100%}::ng-deep .pep-quantity-selector-container .pep-button.qs-action,::ng-deep .pep-quantity-selector-container .pepperi-button.qs-action,::ng-deep .pepperi-quantity-selector-container .pep-button.qs-action,::ng-deep .pepperi-quantity-selector-container .pepperi-button.qs-action{min-width:2rem;line-height:2rem;width:2rem!important;height:2rem!important}::ng-deep .pep-quantity-selector-container .pep-button.qs-action .mat-icon,::ng-deep .pep-quantity-selector-container .pepperi-button.qs-action .mat-icon,::ng-deep .pepperi-quantity-selector-container .pep-button.qs-action .mat-icon,::ng-deep .pepperi-quantity-selector-container .pepperi-button.qs-action .mat-icon{height:inherit;width:inherit}::ng-deep .pep-quantity-selector-container .qs-error,::ng-deep .pepperi-quantity-selector-container .qs-error{display:block}::ng-deep .pep-quantity-selector-container.hide-qs-actions .pep-button.qs-action,::ng-deep .pep-quantity-selector-container.hide-qs-actions .pepperi-button.qs-action,::ng-deep .pepperi-quantity-selector-container.hide-qs-actions .pep-button.qs-action,::ng-deep .pepperi-quantity-selector-container.hide-qs-actions .pepperi-button.qs-action{display:none}::ng-deep .pep-quantity-selector-container.matrix-qs .additional-value,::ng-deep .pepperi-quantity-selector-container.matrix-qs .additional-value{height:1.25rem;top:calc(.25rem * -1);top:calc(var(--pep-spacing-xs, .25rem) * -1);transform:unset!important;display:flex;align-self:flex-start;justify-content:flex-end}::ng-deep .pep-quantity-selector-container.matrix-qs .additional-value.prefix,::ng-deep .pepperi-quantity-selector-container.matrix-qs .additional-value.prefix{left:calc(.5rem * -1)!important;left:calc(var(--pep-spacing-sm, .5rem) * -1)!important}::ng-deep .pep-quantity-selector-container.matrix-qs .additional-value.suffix,::ng-deep .pepperi-quantity-selector-container.matrix-qs .additional-value.suffix{right:calc(.5rem * -1)!important;right:calc(var(--pep-spacing-sm, .5rem) * -1)!important}::ng-deep .pep-quantity-selector-container.matrix-qs .additional-value .mat-badge-content,::ng-deep .pepperi-quantity-selector-container.matrix-qs .additional-value .mat-badge-content{z-index:97;min-width:1.5rem;width:-webkit-fit-content!important;width:-moz-fit-content!important;width:fit-content!important;border-radius:.625rem;padding:0 .5rem;top:calc(.5rem * -1)!important;top:calc(var(--pep-spacing-sm, .5rem) * -1)!important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:inherit}::ng-deep .pep-quantity-selector-container.matrix-qs .disable,::ng-deep .pepperi-quantity-selector-container.matrix-qs .disable{min-width:.5rem;padding:0 .25rem}::ng-deep .pep-quantity-selector-container.pep-table-quantity-selector .pep-button:not(.qs-action),::ng-deep .pep-quantity-selector-container.pep-table-quantity-selector .pepperi-button:not(.qs-action),::ng-deep .pep-quantity-selector-container.pepperi-table-quantity-selector .pep-button:not(.qs-action),::ng-deep .pep-quantity-selector-container.pepperi-table-quantity-selector .pepperi-button:not(.qs-action),::ng-deep .pepperi-quantity-selector-container.pep-table-quantity-selector .pep-button:not(.qs-action),::ng-deep .pepperi-quantity-selector-container.pep-table-quantity-selector .pepperi-button:not(.qs-action),::ng-deep .pepperi-quantity-selector-container.pepperi-table-quantity-selector .pep-button:not(.qs-action),::ng-deep .pepperi-quantity-selector-container.pepperi-table-quantity-selector .pepperi-button:not(.qs-action){height:2rem;line-height:2rem}::ng-deep .pep-quantity-selector-container.pep-table-quantity-selector .pep-button.qs-action,::ng-deep .pep-quantity-selector-container.pep-table-quantity-selector .pepperi-button.qs-action,::ng-deep .pep-quantity-selector-container.pepperi-table-quantity-selector .pep-button.qs-action,::ng-deep .pep-quantity-selector-container.pepperi-table-quantity-selector .pepperi-button.qs-action,::ng-deep .pepperi-quantity-selector-container.pep-table-quantity-selector .pep-button.qs-action,::ng-deep .pepperi-quantity-selector-container.pep-table-quantity-selector .pepperi-button.qs-action,::ng-deep .pepperi-quantity-selector-container.pepperi-table-quantity-selector .pep-button.qs-action,::ng-deep .pepperi-quantity-selector-container.pepperi-table-quantity-selector .pepperi-button.qs-action{min-width:1.5rem;line-height:1.5rem;width:1.5rem!important;height:1.5rem!important}::ng-deep .pep-quantity-selector-container.pep-table-quantity-selector .mat-form-field .mat-form-field-wrapper,::ng-deep .pep-quantity-selector-container.pepperi-table-quantity-selector .mat-form-field .mat-form-field-wrapper,::ng-deep .pepperi-quantity-selector-container.pep-table-quantity-selector .mat-form-field .mat-form-field-wrapper,::ng-deep .pepperi-quantity-selector-container.pepperi-table-quantity-selector .mat-form-field .mat-form-field-wrapper{margin-top:0!important}", "::ng-deep .pep-quantity-selector-container:not(.strong) .mat-form-field .mat-input-element,::ng-deep .pepperi-quantity-selector-container:not(.strong) .mat-form-field .mat-input-element{color:#1a1a1a;color:hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%))}::ng-deep .pep-quantity-selector-container:not(.strong).zero-quantity .mat-form-field .mat-input-element,::ng-deep .pepperi-quantity-selector-container:not(.strong).zero-quantity .mat-form-field .mat-input-element{color:rgba(26,26,26,.7);color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.7)}::ng-deep .pep-quantity-selector-container:not(.strong).zero-quantity button,::ng-deep .pepperi-quantity-selector-container:not(.strong).zero-quantity button{color:rgba(26,26,26,.7);color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.7)}::ng-deep .pep-quantity-selector-container.weak .mat-form-field .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field .mat-form-field-flex{background:rgba(26,26,26,.12);background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.12)}::ng-deep .pep-quantity-selector-container.weak .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.weak .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.16)}::ng-deep .pep-quantity-selector-container.weak .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.weak .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.weak .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.weak .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.weak .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.weak .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.weak .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.weak .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.weak .mat-form-field.active .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak .mat-form-field:active .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.active .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field:active .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak .mat-form-field.active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.weak .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.weak .mat-form-field:active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.weak .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field:active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.weak .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.04)!important}::ng-deep .pep-quantity-selector-container.weak .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after{border:unset}::ng-deep .pep-quantity-selector-container.weak .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.weak .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.weak .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.weak .pep-button,::ng-deep .pep-quantity-selector-container.weak .pepperi-button,::ng-deep .pepperi-quantity-selector-container.weak .pep-button,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button{background:rgba(26,26,26,.12);background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.12)}::ng-deep .pep-quantity-selector-container.weak .pep-button:hover,::ng-deep .pep-quantity-selector-container.weak .pepperi-button:hover,::ng-deep .pepperi-quantity-selector-container.weak .pep-button:hover,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button:hover{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.16)}::ng-deep .pep-quantity-selector-container.weak .pep-button:focus,::ng-deep .pep-quantity-selector-container.weak .pepperi-button:focus,::ng-deep .pepperi-quantity-selector-container.weak .pep-button:focus,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button:focus{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.weak .pep-button:focus:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak .pepperi-button:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .pep-button:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button:focus:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak .pep-button:focus:after,::ng-deep .pep-quantity-selector-container.weak .pepperi-button:focus:after,::ng-deep .pepperi-quantity-selector-container.weak .pep-button:focus:after,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button:focus:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.weak .pep-button:active,::ng-deep .pep-quantity-selector-container.weak .pepperi-button:active,::ng-deep .pepperi-quantity-selector-container.weak .pep-button:active,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.weak .pep-button:active:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak .pepperi-button:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .pep-button:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak .pep-button:active:after,::ng-deep .pep-quantity-selector-container.weak .pepperi-button:active:after,::ng-deep .pepperi-quantity-selector-container.weak .pep-button:active:after,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button:active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.weak .pep-button:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.weak .pepperi-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.weak .pep-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.04)!important}::ng-deep .pep-quantity-selector-container.weak .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.weak .pepperi-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.weak .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.weak .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.weak .pepperi-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.weak .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.weak .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.weak .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.weak .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action,::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action,::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action{background:rgba(26,26,26,.12);background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.12);box-shadow:unset;border:unset;z-index:1}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action:hover,::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action:hover{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.16)}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action:focus,::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action:focus{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action:focus:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action:focus:after,::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action:focus:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action:active,::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action:active:after,::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action:active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.04)!important}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.weak .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.weak .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.weak .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.weak .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field .mat-form-field-flex{background:rgba(230,0,0,.12);background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.12)}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex{background:rgba(230,0,0,.16);background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.16)}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(230,0,0,.04)!important;background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.04)!important}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after{border:unset}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.weak.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.weak.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button{background:rgba(230,0,0,.12);background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.12)}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button:hover,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button:hover,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button:hover,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button:hover{background:rgba(230,0,0,.16);background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.16)}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button:focus,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button:focus,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button:focus,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button:focus{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button:focus:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button:focus:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button:focus:after,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button:focus:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button:focus:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button:focus:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button:active,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button:active,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button:active,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button:active:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button:active:after,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button:active:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button:active:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button:active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(230,0,0,.04)!important;background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.04)!important}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action{background:rgba(230,0,0,.12);background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.12);box-shadow:unset;border:unset;z-index:1}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action:hover,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action:hover{background:rgba(230,0,0,.16);background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.16)}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action:focus,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action:focus{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action:focus:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action:focus:after,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action:focus:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action:active,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action:active:after,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action:active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(230,0,0,.04)!important;background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.04)!important}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.weak.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.weak.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.weak.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.weak.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular .mat-form-field .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field .mat-form-field-flex{background:#fafafa;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.regular .mat-form-field .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid hsl(0,0%,calc(10% + 30%));border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),calc(var(--pep-color-qs-l, 10%) + 30%))}::ng-deep .pep-quantity-selector-container.regular .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.regular .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex{background:#fafafa;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);position:relative}::ng-deep .pep-quantity-selector-container.regular .mat-form-field:hover .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.regular .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field:hover .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid hsl(0,0%,calc(10% + 20%));border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),calc(var(--pep-color-qs-l, 10%) + 20%))}::ng-deep .pep-quantity-selector-container.regular .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.regular .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex{background:#e0e0e0;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.regular .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.regular .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.regular .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.regular .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.regular .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.regular .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex{background:#e0e0e0;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32);position:relative}::ng-deep .pep-quantity-selector-container.regular .mat-form-field.active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.regular .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.regular .mat-form-field:active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.regular .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field:active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.regular .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:#e0e0e0!important;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),88%)!important;box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.04)!important;box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.04)!important;position:relative}::ng-deep .pep-quantity-selector-container.regular .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after{border:unset}::ng-deep .pep-quantity-selector-container.regular .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid rgba(26,26,26,.08);border:1px solid hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.08)}::ng-deep .pep-quantity-selector-container.regular .pep-button,::ng-deep .pep-quantity-selector-container.regular .pepperi-button,::ng-deep .pepperi-quantity-selector-container.regular .pep-button,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button{background:#fafafa;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);border:1px solid hsl(0,0%,calc(10% + 30%));border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),calc(var(--pep-color-qs-l, 10%) + 30%))}::ng-deep .pep-quantity-selector-container.regular .pep-button:hover,::ng-deep .pep-quantity-selector-container.regular .pepperi-button:hover,::ng-deep .pepperi-quantity-selector-container.regular .pep-button:hover,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button:hover{background:#fafafa;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);border:1px solid hsl(0,0%,calc(10% + 20%));border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),calc(var(--pep-color-qs-l, 10%) + 20%))}::ng-deep .pep-quantity-selector-container.regular .pep-button:focus,::ng-deep .pep-quantity-selector-container.regular .pepperi-button:focus,::ng-deep .pepperi-quantity-selector-container.regular .pep-button:focus,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button:focus{background:#e0e0e0;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%));box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.regular .pep-button:active,::ng-deep .pep-quantity-selector-container.regular .pepperi-button:active,::ng-deep .pepperi-quantity-selector-container.regular .pep-button:active,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button:active{background:#e0e0e0;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32);border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.regular .pep-button:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.regular .pepperi-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.regular .pep-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:#e0e0e0!important;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),88%)!important;box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.04)!important;box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.04)!important;border:1px solid rgba(26,26,26,.08);border:1px solid hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.08)}::ng-deep .pep-quantity-selector-container.regular .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.regular .pepperi-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.regular .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.regular .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.regular .pepperi-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.regular .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.regular .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.regular .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action,::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action,::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action{background:rgba(26,26,26,.12);background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.12);box-shadow:unset;border:unset;z-index:1}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action:hover,::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action:hover{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.16)}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action:focus,::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action:focus{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action:focus:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action:focus:after,::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action:focus:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action:active,::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action:active:after,::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action:active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.04)!important}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.regular .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.regular .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.regular .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field .mat-form-field-flex{background:#fff5f5;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid hsl(360,100%,calc(45% + 30%));border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),calc(var(--pep-color-system-caution-l, 45%) + 30%))}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex{background:#fff5f5;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);position:relative}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field:hover .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field:hover .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid hsl(360,100%,calc(45% + 20%));border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),calc(var(--pep-color-system-caution-l, 45%) + 20%))}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex{background:#ffc2c2;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex{background:#ffc2c2;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32);position:relative}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex{box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:#ffc2c2!important;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),88%)!important;box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.04)!important;box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.04)!important;position:relative}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after{border:unset}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid rgba(230,0,0,.08);border:1px solid hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.08)}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button{background:#fff5f5;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);border:1px solid hsl(360,100%,calc(45% + 30%));border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),calc(var(--pep-color-system-caution-l, 45%) + 30%))}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button:hover,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button:hover,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button:hover,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button:hover{background:#fff5f5;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),98%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);border:1px solid hsl(360,100%,calc(45% + 20%));border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),calc(var(--pep-color-system-caution-l, 45%) + 20%))}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button:focus,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button:focus,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button:focus,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button:focus{background:#ffc2c2;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16);border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%));box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button:active,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button:active,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button:active,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button:active{background:#ffc2c2;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),88%);box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32);border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:#ffc2c2!important;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),88%)!important;box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.04)!important;box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.04)!important;border:1px solid rgba(230,0,0,.08);border:1px solid hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.08)}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action{background:rgba(230,0,0,.12);background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.12);box-shadow:unset;border:unset;z-index:1}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action:hover,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action:hover{background:rgba(230,0,0,.16);background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.16)}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action:focus,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action:focus{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action:focus:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action:focus:after,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action:focus:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action:active,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action:active:after,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action:active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(230,0,0,.04)!important;background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.04)!important}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.regular.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.regular.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.regular.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.regular.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong .mat-form-field .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field .mat-form-field-flex{font-weight:600;font-weight:var(--pep-font-weight-bold,600);background:#1a1a1a;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);color:#fff;color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .mat-form-field .mat-form-field-flex .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field .mat-form-field-flex .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .mat-form-field .mat-form-field-flex .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field .mat-form-field-flex .svg-icon.stroke{fill:unset;stroke:#fff;stroke:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.strong .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex{background:hsl(0,0%,calc(10% - 8%));background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),calc(var(--pep-color-qs-l, 10%) - 8%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16)}::ng-deep .pep-quantity-selector-container.strong .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.strong .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex{background:hsl(0,0%,calc(10% - 15%));background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),calc(var(--pep-color-qs-l, 10%) - 15%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.strong .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.strong .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.strong .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.strong .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex{background:hsl(0,0%,calc(10% - 15%));background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),calc(var(--pep-color-qs-l, 10%) - 15%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32)}::ng-deep .pep-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex{box-shadow:unset;border:unset;background:#1a1a1a!important;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))!important;opacity:.5!important;color:#fff;color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after{border:unset}::ng-deep .pep-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke{stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke{fill:unset;stroke:#fff;stroke:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .pep-button,::ng-deep .pep-quantity-selector-container.strong .pepperi-button,::ng-deep .pepperi-quantity-selector-container.strong .pep-button,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button{font-weight:600;font-weight:var(--pep-font-weight-bold,600);background:#1a1a1a;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);color:#fff;color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .pep-button .svg-icon,::ng-deep .pep-quantity-selector-container.strong .pepperi-button .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong .pep-button .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .pep-button .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.strong .pepperi-button .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong .pep-button .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button .svg-icon.stroke{fill:unset;stroke:#fff;stroke:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .pep-button:hover,::ng-deep .pep-quantity-selector-container.strong .pepperi-button:hover,::ng-deep .pepperi-quantity-selector-container.strong .pep-button:hover,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button:hover{background:hsl(0,0%,calc(10% - 8%));background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),calc(var(--pep-color-qs-l, 10%) - 8%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16)}::ng-deep .pep-quantity-selector-container.strong .pep-button:focus,::ng-deep .pep-quantity-selector-container.strong .pepperi-button:focus,::ng-deep .pepperi-quantity-selector-container.strong .pep-button:focus,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button:focus{background:hsl(0,0%,calc(10% - 15%));background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),calc(var(--pep-color-qs-l, 10%) - 15%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.strong .pep-button:active,::ng-deep .pep-quantity-selector-container.strong .pepperi-button:active,::ng-deep .pepperi-quantity-selector-container.strong .pep-button:active,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button:active{background:hsl(0,0%,calc(10% - 15%));background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),calc(var(--pep-color-qs-l, 10%) - 15%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32)}::ng-deep .pep-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;background:#1a1a1a!important;background:hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))!important;opacity:.5!important;color:#fff;color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke{stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled) .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:#fff;stroke:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action,::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action,::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action{background:rgba(26,26,26,.12);background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.12);box-shadow:unset;border:unset;z-index:1}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action:hover,::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action:hover{background:rgba(26,26,26,.16);background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.16)}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action:focus,::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action:focus{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action:focus:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action:focus:after,::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action:focus:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action:active,::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action:active:after,::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action:active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #1a1a1a;border:1px solid hsl(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%))}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(26,26,26,.04)!important;background:hsla(var(--pep-color-qs-h,0),var(--pep-color-qs-s,0%),var(--pep-color-qs-l,10%),.04)!important}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.strong .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field .mat-form-field-flex{font-weight:600;font-weight:var(--pep-font-weight-bold,600);background:#e60000;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);color:#fff;color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field .mat-form-field-flex .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field .mat-form-field-flex .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field .mat-form-field-flex .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field .mat-form-field-flex .svg-icon.stroke{fill:unset;stroke:#fff;stroke:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field:hover .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field:hover:not(.mat-form-field-disabled) .mat-form-field-flex{background:hsl(360,100%,calc(45% - 8%));background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),calc(var(--pep-color-system-caution-l, 45%) - 8%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16)}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field.mat-focused .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field.mat-focused:not(.mat-form-field-disabled) .mat-form-field-flex{background:hsl(360,100%,calc(45% - 15%));background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),calc(var(--pep-color-system-caution-l, 45%) - 15%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field.active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field.active:not(.mat-form-field-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field:active .ignore-disabled .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field:active:not(.mat-form-field-disabled) .mat-form-field-flex{background:hsl(360,100%,calc(45% - 15%));background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),calc(var(--pep-color-system-caution-l, 45%) - 15%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32)}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex{box-shadow:unset;border:unset;background:#e60000!important;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))!important;opacity:.5!important;color:#fff;color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex:after{border:unset}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke{stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong.caution .mat-form-field.mat-form-field-disabled:not(.ignore-disabled) .mat-form-field-flex .svg-icon.stroke{fill:unset;stroke:#fff;stroke:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button{font-weight:600;font-weight:var(--pep-font-weight-bold,600);background:#e60000;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);color:#fff;color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button .svg-icon,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button .svg-icon.stroke{fill:unset;stroke:#fff;stroke:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button:hover,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button:hover,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button:hover,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button:hover{background:hsl(360,100%,calc(45% - 8%));background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),calc(var(--pep-color-system-caution-l, 45%) - 8%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.16);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.16)}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button:focus,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button:focus,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button:focus,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button:focus{background:hsl(360,100%,calc(45% - 15%));background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),calc(var(--pep-color-system-caution-l, 45%) - 15%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button:active,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button:active,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button:active,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button:active{background:hsl(360,100%,calc(45% - 15%));background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),calc(var(--pep-color-system-caution-l, 45%) - 15%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32)}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;background:#e60000!important;background:hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))!important;opacity:.5!important;color:#fff;color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke{stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:#fff;stroke:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action{background:rgba(230,0,0,.12);background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.12);box-shadow:unset;border:unset;z-index:1}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action:hover,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action:hover,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action:hover{background:rgba(230,0,0,.16);background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.16)}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action:focus,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action:focus,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action:focus{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative;box-shadow:0 0 0 .25rem rgba(23,102,166,.5);box-shadow:0 0 0 var(--pep-spacing-xs,.25rem) hsla(var(--pep-color-text-link-h,207),var(--pep-color-text-link-s,76%),var(--pep-color-text-link-l,37%),.5)}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action:focus:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action:focus:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action:focus:after,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action:focus:after,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action:focus:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action:active,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action:active,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action:active{box-shadow:0 .125rem .25rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-xs-offset,0 .125rem .25rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);position:relative}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action:active:not(.keep-background-on-focus),::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action:active:not(.keep-background-on-focus){background:#fff;background:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action:active:after,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action:active:after,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action:active:after{z-index:0;content:\"\";transition:all .25s;display:block;position:absolute;top:0;bottom:0;left:0;right:0;border-radius:inherit;border:1px solid #e60000;border:1px solid hsl(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%))}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action:disabled:not(.ignore-disabled),::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled){box-shadow:unset;border:unset;color:rgba(26,26,26,.35)!important;color:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)!important;background:rgba(230,0,0,.04)!important;background:hsla(var(--pep-color-system-caution-h,360),var(--pep-color-system-caution-s,100%),var(--pep-color-system-caution-l,45%),.04)!important}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action:disabled:not(.ignore-disabled):after,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled):after{border:unset}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon{fill:rgba(26,26,26,.35);fill:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.strong.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pep-quantity-selector-container.strong.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong.caution .pep-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.strong.caution .pepperi-button.qs-action:disabled:not(.ignore-disabled) .svg-icon.stroke{fill:unset;stroke:rgba(26,26,26,.35);stroke:hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.35)}::ng-deep .pep-quantity-selector-container.matrix-qs .additional-value .mat-badge-content,::ng-deep .pepperi-quantity-selector-container.matrix-qs .additional-value .mat-badge-content{font-weight:600;font-weight:var(--pep-font-weight-bold,600);background:#5d8109;background:hsl(var(--pep-color-strong-h,78),var(--pep-color-strong-s,87%),var(--pep-color-strong-l,27%));box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.08);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.08);color:#fff;color:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%));background-color:#1a1a1a!important;background-color:hsl(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%))!important;box-shadow:0 .25rem .5rem 0 rgba(26,26,26,.32);box-shadow:var(--pep-shadow-sm-offset,0 .25rem .5rem 0) hsla(var(--pep-color-system-primary-h,0),var(--pep-color-system-primary-s,0%),var(--pep-color-system-primary-l,10%),.32)}::ng-deep .pep-quantity-selector-container.matrix-qs .additional-value .mat-badge-content .svg-icon,::ng-deep .pepperi-quantity-selector-container.matrix-qs .additional-value .mat-badge-content .svg-icon{fill:#fff;fill:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}::ng-deep .pep-quantity-selector-container.matrix-qs .additional-value .mat-badge-content .svg-icon.stroke,::ng-deep .pepperi-quantity-selector-container.matrix-qs .additional-value .mat-badge-content .svg-icon.stroke{fill:unset;stroke:#fff;stroke:hsl(var(--pep-color-system-primary-invert-h,255),var(--pep-color-system-primary-invert-s,100%),var(--pep-color-system-primary-invert-l,100%))}"]
424
424
  },] }
425
425
  ];
426
426
  PepQuantitySelectorComponent.ctorParameters = () => [
@@ -458,4 +458,4 @@ PepQuantitySelectorComponent.propDecorators = {
458
458
  QSCont: [{ type: ViewChild, args: ['QSCont',] }],
459
459
  QSInput: [{ type: ViewChild, args: ['QSInput',] }]
460
460
  };
461
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnRpdHktc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9xdWFudGl0eS1zZWxlY3Rvci9xdWFudGl0eS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFJVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsU0FBUyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDSCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxHQUNiLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUdILHVCQUF1QixFQUV2Qiw0QkFBNEIsRUFHNUIsd0JBQXdCLEVBQ3hCLG1CQUFtQixHQUN0QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxlQUFlLEVBQWEsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBZ0Isb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUE0QnZELE1BQU0sT0FBTyw0QkFBNEI7SUF1S3JDLFlBQ1ksRUFBcUIsRUFDckIsb0JBQTZDLEVBQzdDLFFBQW1CLEVBQ25CLE9BQW1CLEVBQ25CLFNBQTJCLEVBQzNCLGdCQUFxQztRQUxyQyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXlCO1FBQzdDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENB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LFNBQVMsRUFBRSxVQUFVO3lCQUN4QixDQUFDLENBQ0w7d0JBQ0QsS0FBSyxDQUNELE1BQU0sRUFDTixLQUFLLENBQUM7NEJBQ0YsT0FBTyxFQUFFLENBQUM7NEJBQ1YsU0FBUyxFQUFFLFVBQVU7eUJBQ3hCLENBQUMsQ0FDTDt3QkFDRCxVQUFVLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUNyRCxVQUFVLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztxQkFDdkQsQ0FBQztpQkFDTDs7YUFDSjs7O1lBckRHLGlCQUFpQjtZQWdCakIsdUJBQXVCO1lBZHZCLFNBQVM7WUFIVCxVQUFVO1lBMkJMLGdCQUFnQjtZQUpyQixtQkFBbUI7OztrQkF1Q2xCLEtBQUs7b0JBR0wsS0FBSzs2QkFpQkwsS0FBSztvQkFnQkwsS0FBSzttQkFDTCxLQUFLO3dCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3dCQUdMLEtBQUs7eUJBU0wsS0FBSztzQkFDTCxLQUFLOzJCQUNMLEtBQUs7OEJBQ0wsS0FBSzsrQkFHTCxLQUFLO3NCQXVDTCxLQUFLO21CQXFCTCxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzt5QkFDTCxLQUFLO3VCQUNMLEtBQUs7d0JBR0wsS0FBSzswQkFLTCxNQUFNOzJCQUdOLE1BQU07cUJBR04sU0FBUyxTQUFDLFFBQVE7c0JBQ2xCLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIE9uSW5pdCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIElucHV0LFxyXG4gICAgT3V0cHV0LFxyXG4gICAgRXZlbnRFbWl0dGVyLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBSZW5kZXJlcjIsXHJcbiAgICBBZnRlclZpZXdJbml0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgICB0cmlnZ2VyLFxyXG4gICAgc3RhdGUsXHJcbiAgICBzdHlsZSxcclxuICAgIGFuaW1hdGUsXHJcbiAgICB0cmFuc2l0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1xyXG4gICAgUGVwTGF5b3V0VHlwZSxcclxuICAgIFBlcFN0eWxlVHlwZSxcclxuICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxyXG4gICAgUGVwSG9yaXpvbnRhbEFsaWdubWVudCxcclxuICAgIERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQsXHJcbiAgICBJUGVwRmllbGRDbGlja0V2ZW50LFxyXG4gICAgUGVwUXVhbnRpdHlTZWxlY3RvckZpZWxkVHlwZSxcclxuICAgIFBlcFF1YW50aXR5U2VsZWN0b3JGaWVsZCxcclxuICAgIFBlcFV0aWxpdGllc1NlcnZpY2UsXHJcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdwZXAtcXVhbnRpdHktc2VsZWN0b3InLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3F1YW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3F1YW50aXR5LXNlbGVjdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIGFuaW1hdGlvbnM6IFtcclxuICAgICAgICB0cmlnZ2VyKCdzaG93SGlkZScsIFtcclxuICAgICAgICAgICAgc3RhdGUoXHJcbiAgICAgICAgICAgICAgICAnc2hvdycsXHJcbiAgICAgICAgICAgICAgICBzdHlsZSh7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSxcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgxKScsXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBzdGF0ZShcclxuICAgICAgICAgICAgICAgICdoaWRlJyxcclxuICAgICAgICAgICAgICAgIHN0eWxlKHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDApJyxcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3Nob3cgPT4gaGlkZScsIGFuaW1hdGUoJzI1MG1zIGVhc2Utb3V0JykpLFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdoaWRlID0+IHNob3cnLCBhbmltYXRlKCcyNTBtcyBlYXNlLWluJykpLFxyXG4gICAgICAgIF0pLFxyXG4gICAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBlcFF1YW50aXR5U2VsZWN0b3JDb21wb25lbnRcclxuICAgIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwdWJsaWMgc3RhdGljIEVOVEVSX0NISUxEUkVOID0gJ1tFbnRlckNoaWxkcmVuXSc7XHJcbiAgICBwdWJsaWMgc3RhdGljIEVOVEVSX1BBQ0tBR0UgPSAnW0VudGVyUGFja2FnZV0nO1xyXG4gICAgcHVibGljIHN0YXRpYyBQTFVTID0gJ1srXSc7XHJcbiAgICBwdWJsaWMgc3RhdGljIE1JTlVTID0gJ1stXSc7XHJcblxyXG4gICAgQElucHV0KCkga2V5ID0gJyc7XHJcblxyXG4gICAgcHJpdmF0ZSBfdmFsdWUgPSBudWxsO1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICAgICAgICB2YWx1ZSA9ICcnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuX2NhbGN1bGF0ZUZvcm1hdHRlZFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Rm9ybWF0dGVkVmFsdWUodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF9mb3JtYXR0ZWRWYWx1ZSA9IG51bGw7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGZvcm1hdHRlZFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gJyc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5fY2FsY3VsYXRlRm9ybWF0dGVkVmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2FsY3VsYXRlRm9ybWF0dGVkVmFsdWUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2V0Rm9ybWF0dGVkVmFsdWUodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgZ2V0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdHRlZFZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XHJcbiAgICBASW5wdXQoKSB0eXBlOiBQZXBRdWFudGl0eVNlbGVjdG9yRmllbGRUeXBlID0gJ3FzJztcclxuICAgIEBJbnB1dCgpIG1hbmRhdG9yeSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5ID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSBfdGV4dENvbG9yID0gJyc7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHRleHRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fdGV4dENvbG9yID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5pc0NhdXRpb24gPSB2YWx1ZSA9PT0gJyNGRjAwMDAnO1xyXG4gICAgfVxyXG4gICAgZ2V0IHRleHRDb2xvcigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90ZXh0Q29sb3I7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgeEFsaWdubWVudDogUGVwSG9yaXpvbnRhbEFsaWdubWVudCA9IERFRkFVTFRfSE9SSVpPTlRBTF9BTElHTk1FTlQ7XHJcbiAgICBASW5wdXQoKSByb3dTcGFuID0gMTtcclxuICAgIEBJbnB1dCgpIGFsbG93RGVjaW1hbCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgYWRkaXRpb25hbFZhbHVlID0gJyc7XHJcblxyXG4gICAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uSW5mbzogYW55O1xyXG4gICAgQElucHV0KClcclxuICAgIHNldCBub3RpZmljYXRpb25JbmZvKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25JbmZvID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gdmFsdWUgJiYgdmFsdWUgPiAwID8gSlNPTi5wYXJzZSh2YWx1ZSkuTWVzc2FnZXMgOiAnJztcclxuICAgICAgICBpZiAobWVzc2FnZXMgJiYgbWVzc2FnZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAvLyBSZXBsYWNlIHRoZSBtc2cga2V5cy5cclxuICAgICAgICAgICAgZm9yIChjb25zdCBtc2cgb2YgbWVzc2FnZXMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChtc2cuS2V5ID09PSAnSW52ZW50b3J5X0xpbWl0X01zZycpIHtcclxuICAgICAgICAgICAgICAgICAgICBtc2cuS2V5ID0gJ01FU1NBR0VTLkVSUk9SX0lOVkVOVE9SWV9MSU1JVCc7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1zZy5LZXkgPT09ICdDYXNlX1F1YW50aXR5X0xpbWl0X01zZycpIHtcclxuICAgICAgICAgICAgICAgICAgICBtc2cuS2V5ID0gJ01FU1NBR0VTLkVSUk9SX0NBU0VfUVVBTlRJVFlfTElNSVQnO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtc2cuS2V5ID09PSAnTWluX1F1YW50aXR5X0xpbWl0X01zZycpIHtcclxuICAgICAgICAgICAgICAgICAgICBtc2cuS2V5ID0gJ01FU1NBR0VTLkVSUk9SX01JTl9RVUFOVElUWV9MSU1JVCc7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1zZy5LZXkgPT09ICdNYXhfUXVhbnRpdHlfTGltaXRfTXNnJykge1xyXG4gICAgICAgICAgICAgICAgICAgIG1zZy5LZXkgPSAnTUVTU0FHRVMuRVJST1JfTUFYX1FVQU5USVRZX0xJTUlUJztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgZmllbGRDb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMua2V5XTtcclxuICAgICAgICAgICAgZmllbGRDb250cm9sLnNldEVycm9ycyh7XHJcbiAgICAgICAgICAgICAgICBzZXJ2ZXJFcnJvcjogJ0Vycm9yJyxcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3cgPSBudWxsO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLlFTSW5wdXQgJiYgdGhpcy5RU0lucHV0Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLlFTSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LCAxNTApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldCBub3RpZmljYXRpb25JbmZvKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX25vdGlmaWNhdGlvbkluZm87XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdmlzaWJsZSA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IHZpc2libGUodmlzaWJsZTogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX3Zpc2libGUgPSB2aXNpYmxlO1xyXG4gICAgICAgIGlmICh2aXNpYmxlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgICAgICAgICAgICdoaWRkZW4tZWxlbWVudCdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICAnaGlkZGVuLWVsZW1lbnQnXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZ2V0IHZpc2libGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XHJcbiAgICB9XHJcblxyXG4gICAgY29udHJvbFR5cGUgPSAncXMnO1xyXG5cclxuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgcmVuZGVyVGl0bGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgbGF5b3V0VHlwZTogUGVwTGF5b3V0VHlwZSA9ICdmb3JtJztcclxuICAgIEBJbnB1dCgpIGlzQWN0aXZlID0gZmFsc2U7XHJcblxyXG4gICAgLy8gR2V0IGRlZmF1bHQgc3R5bGUgZnJvbSB0aGVtZS5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzdHlsZVR5cGU6IFBlcFN0eWxlVHlwZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKFxyXG4gICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUWUxFX1FTX0tFWVxyXG4gICAgKSBhcyBQZXBTdHlsZVR5cGU7IC8vJ3N0cm9uZyc7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIGVsZW1lbnRDbGljazogRXZlbnRFbWl0dGVyPElQZXBGaWVsZENsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PigpO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ1FTQ29udCcpIFFTQ29udDogRWxlbWVudFJlZjtcclxuICAgIEBWaWV3Q2hpbGQoJ1FTSW5wdXQnKSBRU0lucHV0OiBFbGVtZW50UmVmO1xyXG5cclxuICAgIHByaXZhdGUgX2NhbGN1bGF0ZUZvcm1hdHRlZFZhbHVlID0gdHJ1ZTtcclxuICAgIGdldCBjYWxjdWxhdGVGb3JtYXR0ZWRWYWx1ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fY2FsY3VsYXRlRm9ybWF0dGVkVmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveWVkOiBTdWJqZWN0PHZvaWQ+O1xyXG4gICAgcHJpdmF0ZSBxc1dpZHRoU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XHJcbiAgICBsYXN0UXNDb250Q2xpZW50V2lkdGggPSAwO1xyXG4gICAgc2hvd1FzQnRuID0gdHJ1ZTtcclxuXHJcbiAgICBzdGFuZEFsb25lID0gZmFsc2U7XHJcbiAgICBpc0luRm9jdXMgPSBmYWxzZTtcclxuICAgIGlzTWF0cml4Rm9jdXMgPSBmYWxzZTtcclxuXHJcbiAgICBpc0NhdXRpb24gPSBmYWxzZTtcclxuICAgIG1lc3NhZ2VzOiBBcnJheTxhbnk+ID0gbnVsbDtcclxuXHJcbiAgICBzYW1lRWxlbWVudEluVGhlV2FudGVkUm93ID0gbnVsbDtcclxuXHJcbiAgICBpc0VtcHR5S2V5ID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHV0aWxpdGllc1NlcnZpY2U6IFBlcFV0aWxpdGllc1NlcnZpY2VcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgICAgICAgdGhpcy5xc1dpZHRoU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoMCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0Rm9ybSgpIHtcclxuICAgICAgICBjb25zdCBwZXBGaWVsZCA9IG5ldyBQZXBRdWFudGl0eVNlbGVjdG9yRmllbGQoe1xyXG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcclxuICAgICAgICAgICAgbWFuZGF0b3J5OiB0aGlzLm1hbmRhdG9yeSxcclxuICAgICAgICAgICAgcmVhZG9ubHk6IHRoaXMucmVhZG9ubHksXHJcbiAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UuZ2V0RGVmYXVsdEZyb21Hcm91cChwZXBGaWVsZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRGb3JtYXR0ZWRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2NhbGN1bGF0ZUZvcm1hdHRlZFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1hdHRlZFZhbHVlID0gdGhpcy51dGlsaXRpZXNTZXJ2aWNlLmZvcm1hdE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fZm9ybWF0dGVkVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlRm9ybUZpZWxkVmFsdWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHVwZGF0ZUZvcm1GaWVsZFZhbHVlKCkge1xyXG4gICAgICAgIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UudXBkYXRlRm9ybUZpZWxkVmFsdWUoXHJcbiAgICAgICAgICAgIHRoaXMuZm9ybSxcclxuICAgICAgICAgICAgdGhpcy5rZXksXHJcbiAgICAgICAgICAgIHRoaXMuZm9ybWF0dGVkVmFsdWVcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBkaXNwbGF5VmFsdWUoKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCByZXMgPSB0aGlzLmlzSW5Gb2N1c1xyXG4gICAgICAgICAgICA/IHBhcnNlRmxvYXQodGhpcy52YWx1ZSkudG9TdHJpbmcoKVxyXG4gICAgICAgICAgICA6IHRoaXMuZm9ybWF0dGVkVmFsdWU7XHJcbiAgICAgICAgcmV0dXJuIHJlcztcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0RGVzdHJveWVyKCkge1xyXG4gICAgICAgIHJldHVybiB0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5mb3JtID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmtleSA9PT0gJycpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNFbXB0eUtleSA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuc3RhbmRBbG9uZSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0Rm9ybSgpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfQ0xBU1NfTkFNRVxyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLnJlbmRlclRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgICAgICAgICAgICAgIFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX05PX1NQQUNJTkdfQ0xBU1NfTkFNRVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5xc1dpZHRoU3ViamVjdFxyXG4gICAgICAgICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgICAgICAgLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgocXNXaWR0aDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwUXNCdXR0b25zKHFzV2lkdGgpO1xyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVGb3JtRmllbGRWYWx1ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICAvL1xyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNldFFzVmlldygpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIC8vIEJ1ZyBmaXggZm9yIGFkZG9ucyB3aGVuIHRoZSBrZXkgaXMgJycgaW4gdGhlIG5nT25Jbml0IGZvciBzb21lIHJlc29uXHJcbiAgICAgICAgaWYgKHRoaXMuaXNFbXB0eUtleSAmJiB0aGlzLmtleSAhPT0gJycpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRGb3JtKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb2N1c1RvVGhlU2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvdygpO1xyXG4gICAgICAgIH0sIDE1MCk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcclxuICAgICAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgZ2V0QWRkaXRpb25hbFZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkaXRpb25hbFZhbHVlLmxlbmd0aCA+IDAgPyAnc2hvdycgOiAnaGlkZSc7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGFyZW50QnlDbGFzcyhlbCwgcGFyZW50U2VsZWN0b3IgLyogb3B0aW9uYWwgKi8pOiBhbnkge1xyXG4gICAgICAgIC8vIElmIG5vIHBhcmVudFNlbGVjdG9yIGRlZmluZWQgd2lsbCBidWJibGUgdXAgYWxsIHRoZSB3YXkgdG8gKmRvY3VtZW50KlxyXG4gICAgICAgIGlmIChwYXJlbnRTZWxlY3RvciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHBhcmVudFNlbGVjdG9yID0gZG9jdW1lbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgcCA9IGVsLnBhcmVudE5vZGU7XHJcblxyXG4gICAgICAgIHdoaWxlIChcclxuICAgICAgICAgICAgcCAmJlxyXG4gICAgICAgICAgICAhcD8uY2xhc3NMaXN0Py5jb250YWlucyhwYXJlbnRTZWxlY3RvcikgJiZcclxuICAgICAgICAgICAgcGFyZW50U2VsZWN0b3IgIT09IGRvY3VtZW50XHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG8gPSBwO1xyXG4gICAgICAgICAgICBwID0gbz8ucGFyZW50Tm9kZSB8fCBudWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHA/LmNsYXNzTmFtZS5pbmRleE9mKHBhcmVudFNlbGVjdG9yKSA+IC0xID8gcCA6IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvd0J5Q2xhc3NOYW1lKGV2ZW50OiBhbnksIGlzTmV4dCA9IHRydWUpOiBhbnkge1xyXG4gICAgICAgIGNvbnN0IGV2ZW50VGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnNyY0VsZW1lbnQ7XHJcbiAgICAgICAgbGV0IHNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3dCeUNsYXNzTmFtZTtcclxuXHJcbiAgICAgICAgbGV0IHBhcmVudFNlbGVjdG9yO1xyXG4gICAgICAgIGlmICh0aGlzLmxheW91dFR5cGUgPT09ICd0YWJsZScpIHtcclxuICAgICAgICAgICAgcGFyZW50U2VsZWN0b3IgPSB0aGlzLmdldFBhcmVudEJ5Q2xhc3MoZXZlbnRUYXJnZXQsICd0YWJsZS1yb3cnKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGF5b3V0VHlwZSA9PT0gJ2NhcmQnKSB7XHJcbiAgICAgICAgICAgIHBhcmVudFNlbGVjdG9yID0gdGhpcy5nZXRQYXJlbnRCeUNsYXNzKGV2ZW50VGFyZ2V0LCAnY2FyZC12aWV3Jyk7XHJcbiAgICAgICAgICAgIGlmICghcGFyZW50U2VsZWN0b3IpIHtcclxuICAgICAgICAgICAgICAgIHBhcmVudFNlbGVjdG9yID0gdGhpcy5nZXRQYXJlbnRCeUNsYXNzKFxyXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50VGFyZ2V0LFxyXG4gICAgICAgICAgICAgICAgICAgICdsaW5lLXZpZXcnXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHBhcmVudFNlbGVjdG9yLm5leHRFbGVtZW50U2libGluZyA9PT0gbnVsbCAmJlxyXG4gICAgICAgICAgICBwYXJlbnRTZWxlY3Rvci5wcmV2aW91c0VsZW1lbnRTaWJsaW5nID09PSBudWxsXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3dCeUNsYXNzTmFtZSA9IG51bGw7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGlzTmV4dCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHBhcmVudFNlbGVjdG9yLm5leHRFbGVtZW50U2libGluZyA9PT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3dCeUNsYXNzTmFtZSA9IHBhcmVudFNlbGVjdG9yLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcclxuICAgICAgICAgICAgICAgICAgICAgICAgJ1tuYW1lPScgKyB0aGlzLmtleSArICddJ1xyXG4gICAgICAgICAgICAgICAgICAgIClbMF07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3dCeUNsYXNzTmFtZSA9IHBhcmVudFNlbGVjdG9yLm5leHRFbGVtZW50U2libGluZy5xdWVyeVNlbGVjdG9yQWxsKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnW25hbWU9JyArIHRoaXMua2V5ICsgJ10nXHJcbiAgICAgICAgICAgICAgICAgICAgKVswXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGlmIChwYXJlbnRTZWxlY3Rvci5wcmV2aW91c0VsZW1lbnRTaWJsaW5nID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudHNMaXN0ID0gcGFyZW50U2VsZWN0b3IucGFyZW50RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnW25hbWU9JyArIHRoaXMua2V5ICsgJ10nXHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICBzYW1lRWxlbWVudEluVGhlV2FudGVkUm93QnlDbGFzc05hbWUgPVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50c0xpc3RbZWxlbWVudHNMaXN0Lmxlbmd0aCAtIDFdO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBzYW1lRWxlbWVudEluVGhlV2FudGVkUm93QnlDbGFzc05hbWUgPSBwYXJlbnRTZWxlY3Rvci5wcmV2aW91c0VsZW1lbnRTaWJsaW5nLnF1ZXJ5U2VsZWN0b3JBbGwoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdbbmFtZT0nICsgdGhpcy5rZXkgKyAnXSdcclxuICAgICAgICAgICAgICAgICAgICApWzBdO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gc2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvd0J5Q2xhc3NOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3coZXZlbnQ6IGFueSwgaXNOZXh0ID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgICAgIC8vIE5hdmlnYXRlIHRvIHRoZSBRUyBpbiB0aGUgbmV4dCByb3cuXHJcbiAgICAgICAgaWYgKHRoaXMubGF5b3V0VHlwZSA9PT0gJ2NhcmQnIHx8IHRoaXMubGF5b3V0VHlwZSA9PT0gJ3RhYmxlJykge1xyXG4gICAgICAgICAgICB0aGlzLnNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3cgPSB0aGlzLmdldFNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3dCeUNsYXNzTmFtZShcclxuICAgICAgICAgICAgICAgIGV2ZW50LFxyXG4gICAgICAgICAgICAgICAgaXNOZXh0XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLlFTSW5wdXQubmF0aXZlRWxlbWVudC5ibHVyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZm9jdXNUb1RoZVNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3coKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuc2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvdykge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtID0gdGhpcy5zYW1lRWxlbWVudEluVGhlV2FudGVkUm93O1xyXG4gICAgICAgICAgICAvLyBJZiB0aGlzIGlzIHJlZ3VsYXIgaXRlbSAocXMgYW5kIG5vdCBidXR0b24pIC5cclxuICAgICAgICAgICAgaWYgKGVsZW0gaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50ICYmIGVsZW0udHlwZSA9PT0gJ3RleHQnKSB7XHJcbiAgICAgICAgICAgICAgICBlbGVtLmNsaWNrKCk7XHJcbiAgICAgICAgICAgICAgICBlbGVtLnNlbGVjdCgpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50RWxlbSA9IGVsZW0ucGFyZW50Tm9kZTtcclxuICAgICAgICAgICAgICAgIHBhcmVudEVsZW0uY2xpY2soKTtcclxuICAgICAgICAgICAgICAgIGVsZW0uZm9jdXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3cgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjbGVhbkVycm9yKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZpZWxkQ29udHJvbCA9IHRoaXMuZm9ybS5jb250cm9sc1t0aGlzLmtleV07XHJcblxyXG4gICAgICAgIC8vIENsZWFuIHRoZSBlcnJvciBtZXNzYWdlXHJcbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZXMgJiYgdGhpcy5tZXNzYWdlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXMgPSB0aGlzLm5vdGlmaWNhdGlvbkluZm8gPSBudWxsO1xyXG4gICAgICAgICAgICBmaWVsZENvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbk1hdHJpeE1vdXNlRW50ZXIoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNNYXRyaXhGb2N1cyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgb25NYXRyaXhNb3VzZWxlYXZlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzTWF0cml4Rm9jdXMgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBvbk1hdHJpeENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmlzSW5Gb2N1cyA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLlFTSW5wdXQgJiYgdGhpcy5RU0lucHV0Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5RU0lucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25NYXRyaXhCbHVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICFldmVudC5yZWxhdGVkVGFyZ2V0IHx8XHJcbiAgICAgICAgICAgIGV2ZW50LnJlbGF0ZWRUYXJnZXQuY2xhc3NOYW1lLmluZGV4T2YoJ3FzJykgPCAwXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNNYXRyaXhGb2N1cyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5vbkJsdXIoZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIG9uRm9jdXMoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaXNJbkZvY3VzID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpc0RpZmZlcmVudFZhbHVlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgcmVzID0gZmFsc2U7XHJcblxyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMudXRpbGl0aWVzU2VydmljZS5jb2VyY2VOdW1iZXJQcm9wZXJ0eShcclxuICAgICAgICAgICAgdGhpcy52YWx1ZVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLnV0aWxpdGllc1NlcnZpY2UuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xyXG5cclxuICAgICAgICByZXMgPSBjdXJyZW50VmFsdWUgIT09IG5ld1ZhbHVlO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVzO1xyXG4gICAgfVxyXG5cclxuICAgIG9uQmx1cihldmVudDogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5pc0luRm9jdXMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNsZWFuRXJyb3IoKTtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IGV2ZW50O1xyXG5cclxuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMudmFsdWUgJiYgdGhpcy5pc0RpZmZlcmVudFZhbHVlKHZhbHVlKSkge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcblxyXG4gICAgICAgICAgICAvLyBJZiB0aGUgdXNlciBpcyBzZXR0aW5nIHRoZSBmb3JtYXR0ZWQgdmFsdWUgdGhlbiBzZXQgdGhlIHZhbHVlIHRpbGwgdGhlIHVzZXIgZm9ybWF0IGl0IGFuZCByZXR1cm4gaXQgYmFjay5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLl9jYWxjdWxhdGVGb3JtYXR0ZWRWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZm9ybWF0dGVkVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9jdXNUb1RoZVNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3coKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb25LZXlkb3duKGV2ZW50KTogYW55IHtcclxuICAgICAgICBjb25zdCBrZXlib2FyZEV2ZW50ID0gZXZlbnQgYXMgS2V5Ym9hcmRFdmVudDtcclxuXHJcbiAgICAgICAgaWYgKGtleWJvYXJkRXZlbnQua2V5ID09PSAnRW50ZXInKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvdyhcclxuICAgICAgICAgICAgICAgIGtleWJvYXJkRXZlbnQsXHJcbiAgICAgICAgICAgICAgICAha2V5Ym9hcmRFdmVudC5zaGlmdEtleVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5jcmVtZW50KGV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhbmRBbG9uZSkge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy51dGlsaXRpZXNTZXJ2aWNlLmluY3JlbWVudE51bWJlcih0aGlzLnZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZWxlbWVudENsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICAgICAgICB2YWx1ZTogUGVwUXVhbnRpdHlTZWxlY3RvckNvbXBvbmVudC5QTFVTLFxyXG4gICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcclxuICAgICAgICAgICAgZXZlbnRXaGljaDogZXZlbnQud2hpY2gsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZGVjcmVtZW50KGV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhbmRBbG9uZSkge1xyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy51dGlsaXRpZXNTZXJ2aWNlLmRlY3JlbWVudE51bWJlcih0aGlzLnZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuZWxlbWVudENsaWNrLmVtaXQoe1xyXG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxyXG4gICAgICAgICAgICB2YWx1ZTogUGVwUXVhbnRpdHlTZWxlY3RvckNvbXBvbmVudC5NSU5VUyxcclxuICAgICAgICAgICAgY29udHJvbFR5cGU6IHRoaXMuY29udHJvbFR5cGUsXHJcbiAgICAgICAgICAgIGV2ZW50V2hpY2g6IGV2ZW50LndoaWNoLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIGVudGVyQ2hpbGRyZW4oZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KHtcclxuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcclxuICAgICAgICAgICAgdmFsdWU6IFBlcFF1YW50aXR5U2VsZWN0b3JDb21wb25lbnQuRU5URVJfQ0hJTERSRU4sXHJcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbnRyb2xUeXBlLFxyXG4gICAgICAgICAgICBldmVudFdoaWNoOiBldmVudC53aGljaCxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBlbnRlclBhY2thZ2UoZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KHtcclxuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcclxuICAgICAgICAgICAgdmFsdWU6IFBlcFF1YW50aXR5U2VsZWN0b3JDb21wb25lbnQuRU5URVJfUEFDS0FHRSxcclxuICAgICAgICAgICAgY29udHJvbFR5cGU6IHRoaXMuY29udHJvbFR5cGUsXHJcbiAgICAgICAgICAgIGV2ZW50V2hpY2g6IGV2ZW50LndoaWNoLFxyXG4gICAgICAgICAgICBvdGhlckRhdGE6IHRoaXMubm90aWZpY2F0aW9uSW5mbyxcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXR1cFFzQnV0dG9ucyhxc1dpZHRoOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLnNob3dRc0J0biA9IHFzV2lkdGggPiAxMjA7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jZFsnZGVzdHJveWVkJ10pIHtcclxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldFFzVmlldygpOiB2b2lkIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMuUVNDb250ICYmXHJcbiAgICAgICAgICAgIHRoaXMuUVNDb250Lm5hdGl2ZUVsZW1lbnQgJiZcclxuICAgICAgICAgICAgdGhpcy5RU0NvbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA+IDBcclxuICAgICAgICApIHtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnFzV2lkdGhTdWJqZWN0Lm5leHQodGhpcy5RU0NvbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XHJcbiAgICAgICAgICAgIH0sIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
461
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnRpdHktc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9xdWFudGl0eS1zZWxlY3Rvci9xdWFudGl0eS1zZWxlY3Rvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFJVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsU0FBUyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDSCxPQUFPLEVBQ1AsS0FBSyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxHQUNiLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUdILHVCQUF1QixFQUV2Qiw0QkFBNEIsRUFHNUIsd0JBQXdCLEVBQ3hCLG1CQUFtQixHQUN0QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxlQUFlLEVBQWEsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBZ0Isb0JBQW9CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUE0QnZELE1BQU0sT0FBTyw0QkFBNEI7SUF1S3JDLFlBQ1ksRUFBcUIsRUFDckIsb0JBQTZDLEVBQzdDLFFBQW1CLEVBQ25CLE9BQW1CLEVBQ25CLFNBQTJCLEVBQzNCLGdCQUFxQztRQUxyQyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXlCO1FBQzdDLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENB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LFNBQVMsRUFBRSxVQUFVO3lCQUN4QixDQUFDLENBQ0w7d0JBQ0QsS0FBSyxDQUNELE1BQU0sRUFDTixLQUFLLENBQUM7NEJBQ0YsT0FBTyxFQUFFLENBQUM7NEJBQ1YsU0FBUyxFQUFFLFVBQVU7eUJBQ3hCLENBQUMsQ0FDTDt3QkFDRCxVQUFVLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3dCQUNyRCxVQUFVLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztxQkFDdkQsQ0FBQztpQkFDTDs7YUFDSjs7O1lBckRHLGlCQUFpQjtZQWdCakIsdUJBQXVCO1lBZHZCLFNBQVM7WUFIVCxVQUFVO1lBMkJMLGdCQUFnQjtZQUpyQixtQkFBbUI7OztrQkF1Q2xCLEtBQUs7b0JBR0wsS0FBSzs2QkFpQkwsS0FBSztvQkFnQkwsS0FBSzttQkFDTCxLQUFLO3dCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLO3dCQUdMLEtBQUs7eUJBU0wsS0FBSztzQkFDTCxLQUFLOzJCQUNMLEtBQUs7OEJBQ0wsS0FBSzsrQkFHTCxLQUFLO3NCQXVDTCxLQUFLO21CQXFCTCxLQUFLO3dCQUNMLEtBQUs7MEJBQ0wsS0FBSzt5QkFDTCxLQUFLO3VCQUNMLEtBQUs7d0JBR0wsS0FBSzswQkFLTCxNQUFNOzJCQUdOLE1BQU07cUJBR04sU0FBUyxTQUFDLFFBQVE7c0JBQ2xCLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBWaWV3Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBSZW5kZXJlcjIsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICAgIHRyaWdnZXIsXG4gICAgc3RhdGUsXG4gICAgc3R5bGUsXG4gICAgYW5pbWF0ZSxcbiAgICB0cmFuc2l0aW9uLFxufSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gICAgUGVwTGF5b3V0VHlwZSxcbiAgICBQZXBTdHlsZVR5cGUsXG4gICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgUGVwSG9yaXpvbnRhbEFsaWdubWVudCxcbiAgICBERUZBVUxUX0hPUklaT05UQUxfQUxJR05NRU5ULFxuICAgIElQZXBGaWVsZENsaWNrRXZlbnQsXG4gICAgUGVwUXVhbnRpdHlTZWxlY3RvckZpZWxkVHlwZSxcbiAgICBQZXBRdWFudGl0eVNlbGVjdG9yRmllbGQsXG4gICAgUGVwVXRpbGl0aWVzU2VydmljZSxcbn0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtcXVhbnRpdHktc2VsZWN0b3InLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9xdWFudGl0eS1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vcXVhbnRpdHktc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnLCAnLi9xdWFudGl0eS1zZWxlY3Rvci5jb21wb25lbnQudGhlbWUuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignc2hvd0hpZGUnLCBbXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnc2hvdycsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgxKScsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnaGlkZScsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgwKScsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCdzaG93ID0+IGhpZGUnLCBhbmltYXRlKCcyNTBtcyBlYXNlLW91dCcpKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ2hpZGUgPT4gc2hvdycsIGFuaW1hdGUoJzI1MG1zIGVhc2UtaW4nKSksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFF1YW50aXR5U2VsZWN0b3JDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBzdGF0aWMgRU5URVJfQ0hJTERSRU4gPSAnW0VudGVyQ2hpbGRyZW5dJztcbiAgICBwdWJsaWMgc3RhdGljIEVOVEVSX1BBQ0tBR0UgPSAnW0VudGVyUGFja2FnZV0nO1xuICAgIHB1YmxpYyBzdGF0aWMgUExVUyA9ICdbK10nO1xuICAgIHB1YmxpYyBzdGF0aWMgTUlOVVMgPSAnWy1dJztcblxuICAgIEBJbnB1dCgpIGtleSA9ICcnO1xuXG4gICAgcHJpdmF0ZSBfdmFsdWUgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKHRoaXMuX2NhbGN1bGF0ZUZvcm1hdHRlZFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLnNldEZvcm1hdHRlZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2Zvcm1hdHRlZFZhbHVlID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHNldCBmb3JtYXR0ZWRWYWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlID0gJyc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fY2FsY3VsYXRlRm9ybWF0dGVkVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2NhbGN1bGF0ZUZvcm1hdHRlZFZhbHVlID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldEZvcm1hdHRlZFZhbHVlKHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IGZvcm1hdHRlZFZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9mb3JtYXR0ZWRWYWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xuICAgIEBJbnB1dCgpIHR5cGU6IFBlcFF1YW50aXR5U2VsZWN0b3JGaWVsZFR5cGUgPSAncXMnO1xuICAgIEBJbnB1dCgpIG1hbmRhdG9yeSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gICAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX3RleHRDb2xvciA9ICcnO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRleHRDb2xvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3RleHRDb2xvciA9IHZhbHVlO1xuICAgICAgICB0aGlzLmlzQ2F1dGlvbiA9IHZhbHVlID09PSAnI0ZGMDAwMCc7XG4gICAgfVxuICAgIGdldCB0ZXh0Q29sb3IoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RleHRDb2xvcjtcbiAgICB9XG5cbiAgICBASW5wdXQoKSB4QWxpZ25tZW50OiBQZXBIb3Jpem9udGFsQWxpZ25tZW50ID0gREVGQVVMVF9IT1JJWk9OVEFMX0FMSUdOTUVOVDtcbiAgICBASW5wdXQoKSByb3dTcGFuID0gMTtcbiAgICBASW5wdXQoKSBhbGxvd0RlY2ltYWwgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhZGRpdGlvbmFsVmFsdWUgPSAnJztcblxuICAgIHByaXZhdGUgX25vdGlmaWNhdGlvbkluZm86IGFueTtcbiAgICBASW5wdXQoKVxuICAgIHNldCBub3RpZmljYXRpb25JbmZvKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uSW5mbyA9IHZhbHVlO1xuXG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gdmFsdWUgJiYgdmFsdWUgPiAwID8gSlNPTi5wYXJzZSh2YWx1ZSkuTWVzc2FnZXMgOiAnJztcbiAgICAgICAgaWYgKG1lc3NhZ2VzICYmIG1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIC8vIFJlcGxhY2UgdGhlIG1zZyBrZXlzLlxuICAgICAgICAgICAgZm9yIChjb25zdCBtc2cgb2YgbWVzc2FnZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAobXNnLktleSA9PT0gJ0ludmVudG9yeV9MaW1pdF9Nc2cnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1zZy5LZXkgPSAnTUVTU0FHRVMuRVJST1JfSU5WRU5UT1JZX0xJTUlUJztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1zZy5LZXkgPT09ICdDYXNlX1F1YW50aXR5X0xpbWl0X01zZycpIHtcbiAgICAgICAgICAgICAgICAgICAgbXNnLktleSA9ICdNRVNTQUdFUy5FUlJPUl9DQVNFX1FVQU5USVRZX0xJTUlUJztcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1zZy5LZXkgPT09ICdNaW5fUXVhbnRpdHlfTGltaXRfTXNnJykge1xuICAgICAgICAgICAgICAgICAgICBtc2cuS2V5ID0gJ01FU1NBR0VTLkVSUk9SX01JTl9RVUFOVElUWV9MSU1JVCc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChtc2cuS2V5ID09PSAnTWF4X1F1YW50aXR5X0xpbWl0X01zZycpIHtcbiAgICAgICAgICAgICAgICAgICAgbXNnLktleSA9ICdNRVNTQUdFUy5FUlJPUl9NQVhfUVVBTlRJVFlfTElNSVQnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG1lc3NhZ2VzO1xuXG4gICAgICAgICAgICBjb25zdCBmaWVsZENvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5rZXldO1xuICAgICAgICAgICAgZmllbGRDb250cm9sLnNldEVycm9ycyh7XG4gICAgICAgICAgICAgICAgc2VydmVyRXJyb3I6ICdFcnJvcicsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5zYW1lRWxlbWVudEluVGhlV2FudGVkUm93ID0gbnVsbDtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLlFTSW5wdXQgJiYgdGhpcy5RU0lucHV0Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5RU0lucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAxNTApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBub3RpZmljYXRpb25JbmZvKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ub3RpZmljYXRpb25JbmZvO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3Zpc2libGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZpc2libGUodmlzaWJsZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl92aXNpYmxlID0gdmlzaWJsZTtcbiAgICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ2hpZGRlbi1lbGVtZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ2hpZGRlbi1lbGVtZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gICAgfVxuXG4gICAgY29udHJvbFR5cGUgPSAncXMnO1xuXG4gICAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwID0gbnVsbDtcbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHJlbmRlclRpdGxlID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBsYXlvdXRUeXBlOiBQZXBMYXlvdXRUeXBlID0gJ2Zvcm0nO1xuICAgIEBJbnB1dCgpIGlzQWN0aXZlID0gZmFsc2U7XG5cbiAgICAvLyBHZXQgZGVmYXVsdCBzdHlsZSBmcm9tIHRoZW1lLlxuICAgIEBJbnB1dCgpXG4gICAgc3R5bGVUeXBlOiBQZXBTdHlsZVR5cGUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcbiAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RZTEVfUVNfS0VZXG4gICAgKSBhcyBQZXBTdHlsZVR5cGU7IC8vJ3N0cm9uZyc7XG5cbiAgICBAT3V0cHV0KClcbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGVsZW1lbnRDbGljazogRXZlbnRFbWl0dGVyPElQZXBGaWVsZENsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PigpO1xuXG4gICAgQFZpZXdDaGlsZCgnUVNDb250JykgUVNDb250OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ1FTSW5wdXQnKSBRU0lucHV0OiBFbGVtZW50UmVmO1xuXG4gICAgcHJpdmF0ZSBfY2FsY3VsYXRlRm9ybWF0dGVkVmFsdWUgPSB0cnVlO1xuICAgIGdldCBjYWxjdWxhdGVGb3JtYXR0ZWRWYWx1ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhbGN1bGF0ZUZvcm1hdHRlZFZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3llZDogU3ViamVjdDx2b2lkPjtcbiAgICBwcml2YXRlIHFzV2lkdGhTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPjtcbiAgICBsYXN0UXNDb250Q2xpZW50V2lkdGggPSAwO1xuICAgIHNob3dRc0J0biA9IHRydWU7XG5cbiAgICBzdGFuZEFsb25lID0gZmFsc2U7XG4gICAgaXNJbkZvY3VzID0gZmFsc2U7XG4gICAgaXNNYXRyaXhGb2N1cyA9IGZhbHNlO1xuXG4gICAgaXNDYXV0aW9uID0gZmFsc2U7XG4gICAgbWVzc2FnZXM6IEFycmF5PGFueT4gPSBudWxsO1xuXG4gICAgc2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvdyA9IG51bGw7XG5cbiAgICBpc0VtcHR5S2V5ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdXRpbGl0aWVzU2VydmljZTogUGVwVXRpbGl0aWVzU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLl9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdCgpO1xuICAgICAgICB0aGlzLnFzV2lkdGhTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcbiAgICB9XG5cbiAgICBzZXRGb3JtKCkge1xuICAgICAgICBjb25zdCBwZXBGaWVsZCA9IG5ldyBQZXBRdWFudGl0eVNlbGVjdG9yRmllbGQoe1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICAgICAgbWFuZGF0b3J5OiB0aGlzLm1hbmRhdG9yeSxcbiAgICAgICAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLmN1c3RvbWl6YXRpb25TZXJ2aWNlLmdldERlZmF1bHRGcm9tR3JvdXAocGVwRmllbGQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Rm9ybWF0dGVkVmFsdWUodmFsdWU6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5fY2FsY3VsYXRlRm9ybWF0dGVkVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1hdHRlZFZhbHVlID0gdGhpcy51dGlsaXRpZXNTZXJ2aWNlLmZvcm1hdE51bWJlcih2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9mb3JtYXR0ZWRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVGb3JtRmllbGRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRm9ybUZpZWxkVmFsdWUoKSB7XG4gICAgICAgIHRoaXMuY3VzdG9taXphdGlvblNlcnZpY2UudXBkYXRlRm9ybUZpZWxkVmFsdWUoXG4gICAgICAgICAgICB0aGlzLmZvcm0sXG4gICAgICAgICAgICB0aGlzLmtleSxcbiAgICAgICAgICAgIHRoaXMuZm9ybWF0dGVkVmFsdWVcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgZGlzcGxheVZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlcyA9IHRoaXMuaXNJbkZvY3VzXG4gICAgICAgICAgICA/IHBhcnNlRmxvYXQodGhpcy52YWx1ZSkudG9TdHJpbmcoKVxuICAgICAgICAgICAgOiB0aGlzLmZvcm1hdHRlZFZhbHVlO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXREZXN0cm95ZXIoKSB7XG4gICAgICAgIHJldHVybiB0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHRoaXMua2V5ID09PSAnJykge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNFbXB0eUtleSA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc3RhbmRBbG9uZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNldEZvcm0oKTtcblxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICBQZXBDdXN0b21pemF0aW9uU2VydmljZS5TVEFORF9BTE9ORV9GSUVMRF9DTEFTU19OQU1FXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMucmVuZGVyVGl0bGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UuU1RBTkRfQUxPTkVfRklFTERfTk9fU1BBQ0lOR19DTEFTU19OQU1FXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucXNXaWR0aFN1YmplY3RcbiAgICAgICAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgICAgICAgLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHFzV2lkdGg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBRc0J1dHRvbnMocXNXaWR0aCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1GaWVsZFZhbHVlKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRRc1ZpZXcoKTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gQnVnIGZpeCBmb3IgYWRkb25zIHdoZW4gdGhlIGtleSBpcyAnJyBpbiB0aGUgbmdPbkluaXQgZm9yIHNvbWUgcmVzb25cbiAgICAgICAgaWYgKHRoaXMuaXNFbXB0eUtleSAmJiB0aGlzLmtleSAhPT0gJycpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0Rm9ybSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzVG9UaGVTYW1lRWxlbWVudEluVGhlV2FudGVkUm93KCk7XG4gICAgICAgIH0sIDE1MCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2Rlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIGdldCBnZXRBZGRpdGlvbmFsVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkaXRpb25hbFZhbHVlLmxlbmd0aCA+IDAgPyAnc2hvdycgOiAnaGlkZSc7XG4gICAgfVxuXG4gICAgZ2V0UGFyZW50QnlDbGFzcyhlbCwgcGFyZW50U2VsZWN0b3IgLyogb3B0aW9uYWwgKi8pOiBhbnkge1xuICAgICAgICAvLyBJZiBubyBwYXJlbnRTZWxlY3RvciBkZWZpbmVkIHdpbGwgYnViYmxlIHVwIGFsbCB0aGUgd2F5IHRvICpkb2N1bWVudCpcbiAgICAgICAgaWYgKHBhcmVudFNlbGVjdG9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHBhcmVudFNlbGVjdG9yID0gZG9jdW1lbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcCA9IGVsLnBhcmVudE5vZGU7XG5cbiAgICAgICAgd2hpbGUgKFxuICAgICAgICAgICAgcCAmJlxuICAgICAgICAgICAgIXA/LmNsYXNzTGlzdD8uY29udGFpbnMocGFyZW50U2VsZWN0b3IpICYmXG4gICAgICAgICAgICBwYXJlbnRTZWxlY3RvciAhPT0gZG9jdW1lbnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBjb25zdCBvID0gcDtcbiAgICAgICAgICAgIHAgPSBvPy5wYXJlbnROb2RlIHx8IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcD8uY2xhc3NOYW1lLmluZGV4T2YocGFyZW50U2VsZWN0b3IpID4gLTEgPyBwIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXRTYW1lRWxlbWVudEluVGhlV2FudGVkUm93QnlDbGFzc05hbWUoZXZlbnQ6IGFueSwgaXNOZXh0ID0gdHJ1ZSk6IGFueSB7XG4gICAgICAgIGNvbnN0IGV2ZW50VGFyZ2V0ID0gZXZlbnQudGFyZ2V0IHx8IGV2ZW50LnNyY0VsZW1lbnQ7XG4gICAgICAgIGxldCBzYW1lRWxlbWVudEluVGhlV2FudGVkUm93QnlDbGFzc05hbWU7XG5cbiAgICAgICAgbGV0IHBhcmVudFNlbGVjdG9yO1xuICAgICAgICBpZiAodGhpcy5sYXlvdXRUeXBlID09PSAndGFibGUnKSB7XG4gICAgICAgICAgICBwYXJlbnRTZWxlY3RvciA9IHRoaXMuZ2V0UGFyZW50QnlDbGFzcyhldmVudFRhcmdldCwgJ3RhYmxlLXJvdycpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGF5b3V0VHlwZSA9PT0gJ2NhcmQnKSB7XG4gICAgICAgICAgICBwYXJlbnRTZWxlY3RvciA9IHRoaXMuZ2V0UGFyZW50QnlDbGFzcyhldmVudFRhcmdldCwgJ2NhcmQtdmlldycpO1xuICAgICAgICAgICAgaWYgKCFwYXJlbnRTZWxlY3Rvcikge1xuICAgICAgICAgICAgICAgIHBhcmVudFNlbGVjdG9yID0gdGhpcy5nZXRQYXJlbnRCeUNsYXNzKFxuICAgICAgICAgICAgICAgICAgICBldmVudFRhcmdldCxcbiAgICAgICAgICAgICAgICAgICAgJ2xpbmUtdmlldydcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcGFyZW50U2VsZWN0b3IubmV4dEVsZW1lbnRTaWJsaW5nID09PSBudWxsICYmXG4gICAgICAgICAgICBwYXJlbnRTZWxlY3Rvci5wcmV2aW91c0VsZW1lbnRTaWJsaW5nID09PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgICAgc2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvd0J5Q2xhc3NOYW1lID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChpc05leHQpIHtcbiAgICAgICAgICAgICAgICBpZiAocGFyZW50U2VsZWN0b3IubmV4dEVsZW1lbnRTaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3dCeUNsYXNzTmFtZSA9IHBhcmVudFNlbGVjdG9yLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICdbbmFtZT0nICsgdGhpcy5rZXkgKyAnXSdcbiAgICAgICAgICAgICAgICAgICAgKVswXTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzYW1lRWxlbWVudEluVGhlV2FudGVkUm93QnlDbGFzc05hbWUgPSBwYXJlbnRTZWxlY3Rvci5uZXh0RWxlbWVudFNpYmxpbmcucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICdbbmFtZT0nICsgdGhpcy5rZXkgKyAnXSdcbiAgICAgICAgICAgICAgICAgICAgKVswXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChwYXJlbnRTZWxlY3Rvci5wcmV2aW91c0VsZW1lbnRTaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzTGlzdCA9IHBhcmVudFNlbGVjdG9yLnBhcmVudEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICAgICAgICAgICdbbmFtZT0nICsgdGhpcy5rZXkgKyAnXSdcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgc2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvd0J5Q2xhc3NOYW1lID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRzTGlzdFtlbGVtZW50c0xpc3QubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvd0J5Q2xhc3NOYW1lID0gcGFyZW50U2VsZWN0b3IucHJldmlvdXNFbGVtZW50U2libGluZy5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1tuYW1lPScgKyB0aGlzLmtleSArICddJ1xuICAgICAgICAgICAgICAgICAgICApWzBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBzYW1lRWxlbWVudEluVGhlV2FudGVkUm93QnlDbGFzc05hbWU7XG4gICAgfVxuXG4gICAgc2V0U2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvdyhldmVudDogYW55LCBpc05leHQgPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIC8vIE5hdmlnYXRlIHRvIHRoZSBRUyBpbiB0aGUgbmV4dCByb3cuXG4gICAgICAgIGlmICh0aGlzLmxheW91dFR5cGUgPT09ICdjYXJkJyB8fCB0aGlzLmxheW91dFR5cGUgPT09ICd0YWJsZScpIHtcbiAgICAgICAgICAgIHRoaXMuc2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvdyA9IHRoaXMuZ2V0U2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvd0J5Q2xhc3NOYW1lKFxuICAgICAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgICAgIGlzTmV4dFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuUVNJbnB1dC5uYXRpdmVFbGVtZW50LmJsdXIoKTtcbiAgICB9XG5cbiAgICBmb2N1c1RvVGhlU2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvdygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvdykge1xuICAgICAgICAgICAgY29uc3QgZWxlbSA9IHRoaXMuc2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvdztcbiAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgcmVndWxhciBpdGVtIChxcyBhbmQgbm90IGJ1dHRvbikgLlxuICAgICAgICAgICAgaWYgKGVsZW0gaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50ICYmIGVsZW0udHlwZSA9PT0gJ3RleHQnKSB7XG4gICAgICAgICAgICAgICAgZWxlbS5jbGljaygpO1xuICAgICAgICAgICAgICAgIGVsZW0uc2VsZWN0KCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudEVsZW0gPSBlbGVtLnBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgcGFyZW50RWxlbS5jbGljaygpO1xuICAgICAgICAgICAgICAgIGVsZW0uZm9jdXMoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2FtZUVsZW1lbnRJblRoZVdhbnRlZFJvdyA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhbkVycm9yKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWVsZENvbnRyb2wgPSB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5rZXldO1xuXG4gICAgICAgIC8vIENsZWFuIHRoZSBlcnJvciBtZXNzYWdlXG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2VzICYmIHRoaXMubWVzc2FnZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IHRoaXMubm90aWZpY2F0aW9uSW5mbyA9IG51bGw7XG4gICAgICAgICAgICBmaWVsZENvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25NYXRyaXhNb3VzZUVudGVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc01hdHJpeEZvY3VzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbk1hdHJpeE1vdXNlbGVhdmUoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzTWF0cml4Rm9jdXMgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbk1hdHJpeENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0luRm9jdXMgPSB0cnVlO1xuXG4gICAgICAgIGlmICh0aGlzLlFTSW5wdXQgJiYgdGhpcy5RU0lucHV0Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuUVNJbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1hdHJpeEJsdXIoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhZXZlbnQucmVsYXRlZFRhcmdldCB8fFxuICAgICAgICAgICAgZXZlbnQucmVsYXRlZFRhcmdldC5jbGFzc05hbWUuaW5kZXhPZigncXMnKSA8IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmlzTWF0cml4Rm9jdXMgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25CbHVyKGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkZvY3VzKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0luRm9jdXMgPSB0cnVlO1xuICAgIH1cblxuICAgIGlzRGlmZmVyZW50VmFsdWUodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgcmVzID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy51dGlsaXRpZXNTZXJ2aWNlLmNvZXJjZU51bWJlclByb3BlcnR5KFxuICAgICAgICAgICAgdGhpcy52YWx1ZVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudXRpbGl0aWVzU2VydmljZS5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgcmVzID0gY3VycmVudFZhbHVlICE9PSBuZXdWYWx1ZTtcblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIG9uQmx1cihldmVudDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNJbkZvY3VzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2xlYW5FcnJvcigpO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IGV2ZW50O1xuXG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdGhpcy52YWx1ZSAmJiB0aGlzLmlzRGlmZmVyZW50VmFsdWUodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICAgICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIHNldHRpbmcgdGhlIGZvcm1hdHRlZCB2YWx1ZSB0aGVuIHNldCB0aGUgdmFsdWUgdGlsbCB0aGUgdXNlciBmb3JtYXQgaXQgYW5kIHJldHVybiBpdCBiYWNrLlxuICAgICAgICAgICAgaWYgKCF0aGlzLl9jYWxjdWxhdGVGb3JtYXR0ZWRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2Zvcm1hdHRlZFZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNUb1RoZVNhbWVFbGVtZW50SW5UaGVXYW50ZWRSb3coKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudCk6IGFueSB7XG4gICAgICAgIGNvbnN0IGtleWJvYXJkRXZlbnQgPSBldmVudCBhcyBLZXlib2FyZEV2ZW50O1xuXG4gICAgICAgIGlmIChrZXlib2FyZEV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICAgICAgdGhpcy5zZXRTYW1lRWxlbWVudEluVGhlV2FudGVkUm93KFxuICAgICAgICAgICAgICAgIGtleWJvYXJkRXZlbnQsXG4gICAgICAgICAgICAgICAgIWtleWJvYXJkRXZlbnQuc2hpZnRLZXlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluY3JlbWVudChldmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zdGFuZEFsb25lKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy51dGlsaXRpZXNTZXJ2aWNlLmluY3JlbWVudE51bWJlcih0aGlzLnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWxlbWVudENsaWNrLmVtaXQoe1xuICAgICAgICAgICAga2V5OiB0aGlzLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiBQZXBRdWFudGl0eVNlbGVjdG9yQ29tcG9uZW50LlBMVVMsXG4gICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgIGV2ZW50V2hpY2g6IGV2ZW50LndoaWNoLFxuICAgICAgICB9KTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgZGVjcmVtZW50KGV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnN0YW5kQWxvbmUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnV0aWxpdGllc1NlcnZpY2UuZGVjcmVtZW50TnVtYmVyKHRoaXMudmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbGVtZW50Q2xpY2suZW1pdCh7XG4gICAgICAgICAgICBrZXk6IHRoaXMua2V5LFxuICAgICAgICAgICAgdmFsdWU6IFBlcFF1YW50aXR5U2VsZWN0b3JDb21wb25lbnQuTUlOVVMsXG4gICAgICAgICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZSxcbiAgICAgICAgICAgIGV2ZW50V2hpY2g6IGV2ZW50LndoaWNoLFxuICAgICAgICB9KTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgZW50ZXJDaGlsZHJlbihldmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICB2YWx1ZTogUGVwUXVhbnRpdHlTZWxlY3RvckNvbXBvbmVudC5FTlRFUl9DSElMRFJFTixcbiAgICAgICAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbnRyb2xUeXBlLFxuICAgICAgICAgICAgZXZlbnRXaGljaDogZXZlbnQud2hpY2gsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGVudGVyUGFja2FnZShldmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVsZW1lbnRDbGljay5lbWl0KHtcbiAgICAgICAgICAgIGtleTogdGhpcy5rZXksXG4gICAgICAgICAgICB2YWx1ZTogUGVwUXVhbnRpdHlTZWxlY3RvckNvbXBvbmVudC5FTlRFUl9QQUNLQUdFLFxuICAgICAgICAgICAgY29udHJvbFR5cGU6IHRoaXMuY29udHJvbFR5cGUsXG4gICAgICAgICAgICBldmVudFdoaWNoOiBldmVudC53aGljaCxcbiAgICAgICAgICAgIG90aGVyRGF0YTogdGhpcy5ub3RpZmljYXRpb25JbmZvLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXR1cFFzQnV0dG9ucyhxc1dpZHRoOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5zaG93UXNCdG4gPSBxc1dpZHRoID4gMTIwO1xuXG4gICAgICAgIGlmICghdGhpcy5jZFsnZGVzdHJveWVkJ10pIHtcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0UXNWaWV3KCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLlFTQ29udCAmJlxuICAgICAgICAgICAgdGhpcy5RU0NvbnQubmF0aXZlRWxlbWVudCAmJlxuICAgICAgICAgICAgdGhpcy5RU0NvbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA+IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnFzV2lkdGhTdWJqZWN0Lm5leHQodGhpcy5RU0NvbnQubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCk7XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==