Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@fullcalendar/angular

Package Overview
Dependencies
Maintainers
1
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fullcalendar/angular - npm Package Compare versions

Comparing version 4.2.0 to 4.2.1

esm2015/lib/utils.js

53

bundles/fullcalendar-angular.umd.js
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('fast-deep-equal'), require('deep-copy'), require('@fullcalendar/core'), require('@angular/core')) :
typeof define === 'function' && define.amd ? define('@fullcalendar/angular', ['exports', 'fast-deep-equal', 'deep-copy', '@fullcalendar/core', '@angular/core'], factory) :
(factory((global.fullcalendar = global.fullcalendar || {}, global.fullcalendar.angular = {}),global.deepEqual,global.deepCopy,global.FullCalendar,global.ng.core));
}(this, (function (exports,deepEqual,deepCopy,core,core$1) { 'use strict';
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('fast-deep-equal'), require('@fullcalendar/core'), require('@angular/core')) :
typeof define === 'function' && define.amd ? define('@fullcalendar/angular', ['exports', 'fast-deep-equal', '@fullcalendar/core', '@angular/core'], factory) :
(factory((global.fullcalendar = global.fullcalendar || {}, global.fullcalendar.angular = {}),global.deepEqual,global.FullCalendar,global.ng.core));
}(this, (function (exports,deepEqual,core,core$1) { 'use strict';
deepEqual = deepEqual && deepEqual.hasOwnProperty('default') ? deepEqual['default'] : deepEqual;
deepCopy = deepCopy && deepCopy.hasOwnProperty('default') ? deepCopy['default'] : deepCopy;

@@ -58,3 +57,47 @@ /*! *****************************************************************************

*/
/** @type {?} */
var hasOwnProperty = Object.prototype.hasOwnProperty;
/*
Really simple clone utility. Only copies plain arrays and objects. Transfers everything else as-is.
Wanted to use a third-party lib, but none did exactly this.
*/
/**
* @param {?} input
* @return {?}
*/
function deepCopy(input) {
if (Array.isArray(input)) {
return input.map(deepCopy);
}
else if (input instanceof Date) {
return new Date(input.valueOf());
}
else if (typeof input === 'object' && input) { // non-null object
return mapHash(input, deepCopy);
}
else { // everything else (null, function, etc)
return input;
}
}
/**
* @param {?} input
* @param {?} func
* @return {?}
*/
function mapHash(input, func) {
/** @type {?} */
var output = {};
for (var key in input) {
if (hasOwnProperty.call(input, key)) {
output[key] = func(input[key], key);
}
}
return output;
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
the docs point to this file as an index of options.

@@ -61,0 +104,0 @@ when this files is moved, update the docs.

2

bundles/fullcalendar-angular.umd.min.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fast-deep-equal"),require("deep-copy"),require("@fullcalendar/core"),require("@angular/core")):"function"==typeof define&&define.amd?define("@fullcalendar/angular",["exports","fast-deep-equal","deep-copy","@fullcalendar/core","@angular/core"],t):t((e.fullcalendar=e.fullcalendar||{},e.fullcalendar.angular={}),e.deepEqual,e.deepCopy,e.FullCalendar,e.ng.core)}(this,function(e,p,u,t,n){"use strict";function o(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,p,a=n.call(e),u=[];try{for(;(void 0===t||0<t--)&&!(r=a.next()).done;)u.push(r.value)}catch(o){p={error:o}}finally{try{r&&!r.done&&(n=a["return"])&&n.call(a)}finally{if(p)throw p.error}}return u}p=p&&p.hasOwnProperty("default")?p["default"]:p,u=u&&u.hasOwnProperty("default")?u["default"]:u;var r=["header","footer","customButtons","buttonIcons","themeSystem","bootstrapFontAwesome","firstDay","dir","weekends","hiddenDays","fixedWeekCount","weekNumbers","weekNumbersWithinDays","weekNumberCalculation","businessHours","showNonCurrentDates","height","contentHeight","aspectRatio","handleWindowResize","windowResizeDelay","eventLimit","eventLimitClick","timeZone","now","defaultView","allDaySlot","allDayText","slotDuration","slotLabelFormat","slotLabelInterval","snapDuration","scrollTime","minTime","maxTime","slotEventOverlap","listDayFormat","listDayAltFormat","noEventsMessage","defaultDate","nowIndicator","visibleRange","validRange","dateIncrement","dateAlignment","duration","dayCount","locales","locale","eventTimeFormat","columnHeader","columnHeaderFormat","columnHeaderText","columnHeaderHtml","titleFormat","weekLabel","displayEventTime","displayEventEnd","eventLimitText","dayPopoverFormat","navLinks","navLinkDayClick","navLinkWeekClick","selectable","selectMirror","selectMinDistance","unselectAuto","unselectCancel","defaultAllDayEventDuration","defaultTimedEventDuration","cmdFormatter","defaultRangeSeparator","selectConstraint","selectOverlap","selectAllow","editable","eventStartEditable","eventDurationEditable","eventConstraint","eventOverlap","eventAllow","eventClassName","eventClassNames","eventBackgroundColor","eventBorderColor","eventTextColor","eventColor","events","eventSources","allDayDefault","startParam","endParam","lazyFetching","nextDayThreshold","eventOrder","rerenderDelay","dragRevertDuration","dragScroll","longPressDelay","eventLongPressDelay","droppable","dropAccept","eventDataTransform","allDayMaintainDuration","eventResizableFromStart","timeGridEventMinHeight","allDayHtml","eventDragMinDistance","eventSourceFailure","eventSourceSuccess","forceEventDuration","progressiveEventRendering","selectLongPressDelay","selectMinDistance","timeZoneParam","titleRangeSeparator","buttonText","views","plugins","schedulerLicenseKey","resources","resourceLabelText","resourceOrder","filterResourcesWithEvents","resourceText","resourceGroupField","resourceGroupText","resourceAreaWidth","resourceColumns","resourcesInitiallyExpanded","slotWidth","datesAboveResources","googleCalendarApiKey","refetchResourcesOnNavigate","eventResourceEditable"],i={header:!0,footer:!0,events:!0,eventSources:!0,resources:!0},s=["windowResize","dateClick","eventClick","eventMouseEnter","eventMouseLeave","select","unselect","loading","eventPositioned","eventDragStart","eventDragStop","eventDrop","eventResizeStart","eventResizeStop","eventResize","drop","eventReceive","eventLeave","_destroyed","viewSkeletonRender","viewSkeletonDestroy","datesRender","datesDestroy","dayRender","eventRender","eventDestroy","resourceRender"],a=function(){function e(e){this.element=e,this.dirtyProps={},this.deepCopies={},this.windowResize=new n.EventEmitter,this.dateClick=new n.EventEmitter,this.eventClick=new n.EventEmitter,this.eventMouseEnter=new n.EventEmitter,this.eventMouseLeave=new n.EventEmitter,this.select=new n.EventEmitter,this.unselect=new n.EventEmitter,this.loading=new n.EventEmitter,this.eventPositioned=new n.EventEmitter,this.eventDragStart=new n.EventEmitter,this.eventDragStop=new n.EventEmitter,this.eventDrop=new n.EventEmitter,this.eventResizeStart=new n.EventEmitter,this.eventResizeStop=new n.EventEmitter,this.eventResize=new n.EventEmitter,this.drop=new n.EventEmitter,this.eventReceive=new n.EventEmitter,this.eventLeave=new n.EventEmitter,this._destroyed=new n.EventEmitter,this.viewSkeletonRender=new n.EventEmitter,this.viewSkeletonDestroy=new n.EventEmitter,this.datesRender=new n.EventEmitter,this.datesDestroy=new n.EventEmitter,this.dayRender=new n.EventEmitter,this.eventRender=new n.EventEmitter,this.eventDestroy=new n.EventEmitter,this.resourceRender=new n.EventEmitter}return e.prototype.ngAfterViewInit=function(){this.calendar=new t.Calendar(this.element.nativeElement,this.buildOptions()),this.calendar.render()},e.prototype.buildOptions=function(){var a=this,n={};return s.forEach(function(p){n[p]=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];(e=a[p]).emit.apply(e,function r(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(o(arguments[t]));return e}(t))}}),r.forEach(function(e){var t=a[e];t!==undefined&&(a.deepChangeDetection&&i[e]&&(t=u(t),a.deepCopies[e]=t),n[e]=t)}),n},e.prototype.ngDoCheck=function(){if(this.calendar&&this.deepChangeDetection){var e=this.deepCopies;for(var t in i)if(i.hasOwnProperty(t)){var n=this[t];if(n!==undefined&&!p(n,e[t])){var r=u(n);e[t]=r,this.dirtyProps[t]=r}}}},e.prototype.ngOnChanges=function(e){if(this.calendar)for(var t in e)e.hasOwnProperty(t)&&this.deepCopies[t]===undefined&&(this.dirtyProps[t]=e[t].currentValue)},e.prototype.ngAfterContentChecked=function(){var e=this.dirtyProps;0<Object.keys(e).length&&(this.dirtyProps={},this.calendar.mutateOptions(e,[],!1,p))},e.prototype.ngOnDestroy=function(){this.calendar.destroy(),this.calendar=null},e.prototype.getApi=function(){return this.calendar},e.decorators=[{type:n.Component,args:[{selector:"full-calendar",template:""}]}],e.ctorParameters=function(){return[{type:n.ElementRef}]},e.propDecorators={deepChangeDetection:[{type:n.Input}],header:[{type:n.Input}],footer:[{type:n.Input}],customButtons:[{type:n.Input}],buttonIcons:[{type:n.Input}],themeSystem:[{type:n.Input}],bootstrapFontAwesome:[{type:n.Input}],firstDay:[{type:n.Input}],dir:[{type:n.Input}],weekends:[{type:n.Input}],hiddenDays:[{type:n.Input}],fixedWeekCount:[{type:n.Input}],weekNumbers:[{type:n.Input}],weekNumbersWithinDays:[{type:n.Input}],weekNumberCalculation:[{type:n.Input}],businessHours:[{type:n.Input}],showNonCurrentDates:[{type:n.Input}],height:[{type:n.Input}],contentHeight:[{type:n.Input}],aspectRatio:[{type:n.Input}],handleWindowResize:[{type:n.Input}],windowResizeDelay:[{type:n.Input}],eventLimit:[{type:n.Input}],eventLimitClick:[{type:n.Input}],timeZone:[{type:n.Input}],now:[{type:n.Input}],defaultView:[{type:n.Input}],allDaySlot:[{type:n.Input}],allDayText:[{type:n.Input}],slotDuration:[{type:n.Input}],slotLabelFormat:[{type:n.Input}],slotLabelInterval:[{type:n.Input}],snapDuration:[{type:n.Input}],scrollTime:[{type:n.Input}],minTime:[{type:n.Input}],maxTime:[{type:n.Input}],slotEventOverlap:[{type:n.Input}],listDayFormat:[{type:n.Input}],listDayAltFormat:[{type:n.Input}],noEventsMessage:[{type:n.Input}],defaultDate:[{type:n.Input}],nowIndicator:[{type:n.Input}],visibleRange:[{type:n.Input}],validRange:[{type:n.Input}],dateIncrement:[{type:n.Input}],dateAlignment:[{type:n.Input}],duration:[{type:n.Input}],dayCount:[{type:n.Input}],locales:[{type:n.Input}],locale:[{type:n.Input}],eventTimeFormat:[{type:n.Input}],columnHeader:[{type:n.Input}],columnHeaderFormat:[{type:n.Input}],columnHeaderText:[{type:n.Input}],columnHeaderHtml:[{type:n.Input}],titleFormat:[{type:n.Input}],weekLabel:[{type:n.Input}],displayEventTime:[{type:n.Input}],displayEventEnd:[{type:n.Input}],eventLimitText:[{type:n.Input}],dayPopoverFormat:[{type:n.Input}],navLinks:[{type:n.Input}],navLinkDayClick:[{type:n.Input}],navLinkWeekClick:[{type:n.Input}],selectable:[{type:n.Input}],selectMirror:[{type:n.Input}],unselectAuto:[{type:n.Input}],unselectCancel:[{type:n.Input}],defaultAllDayEventDuration:[{type:n.Input}],defaultTimedEventDuration:[{type:n.Input}],cmdFormatter:[{type:n.Input}],defaultRangeSeparator:[{type:n.Input}],selectConstraint:[{type:n.Input}],selectOverlap:[{type:n.Input}],selectAllow:[{type:n.Input}],selectMinDistance:[{type:n.Input}],editable:[{type:n.Input}],eventStartEditable:[{type:n.Input}],eventDurationEditable:[{type:n.Input}],eventConstraint:[{type:n.Input}],eventOverlap:[{type:n.Input}],eventAllow:[{type:n.Input}],eventClassName:[{type:n.Input}],eventClassNames:[{type:n.Input}],eventBackgroundColor:[{type:n.Input}],eventBorderColor:[{type:n.Input}],eventTextColor:[{type:n.Input}],eventColor:[{type:n.Input}],events:[{type:n.Input}],eventSources:[{type:n.Input}],allDayDefault:[{type:n.Input}],startParam:[{type:n.Input}],endParam:[{type:n.Input}],lazyFetching:[{type:n.Input}],nextDayThreshold:[{type:n.Input}],eventOrder:[{type:n.Input}],rerenderDelay:[{type:n.Input}],dragRevertDuration:[{type:n.Input}],dragScroll:[{type:n.Input}],longPressDelay:[{type:n.Input}],eventLongPressDelay:[{type:n.Input}],droppable:[{type:n.Input}],dropAccept:[{type:n.Input}],eventDataTransform:[{type:n.Input}],allDayMaintainDuration:[{type:n.Input}],eventResizableFromStart:[{type:n.Input}],timeGridEventMinHeight:[{type:n.Input}],allDayHtml:[{type:n.Input}],eventDragMinDistance:[{type:n.Input}],eventSourceFailure:[{type:n.Input}],eventSourceSuccess:[{type:n.Input}],forceEventDuration:[{type:n.Input}],progressiveEventRendering:[{type:n.Input}],selectLongPressDelay:[{type:n.Input}],timeZoneParam:[{type:n.Input}],titleRangeSeparator:[{type:n.Input}],buttonText:[{type:n.Input}],views:[{type:n.Input}],plugins:[{type:n.Input}],schedulerLicenseKey:[{type:n.Input}],resources:[{type:n.Input}],resourceLabelText:[{type:n.Input}],resourceOrder:[{type:n.Input}],filterResourcesWithEvents:[{type:n.Input}],resourceText:[{type:n.Input}],resourceGroupField:[{type:n.Input}],resourceGroupText:[{type:n.Input}],resourceAreaWidth:[{type:n.Input}],resourceColumns:[{type:n.Input}],resourcesInitiallyExpanded:[{type:n.Input}],slotWidth:[{type:n.Input}],datesAboveResources:[{type:n.Input}],googleCalendarApiKey:[{type:n.Input}],refetchResourcesOnNavigate:[{type:n.Input}],eventResourceEditable:[{type:n.Input}],windowResize:[{type:n.Output}],dateClick:[{type:n.Output}],eventClick:[{type:n.Output}],eventMouseEnter:[{type:n.Output}],eventMouseLeave:[{type:n.Output}],select:[{type:n.Output}],unselect:[{type:n.Output}],loading:[{type:n.Output}],eventPositioned:[{type:n.Output}],eventDragStart:[{type:n.Output}],eventDragStop:[{type:n.Output}],eventDrop:[{type:n.Output}],eventResizeStart:[{type:n.Output}],eventResizeStop:[{type:n.Output}],eventResize:[{type:n.Output}],drop:[{type:n.Output}],eventReceive:[{type:n.Output}],eventLeave:[{type:n.Output}],_destroyed:[{type:n.Output}],viewSkeletonRender:[{type:n.Output}],viewSkeletonDestroy:[{type:n.Output}],datesRender:[{type:n.Output}],datesDestroy:[{type:n.Output}],dayRender:[{type:n.Output}],eventRender:[{type:n.Output}],eventDestroy:[{type:n.Output}],resourceRender:[{type:n.Output}]},e}(),l=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[a],imports:[],exports:[a]}]}],e}();e.FullCalendarComponent=a,e.FullCalendarModule=l,Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fast-deep-equal"),require("@fullcalendar/core"),require("@angular/core")):"function"==typeof define&&define.amd?define("@fullcalendar/angular",["exports","fast-deep-equal","@fullcalendar/core","@angular/core"],t):t((e.fullcalendar=e.fullcalendar||{},e.fullcalendar.angular={}),e.deepEqual,e.FullCalendar,e.ng.core)}(this,function(e,p,t,n){"use strict";function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,p,a=n.call(e),u=[];try{for(;(void 0===t||0<t--)&&!(r=a.next()).done;)u.push(r.value)}catch(o){p={error:o}}finally{try{r&&!r.done&&(n=a["return"])&&n.call(a)}finally{if(p)throw p.error}}return u}p=p&&p.hasOwnProperty("default")?p["default"]:p;var a=Object.prototype.hasOwnProperty;function o(e){return Array.isArray(e)?e.map(o):e instanceof Date?new Date(e.valueOf()):"object"==typeof e&&e?function p(e,t){var n={};for(var r in e)a.call(e,r)&&(n[r]=t(e[r],r));return n}(e,o):e}var r=["header","footer","customButtons","buttonIcons","themeSystem","bootstrapFontAwesome","firstDay","dir","weekends","hiddenDays","fixedWeekCount","weekNumbers","weekNumbersWithinDays","weekNumberCalculation","businessHours","showNonCurrentDates","height","contentHeight","aspectRatio","handleWindowResize","windowResizeDelay","eventLimit","eventLimitClick","timeZone","now","defaultView","allDaySlot","allDayText","slotDuration","slotLabelFormat","slotLabelInterval","snapDuration","scrollTime","minTime","maxTime","slotEventOverlap","listDayFormat","listDayAltFormat","noEventsMessage","defaultDate","nowIndicator","visibleRange","validRange","dateIncrement","dateAlignment","duration","dayCount","locales","locale","eventTimeFormat","columnHeader","columnHeaderFormat","columnHeaderText","columnHeaderHtml","titleFormat","weekLabel","displayEventTime","displayEventEnd","eventLimitText","dayPopoverFormat","navLinks","navLinkDayClick","navLinkWeekClick","selectable","selectMirror","selectMinDistance","unselectAuto","unselectCancel","defaultAllDayEventDuration","defaultTimedEventDuration","cmdFormatter","defaultRangeSeparator","selectConstraint","selectOverlap","selectAllow","editable","eventStartEditable","eventDurationEditable","eventConstraint","eventOverlap","eventAllow","eventClassName","eventClassNames","eventBackgroundColor","eventBorderColor","eventTextColor","eventColor","events","eventSources","allDayDefault","startParam","endParam","lazyFetching","nextDayThreshold","eventOrder","rerenderDelay","dragRevertDuration","dragScroll","longPressDelay","eventLongPressDelay","droppable","dropAccept","eventDataTransform","allDayMaintainDuration","eventResizableFromStart","timeGridEventMinHeight","allDayHtml","eventDragMinDistance","eventSourceFailure","eventSourceSuccess","forceEventDuration","progressiveEventRendering","selectLongPressDelay","selectMinDistance","timeZoneParam","titleRangeSeparator","buttonText","views","plugins","schedulerLicenseKey","resources","resourceLabelText","resourceOrder","filterResourcesWithEvents","resourceText","resourceGroupField","resourceGroupText","resourceAreaWidth","resourceColumns","resourcesInitiallyExpanded","slotWidth","datesAboveResources","googleCalendarApiKey","refetchResourcesOnNavigate","eventResourceEditable"],i={header:!0,footer:!0,events:!0,eventSources:!0,resources:!0},s=["windowResize","dateClick","eventClick","eventMouseEnter","eventMouseLeave","select","unselect","loading","eventPositioned","eventDragStart","eventDragStop","eventDrop","eventResizeStart","eventResizeStop","eventResize","drop","eventReceive","eventLeave","_destroyed","viewSkeletonRender","viewSkeletonDestroy","datesRender","datesDestroy","dayRender","eventRender","eventDestroy","resourceRender"],l=function(){function e(e){this.element=e,this.dirtyProps={},this.deepCopies={},this.windowResize=new n.EventEmitter,this.dateClick=new n.EventEmitter,this.eventClick=new n.EventEmitter,this.eventMouseEnter=new n.EventEmitter,this.eventMouseLeave=new n.EventEmitter,this.select=new n.EventEmitter,this.unselect=new n.EventEmitter,this.loading=new n.EventEmitter,this.eventPositioned=new n.EventEmitter,this.eventDragStart=new n.EventEmitter,this.eventDragStop=new n.EventEmitter,this.eventDrop=new n.EventEmitter,this.eventResizeStart=new n.EventEmitter,this.eventResizeStop=new n.EventEmitter,this.eventResize=new n.EventEmitter,this.drop=new n.EventEmitter,this.eventReceive=new n.EventEmitter,this.eventLeave=new n.EventEmitter,this._destroyed=new n.EventEmitter,this.viewSkeletonRender=new n.EventEmitter,this.viewSkeletonDestroy=new n.EventEmitter,this.datesRender=new n.EventEmitter,this.datesDestroy=new n.EventEmitter,this.dayRender=new n.EventEmitter,this.eventRender=new n.EventEmitter,this.eventDestroy=new n.EventEmitter,this.resourceRender=new n.EventEmitter}return e.prototype.ngAfterViewInit=function(){this.calendar=new t.Calendar(this.element.nativeElement,this.buildOptions()),this.calendar.render()},e.prototype.buildOptions=function(){var a=this,n={};return s.forEach(function(p){n[p]=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];(e=a[p]).emit.apply(e,function r(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(u(arguments[t]));return e}(t))}}),r.forEach(function(e){var t=a[e];t!==undefined&&(a.deepChangeDetection&&i[e]&&(t=o(t),a.deepCopies[e]=t),n[e]=t)}),n},e.prototype.ngDoCheck=function(){if(this.calendar&&this.deepChangeDetection){var e=this.deepCopies;for(var t in i)if(i.hasOwnProperty(t)){var n=this[t];if(n!==undefined&&!p(n,e[t])){var r=o(n);e[t]=r,this.dirtyProps[t]=r}}}},e.prototype.ngOnChanges=function(e){if(this.calendar)for(var t in e)e.hasOwnProperty(t)&&this.deepCopies[t]===undefined&&(this.dirtyProps[t]=e[t].currentValue)},e.prototype.ngAfterContentChecked=function(){var e=this.dirtyProps;0<Object.keys(e).length&&(this.dirtyProps={},this.calendar.mutateOptions(e,[],!1,p))},e.prototype.ngOnDestroy=function(){this.calendar.destroy(),this.calendar=null},e.prototype.getApi=function(){return this.calendar},e.decorators=[{type:n.Component,args:[{selector:"full-calendar",template:""}]}],e.ctorParameters=function(){return[{type:n.ElementRef}]},e.propDecorators={deepChangeDetection:[{type:n.Input}],header:[{type:n.Input}],footer:[{type:n.Input}],customButtons:[{type:n.Input}],buttonIcons:[{type:n.Input}],themeSystem:[{type:n.Input}],bootstrapFontAwesome:[{type:n.Input}],firstDay:[{type:n.Input}],dir:[{type:n.Input}],weekends:[{type:n.Input}],hiddenDays:[{type:n.Input}],fixedWeekCount:[{type:n.Input}],weekNumbers:[{type:n.Input}],weekNumbersWithinDays:[{type:n.Input}],weekNumberCalculation:[{type:n.Input}],businessHours:[{type:n.Input}],showNonCurrentDates:[{type:n.Input}],height:[{type:n.Input}],contentHeight:[{type:n.Input}],aspectRatio:[{type:n.Input}],handleWindowResize:[{type:n.Input}],windowResizeDelay:[{type:n.Input}],eventLimit:[{type:n.Input}],eventLimitClick:[{type:n.Input}],timeZone:[{type:n.Input}],now:[{type:n.Input}],defaultView:[{type:n.Input}],allDaySlot:[{type:n.Input}],allDayText:[{type:n.Input}],slotDuration:[{type:n.Input}],slotLabelFormat:[{type:n.Input}],slotLabelInterval:[{type:n.Input}],snapDuration:[{type:n.Input}],scrollTime:[{type:n.Input}],minTime:[{type:n.Input}],maxTime:[{type:n.Input}],slotEventOverlap:[{type:n.Input}],listDayFormat:[{type:n.Input}],listDayAltFormat:[{type:n.Input}],noEventsMessage:[{type:n.Input}],defaultDate:[{type:n.Input}],nowIndicator:[{type:n.Input}],visibleRange:[{type:n.Input}],validRange:[{type:n.Input}],dateIncrement:[{type:n.Input}],dateAlignment:[{type:n.Input}],duration:[{type:n.Input}],dayCount:[{type:n.Input}],locales:[{type:n.Input}],locale:[{type:n.Input}],eventTimeFormat:[{type:n.Input}],columnHeader:[{type:n.Input}],columnHeaderFormat:[{type:n.Input}],columnHeaderText:[{type:n.Input}],columnHeaderHtml:[{type:n.Input}],titleFormat:[{type:n.Input}],weekLabel:[{type:n.Input}],displayEventTime:[{type:n.Input}],displayEventEnd:[{type:n.Input}],eventLimitText:[{type:n.Input}],dayPopoverFormat:[{type:n.Input}],navLinks:[{type:n.Input}],navLinkDayClick:[{type:n.Input}],navLinkWeekClick:[{type:n.Input}],selectable:[{type:n.Input}],selectMirror:[{type:n.Input}],unselectAuto:[{type:n.Input}],unselectCancel:[{type:n.Input}],defaultAllDayEventDuration:[{type:n.Input}],defaultTimedEventDuration:[{type:n.Input}],cmdFormatter:[{type:n.Input}],defaultRangeSeparator:[{type:n.Input}],selectConstraint:[{type:n.Input}],selectOverlap:[{type:n.Input}],selectAllow:[{type:n.Input}],selectMinDistance:[{type:n.Input}],editable:[{type:n.Input}],eventStartEditable:[{type:n.Input}],eventDurationEditable:[{type:n.Input}],eventConstraint:[{type:n.Input}],eventOverlap:[{type:n.Input}],eventAllow:[{type:n.Input}],eventClassName:[{type:n.Input}],eventClassNames:[{type:n.Input}],eventBackgroundColor:[{type:n.Input}],eventBorderColor:[{type:n.Input}],eventTextColor:[{type:n.Input}],eventColor:[{type:n.Input}],events:[{type:n.Input}],eventSources:[{type:n.Input}],allDayDefault:[{type:n.Input}],startParam:[{type:n.Input}],endParam:[{type:n.Input}],lazyFetching:[{type:n.Input}],nextDayThreshold:[{type:n.Input}],eventOrder:[{type:n.Input}],rerenderDelay:[{type:n.Input}],dragRevertDuration:[{type:n.Input}],dragScroll:[{type:n.Input}],longPressDelay:[{type:n.Input}],eventLongPressDelay:[{type:n.Input}],droppable:[{type:n.Input}],dropAccept:[{type:n.Input}],eventDataTransform:[{type:n.Input}],allDayMaintainDuration:[{type:n.Input}],eventResizableFromStart:[{type:n.Input}],timeGridEventMinHeight:[{type:n.Input}],allDayHtml:[{type:n.Input}],eventDragMinDistance:[{type:n.Input}],eventSourceFailure:[{type:n.Input}],eventSourceSuccess:[{type:n.Input}],forceEventDuration:[{type:n.Input}],progressiveEventRendering:[{type:n.Input}],selectLongPressDelay:[{type:n.Input}],timeZoneParam:[{type:n.Input}],titleRangeSeparator:[{type:n.Input}],buttonText:[{type:n.Input}],views:[{type:n.Input}],plugins:[{type:n.Input}],schedulerLicenseKey:[{type:n.Input}],resources:[{type:n.Input}],resourceLabelText:[{type:n.Input}],resourceOrder:[{type:n.Input}],filterResourcesWithEvents:[{type:n.Input}],resourceText:[{type:n.Input}],resourceGroupField:[{type:n.Input}],resourceGroupText:[{type:n.Input}],resourceAreaWidth:[{type:n.Input}],resourceColumns:[{type:n.Input}],resourcesInitiallyExpanded:[{type:n.Input}],slotWidth:[{type:n.Input}],datesAboveResources:[{type:n.Input}],googleCalendarApiKey:[{type:n.Input}],refetchResourcesOnNavigate:[{type:n.Input}],eventResourceEditable:[{type:n.Input}],windowResize:[{type:n.Output}],dateClick:[{type:n.Output}],eventClick:[{type:n.Output}],eventMouseEnter:[{type:n.Output}],eventMouseLeave:[{type:n.Output}],select:[{type:n.Output}],unselect:[{type:n.Output}],loading:[{type:n.Output}],eventPositioned:[{type:n.Output}],eventDragStart:[{type:n.Output}],eventDragStop:[{type:n.Output}],eventDrop:[{type:n.Output}],eventResizeStart:[{type:n.Output}],eventResizeStop:[{type:n.Output}],eventResize:[{type:n.Output}],drop:[{type:n.Output}],eventReceive:[{type:n.Output}],eventLeave:[{type:n.Output}],_destroyed:[{type:n.Output}],viewSkeletonRender:[{type:n.Output}],viewSkeletonDestroy:[{type:n.Output}],datesRender:[{type:n.Output}],datesDestroy:[{type:n.Output}],dayRender:[{type:n.Output}],eventRender:[{type:n.Output}],eventDestroy:[{type:n.Output}],resourceRender:[{type:n.Output}]},e}(),y=function(){function e(){}return e.decorators=[{type:n.NgModule,args:[{declarations:[l],imports:[],exports:[l]}]}],e}();e.FullCalendarComponent=l,e.FullCalendarModule=y,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=fullcalendar-angular.umd.min.js.map

@@ -6,3 +6,3 @@ /**

import deepEqual from 'fast-deep-equal';
import { default as deepCopy } from 'deep-copy';
import { deepCopy } from './utils';
import { Component, ElementRef, Input, Output, EventEmitter } from '@angular/core';

@@ -683,2 +683,2 @@ import { Calendar } from '@fullcalendar/core';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmdWxsY2FsZW5kYXIvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9mdWxsY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxJQUFJLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFPYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUE0RCxNQUFNLG9CQUFvQixDQUFDO0FBb0J4RyxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQU1sRixNQUFNLE9BQU8scUJBQXFCOzs7OztJQVFoQyxZQUFvQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBSC9CLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsZUFBVSxHQUFRLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQjtRQStPMUMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FB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QThDOztJQUM5QyxzQ0FBd0Q7O0lBQ3hELHdDQUEwQzs7SUFFMUMsb0RBQXNDOztJQUN0QywwQ0FBeUI7O0lBQ3pCLGtEQUFvQzs7SUFDcEMsOENBQTZCOztJQUM3QiwwREFBeUM7O0lBQ3pDLDZDQUE0Qjs7SUFDNUIsbURBQWtDOztJQUNsQyxrREFBaUM7O0lBQ2pDLGtEQUFpQzs7SUFDakMsZ0RBQStCOztJQUMvQiwyREFBMEM7O0lBQzFDLDBDQUF5Qjs7SUFDekIsb0RBQW1DOztJQUNuQyxxREFBdUM7O0lBQ3ZDLDJEQUE4Qzs7SUFDOUMsc0RBQXlDOztJQUV6Qyw2Q0FBaUQ7O0lBQ2pELDBDQUE4Qzs7SUFDOUMsMkNBQStDOztJQUMvQyxnREFBb0Q7O0lBQ3BELGdEQUFvRDs7SUFDcEQsdUNBQTJDOztJQUMzQyx5Q0FBNkM7O0lBQzdDLHdDQUE0Qzs7SUFDNUMsZ0RBQW9EOztJQUNwRCwrQ0FBbUQ7O0lBQ25ELDhDQUFrRDs7SUFDbEQsMENBQThDOztJQUM5QyxpREFBcUQ7O0lBQ3JELGdEQUFvRDs7SUFDcEQsNENBQWdEOztJQUNoRCxxQ0FBeUM7O0lBQ3pDLDZDQUFpRDs7SUFDakQsMkNBQStDOztJQUMvQywyQ0FBK0M7O0lBRS9DLG1EQUF1RDs7SUFDdkQsb0RBQXdEOztJQUN4RCw0Q0FBZ0Q7O0lBQ2hELDZDQUFpRDs7SUFDakQsMENBQThDOztJQUM5Qyw0Q0FBZ0Q7O0lBQ2hELDZDQUFpRDs7SUFDakQsK0NBQW1EOzs7OztJQXhRdkMsd0NBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlZXBFcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBkZWVwQ29weSB9IGZyb20gJ2RlZXAtY29weSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRG9DaGVjayxcbiAgT25DaGFuZ2VzLFxuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYWxlbmRhciwgQnVzaW5lc3NIb3Vyc0lucHV0LCBDb25zdHJhaW50SW5wdXQsIEV2ZW50QXBpLCBQbHVnaW5EZWYgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgVG9vbGJhcklucHV0LFxuICBDdXN0b21CdXR0b25JbnB1dCxcbiAgQnV0dG9uSWNvbnNJbnB1dCwgQ2VsbEluZm8sXG4gIEJ1dHRvblRleHRDb21wb3VuZElucHV0LFxuICBWaWV3T3B0aW9uc0lucHV0XG59IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS90eXBlcy9pbnB1dC10eXBlcyc7XG5pbXBvcnQgeyBEYXRlSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9lbnYnO1xuaW1wb3J0IHsgRHVyYXRpb25JbnB1dCB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2R1cmF0aW9uJztcbmltcG9ydCB7IEZvcm1hdHRlcklucHV0IH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL2RhdGVsaWIvZm9ybWF0dGluZyc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VJbnB1dCB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2RhdGUtcmFuZ2UnO1xuaW1wb3J0IHsgUmF3TG9jYWxlLCBMb2NhbGVTaW5ndWxhckFyZyB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2xvY2FsZSc7XG5pbXBvcnQgeyBPdmVybGFwRnVuYywgQWxsb3dGdW5jIH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL3ZhbGlkYXRpb24nO1xuaW1wb3J0IHtcbiAgRXZlbnRTb3VyY2VJbnB1dCxcbiAgRXZlbnRJbnB1dFRyYW5zZm9ybWVyLFxuICBFdmVudFNvdXJjZUVycm9yUmVzcG9uc2VIYW5kbGVyLFxuICBFdmVudFNvdXJjZVN1Y2Nlc3NSZXNwb25zZUhhbmRsZXJcbn0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL3N0cnVjdHMvZXZlbnQtc291cmNlJztcbmltcG9ydCB7IElOUFVUX05BTUVTLCBJTlBVVF9JU19ERUVQLCBPVVRQVVRfTkFNRVMgfSBmcm9tICcuL2Z1bGxjYWxlbmRhci1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnVsbC1jYWxlbmRhcicsXG4gIHRlbXBsYXRlOiAnJ1xufSlcbmV4cG9ydCBjbGFzcyBGdWxsQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBEb0NoZWNrLCBPbkNoYW5nZXMsIEFmdGVyQ29udGVudENoZWNrZWQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgZGVlcENoYW5nZURldGVjdGlvbj86IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBjYWxlbmRhcjogQ2FsZW5kYXI7XG4gIHByaXZhdGUgZGlydHlQcm9wczogYW55ID0ge307XG4gIHByaXZhdGUgZGVlcENvcGllczogYW55ID0ge307IC8vIGhvbGRzIGZyb3plbiBzdGF0ZXNcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmNhbGVuZGFyID0gbmV3IENhbGVuZGFyKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCB0aGlzLmJ1aWxkT3B0aW9ucygpKTtcbiAgICB0aGlzLmNhbGVuZGFyLnJlbmRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZE9wdGlvbnMoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHt9O1xuXG4gICAgT1VUUFVUX05BTUVTLmZvckVhY2gob3V0cHV0TmFtZSA9PiB7XG4gICAgICBvcHRpb25zW291dHB1dE5hbWVdID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgdGhpc1tvdXRwdXROYW1lXS5lbWl0KC4uLmFyZ3MpO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8vIGRvIGFmdGVyIG91dHB1dHMsIHNvIHRoYXQgaW5wdXRzIHdpdGggc2FtZSBuYW1lIG92ZXJyaWRlXG4gICAgSU5QVVRfTkFNRVMuZm9yRWFjaChpbnB1dE5hbWUgPT4ge1xuICAgICAgbGV0IGlucHV0VmFsID0gdGhpc1tpbnB1dE5hbWVdO1xuXG4gICAgICBpZiAoaW5wdXRWYWwgIT09IHVuZGVmaW5lZCkgeyAvLyB1bmZvcnR1bmF0ZWx5IEZDIGNob2tlcyB3aGVuIHNvbWUgcHJvcHMgYXJlIHNldCB0byB1bmRlZmluZWRcblxuICAgICAgICBpZiAodGhpcy5kZWVwQ2hhbmdlRGV0ZWN0aW9uICYmIElOUFVUX0lTX0RFRVBbaW5wdXROYW1lXSkge1xuICAgICAgICAgIGlucHV0VmFsID0gZGVlcENvcHkoaW5wdXRWYWwpO1xuICAgICAgICAgIHRoaXMuZGVlcENvcGllc1tpbnB1dE5hbWVdID0gaW5wdXRWYWw7IC8vIHNpZGUgZWZmZWN0IVxuICAgICAgICB9XG5cbiAgICAgICAgb3B0aW9uc1tpbnB1dE5hbWVdID0gaW5wdXRWYWw7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIC8qXG4gIGNhbGxlZCBiZWZvcmUgbmdPbkNoYW5nZXMsIGFsbG93cyB1cyB0byBtYW51YWxseSBkZXRlY3QgaW5wdXQgY2hhbmdlcy5cbiAgY2FsbGVkIG11Y2ggbW9yZSBvZnRlbiB0aGFuIG5nT25DaGFuZ2VzLlxuICAqL1xuICBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMuY2FsZW5kYXIgJiYgdGhpcy5kZWVwQ2hhbmdlRGV0ZWN0aW9uKSB7IC8vIG5vdCB0aGUgaW5pdGlhbCByZW5kZXIgQU5EIHdlIGRvIGRlZXAtbXV0YXRpb24gY2hlY2tzXG4gICAgICBjb25zdCB7IGRlZXBDb3BpZXMgfSA9IHRoaXM7XG5cbiAgICAgIGZvciAoY29uc3QgaW5wdXROYW1lIGluIElOUFVUX0lTX0RFRVApIHtcbiAgICAgICAgaWYgKElOUFVUX0lTX0RFRVAuaGFzT3duUHJvcGVydHkoaW5wdXROYW1lKSkge1xuICAgICAgICAgIGNvbnN0IGlucHV0VmFsID0gdGhpc1tpbnB1dE5hbWVdO1xuXG4gICAgICAgICAgaWYgKGlucHV0VmFsICE9PSB1bmRlZmluZWQpIHsgLy8gdW5mb3J0dW5hdGVseSBGQyBjaG9rZXMgd2hlbiBzb21lIHByb3BzIGFyZSBzZXQgdG8gdW5kZWZpbmVkXG4gICAgICAgICAgICBpZiAoIWRlZXBFcXVhbChpbnB1dFZhbCwgZGVlcENvcGllc1tpbnB1dE5hbWVdKSkge1xuICAgICAgICAgICAgICBjb25zdCBjb3B5ID0gZGVlcENvcHkoaW5wdXRWYWwpO1xuICAgICAgICAgICAgICBkZWVwQ29waWVzW2lucHV0TmFtZV0gPSBjb3B5O1xuICAgICAgICAgICAgICB0aGlzLmRpcnR5UHJvcHNbaW5wdXROYW1lXSA9IGNvcHk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLypcbiAgY2FsbGVkIHdpdGggY29uZmlybWVkIGNoYW5nZXMgdG8gaW5wdXQgcmVmZXJlbmNlc1xuICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuY2FsZW5kYXIpIHsgLy8gbm90IHRoZSBpbml0aWFsIHJlbmRlclxuXG4gICAgICBmb3IgKGNvbnN0IGlucHV0TmFtZSBpbiBjaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmhhc093blByb3BlcnR5KGlucHV0TmFtZSkpIHtcbiAgICAgICAgICBpZiAodGhpcy5kZWVwQ29waWVzW2lucHV0TmFtZV0gPT09IHVuZGVmaW5lZCkgeyAvLyBub3QgYWxyZWFkeSBoYW5kbGVkIGluIG5nRG9DaGVja1xuICAgICAgICAgICAgdGhpcy5kaXJ0eVByb3BzW2lucHV0TmFtZV0gPSBjaGFuZ2VzW2lucHV0TmFtZV0uY3VycmVudFZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICBjb25zdCB7IGRpcnR5UHJvcHMgfSA9IHRoaXM7IC8vIGhvbGQgb24gdG8gcmVmZXJlbmNlIGJlZm9yZSBjbGVhcmluZ1xuXG4gICAgaWYgKE9iamVjdC5rZXlzKGRpcnR5UHJvcHMpLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZGlydHlQcm9wcyA9IHt9OyAvLyBjbGVhciBmaXJzdCwgaW4gY2FzZSB0aGUgcmVyZW5kZXIgY2F1c2VzIG5ldyBkaXJ0aW5lc3NcbiAgICAgIHRoaXMuY2FsZW5kYXIubXV0YXRlT3B0aW9ucyhkaXJ0eVByb3BzLCBbXSwgZmFsc2UsIGRlZXBFcXVhbCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5jYWxlbmRhci5kZXN0cm95KCk7XG4gICAgdGhpcy5jYWxlbmRhciA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0QXBpKCk6IENhbGVuZGFyIHtcbiAgICByZXR1cm4gdGhpcy5jYWxlbmRhcjtcbiAgfVxuXG4gIC8qXG4gIFRPRE86IHRoZSBmb2xsb3dpbmcgSW5wdXRzL091dHB1dHMgc2hvdWxkIGJlIGF1dG9tYXRpY2FsbHkgcmV3cml0dGVuIGZvciBlYWNoIHZlcnNpb24gYnVtcFxuICBvZiB0aGUgY29yZSBwcm9qZWN0LiBBIHNjcmlwdCB3aWxsIGJlIHdyaXR0ZW4gdG8gb3ZlcndyaXRlIHRoZSBhY3R1YWx5IHNvdXJjZSBjb2RlIGhlcmUuXG4gIEl0IGlzIHVzdWFsbHkgZ29vZCB0byBwdXQgYSBjbGFzcydzIHByb3BlcnR5IGRlY2xhcmF0aW9ucyBCRUZPUkUgdGhlIG1ldGhvZHMsIGJ1dCBpbiB0aGlzIGNhc2UsXG4gIHNpbmNlIHRoZSBwcm9wZXJ0aWVzIHdpbGwgYmUgcHJvZ3JhbW1hdGljYWxseSBnZW5lcmF0ZWQsIGJldHRlciB0byBwdXQgdGhlbSBhZnRlci5cbiAgKi9cblxuICBASW5wdXQoKSBoZWFkZXI/OiBib29sZWFuIHwgVG9vbGJhcklucHV0O1xuICBASW5wdXQoKSBmb290ZXI/OiBib29sZWFuIHwgVG9vbGJhcklucHV0O1xuICBASW5wdXQoKSBjdXN0b21CdXR0b25zPzogeyBbbmFtZTogc3RyaW5nXTogQ3VzdG9tQnV0dG9uSW5wdXQgfTtcbiAgQElucHV0KCkgYnV0dG9uSWNvbnM/OiBib29sZWFuIHwgQnV0dG9uSWNvbnNJbnB1dDtcbiAgQElucHV0KCkgdGhlbWVTeXN0ZW0/OiAnc3RhbmRhcmQnIHwgc3RyaW5nO1xuICBASW5wdXQoKSBib290c3RyYXBGb250QXdlc29tZT86IGJvb2xlYW4gfCBCdXR0b25JY29uc0lucHV0O1xuICBASW5wdXQoKSBmaXJzdERheT86IG51bWJlcjtcbiAgQElucHV0KCkgZGlyPzogJ2x0cicgfCAncnRsJyB8ICdhdXRvJztcbiAgQElucHV0KCkgd2Vla2VuZHM/OiBib29sZWFuO1xuICBASW5wdXQoKSBoaWRkZW5EYXlzPzogbnVtYmVyW107XG4gIEBJbnB1dCgpIGZpeGVkV2Vla0NvdW50PzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlcnM/OiBib29sZWFuO1xuICBASW5wdXQoKSB3ZWVrTnVtYmVyc1dpdGhpbkRheXM/OiBib29sZWFuO1xuICBASW5wdXQoKSB3ZWVrTnVtYmVyQ2FsY3VsYXRpb24/OiAnbG9jYWwnIHwgJ0lTTycgfCAoKG06IERhdGUpID0+IG51bWJlcik7XG4gIEBJbnB1dCgpIGJ1c2luZXNzSG91cnM/OiBCdXNpbmVzc0hvdXJzSW5wdXQ7XG4gIEBJbnB1dCgpIHNob3dOb25DdXJyZW50RGF0ZXM/OiBib29sZWFuO1xuICBASW5wdXQoKSBoZWlnaHQ/OiBudW1iZXIgfCAnYXV0bycgfCAncGFyZW50JyB8ICgoKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBjb250ZW50SGVpZ2h0PzogbnVtYmVyIHwgJ2F1dG8nIHwgKCgpID0+IG51bWJlcik7XG4gIEBJbnB1dCgpIGFzcGVjdFJhdGlvPzogbnVtYmVyO1xuICBASW5wdXQoKSBoYW5kbGVXaW5kb3dSZXNpemU/OiBib29sZWFuO1xuICBASW5wdXQoKSB3aW5kb3dSZXNpemVEZWxheT86IG51bWJlcjtcbiAgQElucHV0KCkgZXZlbnRMaW1pdD86IGJvb2xlYW4gfCBudW1iZXI7XG4gIEBJbnB1dCgpIGV2ZW50TGltaXRDbGljaz86ICdwb3BvdmVyJyB8ICd3ZWVrJyB8ICdkYXknIHwgc3RyaW5nIHwgKChjZWxsaW5mbzogQ2VsbEluZm8sIGpzZXZlbnQ6IEV2ZW50KSA9PiB2b2lkKTtcbiAgQElucHV0KCkgdGltZVpvbmU/OiBzdHJpbmcgfCBib29sZWFuO1xuICBASW5wdXQoKSBub3c/OiBEYXRlSW5wdXQgfCAoKCkgPT4gRGF0ZUlucHV0KTtcbiAgQElucHV0KCkgZGVmYXVsdFZpZXc/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGFsbERheVNsb3Q/OiBib29sZWFuO1xuICBASW5wdXQoKSBhbGxEYXlUZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSBzbG90RHVyYXRpb24/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBzbG90TGFiZWxGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dDtcbiAgQElucHV0KCkgc2xvdExhYmVsSW50ZXJ2YWw/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBzbmFwRHVyYXRpb24/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBzY3JvbGxUaW1lPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgbWluVGltZT86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIG1heFRpbWU/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBzbG90RXZlbnRPdmVybGFwPzogYm9vbGVhbjtcbiAgQElucHV0KCkgbGlzdERheUZvcm1hdD86IEZvcm1hdHRlcklucHV0IHwgYm9vbGVhbjtcbiAgQElucHV0KCkgbGlzdERheUFsdEZvcm1hdD86IEZvcm1hdHRlcklucHV0IHwgYm9vbGVhbjtcbiAgQElucHV0KCkgbm9FdmVudHNNZXNzYWdlPzogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0RGF0ZT86IERhdGVJbnB1dDtcbiAgQElucHV0KCkgbm93SW5kaWNhdG9yPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdmlzaWJsZVJhbmdlPzogKChjdXJyZW50RGF0ZTogRGF0ZSkgPT4gRGF0ZVJhbmdlSW5wdXQpIHwgRGF0ZVJhbmdlSW5wdXQ7XG4gIEBJbnB1dCgpIHZhbGlkUmFuZ2U/OiBEYXRlUmFuZ2VJbnB1dDtcbiAgQElucHV0KCkgZGF0ZUluY3JlbWVudD86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGRhdGVBbGlnbm1lbnQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGR1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgZGF5Q291bnQ/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGxvY2FsZXM/OiBSYXdMb2NhbGVbXTtcbiAgQElucHV0KCkgbG9jYWxlPzogTG9jYWxlU2luZ3VsYXJBcmc7XG4gIEBJbnB1dCgpIGV2ZW50VGltZUZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSBjb2x1bW5IZWFkZXI/OiBib29sZWFuO1xuICBASW5wdXQoKSBjb2x1bW5IZWFkZXJGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dDtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyVGV4dD86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZUlucHV0KSA9PiBzdHJpbmcpO1xuICBASW5wdXQoKSBjb2x1bW5IZWFkZXJIdG1sPzogc3RyaW5nIHwgKChkYXRlOiBEYXRlSW5wdXQpID0+IHN0cmluZyk7XG4gIEBJbnB1dCgpIHRpdGxlRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIHdlZWtMYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgZGlzcGxheUV2ZW50VGltZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRpc3BsYXlFdmVudEVuZD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50TGltaXRUZXh0Pzogc3RyaW5nIHwgKChldmVudENudDogbnVtYmVyKSA9PiBzdHJpbmcpO1xuICBASW5wdXQoKSBkYXlQb3BvdmVyRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIG5hdkxpbmtzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgbmF2TGlua0RheUNsaWNrPzogc3RyaW5nIHwgKChkYXRlOiBEYXRlLCBqc0V2ZW50OiBFdmVudCkgPT4gdm9pZCk7XG4gIEBJbnB1dCgpIG5hdkxpbmtXZWVrQ2xpY2s/OiBzdHJpbmcgfCAoKHdlZWtTdGFydDogYW55LCBqc0V2ZW50OiBFdmVudCkgPT4gdm9pZCk7XG4gIEBJbnB1dCgpIHNlbGVjdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBzZWxlY3RNaXJyb3I/OiBib29sZWFuO1xuICBASW5wdXQoKSB1bnNlbGVjdEF1dG8/OiBib29sZWFuO1xuICBASW5wdXQoKSB1bnNlbGVjdENhbmNlbD86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdEFsbERheUV2ZW50RHVyYXRpb24/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBkZWZhdWx0VGltZWRFdmVudER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgY21kRm9ybWF0dGVyPzogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0UmFuZ2VTZXBhcmF0b3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbGVjdENvbnN0cmFpbnQ/OiBDb25zdHJhaW50SW5wdXQ7XG4gIEBJbnB1dCgpIHNlbGVjdE92ZXJsYXA/OiBib29sZWFuIHwgT3ZlcmxhcEZ1bmM7XG4gIEBJbnB1dCgpIHNlbGVjdEFsbG93PzogQWxsb3dGdW5jO1xuICBASW5wdXQoKSBzZWxlY3RNaW5EaXN0YW5jZT86IG51bWJlcjtcbiAgQElucHV0KCkgZWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudFN0YXJ0RWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudER1cmF0aW9uRWRpdGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudENvbnN0cmFpbnQ/OiBDb25zdHJhaW50SW5wdXQ7XG4gIEBJbnB1dCgpIGV2ZW50T3ZlcmxhcD86IGJvb2xlYW4gfCBPdmVybGFwRnVuYztcbiAgQElucHV0KCkgZXZlbnRBbGxvdz86IEFsbG93RnVuYztcbiAgQElucHV0KCkgZXZlbnRDbGFzc05hbWU/OiBzdHJpbmdbXSB8IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRDbGFzc05hbWVzPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50QmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudEJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudFRleHRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRzPzogRXZlbnRTb3VyY2VJbnB1dDtcbiAgQElucHV0KCkgZXZlbnRTb3VyY2VzPzogRXZlbnRTb3VyY2VJbnB1dFtdO1xuICBASW5wdXQoKSBhbGxEYXlEZWZhdWx0PzogYm9vbGVhbjtcbiAgQElucHV0KCkgc3RhcnRQYXJhbT86IHN0cmluZztcbiAgQElucHV0KCkgZW5kUGFyYW0/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhenlGZXRjaGluZz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5leHREYXlUaHJlc2hvbGQ/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBldmVudE9yZGVyPzogc3RyaW5nIHwgQXJyYXk8KChhOiBFdmVudEFwaSwgYjogRXZlbnRBcGkpID0+IG51bWJlcikgfCAoc3RyaW5nIHwgKChhOiBFdmVudEFwaSwgYjogRXZlbnRBcGkpID0+IG51bWJlcikpPjtcbiAgQElucHV0KCkgcmVyZW5kZXJEZWxheT86IG51bWJlciB8IG51bGw7XG4gIEBJbnB1dCgpIGRyYWdSZXZlcnREdXJhdGlvbj86IG51bWJlcjtcbiAgQElucHV0KCkgZHJhZ1Njcm9sbD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxvbmdQcmVzc0RlbGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSBldmVudExvbmdQcmVzc0RlbGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSBkcm9wcGFibGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBkcm9wQWNjZXB0Pzogc3RyaW5nIHwgKChkcmFnZ2FibGU6IGFueSkgPT4gYm9vbGVhbik7XG4gIEBJbnB1dCgpIGV2ZW50RGF0YVRyYW5zZm9ybT86IEV2ZW50SW5wdXRUcmFuc2Zvcm1lcjtcbiAgQElucHV0KCkgYWxsRGF5TWFpbnRhaW5EdXJhdGlvbj86IEJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50UmVzaXphYmxlRnJvbVN0YXJ0PzogQm9vbGVhbjtcbiAgQElucHV0KCkgdGltZUdyaWRFdmVudE1pbkhlaWdodD86IG51bWJlcjtcbiAgQElucHV0KCkgYWxsRGF5SHRtbD86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnREcmFnTWluRGlzdGFuY2U/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGV2ZW50U291cmNlRmFpbHVyZT86IEV2ZW50U291cmNlRXJyb3JSZXNwb25zZUhhbmRsZXI7XG4gIEBJbnB1dCgpIGV2ZW50U291cmNlU3VjY2Vzcz86IEV2ZW50U291cmNlU3VjY2Vzc1Jlc3BvbnNlSGFuZGxlcjtcbiAgQElucHV0KCkgZm9yY2VFdmVudER1cmF0aW9uPzogYm9vbGVhbjtcbiAgQElucHV0KCkgcHJvZ3Jlc3NpdmVFdmVudFJlbmRlcmluZz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNlbGVjdExvbmdQcmVzc0RlbGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSB0aW1lWm9uZVBhcmFtPzogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZVJhbmdlU2VwYXJhdG9yPzogc3RyaW5nO1xuICAvLyBjb21wb3VuZCBPcHRpb25zSW5wdXQuLi5cbiAgQElucHV0KCkgYnV0dG9uVGV4dD86IEJ1dHRvblRleHRDb21wb3VuZElucHV0O1xuICBASW5wdXQoKSB2aWV3cz86IHsgW3ZpZXdJZDogc3RyaW5nXTogVmlld09wdGlvbnNJbnB1dCB9O1xuICBASW5wdXQoKSBwbHVnaW5zPzogKFBsdWdpbkRlZiB8IHN0cmluZylbXTtcbiAgLy8gc2NoZWR1bGVyLi4uXG4gIEBJbnB1dCgpIHNjaGVkdWxlckxpY2Vuc2VLZXk/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlc291cmNlcz86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VMYWJlbFRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlc291cmNlT3JkZXI/OiBhbnk7XG4gIEBJbnB1dCgpIGZpbHRlclJlc291cmNlc1dpdGhFdmVudHM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlVGV4dD86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VHcm91cEZpZWxkPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZUdyb3VwVGV4dD86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VBcmVhV2lkdGg/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlQ29sdW1ucz86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VzSW5pdGlhbGx5RXhwYW5kZWQ/OiBhbnk7XG4gIEBJbnB1dCgpIHNsb3RXaWR0aD86IGFueTtcbiAgQElucHV0KCkgZGF0ZXNBYm92ZVJlc291cmNlcz86IGFueTtcbiAgQElucHV0KCkgZ29vZ2xlQ2FsZW5kYXJBcGlLZXk/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJlZmV0Y2hSZXNvdXJjZXNPbk5hdmlnYXRlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnRSZXNvdXJjZUVkaXRhYmxlPzogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgd2luZG93UmVzaXplID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkYXRlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TW91c2VFbnRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRNb3VzZUxlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHVuc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBsb2FkaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFBvc2l0aW9uZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50RHJhZ1N0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudERyYWdTdG9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudERyb3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVzaXplU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVzaXplU3RvcCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRSZXNpemUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRyb3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVjZWl2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRMZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgX2Rlc3Ryb3llZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAvLyBUT0RPOiBtYWtlIHRoZXNlIGlucHV0cy4uLlxuICBAT3V0cHV0KCkgdmlld1NrZWxldG9uUmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB2aWV3U2tlbGV0b25EZXN0cm95ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkYXRlc1JlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZXNEZXN0cm95ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkYXlSZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudERlc3Ryb3kgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHJlc291cmNlUmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmdWxsY2FsZW5kYXIvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9mdWxsY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLFNBQVMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ25DLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQU9iLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQTRELE1BQU0sb0JBQW9CLENBQUM7QUFvQnhHLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBTWxGLE1BQU0sT0FBTyxxQkFBcUI7Ozs7O0lBUWhDLFlBQW9CLE9BQW1CO1FBQW5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFIL0IsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUNyQixlQUFVLEdBQVEsRUFBRSxDQUFDLENBQUMsc0JBQXNCO1FBK08xQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdkMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDckMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNuQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNsQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsbUJBQWMs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LHNDQUF3RDs7SUFDeEQsd0NBQTBDOztJQUUxQyxvREFBc0M7O0lBQ3RDLDBDQUF5Qjs7SUFDekIsa0RBQW9DOztJQUNwQyw4Q0FBNkI7O0lBQzdCLDBEQUF5Qzs7SUFDekMsNkNBQTRCOztJQUM1QixtREFBa0M7O0lBQ2xDLGtEQUFpQzs7SUFDakMsa0RBQWlDOztJQUNqQyxnREFBK0I7O0lBQy9CLDJEQUEwQzs7SUFDMUMsMENBQXlCOztJQUN6QixvREFBbUM7O0lBQ25DLHFEQUF1Qzs7SUFDdkMsMkRBQThDOztJQUM5QyxzREFBeUM7O0lBRXpDLDZDQUFpRDs7SUFDakQsMENBQThDOztJQUM5QywyQ0FBK0M7O0lBQy9DLGdEQUFvRDs7SUFDcEQsZ0RBQW9EOztJQUNwRCx1Q0FBMkM7O0lBQzNDLHlDQUE2Qzs7SUFDN0Msd0NBQTRDOztJQUM1QyxnREFBb0Q7O0lBQ3BELCtDQUFtRDs7SUFDbkQsOENBQWtEOztJQUNsRCwwQ0FBOEM7O0lBQzlDLGlEQUFxRDs7SUFDckQsZ0RBQW9EOztJQUNwRCw0Q0FBZ0Q7O0lBQ2hELHFDQUF5Qzs7SUFDekMsNkNBQWlEOztJQUNqRCwyQ0FBK0M7O0lBQy9DLDJDQUErQzs7SUFFL0MsbURBQXVEOztJQUN2RCxvREFBd0Q7O0lBQ3hELDRDQUFnRDs7SUFDaEQsNkNBQWlEOztJQUNqRCwwQ0FBOEM7O0lBQzlDLDRDQUFnRDs7SUFDaEQsNkNBQWlEOztJQUNqRCwrQ0FBbUQ7Ozs7O0lBeFF2Qyx3Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGVlcEVxdWFsIGZyb20gJ2Zhc3QtZGVlcC1lcXVhbCc7XG5pbXBvcnQgeyBkZWVwQ29weSB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIEFmdGVyVmlld0luaXQsXG4gIERvQ2hlY2ssXG4gIE9uQ2hhbmdlcyxcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXIsIEJ1c2luZXNzSG91cnNJbnB1dCwgQ29uc3RyYWludElucHV0LCBFdmVudEFwaSwgUGx1Z2luRGVmIH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlJztcbmltcG9ydCB7XG4gIFRvb2xiYXJJbnB1dCxcbiAgQ3VzdG9tQnV0dG9uSW5wdXQsXG4gIEJ1dHRvbkljb25zSW5wdXQsIENlbGxJbmZvLFxuICBCdXR0b25UZXh0Q29tcG91bmRJbnB1dCxcbiAgVmlld09wdGlvbnNJbnB1dFxufSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvdHlwZXMvaW5wdXQtdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZUlucHV0IH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL2RhdGVsaWIvZW52JztcbmltcG9ydCB7IER1cmF0aW9uSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9kdXJhdGlvbic7XG5pbXBvcnQgeyBGb3JtYXR0ZXJJbnB1dCB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2Zvcm1hdHRpbmcnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9kYXRlLXJhbmdlJztcbmltcG9ydCB7IFJhd0xvY2FsZSwgTG9jYWxlU2luZ3VsYXJBcmcgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9sb2NhbGUnO1xuaW1wb3J0IHsgT3ZlcmxhcEZ1bmMsIEFsbG93RnVuYyB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS92YWxpZGF0aW9uJztcbmltcG9ydCB7XG4gIEV2ZW50U291cmNlSW5wdXQsXG4gIEV2ZW50SW5wdXRUcmFuc2Zvcm1lcixcbiAgRXZlbnRTb3VyY2VFcnJvclJlc3BvbnNlSGFuZGxlcixcbiAgRXZlbnRTb3VyY2VTdWNjZXNzUmVzcG9uc2VIYW5kbGVyXG59IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9zdHJ1Y3RzL2V2ZW50LXNvdXJjZSc7XG5pbXBvcnQgeyBJTlBVVF9OQU1FUywgSU5QVVRfSVNfREVFUCwgT1VUUFVUX05BTUVTIH0gZnJvbSAnLi9mdWxsY2FsZW5kYXItb3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z1bGwtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgRnVsbENhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjaywgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGRlZXBDaGFuZ2VEZXRlY3Rpb24/OiBib29sZWFuO1xuXG4gIHByaXZhdGUgY2FsZW5kYXI6IENhbGVuZGFyO1xuICBwcml2YXRlIGRpcnR5UHJvcHM6IGFueSA9IHt9O1xuICBwcml2YXRlIGRlZXBDb3BpZXM6IGFueSA9IHt9OyAvLyBob2xkcyBmcm96ZW4gc3RhdGVzXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jYWxlbmRhciA9IG5ldyBDYWxlbmRhcih0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5idWlsZE9wdGlvbnMoKSk7XG4gICAgdGhpcy5jYWxlbmRhci5yZW5kZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRPcHRpb25zKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7fTtcblxuICAgIE9VVFBVVF9OQU1FUy5mb3JFYWNoKG91dHB1dE5hbWUgPT4ge1xuICAgICAgb3B0aW9uc1tvdXRwdXROYW1lXSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHRoaXNbb3V0cHV0TmFtZV0uZW1pdCguLi5hcmdzKTtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICAvLyBkbyBhZnRlciBvdXRwdXRzLCBzbyB0aGF0IGlucHV0cyB3aXRoIHNhbWUgbmFtZSBvdmVycmlkZVxuICAgIElOUFVUX05BTUVTLmZvckVhY2goaW5wdXROYW1lID0+IHtcbiAgICAgIGxldCBpbnB1dFZhbCA9IHRoaXNbaW5wdXROYW1lXTtcblxuICAgICAgaWYgKGlucHV0VmFsICE9PSB1bmRlZmluZWQpIHsgLy8gdW5mb3J0dW5hdGVseSBGQyBjaG9rZXMgd2hlbiBzb21lIHByb3BzIGFyZSBzZXQgdG8gdW5kZWZpbmVkXG5cbiAgICAgICAgaWYgKHRoaXMuZGVlcENoYW5nZURldGVjdGlvbiAmJiBJTlBVVF9JU19ERUVQW2lucHV0TmFtZV0pIHtcbiAgICAgICAgICBpbnB1dFZhbCA9IGRlZXBDb3B5KGlucHV0VmFsKTtcbiAgICAgICAgICB0aGlzLmRlZXBDb3BpZXNbaW5wdXROYW1lXSA9IGlucHV0VmFsOyAvLyBzaWRlIGVmZmVjdCFcbiAgICAgICAgfVxuXG4gICAgICAgIG9wdGlvbnNbaW5wdXROYW1lXSA9IGlucHV0VmFsO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICAvKlxuICBjYWxsZWQgYmVmb3JlIG5nT25DaGFuZ2VzLCBhbGxvd3MgdXMgdG8gbWFudWFsbHkgZGV0ZWN0IGlucHV0IGNoYW5nZXMuXG4gIGNhbGxlZCBtdWNoIG1vcmUgb2Z0ZW4gdGhhbiBuZ09uQ2hhbmdlcy5cbiAgKi9cbiAgbmdEb0NoZWNrKCkge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyICYmIHRoaXMuZGVlcENoYW5nZURldGVjdGlvbikgeyAvLyBub3QgdGhlIGluaXRpYWwgcmVuZGVyIEFORCB3ZSBkbyBkZWVwLW11dGF0aW9uIGNoZWNrc1xuICAgICAgY29uc3QgeyBkZWVwQ29waWVzIH0gPSB0aGlzO1xuXG4gICAgICBmb3IgKGNvbnN0IGlucHV0TmFtZSBpbiBJTlBVVF9JU19ERUVQKSB7XG4gICAgICAgIGlmIChJTlBVVF9JU19ERUVQLmhhc093blByb3BlcnR5KGlucHV0TmFtZSkpIHtcbiAgICAgICAgICBjb25zdCBpbnB1dFZhbCA9IHRoaXNbaW5wdXROYW1lXTtcblxuICAgICAgICAgIGlmIChpbnB1dFZhbCAhPT0gdW5kZWZpbmVkKSB7IC8vIHVuZm9ydHVuYXRlbHkgRkMgY2hva2VzIHdoZW4gc29tZSBwcm9wcyBhcmUgc2V0IHRvIHVuZGVmaW5lZFxuICAgICAgICAgICAgaWYgKCFkZWVwRXF1YWwoaW5wdXRWYWwsIGRlZXBDb3BpZXNbaW5wdXROYW1lXSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgY29weSA9IGRlZXBDb3B5KGlucHV0VmFsKTtcbiAgICAgICAgICAgICAgZGVlcENvcGllc1tpbnB1dE5hbWVdID0gY29weTtcbiAgICAgICAgICAgICAgdGhpcy5kaXJ0eVByb3BzW2lucHV0TmFtZV0gPSBjb3B5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qXG4gIGNhbGxlZCB3aXRoIGNvbmZpcm1lZCBjaGFuZ2VzIHRvIGlucHV0IHJlZmVyZW5jZXNcbiAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyKSB7IC8vIG5vdCB0aGUgaW5pdGlhbCByZW5kZXJcblxuICAgICAgZm9yIChjb25zdCBpbnB1dE5hbWUgaW4gY2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShpbnB1dE5hbWUpKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZGVlcENvcGllc1tpbnB1dE5hbWVdID09PSB1bmRlZmluZWQpIHsgLy8gbm90IGFscmVhZHkgaGFuZGxlZCBpbiBuZ0RvQ2hlY2tcbiAgICAgICAgICAgIHRoaXMuZGlydHlQcm9wc1tpbnB1dE5hbWVdID0gY2hhbmdlc1tpbnB1dE5hbWVdLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgY29uc3QgeyBkaXJ0eVByb3BzIH0gPSB0aGlzOyAvLyBob2xkIG9uIHRvIHJlZmVyZW5jZSBiZWZvcmUgY2xlYXJpbmdcblxuICAgIGlmIChPYmplY3Qua2V5cyhkaXJ0eVByb3BzKS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmRpcnR5UHJvcHMgPSB7fTsgLy8gY2xlYXIgZmlyc3QsIGluIGNhc2UgdGhlIHJlcmVuZGVyIGNhdXNlcyBuZXcgZGlydGluZXNzXG4gICAgICB0aGlzLmNhbGVuZGFyLm11dGF0ZU9wdGlvbnMoZGlydHlQcm9wcywgW10sIGZhbHNlLCBkZWVwRXF1YWwpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY2FsZW5kYXIuZGVzdHJveSgpO1xuICAgIHRoaXMuY2FsZW5kYXIgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldEFwaSgpOiBDYWxlbmRhciB7XG4gICAgcmV0dXJuIHRoaXMuY2FsZW5kYXI7XG4gIH1cblxuICAvKlxuICBUT0RPOiB0aGUgZm9sbG93aW5nIElucHV0cy9PdXRwdXRzIHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IHJld3JpdHRlbiBmb3IgZWFjaCB2ZXJzaW9uIGJ1bXBcbiAgb2YgdGhlIGNvcmUgcHJvamVjdC4gQSBzY3JpcHQgd2lsbCBiZSB3cml0dGVuIHRvIG92ZXJ3cml0ZSB0aGUgYWN0dWFseSBzb3VyY2UgY29kZSBoZXJlLlxuICBJdCBpcyB1c3VhbGx5IGdvb2QgdG8gcHV0IGEgY2xhc3MncyBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMgQkVGT1JFIHRoZSBtZXRob2RzLCBidXQgaW4gdGhpcyBjYXNlLFxuICBzaW5jZSB0aGUgcHJvcGVydGllcyB3aWxsIGJlIHByb2dyYW1tYXRpY2FsbHkgZ2VuZXJhdGVkLCBiZXR0ZXIgdG8gcHV0IHRoZW0gYWZ0ZXIuXG4gICovXG5cbiAgQElucHV0KCkgaGVhZGVyPzogYm9vbGVhbiB8IFRvb2xiYXJJbnB1dDtcbiAgQElucHV0KCkgZm9vdGVyPzogYm9vbGVhbiB8IFRvb2xiYXJJbnB1dDtcbiAgQElucHV0KCkgY3VzdG9tQnV0dG9ucz86IHsgW25hbWU6IHN0cmluZ106IEN1c3RvbUJ1dHRvbklucHV0IH07XG4gIEBJbnB1dCgpIGJ1dHRvbkljb25zPzogYm9vbGVhbiB8IEJ1dHRvbkljb25zSW5wdXQ7XG4gIEBJbnB1dCgpIHRoZW1lU3lzdGVtPzogJ3N0YW5kYXJkJyB8IHN0cmluZztcbiAgQElucHV0KCkgYm9vdHN0cmFwRm9udEF3ZXNvbWU/OiBib29sZWFuIHwgQnV0dG9uSWNvbnNJbnB1dDtcbiAgQElucHV0KCkgZmlyc3REYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGRpcj86ICdsdHInIHwgJ3J0bCcgfCAnYXV0byc7XG4gIEBJbnB1dCgpIHdlZWtlbmRzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZGVuRGF5cz86IG51bWJlcltdO1xuICBASW5wdXQoKSBmaXhlZFdlZWtDb3VudD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdlZWtOdW1iZXJzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlcnNXaXRoaW5EYXlzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlckNhbGN1bGF0aW9uPzogJ2xvY2FsJyB8ICdJU08nIHwgKChtOiBEYXRlKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBidXNpbmVzc0hvdXJzPzogQnVzaW5lc3NIb3Vyc0lucHV0O1xuICBASW5wdXQoKSBzaG93Tm9uQ3VycmVudERhdGVzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyIHwgJ2F1dG8nIHwgJ3BhcmVudCcgfCAoKCkgPT4gbnVtYmVyKTtcbiAgQElucHV0KCkgY29udGVudEhlaWdodD86IG51bWJlciB8ICdhdXRvJyB8ICgoKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBhc3BlY3RSYXRpbz86IG51bWJlcjtcbiAgQElucHV0KCkgaGFuZGxlV2luZG93UmVzaXplPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2luZG93UmVzaXplRGVsYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGV2ZW50TGltaXQ/OiBib29sZWFuIHwgbnVtYmVyO1xuICBASW5wdXQoKSBldmVudExpbWl0Q2xpY2s/OiAncG9wb3ZlcicgfCAnd2VlaycgfCAnZGF5JyB8IHN0cmluZyB8ICgoY2VsbGluZm86IENlbGxJbmZvLCBqc2V2ZW50OiBFdmVudCkgPT4gdm9pZCk7XG4gIEBJbnB1dCgpIHRpbWVab25lPzogc3RyaW5nIHwgYm9vbGVhbjtcbiAgQElucHV0KCkgbm93PzogRGF0ZUlucHV0IHwgKCgpID0+IERhdGVJbnB1dCk7XG4gIEBJbnB1dCgpIGRlZmF1bHRWaWV3Pzogc3RyaW5nO1xuICBASW5wdXQoKSBhbGxEYXlTbG90PzogYm9vbGVhbjtcbiAgQElucHV0KCkgYWxsRGF5VGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgc2xvdER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2xvdExhYmVsRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIHNsb3RMYWJlbEludGVydmFsPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc25hcER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2Nyb2xsVGltZT86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIG1pblRpbWU/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBtYXhUaW1lPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2xvdEV2ZW50T3ZlcmxhcD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpc3REYXlGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dCB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpc3REYXlBbHRGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dCB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5vRXZlbnRzTWVzc2FnZT86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdERhdGU/OiBEYXRlSW5wdXQ7XG4gIEBJbnB1dCgpIG5vd0luZGljYXRvcj86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHZpc2libGVSYW5nZT86ICgoY3VycmVudERhdGU6IERhdGUpID0+IERhdGVSYW5nZUlucHV0KSB8IERhdGVSYW5nZUlucHV0O1xuICBASW5wdXQoKSB2YWxpZFJhbmdlPzogRGF0ZVJhbmdlSW5wdXQ7XG4gIEBJbnB1dCgpIGRhdGVJbmNyZW1lbnQ/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBkYXRlQWxpZ25tZW50Pzogc3RyaW5nO1xuICBASW5wdXQoKSBkdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGRheUNvdW50PzogbnVtYmVyO1xuICBASW5wdXQoKSBsb2NhbGVzPzogUmF3TG9jYWxlW107XG4gIEBJbnB1dCgpIGxvY2FsZT86IExvY2FsZVNpbmd1bGFyQXJnO1xuICBASW5wdXQoKSBldmVudFRpbWVGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dDtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIGNvbHVtbkhlYWRlclRleHQ/OiBzdHJpbmcgfCAoKGRhdGU6IERhdGVJbnB1dCkgPT4gc3RyaW5nKTtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVySHRtbD86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZUlucHV0KSA9PiBzdHJpbmcpO1xuICBASW5wdXQoKSB0aXRsZUZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSB3ZWVrTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc3BsYXlFdmVudFRpbWU/OiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNwbGF5RXZlbnRFbmQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudExpbWl0VGV4dD86IHN0cmluZyB8ICgoZXZlbnRDbnQ6IG51bWJlcikgPT4gc3RyaW5nKTtcbiAgQElucHV0KCkgZGF5UG9wb3ZlckZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSBuYXZMaW5rcz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5hdkxpbmtEYXlDbGljaz86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZSwganNFdmVudDogRXZlbnQpID0+IHZvaWQpO1xuICBASW5wdXQoKSBuYXZMaW5rV2Vla0NsaWNrPzogc3RyaW5nIHwgKCh3ZWVrU3RhcnQ6IGFueSwganNFdmVudDogRXZlbnQpID0+IHZvaWQpO1xuICBASW5wdXQoKSBzZWxlY3RhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0TWlycm9yPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdW5zZWxlY3RBdXRvPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdW5zZWxlY3RDYW5jZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgZGVmYXVsdFRpbWVkRXZlbnREdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGNtZEZvcm1hdHRlcj86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFJhbmdlU2VwYXJhdG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RDb25zdHJhaW50PzogQ29uc3RyYWludElucHV0O1xuICBASW5wdXQoKSBzZWxlY3RPdmVybGFwPzogYm9vbGVhbiB8IE92ZXJsYXBGdW5jO1xuICBASW5wdXQoKSBzZWxlY3RBbGxvdz86IEFsbG93RnVuYztcbiAgQElucHV0KCkgc2VsZWN0TWluRGlzdGFuY2U/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnRTdGFydEVkaXRhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnREdXJhdGlvbkVkaXRhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnRDb25zdHJhaW50PzogQ29uc3RyYWludElucHV0O1xuICBASW5wdXQoKSBldmVudE92ZXJsYXA/OiBib29sZWFuIHwgT3ZlcmxhcEZ1bmM7XG4gIEBJbnB1dCgpIGV2ZW50QWxsb3c/OiBBbGxvd0Z1bmM7XG4gIEBJbnB1dCgpIGV2ZW50Q2xhc3NOYW1lPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50Q2xhc3NOYW1lcz86IHN0cmluZ1tdIHwgc3RyaW5nO1xuICBASW5wdXQoKSBldmVudEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRCb3JkZXJDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50cz86IEV2ZW50U291cmNlSW5wdXQ7XG4gIEBJbnB1dCgpIGV2ZW50U291cmNlcz86IEV2ZW50U291cmNlSW5wdXRbXTtcbiAgQElucHV0KCkgYWxsRGF5RGVmYXVsdD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN0YXJ0UGFyYW0/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVuZFBhcmFtPzogc3RyaW5nO1xuICBASW5wdXQoKSBsYXp5RmV0Y2hpbmc/OiBib29sZWFuO1xuICBASW5wdXQoKSBuZXh0RGF5VGhyZXNob2xkPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgZXZlbnRPcmRlcj86IHN0cmluZyB8IEFycmF5PCgoYTogRXZlbnRBcGksIGI6IEV2ZW50QXBpKSA9PiBudW1iZXIpIHwgKHN0cmluZyB8ICgoYTogRXZlbnRBcGksIGI6IEV2ZW50QXBpKSA9PiBudW1iZXIpKT47XG4gIEBJbnB1dCgpIHJlcmVuZGVyRGVsYXk/OiBudW1iZXIgfCBudWxsO1xuICBASW5wdXQoKSBkcmFnUmV2ZXJ0RHVyYXRpb24/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGRyYWdTY3JvbGw/OiBib29sZWFuO1xuICBASW5wdXQoKSBsb25nUHJlc3NEZWxheT86IG51bWJlcjtcbiAgQElucHV0KCkgZXZlbnRMb25nUHJlc3NEZWxheT86IG51bWJlcjtcbiAgQElucHV0KCkgZHJvcHBhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZHJvcEFjY2VwdD86IHN0cmluZyB8ICgoZHJhZ2dhYmxlOiBhbnkpID0+IGJvb2xlYW4pO1xuICBASW5wdXQoKSBldmVudERhdGFUcmFuc2Zvcm0/OiBFdmVudElucHV0VHJhbnNmb3JtZXI7XG4gIEBJbnB1dCgpIGFsbERheU1haW50YWluRHVyYXRpb24/OiBCb29sZWFuO1xuICBASW5wdXQoKSBldmVudFJlc2l6YWJsZUZyb21TdGFydD86IEJvb2xlYW47XG4gIEBJbnB1dCgpIHRpbWVHcmlkRXZlbnRNaW5IZWlnaHQ/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGFsbERheUh0bWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50RHJhZ01pbkRpc3RhbmNlPzogbnVtYmVyO1xuICBASW5wdXQoKSBldmVudFNvdXJjZUZhaWx1cmU/OiBFdmVudFNvdXJjZUVycm9yUmVzcG9uc2VIYW5kbGVyO1xuICBASW5wdXQoKSBldmVudFNvdXJjZVN1Y2Nlc3M/OiBFdmVudFNvdXJjZVN1Y2Nlc3NSZXNwb25zZUhhbmRsZXI7XG4gIEBJbnB1dCgpIGZvcmNlRXZlbnREdXJhdGlvbj86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHByb2dyZXNzaXZlRXZlbnRSZW5kZXJpbmc/OiBib29sZWFuO1xuICBASW5wdXQoKSBzZWxlY3RMb25nUHJlc3NEZWxheT86IG51bWJlcjtcbiAgQElucHV0KCkgdGltZVpvbmVQYXJhbT86IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGVSYW5nZVNlcGFyYXRvcj86IHN0cmluZztcbiAgLy8gY29tcG91bmQgT3B0aW9uc0lucHV0Li4uXG4gIEBJbnB1dCgpIGJ1dHRvblRleHQ/OiBCdXR0b25UZXh0Q29tcG91bmRJbnB1dDtcbiAgQElucHV0KCkgdmlld3M/OiB7IFt2aWV3SWQ6IHN0cmluZ106IFZpZXdPcHRpb25zSW5wdXQgfTtcbiAgQElucHV0KCkgcGx1Z2lucz86IChQbHVnaW5EZWYgfCBzdHJpbmcpW107XG4gIC8vIHNjaGVkdWxlci4uLlxuICBASW5wdXQoKSBzY2hlZHVsZXJMaWNlbnNlS2V5Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZXNvdXJjZXM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlTGFiZWxUZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZXNvdXJjZU9yZGVyPzogYW55O1xuICBASW5wdXQoKSBmaWx0ZXJSZXNvdXJjZXNXaXRoRXZlbnRzPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZVRleHQ/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlR3JvdXBGaWVsZD86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VHcm91cFRleHQ/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlQXJlYVdpZHRoPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZUNvbHVtbnM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlc0luaXRpYWxseUV4cGFuZGVkPzogYW55O1xuICBASW5wdXQoKSBzbG90V2lkdGg/OiBhbnk7XG4gIEBJbnB1dCgpIGRhdGVzQWJvdmVSZXNvdXJjZXM/OiBhbnk7XG4gIEBJbnB1dCgpIGdvb2dsZUNhbGVuZGFyQXBpS2V5Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZWZldGNoUmVzb3VyY2VzT25OYXZpZ2F0ZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50UmVzb3VyY2VFZGl0YWJsZT86IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHdpbmRvd1Jlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudE1vdXNlRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TW91c2VMZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB1bnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbG9hZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRQb3NpdGlvbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudERyYWdTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREcmFnU3RvcCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREcm9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlc2l6ZVN0b3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVzaXplID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkcm9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlY2VpdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIF9kZXN0cm95ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgLy8gVE9ETzogbWFrZSB0aGVzZSBpbnB1dHMuLi5cbiAgQE91dHB1dCgpIHZpZXdTa2VsZXRvblJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgdmlld1NrZWxldG9uRGVzdHJveSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZXNSZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRhdGVzRGVzdHJveSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF5UmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREZXN0cm95ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSByZXNvdXJjZVJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xufVxuIl19

@@ -7,3 +7,3 @@ /**

import deepEqual from 'fast-deep-equal';
import { default as deepCopy } from 'deep-copy';
import { deepCopy } from './utils';
import { Component, ElementRef, Input, Output, EventEmitter } from '@angular/core';

@@ -725,2 +725,2 @@ import { Calendar } from '@fullcalendar/core';

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmdWxsY2FsZW5kYXIvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9mdWxsY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBT2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBNEQsTUFBTSxvQkFBb0IsQ0FBQztBQW9CeEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbEY7SUFZRSwrQkFBb0IsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUgvQixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLGVBQVUsR0FBUSxFQUFFLENBQUMsQ0FBQyxzQkFBc0I7UUErTzFDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN2QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNyQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ25DLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ2xDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxtQkFBYyxHQUFHLElBQUks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Qjs7SUFDN0IscURBQXVDOztJQUN2QyxtREFBOEQ7O0lBQzlELG1EQUFnRTs7SUFDaEUsbURBQXNDOztJQUN0QywwREFBNkM7O0lBQzdDLHFEQUF1Qzs7SUFDdkMsOENBQWdDOztJQUNoQyxvREFBc0M7O0lBRXRDLDJDQUE4Qzs7SUFDOUMsc0NBQXdEOztJQUN4RCx3Q0FBMEM7O0lBRTFDLG9EQUFzQzs7SUFDdEMsMENBQXlCOztJQUN6QixrREFBb0M7O0lBQ3BDLDhDQUE2Qjs7SUFDN0IsMERBQXlDOztJQUN6Qyw2Q0FBNEI7O0lBQzVCLG1EQUFrQzs7SUFDbEMsa0RBQWlDOztJQUNqQyxrREFBaUM7O0lBQ2pDLGdEQUErQjs7SUFDL0IsMkRBQTBDOztJQUMxQywwQ0FBeUI7O0lBQ3pCLG9EQUFtQzs7SUFDbkMscURBQXVDOztJQUN2QywyREFBOEM7O0lBQzlDLHNEQUF5Qzs7SUFFekMsNkNBQWlEOztJQUNqRCwwQ0FBOEM7O0lBQzlDLDJDQUErQzs7SUFDL0MsZ0RBQW9EOztJQUNwRCxnREFBb0Q7O0lBQ3BELHVDQUEyQzs7SUFDM0MseUNBQTZDOztJQUM3Qyx3Q0FBNEM7O0lBQzVDLGdEQUFvRDs7SUFDcEQsK0NBQW1EOztJQUNuRCw4Q0FBa0Q7O0lBQ2xELDBDQUE4Qzs7SUFDOUMsaURBQXFEOztJQUNyRCxnREFBb0Q7O0lBQ3BELDRDQUFnRDs7SUFDaEQscUNBQXlDOztJQUN6Qyw2Q0FBaUQ7O0lBQ2pELDJDQUErQzs7SUFDL0MsMkNBQStDOztJQUUvQyxtREFBdUQ7O0lBQ3ZELG9EQUF3RDs7SUFDeEQsNENBQWdEOztJQUNoRCw2Q0FBaUQ7O0lBQ2pELDBDQUE4Qzs7SUFDOUMsNENBQWdEOztJQUNoRCw2Q0FBaUQ7O0lBQ2pELCtDQUFtRDs7Ozs7SUF4UXZDLHdDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkZWVwRXF1YWwgZnJvbSAnZmFzdC1kZWVwLWVxdWFsJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgZGVlcENvcHkgfSBmcm9tICdkZWVwLWNvcHknO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIEFmdGVyVmlld0luaXQsXG4gIERvQ2hlY2ssXG4gIE9uQ2hhbmdlcyxcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FsZW5kYXIsIEJ1c2luZXNzSG91cnNJbnB1dCwgQ29uc3RyYWludElucHV0LCBFdmVudEFwaSwgUGx1Z2luRGVmIH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlJztcbmltcG9ydCB7XG4gIFRvb2xiYXJJbnB1dCxcbiAgQ3VzdG9tQnV0dG9uSW5wdXQsXG4gIEJ1dHRvbkljb25zSW5wdXQsIENlbGxJbmZvLFxuICBCdXR0b25UZXh0Q29tcG91bmRJbnB1dCxcbiAgVmlld09wdGlvbnNJbnB1dFxufSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvdHlwZXMvaW5wdXQtdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZUlucHV0IH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL2RhdGVsaWIvZW52JztcbmltcG9ydCB7IER1cmF0aW9uSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9kdXJhdGlvbic7XG5pbXBvcnQgeyBGb3JtYXR0ZXJJbnB1dCB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2Zvcm1hdHRpbmcnO1xuaW1wb3J0IHsgRGF0ZVJhbmdlSW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9kYXRlLXJhbmdlJztcbmltcG9ydCB7IFJhd0xvY2FsZSwgTG9jYWxlU2luZ3VsYXJBcmcgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9sb2NhbGUnO1xuaW1wb3J0IHsgT3ZlcmxhcEZ1bmMsIEFsbG93RnVuYyB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS92YWxpZGF0aW9uJztcbmltcG9ydCB7XG4gIEV2ZW50U291cmNlSW5wdXQsXG4gIEV2ZW50SW5wdXRUcmFuc2Zvcm1lcixcbiAgRXZlbnRTb3VyY2VFcnJvclJlc3BvbnNlSGFuZGxlcixcbiAgRXZlbnRTb3VyY2VTdWNjZXNzUmVzcG9uc2VIYW5kbGVyXG59IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9zdHJ1Y3RzL2V2ZW50LXNvdXJjZSc7XG5pbXBvcnQgeyBJTlBVVF9OQU1FUywgSU5QVVRfSVNfREVFUCwgT1VUUFVUX05BTUVTIH0gZnJvbSAnLi9mdWxsY2FsZW5kYXItb3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z1bGwtY2FsZW5kYXInLFxuICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgRnVsbENhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgRG9DaGVjaywgT25DaGFuZ2VzLCBBZnRlckNvbnRlbnRDaGVja2VkLCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIGRlZXBDaGFuZ2VEZXRlY3Rpb24/OiBib29sZWFuO1xuXG4gIHByaXZhdGUgY2FsZW5kYXI6IENhbGVuZGFyO1xuICBwcml2YXRlIGRpcnR5UHJvcHM6IGFueSA9IHt9O1xuICBwcml2YXRlIGRlZXBDb3BpZXM6IGFueSA9IHt9OyAvLyBob2xkcyBmcm96ZW4gc3RhdGVzXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jYWxlbmRhciA9IG5ldyBDYWxlbmRhcih0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgdGhpcy5idWlsZE9wdGlvbnMoKSk7XG4gICAgdGhpcy5jYWxlbmRhci5yZW5kZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRPcHRpb25zKCkge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB7fTtcblxuICAgIE9VVFBVVF9OQU1FUy5mb3JFYWNoKG91dHB1dE5hbWUgPT4ge1xuICAgICAgb3B0aW9uc1tvdXRwdXROYW1lXSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHRoaXNbb3V0cHV0TmFtZV0uZW1pdCguLi5hcmdzKTtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICAvLyBkbyBhZnRlciBvdXRwdXRzLCBzbyB0aGF0IGlucHV0cyB3aXRoIHNhbWUgbmFtZSBvdmVycmlkZVxuICAgIElOUFVUX05BTUVTLmZvckVhY2goaW5wdXROYW1lID0+IHtcbiAgICAgIGxldCBpbnB1dFZhbCA9IHRoaXNbaW5wdXROYW1lXTtcblxuICAgICAgaWYgKGlucHV0VmFsICE9PSB1bmRlZmluZWQpIHsgLy8gdW5mb3J0dW5hdGVseSBGQyBjaG9rZXMgd2hlbiBzb21lIHByb3BzIGFyZSBzZXQgdG8gdW5kZWZpbmVkXG5cbiAgICAgICAgaWYgKHRoaXMuZGVlcENoYW5nZURldGVjdGlvbiAmJiBJTlBVVF9JU19ERUVQW2lucHV0TmFtZV0pIHtcbiAgICAgICAgICBpbnB1dFZhbCA9IGRlZXBDb3B5KGlucHV0VmFsKTtcbiAgICAgICAgICB0aGlzLmRlZXBDb3BpZXNbaW5wdXROYW1lXSA9IGlucHV0VmFsOyAvLyBzaWRlIGVmZmVjdCFcbiAgICAgICAgfVxuXG4gICAgICAgIG9wdGlvbnNbaW5wdXROYW1lXSA9IGlucHV0VmFsO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cblxuICAvKlxuICBjYWxsZWQgYmVmb3JlIG5nT25DaGFuZ2VzLCBhbGxvd3MgdXMgdG8gbWFudWFsbHkgZGV0ZWN0IGlucHV0IGNoYW5nZXMuXG4gIGNhbGxlZCBtdWNoIG1vcmUgb2Z0ZW4gdGhhbiBuZ09uQ2hhbmdlcy5cbiAgKi9cbiAgbmdEb0NoZWNrKCkge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyICYmIHRoaXMuZGVlcENoYW5nZURldGVjdGlvbikgeyAvLyBub3QgdGhlIGluaXRpYWwgcmVuZGVyIEFORCB3ZSBkbyBkZWVwLW11dGF0aW9uIGNoZWNrc1xuICAgICAgY29uc3QgeyBkZWVwQ29waWVzIH0gPSB0aGlzO1xuXG4gICAgICBmb3IgKGNvbnN0IGlucHV0TmFtZSBpbiBJTlBVVF9JU19ERUVQKSB7XG4gICAgICAgIGlmIChJTlBVVF9JU19ERUVQLmhhc093blByb3BlcnR5KGlucHV0TmFtZSkpIHtcbiAgICAgICAgICBjb25zdCBpbnB1dFZhbCA9IHRoaXNbaW5wdXROYW1lXTtcblxuICAgICAgICAgIGlmIChpbnB1dFZhbCAhPT0gdW5kZWZpbmVkKSB7IC8vIHVuZm9ydHVuYXRlbHkgRkMgY2hva2VzIHdoZW4gc29tZSBwcm9wcyBhcmUgc2V0IHRvIHVuZGVmaW5lZFxuICAgICAgICAgICAgaWYgKCFkZWVwRXF1YWwoaW5wdXRWYWwsIGRlZXBDb3BpZXNbaW5wdXROYW1lXSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgY29weSA9IGRlZXBDb3B5KGlucHV0VmFsKTtcbiAgICAgICAgICAgICAgZGVlcENvcGllc1tpbnB1dE5hbWVdID0gY29weTtcbiAgICAgICAgICAgICAgdGhpcy5kaXJ0eVByb3BzW2lucHV0TmFtZV0gPSBjb3B5O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qXG4gIGNhbGxlZCB3aXRoIGNvbmZpcm1lZCBjaGFuZ2VzIHRvIGlucHV0IHJlZmVyZW5jZXNcbiAgKi9cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICh0aGlzLmNhbGVuZGFyKSB7IC8vIG5vdCB0aGUgaW5pdGlhbCByZW5kZXJcblxuICAgICAgZm9yIChjb25zdCBpbnB1dE5hbWUgaW4gY2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5oYXNPd25Qcm9wZXJ0eShpbnB1dE5hbWUpKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZGVlcENvcGllc1tpbnB1dE5hbWVdID09PSB1bmRlZmluZWQpIHsgLy8gbm90IGFscmVhZHkgaGFuZGxlZCBpbiBuZ0RvQ2hlY2tcbiAgICAgICAgICAgIHRoaXMuZGlydHlQcm9wc1tpbnB1dE5hbWVdID0gY2hhbmdlc1tpbnB1dE5hbWVdLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgY29uc3QgeyBkaXJ0eVByb3BzIH0gPSB0aGlzOyAvLyBob2xkIG9uIHRvIHJlZmVyZW5jZSBiZWZvcmUgY2xlYXJpbmdcblxuICAgIGlmIChPYmplY3Qua2V5cyhkaXJ0eVByb3BzKS5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmRpcnR5UHJvcHMgPSB7fTsgLy8gY2xlYXIgZmlyc3QsIGluIGNhc2UgdGhlIHJlcmVuZGVyIGNhdXNlcyBuZXcgZGlydGluZXNzXG4gICAgICB0aGlzLmNhbGVuZGFyLm11dGF0ZU9wdGlvbnMoZGlydHlQcm9wcywgW10sIGZhbHNlLCBkZWVwRXF1YWwpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuY2FsZW5kYXIuZGVzdHJveSgpO1xuICAgIHRoaXMuY2FsZW5kYXIgPSBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldEFwaSgpOiBDYWxlbmRhciB7XG4gICAgcmV0dXJuIHRoaXMuY2FsZW5kYXI7XG4gIH1cblxuICAvKlxuICBUT0RPOiB0aGUgZm9sbG93aW5nIElucHV0cy9PdXRwdXRzIHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IHJld3JpdHRlbiBmb3IgZWFjaCB2ZXJzaW9uIGJ1bXBcbiAgb2YgdGhlIGNvcmUgcHJvamVjdC4gQSBzY3JpcHQgd2lsbCBiZSB3cml0dGVuIHRvIG92ZXJ3cml0ZSB0aGUgYWN0dWFseSBzb3VyY2UgY29kZSBoZXJlLlxuICBJdCBpcyB1c3VhbGx5IGdvb2QgdG8gcHV0IGEgY2xhc3MncyBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMgQkVGT1JFIHRoZSBtZXRob2RzLCBidXQgaW4gdGhpcyBjYXNlLFxuICBzaW5jZSB0aGUgcHJvcGVydGllcyB3aWxsIGJlIHByb2dyYW1tYXRpY2FsbHkgZ2VuZXJhdGVkLCBiZXR0ZXIgdG8gcHV0IHRoZW0gYWZ0ZXIuXG4gICovXG5cbiAgQElucHV0KCkgaGVhZGVyPzogYm9vbGVhbiB8IFRvb2xiYXJJbnB1dDtcbiAgQElucHV0KCkgZm9vdGVyPzogYm9vbGVhbiB8IFRvb2xiYXJJbnB1dDtcbiAgQElucHV0KCkgY3VzdG9tQnV0dG9ucz86IHsgW25hbWU6IHN0cmluZ106IEN1c3RvbUJ1dHRvbklucHV0IH07XG4gIEBJbnB1dCgpIGJ1dHRvbkljb25zPzogYm9vbGVhbiB8IEJ1dHRvbkljb25zSW5wdXQ7XG4gIEBJbnB1dCgpIHRoZW1lU3lzdGVtPzogJ3N0YW5kYXJkJyB8IHN0cmluZztcbiAgQElucHV0KCkgYm9vdHN0cmFwRm9udEF3ZXNvbWU/OiBib29sZWFuIHwgQnV0dG9uSWNvbnNJbnB1dDtcbiAgQElucHV0KCkgZmlyc3REYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGRpcj86ICdsdHInIHwgJ3J0bCcgfCAnYXV0byc7XG4gIEBJbnB1dCgpIHdlZWtlbmRzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZGVuRGF5cz86IG51bWJlcltdO1xuICBASW5wdXQoKSBmaXhlZFdlZWtDb3VudD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdlZWtOdW1iZXJzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlcnNXaXRoaW5EYXlzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2Vla051bWJlckNhbGN1bGF0aW9uPzogJ2xvY2FsJyB8ICdJU08nIHwgKChtOiBEYXRlKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBidXNpbmVzc0hvdXJzPzogQnVzaW5lc3NIb3Vyc0lucHV0O1xuICBASW5wdXQoKSBzaG93Tm9uQ3VycmVudERhdGVzPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGVpZ2h0PzogbnVtYmVyIHwgJ2F1dG8nIHwgJ3BhcmVudCcgfCAoKCkgPT4gbnVtYmVyKTtcbiAgQElucHV0KCkgY29udGVudEhlaWdodD86IG51bWJlciB8ICdhdXRvJyB8ICgoKSA9PiBudW1iZXIpO1xuICBASW5wdXQoKSBhc3BlY3RSYXRpbz86IG51bWJlcjtcbiAgQElucHV0KCkgaGFuZGxlV2luZG93UmVzaXplPzogYm9vbGVhbjtcbiAgQElucHV0KCkgd2luZG93UmVzaXplRGVsYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGV2ZW50TGltaXQ/OiBib29sZWFuIHwgbnVtYmVyO1xuICBASW5wdXQoKSBldmVudExpbWl0Q2xpY2s/OiAncG9wb3ZlcicgfCAnd2VlaycgfCAnZGF5JyB8IHN0cmluZyB8ICgoY2VsbGluZm86IENlbGxJbmZvLCBqc2V2ZW50OiBFdmVudCkgPT4gdm9pZCk7XG4gIEBJbnB1dCgpIHRpbWVab25lPzogc3RyaW5nIHwgYm9vbGVhbjtcbiAgQElucHV0KCkgbm93PzogRGF0ZUlucHV0IHwgKCgpID0+IERhdGVJbnB1dCk7XG4gIEBJbnB1dCgpIGRlZmF1bHRWaWV3Pzogc3RyaW5nO1xuICBASW5wdXQoKSBhbGxEYXlTbG90PzogYm9vbGVhbjtcbiAgQElucHV0KCkgYWxsRGF5VGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgc2xvdER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2xvdExhYmVsRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIHNsb3RMYWJlbEludGVydmFsPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc25hcER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2Nyb2xsVGltZT86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIG1pblRpbWU/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBtYXhUaW1lPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgc2xvdEV2ZW50T3ZlcmxhcD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpc3REYXlGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dCB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxpc3REYXlBbHRGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dCB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5vRXZlbnRzTWVzc2FnZT86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdERhdGU/OiBEYXRlSW5wdXQ7XG4gIEBJbnB1dCgpIG5vd0luZGljYXRvcj86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHZpc2libGVSYW5nZT86ICgoY3VycmVudERhdGU6IERhdGUpID0+IERhdGVSYW5nZUlucHV0KSB8IERhdGVSYW5nZUlucHV0O1xuICBASW5wdXQoKSB2YWxpZFJhbmdlPzogRGF0ZVJhbmdlSW5wdXQ7XG4gIEBJbnB1dCgpIGRhdGVJbmNyZW1lbnQ/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBkYXRlQWxpZ25tZW50Pzogc3RyaW5nO1xuICBASW5wdXQoKSBkdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGRheUNvdW50PzogbnVtYmVyO1xuICBASW5wdXQoKSBsb2NhbGVzPzogUmF3TG9jYWxlW107XG4gIEBJbnB1dCgpIGxvY2FsZT86IExvY2FsZVNpbmd1bGFyQXJnO1xuICBASW5wdXQoKSBldmVudFRpbWVGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dDtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyPzogYm9vbGVhbjtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVyRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIGNvbHVtbkhlYWRlclRleHQ/OiBzdHJpbmcgfCAoKGRhdGU6IERhdGVJbnB1dCkgPT4gc3RyaW5nKTtcbiAgQElucHV0KCkgY29sdW1uSGVhZGVySHRtbD86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZUlucHV0KSA9PiBzdHJpbmcpO1xuICBASW5wdXQoKSB0aXRsZUZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSB3ZWVrTGFiZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRpc3BsYXlFdmVudFRpbWU/OiBib29sZWFuO1xuICBASW5wdXQoKSBkaXNwbGF5RXZlbnRFbmQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudExpbWl0VGV4dD86IHN0cmluZyB8ICgoZXZlbnRDbnQ6IG51bWJlcikgPT4gc3RyaW5nKTtcbiAgQElucHV0KCkgZGF5UG9wb3ZlckZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSBuYXZMaW5rcz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5hdkxpbmtEYXlDbGljaz86IHN0cmluZyB8ICgoZGF0ZTogRGF0ZSwganNFdmVudDogRXZlbnQpID0+IHZvaWQpO1xuICBASW5wdXQoKSBuYXZMaW5rV2Vla0NsaWNrPzogc3RyaW5nIHwgKCh3ZWVrU3RhcnQ6IGFueSwganNFdmVudDogRXZlbnQpID0+IHZvaWQpO1xuICBASW5wdXQoKSBzZWxlY3RhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0TWlycm9yPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdW5zZWxlY3RBdXRvPzogYm9vbGVhbjtcbiAgQElucHV0KCkgdW5zZWxlY3RDYW5jZWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgZGVmYXVsdFRpbWVkRXZlbnREdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGNtZEZvcm1hdHRlcj86IHN0cmluZztcbiAgQElucHV0KCkgZGVmYXVsdFJhbmdlU2VwYXJhdG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RDb25zdHJhaW50PzogQ29uc3RyYWludElucHV0O1xuICBASW5wdXQoKSBzZWxlY3RPdmVybGFwPzogYm9vbGVhbiB8IE92ZXJsYXBGdW5jO1xuICBASW5wdXQoKSBzZWxlY3RBbGxvdz86IEFsbG93RnVuYztcbiAgQElucHV0KCkgc2VsZWN0TWluRGlzdGFuY2U/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGVkaXRhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnRTdGFydEVkaXRhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnREdXJhdGlvbkVkaXRhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnRDb25zdHJhaW50PzogQ29uc3RyYWludElucHV0O1xuICBASW5wdXQoKSBldmVudE92ZXJsYXA/OiBib29sZWFuIHwgT3ZlcmxhcEZ1bmM7XG4gIEBJbnB1dCgpIGV2ZW50QWxsb3c/OiBBbGxvd0Z1bmM7XG4gIEBJbnB1dCgpIGV2ZW50Q2xhc3NOYW1lPzogc3RyaW5nW10gfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50Q2xhc3NOYW1lcz86IHN0cmluZ1tdIHwgc3RyaW5nO1xuICBASW5wdXQoKSBldmVudEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRCb3JkZXJDb2xvcj86IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50Q29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50cz86IEV2ZW50U291cmNlSW5wdXQ7XG4gIEBJbnB1dCgpIGV2ZW50U291cmNlcz86IEV2ZW50U291cmNlSW5wdXRbXTtcbiAgQElucHV0KCkgYWxsRGF5RGVmYXVsdD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHN0YXJ0UGFyYW0/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVuZFBhcmFtPzogc3RyaW5nO1xuICBASW5wdXQoKSBsYXp5RmV0Y2hpbmc/OiBib29sZWFuO1xuICBASW5wdXQoKSBuZXh0RGF5VGhyZXNob2xkPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgZXZlbnRPcmRlcj86IHN0cmluZyB8IEFycmF5PCgoYTogRXZlbnRBcGksIGI6IEV2ZW50QXBpKSA9PiBudW1iZXIpIHwgKHN0cmluZyB8ICgoYTogRXZlbnRBcGksIGI6IEV2ZW50QXBpKSA9PiBudW1iZXIpKT47XG4gIEBJbnB1dCgpIHJlcmVuZGVyRGVsYXk/OiBudW1iZXIgfCBudWxsO1xuICBASW5wdXQoKSBkcmFnUmV2ZXJ0RHVyYXRpb24/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGRyYWdTY3JvbGw/OiBib29sZWFuO1xuICBASW5wdXQoKSBsb25nUHJlc3NEZWxheT86IG51bWJlcjtcbiAgQElucHV0KCkgZXZlbnRMb25nUHJlc3NEZWxheT86IG51bWJlcjtcbiAgQElucHV0KCkgZHJvcHBhYmxlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZHJvcEFjY2VwdD86IHN0cmluZyB8ICgoZHJhZ2dhYmxlOiBhbnkpID0+IGJvb2xlYW4pO1xuICBASW5wdXQoKSBldmVudERhdGFUcmFuc2Zvcm0/OiBFdmVudElucHV0VHJhbnNmb3JtZXI7XG4gIEBJbnB1dCgpIGFsbERheU1haW50YWluRHVyYXRpb24/OiBCb29sZWFuO1xuICBASW5wdXQoKSBldmVudFJlc2l6YWJsZUZyb21TdGFydD86IEJvb2xlYW47XG4gIEBJbnB1dCgpIHRpbWVHcmlkRXZlbnRNaW5IZWlnaHQ/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGFsbERheUh0bWw/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50RHJhZ01pbkRpc3RhbmNlPzogbnVtYmVyO1xuICBASW5wdXQoKSBldmVudFNvdXJjZUZhaWx1cmU/OiBFdmVudFNvdXJjZUVycm9yUmVzcG9uc2VIYW5kbGVyO1xuICBASW5wdXQoKSBldmVudFNvdXJjZVN1Y2Nlc3M/OiBFdmVudFNvdXJjZVN1Y2Nlc3NSZXNwb25zZUhhbmRsZXI7XG4gIEBJbnB1dCgpIGZvcmNlRXZlbnREdXJhdGlvbj86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHByb2dyZXNzaXZlRXZlbnRSZW5kZXJpbmc/OiBib29sZWFuO1xuICBASW5wdXQoKSBzZWxlY3RMb25nUHJlc3NEZWxheT86IG51bWJlcjtcbiAgQElucHV0KCkgdGltZVpvbmVQYXJhbT86IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGVSYW5nZVNlcGFyYXRvcj86IHN0cmluZztcbiAgLy8gY29tcG91bmQgT3B0aW9uc0lucHV0Li4uXG4gIEBJbnB1dCgpIGJ1dHRvblRleHQ/OiBCdXR0b25UZXh0Q29tcG91bmRJbnB1dDtcbiAgQElucHV0KCkgdmlld3M/OiB7IFt2aWV3SWQ6IHN0cmluZ106IFZpZXdPcHRpb25zSW5wdXQgfTtcbiAgQElucHV0KCkgcGx1Z2lucz86IChQbHVnaW5EZWYgfCBzdHJpbmcpW107XG4gIC8vIHNjaGVkdWxlci4uLlxuICBASW5wdXQoKSBzY2hlZHVsZXJMaWNlbnNlS2V5Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZXNvdXJjZXM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlTGFiZWxUZXh0Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZXNvdXJjZU9yZGVyPzogYW55O1xuICBASW5wdXQoKSBmaWx0ZXJSZXNvdXJjZXNXaXRoRXZlbnRzPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZVRleHQ/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlR3JvdXBGaWVsZD86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VHcm91cFRleHQ/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlQXJlYVdpZHRoPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZUNvbHVtbnM/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlc0luaXRpYWxseUV4cGFuZGVkPzogYW55O1xuICBASW5wdXQoKSBzbG90V2lkdGg/OiBhbnk7XG4gIEBJbnB1dCgpIGRhdGVzQWJvdmVSZXNvdXJjZXM/OiBhbnk7XG4gIEBJbnB1dCgpIGdvb2dsZUNhbGVuZGFyQXBpS2V5Pzogc3RyaW5nO1xuICBASW5wdXQoKSByZWZldGNoUmVzb3VyY2VzT25OYXZpZ2F0ZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50UmVzb3VyY2VFZGl0YWJsZT86IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHdpbmRvd1Jlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudE1vdXNlRW50ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TW91c2VMZWF2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB1bnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgbG9hZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRQb3NpdGlvbmVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudERyYWdTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREcmFnU3RvcCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREcm9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlc2l6ZVN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlc2l6ZVN0b3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UmVzaXplID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkcm9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlY2VpdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50TGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIF9kZXN0cm95ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgLy8gVE9ETzogbWFrZSB0aGVzZSBpbnB1dHMuLi5cbiAgQE91dHB1dCgpIHZpZXdTa2VsZXRvblJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgdmlld1NrZWxldG9uRGVzdHJveSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF0ZXNSZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRhdGVzRGVzdHJveSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZGF5UmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREZXN0cm95ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSByZXNvdXJjZVJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbGNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmdWxsY2FsZW5kYXIvYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9mdWxsY2FsZW5kYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNuQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFPYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUE0RCxNQUFNLG9CQUFvQixDQUFDO0FBb0J4RyxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRjtJQVlFLCtCQUFvQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBSC9CLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFDckIsZUFBVSxHQUFRLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQjtRQStPMUMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUMxQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDMUMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDakMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbkMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQzFDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQU8s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REFBdUM7O0lBQ3ZDLG1EQUE4RDs7SUFDOUQsbURBQWdFOztJQUNoRSxtREFBc0M7O0lBQ3RDLDBEQUE2Qzs7SUFDN0MscURBQXVDOztJQUN2Qyw4Q0FBZ0M7O0lBQ2hDLG9EQUFzQzs7SUFFdEMsMkNBQThDOztJQUM5QyxzQ0FBd0Q7O0lBQ3hELHdDQUEwQzs7SUFFMUMsb0RBQXNDOztJQUN0QywwQ0FBeUI7O0lBQ3pCLGtEQUFvQzs7SUFDcEMsOENBQTZCOztJQUM3QiwwREFBeUM7O0lBQ3pDLDZDQUE0Qjs7SUFDNUIsbURBQWtDOztJQUNsQyxrREFBaUM7O0lBQ2pDLGtEQUFpQzs7SUFDakMsZ0RBQStCOztJQUMvQiwyREFBMEM7O0lBQzFDLDBDQUF5Qjs7SUFDekIsb0RBQW1DOztJQUNuQyxxREFBdUM7O0lBQ3ZDLDJEQUE4Qzs7SUFDOUMsc0RBQXlDOztJQUV6Qyw2Q0FBaUQ7O0lBQ2pELDBDQUE4Qzs7SUFDOUMsMkNBQStDOztJQUMvQyxnREFBb0Q7O0lBQ3BELGdEQUFvRDs7SUFDcEQsdUNBQTJDOztJQUMzQyx5Q0FBNkM7O0lBQzdDLHdDQUE0Qzs7SUFDNUMsZ0RBQW9EOztJQUNwRCwrQ0FBbUQ7O0lBQ25ELDhDQUFrRDs7SUFDbEQsMENBQThDOztJQUM5QyxpREFBcUQ7O0lBQ3JELGdEQUFvRDs7SUFDcEQsNENBQWdEOztJQUNoRCxxQ0FBeUM7O0lBQ3pDLDZDQUFpRDs7SUFDakQsMkNBQStDOztJQUMvQywyQ0FBK0M7O0lBRS9DLG1EQUF1RDs7SUFDdkQsb0RBQXdEOztJQUN4RCw0Q0FBZ0Q7O0lBQ2hELDZDQUFpRDs7SUFDakQsMENBQThDOztJQUM5Qyw0Q0FBZ0Q7O0lBQ2hELDZDQUFpRDs7SUFDakQsK0NBQW1EOzs7OztJQXhRdkMsd0NBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGRlZXBFcXVhbCBmcm9tICdmYXN0LWRlZXAtZXF1YWwnO1xuaW1wb3J0IHsgZGVlcENvcHkgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBBZnRlclZpZXdJbml0LFxuICBEb0NoZWNrLFxuICBPbkNoYW5nZXMsXG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbGVuZGFyLCBCdXNpbmVzc0hvdXJzSW5wdXQsIENvbnN0cmFpbnRJbnB1dCwgRXZlbnRBcGksIFBsdWdpbkRlZiB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZSc7XG5pbXBvcnQge1xuICBUb29sYmFySW5wdXQsXG4gIEN1c3RvbUJ1dHRvbklucHV0LFxuICBCdXR0b25JY29uc0lucHV0LCBDZWxsSW5mbyxcbiAgQnV0dG9uVGV4dENvbXBvdW5kSW5wdXQsXG4gIFZpZXdPcHRpb25zSW5wdXRcbn0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL3R5cGVzL2lucHV0LXR5cGVzJztcbmltcG9ydCB7IERhdGVJbnB1dCB9IGZyb20gJ0BmdWxsY2FsZW5kYXIvY29yZS9kYXRlbGliL2Vudic7XG5pbXBvcnQgeyBEdXJhdGlvbklucHV0IH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL2RhdGVsaWIvZHVyYXRpb24nO1xuaW1wb3J0IHsgRm9ybWF0dGVySW5wdXQgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvZGF0ZWxpYi9mb3JtYXR0aW5nJztcbmltcG9ydCB7IERhdGVSYW5nZUlucHV0IH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL2RhdGVsaWIvZGF0ZS1yYW5nZSc7XG5pbXBvcnQgeyBSYXdMb2NhbGUsIExvY2FsZVNpbmd1bGFyQXJnIH0gZnJvbSAnQGZ1bGxjYWxlbmRhci9jb3JlL2RhdGVsaWIvbG9jYWxlJztcbmltcG9ydCB7IE92ZXJsYXBGdW5jLCBBbGxvd0Z1bmMgfSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvdmFsaWRhdGlvbic7XG5pbXBvcnQge1xuICBFdmVudFNvdXJjZUlucHV0LFxuICBFdmVudElucHV0VHJhbnNmb3JtZXIsXG4gIEV2ZW50U291cmNlRXJyb3JSZXNwb25zZUhhbmRsZXIsXG4gIEV2ZW50U291cmNlU3VjY2Vzc1Jlc3BvbnNlSGFuZGxlclxufSBmcm9tICdAZnVsbGNhbGVuZGFyL2NvcmUvc3RydWN0cy9ldmVudC1zb3VyY2UnO1xuaW1wb3J0IHsgSU5QVVRfTkFNRVMsIElOUFVUX0lTX0RFRVAsIE9VVFBVVF9OQU1FUyB9IGZyb20gJy4vZnVsbGNhbGVuZGFyLW9wdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdWxsLWNhbGVuZGFyJyxcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEZ1bGxDYWxlbmRhckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIERvQ2hlY2ssIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBkZWVwQ2hhbmdlRGV0ZWN0aW9uPzogYm9vbGVhbjtcblxuICBwcml2YXRlIGNhbGVuZGFyOiBDYWxlbmRhcjtcbiAgcHJpdmF0ZSBkaXJ0eVByb3BzOiBhbnkgPSB7fTtcbiAgcHJpdmF0ZSBkZWVwQ29waWVzOiBhbnkgPSB7fTsgLy8gaG9sZHMgZnJvemVuIHN0YXRlc1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZikge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY2FsZW5kYXIgPSBuZXcgQ2FsZW5kYXIodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuYnVpbGRPcHRpb25zKCkpO1xuICAgIHRoaXMuY2FsZW5kYXIucmVuZGVyKCk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkT3B0aW9ucygpIHtcbiAgICBjb25zdCBvcHRpb25zID0ge307XG5cbiAgICBPVVRQVVRfTkFNRVMuZm9yRWFjaChvdXRwdXROYW1lID0+IHtcbiAgICAgIG9wdGlvbnNbb3V0cHV0TmFtZV0gPSAoLi4uYXJncykgPT4ge1xuICAgICAgICB0aGlzW291dHB1dE5hbWVdLmVtaXQoLi4uYXJncyk7XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLy8gZG8gYWZ0ZXIgb3V0cHV0cywgc28gdGhhdCBpbnB1dHMgd2l0aCBzYW1lIG5hbWUgb3ZlcnJpZGVcbiAgICBJTlBVVF9OQU1FUy5mb3JFYWNoKGlucHV0TmFtZSA9PiB7XG4gICAgICBsZXQgaW5wdXRWYWwgPSB0aGlzW2lucHV0TmFtZV07XG5cbiAgICAgIGlmIChpbnB1dFZhbCAhPT0gdW5kZWZpbmVkKSB7IC8vIHVuZm9ydHVuYXRlbHkgRkMgY2hva2VzIHdoZW4gc29tZSBwcm9wcyBhcmUgc2V0IHRvIHVuZGVmaW5lZFxuXG4gICAgICAgIGlmICh0aGlzLmRlZXBDaGFuZ2VEZXRlY3Rpb24gJiYgSU5QVVRfSVNfREVFUFtpbnB1dE5hbWVdKSB7XG4gICAgICAgICAgaW5wdXRWYWwgPSBkZWVwQ29weShpbnB1dFZhbCk7XG4gICAgICAgICAgdGhpcy5kZWVwQ29waWVzW2lucHV0TmFtZV0gPSBpbnB1dFZhbDsgLy8gc2lkZSBlZmZlY3QhXG4gICAgICAgIH1cblxuICAgICAgICBvcHRpb25zW2lucHV0TmFtZV0gPSBpbnB1dFZhbDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG5cbiAgLypcbiAgY2FsbGVkIGJlZm9yZSBuZ09uQ2hhbmdlcywgYWxsb3dzIHVzIHRvIG1hbnVhbGx5IGRldGVjdCBpbnB1dCBjaGFuZ2VzLlxuICBjYWxsZWQgbXVjaCBtb3JlIG9mdGVuIHRoYW4gbmdPbkNoYW5nZXMuXG4gICovXG4gIG5nRG9DaGVjaygpIHtcbiAgICBpZiAodGhpcy5jYWxlbmRhciAmJiB0aGlzLmRlZXBDaGFuZ2VEZXRlY3Rpb24pIHsgLy8gbm90IHRoZSBpbml0aWFsIHJlbmRlciBBTkQgd2UgZG8gZGVlcC1tdXRhdGlvbiBjaGVja3NcbiAgICAgIGNvbnN0IHsgZGVlcENvcGllcyB9ID0gdGhpcztcblxuICAgICAgZm9yIChjb25zdCBpbnB1dE5hbWUgaW4gSU5QVVRfSVNfREVFUCkge1xuICAgICAgICBpZiAoSU5QVVRfSVNfREVFUC5oYXNPd25Qcm9wZXJ0eShpbnB1dE5hbWUpKSB7XG4gICAgICAgICAgY29uc3QgaW5wdXRWYWwgPSB0aGlzW2lucHV0TmFtZV07XG5cbiAgICAgICAgICBpZiAoaW5wdXRWYWwgIT09IHVuZGVmaW5lZCkgeyAvLyB1bmZvcnR1bmF0ZWx5IEZDIGNob2tlcyB3aGVuIHNvbWUgcHJvcHMgYXJlIHNldCB0byB1bmRlZmluZWRcbiAgICAgICAgICAgIGlmICghZGVlcEVxdWFsKGlucHV0VmFsLCBkZWVwQ29waWVzW2lucHV0TmFtZV0pKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvcHkgPSBkZWVwQ29weShpbnB1dFZhbCk7XG4gICAgICAgICAgICAgIGRlZXBDb3BpZXNbaW5wdXROYW1lXSA9IGNvcHk7XG4gICAgICAgICAgICAgIHRoaXMuZGlydHlQcm9wc1tpbnB1dE5hbWVdID0gY29weTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKlxuICBjYWxsZWQgd2l0aCBjb25maXJtZWQgY2hhbmdlcyB0byBpbnB1dCByZWZlcmVuY2VzXG4gICovXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy5jYWxlbmRhcikgeyAvLyBub3QgdGhlIGluaXRpYWwgcmVuZGVyXG5cbiAgICAgIGZvciAoY29uc3QgaW5wdXROYW1lIGluIGNoYW5nZXMpIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuaGFzT3duUHJvcGVydHkoaW5wdXROYW1lKSkge1xuICAgICAgICAgIGlmICh0aGlzLmRlZXBDb3BpZXNbaW5wdXROYW1lXSA9PT0gdW5kZWZpbmVkKSB7IC8vIG5vdCBhbHJlYWR5IGhhbmRsZWQgaW4gbmdEb0NoZWNrXG4gICAgICAgICAgICB0aGlzLmRpcnR5UHJvcHNbaW5wdXROYW1lXSA9IGNoYW5nZXNbaW5wdXROYW1lXS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCkge1xuICAgIGNvbnN0IHsgZGlydHlQcm9wcyB9ID0gdGhpczsgLy8gaG9sZCBvbiB0byByZWZlcmVuY2UgYmVmb3JlIGNsZWFyaW5nXG5cbiAgICBpZiAoT2JqZWN0LmtleXMoZGlydHlQcm9wcykubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5kaXJ0eVByb3BzID0ge307IC8vIGNsZWFyIGZpcnN0LCBpbiBjYXNlIHRoZSByZXJlbmRlciBjYXVzZXMgbmV3IGRpcnRpbmVzc1xuICAgICAgdGhpcy5jYWxlbmRhci5tdXRhdGVPcHRpb25zKGRpcnR5UHJvcHMsIFtdLCBmYWxzZSwgZGVlcEVxdWFsKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmNhbGVuZGFyLmRlc3Ryb3koKTtcbiAgICB0aGlzLmNhbGVuZGFyID0gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBcGkoKTogQ2FsZW5kYXIge1xuICAgIHJldHVybiB0aGlzLmNhbGVuZGFyO1xuICB9XG5cbiAgLypcbiAgVE9ETzogdGhlIGZvbGxvd2luZyBJbnB1dHMvT3V0cHV0cyBzaG91bGQgYmUgYXV0b21hdGljYWxseSByZXdyaXR0ZW4gZm9yIGVhY2ggdmVyc2lvbiBidW1wXG4gIG9mIHRoZSBjb3JlIHByb2plY3QuIEEgc2NyaXB0IHdpbGwgYmUgd3JpdHRlbiB0byBvdmVyd3JpdGUgdGhlIGFjdHVhbHkgc291cmNlIGNvZGUgaGVyZS5cbiAgSXQgaXMgdXN1YWxseSBnb29kIHRvIHB1dCBhIGNsYXNzJ3MgcHJvcGVydHkgZGVjbGFyYXRpb25zIEJFRk9SRSB0aGUgbWV0aG9kcywgYnV0IGluIHRoaXMgY2FzZSxcbiAgc2luY2UgdGhlIHByb3BlcnRpZXMgd2lsbCBiZSBwcm9ncmFtbWF0aWNhbGx5IGdlbmVyYXRlZCwgYmV0dGVyIHRvIHB1dCB0aGVtIGFmdGVyLlxuICAqL1xuXG4gIEBJbnB1dCgpIGhlYWRlcj86IGJvb2xlYW4gfCBUb29sYmFySW5wdXQ7XG4gIEBJbnB1dCgpIGZvb3Rlcj86IGJvb2xlYW4gfCBUb29sYmFySW5wdXQ7XG4gIEBJbnB1dCgpIGN1c3RvbUJ1dHRvbnM/OiB7IFtuYW1lOiBzdHJpbmddOiBDdXN0b21CdXR0b25JbnB1dCB9O1xuICBASW5wdXQoKSBidXR0b25JY29ucz86IGJvb2xlYW4gfCBCdXR0b25JY29uc0lucHV0O1xuICBASW5wdXQoKSB0aGVtZVN5c3RlbT86ICdzdGFuZGFyZCcgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGJvb3RzdHJhcEZvbnRBd2Vzb21lPzogYm9vbGVhbiB8IEJ1dHRvbkljb25zSW5wdXQ7XG4gIEBJbnB1dCgpIGZpcnN0RGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSBkaXI/OiAnbHRyJyB8ICdydGwnIHwgJ2F1dG8nO1xuICBASW5wdXQoKSB3ZWVrZW5kcz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhpZGRlbkRheXM/OiBudW1iZXJbXTtcbiAgQElucHV0KCkgZml4ZWRXZWVrQ291bnQ/OiBib29sZWFuO1xuICBASW5wdXQoKSB3ZWVrTnVtYmVycz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdlZWtOdW1iZXJzV2l0aGluRGF5cz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdlZWtOdW1iZXJDYWxjdWxhdGlvbj86ICdsb2NhbCcgfCAnSVNPJyB8ICgobTogRGF0ZSkgPT4gbnVtYmVyKTtcbiAgQElucHV0KCkgYnVzaW5lc3NIb3Vycz86IEJ1c2luZXNzSG91cnNJbnB1dDtcbiAgQElucHV0KCkgc2hvd05vbkN1cnJlbnREYXRlcz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhlaWdodD86IG51bWJlciB8ICdhdXRvJyB8ICdwYXJlbnQnIHwgKCgpID0+IG51bWJlcik7XG4gIEBJbnB1dCgpIGNvbnRlbnRIZWlnaHQ/OiBudW1iZXIgfCAnYXV0bycgfCAoKCkgPT4gbnVtYmVyKTtcbiAgQElucHV0KCkgYXNwZWN0UmF0aW8/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGhhbmRsZVdpbmRvd1Jlc2l6ZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHdpbmRvd1Jlc2l6ZURlbGF5PzogbnVtYmVyO1xuICBASW5wdXQoKSBldmVudExpbWl0PzogYm9vbGVhbiB8IG51bWJlcjtcbiAgQElucHV0KCkgZXZlbnRMaW1pdENsaWNrPzogJ3BvcG92ZXInIHwgJ3dlZWsnIHwgJ2RheScgfCBzdHJpbmcgfCAoKGNlbGxpbmZvOiBDZWxsSW5mbywganNldmVudDogRXZlbnQpID0+IHZvaWQpO1xuICBASW5wdXQoKSB0aW1lWm9uZT86IHN0cmluZyB8IGJvb2xlYW47XG4gIEBJbnB1dCgpIG5vdz86IERhdGVJbnB1dCB8ICgoKSA9PiBEYXRlSW5wdXQpO1xuICBASW5wdXQoKSBkZWZhdWx0Vmlldz86IHN0cmluZztcbiAgQElucHV0KCkgYWxsRGF5U2xvdD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGFsbERheVRleHQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNsb3REdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIHNsb3RMYWJlbEZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSBzbG90TGFiZWxJbnRlcnZhbD86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIHNuYXBEdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIHNjcm9sbFRpbWU/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBtaW5UaW1lPzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgbWF4VGltZT86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIHNsb3RFdmVudE92ZXJsYXA/OiBib29sZWFuO1xuICBASW5wdXQoKSBsaXN0RGF5Rm9ybWF0PzogRm9ybWF0dGVySW5wdXQgfCBib29sZWFuO1xuICBASW5wdXQoKSBsaXN0RGF5QWx0Rm9ybWF0PzogRm9ybWF0dGVySW5wdXQgfCBib29sZWFuO1xuICBASW5wdXQoKSBub0V2ZW50c01lc3NhZ2U/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHREYXRlPzogRGF0ZUlucHV0O1xuICBASW5wdXQoKSBub3dJbmRpY2F0b3I/OiBib29sZWFuO1xuICBASW5wdXQoKSB2aXNpYmxlUmFuZ2U/OiAoKGN1cnJlbnREYXRlOiBEYXRlKSA9PiBEYXRlUmFuZ2VJbnB1dCkgfCBEYXRlUmFuZ2VJbnB1dDtcbiAgQElucHV0KCkgdmFsaWRSYW5nZT86IERhdGVSYW5nZUlucHV0O1xuICBASW5wdXQoKSBkYXRlSW5jcmVtZW50PzogRHVyYXRpb25JbnB1dDtcbiAgQElucHV0KCkgZGF0ZUFsaWdubWVudD86IHN0cmluZztcbiAgQElucHV0KCkgZHVyYXRpb24/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBkYXlDb3VudD86IG51bWJlcjtcbiAgQElucHV0KCkgbG9jYWxlcz86IFJhd0xvY2FsZVtdO1xuICBASW5wdXQoKSBsb2NhbGU/OiBMb2NhbGVTaW5ndWxhckFyZztcbiAgQElucHV0KCkgZXZlbnRUaW1lRm9ybWF0PzogRm9ybWF0dGVySW5wdXQ7XG4gIEBJbnB1dCgpIGNvbHVtbkhlYWRlcj86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvbHVtbkhlYWRlckZvcm1hdD86IEZvcm1hdHRlcklucHV0O1xuICBASW5wdXQoKSBjb2x1bW5IZWFkZXJUZXh0Pzogc3RyaW5nIHwgKChkYXRlOiBEYXRlSW5wdXQpID0+IHN0cmluZyk7XG4gIEBJbnB1dCgpIGNvbHVtbkhlYWRlckh0bWw/OiBzdHJpbmcgfCAoKGRhdGU6IERhdGVJbnB1dCkgPT4gc3RyaW5nKTtcbiAgQElucHV0KCkgdGl0bGVGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dDtcbiAgQElucHV0KCkgd2Vla0xhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNwbGF5RXZlbnRUaW1lPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzcGxheUV2ZW50RW5kPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnRMaW1pdFRleHQ/OiBzdHJpbmcgfCAoKGV2ZW50Q250OiBudW1iZXIpID0+IHN0cmluZyk7XG4gIEBJbnB1dCgpIGRheVBvcG92ZXJGb3JtYXQ/OiBGb3JtYXR0ZXJJbnB1dDtcbiAgQElucHV0KCkgbmF2TGlua3M/OiBib29sZWFuO1xuICBASW5wdXQoKSBuYXZMaW5rRGF5Q2xpY2s/OiBzdHJpbmcgfCAoKGRhdGU6IERhdGUsIGpzRXZlbnQ6IEV2ZW50KSA9PiB2b2lkKTtcbiAgQElucHV0KCkgbmF2TGlua1dlZWtDbGljaz86IHN0cmluZyB8ICgod2Vla1N0YXJ0OiBhbnksIGpzRXZlbnQ6IEV2ZW50KSA9PiB2b2lkKTtcbiAgQElucHV0KCkgc2VsZWN0YWJsZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNlbGVjdE1pcnJvcj86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHVuc2VsZWN0QXV0bz86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHVuc2VsZWN0Q2FuY2VsPzogc3RyaW5nO1xuICBASW5wdXQoKSBkZWZhdWx0QWxsRGF5RXZlbnREdXJhdGlvbj86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGRlZmF1bHRUaW1lZEV2ZW50RHVyYXRpb24/OiBEdXJhdGlvbklucHV0O1xuICBASW5wdXQoKSBjbWRGb3JtYXR0ZXI/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlZmF1bHRSYW5nZVNlcGFyYXRvcj86IHN0cmluZztcbiAgQElucHV0KCkgc2VsZWN0Q29uc3RyYWludD86IENvbnN0cmFpbnRJbnB1dDtcbiAgQElucHV0KCkgc2VsZWN0T3ZlcmxhcD86IGJvb2xlYW4gfCBPdmVybGFwRnVuYztcbiAgQElucHV0KCkgc2VsZWN0QWxsb3c/OiBBbGxvd0Z1bmM7XG4gIEBJbnB1dCgpIHNlbGVjdE1pbkRpc3RhbmNlPzogbnVtYmVyO1xuICBASW5wdXQoKSBlZGl0YWJsZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50U3RhcnRFZGl0YWJsZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50RHVyYXRpb25FZGl0YWJsZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGV2ZW50Q29uc3RyYWludD86IENvbnN0cmFpbnRJbnB1dDtcbiAgQElucHV0KCkgZXZlbnRPdmVybGFwPzogYm9vbGVhbiB8IE92ZXJsYXBGdW5jO1xuICBASW5wdXQoKSBldmVudEFsbG93PzogQWxsb3dGdW5jO1xuICBASW5wdXQoKSBldmVudENsYXNzTmFtZT86IHN0cmluZ1tdIHwgc3RyaW5nO1xuICBASW5wdXQoKSBldmVudENsYXNzTmFtZXM/OiBzdHJpbmdbXSB8IHN0cmluZztcbiAgQElucHV0KCkgZXZlbnRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50Qm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGV2ZW50VGV4dENvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudENvbG9yPzogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudHM/OiBFdmVudFNvdXJjZUlucHV0O1xuICBASW5wdXQoKSBldmVudFNvdXJjZXM/OiBFdmVudFNvdXJjZUlucHV0W107XG4gIEBJbnB1dCgpIGFsbERheURlZmF1bHQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBzdGFydFBhcmFtPzogc3RyaW5nO1xuICBASW5wdXQoKSBlbmRQYXJhbT86IHN0cmluZztcbiAgQElucHV0KCkgbGF6eUZldGNoaW5nPzogYm9vbGVhbjtcbiAgQElucHV0KCkgbmV4dERheVRocmVzaG9sZD86IER1cmF0aW9uSW5wdXQ7XG4gIEBJbnB1dCgpIGV2ZW50T3JkZXI/OiBzdHJpbmcgfCBBcnJheTwoKGE6IEV2ZW50QXBpLCBiOiBFdmVudEFwaSkgPT4gbnVtYmVyKSB8IChzdHJpbmcgfCAoKGE6IEV2ZW50QXBpLCBiOiBFdmVudEFwaSkgPT4gbnVtYmVyKSk+O1xuICBASW5wdXQoKSByZXJlbmRlckRlbGF5PzogbnVtYmVyIHwgbnVsbDtcbiAgQElucHV0KCkgZHJhZ1JldmVydER1cmF0aW9uPzogbnVtYmVyO1xuICBASW5wdXQoKSBkcmFnU2Nyb2xsPzogYm9vbGVhbjtcbiAgQElucHV0KCkgbG9uZ1ByZXNzRGVsYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGV2ZW50TG9uZ1ByZXNzRGVsYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIGRyb3BwYWJsZT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRyb3BBY2NlcHQ/OiBzdHJpbmcgfCAoKGRyYWdnYWJsZTogYW55KSA9PiBib29sZWFuKTtcbiAgQElucHV0KCkgZXZlbnREYXRhVHJhbnNmb3JtPzogRXZlbnRJbnB1dFRyYW5zZm9ybWVyO1xuICBASW5wdXQoKSBhbGxEYXlNYWludGFpbkR1cmF0aW9uPzogQm9vbGVhbjtcbiAgQElucHV0KCkgZXZlbnRSZXNpemFibGVGcm9tU3RhcnQ/OiBCb29sZWFuO1xuICBASW5wdXQoKSB0aW1lR3JpZEV2ZW50TWluSGVpZ2h0PzogbnVtYmVyO1xuICBASW5wdXQoKSBhbGxEYXlIdG1sPzogc3RyaW5nO1xuICBASW5wdXQoKSBldmVudERyYWdNaW5EaXN0YW5jZT86IG51bWJlcjtcbiAgQElucHV0KCkgZXZlbnRTb3VyY2VGYWlsdXJlPzogRXZlbnRTb3VyY2VFcnJvclJlc3BvbnNlSGFuZGxlcjtcbiAgQElucHV0KCkgZXZlbnRTb3VyY2VTdWNjZXNzPzogRXZlbnRTb3VyY2VTdWNjZXNzUmVzcG9uc2VIYW5kbGVyO1xuICBASW5wdXQoKSBmb3JjZUV2ZW50RHVyYXRpb24/OiBib29sZWFuO1xuICBASW5wdXQoKSBwcm9ncmVzc2l2ZUV2ZW50UmVuZGVyaW5nPzogYm9vbGVhbjtcbiAgQElucHV0KCkgc2VsZWN0TG9uZ1ByZXNzRGVsYXk/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHRpbWVab25lUGFyYW0/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRpdGxlUmFuZ2VTZXBhcmF0b3I/OiBzdHJpbmc7XG4gIC8vIGNvbXBvdW5kIE9wdGlvbnNJbnB1dC4uLlxuICBASW5wdXQoKSBidXR0b25UZXh0PzogQnV0dG9uVGV4dENvbXBvdW5kSW5wdXQ7XG4gIEBJbnB1dCgpIHZpZXdzPzogeyBbdmlld0lkOiBzdHJpbmddOiBWaWV3T3B0aW9uc0lucHV0IH07XG4gIEBJbnB1dCgpIHBsdWdpbnM/OiAoUGx1Z2luRGVmIHwgc3RyaW5nKVtdO1xuICAvLyBzY2hlZHVsZXIuLi5cbiAgQElucHV0KCkgc2NoZWR1bGVyTGljZW5zZUtleT86IHN0cmluZztcbiAgQElucHV0KCkgcmVzb3VyY2VzPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZUxhYmVsVGV4dD86IHN0cmluZztcbiAgQElucHV0KCkgcmVzb3VyY2VPcmRlcj86IGFueTtcbiAgQElucHV0KCkgZmlsdGVyUmVzb3VyY2VzV2l0aEV2ZW50cz86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VUZXh0PzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZUdyb3VwRmllbGQ/OiBhbnk7XG4gIEBJbnB1dCgpIHJlc291cmNlR3JvdXBUZXh0PzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZUFyZWFXaWR0aD86IGFueTtcbiAgQElucHV0KCkgcmVzb3VyY2VDb2x1bW5zPzogYW55O1xuICBASW5wdXQoKSByZXNvdXJjZXNJbml0aWFsbHlFeHBhbmRlZD86IGFueTtcbiAgQElucHV0KCkgc2xvdFdpZHRoPzogYW55O1xuICBASW5wdXQoKSBkYXRlc0Fib3ZlUmVzb3VyY2VzPzogYW55O1xuICBASW5wdXQoKSBnb29nbGVDYWxlbmRhckFwaUtleT86IHN0cmluZztcbiAgQElucHV0KCkgcmVmZXRjaFJlc291cmNlc09uTmF2aWdhdGU/OiBib29sZWFuO1xuICBASW5wdXQoKSBldmVudFJlc291cmNlRWRpdGFibGU/OiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSB3aW5kb3dSZXNpemUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRhdGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRNb3VzZUVudGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudE1vdXNlTGVhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgdW5zZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGxvYWRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50UG9zaXRpb25lZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnREcmFnU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50RHJhZ1N0b3AgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50RHJvcCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRSZXNpemVTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRSZXNpemVTdG9wID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudFJlc2l6ZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZHJvcCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRSZWNlaXZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBldmVudExlYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBfZGVzdHJveWVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIC8vIFRPRE86IG1ha2UgdGhlc2UgaW5wdXRzLi4uXG4gIEBPdXRwdXQoKSB2aWV3U2tlbGV0b25SZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIHZpZXdTa2VsZXRvbkRlc3Ryb3kgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRhdGVzUmVuZGVyID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBkYXRlc0Rlc3Ryb3kgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGRheVJlbmRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgZXZlbnRSZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQE91dHB1dCgpIGV2ZW50RGVzdHJveSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgcmVzb3VyY2VSZW5kZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbn1cbiJdfQ==
import deepEqual from 'fast-deep-equal';
import deepCopy from 'deep-copy';
import { Calendar } from '@fullcalendar/core';

@@ -10,3 +9,47 @@ import { Component, ElementRef, Input, Output, EventEmitter, NgModule } from '@angular/core';

*/
/** @type {?} */
const hasOwnProperty = Object.prototype.hasOwnProperty;
/*
Really simple clone utility. Only copies plain arrays and objects. Transfers everything else as-is.
Wanted to use a third-party lib, but none did exactly this.
*/
/**
* @param {?} input
* @return {?}
*/
function deepCopy(input) {
if (Array.isArray(input)) {
return input.map(deepCopy);
}
else if (input instanceof Date) {
return new Date(input.valueOf());
}
else if (typeof input === 'object' && input) { // non-null object
return mapHash(input, deepCopy);
}
else { // everything else (null, function, etc)
return input;
}
}
/**
* @param {?} input
* @param {?} func
* @return {?}
*/
function mapHash(input, func) {
/** @type {?} */
const output = {};
for (const key in input) {
if (hasOwnProperty.call(input, key)) {
output[key] = func(input[key], key);
}
}
return output;
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
the docs point to this file as an index of options.

@@ -13,0 +56,0 @@ when this files is moved, update the docs.

import { __spread } from 'tslib';
import deepEqual from 'fast-deep-equal';
import deepCopy from 'deep-copy';
import { Calendar } from '@fullcalendar/core';

@@ -11,3 +10,47 @@ import { Component, ElementRef, Input, Output, EventEmitter, NgModule } from '@angular/core';

*/
/** @type {?} */
var hasOwnProperty = Object.prototype.hasOwnProperty;
/*
Really simple clone utility. Only copies plain arrays and objects. Transfers everything else as-is.
Wanted to use a third-party lib, but none did exactly this.
*/
/**
* @param {?} input
* @return {?}
*/
function deepCopy(input) {
if (Array.isArray(input)) {
return input.map(deepCopy);
}
else if (input instanceof Date) {
return new Date(input.valueOf());
}
else if (typeof input === 'object' && input) { // non-null object
return mapHash(input, deepCopy);
}
else { // everything else (null, function, etc)
return input;
}
}
/**
* @param {?} input
* @param {?} func
* @return {?}
*/
function mapHash(input, func) {
/** @type {?} */
var output = {};
for (var key in input) {
if (hasOwnProperty.call(input, key)) {
output[key] = func(input[key], key);
}
}
return output;
}
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/*
the docs point to this file as an index of options.

@@ -14,0 +57,0 @@ when this files is moved, update the docs.

{
"name": "@fullcalendar/angular",
"version": "4.2.0",
"version": "4.2.1",
"title": "FullCalendar Angular Component",

@@ -19,3 +19,2 @@ "description": "An official FullCalendar component for Angular",

"@fullcalendar/core": "~4.2.0",
"deep-copy": "^1.4.2",
"fast-deep-equal": "^2.0.1",

@@ -22,0 +21,0 @@ "tslib": "^1.9.0"

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc