@sumaris-net/ngx-components 1.20.0-rc5 → 1.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/README.md +7 -7
  2. package/bundles/sumaris-net.ngx-components.umd.js +1502 -1316
  3. package/bundles/sumaris-net.ngx-components.umd.js.map +1 -1
  4. package/bundles/sumaris-net.ngx-components.umd.min.js +2 -2
  5. package/bundles/sumaris-net.ngx-components.umd.min.js.map +1 -1
  6. package/doc/changelog.md +50 -2
  7. package/esm2015/src/app/admin/services/person.service.js +3 -3
  8. package/esm2015/src/app/admin/users/list/users.js +1 -5
  9. package/esm2015/src/app/core/account/account.js +19 -6
  10. package/esm2015/src/app/core/core.module.js +4 -3
  11. package/esm2015/src/app/core/form/entity-editor.class.js +33 -11
  12. package/esm2015/src/app/core/form/form-buttons-bar.component.js +8 -5
  13. package/esm2015/src/app/core/form/list.form.js +1 -1
  14. package/esm2015/src/app/core/home/home.js +2 -2
  15. package/esm2015/src/app/core/install/install-upgrade-card.component.js +10 -40
  16. package/esm2015/src/app/core/menu/menu.component.js +77 -28
  17. package/esm2015/src/app/core/menu/menu.service.js +37 -12
  18. package/esm2015/src/app/core/offline/update-offline-mode-card.component.js +26 -0
  19. package/esm2015/src/app/core/services/account.service.js +2 -2
  20. package/esm2015/src/app/core/services/model/entity.model.js +3 -5
  21. package/esm2015/src/app/core/services/model/filter.model.js +1 -1
  22. package/esm2015/src/app/core/services/model/referential.model.js +1 -4
  23. package/esm2015/src/app/core/services/platform.service.js +44 -17
  24. package/esm2015/src/app/core/services/storage/entities-storage.service.js +36 -35
  25. package/esm2015/src/app/core/services/storage/entity-store.class.js +4 -5
  26. package/esm2015/src/app/core/table/entities-table-datasource.class.js +129 -193
  27. package/esm2015/src/app/core/table/memory-table.class.js +3 -3
  28. package/esm2015/src/app/core/table/table.class.js +96 -95
  29. package/esm2015/src/app/core/text-popover/text-form.component.js +1 -1
  30. package/esm2015/src/app/shared/dates.js +4 -8
  31. package/esm2015/src/app/shared/files.js +26 -1
  32. package/esm2015/src/app/shared/form/field.component.js +2 -2
  33. package/esm2015/src/app/shared/functions.js +5 -2
  34. package/esm2015/src/app/shared/guard/component-dirty.guard.js +3 -3
  35. package/esm2015/src/app/shared/material/autocomplete/material.autocomplete.js +82 -58
  36. package/esm2015/src/app/shared/material/autocomplete/testing/autocomplete.test.js +24 -9
  37. package/esm2015/src/app/shared/material/chips/material.chips.js +3 -2
  38. package/esm2015/src/app/shared/material/datetime/material.date.js +2 -2
  39. package/esm2015/src/app/shared/material/datetime/material.dateshort.js +2 -2
  40. package/esm2015/src/app/shared/material/datetime/material.datetime.js +7 -8
  41. package/esm2015/src/app/shared/material/datetime/testing/mat-date-time.test.js +6 -4
  42. package/esm2015/src/app/shared/material/latlong/latlong.utils.js +1 -1
  43. package/esm2015/src/app/shared/material/latlong/material.latlong.js +57 -51
  44. package/esm2015/src/app/shared/material/latlong/testing/latlong.test.js +2 -2
  45. package/esm2015/src/app/shared/material/swipe/material.swipe.js +7 -6
  46. package/esm2015/src/app/shared/pipes/form.pipes.js +86 -23
  47. package/esm2015/src/app/shared/pipes/latlong-format.pipe.js +17 -24
  48. package/esm2015/src/app/shared/pipes/number-format.pipe.js +6 -3
  49. package/esm2015/src/app/shared/pipes/pipes.module.js +6 -4
  50. package/esm2015/src/app/shared/platforms.js +2 -1
  51. package/esm2015/src/app/shared/services/job.utils.js +4 -3
  52. package/esm2015/src/app/shared/toolbar/toolbar.js +25 -9
  53. package/esm2015/src/app/shared/validator/validators.js +9 -4
  54. package/esm2015/src/app/vendor.js +7 -1
  55. package/esm2015/sumaris-net.ngx-components.js +8 -7
  56. package/fesm2015/sumaris-net.ngx-components.js +1054 -833
  57. package/fesm2015/sumaris-net.ngx-components.js.map +1 -1
  58. package/package.json +2 -2
  59. package/src/app/core/form/entity-editor.class.d.ts +2 -1
  60. package/src/app/core/form/form-buttons-bar.component.d.ts +3 -1
  61. package/src/app/core/install/install-upgrade-card.component.d.ts +1 -6
  62. package/src/app/core/menu/menu.component.d.ts +12 -7
  63. package/src/app/core/menu/menu.service.d.ts +15 -6
  64. package/src/app/core/offline/update-offline-mode-card.component.d.ts +8 -0
  65. package/src/app/core/services/model/entity.model.d.ts +0 -1
  66. package/src/app/core/services/model/filter.model.d.ts +1 -1
  67. package/src/app/core/services/model/referential.model.d.ts +3 -4
  68. package/src/app/core/services/platform.service.d.ts +1 -0
  69. package/src/app/core/services/storage/entities-storage.service.d.ts +10 -6
  70. package/src/app/core/services/storage/entity-store.class.d.ts +2 -2
  71. package/src/app/core/table/entities-table-datasource.class.d.ts +28 -26
  72. package/src/app/core/table/table.class.d.ts +2 -2
  73. package/src/app/shared/dates.d.ts +3 -3
  74. package/src/app/shared/files.d.ts +10 -0
  75. package/src/app/shared/functions.d.ts +1 -0
  76. package/src/app/shared/material/autocomplete/material.autocomplete.d.ts +2 -1
  77. package/src/app/shared/material/autocomplete/testing/autocomplete.test.d.ts +4 -2
  78. package/src/app/shared/material/chips/material.chips.d.ts +2 -1
  79. package/src/app/shared/material/latlong/latlong.utils.d.ts +2 -2
  80. package/src/app/shared/material/latlong/material.latlong.d.ts +15 -10
  81. package/src/app/shared/material/swipe/material.swipe.d.ts +4 -3
  82. package/src/app/shared/pipes/form.pipes.d.ts +20 -4
  83. package/src/app/shared/pipes/latlong-format.pipe.d.ts +6 -4
  84. package/src/app/shared/pipes/number-format.pipe.d.ts +3 -1
  85. package/src/app/shared/toolbar/toolbar.d.ts +5 -2
  86. package/src/app/shared/validator/validators.d.ts +6 -1
  87. package/src/app/vendor.d.ts +5 -0
  88. package/src/assets/i18n/en-US.json +2 -1
  89. package/src/assets/i18n/en.json +2 -1
  90. package/src/assets/i18n/fr.json +4 -1
  91. package/src/theme/_ngx-components.globals.scss +1 -0
  92. package/src/theme/_ngx-components.scss +32 -20
  93. package/sumaris-net.ngx-components.d.ts +7 -6
  94. package/sumaris-net.ngx-components.metadata.json +1 -1
@@ -17,7 +17,7 @@ import { IsNilOrBlankPipe, IsNotNilOrBlankPipe, StrIncludesPipe, StrLengthPipe,
17
17
  import { TranslatablePipe, TranslateContextPipe } from './translate-context.pipe';
18
18
  import { PropertyGetPipe } from './properties.pipe';
19
19
  import { NgInitDirective } from './ng-init.pipe';
20
- import { FormGetPipe, FormErrorTranslatePipe, FormGetControlPipe, FormGetArrayPipe, FormGetGroupPipe } from './form.pipes';
20
+ import { FormGetPipe, FormErrorTranslatePipe, FormGetControlPipe, FormGetArrayPipe, FormGetGroupPipe, FormGetValuePipe } from './form.pipes';
21
21
  export class SharedPipesModule {
22
22
  }
23
23
  SharedPipesModule.decorators = [
@@ -64,7 +64,8 @@ SharedPipesModule.decorators = [
64
64
  FormGetPipe,
65
65
  FormGetControlPipe,
66
66
  FormGetArrayPipe,
67
- FormGetGroupPipe
67
+ FormGetGroupPipe,
68
+ FormGetValuePipe
68
69
  ],
69
70
  exports: [
70
71
  PropertyGetPipe,
@@ -103,8 +104,9 @@ SharedPipesModule.decorators = [
103
104
  FormGetPipe,
104
105
  FormGetControlPipe,
105
106
  FormGetArrayPipe,
106
- FormGetGroupPipe
107
+ FormGetGroupPipe,
108
+ FormGetValuePipe
107
109
  ]
108
110
  },] }
