@hmcts/media-viewer 2.7.22 → 2.7.23
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.
- package/bundles/hmcts-media-viewer.umd.js +4898 -4786
- package/bundles/hmcts-media-viewer.umd.js.map +1 -1
- package/bundles/hmcts-media-viewer.umd.min.js +1 -1
- package/bundles/hmcts-media-viewer.umd.min.js.map +1 -1
- package/esm2015/hmcts-media-viewer.js +20 -20
- package/esm2015/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +8 -2
- package/esm2015/lib/icp/icp-update.service.js +22 -40
- package/esm2015/lib/icp/icp.events.js +20 -0
- package/esm2015/lib/icp/icp.interfaces.js +3 -1
- package/esm2015/lib/icp/socket.service.js +133 -43
- package/esm2015/lib/media-viewer.component.js +2 -2
- package/esm2015/lib/viewers/pdf-viewer/pdf-viewer.component.js +11 -2
- package/esm5/hmcts-media-viewer.js +20 -20
- package/esm5/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.js +8 -2
- package/esm5/lib/icp/icp-update.service.js +23 -40
- package/esm5/lib/icp/icp.events.js +20 -0
- package/esm5/lib/icp/icp.interfaces.js +3 -1
- package/esm5/lib/icp/socket.service.js +143 -45
- package/esm5/lib/media-viewer.component.js +2 -2
- package/esm5/lib/viewers/pdf-viewer/pdf-viewer.component.js +10 -2
- package/fesm2015/hmcts-media-viewer.js +4317 -4213
- package/fesm2015/hmcts-media-viewer.js.map +1 -1
- package/fesm5/hmcts-media-viewer.js +4875 -4763
- package/fesm5/hmcts-media-viewer.js.map +1 -1
- package/hmcts-media-viewer-v2.7.23.tgz +0 -0
- package/hmcts-media-viewer.d.ts +19 -19
- package/hmcts-media-viewer.metadata.json +1 -1
- package/lib/annotations/annotation-set/annotation-create/box-highlight-create/box-highlight-create.component.d.ts +4 -3
- package/lib/icp/icp-update.service.d.ts +0 -9
- package/lib/icp/icp.events.d.ts +13 -0
- package/lib/icp/icp.interfaces.d.ts +1 -0
- package/lib/icp/socket.service.d.ts +13 -4
- package/lib/viewers/pdf-viewer/pdf-viewer.component.d.ts +3 -1
- package/package.json +1 -1
- package/hmcts-media-viewer-v2.7.22.tgz +0 -0
|
@@ -3,11 +3,17 @@
|
|
|
3
3
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
4
4
|
*/
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
|
-
import { BehaviorSubject,
|
|
7
|
-
import
|
|
6
|
+
import { BehaviorSubject, of, Subject } from 'rxjs';
|
|
7
|
+
import { IcpEvents } from './icp.events';
|
|
8
8
|
export class SocketService {
|
|
9
9
|
constructor() {
|
|
10
10
|
this.connected$ = new BehaviorSubject(false);
|
|
11
|
+
this.sessionJoined$ = new Subject();
|
|
12
|
+
this.presenterUpdated$ = new Subject();
|
|
13
|
+
this.clientDisconnected$ = new Subject();
|
|
14
|
+
this.participantUpdated$ = new Subject();
|
|
15
|
+
this.newParticipantJoined$ = new Subject();
|
|
16
|
+
this.screenUpdated$ = new Subject();
|
|
11
17
|
}
|
|
12
18
|
/**
|
|
13
19
|
* @return {?}
|
|
@@ -16,40 +22,69 @@ export class SocketService {
|
|
|
16
22
|
this.subscription.unsubscribe();
|
|
17
23
|
}
|
|
18
24
|
/**
|
|
25
|
+
* @param {?} url
|
|
19
26
|
* @return {?}
|
|
20
27
|
*/
|
|
21
|
-
connect() {
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
connect(url) {
|
|
29
|
+
return this.getSocketClient(url).subscribe((/**
|
|
30
|
+
* @param {?} socket
|
|
24
31
|
* @return {?}
|
|
25
32
|
*/
|
|
26
|
-
() =>
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
(socket) => {
|
|
34
|
+
socket.onopen = (/**
|
|
35
|
+
* @param {?} event
|
|
36
|
+
* @return {?}
|
|
37
|
+
*/
|
|
38
|
+
(event) => {
|
|
39
|
+
this.connected$.next(true);
|
|
40
|
+
});
|
|
41
|
+
socket.onmessage = (/**
|
|
42
|
+
* @param {?} event
|
|
43
|
+
* @return {?}
|
|
44
|
+
*/
|
|
45
|
+
(event) => {
|
|
46
|
+
console.log('onmessage');
|
|
47
|
+
/** @type {?} */
|
|
48
|
+
const eventData = JSON.parse(event.data);
|
|
49
|
+
if (eventData.data && eventData.data.eventName) {
|
|
50
|
+
this.messageEventHandller(eventData.data.eventName, eventData.data.data);
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
socket.onerror = (/**
|
|
54
|
+
* @param {?} event
|
|
55
|
+
* @return {?}
|
|
56
|
+
*/
|
|
57
|
+
(event) => {
|
|
58
|
+
console.log('onerror');
|
|
59
|
+
});
|
|
60
|
+
socket.onclose = (/**
|
|
61
|
+
* @param {?} event
|
|
62
|
+
* @return {?}
|
|
63
|
+
*/
|
|
64
|
+
(event) => {
|
|
65
|
+
console.log('onclose');
|
|
66
|
+
});
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @return {?}
|
|
71
|
+
*/
|
|
72
|
+
connected() {
|
|
73
|
+
return this.connected$.asObservable();
|
|
31
74
|
}
|
|
32
75
|
/**
|
|
33
76
|
* @param {?} session
|
|
34
77
|
* @return {?}
|
|
35
78
|
*/
|
|
36
79
|
join(session) {
|
|
37
|
-
this.
|
|
38
|
-
* @param {?} connected
|
|
39
|
-
* @return {?}
|
|
40
|
-
*/
|
|
41
|
-
connected => {
|
|
42
|
-
if (connected) {
|
|
43
|
-
this.socket.emit('join', session);
|
|
44
|
-
}
|
|
45
|
-
}));
|
|
80
|
+
this.emit(IcpEvents.SESSION_JOIN, session);
|
|
46
81
|
}
|
|
47
82
|
/**
|
|
48
83
|
* @param {?} session
|
|
49
84
|
* @return {?}
|
|
50
85
|
*/
|
|
51
86
|
leave(session) {
|
|
52
|
-
this.
|
|
87
|
+
this.emit(IcpEvents.SESSION_LEAVE, session);
|
|
53
88
|
this.subscription.unsubscribe();
|
|
54
89
|
}
|
|
55
90
|
/**
|
|
@@ -58,38 +93,81 @@ export class SocketService {
|
|
|
58
93
|
* @return {?}
|
|
59
94
|
*/
|
|
60
95
|
emit(event, data) {
|
|
61
|
-
this.socket.
|
|
96
|
+
this.socket.send(JSON.stringify({
|
|
97
|
+
type: 'event',
|
|
98
|
+
event,
|
|
99
|
+
data
|
|
100
|
+
}));
|
|
62
101
|
}
|
|
63
102
|
/**
|
|
64
103
|
* @param {?} event
|
|
65
104
|
* @return {?}
|
|
66
105
|
*/
|
|
67
106
|
listen(event) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
107
|
+
switch (event) {
|
|
108
|
+
case IcpEvents.SESSION_JOINED: {
|
|
109
|
+
return this.sessionJoined$.asObservable();
|
|
110
|
+
}
|
|
111
|
+
case IcpEvents.PRESENTER_UPDATED: {
|
|
112
|
+
return this.presenterUpdated$.asObservable();
|
|
113
|
+
}
|
|
114
|
+
case IcpEvents.CLIENT_DISCONNECTED: {
|
|
115
|
+
return this.clientDisconnected$.asObservable();
|
|
116
|
+
}
|
|
117
|
+
case IcpEvents.PARTICIPANTS_UPDATED: {
|
|
118
|
+
return this.participantUpdated$.asObservable();
|
|
119
|
+
}
|
|
120
|
+
case IcpEvents.NEW_PARTICIPANT_JOINED: {
|
|
121
|
+
return this.newParticipantJoined$.asObservable();
|
|
122
|
+
}
|
|
123
|
+
case IcpEvents.SCREEN_UPDATED: {
|
|
124
|
+
return this.screenUpdated$.asObservable();
|
|
125
|
+
}
|
|
126
|
+
default: {
|
|
127
|
+
break;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
85
130
|
}
|
|
86
131
|
/**
|
|
132
|
+
* @param {?} eventName
|
|
133
|
+
* @param {?} data
|
|
87
134
|
* @return {?}
|
|
88
135
|
*/
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
136
|
+
messageEventHandller(eventName, data) {
|
|
137
|
+
switch (eventName) {
|
|
138
|
+
case IcpEvents.SESSION_JOINED: {
|
|
139
|
+
this.sessionJoined$.next(data);
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
case IcpEvents.PRESENTER_UPDATED: {
|
|
143
|
+
this.presenterUpdated$.next(data);
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
case IcpEvents.CLIENT_DISCONNECTED: {
|
|
147
|
+
this.clientDisconnected$.next();
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
case IcpEvents.PARTICIPANTS_UPDATED: {
|
|
151
|
+
this.participantUpdated$.next(data);
|
|
152
|
+
break;
|
|
153
|
+
}
|
|
154
|
+
case IcpEvents.NEW_PARTICIPANT_JOINED: {
|
|
155
|
+
this.newParticipantJoined$.next();
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
case IcpEvents.SCREEN_UPDATED: {
|
|
159
|
+
this.screenUpdated$.next(data);
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* @param {?} url
|
|
166
|
+
* @return {?}
|
|
167
|
+
*/
|
|
168
|
+
getSocketClient(url) {
|
|
169
|
+
this.socket = new WebSocket(url, 'json.webpubsub.azure.v1');
|
|
170
|
+
return of(this.socket);
|
|
93
171
|
}
|
|
94
172
|
}
|
|
95
173
|
SocketService.decorators = [
|
|
@@ -107,5 +185,17 @@ if (false) {
|
|
|
107
185
|
SocketService.prototype.subscription;
|
|
108
186
|
/** @type {?} */
|
|
109
187
|
SocketService.prototype.connected$;
|
|
188
|
+
/** @type {?} */
|
|
189
|
+
SocketService.prototype.sessionJoined$;
|
|
190
|
+
/** @type {?} */
|
|
191
|
+
SocketService.prototype.presenterUpdated$;
|
|
192
|
+
/** @type {?} */
|
|
193
|
+
SocketService.prototype.clientDisconnected$;
|
|
194
|
+
/** @type {?} */
|
|
195
|
+
SocketService.prototype.participantUpdated$;
|
|
196
|
+
/** @type {?} */
|
|
197
|
+
SocketService.prototype.newParticipantJoined$;
|
|
198
|
+
/** @type {?} */
|
|
199
|
+
SocketService.prototype.screenUpdated$;
|
|
110
200
|
}
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvbWVkaWEtdmlld2VyLyIsInNvdXJjZXMiOlsibGliL2ljcC9zb2NrZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFvQixFQUFFLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSXpDLE1BQU0sT0FBTyxhQUFhO0lBWXhCO1FBUkEsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pELG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMvQixzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ2xDLHdCQUFtQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDcEMsd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNwQywwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLG1CQUFjLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVmLENBQUM7Ozs7SUFFakIsV0FBVztRQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7Ozs7SUFFRCxPQUFPLENBQUMsR0FBVztRQUNqQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUzs7OztRQUFDLENBQUMsTUFBaUIsRUFBRSxFQUFFO1lBRS9ELE1BQU0sQ0FBQyxNQUFNOzs7O1lBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFBLENBQUM7WUFFRixNQUFN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ZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZyb20sIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEljcEV2ZW50cyB9IGZyb20gJy4vaWNwLmV2ZW50cyc7XG5pbXBvcnQgeyBJY3BQYXJ0aWNpcGFudCB9IGZyb20gJy4vaWNwLmludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU29ja2V0U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzb2NrZXQ6IFdlYlNvY2tldDtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGNvbm5lY3RlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgc2Vzc2lvbkpvaW5lZCQgPSBuZXcgU3ViamVjdCgpO1xuICBwcmVzZW50ZXJVcGRhdGVkJCA9IG5ldyBTdWJqZWN0KCk7XG4gIGNsaWVudERpc2Nvbm5lY3RlZCQgPSBuZXcgU3ViamVjdCgpO1xuICBwYXJ0aWNpcGFudFVwZGF0ZWQkID0gbmV3IFN1YmplY3QoKTtcbiAgbmV3UGFydGljaXBhbnRKb2luZWQkID0gbmV3IFN1YmplY3QoKTtcbiAgc2NyZWVuVXBkYXRlZCQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNvbm5lY3QodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTb2NrZXRDbGllbnQodXJsKS5zdWJzY3JpYmUoKHNvY2tldDogV2ViU29ja2V0KSA9PiB7XG5cbiAgICAgIHNvY2tldC5vbm9wZW4gPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuY29ubmVjdGVkJC5uZXh0KHRydWUpO1xuICAgICAgfTtcblxuICAgICAgc29ja2V0Lm9ubWVzc2FnZSA9IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdvbm1lc3NhZ2UnKTtcbiAgICAgICAgY29uc3QgZXZlbnREYXRhID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTtcbiAgICAgICAgaWYgKGV2ZW50RGF0YS5kYXRhICYmIGV2ZW50RGF0YS5kYXRhLmV2ZW50TmFtZSkge1xuICAgICAgICAgIHRoaXMubWVzc2FnZUV2ZW50SGFuZGxsZXIoZXZlbnREYXRhLmRhdGEuZXZlbnROYW1lLCBldmVudERhdGEuZGF0YS5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgc29ja2V0Lm9uZXJyb3IgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdvbmVycm9yJyk7XG4gICAgICB9O1xuXG4gICAgICBzb2NrZXQub25jbG9zZSA9IChldmVudDogQ2xvc2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygnb25jbG9zZScpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbm5lY3RlZCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgam9pbihzZXNzaW9uKSB7XG4gICAgdGhpcy5lbWl0KEljcEV2ZW50cy5TRVNTSU9OX0pPSU4sIHNlc3Npb24pO1xuICB9XG5cbiAgbGVhdmUoc2Vzc2lvbikge1xuICAgIHRoaXMuZW1pdChJY3BFdmVudHMuU0VTU0lPTl9MRUFWRSwgc2Vzc2lvbik7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGVtaXQoZXZlbnQ6IHN0cmluZywgZGF0YTogYW55KSB7XG4gICAgdGhpcy5zb2NrZXQuc2VuZChKU09OLnN0cmluZ2lmeSh7XG4gICAgICB0eXBlOiAnZXZlbnQnLFxuICAgICAgZXZlbnQsXG4gICAgICBkYXRhXG4gICAgfSkpO1xuICB9XG5cbiAgbGlzdGVuKGV2ZW50OiBJY3BFdmVudHMpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHN3aXRjaCAoZXZlbnQpIHtcbiAgICAgIGNhc2UgSWNwRXZlbnRzLlNFU1NJT05fSk9JTkVEOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb25Kb2luZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuUFJFU0VOVEVSX1VQREFURUQ6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJlc2VudGVyVXBkYXRlZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5DTElFTlRfRElTQ09OTkVDVEVEOiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNsaWVudERpc2Nvbm5lY3RlZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5QQVJUSUNJUEFOVFNfVVBEQVRFRDoge1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJ0aWNpcGFudFVwZGF0ZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuTkVXX1BBUlRJQ0lQQU5UX0pPSU5FRDoge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXdQYXJ0aWNpcGFudEpvaW5lZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5TQ1JFRU5fVVBEQVRFRDoge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JlZW5VcGRhdGVkJC5hc09ic2VydmFibGUoKTtcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbWVzc2FnZUV2ZW50SGFuZGxsZXIoZXZlbnROYW1lOiBzdHJpbmcsIGRhdGE6IGFueSkge1xuICAgIHN3aXRjaCAoZXZlbnROYW1lKSB7XG4gICAgICBjYXNlIEljcEV2ZW50cy5TRVNTSU9OX0pPSU5FRDoge1xuICAgICAgICB0aGlzLnNlc3Npb25Kb2luZWQkLm5leHQoZGF0YSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBJY3BFdmVudHMuUFJFU0VOVEVSX1VQREFURUQ6IHtcbiAgICAgICAgdGhpcy5wcmVzZW50ZXJVcGRhdGVkJC5uZXh0KGRhdGEpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgSWNwRXZlbnRzLkNMSUVOVF9ESVNDT05ORUNURUQ6IHtcbiAgICAgICAgdGhpcy5jbGllbnREaXNjb25uZWN0ZWQkLm5leHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5QQVJUSUNJUEFOVFNfVVBEQVRFRDoge1xuICAgICAgICB0aGlzLnBhcnRpY2lwYW50VXBkYXRlZCQubmV4dChkYXRhKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5ORVdfUEFSVElDSVBBTlRfSk9JTkVEOiB7XG4gICAgICAgIHRoaXMubmV3UGFydGljaXBhbnRKb2luZWQkLm5leHQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIEljcEV2ZW50cy5TQ1JFRU5fVVBEQVRFRDoge1xuICAgICAgICB0aGlzLnNjcmVlblVwZGF0ZWQkLm5leHQoZGF0YSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldFNvY2tldENsaWVudCh1cmw6IHN0cmluZyk6IE9ic2VydmFibGU8V2ViU29ja2V0PiB7XG4gICAgdGhpcy5zb2NrZXQgPSBuZXcgV2ViU29ja2V0KHVybCwgJ2pzb24ud2VicHVic3ViLmF6dXJlLnYxJyk7XG4gICAgcmV0dXJuIG9mKHRoaXMuc29ja2V0KTtcbiAgfVxufVxuIl19
|
|
@@ -129,7 +129,7 @@ export class MediaViewerComponent {
|
|
|
129
129
|
if (this.enableAnnotations && !(this.multimediaContent || this.unsupportedContent)) {
|
|
130
130
|
this.store.dispatch(new fromAnnoActions.LoadAnnotationSet(this.documentId));
|
|
131
131
|
}
|
|
132
|
-
if (this.enableRedactions && !(this.multimediaContent || this.unsupportedContent)) {
|
|
132
|
+
if (this.enableRedactions && !(this.multimediaContent || this.unsupportedContent) && this.documentId) {
|
|
133
133
|
this.store.dispatch(new fromRedactActions.LoadRedactions(this.documentId));
|
|
134
134
|
}
|
|
135
135
|
if (this.contentType === 'image') {
|
|
@@ -378,4 +378,4 @@ if (false) {
|
|
|
378
378
|
*/
|
|
379
379
|
MediaViewerComponent.prototype.cdr;
|
|
380
380
|
}
|
|
381
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9tZWRpYS12aWV3ZXIvIiwic291cmNlcyI6WyJsaWIvbWVkaWEtdmlld2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLG1CQUFtQixFQUFFLHdCQUF3QixFQUM3QyxpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLDhCQUE4QixFQUMvQixNQUFNLDZDQUE2QyxDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXBHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuRixPQUFPLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEtBQUssaUJBQWlCLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxLQUFLLHFCQUFxQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sS0FBSyxlQUFlLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxLQUFLLGlCQUFpQixNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxrQ0FBa0MsQ0FBQzs7O0lBR3RFLEtBQU0sS0FBSztJQUNYLE9BQVEsT0FBTzs7OztJQUlmLEtBQU0sS0FBSztJQUNYLEtBQU0sS0FBSzs7OztJQUlYLE9BQVEsT0FBTztJQUNmLE1BQU8sTUFBTTtJQUNiLFlBQWEsWUFBWTtJQUN6QixLQUFN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Qzs7Ozs7SUFDckMsMENBQTJCOzs7OztJQUd6QixxQ0FBa0Q7O0lBQ2xELDhDQUE4RDs7SUFDOUQsNkNBQWtEOzs7OztJQUNsRCxtQ0FBMEM7Ozs7O0lBQzFDLDhDQUErQzs7Ozs7SUFDL0MscUNBQXlCOzs7OztJQUN6QixtQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdDaGVja2VkLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkZWZhdWx0SW1hZ2VPcHRpb25zLCBkZWZhdWx0TXVsdGltZWRpYU9wdGlvbnMsXG4gIGRlZmF1bHRQZGZPcHRpb25zLFxuICBkZWZhdWx0VW5zdXBwb3J0ZWRPcHRpb25zLFxuICBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2Vcbn0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXItYnV0dG9uLXZpc2liaWxpdHkuc2VydmljZSc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uU2V0IH0gZnJvbSAnLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXNldC5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi90b29sYmFyL3Rvb2xiYXItZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBbm5vdGF0aW9uQXBpU2VydmljZSB9IGZyb20gJy4vYW5ub3RhdGlvbnMvc2VydmljZXMvYW5ub3RhdGlvbi1hcGkvYW5ub3RhdGlvbi1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZVR5cGUsIFZpZXdlckV4Y2VwdGlvbiB9IGZyb20gJy4vdmlld2Vycy92aWV3ZXItZXhjZXB0aW9uLm1vZGVsJztcbmltcG9ydCB7IENvbW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy9jb21tZW50LXNldC9jb21tZW50L2NvbW1lbnQuc2VydmljZSc7XG5pbXBvcnQgJ2hhbW1lcmpzJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgKiBhcyBmcm9tU3RvcmUgZnJvbSAnLi9zdG9yZS9yZWR1Y2Vycy9yZWR1Y2Vycyc7XG5pbXBvcnQgKiBhcyBmcm9tQW5ub1NlbGVjdG9ycyBmcm9tICcuL3N0b3JlL3NlbGVjdG9ycy9hbm5vdGF0aW9uLnNlbGVjdG9ycyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnRzU2VsZWN0b3IgZnJvbSAnLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21Bbm5vQWN0aW9ucyBmcm9tICcuL3N0b3JlL2FjdGlvbnMvYW5ub3RhdGlvbi5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21SZWRhY3RBY3Rpb25zIGZyb20gJy4vc3RvcmUvYWN0aW9ucy9yZWRhY3Rpb24uYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnRBY3Rpb25zIGZyb20gJy4vc3RvcmUvYWN0aW9ucy9kb2N1bWVudC5hY3Rpb25zJztcblxuZW51bSBDb3JlQ29udGVudFR5cGVzIHtcbiAgUERGID0gJ3BkZicsXG4gIElNQUdFID0gJ2ltYWdlJ1xufVxuXG5lbnVtIE11bHRpbWVkaWFDb250ZW50VHlwZXMge1xuICBNUDQgPSAnbXA0JyxcbiAgTVAzID0gJ21wMycsXG59XG5cbmVudW0gQ29udmVydGlibGVDb250ZW50VHlwZXMge1xuICBFWENFTCA9ICdleGNlbCcsXG4gIFdPUkQgPSAnd29yZCcsXG4gIFBPV0VSUE9JTlQgPSAncG93ZXJwb2ludCcsXG4gIFRYVCA9ICd0eHQnLFxuICBSVEYgPSAncnRmJ1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1tZWRpYS12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVkaWEtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBNZWRpYVZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdDaGVja2VkIHtcblxuICBAVmlld0NoaWxkKCd2aWV3ZXJSZWYnKSB2aWV3ZXJSZWY6IEVsZW1lbnRSZWY7XG5cbiAgQElucHV0KCkgdXJsO1xuICBASW5wdXQoKSBkb3dubG9hZEZpbGVOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRlbnRUeXBlOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgc2hvd1Rvb2xiYXIgPSB0cnVlO1xuICBASW5wdXQoKSB0b29sYmFyQnV0dG9uT3ZlcnJpZGVzOiBhbnkgPSB7fTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGVpZ2h0OiBzdHJpbmc7XG4gIHB1YmxpYyB2aWV3ZXJIZWlnaHQ6IHN0cmluZztcblxuICBASW5wdXQoKSB3aWR0aCA9ICcxMDAlJztcblxuICBAT3V0cHV0KCkgbWVkaWFMb2FkU3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNwb25zZVR5cGU+KCk7XG4gIEBPdXRwdXQoKSB2aWV3ZXJFeGNlcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFZpZXdlckV4Y2VwdGlvbj4oKTtcbiAgQE91dHB1dCgpIHRvb2xiYXJFdmVudHNPdXRwdXQgPSBuZXcgRXZlbnRFbWl0dGVyPFRvb2xiYXJFdmVudFNlcnZpY2U+KCk7XG4gIEBPdXRwdXQoKSB1bnNhdmVkQ2hhbmdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBASW5wdXQoKSBlbmFibGVBbm5vdGF0aW9ucyA9IGZhbHNlO1xuICBASW5wdXQoKSBhbm5vdGF0aW9uQXBpVXJsO1xuXG4gIEBJbnB1dCgpIGVuYWJsZVJlZGFjdGlvbnMgPSBmYWxzZTtcbiAgQElucHV0KCkgZW5hYmxlSUNQID0gZmFsc2U7XG4gIEBJbnB1dCgpIG11bHRpbWVkaWFQbGF5ZXJFbmFibGVkID0gZmFsc2U7XG5cblxuICBASW5wdXQoKSBjYXNlSWQ6IHN0cmluZztcblxuICBtdWx0aW1lZGlhQ29udGVudCA9IGZhbHNlO1xuICBjb252ZXJ0aWJsZUNvbnRlbnQgPSBmYWxzZTtcbiAgdW5zdXBwb3J0ZWRDb250ZW50ID0gZmFsc2U7XG5cbiAgZG9jdW1lbnRUaXRsZTogc3RyaW5nO1xuICBzaG93Q29tbWVudFN1bW1hcnk6IGJvb2xlYW47XG4gIGFubm90YXRpb25TZXQkOiBPYnNlcnZhYmxlPEFubm90YXRpb25TZXQgfCB7fT47XG4gIGhhc1Njcm9sbEJhcjogYm9vbGVhbjtcbiAgdHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICBoYXNEaWZmZXJlbnRQYWdlU2l6ZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGRvY3VtZW50SWQ6IHN0cmluZztcblxuICBwcml2YXRlICRzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcHJldk9mZnNldDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGZyb21TdG9yZS5Bbm5vdGF0aW9uU2V0U3RhdGU+LFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBBbm5vdGF0aW9uQXBpU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1lbnRTZXJ2aWNlOiBDb21tZW50U2VydmljZSxcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBpZiAodGhpcy5hbm5vdGF0aW9uQXBpVXJsKSB7XG4gICAgICBhcGkuYW5ub3RhdGlvbkFwaVVybCA9IHRoaXMuYW5ub3RhdGlvbkFwaVVybDtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5hbm5vdGF0aW9uU2V0JCA9IHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbUFubm9TZWxlY3RvcnMuZ2V0QW5ub3RhdGlvblNldCkpO1xuICAgIHRoaXMuaGFzRGlmZmVyZW50UGFnZVNpemUkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tRG9jdW1lbnRzU2VsZWN0b3IuZ2V0UGFnZURpZmZlcmVuY2UpKTtcbiAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgdGhpcy50b29sYmFyRXZlbnRzT3V0cHV0LmVtaXQodGhpcy50b29sYmFyRXZlbnRzKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb25zID0gdGhpcy5jb21tZW50U2VydmljZS5nZXRVbnNhdmVkQ2hhbmdlcygpXG4gICAgICAuc3Vic2NyaWJlKGNoYW5nZXMgPT4gdGhpcy5vbkNvbW1lbnRDaGFuZ2UoY2hhbmdlcykpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbnMuYWRkKHRoaXMudG9vbGJhckV2ZW50cy5nZXRTaG93Q29tbWVudFN1bW1hcnkoKVxuICAgICAgLnN1YnNjcmliZShjaGFuZ2VzID0+IHRoaXMuc2hvd0NvbW1lbnRTdW1tYXJ5ID0gY2hhbmdlcykpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmhlaWdodCAmJiB0aGlzLnZpZXdlckhlaWdodCAhPT0gdGhpcy5oZWlnaHQpIHtcbiAgICAgIHRoaXMudmlld2VySGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmhlaWdodCkge1xuICAgICAgY29uc3QgY29tcE9mZnNldFRvcCA9IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7XG4gICAgICBjb25zdCB2aWV3ZXJPZmZzZXRUb3AgPSB0aGlzLnZpZXdlclJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgIGNvbnN0IG9mZnNldCA9IGNvbXBPZmZzZXRUb3AgKyB2aWV3ZXJPZmZzZXRUb3A7XG5cbiAgICAgIGlmICh0aGlzLnByZXZPZmZzZXQgIT09IG9mZnNldCkge1xuICAgICAgICB0aGlzLnZpZXdlckhlaWdodCA9IGBjYWxjKDEwMHZoIC0gJHtvZmZzZXR9cHgpYDtcbiAgICAgICAgdGhpcy5wcmV2T2Zmc2V0ID0gb2Zmc2V0O1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLmFubm90YXRpb25BcGlVcmwpIHtcbiAgICAgIHRoaXMuYXBpLmFubm90YXRpb25BcGlVcmwgPSB0aGlzLmFubm90YXRpb25BcGlVcmw7XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMudXJsKSB7XG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVzZXQoKTtcbiAgICAgIHRoaXMuY29tbWVudFNlcnZpY2UucmVzZXRDb21tZW50U2V0KCk7XG4gICAgICB0aGlzLmRvY3VtZW50SWQgPSB0aGlzLmV4dHJhY3RETVN0b3JlRG9jSWQodGhpcy51cmwpO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbURvY3VtZW50QWN0aW9ucy5TZXREb2N1bWVudElkKHRoaXMuZG9jdW1lbnRJZCkpO1xuICAgICAgaWYgKHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMgJiYgISh0aGlzLm11bHRpbWVkaWFDb250ZW50IHx8IHRoaXMudW5zdXBwb3J0ZWRDb250ZW50KSkge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tQW5ub0FjdGlvbnMuTG9hZEFubm90YXRpb25TZXQodGhpcy5kb2N1bWVudElkKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5lbmFibGVSZWRhY3Rpb25zICYmICEodGhpcy5tdWx0aW1lZGlhQ29udGVudCB8fCB0aGlzLnVuc3VwcG9ydGVkQ29udGVudCkpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbVJlZGFjdEFjdGlvbnMuTG9hZFJlZGFjdGlvbnModGhpcy5kb2N1bWVudElkKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jb250ZW50VHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICB0aGlzLmRvY3VtZW50VGl0bGUgPSBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLmNvbnZlcnRpYmxlQ29udGVudCA9IHRoaXMubmVlZHNDb252ZXJ0aW5nKCk7XG4gICAgICB0aGlzLm11bHRpbWVkaWFDb250ZW50ID0gdGhpcy5pc011bHRpbWVkaWEoKTtcbiAgICAgIHRoaXMudW5zdXBwb3J0ZWRDb250ZW50ID0gIXRoaXMuaXNTdXBwb3J0ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgdGhpcy5kZXRlY3RPcygpO1xuICAgIHRoaXMudHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmVlZHNDb252ZXJ0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKENvbnZlcnRpYmxlQ29udGVudFR5cGVzKS5pbmNsdWRlcyh0aGlzLmNvbnRlbnRUeXBlLnRvVXBwZXJDYXNlKCkpO1xuICB9XG5cbiAgaXNNdWx0aW1lZGlhKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKE11bHRpbWVkaWFDb250ZW50VHlwZXMpLmluY2x1ZGVzKHRoaXMuY29udGVudFR5cGUudG9VcHBlckNhc2UoKSk7XG4gIH1cblxuICBpc1N1cHBvcnRlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdXBwb3J0ZWRUeXBlcyA9IE9iamVjdC5hc3NpZ24oe30sIE11bHRpbWVkaWFDb250ZW50VHlwZXMsIENvbnZlcnRpYmxlQ29udGVudFR5cGVzLCBDb3JlQ29udGVudFR5cGVzKTtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50VHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyhzdXBwb3J0ZWRUeXBlcykuaW5jbHVkZXModGhpcy5jb250ZW50VHlwZS50b1VwcGVyQ2FzZSgpKTtcbiAgfVxuXG4gIG9uTWVkaWFMb2FkKHN0YXR1czogUmVzcG9uc2VUeXBlKSB7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChzdGF0dXMpO1xuICB9XG5cbiAgc2V0VG9vbGJhckJ1dHRvbnMoKSB7XG4gICAgaWYgKHRoaXMuY29udGVudFR5cGUgPT09IENvcmVDb250ZW50VHlwZXMuUERGIHx8IHRoaXMubmVlZHNDb252ZXJ0aW5nKCkpIHtcbiAgICAgIHRoaXMudG9vbGJhckJ1dHRvbnMuc2V0dXAoe1xuICAgICAgICAuLi5kZWZhdWx0UGRmT3B0aW9ucywgc2hvd0hpZ2hsaWdodEJ1dHRvbjogdGhpcy5lbmFibGVBbm5vdGF0aW9ucywgc2hvd0RyYXdCdXR0b246IHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMsXG4gICAgICAgIC4uLnRoaXMudG9vbGJhckJ1dHRvbk92ZXJyaWRlc1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRlbnRUeXBlID09PSBDb3JlQ29udGVudFR5cGVzLklNQUdFKSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdEltYWdlT3B0aW9ucywgc2hvd0RyYXdCdXR0b246IHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMsXG4gICAgICAgIC4uLnRoaXMudG9vbGJhckJ1dHRvbk92ZXJyaWRlc1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTXVsdGltZWRpYSgpKSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdE11bHRpbWVkaWFPcHRpb25zLFxuICAgICAgICAuLi50aGlzLnRvb2xiYXJCdXR0b25PdmVycmlkZXNcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdFVuc3VwcG9ydGVkT3B0aW9ucyxcbiAgICAgICAgLi4udGhpcy50b29sYmFyQnV0dG9uT3ZlcnJpZGVzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkxvYWRFeGNlcHRpb24oZXhjZXB0aW9uOiBWaWV3ZXJFeGNlcHRpb24pIHtcbiAgICB0aGlzLnZpZXdlckV4Y2VwdGlvbi5lbWl0KGV4Y2VwdGlvbik7XG4gICAgaWYgKCF0aGlzLmlzU3VwcG9ydGVkKCkpIHtcbiAgICAgIHRoaXMudHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnR5cGVFeGNlcHRpb24gPSB0cnVlO1xuICAgICAgdGhpcy5jb250ZW50VHlwZSA9IG51bGw7XG4gICAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgfVxuICB9XG5cbiAgb25Db21tZW50Q2hhbmdlKGNoYW5nZXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnVuc2F2ZWRDaGFuZ2VzLmVtaXQoY2hhbmdlcyk7XG4gIH1cblxuICBvbkRvY3VtZW50VGl0bGVDaGFuZ2UodGl0bGU6IHN0cmluZykge1xuICAgIHRoaXMuZG9jdW1lbnRUaXRsZSA9IHRpdGxlO1xuICB9XG5cbiAgLy8gSWYgc2VjdXJlIG1vZGUgaXMgZW5hYmxlZCAod2hpY2ggYWRkcyBcImRvY3VtZW50c3YyXCIgdG8gdGhlIGRvY3VtZW50SWQpLCBnZXQgcmlkIG9mIGl0XG4gIHByaXZhdGUgZXh0cmFjdERNU3RvcmVEb2NJZCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdXJsID0gdXJsLmluY2x1ZGVzKCcvZG9jdW1lbnRzLycpID8gdXJsLnNwbGl0KCcvZG9jdW1lbnRzLycpWzFdIDogdXJsO1xuICAgIHVybCA9IHVybC5pbmNsdWRlcygnL2RvY3VtZW50c3YyLycpID8gdXJsLnNwbGl0KCcvZG9jdW1lbnRzdjIvJylbMV0gOiB1cmw7XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKCcvYmluYXJ5JywgJycpO1xuICB9XG5cbiAgZGV0ZWN0T3MoKSB7XG4gICAgdGhpcy5oYXNTY3JvbGxCYXIgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdXaW4nKSAhPT0gLTE7XG4gIH1cbn1cbiJdfQ==
|
|
381
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9tZWRpYS12aWV3ZXIvIiwic291cmNlcyI6WyJsaWIvbWVkaWEtdmlld2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLG1CQUFtQixFQUFFLHdCQUF3QixFQUM3QyxpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLDhCQUE4QixFQUMvQixNQUFNLDZDQUE2QyxDQUFDO0FBRXJELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXBHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUNuRixPQUFPLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEtBQUssaUJBQWlCLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxLQUFLLHFCQUFxQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlFLE9BQU8sS0FBSyxlQUFlLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxLQUFLLGlCQUFpQixNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxrQ0FBa0MsQ0FBQzs7O0lBR3RFLEtBQU0sS0FBSztJQUNYLE9BQVEsT0FBTzs7OztJQUlmLEtBQU0sS0FBSztJQUNYLEtBQU0sS0FBSzs7OztJQUlYLE9BQVEsT0FBTztJQUNmLE1BQU8sTUFBTTtJQUNiLFlBQWEsWUFBWTtJQUN6QixLQUFN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QUFtQjs7Ozs7SUFFbkIsOENBQXFDOzs7OztJQUNyQywwQ0FBMkI7Ozs7O0lBR3pCLHFDQUFrRDs7SUFDbEQsOENBQThEOztJQUM5RCw2Q0FBa0Q7Ozs7O0lBQ2xELG1DQUEwQzs7Ozs7SUFDMUMsOENBQStDOzs7OztJQUMvQyxxQ0FBeUI7Ozs7O0lBQ3pCLG1DQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRlZmF1bHRJbWFnZU9wdGlvbnMsIGRlZmF1bHRNdWx0aW1lZGlhT3B0aW9ucyxcbiAgZGVmYXVsdFBkZk9wdGlvbnMsXG4gIGRlZmF1bHRVbnN1cHBvcnRlZE9wdGlvbnMsXG4gIFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZVxufSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEFubm90YXRpb25TZXQgfSBmcm9tICcuL2Fubm90YXRpb25zL2Fubm90YXRpb24tc2V0L2Fubm90YXRpb24tc2V0Lm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJFdmVudFNlcnZpY2UgfSBmcm9tICcuL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEFubm90YXRpb25BcGlTZXJ2aWNlIH0gZnJvbSAnLi9hbm5vdGF0aW9ucy9zZXJ2aWNlcy9hbm5vdGF0aW9uLWFwaS9hbm5vdGF0aW9uLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlVHlwZSwgVmlld2VyRXhjZXB0aW9uIH0gZnJvbSAnLi92aWV3ZXJzL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgQ29tbWVudFNlcnZpY2UgfSBmcm9tICcuL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQvY29tbWVudC5zZXJ2aWNlJztcbmltcG9ydCAnaGFtbWVyanMnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCAqIGFzIGZyb21TdG9yZSBmcm9tICcuL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Bbm5vU2VsZWN0b3JzIGZyb20gJy4vc3RvcmUvc2VsZWN0b3JzL2Fubm90YXRpb24uc2VsZWN0b3JzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudHNTZWxlY3RvciBmcm9tICcuL3N0b3JlL3NlbGVjdG9ycy9kb2N1bWVudC5zZWxlY3RvcnMnO1xuaW1wb3J0ICogYXMgZnJvbUFubm9BY3Rpb25zIGZyb20gJy4vc3RvcmUvYWN0aW9ucy9hbm5vdGF0aW9uLmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbVJlZGFjdEFjdGlvbnMgZnJvbSAnLi9zdG9yZS9hY3Rpb25zL3JlZGFjdGlvbi5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudEFjdGlvbnMgZnJvbSAnLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuXG5lbnVtIENvcmVDb250ZW50VHlwZXMge1xuICBQREYgPSAncGRmJyxcbiAgSU1BR0UgPSAnaW1hZ2UnXG59XG5cbmVudW0gTXVsdGltZWRpYUNvbnRlbnRUeXBlcyB7XG4gIE1QNCA9ICdtcDQnLFxuICBNUDMgPSAnbXAzJyxcbn1cblxuZW51bSBDb252ZXJ0aWJsZUNvbnRlbnRUeXBlcyB7XG4gIEVYQ0VMID0gJ2V4Y2VsJyxcbiAgV09SRCA9ICd3b3JkJyxcbiAgUE9XRVJQT0lOVCA9ICdwb3dlcnBvaW50JyxcbiAgVFhUID0gJ3R4dCcsXG4gIFJURiA9ICdydGYnXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LW1lZGlhLXZpZXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZWRpYS12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE1lZGlhVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQge1xuXG4gIEBWaWV3Q2hpbGQoJ3ZpZXdlclJlZicpIHZpZXdlclJlZjogRWxlbWVudFJlZjtcblxuICBASW5wdXQoKSB1cmw7XG4gIEBJbnB1dCgpIGRvd25sb2FkRmlsZU5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgY29udGVudFR5cGU6IHN0cmluZztcblxuICBASW5wdXQoKSBzaG93VG9vbGJhciA9IHRydWU7XG4gIEBJbnB1dCgpIHRvb2xiYXJCdXR0b25PdmVycmlkZXM6IGFueSA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWlnaHQ6IHN0cmluZztcbiAgcHVibGljIHZpZXdlckhlaWdodDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHdpZHRoID0gJzEwMCUnO1xuXG4gIEBPdXRwdXQoKSBtZWRpYUxvYWRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPFJlc3BvbnNlVHlwZT4oKTtcbiAgQE91dHB1dCgpIHZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuICBAT3V0cHV0KCkgdG9vbGJhckV2ZW50c091dHB1dCA9IG5ldyBFdmVudEVtaXR0ZXI8VG9vbGJhckV2ZW50U2VydmljZT4oKTtcbiAgQE91dHB1dCgpIHVuc2F2ZWRDaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIEBJbnB1dCgpIGVuYWJsZUFubm90YXRpb25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFubm90YXRpb25BcGlVcmw7XG5cbiAgQElucHV0KCkgZW5hYmxlUmVkYWN0aW9ucyA9IGZhbHNlO1xuICBASW5wdXQoKSBlbmFibGVJQ1AgPSBmYWxzZTtcbiAgQElucHV0KCkgbXVsdGltZWRpYVBsYXllckVuYWJsZWQgPSBmYWxzZTtcblxuXG4gIEBJbnB1dCgpIGNhc2VJZDogc3RyaW5nO1xuXG4gIG11bHRpbWVkaWFDb250ZW50ID0gZmFsc2U7XG4gIGNvbnZlcnRpYmxlQ29udGVudCA9IGZhbHNlO1xuICB1bnN1cHBvcnRlZENvbnRlbnQgPSBmYWxzZTtcblxuICBkb2N1bWVudFRpdGxlOiBzdHJpbmc7XG4gIHNob3dDb21tZW50U3VtbWFyeTogYm9vbGVhbjtcbiAgYW5ub3RhdGlvblNldCQ6IE9ic2VydmFibGU8QW5ub3RhdGlvblNldCB8IHt9PjtcbiAgaGFzU2Nyb2xsQmFyOiBib29sZWFuO1xuICB0eXBlRXhjZXB0aW9uID0gZmFsc2U7XG4gIGhhc0RpZmZlcmVudFBhZ2VTaXplJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgJHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBwcmV2T2Zmc2V0OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLkFubm90YXRpb25TZXRTdGF0ZT4sXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJCdXR0b25zOiBUb29sYmFyQnV0dG9uVmlzaWJpbGl0eVNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcGk6IEFubm90YXRpb25BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tbWVudFNlcnZpY2U6IENvbW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIGlmICh0aGlzLmFubm90YXRpb25BcGlVcmwpIHtcbiAgICAgIGFwaS5hbm5vdGF0aW9uQXBpVXJsID0gdGhpcy5hbm5vdGF0aW9uQXBpVXJsO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICB0aGlzLmFubm90YXRpb25TZXQkID0gdGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tQW5ub1NlbGVjdG9ycy5nZXRBbm5vdGF0aW9uU2V0KSk7XG4gICAgdGhpcy5oYXNEaWZmZXJlbnRQYWdlU2l6ZSQgPSB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KGZyb21Eb2N1bWVudHNTZWxlY3Rvci5nZXRQYWdlRGlmZmVyZW5jZSkpO1xuICAgIHRoaXMuc2V0VG9vbGJhckJ1dHRvbnMoKTtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHNPdXRwdXQuZW1pdCh0aGlzLnRvb2xiYXJFdmVudHMpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbnMgPSB0aGlzLmNvbW1lbnRTZXJ2aWNlLmdldFVuc2F2ZWRDaGFuZ2VzKClcbiAgICAgIC5zdWJzY3JpYmUoY2hhbmdlcyA9PiB0aGlzLm9uQ29tbWVudENoYW5nZShjaGFuZ2VzKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy5hZGQodGhpcy50b29sYmFyRXZlbnRzLmdldFNob3dDb21tZW50U3VtbWFyeSgpXG4gICAgICAuc3Vic2NyaWJlKGNoYW5nZXMgPT4gdGhpcy5zaG93Q29tbWVudFN1bW1hcnkgPSBjaGFuZ2VzKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaGVpZ2h0ICYmIHRoaXMudmlld2VySGVpZ2h0ICE9PSB0aGlzLmhlaWdodCkge1xuICAgICAgdGhpcy52aWV3ZXJIZWlnaHQgPSB0aGlzLmhlaWdodDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaGVpZ2h0KSB7XG4gICAgICBjb25zdCBjb21wT2Zmc2V0VG9wID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgIGNvbnN0IHZpZXdlck9mZnNldFRvcCA9IHRoaXMudmlld2VyUmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgY29uc3Qgb2Zmc2V0ID0gY29tcE9mZnNldFRvcCArIHZpZXdlck9mZnNldFRvcDtcblxuICAgICAgaWYgKHRoaXMucHJldk9mZnNldCAhPT0gb2Zmc2V0KSB7XG4gICAgICAgIHRoaXMudmlld2VySGVpZ2h0ID0gYGNhbGMoMTAwdmggLSAke29mZnNldH1weClgO1xuICAgICAgICB0aGlzLnByZXZPZmZzZXQgPSBvZmZzZXQ7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMuYW5ub3RhdGlvbkFwaVVybCkge1xuICAgICAgdGhpcy5hcGkuYW5ub3RhdGlvbkFwaVVybCA9IHRoaXMuYW5ub3RhdGlvbkFwaVVybDtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlcy51cmwpIHtcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5yZXNldCgpO1xuICAgICAgdGhpcy5jb21tZW50U2VydmljZS5yZXNldENvbW1lbnRTZXQoKTtcbiAgICAgIHRoaXMuZG9jdW1lbnRJZCA9IHRoaXMuZXh0cmFjdERNU3RvcmVEb2NJZCh0aGlzLnVybCk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tRG9jdW1lbnRBY3Rpb25zLlNldERvY3VtZW50SWQodGhpcy5kb2N1bWVudElkKSk7XG4gICAgICBpZiAodGhpcy5lbmFibGVBbm5vdGF0aW9ucyAmJiAhKHRoaXMubXVsdGltZWRpYUNvbnRlbnQgfHwgdGhpcy51bnN1cHBvcnRlZENvbnRlbnQpKSB7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21Bbm5vQWN0aW9ucy5Mb2FkQW5ub3RhdGlvblNldCh0aGlzLmRvY3VtZW50SWQpKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmVuYWJsZVJlZGFjdGlvbnMgJiYgISh0aGlzLm11bHRpbWVkaWFDb250ZW50IHx8IHRoaXMudW5zdXBwb3J0ZWRDb250ZW50KSAmJiB0aGlzLmRvY3VtZW50SWQpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbVJlZGFjdEFjdGlvbnMuTG9hZFJlZGFjdGlvbnModGhpcy5kb2N1bWVudElkKSk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jb250ZW50VHlwZSA9PT0gJ2ltYWdlJykge1xuICAgICAgICB0aGlzLmRvY3VtZW50VGl0bGUgPSBudWxsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLmNvbnRlbnRUeXBlKSB7XG4gICAgICB0aGlzLmNvbnZlcnRpYmxlQ29udGVudCA9IHRoaXMubmVlZHNDb252ZXJ0aW5nKCk7XG4gICAgICB0aGlzLm11bHRpbWVkaWFDb250ZW50ID0gdGhpcy5pc011bHRpbWVkaWEoKTtcbiAgICAgIHRoaXMudW5zdXBwb3J0ZWRDb250ZW50ID0gIXRoaXMuaXNTdXBwb3J0ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgdGhpcy5kZXRlY3RPcygpO1xuICAgIHRoaXMudHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgbmVlZHNDb252ZXJ0aW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKENvbnZlcnRpYmxlQ29udGVudFR5cGVzKS5pbmNsdWRlcyh0aGlzLmNvbnRlbnRUeXBlLnRvVXBwZXJDYXNlKCkpO1xuICB9XG5cbiAgaXNNdWx0aW1lZGlhKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRlbnRUeXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKE11bHRpbWVkaWFDb250ZW50VHlwZXMpLmluY2x1ZGVzKHRoaXMuY29udGVudFR5cGUudG9VcHBlckNhc2UoKSk7XG4gIH1cblxuICBpc1N1cHBvcnRlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBzdXBwb3J0ZWRUeXBlcyA9IE9iamVjdC5hc3NpZ24oe30sIE11bHRpbWVkaWFDb250ZW50VHlwZXMsIENvbnZlcnRpYmxlQ29udGVudFR5cGVzLCBDb3JlQ29udGVudFR5cGVzKTtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50VHlwZSAhPT0gbnVsbCAmJiBPYmplY3Qua2V5cyhzdXBwb3J0ZWRUeXBlcykuaW5jbHVkZXModGhpcy5jb250ZW50VHlwZS50b1VwcGVyQ2FzZSgpKTtcbiAgfVxuXG4gIG9uTWVkaWFMb2FkKHN0YXR1czogUmVzcG9uc2VUeXBlKSB7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChzdGF0dXMpO1xuICB9XG5cbiAgc2V0VG9vbGJhckJ1dHRvbnMoKSB7XG4gICAgaWYgKHRoaXMuY29udGVudFR5cGUgPT09IENvcmVDb250ZW50VHlwZXMuUERGIHx8IHRoaXMubmVlZHNDb252ZXJ0aW5nKCkpIHtcbiAgICAgIHRoaXMudG9vbGJhckJ1dHRvbnMuc2V0dXAoe1xuICAgICAgICAuLi5kZWZhdWx0UGRmT3B0aW9ucywgc2hvd0hpZ2hsaWdodEJ1dHRvbjogdGhpcy5lbmFibGVBbm5vdGF0aW9ucywgc2hvd0RyYXdCdXR0b246IHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMsXG4gICAgICAgIC4uLnRoaXMudG9vbGJhckJ1dHRvbk92ZXJyaWRlc1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRlbnRUeXBlID09PSBDb3JlQ29udGVudFR5cGVzLklNQUdFKSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdEltYWdlT3B0aW9ucywgc2hvd0RyYXdCdXR0b246IHRoaXMuZW5hYmxlQW5ub3RhdGlvbnMsXG4gICAgICAgIC4uLnRoaXMudG9vbGJhckJ1dHRvbk92ZXJyaWRlc1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTXVsdGltZWRpYSgpKSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdE11bHRpbWVkaWFPcHRpb25zLFxuICAgICAgICAuLi50aGlzLnRvb2xiYXJCdXR0b25PdmVycmlkZXNcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRvb2xiYXJCdXR0b25zLnNldHVwKHtcbiAgICAgICAgLi4uZGVmYXVsdFVuc3VwcG9ydGVkT3B0aW9ucyxcbiAgICAgICAgLi4udGhpcy50b29sYmFyQnV0dG9uT3ZlcnJpZGVzXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvbkxvYWRFeGNlcHRpb24oZXhjZXB0aW9uOiBWaWV3ZXJFeGNlcHRpb24pIHtcbiAgICB0aGlzLnZpZXdlckV4Y2VwdGlvbi5lbWl0KGV4Y2VwdGlvbik7XG4gICAgaWYgKCF0aGlzLmlzU3VwcG9ydGVkKCkpIHtcbiAgICAgIHRoaXMudHlwZUV4Y2VwdGlvbiA9IGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnR5cGVFeGNlcHRpb24gPSB0cnVlO1xuICAgICAgdGhpcy5jb250ZW50VHlwZSA9IG51bGw7XG4gICAgICB0aGlzLnNldFRvb2xiYXJCdXR0b25zKCk7XG4gICAgfVxuICB9XG5cbiAgb25Db21tZW50Q2hhbmdlKGNoYW5nZXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnVuc2F2ZWRDaGFuZ2VzLmVtaXQoY2hhbmdlcyk7XG4gIH1cblxuICBvbkRvY3VtZW50VGl0bGVDaGFuZ2UodGl0bGU6IHN0cmluZykge1xuICAgIHRoaXMuZG9jdW1lbnRUaXRsZSA9IHRpdGxlO1xuICB9XG5cbiAgLy8gSWYgc2VjdXJlIG1vZGUgaXMgZW5hYmxlZCAod2hpY2ggYWRkcyBcImRvY3VtZW50c3YyXCIgdG8gdGhlIGRvY3VtZW50SWQpLCBnZXQgcmlkIG9mIGl0XG4gIHByaXZhdGUgZXh0cmFjdERNU3RvcmVEb2NJZCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgdXJsID0gdXJsLmluY2x1ZGVzKCcvZG9jdW1lbnRzLycpID8gdXJsLnNwbGl0KCcvZG9jdW1lbnRzLycpWzFdIDogdXJsO1xuICAgIHVybCA9IHVybC5pbmNsdWRlcygnL2RvY3VtZW50c3YyLycpID8gdXJsLnNwbGl0KCcvZG9jdW1lbnRzdjIvJylbMV0gOiB1cmw7XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKCcvYmluYXJ5JywgJycpO1xuICB9XG5cbiAgZGV0ZWN0T3MoKSB7XG4gICAgdGhpcy5oYXNTY3JvbGxCYXIgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdXaW4nKSAhPT0gLTE7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -18,6 +18,7 @@ import * as fromTagActions from '../../store/actions/tag.actions';
|
|
|
18
18
|
import { SetCaseId } from '../../store/actions/icp.actions';
|
|
19
19
|
import * as fromDocumentsSelector from '../../store/selectors/document.selectors';
|
|
20
20
|
import { ViewerEventService } from '../viewer-event.service';
|
|
21
|
+
import { IcpService } from '../../icp/icp.service';
|
|
21
22
|
export class PdfViewerComponent {
|
|
22
23
|
/**
|
|
23
24
|
* @param {?} store
|
|
@@ -26,15 +27,17 @@ export class PdfViewerComponent {
|
|
|
26
27
|
* @param {?} printService
|
|
27
28
|
* @param {?} toolbarEvents
|
|
28
29
|
* @param {?} viewerEvents
|
|
30
|
+
* @param {?} icpService
|
|
29
31
|
* @param {?} toolbarButtons
|
|
30
32
|
*/
|
|
31
|
-
constructor(store, icpStore, pdfJsWrapperFactory, printService, toolbarEvents, viewerEvents, toolbarButtons) {
|
|
33
|
+
constructor(store, icpStore, pdfJsWrapperFactory, printService, toolbarEvents, viewerEvents, icpService, toolbarButtons) {
|
|
32
34
|
this.store = store;
|
|
33
35
|
this.icpStore = icpStore;
|
|
34
36
|
this.pdfJsWrapperFactory = pdfJsWrapperFactory;
|
|
35
37
|
this.printService = printService;
|
|
36
38
|
this.toolbarEvents = toolbarEvents;
|
|
37
39
|
this.viewerEvents = viewerEvents;
|
|
40
|
+
this.icpService = icpService;
|
|
38
41
|
this.toolbarButtons = toolbarButtons;
|
|
39
42
|
this.mediaLoadStatus = new EventEmitter();
|
|
40
43
|
this.pdfViewerException = new EventEmitter();
|
|
@@ -365,6 +368,7 @@ PdfViewerComponent.ctorParameters = () => [
|
|
|
365
368
|
{ type: PrintService },
|
|
366
369
|
{ type: ToolbarEventService },
|
|
367
370
|
{ type: ViewerEventService },
|
|
371
|
+
{ type: IcpService },
|
|
368
372
|
{ type: ToolbarButtonVisibilityService }
|
|
369
373
|
];
|
|
370
374
|
PdfViewerComponent.propDecorators = {
|
|
@@ -481,7 +485,12 @@ if (false) {
|
|
|
481
485
|
* @private
|
|
482
486
|
*/
|
|
483
487
|
PdfViewerComponent.prototype.viewerEvents;
|
|
488
|
+
/**
|
|
489
|
+
* @type {?}
|
|
490
|
+
* @private
|
|
491
|
+
*/
|
|
492
|
+
PdfViewerComponent.prototype.icpService;
|
|
484
493
|
/** @type {?} */
|
|
485
494
|
PdfViewerComponent.prototype.toolbarButtons;
|
|
486
495
|
}
|
|
487
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvbWVkaWEtdmlld2VyLyIsInNvdXJjZXMiOlsibGliL3ZpZXdlcnMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBNkMsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFJakcsT0FBTyxLQUFLLG1CQUFtQixNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxjQUFjLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxxQkFBcUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUs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O0lBQ3JCLGtEQUE2Qjs7SUFFN0IsNkNBQTBFOztJQUMxRSx1Q0FBOEQ7Ozs7O0lBRTlELHdDQUFpQzs7Ozs7SUFDakMsMkNBQW9DOzs7OztJQUNwQyw2Q0FBeUM7O0lBQ3pDLCtDQUEyQjs7SUFDM0IscURBQWlDOztJQUNqQyw2Q0FBd0I7Ozs7O0lBR3RCLG1DQUFrRDs7Ozs7SUFDbEQsc0NBQWlDOzs7OztJQUNqQyxpREFBeUQ7Ozs7O0lBQ3pELDBDQUEyQzs7SUFDM0MsMkNBQWtEOzs7OztJQUNsRCwwQ0FBaUQ7O0lBQ2pELDRDQUE4RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFzeW5jU2NoZWR1bGVyLCBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YXAsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IERvY3VtZW50TG9hZFByb2dyZXNzLCBQYWdlRXZlbnQsIFBkZkpzV3JhcHBlciB9IGZyb20gJy4vcGRmLWpzL3BkZi1qcy13cmFwcGVyJztcbmltcG9ydCB7IFBkZkpzV3JhcHBlckZhY3RvcnkgfSBmcm9tICcuL3BkZi1qcy9wZGYtanMtd3JhcHBlci5wcm92aWRlcic7XG5pbXBvcnQgeyBBbm5vdGF0aW9uU2V0IH0gZnJvbSAnLi4vLi4vYW5ub3RhdGlvbnMvYW5ub3RhdGlvbi1zZXQvYW5ub3RhdGlvbi1zZXQubW9kZWwnO1xuaW1wb3J0IHsgVG9vbGJhckV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL3ByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VUeXBlLCBWaWV3ZXJFeGNlcHRpb24gfSBmcm9tICcuLi92aWV3ZXItZXhjZXB0aW9uLm1vZGVsJztcbmltcG9ydCB7IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3Rvb2xiYXIvdG9vbGJhci1idXR0b24tdmlzaWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1lbnRTZXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9jb21tZW50LXNldC9jb21tZW50LXNldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3V0bGluZSB9IGZyb20gJy4vc2lkZS1iYXIvb3V0bGluZS1pdGVtL291dGxpbmUubW9kZWwnO1xuaW1wb3J0ICogYXMgZnJvbVN0b3JlIGZyb20gJy4uLy4uL3N0b3JlL3JlZHVjZXJzL3JlZHVjZXJzJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudEFjdGlvbnMgZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9kb2N1bWVudC5hY3Rpb25zJztcbmltcG9ydCB7IFBkZlBvc2l0aW9uVXBkYXRlIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9kb2N1bWVudC5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21UYWdBY3Rpb25zIGZyb20gJy4uLy4uL3N0b3JlL2FjdGlvbnMvdGFnLmFjdGlvbnMnO1xuaW1wb3J0IHsgU2V0Q2FzZUlkIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy9pY3AuYWN0aW9ucyc7XG5pbXBvcnQgKiBhcyBmcm9tRG9jdW1lbnRzU2VsZWN0b3IgZnJvbSAnLi4vLi4vc3RvcmUvc2VsZWN0b3JzL2RvY3VtZW50LnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBJY3BTdGF0ZSB9IGZyb20gJy4uLy4uL2ljcC9pY3AuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBWaWV3ZXJFdmVudFNlcnZpY2UgfSBmcm9tICcuLi92aWV3ZXItZXZlbnQuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ212LXBkZi12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcGRmLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUGRmVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIEBPdXRwdXQoKSBtZWRpYUxvYWRTdGF0dXMgPSBuZXcgRXZlbnRFbWl0dGVyPFJlc3BvbnNlVHlwZT4oKTtcbiAgQE91dHB1dCgpIHBkZlZpZXdlckV4Y2VwdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld2VyRXhjZXB0aW9uPigpO1xuICBAT3V0cHV0KCkgZG9jdW1lbnRUaXRsZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBJbnB1dCgpIGRvd25sb2FkVXJsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHVybDogc3RyaW5nO1xuICBASW5wdXQoKSBkb3dubG9hZEZpbGVOYW1lOiBzdHJpbmc7XG5cbiAgQElucHV0KCkgZW5hYmxlQW5ub3RhdGlvbnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuYWJsZVJlZGFjdGlvbnM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGVuYWJsZUlDUDogYm9vbGVhbjtcbiAgQElucHV0KCkgYW5ub3RhdGlvblNldDogQW5ub3RhdGlvblNldCB8IG51bGw7XG5cbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmc7XG4gIHBhZ2VIZWlnaHRzID0gW107XG4gIHJvdGF0aW9uID0gMDtcbiAgem9vbSA9IDE7XG5cbiAgQElucHV0KCkgY2FzZUlkOiBzdHJpbmc7XG5cbiAgaGlnaGxpZ2h0TW9kZTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgZHJhd01vZGU6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPjtcblxuICBkb2N1bWVudE91dGxpbmU6IE91dGxpbmU7XG4gIGxvYWRpbmdEb2N1bWVudCA9IGZhbHNlO1xuICBsb2FkaW5nRG9jdW1lbnRQcm9ncmVzczogbnVtYmVyO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbiAgaGFzRGlmZmVyZW50UGFnZVNpemUgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCd2aWV3ZXJDb250YWluZXInKSB2aWV3ZXJDb250YWluZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdwZGZWaWV3ZXInKSBwZGZWaWV3ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHByaXZhdGUgcGRmV3JhcHBlcjogUGRmSnNXcmFwcGVyO1xuICBwcml2YXRlICRzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSB2aWV3ZXJFeGNlcHRpb246IFZpZXdlckV4Y2VwdGlvbjtcbiAgc2hvd0NvbW1lbnRzUGFuZWw6IGJvb2xlYW47XG4gIHNob3dJY3BQYXJ0aWNpcGFudHNMaXN0OiBib29sZWFuO1xuICBlbmFibGVHcmFiTkRyYWcgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxmcm9tU3RvcmUuQW5ub3RhdGlvblNldFN0YXRlPixcbiAgICBwcml2YXRlIGljcFN0b3JlOiBTdG9yZTxJY3BTdGF0ZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBwZGZKc1dyYXBwZXJGYWN0b3J5OiBQZGZKc1dyYXBwZXJGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJpbnRTZXJ2aWNlOiBQcmludFNlcnZpY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xiYXJFdmVudHM6IFRvb2xiYXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3ZXJFdmVudHM6IFZpZXdlckV2ZW50U2VydmljZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgdG9vbGJhckJ1dHRvbnM6IFRvb2xiYXJCdXR0b25WaXNpYmlsaXR5U2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5oaWdobGlnaHRNb2RlID0gdG9vbGJhckV2ZW50cy5oaWdobGlnaHRNb2RlU3ViamVjdC5waXBlKHRhcCgoKSA9PiB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tVGFnQWN0aW9ucy5DbGVhckZpbHRlclRhZ3MoKSk7XG4gICAgfSkpO1xuICAgIHRoaXMuZHJhd01vZGUgPSB0b29sYmFyRXZlbnRzLmRyYXdNb2RlU3ViamVjdDtcbiAgfVxuXG4gIGFzeW5jIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnBkZldyYXBwZXIuZG9jdW1lbnRMb2FkUHJvZ3Jlc3Muc3Vic2NyaWJlKHYgPT4gdGhpcy5vbkRvY3VtZW50TG9hZFByb2dyZXNzKHYpKTtcbiAgICB0aGlzLnBkZldyYXBwZXIuZG9jdW1lbnRMb2FkZWQuc3Vic2NyaWJlKCgpID0+IHRoaXMub25Eb2N1bWVudExvYWRlZCgpKTtcbiAgICB0aGlzLnBkZldyYXBwZXIuZG9jdW1lbnRMb2FkRmFpbGVkLnN1YnNjcmliZSgoZXJyb3IpID0+IHRoaXMub25Eb2N1bWVudExvYWRGYWlsZWQoZXJyb3IpKTtcbiAgICB0aGlzLnBkZldyYXBwZXIub3V0bGluZUxvYWRlZC5zdWJzY3JpYmUob3V0bGluZSA9PiB0aGlzLmRvY3VtZW50T3V0bGluZSA9IG91dGxpbmUpO1xuICAgIHRoaXMucGRmV3JhcHBlci5wYWdlUmVuZGVyZWQuc3Vic2NyaWJlKChldmVudCkgPT4gdGhpcy51cGRhdGVQYWdlcyhldmVudCkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbiA9IHRoaXMudG9vbGJhckV2ZW50cy5wcmludFN1YmplY3RcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5wcmludFNlcnZpY2UucHJpbnREb2N1bWVudE5hdGl2ZWx5KHRoaXMudXJsKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuZG93bmxvYWRTdWJqZWN0LnN1YnNjcmliZSgoKSA9PlxuICAgICAgdGhpcy5wZGZXcmFwcGVyLmRvd25sb2FkRmlsZSh0aGlzLmRvd25sb2FkVXJsIHx8IHRoaXMudXJsLCB0aGlzLmRvd25sb2FkRmlsZU5hbWUpXG4gICAgKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMucm90YXRlU3ViamVjdC5zdWJzY3JpYmUocm90YXRlID0+IHRoaXMucm90YXRlRG9jdW1lbnQocm90YXRlKSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLnpvb21TdWJqZWN0LnN1YnNjcmliZSh6b29tID0+IHRoaXMuc2V0Wm9vbSh6b29tKSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLnN0ZXBab29tU3ViamVjdC5zdWJzY3JpYmUoem9vbSA9PiB0aGlzLnN0ZXBab29tKHpvb20pKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuc2VhcmNoU3ViamVjdC5zdWJzY3JpYmUoc2VhcmNoID0+IHRoaXMucGRmV3JhcHBlci5zZWFyY2goc2VhcmNoKSkpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLnRvb2xiYXJFdmVudHMuc2V0Q3VycmVudFBhZ2VTdWJqZWN0LnN1YnNjcmliZShwYWdlTnVtYmVyID0+IHRoaXMucGRmV3JhcHBlci5zZXRQYWdlTnVtYmVyKHBhZ2VOdW1iZXIpKVxuICAgICk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5jaGFuZ2VQYWdlQnlEZWx0YVN1YmplY3Quc3Vic2NyaWJlKHBhZ2VOdW1iZXIgPT4gdGhpcy5wZGZXcmFwcGVyLmNoYW5nZVBhZ2VOdW1iZXIocGFnZU51bWJlcikpXG4gICAgKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5ncmFiTkRyYWcuc3Vic2NyaWJlKGdyYWJORHJhZyA9PiB0aGlzLmVuYWJsZUdyYWJORHJhZyA9IGdyYWJORHJhZykpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLmNvbW1lbnRzUGFuZWxWaXNpYmxlLnN1YnNjcmliZSh0b2dnbGUgPT4ge1xuICAgICAgICB0aGlzLnNob3dDb21tZW50c1BhbmVsID0gdG9nZ2xlO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy52aWV3ZXJFdmVudHMubmF2aWdhdGlvbkV2ZW50LnN1YnNjcmliZShkZXN0ID0+IHRoaXMuZ29Ub0Rlc3RpbmF0aW9uKGRlc3QpKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5pY3AucGFydGljaXBhbnRzTGlzdFZpc2libGUuc3Vic2NyaWJlKHRvZ2dsZSA9PiB0aGlzLnNob3dJY3BQYXJ0aWNpcGFudHNMaXN0ID0gdG9nZ2xlKVxuICAgICk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnBkZldyYXBwZXIucG9zaXRpb25VcGRhdGVkLmFzT2JzZXJ2YWJsZSgpXG4gICAgICAucGlwZSh0aHJvdHRsZVRpbWUoNTAwLCBhc3luY1NjaGVkdWxlciwgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9KSlcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgUGRmUG9zaXRpb25VcGRhdGUoZXZlbnQubG9jYXRpb24pKSlcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICghdGhpcy5wZGZXcmFwcGVyKSB7XG4gICAgICB0aGlzLnBkZldyYXBwZXIgPSB0aGlzLnBkZkpzV3JhcHBlckZhY3RvcnkuY3JlYXRlKHRoaXMudmlld2VyQ29udGFpbmVyKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMudXJsICYmIHRoaXMucGRmV3JhcHBlcikge1xuICAgICAgYXdhaXQgdGhpcy5sb2FkRG9jdW1lbnQoKTtcbiAgICAgIGlmICh0aGlzLmVuYWJsZVJlZGFjdGlvbnMpIHtcbiAgICAgICAgdGhpcy50b29sYmFyRXZlbnRzLnJlZGFjdGlvbk1vZGUucGlwZShmaWx0ZXIodmFsdWUgPT4gISF2YWx1ZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Um90YXRpb24oKSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmNhc2VJZCkge1xuICAgICAgdGhpcy5pY3BTdG9yZS5kaXNwYXRjaChuZXcgU2V0Q2FzZUlkKHRoaXMuY2FzZUlkKSk7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRSb3RhdGlvbigpIHtcbiAgICBpZiAodGhpcy5oYXNEaWZmZXJlbnRQYWdlU2l6ZSkge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyLnJlc2V0Um90YXRpb24oMCk7XG4gICAgICB0aGlzLnJvdGF0aW9uID0gMDtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZERvY3VtZW50KCkge1xuICAgIHRoaXMuaW5pdERvY3VtZW50UHJvZ3Jlc3MoKTtcbiAgICBhd2FpdCB0aGlzLnBkZldyYXBwZXIubG9hZERvY3VtZW50KHRoaXMudXJsKTtcbiAgICB0aGlzLmRvY3VtZW50VGl0bGUuZW1pdCh0aGlzLnBkZldyYXBwZXIuZ2V0Q3VycmVudFBERlRpdGxlKCkpO1xuICAgIHRoaXMuc2V0UGFnZUhlaWdodHMoKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMuc3RvcmUucGlwZShzZWxlY3QoZnJvbURvY3VtZW50c1NlbGVjdG9yLmdldFBhZ2VEaWZmZXJlbmNlKSlcbiAgICAgIC5zdWJzY3JpYmUoaGFzRGlmZmVyZW50UGFnZVNpZSA9PiB0aGlzLmhhc0RpZmZlcmVudFBhZ2VTaXplID0gaGFzRGlmZmVyZW50UGFnZVNpZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkRvY3VtZW50TG9hZFByb2dyZXNzKHByb2dyZXNzOiBEb2N1bWVudExvYWRQcm9ncmVzcykge1xuICAgIGlmIChwcm9ncmVzcy50b3RhbCkge1xuICAgICAgdGhpcy5sb2FkaW5nRG9jdW1lbnRQcm9ncmVzcyA9IE1hdGgubWluKDEwMCwgTWF0aC5jZWlsKHByb2dyZXNzLmxvYWRlZCAvIHByb2dyZXNzLnRvdGFsICogMTAwKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBvbkRvY3VtZW50TG9hZGVkKCkge1xuICAgIHRoaXMubG9hZGluZ0RvY3VtZW50ID0gZmFsc2U7XG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuU1VDQ0VTUyk7XG4gIH1cblxuICBwcml2YXRlIG9uRG9jdW1lbnRMb2FkRmFpbGVkKGVycm9yOiBFcnJvcikge1xuICAgIHRoaXMubG9hZGluZ0RvY3VtZW50ID0gZmFsc2U7XG4gICAgdGhpcy52aWV3ZXJFeGNlcHRpb24gPSBuZXcgVmlld2VyRXhjZXB0aW9uKGVycm9yLm5hbWUsIHsgbWVzc2FnZTogZXJyb3IubWVzc2FnZSB9KTtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGBDb3VsZCBub3QgbG9hZCB0aGUgZG9jdW1lbnQgXCIke3RoaXMudXJsfVwiYDtcblxuICAgIHRoaXMubWVkaWFMb2FkU3RhdHVzLmVtaXQoUmVzcG9uc2VUeXBlLkZBSUxVUkUpO1xuICAgIHRoaXMucGRmVmlld2VyRXhjZXB0aW9uLmVtaXQodGhpcy52aWV3ZXJFeGNlcHRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVQYWdlcyhldmVudDogUGFnZUV2ZW50W10pIHtcbiAgICBpZiAodGhpcy5lbmFibGVBbm5vdGF0aW9ucykge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgZnJvbURvY3VtZW50QWN0aW9ucy5BZGRQYWdlcyhldmVudCkpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBzZWFyY2hCYXJIaWRkZW4oaGlkZGVuOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMucGRmV3JhcHBlciAmJiBoaWRkZW4pIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlci5jbGVhclNlYXJjaCgpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUNvbW1lbnRzU3VtbWFyeSgpIHtcbiAgICB0aGlzLnRvb2xiYXJFdmVudHMudG9nZ2xlQ29tbWVudHNTdW1tYXJ5KCF0aGlzLnRvb2xiYXJFdmVudHMuc2hvd0NvbW1lbnRTdW1tYXJ5LmdldFZhbHVlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSByb3RhdGVEb2N1bWVudChyb3RhdGlvbjogbnVtYmVyKSB7XG4gICAgY29uc3QgcGFnZU51bWJlciA9IHRoaXMucGRmV3JhcHBlci5nZXRQYWdlTnVtYmVyKCk7XG4gICAgdGhpcy5wZGZXcmFwcGVyLnJvdGF0ZShyb3RhdGlvbik7XG4gICAgdGhpcy5wZGZXcmFwcGVyLnNldFBhZ2VOdW1iZXIocGFnZU51bWJlcik7XG4gICAgdGhpcy5yb3RhdGlvbiA9ICh0aGlzLnJvdGF0aW9uICsgcm90YXRpb24pICUgMzYwO1xuXG4gICAgdGhpcy5zZXRQYWdlSGVpZ2h0cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0RG9jdW1lbnRQcm9ncmVzcygpIHtcbiAgICB0aGlzLmxvYWRpbmdEb2N1bWVudCA9IHRydWU7XG4gICAgdGhpcy5sb2FkaW5nRG9jdW1lbnRQcm9ncmVzcyA9IG51bGw7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRab29tKHpvb21GYWN0b3I6IG51bWJlcikge1xuICAgIGlmICghaXNOYU4oem9vbUZhY3RvcikpIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlci5zZXRab29tKHpvb21GYWN0b3IpO1xuICAgICAgdGhpcy56b29tID0gdGhpcy5jYWxjdWxhdGVab29tVmFsdWUoem9vbUZhY3Rvcik7XG4gICAgICB0aGlzLnNldFBhZ2VIZWlnaHRzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGVwWm9vbSh6b29tRmFjdG9yOiBudW1iZXIpIHtcbiAgICBpZiAoIWlzTmFOKHpvb21GYWN0b3IpKSB7XG4gICAgICB0aGlzLnBkZldyYXBwZXIuc3RlcFpvb20oem9vbUZhY3Rvcik7XG4gICAgICB0aGlzLnpvb20gPSB0aGlzLmNhbGN1bGF0ZVpvb21WYWx1ZSh0aGlzLnpvb20sIHpvb21GYWN0b3IpO1xuICAgICAgdGhpcy5zZXRQYWdlSGVpZ2h0cygpO1xuICAgIH1cbiAgfVxuXG4gIHNldFBhZ2VIZWlnaHRzKCkge1xuICAgIHRoaXMucGFnZUhlaWdodHMgPSBbXTtcbiAgICBjb25zdCBwZGZWaWV3ZXJDaGlsZHJlbiA9IHRoaXMucGRmVmlld2VyLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW47XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwZGZWaWV3ZXJDaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgdGhpcy5wYWdlSGVpZ2h0cy5wdXNoKHBkZlZpZXdlckNoaWxkcmVuW2ldLmNsaWVudEhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgY2FsY3VsYXRlWm9vbVZhbHVlKHpvb21WYWx1ZSwgaW5jcmVtZW50ID0gMCkge1xuICAgIGNvbnN0IG5ld1pvb21WYWx1ZSA9IHpvb21WYWx1ZSArIGluY3JlbWVudDtcbiAgICBpZiAobmV3Wm9vbVZhbHVlID4gNSkge1xuICAgICAgcmV0dXJuIDU7XG4gICAgfVxuICAgIGlmIChuZXdab29tVmFsdWUgPCAwLjEpIHtcbiAgICAgIHJldHVybiAwLjE7XG4gICAgfVxuICAgIHJldHVybiArbmV3Wm9vbVZhbHVlLnRvRml4ZWQoMik7XG4gIH1cblxuICBwcml2YXRlIGdvVG9EZXN0aW5hdGlvbihkZXN0aW5hdGlvbjogYW55W10pIHtcbiAgICB0aGlzLnBkZldyYXBwZXIubmF2aWdhdGVUbyhkZXN0aW5hdGlvbik7XG4gIH1cbn1cbiJdfQ==
|
|
496
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvbWVkaWEtdmlld2VyLyIsInNvdXJjZXMiOlsibGliL3ZpZXdlcnMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBNkMsTUFBTSxNQUFNLENBQUM7QUFDakYsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFJakcsT0FBTyxLQUFLLG1CQUFtQixNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxjQUFjLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxxQkFBcUIsTUFBTSwwQ0FBMEMsQ0FBQztBQUVsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUs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Q0FBd0I7O0lBRXhCLDJDQUFtQzs7SUFDbkMsc0NBQW1DOztJQUVuQyw2Q0FBeUI7O0lBQ3pCLDZDQUF3Qjs7SUFDeEIscURBQWdDOztJQUNoQywwQ0FBcUI7O0lBQ3JCLGtEQUE2Qjs7SUFFN0IsNkNBQTBFOztJQUMxRSx1Q0FBOEQ7Ozs7O0lBRTlELHdDQUFpQzs7Ozs7SUFDakMsMkNBQW9DOzs7OztJQUNwQyw2Q0FBeUM7O0lBQ3pDLCtDQUEyQjs7SUFDM0IscURBQWlDOztJQUNqQyw2Q0FBd0I7Ozs7O0lBR3RCLG1DQUFrRDs7Ozs7SUFDbEQsc0NBQWlDOzs7OztJQUNqQyxpREFBeUQ7Ozs7O0lBQ3pELDBDQUEyQzs7SUFDM0MsMkNBQWtEOzs7OztJQUNsRCwwQ0FBaUQ7Ozs7O0lBQ2pELHdDQUE4Qjs7SUFDOUIsNENBQThEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRhcCwgdGhyb3R0bGVUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgc2VsZWN0LCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuaW1wb3J0IHsgRG9jdW1lbnRMb2FkUHJvZ3Jlc3MsIFBhZ2VFdmVudCwgUGRmSnNXcmFwcGVyIH0gZnJvbSAnLi9wZGYtanMvcGRmLWpzLXdyYXBwZXInO1xuaW1wb3J0IHsgUGRmSnNXcmFwcGVyRmFjdG9yeSB9IGZyb20gJy4vcGRmLWpzL3BkZi1qcy13cmFwcGVyLnByb3ZpZGVyJztcbmltcG9ydCB7IEFubm90YXRpb25TZXQgfSBmcm9tICcuLi8uLi9hbm5vdGF0aW9ucy9hbm5vdGF0aW9uLXNldC9hbm5vdGF0aW9uLXNldC5tb2RlbCc7XG5pbXBvcnQgeyBUb29sYmFyRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9vbGJhci90b29sYmFyLWV2ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNwb25zZVR5cGUsIFZpZXdlckV4Y2VwdGlvbiB9IGZyb20gJy4uL3ZpZXdlci1leGNlcHRpb24ubW9kZWwnO1xuaW1wb3J0IHsgVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9vbGJhci90b29sYmFyLWJ1dHRvbi12aXNpYmlsaXR5LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29tbWVudFNldENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Fubm90YXRpb25zL2NvbW1lbnQtc2V0L2NvbW1lbnQtc2V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPdXRsaW5lIH0gZnJvbSAnLi9zaWRlLWJhci9vdXRsaW5lLWl0ZW0vb3V0bGluZS5tb2RlbCc7XG5pbXBvcnQgKiBhcyBmcm9tU3RvcmUgZnJvbSAnLi4vLi4vc3RvcmUvcmVkdWNlcnMvcmVkdWNlcnMnO1xuaW1wb3J0ICogYXMgZnJvbURvY3VtZW50QWN0aW9ucyBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0IHsgUGRmUG9zaXRpb25VcGRhdGUgfSBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2RvY3VtZW50LmFjdGlvbnMnO1xuaW1wb3J0ICogYXMgZnJvbVRhZ0FjdGlvbnMgZnJvbSAnLi4vLi4vc3RvcmUvYWN0aW9ucy90YWcuYWN0aW9ucyc7XG5pbXBvcnQgeyBTZXRDYXNlSWQgfSBmcm9tICcuLi8uLi9zdG9yZS9hY3Rpb25zL2ljcC5hY3Rpb25zJztcbmltcG9ydCAqIGFzIGZyb21Eb2N1bWVudHNTZWxlY3RvciBmcm9tICcuLi8uLi9zdG9yZS9zZWxlY3RvcnMvZG9jdW1lbnQuc2VsZWN0b3JzJztcbmltcG9ydCB7IEljcFN0YXRlIH0gZnJvbSAnLi4vLi4vaWNwL2ljcC5pbnRlcmZhY2VzJztcbmltcG9ydCB7IFZpZXdlckV2ZW50U2VydmljZSB9IGZyb20gJy4uL3ZpZXdlci1ldmVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEljcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9pY3AvaWNwLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtdi1wZGYtdmlld2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BkZi12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFBkZlZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBAT3V0cHV0KCkgbWVkaWFMb2FkU3RhdHVzID0gbmV3IEV2ZW50RW1pdHRlcjxSZXNwb25zZVR5cGU+KCk7XG4gIEBPdXRwdXQoKSBwZGZWaWV3ZXJFeGNlcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFZpZXdlckV4Y2VwdGlvbj4oKTtcbiAgQE91dHB1dCgpIGRvY3VtZW50VGl0bGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBASW5wdXQoKSBkb3dubG9hZFVybDogc3RyaW5nO1xuICBASW5wdXQoKSB1cmw6IHN0cmluZztcbiAgQElucHV0KCkgZG93bmxvYWRGaWxlTmFtZTogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIGVuYWJsZUFubm90YXRpb25zOiBib29sZWFuO1xuICBASW5wdXQoKSBlbmFibGVSZWRhY3Rpb25zOiBib29sZWFuO1xuICBASW5wdXQoKSBlbmFibGVJQ1A6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFubm90YXRpb25TZXQ6IEFubm90YXRpb25TZXQgfCBudWxsO1xuXG4gIEBJbnB1dCgpIGhlaWdodDogc3RyaW5nO1xuICBwYWdlSGVpZ2h0cyA9IFtdO1xuICByb3RhdGlvbiA9IDA7XG4gIHpvb20gPSAxO1xuXG4gIEBJbnB1dCgpIGNhc2VJZDogc3RyaW5nO1xuXG4gIGhpZ2hsaWdodE1vZGU6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGRyYXdNb2RlOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XG5cbiAgZG9jdW1lbnRPdXRsaW5lOiBPdXRsaW5lO1xuICBsb2FkaW5nRG9jdW1lbnQgPSBmYWxzZTtcbiAgbG9hZGluZ0RvY3VtZW50UHJvZ3Jlc3M6IG51bWJlcjtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XG4gIGhhc0RpZmZlcmVudFBhZ2VTaXplID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgndmlld2VyQ29udGFpbmVyJykgdmlld2VyQ29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgncGRmVmlld2VyJykgcGRmVmlld2VyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcml2YXRlIHBkZldyYXBwZXI6IFBkZkpzV3JhcHBlcjtcbiAgcHJpdmF0ZSAkc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgdmlld2VyRXhjZXB0aW9uOiBWaWV3ZXJFeGNlcHRpb247XG4gIHNob3dDb21tZW50c1BhbmVsOiBib29sZWFuO1xuICBzaG93SWNwUGFydGljaXBhbnRzTGlzdDogYm9vbGVhbjtcbiAgZW5hYmxlR3JhYk5EcmFnID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8ZnJvbVN0b3JlLkFubm90YXRpb25TZXRTdGF0ZT4sXG4gICAgcHJpdmF0ZSBpY3BTdG9yZTogU3RvcmU8SWNwU3RhdGU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGRmSnNXcmFwcGVyRmFjdG9yeTogUGRmSnNXcmFwcGVyRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyRXZlbnRzOiBUb29sYmFyRXZlbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld2VyRXZlbnRzOiBWaWV3ZXJFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpY3BTZXJ2aWNlOiBJY3BTZXJ2aWNlLFxuICAgIHB1YmxpYyByZWFkb25seSB0b29sYmFyQnV0dG9uczogVG9vbGJhckJ1dHRvblZpc2liaWxpdHlTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLmhpZ2hsaWdodE1vZGUgPSB0b29sYmFyRXZlbnRzLmhpZ2hsaWdodE1vZGVTdWJqZWN0LnBpcGUodGFwKCgpID0+IHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IGZyb21UYWdBY3Rpb25zLkNsZWFyRmlsdGVyVGFncygpKTtcbiAgICB9KSk7XG4gICAgdGhpcy5kcmF3TW9kZSA9IHRvb2xiYXJFdmVudHMuZHJhd01vZGVTdWJqZWN0O1xuICB9XG5cbiAgYXN5bmMgbmdBZnRlckNvbnRlbnRJbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucGRmV3JhcHBlci5kb2N1bWVudExvYWRQcm9ncmVzcy5zdWJzY3JpYmUodiA9PiB0aGlzLm9uRG9jdW1lbnRMb2FkUHJvZ3Jlc3ModikpO1xuICAgIHRoaXMucGRmV3JhcHBlci5kb2N1bWVudExvYWRlZC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vbkRvY3VtZW50TG9hZGVkKCkpO1xuICAgIHRoaXMucGRmV3JhcHBlci5kb2N1bWVudExvYWRGYWlsZWQuc3Vic2NyaWJlKChlcnJvcikgPT4gdGhpcy5vbkRvY3VtZW50TG9hZEZhaWxlZChlcnJvcikpO1xuICAgIHRoaXMucGRmV3JhcHBlci5vdXRsaW5lTG9hZGVkLnN1YnNjcmliZShvdXRsaW5lID0+IHRoaXMuZG9jdW1lbnRPdXRsaW5lID0gb3V0bGluZSk7XG4gICAgdGhpcy5wZGZXcmFwcGVyLnBhZ2VSZW5kZXJlZC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB0aGlzLnVwZGF0ZVBhZ2VzKGV2ZW50KSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uID0gdGhpcy50b29sYmFyRXZlbnRzLnByaW50U3ViamVjdFxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLnByaW50U2VydmljZS5wcmludERvY3VtZW50TmF0aXZlbHkodGhpcy51cmwpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5kb3dubG9hZFN1YmplY3Quc3Vic2NyaWJlKCgpID0+XG4gICAgICB0aGlzLnBkZldyYXBwZXIuZG93bmxvYWRGaWxlKHRoaXMuZG93bmxvYWRVcmwgfHwgdGhpcy51cmwsIHRoaXMuZG93bmxvYWRGaWxlTmFtZSlcbiAgICApKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5yb3RhdGVTdWJqZWN0LnN1YnNjcmliZShyb3RhdGUgPT4gdGhpcy5yb3RhdGVEb2N1bWVudChyb3RhdGUpKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuem9vbVN1YmplY3Quc3Vic2NyaWJlKHpvb20gPT4gdGhpcy5zZXRab29tKHpvb20pKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuc3RlcFpvb21TdWJqZWN0LnN1YnNjcmliZSh6b29tID0+IHRoaXMuc3RlcFpvb20oem9vbSkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMudG9vbGJhckV2ZW50cy5zZWFyY2hTdWJqZWN0LnN1YnNjcmliZShzZWFyY2ggPT4gdGhpcy5wZGZXcmFwcGVyLnNlYXJjaChzZWFyY2gpKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMudG9vbGJhckV2ZW50cy5zZXRDdXJyZW50UGFnZVN1YmplY3Quc3Vic2NyaWJlKHBhZ2VOdW1iZXIgPT4gdGhpcy5wZGZXcmFwcGVyLnNldFBhZ2VOdW1iZXIocGFnZU51bWJlcikpXG4gICAgKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmNoYW5nZVBhZ2VCeURlbHRhU3ViamVjdC5zdWJzY3JpYmUocGFnZU51bWJlciA9PiB0aGlzLnBkZldyYXBwZXIuY2hhbmdlUGFnZU51bWJlcihwYWdlTnVtYmVyKSlcbiAgICApO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy50b29sYmFyRXZlbnRzLmdyYWJORHJhZy5zdWJzY3JpYmUoZ3JhYk5EcmFnID0+IHRoaXMuZW5hYmxlR3JhYk5EcmFnID0gZ3JhYk5EcmFnKSk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnRvb2xiYXJFdmVudHMuY29tbWVudHNQYW5lbFZpc2libGUuc3Vic2NyaWJlKHRvZ2dsZSA9PiB7XG4gICAgICAgIHRoaXMuc2hvd0NvbW1lbnRzUGFuZWwgPSB0b2dnbGU7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy4kc3Vic2NyaXB0aW9uLmFkZCh0aGlzLnZpZXdlckV2ZW50cy5uYXZpZ2F0aW9uRXZlbnQuc3Vic2NyaWJlKGRlc3QgPT4gdGhpcy5nb1RvRGVzdGluYXRpb24oZGVzdCkpKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy50b29sYmFyRXZlbnRzLmljcC5wYXJ0aWNpcGFudHNMaXN0VmlzaWJsZS5zdWJzY3JpYmUodG9nZ2xlID0+IHRoaXMuc2hvd0ljcFBhcnRpY2lwYW50c0xpc3QgPSB0b2dnbGUpXG4gICAgKTtcbiAgICB0aGlzLiRzdWJzY3JpcHRpb24uYWRkKHRoaXMucGRmV3JhcHBlci5wb3NpdGlvblVwZGF0ZWQuYXNPYnNlcnZhYmxlKClcbiAgICAgIC5waXBlKHRocm90dGxlVGltZSg1MDAsIGFzeW5jU2NoZWR1bGVyLCB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH0pKVxuICAgICAgLnN1YnNjcmliZShldmVudCA9PiB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBQZGZQb3NpdGlvblVwZGF0ZShldmVudC5sb2NhdGlvbikpKVxuICAgICk7XG4gIH1cblxuICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCF0aGlzLnBkZldyYXBwZXIpIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlciA9IHRoaXMucGRmSnNXcmFwcGVyRmFjdG9yeS5jcmVhdGUodGhpcy52aWV3ZXJDb250YWluZXIpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy51cmwgJiYgdGhpcy5wZGZXcmFwcGVyKSB7XG4gICAgICBhd2FpdCB0aGlzLmxvYWREb2N1bWVudCgpO1xuICAgICAgaWYgKHRoaXMuZW5hYmxlUmVkYWN0aW9ucykge1xuICAgICAgICB0aGlzLnRvb2xiYXJFdmVudHMucmVkYWN0aW9uTW9kZS5waXBlKGZpbHRlcih2YWx1ZSA9PiAhIXZhbHVlKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRSb3RhdGlvbigpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuY2FzZUlkKSB7XG4gICAgICB0aGlzLmljcFN0b3JlLmRpc3BhdGNoKG5ldyBTZXRDYXNlSWQodGhpcy5jYXNlSWQpKTtcbiAgICB9XG4gIH1cblxuICByZXNldFJvdGF0aW9uKCkge1xuICAgIGlmICh0aGlzLmhhc0RpZmZlcmVudFBhZ2VTaXplKSB7XG4gICAgICB0aGlzLnBkZldyYXBwZXIucmVzZXRSb3RhdGlvbigwKTtcbiAgICAgIHRoaXMucm90YXRpb24gPSAwO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkRG9jdW1lbnQoKSB7XG4gICAgdGhpcy5pbml0RG9jdW1lbnRQcm9ncmVzcygpO1xuICAgIGF3YWl0IHRoaXMucGRmV3JhcHBlci5sb2FkRG9jdW1lbnQodGhpcy51cmwpO1xuICAgIHRoaXMuZG9jdW1lbnRUaXRsZS5lbWl0KHRoaXMucGRmV3JhcHBlci5nZXRDdXJyZW50UERGVGl0bGUoKSk7XG4gICAgdGhpcy5zZXRQYWdlSGVpZ2h0cygpO1xuICAgIHRoaXMuJHN1YnNjcmlwdGlvbi5hZGQodGhpcy5zdG9yZS5waXBlKHNlbGVjdChmcm9tRG9jdW1lbnRzU2VsZWN0b3IuZ2V0UGFnZURpZmZlcmVuY2UpKVxuICAgICAgLnN1YnNjcmliZShoYXNEaWZmZXJlbnRQYWdlU2llID0+IHRoaXMuaGFzRGlmZmVyZW50UGFnZVNpemUgPSBoYXNEaWZmZXJlbnRQYWdlU2llKSk7XG4gIH1cblxuICBwcml2YXRlIG9uRG9jdW1lbnRMb2FkUHJvZ3Jlc3MocHJvZ3Jlc3M6IERvY3VtZW50TG9hZFByb2dyZXNzKSB7XG4gICAgaWYgKHByb2dyZXNzLnRvdGFsKSB7XG4gICAgICB0aGlzLmxvYWRpbmdEb2N1bWVudFByb2dyZXNzID0gTWF0aC5taW4oMTAwLCBNYXRoLmNlaWwocHJvZ3Jlc3MubG9hZGVkIC8gcHJvZ3Jlc3MudG90YWwgKiAxMDApKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9uRG9jdW1lbnRMb2FkZWQoKSB7XG4gICAgdGhpcy5sb2FkaW5nRG9jdW1lbnQgPSBmYWxzZTtcbiAgICB0aGlzLm1lZGlhTG9hZFN0YXR1cy5lbWl0KFJlc3BvbnNlVHlwZS5TVUNDRVNTKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Eb2N1bWVudExvYWRGYWlsZWQoZXJyb3I6IEVycm9yKSB7XG4gICAgdGhpcy5sb2FkaW5nRG9jdW1lbnQgPSBmYWxzZTtcbiAgICB0aGlzLnZpZXdlckV4Y2VwdGlvbiA9IG5ldyBWaWV3ZXJFeGNlcHRpb24oZXJyb3IubmFtZSwgeyBtZXNzYWdlOiBlcnJvci5tZXNzYWdlIH0pO1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gYENvdWxkIG5vdCBsb2FkIHRoZSBkb2N1bWVudCBcIiR7dGhpcy51cmx9XCJgO1xuXG4gICAgdGhpcy5tZWRpYUxvYWRTdGF0dXMuZW1pdChSZXNwb25zZVR5cGUuRkFJTFVSRSk7XG4gICAgdGhpcy5wZGZWaWV3ZXJFeGNlcHRpb24uZW1pdCh0aGlzLnZpZXdlckV4Y2VwdGlvbik7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVBhZ2VzKGV2ZW50OiBQYWdlRXZlbnRbXSkge1xuICAgIGlmICh0aGlzLmVuYWJsZUFubm90YXRpb25zKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBmcm9tRG9jdW1lbnRBY3Rpb25zLkFkZFBhZ2VzKGV2ZW50KSk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHNlYXJjaEJhckhpZGRlbihoaWRkZW46IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5wZGZXcmFwcGVyICYmIGhpZGRlbikge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyLmNsZWFyU2VhcmNoKCk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQ29tbWVudHNTdW1tYXJ5KCkge1xuICAgIHRoaXMudG9vbGJhckV2ZW50cy50b2dnbGVDb21tZW50c1N1bW1hcnkoIXRoaXMudG9vbGJhckV2ZW50cy5zaG93Q29tbWVudFN1bW1hcnkuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICBwcml2YXRlIHJvdGF0ZURvY3VtZW50KHJvdGF0aW9uOiBudW1iZXIpIHtcbiAgICBjb25zdCBwYWdlTnVtYmVyID0gdGhpcy5wZGZXcmFwcGVyLmdldFBhZ2VOdW1iZXIoKTtcbiAgICB0aGlzLnBkZldyYXBwZXIucm90YXRlKHJvdGF0aW9uKTtcbiAgICB0aGlzLnBkZldyYXBwZXIuc2V0UGFnZU51bWJlcihwYWdlTnVtYmVyKTtcbiAgICB0aGlzLnJvdGF0aW9uID0gKHRoaXMucm90YXRpb24gKyByb3RhdGlvbikgJSAzNjA7XG5cbiAgICB0aGlzLnNldFBhZ2VIZWlnaHRzKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXREb2N1bWVudFByb2dyZXNzKCkge1xuICAgIHRoaXMubG9hZGluZ0RvY3VtZW50ID0gdHJ1ZTtcbiAgICB0aGlzLmxvYWRpbmdEb2N1bWVudFByb2dyZXNzID0gbnVsbDtcbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNldFpvb20oem9vbUZhY3RvcjogbnVtYmVyKSB7XG4gICAgaWYgKCFpc05hTih6b29tRmFjdG9yKSkge1xuICAgICAgdGhpcy5wZGZXcmFwcGVyLnNldFpvb20oem9vbUZhY3Rvcik7XG4gICAgICB0aGlzLnpvb20gPSB0aGlzLmNhbGN1bGF0ZVpvb21WYWx1ZSh6b29tRmFjdG9yKTtcbiAgICAgIHRoaXMuc2V0UGFnZUhlaWdodHMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0ZXBab29tKHpvb21GYWN0b3I6IG51bWJlcikge1xuICAgIGlmICghaXNOYU4oem9vbUZhY3RvcikpIHtcbiAgICAgIHRoaXMucGRmV3JhcHBlci5zdGVwWm9vbSh6b29tRmFjdG9yKTtcbiAgICAgIHRoaXMuem9vbSA9IHRoaXMuY2FsY3VsYXRlWm9vbVZhbHVlKHRoaXMuem9vbSwgem9vbUZhY3Rvcik7XG4gICAgICB0aGlzLnNldFBhZ2VIZWlnaHRzKCk7XG4gICAgfVxuICB9XG5cbiAgc2V0UGFnZUhlaWdodHMoKSB7XG4gICAgdGhpcy5wYWdlSGVpZ2h0cyA9IFtdO1xuICAgIGNvbnN0IHBkZlZpZXdlckNoaWxkcmVuID0gdGhpcy5wZGZWaWV3ZXIubmF0aXZlRWxlbWVudC5jaGlsZHJlbjtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBkZlZpZXdlckNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLnBhZ2VIZWlnaHRzLnB1c2gocGRmVmlld2VyQ2hpbGRyZW5baV0uY2xpZW50SGVpZ2h0KTtcbiAgICB9XG4gIH1cblxuICBjYWxjdWxhdGVab29tVmFsdWUoem9vbVZhbHVlLCBpbmNyZW1lbnQgPSAwKSB7XG4gICAgY29uc3QgbmV3Wm9vbVZhbHVlID0gem9vbVZhbHVlICsgaW5jcmVtZW50O1xuICAgIGlmIChuZXdab29tVmFsdWUgPiA1KSB7XG4gICAgICByZXR1cm4gNTtcbiAgICB9XG4gICAgaWYgKG5ld1pvb21WYWx1ZSA8IDAuMSkge1xuICAgICAgcmV0dXJuIDAuMTtcbiAgICB9XG4gICAgcmV0dXJuICtuZXdab29tVmFsdWUudG9GaXhlZCgyKTtcbiAgfVxuXG4gIHByaXZhdGUgZ29Ub0Rlc3RpbmF0aW9uKGRlc3RpbmF0aW9uOiBhbnlbXSkge1xuICAgIHRoaXMucGRmV3JhcHBlci5uYXZpZ2F0ZVRvKGRlc3RpbmF0aW9uKTtcbiAgfVxufVxuIl19
|