@colijnit/transaction 12.1.100 → 12.1.102

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 (315) hide show
  1. package/bundles/colijnit-transaction.umd.js +2968 -2949
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +409 -400
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +410 -401
  6. package/esm2015/lib/cache/service/business-object-cache-manager.service.js +1 -1
  7. package/esm2015/lib/cache/service/select-single-parameterized-cache.service.js +47 -0
  8. package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +7 -5
  9. package/esm2015/lib/component/core/base/transaction-base.component.js +37 -5
  10. package/esm2015/lib/component/core/base/transaction-filter-popup-base.component.js +8 -13
  11. package/esm2015/lib/component/core/base/transaction-grid-base.component.js +7 -18
  12. package/esm2015/lib/component/core/base/transaction-input-field-base.component.js +3 -11
  13. package/esm2015/lib/component/core/directive/overlay.directive.js +1 -2
  14. package/esm2015/lib/component/deposit-payment/deposit-payment.component.js +6 -5
  15. package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.js +4 -12
  16. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.js +4 -15
  17. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +2 -2
  18. package/esm2015/lib/component/editable-label/editable-label.component.js +1 -1
  19. package/esm2015/lib/component/payment/payment.component.js +62 -14
  20. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +1 -3
  21. package/esm2015/lib/component/relation/relation-general/relation-general.component.js +3 -1
  22. package/esm2015/lib/component/relation/relation-general/relation-general.module.js +4 -2
  23. package/esm2015/lib/component/search/search-filter-panel/search-filter-panel.component.js +2 -2
  24. package/esm2015/lib/component/search/search.component.js +2 -2
  25. package/esm2015/lib/component/transaction-card/transaction-card/transaction-card.component.js +18 -7
  26. package/esm2015/lib/component/transaction-card/transaction-card/transaction-card.module.js +9 -11
  27. package/esm2015/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.component.js +3 -14
  28. package/esm2015/lib/component/transaction-card/transaction-card-header/transaction-card-header.component.js +4 -18
  29. package/esm2015/lib/component/transaction-card/transaction-card-invoice/transaction-card-invoice.component.js +2 -2
  30. package/esm2015/lib/component/transaction-card/transaction-card-order-delivery/transaction-card-order-delivery.component.js +2 -2
  31. package/esm2015/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.component.js +11 -23
  32. package/esm2015/lib/component/transaction-card/transaction-card-receive-goods/transaction-card-receive-goods.component.js +2 -2
  33. package/esm2015/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.component.js +8 -27
  34. package/esm2015/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.js +3 -14
  35. package/esm2015/lib/component/transaction-grid/transaction-grid/transaction-grid.component.js +23 -6
  36. package/esm2015/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.js +4 -2
  37. package/esm2015/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.js +3 -17
  38. package/esm2015/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.js +10 -23
  39. package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.js +7 -18
  40. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +26 -16
  41. package/esm2015/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.js +28 -24
  42. package/esm2015/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.js +17 -6
  43. package/esm2015/lib/component/transaction-header-fields/transaction-header-branch.component.js +19 -8
  44. package/esm2015/lib/component/transaction-header-fields/transaction-header-currency.component.js +24 -12
  45. package/esm2015/lib/component/transaction-header-fields/transaction-header-definitive.component.js +3 -11
  46. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-method.component.js +10 -13
  47. package/esm2015/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.js +4 -12
  48. package/esm2015/lib/component/transaction-header-fields/transaction-header-deposit-amount.component.js +1 -12
  49. package/esm2015/lib/component/transaction-header-fields/transaction-header-deposit-percentage.component.js +1 -12
  50. package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-amount.component.js +1 -12
  51. package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.js +1 -12
  52. package/esm2015/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.js +1 -12
  53. package/esm2015/lib/component/transaction-header-fields/transaction-header-hold-codes.component.js +5 -11
  54. package/esm2015/lib/component/transaction-header-fields/transaction-header-marketing.component.js +5 -11
  55. package/esm2015/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.js +4 -15
  56. package/esm2015/lib/component/transaction-header-fields/transaction-header-payment-condition.component.js +4 -15
  57. package/esm2015/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.js +1 -12
  58. package/esm2015/lib/component/transaction-header-fields/transaction-header-price-kind.component.js +9 -19
  59. package/esm2015/lib/component/transaction-header-fields/transaction-header-reference.component.js +1 -12
  60. package/esm2015/lib/component/transaction-header-fields/transaction-header-relation-reference.component.js +1 -12
  61. package/esm2015/lib/component/transaction-header-fields/transaction-header-remarks.component.js +1 -12
  62. package/esm2015/lib/component/transaction-header-fields/transaction-header-sales-person.component.js +3 -14
  63. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +10 -22
  64. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.js +11 -25
  65. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.js +12 -12
  66. package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.js +19 -17
  67. package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line.component.js +10 -7
  68. package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line.module.js +12 -12
  69. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +20 -8
  70. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.module.js +5 -7
  71. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line-base.component.js +15 -19
  72. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +10 -7
  73. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.js +2 -2
  74. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.js +59 -62
  75. package/esm2015/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.module.js +4 -3
  76. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line-base.component.js +24 -25
  77. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +42 -42
  78. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.js +4 -3
  79. package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line-base.component.js +10 -22
  80. package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.component.js +7 -5
  81. package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.module.js +4 -3
  82. package/esm2015/lib/component/transaction-line/transaction-purchase-overview-line/transaction-purchase-overview-line.component.js +55 -67
  83. package/esm2015/lib/component/transaction-line/transaction-purchase-overview-line/transaction-purchase-overview-line.module.js +4 -2
  84. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line-base.component.js +5 -20
  85. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +7 -5
  86. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.js +14 -14
  87. package/esm2015/lib/component/transaction-line/transaction-text-line/transaction-text-line.component.js +1 -15
  88. package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.js +28 -14
  89. package/esm2015/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.module.js +4 -2
  90. package/esm2015/lib/component/transaction-line-delivery-history/transaction-line-delivery-history.component.js +34 -0
  91. package/esm2015/lib/component/transaction-line-delivery-history/transaction-line-delivery-history.module.js +25 -0
  92. package/esm2015/lib/component/transaction-line-fields/transaction-line-amount.component.js +3 -13
  93. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-button.component.js +24 -24
  94. package/esm2015/lib/component/transaction-line-fields/transaction-line-commission-code.component.js +5 -11
  95. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-button.component.js +19 -23
  96. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-date.component.js +1 -12
  97. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +7 -13
  98. package/esm2015/lib/component/transaction-line-fields/transaction-line-description.component.js +7 -18
  99. package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-amount.component.js +1 -12
  100. package/esm2015/lib/component/transaction-line-fields/transaction-line-discount-button.component.js +3 -13
  101. package/esm2015/lib/component/transaction-line-fields/transaction-line-drop-shipment-button.component.js +38 -32
  102. package/esm2015/lib/component/transaction-line-fields/transaction-line-line-discount.component.js +1 -12
  103. package/esm2015/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.js +3 -11
  104. package/esm2015/lib/component/transaction-line-fields/transaction-line-price-list.component.js +5 -11
  105. package/esm2015/lib/component/transaction-line-fields/transaction-line-quantity.component.js +1 -12
  106. package/esm2015/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.js +1 -12
  107. package/esm2015/lib/component/transaction-line-fields/transaction-line-reference.component.js +1 -12
  108. package/esm2015/lib/component/transaction-line-fields/transaction-line-special-discount.component.js +1 -12
  109. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier-button.component.js +33 -18
  110. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +19 -6
  111. package/esm2015/lib/component/transaction-line-fields/transaction-line-vat-button.component.js +12 -18
  112. package/esm2015/lib/component/transaction-line-fields/transaction-line-vat.component.js +5 -11
  113. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.js +20 -24
  114. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.js +21 -4
  115. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.js +19 -6
  116. package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +5 -11
  117. package/esm2015/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.js +32 -45
  118. package/esm2015/lib/component/transaction-line-invoice-history/transaction-line-invoice-history.component.js +34 -0
  119. package/esm2015/lib/component/transaction-line-invoice-history/transaction-line-invoice-history.module.js +25 -0
  120. package/esm2015/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.js +22 -37
  121. package/esm2015/lib/component/transaction-line-purchase-receive-goods/transaction-line-purchase-receive-goods.component.js +43 -36
  122. package/esm2015/lib/component/transaction-line-sales-allocation/transaction-line-sales-allocation.component.js +25 -17
  123. package/esm2015/lib/component/transaction-line-sales-delivery/transaction-line-sales-delivery.component.js +49 -0
  124. package/esm2015/lib/component/transaction-line-sales-delivery/transaction-line-sales-delivery.module.js +21 -0
  125. package/esm2015/lib/component/transaction-line-sales-invoice/transaction-line-sales-invoice.component.js +49 -0
  126. package/esm2015/lib/component/transaction-line-sales-invoice/transaction-line-sales-invoice.module.js +21 -0
  127. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.component.js +13 -1
  128. package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +6 -2
  129. package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.js +33 -42
  130. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +10 -22
  131. package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +4 -3
  132. package/esm2015/lib/component/transaction-print-package-sticker/transaction-print-package-sticker.component.js +4 -15
  133. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.js +5 -19
  134. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.js +22 -28
  135. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +4 -18
  136. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +15 -29
  137. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.js +12 -20
  138. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.js +10 -18
  139. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.js +10 -18
  140. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +6 -20
  141. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.js +4 -12
  142. package/esm2015/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.js +7 -6
  143. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-article/transaction-sales-order-filter-content-article.component.js +12 -12
  144. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-logistics/transaction-sales-order-filter-content-logistics.component.js +32 -44
  145. package/esm2015/lib/component/transaction-search/transaction-filter-content/sales-order-filter-content/transaction-sales-order-filter-content-order/transaction-sales-order-filter-content-order.component.js +26 -30
  146. package/esm2015/lib/component/transaction-send-documents/transaction-send-documents.component.js +12 -23
  147. package/esm2015/lib/component/transaction-tile/transaction-tile.component.js +4 -18
  148. package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
  149. package/esm2015/lib/service/payment.service.js +25 -11
  150. package/esm2015/lib/service/pending-reason.service.js +4 -12
  151. package/esm2015/lib/service/relation.service.js +10 -1
  152. package/esm2015/lib/service/transaction-base.service.js +3 -38
  153. package/esm2015/lib/service/transaction-connector-adapter.service.js +30 -4
  154. package/esm2015/lib/service/transaction-connector.service.js +16 -14
  155. package/esm2015/lib/service/transaction-event.service.js +2 -1
  156. package/esm2015/lib/service/transaction.service.js +28 -30
  157. package/esm2015/lib/transaction-version.js +3 -3
  158. package/fesm2015/colijnit-transaction.js +2928 -2946
  159. package/fesm2015/colijnit-transaction.js.map +1 -1
  160. package/lib/cache/service/business-object-cache-manager.service.d.ts +2 -2
  161. package/lib/cache/service/select-single-parameterized-cache.service.d.ts +19 -0
  162. package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +6 -6
  163. package/lib/component/core/base/transaction-base.component.d.ts +18 -3
  164. package/lib/component/core/base/transaction-filter-popup-base.component.d.ts +3 -8
  165. package/lib/component/core/base/transaction-grid-base.component.d.ts +5 -12
  166. package/lib/component/core/base/transaction-input-field-base.component.d.ts +0 -5
  167. package/lib/component/deposit-payment/deposit-payment.component.d.ts +5 -4
  168. package/lib/component/dialog/transaction-header/dialog-transaction-header-discount/dialog-transaction-header-discount.component.d.ts +0 -5
  169. package/lib/component/dialog/transaction-line/dialog-transaction-line-commission-code/style/_layout.scss +2 -5
  170. package/lib/component/dialog/transaction-line/dialog-transaction-line-discount/dialog-transaction-line-discount.component.d.ts +0 -7
  171. package/lib/component/dialog/transaction-line/dialog-transaction-line-vat/style/_layout.scss +1 -1
  172. package/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/style/_layout.scss +3 -3
  173. package/lib/component/editable-label/editable-label.component.d.ts +1 -1
  174. package/lib/component/payment/payment.component.d.ts +4 -0
  175. package/lib/component/payment/style/_layout.scss +6 -0
  176. package/lib/component/payment/style/_material-definition.scss +5 -0
  177. package/lib/component/payment/style/_theme.scss +3 -0
  178. package/lib/component/relation/relation-general/relation-general.component.d.ts +2 -0
  179. package/lib/component/relation/relation-general/style/_material-definition.scss +1 -1
  180. package/lib/component/transaction-card/transaction-card/transaction-card.component.d.ts +10 -3
  181. package/lib/component/transaction-card/transaction-card-footer/transaction-card-footer.component.d.ts +0 -7
  182. package/lib/component/transaction-card/transaction-card-header/transaction-card-header.component.d.ts +0 -9
  183. package/lib/component/transaction-card/transaction-card-purchase-overview/transaction-card-purchase-overview.component.d.ts +0 -9
  184. package/lib/component/transaction-card/transaction-card-sales-overview/transaction-card-sales-overview.component.d.ts +1 -13
  185. package/lib/component/transaction-confirmation-details/transaction-confirmation-details.component.d.ts +0 -7
  186. package/lib/component/transaction-grid/transaction-grid/transaction-grid.component.d.ts +15 -3
  187. package/lib/component/transaction-grid/transaction-history-grid/transaction-history-grid.component.d.ts +1 -0
  188. package/lib/component/transaction-grid/transaction-lines-grid/transaction-lines-grid.component.d.ts +0 -9
  189. package/lib/component/transaction-header/transaction-header-delivery/transaction-header-delivery.component.d.ts +0 -9
  190. package/lib/component/transaction-header/transaction-header-order/style/_layout.scss +1 -0
  191. package/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.d.ts +0 -7
  192. package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +16 -10
  193. package/lib/component/transaction-header/transaction-header-relation/style/_layout.scss +3 -0
  194. package/lib/component/transaction-header/transaction-header-relation/style/_material-definition.scss +2 -1
  195. package/lib/component/transaction-header/transaction-header-relation/transaction-header-relation.component.d.ts +11 -5
  196. package/lib/component/transaction-header-fields/transaction-header-administrative-relation.component.d.ts +10 -3
  197. package/lib/component/transaction-header-fields/transaction-header-branch.component.d.ts +11 -5
  198. package/lib/component/transaction-header-fields/transaction-header-currency.component.d.ts +14 -7
  199. package/lib/component/transaction-header-fields/transaction-header-definitive.component.d.ts +0 -5
  200. package/lib/component/transaction-header-fields/transaction-header-delivery-method.component.d.ts +6 -8
  201. package/lib/component/transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.component.d.ts +0 -5
  202. package/lib/component/transaction-header-fields/transaction-header-deposit-amount.component.d.ts +0 -5
  203. package/lib/component/transaction-header-fields/transaction-header-deposit-percentage.component.d.ts +0 -5
  204. package/lib/component/transaction-header-fields/transaction-header-discount-amount.component.d.ts +0 -5
  205. package/lib/component/transaction-header-fields/transaction-header-discount-percentage.component.d.ts +0 -5
  206. package/lib/component/transaction-header-fields/transaction-header-discount-transaction-total.component.d.ts +0 -5
  207. package/lib/component/transaction-header-fields/transaction-header-hold-codes.component.d.ts +0 -5
  208. package/lib/component/transaction-header-fields/transaction-header-marketing.component.d.ts +0 -5
  209. package/lib/component/transaction-header-fields/transaction-header-partial-delivery.component.d.ts +0 -7
  210. package/lib/component/transaction-header-fields/transaction-header-payment-condition.component.d.ts +1 -8
  211. package/lib/component/transaction-header-fields/transaction-header-preferred-delivery-date.component.d.ts +0 -5
  212. package/lib/component/transaction-header-fields/transaction-header-price-kind.component.d.ts +3 -10
  213. package/lib/component/transaction-header-fields/transaction-header-reference.component.d.ts +0 -5
  214. package/lib/component/transaction-header-fields/transaction-header-relation-reference.component.d.ts +0 -5
  215. package/lib/component/transaction-header-fields/transaction-header-remarks.component.d.ts +0 -5
  216. package/lib/component/transaction-header-fields/transaction-header-sales-person.component.d.ts +0 -7
  217. package/lib/component/transaction-line/transaction-base-line/style/_layout.scss +1 -0
  218. package/lib/component/transaction-line/transaction-base-line/style/_material-definition.scss +1 -0
  219. package/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.d.ts +0 -9
  220. package/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.d.ts +1 -11
  221. package/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.d.ts +3 -9
  222. package/lib/component/transaction-line/transaction-line/transaction-line.component.d.ts +10 -3
  223. package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line-base.component.d.ts +3 -11
  224. package/lib/component/transaction-line/transaction-overview-line/transaction-overview-line.component.d.ts +6 -14
  225. package/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line-base.component.d.ts +4 -11
  226. package/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line-base.component.d.ts +3 -12
  227. package/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.component.d.ts +1 -1
  228. package/lib/component/transaction-line/transaction-purchase-overview-line/transaction-purchase-overview-line.component.d.ts +3 -12
  229. package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line-base.component.d.ts +0 -11
  230. package/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.d.ts +2 -2
  231. package/lib/component/transaction-line/transaction-text-line/transaction-text-line.component.d.ts +0 -7
  232. package/lib/component/transaction-line-checkbox-list/style/_layout.scss +18 -2
  233. package/lib/component/transaction-line-checkbox-list/transaction-line-checkbox-list.component.d.ts +6 -5
  234. package/lib/component/transaction-line-delivery-history/style/_layout.scss +4 -0
  235. package/lib/component/transaction-line-delivery-history/style/_material-definition.scss +0 -0
  236. package/lib/component/transaction-line-delivery-history/style/_theme.scss +4 -0
  237. package/lib/component/transaction-line-delivery-history/style/material.scss +4 -0
  238. package/lib/component/transaction-line-delivery-history/transaction-line-delivery-history.component.d.ts +5 -0
  239. package/lib/component/transaction-line-delivery-history/transaction-line-delivery-history.module.d.ts +2 -0
  240. package/lib/component/transaction-line-fields/transaction-line-amount.component.d.ts +0 -5
  241. package/lib/component/transaction-line-fields/transaction-line-commission-button.component.d.ts +4 -7
  242. package/lib/component/transaction-line-fields/transaction-line-commission-code.component.d.ts +0 -5
  243. package/lib/component/transaction-line-fields/transaction-line-delivery-button.component.d.ts +3 -8
  244. package/lib/component/transaction-line-fields/transaction-line-delivery-date.component.d.ts +0 -5
  245. package/lib/component/transaction-line-fields/transaction-line-delivery-method.component.d.ts +0 -5
  246. package/lib/component/transaction-line-fields/transaction-line-description.component.d.ts +3 -10
  247. package/lib/component/transaction-line-fields/transaction-line-discount-amount.component.d.ts +0 -5
  248. package/lib/component/transaction-line-fields/transaction-line-discount-button.component.d.ts +0 -6
  249. package/lib/component/transaction-line-fields/transaction-line-drop-shipment-button.component.d.ts +12 -6
  250. package/lib/component/transaction-line-fields/transaction-line-line-discount.component.d.ts +0 -5
  251. package/lib/component/transaction-line-fields/transaction-line-price/transaction-line-price.component.d.ts +0 -5
  252. package/lib/component/transaction-line-fields/transaction-line-price-list.component.d.ts +0 -5
  253. package/lib/component/transaction-line-fields/transaction-line-quantity.component.d.ts +0 -5
  254. package/lib/component/transaction-line-fields/transaction-line-quantum-discount.component.d.ts +0 -5
  255. package/lib/component/transaction-line-fields/transaction-line-reference.component.d.ts +0 -5
  256. package/lib/component/transaction-line-fields/transaction-line-special-discount.component.d.ts +0 -5
  257. package/lib/component/transaction-line-fields/transaction-line-supplier-button.component.d.ts +13 -3
  258. package/lib/component/transaction-line-fields/transaction-line-supplier.component.d.ts +10 -3
  259. package/lib/component/transaction-line-fields/transaction-line-vat-button.component.d.ts +2 -7
  260. package/lib/component/transaction-line-fields/transaction-line-vat.component.d.ts +0 -5
  261. package/lib/component/transaction-line-fields/transaction-line-warehouse-button.component.d.ts +3 -8
  262. package/lib/component/transaction-line-fields/transaction-line-warehouse-location-button.component.d.ts +13 -3
  263. package/lib/component/transaction-line-fields/transaction-line-warehouse-location.component.d.ts +10 -3
  264. package/lib/component/transaction-line-fields/transaction-line-warehouse.component.d.ts +0 -5
  265. package/lib/component/transaction-line-image-and-description/transaction-line-image-and-description.component.d.ts +5 -19
  266. package/lib/component/transaction-line-invoice-history/style/_layout.scss +4 -0
  267. package/lib/component/transaction-line-invoice-history/style/_material-definition.scss +0 -0
  268. package/lib/component/transaction-line-invoice-history/style/_theme.scss +4 -0
  269. package/lib/component/transaction-line-invoice-history/style/material.scss +4 -0
  270. package/lib/component/transaction-line-invoice-history/transaction-line-invoice-history.component.d.ts +5 -0
  271. package/lib/component/transaction-line-invoice-history/transaction-line-invoice-history.module.d.ts +2 -0
  272. package/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.d.ts +5 -17
  273. package/lib/component/transaction-line-purchase-receive-goods/transaction-line-purchase-receive-goods.component.d.ts +20 -17
  274. package/lib/component/transaction-line-sales-allocation/transaction-line-sales-allocation.component.d.ts +11 -7
  275. package/lib/component/transaction-line-sales-delivery/style/_layout.scss +4 -0
  276. package/lib/component/transaction-line-sales-delivery/style/_material-definition.scss +0 -0
  277. package/lib/component/transaction-line-sales-delivery/style/_theme.scss +4 -0
  278. package/lib/component/transaction-line-sales-delivery/style/material.scss +4 -0
  279. package/lib/component/transaction-line-sales-delivery/transaction-line-sales-delivery.component.d.ts +9 -0
  280. package/lib/component/transaction-line-sales-delivery/transaction-line-sales-delivery.module.d.ts +2 -0
  281. package/lib/component/transaction-line-sales-invoice/style/_layout.scss +4 -0
  282. package/lib/component/transaction-line-sales-invoice/style/_material-definition.scss +0 -0
  283. package/lib/component/transaction-line-sales-invoice/style/_theme.scss +4 -0
  284. package/lib/component/transaction-line-sales-invoice/style/material.scss +4 -0
  285. package/lib/component/transaction-line-sales-invoice/transaction-line-sales-invoice.component.d.ts +9 -0
  286. package/lib/component/transaction-line-sales-invoice/transaction-line-sales-invoice.module.d.ts +2 -0
  287. package/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.d.ts +9 -17
  288. package/lib/component/transaction-lines/style/_material-definition.scss +1 -0
  289. package/lib/component/transaction-lines/transaction-lines.component.d.ts +1 -10
  290. package/lib/component/transaction-print-package-sticker/transaction-print-package-sticker.component.d.ts +0 -7
  291. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.d.ts +0 -9
  292. package/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.d.ts +5 -11
  293. package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.d.ts +0 -9
  294. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +2 -10
  295. package/lib/component/transaction-quick-access/transaction-quick-access-order-purchase/transaction-quick-access-order-purchase.component.d.ts +3 -9
  296. package/lib/component/transaction-quick-access/transaction-quick-access-overview/transaction-quick-access-overview.component.d.ts +0 -5
  297. package/lib/component/transaction-quick-access/transaction-quick-access-purchase-order-overview/transaction-quick-access-purchase-order-overview.component.d.ts +0 -5
  298. package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.d.ts +0 -9
  299. package/lib/component/transaction-quick-access/transaction-quick-access-send-method-base.component.d.ts +0 -5
  300. package/lib/component/transaction-search/transaction-filter/transaction-filter/style/_layout.scss +8 -2
  301. package/lib/component/transaction-search/transaction-filter/transaction-filter/style/_material-definition.scss +3 -3
  302. package/lib/component/transaction-search/transaction-filter/transaction-sales-order-filter/transaction-sales-order-filter.component.d.ts +3 -3
  303. package/lib/component/transaction-send-documents/transaction-send-documents.component.d.ts +0 -9
  304. package/lib/component/transaction-tile/transaction-tile.component.d.ts +0 -9
  305. package/lib/res/dictionary/dictionaries.d.ts +1 -0
  306. package/lib/service/payment.service.d.ts +8 -3
  307. package/lib/service/pending-reason.service.d.ts +1 -1
  308. package/lib/service/relation.service.d.ts +1 -0
  309. package/lib/service/transaction-base.service.d.ts +0 -1
  310. package/lib/service/transaction-connector-adapter.service.d.ts +6 -2
  311. package/lib/service/transaction-connector.service.d.ts +4 -4
  312. package/lib/service/transaction-event.service.d.ts +4 -0
  313. package/lib/service/transaction.service.d.ts +6 -1
  314. package/lib/style/_variables.scss +1 -1
  315. package/package.json +4 -4