109
111
  ];
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvcGlwZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckosT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ILE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQXdGekgsTUFBTSxPQUFPLGlCQUFpQjs7O1lBckY3QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxlQUFlO2lCQUNoQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osZUFBZTtvQkFDZixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsWUFBWTtvQkFDWixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsT0FBTztvQkFDUCxRQUFRO29CQUNSLGlCQUFpQjtvQkFDakIsY0FBYztvQkFDZCxlQUFlO29CQUNmLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLGVBQWU7b0JBQ2YsVUFBVTtvQkFDVixXQUFXO29CQUNYLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixlQUFlO29CQUNmLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLHNCQUFzQjtvQkFDdEIsV0FBVztvQkFDWCxrQkFBa0I7b0JBQ2xCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsZUFBZTtvQkFDZixjQUFjO29CQUNkLGVBQWU7b0JBQ2Ysb0JBQW9CO29CQUNwQixZQUFZO29CQUNaLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsT0FBTztvQkFDUCxRQUFRO29CQUNSLGlCQUFpQjtvQkFDakIsY0FBYztvQkFDZCxlQUFlO29CQUNmLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxVQUFVO29CQUNWLFdBQVc7b0JBQ1gsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtvQkFDbkIsWUFBWTtvQkFDWixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsaUJBQWlCO29CQUNqQixlQUFlO29CQUNmLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLHNCQUFzQjtvQkFDdEIsV0FBVztvQkFDWCxrQkFBa0I7b0JBQ2xCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO2lCQUNqQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7SW9uaWNNb2R1bGV9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7RGF0ZUZvcm1hdFBpcGV9IGZyb20gJy4vZGF0ZS1mb3JtYXQucGlwZSc7XG5pbXBvcnQge0RhdGVEaWZmRHVyYXRpb25QaXBlfSBmcm9tICcuL2RhdGUtZGlmZi1kdXJhdGlvbi5waXBlJztcbmltcG9ydCB7RGF0ZUZyb21Ob3dQaXBlfSBmcm9tICcuL2RhdGUtZnJvbS1ub3cucGlwZSc7XG5pbXBvcnQge0xhdGl0dWRlRm9ybWF0UGlwZSwgTGF0TG9uZ0Zvcm1hdFBpcGUsIExvbmdpdHVkZUZvcm1hdFBpcGV9IGZyb20gJy4vbGF0bG9uZy1mb3JtYXQucGlwZSc7XG5pbXBvcnQge051bWJlckZvcm1hdFBpcGV9IGZyb20gJy4vbnVtYmVyLWZvcm1hdC5waXBlJztcbmltcG9ydCB7SGlnaGxpZ2h0UGlwZX0gZnJvbSAnLi9oaWdobGlnaHQucGlwZSc7XG5pbXBvcnQge0ZpbGVTaXplUGlwZX0gZnJvbSAnLi9maWxlLXNpemUucGlwZSc7XG5pbXBvcnQge0R1cmF0aW9uUGlwZX0gZnJvbSAnLi9kdXJhdGlvbi5waXBlJztcbmltcG9ydCB7RXZlblBpcGUsIE1hdGhBYnNQaXBlLCBPZGRQaXBlfSBmcm9tICcuL21hdGgucGlwZXMnO1xuaW1wb3J0IHtBcnJheUZpbHRlclBpcGUsIEFycmF5Rmlyc3RQaXBlLCBBcnJheUluY2x1ZGVzUGlwZSwgQXJyYXlMZW5ndGhQaXBlLCBBcnJheVBsdWNrUGlwZSwgRW1wdHlBcnJheVBpcGUsIE5vdEVtcHR5QXJyYXlQaXBlfSBmcm9tICcuL2FycmF5cy5waXBlJztcbmltcG9ydCB7TWFwR2V0UGlwZSwgTWFwS2V5c1BpcGUsIE1hcFZhbHVlc1BpcGV9IGZyb20gJy4vbWFwcy5waXBlJztcbmltcG9ydCB7SXNOaWxPckJsYW5rUGlwZSwgSXNOb3ROaWxPckJsYW5rUGlwZSwgU3RySW5jbHVkZXNQaXBlLCBTdHJMZW5ndGhQaXBlLCBUb1N0cmluZ1BpcGV9IGZyb20gJy4vc3RyaW5nLnBpcGVzJztcbmltcG9ydCB7VHJhbnNsYXRhYmxlUGlwZSwgVHJhbnNsYXRlQ29udGV4dFBpcGV9IGZyb20gJy4vdHJhbnNsYXRlLWNvbnRleHQucGlwZSc7XG5pbXBvcnQge1Byb3BlcnR5R2V0UGlwZX0gZnJvbSAnLi9wcm9wZXJ0aWVzLnBpcGUnO1xuaW1wb3J0IHtOZ0luaXREaXJlY3RpdmV9IGZyb20gJy4vbmctaW5pdC5waXBlJztcbmltcG9ydCB7Rm9ybUdldFBpcGUsIEZvcm1FcnJvclRyYW5zbGF0ZVBpcGUsIEZvcm1HZXRDb250cm9sUGlwZSwgRm9ybUdldEFycmF5UGlwZSwgRm9ybUdldEdyb3VwUGlwZX0gZnJvbSAnLi9mb3JtLnBpcGVzJztcbmltcG9ydCB7Rm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgVHJhbnNsYXRlTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFByb3BlcnR5R2V0UGlwZSxcbiAgICBEYXRlRm9ybWF0UGlwZSxcbiAgICBEYXRlRGlmZkR1cmF0aW9uUGlwZSxcbiAgICBEdXJhdGlvblBpcGUsXG4gICAgRGF0ZUZyb21Ob3dQaXBlLFxuICAgIExhdExvbmdGb3JtYXRQaXBlLFxuICAgIExhdGl0dWRlRm9ybWF0UGlwZSxcbiAgICBMb25naXR1ZGVGb3JtYXRQaXBlLFxuICAgIEhpZ2hsaWdodFBpcGUsXG4gICAgTnVtYmVyRm9ybWF0UGlwZSxcbiAgICBGaWxlU2l6ZVBpcGUsXG4gICAgTWF0aEFic1BpcGUsXG4gICAgT2RkUGlwZSxcbiAgICBFdmVuUGlwZSxcbiAgICBOb3RFbXB0eUFycmF5UGlwZSxcbiAgICBFbXB0eUFycmF5UGlwZSxcbiAgICBBcnJheUxlbmd0aFBpcGUsXG4gICAgQXJyYXlGaXJzdFBpcGUsXG4gICAgQXJyYXlQbHVja1BpcGUsXG4gICAgQXJyYXlJbmNsdWRlc1BpcGUsXG4gICAgQXJyYXlGaWx0ZXJQaXBlLFxuICAgIE1hcEdldFBpcGUsXG4gICAgTWFwS2V5c1BpcGUsXG4gICAgTWFwVmFsdWVzUGlwZSxcbiAgICBJc05pbE9yQmxhbmtQaXBlLFxuICAgIElzTm90TmlsT3JCbGFua1BpcGUsXG4gICAgVG9TdHJpbmdQaXBlLFxuICAgIFN0ckxlbmd0aFBpcGUsXG4gICAgU3RySW5jbHVkZXNQaXBlLFxuICAgIFRyYW5zbGF0ZUNvbnRleHRQaXBlLFxuICAgIFRyYW5zbGF0YWJsZVBpcGUsXG4gICAgTmdJbml0RGlyZWN0aXZlLFxuICAgIEZvcm1FcnJvclRyYW5zbGF0ZVBpcGUsXG4gICAgRm9ybUdldFBpcGUsXG4gICAgRm9ybUdldENvbnRyb2xQaXBlLFxuICAgIEZvcm1HZXRBcnJheVBpcGUsXG4gICAgRm9ybUdldEdyb3VwUGlwZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUHJvcGVydHlHZXRQaXBlLFxuICAgIERhdGVGb3JtYXRQaXBlLFxuICAgIERhdGVGcm9tTm93UGlwZSxcbiAgICBEYXRlRGlmZkR1cmF0aW9uUGlwZSxcbiAgICBEdXJhdGlvblBpcGUsXG4gICAgTGF0TG9uZ0Zvcm1hdFBpcGUsXG4gICAgTGF0aXR1ZGVGb3JtYXRQaXBlLFxuICAgIExvbmdpdHVkZUZvcm1hdFBpcGUsXG4gICAgSGlnaGxpZ2h0UGlwZSxcbiAgICBOdW1iZXJGb3JtYXRQaXBlLFxuICAgIEZpbGVTaXplUGlwZSxcbiAgICBNYXRoQWJzUGlwZSxcbiAgICBPZGRQaXBlLFxuICAgIEV2ZW5QaXBlLFxuICAgIE5vdEVtcHR5QXJyYXlQaXBlLFxuICAgIEVtcHR5QXJyYXlQaXBlLFxuICAgIEFycmF5TGVuZ3RoUGlwZSxcbiAgICBBcnJheUZpcnN0UGlwZSxcbiAgICBBcnJheVBsdWNrUGlwZSxcbiAgICBNYXBHZXRQaXBlLFxuICAgIE1hcEtleXNQaXBlLFxuICAgIE1hcFZhbHVlc1BpcGUsXG4gICAgSXNOaWxPckJsYW5rUGlwZSxcbiAgICBJc05vdE5pbE9yQmxhbmtQaXBlLFxuICAgIFRvU3RyaW5nUGlwZSxcbiAgICBTdHJMZW5ndGhQaXBlLFxuICAgIFN0ckluY2x1ZGVzUGlwZSxcbiAgICBBcnJheUluY2x1ZGVzUGlwZSxcbiAgICBBcnJheUZpbHRlclBpcGUsXG4gICAgVHJhbnNsYXRlQ29udGV4dFBpcGUsXG4gICAgVHJhbnNsYXRhYmxlUGlwZSxcbiAgICBOZ0luaXREaXJlY3RpdmUsXG4gICAgRm9ybUVycm9yVHJhbnNsYXRlUGlwZSxcbiAgICBGb3JtR2V0UGlwZSxcbiAgICBGb3JtR2V0Q29udHJvbFBpcGUsXG4gICAgRm9ybUdldEFycmF5UGlwZSxcbiAgICBGb3JtR2V0R3JvdXBQaXBlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVkUGlwZXNNb2R1bGUge1xuXG59XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGlwZXMvcGlwZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDNUQsT0FBTyxFQUFDLGVBQWUsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckosT0FBTyxFQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFDLE1BQU0sYUFBYSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ILE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2hGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFDLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQTBGM0ksTUFBTSxPQUFPLGlCQUFpQjs7O1lBdkY3QixRQUFRLFNBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxlQUFlO2lCQUNoQjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osZUFBZTtvQkFDZixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsWUFBWTtvQkFDWixlQUFlO29CQUNmLGlCQUFpQjtvQkFDakIsa0JBQWtCO29CQUNsQixtQkFBbUI7b0JBQ25CLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixZQUFZO29CQUNaLFdBQVc7b0JBQ1gsT0FBTztvQkFDUCxRQUFRO29CQUNSLGlCQUFpQjtvQkFDakIsY0FBYztvQkFDZCxlQUFlO29CQUNmLGNBQWM7b0JBQ2QsY0FBYztvQkFDZCxpQkFBaUI7b0JBQ2pCLGVBQWU7b0JBQ2YsVUFBVTtvQkFDVixXQUFXO29CQUNYLGFBQWE7b0JBQ2IsZ0JBQWdCO29CQUNoQixtQkFBbUI7b0JBQ25CLFlBQVk7b0JBQ1osYUFBYTtvQkFDYixlQUFlO29CQUNmLG9CQUFvQjtvQkFDcEIsZ0JBQWdCO29CQUNoQixlQUFlO29CQUNmLHNCQUFzQjtvQkFDdEIsV0FBVztvQkFDWCxrQkFBa0I7b0JBQ2xCLGdCQUFnQjtvQkFDaEIsZ0JBQWdCO29CQUNoQixnQkFBZ0I7aUJBQ2pCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxlQUFlO29CQUNmLGNBQWM7b0JBQ2QsZUFBZTtvQkFDZixvQkFBb0I7b0JBQ3BCLFlBQVk7b0JBQ1osaUJBQWlCO29CQUNqQixrQkFBa0I7b0JBQ2xCLG1CQUFtQjtvQkFDbkIsYUFBYTtvQkFDYixnQkFBZ0I7b0JBQ2hCLFlBQVk7b0JBQ1osV0FBVztvQkFDWCxPQUFPO29CQUNQLFFBQVE7b0JBQ1IsaUJBQWlCO29CQUNqQixjQUFjO29CQUNkLGVBQWU7b0JBQ2YsY0FBYztvQkFDZCxjQUFjO29CQUNkLFVBQVU7b0JBQ1YsV0FBVztvQkFDWCxhQUFhO29CQUNiLGdCQUFnQjtvQkFDaEIsbUJBQW1CO29CQUNuQixZQUFZO29CQUNaLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixpQkFBaUI7b0JBQ2pCLGVBQWU7b0JBQ2Ysb0JBQW9CO29CQUNwQixnQkFBZ0I7b0JBQ2hCLGVBQWU7b0JBQ2Ysc0JBQXNCO29CQUN0QixXQUFXO29CQUNYLGtCQUFrQjtvQkFDbEIsZ0JBQWdCO29CQUNoQixnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtpQkFDakI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0lvbmljTW9kdWxlfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge0RhdGVGb3JtYXRQaXBlfSBmcm9tICcuL2RhdGUtZm9ybWF0LnBpcGUnO1xuaW1wb3J0IHtEYXRlRGlmZkR1cmF0aW9uUGlwZX0gZnJvbSAnLi9kYXRlLWRpZmYtZHVyYXRpb24ucGlwZSc7XG5pbXBvcnQge0RhdGVGcm9tTm93UGlwZX0gZnJvbSAnLi9kYXRlLWZyb20tbm93LnBpcGUnO1xuaW1wb3J0IHtMYXRpdHVkZUZvcm1hdFBpcGUsIExhdExvbmdGb3JtYXRQaXBlLCBMb25naXR1ZGVGb3JtYXRQaXBlfSBmcm9tICcuL2xhdGxvbmctZm9ybWF0LnBpcGUnO1xuaW1wb3J0IHtOdW1iZXJGb3JtYXRQaXBlfSBmcm9tICcuL251bWJlci1mb3JtYXQucGlwZSc7XG5pbXBvcnQge0hpZ2hsaWdodFBpcGV9IGZyb20gJy4vaGlnaGxpZ2h0LnBpcGUnO1xuaW1wb3J0IHtGaWxlU2l6ZVBpcGV9IGZyb20gJy4vZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHtEdXJhdGlvblBpcGV9IGZyb20gJy4vZHVyYXRpb24ucGlwZSc7XG5pbXBvcnQge0V2ZW5QaXBlLCBNYXRoQWJzUGlwZSwgT2RkUGlwZX0gZnJvbSAnLi9tYXRoLnBpcGVzJztcbmltcG9ydCB7QXJyYXlGaWx0ZXJQaXBlLCBBcnJheUZpcnN0UGlwZSwgQXJyYXlJbmNsdWRlc1BpcGUsIEFycmF5TGVuZ3RoUGlwZSwgQXJyYXlQbHVja1BpcGUsIEVtcHR5QXJyYXlQaXBlLCBOb3RFbXB0eUFycmF5UGlwZX0gZnJvbSAnLi9hcnJheXMucGlwZSc7XG5pbXBvcnQge01hcEdldFBpcGUsIE1hcEtleXNQaXBlLCBNYXBWYWx1ZXNQaXBlfSBmcm9tICcuL21hcHMucGlwZSc7XG5pbXBvcnQge0lzTmlsT3JCbGFua1BpcGUsIElzTm90TmlsT3JCbGFua1BpcGUsIFN0ckluY2x1ZGVzUGlwZSwgU3RyTGVuZ3RoUGlwZSwgVG9TdHJpbmdQaXBlfSBmcm9tICcuL3N0cmluZy5waXBlcyc7XG5pbXBvcnQge1RyYW5zbGF0YWJsZVBpcGUsIFRyYW5zbGF0ZUNvbnRleHRQaXBlfSBmcm9tICcuL3RyYW5zbGF0ZS1jb250ZXh0LnBpcGUnO1xuaW1wb3J0IHtQcm9wZXJ0eUdldFBpcGV9IGZyb20gJy4vcHJvcGVydGllcy5waXBlJztcbmltcG9ydCB7TmdJbml0RGlyZWN0aXZlfSBmcm9tICcuL25nLWluaXQucGlwZSc7XG5pbXBvcnQge0Zvcm1HZXRQaXBlLCBGb3JtRXJyb3JUcmFuc2xhdGVQaXBlLCBGb3JtR2V0Q29udHJvbFBpcGUsIEZvcm1HZXRBcnJheVBpcGUsIEZvcm1HZXRHcm91cFBpcGUsIEZvcm1HZXRWYWx1ZVBpcGV9IGZyb20gJy4vZm9ybS5waXBlcyc7XG5pbXBvcnQge0Zvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIElvbmljTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBQcm9wZXJ0eUdldFBpcGUsXG4gICAgRGF0ZUZvcm1hdFBpcGUsXG4gICAgRGF0ZURpZmZEdXJhdGlvblBpcGUsXG4gICAgRHVyYXRpb25QaXBlLFxuICAgIERhdGVGcm9tTm93UGlwZSxcbiAgICBMYXRMb25nRm9ybWF0UGlwZSxcbiAgICBMYXRpdHVkZUZvcm1hdFBpcGUsXG4gICAgTG9uZ2l0dWRlRm9ybWF0UGlwZSxcbiAgICBIaWdobGlnaHRQaXBlLFxuICAgIE51bWJlckZvcm1hdFBpcGUsXG4gICAgRmlsZVNpemVQaXBlLFxuICAgIE1hdGhBYnNQaXBlLFxuICAgIE9kZFBpcGUsXG4gICAgRXZlblBpcGUsXG4gICAgTm90RW1wdHlBcnJheVBpcGUsXG4gICAgRW1wdHlBcnJheVBpcGUsXG4gICAgQXJyYXlMZW5ndGhQaXBlLFxuICAgIEFycmF5Rmlyc3RQaXBlLFxuICAgIEFycmF5UGx1Y2tQaXBlLFxuICAgIEFycmF5SW5jbHVkZXNQaXBlLFxuICAgIEFycmF5RmlsdGVyUGlwZSxcbiAgICBNYXBHZXRQaXBlLFxuICAgIE1hcEtleXNQaXBlLFxuICAgIE1hcFZhbHVlc1BpcGUsXG4gICAgSXNOaWxPckJsYW5rUGlwZSxcbiAgICBJc05vdE5pbE9yQmxhbmtQaXBlLFxuICAgIFRvU3RyaW5nUGlwZSxcbiAgICBTdHJMZW5ndGhQaXBlLFxuICAgIFN0ckluY2x1ZGVzUGlwZSxcbiAgICBUcmFuc2xhdGVDb250ZXh0UGlwZSxcbiAgICBUcmFuc2xhdGFibGVQaXBlLFxuICAgIE5nSW5pdERpcmVjdGl2ZSxcbiAgICBGb3JtRXJyb3JUcmFuc2xhdGVQaXBlLFxuICAgIEZvcm1HZXRQaXBlLFxuICAgIEZvcm1HZXRDb250cm9sUGlwZSxcbiAgICBGb3JtR2V0QXJyYXlQaXBlLFxuICAgIEZvcm1HZXRHcm91cFBpcGUsXG4gICAgRm9ybUdldFZhbHVlUGlwZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUHJvcGVydHlHZXRQaXBlLFxuICAgIERhdGVGb3JtYXRQaXBlLFxuICAgIERhdGVGcm9tTm93UGlwZSxcbiAgICBEYXRlRGlmZkR1cmF0aW9uUGlwZSxcbiAgICBEdXJhdGlvblBpcGUsXG4gICAgTGF0TG9uZ0Zvcm1hdFBpcGUsXG4gICAgTGF0aXR1ZGVGb3JtYXRQaXBlLFxuICAgIExvbmdpdHVkZUZvcm1hdFBpcGUsXG4gICAgSGlnaGxpZ2h0UGlwZSxcbiAgICBOdW1iZXJGb3JtYXRQaXBlLFxuICAgIEZpbGVTaXplUGlwZSxcbiAgICBNYXRoQWJzUGlwZSxcbiAgICBPZGRQaXBlLFxuICAgIEV2ZW5QaXBlLFxuICAgIE5vdEVtcHR5QXJyYXlQaXBlLFxuICAgIEVtcHR5QXJyYXlQaXBlLFxuICAgIEFycmF5TGVuZ3RoUGlwZSxcbiAgICBBcnJheUZpcnN0UGlwZSxcbiAgICBBcnJheVBsdWNrUGlwZSxcbiAgICBNYXBHZXRQaXBlLFxuICAgIE1hcEtleXNQaXBlLFxuICAgIE1hcFZhbHVlc1BpcGUsXG4gICAgSXNOaWxPckJsYW5rUGlwZSxcbiAgICBJc05vdE5pbE9yQmxhbmtQaXBlLFxuICAgIFRvU3RyaW5nUGlwZSxcbiAgICBTdHJMZW5ndGhQaXBlLFxuICAgIFN0ckluY2x1ZGVzUGlwZSxcbiAgICBBcnJheUluY2x1ZGVzUGlwZSxcbiAgICBBcnJheUZpbHRlclBpcGUsXG4gICAgVHJhbnNsYXRlQ29udGV4dFBpcGUsXG4gICAgVHJhbnNsYXRhYmxlUGlwZSxcbiAgICBOZ0luaXREaXJlY3RpdmUsXG4gICAgRm9ybUVycm9yVHJhbnNsYXRlUGlwZSxcbiAgICBGb3JtR2V0UGlwZSxcbiAgICBGb3JtR2V0Q29udHJvbFBpcGUsXG4gICAgRm9ybUdldEFycmF5UGlwZSxcbiAgICBGb3JtR2V0R3JvdXBQaXBlLFxuICAgIEZvcm1HZXRWYWx1ZVBpcGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRQaXBlc01vZHVsZSB7XG5cbn1cbiJdfQ==
@@ -36,9 +36,10 @@ export const isMobile = (win) => {
36
36
  if (_cache.mobile === null || _cache.mobile === undefined) {
37
37
  _cache.mobile = isCordova(window)
38
38
  || isAndroid(win) || isIOS(window)
39
+ // Workaround, for MS Windows touch screen (detected as mobile, but forced as desktop)
39
40
  || (isTouchUi(win) && !isWindows(win));
40
41
  }
41
42
  return _cache.mobile;
42
43
  };
