@colijnit/sharedcomponents 1.0.39 → 1.0.41

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 (53) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +598 -486
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +44 -41
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +45 -42
  6. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.js +9 -11
  7. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +4 -2
  8. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +22 -39
  9. package/esm2015/lib/components/statusbar/statusbar-popup.component.js +29 -0
  10. package/esm2015/lib/components/statusbar/statusbar.component.js +33 -34
  11. package/esm2015/lib/components/statusbar/statusbar.module.js +14 -10
  12. package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +20 -3
  13. package/esm2015/lib/components/stock/stock-information/stock-information.component.js +3 -2
  14. package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +4 -8
  15. package/esm2015/lib/components/stock/stock.component.js +17 -2
  16. package/esm2015/lib/components/stock/stock.module.js +6 -2
  17. package/esm2015/lib/components/stock-statusbar/stock-statusbar.component.js +23 -0
  18. package/esm2015/lib/components/stock-statusbar/stock-statusbar.module.js +19 -0
  19. package/esm2015/lib/service/shared-connector.service.js +17 -1
  20. package/esm2015/lib/service/stock.service.js +6 -1
  21. package/fesm2015/colijnit-sharedcomponents.js +522 -419
  22. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  23. package/lib/components/screen-config-generator/style/_layout.scss +65 -0
  24. package/lib/components/screen-config-generator/style/_material-definition.scss +0 -0
  25. package/lib/components/screen-config-generator/style/_theme.scss +4 -0
  26. package/lib/components/screen-config-generator/style/material.scss +4 -0
  27. package/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.d.ts +1 -1
  28. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +2 -0
  29. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +4 -7
  30. package/lib/components/statusbar/statusbar-popup.component.d.ts +7 -0
  31. package/lib/components/statusbar/statusbar.component.d.ts +9 -8
  32. package/lib/components/statusbar/style/_layout.scss +12 -28
  33. package/lib/components/statusbar/style/_theme.scss +5 -6
  34. package/lib/components/stock/components/stock-location/stock-location.component.d.ts +3 -0
  35. package/lib/components/stock/stock-information/stock-information.component.d.ts +1 -2
  36. package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +1 -2
  37. package/lib/components/stock/stock.component.d.ts +8 -2
  38. package/lib/components/stock-statusbar/stock-statusbar.component.d.ts +4 -0
  39. package/lib/components/stock-statusbar/stock-statusbar.module.d.ts +2 -0
  40. package/lib/components/stock-statusbar/style/_layout.scss +25 -0
  41. package/lib/components/stock-statusbar/style/_material-definition.scss +0 -0
  42. package/lib/components/stock-statusbar/style/_theme.scss +0 -0
  43. package/lib/components/stock-statusbar/style/material.scss +4 -0
  44. package/lib/service/shared-connector.service.d.ts +1 -0
  45. package/lib/service/stock.service.d.ts +1 -0
  46. package/package.json +14 -10
  47. package/3rdpartylicenses.txt +0 -1198
  48. package/favicon.ico +0 -0
  49. package/index.html +0 -12
  50. package/main.87c7441f408aa46a818e.js +0 -1
  51. package/polyfills.4a44032b137d291298c3.js +0 -1
  52. package/runtime.8aac21847ed3d3829cca.js +0 -1
  53. package/styles.24f196f586ef43bbe450.css +0 -110
@@ -20,6 +20,8 @@ import { OrderSupplyStockHistoryComponent } from "./components/order-supply-stoc
20
20
  import { OrderCommissionStockHistoryComponent } from "./components/order-commission-stock-history/order-commission-stock-history.component";
21
21
  import { OrderStockHistoryComponent } from "./components/order-stock-history/order-stock-history.component";
22
22
  import { AllocationStockHistoryComponent } from "./components/allocation-stock-history/allocation-stock-history.component";
23
+ import { StatusbarModule } from "../statusbar/statusbar.module";
24
+ import { StockStatusbarModule } from "../stock-statusbar/stock-statusbar.module";
23
25
  export class StockModule {
24
26
  }
25
27
  StockModule.decorators = [
@@ -40,7 +42,9 @@ StockModule.decorators = [
40
42
  CoDialogWizardModule,
41
43
  InputTextareaModule,
42
44
  TabBarModule,
43
- CoDialogModule
45
+ CoDialogModule,
46
+ StatusbarModule,
47
+ StockStatusbarModule
44
48
  ],
45
49
  declarations: [
46
50
  StockComponent,
@@ -68,4 +72,4 @@ StockModule.decorators = [
68
72
  ]
69
73
  },] }
