@syncfusion/ej2-angular-schedule 34.2.2-ngcc → 34.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +2380 -0
  2. package/esm2020/public_api.mjs +2 -0
  3. package/esm2020/src/index.mjs +12 -0
  4. package/esm2020/src/recurrence-editor/recurrenceeditor-all.module.mjs +23 -0
  5. package/esm2020/src/recurrence-editor/recurrenceeditor.component.mjs +59 -0
  6. package/esm2020/src/recurrence-editor/recurrenceeditor.module.mjs +25 -0
  7. package/esm2020/src/schedule/headerrows.directive.mjs +66 -0
  8. package/esm2020/src/schedule/resources.directive.mjs +58 -0
  9. package/esm2020/src/schedule/schedule-all.module.mjs +74 -0
  10. package/esm2020/src/schedule/schedule.component.mjs +306 -0
  11. package/esm2020/src/schedule/schedule.module.mjs +61 -0
  12. package/esm2020/src/schedule/toolbaritems.directive.mjs +67 -0
  13. package/esm2020/src/schedule/views.directive.mjs +132 -0
  14. package/esm2020/syncfusion-ej2-angular-schedule.mjs +5 -0
  15. package/fesm2015/syncfusion-ej2-angular-schedule.mjs +829 -0
  16. package/fesm2015/syncfusion-ej2-angular-schedule.mjs.map +1 -0
  17. package/fesm2020/syncfusion-ej2-angular-schedule.mjs +829 -0
  18. package/fesm2020/syncfusion-ej2-angular-schedule.mjs.map +1 -0
  19. package/package.json +20 -7
  20. package/public_api.d.ts +1 -1
  21. package/src/index.d.ts +11 -11
  22. package/src/recurrence-editor/recurrenceeditor-all.module.d.ts +11 -5
  23. package/src/recurrence-editor/recurrenceeditor.component.d.ts +33 -30
  24. package/src/recurrence-editor/recurrenceeditor.module.d.ts +11 -5
  25. package/src/schedule/headerrows.directive.d.ts +52 -47
  26. package/src/schedule/resources.directive.d.ts +115 -110
  27. package/src/schedule/schedule-all.module.d.ts +28 -22
  28. package/src/schedule/schedule.component.d.ts +224 -221
  29. package/src/schedule/schedule.module.d.ts +15 -5
  30. package/src/schedule/toolbaritems.directive.d.ts +177 -172
  31. package/src/schedule/views.directive.d.ts +334 -329
  32. package/syncfusion-ej2-angular-schedule.d.ts +5 -0
  33. package/@syncfusion/ej2-angular-schedule.es5.js +0 -955
  34. package/@syncfusion/ej2-angular-schedule.es5.js.map +0 -1
  35. package/@syncfusion/ej2-angular-schedule.js +0 -894
  36. package/@syncfusion/ej2-angular-schedule.js.map +0 -1
  37. package/LICENSE +0 -10
  38. package/dist/ej2-angular-schedule.umd.js +0 -1114
  39. package/dist/ej2-angular-schedule.umd.js.map +0 -1
  40. package/dist/ej2-angular-schedule.umd.min.js +0 -11
  41. package/dist/ej2-angular-schedule.umd.min.js.map +0 -1
  42. package/ej2-angular-schedule.d.ts +0 -6
  43. package/ej2-angular-schedule.metadata.json +0 -1