43
44
  export { ɵ0 };
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGxhdGZvcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztTQUVTO0FBRVQsTUFBTSxNQUFNLEdBQUc7SUFDYixNQUFNLEVBQUUsSUFBSTtJQUNaLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQVcsRUFBRSxDQUNoRSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUVoQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxHQUFXLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDekQsTUFBTSxTQUFTLEdBQVcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUssTUFBYyxDQUFDLEtBQUssQ0FBQztJQUNuRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBWSxFQUFFLEVBQUUsQ0FDeEMsYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVqQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFZLEVBQUUsRUFBRSxDQUN4QyxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFFMUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUM3QixtQkFBbUI7SUFDbkIsSUFBSSxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxVQUFVO0lBQ1YsSUFBSSxhQUFhLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0RCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7O0FBRUYsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FDbkMsYUFBYSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FDdkMsYUFBYSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFRLEVBQVcsRUFBRTtJQUM3QyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQzNELE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztLQUMzRTtJQUNELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUN0QyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO1FBQ3pELE1BQU0sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztlQUM1QixTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztlQUMvQixDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQzFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO0FBQ3ZCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLVxuICogU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaW9uaWMtdGVhbS9pb25pYy1mcmFtZXdvcmsvYmxvYi9iMGQ1M2NhNzM2MTk1ODU2NzFkOGNmNGRjMjRlNDdmODI2NDk1YTBhL2NvcmUvc3JjL3V0aWxzL3BsYXRmb3JtLnRzXG4gKiAtLS0gKi9cblxuY29uc3QgX2NhY2hlID0ge1xuICBtb2JpbGU6IG51bGwsXG4gIGNvcmRvdmE6IG51bGxcbn07XG5cbmV4cG9ydCBjb25zdCBtYXRjaE1lZGlhID0gKHdpbjogV2luZG93LCBxdWVyeTogc3RyaW5nKTogYm9vbGVhbiA9PlxuICB3aW4ubWF0Y2hNZWRpYShxdWVyeSkubWF0Y2hlcztcblxuZXhwb3J0IGNvbnN0IHRlc3RVc2VyQWdlbnQgPSAod2luOiBXaW5kb3csIGV4cHI6IFJlZ0V4cCkgPT4ge1xuICBjb25zdCB1c2VyQWdlbnQ6IHN0cmluZyA9IHdpbi5uYXZpZ2F0b3IudXNlckFnZW50IHx8IHdpbi5uYXZpZ2F0b3IudmVuZG9yIHx8ICh3aW5kb3cgYXMgYW55KS5vcGVyYTtcbiAgcmV0dXJuIGV4cHIudGVzdCh1c2VyQWdlbnQpO1xufVxuXG5leHBvcnQgY29uc3QgaXNXaW5kb3dzID0gKHdpbj86IFdpbmRvdykgPT5cbiAgdGVzdFVzZXJBZ2VudCh3aW4sIC93aW5kb3dzL2kpO1xuXG5leHBvcnQgY29uc3QgaXNUb3VjaFVpID0gKHdpbj86IFdpbmRvdykgPT5cbiAgbWF0Y2hNZWRpYSh3aW4sICcoYW55LXBvaW50ZXI6Y29hcnNlKScpO1xuXG5jb25zdCBpc0lwYWQgPSAod2luOiBXaW5kb3cpID0+IHtcbiAgLy8gaU9TIDEyIGFuZCBiZWxvd1xuICBpZiAodGVzdFVzZXJBZ2VudCh3aW4sIC9pUGFkL2kpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBpT1MgMTMrXG4gIGlmICh0ZXN0VXNlckFnZW50KHdpbiwgL01hY2ludG9zaC9pKSAmJiBpc1RvdWNoVWkod2luKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzSU9TID0gKHdpbjogV2luZG93KSA9PlxuICB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZXxpUG9kL2kpIHx8IGlzSXBhZCh3aW4pO1xuXG5leHBvcnQgY29uc3QgaXNBbmRyb2lkID0gKHdpbjogV2luZG93KSA9PlxuICB0ZXN0VXNlckFnZW50KHdpbiwgL2FuZHJvaWR8c2luay9pKTtcblxuZXhwb3J0IGNvbnN0IGlzQ29yZG92YSA9ICh3aW46IGFueSk6IGJvb2xlYW4gPT4ge1xuICBpZiAoX2NhY2hlLmNvcmRvdmEgPT09IG51bGwgfHwgX2NhY2hlLmNvcmRvdmEgPT09IHVuZGVmaW5lZCkge1xuICAgIF9jYWNoZS5jb3Jkb3ZhID0gISEod2luWydjb3Jkb3ZhJ10gfHwgd2luWydwaG9uZWdhcCddIHx8IHdpblsnUGhvbmVHYXAnXSk7XG4gIH1cbiAgcmV0dXJuIF9jYWNoZS5jb3Jkb3ZhO1xufVxuXG5leHBvcnQgY29uc3QgaXNNb2JpbGUgPSAod2luOiBXaW5kb3cpID0+IHtcbiAgaWYgKF9jYWNoZS5tb2JpbGUgPT09IG51bGwgfHwgX2NhY2hlLm1vYmlsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgX2NhY2hlLm1vYmlsZSA9IGlzQ29yZG92YSh3aW5kb3cpXG4gICAgICB8fCBpc0FuZHJvaWQod2luKSB8fCBpc0lPUyh3aW5kb3cpXG4gICAgICB8fCAoaXNUb3VjaFVpKHdpbikgJiYgIWlzV2luZG93cyh3aW4pKTtcbiAgfVxuICByZXR1cm4gX2NhY2hlLm1vYmlsZTtcbn1cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvcGxhdGZvcm1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztTQUVTO0FBRVQsTUFBTSxNQUFNLEdBQUc7SUFDYixNQUFNLEVBQUUsSUFBSTtJQUNaLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQVcsRUFBRSxDQUNoRSxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUVoQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxHQUFXLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDekQsTUFBTSxTQUFTLEdBQVcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUssTUFBYyxDQUFDLEtBQUssQ0FBQztJQUNuRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBWSxFQUFFLEVBQUUsQ0FDeEMsYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVqQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFZLEVBQUUsRUFBRSxDQUN4QyxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFFMUMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUM3QixtQkFBbUI7SUFDbkIsSUFBSSxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxFQUFFO1FBQy9CLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxVQUFVO0lBQ1YsSUFBSSxhQUFhLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN0RCxPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7O0FBRUYsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FDbkMsYUFBYSxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFcEQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FDdkMsYUFBYSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUV0QyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFRLEVBQVcsRUFBRTtJQUM3QyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQzNELE1BQU0sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztLQUMzRTtJQUNELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUN4QixDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUN0QyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO1FBQ3pELE1BQU0sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztlQUM1QixTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNsQyxzRkFBc0Y7ZUFDbkYsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztLQUMxQztJQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUN2QixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLS1cbiAqIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2lvbmljLXRlYW0vaW9uaWMtZnJhbWV3b3JrL2Jsb2IvYjBkNTNjYTczNjE5NTg1NjcxZDhjZjRkYzI0ZTQ3ZjgyNjQ5NWEwYS9jb3JlL3NyYy91dGlscy9wbGF0Zm9ybS50c1xuICogLS0tICovXG5cbmNvbnN0IF9jYWNoZSA9IHtcbiAgbW9iaWxlOiBudWxsLFxuICBjb3Jkb3ZhOiBudWxsXG59O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hNZWRpYSA9ICh3aW46IFdpbmRvdywgcXVlcnk6IHN0cmluZyk6IGJvb2xlYW4gPT5cbiAgd2luLm1hdGNoTWVkaWEocXVlcnkpLm1hdGNoZXM7XG5cbmV4cG9ydCBjb25zdCB0ZXN0VXNlckFnZW50ID0gKHdpbjogV2luZG93LCBleHByOiBSZWdFeHApID0+IHtcbiAgY29uc3QgdXNlckFnZW50OiBzdHJpbmcgPSB3aW4ubmF2aWdhdG9yLnVzZXJBZ2VudCB8fCB3aW4ubmF2aWdhdG9yLnZlbmRvciB8fCAod2luZG93IGFzIGFueSkub3BlcmE7XG4gIHJldHVybiBleHByLnRlc3QodXNlckFnZW50KTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzV2luZG93cyA9ICh3aW4/OiBXaW5kb3cpID0+XG4gIHRlc3RVc2VyQWdlbnQod2luLCAvd2luZG93cy9pKTtcblxuZXhwb3J0IGNvbnN0IGlzVG91Y2hVaSA9ICh3aW4/OiBXaW5kb3cpID0+XG4gIG1hdGNoTWVkaWEod2luLCAnKGFueS1wb2ludGVyOmNvYXJzZSknKTtcblxuY29uc3QgaXNJcGFkID0gKHdpbjogV2luZG93KSA9PiB7XG4gIC8vIGlPUyAxMiBhbmQgYmVsb3dcbiAgaWYgKHRlc3RVc2VyQWdlbnQod2luLCAvaVBhZC9pKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gaU9TIDEzK1xuICBpZiAodGVzdFVzZXJBZ2VudCh3aW4sIC9NYWNpbnRvc2gvaSkgJiYgaXNUb3VjaFVpKHdpbikpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0lPUyA9ICh3aW46IFdpbmRvdykgPT5cbiAgdGVzdFVzZXJBZ2VudCh3aW4sIC9pUGhvbmV8aVBvZC9pKSB8fCBpc0lwYWQod2luKTtcblxuZXhwb3J0IGNvbnN0IGlzQW5kcm9pZCA9ICh3aW46IFdpbmRvdykgPT5cbiAgdGVzdFVzZXJBZ2VudCh3aW4sIC9hbmRyb2lkfHNpbmsvaSk7XG5cbmV4cG9ydCBjb25zdCBpc0NvcmRvdmEgPSAod2luOiBhbnkpOiBib29sZWFuID0+IHtcbiAgaWYgKF9jYWNoZS5jb3Jkb3ZhID09PSBudWxsIHx8IF9jYWNoZS5jb3Jkb3ZhID09PSB1bmRlZmluZWQpIHtcbiAgICBfY2FjaGUuY29yZG92YSA9ICEhKHdpblsnY29yZG92YSddIHx8IHdpblsncGhvbmVnYXAnXSB8fCB3aW5bJ1Bob25lR2FwJ10pO1xuICB9XG4gIHJldHVybiBfY2FjaGUuY29yZG92YTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzTW9iaWxlID0gKHdpbjogV2luZG93KSA9PiB7XG4gIGlmIChfY2FjaGUubW9iaWxlID09PSBudWxsIHx8IF9jYWNoZS5tb2JpbGUgPT09IHVuZGVmaW5lZCkge1xuICAgIF9jYWNoZS5tb2JpbGUgPSBpc0NvcmRvdmEod2luZG93KVxuICAgICAgfHwgaXNBbmRyb2lkKHdpbikgfHwgaXNJT1Mod2luZG93KVxuICAgICAgLy8gV29ya2Fyb3VuZCwgZm9yIE1TIFdpbmRvd3MgdG91Y2ggc2NyZWVuIChkZXRlY3RlZCBhcyBtb2JpbGUsIGJ1dCBmb3JjZWQgYXMgZGVza3RvcClcbiAgICAgIHx8IChpc1RvdWNoVWkod2luKSAmJiAhaXNXaW5kb3dzKHdpbikpO1xuICB9XG4gIHJldHVybiBfY2FjaGUubW9iaWxlO1xufVxuIl19
@@ -21,6 +21,7 @@ export class JobUtils {
21
21
  return progression;
22
22
  }
