@hmcts/media-viewer 4.0.0-RC.1 → 4.0.1

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 (125) hide show
  1. package/assets/sass/angular-tree-component.scss +87 -24
  2. package/assets/sass/bookmarks.scss +30 -13
  3. package/assets/sass/toolbar/side-bar.scss +2 -1
  4. package/esm2022/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.mjs +5 -5
  5. package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.directive.mjs +5 -5
  6. package/esm2022/lib/annotations/annotation-set/annotation-create/highlight-create/highlight-create.service.mjs +5 -5
  7. package/esm2022/lib/annotations/annotation-set/annotation-set.component.mjs +5 -5
  8. package/esm2022/lib/annotations/annotation-set/annotation-view/annotation-view.component.mjs +5 -5
  9. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/rectangle.component.mjs +7 -8
  10. package/esm2022/lib/annotations/annotation-set/ctx-toolbar/ctx-toolbar.component.mjs +5 -5
  11. package/esm2022/lib/annotations/annotation-set/metadata-layer/metadata-layer.component.mjs +5 -5
  12. package/esm2022/lib/annotations/annotations.module.mjs +6 -6
  13. package/esm2022/lib/annotations/comment-set/comment/comment.component.mjs +5 -5
  14. package/esm2022/lib/annotations/comment-set/comment/comment.service.mjs +4 -4
  15. package/esm2022/lib/annotations/comment-set/comment/text-highlight/text-highlight.directive.mjs +5 -5
  16. package/esm2022/lib/annotations/comment-set/comment/textarea-auto-expand/textarea-auto-expand.directive.mjs +5 -5
  17. package/esm2022/lib/annotations/comment-set/comment-navigate/comments-navigate.component.mjs +5 -5
  18. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-filter/comment-filter.component.mjs +5 -5
  19. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-search/comment-search.component.mjs +5 -5
  20. package/esm2022/lib/annotations/comment-set/comment-set-header/comment-set-header.component.mjs +5 -5
  21. package/esm2022/lib/annotations/comment-set/comment-set-render.service.mjs +4 -4
  22. package/esm2022/lib/annotations/comment-set/comment-set.component.mjs +5 -5
  23. package/esm2022/lib/annotations/comments-summary/comments-summary.component.mjs +5 -5
  24. package/esm2022/lib/annotations/pipes/date/date.pipe.mjs +4 -4
  25. package/esm2022/lib/annotations/pipes/filter/filter.pipe.mjs +4 -4
  26. package/esm2022/lib/annotations/pipes/unsnake/unsnake.pipe.mjs +4 -4
  27. package/esm2022/lib/annotations/services/annotation-api/annotation-api.service.mjs +5 -5
  28. package/esm2022/lib/annotations/services/bookmarks-api/bookmarks-api.service.mjs +5 -5
  29. package/esm2022/lib/annotations/services/tags/tags.services.mjs +5 -5
  30. package/esm2022/lib/annotations/tags/tags.component.mjs +5 -5
  31. package/esm2022/lib/bookmark/components/bookmark-icons.component.mjs +5 -5
  32. package/esm2022/lib/icp/confirm-exit/confirm-action-dialog.component.mjs +5 -5
  33. package/esm2022/lib/icp/icp-follower.service.mjs +5 -5
  34. package/esm2022/lib/icp/icp-presenter.service.mjs +5 -5
  35. package/esm2022/lib/icp/icp-session-api.service.mjs +5 -5
  36. package/esm2022/lib/icp/icp-update.service.mjs +5 -5
  37. package/esm2022/lib/icp/icp.service.mjs +5 -5
  38. package/esm2022/lib/icp/participants-list/participants-list.component.mjs +5 -5
  39. package/esm2022/lib/icp/socket.service.mjs +5 -5
  40. package/esm2022/lib/media-viewer.component.mjs +5 -6
  41. package/esm2022/lib/media-viewer.module.mjs +15 -11
  42. package/esm2022/lib/print.service.mjs +4 -4
  43. package/esm2022/lib/redaction/components/redaction.component.mjs +5 -5
  44. package/esm2022/lib/redaction/services/redaction-api.service.mjs +5 -5
  45. package/esm2022/lib/shared/gov-uk-date/gov-uk-date.component.mjs +4 -4
  46. package/esm2022/lib/shared/gov-uk-error-message/gov-uk-error-message.component.mjs +5 -5
  47. package/esm2022/lib/shared/gov-uk-fieldset/gov-uk-fieldset.component.mjs +4 -4
  48. package/esm2022/lib/shared/gov-uk-label/gov-uk-label.component.mjs +5 -5
  49. package/esm2022/lib/shared/shared.module.mjs +5 -5
  50. package/esm2022/lib/shared/util/helpers/html-templates.helper.mjs +1 -1
  51. package/esm2022/lib/shared/util/services/number.helper.service.mjs +5 -5
  52. package/esm2022/lib/store/bookmarks-store-utils.mjs +1 -1
  53. package/esm2022/lib/store/effects/annotation.effects.mjs +5 -5
  54. package/esm2022/lib/store/effects/bookmarks.effects.mjs +5 -5
  55. package/esm2022/lib/store/effects/document.effects.mjs +5 -5
  56. package/esm2022/lib/store/effects/icp.effects.mjs +5 -5
  57. package/esm2022/lib/store/effects/redaction.effects.mjs +5 -5
  58. package/esm2022/lib/store/reducers/annotations.reducer.mjs +1 -1
  59. package/esm2022/lib/store/reducers/bookmarks.reducer.mjs +1 -1
  60. package/esm2022/lib/store/reducers/document.reducer.mjs +1 -1
  61. package/esm2022/lib/store/reducers/icp.reducer.mjs +1 -1
  62. package/esm2022/lib/store/reducers/redaction.reducer.mjs +1 -1
  63. package/esm2022/lib/store/reducers/tags.reducer.mjs +1 -1
  64. package/esm2022/lib/store/selectors/annotation.selectors.mjs +1 -1
  65. package/esm2022/lib/store/selectors/bookmark.selectors.mjs +1 -1
  66. package/esm2022/lib/store/selectors/redaction.selectors.mjs +1 -1
  67. package/esm2022/lib/store/store-utils.mjs +1 -1
  68. package/esm2022/lib/toolbar/highlight-toolbar/highlight-toolbar.component.mjs +5 -5
  69. package/esm2022/lib/toolbar/icp-toolbar/icp-toolbar.component.mjs +5 -5
  70. package/esm2022/lib/toolbar/main-toolbar/main-toolbar.component.mjs +5 -5
  71. package/esm2022/lib/toolbar/redaction-search-bar/redaction-search-bar.component.mjs +5 -5
  72. package/esm2022/lib/toolbar/redaction-toolbar/redaction-toolbar.component.mjs +5 -5
  73. package/esm2022/lib/toolbar/search-bar/search-bar.component.mjs +5 -5
  74. package/esm2022/lib/toolbar/toolbar-button-visibility.service.mjs +4 -4
  75. package/esm2022/lib/toolbar/toolbar-event.service.mjs +4 -4
  76. package/esm2022/lib/toolbar/toolbar.module.mjs +5 -5
  77. package/esm2022/lib/viewers/convertible-content-viewer/convertible-content-viewer.component.mjs +5 -5
  78. package/esm2022/lib/viewers/convertible-content-viewer/document-conversion-api.service.mjs +5 -5
  79. package/esm2022/lib/viewers/grab-n-drag.directive.mjs +5 -5
  80. package/esm2022/lib/viewers/image-viewer/image-viewer.component.mjs +5 -5
  81. package/esm2022/lib/viewers/multimedia-player/multimedia-player.component.mjs +5 -5
  82. package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.mjs +3 -2
  83. package/esm2022/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.provider.mjs +5 -5
  84. package/esm2022/lib/viewers/pdf-viewer/pdf-viewer.component.mjs +5 -5
  85. package/esm2022/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.mjs +218 -58
  86. package/esm2022/lib/viewers/pdf-viewer/side-bar/outline-item/outline-item.component.mjs +4 -4
  87. package/esm2022/lib/viewers/pdf-viewer/side-bar/side-bar.component.mjs +5 -5
  88. package/esm2022/lib/viewers/rotation-persist/rotation-api.service.mjs +5 -5
  89. package/esm2022/lib/viewers/rotation-persist/rotation-persist.directive.mjs +5 -5
  90. package/esm2022/lib/viewers/unsupported-viewer/unsupported-viewer.component.mjs +5 -5
  91. package/esm2022/lib/viewers/viewer-event.service.mjs +5 -5
  92. package/esm2022/lib/viewers/viewer-util.service.mjs +5 -5
  93. package/fesm2022/hmcts-media-viewer.mjs +518 -704
  94. package/fesm2022/hmcts-media-viewer.mjs.map +1 -1
  95. package/lib/annotations/annotations.module.d.ts +1 -1
  96. package/lib/media-viewer.component.d.ts +0 -1
  97. package/lib/media-viewer.component.d.ts.map +1 -1
  98. package/lib/media-viewer.module.d.ts +5 -4
  99. package/lib/media-viewer.module.d.ts.map +1 -1
  100. package/lib/store/bookmarks-store-utils.d.ts.map +1 -1
  101. package/lib/viewers/pdf-viewer/pdf-js/pdf-js-wrapper.d.ts.map +1 -1
  102. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts +37 -11
  103. package/lib/viewers/pdf-viewer/side-bar/bookmarks/bookmarks.component.d.ts.map +1 -1
  104. package/package.json +13 -15
  105. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.mjs +0 -143
  106. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.mjs +0 -2
  107. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.mjs +0 -2
  108. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.mjs +0 -2
  109. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.mjs +0 -32
  110. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.mjs +0 -65
  111. package/esm2022/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.mjs +0 -127
  112. package/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.d.ts +0 -25
  113. package/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.d.ts.map +0 -1
  114. package/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.d.ts +0 -7
  115. package/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.d.ts.map +0 -1
  116. package/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.d.ts +0 -5
  117. package/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.d.ts.map +0 -1
  118. package/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.d.ts +0 -7
  119. package/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.d.ts.map +0 -1
  120. package/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.d.ts +0 -11
  121. package/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.d.ts.map +0 -1
  122. package/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.d.ts +0 -22
  123. package/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.d.ts.map +0 -1
  124. package/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.d.ts +0 -23
  125. package/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.d.ts.map +0 -1
