@syncfusion/ej2-angular-base 31.1.17 → 31.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"ej2-angular-base.es5.js","sources":["../../src/util.js","../../src/complex-array-base.js","../../src/component-base.js","../../src/form-base.js","../../src/template.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\nimport { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n *\n * @param {Function} derivedClass The derived class to which mixins are applied.\n * @param {Function[]} baseClass An array of base classes whose methods are applied as mixins.\n * @returns {void}\n */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(function (baseClass) {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(function (name) {\n if (!Object.prototype.hasOwnProperty.call(derivedClass.prototype, name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[\"\".concat(name)] = baseClass.prototype[\"\".concat(name)];\n }\n });\n });\n}\n/**\n * Decorator function to apply mixins to a derived class.\n *\n * @param {Function[]} baseClass - An array of mixin classes to be applied to the derived class.\n * @returns {ClassDecorator} The decorator function.\n */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * Registers events.\n *\n * @private\n * @param {string[]} eventList - The list of events to register.\n * @param {any} obj - The object on which to register the events.\n * @param {boolean} [direct] - Whether to register events directly on the object or not.\n * @returns {void}\n */\nexport function registerEvents(eventList, obj, direct) {\n var ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (var _i = 0, eventList_1 = eventList; _i < eventList_1.length; _i++) {\n var event_1 = eventList_1[_i];\n if (direct === true) {\n obj.propCollection[\"\".concat(event_1)] = new EventEmitter(false);\n obj[\"\".concat(event_1)] = obj.propCollection[\"\".concat(event_1)];\n }\n else {\n ngEventsEmitter[\"\".concat(event_1)] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * Clears registered templates.\n *\n * @private\n * @param {any} _this - The context object.\n * @param {string[]} [templateNames] - Optional. An array of template names to clear.\n * @param {any[]} [index] - Optional. An array of indices specifying templates to clear.\n * @returns {void}\n */\nexport function clearTemplate(_this, templateNames, index) {\n var _a;\n var regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n var regProperties = templateNames && templateNames.filter(function (val) {\n return (/\\./g.test(val) ? false : true);\n });\n var tabaccordionTemp = /tab|accordion|toolbar/.test((_a = _this.getModuleName) === null || _a === void 0 ? void 0 : _a.call(_this));\n for (var _i = 0, _b = (regProperties && regProperties || regTemplates); _i < _b.length; _i++) {\n var registeredTemplate = _b[_i];\n /* istanbul ignore next */\n if (index && index.length) {\n for (var e = 0; e < index.length; e++) {\n if (tabaccordionTemp) {\n for (var m = 0; m < _this.registeredTemplate[\"\".concat(registeredTemplate)].length; m++) {\n var value = _this.registeredTemplate[\"\".concat(registeredTemplate)][parseInt(m.toString(), 10)];\n if (value && value === index[\"\".concat(e)]) {\n value.destroy();\n _this.registeredTemplate[\"\".concat(registeredTemplate)].splice(m, 1);\n }\n }\n }\n else {\n for (var m = 0; m < _this.registeredTemplate.template.length; m++) {\n var value = _this.registeredTemplate.template[parseInt(m.toString(), 10)].rootNodes[0];\n if (value === index[\"\".concat(e)]) {\n var rt = _this.registeredTemplate[\"\".concat(registeredTemplate)];\n rt[parseInt(m.toString(), 10)].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[\"\".concat(registeredTemplate)]) {\n for (var _c = 0, _d = _this.registeredTemplate[\"\".concat(registeredTemplate)]; _c < _d.length; _c++) {\n var rt = _d[_c];\n if (!rt.destroyed) {\n if (rt._view) {\n var pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (var m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[parseInt(m.toString(), 10)]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabaccordionTemp || !index) {\n delete _this.registeredTemplate[\"\".concat(registeredTemplate)];\n }\n }\n }\n var _loop_1 = function (tagObject) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter(function (val) {\n var regExp = RegExp;\n return (new regExp(tagObject.name).test(val) ? true : false);\n })));\n }\n };\n for (var _e = 0, _f = _this.tagObjects; _e < _f.length; _e++) {\n var tagObject = _f[_e];\n _loop_1(tagObject);\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n *\n * @param {string} nameSpace - String value to get the inner object.\n * @param {any} value - Value that you need to set.\n * @param {any} object - Object to get the inner object value.\n * @returns {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n var keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n var fromObj = object || {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[parseInt(i.toString(), 10)];\n if (i + 1 === keys.length) {\n fromObj[\"\".concat(key)] = value === undefined ? {} : value;\n }\n else if (fromObj[\"\".concat(key)] === undefined) {\n fromObj[\"\".concat(key)] = {};\n }\n fromObj = fromObj[\"\".concat(key)];\n }\n return fromObj;\n}\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nvar refRegex = /Ref$/;\nvar ComplexBase = /** @class */ (function () {\n function ComplexBase() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ComplexBase.prototype.ngOnInit = function () {\n this.registeredTemplate = {};\n for (var _i = 0, _a = this.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var objInstance = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), this);\n if (objInstance) {\n this.tagObjects.push({ instance: objInstance, name: tag });\n }\n }\n var templateProperties = Object.keys(this);\n for (var i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[parseInt(i.toString(), 10)], this);\n if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {\n if (!getValue(templateProperties[parseInt(i.toString(), 10)].indexOf('Ref') !== -1 ? templateProperties[parseInt(i.toString(), 10)] : templateProperties[parseInt(i.toString(), 10)] + 'Ref', this)) {\n setValue(templateProperties[parseInt(i.toString(), 10)].indexOf('Ref') !== -1 ? templateProperties[parseInt(i.toString(), 10)] : templateProperties[parseInt(i.toString(), 10)] + 'Ref', tempProp, this);\n }\n if (getValue('viewContainerRef', this) && !getValue('_viewContainerRef', tempProp.elementRef.nativeElement) && !getValue('propName', tempProp.elementRef.nativeElement)) {\n setValue('_viewContainerRef', getValue('viewContainerRef', this), tempProp.elementRef.nativeElement);\n setValue('propName', templateProperties[parseInt(i.toString(), 10)].replace('Ref', ''), tempProp.elementRef.nativeElement);\n }\n }\n }\n templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n for (var _b = 0, templateProperties_1 = templateProperties; _b < templateProperties_1.length; _b++) {\n var tempName = templateProperties_1[_b];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n // Angular 9 compatibility to overcome ngOnchange not get triggered issue\n // To Update properties to \"this.propCollection\"\n var propList = Object.keys(this);\n /* istanbul ignore next */\n if (this.directivePropList) {\n for (var k = 0; k < this.directivePropList.length; k++) {\n var dirPropName = this.directivePropList[parseInt(k.toString(), 10)];\n if (propList.indexOf(dirPropName) !== -1 && (getValue(dirPropName, this) === false || getValue(dirPropName, this))) {\n setValue(dirPropName, getValue(dirPropName, this), this.propCollection);\n }\n }\n this.hasChanges = true;\n }\n this.isInitChanges = true;\n };\n ComplexBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this, true);\n };\n ComplexBase.prototype.ngOnChanges = function (changes) {\n for (var _i = 0, _a = Object.keys(changes); _i < _a.length; _i++) {\n var propName = _a[_i];\n var changedVal = changes[\"\".concat(propName)];\n this.propCollection[\"\".concat(propName)] = changedVal.currentValue;\n }\n this.isUpdated = false;\n this.hasChanges = true;\n };\n /* istanbul ignore next */\n ComplexBase.prototype.clearTemplate = function (templateNames) {\n clearTemplate(this, templateNames);\n };\n ComplexBase.prototype.getProperties = function () {\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n this.propCollection[tagObject.name] = tagObject.instance.getProperties();\n }\n return this.propCollection;\n };\n ComplexBase.prototype.isChanged = function () {\n var result = this.hasChanges;\n if (!isNullOrUndefined(this.propCollection[this.property])) {\n var tempProps = this.propCollection[this.property];\n var props = Object.keys(tempProps[0]);\n for (var d = 0; d < props.length; d++) {\n if (!isNullOrUndefined(this.propCollection[props[parseInt(d.toString(), 10)]])) {\n var val = getValue(props[parseInt(d.toString(), 10)], this);\n var propVal = this.propCollection[this.property][0][props[parseInt(d.toString(), 10)]];\n if (!isNullOrUndefined(val) && this.propCollection[props[parseInt(d.toString(), 10)]] !== val\n && propVal !== val) {\n setValue(props[parseInt(d.toString(), 10)], val, this.propCollection[this.property][0]);\n setValue(props[parseInt(d.toString(), 10)], val, this.propCollection);\n this.hasChanges = true;\n this.isUpdated = false;\n }\n }\n }\n }\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.instance.hasChanges;\n }\n return result || this.hasChanges;\n };\n ComplexBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n if (this.isInitChanges || this.hasChanges) {\n var templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return refRegex.test(val);\n });\n for (var _i = 0, templateProperties_2 = templateProperties; _i < templateProperties_2.length; _i++) {\n var tempName = templateProperties_2[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n }\n };\n ComplexBase.prototype.ngAfterViewChecked = function () {\n /* istanbul ignore next */\n if (this.isUpdated) {\n this.hasChanges = false;\n }\n };\n ComplexBase.prototype.ngAfterViewInit = function () {\n /* istanbul ignore next */\n this.isInitChanges = false;\n };\n ComplexBase.prototype.ngOnDestroy = function () {\n /* istanbul ignore next */\n this.directivePropList = [];\n };\n return ComplexBase;\n}());\nexport { ComplexBase };\nvar ArrayBase = /** @class */ (function () {\n function ArrayBase(propertyName) {\n this.list = [];\n this.hasChanges = false;\n this.propertyName = propertyName;\n }\n ArrayBase.prototype.ngOnInit = function () {\n this.isInitChanges = true;\n };\n ArrayBase.prototype.ngAfterContentInit = function () {\n var _this = this;\n var index = 0;\n /* istanbul ignore next */\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n this.hasChanges = true;\n };\n ArrayBase.prototype.getProperties = function () {\n var onlyProp = [];\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n onlyProp.push(item.getProperties());\n }\n return onlyProp;\n };\n ArrayBase.prototype.isChanged = function () {\n var _this = this;\n var result = false;\n var index = 0;\n var isSourceChanged = false;\n var childrenDataSource = this.children.map(function (child) {\n return child;\n });\n /* istanbul ignore next */\n if (this.list.length === this.children.length) {\n for (var i = 0; i < this.list.length; i++) {\n if (this.list[parseInt(i.toString(), 10)].propCollection.dataSource) {\n if (this.list[parseInt(i.toString(), 10)].dataSource &&\n this.list[parseInt(i.toString(), 10)].propCollection.dataSource\n !== this.list[parseInt(i.toString(), 10)].dataSource) {\n this.list[parseInt(i.toString(), 10)].propCollection.dataSource = this.list[parseInt(i.toString(), 10)].dataSource;\n this.list[parseInt(i.toString(), 10)].hasChanges = true;\n }\n if (this.list[parseInt(i.toString(), 10)].property !== 'series') {\n isSourceChanged = (JSON.stringify(this.list[parseInt(i.toString(), 10)].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[parseInt(i.toString(), 10)].propCollection.dataSource));\n }\n }\n isSourceChanged = this.list[parseInt(i.toString(), 10)].hasChanges\n !== childrenDataSource[parseInt(i.toString(), 10)].hasChanges;\n }\n }\n this.hasNewChildren = (this.list.length !== this.children.length || isSourceChanged) ? true : null;\n if (this.hasNewChildren) {\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n };\n ArrayBase.prototype.clearTemplate = function (templateNames) {\n var _this = this;\n /* istanbul ignore next */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n item.clearTemplate(templateNames && templateNames.map(function (val) {\n var regExp = RegExp;\n return new regExp(_this.propertyName).test(val) ? val.replace(_this.propertyName + '.', '') : val;\n }));\n }\n };\n ArrayBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n for (var i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[parseInt(i.toString(), 10)]) && getValue('property', this.list[parseInt(i.toString(), 10)]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[parseInt(i.toString(), 10)]).getProperties(), this.list[parseInt(i.toString(), 10)].propCollection);\n }\n this.list[parseInt(i.toString(), 10)].isUpdated = true;\n }\n };\n ArrayBase.prototype.ngAfterViewInit = function () {\n this.isInitChanges = false;\n };\n ArrayBase.prototype.ngOnDestroy = function () {\n this.list = [];\n };\n return ArrayBase;\n}());\nexport { ArrayBase };\n","/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\n/**\n * Angular Component Base Module\n */\nimport { getValue, isUndefined, setValue, isNullOrUndefined, attributes, createElement } from '@syncfusion/ej2-base';\nimport { EventEmitter } from '@angular/core';\nimport { clearTemplate, registerEvents } from './util';\nvar ComponentBase = /** @class */ (function () {\n function ComponentBase() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n ComponentBase.prototype.saveChanges = function (key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[\"\".concat(key)] = oldValue;\n this.changedProperties[\"\".concat(key)] = newValue;\n this.finalUpdate();\n var changeTime = setTimeout(this.dataBind.bind(this));\n var clearUpdate = function () {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n };\n ComponentBase.prototype.ngOnInit = function (isTempRef) {\n var tempOnThis = isTempRef || this;\n tempOnThis.registeredTemplate = {};\n tempOnThis.ngBoundedEvents = {};\n tempOnThis.isAngular = true;\n tempOnThis.isFormInit = true;\n /* istanbul ignore next */\n if (isTempRef) {\n this.tags = isTempRef.tags;\n }\n tempOnThis.tags = this.tags || [];\n tempOnThis.complexTemplate = this.complexTemplate || [];\n tempOnThis.tagObjects = [];\n tempOnThis.ngAttr = this.getAngularAttr(tempOnThis.element);\n /* istanbul ignore next */\n tempOnThis.createElement = function (tagName, prop) {\n var ele = tempOnThis.srenderer ? tempOnThis.srenderer.createElement(tagName) : createElement(tagName);\n if (typeof (prop) === 'undefined') {\n return ele;\n }\n ele.innerHTML = (prop.innerHTML ? prop.innerHTML : '');\n if (prop.className !== undefined) {\n ele.className = prop.className;\n }\n if (prop.id !== undefined) {\n ele.id = prop.id;\n }\n if (prop.styles !== undefined) {\n ele.setAttribute('style', prop.styles);\n }\n if (tempOnThis.ngAttr !== undefined) {\n ele.setAttribute(tempOnThis.ngAttr, '');\n }\n if (prop.attrs !== undefined) {\n attributes(ele, prop.attrs);\n }\n return ele;\n };\n for (var _i = 0, _a = tempOnThis.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var tagObject = {\n instance: getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tempOnThis),\n name: tag\n };\n tempOnThis.tagObjects.push(tagObject);\n }\n var complexTemplates = Object.keys(tempOnThis);\n for (var i = 0; i < complexTemplates.length; i++) {\n var compProp = getValue(complexTemplates[parseInt(i.toString(), 10)], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[parseInt(i.toString(), 10)].indexOf('_') !== -1 && complexTemplates[parseInt(i.toString(), 10)].indexOf('Ref') === -1) {\n setValue(complexTemplates[parseInt(i.toString(), 10)] + 'Ref', compProp, tempOnThis);\n }\n if (tempOnThis.viewContainerRef && !getValue('_viewContainerRef', compProp.elementRef.nativeElement) && !getValue('propName', compProp.elementRef.nativeElement)) {\n setValue('_viewContainerRef', tempOnThis.viewContainerRef, compProp.elementRef.nativeElement);\n setValue('propName', complexTemplates[parseInt(i.toString(), 10)].replace('Ref', ''), compProp.elementRef.nativeElement);\n }\n }\n }\n complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val) && /_/i.test(val);\n });\n for (var _b = 0, complexTemplates_1 = complexTemplates; _b < complexTemplates_1.length; _b++) {\n var tempName = complexTemplates_1[_b];\n var propName = tempName.replace('Ref', '');\n var val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n };\n ComponentBase.prototype.getAngularAttr = function (ele) {\n var attributes = ele.attributes;\n var length = attributes.length;\n var ngAr;\n for (var i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[parseInt(i.toString(), 10)].name)) {\n ngAr = attributes[parseInt(i.toString(), 10)].name;\n }\n }\n return ngAr;\n };\n ComponentBase.prototype.ngAfterViewInit = function (isTempRef) {\n var tempAfterViewThis = isTempRef || this;\n var regExp = /ejs-tab|ejs-accordion/g;\n /* istanbul ignore next */\n if (regExp.test(tempAfterViewThis.ngEle.nativeElement.outerHTML)) {\n tempAfterViewThis.ngEle.nativeElement.style.visibility = 'hidden';\n }\n /**\n * Root level template properties are not getting rendered,\n * Due to ngonchanges not get triggered.\n * so that we have set template value for root level template properties,\n * for example: refer below syntax\n * ```html\n * <ejs-grid>\n * <e-column></e-column>\n * <ng-template #editSettingsTemplate></ng-template>\n * </ejs-grid>\n * ```\n */\n var templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n var ngtempRef = tempAfterViewThis.getModuleName() === 'DocumentEditor';\n for (var _i = 0, templateProperties_1 = templateProperties; _i < templateProperties_1.length; _i++) {\n var tempName = templateProperties_1[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName + 'Ref', tempAfterViewThis), tempAfterViewThis);\n }\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n var appendToComponent = function (tempAfterViewThis) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined' && tempAfterViewThis.element) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n };\n if (!ngtempRef && !tempAfterViewThis.getModuleName().includes('btn')) {\n setTimeout(function () {\n appendToComponent(tempAfterViewThis);\n });\n }\n else {\n appendToComponent(tempAfterViewThis);\n }\n };\n ComponentBase.prototype.ngOnDestroy = function (isTempRef) {\n var tempOnDestroyThis = isTempRef || this;\n /* istanbul ignore else */\n setTimeout(function () {\n if (typeof window !== 'undefined' && (tempOnDestroyThis.element.classList.contains('e-control'))) {\n if (tempOnDestroyThis.ngOnFocus !== undefined && tempOnDestroyThis.ngOnBlur !== undefined) {\n var ele = tempOnDestroyThis.inputElement || tempOnDestroyThis.element;\n ele.removeEventListener('focus', tempOnDestroyThis.ngOnFocusBound);\n ele.removeEventListener('blur', tempOnDestroyThis.ngOnBlurBound);\n tempOnDestroyThis.ngOnFocusBound = null;\n tempOnDestroyThis.ngOnBlurBound = null;\n }\n tempOnDestroyThis.destroy();\n tempOnDestroyThis.clearTemplate(null);\n // removing bounded events and tagobjects from component after destroy\n setTimeout(function () {\n for (var _i = 0, _a = Object.keys(tempOnDestroyThis); _i < _a.length; _i++) {\n var key = _a[_i];\n var value = tempOnDestroyThis[\"\".concat(key)];\n if (value && /object/.test(typeof value) && Object.keys(value).length !== 0) {\n if (/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(key)) {\n for (var _b = 0, _c = Object.keys(tempOnDestroyThis[\"\".concat(key)]); _b < _c.length; _b++) {\n var propKey = _c[_b];\n var propValue = value[\"\".concat(propKey)];\n if (propValue && /object/.test(typeof propValue) && Object.keys(propValue).length !== 0 && (propValue.parent || propValue.parentObj)) {\n tempOnDestroyThis[\"\".concat(key)][\"\".concat(propKey)] = null;\n }\n }\n }\n else {\n if (value.parent || value.parentObj) {\n tempOnDestroyThis[\"\".concat(key)] = null;\n }\n }\n }\n }\n });\n }\n });\n };\n ComponentBase.prototype.clearTemplate = function (templateNames, index) {\n clearTemplate(this, templateNames, index);\n };\n ComponentBase.prototype.ngAfterContentChecked = function (isTempRef) {\n var tempAfterContentThis = isTempRef || this;\n for (var _i = 0, _a = tempAfterContentThis.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n var propObj = {};\n if (tagObject.instance.isInitChanges) {\n // For angular 9 compatibility\n // Not able to get complex directive properties reference ni Onint hook\n // So we have constructed property here and used\n var complexDirProps = void 0;\n var list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n var skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n var compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (var h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[\"\".concat(h)].propCollection[tagObject.instance.propertyName] = [];\n var obj = {};\n for (var k = 0; k < compDirPropList.length; k++) {\n var complexPropName = compDirPropList[parseInt(k.toString(), 10)];\n obj[\"\".concat(complexPropName)] = tagObject.instance.list[\"\".concat(h)].propCollection[\"\".concat(complexPropName)];\n }\n var _loop_1 = function (i) {\n var tag = tagObject.instance.list[\"\".concat(h)].tags[parseInt(i.toString(), 10)];\n var childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[\"\".concat(h)]);\n if (childObj) {\n var innerchildObj = tagObject.instance.list[\"\".concat(h)]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];\n // Update the inner child tag objects\n var updateChildTag_1 = function (innerchild) {\n var innerLevelTag = [];\n if (innerchild) {\n for (var j = 0; j < innerchild.list.length; j++) {\n var innerTag = innerchild.list[0].tags[0];\n if (innerTag) {\n var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchild.list[parseInt(j.toString(), 10)]);\n if (innerchildTag) {\n innerchild.list[parseInt(j.toString(), 10)].tagObjects\n .push({ instance: innerchildTag, name: innerTag });\n innerLevelTag.push(innerchildTag);\n }\n }\n }\n }\n // check for inner level tag\n if (innerLevelTag.length !== 0) {\n for (var l = 0; l < innerLevelTag.length; l++) {\n updateChildTag_1(innerLevelTag[parseInt(l.toString(), 10)]);\n }\n }\n };\n updateChildTag_1(innerchildObj);\n tagObject.instance.list[\"\".concat(h)].tagObjects.push({ instance: childObj, name: tag });\n }\n };\n for (var i = 0; i < tagObject.instance.list[\"\".concat(h)].tags.length; i++) {\n _loop_1(i);\n }\n tagObject.instance.list[\"\".concat(h)].propCollection[tagObject.instance.propertyName].push(obj);\n }\n }\n // End angular 9 compatibility\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n else {\n /* istanbul ignore next */\n var hasDiffLength = false;\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n hasDiffLength = true;\n }\n for (var _b = 0, _c = tagObject.instance.list; _b < _c.length; _b++) {\n var list = _c[_b];\n if (list.tags) {\n for (var _d = 0, _e = list.tags; _d < _e.length; _d++) {\n var tag = _e[_d];\n var innerChild = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), list);\n if (innerChild) {\n list.tagObjects.push({ instance: innerChild, name: tag });\n }\n }\n }\n var curIndex = tagObject.instance.list.indexOf(list);\n var curChild = getValue(tagObject.name, tempAfterContentThis)[\"\".concat(curIndex)];\n var complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0) {\n for (var _f = 0, complexTemplates_2 = complexTemplates; _f < complexTemplates_2.length; _f++) {\n var complexPropName = complexTemplates_2[_f];\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[\"\".concat(complexPropName)] = !curChild.properties[\"\".concat(complexPropName)] ?\n curChild.propCollection[\"\".concat(complexPropName)] : curChild.properties[\"\".concat(complexPropName)];\n }\n }\n if (!isUndefined(curChild) && !isUndefined(curChild.setProperties)) {\n if (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName())) {\n curChild.setProperties(list.getProperties(), true);\n }\n else {\n curChild.setProperties(list.getProperties());\n }\n }\n list.isUpdated = true;\n }\n if ((/grid/.test(tempAfterContentThis.getModuleName()) && hasDiffLength) || /chart/.test(tempAfterContentThis.getModuleName())) {\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n }\n }\n }\n };\n ComponentBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this);\n };\n ComponentBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = getValue(prop, this.properties);\n if (oldVal === newVal) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n ComponentBase.prototype.addTwoWay = function (propList) {\n var _this = this;\n var _loop_2 = function (prop) {\n getValue(prop, this_1);\n Object.defineProperty(this_1, prop, {\n get: function () {\n return getValue(prop, _this.properties);\n },\n set: function (newVal) { return _this.twoWaySetter(newVal, prop); }\n });\n setValue(prop + 'Change', new EventEmitter(), this_1);\n };\n var this_1 = this;\n for (var _i = 0, propList_1 = propList; _i < propList_1.length; _i++) {\n var prop = propList_1[_i];\n _loop_2(prop);\n }\n };\n ComponentBase.prototype.addEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[\"\".concat(eventName)]) {\n this.ngBoundedEvents[\"\".concat(eventName)] = new Map();\n }\n this.ngBoundedEvents[\"\".concat(eventName)].set(handler, eventObj.subscribe(handler));\n }\n };\n ComponentBase.prototype.removeEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[\"\".concat(eventName)].get(handler).unsubscribe();\n }\n };\n ComponentBase.prototype.trigger = function (eventName, eventArgs, success) {\n var eventObj = getValue(eventName, this);\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = false;\n if (eventArgs) {\n eventArgs.name = eventName;\n }\n if (!isUndefined(eventObj)) {\n eventObj.next(eventArgs);\n }\n var localEventObj = getValue('local' + eventName.charAt(0).toUpperCase() + eventName.slice(1), this);\n if (!isUndefined(localEventObj)) {\n localEventObj.call(this, eventArgs);\n }\n this.isProtectedOnChange = prevDetection;\n /* istanbul ignore else */\n if (success) {\n this.preventChange = this.isPreventChange;\n success.call(this, eventArgs);\n }\n this.isPreventChange = false;\n };\n return ComponentBase;\n}());\nexport { ComponentBase };\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nvar FormBase = /** @class */ (function () {\n function FormBase() {\n }\n FormBase.prototype.propagateChange = function (_) { return; };\n FormBase.prototype.propagateTouch = function () { return; };\n FormBase.prototype.localChange = function (e) {\n var value = (e.checked === undefined ? e.value : e.checked);\n this.objCheck = isObject(value);\n if (this.isUpdated === true) {\n this.angularValue = this.oldValue;\n }\n if (this.objCheck === true) {\n this.duplicateValue = JSON.stringify(value);\n this.duplicateAngularValue = JSON.stringify(this.angularValue);\n if (this.duplicateValue !== this.duplicateAngularValue && this.propagateChange !== undefined && value !== undefined) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n }\n else {\n if (value !== this.angularValue && this.propagateChange !== undefined && value !== undefined) {\n // While reset form using reset() method ng-dirty not get updated, so while value is empty just update angularValue only\n if (value !== '' && value !== null) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n else {\n var optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.registerOnChange = function (registerFunction) {\n this.propagateChange = registerFunction;\n };\n FormBase.prototype.registerOnTouched = function (registerFunction) {\n this.propagateTouch = registerFunction;\n };\n FormBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = this.oldValue || getValue(prop, this.properties);\n var ele = this.inputElement || this.element;\n if (ele && oldVal === newVal && this.value === newVal &&\n (ele.value === undefined || ele.value === '')) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n FormBase.prototype.ngAfterViewInit = function (isTempRef) {\n var tempFormAfterViewThis = isTempRef || this;\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n // Removed setTimeout, Because we have called markForCheck() method in Angular Template Compiler\n /* istanbul ignore else */\n tempFormAfterViewThis.ngOnBlurBound = this.ngOnBlur.bind(this);\n tempFormAfterViewThis.ngOnFocusBound = this.ngOnFocus.bind(this);\n if (typeof window !== 'undefined') {\n if ((tempFormAfterViewThis.getModuleName()).includes('dropdowntree')) {\n setTimeout(function () {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n });\n }\n else {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n }\n var ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocusBound);\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlurBound);\n }\n this.isFormInit = false;\n };\n FormBase.prototype.setDisabledState = function (disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n };\n FormBase.prototype.writeValue = function (value) {\n var regExp = /ejs-radiobutton/g;\n //update control value from angular\n if (this.checked === undefined) {\n this.value = value;\n }\n else {\n // To resolve boolean type formControl value is not working for radio button control.\n /* istanbul ignore next */\n if (this.ngEle) {\n if (typeof value === 'boolean') {\n if (regExp.test(this.ngEle.nativeElement.outerHTML)) {\n this.checked = value === this.value;\n }\n else {\n this.checked = value;\n }\n }\n else {\n this.checked = value === this.value;\n }\n }\n }\n var isNullValue = this.angularValue == null;\n this.angularValue = value;\n this.isUpdated = true;\n // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.\n // To prevent change event, trigger change in component side based on `preventChange` value\n this.preventChange = this.isFormInit ? false : true;\n this.cdr.markForCheck();\n if (value === null) {\n if (isNullValue) {\n this.preventChange = false;\n }\n return;\n }\n };\n FormBase.prototype.ngOnFocus = function (e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.ngOnBlur = function (e) {\n this.propagateTouch();\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.blur.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.isFormBase = true;\n return FormBase;\n}());\nexport { FormBase };\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\n *\n * @param {AngularElementType} templateEle - The element representing the template.\n * @param {Object} [helper] - Optional helper object.\n * @returns {Function} A function that compiles the template.\n */\nexport function compile(templateEle, helper) {\n if (typeof templateEle === 'string' || (typeof templateEle === 'function' && templateEle.prototype && templateEle.prototype.CSPTemplate)) {\n return stringCompiler(templateEle, helper);\n }\n else {\n var contRef_1 = templateEle.elementRef.nativeElement._viewContainerRef;\n var pName_1 = templateEle.elementRef.nativeElement.propName;\n return function (data, component, propName) {\n var context = { $implicit: data };\n /* istanbul ignore next */\n var conRef = contRef_1 ? contRef_1 : component.viewContainerRef;\n var viewRef = conRef.createEmbeddedView(templateEle, context);\n if (/EJS-MENTION|EJS-DROPDOWNLIST/.test(getValue('currentInstance.element.nodeName', conRef)) ||\n (/E-TABITEM/.test(getValue('element.nativeElement.nodeName', conRef)) &&\n getValue('currentInstance.headerTemplateRef', conRef))) {\n viewRef.detectChanges();\n }\n else {\n viewRef.markForCheck();\n }\n /* istanbul ignore next */\n var viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName_1;\n if (typeof viewCollection[\"\".concat(propName)] === 'undefined') {\n viewCollection[\"\".concat(propName)] = [];\n }\n viewCollection[\"\".concat(propName)].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n *\n * @param {Object} [defaultValue] - Default value for the property.\n * @returns {PropertyDecorator} The decorator function.\n */\nexport function Template(defaultValue) {\n return function (target, key) {\n var propertyDescriptor = {\n set: setter(key),\n get: getter(key, defaultValue),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(target, key, propertyDescriptor);\n };\n}\n/**\n * Creates a setter function for a given property key.\n *\n * @param {string} key - The property key.\n * @returns {Function} The setter function.\n */\nfunction setter(key) {\n return function (val) {\n if (val === undefined) {\n return;\n }\n setValue(key + 'Ref', val, this);\n if (typeof val !== 'string') {\n val.elementRef.nativeElement._viewContainerRef = this.viewContainerRef;\n val.elementRef.nativeElement.propName = key;\n }\n else {\n if (this.saveChanges) {\n this.saveChanges(key, val, undefined);\n this.dataBind();\n }\n }\n };\n}\n/**\n * Returns a getter function for the specified key and default value.\n *\n * @param {string} key - The key for the property.\n * @param {Object} defaultValue - The default value for the property.\n * @returns {Function} The getter function.\n */\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\nsetTemplateEngine({ compile: compile });\n"],"names":["setValue"],"mappings":"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"}
1
+ {"version":3,"file":"ej2-angular-base.es5.js","sources":["../../src/util.js","../../src/complex-array-base.js","../../src/component-base.js","../../src/form-base.js","../../src/template.js"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\nimport { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n *\n * @param {Function} derivedClass The derived class to which mixins are applied.\n * @param {Function[]} baseClass An array of base classes whose methods are applied as mixins.\n * @returns {void}\n */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(function (baseClass) {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(function (name) {\n if (!Object.prototype.hasOwnProperty.call(derivedClass.prototype, name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[\"\".concat(name)] = baseClass.prototype[\"\".concat(name)];\n }\n });\n });\n}\n/**\n * Decorator function to apply mixins to a derived class.\n *\n * @param {Function[]} baseClass - An array of mixin classes to be applied to the derived class.\n * @returns {ClassDecorator} The decorator function.\n */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * Registers events.\n *\n * @private\n * @param {string[]} eventList - The list of events to register.\n * @param {any} obj - The object on which to register the events.\n * @param {boolean} [direct] - Whether to register events directly on the object or not.\n * @returns {void}\n */\nexport function registerEvents(eventList, obj, direct) {\n var ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (var _i = 0, eventList_1 = eventList; _i < eventList_1.length; _i++) {\n var event_1 = eventList_1[_i];\n if (direct === true) {\n obj.propCollection[\"\".concat(event_1)] = new EventEmitter(false);\n obj[\"\".concat(event_1)] = obj.propCollection[\"\".concat(event_1)];\n }\n else {\n ngEventsEmitter[\"\".concat(event_1)] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * Clears registered templates.\n *\n * @private\n * @param {any} _this - The context object.\n * @param {string[]} [templateNames] - Optional. An array of template names to clear.\n * @param {any[]} [index] - Optional. An array of indices specifying templates to clear.\n * @returns {void}\n */\nexport function clearTemplate(_this, templateNames, index) {\n var _a;\n var regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n var regProperties = templateNames && templateNames.filter(function (val) {\n return (/\\./g.test(val) ? false : true);\n });\n var tabaccordionTemp = /tab|accordion|toolbar/.test((_a = _this.getModuleName) === null || _a === void 0 ? void 0 : _a.call(_this));\n for (var _i = 0, _b = (regProperties && regProperties || regTemplates); _i < _b.length; _i++) {\n var registeredTemplate = _b[_i];\n /* istanbul ignore next */\n if (index && index.length) {\n for (var e = 0; e < index.length; e++) {\n if (tabaccordionTemp) {\n for (var m = 0; m < _this.registeredTemplate[\"\".concat(registeredTemplate)].length; m++) {\n var value = _this.registeredTemplate[\"\".concat(registeredTemplate)][parseInt(m.toString(), 10)];\n if (value && value === index[\"\".concat(e)]) {\n value.destroy();\n _this.registeredTemplate[\"\".concat(registeredTemplate)].splice(m, 1);\n }\n }\n }\n else {\n for (var m = 0; m < _this.registeredTemplate.template.length; m++) {\n var value = _this.registeredTemplate.template[parseInt(m.toString(), 10)].rootNodes[0];\n if (value === index[\"\".concat(e)]) {\n var rt = _this.registeredTemplate[\"\".concat(registeredTemplate)];\n rt[parseInt(m.toString(), 10)].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[\"\".concat(registeredTemplate)]) {\n for (var _c = 0, _d = _this.registeredTemplate[\"\".concat(registeredTemplate)]; _c < _d.length; _c++) {\n var rt = _d[_c];\n if (!rt.destroyed) {\n if (rt._view) {\n var pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (var m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[parseInt(m.toString(), 10)]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabaccordionTemp || !index) {\n delete _this.registeredTemplate[\"\".concat(registeredTemplate)];\n }\n }\n }\n var _loop_1 = function (tagObject) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter(function (val) {\n var regExp = RegExp;\n return (new regExp(tagObject.name).test(val) ? true : false);\n })));\n }\n };\n for (var _e = 0, _f = _this.tagObjects; _e < _f.length; _e++) {\n var tagObject = _f[_e];\n _loop_1(tagObject);\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n *\n * @param {string} nameSpace - String value to get the inner object.\n * @param {any} value - Value that you need to set.\n * @param {any} object - Object to get the inner object value.\n * @returns {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n var keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n var fromObj = object || {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[parseInt(i.toString(), 10)];\n if (i + 1 === keys.length) {\n fromObj[\"\".concat(key)] = value === undefined ? {} : value;\n }\n else if (fromObj[\"\".concat(key)] === undefined) {\n fromObj[\"\".concat(key)] = {};\n }\n fromObj = fromObj[\"\".concat(key)];\n }\n return fromObj;\n}\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nvar refRegex = /Ref$/;\nvar ComplexBase = /** @class */ (function () {\n function ComplexBase() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ComplexBase.prototype.ngOnInit = function () {\n this.registeredTemplate = {};\n for (var _i = 0, _a = this.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var objInstance = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), this);\n if (objInstance) {\n this.tagObjects.push({ instance: objInstance, name: tag });\n }\n }\n var templateProperties = Object.keys(this);\n for (var i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[parseInt(i.toString(), 10)], this);\n if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {\n if (!getValue(templateProperties[parseInt(i.toString(), 10)].indexOf('Ref') !== -1 ? templateProperties[parseInt(i.toString(), 10)] : templateProperties[parseInt(i.toString(), 10)] + 'Ref', this)) {\n setValue(templateProperties[parseInt(i.toString(), 10)].indexOf('Ref') !== -1 ? templateProperties[parseInt(i.toString(), 10)] : templateProperties[parseInt(i.toString(), 10)] + 'Ref', tempProp, this);\n }\n if (getValue('viewContainerRef', this) && !getValue('_viewContainerRef', tempProp.elementRef.nativeElement) && !getValue('propName', tempProp.elementRef.nativeElement)) {\n setValue('_viewContainerRef', getValue('viewContainerRef', this), tempProp.elementRef.nativeElement);\n setValue('propName', templateProperties[parseInt(i.toString(), 10)].replace('Ref', ''), tempProp.elementRef.nativeElement);\n }\n }\n }\n templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n for (var _b = 0, templateProperties_1 = templateProperties; _b < templateProperties_1.length; _b++) {\n var tempName = templateProperties_1[_b];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n // Angular 9 compatibility to overcome ngOnchange not get triggered issue\n // To Update properties to \"this.propCollection\"\n var propList = Object.keys(this);\n /* istanbul ignore next */\n if (this.directivePropList) {\n for (var k = 0; k < this.directivePropList.length; k++) {\n var dirPropName = this.directivePropList[parseInt(k.toString(), 10)];\n if (propList.indexOf(dirPropName) !== -1 && (getValue(dirPropName, this) === false || getValue(dirPropName, this))) {\n setValue(dirPropName, getValue(dirPropName, this), this.propCollection);\n }\n }\n this.hasChanges = true;\n }\n this.isInitChanges = true;\n };\n ComplexBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this, true);\n };\n ComplexBase.prototype.ngOnChanges = function (changes) {\n for (var _i = 0, _a = Object.keys(changes); _i < _a.length; _i++) {\n var propName = _a[_i];\n var changedVal = changes[\"\".concat(propName)];\n this.propCollection[\"\".concat(propName)] = changedVal.currentValue;\n }\n this.isUpdated = false;\n this.hasChanges = true;\n };\n /* istanbul ignore next */\n ComplexBase.prototype.clearTemplate = function (templateNames) {\n clearTemplate(this, templateNames);\n };\n ComplexBase.prototype.getProperties = function () {\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n this.propCollection[tagObject.name] = tagObject.instance.getProperties();\n }\n return this.propCollection;\n };\n ComplexBase.prototype.isChanged = function () {\n var result = this.hasChanges;\n if (!isNullOrUndefined(this.propCollection[this.property])) {\n var tempProps = this.propCollection[this.property];\n var props = Object.keys(tempProps[0]);\n for (var d = 0; d < props.length; d++) {\n if (!isNullOrUndefined(this.propCollection[props[parseInt(d.toString(), 10)]])) {\n var val = getValue(props[parseInt(d.toString(), 10)], this);\n var propVal = this.propCollection[this.property][0][props[parseInt(d.toString(), 10)]];\n if (!isNullOrUndefined(val) && this.propCollection[props[parseInt(d.toString(), 10)]] !== val\n && propVal !== val) {\n setValue(props[parseInt(d.toString(), 10)], val, this.propCollection[this.property][0]);\n setValue(props[parseInt(d.toString(), 10)], val, this.propCollection);\n this.hasChanges = true;\n this.isUpdated = false;\n }\n }\n }\n }\n /* istanbul ignore next */\n for (var _i = 0, _a = this.tagObjects; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.instance.hasChanges;\n }\n return result || this.hasChanges;\n };\n ComplexBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n if (this.isInitChanges || this.hasChanges) {\n var templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter(function (val) {\n return refRegex.test(val);\n });\n for (var _i = 0, templateProperties_2 = templateProperties; _i < templateProperties_2.length; _i++) {\n var tempName = templateProperties_2[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n }\n };\n ComplexBase.prototype.ngAfterViewChecked = function () {\n /* istanbul ignore next */\n if (this.isUpdated) {\n this.hasChanges = false;\n }\n };\n ComplexBase.prototype.ngAfterViewInit = function () {\n /* istanbul ignore next */\n this.isInitChanges = false;\n };\n ComplexBase.prototype.ngOnDestroy = function () {\n /* istanbul ignore next */\n this.directivePropList = [];\n };\n return ComplexBase;\n}());\nexport { ComplexBase };\nvar ArrayBase = /** @class */ (function () {\n function ArrayBase(propertyName) {\n this.list = [];\n this.hasChanges = false;\n this.propertyName = propertyName;\n }\n ArrayBase.prototype.ngOnInit = function () {\n this.isInitChanges = true;\n };\n ArrayBase.prototype.ngAfterContentInit = function () {\n var _this = this;\n var index = 0;\n /* istanbul ignore next */\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n this.hasChanges = true;\n };\n ArrayBase.prototype.getProperties = function () {\n var onlyProp = [];\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n onlyProp.push(item.getProperties());\n }\n return onlyProp;\n };\n ArrayBase.prototype.isChanged = function () {\n var _this = this;\n var result = false;\n var index = 0;\n var isSourceChanged = false;\n var childrenDataSource = this.children.map(function (child) {\n return child;\n });\n /* istanbul ignore next */\n if (this.list.length === this.children.length) {\n for (var i = 0; i < this.list.length; i++) {\n if (this.list[parseInt(i.toString(), 10)].propCollection.dataSource) {\n if (this.list[parseInt(i.toString(), 10)].dataSource &&\n this.list[parseInt(i.toString(), 10)].propCollection.dataSource\n !== this.list[parseInt(i.toString(), 10)].dataSource) {\n this.list[parseInt(i.toString(), 10)].propCollection.dataSource = this.list[parseInt(i.toString(), 10)].dataSource;\n this.list[parseInt(i.toString(), 10)].hasChanges = true;\n }\n if (this.list[parseInt(i.toString(), 10)].property !== 'series') {\n isSourceChanged = (JSON.stringify(this.list[parseInt(i.toString(), 10)].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[parseInt(i.toString(), 10)].propCollection.dataSource));\n }\n }\n isSourceChanged = this.list[parseInt(i.toString(), 10)].hasChanges\n !== childrenDataSource[parseInt(i.toString(), 10)].hasChanges;\n }\n }\n this.hasNewChildren = (this.list.length !== this.children.length || isSourceChanged) ? true : null;\n if (this.hasNewChildren) {\n this.list = this.children.map(function (child) {\n child.dirIndex = index++;\n child.property = _this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n };\n ArrayBase.prototype.clearTemplate = function (templateNames) {\n var _this = this;\n /* istanbul ignore next */\n for (var _i = 0, _a = this.list; _i < _a.length; _i++) {\n var item = _a[_i];\n item.clearTemplate(templateNames && templateNames.map(function (val) {\n var regExp = RegExp;\n return new regExp(_this.propertyName).test(val) ? val.replace(_this.propertyName + '.', '') : val;\n }));\n }\n };\n ArrayBase.prototype.ngAfterContentChecked = function () {\n this.hasChanges = this.isChanged();\n for (var i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[parseInt(i.toString(), 10)]) && getValue('property', this.list[parseInt(i.toString(), 10)]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[parseInt(i.toString(), 10)]).getProperties(), this.list[parseInt(i.toString(), 10)].propCollection);\n }\n this.list[parseInt(i.toString(), 10)].isUpdated = true;\n }\n };\n ArrayBase.prototype.ngAfterViewInit = function () {\n this.isInitChanges = false;\n };\n ArrayBase.prototype.ngOnDestroy = function () {\n this.list = [];\n };\n return ArrayBase;\n}());\nexport { ArrayBase };\n","/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types */\n/**\n * Angular Component Base Module\n */\nimport { getValue, isUndefined, setValue, isNullOrUndefined, attributes, createElement } from '@syncfusion/ej2-base';\nimport { EventEmitter } from '@angular/core';\nimport { clearTemplate, registerEvents } from './util';\nvar ComponentBase = /** @class */ (function () {\n function ComponentBase() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n ComponentBase.prototype.saveChanges = function (key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[\"\".concat(key)] = oldValue;\n this.changedProperties[\"\".concat(key)] = newValue;\n this.finalUpdate();\n var changeTime = setTimeout(this.dataBind.bind(this));\n var clearUpdate = function () {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n };\n ComponentBase.prototype.ngOnInit = function (isTempRef) {\n var tempOnThis = isTempRef || this;\n tempOnThis.registeredTemplate = {};\n tempOnThis.ngBoundedEvents = {};\n tempOnThis.isAngular = true;\n tempOnThis.isFormInit = true;\n /* istanbul ignore next */\n if (isTempRef) {\n this.tags = isTempRef.tags;\n }\n tempOnThis.tags = this.tags || [];\n tempOnThis.complexTemplate = this.complexTemplate || [];\n tempOnThis.tagObjects = [];\n tempOnThis.ngAttr = this.getAngularAttr(tempOnThis.element);\n /* istanbul ignore next */\n tempOnThis.createElement = function (tagName, prop) {\n var ele = tempOnThis.srenderer ? tempOnThis.srenderer.createElement(tagName) : createElement(tagName);\n if (typeof (prop) === 'undefined') {\n return ele;\n }\n ele.innerHTML = (prop.innerHTML ? prop.innerHTML : '');\n if (prop.className !== undefined) {\n ele.className = prop.className;\n }\n if (prop.id !== undefined) {\n ele.id = prop.id;\n }\n if (prop.styles !== undefined) {\n ele.setAttribute('style', prop.styles);\n }\n if (tempOnThis.ngAttr !== undefined) {\n ele.setAttribute(tempOnThis.ngAttr, '');\n }\n if (prop.attrs !== undefined) {\n attributes(ele, prop.attrs);\n }\n return ele;\n };\n for (var _i = 0, _a = tempOnThis.tags; _i < _a.length; _i++) {\n var tag = _a[_i];\n var tagObject = {\n instance: getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tempOnThis),\n name: tag\n };\n tempOnThis.tagObjects.push(tagObject);\n }\n var complexTemplates = Object.keys(tempOnThis);\n for (var i = 0; i < complexTemplates.length; i++) {\n var compProp = getValue(complexTemplates[parseInt(i.toString(), 10)], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[parseInt(i.toString(), 10)].indexOf('_') !== -1 && complexTemplates[parseInt(i.toString(), 10)].indexOf('Ref') === -1) {\n setValue(complexTemplates[parseInt(i.toString(), 10)] + 'Ref', compProp, tempOnThis);\n }\n if (tempOnThis.viewContainerRef && !getValue('_viewContainerRef', compProp.elementRef.nativeElement) && !getValue('propName', compProp.elementRef.nativeElement)) {\n setValue('_viewContainerRef', tempOnThis.viewContainerRef, compProp.elementRef.nativeElement);\n setValue('propName', complexTemplates[parseInt(i.toString(), 10)].replace('Ref', ''), compProp.elementRef.nativeElement);\n }\n }\n }\n complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val) && /_/i.test(val);\n });\n for (var _b = 0, complexTemplates_1 = complexTemplates; _b < complexTemplates_1.length; _b++) {\n var tempName = complexTemplates_1[_b];\n var propName = tempName.replace('Ref', '');\n var val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n };\n ComponentBase.prototype.getAngularAttr = function (ele) {\n var attributes = ele.attributes;\n var length = attributes.length;\n var ngAr;\n for (var i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[parseInt(i.toString(), 10)].name)) {\n ngAr = attributes[parseInt(i.toString(), 10)].name;\n }\n }\n return ngAr;\n };\n ComponentBase.prototype.ngAfterViewInit = function (isTempRef) {\n var tempAfterViewThis = isTempRef || this;\n var regExp = /ejs-tab|ejs-accordion/g;\n /* istanbul ignore next */\n if (regExp.test(tempAfterViewThis.ngEle.nativeElement.outerHTML)) {\n tempAfterViewThis.ngEle.nativeElement.style.visibility = 'hidden';\n }\n /**\n * Root level template properties are not getting rendered,\n * Due to ngonchanges not get triggered.\n * so that we have set template value for root level template properties,\n * for example: refer below syntax\n * ```html\n * <ejs-grid>\n * <e-column></e-column>\n * <ng-template #editSettingsTemplate></ng-template>\n * </ejs-grid>\n * ```\n */\n var templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter(function (val) {\n return /Ref$/i.test(val);\n });\n var ngtempRef = tempAfterViewThis.getModuleName() === 'DocumentEditor';\n for (var _i = 0, templateProperties_1 = templateProperties; _i < templateProperties_1.length; _i++) {\n var tempName = templateProperties_1[_i];\n var propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName + 'Ref', tempAfterViewThis), tempAfterViewThis);\n }\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n var appendToComponent = function (tempAfterViewThis) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined' && tempAfterViewThis.element) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n };\n if (!ngtempRef && !tempAfterViewThis.getModuleName().includes('btn')) {\n setTimeout(function () {\n appendToComponent(tempAfterViewThis);\n });\n }\n else {\n appendToComponent(tempAfterViewThis);\n }\n };\n ComponentBase.prototype.ngOnDestroy = function (isTempRef) {\n var tempOnDestroyThis = isTempRef || this;\n /* istanbul ignore else */\n setTimeout(function () {\n if (typeof window !== 'undefined' && (tempOnDestroyThis.element.classList.contains('e-control'))) {\n if (tempOnDestroyThis.ngOnFocus !== undefined && tempOnDestroyThis.ngOnBlur !== undefined) {\n var ele = tempOnDestroyThis.inputElement || tempOnDestroyThis.element;\n ele.removeEventListener('focus', tempOnDestroyThis.ngOnFocusBound);\n ele.removeEventListener('blur', tempOnDestroyThis.ngOnBlurBound);\n tempOnDestroyThis.ngOnFocusBound = null;\n tempOnDestroyThis.ngOnBlurBound = null;\n }\n tempOnDestroyThis.destroy();\n tempOnDestroyThis.clearTemplate(null);\n // removing bounded events and tagobjects from component after destroy\n setTimeout(function () {\n for (var _i = 0, _a = Object.keys(tempOnDestroyThis); _i < _a.length; _i++) {\n var key = _a[_i];\n var value = tempOnDestroyThis[\"\".concat(key)];\n if (value && /object/.test(typeof value) && Object.keys(value).length !== 0) {\n if (/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(key)) {\n for (var _b = 0, _c = Object.keys(tempOnDestroyThis[\"\".concat(key)]); _b < _c.length; _b++) {\n var propKey = _c[_b];\n var propValue = value[\"\".concat(propKey)];\n if (propValue && /object/.test(typeof propValue) && Object.keys(propValue).length !== 0 && (propValue.parent || propValue.parentObj)) {\n tempOnDestroyThis[\"\".concat(key)][\"\".concat(propKey)] = null;\n }\n }\n }\n else {\n if (value.parent || value.parentObj) {\n tempOnDestroyThis[\"\".concat(key)] = null;\n }\n }\n }\n }\n });\n }\n });\n };\n ComponentBase.prototype.clearTemplate = function (templateNames, index) {\n clearTemplate(this, templateNames, index);\n };\n ComponentBase.prototype.ngAfterContentChecked = function (isTempRef) {\n var tempAfterContentThis = isTempRef || this;\n for (var _i = 0, _a = tempAfterContentThis.tagObjects; _i < _a.length; _i++) {\n var tagObject = _a[_i];\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n var propObj = {};\n if (tagObject.instance.isInitChanges) {\n // For angular 9 compatibility\n // Not able to get complex directive properties reference ni Onint hook\n // So we have constructed property here and used\n var complexDirProps = void 0;\n var list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n var skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n var compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (var h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[\"\".concat(h)].propCollection[tagObject.instance.propertyName] = [];\n var obj = {};\n for (var k = 0; k < compDirPropList.length; k++) {\n var complexPropName = compDirPropList[parseInt(k.toString(), 10)];\n obj[\"\".concat(complexPropName)] = tagObject.instance.list[\"\".concat(h)].propCollection[\"\".concat(complexPropName)];\n }\n var _loop_1 = function (i) {\n var tag = tagObject.instance.list[\"\".concat(h)].tags[parseInt(i.toString(), 10)];\n var childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[\"\".concat(h)]);\n if (childObj) {\n var innerchildObj = tagObject.instance.list[\"\".concat(h)]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];\n // Update the inner child tag objects\n var updateChildTag_1 = function (innerchild) {\n var innerLevelTag = [];\n if (innerchild) {\n for (var j = 0; j < innerchild.list.length; j++) {\n var innerTag = innerchild.list[0].tags[0];\n if (innerTag) {\n var innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchild.list[parseInt(j.toString(), 10)]);\n if (innerchildTag) {\n innerchild.list[parseInt(j.toString(), 10)].tagObjects\n .push({ instance: innerchildTag, name: innerTag });\n innerLevelTag.push(innerchildTag);\n }\n }\n }\n }\n // check for inner level tag\n if (innerLevelTag.length !== 0) {\n for (var l = 0; l < innerLevelTag.length; l++) {\n updateChildTag_1(innerLevelTag[parseInt(l.toString(), 10)]);\n }\n }\n };\n updateChildTag_1(innerchildObj);\n tagObject.instance.list[\"\".concat(h)].tagObjects.push({ instance: childObj, name: tag });\n }\n };\n for (var i = 0; i < tagObject.instance.list[\"\".concat(h)].tags.length; i++) {\n _loop_1(i);\n }\n tagObject.instance.list[\"\".concat(h)].propCollection[tagObject.instance.propertyName].push(obj);\n }\n }\n // End angular 9 compatibility\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n else {\n /* istanbul ignore next */\n var hasDiffLength = false;\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n hasDiffLength = true;\n }\n for (var _b = 0, _c = tagObject.instance.list; _b < _c.length; _b++) {\n var list = _c[_b];\n if (list.tags) {\n for (var _d = 0, _e = list.tags; _d < _e.length; _d++) {\n var tag = _e[_d];\n var innerChild = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), list);\n if (innerChild) {\n list.tagObjects.push({ instance: innerChild, name: tag });\n }\n }\n }\n var curIndex = tagObject.instance.list.indexOf(list);\n var curChild = getValue(tagObject.name, tempAfterContentThis)[\"\".concat(curIndex)];\n var complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter(function (val) {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0) {\n for (var _f = 0, complexTemplates_2 = complexTemplates; _f < complexTemplates_2.length; _f++) {\n var complexPropName = complexTemplates_2[_f];\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[\"\".concat(complexPropName)] = !curChild.properties[\"\".concat(complexPropName)] ?\n curChild.propCollection[\"\".concat(complexPropName)] : curChild.properties[\"\".concat(complexPropName)];\n }\n }\n if (!isUndefined(curChild) && !isUndefined(curChild.setProperties)) {\n if (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName())) {\n curChild.setProperties(list.getProperties(), true);\n }\n else {\n curChild.setProperties(list.getProperties());\n }\n }\n list.isUpdated = true;\n }\n if ((/grid/.test(tempAfterContentThis.getModuleName()) && hasDiffLength) || /chart/.test(tempAfterContentThis.getModuleName())) {\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n }\n }\n }\n };\n ComponentBase.prototype.registerEvents = function (eventList) {\n registerEvents(eventList, this);\n };\n ComponentBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = getValue(prop, this.properties);\n if (oldVal === newVal) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n ComponentBase.prototype.addTwoWay = function (propList) {\n var _this = this;\n var _loop_2 = function (prop) {\n getValue(prop, this_1);\n Object.defineProperty(this_1, prop, {\n get: function () {\n return getValue(prop, _this.properties);\n },\n set: function (newVal) { return _this.twoWaySetter(newVal, prop); }\n });\n setValue(prop + 'Change', new EventEmitter(), this_1);\n };\n var this_1 = this;\n for (var _i = 0, propList_1 = propList; _i < propList_1.length; _i++) {\n var prop = propList_1[_i];\n _loop_2(prop);\n }\n };\n ComponentBase.prototype.addEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[\"\".concat(eventName)]) {\n this.ngBoundedEvents[\"\".concat(eventName)] = new Map();\n }\n this.ngBoundedEvents[\"\".concat(eventName)].set(handler, eventObj.subscribe(handler));\n }\n };\n ComponentBase.prototype.removeEventListener = function (eventName, handler) {\n var eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[\"\".concat(eventName)].get(handler).unsubscribe();\n }\n };\n ComponentBase.prototype.trigger = function (eventName, eventArgs, success) {\n var eventObj = getValue(eventName, this);\n var prevDetection = this.isProtectedOnChange;\n this.isProtectedOnChange = false;\n if (eventArgs) {\n eventArgs.name = eventName;\n }\n if (!isUndefined(eventObj)) {\n eventObj.next(eventArgs);\n }\n var localEventObj = getValue('local' + eventName.charAt(0).toUpperCase() + eventName.slice(1), this);\n if (!isUndefined(localEventObj)) {\n localEventObj.call(this, eventArgs);\n }\n this.isProtectedOnChange = prevDetection;\n /* istanbul ignore else */\n if (success) {\n this.preventChange = this.isPreventChange;\n success.call(this, eventArgs);\n }\n this.isPreventChange = false;\n };\n return ComponentBase;\n}());\nexport { ComponentBase };\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nvar FormBase = /** @class */ (function () {\n function FormBase() {\n }\n FormBase.prototype.propagateChange = function (_) { return; };\n FormBase.prototype.propagateTouch = function () { return; };\n FormBase.prototype.localChange = function (e) {\n var value = (e.checked === undefined ? e.value : e.checked);\n this.objCheck = isObject(value);\n if (this.isUpdated === true) {\n this.angularValue = this.oldValue;\n }\n if (this.objCheck === true) {\n this.duplicateValue = JSON.stringify(value);\n this.duplicateAngularValue = JSON.stringify(this.angularValue);\n if (this.duplicateValue !== this.duplicateAngularValue && this.propagateChange !== undefined && value !== undefined) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n }\n else {\n if (value !== this.angularValue && this.propagateChange !== undefined && value !== undefined) {\n // While reset form using reset() method ng-dirty not get updated, so while value is empty just update angularValue only\n if (value !== '' && value !== null) {\n // Update angular from our control\n this.propagateChange(value);\n this.angularValue = value;\n }\n else {\n var optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.registerOnChange = function (registerFunction) {\n this.propagateChange = registerFunction;\n };\n FormBase.prototype.registerOnTouched = function (registerFunction) {\n this.propagateTouch = registerFunction;\n };\n FormBase.prototype.twoWaySetter = function (newVal, prop) {\n var oldVal = this.oldValue || getValue(prop, this.properties);\n var ele = this.inputElement || this.element;\n if (ele && oldVal === newVal && this.value === newVal &&\n (ele.value === undefined || ele.value === '')) {\n return;\n }\n this.saveChanges(prop, newVal, oldVal);\n setValue(prop, (isNullOrUndefined(newVal) ? null : newVal), this.properties);\n getValue(prop + 'Change', this).emit(newVal);\n };\n FormBase.prototype.ngAfterViewInit = function (isTempRef) {\n var tempFormAfterViewThis = isTempRef || this;\n // Used setTimeout for template binding\n // Refer Link: https://github.com/angular/angular/issues/6005\n // Removed setTimeout, Because we have called markForCheck() method in Angular Template Compiler\n /* istanbul ignore else */\n tempFormAfterViewThis.ngOnBlurBound = this.ngOnBlur.bind(this);\n tempFormAfterViewThis.ngOnFocusBound = this.ngOnFocus.bind(this);\n if (typeof window !== 'undefined') {\n if ((tempFormAfterViewThis.getModuleName()).includes('dropdowntree')) {\n setTimeout(function () {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n });\n }\n else {\n tempFormAfterViewThis.appendTo(tempFormAfterViewThis.element);\n }\n var ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocusBound);\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlurBound);\n }\n this.isFormInit = false;\n };\n FormBase.prototype.setDisabledState = function (disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n };\n FormBase.prototype.writeValue = function (value) {\n var regExp = /ejs-radiobutton/g;\n //update control value from angular\n if (this.checked === undefined) {\n this.value = value;\n }\n else {\n // To resolve boolean type formControl value is not working for radio button control.\n /* istanbul ignore next */\n if (this.ngEle) {\n if (typeof value === 'boolean') {\n if (regExp.test(this.ngEle.nativeElement.outerHTML)) {\n this.checked = value === this.value;\n }\n else {\n this.checked = value;\n }\n }\n else {\n this.checked = value === this.value;\n }\n }\n }\n var isNullValue = this.angularValue == null;\n this.angularValue = value;\n this.isUpdated = true;\n // When binding Html textbox value to syncfusion textbox, change event triggered dynamically.\n // To prevent change event, trigger change in component side based on `preventChange` value\n this.preventChange = this.isFormInit ? false : true;\n this.cdr.markForCheck();\n if (value === null) {\n if (isNullValue) {\n this.preventChange = false;\n }\n return;\n }\n };\n FormBase.prototype.ngOnFocus = function (e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.prototype.ngOnBlur = function (e) {\n this.propagateTouch();\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.blur.emit(e);\n }\n this.cdr.markForCheck();\n };\n FormBase.isFormBase = true;\n return FormBase;\n}());\nexport { FormBase };\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nvar stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\n *\n * @param {AngularElementType} templateEle - The element representing the template.\n * @param {Object} [helper] - Optional helper object.\n * @returns {Function} A function that compiles the template.\n */\nexport function compile(templateEle, helper) {\n if (typeof templateEle === 'string' || (typeof templateEle === 'function' && templateEle.prototype && templateEle.prototype.CSPTemplate)) {\n return stringCompiler(templateEle, helper);\n }\n else {\n var contRef_1 = templateEle.elementRef.nativeElement._viewContainerRef;\n var pName_1 = templateEle.elementRef.nativeElement.propName;\n return function (data, component, propName) {\n var context = { $implicit: data };\n /* istanbul ignore next */\n var conRef = contRef_1 ? contRef_1 : component.viewContainerRef;\n var viewRef = conRef.createEmbeddedView(templateEle, context);\n if (/EJS-MENTION|EJS-DROPDOWNLIST/.test(getValue('currentInstance.element.nodeName', conRef)) ||\n (/E-TABITEM/.test(getValue('element.nativeElement.nodeName', conRef)) &&\n getValue('currentInstance.headerTemplateRef', conRef))) {\n viewRef.detectChanges();\n }\n else {\n viewRef.markForCheck();\n }\n /* istanbul ignore next */\n var viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName_1;\n if (typeof viewCollection[\"\".concat(propName)] === 'undefined') {\n viewCollection[\"\".concat(propName)] = [];\n }\n viewCollection[\"\".concat(propName)].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n *\n * @param {Object} [defaultValue] - Default value for the property.\n * @returns {PropertyDecorator} The decorator function.\n */\nexport function Template(defaultValue) {\n return function (target, key) {\n var propertyDescriptor = {\n set: setter(key),\n get: getter(key, defaultValue),\n enumerable: true,\n configurable: true\n };\n Object.defineProperty(target, key, propertyDescriptor);\n };\n}\n/**\n * Creates a setter function for a given property key.\n *\n * @param {string} key - The property key.\n * @returns {Function} The setter function.\n */\nfunction setter(key) {\n return function (val) {\n if (val === undefined) {\n return;\n }\n setValue(key + 'Ref', val, this);\n if (typeof val !== 'string' && !(typeof val === 'function' && val.prototype && val.prototype.CSPTemplate)) {\n val.elementRef.nativeElement._viewContainerRef = this.viewContainerRef;\n val.elementRef.nativeElement.propName = key;\n }\n else {\n if (this.saveChanges) {\n this.saveChanges(key, val, undefined);\n this.dataBind();\n }\n }\n };\n}\n/**\n * Returns a getter function for the specified key and default value.\n *\n * @param {string} key - The key for the property.\n * @param {Object} defaultValue - The default value for the property.\n * @returns {Function} The getter function.\n */\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\nsetTemplateEngine({ compile: compile });\n"],"names":["setValue"],"mappings":";;;AAAA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE;AACrD,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,SAAS,EAAE;AAC3C,QAAQ,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AAChF,YAAY,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,SAAS,CAAC,UAAU,IAAI,IAAI,KAAK,aAAa,CAAC,EAAE;AACzI,gBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/F,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,eAAe,CAAC,SAAS,EAAE;AAC3C,IAAI,OAAO,UAAU,YAAY,EAAE;AACnC,QAAQ,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;AAC7C,KAAK,CAAC;AACN,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE;AACvD,IAAI,IAAI,eAAe,GAAG,EAAE,CAAC;AAC7B,IAAI,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE;AACvC,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,WAAW,GAAG,SAAS,EAAE,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACjF,YAAY,IAAI,OAAO,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;AAC1C,YAAY,IAAI,MAAM,KAAK,IAAI,EAAE;AACjC,gBAAgB,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AACjF,gBAAgB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACjF,aAAa;AACb,iBAAiB;AACjB,gBAAgB,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9E,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE;AAC7B,YAAY,GAAG,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AACrD,SAAS;AACT,KAAK;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;AAC3D,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC7D,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE;AAC7B;AACA,QAAQ,IAAI,aAAa,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;AACjF,YAAY,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE;AACpD,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,aAAa,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5I,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,aAAa,IAAI,aAAa,IAAI,YAAY,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACtG,YAAY,IAAI,kBAAkB,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5C;AACA,YAAY,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;AACvC,gBAAgB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvD,oBAAoB,IAAI,gBAAgB,EAAE;AAC1C,wBAAwB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjH,4BAA4B,IAAI,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5H,4BAA4B,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AACxE,gCAAgC,KAAK,CAAC,OAAO,EAAE,CAAC;AAChD,gCAAgC,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrG,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3F,4BAA4B,IAAI,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACnH,4BAA4B,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;AAC/D,gCAAgC,IAAI,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AACjG,gCAAgC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;AACzE,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,iBAAiB;AACjB,gBAAgB,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE;AAC7E,oBAAoB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACzH,wBAAwB,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACxC,wBAAwB,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE;AAC3C,4BAA4B,IAAI,EAAE,CAAC,KAAK,EAAE;AAC1C,gCAAgC,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,gCAAgC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;AAC/D,oCAAoC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClF,wCAAwC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACpG,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,4BAA4B,EAAE,CAAC,OAAO,EAAE,CAAC;AACzC,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,YAAY,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,EAAE;AAC7C,gBAAgB,OAAO,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC/E,aAAa;AACb,SAAS;AACT,KAAK;AACL,IAAI,IAAI,OAAO,GAAG,UAAU,SAAS,EAAE;AACvC,QAAQ,IAAI,SAAS,CAAC,QAAQ,EAAE;AAChC;AACA,YAAY,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;AACnG,gBAAgB,IAAI,MAAM,GAAG,MAAM,CAAC;AACpC,gBAAgB,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE;AAC7E,aAAa,CAAC,EAAE,CAAC;AACjB,SAAS;AACT,KAAK,CAAC;AACN,IAAI,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAClE,QAAQ,IAAI,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/B,QAAQ,OAAO,CAAC,SAAS,CAAC,CAAC;AAC3B,KAAK;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;AACnD,IAAI,IAAI,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC3E;AACA,IAAI,IAAI,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;AAC/B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,QAAQ,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;AACnC,YAAY,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,KAAK,SAAS,GAAG,EAAE,GAAG,KAAK,CAAC;AACvE,SAAS;AACT,aAAa,IAAI,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE;AACxD,YAAY,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACzC,SAAS;AACT,QAAQ,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,IAAI,OAAO,OAAO,CAAC;AACnB;;AC/JA,IAAI,QAAQ,GAAG,MAAM,CAAC;AACtB,AAAG,IAAC,WAAW,kBAAkB,YAAY;AAC7C,IAAI,SAAS,WAAW,GAAG;AAC3B,QAAQ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAChC,QAAQ,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACjC,QAAQ,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AAC7B,QAAQ,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACvB,QAAQ,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;AAC7B,KAAK;AACL,IAAI,WAAW,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;AACjD,QAAQ,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;AACrC,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC/D,YAAY,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7B,YAAY,IAAI,WAAW,GAAG,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7G,YAAY,IAAI,WAAW,EAAE;AAC7B,gBAAgB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAC3E,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5D,YAAY,IAAI,QAAQ,GAAG,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1F,YAAY,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE;AACjF,gBAAgB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,EAAE;AACrN,oBAAoBA,UAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC7N,iBAAiB;AACjB,gBAAgB,IAAI,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;AACzL,oBAAoBA,UAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AACzH,oBAAoBA,UAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAC/I,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,QAAQ,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;AACtE,YAAY,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,SAAS,CAAC,CAAC;AACX,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC5G,YAAY,IAAI,QAAQ,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;AACpD,YAAY,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACvD,YAAYA,UAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAChG,SAAS;AACT;AACA;AACA,QAAQ,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzC;AACA,QAAQ,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACpC,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpE,gBAAgB,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACrF,gBAAgB,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE;AACpI,oBAAoBA,UAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAC5F,iBAAiB;AACjB,aAAa;AACb,YAAY,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACnC,SAAS;AACT,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAClC,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,SAAS,EAAE;AAChE,QAAQ,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9C,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,OAAO,EAAE;AAC3D,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC1E,YAAY,IAAI,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAClC,YAAY,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,YAAY,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;AAC/E,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAC/B,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC/B,KAAK,CAAC;AACN;AACA,IAAI,WAAW,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,aAAa,EAAE;AACnE,QAAQ,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAC3C,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,SAAS,CAAC,aAAa,GAAG,YAAY;AACtD;AACA,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACrE,YAAY,IAAI,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,YAAY,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AACrF,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC,cAAc,CAAC;AACnC,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,SAAS,CAAC,SAAS,GAAG,YAAY;AAClD,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;AACrC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;AACpE,YAAY,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/D,YAAY,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,gBAAgB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;AAChG,oBAAoB,IAAI,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAChF,oBAAoB,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3G,oBAAoB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG;AACjH,2BAA2B,OAAO,KAAK,GAAG,EAAE;AAC5C,wBAAwBA,UAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChH,wBAAwBA,UAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AAC9F,wBAAwB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC/C,wBAAwB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;AAC/C,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;AACA,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACrE,YAAY,IAAI,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,YAAY,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;AACxD,SAAS;AACT,QAAQ,OAAO,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;AACzC,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,SAAS,CAAC,qBAAqB,GAAG,YAAY;AAC9D,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAC3C,QAAQ,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE;AACnD,YAAY,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,YAAY,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;AAC1E,gBAAgB,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1C,aAAa,CAAC,CAAC;AACf,YAAY,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAChH,gBAAgB,IAAI,QAAQ,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;AACxD,gBAAgB,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC3D,gBAAgBA,UAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;AACpG,aAAa;AACb,SAAS;AACT,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,SAAS,CAAC,kBAAkB,GAAG,YAAY;AAC3D;AACA,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;AAC5B,YAAY,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACpC,SAAS;AACT,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,SAAS,CAAC,eAAe,GAAG,YAAY;AACxD;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AACnC,KAAK,CAAC;AACN,IAAI,WAAW,CAAC,SAAS,CAAC,WAAW,GAAG,YAAY;AACpD;AACA,QAAQ,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;AACpC,KAAK,CAAC;AACN,IAAI,OAAO,WAAW,CAAC;AACvB,CAAC,EAAE,CAAC,CAAC;AACL,AACG,IAAC,SAAS,kBAAkB,YAAY;AAC3C,IAAI,SAAS,SAAS,CAAC,YAAY,EAAE;AACrC,QAAQ,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACvB,QAAQ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAChC,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;AACzC,KAAK;AACL,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY;AAC/C,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAClC,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,kBAAkB,GAAG,YAAY;AACzD,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC;AACtB;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE;AACvD,YAAY,KAAK,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;AACrC,YAAY,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC;AAChD,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC/B,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,YAAY;AACpD,QAAQ,IAAI,QAAQ,GAAG,EAAE,CAAC;AAC1B,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC/D,YAAY,IAAI,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AAChD,SAAS;AACT,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,GAAG,YAAY;AAChD,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC;AAC3B,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC;AACtB,QAAQ,IAAI,eAAe,GAAG,KAAK,CAAC;AACpC,QAAQ,IAAI,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE;AACpE,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS,CAAC,CAAC;AACX;AACA,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACvD,YAAY,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvD,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE;AACrF,oBAAoB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU;AACxE,wBAAwB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU;AACvF,gCAAgC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE;AAClF,wBAAwB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AAC3I,wBAAwB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;AAChF,qBAAqB;AACrB,oBAAoB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;AACrF,wBAAwB,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;AAC1H,4BAA4B,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;AACtH,qBAAqB;AACrB,iBAAiB;AACjB,gBAAgB,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU;AAClF,wBAAwB,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AAClF,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,eAAe,IAAI,IAAI,GAAG,IAAI,CAAC;AAC3G,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE;AACjC,YAAY,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,KAAK,EAAE;AAC3D,gBAAgB,KAAK,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;AACzC,gBAAgB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC;AACpD,gBAAgB,OAAO,KAAK,CAAC;AAC7B,aAAa,CAAC,CAAC;AACf,SAAS;AACT;AACA,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC/D,YAAY,IAAI,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,YAAY,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;AAC/C,SAAS;AACT,QAAQ,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;AAC5C,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,aAAa,EAAE;AACjE,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB;AACA,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC/D,YAAY,IAAI,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,YAAY,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE;AACjF,gBAAgB,IAAI,MAAM,GAAG,MAAM,CAAC;AACpC,gBAAgB,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;AAClH,aAAa,CAAC,CAAC,CAAC;AAChB,SAAS;AACT,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,qBAAqB,GAAG,YAAY;AAC5D,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;AAC3C,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnD,YAAY,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;AAC9J,gBAAgBA,UAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;AAC3K,aAAa;AACb,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;AACnE,SAAS;AACT,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,eAAe,GAAG,YAAY;AACtD,QAAQ,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AACnC,KAAK,CAAC;AACN,IAAI,SAAS,CAAC,SAAS,CAAC,WAAW,GAAG,YAAY;AAClD,QAAQ,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;AACvB,KAAK,CAAC;AACN,IAAI,OAAO,SAAS,CAAC;AACrB,CAAC,EAAE,CAAC;;AC3OJ;AACA,AAMG,IAAC,aAAa,kBAAkB,YAAY;AAC/C,IAAI,SAAS,aAAa,GAAG;AAC7B,QAAQ,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;AACxC,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC/B,KAAK;AACL,IAAI,aAAa,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC7E,QAAQ,IAAI,IAAI,CAAC,mBAAmB,EAAE;AACtC,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;AACtD,QAAQ,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;AAC1D,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3B,QAAQ,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,QAAQ,IAAI,WAAW,GAAG,YAAY;AACtC,YAAY,YAAY,CAAC,UAAU,CAAC,CAAC;AACrC,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AACvC,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU,SAAS,EAAE;AAC5D,QAAQ,IAAI,UAAU,GAAG,SAAS,IAAI,IAAI,CAAC;AAC3C,QAAQ,UAAU,CAAC,kBAAkB,GAAG,EAAE,CAAC;AAC3C,QAAQ,UAAU,CAAC,eAAe,GAAG,EAAE,CAAC;AACxC,QAAQ,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;AACpC,QAAQ,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;AACrC;AACA,QAAQ,IAAI,SAAS,EAAE;AACvB,YAAY,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;AACvC,SAAS;AACT,QAAQ,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;AAC1C,QAAQ,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;AAChE,QAAQ,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;AACnC,QAAQ,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACpE;AACA,QAAQ,UAAU,CAAC,aAAa,GAAG,UAAU,OAAO,EAAE,IAAI,EAAE;AAC5D,YAAY,IAAI,GAAG,GAAG,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;AAClH,YAAY,IAAI,QAAQ,IAAI,CAAC,KAAK,WAAW,EAAE;AAC/C,gBAAgB,OAAO,GAAG,CAAC;AAC3B,aAAa;AACb,YAAY,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;AACnE,YAAY,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;AAC9C,gBAAgB,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AAC/C,aAAa;AACb,YAAY,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;AACvC,gBAAgB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;AACjC,aAAa;AACb,YAAY,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;AAC3C,gBAAgB,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACvD,aAAa;AACb,YAAY,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE;AACjD,gBAAgB,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxD,aAAa;AACb,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC1C,gBAAgB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5C,aAAa;AACb,YAAY,OAAO,GAAG,CAAC;AACvB,SAAS,CAAC;AACV,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACrE,YAAY,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7B,YAAY,IAAI,SAAS,GAAG;AAC5B,gBAAgB,QAAQ,EAAE,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;AAC9G,gBAAgB,IAAI,EAAE,GAAG;AACzB,aAAa,CAAC;AACd,YAAY,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAClD,SAAS;AACT,QAAQ,IAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACvD,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1D,YAAY,IAAI,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;AAC9F,YAAY,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE;AACjF,gBAAgB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;AAC/N,oBAAoBA,UAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AACzG,iBAAiB;AACjB,gBAAgB,IAAI,UAAU,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;AAClL,oBAAoBA,UAAQ,CAAC,mBAAmB,EAAE,UAAU,CAAC,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClH,oBAAoBA,UAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAC7I,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACnD,QAAQ,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;AAClE,YAAY,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,SAAS,CAAC,CAAC;AACX,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,EAAE,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACtG,YAAY,IAAI,QAAQ,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAClD,YAAY,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACvD,YAAY,IAAI,GAAG,GAAG,EAAE,CAAC;AACzB,YAAYA,UAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;AACtF,YAAY,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAChD,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,GAAG,EAAE;AAC5D,QAAQ,IAAI,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;AACxC,QAAQ,IAAI,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;AACvC,QAAQ,IAAI,IAAI,CAAC;AACjB,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC;AACA,YAAY,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;AACjF,gBAAgB,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnE,aAAa;AACb,SAAS;AACT,QAAQ,OAAO,IAAI,CAAC;AACpB,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,SAAS,EAAE;AACnE,QAAQ,IAAI,iBAAiB,GAAG,SAAS,IAAI,IAAI,CAAC;AAClD,QAAQ,IAAI,MAAM,GAAG,wBAAwB,CAAC;AAC9C;AACA,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;AAC1E,YAAY,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;AAC9E,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAChE,QAAQ,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;AACtE,YAAY,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,SAAS,GAAG,iBAAiB,CAAC,aAAa,EAAE,KAAK,gBAAgB,CAAC;AAC/E,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,oBAAoB,GAAG,kBAAkB,EAAE,EAAE,GAAG,oBAAoB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC5G,YAAY,IAAI,QAAQ,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;AACpD,YAAY,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACvD,YAAYA,UAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,KAAK,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,CAAC;AACnH,SAAS;AACT;AACA;AACA,QAAQ,IAAI,iBAAiB,GAAG,UAAU,iBAAiB,EAAE;AAC7D;AACA,YAAY,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,iBAAiB,CAAC,OAAO,EAAE;AAC5E,gBAAgB,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AACtE,gBAAgB,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;AAC5E,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC9E,YAAY,UAAU,CAAC,YAAY;AACnC,gBAAgB,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AACrD,aAAa,CAAC,CAAC;AACf,SAAS;AACT,aAAa;AACb,YAAY,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;AACjD,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,SAAS,EAAE;AAC/D,QAAQ,IAAI,iBAAiB,GAAG,SAAS,IAAI,IAAI,CAAC;AAClD;AACA,QAAQ,UAAU,CAAC,YAAY;AAC/B,YAAY,IAAI,OAAO,MAAM,KAAK,WAAW,KAAK,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE;AAC9G,gBAAgB,IAAI,iBAAiB,CAAC,SAAS,KAAK,SAAS,IAAI,iBAAiB,CAAC,QAAQ,KAAK,SAAS,EAAE;AAC3G,oBAAoB,IAAI,GAAG,GAAG,iBAAiB,CAAC,YAAY,IAAI,iBAAiB,CAAC,OAAO,CAAC;AAC1F,oBAAoB,GAAG,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;AACvF,oBAAoB,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;AACrF,oBAAoB,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC;AAC5D,oBAAoB,iBAAiB,CAAC,aAAa,GAAG,IAAI,CAAC;AAC3D,iBAAiB;AACjB,gBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC;AAC5C,gBAAgB,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACtD;AACA,gBAAgB,UAAU,CAAC,YAAY;AACvC,oBAAoB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAChG,wBAAwB,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACzC,wBAAwB,IAAI,KAAK,GAAG,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,wBAAwB,IAAI,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACrG,4BAA4B,IAAI,gFAAgF,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;AAC5H,gCAAgC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC5H,oCAAoC,IAAI,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,oCAAoC,IAAI,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9E,oCAAoC,IAAI,SAAS,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC,KAAK,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE;AAC1K,wCAAwC,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;AACrG,qCAAqC;AACrC,iCAAiC;AACjC,6BAA6B;AAC7B,iCAAiC;AACjC,gCAAgC,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE;AACrE,oCAAoC,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;AAC7E,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,aAAa,GAAG,UAAU,aAAa,EAAE,KAAK,EAAE;AAC5E,QAAQ,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;AAClD,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,qBAAqB,GAAG,UAAU,SAAS,EAAE;AACzE,QAAQ,IAAI,oBAAoB,GAAG,SAAS,IAAI,IAAI,CAAC;AACrD,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,oBAAoB,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACrF,YAAY,IAAI,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACnC,YAAY,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;AAChD,iBAAiB,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;AAC1H,gBAAgB,IAAI,OAAO,GAAG,EAAE,CAAC;AACjC,gBAAgB,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE;AACtD;AACA;AACA;AACA,oBAAoB,IAAI,eAAe,GAAG,KAAK,CAAC,CAAC;AACjD,oBAAoB,IAAI,IAAI,GAAG,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AACpE,oBAAoB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;AAC7C,wBAAwB,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACpE,qBAAqB;AACrB,oBAAoB,IAAI,IAAI,GAAG,IAAI,CAAC;AACpC,oBAAoB,IAAI,oBAAoB,CAAC,aAAa,IAAI,oBAAoB,CAAC,aAAa,EAAE,KAAK,OAAO,EAAE;AAChH,wBAAwB,IAAI,GAAG,KAAK,CAAC;AACrC,qBAAqB;AACrB,oBAAoB,IAAI,eAAe,IAAI,IAAI,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;AACpH,wBAAwB,IAAI,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;AACrG,wBAAwB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjF,4BAA4B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;AACvH,4BAA4B,IAAI,GAAG,GAAG,EAAE,CAAC;AACzC,4BAA4B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7E,gCAAgC,IAAI,eAAe,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAClG,gCAAgC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;AACnJ,6BAA6B;AAC7B,4BAA4B,IAAI,OAAO,GAAG,UAAU,CAAC,EAAE;AACvD,gCAAgC,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACjH,gCAAgC,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/J,gCAAgC,IAAI,QAAQ,EAAE;AAC9C,oCAAoC,IAAI,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9J;AACA,oCAAoC,IAAI,gBAAgB,GAAG,UAAU,UAAU,EAAE;AACjF,wCAAwC,IAAI,aAAa,GAAG,EAAE,CAAC;AAC/D,wCAAwC,IAAI,UAAU,EAAE;AACxD,4CAA4C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7F,gDAAgD,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC1F,gDAAgD,IAAI,QAAQ,EAAE;AAC9D,oDAAoD,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACxM,oDAAoD,IAAI,aAAa,EAAE;AACvE,wDAAwD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU;AAC9G,6DAA6D,IAAI,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/G,wDAAwD,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC1F,qDAAqD;AACrD,iDAAiD;AACjD,6CAA6C;AAC7C,yCAAyC;AACzC;AACA,wCAAwC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AACxE,4CAA4C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3F,gDAAgD,gBAAgB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5G,6CAA6C;AAC7C,yCAAyC;AACzC,qCAAqC,CAAC;AACtC,oCAAoC,gBAAgB,CAAC,aAAa,CAAC,CAAC;AACpE,oCAAoC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAC7H,iCAAiC;AACjC,6BAA6B,CAAC;AAC9B,4BAA4B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxG,gCAAgC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3C,6BAA6B;AAC7B,4BAA4B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5H,yBAAyB;AACzB,qBAAqB;AACrB;AACA,oBAAoB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AACjF,oBAAoB,oBAAoB,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAClG,iBAAiB;AACjB,qBAAqB;AACrB;AACA,oBAAoB,IAAI,aAAa,GAAG,KAAK,CAAC;AAC9C,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,MAAM,yBAAyB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE;AACpL,wBAAwB,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;AACvF,wBAAwB,aAAa,GAAG,IAAI,CAAC;AAC7C,qBAAqB;AACrB,oBAAoB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACzF,wBAAwB,IAAI,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1C,wBAAwB,IAAI,IAAI,CAAC,IAAI,EAAE;AACvC,4BAA4B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AACnF,gCAAgC,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACjD,gCAAgC,IAAI,UAAU,GAAG,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAChI,gCAAgC,IAAI,UAAU,EAAE;AAChD,oCAAoC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAC9F,iCAAiC;AACjC,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB,IAAI,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7E,wBAAwB,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3G,wBAAwB,IAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrE,wBAAwB,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE;AAClF,4BAA4B,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrD,yBAAyB,CAAC,CAAC;AAC3B,wBAAwB,IAAI,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAClG,4BAA4B,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,kBAAkB,GAAG,gBAAgB,EAAE,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC1H,gCAAgC,IAAI,eAAe,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAC7E,gCAAgC,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACrF,gCAAgC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAClI,oCAAoC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;AAC1I,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;AAC5F,4BAA4B,IAAI,yBAAyB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,EAAE;AACtG,gCAAgC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;AACnF,6BAA6B;AAC7B,iCAAiC;AACjC,gCAAgC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AAC7E,6BAA6B;AAC7B,yBAAyB;AACzB,wBAAwB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC9C,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,IAAI,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,EAAE;AACpJ,wBAAwB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AACrF,wBAAwB,oBAAoB,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACtG,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,SAAS,EAAE;AAClE,QAAQ,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACxC,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,MAAM,EAAE,IAAI,EAAE;AACnE,QAAQ,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACrD,QAAQ,IAAI,MAAM,KAAK,MAAM,EAAE;AAC/B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC/C,QAAQA,UAAQ,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AACrF,QAAQ,QAAQ,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrD,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,QAAQ,EAAE;AAC5D,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC;AACzB,QAAQ,IAAI,OAAO,GAAG,UAAU,IAAI,EAAE;AACtC,YAAY,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnC,YAAY,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE;AAChD,gBAAgB,GAAG,EAAE,YAAY;AACjC,oBAAoB,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAC5D,iBAAiB;AACjB,gBAAgB,GAAG,EAAE,UAAU,MAAM,EAAE,EAAE,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE;AACnF,aAAa,CAAC,CAAC;AACf,YAAYA,UAAQ,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;AAClE,SAAS,CAAC;AACV,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;AAC1B,QAAQ,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,QAAQ,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;AAC9E,YAAY,IAAI,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;AACtC,YAAY,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,SAAS,EAAE,OAAO,EAAE;AAC7E,QAAQ,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACjD,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;AACpC,YAAY,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE;AAC7D,gBAAgB,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;AACvE,aAAa;AACb,YAAY,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACjG,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,SAAS,EAAE,OAAO,EAAE;AAChF,QAAQ,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACjD,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;AACpC,YAAY,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;AAClF,SAAS;AACT,KAAK,CAAC;AACN,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;AAC/E,QAAQ,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACjD,QAAQ,IAAI,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;AACrD,QAAQ,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;AACzC,QAAQ,IAAI,SAAS,EAAE;AACvB,YAAY,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;AACvC,SAAS;AACT,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;AACpC,YAAY,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACrC,SAAS;AACT,QAAQ,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC7G,QAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;AACzC,YAAY,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAChD,SAAS;AACT,QAAQ,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC;AACjD;AACA,QAAQ,IAAI,OAAO,EAAE;AACrB,YAAY,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC;AACtD,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC1C,SAAS;AACT,QAAQ,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;AACrC,KAAK,CAAC;AACN,IAAI,OAAO,aAAa,CAAC;AACzB,CAAC,EAAE,CAAC;;AClYJ;AACA;AACA;AACA,AAAG,IAAC,QAAQ,kBAAkB,YAAY;AAC1C,IAAI,SAAS,QAAQ,GAAG;AACxB,KAAK;AACL,IAAI,QAAQ,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;AAClE,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,GAAG,YAAY,EAAE,OAAO,EAAE,CAAC;AAChE,IAAI,QAAQ,CAAC,SAAS,CAAC,WAAW,GAAG,UAAU,CAAC,EAAE;AAClD,QAAQ,IAAI,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;AACpE,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxC,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;AACrC,YAAY,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;AAC9C,SAAS;AACT,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;AACpC,YAAY,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACxD,YAAY,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC3E,YAAY,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;AACjI;AACA,gBAAgB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC5C,gBAAgB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1C,aAAa;AACb,SAAS;AACT,aAAa;AACb,YAAY,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;AAC1G;AACA,gBAAgB,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE;AACpD;AACA,oBAAoB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAChD,oBAAoB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC9C,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,IAAI,aAAa,GAAG,KAAK,CAAC;AAC9C,oBAAoB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;AACxD,oBAAoB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC9C,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAChC,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,gBAAgB,EAAE;AACtE,QAAQ,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;AAChD,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,SAAS,CAAC,iBAAiB,GAAG,UAAU,gBAAgB,EAAE;AACvE,QAAQ,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC;AAC/C,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,UAAU,MAAM,EAAE,IAAI,EAAE;AAC9D,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACtE,QAAQ,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC;AACpD,QAAQ,IAAI,GAAG,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;AAC7D,aAAa,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE;AAC3D,YAAY,OAAO;AACnB,SAAS;AACT,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC/C,QAAQA,UAAQ,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;AACrF,QAAQ,QAAQ,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACrD,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,SAAS,CAAC,eAAe,GAAG,UAAU,SAAS,EAAE;AAC9D,QAAQ,IAAI,qBAAqB,GAAG,SAAS,IAAI,IAAI,CAAC;AACtD;AACA;AACA;AACA;AACA,QAAQ,qBAAqB,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvE,QAAQ,qBAAqB,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzE,QAAQ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AAC3C,YAAY,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE;AAClF,gBAAgB,UAAU,CAAC,YAAY;AACvC,oBAAoB,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAClF,iBAAiB,CAAC,CAAC;AACnB,aAAa;AACb,iBAAiB;AACjB,gBAAgB,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC9E,aAAa;AACb,YAAY,IAAI,GAAG,GAAG,qBAAqB,CAAC,YAAY,IAAI,qBAAqB,CAAC,OAAO,CAAC;AAC1F,YAAY,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,cAAc,CAAC,CAAC;AAChF,YAAY,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAC9E,SAAS;AACT,QAAQ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AAChC,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,SAAS,CAAC,gBAAgB,GAAG,UAAU,QAAQ,EAAE;AAC9D,QAAQ,IAAI,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC;AACjC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACjC,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,SAAS,CAAC,UAAU,GAAG,UAAU,KAAK,EAAE;AACrD,QAAQ,IAAI,MAAM,GAAG,kBAAkB,CAAC;AACxC;AACA,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;AACxC,YAAY,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AAC/B,SAAS;AACT,aAAa;AACb;AACA;AACA,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE;AAC5B,gBAAgB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AAChD,oBAAoB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;AACzE,wBAAwB,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;AAC5D,qBAAqB;AACrB,yBAAyB;AACzB,wBAAwB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AAC7C,qBAAqB;AACrB,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;AACxD,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;AACpD,QAAQ,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAClC,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC9B;AACA;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC;AAC5D,QAAQ,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAChC,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;AAC5B,YAAY,IAAI,WAAW,EAAE;AAC7B,gBAAgB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3C,aAAa;AACb,YAAY,OAAO;AACnB,SAAS;AACT,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE;AAChD;AACA,QAAQ,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AACzC,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/B,SAAS;AACT,QAAQ,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAChC,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,GAAG,UAAU,CAAC,EAAE;AAC/C,QAAQ,IAAI,CAAC,cAAc,EAAE,CAAC;AAC9B;AACA,QAAQ,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;AACzC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC9B,SAAS;AACT,QAAQ,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;AAChC,KAAK,CAAC;AACN,IAAI,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;AAC/B,IAAI,OAAO,QAAQ,CAAC;AACpB,CAAC,EAAE,CAAC;;ACzIJ,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,AAAO,SAAS,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE;AAC7C,IAAI,IAAI,OAAO,WAAW,KAAK,QAAQ,KAAK,OAAO,WAAW,KAAK,UAAU,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;AAC9I,QAAQ,OAAO,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AACnD,KAAK;AACL,SAAS;AACT,QAAQ,IAAI,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC;AAC/E,QAAQ,IAAI,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;AACpE,QAAQ,OAAO,UAAU,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE;AACpD,YAAY,IAAI,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC9C;AACA,YAAY,IAAI,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC,gBAAgB,CAAC;AAC5E,YAAY,IAAI,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC1E,YAAY,IAAI,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;AACzG,iBAAiB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC,CAAC;AACrF,oBAAoB,QAAQ,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAC,EAAE;AAC5E,gBAAgB,OAAO,CAAC,aAAa,EAAE,CAAC;AACxC,aAAa;AACb,iBAAiB;AACjB,gBAAgB,OAAO,CAAC,YAAY,EAAE,CAAC;AACvC,aAAa;AACb;AACA,YAAY,IAAI,cAAc,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,kBAAkB;AAC3E,gBAAgB,SAAS,CAAC,kBAAkB,GAAG,QAAQ,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;AACtG,YAAY,QAAQ,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC,kBAAkB,IAAI,QAAQ,GAAG,OAAO,CAAC;AACvF,YAAY,IAAI,OAAO,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,WAAW,EAAE;AAC5E,gBAAgB,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;AACzD,aAAa;AACb,YAAY,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC9D,YAAY,OAAO,OAAO,CAAC,SAAS,CAAC;AACrC,SAAS,CAAC;AACV,KAAK;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,AAAO,SAAS,QAAQ,CAAC,YAAY,EAAE;AACvC,IAAI,OAAO,UAAU,MAAM,EAAE,GAAG,EAAE;AAClC,QAAQ,IAAI,kBAAkB,GAAG;AACjC,YAAY,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;AAC5B,YAAY,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC;AAC1C,YAAY,UAAU,EAAE,IAAI;AAC5B,YAAY,YAAY,EAAE,IAAI;AAC9B,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;AAC/D,KAAK,CAAC;AACN,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,GAAG,EAAE;AACrB,IAAI,OAAO,UAAU,GAAG,EAAE;AAC1B,QAAQ,IAAI,GAAG,KAAK,SAAS,EAAE;AAC/B,YAAY,OAAO;AACnB,SAAS;AACT,QAAQA,UAAQ,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;AACzC,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,EAAE,OAAO,GAAG,KAAK,UAAU,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;AACnH,YAAY,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;AACnF,YAAY,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,GAAG,GAAG,CAAC;AACxD,SAAS;AACT,aAAa;AACb,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE;AAClC,gBAAgB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;AACtD,gBAAgB,IAAI,CAAC,QAAQ,EAAE,CAAC;AAChC,aAAa;AACb,SAAS;AACT,KAAK,CAAC;AACN,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;AACnC,IAAI,OAAO,YAAY;AACvB;AACA,QAAQ,OAAO,QAAQ,CAAC,GAAG,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC;AAC3D,KAAK,CAAC;AACN,CAAC;AACD,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;;;;"}
@@ -1,11 +1,2 @@
1
- /*!
2
- * filename: ej2-angular-base.min.js
3
- * version : 31.1.17
4
- * Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
5
- * Use of this code is subject to the terms of our license.
6
- * A copy of the current license can be obtained at any time by e-mailing
7
- * licensing@syncfusion.com. Any infringement will be prosecuted under
8
- * applicable laws.
9
- */
10
- this.ej=this.ej||{},this.ej.angularbase=function(e,t,n){"use strict";function i(e,t){t.forEach(function(t){Object.getOwnPropertyNames(t.prototype).forEach(function(n){(!Object.prototype.hasOwnProperty.call(e.prototype,n)||t.isFormBase&&"constructor"!==n)&&(e.prototype["".concat(n)]=t.prototype["".concat(n)])})})}function r(e){return function(t){i(t,e)}}function s(e,t,i){var r={};if(e&&e.length){for(var s=0,a=e;s<a.length;s++){var o=a[s];!0===i?(t.propCollection["".concat(o)]=new n.EventEmitter(!1),t["".concat(o)]=t.propCollection["".concat(o)]):r["".concat(o)]=new n.EventEmitter(!1)}!0!==i&&t.setProperties(r,!0)}}function a(e,n,i){var r,s=Object.keys(e.registeredTemplate);if(s.length)for(var a=n&&n.filter(function(e){return!/\./g.test(e)}),o=/tab|accordion|toolbar/.test(null===(r=e.getModuleName)||void 0===r?void 0:r.call(e)),l=0,p=a&&a||s;l<p.length;l++){var c=p[l];if(i&&i.length)for(var h=0;h<i.length;h++)if(o)for(m=0;m<e.registeredTemplate["".concat(c)].length;m++)(g=e.registeredTemplate["".concat(c)][parseInt(m.toString(),10)])&&g===i["".concat(h)]&&(g.destroy(),e.registeredTemplate["".concat(c)].splice(m,1));else for(m=0;m<e.registeredTemplate.template.length;m++){var g=e.registeredTemplate.template[parseInt(m.toString(),10)].rootNodes[0];g===i["".concat(h)]&&(d=e.registeredTemplate["".concat(c)])[parseInt(m.toString(),10)].destroy()}else if(e.registeredTemplate["".concat(c)])for(var u=0,f=e.registeredTemplate["".concat(c)];u<f.length;u++){var d=f[u];if(!d.destroyed){if(d._view){var v=d._view.renderer.parentNode(d.rootNodes[0]);if(!t.isNullOrUndefined(v))for(var m=0;m<d.rootNodes.length;m++)v.appendChild(d.rootNodes[parseInt(m.toString(),10)])}d.destroy()}}o&&i||delete e.registeredTemplate["".concat(c)]}for(var C=0,y=e.tagObjects;C<y.length;C++)!function(e){e.instance&&e.instance.clearTemplate(n&&n.filter(function(t){return!!new RegExp(e.name).test(t)}))}(y[C])}function o(e,t,n){for(var i=e.replace(/\[/g,".").replace(/\]/g,"").split("."),r=n||{},s=0;s<i.length;s++){var a=i[parseInt(s.toString(),10)];s+1===i.length?r["".concat(a)]=void 0===t?{}:t:void 0===r["".concat(a)]&&(r["".concat(a)]={}),r=r["".concat(a)]}return r}function l(e,n){if("string"==typeof e||"function"==typeof e&&e.prototype&&e.prototype.CSPTemplate)return m(e,n);var i=e.elementRef.nativeElement._viewContainerRef,r=e.elementRef.nativeElement.propName;return function(n,s,a){var o={$implicit:n},l=i||s.viewContainerRef,p=l.createEmbeddedView(e,o);/EJS-MENTION|EJS-DROPDOWNLIST/.test(t.getValue("currentInstance.element.nodeName",l))||/E-TABITEM/.test(t.getValue("element.nativeElement.nodeName",l))&&t.getValue("currentInstance.headerTemplateRef",l)?p.detectChanges():p.markForCheck();var c=s&&s.registeredTemplate?s.registeredTemplate:t.getValue("currentInstance.registeredTemplate",l);return a=a&&s.registeredTemplate?a:r,void 0===c["".concat(a)]&&(c["".concat(a)]=[]),c["".concat(a)].push(p),p.rootNodes}}function p(e){return function(t,n){var i={set:c(n),get:h(n,e),enumerable:!0,configurable:!0};Object.defineProperty(t,n,i)}}function c(e){return function(n){void 0!==n&&(t.setValue(e+"Ref",n,this),"string"!=typeof n?(n.elementRef.nativeElement._viewContainerRef=this.viewContainerRef,n.elementRef.nativeElement.propName=e):this.saveChanges&&(this.saveChanges(e,n,void 0),this.dataBind()))}}function h(e,n){return function(){return t.getValue(e+"Ref",this)||n}}var g=/Ref$/,u=function(){function e(){this.hasChanges=!1,this.propCollection={},this.dataSource={},this.tags=[],this.tagObjects=[]}return e.prototype.ngOnInit=function(){this.registeredTemplate={};for(var e=0,n=this.tags;e<n.length;e++){var i=n[e],r=t.getValue("child"+i.substring(0,1).toUpperCase()+i.substring(1),this);r&&this.tagObjects.push({instance:r,name:i})}for(var s=Object.keys(this),a=0;a<s.length;a++){var o=t.getValue(s[parseInt(a.toString(),10)],this);"object"==typeof o&&o&&o.elementRef&&(t.getValue(-1!==s[parseInt(a.toString(),10)].indexOf("Ref")?s[parseInt(a.toString(),10)]:s[parseInt(a.toString(),10)]+"Ref",this)||t.setValue(-1!==s[parseInt(a.toString(),10)].indexOf("Ref")?s[parseInt(a.toString(),10)]:s[parseInt(a.toString(),10)]+"Ref",o,this),!t.getValue("viewContainerRef",this)||t.getValue("_viewContainerRef",o.elementRef.nativeElement)||t.getValue("propName",o.elementRef.nativeElement)||(t.setValue("_viewContainerRef",t.getValue("viewContainerRef",this),o.elementRef.nativeElement),t.setValue("propName",s[parseInt(a.toString(),10)].replace("Ref",""),o.elementRef.nativeElement)))}for(var l=0,p=s=(s=Object.keys(this)).filter(function(e){return/Ref$/i.test(e)});l<p.length;l++){var c=p[l].replace("Ref","");t.setValue(c.replace("_","."),t.getValue(c,this),this.propCollection)}var h=Object.keys(this);if(this.directivePropList){for(var g=0;g<this.directivePropList.length;g++){var u=this.directivePropList[parseInt(g.toString(),10)];-1===h.indexOf(u)||!1!==t.getValue(u,this)&&!t.getValue(u,this)||t.setValue(u,t.getValue(u,this),this.propCollection)}this.hasChanges=!0}this.isInitChanges=!0},e.prototype.registerEvents=function(e){s(e,this,!0)},e.prototype.ngOnChanges=function(e){for(var t=0,n=Object.keys(e);t<n.length;t++){var i=n[t],r=e["".concat(i)];this.propCollection["".concat(i)]=r.currentValue}this.isUpdated=!1,this.hasChanges=!0},e.prototype.clearTemplate=function(e){a(this,e)},e.prototype.getProperties=function(){for(var e=0,t=this.tagObjects;e<t.length;e++){var n=t[e];this.propCollection[n.name]=n.instance.getProperties()}return this.propCollection},e.prototype.isChanged=function(){var e=this.hasChanges;if(!t.isNullOrUndefined(this.propCollection[this.property]))for(var n=this.propCollection[this.property],i=Object.keys(n[0]),r=0;r<i.length;r++)if(!t.isNullOrUndefined(this.propCollection[i[parseInt(r.toString(),10)]])){var s=t.getValue(i[parseInt(r.toString(),10)],this),a=this.propCollection[this.property][0][i[parseInt(r.toString(),10)]];t.isNullOrUndefined(s)||this.propCollection[i[parseInt(r.toString(),10)]]===s||a===s||(t.setValue(i[parseInt(r.toString(),10)],s,this.propCollection[this.property][0]),t.setValue(i[parseInt(r.toString(),10)],s,this.propCollection),this.hasChanges=!0,this.isUpdated=!1)}for(var o=0,l=this.tagObjects;o<l.length;o++){var p=l[o];e=e||p.instance.hasChanges}return e||this.hasChanges},e.prototype.ngAfterContentChecked=function(){if(this.hasChanges=this.isChanged(),this.isInitChanges||this.hasChanges)for(var e=Object.keys(this),n=0,i=e=e.filter(function(e){return g.test(e)});n<i.length;n++){var r=i[n].replace("Ref","");t.setValue(r.replace("_","."),t.getValue(r,this),this.propCollection)}},e.prototype.ngAfterViewChecked=function(){this.isUpdated&&(this.hasChanges=!1)},e.prototype.ngAfterViewInit=function(){this.isInitChanges=!1},e.prototype.ngOnDestroy=function(){this.directivePropList=[]},e}(),f=function(){function e(e){this.list=[],this.hasChanges=!1,this.propertyName=e}return e.prototype.ngOnInit=function(){this.isInitChanges=!0},e.prototype.ngAfterContentInit=function(){var e=this,t=0;this.list=this.children.map(function(n){return n.dirIndex=t++,n.property=e.propertyName,n}),this.hasChanges=!0},e.prototype.getProperties=function(){for(var e=[],t=0,n=this.list;t<n.length;t++){var i=n[t];e.push(i.getProperties())}return e},e.prototype.isChanged=function(){var e=this,t=!1,n=0,i=!1,r=this.children.map(function(e){return e});if(this.list.length===this.children.length)for(var s=0;s<this.list.length;s++)this.list[parseInt(s.toString(),10)].propCollection.dataSource&&(this.list[parseInt(s.toString(),10)].dataSource&&this.list[parseInt(s.toString(),10)].propCollection.dataSource!==this.list[parseInt(s.toString(),10)].dataSource&&(this.list[parseInt(s.toString(),10)].propCollection.dataSource=this.list[parseInt(s.toString(),10)].dataSource,this.list[parseInt(s.toString(),10)].hasChanges=!0),"series"!==this.list[parseInt(s.toString(),10)].property&&(i=JSON.stringify(this.list[parseInt(s.toString(),10)].propCollection.dataSource)!==JSON.stringify(r[parseInt(s.toString(),10)].propCollection.dataSource))),i=this.list[parseInt(s.toString(),10)].hasChanges!==r[parseInt(s.toString(),10)].hasChanges;this.hasNewChildren=!(this.list.length===this.children.length&&!i)||null,this.hasNewChildren&&(this.list=this.children.map(function(t){return t.dirIndex=n++,t.property=e.propertyName,t}));for(var a=0,o=this.list;a<o.length;a++){var l=o[a];t=t||l.hasChanges}return!!this.list.length&&t},e.prototype.clearTemplate=function(e){for(var t=this,n=0,i=this.list;n<i.length;n++)i[n].clearTemplate(e&&e.map(function(e){return new RegExp(t.propertyName).test(e)?e.replace(t.propertyName+".",""):e}))},e.prototype.ngAfterContentChecked=function(){this.hasChanges=this.isChanged();for(var e=0;e<this.list.length;e++)t.getValue("childColumns",this.list[parseInt(e.toString(),10)])&&"columns"===t.getValue("property",this.list[parseInt(e.toString(),10)])&&t.setValue("columns",t.getValue("childColumns",this.list[parseInt(e.toString(),10)]).getProperties(),this.list[parseInt(e.toString(),10)].propCollection),this.list[parseInt(e.toString(),10)].isUpdated=!0},e.prototype.ngAfterViewInit=function(){this.isInitChanges=!1},e.prototype.ngOnDestroy=function(){this.list=[]},e}(),d=function(){function e(){this.isProtectedOnChange=!0,this.isFormInit=!0}return e.prototype.saveChanges=function(e,t,n){if(!this.isProtectedOnChange){this.oldProperties["".concat(e)]=n,this.changedProperties["".concat(e)]=t,this.finalUpdate();var i=setTimeout(this.dataBind.bind(this)),r=function(){clearTimeout(i)};this.finalUpdate=r}},e.prototype.ngOnInit=function(e){var n=e||this;n.registeredTemplate={},n.ngBoundedEvents={},n.isAngular=!0,n.isFormInit=!0,e&&(this.tags=e.tags),n.tags=this.tags||[],n.complexTemplate=this.complexTemplate||[],n.tagObjects=[],n.ngAttr=this.getAngularAttr(n.element),n.createElement=function(e,i){var r=n.srenderer?n.srenderer.createElement(e):t.createElement(e);return void 0===i?r:(r.innerHTML=i.innerHTML?i.innerHTML:"",void 0!==i.className&&(r.className=i.className),void 0!==i.id&&(r.id=i.id),void 0!==i.styles&&r.setAttribute("style",i.styles),void 0!==n.ngAttr&&r.setAttribute(n.ngAttr,""),void 0!==i.attrs&&t.attributes(r,i.attrs),r)};for(var i=0,r=n.tags;i<r.length;i++){var s=r[i],a={instance:t.getValue("child"+s.substring(0,1).toUpperCase()+s.substring(1),n),name:s};n.tagObjects.push(a)}for(var o=Object.keys(n),l=0;l<o.length;l++){var p=t.getValue(o[parseInt(l.toString(),10)],n);"object"==typeof p&&p&&p.elementRef&&("object"==typeof p&&p&&p.elementRef&&-1!==o[parseInt(l.toString(),10)].indexOf("_")&&-1===o[parseInt(l.toString(),10)].indexOf("Ref")&&t.setValue(o[parseInt(l.toString(),10)]+"Ref",p,n),!n.viewContainerRef||t.getValue("_viewContainerRef",p.elementRef.nativeElement)||t.getValue("propName",p.elementRef.nativeElement)||(t.setValue("_viewContainerRef",n.viewContainerRef,p.elementRef.nativeElement),t.setValue("propName",o[parseInt(l.toString(),10)].replace("Ref",""),p.elementRef.nativeElement)))}for(var c=0,h=o=(o=Object.keys(n)).filter(function(e){return/Ref$/i.test(e)&&/_/i.test(e)});c<h.length;c++){var g=h[c].replace("Ref",""),u={};t.setValue(g.replace("_","."),t.getValue(g,n),u),n.setProperties(u,!0)}},e.prototype.getAngularAttr=function(e){for(var t,n=e.attributes,i=n.length,r=0;r<i;r++)/_ngcontent/g.test(n[parseInt(r.toString(),10)].name)&&(t=n[parseInt(r.toString(),10)].name);return t},e.prototype.ngAfterViewInit=function(e){var n=e||this;/ejs-tab|ejs-accordion/g.test(n.ngEle.nativeElement.outerHTML)&&(n.ngEle.nativeElement.style.visibility="hidden");var i=Object.keys(n);i=i.filter(function(e){return/Ref$/i.test(e)});for(var r="DocumentEditor"===n.getModuleName(),s=0,a=i;s<a.length;s++){var o=a[s].replace("Ref","");t.setValue(o.replace("_","."),t.getValue(o+"Ref",n),n)}var l=function(e){"undefined"!=typeof window&&e.element&&(e.appendTo(e.element),e.ngEle.nativeElement.style.visibility="")};r||n.getModuleName().includes("btn")?l(n):setTimeout(function(){l(n)})},e.prototype.ngOnDestroy=function(e){var t=e||this;setTimeout(function(){if("undefined"!=typeof window&&t.element.classList.contains("e-control")){if(void 0!==t.ngOnFocus&&void 0!==t.ngOnBlur){var e=t.inputElement||t.element;e.removeEventListener("focus",t.ngOnFocusBound),e.removeEventListener("blur",t.ngOnBlurBound),t.ngOnFocusBound=null,t.ngOnBlurBound=null}t.destroy(),t.clearTemplate(null),setTimeout(function(){for(var e=0,n=Object.keys(t);e<n.length;e++){var i=n[e],r=t["".concat(i)];if(r&&/object/.test(typeof r)&&0!==Object.keys(r).length)if(/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(i))for(var s=0,a=Object.keys(t["".concat(i)]);s<a.length;s++){var o=a[s],l=r["".concat(o)];l&&/object/.test(typeof l)&&0!==Object.keys(l).length&&(l.parent||l.parentObj)&&(t["".concat(i)]["".concat(o)]=null)}else(r.parent||r.parentObj)&&(t["".concat(i)]=null)}})}})},e.prototype.clearTemplate=function(e,t){a(this,e,t)},e.prototype.ngAfterContentChecked=function(e){for(var n=e||this,i=0,r=n.tagObjects;i<r.length;i++){var s=r[i];if(!t.isUndefined(s.instance)&&(s.instance.isInitChanges||s.instance.hasChanges||s.instance.hasNewChildren)){var a={};if(s.instance.isInitChanges){var o=void 0;(C=t.getValue("instance.list",s))&&C.length&&(o=C[0].directivePropList);var l=!0;if(n.getModuleName&&"gantt"===n.getModuleName()&&(l=!1),o&&l&&-1===o.indexOf(s.instance.propertyName))for(var p=Object.keys(s.instance.list[0].propCollection),c=0;c<s.instance.list.length;c++){s.instance.list["".concat(c)].propCollection[s.instance.propertyName]=[];for(var h={},g=0;g<p.length;g++){var u=p[parseInt(g.toString(),10)];h["".concat(u)]=s.instance.list["".concat(c)].propCollection["".concat(u)]}for(var f=0;f<s.instance.list["".concat(c)].tags.length;f++)!function(e){var n=s.instance.list["".concat(c)].tags[parseInt(e.toString(),10)],i=t.getValue("child"+n.substring(0,1).toUpperCase()+n.substring(1),s.instance.list["".concat(c)]);if(i){var r=s.instance.list["".concat(c)]["child"+n.substring(0,1).toUpperCase()+n.substring(1)],a=function(e){var n=[];if(e)for(var i=0;i<e.list.length;i++){var r=e.list[0].tags[0];if(r){var s=t.getValue("child"+r.substring(0,1).toUpperCase()+r.substring(1),e.list[parseInt(i.toString(),10)]);s&&(e.list[parseInt(i.toString(),10)].tagObjects.push({instance:s,name:r}),n.push(s))}}if(0!==n.length)for(var o=0;o<n.length;o++)a(n[parseInt(o.toString(),10)])};a(r),s.instance.list["".concat(c)].tagObjects.push({instance:i,name:n})}}(f);s.instance.list["".concat(c)].propCollection[s.instance.propertyName].push(h)}a[s.name]=s.instance.getProperties(),n.setProperties(a,s.instance.isInitChanges)}else{var d=!1;(n[s.name].length!==s.instance.list.length||/diagram|DashboardLayout/.test(n.getModuleName()))&&(n[s.name]=s.instance.list,d=!0);for(var v=0,m=s.instance.list;v<m.length;v++){var C=m[v];if(C.tags)for(var y=0,b=C.tags;y<b.length;y++){var O=b[y],V=t.getValue("child"+O.substring(0,1).toUpperCase()+O.substring(1),C);V&&C.tagObjects.push({instance:V,name:O})}var I=s.instance.list.indexOf(C),S=t.getValue(s.name,n)["".concat(I)],E=Object.keys(S);if(E=E.filter(function(e){return/Ref$/i.test(e)}),S.properties&&0!==Object.keys(S.properties).length)for(var T=0,N=E;T<N.length;T++)u=(u=N[T]).replace(/Ref/,""),S.properties["".concat(u)]=S.properties["".concat(u)]?S.properties["".concat(u)]:S.propCollection["".concat(u)];t.isUndefined(S)||t.isUndefined(S.setProperties)||(/diagram|DashboardLayout/.test(n.getModuleName())?S.setProperties(C.getProperties(),!0):S.setProperties(C.getProperties())),C.isUpdated=!0}(/grid/.test(n.getModuleName())&&d||/chart/.test(n.getModuleName()))&&(a[s.name]=s.instance.getProperties(),n.setProperties(a,s.instance.isInitChanges))}}}},e.prototype.registerEvents=function(e){s(e,this)},e.prototype.twoWaySetter=function(e,n){var i=t.getValue(n,this.properties);i!==e&&(this.saveChanges(n,e,i),t.setValue(n,t.isNullOrUndefined(e)?null:e,this.properties),t.getValue(n+"Change",this).emit(e))},e.prototype.addTwoWay=function(e){for(var i=this,r=this,s=0,a=e;s<a.length;s++)!function(e){t.getValue(e,r),Object.defineProperty(r,e,{get:function(){return t.getValue(e,i.properties)},set:function(t){return i.twoWaySetter(t,e)}}),t.setValue(e+"Change",new n.EventEmitter,r)}(a[s])},e.prototype.addEventListener=function(e,n){var i=t.getValue(e,this);t.isUndefined(i)||(this.ngBoundedEvents["".concat(e)]||(this.ngBoundedEvents["".concat(e)]=new Map),this.ngBoundedEvents["".concat(e)].set(n,i.subscribe(n)))},e.prototype.removeEventListener=function(e,n){var i=t.getValue(e,this);t.isUndefined(i)||this.ngBoundedEvents["".concat(e)].get(n).unsubscribe()},e.prototype.trigger=function(e,n,i){var r=t.getValue(e,this),s=this.isProtectedOnChange;this.isProtectedOnChange=!1,n&&(n.name=e),t.isUndefined(r)||r.next(n);var a=t.getValue("local"+e.charAt(0).toUpperCase()+e.slice(1),this);t.isUndefined(a)||a.call(this,n),this.isProtectedOnChange=s,i&&(this.preventChange=this.isPreventChange,i.call(this,n)),this.isPreventChange=!1},e}(),v=function(){function e(){}return e.prototype.propagateChange=function(e){},e.prototype.propagateTouch=function(){},e.prototype.localChange=function(e){var n=void 0===e.checked?e.value:e.checked;if(this.objCheck=t.isObject(n),!0===this.isUpdated&&(this.angularValue=this.oldValue),!0===this.objCheck)this.duplicateValue=JSON.stringify(n),this.duplicateAngularValue=JSON.stringify(this.angularValue),this.duplicateValue!==this.duplicateAngularValue&&void 0!==this.propagateChange&&void 0!==n&&(this.propagateChange(n),this.angularValue=n);else if(n!==this.angularValue&&void 0!==this.propagateChange&&void 0!==n)if(""!==n&&null!==n)this.propagateChange(n),this.angularValue=n;else{var i=n;this.propagateChange(i),this.angularValue=n}this.cdr.markForCheck()},e.prototype.registerOnChange=function(e){this.propagateChange=e},e.prototype.registerOnTouched=function(e){this.propagateTouch=e},e.prototype.twoWaySetter=function(e,n){var i=this.oldValue||t.getValue(n,this.properties),r=this.inputElement||this.element;(!r||i!==e||this.value!==e||void 0!==r.value&&""!==r.value)&&(this.saveChanges(n,e,i),t.setValue(n,t.isNullOrUndefined(e)?null:e,this.properties),t.getValue(n+"Change",this).emit(e))},e.prototype.ngAfterViewInit=function(e){var t=e||this;if(t.ngOnBlurBound=this.ngOnBlur.bind(this),t.ngOnFocusBound=this.ngOnFocus.bind(this),"undefined"!=typeof window){t.getModuleName().includes("dropdowntree")?setTimeout(function(){t.appendTo(t.element)}):t.appendTo(t.element);var n=t.inputElement||t.element;n.addEventListener("focus",t.ngOnFocusBound),n.addEventListener("blur",t.ngOnBlurBound)}this.isFormInit=!1},e.prototype.setDisabledState=function(e){this.enabled=!e,this.disabled=e},e.prototype.writeValue=function(e){var t=/ejs-radiobutton/g;void 0===this.checked?this.value=e:this.ngEle&&("boolean"==typeof e?t.test(this.ngEle.nativeElement.outerHTML)?this.checked=e===this.value:this.checked=e:this.checked=e===this.value);var n=null==this.angularValue;if(this.angularValue=e,this.isUpdated=!0,this.preventChange=!this.isFormInit,this.cdr.markForCheck(),null===e)return void(n&&(this.preventChange=!1))},e.prototype.ngOnFocus=function(e){!0!==this.skipFromEvent&&this.focus.emit(e),this.cdr.markForCheck()},e.prototype.ngOnBlur=function(e){this.propagateTouch(),!0!==this.skipFromEvent&&this.blur.emit(e),this.cdr.markForCheck()},e.isFormBase=!0,e}(),m=t.getTemplateEngine();return t.setTemplateEngine({compile:l}),e.ArrayBase=f,e.ComplexBase=u,e.ComponentBase=d,e.ComponentMixins=r,e.FormBase=v,e.Template=p,e.applyMixins=i,e.clearTemplate=a,e.compile=l,e.registerEvents=s,e.setValue=o,e}({},ej.base,core),this.ejs=ej;
1
+ this.ej=this.ej||{},this.ej.angularbase=function(e,t,n){"use strict";function i(e,t){t.forEach(function(t){Object.getOwnPropertyNames(t.prototype).forEach(function(n){(!Object.prototype.hasOwnProperty.call(e.prototype,n)||t.isFormBase&&"constructor"!==n)&&(e.prototype["".concat(n)]=t.prototype["".concat(n)])})})}function r(e){return function(t){i(t,e)}}function s(e,t,i){var r={};if(e&&e.length){for(var s=0,a=e;s<a.length;s++){var o=a[s];!0===i?(t.propCollection["".concat(o)]=new n.EventEmitter(!1),t["".concat(o)]=t.propCollection["".concat(o)]):r["".concat(o)]=new n.EventEmitter(!1)}!0!==i&&t.setProperties(r,!0)}}function a(e,n,i){var r,s=Object.keys(e.registeredTemplate);if(s.length)for(var a=n&&n.filter(function(e){return!/\./g.test(e)}),o=/tab|accordion|toolbar/.test(null===(r=e.getModuleName)||void 0===r?void 0:r.call(e)),l=0,p=a&&a||s;l<p.length;l++){var c=p[l];if(i&&i.length)for(var h=0;h<i.length;h++)if(o)for(m=0;m<e.registeredTemplate["".concat(c)].length;m++)(g=e.registeredTemplate["".concat(c)][parseInt(m.toString(),10)])&&g===i["".concat(h)]&&(g.destroy(),e.registeredTemplate["".concat(c)].splice(m,1));else for(m=0;m<e.registeredTemplate.template.length;m++){var g=e.registeredTemplate.template[parseInt(m.toString(),10)].rootNodes[0];g===i["".concat(h)]&&(d=e.registeredTemplate["".concat(c)])[parseInt(m.toString(),10)].destroy()}else if(e.registeredTemplate["".concat(c)])for(var u=0,f=e.registeredTemplate["".concat(c)];u<f.length;u++){var d=f[u];if(!d.destroyed){if(d._view){var v=d._view.renderer.parentNode(d.rootNodes[0]);if(!t.isNullOrUndefined(v))for(var m=0;m<d.rootNodes.length;m++)v.appendChild(d.rootNodes[parseInt(m.toString(),10)])}d.destroy()}}o&&i||delete e.registeredTemplate["".concat(c)]}for(var C=0,y=e.tagObjects;C<y.length;C++)!function(e){e.instance&&e.instance.clearTemplate(n&&n.filter(function(t){return!!new RegExp(e.name).test(t)}))}(y[C])}function o(e,t,n){for(var i=e.replace(/\[/g,".").replace(/\]/g,"").split("."),r=n||{},s=0;s<i.length;s++){var a=i[parseInt(s.toString(),10)];s+1===i.length?r["".concat(a)]=void 0===t?{}:t:void 0===r["".concat(a)]&&(r["".concat(a)]={}),r=r["".concat(a)]}return r}function l(e,n){if("string"==typeof e||"function"==typeof e&&e.prototype&&e.prototype.CSPTemplate)return m(e,n);var i=e.elementRef.nativeElement._viewContainerRef,r=e.elementRef.nativeElement.propName;return function(n,s,a){var o={$implicit:n},l=i||s.viewContainerRef,p=l.createEmbeddedView(e,o);/EJS-MENTION|EJS-DROPDOWNLIST/.test(t.getValue("currentInstance.element.nodeName",l))||/E-TABITEM/.test(t.getValue("element.nativeElement.nodeName",l))&&t.getValue("currentInstance.headerTemplateRef",l)?p.detectChanges():p.markForCheck();var c=s&&s.registeredTemplate?s.registeredTemplate:t.getValue("currentInstance.registeredTemplate",l);return a=a&&s.registeredTemplate?a:r,void 0===c["".concat(a)]&&(c["".concat(a)]=[]),c["".concat(a)].push(p),p.rootNodes}}function p(e){return function(t,n){var i={set:c(n),get:h(n,e),enumerable:!0,configurable:!0};Object.defineProperty(t,n,i)}}function c(e){return function(n){void 0!==n&&(t.setValue(e+"Ref",n,this),"string"==typeof n||"function"==typeof n&&n.prototype&&n.prototype.CSPTemplate?this.saveChanges&&(this.saveChanges(e,n,void 0),this.dataBind()):(n.elementRef.nativeElement._viewContainerRef=this.viewContainerRef,n.elementRef.nativeElement.propName=e))}}function h(e,n){return function(){return t.getValue(e+"Ref",this)||n}}var g=/Ref$/,u=function(){function e(){this.hasChanges=!1,this.propCollection={},this.dataSource={},this.tags=[],this.tagObjects=[]}return e.prototype.ngOnInit=function(){this.registeredTemplate={};for(var e=0,n=this.tags;e<n.length;e++){var i=n[e],r=t.getValue("child"+i.substring(0,1).toUpperCase()+i.substring(1),this);r&&this.tagObjects.push({instance:r,name:i})}for(var s=Object.keys(this),a=0;a<s.length;a++){var o=t.getValue(s[parseInt(a.toString(),10)],this);"object"==typeof o&&o&&o.elementRef&&(t.getValue(-1!==s[parseInt(a.toString(),10)].indexOf("Ref")?s[parseInt(a.toString(),10)]:s[parseInt(a.toString(),10)]+"Ref",this)||t.setValue(-1!==s[parseInt(a.toString(),10)].indexOf("Ref")?s[parseInt(a.toString(),10)]:s[parseInt(a.toString(),10)]+"Ref",o,this),!t.getValue("viewContainerRef",this)||t.getValue("_viewContainerRef",o.elementRef.nativeElement)||t.getValue("propName",o.elementRef.nativeElement)||(t.setValue("_viewContainerRef",t.getValue("viewContainerRef",this),o.elementRef.nativeElement),t.setValue("propName",s[parseInt(a.toString(),10)].replace("Ref",""),o.elementRef.nativeElement)))}for(var l=0,p=s=(s=Object.keys(this)).filter(function(e){return/Ref$/i.test(e)});l<p.length;l++){var c=p[l].replace("Ref","");t.setValue(c.replace("_","."),t.getValue(c,this),this.propCollection)}var h=Object.keys(this);if(this.directivePropList){for(var g=0;g<this.directivePropList.length;g++){var u=this.directivePropList[parseInt(g.toString(),10)];-1===h.indexOf(u)||!1!==t.getValue(u,this)&&!t.getValue(u,this)||t.setValue(u,t.getValue(u,this),this.propCollection)}this.hasChanges=!0}this.isInitChanges=!0},e.prototype.registerEvents=function(e){s(e,this,!0)},e.prototype.ngOnChanges=function(e){for(var t=0,n=Object.keys(e);t<n.length;t++){var i=n[t],r=e["".concat(i)];this.propCollection["".concat(i)]=r.currentValue}this.isUpdated=!1,this.hasChanges=!0},e.prototype.clearTemplate=function(e){a(this,e)},e.prototype.getProperties=function(){for(var e=0,t=this.tagObjects;e<t.length;e++){var n=t[e];this.propCollection[n.name]=n.instance.getProperties()}return this.propCollection},e.prototype.isChanged=function(){var e=this.hasChanges;if(!t.isNullOrUndefined(this.propCollection[this.property]))for(var n=this.propCollection[this.property],i=Object.keys(n[0]),r=0;r<i.length;r++)if(!t.isNullOrUndefined(this.propCollection[i[parseInt(r.toString(),10)]])){var s=t.getValue(i[parseInt(r.toString(),10)],this),a=this.propCollection[this.property][0][i[parseInt(r.toString(),10)]];t.isNullOrUndefined(s)||this.propCollection[i[parseInt(r.toString(),10)]]===s||a===s||(t.setValue(i[parseInt(r.toString(),10)],s,this.propCollection[this.property][0]),t.setValue(i[parseInt(r.toString(),10)],s,this.propCollection),this.hasChanges=!0,this.isUpdated=!1)}for(var o=0,l=this.tagObjects;o<l.length;o++){var p=l[o];e=e||p.instance.hasChanges}return e||this.hasChanges},e.prototype.ngAfterContentChecked=function(){if(this.hasChanges=this.isChanged(),this.isInitChanges||this.hasChanges)for(var e=Object.keys(this),n=0,i=e=e.filter(function(e){return g.test(e)});n<i.length;n++){var r=i[n].replace("Ref","");t.setValue(r.replace("_","."),t.getValue(r,this),this.propCollection)}},e.prototype.ngAfterViewChecked=function(){this.isUpdated&&(this.hasChanges=!1)},e.prototype.ngAfterViewInit=function(){this.isInitChanges=!1},e.prototype.ngOnDestroy=function(){this.directivePropList=[]},e}(),f=function(){function e(e){this.list=[],this.hasChanges=!1,this.propertyName=e}return e.prototype.ngOnInit=function(){this.isInitChanges=!0},e.prototype.ngAfterContentInit=function(){var e=this,t=0;this.list=this.children.map(function(n){return n.dirIndex=t++,n.property=e.propertyName,n}),this.hasChanges=!0},e.prototype.getProperties=function(){for(var e=[],t=0,n=this.list;t<n.length;t++){var i=n[t];e.push(i.getProperties())}return e},e.prototype.isChanged=function(){var e=this,t=!1,n=0,i=!1,r=this.children.map(function(e){return e});if(this.list.length===this.children.length)for(var s=0;s<this.list.length;s++)this.list[parseInt(s.toString(),10)].propCollection.dataSource&&(this.list[parseInt(s.toString(),10)].dataSource&&this.list[parseInt(s.toString(),10)].propCollection.dataSource!==this.list[parseInt(s.toString(),10)].dataSource&&(this.list[parseInt(s.toString(),10)].propCollection.dataSource=this.list[parseInt(s.toString(),10)].dataSource,this.list[parseInt(s.toString(),10)].hasChanges=!0),"series"!==this.list[parseInt(s.toString(),10)].property&&(i=JSON.stringify(this.list[parseInt(s.toString(),10)].propCollection.dataSource)!==JSON.stringify(r[parseInt(s.toString(),10)].propCollection.dataSource))),i=this.list[parseInt(s.toString(),10)].hasChanges!==r[parseInt(s.toString(),10)].hasChanges;this.hasNewChildren=!(this.list.length===this.children.length&&!i)||null,this.hasNewChildren&&(this.list=this.children.map(function(t){return t.dirIndex=n++,t.property=e.propertyName,t}));for(var a=0,o=this.list;a<o.length;a++){var l=o[a];t=t||l.hasChanges}return!!this.list.length&&t},e.prototype.clearTemplate=function(e){for(var t=this,n=0,i=this.list;n<i.length;n++)i[n].clearTemplate(e&&e.map(function(e){return new RegExp(t.propertyName).test(e)?e.replace(t.propertyName+".",""):e}))},e.prototype.ngAfterContentChecked=function(){this.hasChanges=this.isChanged();for(var e=0;e<this.list.length;e++)t.getValue("childColumns",this.list[parseInt(e.toString(),10)])&&"columns"===t.getValue("property",this.list[parseInt(e.toString(),10)])&&t.setValue("columns",t.getValue("childColumns",this.list[parseInt(e.toString(),10)]).getProperties(),this.list[parseInt(e.toString(),10)].propCollection),this.list[parseInt(e.toString(),10)].isUpdated=!0},e.prototype.ngAfterViewInit=function(){this.isInitChanges=!1},e.prototype.ngOnDestroy=function(){this.list=[]},e}(),d=function(){function e(){this.isProtectedOnChange=!0,this.isFormInit=!0}return e.prototype.saveChanges=function(e,t,n){if(!this.isProtectedOnChange){this.oldProperties["".concat(e)]=n,this.changedProperties["".concat(e)]=t,this.finalUpdate();var i=setTimeout(this.dataBind.bind(this)),r=function(){clearTimeout(i)};this.finalUpdate=r}},e.prototype.ngOnInit=function(e){var n=e||this;n.registeredTemplate={},n.ngBoundedEvents={},n.isAngular=!0,n.isFormInit=!0,e&&(this.tags=e.tags),n.tags=this.tags||[],n.complexTemplate=this.complexTemplate||[],n.tagObjects=[],n.ngAttr=this.getAngularAttr(n.element),n.createElement=function(e,i){var r=n.srenderer?n.srenderer.createElement(e):t.createElement(e);return void 0===i?r:(r.innerHTML=i.innerHTML?i.innerHTML:"",void 0!==i.className&&(r.className=i.className),void 0!==i.id&&(r.id=i.id),void 0!==i.styles&&r.setAttribute("style",i.styles),void 0!==n.ngAttr&&r.setAttribute(n.ngAttr,""),void 0!==i.attrs&&t.attributes(r,i.attrs),r)};for(var i=0,r=n.tags;i<r.length;i++){var s=r[i],a={instance:t.getValue("child"+s.substring(0,1).toUpperCase()+s.substring(1),n),name:s};n.tagObjects.push(a)}for(var o=Object.keys(n),l=0;l<o.length;l++){var p=t.getValue(o[parseInt(l.toString(),10)],n);"object"==typeof p&&p&&p.elementRef&&("object"==typeof p&&p&&p.elementRef&&-1!==o[parseInt(l.toString(),10)].indexOf("_")&&-1===o[parseInt(l.toString(),10)].indexOf("Ref")&&t.setValue(o[parseInt(l.toString(),10)]+"Ref",p,n),!n.viewContainerRef||t.getValue("_viewContainerRef",p.elementRef.nativeElement)||t.getValue("propName",p.elementRef.nativeElement)||(t.setValue("_viewContainerRef",n.viewContainerRef,p.elementRef.nativeElement),t.setValue("propName",o[parseInt(l.toString(),10)].replace("Ref",""),p.elementRef.nativeElement)))}for(var c=0,h=o=(o=Object.keys(n)).filter(function(e){return/Ref$/i.test(e)&&/_/i.test(e)});c<h.length;c++){var g=h[c].replace("Ref",""),u={};t.setValue(g.replace("_","."),t.getValue(g,n),u),n.setProperties(u,!0)}},e.prototype.getAngularAttr=function(e){for(var t,n=e.attributes,i=n.length,r=0;r<i;r++)/_ngcontent/g.test(n[parseInt(r.toString(),10)].name)&&(t=n[parseInt(r.toString(),10)].name);return t},e.prototype.ngAfterViewInit=function(e){var n=e||this;/ejs-tab|ejs-accordion/g.test(n.ngEle.nativeElement.outerHTML)&&(n.ngEle.nativeElement.style.visibility="hidden");var i=Object.keys(n);i=i.filter(function(e){return/Ref$/i.test(e)});for(var r="DocumentEditor"===n.getModuleName(),s=0,a=i;s<a.length;s++){var o=a[s].replace("Ref","");t.setValue(o.replace("_","."),t.getValue(o+"Ref",n),n)}var l=function(e){"undefined"!=typeof window&&e.element&&(e.appendTo(e.element),e.ngEle.nativeElement.style.visibility="")};r||n.getModuleName().includes("btn")?l(n):setTimeout(function(){l(n)})},e.prototype.ngOnDestroy=function(e){var t=e||this;setTimeout(function(){if("undefined"!=typeof window&&t.element.classList.contains("e-control")){if(void 0!==t.ngOnFocus&&void 0!==t.ngOnBlur){var e=t.inputElement||t.element;e.removeEventListener("focus",t.ngOnFocusBound),e.removeEventListener("blur",t.ngOnBlurBound),t.ngOnFocusBound=null,t.ngOnBlurBound=null}t.destroy(),t.clearTemplate(null),setTimeout(function(){for(var e=0,n=Object.keys(t);e<n.length;e++){var i=n[e],r=t["".concat(i)];if(r&&/object/.test(typeof r)&&0!==Object.keys(r).length)if(/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(i))for(var s=0,a=Object.keys(t["".concat(i)]);s<a.length;s++){var o=a[s],l=r["".concat(o)];l&&/object/.test(typeof l)&&0!==Object.keys(l).length&&(l.parent||l.parentObj)&&(t["".concat(i)]["".concat(o)]=null)}else(r.parent||r.parentObj)&&(t["".concat(i)]=null)}})}})},e.prototype.clearTemplate=function(e,t){a(this,e,t)},e.prototype.ngAfterContentChecked=function(e){for(var n=e||this,i=0,r=n.tagObjects;i<r.length;i++){var s=r[i];if(!t.isUndefined(s.instance)&&(s.instance.isInitChanges||s.instance.hasChanges||s.instance.hasNewChildren)){var a={};if(s.instance.isInitChanges){var o=void 0;(C=t.getValue("instance.list",s))&&C.length&&(o=C[0].directivePropList);var l=!0;if(n.getModuleName&&"gantt"===n.getModuleName()&&(l=!1),o&&l&&-1===o.indexOf(s.instance.propertyName))for(var p=Object.keys(s.instance.list[0].propCollection),c=0;c<s.instance.list.length;c++){s.instance.list["".concat(c)].propCollection[s.instance.propertyName]=[];for(var h={},g=0;g<p.length;g++){var u=p[parseInt(g.toString(),10)];h["".concat(u)]=s.instance.list["".concat(c)].propCollection["".concat(u)]}for(var f=0;f<s.instance.list["".concat(c)].tags.length;f++)!function(e){var n=s.instance.list["".concat(c)].tags[parseInt(e.toString(),10)],i=t.getValue("child"+n.substring(0,1).toUpperCase()+n.substring(1),s.instance.list["".concat(c)]);if(i){var r=s.instance.list["".concat(c)]["child"+n.substring(0,1).toUpperCase()+n.substring(1)],a=function(e){var n=[];if(e)for(var i=0;i<e.list.length;i++){var r=e.list[0].tags[0];if(r){var s=t.getValue("child"+r.substring(0,1).toUpperCase()+r.substring(1),e.list[parseInt(i.toString(),10)]);s&&(e.list[parseInt(i.toString(),10)].tagObjects.push({instance:s,name:r}),n.push(s))}}if(0!==n.length)for(var o=0;o<n.length;o++)a(n[parseInt(o.toString(),10)])};a(r),s.instance.list["".concat(c)].tagObjects.push({instance:i,name:n})}}(f);s.instance.list["".concat(c)].propCollection[s.instance.propertyName].push(h)}a[s.name]=s.instance.getProperties(),n.setProperties(a,s.instance.isInitChanges)}else{var d=!1;(n[s.name].length!==s.instance.list.length||/diagram|DashboardLayout/.test(n.getModuleName()))&&(n[s.name]=s.instance.list,d=!0);for(var v=0,m=s.instance.list;v<m.length;v++){var C=m[v];if(C.tags)for(var y=0,b=C.tags;y<b.length;y++){var O=b[y],V=t.getValue("child"+O.substring(0,1).toUpperCase()+O.substring(1),C);V&&C.tagObjects.push({instance:V,name:O})}var I=s.instance.list.indexOf(C),S=t.getValue(s.name,n)["".concat(I)],E=Object.keys(S);if(E=E.filter(function(e){return/Ref$/i.test(e)}),S.properties&&0!==Object.keys(S.properties).length)for(var T=0,N=E;T<N.length;T++)u=(u=N[T]).replace(/Ref/,""),S.properties["".concat(u)]=S.properties["".concat(u)]?S.properties["".concat(u)]:S.propCollection["".concat(u)];t.isUndefined(S)||t.isUndefined(S.setProperties)||(/diagram|DashboardLayout/.test(n.getModuleName())?S.setProperties(C.getProperties(),!0):S.setProperties(C.getProperties())),C.isUpdated=!0}(/grid/.test(n.getModuleName())&&d||/chart/.test(n.getModuleName()))&&(a[s.name]=s.instance.getProperties(),n.setProperties(a,s.instance.isInitChanges))}}}},e.prototype.registerEvents=function(e){s(e,this)},e.prototype.twoWaySetter=function(e,n){var i=t.getValue(n,this.properties);i!==e&&(this.saveChanges(n,e,i),t.setValue(n,t.isNullOrUndefined(e)?null:e,this.properties),t.getValue(n+"Change",this).emit(e))},e.prototype.addTwoWay=function(e){for(var i=this,r=this,s=0,a=e;s<a.length;s++)!function(e){t.getValue(e,r),Object.defineProperty(r,e,{get:function(){return t.getValue(e,i.properties)},set:function(t){return i.twoWaySetter(t,e)}}),t.setValue(e+"Change",new n.EventEmitter,r)}(a[s])},e.prototype.addEventListener=function(e,n){var i=t.getValue(e,this);t.isUndefined(i)||(this.ngBoundedEvents["".concat(e)]||(this.ngBoundedEvents["".concat(e)]=new Map),this.ngBoundedEvents["".concat(e)].set(n,i.subscribe(n)))},e.prototype.removeEventListener=function(e,n){var i=t.getValue(e,this);t.isUndefined(i)||this.ngBoundedEvents["".concat(e)].get(n).unsubscribe()},e.prototype.trigger=function(e,n,i){var r=t.getValue(e,this),s=this.isProtectedOnChange;this.isProtectedOnChange=!1,n&&(n.name=e),t.isUndefined(r)||r.next(n);var a=t.getValue("local"+e.charAt(0).toUpperCase()+e.slice(1),this);t.isUndefined(a)||a.call(this,n),this.isProtectedOnChange=s,i&&(this.preventChange=this.isPreventChange,i.call(this,n)),this.isPreventChange=!1},e}(),v=function(){function e(){}return e.prototype.propagateChange=function(e){},e.prototype.propagateTouch=function(){},e.prototype.localChange=function(e){var n=void 0===e.checked?e.value:e.checked;if(this.objCheck=t.isObject(n),!0===this.isUpdated&&(this.angularValue=this.oldValue),!0===this.objCheck)this.duplicateValue=JSON.stringify(n),this.duplicateAngularValue=JSON.stringify(this.angularValue),this.duplicateValue!==this.duplicateAngularValue&&void 0!==this.propagateChange&&void 0!==n&&(this.propagateChange(n),this.angularValue=n);else if(n!==this.angularValue&&void 0!==this.propagateChange&&void 0!==n)if(""!==n&&null!==n)this.propagateChange(n),this.angularValue=n;else{var i=n;this.propagateChange(i),this.angularValue=n}this.cdr.markForCheck()},e.prototype.registerOnChange=function(e){this.propagateChange=e},e.prototype.registerOnTouched=function(e){this.propagateTouch=e},e.prototype.twoWaySetter=function(e,n){var i=this.oldValue||t.getValue(n,this.properties),r=this.inputElement||this.element;(!r||i!==e||this.value!==e||void 0!==r.value&&""!==r.value)&&(this.saveChanges(n,e,i),t.setValue(n,t.isNullOrUndefined(e)?null:e,this.properties),t.getValue(n+"Change",this).emit(e))},e.prototype.ngAfterViewInit=function(e){var t=e||this;if(t.ngOnBlurBound=this.ngOnBlur.bind(this),t.ngOnFocusBound=this.ngOnFocus.bind(this),"undefined"!=typeof window){t.getModuleName().includes("dropdowntree")?setTimeout(function(){t.appendTo(t.element)}):t.appendTo(t.element);var n=t.inputElement||t.element;n.addEventListener("focus",t.ngOnFocusBound),n.addEventListener("blur",t.ngOnBlurBound)}this.isFormInit=!1},e.prototype.setDisabledState=function(e){this.enabled=!e,this.disabled=e},e.prototype.writeValue=function(e){var t=/ejs-radiobutton/g;void 0===this.checked?this.value=e:this.ngEle&&("boolean"==typeof e?t.test(this.ngEle.nativeElement.outerHTML)?this.checked=e===this.value:this.checked=e:this.checked=e===this.value);var n=null==this.angularValue;if(this.angularValue=e,this.isUpdated=!0,this.preventChange=!this.isFormInit,this.cdr.markForCheck(),null===e)return void(n&&(this.preventChange=!1))},e.prototype.ngOnFocus=function(e){!0!==this.skipFromEvent&&this.focus.emit(e),this.cdr.markForCheck()},e.prototype.ngOnBlur=function(e){this.propagateTouch(),!0!==this.skipFromEvent&&this.blur.emit(e),this.cdr.markForCheck()},e.isFormBase=!0,e}(),m=t.getTemplateEngine();return t.setTemplateEngine({compile:l}),e.ArrayBase=f,e.ComplexBase=u,e.ComponentBase=d,e.ComponentMixins=r,e.FormBase=v,e.Template=p,e.applyMixins=i,e.clearTemplate=a,e.compile=l,e.registerEvents=s,e.setValue=o,e}({},ej.base,core),this.ejs=ej;
11
2
  //# sourceMappingURL=ej2-angular-base.min.js.map