23
23
  static fetchAllPages(loadPageFn, opts) {
24
+ var _a, _b;
24
25
  return __awaiter(this, void 0, void 0, function* () {
25
26
  const maxProgression = toNumber(opts === null || opts === void 0 ? void 0 : opts.maxProgression, 100);
26
27
  const progression = opts === null || opts === void 0 ? void 0 : opts.progression;
@@ -53,7 +54,7 @@ export class JobUtils {
53
54
  progressionStep = maxProgression / pageCount;
54
55
  // DEBUG
55
56
  if (opts && opts.logPrefix)
56
- console.debug(`${opts.logPrefix} {pageCount: ${pageCount}, progression: ${progression.value}, pageProgressionStep: ${progressionStep}}`);
57
+ console.debug(`${opts.logPrefix} {pageCount: ${pageCount}, progress: ${(_a = progression.value) === null || _a === void 0 ? void 0 : _a.toFixed(2)}, pageProgressStep: ${progressionStep === null || progressionStep === void 0 ? void 0 : progressionStep.toFixed(1)}}`);
57
58
  }
58
59
  }
59
60
  // Increment progression on each iteration (if possible)
@@ -80,7 +81,7 @@ export class JobUtils {
80
81
  }
81
82
  // DEBUG
82
83
  if (opts && opts.logPrefix)
83
- console.debug(`${opts.logPrefix} All pages fetched - {progression: ${progression.value}, lastProgressionStep: ${progressionStep}`);
84
+ console.debug(`${opts.logPrefix} All pages fetched - {progress: ${(_b = progression.value) === null || _b === void 0 ? void 0 : _b.toFixed(2)}, lastProgressStep: ${progressionStep === null || progressionStep === void 0 ? void 0 : progressionStep.toFixed(1)}`);
84
85
  // Final increment
85
86
  if (progression && progressionStep > 0) {
86
87
  progression.next(progression.value + progressionStep);
@@ -92,4 +93,4 @@ export class JobUtils {
92
93
  });
93
94
  }
94
95
  }
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMvam9iLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFVekQsV0FBVztBQUNYLE1BQU0sT0FBTyxRQUFRO0lBRW5CLE1BQU0sQ0FBQyxNQUFNLENBQTJDLFlBQTRDLEVBQUUsSUFBUTtRQUM1RyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUEyQyxRQUFzQyxFQUFFLElBQVE7UUFDckcsT0FBTyxLQUFLLENBQXFCLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQTJDLFFBQXNDLEVBQUUsSUFBTztRQUVsRyxNQUFNLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNuRCxRQUFRLGlDQUFLLElBQUksS0FBRSxXQUFXLElBQUU7YUFDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGNBQWM7Z0JBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDaEUsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxHQUFH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aW9yU3ViamVjdCwgZGVmZXIsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzTmlsLCBpc05vdE5pbCwgdG9OdW1iZXIgfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgTG9hZFJlc3VsdCwgTG9hZFJlc3VsdEJ5UGFnZUZuIH0gZnJvbSAnLi9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5cbmV4cG9ydCB0eXBlIENhbGxhYmxlV2l0aFByb2dyZXNzaW9uRm48TyBleHRlbmRzIENhbGxhYmxlV2l0aFByb2dyZXNzaW9uT3B0aW9ucz4gPSAob3B0cz86IE8pID0+IFByb21pc2U8YW55PjtcbmV4cG9ydCBpbnRlcmZhY2UgQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25PcHRpb25zIHtcbiAgbWF4UHJvZ3Jlc3Npb24/OiBudW1iZXI7XG4gIHByb2dyZXNzaW9uPzogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBKb2JVdGlscyB7XG5cbiAgc3RhdGljIGRlZmVyczxPIGV4dGVuZHMgQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25PcHRpb25zPihydW5uYWJsZUxpc3Q6IENhbGxhYmxlV2l0aFByb2dyZXNzaW9uRm48Tz5bXSwgb3B0cz86IE8pOiBPYnNlcnZhYmxlPG51bWJlcj5bXSB7XG4gICAgcmV0dXJuIHJ1bm5hYmxlTGlzdC5tYXAocnVubmFibGUgPT4gSm9iVXRpbHMuZGVmZXIocnVubmFibGUsIG9wdHMpKTtcbiAgfVxuXG4gIHN0YXRpYyBkZWZlcjxPIGV4dGVuZHMgQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25PcHRpb25zPihydW5uYWJsZTogQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25GbjxPPiwgb3B0cz86IE8pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiBkZWZlcjxPYnNlcnZhYmxlPG51bWJlcj4+KCgpID0+IEpvYlV0aWxzLnJ1bihydW5uYWJsZSwgb3B0cykpO1xuICB9XG5cbiAgc3RhdGljIHJ1bjxPIGV4dGVuZHMgQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25PcHRpb25zPihydW5uYWJsZTogQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25GbjxPPiwgb3B0czogTyk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG5cbiAgICBjb25zdCBwcm9ncmVzc2lvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBydW5uYWJsZSh7Li4ub3B0cywgcHJvZ3Jlc3Npb259KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBpZiAob3B0cz8ubWF4UHJvZ3Jlc3Npb24pIHByb2dyZXNzaW9uLm5leHQob3B0cy5tYXhQcm9ncmVzc2lvbik7XG4gICAgICAgIHByb2dyZXNzaW9uLmNvbXBsZXRlKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVyciA9PiBwcm9ncmVzc2lvbi5lcnJvcihlcnIpKTtcbiAgICByZXR1cm4gcHJvZ3Jlc3Npb247XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgZmV0Y2hBbGxQYWdlczxUPihcbiAgICBsb2FkUGFnZUZuOiBMb2FkUmVzdWx0QnlQYWdlRm48VD4sXG4gICAgb3B0cz86IHtcbiAgICAgIHByb2dyZXNzaW9uPzogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG4gICAgICBtYXhQcm9ncmVzc2lvbj86IG51bWJlcjtcbiAgICAgIG9uUGFnZUxvYWRlZD86IChwYWdlUmVzdWx0OiBMb2FkUmVzdWx0PFQ+KSA9PiBhbnk7XG4gICAgICBsb2dQcmVmaXg/OiBzdHJpbmc7XG4gICAgICBmZXRjaFNpemU/OiBudW1iZXI7XG4gICAgfSk6IFByb21pc2U8TG9hZFJlc3VsdDxUPj4ge1xuXG4gICAgY29uc3QgbWF4UHJvZ3Jlc3Npb24gPSB0b051bWJlcihvcHRzPy5tYXhQcm9ncmVzc2lvbiwgMTAwKTtcbiAgICBjb25zdCBwcm9ncmVzc2lvbiA9IG9wdHM/LnByb2dyZXNzaW9uO1xuICAgIGxldCB0b3RhbDsgbGV0IHBhZ2VDb3VudDsgbGV0IHByb2dyZXNzaW9uU3RlcDsgbGV0IGN1cnJlbnRQYWdlRGF0YUNvdW50OiBudW1iZXI7XG4gICAgY29uc3QgZmV0Y2hTaXplID0gdG9OdW1iZXIob3B0cz8uZmV0Y2hTaXplLCAxMDAwKTtcbiAgICBpZiAoZmV0Y2hTaXplIDw9IDApIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZldGNoIHBhZ2VzOiBpbnZhbGlkIGZldGNoU2l6ZTogJyArIGZldGNoU2l6ZSk7XG4gICAgbGV0IG9mZnNldCA9IDA7XG4gICAgbGV0IGRhdGE6IFRbXSA9IFtdO1xuICAgIGRvIHtcblxuICAgICAgaWYgKG9wdHMgJiYgb3B0cy5sb2dQcmVmaXgpIGNvbnNvbGUuZGVidWcoYCR7b3B0cy5sb2dQcmVmaXh9IEZldGNoaW5nIHBhZ2UgIyR7b2Zmc2V0IC8gZmV0Y2hTaXplfS4uLmApO1xuXG4gICAgICAvLyBGZXRjaCBhIHBhZ2VcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGxvYWRQYWdlRm4ob2Zmc2V0LCBmZXRjaFNpemUpO1xuXG4gICAgICAvLyBDb25jYXQgdG8gcHJldmlvdXMgcmVzdWx0XG4gICAgICBkYXRhID0gZGF0YS5jb25jYXQocmVzLmRhdGEpO1xuXG4gICAgICAvLyBDb21wdXRlIHZhcmlhYmxlcywgZm9yIG5leHQgbG9vcFxuICAgICAgY3VycmVudFBhZ2VEYXRhQ291bnQgPSByZXMuZGF0YSAmJiByZXMuZGF0YS5sZW5ndGggfHwgMDtcbiAgICAgIG9mZnNldCArPSBjdXJyZW50UGFnZURhdGFDb3VudDtcblxuICAgICAgLy8gU2V0IHRvdGFsIGNvdW50IChvbmx5IG9uY2UpXG4gICAgICBpZiAoaXNOaWwodG90YWwpICYmIGlzTm90TmlsKHJlcy50b3RhbCkpIHtcbiAgICAgICAgdG90YWwgPSByZXMudG90YWw7XG4gICAgICAgIC8vIENvbXB1dGUgdGhlIG51bWJlciBvZiBwYWdlXG4gICAgICAgIHBhZ2VDb3VudCA9IE1hdGgucm91bmQocmVzLnRvdGFsIC8gZmV0Y2hTaXplICsgMC41KTsgLy8gUm91bmQgdG8gSEFMRl9VUCBpbnRlZ2VyXG4gICAgICAgIC8vIENvbXB1dGUgc3RlcCwgYnkgZGl2aWRpbmcgbWF4UHJvZ3Jlc3Npb24gYnkgbnVtYmVyIG9mIHBhZ2VcbiAgICAgICAgaWYgKHByb2dyZXNzaW9uKSB7XG4gICAgICAgICAgcHJvZ3Jlc3Npb25TdGVwID0gbWF4UHJvZ3Jlc3Npb24gLyBwYWdlQ291bnQ7XG4gICAgICAgICAgLy8gREVCVUdcbiAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLmxvZ1ByZWZpeCkgY29uc29sZS5kZWJ1ZyhgJHtvcHRzLmxvZ1ByZWZpeH0ge3BhZ2VDb3VudDogJHtwYWdlQ291bnR9LCBwcm9ncmVzc2lvbjogJHtwcm9ncmVzc2lvbi52YWx1ZX0sIHBhZ2VQcm9ncmVzc2lvblN0ZXA6ICR7cHJvZ3Jlc3Npb25TdGVwfX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJbmNyZW1lbnQgcHJvZ3Jlc3Npb24gb24gZWFjaCBpdGVyYXRpb24gKGlmIHBvc3NpYmxlKVxuICAgICAgaWYgKGlzTm90TmlsKHByb2dyZXNzaW9uU3RlcCkpIHtcbiAgICAgICAgcHJvZ3Jlc3Npb24ubmV4dChwcm9ncmVzc2lvbi52YWx1ZSArIHByb2dyZXNzaW9uU3RlcCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRzPy5vblBhZ2VMb2FkZWQpIG9wdHMub25QYWdlTG9hZGVkKHJlcyk7XG5cbiAgICB9IHdoaWxlIChjdXJyZW50UGFnZURhdGFDb3VudCA+IDAgJiYgKChpc05pbCh0b3RhbCkgJiYgY3VycmVudFBhZ2VEYXRhQ291bnQgPT09IGZldGNoU2l6ZSkgfHwgKGlzTm90TmlsKHRvdGFsKSAmJiAob2Zmc2V0IDwgdG90YWwpKSkpO1xuXG4gICAgLy8gQ29tcGxldGUgcHJvZ3Jlc3Npb24gdG8gcmVhY2ggcHJvZ3Jlc3Npb25TdGVwIHZhbHVlIChiZWNhdXNlIG9mIHJvdW5kKVxuICAgIGlmIChpc05vdE5pbChwcm9ncmVzc2lvblN0ZXApKSB7XG5cbiAgICAgIC8vIElmIHRvdGFsIHJldHVybiBieSBsb2FkQWxsIHdhcyBiYWQgIVxuICAgICAgaWYgKGlzTm90TmlsKHRvdGFsKSAmJiBkYXRhLmxlbmd0aCA8IHRvdGFsKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgQSBmdW5jdGlvbiBsb2FkQWxsKCkgcmV0dXJuZWQgYSBiYWQgdG90YWwgKGxlc3MgdGhhbiBhbGwgcGFnZSdzIGRhdGEpISBFeHBlY3RlZCAke3RvdGFsfSBidXQgZmV0Y2ggJHtkYXRhLmxlbmd0aH1gKTtcbiAgICAgICAgdG90YWwgPSBkYXRhLmxlbmd0aDtcbiAgICAgICAgcGFnZUNvdW50ID0gTWF0aC5yb3VuZChkYXRhLmxlbmd0aCAvIGZldGNoU2l6ZSArIDAuNSk7XG4gICAgICB9XG5cbiAgICAgIC8vIENvbXB1dGUgZmluYWwgaW5jcmVtZW50LCB1c2luZyB0aGUgcmVhbCBwYWdlIGNvdW50XG4gICAgICBwcm9ncmVzc2lvblN0ZXAgPSBNYXRoLm1heCgwLCBtYXhQcm9ncmVzc2lvbiAtIChwcm9ncmVzc2lvblN0ZXAgKiBwYWdlQ291bnQpKTtcblxuICAgIH1cblxuICAgIC8vIE9yIGluY3JlbWVudCBvbmNlIChlLmcuIHdoZW4gdG90YWwgaXMgbm90IGtub3duLCBpbiByZWNlaXZlZCBMb2FkUmVzdWx0KVxuICAgIGVsc2UgaWYgKHByb2dyZXNzaW9uKSB7XG4gICAgICBwcm9ncmVzc2lvblN0ZXAgPSBtYXhQcm9ncmVzc2lvbjtcbiAgICB9XG5cbiAgICAvLyBERUJVR1xuICAgIGlmIChvcHRzICYmIG9wdHMubG9nUHJlZml4KSBjb25zb2xlLmRlYnVnKGAke29wdHMubG9nUHJlZml4fSBBbGwgcGFnZXMgZmV0Y2hlZCAtIHtwcm9ncmVzc2lvbjogJHtwcm9ncmVzc2lvbi52YWx1ZX0sIGxhc3RQcm9ncmVzc2lvblN0ZXA6ICR7cHJvZ3Jlc3Npb25TdGVwfWApO1xuXG4gICAgLy8gRmluYWwgaW5jcmVtZW50XG4gICAgaWYgKHByb2dyZXNzaW9uICYmIHByb2dyZXNzaW9uU3RlcCA+IDApIHtcbiAgICAgIHByb2dyZXNzaW9uLm5leHQocHJvZ3Jlc3Npb24udmFsdWUgKyBwcm9ncmVzc2lvblN0ZXApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhLFxuICAgICAgdG90YWxcbiAgICB9O1xuICB9XG59XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9zaGFyZWQvc2VydmljZXMvam9iLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFVekQsV0FBVztBQUNYLE1BQU0sT0FBTyxRQUFRO0lBRW5CLE1BQU0sQ0FBQyxNQUFNLENBQTJDLFlBQTRDLEVBQUUsSUFBUTtRQUM1RyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUEyQyxRQUFzQyxFQUFFLElBQVE7UUFDckcsT0FBTyxLQUFLLENBQXFCLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQTJDLFFBQXNDLEVBQUUsSUFBTztRQUVsRyxNQUFNLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUNuRCxRQUFRLGlDQUFLLElBQUksS0FBRSxXQUFXLElBQUU7YUFDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNULElBQUksSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGNBQWM7Z0JBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDaEUsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxHQUFH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LENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLENBQUM7YUFDdkQ7WUFFRCxPQUFPO2dCQUNMLElBQUk7Z0JBQ0osS0FBSzthQUNOLENBQUM7O0tBQ0g7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGVmZXIsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzTmlsLCBpc05vdE5pbCwgdG9OdW1iZXIgfSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgTG9hZFJlc3VsdCwgTG9hZFJlc3VsdEJ5UGFnZUZuIH0gZnJvbSAnLi9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5cbmV4cG9ydCB0eXBlIENhbGxhYmxlV2l0aFByb2dyZXNzaW9uRm48TyBleHRlbmRzIENhbGxhYmxlV2l0aFByb2dyZXNzaW9uT3B0aW9ucz4gPSAob3B0cz86IE8pID0+IFByb21pc2U8YW55PjtcbmV4cG9ydCBpbnRlcmZhY2UgQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25PcHRpb25zIHtcbiAgbWF4UHJvZ3Jlc3Npb24/OiBudW1iZXI7XG4gIHByb2dyZXNzaW9uPzogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBKb2JVdGlscyB7XG5cbiAgc3RhdGljIGRlZmVyczxPIGV4dGVuZHMgQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25PcHRpb25zPihydW5uYWJsZUxpc3Q6IENhbGxhYmxlV2l0aFByb2dyZXNzaW9uRm48Tz5bXSwgb3B0cz86IE8pOiBPYnNlcnZhYmxlPG51bWJlcj5bXSB7XG4gICAgcmV0dXJuIHJ1bm5hYmxlTGlzdC5tYXAocnVubmFibGUgPT4gSm9iVXRpbHMuZGVmZXIocnVubmFibGUsIG9wdHMpKTtcbiAgfVxuXG4gIHN0YXRpYyBkZWZlcjxPIGV4dGVuZHMgQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25PcHRpb25zPihydW5uYWJsZTogQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25GbjxPPiwgb3B0cz86IE8pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiBkZWZlcjxPYnNlcnZhYmxlPG51bWJlcj4+KCgpID0+IEpvYlV0aWxzLnJ1bihydW5uYWJsZSwgb3B0cykpO1xuICB9XG5cbiAgc3RhdGljIHJ1bjxPIGV4dGVuZHMgQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25PcHRpb25zPihydW5uYWJsZTogQ2FsbGFibGVXaXRoUHJvZ3Jlc3Npb25GbjxPPiwgb3B0czogTyk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG5cbiAgICBjb25zdCBwcm9ncmVzc2lvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBydW5uYWJsZSh7Li4ub3B0cywgcHJvZ3Jlc3Npb259KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBpZiAob3B0cz8ubWF4UHJvZ3Jlc3Npb24pIHByb2dyZXNzaW9uLm5leHQob3B0cy5tYXhQcm9ncmVzc2lvbik7XG4gICAgICAgIHByb2dyZXNzaW9uLmNvbXBsZXRlKCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVyciA9PiBwcm9ncmVzc2lvbi5lcnJvcihlcnIpKTtcbiAgICByZXR1cm4gcHJvZ3Jlc3Npb247XG4gIH1cblxuICBzdGF0aWMgYXN5bmMgZmV0Y2hBbGxQYWdlczxUPihcbiAgICBsb2FkUGFnZUZuOiBMb2FkUmVzdWx0QnlQYWdlRm48VD4sXG4gICAgb3B0cz86IHtcbiAgICAgIHByb2dyZXNzaW9uPzogQmVoYXZpb3JTdWJqZWN0PG51bWJlcj47XG4gICAgICBtYXhQcm9ncmVzc2lvbj86IG51bWJlcjtcbiAgICAgIG9uUGFnZUxvYWRlZD86IChwYWdlUmVzdWx0OiBMb2FkUmVzdWx0PFQ+KSA9PiBhbnk7XG4gICAgICBsb2dQcmVmaXg/OiBzdHJpbmc7XG4gICAgICBmZXRjaFNpemU/OiBudW1iZXI7XG4gICAgfSk6IFByb21pc2U8TG9hZFJlc3VsdDxUPj4ge1xuXG4gICAgY29uc3QgbWF4UHJvZ3Jlc3Npb24gPSB0b051bWJlcihvcHRzPy5tYXhQcm9ncmVzc2lvbiwgMTAwKTtcbiAgICBjb25zdCBwcm9ncmVzc2lvbiA9IG9wdHM/LnByb2dyZXNzaW9uO1xuICAgIGxldCB0b3RhbDsgbGV0IHBhZ2VDb3VudDsgbGV0IHByb2dyZXNzaW9uU3RlcDsgbGV0IGN1cnJlbnRQYWdlRGF0YUNvdW50OiBudW1iZXI7XG4gICAgY29uc3QgZmV0Y2hTaXplID0gdG9OdW1iZXIob3B0cz8uZmV0Y2hTaXplLCAxMDAwKTtcbiAgICBpZiAoZmV0Y2hTaXplIDw9IDApIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGZldGNoIHBhZ2VzOiBpbnZhbGlkIGZldGNoU2l6ZTogJyArIGZldGNoU2l6ZSk7XG4gICAgbGV0IG9mZnNldCA9IDA7XG4gICAgbGV0IGRhdGE6IFRbXSA9IFtdO1xuICAgIGRvIHtcblxuICAgICAgaWYgKG9wdHMgJiYgb3B0cy5sb2dQcmVmaXgpIGNvbnNvbGUuZGVidWcoYCR7b3B0cy5sb2dQcmVmaXh9IEZldGNoaW5nIHBhZ2UgIyR7b2Zmc2V0IC8gZmV0Y2hTaXplfS4uLmApO1xuXG4gICAgICAvLyBGZXRjaCBhIHBhZ2VcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGxvYWRQYWdlRm4ob2Zmc2V0LCBmZXRjaFNpemUpO1xuXG4gICAgICAvLyBDb25jYXQgdG8gcHJldmlvdXMgcmVzdWx0XG4gICAgICBkYXRhID0gZGF0YS5jb25jYXQocmVzLmRhdGEpO1xuXG4gICAgICAvLyBDb21wdXRlIHZhcmlhYmxlcywgZm9yIG5leHQgbG9vcFxuICAgICAgY3VycmVudFBhZ2VEYXRhQ291bnQgPSByZXMuZGF0YSAmJiByZXMuZGF0YS5sZW5ndGggfHwgMDtcbiAgICAgIG9mZnNldCArPSBjdXJyZW50UGFnZURhdGFDb3VudDtcblxuICAgICAgLy8gU2V0IHRvdGFsIGNvdW50IChvbmx5IG9uY2UpXG4gICAgICBpZiAoaXNOaWwodG90YWwpICYmIGlzTm90TmlsKHJlcy50b3RhbCkpIHtcbiAgICAgICAgdG90YWwgPSByZXMudG90YWw7XG4gICAgICAgIC8vIENvbXB1dGUgdGhlIG51bWJlciBvZiBwYWdlXG4gICAgICAgIHBhZ2VDb3VudCA9IE1hdGgucm91bmQocmVzLnRvdGFsIC8gZmV0Y2hTaXplICsgMC41KTsgLy8gUm91bmQgdG8gSEFMRl9VUCBpbnRlZ2VyXG4gICAgICAgIC8vIENvbXB1dGUgc3RlcCwgYnkgZGl2aWRpbmcgbWF4UHJvZ3Jlc3Npb24gYnkgbnVtYmVyIG9mIHBhZ2VcbiAgICAgICAgaWYgKHByb2dyZXNzaW9uKSB7XG4gICAgICAgICAgcHJvZ3Jlc3Npb25TdGVwID0gbWF4UHJvZ3Jlc3Npb24gLyBwYWdlQ291bnQ7XG4gICAgICAgICAgLy8gREVCVUdcbiAgICAgICAgICBpZiAob3B0cyAmJiBvcHRzLmxvZ1ByZWZpeCkgY29uc29sZS5kZWJ1ZyhgJHtvcHRzLmxvZ1ByZWZpeH0ge3BhZ2VDb3VudDogJHtwYWdlQ291bnR9LCBwcm9ncmVzczogJHtwcm9ncmVzc2lvbi52YWx1ZT8udG9GaXhlZCgyKX0sIHBhZ2VQcm9ncmVzc1N0ZXA6ICR7cHJvZ3Jlc3Npb25TdGVwPy50b0ZpeGVkKDEpfX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJbmNyZW1lbnQgcHJvZ3Jlc3Npb24gb24gZWFjaCBpdGVyYXRpb24gKGlmIHBvc3NpYmxlKVxuICAgICAgaWYgKGlzTm90TmlsKHByb2dyZXNzaW9uU3RlcCkpIHtcbiAgICAgICAgcHJvZ3Jlc3Npb24ubmV4dChwcm9ncmVzc2lvbi52YWx1ZSArIHByb2dyZXNzaW9uU3RlcCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRzPy5vblBhZ2VMb2FkZWQpIG9wdHMub25QYWdlTG9hZGVkKHJlcyk7XG5cbiAgICB9IHdoaWxlIChjdXJyZW50UGFnZURhdGFDb3VudCA+IDAgJiYgKChpc05pbCh0b3RhbCkgJiYgY3VycmVudFBhZ2VEYXRhQ291bnQgPT09IGZldGNoU2l6ZSkgfHwgKGlzTm90TmlsKHRvdGFsKSAmJiAob2Zmc2V0IDwgdG90YWwpKSkpO1xuXG4gICAgLy8gQ29tcGxldGUgcHJvZ3Jlc3Npb24gdG8gcmVhY2ggcHJvZ3Jlc3Npb25TdGVwIHZhbHVlIChiZWNhdXNlIG9mIHJvdW5kKVxuICAgIGlmIChpc05vdE5pbChwcm9ncmVzc2lvblN0ZXApKSB7XG5cbiAgICAgIC8vIElmIHRvdGFsIHJldHVybiBieSBsb2FkQWxsIHdhcyBiYWQgIVxuICAgICAgaWYgKGlzTm90TmlsKHRvdGFsKSAmJiBkYXRhLmxlbmd0aCA8IHRvdGFsKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgQSBmdW5jdGlvbiBsb2FkQWxsKCkgcmV0dXJuZWQgYSBiYWQgdG90YWwgKGxlc3MgdGhhbiBhbGwgcGFnZSdzIGRhdGEpISBFeHBlY3RlZCAke3RvdGFsfSBidXQgZmV0Y2ggJHtkYXRhLmxlbmd0aH1gKTtcbiAgICAgICAgdG90YWwgPSBkYXRhLmxlbmd0aDtcbiAgICAgICAgcGFnZUNvdW50ID0gTWF0aC5yb3VuZChkYXRhLmxlbmd0aCAvIGZldGNoU2l6ZSArIDAuNSk7XG4gICAgICB9XG5cbiAgICAgIC8vIENvbXB1dGUgZmluYWwgaW5jcmVtZW50LCB1c2luZyB0aGUgcmVhbCBwYWdlIGNvdW50XG4gICAgICBwcm9ncmVzc2lvblN0ZXAgPSBNYXRoLm1heCgwLCBtYXhQcm9ncmVzc2lvbiAtIChwcm9ncmVzc2lvblN0ZXAgKiBwYWdlQ291bnQpKTtcblxuICAgIH1cblxuICAgIC8vIE9yIGluY3JlbWVudCBvbmNlIChlLmcuIHdoZW4gdG90YWwgaXMgbm90IGtub3duLCBpbiByZWNlaXZlZCBMb2FkUmVzdWx0KVxuICAgIGVsc2UgaWYgKHByb2dyZXNzaW9uKSB7XG4gICAgICBwcm9ncmVzc2lvblN0ZXAgPSBtYXhQcm9ncmVzc2lvbjtcbiAgICB9XG5cbiAgICAvLyBERUJVR1xuICAgIGlmIChvcHRzICYmIG9wdHMubG9nUHJlZml4KSBjb25zb2xlLmRlYnVnKGAke29wdHMubG9nUHJlZml4fSBBbGwgcGFnZXMgZmV0Y2hlZCAtIHtwcm9ncmVzczogJHtwcm9ncmVzc2lvbi52YWx1ZT8udG9GaXhlZCgyKX0sIGxhc3RQcm9ncmVzc1N0ZXA6ICR7cHJvZ3Jlc3Npb25TdGVwPy50b0ZpeGVkKDEpfWApO1xuXG4gICAgLy8gRmluYWwgaW5jcmVtZW50XG4gICAgaWYgKHByb2dyZXNzaW9uICYmIHByb2dyZXNzaW9uU3RlcCA+IDApIHtcbiAgICAgIHByb2dyZXNzaW9uLm5leHQocHJvZ3Jlc3Npb24udmFsdWUgKyBwcm9ncmVzc2lvblN0ZXApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhLFxuICAgICAgdG90YWxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, Optional, Output, ViewChild } from '@angular/core';
3
3
  import { ProgressBarService } from '../services/progress-bar.service';
