@vendure/admin-ui 3.1.0-next.2 → 3.1.0-next.4

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 (183) hide show
  1. package/catalog/components/collection-data-table/collection-data-table.component.d.ts +3 -5
  2. package/catalog/components/collection-detail/collection-detail.component.d.ts +1 -1
  3. package/catalog/components/collection-list/collection-list.component.d.ts +1 -0
  4. package/catalog/components/facet-detail/facet-detail.component.d.ts +1 -1
  5. package/catalog/components/facet-list/facet-list.component.d.ts +1 -0
  6. package/catalog/components/product-detail/product-detail.component.d.ts +1 -1
  7. package/catalog/components/product-list/product-list.component.d.ts +3 -1
  8. package/catalog/components/product-variant-list/product-variant-list.component.d.ts +1 -1
  9. package/core/common/base-list.component.d.ts +13 -0
  10. package/core/common/generated-types.d.ts +1188 -139
  11. package/core/common/utilities/custom-field-default-value.d.ts +1 -1
  12. package/core/common/version.d.ts +1 -1
  13. package/core/data/definitions/order-definitions.d.ts +2 -0
  14. package/core/data/definitions/settings-definitions.d.ts +1 -0
  15. package/core/data/providers/base-data.service.d.ts +19 -2
  16. package/core/data/providers/collection-data.service.d.ts +2 -2
  17. package/core/data/providers/data.service.d.ts +3 -3
  18. package/core/data/providers/order-data.service.d.ts +2 -0
  19. package/core/data/query-result.d.ts +60 -4
  20. package/core/data/utils/add-custom-fields.d.ts +1 -1
  21. package/core/providers/alerts/alerts.service.d.ts +3 -0
  22. package/core/providers/auth/auth.service.d.ts +3 -1
  23. package/core/providers/data-table/data-table-config.service.d.ts +12 -0
  24. package/core/public_api.d.ts +2 -0
  25. package/core/shared/components/asset-preview-links/asset-preview-links.component.d.ts +1 -0
  26. package/core/shared/components/assets/assets.component.d.ts +2 -1
  27. package/core/shared/components/data-table-2/data-table2.component.d.ts +5 -5
  28. package/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.d.ts +1 -0
  29. package/core/shared/components/data-table-filter-presets/filter-preset.service.d.ts +3 -4
  30. package/core/shared/components/facet-value-chip/facet-value-chip.component.d.ts +4 -2
  31. package/core/shared/components/product-variant-selector/product-variant-selector.component.d.ts +1 -1
  32. package/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.d.ts +21 -2
  33. package/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.d.ts +2 -1
  34. package/core/shared/dynamic-form-inputs/default-form-inputs.d.ts +2 -1
  35. package/core/shared/dynamic-form-inputs/struct-form-input/struct-form-input.component.d.ts +34 -0
  36. package/core/shared/shared.module.d.ts +12 -11
  37. package/customer/components/customer-detail/customer-detail.component.d.ts +1 -1
  38. package/customer/components/customer-group-detail/customer-group-detail.component.d.ts +1 -1
  39. package/customer/components/customer-group-list/customer-group-list.component.d.ts +2 -0
  40. package/customer/components/customer-list/customer-list.component.d.ts +1 -0
  41. package/esm2022/catalog/components/collection-contents/collection-contents.component.mjs +1 -1
  42. package/esm2022/catalog/components/collection-data-table/collection-data-table.component.mjs +10 -12
  43. package/esm2022/catalog/components/collection-detail/collection-detail.component.mjs +1 -1
  44. package/esm2022/catalog/components/collection-list/collection-list.component.mjs +4 -3
  45. package/esm2022/catalog/components/facet-list/facet-list.component.mjs +4 -3
  46. package/esm2022/catalog/components/move-collections-dialog/move-collections-dialog.component.mjs +1 -1
  47. package/esm2022/catalog/components/product-detail/product-detail.component.mjs +1 -1
  48. package/esm2022/catalog/components/product-list/product-list.component.mjs +5 -3
  49. package/esm2022/catalog/components/product-options-editor/product-options-editor.component.mjs +1 -1
  50. package/esm2022/catalog/components/product-variant-detail/product-variant-detail.component.mjs +1 -1
  51. package/esm2022/catalog/components/product-variant-list/product-variant-list.component.mjs +1 -1
  52. package/esm2022/catalog/components/product-variant-quick-jump/product-variant-quick-jump.component.mjs +2 -2
  53. package/esm2022/catalog/components/product-variants-editor/product-variants-editor.component.mjs +1 -1
  54. package/esm2022/core/common/base-list.component.mjs +20 -4
  55. package/esm2022/core/common/generated-types.mjs +17 -13
  56. package/esm2022/core/common/introspection-result.mjs +22 -1
  57. package/esm2022/core/common/utilities/custom-field-default-value.mjs +3 -1
  58. package/esm2022/core/common/version.mjs +2 -2
  59. package/esm2022/core/components/app-shell/app-shell.component.mjs +3 -3
  60. package/esm2022/core/data/data.module.mjs +3 -3
  61. package/esm2022/core/data/definitions/facet-definitions.mjs +2 -1
  62. package/esm2022/core/data/definitions/order-definitions.mjs +17 -1
  63. package/esm2022/core/data/definitions/settings-definitions.mjs +52 -1
  64. package/esm2022/core/data/providers/base-data.service.mjs +7 -8
  65. package/esm2022/core/data/providers/collection-data.service.mjs +3 -3
  66. package/esm2022/core/data/providers/data.service.mjs +5 -5
  67. package/esm2022/core/data/providers/order-data.service.mjs +8 -2
  68. package/esm2022/core/data/providers/product-data.service.mjs +4 -2
  69. package/esm2022/core/data/query-result.mjs +98 -10
  70. package/esm2022/core/data/utils/add-custom-fields.mjs +59 -30
  71. package/esm2022/core/providers/alerts/alerts.service.mjs +13 -3
  72. package/esm2022/core/providers/auth/auth.service.mjs +11 -7
  73. package/esm2022/core/providers/data-table/data-table-config.service.mjs +43 -0
  74. package/esm2022/core/providers/data-table/data-table-filter-collection.mjs +3 -2
  75. package/esm2022/core/providers/data-table/data-table-sort-collection.mjs +2 -1
  76. package/esm2022/core/public_api.mjs +3 -1
  77. package/esm2022/core/shared/components/asset-picker-dialog/asset-picker-dialog.component.mjs +1 -1
  78. package/esm2022/core/shared/components/asset-preview-links/asset-preview-links.component.mjs +3 -2
  79. package/esm2022/core/shared/components/assets/assets.component.mjs +10 -4
  80. package/esm2022/core/shared/components/card/card.component.mjs +1 -1
  81. package/esm2022/core/shared/components/currency-code-selector/currency-code-selector.component.mjs +1 -1
  82. package/esm2022/core/shared/components/data-table-2/data-table-custom-field-column.component.mjs +3 -3
  83. package/esm2022/core/shared/components/data-table-2/data-table2.component.mjs +44 -52
  84. package/esm2022/core/shared/components/data-table-filter-presets/data-table-filter-presets.component.mjs +23 -3
  85. package/esm2022/core/shared/components/data-table-filter-presets/filter-preset.service.mjs +23 -35
  86. package/esm2022/core/shared/components/dropdown/dropdown-trigger.directive.mjs +1 -1
  87. package/esm2022/core/shared/components/facet-value-chip/facet-value-chip.component.mjs +8 -3
  88. package/esm2022/core/shared/components/help-tooltip/help-tooltip.component.mjs +1 -1
  89. package/esm2022/core/shared/components/language-code-selector/language-code-selector.component.mjs +1 -1
  90. package/esm2022/core/shared/components/product-multi-selector-dialog/product-multi-selector-dialog.component.mjs +2 -2
  91. package/esm2022/core/shared/components/product-variant-selector/product-variant-selector.component.mjs +2 -2
  92. package/esm2022/core/shared/components/rich-text-editor/external-image-dialog/external-image-dialog.component.mjs +78 -13
  93. package/esm2022/core/shared/components/rich-text-editor/prosemirror/plugins/image-plugin.mjs +33 -1
  94. package/esm2022/core/shared/components/rich-text-editor/prosemirror/prosemirror.service.mjs +3 -2
  95. package/esm2022/core/shared/components/tabbed-custom-fields/tabbed-custom-fields.component.mjs +2 -1
  96. package/esm2022/core/shared/directives/disabled.directive.mjs +1 -1
  97. package/esm2022/core/shared/dynamic-form-inputs/default-form-inputs.mjs +3 -1
  98. package/esm2022/core/shared/dynamic-form-inputs/dynamic-form-input/dynamic-form-input.component.mjs +9 -1
  99. package/esm2022/core/shared/dynamic-form-inputs/struct-form-input/struct-form-input.component.mjs +52 -0
  100. package/esm2022/core/shared/pipes/locale-base.pipe.mjs +2 -2
  101. package/esm2022/core/shared/pipes/state-i18n-token.pipe.mjs +1 -1
  102. package/esm2022/core/shared/shared.module.mjs +7 -3
  103. package/esm2022/customer/components/customer-detail/customer-detail.component.mjs +1 -1
  104. package/esm2022/customer/components/customer-group-list/customer-group-list.component.mjs +5 -3
  105. package/esm2022/customer/components/customer-group-member-list/customer-group-member-list.component.mjs +1 -1
  106. package/esm2022/customer/components/customer-list/customer-list.component.mjs +4 -3
  107. package/esm2022/dashboard/widgets/latest-orders-widget/latest-orders-widget.component.mjs +1 -1
  108. package/esm2022/dashboard/widgets/test-widget/test-widget.component.mjs +1 -1
  109. package/esm2022/marketing/components/promotion-list/promotion-list.component.mjs +4 -3
  110. package/esm2022/order/components/draft-order-detail/draft-order-detail.component.mjs +34 -3
  111. package/esm2022/order/components/order-data-table/order-data-table.component.mjs +1 -14
  112. package/esm2022/order/components/order-editor/order-editor.component.mjs +1 -1
  113. package/esm2022/order/components/order-list/order-list.component.mjs +4 -3
  114. package/esm2022/order/components/order-payment-card/order-payment-card.component.mjs +1 -1
  115. package/esm2022/order/components/order-state-select-dialog/order-state-select-dialog.component.mjs +1 -1
  116. package/esm2022/order/components/refund-order-dialog/refund-order-dialog.component.mjs +3 -3
  117. package/esm2022/order/order.routes.mjs +1 -2
  118. package/esm2022/settings/components/add-country-to-zone-dialog/add-country-to-zone-dialog.component.mjs +3 -3
  119. package/esm2022/settings/components/administrator-list/administrator-list.component.mjs +4 -3
  120. package/esm2022/settings/components/channel-list/channel-list.component.mjs +4 -3
  121. package/esm2022/settings/components/country-list/country-list.component.mjs +4 -3
  122. package/esm2022/settings/components/payment-method-list/payment-method-list.component.mjs +4 -3
  123. package/esm2022/settings/components/role-list/role-list.component.mjs +4 -3
  124. package/esm2022/settings/components/seller-list/seller-list.component.mjs +4 -3
  125. package/esm2022/settings/components/shipping-method-list/shipping-method-list.component.mjs +4 -3
  126. package/esm2022/settings/components/stock-location-list/stock-location-list.component.mjs +4 -3
  127. package/esm2022/settings/components/tax-category-list/tax-category-list.component.mjs +4 -3
  128. package/esm2022/settings/components/tax-rate-list/tax-rate-list.component.mjs +4 -3
  129. package/esm2022/settings/components/zone-list/zone-list.component.mjs +4 -3
  130. package/esm2022/settings/components/zone-member-list/zone-member-list.component.mjs +1 -1
  131. package/esm2022/system/components/job-list/job-list.component.mjs +1 -1
  132. package/esm2022/system/components/job-state-label/job-state-label.component.mjs +1 -1
  133. package/fesm2022/vendure-admin-ui-catalog.mjs +26 -24
  134. package/fesm2022/vendure-admin-ui-catalog.mjs.map +1 -1
  135. package/fesm2022/vendure-admin-ui-core.mjs +750 -309
  136. package/fesm2022/vendure-admin-ui-core.mjs.map +1 -1
  137. package/fesm2022/vendure-admin-ui-customer.mjs +9 -6
  138. package/fesm2022/vendure-admin-ui-customer.mjs.map +1 -1
  139. package/fesm2022/vendure-admin-ui-dashboard.mjs +1 -1
  140. package/fesm2022/vendure-admin-ui-dashboard.mjs.map +1 -1
  141. package/fesm2022/vendure-admin-ui-marketing.mjs +3 -2
  142. package/fesm2022/vendure-admin-ui-marketing.mjs.map +1 -1
  143. package/fesm2022/vendure-admin-ui-order.mjs +38 -20
  144. package/fesm2022/vendure-admin-ui-order.mjs.map +1 -1
  145. package/fesm2022/vendure-admin-ui-react.mjs.map +1 -1
  146. package/fesm2022/vendure-admin-ui-settings.mjs +36 -25
  147. package/fesm2022/vendure-admin-ui-settings.mjs.map +1 -1
  148. package/fesm2022/vendure-admin-ui-system.mjs +1 -1
  149. package/fesm2022/vendure-admin-ui-system.mjs.map +1 -1
  150. package/marketing/components/promotion-detail/promotion-detail.component.d.ts +1 -1
  151. package/marketing/components/promotion-list/promotion-list.component.d.ts +1 -0
  152. package/order/components/draft-order-detail/draft-order-detail.component.d.ts +1 -0
  153. package/order/components/order-data-table/order-data-table.component.d.ts +2 -3
  154. package/order/components/order-detail/order-detail.component.d.ts +1 -1
  155. package/order/components/order-list/order-list.component.d.ts +1 -0
  156. package/package.json +18 -18
  157. package/settings/components/admin-detail/admin-detail.component.d.ts +1 -1
  158. package/settings/components/administrator-list/administrator-list.component.d.ts +1 -0
  159. package/settings/components/channel-detail/channel-detail.component.d.ts +1 -1
  160. package/settings/components/channel-list/channel-list.component.d.ts +1 -0
  161. package/settings/components/country-detail/country-detail.component.d.ts +1 -1
  162. package/settings/components/country-list/country-list.component.d.ts +1 -0
  163. package/settings/components/global-settings/global-settings.component.d.ts +1 -1
  164. package/settings/components/payment-method-detail/payment-method-detail.component.d.ts +1 -1
  165. package/settings/components/payment-method-list/payment-method-list.component.d.ts +1 -0
  166. package/settings/components/profile/profile.component.d.ts +1 -1
  167. package/settings/components/role-list/role-list.component.d.ts +1 -0
  168. package/settings/components/seller-detail/seller-detail.component.d.ts +1 -1
  169. package/settings/components/seller-list/seller-list.component.d.ts +1 -0
  170. package/settings/components/shipping-method-detail/shipping-method-detail.component.d.ts +1 -1
  171. package/settings/components/shipping-method-list/shipping-method-list.component.d.ts +1 -0
  172. package/settings/components/stock-location-detail/stock-location-detail.component.d.ts +1 -1
  173. package/settings/components/stock-location-list/stock-location-list.component.d.ts +1 -0
  174. package/settings/components/tax-category-detail/tax-category-detail.component.d.ts +1 -1
  175. package/settings/components/tax-category-list/tax-category-list.component.d.ts +1 -0
  176. package/settings/components/tax-rate-detail/tax-rate-detail.component.d.ts +1 -1
  177. package/settings/components/tax-rate-list/tax-rate-list.component.d.ts +1 -0
  178. package/settings/components/zone-detail/zone-detail.component.d.ts +1 -1
  179. package/settings/components/zone-list/zone-list.component.d.ts +1 -0
  180. package/static/i18n-messages/en.json +6 -2
  181. package/static/i18n-messages/pt_PT.json +1 -0
  182. package/static/i18n-messages/sv.json +12 -12
  183. package/static/styles/component/prosemirror.scss +2 -0
@@ -107,6 +107,12 @@ export class DynamicFormInputComponent {
107
107
  if (this.listItems) {
108
108
  for (const item of this.listItems) {
109
109
  if (item.componentRef) {
110
+ const { value } = item.control;
111
+ const { type } = item.componentRef.instance.config || {};
112
+ // fix a bug where the list item of string turns into number which lead to unexpected behavior
113
+ if (typeof value === 'number' && type === 'string') {
114
+ item.control.setValue(item.control.value.toString(), { emitEvent: false });
115
+ }
110
116
  this.updateBindings(changes, item.componentRef);
111
117
  }
112
118
  }
@@ -227,6 +233,8 @@ export class DynamicFormInputComponent {
227
233
  return { component: 'text-form-input' };
228
234
  case 'relation':
229
235
  return { component: 'relation-form-input' };
236
+ case 'struct':
237
+ return { component: 'struct-form-input' };
230
238
  default:
231
239
  assertNever(type);
232
240
  }
@@ -268,4 +276,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
268
276
  type: ViewChildren,
269
277
  args: ['listItem', { read: ViewContainerRef }]
270
278
  }] } });