@@ -1,32 +1,15 @@
1
1
  import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
3
- import { Icon } from "../../enum/icon.enum";
4
- import { TransactionService } from "../../service/transaction.service";
5
- import { IconCacheService } from "../../service/icon-cache.service";
6
- import { DialogService } from "../../service/dialog.service";
7
- import { DictionaryService } from "../../service/dictionary.service";
8
- import { TransactionImageService } from "../../service/transaction-image.service";
9
- export class TransactionLineImageAndDescriptionComponent {
10
- constructor(service, iconCacheService, _dialogService, _dictionaryService, _imageService) {
11
- this.service = service;
12
- this.iconCacheService = iconCacheService;
13
- this._dialogService = _dialogService;
14
- this._dictionaryService = _dictionaryService;
15
- this._imageService = _imageService;
16
- this.icons = Icon;
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
3
+ import { TransactionBaseComponent } from '../core/base/transaction-base.component';
4
+ export class TransactionLineImageAndDescriptionComponent extends TransactionBaseComponent {
5
+ constructor() {
6
+ super(...arguments);
17
7
  this.popUpView = false;
18
8
  this.preview = false;
19
9
  this.openArticleTextClicked = new EventEmitter();
20
10
  this.descriptionDblClick = new EventEmitter();
21
11
  this.handleDeleteLine = new EventEmitter();
22
12
  }
23
- set line(value) {
24
- this._line = value;
25
- this._loadLineImage();
26
- }
27
- get line() {
28
- return this._line;
29
- }
30
13
  showClass() {
31
14
  return true;
32
15
  }
@@ -38,14 +21,25 @@ export class TransactionLineImageAndDescriptionComponent {
38
21
  this.handleDeleteLine.next(event);
39
22
  });
40
23
  }
24
+ transactionLineSet() {
25
+ this._loadLineImage();
26
+ }
27
+ visibilitySet(visible) {
28
+ super.visibilitySet(visible);
29
+ this._loadLineImage();
30
+ }
41
31
  _loadLineImage() {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- if (this.line && this.line.isArticle) {
44
- this._imageService.retrieveLineImage(this.line).then((image) => {
45
- this.image = image;
46
- });
47
- }
48
- });
32
+ if (this.image || !this.visible) {
33
+ return;
34
+ }
35
+ if (this.transactionLine && this.transactionLine.isArticle) {
36
+ this.imageService.retrieveLineImage(this.transactionLine).then((image) => {
37
+ this.image = image;
38
+ if (this.image) {
39
+ this.detectChanges();
40
+ }
41
+ });
42
+ }
49
43
  }