@@ -1,127 +0,0 @@
1
- import { Component, Input, ViewChildren } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "../draggable-element.directive";
5
- export class ResizeHandlersComponent {
6
- constructor() {
7
- this.selected = false;
8
- this.minimumSize = 20;
9
- }
10
- ngAfterViewInit() {
11
- this.setHandlePositions();
12
- }
13
- ngOnChanges() {
14
- if (this.selected) {
15
- this.setHandlePositions();
16
- }
17
- }
18
- setHandlePositions() {
19
- this.handles.forEach((element, index) => {
20
- switch (index) {
21
- case 0:
22
- this.setHandleStyles(element, { left: '-7px', right: '', top: '-7px', bottom: '' });
23
- break;
24
- case 1:
25
- this.setHandleStyles(element, { left: '', right: '-7px', top: '-7px', bottom: '' });
26
- break;
27
- case 2:
28
- this.setHandleStyles(element, { left: '-7px', right: '', top: '', bottom: '-7px' });
29
- break;
30
- default:
31
- this.setHandleStyles(element, { left: '', right: '-7px', top: '', bottom: '-7px' });
32
- }
33
- });
34
- }
35
- setHandleStyles(element, styles) {
36
- element.nativeElement.style.left = styles.left;
37
- element.nativeElement.style.right = styles.right;
38
- element.nativeElement.style.top = styles.top;
39
- element.nativeElement.style.bottom = styles.bottom;
40
- }
41
- onPointerDown(event) {
42
- event.stopPropagation();
43
- }
44
- resize(className, coordinates) {
45
- const parentElement = this.parentElement.nativeElement;
46
- const size = this.calculatingPosition(parentElement, className, coordinates);
47
- if (size.width > this.minimumSize && size.height > this.minimumSize) {
48
- if (className.includes('TOP-LEFT')) {
49
- parentElement.style.left = size.position.x + 'px';
50
- parentElement.style.width = size.width + 'px';
51
- parentElement.style.top = size.position.y + 'px';
52
- parentElement.style.height = size.height + 'px';
53
- }
54
- else if (className.includes('TOP-RIGHT')) {
55
- parentElement.style.width = size.width + 'px';
56
- parentElement.style.top = size.position.y + 'px';
57
- parentElement.style.height = size.height + 'px';
58
- }
59
- else if (className.includes('BOTTOM-LEFT')) {
60
- parentElement.style.left = size.position.x + 'px';
61
- parentElement.style.width = size.width + 'px';
62
- parentElement.style.height = size.height + 'px';
63
- }
64
- else {
65
- parentElement.style.width = size.width + 'px';
66
- parentElement.style.height = size.height + 'px';
67
- }
68
- }
69
- this.setHandlePositions();
70
- }
71
- calculatingPosition(parentElement, className, coordinates) {
72
- switch (this.rotate) {
73
- case 90:
74
- return {
75
- width: className.includes('LEFT') ? parentElement.offsetWidth - coordinates.y : parentElement.offsetWidth + coordinates.y,
76
- height: className.includes('TOP') ? parentElement.offsetHeight + coordinates.x : parentElement.offsetHeight - coordinates.x,
77
- position: {
78
- x: parentElement.offsetLeft + coordinates.y,
79
- y: parentElement.offsetTop - coordinates.x
80
- }
81
- };
82
- case 180:
83
- return {
84
- width: className.includes('LEFT') ? parentElement.offsetWidth + coordinates.x : parentElement.offsetWidth - coordinates.x,
85
- height: className.includes('TOP') ? parentElement.offsetHeight + coordinates.y : parentElement.offsetHeight - coordinates.y,
86
- position: {
87
- x: parentElement.offsetLeft - coordinates.x,
88
- y: parentElement.offsetTop - coordinates.y
89
- }
90
- };
91
- case 270:
92
- return {
93
- width: className.includes('LEFT') ? parentElement.offsetWidth + coordinates.y : parentElement.offsetWidth - coordinates.y,
94
- height: className.includes('TOP') ? parentElement.offsetHeight - coordinates.x : parentElement.offsetHeight + coordinates.x,
95
- position: {
96
- x: parentElement.offsetLeft - coordinates.y,
97
- y: parentElement.offsetTop + coordinates.x
98
- }
99
- };
100
- default:
101
- return {
102
- width: className.includes('LEFT') ? parentElement.offsetWidth - coordinates.x : parentElement.offsetWidth + coordinates.x,
103
- height: className.includes('TOP') ? parentElement.offsetHeight - coordinates.y : parentElement.offsetHeight + coordinates.y,
104
- position: {
105
- x: parentElement.offsetLeft + coordinates.x,
106
- y: parentElement.offsetTop + coordinates.y
107
- }
108
- };
109
- }
110
- }
111
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizeHandlersComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
112
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ResizeHandlersComponent, selector: "mv-lib-resize-handlers", inputs: { parentElement: "parentElement", rotate: "rotate", selected: "selected" }, viewQueries: [{ propertyName: "handles", predicate: ["handle"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"selected\" class=\"resize-handlers\">\n <div #handle #topLeft\n class=\"TOP-LEFT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(topLeft.className, $event)\"></div>\n <div #handle #topRight\n class=\"TOP-RIGHT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(topRight.className, $event)\"></div>\n <div #handle #bottomLeft\n class=\"BOTTOM-LEFT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(bottomLeft.className, $event)\"></div>\n <div #handle #bottomRight\n class=\"BOTTOM-RIGHT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(bottomRight.className, $event)\"></div>\n</div>\n", styles: [".resize-handlers{width:100%;height:100%;position:absolute;top:0;left:0;border:2px solid #424242;box-sizing:border-box}.handle{position:absolute;width:20px;height:20px;background:#fff;opacity:50%}.TOP-LEFT{left:-7px;top:-7px;border-top:3px solid #424242;border-left:3px solid #424242}.TOP-LEFT:hover,.TOP-LEFT:active{border-radius:unset;background:transparent;border-bottom:black;border-right:black}.TOP-RIGHT{right:-7px;top:-7px;border-top:3px solid #424242;border-right:3px solid #424242}.TOP-RIGHT:hover,.TOP-RIGHT:active{border-radius:unset;background:transparent;border-bottom:black;border-left:black}.BOTTOM-LEFT{left:-7px;bottom:-7px;border-bottom:3px solid #424242;border-left:3px solid #424242}.BOTTOM-LEFT:hover,.BOTTOM-LEFT:active{border-radius:unset;background:transparent;border-top:black;border-right:black}.BOTTOM-RIGHT{right:-7px;bottom:-7px;border-bottom:3px solid #424242;border-right:3px solid #424242}.BOTTOM-RIGHT:hover,.BOTTOM-RIGHT:active{border-radius:unset;background:transparent;border-top:black;border-left:black}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DraggableElementDirective, selector: "[mvDraggable]", inputs: ["rotate"], outputs: ["coordinates", "stopped"] }] }); }
113
- }
114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ResizeHandlersComponent, decorators: [{
115
- type: Component,
116
- args: [{ selector: 'mv-lib-resize-handlers', template: "<div *ngIf=\"selected\" class=\"resize-handlers\">\n <div #handle #topLeft\n class=\"TOP-LEFT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(topLeft.className, $event)\"></div>\n <div #handle #topRight\n class=\"TOP-RIGHT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(topRight.className, $event)\"></div>\n <div #handle #bottomLeft\n class=\"BOTTOM-LEFT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(bottomLeft.className, $event)\"></div>\n <div #handle #bottomRight\n class=\"BOTTOM-RIGHT handle\"\n mvDraggable\n (pointerdown)=\"onPointerDown($event)\"\n (coordinates)=\"resize(bottomRight.className, $event)\"></div>\n</div>\n", styles: [".resize-handlers{width:100%;height:100%;position:absolute;top:0;left:0;border:2px solid #424242;box-sizing:border-box}.handle{position:absolute;width:20px;height:20px;background:#fff;opacity:50%}.TOP-LEFT{left:-7px;top:-7px;border-top:3px solid #424242;border-left:3px solid #424242}.TOP-LEFT:hover,.TOP-LEFT:active{border-radius:unset;background:transparent;border-bottom:black;border-right:black}.TOP-RIGHT{right:-7px;top:-7px;border-top:3px solid #424242;border-right:3px solid #424242}.TOP-RIGHT:hover,.TOP-RIGHT:active{border-radius:unset;background:transparent;border-bottom:black;border-left:black}.BOTTOM-LEFT{left:-7px;bottom:-7px;border-bottom:3px solid #424242;border-left:3px solid #424242}.BOTTOM-LEFT:hover,.BOTTOM-LEFT:active{border-radius:unset;background:transparent;border-top:black;border-right:black}.BOTTOM-RIGHT{right:-7px;bottom:-7px;border-bottom:3px solid #424242;border-right:3px solid #424242}.BOTTOM-RIGHT:hover,.BOTTOM-RIGHT:active{border-radius:unset;background:transparent;border-top:black;border-left:black}\n"] }]
117
- }], ctorParameters: function () { return []; }, propDecorators: { parentElement: [{
118
- type: Input
119
- }], rotate: [{
120
- type: Input
121
- }], selected: [{
122
- type: Input
123
- }], handles: [{
124
- type: ViewChildren,
125
- args: ['handle']
126
- }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLWhhbmRsZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhLXZpZXdlci9zcmMvbGliL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tdmlldy9yZWN0YW5nbGUvcmVzaXplLWhhbmRsZXJzL3Jlc2l6ZS1oYW5kbGVycy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYS12aWV3ZXIvc3JjL2xpYi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXZpZXcvcmVjdGFuZ2xlL3Jlc2l6ZS1oYW5kbGVycy9yZXNpemUtaGFuZGxlcnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBR0wsWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDOzs7O0FBVXZCLE1BQU0sT0FBTyx1QkFBdUI7SUFVbEM7UUFOUyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBSTFCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO0lBRUQsQ0FBQztJQUVqQixlQUFlO1FBQ2IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDM0I7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RDLFFBQVEsS0FBSyxFQUFFO2dCQUNiLEtBQUssQ0FBQztvQkFDSixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNwRixNQUFNO2dCQUNSLEtBQUssQ0FBQztvQkFDSixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNwRixNQUFNO2dCQUNSLEtBQUssQ0FBQztvQkFDSixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUNwRixNQUFNO2dCQUNSO29CQUNFLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7YUFDdkY7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBbUIsRUFBRSxNQUFpQjtRQUNwRCxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUMvQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUNqRCxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUM3QyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNyRCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQW1CO1FBQy9CLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQWlCLEVBQUUsV0FBcUI7UUFDN0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUM7UUFDdkQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDN0UsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ25FLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDbEMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNsRCxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDOUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNsRCxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzthQUNqRDtpQkFBTSxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO2dCQUM5QyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ2pELGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2FBQ2pEO2lCQUFNLElBQUksU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDNUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO2dCQUNsRCxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDOUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7YUFDakQ7aUJBQU07Z0JBQ0wsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQzlDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2FBQ2pEO1NBQ0Y7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsYUFBa0IsRUFBRSxTQUFpQixFQUFFLFdBQXFCO1FBQzlFLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQixLQUFLLEVBQUU7Z0JBQ0wsT0FBTztvQkFDTCxLQUFLLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxDQUFDO29CQUN6SCxNQUFNLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBRSxhQUFhLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDO29CQUM1SCxRQUFRLEVBQUU7d0JBQ1IsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLENBQUM7d0JBQzNDLENBQUMsRUFBRSxhQUFhLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxDQUFDO3FCQUMzQztpQkFDRixDQUFDO1lBQ0osS0FBSyxHQUFHO2dCQUNOLE9BQU87b0JBQ0wsS0FBSyxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsQ0FBQztvQkFDekgsTUFBTSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUUsYUFBYSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsQ0FBQztvQkFDNUgsUUFBUSxFQUFFO3dCQUNSLENBQUMsRUFBRSxhQUFhLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxDQUFDO3dCQUMzQyxDQUFDLEVBQUUsYUFBYSxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsQ0FBQztxQkFDM0M7aUJBQ0YsQ0FBQztZQUNKLEtBQUssR0FBRztnQkFDTixPQUFPO29CQUNMLEtBQUssRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLENBQUM7b0JBQ3pILE1BQU0sRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLGFBQWEsQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUM7b0JBQzVILFFBQVEsRUFBRTt3QkFDUixDQUFDLEVBQUUsYUFBYSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsQ0FBQzt3QkFDM0MsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUM7cUJBQzNDO2lCQUNGLENBQUM7WUFDSjtnQkFDRSxPQUFPO29CQUNMLEtBQUssRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLENBQUM7b0JBQ3pILE1BQU0sRUFBRSxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBRSxhQUFhLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLGFBQWEsQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUM7b0JBQzdILFFBQVEsRUFBRTt3QkFDUixDQUFDLEVBQUUsYUFBYSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsQ0FBQzt3QkFDM0MsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUM7cUJBQzNDO2lCQUNGLENBQUM7U0FDTDtJQUNILENBQUM7a0lBbkhVLHVCQUF1QjtzSEFBdkIsdUJBQXVCLDZQQ2xCcEMsODFCQXNCQTs7NEZESmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHdCQUF3QjswRUFNekIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFa0IsT0FBTztzQkFBOUIsWUFBWTt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSAnLi4vbW9kZWwvcG9zaXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgU2l6ZSB9IGZyb20gJy4uL21vZGVsL3NpemUubW9kZWwnO1xuaW1wb3J0IHsgSGFuZGxlQmFyIH0gZnJvbSAnLi4vbW9kZWwvaGFuZGxlLWJhci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LWxpYi1yZXNpemUtaGFuZGxlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVzaXplLWhhbmRsZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVzaXplLWhhbmRsZXJzLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZXNpemVIYW5kbGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgcGFyZW50RWxlbWVudDogRWxlbWVudFJlZjtcbiAgQElucHV0KCkgcm90YXRlOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZHJlbignaGFuZGxlJykgaGFuZGxlczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+O1xuXG4gIG1pbmltdW1TaXplID0gMjA7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRIYW5kbGVQb3NpdGlvbnMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnNldEhhbmRsZVBvc2l0aW9ucygpO1xuICAgIH1cbiAgfVxuXG4gIHNldEhhbmRsZVBvc2l0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZXMuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgIHN3aXRjaCAoaW5kZXgpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIHRoaXMuc2V0SGFuZGxlU3R5bGVzKGVsZW1lbnQsIHsgbGVmdDogJy03cHgnLCByaWdodDogJycsIHRvcDogJy03cHgnLCBib3R0b206ICcnIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgdGhpcy5zZXRIYW5kbGVTdHlsZXMoZWxlbWVudCwgeyBsZWZ0OiAnJywgcmlnaHQ6ICctN3B4JywgdG9wOiAnLTdweCcsIGJvdHRvbTogJycgfSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICB0aGlzLnNldEhhbmRsZVN0eWxlcyhlbGVtZW50LCB7IGxlZnQ6ICctN3B4JywgcmlnaHQ6ICcnLCB0b3A6ICcnLCBib3R0b206ICctN3B4JyB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLnNldEhhbmRsZVN0eWxlcyhlbGVtZW50LCB7IGxlZnQ6ICcnLCByaWdodDogJy03cHgnLCB0b3A6ICcnLCBib3R0b206ICctN3B4JyB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldEhhbmRsZVN0eWxlcyhlbGVtZW50OiBFbGVtZW50UmVmLCBzdHlsZXM6IEhhbmRsZUJhcikge1xuICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gc3R5bGVzLmxlZnQ7XG4gICAgZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnJpZ2h0ID0gc3R5bGVzLnJpZ2h0O1xuICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSBzdHlsZXMudG9wO1xuICAgIGVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5ib3R0b20gPSBzdHlsZXMuYm90dG9tO1xuICB9XG5cbiAgb25Qb2ludGVyRG93bihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICByZXNpemUoY2xhc3NOYW1lOiBzdHJpbmcsIGNvb3JkaW5hdGVzOiBQb3NpdGlvbikge1xuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQgPSB0aGlzLnBhcmVudEVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBzaXplID0gdGhpcy5jYWxjdWxhdGluZ1Bvc2l0aW9uKHBhcmVudEVsZW1lbnQsIGNsYXNzTmFtZSwgY29vcmRpbmF0ZXMpO1xuICAgIGlmIChzaXplLndpZHRoID4gdGhpcy5taW5pbXVtU2l6ZSAmJiBzaXplLmhlaWdodCA+IHRoaXMubWluaW11bVNpemUpIHtcbiAgICAgIGlmIChjbGFzc05hbWUuaW5jbHVkZXMoJ1RPUC1MRUZUJykpIHtcbiAgICAgICAgcGFyZW50RWxlbWVudC5zdHlsZS5sZWZ0ID0gc2l6ZS5wb3NpdGlvbi54ICsgJ3B4JztcbiAgICAgICAgcGFyZW50RWxlbWVudC5zdHlsZS53aWR0aCA9IHNpemUud2lkdGggKyAncHgnO1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLnRvcCA9ICBzaXplLnBvc2l0aW9uLnkgKyAncHgnO1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLmhlaWdodCA9IHNpemUuaGVpZ2h0ICsgJ3B4JztcbiAgICAgIH0gZWxzZSBpZiAoY2xhc3NOYW1lLmluY2x1ZGVzKCdUT1AtUklHSFQnKSkge1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLndpZHRoID0gc2l6ZS53aWR0aCArICdweCc7XG4gICAgICAgIHBhcmVudEVsZW1lbnQuc3R5bGUudG9wID0gc2l6ZS5wb3NpdGlvbi55ICsgJ3B4JztcbiAgICAgICAgcGFyZW50RWxlbWVudC5zdHlsZS5oZWlnaHQgPSBzaXplLmhlaWdodCArICdweCc7XG4gICAgICB9IGVsc2UgaWYgKGNsYXNzTmFtZS5pbmNsdWRlcygnQk9UVE9NLUxFRlQnKSkge1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLmxlZnQgPSBzaXplLnBvc2l0aW9uLnggKyAncHgnO1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLndpZHRoID0gc2l6ZS53aWR0aCArICdweCc7XG4gICAgICAgIHBhcmVudEVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gc2l6ZS5oZWlnaHQgKyAncHgnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFyZW50RWxlbWVudC5zdHlsZS53aWR0aCA9IHNpemUud2lkdGggKyAncHgnO1xuICAgICAgICBwYXJlbnRFbGVtZW50LnN0eWxlLmhlaWdodCA9IHNpemUuaGVpZ2h0ICsgJ3B4JztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zZXRIYW5kbGVQb3NpdGlvbnMoKTtcbiAgfVxuXG4gIGNhbGN1bGF0aW5nUG9zaXRpb24ocGFyZW50RWxlbWVudDogYW55LCBjbGFzc05hbWU6IHN0cmluZywgY29vcmRpbmF0ZXM6IFBvc2l0aW9uKTogU2l6ZSB7XG4gICAgc3dpdGNoICh0aGlzLnJvdGF0ZSkge1xuICAgICAgY2FzZSA5MDpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3aWR0aDogY2xhc3NOYW1lLmluY2x1ZGVzKCdMRUZUJykgPyBwYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIC0gY29vcmRpbmF0ZXMueSA6IHBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggKyBjb29yZGluYXRlcy55LFxuICAgICAgICAgIGhlaWdodDogY2xhc3NOYW1lLmluY2x1ZGVzKCdUT1AnKSA/IHBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgY29vcmRpbmF0ZXMueCA6ICBwYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodCAtIGNvb3JkaW5hdGVzLngsXG4gICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgIHg6IHBhcmVudEVsZW1lbnQub2Zmc2V0TGVmdCArIGNvb3JkaW5hdGVzLnksXG4gICAgICAgICAgICB5OiBwYXJlbnRFbGVtZW50Lm9mZnNldFRvcCAtIGNvb3JkaW5hdGVzLnhcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICBjYXNlIDE4MDpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3aWR0aDogY2xhc3NOYW1lLmluY2x1ZGVzKCdMRUZUJykgPyBwYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoICsgY29vcmRpbmF0ZXMueCA6IHBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSBjb29yZGluYXRlcy54LFxuICAgICAgICAgIGhlaWdodDogY2xhc3NOYW1lLmluY2x1ZGVzKCdUT1AnKSA/IHBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgY29vcmRpbmF0ZXMueSA6ICBwYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodCAtIGNvb3JkaW5hdGVzLnksXG4gICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgIHg6IHBhcmVudEVsZW1lbnQub2Zmc2V0TGVmdCAtIGNvb3JkaW5hdGVzLngsXG4gICAgICAgICAgICB5OiBwYXJlbnRFbGVtZW50Lm9mZnNldFRvcCAtIGNvb3JkaW5hdGVzLnlcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICBjYXNlIDI3MDpcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3aWR0aDogY2xhc3NOYW1lLmluY2x1ZGVzKCdMRUZUJykgPyBwYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoICsgY29vcmRpbmF0ZXMueSA6IHBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSBjb29yZGluYXRlcy55LFxuICAgICAgICAgIGhlaWdodDogY2xhc3NOYW1lLmluY2x1ZGVzKCdUT1AnKSA/IHBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gY29vcmRpbmF0ZXMueCA6ICBwYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodCArIGNvb3JkaW5hdGVzLngsXG4gICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgIHg6IHBhcmVudEVsZW1lbnQub2Zmc2V0TGVmdCAtIGNvb3JkaW5hdGVzLnksXG4gICAgICAgICAgICB5OiBwYXJlbnRFbGVtZW50Lm9mZnNldFRvcCArIGNvb3JkaW5hdGVzLnhcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHdpZHRoOiBjbGFzc05hbWUuaW5jbHVkZXMoJ0xFRlQnKSA/IHBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSBjb29yZGluYXRlcy54IDogcGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aCArIGNvb3JkaW5hdGVzLngsXG4gICAgICAgICAgaGVpZ2h0OiBjbGFzc05hbWUuaW5jbHVkZXMoJ1RPUCcpID8gIHBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gY29vcmRpbmF0ZXMueSA6ICBwYXJlbnRFbGVtZW50Lm9mZnNldEhlaWdodCArIGNvb3JkaW5hdGVzLnksXG4gICAgICAgICAgcG9zaXRpb246IHtcbiAgICAgICAgICAgIHg6IHBhcmVudEVsZW1lbnQub2Zmc2V0TGVmdCArIGNvb3JkaW5hdGVzLngsXG4gICAgICAgICAgICB5OiBwYXJlbnRFbGVtZW50Lm9mZnNldFRvcCArIGNvb3JkaW5hdGVzLnlcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwic2VsZWN0ZWRcIiBjbGFzcz1cInJlc2l6ZS1oYW5kbGVyc1wiPlxuICA8ZGl2ICNoYW5kbGUgI3RvcExlZnRcbiAgICAgICBjbGFzcz1cIlRPUC1MRUZUIGhhbmRsZVwiXG4gICAgICAgbXZEcmFnZ2FibGVcbiAgICAgICAocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkZXZlbnQpXCJcbiAgICAgICAoY29vcmRpbmF0ZXMpPVwicmVzaXplKHRvcExlZnQuY2xhc3NOYW1lLCAkZXZlbnQpXCI+PC9kaXY+XG4gIDxkaXYgI2hhbmRsZSAjdG9wUmlnaHRcbiAgICAgICBjbGFzcz1cIlRPUC1SSUdIVCBoYW5kbGVcIlxuICAgICAgIG12RHJhZ2dhYmxlXG4gICAgICAgKHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGV2ZW50KVwiXG4gICAgICAgKGNvb3JkaW5hdGVzKT1cInJlc2l6ZSh0b3BSaWdodC5jbGFzc05hbWUsICRldmVudClcIj48L2Rpdj5cbiAgPGRpdiAjaGFuZGxlICNib3R0b21MZWZ0XG4gICAgICAgY2xhc3M9XCJCT1RUT00tTEVGVCBoYW5kbGVcIlxuICAgICAgIG12RHJhZ2dhYmxlXG4gICAgICAgKHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGV2ZW50KVwiXG4gICAgICAgKGNvb3JkaW5hdGVzKT1cInJlc2l6ZShib3R0b21MZWZ0LmNsYXNzTmFtZSwgJGV2ZW50KVwiPjwvZGl2PlxuICA8ZGl2ICNoYW5kbGUgI2JvdHRvbVJpZ2h0XG4gICAgICAgY2xhc3M9XCJCT1RUT00tUklHSFQgaGFuZGxlXCJcbiAgICAgICBtdkRyYWdnYWJsZVxuICAgICAgIChwb2ludGVyZG93bik9XCJvblBvaW50ZXJEb3duKCRldmVudClcIlxuICAgICAgIChjb29yZGluYXRlcyk9XCJyZXNpemUoYm90dG9tUmlnaHQuY2xhc3NOYW1lLCAkZXZlbnQpXCI+PC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,25 +0,0 @@
1
- import { ElementRef, EventEmitter } from '@angular/core';
2
- import { Position } from './model/position.model';
3
- import * as i0 from "@angular/core";
4
- export declare class DraggableElementDirective {
5
- private el;
6
- originalPosition: Position;
7
- private pointerDown;
8
- rotate: number;
9
- coordinates: EventEmitter<Position>;
10
- stopped: EventEmitter<any>;
11
- constructor(el: ElementRef);
12
- onPointerDown(event: PointerEvent): void;
13
- onPointerUp(): void;
14
- onPointerMove(event: PointerEvent): void;
15
- onWindowPointerUp(): void;
16
- onPanStart(event: any): void;
17
- onPanEnd(): void;
18
- onPanMove(event: any): void;
19
- onWindowPanEnd(): void;
20
- private setOriginalPosition;
21
- private setNewPosition;
22
- static ɵfac: i0.ɵɵFactoryDeclaration<DraggableElementDirective, never>;
23
- static ɵdir: i0.ɵɵDirectiveDeclaration<DraggableElementDirective, "[mvDraggable]", never, { "rotate": { "alias": "rotate"; "required": false; }; }, { "coordinates": "coordinates"; "stopped": "stopped"; }, never, never, false, never>;
24
- }
25
- //# sourceMappingURL=draggable-element.directive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"draggable-element.directive.d.ts","sourceRoot":"","sources":["../../../../../../../projects/media-viewer/src/lib/annotations/annotation-set/annotation-view/rectangle/draggable-element.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,YAAY,EAA+B,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;;AAElD,qBAGa,yBAAyB;IASxB,OAAO,CAAC,EAAE;IAPtB,gBAAgB,EAAE,QAAQ,CAAC;IAC3B,OAAO,CAAC,WAAW,CAAkB;IAE5B,MAAM,SAAK;IACV,WAAW,yBAAgC;IAC3C,OAAO,oBAAsB;gBAEnB,EAAE,EAAE,UAAU;IAIO,aAAa,CAAC,KAAK,EAAE,YAAY;IAM/C,WAAW;IAIU,aAAa,CAAC,KAAK,EAAE,YAAY;IAW/C,iBAAiB;IAIb,UAAU,CAAC,KAAK,EAAE,GAAG;IAInC,QAAQ;IAIY,SAAS,CAAC,KAAK,EAAE,GAAG;IAIjC,cAAc;IAI7C,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,cAAc;yCAlFX,yBAAyB;2CAAzB,yBAAyB;CAkHrC"}
@@ -1,7 +0,0 @@
1
- export interface HandleBar {
2
- left: string;
3
- right: string;
4
- top: string;
5
- bottom: string;
6
- }
7
- //# sourceMappingURL=handle-bar.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-bar.model.d.ts","sourceRoot":"","sources":["../../../../../../../../projects/media-viewer/src/lib/annotations/annotation-set/annotation-view/rectangle/model/handle-bar.model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1,5 +0,0 @@
1
- export interface Position {
2
- x: number;
3
- y: number;
4
- }
5
- //# sourceMappingURL=position.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"position.model.d.ts","sourceRoot":"","sources":["../../../../../../../../projects/media-viewer/src/lib/annotations/annotation-set/annotation-view/rectangle/model/position.model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX"}
@@ -1,7 +0,0 @@
1
- import { Position } from './position.model';
2
- export interface Size {
3
- width: number;
4
- height: number;
5
- position: Position;
6
- }
7
- //# sourceMappingURL=size.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"size.model.d.ts","sourceRoot":"","sources":["../../../../../../../../projects/media-viewer/src/lib/annotations/annotation-set/annotation-view/rectangle/model/size.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAE1C,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;CACpB"}
@@ -1,11 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./draggable-element.directive";
3
- import * as i2 from "./resizable-element.directive";
4
- import * as i3 from "./resize-handlers/resize-handlers.component";
5
- import * as i4 from "@angular/common";
6
- export declare class MutableDivModule {
7
- static ɵfac: i0.ɵɵFactoryDeclaration<MutableDivModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<MutableDivModule, [typeof i1.DraggableElementDirective, typeof i2.ResizableElementDirective, typeof i3.ResizeHandlersComponent], [typeof i4.CommonModule], [typeof i1.DraggableElementDirective, typeof i2.ResizableElementDirective]>;
9
- static ɵinj: i0.ɵɵInjectorDeclaration<MutableDivModule>;
10
- }
11
- //# sourceMappingURL=mutable-div.module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutable-div.module.d.ts","sourceRoot":"","sources":["../../../../../../../projects/media-viewer/src/lib/annotations/annotation-set/annotation-view/rectangle/mutable-div.module.ts"],"names":[],"mappings":";;;;;AAQA,qBAca,gBAAgB;yCAAhB,gBAAgB;0CAAhB,gBAAgB;0CAAhB,gBAAgB;CAAI"}
@@ -1,22 +0,0 @@
1
- import { OnInit, ComponentFactoryResolver, ComponentRef, ElementRef, EventEmitter, OnChanges, ViewContainerRef } from '@angular/core';
2
- import { ResizeHandlersComponent } from './resize-handlers/resize-handlers.component';
3
- import * as i0 from "@angular/core";
4
- export declare class ResizableElementDirective implements OnInit, OnChanges {
5
- private el;
6
- private container;
7
- private componentFactoryResolver;
8
- rotate: number;
9
- selected: boolean;
10
- stopped: EventEmitter<any>;
11
- resizeHandlersComponent: ComponentRef<ResizeHandlersComponent>;
12
- constructor(el: ElementRef, container: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver);
13
- ngOnInit(): void;
14
- ngOnChanges(): void;
15
- addHandlersToElement(): void;
16
- onPointerDown(): void;
17
- onPointerUp(): void;
18
- onWindowPointerUp(targetEvent: any): void;
19
- static ɵfac: i0.ɵɵFactoryDeclaration<ResizableElementDirective, never>;
20
- static ɵdir: i0.ɵɵDirectiveDeclaration<ResizableElementDirective, "[mvResizable]", never, { "rotate": { "alias": "rotate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, { "stopped": "stopped"; }, never, never, false, never>;
21
- }
22
- //# sourceMappingURL=resizable-element.directive.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resizable-element.directive.d.ts","sourceRoot":"","sources":["../../../../../../../projects/media-viewer/src/lib/annotations/annotation-set/annotation-view/rectangle/resizable-element.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,wBAAwB,EACxB,YAAY,EAEZ,UAAU,EACV,YAAY,EAIZ,SAAS,EACT,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;;AAEtF,qBAGa,yBAA0B,YAAW,MAAM,EAAE,SAAS;IAQrD,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,wBAAwB;IARnC,MAAM,SAAK;IACX,QAAQ,UAAS;IAChB,OAAO,oBAAsB;IAEvC,uBAAuB,EAAE,YAAY,CAAC,uBAAuB,CAAC,CAAC;gBAE3C,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,gBAAgB,EAC3B,wBAAwB,EAAE,wBAAwB;IAEtE,QAAQ,IAAI,IAAI;IAIhB,WAAW,IAAI,IAAI;IAOnB,oBAAoB;IASS,aAAa;IAIf,WAAW;IAIe,iBAAiB,CAAC,WAAW,KAAA;yCAxCvE,yBAAyB;2CAAzB,yBAAyB;CA6CrC"}
@@ -1,23 +0,0 @@
1
- import { AfterViewInit, ElementRef, OnChanges, QueryList } from '@angular/core';
2
- import { Position } from '../model/position.model';
3
- import { Size } from '../model/size.model';
4
- import { HandleBar } from '../model/handle-bar.model';
5
- import * as i0 from "@angular/core";
6
- export declare class ResizeHandlersComponent implements AfterViewInit, OnChanges {
7
- parentElement: ElementRef;
8
- rotate: number;
9
- selected: boolean;
10
- handles: QueryList<ElementRef>;
11
- minimumSize: number;
12
- constructor();
13
- ngAfterViewInit(): void;
14
- ngOnChanges(): void;
15
- setHandlePositions(): void;
16
- setHandleStyles(element: ElementRef, styles: HandleBar): void;
17
- onPointerDown(event: PointerEvent): void;
18
- resize(className: string, coordinates: Position): void;
19
- calculatingPosition(parentElement: any, className: string, coordinates: Position): Size;
20
- static ɵfac: i0.ɵɵFactoryDeclaration<ResizeHandlersComponent, never>;
21
- static ɵcmp: i0.ɵɵComponentDeclaration<ResizeHandlersComponent, "mv-lib-resize-handlers", never, { "parentElement": { "alias": "parentElement"; "required": false; }; "rotate": { "alias": "rotate"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, {}, never, never, false, never>;
22
- }
23
- //# sourceMappingURL=resize-handlers.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resize-handlers.component.d.ts","sourceRoot":"","sources":["../../../../../../../../projects/media-viewer/src/lib/annotations/annotation-set/annotation-view/rectangle/resize-handlers/resize-handlers.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EAEb,UAAU,EAEV,SAAS,EACT,SAAS,EAEV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;;AAEtD,qBAKa,uBAAwB,YAAW,aAAa,EAAE,SAAS;IAE7D,aAAa,EAAE,UAAU,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,UAAS;IAEF,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAEvD,WAAW,SAAM;;IAIjB,eAAe,IAAI,IAAI;IAIvB,WAAW,IAAI,IAAI;IAMnB,kBAAkB,IAAI,IAAI;IAkB1B,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS;IAOtD,aAAa,CAAC,KAAK,EAAE,YAAY;IAIjC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ;IAyB/C,mBAAmB,CAAC,aAAa,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAG,IAAI;yCA5E5E,uBAAuB;2CAAvB,uBAAuB;CAoHnC"}