271
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvZHluYW1pYy1mb3JtLWlucHV0L2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2R5bmFtaWMtZm9ybS1pbnB1dC9keW5hbWljLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxRQUFRLEVBQ1IsS0FBSyxFQVFMLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFSCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixrQkFBa0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOzs7Ozs7O0FBUzNGOztHQUVHO0FBY0gsTUFBTSxPQUFPLHlCQUF5QjtJQW9CbEMsWUFDWSx3QkFBa0QsRUFDbEQsaUJBQW9D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QzFCLFdBQVcsRUFBRSx5QkFBeUI7Z0JBQ3RDLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixvSEFRNEIsZ0JBQWdCLDRGQUNYLGdCQUFnQixrRENyRXRELHcyQ0FnQ0E7OzJGRDhCYSx5QkFBeUI7a0JBYnJDLFNBQVM7K0JBQ0ksd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsMkJBQTJCOzRCQUN0QyxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtvSkFLUSxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQzJDLG1CQUFtQjtzQkFBbkUsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ08sa0JBQWtCO3NCQUF2RSxZQUFZO3VCQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHtcclxuICAgIEFmdGVyVmlld0luaXQsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgQ29tcG9uZW50UmVmLFxyXG4gICAgSW5qZWN0b3IsXHJcbiAgICBJbnB1dCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIFByb3ZpZGVyLFxyXG4gICAgUXVlcnlMaXN0LFxyXG4gICAgU2ltcGxlQ2hhbmdlcyxcclxuICAgIFR5cGUsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBWaWV3Q2hpbGRyZW4sXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgICBGb3JtQXJyYXksXHJcbiAgICBGb3JtQ29udHJvbCxcclxuICAgIE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgVW50eXBlZEZvcm1BcnJheSxcclxuICAgIFVudHlwZWRGb3JtQ29udHJvbCxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBDb25maWdBcmdUeXBlLCBDdXN0b21GaWVsZFR5cGUsIERlZmF1bHRGb3JtQ29tcG9uZW50SWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC10eXBlcyc7XHJcbmltcG9ydCB7IGFzc2VydE5ldmVyLCBub3ROdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL3NoYXJlZC11dGlscyc7XHJcbmltcG9ydCB7IHNpbXBsZURlZXBDbG9uZSB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2ltcGxlLWRlZXAtY2xvbmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vY29tcG9uZW50LXJlZ2lzdHJ5LXR5cGVzJztcclxuaW1wb3J0IHsgQ29uZmlnQXJnRGVmaW5pdGlvbiwgQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgZ2V0Q29uZmlnQXJnVmFsdWUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbGl0aWVzL2NvbmZpZ3VyYWJsZS1vcGVyYXRpb24tdXRpbHMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wcm92aWRlcnMvY29tcG9uZW50LXJlZ2lzdHJ5L2NvbXBvbmVudC1yZWdpc3RyeS5zZXJ2aWNlJztcclxuXHJcbnR5cGUgSW5wdXRMaXN0SXRlbSA9IHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICBjb21wb25lbnRSZWY/OiBDb21wb25lbnRSZWY8Rm9ybUlucHV0Q29tcG9uZW50PjtcclxuICAgIGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBBIGhvc3QgY29tcG9uZW50IHdoaWNoIGRlbGVnYXRlcyB0byBhbiBpbnN0YW5jZSBvciBsaXN0IG9mIEZvcm1JbnB1dENvbXBvbmVudCBjb21wb25lbnRzLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3Zkci1keW5hbWljLWZvcm0taW5wdXQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0taW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IER5bmFtaWNGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1JbnB1dENvbXBvbmVudFxyXG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvclxyXG57XHJcbiAgICBASW5wdXQoKSBkZWY6IENvbmZpZ0FyZ0RlZmluaXRpb24gfCBDdXN0b21GaWVsZENvbmZpZztcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sO1xyXG4gICAgQFZpZXdDaGlsZCgnc2luZ2xlJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHNpbmdsZVZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgICBAVmlld0NoaWxkcmVuKCdsaXN0SXRlbScsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KSBsaXN0SXRlbUNvbnRhaW5lcnM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPjtcclxuICAgIHJlbmRlckFzTGlzdCA9IGZhbHNlO1xyXG4gICAgbGlzdEl0ZW1zOiBJbnB1dExpc3RJdGVtW10gPSBbXTtcclxuICAgIHByaXZhdGUgc2luZ2xlQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Rm9ybUlucHV0Q29tcG9uZW50PjtcclxuICAgIHByaXZhdGUgbGlzdElkID0gMTtcclxuICAgIHByaXZhdGUgbGlzdEZvcm1BcnJheSA9IG5ldyBGb3JtQXJyYXkoW10gYXMgQXJyYXk8Rm9ybUNvbnRyb2w8YW55Pj4pO1xyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRUeXBlOiBUeXBlPEZvcm1JbnB1dENvbXBvbmVudD47XHJcbiAgICBwcml2YXRlIGNvbXBvbmVudFByb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbDogYW55KSA9PiB2b2lkO1xyXG4gICAgcHJpdmF0ZSBvblRvdWNoOiAoKSA9PiB2b2lkO1xyXG4gICAgcHJpdmF0ZSByZW5kZXJMaXN0JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGNvbXBvbmVudFJlZ2lzdHJ5U2VydmljZTogQ29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudElkID0gdGhpcy5nZXRJbnB1dENvbXBvbmVudENvbmZpZyh0aGlzLmRlZikuY29tcG9uZW50O1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlLmdldElucHV0Q29tcG9uZW50KGNvbXBvbmVudElkKTtcclxuICAgICAgICBpZiAoY29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50VHlwZSA9IGNvbXBvbmVudC50eXBlO1xyXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFByb3ZpZGVycyA9IGNvbXBvbmVudC5wcm92aWRlcnM7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcclxuICAgICAgICAgICAgICAgIGBObyBmb3JtIGlucHV0IGNvbXBvbmVudCByZWdpc3RlcmVkIHdpdGggdGhlIGlkIFwiJHtjb21wb25lbnRJZH1cIi4gVXNpbmcgdGhlIGRlZmF1bHQgaW5wdXQgaW5zdGVhZC5gLFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0Q29tcG9uZW50VHlwZSA9IHRoaXMuY29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlLmdldElucHV0Q29tcG9uZW50KFxyXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRJbnB1dENvbXBvbmVudENvbmZpZyh7IC4uLnRoaXMuZGVmLCB1aTogdW5kZWZpbmVkIH0gYXMgYW55KS5jb21wb25lbnQsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmIChkZWZhdWx0Q29tcG9uZW50VHlwZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gZGVmYXVsdENvbXBvbmVudFR5cGUudHlwZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50VHlwZSkge1xyXG4gICAgICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XHJcbiAgICAgICAgICAgICAgICBwcm92aWRlcnM6IHRoaXMuY29tcG9uZW50UHJvdmlkZXJzLFxyXG4gICAgICAgICAgICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxyXG4gICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgIC8vIGNyZWF0ZSBhIHRlbXAgaW5zdGFuY2UgdG8gY2hlY2sgdGhlIHZhbHVlIG9mIGBpc0xpc3RJbnB1dGBcclxuICAgICAgICAgICAgY29uc3QgY21wUmVmID0gdGhpcy5zaW5nbGVWaWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudCh0aGlzLmNvbXBvbmVudFR5cGUsIHsgaW5qZWN0b3IgfSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdElucHV0Q29tcG9uZW50ID0gY21wUmVmLmluc3RhbmNlLmlzTGlzdElucHV0ID8/IGZhbHNlO1xyXG4gICAgICAgICAgICBjbXBSZWYuZGVzdHJveSgpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuZGVmLmxpc3QgPT09IGZhbHNlICYmIGlzTGlzdElucHV0Q29tcG9uZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgICAgYFRoZSAke3RoaXMuY29tcG9uZW50VHlwZS5uYW1lfSBjb21wb25lbnQgaXMgYSBsaXN0IGlucHV0LCBidXQgdGhlIGRlZmluaXRpb24gZm9yICR7dGhpcy5kZWYubmFtZX0gZG9lcyBub3QgZXhwZWN0IGEgbGlzdGAsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyQXNMaXN0ID0gdGhpcy5kZWYubGlzdCAmJiAhaXNMaXN0SW5wdXRDb21wb25lbnQ7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5yZW5kZXJBc0xpc3QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmID0gdGhpcy5yZW5kZXJJbnB1dENvbXBvbmVudChcclxuICAgICAgICAgICAgICAgICAgICBpbmplY3RvcixcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpbmdsZVZpZXdDb250YWluZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGxldCBmb3JtQXJyYXlTdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlbmRlckxpc3RJbnB1dHMgPSAodmlld0NvbnRhaW5lclJlZnM6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh2aWV3Q29udGFpbmVyUmVmcy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZvcm1BcnJheVN1Yikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUFycmF5U3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5ID0gbmV3IFVudHlwZWRGb3JtQXJyYXkoW10pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtcy5mb3JFYWNoKGkgPT4gaS5jb21wb25lbnRSZWY/LmRlc3Ryb3koKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWZzLmZvckVhY2goKHJlZiwgaSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlzdEl0ZW0gPSB0aGlzLmxpc3RJdGVtcz8uW2ldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGxpc3RJdGVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5LnB1c2gobGlzdEl0ZW0uY29udHJvbCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdEl0ZW0uY29tcG9uZW50UmVmID0gdGhpcy5yZW5kZXJJbnB1dENvbXBvbmVudChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5qZWN0b3IsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdEl0ZW0uY29udHJvbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1BcnJheVN1YiA9IHRoaXMubGlzdEZvcm1BcnJheS52YWx1ZUNoYW5nZXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRydXRoeVZhbHVlcyA9IHZhbC5maWx0ZXIobm90TnVsbE9yVW5kZWZpbmVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRydXRoeVZhbHVlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUodHJ1dGh5VmFsdWVzLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIGluaXRpYWwgcmVuZGVyXHJcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtQ29udGFpbmVycy5jaGFuZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHZhbCA9PiByZW5kZXJMaXN0SW5wdXRzKHRoaXMubGlzdEl0ZW1Db250YWluZXJzKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gcmVuZGVyIG9uIGNoYW5nZXMgdG8gdGhlIGxpc3RcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCRcclxuICAgICAgICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMubGlzdEl0ZW1Db250YWluZXJzLmNoYW5nZXMucGlwZSh0YWtlKDEpKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlckxpc3RJbnB1dHModGhpcy5saXN0SXRlbUNvbnRhaW5lcnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgICAgIGlmICh0aGlzLmxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5saXN0SXRlbXMpIHtcclxuICAgICAgICAgICAgICAgIGlmIChpdGVtLmNvbXBvbmVudFJlZikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQmluZGluZ3MoY2hhbmdlcywgaXRlbS5jb21wb25lbnRSZWYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLnNpbmdsZUNvbXBvbmVudFJlZikge1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUJpbmRpbmdzKGNoYW5nZXMsIHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlQmluZGluZ3MoY2hhbmdlczogU2ltcGxlQ2hhbmdlcywgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8Rm9ybUlucHV0Q29tcG9uZW50Pikge1xyXG4gICAgICAgIGlmICgnZGVmJyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb25maWcgPSBzaW1wbGVEZWVwQ2xvbmUodGhpcy5kZWYpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoJ3JlYWRvbmx5JyBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5yZWFkb25seSA9IHRoaXMucmVhZG9ubHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRyYWNrQnlJZChpbmRleDogbnVtYmVyLCBpdGVtOiB7IGlkOiBudW1iZXIgfSkge1xyXG4gICAgICAgIHJldHVybiBpdGVtLmlkO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZExpc3RJdGVtKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5saXN0SXRlbXMpIHtcclxuICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSBbXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5saXN0SXRlbXMucHVzaCh7XHJcbiAgICAgICAgICAgIGlkOiB0aGlzLmxpc3RJZCsrLFxyXG4gICAgICAgICAgICBjb250cm9sOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCh0aGlzLmRlZiBhcyBDb25maWdBcmdEZWZpbml0aW9uKS5kZWZhdWx0VmFsdWUgPz8gbnVsbCksXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgbW92ZUxpc3RJdGVtKGV2ZW50OiBDZGtEcmFnRHJvcDxJbnB1dExpc3RJdGVtPikge1xyXG4gICAgICAgIGlmICh0aGlzLmxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICBtb3ZlSXRlbUluQXJyYXkodGhpcy5saXN0SXRlbXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdEZvcm1BcnJheS5yZW1vdmVBdChldmVudC5wcmV2aW91c0luZGV4KTtcclxuICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5Lmluc2VydChldmVudC5jdXJyZW50SW5kZXgsIGV2ZW50Lml0ZW0uZGF0YS5jb250cm9sKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUxpc3RJdGVtKGl0ZW06IElucHV0TGlzdEl0ZW0pIHtcclxuICAgICAgICBpZiAodGhpcy5saXN0SXRlbXMpIHtcclxuICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3RJdGVtcy5maW5kSW5kZXgoaSA9PiBpID09PSBpdGVtKTtcclxuICAgICAgICAgICAgaXRlbS5jb21wb25lbnRSZWY/LmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcclxuICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSB0aGlzLmxpc3RJdGVtcy5maWx0ZXIoaSA9PiBpICE9PSBpdGVtKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgcmVuZGVySW5wdXRDb21wb25lbnQoXHJcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgZm9ybUNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCxcclxuICAgICkge1xyXG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KHRoaXMuY29tcG9uZW50VHlwZSwgeyBpbmplY3RvciB9KTtcclxuICAgICAgICBjb25zdCB7IGluc3RhbmNlIH0gPSBjb21wb25lbnRSZWY7XHJcbiAgICAgICAgaW5zdGFuY2UuY29uZmlnID0gc2ltcGxlRGVlcENsb25lKHRoaXMuZGVmKTtcclxuICAgICAgICBpbnN0YW5jZS5mb3JtQ29udHJvbCA9IGZvcm1Db250cm9sO1xyXG4gICAgICAgIGluc3RhbmNlLnJlYWRvbmx5ID0gdGhpcy5yZWFkb25seTtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5qZWN0b3IuZ2V0KENoYW5nZURldGVjdG9yUmVmKS5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcclxuICAgICAgICAgICAgaWYgKG9iai5sZW5ndGggPT09IHRoaXMubGlzdEl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgb2JqLmZvckVhY2goKHZhbHVlLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmxpc3RJdGVtc1tpbmRleF0/LmNvbnRyb2w7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udHJvbC5wYXRjaFZhbHVlKGdldENvbmZpZ0FyZ1ZhbHVlKHZhbHVlKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IG9iai5tYXAoXHJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLmxpc3RJZCsrLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbDogbmV3IFVudHlwZWRGb3JtQ29udHJvbChnZXRDb25maWdBcmdWYWx1ZSh2YWx1ZSkpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGFzIElucHV0TGlzdEl0ZW0pLFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyTGlzdCQubmV4dCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRJbnB1dENvbXBvbmVudENvbmZpZyhhcmdEZWY6IENvbmZpZ0FyZ0RlZmluaXRpb24gfCBDdXN0b21GaWVsZENvbmZpZyk6IHtcclxuICAgICAgICBjb21wb25lbnQ6IERlZmF1bHRGb3JtQ29tcG9uZW50SWQ7XHJcbiAgICB9IHtcclxuICAgICAgICBpZiAodGhpcy5oYXNVaUNvbmZpZyhhcmdEZWYpICYmIGFyZ0RlZi51aS5jb21wb25lbnQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGFyZ0RlZi51aTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdHlwZSA9IGFyZ0RlZj8udHlwZSBhcyBDb25maWdBcmdUeXBlIHwgQ3VzdG9tRmllbGRUeXBlO1xyXG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICAgICAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICAgICAgICBjYXNlICdsb2NhbGVTdHJpbmcnOiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNPcHRpb25zID1cclxuICAgICAgICAgICAgICAgICAgICAhISh0aGlzLmlzQ29uZmlnQXJnRGVmKGFyZ0RlZikgJiYgYXJnRGVmLnVpPy5vcHRpb25zKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICEhKGFyZ0RlZiBhcyBTdHJpbmdDdXN0b21GaWVsZENvbmZpZykub3B0aW9ucztcclxuICAgICAgICAgICAgICAgIGlmIChoYXNPcHRpb25zKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnc2VsZWN0LWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHQtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICd0ZXh0JzpcclxuICAgICAgICAgICAgY2FzZSAnbG9jYWxlVGV4dCc6IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHRhcmVhLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2FzZSAnaW50JzpcclxuICAgICAgICAgICAgY2FzZSAnZmxvYXQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnbnVtYmVyLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnYm9vbGVhbi1mb3JtLWlucHV0JyB9O1xyXG4gICAgICAgICAgICBjYXNlICdkYXRldGltZSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdkYXRlLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ0lEJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ3RleHQtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgY2FzZSAncmVsYXRpb24nOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAncmVsYXRpb24tZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGFzc2VydE5ldmVyKHR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGlzQ29uZmlnQXJnRGVmKGRlZjogQ29uZmlnQXJnRGVmaW5pdGlvbiB8IEN1c3RvbUZpZWxkQ29uZmlnKTogZGVmIGlzIENvbmZpZ0FyZ0RlZmluaXRpb24ge1xyXG4gICAgICAgIHJldHVybiAoZGVmIGFzIENvbmZpZ0FyZ0RlZmluaXRpb24pPy5fX3R5cGVuYW1lID09PSAnQ29uZmlnQXJnRGVmaW5pdGlvbic7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYXNVaUNvbmZpZyhkZWY6IHVua25vd24pOiBkZWYgaXMgeyB1aTogeyBjb21wb25lbnQ6IHN0cmluZyB9IH0ge1xyXG4gICAgICAgIHJldHVybiB0eXBlb2YgZGVmID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgKGRlZiBhcyBhbnkpPy51aT8uY29tcG9uZW50ID09PSAnc3RyaW5nJztcclxuICAgIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlbmRlckFzTGlzdDsgZWxzZSBsaXN0XCI+XHJcbiAgICA8bmctY29udGFpbmVyICNzaW5nbGU+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI2xpc3Q+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGlzdC1jb250YWluZXJcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm1vdmVMaXN0SXRlbSgkZXZlbnQpXCI+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cImxpc3QtaXRlbS1yb3dcIlxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0SXRlbXM7IHRyYWNrQnk6IHRyYWNrQnlJZFwiXHJcbiAgICAgICAgICAgIGNka0RyYWdcclxuICAgICAgICAgICAgW2Nka0RyYWdEYXRhXT1cIml0ZW1cIlxyXG4gICAgICAgICAgICBbY2RrRHJhZ0xvY2tBeGlzXT1cIid5J1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1zcGFjZXIgcHItMlwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAjbGlzdEl0ZW0+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImJ1dHRvbi1zbWFsbFwiXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlTGlzdEl0ZW0oaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidjb21tb24ucmVtb3ZlLWl0ZW0tZnJvbS1saXN0JyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cInRpbWVzXCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcmFnLWhhbmRsZVwiIGNka0RyYWdIYW5kbGUgW2NsYXNzLmhpZGRlbl09XCJyZWFkb25seVwiPlxyXG4gICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwiZHJhZy1oYW5kbGVcIiBzaXplPVwiMjRcIj48L2Nsci1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgYnRuLXNtXCIgKGNsaWNrKT1cImFkZExpc3RJdGVtKClcIiAqbmdJZj1cIiFyZWFkb25seVwiPlxyXG4gICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJwbHVzXCI+PC9jbHItaWNvbj4ge3sgJ2NvbW1vbi5hZGQtaXRlbS10by1saXN0JyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
279
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL2R5bmFtaWMtZm9ybS1pbnB1dHMvZHluYW1pYy1mb3JtLWlucHV0L2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL2R5bmFtaWMtZm9ybS1pbnB1dC9keW5hbWljLWZvcm0taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFlLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFFVCxRQUFRLEVBQ1IsS0FBSyxFQVFMLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEdBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFSCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixrQkFBa0IsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDOzs7Ozs7O0FBUzNGOztHQUVHO0FBY0gsTUFBTSxPQUFPLHlCQUF5QjtJQW9CbEMsWUFDWSx3QkFBa0QsRUFDbEQsaUJBQW9D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SW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQge1xyXG4gICAgQWZ0ZXJWaWV3SW5pdCxcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb21wb25lbnRSZWYsXHJcbiAgICBJbmplY3RvcixcclxuICAgIElucHV0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgT25Jbml0LFxyXG4gICAgUHJvdmlkZXIsXHJcbiAgICBRdWVyeUxpc3QsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgVHlwZSxcclxuICAgIFZpZXdDaGlsZCxcclxuICAgIFZpZXdDaGlsZHJlbixcclxuICAgIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcclxuICAgIEZvcm1BcnJheSxcclxuICAgIEZvcm1Db250cm9sLFxyXG4gICAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICBVbnR5cGVkRm9ybUFycmF5LFxyXG4gICAgVW50eXBlZEZvcm1Db250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3RyaW5nQ3VzdG9tRmllbGRDb25maWcgfSBmcm9tICdAdmVuZHVyZS9jb21tb24vbGliL2dlbmVyYXRlZC10eXBlcyc7XHJcbmltcG9ydCB7IENvbmZpZ0FyZ1R5cGUsIEN1c3RvbUZpZWxkVHlwZSwgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcclxuaW1wb3J0IHsgYXNzZXJ0TmV2ZXIsIG5vdE51bGxPclVuZGVmaW5lZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXV0aWxzJztcclxuaW1wb3J0IHsgc2ltcGxlRGVlcENsb25lIH0gZnJvbSAnQHZlbmR1cmUvY29tbW9uL2xpYi9zaW1wbGUtZGVlcC1jbG9uZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5pbXBvcnQgeyBDb25maWdBcmdEZWZpbml0aW9uLCBDdXN0b21GaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9nZW5lcmF0ZWQtdHlwZXMnO1xyXG5pbXBvcnQgeyBnZXRDb25maWdBcmdWYWx1ZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlsaXRpZXMvY29uZmlndXJhYmxlLW9wZXJhdGlvbi11dGlscyc7XHJcbmltcG9ydCB7IENvbXBvbmVudFJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Byb3ZpZGVycy9jb21wb25lbnQtcmVnaXN0cnkvY29tcG9uZW50LXJlZ2lzdHJ5LnNlcnZpY2UnO1xyXG5cclxudHlwZSBJbnB1dExpc3RJdGVtID0ge1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIGNvbXBvbmVudFJlZj86IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+O1xyXG4gICAgY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIEEgaG9zdCBjb21wb25lbnQgd2hpY2ggZGVsZWdhdGVzIHRvIGFuIGluc3RhbmNlIG9yIGxpc3Qgb2YgRm9ybUlucHV0Q29tcG9uZW50IGNvbXBvbmVudHMuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLWR5bmFtaWMtZm9ybS1pbnB1dCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogRHluYW1pY0Zvcm1JbnB1dENvbXBvbmVudCxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUlucHV0Q29tcG9uZW50XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbntcclxuICAgIEBJbnB1dCgpIGRlZjogQ29uZmlnQXJnRGVmaW5pdGlvbiB8IEN1c3RvbUZpZWxkQ29uZmlnO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBjb250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICBAVmlld0NoaWxkKCdzaW5nbGUnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgc2luZ2xlVmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuICAgIEBWaWV3Q2hpbGRyZW4oJ2xpc3RJdGVtJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGxpc3RJdGVtQ29udGFpbmVyczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+O1xyXG4gICAgcmVuZGVyQXNMaXN0ID0gZmFsc2U7XHJcbiAgICBsaXN0SXRlbXM6IElucHV0TGlzdEl0ZW1bXSA9IFtdO1xyXG4gICAgcHJpdmF0ZSBzaW5nbGVDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+O1xyXG4gICAgcHJpdmF0ZSBsaXN0SWQgPSAxO1xyXG4gICAgcHJpdmF0ZSBsaXN0Rm9ybUFycmF5ID0gbmV3IEZvcm1BcnJheShbXSBhcyBBcnJheTxGb3JtQ29udHJvbDxhbnk+Pik7XHJcbiAgICBwcml2YXRlIGNvbXBvbmVudFR5cGU6IFR5cGU8Rm9ybUlucHV0Q29tcG9uZW50PjtcclxuICAgIHByaXZhdGUgY29tcG9uZW50UHJvdmlkZXJzOiBQcm92aWRlcltdID0gW107XHJcbiAgICBwcml2YXRlIG9uQ2hhbmdlOiAodmFsOiBhbnkpID0+IHZvaWQ7XHJcbiAgICBwcml2YXRlIG9uVG91Y2g6ICgpID0+IHZvaWQ7XHJcbiAgICBwcml2YXRlIHJlbmRlckxpc3QkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50UmVnaXN0cnlTZXJ2aWNlOiBDb21wb25lbnRSZWdpc3RyeVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICApIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50SWQgPSB0aGlzLmdldElucHV0Q29tcG9uZW50Q29uZmlnKHRoaXMuZGVmKS5jb21wb25lbnQ7XHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRSZWdpc3RyeVNlcnZpY2UuZ2V0SW5wdXRDb21wb25lbnQoY29tcG9uZW50SWQpO1xyXG4gICAgICAgIGlmIChjb21wb25lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRUeXBlID0gY29tcG9uZW50LnR5cGU7XHJcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UHJvdmlkZXJzID0gY29tcG9uZW50LnByb3ZpZGVycztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFxyXG4gICAgICAgICAgICAgICAgYE5vIGZvcm0gaW5wdXQgY29tcG9uZW50IHJlZ2lzdGVyZWQgd2l0aCB0aGUgaWQgXCIke2NvbXBvbmVudElkfVwiLiBVc2luZyB0aGUgZGVmYXVsdCBpbnB1dCBpbnN0ZWFkLmAsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRDb21wb25lbnRUeXBlID0gdGhpcy5jb21wb25lbnRSZWdpc3RyeVNlcnZpY2UuZ2V0SW5wdXRDb21wb25lbnQoXHJcbiAgICAgICAgICAgICAgICB0aGlzLmdldElucHV0Q29tcG9uZW50Q29uZmlnKHsgLi4udGhpcy5kZWYsIHVpOiB1bmRlZmluZWQgfSBhcyBhbnkpLmNvbXBvbmVudCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKGRlZmF1bHRDb21wb25lbnRUeXBlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudFR5cGUgPSBkZWZhdWx0Q29tcG9uZW50VHlwZS50eXBlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRUeXBlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcclxuICAgICAgICAgICAgICAgIHByb3ZpZGVyczogdGhpcy5jb21wb25lbnRQcm92aWRlcnMsXHJcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IHRoaXMuaW5qZWN0b3IsXHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgLy8gY3JlYXRlIGEgdGVtcCBpbnN0YW5jZSB0byBjaGVjayB0aGUgdmFsdWUgb2YgYGlzTGlzdElucHV0YFxyXG4gICAgICAgICAgICBjb25zdCBjbXBSZWYgPSB0aGlzLnNpbmdsZVZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KHRoaXMuY29tcG9uZW50VHlwZSwgeyBpbmplY3RvciB9KTtcclxuICAgICAgICAgICAgY29uc3QgaXNMaXN0SW5wdXRDb21wb25lbnQgPSBjbXBSZWYuaW5zdGFuY2UuaXNMaXN0SW5wdXQgPz8gZmFsc2U7XHJcbiAgICAgICAgICAgIGNtcFJlZi5kZXN0cm95KCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5kZWYubGlzdCA9PT0gZmFsc2UgJiYgaXNMaXN0SW5wdXRDb21wb25lbnQpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICAgICAgICAgICAgICBgVGhlICR7dGhpcy5jb21wb25lbnRUeXBlLm5hbWV9IGNvbXBvbmVudCBpcyBhIGxpc3QgaW5wdXQsIGJ1dCB0aGUgZGVmaW5pdGlvbiBmb3IgJHt0aGlzLmRlZi5uYW1lfSBkb2VzIG5vdCBleHBlY3QgYSBsaXN0YCxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJBc0xpc3QgPSB0aGlzLmRlZi5saXN0ICYmICFpc0xpc3RJbnB1dENvbXBvbmVudDtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLnJlbmRlckFzTGlzdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaW5nbGVDb21wb25lbnRSZWYgPSB0aGlzLnJlbmRlcklucHV0Q29tcG9uZW50KFxyXG4gICAgICAgICAgICAgICAgICAgIGluamVjdG9yLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2luZ2xlVmlld0NvbnRhaW5lcixcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgbGV0IGZvcm1BcnJheVN1YjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcmVuZGVyTGlzdElucHV0cyA9ICh2aWV3Q29udGFpbmVyUmVmczogUXVlcnlMaXN0PFZpZXdDb250YWluZXJSZWY+KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZpZXdDb250YWluZXJSZWZzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9ybUFycmF5U3ViKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQXJyYXlTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkgPSBuZXcgVW50eXBlZEZvcm1BcnJheShbXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zLmZvckVhY2goaSA9PiBpLmNvbXBvbmVudFJlZj8uZGVzdHJveSgpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmlld0NvbnRhaW5lclJlZnMuZm9yRWFjaCgocmVmLCBpKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaXN0SXRlbSA9IHRoaXMubGlzdEl0ZW1zPy5baV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobGlzdEl0ZW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkucHVzaChsaXN0SXRlbS5jb250cm9sKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0SXRlbS5jb21wb25lbnRSZWYgPSB0aGlzLnJlbmRlcklucHV0Q29tcG9uZW50KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmplY3RvcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0SXRlbS5jb250cm9sLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUFycmF5U3ViID0gdGhpcy5saXN0Rm9ybUFycmF5LnZhbHVlQ2hhbmdlc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1YnNjcmliZSh2YWwgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHJ1dGh5VmFsdWVzID0gdmFsLmZpbHRlcihub3ROdWxsT3JVbmRlZmluZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodHJ1dGh5VmFsdWVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRyb2wucGF0Y2hWYWx1ZSh0cnV0aHlWYWx1ZXMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gaW5pdGlhbCByZW5kZXJcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1Db250YWluZXJzLmNoYW5nZXNcclxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUodmFsID0+IHJlbmRlckxpc3RJbnB1dHModGhpcy5saXN0SXRlbUNvbnRhaW5lcnMpKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyByZW5kZXIgb24gY2hhbmdlcyB0byB0aGUgbGlzdFxyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JFxyXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5saXN0SXRlbUNvbnRhaW5lcnMuY2hhbmdlcy5waXBlKHRha2UoMSkpKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVuZGVyTGlzdElucHV0cyh0aGlzLmxpc3RJdGVtQ29udGFpbmVycyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAgICAgaWYgKHRoaXMubGlzdEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uY29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gaXRlbS5jb250cm9sO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgdHlwZSB9ID0gaXRlbS5jb21wb25lbnRSZWYuaW5zdGFuY2UuY29uZmlnIHx8IHt9O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZpeCBhIGJ1ZyB3aGVyZSB0aGUgbGlzdCBpdGVtIG9mIHN0cmluZyB0dXJucyBpbnRvIG51bWJlciB3aGljaCBsZWFkIHRvIHVuZXhwZWN0ZWQgYmVoYXZpb3JcclxuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiB0eXBlID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmNvbnRyb2wuc2V0VmFsdWUoaXRlbS5jb250cm9sLnZhbHVlLnRvU3RyaW5nKCksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVCaW5kaW5ncyhjaGFuZ2VzLCBpdGVtLmNvbXBvbmVudFJlZik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuc2luZ2xlQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQmluZGluZ3MoY2hhbmdlcywgdGhpcy5zaW5nbGVDb21wb25lbnRSZWYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVCaW5kaW5ncyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzLCBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGb3JtSW5wdXRDb21wb25lbnQ+KSB7XHJcbiAgICAgICAgaWYgKCdkZWYnIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbmZpZyA9IHNpbXBsZURlZXBDbG9uZSh0aGlzLmRlZik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICgncmVhZG9ubHknIGluIGNoYW5nZXMpIHtcclxuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLnJlYWRvbmx5ID0gdGhpcy5yZWFkb25seTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29tcG9uZW50UmVmLmluamVjdG9yLmdldChDaGFuZ2VEZXRlY3RvclJlZikubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhY2tCeUlkKGluZGV4OiBudW1iZXIsIGl0ZW06IHsgaWQ6IG51bWJlciB9KSB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW0uaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkTGlzdEl0ZW0oKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFtdO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmxpc3RJdGVtcy5wdXNoKHtcclxuICAgICAgICAgICAgaWQ6IHRoaXMubGlzdElkKyssXHJcbiAgICAgICAgICAgIGNvbnRyb2w6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKHRoaXMuZGVmIGFzIENvbmZpZ0FyZ0RlZmluaXRpb24pLmRlZmF1bHRWYWx1ZSA/PyBudWxsKSxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnJlbmRlckxpc3QkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBtb3ZlTGlzdEl0ZW0oZXZlbnQ6IENka0RyYWdEcm9wPElucHV0TGlzdEl0ZW0+KSB7XHJcbiAgICAgICAgaWYgKHRoaXMubGlzdEl0ZW1zKSB7XHJcbiAgICAgICAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmxpc3RJdGVtcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcclxuICAgICAgICAgICAgdGhpcy5saXN0Rm9ybUFycmF5LnJlbW92ZUF0KGV2ZW50LnByZXZpb3VzSW5kZXgpO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkuaW5zZXJ0KGV2ZW50LmN1cnJlbnRJbmRleCwgZXZlbnQuaXRlbS5kYXRhLmNvbnRyb2wpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlckxpc3QkLm5leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmVtb3ZlTGlzdEl0ZW0oaXRlbTogSW5wdXRMaXN0SXRlbSkge1xyXG4gICAgICAgIGlmICh0aGlzLmxpc3RJdGVtcykge1xyXG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMubGlzdEl0ZW1zLmZpbmRJbmRleChpID0+IGkgPT09IGl0ZW0pO1xyXG4gICAgICAgICAgICBpdGVtLmNvbXBvbmVudFJlZj8uZGVzdHJveSgpO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RGb3JtQXJyYXkucmVtb3ZlQXQoaW5kZXgpO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IHRoaXMubGlzdEl0ZW1zLmZpbHRlcihpID0+IGkgIT09IGl0ZW0pO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlckxpc3QkLm5leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSByZW5kZXJJbnB1dENvbXBvbmVudChcclxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBmb3JtQ29udHJvbDogVW50eXBlZEZvcm1Db250cm9sLFxyXG4gICAgKSB7XHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQodGhpcy5jb21wb25lbnRUeXBlLCB7IGluamVjdG9yIH0pO1xyXG4gICAgICAgIGNvbnN0IHsgaW5zdGFuY2UgfSA9IGNvbXBvbmVudFJlZjtcclxuICAgICAgICBpbnN0YW5jZS5jb25maWcgPSBzaW1wbGVEZWVwQ2xvbmUodGhpcy5kZWYpO1xyXG4gICAgICAgIGluc3RhbmNlLmZvcm1Db250cm9sID0gZm9ybUNvbnRyb2w7XHJcbiAgICAgICAgaW5zdGFuY2UucmVhZG9ubHkgPSB0aGlzLnJlYWRvbmx5O1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbmplY3Rvci5nZXQoQ2hhbmdlRGV0ZWN0b3JSZWYpLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIHJldHVybiBjb21wb25lbnRSZWY7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob2JqKSkge1xyXG4gICAgICAgICAgICBpZiAob2JqLmxlbmd0aCA9PT0gdGhpcy5saXN0SXRlbXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgICAgICBvYmouZm9yRWFjaCgodmFsdWUsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMubGlzdEl0ZW1zW2luZGV4XT8uY29udHJvbDtcclxuICAgICAgICAgICAgICAgICAgICBjb250cm9sLnBhdGNoVmFsdWUoZ2V0Q29uZmlnQXJnVmFsdWUodmFsdWUpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zID0gb2JqLm1hcChcclxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHRoaXMubGlzdElkKyssXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKGdldENvbmZpZ0FyZ1ZhbHVlKHZhbHVlKSksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pIGFzIElucHV0TGlzdEl0ZW0sXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJMaXN0JC5uZXh0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmxpc3RJdGVtcyA9IFtdO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlckxpc3QkLm5leHQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldElucHV0Q29tcG9uZW50Q29uZmlnKGFyZ0RlZjogQ29uZmlnQXJnRGVmaW5pdGlvbiB8IEN1c3RvbUZpZWxkQ29uZmlnKToge1xyXG4gICAgICAgIGNvbXBvbmVudDogRGVmYXVsdEZvcm1Db21wb25lbnRJZDtcclxuICAgIH0ge1xyXG4gICAgICAgIGlmICh0aGlzLmhhc1VpQ29uZmlnKGFyZ0RlZikgJiYgYXJnRGVmLnVpLmNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICByZXR1cm4gYXJnRGVmLnVpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0eXBlID0gYXJnRGVmPy50eXBlIGFzIENvbmZpZ0FyZ1R5cGUgfCBDdXN0b21GaWVsZFR5cGU7XHJcbiAgICAgICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgICAgIGNhc2UgJ2xvY2FsZVN0cmluZyc6IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGhhc09wdGlvbnMgPVxyXG4gICAgICAgICAgICAgICAgICAgICEhKHRoaXMuaXNDb25maWdBcmdEZWYoYXJnRGVmKSAmJiBhcmdEZWYudWk/Lm9wdGlvbnMpIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgISEoYXJnRGVmIGFzIFN0cmluZ0N1c3RvbUZpZWxkQ29uZmlnKS5vcHRpb25zO1xyXG4gICAgICAgICAgICAgICAgaWYgKGhhc09wdGlvbnMpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdzZWxlY3QtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAndGV4dC1mb3JtLWlucHV0JyB9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhc2UgJ3RleHQnOlxyXG4gICAgICAgICAgICBjYXNlICdsb2NhbGVUZXh0Jzoge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAndGV4dGFyZWEtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjYXNlICdpbnQnOlxyXG4gICAgICAgICAgICBjYXNlICdmbG9hdCc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdudW1iZXItZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgY2FzZSAnYm9vbGVhbic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdib29sZWFuLWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIGNhc2UgJ2RhdGV0aW1lJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiB7IGNvbXBvbmVudDogJ2RhdGUtZm9ybS1pbnB1dCcgfTtcclxuICAgICAgICAgICAgY2FzZSAnSUQnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAndGV4dC1mb3JtLWlucHV0JyB9O1xyXG4gICAgICAgICAgICBjYXNlICdyZWxhdGlvbic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBjb21wb25lbnQ6ICdyZWxhdGlvbi1mb3JtLWlucHV0JyB9O1xyXG4gICAgICAgICAgICBjYXNlICdzdHJ1Y3QnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgY29tcG9uZW50OiAnc3RydWN0LWZvcm0taW5wdXQnIH07XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICBhc3NlcnROZXZlcih0eXBlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBpc0NvbmZpZ0FyZ0RlZihkZWY6IENvbmZpZ0FyZ0RlZmluaXRpb24gfCBDdXN0b21GaWVsZENvbmZpZyk6IGRlZiBpcyBDb25maWdBcmdEZWZpbml0aW9uIHtcclxuICAgICAgICByZXR1cm4gKGRlZiBhcyBDb25maWdBcmdEZWZpbml0aW9uKT8uX190eXBlbmFtZSA9PT0gJ0NvbmZpZ0FyZ0RlZmluaXRpb24nO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFzVWlDb25maWcoZGVmOiB1bmtub3duKTogZGVmIGlzIHsgdWk6IHsgY29tcG9uZW50OiBzdHJpbmcgfSB9IHtcclxuICAgICAgICByZXR1cm4gdHlwZW9mIGRlZiA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIChkZWYgYXMgYW55KT8udWk/LmNvbXBvbmVudCA9PT0gJ3N0cmluZyc7XHJcbiAgICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFyZW5kZXJBc0xpc3Q7IGVsc2UgbGlzdFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAjc2luZ2xlPjwvbmctY29udGFpbmVyPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNsaXN0PlxyXG4gICAgPGRpdiBjbGFzcz1cImxpc3QtY29udGFpbmVyXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJtb3ZlTGlzdEl0ZW0oJGV2ZW50KVwiPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJsaXN0LWl0ZW0tcm93XCJcclxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdEl0ZW1zOyB0cmFja0J5OiB0cmFja0J5SWRcIlxyXG4gICAgICAgICAgICBjZGtEcmFnXHJcbiAgICAgICAgICAgIFtjZGtEcmFnRGF0YV09XCJpdGVtXCJcclxuICAgICAgICAgICAgW2Nka0RyYWdMb2NrQXhpc109XCIneSdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtc3BhY2VyIHByLTJcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgI2xpc3RJdGVtPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tc21hbGxcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhcmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUxpc3RJdGVtKGl0ZW0pXCJcclxuICAgICAgICAgICAgICAgIFt0aXRsZV09XCInY29tbW9uLnJlbW92ZS1pdGVtLWZyb20tbGlzdCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJ0aW1lc1wiPjwvY2xyLWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJhZy1oYW5kbGVcIiBjZGtEcmFnSGFuZGxlIFtjbGFzcy5oaWRkZW5dPVwicmVhZG9ubHlcIj5cclxuICAgICAgICAgICAgICAgIDxjbHItaWNvbiBzaGFwZT1cImRyYWctaGFuZGxlXCIgc2l6ZT1cIjI0XCI+PC9jbHItaWNvbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IGJ0bi1zbVwiIChjbGljayk9XCJhZGRMaXN0SXRlbSgpXCIgKm5nSWY9XCIhcmVhZG9ubHlcIj5cclxuICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwicGx1c1wiPjwvY2xyLWljb24+IHt7ICdjb21tb24uYWRkLWl0ZW0tdG8tbGlzdCcgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -0,0 +1,52 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
+ import { map } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../data/providers/data.service";
6
+ import * as i2 from "@clr/angular";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "../../components/help-tooltip/help-tooltip.component";
10
+ import * as i6 from "../dynamic-form-input/dynamic-form-input.component";
11
+ import * as i7 from "../../pipes/custom-field-label.pipe";
12
+ import * as i8 from "../../pipes/custom-field-description.pipe";
13
+ /**
14
+ * @description
15
+ * A checkbox input. The default input component for `boolean` fields.
16
+ *
17
+ * @docsCategory custom-input-components
18
+ * @docsPage default-inputs
19
+ */
20
+ export class StructFormInputComponent {
21
+ static { this.id = 'struct-form-input'; }
22
+ constructor(dataService) {
23
+ this.dataService = dataService;
24
+ this.structFormGroup = new FormGroup({});
25
+ }
26
+ ngOnInit() {
27
+ this.uiLanguage$ = this.dataService.client
28
+ .uiState()
29
+ .stream$.pipe(map(({ uiState }) => uiState.language));
30
+ const value = this.formControl.value || {};
31
+ this.fields =
32
+ this.config.fields?.map(field => {
33
+ const formControl = new FormControl(value[field.name]);
34
+ this.structFormGroup.addControl(field.name, formControl);
35
+ return { def: field, formControl };
36
+ }) ?? [];
37
+ this.structFormGroup.valueChanges.subscribe(value => {
38
+ this.formControl.setValue(value);
39
+ this.formControl.markAsDirty();
40
+ });
41
+ }
42
+ ngOnDestroy() {
43
+ this.subscription?.unsubscribe();
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StructFormInputComponent, deps: [{ token: i1.DataService }], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.4", type: StructFormInputComponent, selector: "vdr-struct-form-input", ngImport: i0, template: "<div [formGroup]=\"structFormGroup\" class=\"struct-container p-2\">\r\n <div *ngFor=\"let field of fields\" class=\"flex mb-1\">\r\n <label class=\"struct-field-wrapper\">\r\n <div class=\"struct-field-label\">\r\n {{ field.def | customFieldLabel: (uiLanguage$ | async) }}\r\n <vdr-help-tooltip\r\n *ngIf=\"field.def | customFieldDescription: (uiLanguage$ | async) as description\"\r\n [content]=\"description\"\r\n ></vdr-help-tooltip>\r\n </div>\r\n\r\n <vdr-dynamic-form-input\r\n [readonly]=\"false\"\r\n [control]=\"field.formControl\"\r\n [def]=\"field.def\"\r\n [formControlName]=\"field.def.name\"\r\n >\r\n </vdr-dynamic-form-input>\r\n </label>\r\n </div>\r\n</div>\r\n", styles: [".struct-container{border-left:2px solid var(--color-weight-100)}.struct-field-wrapper{display:flex;width:100%;align-items:baseline}.struct-field-wrapper>.struct-field-label{flex:1}.struct-field-wrapper>vdr-dynamic-form-input{flex:2}\n"], dependencies: [{ kind: "directive", type: i2.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.HelpTooltipComponent, selector: "vdr-help-tooltip", inputs: ["content", "position"] }, { kind: "component", type: i6.DynamicFormInputComponent, selector: "vdr-dynamic-form-input", inputs: ["def", "readonly", "control"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.CustomFieldLabelPipe, name: "customFieldLabel" }, { kind: "pipe", type: i8.CustomFieldDescriptionPipe, name: "customFieldDescription" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: StructFormInputComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'vdr-struct-form-input', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [formGroup]=\"structFormGroup\" class=\"struct-container p-2\">\r\n <div *ngFor=\"let field of fields\" class=\"flex mb-1\">\r\n <label class=\"struct-field-wrapper\">\r\n <div class=\"struct-field-label\">\r\n {{ field.def | customFieldLabel: (uiLanguage$ | async) }}\r\n <vdr-help-tooltip\r\n *ngIf=\"field.def | customFieldDescription: (uiLanguage$ | async) as description\"\r\n [content]=\"description\"\r\n ></vdr-help-tooltip>\r\n </div>\r\n\r\n <vdr-dynamic-form-input\r\n [readonly]=\"false\"\r\n [control]=\"field.formControl\"\r\n [def]=\"field.def\"\r\n [formControlName]=\"field.def.name\"\r\n >\r\n </vdr-dynamic-form-input>\r\n </label>\r\n </div>\r\n</div>\r\n", styles: [".struct-container{border-left:2px solid var(--color-weight-100)}.struct-field-wrapper{display:flex;width:100%;align-items:baseline}.struct-field-wrapper>.struct-field-label{flex:1}.struct-field-wrapper>vdr-dynamic-form-input{flex:2}\n"] }]
51
+ }], ctorParameters: () => [{ type: i1.DataService }] });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0LWZvcm0taW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvZHluYW1pYy1mb3JtLWlucHV0cy9zdHJ1Y3QtZm9ybS1pbnB1dC9zdHJ1Y3QtZm9ybS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL3NoYXJlZC9keW5hbWljLWZvcm0taW5wdXRzL3N0cnVjdC1mb3JtLWlucHV0L3N0cnVjdC1mb3JtLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBRzVFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQU1yQzs7Ozs7O0dBTUc7QUFPSCxNQUFNLE9BQU8sd0JBQXdCO2FBQ2pCLE9BQUUsR0FBMkIsbUJBQW1CLEFBQTlDLENBQStDO0lBWWpFLFlBQW9CLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBUGxDLG9CQUFlLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFPQyxDQUFDO0lBRWhELFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTTthQUNyQyxPQUFPLEVBQUU7YUFDVCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRTFELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUUzQyxJQUFJLENBQUMsTUFBTTtZQUNOLElBQUksQ0FBQyxNQUErQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3RFLE1BQU0sV0FBVyxHQUFHLElBQUksV0FBVyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDekQsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDdkMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDckMsQ0FBQzs4R0FyQ1Esd0JBQXdCO2tHQUF4Qix3QkFBd0IsNkRDdkJyQyxvNEJBcUJBOzsyRkRFYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEZWZhdWx0Rm9ybUNvbXBvbmVudENvbmZpZywgRGVmYXVsdEZvcm1Db21wb25lbnRJZCB9IGZyb20gJ0B2ZW5kdXJlL2NvbW1vbi9saWIvc2hhcmVkLXR5cGVzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9jb21wb25lbnQtcmVnaXN0cnktdHlwZXMnO1xyXG5pbXBvcnQgeyBMYW5ndWFnZUNvZGUsIFN0cnVjdEN1c3RvbUZpZWxkRnJhZ21lbnQgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZ2VuZXJhdGVkLXR5cGVzJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kYXRhL3Byb3ZpZGVycy9kYXRhLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBBIGNoZWNrYm94IGlucHV0LiBUaGUgZGVmYXVsdCBpbnB1dCBjb21wb25lbnQgZm9yIGBib29sZWFuYCBmaWVsZHMuXHJcbiAqXHJcbiAqIEBkb2NzQ2F0ZWdvcnkgY3VzdG9tLWlucHV0LWNvbXBvbmVudHNcclxuICogQGRvY3NQYWdlIGRlZmF1bHQtaW5wdXRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndmRyLXN0cnVjdC1mb3JtLWlucHV0JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdHJ1Y3QtZm9ybS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9zdHJ1Y3QtZm9ybS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdHJ1Y3RGb3JtSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBGb3JtSW5wdXRDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHN0YXRpYyByZWFkb25seSBpZDogRGVmYXVsdEZvcm1Db21wb25lbnRJZCA9ICdzdHJ1Y3QtZm9ybS1pbnB1dCc7XHJcbiAgICByZWFkb25seTogYm9vbGVhbjtcclxuICAgIGZvcm1Db250cm9sOiBVbnR5cGVkRm9ybUNvbnRyb2w7XHJcbiAgICBjb25maWc6IERlZmF1bHRGb3JtQ29tcG9uZW50Q29uZmlnPCdzdHJ1Y3QtZm9ybS1pbnB1dCc+O1xyXG4gICAgdWlMYW5ndWFnZSQ6IE9ic2VydmFibGU8TGFuZ3VhZ2VDb2RlPjtcclxuICAgIHByb3RlY3RlZCBzdHJ1Y3RGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuICAgIHByb3RlY3RlZCBmaWVsZHM6IEFycmF5PHtcclxuICAgICAgICBkZWY6IFN0cnVjdEN1c3RvbUZpZWxkRnJhZ21lbnRbJ2ZpZWxkcyddW251bWJlcl07XHJcbiAgICAgICAgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gICAgfT47XHJcbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlKSB7fVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMudWlMYW5ndWFnZSQgPSB0aGlzLmRhdGFTZXJ2aWNlLmNsaWVudFxyXG4gICAgICAgICAgICAudWlTdGF0ZSgpXHJcbiAgICAgICAgICAgIC5zdHJlYW0kLnBpcGUobWFwKCh7IHVpU3RhdGUgfSkgPT4gdWlTdGF0ZS5sYW5ndWFnZSkpO1xyXG5cclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWUgfHwge307XHJcblxyXG4gICAgICAgIHRoaXMuZmllbGRzID1cclxuICAgICAgICAgICAgKHRoaXMuY29uZmlnIGFzIHVua25vd24gYXMgU3RydWN0Q3VzdG9tRmllbGRGcmFnbWVudCkuZmllbGRzPy5tYXAoZmllbGQgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wodmFsdWVbZmllbGQubmFtZV0pO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdHJ1Y3RGb3JtR3JvdXAuYWRkQ29udHJvbChmaWVsZC5uYW1lLCBmb3JtQ29udHJvbCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4geyBkZWY6IGZpZWxkLCBmb3JtQ29udHJvbCB9O1xyXG4gICAgICAgICAgICB9KSA/PyBbXTtcclxuXHJcbiAgICAgICAgdGhpcy5zdHJ1Y3RGb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbn1cclxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cInN0cnVjdEZvcm1Hcm91cFwiIGNsYXNzPVwic3RydWN0LWNvbnRhaW5lciBwLTJcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkc1wiIGNsYXNzPVwiZmxleCBtYi0xXCI+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwic3RydWN0LWZpZWxkLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cnVjdC1maWVsZC1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAge3sgZmllbGQuZGVmIHwgY3VzdG9tRmllbGRMYWJlbDogKHVpTGFuZ3VhZ2UkIHwgYXN5bmMpIH19XHJcbiAgICAgICAgICAgICAgICA8dmRyLWhlbHAtdG9vbHRpcFxyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmllbGQuZGVmIHwgY3VzdG9tRmllbGREZXNjcmlwdGlvbjogKHVpTGFuZ3VhZ2UkIHwgYXN5bmMpIGFzIGRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICBbY29udGVudF09XCJkZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgICA+PC92ZHItaGVscC10b29sdGlwPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDx2ZHItZHluYW1pYy1mb3JtLWlucHV0XHJcbiAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwiZmllbGQuZm9ybUNvbnRyb2xcIlxyXG4gICAgICAgICAgICAgICAgW2RlZl09XCJmaWVsZC5kZWZcIlxyXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5kZWYubmFtZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC92ZHItZHluYW1pYy1mb3JtLWlucHV0PlxyXG4gICAgICAgIDwvbGFiZWw+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -37,7 +37,7 @@ export class LocaleBasePipe {
37
37
  // and the first region discarded. This would only ever be an issue for
38
38
  // those languages where the translation file itself encodes the region,
39
39
  // as in pt_BR & pt_PT.
40
- const matches = hyphenated?.match(/^([a-zA-Z_-]+)(-[A-Z][A-Z])(-[A-Z][A-z])$/);
40
+ const matches = hyphenated?.match(/^([a-zA-Z_-]+)(-[A-Z][A-Z])(-[A-Z][A-Z])$/);
41
41
  if (matches?.length) {
42
42
  const overriddenLocale = matches[1] + matches[3];
43
43
  return overriddenLocale;
@@ -52,4 +52,4 @@ export class LocaleBasePipe {
52
52
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: LocaleBasePipe, decorators: [{
53
53
  type: Injectable
54
54
  }], ctorParameters: () => [{ type: i1.DataService }, { type: i0.ChangeDetectorRef }] });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWJhc2UucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL3BpcGVzL2xvY2FsZS1iYXNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixVQUFVLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7QUFLeEY7OztHQUdHO0FBRUgsTUFBTSxPQUFnQixjQUFjO0lBSWhDLFlBQXNCLFdBQXlCLEVBQUUsaUJBQXFDO1FBQ2xGLElBQUksV0FBVyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsTUFBTTtpQkFDakMsT0FBTyxFQUFFO2lCQUNULFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7aUJBQy9CLFNBQVMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ1QsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNoQyxDQUFDO2dCQUNELGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGVBQWUsQ0FBQyxjQUF3QjtRQUM5QyxNQUFNLE1BQU0sR0FBRyxPQUFPLGNBQWMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7UUFDekYsTUFBTSxVQUFVLEdBQUcsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFOUMsbUVBQW1FO1FBQ25FLHNFQUFzRTtRQUN0RSx1RUFBdUU7UUFDdkUsd0VBQXdFO1FBQ3hFLHVCQUF1QjtRQUN2QixNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDL0UsSUFBSSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDbEIsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sZ0JBQWdCLENBQUM7UUFDNUIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLFVBQVUsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQzs4R0E3Q2lCLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogVXNlZCBieSBsb2NhbGUtYXdhcmUgcGlwZXMgdG8gaGFuZGxlIHRoZSB0YXNrIG9mIGdldHRpbmcgdGhlIGFjdGl2ZSBsYW5ndWFnZUNvZGVcclxuICogb2YgdGhlIFVJIGFuZCBjbGVhbmluZyB1cC5cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvY2FsZUJhc2VQaXBlIGltcGxlbWVudHMgT25EZXN0cm95LCBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHByb3RlY3RlZCBsb2NhbGU6IHN0cmluZztcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGRhdGFTZXJ2aWNlPzogRGF0YVNlcnZpY2UsIGNoYW5nZURldGVjdG9yUmVmPzogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICBpZiAoZGF0YVNlcnZpY2UgJiYgY2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBkYXRhU2VydmljZS5jbGllbnRcclxuICAgICAgICAgICAgICAgIC51aVN0YXRlKClcclxuICAgICAgICAgICAgICAgIC5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLnVpU3RhdGUpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh7IGxhbmd1YWdlLCBsb2NhbGUgfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYWxlID0gbGFuZ3VhZ2UucmVwbGFjZSgvXy9nLCAnLScpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChsb2NhbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NhbGUgKz0gYC0ke2xvY2FsZX1gO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBhY3RpdmUgbG9jYWxlIGFmdGVyIGF0dGVtcHRpbmcgdG8gZW5zdXJlIHRoYXQgdGhlIGxvY2FsZSBzdHJpbmdcclxuICAgICAqIGlzIHZhbGlkIGZvciB0aGUgSW50bCBBUEkuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRBY3RpdmVMb2NhbGUobG9jYWxlT3ZlcnJpZGU/OiB1bmtub3duKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBsb2NhbGUgPSB0eXBlb2YgbG9jYWxlT3ZlcnJpZGUgPT09ICdzdHJpbmcnID8gbG9jYWxlT3ZlcnJpZGUgOiB0aGlzLmxvY2FsZSA/PyAnZW4nO1xyXG4gICAgICAgIGNvbnN0IGh5cGhlbmF0ZWQgPSBsb2NhbGU/LnJlcGxhY2UoL18vZywgJy0nKTtcclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgZm9yIGEgZG91YmxlLXJlZ2lvbiBzdHJpbmcsIGNvbnRhaW5pbmcgMiByZWdpb24gY29kZXMgbGlrZVxyXG4gICAgICAgIC8vIHB0LUJSLUJSLCB3aGljaCBpcyBpbnZhbGlkLiBJbiB0aGlzIGNhc2UsIHRoZSBzZWNvbmQgcmVnaW9uIGlzIHVzZWRcclxuICAgICAgICAvLyBhbmQgdGhlIGZpcnN0IHJlZ2lvbiBkaXNjYXJkZWQuIFRoaXMgd291bGQgb25seSBldmVyIGJlIGFuIGlzc3VlIGZvclxyXG4gICAgICAgIC8vIHRob3NlIGxhbmd1YWdlcyB3aGVyZSB0aGUgdHJhbnNsYXRpb24gZmlsZSBpdHNlbGYgZW5jb2RlcyB0aGUgcmVnaW9uLFxyXG4gICAgICAgIC8vIGFzIGluIHB0X0JSICYgcHRfUFQuXHJcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGh5cGhlbmF0ZWQ/Lm1hdGNoKC9eKFthLXpBLVpfLV0rKSgtW0EtWl1bQS1aXSkoLVtBLVpdW0Etel0pJC8pO1xyXG4gICAgICAgIGlmIChtYXRjaGVzPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3ZlcnJpZGRlbkxvY2FsZSA9IG1hdGNoZXNbMV0gKyBtYXRjaGVzWzNdO1xyXG4gICAgICAgICAgICByZXR1cm4gb3ZlcnJpZGRlbkxvY2FsZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gaHlwaGVuYXRlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgdHJhbnNmb3JtKHZhbHVlOiBhbnksIC4uLmFyZ3MpOiBhbnk7XHJcbn1cclxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLWJhc2UucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL3BpcGVzL2xvY2FsZS1iYXNlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixVQUFVLEVBQTRCLE1BQU0sZUFBZSxDQUFDOzs7QUFLeEY7OztHQUdHO0FBRUgsTUFBTSxPQUFnQixjQUFjO0lBSWhDLFlBQXNCLFdBQXlCLEVBQUUsaUJBQXFDO1FBQ2xGLElBQUksV0FBVyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsTUFBTTtpQkFDakMsT0FBTyxFQUFFO2lCQUNULFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7aUJBQy9CLFNBQVMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzFDLElBQUksTUFBTSxFQUFFLENBQUM7b0JBQ1QsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNoQyxDQUFDO2dCQUNELGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNPLGVBQWUsQ0FBQyxjQUF3QjtRQUM5QyxNQUFNLE1BQU0sR0FBRyxPQUFPLGNBQWMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7UUFDekYsTUFBTSxVQUFVLEdBQUcsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFOUMsbUVBQW1FO1FBQ25FLHNFQUFzRTtRQUN0RSx1RUFBdUU7UUFDdkUsd0VBQXdFO1FBQ3hFLHVCQUF1QjtRQUN2QixNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDL0UsSUFBSSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDbEIsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sZ0JBQWdCLENBQUM7UUFDNUIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLFVBQVUsQ0FBQztRQUN0QixDQUFDO0lBQ0wsQ0FBQzs4R0E3Q2lCLGNBQWM7a0hBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2RhdGEvcHJvdmlkZXJzL2RhdGEuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogVXNlZCBieSBsb2NhbGUtYXdhcmUgcGlwZXMgdG8gaGFuZGxlIHRoZSB0YXNrIG9mIGdldHRpbmcgdGhlIGFjdGl2ZSBsYW5ndWFnZUNvZGVcclxuICogb2YgdGhlIFVJIGFuZCBjbGVhbmluZyB1cC5cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExvY2FsZUJhc2VQaXBlIGltcGxlbWVudHMgT25EZXN0cm95LCBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHByb3RlY3RlZCBsb2NhbGU6IHN0cmluZztcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKGRhdGFTZXJ2aWNlPzogRGF0YVNlcnZpY2UsIGNoYW5nZURldGVjdG9yUmVmPzogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICBpZiAoZGF0YVNlcnZpY2UgJiYgY2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24gPSBkYXRhU2VydmljZS5jbGllbnRcclxuICAgICAgICAgICAgICAgIC51aVN0YXRlKClcclxuICAgICAgICAgICAgICAgIC5tYXBTdHJlYW0oZGF0YSA9PiBkYXRhLnVpU3RhdGUpXHJcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCh7IGxhbmd1YWdlLCBsb2NhbGUgfSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9jYWxlID0gbGFuZ3VhZ2UucmVwbGFjZSgvXy9nLCAnLScpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChsb2NhbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2NhbGUgKz0gYC0ke2xvY2FsZX1gO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIHRoZSBhY3RpdmUgbG9jYWxlIGFmdGVyIGF0dGVtcHRpbmcgdG8gZW5zdXJlIHRoYXQgdGhlIGxvY2FsZSBzdHJpbmdcclxuICAgICAqIGlzIHZhbGlkIGZvciB0aGUgSW50bCBBUEkuXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRBY3RpdmVMb2NhbGUobG9jYWxlT3ZlcnJpZGU/OiB1bmtub3duKTogc3RyaW5nIHtcclxuICAgICAgICBjb25zdCBsb2NhbGUgPSB0eXBlb2YgbG9jYWxlT3ZlcnJpZGUgPT09ICdzdHJpbmcnID8gbG9jYWxlT3ZlcnJpZGUgOiB0aGlzLmxvY2FsZSA/PyAnZW4nO1xyXG4gICAgICAgIGNvbnN0IGh5cGhlbmF0ZWQgPSBsb2NhbGU/LnJlcGxhY2UoL18vZywgJy0nKTtcclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgZm9yIGEgZG91YmxlLXJlZ2lvbiBzdHJpbmcsIGNvbnRhaW5pbmcgMiByZWdpb24gY29kZXMgbGlrZVxyXG4gICAgICAgIC8vIHB0LUJSLUJSLCB3aGljaCBpcyBpbnZhbGlkLiBJbiB0aGlzIGNhc2UsIHRoZSBzZWNvbmQgcmVnaW9uIGlzIHVzZWRcclxuICAgICAgICAvLyBhbmQgdGhlIGZpcnN0IHJlZ2lvbiBkaXNjYXJkZWQuIFRoaXMgd291bGQgb25seSBldmVyIGJlIGFuIGlzc3VlIGZvclxyXG4gICAgICAgIC8vIHRob3NlIGxhbmd1YWdlcyB3aGVyZSB0aGUgdHJhbnNsYXRpb24gZmlsZSBpdHNlbGYgZW5jb2RlcyB0aGUgcmVnaW9uLFxyXG4gICAgICAgIC8vIGFzIGluIHB0X0JSICYgcHRfUFQuXHJcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IGh5cGhlbmF0ZWQ/Lm1hdGNoKC9eKFthLXpBLVpfLV0rKSgtW0EtWl1bQS1aXSkoLVtBLVpdW0EtWl0pJC8pO1xyXG4gICAgICAgIGlmIChtYXRjaGVzPy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3ZlcnJpZGRlbkxvY2FsZSA9IG1hdGNoZXNbMV0gKyBtYXRjaGVzWzNdO1xyXG4gICAgICAgICAgICByZXR1cm4gb3ZlcnJpZGRlbkxvY2FsZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gaHlwaGVuYXRlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYWJzdHJhY3QgdHJhbnNmb3JtKHZhbHVlOiBhbnksIC4uLmFyZ3MpOiBhbnk7XHJcbn1cclxuIl19
@@ -51,4 +51,4 @@ export function getOrderStateTranslationToken(state) {
51
51
  .replace(/ +/g, '-')
52
52
  .toLowerCase());
53
53
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtaTE4bi10b2tlbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvcGlwZXMvc3RhdGUtaTE4bi10b2tlbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBS3RFLE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFJcUIsb0JBQWUsR0FBRztZQUMvQixPQUFPLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQztZQUMzQixLQUFLLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUN2QixXQUFXLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1lBQ3BDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQztZQUM5QyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsMEJBQTBCLENBQUM7WUFDaEQsY0FBYyxFQUFFLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQztZQUMxQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMseUJBQXlCLENBQUM7WUFDOUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUM7WUFDM0Isa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQixDQUFDO1lBQ2xELFVBQVUsRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUM7WUFDakMsU0FBUyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUMvQixTQUFTLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1lBQy9CLE9BQU8sRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDO1lBQzNCLE9BQU8sRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDO1lBQzNCLE1BQU0sRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ3pCLEtBQUssRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ3ZCLFFBQVEsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUM7WUFDN0IsU0FBUyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUMvQiwwQkFBMEIsRUFBRSxDQUFDLENBQUMsb0NBQW9DLENBQUM7U0FDdEUsQ0FBQztLQVdMO0lBVkcsU0FBUyxDQUFJLEtBQVE7UUFDakIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFZLENBQUMsQ0FBQztZQUM3RCxJQUFJLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BCLE9BQU8saUJBQWlCLENBQUM7WUFDN0IsQ0FBQztZQUNELE9BQU8sNkJBQTZCLENBQUMsS0FBZSxDQUFNLENBQUM7UUFDL0QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OEdBL0JRLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUg5QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3pCOztBQW1DRCxNQUFNLFVBQVUsNkJBQTZCLENBQUMsS0FBYTtJQUN2RCxPQUFPLENBQ0gsUUFBUTtRQUNSLEtBQUs7YUFDQSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDO2FBQ25DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO2FBQ25CLFdBQVcsRUFBRSxDQUNyQixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcmtlciBhcyBfIH0gZnJvbSAnQGJpZXNiamVyZy9uZ3gtdHJhbnNsYXRlLWV4dHJhY3QtbWFya2VyJztcblxuQFBpcGUoe1xuICAgIG5hbWU6ICdzdGF0ZUkxOG5Ub2tlbicsXG59KVxuZXhwb3J0IGNsYXNzIFN0YXRlSTE4blRva2VuUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdGVJMThuVG9rZW5zID0ge1xuICAgICAgICBDcmVhdGVkOiBfKCdzdGF0ZS5jcmVhdGVkJyksXG4gICAgICAgIERyYWZ0OiBfKCdzdGF0ZS5kcmFmdCcpLFxuICAgICAgICBBZGRpbmdJdGVtczogXygnc3RhdGUuYWRkaW5nLWl0ZW1zJyksXG4gICAgICAgIEFycmFuZ2luZ1BheW1lbnQ6IF8oJ3N0YXRlLmFycmFuZ2luZy1wYXltZW50JyksXG4gICAgICAgIFBheW1lbnRBdXRob3JpemVkOiBfKCdzdGF0ZS5wYXltZW50LWF1dGhvcml6ZWQnKSxcbiAgICAgICAgUGF5bWVudFNldHRsZWQ6IF8oJ3N0YXRlLnBheW1lbnQtc2V0dGxlZCcpLFxuICAgICAgICBQYXJ0aWFsbHlTaGlwcGVkOiBfKCdzdGF0ZS5wYXJ0aWFsbHktc2hpcHBlZCcpLFxuICAgICAgICBTaGlwcGVkOiBfKCdzdGF0ZS5zaGlwcGVkJyksXG4gICAgICAgIFBhcnRpYWxseURlbGl2ZXJlZDogXygnc3RhdGUucGFydGlhbGx5LWRlbGl2ZXJlZCcpLFxuICAgICAgICBBdXRob3JpemVkOiBfKCdzdGF0ZS5hdXRob3JpemVkJyksXG4gICAgICAgIERlbGl2ZXJlZDogXygnc3RhdGUuZGVsaXZlcmVkJyksXG4gICAgICAgIENhbmNlbGxlZDogXygnc3RhdGUuY2FuY2VsbGVkJyksXG4gICAgICAgIFBlbmRpbmc6IF8oJ3N0YXRlLnBlbmRpbmcnKSxcbiAgICAgICAgU2V0dGxlZDogXygnc3RhdGUuc2V0dGxlZCcpLFxuICAgICAgICBGYWlsZWQ6IF8oJ3N0YXRlLmZhaWxlZCcpLFxuICAgICAgICBFcnJvcjogXygnc3RhdGUuZXJyb3InKSxcbiAgICAgICAgRGVjbGluZWQ6IF8oJ3N0YXRlLmRlY2xpbmVkJyksXG4gICAgICAgIE1vZGlmeWluZzogXygnc3RhdGUubW9kaWZ5aW5nJyksXG4gICAgICAgIEFycmFuZ2luZ0FkZGl0aW9uYWxQYXltZW50OiBfKCdzdGF0ZS5hcnJhbmdpbmctYWRkaXRpb25hbC1wYXltZW50JyksXG4gICAgfTtcbiAgICB0cmFuc2Zvcm08VD4odmFsdWU6IFQpOiBUIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0U3RhdGVUb2tlbiA9IHRoaXMuc3RhdGVJMThuVG9rZW5zW3ZhbHVlIGFzIGFueV07XG4gICAgICAgICAgICBpZiAoZGVmYXVsdFN0YXRlVG9rZW4pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVmYXVsdFN0YXRlVG9rZW47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZ2V0T3JkZXJTdGF0ZVRyYW5zbGF0aW9uVG9rZW4odmFsdWUgYXMgc3RyaW5nKSBhcyBUO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcmRlclN0YXRlVHJhbnNsYXRpb25Ub2tlbihzdGF0ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgICAnc3RhdGUuJyArXG4gICAgICAgIHN0YXRlXG4gICAgICAgICAgICAucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywgJyQxLSQyJylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8gKy9nLCAnLScpXG4gICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICk7XG59XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtaTE4bi10b2tlbi5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3NyYy9zaGFyZWQvcGlwZXMvc3RhdGUtaTE4bi10b2tlbi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE1BQU0seUNBQXlDLENBQUM7O0FBS3RFLE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFJcUIsb0JBQWUsR0FBRztZQUMvQixPQUFPLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQztZQUMzQixLQUFLLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUN2QixXQUFXLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO1lBQ3BDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQztZQUM5QyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsMEJBQTBCLENBQUM7WUFDaEQsY0FBYyxFQUFFLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQztZQUMxQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMseUJBQXlCLENBQUM7WUFDOUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUM7WUFDM0Isa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLDJCQUEyQixDQUFDO1lBQ2xELFVBQVUsRUFBRSxDQUFDLENBQUMsa0JBQWtCLENBQUM7WUFDakMsU0FBUyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUMvQixTQUFTLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDO1lBQy9CLE9BQU8sRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDO1lBQzNCLE9BQU8sRUFBRSxDQUFDLENBQUMsZUFBZSxDQUFDO1lBQzNCLE1BQU0sRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ3pCLEtBQUssRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQ3ZCLFFBQVEsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUM7WUFDN0IsU0FBUyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztZQUMvQiwwQkFBMEIsRUFBRSxDQUFDLENBQUMsb0NBQW9DLENBQUM7U0FDdEUsQ0FBQztLQVdMO0lBVkcsU0FBUyxDQUFJLEtBQVE7UUFDakIsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFZLENBQUMsQ0FBQztZQUM3RCxJQUFJLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BCLE9BQU8saUJBQWlCLENBQUM7WUFDN0IsQ0FBQztZQUNELE9BQU8sNkJBQTZCLENBQUMsS0FBZSxDQUFNLENBQUM7UUFDL0QsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7OEdBL0JRLGtCQUFrQjs0R0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUg5QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxnQkFBZ0I7aUJBQ3pCOztBQW1DRCxNQUFNLFVBQVUsNkJBQTZCLENBQUMsS0FBYTtJQUN2RCxPQUFPLENBQ0gsUUFBUTtRQUNSLEtBQUs7YUFDQSxPQUFPLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDO2FBQ25DLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDO2FBQ25CLFdBQVcsRUFBRSxDQUNyQixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgbWFya2VyIGFzIF8gfSBmcm9tICdAYmllc2JqZXJnL25neC10cmFuc2xhdGUtZXh0cmFjdC1tYXJrZXInO1xyXG5cclxuQFBpcGUoe1xyXG4gICAgbmFtZTogJ3N0YXRlSTE4blRva2VuJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0YXRlSTE4blRva2VuUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZUkxOG5Ub2tlbnMgPSB7XHJcbiAgICAgICAgQ3JlYXRlZDogXygnc3RhdGUuY3JlYXRlZCcpLFxyXG4gICAgICAgIERyYWZ0OiBfKCdzdGF0ZS5kcmFmdCcpLFxyXG4gICAgICAgIEFkZGluZ0l0ZW1zOiBfKCdzdGF0ZS5hZGRpbmctaXRlbXMnKSxcclxuICAgICAgICBBcnJhbmdpbmdQYXltZW50OiBfKCdzdGF0ZS5hcnJhbmdpbmctcGF5bWVudCcpLFxyXG4gICAgICAgIFBheW1lbnRBdXRob3JpemVkOiBfKCdzdGF0ZS5wYXltZW50LWF1dGhvcml6ZWQnKSxcclxuICAgICAgICBQYXltZW50U2V0dGxlZDogXygnc3RhdGUucGF5bWVudC1zZXR0bGVkJyksXHJcbiAgICAgICAgUGFydGlhbGx5U2hpcHBlZDogXygnc3RhdGUucGFydGlhbGx5LXNoaXBwZWQnKSxcclxuICAgICAgICBTaGlwcGVkOiBfKCdzdGF0ZS5zaGlwcGVkJyksXHJcbiAgICAgICAgUGFydGlhbGx5RGVsaXZlcmVkOiBfKCdzdGF0ZS5wYXJ0aWFsbHktZGVsaXZlcmVkJyksXHJcbiAgICAgICAgQXV0aG9yaXplZDogXygnc3RhdGUuYXV0aG9yaXplZCcpLFxyXG4gICAgICAgIERlbGl2ZXJlZDogXygnc3RhdGUuZGVsaXZlcmVkJyksXHJcbiAgICAgICAgQ2FuY2VsbGVkOiBfKCdzdGF0ZS5jYW5jZWxsZWQnKSxcclxuICAgICAgICBQZW5kaW5nOiBfKCdzdGF0ZS5wZW5kaW5nJyksXHJcbiAgICAgICAgU2V0dGxlZDogXygnc3RhdGUuc2V0dGxlZCcpLFxyXG4gICAgICAgIEZhaWxlZDogXygnc3RhdGUuZmFpbGVkJyksXHJcbiAgICAgICAgRXJyb3I6IF8oJ3N0YXRlLmVycm9yJyksXHJcbiAgICAgICAgRGVjbGluZWQ6IF8oJ3N0YXRlLmRlY2xpbmVkJyksXHJcbiAgICAgICAgTW9kaWZ5aW5nOiBfKCdzdGF0ZS5tb2RpZnlpbmcnKSxcclxuICAgICAgICBBcnJhbmdpbmdBZGRpdGlvbmFsUGF5bWVudDogXygnc3RhdGUuYXJyYW5naW5nLWFkZGl0aW9uYWwtcGF5bWVudCcpLFxyXG4gICAgfTtcclxuICAgIHRyYW5zZm9ybTxUPih2YWx1ZTogVCk6IFQge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0U3RhdGVUb2tlbiA9IHRoaXMuc3RhdGVJMThuVG9rZW5zW3ZhbHVlIGFzIGFueV07XHJcbiAgICAgICAgICAgIGlmIChkZWZhdWx0U3RhdGVUb2tlbikge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRTdGF0ZVRva2VuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBnZXRPcmRlclN0YXRlVHJhbnNsYXRpb25Ub2tlbih2YWx1ZSBhcyBzdHJpbmcpIGFzIFQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldE9yZGVyU3RhdGVUcmFuc2xhdGlvblRva2VuKHN0YXRlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgICAnc3RhdGUuJyArXHJcbiAgICAgICAgc3RhdGVcclxuICAgICAgICAgICAgLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csICckMS0kMicpXHJcbiAgICAgICAgICAgIC5yZXBsYWNlKC8gKy9nLCAnLScpXHJcbiAgICAgICAgICAgIC50b0xvd2VyQ2FzZSgpXHJcbiAgICApO1xyXG59XHJcbiJdfQ==
@@ -133,6 +133,7 @@ import { RelationFormInputComponent } from './dynamic-form-inputs/relation-form-
133
133
  import { RelationSelectorDialogComponent } from './dynamic-form-inputs/relation-form-input/relation-selector-dialog/relation-selector-dialog.component';
134
134
  import { RichTextFormInputComponent } from './dynamic-form-inputs/rich-text-form-input/rich-text-form-input.component';
135
135
  import { SelectFormInputComponent } from './dynamic-form-inputs/select-form-input/select-form-input.component';
136
+ import { StructFormInputComponent } from './dynamic-form-inputs/struct-form-input/struct-form-input.component';
136
137
  import { TextFormInputComponent } from './dynamic-form-inputs/text-form-input/text-form-input.component';
137
138
  import { TextareaFormInputComponent } from './dynamic-form-inputs/textarea-form-input/textarea-form-input.component';
138
139
  import { AssetPreviewPipe } from './pipes/asset-preview.pipe';
@@ -336,6 +337,7 @@ const DYNAMIC_FORM_INPUTS = [
336
337
  HtmlEditorFormInputComponent,
337
338
  ProductMultiSelectorFormInputComponent,
338
339
  CombinationModeFormInputComponent,
340
+ StructFormInputComponent,
339
341
  ];
340
342
  export class SharedModule {
341
343
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -493,7 +495,8 @@ export class SharedModule {
493
495
  JsonEditorFormInputComponent,
494
496
  HtmlEditorFormInputComponent,
495
497
  ProductMultiSelectorFormInputComponent,
496
- CombinationModeFormInputComponent], imports: [ClarityModule,
498
+ CombinationModeFormInputComponent,
499
+ StructFormInputComponent], imports: [ClarityModule,
497
500
  CommonModule,
498
501
  FormsModule,
499
502
  ReactiveFormsModule,
@@ -667,7 +670,8 @@ export class SharedModule {
667
670
  JsonEditorFormInputComponent,
668
671
  HtmlEditorFormInputComponent,
669
672
  ProductMultiSelectorFormInputComponent,
670
- CombinationModeFormInputComponent] }); }
673
+ CombinationModeFormInputComponent,
674
+ StructFormInputComponent] }); }
671
675
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: SharedModule, providers: [
672
676
  // This needs to be shared, since lazy-loaded
673
677
  // modules have their own entryComponents which
@@ -704,4 +708,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
704
708
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
705
709
  }]