50
44
  onDescriptionDblClick() {
51
45
  this.descriptionDblClick.emit();
@@ -61,40 +55,33 @@ TransactionLineImageAndDescriptionComponent.decorators = [
61
55
  <div class="transaction-line-description" data-action="openSidePanel" (dblclick)="onDescriptionDblClick()">
62
56
  <div class="description-wrapper">
63
57
  <co-transaction-line-description class="transaction-line-description-description"
64
- [transactionInfo]="service.currentTransaction.transactionInfo"
65
- [transactionLine]="line"
58
+ [transactionInfo]="transactionInfo"
59
+ [transactionLine]="transactionLine"
66
60
  [defaultEditMode]="false"
67
61
  [showLabel]="false"
68
62
  ></co-transaction-line-description>
69
63
  <div class="transaction-line-article-number-wrapper" *ngIf="!popUpView">
70
- <span *ngIf="line.goodDescription && line.articleNumber">|</span>
71
- <span [textContent]="line.articleNumber"></span>
64
+ <span *ngIf="transactionLine.goodDescription && transactionLine.articleNumber">|</span>
65
+ <span [textContent]="transactionLine.articleNumber"></span>
72
66
  <co-icon class="delete-icon" [iconData]="iconCacheService.getIcon(icons.TrashCanLight)"
73
67
  (click)="deleteTransactionLineClick($event)"></co-icon>
74
68
  </div>
75
69
  </div>
76
70
  <div *ngIf="!preview && !popUpView" class="article-text-wrapper">
77
- <div class="article-text" *ngFor="let text of line.articleTextAsArray">
71
+ <div class="article-text" *ngFor="let text of transactionLine.articleTextAsArray">
78
72
  <span [innerHTML]="text | safeHtml" (dblclick)="handleOpenArticleText(text)"></span>
79
73
  </div>
80
74
  </div>
81
75
  <div *ngIf="!preview && !popUpView">
82
- <span [innerHTML]="line.configurationReadable"></span>
76
+ <span [innerHTML]="transactionLine.configurationReadable"></span>
83
77
  </div>
84
78
  </div>
85
79
  `,
86
- encapsulation: ViewEncapsulation.None
80
+ encapsulation: ViewEncapsulation.None,
81
+ changeDetection: ChangeDetectionStrategy.OnPush
87
82
  },] }
88
83
  ];
89
- TransactionLineImageAndDescriptionComponent.ctorParameters = () => [
90
- { type: TransactionService },
91
- { type: IconCacheService },
92
- { type: DialogService },
93
- { type: DictionaryService },
94
- { type: TransactionImageService }
95
- ];
96
84
  TransactionLineImageAndDescriptionComponent.propDecorators = {
97
- line: [{ type: Input }],
98
85
  popUpView: [{ type: Input }],
99
86
  showClass: [{ type: HostBinding, args: ["class.co-transaction-line-image-and-description",] }],
100
87
  preview: [{ type: HostBinding, args: ["class.preview",] }, { type: Input }],
@@ -102,4 +89,4 @@ TransactionLineImageAndDescriptionComponent.propDecorators = {
102
89
  descriptionDblClick: [{ type: Output }],
103
90
  handleDeleteLine: [{ type: Output }]
104
91
  };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1pbWFnZS1hbmQtZGVzY3JpcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS1pbWFnZS1hbmQtZGVzY3JpcHRpb24vdHJhbnNhY3Rpb24tbGluZS1pbWFnZS1hbmQtZGVzY3JpcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFMUMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBb0NoRixNQUFNLE9BQU8sMkNBQTJDO0lBdUN0RCxZQUNTLE9BQTJCLEVBQzNCLGdCQUFrQyxFQUNqQyxjQUE2QixFQUM3QixrQkFBcUMsRUFDckMsYUFBc0M7UUFKdkMsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBQ3JDLGtCQUFhLEdBQWIsYUFBYSxDQUF5QjtRQTFDaEMsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFhbkMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVMzQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzFFLHdCQUFtQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBR25FLHFCQUFnQixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO0lBWWhGLENBQUM7SUF6Q0osSUFDVyxJQUFJLENBQUMsS0FBMEI7UUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQU1NLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUEyQk0scUJBQXFCLENBQUMsSUFBWTtRQUN2QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFWSwwQkFBMEIsQ0FBQyxLQUFpQjs7WUFDdkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO0tBQUE7SUFFYSxjQUFjOztZQUMxQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ3BDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO29CQUNyRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDckIsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUM7S0FBQTtJQUVNLHFCQUFxQjtRQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7O1lBbEdGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkNBQTJDO2dCQUNyRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E0QlA7Z0JBQ0gsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXZDTyxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYixpQkFBaUI7WUFDakIsdUJBQXVCOzs7bUJBd0M1QixLQUFLO3dCQVVMLEtBQUs7d0JBR0wsV0FBVyxTQUFDLGlEQUFpRDtzQkFLN0QsV0FBVyxTQUFDLGVBQWUsY0FDM0IsS0FBSztxQ0FHTCxNQUFNO2tDQUdOLE1BQU07K0JBR04sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ib1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpYWxvZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tbGluZS1pbWFnZS1hbmQtZGVzY3JpcHRpb25cIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtaW1hZ2VcIiBbY2xhc3MucHJldmlld109XCJwcmV2aWV3XCI+XHJcbiAgICAgIDxjby1pbWFnZS1kaXNwbGF5IFttb2RlbF09XCJpbWFnZVwiPjwvY28taW1hZ2UtZGlzcGxheT5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtZGVzY3JpcHRpb25cIiBkYXRhLWFjdGlvbj1cIm9wZW5TaWRlUGFuZWxcIiAoZGJsY2xpY2spPVwib25EZXNjcmlwdGlvbkRibENsaWNrKClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1kZXNjcmlwdGlvbiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtZGVzY3JpcHRpb24tZGVzY3JpcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwic2VydmljZS5jdXJyZW50VHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cImxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0RWRpdE1vZGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVzY3JpcHRpb24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtYXJ0aWNsZS1udW1iZXItd3JhcHBlclwiICpuZ0lmPVwiIXBvcFVwVmlld1wiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJsaW5lLmdvb2REZXNjcmlwdGlvbiAmJiBsaW5lLmFydGljbGVOdW1iZXJcIj58PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cImxpbmUuYXJ0aWNsZU51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiZGVsZXRlLWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRyYXNoQ2FuTGlnaHQpXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVUcmFuc2FjdGlvbkxpbmVDbGljaygkZXZlbnQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cIiFwcmV2aWV3ICYmICFwb3BVcFZpZXdcIiBjbGFzcz1cImFydGljbGUtdGV4dC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFydGljbGUtdGV4dFwiICpuZ0Zvcj1cImxldCB0ZXh0IG9mIGxpbmUuYXJ0aWNsZVRleHRBc0FycmF5XCI+XHJcbiAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInRleHQgfCBzYWZlSHRtbFwiIChkYmxjbGljayk9XCJoYW5kbGVPcGVuQXJ0aWNsZVRleHQodGV4dClcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiIXByZXZpZXcgJiYgIXBvcFVwVmlld1wiPlxyXG4gICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwibGluZS5jb25maWd1cmF0aW9uUmVhZGFibGVcIj48L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTGluZUltYWdlQW5kRGVzY3JpcHRpb25Db21wb25lbnQge1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGxpbmUodmFsdWU6IFRyYW5zYWN0aW9uTGluZUluZm8pIHtcclxuICAgIHRoaXMuX2xpbmUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2xvYWRMaW5lSW1hZ2UoKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBsaW5lKCk6IFRyYW5zYWN0aW9uTGluZUluZm8ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpbmU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwb3BVcFZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tbGluZS1pbWFnZS1hbmQtZGVzY3JpcHRpb25cIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5wcmV2aWV3XCIpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJldmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb3BlbkFydGljbGVUZXh0Q2xpY2tlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRlc2NyaXB0aW9uRGJsQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGhhbmRsZURlbGV0ZUxpbmU6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgcHVibGljIGltYWdlOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgX2xpbmU6IFRyYW5zYWN0aW9uTGluZUluZm87XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHByaXZhdGUgX2ltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVPcGVuQXJ0aWNsZVRleHQodGV4dDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wZW5BcnRpY2xlVGV4dENsaWNrZWQubmV4dCh0ZXh0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBkZWxldGVUcmFuc2FjdGlvbkxpbmVDbGljayhldmVudDogTW91c2VFdmVudCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5oYW5kbGVEZWxldGVMaW5lLm5leHQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfbG9hZExpbmVJbWFnZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmxpbmUgJiYgdGhpcy5saW5lLmlzQXJ0aWNsZSkge1xyXG4gICAgICB0aGlzLl9pbWFnZVNlcnZpY2UucmV0cmlldmVMaW5lSW1hZ2UodGhpcy5saW5lKS50aGVuKChpbWFnZTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pbWFnZSA9IGltYWdlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRlc2NyaXB0aW9uRGJsQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uRGJsQ2xpY2suZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1pbWFnZS1hbmQtZGVzY3JpcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS1pbWFnZS1hbmQtZGVzY3JpcHRpb24vdHJhbnNhY3Rpb24tbGluZS1pbWFnZS1hbmQtZGVzY3JpcHRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBc0NqRixNQUFNLE9BQU8sMkNBQTRDLFNBQVEsd0JBQXdCO0lBbEN6Rjs7UUFxQ1MsY0FBUyxHQUFZLEtBQUssQ0FBQztRQVMzQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBR3pCLDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzFFLHdCQUFtQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBR25FLHFCQUFnQixHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO0lBc0NyRixDQUFDO0lBckRRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFpQk0scUJBQXFCLENBQUMsSUFBWTtRQUN2QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFWSwwQkFBMEIsQ0FBQyxLQUFpQjs7WUFDdkQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO0tBQUE7SUFFUyxrQkFBa0I7UUFDMUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFUyxhQUFhLENBQUMsT0FBZ0I7UUFDdEMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMvQixPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUU7WUFDMUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBYSxFQUFFLEVBQUU7Z0JBQy9FLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUN0QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0scUJBQXFCO1FBQzFCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzs7WUE1RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQ0FBMkM7Z0JBQ3JELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTRCUDtnQkFDSCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7Ozt3QkFHRSxLQUFLO3dCQUdMLFdBQVcsU0FBQyxpREFBaUQ7c0JBSzdELFdBQVcsU0FBQyxlQUFlLGNBQzNCLEtBQUs7cUNBR0wsTUFBTTtrQ0FHTixNQUFNOytCQUdOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1saW5lLWltYWdlLWFuZC1kZXNjcmlwdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1pbWFnZVwiIFtjbGFzcy5wcmV2aWV3XT1cInByZXZpZXdcIj5cclxuICAgICAgPGNvLWltYWdlLWRpc3BsYXkgW21vZGVsXT1cImltYWdlXCI+PC9jby1pbWFnZS1kaXNwbGF5PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1kZXNjcmlwdGlvblwiIGRhdGEtYWN0aW9uPVwib3BlblNpZGVQYW5lbFwiIChkYmxjbGljayk9XCJvbkRlc2NyaXB0aW9uRGJsQ2xpY2soKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb24td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlc2NyaXB0aW9uIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1kZXNjcmlwdGlvbi1kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdEVkaXRNb2RlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd0xhYmVsXT1cImZhbHNlXCJcclxuICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWRlc2NyaXB0aW9uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLWFydGljbGUtbnVtYmVyLXdyYXBwZXJcIiAqbmdJZj1cIiFwb3BVcFZpZXdcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHJhbnNhY3Rpb25MaW5lLmdvb2REZXNjcmlwdGlvbiAmJiB0cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZU51bWJlclwiPnw8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBbdGV4dENvbnRlbnRdPVwidHJhbnNhY3Rpb25MaW5lLmFydGljbGVOdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImRlbGV0ZS1pY29uXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcmFzaENhbkxpZ2h0KVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlVHJhbnNhY3Rpb25MaW5lQ2xpY2soJGV2ZW50KVwiPjwvY28taWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCIhcHJldmlldyAmJiAhcG9wVXBWaWV3XCIgY2xhc3M9XCJhcnRpY2xlLXRleHQtd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhcnRpY2xlLXRleHRcIiAqbmdGb3I9XCJsZXQgdGV4dCBvZiB0cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZVRleHRBc0FycmF5XCI+XHJcbiAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cInRleHQgfCBzYWZlSHRtbFwiIChkYmxjbGljayk9XCJoYW5kbGVPcGVuQXJ0aWNsZVRleHQodGV4dClcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiIXByZXZpZXcgJiYgIXBvcFVwVmlld1wiPlxyXG4gICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwidHJhbnNhY3Rpb25MaW5lLmNvbmZpZ3VyYXRpb25SZWFkYWJsZVwiPjwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25MaW5lSW1hZ2VBbmREZXNjcmlwdGlvbkNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBvcFVwVmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1saW5lLWltYWdlLWFuZC1kZXNjcmlwdGlvblwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLnByZXZpZXdcIilcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmV2aWV3OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvcGVuQXJ0aWNsZVRleHRDbGlja2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVzY3JpcHRpb25EYmxDbGljazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaGFuZGxlRGVsZXRlTGluZTogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBwdWJsaWMgaW1hZ2U6IHN0cmluZztcclxuXHJcbiAgcHVibGljIGhhbmRsZU9wZW5BcnRpY2xlVGV4dCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMub3BlbkFydGljbGVUZXh0Q2xpY2tlZC5uZXh0KHRleHQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRlbGV0ZVRyYW5zYWN0aW9uTGluZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmhhbmRsZURlbGV0ZUxpbmUubmV4dChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25MaW5lU2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9hZExpbmVJbWFnZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHZpc2liaWxpdHlTZXQodmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgc3VwZXIudmlzaWJpbGl0eVNldCh2aXNpYmxlKTtcclxuICAgIHRoaXMuX2xvYWRMaW5lSW1hZ2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2xvYWRMaW5lSW1hZ2UoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pbWFnZSB8fCAhdGhpcy52aXNpYmxlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uTGluZSAmJiB0aGlzLnRyYW5zYWN0aW9uTGluZS5pc0FydGljbGUpIHtcclxuICAgICAgdGhpcy5pbWFnZVNlcnZpY2UucmV0cmlldmVMaW5lSW1hZ2UodGhpcy50cmFuc2FjdGlvbkxpbmUpLnRoZW4oKGltYWdlOiBzdHJpbmcpID0+IHtcclxuICAgICAgICB0aGlzLmltYWdlID0gaW1hZ2U7XHJcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2UpIHtcclxuICAgICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25EZXNjcmlwdGlvbkRibENsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXNjcmlwdGlvbkRibENsaWNrLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,34 @@
1
+ import { Component, HostBinding, Input, ViewEncapsulation } from "@angular/core";
2
+ export class TransactionLineInvoiceHistoryComponent {
3
+ constructor() {
4
+ this.goodsInvoiceHistory = [];
5
+ }
6
+ showClass() {
7
+ return true;
8
+ }
9
+ }
10
+ TransactionLineInvoiceHistoryComponent.decorators = [
11
+ { type: Component, args: [{
12
+ selector: "co-transaction-line-invoice-history",
13
+ template: `
14
+ <co-transaction-history-grid
15
+ [collection]="goodsInvoiceHistory"
16
+ [showDeleteButton]="false"
17
+ >
18
+ <co-simple-grid-column [headerText]="'WAREHOUSE' | localize" [order]="40">
19
+ <ng-template #template let-row="row">
20
+ <div class="row-container">
21
+ <span class="row" [textContent]="row.warehouseNumber"></span>
22
+ </div>
23
+ </ng-template>
24
+ </co-simple-grid-column>
25
+ </co-transaction-history-grid>
26
+ `,
27
+ encapsulation: ViewEncapsulation.None
28
+ },] }
29
+ ];
30
+ TransactionLineInvoiceHistoryComponent.propDecorators = {
31
+ goodsInvoiceHistory: [{ type: Input }],
32
+ showClass: [{ type: HostBinding, args: ["class.co-transaction-line-invoice-history",] }]
33
+ };
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1pbnZvaWNlLWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS1pbnZvaWNlLWhpc3RvcnkvdHJhbnNhY3Rpb24tbGluZS1pbnZvaWNlLWhpc3RvcnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQXFCL0UsTUFBTSxPQUFPLHNDQUFzQztJQWxCbkQ7UUFxQlMsd0JBQW1CLEdBQTRCLEVBQUUsQ0FBQztJQU8zRCxDQUFDO0lBSlEsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7O1lBMUJGLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUscUNBQXFDO2dCQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7S0FhVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN4Qzs7O2tDQUdFLEtBQUs7d0JBR0wsV0FBVyxTQUFDLDJDQUEyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0xvZ2lzdGljYWxTdGF0ZURldGFpbH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9sb2dpc3RpY2FsLXN0YXRlLWRldGFpbC5ib1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1saW5lLWludm9pY2UtaGlzdG9yeVwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgPGNvLXRyYW5zYWN0aW9uLWhpc3RvcnktZ3JpZFxyXG4gICAgICAgIFtjb2xsZWN0aW9uXT1cImdvb2RzSW52b2ljZUhpc3RvcnlcIlxyXG4gICAgICAgIFtzaG93RGVsZXRlQnV0dG9uXT1cImZhbHNlXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxjby1zaW1wbGUtZ3JpZC1jb2x1bW4gW2hlYWRlclRleHRdPVwiJ1dBUkVIT1VTRScgfCBsb2NhbGl6ZVwiIFtvcmRlcl09XCI0MFwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZSBsZXQtcm93PVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3ctY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyb3dcIiBbdGV4dENvbnRlbnRdPVwicm93LndhcmVob3VzZU51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvY28tc2ltcGxlLWdyaWQtY29sdW1uPlxyXG4gICAgICA8L2NvLXRyYW5zYWN0aW9uLWhpc3RvcnktZ3JpZD5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkxpbmVJbnZvaWNlSGlzdG9yeUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdvb2RzSW52b2ljZUhpc3Rvcnk6IExvZ2lzdGljYWxTdGF0ZURldGFpbFtdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWxpbmUtaW52b2ljZS1oaXN0b3J5XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -0,0 +1,25 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { TransactionLineInvoiceHistoryComponent } from "./transaction-line-invoice-history.component";
4
+ import { TransactionHistoryGridModule } from "../transaction-grid/transaction-history-grid/transaction-history-grid.module";
5
+ import { SimpleGridModule } from "@colijnit/corecomponents_v12";
6
+ import { PipeModule } from "../../pipe/pipe.module";
7
+ export class TransactionLineInvoiceHistoryModule {
8
+ }
9
+ TransactionLineInvoiceHistoryModule.decorators = [
10
+ { type: NgModule, args: [{
11
+ imports: [
12
+ CommonModule,
13
+ TransactionHistoryGridModule,
14
+ SimpleGridModule,
15
+ PipeModule
16
+ ],
17
+ declarations: [
18
+ TransactionLineInvoiceHistoryComponent
19
+ ],
20
+ exports: [
21
+ TransactionLineInvoiceHistoryComponent
22
+ ]
23
+ },] }
24
+ ];
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1pbnZvaWNlLWhpc3RvcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS1pbnZvaWNlLWhpc3RvcnkvdHJhbnNhY3Rpb24tbGluZS1pbnZvaWNlLWhpc3RvcnkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxzQ0FBc0MsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3BHLE9BQU8sRUFDSCw0QkFBNEIsRUFDL0IsTUFBTSw4RUFBOEUsQ0FBQztBQUN0RixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFnQmxELE1BQU0sT0FBTyxtQ0FBbUM7OztZQWQvQyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osNEJBQTRCO29CQUM1QixnQkFBZ0I7b0JBQ2hCLFVBQVU7aUJBQ1g7Z0JBQ0MsWUFBWSxFQUFFO29CQUNWLHNDQUFzQztpQkFDekM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLHNDQUFzQztpQkFDekM7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW52b2ljZUhpc3RvcnlDb21wb25lbnR9IGZyb20gXCIuL3RyYW5zYWN0aW9uLWxpbmUtaW52b2ljZS1oaXN0b3J5LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25IaXN0b3J5R3JpZE1vZHVsZVxyXG59IGZyb20gXCIuLi90cmFuc2FjdGlvbi1ncmlkL3RyYW5zYWN0aW9uLWhpc3RvcnktZ3JpZC90cmFuc2FjdGlvbi1oaXN0b3J5LWdyaWQubW9kdWxlXCI7XHJcbmltcG9ydCB7U2ltcGxlR3JpZE1vZHVsZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtQaXBlTW9kdWxlfSBmcm9tIFwiLi4vLi4vcGlwZS9waXBlLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUcmFuc2FjdGlvbkhpc3RvcnlHcmlkTW9kdWxlLFxyXG4gICAgU2ltcGxlR3JpZE1vZHVsZSxcclxuICAgIFBpcGVNb2R1bGVcclxuICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgVHJhbnNhY3Rpb25MaW5lSW52b2ljZUhpc3RvcnlDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgVHJhbnNhY3Rpb25MaW5lSW52b2ljZUhpc3RvcnlDb21wb25lbnRcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTGluZUludm9pY2VIaXN0b3J5TW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -1,30 +1,16 @@
1
1
  import { __awaiter } from "tslib";
2
- import { Component, HostBinding, Input, ViewEncapsulation } from "@angular/core";
3
- import { TransactionBaseComponent } from "../core/base/transaction-base.component";
4
- import { FormMasterService } from "@colijnit/corecomponents_v12";
5
- import { DocDeliveryBatch } from "@colijnit/transactionapi/build/model/doc-delivery-batch.bo";
6
- import { IconCacheService } from "../../service/icon-cache.service";
7
- import { TransactionService } from "../../service/transaction.service";
8
- import { DialogService } from "../../service/dialog.service";
9
- import { TransactionEventService } from "../../service/transaction-event.service";
10
- import { DictionaryService } from '../../service/dictionary.service';
2
+ import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
3
+ import { TransactionBaseComponent } from '../core/base/transaction-base.component';
4
+ import { FormMasterService } from '@colijnit/corecomponents_v12';
5
+ import { DocDeliveryBatch } from '@colijnit/transactionapi/build/model/doc-delivery-batch.bo';
11
6
  export class TransactionLinePurchaseConfirmationComponent extends TransactionBaseComponent {
12
- constructor(dictionaryService, iconCacheService, transactionService, _formMaster, _dialogService, _transactionEventService) {
13
- super(dictionaryService, transactionService);
14
- this.dictionaryService = dictionaryService;
15
- this.iconCacheService = iconCacheService;
16
- this.transactionService = transactionService;
17
- this._formMaster = _formMaster;
18
- this._dialogService = _dialogService;
19
- this._transactionEventService = _transactionEventService;
7
+ constructor() {
8
+ super(...arguments);
20
9
  this.docDeliveryBatch = new DocDeliveryBatch();
21
10
  this.showAddOrder = false;
22
11
  this.filteredDocBatchArray = [];
23
12
  this.isEditMode = false;
24
13
  this._subs = [];
25
- this._subs.push(this._transactionEventService.transactionLineChanged.subscribe(() => {
26
- this._updateBatchArray();
27
- }));
28
14
  }
29
15
  set isEditing(value) {
30
16
  this.isEditMode = value;
@@ -35,7 +21,13 @@ export class TransactionLinePurchaseConfirmationComponent extends TransactionBas
35
21
  showClass() {
36
22
  return true;
37
23
  }
24
+ ngOnInit() {
25
+ this._subs.push(this.transactionEventService.transactionLineChanged.subscribe(() => {
26
+ this._updateBatchArray();
27
+ }));
28
+ }
38
29
  ngOnDestroy() {
30
+ super.ngOnDestroy();
39
31
  this._subs.forEach(s => s.unsubscribe());
40
32
  }
41
33
  addButtonClicked() {
@@ -44,13 +36,13 @@ export class TransactionLinePurchaseConfirmationComponent extends TransactionBas
44
36
  handleSaveDetailsEdit() {
45
37
  return __awaiter(this, void 0, void 0, function* () {
46
38
  if (this.docDeliveryBatch.docAmount && this.docDeliveryBatch.confirmedPrice) {
47
- this.docDeliveryBatch.deleteLine = "F";
48
- this.docDeliveryBatch.historical = "G";
39
+ this.docDeliveryBatch.deleteLine = 'F';
40
+ this.docDeliveryBatch.historical = 'G';
49
41
  if (!this.docDeliveryBatch.docDateOrg) {
50
42
  this.docDeliveryBatch.docDateOrg = this.docDeliveryBatch.docDate;
51
43
  this.transactionLine.purchasePortalLine.docBatchArray.push(this.docDeliveryBatch);
52
44
  }
53
- this.transactionLine.purchasePortalLine.docKind = "IB";
45
+ this.transactionLine.purchasePortalLine.docKind = 'IB';
54
46
  const success = yield this.transactionService.updatePurchasePortalLines(this.transactionInfo.id, this.transactionInfo.version, this.transactionLine.purchasePortalLine);
55
47
  if (success) {
56
48
  this.docDeliveryBatch = new DocDeliveryBatch();
@@ -63,8 +55,8 @@ export class TransactionLinePurchaseConfirmationComponent extends TransactionBas
63
55
  }
64
56
  handleDeleteHistoryRow(row) {
65
57
  return __awaiter(this, void 0, void 0, function* () {
66
- row.deleteLine = "T";
67
- this.transactionLine.purchasePortalLine.docKind = "IB";
58
+ row.deleteLine = 'T';
59
+ this.transactionLine.purchasePortalLine.docKind = 'IB';
68
60
  const success = yield this.transactionService.updatePurchasePortalLines(this.transactionInfo.id, this.transactionInfo.version, this.transactionLine.purchasePortalLine);
69
61
  if (success) {
70
62
  this.docDeliveryBatch = new DocDeliveryBatch();
@@ -89,7 +81,7 @@ export class TransactionLinePurchaseConfirmationComponent extends TransactionBas
89
81
  }
90
82
  TransactionLinePurchaseConfirmationComponent.decorators = [
91
83
  { type: Component, args: [{
92
- selector: "co-transaction-line-purchase-confirmation",
84
+ selector: 'co-transaction-line-purchase-confirmation',
93
85
  template: `
94
86
  <div class="confirmation-details-wrapper">
95
87
  <co-form>
@@ -146,7 +138,8 @@ TransactionLinePurchaseConfirmationComponent.decorators = [
146
138
  </co-form>
147
139
 
148
140
  <div *ngIf="showAddOrder" class="save-cancel-wrapper">
149
- <co-default-ok-cancel-buttons (okClick)="handleSaveDetailsEdit()" (cancelClick)="handleCancelClick()"></co-default-ok-cancel-buttons>
141
+ <co-default-ok-cancel-buttons (okClick)="handleSaveDetailsEdit()"
142
+ (cancelClick)="handleCancelClick()"></co-default-ok-cancel-buttons>
150
143
  </div>
151
144
  </div>
152
145
  <co-transaction-confirmation-history
@@ -161,16 +154,8 @@ TransactionLinePurchaseConfirmationComponent.decorators = [
161
154
  encapsulation: ViewEncapsulation.None
162
155
  },] }
163
156
  ];