70
74
  ];
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2subW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2subW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDSCxZQUFZLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUNsRCxZQUFZLEVBQ1osY0FBYyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQ3ZDLG1CQUFtQixFQUFFLHVCQUF1QixFQUM1QyxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQ2pGLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM5RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUM1RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGdDQUFnQyxFQUNqQyxNQUFNLDhFQUE4RSxDQUFDO0FBQ3RGLE9BQU8sRUFDTCxvQ0FBb0MsRUFDckMsTUFBTSxzRkFBc0YsQ0FBQztBQUM5RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMxRyxPQUFPLEVBQ0wsK0JBQStCLEVBQ2hDLE1BQU0sMEVBQTBFLENBQUM7QUE4Q2xGLE1BQU0sT0FBTyxXQUFXOzs7WUE1Q3ZCLFFBQVEsU0FBQztnQkFDTixPQUFPLEVBQUU7b0JBQ0wsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixzQkFBc0I7b0JBQ3RCLGNBQWM7b0JBQ2QsZ0JBQWdCO29CQUNoQixXQUFXO29CQUNYLGVBQWU7b0JBQ2Ysc0JBQXNCO29CQUN0QixVQUFVO29CQUNWLHVCQUF1QjtvQkFDdkIsb0JBQW9CO29CQUNwQixtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1osY0FBYztpQkFDakI7Z0JBQ0gsWUFBWSxFQUFFO29CQUNaLGNBQWM7b0JBQ2QseUJBQXlCO29CQUN6Qiw2QkFBNkI7b0JBQzdCLHNCQUFzQjtvQkFDdEIsMEJBQTBCO29CQUMxQixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQix5QkFBeUI7b0JBQ3pCLHNCQUFzQjtvQkFDdEIsc0JBQXNCO29CQUN0QixxQkFBcUI7b0JBQ3JCLGdDQUFnQztvQkFDaEMsb0NBQW9DO29CQUNwQywwQkFBMEI7b0JBQzFCLCtCQUErQjtpQkFDaEM7Z0JBQ0MsT0FBTyxFQUFFO29CQUNMLGNBQWM7aUJBQ2pCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxZQUFZO2lCQUNiO2FBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1N0b2NrQ29tcG9uZW50fSBmcm9tIFwiLi9zdG9jay5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtcclxuICAgIEJ1dHRvbk1vZHVsZSwgQ29EaWFsb2dNb2R1bGUsIENvRGlhbG9nV2l6YXJkTW9kdWxlLFxyXG4gICAgQ29HcmlkTW9kdWxlLFxyXG4gICAgRHJvcERvd25Nb2R1bGUsIEljb25Nb2R1bGUsIEltYWdlTW9kdWxlLFxyXG4gICAgSW5wdXRDb21ib0JveE1vZHVsZSwgSW5wdXROdW1iZXJQaWNrZXJNb2R1bGUsXHJcbiAgICBJbnB1dFJhZGlvQnV0dG9uTW9kdWxlLCBJbnB1dFRleHRhcmVhTW9kdWxlLCBJbnB1dFRleHRNb2R1bGUsIFNpbXBsZUdyaWRNb2R1bGVcclxufSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1N0b2NrSW5mb3JtYXRpb25Db21wb25lbnR9IGZyb20gXCIuL3N0b2NrLWluZm9ybWF0aW9uL3N0b2NrLWluZm9ybWF0aW9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1N0b2NrSW5mb3JtYXRpb25HcmlkQ29tcG9uZW50fSBmcm9tIFwiLi9zdG9jay1pbmZvcm1hdGlvbi1ncmlkL3N0b2NrLWluZm9ybWF0aW9uLWdyaWQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3RvY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdG9jay5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3RvY2tUcmFuc2ZlckNvbXBvbmVudH0gZnJvbSBcIi4vc3RvY2stdHJhbnNmZXIvc3RvY2stdHJhbnNmZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U2VuZE1ldGhvZERpYWxvZ01vZHVsZX0gZnJvbSBcIi4uL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1kaWFsb2cubW9kdWxlXCI7XHJcbmltcG9ydCB7U3RvY2tDaGFuZ2VBbW91bnRDb21wb25lbnR9IGZyb20gXCIuL3N0b2NrLXRyYW5zZmVyL3N0b2NrLWNoYW5nZS1hbW91bnQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3RvY2tUYWJDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvc3RvY2stdGFiL3N0b2NrLXRhYi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtPcmRlclRhYkNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9vcmRlci10YWIvb3JkZXItdGFiLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1N0b2NrVGFic0NvbXBvbmVudH0gZnJvbSBcIi4vc3RvY2stdGFicy9zdG9jay10YWJzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1N0b2NrSGlzdG9yeVRhYnNDb21wb25lbnR9IGZyb20gXCIuL3N0b2NrLWhpc3RvcnktdGFicy9zdG9jay1oaXN0b3J5LXRhYnMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7T3JkZXJTdG9ja1RhYkNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9vcmRlci1zdG9jay10YWIvb3JkZXItc3RvY2stdGFiLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb25Db21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvc3RvY2stbG9jYXRpb24vc3RvY2stbG9jYXRpb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3RvY2tIaXN0b3J5Q29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL3N0b2NrLWhpc3Rvcnkvc3RvY2staGlzdG9yeS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtUYWJCYXJNb2R1bGV9IGZyb20gXCIuLi90YWItYmFyL3RhYi1iYXIubW9kdWxlXCI7XHJcbmltcG9ydCB7XHJcbiAgT3JkZXJTdXBwbHlTdG9ja0hpc3RvcnlDb21wb25lbnRcclxufSBmcm9tIFwiLi9jb21wb25lbnRzL29yZGVyLXN1cHBseS1zdG9jay1oaXN0b3J5L29yZGVyLXN1cHBseS1zdG9jay1oaXN0b3J5LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gIE9yZGVyQ29tbWlzc2lvblN0b2NrSGlzdG9yeUNvbXBvbmVudFxyXG59IGZyb20gXCIuL2NvbXBvbmVudHMvb3JkZXItY29tbWlzc2lvbi1zdG9jay1oaXN0b3J5L29yZGVyLWNvbW1pc3Npb24tc3RvY2staGlzdG9yeS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtPcmRlclN0b2NrSGlzdG9yeUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9vcmRlci1zdG9jay1oaXN0b3J5L29yZGVyLXN0b2NrLWhpc3RvcnkuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgQWxsb2NhdGlvblN0b2NrSGlzdG9yeUNvbXBvbmVudFxyXG59IGZyb20gXCIuL2NvbXBvbmVudHMvYWxsb2NhdGlvbi1zdG9jay1oaXN0b3J5L2FsbG9jYXRpb24tc3RvY2staGlzdG9yeS5jb21wb25lbnRcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgSW5wdXRDb21ib0JveE1vZHVsZSxcclxuICAgICAgICBDb0dyaWRNb2R1bGUsXHJcbiAgICAgICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBJbnB1dFJhZGlvQnV0dG9uTW9kdWxlLFxyXG4gICAgICAgIERyb3BEb3duTW9kdWxlLFxyXG4gICAgICAgIFNpbXBsZUdyaWRNb2R1bGUsXHJcbiAgICAgICAgSW1hZ2VNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgICAgIFNlbmRNZXRob2REaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgSWNvbk1vZHVsZSxcclxuICAgICAgICBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcclxuICAgICAgICBDb0RpYWxvZ1dpemFyZE1vZHVsZSxcclxuICAgICAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxyXG4gICAgICAgIFRhYkJhck1vZHVsZSxcclxuICAgICAgICBDb0RpYWxvZ01vZHVsZVxyXG4gICAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFN0b2NrQ29tcG9uZW50LFxyXG4gICAgU3RvY2tJbmZvcm1hdGlvbkNvbXBvbmVudCxcclxuICAgIFN0b2NrSW5mb3JtYXRpb25HcmlkQ29tcG9uZW50LFxyXG4gICAgU3RvY2tUcmFuc2ZlckNvbXBvbmVudCxcclxuICAgIFN0b2NrQ2hhbmdlQW1vdW50Q29tcG9uZW50LFxyXG4gICAgU3RvY2tUYWJDb21wb25lbnQsXHJcbiAgICBPcmRlclRhYkNvbXBvbmVudCxcclxuICAgIFN0b2NrVGFic0NvbXBvbmVudCxcclxuICAgIFN0b2NrSGlzdG9yeVRhYnNDb21wb25lbnQsXHJcbiAgICBPcmRlclN0b2NrVGFiQ29tcG9uZW50LFxyXG4gICAgU3RvY2tMb2NhdGlvbkNvbXBvbmVudCxcclxuICAgIFN0b2NrSGlzdG9yeUNvbXBvbmVudCxcclxuICAgIE9yZGVyU3VwcGx5U3RvY2tIaXN0b3J5Q29tcG9uZW50LFxyXG4gICAgT3JkZXJDb21taXNzaW9uU3RvY2tIaXN0b3J5Q29tcG9uZW50LFxyXG4gICAgT3JkZXJTdG9ja0hpc3RvcnlDb21wb25lbnQsXHJcbiAgICBBbGxvY2F0aW9uU3RvY2tIaXN0b3J5Q29tcG9uZW50XHJcbiAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBTdG9ja0NvbXBvbmVudFxyXG4gICAgXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICBTdG9ja1NlcnZpY2VcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFN0b2NrTW9kdWxlIHt9XHJcbiJdfQ==
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2subW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc3RvY2svc3RvY2subW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDSCxZQUFZLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUNsRCxZQUFZLEVBQ1osY0FBYyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQ3ZDLG1CQUFtQixFQUFFLHVCQUF1QixFQUM1QyxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQ2pGLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUN2RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUMxRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUM1RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM5RixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUM1RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUN6RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUNMLGdDQUFnQyxFQUNqQyxNQUFNLDhFQUE4RSxDQUFDO0FBQ3RGLE9BQU8sRUFDTCxvQ0FBb0MsRUFDckMsTUFBTSxzRkFBc0YsQ0FBQztBQUM5RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQUMxRyxPQUFPLEVBQ0wsK0JBQStCLEVBQ2hDLE1BQU0sMEVBQTBFLENBQUM7QUFDbEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzlELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBZ0QvRSxNQUFNLE9BQU8sV0FBVzs7O1lBOUN2QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixZQUFZO29CQUNaLFlBQVk7b0JBQ1osc0JBQXNCO29CQUN0QixjQUFjO29CQUNkLGdCQUFnQjtvQkFDaEIsV0FBVztvQkFDWCxlQUFlO29CQUNmLHNCQUFzQjtvQkFDdEIsVUFBVTtvQkFDVix1QkFBdUI7b0JBQ3ZCLG9CQUFvQjtvQkFDcEIsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixvQkFBb0I7aUJBQ3JCO2dCQUNELFlBQVksRUFBRTtvQkFDWixjQUFjO29CQUNkLHlCQUF5QjtvQkFDekIsNkJBQTZCO29CQUM3QixzQkFBc0I7b0JBQ3RCLDBCQUEwQjtvQkFDMUIsaUJBQWlCO29CQUNqQixpQkFBaUI7b0JBQ2pCLGtCQUFrQjtvQkFDbEIseUJBQXlCO29CQUN6QixzQkFBc0I7b0JBQ3RCLHNCQUFzQjtvQkFDdEIscUJBQXFCO29CQUNyQixnQ0FBZ0M7b0JBQ2hDLG9DQUFvQztvQkFDcEMsMEJBQTBCO29CQUMxQiwrQkFBK0I7aUJBQ2hDO2dCQUNDLE9BQU8sRUFBRTtvQkFDTCxjQUFjO2lCQUNqQjtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsWUFBWTtpQkFDYjthQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtTdG9ja0NvbXBvbmVudH0gZnJvbSBcIi4vc3RvY2suY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgICBCdXR0b25Nb2R1bGUsIENvRGlhbG9nTW9kdWxlLCBDb0RpYWxvZ1dpemFyZE1vZHVsZSxcclxuICAgIENvR3JpZE1vZHVsZSxcclxuICAgIERyb3BEb3duTW9kdWxlLCBJY29uTW9kdWxlLCBJbWFnZU1vZHVsZSxcclxuICAgIElucHV0Q29tYm9Cb3hNb2R1bGUsIElucHV0TnVtYmVyUGlja2VyTW9kdWxlLFxyXG4gICAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSwgSW5wdXRUZXh0YXJlYU1vZHVsZSwgSW5wdXRUZXh0TW9kdWxlLCBTaW1wbGVHcmlkTW9kdWxlXHJcbn0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtTdG9ja0luZm9ybWF0aW9uQ29tcG9uZW50fSBmcm9tIFwiLi9zdG9jay1pbmZvcm1hdGlvbi9zdG9jay1pbmZvcm1hdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudH0gZnJvbSBcIi4vc3RvY2staW5mb3JtYXRpb24tZ3JpZC9zdG9jay1pbmZvcm1hdGlvbi1ncmlkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1N0b2NrU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc3RvY2suc2VydmljZVwiO1xyXG5pbXBvcnQge1N0b2NrVHJhbnNmZXJDb21wb25lbnR9IGZyb20gXCIuL3N0b2NrLXRyYW5zZmVyL3N0b2NrLXRyYW5zZmVyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NlbmRNZXRob2REaWFsb2dNb2R1bGV9IGZyb20gXCIuLi9zZW5kLW1ldGhvZC1kaWFsb2cvc2VuZC1tZXRob2QtZGlhbG9nLm1vZHVsZVwiO1xyXG5pbXBvcnQge1N0b2NrQ2hhbmdlQW1vdW50Q29tcG9uZW50fSBmcm9tIFwiLi9zdG9jay10cmFuc2Zlci9zdG9jay1jaGFuZ2UtYW1vdW50LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1N0b2NrVGFiQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL3N0b2NrLXRhYi9zdG9jay10YWIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7T3JkZXJUYWJDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvb3JkZXItdGFiL29yZGVyLXRhYi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTdG9ja1RhYnNDb21wb25lbnR9IGZyb20gXCIuL3N0b2NrLXRhYnMvc3RvY2stdGFicy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTdG9ja0hpc3RvcnlUYWJzQ29tcG9uZW50fSBmcm9tIFwiLi9zdG9jay1oaXN0b3J5LXRhYnMvc3RvY2staGlzdG9yeS10YWJzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge09yZGVyU3RvY2tUYWJDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvb3JkZXItc3RvY2stdGFiL29yZGVyLXN0b2NrLXRhYi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTdG9ja0xvY2F0aW9uQ29tcG9uZW50fSBmcm9tIFwiLi9jb21wb25lbnRzL3N0b2NrLWxvY2F0aW9uL3N0b2NrLWxvY2F0aW9uLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1N0b2NrSGlzdG9yeUNvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9zdG9jay1oaXN0b3J5L3N0b2NrLWhpc3RvcnkuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VGFiQmFyTW9kdWxlfSBmcm9tIFwiLi4vdGFiLWJhci90YWItYmFyLm1vZHVsZVwiO1xyXG5pbXBvcnQge1xyXG4gIE9yZGVyU3VwcGx5U3RvY2tIaXN0b3J5Q29tcG9uZW50XHJcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeS9vcmRlci1zdXBwbHktc3RvY2staGlzdG9yeS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtcclxuICBPcmRlckNvbW1pc3Npb25TdG9ja0hpc3RvcnlDb21wb25lbnRcclxufSBmcm9tIFwiLi9jb21wb25lbnRzL29yZGVyLWNvbW1pc3Npb24tc3RvY2staGlzdG9yeS9vcmRlci1jb21taXNzaW9uLXN0b2NrLWhpc3RvcnkuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7T3JkZXJTdG9ja0hpc3RvcnlDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvb3JkZXItc3RvY2staGlzdG9yeS9vcmRlci1zdG9jay1oaXN0b3J5LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gIEFsbG9jYXRpb25TdG9ja0hpc3RvcnlDb21wb25lbnRcclxufSBmcm9tIFwiLi9jb21wb25lbnRzL2FsbG9jYXRpb24tc3RvY2staGlzdG9yeS9hbGxvY2F0aW9uLXN0b2NrLWhpc3RvcnkuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U3RhdHVzYmFyTW9kdWxlfSBmcm9tIFwiLi4vc3RhdHVzYmFyL3N0YXR1c2Jhci5tb2R1bGVcIjtcclxuaW1wb3J0IHtTdG9ja1N0YXR1c2Jhck1vZHVsZX0gZnJvbSBcIi4uL3N0b2NrLXN0YXR1c2Jhci9zdG9jay1zdGF0dXNiYXIubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIElucHV0Q29tYm9Cb3hNb2R1bGUsXHJcbiAgICBDb0dyaWRNb2R1bGUsXHJcbiAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJbnB1dFJhZGlvQnV0dG9uTW9kdWxlLFxyXG4gICAgRHJvcERvd25Nb2R1bGUsXHJcbiAgICBTaW1wbGVHcmlkTW9kdWxlLFxyXG4gICAgSW1hZ2VNb2R1bGUsXHJcbiAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICBTZW5kTWV0aG9kRGlhbG9nTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIElucHV0TnVtYmVyUGlja2VyTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dXaXphcmRNb2R1bGUsXHJcbiAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxyXG4gICAgVGFiQmFyTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBTdGF0dXNiYXJNb2R1bGUsXHJcbiAgICBTdG9ja1N0YXR1c2Jhck1vZHVsZVxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTdG9ja0NvbXBvbmVudCxcclxuICAgIFN0b2NrSW5mb3JtYXRpb25Db21wb25lbnQsXHJcbiAgICBTdG9ja0luZm9ybWF0aW9uR3JpZENvbXBvbmVudCxcclxuICAgIFN0b2NrVHJhbnNmZXJDb21wb25lbnQsXHJcbiAgICBTdG9ja0NoYW5nZUFtb3VudENvbXBvbmVudCxcclxuICAgIFN0b2NrVGFiQ29tcG9uZW50LFxyXG4gICAgT3JkZXJUYWJDb21wb25lbnQsXHJcbiAgICBTdG9ja1RhYnNDb21wb25lbnQsXHJcbiAgICBTdG9ja0hpc3RvcnlUYWJzQ29tcG9uZW50LFxyXG4gICAgT3JkZXJTdG9ja1RhYkNvbXBvbmVudCxcclxuICAgIFN0b2NrTG9jYXRpb25Db21wb25lbnQsXHJcbiAgICBTdG9ja0hpc3RvcnlDb21wb25lbnQsXHJcbiAgICBPcmRlclN1cHBseVN0b2NrSGlzdG9yeUNvbXBvbmVudCxcclxuICAgIE9yZGVyQ29tbWlzc2lvblN0b2NrSGlzdG9yeUNvbXBvbmVudCxcclxuICAgIE9yZGVyU3RvY2tIaXN0b3J5Q29tcG9uZW50LFxyXG4gICAgQWxsb2NhdGlvblN0b2NrSGlzdG9yeUNvbXBvbmVudFxyXG4gIF0sXHJcbiAgICBleHBvcnRzOiBbXHJcbiAgICAgICAgU3RvY2tDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgU3RvY2tTZXJ2aWNlXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja01vZHVsZSB7fVxyXG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Component, Input, ViewEncapsulation } from "@angular/core";
2
+ export class StockStatusbarComponent {
3
+ constructor() {
4
+ }
5
+ }
6
+ StockStatusbarComponent.decorators = [
7
+ { type: Component, args: [{
8
+ selector: "co-stock-statusbar",
9
+ template: `
10
+ <div class="status-bar">
11
+ <div class="status-bar-block" [ngClass]="{'red': value === 0, 'orange': value === 1, 'green': value === 2}"></div>
12
+ <div class="status-bar-block" [ngClass]="{'orange': value === 1, 'green': value === 2}"></div>
13
+ <div class="status-bar-block" [ngClass]="{'green': value === 2}"></div>
14
+ </div>
15
+ `,
16
+ encapsulation: ViewEncapsulation.None
17
+ },] }
18
+ ];
19
+ StockStatusbarComponent.ctorParameters = () => [];
20
+ StockStatusbarComponent.propDecorators = {
21
+ value: [{ type: Input }]
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stc3RhdHVzYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrLXN0YXR1c2Jhci9zdG9jay1zdGF0dXNiYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBYWxFLE1BQU0sT0FBTyx1QkFBdUI7SUFLbEM7SUFFQSxDQUFDOzs7WUFsQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQkFBb0I7Z0JBQzlCLFFBQVEsRUFBRTs7Ozs7O0dBTVQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7Ozs7b0JBR0UsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1zdG9jay1zdGF0dXNiYXJcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cInN0YXR1cy1iYXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0YXR1cy1iYXItYmxvY2tcIiBbbmdDbGFzc109XCJ7J3JlZCc6IHZhbHVlID09PSAwLCAnb3JhbmdlJzogdmFsdWUgPT09IDEsICdncmVlbic6IHZhbHVlID09PSAyfVwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWJhci1ibG9ja1wiIFtuZ0NsYXNzXT1cInsnb3JhbmdlJzogdmFsdWUgPT09IDEsICdncmVlbic6IHZhbHVlID09PSAyfVwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWJhci1ibG9ja1wiIFtuZ0NsYXNzXT1cInsnZ3JlZW4nOiB2YWx1ZSA9PT0gMn1cIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvY2tTdGF0dXNiYXJDb21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWx1ZTogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICApIHtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { CommonModule } from "@angular/common";
3
+ import { StockStatusbarComponent } from "./stock-statusbar.component";
4
+ export class StockStatusbarModule {
5
+ }
6
+ StockStatusbarModule.decorators = [
7
+ { type: NgModule, args: [{
8
+ imports: [
9
+ CommonModule,
10
+ ],
11
+ declarations: [
12
+ StockStatusbarComponent
13
+ ],
14
+ exports: [
15
+ StockStatusbarComponent
16
+ ]
17
+ },] }
18
+ ];
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2stc3RhdHVzYmFyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3N0b2NrLXN0YXR1c2Jhci9zdG9jay1zdGF0dXNiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBYXBFLE1BQU0sT0FBTyxvQkFBb0I7OztZQVhoQyxRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHVCQUF1QjtpQkFDeEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtpQkFDeEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7U3RvY2tTdGF0dXNiYXJDb21wb25lbnR9IGZyb20gXCIuL3N0b2NrLXN0YXR1c2Jhci5jb21wb25lbnRcIjtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBTdG9ja1N0YXR1c2JhckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgU3RvY2tTdGF0dXNiYXJDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja1N0YXR1c2Jhck1vZHVsZSB7XHJcbn1cclxuIl19
@@ -118,6 +118,22 @@ export class SharedConnectorService {
118
118
  });