4
- import { Router } from '@angular/router';
4
+ import { ActivatedRoute, Router } from '@angular/router';
5
5
  import { IonRouterOutlet } from '@ionic/angular';
6
6
  import { isNotNil, isNotNilOrBlank, toBoolean } from '../functions';
7
7
  import { debounceTime, distinctUntilChanged, startWith, tap } from 'rxjs/operators';
@@ -9,7 +9,8 @@ import { HAMMER_PRESS_TIME } from '../gesture/gesture-config';
9
9
  export class ToolbarToken {
10
10
  }
11
11
  export class ToolbarComponent {
12
- constructor(router, routerOutlet, cd, progressBarService) {
12
+ constructor(route, router, routerOutlet, cd, progressBarService) {
13
+ this.route = route;
13
14
  this.router = router;
14
15
  this.routerOutlet = routerOutlet;
15
16
  this.cd = cd;
@@ -95,15 +96,28 @@ export class ToolbarComponent {
95
96
  return __awaiter(this, void 0, void 0, function* () {
96
97
  console.debug('[toolbar] calling goBack()');
97
98
  if (this._backHref) {
98
- yield this.router.navigateByUrl(this._backHref);
99
+ const replaceUrl = !this.routerOutlet.canGoBack();
100
+ // Relative href
101
+ if (this._backHref.startsWith('.')) {
102
+ yield this.router.navigate([this._backHref], { relativeTo: this.route, replaceUrl });
103
+ }
104
+ else {
105
+ yield this.router.navigateByUrl(this._backHref, { replaceUrl });
106
+ }
99
107
  }
100
108
  else if (this.routerOutlet.canGoBack()) {
101
109
  yield this.routerOutlet.pop();
102
110
  }
103
111
  else if (this._defaultBackHref) {
104
- yield this.router.navigateByUrl(this._defaultBackHref, {
105
- replaceUrl: true
106
- });
112
+ // Relative href
113
+ if (this._defaultBackHref.startsWith('.')) {
114
+ yield this.router.navigate([this._defaultBackHref], { relativeTo: this.route, replaceUrl: true });
115
+ }
116
+ else {
117
+ yield this.router.navigateByUrl(this._defaultBackHref, {
118
+ replaceUrl: true
119
+ });
120
+ }
107
121
  }
108
122
  else {
109
123
  console.error('[toolbar] Cannot go back. Missing attribute \'defaultBackHref\' or \'backHref\'');
@@ -162,7 +176,7 @@ export class ToolbarComponent {
162
176
  ToolbarComponent.decorators = [
163
177
  { type: Component, args: [{
164
178
  selector: 'app-toolbar',
165
- template: "<ion-header [class]=\"class\">\n <ion-toolbar [color]=\"color\">\n\n <ion-buttons slot=\"start\">\n\n <!-- back button -->\n <ion-button class=\"back-button\"\n *ngIf=\"canGoBack\"\n (click)=\"doBackClick($event)\"\n routerDirection=\"back\" >\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n\n <!-- show menu button -->\n <ion-menu-toggle [hidden]=\"canGoBack || !canShowMenu\">\n <ion-button>\n <ion-icon slot=\"icon-only\" name=\"menu\"></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n\n <ng-content select=\"[slot=start]\"></ng-content>\n </ion-buttons>\n\n <ion-title [innerHTML]=\"title\"></ion-title>\n\n <ng-content select=\"ion-title\"></ng-content>\n\n <ng-content select=\"ion-buttons[slot=end]\"></ng-content>\n\n <ion-buttons slot=\"end\" collapse=\"true\">\n\n <ng-content select=\"[slot=end]\"></ng-content>\n\n <!-- search bar -->\n <ion-searchbar #searchbar animated\n type=\"search\"\n *ngIf=\"hasSearch\"\n [class.cdk-visually-hidden]=\"!showSearchBar\"\n show-cancel-button=\"always\"\n (ionChange)=\"onSearch.emit($event)\"\n (ionCancel)=\"toggleSearchBar()\">\n </ion-searchbar>\n\n <!-- search button -->\n <ion-button (click)=\"toggleSearchBar()\"\n *ngIf=\"hasSearch && !showSearchBar\">\n <ion-icon slot=\"icon-only\" name=\"search\"></ion-icon>\n </ion-button>\n\n <!-- close button -->\n <ion-button *ngIf=\"hasClose\"\n (tap)=\"tapClose($event)\"\n class=\"visible-xs visible-sm visible-mobile\">\n <ion-icon slot=\"icon-only\" name=\"close\"></ion-icon>\n </ion-button>\n\n <!-- validate button -->\n <ion-button *ngIf=\"hasValidate\"\n (tap)=\"tapValidate($event)\"\n class=\"visible-xs visible-sm visible-mobile\">\n <ion-icon slot=\"icon-only\" name=\"save\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n\n <!-- progress bar -->\n <mat-progress-bar [color]=\"color\" [mode]=\"progressBarMode$ | async\">\n </mat-progress-bar>\n</ion-header>\n",
179
+ template: "<ion-header [class]=\"class\">\n <ion-toolbar [color]=\"color\">\n\n <ion-buttons slot=\"start\">\n\n <!-- back button -->\n <ion-button class=\"back-button\"\n *ngIf=\"canGoBack\"\n (click)=\"doBackClick($event)\"\n routerDirection=\"back\" >\n <ion-icon slot=\"icon-only\" name=\"arrow-back\"></ion-icon>\n </ion-button>\n\n <!-- show menu button -->\n <ion-menu-toggle [menu]=\"'left'\"\n [class.cdk-visually-hidden]=\"canGoBack || !canShowMenu\">\n <ion-button>\n <ion-icon slot=\"icon-only\" name=\"menu\"></ion-icon>\n </ion-button>\n </ion-menu-toggle>\n\n <ng-content select=\"[slot=start]\"></ng-content>\n </ion-buttons>\n\n <ion-title [innerHTML]=\"title\"></ion-title>\n\n <ng-content select=\"ion-title\"></ng-content>\n\n <ng-content select=\"ion-buttons[slot=end]\"></ng-content>\n\n <ion-buttons slot=\"end\" collapse=\"true\">\n\n <ng-content select=\"[slot=end]\"></ng-content>\n\n <!-- search bar -->\n <ion-searchbar #searchbar animated\n type=\"search\"\n *ngIf=\"hasSearch\"\n [class.cdk-visually-hidden]=\"!showSearchBar\"\n show-cancel-button=\"always\"\n (ionChange)=\"onSearch.emit($event)\"\n (ionCancel)=\"toggleSearchBar()\">\n </ion-searchbar>\n\n <!-- search button -->\n <ion-button (click)=\"toggleSearchBar()\"\n *ngIf=\"hasSearch && !showSearchBar\">\n <ion-icon slot=\"icon-only\" name=\"search\"></ion-icon>\n </ion-button>\n\n <!-- close button -->\n <ion-button *ngIf=\"hasClose\"\n (tap)=\"tapClose($event)\"\n class=\"visible-xs visible-sm visible-mobile\">\n <ion-icon slot=\"icon-only\" name=\"close\"></ion-icon>\n </ion-button>\n\n <!-- validate button -->\n <ion-button *ngIf=\"hasValidate\"\n (tap)=\"tapValidate($event)\"\n class=\"visible-xs visible-sm visible-mobile\">\n <ion-icon slot=\"icon-only\" name=\"save\"></ion-icon>\n </ion-button>\n </ion-buttons>\n </ion-toolbar>\n\n <!-- progress bar -->\n <mat-progress-bar [color]=\"color\" [mode]=\"progressBarMode$ | async\">\n </mat-progress-bar>\n</ion-header>\n",
166
180
  providers: [
167
181
  { provide: ToolbarToken, useExisting: ToolbarComponent }
168
182
  ],
@@ -171,6 +185,7 @@ ToolbarComponent.decorators = [
171
185
  },] }
172
186
  ];
173
187
  ToolbarComponent.ctorParameters = () => [
188
+ { type: ActivatedRoute },
174
189
  { type: Router },
175
190
  { type: IonRouterOutlet },
176
191
  { type: ChangeDetectorRef },
@@ -192,6 +207,7 @@ ToolbarComponent.propDecorators = {
192
207
  onValidateAndClose: [{ type: Output }],
193
208
  onBackClick: [{ type: Output }],
194
209
  onSearch: [{ type: Output }],
195
- searchbar: [{ type: ViewChild, args: ['searchbar', { static: true },] }]
210
+ searchbar: [{ type: ViewChild, args: ['searchbar', { static: true },] }],
211
+ menuToggle: [{ type: ViewChild, args: ['menuToggle', { static: true },] }]
196
212
  };
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3Rvb2xiYXIvdG9vbGJhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0csUUFBUSxFQUNoQixNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBZSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR2xGLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRzVELE1BQU0sT0FBZ0IsWUFBWTtDQUtqQztBQVdELE1BQU0sT0FBTyxnQkFBZ0I7SUF1RDNCLFlBQ1UsTUFBYyxFQUNkLFlBQTZCLEVBQzdCLEVBQXFCLEVBQ2pCLGtCQUFzQztRQUgxQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBeER2QixtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUNuQixzQkFBaUIsR0FBRyxDQUFDLENBQUM7UUFJckIsVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUVuQixVQUFLLEdBQXFCLFNBQVMsQ0FBQztRQUc3QyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBMEJGLGdCQUFXLEdB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ZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtQcm9ncmVzc0JhclNlcnZpY2UsIFByb2dyZXNzTW9kZX0gZnJvbSAnLi4vc2VydmljZXMvcHJvZ3Jlc3MtYmFyLnNlcnZpY2UnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0lvblJvdXRlck91dGxldCwgSW9uU2VhcmNoYmFyfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQge2lzTm90TmlsLCBpc05vdE5pbE9yQmxhbmssIHRvQm9vbGVhbn0gZnJvbSAnLi4vZnVuY3Rpb25zJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3RhcnRXaXRoLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0hhbW1lclRhcEV2ZW50fSBmcm9tICcuLi9nZXN0dXJlL2hhbW1lci51dGlscyc7XG5pbXBvcnQge0hBTU1FUl9QUkVTU19USU1FfSBmcm9tICcuLi9nZXN0dXJlL2dlc3R1cmUtY29uZmlnJztcbmltcG9ydCB7UHJlZGVmaW5lZENvbG9yc30gZnJvbSAnQGlvbmljL2NvcmUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVG9vbGJhclRva2VuIHtcbiAgYWJzdHJhY3Qgb25CYWNrQ2xpY2s6IE9ic2VydmFibGU8RXZlbnQ+O1xuICBhYnN0cmFjdCBkb0JhY2tDbGljayhldmVudDogRXZlbnQpO1xuICBhYnN0cmFjdCBnb0JhY2soKTogUHJvbWlzZTx2b2lkPjtcbiAgYWJzdHJhY3QgY2FuR29CYWNrOiBib29sZWFuO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdG9vbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAndG9vbGJhci5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9vbGJhci5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiBUb29sYmFyVG9rZW4sIHVzZUV4aXN0aW5nOiBUb29sYmFyQ29tcG9uZW50fVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUb29sYmFyQ29tcG9uZW50IGltcGxlbWVudHMgVG9vbGJhclRva2VuLCBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfY2xvc2VUYXBDb3VudCA9IDA7XG4gIHByaXZhdGUgX3ZhbGlkYXRlVGFwQ291bnQgPSAwO1xuICBwcml2YXRlIF9kZWZhdWx0QmFja0hyZWY6IHN0cmluZztcbiAgcHJpdmF0ZSBfYmFja0hyZWY6IHN0cmluZztcblxuICBASW5wdXQoKSB0aXRsZTogU3RyaW5nID0gJyc7XG5cbiAgQElucHV0KCkgY29sb3I6IFByZWRlZmluZWRDb2xvcnMgPSAncHJpbWFyeSc7XG5cbiAgQElucHV0KClcbiAgY2xhc3MgPSAnJztcblxuICBASW5wdXQoKSBzZXQgYmFja0hyZWYodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fYmFja0hyZWYpIHtcbiAgICAgIHRoaXMuX2JhY2tIcmVmID0gdmFsdWU7XG4gICAgICB0aGlzLmNhbkdvQmFjayA9IHRoaXMuY2FuR29CYWNrIHx8IGlzTm90TmlsKHZhbHVlKTtcbiAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGJhY2tIcmVmKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2JhY2tIcmVmO1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGRlZmF1bHRCYWNrSHJlZih2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLl9kZWZhdWx0QmFja0hyZWYpIHtcbiAgICAgIHRoaXMuX2RlZmF1bHRCYWNrSHJlZiA9IHZhbHVlO1xuICAgICAgdGhpcy5jYW5Hb0JhY2sgPSB0aGlzLmNhbkdvQmFjayB8fCBpc05vdE5pbCh2YWx1ZSk7XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBkZWZhdWx0QmFja0hyZWYoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmYXVsdEJhY2tIcmVmO1xuICB9XG5cbiAgQElucHV0KCkgaGFzVmFsaWRhdGUgPSBmYWxzZTtcbiAgQElucHV0KCkgaGFzQ2xvc2UgPSBmYWxzZTtcbiAgQElucHV0KCkgaGFzU2VhcmNoOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW5Hb0JhY2s6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNhblNob3dNZW51ID0gdHJ1ZTtcblxuICBAT3V0cHV0KCkgb25WYWxpZGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvbkNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgQE91dHB1dCgpIG9uVmFsaWRhdGVBbmRDbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvbkJhY2tDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8Q3VzdG9tRXZlbnQ+KCk7XG5cbiAgcHJvZ3Jlc3NCYXJNb2RlJDogT2JzZXJ2YWJsZTxQcm9ncmVzc01vZGU+O1xuICBzaG93U2VhcmNoQmFyID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoYmFyJywge3N0YXRpYzogdHJ1ZX0pIHNlYXJjaGJhcjogSW9uU2VhcmNoYmFyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZXJPdXRsZXQ6IElvblJvdXRlck91dGxldCxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBAT3B0aW9uYWwoKSBwcm9ncmVzc0JhclNlcnZpY2U6IFByb2dyZXNzQmFyU2VydmljZVxuICApIHtcblxuICAgIC8vIExpc3RlbiBwcm9ncmVzcyBiYXIgc2VydmljZSBtb2RlXG4gICAgaWYgKHByb2dyZXNzQmFyU2VydmljZSkge1xuICAgICAgdGhpcy5wcm9ncmVzc0Jhck1vZGUkID0gcHJvZ3Jlc3NCYXJTZXJ2aWNlLm9uUHJvZ3Jlc3NDaGFuZ2VkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHN0YXJ0V2l0aDxQcm9ncmVzc01vZGUsIFByb2dyZXNzTW9kZT4oJ25vbmUnIGFzIFByb2dyZXNzTW9kZSksXG4gICAgICAgICAgdGFwKChtb2RlKSA9PiAnW3Rvb2xiYXJdIFVwZGF0aW5nIHByb2dyZXNzQmFyTW9kZTogJyArIG1vZGUpLFxuICAgICAgICAgIGRlYm91bmNlVGltZSgxMDApLCAvLyB3YWl0IDEwMG1zLCB0byBncm91cCBjaGFuZ2VzXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaGFzVmFsaWRhdGUgPSB0b0Jvb2xlYW4odGhpcy5oYXNWYWxpZGF0ZSwgdGhpcy5vblZhbGlkYXRlLm9ic2VydmVycy5sZW5ndGggPiAwKTtcbiAgICB0aGlzLmNhbkdvQmFjayA9IHRvQm9vbGVhbih0aGlzLmNhbkdvQmFjaywgdGhpcy5yb3V0ZXJPdXRsZXQuY2FuR29CYWNrKClcbiAgICAgIHx8IGlzTm90TmlsT3JCbGFuayh0aGlzLl9iYWNrSHJlZilcbiAgICAgIHx8IGlzTm90TmlsT3JCbGFuayh0aGlzLl9kZWZhdWx0QmFja0hyZWYpKTtcbiAgICB0aGlzLmhhc1NlYXJjaCA9IHRvQm9vbGVhbih0aGlzLmhhc1NlYXJjaCwgdGhpcy5vblNlYXJjaC5vYnNlcnZlcnMubGVuZ3RoID4gMCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uQmFja0NsaWNrLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5vbkJhY2tDbGljay51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25WYWxpZGF0ZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMub25WYWxpZGF0ZS51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25DbG9zZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMub25DbG9zZS51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25WYWxpZGF0ZUFuZENsb3NlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5vblZhbGlkYXRlQW5kQ2xvc2UudW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9uU2VhcmNoLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5vblNlYXJjaC51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgYXN5bmMgdG9nZ2xlU2VhcmNoQmFyKCkge1xuICAgIHRoaXMuc2hvd1NlYXJjaEJhciA9ICF0aGlzLnNob3dTZWFyY2hCYXI7XG4gICAgaWYgKHRoaXMuc2hvd1NlYXJjaEJhciAmJiB0aGlzLnNlYXJjaGJhcikge1xuICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMuc2VhcmNoYmFyLnNldEZvY3VzKCk7XG4gICAgICB9LCAzMDApO1xuICAgIH1cbiAgfVxuXG4gIGRvQmFja0NsaWNrKGV2ZW50OiBFdmVudCkge1xuXG4gICAgdGhpcy5vbkJhY2tDbGljay5lbWl0KGV2ZW50KTtcblxuICAgIC8vIFN0b3AgcHJvcGFnYXRpb24sIGlmIG5lZWQgKGNhbiBiZSBjYW5jZWxsZWQgYnkgb25CYWNrQ2xpY2sgb2JzZXJ2ZXJzKVxuICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKSByZXR1cm47XG5cbiAgICAvLyBFeGVjdXRlIHRoZSBiYWNrIGFjdGlvblxuICAgIHRoaXMuZ29CYWNrKCk7XG4gIH1cblxuICBhc3luYyBnb0JhY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc29sZS5kZWJ1ZygnW3Rvb2xiYXJdIGNhbGxpbmcgZ29CYWNrKCknKTtcbiAgICBpZiAodGhpcy5fYmFja0hyZWYpIHtcbiAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5fYmFja0hyZWYpO1xuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLnJvdXRlck91dGxldC5jYW5Hb0JhY2soKSkge1xuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXJPdXRsZXQucG9wKCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMuX2RlZmF1bHRCYWNrSHJlZikge1xuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLl9kZWZhdWx0QmFja0hyZWYsIHtcbiAgICAgICAgcmVwbGFjZVVybDogdHJ1ZVxuICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignW3Rvb2xiYXJdIENhbm5vdCBnbyBiYWNrLiBNaXNzaW5nIGF0dHJpYnV0ZSBcXCdkZWZhdWx0QmFja0hyZWZcXCcgb3IgXFwnYmFja0hyZWZcXCcnKTtcbiAgICB9XG4gIH1cblxuICB0YXBDbG9zZShldmVudDogSGFtbWVyVGFwRXZlbnQpIHtcbiAgICAvLyBERVYgb25seVxuICAgIC8vIGNvbnNvbGUuZGVidWcoXCJbdG9vbGJhcl0gdGFwQ2xvc2VcIiwgZXZlbnQudGFwQ291bnQpO1xuICAgIGlmICh0aGlzLl92YWxpZGF0ZVRhcENvdW50ID4gMCkgcmV0dXJuO1xuXG4gICAgLy8gRGlzdGluZ3Vpc2ggc2ltcGxlIGFuZCBkb3VibGUgdGFwXG4gICAgdGhpcy5fY2xvc2VUYXBDb3VudCA9IGV2ZW50LnRhcENvdW50O1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gRXZlbnQgaXMgb2Jzb2xldGUgKGEgbmV3IHRhcCBldmVudCBvY2N1cilcbiAgICAgIGlmIChldmVudC50YXBDb3VudCA8IHRoaXMuX2Nsb3NlVGFwQ291bnQpIHtcbiAgICAgICAgLy8gSWdub3JlIGV2ZW50XG4gICAgICB9XG5cbiAgICAgIC8vIElmIGV2ZW50IHN0aWxsIHRoZSBsYXN0IHRhcCBldmVudDogcHJvY2VzcyBpdFxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMub25DbG9zZS5lbWl0KGV2ZW50LnNyY0V2ZW50IHx8IGV2ZW50KTtcblxuICAgICAgICAvLyBSZXNldCB0YWIgY291bnRcbiAgICAgICAgdGhpcy5fY2xvc2VUYXBDb3VudCA9IDA7XG4gICAgICB9XG4gICAgfSwgNTAwKTtcbiAgfVxuXG4gIHRhcFZhbGlkYXRlKGV2ZW50OiBIYW1tZXJUYXBFdmVudCkge1xuICAgIC8vIERFViBvbmx5XG4gICAgLy9jb25zb2xlLmRlYnVnKFwiW3Rvb2xiYXJdIHRhcFZhbGlkYXRlXCIsIGV2ZW50LnRhcENvdW50KTtcblxuICAgIGlmICghdGhpcy5vblZhbGlkYXRlQW5kQ2xvc2Uub2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5vblZhbGlkYXRlLmVtaXQoZXZlbnQuc3JjRXZlbnQgfHwgZXZlbnQpO1xuICAgIH1cblxuICAgIC8vIERpc3Rpbmd1aXNoIHNpbXBsZSBhbmQgZG91YmxlIHRhcFxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fdmFsaWRhdGVUYXBDb3VudCA9IGV2ZW50LnRhcENvdW50O1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vIEV2ZW50IGlzIG9ic29sZXRlIChhIG5ldyB0YXAgZXZlbnQgb2NjdXIpXG4gICAgICAgIGlmIChldmVudC50YXBDb3VudCA8IHRoaXMuX3ZhbGlkYXRlVGFwQ291bnQpIHtcbiAgICAgICAgICAvLyBJZ25vcmUgZXZlbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGV2ZW50IHN0aWxsIHRoZSBsYXN0IHRhcCBldmVudDogcHJvY2VzcyBpdFxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5fdmFsaWRhdGVUYXBDb3VudCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5vblZhbGlkYXRlLmVtaXQoZXZlbnQuc3JjRXZlbnQgfHwgZXZlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIGlmICh0aGlzLl92YWxpZGF0ZVRhcENvdW50ID49IDIpIHtcbiAgICAgICAgICAgIHRoaXMub25WYWxpZGF0ZUFuZENsb3NlLmVtaXQoZXZlbnQuc3JjRXZlbnQgfHwgZXZlbnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFJlc2V0IHRhYiBjb3VudFxuICAgICAgICAgIHRoaXMuX3ZhbGlkYXRlVGFwQ291bnQgPSAwO1xuICAgICAgICB9XG4gICAgICB9LCBIQU1NRVJfUFJFU1NfVElNRSsxMCk7XG4gICAgfVxuICB9XG59XG4iXX0=
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2hhcmVkL3Rvb2xiYXIvdG9vbGJhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0csUUFBUSxFQUNoQixNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBZSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGVBQWUsRUFBZSxNQUFNLGdCQUFnQixDQUFDO0FBQzdELE9BQU8sRUFBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsRixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUk1RCxNQUFNLE9BQWdCLFlBQVk7Q0FLakM7QUFXRCxNQUFNLE9BQU8sZ0JBQWdCO0lBeUQzQixZQUNVLEtBQXFCLEVBQ3JCLE1BQWMsRUFDZCxZQUE2QixFQUM3QixFQUFxQixFQUNqQixrQkFBc0M7UUFKMUMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQTNEdkIsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDbkIsc0JBQWlCLEdBQUcsQ0FBQyxDQUFDO1FBSXJCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsVUFBSyxHQUFxQixT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RDtvQkFFRCxrQkFBa0I7b0JBQ2xCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUM7aUJBQzVCO1lBQ0gsQ0FBQyxFQUFFLGlCQUFpQixHQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQzs7O1lBck5GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsYUFBYTtnQkFDdkIsaTRFQUEyQjtnQkFFM0IsU0FBUyxFQUFFO29CQUNULEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUM7aUJBQ3ZEO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBekJPLGNBQWM7WUFBRSxNQUFNO1lBQ3RCLGVBQWU7WUFWckIsaUJBQWlCO1lBUVgsa0JBQWtCLHVCQXlGckIsUUFBUTs7O29CQXZEVixLQUFLO29CQUVMLEtBQUs7b0JBRUwsS0FBSzt1QkFHTCxLQUFLOzhCQVlMLEtBQUs7MEJBWUwsS0FBSzt1QkFDTCxLQUFLO3dCQUNMLEtBQUs7d0JBQ0wsS0FBSzswQkFDTCxLQUFLO3lCQUVMLE1BQU07c0JBQ04sTUFBTTtpQ0FDTixNQUFNOzBCQUNOLE1BQU07dUJBQ04sTUFBTTt3QkFLTixTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQzt5QkFDckMsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCwgT25EZXN0cm95LFxuICBPbkluaXQsIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UHJvZ3Jlc3NCYXJTZXJ2aWNlLCBQcm9ncmVzc01vZGV9IGZyb20gJy4uL3NlcnZpY2VzL3Byb2dyZXNzLWJhci5zZXJ2aWNlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7SW9uUm91dGVyT3V0bGV0LCBJb25TZWFyY2hiYXJ9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7aXNOb3ROaWwsIGlzTm90TmlsT3JCbGFuaywgdG9Cb29sZWFufSBmcm9tICcuLi9mdW5jdGlvbnMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzdGFydFdpdGgsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SGFtbWVyVGFwRXZlbnR9IGZyb20gJy4uL2dlc3R1cmUvaGFtbWVyLnV0aWxzJztcbmltcG9ydCB7SEFNTUVSX1BSRVNTX1RJTUV9IGZyb20gJy4uL2dlc3R1cmUvZ2VzdHVyZS1jb25maWcnO1xuaW1wb3J0IHtQcmVkZWZpbmVkQ29sb3JzfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQge0lvbk1lbnVUb2dnbGV9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRvb2xiYXJUb2tlbiB7XG4gIGFic3RyYWN0IG9uQmFja0NsaWNrOiBPYnNlcnZhYmxlPEV2ZW50PjtcbiAgYWJzdHJhY3QgZG9CYWNrQ2xpY2soZXZlbnQ6IEV2ZW50KTtcbiAgYWJzdHJhY3QgZ29CYWNrKCk6IFByb21pc2U8dm9pZD47XG4gIGFic3RyYWN0IGNhbkdvQmFjazogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRvb2xiYXInLFxuICB0ZW1wbGF0ZVVybDogJ3Rvb2xiYXIuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rvb2xiYXIuc2NzcyddLFxuICBwcm92aWRlcnM6IFtcbiAgICB7cHJvdmlkZTogVG9vbGJhclRva2VuLCB1c2VFeGlzdGluZzogVG9vbGJhckNvbXBvbmVudH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJhckNvbXBvbmVudCBpbXBsZW1lbnRzIFRvb2xiYXJUb2tlbiwgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2Nsb3NlVGFwQ291bnQgPSAwO1xuICBwcml2YXRlIF92YWxpZGF0ZVRhcENvdW50ID0gMDtcbiAgcHJpdmF0ZSBfZGVmYXVsdEJhY2tIcmVmOiBzdHJpbmc7XG4gIHByaXZhdGUgX2JhY2tIcmVmOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgdGl0bGU6IFN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpIGNvbG9yOiBQcmVkZWZpbmVkQ29sb3JzID0gJ3ByaW1hcnknO1xuXG4gIEBJbnB1dCgpXG4gIGNsYXNzID0gJyc7XG5cbiAgQElucHV0KCkgc2V0IGJhY2tIcmVmKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX2JhY2tIcmVmKSB7XG4gICAgICB0aGlzLl9iYWNrSHJlZiA9IHZhbHVlO1xuICAgICAgdGhpcy5jYW5Hb0JhY2sgPSB0aGlzLmNhbkdvQmFjayB8fCBpc05vdE5pbCh2YWx1ZSk7XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBiYWNrSHJlZigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9iYWNrSHJlZjtcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBkZWZhdWx0QmFja0hyZWYodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5fZGVmYXVsdEJhY2tIcmVmKSB7XG4gICAgICB0aGlzLl9kZWZhdWx0QmFja0hyZWYgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2FuR29CYWNrID0gdGhpcy5jYW5Hb0JhY2sgfHwgaXNOb3ROaWwodmFsdWUpO1xuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBnZXQgZGVmYXVsdEJhY2tIcmVmKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRCYWNrSHJlZjtcbiAgfVxuXG4gIEBJbnB1dCgpIGhhc1ZhbGlkYXRlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhhc0Nsb3NlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhhc1NlYXJjaDogYm9vbGVhbjtcbiAgQElucHV0KCkgY2FuR29CYWNrOiBib29sZWFuO1xuICBASW5wdXQoKSBjYW5TaG93TWVudSA9IHRydWU7XG5cbiAgQE91dHB1dCgpIG9uVmFsaWRhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XG4gIEBPdXRwdXQoKSBvblZhbGlkYXRlQW5kQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25CYWNrQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICBAT3V0cHV0KCkgb25TZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPEN1c3RvbUV2ZW50PigpO1xuXG4gIHByb2dyZXNzQmFyTW9kZSQ6IE9ic2VydmFibGU8UHJvZ3Jlc3NNb2RlPjtcbiAgc2hvd1NlYXJjaEJhciA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaGJhcicsIHtzdGF0aWM6IHRydWV9KSBzZWFyY2hiYXI6IElvblNlYXJjaGJhcjtcbiAgQFZpZXdDaGlsZCgnbWVudVRvZ2dsZScsIHtzdGF0aWM6IHRydWV9KSBtZW51VG9nZ2xlOiBJb25NZW51VG9nZ2xlO1xuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlck91dGxldDogSW9uUm91dGVyT3V0bGV0LFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpIHByb2dyZXNzQmFyU2VydmljZTogUHJvZ3Jlc3NCYXJTZXJ2aWNlXG4gICkge1xuXG4gICAgLy8gTGlzdGVuIHByb2dyZXNzIGJhciBzZXJ2aWNlIG1vZGVcbiAgICBpZiAocHJvZ3Jlc3NCYXJTZXJ2aWNlKSB7XG4gICAgICB0aGlzLnByb2dyZXNzQmFyTW9kZSQgPSBwcm9ncmVzc0JhclNlcnZpY2Uub25Qcm9ncmVzc0NoYW5nZWRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoPFByb2dyZXNzTW9kZSwgUHJvZ3Jlc3NNb2RlPignbm9uZScgYXMgUHJvZ3Jlc3NNb2RlKSxcbiAgICAgICAgICB0YXAoKG1vZGUpID0+ICdbdG9vbGJhcl0gVXBkYXRpbmcgcHJvZ3Jlc3NCYXJNb2RlOiAnICsgbW9kZSksXG4gICAgICAgICAgZGVib3VuY2VUaW1lKDEwMCksIC8vIHdhaXQgMTAwbXMsIHRvIGdyb3VwIGNoYW5nZXNcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5oYXNWYWxpZGF0ZSA9IHRvQm9vbGVhbih0aGlzLmhhc1ZhbGlkYXRlLCB0aGlzLm9uVmFsaWRhdGUub2JzZXJ2ZXJzLmxlbmd0aCA+IDApO1xuICAgIHRoaXMuY2FuR29CYWNrID0gdG9Cb29sZWFuKHRoaXMuY2FuR29CYWNrLCB0aGlzLnJvdXRlck91dGxldC5jYW5Hb0JhY2soKVxuICAgICAgfHwgaXNOb3ROaWxPckJsYW5rKHRoaXMuX2JhY2tIcmVmKVxuICAgICAgfHwgaXNOb3ROaWxPckJsYW5rKHRoaXMuX2RlZmF1bHRCYWNrSHJlZikpO1xuICAgIHRoaXMuaGFzU2VhcmNoID0gdG9Cb29sZWFuKHRoaXMuaGFzU2VhcmNoLCB0aGlzLm9uU2VhcmNoLm9ic2VydmVycy5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25CYWNrQ2xpY2suY29tcGxldGUoKTtcbiAgICB0aGlzLm9uQmFja0NsaWNrLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5vblZhbGlkYXRlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5vblZhbGlkYXRlLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5vbkNsb3NlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5vbkNsb3NlLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5vblZhbGlkYXRlQW5kQ2xvc2UuY29tcGxldGUoKTtcbiAgICB0aGlzLm9uVmFsaWRhdGVBbmRDbG9zZS51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMub25TZWFyY2guY29tcGxldGUoKTtcbiAgICB0aGlzLm9uU2VhcmNoLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBhc3luYyB0b2dnbGVTZWFyY2hCYXIoKSB7XG4gICAgdGhpcy5zaG93U2VhcmNoQmFyID0gIXRoaXMuc2hvd1NlYXJjaEJhcjtcbiAgICBpZiAodGhpcy5zaG93U2VhcmNoQmFyICYmIHRoaXMuc2VhcmNoYmFyKSB7XG4gICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5zZWFyY2hiYXIuc2V0Rm9jdXMoKTtcbiAgICAgIH0sIDMwMCk7XG4gICAgfVxuICB9XG5cbiAgZG9CYWNrQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG5cbiAgICB0aGlzLm9uQmFja0NsaWNrLmVtaXQoZXZlbnQpO1xuXG4gICAgLy8gU3RvcCBwcm9wYWdhdGlvbiwgaWYgbmVlZCAoY2FuIGJlIGNhbmNlbGxlZCBieSBvbkJhY2tDbGljayBvYnNlcnZlcnMpXG4gICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHJldHVybjtcblxuICAgIC8vIEV4ZWN1dGUgdGhlIGJhY2sgYWN0aW9uXG4gICAgdGhpcy5nb0JhY2soKTtcbiAgfVxuXG4gIGFzeW5jIGdvQmFjaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLmRlYnVnKCdbdG9vbGJhcl0gY2FsbGluZyBnb0JhY2soKScpO1xuICAgIGlmICh0aGlzLl9iYWNrSHJlZikge1xuICAgICAgY29uc3QgcmVwbGFjZVVybCA9ICF0aGlzLnJvdXRlck91dGxldC5jYW5Hb0JhY2soKTtcbiAgICAgIC8vIFJlbGF0aXZlIGhyZWZcbiAgICAgIGlmICh0aGlzLl9iYWNrSHJlZi5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuX2JhY2tIcmVmXSwge3JlbGF0aXZlVG86IHRoaXMucm91dGUsIHJlcGxhY2VVcmx9KTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMuX2JhY2tIcmVmLCB7cmVwbGFjZVVybH0pO1xuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICh0aGlzLnJvdXRlck91dGxldC5jYW5Hb0JhY2soKSkge1xuICAgICAgYXdhaXQgdGhpcy5yb3V0ZXJPdXRsZXQucG9wKCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKHRoaXMuX2RlZmF1bHRCYWNrSHJlZikge1xuICAgICAgLy8gUmVsYXRpdmUgaHJlZlxuICAgICAgaWYgKHRoaXMuX2RlZmF1bHRCYWNrSHJlZi5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuX2RlZmF1bHRCYWNrSHJlZl0sIHtyZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLCByZXBsYWNlVXJsOiB0cnVlfSk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLl9kZWZhdWx0QmFja0hyZWYsIHtcbiAgICAgICAgICByZXBsYWNlVXJsOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignW3Rvb2xiYXJdIENhbm5vdCBnbyBiYWNrLiBNaXNzaW5nIGF0dHJpYnV0ZSBcXCdkZWZhdWx0QmFja0hyZWZcXCcgb3IgXFwnYmFja0hyZWZcXCcnKTtcbiAgICB9XG4gIH1cblxuICB0YXBDbG9zZShldmVudDogSGFtbWVyVGFwRXZlbnQpIHtcbiAgICAvLyBERVYgb25seVxuICAgIC8vIGNvbnNvbGUuZGVidWcoXCJbdG9vbGJhcl0gdGFwQ2xvc2VcIiwgZXZlbnQudGFwQ291bnQpO1xuICAgIGlmICh0aGlzLl92YWxpZGF0ZVRhcENvdW50ID4gMCkgcmV0dXJuO1xuXG4gICAgLy8gRGlzdGluZ3Vpc2ggc2ltcGxlIGFuZCBkb3VibGUgdGFwXG4gICAgdGhpcy5fY2xvc2VUYXBDb3VudCA9IGV2ZW50LnRhcENvdW50O1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgLy8gRXZlbnQgaXMgb2Jzb2xldGUgKGEgbmV3IHRhcCBldmVudCBvY2N1cilcbiAgICAgIGlmIChldmVudC50YXBDb3VudCA8IHRoaXMuX2Nsb3NlVGFwQ291bnQpIHtcbiAgICAgICAgLy8gSWdub3JlIGV2ZW50XG4gICAgICB9XG5cbiAgICAgIC8vIElmIGV2ZW50IHN0aWxsIHRoZSBsYXN0IHRhcCBldmVudDogcHJvY2VzcyBpdFxuICAgICAgZWxzZSB7XG4gICAgICAgIHRoaXMub25DbG9zZS5lbWl0KGV2ZW50LnNyY0V2ZW50IHx8IGV2ZW50KTtcblxuICAgICAgICAvLyBSZXNldCB0YWIgY291bnRcbiAgICAgICAgdGhpcy5fY2xvc2VUYXBDb3VudCA9IDA7XG4gICAgICB9XG4gICAgfSwgNTAwKTtcbiAgfVxuXG4gIHRhcFZhbGlkYXRlKGV2ZW50OiBIYW1tZXJUYXBFdmVudCkge1xuICAgIC8vIERFViBvbmx5XG4gICAgLy9jb25zb2xlLmRlYnVnKFwiW3Rvb2xiYXJdIHRhcFZhbGlkYXRlXCIsIGV2ZW50LnRhcENvdW50KTtcblxuICAgIGlmICghdGhpcy5vblZhbGlkYXRlQW5kQ2xvc2Uub2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgdGhpcy5vblZhbGlkYXRlLmVtaXQoZXZlbnQuc3JjRXZlbnQgfHwgZXZlbnQpO1xuICAgIH1cblxuICAgIC8vIERpc3Rpbmd1aXNoIHNpbXBsZSBhbmQgZG91YmxlIHRhcFxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5fdmFsaWRhdGVUYXBDb3VudCA9IGV2ZW50LnRhcENvdW50O1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIC8vIEV2ZW50IGlzIG9ic29sZXRlIChhIG5ldyB0YXAgZXZlbnQgb2NjdXIpXG4gICAgICAgIGlmIChldmVudC50YXBDb3VudCA8IHRoaXMuX3ZhbGlkYXRlVGFwQ291bnQpIHtcbiAgICAgICAgICAvLyBJZ25vcmUgZXZlbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGV2ZW50IHN0aWxsIHRoZSBsYXN0IHRhcCBldmVudDogcHJvY2VzcyBpdFxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICBpZiAodGhpcy5fdmFsaWRhdGVUYXBDb3VudCA9PT0gMSkge1xuICAgICAgICAgICAgdGhpcy5vblZhbGlkYXRlLmVtaXQoZXZlbnQuc3JjRXZlbnQgfHwgZXZlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIGlmICh0aGlzLl92YWxpZGF0ZVRhcENvdW50ID49IDIpIHtcbiAgICAgICAgICAgIHRoaXMub25WYWxpZGF0ZUFuZENsb3NlLmVtaXQoZXZlbnQuc3JjRXZlbnQgfHwgZXZlbnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFJlc2V0IHRhYiBjb3VudFxuICAgICAgICAgIHRoaXMuX3ZhbGlkYXRlVGFwQ291bnQgPSAwO1xuICAgICAgICB9XG4gICAgICB9LCBIQU1NRVJfUFJFU1NfVElNRSsxMCk7XG4gICAgfVxuICB9XG59XG4iXX0=