164
- TransactionLinePurchaseConfirmationComponent.ctorParameters = () => [
165
- { type: DictionaryService },
166
- { type: IconCacheService },
167
- { type: TransactionService },
168
- { type: FormMasterService },
169
- { type: DialogService },
170
- { type: TransactionEventService }
171
- ];
172
157
  TransactionLinePurchaseConfirmationComponent.propDecorators = {
173
158
  isEditing: [{ type: Input }],
174
- showClass: [{ type: HostBinding, args: ["class.co-transaction-line-purchase-confirmation",] }]
159
+ showClass: [{ type: HostBinding, args: ['class.co-transaction-line-purchase-confirmation',] }]
175
160
  };
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24vdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFDNUYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBRWhGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBMEVuRSxNQUFNLE9BQU8sNENBQTZDLFNBQVEsd0JBQXdCO0lBdUJ4RixZQUNZLGlCQUFvQyxFQUN2QyxnQkFBa0MsRUFDL0Isa0JBQXNDLEVBQ3hDLFdBQThCLEVBQzlCLGNBQTZCLEVBQzdCLHdCQUFpRDtRQUV6RCxLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQVBuQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1C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LENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNqTCxJQUFJLE9BQU8sRUFBRTtnQkFDWCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2FBQ2hEO1FBQ0gsQ0FBQztLQUFBO0lBRU0sc0JBQXNCLENBQUMsR0FBcUI7UUFDakQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztJQUM5QixDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVTLGtCQUFrQjtRQUMxQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRWEsaUJBQWlCOztZQUM3QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMvSCxDQUFDO0tBQUE7OztZQWpLRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJDQUEyQztnQkFDckQsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0VUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxpQkFBaUI7aUJBQ2xCO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF6RU8saUJBQWlCO1lBTGpCLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFIbEIsaUJBQWlCO1lBSWpCLGFBQWE7WUFDYix1QkFBdUI7Ozt3QkE4RTVCLEtBQUs7d0JBU0wsV0FBVyxTQUFDLGlEQUFpRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7RG9jRGVsaXZlcnlCYXRjaH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kb2MtZGVsaXZlcnktYmF0Y2guYm9cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZVwiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1saW5lLXB1cmNoYXNlLWNvbmZpcm1hdGlvblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29uZmlybWF0aW9uLWRldGFpbHMtd3JhcHBlclwiPlxyXG4gICAgICA8Y28tZm9ybT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1oZWFkZXJcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyLWxlZnQtdGV4dFwiIFt0ZXh0Q29udGVudF09XCInT1JERVJfQ09ORklSTUFUSU9OUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiaGVhZGVyLWxlZnQtdGV4dFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUGx1c1JvdW5kKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkQnV0dG9uQ2xpY2tlZCgpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHMtaGVhZGVyLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyLXJpZ2h0LXRleHRcIiBbdGV4dENvbnRlbnRdPVwiJ1JFUVVFU1RFRF9ERUxJVkVSWScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXItcmlnaHQtdGV4dC1jb2xvblwiIFt0ZXh0Q29udGVudF09XCInOiAgICdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyLXJpZ2h0LXRleHRcIiBbdGV4dENvbnRlbnRdPVwidHJhbnNhY3Rpb25MaW5lLmRlbGl2ZXJ5RGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1pbmZvcm0tdXNlclwiICpuZ0lmPVwiaXNFZGl0aW5nXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlci1pbmZvcm0tdXNlciBlZGl0dGluZ1wiIFt0ZXh0Q29udGVudF09XCInRURJVElOR19EQVRBX1JPVycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0FkZE9yZGVyXCIgY2xhc3M9XCJjb2x1bW5zLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBjbGFzcz1cImRldGFpbHMtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2NEZWxpdmVyeUJhdGNoLmRvY0Ftb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQU1PVU5UJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC1kYXRlIGNsYXNzPVwiZGV0YWlscy1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY0RlbGl2ZXJ5QmF0Y2guZG9jRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jby1pbnB1dC1kYXRlPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBjbGFzcz1cImRldGFpbHMtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2NEZWxpdmVyeUJhdGNoLmNvbmZpcm1lZFByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT05GSVJNRURfUFJJQ0UnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBjbGFzcz1cImRldGFpbHMtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2NEZWxpdmVyeUJhdGNoLnJlZmVyZW5jZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUkVGRVJFTkNFJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuXHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IGNsYXNzPVwiZGV0YWlscy1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY0RlbGl2ZXJ5QmF0Y2guZGVsaXZlcnlCYXRjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInREVMSVZFUllfQkFUQ0gnIHwgbG9jYWxpemVcIj5cclxuICAgICAgICAgICAgPC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvY28tZm9ybT5cclxuXHJcbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93QWRkT3JkZXJcIiBjbGFzcz1cInNhdmUtY2FuY2VsLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tZGVmYXVsdC1vay1jYW5jZWwtYnV0dG9ucyAob2tDbGljayk9XCJoYW5kbGVTYXZlRGV0YWlsc0VkaXQoKVwiIChjYW5jZWxDbGljayk9XCJoYW5kbGVDYW5jZWxDbGljaygpXCI+PC9jby1kZWZhdWx0LW9rLWNhbmNlbC1idXR0b25zPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLXRyYW5zYWN0aW9uLWNvbmZpcm1hdGlvbi1oaXN0b3J5XHJcbiAgICAgIFtjb2xsZWN0aW9uXT1cImZpbHRlcmVkRG9jQmF0Y2hBcnJheVwiXHJcbiAgICAgIChkZWxldGVSb3cpPVwiaGFuZGxlRGVsZXRlSGlzdG9yeVJvdygkZXZlbnQpXCJcclxuICAgICAgKHNlbGVjdFJvdyk9XCJoYW5kbGVTZWxlY3RIaXN0b3J5Um93KCRldmVudClcIlxyXG4gICAgPjwvY28tdHJhbnNhY3Rpb24tY29uZmlybWF0aW9uLWhpc3Rvcnk+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkxpbmVQdXJjaGFzZUNvbmZpcm1hdGlvbkNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBpc0VkaXRpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuaXNFZGl0TW9kZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpc0VkaXRpbmcoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pc0VkaXRNb2RlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb25cIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZG9jRGVsaXZlcnlCYXRjaDogRG9jRGVsaXZlcnlCYXRjaCA9IG5ldyBEb2NEZWxpdmVyeUJhdGNoKCk7XHJcbiAgcHVibGljIHNob3dBZGRPcmRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBmaWx0ZXJlZERvY0JhdGNoQXJyYXk6IERvY0RlbGl2ZXJ5QmF0Y2hbXSA9IFtdO1xyXG4gIHB1YmxpYyBpc0VkaXRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZm9ybU1hc3RlcjogRm9ybU1hc3RlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcihkaWN0aW9uYXJ5U2VydmljZSwgdHJhbnNhY3Rpb25TZXJ2aWNlKTtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZUJhdGNoQXJyYXkoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkQnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0FkZE9yZGVyID0gIXRoaXMuc2hvd0FkZE9yZGVyO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNhdmVEZXRhaWxzRWRpdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guZG9jQW1vdW50ICYmIHRoaXMuZG9jRGVsaXZlcnlCYXRjaC5jb25maXJtZWRQcmljZSkge1xyXG4gICAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guZGVsZXRlTGluZSA9IFwiRlwiO1xyXG4gICAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guaGlzdG9yaWNhbCA9IFwiR1wiO1xyXG4gICAgICBpZiAoIXRoaXMuZG9jRGVsaXZlcnlCYXRjaC5kb2NEYXRlT3JnKSB7XHJcbiAgICAgICAgdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRvY0RhdGVPcmcgPSB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guZG9jRGF0ZTtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuZG9jQmF0Y2hBcnJheS5wdXNoKHRoaXMuZG9jRGVsaXZlcnlCYXRjaCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmRvY0tpbmQgPSBcIklCXCI7XHJcbiAgICAgIGNvbnN0IHN1Y2Nlc3M6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS51cGRhdGVQdXJjaGFzZVBvcnRhbExpbmVzKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkLCB0aGlzLnRyYW5zYWN0aW9uSW5mby52ZXJzaW9uLCB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUpO1xyXG4gICAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMuZG9jRGVsaXZlcnlCYXRjaCA9IG5ldyBEb2NEZWxpdmVyeUJhdGNoKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVEZWxldGVIaXN0b3J5Um93KHJvdzogRG9jRGVsaXZlcnlCYXRjaCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcm93LmRlbGV0ZUxpbmUgPSBcIlRcIjtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5kb2NLaW5kID0gXCJJQlwiO1xyXG4gICAgY29uc3Qgc3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnVwZGF0ZVB1cmNoYXNlUG9ydGFsTGluZXModGhpcy50cmFuc2FjdGlvbkluZm8uaWQsIHRoaXMudHJhbnNhY3Rpb25JbmZvLnZlcnNpb24sIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZSk7XHJcbiAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2ggPSBuZXcgRG9jRGVsaXZlcnlCYXRjaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbGVjdEhpc3RvcnlSb3cocm93OiBEb2NEZWxpdmVyeUJhdGNoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2ggPSByb3c7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FuY2VsQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2ggPSBuZXcgRG9jRGVsaXZlcnlCYXRjaCgpO1xyXG4gICAgdGhpcy5pc0VkaXRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB0cmFuc2FjdGlvbkxpbmVTZXQoKSB7XHJcbiAgICB0aGlzLl91cGRhdGVCYXRjaEFycmF5KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF91cGRhdGVCYXRjaEFycmF5KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5maWx0ZXJlZERvY0JhdGNoQXJyYXkgPSB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuZG9jQmF0Y2hBcnJheS5maWx0ZXIodmFsdWUgPT4gdmFsdWUuaGlzdG9yaWNhbCA9PT0gJ0cnKTtcclxuICB9XHJcbn1cclxuIl19
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24vdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQW9CLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNySCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQWtGNUYsTUFBTSxPQUFPLDRDQUE2QyxTQUFRLHdCQUF3QjtJQXpFMUY7O1FBeUZTLHFCQUFnQixHQUFxQixJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDNUQsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsMEJBQXFCLEdBQXVCLEVBQUUsQ0FBQztRQUMvQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRTNCLFVBQUssR0FBbUIsRUFBRSxDQUFDO0lBOERyQyxDQUFDO0lBakZDLElBQ1csU0FBUyxDQUFDLEtBQWM7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUdNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFTRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJ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QUMsVUFBVSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQy9ILENBQUM7S0FBQTs7O1lBM0pGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkNBQTJDO2dCQUNyRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUVUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxpQkFBaUI7aUJBQ2xCO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7d0JBR0UsS0FBSzt3QkFTTCxXQUFXLFNBQUMsaURBQWlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tICcuLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1NYXN0ZXJTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtEb2NEZWxpdmVyeUJhdGNofSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZG9jLWRlbGl2ZXJ5LWJhdGNoLmJvJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiY29uZmlybWF0aW9uLWRldGFpbHMtd3JhcHBlclwiPlxyXG4gICAgICA8Y28tZm9ybT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlscy1oZWFkZXJcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyLWxlZnQtdGV4dFwiIFt0ZXh0Q29udGVudF09XCInT1JERVJfQ09ORklSTUFUSU9OUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiaGVhZGVyLWxlZnQtdGV4dFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUGx1c1JvdW5kKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkQnV0dG9uQ2xpY2tlZCgpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRldGFpbHMtaGVhZGVyLXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyLXJpZ2h0LXRleHRcIiBbdGV4dENvbnRlbnRdPVwiJ1JFUVVFU1RFRF9ERUxJVkVSWScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoZWFkZXItcmlnaHQtdGV4dC1jb2xvblwiIFt0ZXh0Q29udGVudF09XCInOiAgICdcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyLXJpZ2h0LXRleHRcIiBbdGV4dENvbnRlbnRdPVwidHJhbnNhY3Rpb25MaW5lLmRlbGl2ZXJ5RGF0ZSB8IGRhdGU6J2RkLU1NLVlZWVknXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1pbmZvcm0tdXNlclwiICpuZ0lmPVwiaXNFZGl0aW5nXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlci1pbmZvcm0tdXNlciBlZGl0dGluZ1wiIFt0ZXh0Q29udGVudF09XCInRURJVElOR19EQVRBX1JPVycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0FkZE9yZGVyXCIgY2xhc3M9XCJjb2x1bW5zLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBjbGFzcz1cImRldGFpbHMtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2NEZWxpdmVyeUJhdGNoLmRvY0Ftb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQU1PVU5UJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC1kYXRlIGNsYXNzPVwiZGV0YWlscy1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY0RlbGl2ZXJ5QmF0Y2guZG9jRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jby1pbnB1dC1kYXRlPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBjbGFzcz1cImRldGFpbHMtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2NEZWxpdmVyeUJhdGNoLmNvbmZpcm1lZFByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT05GSVJNRURfUFJJQ0UnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWxzLWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBjbGFzcz1cImRldGFpbHMtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2NEZWxpdmVyeUJhdGNoLnJlZmVyZW5jZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUkVGRVJFTkNFJyB8IGxvY2FsaXplXCI+XHJcbiAgICAgICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuXHJcbiAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IGNsYXNzPVwiZGV0YWlscy1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY0RlbGl2ZXJ5QmF0Y2guZGVsaXZlcnlCYXRjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInREVMSVZFUllfQkFUQ0gnIHwgbG9jYWxpemVcIj5cclxuICAgICAgICAgICAgPC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvY28tZm9ybT5cclxuXHJcbiAgICAgIDxkaXYgKm5nSWY9XCJzaG93QWRkT3JkZXJcIiBjbGFzcz1cInNhdmUtY2FuY2VsLXdyYXBwZXJcIj5cclxuICAgICAgICA8Y28tZGVmYXVsdC1vay1jYW5jZWwtYnV0dG9ucyAob2tDbGljayk9XCJoYW5kbGVTYXZlRGV0YWlsc0VkaXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNhbmNlbENsaWNrKT1cImhhbmRsZUNhbmNlbENsaWNrKClcIj48L2NvLWRlZmF1bHQtb2stY2FuY2VsLWJ1dHRvbnM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Y28tdHJhbnNhY3Rpb24tY29uZmlybWF0aW9uLWhpc3RvcnlcclxuICAgICAgW2NvbGxlY3Rpb25dPVwiZmlsdGVyZWREb2NCYXRjaEFycmF5XCJcclxuICAgICAgKGRlbGV0ZVJvdyk9XCJoYW5kbGVEZWxldGVIaXN0b3J5Um93KCRldmVudClcIlxyXG4gICAgICAoc2VsZWN0Um93KT1cImhhbmRsZVNlbGVjdEhpc3RvcnlSb3coJGV2ZW50KVwiXHJcbiAgICA+PC9jby10cmFuc2FjdGlvbi1jb25maXJtYXRpb24taGlzdG9yeT5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgRm9ybU1hc3RlclNlcnZpY2VcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTGluZVB1cmNoYXNlQ29uZmlybWF0aW9uQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaXNFZGl0aW5nKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzRWRpdE1vZGUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNFZGl0aW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNFZGl0TW9kZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkb2NEZWxpdmVyeUJhdGNoOiBEb2NEZWxpdmVyeUJhdGNoID0gbmV3IERvY0RlbGl2ZXJ5QmF0Y2goKTtcclxuICBwdWJsaWMgc2hvd0FkZE9yZGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGZpbHRlcmVkRG9jQmF0Y2hBcnJheTogRG9jRGVsaXZlcnlCYXRjaFtdID0gW107XHJcbiAgcHVibGljIGlzRWRpdE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZUJhdGNoQXJyYXkoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZEJ1dHRvbkNsaWNrZWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dBZGRPcmRlciA9ICF0aGlzLnNob3dBZGRPcmRlcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVTYXZlRGV0YWlsc0VkaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRvY0Ftb3VudCAmJiB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guY29uZmlybWVkUHJpY2UpIHtcclxuICAgICAgdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRlbGV0ZUxpbmUgPSAnRic7XHJcbiAgICAgIHRoaXMuZG9jRGVsaXZlcnlCYXRjaC5oaXN0b3JpY2FsID0gJ0cnO1xyXG4gICAgICBpZiAoIXRoaXMuZG9jRGVsaXZlcnlCYXRjaC5kb2NEYXRlT3JnKSB7XHJcbiAgICAgICAgdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRvY0RhdGVPcmcgPSB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guZG9jRGF0ZTtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuZG9jQmF0Y2hBcnJheS5wdXNoKHRoaXMuZG9jRGVsaXZlcnlCYXRjaCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmRvY0tpbmQgPSAnSUInO1xyXG4gICAgICBjb25zdCBzdWNjZXNzOiBib29sZWFuID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UudXBkYXRlUHVyY2hhc2VQb3J0YWxMaW5lcyh0aGlzLnRyYW5zYWN0aW9uSW5mby5pZCwgdGhpcy50cmFuc2FjdGlvbkluZm8udmVyc2lvbiwgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lKTtcclxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2ggPSBuZXcgRG9jRGVsaXZlcnlCYXRjaCgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlRGVsZXRlSGlzdG9yeVJvdyhyb3c6IERvY0RlbGl2ZXJ5QmF0Y2gpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJvdy5kZWxldGVMaW5lID0gJ1QnO1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmRvY0tpbmQgPSAnSUInO1xyXG4gICAgY29uc3Qgc3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnVwZGF0ZVB1cmNoYXNlUG9ydGFsTGluZXModGhpcy50cmFuc2FjdGlvbkluZm8uaWQsIHRoaXMudHJhbnNhY3Rpb25JbmZvLnZlcnNpb24sIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZSk7XHJcbiAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2ggPSBuZXcgRG9jRGVsaXZlcnlCYXRjaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbGVjdEhpc3RvcnlSb3cocm93OiBEb2NEZWxpdmVyeUJhdGNoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2ggPSByb3c7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FuY2VsQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2ggPSBuZXcgRG9jRGVsaXZlcnlCYXRjaCgpO1xyXG4gICAgdGhpcy5pc0VkaXRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB0cmFuc2FjdGlvbkxpbmVTZXQoKSB7XHJcbiAgICB0aGlzLl91cGRhdGVCYXRjaEFycmF5KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF91cGRhdGVCYXRjaEFycmF5KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5maWx0ZXJlZERvY0JhdGNoQXJyYXkgPSB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuZG9jQmF0Y2hBcnJheS5maWx0ZXIodmFsdWUgPT4gdmFsdWUuaGlzdG9yaWNhbCA9PT0gJ0cnKTtcclxuICB9XHJcbn1cclxuIl19