119
119
  });
120
120
  }
121
+ getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId) {
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ return new Promise((resolve, reject) => {
124
+ return this.articleConnector.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId).then((result) => {
125
+ if (result.validationResult && result.validationResult.success) {
126
+ if (result.resultObject) {
127
+ resolve(result.resultObject);
128
+ }
129
+ }
130
+ else {
131
+ reject(result.validationMessagesAsString);
132
+ }
133
+ });
134
+ });
135
+ });
136
+ }
121
137
  getStockManagementWarehouses() {
122
138
  return __awaiter(this, void 0, void 0, function* () {
123
139
  return new Promise((resolve, reject) => {
@@ -293,4 +309,4 @@ SharedConnectorService.decorators = [
293
309
  SharedConnectorService.ctorParameters = () => [
294
310
  { type: OptionsService }
295
311
  ];
296
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2Uvc2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLFlBQVksSUFBSSxjQUFjLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUVqRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFFakYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDckYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUVqRixPQUFPLEVBQUMsa0JBQWtCLElBQUksb0JBQW9CLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOENBQThDLENBQUM7OztBQUt4RSxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQ1UsZUFB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QUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7eUJBQ3pHO3FCQUNGO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztxQkFDM0M7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzs7O1lBcFFGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVE8sY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJ0aWNsZXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2FydGljbGVzJztcclxuaW1wb3J0IHtTaGFyZWRhcGl9IGZyb20gJ0Bjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvc2hhcmVkYXBpJztcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9nZXQtc3RvY2staGlzdG9yeS1yZXF1ZXN0JztcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm8nO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jayc7XHJcbmltcG9ydCB7U3RvY2tIaXN0b3J5Qm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWhpc3RvcnkuYm8nO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2stbWFuYWdlbWVudCc7XHJcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvJztcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stc3RhdHVzLmJvJztcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1tYW5hZ2VtZW50LXdhcmVob3VzZXMuYm8nO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb24nO1xyXG5pbXBvcnQge0FydGljbGVUcmFuc2FjdGlvbiBhcyBBcnRpY2xlVHJhbnNhY3Rpb25Cb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS10cmFuc2FjdGlvbi5ibyc7XHJcbmltcG9ydCB7T3B0aW9uc1NlcnZpY2V9IGZyb20gJy4vb3B0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHtNYWluQXBpfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaSc7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnRlci5ibyc7XHJcbmltcG9ydCB7RGF0YVNlcnZpY2VSZXNwb25zZURhdGF9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL2RhdGEtc2VydmljZS1yZXNwb25zZS1kYXRhJztcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL2ZhY3RvcnkvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnknO1xyXG5pbXBvcnQge1NlbmRNZXRob2R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3NlbmQtbWV0aG9kLmJvJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVkQ29ubmVjdG9yU2VydmljZSB7XHJcbiAgcHVibGljIGFydGljbGVDb25uZWN0b3I6IEFydGljbGVzO1xyXG4gIHB1YmxpYyBzaGFyZWRDb25uZWN0b3I6IFNoYXJlZGFwaTtcclxuICBwdWJsaWMgbWFpbkNvbm5lY3RvcjogTWFpbkFwaTtcclxuXHJcbiAgcHJpdmF0ZSBfYm9GYWN0b3J5OiBCdXNpbmVzc09iamVjdEZhY3RvcnkgPSBuZXcgQnVzaW5lc3NPYmplY3RGYWN0b3J5KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5hcnRpY2xlQ29ubmVjdG9yID0gbmV3IEFydGljbGVzKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMpO1xyXG4gICAgdGhpcy5zaGFyZWRDb25uZWN0b3IgPSBuZXcgU2hhcmVkYXBpKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMpO1xyXG4gICAgdGhpcy5tYWluQ29ubmVjdG9yID0gbmV3IE1haW5BcGkodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QWxsUHJpbnRlcnMoKTogUHJvbWlzZTxQcmludGVyW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5saXN0QWxsUHJpbnRlcnMoKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUHJpbnRlciwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VuZE1ldGhvZHMoKTogUHJvbWlzZTxTZW5kTWV0aG9kW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5nZXRTZW5kTWV0aG9kcygpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QgJiYgcmVzdWx0LnJlc3VsdE9iamVjdC5yZXN1bHQpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTZW5kTWV0aG9kLCByZXN1bHQucmVzdWx0T2JqZWN0LnJlc3VsdCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0UHJpbnRTdG9ja1N0aWNrZXJzKHJlcXVlc3Q6IFByaW50U3RvY2tTdGlja2Vycyk6IFByb21pc2U8UHJpbnRTdG9ja1N0aWNrZXJzPiB7XHJcbiAgLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5nZXRQcmludFN0b2NrU3RpY2tlcnMocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gIC8vICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgLy8gICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gIC8vICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFByaW50U3RvY2tTdGlja2VycywgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICB9KVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFByaW50UHJpY2VTdGlja2VycyhyZXF1ZXN0OiBQcmludFByaWNlU3RpY2tlcnMpOiBQcm9taXNlPFByaW50UHJpY2VTdGlja2Vycz4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5zaGFyZWRDb25uZWN0b3IucHJpbnRQcmljZVN0aWNrZXJzKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAvLyAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gIC8vICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAvLyAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShQcmludFByaWNlU3RpY2tlcnMsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgfSlcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja0hpc3RvcnkocmVxdWVzdDogR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCk6IFByb21pc2U8U3RvY2tIaXN0b3J5Qm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrSGlzdG9yeShyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0ICYmIHJlc3VsdC5yZXN1bHRPYmplY3QuaGFzT3duUHJvcGVydHkoXCJzdG9ja0hpc3RvcnlcIikpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja0hpc3RvcnlCbywgcmVzdWx0LnJlc3VsdE9iamVjdC5zdG9ja0hpc3RvcnkpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja0luZm9ybWF0aW9uKGRhdGE6IEFydGljbGVTdG9jayk6IFByb21pc2U8QXJ0aWNsZVN0b2NrQm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrSW5mb3JtYXRpb24oZGF0YSkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShBcnRpY2xlU3RvY2tCbywgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTogUHJvbWlzZTxTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzKCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKHdhcmVob3VzZU5vOiBudW1iZXIpOiBQcm9taXNlPFN0b2NrTG9jYXRpb25bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh3YXJlaG91c2VObykudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja0xvY2F0aW9uLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5zaGFyZWRDb25uZWN0b3IuZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUgKHJlc3VsdC5yZXN1bHRPYmplY3QpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3RGb3JPcmRlckNvbmZpcm1hdGlvbih0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAvLyAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuc2hhcmVkQ29ubmVjdG9yLmdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yT3JkZXJDb25maXJtYXRpb24odHJhbnNhY3Rpb25VVUlEKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUgKHJlc3VsdC5yZXN1bHRPYmplY3QpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0UHVyY2hhc2VPcmRlckVtYWlsTGF5b3V0cyh0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8U3RvY2tTdGlja2Vyc0VtYWlsTGF5b3V0c1tdPiB7XHJcbiAgLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5nZXRQdXJjaGFzZU9yZGVyRW1haWxMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gIC8vICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgLy8gICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gIC8vICAgICAgICAgICByZXNvbHZlIChyZXN1bHQucmVzdWx0T2JqZWN0KTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KTtcclxuICAvLyAgIH0pO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFydGljbGVEZXRhaWxzKGRhdGE6IEFydGljbGVTdG9ja01hbmFnZW1lbnQpOiBQcm9taXNlPEFydGljbGVEZXRhaWxzQm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEFydGljbGVEZXRhaWxzKGRhdGEpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQXJ0aWNsZURldGFpbHNCbywgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHVwZGF0ZUFydGljbGVEZXRhaWxzKGRhdGE6IEFydGljbGVEZXRhaWxzQm8pOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci51cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhKS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuY29tbWl0KCk7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBhc3luYyBsb2NrQXJ0aWNsZURldGFpbHMoZGF0YTogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmxvY2tBcnRpY2xlRGV0YWlscyhkYXRhKS50aGVuKGFzeW5jIChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuY29tbWl0KCk7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrU3RhdHVzKCk6IFByb21pc2U8U3RvY2tTdGF0dXNbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrU3RhdGUoKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFN0b2NrU3RhdHVzLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGE6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXT4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5tYWluQ29ubmVjdG9yLmdldFN0b2NrU3RpY2tlclByaW50TGF5b3V0cyhkYXRhKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0cywgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZVRyYW5zYWN0aW9uKGRhdGE6IEFydGljbGVUcmFuc2FjdGlvbik6IFByb21pc2U8QXJ0aWNsZVRyYW5zYWN0aW9uQm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEFydGljbGVUcmFuc2FjdGlvbihkYXRhKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KEFydGljbGVUcmFuc2FjdGlvbkJvLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29tbWl0KCk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuY29tbWl0KCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
312
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL3NlcnZpY2Uvc2hhcmVkLWNvbm5lY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDN0QsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLFlBQVksSUFBSSxjQUFjLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUVqRyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbURBQW1ELENBQUM7QUFFakYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDckYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUVqRixPQUFPLEVBQUMsa0JBQWtCLElBQUksb0JBQW9CLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwwQ0FBMEMsQ0FBQztBQUVqRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sOENBQThDLENBQUM7OztBQUt4RSxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQ1UsZUFB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Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVELGlIQUFpSDtJQUNqSCxrRUFBa0U7SUFDbEUsOEdBQThHO0lBQzlHLDBFQUEwRTtJQUMxRSxxQ0FBcUM7SUFDckMseUhBQXlIO0lBQ3pILFlBQVk7SUFDWixpQkFBaUI7SUFDakIscURBQXFEO0lBQ3JELFVBQVU7SUFDVixVQUFVO0lBQ1YsUUFBUTtJQUNSLElBQUk7SUFFUyxxQkFBcUIsQ0FBQyxJQUF3Qjs7WUFDekQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQWlCLEVBQUUsTUFBZ0IsRUFBRSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUErQixFQUFFLEVBQUU7b0JBQ2hHLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7d0JBQzlELElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRTs0QkFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsa0NBQWtDLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7eUJBQ3pHO3FCQUNGO3lCQUFNO3dCQUNMLE1BQU0sQ0FBQyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztxQkFDM0M7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN4QyxDQUFDOzs7O1lBbFJGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVE8sY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJ0aWNsZXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL2FydGljbGVzJztcclxuaW1wb3J0IHtTaGFyZWRhcGl9IGZyb20gJ0Bjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvc2hhcmVkYXBpJztcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9nZXQtc3RvY2staGlzdG9yeS1yZXF1ZXN0JztcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2suYm8nO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9jayc7XHJcbmltcG9ydCB7U3RvY2tIaXN0b3J5Qm99IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWhpc3RvcnkuYm8nO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtc3RvY2stbWFuYWdlbWVudCc7XHJcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1kZXRhaWxzLmJvJztcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stc3RhdHVzLmJvJztcclxuaW1wb3J0IHtTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1tYW5hZ2VtZW50LXdhcmVob3VzZXMuYm8nO1xyXG5pbXBvcnQge1N0b2NrTG9jYXRpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLWxvY2F0aW9uLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb259IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtdHJhbnNhY3Rpb24nO1xyXG5pbXBvcnQge0FydGljbGVUcmFuc2FjdGlvbiBhcyBBcnRpY2xlVHJhbnNhY3Rpb25Cb30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS10cmFuc2FjdGlvbi5ibyc7XHJcbmltcG9ydCB7T3B0aW9uc1NlcnZpY2V9IGZyb20gJy4vb3B0aW9ucy5zZXJ2aWNlJztcclxuaW1wb3J0IHtNYWluQXBpfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaSc7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnRlci5ibyc7XHJcbmltcG9ydCB7RGF0YVNlcnZpY2VSZXNwb25zZURhdGF9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL2RhdGEtc2VydmljZS1yZXNwb25zZS1kYXRhJztcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL2ZhY3RvcnkvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnknO1xyXG5pbXBvcnQge1NlbmRNZXRob2R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3NlbmQtbWV0aG9kLmJvJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2hhcmVkQ29ubmVjdG9yU2VydmljZSB7XHJcbiAgcHVibGljIGFydGljbGVDb25uZWN0b3I6IEFydGljbGVzO1xyXG4gIHB1YmxpYyBzaGFyZWRDb25uZWN0b3I6IFNoYXJlZGFwaTtcclxuICBwdWJsaWMgbWFpbkNvbm5lY3RvcjogTWFpbkFwaTtcclxuXHJcbiAgcHJpdmF0ZSBfYm9GYWN0b3J5OiBCdXNpbmVzc09iamVjdEZhY3RvcnkgPSBuZXcgQnVzaW5lc3NPYmplY3RGYWN0b3J5KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX29wdGlvbnNTZXJ2aWNlOiBPcHRpb25zU2VydmljZSxcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5hcnRpY2xlQ29ubmVjdG9yID0gbmV3IEFydGljbGVzKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMpO1xyXG4gICAgdGhpcy5zaGFyZWRDb25uZWN0b3IgPSBuZXcgU2hhcmVkYXBpKHRoaXMuX29wdGlvbnNTZXJ2aWNlLm9wdGlvbnMpO1xyXG4gICAgdGhpcy5tYWluQ29ubmVjdG9yID0gbmV3IE1haW5BcGkodGhpcy5fb3B0aW9uc1NlcnZpY2Uub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QWxsUHJpbnRlcnMoKTogUHJvbWlzZTxQcmludGVyW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5saXN0QWxsUHJpbnRlcnMoKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoUHJpbnRlciwgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VuZE1ldGhvZHMoKTogUHJvbWlzZTxTZW5kTWV0aG9kW10+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMubWFpbkNvbm5lY3Rvci5nZXRTZW5kTWV0aG9kcygpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QgJiYgcmVzdWx0LnJlc3VsdE9iamVjdC5yZXN1bHQpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTZW5kTWV0aG9kLCByZXN1bHQucmVzdWx0T2JqZWN0LnJlc3VsdCkpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0UHJpbnRTdG9ja1N0aWNrZXJzKHJlcXVlc3Q6IFByaW50U3RvY2tTdGlja2Vycyk6IFByb21pc2U8UHJpbnRTdG9ja1N0aWNrZXJzPiB7XHJcbiAgLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5nZXRQcmludFN0b2NrU3RpY2tlcnMocmVxdWVzdCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gIC8vICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgLy8gICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gIC8vICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFByaW50U3RvY2tTdGlja2VycywgcmVzdWx0LnJlc3VsdE9iamVjdCkpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICB9KVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFByaW50UHJpY2VTdGlja2VycyhyZXF1ZXN0OiBQcmludFByaWNlU3RpY2tlcnMpOiBQcm9taXNlPFByaW50UHJpY2VTdGlja2Vycz4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5zaGFyZWRDb25uZWN0b3IucHJpbnRQcmljZVN0aWNrZXJzKHJlcXVlc3QpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAvLyAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gIC8vICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAvLyAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShQcmludFByaWNlU3RpY2tlcnMsIHJlc3VsdC5yZXN1bHRPYmplY3QpKTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgfSlcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja0hpc3RvcnkocmVxdWVzdDogR2V0U3RvY2tIaXN0b3J5UmVxdWVzdCk6IFByb21pc2U8U3RvY2tIaXN0b3J5Qm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrSGlzdG9yeShyZXF1ZXN0KS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0ICYmIHJlc3VsdC5yZXN1bHRPYmplY3QuaGFzT3duUHJvcGVydHkoXCJzdG9ja0hpc3RvcnlcIikpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja0hpc3RvcnlCbywgcmVzdWx0LnJlc3VsdE9iamVjdC5zdG9ja0hpc3RvcnkpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja0luZm9ybWF0aW9uKGRhdGE6IEFydGljbGVTdG9jayk6IFByb21pc2U8QXJ0aWNsZVN0b2NrQm9bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrSW5mb3JtYXRpb24oZGF0YSkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShBcnRpY2xlU3RvY2tCbywgcmVzdWx0LnJlc3VsdE9iamVjdHMpKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmVqZWN0KHJlc3VsdC52YWxpZGF0aW9uTWVzc2FnZXNBc1N0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFydFN0b2NrU3RhdHVzKGdvb2RJZDogbnVtYmVyLCBicmFuY2hObz86IHN0cmluZywgcmVxdWVzdGVkQW1vdW50PzogbnVtYmVyLCB3YXJlaG91c2VJZD86IG51bWJlcik6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0QXJ0U3RvY2tTdGF0dXMoZ29vZElkLCBicmFuY2hObywgcmVxdWVzdGVkQW1vdW50LCB3YXJlaG91c2VJZCkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdCkge1xyXG4gICAgICAgICAgICByZXNvbHZlKHJlc3VsdC5yZXN1bHRPYmplY3QpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpOiBQcm9taXNlPFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMod2FyZWhvdXNlTm86IG51bWJlcik6IFByb21pc2U8U3RvY2tMb2NhdGlvbltdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0U3RvY2tNYW5hZ2VtZW50TG9jYXRpb25zKHdhcmVob3VzZU5vKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0cykge1xyXG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuX2JvRmFjdG9yeS5tYWtlQk9BcnJheUZyb21SYXdCYWNrZW5kRGF0YUFycmF5KFN0b2NrTG9jYXRpb24sIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBnZXRPcmRlckNvbmZpcm1hdGlvbkRlZmF1bHRTZW5kTWV0aG9kKHJlbGF0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLnNoYXJlZENvbm5lY3Rvci5nZXRPcmRlckNvbmZpcm1hdGlvbkRlZmF1bHRTZW5kTWV0aG9kKHJlbGF0aW9uSWQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAvLyAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gIC8vICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAvLyAgICAgICAgICAgcmVzb2x2ZSAocmVzdWx0LnJlc3VsdE9iamVjdCk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSk7XHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBnZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdEZvck9yZGVyQ29uZmlybWF0aW9uKHRyYW5zYWN0aW9uVVVJRDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5zaGFyZWRDb25uZWN0b3IuZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3RGb3JPcmRlckNvbmZpcm1hdGlvbih0cmFuc2FjdGlvblVVSUQpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAvLyAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gIC8vICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAvLyAgICAgICAgICAgcmVzb2x2ZSAocmVzdWx0LnJlc3VsdE9iamVjdCk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSk7XHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBnZXRQdXJjaGFzZU9yZGVyRW1haWxMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRDogc3RyaW5nKTogUHJvbWlzZTxTdG9ja1N0aWNrZXJzRW1haWxMYXlvdXRzW10+IHtcclxuICAvLyAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTogRnVuY3Rpb24sIHJlamVjdDogRnVuY3Rpb24pID0+IHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuc2hhcmVkQ29ubmVjdG9yLmdldFB1cmNoYXNlT3JkZXJFbWFpbExheW91dHModHJhbnNhY3Rpb25VVUlEKS50aGVuKChyZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhKSA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3VsdC52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAvLyAgICAgICAgIGlmIChyZXN1bHQucmVzdWx0T2JqZWN0KSB7XHJcbiAgLy8gICAgICAgICAgIHJlc29sdmUgKHJlc3VsdC5yZXN1bHRPYmplY3QpO1xyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZURldGFpbHMoZGF0YTogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCk6IFByb21pc2U8QXJ0aWNsZURldGFpbHNCb1tdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0QXJ0aWNsZURldGFpbHMoZGF0YSkudGhlbigocmVzdWx0OiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICBpZiAocmVzdWx0LnJlc3VsdE9iamVjdHMpIHtcclxuICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShBcnRpY2xlRGV0YWlsc0JvLCByZXN1bHQucmVzdWx0T2JqZWN0cykpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QocmVzdWx0LnZhbGlkYXRpb25NZXNzYWdlc0FzU3RyaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgdXBkYXRlQXJ0aWNsZURldGFpbHMoZGF0YTogQXJ0aWNsZURldGFpbHNCbyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlOiBGdW5jdGlvbiwgcmVqZWN0OiBGdW5jdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLnVwZGF0ZUFydGljbGVEZXRhaWxzKGRhdGEpLnRoZW4oYXN5bmMgKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5jb21taXQoKTtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHVibGljIGFzeW5jIGxvY2tBcnRpY2xlRGV0YWlscyhkYXRhOiBBcnRpY2xlU3RvY2tNYW5hZ2VtZW50KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IubG9ja0FydGljbGVEZXRhaWxzKGRhdGEpLnRoZW4oYXN5bmMgKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5jb21taXQoKTtcclxuICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGF0dXMoKTogUHJvbWlzZTxTdG9ja1N0YXR1c1tdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0U3RvY2tTdGF0ZSgpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoU3RvY2tTdGF0dXMsIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBnZXRTdG9ja1N0aWNrZXJUZW1wbGF0ZXMoZGF0YTogU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0cyk6IFByb21pc2U8U3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c1tdPiB7XHJcbiAgLy8gICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgLy8gICAgIHJldHVybiB0aGlzLm1haW5Db25uZWN0b3IuZ2V0U3RvY2tTdGlja2VyUHJpbnRMYXlvdXRzKGRhdGEpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAvLyAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gIC8vICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3QpIHtcclxuICAvLyAgICAgICAgICAgcmVzb2x2ZSh0aGlzLl9ib0ZhY3RvcnkubWFrZUJPQXJyYXlGcm9tUmF3QmFja2VuZERhdGFBcnJheShTdG9ja1N0aWNrZXJzUHJpbnRMYXlvdXRzLCByZXN1bHQucmVzdWx0T2JqZWN0KSk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSk7XHJcbiAgLy8gICB9KTtcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRpY2xlVHJhbnNhY3Rpb24oZGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uKTogUHJvbWlzZTxBcnRpY2xlVHJhbnNhY3Rpb25Cb1tdPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmU6IEZ1bmN0aW9uLCByZWplY3Q6IEZ1bmN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0QXJ0aWNsZVRyYW5zYWN0aW9uKGRhdGEpLnRoZW4oKHJlc3VsdDogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0LnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzdWx0LnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgaWYgKHJlc3VsdC5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgICAgICAgIHJlc29sdmUodGhpcy5fYm9GYWN0b3J5Lm1ha2VCT0FycmF5RnJvbVJhd0JhY2tlbmREYXRhQXJyYXkoQXJ0aWNsZVRyYW5zYWN0aW9uQm8sIHJlc3VsdC5yZXN1bHRPYmplY3RzKSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChyZXN1bHQudmFsaWRhdGlvbk1lc3NhZ2VzQXNTdHJpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb21taXQoKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5jb21taXQoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -41,6 +41,11 @@ export class StockService {
41
41
  return yield this._sharedService.getStockStatus();
42
42
  });
43
43
  }
44
+ getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ return yield this._sharedService.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId);
47
+ });
48
+ }
44
49
  // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {
45
50
  // return await this._sharedService.getStockStickerTemplates(data);
46
51
  // }
@@ -86,4 +91,4 @@ StockService.decorators = [
86
91
  StockService.ctorParameters = () => [
87
92
  { type: SharedConnectorService }
88
93
  ];
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFlekMsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7OztBQVNsRSxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUNVLGNBQXNDO1FBQXRDLG1CQUFjLEdBQWQsY0FBYyxDQUF3QjtJQUVoRCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLDJEQUEyRDtJQUMzRCxJQUFJO0lBRUosZ0ZBQWdGO0lBQ2hGLDJEQUEyRDtJQUMzRCxJQUFJO0lBRVMsZUFBZSxDQUFDLElBQTRCOztZQUN2RCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsQ0FBQztLQUFBO0lBRVksbUJBQW1CLENBQUMsSUFBa0I7O1lBQ2pELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FBQTtJQUVELG9IQUFvSDtJQUNwSCxvRUFBb0U7SUFDcEUsSUFBSTtJQUVTLGlCQUFpQixDQUFDLElBQTRCOztZQUN6RCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRCxDQUFDO0tBQUE7SUFFWSxvQkFBb0IsQ0FBQyxJQUFzQjs7WUFDdEQsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsQ0FBQztLQUFBO0lBRVksYUFBYTs7WUFDeEIsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEQsQ0FBQztLQUFBO0lBRUQsaUhBQWlIO0lBQ2pILHFFQUFxRTtJQUNyRSxJQUFJO0lBRVMsNEJBQTRCOztZQUN2QyxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ2xFLENBQUM7S0FBQTtJQUVZLDJCQUEyQixDQUFDLFdBQW1COztZQUMxRCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1RSxDQUFDO0tBQUE7SUFFRCw0RkFBNEY7SUFDNUYsd0ZBQXdGO0lBQ3hGLElBQUk7SUFFSiw0R0FBNEc7SUFDNUcsc0dBQXNHO0lBQ3RHLElBQUk7SUFFSiw2R0FBNkc7SUFDN0csb0ZBQW9GO0lBQ3BGLElBQUk7SUFFUyxxQkFBcUIsQ0FBQyxJQUF3Qjs7WUFDekQsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0QsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsSUFBNEI7O1lBQzFELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELENBQUM7S0FBQTtJQUVNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEMsQ0FBQzs7OztZQS9FRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVJPLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtQcmludFN0b2NrU3RpY2tlcnN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXN0b2NrLXN0aWNrZXJzXCI7XHJcbmltcG9ydCB7R2V0U3RvY2tIaXN0b3J5UmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2dldC1zdG9jay1oaXN0b3J5LXJlcXVlc3RcIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9ja1wiO1xyXG5pbXBvcnQge1N0b2NrSGlzdG9yeUJvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2staGlzdG9yeS5ib1wiO1xyXG5pbXBvcnQge1N0b2NrU3RpY2tlcnNQcmludExheW91dHN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3JlcG9ydC9zdG9jay1zdGlja2Vycy1wcmludC1sYXlvdXRzLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZGV0YWlscy5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnRcIjtcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLXN0YXR1cy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1tYW5hZ2VtZW50LXdhcmVob3VzZXMuYm9cIjtcclxuaW1wb3J0IHtTdG9ja0xvY2F0aW9ufSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbG9jYXRpb24uYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb259IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVRyYW5zYWN0aW9uIGFzIEFydGljbGVUcmFuc2FjdGlvbkJvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS10cmFuc2FjdGlvbi5ib1wiO1xyXG5pbXBvcnQge1ByaW50UHJpY2VTdGlja2Vyc30gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcHJpbnQtcHJpY2Utc3RpY2tlcnMuYm9cIjtcclxuaW1wb3J0IHtTaGFyZWRDb25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi9zaGFyZWQtY29ubmVjdG9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9ja1N0aWNrZXJzRW1haWxMYXlvdXRzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9yZXBvcnQvc3RvY2stc3RpY2tlcnMtZW1haWwtbGF5b3V0cy5ib1wiO1xyXG5pbXBvcnQge1NlbmRNZXRob2RQYXJhbXN9IGZyb20gXCIuLi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1wYXJhbXMuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnRlci5ibyc7XHJcbmltcG9ydCB7RGF0YVNlcnZpY2VSZXNwb25zZURhdGF9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL2RhdGEtc2VydmljZS1yZXNwb25zZS1kYXRhJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja1NlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgc3RvY2tTdGlja2VyczogUHJpbnRTdG9ja1N0aWNrZXJzO1xyXG4gIHB1YmxpYyBwcmludExheW91dFBhcmFtczogU2VuZE1ldGhvZFBhcmFtcztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zaGFyZWRTZXJ2aWNlOiBTaGFyZWRDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFByaW50U3RvY2tTdGlja2VycyhkYXRhOiBQcmludFN0b2NrU3RpY2tlcnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAvLyAgIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0UHJpbnRTdG9ja1N0aWNrZXJzKGRhdGEpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFByaW50UHJpY2VTdGlja2VycyhkYXRhOiBQcmludFByaWNlU3RpY2tlcnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAvLyAgIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0UHJpbnRQcmljZVN0aWNrZXJzKGRhdGEpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSGlzdG9yeShkYXRhOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0KTogUHJvbWlzZTxTdG9ja0hpc3RvcnlCb1tdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRTdG9ja0hpc3RvcnkoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tJbmZvcm1hdGlvbihkYXRhOiBBcnRpY2xlU3RvY2spOiBQcm9taXNlPEFydGljbGVTdG9ja0JvW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFN0b2NrSW5mb3JtYXRpb24oZGF0YSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGlja2VyUHJpbnRMYXlvdXRzKGRhdGE6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXT4ge1xyXG4gIC8vICAgcmV0dXJuIGF3YWl0IHRoaXMuX2Nvbm5lY3Rvci5nZXRTdG9ja1N0aWNrZXJQcmludExheW91dHMoZGF0YSk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZURldGFpbHMoZGF0YTogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCk6IFByb21pc2U8QXJ0aWNsZURldGFpbHNCb1tdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRBcnRpY2xlRGV0YWlscyhkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyB1cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhOiBBcnRpY2xlRGV0YWlsc0JvKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS51cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja1N0YXRlKCk6IFByb21pc2U8U3RvY2tTdGF0dXNbXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0U3RvY2tTdGF0dXMoKTtcclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBnZXRTdG9ja1N0aWNrZXJUZW1wbGF0ZXMoZGF0YTogU3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0cyk6IFByb21pc2U8U3RvY2tTdGlja2Vyc1ByaW50TGF5b3V0c1tdPiB7XHJcbiAgLy8gICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRTdG9ja1N0aWNrZXJUZW1wbGF0ZXMoZGF0YSk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpOiBQcm9taXNlPFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXNbXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0U3RvY2tNYW5hZ2VtZW50V2FyZWhvdXNlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh3YXJlaG91c2VObzogbnVtYmVyKTogUHJvbWlzZTxTdG9ja0xvY2F0aW9uW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudExvY2F0aW9ucyh3YXJlaG91c2VObyk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gIC8vICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0T3JkZXJDb25maXJtYXRpb25EZWZhdWx0U2VuZE1ldGhvZChyZWxhdGlvbklkKTtcclxuICAvLyB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBnZXREZWZhdWx0RW1haWxBZGRyZXNzTGlzdEZvck9yZGVyQ29uZmlybWF0aW9uKHRyYW5zYWN0aW9uVVVJRDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmdbXT4ge1xyXG4gIC8vICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3RGb3JPcmRlckNvbmZpcm1hdGlvbih0cmFuc2FjdGlvblVVSUQpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFB1cmNoYXNlT3JkZXJFbWFpbExheW91dHModHJhbnNhY3Rpb25VVUlEOiBzdHJpbmcpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNFbWFpbExheW91dHNbXT4ge1xyXG4gIC8vICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0UHVyY2hhc2VPcmRlckVtYWlsTGF5b3V0cyh0cmFuc2FjdGlvblVVSUQpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFydGljbGVUcmFuc2FjdGlvbihkYXRhOiBBcnRpY2xlVHJhbnNhY3Rpb24pOiBQcm9taXNlPEFydGljbGVUcmFuc2FjdGlvbkJvW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldEFydGljbGVUcmFuc2FjdGlvbihkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBsb2NrQXJ0aWNsZURldGFpbHMoZGF0YTogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UubG9ja0FydGljbGVEZXRhaWxzKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbW1pdCgpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hhcmVkU2VydmljZS5jb21taXQoKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9zZXJ2aWNlL3N0b2NrLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFlekMsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7OztBQVNsRSxNQUFNLE9BQU8sWUFBWTtJQUt2QixZQUNVLGNBQXNDO1FBQXRDLG1CQUFjLEdBQWQsY0FBYyxDQUF3QjtJQUVoRCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLDJEQUEyRDtJQUMzRCxJQUFJO0lBRUosZ0ZBQWdGO0lBQ2hGLDJEQUEyRDtJQUMzRCxJQUFJO0lBRVMsZUFBZSxDQUFDLElBQTRCOztZQUN2RCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsQ0FBQztLQUFBO0lBRVksbUJBQW1CLENBQUMsSUFBa0I7O1lBQ2pELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELENBQUM7S0FBQTtJQUVELG9IQUFvSDtJQUNwSCxvRUFBb0U7SUFDcEUsSUFBSTtJQUVTLGlCQUFpQixDQUFDLElBQTRCOztZQUN6RCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRCxDQUFDO0tBQUE7SUFFWSxvQkFBb0IsQ0FBQyxJQUFzQjs7WUFDdEQsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUQsQ0FBQztLQUFBO0lBRVksYUFBYTs7WUFDeEIsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEQsQ0FBQztLQUFBO0lBRVksaUJBQWlCLENBQUMsTUFBYyxFQUFFLFFBQWlCLEVBQUUsZUFBd0IsRUFBRSxXQUFvQjs7WUFDOUcsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDckcsQ0FBQztLQUFBO0lBRUQsaUhBQWlIO0lBQ2pILHFFQUFxRTtJQUNyRSxJQUFJO0lBRVMsNEJBQTRCOztZQUN2QyxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1FBQ2xFLENBQUM7S0FBQTtJQUVZLDJCQUEyQixDQUFDLFdBQW1COztZQUMxRCxPQUFPLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1RSxDQUFDO0tBQUE7SUFFRCw0RkFBNEY7SUFDNUYsd0ZBQXdGO0lBQ3hGLElBQUk7SUFFSiw0R0FBNEc7SUFDNUcsc0dBQXNHO0lBQ3RHLElBQUk7SUFFSiw2R0FBNkc7SUFDN0csb0ZBQW9GO0lBQ3BGLElBQUk7SUFFUyxxQkFBcUIsQ0FBQyxJQUF3Qjs7WUFDekQsT0FBTyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0QsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsSUFBNEI7O1lBQzFELE9BQU8sTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELENBQUM7S0FBQTtJQUVNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdEMsQ0FBQzs7OztZQW5GRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVJPLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtQcmludFN0b2NrU3RpY2tlcnN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3ByaW50LXN0b2NrLXN0aWNrZXJzXCI7XHJcbmltcG9ydCB7R2V0U3RvY2tIaXN0b3J5UmVxdWVzdH0gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2dldC1zdG9jay1oaXN0b3J5LXJlcXVlc3RcIjtcclxuaW1wb3J0IHtBcnRpY2xlU3RvY2sgYXMgQXJ0aWNsZVN0b2NrQm99IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVN0b2NrfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1zdG9ja1wiO1xyXG5pbXBvcnQge1N0b2NrSGlzdG9yeUJvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2staGlzdG9yeS5ib1wiO1xyXG5pbXBvcnQge1N0b2NrU3RpY2tlcnNQcmludExheW91dHN9IGZyb20gXCJAY29saWpuaXQvc2hhcmVkYXBpL2J1aWxkL21vZGVsL3JlcG9ydC9zdG9jay1zdGlja2Vycy1wcmludC1sYXlvdXRzLmJvXCI7XHJcbmltcG9ydCB7QXJ0aWNsZURldGFpbHNCb30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZGV0YWlscy5ib1wiO1xyXG5pbXBvcnQge0FydGljbGVTdG9ja01hbmFnZW1lbnR9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXN0b2NrLW1hbmFnZW1lbnRcIjtcclxuaW1wb3J0IHtTdG9ja1N0YXR1c30gZnJvbSBcIkBjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N0b2NrLXN0YXR1cy5ib1wiO1xyXG5pbXBvcnQge1N0b2NrTWFuYWdlbWVudFdhcmVob3VzZXN9IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdG9jay1tYW5hZ2VtZW50LXdhcmVob3VzZXMuYm9cIjtcclxuaW1wb3J0IHtTdG9ja0xvY2F0aW9ufSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3RvY2stbG9jYXRpb24uYm9cIjtcclxuaW1wb3J0IHtBcnRpY2xlVHJhbnNhY3Rpb259IGZyb20gXCJAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLXRyYW5zYWN0aW9uXCI7XHJcbmltcG9ydCB7QXJ0aWNsZVRyYW5zYWN0aW9uIGFzIEFydGljbGVUcmFuc2FjdGlvbkJvfSBmcm9tIFwiQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS10cmFuc2FjdGlvbi5ib1wiO1xyXG5pbXBvcnQge1ByaW50UHJpY2VTdGlja2Vyc30gZnJvbSBcIkBjb2xpam5pdC9zaGFyZWRhcGkvYnVpbGQvbW9kZWwvcHJpbnQtcHJpY2Utc3RpY2tlcnMuYm9cIjtcclxuaW1wb3J0IHtTaGFyZWRDb25uZWN0b3JTZXJ2aWNlfSBmcm9tIFwiLi9zaGFyZWQtY29ubmVjdG9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdG9ja1N0aWNrZXJzRW1haWxMYXlvdXRzfSBmcm9tIFwiQGNvbGlqbml0L3NoYXJlZGFwaS9idWlsZC9tb2RlbC9yZXBvcnQvc3RvY2stc3RpY2tlcnMtZW1haWwtbGF5b3V0cy5ib1wiO1xyXG5pbXBvcnQge1NlbmRNZXRob2RQYXJhbXN9IGZyb20gXCIuLi9jb21wb25lbnRzL3NlbmQtbWV0aG9kLWRpYWxvZy9zZW5kLW1ldGhvZC1wYXJhbXMuaW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnRlci5ibyc7XHJcbmltcG9ydCB7RGF0YVNlcnZpY2VSZXNwb25zZURhdGF9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL2RhdGEtc2VydmljZS1yZXNwb25zZS1kYXRhJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9ja1NlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgc3RvY2tTdGlja2VyczogUHJpbnRTdG9ja1N0aWNrZXJzO1xyXG4gIHB1YmxpYyBwcmludExheW91dFBhcmFtczogU2VuZE1ldGhvZFBhcmFtcztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9zaGFyZWRTZXJ2aWNlOiBTaGFyZWRDb25uZWN0b3JTZXJ2aWNlLFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFByaW50U3RvY2tTdGlja2VycyhkYXRhOiBQcmludFN0b2NrU3RpY2tlcnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAvLyAgIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0UHJpbnRTdG9ja1N0aWNrZXJzKGRhdGEpO1xyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldFByaW50UHJpY2VTdGlja2VycyhkYXRhOiBQcmludFByaWNlU3RpY2tlcnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAvLyAgIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0UHJpbnRQcmljZVN0aWNrZXJzKGRhdGEpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrSGlzdG9yeShkYXRhOiBHZXRTdG9ja0hpc3RvcnlSZXF1ZXN0KTogUHJvbWlzZTxTdG9ja0hpc3RvcnlCb1tdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRTdG9ja0hpc3RvcnkoZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tJbmZvcm1hdGlvbihkYXRhOiBBcnRpY2xlU3RvY2spOiBQcm9taXNlPEFydGljbGVTdG9ja0JvW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFN0b2NrSW5mb3JtYXRpb24oZGF0YSk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGlja2VyUHJpbnRMYXlvdXRzKGRhdGE6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXT4ge1xyXG4gIC8vICAgcmV0dXJuIGF3YWl0IHRoaXMuX2Nvbm5lY3Rvci5nZXRTdG9ja1N0aWNrZXJQcmludExheW91dHMoZGF0YSk7XHJcbiAgLy8gfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZURldGFpbHMoZGF0YTogQXJ0aWNsZVN0b2NrTWFuYWdlbWVudCk6IFByb21pc2U8QXJ0aWNsZURldGFpbHNCb1tdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRBcnRpY2xlRGV0YWlscyhkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyB1cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhOiBBcnRpY2xlRGV0YWlsc0JvKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS51cGRhdGVBcnRpY2xlRGV0YWlscyhkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja1N0YXRlKCk6IFByb21pc2U8U3RvY2tTdGF0dXNbXT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0U3RvY2tTdGF0dXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRTdG9ja1N0YXR1cyhnb29kSWQ6IG51bWJlciwgYnJhbmNoTm8/OiBzdHJpbmcsIHJlcXVlc3RlZEFtb3VudD86IG51bWJlciwgd2FyZWhvdXNlSWQ/OiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0QXJ0U3RvY2tTdGF0dXMoZ29vZElkLCBicmFuY2hObywgcmVxdWVzdGVkQW1vdW50LCB3YXJlaG91c2VJZCk7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGE6IFN0b2NrU3RpY2tlcnNQcmludExheW91dHMpOiBQcm9taXNlPFN0b2NrU3RpY2tlcnNQcmludExheW91dHNbXT4ge1xyXG4gIC8vICAgcmV0dXJuIGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0U3RvY2tTdGlja2VyVGVtcGxhdGVzKGRhdGEpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTogUHJvbWlzZTxTdG9ja01hbmFnZW1lbnRXYXJlaG91c2VzW10+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFN0b2NrTWFuYWdlbWVudFdhcmVob3VzZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMod2FyZWhvdXNlTm86IG51bWJlcik6IFByb21pc2U8U3RvY2tMb2NhdGlvbltdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRTdG9ja01hbmFnZW1lbnRMb2NhdGlvbnMod2FyZWhvdXNlTm8pO1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGFzeW5jIGdldE9yZGVyQ29uZmlybWF0aW9uRGVmYXVsdFNlbmRNZXRob2QocmVsYXRpb25JZDogbnVtYmVyKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAvLyAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldE9yZGVyQ29uZmlybWF0aW9uRGVmYXVsdFNlbmRNZXRob2QocmVsYXRpb25JZCk7XHJcbiAgLy8gfVxyXG5cclxuICAvLyBwdWJsaWMgYXN5bmMgZ2V0RGVmYXVsdEVtYWlsQWRkcmVzc0xpc3RGb3JPcmRlckNvbmZpcm1hdGlvbih0cmFuc2FjdGlvblVVSUQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcclxuICAvLyAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldERlZmF1bHRFbWFpbEFkZHJlc3NMaXN0Rm9yT3JkZXJDb25maXJtYXRpb24odHJhbnNhY3Rpb25VVUlEKTtcclxuICAvLyB9XHJcblxyXG4gIC8vIHB1YmxpYyBhc3luYyBnZXRQdXJjaGFzZU9yZGVyRW1haWxMYXlvdXRzKHRyYW5zYWN0aW9uVVVJRDogc3RyaW5nKTogUHJvbWlzZTxTdG9ja1N0aWNrZXJzRW1haWxMYXlvdXRzW10+IHtcclxuICAvLyAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldFB1cmNoYXNlT3JkZXJFbWFpbExheW91dHModHJhbnNhY3Rpb25VVUlEKTtcclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRpY2xlVHJhbnNhY3Rpb24oZGF0YTogQXJ0aWNsZVRyYW5zYWN0aW9uKTogUHJvbWlzZTxBcnRpY2xlVHJhbnNhY3Rpb25Cb1tdPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXRBcnRpY2xlVHJhbnNhY3Rpb24oZGF0YSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbG9ja0FydGljbGVEZXRhaWxzKGRhdGE6IEFydGljbGVTdG9ja01hbmFnZW1lbnQpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmxvY2tBcnRpY2xlRGV0YWlscyhkYXRhKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb21taXQoKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NoYXJlZFNlcnZpY2UuY29tbWl0KCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=