@sunbird-cb/utils-v2 0.0.21 → 0.0.22-ang-9-12
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/sunbird-cb-utils-v2.umd.js +1284 -2508
- package/bundles/sunbird-cb-utils-v2.umd.js.map +1 -1
- package/bundles/sunbird-cb-utils-v2.umd.min.js +1 -1
- package/bundles/sunbird-cb-utils-v2.umd.min.js.map +1 -1
- package/esm2015/lib/components/image-crop/image-crop.component.js +19 -47
- package/esm2015/lib/components/image-crop/image-crop.module.js +8 -2
- package/esm2015/lib/constants/features.enum.js +555 -555
- package/esm2015/lib/constants/instances.enum.js +5 -5
- package/esm2015/lib/constants/misc.constants.js +1 -0
- package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +11 -21
- package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +1 -7
- package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +6 -11
- package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +9 -12
- package/esm2015/lib/directives/navigation/navigation.directive.js +1 -6
- package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +10 -19
- package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +4 -2
- package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +15 -31
- package/esm2015/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +4 -2
- package/esm2015/lib/helpers/logout/logout.component.js +11 -14
- package/esm2015/lib/helpers/logout/logout.module.js +3 -2
- package/esm2015/lib/models/profile-v3.models.js +2 -104
- package/esm2015/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +4 -4
- package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +1 -7
- package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +1 -11
- package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +3 -3
- package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +5 -5
- package/esm2015/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +3 -3
- package/esm2015/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +6 -6
- package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +4 -4
- package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +1 -6
- package/esm2015/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +4 -4
- package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +1 -4
- package/esm2015/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +1 -1
- package/esm2015/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +4 -4
- package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +5 -5
- package/esm2015/lib/resolvers/explore-detail.resolver.js +17 -19
- package/esm2015/lib/resolvers/marketing-offering.resolve.js +10 -10
- package/esm2015/lib/resolvers/module-name.resolver.js +2 -5
- package/esm2015/lib/resolvers/page-name.resolver.js +2 -2
- package/esm2015/lib/resolvers/page.constant.js +1 -1
- package/esm2015/lib/resolvers/page.model.js +2 -48
- package/esm2015/lib/resolvers/page.resolver.js +16 -17
- package/esm2015/lib/resolvers/resolver.model.js +2 -6
- package/esm2015/lib/services/auth-keycloak.service.js +35 -35
- package/esm2015/lib/services/auth-microsoft.service.js +21 -17
- package/esm2015/lib/services/card-content.model.js +1 -21
- package/esm2015/lib/services/configurations.model.js +2 -551
- package/esm2015/lib/services/configurations.service.js +2 -63
- package/esm2015/lib/services/content-strip-multiple.model.js +2 -75
- package/esm2015/lib/services/event.model.js +1 -114
- package/esm2015/lib/services/event.service.js +31 -24
- package/esm2015/lib/services/logger.service.js +8 -13
- package/esm2015/lib/services/ms-office.model.js +2 -8
- package/esm2015/lib/services/multilingual-translations.service.js +11 -15
- package/esm2015/lib/services/nps-grid.service.js +6 -8
- package/esm2015/lib/services/subapplication-respond.service.js +16 -20
- package/esm2015/lib/services/telemetry.service.js +73 -80
- package/esm2015/lib/services/user-preference.model.js +2 -38
- package/esm2015/lib/services/user-preference.service.js +23 -15
- package/esm2015/lib/services/utility.service.js +16 -27
- package/esm2015/lib/services/value.service.js +8 -10
- package/esm2015/lib/services/widget-content.model.js +1 -242
- package/esm2015/lib/services/widget-content.service.js +29 -21
- package/esm2015/lib/services/widget-resolver.model.js +2 -57
- package/esm2015/lib/services/widget-search.model.js +2 -126
- package/esm2015/public-api.js +96 -88
- package/esm2015/sunbird-cb-utils-v2.js +2 -10
- package/esm5/lib/components/image-crop/image-crop.component.js +30 -48
- package/esm5/lib/components/image-crop/image-crop.module.js +8 -2
- package/esm5/lib/constants/features.enum.js +555 -555
- package/esm5/lib/constants/instances.enum.js +5 -5
- package/esm5/lib/constants/misc.constants.js +1 -0
- package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +14 -24
- package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +1 -7
- package/esm5/lib/directives/image-responsive/image-responsive.directive.js +6 -11
- package/esm5/lib/directives/in-view-port/in-view-port.directive.js +9 -12
- package/esm5/lib/directives/navigation/navigation.directive.js +1 -6
- package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
- package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +10 -19
- package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +4 -2
- package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.component.js +15 -31
- package/esm5/lib/helpers/horizontal-scroller-v2/horizontal-scroller-v2.module.js +4 -2
- package/esm5/lib/helpers/logout/logout.component.js +12 -15
- package/esm5/lib/helpers/logout/logout.module.js +3 -2
- package/esm5/lib/models/profile-v3.models.js +2 -104
- package/esm5/lib/pipes/pipe-certificate-image-URL/pipe-certimage-URL.pipe.js +4 -4
- package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +1 -7
- package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +1 -1
- package/esm5/lib/pipes/pipe-coursename/pipe-coursename.pipe.js +1 -1
- package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +1 -11
- package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +1 -1
- package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +3 -3
- package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +5 -5
- package/esm5/lib/pipes/pipe-filter-v2/pipe-filter-v2.pipe.js +3 -3
- package/esm5/lib/pipes/pipe-filter-v3/pipe-filter-v3.pipe.js +9 -9
- package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +1 -1
- package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +4 -4
- package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +1 -6
- package/esm5/lib/pipes/pipe-nic-relative/pipe-nic-relative.pipe.js +4 -4
- package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +1 -4
- package/esm5/lib/pipes/pipe-ordinal/pipe-ordinal.pipe.js +1 -1
- package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +13 -3
- package/esm5/lib/pipes/pipe-public-URL/pipe-public-URL.pipe.js +4 -4
- package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +5 -5
- package/esm5/lib/resolvers/explore-detail.resolver.js +17 -19
- package/esm5/lib/resolvers/marketing-offering.resolve.js +10 -10
- package/esm5/lib/resolvers/module-name.resolver.js +2 -5
- package/esm5/lib/resolvers/page-name.resolver.js +2 -2
- package/esm5/lib/resolvers/page.constant.js +1 -1
- package/esm5/lib/resolvers/page.model.js +2 -48
- package/esm5/lib/resolvers/page.resolver.js +36 -22
- package/esm5/lib/resolvers/resolver.model.js +2 -6
- package/esm5/lib/services/auth-keycloak.service.js +86 -48
- package/esm5/lib/services/auth-microsoft.service.js +55 -24
- package/esm5/lib/services/card-content.model.js +1 -21
- package/esm5/lib/services/configurations.model.js +2 -551
- package/esm5/lib/services/configurations.service.js +2 -63
- package/esm5/lib/services/content-strip-multiple.model.js +2 -75
- package/esm5/lib/services/event.model.js +1 -114
- package/esm5/lib/services/event.service.js +66 -28
- package/esm5/lib/services/logger.service.js +12 -17
- package/esm5/lib/services/ms-office.model.js +2 -8
- package/esm5/lib/services/multilingual-translations.service.js +11 -15
- package/esm5/lib/services/nps-grid.service.js +6 -8
- package/esm5/lib/services/subapplication-respond.service.js +30 -24
- package/esm5/lib/services/telemetry.service.js +94 -91
- package/esm5/lib/services/user-preference.model.js +2 -38
- package/esm5/lib/services/user-preference.service.js +63 -17
- package/esm5/lib/services/utility.service.js +23 -34
- package/esm5/lib/services/value.service.js +8 -10
- package/esm5/lib/services/widget-content.model.js +1 -242
- package/esm5/lib/services/widget-content.service.js +69 -23
- package/esm5/lib/services/widget-resolver.model.js +2 -57
- package/esm5/lib/services/widget-search.model.js +2 -126
- package/esm5/public-api.js +96 -88
- package/esm5/sunbird-cb-utils-v2.js +2 -10
- package/fesm2015/sunbird-cb-utils-v2.js +972 -2207
- package/fesm2015/sunbird-cb-utils-v2.js.map +1 -1
- package/fesm5/sunbird-cb-utils-v2.js +1262 -2264
- package/fesm5/sunbird-cb-utils-v2.js.map +1 -1
- package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +3 -3
- package/lib/helpers/logout/logout.component.d.ts +2 -2
- package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +4 -4
- package/lib/resolvers/page.model.d.ts +1 -1
- package/lib/services/auth-keycloak.service.d.ts +9 -9
- package/lib/services/auth-microsoft.service.d.ts +2 -2
- package/lib/services/configurations.model.d.ts +29 -27
- package/lib/services/content-strip-multiple.model.d.ts +7 -6
- package/lib/services/event.service.d.ts +2 -0
- package/lib/services/logger.service.d.ts +4 -4
- package/lib/services/telemetry.service.d.ts +3 -3
- package/lib/services/utility.service.d.ts +7 -7
- package/lib/services/widget-content.model.d.ts +21 -20
- package/package.json +12 -12
- package/public-api.d.ts +8 -0
- package/sunbird-cb-utils-v2-0.0.22-ang-9-12.tgz +0 -0
- package/sunbird-cb-utils-v2.d.ts +0 -8
- package/sunbird-cb-utils-v2.metadata.json +1 -1
|
@@ -1,4 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
13
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
14
|
+
if (!m) return o;
|
|
15
|
+
var i = m.call(o), r, ar = [], e;
|
|
16
|
+
try {
|
|
17
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
18
|
+
}
|
|
19
|
+
catch (error) { e = { error: error }; }
|
|
20
|
+
finally {
|
|
21
|
+
try {
|
|
22
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
23
|
+
}
|
|
24
|
+
finally { if (e) throw e.error; }
|
|
25
|
+
}
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
29
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
30
|
+
to[j] = from[i];
|
|
31
|
+
return to;
|
|
32
|
+
};
|
|
2
33
|
import { Inject, Injectable } from '@angular/core';
|
|
3
34
|
import { Subject } from 'rxjs';
|
|
4
35
|
import { WsEvents } from './event.model';
|
|
@@ -12,6 +43,7 @@ var EventService = (function () {
|
|
|
12
43
|
this.utilitySvc = utilitySvc;
|
|
13
44
|
this.todaysEvents = [];
|
|
14
45
|
this.todaysLiveEvents = [];
|
|
46
|
+
this.keySpeakerEvents = [];
|
|
15
47
|
this.eventsSubject = new Subject();
|
|
16
48
|
this.events$ = this.eventsSubject.asObservable();
|
|
17
49
|
this.eventsChatbotSubject = new Subject();
|
|
@@ -99,10 +131,10 @@ var EventService = (function () {
|
|
|
99
131
|
subType: subType,
|
|
100
132
|
type: WsEvents.EnumInteractTypes.CLICK,
|
|
101
133
|
id: _.camelCase(data.label) + "-tab",
|
|
102
|
-
},
|
|
134
|
+
}, __assign({}, object), {
|
|
103
135
|
pageIdExt: _.camelCase(data.label) + "-tab",
|
|
104
136
|
});
|
|
105
|
-
this.raiseCustomImpression(
|
|
137
|
+
this.raiseCustomImpression(__assign({ context: {
|
|
106
138
|
position: data.index,
|
|
107
139
|
} }, object), {
|
|
108
140
|
pageIdExt: _.camelCase(data.label) + "-tab",
|
|
@@ -143,30 +175,31 @@ var EventService = (function () {
|
|
|
143
175
|
return date + " " + hour + min;
|
|
144
176
|
};
|
|
145
177
|
EventService.prototype.sortItemByTime = function (eventsdata) {
|
|
146
|
-
return eventsdata.sort(
|
|
178
|
+
return eventsdata.sort(function (a, b) {
|
|
147
179
|
var firstDate = new Date(a.eventDate);
|
|
148
180
|
var secondDate = new Date(b.eventDate);
|
|
149
181
|
return secondDate > firstDate ? 1 : -1;
|
|
150
|
-
})
|
|
182
|
+
});
|
|
151
183
|
};
|
|
152
184
|
EventService.prototype.sortItemByTimeAsc = function (eventsdata) {
|
|
153
|
-
return eventsdata.sort(
|
|
185
|
+
return eventsdata.sort(function (a, b) {
|
|
154
186
|
var firstDate = new Date(a.eventDate);
|
|
155
187
|
var secondDate = new Date(b.eventDate);
|
|
156
188
|
return secondDate < firstDate ? 1 : -1;
|
|
157
|
-
})
|
|
189
|
+
});
|
|
158
190
|
};
|
|
159
191
|
EventService.prototype.setEventListData = function (eventObj) {
|
|
160
192
|
var _this = this;
|
|
161
193
|
if (eventObj !== undefined) {
|
|
162
194
|
this.todaysEvents = [];
|
|
163
195
|
this.todaysLiveEvents = [];
|
|
196
|
+
this.keySpeakerEvents = [];
|
|
164
197
|
var data_1 = eventObj;
|
|
165
198
|
var isEventLive_1 = false;
|
|
166
199
|
var isEventRecording_1 = false;
|
|
167
200
|
var isEventPast_1 = false;
|
|
168
201
|
var isEventFuture_1 = false;
|
|
169
|
-
Object.keys(data_1).forEach(
|
|
202
|
+
Object.keys(data_1).forEach(function (index) {
|
|
170
203
|
isEventRecording_1 = false;
|
|
171
204
|
isEventLive_1 = false;
|
|
172
205
|
isEventPast_1 = false;
|
|
@@ -242,8 +275,10 @@ var EventService = (function () {
|
|
|
242
275
|
if (isToday && isEventLive_1) {
|
|
243
276
|
_this.todaysLiveEvents.push(eventDataObj);
|
|
244
277
|
}
|
|
245
|
-
|
|
278
|
+
_this.keySpeakerEvents.push(eventDataObj);
|
|
279
|
+
});
|
|
246
280
|
this.todaysLiveEvents = this.sortItemByTime(this.todaysLiveEvents);
|
|
281
|
+
this.keySpeakerEvents = this.getKeySpeakerEvents(this.keySpeakerEvents);
|
|
247
282
|
this.todaysEvents = this.getTodaysEvents(this.todaysEvents);
|
|
248
283
|
}
|
|
249
284
|
};
|
|
@@ -252,14 +287,32 @@ var EventService = (function () {
|
|
|
252
287
|
var pastEvents = [];
|
|
253
288
|
var futureEvents = [];
|
|
254
289
|
liveEvents = this.todaysLiveEvents;
|
|
255
|
-
pastEvents = eventData.filter(
|
|
256
|
-
futureEvents = eventData.filter(
|
|
290
|
+
pastEvents = eventData.filter(function (pastEvent) { return pastEvent.isEventPast; });
|
|
291
|
+
futureEvents = eventData.filter(function (futureEvent) { return futureEvent.isEventFuture; });
|
|
257
292
|
liveEvents = this.sortItemByTimeAsc(liveEvents);
|
|
258
293
|
futureEvents = this.sortItemByTimeAsc(futureEvents);
|
|
259
294
|
pastEvents = this.sortItemByTime(pastEvents);
|
|
260
|
-
this.todaysEvents =
|
|
295
|
+
this.todaysEvents = __spreadArray(__spreadArray(__spreadArray([], __read(liveEvents)), __read(futureEvents)), __read(pastEvents));
|
|
261
296
|
return this.todaysEvents;
|
|
262
297
|
};
|
|
298
|
+
EventService.prototype.getKeySpeakerEvents = function (eventData) {
|
|
299
|
+
var liveEvents = [];
|
|
300
|
+
var pastEvents = [];
|
|
301
|
+
var futureEvents = [];
|
|
302
|
+
liveEvents = this.todaysLiveEvents;
|
|
303
|
+
pastEvents = eventData.filter(function (pastEvent) { return pastEvent.isEventPast; });
|
|
304
|
+
futureEvents = eventData.filter(function (futureEvent) { return futureEvent.isEventFuture; });
|
|
305
|
+
liveEvents = this.sortItemByTimeAsc(liveEvents);
|
|
306
|
+
futureEvents = this.sortItemByTimeAsc(futureEvents);
|
|
307
|
+
pastEvents = this.sortItemByTime(pastEvents);
|
|
308
|
+
this.keySpeakerEvents = __spreadArray(__spreadArray(__spreadArray([], __read(liveEvents)), __read(futureEvents)), __read(pastEvents));
|
|
309
|
+
return this.keySpeakerEvents;
|
|
310
|
+
};
|
|
311
|
+
EventService.ctorParameters = function () { return [
|
|
312
|
+
{ type: undefined, decorators: [{ type: Inject, args: ['environment',] }] },
|
|
313
|
+
{ type: UtilityService }
|
|
314
|
+
]; };
|
|
315
|
+
EventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EventService_Factory() { return new EventService(i0.ɵɵinject("environment"), i0.ɵɵinject(i1.UtilityService)); }, token: EventService, providedIn: "root" });
|
|
263
316
|
EventService.decorators = [
|
|
264
317
|
{ type: Injectable, args: [{
|
|
265
318
|
providedIn: 'root',
|
|
@@ -269,22 +322,7 @@ var EventService = (function () {
|
|
|
269
322
|
{ type: undefined, decorators: [{ type: Inject, args: ['environment',] }] },
|
|
270
323
|
{ type: UtilityService }
|
|
271
324
|
]; };
|
|
272
|
-
/** @nocollapse */ EventService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function EventService_Factory() { return new EventService(i0.ɵɵinject("environment"), i0.ɵɵinject(i1.UtilityService)); }, token: EventService, providedIn: "root" });
|
|
273
325
|
return EventService;
|
|
274
326
|
}());
|
|
275
327
|
export { EventService };
|
|
276
|
-
if (false) {
|
|
277
|
-
EventService.prototype.todaysEvents;
|
|
278
|
-
EventService.prototype.todaysLiveEvents;
|
|
279
|
-
EventService.prototype.eventsSubject;
|
|
280
|
-
EventService.prototype.events$;
|
|
281
|
-
EventService.prototype.eventsChatbotSubject;
|
|
282
|
-
EventService.prototype.chatbotEvents$;
|
|
283
|
-
EventService.prototype.eventsGetStartSubject;
|
|
284
|
-
EventService.prototype.getStartEvents$;
|
|
285
|
-
EventService.prototype.eventsPRSubject;
|
|
286
|
-
EventService.prototype.getPREvents$;
|
|
287
|
-
EventService.prototype.environment;
|
|
288
|
-
EventService.prototype.utilitySvc;
|
|
289
|
-
}
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDOUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFbEQsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFBO0FBQ3RCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQTs7O0FBQzNCO0lBb0JFLHNCQUN5QixXQUFnQixFQUMvQixVQUEwQjtRQUExQixlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQWxCcEMsaUJBQVksR0FBUSxFQUFFLENBQUE7UUFDdEIscUJBQWdCLEdBQVEsRUFBRSxDQUFBO1FBRWxCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUE7UUFDdkQsWUFBTyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUE7UUFFMUMseUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUE7UUFDOUQsbUJBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsWUFBWSxFQUFFLENBQUE7UUFFeEQsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUE7UUFDL0Qsb0JBQWUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUE7UUFFMUQsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQTtRQUN6RCxpQkFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUE7UUFPdkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxX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QUFrRDtJQUVsRCw0Q0FBcUU7SUFDckUsc0NBQWdFO0lBRWhFLDZDQUFzRTtJQUN0RSx1Q0FBa0U7SUFFbEUsdUNBQWdFO0lBQ2hFLG9DQUF5RDtJQUV6RCxtQ0FBZ0I7SUFHZCxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgV3NFdmVudHMgfSBmcm9tICcuL2V2ZW50Lm1vZGVsJ1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4vdXRpbGl0eS5zZXJ2aWNlJ1xyXG4vKiB0c2xpbnQ6ZGlzYWJsZSovXHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCdcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFdmVudFNlcnZpY2Uge1xyXG4gIHRvZGF5c0V2ZW50czogYW55ID0gW11cclxuICB0b2RheXNMaXZlRXZlbnRzOiBhbnkgPSBbXVxyXG4gIFxyXG4gIHByaXZhdGUgZXZlbnRzU3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGV2ZW50cyQgPSB0aGlzLmV2ZW50c1N1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuXHJcbiAgcHJpdmF0ZSBldmVudHNDaGF0Ym90U3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGNoYXRib3RFdmVudHMkID0gdGhpcy5ldmVudHNDaGF0Ym90U3ViamVjdC5hc09ic2VydmFibGUoKVxyXG5cclxuICBwcml2YXRlIGV2ZW50c0dldFN0YXJ0U3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGdldFN0YXJ0RXZlbnRzJCA9IHRoaXMuZXZlbnRzR2V0U3RhcnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXHJcblxyXG4gIHByaXZhdGUgZXZlbnRzUFJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8V3NFdmVudHMuSVdzRXZlbnRzPGFueT4+KClcclxuICBwdWJsaWMgZ2V0UFJFdmVudHMkID0gdGhpcy5ldmVudHNQUlN1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuXHJcbiAgZW52aXJvbm1lbnQ6IGFueVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBlbnZpcm9ubWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSB1dGlsaXR5U3ZjOiBVdGlsaXR5U2VydmljZSxcclxuICApIHtcclxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudFxyXG4gICAgLy8gdGhpcy5mb2N1c0NoYW5nZUV2ZW50TGlzdGVuZXIoKVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hFdmVudDxUPihldmVudDogV3NFdmVudHMuSVdzRXZlbnRzPFQ+KSB7XHJcbiAgICBldmVudC5wYWdlQ29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dChldmVudC5wYWdlQ29udGV4dClcclxuICAgIHRoaXMuZXZlbnRzU3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hDaGF0Ym90RXZlbnQ8VD4oZXZlbnQ6IFdzRXZlbnRzLklXc0V2ZW50czxUPikge1xyXG4gICAgdGhpcy5ldmVudHNDaGF0Ym90U3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hHZXRTdGFydGVkRXZlbnQ8VD4oZXZlbnQ6IFdzRXZlbnRzLklXc0V2ZW50czxUPikge1xyXG4gICAgdGhpcy5ldmVudHNHZXRTdGFydFN1YmplY3QubmV4dChldmVudClcclxuICB9XHJcblxyXG4gIGRpc3BhdGNoUGxhdGZvcm1SYXRpbmdFdmVudDxUPihldmVudDogV3NFdmVudHMuSVdzRXZlbnRzPFQ+KSB7XHJcbiAgICB0aGlzLmV2ZW50c1BSU3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcblxyXG4gIC8vIGhlbHBlciBmdW5jdGlvbnNcclxuICByYWlzZUludGVyYWN0VGVsZW1ldHJ5KGVkYXRhOiBXc0V2ZW50cy5JVGVsZW1ldHJ5RWRhdGEsIG9iamVjdDogYW55LCBwYWdlQ29udGV4dD86IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCkge1xyXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SW50ZXJhY3Q+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZWRhdGEsXHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIHBhZ2VDb250ZXh0OiB0aGlzLmdldENvbnRleHQocGFnZUNvbnRleHQpLFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSW50ZXJhY3QsXHJcbiAgICAgIH0sXHJcbiAgICAgIGZyb206ICcnLFxyXG4gICAgICB0bzogJ1RlbGVtZXRyeScsXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmFpc2VGZWVkYmFja1RlbGVtZXRyeShlZGF0YTogV3NFdmVudHMuSVRlbGVtZXRyeUVkYXRhLCBvYmplY3Q6IGFueSwgZnJvbT86IHN0cmluZykge1xyXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SW50ZXJhY3Q+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZWRhdGEsXHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuRmVlZGJhY2ssXHJcbiAgICAgIH0sXHJcbiAgICAgIGZyb206IGZyb20gfHwgJycsXHJcbiAgICAgIHRvOiAnVGVsZW1ldHJ5JyxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBSYWlzZSBjdXN0b20gaW1wcmVzc2lvbiBldmVudHMgZWc6b24gdGFiIGNoYW5nZVxyXG4gIHJhaXNlQ3VzdG9tSW1wcmVzc2lvbihvYmplY3Q6IGFueSwgcGFnZUNvbnRleHQ/OiBXc0V2ZW50cy5JVGVsZW1ldHJ5UGFnZUNvbnRleHQpIHtcclxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudDxXc0V2ZW50cy5JV3NFdmVudFRlbGVtZXRyeUltcHJlc3Npb24+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIHBhZ2VDb250ZXh0OiB0aGlzLmdldENvbnRleHQocGFnZUNvbnRleHQpLFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSW1wcmVzc2lvbixcclxuICAgICAgfSxcclxuICAgICAgZnJvbTogJycsXHJcbiAgICAgIHRvOiAnVGVsZW1ldHJ5JyxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBwcml2YXRlIGZvY3VzQ2hhbmdlRXZlbnRMaXN0ZW5lcigpIHtcclxuICAvLyAgIGZyb21FdmVudCh3aW5kb3csICdmb2N1cycpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgLy8gICAgIHRoaXMucmFpc2VJbnRlcmFjdFRlbGVtZXRyeSgnZm9jdXMnLCAnZ2FpbmVkJywge30pXHJcbiAgLy8gICB9KVxyXG4gIC8vICAgZnJvbUV2ZW50KHdpbmRvdywgJ2JsdXInKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gIC8vICAgICB0aGlzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoJ2ZvY3VzJywgJ2xvc3QnLCB7fSlcclxuICAvLyAgIH0pXHJcbiAgLy8gfVxyXG5cclxuICAvLyBNZXRob2QgdG8gZ2V0IHRoZSBjb250ZXh0IGluZm9ybWF0aW9uIGFib3V0IHRoZSB0ZWxlbWV0cnkgaW50ZXJhY3QgZXZlbnRcclxuICBwcml2YXRlIGdldENvbnRleHQocGFnZUNvbnRleHQ6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCB8IHVuZGVmaW5lZCk6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCB7XHJcbiAgICBjb25zdCByb3V0ZURhdGFDb250ZXh0ID0gdGhpcy51dGlsaXR5U3ZjLnJvdXRlRGF0YVxyXG4gICAgLy8gaW5pdGlhbGl6ZSB3aXRoIHRoZSByb3V0ZSBkYXRhIGNvbmZpZ3VyYXRpb24gLSBjdXJyZW50IHJvdXRlJ3MgcGFnZUlEICYgbW9kdWxlXHJcbiAgICBjb25zdCBmaW5hbENvbnRleHQ6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCA9IHtcclxuICAgICAgcGFnZUlkOiByb3V0ZURhdGFDb250ZXh0LnBhZ2VJZCxcclxuICAgICAgbW9kdWxlOiByb3V0ZURhdGFDb250ZXh0Lm1vZHVsZSxcclxuICAgIH1cclxuICAgIGlmIChwYWdlQ29udGV4dCkge1xyXG4gICAgICAvLyBpZiBjb250ZXh0IGhhcyBwYWdlSWRFeHQsIGFwcGVuZCBpdCB0byB0aGUgcm91dGUncyBwYWdlSWRcclxuICAgICAgaWYgKHBhZ2VDb250ZXh0LnBhZ2VJZEV4dCkge1xyXG4gICAgICAgIGZpbmFsQ29udGV4dC5wYWdlSWQgPSBgJHtyb3V0ZURhdGFDb250ZXh0LnBhZ2VJZH1fJHtwYWdlQ29udGV4dC5wYWdlSWRFeHR9YFxyXG4gICAgICB9IGVsc2UgaWYgKHBhZ2VDb250ZXh0LnBhZ2VJZCkge1xyXG4gICAgICAgIC8vIGVsc2UgY29udGV4dCBoYXMgcGFnZUlkLCBvdmVycmlkZSBpdCB0byB0aGUgZmluYWwgcGFnZUlEXHJcbiAgICAgICAgZmluYWxDb250ZXh0LnBhZ2VJZCA9IHBhZ2VDb250ZXh0LnBhZ2VJZFxyXG4gICAgICB9XHJcbiAgICAgIC8vIGlmIGNvbnRleHQgaGFzIG1vZHVsZSwgb3ZlcnJpZGUgaXQgdG8gdGhlIGZpbmFsIG1vZHVsZVxyXG4gICAgICBpZiAocGFnZUNvbnRleHQubW9kdWxlKSB7XHJcbiAgICAgICAgZmluYWxDb250ZXh0Lm1vZHVsZSA9IHBhZ2VDb250ZXh0Lm1vZHVsZVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZpbmFsQ29udGV4dFxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVRhYlRlbGVtZXRyeShzdWJUeXBlOiBzdHJpbmcsIGRhdGE6IFdzRXZlbnRzLklUZWxlbWV0cnlUYWJEYXRhLCBvYmplY3Q/OmFueSkge1xyXG4gICAgLy8gcmFpc2UgYSB0YWIgY2xpY2sgaW50ZXJhY3QgZXZlbnRcclxuICAgIHRoaXMucmFpc2VJbnRlcmFjdFRlbGVtZXRyeShcclxuICAgICAge1xyXG4gICAgICAgIHN1YlR5cGUsXHJcbiAgICAgICAgdHlwZTogV3NFdmVudHMuRW51bUludGVyYWN0VHlwZXMuQ0xJQ0ssXHJcbiAgICAgICAgaWQ6IGAke18uY2FtZWxDYXNlKGRhdGEubGFiZWwpfS10YWJgLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgLy8gY29udGV4dDoge1xyXG4gICAgICAgIC8vICAgcG9zaXRpb246IGRhdGEuaW5kZXgsXHJcbiAgICAgICAgLy8gfSxcclxuICAgICAgICAuLi5vYmplY3RcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICBwYWdlSWRFeHQ6IGAke18uY2FtZWxDYXNlKGRhdGEubGFiZWwpfS10YWJgLFxyXG4gICAgfSlcclxuXHJcbiAgICAvLyByYWlzZSBhIHRhYiBjbGljayBpbXByZXNzaW9uIGV2ZW50XHJcbiAgICB0aGlzLnJhaXNlQ3VzdG9tSW1wcmVzc2lvbih7XHJcbiAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGRhdGEuaW5kZXgsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgLi4ub2JqZWN0XHJcbiAgICAgIH0se1xyXG4gICAgICBwYWdlSWRFeHQ6IGAke18uY2FtZWxDYXNlKGRhdGEubGFiZWwpfS10YWJgLFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldFB1YmxpY1VybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBtYWluVXJsID0gdXJsLnNwbGl0KCcvY29udGVudCcpLnBvcCgpIHx8ICcnXHJcbiAgICByZXR1cm4gYCR7dGhpcy5lbnZpcm9ubWVudC5jb250ZW50SG9zdH0vJHt0aGlzLmVudmlyb25tZW50LmNvbnRlbnRCdWNrZXR9L2NvbnRlbnQke21haW5Vcmx9YFxyXG4gIH1cclxuXHJcbiAgYWxsRXZlbnREYXRlRm9ybWF0KGRhdGV0aW1lOiBhbnkpIHtcclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShkYXRldGltZSkuZ2V0RGF0ZSgpXHJcbiAgICBjb25zdCB5ZWFyID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldEZ1bGxZZWFyKClcclxuICAgIGNvbnN0IG1vbnRoID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldE1vbnRoKClcclxuICAgIGNvbnN0IGhvdXJzID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldEhvdXJzKClcclxuICAgIGNvbnN0IG1pbnV0ZXMgPSBuZXcgRGF0ZShkYXRldGltZSkuZ2V0TWludXRlcygpXHJcbiAgICBjb25zdCBzZWNvbmRzID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldFNlY29uZHMoKVxyXG4gICAgY29uc3QgZm9ybWF0ZWREYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRhdGUsIGhvdXJzLCBtaW51dGVzLCBzZWNvbmRzLCAwKVxyXG4gICAgLy8gbGV0IGZvcm1hdCA9ICdZWVlZLU1NLUREIGhoOm1tIGEnXHJcbiAgICAvLyBpZiAoIXRpbWVBbGxvdykge1xyXG4gICAgY29uc3QgZm9ybWF0ID0gJ1lZWVktTU0tREQnXHJcbiAgICAvLyB9XHJcbiAgICBjb25zdCByZWFkYWJsZURhdGVNb250aCA9IG1vbWVudChmb3JtYXRlZERhdGUpLmZvcm1hdChmb3JtYXQpXHJcbiAgICBjb25zdCBmaW5hbERhdGVUaW1lVmFsdWUgPSBgJHtyZWFkYWJsZURhdGVNb250aH1gXHJcbiAgICByZXR1cm4gZmluYWxEYXRlVGltZVZhbHVlXHJcbiAgfVxyXG5cclxuICBjb21wYXJlRGF0ZShzdGFydERhdGU6IGFueSkge1xyXG4gICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKVxyXG5cclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpwcmVmZXItdGVtcGxhdGVcclxuICAgIGNvbnN0IGRheSA9ICAoJzAnICsgKG5ldyBEYXRlKCkuZ2V0RGF0ZSgpKSkuc2xpY2UoLTIpXHJcbiAgICBjb25zdCB5ZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLXRlbXBsYXRlXHJcbiAgICBjb25zdCBtb250aCA9ICgnMCcgKyAobm93LmdldE1vbnRoKCkgKyAxKSkuc2xpY2UoLTIpXHJcbiAgICBjb25zdCB0b2RheXNkYXRlID0gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YFxyXG4gICAgaWYgKHN0YXJ0RGF0ZSA9PT0gdG9kYXlzZGF0ZSkgIHtcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZVxyXG4gIH1cclxuXHJcbiAgY3VzdG9tRGF0ZUZvcm1hdChkYXRlOiBhbnksIHRpbWU6IGFueSkge1xyXG4gICAgY29uc3Qgc3RpbWUgPSB0aW1lLnNwbGl0KCcrJylbMF1cclxuICAgIGNvbnN0IGhvdXIgPSBzdGltZS5zdWJzdHIoMCwgMilcclxuICAgIGNvbnN0IG1pbiA9IHN0aW1lLnN1YnN0cigyLCAzKVxyXG4gICAgcmV0dXJuIGAke2RhdGV9ICR7aG91cn0ke21pbn1gXHJcbiB9XHJcbiBzb3J0SXRlbUJ5VGltZShldmVudHNkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gZXZlbnRzZGF0YS5zb3J0KChhOmFueSwgYjphbnkpPT4ge1xyXG4gICAgY29uc3QgZmlyc3REYXRlOiBhbnkgPSBuZXcgRGF0ZShhLmV2ZW50RGF0ZSlcclxuICAgICAgY29uc3Qgc2Vjb25kRGF0ZTogYW55ID0gbmV3IERhdGUoYi5ldmVudERhdGUpXHJcbiAgICAgIHJldHVybiAgc2Vjb25kRGF0ZSA+IGZpcnN0RGF0ZSAgPyAxIDogLTFcclxuICB9KTtcclxufVxyXG5zb3J0SXRlbUJ5VGltZUFzYyhldmVudHNkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gZXZlbnRzZGF0YS5zb3J0KChhOmFueSwgYjphbnkpPT4ge1xyXG4gICAgY29uc3QgZmlyc3REYXRlOiBhbnkgPSBuZXcgRGF0ZShhLmV2ZW50RGF0ZSlcclxuICAgICAgY29uc3Qgc2Vjb25kRGF0ZTogYW55ID0gbmV3IERhdGUoYi5ldmVudERhdGUpXHJcbiAgICAgIHJldHVybiAgc2Vjb25kRGF0ZSA8IGZpcnN0RGF0ZSAgPyAxIDogLTFcclxuICB9KTtcclxufVxyXG5cclxuXHJcbiBzZXRFdmVudExpc3REYXRhKGV2ZW50T2JqOiBhbnkpIHtcclxuICBpZiAoZXZlbnRPYmogIT09IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy50b2RheXNFdmVudHMgPSBbXVxyXG4gICAgdGhpcy50b2RheXNMaXZlRXZlbnRzID0gW11cclxuICAgIGNvbnN0IGRhdGEgPSBldmVudE9ialxyXG4gICAgbGV0IGlzRXZlbnRMaXZlIDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgICBsZXQgaXNFdmVudFJlY29yZGluZyA6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICAgbGV0IGlzRXZlbnRQYXN0IDogYm9vbGVhbiA9IGZhbHNlXHJcbiAgICBsZXQgaXNFdmVudEZ1dHVyZSA6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICAvLyBjb25zb2xlLmxvZygnc3RyaXAgY29tcCcsIGRhdGEpXHJcbiAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKChpbmRleDogYW55KSA9PiB7XHJcbiAgICAgIFxyXG4gICAgICBpc0V2ZW50UmVjb3JkaW5nID0gZmFsc2VcclxuICAgICAgaXNFdmVudExpdmUgPSBmYWxzZVxyXG4gICAgICBpc0V2ZW50UGFzdCA9IGZhbHNlXHJcbiAgICAgIGlzRXZlbnRGdXR1cmUgPSBmYWxzZVxyXG4gICAgICBjb25zdCBvYmogPSBkYXRhW2luZGV4XVxyXG4gICAgICBjb25zdCBmbG9vciA9IE1hdGguZmxvb3JcclxuICAgICAgY29uc3QgaG91cnMgPSBmbG9vcihvYmouZHVyYXRpb24gLyA2MClcclxuICAgICAgY29uc3QgbWludXRlcyA9IG9iai5kdXJhdGlvbiAlIDYwXHJcbiAgICAgIGNvbnN0IGR1cmF0aW9uID0gKGhvdXJzID09PSAwKSA/ICgobWludXRlcyA9PT0gMCkgPyAnLS0tJyA6IGAke21pbnV0ZXN9IG1pbnV0ZXNgKSA6IChtaW51dGVzID09PSAwKSA/IChob3VycyA9PT0gMSkgP1xyXG4gICAgICAgIGAke2hvdXJzfSBob3VyYCA6IGAke2hvdXJzfSBob3Vyc2AgOiAoaG91cnMgPT09IDEpID8gYCR7aG91cnN9IGhvdXIgJHttaW51dGVzfSBtaW51dGVzYCA6XHJcbiAgICAgICAgYCR7aG91cnN9IGhvdXJzICR7bWludXRlc30gbWludXRlc2BcclxuICAgICAgY29uc3QgY3JlYXRvcmRhdGEgPSBvYmouY3JlYXRvckRldGFpbHMgIT09IHVuZGVmaW5lZCA/IG9iai5jcmVhdG9yRGV0YWlscyA6IFtdXHJcbiAgICAgIGNvbnN0IHN0ciA9IGNyZWF0b3JkYXRhICYmIGNyZWF0b3JkYXRhLmxlbmd0aCA+IDAgPyBjcmVhdG9yZGF0YS5yZXBsYWNlKC9cXFxcL2csICcnKSA6IFtdXHJcbiAgICAgIGNvbnN0IGNyZWF0b3JEZXRhaWxzID0gc3RyICYmIHN0ci5sZW5ndGggPiAwID8gSlNPTi5wYXJzZShzdHIpIDogY3JlYXRvcmRhdGFcclxuXHJcbiAgICAgIGNvbnN0IHN0aW1lID0gb2JqLnN0YXJ0VGltZS5zcGxpdCgnKycpWzBdXHJcbiAgICAgIGNvbnN0IGhvdXIgPSBzdGltZS5zdWJzdHIoMCwgMilcclxuICAgICAgY29uc3QgbWluID0gc3RpbWUuc3Vic3RyKDIsIDMpXHJcbiAgICAgIGNvbnN0IHN0YXJ0dGltZSA9IGAke2hvdXJ9JHttaW59YFxyXG5cclxuICAgICAgY29uc3QgZXRpbWUgPSBvYmouZW5kVGltZS5zcGxpdCgnKycpWzBdXHJcbiAgICAgIGNvbnN0IGVob3VyID0gZXRpbWUuc3Vic3RyKDAsIDIpXHJcbiAgICAgIGNvbnN0IGVtaW4gPSBldGltZS5zdWJzdHIoMiwgMylcclxuICAgICAgY29uc3QgZW5kdGltZSA9IGAke2Vob3VyfSR7ZW1pbn1gXHJcbiAgICAgIGNvbnN0IGV2ZW50RGF0ZSA9IHRoaXMuY3VzdG9tRGF0ZUZvcm1hdChvYmouc3RhcnREYXRlLCBvYmouc3RhcnRUaW1lKVxyXG4gICAgICBjb25zdCBldmVudGVuZERhdGUgPSB0aGlzLmN1c3RvbURhdGVGb3JtYXQob2JqLmVuZERhdGUsIG9iai5lbmRUaW1lKVxyXG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpXHJcbiAgICAgIGNvbnN0IHRvZGF5ID0gbW9tZW50KG5vdykuZm9ybWF0KCdZWVlZLU1NLUREIEhIOm1tJylcclxuICAgICAgaWYgKG1vbWVudCh0b2RheSkuaXNCZXR3ZWVuKGV2ZW50RGF0ZSwgZXZlbnRlbmREYXRlKSkge1xyXG4gICAgICAgIGlzRXZlbnRSZWNvcmRpbmcgPSBmYWxzZVxyXG4gICAgICAgIGlzRXZlbnRMaXZlID0gdHJ1ZVxyXG4gICAgICAgIGlmICh0b2RheSA+PSBldmVudGVuZERhdGUpIHtcclxuICAgICAgICAgIGlmIChvYmoucmVjb3JkZWRMaW5rcyAmJiBvYmoucmVjb3JkZWRMaW5rcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGlzRXZlbnRSZWNvcmRpbmcgPSB0cnVlXHJcbiAgICAgICAgICAgIGlzRXZlbnRMaXZlID0gZmFsc2VcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSBpZiAodG9kYXkgPj0gZXZlbnRlbmREYXRlKSB7XHJcbiAgICAgICAgaXNFdmVudFJlY29yZGluZyA9IHRydWVcclxuICAgICAgICBpc0V2ZW50TGl2ZSA9IGZhbHNlXHJcbiAgICAgICAgaWYobW9tZW50KHRvZGF5KS5pc0FmdGVyKGV2ZW50ZW5kRGF0ZSkgJiYgbW9tZW50KHRvZGF5KS5pc0FmdGVyKGV2ZW50RGF0ZSkpIHtcclxuICAgICAgICAgIGlzRXZlbnRQYXN0ID0gdHJ1ZVxyXG4gICAgICAgIH0gXHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYobW9tZW50KHRvZGF5KS5pc0JlZm9yZShldmVudERhdGUpICYmIG1vbWVudCh0b2RheSkuaXNCZWZvcmUoZXZlbnRlbmREYXRlKSkge1xyXG4gICAgICAgICAgaXNFdmVudEZ1dHVyZSA9IHRydWVcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZXZlbnREYXRhT2JqID0ge1xyXG4gICAgICAgIGV2ZW50RGF0ZSxcclxuICAgICAgICBldmVudGVuZERhdGUsXHJcbiAgICAgICAgaXNFdmVudExpdmUsXHJcbiAgICAgICAgaXNFdmVudEZ1dHVyZSxcclxuICAgICAgICBpc0V2ZW50UGFzdCxcclxuICAgICAgICBpc0V2ZW50UmVjb3JkaW5nLFxyXG4gICAgICAgIGV2ZW50OiBvYmosXHJcbiAgICAgICAgZXZlbnROYW1lOiBvYmoubmFtZSxcclxuICAgICAgICBldmVudFN0YXJ0VGltZTogc3RhcnR0aW1lLFxyXG4gICAgICAgIGV2ZW50RW5kVGltZTogZW5kdGltZSxcclxuICAgICAgICBldmVudFN0YXJ0RGF0ZTogb2JqLnN0YXJ0RGF0ZSxcclxuICAgICAgICBldmVudENyZWF0ZWRPbjogdGhpcy5hbGxFdmVudERhdGVGb3JtYXQob2JqLmNyZWF0ZWRPbiksXHJcbiAgICAgICAgZXZlbnREdXJhdGlvbjogZHVyYXRpb24sXHJcbiAgICAgICAgZXZlbnRqb2luZWQ6IGNyZWF0b3JEZXRhaWxzLmxlbmd0aCxcclxuICAgICAgICBldmVudFRodW1ibmFpbDogb2JqLmFwcEljb24gJiYgKG9iai5hcHBJY29uICE9PSBudWxsIHx8IG9iai5hcHBJY29uICE9PSB1bmRlZmluZWQpID9cclxuICAgICAgICAgIHRoaXMuZ2V0UHVibGljVXJsKG9iai5hcHBJY29uKSA6XHJcbiAgICAgICAgICAnL2Fzc2V0cy9pY29ucy9FdmVudHNfZGVmYXVsdC5wbmcnLFxyXG4gICAgICAgIHBhc3RldmVudDogZmFsc2UsXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaXNUb2RheSA9IHRoaXMuY29tcGFyZURhdGUob2JqLnN0YXJ0RGF0ZSlcclxuICAgICAgaWYgKGlzVG9kYXkpIHtcclxuICAgICAgICB0aGlzLnRvZGF5c0V2ZW50cy5wdXNoKGV2ZW50RGF0YU9iailcclxuICAgICAgfVxyXG4gICAgICBpZihpc1RvZGF5ICYmIGlzRXZlbnRMaXZlKSB7XHJcbiAgICAgICAgdGhpcy50b2RheXNMaXZlRXZlbnRzLnB1c2goZXZlbnREYXRhT2JqKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG5cclxuICAgIHRoaXMudG9kYXlzTGl2ZUV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWUodGhpcy50b2RheXNMaXZlRXZlbnRzKVxyXG4gICAgdGhpcy50b2RheXNFdmVudHMgPSB0aGlzLmdldFRvZGF5c0V2ZW50cyh0aGlzLnRvZGF5c0V2ZW50cylcclxuICB9XHJcbiAgfVxyXG4gIGdldFRvZGF5c0V2ZW50cyhldmVudERhdGE6IGFueSkge1xyXG4gICAgbGV0IGxpdmVFdmVudHM6IGFueSA9IFtdXHJcbiAgICBsZXQgcGFzdEV2ZW50czogYW55ID0gW11cclxuICAgIGxldCBmdXR1cmVFdmVudHM6IGFueSA9IFtdXHJcblxyXG4gICAgbGl2ZUV2ZW50cyA9IHRoaXMudG9kYXlzTGl2ZUV2ZW50c1xyXG4gICAgcGFzdEV2ZW50cyA9IGV2ZW50RGF0YS5maWx0ZXIoKHBhc3RFdmVudDogYW55KSA9PiBwYXN0RXZlbnQuaXNFdmVudFBhc3QpXHJcbiAgICBmdXR1cmVFdmVudHMgPSBldmVudERhdGEuZmlsdGVyKChmdXR1cmVFdmVudDogYW55KSA9PiBmdXR1cmVFdmVudC5pc0V2ZW50RnV0dXJlKVxyXG4gICAgbGl2ZUV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWVBc2MobGl2ZUV2ZW50cylcclxuICAgIGZ1dHVyZUV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWVBc2MoZnV0dXJlRXZlbnRzKVxyXG4gICAgcGFzdEV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWUocGFzdEV2ZW50cylcclxuICAgIHRoaXMudG9kYXlzRXZlbnRzICA9IFsuLi5saXZlRXZlbnRzLCAuLi5mdXR1cmVFdmVudHMsIC4uLnBhc3RFdmVudHNdXHJcbiAgICBcclxuICAgIHJldHVybiB0aGlzLnRvZGF5c0V2ZW50c1xyXG4gIH1cclxuICBcclxufVxyXG4iXX0=
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRWxELE9BQU8sQ0FBQyxNQUFNLFFBQVEsQ0FBQTtBQUN0QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUE7OztBQUMzQjtJQXFCRSxzQkFDeUIsV0FBZ0IsRUFDL0IsVUFBMEI7UUFBMUIsZUFBVSxHQUFWLFVBQVUsQ0FBZ0I7UUFuQnBDLGlCQUFZLEdBQVEsRUFBRSxDQUFBO1FBQ3RCLHFCQUFnQixHQUFRLEVBQUUsQ0FBQTtRQUMxQixxQkFBZ0IsR0FBUSxFQUFFLENBQUE7UUFFbEIsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQTtRQUN2RCxZQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUUxQyx5QkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQTtRQUM5RCxtQkFBYyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUV4RCwwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQTtRQUMvRCxvQkFBZSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUUxRCxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUEyQixDQUFBO1FBQ3pELGlCQUFZLEdBQUcsSUFB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QUFLLE9BQUEsV0FBVyxDQUFDLGFBQWEsRUFBekIsQ0FBeUIsQ0FBQyxDQUFBO1FBQ2hGLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDL0MsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNuRCxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUM1QyxJQUFJLENBQUMsZ0JBQWdCLHdEQUFPLFVBQVUsV0FBSyxZQUFZLFdBQUssVUFBVSxFQUFDLENBQUE7UUFFdkUsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUE7SUFDOUIsQ0FBQzs7Z0RBL1RFLE1BQU0sU0FBQyxhQUFhO2dCQUNELGNBQWM7Ozs7Z0JBdkJyQyxVQUFVLFNBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzs7Z0RBb0JJLE1BQU0sU0FBQyxhQUFhO2dCQTFCaEIsY0FBYzs7dUJBSHZCO0NBOFZDLEFBdlZELElBdVZDO1NBcFZZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgV3NFdmVudHMgfSBmcm9tICcuL2V2ZW50Lm1vZGVsJ1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4vdXRpbGl0eS5zZXJ2aWNlJ1xyXG4vKiB0c2xpbnQ6ZGlzYWJsZSovXHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCdcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFdmVudFNlcnZpY2Uge1xyXG4gIHRvZGF5c0V2ZW50czogYW55ID0gW11cclxuICB0b2RheXNMaXZlRXZlbnRzOiBhbnkgPSBbXVxyXG4gIGtleVNwZWFrZXJFdmVudHM6IGFueSA9IFtdXHJcblxyXG4gIHByaXZhdGUgZXZlbnRzU3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGV2ZW50cyQgPSB0aGlzLmV2ZW50c1N1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuXHJcbiAgcHJpdmF0ZSBldmVudHNDaGF0Ym90U3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGNoYXRib3RFdmVudHMkID0gdGhpcy5ldmVudHNDaGF0Ym90U3ViamVjdC5hc09ic2VydmFibGUoKVxyXG5cclxuICBwcml2YXRlIGV2ZW50c0dldFN0YXJ0U3ViamVjdCA9IG5ldyBTdWJqZWN0PFdzRXZlbnRzLklXc0V2ZW50czxhbnk+PigpXHJcbiAgcHVibGljIGdldFN0YXJ0RXZlbnRzJCA9IHRoaXMuZXZlbnRzR2V0U3RhcnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXHJcblxyXG4gIHByaXZhdGUgZXZlbnRzUFJTdWJqZWN0ID0gbmV3IFN1YmplY3Q8V3NFdmVudHMuSVdzRXZlbnRzPGFueT4+KClcclxuICBwdWJsaWMgZ2V0UFJFdmVudHMkID0gdGhpcy5ldmVudHNQUlN1YmplY3QuYXNPYnNlcnZhYmxlKClcclxuXHJcbiAgZW52aXJvbm1lbnQ6IGFueVxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBlbnZpcm9ubWVudDogYW55LFxyXG4gICAgcHJpdmF0ZSB1dGlsaXR5U3ZjOiBVdGlsaXR5U2VydmljZSxcclxuICApIHtcclxuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudFxyXG4gICAgLy8gdGhpcy5mb2N1c0NoYW5nZUV2ZW50TGlzdGVuZXIoKVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hFdmVudDxUPihldmVudDogV3NFdmVudHMuSVdzRXZlbnRzPFQ+KSB7XHJcbiAgICBldmVudC5wYWdlQ29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dChldmVudC5wYWdlQ29udGV4dClcclxuICAgIHRoaXMuZXZlbnRzU3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hDaGF0Ym90RXZlbnQ8VD4oZXZlbnQ6IFdzRXZlbnRzLklXc0V2ZW50czxUPikge1xyXG4gICAgdGhpcy5ldmVudHNDaGF0Ym90U3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcbiAgZGlzcGF0Y2hHZXRTdGFydGVkRXZlbnQ8VD4oZXZlbnQ6IFdzRXZlbnRzLklXc0V2ZW50czxUPikge1xyXG4gICAgdGhpcy5ldmVudHNHZXRTdGFydFN1YmplY3QubmV4dChldmVudClcclxuICB9XHJcblxyXG4gIGRpc3BhdGNoUGxhdGZvcm1SYXRpbmdFdmVudDxUPihldmVudDogV3NFdmVudHMuSVdzRXZlbnRzPFQ+KSB7XHJcbiAgICB0aGlzLmV2ZW50c1BSU3ViamVjdC5uZXh0KGV2ZW50KVxyXG4gIH1cclxuXHJcblxyXG4gIC8vIGhlbHBlciBmdW5jdGlvbnNcclxuICByYWlzZUludGVyYWN0VGVsZW1ldHJ5KGVkYXRhOiBXc0V2ZW50cy5JVGVsZW1ldHJ5RWRhdGEsIG9iamVjdDogYW55LCBwYWdlQ29udGV4dD86IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCkge1xyXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SW50ZXJhY3Q+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZWRhdGEsXHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIHBhZ2VDb250ZXh0OiB0aGlzLmdldENvbnRleHQocGFnZUNvbnRleHQpLFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSW50ZXJhY3QsXHJcbiAgICAgIH0sXHJcbiAgICAgIGZyb206ICcnLFxyXG4gICAgICB0bzogJ1RlbGVtZXRyeScsXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmFpc2VGZWVkYmFja1RlbGVtZXRyeShlZGF0YTogV3NFdmVudHMuSVRlbGVtZXRyeUVkYXRhLCBvYmplY3Q6IGFueSwgZnJvbT86IHN0cmluZykge1xyXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50PFdzRXZlbnRzLklXc0V2ZW50VGVsZW1ldHJ5SW50ZXJhY3Q+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZWRhdGEsXHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuRmVlZGJhY2ssXHJcbiAgICAgIH0sXHJcbiAgICAgIGZyb206IGZyb20gfHwgJycsXHJcbiAgICAgIHRvOiAnVGVsZW1ldHJ5JyxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBSYWlzZSBjdXN0b20gaW1wcmVzc2lvbiBldmVudHMgZWc6b24gdGFiIGNoYW5nZVxyXG4gIHJhaXNlQ3VzdG9tSW1wcmVzc2lvbihvYmplY3Q6IGFueSwgcGFnZUNvbnRleHQ/OiBXc0V2ZW50cy5JVGVsZW1ldHJ5UGFnZUNvbnRleHQpIHtcclxuICAgIHRoaXMuZGlzcGF0Y2hFdmVudDxXc0V2ZW50cy5JV3NFdmVudFRlbGVtZXRyeUltcHJlc3Npb24+KHtcclxuICAgICAgZXZlbnRUeXBlOiBXc0V2ZW50cy5Xc0V2ZW50VHlwZS5UZWxlbWV0cnksXHJcbiAgICAgIGV2ZW50TG9nTGV2ZWw6IFdzRXZlbnRzLldzRXZlbnRMb2dMZXZlbC5JbmZvLFxyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgb2JqZWN0LFxyXG4gICAgICAgIHBhZ2VDb250ZXh0OiB0aGlzLmdldENvbnRleHQocGFnZUNvbnRleHQpLFxyXG4gICAgICAgIGV2ZW50U3ViVHlwZTogV3NFdmVudHMuRW51bVRlbGVtZXRyeVN1YlR5cGUuSW1wcmVzc2lvbixcclxuICAgICAgfSxcclxuICAgICAgZnJvbTogJycsXHJcbiAgICAgIHRvOiAnVGVsZW1ldHJ5JyxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICAvLyBwcml2YXRlIGZvY3VzQ2hhbmdlRXZlbnRMaXN0ZW5lcigpIHtcclxuICAvLyAgIGZyb21FdmVudCh3aW5kb3csICdmb2N1cycpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgLy8gICAgIHRoaXMucmFpc2VJbnRlcmFjdFRlbGVtZXRyeSgnZm9jdXMnLCAnZ2FpbmVkJywge30pXHJcbiAgLy8gICB9KVxyXG4gIC8vICAgZnJvbUV2ZW50KHdpbmRvdywgJ2JsdXInKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gIC8vICAgICB0aGlzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoJ2ZvY3VzJywgJ2xvc3QnLCB7fSlcclxuICAvLyAgIH0pXHJcbiAgLy8gfVxyXG5cclxuICAvLyBNZXRob2QgdG8gZ2V0IHRoZSBjb250ZXh0IGluZm9ybWF0aW9uIGFib3V0IHRoZSB0ZWxlbWV0cnkgaW50ZXJhY3QgZXZlbnRcclxuICBwcml2YXRlIGdldENvbnRleHQocGFnZUNvbnRleHQ6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCB8IHVuZGVmaW5lZCk6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCB7XHJcbiAgICBjb25zdCByb3V0ZURhdGFDb250ZXh0ID0gdGhpcy51dGlsaXR5U3ZjLnJvdXRlRGF0YVxyXG4gICAgLy8gaW5pdGlhbGl6ZSB3aXRoIHRoZSByb3V0ZSBkYXRhIGNvbmZpZ3VyYXRpb24gLSBjdXJyZW50IHJvdXRlJ3MgcGFnZUlEICYgbW9kdWxlXHJcbiAgICBjb25zdCBmaW5hbENvbnRleHQ6IFdzRXZlbnRzLklUZWxlbWV0cnlQYWdlQ29udGV4dCA9IHtcclxuICAgICAgcGFnZUlkOiByb3V0ZURhdGFDb250ZXh0LnBhZ2VJZCxcclxuICAgICAgbW9kdWxlOiByb3V0ZURhdGFDb250ZXh0Lm1vZHVsZSxcclxuICAgIH1cclxuICAgIGlmIChwYWdlQ29udGV4dCkge1xyXG4gICAgICAvLyBpZiBjb250ZXh0IGhhcyBwYWdlSWRFeHQsIGFwcGVuZCBpdCB0byB0aGUgcm91dGUncyBwYWdlSWRcclxuICAgICAgaWYgKHBhZ2VDb250ZXh0LnBhZ2VJZEV4dCkge1xyXG4gICAgICAgIGZpbmFsQ29udGV4dC5wYWdlSWQgPSBgJHtyb3V0ZURhdGFDb250ZXh0LnBhZ2VJZH1fJHtwYWdlQ29udGV4dC5wYWdlSWRFeHR9YFxyXG4gICAgICB9IGVsc2UgaWYgKHBhZ2VDb250ZXh0LnBhZ2VJZCkge1xyXG4gICAgICAgIC8vIGVsc2UgY29udGV4dCBoYXMgcGFnZUlkLCBvdmVycmlkZSBpdCB0byB0aGUgZmluYWwgcGFnZUlEXHJcbiAgICAgICAgZmluYWxDb250ZXh0LnBhZ2VJZCA9IHBhZ2VDb250ZXh0LnBhZ2VJZFxyXG4gICAgICB9XHJcbiAgICAgIC8vIGlmIGNvbnRleHQgaGFzIG1vZHVsZSwgb3ZlcnJpZGUgaXQgdG8gdGhlIGZpbmFsIG1vZHVsZVxyXG4gICAgICBpZiAocGFnZUNvbnRleHQubW9kdWxlKSB7XHJcbiAgICAgICAgZmluYWxDb250ZXh0Lm1vZHVsZSA9IHBhZ2VDb250ZXh0Lm1vZHVsZVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZpbmFsQ29udGV4dFxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVRhYlRlbGVtZXRyeShzdWJUeXBlOiBzdHJpbmcsIGRhdGE6IFdzRXZlbnRzLklUZWxlbWV0cnlUYWJEYXRhLCBvYmplY3Q/OiBhbnkpIHtcclxuICAgIC8vIHJhaXNlIGEgdGFiIGNsaWNrIGludGVyYWN0IGV2ZW50XHJcbiAgICB0aGlzLnJhaXNlSW50ZXJhY3RUZWxlbWV0cnkoXHJcbiAgICAgIHtcclxuICAgICAgICBzdWJUeXBlLFxyXG4gICAgICAgIHR5cGU6IFdzRXZlbnRzLkVudW1JbnRlcmFjdFR5cGVzLkNMSUNLLFxyXG4gICAgICAgIGlkOiBgJHtfLmNhbWVsQ2FzZShkYXRhLmxhYmVsKX0tdGFiYCxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIC8vIGNvbnRleHQ6IHtcclxuICAgICAgICAvLyAgIHBvc2l0aW9uOiBkYXRhLmluZGV4LFxyXG4gICAgICAgIC8vIH0sXHJcbiAgICAgICAgLi4ub2JqZWN0XHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBwYWdlSWRFeHQ6IGAke18uY2FtZWxDYXNlKGRhdGEubGFiZWwpfS10YWJgLFxyXG4gICAgICB9KVxyXG5cclxuICAgIC8vIHJhaXNlIGEgdGFiIGNsaWNrIGltcHJlc3Npb24gZXZlbnRcclxuICAgIHRoaXMucmFpc2VDdXN0b21JbXByZXNzaW9uKHtcclxuICAgICAgY29udGV4dDoge1xyXG4gICAgICAgIHBvc2l0aW9uOiBkYXRhLmluZGV4LFxyXG4gICAgICB9LFxyXG4gICAgICAuLi5vYmplY3RcclxuICAgIH0sIHtcclxuICAgICAgcGFnZUlkRXh0OiBgJHtfLmNhbWVsQ2FzZShkYXRhLmxhYmVsKX0tdGFiYCxcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXRQdWJsaWNVcmwodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbWFpblVybCA9IHVybC5zcGxpdCgnL2NvbnRlbnQnKS5wb3AoKSB8fCAnJ1xyXG4gICAgcmV0dXJuIGAke3RoaXMuZW52aXJvbm1lbnQuY29udGVudEhvc3R9LyR7dGhpcy5lbnZpcm9ubWVudC5jb250ZW50QnVja2V0fS9jb250ZW50JHttYWluVXJsfWBcclxuICB9XHJcblxyXG4gIGFsbEV2ZW50RGF0ZUZvcm1hdChkYXRldGltZTogYW55KSB7XHJcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldERhdGUoKVxyXG4gICAgY29uc3QgeWVhciA9IG5ldyBEYXRlKGRhdGV0aW1lKS5nZXRGdWxsWWVhcigpXHJcbiAgICBjb25zdCBtb250aCA9IG5ldyBEYXRlKGRhdGV0aW1lKS5nZXRNb250aCgpXHJcbiAgICBjb25zdCBob3VycyA9IG5ldyBEYXRlKGRhdGV0aW1lKS5nZXRIb3VycygpXHJcbiAgICBjb25zdCBtaW51dGVzID0gbmV3IERhdGUoZGF0ZXRpbWUpLmdldE1pbnV0ZXMoKVxyXG4gICAgY29uc3Qgc2Vjb25kcyA9IG5ldyBEYXRlKGRhdGV0aW1lKS5nZXRTZWNvbmRzKClcclxuICAgIGNvbnN0IGZvcm1hdGVkRGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXRlLCBob3VycywgbWludXRlcywgc2Vjb25kcywgMClcclxuICAgIC8vIGxldCBmb3JtYXQgPSAnWVlZWS1NTS1ERCBoaDptbSBhJ1xyXG4gICAgLy8gaWYgKCF0aW1lQWxsb3cpIHtcclxuICAgIGNvbnN0IGZvcm1hdCA9ICdZWVlZLU1NLUREJ1xyXG4gICAgLy8gfVxyXG4gICAgY29uc3QgcmVhZGFibGVEYXRlTW9udGggPSBtb21lbnQoZm9ybWF0ZWREYXRlKS5mb3JtYXQoZm9ybWF0KVxyXG4gICAgY29uc3QgZmluYWxEYXRlVGltZVZhbHVlID0gYCR7cmVhZGFibGVEYXRlTW9udGh9YFxyXG4gICAgcmV0dXJuIGZpbmFsRGF0ZVRpbWVWYWx1ZVxyXG4gIH1cclxuXHJcbiAgY29tcGFyZURhdGUoc3RhcnREYXRlOiBhbnkpIHtcclxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKClcclxuXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLXRlbXBsYXRlXHJcbiAgICBjb25zdCBkYXkgPSAoJzAnICsgKG5ldyBEYXRlKCkuZ2V0RGF0ZSgpKSkuc2xpY2UoLTIpXHJcbiAgICBjb25zdCB5ZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cHJlZmVyLXRlbXBsYXRlXHJcbiAgICBjb25zdCBtb250aCA9ICgnMCcgKyAobm93LmdldE1vbnRoKCkgKyAxKSkuc2xpY2UoLTIpXHJcbiAgICBjb25zdCB0b2RheXNkYXRlID0gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YFxyXG4gICAgaWYgKHN0YXJ0RGF0ZSA9PT0gdG9kYXlzZGF0ZSkge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBjdXN0b21EYXRlRm9ybWF0KGRhdGU6IGFueSwgdGltZTogYW55KSB7XHJcbiAgICBjb25zdCBzdGltZSA9IHRpbWUuc3BsaXQoJysnKVswXVxyXG4gICAgY29uc3QgaG91ciA9IHN0aW1lLnN1YnN0cigwLCAyKVxyXG4gICAgY29uc3QgbWluID0gc3RpbWUuc3Vic3RyKDIsIDMpXHJcbiAgICByZXR1cm4gYCR7ZGF0ZX0gJHtob3VyfSR7bWlufWBcclxuICB9XHJcbiAgc29ydEl0ZW1CeVRpbWUoZXZlbnRzZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gZXZlbnRzZGF0YS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBmaXJzdERhdGU6IGFueSA9IG5ldyBEYXRlKGEuZXZlbnREYXRlKVxyXG4gICAgICBjb25zdCBzZWNvbmREYXRlOiBhbnkgPSBuZXcgRGF0ZShiLmV2ZW50RGF0ZSlcclxuICAgICAgcmV0dXJuIHNlY29uZERhdGUgPiBmaXJzdERhdGUgPyAxIDogLTFcclxuICAgIH0pXHJcbiAgfVxyXG4gIHNvcnRJdGVtQnlUaW1lQXNjKGV2ZW50c2RhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIGV2ZW50c2RhdGEuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgY29uc3QgZmlyc3REYXRlOiBhbnkgPSBuZXcgRGF0ZShhLmV2ZW50RGF0ZSlcclxuICAgICAgY29uc3Qgc2Vjb25kRGF0ZTogYW55ID0gbmV3IERhdGUoYi5ldmVudERhdGUpXHJcbiAgICAgIHJldHVybiBzZWNvbmREYXRlIDwgZmlyc3REYXRlID8gMSA6IC0xXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcblxyXG4gIHNldEV2ZW50TGlzdERhdGEoZXZlbnRPYmo6IGFueSkge1xyXG4gICAgaWYgKGV2ZW50T2JqICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy50b2RheXNFdmVudHMgPSBbXVxyXG4gICAgICB0aGlzLnRvZGF5c0xpdmVFdmVudHMgPSBbXVxyXG4gICAgICB0aGlzLmtleVNwZWFrZXJFdmVudHMgPSBbXVxyXG4gICAgICBjb25zdCBkYXRhID0gZXZlbnRPYmpcclxuICAgICAgbGV0IGlzRXZlbnRMaXZlOiBib29sZWFuID0gZmFsc2VcclxuICAgICAgbGV0IGlzRXZlbnRSZWNvcmRpbmc6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICAgICBsZXQgaXNFdmVudFBhc3Q6IGJvb2xlYW4gPSBmYWxzZVxyXG4gICAgICBsZXQgaXNFdmVudEZ1dHVyZTogYm9vbGVhbiA9IGZhbHNlXHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCdzdHJpcCBjb21wJywgZGF0YSlcclxuICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaCgoaW5kZXg6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICBpc0V2ZW50UmVjb3JkaW5nID0gZmFsc2VcclxuICAgICAgICBpc0V2ZW50TGl2ZSA9IGZhbHNlXHJcbiAgICAgICAgaXNFdmVudFBhc3QgPSBmYWxzZVxyXG4gICAgICAgIGlzRXZlbnRGdXR1cmUgPSBmYWxzZVxyXG4gICAgICAgIGNvbnN0IG9iaiA9IGRhdGFbaW5kZXhdXHJcbiAgICAgICAgY29uc3QgZmxvb3IgPSBNYXRoLmZsb29yXHJcbiAgICAgICAgY29uc3QgaG91cnMgPSBmbG9vcihvYmouZHVyYXRpb24gLyA2MClcclxuICAgICAgICBjb25zdCBtaW51dGVzID0gb2JqLmR1cmF0aW9uICUgNjBcclxuICAgICAgICBjb25zdCBkdXJhdGlvbiA9IChob3VycyA9PT0gMCkgPyAoKG1pbnV0ZXMgPT09IDApID8gJy0tLScgOiBgJHttaW51dGVzfSBtaW51dGVzYCkgOiAobWludXRlcyA9PT0gMCkgPyAoaG91cnMgPT09IDEpID9cclxuICAgICAgICAgIGAke2hvdXJzfSBob3VyYCA6IGAke2hvdXJzfSBob3Vyc2AgOiAoaG91cnMgPT09IDEpID8gYCR7aG91cnN9IGhvdXIgJHttaW51dGVzfSBtaW51dGVzYCA6XHJcbiAgICAgICAgICBgJHtob3Vyc30gaG91cnMgJHttaW51dGVzfSBtaW51dGVzYFxyXG4gICAgICAgIGNvbnN0IGNyZWF0b3JkYXRhID0gb2JqLmNyZWF0b3JEZXRhaWxzICE9PSB1bmRlZmluZWQgPyBvYmouY3JlYXRvckRldGFpbHMgOiBbXVxyXG4gICAgICAgIGNvbnN0IHN0ciA9IGNyZWF0b3JkYXRhICYmIGNyZWF0b3JkYXRhLmxlbmd0aCA+IDAgPyBjcmVhdG9yZGF0YS5yZXBsYWNlKC9cXFxcL2csICcnKSA6IFtdXHJcbiAgICAgICAgY29uc3QgY3JlYXRvckRldGFpbHMgPSBzdHIgJiYgc3RyLmxlbmd0aCA+IDAgPyBKU09OLnBhcnNlKHN0cikgOiBjcmVhdG9yZGF0YVxyXG5cclxuICAgICAgICBjb25zdCBzdGltZSA9IG9iai5zdGFydFRpbWUuc3BsaXQoJysnKVswXVxyXG4gICAgICAgIGNvbnN0IGhvdXIgPSBzdGltZS5zdWJzdHIoMCwgMilcclxuICAgICAgICBjb25zdCBtaW4gPSBzdGltZS5zdWJzdHIoMiwgMylcclxuICAgICAgICBjb25zdCBzdGFydHRpbWUgPSBgJHtob3VyfSR7bWlufWBcclxuXHJcbiAgICAgICAgY29uc3QgZXRpbWUgPSBvYmouZW5kVGltZS5zcGxpdCgnKycpWzBdXHJcbiAgICAgICAgY29uc3QgZWhvdXIgPSBldGltZS5zdWJzdHIoMCwgMilcclxuICAgICAgICBjb25zdCBlbWluID0gZXRpbWUuc3Vic3RyKDIsIDMpXHJcbiAgICAgICAgY29uc3QgZW5kdGltZSA9IGAke2Vob3VyfSR7ZW1pbn1gXHJcbiAgICAgICAgY29uc3QgZXZlbnREYXRlID0gdGhpcy5jdXN0b21EYXRlRm9ybWF0KG9iai5zdGFydERhdGUsIG9iai5zdGFydFRpbWUpXHJcbiAgICAgICAgY29uc3QgZXZlbnRlbmREYXRlID0gdGhpcy5jdXN0b21EYXRlRm9ybWF0KG9iai5lbmREYXRlLCBvYmouZW5kVGltZSlcclxuICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpXHJcbiAgICAgICAgY29uc3QgdG9kYXkgPSBtb21lbnQobm93KS5mb3JtYXQoJ1lZWVktTU0tREQgSEg6bW0nKVxyXG4gICAgICAgIGlmIChtb21lbnQodG9kYXkpLmlzQmV0d2VlbihldmVudERhdGUsIGV2ZW50ZW5kRGF0ZSkpIHtcclxuICAgICAgICAgIGlzRXZlbnRSZWNvcmRpbmcgPSBmYWxzZVxyXG4gICAgICAgICAgaXNFdmVudExpdmUgPSB0cnVlXHJcbiAgICAgICAgICBpZiAodG9kYXkgPj0gZXZlbnRlbmREYXRlKSB7XHJcbiAgICAgICAgICAgIGlmIChvYmoucmVjb3JkZWRMaW5rcyAmJiBvYmoucmVjb3JkZWRMaW5rcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgaXNFdmVudFJlY29yZGluZyA9IHRydWVcclxuICAgICAgICAgICAgICBpc0V2ZW50TGl2ZSA9IGZhbHNlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKHRvZGF5ID49IGV2ZW50ZW5kRGF0ZSkge1xyXG4gICAgICAgICAgaXNFdmVudFJlY29yZGluZyA9IHRydWVcclxuICAgICAgICAgIGlzRXZlbnRMaXZlID0gZmFsc2VcclxuICAgICAgICAgIGlmIChtb21lbnQodG9kYXkpLmlzQWZ0ZXIoZXZlbnRlbmREYXRlKSAmJiBtb21lbnQodG9kYXkpLmlzQWZ0ZXIoZXZlbnREYXRlKSkge1xyXG4gICAgICAgICAgICBpc0V2ZW50UGFzdCA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKG1vbWVudCh0b2RheSkuaXNCZWZvcmUoZXZlbnREYXRlKSAmJiBtb21lbnQodG9kYXkpLmlzQmVmb3JlKGV2ZW50ZW5kRGF0ZSkpIHtcclxuICAgICAgICAgICAgaXNFdmVudEZ1dHVyZSA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZXZlbnREYXRhT2JqID0ge1xyXG4gICAgICAgICAgZXZlbnREYXRlLFxyXG4gICAgICAgICAgZXZlbnRlbmREYXRlLFxyXG4gICAgICAgICAgaXNFdmVudExpdmUsXHJcbiAgICAgICAgICBpc0V2ZW50RnV0dXJlLFxyXG4gICAgICAgICAgaXNFdmVudFBhc3QsXHJcbiAgICAgICAgICBpc0V2ZW50UmVjb3JkaW5nLFxyXG4gICAgICAgICAgZXZlbnQ6IG9iaixcclxuICAgICAgICAgIGV2ZW50TmFtZTogb2JqLm5hbWUsXHJcbiAgICAgICAgICBldmVudFN0YXJ0VGltZTogc3RhcnR0aW1lLFxyXG4gICAgICAgICAgZXZlbnRFbmRUaW1lOiBlbmR0aW1lLFxyXG4gICAgICAgICAgZXZlbnRTdGFydERhdGU6IG9iai5zdGFydERhdGUsXHJcbiAgICAgICAgICBldmVudENyZWF0ZWRPbjogdGhpcy5hbGxFdmVudERhdGVGb3JtYXQob2JqLmNyZWF0ZWRPbiksXHJcbiAgICAgICAgICBldmVudER1cmF0aW9uOiBkdXJhdGlvbixcclxuICAgICAgICAgIGV2ZW50am9pbmVkOiBjcmVhdG9yRGV0YWlscy5sZW5ndGgsXHJcbiAgICAgICAgICBldmVudFRodW1ibmFpbDogb2JqLmFwcEljb24gJiYgKG9iai5hcHBJY29uICE9PSBudWxsIHx8IG9iai5hcHBJY29uICE9PSB1bmRlZmluZWQpID9cclxuICAgICAgICAgICAgdGhpcy5nZXRQdWJsaWNVcmwob2JqLmFwcEljb24pIDpcclxuICAgICAgICAgICAgJy9hc3NldHMvaWNvbnMvRXZlbnRzX2RlZmF1bHQucG5nJyxcclxuICAgICAgICAgIHBhc3RldmVudDogZmFsc2UsXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGlzVG9kYXkgPSB0aGlzLmNvbXBhcmVEYXRlKG9iai5zdGFydERhdGUpXHJcbiAgICAgICAgaWYgKGlzVG9kYXkpIHtcclxuICAgICAgICAgIHRoaXMudG9kYXlzRXZlbnRzLnB1c2goZXZlbnREYXRhT2JqKVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXNUb2RheSAmJiBpc0V2ZW50TGl2ZSkge1xyXG4gICAgICAgICAgdGhpcy50b2RheXNMaXZlRXZlbnRzLnB1c2goZXZlbnREYXRhT2JqKVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmtleVNwZWFrZXJFdmVudHMucHVzaChldmVudERhdGFPYmopXHJcbiAgICAgIH0pXHJcblxyXG4gICAgICB0aGlzLnRvZGF5c0xpdmVFdmVudHMgPSB0aGlzLnNvcnRJdGVtQnlUaW1lKHRoaXMudG9kYXlzTGl2ZUV2ZW50cylcclxuICAgICAgdGhpcy5rZXlTcGVha2VyRXZlbnRzID0gdGhpcy5nZXRLZXlTcGVha2VyRXZlbnRzKHRoaXMua2V5U3BlYWtlckV2ZW50cylcclxuICAgICAgdGhpcy50b2RheXNFdmVudHMgPSB0aGlzLmdldFRvZGF5c0V2ZW50cyh0aGlzLnRvZGF5c0V2ZW50cylcclxuXHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldFRvZGF5c0V2ZW50cyhldmVudERhdGE6IGFueSkge1xyXG4gICAgbGV0IGxpdmVFdmVudHM6IGFueSA9IFtdXHJcbiAgICBsZXQgcGFzdEV2ZW50czogYW55ID0gW11cclxuICAgIGxldCBmdXR1cmVFdmVudHM6IGFueSA9IFtdXHJcblxyXG4gICAgbGl2ZUV2ZW50cyA9IHRoaXMudG9kYXlzTGl2ZUV2ZW50c1xyXG4gICAgcGFzdEV2ZW50cyA9IGV2ZW50RGF0YS5maWx0ZXIoKHBhc3RFdmVudDogYW55KSA9PiBwYXN0RXZlbnQuaXNFdmVudFBhc3QpXHJcbiAgICBmdXR1cmVFdmVudHMgPSBldmVudERhdGEuZmlsdGVyKChmdXR1cmVFdmVudDogYW55KSA9PiBmdXR1cmVFdmVudC5pc0V2ZW50RnV0dXJlKVxyXG4gICAgbGl2ZUV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWVBc2MobGl2ZUV2ZW50cylcclxuICAgIGZ1dHVyZUV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWVBc2MoZnV0dXJlRXZlbnRzKVxyXG4gICAgcGFzdEV2ZW50cyA9IHRoaXMuc29ydEl0ZW1CeVRpbWUocGFzdEV2ZW50cylcclxuICAgIHRoaXMudG9kYXlzRXZlbnRzID0gWy4uLmxpdmVFdmVudHMsIC4uLmZ1dHVyZUV2ZW50cywgLi4ucGFzdEV2ZW50c11cclxuXHJcbiAgICByZXR1cm4gdGhpcy50b2RheXNFdmVudHNcclxuICB9XHJcblxyXG4gIGdldEtleVNwZWFrZXJFdmVudHMoZXZlbnREYXRhOiBhbnkpIHtcclxuICAgIGxldCBsaXZlRXZlbnRzOiBhbnkgPSBbXVxyXG4gICAgbGV0IHBhc3RFdmVudHM6IGFueSA9IFtdXHJcbiAgICBsZXQgZnV0dXJlRXZlbnRzOiBhbnkgPSBbXVxyXG5cclxuICAgIGxpdmVFdmVudHMgPSB0aGlzLnRvZGF5c0xpdmVFdmVudHNcclxuICAgIHBhc3RFdmVudHMgPSBldmVudERhdGEuZmlsdGVyKChwYXN0RXZlbnQ6IGFueSkgPT4gcGFzdEV2ZW50LmlzRXZlbnRQYXN0KVxyXG4gICAgZnV0dXJlRXZlbnRzID0gZXZlbnREYXRhLmZpbHRlcigoZnV0dXJlRXZlbnQ6IGFueSkgPT4gZnV0dXJlRXZlbnQuaXNFdmVudEZ1dHVyZSlcclxuICAgIGxpdmVFdmVudHMgPSB0aGlzLnNvcnRJdGVtQnlUaW1lQXNjKGxpdmVFdmVudHMpXHJcbiAgICBmdXR1cmVFdmVudHMgPSB0aGlzLnNvcnRJdGVtQnlUaW1lQXNjKGZ1dHVyZUV2ZW50cylcclxuICAgIHBhc3RFdmVudHMgPSB0aGlzLnNvcnRJdGVtQnlUaW1lKHBhc3RFdmVudHMpXHJcbiAgICB0aGlzLmtleVNwZWFrZXJFdmVudHMgPSBbLi4ubGl2ZUV2ZW50cywgLi4uZnV0dXJlRXZlbnRzLCAuLi5wYXN0RXZlbnRzXVxyXG5cclxuICAgIHJldHVybiB0aGlzLmtleVNwZWFrZXJFdmVudHNcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -9,47 +9,51 @@ var LoggerService = (function () {
|
|
|
9
9
|
this.consoleInfo = console.info;
|
|
10
10
|
this.consoleLog = console.log;
|
|
11
11
|
this.consoleWarn = console.warn;
|
|
12
|
-
this.noConsole =
|
|
12
|
+
this.noConsole = function () { };
|
|
13
13
|
}
|
|
14
14
|
Object.defineProperty(LoggerService.prototype, "error", {
|
|
15
15
|
get: function () {
|
|
16
16
|
return this.consoleError;
|
|
17
17
|
},
|
|
18
|
-
enumerable:
|
|
18
|
+
enumerable: false,
|
|
19
19
|
configurable: true
|
|
20
20
|
});
|
|
21
21
|
Object.defineProperty(LoggerService.prototype, "info", {
|
|
22
22
|
get: function () {
|
|
23
23
|
return this.configSvc.isProduction ? this.noConsole : this.consoleInfo;
|
|
24
24
|
},
|
|
25
|
-
enumerable:
|
|
25
|
+
enumerable: false,
|
|
26
26
|
configurable: true
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(LoggerService.prototype, "log", {
|
|
29
29
|
get: function () {
|
|
30
30
|
return this.configSvc.isProduction ? this.noConsole : this.consoleLog;
|
|
31
31
|
},
|
|
32
|
-
enumerable:
|
|
32
|
+
enumerable: false,
|
|
33
33
|
configurable: true
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(LoggerService.prototype, "warn", {
|
|
36
36
|
get: function () {
|
|
37
37
|
return this.configSvc.isProduction ? this.noConsole : this.consoleWarn;
|
|
38
38
|
},
|
|
39
|
-
enumerable:
|
|
39
|
+
enumerable: false,
|
|
40
40
|
configurable: true
|
|
41
41
|
});
|
|
42
42
|
LoggerService.prototype.removeConsoleAccess = function () {
|
|
43
43
|
if (this.configSvc.isProduction) {
|
|
44
44
|
return;
|
|
45
45
|
}
|
|
46
|
-
var noConsoleWithError =
|
|
46
|
+
var noConsoleWithError = function () {
|
|
47
47
|
throw new Error('Console Functions Usage Are Not Allowed.');
|
|
48
|
-
}
|
|
48
|
+
};
|
|
49
49
|
console.warn = noConsoleWithError;
|
|
50
50
|
console.info = noConsoleWithError;
|
|
51
51
|
console.error = noConsoleWithError;
|
|
52
52
|
};
|
|
53
|
+
LoggerService.ctorParameters = function () { return [
|
|
54
|
+
{ type: ConfigurationsService }
|
|
55
|
+
]; };
|
|
56
|
+
LoggerService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LoggerService_Factory() { return new LoggerService(i0.ɵɵinject(i1.ConfigurationsService)); }, token: LoggerService, providedIn: "root" });
|
|
53
57
|
LoggerService.decorators = [
|
|
54
58
|
{ type: Injectable, args: [{
|
|
55
59
|
providedIn: 'root',
|
|
@@ -58,16 +62,7 @@ var LoggerService = (function () {
|
|
|
58
62
|
LoggerService.ctorParameters = function () { return [
|
|
59
63
|
{ type: ConfigurationsService }
|
|
60
64
|
]; };
|
|
61
|
-
/** @nocollapse */ LoggerService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LoggerService_Factory() { return new LoggerService(i0.ɵɵinject(i1.ConfigurationsService)); }, token: LoggerService, providedIn: "root" });
|
|
62
65
|
return LoggerService;
|
|
63
66
|
}());
|
|
64
67
|
export { LoggerService };
|
|
65
|
-
|
|
66
|
-
LoggerService.prototype.consoleError;
|
|
67
|
-
LoggerService.prototype.consoleInfo;
|
|
68
|
-
LoggerService.prototype.consoleLog;
|
|
69
|
-
LoggerService.prototype.consoleWarn;
|
|
70
|
-
LoggerService.prototype.noConsole;
|
|
71
|
-
LoggerService.prototype.configSvc;
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7QUFHaEU7SUFJRSx1QkFBb0IsU0FBZ0M7UUFBaEMsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFFNUMsaUJBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1FBQzVCLGdCQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQTtRQUMxQixlQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQTtRQUN4QixnQkFBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7UUFDMUIsY0FBUyxJQUFlLGNBQVEsQ0FBQyxFQUFBO0lBTmUsQ0FBQztJQVF6RCxzQkFBSSxnQ0FBSzthQUFUO1lBQ0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO1FBQzFCLENBQUM7OztPQUFBO0lBQ0Qsc0JBQUksK0JBQUk7YUFBUjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUE7UUFDeEUsQ0FBQzs7O09BQUE7SUFDRCxzQkFBSSw4QkFBRzthQUFQO1lBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQTtRQUN2RSxDQUFDOzs7T0FBQTtJQUNELHNCQUFJLCtCQUFJO2FBQVI7WUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFBO1FBQ3hFLENBQUM7OztPQUFBO0lBRUQsMkNBQW1CLEdBQW5CO1FBQ0UsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtZQUMvQixPQUFNO1NBQ1A7WUFDSyxrQkFBa0IsSUFBZTtZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUE7UUFDN0QsQ0FBQyxDQUFBO1FBRUQsT0FBTyxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQTtRQUNqQyxPQUFPLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFBO1FBQ2pDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsa0JBQWtCLENBQUE7SUFDcEMsQ0FBQzs7Z0JBcENGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OztnQkFMUSxxQkFBcUI7Ozt3QkFGOUI7Q0EwQ0MsQUFyQ0QsSUFxQ0M7U0FsQ1ksYUFBYTs7SUFHeEIscUNBQW9DO0lBQ3BDLG9DQUFrQztJQUNsQyxtQ0FBZ0M7SUFDaEMsb0NBQWtDO0lBQ2xDLGtDQUF5QztJQU43QixrQ0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTpuby1jb25zb2xlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcblxyXG50eXBlIGNvbnNvbGVGdW4gPSAoLi4uYXJnczogYW55KSA9PiB2b2lkXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dnZXJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBjb25zb2xlRXJyb3IgPSBjb25zb2xlLmVycm9yXHJcbiAgcHJpdmF0ZSBjb25zb2xlSW5mbyA9IGNvbnNvbGUuaW5mb1xyXG4gIHByaXZhdGUgY29uc29sZUxvZyA9IGNvbnNvbGUubG9nXHJcbiAgcHJpdmF0ZSBjb25zb2xlV2FybiA9IGNvbnNvbGUud2FyblxyXG4gIHByaXZhdGUgbm9Db25zb2xlOiBjb25zb2xlRnVuID0gKCkgPT4geyB9XHJcblxyXG4gIGdldCBlcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnNvbGVFcnJvclxyXG4gIH1cclxuICBnZXQgaW5mbygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZUluZm9cclxuICB9XHJcbiAgZ2V0IGxvZygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZUxvZ1xyXG4gIH1cclxuICBnZXQgd2FybigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZVdhcm5cclxuICB9XHJcblxyXG4gIHJlbW92ZUNvbnNvbGVBY2Nlc3MoKSB7XHJcbiAgICBpZiAodGhpcy5jb25maWdTdmMuaXNQcm9kdWN0aW9uKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgY29uc3Qgbm9Db25zb2xlV2l0aEVycm9yOiBjb25zb2xlRnVuID0gKCkgPT4ge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbnNvbGUgRnVuY3Rpb25zIFVzYWdlIEFyZSBOb3QgQWxsb3dlZC4nKVxyXG4gICAgfVxyXG4gICAgLy8gY29uc29sZS5sb2cgPSBub0NvbnNvbGVXaXRoRXJyb3JcclxuICAgIGNvbnNvbGUud2FybiA9IG5vQ29uc29sZVdpdGhFcnJvclxyXG4gICAgY29uc29sZS5pbmZvID0gbm9Db25zb2xlV2l0aEVycm9yXHJcbiAgICBjb25zb2xlLmVycm9yID0gbm9Db25zb2xlV2l0aEVycm9yXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy12Mi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7QUFHaEU7SUFJRSx1QkFBb0IsU0FBZ0M7UUFBaEMsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFFNUMsaUJBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFBO1FBQzVCLGdCQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQTtRQUMxQixlQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQTtRQUN4QixnQkFBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7UUFDMUIsY0FBUyxHQUFlLGNBQVEsQ0FBQyxDQUFBO0lBTmUsQ0FBQztJQVF6RCxzQkFBSSxnQ0FBSzthQUFUO1lBQ0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO1FBQzFCLENBQUM7OztPQUFBO0lBQ0Qsc0JBQUksK0JBQUk7YUFBUjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUE7UUFDeEUsQ0FBQzs7O09BQUE7SUFDRCxzQkFBSSw4QkFBRzthQUFQO1lBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQTtRQUN2RSxDQUFDOzs7T0FBQTtJQUNELHNCQUFJLCtCQUFJO2FBQVI7WUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFBO1FBQ3hFLENBQUM7OztPQUFBO0lBRUQsMkNBQW1CLEdBQW5CO1FBQ0UsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtZQUMvQixPQUFNO1NBQ1A7UUFDRCxJQUFNLGtCQUFrQixHQUFlO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQTtRQUM3RCxDQUFDLENBQUE7UUFFRCxPQUFPLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFBO1FBQ2pDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUE7UUFDakMsT0FBTyxDQUFDLEtBQUssR0FBRyxrQkFBa0IsQ0FBQTtJQUNwQyxDQUFDOztnQkFoQzhCLHFCQUFxQjs7OztnQkFKckQsVUFBVSxTQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7O2dCQUxRLHFCQUFxQjs7d0JBRjlCO0NBMENDLEFBckNELElBcUNDO1NBbENZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTpuby1jb25zb2xlXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcblxyXG50eXBlIGNvbnNvbGVGdW4gPSAoLi4uYXJnczogYW55KSA9PiB2b2lkXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dnZXJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHJpdmF0ZSBjb25zb2xlRXJyb3IgPSBjb25zb2xlLmVycm9yXHJcbiAgcHJpdmF0ZSBjb25zb2xlSW5mbyA9IGNvbnNvbGUuaW5mb1xyXG4gIHByaXZhdGUgY29uc29sZUxvZyA9IGNvbnNvbGUubG9nXHJcbiAgcHJpdmF0ZSBjb25zb2xlV2FybiA9IGNvbnNvbGUud2FyblxyXG4gIHByaXZhdGUgbm9Db25zb2xlOiBjb25zb2xlRnVuID0gKCkgPT4geyB9XHJcblxyXG4gIGdldCBlcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnNvbGVFcnJvclxyXG4gIH1cclxuICBnZXQgaW5mbygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZUluZm9cclxuICB9XHJcbiAgZ2V0IGxvZygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZUxvZ1xyXG4gIH1cclxuICBnZXQgd2FybigpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZ1N2Yy5pc1Byb2R1Y3Rpb24gPyB0aGlzLm5vQ29uc29sZSA6IHRoaXMuY29uc29sZVdhcm5cclxuICB9XHJcblxyXG4gIHJlbW92ZUNvbnNvbGVBY2Nlc3MoKSB7XHJcbiAgICBpZiAodGhpcy5jb25maWdTdmMuaXNQcm9kdWN0aW9uKSB7XHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgY29uc3Qgbm9Db25zb2xlV2l0aEVycm9yOiBjb25zb2xlRnVuID0gKCkgPT4ge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbnNvbGUgRnVuY3Rpb25zIFVzYWdlIEFyZSBOb3QgQWxsb3dlZC4nKVxyXG4gICAgfVxyXG4gICAgLy8gY29uc29sZS5sb2cgPSBub0NvbnNvbGVXaXRoRXJyb3JcclxuICAgIGNvbnNvbGUud2FybiA9IG5vQ29uc29sZVdpdGhFcnJvclxyXG4gICAgY29uc29sZS5pbmZvID0gbm9Db25zb2xlV2l0aEVycm9yXHJcbiAgICBjb25zb2xlLmVycm9yID0gbm9Db25zb2xlV2l0aEVycm9yXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
IWsMsTokenModelResponse.prototype.accessToken;
|
|
4
|
-
IWsMsTokenModelResponse.prototype.expiresOn;
|
|
5
|
-
IWsMsTokenModelResponse.prototype.resource;
|
|
6
|
-
IWsMsTokenModelResponse.prototype.tokenType;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXMtb2ZmaWNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbXMtb2ZmaWNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZDQUtDOztJQUpDLDhDQUFvQjtJQUNwQiw0Q0FBa0I7SUFDbEIsMkNBQWlCO0lBQ2pCLDRDQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVdzTXNUb2tlbk1vZGVsUmVzcG9uc2Uge1xyXG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nXHJcbiAgZXhwaXJlc09uPzogc3RyaW5nXHJcbiAgcmVzb3VyY2U/OiBzdHJpbmdcclxuICB0b2tlblR5cGU/OiBzdHJpbmdcclxufVxyXG4iXX0=
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXMtb2ZmaWNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbXMtb2ZmaWNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElXc01zVG9rZW5Nb2RlbFJlc3BvbnNlIHtcclxuICBhY2Nlc3NUb2tlbj86IHN0cmluZ1xyXG4gIGV4cGlyZXNPbj86IHN0cmluZ1xyXG4gIHJlc291cmNlPzogc3RyaW5nXHJcbiAgdG9rZW5UeXBlPzogc3RyaW5nXHJcbn1cclxuIl19
|
|
@@ -60,11 +60,11 @@ var MultilingualTranslationsService = (function () {
|
|
|
60
60
|
var nlabel = label;
|
|
61
61
|
nlabel = nlabel.toLowerCase();
|
|
62
62
|
var sl = nlabel.split(' ');
|
|
63
|
-
sl.forEach(
|
|
63
|
+
sl.forEach(function (w, index) {
|
|
64
64
|
if (index !== 0) {
|
|
65
65
|
sl[index] = w[0].toUpperCase() + w.slice(1);
|
|
66
66
|
}
|
|
67
|
-
})
|
|
67
|
+
});
|
|
68
68
|
nlabel = sl.join('');
|
|
69
69
|
nlabel = nlabel.replace(/\s/g, '');
|
|
70
70
|
if (subtype) {
|
|
@@ -77,11 +77,11 @@ var MultilingualTranslationsService = (function () {
|
|
|
77
77
|
MultilingualTranslationsService.prototype.translateActualLabel = function (label, type, subtype) {
|
|
78
78
|
var nlabel = label;
|
|
79
79
|
var sl = nlabel.split(' ');
|
|
80
|
-
sl.forEach(
|
|
80
|
+
sl.forEach(function (w, index) {
|
|
81
81
|
if (index !== 0) {
|
|
82
82
|
sl[index] = w[0].toUpperCase() + w.slice(1);
|
|
83
83
|
}
|
|
84
|
-
})
|
|
84
|
+
});
|
|
85
85
|
nlabel = sl.join('');
|
|
86
86
|
nlabel = nlabel.replace(/\s/g, '');
|
|
87
87
|
if (subtype) {
|
|
@@ -112,6 +112,12 @@ var MultilingualTranslationsService = (function () {
|
|
|
112
112
|
this.editProfileDetailsAPI(reqUpdates).subscribe();
|
|
113
113
|
}
|
|
114
114
|
};
|
|
115
|
+
MultilingualTranslationsService.ctorParameters = function () { return [
|
|
116
|
+
{ type: TranslateService },
|
|
117
|
+
{ type: HttpClient },
|
|
118
|
+
{ type: ConfigurationsService }
|
|
119
|
+
]; };
|
|
120
|
+
MultilingualTranslationsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MultilingualTranslationsService_Factory() { return new MultilingualTranslationsService(i0.ɵɵinject(i1.TranslateService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.ConfigurationsService)); }, token: MultilingualTranslationsService, providedIn: "root" });
|
|
115
121
|
MultilingualTranslationsService.decorators = [
|
|
116
122
|
{ type: Injectable, args: [{
|
|
117
123
|
providedIn: 'root',
|
|
@@ -122,17 +128,7 @@ var MultilingualTranslationsService = (function () {
|
|
|
122
128
|
{ type: HttpClient },
|
|
123
129
|
{ type: ConfigurationsService }
|
|
124
130
|
]; };
|
|
125
|
-
/** @nocollapse */ MultilingualTranslationsService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function MultilingualTranslationsService_Factory() { return new MultilingualTranslationsService(i0.ɵɵinject(i1.TranslateService), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.ConfigurationsService)); }, token: MultilingualTranslationsService, providedIn: "root" });
|
|
126
131
|
return MultilingualTranslationsService;
|
|
127
132
|
}());
|
|
128
133
|
export { MultilingualTranslationsService };
|
|
129
|
-
if (false) {
|
|
130
|
-
MultilingualTranslationsService.prototype.selectedLang;
|
|
131
|
-
MultilingualTranslationsService.prototype.languageSelected;
|
|
132
|
-
MultilingualTranslationsService.prototype.languageSelectedObservable;
|
|
133
|
-
MultilingualTranslationsService.prototype.editProfileDetails;
|
|
134
|
-
MultilingualTranslationsService.prototype.translate;
|
|
135
|
-
MultilingualTranslationsService.prototype.http;
|
|
136
|
-
MultilingualTranslationsService.prototype.configSvc;
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsaW5ndWFsLXRyYW5zbGF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbXVsdGlsaW5ndWFsLXRyYW5zbGF0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDdEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7Ozs7O0FBRWhFO0lBV0kseUNBQW9CLFNBQTJCLEVBQVUsSUFBZ0IsRUFBVSxTQUFnQztRQUEvRixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQU5uSCxpQkFBWSxHQUFHLEVBQUUsQ0FBQTtRQUVqQixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QywrQkFBMEIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDakUsdUJBQWtCLEdBQUcsbUNBQW1DLENBQUE7SUFJeEQsQ0FBQztJQUVELHFEQUFXLEdBQVg7UUFDSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFO1lBQzdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYztnQkFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLG9CQUFvQjtnQkFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYyxD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QUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDN0QsQ0FBQztJQUVELGdFQUFzQixHQUF0QixVQUF1QixLQUFVLEVBQUUsSUFBUyxFQUFFLE1BQVc7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUV6QixJQUFJLE1BQU0sRUFBRTtnQkFDTCxVQUFVLEdBQUc7Z0JBQ2YsT0FBTyxFQUFFO29CQUNQLE1BQU0sRUFBRSxNQUFNO29CQUNkLGNBQWMsRUFBRTt3QkFDZCxvQkFBb0IsRUFBRTs0QkFDbEIsYUFBYSxFQUFFLElBQUksQ0FBQyxZQUFZO3lCQUNuQztxQkFDRjtpQkFDRjthQUNKO1lBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO1NBQ2xEO0lBQ0osQ0FBQzs7Z0JBeEhKLFVBQVUsU0FBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OztnQkFOUSxnQkFBZ0I7Z0JBRmhCLFVBQVU7Z0JBSVYscUJBQXFCOzs7MENBSjlCO0NBK0hDLEFBekhELElBeUhDO1NBckhZLCtCQUErQjs7SUFDeEMsdURBQWlCO0lBRWpCLDJEQUE0QztJQUM1QyxxRUFBaUU7SUFDakUsNkRBQXdEO0lBRTVDLG9EQUFtQztJQUFFLCtDQUF3QjtJQUFFLG9EQUF3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9ucy5zZXJ2aWNlJ1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcblxuZXhwb3J0IGNsYXNzIE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2Uge1xuICAgIHNlbGVjdGVkTGFuZyA9ICcnXG4gICAgLy8gd2Vic2l0ZSBsYW5nIGNoYW5nZVxuICAgIGxhbmd1YWdlU2VsZWN0ZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRydWUpXG4gICAgbGFuZ3VhZ2VTZWxlY3RlZE9ic2VydmFibGUgPSB0aGlzLmxhbmd1YWdlU2VsZWN0ZWQuYXNPYnNlcnZhYmxlKClcbiAgICBlZGl0UHJvZmlsZURldGFpbHMgPSAnL2FwaXMvcHJveGllcy92OC91c2VyL3YxL2V4dFBhdGNoJ1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBjb25maWdTdmM6IENvbmZpZ3VyYXRpb25zU2VydmljZSkge1xuICAgIC8vICAgIHRoaXMuZ2V0TGFuZ3VhZ2UoKVxuICAgIH1cblxuICAgIGdldExhbmd1YWdlKCkge1xuICAgICAgICBpZiAodGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyLnByb2ZpbGVEZXRhaWxzICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyLnByb2ZpbGVEZXRhaWxzLmFkZGl0aW9uYWxQcm9wZXJ0aWVzICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWdTdmMudW5NYXBwZWRVc2VyLnByb2ZpbGVEZXRhaWxzLmFkZGl0aW9uYWxQcm9wZXJ0aWVzLndlYlBvcnRhbExhbmcpIHtcbiAgICAgICAgICAgICAgY29uc3QgbGFuZyA9IHRoaXMuY29uZmlnU3ZjLnVuTWFwcGVkVXNlci5wcm9maWxlRGV0YWlscy5hZGRpdGlvbmFsUHJvcGVydGllcy53ZWJQb3J0YWxMYW5nXG4gICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJywgbGFuZylcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpIHtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZygnZW4nKVxuICAgICAgICAgICAgICAgIGxldCBsYW5nID0gSlNPTi5zdHJpbmdpZnkobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKVxuICAgICAgICAgICAgICAgIGxhbmcgPSBsYW5nLnJlcGxhY2UoL1xcXCIvZywgJycpXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmcpXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2VuJylcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJywgJ2VuJylcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJzaXRlTGFuZ3VhZ2UnKSkge1xuICAgICAgICAgICAgICAgIC8vIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdlbicpXG4gICAgICAgICAgICAgICAgbGV0IGxhbmcgPSBKU09OLnN0cmluZ2lmeShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpXG4gICAgICAgICAgICAgICAgbGFuZyA9IGxhbmcucmVwbGFjZSgvXFxcIi9nLCAnJylcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZylcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyYW5zbGF0ZUxhYmVsV2l0aG91dHNwYWNlKGxhYmVsOiBzdHJpbmcsIHR5cGU6IGFueSwgc3VidHlwZTogYW55KSB7XG4gICAgICAgIGxldCBubGFiZWwgPSBsYWJlbFxuICAgICAgICBubGFiZWwgPSBubGFiZWwgJiYgbmxhYmVsLnJlcGxhY2UoL1xccy9nLCAnJylcbiAgICAgICAgaWYgKHN1YnR5cGUpIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLXRlbXBsYXRlXG4gICAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbktleSA9IHR5cGUgKyAnLicgKyAgbmxhYmVsICsgc3VidHlwZVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpXG4gICAgICAgIH1cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItdGVtcGxhdGVcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXluID0gdHlwZSArICcuJyArICBubGFiZWxcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXluKVxuICAgIH1cblxuICAgIHRyYW5zbGF0ZUxhYmVsKGxhYmVsOiBzdHJpbmcsIHR5cGU6IGFueSwgc3VidHlwZTogYW55KSB7XG4gICAgICAgIGxldCBubGFiZWwgPSBsYWJlbFxuICAgICAgICBubGFiZWwgPSBubGFiZWwudG9Mb3dlckNhc2UoKVxuICAgICAgICBjb25zdCBzbCA9IG5sYWJlbC5zcGxpdCgnICcpXG4gICAgICAgIHNsLmZvckVhY2goKHc6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xuICAgICAgICAgICAgaWYgKGluZGV4ICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgc2xbaW5kZXhdID0gd1swXS50b1VwcGVyQ2FzZSgpICsgdy5zbGljZSgxKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICBubGFiZWwgPSBzbC5qb2luKCcnKVxuICAgICAgICBubGFiZWwgPSBubGFiZWwucmVwbGFjZSgvXFxzL2csICcnKVxuICAgICAgICBpZiAoc3VidHlwZSkge1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItdGVtcGxhdGVcbiAgICAgICAgICBjb25zdCB0cmFuc2xhdGlvbktleSA9IHR5cGUgKyAnLicgKyAgbmxhYmVsICsgc3VidHlwZVxuICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KVxuICAgICAgICB9XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLXRlbXBsYXRlXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5biA9IHR5cGUgKyAnLicgKyAgbmxhYmVsXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5bilcbiAgICB9XG5cbiAgICB0cmFuc2xhdGVBY3R1YWxMYWJlbChsYWJlbDogc3RyaW5nLCB0eXBlOiBhbnksIHN1YnR5cGU6IGFueSkge1xuICAgICAgICBsZXQgbmxhYmVsID0gbGFiZWxcbiAgICAgICAgY29uc3Qgc2wgPSBubGFiZWwuc3BsaXQoJyAnKVxuICAgICAgICBzbC5mb3JFYWNoKCh3OiBhbnksIGluZGV4OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIHNsW2luZGV4XSA9IHdbMF0udG9VcHBlckNhc2UoKSArIHcuc2xpY2UoMSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgbmxhYmVsID0gc2wuam9pbignJylcbiAgICAgICAgbmxhYmVsID0gbmxhYmVsLnJlcGxhY2UoL1xccy9nLCAnJylcbiAgICAgICAgaWYgKHN1YnR5cGUpIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLXRlbXBsYXRlXG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSB0eXBlICsgJy4nICsgIG5sYWJlbCArIHN1YnR5cGVcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSlcbiAgICAgICAgfVxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci10ZW1wbGF0ZVxuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbktleW4gPSB0eXBlICsgJy4nICsgIG5sYWJlbFxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleW4pXG4gICAgfVxuXG4gICAgZWRpdFByb2ZpbGVEZXRhaWxzQVBJKGRhdGE6IGFueSkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih0aGlzLmVkaXRQcm9maWxlRGV0YWlscywgZGF0YSlcbiAgICB9XG5cbiAgICB1cGRhdGVsYW5ndWFnZVNlbGVjdGVkKHN0YXRlOiBhbnksIGxhbmc6IGFueSwgdXNlcmlkOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sYW5ndWFnZVNlbGVjdGVkLm5leHQoc3RhdGUpXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgICAgICB0aGlzLnNlbGVjdGVkTGFuZyA9IGxhbmdcblxuICAgICAgIGlmICh1c2VyaWQpIHtcbiAgICAgICAgY29uc3QgcmVxVXBkYXRlcyA9IHtcbiAgICAgICAgICAgIHJlcXVlc3Q6IHtcbiAgICAgICAgICAgICAgdXNlcklkOiB1c2VyaWQsXG4gICAgICAgICAgICAgIHByb2ZpbGVEZXRhaWxzOiB7XG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgd2ViUG9ydGFsTGFuZzogdGhpcy5zZWxlY3RlZExhbmcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lZGl0UHJvZmlsZURldGFpbHNBUEkocmVxVXBkYXRlcykuc3Vic2NyaWJlKClcbiAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsaW5ndWFsLXRyYW5zbGF0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMtdjIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbXVsdGlsaW5ndWFsLXRyYW5zbGF0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDdEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUE7Ozs7O0FBRWhFO0lBV0kseUNBQW9CLFNBQTJCLEVBQVUsSUFBZ0IsRUFBVSxTQUFnQztRQUEvRixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUF1QjtRQU5uSCxpQkFBWSxHQUFHLEVBQUUsQ0FBQTtRQUVqQixxQkFBZ0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QywrQkFBMEIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUE7UUFDakUsdUJBQWtCLEdBQUcsbUNBQW1DLENBQUE7SUFJeEQsQ0FBQztJQUVELHFEQUFXLEdBQVg7UUFDSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFO1lBQzdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYztnQkFDMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLG9CQUFvQjtnQkFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsY0FBYyxD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T0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRUQsK0RBQXFCLEdBQXJCLFVBQXNCLElBQVM7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDN0QsQ0FBQztJQUVELGdFQUFzQixHQUF0QixVQUF1QixLQUFVLEVBQUUsSUFBUyxFQUFFLE1BQVc7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQTtRQUV6QixJQUFJLE1BQU0sRUFBRTtZQUNYLElBQU0sVUFBVSxHQUFHO2dCQUNmLE9BQU8sRUFBRTtvQkFDUCxNQUFNLEVBQUUsTUFBTTtvQkFDZCxjQUFjLEVBQUU7d0JBQ2Qsb0JBQW9CLEVBQUU7NEJBQ2xCLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWTt5QkFDbkM7cUJBQ0Y7aUJBQ0Y7YUFDSixDQUFBO1lBQ0QsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFBO1NBQ2xEO0lBQ0osQ0FBQzs7Z0JBN0c4QixnQkFBZ0I7Z0JBQWdCLFVBQVU7Z0JBQXFCLHFCQUFxQjs7OztnQkFYdEgsVUFBVSxTQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7O2dCQU5RLGdCQUFnQjtnQkFGaEIsVUFBVTtnQkFJVixxQkFBcUI7OzBDQUo5QjtDQStIQyxBQXpIRCxJQXlIQztTQXJIWSwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcydcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMuc2VydmljZSdcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5cbmV4cG9ydCBjbGFzcyBNdWx0aWxpbmd1YWxUcmFuc2xhdGlvbnNTZXJ2aWNlIHtcbiAgICBzZWxlY3RlZExhbmcgPSAnJ1xuICAgIC8vIHdlYnNpdGUgbGFuZyBjaGFuZ2VcbiAgICBsYW5ndWFnZVNlbGVjdGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0cnVlKVxuICAgIGxhbmd1YWdlU2VsZWN0ZWRPYnNlcnZhYmxlID0gdGhpcy5sYW5ndWFnZVNlbGVjdGVkLmFzT2JzZXJ2YWJsZSgpXG4gICAgZWRpdFByb2ZpbGVEZXRhaWxzID0gJy9hcGlzL3Byb3hpZXMvdjgvdXNlci92MS9leHRQYXRjaCdcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UpIHtcbiAgICAvLyAgICB0aGlzLmdldExhbmd1YWdlKClcbiAgICB9XG5cbiAgICBnZXRMYW5ndWFnZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnU3ZjLnVuTWFwcGVkVXNlcikge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnU3ZjLnVuTWFwcGVkVXNlci5wcm9maWxlRGV0YWlscyAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnU3ZjLnVuTWFwcGVkVXNlci5wcm9maWxlRGV0YWlscy5hZGRpdGlvbmFsUHJvcGVydGllcyAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnU3ZjLnVuTWFwcGVkVXNlci5wcm9maWxlRGV0YWlscy5hZGRpdGlvbmFsUHJvcGVydGllcy53ZWJQb3J0YWxMYW5nKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGxhbmcgPSB0aGlzLmNvbmZpZ1N2Yy51bk1hcHBlZFVzZXIucHJvZmlsZURldGFpbHMuYWRkaXRpb25hbFByb3BlcnRpZXMud2ViUG9ydGFsTGFuZ1xuICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZylcbiAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScsIGxhbmcpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2VuJylcbiAgICAgICAgICAgICAgICBsZXQgbGFuZyA9IEpTT04uc3RyaW5naWZ5KGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJzaXRlTGFuZ3VhZ2UnKSlcbiAgICAgICAgICAgICAgICBsYW5nID0gbGFuZy5yZXBsYWNlKC9cXFwiL2csICcnKVxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5nKVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdlbicpXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScsICdlbicpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpIHtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZS5zZXREZWZhdWx0TGFuZygnZW4nKVxuICAgICAgICAgICAgICAgIGxldCBsYW5nID0gSlNPTi5zdHJpbmdpZnkobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpKVxuICAgICAgICAgICAgICAgIGxhbmcgPSBsYW5nLnJlcGxhY2UoL1xcXCIvZywgJycpXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmcpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0cmFuc2xhdGVMYWJlbFdpdGhvdXRzcGFjZShsYWJlbDogc3RyaW5nLCB0eXBlOiBhbnksIHN1YnR5cGU6IGFueSkge1xuICAgICAgICBsZXQgbmxhYmVsID0gbGFiZWxcbiAgICAgICAgbmxhYmVsID0gbmxhYmVsICYmIG5sYWJlbC5yZXBsYWNlKC9cXHMvZywgJycpXG4gICAgICAgIGlmIChzdWJ0eXBlKSB7XG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci10ZW1wbGF0ZVxuICAgICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSB0eXBlICsgJy4nICsgIG5sYWJlbCArIHN1YnR5cGVcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5KVxuICAgICAgICB9XG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLXRlbXBsYXRlXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5biA9IHR5cGUgKyAnLicgKyAgbmxhYmVsXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KHRyYW5zbGF0aW9uS2V5bilcbiAgICB9XG5cbiAgICB0cmFuc2xhdGVMYWJlbChsYWJlbDogc3RyaW5nLCB0eXBlOiBhbnksIHN1YnR5cGU6IGFueSkge1xuICAgICAgICBsZXQgbmxhYmVsID0gbGFiZWxcbiAgICAgICAgbmxhYmVsID0gbmxhYmVsLnRvTG93ZXJDYXNlKClcbiAgICAgICAgY29uc3Qgc2wgPSBubGFiZWwuc3BsaXQoJyAnKVxuICAgICAgICBzbC5mb3JFYWNoKCh3OiBhbnksIGluZGV4OiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChpbmRleCAhPT0gMCkge1xuICAgICAgICAgICAgICAgIHNsW2luZGV4XSA9IHdbMF0udG9VcHBlckNhc2UoKSArIHcuc2xpY2UoMSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgbmxhYmVsID0gc2wuam9pbignJylcbiAgICAgICAgbmxhYmVsID0gbmxhYmVsLnJlcGxhY2UoL1xccy9nLCAnJylcbiAgICAgICAgaWYgKHN1YnR5cGUpIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLXRlbXBsYXRlXG4gICAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSB0eXBlICsgJy4nICsgIG5sYWJlbCArIHN1YnR5cGVcbiAgICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSlcbiAgICAgICAgfVxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci10ZW1wbGF0ZVxuICAgICAgICBjb25zdCB0cmFuc2xhdGlvbktleW4gPSB0eXBlICsgJy4nICsgIG5sYWJlbFxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleW4pXG4gICAgfVxuXG4gICAgdHJhbnNsYXRlQWN0dWFsTGFiZWwobGFiZWw6IHN0cmluZywgdHlwZTogYW55LCBzdWJ0eXBlOiBhbnkpIHtcbiAgICAgICAgbGV0IG5sYWJlbCA9IGxhYmVsXG4gICAgICAgIGNvbnN0IHNsID0gbmxhYmVsLnNwbGl0KCcgJylcbiAgICAgICAgc2wuZm9yRWFjaCgodzogYW55LCBpbmRleDogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoaW5kZXggIT09IDApIHtcbiAgICAgICAgICAgICAgICBzbFtpbmRleF0gPSB3WzBdLnRvVXBwZXJDYXNlKCkgKyB3LnNsaWNlKDEpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIG5sYWJlbCA9IHNsLmpvaW4oJycpXG4gICAgICAgIG5sYWJlbCA9IG5sYWJlbC5yZXBsYWNlKC9cXHMvZywgJycpXG4gICAgICAgIGlmIChzdWJ0eXBlKSB7XG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci10ZW1wbGF0ZVxuICAgICAgICAgIGNvbnN0IHRyYW5zbGF0aW9uS2V5ID0gdHlwZSArICcuJyArICBubGFiZWwgKyBzdWJ0eXBlXG4gICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXkpXG4gICAgICAgIH1cbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItdGVtcGxhdGVcbiAgICAgICAgY29uc3QgdHJhbnNsYXRpb25LZXluID0gdHlwZSArICcuJyArICBubGFiZWxcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlLmluc3RhbnQodHJhbnNsYXRpb25LZXluKVxuICAgIH1cblxuICAgIGVkaXRQcm9maWxlRGV0YWlsc0FQSShkYXRhOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4odGhpcy5lZGl0UHJvZmlsZURldGFpbHMsIGRhdGEpXG4gICAgfVxuXG4gICAgdXBkYXRlbGFuZ3VhZ2VTZWxlY3RlZChzdGF0ZTogYW55LCBsYW5nOiBhbnksIHVzZXJpZDogYW55KSB7XG4gICAgICAgIHRoaXMubGFuZ3VhZ2VTZWxlY3RlZC5uZXh0KHN0YXRlKVxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZylcbiAgICAgICAgdGhpcy5zZWxlY3RlZExhbmcgPSBsYW5nXG5cbiAgICAgICBpZiAodXNlcmlkKSB7XG4gICAgICAgIGNvbnN0IHJlcVVwZGF0ZXMgPSB7XG4gICAgICAgICAgICByZXF1ZXN0OiB7XG4gICAgICAgICAgICAgIHVzZXJJZDogdXNlcmlkLFxuICAgICAgICAgICAgICBwcm9maWxlRGV0YWlsczoge1xuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgICAgICAgIHdlYlBvcnRhbExhbmc6IHRoaXMuc2VsZWN0ZWRMYW5nLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWRpdFByb2ZpbGVEZXRhaWxzQVBJKHJlcVVwZGF0ZXMpLnN1YnNjcmliZSgpXG4gICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
|
@@ -3,8 +3,8 @@ import { HttpClient } from '@angular/common/http';
|
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
var ɵ0 = function (id) { return "/apis/proxies/v8/user/v1/feed/" + id; }, ɵ1 = function (id) { return "/apis/proxies/v8/forms/getFormById?id=" + id; };
|
|
5
5
|
var API_END_POINTS = {
|
|
6
|
-
readFeed:
|
|
7
|
-
getFormID:
|
|
6
|
+
readFeed: ɵ0,
|
|
7
|
+
getFormID: ɵ1,
|
|
8
8
|
submitForm: "/apis/proxies/v8/forms/v1/saveFormSubmit",
|
|
9
9
|
deleteFeed: "/apis/proxies/v8/user/feed/v1/delete",
|
|
10
10
|
};
|
|
@@ -29,6 +29,9 @@ var NPSGridService = (function () {
|
|
|
29
29
|
NPSGridService.prototype.deleteFeed = function (req) {
|
|
30
30
|
return this.http.post(API_END_POINTS.deleteFeed, req);
|
|
31
31
|
};
|
|
32
|
+
NPSGridService.ctorParameters = function () { return [
|
|
33
|
+
{ type: HttpClient }
|
|
34
|
+
]; };
|
|
32
35
|
NPSGridService.decorators = [
|
|
33
36
|
{ type: Injectable }
|
|
34
37
|
];
|
|
@@ -38,10 +41,5 @@ var NPSGridService = (function () {
|
|
|
38
41
|
return NPSGridService;
|
|
39
42
|
}());
|
|
40
43
|
export { NPSGridService };
|
|
41
|
-
if (false) {
|
|
42
|
-
NPSGridService.prototype.telemetryEvents;
|
|
43
|
-
NPSGridService.prototype.updateTelemetryDataObservable;
|
|
44
|
-
NPSGridService.prototype.http;
|
|
45
|
-
}
|
|
46
44
|
export { ɵ0, ɵ1 };
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBzLWdyaWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLXYyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL25wcy1ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFJakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtTQUl4QixVQUFDLEVBQVUsSUFBSyxPQUFBLG1DQUFpQyxFQUFJLEVBQXJDLENBQXFDLE9BQ3BELFVBQUMsRUFBVSxJQUFLLE9BQUEsMkNBQXlDLEVBQUksRUFBN0MsQ0FBNkM7QUFGNUUsSUFBTSxjQUFjLEdBQUc7SUFDbkIsUUFBUSxJQUF1RDtJQUMvRCxTQUFTLElBQStEO0lBQ3hFLFVBQVUsRUFBRSwwQ0FBMEM7SUFDdEQsVUFBVSxFQUFFLHNDQUFzQztDQUNyRCxDQUFBO0FBRUQ7SUFLRSx3QkFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUg1QixvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3BELGtDQUE2QixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUE7SUFFM0IsQ0FBQztJQUV6Qyw0Q0FBbUIsR0FBbkIsVUFBb0IsS0FBYztRQUNoQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNsQyxDQUFDO0lBRUQsc0NBQWEsR0FBYixVQUFjLEVBQU87UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBTSxjQUFjLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUVELG9DQUFXLEdBQVgsVUFBWSxNQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQzdELENBQUM7SUFFRCw2Q0FBb0IsR0FBcEIsVUFBcUIsR0FBUTtRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFNLGNBQWMsQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDNUQsQ0FBQztJQUVELG1DQUFVLEdBQVYsVUFBVyxHQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU0sY0FBYyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUM1RCxDQUFDOztnQkFwQnlCLFVBQVU7OztnQkFMckMsVUFBVTs7O2dCQWRGLFVBQVU7O0lBd0NuQixxQkFBQztDQUFBLEFBMUJELElBMEJDO1NBekJZLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbi8vIGltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuLy8gdHNsaW50OmRpc2FibGVcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnXG4vLyB0c2xpbnQ6ZW5hYmxlXG5cbmNvbnN0IEFQSV9FTkRfUE9JTlRTID0ge1xuICAgIHJlYWRGZWVkOiAoaWQ6IHN0cmluZykgPT4gYC9hcGlzL3Byb3hpZXMvdjgvdXNlci92MS9mZWVkLyR7aWR9YCxcbiAgICBnZXRGb3JtSUQ6IChpZDogc3RyaW5nKSA9PiBgL2FwaXMvcHJveGllcy92OC9mb3Jtcy9nZXRGb3JtQnlJZD9pZD0ke2lkfWAsXG4gICAgc3VibWl0Rm9ybTogYC9hcGlzL3Byb3hpZXMvdjgvZm9ybXMvdjEvc2F2ZUZvcm1TdWJtaXRgLFxuICAgIGRlbGV0ZUZlZWQ6IGAvYXBpcy9wcm94aWVzL3Y4L3VzZXIvZmVlZC92MS9kZWxldGVgLFxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTlBTR3JpZFNlcnZpY2Uge1xuICBwcml2YXRlIHRlbGVtZXRyeUV2ZW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpXG4gIHVwZGF0ZVRlbGVtZXRyeURhdGFPYnNlcnZhYmxlID0gdGhpcy50ZWxlbWV0cnlFdmVudHMuYXNPYnNlcnZhYmxlKClcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxuXG4gIHVwZGF0ZVRlbGVtZXRyeURhdGEoc3RhdGU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnRlbGVtZXRyeUV2ZW50cy5uZXh0KHN0YXRlKVxuICB9XG5cbiAgZ2V0RmVlZFN0YXR1cyhpZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihBUElfRU5EX1BPSU5UUy5yZWFkRmVlZChpZCkpXG4gIH1cblxuICBnZXRGb3JtRGF0YShmb3JtaWQ6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oQVBJX0VORF9QT0lOVFMuZ2V0Rm9ybUlEKGZvcm1pZCkpXG4gIH1cblxuICBzdWJtaXRQbGF0Zm9ybVJhdGluZyhyZXE6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KEFQSV9FTkRfUE9JTlRTLnN1Ym1pdEZvcm0sIHJlcSlcbiAgfVxuXG4gIGRlbGV0ZUZlZWQocmVxOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihBUElfRU5EX1BPSU5UUy5kZWxldGVGZWVkLCByZXEpXG4gIH1cbn1cbiJdfQ==
|