706
710
  }] });
707
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL3NoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLHVEQUF1RCxDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0Qix1QkFBdUIsR0FDMUIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxr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b0JBQzlELFlBQVksRUFBRSxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsbUJBQW1CLENBQUM7b0JBQ3ZELFNBQVMsRUFBRTt3QkFDUCw2Q0FBNkM7d0JBQzdDLCtDQUErQzt3QkFDL0MsMERBQTBEO3dCQUMxRCw2RUFBNkU7d0JBQzdFLFlBQVk7d0JBQ1osd0JBQXdCO3FCQUMzQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ2xhcml0eU1vZHVsZSB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XHJcbmltcG9ydCAnQGNsci9pY29ucyc7XHJcbmltcG9ydCAnQGNsci9pY29ucy9zaGFwZXMvYWxsLXNoYXBlcyc7XHJcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0ICdAd2ViY29tcG9uZW50cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnRzLm1pbi5qcyc7XHJcbmltcG9ydCB7IE5neFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICduZ3gtcGFnaW5hdGlvbic7XHJcblxyXG5pbXBvcnQgeyBNb2RhbFNlcnZpY2UgfSBmcm9tICcuLi9wcm92aWRlcnMvbW9kYWwvbW9kYWwuc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBBY3Rpb25CYXJJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY3Rpb24tYmFyLWl0ZW1zL2FjdGlvbi1iYXItaXRlbXMuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIEFjdGlvbkJhckNvbXBvbmVudCxcclxuICAgIEFjdGlvbkJhckxlZnRDb21wb25lbnQsXHJcbiAgICBBY3Rpb25CYXJSaWdodENvbXBvbmVudCxcclxufSBmcm9tICcuL2NvbXBvbmVudHMvYWN0aW9uLWJhci9hY3Rpb24tYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFkZHJlc3NGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FkZHJlc3MtZm9ybS9hZGRyZXNzLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWZmaXhlZElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FmZml4ZWQtaW5wdXQvYWZmaXhlZC1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQZXJjZW50YWdlU3VmZml4SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWZmaXhlZC1pbnB1dC9wZXJjZW50YWdlLXN1ZmZpeC1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldEZpbGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1maWxlLWlucHV0L2Fzc2V0LWZpbGUtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXRHYWxsZXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fzc2V0LWdhbGxlcnkvYXNzZXQtZ2FsbGVyeS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldFBpY2tlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1waWNrZXItZGlhbG9nL2Fzc2V0LXBpY2tlci1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXRQcmV2aWV3RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fzc2V0LXByZXZpZXctZGlhbG9nL2Fzc2V0LXByZXZpZXctZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0UHJldmlld0xpbmtzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fzc2V0LXByZXZpZXctbGlua3MvYXNzZXQtcHJldmlldy1saW5rcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldFByZXZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXNzZXQtcHJldmlldy9hc3NldC1wcmV2aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldHMvYXNzZXRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0U2VhcmNoSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXNzZXQtc2VhcmNoLWlucHV0L2Fzc2V0LXNlYXJjaC1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NpZ25Ub0NoYW5uZWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXNzaWduLXRvLWNoYW5uZWwtZGlhbG9nL2Fzc2lnbi10by1jaGFubmVsLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCdWxrQWN0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9idWxrLWFjdGlvbi1tZW51L2J1bGstYWN0aW9uLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhbm5lbEFzc2lnbm1lbnRDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5uZWwtYXNzaWdubWVudC1jb250cm9sL2NoYW5uZWwtYXNzaWdubWVudC1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENoYW5uZWxCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGFubmVsLWJhZGdlL2NoYW5uZWwtYmFkZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jaGlwL2NoaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlndXJhYmxlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29uZmlndXJhYmxlLWlucHV0L2NvbmZpZ3VyYWJsZS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXJyZW5jeUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1cnJlbmN5LWlucHV0L2N1cnJlbmN5LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbURldGFpbENvbXBvbmVudEhvc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tLWRldGFpbC1jb21wb25lbnQtaG9zdC9jdXN0b20tZGV0YWlsLWNvbXBvbmVudC1ob3N0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbUZpZWxkQ29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZmllbGQtY29udHJvbC9jdXN0b20tZmllbGQtY29udHJvbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21lckxhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbWVyLWxhYmVsL2N1c3RvbWVyLWxhYmVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGFUYWJsZTJDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS0yL2RhdGEtdGFibGUtY29sdW1uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGFUYWJsZUN1c3RvbUZpZWxkQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUtMi9kYXRhLXRhYmxlLWN1c3RvbS1maWVsZC1jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVRhYmxlMlNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLXRhYmxlLTIvZGF0YS10YWJsZS1zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVRhYmxlMkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLXRhYmxlLTIvZGF0YS10YWJsZTIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVRhYmxlQ29sdW1uUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUtY29sdW1uLXBpY2tlci9kYXRhLXRhYmxlLWNvbHVtbi1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVRhYmxlRmlsdGVyTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS1maWx0ZXItbGFiZWwvZGF0YS10YWJsZS1maWx0ZXItbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tRmlsdGVyQ29tcG9uZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUtZmlsdGVycy9jdXN0b20tZmlsdGVyLWNvbXBvbmVudC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUtZmlsdGVycy9kYXRhLXRhYmxlLWZpbHRlcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVRhYmxlQ29sdW1uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRldGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRldGltZS1waWNrZXIvZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyb3Bkb3duSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1pdGVtLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IERyb3Bkb3duTWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERyb3Bkb3duVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi10cmlnZ2VyLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVkaXROb3RlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VkaXQtbm90ZS1kaWFsb2cvZWRpdC1ub3RlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBFbXB0eVBsYWNlaG9sZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VtcHR5LXBsYWNlaG9sZGVyL2VtcHR5LXBsYWNlaG9sZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVudGl0eUluZm9Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW50aXR5LWluZm8vZW50aXR5LWluZm8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFjZXRWYWx1ZUNoaXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZmFjZXQtdmFsdWUtY2hpcC9mYWNldC12YWx1ZS1jaGlwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZhY2V0VmFsdWVTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWNldC12YWx1ZS1zZWxlY3Rvci9mYWNldC12YWx1ZS1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb2NhbFBvaW50Q29udHJvbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb2NhbC1wb2ludC1jb250cm9sL2ZvY2FsLXBvaW50LWNvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUZpZWxkQ29udHJvbERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtY29udHJvbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWZpZWxkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0taXRlbS9mb3JtLWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybWF0dGVkQWRkcmVzc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtYXR0ZWQtYWRkcmVzcy9mb3JtYXR0ZWQtYWRkcmVzcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIZWxwVG9vbHRpcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9oZWxwLXRvb2x0aXAvaGVscC10b29sdGlwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhpc3RvcnlFbnRyeURldGFpbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9oaXN0b3J5LWVudHJ5LWRldGFpbC9oaXN0b3J5LWVudHJ5LWRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJdGVtc1BlclBhZ2VDb250cm9sc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9pdGVtcy1wZXItcGFnZS1jb250cm9scy9pdGVtcy1wZXItcGFnZS1jb250cm9scy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMYWJlbGVkRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sYWJlbGVkLWRhdGEvbGFiZWxlZC1kYXRhLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExhbmd1YWdlU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGFuZ3VhZ2Utc2VsZWN0b3IvbGFuZ3VhZ2Utc2VsZWN0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTG9jYWxpemVkVGV4dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sb2NhbGl6ZWQtdGV4dC9sb2NhbGl6ZWQtdGV4dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYW5hZ2VUYWdzRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21hbmFnZS10YWdzLWRpYWxvZy9tYW5hZ2UtdGFncy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC1kaWFsb2cvZGlhbG9nLWJ1dHRvbnMuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGFsLWRpYWxvZy9kaWFsb2ctY29tcG9uZW50LW91dGxldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dUaXRsZURpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9tb2RhbC1kaWFsb2cvZGlhbG9nLXRpdGxlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1vZGFsRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGFsLWRpYWxvZy9tb2RhbC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgT2JqZWN0VHJlZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vYmplY3QtdHJlZS9vYmplY3QtdHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPcmRlclN0YXRlTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvb3JkZXItc3RhdGUtbGFiZWwvb3JkZXItc3RhdGUtbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZUJsb2NrQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtYmxvY2svcGFnZS1ibG9jay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlQm9keUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWdlLWJvZHkvcGFnZS1ib2R5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2VEZXRhaWxMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnZS1kZXRhaWwtbGF5b3V0L3BhZ2UtZGV0YWlsLWxheW91dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlRGV0YWlsU2lkZWJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWdlLWRldGFpbC1sYXlvdXQvcGFnZS1kZXRhaWwtc2lkZWJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlRW50aXR5SW5mb0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWdlLWVudGl0eS1pbmZvL3BhZ2UtZW50aXR5LWluZm8uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZUhlYWRlckRlc2NyaXB0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtaGVhZGVyLWRlc2NyaXB0aW9uL3BhZ2UtaGVhZGVyLWRlc2NyaXB0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2VIZWFkZXJUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtaGVhZGVyLXRhYnMvcGFnZS1oZWFkZXItdGFicy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtaGVhZGVyL3BhZ2UtaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2VUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWdlLXRpdGxlL3BhZ2UtdGl0bGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbkNvbnRyb2xzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2luYXRpb24tY29udHJvbHMvcGFnaW5hdGlvbi1jb250cm9scy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9kdWN0TXVsdGlTZWxlY3RvckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWRpYWxvZy9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9kdWN0U2VhcmNoSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcHJvZHVjdC1zZWFyY2gtaW5wdXQvcHJvZHVjdC1zZWFyY2gtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnRTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9kdWN0LXZhcmlhbnQtc2VsZWN0b3IvcHJvZHVjdC12YXJpYW50LXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJhZGlvQ2FyZEZpZWxkc2V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JhZGlvLWNhcmQvcmFkaW8tY2FyZC1maWVsZHNldC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSYWRpb0NhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmFkaW8tY2FyZC9yYWRpby1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4dGVybmFsSW1hZ2VEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9leHRlcm5hbC1pbWFnZS1kaWFsb2cvZXh0ZXJuYWwtaW1hZ2UtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpbmtEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9saW5rLWRpYWxvZy9saW5rLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yaWNoLXRleHQtZWRpdG9yL3Byb3NlbWlycm9yL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmF3SHRtbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yaWNoLXRleHQtZWRpdG9yL3Jhdy1odG1sLWRpYWxvZy9yYXctaHRtbC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmljaFRleHRFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9yaWNoLXRleHQtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdFRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZWxlY3QtdG9nZ2xlL3NlbGVjdC10b2dnbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2ltcGxlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NpbXBsZS1kaWFsb2cvc2ltcGxlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcGxpdFZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc3BsaXQtdmlldy9zcGxpdC12aWV3LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBTcGxpdFZpZXdMZWZ0RGlyZWN0aXZlLFxyXG4gICAgU3BsaXRWaWV3UmlnaHREaXJlY3RpdmUsXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzL3NwbGl0LXZpZXcvc3BsaXQtdmlldy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTdGF0dXNCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zdGF0dXMtYmFkZ2Uvc3RhdHVzLWJhZGdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmJlZEN1c3RvbUZpZWxkc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJiZWQtY3VzdG9tLWZpZWxkcy90YWJiZWQtY3VzdG9tLWZpZWxkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZVJvd0FjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWJsZS1yb3ctYWN0aW9uL3RhYmxlLXJvdy1hY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFnU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGFnLXNlbGVjdG9yL3RhZy1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaW1lbGluZUVudHJ5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RpbWVsaW5lLWVudHJ5L3RpbWVsaW5lLWVudHJ5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRpdGxlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGl0bGUtaW5wdXQvdGl0bGUtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlFeHRlbnNpb25Qb2ludENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91aS1leHRlbnNpb24tcG9pbnQvdWktZXh0ZW5zaW9uLXBvaW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERpc2FibGVkRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2Rpc2FibGVkLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IElmRGVmYXVsdENoYW5uZWxBY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvaWYtZGVmYXVsdC1jaGFubmVsLWFjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJZk11bHRpY2hhbm5lbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pZi1tdWx0aWNoYW5uZWwuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSWZQZXJtaXNzaW9uc0RpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pZi1wZXJtaXNzaW9ucy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBCb29sZWFuRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL2Jvb2xlYW4tZm9ybS1pbnB1dC9ib29sZWFuLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSHRtbEVkaXRvckZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9jb2RlLWVkaXRvci1mb3JtLWlucHV0L2h0bWwtZWRpdG9yLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSnNvbkVkaXRvckZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9jb2RlLWVkaXRvci1mb3JtLWlucHV0L2pzb24tZWRpdG9yLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tYmluYXRpb25Nb2RlRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL2NvbWJpbmF0aW9uLW1vZGUtZm9ybS1pbnB1dC9jb21iaW5hdGlvbi1tb2RlLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VycmVuY3lGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvY3VycmVuY3ktZm9ybS1pbnB1dC9jdXJyZW5jeS1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbWVyR3JvdXBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvY3VzdG9tZXItZ3JvdXAtZm9ybS1pbnB1dC9jdXN0b21lci1ncm91cC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvZGF0ZS1mb3JtLWlucHV0L2RhdGUtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL2R5bmFtaWMtZm9ybS1pbnB1dC9keW5hbWljLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFjZXRWYWx1ZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9mYWNldC12YWx1ZS1mb3JtLWlucHV0L2ZhY2V0LXZhbHVlLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTnVtYmVyRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL251bWJlci1mb3JtLWlucHV0L251bWJlci1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhc3N3b3JkRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3Bhc3N3b3JkLWZvcm0taW5wdXQvcGFzc3dvcmQtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9kdWN0TXVsdGlTZWxlY3RvckZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWZvcm0taW5wdXQvcHJvZHVjdC1tdWx0aS1zZWxlY3Rvci1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2R1Y3RTZWxlY3RvckZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9wcm9kdWN0LXNlbGVjdG9yLWZvcm0taW5wdXQvcHJvZHVjdC1zZWxlY3Rvci1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlbGF0aW9uQXNzZXRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9yZWxhdGlvbi1mb3JtLWlucHV0L2Fzc2V0L3JlbGF0aW9uLWFzc2V0LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlbGF0aW9uQ3VzdG9tZXJJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9yZWxhdGlvbi1mb3JtLWlucHV0L2N1c3RvbWVyL3JlbGF0aW9uLWN1c3RvbWVyLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlbGF0aW9uR2VuZXJpY0lucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvZ2VuZXJpYy9yZWxhdGlvbi1nZW5lcmljLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlbGF0aW9uUHJvZHVjdFZhcmlhbnRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9yZWxhdGlvbi1mb3JtLWlucHV0L3Byb2R1Y3QtdmFyaWFudC9yZWxhdGlvbi1wcm9kdWN0LXZhcmlhbnQtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVsYXRpb25Qcm9kdWN0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9wcm9kdWN0L3JlbGF0aW9uLXByb2R1Y3QtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFJlbGF0aW9uQ2FyZENvbXBvbmVudCxcclxuICAgIFJlbGF0aW9uQ2FyZERldGFpbERpcmVjdGl2ZSxcclxuICAgIFJlbGF0aW9uQ2FyZFByZXZpZXdEaXJlY3RpdmUsXHJcbn0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvcmVsYXRpb24tY2FyZC9yZWxhdGlvbi1jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlbGF0aW9uRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvcmVsYXRpb24tZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWxhdGlvblNlbGVjdG9yRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvcmVsYXRpb24tc2VsZWN0b3ItZGlhbG9nL3JlbGF0aW9uLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9yaWNoLXRleHQtZm9ybS1pbnB1dC9yaWNoLXRleHQtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvc2VsZWN0LWZvcm0taW5wdXQvc2VsZWN0LWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy90ZXh0LWZvcm0taW5wdXQvdGV4dC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRleHRhcmVhRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3RleHRhcmVhLWZvcm0taW5wdXQvdGV4dGFyZWEtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldFByZXZpZXdQaXBlIH0gZnJvbSAnLi9waXBlcy9hc3NldC1wcmV2aWV3LnBpcGUnO1xyXG5pbXBvcnQgeyBDaGFubmVsTGFiZWxQaXBlIH0gZnJvbSAnLi9waXBlcy9jaGFubmVsLWxhYmVsLnBpcGUnO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZERlc2NyaXB0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvY3VzdG9tLWZpZWxkLWRlc2NyaXB0aW9uLnBpcGUnO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZExhYmVsUGlwZSB9IGZyb20gJy4vcGlwZXMvY3VzdG9tLWZpZWxkLWxhYmVsLnBpcGUnO1xyXG5pbXBvcnQgeyBEdXJhdGlvblBpcGUgfSBmcm9tICcuL3BpcGVzL2R1cmF0aW9uLnBpcGUnO1xyXG5pbXBvcnQgeyBGaWxlU2l6ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcclxuaW1wb3J0IHsgSGFzUGVybWlzc2lvblBpcGUgfSBmcm9tICcuL3BpcGVzL2hhcy1wZXJtaXNzaW9uLnBpcGUnO1xyXG5pbXBvcnQgeyBMb2NhbGVDdXJyZW5jeU5hbWVQaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGUtY3VycmVuY3ktbmFtZS5waXBlJztcclxuaW1wb3J0IHsgTG9jYWxlQ3VycmVuY3lQaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGUtY3VycmVuY3kucGlwZSc7XHJcbmltcG9ydCB7IExvY2FsZURhdGVQaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGUtZGF0ZS5waXBlJztcclxuaW1wb3J0IHsgTG9jYWxlTGFuZ3VhZ2VOYW1lUGlwZSB9IGZyb20gJy4vcGlwZXMvbG9jYWxlLWxhbmd1YWdlLW5hbWUucGlwZSc7XHJcbmltcG9ydCB7IExvY2FsZVJlZ2lvbk5hbWVQaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGUtcmVnaW9uLW5hbWUucGlwZSc7XHJcbmltcG9ydCB7IFNlbnRlbmNlQ2FzZVBpcGUgfSBmcm9tICcuL3BpcGVzL3NlbnRlbmNlLWNhc2UucGlwZSc7XHJcbmltcG9ydCB7IFNvcnRQaXBlIH0gZnJvbSAnLi9waXBlcy9zb3J0LnBpcGUnO1xyXG5pbXBvcnQgeyBTdGF0ZUkxOG5Ub2tlblBpcGUgfSBmcm9tICcuL3BpcGVzL3N0YXRlLWkxOG4tdG9rZW4ucGlwZSc7XHJcbmltcG9ydCB7IFN0cmluZ1RvQ29sb3JQaXBlIH0gZnJvbSAnLi9waXBlcy9zdHJpbmctdG8tY29sb3IucGlwZSc7XHJcbmltcG9ydCB7IFRpbWVBZ29QaXBlIH0gZnJvbSAnLi9waXBlcy90aW1lLWFnby5waXBlJztcclxuaW1wb3J0IHsgQ2FuRGVhY3RpdmF0ZURldGFpbEd1YXJkIH0gZnJvbSAnLi9wcm92aWRlcnMvcm91dGluZy9jYW4tZGVhY3RpdmF0ZS1kZXRhaWwtZ3VhcmQnO1xyXG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50LCBDYXJkQ29udHJvbHNEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpvbmVTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy96b25lLXNlbGVjdG9yL3pvbmUtc2VsZWN0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VycmVuY3lDb2RlU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VycmVuY3ktY29kZS1zZWxlY3Rvci9jdXJyZW5jeS1jb2RlLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExhbmd1YWdlQ29kZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xhbmd1YWdlLWNvZGUtc2VsZWN0b3IvbGFuZ3VhZ2UtY29kZS1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJQcmVzZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUtZmlsdGVyLXByZXNldHMvZGF0YS10YWJsZS1maWx0ZXItcHJlc2V0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBZGRGaWx0ZXJQcmVzZXRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS1maWx0ZXItcHJlc2V0cy9hZGQtZmlsdGVyLXByZXNldC1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVuYW1lRmlsdGVyUHJlc2V0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUtZmlsdGVyLXByZXNldHMvcmVuYW1lLWZpbHRlci1wcmVzZXQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjdGlvbkJhckRyb3Bkb3duTWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY3Rpb24tYmFyLWRyb3Bkb3duLW1lbnUvYWN0aW9uLWJhci1kcm9wZG93bi1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER1cGxpY2F0ZUVudGl0eURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kdXBsaWNhdGUtZW50aXR5LWRpYWxvZy9kdXBsaWNhdGUtZW50aXR5LWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgSU1QT1JUUyA9IFtcclxuICAgIENsYXJpdHlNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBOZ1NlbGVjdE1vZHVsZSxcclxuICAgIE5neFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBPdmVybGF5TW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBBMTF5TW9kdWxlLFxyXG5dO1xyXG5cclxuY29uc3QgREVDTEFSQVRJT05TID0gW1xyXG4gICAgQWN0aW9uQmFyQ29tcG9uZW50LFxyXG4gICAgQWN0aW9uQmFyTGVmdENvbXBvbmVudCxcclxuICAgIEFjdGlvbkJhclJpZ2h0Q29tcG9uZW50LFxyXG4gICAgQWN0aW9uQmFyRHJvcGRvd25NZW51Q29tcG9uZW50LFxyXG4gICAgQXNzZXRzQ29tcG9uZW50LFxyXG4gICAgQXNzZXRQcmV2aWV3Q29tcG9uZW50LFxyXG4gICAgQXNzZXRQcmV2aWV3RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQXNzZXRTZWFyY2hJbnB1dENvbXBvbmVudCxcclxuICAgIENvbmZpZ3VyYWJsZUlucHV0Q29tcG9uZW50LFxyXG4gICAgQWZmaXhlZElucHV0Q29tcG9uZW50LFxyXG4gICAgQ2hpcENvbXBvbmVudCxcclxuICAgIEN1cnJlbmN5SW5wdXRDb21wb25lbnQsXHJcbiAgICBMb2NhbGVDdXJyZW5jeU5hbWVQaXBlLFxyXG4gICAgQ3VzdG9tZXJMYWJlbENvbXBvbmVudCxcclxuICAgIEN1c3RvbUZpZWxkQ29udHJvbENvbXBvbmVudCxcclxuICAgIERhdGFUYWJsZUNvbXBvbmVudCxcclxuICAgIERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCxcclxuICAgIEZhY2V0VmFsdWVTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIEl0ZW1zUGVyUGFnZUNvbnRyb2xzQ29tcG9uZW50LFxyXG4gICAgUGFnaW5hdGlvbkNvbnRyb2xzQ29tcG9uZW50LFxyXG4gICAgVGFibGVSb3dBY3Rpb25Db21wb25lbnQsXHJcbiAgICBGYWNldFZhbHVlQ2hpcENvbXBvbmVudCxcclxuICAgIEZpbGVTaXplUGlwZSxcclxuICAgIEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgIEZvcm1GaWVsZENvbnRyb2xEaXJlY3RpdmUsXHJcbiAgICBGb3JtSXRlbUNvbXBvbmVudCxcclxuICAgIE1vZGFsRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgUGVyY2VudGFnZVN1ZmZpeElucHV0Q29tcG9uZW50LFxyXG4gICAgRGlhbG9nQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50LFxyXG4gICAgRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSxcclxuICAgIERpYWxvZ1RpdGxlRGlyZWN0aXZlLFxyXG4gICAgU2VsZWN0VG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG4gICAgU2ltcGxlRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVGl0bGVJbnB1dENvbXBvbmVudCxcclxuICAgIFNlbnRlbmNlQ2FzZVBpcGUsXHJcbiAgICBEcm9wZG93bkNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duTWVudUNvbXBvbmVudCxcclxuICAgIFNvcnRQaXBlLFxyXG4gICAgRHJvcGRvd25UcmlnZ2VyRGlyZWN0aXZlLFxyXG4gICAgRHJvcGRvd25JdGVtRGlyZWN0aXZlLFxyXG4gICAgT3JkZXJTdGF0ZUxhYmVsQ29tcG9uZW50LFxyXG4gICAgRm9ybWF0dGVkQWRkcmVzc0NvbXBvbmVudCxcclxuICAgIExhYmVsZWREYXRhQ29tcG9uZW50LFxyXG4gICAgU3RyaW5nVG9Db2xvclBpcGUsXHJcbiAgICBPYmplY3RUcmVlQ29tcG9uZW50LFxyXG4gICAgSWZQZXJtaXNzaW9uc0RpcmVjdGl2ZSxcclxuICAgIElmTXVsdGljaGFubmVsRGlyZWN0aXZlLFxyXG4gICAgSGFzUGVybWlzc2lvblBpcGUsXHJcbiAgICBBY3Rpb25CYXJJdGVtc0NvbXBvbmVudCxcclxuICAgIERpc2FibGVkRGlyZWN0aXZlLFxyXG4gICAgQXNzZXRGaWxlSW5wdXRDb21wb25lbnQsXHJcbiAgICBBc3NldEdhbGxlcnlDb21wb25lbnQsXHJcbiAgICBBc3NldFBpY2tlckRpYWxvZ0NvbXBvbmVudCxcclxuICAgIEVudGl0eUluZm9Db21wb25lbnQsXHJcbiAgICBEYXRldGltZVBpY2tlckNvbXBvbmVudCxcclxuICAgIENoYW5uZWxCYWRnZUNvbXBvbmVudCxcclxuICAgIENoYW5uZWxBc3NpZ25tZW50Q29udHJvbENvbXBvbmVudCxcclxuICAgIENoYW5uZWxMYWJlbFBpcGUsXHJcbiAgICBJZkRlZmF1bHRDaGFubmVsQWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQ3VzdG9tRmllbGRMYWJlbFBpcGUsXHJcbiAgICBDdXN0b21GaWVsZERlc2NyaXB0aW9uUGlwZSxcclxuICAgIEZvY2FsUG9pbnRDb250cm9sQ29tcG9uZW50LFxyXG4gICAgQXNzZXRQcmV2aWV3UGlwZSxcclxuICAgIExpbmtEaWFsb2dDb21wb25lbnQsXHJcbiAgICBFeHRlcm5hbEltYWdlRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVGltZUFnb1BpcGUsXHJcbiAgICBEdXJhdGlvblBpcGUsXHJcbiAgICBFbXB0eVBsYWNlaG9sZGVyQ29tcG9uZW50LFxyXG4gICAgVGltZWxpbmVFbnRyeUNvbXBvbmVudCxcclxuICAgIEhpc3RvcnlFbnRyeURldGFpbENvbXBvbmVudCxcclxuICAgIEVkaXROb3RlRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgUHJvZHVjdFNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgU3RhdGVJMThuVG9rZW5QaXBlLFxyXG4gICAgUHJvZHVjdFZhcmlhbnRTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIEhlbHBUb29sdGlwQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tZXJHcm91cEZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIEFkZHJlc3NGb3JtQ29tcG9uZW50LFxyXG4gICAgTG9jYWxlRGF0ZVBpcGUsXHJcbiAgICBMb2NhbGVDdXJyZW5jeVBpcGUsXHJcbiAgICBMb2NhbGVMYW5ndWFnZU5hbWVQaXBlLFxyXG4gICAgTG9jYWxlUmVnaW9uTmFtZVBpcGUsXHJcbiAgICBUYWdTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIE1hbmFnZVRhZ3NEaWFsb2dDb21wb25lbnQsXHJcbiAgICBSZWxhdGlvblNlbGVjdG9yRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25DYXJkQ29tcG9uZW50LFxyXG4gICAgU3RhdHVzQmFkZ2VDb21wb25lbnQsXHJcbiAgICBUYWJiZWRDdXN0b21GaWVsZHNDb21wb25lbnQsXHJcbiAgICBVaUV4dGVuc2lvblBvaW50Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRGV0YWlsQ29tcG9uZW50SG9zdENvbXBvbmVudCxcclxuICAgIEFzc2V0UHJldmlld0xpbmtzQ29tcG9uZW50LFxyXG4gICAgUHJvZHVjdE11bHRpU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsXHJcbiAgICBQcm9kdWN0U2VhcmNoSW5wdXRDb21wb25lbnQsXHJcbiAgICBDb250ZXh0TWVudUNvbXBvbmVudCxcclxuICAgIFJhd0h0bWxEaWFsb2dDb21wb25lbnQsXHJcbiAgICBCdWxrQWN0aW9uTWVudUNvbXBvbmVudCxcclxuICAgIFJhZGlvQ2FyZENvbXBvbmVudCxcclxuICAgIFJhZGlvQ2FyZEZpZWxkc2V0Q29tcG9uZW50LFxyXG4gICAgRGF0YVRhYmxlMkNvbXBvbmVudCxcclxuICAgIERhdGFUYWJsZTJDb2x1bW5Db21wb25lbnQsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJzQ29tcG9uZW50LFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyTGFiZWxDb21wb25lbnQsXHJcbiAgICBEYXRhVGFibGVDb2x1bW5QaWNrZXJDb21wb25lbnQsXHJcbiAgICBEYXRhVGFibGUyU2VhcmNoQ29tcG9uZW50LFxyXG4gICAgRGF0YVRhYmxlQ3VzdG9tRmllbGRDb2x1bW5Db21wb25lbnQsXHJcbiAgICBTcGxpdFZpZXdDb21wb25lbnQsXHJcbiAgICBTcGxpdFZpZXdMZWZ0RGlyZWN0aXZlLFxyXG4gICAgU3BsaXRWaWV3UmlnaHREaXJlY3RpdmUsXHJcbiAgICBQYWdlQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRmlsdGVyQ29tcG9uZW50RGlyZWN0aXZlLFxyXG4gICAgUGFnZUhlYWRlckNvbXBvbmVudCxcclxuICAgIFBhZ2VUaXRsZUNvbXBvbmVudCxcclxuICAgIFBhZ2VIZWFkZXJEZXNjcmlwdGlvbkNvbXBvbmVudCxcclxuICAgIFBhZ2VIZWFkZXJUYWJzQ29tcG9uZW50LFxyXG4gICAgUGFnZUJvZHlDb21wb25lbnQsXHJcbiAgICBQYWdlQmxvY2tDb21wb25lbnQsXHJcbiAgICBQYWdlRW50aXR5SW5mb0NvbXBvbmVudCxcclxuICAgIExvY2FsaXplZFRleHRDb21wb25lbnQsXHJcbiAgICBQYWdlRGV0YWlsTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgUGFnZURldGFpbFNpZGViYXJDb21wb25lbnQsXHJcbiAgICBDYXJkQ29tcG9uZW50LFxyXG4gICAgQ2FyZENvbnRyb2xzRGlyZWN0aXZlLFxyXG4gICAgWm9uZVNlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgQ2hhcnRDb21wb25lbnQsXHJcbiAgICBBc3NpZ25Ub0NoYW5uZWxEaWFsb2dDb21wb25lbnQsXHJcbiAgICBDdXJyZW5jeUNvZGVTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIExhbmd1YWdlQ29kZVNlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyUHJlc2V0c0NvbXBvbmVudCxcclxuICAgIEFkZEZpbHRlclByZXNldEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFJlbmFtZUZpbHRlclByZXNldERpYWxvZ0NvbXBvbmVudCxcclxuICAgIER1cGxpY2F0ZUVudGl0eURpYWxvZ0NvbXBvbmVudCxcclxuXTtcclxuXHJcbmNvbnN0IERZTkFNSUNfRk9STV9JTlBVVFMgPSBbXHJcbiAgICBUZXh0Rm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgUGFzc3dvcmRGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBOdW1iZXJGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBEYXRlRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgQ3VycmVuY3lGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBCb29sZWFuRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgU2VsZWN0Rm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgRmFjZXRWYWx1ZUZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIER5bmFtaWNGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBSZWxhdGlvbkZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIFJlbGF0aW9uQXNzZXRJbnB1dENvbXBvbmVudCxcclxuICAgIFJlbGF0aW9uUHJvZHVjdElucHV0Q29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25Qcm9kdWN0VmFyaWFudElucHV0Q29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25DdXN0b21lcklucHV0Q29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25DYXJkUHJldmlld0RpcmVjdGl2ZSxcclxuICAgIFJlbGF0aW9uQ2FyZERldGFpbERpcmVjdGl2ZSxcclxuICAgIFJlbGF0aW9uU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsXHJcbiAgICBSZWxhdGlvbkdlbmVyaWNJbnB1dENvbXBvbmVudCxcclxuICAgIFRleHRhcmVhRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgUmljaFRleHRGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBKc29uRWRpdG9yRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgSHRtbEVkaXRvckZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIFByb2R1Y3RNdWx0aVNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgQ29tYmluYXRpb25Nb2RlRm9ybUlucHV0Q29tcG9uZW50LFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtJTVBPUlRTXSxcclxuICAgIGV4cG9ydHM6IFsuLi5JTVBPUlRTLCAuLi5ERUNMQVJBVElPTlMsIC4uLkRZTkFNSUNfRk9STV9JTlBVVFNdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uREVDTEFSQVRJT05TLCAuLi5EWU5BTUlDX0ZPUk1fSU5QVVRTXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgc2hhcmVkLCBzaW5jZSBsYXp5LWxvYWRlZFxyXG4gICAgICAgIC8vIG1vZHVsZXMgaGF2ZSB0aGVpciBvd24gZW50cnlDb21wb25lbnRzIHdoaWNoXHJcbiAgICAgICAgLy8gYXJlIHVua25vd24gdG8gdGhlIENvcmVNb2R1bGUgaW5zdGFuY2Ugb2YgTW9kYWxTZXJ2aWNlLlxyXG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xNDMyNCNpc3N1ZWNvbW1lbnQtMzA1NjUwNzYzXHJcbiAgICAgICAgTW9kYWxTZXJ2aWNlLFxyXG4gICAgICAgIENhbkRlYWN0aXZhdGVEZXRhaWxHdWFyZCxcclxuICAgIF0sXHJcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGFyZWRNb2R1bGUge31cclxuIl19
711
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvc2hhcmVkL3NoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLHVEQUF1RCxDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0Qix1QkFBdUIsR0FDMUIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUM5RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM1RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDekcsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMEVBQTBFLENBQUM7QUFDMUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDbkcsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFDakksT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGtGQUFrRixDQUFDO0FBQ3RJLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9FQUFvRSxDQUFDO0FBQ3pILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBQzFILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzVHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDO0FBQ3hILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxvRkFBb0YsQ0FBQztBQUN6SSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxxRkFBcUYsQ0FBQztBQUNuSSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUN0RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUNySCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNqSCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNuRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNsRixPQUFPLEVBQ0gsc0JBQXNCLEVBQ3RCLHVCQUF1QixHQUMxQixNQUFNLDhDQUE4QyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ25HLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ2xILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQzdILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQzdILE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlGQUF5RixDQUFDO0FBQzVJLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ3JILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHFGQUFxRixDQUFDO0FBQ3RJLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ2xILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtFQUErRSxDQUFDO0FBQzdILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLHFHQUFxRyxDQUFDO0FBQzdKLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHlGQUF5RixDQUFDO0FBQzVJLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGdGQUFnRixDQUFDO0FBQzdILE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNGQUFzRixDQUFDO0FBQ3RJLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ25JLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG9HQUFvRyxDQUFDO0FBQzFKLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ25JLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsMkJBQTJCLEVBQzNCLDRCQUE0QixHQUMvQixNQUFNLGlGQUFpRixDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ3JILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVHQUF1RyxDQUFDO0FBQ3hKLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDJFQUEyRSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFFQUFxRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ3JILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNySCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUNySCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUM3SCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwyRUFBMkUsQ0FBQztBQUMzSCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUMxSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQzs7QUFFeEgsTUFBTSxPQUFPLEdBQUc7SUFDWixhQUFhO0lBQ2IsWUFBWTtJQUNaLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGFBQWE7SUFDYixjQUFjO0lBQ2QsVUFBVTtDQUNiLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRztJQUNqQixrQkFBa0I7SUFDbEIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2Qiw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQixxQkFBcUI7SUFDckIsYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsc0JBQXNCO0lBQ3RCLDJCQUEyQjtJQUMzQixrQkFBa0I7SUFDbEIsd0JBQXdCO0lBQ3hCLDJCQUEyQjtJQUMzQiw2QkFBNkI7SUFDN0IsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2Qix1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQiw4QkFBOEI7SUFDOUIsOEJBQThCO0lBQzlCLHNCQUFzQjtJQUN0QixvQkFBb0I7SUFDcEIscUJBQXFCO0lBQ3JCLHlCQUF5QjtJQUN6Qix1QkFBdUI7SUFDdkIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQixRQUFRO0lBQ1Isd0JBQXdCO0lBQ3hCLHFCQUFxQjtJQUNyQix3QkFBd0I7SUFDeEIseUJBQXlCO0lBQ3pCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsaUJBQWlCO0lBQ2pCLHVCQUF1QjtJQUN2QixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtJQUNyQiwwQkFBMEI7SUFDMUIsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixxQkFBcUI7SUFDckIsaUNBQWlDO0lBQ2pDLGdCQUFnQjtJQUNoQiwrQkFBK0I7SUFDL0Isb0JBQW9CO0lBQ3BCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtJQUNuQiw0QkFBNEI7SUFDNUIsV0FBVztJQUNYLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsc0JBQXNCO0lBQ3RCLDJCQUEyQjtJQUMzQix1QkFBdUI7SUFDdkIsaUNBQWlDO0lBQ2pDLGtCQUFrQjtJQUNsQiwrQkFBK0I7SUFDL0Isb0JBQW9CO0lBQ3BCLCtCQUErQjtJQUMvQixvQkFBb0I7SUFDcEIsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQix5QkFBeUI7SUFDekIsK0JBQStCO0lBQy9CLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIsMkJBQTJCO0lBQzNCLHlCQUF5QjtJQUN6QixrQ0FBa0M7SUFDbEMsMEJBQTBCO0lBQzFCLG1DQUFtQztJQUNuQywyQkFBMkI7SUFDM0Isb0JBQW9CO0lBQ3BCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLHlCQUF5QjtJQUN6Qiw2QkFBNkI7SUFDN0IsOEJBQThCO0lBQzlCLHlCQUF5QjtJQUN6QixtQ0FBbUM7SUFDbkMsa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsYUFBYTtJQUNiLDhCQUE4QjtJQUM5QixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLDhCQUE4QjtJQUM5Qix1QkFBdUI7SUFDdkIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLHFCQUFxQjtJQUNyQixxQkFBcUI7SUFDckIsY0FBYztJQUNkLDhCQUE4QjtJQUM5Qiw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLCtCQUErQjtJQUMvQiw4QkFBOEI7SUFDOUIsaUNBQWlDO0lBQ2pDLDhCQUE4QjtDQUNqQyxDQUFDO0FBRUYsTUFBTSxtQkFBbUIsR0FBRztJQUN4QixzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCLHdCQUF3QjtJQUN4QixzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCLHlCQUF5QjtJQUN6Qix3QkFBd0I7SUFDeEIsNEJBQTRCO0lBQzVCLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDZCQUE2QjtJQUM3QixvQ0FBb0M7SUFDcEMsOEJBQThCO0lBQzlCLDRCQUE0QjtJQUM1QiwyQkFBMkI7SUFDM0IsK0JBQStCO0lBQy9CLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLDRCQUE0QjtJQUM1Qiw0QkFBNEI7SUFDNUIsc0NBQXNDO0lBQ3RDLGlDQUFpQztJQUNqQyx3QkFBd0I7Q0FDM0IsQ0FBQztBQWdCRixNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksaUJBaExyQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2Qiw4QkFBOEI7WUFDOUIsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQiwyQkFBMkI7WUFDM0IseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixzQkFBc0I7WUFDdEIsc0JBQXNCO1lBQ3RCLDJCQUEyQjtZQUMzQixrQkFBa0I7WUFDbEIsd0JBQXdCO1lBQ3hCLDJCQUEyQjtZQUMzQiw2QkFBNkI7WUFDN0IsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQix5QkFBeUI7WUFDekIsaUJBQWlCO1lBQ2pCLG9CQUFvQjtZQUNwQiw4QkFBOEI7WUFDOUIsOEJBQThCO1lBQzlCLHNCQUFzQjtZQUN0QixvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQixRQUFRO1lBQ1Isd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLG9CQUFvQjtZQUNwQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2QixpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQiwwQkFBMEI7WUFDMUIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2QixxQkFBcUI7WUFDckIsaUNBQWlDO1lBQ2pDLGdCQUFnQjtZQUNoQiwrQkFBK0I7WUFDL0Isb0JBQW9CO1lBQ3BCLDBCQUEwQjtZQUMxQiwwQkFBMEI7WUFDMUIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQiw0QkFBNEI7WUFDNUIsV0FBVztZQUNYLFlBQVk7WUFDWix5QkFBeUI7WUFDekIsc0JBQXNCO1lBQ3RCLDJCQUEyQjtZQUMzQix1QkFBdUI7WUFDdkIsaUNBQWlDO1lBQ2pDLGtCQUFrQjtZQUNsQiwrQkFBK0I7WUFDL0Isb0JBQW9CO1lBQ3BCLCtCQUErQjtZQUMvQixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQix5QkFBeUI7WUFDekIsK0JBQStCO1lBQy9CLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIsMkJBQTJCO1lBQzNCLHlCQUF5QjtZQUN6QixrQ0FBa0M7WUFDbEMsMEJBQTBCO1lBQzFCLG1DQUFtQztZQUNuQywyQkFBMkI7WUFDM0Isb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLDBCQUEwQjtZQUMxQixtQkFBbUI7WUFDbkIseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6Qiw2QkFBNkI7WUFDN0IsOEJBQThCO1lBQzlCLHlCQUF5QjtZQUN6QixtQ0FBbUM7WUFDbkMsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsYUFBYTtZQUNiLDhCQUE4QjtZQUM5QixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLDhCQUE4QjtZQUM5Qix1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsY0FBYztZQUNkLDhCQUE4QjtZQUM5Qiw2QkFBNkI7WUFDN0IsNkJBQTZCO1lBQzdCLCtCQUErQjtZQUMvQiw4QkFBOEI7WUFDOUIsaUNBQWlDO1lBQ2pDLDhCQUE4QixFQUk5QixzQkFBc0I7WUFDdEIsMEJBQTBCO1lBQzFCLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsMEJBQTBCO1lBQzFCLHlCQUF5QjtZQUN6Qix3QkFBd0I7WUFDeEIsNEJBQTRCO1lBQzVCLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLDZCQUE2QjtZQUM3QixvQ0FBb0M7WUFDcEMsOEJBQThCO1lBQzlCLDRCQUE0QjtZQUM1QiwyQkFBMkI7WUFDM0IsK0JBQStCO1lBQy9CLDZCQUE2QjtZQUM3QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLDRCQUE0QjtZQUM1Qiw0QkFBNEI7WUFDNUIsc0NBQXNDO1lBQ3RDLGlDQUFpQztZQUNqQyx3QkFBd0IsYUE3S3hCLGFBQWE7WUFDYixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osY0FBYztZQUNkLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGNBQWM7WUFDZCxVQUFVLGFBVlYsYUFBYTtZQUNiLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixhQUFhO1lBQ2IsY0FBYztZQUNkLFVBQVUsRUFJVixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLHVCQUF1QjtZQUN2Qiw4QkFBOEI7WUFDOUIsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQiwyQkFBMkI7WUFDM0IseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQixxQkFBcUI7WUFDckIsYUFBYTtZQUNiLHNCQUFzQjtZQUN0QixzQkFBc0I7WUFDdEIsc0JBQXNCO1lBQ3RCLDJCQUEyQjtZQUMzQixrQkFBa0I7WUFDbEIsd0JBQXdCO1lBQ3hCLDJCQUEyQjtZQUMzQiw2QkFBNkI7WUFDN0IsMkJBQTJCO1lBQzNCLHVCQUF1QjtZQUN2Qix1QkFBdUI7WUFDdkIsWUFBWTtZQUNaLGtCQUFrQjtZQUNsQix5QkFBeUI7WUFDekIsaUJBQWlCO1lBQ2pCLG9CQUFvQjtZQUNwQiw4QkFBOEI7WUFDOUIsOEJBQThCO1lBQzlCLHNCQUFzQjtZQUN0QixvQkFBb0I7WUFDcEIscUJBQXFCO1lBQ3JCLHlCQUF5QjtZQUN6Qix1QkFBdUI7WUFDdkIscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLHFCQUFxQjtZQUNyQixRQUFRO1lBQ1Isd0JBQXdCO1lBQ3hCLHFCQUFxQjtZQUNyQix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLG9CQUFvQjtZQUNwQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQUN2QixpQkFBaUI7WUFDakIsdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQiwwQkFBMEI7WUFDMUIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2QixxQkFBcUI7WUFDckIsaUNBQWlDO1lBQ2pDLGdCQUFnQjtZQUNoQiwrQkFBK0I7WUFDL0Isb0JBQW9CO1lBQ3BCLDBCQUEwQjtZQUMxQiwwQkFBMEI7WUFDMUIsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQiw0QkFBNEI7WUFDNUIsV0FBVztZQUNYLFlBQVk7WUFDWix5QkFBeUI7WUFDekIsc0JBQXNCO1lBQ3RCLDJCQUEyQjtZQUMzQix1QkFBdUI7WUFDdkIsaUNBQWlDO1lBQ2pDLGtCQUFrQjtZQUNsQiwrQkFBK0I7WUFDL0Isb0JBQW9CO1lBQ3BCLCtCQUErQjtZQUMvQixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLGtCQUFrQjtZQUNsQixzQkFBc0I7WUFDdEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQix5QkFBeUI7WUFDekIsK0JBQStCO1lBQy9CLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIsMkJBQTJCO1lBQzNCLHlCQUF5QjtZQUN6QixrQ0FBa0M7WUFDbEMsMEJBQTBCO1lBQzFCLG1DQUFtQztZQUNuQywyQkFBMkI7WUFDM0Isb0JBQW9CO1lBQ3BCLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLDBCQUEwQjtZQUMxQixtQkFBbUI7WUFDbkIseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6Qiw2QkFBNkI7WUFDN0IsOEJBQThCO1lBQzlCLHlCQUF5QjtZQUN6QixtQ0FBbUM7WUFDbkMsa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0Qix1QkFBdUI7WUFDdkIsYUFBYTtZQUNiLDhCQUE4QjtZQUM5QixtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLDhCQUE4QjtZQUM5Qix1QkFBdUI7WUFDdkIsaUJBQWlCO1lBQ2pCLGtCQUFrQjtZQUNsQix1QkFBdUI7WUFDdkIsc0JBQXNCO1lBQ3RCLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsY0FBYztZQUNkLDhCQUE4QjtZQUM5Qiw2QkFBNkI7WUFDN0IsNkJBQTZCO1lBQzdCLCtCQUErQjtZQUMvQiw4QkFBOEI7WUFDOUIsaUNBQWlDO1lBQ2pDLDhCQUE4QixFQUk5QixzQkFBc0I7WUFDdEIsMEJBQTBCO1lBQzFCLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsMEJBQTBCO1lBQzFCLHlCQUF5QjtZQUN6Qix3QkFBd0I7WUFDeEIsNEJBQTRCO1lBQzVCLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLDZCQUE2QjtZQUM3QixvQ0FBb0M7WUFDcEMsOEJBQThCO1lBQzlCLDRCQUE0QjtZQUM1QiwyQkFBMkI7WUFDM0IsK0JBQStCO1lBQy9CLDZCQUE2QjtZQUM3QiwwQkFBMEI7WUFDMUIsMEJBQTBCO1lBQzFCLDRCQUE0QjtZQUM1Qiw0QkFBNEI7WUFDNUIsc0NBQXNDO1lBQ3RDLGlDQUFpQztZQUNqQyx3QkFBd0I7K0dBaUJmLFlBQVksYUFWVjtZQUNQLDZDQUE2QztZQUM3QywrQ0FBK0M7WUFDL0MsMERBQTBEO1lBQzFELDZFQUE2RTtZQUM3RSxZQUFZO1lBQ1osd0JBQXdCO1NBQzNCLFlBVlMsT0FBTyxFQWpMakIsYUFBYTtZQUNiLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixjQUFjO1lBQ2QsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixhQUFhO1lBQ2IsY0FBYztZQUNkLFVBQVU7OzJGQW9MRCxZQUFZO2tCQWR4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsR0FBRyxPQUFPLEVBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQztvQkFDOUQsWUFBWSxFQUFFLENBQUMsR0FBRyxZQUFZLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQztvQkFDdkQsU0FBUyxFQUFFO3dCQUNQLDZDQUE2Qzt3QkFDN0MsK0NBQStDO3dCQUMvQywwREFBMEQ7d0JBQzFELDZFQUE2RTt3QkFDN0UsWUFBWTt3QkFDWix3QkFBd0I7cUJBQzNCO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyYWdEcm9wTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDbGFyaXR5TW9kdWxlIH0gZnJvbSAnQGNsci9hbmd1bGFyJztcclxuaW1wb3J0ICdAY2xyL2ljb25zJztcclxuaW1wb3J0ICdAY2xyL2ljb25zL3NoYXBlcy9hbGwtc2hhcGVzJztcclxuaW1wb3J0IHsgTmdTZWxlY3RNb2R1bGUgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgJ0B3ZWJjb21wb25lbnRzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudHMubWluLmpzJztcclxuaW1wb3J0IHsgTmd4UGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJ25neC1wYWdpbmF0aW9uJztcclxuXHJcbmltcG9ydCB7IE1vZGFsU2VydmljZSB9IGZyb20gJy4uL3Byb3ZpZGVycy9tb2RhbC9tb2RhbC5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IEFjdGlvbkJhckl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FjdGlvbi1iYXItaXRlbXMvYWN0aW9uLWJhci1pdGVtcy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgQWN0aW9uQmFyQ29tcG9uZW50LFxyXG4gICAgQWN0aW9uQmFyTGVmdENvbXBvbmVudCxcclxuICAgIEFjdGlvbkJhclJpZ2h0Q29tcG9uZW50LFxyXG59IGZyb20gJy4vY29tcG9uZW50cy9hY3Rpb24tYmFyL2FjdGlvbi1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWRkcmVzc0Zvcm1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWRkcmVzcy1mb3JtL2FkZHJlc3MtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBZmZpeGVkSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYWZmaXhlZC1pbnB1dC9hZmZpeGVkLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBlcmNlbnRhZ2VTdWZmaXhJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hZmZpeGVkLWlucHV0L3BlcmNlbnRhZ2Utc3VmZml4LWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0RmlsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fzc2V0LWZpbGUtaW5wdXQvYXNzZXQtZmlsZS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldEdhbGxlcnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXNzZXQtZ2FsbGVyeS9hc3NldC1nYWxsZXJ5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0UGlja2VyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fzc2V0LXBpY2tlci1kaWFsb2cvYXNzZXQtcGlja2VyLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldFByZXZpZXdEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXNzZXQtcHJldmlldy1kaWFsb2cvYXNzZXQtcHJldmlldy1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXRQcmV2aWV3TGlua3NDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXNzZXQtcHJldmlldy1saW5rcy9hc3NldC1wcmV2aWV3LWxpbmtzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2V0UHJldmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1wcmV2aWV3L2Fzc2V0LXByZXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fzc2V0cy9hc3NldHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNzZXRTZWFyY2hJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NldC1zZWFyY2gtaW5wdXQvYXNzZXQtc2VhcmNoLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2lnblRvQ2hhbm5lbERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3NpZ24tdG8tY2hhbm5lbC1kaWFsb2cvYXNzaWduLXRvLWNoYW5uZWwtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJ1bGtBY3Rpb25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1bGstYWN0aW9uLW1lbnUvYnVsay1hY3Rpb24tbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGFubmVsQXNzaWdubWVudENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hhbm5lbC1hc3NpZ25tZW50LWNvbnRyb2wvY2hhbm5lbC1hc3NpZ25tZW50LWNvbnRyb2wuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhbm5lbEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoYW5uZWwtYmFkZ2UvY2hhbm5lbC1iYWRnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NoaXAvY2hpcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb25maWd1cmFibGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25maWd1cmFibGUtaW5wdXQvY29uZmlndXJhYmxlLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1cnJlbmN5SW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VycmVuY3ktaW5wdXQvY3VycmVuY3ktaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tRGV0YWlsQ29tcG9uZW50SG9zdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b20tZGV0YWlsLWNvbXBvbmVudC1ob3N0L2N1c3RvbS1kZXRhaWwtY29tcG9uZW50LWhvc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tRmllbGRDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2N1c3RvbS1maWVsZC1jb250cm9sL2N1c3RvbS1maWVsZC1jb250cm9sLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEN1c3RvbWVyTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VzdG9tZXItbGFiZWwvY3VzdG9tZXItbGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVRhYmxlMkNvbHVtbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLXRhYmxlLTIvZGF0YS10YWJsZS1jb2x1bW4uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0YVRhYmxlQ3VzdG9tRmllbGRDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS0yL2RhdGEtdGFibGUtY3VzdG9tLWZpZWxkLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGUyU2VhcmNoQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUtMi9kYXRhLXRhYmxlLXNlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGUyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUtMi9kYXRhLXRhYmxlMi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVDb2x1bW5QaWNrZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS1jb2x1bW4tcGlja2VyL2RhdGEtdGFibGUtY29sdW1uLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kYXRhLXRhYmxlLWZpbHRlci1sYWJlbC9kYXRhLXRhYmxlLWZpbHRlci1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXN0b21GaWx0ZXJDb21wb25lbnREaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS1maWx0ZXJzL2N1c3RvbS1maWx0ZXItY29tcG9uZW50LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IERhdGFUYWJsZUZpbHRlcnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS1maWx0ZXJzL2RhdGEtdGFibGUtZmlsdGVycy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVDb2x1bW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGV0aW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJvcGRvd25JdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLWl0ZW0uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRHJvcGRvd25NZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHJvcGRvd25UcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLXRyaWdnZXIuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgRWRpdE5vdGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZWRpdC1ub3RlLWRpYWxvZy9lZGl0LW5vdGUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVtcHR5UGxhY2Vob2xkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW1wdHktcGxhY2Vob2xkZXIvZW1wdHktcGxhY2Vob2xkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRW50aXR5SW5mb0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbnRpdHktaW5mby9lbnRpdHktaW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWNldFZhbHVlQ2hpcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mYWNldC12YWx1ZS1jaGlwL2ZhY2V0LXZhbHVlLWNoaXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRmFjZXRWYWx1ZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZhY2V0LXZhbHVlLXNlbGVjdG9yL2ZhY2V0LXZhbHVlLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvY2FsUG9pbnRDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2ZvY2FsLXBvaW50LWNvbnRyb2wvZm9jYWwtcG9pbnQtY29udHJvbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGRDb250cm9sRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1maWVsZC1jb250cm9sLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb3JtLWZpZWxkL2Zvcm0tZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS1pdGVtL2Zvcm0taXRlbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtYXR0ZWRBZGRyZXNzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm1hdHRlZC1hZGRyZXNzL2Zvcm1hdHRlZC1hZGRyZXNzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlbHBUb29sdGlwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hlbHAtdG9vbHRpcC9oZWxwLXRvb2x0aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSGlzdG9yeUVudHJ5RGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2hpc3RvcnktZW50cnktZGV0YWlsL2hpc3RvcnktZW50cnktZGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEl0ZW1zUGVyUGFnZUNvbnRyb2xzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2l0ZW1zLXBlci1wYWdlLWNvbnRyb2xzL2l0ZW1zLXBlci1wYWdlLWNvbnRyb2xzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExhYmVsZWREYXRhQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xhYmVsZWQtZGF0YS9sYWJlbGVkLWRhdGEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9sYW5ndWFnZS1zZWxlY3Rvci9sYW5ndWFnZS1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZWRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xvY2FsaXplZC10ZXh0L2xvY2FsaXplZC10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hbmFnZVRhZ3NEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbWFuYWdlLXRhZ3MtZGlhbG9nL21hbmFnZS10YWdzLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaWFsb2dCdXR0b25zRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGFsLWRpYWxvZy9kaWFsb2ctYnV0dG9ucy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBEaWFsb2dDb21wb25lbnRPdXRsZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwtZGlhbG9nL2RpYWxvZy1jb21wb25lbnQtb3V0bGV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERpYWxvZ1RpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGFsLWRpYWxvZy9kaWFsb2ctdGl0bGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgTW9kYWxEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbW9kYWwtZGlhbG9nL21vZGFsLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBPYmplY3RUcmVlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL29iamVjdC10cmVlL29iamVjdC10cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE9yZGVyU3RhdGVMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9vcmRlci1zdGF0ZS1sYWJlbC9vcmRlci1zdGF0ZS1sYWJlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlQmxvY2tDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnZS1ibG9jay9wYWdlLWJsb2NrLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2VCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtYm9keS9wYWdlLWJvZHkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZURldGFpbExheW91dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wYWdlLWRldGFpbC1sYXlvdXQvcGFnZS1kZXRhaWwtbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2VEZXRhaWxTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtZGV0YWlsLWxheW91dC9wYWdlLWRldGFpbC1zaWRlYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2VFbnRpdHlJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtZW50aXR5LWluZm8vcGFnZS1lbnRpdHktaW5mby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlSGVhZGVyRGVzY3JpcHRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnZS1oZWFkZXItZGVzY3JpcHRpb24vcGFnZS1oZWFkZXItZGVzY3JpcHRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZUhlYWRlclRhYnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnZS1oZWFkZXItdGFicy9wYWdlLWhlYWRlci10YWJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBhZ2VIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFnZVRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UtdGl0bGUvcGFnZS10aXRsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BhZ2UvcGFnZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29udHJvbHNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGFnaW5hdGlvbi1jb250cm9scy9wYWdpbmF0aW9uLWNvbnRyb2xzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2R1Y3RNdWx0aVNlbGVjdG9yRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2R1Y3QtbXVsdGktc2VsZWN0b3ItZGlhbG9nL3Byb2R1Y3QtbXVsdGktc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2R1Y3RTZWFyY2hJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wcm9kdWN0LXNlYXJjaC1pbnB1dC9wcm9kdWN0LXNlYXJjaC1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudFNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3Byb2R1Y3QtdmFyaWFudC1zZWxlY3Rvci9wcm9kdWN0LXZhcmlhbnQtc2VsZWN0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9DYXJkRmllbGRzZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmFkaW8tY2FyZC9yYWRpby1jYXJkLWZpZWxkc2V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJhZGlvQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yYWRpby1jYXJkL3JhZGlvLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRXh0ZXJuYWxJbWFnZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yaWNoLXRleHQtZWRpdG9yL2V4dGVybmFsLWltYWdlLWRpYWxvZy9leHRlcm5hbC1pbWFnZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGlua0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yaWNoLXRleHQtZWRpdG9yL2xpbmstZGlhbG9nL2xpbmstZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcHJvc2VtaXJyb3IvY29udGV4dC1tZW51L2NvbnRleHQtbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSYXdIdG1sRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JpY2gtdGV4dC1lZGl0b3IvcmF3LWh0bWwtZGlhbG9nL3Jhdy1odG1sLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yaWNoLXRleHQtZWRpdG9yL3JpY2gtdGV4dC1lZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2VsZWN0VG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NlbGVjdC10b2dnbGUvc2VsZWN0LXRvZ2dsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTaW1wbGVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2ltcGxlLWRpYWxvZy9zaW1wbGUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNwbGl0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zcGxpdC12aWV3L3NwbGl0LXZpZXcuY29tcG9uZW50JztcclxuaW1wb3J0IHtcclxuICAgIFNwbGl0Vmlld0xlZnREaXJlY3RpdmUsXHJcbiAgICBTcGxpdFZpZXdSaWdodERpcmVjdGl2ZSxcclxufSBmcm9tICcuL2NvbXBvbmVudHMvc3BsaXQtdmlldy9zcGxpdC12aWV3LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFN0YXR1c0JhZGdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N0YXR1cy1iYWRnZS9zdGF0dXMtYmFkZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFiYmVkQ3VzdG9tRmllbGRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmJlZC1jdXN0b20tZmllbGRzL3RhYmJlZC1jdXN0b20tZmllbGRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlUm93QWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlLXJvdy1hY3Rpb24vdGFibGUtcm93LWFjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWdTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90YWctc2VsZWN0b3IvdGFnLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRpbWVsaW5lRW50cnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvdGltZWxpbmUtZW50cnkvdGltZWxpbmUtZW50cnkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGl0bGVJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90aXRsZS1pbnB1dC90aXRsZS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUV4dGVuc2lvblBvaW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3VpLWV4dGVuc2lvbi1wb2ludC91aS1leHRlbnNpb24tcG9pbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGlzYWJsZWREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZGlzYWJsZWQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgSWZEZWZhdWx0Q2hhbm5lbEFjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pZi1kZWZhdWx0LWNoYW5uZWwtYWN0aXZlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IElmTXVsdGljaGFubmVsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2lmLW11bHRpY2hhbm5lbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBJZlBlcm1pc3Npb25zRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2lmLXBlcm1pc3Npb25zLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEJvb2xlYW5Gb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvYm9vbGVhbi1mb3JtLWlucHV0L2Jvb2xlYW4tZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBIdG1sRWRpdG9yRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL2NvZGUtZWRpdG9yLWZvcm0taW5wdXQvaHRtbC1lZGl0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBKc29uRWRpdG9yRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL2NvZGUtZWRpdG9yLWZvcm0taW5wdXQvanNvbi1lZGl0b3ItZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb21iaW5hdGlvbk1vZGVGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvY29tYmluYXRpb24tbW9kZS1mb3JtLWlucHV0L2NvbWJpbmF0aW9uLW1vZGUtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDdXJyZW5jeUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9jdXJyZW5jeS1mb3JtLWlucHV0L2N1cnJlbmN5LWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VzdG9tZXJHcm91cEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9jdXN0b21lci1ncm91cC1mb3JtLWlucHV0L2N1c3RvbWVyLWdyb3VwLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZUZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9kYXRlLWZvcm0taW5wdXQvZGF0ZS1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvZHluYW1pYy1mb3JtLWlucHV0L2R5bmFtaWMtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGYWNldFZhbHVlRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL2ZhY2V0LXZhbHVlLWZvcm0taW5wdXQvZmFjZXQtdmFsdWUtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOdW1iZXJGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvbnVtYmVyLWZvcm0taW5wdXQvbnVtYmVyLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGFzc3dvcmRGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvcGFzc3dvcmQtZm9ybS1pbnB1dC9wYXNzd29yZC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFByb2R1Y3RNdWx0aVNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3Byb2R1Y3QtbXVsdGktc2VsZWN0b3ItZm9ybS1pbnB1dC9wcm9kdWN0LW11bHRpLXNlbGVjdG9yLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUHJvZHVjdFNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3Byb2R1Y3Qtc2VsZWN0b3ItZm9ybS1pbnB1dC9wcm9kdWN0LXNlbGVjdG9yLWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVsYXRpb25Bc3NldElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvYXNzZXQvcmVsYXRpb24tYXNzZXQtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVsYXRpb25DdXN0b21lcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvY3VzdG9tZXIvcmVsYXRpb24tY3VzdG9tZXItaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVsYXRpb25HZW5lcmljSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9nZW5lcmljL3JlbGF0aW9uLWdlbmVyaWMtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVsYXRpb25Qcm9kdWN0VmFyaWFudElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3JlbGF0aW9uLWZvcm0taW5wdXQvcHJvZHVjdC12YXJpYW50L3JlbGF0aW9uLXByb2R1Y3QtdmFyaWFudC1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSZWxhdGlvblByb2R1Y3RJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9yZWxhdGlvbi1mb3JtLWlucHV0L3Byb2R1Y3QvcmVsYXRpb24tcHJvZHVjdC1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gICAgUmVsYXRpb25DYXJkQ29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25DYXJkRGV0YWlsRGlyZWN0aXZlLFxyXG4gICAgUmVsYXRpb25DYXJkUHJldmlld0RpcmVjdGl2ZSxcclxufSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9yZWxhdGlvbi1jYXJkL3JlbGF0aW9uLWNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVsYXRpb25Gb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9yZWxhdGlvbi1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlbGF0aW9uU2VsZWN0b3JEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvcmVsYXRpb24tZm9ybS1pbnB1dC9yZWxhdGlvbi1zZWxlY3Rvci1kaWFsb2cvcmVsYXRpb24tc2VsZWN0b3ItZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJpY2hUZXh0Rm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3JpY2gtdGV4dC1mb3JtLWlucHV0L3JpY2gtdGV4dC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy9zZWxlY3QtZm9ybS1pbnB1dC9zZWxlY3QtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdHJ1Y3RGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1pbnB1dHMvc3RydWN0LWZvcm0taW5wdXQvc3RydWN0LWZvcm0taW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dEZvcm1JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1mb3JtLWlucHV0cy90ZXh0LWZvcm0taW5wdXQvdGV4dC1mb3JtLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRleHRhcmVhRm9ybUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZvcm0taW5wdXRzL3RleHRhcmVhLWZvcm0taW5wdXQvdGV4dGFyZWEtZm9ybS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBc3NldFByZXZpZXdQaXBlIH0gZnJvbSAnLi9waXBlcy9hc3NldC1wcmV2aWV3LnBpcGUnO1xyXG5pbXBvcnQgeyBDaGFubmVsTGFiZWxQaXBlIH0gZnJvbSAnLi9waXBlcy9jaGFubmVsLWxhYmVsLnBpcGUnO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZERlc2NyaXB0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvY3VzdG9tLWZpZWxkLWRlc2NyaXB0aW9uLnBpcGUnO1xyXG5pbXBvcnQgeyBDdXN0b21GaWVsZExhYmVsUGlwZSB9IGZyb20gJy4vcGlwZXMvY3VzdG9tLWZpZWxkLWxhYmVsLnBpcGUnO1xyXG5pbXBvcnQgeyBEdXJhdGlvblBpcGUgfSBmcm9tICcuL3BpcGVzL2R1cmF0aW9uLnBpcGUnO1xyXG5pbXBvcnQgeyBGaWxlU2l6ZVBpcGUgfSBmcm9tICcuL3BpcGVzL2ZpbGUtc2l6ZS5waXBlJztcclxuaW1wb3J0IHsgSGFzUGVybWlzc2lvblBpcGUgfSBmcm9tICcuL3BpcGVzL2hhcy1wZXJtaXNzaW9uLnBpcGUnO1xyXG5pbXBvcnQgeyBMb2NhbGVDdXJyZW5jeU5hbWVQaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGUtY3VycmVuY3ktbmFtZS5waXBlJztcclxuaW1wb3J0IHsgTG9jYWxlQ3VycmVuY3lQaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGUtY3VycmVuY3kucGlwZSc7XHJcbmltcG9ydCB7IExvY2FsZURhdGVQaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGUtZGF0ZS5waXBlJztcclxuaW1wb3J0IHsgTG9jYWxlTGFuZ3VhZ2VOYW1lUGlwZSB9IGZyb20gJy4vcGlwZXMvbG9jYWxlLWxhbmd1YWdlLW5hbWUucGlwZSc7XHJcbmltcG9ydCB7IExvY2FsZVJlZ2lvbk5hbWVQaXBlIH0gZnJvbSAnLi9waXBlcy9sb2NhbGUtcmVnaW9uLW5hbWUucGlwZSc7XHJcbmltcG9ydCB7IFNlbnRlbmNlQ2FzZVBpcGUgfSBmcm9tICcuL3BpcGVzL3NlbnRlbmNlLWNhc2UucGlwZSc7XHJcbmltcG9ydCB7IFNvcnRQaXBlIH0gZnJvbSAnLi9waXBlcy9zb3J0LnBpcGUnO1xyXG5pbXBvcnQgeyBTdGF0ZUkxOG5Ub2tlblBpcGUgfSBmcm9tICcuL3BpcGVzL3N0YXRlLWkxOG4tdG9rZW4ucGlwZSc7XHJcbmltcG9ydCB7IFN0cmluZ1RvQ29sb3JQaXBlIH0gZnJvbSAnLi9waXBlcy9zdHJpbmctdG8tY29sb3IucGlwZSc7XHJcbmltcG9ydCB7IFRpbWVBZ29QaXBlIH0gZnJvbSAnLi9waXBlcy90aW1lLWFnby5waXBlJztcclxuaW1wb3J0IHsgQ2FuRGVhY3RpdmF0ZURldGFpbEd1YXJkIH0gZnJvbSAnLi9wcm92aWRlcnMvcm91dGluZy9jYW4tZGVhY3RpdmF0ZS1kZXRhaWwtZ3VhcmQnO1xyXG5pbXBvcnQgeyBDYXJkQ29tcG9uZW50LCBDYXJkQ29udHJvbHNEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FyZC9jYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpvbmVTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy96b25lLXNlbGVjdG9yL3pvbmUtc2VsZWN0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2hhcnQvY2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ3VycmVuY3lDb2RlU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY3VycmVuY3ktY29kZS1zZWxlY3Rvci9jdXJyZW5jeS1jb2RlLXNlbGVjdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExhbmd1YWdlQ29kZVNlbGVjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xhbmd1YWdlLWNvZGUtc2VsZWN0b3IvbGFuZ3VhZ2UtY29kZS1zZWxlY3Rvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEYXRhVGFibGVGaWx0ZXJQcmVzZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUtZmlsdGVyLXByZXNldHMvZGF0YS10YWJsZS1maWx0ZXItcHJlc2V0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBZGRGaWx0ZXJQcmVzZXRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGF0YS10YWJsZS1maWx0ZXItcHJlc2V0cy9hZGQtZmlsdGVyLXByZXNldC1idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVuYW1lRmlsdGVyUHJlc2V0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RhdGEtdGFibGUtZmlsdGVyLXByZXNldHMvcmVuYW1lLWZpbHRlci1wcmVzZXQtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFjdGlvbkJhckRyb3Bkb3duTWVudUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hY3Rpb24tYmFyLWRyb3Bkb3duLW1lbnUvYWN0aW9uLWJhci1kcm9wZG93bi1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IER1cGxpY2F0ZUVudGl0eURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kdXBsaWNhdGUtZW50aXR5LWRpYWxvZy9kdXBsaWNhdGUtZW50aXR5LWRpYWxvZy5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgSU1QT1JUUyA9IFtcclxuICAgIENsYXJpdHlNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBOZ1NlbGVjdE1vZHVsZSxcclxuICAgIE5neFBhZ2luYXRpb25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBPdmVybGF5TW9kdWxlLFxyXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXHJcbiAgICBBMTF5TW9kdWxlLFxyXG5dO1xyXG5cclxuY29uc3QgREVDTEFSQVRJT05TID0gW1xyXG4gICAgQWN0aW9uQmFyQ29tcG9uZW50LFxyXG4gICAgQWN0aW9uQmFyTGVmdENvbXBvbmVudCxcclxuICAgIEFjdGlvbkJhclJpZ2h0Q29tcG9uZW50LFxyXG4gICAgQWN0aW9uQmFyRHJvcGRvd25NZW51Q29tcG9uZW50LFxyXG4gICAgQXNzZXRzQ29tcG9uZW50LFxyXG4gICAgQXNzZXRQcmV2aWV3Q29tcG9uZW50LFxyXG4gICAgQXNzZXRQcmV2aWV3RGlhbG9nQ29tcG9uZW50LFxyXG4gICAgQXNzZXRTZWFyY2hJbnB1dENvbXBvbmVudCxcclxuICAgIENvbmZpZ3VyYWJsZUlucHV0Q29tcG9uZW50LFxyXG4gICAgQWZmaXhlZElucHV0Q29tcG9uZW50LFxyXG4gICAgQ2hpcENvbXBvbmVudCxcclxuICAgIEN1cnJlbmN5SW5wdXRDb21wb25lbnQsXHJcbiAgICBMb2NhbGVDdXJyZW5jeU5hbWVQaXBlLFxyXG4gICAgQ3VzdG9tZXJMYWJlbENvbXBvbmVudCxcclxuICAgIEN1c3RvbUZpZWxkQ29udHJvbENvbXBvbmVudCxcclxuICAgIERhdGFUYWJsZUNvbXBvbmVudCxcclxuICAgIERhdGFUYWJsZUNvbHVtbkNvbXBvbmVudCxcclxuICAgIEZhY2V0VmFsdWVTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIEl0ZW1zUGVyUGFnZUNvbnRyb2xzQ29tcG9uZW50LFxyXG4gICAgUGFnaW5hdGlvbkNvbnRyb2xzQ29tcG9uZW50LFxyXG4gICAgVGFibGVSb3dBY3Rpb25Db21wb25lbnQsXHJcbiAgICBGYWNldFZhbHVlQ2hpcENvbXBvbmVudCxcclxuICAgIEZpbGVTaXplUGlwZSxcclxuICAgIEZvcm1GaWVsZENvbXBvbmVudCxcclxuICAgIEZvcm1GaWVsZENvbnRyb2xEaXJlY3RpdmUsXHJcbiAgICBGb3JtSXRlbUNvbXBvbmVudCxcclxuICAgIE1vZGFsRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgUGVyY2VudGFnZVN1ZmZpeElucHV0Q29tcG9uZW50LFxyXG4gICAgRGlhbG9nQ29tcG9uZW50T3V0bGV0Q29tcG9uZW50LFxyXG4gICAgRGlhbG9nQnV0dG9uc0RpcmVjdGl2ZSxcclxuICAgIERpYWxvZ1RpdGxlRGlyZWN0aXZlLFxyXG4gICAgU2VsZWN0VG9nZ2xlQ29tcG9uZW50LFxyXG4gICAgTGFuZ3VhZ2VTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50LFxyXG4gICAgU2ltcGxlRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVGl0bGVJbnB1dENvbXBvbmVudCxcclxuICAgIFNlbnRlbmNlQ2FzZVBpcGUsXHJcbiAgICBEcm9wZG93bkNvbXBvbmVudCxcclxuICAgIERyb3Bkb3duTWVudUNvbXBvbmVudCxcclxuICAgIFNvcnRQaXBlLFxyXG4gICAgRHJvcGRvd25UcmlnZ2VyRGlyZWN0aXZlLFxyXG4gICAgRHJvcGRvd25JdGVtRGlyZWN0aXZlLFxyXG4gICAgT3JkZXJTdGF0ZUxhYmVsQ29tcG9uZW50LFxyXG4gICAgRm9ybWF0dGVkQWRkcmVzc0NvbXBvbmVudCxcclxuICAgIExhYmVsZWREYXRhQ29tcG9uZW50LFxyXG4gICAgU3RyaW5nVG9Db2xvclBpcGUsXHJcbiAgICBPYmplY3RUcmVlQ29tcG9uZW50LFxyXG4gICAgSWZQZXJtaXNzaW9uc0RpcmVjdGl2ZSxcclxuICAgIElmTXVsdGljaGFubmVsRGlyZWN0aXZlLFxyXG4gICAgSGFzUGVybWlzc2lvblBpcGUsXHJcbiAgICBBY3Rpb25CYXJJdGVtc0NvbXBvbmVudCxcclxuICAgIERpc2FibGVkRGlyZWN0aXZlLFxyXG4gICAgQXNzZXRGaWxlSW5wdXRDb21wb25lbnQsXHJcbiAgICBBc3NldEdhbGxlcnlDb21wb25lbnQsXHJcbiAgICBBc3NldFBpY2tlckRpYWxvZ0NvbXBvbmVudCxcclxuICAgIEVudGl0eUluZm9Db21wb25lbnQsXHJcbiAgICBEYXRldGltZVBpY2tlckNvbXBvbmVudCxcclxuICAgIENoYW5uZWxCYWRnZUNvbXBvbmVudCxcclxuICAgIENoYW5uZWxBc3NpZ25tZW50Q29udHJvbENvbXBvbmVudCxcclxuICAgIENoYW5uZWxMYWJlbFBpcGUsXHJcbiAgICBJZkRlZmF1bHRDaGFubmVsQWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgQ3VzdG9tRmllbGRMYWJlbFBpcGUsXHJcbiAgICBDdXN0b21GaWVsZERlc2NyaXB0aW9uUGlwZSxcclxuICAgIEZvY2FsUG9pbnRDb250cm9sQ29tcG9uZW50LFxyXG4gICAgQXNzZXRQcmV2aWV3UGlwZSxcclxuICAgIExpbmtEaWFsb2dDb21wb25lbnQsXHJcbiAgICBFeHRlcm5hbEltYWdlRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgVGltZUFnb1BpcGUsXHJcbiAgICBEdXJhdGlvblBpcGUsXHJcbiAgICBFbXB0eVBsYWNlaG9sZGVyQ29tcG9uZW50LFxyXG4gICAgVGltZWxpbmVFbnRyeUNvbXBvbmVudCxcclxuICAgIEhpc3RvcnlFbnRyeURldGFpbENvbXBvbmVudCxcclxuICAgIEVkaXROb3RlRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgUHJvZHVjdFNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgU3RhdGVJMThuVG9rZW5QaXBlLFxyXG4gICAgUHJvZHVjdFZhcmlhbnRTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIEhlbHBUb29sdGlwQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tZXJHcm91cEZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIEFkZHJlc3NGb3JtQ29tcG9uZW50LFxyXG4gICAgTG9jYWxlRGF0ZVBpcGUsXHJcbiAgICBMb2NhbGVDdXJyZW5jeVBpcGUsXHJcbiAgICBMb2NhbGVMYW5ndWFnZU5hbWVQaXBlLFxyXG4gICAgTG9jYWxlUmVnaW9uTmFtZVBpcGUsXHJcbiAgICBUYWdTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIE1hbmFnZVRhZ3NEaWFsb2dDb21wb25lbnQsXHJcbiAgICBSZWxhdGlvblNlbGVjdG9yRGlhbG9nQ29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25DYXJkQ29tcG9uZW50LFxyXG4gICAgU3RhdHVzQmFkZ2VDb21wb25lbnQsXHJcbiAgICBUYWJiZWRDdXN0b21GaWVsZHNDb21wb25lbnQsXHJcbiAgICBVaUV4dGVuc2lvblBvaW50Q29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRGV0YWlsQ29tcG9uZW50SG9zdENvbXBvbmVudCxcclxuICAgIEFzc2V0UHJldmlld0xpbmtzQ29tcG9uZW50LFxyXG4gICAgUHJvZHVjdE11bHRpU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsXHJcbiAgICBQcm9kdWN0U2VhcmNoSW5wdXRDb21wb25lbnQsXHJcbiAgICBDb250ZXh0TWVudUNvbXBvbmVudCxcclxuICAgIFJhd0h0bWxEaWFsb2dDb21wb25lbnQsXHJcbiAgICBCdWxrQWN0aW9uTWVudUNvbXBvbmVudCxcclxuICAgIFJhZGlvQ2FyZENvbXBvbmVudCxcclxuICAgIFJhZGlvQ2FyZEZpZWxkc2V0Q29tcG9uZW50LFxyXG4gICAgRGF0YVRhYmxlMkNvbXBvbmVudCxcclxuICAgIERhdGFUYWJsZTJDb2x1bW5Db21wb25lbnQsXHJcbiAgICBEYXRhVGFibGVGaWx0ZXJzQ29tcG9uZW50LFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyTGFiZWxDb21wb25lbnQsXHJcbiAgICBEYXRhVGFibGVDb2x1bW5QaWNrZXJDb21wb25lbnQsXHJcbiAgICBEYXRhVGFibGUyU2VhcmNoQ29tcG9uZW50LFxyXG4gICAgRGF0YVRhYmxlQ3VzdG9tRmllbGRDb2x1bW5Db21wb25lbnQsXHJcbiAgICBTcGxpdFZpZXdDb21wb25lbnQsXHJcbiAgICBTcGxpdFZpZXdMZWZ0RGlyZWN0aXZlLFxyXG4gICAgU3BsaXRWaWV3UmlnaHREaXJlY3RpdmUsXHJcbiAgICBQYWdlQ29tcG9uZW50LFxyXG4gICAgQ3VzdG9tRmlsdGVyQ29tcG9uZW50RGlyZWN0aXZlLFxyXG4gICAgUGFnZUhlYWRlckNvbXBvbmVudCxcclxuICAgIFBhZ2VUaXRsZUNvbXBvbmVudCxcclxuICAgIFBhZ2VIZWFkZXJEZXNjcmlwdGlvbkNvbXBvbmVudCxcclxuICAgIFBhZ2VIZWFkZXJUYWJzQ29tcG9uZW50LFxyXG4gICAgUGFnZUJvZHlDb21wb25lbnQsXHJcbiAgICBQYWdlQmxvY2tDb21wb25lbnQsXHJcbiAgICBQYWdlRW50aXR5SW5mb0NvbXBvbmVudCxcclxuICAgIExvY2FsaXplZFRleHRDb21wb25lbnQsXHJcbiAgICBQYWdlRGV0YWlsTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgUGFnZURldGFpbFNpZGViYXJDb21wb25lbnQsXHJcbiAgICBDYXJkQ29tcG9uZW50LFxyXG4gICAgQ2FyZENvbnRyb2xzRGlyZWN0aXZlLFxyXG4gICAgWm9uZVNlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgQ2hhcnRDb21wb25lbnQsXHJcbiAgICBBc3NpZ25Ub0NoYW5uZWxEaWFsb2dDb21wb25lbnQsXHJcbiAgICBDdXJyZW5jeUNvZGVTZWxlY3RvckNvbXBvbmVudCxcclxuICAgIExhbmd1YWdlQ29kZVNlbGVjdG9yQ29tcG9uZW50LFxyXG4gICAgRGF0YVRhYmxlRmlsdGVyUHJlc2V0c0NvbXBvbmVudCxcclxuICAgIEFkZEZpbHRlclByZXNldEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFJlbmFtZUZpbHRlclByZXNldERpYWxvZ0NvbXBvbmVudCxcclxuICAgIER1cGxpY2F0ZUVudGl0eURpYWxvZ0NvbXBvbmVudCxcclxuXTtcclxuXHJcbmNvbnN0IERZTkFNSUNfRk9STV9JTlBVVFMgPSBbXHJcbiAgICBUZXh0Rm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgUGFzc3dvcmRGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBOdW1iZXJGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBEYXRlRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgQ3VycmVuY3lGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBCb29sZWFuRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgU2VsZWN0Rm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgRmFjZXRWYWx1ZUZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIER5bmFtaWNGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBSZWxhdGlvbkZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIFJlbGF0aW9uQXNzZXRJbnB1dENvbXBvbmVudCxcclxuICAgIFJlbGF0aW9uUHJvZHVjdElucHV0Q29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25Qcm9kdWN0VmFyaWFudElucHV0Q29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25DdXN0b21lcklucHV0Q29tcG9uZW50LFxyXG4gICAgUmVsYXRpb25DYXJkUHJldmlld0RpcmVjdGl2ZSxcclxuICAgIFJlbGF0aW9uQ2FyZERldGFpbERpcmVjdGl2ZSxcclxuICAgIFJlbGF0aW9uU2VsZWN0b3JEaWFsb2dDb21wb25lbnQsXHJcbiAgICBSZWxhdGlvbkdlbmVyaWNJbnB1dENvbXBvbmVudCxcclxuICAgIFRleHRhcmVhRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgUmljaFRleHRGb3JtSW5wdXRDb21wb25lbnQsXHJcbiAgICBKc29uRWRpdG9yRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgSHRtbEVkaXRvckZvcm1JbnB1dENvbXBvbmVudCxcclxuICAgIFByb2R1Y3RNdWx0aVNlbGVjdG9yRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgQ29tYmluYXRpb25Nb2RlRm9ybUlucHV0Q29tcG9uZW50LFxyXG4gICAgU3RydWN0Rm9ybUlucHV0Q29tcG9uZW50LFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtJTVBPUlRTXSxcclxuICAgIGV4cG9ydHM6IFsuLi5JTVBPUlRTLCAuLi5ERUNMQVJBVElPTlMsIC4uLkRZTkFNSUNfRk9STV9JTlBVVFNdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbLi4uREVDTEFSQVRJT05TLCAuLi5EWU5BTUlDX0ZPUk1fSU5QVVRTXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgc2hhcmVkLCBzaW5jZSBsYXp5LWxvYWRlZFxyXG4gICAgICAgIC8vIG1vZHVsZXMgaGF2ZSB0aGVpciBvd24gZW50cnlDb21wb25lbnRzIHdoaWNoXHJcbiAgICAgICAgLy8gYXJlIHVua25vd24gdG8gdGhlIENvcmVNb2R1bGUgaW5zdGFuY2Ugb2YgTW9kYWxTZXJ2aWNlLlxyXG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy8xNDMyNCNpc3N1ZWNvbW1lbnQtMzA1NjUwNzYzXHJcbiAgICAgICAgTW9kYWxTZXJ2aWNlLFxyXG4gICAgICAgIENhbkRlYWN0aXZhdGVEZXRhaWxHdWFyZCxcclxuICAgIF0sXHJcbiAgICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaGFyZWRNb2R1bGUge31cclxuIl19