@syncfusion/ej2-angular-base 24.2.3 → 25.1.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -3
- package/dist/ej2-angular-base.umd.min.js +2 -2
- package/dist/ej2-angular-base.umd.min.js.map +1 -1
- package/dist/es6/ej2-angular-base.es2015.js +4 -2
- package/dist/es6/ej2-angular-base.es2015.js.map +1 -1
- package/dist/es6/ej2-angular-base.es5.js +4 -2
- package/dist/es6/ej2-angular-base.es5.js.map +1 -1
- package/dist/global/ej2-angular-base.min.js +2 -2
- package/dist/global/ej2-angular-base.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +9 -26
- package/src/component-base.js +4 -2
- package/.github/PULL_REQUEST_TEMPLATE/bug.md +0 -60
- package/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -37
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ej2-angular-base.es2015.js","sources":["../src/es6/util.js","../src/es6/complex-array-base.js","../src/es6/component-base.js","../src/es6/form-base.js","../src/es6/template.js","../src/es6/index.js"],"sourcesContent":["import { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n */\n/* tslint:disable */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(baseClass => {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(name => {\n if (!derivedClass.prototype.hasOwnProperty(name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[name] = baseClass.prototype[name];\n }\n });\n });\n}\n/* tslint:disable */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * @private\n */\nexport function registerEvents(eventList, obj, direct) {\n let ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (let event of eventList) {\n if (direct === true) {\n obj.propCollection[event] = new EventEmitter(false);\n obj[event] = obj.propCollection[event];\n }\n else {\n ngEventsEmitter[event] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * @private\n */\nexport function clearTemplate(_this, templateNames, index) {\n let regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n let regProperties = templateNames && templateNames.filter((val) => {\n return (/\\./g.test(val) ? false : true);\n });\n let tabaccordionTemp = /tab|accordion|toolbar/.test(_this.getModuleName());\n for (let registeredTemplate of (regProperties && regProperties || regTemplates)) {\n /* istanbul ignore next */\n if (index && index.length) {\n for (let e = 0; e < index.length; e++) {\n if (tabaccordionTemp) {\n for (let m = 0; m < _this.registeredTemplate[registeredTemplate].length; m++) {\n let value = _this.registeredTemplate[registeredTemplate][m];\n if (value && value === index[e]) {\n value.destroy();\n _this.registeredTemplate[registeredTemplate].splice(m, 1);\n }\n }\n }\n else {\n for (let m = 0; m < _this.registeredTemplate.template.length; m++) {\n let value = _this.registeredTemplate.template[m].rootNodes[0];\n if (value === index[e]) {\n let rt = _this.registeredTemplate[registeredTemplate];\n rt[m].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[registeredTemplate]) {\n for (let rt of _this.registeredTemplate[registeredTemplate]) {\n if (!rt.destroyed) {\n if (rt._view) {\n let pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (let m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[m]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabaccordionTemp || !index) {\n delete _this.registeredTemplate[registeredTemplate];\n }\n }\n }\n for (let tagObject of _this.tagObjects) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter((val) => {\n return (new RegExp(tagObject.name).test(val) ? true : false);\n })));\n }\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n * @param {string} nameSpace - String value to the get the inner object\n * @param {any} value - Value that you need to set.\n * @param {any} obj - Object to get the inner object value.\n * @return {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n let keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n let fromObj = object || {};\n for (let i = 0; i < keys.length; i++) {\n let key = keys[i];\n if (i + 1 === keys.length) {\n fromObj[key] = value === undefined ? {} : value;\n }\n else if (fromObj[key] === undefined) {\n fromObj[key] = {};\n }\n fromObj = fromObj[key];\n }\n return fromObj;\n}\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nconst refRegex = /Ref$/;\nexport class ComplexBase {\n constructor() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ngOnInit() {\n this.registeredTemplate = {};\n for (let tag of this.tags) {\n let 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 let templateProperties = Object.keys(this);\n for (let i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[i], this);\n if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {\n if (!getValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', this)) {\n setValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + '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[i].replace(\"Ref\", ''), tempProp.elementRef.nativeElement);\n }\n }\n }\n templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter((val) => {\n return /Ref$/i.test(val);\n });\n for (let tempName of templateProperties) {\n let 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 let propList = Object.keys(this);\n /* istanbul ignore next */\n if (this.directivePropList) {\n for (let k = 0; k < this.directivePropList.length; k++) {\n let dirPropName = this.directivePropList[k];\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 registerEvents(eventList) {\n registerEvents(eventList, this, true);\n }\n ngOnChanges(changes) {\n for (let propName of Object.keys(changes)) {\n let changedVal = changes[propName];\n this.propCollection[propName] = changedVal.currentValue;\n }\n this.isUpdated = false;\n this.hasChanges = true;\n }\n /* istanbul ignore next */\n clearTemplate(templateNames) {\n clearTemplate(this, templateNames);\n }\n getProperties() {\n /* istanbul ignore next */\n for (let tagObject of this.tagObjects) {\n this.propCollection[tagObject.name] = tagObject.instance.getProperties();\n }\n return this.propCollection;\n }\n isChanged() {\n let result = this.hasChanges;\n if (!isNullOrUndefined(this.propCollection[this.property])) {\n let tempProps = this.propCollection[this.property];\n let props = Object.keys(tempProps[0]);\n for (let d = 0; d < props.length; d++) {\n if (!isNullOrUndefined(this.propCollection[props[d]])) {\n let val = getValue(props[d], this);\n let propVal = this.propCollection[this.property][0][props[d]];\n if (!isNullOrUndefined(val) && this.propCollection[props[d]] !== val\n && propVal !== val) {\n setValue(props[d], val, this.propCollection[this.property][0]);\n setValue(props[d], val, this.propCollection);\n this.hasChanges = true;\n this.isUpdated = false;\n }\n }\n }\n }\n /* istanbul ignore next */\n for (let item of this.tagObjects) {\n result = result || item.instance.hasChanges;\n }\n return result || this.hasChanges;\n }\n ngAfterContentChecked() {\n this.hasChanges = this.isChanged();\n if (this.isInitChanges || this.hasChanges) {\n let templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter((val) => {\n return refRegex.test(val);\n });\n for (let tempName of templateProperties) {\n let propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n }\n }\n ngAfterViewChecked() {\n /* istanbul ignore next */\n if (this.isUpdated) {\n this.hasChanges = false;\n }\n }\n ngAfterViewInit() {\n /* istanbul ignore next */\n this.isInitChanges = false;\n }\n ngOnDestroy() {\n /* istanbul ignore next */\n this.directivePropList = [];\n }\n}\nexport class ArrayBase {\n constructor(propertyName) {\n this.list = [];\n this.hasChanges = false;\n this.propertyName = propertyName;\n }\n ngOnInit() {\n this.isInitChanges = true;\n }\n ngAfterContentInit() {\n let index = 0;\n /* istanbul ignore next */\n this.list = this.children.map((child) => {\n child.dirIndex = index++;\n child.property = this.propertyName;\n return child;\n });\n this.hasChanges = true;\n }\n getProperties() {\n let onlyProp = [];\n for (let item of this.list) {\n onlyProp.push(item.getProperties());\n }\n return onlyProp;\n }\n isChanged() {\n let result = false;\n let index = 0;\n let isSourceChanged = false;\n // tslint:disable-next-line\n let childrenDataSource = this.children.map((child) => {\n return child;\n });\n /* istanbul ignore next */\n if (this.list.length === this.children.length) {\n for (let i = 0; i < this.list.length; i++) {\n if (this.list[i].propCollection.dataSource) {\n if (this.list[i].dataSource && this.list[i].propCollection.dataSource !== this.list[i].dataSource) {\n this.list[i].propCollection.dataSource = this.list[i].dataSource;\n this.list[i].hasChanges = true;\n }\n if (this.list[i].property !== \"series\") {\n isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[i].propCollection.dataSource));\n }\n }\n isSourceChanged = this.list[i].hasChanges !== childrenDataSource[i].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((child) => {\n child.dirIndex = index++;\n child.property = this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (let item of this.list) {\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n }\n clearTemplate(templateNames) {\n /* istanbul ignore next */\n for (let item of this.list) {\n item.clearTemplate(templateNames && templateNames.map((val) => {\n return new RegExp(this.propertyName).test(val) ? val.replace(this.propertyName + '.', '') : val;\n }));\n }\n }\n ngAfterContentChecked() {\n this.hasChanges = this.isChanged();\n for (let i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[i]) && getValue('property', this.list[i]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[i]).getProperties(), this.list[i].propCollection);\n }\n this.list[i].isUpdated = true;\n }\n }\n ngAfterViewInit() {\n this.isInitChanges = false;\n }\n ngOnDestroy() {\n this.list = [];\n }\n}\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';\nconst SVG_REG = /^svg|^path|^g/;\nexport class ComponentBase {\n constructor() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n saveChanges(key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[key] = oldValue;\n this.changedProperties[key] = newValue;\n this.finalUpdate();\n // tslint:disable-next-line:no-any\n let changeTime = setTimeout(this.dataBind.bind(this));\n let clearUpdate = () => {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n }\n ;\n // tslint:disable-next-line:no-any\n ngOnInit(isTempRef) {\n // tslint:disable-next-line:no-any\n let 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 = (tagName, prop) => {\n //tslint:disable-next-line\n let 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 (let tag of tempOnThis.tags) {\n let 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 let complexTemplates = Object.keys(tempOnThis);\n for (let i = 0; i < complexTemplates.length; i++) {\n var compProp = getValue(complexTemplates[i], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[i].indexOf('_') !== -1 && complexTemplates[i].indexOf('Ref') === -1) {\n setValue(complexTemplates[i] + '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[i].replace(\"Ref\", ''), compProp.elementRef.nativeElement);\n }\n }\n }\n complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter((val) => {\n return /Ref$/i.test(val) && /\\_/i.test(val);\n });\n for (let tempName of complexTemplates) {\n let propName = tempName.replace('Ref', '');\n let val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n }\n getAngularAttr(ele) {\n let attributes = ele.attributes;\n let length = attributes.length;\n let ngAr;\n for (let i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[i].name)) {\n ngAr = attributes[i].name;\n }\n }\n return ngAr;\n }\n ;\n // tslint:disable-next-line:no-any\n ngAfterViewInit(isTempRef) {\n // tslint:disable-next-line:no-any\n let tempAfterViewThis = isTempRef || this;\n let 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 let templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter((val) => {\n return /Ref$/i.test(val);\n });\n let ngtempRef = tempAfterViewThis.getModuleName() === 'DocumentEditor';\n for (let tempName of templateProperties) {\n let 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 const appendToComponent = (tempAfterViewThis) => {\n /* istanbul ignore else */\n if (typeof window !== 'undefined' && tempAfterViewThis.element || tempAfterViewThis.getModuleName().includes('btn')) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n };\n if (!ngtempRef) {\n setTimeout(() => {\n appendToComponent(tempAfterViewThis);\n });\n }\n else {\n appendToComponent(tempAfterViewThis);\n }\n }\n // tslint:disable-next-line:no-any\n ngOnDestroy(isTempRef) {\n // tslint:disable-next-line:no-any\n let tempOnDestroyThis = isTempRef || this;\n /* istanbul ignore else */\n setTimeout(() => {\n if (typeof window !== 'undefined' && (tempOnDestroyThis.element.classList.contains('e-control'))) {\n tempOnDestroyThis.destroy();\n tempOnDestroyThis.clearTemplate(null);\n // removing bounded events and tagobjects from component after destroy\n setTimeout(function () {\n for (let key of Object.keys(tempOnDestroyThis)) {\n let value = tempOnDestroyThis[key];\n if (value && /object/.test(typeof value) && Object.keys(value).length !== 0) {\n if (/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(key)) {\n for (let propKey of Object.keys(tempOnDestroyThis[key])) {\n let propValue = value[propKey];\n if (propValue && /object/.test(typeof propValue) && Object.keys(propValue).length !== 0 && (propValue.parent || propValue.parentObj)) {\n tempOnDestroyThis[key][propKey] = null;\n }\n }\n }\n else {\n if (value.parent || value.parentObj) {\n tempOnDestroyThis[key] = null;\n }\n }\n }\n }\n });\n }\n });\n }\n //tslint:disable-next-line\n clearTemplate(templateNames, index) {\n clearTemplate(this, templateNames, index);\n }\n ;\n // tslint:disable-next-line:no-any\n ngAfterContentChecked(isTempRef) {\n // tslint:disable-next-line:no-any\n let tempAfterContentThis = isTempRef || this;\n for (let tagObject of tempAfterContentThis.tagObjects) {\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n let 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 let complexDirProps;\n let list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n let skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n let compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (let h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName] = [];\n let obj = {};\n for (let k = 0; k < compDirPropList.length; k++) {\n let complexPropName = compDirPropList[k];\n obj[complexPropName] = tagObject.instance.list[h].propCollection[complexPropName];\n }\n for (let i = 0; i < tagObject.instance.list[h].tags.length; i++) {\n let tag = tagObject.instance.list[h].tags[i];\n let childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[h]);\n if (childObj) {\n let innerchildObj = tagObject.instance.list[h]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];\n // Update the inner child tag objects\n const updateChildTag = (innerchild) => {\n let innerLevelTag = [];\n if (innerchild) {\n for (let j = 0; j < innerchild.list.length; j++) {\n let innerTag = innerchild.list[0].tags[0];\n if (innerTag) {\n let innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchild.list[j]);\n if (innerchildTag) {\n innerchild.list[j].tagObjects.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 (let l = 0; l < innerLevelTag.length; l++) {\n updateChildTag(innerLevelTag[l]);\n }\n }\n ;\n };\n updateChildTag(innerchildObj);\n tagObject.instance.list[h].tagObjects.push({ instance: childObj, name: tag });\n }\n }\n tagObject.instance.list[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 if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n }\n for (let list of tagObject.instance.list) {\n let curIndex = tagObject.instance.list.indexOf(list);\n let curChild = getValue(tagObject.name, tempAfterContentThis)[curIndex];\n let complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter((val) => {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0) {\n for (let complexPropName of complexTemplates) {\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[complexPropName] = !curChild.properties[complexPropName] ?\n curChild.propCollection[complexPropName] : curChild.properties[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())) {\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n }\n }\n }\n }\n registerEvents(eventList) {\n registerEvents(eventList, this);\n }\n twoWaySetter(newVal, prop) {\n let 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 addTwoWay(propList) {\n for (let prop of propList) {\n getValue(prop, this);\n Object.defineProperty(this, prop, {\n get: () => {\n return getValue(prop, this.properties);\n },\n set: (newVal) => this.twoWaySetter(newVal, prop)\n });\n setValue(prop + 'Change', new EventEmitter(), this);\n }\n }\n addEventListener(eventName, handler) {\n let eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[eventName]) {\n this.ngBoundedEvents[eventName] = new Map();\n }\n this.ngBoundedEvents[eventName].set(handler, eventObj.subscribe(handler));\n }\n }\n removeEventListener(eventName, handler) {\n let eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[eventName].get(handler).unsubscribe();\n }\n }\n trigger(eventName, eventArgs, success) {\n let eventObj = getValue(eventName, this);\n let 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 let 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}\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nexport class FormBase {\n propagateChange(_) { return; }\n propagateTouch() { return; }\n localChange(e) {\n //tslint:disable-next-line\n let 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 //tslint:disable-next-line\n let optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n this.cdr.markForCheck();\n }\n registerOnChange(registerFunction) {\n this.propagateChange = registerFunction;\n }\n registerOnTouched(registerFunction) {\n this.propagateTouch = registerFunction;\n }\n twoWaySetter(newVal, prop) {\n let oldVal = this.oldValue || getValue(prop, this.properties);\n let 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 // tslint:disable-next-line:no-any\n ngAfterViewInit(isTempRef) {\n // tslint:disable-next-line:no-any\n let 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 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 let ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocus.bind(tempFormAfterViewThis));\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlur.bind(tempFormAfterViewThis));\n }\n this.isFormInit = false;\n }\n setDisabledState(disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n }\n writeValue(value) {\n let 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 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 return;\n }\n }\n ngOnFocus(e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n this.cdr.markForCheck();\n }\n ngOnBlur(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}\nFormBase.isFormBase = true;\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nlet stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\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 let contRef = templateEle.elementRef.nativeElement._viewContainerRef;\n let pName = templateEle.elementRef.nativeElement.propName;\n //tslint:disable-next-line \n return (data, component, propName) => {\n let context = { $implicit: data };\n /* istanbul ignore next */\n let conRef = contRef ? contRef : component.viewContainerRef;\n let viewRef = conRef.createEmbeddedView(templateEle, context);\n if (/EJS-MENTION|EJS-DROPDOWNLIST/.test(getValue('currentInstance.element.nodeName', conRef))) {\n viewRef.detectChanges();\n }\n else {\n viewRef.markForCheck();\n }\n /* istanbul ignore next */\n let viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName;\n if (typeof viewCollection[propName] === 'undefined') {\n viewCollection[propName] = [];\n }\n viewCollection[propName].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n */\nexport function Template(defaultValue) {\n return (target, key) => {\n let 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}\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}\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\n//tslint:disable-next-line\nsetTemplateEngine({ compile: compile });\n","/**\n * Index\n */\nexport * from './complex-array-base';\nexport * from './component-base';\nexport * from './form-base';\nexport * from './util';\nexport * from './template';\n"],"names":["setValue","attributes"],"mappings":";;;AAEA;;;;AAIA,AAAO,SAAS,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE;IACjD,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI;QAC3B,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;YAC5D,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,UAAU,IAAI,IAAI,KAAK,aAAa,CAAC,EAAE;gBAClG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC5D;SACJ,CAAC,CAAC;KACN,CAAC,CAAC;CACN;;AAED,AAAO,SAAS,eAAe,CAAC,SAAS,EAAE;IACvC,OAAO,UAAU,YAAY,EAAE;QAC3B,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;KACxC,CAAC;CACL;;;;AAID,AAAO,SAAS,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE;IACnD,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE;QAC/B,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;YACzB,IAAI,MAAM,KAAK,IAAI,EAAE;gBACjB,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpD,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC1C;iBACI;gBACD,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;aACpD;SACJ;QACD,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,GAAG,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;SAC5C;KACJ;CACJ;;;;AAID,AAAO,SAAS,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;IACvD,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACzD,IAAI,YAAY,CAAC,MAAM,EAAE;;QAErB,IAAI,aAAa,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;YAC/D,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE;SAC3C,CAAC,CAAC;QACH,IAAI,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3E,KAAK,IAAI,kBAAkB,KAAK,aAAa,IAAI,aAAa,IAAI,YAAY,GAAG;;YAE7E,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,IAAI,gBAAgB,EAAE;wBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC1E,IAAI,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC5D,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE;gCAC7B,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;6BAC7D;yBACJ;qBACJ;yBACI;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC/D,IAAI,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BAC9D,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE;gCACpB,IAAI,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;gCACtD,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;6BACnB;yBACJ;qBACJ;iBACJ;aACJ;iBACI;gBACD,IAAI,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;oBAC9C,KAAK,IAAI,EAAE,IAAI,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;wBACzD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE;4BACf,IAAI,EAAE,CAAC,KAAK,EAAE;gCACV,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC1D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;oCAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCAC1C,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qCACtC;iCACJ;6BACJ;4BACD,EAAE,CAAC,OAAO,EAAE,CAAC;yBAChB;qBACJ;iBACJ;aACJ;YACD,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,EAAE;gBAC7B,OAAO,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;aACvD;SACJ;KACJ;IACD,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE;QACpC,IAAI,SAAS,CAAC,QAAQ,EAAE;;YAEpB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;gBAC7E,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE;aAChE,CAAC,EAAE,CAAC;SACR;KACJ;CACJ;;;;;;;;;AASD,AAAO,SAASA,UAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;IAC/C,IAAI,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;IAEvE,IAAI,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,SAAS,GAAG,EAAE,GAAG,KAAK,CAAC;SACnD;aACI,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SACrB;QACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;KAC1B;IACD,OAAO,OAAO,CAAC;CAClB;;AChID,MAAM,QAAQ,GAAG,MAAM,CAAC;AACxB,AAAO,MAAM,WAAW,CAAC;IACrB,WAAW,GAAG;QACV,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACxB;IACD,QAAQ,GAAG;QACP,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YACvB,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;YACjG,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;aAC9D;SACJ;QACD,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,QAAQ,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACjE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,EAAE;oBACtH,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;iBACjI;gBACD,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;oBACrK,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;oBACrG,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;iBACrG;aACJ;SACJ;QACD,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;YACpD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B,CAAC,CAAC;QACH,KAAK,IAAI,QAAQ,IAAI,kBAAkB,EAAE;YACrC,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3C,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACvF;;;QAGD,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;QAEjC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC5C,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;oBAChH,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBAC3E;aACJ;YACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;KAC7B;IACD,cAAc,CAAC,SAAS,EAAE;QACtB,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;KACzC;IACD,WAAW,CAAC,OAAO,EAAE;QACjB,KAAK,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACvC,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;SAC3D;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;;IAED,aAAa,CAAC,aAAa,EAAE;QACzB,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KACtC;IACD,aAAa,GAAG;;QAEZ,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACnC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;SAC5E;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;IACD,SAAS,GAAG;QACR,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;YACxD,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;oBACnD,IAAI,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBACnC,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;2BAC7D,OAAO,KAAK,GAAG,EAAE;wBACpB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;wBAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;qBAC1B;iBACJ;aACJ;SACJ;;QAED,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YAC9B,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;SAC/C;QACD,OAAO,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;KACpC;IACD,qBAAqB,GAAG;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE;YACvC,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;gBACpD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC7B,CAAC,CAAC;YACH,KAAK,IAAI,QAAQ,IAAI,kBAAkB,EAAE;gBACrC,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3C,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;aACvF;SACJ;KACJ;IACD,kBAAkB,GAAG;;QAEjB,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;KACJ;IACD,eAAe,GAAG;;QAEd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC9B;IACD,WAAW,GAAG;;QAEV,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC/B;CACJ;AACD,AAAO,MAAM,SAAS,CAAC;IACnB,WAAW,CAAC,YAAY,EAAE;QACtB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;KACpC;IACD,QAAQ,GAAG;QACP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;KAC7B;IACD,kBAAkB,GAAG;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;;QAEd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;YACrC,KAAK,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;YACzB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;YACnC,OAAO,KAAK,CAAC;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;IACD,aAAa,GAAG;QACZ,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;SACvC;QACD,OAAO,QAAQ,CAAC;KACnB;IACD,SAAS,GAAG;QACR,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,eAAe,GAAG,KAAK,CAAC;;QAE5B,IAAI,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;YAClD,OAAO,KAAK,CAAC;SAChB,CAAC,CAAC;;QAEH,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE;oBACxC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;wBAC/F,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wBACjE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;qBAClC;oBACD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;wBACpC,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;4BACrE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;qBACxE;iBACJ;gBACD,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;aAClF;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,eAAe,IAAI,IAAI,GAAG,IAAI,CAAC;QACnG,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;gBACrC,KAAK,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;gBACnC,OAAO,KAAK,CAAC;aAChB,CAAC,CAAC;SACN;;QAED,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;YACxB,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;SACtC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;KACvC;IACD,aAAa,CAAC,aAAa,EAAE;;QAEzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;gBAC3D,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;aACnG,CAAC,CAAC,CAAC;SACP;KACJ;IACD,qBAAqB,GAAG;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBAC5F,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;aAC5G;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;SACjC;KACJ;IACD,eAAe,GAAG;QACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC9B;IACD,WAAW,GAAG;QACV,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;KAClB;CACJ;;ACzND;;;AAGA,AAIO,MAAM,aAAa,CAAC;IACvB,WAAW,GAAG;QACV,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;IACD,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACjC,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC1B,OAAO;SACV;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACvC,IAAI,CAAC,WAAW,EAAE,CAAC;;QAEnB,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,WAAW,GAAG,MAAM;YACpB,YAAY,CAAC,UAAU,CAAC,CAAC;SAC5B,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;KAClC;;;IAGD,QAAQ,CAAC,SAAS,EAAE;;QAEhB,IAAI,UAAU,GAAG,SAAS,IAAI,IAAI,CAAC;QACnC,UAAU,CAAC,kBAAkB,GAAG,EAAE,CAAC;QACnC,UAAU,CAAC,eAAe,GAAG,EAAE,CAAC;QAChC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5B,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;;QAE7B,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;SAC9B;QACD,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAClC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;QACxD,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;QAC3B,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;;QAE5D,UAAU,CAAC,aAAa,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK;;YAE1C,IAAI,GAAG,GAAG,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtG,IAAI,QAAQ,IAAI,CAAC,KAAK,WAAW,EAAE;gBAC/B,OAAO,GAAG,CAAC;aACd;YACD,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;gBAC9B,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;aAClC;YACD,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;gBACvB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;aACpB;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC3B,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aAC1C;YACD,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE;gBACjC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aAC3C;YACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC1B,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B;YACD,OAAO,GAAG,CAAC;SACd,CAAC;QACF,KAAK,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE;YAC7B,IAAI,SAAS,GAAG;gBACZ,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;gBAC9F,IAAI,EAAE,GAAG;aACZ,CAAC;YACF,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACzC;QACD,IAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACjE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;oBACzJ,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;iBAC/D;gBACD,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;oBAC9J,QAAQ,CAAC,mBAAmB,EAAE,UAAU,CAAC,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;oBAC9F,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;iBACnG;aACJ;SACJ;QACD,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;YAChD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/C,CAAC,CAAC;QACH,KAAK,IAAI,QAAQ,IAAI,gBAAgB,EAAE;YACnC,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1E,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACvC;KACJ;IACD,cAAc,CAAC,GAAG,EAAE;QAChB,IAAIC,aAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAChC,IAAI,MAAM,GAAGA,aAAU,CAAC,MAAM,CAAC;QAC/B,IAAI,IAAI,CAAC;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;;YAE7B,IAAI,aAAa,CAAC,IAAI,CAACA,aAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBACxC,IAAI,GAAGA,aAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aAC7B;SACJ;QACD,OAAO,IAAI,CAAC;KACf;;;IAGD,eAAe,CAAC,SAAS,EAAE;;QAEvB,IAAI,iBAAiB,GAAG,SAAS,IAAI,IAAI,CAAC;QAC1C,IAAI,MAAM,GAAG,wBAAwB,CAAC;;QAEtC,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;YAC9D,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;SACrE;;;;;;;;;;;;;QAaD,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxD,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;YACpD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B,CAAC,CAAC;QACH,IAAI,SAAS,GAAG,iBAAiB,CAAC,aAAa,EAAE,KAAK,gBAAgB,CAAC;QACvE,KAAK,IAAI,QAAQ,IAAI,kBAAkB,EAAE;YACrC,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3C,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,KAAK,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,CAAC;SAC1G;;;QAGD,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,KAAK;;YAE7C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,iBAAiB,CAAC,OAAO,IAAI,iBAAiB,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACjH,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACtD,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;aAC/D;SACJ,CAAC;QACF,IAAI,CAAC,SAAS,EAAE;YACZ,UAAU,CAAC,MAAM;gBACb,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;aACxC,CAAC,CAAC;SACN;aACI;YACD,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;SACxC;KACJ;;IAED,WAAW,CAAC,SAAS,EAAE;;QAEnB,IAAI,iBAAiB,GAAG,SAAS,IAAI,IAAI,CAAC;;QAE1C,UAAU,CAAC,MAAM;YACb,IAAI,OAAO,MAAM,KAAK,WAAW,KAAK,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE;gBAC9F,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC5B,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;;gBAEtC,UAAU,CAAC,YAAY;oBACnB,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;wBAC5C,IAAI,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;wBACnC,IAAI,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;4BACzE,IAAI,gFAAgF,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gCAC5F,KAAK,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE;oCACrD,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;oCAC/B,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;wCAClI,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;qCAC1C;iCACJ;6BACJ;iCACI;gCACD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE;oCACjC,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;iCACjC;6BACJ;yBACJ;qBACJ;iBACJ,CAAC,CAAC;aACN;SACJ,CAAC,CAAC;KACN;;IAED,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE;QAChC,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;KAC7C;;;IAGD,qBAAqB,CAAC,SAAS,EAAE;;QAE7B,IAAI,oBAAoB,GAAG,SAAS,IAAI,IAAI,CAAC;QAC7C,KAAK,IAAI,SAAS,IAAI,oBAAoB,CAAC,UAAU,EAAE;YACnD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;iBAC/B,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC1G,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE;;;;oBAIlC,IAAI,eAAe,CAAC;oBACpB,IAAI,IAAI,GAAG,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;oBAChD,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;wBACrB,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;qBAC/C;oBACD,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,oBAAoB,CAAC,aAAa,IAAI,oBAAoB,CAAC,aAAa,EAAE,KAAK,OAAO,EAAE;wBACxF,IAAI,GAAG,KAAK,CAAC;qBAChB;oBACD,IAAI,eAAe,IAAI,IAAI,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;wBAC5F,IAAI,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;wBAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACrD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;4BAChF,IAAI,GAAG,GAAG,EAAE,CAAC;4BACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC7C,IAAI,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gCACzC,GAAG,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;6BACrF;4BACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC7D,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gCAC7C,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,CAAC,CAAC,CAAC,CAAC;gCACpH,IAAI,QAAQ,EAAE;oCACV,IAAI,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,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;;oCAE/G,MAAM,cAAc,GAAG,CAAC,UAAU,KAAK;wCACnC,IAAI,aAAa,GAAG,EAAE,CAAC;wCACvB,IAAI,UAAU,EAAE;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDAC7C,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gDAC1C,IAAI,QAAQ,EAAE;oDACV,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,CAAC,CAAC,CAAC,CAAC;oDAC3H,IAAI,aAAa,EAAE;wDACf,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;wDAChF,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qDACrC;iDACJ;6CACJ;yCACJ;;wCAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;4CAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDAC3C,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;6CACpC;yCACJ;wCACD,AAAC;qCACJ,CAAC;oCACF,cAAc,CAAC,aAAa,CAAC,CAAC;oCAC9B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;iCACjF;6BACJ;4BACD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACxF;qBACJ;;oBAED,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;oBAC7D,oBAAoB,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;iBACjF;qBACI;;oBAED,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;wBAC5J,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;qBAClE;oBACD,KAAK,IAAI,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;wBACtC,IAAI,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACrD,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,CAAC;wBACxE,IAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC7C,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;4BAChD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBAC5B,CAAC,CAAC;wBACH,IAAI,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;4BACtE,KAAK,IAAI,eAAe,IAAI,gBAAgB,EAAE;gCAC1C,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gCACrD,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;oCACxE,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;6BACvF;yBACJ;wBACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;4BAChE,IAAI,yBAAyB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,EAAE;gCACtE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;6BACtD;iCACI;gCACD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;6BAChD;yBACJ;wBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;qBACzB;oBACD,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,EAAE;wBACnD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;wBAC7D,oBAAoB,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;qBACjF;iBACJ;aACJ;SACJ;KACJ;IACD,cAAc,CAAC,SAAS,EAAE;QACtB,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;KACnC;IACD,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE;QACvB,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,MAAM,EAAE;YACnB,OAAO;SACV;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,QAAQ,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7E,QAAQ,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChD;IACD,SAAS,CAAC,QAAQ,EAAE;QAChB,KAAK,IAAI,IAAI,IAAI,QAAQ,EAAE;YACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC9B,GAAG,EAAE,MAAM;oBACP,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC1C;gBACD,GAAG,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;aACnD,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;SACvD;KACJ;IACD,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE;QACjC,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;aAC/C;YACD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;SAC7E;KACJ;IACD,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE;QACpC,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;SAC9D;KACJ;IACD,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;QACnC,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,SAAS,EAAE;YACX,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;SAC9B;QACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC5B;QACD,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;QACrG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;YAC7B,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC;;QAEzC,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;KAChC;CACJ;;AC5WD;;;AAGA,AAAO,MAAM,QAAQ,CAAC;IAClB,eAAe,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE;IAC9B,cAAc,GAAG,EAAE,OAAO,EAAE;IAC5B,WAAW,CAAC,CAAC,EAAE;;QAEX,IAAI,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;;gBAEjH,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC7B;SACJ;aACI;YACD,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;;gBAE1F,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE;;oBAEhC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;oBAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;iBAC7B;qBACI;;oBAED,IAAI,aAAa,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;oBACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;iBAC7B;aACJ;SACJ;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;IACD,gBAAgB,CAAC,gBAAgB,EAAE;QAC/B,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;KAC3C;IACD,iBAAiB,CAAC,gBAAgB,EAAE;QAChC,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC;KAC1C;IACD,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC;QAC5C,IAAI,GAAG,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;aAChD,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE;YAC/C,OAAO;SACV;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,QAAQ,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7E,QAAQ,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChD;;IAED,eAAe,CAAC,SAAS,EAAE;;QAEvB,IAAI,qBAAqB,GAAG,SAAS,IAAI,IAAI,CAAC;;;;;QAK9C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAC/B,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAClE,UAAU,CAAC,YAAY;oBACnB,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;iBACjE,CAAC,CAAC;aACN;iBACI;gBACD,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aACjE;YACD,IAAI,GAAG,GAAG,qBAAqB,CAAC,YAAY,IAAI,qBAAqB,CAAC,OAAO,CAAC;YAC9E,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC3F,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;SAC5F;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KAC3B;IACD,gBAAgB,CAAC,QAAQ,EAAE;QACvB,IAAI,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC5B;IACD,UAAU,CAAC,KAAK,EAAE;QACd,IAAI,MAAM,GAAG,kBAAkB,CAAC;;QAEhC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACtB;aACI;;;YAGD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;oBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;wBACjD,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;qBACvC;yBACI;wBACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACxB;iBACJ;qBACI;oBACD,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;iBACvC;aACJ;SACJ;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;;QAGtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACxB,IAAI,KAAK,KAAK,IAAI,EAAE;YAChB,OAAO;SACV;KACJ;IACD,SAAS,CAAC,CAAC,EAAE;;QAET,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtB;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;IACD,QAAQ,CAAC,CAAC,EAAE;QACR,IAAI,CAAC,cAAc,EAAE,CAAC;;QAEtB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrB;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;CACJ;AACD,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;;ACpI3B,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;;;;AAIzC,AAAO,SAAS,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE;IACzC,IAAI,OAAO,WAAW,KAAK,QAAQ,KAAK,OAAO,WAAW,KAAK,UAAU,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;QACtI,OAAO,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;KAC9C;SACI;QACD,IAAI,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC;QACrE,IAAI,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;;QAE1D,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,KAAK;YAClC,IAAI,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;YAElC,IAAI,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC,gBAAgB,CAAC;YAC5D,IAAI,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC,EAAE;gBAC3F,OAAO,CAAC,aAAa,EAAE,CAAC;aAC3B;iBACI;gBACD,OAAO,CAAC,YAAY,EAAE,CAAC;aAC1B;;YAED,IAAI,cAAc,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,kBAAkB;gBAC3D,SAAS,CAAC,kBAAkB,GAAG,QAAQ,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;YAC1F,QAAQ,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC,kBAAkB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACzE,IAAI,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;gBACjD,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;aACjC;YACD,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,SAAS,CAAC;SAC5B,CAAC;KACL;CACJ;;;;AAID,AAAO,SAAS,QAAQ,CAAC,YAAY,EAAE;IACnC,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK;QACpB,IAAI,kBAAkB,GAAG;YACrB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;YAChB,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC;YAC9B,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;KAC1D,CAAC;CACL;AACD,SAAS,MAAM,CAAC,GAAG,EAAE;IACjB,OAAO,UAAU,GAAG,EAAE;QAClB,IAAI,GAAG,KAAK,SAAS,EAAE;YACnB,OAAO;SACV;QACD,QAAQ,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACvE,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,GAAG,GAAG,CAAC;SAC/C;aACI;YACD,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;SACJ;KACJ,CAAC;CACL;AACD,SAAS,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;IAC/B,OAAO,YAAY;;QAEf,OAAO,QAAQ,CAAC,GAAG,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC;KACtD,CAAC;CACL;;AAED,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;;AC5ExC;;GAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"ej2-angular-base.es2015.js","sources":["../src/es6/util.js","../src/es6/complex-array-base.js","../src/es6/component-base.js","../src/es6/form-base.js","../src/es6/template.js","../src/es6/index.js"],"sourcesContent":["import { EventEmitter } from '@angular/core';\nimport { isNullOrUndefined } from '@syncfusion/ej2-base';\n/**\n * Angular Utility Module\n */\n/* tslint:disable */\nexport function applyMixins(derivedClass, baseClass) {\n baseClass.forEach(baseClass => {\n Object.getOwnPropertyNames(baseClass.prototype).forEach(name => {\n if (!derivedClass.prototype.hasOwnProperty(name) || (baseClass.isFormBase && name !== 'constructor')) {\n derivedClass.prototype[name] = baseClass.prototype[name];\n }\n });\n });\n}\n/* tslint:disable */\nexport function ComponentMixins(baseClass) {\n return function (derivedClass) {\n applyMixins(derivedClass, baseClass);\n };\n}\n/**\n * @private\n */\nexport function registerEvents(eventList, obj, direct) {\n let ngEventsEmitter = {};\n if (eventList && eventList.length) {\n for (let event of eventList) {\n if (direct === true) {\n obj.propCollection[event] = new EventEmitter(false);\n obj[event] = obj.propCollection[event];\n }\n else {\n ngEventsEmitter[event] = new EventEmitter(false);\n }\n }\n if (direct !== true) {\n obj.setProperties(ngEventsEmitter, true);\n }\n }\n}\n/**\n * @private\n */\nexport function clearTemplate(_this, templateNames, index) {\n let regTemplates = Object.keys(_this.registeredTemplate);\n if (regTemplates.length) {\n /* istanbul ignore next */\n let regProperties = templateNames && templateNames.filter((val) => {\n return (/\\./g.test(val) ? false : true);\n });\n let tabaccordionTemp = /tab|accordion|toolbar/.test(_this.getModuleName());\n for (let registeredTemplate of (regProperties && regProperties || regTemplates)) {\n /* istanbul ignore next */\n if (index && index.length) {\n for (let e = 0; e < index.length; e++) {\n if (tabaccordionTemp) {\n for (let m = 0; m < _this.registeredTemplate[registeredTemplate].length; m++) {\n let value = _this.registeredTemplate[registeredTemplate][m];\n if (value && value === index[e]) {\n value.destroy();\n _this.registeredTemplate[registeredTemplate].splice(m, 1);\n }\n }\n }\n else {\n for (let m = 0; m < _this.registeredTemplate.template.length; m++) {\n let value = _this.registeredTemplate.template[m].rootNodes[0];\n if (value === index[e]) {\n let rt = _this.registeredTemplate[registeredTemplate];\n rt[m].destroy();\n }\n }\n }\n }\n }\n else {\n if (_this.registeredTemplate[registeredTemplate]) {\n for (let rt of _this.registeredTemplate[registeredTemplate]) {\n if (!rt.destroyed) {\n if (rt._view) {\n let pNode = rt._view.renderer.parentNode(rt.rootNodes[0]);\n if (!isNullOrUndefined(pNode)) {\n for (let m = 0; m < rt.rootNodes.length; m++) {\n pNode.appendChild(rt.rootNodes[m]);\n }\n }\n }\n rt.destroy();\n }\n }\n }\n }\n if (!tabaccordionTemp || !index) {\n delete _this.registeredTemplate[registeredTemplate];\n }\n }\n }\n for (let tagObject of _this.tagObjects) {\n if (tagObject.instance) {\n /* istanbul ignore next */\n tagObject.instance.clearTemplate((templateNames && templateNames.filter((val) => {\n return (new RegExp(tagObject.name).test(val) ? true : false);\n })));\n }\n }\n}\n/**\n * To set value for the nameSpace in desired object.\n * @param {string} nameSpace - String value to the get the inner object\n * @param {any} value - Value that you need to set.\n * @param {any} obj - Object to get the inner object value.\n * @return {void}\n * @private\n */\nexport function setValue(nameSpace, value, object) {\n let keys = nameSpace.replace(/\\[/g, '.').replace(/\\]/g, '').split('.');\n /* istanbul ignore next */\n let fromObj = object || {};\n for (let i = 0; i < keys.length; i++) {\n let key = keys[i];\n if (i + 1 === keys.length) {\n fromObj[key] = value === undefined ? {} : value;\n }\n else if (fromObj[key] === undefined) {\n fromObj[key] = {};\n }\n fromObj = fromObj[key];\n }\n return fromObj;\n}\n","import { getValue, setValue, isNullOrUndefined } from '@syncfusion/ej2-base';\nimport { clearTemplate, registerEvents } from './util';\nconst refRegex = /Ref$/;\nexport class ComplexBase {\n constructor() {\n this.hasChanges = false;\n this.propCollection = {};\n this.dataSource = {};\n this.tags = [];\n this.tagObjects = [];\n }\n ngOnInit() {\n this.registeredTemplate = {};\n for (let tag of this.tags) {\n let 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 let templateProperties = Object.keys(this);\n for (let i = 0; i < templateProperties.length; i++) {\n var tempProp = getValue(templateProperties[i], this);\n if (typeof tempProp === 'object' && tempProp && tempProp.elementRef) {\n if (!getValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + 'Ref', this)) {\n setValue(templateProperties[i].indexOf('Ref') !== -1 ? templateProperties[i] : templateProperties[i] + '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[i].replace(\"Ref\", ''), tempProp.elementRef.nativeElement);\n }\n }\n }\n templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter((val) => {\n return /Ref$/i.test(val);\n });\n for (let tempName of templateProperties) {\n let 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 let propList = Object.keys(this);\n /* istanbul ignore next */\n if (this.directivePropList) {\n for (let k = 0; k < this.directivePropList.length; k++) {\n let dirPropName = this.directivePropList[k];\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 registerEvents(eventList) {\n registerEvents(eventList, this, true);\n }\n ngOnChanges(changes) {\n for (let propName of Object.keys(changes)) {\n let changedVal = changes[propName];\n this.propCollection[propName] = changedVal.currentValue;\n }\n this.isUpdated = false;\n this.hasChanges = true;\n }\n /* istanbul ignore next */\n clearTemplate(templateNames) {\n clearTemplate(this, templateNames);\n }\n getProperties() {\n /* istanbul ignore next */\n for (let tagObject of this.tagObjects) {\n this.propCollection[tagObject.name] = tagObject.instance.getProperties();\n }\n return this.propCollection;\n }\n isChanged() {\n let result = this.hasChanges;\n if (!isNullOrUndefined(this.propCollection[this.property])) {\n let tempProps = this.propCollection[this.property];\n let props = Object.keys(tempProps[0]);\n for (let d = 0; d < props.length; d++) {\n if (!isNullOrUndefined(this.propCollection[props[d]])) {\n let val = getValue(props[d], this);\n let propVal = this.propCollection[this.property][0][props[d]];\n if (!isNullOrUndefined(val) && this.propCollection[props[d]] !== val\n && propVal !== val) {\n setValue(props[d], val, this.propCollection[this.property][0]);\n setValue(props[d], val, this.propCollection);\n this.hasChanges = true;\n this.isUpdated = false;\n }\n }\n }\n }\n /* istanbul ignore next */\n for (let item of this.tagObjects) {\n result = result || item.instance.hasChanges;\n }\n return result || this.hasChanges;\n }\n ngAfterContentChecked() {\n this.hasChanges = this.isChanged();\n if (this.isInitChanges || this.hasChanges) {\n let templateProperties = Object.keys(this);\n templateProperties = templateProperties.filter((val) => {\n return refRegex.test(val);\n });\n for (let tempName of templateProperties) {\n let propName = tempName.replace('Ref', '');\n setValue(propName.replace('_', '.'), getValue(propName, this), this.propCollection);\n }\n }\n }\n ngAfterViewChecked() {\n /* istanbul ignore next */\n if (this.isUpdated) {\n this.hasChanges = false;\n }\n }\n ngAfterViewInit() {\n /* istanbul ignore next */\n this.isInitChanges = false;\n }\n ngOnDestroy() {\n /* istanbul ignore next */\n this.directivePropList = [];\n }\n}\nexport class ArrayBase {\n constructor(propertyName) {\n this.list = [];\n this.hasChanges = false;\n this.propertyName = propertyName;\n }\n ngOnInit() {\n this.isInitChanges = true;\n }\n ngAfterContentInit() {\n let index = 0;\n /* istanbul ignore next */\n this.list = this.children.map((child) => {\n child.dirIndex = index++;\n child.property = this.propertyName;\n return child;\n });\n this.hasChanges = true;\n }\n getProperties() {\n let onlyProp = [];\n for (let item of this.list) {\n onlyProp.push(item.getProperties());\n }\n return onlyProp;\n }\n isChanged() {\n let result = false;\n let index = 0;\n let isSourceChanged = false;\n // tslint:disable-next-line\n let childrenDataSource = this.children.map((child) => {\n return child;\n });\n /* istanbul ignore next */\n if (this.list.length === this.children.length) {\n for (let i = 0; i < this.list.length; i++) {\n if (this.list[i].propCollection.dataSource) {\n if (this.list[i].dataSource && this.list[i].propCollection.dataSource !== this.list[i].dataSource) {\n this.list[i].propCollection.dataSource = this.list[i].dataSource;\n this.list[i].hasChanges = true;\n }\n if (this.list[i].property !== \"series\") {\n isSourceChanged = (JSON.stringify(this.list[i].propCollection.dataSource) !==\n JSON.stringify(childrenDataSource[i].propCollection.dataSource));\n }\n }\n isSourceChanged = this.list[i].hasChanges !== childrenDataSource[i].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((child) => {\n child.dirIndex = index++;\n child.property = this.propertyName;\n return child;\n });\n }\n /* istanbul ignore end */\n for (let item of this.list) {\n result = result || item.hasChanges;\n }\n return !!this.list.length && result;\n }\n clearTemplate(templateNames) {\n /* istanbul ignore next */\n for (let item of this.list) {\n item.clearTemplate(templateNames && templateNames.map((val) => {\n return new RegExp(this.propertyName).test(val) ? val.replace(this.propertyName + '.', '') : val;\n }));\n }\n }\n ngAfterContentChecked() {\n this.hasChanges = this.isChanged();\n for (let i = 0; i < this.list.length; i++) {\n if (getValue('childColumns', this.list[i]) && getValue('property', this.list[i]) === 'columns') {\n setValue('columns', getValue('childColumns', this.list[i]).getProperties(), this.list[i].propCollection);\n }\n this.list[i].isUpdated = true;\n }\n }\n ngAfterViewInit() {\n this.isInitChanges = false;\n }\n ngOnDestroy() {\n this.list = [];\n }\n}\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';\nconst SVG_REG = /^svg|^path|^g/;\nexport class ComponentBase {\n constructor() {\n this.isProtectedOnChange = true;\n this.isFormInit = true;\n }\n saveChanges(key, newValue, oldValue) {\n if (this.isProtectedOnChange) {\n return;\n }\n this.oldProperties[key] = oldValue;\n this.changedProperties[key] = newValue;\n this.finalUpdate();\n // tslint:disable-next-line:no-any\n let changeTime = setTimeout(this.dataBind.bind(this));\n let clearUpdate = () => {\n clearTimeout(changeTime);\n };\n this.finalUpdate = clearUpdate;\n }\n ;\n // tslint:disable-next-line:no-any\n ngOnInit(isTempRef) {\n // tslint:disable-next-line:no-any\n let 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 = (tagName, prop) => {\n //tslint:disable-next-line\n let 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 (let tag of tempOnThis.tags) {\n let 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 let complexTemplates = Object.keys(tempOnThis);\n for (let i = 0; i < complexTemplates.length; i++) {\n var compProp = getValue(complexTemplates[i], tempOnThis);\n if (typeof compProp === 'object' && compProp && compProp.elementRef) {\n if (typeof compProp === 'object' && compProp && compProp.elementRef && complexTemplates[i].indexOf('_') !== -1 && complexTemplates[i].indexOf('Ref') === -1) {\n setValue(complexTemplates[i] + '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[i].replace(\"Ref\", ''), compProp.elementRef.nativeElement);\n }\n }\n }\n complexTemplates = Object.keys(tempOnThis);\n complexTemplates = complexTemplates.filter((val) => {\n return /Ref$/i.test(val) && /\\_/i.test(val);\n });\n for (let tempName of complexTemplates) {\n let propName = tempName.replace('Ref', '');\n let val = {};\n setValue(propName.replace('_', '.'), getValue(propName, tempOnThis), val);\n tempOnThis.setProperties(val, true);\n }\n }\n getAngularAttr(ele) {\n let attributes = ele.attributes;\n let length = attributes.length;\n let ngAr;\n for (let i = 0; i < length; i++) {\n /* istanbul ignore next */\n if (/_ngcontent/g.test(attributes[i].name)) {\n ngAr = attributes[i].name;\n }\n }\n return ngAr;\n }\n ;\n // tslint:disable-next-line:no-any\n ngAfterViewInit(isTempRef) {\n // tslint:disable-next-line:no-any\n let tempAfterViewThis = isTempRef || this;\n let 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 let templateProperties = Object.keys(tempAfterViewThis);\n templateProperties = templateProperties.filter((val) => {\n return /Ref$/i.test(val);\n });\n let ngtempRef = tempAfterViewThis.getModuleName() === 'DocumentEditor';\n for (let tempName of templateProperties) {\n let 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 const appendToComponent = (tempAfterViewThis) => {\n /* istanbul ignore else */\n if (typeof window !== 'undefined' && tempAfterViewThis.element || tempAfterViewThis.getModuleName().includes('btn')) {\n tempAfterViewThis.appendTo(tempAfterViewThis.element);\n tempAfterViewThis.ngEle.nativeElement.style.visibility = '';\n }\n };\n if (!ngtempRef) {\n setTimeout(() => {\n appendToComponent(tempAfterViewThis);\n });\n }\n else {\n appendToComponent(tempAfterViewThis);\n }\n }\n // tslint:disable-next-line:no-any\n ngOnDestroy(isTempRef) {\n // tslint:disable-next-line:no-any\n let tempOnDestroyThis = isTempRef || this;\n /* istanbul ignore else */\n setTimeout(() => {\n if (typeof window !== 'undefined' && (tempOnDestroyThis.element.classList.contains('e-control'))) {\n tempOnDestroyThis.destroy();\n tempOnDestroyThis.clearTemplate(null);\n // removing bounded events and tagobjects from component after destroy\n setTimeout(function () {\n for (let key of Object.keys(tempOnDestroyThis)) {\n let value = tempOnDestroyThis[key];\n if (value && /object/.test(typeof value) && Object.keys(value).length !== 0) {\n if (/properties|changedProperties|childChangedProperties|oldProperties|moduleLoader/.test(key)) {\n for (let propKey of Object.keys(tempOnDestroyThis[key])) {\n let propValue = value[propKey];\n if (propValue && /object/.test(typeof propValue) && Object.keys(propValue).length !== 0 && (propValue.parent || propValue.parentObj)) {\n tempOnDestroyThis[key][propKey] = null;\n }\n }\n }\n else {\n if (value.parent || value.parentObj) {\n tempOnDestroyThis[key] = null;\n }\n }\n }\n }\n });\n }\n });\n }\n //tslint:disable-next-line\n clearTemplate(templateNames, index) {\n clearTemplate(this, templateNames, index);\n }\n ;\n // tslint:disable-next-line:no-any\n ngAfterContentChecked(isTempRef) {\n // tslint:disable-next-line:no-any\n let tempAfterContentThis = isTempRef || this;\n for (let tagObject of tempAfterContentThis.tagObjects) {\n if (!isUndefined(tagObject.instance) &&\n (tagObject.instance.isInitChanges || tagObject.instance.hasChanges || tagObject.instance.hasNewChildren)) {\n let 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 let complexDirProps;\n let list = getValue('instance.list', tagObject);\n if (list && list.length) {\n complexDirProps = list[0].directivePropList;\n }\n let skip = true;\n if (tempAfterContentThis.getModuleName && tempAfterContentThis.getModuleName() === 'gantt') {\n skip = false;\n }\n if (complexDirProps && skip && complexDirProps.indexOf(tagObject.instance.propertyName) === -1) {\n let compDirPropList = Object.keys(tagObject.instance.list[0].propCollection);\n for (let h = 0; h < tagObject.instance.list.length; h++) {\n tagObject.instance.list[h].propCollection[tagObject.instance.propertyName] = [];\n let obj = {};\n for (let k = 0; k < compDirPropList.length; k++) {\n let complexPropName = compDirPropList[k];\n obj[complexPropName] = tagObject.instance.list[h].propCollection[complexPropName];\n }\n for (let i = 0; i < tagObject.instance.list[h].tags.length; i++) {\n let tag = tagObject.instance.list[h].tags[i];\n let childObj = getValue('child' + tag.substring(0, 1).toUpperCase() + tag.substring(1), tagObject.instance.list[h]);\n if (childObj) {\n let innerchildObj = tagObject.instance.list[h]['child' + tag.substring(0, 1).toUpperCase() + tag.substring(1)];\n // Update the inner child tag objects\n const updateChildTag = (innerchild) => {\n let innerLevelTag = [];\n if (innerchild) {\n for (let j = 0; j < innerchild.list.length; j++) {\n let innerTag = innerchild.list[0].tags[0];\n if (innerTag) {\n let innerchildTag = getValue('child' + innerTag.substring(0, 1).toUpperCase() + innerTag.substring(1), innerchild.list[j]);\n if (innerchildTag) {\n innerchild.list[j].tagObjects.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 (let l = 0; l < innerLevelTag.length; l++) {\n updateChildTag(innerLevelTag[l]);\n }\n }\n ;\n };\n updateChildTag(innerchildObj);\n tagObject.instance.list[h].tagObjects.push({ instance: childObj, name: tag });\n }\n }\n tagObject.instance.list[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 let hasDiffLength = false;\n if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout|chart/.test(tempAfterContentThis.getModuleName()))) {\n tempAfterContentThis[tagObject.name] = tagObject.instance.list;\n hasDiffLength = true;\n }\n for (let list of tagObject.instance.list) {\n let curIndex = tagObject.instance.list.indexOf(list);\n let curChild = getValue(tagObject.name, tempAfterContentThis)[curIndex];\n let complexTemplates = Object.keys(curChild);\n complexTemplates = complexTemplates.filter((val) => {\n return /Ref$/i.test(val);\n });\n if (curChild.properties && Object.keys(curChild.properties).length !== 0) {\n for (let complexPropName of complexTemplates) {\n complexPropName = complexPropName.replace(/Ref/, '');\n curChild.properties[complexPropName] = !curChild.properties[complexPropName] ?\n curChild.propCollection[complexPropName] : curChild.properties[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) {\n propObj[tagObject.name] = tagObject.instance.getProperties();\n tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);\n }\n }\n }\n }\n }\n registerEvents(eventList) {\n registerEvents(eventList, this);\n }\n twoWaySetter(newVal, prop) {\n let 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 addTwoWay(propList) {\n for (let prop of propList) {\n getValue(prop, this);\n Object.defineProperty(this, prop, {\n get: () => {\n return getValue(prop, this.properties);\n },\n set: (newVal) => this.twoWaySetter(newVal, prop)\n });\n setValue(prop + 'Change', new EventEmitter(), this);\n }\n }\n addEventListener(eventName, handler) {\n let eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n if (!this.ngBoundedEvents[eventName]) {\n this.ngBoundedEvents[eventName] = new Map();\n }\n this.ngBoundedEvents[eventName].set(handler, eventObj.subscribe(handler));\n }\n }\n removeEventListener(eventName, handler) {\n let eventObj = getValue(eventName, this);\n if (!isUndefined(eventObj)) {\n this.ngBoundedEvents[eventName].get(handler).unsubscribe();\n }\n }\n trigger(eventName, eventArgs, success) {\n let eventObj = getValue(eventName, this);\n let 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 let 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}\n","import { getValue, setValue, isNullOrUndefined, isObject } from '@syncfusion/ej2-base';\n/**\n * Angular Form Base Module\n */\nexport class FormBase {\n propagateChange(_) { return; }\n propagateTouch() { return; }\n localChange(e) {\n //tslint:disable-next-line\n let 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 //tslint:disable-next-line\n let optionalValue = value;\n this.propagateChange(optionalValue);\n this.angularValue = value;\n }\n }\n }\n this.cdr.markForCheck();\n }\n registerOnChange(registerFunction) {\n this.propagateChange = registerFunction;\n }\n registerOnTouched(registerFunction) {\n this.propagateTouch = registerFunction;\n }\n twoWaySetter(newVal, prop) {\n let oldVal = this.oldValue || getValue(prop, this.properties);\n let 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 // tslint:disable-next-line:no-any\n ngAfterViewInit(isTempRef) {\n // tslint:disable-next-line:no-any\n let 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 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 let ele = tempFormAfterViewThis.inputElement || tempFormAfterViewThis.element;\n ele.addEventListener('focus', tempFormAfterViewThis.ngOnFocus.bind(tempFormAfterViewThis));\n ele.addEventListener('blur', tempFormAfterViewThis.ngOnBlur.bind(tempFormAfterViewThis));\n }\n this.isFormInit = false;\n }\n setDisabledState(disabled) {\n this.enabled = !disabled;\n this.disabled = disabled;\n }\n writeValue(value) {\n let 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 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 return;\n }\n }\n ngOnFocus(e) {\n /* istanbul ignore else */\n if (this.skipFromEvent !== true) {\n this.focus.emit(e);\n }\n this.cdr.markForCheck();\n }\n ngOnBlur(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}\nFormBase.isFormBase = true;\n","import { setTemplateEngine, getTemplateEngine } from '@syncfusion/ej2-base';\nimport { setValue, getValue } from '@syncfusion/ej2-base';\nlet stringCompiler = getTemplateEngine();\n/**\n * Angular Template Compiler\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 let contRef = templateEle.elementRef.nativeElement._viewContainerRef;\n let pName = templateEle.elementRef.nativeElement.propName;\n //tslint:disable-next-line \n return (data, component, propName) => {\n let context = { $implicit: data };\n /* istanbul ignore next */\n let conRef = contRef ? contRef : component.viewContainerRef;\n let viewRef = conRef.createEmbeddedView(templateEle, context);\n if (/EJS-MENTION|EJS-DROPDOWNLIST/.test(getValue('currentInstance.element.nodeName', conRef))) {\n viewRef.detectChanges();\n }\n else {\n viewRef.markForCheck();\n }\n /* istanbul ignore next */\n let viewCollection = (component && component.registeredTemplate) ?\n component.registeredTemplate : getValue('currentInstance.registeredTemplate', conRef);\n propName = (propName && component.registeredTemplate) ? propName : pName;\n if (typeof viewCollection[propName] === 'undefined') {\n viewCollection[propName] = [];\n }\n viewCollection[propName].push(viewRef);\n return viewRef.rootNodes;\n };\n }\n}\n/**\n * Property decorator for angular.\n */\nexport function Template(defaultValue) {\n return (target, key) => {\n let 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}\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}\nfunction getter(key, defaultValue) {\n return function () {\n /* istanbul ignore next */\n return getValue(key + 'Ref', this) || defaultValue;\n };\n}\n//tslint:disable-next-line\nsetTemplateEngine({ compile: compile });\n","/**\n * Index\n */\nexport * from './complex-array-base';\nexport * from './component-base';\nexport * from './form-base';\nexport * from './util';\nexport * from './template';\n"],"names":["setValue","attributes"],"mappings":";;;AAEA;;;;AAIA,AAAO,SAAS,WAAW,CAAC,YAAY,EAAE,SAAS,EAAE;IACjD,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI;QAC3B,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;YAC5D,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,UAAU,IAAI,IAAI,KAAK,aAAa,CAAC,EAAE;gBAClG,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC5D;SACJ,CAAC,CAAC;KACN,CAAC,CAAC;CACN;;AAED,AAAO,SAAS,eAAe,CAAC,SAAS,EAAE;IACvC,OAAO,UAAU,YAAY,EAAE;QAC3B,WAAW,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;KACxC,CAAC;CACL;;;;AAID,AAAO,SAAS,cAAc,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE;IACnD,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE;QAC/B,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE;YACzB,IAAI,MAAM,KAAK,IAAI,EAAE;gBACjB,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpD,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC1C;iBACI;gBACD,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;aACpD;SACJ;QACD,IAAI,MAAM,KAAK,IAAI,EAAE;YACjB,GAAG,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;SAC5C;KACJ;CACJ;;;;AAID,AAAO,SAAS,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;IACvD,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACzD,IAAI,YAAY,CAAC,MAAM,EAAE;;QAErB,IAAI,aAAa,GAAG,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;YAC/D,QAAQ,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE;SAC3C,CAAC,CAAC;QACH,IAAI,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3E,KAAK,IAAI,kBAAkB,KAAK,aAAa,IAAI,aAAa,IAAI,YAAY,GAAG;;YAE7E,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;gBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBACnC,IAAI,gBAAgB,EAAE;wBAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC1E,IAAI,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC5D,IAAI,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE;gCAC7B,KAAK,CAAC,OAAO,EAAE,CAAC;gCAChB,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;6BAC7D;yBACJ;qBACJ;yBACI;wBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAC/D,IAAI,KAAK,GAAG,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BAC9D,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE;gCACpB,IAAI,EAAE,GAAG,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;gCACtD,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;6BACnB;yBACJ;qBACJ;iBACJ;aACJ;iBACI;gBACD,IAAI,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;oBAC9C,KAAK,IAAI,EAAE,IAAI,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;wBACzD,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE;4BACf,IAAI,EAAE,CAAC,KAAK,EAAE;gCACV,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC1D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;oCAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wCAC1C,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qCACtC;iCACJ;6BACJ;4BACD,EAAE,CAAC,OAAO,EAAE,CAAC;yBAChB;qBACJ;iBACJ;aACJ;YACD,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,EAAE;gBAC7B,OAAO,KAAK,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;aACvD;SACJ;KACJ;IACD,KAAK,IAAI,SAAS,IAAI,KAAK,CAAC,UAAU,EAAE;QACpC,IAAI,SAAS,CAAC,QAAQ,EAAE;;YAEpB,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;gBAC7E,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE;aAChE,CAAC,EAAE,CAAC;SACR;KACJ;CACJ;;;;;;;;;AASD,AAAO,SAASA,UAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE;IAC/C,IAAI,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;IAEvE,IAAI,OAAO,GAAG,MAAM,IAAI,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,SAAS,GAAG,EAAE,GAAG,KAAK,CAAC;SACnD;aACI,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SACrB;QACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;KAC1B;IACD,OAAO,OAAO,CAAC;CAClB;;AChID,MAAM,QAAQ,GAAG,MAAM,CAAC;AACxB,AAAO,MAAM,WAAW,CAAC;IACrB,WAAW,GAAG;QACV,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACxB;IACD,QAAQ,GAAG;QACP,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE;YACvB,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;YACjG,IAAI,WAAW,EAAE;gBACb,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;aAC9D;SACJ;QACD,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,QAAQ,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACrD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACjE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC,EAAE;oBACtH,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;iBACjI;gBACD,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;oBACrK,QAAQ,CAAC,mBAAmB,EAAE,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;oBACrG,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;iBACrG;aACJ;SACJ;QACD,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;YACpD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B,CAAC,CAAC;QACH,KAAK,IAAI,QAAQ,IAAI,kBAAkB,EAAE;YACrC,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3C,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;SACvF;;;QAGD,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;QAEjC,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpD,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;gBAC5C,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;oBAChH,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;iBAC3E;aACJ;YACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;KAC7B;IACD,cAAc,CAAC,SAAS,EAAE;QACtB,cAAc,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;KACzC;IACD,WAAW,CAAC,OAAO,EAAE;QACjB,KAAK,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACvC,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC;SAC3D;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;;IAED,aAAa,CAAC,aAAa,EAAE;QACzB,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;KACtC;IACD,aAAa,GAAG;;QAEZ,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACnC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;SAC5E;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;IACD,SAAS,GAAG;QACR,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;YACxD,IAAI,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;oBACnD,IAAI,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBACnC,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC9D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;2BAC7D,OAAO,KAAK,GAAG,EAAE;wBACpB,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;wBAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;wBACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;qBAC1B;iBACJ;aACJ;SACJ;;QAED,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;YAC9B,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;SAC/C;QACD,OAAO,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;KACpC;IACD,qBAAqB,GAAG;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE;YACvC,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;gBACpD,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC7B,CAAC,CAAC;YACH,KAAK,IAAI,QAAQ,IAAI,kBAAkB,EAAE;gBACrC,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC3C,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;aACvF;SACJ;KACJ;IACD,kBAAkB,GAAG;;QAEjB,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SAC3B;KACJ;IACD,eAAe,GAAG;;QAEd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC9B;IACD,WAAW,GAAG;;QAEV,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC/B;CACJ;AACD,AAAO,MAAM,SAAS,CAAC;IACnB,WAAW,CAAC,YAAY,EAAE;QACtB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;KACpC;IACD,QAAQ,GAAG;QACP,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;KAC7B;IACD,kBAAkB,GAAG;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;;QAEd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;YACrC,KAAK,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;YACzB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;YACnC,OAAO,KAAK,CAAC;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;IACD,aAAa,GAAG;QACZ,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;SACvC;QACD,OAAO,QAAQ,CAAC;KACnB;IACD,SAAS,GAAG;QACR,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,eAAe,GAAG,KAAK,CAAC;;QAE5B,IAAI,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;YAClD,OAAO,KAAK,CAAC;SAChB,CAAC,CAAC;;QAEH,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE;oBACxC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;wBAC/F,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;wBACjE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;qBAClC;oBACD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAE;wBACpC,eAAe,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;4BACrE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;qBACxE;iBACJ;gBACD,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;aAClF;SACJ;QACD,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,eAAe,IAAI,IAAI,GAAG,IAAI,CAAC;QACnG,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;gBACrC,KAAK,CAAC,QAAQ,GAAG,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;gBACnC,OAAO,KAAK,CAAC;aAChB,CAAC,CAAC;SACN;;QAED,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;YACxB,MAAM,GAAG,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC;SACtC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;KACvC;IACD,aAAa,CAAC,aAAa,EAAE;;QAEzB,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,aAAa,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK;gBAC3D,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;aACnG,CAAC,CAAC,CAAC;SACP;KACJ;IACD,qBAAqB,GAAG;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;gBAC5F,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;aAC5G;YACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC;SACjC;KACJ;IACD,eAAe,GAAG;QACd,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC9B;IACD,WAAW,GAAG;QACV,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;KAClB;CACJ;;ACzND;;;AAGA,AAIO,MAAM,aAAa,CAAC;IACvB,WAAW,GAAG;QACV,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;IACD,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACjC,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC1B,OAAO;SACV;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QACvC,IAAI,CAAC,WAAW,EAAE,CAAC;;QAEnB,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,IAAI,WAAW,GAAG,MAAM;YACpB,YAAY,CAAC,UAAU,CAAC,CAAC;SAC5B,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;KAClC;;;IAGD,QAAQ,CAAC,SAAS,EAAE;;QAEhB,IAAI,UAAU,GAAG,SAAS,IAAI,IAAI,CAAC;QACnC,UAAU,CAAC,kBAAkB,GAAG,EAAE,CAAC;QACnC,UAAU,CAAC,eAAe,GAAG,EAAE,CAAC;QAChC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;QAC5B,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC;;QAE7B,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;SAC9B;QACD,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAClC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC;QACxD,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC;QAC3B,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;;QAE5D,UAAU,CAAC,aAAa,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK;;YAE1C,IAAI,GAAG,GAAG,UAAU,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtG,IAAI,QAAQ,IAAI,CAAC,KAAK,WAAW,EAAE;gBAC/B,OAAO,GAAG,CAAC;aACd;YACD,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;gBAC9B,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;aAClC;YACD,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE;gBACvB,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;aACpB;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC3B,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aAC1C;YACD,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE;gBACjC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;aAC3C;YACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC1B,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;aAC/B;YACD,OAAO,GAAG,CAAC;SACd,CAAC;QACF,KAAK,IAAI,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE;YAC7B,IAAI,SAAS,GAAG;gBACZ,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;gBAC9F,IAAI,EAAE,GAAG;aACZ,CAAC;YACF,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACzC;QACD,IAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACjE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ,CAAC,UAAU,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;oBACzJ,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;iBAC/D;gBACD,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;oBAC9J,QAAQ,CAAC,mBAAmB,EAAE,UAAU,CAAC,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;oBAC9F,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;iBACnG;aACJ;SACJ;QACD,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;YAChD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC/C,CAAC,CAAC;QACH,KAAK,IAAI,QAAQ,IAAI,gBAAgB,EAAE;YACnC,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1E,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACvC;KACJ;IACD,cAAc,CAAC,GAAG,EAAE;QAChB,IAAIC,aAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAChC,IAAI,MAAM,GAAGA,aAAU,CAAC,MAAM,CAAC;QAC/B,IAAI,IAAI,CAAC;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;;YAE7B,IAAI,aAAa,CAAC,IAAI,CAACA,aAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBACxC,IAAI,GAAGA,aAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aAC7B;SACJ;QACD,OAAO,IAAI,CAAC;KACf;;;IAGD,eAAe,CAAC,SAAS,EAAE;;QAEvB,IAAI,iBAAiB,GAAG,SAAS,IAAI,IAAI,CAAC;QAC1C,IAAI,MAAM,GAAG,wBAAwB,CAAC;;QAEtC,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;YAC9D,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;SACrE;;;;;;;;;;;;;QAaD,IAAI,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxD,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;YACpD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC5B,CAAC,CAAC;QACH,IAAI,SAAS,GAAG,iBAAiB,CAAC,aAAa,EAAE,KAAK,gBAAgB,CAAC;QACvE,KAAK,IAAI,QAAQ,IAAI,kBAAkB,EAAE;YACrC,IAAI,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3C,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,QAAQ,GAAG,KAAK,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,CAAC;SAC1G;;;QAGD,MAAM,iBAAiB,GAAG,CAAC,iBAAiB,KAAK;;YAE7C,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,iBAAiB,CAAC,OAAO,IAAI,iBAAiB,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACjH,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACtD,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;aAC/D;SACJ,CAAC;QACF,IAAI,CAAC,SAAS,EAAE;YACZ,UAAU,CAAC,MAAM;gBACb,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;aACxC,CAAC,CAAC;SACN;aACI;YACD,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;SACxC;KACJ;;IAED,WAAW,CAAC,SAAS,EAAE;;QAEnB,IAAI,iBAAiB,GAAG,SAAS,IAAI,IAAI,CAAC;;QAE1C,UAAU,CAAC,MAAM;YACb,IAAI,OAAO,MAAM,KAAK,WAAW,KAAK,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAE;gBAC9F,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC5B,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;;gBAEtC,UAAU,CAAC,YAAY;oBACnB,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;wBAC5C,IAAI,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;wBACnC,IAAI,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;4BACzE,IAAI,gFAAgF,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gCAC5F,KAAK,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE;oCACrD,IAAI,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;oCAC/B,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;wCAClI,iBAAiB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;qCAC1C;iCACJ;6BACJ;iCACI;gCACD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE;oCACjC,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;iCACjC;6BACJ;yBACJ;qBACJ;iBACJ,CAAC,CAAC;aACN;SACJ,CAAC,CAAC;KACN;;IAED,aAAa,CAAC,aAAa,EAAE,KAAK,EAAE;QAChC,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;KAC7C;;;IAGD,qBAAqB,CAAC,SAAS,EAAE;;QAE7B,IAAI,oBAAoB,GAAG,SAAS,IAAI,IAAI,CAAC;QAC7C,KAAK,IAAI,SAAS,IAAI,oBAAoB,CAAC,UAAU,EAAE;YACnD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;iBAC/B,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAC1G,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE;;;;oBAIlC,IAAI,eAAe,CAAC;oBACpB,IAAI,IAAI,GAAG,QAAQ,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;oBAChD,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE;wBACrB,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;qBAC/C;oBACD,IAAI,IAAI,GAAG,IAAI,CAAC;oBAChB,IAAI,oBAAoB,CAAC,aAAa,IAAI,oBAAoB,CAAC,aAAa,EAAE,KAAK,OAAO,EAAE;wBACxF,IAAI,GAAG,KAAK,CAAC;qBAChB;oBACD,IAAI,eAAe,IAAI,IAAI,IAAI,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE;wBAC5F,IAAI,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;wBAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACrD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;4BAChF,IAAI,GAAG,GAAG,EAAE,CAAC;4BACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC7C,IAAI,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gCACzC,GAAG,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;6BACrF;4BACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gCAC7D,IAAI,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gCAC7C,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,CAAC,CAAC,CAAC,CAAC;gCACpH,IAAI,QAAQ,EAAE;oCACV,IAAI,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,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;;oCAE/G,MAAM,cAAc,GAAG,CAAC,UAAU,KAAK;wCACnC,IAAI,aAAa,GAAG,EAAE,CAAC;wCACvB,IAAI,UAAU,EAAE;4CACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDAC7C,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gDAC1C,IAAI,QAAQ,EAAE;oDACV,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,CAAC,CAAC,CAAC,CAAC;oDAC3H,IAAI,aAAa,EAAE;wDACf,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;wDAChF,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;qDACrC;iDACJ;6CACJ;yCACJ;;wCAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;4CAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gDAC3C,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;6CACpC;yCACJ;wCACD,AAAC;qCACJ,CAAC;oCACF,cAAc,CAAC,aAAa,CAAC,CAAC;oCAC9B,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;iCACjF;6BACJ;4BACD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACxF;qBACJ;;oBAED,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;oBAC7D,oBAAoB,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;iBACjF;qBACI;;oBAED,IAAI,aAAa,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,MAAM,+BAA+B,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE;wBAClK,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAC/D,aAAa,GAAG,IAAI,CAAC;qBACxB;oBACD,KAAK,IAAI,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE;wBACtC,IAAI,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACrD,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,CAAC;wBACxE,IAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC7C,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;4BAChD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBAC5B,CAAC,CAAC;wBACH,IAAI,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;4BACtE,KAAK,IAAI,eAAe,IAAI,gBAAgB,EAAE;gCAC1C,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gCACrD,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC;oCACxE,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;6BACvF;yBACJ;wBACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;4BAChE,IAAI,yBAAyB,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,EAAE;gCACtE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;6BACtD;iCACI;gCACD,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;6BAChD;yBACJ;wBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;qBACzB;oBACD,IAAI,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,IAAI,aAAa,EAAE;wBACpE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;wBAC7D,oBAAoB,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;qBACjF;iBACJ;aACJ;SACJ;KACJ;IACD,cAAc,CAAC,SAAS,EAAE;QACtB,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;KACnC;IACD,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE;QACvB,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,MAAM,KAAK,MAAM,EAAE;YACnB,OAAO;SACV;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,QAAQ,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7E,QAAQ,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChD;IACD,SAAS,CAAC,QAAQ,EAAE;QAChB,KAAK,IAAI,IAAI,IAAI,QAAQ,EAAE;YACvB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACrB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE;gBAC9B,GAAG,EAAE,MAAM;oBACP,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;iBAC1C;gBACD,GAAG,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC;aACnD,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;SACvD;KACJ;IACD,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE;QACjC,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE;gBAClC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;aAC/C;YACD,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;SAC7E;KACJ;IACD,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE;QACpC,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YACxB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;SAC9D;KACJ;IACD,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE;QACnC,IAAI,QAAQ,GAAG,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,SAAS,EAAE;YACX,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;SAC9B;QACD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC5B;QACD,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;QACrG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;YAC7B,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SACvC;QACD,IAAI,CAAC,mBAAmB,GAAG,aAAa,CAAC;;QAEzC,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;KAChC;CACJ;;AC9WD;;;AAGA,AAAO,MAAM,QAAQ,CAAC;IAClB,eAAe,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE;IAC9B,cAAc,GAAG,EAAE,OAAO,EAAE;IAC5B,WAAW,CAAC,CAAC,EAAE;;QAEX,IAAI,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;;gBAEjH,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;aAC7B;SACJ;aACI;YACD,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;;gBAE1F,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE;;oBAEhC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;oBAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;iBAC7B;qBACI;;oBAED,IAAI,aAAa,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;oBACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;iBAC7B;aACJ;SACJ;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;IACD,gBAAgB,CAAC,gBAAgB,EAAE;QAC/B,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;KAC3C;IACD,iBAAiB,CAAC,gBAAgB,EAAE;QAChC,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC;KAC1C;IACD,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE;QACvB,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC;QAC5C,IAAI,GAAG,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;aAChD,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE;YAC/C,OAAO;SACV;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,QAAQ,CAAC,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7E,QAAQ,CAAC,IAAI,GAAG,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAChD;;IAED,eAAe,CAAC,SAAS,EAAE;;QAEvB,IAAI,qBAAqB,GAAG,SAAS,IAAI,IAAI,CAAC;;;;;QAK9C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YAC/B,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,EAAE,QAAQ,CAAC,cAAc,CAAC,EAAE;gBAClE,UAAU,CAAC,YAAY;oBACnB,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;iBACjE,CAAC,CAAC;aACN;iBACI;gBACD,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aACjE;YACD,IAAI,GAAG,GAAG,qBAAqB,CAAC,YAAY,IAAI,qBAAqB,CAAC,OAAO,CAAC;YAC9E,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC3F,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;SAC5F;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KAC3B;IACD,gBAAgB,CAAC,QAAQ,EAAE;QACvB,IAAI,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC5B;IACD,UAAU,CAAC,KAAK,EAAE;QACd,IAAI,MAAM,GAAG,kBAAkB,CAAC;;QAEhC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACtB;aACI;;;YAGD,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;oBAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;wBACjD,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;qBACvC;yBACI;wBACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;qBACxB;iBACJ;qBACI;oBACD,IAAI,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;iBACvC;aACJ;SACJ;QACD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;;;QAGtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,GAAG,IAAI,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QACxB,IAAI,KAAK,KAAK,IAAI,EAAE;YAChB,OAAO;SACV;KACJ;IACD,SAAS,CAAC,CAAC,EAAE;;QAET,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACtB;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;IACD,QAAQ,CAAC,CAAC,EAAE;QACR,IAAI,CAAC,cAAc,EAAE,CAAC;;QAEtB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrB;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KAC3B;CACJ;AACD,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;;ACpI3B,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;;;;AAIzC,AAAO,SAAS,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE;IACzC,IAAI,OAAO,WAAW,KAAK,QAAQ,KAAK,OAAO,WAAW,KAAK,UAAU,IAAI,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;QACtI,OAAO,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;KAC9C;SACI;QACD,IAAI,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC;QACrE,IAAI,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC;;QAE1D,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,KAAK;YAClC,IAAI,OAAO,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;YAElC,IAAI,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC,gBAAgB,CAAC;YAC5D,IAAI,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC,EAAE;gBAC3F,OAAO,CAAC,aAAa,EAAE,CAAC;aAC3B;iBACI;gBACD,OAAO,CAAC,YAAY,EAAE,CAAC;aAC1B;;YAED,IAAI,cAAc,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,kBAAkB;gBAC3D,SAAS,CAAC,kBAAkB,GAAG,QAAQ,CAAC,oCAAoC,EAAE,MAAM,CAAC,CAAC;YAC1F,QAAQ,GAAG,CAAC,QAAQ,IAAI,SAAS,CAAC,kBAAkB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACzE,IAAI,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;gBACjD,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;aACjC;YACD,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvC,OAAO,OAAO,CAAC,SAAS,CAAC;SAC5B,CAAC;KACL;CACJ;;;;AAID,AAAO,SAAS,QAAQ,CAAC,YAAY,EAAE;IACnC,OAAO,CAAC,MAAM,EAAE,GAAG,KAAK;QACpB,IAAI,kBAAkB,GAAG;YACrB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;YAChB,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC;YAC9B,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB,CAAC;QACF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;KAC1D,CAAC;CACL;AACD,SAAS,MAAM,CAAC,GAAG,EAAE;IACjB,OAAO,UAAU,GAAG,EAAE;QAClB,IAAI,GAAG,KAAK,SAAS,EAAE;YACnB,OAAO;SACV;QACD,QAAQ,CAAC,GAAG,GAAG,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACvE,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,GAAG,GAAG,CAAC;SAC/C;aACI;YACD,IAAI,IAAI,CAAC,WAAW,EAAE;gBAClB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;gBACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;aACnB;SACJ;KACJ,CAAC;CACL;AACD,SAAS,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;IAC/B,OAAO,YAAY;;QAEf,OAAO,QAAQ,CAAC,GAAG,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC;KACtD,CAAC;CACL;;AAED,iBAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;;AC5ExC;;GAEG;;;;"}
|
|
@@ -643,8 +643,10 @@ var ComponentBase = /** @__PURE__ @class */ (function () {
|
|
|
643
643
|
}
|
|
644
644
|
else {
|
|
645
645
|
/* istanbul ignore next */
|
|
646
|
-
|
|
646
|
+
var hasDiffLength = false;
|
|
647
|
+
if ((tempAfterContentThis[tagObject.name].length !== tagObject.instance.list.length) || (/diagram|DashboardLayout|chart/.test(tempAfterContentThis.getModuleName()))) {
|
|
647
648
|
tempAfterContentThis[tagObject.name] = tagObject.instance.list;
|
|
649
|
+
hasDiffLength = true;
|
|
648
650
|
}
|
|
649
651
|
for (var _b = 0, _c = tagObject.instance.list; _b < _c.length; _b++) {
|
|
650
652
|
var list = _c[_b];
|
|
@@ -672,7 +674,7 @@ var ComponentBase = /** @__PURE__ @class */ (function () {
|
|
|
672
674
|
}
|
|
673
675
|
list.isUpdated = true;
|
|
674
676
|
}
|
|
675
|
-
if (/grid/.test(tempAfterContentThis.getModuleName())) {
|
|
677
|
+
if (/grid/.test(tempAfterContentThis.getModuleName()) && hasDiffLength) {
|
|
676
678
|
propObj[tagObject.name] = tagObject.instance.getProperties();
|
|
677
679
|
tempAfterContentThis.setProperties(propObj, tagObject.instance.isInitChanges);
|
|
678
680
|
}
|