@@ -0,0 +1,306 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, ChangeDetectionStrategy, ContentChild } from '@angular/core';
3
+ import { ComponentBase, ComponentMixins, setValue } from '@syncfusion/ej2-angular-base';
4
+ import { Schedule } from '@syncfusion/ej2-schedule';
5
+ import { Template } from '@syncfusion/ej2-angular-base';
6
+ import { ViewsDirective } from './views.directive';
7
+ import { ResourcesDirective } from './resources.directive';
8
+ import { HeaderRowsDirective } from './headerrows.directive';
9
+ import { ToolbarItemsDirective } from './toolbaritems.directive';
10
+ import * as i0 from "@angular/core";
11
+ export const inputs = ['agendaDaysCount', 'allowClipboard', 'allowDragAndDrop', 'allowInline', 'allowKeyboardInteraction', 'allowMultiCellSelection', 'allowMultiDrag', 'allowMultiRowSelection', 'allowOverlap', 'allowResizing', 'allowSwiping', 'calendarMode', 'cellHeaderTemplate', 'cellTemplate', 'cssClass', 'currentView', 'dateFormat', 'dateHeaderTemplate', 'dateRangeTemplate', 'dayHeaderTemplate', 'editorFooterTemplate', 'editorHeaderTemplate', 'editorTemplate', 'enableAdaptiveUI', 'enableAllDayScroll', 'enableHtmlSanitizer', 'enablePersistence', 'enableRecurrenceValidation', 'enableRtl', 'endHour', 'eventDragArea', 'eventSettings', 'firstDayOfWeek', 'firstMonthOfYear', 'group', 'headerIndentTemplate', 'headerRows', 'height', 'hideEmptyAgendaDays', 'locale', 'maxDate', 'minDate', 'monthHeaderTemplate', 'monthsCount', 'overscanCount', 'prerenderDialogs', 'quickInfoOnSelectionEnd', 'quickInfoTemplates', 'readonly', 'resourceHeaderTemplate', 'resources', 'rowAutoHeight', 'selectedDate', 'selectedResource', 'showHeaderBar', 'showQuickInfo', 'showTimeIndicator', 'showWeekNumber', 'showWeekend', 'startHour', 'timeFormat', 'timeScale', 'timezone', 'timezoneDataSource', 'toolbarItems', 'views', 'weekRule', 'width', 'workDays', 'workHours'];
12
+ export const outputs = ['actionBegin', 'actionComplete', 'actionFailure', 'beforePaste', 'beforePrint', 'cellClick', 'cellDoubleClick', 'created', 'dataBinding', 'dataBound', 'destroyed', 'drag', 'dragStart', 'dragStop', 'eventClick', 'eventDoubleClick', 'eventRendered', 'excelExport', 'hover', 'moreEventsClick', 'navigating', 'popupClose', 'popupOpen', 'renderCell', 'resizeStart', 'resizeStop', 'resizing', 'select', 'tooltipOpen', 'virtualScrollStart', 'virtualScrollStop', 'currentViewChange', 'selectedDateChange'];
13
+ export const twoWays = ['currentView', 'selectedDate'];
14
+ /**
15
+ * `ej-schedule` represents the Angular Schedule Component.
16
+ * ```html
17
+ * <ejs-schedule></ejs-schedule>
18
+ * ```
19
+ */
20
+ let ScheduleComponent = class ScheduleComponent extends Schedule {
21
+ constructor(ngEle, srenderer, viewContainerRef, injector) {
22
+ super();
23
+ this.ngEle = ngEle;
24
+ this.srenderer = srenderer;
25
+ this.viewContainerRef = viewContainerRef;
26
+ this.injector = injector;
27
+ this.tags = ['views', 'resources', 'headerRows', 'toolbarItems'];
28
+ this.element = this.ngEle.nativeElement;
29
+ this.injectedModules = this.injectedModules || [];
30
+ try {
31
+ let mod = this.injector.get('ScheduleDay');
32
+ if (this.injectedModules.indexOf(mod) === -1) {
33
+ this.injectedModules.push(mod);
34
+ }
35
+ }
36
+ catch { }
37
+ try {
38
+ let mod = this.injector.get('ScheduleWeek');
39
+ if (this.injectedModules.indexOf(mod) === -1) {
40
+ this.injectedModules.push(mod);
41
+ }
42
+ }
43
+ catch { }
44
+ try {
45
+ let mod = this.injector.get('ScheduleWorkWeek');
46
+ if (this.injectedModules.indexOf(mod) === -1) {
47
+ this.injectedModules.push(mod);
48
+ }
49
+ }
50
+ catch { }
51
+ try {
52
+ let mod = this.injector.get('ScheduleMonth');
53
+ if (this.injectedModules.indexOf(mod) === -1) {
54
+ this.injectedModules.push(mod);
55
+ }
56
+ }
57
+ catch { }
58
+ try {
59
+ let mod = this.injector.get('ScheduleYear');
60
+ if (this.injectedModules.indexOf(mod) === -1) {
61
+ this.injectedModules.push(mod);
62
+ }
63
+ }
64
+ catch { }
65
+ try {
66
+ let mod = this.injector.get('ScheduleAgenda');
67
+ if (this.injectedModules.indexOf(mod) === -1) {
68
+ this.injectedModules.push(mod);
69
+ }
70
+ }
71
+ catch { }
72
+ try {
73
+ let mod = this.injector.get('ScheduleMonthAgenda');
74
+ if (this.injectedModules.indexOf(mod) === -1) {
75
+ this.injectedModules.push(mod);
76
+ }
77
+ }
78
+ catch { }
79
+ try {
80
+ let mod = this.injector.get('ScheduleTimelineViews');
81
+ if (this.injectedModules.indexOf(mod) === -1) {
82
+ this.injectedModules.push(mod);
83
+ }
84
+ }
85
+ catch { }
86
+ try {
87
+ let mod = this.injector.get('ScheduleTimelineMonth');
88
+ if (this.injectedModules.indexOf(mod) === -1) {
89
+ this.injectedModules.push(mod);
90
+ }
91
+ }
92
+ catch { }
93
+ try {
94
+ let mod = this.injector.get('ScheduleTimelineYear');
95
+ if (this.injectedModules.indexOf(mod) === -1) {
96
+ this.injectedModules.push(mod);
97
+ }
98
+ }
99
+ catch { }
100
+ try {
101
+ let mod = this.injector.get('ScheduleResize');
102
+ if (this.injectedModules.indexOf(mod) === -1) {
103
+ this.injectedModules.push(mod);
104
+ }
105
+ }
106
+ catch { }
107
+ try {
108
+ let mod = this.injector.get('ScheduleDragAndDrop');
109
+ if (this.injectedModules.indexOf(mod) === -1) {
110
+ this.injectedModules.push(mod);
111
+ }
112
+ }
113
+ catch { }
114
+ try {
115
+ let mod = this.injector.get('ScheduleExcelExport');
116
+ if (this.injectedModules.indexOf(mod) === -1) {
117
+ this.injectedModules.push(mod);
118
+ }
119
+ }
120
+ catch { }
121
+ try {
122
+ let mod = this.injector.get('ScheduleICalendarExport');
123
+ if (this.injectedModules.indexOf(mod) === -1) {
124
+ this.injectedModules.push(mod);
125
+ }
126
+ }
127
+ catch { }
128
+ try {
129
+ let mod = this.injector.get('ScheduleICalendarImport');
130
+ if (this.injectedModules.indexOf(mod) === -1) {
131
+ this.injectedModules.push(mod);
132
+ }
133
+ }
134
+ catch { }
135
+ try {
136
+ let mod = this.injector.get('SchedulePrint');
137
+ if (this.injectedModules.indexOf(mod) === -1) {
138
+ this.injectedModules.push(mod);
139
+ }
140
+ }
141
+ catch { }
142
+ this.registerEvents(outputs);
143
+ this.addTwoWay.call(this, twoWays);
144
+ setValue('currentInstance', this, this.viewContainerRef);
145
+ this.context = new ComponentBase();
146
+ }
147
+ ngOnInit() {
148
+ this.context.ngOnInit(this);
149
+ }
150
+ ngAfterViewInit() {
151
+ this.context.ngAfterViewInit(this);
152
+ }
153
+ ngOnDestroy() {
154
+ this.context.ngOnDestroy(this);
155
+ }
156
+ ngAfterContentChecked() {
157
+ this.tagObjects[0].instance = this.childViews;
158
+ if (this.childResources) {
159
+ this.tagObjects[1].instance = this.childResources;
160
+ }
161
+ if (this.childHeaderRows) {
162
+ this.tagObjects[2].instance = this.childHeaderRows;
163
+ }
164
+ if (this.childToolbarItems) {
165
+ this.tagObjects[3].instance = this.childToolbarItems;
166
+ }
167
+ this.context.ngAfterContentChecked(this);
168
+ }
169
+ };
170
+ ScheduleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
171
+ ScheduleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: ScheduleComponent, selector: "ejs-schedule", inputs: { agendaDaysCount: "agendaDaysCount", allowClipboard: "allowClipboard", allowDragAndDrop: "allowDragAndDrop", allowInline: "allowInline", allowKeyboardInteraction: "allowKeyboardInteraction", allowMultiCellSelection: "allowMultiCellSelection", allowMultiDrag: "allowMultiDrag", allowMultiRowSelection: "allowMultiRowSelection", allowOverlap: "allowOverlap", allowResizing: "allowResizing", allowSwiping: "allowSwiping", calendarMode: "calendarMode", cellHeaderTemplate: "cellHeaderTemplate", cellTemplate: "cellTemplate", cssClass: "cssClass", currentView: "currentView", dateFormat: "dateFormat", dateHeaderTemplate: "dateHeaderTemplate", dateRangeTemplate: "dateRangeTemplate", dayHeaderTemplate: "dayHeaderTemplate", editorFooterTemplate: "editorFooterTemplate", editorHeaderTemplate: "editorHeaderTemplate", editorTemplate: "editorTemplate", enableAdaptiveUI: "enableAdaptiveUI", enableAllDayScroll: "enableAllDayScroll", enableHtmlSanitizer: "enableHtmlSanitizer", enablePersistence: "enablePersistence", enableRecurrenceValidation: "enableRecurrenceValidation", enableRtl: "enableRtl", endHour: "endHour", eventDragArea: "eventDragArea", eventSettings: "eventSettings", firstDayOfWeek: "firstDayOfWeek", firstMonthOfYear: "firstMonthOfYear", group: "group", headerIndentTemplate: "headerIndentTemplate", headerRows: "headerRows", height: "height", hideEmptyAgendaDays: "hideEmptyAgendaDays", locale: "locale", maxDate: "maxDate", minDate: "minDate", monthHeaderTemplate: "monthHeaderTemplate", monthsCount: "monthsCount", overscanCount: "overscanCount", prerenderDialogs: "prerenderDialogs", quickInfoOnSelectionEnd: "quickInfoOnSelectionEnd", quickInfoTemplates: "quickInfoTemplates", readonly: "readonly", resourceHeaderTemplate: "resourceHeaderTemplate", resources: "resources", rowAutoHeight: "rowAutoHeight", selectedDate: "selectedDate", selectedResource: "selectedResource", showHeaderBar: "showHeaderBar", showQuickInfo: "showQuickInfo", showTimeIndicator: "showTimeIndicator", showWeekNumber: "showWeekNumber", showWeekend: "showWeekend", startHour: "startHour", timeFormat: "timeFormat", timeScale: "timeScale", timezone: "timezone", timezoneDataSource: "timezoneDataSource", toolbarItems: "toolbarItems", views: "views", weekRule: "weekRule", width: "width", workDays: "workDays", workHours: "workHours" }, outputs: { actionBegin: "actionBegin", actionComplete: "actionComplete", actionFailure: "actionFailure", beforePaste: "beforePaste", beforePrint: "beforePrint", cellClick: "cellClick", cellDoubleClick: "cellDoubleClick", created: "created", dataBinding: "dataBinding", dataBound: "dataBound", destroyed: "destroyed", drag: "drag", dragStart: "dragStart", dragStop: "dragStop", eventClick: "eventClick", eventDoubleClick: "eventDoubleClick", eventRendered: "eventRendered", excelExport: "excelExport", hover: "hover", moreEventsClick: "moreEventsClick", navigating: "navigating", popupClose: "popupClose", popupOpen: "popupOpen", renderCell: "renderCell", resizeStart: "resizeStart", resizeStop: "resizeStop", resizing: "resizing", select: "select", tooltipOpen: "tooltipOpen", virtualScrollStart: "virtualScrollStart", virtualScrollStop: "virtualScrollStop", currentViewChange: "currentViewChange", selectedDateChange: "selectedDateChange" }, queries: [{ propertyName: "dateHeaderTemplate", first: true, predicate: ["dateHeaderTemplate"], descendants: true }, { propertyName: "dateRangeTemplate", first: true, predicate: ["dateRangeTemplate"], descendants: true }, { propertyName: "dayHeaderTemplate", first: true, predicate: ["dayHeaderTemplate"], descendants: true }, { propertyName: "cellTemplate", first: true, predicate: ["cellTemplate"], descendants: true }, { propertyName: "cellHeaderTemplate", first: true, predicate: ["cellHeaderTemplate"], descendants: true }, { propertyName: "eventSettings_tooltipTemplate", first: true, predicate: ["eventSettingsTooltipTemplate"], descendants: true }, { propertyName: "eventSettings_template", first: true, predicate: ["eventSettingsTemplate"], descendants: true }, { propertyName: "editorTemplate", first: true, predicate: ["editorTemplate"], descendants: true }, { propertyName: "editorHeaderTemplate", first: true, predicate: ["editorHeaderTemplate"], descendants: true }, { propertyName: "editorFooterTemplate", first: true, predicate: ["editorFooterTemplate"], descendants: true }, { propertyName: "monthHeaderTemplate", first: true, predicate: ["monthHeaderTemplate"], descendants: true }, { propertyName: "timeScale_minorSlotTemplate", first: true, predicate: ["timeScaleMinorSlotTemplate"], descendants: true }, { propertyName: "timeScale_majorSlotTemplate", first: true, predicate: ["timeScaleMajorSlotTemplate"], descendants: true }, { propertyName: "resourceHeaderTemplate", first: true, predicate: ["resourceHeaderTemplate"], descendants: true }, { propertyName: "headerIndentTemplate", first: true, predicate: ["headerIndentTemplate"], descendants: true }, { propertyName: "quickInfoTemplates_header", first: true, predicate: ["quickInfoTemplatesHeader"], descendants: true }, { propertyName: "quickInfoTemplates_content", first: true, predicate: ["quickInfoTemplatesContent"], descendants: true }, { propertyName: "quickInfoTemplates_footer", first: true, predicate: ["quickInfoTemplatesFooter"], descendants: true }, { propertyName: "group_headerTooltipTemplate", first: true, predicate: ["groupHeaderTooltipTemplate"], descendants: true }, { propertyName: "childViews", first: true, predicate: ViewsDirective, descendants: true }, { propertyName: "childResources", first: true, predicate: ResourcesDirective, descendants: true }, { propertyName: "childHeaderRows", first: true, predicate: HeaderRowsDirective, descendants: true }, { propertyName: "childToolbarItems", first: true, predicate: ToolbarItemsDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
172
+ __decorate([
173
+ Template()
174
+ ], ScheduleComponent.prototype, "dateHeaderTemplate", void 0);
175
+ __decorate([
176
+ Template()
177
+ ], ScheduleComponent.prototype, "dateRangeTemplate", void 0);
178
+ __decorate([
179
+ Template()
180
+ ], ScheduleComponent.prototype, "dayHeaderTemplate", void 0);
181
+ __decorate([
182
+ Template()
183
+ ], ScheduleComponent.prototype, "cellTemplate", void 0);
184
+ __decorate([
185
+ Template()
186
+ ], ScheduleComponent.prototype, "cellHeaderTemplate", void 0);
187
+ __decorate([
188
+ Template()
189
+ ], ScheduleComponent.prototype, "eventSettings_tooltipTemplate", void 0);
190
+ __decorate([
191
+ Template()
192
+ ], ScheduleComponent.prototype, "eventSettings_template", void 0);
193
+ __decorate([
194
+ Template()
195
+ ], ScheduleComponent.prototype, "editorTemplate", void 0);
196
+ __decorate([
197
+ Template()
198
+ ], ScheduleComponent.prototype, "editorHeaderTemplate", void 0);
199
+ __decorate([
200
+ Template()
201
+ ], ScheduleComponent.prototype, "editorFooterTemplate", void 0);
202
+ __decorate([
203
+ Template()
204
+ ], ScheduleComponent.prototype, "monthHeaderTemplate", void 0);
205
+ __decorate([
206
+ Template()
207
+ ], ScheduleComponent.prototype, "timeScale_minorSlotTemplate", void 0);
208
+ __decorate([
209
+ Template()
210
+ ], ScheduleComponent.prototype, "timeScale_majorSlotTemplate", void 0);
211
+ __decorate([
212
+ Template()
213
+ ], ScheduleComponent.prototype, "resourceHeaderTemplate", void 0);
214
+ __decorate([
215
+ Template()
216
+ ], ScheduleComponent.prototype, "headerIndentTemplate", void 0);
217
+ __decorate([
218
+ Template()
219
+ ], ScheduleComponent.prototype, "quickInfoTemplates_header", void 0);
220
+ __decorate([
221
+ Template()
222
+ ], ScheduleComponent.prototype, "quickInfoTemplates_content", void 0);
223
+ __decorate([
224
+ Template()
225
+ ], ScheduleComponent.prototype, "quickInfoTemplates_footer", void 0);
226
+ __decorate([
227
+ Template()
228
+ ], ScheduleComponent.prototype, "group_headerTooltipTemplate", void 0);
229
+ ScheduleComponent = __decorate([
230
+ ComponentMixins([ComponentBase])
231
+ ], ScheduleComponent);
232
+ export { ScheduleComponent };
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleComponent, decorators: [{
234
+ type: Component,
235
+ args: [{
236
+ selector: 'ejs-schedule',
237
+ inputs: inputs,
238
+ outputs: outputs,
239
+ template: '',
240
+ changeDetection: ChangeDetectionStrategy.OnPush,
241
+ queries: {
242
+ childViews: new ContentChild(ViewsDirective),
243
+ childResources: new ContentChild(ResourcesDirective),
244
+ childHeaderRows: new ContentChild(HeaderRowsDirective),
245
+ childToolbarItems: new ContentChild(ToolbarItemsDirective)
246
+ }
247
+ }]
248
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.Injector }]; }, propDecorators: { dateHeaderTemplate: [{
249
+ type: ContentChild,
250
+ args: ['dateHeaderTemplate']
251
+ }], dateRangeTemplate: [{
252
+ type: ContentChild,
253
+ args: ['dateRangeTemplate']
254
+ }], dayHeaderTemplate: [{
255
+ type: ContentChild,
256
+ args: ['dayHeaderTemplate']
257
+ }], cellTemplate: [{
258
+ type: ContentChild,
259
+ args: ['cellTemplate']
260
+ }], cellHeaderTemplate: [{
261
+ type: ContentChild,
262
+ args: ['cellHeaderTemplate']
263
+ }], eventSettings_tooltipTemplate: [{
264
+ type: ContentChild,
265
+ args: ['eventSettingsTooltipTemplate']
266
+ }], eventSettings_template: [{
267
+ type: ContentChild,
268
+ args: ['eventSettingsTemplate']
269
+ }], editorTemplate: [{
270
+ type: ContentChild,
271
+ args: ['editorTemplate']
272
+ }], editorHeaderTemplate: [{
273
+ type: ContentChild,
274
+ args: ['editorHeaderTemplate']
275
+ }], editorFooterTemplate: [{
276
+ type: ContentChild,
277
+ args: ['editorFooterTemplate']
278
+ }], monthHeaderTemplate: [{
279
+ type: ContentChild,
280
+ args: ['monthHeaderTemplate']
281
+ }], timeScale_minorSlotTemplate: [{
282
+ type: ContentChild,
283
+ args: ['timeScaleMinorSlotTemplate']
284
+ }], timeScale_majorSlotTemplate: [{
285
+ type: ContentChild,
286
+ args: ['timeScaleMajorSlotTemplate']
287
+ }], resourceHeaderTemplate: [{
288
+ type: ContentChild,
289
+ args: ['resourceHeaderTemplate']
290
+ }], headerIndentTemplate: [{
291
+ type: ContentChild,
292
+ args: ['headerIndentTemplate']
293
+ }], quickInfoTemplates_header: [{
294
+ type: ContentChild,
295
+ args: ['quickInfoTemplatesHeader']
296
+ }], quickInfoTemplates_content: [{
297
+ type: ContentChild,
298
+ args: ['quickInfoTemplatesContent']
299
+ }], quickInfoTemplates_footer: [{
300
+ type: ContentChild,
301
+ args: ['quickInfoTemplatesFooter']
302
+ }], group_headerTooltipTemplate: [{
303
+ type: ContentChild,
304
+ args: ['groupHeaderTooltipTemplate']
305
+ }] } });
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjaGVkdWxlL3NjaGVkdWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsdUJBQXVCLEVBQWlELFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5SixPQUFPLEVBQUUsYUFBYSxFQUErQixlQUFlLEVBQTBCLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdJLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUVqRSxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQWEsQ0FBQyxpQkFBaUIsRUFBQyxnQkFBZ0IsRUFBQyxrQkFBa0IsRUFBQyxhQUFhLEVBQUMsMEJBQTBCLEVBQUMseUJBQXlCLEVBQUMsZ0JBQWdCLEVBQUMsd0JBQXdCLEVBQUMsY0FBYyxFQUFDLGVBQWUsRUFBQyxjQUFjLEVBQUMsY0FBYyxFQUFDLG9CQUFvQixFQUFDLGNBQWMsRUFBQyxVQUFVLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxvQkFBb0IsRUFBQyxtQkFBbUIsRUFBQyxtQkFBbUIsRUFBQyxzQkFBc0IsRUFBQyxzQkFBc0IsRUFBQyxnQkFBZ0IsRUFBQyxrQkFBa0IsRUFBQyxvQkFBb0IsRUFBQyxxQkFBcUIsRUFBQyxtQkFBbUIsRUFBQyw0QkFBNEIsRUFBQyxXQUFXLEVB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QUFnQjtnQkFhdkIsb0JBQW9CO3NCQUYxQixZQUFZO3VCQUFDLHNCQUFzQjtnQkFhN0Isb0JBQW9CO3NCQUYxQixZQUFZO3VCQUFDLHNCQUFzQjtnQkFpQjdCLG1CQUFtQjtzQkFGekIsWUFBWTt1QkFBQyxxQkFBcUI7Z0JBSzVCLDJCQUEyQjtzQkFGakMsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBS25DLDJCQUEyQjtzQkFGakMsWUFBWTt1QkFBQyw0QkFBNEI7Z0JBc0JuQyxzQkFBc0I7c0JBRjVCLFlBQVk7dUJBQUMsd0JBQXdCO2dCQW1CL0Isb0JBQW9CO3NCQUYxQixZQUFZO3VCQUFDLHNCQUFzQjtnQkFLN0IseUJBQXlCO3NCQUYvQixZQUFZO3VCQUFDLDBCQUEwQjtnQkFLakMsMEJBQTBCO3NCQUZoQyxZQUFZO3VCQUFDLDJCQUEyQjtnQkFLbEMseUJBQXlCO3NCQUYvQixZQUFZO3VCQUFDLDBCQUEwQjtnQkFLakMsMkJBQTJCO3NCQUZqQyxZQUFZO3VCQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyLCBJbmplY3RvciwgVmFsdWVQcm92aWRlciwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wb25lbnRCYXNlLCBJQ29tcG9uZW50QmFzZSwgYXBwbHlNaXhpbnMsIENvbXBvbmVudE1peGlucywgUHJvcGVydHlDb2xsZWN0aW9uSW5mbywgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFNjaGVkdWxlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLXNjaGVkdWxlJztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5pbXBvcnQgeyBWaWV3c0RpcmVjdGl2ZSB9IGZyb20gJy4vdmlld3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJlc291cmNlc0RpcmVjdGl2ZSB9IGZyb20gJy4vcmVzb3VyY2VzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBIZWFkZXJSb3dzRGlyZWN0aXZlIH0gZnJvbSAnLi9oZWFkZXJyb3dzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb29sYmFySXRlbXNEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2xiYXJpdGVtcy5kaXJlY3RpdmUnO1xuXG5leHBvcnQgY29uc3QgaW5wdXRzOiBzdHJpbmdbXSA9IFsnYWdlbmRhRGF5c0NvdW50JywnYWxsb3dDbGlwYm9hcmQnLCdhbGxvd0RyYWdBbmREcm9wJywnYWxsb3dJbmxpbmUnLCdhbGxvd0tleWJvYXJkSW50ZXJhY3Rpb24nLCdhbGxvd011bHRpQ2VsbFNlbGVjdGlvbicsJ2FsbG93TXVsdGlEcmFnJywnYWxsb3dNdWx0aVJvd1NlbGVjdGlvbicsJ2FsbG93T3ZlcmxhcCcsJ2FsbG93UmVzaXppbmcnLCdhbGxvd1N3aXBpbmcnLCdjYWxlbmRhck1vZGUnLCdjZWxsSGVhZGVyVGVtcGxhdGUnLCdjZWxsVGVtcGxhdGUnLCdjc3NDbGFzcycsJ2N1cnJlbnRWaWV3JywnZGF0ZUZvcm1hdCcsJ2RhdGVIZWFkZXJUZW1wbGF0ZScsJ2RhdGVSYW5nZVRlbXBsYXRlJywnZGF5SGVhZGVyVGVtcGxhdGUnLCdlZGl0b3JGb290ZXJUZW1wbGF0ZScsJ2VkaXRvckhlYWRlclRlbXBsYXRlJywnZWRpdG9yVGVtcGxhdGUnLCdlbmFibGVBZGFwdGl2ZVVJJywnZW5hYmxlQWxsRGF5U2Nyb2xsJywnZW5hYmxlSHRtbFNhbml0aXplcicsJ2VuYWJsZVBlcnNpc3RlbmNlJywnZW5hYmxlUmVjdXJyZW5jZVZhbGlkYXRpb24nLCdlbmFibGVSdGwnLCdlbmRIb3VyJywnZXZlbnREcmFnQXJlYScsJ2V2ZW50U2V0dGluZ3MnLCdmaXJzdERheU9mV2VlaycsJ2ZpcnN0TW9udGhPZlllYXInLCdncm91cCcsJ2hlYWRlckluZGVudFRlbXBsYXRlJywnaGVhZGVyUm93cycsJ2hlaWdodCcsJ2hpZGVFbXB0eUFnZW5kYURheXMnLCdsb2NhbGUnLCdtYXhEYXRlJywnbWluRGF0ZScsJ21vbnRoSGVhZGVyVGVtcGxhdGUnLCdtb250aHNDb3VudCcsJ292ZXJzY2FuQ291bnQnLCdwcmVyZW5kZXJEaWFsb2dzJywncXVpY2tJbmZvT25TZWxlY3Rpb25FbmQnLCdxdWlja0luZm9UZW1wbGF0ZXMnLCdyZWFkb25seScsJ3Jlc291cmNlSGVhZGVyVGVtcGxhdGUnLCdyZXNvdXJjZXMnLCdyb3dBdXRvSGVpZ2h0Jywnc2VsZWN0ZWREYXRlJywnc2VsZWN0ZWRSZXNvdXJjZScsJ3Nob3dIZWFkZXJCYXInLCdzaG93UXVpY2tJbmZvJywnc2hvd1RpbWVJbmRpY2F0b3InLCdzaG93V2Vla051bWJlcicsJ3Nob3dXZWVrZW5kJywnc3RhcnRIb3VyJywndGltZUZvcm1hdCcsJ3RpbWVTY2FsZScsJ3RpbWV6b25lJywndGltZXpvbmVEYXRhU291cmNlJywndG9vbGJhckl0ZW1zJywndmlld3MnLCd3ZWVrUnVsZScsJ3dpZHRoJywnd29ya0RheXMnLCd3b3JrSG91cnMnXTtcbmV4cG9ydCBjb25zdCBvdXRwdXRzOiBzdHJpbmdbXSA9IFsnYWN0aW9uQmVnaW4nLCdhY3Rpb25Db21wbGV0ZScsJ2FjdGlvbkZhaWx1cmUnLCdiZWZvcmVQYXN0ZScsJ2JlZm9yZVByaW50JywnY2VsbENsaWNrJywnY2VsbERvdWJsZUNsaWNrJywnY3JlYXRlZCcsJ2RhdGFCaW5kaW5nJywnZGF0YUJvdW5kJywnZGVzdHJveWVkJywnZHJhZycsJ2RyYWdTdGFydCcsJ2RyYWdTdG9wJywnZXZlbnRDbGljaycsJ2V2ZW50RG91YmxlQ2xpY2snLCdldmVudFJlbmRlcmVkJywnZXhjZWxFeHBvcnQnLCdob3ZlcicsJ21vcmVFdmVudHNDbGljaycsJ25hdmlnYXRpbmcnLCdwb3B1cENsb3NlJywncG9wdXBPcGVuJywncmVuZGVyQ2VsbCcsJ3Jlc2l6ZVN0YXJ0JywncmVzaXplU3RvcCcsJ3Jlc2l6aW5nJywnc2VsZWN0JywndG9vbHRpcE9wZW4nLCd2aXJ0dWFsU2Nyb2xsU3RhcnQnLCd2aXJ0dWFsU2Nyb2xsU3RvcCcsJ2N1cnJlbnRWaWV3Q2hhbmdlJywnc2VsZWN0ZWREYXRlQ2hhbmdlJ107XG5leHBvcnQgY29uc3QgdHdvV2F5czogc3RyaW5nW10gPSBbJ2N1cnJlbnRWaWV3JywgJ3NlbGVjdGVkRGF0ZSddO1xuXG4vKipcbiAqIGBlai1zY2hlZHVsZWAgcmVwcmVzZW50cyB0aGUgQW5ndWxhciBTY2hlZHVsZSBDb21wb25lbnQuXG4gKiBgYGBodG1sXG4gKiA8ZWpzLXNjaGVkdWxlPjwvZWpzLXNjaGVkdWxlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZWpzLXNjaGVkdWxlJyxcbiAgICBpbnB1dHM6IGlucHV0cyxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkVmlld3M6IG5ldyBDb250ZW50Q2hpbGQoVmlld3NEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRSZXNvdXJjZXM6IG5ldyBDb250ZW50Q2hpbGQoUmVzb3VyY2VzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkSGVhZGVyUm93czogbmV3IENvbnRlbnRDaGlsZChIZWFkZXJSb3dzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkVG9vbGJhckl0ZW1zOiBuZXcgQ29udGVudENoaWxkKFRvb2xiYXJJdGVtc0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuQENvbXBvbmVudE1peGlucyhbQ29tcG9uZW50QmFzZV0pXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVDb21wb25lbnQgZXh0ZW5kcyBTY2hlZHVsZSBpbXBsZW1lbnRzIElDb21wb25lbnRCYXNlIHtcbiAgICBwdWJsaWMgY29udGV4dCA6IGFueTtcbiAgICBwdWJsaWMgdGFnT2JqZWN0czogYW55O1xuXHRhY3Rpb25CZWdpbjogYW55O1xuXHRhY3Rpb25Db21wbGV0ZTogYW55O1xuXHRhY3Rpb25GYWlsdXJlOiBhbnk7XG5cdGJlZm9yZVBhc3RlOiBhbnk7XG5cdGJlZm9yZVByaW50OiBhbnk7XG5cdGNlbGxDbGljazogYW55O1xuXHRjZWxsRG91YmxlQ2xpY2s6IGFueTtcblx0Y3JlYXRlZDogYW55O1xuXHRkYXRhQmluZGluZzogYW55O1xuXHRkYXRhQm91bmQ6IGFueTtcblx0ZGVzdHJveWVkOiBhbnk7XG5cdGRyYWc6IGFueTtcblx0ZHJhZ1N0YXJ0OiBhbnk7XG5cdGRyYWdTdG9wOiBhbnk7XG5cdGV2ZW50Q2xpY2s6IGFueTtcblx0ZXZlbnREb3VibGVDbGljazogYW55O1xuXHRldmVudFJlbmRlcmVkOiBhbnk7XG5cdGV4Y2VsRXhwb3J0OiBhbnk7XG5cdGhvdmVyOiBhbnk7XG5cdG1vcmVFdmVudHNDbGljazogYW55O1xuXHRuYXZpZ2F0aW5nOiBhbnk7XG5cdHBvcHVwQ2xvc2U6IGFueTtcblx0cG9wdXBPcGVuOiBhbnk7XG5cdHJlbmRlckNlbGw6IGFueTtcblx0cmVzaXplU3RhcnQ6IGFueTtcblx0cmVzaXplU3RvcDogYW55O1xuXHRyZXNpemluZzogYW55O1xuXHRzZWxlY3Q6IGFueTtcblx0dG9vbHRpcE9wZW46IGFueTtcblx0dmlydHVhbFNjcm9sbFN0YXJ0OiBhbnk7XG5cdHZpcnR1YWxTY3JvbGxTdG9wOiBhbnk7XG5cdGN1cnJlbnRWaWV3Q2hhbmdlOiBhbnk7XG5cdHB1YmxpYyBzZWxlY3RlZERhdGVDaGFuZ2U6IGFueTtcbiAgICBwdWJsaWMgY2hpbGRWaWV3czogUXVlcnlMaXN0PFZpZXdzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRSZXNvdXJjZXM6IFF1ZXJ5TGlzdDxSZXNvdXJjZXNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyBjaGlsZEhlYWRlclJvd3M6IFF1ZXJ5TGlzdDxIZWFkZXJSb3dzRGlyZWN0aXZlPjtcbiAgICBwdWJsaWMgY2hpbGRUb29sYmFySXRlbXM6IFF1ZXJ5TGlzdDxUb29sYmFySXRlbXNEaXJlY3RpdmU+O1xuICAgIHB1YmxpYyB0YWdzOiBzdHJpbmdbXSA9IFsndmlld3MnLCAncmVzb3VyY2VzJywgJ2hlYWRlclJvd3MnLCAndG9vbGJhckl0ZW1zJ107XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byBcbiAgICAgKiB0aGUgZGF0ZSBoZWFkZXIgY2VsbHMuIFRoZSBmaWVsZCB0aGF0IGNhbiBiZSBhY2Nlc3NlZCB2aWEgdGhpcyB0ZW1wbGF0ZSBpcyBgZGF0ZWAuXG4gICAgICogXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvZGF0ZUhlYWRlclRlbXBsYXRlL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF0ZUhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBkYXRlSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIHRoZSBoZWFkZXIgZGF0ZSByYW5nZS5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnZGF0ZVJhbmdlVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGRhdGVSYW5nZVRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEl0IGFjY2VwdHMgZWl0aGVyIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGNvbnRlbnQgYW5kIHBhcnNlIGl0IGFwcHJvcHJpYXRlbHkgYmVmb3JlIGRpc3BsYXlpbmcgaXQgb250byBcbiAgICAgKiB0aGUgZGF5IGhlYWRlciBjZWxscy4gVGhpcyB0ZW1wbGF0ZSBpcyBvbmx5IGFwcGxpY2FibGUgZm9yIHllYXIgdmlldyBoZWFkZXIgY2VsbHMuXG4gICAgICogXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvZGF5SGVhZGVyVGVtcGxhdGUvaW5kZXgubWQnICV9eyUgZW5kY29kZUJsb2NrICV9XG4gICAgICogICAgIFxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYW5ndWxhcnR5cGUgc3RyaW5nIHwgb2JqZWN0XG4gICAgICogQHJlYWN0dHlwZSBzdHJpbmcgfCBmdW5jdGlvbiB8IEpTWC5FbGVtZW50XG4gICAgICogQHZ1ZXR5cGUgc3RyaW5nIHwgZnVuY3Rpb25cbiAgICAgKiBAYXNwdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdkYXlIZWFkZXJUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZGF5SGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGhlIHRlbXBsYXRlIG9wdGlvbiB3aGljaCBpcyB1c2VkIHRvIHJlbmRlciB0aGUgY3VzdG9taXplZCB3b3JrIGNlbGxzIG9uIHRoZSBTY2hlZHVsZS4gSGVyZSwgdGhlIHRlbXBsYXRlIGFjY2VwdHMgZWl0aGVyIFxuICAgICAqICB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBhbmQgdGhlbiB0aGUgcGFyc2VkIGRlc2lnbiBpcyBkaXNwbGF5ZWQgb250byB0aGUgd29yayBjZWxscy4gXG4gICAgICogIFRoZSBmaWVsZHMgYWNjZXNzaWJsZSB2aWEgdGVtcGxhdGUgYXJlIGFzIGZvbGxvd3MuIFxuICAgICAqICogYGRhdGVgOiBSZXR1cm5zIHRoZSBkYXRlIG9mIHRoZSBjZWxsLiBcbiAgICAgKiAqIGBncm91cEluZGV4YDogUmV0dXJucyB0aGUgZ3JvdXAgaW5kZXggb2YgdGhlIGNlbGwuIFxuICAgICAqICogYHR5cGVgOiBSZXR1cm5zIHRoZSB0eXBlIG9mIHRoZSB3b3JrIGNlbGwuXG4gICAgICogXG4gICAgICogUmVmZXIgdG8gdGhlIGJlbG93IGNvZGUgc25pcHBldC5cbiAgICAgKlxuICAgICAqeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvY2VsbFRlbXBsYXRlL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnY2VsbFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBjZWxsVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogSXQgYWNjZXB0cyBlaXRoZXIgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gY29udGVudCBhbmQgcGFyc2UgaXQgYXBwcm9wcmlhdGVseSBiZWZvcmUgZGlzcGxheWluZyBpdCBvbnRvIFxuICAgICAqIHRoZSBtb250aCBkYXRlIGNlbGxzLiBUaGlzIHRlbXBsYXRlIGlzIG9ubHkgYXBwbGljYWJsZSBmb3IgbW9udGggdmlldyBkYXkgY2VsbHMuXG4gICAgICogXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvY2VsbEhlYWRlclRlbXBsYXRlL2luZGV4Lm1kJyAlfXslIGVuZGNvZGVCbG9jayAlfVxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnY2VsbEhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBjZWxsSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCdldmVudFNldHRpbmdzVG9vbHRpcFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBldmVudFNldHRpbmdzX3Rvb2x0aXBUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ2V2ZW50U2V0dGluZ3NUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgZXZlbnRTZXR0aW5nc190ZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgdGVtcGxhdGUgb3B0aW9uIHRvIHJlbmRlciB0aGUgY3VzdG9taXplZCBlZGl0b3Igd2luZG93LiBUaGUgZm9ybSBlbGVtZW50cyBkZWZpbmVkIHdpdGhpbiB0aGlzIHRlbXBsYXRlIHNob3VsZCBiZSBhY2NvbXBhbmllZCBcbiAgICAgKiAgd2l0aCBgZS1maWVsZGAgY2xhc3MsIHNvIGFzIHRvIGZldGNoIGFuZCBwcm9jZXNzIGl0IGZyb20gaW50ZXJuYWxseS5cbiAgICAgKiBcbiAgICAgKiB7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS9lZGl0b3JUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VkaXRvclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBlZGl0b3JUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgdGVtcGxhdGUgb3B0aW9uIHRvIHJlbmRlciB0aGUgY3VzdG9taXplZCBoZWFkZXIgb2YgdGhlIGVkaXRvciB3aW5kb3cuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VkaXRvckhlYWRlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBlZGl0b3JIZWFkZXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUaGUgdGVtcGxhdGUgb3B0aW9uIHRvIHJlbmRlciB0aGUgY3VzdG9taXplZCBmb290ZXIgb2YgdGhlIGVkaXRvciB3aW5kb3cuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2VkaXRvckZvb3RlclRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBlZGl0b3JGb290ZXJUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBJdCBhY2NlcHRzIGVpdGhlciB0aGUgc3RyaW5nIG9yIEhUTUxFbGVtZW50IGFzIHRlbXBsYXRlIGRlc2lnbiBjb250ZW50IGFuZCBwYXJzZSBpdCBhcHByb3ByaWF0ZWx5IGJlZm9yZSBkaXNwbGF5aW5nIGl0IG9udG8gXG4gICAgICogdGhlIG1vbnRoIGhlYWRlciBjZWxscy4gVGhpcyB0ZW1wbGF0ZSBpcyBvbmx5IGFwcGxpY2FibGUgZm9yIHllYXIgdmlldyBoZWFkZXIgY2VsbHMuXG4gICAgICogXG4gICAgICogeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvbW9udGhIZWFkZXJUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ21vbnRoSGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIG1vbnRoSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICBAQ29udGVudENoaWxkKCd0aW1lU2NhbGVNaW5vclNsb3RUZW1wbGF0ZScpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgdGltZVNjYWxlX21pbm9yU2xvdFRlbXBsYXRlOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgndGltZVNjYWxlTWFqb3JTbG90VGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRpbWVTY2FsZV9tYWpvclNsb3RUZW1wbGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBUZW1wbGF0ZSBvcHRpb24gdG8gY3VzdG9taXplIHRoZSByZXNvdXJjZSBoZWFkZXIgYmFyLiBIZXJlLCB0aGUgdGVtcGxhdGUgYWNjZXB0cyBlaXRoZXIgXG4gICAgICogIHRoZSBzdHJpbmcgb3IgSFRNTEVsZW1lbnQgYXMgdGVtcGxhdGUgZGVzaWduIGFuZCB0aGVuIHRoZSBwYXJzZWQgZGVzaWduIGlzIGRpc3BsYXllZCBvbnRvIHRoZSByZXNvdXJjZSBoZWFkZXIgY2VsbHMuIFxuICAgICAqIFRoZSBmb2xsb3dpbmcgY2FuIGJlIGFjY2Vzc2libGUgdmlhIHRlbXBsYXRlLiBcbiAgICAgKiAqIGByZXNvdXJjZWAgLSBBbGwgdGhlIHJlc291cmNlIGZpZWxkcy4gXG4gICAgICogKiBgcmVzb3VyY2VEYXRhYCAtIE9iamVjdCBjb2xsZWN0aW9uIG9mIGN1cnJlbnQgcmVzb3VyY2UuXG4gICAgICogXG4gICAgICogUmVmZXIgdG8gdGhlIGJlbG93IGNvZGUgc25pcHBldC5cbiAgICAgKlxuICAgICAqeyUgY29kZUJsb2NrIHNyYz0nc2NoZWR1bGUvcmVzb3VyY2VIZWFkZXJUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ3Jlc291cmNlSGVhZGVyVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHJlc291cmNlSGVhZGVyVGVtcGxhdGU6IGFueTtcbiAgICAvKiogXG4gICAgICogVGVtcGxhdGUgb3B0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgaGVhZGVyIGluZGVudCBiYXIuIEhlcmUsIHRoZSB0ZW1wbGF0ZSBhY2NlcHRzIGVpdGhlciBcbiAgICAgKiAgdGhlIHN0cmluZyBvciBIVE1MRWxlbWVudCBhcyB0ZW1wbGF0ZSBkZXNpZ24gYW5kIHRoZW4gdGhlIHBhcnNlZCBkZXNpZ24gaXMgZGlzcGxheWVkIG9udG8gdGhlIGhlYWRlciBpbmRlbnQgY2VsbC5cbiAgICAgKiBcbiAgICAgKiBSZWZlciB0byB0aGUgYmVsb3cgY29kZSBzbmlwcGV0LlxuICAgICAqXG4gICAgICp7JSBjb2RlQmxvY2sgc3JjPSdzY2hlZHVsZS9oZWFkZXJJbmRlbnRUZW1wbGF0ZS9pbmRleC5tZCcgJX17JSBlbmRjb2RlQmxvY2sgJX1cbiAgICAgKiAgICAgXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqIEBhbmd1bGFydHlwZSBzdHJpbmcgfCBvYmplY3RcbiAgICAgKiBAcmVhY3R0eXBlIHN0cmluZyB8IGZ1bmN0aW9uIHwgSlNYLkVsZW1lbnRcbiAgICAgKiBAdnVldHlwZSBzdHJpbmcgfCBmdW5jdGlvblxuICAgICAqIEBhc3B0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlckluZGVudFRlbXBsYXRlJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBoZWFkZXJJbmRlbnRUZW1wbGF0ZTogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3F1aWNrSW5mb1RlbXBsYXRlc0hlYWRlcicpXG4gICAgQFRlbXBsYXRlKClcbiAgICBwdWJsaWMgcXVpY2tJbmZvVGVtcGxhdGVzX2hlYWRlcjogYW55O1xuICAgIEBDb250ZW50Q2hpbGQoJ3F1aWNrSW5mb1RlbXBsYXRlc0NvbnRlbnQnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHF1aWNrSW5mb1RlbXBsYXRlc19jb250ZW50OiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgncXVpY2tJbmZvVGVtcGxhdGVzRm9vdGVyJylcbiAgICBAVGVtcGxhdGUoKVxuICAgIHB1YmxpYyBxdWlja0luZm9UZW1wbGF0ZXNfZm9vdGVyOiBhbnk7XG4gICAgQENvbnRlbnRDaGlsZCgnZ3JvdXBIZWFkZXJUb29sdGlwVGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIGdyb3VwX2hlYWRlclRvb2x0aXBUZW1wbGF0ZTogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ0VsZTogRWxlbWVudFJlZiwgcHJpdmF0ZSBzcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMubmdFbGUubmF0aXZlRWxlbWVudDtcbiAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMgPSB0aGlzLmluamVjdGVkTW9kdWxlcyB8fCBbXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlRGF5Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZVdlZWsnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlV29ya1dlZWsnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlTW9udGgnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlWWVhcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVBZ2VuZGEnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlTW9udGhBZ2VuZGEnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlVGltZWxpbmVWaWV3cycpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVUaW1lbGluZU1vbnRoJyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZVRpbWVsaW5lWWVhcicpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVSZXNpemUnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlRHJhZ0FuZERyb3AnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlRXhjZWxFeHBvcnQnKTtcbiAgICAgICAgICAgICAgICBpZih0aGlzLmluamVjdGVkTW9kdWxlcy5pbmRleE9mKG1vZCkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5qZWN0ZWRNb2R1bGVzLnB1c2gobW9kKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2ggeyB9XG5cciAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgbW9kID0gdGhpcy5pbmplY3Rvci5nZXQoJ1NjaGVkdWxlSUNhbGVuZGFyRXhwb3J0Jyk7XG4gICAgICAgICAgICAgICAgaWYodGhpcy5pbmplY3RlZE1vZHVsZXMuaW5kZXhPZihtb2QpID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluamVjdGVkTW9kdWxlcy5wdXNoKG1vZClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHsgfVxuXHIgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgbGV0IG1vZCA9IHRoaXMuaW5qZWN0b3IuZ2V0KCdTY2hlZHVsZUlDYWxlbmRhckltcG9ydCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGxldCBtb2QgPSB0aGlzLmluamVjdG9yLmdldCgnU2NoZWR1bGVQcmludCcpO1xuICAgICAgICAgICAgICAgIGlmKHRoaXMuaW5qZWN0ZWRNb2R1bGVzLmluZGV4T2YobW9kKSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmplY3RlZE1vZHVsZXMucHVzaChtb2QpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7IH1cblxyXG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuYWRkVHdvV2F5LmNhbGwodGhpcywgdHdvV2F5cyk7XG4gICAgICAgIHNldFZhbHVlKCdjdXJyZW50SW5zdGFuY2UnLCB0aGlzLCB0aGlzLnZpZXdDb250YWluZXJSZWYpO1xuICAgICAgICB0aGlzLmNvbnRleHQgID0gbmV3IENvbXBvbmVudEJhc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuY29udGV4dC5uZ09uSW5pdCh0aGlzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbnRleHQubmdBZnRlclZpZXdJbml0KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb250ZXh0Lm5nT25EZXN0cm95KHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFnT2JqZWN0c1swXS5pbnN0YW5jZSA9IHRoaXMuY2hpbGRWaWV3cztcbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZFJlc291cmNlcykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzFdLmluc3RhbmNlID0gdGhpcy5jaGlsZFJlc291cmNlcztcbiAgICAgICAgfVxuICAgICAgICBcblx0ICAgIGlmICh0aGlzLmNoaWxkSGVhZGVyUm93cykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzJdLmluc3RhbmNlID0gdGhpcy5jaGlsZEhlYWRlclJvd3M7XG4gICAgICAgIH1cbiAgICAgICAgXG5cdCAgICBpZiAodGhpcy5jaGlsZFRvb2xiYXJJdGVtcykge1xuICAgICAgICAgICAgdGhpcy50YWdPYmplY3RzWzNdLmluc3RhbmNlID0gdGhpcy5jaGlsZFRvb2xiYXJJdGVtcztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbnRleHQubmdBZnRlckNvbnRlbnRDaGVja2VkKHRoaXMpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlckV2ZW50czogKGV2ZW50TGlzdDogc3RyaW5nW10pID0+IHZvaWQ7XG4gICAgcHVibGljIGFkZFR3b1dheTogKHByb3BMaXN0OiBzdHJpbmdbXSkgPT4gdm9pZDtcbn1cblxuIl19
@@ -0,0 +1,61 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ViewDirective, ViewsDirective } from './views.directive';
4
+ import { ResourceDirective, ResourcesDirective } from './resources.directive';
5
+ import { HeaderRowDirective, HeaderRowsDirective } from './headerrows.directive';
6
+ import { ToolbarItemDirective, ToolbarItemsDirective } from './toolbaritems.directive';
7
+ import { ScheduleComponent } from './schedule.component';
8
+ import * as i0 from "@angular/core";
9
+ /**
10
+ * NgModule definition for the Schedule component.
11
+ */
12
+ export class ScheduleModule {
13
+ }
14
+ ScheduleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ ScheduleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, declarations: [ScheduleComponent,
16
+ ViewDirective,
17
+ ViewsDirective,
18
+ ResourceDirective,
19
+ ResourcesDirective,
20
+ HeaderRowDirective,
21
+ HeaderRowsDirective,
22
+ ToolbarItemDirective,
23
+ ToolbarItemsDirective], imports: [CommonModule], exports: [ScheduleComponent,
24
+ ViewDirective,
25
+ ViewsDirective,
26
+ ResourceDirective,
27
+ ResourcesDirective,
28
+ HeaderRowDirective,
29
+ HeaderRowsDirective,
30
+ ToolbarItemDirective,
31
+ ToolbarItemsDirective] });
32
+ ScheduleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, imports: [[CommonModule]] });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ScheduleModule, decorators: [{
34
+ type: NgModule,
35
+ args: [{
36
+ imports: [CommonModule],
37
+ declarations: [
38
+ ScheduleComponent,
39
+ ViewDirective,
40
+ ViewsDirective,
41
+ ResourceDirective,
42
+ ResourcesDirective,
43
+ HeaderRowDirective,
44
+ HeaderRowsDirective,
45
+ ToolbarItemDirective,
46
+ ToolbarItemsDirective
47
+ ],
48
+ exports: [
49
+ ScheduleComponent,
50
+ ViewDirective,
51
+ ViewsDirective,
52
+ ResourceDirective,
53
+ ResourcesDirective,
54
+ HeaderRowDirective,
55
+ HeaderRowsDirective,
56
+ ToolbarItemDirective,
57
+ ToolbarItemsDirective
58
+ ]
59
+ }]
60
+ }] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NjaGVkdWxlL3NjaGVkdWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RDs7R0FFRztBQTBCSCxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQXRCbkIsaUJBQWlCO1FBQ2pCLGFBQWE7UUFDYixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLG9CQUFvQjtRQUNwQixxQkFBcUIsYUFWZixZQUFZLGFBYWxCLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsY0FBYztRQUNkLGlCQUFpQjtRQUNqQixrQkFBa0I7UUFDbEIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIscUJBQXFCOzRHQUdoQixjQUFjLFlBeEJkLENBQUMsWUFBWSxDQUFDOzJGQXdCZCxjQUFjO2tCQXpCMUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLFlBQVksRUFBRTt3QkFDVixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIscUJBQXFCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLHFCQUFxQjtxQkFDeEI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFZpZXdEaXJlY3RpdmUsIFZpZXdzRGlyZWN0aXZlIH0gZnJvbSAnLi92aWV3cy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmVzb3VyY2VEaXJlY3RpdmUsIFJlc291cmNlc0RpcmVjdGl2ZSB9IGZyb20gJy4vcmVzb3VyY2VzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBIZWFkZXJSb3dEaXJlY3RpdmUsIEhlYWRlclJvd3NEaXJlY3RpdmUgfSBmcm9tICcuL2hlYWRlcnJvd3MuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRvb2xiYXJJdGVtRGlyZWN0aXZlLCBUb29sYmFySXRlbXNEaXJlY3RpdmUgfSBmcm9tICcuL3Rvb2xiYXJpdGVtcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU2NoZWR1bGVDb21wb25lbnQgfSBmcm9tICcuL3NjaGVkdWxlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogTmdNb2R1bGUgZGVmaW5pdGlvbiBmb3IgdGhlIFNjaGVkdWxlIGNvbXBvbmVudC5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgU2NoZWR1bGVDb21wb25lbnQsXG4gICAgICAgIFZpZXdEaXJlY3RpdmUsXG4gICAgICAgIFZpZXdzRGlyZWN0aXZlLFxuICAgICAgICBSZXNvdXJjZURpcmVjdGl2ZSxcbiAgICAgICAgUmVzb3VyY2VzRGlyZWN0aXZlLFxuICAgICAgICBIZWFkZXJSb3dEaXJlY3RpdmUsXG4gICAgICAgIEhlYWRlclJvd3NEaXJlY3RpdmUsXG4gICAgICAgIFRvb2xiYXJJdGVtRGlyZWN0aXZlLFxuICAgICAgICBUb29sYmFySXRlbXNEaXJlY3RpdmVcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgU2NoZWR1bGVDb21wb25lbnQsXG4gICAgICAgIFZpZXdEaXJlY3RpdmUsXG4gICAgICAgIFZpZXdzRGlyZWN0aXZlLFxuICAgICAgICBSZXNvdXJjZURpcmVjdGl2ZSxcbiAgICAgICAgUmVzb3VyY2VzRGlyZWN0aXZlLFxuICAgICAgICBIZWFkZXJSb3dEaXJlY3RpdmUsXG4gICAgICAgIEhlYWRlclJvd3NEaXJlY3RpdmUsXG4gICAgICAgIFRvb2xiYXJJdGVtRGlyZWN0aXZlLFxuICAgICAgICBUb29sYmFySXRlbXNEaXJlY3RpdmVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlTW9kdWxlIHsgfSJdfQ==
@@ -0,0 +1,67 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, ContentChildren, ContentChild } from '@angular/core';
3
+ import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base';
4
+ import { Template } from '@syncfusion/ej2-angular-base';
5
+ import * as i0 from "@angular/core";
6
+ let input = ['align', 'cssClass', 'disabled', 'htmlAttributes', 'id', 'name', 'overflow', 'prefixIcon', 'showAlwaysInPopup', 'showTextOn', 'suffixIcon', 'tabIndex', 'template', 'text', 'tooltipText', 'type', 'visible', 'width'];
7
+ let outputs = ['click'];
8
+ /**
9
+ * `e-toolbaritems` directive represent a custom toolbar items of the Schedule.
10
+ * It must be contained in a Schedule component(`ejs-schedule`).
11
+ * ```html
12
+ * <ejs-schedule>
13
+ * <e-toolbaritems>
14
+ * <e-toolbaritem name='Today'></<e-toolbaritem>
15
+ * <e-toolbaritem name='DateRangeText'></e-toolbaritem>
16
+ * <e-toolbaritem prefixIcon='e-icons e-cut' text='Cut'></e-toolbaritem>
17
+ * <e-toolbaritems>
18
+ * </ejs-schedule>
19
+ * ```
20
+ */
21
+ export class ToolbarItemDirective extends ComplexBase {
22
+ constructor(viewContainerRef) {
23
+ super();
24
+ this.viewContainerRef = viewContainerRef;
25
+ setValue('currentInstance', this, this.viewContainerRef);
26
+ this.registerEvents(outputs);
27
+ this.directivePropList = input;
28
+ }
29
+ }
30
+ ToolbarItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolbarItemDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
31
+ ToolbarItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ToolbarItemDirective, selector: "e-toolbaritems>e-toolbaritem", inputs: { align: "align", cssClass: "cssClass", disabled: "disabled", htmlAttributes: "htmlAttributes", id: "id", name: "name", overflow: "overflow", prefixIcon: "prefixIcon", showAlwaysInPopup: "showAlwaysInPopup", showTextOn: "showTextOn", suffixIcon: "suffixIcon", tabIndex: "tabIndex", template: "template", text: "text", tooltipText: "tooltipText", type: "type", visible: "visible", width: "width" }, outputs: { click: "click" }, queries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true }], usesInheritance: true, ngImport: i0 });
32
+ __decorate([
33
+ Template()
34
+ ], ToolbarItemDirective.prototype, "template", void 0);
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolbarItemDirective, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: 'e-toolbaritems>e-toolbaritem',
39
+ inputs: input,
40
+ outputs: outputs,
41
+ queries: {}
42
+ }]
43
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { template: [{
44
+ type: ContentChild,
45
+ args: ['template']
46
+ }] } });
47
+ /**
48
+ * ToolbarItem Array Directive
49
+ * @private
50
+ */
51
+ export class ToolbarItemsDirective extends ArrayBase {
52
+ constructor() {
53
+ super('toolbaritems');
54
+ }
55
+ }
56
+ ToolbarItemsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolbarItemsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
57
+ ToolbarItemsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ToolbarItemsDirective, selector: "ejs-schedule>e-toolbaritems", queries: [{ propertyName: "children", predicate: ToolbarItemDirective }], usesInheritance: true, ngImport: i0 });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ToolbarItemsDirective, decorators: [{
59
+ type: Directive,
60
+ args: [{
61
+ selector: 'ejs-schedule>e-toolbaritems',
62
+ queries: {
63
+ children: new ContentChildren(ToolbarItemDirective)
64
+ },
65
+ }]
66
+ }], ctorParameters: function () { return []; } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhcml0ZW1zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zY2hlZHVsZS90b29sYmFyaXRlbXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFHeEQsSUFBSSxLQUFLLEdBQWEsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM5TyxJQUFJLE9BQU8sR0FBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ2xDOzs7Ozs7Ozs7Ozs7R0FZRztBQVNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxXQUFpQztJQXdKdkUsWUFBb0IsZ0JBQWlDO1FBQ2pELEtBQUssRUFBRSxDQUFDO1FBRFEscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUVqRCxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDOztpSEE3SlEsb0JBQW9CO3FHQUFwQixvQkFBb0I7QUFzSjdCO0lBREMsUUFBUSxFQUFFO3NEQUNVOzJGQXRKWixvQkFBb0I7a0JBUmhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDhCQUE4QjtvQkFDeEMsTUFBTSxFQUFFLEtBQUs7b0JBQ2IsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLE9BQU8sRUFBRSxFQUVSO2lCQUNKO3VHQXVKVSxRQUFRO3NCQUZkLFlBQVk7dUJBQUMsVUFBVTs7QUFZNUI7OztHQUdHO0FBT0gsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFNBQWdDO0lBQ3ZFO1FBQ0ksS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7O2tIQUhRLHFCQUFxQjtzR0FBckIscUJBQXFCLDRGQUhJLG9CQUFvQjsyRkFHN0MscUJBQXFCO2tCQU5qQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsb0JBQW9CLENBQUM7cUJBQ3REO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4sIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcGxleEJhc2UsIEFycmF5QmFzZSwgc2V0VmFsdWUgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1iYXNlJztcbmltcG9ydCB7IFRlbXBsYXRlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cblxubGV0IGlucHV0OiBzdHJpbmdbXSA9IFsnYWxpZ24nLCAnY3NzQ2xhc3MnLCAnZGlzYWJsZWQnLCAnaHRtbEF0dHJpYnV0ZXMnLCAnaWQnLCAnbmFtZScsICdvdmVyZmxvdycsICdwcmVmaXhJY29uJywgJ3Nob3dBbHdheXNJblBvcHVwJywgJ3Nob3dUZXh0T24nLCAnc3VmZml4SWNvbicsICd0YWJJbmRleCcsICd0ZW1wbGF0ZScsICd0ZXh0JywgJ3Rvb2x0aXBUZXh0JywgJ3R5cGUnLCAndmlzaWJsZScsICd3aWR0aCddO1xubGV0IG91dHB1dHM6IHN0cmluZ1tdID0gWydjbGljayddO1xuLyoqXG4gKiBgZS10b29sYmFyaXRlbXNgIGRpcmVjdGl2ZSByZXByZXNlbnQgYSBjdXN0b20gdG9vbGJhciBpdGVtcyBvZiB0aGUgU2NoZWR1bGUuIFxuICogSXQgbXVzdCBiZSBjb250YWluZWQgaW4gYSBTY2hlZHVsZSBjb21wb25lbnQoYGVqcy1zY2hlZHVsZWApLiBcbiAqIGBgYGh0bWxcbiAqIDxlanMtc2NoZWR1bGU+XG4gKiAgIDxlLXRvb2xiYXJpdGVtcz5cbiAqICAgIDxlLXRvb2xiYXJpdGVtIG5hbWU9J1RvZGF5Jz48LzxlLXRvb2xiYXJpdGVtPlxuICogICAgPGUtdG9vbGJhcml0ZW0gbmFtZT0nRGF0ZVJhbmdlVGV4dCc+PC9lLXRvb2xiYXJpdGVtPlxuICogICAgPGUtdG9vbGJhcml0ZW0gcHJlZml4SWNvbj0nZS1pY29ucyBlLWN1dCcgdGV4dD0nQ3V0Jz48L2UtdG9vbGJhcml0ZW0+XG4gKiAgIDxlLXRvb2xiYXJpdGVtcz5cbiAqIDwvZWpzLXNjaGVkdWxlPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZS10b29sYmFyaXRlbXM+ZS10b29sYmFyaXRlbScsXG4gICAgaW5wdXRzOiBpbnB1dCxcbiAgICBvdXRwdXRzOiBvdXRwdXRzLCAgICBcbiAgICBxdWVyaWVzOiB7XG5cbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJJdGVtRGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8VG9vbGJhckl0ZW1EaXJlY3RpdmU+IHtcbiAgICBwdWJsaWMgZGlyZWN0aXZlUHJvcExpc3Q6IGFueTtcblx0cHVibGljIGNsaWNrOiBhbnk7XG5cblxuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHR5cGVzIG9mIGNvbW1hbmQgdG8gYmUgcmVuZGVyZWQgaW4gdGhlIFRvb2xiYXIuIFxuICAgICAqIFN1cHBvcnRlZCB0eXBlcyBhcmU6IFxuICAgICAqICogYEJ1dHRvbmA6IENyZWF0ZXMgdGhlIEJ1dHRvbiBjb250cm9sIHdpdGggaXRzIGdpdmVuIHByb3BlcnRpZXMgbGlrZSB0ZXh0LCBwcmVmaXhJY29uLCBldGMuIFxuICAgICAqICogYFNlcGFyYXRvcmA6IEFkZHMgYSBob3Jpem9udGFsIGxpbmUgdGhhdCBzZXBhcmF0ZXMgdGhlIFRvb2xiYXIgY29tbWFuZHMuIFxuICAgICAqICogYElucHV0YDogQ3JlYXRlcyBhbiBpbnB1dCBlbGVtZW50IHRoYXQgaXMgYXBwbGljYWJsZSB0byB0ZW1wbGF0ZSByZW5kZXJpbmcgd2l0aCBTeW5jZnVzaW9uIGNvbnRyb2xzIGxpa2UgRHJvcERvd25MaXN0LCBcbiAgICAgKiBBdXRvQ29tcGxldGUsIGV0Yy5cbiAgICAgKiBAZGVmYXVsdCAnQnV0dG9uJ1xuICAgICAqIEBhc3BkZWZhdWx0dmFsdWUgU3luY2Z1c2lvbi5FSjIuTmF2aWdhdGlvbnMuSXRlbVR5cGUuQnV0dG9uXG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqIEBhc3B0eXBlIFN5bmNmdXNpb24uRUoyLk5hdmlnYXRpb25zLkl0ZW1UeXBlXG4gICAgICovXG4gICAgcHVibGljIHR5cGU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBsb2NhdGlvbiBmb3IgYWxpZ25pbmcgVG9vbGJhciBpdGVtcyBvbiB0aGUgVG9vbGJhci4gRWFjaCBjb21tYW5kIHdpbGwgYmUgYWxpZ25lZCBhY2NvcmRpbmcgdG8gdGhlIGBhbGlnbmAgcHJvcGVydHkuIFxuICAgICAqIFRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yIHRoaXMgcHJvcGVydHkgYXMgZm9sbG93cyBcbiAgICAgKiAqIGBMZWZ0YDogVG8gYWxpZ24gY29tbWFuZHMgdG8gdGhlIGxlZnQgc2lkZSBvZiB0aGUgVG9vbGJhci4gXG4gICAgICogKiBgQ2VudGVyYDogVG8gYWxpZ24gY29tbWFuZHMgYXQgdGhlIGNlbnRlciBvZiB0aGUgVG9vbGJhci4gXG4gICAgICogKiBgUmlnaHRgOiBUbyBhbGlnbiBjb21tYW5kcyB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgVG9vbGJhci5cbiAgICAgKiBAZGVmYXVsdCAnTGVmdCdcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlIFN5bmNmdXNpb24uRUoyLk5hdmlnYXRpb25zLkl0ZW1BbGlnbi5MZWZ0XG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqIEBhc3B0eXBlIFN5bmNmdXNpb24uRUoyLk5hdmlnYXRpb25zLkl0ZW1BbGlnblxuICAgICAqL1xuICAgIHB1YmxpYyBhbGlnbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBEZWZpbmVzIHNpbmdsZS9tdWx0aXBsZSBjbGFzc2VzIChzZXBhcmF0ZWQgYnkgc3BhY2UpIHRvIGJlIHVzZWQgZm9yIGN1c3RvbWl6YXRpb24gb2YgY29tbWFuZHMuXG4gICAgICogQGRlZmF1bHQgXCJcIlxuICAgICAqL1xuICAgIHB1YmxpYyBjc3NDbGFzczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciBhbiBpdGVtIHNob3VsZCBiZSBkaXNhYmxlZCBvciBub3QuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBodG1sQXR0cmlidXRlcyB1c2VkIHRvIGFkZCBjdXN0b20gYXR0cmlidXRlcyB0byBUb29sYmFyIGNvbW1hbmQuIFxuICAgICAqIFN1cHBvcnRzIEhUTUwgYXR0cmlidXRlcyBzdWNoIGFzIHN0eWxlLCBjbGFzcywgZXRjLlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgaHRtbEF0dHJpYnV0ZXM6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSB1bmlxdWUgSUQgdG8gYmUgdXNlZCB3aXRoIGJ1dHRvbiBvciBpbnB1dCBlbGVtZW50IG9mIFRvb2xiYXIgaXRlbXMuXG4gICAgICogQGRlZmF1bHQgXCJcIlxuICAgICAqL1xuICAgIHB1YmxpYyBpZDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHVuaXF1ZSBuYW1lIGZvciBlYWNoIHRvb2xiYXIgaXRlbSByZW5kZXJlZCBpbiBTY2hlZHVsZS4gVGhpcyBuYW1lIGlzIHVzZWQgdG8gbWFwIHRoZSB0b29sYmFyIGl0ZW1zIGluIHRoZSBTY2hlZHVsZSBjb21wb25lbnQuXG4gICAgICogXG4gICAgICogVG8gYWNjZXNzIHRoZSBkZWZhdWx0IHRvb2xiYXIgaXRlbXMsIHByb3ZpZGUgdGhlIG5hbWUgYmVsb3csXG4gICAgICpcbiAgICAgKiogYEN1c3RvbWA6IFNjaGVkdWxlIGNvbXBvbmVudCByZW5kZXIgdGhlIGN1c3RvbSB0b29sYmFyIGl0ZW0uXG4gICAgICoqIGBQcmV2aW91c2A6IFNjaGVkdWxlIGNvbXBvbmVudCBuYXZpZ2F0ZXMgdG8gdGhlIHByZXZpb3VzIGRhdGUgZnJvbSB0aGUgY3VycmVudCBkYXRlLlxuICAgICAqKiBgTmV4dGA6IFNjaGVkdWxlIGNvbXBvbmVudCBuYXZpZ2F0ZXMgdG8gdGhlIG5leHQgZGF0ZSBmcm9tIHRoZSBjdXJyZW50IGRhdGUuXG4gICAgICoqIGBUb2RheWA6IFNjaGVkdWxlIGNvbXBvbmVudCBuYXZpZ2F0ZXMgdG8gdGhlIGN1cnJlbnQgZGF0ZSBmcm9tIGFueSBkYXRlLlxuICAgICAqKiBgVmlld3NgOiBTY2hlZHVsZSBjb21wb25lbnQgcmVuZGVyIHRoZSBkZWZpbmVkIHZpZXcgb3B0aW9ucyBpbiB0aGUgdG9vbGJhci4gSWYgdmlldyBvcHRpb24gaXMgbm90IGRlZmluZWQsIHRoZW4gaXQgd2lsbCByZW5kZXIgZGVmYXVsdCB2aWV3IG9wdGlvbnMgaW4gdGhlIFNjaGVkdWxlLlxuICAgICAqKiBgRGF0ZVJhbmdlVGV4dGA6IFNjaGVkdWxlIGNvbXBvbmVudCBkaXNwbGF5cyB0aGUgY3VycmVudCBkYXRlIHRleHQgcmFuZ2UuXG4gICAgICoqIGBOZXdFdmVudGA6IFNjaGVkdWxlIGNvbXBvbmVudCByZW5kZXIgdGhlIGljb24gdG8gYWRkIGEgbmV3IGV2ZW50LlxuICAgICAqICAgICBcbiAgICAgKiBAZGVmYXVsdCAnQ3VzdG9tJ1xuICAgICAqIEBhc3BkZWZhdWx0dmFsdWUgQ3VzdG9tXG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqIEBhc3B0eXBlIFRvb2xiYXJOYW1lXG4gICAgICovXG4gICAgcHVibGljIG5hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBUb29sYmFyIGNvbW1hbmQgZGlzcGxheSBhcmVhIHdoZW4gYW4gZWxlbWVudCdzIGNvbnRlbnQgaXMgdG9vIGxhcmdlIHRvIGZpdCBhdmFpbGFibGUgc3BhY2UuIFxuICAgICAqIFRoaXMgaXMgYXBwbGljYWJsZSBvbmx5IHRvIGBwb3B1cGAgbW9kZS4gVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhpcyBwcm9wZXJ0eSBhcyBmb2xsb3dzIFxuICAgICAqICogYFNob3dgOiAgQWx3YXlzIHNob3dzIHRoZSBpdGVtIGFzIHRoZSBwcmltYXJ5IHByaW9yaXR5IG9uIHRoZSAqVG9vbGJhciouIFxuICAgICAqICogYEhpZGVgOiBBbHdheXMgc2hvd3MgdGhlIGl0ZW0gYXMgdGhlIHNlY29uZGFyeSBwcmlvcml0eSBvbiB0aGUgKnBvcHVwKi4gXG4gICAgICogKiBgTm9uZWA6IE5vIHByaW9yaXR5IGZvciBkaXNwbGF5LCBhbmQgYXMgcGVyIG5vcm1hbCBvcmRlciBtb3ZlcyB0byBwb3B1cCB3aGVuIGNvbnRlbnQgZXhjZWVkcy5cbiAgICAgKiBAZGVmYXVsdCAnTm9uZSdcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlIFN5bmNmdXNpb24uRUoyLk5hdmlnYXRpb25zLk92ZXJmbG93T3B0aW9uLk5vbmVcbiAgICAgKiBAaXNlbnVtZXJhdGlvbiB0cnVlXG4gICAgICogQGFzcHR5cGUgU3luY2Z1c2lvbi5FSjIuTmF2aWdhdGlvbnMuT3ZlcmZsb3dPcHRpb25cbiAgICAgKi9cbiAgICBwdWJsaWMgb3ZlcmZsb3c6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBzaW5nbGUvbXVsdGlwbGUgY2xhc3NlcyBzZXBhcmF0ZWQgYnkgc3BhY2UgdXNlZCB0byBzcGVjaWZ5IGFuIGljb24gZm9yIHRoZSBidXR0b24uIFxuICAgICAqIFRoZSBpY29uIHdpbGwgYmUgcG9zaXRpb25lZCBiZWZvcmUgdGhlIHRleHQgY29udGVudCBpZiB0ZXh0IGlzIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIHRoZSBpY29uIGFsb25lIHdpbGwgYmUgcmVuZGVyZWQuXG4gICAgICogQGRlZmF1bHQgXCJcIlxuICAgICAqL1xuICAgIHB1YmxpYyBwcmVmaXhJY29uOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHByaW9yaXR5IG9mIGl0ZW1zIHRvIGRpc3BsYXkgaXQgaW4gcG9wdXAgYWx3YXlzLiBcbiAgICAgKiBJdCBhbGxvd3MgdG8gbWFpbnRhaW4gdG9vbGJhciBpdGVtIG9uIHBvcHVwIGFsd2F5cyBidXQgaXQgZG9lcyBub3Qgd29yayBmb3IgdG9vbGJhciBwcmlvcml0eSBpdGVtcy5cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93QWx3YXlzSW5Qb3B1cDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgd2hlcmUgdGhlIGJ1dHRvbiB0ZXh0IHdpbGwgYmUgZGlzcGxheWVkIG9uICpwb3B1cCBtb2RlKiBvZiB0aGUgVG9vbGJhci4gXG4gICAgICogVGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhpcyBwcm9wZXJ0eSBhcyBmb2xsb3dzIFxuICAgICAqICogYFRvb2xiYXJgOiAgVGV4dCB3aWxsIGJlIGRpc3BsYXllZCBvbiAqVG9vbGJhciogb25seS4gXG4gICAgICogKiBgT3ZlcmZsb3dgOiBUZXh0IHdpbGwgYmUgZGlzcGxheWVkIG9ubHkgd2hlbiBjb250ZW50IG92ZXJmbG93cyB0byAqcG9wdXAqLiBcbiAgICAgKiAqIGBCb3RoYDogVGV4dCB3aWxsIGJlIGRpc3BsYXllZCBvbiAqcG9wdXAqIGFuZCAqVG9vbGJhciouXG4gICAgICogQGRlZmF1bHQgJ0JvdGgnXG4gICAgICogQGFzcGRlZmF1bHR2YWx1ZSBTeW5jZnVzaW9uLkVKMi5OYXZpZ2F0aW9ucy5EaXNwbGF5TW9kZS5Cb3RoXG4gICAgICogQGlzZW51bWVyYXRpb24gdHJ1ZVxuICAgICAqIEBhc3B0eXBlIFN5bmNmdXNpb24uRUoyLk5hdmlnYXRpb25zLkRpc3BsYXlNb2RlXG4gICAgICovXG4gICAgcHVibGljIHNob3dUZXh0T246IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyBzaW5nbGUvbXVsdGlwbGUgY2xhc3NlcyBzZXBhcmF0ZWQgYnkgc3BhY2UgdXNlZCB0byBzcGVjaWZ5IGFuIGljb24gZm9yIHRoZSBidXR0b24uIFxuICAgICAqIFRoZSBpY29uIHdpbGwgYmUgcG9zaXRpb25lZCBhZnRlciB0aGUgdGV4dCBjb250ZW50IGlmIHRleHQgaXMgYXZhaWxhYmxlLlxuICAgICAqIEBkZWZhdWx0IFwiXCJcbiAgICAgKi9cbiAgICBwdWJsaWMgc3VmZml4SWNvbjogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHRhYiBvcmRlciBvZiB0aGUgVG9vbGJhciBpdGVtcy4gV2hlbiBwb3NpdGl2ZSB2YWx1ZXMgYXNzaWduZWQsIGl0IGFsbG93cyB0byBzd2l0Y2ggZm9jdXMgdG8gdGhlIG5leHQvcHJldmlvdXMgdG9vbGJhciBpdGVtcyB3aXRoIFRhYi9TaGlmdFRhYiBrZXlzLiBcbiAgICAgKiBCeSBkZWZhdWx0LCB1c2VyIGNhbiBhYmxlIHRvIHN3aXRjaCBiZXR3ZWVuIGl0ZW1zIG9ubHkgdmlhIGFycm93IGtleXMuIFxuICAgICAqIElmIHRoZSB2YWx1ZSBpcyBzZXQgdG8gMCBmb3IgYWxsIHRvb2wgYmFyIGl0ZW1zLCB0aGVuIHRhYiBzd2l0Y2hlcyBiYXNlZCBvbiBlbGVtZW50IG9yZGVyLlxuICAgICAqIEBkZWZhdWx0IC0xXG4gICAgICovXG4gICAgcHVibGljIHRhYkluZGV4OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgdGV4dCB0byBiZSBkaXNwbGF5ZWQgb24gdGhlIFRvb2xiYXIgYnV0dG9uLlxuICAgICAqIEBkZWZhdWx0IFwiXCJcbiAgICAgKi9cbiAgICBwdWJsaWMgdGV4dDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHRleHQgdG8gYmUgZGlzcGxheWVkIG9uIGhvdmVyaW5nIHRoZSBUb29sYmFyIGJ1dHRvbi5cbiAgICAgKiBAZGVmYXVsdCBcIlwiXG4gICAgICovXG4gICAgcHVibGljIHRvb2x0aXBUZXh0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB3aGV0aGVyIGFuIGl0ZW0gc2hvdWxkIGJlIGhpZGRlbiBvciBub3QuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyB2aXNpYmxlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyB0aGUgd2lkdGggb2YgdGhlIFRvb2xiYXIgYnV0dG9uIGNvbW1hbmRzLlxuICAgICAqIEBkZWZhdWx0ICdhdXRvJ1xuICAgICAqL1xuICAgIHB1YmxpYyB3aWR0aDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIEhUTUwgZWxlbWVudC9lbGVtZW50IElEIGFzIGEgc3RyaW5nIHRoYXQgY2FuIGJlIGFkZGVkIGFzIGEgVG9vbGJhciBjb21tYW5kLiBcbiAgICAgKiBcbiAgICAgKiBAZGVmYXVsdCBcIlwiXG4gICAgICogQGFuZ3VsYXJ0eXBlIHN0cmluZyB8IG9iamVjdFxuICAgICAqIEByZWFjdHR5cGUgc3RyaW5nIHwgZnVuY3Rpb24gfCBKU1guRWxlbWVudFxuICAgICAqIEB2dWV0eXBlIHN0cmluZyB8IGZ1bmN0aW9uXG4gICAgICogQGFzcHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgndGVtcGxhdGUnKVxuICAgIEBUZW1wbGF0ZSgpXG4gICAgcHVibGljIHRlbXBsYXRlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBUb29sYmFySXRlbSBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLXNjaGVkdWxlPmUtdG9vbGJhcml0ZW1zJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKFRvb2xiYXJJdGVtRGlyZWN0aXZlKVxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFRvb2xiYXJJdGVtc0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxUb29sYmFySXRlbXNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ3Rvb2xiYXJpdGVtcycpO1xuICAgIH1cbn0iXX0=